@charset "utf-8";
/*
Theme Name: SUI
Theme URI: テーマのホームサイトのURL
Description: からだ想いサロンSUI
Author: 作者の名前
Author URI: 作者のサイトのURL
Version: バージョン
*/

/*ーーー
 全体
ーーー*/
html {
  font-size: 62.5%;
  background-color: #DDE8E0;
}
body{
  min-width: 32rem;
  word-break: break-all;
  font-family: 'M PLUS 1p','メイリオ',sans-serif;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.8;
  font-feature-settings: "palt";
  color: #4D4D4D;
}
img{
  max-width: 100%;
  height: auto;
}
.container{
  max-width: 79.8rem;
  margin: 0 auto;
  -webkit-margin: 0 auto;
  padding-left: 2.4rem;
  padding-right: 2.4rem;
  -webkit-padding-left: 2.4rem;
  -webkit-padding-right: 2.4rem;
}
.l-section{
  padding:4.8rem 0;
}
.ttlWrapper{
  position: relative;
}
.ttl{
  font-size: 2rem;
  text-align: center;
  padding: 4.8rem 0;
}
.largeTxt{
  font-size: 2.4rem;
  padding: 0.4rem 0;
  text-align: center;
  font-weight: 400;
  margin-bottom: 2.4rem;
}
.enTtl{
  font-family: 'Bad Script',sans-serif;
  font-size:1.8rem;
  color: #ACACAC;
  position: absolute;
  top: 7.2rem;
  right: 12.8rem;
  transform: rotateZ(346deg);
}
.txt{
  text-align: center;
}
.pc{
  display: none;
}
.fade{
  transform: translateY(3.2rem);
  opacity: 0;
  transition: all 1.5s;
}
.fade.visible{
  opacity: 1;
  transform: translateY(0);
}
.linkBtn{
  width: 28rem;
  height: 4.8rem;
  background-color: #F3E4C4;
  margin: 3.6rem auto;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 1rem;
}
.swiper-controller .swiper-pagination-bullets.swiper-pagination-horizontal{
  position: relative;
  display: flex;
  justify-content: center;
  gap: 1.2rem 0.8rem;
  margin: 2.4rem auto;
}
.swiper-controller .swiper-pagination-bullet{
  background-color: #FFF;
  width: 3.6rem;
  height: 0.4rem;
  border-radius: 0;
}
.swiper-pagination-bullet[class*=-active]{
  background-color: #AAD0B0;
}
.moreBtn,
.contactLink{
  max-width: 28rem;
  height: 4.8rem;
  color: #fff;
  background-color: #627E66;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 5.4rem auto;
  border-radius: 4.8rem;
}
/*ーーーー
 header
ーーーー*/
.headerWrap{
  position: fixed;
  display: flex;
  justify-content: space-between;
  background-color: #DDE8E0;
  top: 0;
  z-index: 999;
  width: 100%;
  height: 13.6rem;
  align-items: center;
}
.shopnameWrap{
  width: 75%;
  padding-left: 1.2rem;
  position: relative;
} 
.sn{
  font-size: 1.6rem;
}
.sn>a>.shopname{
  font-size: 4.8rem;
  display: block;
  line-height: 1.2;
}
.LineContactLink{
  position: absolute;
  background-color: #06c755;
  border-radius: 2.4rem;
  padding: 0 1.6rem 0 0.8rem;
  top: 55%;
  left: 45%;
}
.LineContactLink a{
  color: #fff;
}
.LineContactLink img{
  height: 3.6rem;
}
.headerNav{
  display: none;
  flex-direction: column;
  width: 100vw;
  height: 100vh;
  position: absolute;
  right: 0;
  top: 0;
  position: fixed;
  z-index: 1000;
  background-color: #758E79;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  color: #fff;
}
.headerNav.active {
  display: block;
  max-width: 100%;
  overflow: hidden;
  padding-top: 6.4rem;
}
.headerNav li{
  position: relative;
  font-size: 1.6rem;
  text-align: center;
  margin:1.2rem 0;
}
.hamburger{
  display: block;
  position: fixed;
  width: 7.2rem;
  height: 8rem;
  right: 5%;
  top: 1.4rem;
  z-index: 1001;
  cursor: pointer;
}
.hmbBtn{
  width: 10.8rem;
  height: 10rem;
  top: 50%;
  right: -40%;
  background-image: url(img/menu.svg);
  background-repeat: no-repeat;
  background-size: contain;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.hmbTxt{
  overflow: hidden;
  height: 1em;
  position: relative;
}
.hmbTxt span{
  color: #fff;
  line-height: 1.2;
  display: block;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.hamburger.active{
  width: 100vw;
  height: 100vh;
  border-radius: 0;
  right: 0;
  top: 0;
}
.hamburger.active .hmbBtn{
  background-color: transparent;
}
.hamburger.active .hmbTxt span{
  color: #fff;
  -webkit-transform: translateY(-1.2em);
  transform: translateY(-1.2em);
}

/*ーーーーー
  fullView
ーーーーーー*/
.topView{
  margin: 0 auto 9.8rem;
}
.topMovie{
  position: relative;
  top:9.8rem
}
.yomogiMovie{
  height:42rem;
  width: 100%;
  object-fit: cover;
}
.topMovie::after{
  position: absolute;
  content:"";
  width: 100%;
  height: 42rem;
  background-image: url(img/topviewFrame_sp.svg);
  background-repeat: no-repeat;
  background-size: cover;
  left: 0;
}
/*ーーーーー
  concept
ーーーーーー*/
.topConceptWrap{
  background-image: url(img/conceptBg.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  padding: 5.4rem 2.8rem;
}
.topConceptHead{
  margin: 0 auto 4.8rem;
  display: flex;
  flex-direction: row-reverse;
}
.topConceptHead .vertical{
  flex: 1;
  display: flex;
  justify-content: center;
}
_::-webkit-full-page-media, _:future, :root .topConceptHead .vertical{
  justify-content: start;
  margin-right: 2rem;
}

.topConceptHead .largeTxt{
  writing-mode: vertical-rl;
  font-weight: 700;
  font-size: 3.2rem;
}
_::-webkit-full-page-media, _:future, :root .topConceptHead .largeTxt{
  line-height: 3;
  text-align: start;
}
.topPhotoWrap{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 12.8rem auto 9.6rem;
}
.topPhotoImg{
  margin: 3.2rem 1.6rem;
}
.topPhotoImg img{
  width: 12.8rem;
  height: 12.8rem;
  border-radius: 2.4rem 0 2.4rem 0;
}
/*ーーーーーーー
  commitment
ーーーーーーーー*/
.commitment .enTtl{
  right: 0;
}
.topConceptTxtWrap{
  margin-bottom: 4.8rem;
}
.tab-menu{
  display: flex;
  flex-wrap: nowrap;
}
.tab{
  background-color: #758E79;
  color: #fff;
  border-radius: 0 1.6rem 0 0;
  display: flex;
  justify-content: center;
  padding: 1rem 0.64rem;
  font-size: 1.2rem;
  border: #627E66 solid 0.1rem;
  box-sizing: content-box;
}
.tab.active{
  background-color: #fff;
  color: #758E79;
}
.content{
  display: none;
  margin-bottom: 8.4rem;
}
.content.active{
  display: block;
  padding: 2.4rem 1.2rem;
  background-color: rgba(235, 247, 238, 0.4);
  border: #627E66 solid 0.1rem;
}
.jtcTtl{
  font-size: 1.8rem;
  padding-bottom: 0.4rem;
  border-bottom: #627E66 0.3rem solid;
}
.jtcTxtArea{
  margin-top: 1.2rem;
}
.jtcTxt{
  text-align: justify;
}
.js-tab-menu2 .tab{
  padding: 1rem 0.4rem;
  text-align: center;
  align-items: center;
  line-height: 1;
}

/*ーーーーーー
  miniPhoto
ーーーーーーー*/
[type="button"].splide__arrow,
[type="button"].splide__pagination__page{
  display: none;
}
.splide__slide img{
  border-radius: 2.4rem 0 2.4rem 0;
}
/*ーーーー
  info
ーーーーー*/
.topBlog{
  background-color: #EFECD6;
}
.infoWrap{
  height: 48rem;
  overflow: scroll;
  width: 90%;
  margin: 2.4rem auto;
}
.infoList{
  border-bottom: #474747 solid 0.1rem;
  padding: 0.8rem;
}
.insta .enTtl{
  right: 30%;
}

/*ーーーーー
  calendar
ーーーーーー*/
.calendar .enTtl{
  right: 20%;
}
.lineLink{
  display: flex;
  justify-content: center;
  margin: 3.6rem auto;
}
.lineLink a img{
  width: 9.6rem;
}

.topContact .LineContactLink{
  position: static;
  width: 28rem;
  height: 6.4rem;
  margin: 4.8rem auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
/*ーーーーー
  backBtn
ーーーーーー*/
.backToTop {
  display: flex;
  width: 4.8rem;
  height: 4.8rem;
  position: fixed;
  bottom: 4.8rem;
  right: 3%;
  z-index: 9;
  transition: none;
  background-color: #627E66;
  border-radius: 99%;
  flex-wrap: wrap;
  justify-content: center;
}
.backToTop i{
  text-align: center;
  line-height: 4.8rem;
  font-size: 2.4rem;
  color: #FBF9FA;
}
.backToTop.fixed{
  position: relative;
  margin-bottom: -2.6rem;
  margin-left: auto;
  margin-right: 0;
  margin-top: -2.4rem;
}
/*ーーーーー
  footer
ーーーーーー*/
footer{
  width: 100vw;
  padding: 3.6rem 2.4rem 0;
  background-color: #EFECD6;
}
.footerShopnameWrap{
  padding-top: 6.4rem;
  margin-bottom: 2.4rem;
}
.footerShopname{
  font-size: 4.8rem;
  display: block;
} 
.footWrap{
  display: flex;
  flex-direction: column-reverse;
}
.footerListWrapper{
  display: none;
}
.suiAddWrap{
  margin-top: 2.4rem;
}
.suiAdd{
  font-size: 1.4rem;
  text-align: justify;
}
.googlemap iframe{
  width: 100%;
}
.copyright{
  text-align: center;
  font-size: 1.2rem;
  padding: 0.8rem 0;
  letter-spacing: 0.1em;
}



/*ーーーーーーーー
  allunder-page
ーーーーーーーーー*/
.pageHeaderImage{
  width: 100%;
  position: relative;
  top: 4rem;
  margin-bottom: 4rem;
}
.pageHeaderImage img{
  object-fit: cover;
  height: 50vh;
}
.pageHeaderImage::after{
  position: absolute;
  content:"";
  width: 100%;
  height: 50vh;
  background-image: url(img/topviewFrame_sp.svg);
  background-repeat: no-repeat;
  background-size: cover;
  left: 0;
}
/*ーーーーーーーー
  service-page
ーーーーーーーーー*/
.serviceWrap{
  margin-top: 12.8rem;
}
.serviceWrap>.txt,
.menu>.txt,
.serviceSet{
  text-align: justify;
}
.service .enTtl{
  right: 30%;
}
.serviceImg{
  margin: 1.6rem auto;
  width: 28rem;
}
.serviceImg img{
  border-radius: 2rem;
  width: 28rem;
  height: 18rem;
  object-fit: cover;
}
.oshiri img{
  object-fit: contain;
}
.vtTtl{
  text-align: center;
  border-bottom: #474747 solid 0.1rem;
  padding-bottom: 0.8rem;
}
.serviceAboutWrap{
  margin-top: 2.4rem; 
}
.serviceAbout{
  margin-top:1.2rem;
  text-align: justify;
  font-size: 1.6rem;
}
.recommend .ttl,
.menu .ttl{
  text-align: start;
  border-bottom: #474747 solid 0.1rem;
  padding-bottom: 0.8rem;
}
.serviceRecWrap,
.serviceRec{
  text-align: start;
  margin-top: 1.6rem;
}
.serviceMenu{
  font-weight: 400;
  text-align: justify;
}
.menuPrice{
  text-align: right;
  margin-bottom: 2.4rem;
}
.footPoint .ttl{
  text-align: start;
  padding-bottom: 0;
}
.yomogiFlow{
  background-color: #F9F9F9;
}
.yomogiFlow .enTtl{
  right: 0;
}
.flowContentWrap{
  margin-bottom: 5.6rem;
}
.flowAbout{
  text-align: justify;
}
.greeding{
  background-image: url(img/greetingBg.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.greedingImg{
  width: 28rem;
  height: 28rem;
  margin: 0 auto;
}
.greedingImg img{
  width: 28rem;
  height: 28rem;
  object-fit: cover;
  border-radius: 2.4rem;
}
.ownerName{
  text-align: center;
  font-size: 2.4rem;
  padding-top: 1.2rem;
}
.greedingAbout{
  font-size: 1.4rem;
}
.greedingTextWrap{
  margin-top: 3.6rem;
  font-size: 1.4rem;
}
.greedingText{
  text-align: justify;
  margin-top: 1.2rem;
}
.ownerMassage{
  margin: 5.6rem auto;
  text-align: center;
}
/*ーーーーーー
  info-page
ーーーーーーー*/
.dataWrap{
  padding-bottom: 0.04rem;
  border-bottom: #A9BCE0 dotted 0.1rem;
  margin-bottom: 2.4rem;
}
/*ーーーーーー
  faq-page
ーーーーーーー*/
.question .pageHeaderImage img{
  object-position: 22%;
}
.question .enTtl{
  right: 25%;
}
.quesAbout{
  margin: 4.8rem auto;
}
.faqWrap{
  margin-bottom: 6.4rem;
}
.faqWrap h3{
  font-size: 2rem;
  text-align: left;
  padding-bottom: 0.4rem;
  border-bottom: #B19F17 0.4rem dotted;
  margin-bottom: 2.4rem;
}
.faqList{
  margin: 2.4rem 0;
}
.questionTxt{
  padding-bottom: 0.4rem;
  margin-bottom: 1.2rem;
  border-bottom: #474747 solid 0.1rem;
}
.questionTxt,
.anserTxt{
  font-size: 1.4rem;
}
.questionMark,
.anser{
  font-size: 3.2rem;
  font-weight: 700;
  list-style: none;
  padding-right: 1.2rem;
}
.questionMark{
  color: #B19F17;
}
.anser{
  color: #627E66;
}

/*ーーーーーーーー
  contact-page
ーーーーーーーーー*/
.formWrap .txt{
  text-align: justify;
}
.contactForm{
  margin: 2.4rem auto;
  padding-bottom: 1.2rem;
  width: 80%;
}
.formWrap{
  margin: 2.4rem auto;
}
.wpcf7-form-control-wrap select,
.wpcf7-form-control-wrap input,
textarea{
  background-color: #F9F9F9;
  padding: 0.4rem;
  width: 100%;
  height: 4.8rem;
}
.wpcf7-list-item{
  display: block;
  width: 80%;
  margin: 0 auto 2.4rem;
  text-align: center;
}
.btnWrap{
  display: flex;
  justify-content: space-evenly;
}
[type="submit"],
[type="button"] {
  background-color: #AAD0B0;
  padding: 0.8rem 2.4rem;
  text-align: center;
  border-radius: 2.4rem;
  width: 24rem;
  margin: 4.8rem auto;
  display: block;
}
.privacyHead{
  text-align: center;
  font-size: 2rem;
  margin-top: 4.8rem;
}
.privacyTxtWrap{
  overflow: scroll;
  height: 32rem;
  background-color: #F9F9F9;
  border: #4D4D4D solid 0.1rem;
  padding: 1.2rem;
  border-radius: 1.2rem;
  margin-bottom: 4.8rem;
}
.contactFormWrap{
  margin: 9.6rem auto;
  width: 80%;
}
.accept label{
  display: flex;
  justify-content: center;
  align-items: center;
}
.accept{
  margin: 0 auto 2.4rem;
  text-align: center;
}
.accept .wpcf7-list-item{
  width: 80%;
}
.accept .wpcf7-form-control-wrap input{
  width: 10%;
}
.singleContent p{
  margin: 2.4rem 0;
}
.not-found{
  margin-top: 12rem;
}
