/* --------------------------- */
/* kv
/* --------------------------- */

/* ----- 背景用の動画ファイル ----- */
#bg-video{
  /* position: fixed; */
  right: 0;
  bottom: 0;
  width: 100%;
  max-height: auto;
  z-index: -100;
  background: url('../images/kv_pic.jpg') no-repeat;
  background-size: cover;
  background-attachment: fixed;
}
.kv-wrapper{
  position: relative;
  width: 100vw;
  height: auto;
  }
.kv-copy-wrapper{
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%,-50%);
  z-index: 2;
  letter-spacing: 1rem;
}
.kv-copy{
  font-size: 2.6rem;
  font-weight: lighter;
  color: #fff;
  margin-bottom: 20px;
  margin-top: 20vh;
} 
.kv-subcopy{
  font-size: 1.3rem;
  color: #fff;
  letter-spacing: 0.3rem;
  margin-bottom: 30px;
}
.kv-logo{
  width: 200px;
  max-width: 80%;
  margin: 40px auto 20px auto;
}
.kv-copy-en{
  width: 250px;
  max-width: 70%;
  margin: 0 auto;
}
/* --------------------------- */
/* Message
/* --------------------------- */
.section-wrapper#message{
  background-image: url(../images/bg01.jpg) ;
  background-size: cover;
}
.message-title{
  font-size: 4.4rem;
  margin-bottom: 100px;
  letter-spacing: 0.2em;
  line-height: 2;
}
.message-title-24{
  font-size: 2.2rem;
}
.message-title-32{
  font-size: 2.8rem;
}
.message-title-36{
  font-size: 3.3rem;
}
.message-text{
  margin-left: 35%;
  letter-spacing: 0.2em;
  line-height: 3;
  margin-bottom: 100px;
}
/* --------------------------- */
/* about
/* --------------------------- */
.section-wrapper#about{
  background-image: url(../images/logo_only_fff_big.png);
  background-repeat: no-repeat;
  background-size: 700px;
  background-position: left -5% bottom 20%;
  margin-bottom: 50px;
}
.about-title{
  width: 60px;
}
.about01{
  margin-right: 20px;
}
.about02{
  width: 60%;
  padding: 10px;
  border-left:1px solid #333; /*線の設定*/
  padding-left: 25px;
}
.about-number{
  font-size: 9rem;
}
.about-logo{
  font-size: 3rem;
}
.about-number-ja{
  font-size: 1.8rem;
  letter-spacing: 0.2rem;
}
.about03{
  width: 30%;
  margin-left: 30px;
}
.about-detail{
  margin-bottom: 10px;
}
.about-detail-20{
  font-size: 1.8rem;
}
.about-s{
  font-size: 1.2rem;
}
/* --------------------------- */
/* owner
/* --------------------------- */

/* Ownerセクション */
.owner-wrapper {
  background-color: #fff;
  margin-bottom: 100px; /* BOOKSセクションとの余白 */
}
.owner-img img {
  width: 450px; /* 画像の横幅 */
  height: auto; /* アスペクト比を維持 */
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); /* 画像の影 */
  margin-top: -50px;
}
.owner-title{
  font-size: 1.3rem;
  padding: 3px 120px 3px 50px;
  background-color: #EDEDED;
  margin-left: -120px;
  margin-bottom: 30px;
}
.owner-name{
  font-size: 3rem;
}
.owner-bio{
  font-size: 1.3rem;
  padding: 50px;
  margin-top: -100px;
  width: 400px;
}
/* BOOKSセクション */
.section-title-book{
  font-size: 6rem;
  margin-top: -80px;
}
.books-wrapper {
  background-color: #fff;
  padding: 30px;
}
.book-title {
  font-size: 2.4rem;
  margin-bottom: 20px;
}

.books-img-wrapper {
  display: flex;
  flex-wrap: wrap; /* 画面幅が狭い場合は折り返し */
  justify-content: center; /* 画像を中央揃え */
  gap: 20px; /* 各画像の間に余白を設定 */
  margin-bottom: 30px;
}
.books-img img {
  width: 150px; /* 各本の画像サイズ */
  height: auto;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease; /* ホバー時のアニメーション */
}

.books-img img:hover {
  transform: scale(1.05); /* ホバー時に拡大 */
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2); /* ホバー時の影 */
}
.books-list {
  font-size: 1.2rem;
  line-height: 1.8;
  margin-left: 80px;
}
/* --------------------------- */
/* instructors
/* --------------------------- */
.section-detail{
  font-size: 1.2rem;
  width: 60%;
  margin-left: auto;
  margin-top: -20px;
}
.line-black01{
  width: 60vw;
  height: 1px;
  background-color: #333;
  margin: 0 calc(50% - 50vw);
  margin-left: auto;
  margin-bottom: 50px;
}
.instructor-name{
  font-size: 3.4rem;
  font-family: "linotype-didot-headline", serif;
  font-weight: 400;
}
.instructor-wrapper{
  position: relative;
  width: 768px;
  height: 1500px;
  margin: 0 auto;
}
.instrutor01{
  position: absolute;
  top: 0;
  left: 0;
}
.instrutor02{
  position: absolute;
  top: 3%;
  left: 38%;
}
.instrutor03{
  position: absolute;
  top: 0;
  left: 70%;
}
.instrutor04{
  position: absolute;
  top: 20%;
  left: 2%;
}
.instrutor05{
  position: absolute;
  top: 22%;
  left: 68%;
}
.instrutor06{
  position: absolute;
  top: 32%;
  left: 33%;
}
.instrutor07{
  position: absolute;
  top: 43%;
  left: 67%;
}
.instrutor08{
  position: absolute;
  top: 48%;
  left: 0;
}
.instrutor09{
  position: absolute;
  top: 52%;
  left: 30%;
}
.instrutor10{
  position: absolute;
  top: 70%;
  left: 70%;
}
.instrutor11{
  position: absolute;
  top: 80%;
  left: 4%;
}
.instrutor12{
  position: absolute;
  top: 77%;
  left: 38%;
}
.instrutor01 img{
  width: 28%;
  height: auto;
  transition: transform .6s ease; /* ゆっくり変化させる */
}
.instrutor01 img:hover{
  transform: scale(1.1); /* 拡大 */
}
.instrutor02 img{
  width: 40%;
  height: auto;transition: transform .6s ease; /* ゆっくり変化させる */
}
.instrutor02 img:hover{
  transform: scale(1.1); /* 拡大 */
}
.instrutor03 img{
  width: 100%;
  height: auto;
 transition: transform .6s ease; /* ゆっくり変化させる */
}
.instrutor03 img:hover{
  transform: scale(1.1); /* 拡大 */
}
.instrutor04 img{
  width: 37%;
  height: auto;
  transition: transform .6s ease; /* ゆっくり変化させる */
}
.instrutor04 img:hover{
  transform: scale(1.1); /* 拡大 */
}
.instrutor05 img{
  width: 90%;
  height: auto;
  transition: transform .6s ease; /* ゆっくり変化させる */
}
.instrutor05 img:hover{
  transform: scale(1.1); /* 拡大 */
}

.instrutor06 img{
  width: 45%;
  height: auto;
  transition: transform .6s ease; /* ゆっくり変化させる */
}
.instrutor06 img:hover{
  transform: scale(1.1); /* 拡大 */
}
.instrutor07 img{
  width: 80%;
  height: auto;
  transition: transform .6s ease; /* ゆっくり変化させる */
}
.instrutor07 img:hover{
  transform: scale(1.1); /* 拡大 */
}
.instrutor08 img{
  width: 30%;
  height: auto;
  transition: transform .6s ease; /* ゆっくり変化させる */
}
.instrutor08 img:hover{
  transform: scale(1.1); /* 拡大 */
}
.instrutor09 img{
  width: 40%;
  height: auto;
  transition: transform .6s ease; /* ゆっくり変化させる */
}
.instrutor09 img:hover{
  transform: scale(1.1); /* 拡大 */
}
.instrutor10 img{
  width: 100%;
  height: auto;
  transition: transform .6s ease; /* ゆっくり変化させる */
}
.instrutor10 img:hover{
  transform: scale(1.1); /* 拡大 */
}
.instrutor11 img{
  width: 30%;
  height: auto;
  transition: transform .6s ease; /* ゆっくり変化させる */
}
.instrutor11 img:hover{
  transform: scale(1.1); /* 拡大 */
}
.instrutor12 img{
  width: 40%;
  height: auto;
  transition: transform .6s ease; /* ゆっくり変化させる */
}
.instrutor12 img:hover{
  transform: scale(1.1); /* 拡大 */
}
/* --------------------------- */
/* beforeafter
/* --------------------------- */
.section-title-ba{
  font-size: 6rem;
  font-weight: 100;
  text-align: right;
  margin-bottom: -30px;
}
.section-subtitle-ba{
  text-align: right;
  margin-left: auto;
  margin-bottom: 30px;
}
.section-detail02{
  font-size: 1.2rem;
  width: 42%;
  margin-left: auto;
}
.line-black02{
  width: 45vw;
  height: 1px;
  background-color: #333;
  margin: 0 calc(50% - 50vw);
  margin-left: auto;
  margin-bottom: 50px;
}
.befreafter-wrapper{
  justify-content: center;
  font-size: 1.3rem;
  text-align: center;
  margin: 0 auto;
  margin-bottom: 30px;
}
.beforeafter-photo{
  width: 450px;
  padding: 20px 30px;
}
/* --------------------------- */
/* voice
/* --------------------------- */
.section-title-v{
  font-size: 6rem;
  font-weight: 100;
  margin-bottom: -30px;
}
.section-subtitle-v{
  margin-bottom: 30px;
}
.voice-list{
  flex-wrap: wrap;
  margin-bottom: 30px;
}
.voice-item{
  position: relative;
  width: 340px;
  background-color: #fff;
  padding: 40px 50px;
  margin: 20px;
}
.voice-title{
  font-size: 1.8rem;
  margin-bottom: 20px;
}
.voice{
  font-size: 1.3rem;
}
.mark-icon {
  position: absolute;
  top: -15px; /* Adjust as needed */
  left: 10px; /* Adjust as needed */
  width: 40px; /* Set the desired size */
  height: auto;
}

/* --------------------------- */
/* register
/* --------------------------- */
.section-inner.register{
  position: relative;
  z-index: 0;
}
.register-title-wrapper{
  margin: 0 calc(50% - 50vw);
  position: relative;
  margin-bottom: 50px;
}
.rg-title-wrapper{
  position: absolute;
  top: 40%;
  left: 20%;
}
.section-title-rg{
  font-size: 4rem;
  line-height: 1.2;
  margin-bottom: 10px;
}
.section-subtitle-rg{
  margin-top: -10px;
}
.flow{
  width: 768px;
  margin: 0 auto;
}
.flow-wrapper{
  width: 768px;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
}
.flow-img{
  max-width: 250px;
  margin-right: 20px;
}
.flow-title{
  font-size: 2rem;
  background-color: #fff;
  margin-left: -30px;
  margin-top: 30px;
  padding: 5px 30px 0 30px;
}
.flow-text{
  border-left: 1px solid #333;
  padding: 20px 0px;
  padding-left: 15px;
  margin-left: 20px;
  margin-top: 10px;
  margin-bottom: 10px;
}
.flow-number{
  font-size: 3rem;
  font-family: "linotype-didot-headline", serif;
  font-weight: 400;
  line-height: 0.8;
}
/* --------------------------- */
/* fee
/* --------------------------- */
.section-wrapper#fee{
  background-image: url(../images/bg03.jpg);
  background-size: cover;
}
.section-title-fee{
  font-size: 6rem;
  font-weight: 100;
  margin-left: 10px;
}
.section-detail-fee{
  font-size: 1.4rem;
  margin-top: -20px;
  margin-bottom: 30px; 
  margin-left: 10px;
}
.fee-list{
  width: 960px;
  margin: 0 auto;
}
.ad-fee{
  background-color:#fff;
  border: solid 15px #cdb1ba99;
  padding: 50px 100px 50px 100px;
  margin: 0 auto;
  margin-bottom: 30px;
  width: 730px;
}
.ad-fee01{
  font-size: 2rem;
  margin-bottom: 20px;
}
.ad-fee02{
  font-size: 1.3rem;
  margin-bottom: 20px;
}
.ad-fee03{
  font-size: 2rem;
  margin-bottom: 20px;
}
.ad-fee04{
  font-weight: bold;
  font-size: 2.6rem;
}
.studio-fee{
  font-size: 2.4rem;
  background: linear-gradient(to top,   #cdb1ba99 0% 50%, rgba(0,0,0,0) 50% 100%);
  width: 350px;
  margin: 0 auto;
  margin-bottom: 20px;
}
.group{
  width: 35%;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 50px 80px 50px 80px;
  margin-right: 30px;
  margin-bottom: 50px;
}
.group:last-of-type{
  margin-right: 0;
}
.group01{
  font-size: 2rem;
  margin-bottom: 20px;
}
.group02{
  font-size: 2rem;
  margin-bottom: 10px;
}
.group03{
  font-size: 1rem;
  margin-top: -20px;
  margin-bottom: 10px;
}
.group04{
  font-size: 1rem;
  margin-top: -20px;
  margin-bottom: 40px;
}
.group05{
  font-size: 2rem;
  margin-bottom: 40px;
}
.group06{
  font-size: 1.2rem;
  margin-bottom: 20px;
}
.group07{
  font-size: 1.5rem;
  margin-bottom: 20px;
  margin-top: -10px;
}
.ad-service{
  background-color: rgba(255, 255, 255, 0.473);
  padding: 50px 100px 50px 100px;
  margin: 0 auto;
  margin-bottom: 50px;
  width: 760px;
}
.fee-icon{
  width: 40px;
  height: auto;
  margin: 0 auto;
  margin-bottom: 5px;
}
.ad-fee08{
  font-size: 2rem;
  margin-bottom: 30px;
}
.ad-fee06{
  font-size: 1.3rem;
  margin-bottom: 10px;
}
.ad-fee07{
  font-size: 1.7rem;
  margin-bottom: 20px;
}
/* --------------------------- */
/* studio info
/* --------------------------- */
.section-title-wrapper-sh{
  display: flex;
  align-items: flex-end;
  flex-direction: row;
  margin-bottom: 30px;
  margin-top: 30px;
}
.section-title-sh{
  font-size: 6rem;
  font-weight: 100;
  line-height: 0.9;
  margin-right: 30px;
}
.shop-wrapper{
  border: solid 1px #333;
  padding: 30px;
  display: flex;
  flex-direction: row;
  margin-bottom: 30px;
}
.shop-img{
  max-width: 430px;
  max-height: 430px;
  margin-right: 30px;
}
.access-text-wrapper{
  padding: 20px;
}
.access-wrapper{
  margin-bottom: 70px;
}
.access-title{
  font-size: 2.5rem;
  margin-bottom: -10px;
}
.access-sub-titie{
  font-size: 1.2rem;
  margin-bottom: 20px;
}
.access-title-ja{
  font-size: 1.6rem;
  margin-bottom: 20px;
}
.access-text{
  font-size: 1.1rem;
  line-height: 1.5em;
  margin-bottom: 20px;
}
a.btn_18 {
	display: block;
	text-align: center;
	text-decoration: none;
	position: relative;
	width: 200px;
	padding: 0.2rem 2rem;
	font-weight: light;
	color: #333;
	background: #CDB1BA;
	transition: 0.3s ease-in-out;
}
a.btn_18:hover {
	background: #e8d8dd;
	color: #fff;
}
a.btn_18:hover::before {
  top: 0;
  left: 0;
}
/* --------------------------- */
/* Q&A
/* --------------------------- */
.section-wrapper#faq{
  background-image: url(../images/logo_only_fff_big.png);
  background-repeat: no-repeat;
  background-size: 700px;
  background-position: left -5% bottom 20%;
}
.section-inner-faq{
  display: flex;
  flex-direction: row;
}
.faq-title{
  max-width: 20%;
}
.about01{
  margin-right: 20px;
}
.faq-wrapper{
  width: 70%;
  padding: 5px;
  border-left:1px solid #333; /*線の設定*/
  padding-left: 25px;
}
.ac-title{
  font-size: 1.8rem;
  margin-bottom: 10px;
}
/* アコーディオンメニュー */
.ac-menu-wrapper{
  margin-bottom: 60px;
}
.ac-menu input {
  display: none;
}
.ac-menu label {
  color: #333; /* 文字色 */
  font-size: 1.5rem; /* 文字サイズ */
  line-height: 2; /* 行間 */
  text-align: left; /* 文字列 */
  background: none; /*背景色 */
  padding: 5px 10px 5px 10px; /* 内側の余白 */
  cursor: pointer;
  position: relative;
  display: block;
  margin-bottom: 5px;
}
.ac-menu label:after {
  position: absolute;
  right: 20px; /* 左からの距離 */
  top: 50%; /* 上下中央配置 */
  -webkit-transform : translateY(-50%);
  transform : translateY(-50%);
  content: "＋"; /* アイコン */
  color: #333;
}
.ac-menu input:checked ~ label::after {
  content: "−"; /* クリック後のアイコン */
}
.ac-menu div {
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.3s; /* 開閉スピード */
}
.ac-menu input:checked ~ div {
  height: auto;
  opacity: 1;
  padding: 5px 10px; /* 中身の枠内の余白 */
  background: none; /* 中身の背景色 */
  margin-bottom: 10px;
}
.ac-menu-inside {
  color: #333; /* 中身の文字色 */
  font-size: 1.3rem; /* 中身の文字サイズ */
  line-height: 2; /* 行間 */
}
/* --------------------------- */
/* sns
/* --------------------------- */
.section-wrapper#sns{
  padding-top: 0;
}
.sns-wrapper{
  position: relative;
}
.salon-text-wrapper{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  letter-spacing: 0.6rem;
  text-align: center;
}
.salon-title-wrapper{
  /* border: solid #333;
  border-width: 1px; */
  /* padding: 50px 80px; */
  margin: 0 auto;
  margin-bottom: 20px;
  width: 100%;
}
.salon-text{
  font-size: 1.8rem;
  margin-bottom: 10px;
}
.salon-title{
  font-size: 2.8rem;
}
.salon-subtext{
  font-size: 1.2rem;
  width: 100%;
}
.instagram-text-wrapper{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  letter-spacing: 0.2rem;
  border: solid 3px #fff;
  padding: 50px 80px;
  margin-bottom: 20px;
  text-align: center;
  color: #fff;
  width: 20%;
}
.instagram-text{
  font-size: 1.4rem;
  margin-bottom: 10px;
  /* color: #fff; */
}
.instagram-title{
  font-size: 3rem;
  margin-bottom: 15px;
  /* color: #fff; */
}
.instagram-icon{
  width: 30px;
  margin: 0 auto;
  margin-bottom: 10px;
}
.instagram-subtext{
  font-size: 2rem;
  margin-bottom: 10px;
  /* color: #fff; */
}
.instagram-text-wrapper02{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  letter-spacing: 0.2rem;
  border: solid 3px #333;
  padding: 50px 80px;
  margin-bottom: 20px;
  text-align: center;
  width: 20%;
}
.sns-wrapper.youtube{
  padding-top: 0;
}
.responsive {
  width: 100%;
  aspect-ratio: 16/9;
  max-width: 600px;
  margin: 0 auto;
  margin-bottom: 50px;
}
.youtube-text{
  font-size: 1.8rem;
  text-align: center;
  letter-spacing: 0.6rem;
  margin: 100px auto 40px auto;
}
/* --------------------------- */
/* iPad
/* --------------------------- */
@media screen and (max-width:1024px){
/* --------------------------- */
/* kv
/* --------------------------- */
.kv-wrapper{
  height: auto;
  }
.kv-copy-wrapper{
  position: absolute;
  top: 13%;
  left: 50%;
  transform: translate(-50%,-50%);
  z-index: 2;
  letter-spacing: 1rem;
}
.kv-copy{
  font-size: 2.2rem;
  font-weight: lighter;
  color: #fff;
  margin-bottom: 20px;
  margin-top: 20vh;
} 
.kv-subcopy{
  font-size: 1.3rem;
  color: #fff;
  letter-spacing: 0.3rem;
  margin-bottom: 30px;
}
.kv-logo{
  width: 150px;
  max-width: 80%;
  margin: 40px auto 20px auto;
}
.kv-copy-en{
  width: 220px;
  max-width: 70%;
  margin: 0 auto;
}
/* --------------------------- */
/* Message
/* --------------------------- */
.section-wrapper#message{
  background-image: url(../images/bg01.jpg) ;
  background-size: cover;
  background-position-x: -200px;
}
.message-title{
  font-size: 4rem;
  margin-bottom: 100px;
  letter-spacing: 0.2em;
  line-height: 2;
}
.message-title-24{
  font-size: 1.8rem;
}
.message-title-32{
  font-size: 2.2rem;
}
.message-title-36{
  font-size: 2.9rem;
}
.message-text{
  margin-left: 35%;
  letter-spacing: 0.2em;
  line-height: 3;
  margin-bottom: 100px;
}
/* --------------------------- */
/* voice
/* --------------------------- */
.voice-item{
  position: relative;
  width: 300px;
  background-color: #fff;
  padding: 40px 50px;
  margin: 20px;
}
/* --------------------------- */
/* fee
/* --------------------------- */
.fee-list{
  max-width: 100%;
}
.ad-fee{
  background-color:#fff;
  border: solid 15px #cdb1ba99;
  padding: 50px 100px 50px 100px;
  margin: 0 auto;
  margin-bottom: 50px;
  width: 680px;
}
.ad-service{
  background-color: rgba(255, 255, 255, 0.473);
  padding: 50px 100px 50px 100px;
  margin: 0 auto;
  margin-bottom: 50px;
  width: 700px;
}
}
/* --------------------------- */
/* iPad mini
/* --------------------------- */
@media screen and (max-width:820px){
/* --------------------------- */
/* owner
/* --------------------------- */
  .owner-img img {
    width: 350px; /* 画像の横幅 */
    height: auto; /* アスペクト比を維持 */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); /* 画像の影 */
    margin-top: -50px;
  }
  .owner-bio{
    font-size: 1.3rem;
    padding: 50px;
    margin-top: -100px;
    width: 300px;
  }
  .section-title.owner{
    margin-left: -120px;
  }
/* --------------------------- */
/* beforeafter
/* --------------------------- */
.beforeafter-photo{
  width: 350px;
  padding: 20px 30px;
}
/* --------------------------- */
/* voice
/* --------------------------- */
.voice-item{
  position: relative;
  width: 220px;
  background-color: #fff;
  padding: 35px 45px;
  margin: 10px;
}
/* --------------------------- */
/* fee
/* --------------------------- */
.ad-fee{
  background-color:#fff;
  border: solid 15px #cdb1ba99;
  padding: 50px 100px 50px 100px;
  margin: 0 auto;
  margin-bottom: 50px;
  width: 480px;
}
.ad-service{
  background-color: rgba(255, 255, 255, 0.473);
  padding: 50px 100px 50px 100px;
  margin: 0 auto;
  margin-bottom: 50px;
  width: 500px;
}
}
/* --------------------------- */
/* SP
/* --------------------------- */
@media screen and (max-width:438px){
  /* --------------------------- */
/* kv
/* --------------------------- */
.kv-wrapper{
  height: auto;
  }
.kv-copy-wrapper{
  position: absolute;
  top: 38%;
  left: 50%;
  transform: translate(-50%,-50%);
  z-index: 2;
  letter-spacing: 1rem;
}
.kv-copy{
  font-size: 1.8rem;
  font-weight: lighter;
  color: #fff;
  margin-bottom: 20px;
  margin-top: 20vh;
} 
.kv-subcopy{
  font-size: 1.3rem;
  color: #fff;
  letter-spacing: 0.3rem;
  margin-bottom: 30px;
}
.kv-logo{
  width: 170px;
  max-width: 80%;
  margin: 40px auto 20px auto;
}
.kv-copy-en{
  width: 300px;
  max-width: 70%;
  margin: 0 auto;
}
/* --------------------------- */
/* Message
/* --------------------------- */
.section-wrapper#message{
  background-image: url(../images/bg01_sp.jpg) ;
  background-size: cover;
  background-position-x: -110px;
}
.message-title{
  font-size: 3.4rem;
  margin-bottom: 50px;
  letter-spacing: 0.2em;
  line-height: 1.8;
}
.message-title-24{
  font-size: 1.6rem;
}
.message-title-32{
  font-size: 2rem;
}
.message-title-36{
  font-size: 2.4rem;
}
.message-text{
  margin-left: 35%;
  letter-spacing: 0.2em;
  line-height: 3;
  margin-bottom: 100px;
}

/* --------------------------- */
/* about
/* --------------------------- */
.about-number{
  font-size: 7rem;
  line-height: .5;
  margin-bottom: 30px;
  margin-top: 60px;
}
.about-number-ja{
  font-size: 1.5rem;
  letter-spacing: 0.2rem;
}
.about02{
  width: 80%;
  padding: 0px;
  border-left:1px solid #333; /*線の設定*/
  padding-left: 25px;
  margin-bottom: 30px;
}
/* --------------------------- */
/* owner
/* --------------------------- */
.owner-wrapper {
  background-color: #fff;
  margin-bottom: 100px; /* BOOKSセクションとの余白 */
}
.owner-title{
  font-size: 1.3rem;
  padding: 20px 20px 3px 50px;
  background-color: #EDEDED;
  /* margin: 0 calc(50% - 50vw);
  overflow: hidden; */
  margin-left: -100px;
  margin-bottom: 30px;
  margin-top: -50px;
}
.owner-name{
  font-size: 2.5rem;
}
.owner-bio{
  font-size: 1.3rem;
  padding: 50px;
  margin-top: -100px;
  width: 100%;
}
.section-title.owner{
  font-size: 5rem;
  margin-left: -52px;
  margin-bottom: 30px;
}
.books-list {
  font-size: 1.2rem;
  line-height: 1.8;
  margin-left: 0px;
}
/* --------------------------- */
/* instructors
/* --------------------------- */
.section-detail{
  font-size: 1.2rem;
  width: 80%;
  margin-left: auto;
  margin-top: 0px;
}
.line-black01{
  width: 80vw;
  height: 1px;
  background-color: #333;
  margin: 0 calc(50% - 50vw);
  margin-left: auto;
  margin-bottom: 50px;
}
.instructor-name{
  font-size: 2.4rem;
  font-family: "linotype-didot-headline", serif;
  font-weight: 400;
  line-height: .8;
  margin-top: 10px;
}
.instructor-wrapper{
  position: relative;
  width: 100%;
  height: 900px;
  margin: 0 auto;
}
.instrutor01{
  position: absolute;
  top: 0;
  left: 0;
}
.instrutor02{
  position: absolute;
  top: 3%;
  left: 38%;
}
.instrutor03{
  position: absolute;
  top: 0;
  left: 70%;
}
.instrutor04{
  position: absolute;
  top: 20%;
  left: 2%;
}
.instrutor05{
  position: absolute;
  top: 22%;
  left: 68%;
}
.instrutor06{
  position: absolute;
  top: 32%;
  left: 33%;
}
.instrutor07{
  position: absolute;
  top: 43%;
  left: 67%;
}
.instrutor08{
  position: absolute;
  top: 48%;
  left: 0;
}
.instrutor09{
  position: absolute;
  top: 56%;
  left: 35%;
}
.instrutor10{
  position: absolute;
  top: 70%;
  left: 70%;
}
.instrutor11{
  position: absolute;
  top: 80%;
  left: 4%;
}
.instrutor12{
  position: absolute;
  top: 77%;
  left: 38%;
}
.instrutor01 img{
  width: 33%;
  height: auto;
}
.instrutor02 img{
  width: 40%;
  height: auto;
}
.instrutor03 img{
  width: 100%;
  height: auto;
}
.instrutor04 img{
  width: 30%;
  height: auto;
}
.instrutor05 img{
  width: 90%;
  height: auto;
}
.instrutor06 img{
  width: 45%;
  height: auto;
}
.instrutor07 img{
  width: 80%;
  height: auto;
}
.instrutor08 img{
  width: 27%;
  height: auto;
}
.instrutor09 img{
  width: 40%;
  height: auto;
}
.instrutor10 img{
  width: 100%;
  height: auto;
}
.instrutor11 img{
  width: 30%;
  height: auto;
}
.instrutor12 img{
  width: 40%;
  height: auto;
}
/* --------------------------- */
/* beforeafter
/* --------------------------- */
.section-title-ba{
  font-size: 5rem;
  font-weight: 100;
  text-align: right;
  margin-bottom: -20px;
}
.section-detail02{
  font-size: 1.2rem;
  width: 80%;
  margin-left: auto;
}
.line-black02{
  width: 80vw;
  height: 1px;
  background-color: #333;
  margin: 0 calc(50% - 50vw);
  margin-left: auto;
  margin-bottom: 50px;
}
.beforeafter-photo {
  width: 300px;
  padding: 20px 30px;
}
/* --------------------------- */
/* voice
/* --------------------------- */
.section-title-v{
  font-size: 5rem;
  font-weight: 100;
  margin-bottom: 10px;
  line-height: 1;
}
.voice-item{
  width: 90%;
  margin-right: 0;
  margin: 0 auto;
  margin-bottom: 20px;
}
.voice-text{
  font-size: 1.6rem;
  padding: 10px;
}
.voice-wrapper{
  margin-bottom: 30px;
}
/* --------------------------- */
/* register
/* --------------------------- */
.rg-title-wrapper{
  position: absolute;
  top: 5%;
  left: 5%;
}
.section-title-rg{
  font-size: 4rem;
  line-height: 1.2;
  margin-bottom: 10px;
  margin-top: 50px;
}
.flow{
  width: 100%;
  margin: 0 auto;
}
.flow-wrapper{
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
}
.flow-img{
  max-width: 200px;
  margin-right: 10px;
}
.flow-img img{
  width: 200px;
}
.flow-title{
  font-size: 1.5rem;
  background-color: #fff;
  margin-left: -30px;
  margin-top: 10px;
  padding: 5px 20px 0 20px;
}
.flow-text{
  border-left: 1px solid #333;
  padding: 20px 0px;
  padding-left: 5px;
  margin-left: 5px;
  margin-top: 10px;
  margin-bottom: 0;
}
.flow-number{
  font-size: 2.8rem;
  font-family: "linotype-didot-headline", serif;
  font-weight: 400;
  line-height: 0.8;
}
/* --------------------------- */
/* fee
/* --------------------------- */
.section-wrapper#fee{
  background-image: url(../images/bg03_sp.jpg);
  background-size: cover;
  background-position: right;
}
.ad-fee{
  background-color:#fff;
  border: solid 15px #cdb1ba99;
  padding: 40px 50px 40px 50px;
  margin: 0 auto;
  margin-bottom: 50px;
  width: 250px;
}
.ad-service{
  background-color: rgba(255, 255, 255, 0.473);
  padding: 40px 50px 40px 50px;
  margin: 0 auto;
  margin-bottom: 50px;
  width: 280px;
}
.group{
  width: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 50px 80px 50px 80px;
  margin-right: 0;
  margin-bottom: 50px;
}
/* --------------------------- */
/* studio info
/* --------------------------- */
.shop-wrapper{
  border: solid 1px #333;
  padding: 30px;
  display: flex;
  flex-direction: column;
  margin-bottom: 30px;
}
.shop-img{
  max-width: 430px;
  max-height: 430px;
  margin-right: 0;
}
a.btn_18 {
	display: block;
	text-align: center;
	text-decoration: none;
	position: relative;
	width: 200px;
	padding: 0.2rem 2rem;
	font-weight: light;
	color: #333;
	background: #CDB1BA;
	transition: 0.3s ease-in-out;
  margin: 0 auto;
}
/* LINE */
.line-title{
  margin-bottom: 10px;
}
.line-text{
  margin-bottom: 20px;
}
.line-wrapper{
  background-color: #EFE3E9;
  padding: 20px 40px;
  max-width: 80%;
  margin: 0 auto;
}
/* --------------------------- */
/* Q&A
/* --------------------------- */
.section-wrapper#faq{
  background-image: url(../images/logo_only_fff_big.png);
  background-repeat: no-repeat;
  background-size: 700px;
  background-position: left -5% bottom 20%;
}
.section-inner-faq{
  display: flex;
  flex-direction: row;
}
.faq-title{
  max-width: 20%;
}
.about01{
  margin-right: 20px;
}
.faq-wrapper{
  width: 70%;
  padding: 5px;
  border-left:1px solid #333; /*線の設定*/
  padding-left: 25px;
}
.ac-title{
  font-size: 1.8rem;
  margin-bottom: 10px;
}
/* アコーディオンメニュー */
.ac-menu-wrapper{
  margin-bottom: 60px;
}
.ac-menu input {
  display: none;
}
.ac-menu label {
  color: #333; /* 文字色 */
  font-size: 1.3rem; /* 文字サイズ */
  line-height: 1.5; /* 行間 */
  text-align: left; /* 文字列 */
  background: none; /*背景色 */
  padding: 5px 10px 5px 10px; /* 内側の余白 */
  cursor: pointer;
  position: relative;
  display: block;
  margin-bottom: 5px;
}
.ac-menu label:after {
  position: absolute;
  right: 0px; /* 左からの距離 */
  top: 50%; /* 上下中央配置 */
  -webkit-transform : translateY(-50%);
  transform : translateY(-50%);
  content: "＋"; /* アイコン */
  color: #333;
  margin-left: 10px;
}
.ac-menu input:checked ~ label::after {
  content: "−"; /* クリック後のアイコン */
}
.ac-menu div {
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.3s; /* 開閉スピード */
}
.ac-menu input:checked ~ div {
  height: auto;
  opacity: 1;
  padding: 5px 10px; /* 中身の枠内の余白 */
  background: none; /* 中身の背景色 */
  margin-bottom: 10px;
}
.ac-menu-inside {
  color: #333; /* 中身の文字色 */
  font-size: 1.2rem; /* 中身の文字サイズ */
  line-height: 1.5; /* 行間 */
}
/* --------------------------- */
/* sns
/* --------------------------- */
.section-wrapper#sns{
  padding-top: 0;
}
.sns-wrapper{
  position: relative;
}
.salon-text-wrapper{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  letter-spacing: 0.2rem;
  text-align: center;
}
.salon-title-wrapper{
  /* border: solid #333;
  border-width: 1px; */
  /* padding: 10px 10px; */
  margin: 0 auto;
  margin-bottom: 10px;
  width: 350px;
}
.salon-text{
  font-size: 1.4rem;
  margin-bottom: 10px;
}
.salon-title{
  font-size: 2.3rem;
}
.salon-subtext{
  font-size: 1.1rem;
  width: 100%;
}
.instagram-text-wrapper{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  letter-spacing: 0.2rem;
  border: solid 2px #fff;
  padding: 30px 50px;
  margin-bottom: 20px;
  text-align: center;
  color: #fff;
  width: 50%;
}
.instagram-text{
  font-size: 1.3rem;
  margin-bottom: 10px;
  /* color: #fff; */
}
.instagram-title{
  font-size: 2.6rem;
  margin-bottom: 15px;
  /* color: #fff; */
}
.instagram-icon{
  width: 30px;
  margin: 0 auto;
  margin-bottom: 10px;
}
.instagram-subtext{
  font-size: 1.6rem;
  margin-bottom: 10px;
  /* color: #fff; */
}
.instagram-text-wrapper02{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  letter-spacing: 0.2rem;
  border: solid 2px #333;
  padding: 30px 50px;
  margin-bottom: 20px;
  text-align: center;
  width: 50%;
}
.sns-wrapper.youtube{
  padding-top: 0;
}
.responsive {
  width: 100%;
  aspect-ratio: 16/9;
  max-width: 600px;
  margin: 0 auto;
  margin-bottom: 50px;
}
.youtube-text{
  font-size: 1.3rem;
  text-align: center;
  letter-spacing: 0.2rem;
  margin: 100px auto 40px auto;
  padding: 0 20px;
}
}
/* --------------------------- */
/* SP_iphoneX
/* --------------------------- */
@media screen and (max-width:375px){
/* --------------------------- */
/* Message
/* --------------------------- */
.section-wrapper#message{
  background-image: url(../images/bg01_sp.jpg) ;
  background-size: cover;
  background-position-x: -120px;
}
.message-title{
  font-size: 3rem;
  margin-bottom: 50px;
  letter-spacing: 0.2em;
  line-height: 1.6;
}
.message-title-24{
  font-size: 1.4rem;
}
.message-title-32{
  font-size: 1.8rem;
}
.message-title-36{
  font-size: 2.2rem;
}
.message-text{
  margin-left: 35%;
  letter-spacing: 0.2em;
  line-height: 2.6;
  margin-bottom: 100px;
}
/* --------------------------- */
/* about
/* --------------------------- */
.about-number{
  font-size: 6rem;
  line-height: .5;
  margin-bottom: 30px;
  margin-top: 60px;
}
.about-logo{
  font-size: 2.8rem;
}
.about-number-ja{
  font-size: 1.3rem;
  letter-spacing: 0.1rem;
}
.about02{
  width: 80%;
  padding: 0px;
  border-left:1px solid #333; /*線の設定*/
  padding-left: 25px;
  margin-bottom: 30px;
}
.about-detail-20{
  font-size: 1.6rem;
}
.about-detail{
  font-size: 1.2rem;
  margin-bottom: 10px;
}
.about-s{
  font-size: 1rem;
}
/* --------------------------- */
/* owner
/* --------------------------- */
.owner-wrapper {
  background-color: #fff;
  margin-bottom: 100px; /* BOOKSセクションとの余白 */
}
.owner-name{
  font-size: 2.5rem;
}
.owner-bio{
  font-size: 1.3rem;
  padding: 50px;
  margin-top: -100px;
  width: 100%;
}
.section-title.owner{
  font-size: 4rem;
  margin-left: -52px;
  margin-bottom: 40px;
}
.book-title {
  font-size: 1.8rem;
  margin-bottom: 20px;
}
.books-img img {
  width: 120px; /* 各本の画像サイズ */
  height: auto;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease; /* ホバー時のアニメーション */
}
/* --------------------------- */
/* fee
/* --------------------------- */
.ad-fee{
  background-color:#fff;
  border: solid 15px #cdb1ba99;
  padding: 40px 50px 40px 50px;
  margin: 0 auto;
  margin-bottom: 50px;
  width: 200px;
}
.ad-service{
  background-color: rgba(255, 255, 255, 0.473);
  padding: 40px 20px 40px 20px;
  margin: 0 auto;
  margin-bottom: 50px;
  width: 290px;
}
}
