@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Kurenaido&display=swap');

/*ファーストビューエリア*/
.first_view_area img{
  width: 100%;
  padding-top: 5vw;
  height: calc(55vw - 7vw);
}

/*タイトルエリア*/
.service_title{
  display: flex;
  margin: 4.8vw 0;
}
.title_line{
  border: .1px solid #c1c1c1;
  width: 17vw;
  height: 1px;
  margin-top: 4.2vw;
}
.num_box{
  display: inline-flex;
  font-style: italic;
  margin: 0 1vw 0 1vw;
  font-family: 'Marion';
}
.num_box h4{
  color: #c1c1c1;
  font-size: 7vw;
  padding-top: 15%;
}
.num_box h5{
  color: #c1c1c1;
  font-size: 9vw;
}
.title_box{
  display: flex;
}
.service_title h6{
  align-items: center;
  font-size: 3vw;
  font-weight: normal;
  font-style: normal;
  padding-top: 3.5vw;
  padding-left: 1vw;
  margin-right: 1vw;
  font-family: 'Avenir-Light-Oblique';
  color: #000;
}
.service_title p{
  color: rgba(0, 0, 0, .9);
  font-size: 2vw;
  font-family: 'FutoMinA';
  margin-top: 3.8vw;
  margin-left: 0.5vw;
  margin-right: 0.5vw;
}
.title_box2{
  display: flex;
}
.title_line2{
  border: 0.1vw solid #c1c1c1;
  width: 1vw;
  height: 1px;
  margin-top: 4.8vw;
}


/*About&plice共通*/
.about_area,
.price_area{
  margin: 7.5vw auto;
}
.all_title{
  width: 38vw;
  display: block;
  font-family: 'Raleway-Italic';
  font-weight: 250;
  font-size: 3vw;
  letter-spacing: 3px;
  border-bottom: 2px solid #c1c1c1;
  margin: 8vw auto 50px auto;
}
.all_title p{
  text-align: center;
  margin-bottom: 0.8vw;
}

/*Aboutエリア*/
.about_info{
  margin: 5vw auto;
  text-align: center;
  font-size: 1.9vw;
  line-height: 2.8vw;
}
.about_exp{
  text-align: center;
  line-height: 3vw;
  font-size: 1.4vw;
  margin-bottom: 12vw;
}
.sauna_info_area{
  text-align: center;
  margin-bottom: 200px;
}
.sauna_title{
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.9vw;
  margin-bottom: 4vw;
  
}
.sauna_intro{
  font-size: 1.4vw;
  line-height: 3vw;
}

/*Priceエリア*/
.intro p{
  text-align: center;
  line-height: 3vw;
  font-size: 1.9vw;
  margin: 5vw auto;
}
.howto p{
  font-size: 1.4vw;
  margin-bottom: 10vw;
}

/*共通*/
.price_box1,
.price_box2 {
  display: flex;
  margin: 5vw 0;
  text-align: center;
  font-family: Arial, Helvetica, sans-serif;
}
.price_box1 img,
.price_box2 img{
  width: 50%;
  height: 50%;
}
.price_text1 p,
.price_text2 p{
  margin-top: 16vw;
  font-size: 1.9vw;
}

/*Price_box*/
.price_box2{
  flex-direction: row-reverse;
}
.price_text1 p{
  margin-left: 5vw;
}
.price_text2 p{
  margin-right: 5vw;
}

/*その他の商品*/
.other_price{
  text-align: center;
  margin: 15vw auto 15vw auto;
}
.other_price p{
  margin-bottom: 4vw;
  font-size: 1.9vw;
}
.other_cont{
  display: grid;
  grid-template-columns: repeat(auto-fit, 40vw);
  column-gap: 7vw;
  justify-content: center;
}
.other_cont p{
  font-family: Arial, Helvetica, sans-serif;
  margin-top: 30px;
}
.other_cont img{
  width: 40vw;
  height: auto;
  margin-bottom: 1vw;
}
.price p{
  margin-top: -2vw;
}




/*ここからレスポンシブルCSS*/
@media (max-width: 768px){
.first_view_area{
  margin-top: 8vw;
  width: 100%;
}
/*タイトルエリア*/
.service_title{
  display: flex;
  margin: 5vw 0;
}
.title_line{
  border: .1px solid #c1c1c1;
  width: 15vw;
  height: 1px;
  margin-top: 6vw;
}
.num_box{
  margin: 0 1vw 0 1vw;
}
.num_box h4{
  font-size: 12vw;
  padding-top: 15%;
}
.num_box h5{
  font-size: 15vw;
}
.title_box{
  flex-direction: column;
}
.service_title h6{
  font-size: 8vw;
  padding-left: 2vw;
  margin-right: 1vw;
  padding-top: 0;
}
.service_title p{
  font-size: 5vw;
  margin-left: 2vw;
  margin-right: 0;
  margin-top: 1vw;
}
.title_line2{
  width: 3vw;
  height: 1px;
  margin-top: 3.5vw;
  margin-left: 5vw;
}


/*About&plice共通*/
.about_area,
.price_area{
  margin: 10vw auto;
}
.all_title{
  width: 60vw;
  font-size: 9vw;
  border-bottom: 1.5px solid #c1c1c1;
  margin: 0 auto 40px auto;
}

/*Aboutエリア*/
.about_area{
  margin-top: 20vw;
}
.about_info{
  margin: 10vw auto;
  font-size: 4.5vw;
  line-height: 9vw;
}
.about_exp{
  width: 85%;
  margin-left: auto;
  margin-right: auto;
  line-height: 7vw;
  font-size: 3.5vw;
}
.sauna_info_area{
  margin-bottom: 30vw;
}
.sauna_title{
  font-size: 5vw;
  padding-top: 5vw;
  margin-bottom: 5vw;
}
.sauna_intro{
  width: 85%;
  margin: 1vw auto;
  font-size: 3.3vw;
  line-height: 6vw;
}
/*priceエリア*/
/*Priceエリア*/
.intro p{
  width: 85%;
  text-align: center;
  font-size: 4.5vw;
  margin: 9vw auto;
}
.howto p{
  font-size: 3.5vw;
  margin-bottom: 10vw;
  line-height: 6vw;
}

.price_box1,
.price_box2 {
  flex-direction: column;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
.price_box1 img,
.price_box2 img{
  width: 100%;
}
.price_text1 p,
.price_text2 p{
  margin: 5vw auto 60px auto;
  font-size: 4vw;
  line-height: 6vw;
}

/*その他の商品*/
.other_cont{
  display: block;
  column-gap: 0;
  justify-content: center;
}
.other_price p{
  font-size: 4vw;
}
.other_cont img{
  width: 90%;
}
.other_cont p{
  margin-top: 2vw;
  font-size: 4vw;
}
.price p{
  margin-bottom: 15vw;
}
}

/*===================================================
     2024.9.27 長江追記
=====================================================*/
/* ユーティリティ */
.u-mb3{
  margin-bottom: 3vw;
}
.u-mb5{
  margin-bottom: 5vw;
}
.u-ml5{
  margin-left: 5vw;
}
.u-txt--L{
  text-align: left;
}
.u-items--center{
  align-items: center;
}

.u-sp__show{
  display: none;
}

.u-mEnpha{
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.03em;
}


/* プラン説明 */
.price_box__inner{
  margin-left: 5vw;

}

.price_count__ttl{
  font-family: 'RyuminPr6N_Regular';
  font-weight: 600;
  font-style: normal;
  display: inline-block;
  position: relative;
  font-size: 2.5rem;
  text-align: left;
  margin-bottom: 2vw;
}

.price_count__ttl::after{
  position: absolute;
  content: "";
  width: 120%;
  height: 1px;
  background-color: #000;
  bottom: -1vw;
  left: 0;
}

.price_count__desc{
  margin-bottom: 1vw;
  margin-left: 0!important;
  margin-top: 0!important;
  font-family: 'RyuminPr6N_Regular';
  font-size: clamp(1rem, 1vw, 1.25rem)!important;
  line-height: 1.5!important;
  text-align: left;
}

.price_count__ttl__wrap{
  text-align: left;
}

.sauna_mv{
  width: 100%;
  padding-top: 5%;
}

.sauna_mv__img{
  width: 100%;
}

.logo__baden{
  margin: 7vw auto;
  width: 300px;
  display: block;
}

/* 特徴 */
.sauna_feature__inner{
  max-width: 1200px;
  margin: 0 auto;
}

.sauna_feature__list{
  display: flex;
  justify-content: space-between;
  padding: 2vw;
}

.sauna_feature__item{
  padding: 1.5vw;
}
.sauna_feature__img{
  width: 100%;
}

.sauna_feature__desc{
  font-family: 'RyuminPr6N_Regular';
  font-size: clamp(1rem, 1.3vw, 1.25rem);
  line-height: 1.75;
  padding:0 8vw;
  text-align: center;
  margin-bottom: 1vw;
}

/* オプション */
.sauna_option{
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 3vw;
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

.sauna_option__item{
  cursor: pointer;
  transition: all 0.3s;
}
.sauna_option__item:hover{
  opacity: 0.6;
}

.sauna_option__img{
  display: block;
  width: 100%;
}

.sauna_option__name{
  margin: 1vw 0 5vw;
}

/* モーダル表示 */
.modal {
  display: none; 
  position: fixed; 
  z-index: 999; 
  padding-top: 100px; 
  left: 0;
  top: 0;
  width: 100%; 
  height: 100%; 
  overflow: auto; 
  background-color: rgba(0,0,0,0.9); 
  opacity: 0;
  transition: opacity 0.5s ease;
}

.modal-content {
  margin: auto;
  display: block;
  width: 80%;
  max-width: 700px;
}

#caption {
  margin: auto;
  display: block;
  width: 80%;
  max-width: 700px;
  text-align: center;
  color: #ccc;
  padding: 10px 0;
}

.close {
  position: absolute;
  top: 15px;
  right: 35px;
  color: #f1f1f1;
  font-size: 40px;
  font-weight: bold;
  transition: 0.3s;
}

.close:hover,
.close:focus {
  color: #bbb;
  text-decoration: none;
  cursor: pointer;
}

.modal.show {
  display: block;
  opacity: 1;
}

.modal.hide {
  opacity: 0;
  transition: opacity 0.5s ease;
}


/*ここからレスポンシブルCSS*/
@media (max-width: 768px){

  .u-sp__hidden{
    display: none;
  }
  .u-sp__show{
    display: block;
  }

  .sauna_about__desc{
    line-height: 5vw;
    font-size: 3.5vw;
  }

  .logo__baden{
    margin: 12vw auto;
    width: 200px;
    display: block;
  }

  /* 商品説明 */
  .price_count__ttl__wrap{
    text-align: center;
  }
  

  .price_count__desc{
    text-align: center;
    font-size: 3.5vw!important;
    width: 100%!important;
    margin-bottom: 30px!important;
  }
  .price_box__inner{
    margin-left: 0;
    width: 100%;
  }

   .price_count__ttl{
    margin-top: 5vw;
    margin-bottom: 6vw;
    font-size: 2rem;
   }

  .price_count__ttl::after{
    position: absolute;
    content: "";
    width: 120%;
    height: 1px;
    background-color: #000;
    bottom: -1vw;
    left: 50%;
    transform: translateX(-50%);
  }

  /* 特徴 */
  .sauna_feature__list{
    margin-bottom: 30px;
  }
  .sauna_feature__item{
    padding: 0vw;
  }

  .sauna_feature__desc{
    font-size: 3.5vw!important;
    margin-bottom: 7vw;
  }

/* オプション */
.sauna_option {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 0 1rem;
  justify-content: center
}

.sauna_option__item {
  width: 30%;
}

.sauna_option__name{
 font-size: 0.8rem;
 margin: 4vw 0px 5vw;
}

}