@charset "utf-8";
/*----------------------------------------------------
	共通パーツ
----------------------------------------------------*/
/*見出し中央*/
.heading {
  font-size: 2.8rem;
  font-family: YuMincho, Yu Mincho, serif;
  font-weight: normal;
  color: var(--subColor);
  text-align: center;
  position: relative;
  line-height: 1.8;
  margin-bottom: 1.5em;
}
.heading::after {
  content: '';
  background: var(--subColor);
  height: 1px;
  width: 90px;
  position: absolute;
  bottom: -.5em;
  left: calc(50% - 45px);
}
/*見出し左*/
.heading.-left {
  text-align: left;
}
.heading.-left::after {
  width: 45px;
  left: 0;
}
@media (max-width: 767px) { /* SP */
.heading { font-size: 2.4rem; }
}


/*緑色の大きいボタン*/
.buttonLarge {
  font-size: 2.2rem;
  line-height: 1.5;
  background: var(--subColor);
  border: 1px solid var(--subColor);
  color: #fff;
  border-radius: 100vh;
  cursor: pointer;
  display: block;
  padding: 1.3em 2.5em;
  text-align: center;
  text-decoration: none;
  transition: 0.2s ease-in-out;
  font-family: YuMincho, Yu Mincho, serif;
  width: 100%;
  margin: 1em auto;
}
.buttonLarge:hover {
  background: #fff;
  color: var(--subColor); ;
}
@media (max-width: 767px) { /* SP */
.buttonLarge { font-size: 1.8rem; }
}
/*緑色の大きいラインボタン*/
.buttonLarge.-line {
  background: #fff;
  color: var(--subColor);
}
.buttonLarge.-line:hover {
  background: var(--subColor);
  color: #fff;
}


/*茶色の小さいボタン*/
.buttonSmall {
  font-size: 1.4rem;
  line-height: 1.5;
  background: var(--mainColor);
  border: 1px solid var(--mainColor);
  color: #fff;
  border-radius: 100vh;
  cursor: pointer;
  display: inline-block;
  padding: 1.3em 2.5em;
  text-align: center;
  text-decoration: none;
  transition: 0.2s ease-in-out;
  font-family: YuMincho, Yu Mincho, serif;
  min-width: 250px;
  margin: 1em auto;
}
.buttonSmall:hover {
  background: #fff;
  color: var(--mainColor);
}
@media (max-width: 767px) { /* SP */
.buttonSmall { width: 100%; }
}

/*----------------------------------------------------
	flex
----------------------------------------------------*/
.flexBox { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1em; }
.flexBox__item { width: calc(50% - 0.5em); text-align: center; }

.flexBox3 { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
.flexBox3 p { width: 33%; text-align: left; }

.flexBoxP { display: flex; justify-content: space-between; align-items: center; gap: 1.5em; }

@media (max-width: 767px) { /* SP */
.flexBox,.flexBoxP { flex-direction: column; }
.flexBox__item { width: 100%; }
.flexBox3 p { width: 50%; }
}

/*----------------------------------------------------
	トップページ
----------------------------------------------------*/
.text__green { color: var(--subColor); }
.text__14 { font-size: 1.4rem; }
.text__16 { font-size: 1.6rem; }
.text__18 { font-size: 1.8rem; }
.text__20 { font-size: 2.0rem; font-family: YuMincho, Yu Mincho, serif; }
.text__22 { font-size: 2.2rem; font-family: YuMincho, Yu Mincho, serif; }
.text__28 { font-size: 2.8rem; font-family: YuMincho, Yu Mincho, serif; }
.text__30 { font-size: 3.0rem; font-family: YuMincho, Yu Mincho, serif; }
.text__36 { font-size: 2.6rem; font-family: YuMincho, Yu Mincho, serif; }

/*----------------------------------------------------
	トップページ　メインビジュアル
----------------------------------------------------*/
.main_visual {
  background: url("../../index/images/main_visual.webP") no-repeat center / cover;
  padding: 3em 1em;
  text-align: center;
}

/*----------------------------------------------------
	トップページ　Sns
----------------------------------------------------*/
.topSns {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  gap: 1em;
  margin-top: 1em;
  overflow-x: hidden;
  width: 100%;
}
.topSns__item {
  width: 530px;
}
.topSns__item__image {}
.topSns__item__text {
  padding: 1.5em 2em;
  text-align: center;
  background: #f0e9e1;
}

/*----------------------------------------------------
	トップページ　Menu
----------------------------------------------------*/
.topMenu {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1em;
  margin-top: 1em;
  overflow-x: hidden;
  width: 100%;
}
.topMenu__item {
  width: 530px;
  display: flex;
  margin: auto;
  margin-top: 1em;
  align-items: center;
  background: #f0e9e1;
}
.topMenu__item__image {
  width: 220px;
}
.topMenu__item__text {
  padding: 1.3em;
  width: 310px;
}
.topMenu__button {
  font-size: 1.4rem;
  line-height: 1.5;
  background: #fff;
  color: var(--mainColor);
  border-radius: 100vh;
  cursor: pointer;
  display: inline-block;
  padding: .7em 2em;
  text-align: center;
  text-decoration: none;
  transition: 0.2s ease-in-out;
  font-family: YuMincho, Yu Mincho, serif;
  margin-top: .5em;
}
.topMenu__button:hover {
  background: var(--mainColor);
  color: #fff
}
@media (max-width: 767px) { /* SP */
.topMenu { overflow-x: hidden; }
.topMenu__item { flex-direction: column; padding: 2em; }
.topMenu__item__text { padding: 1em 0 0 0; }
.topMenu__item__image,
.topMenu__item__text { width: auto; }
.topMenu__button { width: 100%; }
}

/*----------------------------------------------------
	トップページ　スクール
----------------------------------------------------*/
.topSchool {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1em;
  margin-top: 2em;
  margin-bottom: 2em;
}
.topSchool__item {
  width: min(100%, 345px);
  margin: auto;
  position: relative;
}
.topSchool__item__image {}
.topSchool__item__text {
  width: 100%;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0,-50%);
  font-size: 2.4rem;
  line-height: 1.5;
  font-weight: bold;
  color: #fff;
  font-family: YuMincho, Yu Mincho, serif;
  text-align: center;
  text-shadow:
       2px  2px 5px var(--mainColor),
      -2px  2px 5px var(--mainColor),
       2px -2px 5px var(--mainColor),
      -2px -2px 5px var(--mainColor),
       2px  0px 5px var(--mainColor),
       0px  2px 5px var(--mainColor),
      -2px  0px 5px var(--mainColor),
       0px -2px 5px var(--mainColor);
}

/*----------------------------------------------------
	トップページ　マッサージ
----------------------------------------------------*/
.massage__wrap { position: relative; width: min(100% - 4rem, 1100px); margin-inline: auto; }
.massage__item__image { text-align: right; padding: 2em 0; }
@media (min-width: 768px) { /* PC */
.massage__item__text { width: 50%; position: absolute; top: 50%; left: 0; transform: translateY(-50%); }
}
@media (max-width: 767px) { /* SP */
.massage__item__image { padding: .5em 0; }
.massage__wrap { padding: 3em 0; }
}

/*----------------------------------------------------
	トップページ　原点
----------------------------------------------------*/
.-bgBali { background: url("../../index/images/movie_back.webp") no-repeat center / cover; color: #fff; }
.-bgIitokodori { background: url("../../index/images/iitokodori_back.webp") no-repeat center / cover; color: #fff; }

.heading__bali {
  font-size: 2.8rem;
  font-family: YuMincho, Yu Mincho, serif;
  font-weight: normal;
  color: #fff;
  text-align: center;
  position: relative;
  line-height: 1.8;
  margin-bottom: .5em;
}

/*----------------------------------------------------
	トップページ　ご予約・お問い合わせ
----------------------------------------------------*/
.contact__reserve {
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
  border-left: var(--subColor) 1px solid;
  border-right: var(--subColor) 1px solid;
}
.contact__reserve__item {
  text-align: center;
  border-right: var(--subColor) 1px solid;
  padding: 1em;
  width: 50%;
}
.contact__reserve__item:last-of-type { border: none; }

.contact__tel { font-size: 3.4rem; font-family: YuMincho, Yu Mincho, serif; text-align: center; line-height: 1; }


/*----------------------------------------------------
	ワックス脱毛　お肌に安全なワックス脱毛
----------------------------------------------------*/
.wax__safety {
  display: grid;
  gap: 1em;
  grid-template-columns: repeat(auto-fit, minmax(275px, 1fr));
}
.wax__safety__item {
  background: #fff;
  padding: 2em;
}

/*----------------------------------------------------
	ワックス脱毛　ワックス脱毛について
----------------------------------------------------*/
.wax__about__line { border: var(--mainColor) 1px solid; padding: 1em 2em; text-align: center; margin-top: 2em; }
.wax__about__woman { background: #f6f4f4; padding: 3em 4em; }
.wax__about__man { background: #f5f8f5; padding: 3em 4em; }
.text__22.-line { border-bottom: var(--mainColor) 1px solid; padding-bottom: .2em; margin-bottom: .5em; }
.text__22.-woman_title { background: #dbd5d1; padding: 1.5em; text-align: center; margin-top: 4em; }
.text__22.-man_title { background: #d8e1d6; padding: 1.5em; text-align: center; margin-top: 2em; }
@media (max-width: 767px) { /* SP */
.wax__about__woman,
.wax__about__man { padding: 2em 1.5em; }
.text__22.-woman_title,
.text__22.-man_title { padding: 1em .5em; }
}

/*----------------------------------------------------
	ワックス脱毛　ワックス脱毛の注意点
----------------------------------------------------*/
.attention__line { border-top: 1px solid var(--mainColor); ; margin: 3em 0 1.5em; }
.attention__title { background: #edeae8; border-radius: 100vh; display: inline-block; line-height: 1.5; margin: 2em 0 1em; padding: .2em 1.5em; }

/*----------------------------------------------------
	ワックス脱毛　施術の流れ
----------------------------------------------------*/
.step { padding: 2.5em; margin: 5em 0 2em; position: relative; display: flex; gap: 3em; }
.step__number { font-size: 6.7rem; color: var(--subColor); font-family: YuMincho, Yu Mincho, serif; position: absolute; top: -70px; left: 50%; transform: translateX(-50%); }
.step__number span { font-size: 70%; }
.step__text { width: 55%; }
.step__text ul { margin-left: 1em; }
.step__title { font-size: 2.2rem; color: var(--subColor); font-family: YuMincho, Yu Mincho, serif; margin-bottom: .3em; }
@media (max-width: 767px) { /* SP */
.step { flex-direction: column; gap: 1em; }
.step__text { width: 100%; }
}

/*----------------------------------------------------
	ワックス脱毛　脱毛が初めての方へ
----------------------------------------------------*/
.beginner { display: flex; gap: 3em; }
.beginner__text { width: 50%; }
.text__18.-line { text-align: center; border: var(--mainColor) 1px solid; padding: .2em; margin: .5em 0; }
.beginner__pay { text-align: center; color: #fff; background: var(--mainColor); line-height: 1.5; margin-top: .5em; border-radius: .5em; padding: .5em 1em; }
.beginner__line { border-top: 1px solid var(--mainColor); ; margin: 1.5em 0 ; }
.beginner__title { background: #fff; border-radius: 100vh; display: inline-block; line-height: 1.5; margin-bottom: 1em; padding: .2em 1.5em; }
.beginner__attention ul { margin-left: 1em; }
@media (max-width: 767px) { /* SP */
.beginner { flex-direction: column; gap: 1em; }
.beginner__text { width: 100%; }
}

/*----------------------------------------------------
	バリニーズマッサージ
----------------------------------------------------*/
.-bgWhite { background: #fff; }
.oil { display: flex; gap: 2em; flex-wrap: wrap; margin: 4em 0 2em; }
.oil__item { padding: 3em; }
.oil__item.-bgWhite { background: #fff; color: var(--subColor); max-width: 48%; }
.oil__item.-bgGreen { background: var(--subColor); color: #fff; width: 100%; }
.oil__item__title { font-size: 2.2rem; font-family: YuMincho, Yu Mincho, serif; text-align: center; margin-bottom: .5em; }
.oil__item__text { margin: 0 2em; color: var(--mainColor); }
@media (max-width: 767px) { /* SP */
.oil__item { padding: 2em; }
.oil__item.-bgWhite { max-width: 100%; }
.oil__item__text { margin: 0; }
}

.aroma { display: flex; justify-content: center; justify-content: space-between; gap: 2em; margin: 4em 0 2em; }
.aroma__item { text-align: center; }
.aroma__bokashi { font-size: 2.2rem; font-family: YuMincho, Yu Mincho, serif; text-align: center; line-height: 1.5; padding: .7em 1em; margin-bottom: 1em; }
@media (max-width: 767px) { /* SP */
.aroma__item { font-size: 1.4rem; }
}

/*----------------------------------------------------
	アクセス
----------------------------------------------------*/
.map__txt { padding: 0.5em 0 3em; }

.access__inner { display: flex; justify-content: center; border-top: 1px solid var(--subColor); border-bottom: 1px solid var(--subColor); margin: 5.5em 0 3em; padding: 0.8em; }
.access__list { list-style-type: none; line-height: 2.0; color:var(--subColor); }
.access__list li::before { display: inline-block; content: ""; width: 10px; height: 10px; vertical-align: middle; border-radius: 5px; background-color:var(--subColor); margin-top: -0.25em; margin-right: 0.3em; }
.access__ttl { text-align: center; border: 1px solid var(--mainColor); margin-bottom: 1.5em; padding: 0.1em; }
.access__txt { margin-bottom: 5em; }

/*----------------------------------------------------
	カイロプラティック
----------------------------------------------------*/
.heading.-profile { line-height: 1.4; }
.profile__item { width: 58%; font-size: 1.4rem; text-align: justify; }
.profile__name { font-size: 2.2rem; font-family: YuMincho, Yu Mincho, serif; text-align: center; letter-spacing: 0.15em; border-bottom: 1px solid var(--mainColor); }

@media (max-width: 767px) { /* SP */
.profile__item { width: 100%; }
}

.heading.-kyt { line-height: 1.4; }
.kyt__box { margin: 1.5em 0 5em; }
.buttonSmall.-kyt { width: 90%; }

@media (max-width: 767px) { /* SP */
.buttonSmall.-kyt { width: 100%; }
}

/*----------------------------------------------------
	会社概要
----------------------------------------------------*/
.outline { padding: 5.5em 0; }
.outline__tb { width: 100%; line-height: 1.6; border-bottom: 1px solid var(--mainColor); border-spacing: 0; margin: 3em 0; }
.outline__tb th,.outline__tb td { display: block; width: 100%; text-align: center; border-top: 1px solid var(--mainColor); padding: 1.2em; }
.outline__tb th { background: var(--grayColor); font-weight: normal; }

@media (min-width:768px) { /* PC */
.outline__tb th,.outline__tb td { display: table-cell; width: auto; float: none; padding: 0; }
.outline__tb th { white-space: nowrap; }
.outline__tb td { text-align: left; padding: 1.2em 2.2em; }
.outline__color { border-top: #fff 3px solid; border-bottom: #fff 3px solid; display: block; padding: 1.2em 2.2em; }
}

.message { font-size: 1.7rem; font-family: YuMincho, Yu Mincho, serif; text-align: center; padding: 5em 0; }
.message__ttl { font-size: 2.5rem; font-weight: normal; color: var(--subColor); margin-top: 3em; }
.message__txt { line-height: 2.3; margin: 1.8em 0; }
.message__name span { font-size: 2.5rem; }

.license { padding: 5em 0 8em; }
.license__inner { display: flex; justify-content: center; }
.license__list { list-style-type: none; line-height: 2.5; }
.license__list li::before { display: inline-block; content: ""; width: 10px; height: 10px; vertical-align: middle; border-radius: 5px; background-color:var(--mainColor); margin-top: -0.25em; margin-right: 0.3em; }

/*----------------------------------------------------
	価格表
----------------------------------------------------*/
.price { font-size: 2.2rem; padding: 5em 0 6.3em; }

/*表（ベーシック）*/
.price__ttl { margin-top: 3.2em; }
.price__tb { width: 100%; font-family: YuMincho, Yu Mincho, serif; line-height: 1.6; border-bottom: 1px solid var(--mainColor); border-spacing: 0; background: var(--beigeColor); }
.price__tb th,.price__tb td { display: table-cell; border-top: 1px solid var(--mainColor); padding: 1.1em 0; }
.price__tb th { font-weight: normal; text-align: left; white-space: nowrap; padding-left: 1.5em; }
.price__tb td { width: 40%; text-align: right; padding-right: 1.2em; }
.price__tax { font-size: 1.7rem; font-feature-settings: "palt"; }
.price__txt { font-size: 1.6rem; font-family: YuGothic, Yu Gothic, sans-serif; }
.price__txt.-box { list-style-type: none; margin-top: 2.5em; padding-left: 1em; text-indent: -1em; }

/*表（セル連結タイプ）*/
.price__txt.-comment { text-align: left; border-top: none; padding: 0; }
.price__line { border-top: 1px solid #c8c0ba;  padding: 1.6em 0; margin: 0 2em; }


@media (max-width: 767px) { /* SP */
.price { font-size: 1.8rem; }
.price__tb th { padding-left: 1.2em; }
.price__tb td { padding-right: 0.9em; }
.price__tax { font-size: 1.5rem; }
.price__txt { font-size: 1.4rem; }

.price__tb.-school td { width: 100%; }
.price__tb.-school th { white-space: pre-wrap; }
.price__tb.-school th,.price__tb.-school td { display: block; padding-right: .7em; padding-left: .7em; }
}

/*----------------------------------------------------
	スクール（ワックス脱毛スクール）
----------------------------------------------------*/
.school__txt { font-feature-settings: "palt"; letter-spacing: 0.03em; padding: 0.5em 0 1em; }
.school__btnS { margin-bottom: 1.8em; }
.school__btnL { margin-top: 3.5em; }

.what__wax { background: url("../../school/images/img_wax.png") no-repeat 95% 55% / 70%; padding: 5em 0 7em; }
.what__txt { width: 30%; font-size: 1.4rem; text-align: justify; margin-left: 4em; padding-top: 3em; }
.what__txtP { padding-bottom: 5.4em; }
.what__btnS { margin: 1.5em 0; }

@media (min-width: 768px) and (max-width: 899px){
.what__wax { background: url("../../school/images/img_wax.png") no-repeat 95% 50% / 70%; padding: 5em 0; }
}
@media (max-width: 767px) { /* SP */
.what__wax { background: none; }
.what__txt { width: 100%; text-align: center; margin-left: 0; padding-top: 1em; }
.what__txtP { padding-bottom: 0; }
}

.day1__box { padding: 3em 0 2.2em; }
.day1__item { padding: 2em 5em 2.5em; }
.day1__ttl { font-size: 2.2rem; font-family: YuMincho, Yu Mincho, serif; color: var(--subColor); margin-bottom: 0.5em; }
.price.-day1 { padding: 0; }
.price__txt.-comment.-day1 { font-feature-settings: "palt"; letter-spacing: 0.05em; } 
.day1__list { max-width: 500px; margin: 3em auto 5em; }
.day1__list h3 { font-size: 2.2rem; font-family: YuMincho, Yu Mincho, serif; font-weight: normal; padding-bottom: 1em; }

/*----------------------------------------------------
	スクール（クイーンローズ）
----------------------------------------------------*/
.heading.-queenrose { line-height: 1.4; }
.queenrose__text { font-feature-settings: "palt"; letter-spacing: 0.03em; padding: 0.5em 0 3.5em; }
.subTitle { font-size: 2.8rem; font-family: YuMincho, Yu Mincho, serif; font-weight: normal; color: var(--subColor); line-height: 1.6; }

.belongings__title { font-size: 2.2rem; font-family: YuMincho, Yu Mincho, serif; font-weight: normal; background: #d8e1d6; padding: 1.4em; }
.belongings__text { background: #f5f8f5; padding: 2.2em; }

.course__inner { padding-block: 3em; }
.course__flexBox { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4em; }
.course__img { width: 33%; }
.course__item { flex: 1; }
.price__tb.-queenrose { font-size: 2.2rem; background: #ebe2d7; letter-spacing: 0.05em; margin: 0.7em 0 1.2em; }
.price__tb.-queenrose td { width: 60%; }
.course__text span { font-weight: bold; }
.course__box { text-align: center; border: var(--subColor) 1px solid; padding: 2.5em; margin-bottom: 5em; }

@media (max-width: 767px) { /* SP */
.course__flexBox { flex-direction: column; gap: 2em; }
.course__img,.course__item { width: 100%; }
.course__img { text-align: center; }
.course__box { padding: 2em; }
}

.-bgLeaf { background: url("../../school/images/application_bg.jpg") no-repeat center / cover; }
.application__inner { padding-block: 9.5em; }
.application__box { background: #fff; padding: 2.2em 4.6em 3em; }
.application__text { border-top: var(--mainColor) 1px solid; margin-top: 1em; padding-top: 1em; }
.application__text span { font-weight: bold; }

@media (max-width: 767px) { /* SP */
.application__inner { padding-block: 7em; }
.application__box { padding: 2.2em; }
}

.future__flexBox { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; padding: 2em 0 4em; }
.future__img { width: 47%; background: #e7e4e1; padding: 2em; text-align: center; }
.future__img.-bgOrange { background: #fbede3 }
.future__text { text-align: justify; }
.future__icon { width: 6%; padding: 0.5em; text-align: center; }
.future__list { font-size: 2.1rem; line-height: 2; position: relative; list-style-type: none; margin-bottom: 3.5em; }
.future__list li:before { content: url("../../school/images/future_icon_02.png"); margin-right: 8px;
}

@media (max-width: 767px) { /* SP */
.future__flexBox { flex-direction: column; }
.future__img { width: min(100%, 520px); margin-inline: auto; }
.future__icon { width: 100%; }
.future__list { font-size: 1.8rem; line-height: 1.8; }
}
