html {
  font-size: 62.5%;
  box-sizing: border-box; }

body {
  margin: 0;
  padding: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  -webkit-text-size-adjust: 100%;
  line-height: 1;
  color: #000;
  letter-spacing: 0.06em; }

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
  font-weight: normal;
  clear: both; }

ul, ol, dl, p, img, form, dt, dd {
  margin: 0;
  padding: 0;
  border: 0; }

li {
  list-style: none; }

input, textarea {
  font-size: 12px; }

img {
  vertical-align: bottom; }

a {
  color: #000;
  transition: all 0.3s ease;
  outline: none; }

a:active,
a:hover {
  color: #000; }

strong {
  font-weight: bold; }

em {
  font-style: italic;
  font-weight: normal; }

/* microclearfix */
.cf:before,
.cf:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */ }

.cf:after {
  clear: both; }

/** For IE 6/7 only */
.cf {
  *zoom: 1; }

* {
  box-sizing: border-box;
  -webkit-appearance: none;
  -webkit-overflow-scrolling: touch; }

/*
---------------------------------------------

    header settings

*/
.l-header {
  width: 100%;
  min-width: 1100px;
  padding: 15px 30px;
  background: #FFF;
  -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 2px 5px;
  box-shadow: rgba(0, 0, 0, 0.2) 0 2px 5px;
  display: flex;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 50; }
  .l-header__left {
    width: 25%; }
  .l-header__center {
    width: 50%;
    text-align: center; }
  .l-header__right {
    width: 25%;
    text-align: right; }
  .l-header--top {
    padding: 30px;
    position: absolute;
    background: none;
    -webkit-box-shadow: none;
    box-shadow: none; }
    .l-header--top .l-header__left {
      width: 50%; }
    .l-header--top .l-header__right {
      width: 50%; }

.header-logo {
  height: 38px;
  margin: 0 auto; }
  .header-logo__img {
    max-height: 100%; }
  .header-logo__link {
    height: 100%;
    display: block;
    transition: all 0.3s; }
    .header-logo__link:hover {
      opacity: 0.6; }

.header-banner {
  height: 56px; }
  .header-banner__img {
    height: 100%; }
  .header-banner__link {
    height: 100%;
    display: block; }
    .header-banner__link:hover {
      opacity: 0.6; }

.l-gnavi {
  width: 100%;
  height: 100vh;
  background: #FFF;
  display: none;
  text-align: left;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 99;
  overflow-y: scroll; }
  .l-gnavi__inner {
    display: flex; }

.gnavi-btn {
  width: 56px;
  height: 56px;
  position: fixed;
  top: 15px;
  left: 30px;
  z-index: 100;
  cursor: pointer; }
  .gnavi-btn span {
    width: 36px;
    height: 4px;
    background: #000;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    transition: all 0.3s; }
  .gnavi-btn span:nth-child(1) {
    top: 18px; }
  .gnavi-btn span:nth-child(2) {
    top: 26px; }
  .gnavi-btn span:nth-child(3) {
    top: 34px; }
  .gnavi-btn.is-open > span:nth-child(1) {
    transform: translate(-50%, 8px) rotate(225deg); }
  .gnavi-btn.is-open > span:nth-child(2) {
    opacity: 0; }
  .gnavi-btn.is-open > span:nth-child(3) {
    transform: translate(-50%, -8px) rotate(-225deg); }
  .gnavi-btn--top {
    top: 30px; }

.gnavi-list {
  margin: 80px auto; }
  .gnavi-list__item {
    margin: 45px 0;
    font-size: 3.6rem;
    font-weight: bold;
    color: #ccc; }
  .gnavi-list__link {
    text-decoration: none;
    background-image: linear-gradient(0deg, transparent 0%, transparent 100%);
    background-size: auto 1em;
    background-position: center left;
    background-repeat: repeat-x; }
    .gnavi-list__link:hover {
      background-image: linear-gradient(0deg, #ba1814 0%, #ba1814 100%);
      color: #FFF; }

/*
---------------------------------------------

    contents settings

*/
.l-contents {
  width: 100%;
  min-width: 1100px;
  margin: 86px auto 0; }
  .l-contents__inner {
    width: 100%; }
  .l-contents--2column {
    background: linear-gradient(90deg, #efefef 0%, #efefef 70%, #fff 70%, #fff 100%); }
    .l-contents--2column .l-contents__inner {
      max-width: 1400px;
      margin: 0 auto;
      display: flex; }
      .l-contents--2column .l-contents__inner--map {
        max-width: 100%; }
    .l-contents--2column .l-main {
      width: 70%;
      padding: 50px;
      background: #efefef; }
      .l-contents--2column .l-main--map {
        width: 100%;
        padding: 0; }
  .l-contents--top {
    margin: 0; }

.l-main {
  width: 100%;
  margin: 0 auto;
  display: block; }

.l-sidebar {
  width: 30%;
  padding: 50px;
  background: #fff; }
  .l-sidebar__inner {
    margin: 0 auto 0 0; }
  .l-sidebar--map {
    padding: 20px 50px 50px 50px; }

.sidebar-box + .sidebar-box {
  margin: 70px 0 0; }

/*
---------------------------------------------

    footer settings

*/
.page-top {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 2%; }
  .page-top img {
    width: 21px;
    height: auto; }
  .page-top .btn-primary__link {
    padding: 12px 10px;
    box-shadow: #999 2px 5px 0; }
    .page-top .btn-primary__link:hover {
      transform: translate(2px, 5px); }

.l-footer {
  width: 100%;
  min-width: 1100px;
  padding: 70px 60px;
  background: #000;
  display: flex;
  position: relative;
  text-align: center;
  font-size: 1.4rem;
  color: #fff; }
  .l-footer__left {
    width: 50%; }
  .l-footer__right {
    width: 50%;
    text-align: right; }

.footer-list {
  display: flex;
  align-items: center; }
  .footer-list__item {
    height: 25px; }
    .footer-list__item + .footer-list__item {
      margin: 0 0 0 25px; }
    .footer-list__item.footer-logo + .footer-list__item {
      margin: 0 0 0 40px; }
    .footer-list__item.text-link {
      height: inherit; }
  .footer-list__img {
    max-height: 100%; }
  .footer-list__link {
    transition: all 0.3s;
    font-size: 1.4rem;
    color: #FFF;
    text-decoration: none; }
    .footer-list__link:hover {
      color: #FFF;
      opacity: 0.6; }

/*
---------------------------------------------

    common settings

*/
@keyframes moveBackground {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 100% 100%; } }

.fadeIn {
  opacity: 0;
  transition: opacity 1s ease; }
  .fadeIn.animated {
    opacity: 1; }

.forSP {
  display: none; }

.forPC {
  display: block; }

.site-logo {
  text-align: center;
  position: relative;
  z-index: 5; }
  .site-logo-base {
    height: 420px; }
    .site-logo-base__img {
      height: 100%;
      opacity: 0; }
  .site-logo-neo {
    width: 100%;
    height: 185px;
    position: absolute;
    top: 144px;
    left: 0;
    z-index: -1;
    overflow: hidden; }
    .site-logo-neo__img {
      height: 100%;
      margin: 0 auto;
      transform: translate(0, 100%); }
  .site-logo.animated .site-logo-base__img {
    -webkit-transition: all 2s;
    transition: all 2s;
    opacity: 1; }
  .site-logo.animated .site-logo-neo__img {
    -webkit-transition: all 1.2s cubic-bezier(0.26, 0.7, 0.26, 1) 0.8s;
    transition: all 1.2s cubic-bezier(0.26, 0.7, 0.26, 1) 0.8s;
    transform: translate(0, 0); }
  .site-logo--small .site-logo-base {
    height: 190px; }
  .site-logo--small .site-logo-neo {
    height: 85px;
    top: 65px; }
  .site-logo--everybody .site-logo-base {
    height: 198px; }
  .site-logo--everybody .site-logo-neo {
    height: 80px;
    top: 80px; }

.bg-pattern01 {
  background: #eeeeee; }

.bg-pattern02 {
  border-top: solid 1px #eeeeee;
  background: url("../img/bg-pattern02.svg") repeat;
  background-size: 24px 24px; }

.bg-pattern03 {
  position: relative;
  z-index: 5; }
  .bg-pattern03:before {
    content: '';
    width: 100vw;
    min-width: 1100px;
    height: 180px;
    background-size: 16px 16px;
    background-image: radial-gradient(#fff 10%, transparent 15%);
    background-position: top 9px left;
    position: absolute;
    top: calc(50% - 25px);
    left: calc(50% + 25px);
    z-index: -1;
    transform: translate(-50%, -50%); }
  .bg-pattern03:after {
    content: '';
    width: 100vw;
    min-width: 1100px;
    height: 180px;
    background: #ba1814;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: -2;
    transform: translate(-50%, -50%); }
  .bg-pattern03--top:before {
    top: 0;
    left: 20px;
    transform: translate(0, 0); }
  .bg-pattern03--top:after {
    top: 20px;
    left: 0;
    transform: translate(0, 0); }

.btn-primary {
  margin: 40px auto 0;
  text-align: center; }
  .btn-primary__link {
    width: 100%;
    max-width: 270px;
    margin: 0 5px 10px 0;
    padding: 20px 15px;
    display: inline-block;
    background: #FFF;
    border: 3px solid #000;
    border-radius: 50px;
    -webkit-box-shadow: #ba1814 5px 10px 0;
    box-shadow: #ba1814 5px 10px 0;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    text-decoration: none; }
    .btn-primary__link:hover {
      -webkit-box-shadow: none;
      box-shadow: none;
      transform: translate(5px, 10px); }
  .btn-primary--download .btn-primary__link {
    padding: 20px 55px 20px 40px;
    background: url("../img/icon-download.svg") no-repeat right 20px center;
    background-size: 14px 12px; }
  .btn-primary--small {
    margin: 20px auto 0; }
    .btn-primary--small .btn-primary__link {
      max-width: 210px;
      font-size: 1.3rem; }

.commig-soon {
  position: relative; }
  .commig-soon:before {
    content: 'Coming soon';
    width: 100%;
    height: 100%;
    padding: 15px;
    background: rgba(0, 0, 0, 0.4);
    display: flex;
    -webkit-align-items: flex-end;
    align-items: flex-end;
    -webkit-justify-content: center;
    justify-content: center;
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
    font-size: 1.2rem;
    font-weight: bold;
    color: #FFF; }

.icon-external {
  position: relative; }
  .icon-external:after {
    content: '';
    width: 24px;
    height: 24px;
    background: url("../img/icon-external-wht.svg") no-repeat 0 0;
    background-size: 100%;
    position: absolute;
    bottom: 12px;
    right: 12px; }
  .icon-external--small:after {
    width: 12px;
    height: 12px;
    bottom: 6px;
    right: 6px; }
  .icon-external--black:after {
    width: 15px;
    height: 15px;
    background: url("../img/icon-external.svg") no-repeat 0 0;
    background-size: 100%; }

.icon-pdf {
  position: relative; }
  .icon-pdf:after {
    content: '';
    width: 27px;
    height: 29px;
    background: url("../img/icon-pdf.svg") no-repeat 0 0;
    background-size: 100%;
    position: absolute;
    bottom: 12px;
    right: 12px; }
  .icon-pdf--white {
    background: url("../img/icon-white-pdf.svg") no-repeat 0 0; }
  .icon-pdf--small:after {
    width: 16px;
    height: 18px;
    bottom: 6px;
    right: 6px; }

.l-section-inner {
  width: 100%;
  max-width: 960px;
  margin: 0 auto; }
  .l-section-inner--map {
    max-width: 100%; }

.l-page {
  padding: 100px 0; }

.page-title {
  margin: 0 0 1em;
  font-size: 3.6rem; }

.page-text {
  margin: 0 0 1em;
  line-height: 1.4; }

.search-box {
  margin: 40px 0; }
  .search-box input[type="text"] {
    width: 200px;
    padding: 10px;
    border: 0;
    border: solid 1px #ccc;
    font-size: 1.4rem;
    color: #000; }
  .search-box input[type="submit"] {
    padding: 10px 20px;
    border: 0;
    border: solid 1px #000;
    background: #000;
    font-size: 1.4rem;
    color: #fff; }

.l-thanks {
  min-width: 1100px;
  padding: 60px 0;
  border-top: solid 1px #eeeeee; }

.thanks-box {
  text-align: center; }
  .thanks-box__title {
    margin: 0 0 20px;
    font-size: 1.8rem;
    font-weight: bold; }
  .thanks-box__content {
    font-size: 2.4rem;
    font-weight: bold; }
  .thanks-box--small .thanks-box__title {
    font-size: 1.4rem; }
  .thanks-box--small .thanks-box__content {
    text-align: left;
    font-size: 1.2rem;
    font-weight: normal;
    line-height: 1.6; }
  .thanks-box + .thanks-box {
    margin: 30px 0 0; }

.thanks-list {
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap; }
  .thanks-list__item {
    width: calc((80% - 50px) / 3);
    margin: 0 25px 25px 0; }
    .thanks-list__item:nth-child(3n) {
      margin: 0 0 25px; }
    .thanks-list__item:last-child {
      margin: 0 0 25px; }
  .thanks-list__img {
    max-width: 100%; }
  .thanks-list + .thanks-list {
    margin: 30px 0 0; }
  .thanks-list--small .thanks-list__item {
    width: calc((100% - 90px) / 7);
    margin: 0 15px 15px 0; }
    .thanks-list--small .thanks-list__item:nth-child(5n) {
      margin: 0 0 15px; }
    .thanks-list--small .thanks-list__item:last-child {
      margin: 0 0 15px; }

.thanks-list02 {
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  justify-content: space-around;
  flex-wrap: wrap; }
  .thanks-list02__item {
    width: 125px; }
  .thanks-list02__img {
    max-width: 100%; }

.post {
  width: 100%;
  background: #FFF; }
  .post-thumb__img {
    max-width: 100%; }
  .post-content {
    padding: 70px; }
  .post-header {
    position: relative; }
  .post-body {
    font-size: 1.4rem;
    line-height: 2; }
  .post-lead {
    font-size: 1.6rem; }
  .post-sns {
    display: flex;
    position: absolute;
    top: -40px;
    right: -40px; }
    .post-sns__item {
      height: 25px;
      margin: 0 0 0 30px; }
    .post-sns__link {
      height: 100%;
      display: block; }
      .post-sns__link:hover {
        opacity: 0.7; }
    .post-sns__img {
      max-height: 100%; }
  .post-title {
    margin: 0 0 30px;
    font-size: 3.6rem;
    font-weight: bold;
    line-height: 1.2; }
    .post-title__link {
      text-decoration: none; }
      .post-title__link:hover {
        text-decoration: underline; }
  .post-date {
    margin: 0 0 30px;
    color: #959595;
    font-size: 1.4rem; }
  .post-category {
    margin: 0 0 30px;
    font-size: 1.4rem;
    font-weight: bold; }
    .post-category a {
      color: #ba1814;
      text-decoration: none; }
      .post-category a:hover {
        color: #ba1814;
        text-decoration: underline; }
    .post-category__item {
      display: inline-block;
      color: #ba1814; }
      .post-category__item + .post-category__item {
        padding: 0 0 0 1em;
        position: relative; }
        .post-category__item + .post-category__item:before {
          content: ' , ';
          position: absolute;
          top: 0;
          left: 0; }
      .post-category__item.event-info {
        color: #14ce82; }
      .post-category__item.event-report {
        color: #0094ff; }
      .post-category__item.others {
        color: #ff31ad; }
  .post-box01 {
    margin: 40px 0; }
    .post-box01__thumb {
      width: 100%; }
    .post-box01__img {
      max-width: 100%; }
    .post-box01__caption {
      display: block;
      font-size: 1.2rem;
      text-align: right; }
  .post-box02 {
    margin: 40px 0; }

.post-list {
  padding: 70px;
  background: #FFF; }
  .post-list__item + .post-list__item {
    margin: 60px 0 0; }
  .post-list-title {
    margin: 0 0 15px;
    font-size: 3.6rem;
    font-weight: bold; }
    .post-list-title__link {
      text-decoration: none; }
      .post-list-title__link:hover {
        text-decoration: underline; }
  .post-list-date {
    color: #959595;
    font-size: 1.4rem; }
  .post-list-category {
    margin: 0 0 15px;
    color: #ba1814;
    font-size: 1.4rem; }
    .post-list-category a {
      color: #ba1814;
      text-decoration: none; }
      .post-list-category a:hover {
        text-decoration: underline; }
    .post-list-category__item {
      display: inline-block; }
      .post-list-category__item + .post-list-category__item {
        padding: 0 0 0 1em;
        position: relative; }
        .post-list-category__item + .post-list-category__item:before {
          content: ' , ';
          position: absolute;
          top: 0;
          left: 0; }

.wp-pagenavi {
  margin: 60px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  .wp-pagenavi .pages {
    display: none; }
  .wp-pagenavi span, .wp-pagenavi a {
    margin: 5px;
    padding: 10px 15px; }
  .wp-pagenavi a {
    background: #FFF;
    border: 1px solid #ccc;
    text-decoration: none; }
    .wp-pagenavi a:hover {
      background: #000;
      border: 1px solid #000;
      color: #FFF; }
  .wp-pagenavi .current {
    background: #000;
    border: 1px solid #000;
    color: #FFF; }

.mfp-arrow:before {
  display: none; }

.mfp-arrow:after {
  width: 32px;
  height: 57px;
  margin: 0;
  background: url("../img/arrow01.svg") no-repeat center;
  background-size: 100%;
  border: none;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); }

.mfp-arrow-left:after {
  transform: translate(-50%, -50%) scale(-1, 1); }

button.mfp-arrow {
  opacity: 1; }
  button.mfp-arrow:hover {
    opacity: 0.7; }

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  width: 40px;
  height: 40px;
  padding: 0;
  background: url("../img/icon-close.svg") no-repeat center;
  background-size: 100%;
  position: fixed;
  top: 40px;
  right: 30px;
  text-align: left;
  text-indent: -10000px;
  opacity: 1; }
  .mfp-image-holder .mfp-close:hover,
  .mfp-iframe-holder .mfp-close:hover {
    opacity: 0.7; }

.mfp-bottom-bar {
  display: none; }

.mfp-bg {
  background: #FFF;
  opacity: 0;
  transition: all 0.4s ease-out; }
  .mfp-bg.mfp-ready {
    opacity: 1; }
  .mfp-bg.mfp-removing {
    opacity: 0; }

.mfp-container {
  padding: 0 80px; }

.mfp-wrap .mfp-arrow,
.mfp-wrap .mfp-content {
  opacity: 0;
  transition: all 0.4s ease-out; }

.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1; }

.mfp-wrap.mfp-ready .mfp-arrow {
  opacity: 1; }

.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0; }

.mfp-wrap.mfp-removing .mfp-arrow {
  opacity: 0; }

.mfp-figure:after {
  background: none;
  box-shadow: none; }

.mfp-figure .mfp-img {
  opacity: 0;
  transition: opacity 1s ease; }
  .mfp-figure .mfp-img.animated {
    opacity: 1; }

@media (max-width: 900px) {
  .mfp-container {
    padding: 0 15px; }
  .mfp-image-holder .mfp-close,
  .mfp-iframe-holder .mfp-close {
    transform: scale(0.6);
    top: 35px;
    right: 18px;
    z-index: 10; }
  .mfp-arrow {
    top: 55px;
    position: fixed;
    transform: scale(0.6); }
  .mfp-arrow-right {
    right: 80px; }
  .mfp-arrow-left {
    left: auto;
    right: 120px; } }

/*
---------------------------------------------

    top settings

*/
.l-mv {
  margin: 0;
  min-height: 520px;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center; }
  .l-mv__left {
    width: 35%;
    padding: 20px; }
  .l-mv__right {
    width: 65%;
    padding: 20px; }
  .l-mv .btn-primary {
    margin: 90px auto 0; }

.hot-topics {
  height: 100%;
  display: block;
  position: relative;
  transition: all 0.3s;
  pointer-events: none; }
  .hot-topics:hover {
    opacity: 0.7; }
    .hot-topics:hover .hot-topics__info:after {
      animation: moveBackground 20s linear infinite; }
  .hot-topics__link {
    padding: 25px;
    display: block;
    background: #fff;
    text-decoration: none;
    pointer-events: auto; }
  .hot-topics__thumb {
    width: 100%;
    height: 0;
    padding-bottom: 71%;
    border-bottom: none;
    position: relative;
    z-index: -1;
    overflow: hidden; }
    .hot-topics__thumb__img {
      height: 100%;
      position: absolute;
      top: 0;
      right: 50%;
      transform: translate(50%, 0); }
  .hot-topics__info {
    width: 410px;
    background: #FFF;
    position: absolute;
    bottom: 25px;
    left: -35px;
    z-index: 5; }
    .hot-topics__info:after {
      content: '';
      width: calc(100% - 40px);
      height: calc(100% - 30px);
      background: url("../img/bg-black-stripe.png") 0 0 repeat;
      background-size: 6px 6px;
      position: absolute;
      top: 45px;
      left: -15px;
      z-index: -1; }
  .hot-topics__category {
    position: absolute;
    top: 0;
    left: 0; }
    .hot-topics__category__item {
      padding: 5px 10px;
      background: #880202;
      font-size: 1.2rem;
      font-weight: bold;
      color: #FFF; }
      .hot-topics__category__item.event-info {
        background: #14ce82; }
      .hot-topics__category__item.event-report {
        background: #0094ff; }
      .hot-topics__category__item.others {
        background: #ff31ad; }
  .hot-topics__title {
    margin: 15px 0 10px;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.4; }
  .hot-topics__lead {
    font-size: 1.4rem;
    line-height: 1.4; }

.l-contents-banner {
  width: 100%;
  padding: 100px 0;
  overflow: hidden; }

.contents-banner-title {
  margin: 0 auto 20px;
  text-align: center; }
  .contents-banner-title__img {
    height: 2.6rem; }
  .contents-banner-title__sub {
    margin: 20px 0 0;
    display: block;
    font-size: 1.4rem; }

.contents-banner-wrapper {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding: 0 35px;
  display: flex;
  flex-wrap: wrap; }

.contents-banner {
  width: calc((100% - 70px) / 3);
  margin: 30px 35px 42px 0;
  transition: all 0.3s;
  background: #FFF;
  pointer-events: none;
  -webkit-box-shadow: #ba1814 12px 12px 0;
  box-shadow: #ba1814 12px 12px 0; }
  .contents-banner__link {
    display: block;
    pointer-events: auto; }
    .contents-banner__link:hover {
      opacity: 0.7; }
  .contents-banner__img {
    width: 100%; }
  .contents-banner:hover {
    -webkit-box-shadow: none;
    box-shadow: none;
    transform: translate(12px, 12px); }
  .contents-banner:nth-child(3n) {
    margin: 30px 0 42px; }
  .contents-banner:last-child {
    margin: 30px 0 42px; }

.l-relation-banner {
  padding: 100px 0 65px;
  background: #eeeeee; }

.relation-banner {
  width: calc((100% - 35px) / 2);
  margin: 0 0 47px 0;
  -webkit-box-shadow: #434343 12px 12px 0;
  box-shadow: #434343 12px 12px 0;
  transition: all 0.3s;
  pointer-events: none; }
  .relation-banner:nth-child(2n) {
    margin: 0 0 47px 35px; }
  .relation-banner:hover {
    -webkit-box-shadow: none;
    box-shadow: none;
    transform: translate(12px, 12px); }
  .relation-banner__link {
    display: block;
    pointer-events: auto; }
    .relation-banner__link:hover {
      opacity: 0.7; }
  .relation-banner__img {
    max-width: 100%; }
  .relation-banner-wrapper {
    width: 100%;
    max-width: 1355px;
    margin: 0 auto;
    padding: 0 35px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }

/*
---------------------------------------------

    about settings

*/
.l-about-mv {
  height: calc(100vh - 86px);
  min-height: 600px;
  margin: 0;
  position: relative; }
  .l-about-mv .site-logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }

.l-about-message {
  width: 756px;
  margin: 80px auto 170px;
  padding: 0 0 0 90px; }
  .l-about-message p {
    margin: 0 0 60px;
    line-height: 2.4; }

.about-message-bottom {
  margin: 90px 0 0;
  height: 36px; }
  .about-message-bottom__img {
    height: 100%; }

.l-about-logo {
  width: 100%;
  padding: 100px 0;
  overflow: hidden; }

.about-logo-box {
  margin: 0 auto;
  padding: 60px;
  background: #FFF;
  display: flex;
  -webkit-align-items: center;
  align-items: center; }
  .about-logo-box__right {
    margin: 0 0 0 60px; }

.about-logo-text {
  font-size: 1.4rem;
  line-height: 1.6; }

.about-logo-list {
  display: flex;
  -webkit-align-items: center;
  align-items: center; }
  .about-logo-list__item + .about-logo-list__item {
    margin-left: 40px; }

/*
---------------------------------------------

    topics settings

*/
.l-topics {
  width: 100%;
  padding: 100px 0;
  overflow: hidden; }
  .l-topics__inner {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 30px; }

.topics-box-wrapper {
  display: flex;
  flex-wrap: wrap;
  position: relative; }

.topics-box {
  width: calc((99% - 40px) / 3);
  height: 100%;
  margin: 0 20px 40px 0;
  padding: 0 30px 15px 10px;
  display: block;
  position: relative;
  z-index: 5;
  pointer-events: none;
  transition: all 0.3s; }
  .topics-box:nth-child(3n) {
    margin: 0 0 40px 0; }
  .topics-box:after {
    content: '';
    width: calc(100% - 50px);
    height: calc(100% - 50px);
    background: url("../img/bg-black-stripe.png") 0 0 repeat;
    background-size: 6px 6px;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -1; }
  .topics-box:hover {
    opacity: 0.6; }
    .topics-box:hover:after {
      animation: moveBackground 20s linear infinite; }
  .topics-box__link {
    display: block;
    text-decoration: none;
    pointer-events: auto; }
  .topics-box__thumb {
    width: 100%;
    height: 0;
    padding-bottom: 94.55%;
    border: solid 5px #fff;
    border-bottom: none;
    position: relative;
    overflow: hidden; }
    .topics-box__thumb img {
      height: 100%;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
  .topics-box__info {
    width: calc( 100% + 20px);
    padding: 25px;
    background: #fff;
    position: relative;
    left: -10px;
    bottom: 0; }
  .topics-box__category {
    position: absolute;
    top: 0;
    left: 0; }
    .topics-box__category__item {
      padding: 5px 10px;
      background: #880202;
      font-size: 1.2rem;
      font-weight: bold;
      color: #FFF; }
      .topics-box__category__item.event-info {
        background: #14ce82; }
      .topics-box__category__item.event-report {
        background: #0094ff; }
      .topics-box__category__item.others {
        background: #ff31ad; }
  .topics-box__title {
    margin: 15px 0 10px;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.4; }
  .topics-box__lead {
    font-size: 1.4rem;
    line-height: 1.4; }

.topics-category {
  margin: 0 0 60px;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center; }
  .topics-category__link {
    padding: 5px 20px;
    display: block;
    text-decoration: none;
    text-align: center;
    font-size: 1.2rem;
    font-weight: bold;
    color: #959595; }
    .topics-category__link.is-active, .topics-category__link:hover {
      color: #ba1814; }
  .topics-category__item + .topics-category__item {
    border-left: 1px solid #000; }

.topics-list__link {
  width: 100%;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  text-decoration: none; }
  .topics-list__link:hover {
    opacity: 0.7; }
  .topics-list__link--external {
    background: url("../img/icon-external-grey.svg") no-repeat right bottom;
    background-size: 12px 12px; }

.topics-list__item {
  margin: 0 0 10px;
  display: block; }

.topics-list__info {
  width: 60%;
  padding: 0 0 0 15px; }

.topics-list__thumb {
  width: 40%; }

.topics-list__img {
  max-width: 100%; }

.topics-list__title {
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.4; }

.topics-list__category {
  margin: 0 0 0.5em;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.4; }
  .topics-list__category__item {
    color: #ba1814; }
    .topics-list__category__item.event-info {
      color: #14ce82; }
    .topics-list__category__item.event-report {
      color: #0094ff; }
    .topics-list__category__item.others {
      color: #ff31ad; }

.contents-banner-list__item {
  margin: 30px 0; }

.contents-banner-list__link {
  display: block;
  text-decoration: none; }
  .contents-banner-list__link:hover {
    opacity: 0.7; }
    .contents-banner-list__link:hover .contents-banner-list__thumb {
      -webkit-box-shadow: none;
      box-shadow: none;
      transform: translate(12px, 12px); }

.contents-banner-list__thumb {
  transition: all 0.3s;
  -webkit-box-shadow: #ba1814 12px 12px 0;
  box-shadow: #ba1814 12px 12px 0; }

.contents-banner-list__img {
  width: 100%; }

.contents-banner-list__label {
  margin: 25px 0 0;
  font-size: 1.4rem;
  font-weight: bold; }

/*
---------------------------------------------

    everybody settings

*/
.l-everybody {
  width: 100%;
  padding: 100px 0;
  overflow: hidden; }
  .l-everybody.bg-pattern03 {
    margin: -20px 0 0;
    padding: 60px 0 100px; }
  .l-everybody__inner {
    width: 100%;
    max-width: 1010px;
    margin: 0 auto;
    padding: 0 30px; }

.everybody-title {
  margin: 0 0 60px;
  height: 50px;
  text-align: center; }
  .everybody-title__img {
    max-height: 100%; }

.everybody-box-wrapper {
  margin: 0;
  display: flex;
  flex-wrap: wrap; }
  .everybody-box-wrapper--4column .everybody-box {
    width: calc((100% - 30px) / 4);
    margin: 0 10px 10px 0; }
    .everybody-box-wrapper--4column .everybody-box:nth-child(3n) {
      margin: 0 10px 10px 0; }
    .everybody-box-wrapper--4column .everybody-box:nth-child(4n) {
      margin: 0 0 10px 0; }

.everybody-box {
  width: calc((99.99% - 60px) / 3);
  margin: 0 30px 30px 0; }
  .everybody-box:nth-child(3n) {
    margin: 0 0 30px 0; }
  .everybody-box--mv {
    width: 100%;
    margin: 0; }
    .everybody-box--mv:nth-child(3n) {
      margin: 0; }
  .everybody-box__link {
    width: 100%;
    height: 0;
    padding-bottom: 100%;
    border-radius: 16px;
    background: #FFF;
    display: block;
    text-decoration: none;
    overflow: hidden;
    position: relative;
    z-index: 1; }
  .everybody-box__img {
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.5s ease-in-out; }
  .everybody-box__code {
    padding: 5px 10px;
    background: #ba1814;
    border-radius: 16px;
    color: #FFF;
    font-size: 1.2rem;
    font-weight: bold;
    text-align: center;
    position: absolute;
    top: 5px;
    left: 5px; }
  .everybody-box a:hover .everybody-box__img {
    opacity: 0.6;
    transform: translate(-50%, -50%) scale(1.2); }

.l-everybody-mv-box {
  min-height: 480px;
  margin: 0 auto -100px;
  padding: 20px 0;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  position: relative;
  z-index: 10; }
  .l-everybody-mv-box__right {
    width: calc((100% - 10px) / 2);
    margin: 0 0 0 10px; }
  .l-everybody-mv-box__left {
    width: calc((100% - 10px) / 2); }
  .l-everybody-mv-box__text {
    width: 305px;
    margin: 45px auto 0;
    line-height: 1.8;
    font-size: 1.4rem; }

/*
---------------------------------------------

    facility settings

*/
.l-facility-mv {
  height: 370px;
  background: url("../img/facility-bg.jpg") no-repeat center;
  background-size: cover;
  position: relative; }

.facility-mv-title {
  height: 165px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); }
  .facility-mv-title__img {
    max-height: 100%; }

.l-facility-list {
  padding: 100px 0 50px; }

.facility-list {
  display: flex;
  flex-wrap: wrap; }
  .facility-list__item {
    width: calc((100% - 50px) / 2);
    margin: 0 50px 70px 0; }
    .facility-list__item:nth-child(2n) {
      margin: 0 0 70px 0; }
  .facility-list__thumb {
    width: 100%; }
  .facility-list__img {
    max-width: 100%; }
  .facility-list .btn-primary {
    margin: -40px auto 0; }
    .facility-list .btn-primary__link {
      max-width: 85%; }

.l-facility-map {
  padding: 120px 0; }

.facility-map {
  position: relative; }
  .facility-map__label {
    width: 235px;
    position: absolute;
    top: -25px;
    left: 25px;
    z-index: 5; }
  .facility-map__img {
    max-width: 100%; }
  .facility-map__map {
    padding: 0 25px 25px 0;
    position: relative; }
    .facility-map__map:after {
      content: '';
      width: calc(100% - 100px);
      height: calc(100% - 75px);
      background: url("../img/bg-black-stripe.png") 0 0 repeat;
      background-size: 6px 6px;
      position: absolute;
      bottom: 0;
      right: 0;
      z-index: -1; }

/*
---------------------------------------------

    parking settings

*/
.l-parking-mv {
  height: 370px;
  background: url("../img/parking-bg.png") no-repeat center;
  background-size: cover;
  position: relative; }

.parking-mv-title {
  height: 165px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); }
  .parking-mv-title__img {
    max-height: 100%; }

.l-parking-map {
  padding: 100px 0; }
  .l-parking-map__text {
    width: 780px;
    margin: 0 auto 100px;
    line-height: 2; }

.parking-map {
  position: relative; }
  .parking-map__label {
    width: 393px;
    position: absolute;
    top: -25px;
    left: 25px;
    z-index: 5; }
  .parking-map__img {
    max-width: 100%; }
  .parking-map__map {
    padding: 0 25px 25px 0;
    position: relative; }
    .parking-map__map:after {
      content: '';
      width: calc(100% - 100px);
      height: calc(100% - 75px);
      background: url("../img/bg-black-stripe.png") 0 0 repeat;
      background-size: 6px 6px;
      position: absolute;
      bottom: 0;
      right: 0;
      z-index: -1; }

/*
---------------------------------------------

    shibuya winter illumination settings

*/
.l-swi-mv {
  height: 370px;
  background: url("../img/swi-bg.png") no-repeat center;
  background-size: cover;
  position: relative;
  overflow: hidden; }

.swi-mv-title {
  height: 310px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); }
  .swi-mv-title__img {
    max-height: 100%; }

.l-swi {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  display: flex;
  align-items: center; }
  .l-swi-box {
    width: 50%; }
    .l-swi-box img {
      width: 100%; }
  .l-swi-left {
    width: 480px;
    margin: 0 0 0 auto;
    padding: 0 30px 0 0; }
  .l-swi__title {
    margin: 0 0 40px;
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 1.2; }
    .l-swi__title__sub {
      margin: 0 0 10px;
      display: block;
      font-weight: normal;
      font-size: 1.6rem; }
  .l-swi__text {
    font-size: 1.6rem;
    line-height: 1.8; }
  .l-swi-info {
    margin: 40px 0 10px;
    display: flex;
    font-size: 1.6rem;
    flex-wrap: wrap;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    color: #959595; }
    .l-swi-info__label {
      width: 120px;
      padding: 5px;
      margin: 0 20px 30px 0;
      border: solid 1px #959595;
      font-weight: bold;
      text-align: center; }
    .l-swi-info__content {
      width: calc(100% - 140px);
      margin: 0 0 30px;
      line-height: 1.6; }
      .l-swi-info__content span {
        display: block;
        font-size: 1.4rem;
        line-height: 1.4; }

.bg-swi {
  padding: 75px 0;
  background-color: #eeefef; }

.swi-detail-area {
  max-width: 960px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap; }

.swi-detail-box {
  width: calc((100% - 50px) / 2);
  margin: 25px 0;
  padding: 18px;
  background-color: #fff; }
  .swi-detail-box:nth-child(odd) {
    margin-right: 50px; }
  .swi-detail-box__img img, .swi-detail-box__para img {
    width: 100%; }
  .swi-detail-box__para {
    padding: 0 10px; }
  .swi-detail-box__title {
    margin: 1.8rem 0;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.2; }
  .swi-detail-box__info {
    margin: 0 0 6px 0;
    font-size: 1.4rem;
    color: #666;
    line-height: 1.4;
    display: flex; }
    .swi-detail-box__info dt {
      width: 18%; }
      .swi-detail-box__info dt.letter-space {
        font-size: 1.3rem;
        letter-spacing: -.02em; }
    .swi-detail-box__info dd {
      width: 82%; }
  .swi-detail-box__text {
    margin: 18px 0 0 0;
    line-height: 1.6;
    font-size: 1.4rem; }
    .swi-detail-box__text--small {
      font-size: 1rem; }

/*
---------------------------------------------

    shibuya winter illumination settings

*/
.l-sptks-mv {
  height: 370px;
  background: url("../img/special-thanks-bg.png") no-repeat center;
  background-size: cover;
  position: relative;
  overflow: hidden; }

.sptks-mv-title {
  height: 174px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); }
  .sptks-mv-title__img {
    max-height: 100%; }

.l-sptks {
  width: 780px;
  margin: 0 auto;
  padding: 100px 0; }
  .l-sptks__title {
    margin: 0 0 40px;
    font-size: 3.6rem;
    font-weight: bold;
    line-height: 1.2; }
    .l-sptks__title__sub {
      margin: 0 0 10px;
      display: block;
      font-weight: normal;
      font-size: 1.8rem; }
  .l-sptks__text {
    font-size: 1.8rem;
    line-height: 1.8; }
  .l-sptks-info {
    margin: 40px 0 10px;
    display: flex;
    flex-wrap: wrap;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    color: #000; }
    .l-sptks-info__label {
      width: 110px;
      padding: 5px;
      margin: 0 30px 30px 0;
      border: solid 1px #000;
      font-weight: bold;
      text-align: center; }
    .l-sptks-info__content {
      width: calc(100% - 140px);
      margin: 0 0 60px;
      line-height: 1.6; }
      .l-sptks-info__content span {
        display: block;
        font-size: 1.4rem;
        line-height: 1.4; }

.l-sptks-list {
  padding: .4rem 0 0 0;
  display: flex;
  flex-wrap: wrap; }
  .l-sptks-list li {
    width: 50%;
    margin: 0 0 1.5rem 0;
    font-size: 1.4rem; }
    .l-sptks-list li a {
      padding: 0 14px 0 0;
      background: url("../img/icon-external-grey.svg") no-repeat right center;
      background-size: 10px 10px;
      text-decoration: none; }
      .l-sptks-list li a:hover {
        opacity: .5;
        text-decoration: underline; }

/*
---------------------------------------------

    MAP settings

*/
.map-image {
  position: relative; }
  .map-image img {
    width: 100%; }

.map-pdf-link {
  padding: 0 20px 0 0;
  display: inline-block;
  font-size: 1.4rem;
  font-weight: bold;
  text-decoration: none;
  background: url("../img/icon-pdf-bk.svg") no-repeat right center;
  position: absolute;
  right: 3%;
  bottom: 5%; }

.map-num {
  color: #fff;
  background-color: black;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 20; }
  .map-num--large {
    padding: 8px 6px;
    font-size: 1.8rem;
    font-weight: bold; }
  .map-num--small {
    padding: 5px 4px;
    font-size: 1.2rem;
    font-weight: bold; }

.topics-list__thumb,
.contents-banner-list__thumb {
  position: relative; }

.contents-banner-list__thumb--green {
  box-shadow: #13ae67 12px 12px 0; }

.contents-banner-list__thumb--yellow {
  box-shadow: #ffe100 12px 12px 0; }

.contents-banner-list__thumb--blue {
  box-shadow: #00a0e9 12px 12px 0; }

/*
---------------------------------------------

    PRIVACY POLICY settings

*/
.l-privacy-mv {
  padding: 2rem 0; }

.privacy-mv-title {
  text-align: center; }

.l-privacy {
  width: 780px;
  margin: 0 auto;
  padding: 0 0 100px 0;
  font-size: 1.4rem; }
  .l-privacy__title {
    margin: 0 0 40px;
    font-size: 3.6rem;
    font-weight: bold;
    line-height: 1.2; }
    .l-privacy__title__sub {
      margin: 0 0 10px;
      display: block;
      font-weight: normal;
      font-size: 1.8rem; }
  .l-privacy__text {
    font-size: 1.4rem;
    line-height: 1.8;
    text-align: right; }
  .l-privacy-info {
    margin: 40px 0 10px;
    color: #000; }
    .l-privacy-info__label {
      padding: 5px;
      margin: 0 0 15px 0;
      font-weight: bold; }
    .l-privacy-info__content {
      margin: 0 0 60px;
      line-height: 1.6; }
      .l-privacy-info__content span {
        display: block;
        font-size: 1.4rem;
        line-height: 1.4; }

.l-privacy-list {
  padding: .4rem 0 0 0;
  display: flex;
  flex-wrap: wrap; }
  .l-privacy-list li {
    width: 50%;
    margin: 0 0 1.5rem 0;
    font-size: 1.4rem; }
    .l-privacy-list li a {
      padding: 0 14px 0 0;
      background: url("../img/icon-external.svg") no-repeat right center;
      background-size: 10px 10px;
      text-decoration: none; }
      .l-privacy-list li a:hover {
        opacity: .5;
        text-decoration: underline; }

@media screen and (max-width: 767px) {
  /*
---------------------------------------------

    header settings

*/
  .l-header {
    min-width: 100%;
    height: 55px;
    padding: 10px; }
  .header-logo {
    height: 35px; }
  .header-banner {
    height: 30px; }
  .gnavi-btn {
    width: 50px;
    height: 50px;
    top: 2px;
    left: 10px; }
    .gnavi-btn span {
      width: 22px;
      height: 3px; }
    .gnavi-btn span:nth-child(1) {
      top: 18px; }
    .gnavi-btn span:nth-child(2) {
      top: 24px; }
    .gnavi-btn span:nth-child(3) {
      top: 30px; }
    .gnavi-btn.is-open > span:nth-child(1) {
      transform: translate(-50%, 6px) rotate(225deg); }
    .gnavi-btn.is-open > span:nth-child(2) {
      opacity: 0; }
    .gnavi-btn.is-open > span:nth-child(3) {
      transform: translate(-50%, -6px) rotate(-225deg); }
  .gnavi-list__item {
    margin: 2.5rem 0;
    font-size: 2.2rem; }
  /*
---------------------------------------------

    contents settings

*/
  .l-contents {
    min-width: 100%;
    margin: 55px auto 0; }
    .l-contents--2column {
      background: none; }
      .l-contents--2column .l-contents__inner {
        display: block; }
      .l-contents--2column .l-main {
        width: 100%;
        padding: 15px; }
        .l-contents--2column .l-main--map {
          width: 100%;
          padding: 0; }
  .l-sidebar {
    width: 100%;
    padding: 45px 15px; }
  .sidebar-box + .sidebar-box {
    margin: 60px 0 0; }
  /*
---------------------------------------------

    footer settings

*/
  .page-top img {
    width: 14px;
    height: auto; }
  .page-top.btn-primary--small .btn-primary__link {
    padding: 8px 7px;
    box-shadow: #999 2px 5px 0; }
    .page-top.btn-primary--small .btn-primary__link:hover {
      transform: translate(2px, 5px); }
  .l-footer {
    min-width: 100%;
    padding: 50px 15px;
    display: block;
    font-size: 1.2rem;
    line-height: 1.4; }
    .l-footer__left {
      width: 100%; }
    .l-footer__right {
      width: 100%;
      margin: 30px 0 0;
      text-align: center; }
  .footer-list {
    justify-content: center;
    flex-wrap: wrap; }
    .footer-list__item {
      height: 20px; }
      .footer-list__item.text-link {
        margin: 2rem 0 0 0; }
  /*
---------------------------------------------

    common settings

*/
  .forSP {
    display: block; }
  .forPC {
    display: none; }
  .site-logo-base {
    height: 170px; }
  .site-logo-neo {
    height: 75px;
    top: 58px; }
  .site-logo--small .site-logo-base {
    height: 140px; }
  .site-logo--small .site-logo-neo {
    height: 62px;
    top: 48px; }
  .site-logo--everybody .site-logo-base {
    height: 155px; }
  .site-logo--everybody .site-logo-neo {
    height: 62px;
    top: 62px; }
  .bg-pattern03:before {
    min-width: 100%;
    height: 150px;
    background-position: top 10px left 10px;
    top: calc(50% - 10px);
    left: calc(50% + 10px); }
  .bg-pattern03:after {
    min-width: 100%;
    height: 150px; }
  .bg-pattern03--top:before {
    top: 0;
    left: 10px; }
  .bg-pattern03--top:after {
    top: 10px; }
  .btn-primary__link {
    font-size: 1.5rem; }
  .btn-primary--small .btn-primary__link {
    max-width: 180px;
    margin: 0 5px 7px 0;
    padding: 15px;
    -webkit-box-shadow: #ba1814 5px 7px 0;
    box-shadow: #ba1814 5px 7px 0;
    font-size: 1.2rem; }
    .btn-primary--small .btn-primary__link:hover {
      -webkit-box-shadow: none;
      box-shadow: none;
      transform: translate(5px, 7px); }
  /*.red-shadow {
	padding: 0 5px 5px 0;
	&:after {
		width: calc( 100% - 5px);
		height: calc( 100% - 5px);
	}
}*/
  .commig-soon:before {
    font-size: 1rem; }
  .icon-external:after {
    width: 12px;
    height: 12px;
    bottom: 10px;
    right: 10px; }
  .icon-pdf:after {
    width: 14px;
    height: 15px;
    bottom: 10px;
    right: 10px; }
  .l-page {
    padding: 60px 15px; }
  .page-title {
    font-size: 2.4rem; }
  .l-thanks {
    min-width: 100%; }
  .thanks-box {
    padding: 0 15px; }
    .thanks-box__content {
      font-size: 2.2rem;
      line-height: 1.4; }
  .thanks-list {
    justify-content: flex-start; }
    .thanks-list__item {
      width: calc((100% - 15px) / 2);
      margin: 0 15px 15px 0; }
      .thanks-list__item:nth-child(5n) {
        margin: 0 15px 15px 0; }
      .thanks-list__item:nth-child(2n) {
        margin: 0 0 15px; }
    .thanks-list--small .thanks-list__item {
      width: calc((100% - 30px) / 3);
      margin: 0 15px 15px 0; }
      .thanks-list--small .thanks-list__item:nth-child(9n) {
        margin: 0 0 15px; }
      .thanks-list--small .thanks-list__item:nth-child(3n) {
        margin: 0 0 15px; }
  .post-content {
    padding: 45px 15px; }
  .post-body {
    margin: 45px 0 0 0; }
  .post-sns {
    top: -30px;
    right: 0; }
    .post-sns__item {
      height: 20px;
      margin: 0 0 0 20px; }
  .post-title {
    margin: 0 0 30px;
    font-size: 3rem; }
  .post-date {
    margin: 0 0 20px;
    font-size: 1.2rem; }
  .post-category {
    margin: 0 0 20px;
    font-size: 1.2rem; }
  .post-list {
    padding: 45px 15px; }
    .post-list-title {
      font-size: 3rem; }
    .post-list-date {
      font-size: 1.2rem; }
    .post-list-category {
      font-size: 1.2rem; }
  .wp-pagenavi {
    padding: 0 15px; }
  /*
---------------------------------------------

    top settings

*/
  .l-mv {
    margin: 0;
    padding: 0 15px;
    min-height: inherit;
    display: block; }
    .l-mv__left {
      width: 100%;
      padding: 45px 0; }
    .l-mv__right {
      width: 100%;
      margin: 0 0 55px;
      padding: 0; }
    .l-mv .btn-primary {
      margin: 45px auto 0; }
  .hot-topics {
    height: 100%;
    display: block;
    position: relative; }
    .hot-topics:hover .hot-topics__info:after {
      animation: none; }
    .hot-topics__thumb {
      padding-bottom: 120%; }
    .hot-topics__info {
      width: calc(100% - 30px);
      margin: -70px 0 0;
      position: relative;
      bottom: auto;
      left: 15px; }
      .hot-topics__info:after {
        content: '';
        width: calc(100% - 40px);
        height: calc(100% - 40px);
        top: 50px;
        left: 50px; }
    .hot-topics__category__item {
      font-size: 1rem; }
    .hot-topics__title {
      font-size: 1.5rem; }
    .hot-topics__lead {
      font-size: 1.2rem; }
  .l-contents-banner {
    padding: 60px 0; }
  .contents-banner-title {
    margin: 0 auto 40px; }
  .contents-banner-wrapper {
    padding: 0 25px 0 15px;
    -webkit-justify-content: flex-start;
    justify-content: flex-start; }
  .contents-banner {
    width: calc((100% - 20px) / 2);
    margin: 0 20px 20px 0;
    -webkit-box-shadow: #ba1814 5px 5px 0;
    box-shadow: #ba1814 5px 5px 0; }
    .contents-banner:last-child {
      margin: 0 0 20px; }
    .contents-banner:nth-child(3n) {
      margin: 0 20px 20px 0; }
    .contents-banner:nth-child(2n) {
      margin: 0 0 20px; }
    .contents-banner:hover {
      transform: translate(5px, 5px); }
  .l-relation-banner {
    padding: 60px 0;
    background: #eeeeee; }
  .relation-banner {
    width: 100%;
    margin: 0 0 20px;
    -webkit-box-shadow: #434343 5px 5px 0;
    box-shadow: #434343 5px 5px 0; }
    .relation-banner:nth-child(2n) {
      margin: 0 0 20px; }
    .relation-banner:last-child {
      margin: 0; }
    .relation-banner:hover {
      transform: translate(5px, 5px); }
    .relation-banner-wrapper {
      padding: 0 25px 0 15px;
      -webkit-justify-content: flex-start;
      justify-content: flex-start; }
  /*
---------------------------------------------

    about settings

*/
  .l-about-mv {
    height: calc(100vh - 55px);
    min-height: 250px; }
    .l-about-mv .site-logo {
      top: 45%; }
  .l-about-logo {
    padding: 60px 15px; }
  .l-about-message {
    width: 100%;
    margin: 60px 0;
    padding: 0 15px; }
    .l-about-message p {
      margin: 0 0 40px;
      line-height: 2.4;
      font-size: 1.5rem; }
  .about-message-bottom {
    margin: 40px 0 0;
    height: 30px; }
  .about-logo-box {
    display: block;
    padding: 45px 15px; }
    .about-logo-box__right {
      margin: 45px 0 0 0; }
  .about-logo-list {
    display: block; }
    .about-logo-list__item + .about-logo-list__item {
      margin-left: auto; }
  /*
---------------------------------------------

    topics settings

*/
  .l-topics {
    padding: 40px 0; }
    .l-topics__inner {
      padding: 0; }
  .topics-box-wrapper {
    padding: 0 15px; }
    .topics-box-wrapper.js-topics-slider {
      padding: 0;
      display: block; }
      .topics-box-wrapper.js-topics-slider .topics-box {
        margin: 0; }
      .topics-box-wrapper.js-topics-slider .slick-list {
        padding: 0 40px 0 15px; }
      .topics-box-wrapper.js-topics-slider .slick-slide {
        margin: 0 20px 0 0; }
  .topics-box {
    width: 100%;
    margin: 0 0 40px; }
    .topics-box:nth-child(3n) {
      margin: 0 0 40px; }
    .topics-box:hover:after {
      animation: none; }
    .topics-box__info {
      padding: 20px; }
    .topics-box__title {
      font-size: 1.5rem; }
    .topics-box__text {
      font-size: 1.2rem; }
    .topics-box__category__item {
      font-size: 1rem; }
  .topics-category {
    margin: 0 0 40px; }
    .topics-category__link {
      padding: 5px 10px; }
  .contents-banner-list {
    display: flex;
    flex-wrap: wrap; }
    .contents-banner-list__item {
      width: calc((100% - 20px) / 2);
      margin: 0 20px 30px 0; }
      .contents-banner-list__item:nth-child(2n) {
        margin: 0 0 30px 0; }
    .contents-banner-list__link:hover .contents-banner-list__thumb {
      transform: translate(5px, 5px); }
    .contents-banner-list__label {
      margin: 15px 0 0;
      font-size: 1.2rem; }
  /*
---------------------------------------------

    everybody settings

*/
  .l-everybody {
    padding: 60px 0; }
    .l-everybody__inner {
      padding: 0; }
  .everybody-title {
    height: 120px; }
  .everybody-box-wrapper.js-everybody-slider {
    margin: 45px 0;
    display: block; }
    .everybody-box-wrapper.js-everybody-slider .everybody-box {
      width: 100%;
      margin: 0;
      padding: 0 15px; }
    .everybody-box-wrapper.js-everybody-slider .slick-list {
      padding: 0 30px; }
  .everybody-box-wrapper--4column {
    padding: 0 15px; }
    .everybody-box-wrapper--4column .everybody-box {
      width: calc((100% - 10px) / 2);
      margin: 0 10px 10px 0; }
      .everybody-box-wrapper--4column .everybody-box:nth-child(4n) {
        margin: 0 0 10px 0; }
      .everybody-box-wrapper--4column .everybody-box:nth-child(2n) {
        margin: 0 0 10px 0; }
  .everybody-box-wrapper.pconly .everybody-box a:hover {
    cursor: default; }
    .everybody-box-wrapper.pconly .everybody-box a:hover .everybody-box__img {
      opacity: 1;
      transform: translate(-50%, -50%); }
  .l-everybody-mv-box {
    margin: 0 auto -50px;
    padding: 0 15px;
    display: block; }
    .l-everybody-mv-box__left {
      width: 100%;
      margin: 0;
      padding: 45px 0; }
    .l-everybody-mv-box__right {
      width: 100%;
      margin: 0; }
    .l-everybody-mv-box__text {
      width: 100%; }
  /*
---------------------------------------------

    facility settings

*/
  .l-facility-mv {
    height: 280px; }
  .facility-mv-title {
    height: 95px; }
  .l-facility-list {
    padding: 60px 0 30px; }
  .facility-list {
    padding: 0 15px; }
    .facility-list__item {
      width: 100%;
      margin: 0 0 40px; }
      .facility-list__item:nth-child(2n) {
        margin: 0 0 40px 0; }
  .l-facility-map {
    padding: 60px 15px; }
  .facility-map__label {
    width: 120px;
    top: -12px;
    left: 12px; }
  .facility-map__map {
    padding: 0 15px 15px 0; }
    .facility-map__map:after {
      width: calc(100% - 25px);
      height: calc(100% - 25px); }
  /*
---------------------------------------------

    parking settings

*/
  .l-parking-mv {
    height: 280px; }
  .parking-mv-title {
    height: 95px; }
  .l-parking-map {
    padding: 60px 15px; }
    .l-parking-map__text {
      width: 100%;
      margin: 0 0 40px;
      font-size: 1.5rem;
      line-height: 1.8; }
  .parking-map__label {
    width: 212px;
    top: -12px;
    left: 12px; }
  .parking-map__map {
    padding: 0 15px 15px 0; }
    .parking-map__map:after {
      width: calc(100% - 25px);
      height: calc(100% - 25px); }
  /*
---------------------------------------------

    shibuya winter illumination settings

*/
  .l-swi-mv {
    height: 280px; }
  .swi-mv-title {
    height: 200px; }
  .l-swi {
    width: 100%;
    padding: 0;
    display: block; }
    .l-swi-box {
      width: 100%; }
    .l-swi-left {
      width: 100%;
      margin: 0;
      padding: 20px 15px 20px 15px; }
    .l-swi__title {
      font-size: 3rem; }
      .l-swi__title__sub {
        font-size: 1.6rem;
        line-height: 1.2; }
    .l-swi__text {
      width: 100%;
      font-size: 1.5rem; }
    .l-swi-info {
      display: block;
      font-size: 1.6rem; }
      .l-swi-info__label {
        width: 80px;
        margin: 0 0 5px; }
      .l-swi-info__content {
        width: 100%; }
        .l-swi-info__content span {
          font-size: 1.2rem; }
  .bg-swi {
    padding: 35px 0; }
  .swi-detail-area {
    padding: 0 15px;
    display: block; }
  .swi-detail-box {
    width: 100%;
    margin: 25px 0;
    padding: 18px; }
    .swi-detail-box:nth-child(odd) {
      margin-right: 0; }
    .swi-detail-box__img, .swi-detail-box__para {
      width: 100%;
      padding: 0; }
    .swi-detail-box__img {
      margin: 0 0 20px 0; }
    .swi-detail-box__info {
      line-height: 1.4; }
      .swi-detail-box__info dt {
        width: 20%; }
      .swi-detail-box__info dd {
        width: 80%; }
  /*
---------------------------------------------

    shibuya winter illumination settings

*/
  .l-sptks-mv {
    height: 280px; }
  .sptks-mv-title {
    height: 110px; }
  .l-sptks {
    width: 100%;
    padding: 60px 15px; }
    .l-sptks__title {
      font-size: 3rem; }
      .l-sptks__title__sub {
        font-size: 1.6rem;
        line-height: 1.2; }
    .l-sptks__text {
      width: 100%;
      font-size: 1.5rem; }
    .l-sptks-info {
      display: block;
      font-size: 1.6rem; }
      .l-sptks-info__label {
        width: 120px;
        margin: 0 0 20px; }
      .l-sptks-info__content {
        width: 100%; }
        .l-sptks-info__content span {
          font-size: 1.2rem; }
  .l-sptks-list li {
    width: 100%;
    margin: 0 0 1rem 0; }
  /*
---------------------------------------------

    MAP settings

*/
  .map-pdf-link {
    bottom: 1%; }
  .contents-banner-list__item--map {
    width: 100%;
    margin: 0 0 30px 0;
    padding: 0 20px 0 0; }
  /*
---------------------------------------------

    PRIVACY POLICY settings

*/
  .l-privacy-mv {
    padding: 4rem 0 2rem 0; }
  .l-privacy {
    width: 100%;
    padding: 0 15px 60px 15px; }
    .l-privacy__title {
      font-size: 3rem; }
      .l-privacy__title__sub {
        font-size: 1.6rem;
        line-height: 1.2; }
    .l-privacy__text {
      width: 100%;
      font-size: 1.5rem; }
    .l-privacy-info {
      display: block;
      font-size: 1.6rem; }
      .l-privacy-info__label {
        margin: 0 0 20px; }
      .l-privacy-info__content {
        width: 100%; }
        .l-privacy-info__content span {
          font-size: 1.2rem; }
  .l-privacy-list li {
    width: 100%;
    margin: 0 0 1rem 0; } }
