@charset "UTF-8";
/*==================
#loading
==================*/
.loading {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #FFF;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  opacity: 1;
  visibility: visible;
}

.loading.is-active {
  opacity: 0;
  visibility: hidden;
}

.loading-animation {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: var(--primary-brown);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
}

.loading-animation.is-active {
  opacity: 1;
  visibility: visible;
}

.loading-animation img{
    width: 12.2vw;
}

/* ====================
header
======================= */
.section__topic{
    font-family: "Cormorant Garamond";
    font-weight: 500;
    font-size: 3.2rem;
    line-height: 1;
    letter-spacing: 3.2px;
    text-align: center;
}

@media screen and (min-width:769px) {
    .logo__sp{
        display: none;
    }
}

/* ====================
viewMore
======================= */
.viewMore{
    font-family: "Cormorant Garamond";
    font-size: 1.4rem;
    line-height: 1;
    text-align: right;
    width: 100%;
}

.viewMore a{
    position: relative;
    padding-bottom: 15px;
    position: relative;
    font-size: 1.6rem;
    padding: 15px 60px 15px 10px;
}

.viewMore a::before{
    position: absolute;
    right: 0;
    bottom: 0;
    content: "";
    display: block;
    width: 100%;
    height: 10px;
    border: solid var(--primary-white);
    border-width: 0 1px 1px 0;
    transform: skewX(45deg);
    transition: 0.3s ease-in-out;
}

.viewMore a:hover::before{
    translate: 30px 0;
}

/* ====================
main
======================= */
/* article__header */
.mainVisual{
    position: relative;
}

.mainVisual-img{
    width: 100%;
}

.mainImg_catchcopy{
    font-size: clamp(2rem,5vw,4rem);
    line-height: 1.5;
    letter-spacing: 3px;
    position: absolute;
    left: 5%;
    top: 48%;
    text-shadow: 1px 1px 3px #787473;
}

/* article__header pc */
@media screen and (min-width:769px) {
    .mainImg_catchcopy{
        top: 53%;
}
}

/* main */
.mainCopy_txt{
    font-size: 2rem;
    line-height: 2.2;
    letter-spacing: 4px;
    padding: 70px 28px;
    text-align: center; 
}

.section__mainImg{
    position: relative;  
    margin-left: auto; 
    width: 91.5%;
}

.section__container{
    padding: 88px 8.5%; 
    display: flex;
    flex-direction: column;
    gap: 32px;   
    background-color: var(--primary-brown);
    margin-top: -7%;
}

.section__topic--about{
    text-align: left;
}

.section__title{
    font-size: 1.8rem;
    line-height: 2;
}

.section__txt{
    font-size: 1.4rem;
    line-height: 1.8; 
}

.section__subImg{
    max-width: 312px;
    margin: -7% auto auto;
}

.section__subImg img{
    width: 39%;
}

/* main pc */
@media screen and (min-width:769px) { 
    .sp__br{
        display: none;
    }

    .mainTitle{
        height: 400px;
        text-align: left;
        padding: 132px 13vw 143px;   
    }

    .mainCopy_txt{
        text-align: left;
        font-size: 2.8rem;
        letter-spacing: 5.88px;
        padding: 0;
    }

    .section__topic{
        font-size: 6.4rem;
        letter-spacing: 9.6px;
    }

    .section__title{
        font-size: 2rem;
        line-height: 2.1;
    }

    .section__txt{
        font-size: 1.6rem;
        line-height: 2.1;
    }

    .section__mainContainer{
        position: relative;
    }
        
    .section__mainImg{
        position: absolute;
        right: 0;
        top: -162px;
        width: 42.7%;
        max-width: 900px;
    }

    .section__container{
        max-width: 880px;
        margin: 0 auto;
        height: 674px;
        padding: 0 4.5%; 
    } 

    .section__subImg{
        max-width: 1360px;
        margin: auto;
        margin: -216px auto 0;
    }

    .section__subImg img{
        width: 18.2%;
    }
    }

@media screen and (min-width:1025px) {
    .section__container{
        max-width: 1240px;
        padding: 81px 34% 81px 145px;
    }  
}

/* About */
.about__txt{
    padding: 80px 8.5% 58px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    text-align: center;
    line-height: 2.1;
}

.about__title{
    font-size: 2rem;
}

.about__txt p{
    font-size: 1.8rem;
}

/* About pc */
@media screen and (min-width: 769px) {
    .about__txt{
        gap: 54px;
    }
    
    .about__title{
        font-size: 3.2rem;
    }

    .about__txt p{
        font-size: 2rem;
    }

}

/* Menu */
.menu{
    font-size: 1.4rem;
    line-height: 2.1;
}

.menu__container{
    padding: 70px 8.5%;
    background-color: var(--primary-brown);
}

.menu__item{
    padding: 40px 0;
}

.menu__content1,
.menu__content2{
    max-width: 280px;
}
.menu__pc{
    display: none;
}

.menu__item p{
    margin-top: 24px;
}

.menu__content2{
    margin-left: auto;
}

.viewMore--pc{
    display: none;
}

/* Menu pc */
@media screen and (min-width: 769px) {
    .menu{
        font-size: 1.6rem;
    }

    .menu__container{
        position: relative;
        padding: 0;
        background-color: transparent;
        max-width: 1312px;
        margin: 0 auto;
    }

    .menu__container::before{
        display: block;
        content: '';
        background: var(--primary-brown);
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        transform: scale(95%);
        z-index: -1;
    }

    .section__topic--sp{
        display: none;
    }

    .menu__item{
        padding: 0;
    }

    .menu__item p{
        margin-top: 0;
    } 

    .menu__content1,
    .menu__content2{
        max-width: 1312px;
        display: flex;    
    }

    .menu_explanation1{
        margin: 90px 0 0 60px;
    }

    .menu__content-pc{
        margin-top: 59px;
    }

    .menu__content2{
        flex-direction: row-reverse;
    }

    .menu_explanation2{
        padding: 119px 107px 152px;
    }
    
    .menu__pc{
        display: block;
        font-family: "Cormorant Garamond";
        font-size: 6.4rem;
        font-weight: 500;
        line-height: 1; 
        letter-spacing: 9.6px;
    }

    .menu__title--canule{
        margin-top: 54px;
    }

    .viewMore--sp{
        display: none;
    }

    .viewMore--pc{
        display: block;
        margin-top: 50px;
    }

    .viewMore--pc a{
        margin-right: 120px;
    }
}

@media screen and (min-width: 1025px) {
    .menu_explanation1{
        margin-left: 120px;
    }

    .viewMore--pc a{
        margin-right: 255px;
    }
}

/* Space */
.space__container{
    padding: 70px 0 0;
}

.space__mainImg{
    margin-top: 49px;
    position: relative;
    margin-right: auto;
}

.space__txt{
    padding: 150px 8.5%;
    background-color: var(--primary-brown);
    margin-top: -96px;
}

.space__pc{
    display: none;
}

.space__txt p{
    font-size: 1.4rem;
    line-height: 1.8;
}

.space__txt2{
    margin-top: 16px;
}

.viewMore--space{
    margin-top: 21px;
}

.space_pictures{
    padding: 0 4.2%;
}

.space__subImg1{
    margin-top: -94px;
    margin-left: auto;
}

.space__subImg2{
    text-align: right;
    margin-top: 25px;
}

/* Space pc */
@media screen and (min-width: 769px) {
    .space__container{
        padding: 236px 0 0;
        max-width: 1240px;
        margin: 0 auto;
        position: relative;
    }

    .space__mainImg{
        position: absolute;  
        z-index: 2;  
        margin: 0;
        top: 195px;
        left: 40px;
    }

    .space__txt{
        position: relative;
        max-width: 880px;
        margin: 0 auto;
        margin-top: 0;
        padding: 79px 9.8% 179px;
        padding-left: 46%;
    }

    .space__pc{
        display: block;
        font-family: "Cormorant Garamond";
        font-size: 6.4rem;
        font-weight: 500;
        line-height: 1;
        letter-spacing: 9.6px;
    }

    .space__txt p{
        font-size: 1.6rem;
        line-height: 1.8;
    }

    .space__maincopy{
        margin-top: 120px;
    }

    .space__txt2{
        margin-top: 16px;
    }

    .viewMore--space{
        margin-top: 49px;
    }

    .space_pictures{
        padding: 0 4.2%;
    }

    .space__subImg1{
        margin-top: -94px;
        margin-left: auto;
        position: absolute;
        bottom: 38px;
        left: 35px;
    }

    .space__subImg2{
        text-align: right;
        margin-top: 25px;
        position: absolute;
        bottom: -17px;
        left: 267px;
    }
}

@media screen and (min-width:1025px) {
    .space__txt{
        max-width: 1240px;
    }

    .space__subImg1{
        margin-top: -94px;
        left: -50px;
    }
}

/* Information */
.information__container{
    padding: 70px 8.5% 58px;
    font-size: 1.4rem;
    line-height: 1;
}

.information__content{
    flex-direction: column;
    display: flex;
    gap: 20px;
}

.information__map{
    margin-top: 40px;
}

.information__topic{
    margin-top: 40px;
}

.information__txt{
    display: flex;
    margin-top: 20px;
}

.information__txt:first-of-type{
    margin-top: 0;
}

.information__txt dt{
    font-weight: 400;
}

.information__title{
    width: 30%;
}

.information__smoking{
    margin-top: 20px;
}

.information__detail{
    width: 70%;
}

.information__txt--address{
    line-height: 1.5;
}

.viewMore--map{
    margin-top: 44px;
    text-align: end;
    font-family: "Shippori Mincho";
}

/* Information pc */
@media screen and (min-width: 769px) {
    .information__container{
        padding: 231px 0 179px;
        font-size: 1.6rem;
        line-height: 1;
        max-width: 880px;
        margin: 0 auto;
    }

    .information__map{
        margin-top: 112px;
        display: flex;
        justify-content: center;
    }

    .mapImg{
        width: 50%;
    }

    .information__content{
        width: 50%;
        padding-left: 60px;
    }

    .information__info{
        line-height: 1.5;
    }

    .information__topic{
        margin-top: 15px;
    }

    .information__txt{
        margin-top: 40px;
    }

    .information__title{
        width: 40%;
    }

    .information__detail{
        width: 60%;
    }

    .information__smoking{
        margin-top: 42px;
    }

    .viewMore--map{
        font-size: 1.6rem;
    }

    .viewMore--map a{
        padding-bottom: 24px;
    }
}

@media screen and (min-width:1025px) {
    .information__container{
        max-width: 1240px;
    }    

    .information__content{
        padding-left: 123px;
    }
}

/* ====================
zoom
======================= */
.main__picture{
    width: 100%;
    aspect-ratio: 363/570;
    overflow: hidden;
    position: relative;
}

.mainVisual-img{
    scale: 1.3;
    position: absolute;
    left: 50%;
    top: 50%;
    translate: -50% -50%;
    animation: zm 5s ease-in-out;
    animation-fill-mode: forwards;
}

@keyframes zm{
    0%{scale: 1.3;}
    100%{scale: 1;}
}

/* zoom pc */
@media screen and (min-width: 769px) {
    .main__picture{
    aspect-ratio: 1430/974
}

.mainVisual-img{
    scale: 1.5;
}

@keyframes zm{
    0%{scale: 1.5;}
    100%{scale: 1;}
}
}