@charset "UTF-8";

/*===========================================================*/
/* common */
/*===========================================================*/

:root{
  --main: #100964;
	--black:#151823;
  --base-dark:#3B3B3B;
  --white:#ffffff;
  --gray: #C6C6C6;
  --note: #9098A2;
  --header-height:10rem;
  @media (max-width: 767px) {
    --header-height:8.1rem;
  }
}


* {
  -webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

html{
  -webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-size-adjust: 100%;
  font-size: 62.5%;
  scroll-behavior: smooth;
}

::selection{
  background-color: #b3d4fc;
  color: #000000;
	text-shadow: none;
}

:focus-visible {
  outline: solid 1px var(--black);
}


body{
	width: 100%;
	background:var(--white);
	color: var(--black);
  font-family: "Zen Old Mincho", serif;
	font-weight: 500;
  letter-spacing: 0.1em;
	line-height: 1.8;
	font-size:1.6rem;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	-webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
	font-variant-east-asian: proportional-width;
	overflow-wrap: break-word;
	word-wrap: break-word;
	text-rendering: optimizelegibility;
	@media (max-width: 767px) {
		font-size:1.4rem;
	}
}

main{
  overflow-x: hidden;
  padding-top: var(--header-height);
}

input, select, textarea {
	font-size: 1.6rem;
}

img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

dt {
  font-weight: inherit;
}

em{
	font-style: normal;
}

/*===========================================================*/
/* utility */
/*===========================================================*/

.pc-only{
  @media (max-width: 767px) {
    display: none!important;
  }
}

.sp-only{
  @media (min-width: 768px) {
    display: none!important;
  }
}

  .cinzel { 
    font-family: 'Cinzel', serif;
    text-transform: capitalize;
    line-height: 1;
    letter-spacing: 0;
  }
  .zen-mincho { 
    font-family: 'Zen Old Mincho', serif;
  }

/*===========================================================*/
/* layout */
/*===========================================================*/

.cmn-container{
  position: relative;
  scroll-padding-top: var(--header-height);
  padding: 10.4rem 0 16rem;
  @media (max-width: 767px) {
    padding: 10.2rem 0 7.2rem;
  }
}
.mw1500{
  margin: auto;
  max-width: 150rem;
  width: calc(100% - 6.4rem);
  @media (max-width: 767px) {
  }
}

.mw1200{
  margin: auto;
  max-width: 120rem;
  width: calc(100% - 6.4rem);
  @media (max-width: 767px) {
    
  }
}
.mw1120{
  margin: auto;
  max-width: 112rem;
  width: calc(100% - 6.4rem);
  @media (max-width: 767px) {
  }
}

.mw1000{
  margin: auto;
  max-width: 100rem;
  width: calc(100% - 6.4rem);
  @media (max-width: 767px) {
  }
}

.mw800{
  margin: auto;
  max-width: 80rem;
  width: calc(100% - 6.4rem);
  @media (max-width: 767px) {
  }
}


/*===========================================================*/
/* 見出し */
/*===========================================================*/
.cmn-head01{
  margin-bottom: 8rem;
  width: calc(100% - 2.4rem);
  @media (max-width: 767px) {
    margin-bottom: 7.6rem;
    width: calc(100% - 6.4rem);
    margin-inline: auto;
  }

  .cmn-head01__inner{
    display: flex;
    max-width: 120rem;
    width: calc(100% - 6.4rem);
    margin-inline: auto;
    flex-direction: column;
    position: relative;
    @media (max-width: 767px) {
      width: 100%;
    }
  }
  .cmn-head01__ttl{
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
    @media (max-width: 767px) {
      gap: 2.8rem;
    }
  }
  .cmn-head01__desc{
    margin-top: 4.4rem;
    font-size: 1.4rem;
    line-height: 2.4;
    @media (max-width: 767px) {
      margin-top: 3.8rem;
      font-size: 1.2rem;
    }
  }
  .cmn-head01__bg{
    font-family: 'Cinzel', serif;
    text-transform: capitalize;
    letter-spacing: 0;
    font-size: clamp(6.8rem, 10.76vw, 16.4rem);
    font-weight: 400;
    line-height: 1.34756;
    position: absolute;
    top: 10.4rem;
    background: linear-gradient(198.75deg, #C1D0E4 12.69%, #E7EFF3 69.73%, #F3F4F4 87.31%);
    opacity: 0.4;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
    @media (max-width: 767px) {
        top: 4.8rem;
        right: unset;
        font-size: 8rem;
        left: -3.8rem;
    }
    &.--bg01{
      background: linear-gradient(198.75deg, #C1D0E4 12.69%, #E7EFF3 69.73%, #F3F4F4 87.31%);
      opacity: .3;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      text-fill-color: transparent;
    }
    &.--bg02{
      background: linear-gradient(194.77deg, #3B424C 22.71%, #343A41 57.11%, #2E333B 67.71%);
      opacity: 0.5;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      text-fill-color: transparent;
    }
  }
  .en{
    font-family: 'Cinzel', serif;
    text-transform: capitalize;
    letter-spacing: 0;
    font-weight: 500;
    line-height: 1.34756;
    font-size: 1.8rem;
    color: #2B3179;
    @media (max-width: 767px) {
      font-size: 1.4rem;
      font-weight: 400;
    }
  }
  .ja{
    font-size: 3.2rem;
    font-weight: 600;
    line-height: 1.6;
    z-index: 2;
    letter-spacing: 0.1em;
    @media (max-width: 767px) {
      font-size: 2.4rem;
    }
  }

  &.--concept{
    /* margin-top: 9.9rem; */
    margin-bottom: unset;
    @media (max-width: 767px) {
      /* margin-top: unset; */
    }
    .ja{
      @media (max-width: 767px) {
      }
    }
    .cmn-head01__bg{
      top: 0;
      @media (max-width: 767px) {
      }
    }
    .cmn-head01__inner{
      flex-direction: row;
      justify-content: space-between;
      @media (max-width: 767px) {
        flex-direction: column;
      }
    }
    .cmn-head01__desc{
      margin-top: 4rem;
      width: 100%;
      max-width: 64.6rem;
    }
  }

  &.--location{
    margin-top: 12.4rem;
    width: 100%;
    @media (max-width: 767px) {
      margin-top: unset;
      margin-bottom: 1.6rem;
    }
    .en{
      @media (max-width: 767px) {
      }
    }
    .ja{
      @media (max-width: 767px) {
      }
    }
    .cmn-head01__bg{
      left: 0;
      @media (max-width: 767px) {
        top: 4.8rem;
        left: -3.8rem;
      }
    }
  }
  &.--access,
  &.--room-plan{
    margin-top: 12.4rem; 
    margin-bottom: 8rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    @media (max-width: 767px) {
      margin-top: unset;
      margin-bottom: 6.4rem;
      text-align: left;
      align-items: flex-start;
    }
    .ja{
      @media (max-width: 767px) {
      }
    }
    .en{
      @media (max-width: 767px) {
      }
    }
    .cmn-head01__bg{
      top: 10.4rem;
      @media (max-width: 767px) {
        top: 4.8rem;
      }
    }
  }

  &.--room-plan{
    @media (max-width: 767px) {
    }
    .ja{
      @media (max-width: 767px) {
      }
    }
    .en{
      @media (max-width: 767px) {
      }
    }
    .cmn-head01__bg{
      @media (max-width: 767px) {
        font-size: 6rem;
      }
    }
  }
  &.--gallery{
    margin-top: 9.9rem;
    margin-bottom: 0;
    @media (max-width: 1024px) {
      margin-bottom: 6.4rem;
    }
    @media (max-width: 767px) {
      margin-top: unset;
    }
    .en{
      color: #9098A2;
      @media (max-width: 767px) {
      }
    }
    .ja{
      color: var(--white);
      @media (max-width: 767px) {
      }
    }
    .cmn-head01__bg{
      left: 0;
      @media (max-width: 767px) {
        top: 4.8rem;
        left: -3.8rem;
      }
    }
  }

  &.--outline{
    margin-top: 9.9rem; 
    @media (max-width: 767px) {
      margin-top: unset;
      margin-bottom: 6.4rem;
    }
    .ja{
      @media (max-width: 767px) {
      }
    }
    .en{
      @media (max-width: 767px) {
      }
    }
    .cmn-head01__bg{
      left: 0;
      @media (max-width: 767px) {
        top: 4.8rem;
        left: -3.8rem;
      }
    }
  }
  &.--contact{
    margin-bottom: 5.6rem;
    margin-inline: unset;
    @media (max-width: 767px) {
    }
    .ja{
      @media (max-width: 767px) {
      }
    }
    .en{
      @media (max-width: 767px) {
      }
    }
    .cmn-head01__bg{
      background: linear-gradient(194.77deg, #3B424C 22.71%, #343A41 57.11%, #2E333B 67.71%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      text-fill-color: transparent;
      opacity: 0.5;
      right: 0;
      top: 1rem;
      @media (max-width: 767px) {
        top: 4.8rem;
        right: unset;
        left: -3.8rem;
      }
    }
    .cmn-head01__inner{
      margin: unset;
    }
  }
}


.cmn-head02{
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 1.8;
  letter-spacing: .2em;
  position: relative;
  margin-bottom: 4rem;
  @media (max-width: 767px) {
    font-size: 1.8rem;
    margin-bottom: 2.4rem;
  }
  &.--fw400{
    font-weight: 400;
  }
  &.--fw500{
    font-weight: 500;
  }
}

/*===========================================================*/
/* header */
/*===========================================================*/

  header{
    padding: 0 4rem 0 4.8rem;
    height: var(--header-height);
    background-color: var(--white);
    display: flex;
    gap: clamp(0px, 2.08vw, 4rem);
    align-items: center;
    justify-content: space-between;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;
    filter: drop-shadow(0px 4px 40px rgba(21, 24, 35, 0.08));
    @media (max-width: 767px) {
      padding: 1.6rem 2.4rem 1.6rem 1.6rem;
    }

    .logo-wrap{
      h1{
        font-family: "Yu Gothic","游ゴシック","YuGothic","Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",sans-serif;
        font-size: 1rem;
        line-height: 1.35;
        margin-bottom: .5rem;
        letter-spacing: 0;
        white-space: pre-wrap;
        word-break: keep-all;
        @media (max-width: 767px) {
          font-size: .8rem;
          margin-bottom: .4rem;
        }
      }
      a{
        font-size: 2.2rem;
        white-space: nowrap;
        line-height: 1;
        letter-spacing: 0;
        @media (max-width: 767px) {
          font-size: 1.6rem;
          letter-spacing: .1em;
        }
      }
    }

    .logo-wrap-span{
      /* @media (max-width: 1400px) { */
      @media (max-width: 1624px) {
        display: none;
      }
    }
    .nav{
      display: flex;
      align-items: center;
      gap: clamp(0px, 2.08vw, 4rem);
      /* @media (max-width: 1400px) { */
      @media (max-width: 1624px) {
        display: none;
      }
      li{
        a{
          white-space: nowrap;
          text-transform: capitalize;
          font-family: 'Cinzel', serif;
          font-weight: 500;
          font-size: 1.6rem;
          line-height: 1.375;
          position: relative;
          display: flex;
          justify-content: center;
          &:hover{
            color: var(--main);
            &::after{
              content: "";
              display: block;
              background-color: var(--main);
              border-radius: 50%;
              width: .5rem;
              height: .5rem;
              position: absolute;
              bottom: -1rem;
            }
          }
        }
      }
    }
    .link-wrap{
      display: flex;
      align-items: center;
      gap: clamp(0px, 1.25vw, 2.4rem);

      .btn-link{
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 1.6rem;
        width: 20rem;
        height: 6.4rem;
        color: var(--white);
        position: relative;
        background: linear-gradient(96.59deg, #100964 0%, #729BB0 76.44%, #E0E5E8 100%);
        /* @media (max-width: 1400px) { */
        @media (max-width: 1624px) {
          display: none;
        }
        &::before{
          content: "";
          display: block;
          position: absolute;
          z-index: 1;
          width: 100%;
          height: 100%;
          background: linear-gradient(276.69deg, #100964 0.64%, #729BB0 76.11%, #E0E5E8 99.36%);
          opacity: 0;
          transition: opacity 0.6s ease;
        }
        
        &:hover::before{
          opacity: 1;
        }
        .txt{
          z-index: 2;
        }
        i{
          z-index: 2;
          width: .6rem;
          height: .5rem;
          background-image: url(../img/arrow.svg);
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center;
        }
      }

      .btn-link--logo{
        display: flex;
        justify-content: center;
        align-items: center;
        width: 20rem;
        height: 6.4rem;
        background: var(--white);
        box-shadow: 0px 4px 16px rgba(21, 24, 35, 0.2);
        /* @media (max-width: 1400px) { */
        @media (max-width: 1624px) {
          display: none;
        }
        &:hover{
        }
        .logo-urbanex{
          width: 11.6rem;
        }
      }
      .burger{
        display: none;
        /* @media (max-width: 1400px) { */
        @media (max-width: 1624px) {
          width: 3.9rem;
          height: 2rem;
          display: flex;
          flex-direction: column;
          justify-content: space-between;
          cursor: pointer;
          &.is-active{
            justify-content: center;
            transform: translateX(-2px);
          }
          .bar {
            height: .1rem;
            width: 100%;
            background-color: var(--black);
          }

          &.is-active .bar1 {
            width: 4.384rem;
            transform: rotate(27.2deg) translate(1px, 0px);
          }

          &.is-active .bar2 {
            opacity: 0;
          }

          &.is-active .bar3 {
            width: 4.384rem;
            transform: rotate(-27.2deg) translate(1px, 0px);
          }
        }
      }
    }
  }
/*===========================================================*/
/* モーダル */
/*===========================================================*/

.modal{
  position: fixed;
  background-color: var(--white);
  inset: 0;
  margin-top: var(--header-height);
  visibility: hidden;
  opacity: 0;
  z-index: -1;
  &.is-active{
    visibility: visible;
    opacity: 1;
    z-index: 1000;
  }
  @media (min-width: 1401px) {
    display: none;
  }
}
.modal-inner{
  padding: 6.4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7.2rem;
  height: calc(100dvh - var(--header-height));
  overflow-y: auto;
}
.modal-btn{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.6rem;
  li{
  }
  .btn-link{
    font-size: 1.4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.6rem;
    width: 24.7rem;
    height: 5.2rem;
    max-width: 100%;
    color: var(--white);
    position: relative;
    background: linear-gradient(96.59deg, #100964 0%, #729BB0 76.44%, #E0E5E8 100%);
    &::before{
      content: "";
      display: block;
      position: absolute;
      z-index: 1;
      width: 100%;
      height: 100%;
      background: linear-gradient(276.69deg, #100964 0.64%, #729BB0 76.11%, #E0E5E8 99.36%);
      opacity: 0;
      transition: opacity 0.6s ease;
    }
    
    &:hover::before{
      opacity: 1;
    }
    .txt{
      z-index: 2;
    }
    i{
      z-index: 2;
      width: .6rem;
      height: .5rem;
      background-image: url(../img/arrow.svg);
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center;
    }
  }
  .btn-link--logo{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 24.7rem;
    height: 5.2rem;
    max-width: 100%;
    background: var(--white);
    box-shadow: 0px 4px 16px rgba(21, 24, 35, 0.2);
    &:hover{
    }
    .logo-urbanex{
      width: 9.5rem;
    }
  }
}

.modal-nav{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.2rem;
  li{
    a{
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    .en{
      letter-spacing: 0;
      font-size: 2.6rem;
      font-weight: 400;
      font-family: 'Cinzel', serif;
      text-transform: capitalize;
    }
    .ja{
      font-size: 1rem;
      letter-spacing: 0;
      line-height: 1;
    }
  }
}

/*===========================================================*/
/* kv */
/*===========================================================*/

.kv{
  position: relative;
  display: flex;
  justify-content: center;
  picture{
    display: block;
    width: 100%;
  }
  .kv-bg{
  }
}


/*===========================================================*/
/* toc */
/*===========================================================*/


.toc{
  width: calc(100% - 4.8rem);
  position: relative;
  top: -4.5rem;
  margin: 0 auto calc(16rem - 13.8rem);
  z-index: 2;
  display: flex;
  justify-content: center;
  
  @media (max-width: 767px) {
    top: -3rem;
    /* margin: 0 auto calc(8.4rem - 4.7rem); */
     margin: 0 auto .2rem;
  }

  .toc-links{
    width: 100%;
    max-width: 990px;
    display: flex;
    gap: clamp(1.6rem, 3.48vw, 4rem);
    @media (max-width: 767px) {
      /* flex-direction: column; */
      gap: .6rem;
    }
    li{
      width: calc((100% - 8rem)/3);
      flex: 1;
      @media (max-width: 767px) {
        width: 100%;
      }
      a{
        box-shadow: 0px 4px 40px rgba(21, 24, 35, 0.12);
        position: relative;
        border-bottom: 1.5px var(--main) solid;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding-bottom: 7.1rem;
        height: 100%;
        background-color: var(--white);
        @media (max-width: 767px) {
          padding-bottom: unset;
        }
      }
    }
    .toc-num{
      position: absolute;
      left: 0;
      top: 0;
      z-index: 1;
      @media (max-width: 767px) {
        /* left: .791rem; */
        display: none;
      }
      &::before{
        content: "";
        display: block;
        mask-position: center;
        mask-size: contain;
        mask-repeat: no-repeat;
        background: linear-gradient(198.75deg, #C1D0E4 12.69%, #E7EFF3 69.73%, #F3F4F4 87.31%);
        opacity: .3;
      }
      &.--num01{
        &::before{
          width: clamp(6.37rem, 12.80vw, 14.701rem);
          aspect-ratio: 147/131.09;
          mask-image: url(../img/01.svg);
          @media (max-width: 767px) {
            width: clamp(6.37rem, 16.99vw, 14.701rem);
          }
        }
      }
      &.--num02{
        &::before{
          width: clamp(7.997rem, 15.29vw, 17.556rem);
          aspect-ratio: 175.55/132.66;
          mask-image: url(../img/02.svg);
          @media (max-width: 767px) {
            width: clamp(7.997rem, 21.33vw, 17.556rem);
          }
        }
      }
      &.--num03{
        &::before{
          width: clamp(7.418rem, 14.13vw, 16.219rem);
          aspect-ratio: 162.19/136.31;
          mask-image: url(../img/03.svg);
          @media (max-width: 767px) {
            width: clamp(7.418rem, 19.78vw, 16.219rem);
          }
        }
      }
    }
    .toc-copy{
      height: clamp(11.279774rem, 18.03vw, 20.7rem);
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 700;
      font-size: 2rem;
      line-height: 1.6;
      text-align: center;
      z-index: 2;
      @media (max-width: 767px) {
        height: auto;
        margin:1.6rem 0 1.2rem;
        font-size: 1.2rem;
        line-height: 1.5;
        letter-spacing: .01em;
      }
    }
    .toc-ttl{
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: .6rem;
      font-family: 'Cinzel', serif;
      line-height: 1;
      letter-spacing: 0;
      font-weight: 400;
      font-size: 1.8rem;
      position: absolute;
      bottom: 2.4rem;
      z-index: 2;
      text-transform: capitalize;
      @media (max-width: 767px) {
        font-size: 1rem;
        position:static;
        margin-bottom: 1rem;
      }
      i{
        width: 1.7rem;
        height: 1.7rem;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background-color: var(--main);
        background-image: url(../img/arrow.svg);
        background-size: .6rem .5rem;
        background-repeat: no-repeat;
        background-position: center;
        transform: rotate(90deg);
        @media (max-width: 767px) {
          width: 1rem;
          height: 1rem;
          background-size: .5rem .4rem;
        }
      }
    }
  }
}

/*===========================================================*/
/* concept */
/*===========================================================*/

.concept{
  /* padding-bottom: clamp(45.3rem, 41.15vw, 52rem); */
  padding: 10rem 0 9.6rem;
  @media (max-width: 767px) {
    padding: 5.4rem 0 7.2rem;
  }

}

/*===========================================================*/
/* landscape */
/*===========================================================*/


@keyframes loop-img1 {
   0% {
     transform: translateX(100%);
   }
   to {
     transform: translateX(-100%);
   }
 }
 @keyframes loop-img2 {
   0% {
     transform: translateX(0);
   }
   to {
     transform: translateX(-200%);
   }
 }

.landscape{
    display: flex;
    @media (max-width: 767px) {
    }
  .landscape-list{
      display: flex;
      flex-shrink: 0;
      /* gap: calc(72/1920 * 100vw); */
      /* padding-left: calc(72/1920 * 100vw); */
      gap: .8rem;
      padding-left: .8rem;
      @media (max-width: 767px) {
        gap: .6rem;
        padding-left: .6rem;
      }
      &:first-child {
          /* animation: loop-img1 240s -120s linear infinite; */
          animation: loop-img1 160s -80s linear infinite;
          /* animation: loop-img1 2.4s -1.2s linear infinite; */

      }
      &:last-child {
          /* animation: loop-img2 240s linear infinite; */
          animation: loop-img2 160s linear infinite;
          /* animation: loop-img2 2.4s linear infinite; */
      }
    }
    li{
      width: calc(557/1920 * 100vw);
      flex-shrink: 0;
      @media (max-width: 767px) {
        width: calc(336/375 * 100vw);
      }
      img{
        aspect-ratio: 1/1;
        object-fit: cover;
      }
    }
  }



/*===========================================================*/
/* location */
/*===========================================================*/

.location{
  background-image: url(../img/texture-white.webp);
  background-repeat: repeat;
  background-size: contain;
  @media (max-width: 767px) {
  }

  .cmn-head01__inner{
    width: auto;
  }

  .btn-link{
    box-shadow: 0px 4px 40px rgba(21, 24, 35, 0.08);
    margin-top: 4.4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .8rem;
    width: fit-content;
    max-width: 100%;
    padding: 0 2rem;
    height: 3.6rem;
    color: var(--black);
    position: relative;
    background-color: var(--white);
    letter-spacing: 0.1em;
    @media (max-width: 767px) {
      margin-top: 1.6rem;
      margin-inline: auto;
      height: 2.9rem;
      padding: 0 1.6rem;
    }
    .txt{
      z-index: 2;
      font-size: 1.6rem;
      @media (max-width: 767px) {
        font-size: 1.2rem;
      }
    }
    i{
      z-index: 2;
      width: .6rem;
      height: .5rem;
      background-color: var(--black);
      mask-image: url(../img/arrow.svg);
      mask-size: contain;
      mask-repeat: no-repeat;
      mask-position: center;
    }
  }
}


/* レイアウト
--------------------------------------------------------------------*/
.location-wrapper{
  display: flex;
  flex-direction: column;
  gap: 9.6rem;
  @media (max-width: 767px) {
    gap: 4.8rem;
  }
}
.location-container{
  display: flex;
  justify-content: space-between;
  gap: 3.2rem;

}

.location-fixed-right{
  width: calc(728 / 1920 * 100vw);
  margin-right: calc((100% - 100vw)/2 + 9.375vw);
  @media (max-width: 1024px) {
    display: none;
  }
}

.location-main{
  max-width: 50.4rem;
  @media (max-width: 1024px) {
    max-width: unset;
    width: 100%;
  }
}

.location-sp-map{
  display: none;
  @media (max-width: 1024px) {
    display: block;
    margin: 6.4rem -3.2rem 3rem;
    width: calc(100% + 6.4rem);
    img{
      display: block;
      aspect-ratio: 1/1;
      object-fit: cover;
      object-position: center;
    }
  }
}


/* 拡大移動UI　レイアウト
--------------------------------------------------------------------*/
/* .location-wrapper {
    background-image: url(../img/texture-white.webp);
    background-repeat: repeat;
    background-size: contain;
}
.location-container {
  width: 50%;
  margin-right: auto;
  display: flex;
  height: 100vh; 
}
.location-fixed-right{
  position: fixed;
  inset: 0;
  height: calc(100dvh - var(--header-height));
  margin-top: var(--header-height);
  display: flex;
  align-items: center;
  pointer-events: none;
}
.location-img-wrap {
  width: 400px;
  height: 500px;
  overflow: hidden;
  position: absolute;
  right: 0;
  opacity: 0;
  transition: opacity 0.4s ease;
}
.location-img-wrap.active {
  opacity: 1;
}
.location-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  will-change: transform;
} */





/* 近隣施設
--------------------------------------------------------------------*/
.facilities{
  /* margin-top: clamp(8rem, 14.25vw, 18rem); */
  @media (max-width: 767px) {
    /* margin-top: 8rem; */
  }
  .facilities-list{
    counter-reset: item;
    display: flex;
    flex-wrap: wrap;
    gap: 4.8rem 2.4rem;
    @media (max-width: 767px) {
      gap: 3.2rem 1.6rem;
    }
    &.--blue{
      .ttl{
        &::before{
          background-color: #37539A;
        }
      }
    }
    &.--green{
      .ttl{
        &::before{
          background-color: #096264;
        }
      }
    }
    li{
      width: calc((100% - 2.4rem)/2);
      @media (max-width: 767px) {
        width: calc((100% - 1.6rem)/2);
      }
    }
    img{
      aspect-ratio: 240/158;
      object-fit: cover;
    }
  }
  .caption{
    margin-top: 1.2rem;
    @media (max-width: 767px) {
      margin-top: .8rem;
    }
  }
  .ttl{
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.3;
    position: relative;
    counter-increment: item;
    display: flex;
    align-items: center;
    gap: .8rem;
    letter-spacing: 0.1em;
    @media (max-width: 767px) {
      font-size: 1.2rem;
      padding-inline: .6rem;
    }
    &::before{
      content: counter(item);
      background-color: #37539A;
      mask-image: url(../img/pin.svg);
      mask-size: contain;
      mask-repeat: no-repeat;
      mask-position: center;
      aspect-ratio: 23/29;
      width: 2.3rem;
      color: #fff;
      font-size: 1.2rem;
      font-weight: bold;
      font-family: 'Cinzel', serif;
      display: flex;
      align-items: center;
      justify-content: center;
      line-height: 1;
      padding-bottom: .5rem;
      padding-left: .1em;
      flex-shrink: 0;
      @media (max-width: 767px) {
        display: none;
      }
    }
  }

  .data{
    margin-top: 1.2rem;
    padding-top: 1.2rem;
    padding-inline: 1.6rem;
    border-top: dashed 1px #C7C7C7;
    font-family: "Yu Gothic","游ゴシック","YuGothic","Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",sans-serif;
    font-size: 1.2rem;
    color: #9098A2;
    font-weight: bold;
    @media (max-width: 767px) {
      font-size: 1rem;
      font-weight: 500;
      margin-top: .8rem;
      padding-top: .8rem;
      padding-inline: .6rem;
    }
  }

  .data-block{
    display: flex;
    gap: .6rem;
    align-items: center;
    justify-content: space-between;
    & + .data-block{
      margin-top: .6rem;
    }
    dt{
      display: flex;
      gap: .6rem;
      align-items: center;
      letter-spacing: 0.1em;
      position: relative;
      @media (max-width: 767px) {
        gap: .3rem;
      }
      &::before{
        content: "";
        display: block;
        background-color: #9098A2;
        mask-size: contain;
        mask-repeat: no-repeat;
        mask-position: center;
        flex-shrink: 0;
      }
      &.on-foot{
        &::before{
          mask-image: url(../img/icon-foot.svg);
          aspect-ratio: 7/15;
          width: .7rem;
          @media (max-width: 767px) {
            width: .583rem;
          }
        }

      }
      &.hours{
        &::before{
          mask-image: url(../img/icon-hours.svg);
          aspect-ratio: 1/1;
          width: 1.2rem;
          @media (max-width: 767px) {
            width: 1rem;
          }
        }
      }
    }

    dd{
      letter-spacing: 0.05em;
    }
  }

}


/*===========================================================*/
/* access */
/*===========================================================*/

.access{
  /* padding: clamp(12.3rem, 18.99vw, 24rem) 0 clamp(16.5rem, 37.97vw, 48rem); */
  @media (max-width: 767px) {
    /* padding: 12.3rem 0 21.6rem; */
  }

/* 路線図
--------------------------------------------------------------------*/
  .route{
    /* display: flex; */
    /* justify-content: space-between; */
    /* align-items: center; */
    /* gap: 7.2rem; */
    @media (max-width: 767px) {
      /* flex-direction: column; */
      /* gap: 3.2rem; */
      width: calc(100% + 6.4rem);
    }
    .route-map{
      /* width: calc(941/1500 * 100%); */
      width: 100%;
      aspect-ratio: 1200/801;
      display: block;
      @media (max-width: 767px) {
        width: 100vw;
      }
    }
    /* .route-desc{
      h3{
        font-size: 2.6rem;
        line-height: 1.8;
        letter-spacing: .2em;
        margin-bottom: 4.4rem;
        @media (max-width: 767px) {
          font-size: 2rem;
          margin-bottom: 3.2rem;
        }
      }
      p{
        font-size: 1.4rem;
        line-height: 2.5;
        @media (max-width: 767px) {
          font-size: 1.2rem;
          line-height: 2.2;
        }
      }
    } */
  }
}

/* 路線図 モーダル
--------------------------------------------------------------------*/

.js-route-modal-overlay {
  display: none;
  @media (max-width: 767px) {
    display: none;
    z-index: 999;
    position: fixed;
    inset: 0;
    align-items: center;
    justify-content: center;
    background: var(--black);
    &.is-open{
      display: flex;
    }
  }
}
.route-modal {
  background-color: var(--white);
  padding: 3.2rem 1.6rem;
  width: 100%;
  .route-modal-map{
  }
}
.js-open-route-modal{
  @media (max-width: 767px) {
    position: relative;
    &::before{
      content: "";
      display: block;
      width: 3.2rem;
      height: 3.2rem;
      background-image: url(../img/btn-open.png);
      background-size: contain;
      background-repeat: no-repeat;
      position: absolute;
      right: 1.6rem;
      bottom: 1.6rem;
    }
  }
}
.js-close-route-modal {
  position: absolute;
  bottom: 3.2rem;
  cursor: pointer;
  width: 4.4rem;
  height: auto;
}



/* 所要時間 
--------------------------------------------------------------------*/
.time-required{
  /* margin-top: clamp(9.6rem, 12.66vw, 16rem); */
  margin-top: 8rem;
  @media (max-width: 767px) {
    margin-top: 6.4rem;
  }
  .time-required-block{
    +.time-required-block{ 
      /* margin-top: clamp(8rem, 14.25vw, 18rem); */
      margin-top: 8rem;
      @media (max-width: 767px) {
        margin-top: 4.8rem;
      }
    }
  }
  .note{
    margin-top: 4rem;
    color: var(--note);
    font-size: 1rem;
    font-family: "Yu Gothic","游ゴシック","YuGothic","Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",sans-serif;
    line-height: 2;
    letter-spacing: 0;
    width: fit-content;
    margin-left: auto;
    @media (max-width: 767px) {
      margin-top: 3.2rem;
      margin-left: unset;
      line-height: 1.6;
    }
  }
}

/* 所要時間 PC 図
--------------------------------------------------------------------*/
.time-required-content{
  display: flex;
  .from{
    width: calc(182/1120 * 100%);
    background-image: url(../img/texture-block-black.jpg);
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    font-weight: 600;
    color: var(--white);
    writing-mode: vertical-rl;
    text-combine-upright: none;
    @media (max-width: 960px) {
      font-size: 1.8rem;
      width: calc(88/740 * 100%);
    }
    .txt-combine{
      -webkit-text-combine: horizontal;
      -ms-text-combine-horizontal: all;
      text-combine-upright: all;
    }
    .line{
      color: #B8B6B3;
      font-size: 1.2rem;
      font-family: "Yu Gothic","游ゴシック","YuGothic","Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",sans-serif;
      margin-bottom: 1.4rem;
      @media (max-width: 960px) {
        margin-bottom: .8rem;
      }
    }
  }
  .time-required-list{
    width: calc(100% - (182/1120 * 100%));
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    @media (max-width: 960px) {
      width: calc(100% - (88/740 * 100%));
    }
    li{
      display: flex;
      align-items: center;
      &.col3{

      }
      &.col5{

      }
    }
  }
  .center-area{
    width: calc(100% - (415/1120 * 100%));
    display: flex;
    align-items: center;
    height: 100%;
    @media (max-width: 1024px) {
      width: calc(100% - (240/1024 * 100%));
    }
    > *{
      flex: 1;
    }
  }
  .via{
    background-image: url(../img/texture-block-white.jpg);
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 13rem;
    max-width: 13rem;
    aspect-ratio: 130/54;
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: .05em;
    @media (max-width: 1024px) {
      font-size: 1.3rem;
    }
    &.--tall{
      height: calc(100% - (38/1920 * 100vw));
    }
  }
  .time{
    border-bottom: 2px dashed var(--note);
    position: relative;
    display: flex;
    justify-content: center;
    .icon-txt{
      position: absolute;
      top: -3.72rem;
      display: flex;
      gap: .8rem;
      align-items: center;
    }
    i{
      display: block;
      background-size: contain;
      background-repeat: no-repeat;
      &.on-foot{
        background-image: url(../img/icon-foot.svg);
        width: .9rem;
        height: 1.9rem;
        margin-top: .3rem;
      }
      &.by-train{
        background-image: url(../img/icon-train.svg);
        width: 2.2rem;
        height: 1.7rem;
      }
    }
    .num{
      line-height: 1.6;
      /* font-size: 2.6rem; */
      font-size: 2.2rem;
      letter-spacing: 0;
    }
    .minute{
      font-size: 1.4rem;
      line-height: 1.6;
      letter-spacing: 0;
      margin-left: -.35rem;
    }
  }
  .to{
    width: calc(415/1120 * 100%);
    @media (max-width: 1024px) {
      width: calc(240/1024 * 100%);
    }
    .station{
      aspect-ratio: 425/126;
      display: flex;
      align-items: center;
      justify-content: center;
      background-image: url(../img/texture-block-white.jpg);
      background-size: cover;
    }
    .station-name{
      font-weight: 600;
      font-size: 1.8rem;
      line-height: 1.6;
    }
  }
  .row2{
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    gap: 2.4rem 0;
    height: 100%;
  }
}


/* 所要時間 SP アコーディオン
--------------------------------------------------------------------*/
.time-required-accordion{
  .accordion-box{
    + .accordion-box{
      margin-top: .6rem;
      &.is-active{
        margin-top: 2rem;
      }
    }
    &.is-active{
      + .accordion-box{
        margin-top: 3.2rem;
      }
      .via{
        display: none!important;
      }
      .arrow{
        &::after{
          transform: rotate(-90deg);
        }
      }
      .accordion-arrow{
        transform: rotate(180deg);
      }
      .accordion-info{
        visibility: visible;
        opacity: 1;
        height: auto;
      }
    }
  }
  .accordion-btn{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 2.4rem;
    background-image: url(../img/texture-block-black.jpg);
    background-size: cover;
    cursor: pointer;
    .label{
      display: flex;
      align-items: center;
      gap: .8rem;
      .line{
        color: #B8B6B3;
        font-size: 1rem;
        letter-spacing: 0.05em;
        line-height: 1.05;
        font-family: "Yu Gothic","游ゴシック","YuGothic","Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",sans-serif;
      }
      .from{
        color: var(--white);
        font-size: 1.4rem;
        font-weight: 600;
        @media (max-width: 767px) {
          font-weight: 500;
        }
      }
      .via{
      }
    }

    .accordion-arrow{
      width: 1.7rem;
      height: 1.7rem;
    }
  }

  .accordion-info{
    transition: opacity .3s;
    visibility: hidden;
    opacity: 0;
    height: 0;
    .time{
      margin: 0 4rem;
      border-left: 2px dashed var(--note);
      position: relative;
      display: flex;
      align-items: center;
      .icon-txt{
        display: flex;
        gap: .8rem;
        align-items: center;
        padding: 1.6rem;
      }
      i{
        display: block;
        background-size: contain;
        background-repeat: no-repeat;
        &.on-foot{
          background-image: url(../img/icon-foot.svg);
          width: .9rem;
          height: 1.9rem;
        }
        &.by-train{
          background-image: url(../img/icon-train.svg);
          width: 2.2rem;
          height: 1.7rem;
        }
      }
      .num{
        line-height: 1.6;
        font-size: 2.2rem;
        letter-spacing: 0;
      }
      .minute{
        font-size: 1.4rem;
        line-height: 1.6;
        letter-spacing: 0;
        margin-left: -.35rem;
      }
    }
    .station{
        display: flex;
        align-items: center;
        padding: 2.4rem;
        background-image: url(../img/texture-block-white.jpg);
        background-size: cover;
      .station-name{
        font-size: 1.4rem;
        font-weight: 600;
      }
    }
  }
}

/*===========================================================*/
/* gallery */
/*===========================================================*/

.gallery{
  background-image: url(../img/texture-block-black02.webp);
  background-repeat: repeat;
  background-size: contain;
  @media (max-width: 767px) {
  }

  .gallery-content{
    position: relative;
    top: -5.2rem;
    margin-bottom: -5.2rem;
    display: flex;
    flex-direction: column;
    gap: 8.8rem;
    @media (max-width: 1024px) {
      top: unset;
      margin-bottom: unset;
    }
    @media (max-width: 767px) {
      gap: 4.8rem;
    }
  }
  .gallery-block{
    display: flex;
    gap: 6.4rem;
    align-items: flex-end;
    justify-content: flex-end;
    @media (max-width: 767px) {
      flex-direction: column-reverse;
      gap: 3.2rem;
      align-items: flex-start;
      justify-content: flex-start;
    }
  }

  .gallery-desc{
    position: relative;
    padding-left: 3.2rem;
    max-width: 35.5rem;
    @media (max-width: 767px) {
      padding-left: 2rem;
    }
    &::before{
      content: "";
      display:  block;
      position: absolute;
      top: .8rem;
      bottom: .8rem;
      left: 0;
      width: 1px;
      background-color: #9098A2;
      @media (max-width: 767px) {
        top: 0;
        bottom: 0;
      }
    }
    
    .ttl{
      color: #fff;
      font-weight: 500;
      font-size: 2.2rem;
      margin-bottom: 1.6rem;
      @media (max-width: 767px) {
      font-size: 1.8rem;
      margin-bottom: 1.2rem;
      }
    }
    .txt{
      color: #c7c7c7;
      line-height: 2.4;
      font-size: 1.4;
      font-weight: 500;
      font-family: "Yu Gothic","游ゴシック","YuGothic","Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",sans-serif;
      @media (max-width: 767px) {
        font-size: 1.2rem;
      }
    }
  }

.gallery-slider {
  width: calc(681/1200 * 100%);
  position: relative;
  @media (max-width: 767px) {
    width: calc(100% + 6.4rem);
    right: -3.2rem;
    left: -3.2rem;
  }
  &::before{
    content: "";
    display: block;
    width: 100%;
    height: 17rem;
    background: linear-gradient(180deg, rgba(42, 46, 53, 0) 0%, rgba(42, 46, 53, 0.5) 40.87%, rgba(42, 46, 53, 0.9) 100%);
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    @media (max-width: 767px) {
      height: 13rem;
    }
  }

  .splide__track {
  }
  .splide__list{

  }
  .splide__slide {
    user-select: none;
    img {
    aspect-ratio: 681/432;
    object-fit: cover;
    }
  }

  .slider-ctrl{
    position: absolute;
    z-index: 3;
    bottom: 2rem;
    right: 2rem;
    display: flex;
    align-items: center;
    gap: 1.6rem;
    @media (max-width: 767px) {
      position: static;
    }
  }

  .slider-counter{
    font-family: 'Cinzel', serif;
    color: var(--white);
    font-size: 1.6rem;
    @media (max-width: 767px) {
      display: none;
    }
    .current{
    }
    .slash{
    }
    .total{
    }
  }

  .slider-caption{
    max-width: 41.2rem;
    z-index: 3;
    position: absolute;
    bottom: 2rem;
    left: 2rem;
    /* margin-right: 10.8rem; */
    margin-right: calc(10.8rem + 3.2rem);
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    @media (max-width: 767px) {
      margin-right: unset;
    }
    p{
      max-width: 41.2rem;
      font-size: 1.2rem;
      color: #c7c7c7;
      font-family: "Yu Gothic","游ゴシック","YuGothic","Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",sans-serif;
      @media (max-width: 767px) {
        font-size: 1rem;
        max-width: 100%;
      }
    }
  }

  .splide__arrows{
    display: flex;
    align-items: center;
    gap:.8rem;
  }
  .splide__arrow{
    position: static;
    transform: unset;
    border: 0.5px solid #fff;
    background: transparent;
    border-radius: 50%;
    width: 2.3rem;
    height: 2.3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    @media (max-width: 767px) {
      position: absolute;
      z-index: 3;
    }
    img{
      width: .6rem;
    }
  }
  .splide__arrow--prev{
    @media (max-width: 767px) {
      left: 1.2rem;
    }
    img{
      transform: rotate(180deg);
      margin-right: .2rem;
    }
  }
  .splide__arrow--next{
    @media (max-width: 767px) {
      right: 1.2rem;
    }
    img{
      /* margin-left: .2rem; */
    }
  }
}

}


/*===========================================================*/
/* 間取り */
/*===========================================================*/

.room-plan{
  letter-spacing: .05em;
  /* padding:clamp(7.4rem, 18.99vw, 24rem) 0 clamp(8rem, 25.32vw, 32rem); */
  /* padding:19.3rem 0 19.1rem; */
  background-image: url(../img/texture-white.webp);
  background-repeat: repeat;
  background-size: contain;
  @media (max-width: 767px) {
    padding:9.2rem 0 7.2rem;
  }

  .tab-list{
    margin-bottom: 3.2rem;
    display: flex;
    gap: 2.4rem;
    @media (max-width: 767px) {
      gap: .8rem;
      margin-bottom: 2.4rem;
    }
  }
  .tab-item{
    cursor: pointer;
    background-color: var(--white);
    width: calc((100% - 7.2rem)/4);
    height: 8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    @media (max-width: 767px) {
      width: calc((100% - 2.4rem)/4);
      height: 7rem;
    }
    &.is-active,
    &:hover{
      color: var(--white);
      background-color: var(--main);
      &::after{
        @media (max-width: 767px) {
          content: "";
          display: block;
          width: 0;
          height: 0;
          border-left: .4rem solid transparent;
          border-right: .4rem solid transparent;
          border-top: .8rem solid var(--main);
          position: absolute;
          bottom: -.8rem;
        }
      }
      .tab-wrap{
        &::after{
          border-top: .5rem solid var(--white);
        }
      }
    }
  }

  .tab-wrap{
    position: relative;
    display: flex;
    flex-direction: column;
    gap: .8rem;
    align-items: center;
    padding: 2.4rem 1.6rem 1.6rem;
    @media (max-width: 767px) {
      padding: unset;
    }
    &::after{
      content: "";
      display: block;
      width: 0;
      height: 0;
      border-left: .3rem solid transparent;
      border-right: .3rem solid transparent;
      border-top: .5rem solid var(--main);
      @media (max-width: 767px) {
        display: none;
      }
    }
  }

  .tab-txt{
    font-family: 'Cinzel', serif;
    text-transform: capitalize;
    font-size: 1.8rem;
    letter-spacing: 0;
    font-weight: 400;
    line-height: 1;
    @media (max-width: 767px) {
      font-size: 1.4rem;
      display: flex;
      flex-direction: column;
      align-items: center;
      line-height: 1.1;
    }
    span{
      font-size: 2.7rem;
      margin-left: 0.8rem;
      @media (max-width: 767px) {
        font-size: 2.5rem;
        margin-left: unset;
      }
    }
  }

  .type-item{
    display: none;
    &.is-active{
      display: block;
    }
    &.--a{
      .room-num::before{
        content: "A";
      }
    }
    &.--b{
      .room-num::before{
        content: "B";
      }
    }
    &.--c{
      .room-num::before{
        content: "C";
      }
    }
    &.--d{
      .room-num::before{
        content: "D";
      }
    }
  }

  .room-img{
    background-color: var(--white);
    aspect-ratio: 1200/589;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4rem;
    @media (max-width: 767px) {
      padding: 1.6rem 0;
      aspect-ratio: 311/343;
    }
    img{
      width: 100%;
      height: 100%;
      object-fit: contain;
    }
  }
  .room-list{
    margin-top: 3.2rem;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    @media (max-width: 767px) {
      margin-top: 2.4rem;
    }
    li{
      display: flex;
    }
  }
  .room-num{
    background-image: url(../img/texture-block-black02.webp);
    width: calc(109/1200 * 100%);
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-family: 'Cinzel', serif;
    text-transform: capitalize;
    color: var(--white);
    font-weight: 400;
    font-size: clamp(1.4rem, 2.37vw, 3rem);
    letter-spacing: 0;
    position: relative;
    overflow: hidden;
    @media (max-width: 767px) {
      width: calc(42/311 * 100%);
      font-size: clamp(1.4rem, 3.73vw, 3rem);
    }
    &::before{
      line-height: 1;
      display: block;
      content: "";
      font-size: clamp(0px, calc(148 / 1200 * 100vw), 14.8rem);
      font-family: 'Cinzel', serif;
      color: rgba(144, 152, 162, .1);
      position: absolute;
      bottom: clamp(-28.8px, calc(-28.8 / 1200 * 100vw), -0px);
      right: clamp(-23.04px, calc(-23.04 / 1200 * 100vw), -0px);
    }
  }
  .room-list-inner{
    width: calc(1091/1200 * 100%);
    background-color: var(--white);
    padding: clamp(1.6rem, 2.53vw, 3.2rem) clamp(1.6rem, 4.43vw, 5.6rem);
    display: flex;
    align-items: center;
    @media (max-width: 767px) {
      padding: clamp(1.6rem, 4.27vw, 3.2rem) clamp(1.6rem, 4.27vw, 5.6rem);
      flex-direction: column;
      align-items: flex-start;
    }
  }
  .room-detail{
    display: flex;
    @media (max-width: 767px) {
      width: 100%;
      margin-bottom: 1.2rem;
      padding-bottom: 1.2rem;
      border-bottom: .1rem solid #D3D9E0;
    }

    dl{
      & + dl{
        padding-left: clamp(1.6rem, 2.53vw, 3.2rem);
        margin-left: clamp(1.6rem, 2.53vw, 3.2rem);
        border-left: 1px solid #D3D9E0;
        min-width: clamp(6.1rem, 7.59vw, 9.6rem);
        @media (max-width: 767px) {
          border-left: unset;
          padding-left: unset;
          margin-left: calc(15/375 * 100vw);
          min-width: unset;
        }
      }
      dt{
        color: var(--note);
        margin-bottom: .4rem;
        line-height: 1.6;
        font-size: clamp(1rem, 0.95vw, 1.2rem);
        font-family: "Yu Gothic","游ゴシック","YuGothic","Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",sans-serif;
        @media (max-width: 767px) {
          font-size: clamp(1rem, 2.67vw, 1.2rem);
          margin-bottom: unset;
        }
      }
      dd{
        line-height: 1.6;
        /* font-size: 2rem; */
        font-size: clamp(1.4rem, 1.58vw, 2rem);
        @media (max-width: 767px) {
          /* font-size: 1.4rem; */
          font-size: clamp(1.4rem, 3.73vw, 2rem);
        }
      }
    }
  }
  .after-area{
    display: flex;
    justify-content: space-between;
    flex: 1;
    align-items: center;
    @media (max-width: 767px) {
      width: 100%;
    }
      dl{
        /* padding-left: 3.2rem;
        margin-left: 3.2rem; */
        padding-left: clamp(1.6rem, 2.53vw, 3.2rem);
        margin-left: clamp(1.6rem, 2.53vw, 3.2rem);
        border-left: 1px solid #D3D9E0;
        /* min-width: 9.6rem; */
        @media (max-width: 767px) {
          padding-left: unset;
          margin-left: unset;
          border-left: unset;
          /* min-width: unset; */
          display: flex;
          align-items: baseline;
          gap: .4rem;
        }
        dt{
          color: var(--note);
          margin-bottom: .4rem;
          line-height: 1.6;
          /* font-size: 1.2rem; */
          font-size: clamp(1rem, 0.95vw, 1.2rem);
          font-family: "Yu Gothic","游ゴシック","YuGothic","Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",sans-serif;
          @media (max-width: 767px) {
            /* font-size: 1rem; */
            font-size: clamp(1rem, 2.67vw, 1.2rem);
            margin-bottom: unset;
          }
        }
        dd{
          font-weight: 700;
          color: #B69308;
          font-size: clamp(1.4rem, 1.27vw, 1.6rem);
          @media (max-width: 767px) {
            font-weight: 500;
            /* font-size: 1.4rem; */
            font-size: clamp(1.4rem, 3.73vw, 1.6rem);
          }
          span{
            /* font-size: 2.6rem; */
            font-size: clamp(1.8rem, 2.06vw, 2.6rem);
            line-height: 1.36;
            @media (max-width: 767px) {
              /* font-size: 1.8rem; */
              font-size: clamp(1.8rem, 4.80vw, 2.6rem);
            }
          }
        }
      }
      .txt-link{
        white-space: nowrap;
        /* font-size: 1.8rem; */
        font-size: clamp(1.4rem, 1.42vw, 1.8rem);
        font-weight: 600;
        line-height: 1.8;
        text-decoration: underline;
        text-decoration-thickness: .1rem;
        text-underline-offset: .2rem;
        display: flex;
        align-items: center;
        gap: 1.6rem;
        @media (max-width: 767px) {
          /* font-size: 1.4rem; */
          font-size: clamp(1.4rem, 3.73vw, 1.8rem);
          line-height: 1.6;
          gap: .8rem;
        }
        i{
          flex-shrink: 0;
          border-radius: 50%;
          background-color: var(--main);
          width: 4rem;
          height: 4rem;
          background-image: url(../img/arrow.svg);
          background-size: .6rem .5rem;
          background-repeat: no-repeat;
          background-position: center;
          @media (max-width: 767px) {
            width: 2.8rem;
            height: 2.8rem;
            /* background-size: .42rem .35rem; */
          }
        }
      }
  }

/* no-room
--------------------------------------------------------------------*/


  .no-room{
    @media (max-width: 767px) {
      width: 100%;
    }
  }

  .no-room-info{
    text-align: center;
    @media (max-width: 767px) {
      text-align: left;
    }
    & + .no-room-info{
      /* margin-top: 8rem; */
      margin-top: clamp(4rem, 6.33vw, 8rem);
      @media (max-width: 767px) {
        margin-top: 4rem;
      }
    }
    .no-room-ttl{
      font-size: 1.8rem;
      font-weight: 600;
      line-height: 1.6;
      @media (max-width: 767px) {
        font-size: 1.6rem;
        font-weight: 700;
        line-height: 1.8;
      }
    }
    .no-room-txt{
      margin-top: 2.4rem;
      font-size: 1.4rem;
      line-height: 2.5;
      @media (max-width: 767px) {
        margin-top: 1.2rem;
        font-size: 1.2rem;
        line-height: 2.2;
      }
    }
    .btn-wrap{
      margin-top: 4rem;
      display: flex;
      justify-content: center;
      gap: 4rem;
      flex-wrap: wrap;
      @media (max-width: 767px) {
        margin-top: 2.4rem;
        gap: .8rem;
      }
    }
    .btn-link{
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 1.6rem;
      width: 38rem;
      max-width: 100%;
      height: 7rem;
      color: var(--white);
      background: var(--main);
      @media (max-width: 767px) {
        
      }
      .txt{
        font-size: 1.8rem;
        @media (max-width: 767px) {
          font-size: 1.2rem;
        }
      }
      .en{
        font-size: 2.2rem;
        font-weight: 400;
        font-family: 'Cinzel', serif;
        text-transform: capitalize;
        letter-spacing: 0;
        @media (max-width: 767px) {
          font-size: 1.4rem;
        }
      }
      i{
        width: .6rem;
        height: .5rem;
        background-image: url(../img/arrow.svg);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
      }
    }
  }

  .no-room-msg{
    padding: 4.8rem;
    background-color: rgba(201, 208, 217, .3);
    font-weight: 700;
    font-size: 2rem;
    line-height: 2.2;
    @media (max-width: 767px) {
      padding: 2.4rem;
      font-size: 1.4rem;
      line-height: 1.8;
    }
  }

}




/*===========================================================*/
/* 物件概要 */
/*===========================================================*/

.outline{
  /* padding:clamp(5.7rem, 18.99vw, 24rem) 0 clamp(7rem, 25.32vw, 32rem); */
  /* padding:13.6rem 0; */
  @media (max-width: 767px) {
    /* padding:5.7rem 0 19.2rem; */
    /* padding:9.6rem 0; */
  }
  .outline-list{
    display: flex;
    flex-direction: column;
    border-top: 1px solid #c7c7c7;
    border-bottom: 1px solid #c7c7c7;
    @media (max-width: 767px) {

    }
    dl{
      padding: 3.2rem 4rem;
      display: flex;
      align-items: center;
      gap: 4rem;
      @media (max-width: 767px) {
        flex-direction: column;
        gap: .8rem;
        padding: 1.6rem .8rem;
        align-items: flex-start;
      }
      & + dl{
        border-top: 1px solid #c7c7c7;
      }
    }
    dt{
      font-weight: 600;
      font-size: 1.4rem;
      width: 16rem;
      @media (max-width: 767px) {
        width: 100%;
        line-height: 1.6;
        font-size: 1.2rem;
      }
    }
    dd{
      font-family: "Yu Gothic","游ゴシック","YuGothic","Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",sans-serif;
      font-weight: 500;
      color: var(--base-dark);
      width: calc(100% - 20rem);
      font-size: 1.3rem;
      @media (max-width: 767px) {
        width: 100%;
        font-size: 1.2rem;
        line-height: 1.6;
      }
    }
  }
}


/*===========================================================*/
/* お問い合わせリンク */
/*===========================================================*/


.contact{
  @media (max-width: 767px) {
  }
  .cmn-head01__ttl{
    .en{
      color: var(--white);
    }
    .ja{
      line-height: 1;
    }
  }
  .contact-bnr{
    box-shadow: 0px 4px 30px rgba(21, 24, 35, 0.2);
    display: flex;
    flex-direction: row-reverse;
    /* @media (max-width: 767px) { */
    @media (max-width: 1024px) {
      flex-direction: column-reverse;
    }
    .txt-wrap{
      position: relative;
      color: var(--white);
      background-image: url(../img/texture-block-black02.webp);
      width: calc(632/1120 * 100%);
      /* padding: 13.6rem 18rem 14.3rem; */
      padding: 
        clamp(0px, 11.33vw, 13.6rem)
        clamp(0px, 15vw, 18rem)
        clamp(0px, 11.92vw, 14.3rem);
      @media (max-width: 1400px) {
        padding: 
          clamp(0px, 11.33vw, 13.6rem)
          clamp(0px, 8.57vw, 120px)
          clamp(0px, 11.92vw, 14.3rem);
      }
      /* @media (max-width: 767px) { */
      @media (max-width: 1024px) {
        width: 100%;
        padding: 10.7rem 3.2rem 7.2rem;
      }
      .ttl{
        /* font-size: 2.8rem; */
        /* font-size: clamp(1.6rem, 2.36vw, 2.8rem); */
        font-size: 1.6rem;
        line-height: 1.5;
        font-weight: 600;
        @media (max-width: 767px) {
          font-size: 1.6rem;
          /* text-align: center; */
        }
      }
      .address{
        font-size: 1.2rem;
        color: var(--note);
        font-family: "Yu Gothic","游ゴシック","YuGothic","Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",sans-serif;
        @media (max-width: 767px) {
          margin: .6rem 0 1.6rem;
        }
      }
      .tel-link{
        font-size: 1.4rem;
        line-height: 1.5;
        @media (max-width: 767px) {
          text-decoration: underline;
        }
      }
      .btn-link{
        /* margin-top: 4.8rem; */
        /* margin-top: clamp(1.6rem, 3.80vw, 4.8rem); */
        margin-top: 6.4rem;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 2.4rem;
        /* width: 20rem; */
        width: 100%;
        max-width: 47rem;
        height: 9.8rem;
        color: var(--black);
        position: relative;
        /* background: linear-gradient(96.59deg, #100964 0%, #729BB0 76.44%, #E0E5E8 100%); */
        background-color: var(--white);
        @media (max-width: 767px) {
          gap: 1.6rem;
          height: 5.2rem;
          margin-top: 4rem;
        }
        &::before{
          content: "";
          display: block;
          position: absolute;
          z-index: 1;
          width: 100%;
          height: 100%;
          /* background: linear-gradient(276.69deg, #100964 0.64%, #729BB0 76.11%, #E0E5E8 99.36%); */
          background-color: var(--black);
          opacity: 0;
          transition: opacity 0.6s ease;
        }
        
        &:hover::before{
          /* opacity: 1; */
        }
        .txt{
          z-index: 2;
          font-size: 2rem;
          @media (max-width: 767px) {
            font-size: 1.4rem;
            line-height: 1;
          }
        }
        i{
          z-index: 2;
          width: 1rem;
          height: .9rem;
          background-color: var(--black);
          mask-image: url(../img/arrow.svg);
          mask-size: contain;
          mask-repeat: no-repeat;
          mask-position: center;
          @media (max-width: 767px) {
            width: .6rem;
            height: .5rem;
          }
        }
      }
    }
    .contact-img{
      width: calc(910/1920 * 100%);
      object-fit: cover;
      flex-shrink: 0;
      /* @media (max-width: 767px) { */
      @media (max-width: 1024px) {
        width: 100%;
        aspect-ratio: 375/259;
        /* object-position: top; */
      }
    }
  }

}


/*===========================================================*/
/* footer */
/*===========================================================*/

footer{
  .footer-content{
    padding: 2.4rem 8rem 3.2rem;
    background-size: cover;
    @media (max-width: 767px) {
      padding: 2.4rem 0 2.4rem;
    }
  }
  .footer-list{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6.4rem;
    /* @media (max-width: 767px) { */
    @media (max-width: 1024px) {
      flex-direction: column;
      gap: 2.4rem;
    }
    li{
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 1.6rem 6.4rem;
      /* @media (max-width: 767px) { */
      @media (max-width: 1024px) {
        flex-direction: column;
        gap: 1.6rem;
      }
    }
    nav{
      display: flex;
      align-items: center;
      /* gap: 3.2rem; */
      gap: clamp(1.6rem, 2.05vw, 3.2rem);
      /* @media (max-width: 767px) { */
      @media (max-width: 1024px) {
        flex-direction: column;
        gap: 1rem;
      }
      a{
        white-space: nowrap;
        display: block;
        font-size: 1.4rem;
        font-weight: 400;
        font-family: "Yu Gothic","游ゴシック","YuGothic","Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",sans-serif;
        @media (max-width: 767px) {
          font-size: 1.2rem;
          line-height: 1.6;
          text-decoration: underline;
        }
      }
    }
    .footer-logo{
      width: 26.4rem;
      aspect-ratio: 264/26;
      /* @media (max-width: 767px) { */
      @media (max-width: 1024px) {
        width: 23.5rem;
      }
    }
  }
  .copy{
    font-family: "Yu Gothic","游ゴシック","YuGothic","Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",sans-serif;
    font-weight: 400;
    font-size: 1rem;
    /* @media (max-width: 767px) { */
    @media (max-width: 1024px) {
      color: var(--note);
      letter-spacing: 0;
    }
  }
}

