/* ------------------------------ 
リニューアル後 
------------------------------ */

.mv-slide .img-wrapper{
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    overflow: hidden;
}

.mv-slide .img-wrapper .fit-img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.kodo02 .img-wrapper{
    width: min(60%,720px);
    margin: 0 auto;
    padding-block: 15px 10px;
  }

  .kodo03{
    width: 100%;
    height: 100%;
    background-image: url(../img/home/svg/top-banner-bg.svg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    z-index: 1;
  }

  .kodo03 .img-wrapper{
    width: min(65%,913px);
    margin: 0 auto;
    padding-block: 15px;
  }

  .kodo03 .img-wrapper img{
    width: 100%;
    margin-inline: auto;
    height: 100%;
    object-fit: contain;
  }

  .kodo04 .img-wrapper{
    width: min(80%,1200px);
    margin: 0 auto;
    padding-block: 25px;
  }

  .kodo05 .img-wrapper a{
    display: block;
    width: 100%;
    height: 100%;
  }

  .kodo05 .img-wrapper a:hover{
    filter: brightness(1.15);
  }


  .kodo05 .img-wrapper{
    width: min(80%,1200px);
    margin: 0 auto;
    filter: drop-shadow(2.42px 2.42px 2.42px rgba(0, 0, 0, 0.7));
  }
  
  @media screen and (max-width: 767px) {
    .kodo02{
        margin-top: -2px;
    }
    .kodo02 .img-wrapper{
      width: 88%;
      padding-block: 15px;
    }
    .kodo03{
        min-height: 100px;
        background-image: url(../img/home/svg/sp-top-banner-bg.svg);
        background-size: 100%;
        background-position: center;
        background-repeat: no-repeat;
        display: grid;
        place-items: center;
    }
    .kodo03 .img-wrapper{
      width: 80%;
      padding-block: 7px;
    }
    .kodo04 .img-wrapper{
        width: 84%;
        padding-block: 15px 25px;
    }
    .top-banner{
        width: 90%;
        margin-inline: auto;
    }
  }


  .kodo-inner{
    margin-top: -1px;
    width: 100%;
    height: 100%;
    position: relative;
    &::before{
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 115%;
        background-image: url(../img/home/svg/top-bg.svg);
        background-size: 100%;
        background-position: top;
        background-repeat: no-repeat;
    }
  }

  .kodo .img-wrapper{
    width: min(100%,1200px);
    margin: 0 auto;
  }
  
  
  .top-banner .two-column{
    margin-block-start: 20px;
    width: min(80%,1200px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    @media screen and (max-width: 767px) {
        width: 90%;
        margin-block-start: 20px;
        grid-template-columns: 1fr;
    }
  }
  
  .two-column .banner-item-01,
  .two-column .banner-item-02{
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
  }
  
  .banner-item-text{
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #fff;
  }
  
  .banner-item-text .text-top{
    font-size: clamp(15px, 1.94vw, 28px);
    line-height: 2;
    letter-spacing: 0.2em;
    font-weight: 700;
    text-shadow: 2px 2px 12px rgba(24, 43, 74, 0.6);
  }
  
  .banner-item-text .text-bottom{
    width: 101px;
    height: 20px;
    font-size: 9px;
    line-height: 1.5;
    letter-spacing: 0.2em;
    display: grid;
    place-items: center;
    background-image: url(../img/home/svg/baneer-text-bg.svg);
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    &::before{
      content: '';
      position: absolute;
      top: 50%;
      right: 0;
      width: 8px;
      height: 8px;
      background-image: url(../img/home/svg/banner-item.svg);
      background-size: contain;
      background-repeat: no-repeat;
      transform: translateY(-50%);
    }
  }

  /* ------------------------------ 
  アクセス
  ------------------------------ */
  
  

 .access-section{
    margin-top: 63px;
    background-image: url(../img/home/svg/access-bg.svg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    @media screen and (max-width: 767px) {
        margin-top: 30px;
    }
 } 

 .access-section .inner{
    padding-bottom: 63px;
    display: flex;
    flex-direction: column;
    gap: 90px;
    @media screen and (max-width: 767px) {
        gap: 50px;
    }
    @media screen and (max-width: 480px) {
        gap: 30px;
        padding-bottom: 50px;
    }
 }

 .access-section .access-item{
    position: relative;
 }

 .access-section .access-item .img-wrapper{
    width: 100%;
    height: 100%;
 }

 .access-section .access-item .img-wrapper img{
    width: 100%;
    height: 100%;
    object-fit: cover;
 }

 .access-section .access-item .access-title-img{
    position: absolute;
    top: 45%;
    left: 22%;
    transform: translate(-50%, -50%);
    width: 21.43%;
    @media screen and (max-width: 767px) {
        width: 35%;
        top: 40%;
        left: 25%;
    }
 }

 .access-section .access-item .access-title{
    position: absolute;
    top: 53%;
    left: 18%;
    font-size: clamp(13px, 1.53vw, 22px);
    line-height: 3.6;
    letter-spacing: 0.2em;
    font-weight: 500;
    color: #a89d5d;
    @media screen and (max-width: 767px) {
        top: 55%;
        left: 15%;
    }
    @media screen and (max-width: 480px) {
        top: 57%;
        left: 13%;
        line-height: 1.5;
    }
 }
  
  .access-content-inner{
    width: calc(100% - 40px);
    margin-inline: auto;
    display: flex;
    gap: 90px;
    @media screen and (max-width: 1024px) {
        gap: 50px;
    }
    @media screen and (max-width: 767px) {
        flex-direction: column-reverse;
        gap: 30px;
    }
}

  .access-content-inner .access-img-content{
    flex: 0 0 53%;
    @media screen and (max-width: 767px) {
        flex: 0 0 100%;
    }
  }

  .access-content-inner .access-text-content{
    flex: 1 1 auto;
  }

.access-content-text{
    margin-inline-start: auto;
    margin-block-start: 15px;
    margin-inline-end: 10%;
    width: 63%;
    aspect-ratio: 456 / 107;
    @media screen and (max-width: 767px) {
       margin-inline: auto;
       margin-block-start: 5px;
    }
}

.access-content-text img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.access-text-content{
    display: flex;
    flex-direction: column;
    gap: 80px;
    position: relative;
    &::before{
        content: 'image';
        font-size: 10px;
        display: flex;
        justify-content: flex-end;
        align-items: flex-end;
        position: absolute;
        bottom: 10%;
        right: 13%;
        width: 29.03%;
        aspect-ratio: 1 / 1;
        background-image: url(../img/home/access-item02.webp);
        background-size: 100%;
        background-position: center;
        background-repeat: no-repeat;
    }
    @media screen and (max-width: 1024px) {
        &::before{
            right: 6%;
            bottom: 5%;
        }
    }
    @media screen and (max-width: 767px) {
        gap: 10px;
        &::before{
            width: 25%;
            right: 5%;
            bottom: 2%;
        }
    }
    @media screen and (max-width: 480px) {
        &::before{
            right: 2%;
            bottom: 0;
        }
    }
}

.access-text-content-text{
    display: flex;
    flex-direction: column;
    gap: 10px;
    @media screen and (max-width: 1024px) {
        gap: 0;
    }
}
.access-text-content-text .text{
    font-size: clamp(16px, 1.8vw, 28.8px);
    line-height: 2.5;
    letter-spacing: 0.1em;
    font-weight: 500;
    color: #333;
    @media screen and (max-width: 1024px) {
        line-height: 2;
    }
    @media screen and (max-width: 370px) {
        font-size: 14px;
    }
}

.access-text-btn{
    width: 28%;
    height: 100%;
    @media screen and (max-width: 480px) {
        width: 38%;
    }
}

.access-text-btn .fit-img:hover{
    transform: translateX(20px) scale(1.1);
}

.access-text-btn img{
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 147 / 70;
    object-fit: contain;
    transition: all 0.3s ease;
}

/* ------------------------------ 
ロケーション
------------------------------ */


.location-section{
    width: 100%;
    height: 100%;
    background-image: url(../img/home/location-bg.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.location-section .inner{
    padding-block-end: 63px;
    display: flex;
    flex-direction: column;
    gap: 90px;
    @media screen and (max-width: 767px) {
        gap: 30px;
    }
 }

 .location-section .location-item{
    position: relative;
 }


 .location-section .location-item .img-wrapper{
    width: 100%;
    height: 100%;
 }
 
 .location-section .location-item .img-wrapper img{
    width: 100%;
    height: 100%;
    object-fit: cover;
 }

 .location-section .location-item .location-title-img{
    position: absolute;
    top: 45%;
    left: 76%;
    transform: translate(-50%, -50%);
    width: 28.5%;
    @media screen and (max-width: 767px) {
        width: 45%;
        top: 40%;
        left: 70%;
    }
 }

 .location-section .location-item .location-title{
    position: absolute;
    top: 53%;
    left: 73%;
    transform: translateX(-50%);
    font-size: clamp(12px, 1.53vw, 22px);
    line-height: 3.6;
    letter-spacing: 0.2em;
    font-weight: 500;
    color: #a89d5d;
    @media screen and (max-width: 480px) {
        line-height: 1.5;
        top: 55%;
        left: 74%;
    }
 }

 .location-content-inner{
    width: calc(100% - 40px);
    margin-inline: auto;
    display: flex;
    justify-content: center;
    gap: 20px;
    @media screen and (max-width: 767px) {
        flex-direction: column;
        gap: 30px;
    }
  }

  .location-content-inner .location-img-content{
    flex: 0 0 55%;
  }

  .access-content-inner .location-text-content{
    flex: 1 1 auto;
  }




.location-text-content{
    margin-block-start: 2.5%;
    display: flex;
    flex-direction: column;
    gap: 25%;
    position: relative;
    &::before{
        content: 'image';
        font-size: 10px;
        display: flex;
        justify-content: flex-end;
        align-items: flex-end;
        position: absolute;
        bottom: 10%;
        right: 0;
        width: 40%;
        aspect-ratio: 1 / 1;
        background-image: url(../img/home/location-item02.webp);
        background-size: 100%;
        background-position: center;
        background-repeat: no-repeat;
    }
    @media screen and (max-width: 1024px) {
        &::before{
            right: 0;
            bottom: 5%;
            width: 35%;
        }
    }
    @media screen and (max-width: 767px) {
        gap: 30px;
        &::before{
            width: 25%;
            right: 10%;
            bottom: 0;
        }
    }
    @media screen and (max-width: 480px) {
        &::before{
            right: 2%;
        }
    }
}

.location-text-content-text{
    display: flex;
    flex-direction: column;
    gap: 15px;
    @media screen and (max-width: 1024px) {
        gap: 5px;
    }
}
.location-text-content-text .text{
    font-size: clamp(16px, 1.8vw, 28.8px);
    line-height: 2.5;
    letter-spacing: 0.1em;
    font-weight: 500;
    color: #333;
    @media screen and (max-width: 1024px) {
        line-height: 2;
    }
    @media screen and (max-width: 480px) {
       line-height: 1.5;
    }
    @media screen and (max-width: 370px) {
        font-size: 14px;
    }
}

.location-text-btn{
    width: 35%;
    height: 100%;
    @media screen and (max-width: 767px) {
        width: 28%;
    }
    @media screen and (max-width: 480px) {
        width: 38%;
    }
}

.location-text-btn img{
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 147 / 70;
    object-fit: contain;
    transition: all 0.3s ease;
}

.location-text-btn .fit-img:hover{
    transform: translateX(20px) scale(1.1);
}


/* ------------------------------ 
プラン
------------------------------ */


.plan-section .inner{
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    @media screen and (max-width: 767px) {
        grid-template-columns: 1fr;
    }
}

.plan-img-wrapper{
    width: 100%;
    position: relative;
}

.plan-img-wrapper .plan-title-img{
    position: absolute;
    top: 45%;
    left: 31%;
    transform: translate(-50%, -50%);
    width: 30%;
}

.plan-img-wrapper .plan-title{
    position: absolute;
    top: 53%;
    left: 30%;
    transform: translateX(-50%);
    font-size: clamp(12px, 1.53vw, 22px);
    line-height: 3.6;
    letter-spacing: 0.2em;
    font-weight: 500;
    color: #fff;
    @media screen and (max-width: 767px) {
        top: 55%;
    }
}

.plan-img-wrapper img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.plan-content{
    padding: 6.5% 7.5%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 50px;
    position: relative;
    &::before{
        content: '';
        position: absolute;
        top: -1px;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url(../img/home/svg/plan-bg.svg);
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        z-index: -1;
    }
    @media screen and (max-width: 767px) {
        padding: 6.5% 5%;
        gap: 30px;
    }
}

.plan-text-content{
    font-size: clamp(16px, 1.8vw, 23.8px);
    line-height: 1.75;
    letter-spacing: 0.2em;
    font-weight: 600;
}

.plan-text-content sub{
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: 0.1em;
    font-weight: 500;
}

.plan-item-inner{
    width: 80%;
    display: flex;
    align-items: flex-end;
    gap: 10%;
    @media screen and (max-width: 767px) {
        width: 100%;
    }
}

.plan-section .plan-item{
    flex: 0 0 45%;
}


.plan-section .plan-item-02{
    width: 70%;
}
.plan-section .plan-item img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}


.plan-btn{
    margin-block-start: 10%;
    display: block;
    width: 80%;
    aspect-ratio: 147 / 70;
    @media screen and (max-width: 767px) {
        width: 70%;
    }
    @media screen and (max-width: 480px) {
        width: 84%;
    }
}

.plan-btn .fit-img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: all 0.3s ease;
}

.plan-btn .fit-img:hover{
    transform: translateX(20px) scale(1.1);
        @media screen and (max-width: 480px) {
        transform: translateX(15px) scale(1.05);
    }
}

/* ------------------------------ 
設備・仕様
------------------------------ */


.installation-section .inner{
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
}
@media screen and (max-width: 767px) {
    .installation-section .inner{
        grid-template-columns: 1fr;
    }
    .installation-content{
        order: 2;
    }
    .installation-img-wrapper{
        order: 1;
    }
}


.installation-img-wrapper{
    width: 100%;
    position: relative;
}

.installation-img-wrapper .installation-title-img{
    position: absolute;
    top: 50%;
    left: 60%;
    transform: translate(-50%, -50%);
    width: 50%;
}

.installation-img-wrapper .installation-title{
    position: absolute;
    top: 53%;
    left: 60%;
    transform: translateX(-50%);
    font-size: clamp(12px, 1.53vw, 22px);
    line-height: 3.6;
    letter-spacing: 0.2em;
    color: #fff;
    font-weight: 500;
    @media screen and (max-width: 767px) {
        top: 55%;
    }
}

.installation-img-wrapper img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.installation-content{
    padding: 6.5% 7.5%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    position: relative;
    &::before{
        content: '';
        position: absolute;
        top: -1px;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url(../img/home/svg/installation-bg.svg);
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        z-index: -1;
    }
    @media screen and (max-width: 767px) {
        padding: 6.5% 5%;
        gap: 10px;
    }
}



.installation-text{
    font-size: clamp(16px, 1.5vw, 28.8px);
    line-height: 1.5;
    letter-spacing: 0.2em;
    font-weight: 600;
    text-align: center;
}

.installation-text .fs-40{
    display: inline-block;
    font-size: clamp(20px, 2.6vw, 40px);
}

.installation-text .fs-35{
    display: inline-block;
    font-size: clamp(15px, 2vw, 35px);
}

.installation-text .fs-48{
    display: inline-block;
    font-size: clamp(24px, 3vw, 48px);
}


.installation-item-inner{
    width: 80%;
    display: flex;
    gap: 20%;
    @media screen and (max-width: 767px) {
        width: 100%;
        gap: 10%;
    }
}

.installation-section .installation-item-01{
    flex: 0 0 43%;
    @media screen and (max-width: 767px) {
        flex: 0 0 45%;
    }
}

.installation-section .installation-item-02{
    flex: 0 0 37%;
    @media screen and (max-width: 767px) {
        flex: 0 0 45%;
    }
}

.installation-section .installation-item-02 img{
    width: 70%;
    @media screen and (max-width: 767px) {
        width: 100%;
    }
}

.installation-section .installation-item img{
    width: 100%;
    object-fit: contain;
}

.installation-btn-wrapper{
    width: 80%;
    @media screen and (max-width: 767px) {
        width: 95%;
    }
}

.installation-btn{
    display: block;
    width: 37%;
    @media screen and (max-width: 767px) {
        width: 33%;
    }
    @media screen and (max-width: 480px) {
        width: 40%;
    }
}

.installation-btn .fit-img{
    display: block;
    width: 100%;
    aspect-ratio: 147 / 70;
    object-fit: contain;
    transition: all 0.3s ease;
}

.installation-btn .fit-img:hover{
    transform: translateX(20px) scale(1.1);
    @media screen and (max-width: 480px) {
        transform: translateX(15px) scale(1.05);
    }
}


/* ------------------------------ 
その他
------------------------------ */

.more-section{
    margin-top: 63px;
    width: min(100% - 40px, 1200px);
    margin-inline: auto;
    @media screen and (max-width: 767px) {
        margin-top: 30px;
    }
}

.more-section-heading{
    width: 100%;
    border-bottom: 0.64px solid #a89d5d;
}

.more-section-heading .fit-img{
    display: block;
    width: 28.5%;
    object-fit: contain;
    padding-bottom: 20px;
    @media screen and (max-width: 480px) {
        width: 40%;
        padding-bottom: 10px;
    }
}

.more-section-items{
    margin-block-start: 50px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    @media screen and (max-width: 767px) {
        margin-block-start: 20px;
        grid-template-columns: 1fr;
        gap: 10px;
    }
}

.more-section-item{
    position: relative;
    overflow: hidden;
}
.more-section-item:hover {
    filter: brightness(1.5);
}

.more-section-item .more-section-item-img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.more-section-item-inner{
    position: absolute;
    top: 63%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    @media screen and (max-width: 767px) {
        top: 45%;
    }
}

.more-section-title01{
    width: 100%;
    position: relative;
    &::before{
        content: '';
        position: absolute;
        top: 20%;
        left: 0;
        width: 100%;
        height: 0.64px;
        background-color: #a89d5d;
    }
    &::after{
        content: '';
        position: absolute;
        bottom: 43%;
        left: 0;
        width: 100%;
        height: 0.64px;
        background-color: #a89d5d;
    }
}

.more-section-title01 .fit-img{
    display: block;
    width: 30%;
    margin-inline: auto;
    object-fit: contain;
}


.more-section-title02{
    width: 100%;
    margin-block-end: 30px;
    position: relative;
    &::before{
        content: '';
        position: absolute;
        top: 30%;
        left: 0;
        width: 100%;
        height: 0.64px;
        background-color: #a89d5d;
    }
    &::after{
        content: '';
        position: absolute;
        bottom: 2%;
        left: 0;
        width: 100%;
        height: 0.64px;
        background-color: #a89d5d;
    }
    @media screen and (max-width: 480px) {
        margin-block-end: 15px;
    }
}

.more-section-title02 .fit-img{
    display: block;
    width: 50%;
    margin-inline: auto;
    object-fit: contain;
}


.more-section-item-text{
    color: #fff;
    font-size: clamp(16px, 1.25vw, 22px);
    line-height: 1.75;
    letter-spacing: 0.2em;
    font-weight: 600;
    text-align: center;
}


.more-section-item-btn{
    width: 27%;
}

.more-section-item-btn .fit-img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    aspect-ratio: 147 / 65;
}


.general-section .inner{
    width: min(100% - 40px, 1200px);
    margin-inline: auto;
}
