@media screen and (max-width: 900px) {
  .vpc900 {
    display: none; } }
@media not screen, screen and (min-width: 901px) {
  .vsp900 {
    display: none; } }
.tpl-menu__item {
  margin-bottom: 8px; }

header.tpl-header {
  justify-content: flex-start;
  padding: 0 30px;
  height: 65px; }
  header.tpl-header::before {
    background: #d6d1ca; }
  header.tpl-header .tpl-menu {
    height: 100svh; }
  header.tpl-header .tpl-menu__list {
    column-gap: 30px;
    display: flex;
    flex-wrap: wrap; }
    header.tpl-header .tpl-menu__list li {
      width: calc(50% - 15px);
      border-bottom: 1px solid #d7d2cb; }
header .tpl-header__link .tpl-header__logo {
  width: 120px; }
  @media screen and (max-width: 900px) {
    header .tpl-header__link .tpl-header__logo {
      width: 93px; } }
  header .tpl-header__link .tpl-header__logo:not(.active) {
    opacity: 0;
    pointer-events: none; }
header .drawer_txts {
  position: fixed;
  top: 25px;
  right: 80px;
  z-index: 10; }
  @media screen and (max-width: 900px) {
    header .drawer_txts {
      right: 54px; } }
  header .drawer_txts .drawer_txt {
    display: block;
    opacity: 0;
    transition: opacity 1s cubic-bezier(0.19, 1, 0.22, 1); }
    header .drawer_txts .drawer_txt.active {
      opacity: 1; }
    header .drawer_txts .drawer_txt:not(.nav_abo) {
      position: absolute;
      right: 0;
      top: 0;
      bottom: 0; }
    header .drawer_txts .drawer_txt.nav_abo {
      width: 37px;
      position: relative; }
    header .drawer_txts .drawer_txt.nav_pho {
      width: 36px; }
    header .drawer_txts .drawer_txt.nav_fac {
      width: 47px; }
    header .drawer_txts .drawer_txt.nav_acc {
      width: 42px; }

.audio_button {
  position: fixed;
  text-align: center;
  z-index: 101;
  right: 140px;
  top: 15px;
  width: 120px;
  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: opacity 0.3s ease-in-out;
  border: none;
  background: none;
  margin: 0;
  border: 1px solid #3f2021;
  border-radius: 4px; }
  @media screen and (max-width: 768px) {
    .audio_button {
      right: 110px;
      width: 100px;
      padding: 8px; } }
  .audio_button:focus {
    outline: 0; }
  @media (hover: hover) {
    .audio_button:hover {
      opacity: 0.7; } }
  .audio_button img {
    display: block;
    line-height: 0;
    margin: auto;
    transition: opacity 0.3s ease-in-out; }
  .audio_button .audio_start {
    position: absolute;
    inset: 0;
    transition: opacity 0.3s ease-in-out;
    max-width: 64px;
    width: 53.34%; }
    .audio_start .audio_button .audio_start {
      opacity: 0; }
  .audio_button .audio_stop {
    max-width: 63px;
    width: 65.63%;
    opacity: 0; }
    .audio_start .audio_button .audio_stop {
      opacity: 1; }

footer .tpl-footer__logo_wrap {
  text-align: center; }
  footer .tpl-footer__logo_wrap a span.logo_txt {
    font-size: 13px;
    text-align: center;
    font-weight: 300;
    margin-bottom: 20px; }
footer .tpl-section {
  padding-top: 0; }
footer .menu_logo {
  max-width: 200px;
  margin: 0 auto 30px; }
footer .tpl-section::before {
  content: none; }
footer .tpl-menu {
  border: 0; }
  footer .tpl-menu li {
    border-top: 0;
    border-bottom: 1px solid #d6d1ca; }
    footer .tpl-menu li a {
      color: #d6d1ca; }
      footer .tpl-menu li a::after {
        content: none; }
footer .res_btn {
  width: 50%;
  margin: 50px auto 0; }
  @media screen and (max-width: 900px) {
    footer .res_btn {
      width: 100%;
      margin-top: 25px; } }
  footer .res_btn a {
    width: 100%;
    height: 60px;
    font-size: 1.6rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #d6d2ca; }
    @media screen and (max-width: 900px) {
      footer .res_btn a {
        height: 45px; } }
footer .tpl-menu__list {
  display: flex;
  flex-wrap: wrap; }
  footer .tpl-menu__list li {
    width: calc(50% - 30px); }
    @media screen and (max-width: 768px) {
      footer .tpl-menu__list li {
        width: calc(50% - 15px); } }

.cont_sec {
  box-sizing: border-box;
  position: relative;
  inset: 0; }
  .cont_sec .sec_ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 85px;
    border-top: 1px solid #3e1f20;
    border-bottom: 1px solid #3e1f20; }
    .cont_sec .sec_ttl.ttl_photogallery > span {
      width: 259px;
      width: 134px; }
      @media screen and (max-width: 900px) {
        .cont_sec .sec_ttl.ttl_photogallery > span {
          width: 84px; } }
    .cont_sec .sec_ttl.ttl_facility {
      background: #fff; }
      .cont_sec .sec_ttl.ttl_facility > span {
        width: 172px; }
        @media screen and (max-width: 900px) {
          .cont_sec .sec_ttl.ttl_facility > span {
            width: 122px; } }
    .cont_sec .sec_ttl.ttl_access {
      border: 0; }
      .cont_sec .sec_ttl.ttl_access > span {
        width: 165px; }
        @media screen and (max-width: 900px) {
          .cont_sec .sec_ttl.ttl_access > span {
            width: 115px; } }

.ta_c {
  text-align: center; }

body.fixed {
  position: fixed;
  top: 0;
  left: 0;
  height: 100lvh; }

.intro_en {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal; }

.sec_intro {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  position: fixed;
  z-index: 101;
  width: 100%;
  height: 100dvh;
  background: #000;
  transition: opacity 3s cubic-bezier(0.5, 1, 0.89, 1); }
  body:not(.fixed) .sec_intro {
    opacity: 0 !important;
    pointer-events: none !important; }
  .sec_intro button {
    cursor: pointer;
    border: none;
    padding: 0;
    background: none;
    margin: 0; }
    .sec_intro button:focus {
      outline: 0; }

.intro_start {
  width: 100%;
  height: 100%;
  transition: opacity 2s cubic-bezier(0.5, 1, 0.89, 1); }
  .start .intro_start {
    opacity: 0;
    pointer-events: none; }
  .intro_start img {
    width: 100%; }
  .intro_start .intro_logo {
    position: absolute;
    z-index: 1;
    width: 22.5%;
    top: 13.34%;
    left: 4.07%;
    opacity: 0;
    filter: blur(30px);
    transition-property: opacity,filter;
    transition-duration: 2s;
    transition-timing-function: cubic-bezier(0.5, 1, 0.89, 1); }
    .load .intro_start .intro_logo {
      opacity: 1;
      filter: blur(0); }
    @media screen and (max-width: 900px) {
      .intro_start .intro_logo {
        width: 40%; } }
    @media screen and (max-width: 480px) {
      .intro_start .intro_logo {
        inset: 0;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: auto; }
        .intro_start .intro_logo img {
          width: 56.24%; } }
  .intro_start .intro_button_wrap {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: 2;
    width: 24.5%;
    left: 5.63%;
    bottom: 6.67%;
    transition-property: transform,opacity;
    transition-duration: 1.2s;
    transition-delay: 2s;
    transition-timing-function: cubic-bezier(0.5, 1, 0.89, 1);
    opacity: 0;
    transform: translateY(30px); }
    .load .intro_start .intro_button_wrap {
      opacity: 1;
      transform: translateY(0px); }
    @media screen and (max-width: 900px) {
      .intro_start .intro_button_wrap {
        width: 40%; } }
    @media screen and (max-width: 480px) {
      .intro_start .intro_button_wrap {
        width: 100%;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        bottom: 10.22%;
        left: 0;
        right: 0; } }
    .intro_start .intro_button_wrap .item_start {
      width: 68.88%;
      display: flex; }
      @media screen and (max-width: 480px) {
        .intro_start .intro_button_wrap .item_start {
          width: 50.4%; } }
      .intro_start .intro_button_wrap .item_start button {
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        padding-top: 10.38%;
        padding-bottom: 9.26%;
        border-radius: 20px;
        border: 1px solid #fff;
        transition: opacity 0.3s ease-in-out; }
        @media screen and (max-width: 480px) {
          .intro_start .intro_button_wrap .item_start button {
            border-radius: 14px; } }
        @media (hover: hover) {
          .intro_start .intro_button_wrap .item_start button:hover {
            opacity: 0.7; } }
        .intro_start .intro_button_wrap .item_start button img {
          width: 65.19%; }
    .intro_start .intro_button_wrap .item_skip {
      width: 20.16%; }
      @media screen and (max-width: 480px) {
        .intro_start .intro_button_wrap .item_skip {
          margin-top: 5.04%;
          width: 14.86%; } }
      .intro_start .intro_button_wrap .item_skip button {
        transition: opacity 0.3s ease-in-out; }
        @media (hover: hover) {
          .intro_start .intro_button_wrap .item_skip button:hover {
            opacity: 0.7; } }
  .intro_start .intro_start_image {
    position: absolute;
    inset: 0; }
    .intro_start .intro_start_image img {
      display: block;
      width: 100%;
      height: 100lvh;
      line-height: 0;
      object-fit: cover;
      object-position: center right;
      opacity: 0;
      filter: blur(30px);
      transform: scale(1.1);
      transition-property: opacity,filter,transform;
      transition-duration: 0.8s,0.8s,30s;
      transition-timing-function: cubic-bezier(0.5, 1, 0.89, 1); }
      .load .intro_start .intro_start_image img {
        opacity: 1;
        filter: blur(0);
        transform: scale(1); }

.intro_wrap {
  position: absolute;
  inset: 0;
  z-index: 2;
  opacity: 0;
  pointer-events: none;
  transition: opacity 2s cubic-bezier(0.5, 1, 0.89, 1) 1s; }
  .start .intro_wrap {
    opacity: 1;
    pointer-events: all; }
  body:not(.fixed) .intro_wrap {
    opacity: 0 !important;
    pointer-events: none !important; }
  .intro_wrap .intro_text_wrap {
    color: #fff;
    position: absolute;
    inset: 0;
    z-index: 1; }
    .intro_wrap .intro_text_wrap .intro_lead_wrap {
      width: 19.94%;
      position: absolute;
      top: 3.34%;
      left: 6.25%;
      margin-left: auto;
      margin-right: auto; }
      @media screen and (max-width: 480px) {
        .intro_wrap .intro_text_wrap .intro_lead_wrap {
          margin-top: 11.24%;
          width: 59.95%;
          left: 6.64%; } }
      .intro_wrap .intro_text_wrap .intro_lead_wrap .intro_lead {
        line-height: 0;
        opacity: 0;
        transform: scale(1.8, 1);
        filter: blur(4px);
        transition-property: opacity,transform,filter;
        transition-duration: 0.6s;
        transition-timing-function: ease; }
        .start .intro_wrap .intro_text_wrap .intro_lead_wrap .intro_lead {
          opacity: 1;
          transform: scale(1, 1);
          filter: blur(0); }
    .intro_wrap .intro_text_wrap .indicator_wrap {
      width: 90.63%;
      position: absolute;
      bottom: 4.45%;
      left: 0;
      right: 0;
      margin-left: auto;
      margin-right: auto;
      display: flex;
      align-items: center;
      gap: 30px;
      transition-property: transform,opacity;
      transition-duration: 1.2s;
      transition-delay: 0.5s;
      transition-timing-function: cubic-bezier(0.5, 1, 0.89, 1);
      opacity: 0;
      transform: translateY(30px); }
      .start .intro_wrap .intro_text_wrap .indicator_wrap {
        opacity: 1;
        transform: translateY(0px); }
      .intro_wrap .intro_text_wrap .indicator_wrap .progress_box {
        flex-grow: 1;
        height: 3px;
        overflow: hidden; }
        .intro_wrap .intro_text_wrap .indicator_wrap .progress_box .progress {
          display: block;
          width: 100%;
          height: 100%;
          transform: scaleX(0);
          background: #fff;
          transform-origin: left center;
          transition: transform 0.01s ease-in-out; }
        .intro_wrap .intro_text_wrap .indicator_wrap .progress_box::before {
          content: "";
          display: block;
          width: 100%;
          height: 1px;
          background: #fff; }
      .intro_wrap .intro_text_wrap .indicator_wrap .number_box {
        display: flex;
        align-items: baseline;
        flex-shrink: 0;
        font-size: clamp(11px, 1.2vw, 18px);
        line-height: 1; }
        .intro_wrap .intro_text_wrap .indicator_wrap .number_box .in {
          position: relative; }
          .intro_wrap .intro_text_wrap .indicator_wrap .number_box .in span {
            display: block; }
          .intro_wrap .intro_text_wrap .indicator_wrap .number_box .in span:nth-child(1) {
            animation: textIn 1s ease both; }
          .intro_wrap .intro_text_wrap .indicator_wrap .number_box .in span:nth-child(n + 2) {
            position: absolute;
            top: 0;
            left: 0;
            opacity: 0;
            animation: textOut 1s ease both; }
    .intro_wrap .intro_text_wrap .skip_stalker {
      width: 130px;
      height: 70px;
      opacity: 0;
      position: fixed;
      left: -75px;
      cursor: pointer;
      top: -35px;
      z-index: 999;
      transition: opacity 0.4s; }
      @media screen and (max-width: 480px) {
        .intro_wrap .intro_text_wrap .skip_stalker {
          width: 100px;
          height: 40px; } }
      .intro_wrap .intro_text_wrap .skip_stalker::before {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background: url("../images/intro/button_skip.svg") center/contain no-repeat;
        opacity: 0;
        transform: translateY(0.5em); }
      .intro_wrap .intro_text_wrap .skip_stalker::after {
        content: "";
        display: block;
        position: absolute;
        inset: 0;
        border-radius: 20px;
        border: 1px solid #fff; }
        @media screen and (max-width: 480px) {
          .intro_wrap .intro_text_wrap .skip_stalker::after {
            border-radius: 14px; } }
      .intro_wrap .intro_text_wrap .skip_stalker.js_active::before {
        opacity: 1;
        transform: translateY(0); }
  .intro_wrap .intro_bg_wrap {
    position: absolute;
    inset: 0; }
    .intro_wrap .intro_bg_wrap .intro_bg {
      position: absolute;
      inset: 0;
      transition: opacity 1s cubic-bezier(0.5, 1, 0.89, 1);
      opacity: 0; }
      .intro_wrap .intro_bg_wrap .intro_bg video,
      .intro_wrap .intro_bg_wrap .intro_bg img {
        display: block;
        width: 100%;
        height: 100lvh;
        line-height: 0;
        object-fit: cover;
        object-position: center right;
        filter: blur(70px);
        transform: scale(1);
        transition-property: filter,transform;
        transition-duration: 3s,8s;
        transition-timing-function: cubic-bezier(0.5, 1, 0.89, 1); }
      .s1 .intro_wrap .intro_bg_wrap .intro_bg.intro_bg01 {
        opacity: 1; }
        .s1 .intro_wrap .intro_bg_wrap .intro_bg.intro_bg01 video {
          filter: blur(0);
          transform: scale(1.05); }
      .s2 .intro_wrap .intro_bg_wrap .intro_bg.intro_bg01 {
        opacity: 0; }
      .s2 .intro_wrap .intro_bg_wrap .intro_bg.intro_bg02 {
        opacity: 1; }
        .s2 .intro_wrap .intro_bg_wrap .intro_bg.intro_bg02 img {
          filter: blur(0);
          transform: scale(1.05); }
      .s3 .intro_wrap .intro_bg_wrap .intro_bg.intro_bg02 {
        opacity: 0; }
      .s3 .intro_wrap .intro_bg_wrap .intro_bg.intro_bg03 {
        opacity: 1; }
        .s3 .intro_wrap .intro_bg_wrap .intro_bg.intro_bg03 video {
          filter: blur(0);
          transform: scale(1.05); }

@keyframes textIn {
  from {
    opacity: 0;
    transform: translateY(50%); }
  to {
    opacity: 1;
    transform: translateY(0%); } }
@keyframes textOut {
  from {
    opacity: 1;
    transform: translateY(0%); }
  to {
    opacity: 0;
    transform: translateY(-50%); } }
.cont_sec.about {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  height: 100svh;
  padding: 20px;
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  z-index: 1; }
  .cont_sec.about .about_box01 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center; }
    .cont_sec.about .about_box01 .abaut_ttl {
      width: 323px;
      margin: 0 auto 50px; }
      @media screen and (max-width: 900px) {
        .cont_sec.about .about_box01 .abaut_ttl {
          margin-bottom: 30px;
          width: 254px; } }
    .cont_sec.about .about_box01 .abaut_txt01 {
      max-width: 480px;
      width: 100%;
      margin: 0 auto 30px;
      line-height: 0; }
      @media screen and (max-width: 900px) {
        .cont_sec.about .about_box01 .abaut_txt01 {
          margin-bottom: 20px; } }
    .cont_sec.about .about_box01 .txt1 {
      font-size: 16px;
      line-height: 1.88;
      letter-spacing: 0.05em; }
      @media screen and (max-width: 900px) {
        .cont_sec.about .about_box01 .txt1 {
          font-size: clamp(10px, 1.77vw, 16px);
          line-height: 2.3; } }
  .cont_sec.about .about_bg {
    position: fixed;
    position: absolute;
    inset: 0;
    z-index: -1;
    display: block;
    width: 100%;
    height: 100lvh;
    line-height: 0;
    object-fit: cover;
    object-position: center right; }

.cont_sec.photogallery {
  background: #d6d1ca;
  box-sizing: border-box; }
  .cont_sec.photogallery .gal_item {
    position: relative; }
  .cont_sec.photogallery .parallax {
    opacity: 0;
    transition-property: opacity;
    transition-duration: 0.8s;
    transition-timing-function: cubic-bezier(0.5, 1, 0.89, 1); }
    .cont_sec.photogallery .parallax.p-view {
      opacity: 1; }
  .cont_sec.photogallery .imgs01 {
    display: flex;
    flex-wrap: wrap; }
    .cont_sec.photogallery .imgs01 .img_box {
      overflow: hidden;
      position: relative; }
      .cont_sec.photogallery .imgs01 .img_box::before {
        content: "";
        display: block;
        width: 100%; }
    .cont_sec.photogallery .imgs01 > div {
      position: relative; }
      .cont_sec.photogallery .imgs01 > div .cap {
        font-size: 12px;
        position: absolute;
        right: 0;
        bottom: 0;
        padding: 3px;
        z-index: 1;
        color: #fff;
        text-shadow: 0px 0px 0px rgba(0, 0, 0, 0.8), 0px 0px 1px rgba(0, 0, 0, 0.8), 0px 0px 2px rgba(0, 0, 0, 0.8), 0px 0px 3px rgba(0, 0, 0, 0.8), 0px 0px 4px rgba(0, 0, 0, 0.8), 0px 0px 5px rgba(0, 0, 0, 0.8); }
        @media screen and (max-width: 900px) {
          .cont_sec.photogallery .imgs01 > div .cap {
            font-size: 10px;
            padding: 5px 3px; } }
      .cont_sec.photogallery .imgs01 > div video {
        position: absolute;
        top: 0;
        bottom: 0;
        width: 250%;
        left: -75%;
        right: -75%;
        display: block;
        height: 100%;
        object-fit: cover;
        object-position: center;
        line-height: 0; }
      .cont_sec.photogallery .imgs01 > div.img001 {
        width: calc(800%/16); }
        @media screen and (max-width: 900px) {
          .cont_sec.photogallery .imgs01 > div.img001 {
            width: 100%; } }
      .cont_sec.photogallery .imgs01 > div.img002 {
        width: calc(400%/16);
        transition-delay: 0.3s; }
        @media screen and (max-width: 900px) {
          .cont_sec.photogallery .imgs01 > div.img002 {
            transition-delay: 0s;
            width: calc(189%/3.77); } }
        .cont_sec.photogallery .imgs01 > div.img002::before {
          padding-top: 100.75%; }
        .cont_sec.photogallery .imgs01 > div.img002 video {
          aspect-ratio: 400 / 403; }
      .cont_sec.photogallery .imgs01 > div.img003 {
        width: calc(400%/16);
        transition-delay: 0.6s; }
        @media screen and (max-width: 900px) {
          .cont_sec.photogallery .imgs01 > div.img003 {
            transition-delay: 0.3s;
            width: calc(188%/3.77); } }
      .cont_sec.photogallery .imgs01 > div.img004 {
        width: calc(800%/16); }
        @media screen and (max-width: 900px) {
          .cont_sec.photogallery .imgs01 > div.img004 {
            width: 100%; } }
      .cont_sec.photogallery .imgs01 > div.img005 {
        width: calc(400%/16);
        transition-delay: 0.3s; }
        @media screen and (max-width: 900px) {
          .cont_sec.photogallery .imgs01 > div.img005 {
            transition-delay: 0s;
            width: calc(189%/3.77); } }
        .cont_sec.photogallery .imgs01 > div.img005::before {
          padding-top: 100.75%; }
          @media screen and (max-width: 900px) {
            .cont_sec.photogallery .imgs01 > div.img005::before {
              padding-top: 126.46%; } }
        .cont_sec.photogallery .imgs01 > div.img005 video {
          aspect-ratio: 400 / 403; }
          @media screen and (max-width: 900px) {
            .cont_sec.photogallery .imgs01 > div.img005 video {
              aspect-ratio: 189 / 239; } }
      .cont_sec.photogallery .imgs01 > div.img006 {
        width: calc(400%/16);
        transition-delay: 0.6s; }
        @media screen and (max-width: 900px) {
          .cont_sec.photogallery .imgs01 > div.img006 {
            transition-delay: 0.3s;
            width: calc(188%/3.77); } }
      .cont_sec.photogallery .imgs01 > div .img008 {
        transition-delay: 0.3s;
        overflow: hidden;
        position: relative; }
        @media screen and (max-width: 900px) {
          .cont_sec.photogallery .imgs01 > div .img008 {
            aspect-ratio: 715 / 404;
            width: 100%; }
            .cont_sec.photogallery .imgs01 > div .img008::before {
              content: "";
              display: block;
              width: 100%;
              padding-top: 56.51%; }
            .cont_sec.photogallery .imgs01 > div .img008 .vsp900 video {
              aspect-ratio: 715 / 404; } }
      .cont_sec.photogallery .imgs01 > div .img009 {
        aspect-ratio: 715 / 404; }
        @media screen and (max-width: 900px) {
          .cont_sec.photogallery .imgs01 > div .img009 {
            width: 100%; } }
        .cont_sec.photogallery .imgs01 > div .img009::before {
          padding-top: 56.51%; }
          @media screen and (max-width: 900px) {
            .cont_sec.photogallery .imgs01 > div .img009::before {
              padding-top: 0; } }
        .cont_sec.photogallery .imgs01 > div .img009 video {
          aspect-ratio: 715 / 404; }
      .cont_sec.photogallery .imgs01 > div .img010 {
        transition-delay: 0.3s;
        position: relative;
        overflow: hidden; }
        @media screen and (max-width: 900px) {
          .cont_sec.photogallery .imgs01 > div .img010 {
            width: 100%; } }
        .cont_sec.photogallery .imgs01 > div .img010::before {
          content: "";
          display: block;
          width: 100%;
          padding-top: 62.07%; }
          @media screen and (max-width: 900px) {
            .cont_sec.photogallery .imgs01 > div .img010::before {
              padding-top: 74.95%; } }
        @media screen and (max-width: 900px) {
          .cont_sec.photogallery .imgs01 > div .img010 .vsp900 {
            position: absolute;
            inset: 0; } }
        .cont_sec.photogallery .imgs01 > div .img010 video {
          width: 150%;
          left: -35%;
          right: -15%;
          aspect-ratio: 435 / 270; }
          @media screen and (max-width: 900px) {
            .cont_sec.photogallery .imgs01 > div .img010 video {
              aspect-ratio: 455 / 341; } }
      .cont_sec.photogallery .imgs01 > div .img011 {
        transition-delay: 0.3s; }
        @media screen and (max-width: 900px) {
          .cont_sec.photogallery .imgs01 > div .img011 {
            transition-delay: 0s;
            width: calc(189%/3.77); } }
      .cont_sec.photogallery .imgs01 > div .img012 {
        transition-delay: 0.3s; }
        @media screen and (max-width: 900px) {
          .cont_sec.photogallery .imgs01 > div .img012 {
            width: calc(188%/3.77); } }
      .cont_sec.photogallery .imgs01 > div.img_left {
        width: calc(715%/16); }
        @media screen and (max-width: 900px) {
          .cont_sec.photogallery .imgs01 > div.img_left {
            width: 100%; } }
      .cont_sec.photogallery .imgs01 > div.img_center {
        width: calc(450%/16);
        transition-delay: 0.3s; }
        @media screen and (max-width: 900px) {
          .cont_sec.photogallery .imgs01 > div.img_center {
            width: 100%; } }
      .cont_sec.photogallery .imgs01 > div.img_right {
        width: calc(435%/16); }
        @media screen and (max-width: 900px) {
          .cont_sec.photogallery .imgs01 > div.img_right {
            width: 100%;
            display: flex;
            flex-wrap: wrap; } }

.cont_sec.facility {
  background: #d6d1ca;
  border-bottom: 1px solid #3e1f20; }
  .cont_sec.facility .facility_cnt_head {
    font-size: clamp(16px, 1.25vw, 20px);
    color: #3e1f20;
    text-align: center;
    margin-top: 3em;
    margin-bottom: 1em;
    line-height: 1;
    letter-spacing: 0.2em; }
  .cont_sec.facility .facility_cnts {
    display: grid;
    border-top: 1px solid #3e1f20;
    grid-template-columns: repeat(4, 1fr); }
    @media screen and (max-width: 900px) {
      .cont_sec.facility .facility_cnts {
        grid-template-columns: repeat(2, 1fr); } }
    @media screen and (max-width: 600px) {
      .cont_sec.facility .facility_cnts {
        display: block; } }
    .cont_sec.facility .facility_cnts.cnts01 {
      border-bottom: 1px solid #3e1f20; }
      @media screen and (max-width: 600px) {
        .cont_sec.facility .facility_cnts.cnts01 {
          border: 0;
          border-top: 1px solid #3e1f20; } }
      @media screen and (min-width: 901px) {
        .cont_sec.facility .facility_cnts.cnts01 .facility_cnt:not(:nth-child(4n))::before {
          content: "";
          width: 1px;
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0;
          background: #3e1f20;
          z-index: 1;
          display: block; }
        .cont_sec.facility .facility_cnts.cnts01 .facility_cnt:not(:nth-child(-n+4))::after {
          content: "";
          height: 1px;
          position: absolute;
          top: 0;
          right: 0;
          left: 0;
          background: #3e1f20;
          z-index: 1;
          display: block; } }
      @media screen and (min-width: 601px) and (max-width: 900px) {
        .cont_sec.facility .facility_cnts.cnts01 .facility_cnt:not(:nth-child(-n+2))::after {
          content: "";
          height: 1px;
          position: absolute;
          left: 0;
          right: 0;
          top: 0;
          background: #3e1f20;
          z-index: 1;
          display: block; }
        .cont_sec.facility .facility_cnts.cnts01 .facility_cnt:not(:nth-child(2n))::before {
          content: "";
          width: 1px;
          position: absolute;
          bottom: 0;
          right: 0;
          top: 0;
          background: #3e1f20;
          z-index: 1;
          display: block; } }
    .cont_sec.facility .facility_cnts.cnts02 .facility_cnt {
      border-bottom: 1px solid #3e1f20; }
      .cont_sec.facility .facility_cnts.cnts02 .facility_cnt::before {
        content: "";
        width: 1px;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        background: #3e1f20;
        z-index: 1;
        display: block; }
        @media screen and (max-width: 600px) {
          .cont_sec.facility .facility_cnts.cnts02 .facility_cnt::before {
            content: none; } }
      .cont_sec.facility .facility_cnts.cnts02 .facility_cnt.img009 {
        grid-row: 1 / span 2;
        grid-column: 1 / span 1; }
      @media screen and (min-width: 601px) and (max-width: 900px) {
        .cont_sec.facility .facility_cnts.cnts02 .facility_cnt.img010::before {
          content: none; } }
      @media screen and (min-width: 601px) and (max-width: 900px) {
        .cont_sec.facility .facility_cnts.cnts02 .facility_cnt.img011::before {
          content: none; } }
      @media screen and (min-width: 901px) {
        .cont_sec.facility .facility_cnts.cnts02 .facility_cnt.img012::before {
          content: none; } }
      @media screen and (min-width: 601px) and (max-width: 900px) {
        .cont_sec.facility .facility_cnts.cnts02 .facility_cnt.img013::before {
          content: none; } }
      .cont_sec.facility .facility_cnts.cnts02 .facility_cnt.img015::before {
        content: none; }
    .cont_sec.facility .facility_cnts.cnts03 .facility_cnt::before {
      content: "";
      width: 1px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      background: #3e1f20;
      z-index: 1;
      display: block; }
      @media screen and (max-width: 600px) {
        .cont_sec.facility .facility_cnts.cnts03 .facility_cnt::before {
          content: none; } }
    .cont_sec.facility .facility_cnts.cnts03 .facility_cnt.img016 {
      grid-row: 1 / span 2;
      grid-column: 1 / span 1; }
      @media screen and (min-width: 601px) and (max-width: 900px) {
        .cont_sec.facility .facility_cnts.cnts03 .facility_cnt.img016 {
          border-bottom: 1px solid #3e1f20; } }
      @media screen and (max-width: 900px) {
        .cont_sec.facility .facility_cnts.cnts03 .facility_cnt.img016 {
          grid-row: 1 / span 2;
          grid-column: 1 / span 1; } }
    .cont_sec.facility .facility_cnts.cnts03 .facility_cnt.img017 {
      border-bottom: 1px solid #3e1f20; }
      @media screen and (max-width: 900px) {
        .cont_sec.facility .facility_cnts.cnts03 .facility_cnt.img017 {
          grid-row: 1 / span 1;
          grid-column: 2 / span 1; } }
      @media screen and (min-width: 601px) and (max-width: 900px) {
        .cont_sec.facility .facility_cnts.cnts03 .facility_cnt.img017 {
          border-bottom: 1px solid #3e1f20; }
          .cont_sec.facility .facility_cnts.cnts03 .facility_cnt.img017::before {
            content: none; } }
    .cont_sec.facility .facility_cnts.cnts03 .facility_cnt.img018 {
      border-bottom: 1px solid #3e1f20; }
      @media screen and (max-width: 900px) {
        .cont_sec.facility .facility_cnts.cnts03 .facility_cnt.img018 {
          grid-row: 2 / span 1;
          grid-column: 2 / span 1; } }
      @media screen and (min-width: 601px) and (max-width: 900px) {
        .cont_sec.facility .facility_cnts.cnts03 .facility_cnt.img018 {
          border-bottom: 1px solid #3e1f20; }
          .cont_sec.facility .facility_cnts.cnts03 .facility_cnt.img018::before {
            content: none; } }
    @media screen and (max-width: 900px) {
      .cont_sec.facility .facility_cnts.cnts03 .facility_cnt.img019 {
        grid-row: 3 / span 1;
        grid-column: 1 / span 1; } }
    @media screen and (max-width: 900px) {
      .cont_sec.facility .facility_cnts.cnts03 .facility_cnt.img020 {
        grid-row: 4 / span 1;
        grid-column: 1 / span 1; } }
    .cont_sec.facility .facility_cnts.cnts03 .facility_cnt.img021 {
      grid-row: 1 / span 4;
      grid-column: 4 / span 1; }
      @media screen and (max-width: 900px) {
        .cont_sec.facility .facility_cnts.cnts03 .facility_cnt.img021 {
          border-bottom: 0;
          grid-row: 3 / span 2;
          grid-column: 2 / span 1; } }
      .cont_sec.facility .facility_cnts.cnts03 .facility_cnt.img021::before {
        content: none; }
    .cont_sec.facility .facility_cnts .facility_cnt {
      position: relative;
      padding: calc(30%/4);
      display: flex;
      gap: clamp(15px, 1.88vw, 30px) 0;
      flex-direction: column; }
      @media screen and (max-width: 600px) {
        .cont_sec.facility .facility_cnts .facility_cnt {
          border-bottom: 1px solid #3e1f20;
          padding: calc(25%/3.77); } }
      .cont_sec.facility .facility_cnts .facility_cnt .ttl_en {
        font-size: clamp(13px, 1.12vw, 18px);
        margin: 0.4em 0 3.5em;
        line-height: 1.47;
        letter-spacing: 0.03em; }
        @media screen and (max-width: 900px) {
          .cont_sec.facility .facility_cnts .facility_cnt .ttl_en {
            font-size: clamp(13px, 2.25vw, 18px); } }
        @media screen and (max-width: 600px) {
          .cont_sec.facility .facility_cnts .facility_cnt .ttl_en {
            font-size: clamp(15px, 4.53vw, 17px); } }
      .cont_sec.facility .facility_cnts .facility_cnt .ttl_ja {
        margin-top: auto;
        font-size: clamp(8px, 0.87vw, 14px); }
        @media screen and (max-width: 900px) {
          .cont_sec.facility .facility_cnts .facility_cnt .ttl_ja {
            font-size: clamp(8px, 1.75vw, 14px); } }
        @media screen and (max-width: 600px) {
          .cont_sec.facility .facility_cnts .facility_cnt .ttl_ja {
            font-size: clamp(8px, 2.66vw, 10px); } }

.cont_sec.access {
  background: #d6d1ca; }
  .cont_sec.access .acc_cnts {
    padding: 0 25px 60px;
    display: flex;
    flex-direction: column;
    grid-gap: 30px 0; }
    @media screen and (max-width: 900px) {
      .cont_sec.access .acc_cnts {
        padding: 0 15px 60px; } }
  .cont_sec.access .cnt_ttl {
    display: flex;
    align-items: center;
    grid-gap: 0 15px;
    background: #3f1f20;
    padding: 10px;
    cursor: pointer; }
    @media screen and (max-width: 900px) {
      .cont_sec.access .cnt_ttl {
        padding: 8px; } }
    .cont_sec.access .cnt_ttl.active .cnt_btn::before {
      opacity: 0; }
    .cont_sec.access .cnt_ttl .cnt_btn {
      position: relative;
      width: 29px;
      height: 29px;
      background: #d6d2ca; }
      .cont_sec.access .cnt_ttl .cnt_btn::before {
        content: "";
        z-index: 1;
        width: 2px;
        height: 8px;
        position: absolute;
        inset: 0;
        margin: auto;
        background: #3f1f20;
        border: 0;
        padding: 0; }
      .cont_sec.access .cnt_ttl .cnt_btn::after {
        content: "";
        z-index: 1;
        height: 2px;
        width: 8px;
        position: absolute;
        inset: 0;
        margin: auto;
        background: #3f1f20;
        border: 0;
        padding: 0; }
    .cont_sec.access .cnt_ttl .txt {
      font-size: clamp(15px, 1.88vw, 17px);
      color: #d6d2ca;
      line-height: 1; }
      @media screen and (max-width: 600px) {
        .cont_sec.access .cnt_ttl .txt {
          font-size: clamp(10px, 3.18vw, 12px);
          letter-spacing: 0; } }
  .cont_sec.access .slide_cnt {
    background: #fff;
    padding: 30px;
    display: none; }
    @media screen and (max-width: 600px) {
      .cont_sec.access .slide_cnt {
        padding: 20px 30px; } }
    @media screen and (max-width: 377px) {
      .cont_sec.access .slide_cnt {
        padding: 20px calc(30%/3.27); } }
  .cont_sec.access .cnt01 .slide_cnt_ttl {
    font-size: clamp(12px, 1.88vw, 17px);
    margin-bottom: 15px; }
  .cont_sec.access .cnt01 .item_wrap {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    grid-gap: 20px; }
    @media screen and (max-width: 1200px) {
      .cont_sec.access .cnt01 .item_wrap {
        grid-gap: 20px 2%; } }
    @media screen and (max-width: 900px) {
      .cont_sec.access .cnt01 .item_wrap {
        grid-gap: 20px 4%; } }
    @media screen and (max-width: 600px) {
      .cont_sec.access .cnt01 .item_wrap {
        grid-gap: 20px 0; } }
    .cont_sec.access .cnt01 .item_wrap .item {
      width: calc(25% - 15px); }
      @media screen and (max-width: 1200px) {
        .cont_sec.access .cnt01 .item_wrap .item {
          width: 32%; } }
      @media screen and (max-width: 900px) {
        .cont_sec.access .cnt01 .item_wrap .item {
          width: 48%; } }
      @media screen and (max-width: 600px) {
        .cont_sec.access .cnt01 .item_wrap .item {
          width: 100%; } }
      .cont_sec.access .cnt01 .item_wrap .item figure {
        margin-bottom: 15px; }
      .cont_sec.access .cnt01 .item_wrap .item .txt_box {
        display: flex;
        justify-content: space-between;
        align-items: stretch; }
        @media screen and (max-width: 600px) {
          .cont_sec.access .cnt01 .item_wrap .item .txt_box:not(.last) {
            min-height: 70px; }
            .cont_sec.access .cnt01 .item_wrap .item .txt_box:not(.last) .nm::after {
              content: "";
              position: absolute;
              top: auto;
              left: -1px;
              right: 0;
              bottom: -42px;
              margin: auto;
              width: 8px;
              height: 42px;
              background-image: url("../images/access/arrow.png");
              background-position: center;
              background-size: contain;
              background-repeat: no-repeat; } }
        .cont_sec.access .cnt01 .item_wrap .item .txt_box .nm {
          display: flex;
          justify-content: center;
          align-items: center;
          width: 30px;
          height: 30px;
          border-radius: 20px;
          background: #3f1f20;
          position: relative;
          color: #fff;
          font-size: 13px; }
          @media screen and (max-width: 600px) {
            .cont_sec.access .cnt01 .item_wrap .item .txt_box .nm {
              width: 25px;
              height: 25px; } }
          .cont_sec.access .cnt01 .item_wrap .item .txt_box .nm::before {
            content: "";
            position: absolute;
            inset: 2px;
            z-index: 1;
            display: block;
            margin: auto;
            border: 1px solid #fff;
            border-radius: 20px; }
        .cont_sec.access .cnt01 .item_wrap .item .txt_box .txts {
          width: calc(100% - 40px); }
          @media screen and (max-width: 600px) {
            .cont_sec.access .cnt01 .item_wrap .item .txt_box .txts {
              width: calc(100% - 35px); } }
          .cont_sec.access .cnt01 .item_wrap .item .txt_box .txts p {
            line-height: 1.33;
            font-size: clamp(12px, 0.93vw, 15px); }
            .cont_sec.access .cnt01 .item_wrap .item .txt_box .txts p br {
              display: none; }
              @media screen and (max-width: 600px) {
                .cont_sec.access .cnt01 .item_wrap .item .txt_box .txts p br {
                  display: block; } }
          .cont_sec.access .cnt01 .item_wrap .item .txt_box .txts .cap_l {
            font-size: clamp(10px, 0.75vw, 12px); }
  .cont_sec.access .cnt03 .item01 {
    max-width: 1150px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    grid-gap: 0 50px; }
    @media screen and (max-width: 900px) {
      .cont_sec.access .cnt03 .item01 {
        flex-direction: column;
        grid-gap: 20px 0; } }
    .cont_sec.access .cnt03 .item01 .map_img {
      width: calc(700%/11.5); }
      @media screen and (max-width: 900px) {
        .cont_sec.access .cnt03 .item01 .map_img {
          width: 100%; } }
    .cont_sec.access .cnt03 .item01 .map_txts {
      width: calc(500%/11.5); }
      @media screen and (max-width: 900px) {
        .cont_sec.access .cnt03 .item01 .map_txts {
          width: 100%; } }
    .cont_sec.access .cnt03 .item01 .bg_txt {
      color: #fff;
      background: #3f1f20;
      font-size: clamp(12px, 1.56vw, 20px);
      text-align: center;
      padding: 0.5em 0.3em;
      margin-bottom: 0.8em; }
    .cont_sec.access .cnt03 .item01 .txt_box {
      display: flex;
      flex-direction: column;
      grid-gap: 1em 0;
      font-size: clamp(12px, 1.32vw, 17px); }
      .cont_sec.access .cnt03 .item01 .txt_box .txt1 {
        line-height: 1.6; }
        .cont_sec.access .cnt03 .item01 .txt_box .txt1 span {
          vertical-align: text-top; }
        .cont_sec.access .cnt03 .item01 .txt_box .txt1 .text_in {
          display: inline-block; }
  .cont_sec.access .gg_btn {
    margin: 20px auto 0;
    width: 240px; }
    @media screen and (max-width: 900px) {
      .cont_sec.access .gg_btn {
        width: 190px; } }
    .cont_sec.access .gg_btn a {
      height: 50px;
      display: flex;
      justify-content: center;
      align-items: center;
      border-radius: 12px;
      border: 1px solid #3f1f20;
      line-height: 0; }
      .cont_sec.access .gg_btn a img {
        width: 120px; }
        @media screen and (max-width: 900px) {
          .cont_sec.access .gg_btn a img {
            width: 104px; } }

/*# sourceMappingURL=index.css.map */
