@charset "UTF-8";

/* 共通部分 */

html{
    font-size: 100%;
}
body{
    font-family: "Yu Gothic Medium","游ゴシック Medium", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", sans-serif;
    line-height: 1.7;
    color: #1c1c1c;
}
a{
    text-decoration: none;
}
img{
    max-width: 100%;
}

.logo{
    width: 210px;
    margin-top: 14px;
}

.insta-logo{
    width: 20%
    
}


.main-nav{
    display: flex;
    font-size: 1.25rem;
    text-transform: uppercase;
    margin-top: 34px;
    list-style: none;
}

.main-nav li{
    margin-left: 36px;
}

.main-nav a{
    color: #fff;
}

.main-nav a:hover{
    color: #0bd;
}

.page-header{
    display: flex; /*横並びにするやつ*/
    justify-content: space-between;
    /* 要素を右端，左端にする */
    /* background-color: black;  */
    /* 背景色を黒に設定 */
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 4%;
}

.wrapper{
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 4%;
}

footer{
    background: #432;
    text-align: center;
    padding: 26px 0;
}

footer p{
    color: #fff;
    font-size: 0.875rem;
}


/* home */

.home-content{
    text-align: center;
    margin-top: 10%;
}
.home-content p{
    font-size: 1.5rem;
    padding: 50px 0 42px;
    color: #fff;
    /* line-height: 0.25; */
}

.page-title-home{
    font-size: 2.5rem;
    font-family: 'Philosopher', sans-serif;
    text-transform: uppercase;
    font-weight: normal;
    color: #fff;
}

.home-content h3{
    font-size: 1rem;
    font-family: 'Philosopher', sans-serif;
    text-transform: uppercase;
    font-weight: normal;
    color: #fff;
    padding-top: 60px;
}

.home-centence1{
    /* padding: 2.5px; */
    /* margin-top: 35px; */
    /* line-height: 0.1px; */
    text-align: left;
    /* width: 100%; */
}


.home-content2{
    /* font-size: 3.5rem; */
    font-family: 'Philosopher', sans-serif;
    text-transform: uppercase;
    font-weight: normal;
    color: #000;
    text-align: center;
    /* margin-top: 5%;
    margin-bottom: 5%; 
    */
}

.img-wrapper1{
    padding: 5%;
    padding-top: 50px;
    font-size: 1.5rem;
}

.text-wrapper0{
    padding: 5%;
    font-size: 1.5rem;
}

.text-wrapper1{
    padding: 5%;
    font-size: 2.5rem;
}

.sns-wrapper{
    /* text-align: center; */
    display: inline-block;
    transform: scale(1.5);
    transform-origin: center center;
    width: 540px * 1.5; /* 埋め込みコンテンツの幅を1.5倍にします */
    overflow: auto;
}


.instagram-media{
    text-align: center;
}


.phone-number-box{
    padding: 5%;
    font-size: 2rem;
    background: rgb(12, 195, 134);
    color: #fff;
    border-radius: 5px;
    padding: 18px 32px;
}


.content-title2{
    border-bottom: 2px #0bd solid;
    width: 700px;
    margin: 0 auto;
    padding: 15px;
}

.img-wrapper0{
    text-align: center;
}

#body1 .calendar-map {
    padding: 10%;
    text-align: center;
    width: 100%;
}

.home-content2{
    display: flex;
    justify-content: space-between;
    /* margin-bottom: 50px; */
    text-align: center;
}

.home1{
    padding: 70px 50px 10px 10px;
}

.big-bg{
    background-size: cover;
    background-position: center top;
}

#home{
    background-image: url(../images/wattopo.jpg);
    background-blend-mode: soft-light;
    background-color: rgb(23, 23, 23);
    background-position: center;
    background-size: cover;
    min-height: 100vh;
    /* 背景画像を複数個も載せて動かしたい． */
}


.body1{
    background-image: url(../images/wattopo2.jpg);
    background-blend-mode: soft-light;
    background-color: rgb(23, 23, 23);
    color: #fff;
    text-align: center;
    background-position: center;
    background-size: cover;

}

.home-big{
    background-image: url(../images/wattopo3.jpg);
    background-blend-mode: soft-light;
    background-color: rgb(14, 21, 17);
    color: #fff;
    text-align: center;
    background-position: center;
    background-size: cover;
    margin-top: 0px;
}

.text-wrapper2 p{
    text-align: left;
    background-image: url(../images/oil_massage.jpg);
    background-blend-mode: soft-light;
    background-color: rgb(40, 61, 54);
    line-height: 2.0;


}


#home .page-title{
    text-transform: none;
}


.wrapper1{
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 4%;
}

.page-title1{
    font-size: 3.5rem;
    font-family: 'Philosopher', sans-serif;
    text-transform: uppercase;
    font-weight: normal;
    color: #fff;
    text-align: center;
}

.insta-logo{
    float: right;
}

.img-wrap2{
    text-align: right;
    padding: 0px 10px;
}

.img-wrap3{
    text-align: center;
    padding: 0px 10px;
}


.img-wrap {
    text-align: right;
    /* text-align: right; */
    /* align-items: center; */
    /* justify-content: center; */
    width: 100px;
    height: 100px;
}

.viewer{
	width:640px;
	margin:0 auto;
	display:block;
}

figure{
	margin-bottom:20px;
}

#viewer .ul{
	width:260px;
	margin:0 auto;
}

#viewer .ul li{
	margin-right:10px;
	float:left;
	list-style-type:none;
}

#viewer .ul li a:hover{
	transition:opacity .3s;
	opacity:.5;
}

#viewer ul li:last-child{
	margin-right:0;
}


/* contact */

#contact{
    background-image: url(../images/wattopo4.jpg);
    min-height: 90vh;
    background-blend-mode: soft-light;
    background-color: rgb(23, 23, 23);
    background-position: center;
}

.page-title-contact{
    font-size: 3.5rem;
    font-family: 'Philosopher', sans-serif;
    text-transform: uppercase;
    font-weight: normal;
    color: #fff;
    text-align: center;
    padding-top: 20px;
    padding-bottom: 20px;
}

.contact-content1{
    color: white;
    text-align: center;
    font-size: 1.5rem;
}

.contact-content2{
    color: white;
    text-align: center;
    font-size: 1.25rem;
    padding-top: 20px;
}

.contact-content2 a{
    color: white;
    text-decoration: none; /* リンクの下線を消す場合 */
}

.sub-title-contact{
    font-size: 1.375rem;
    padding: 0 8px 8px;
    border-bottom: 2px #0bd solid;
    font-weight: normal;
}

/* 店舗情報・地図 */
#location {
    padding: 4% 0;
}
#location .wrapper {
    display: flex;
    justify-content: space-between;
}
.location-info {
    width: 22%;
}
.location-info p {
    padding: 12px 10px;
}
.location-map {
    width: 74%;
}
.iframe{
    width: 100%;
    aspect-ratio: 16/9;
}

#calendar {
    padding: 4% 0;
}
#calendar .wrapper {
    display: flex;
    justify-content: space-between;
}
.calendar-info {
    width: 22%;
}
.calendar-info p {
    padding: 12px 10px;
}
.calendar-map {
    width: 74%;
}

iframe {
    width: 100%;
    aspect-ratio: 16/9;
}

#sns{
    background: #FAF7F0;
    padding: 4% 0;
}

#sns .wrapper{
    display: flex;
    justify-content: space-between;
}

#sns .sub-title{
    margin-bottom: 30px;
}

.sns-box{
    width: 30%;
}

/* company */

#company{
    background-image: url(../images/thai_company_header.jpg);
    background-blend-mode: soft-light;
    background-color: rgb(23, 23, 23);
    background-position: center;
    height: 400px;
    /* margin-bottom: 40px; */
}

.page-title-company{
    font-size: 3.5rem;
    font-family: 'Philosopher', sans-serif;
    text-transform: uppercase;
    font-weight: normal;
    color: #fff;
    text-align: center;
}

#company .page-title{
    text-align: center;
}
.company-centence{
    text-align: center;
    color: #fff;
    font-size: 1.5rem;
}

.img-box-company{
    text-align: center;
    padding: 20px 20px 50px 20px;
}

footer{
    background: #432;
    text-align: center;
    padding: 26px 0;
}

footer p{
    color: #fff;
    font-size: 0.875rem;
}

.company-table {
    width: 75%;
    border-collapse: collapse;
    margin: 20px auto;
    text-align: center;
    border-spacing: 0;
}
/* th {
    padding: 10px;
    border-bottom: solid 4px #778ca3;
    color: #778ca3
} */


td {
    padding: 10px;
    border-bottom: solid 1px #778ca3;
}
  /* 一列目を30%、二列目を70%に設定 */
th:first-child, td:first-child {
    width: 30%;
}
th:nth-child(2), td:nth-child(2) {
    width: 70%;
}

.sub-title{
    font-size: 1.375rem;
    padding: 0 8px 8px;
    border-bottom: 2px #0bd solid;
    font-weight: normal;
}

/* MENU */
#menu {
    background-image: url(../images/wattopo3.jpg);
    background-blend-mode: soft-light;
    background-color: rgb(23, 23, 23);
    /* min-height: 200vh; */
}

.menu-centence{
    color: #fff;
    text-align: center;
    font-size: 1.125rem;
    line-height: 20px;
}

.menu-content {
    max-width: 560px;
    margin-top: 10%;
}
.menu-content .page-title {
    text-align: center;
}
.menu-content p {
    font-size: 1.125rem;
    margin: 10px 0 0;
}

.grid {
    display: grid;
    gap: 26px;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 6%;
    margin-bottom: 50px;
    color: #fff;
}

.page-title-menu{
    font-size: 3.5rem;
    font-family: 'Philosopher', sans-serif;
    text-transform: uppercase;
    font-weight: normal;
    color: #fff;
    text-align: center;
}

.menu-content2{
    display: flex;
    justify-content: space-between;
    /* margin-bottom: 50px; */
    text-align: center;
}
.menu1{
    padding: 100px 100px 100px 100px;
}

.menu-centence1{
    /* padding: 2.5px; */
    /* margin-top: 35px; */
    /* line-height: 0.1px; */
    text-align: left;
}

.menu-para{
    width: 100%;
    /* max-width: 300px; */
    /* margin-left: 32px; */
    color: white;
    padding: 100px 10px 100px 10px;
    /* background-color: #0bd; */
}

.menu-title2{
    padding: 0px 0px 10px 0px;
    text-transform: none;
}

@media (max-width: 600px){
    .page-title{
        font-size: 1.5rem;
    }

    .page-title-home{
        font-size: 1.0rem;
    }

    .home-content p{
        font-size: 0.75rem;
    }

    .img-wrapper1 p{
        font-size: 1.0rem;
    }

    .text-wrapper0{
        font-size: 1.0rem;
    }

    .text-wrapper1{
        font-size: 1.0rem;
    }

    .main-nav{
        font-size: 0.75rem;
        margin-top: 10px;
    }

    .main-nav li{
        margin: 0 20px;
    }

    .home-content{
        margin-top: 20%;
    }

    .page-header{
        flex-direction: column;
        align-items: center;
    }

    #location .wrapper,
    #calendar .wrapper,
    #sns .wrapper{
        flex-direction: column;
    }

    .location-info,
    .location-map,
    .calendar-info,
    .calendar-map
    .sns-box{
        width: 100%;
    }

    .sns-box{
        margin-bottom: 30px;
    }

    .page-title-contact{
        font-size: 1.5rem;
        font-family: 'Philosopher', sans-serif;
        text-transform: uppercase;
        font-weight: normal;
        color: #fff;
        text-align: center;
    }

    .contact-content1{
        color: white;
        text-align: center;
        font-size: 1rem;
    }
    
    .contact-content2{
        color: white;
        text-align: center;
        font-size: 0.8rem;
    }

    .page-title-contact{
        margin-top: 5%;
        margin-bottom: 5%;
    }

    .home-content2{
        flex-direction: column;
    }

    .sns-wrapper{
        display: inline-block;
    }
}

.hero{
    background-color: #1c1c1c;
    width: 100vw;
    box-sizing: border-box; /* パディングとボーダーを幅に含める */
    overflow-x: hidden; /* 横方向のはみ出しを隠す */
    /* max-width: 100%;
    position: fixed; 
    top: 0; 
    left: 0; 
    width: 100%; 
    z-index: 10; */
    
}

.swiper {
    max-width: 100%;
    overflow: visible !important;
  }
  
  .swiper-slide {
    height: 500px;
    overflow: hidden;
  }
  .swiper-slide > img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transform: scale(1.3);
    transition: transform 1.9s ease;
  }
  .swiper-slide::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 61, 125, 0.1);
  }
  .swiper-slide-active > img {
    transform: none;
  }
  .swiper-slide-active .hero__title {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
  
  .hero__title {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, calc(-50% + 20px));
    color: white;
    font-size: 25px;
    z-index: 2;
    opacity: 0;
    transition: opacity 0.3s ease 1s, transform 0.3s ease 1s;
  }
  .hero__footer {
    position: absolute;
    left: 50%;
    bottom: 20px;
    transform: translateX(-50%);
    z-index: 2;
    height: 68px;
    width: 22px;
    overflow: hidden;
  }
  .hero__downarrow {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 6px;
    animation-name: kf-arrow-anime;
    animation-duration: 2s;
    animation-timing-function: linear;
    animation-delay: 0s;
    animation-iteration-count: infinite;
    animation-direction: normal;
    animation-fill-mode: forwards;
  }
  .hero__scrolltext {
    position: absolute;
    transform: rotate(90deg);
    color: rgba(255, 255, 255, 0.7);
    left: -8px;
    top: 11px;
    font-size: 1.2em;
  }
  
  @keyframes kf-arrow-anime {
    0%, 50%, 100% {
      transform: translateY(-10%);
    }
    30% {
      transform: none;
    }
  }
