@charset "UTF-8";
/* CSS Document */
html {
    font-size: 62.5%; /* 16px * 62.5% = 10px */
    width: 100%;
    scroll-behavior: smooth;
  }
body{
    font-family: 'Shippori Mincho',serif;
    font-size: 14px;
    font-weight: 500;
    width: 100%;
    background: #960002;
    margin:0 auto;
}
main {
    margin: 0 auto;
    /* overflow: hidden; */
}
.hover-opacity {
    transition-property: opacity;
    transition-duration: 0.5s;
}
  .hover-opacity:hover {
    opacity: 0.7; 
}

/* header */
header{
    width: 100%;
    background-color:#D02810;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
}
.header-inner {
    display: flex;
    justify-content: flex-end;
}
.header-logo {
    margin: auto 0;
}
.header-logo-img {
    width: 150px;
}
.web-icon {
    display: block;
    width: 100px;
    margin: 5px;
 }
 .web-icon img {
    width: 100%;
 }
.tel-tap-icon {
    display: block;
    width: 40px;
    margin: 5px;
}
.tel-tap-icon img {
    width: 100%;
}

/*FV  */
.fv{
    width: 100%;
    max-width: 430px;
    height: auto;
    position: relative;
    margin: 0 auto;
}
.shibuya-campaign {
    display: block;
    margin: -200px 0 160px 15px;
}
.shibuya-campaign img {
    width: 100px;
}

.background {
    width: 100%;
    object-fit: contain;
}
.float-wrapper-01, .float-wrapper-02 {
    display: block;
    z-index: -10;
}
.float-wrapper-01 img {
    width: 102px;
}
.float-wrapper-02 img {
    width: 92px;
}
.float-btn-01 {
    width: 100%;
    display: flex;
    position: fixed;
    top: 570px;
    right: 19px;
    transition: all 0.3s ease;
    z-index: 1100;
   }
   .float-btn-02 {
    width: 100%;
    display: flex;
    position: fixed;
    top: 650px;
    right: 25px;
    transition: all 0.3s ease;
    z-index: 999;
   }
.campaign{
    position: absolute;
    bottom: 15px ;
    left: 15px;
}
/* sv */
.sv {
    max-width: 430px;
    height: auto;
    margin-top: 40px;
    margin: 50px auto 0;
}
.sv img {
    width: 100%;
    object-fit:contain;
}
.text-link {
    font-weight: 700;
    color: #D02810;
    text-decoration: underline;
}
.reserve-set{
    display: flex;
    justify-content: center;
    align-items: center;
    margin: -248px auto 220px;
    gap: 19px;
}

.reserve-button {
    display: block;
    width: 140px;
}
.reserve-button img {
    width: 100%;
}
.second-view-image {
    display: block;
    margin-top: 30px;
}
.section-official-website {
    margin-top: 170px;
    margin-bottom: -50px;
    position: relative; 
    z-index: 100; 
}
.section-ranking, .section-gw-campaign {
    position: relative;
    /* height: 500px; */
    max-width: 430px;
}
.ranking-view-image, .section-gw-campaign {
    display: block;
    margin:  auto;
}
.ranking-view-image img, .section-gw-campaign img {
    width: 100%;
    object-fit:contain;
    margin: 0 auto;
}
.reserve-here {
    display: block;
}
.cta-banner, .cta-banner-onayami {
    margin:0 auto;
    width: 360px;
    height: 200px;
    position: relative;
    background-image: url(img/cloud-image.png);
    background-repeat: no-repeat;
    background-position: 0%;
    background-size: contain;
    top: 20px;
}
.cta-title {
    display: block;
    position: absolute;
    width: 350px;
    left: 50%;
    transform: translate(-50%, -50%);
    top: 50px;
    filter: drop-shadow(6px 3px 7px rgba(0, 0, 0, 0.7));
}
.fv-reserve-set{
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    width: 350px;
    left: 50%;
    transform: translate(-50%, -50%);
    gap: 19px;
    bottom: 10px;
} 
/* .reserve-here {
    display: block;
    position: absolute;
    width: 200px;
    bottom: 0px;
    left: 115px;
    margin: 40px auto 0;

}  */
.reserve-here a img {
    width: 100%;
}
.inside-image {
    display: block;
    margin:50px auto;
}
/* onayami */
.section-onayami{
    max-width: 430px;
    text-align: center;
    margin: 50px auto 0;
}
.section-onayami img {
    width: 100%;
    object-fit:contain;
}
.cta-banner-onayami {
    margin-top: 0px;
}
/* about-reflexsology */
.section-about-reflexology {
    max-width: 430px;
    margin: 40px auto 30px;
}
.section-about-reflexology img {
    margin: 0 auto;
}

/* section-pain */
.section-pain{
    max-width: 430px;
    margin: 50px auto;
}
/* voice */
.voice{
    width: 100%;
    max-width: 430px;
    margin: 40px auto;
}
.customer-voice{
    text-align: center;
    margin: 50px auto 40px;
}
/* media */
.media{
    width: 100%;
    max-width: 430px;
    text-align: center;
    margin: 50px auto;
}
.media-movie {
    width: 340px;
    height: auto;
    margin: -230px auto 75px;
}
.media-movie video {
    width: 100%;
}
/* media */
.intro {
    width: 100%;
    max-width: 430px;
    margin: 0 auto;
 }
/* ginza */
#ginza{
    text-align: center;
    position: relative;
    margin: 40px auto;

}
.ginza {
    max-width: 430px;
}
.ginza img{
    display: inline-flex;
    justify-content: center;
    width: 100%;
}
.ginza-link{
    display: block;
    width: 150px;
    height: auto;
    bottom: 30px;
    margin: -90px auto 80px;
}

/* menu */
.menu{
    margin: 0 auto;
    max-width: 430px;
}
.menu-head{
    display: block;
    align-items: center;
    margin: 0 auto;
}
/*
.menu-list{
    text-align: center;
    width: 300px;
    height: 74px;
    margin: 26px auto;
}
.menu-comment{
    display: flex;
    justify-content: center;
    color: #7A2D0E;
    font-size: 16px;
    text-align: center;
    position: relative;
    align-items: center;
    margin: 0;
}
.menu-comment:before,
.menu-comment:after {
    content: "";
    flex: 0.2;
    border-bottom: 2px solid #7A2D0E; 
    transform: skewY(45deg); 
}
.menu-comment:after {
    transform: skewY(-45deg); 
} */
.reserve-button-center{
    display: block;
    width: 150px;
    margin: -90px auto 80px;
} 
.reserve-button-center img {
    width: 100%;
}
/* coupon */
.coupon{
    width: 100%;
    position: relative;
}
.coupon-img{
    top: 0;
}
.coupon-img-text {
    display: block;
    position: absolute;
    width: 250px;
    top: 145px;
    left: 80px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-size: 16px;
    font-style: normal;
    line-height: 1.5;
} 
/* footer */
.footer{
    position: relative;
    height: 1240px;
    text-align: center;
    margin: 60px auto 0;
    max-width: 375px;
    background-image: url(img/footer.png);
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: center 0; 
}
.wulai-logo-link {
    position: absolute;
    width: 230px;
    top: 60px;
    left: 20px;
}
.footer img {
    width: 100%;
    object-fit: contain;
}
.shibuya-info-container,.ginza-info-container {
    position: absolute;
    width: 100%;
    max-width: 375px;
}
.shibuya-info-container {
    margin: 0 auto;
    top: 540px;
    left: 50%; /* 親要素の左端から50%の位置 */
    transform: translate(-50%, -50%); /* 要素自身の幅・高さの半分を戻す */
}
.ginza-info-container {
    margin: 0 auto;
    top: 1020px;
    left: 50%; /* 親要素の左端から50%の位置 */
    transform: translate(-50%, -50%); /* 要素自身の幅・高さの半分を戻す */
}
.shibuya-reserve-wrapper, .ginza-reserve-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 19px;
} 
.shibuya-reserve-wrapper {
    margin: 0px auto; 
}
.ginza-reserve-wrapper {
    margin: 20px auto 20px; 
}
.footer-reserve-button {
    display: block;
    width: 132px;
    height: auto;
}
.footer-reserve-button img {
    width: 100%;
}
.shibuya-map-contain {
    display: block;
    margin: 20px auto;
}
.shibuya-map, .ginza-map {
    height: 220px; 
}
.shibuya-map iframe, .ginza-map iframe {
    width: 100%; 
    height: 100%; 
    border: 0;
}
.ginza-map-contain {
    display: block;
    margin-top: 20px;
}
