@charset "UTF-8";
/* ========================================
リセットCSS
======================================== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
}

main {
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: inherit;
  font-size: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
div {
  overflow-wrap: break-word;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

iframe {
  max-width: 100%;
  vertical-align: middle;
}

span {
  font: inherit;
  letter-spacing: inherit;
}

ul,
ol {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

address {
  font: inherit;
}

input,
button,
textarea,
select {
  color: inherit;
  font: inherit;
  vertical-align: middle;
}

button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  border: none;
  outline: none;
  cursor: pointer;
}

/* ========================================
変数・関数
======================================== */
:root {
  --color-black: #444;
  --color-pink: #d87094;
  --color-orange: #f68654;
  --color-gold: #9f8862;
  --font-base: "Zen Old Mincho", serif;
  --font-en: "Playfair Display","Zen Old Mincho", serif;
  --box-shadow: 3px 3px 4px color-mix(in srgb, #000 16%, transparent);
  --mg-sp: 5vw;
}

/* ========================================
mixin
======================================== */
/* ========================================
ベースCSS
======================================== */
body {
  color: var(--color-black);
  font-family: var(--font-base);
  font-size: 16px;
  font-weight: 400;
  line-height: 2;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
}
@media screen and (max-width: 767px) {
  body {
    font-size: min(4vw, 16px);
  }
}

*,
*::before,
*::after {
  letter-spacing: 0.02em;
}

a {
  color: inherit;
  text-decoration: none;
}

/* CLEAR-FIX */
/* ========================================
モジュール・パーツ m-
======================================== */
.m-inner {
  width: 90vw;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .m-inner {
    width: calc(100% - var(--mg-sp) * 2);
  }
}

.m-secTtl-en {
  color: #9f8862;
  font-family: var(--font-en);
  font-size: 46px;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .m-secTtl-en {
    font-size: min(8.5333333333vw, 32px);
  }
}
.m-secTtl-en + .m-secTtl-jp {
  margin-top: 4px;
}

.m-secTtl-jp {
  color: var(--color-orange);
  font-size: 22px;
  font-weight: 600;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .m-secTtl-jp {
    font-size: min(4.2666666667vw, 16px);
  }
}

.m-secTtlBox {
  padding: 51px 0 35px;
  background: url(/assets/image/common/ttl_bg@2x.png) center/cover;
}
@media screen and (max-width: 767px) {
  .m-secTtlBox {
    padding: 30px 0 20px;
  }
}

.m-shadow {
  box-shadow: var(--box-shadow);
}

.m-size-min {
  display: inline-block;
  transform: scale(0.6);
}

.m-appBtn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  height: 90px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 92px;
  padding-right: 54px;
  background: linear-gradient(#f89e77 0%, #f89e77 70%, #f9b090 100%);
  border-radius: 45px;
  box-shadow: var(--box-shadow);
  color: #fff;
  font-size: 30px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.025em;
  text-shadow: 0.066em 0.066em 0.066em color-mix(in srgb, #000 10%, transparent);
  position: relative;
}
@media screen and (max-width: 767px) {
  .m-appBtn {
    flex-direction: row;
    align-items: center;
    gap: 0 10px;
    width: 100%;
    height: 60px;
    padding: 0;
    font-size: 20px;
  }
}
@media (hover: hover) {
  .m-appBtn {
    transition: opacity 0.3s;
  }
  .m-appBtn:hover {
    opacity: 0.7;
  }
}
.m-appBtn::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-left: 9px solid #fff;
  border-right: 0;
  position: absolute;
  top: 50%;
  left: 66px;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .m-appBtn::before {
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 8px solid #fff;
    position: static;
    transform: none;
  }
}
.m-appBtn::after {
  content: "";
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border-radius: 45px;
  border: 1px solid #fff;
  position: absolute;
  top: 4px;
  left: 4px;
  pointer-events: none;
}
.m-appBtn.-pink {
  background: linear-gradient(90deg, #e294af 0%, #e294af 70%, #e6a2b9 100%);
}

.m-appNotes {
  margin-top: 10px;
  font-size: 14px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .m-appNotes {
    font-size: 12px;
  }
}

.m-appBtnBorder {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 11px;
  width: 300px;
  height: 70px;
  margin: 80px auto 0;
  padding: 0 24px;
  border: 2px solid #fab699;
  border-radius: 35px;
  box-shadow: var(--box-shadow);
  color: #f68654;
  font-family: var(--font-en);
  font-size: 24px;
  line-height: 1;
  transition: opacity 0.3s;
}
.m-appBtnBorder::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-left: 9px solid #fab699;
  border-right: 0;
}
@media (hover: hover) {
  .m-appBtnBorder:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .m-appBtnBorder {
    width: 100%;
    height: 60px;
    margin-top: 60px;
    font-size: 20px;
  }
}


.m-appText {
  margin-top: 10px;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
}
.m-appText a {
  display: inline-block;
  color: #3a98a2;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  position: relative;
}
.m-appText a::before {
  content: "";
  display: block;
  width: 4px;
  height: 8px;
  background: #3a98a2;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  position: absolute;
  top: 50%;
  left: -8px;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .m-appText {
    font-size: 16px;
  }
}

.m-appText.noArrow {
  margin-top: 60px; /* ← 余白を広げる */
  margin-bottom: -20px; /* ※注意して使う */
}

.m-appText.noArrow a::before {
  display: none; /* ← 矢印を消す */
}

@media screen and (max-width: 767px) {
  .m-appText.noArrow {
    margin-top: 40px;
    font-size: 16px;
  }
}

.m-fadeIn {
  opacity: 0;
  transform: translateY(40px);
}
.m-fadeIn.is-on {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 1.4s, transform 1.4s;
}

/* ========================================
補助的に使用 u-
======================================== */
@media screen and (min-width: 768px) {
  .u-sp {
    display: none !important;
  }
}

@media screen and (min-width: 1025px) {
  .u-sp-lg {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pc {
    display: none !important;
  }
}

@media screen and (max-width: 1024px) {
  .u-pc-lg {
    display: none !important;
  }
}

.u-ib {
  display: inline-block !important;
}

.u-text-center {
  text-align: center !important;
}
.u-text-left {
  text-align: left !important;
}
.u-text-right {
  text-align: right !important;
}

.u-color-pink {
  color: var(--color-pink) !important;
  font-weight: 600;
}
.u-color-orange {
  color: var(--color-orange) !important;
  font-weight: 600;
}
.u-color-gold {
  color: var(--color-gold) !important;
  font-weight: 600;
}

.u-weight-100 {
  font-weight: 100 !important;
}

.u-weight-200 {
  font-weight: 200 !important;
}

.u-weight-300 {
  font-weight: 300 !important;
}

.u-weight-400 {
  font-weight: 400 !important;
}

.u-weight-500 {
  font-weight: 500 !important;
}

.u-weight-600 {
  font-weight: 600 !important;
}

.u-weight-700 {
  font-weight: 700 !important;
}

.u-weight-800 {
  font-weight: 800 !important;
}

.u-weight-900 {
  font-weight: 900 !important;
}

.u-mt-5 {
  margin-top: 5px !important;
}

.u-mt-10 {
  margin-top: 10px !important;
}

.u-mt-15 {
  margin-top: 15px !important;
}

.u-mt-20 {
  margin-top: 20px !important;
}

.u-mt-25 {
  margin-top: 25px !important;
}

.u-mt-30 {
  margin-top: 30px !important;
}

.u-mt-35 {
  margin-top: 35px !important;
}

.u-mt-40 {
  margin-top: 40px !important;
}

.u-mt-45 {
  margin-top: 45px !important;
}

.u-mt-50 {
  margin-top: 50px !important;
}

.u-mt-55 {
  margin-top: 55px !important;
}

.u-mt-60 {
  margin-top: 60px !important;
}

.u-mt-65 {
  margin-top: 65px !important;
}

.u-mt-70 {
  margin-top: 70px !important;
}

.u-mt-75 {
  margin-top: 75px !important;
}

.u-mt-80 {
  margin-top: 80px !important;
}

.u-mt-85 {
  margin-top: 85px !important;
}

.u-mt-90 {
  margin-top: 90px !important;
}

.u-mt-95 {
  margin-top: 95px !important;
}

.u-mt-100 {
  margin-top: 100px !important;
}

.u-mb-5 {
  margin-bottom: 5px !important;
}

.u-mb-10 {
  margin-bottom: 10px !important;
}

.u-mb-15 {
  margin-bottom: 15px !important;
}

.u-mb-20 {
  margin-bottom: 20px !important;
}

.u-mb-25 {
  margin-bottom: 25px !important;
}

.u-mb-30 {
  margin-bottom: 30px !important;
}

.u-mb-35 {
  margin-bottom: 35px !important;
}

.u-mb-40 {
  margin-bottom: 40px !important;
}

.u-mb-45 {
  margin-bottom: 45px !important;
}

.u-mb-50 {
  margin-bottom: 50px !important;
}

.u-mb-55 {
  margin-bottom: 55px !important;
}

.u-mb-60 {
  margin-bottom: 60px !important;
}

.u-mb-65 {
  margin-bottom: 65px !important;
}

.u-mb-70 {
  margin-bottom: 70px !important;
}

.u-mb-75 {
  margin-bottom: 75px !important;
}

.u-mb-80 {
  margin-bottom: 80px !important;
}

.u-mb-85 {
  margin-bottom: 85px !important;
}

.u-mb-90 {
  margin-bottom: 90px !important;
}

.u-mb-95 {
  margin-bottom: 95px !important;
}

.u-mb-100 {
  margin-bottom: 100px !important;
}

/* ========================================
header
======================================== */
/* ========================================
footer
======================================== */
/* ========================================
メニュー
======================================== */
.headTtl {
  padding: 22px 0 16px;
  color: #75541e;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .headTtl {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 60px;
    background: #fff;
    padding: 0 15px;
    position: sticky;
    top: 0;
    z-index: 10;
  }
}
.header_logo {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 0;
}
@media screen and (max-width: 767px) {
  .header_logo {
    width: 108px;
    margin: 0;
  }
}
.header_navBtn {
  display: none;
}
@media screen and (max-width: 767px) {
  .header_navBtn {
    display: block;
    color: #75541e;
    position: relative;
    z-index: 3;
  }
  .header_navBtn span:not(._text) {
    display: block;
    width: 100%;
    height: 1px;
    background: #75541e;
    transition: 0.3s;
  }
  .header_navBtn span:not(._text) + span:not(._text) {
    margin-top: 5px;
  }
  .is-menuActive .header_navBtn span:not(._text):nth-child(1) {
    transform: translateY(11px) rotate(45deg);
  }
  .is-menuActive .header_navBtn span:not(._text):nth-child(2) {
    opacity: 0;
  }
  .is-menuActive .header_navBtn span:not(._text):nth-child(3) {
    transform: translateY(-1px) rotate(-45deg);
  }
  .header_navBtn ._text {
    margin-top: 4px;
    display: block;
    font-family: var(--font-en);
    font-size: 10px;
    line-height: 1;
    text-align: center;
  }
  .is-menuActive .header_navBtn ._text {
    opacity: 0;
  }
}

.nav {
  margin-top: 23px;
  background: linear-gradient(90deg, #f3d4df 0%, #ebb7c9 30%, #ebb7c9 70%, #f3d4df 100%);
}
@media screen and (max-width: 767px) {
  .nav {
    width: 100%;
    height: calc(100% - 60px);
    margin-top: 0;
    background: #faecf0;
    position: fixed;
    top: 60px;
    right: 0;
    z-index: 2;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
  }
  .is-menuActive .nav {
    opacity: 1;
    visibility: visible;
  }
}
.nav ul {
  display: flex;
  justify-content: space-between;
  max-width: 870px;
}
@media screen and (max-width: 767px) {
  .nav ul {
    display: block;
    width: 100%;
  }
}
.nav a {
  display: block;
  color: #fff;
  font-family: var(--font-en);
  font-size: clamp(14px, 1.8229166667vw, 18px);
  line-height: 44px;
}
@media screen and (max-width: 767px) {
  .nav a {
    padding-left: 30px;
    color: #444;
    line-height: 59px;
    border-bottom: 1px solid #fff;
    position: relative;
  }
  .nav a::before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 6px solid #eab2c5;
    border-right: 0;
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
  }
}

.mv {
  overflow: hidden;
  padding-top: 84px;
}
@media screen and (max-width: 767px) {
  .mv {
    padding-top: 0;
  }
  .mv::before {
    content: "";
    display: block;
    width: 100%;
    height: 5px;
    margin-bottom: 58px;
    background: linear-gradient(90deg, #f3d4df 0%, #ebb7c9 30%, #ebb7c9 70%, #f3d4df 100%);
  }
}
.mv_inner {
  max-width: 912px;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .mv_inner {
    width: 80vw;
  }
}
@media screen and (max-width: 767px) {
  .mv_inner {
    width: 100%;
  }
}
.mv_ttl {
  color: #9f8862;
  font-family: var(--font-en);
  font-size: min(5.2083333333vw, 62px);
  line-height: 0.8732394366;
  letter-spacing: 0.07em;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  transform: translate(-28%, -42%);
}
@media screen and (max-width: 767px) {
  .mv_ttl {
    font-size: 9.8666666667vw;
    transform: translate(13%, -42%);
  }
}
.mv_ttl ._min {
  font-size: 0.6774193548em;
  letter-spacing: 0.07em;
}
@media screen and (max-width: 767px) {
  .mv_ttl ._min {
    font-size: 0.7297297297;
  }
}
.mv_img {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .mv_img {
    width: 84%;
    margin-left: auto;
  }
}
.mv_img::after {
  content: "";
  display: block;
  width: 100vw;
  background: linear-gradient(90deg, #fbf0f4 0%, #f7e2ea 50%, #fbf0f4 100%);
  height: min(30.4166666667vw, 365px);
  position: absolute;
  left: min(5.3333333333vw, 64px);
  bottom: max(-6.1666666667vw, -74px);
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .mv_img::after {
    left: 10vw;
    bottom: -11.6vw;
  }
}
.mv_img img {
  width: 100%;
  box-shadow: var(--box-shadow);
}
.mv_text01 {
  margin-top: 134px;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.7272727273;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .mv_text01 {
    margin-top: 75px;
    font-size: min(calc(22 / 375 * 100vw), 22px);
  }
}
.mv_text02 {
  margin-top: 37px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .mv_text02 {
    margin-top: 30px;
  }
}

.concept {
  padding: 73px 0 70px;
  margin-top: 60px;
  background: url(/assets/image/concept/bg@2x.jpg) center/cover;
}
@media screen and (max-width: 767px) {
  .concept {
    margin-top: 40px;
    padding: 40px 0;
  }
}
.concept_container {
  max-width: 870px;
  padding: 50px 30px 48px;
  border: 4px solid #f7e2e9;
  background: color-mix(in srgb, #fff 90%, transparent);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .concept_container {
    padding: 30px var(--mg-sp);
  }
}
.concept .m-secTtl-en {
  color: #75541e;
}
.concept_read {
  margin-top: 16px;
  font-size: 22px;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .concept_read {
    font-size: min(calc(19 / 375 * 100vw), 19px);
  }
}
.concept_desc {
  margin-top: 33px;
}

.ba {
  padding-top: 64px;
  padding-bottom: 40px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .ba {
    padding-top: 40px;
  }
}
.ba_read {
  margin-top: 32px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .ba_read {
    margin-top: 20px;
  }
}

.baSec {
  margin-top: 43px;
}
.baSec + .baSec {
  margin-top: 100px;
}
.baSec_ttlBox {
  padding-left: 27px;
  border-left: 12px solid #f2cfda;
}
@media screen and (max-width: 767px) {
  .baSec_ttlBox {
    padding-left: 20px;
    border-width: 6px;
  }
}
.baSec_ttlBox .m-secTtl-en {
  font-size: 43px;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .baSec_ttlBox .m-secTtl-en {
    font-size: 28px;
  }
}
.-fashion .baSec_ttlBox {
  border-color: #fbc2a9;
}
.baSec_ttl {
  display: flex;
  flex-wrap: wrap;
  gap: 0 19px;
  margin-top: 5px;
}
.baSec_ttl > span {
  display: block;
  position: relative;
  padding-left: 12px;
  font-size: 16px;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .baSec_ttl > span {
    font-size: 14px;
  }
}
.baSec_ttl > span::before {
  content: "・";
  display: block;
  color: #f89e77;
  position: absolute;
  top: 0;
  left: -6px;
}
.baSec_container {
  max-width: 920px;
  margin: 48px auto 0;
}
@media screen and (max-width: 767px) {
  .baSec_container {
    margin-top: 20px;
  }
}
.baSec_list {
  display: flex;
  flex-wrap: wrap;
  gap: 60px 4.347826087%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .baSec_list {
    gap: 20px 0;
  }
}
.baSec_list > li {
  width: 30.4347826087%;
}
@media screen and (max-width: 767px) {
  .baSec_list > li {
    width: 100%;
  }
  .baSec_list > li img {
    width: 100%;
  }
}
.baSec_list.-none3 > li:nth-child(n+4) {
  display: none;
}
.baSec_list::before {
  content: "";
  display: block;
  width: 100vw;
  background: linear-gradient(90deg, #fbf0f4 0%, #f7e2ea 50%, #fbf0f4 100%);
  height: 240px;
  position: absolute;
  left: min(5.3333333333vw, 64px);
  bottom: -40px;
  z-index: -1;
}
.-fashion .baSec_list::before {
  left: auto;
  right: min(5.3333333333vw, 64px);
  background: linear-gradient(90deg, #fef3ee 0%, #fde7dd 50%, #fef3ee 100%);
  bottom: -17px;
}
.baSec_list img {
  box-shadow: 4px 4px 4px color-mix(in srgb, #8e4067 20%, transparent);
}
.baSec_moreBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 14px;
  width: 220px;
  height: 56px;
  margin-top: 60px;
  margin-left: auto;
  padding-bottom: 4px;
  background-color: #fff;
  border: 2px solid #eab2c5;
  color: #eab2c5;
  font-family: var(--font-en);
  font-size: 25px;
  letter-spacing: 0.1em;
  line-height: 1;
  box-shadow: var(--box-shadow);
}
.baSec_moreBtn::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 9px solid transparent;
  border-left: 9px solid transparent;
  border-top: 9px solid #eab2c5;
  border-bottom: 0;
  transform: translateY(2px);
}
.baSec_moreBtn.is-close::before {
  transform: translateY(2px) rotate(180deg);
}
.baSec_contTtl {
  margin-top: 14px;
  color: #9f8862;
}
.baSec_contTtl > span {
  display: block;
  text-align: center;
  line-height: 1;
}
.baSec_contTtl ._en {
  font-family: var(--font-en);
  font-size: 20px;
}
.baSec_contTtl ._en::after {
  content: "";
  display: block;
  width: 98px;
  height: 1px;
  max-width: 100%;
  margin: 6px auto 4px;
  background: #9f8862;
}
.message {
  margin-top: 97px;
  padding: 70px 0;
  background: url(/assets/image/message/bg@2x.jpg) center/cover;
}
@media screen and (max-width: 767px) {
  .message {
    padding: 40px 0;
    margin-top: 40px;
  }
}
.message_container {
  max-width: 920px;
  padding: 33px 40px 32px;
  background: #fff;
  border-radius: 10px;
  background: #fff;
  box-shadow: var(--box-shadow);
}
@media screen and (max-width: 767px) {
  .message_container {
    padding: 30px var(--mg-sp);
  }
}
.message_colBox {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 30px 4.1666666667%;
  margin-top: 47px;
}
@media screen and (max-width: 767px) {
  .message_colBox {
    flex-direction: column;
    align-items: center;
    margin-top: 30px;
  }
}
.message_imgBox {
  width: 39.2857142857%;
}
@media screen and (max-width: 767px) {
  .message_imgBox {
    width: 100%;
    max-width: 330px;
    margin: 0 auto;
  }
  .message_imgBox img {
    width: 100%;
  }
}
.message_contBox {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .message_contBox {
    flex: none;
  }
}
.message_desc {
  margin-top: -0.6em;
  letter-spacing: 0;
}

.menu {
  overflow: hidden;
  padding-bottom: 5px;
}
.menu_reserve {
  margin-top: 135px;
}
@media screen and (max-width: 767px) {
  .menu_reserve {
    margin-top: 60px;
  }
}
.menu_reserve2 {
  margin-top: 90px;
}
@media screen and (max-width: 767px) {
  .menu_reserve2 {
    margin-top: 60px;
  }
}

.menuList {
  max-width: 940px;
  margin: 95px auto 0;
}
@media screen and (max-width: 767px) {
  .menuList {
    margin-top: 40px;
  }
}
.menuList > li {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0 30px;
}
@media screen and (max-width: 767px) {
  .menuList > li {
    display: block;
  }
}
.menuList > li + li {
  margin-top: 156px;
}
@media screen and (max-width: 767px) {
  .menuList > li + li {
    margin-top: 80px;
  }
}
.menuList > li:nth-child(odd) .menuList_recommend ._ttl {
  color: var(--color-orange);
}
.menuList > li:nth-child(odd) .menuList_imgBox::before,
.menuList > li:nth-child(odd) .menuList_recommend::before {
  background: #fde7db;
}
.menuList > li:nth-child(odd) .menuList_imgBox::before {
  right: 46.0526315789%;
}
.menuList > li:nth-child(odd) .menuList_recommend ._list li::before {
  background: url(/assets/image/menu/check-orenge.svg);
}
.menuList > li:nth-child(even) {
  flex-direction: row-reverse;
}
.menuList > li:nth-child(even) .m-secTtl-jp,
.menuList > li:nth-child(even) .menuList_recommend ._ttl {
  color: var(--color-pink);
}
.menuList > li:nth-child(even) .menuList_imgBox::before,
.menuList > li:nth-child(even) .menuList_recommend::before {
  background-color: #f8e7ed;
}
.menuList > li:nth-child(even) .menuList_imgBox::before {
  left: 46.0526315789%;
}
@media screen and (max-width: 767px) {
  .menuList > li:nth-child(even) .menuList_imgBox {
    margin-left: auto;
  }
}
.menuList > li:nth-child(even) .menuList_recommend ._list li::before {
  background: url(/assets/image/menu/check-pink.svg);
}
.menuList_imgBox {
  margin-top: 45px;
  width: 40.4255319149%;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .menuList_imgBox {
    width: 80%;
  }
}
.menuList_imgBox::before {
  content: "";
  display: block;
  width: 100vw;
  height: 94.2105263158%;
  position: absolute;
  bottom: 0;
  z-index: -1;
  transform: translateY(13%);
}
@media screen and (max-width: 767px) {
  .menuList_imgBox::before {
    transform: translateY(8%);
  }
}
.menuList_imgBox img {
  box-shadow: var(--box-shadow);
}
.menuList_contBox {
  flex: 1;
  max-width: 480px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .menuList_contBox {
    width: 100%;
    margin-top: 50px;
  }
}
.menuList_contTtl {
  text-align: center;
}
.menuList_contTtl > span {
  display: block;
}
.menuList_contTtl .m-secTtl-en {
  font-size: 43px;
}
@media screen and (max-width: 767px) {
  .menuList_contTtl .m-secTtl-en {
    font-size: 28px;
  }
}
.menuList_desc {
  margin-top: 32px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .menuList_desc {
    margin-top: 20px;
    text-align: left;
  }
}
.menuList_recommend {
  width: 105%;
  margin-top: 44px;
  padding-left: 43px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .menuList_recommend {
    margin-top: 20px;
    padding-left: 20px;
  }
}
.menuList_recommend::before {
  content: "";
  width: 18px;
  height: calc(100% + 8px);
  position: absolute;
  top: -2px;
  left: 0;
  background: #000;
}
@media screen and (max-width: 767px) {
  .menuList_recommend::before {
    width: 10px;
  }
}
.menuList_recommend ._ttl {
  font-size: 18px;
  font-weight: 600;
}
.menuList_recommend ._list {
  margin-top: 21px;
}
@media screen and (max-width: 767px) {
  .menuList_recommend ._list {
    margin-top: 10px;
  }
}
.menuList_recommend ._list li {
  padding-left: 20px;
  line-height: 1.75;
  position: relative;
}
.menuList_recommend ._list li::before {
  content: "";
  display: block;
  width: 15px;
  height: 12px;
  position: absolute;
  top: 8px;
  left: 0;
}
.menuList_recommend ._list li + li {
  margin-top: 7px;
}

.menuOverview {
  margin-top: 100px;
}
.menuOverview + .menuOverview {
  margin-top: 90px;
}
.menuOverview_ttl {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 22px 0 15px;
  background-image: url(/assets/image/menu/ttl_border.png), url(/assets/image/menu/ttl_border.png);
  background-position: center top, center bottom;
  background-size: auto 6px, auto 6px;
  background-repeat: no-repeat, no-repeat;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .menuOverview_ttl {
    background-size: auto 4px, auto 4px;
  }
}
.menuOverview_ttl > span {
  display: block;
}
.menuOverview_ttl .m-secTtl-en {
  font-size: 38px;
}
@media screen and (max-width: 767px) {
  .menuOverview_ttl .m-secTtl-en {
    font-size: 28px;
  }
}
.menuOverview_ttl .m-secTtl-jp {
  margin-top: 2px;
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .menuOverview_ttl .m-secTtl-jp {
    font-size: 15px;
  }
}
.menuOverview_col3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto 1fr;
  gap: 20px 20px;
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .menuOverview_col3 {
    display: flex;
    flex-direction: column;
    gap: 80px 0;
  }
}
.menuOverview_cont {
  padding: 15px 0 25px;
  border-radius: 10px;
  box-shadow: 0 0 6px color-mix(in srgb, #96385c 20%, transparent);
  position: relative;
}
.menuOverview_cont.-pink {
  background: #fcf5f8;
}
.menuOverview_cont.-pink .menuOverview_contTtlEn {
  background-color: #e49fb6;
}
.menuOverview_cont.-pink .menuOverview_read {
  color: var(--color-pink);
}
.menuOverview_cont.-pink .menuOverview_img {
  background: #f8e7ed;
}
.menuOverview_cont.-pink .menuOverview_info dt {
  background-color: #ebb7c8;
}
.menuOverview_cont.-orange {
  background: #fef8f4;
}
.menuOverview_cont.-orange .menuOverview_contTtlEn {
  background-color: #f8a47f;
}
.menuOverview_cont.-orange .menuOverview_read {
  color: var(--color-orange);
}
.menuOverview_cont.-orange .menuOverview_img {
  background: #fde7db;
}
.menuOverview_cont.-orange .menuOverview_info dt {
  background-color: #fab699;
}
.menuOverview_contTtl {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 2.6em;
  color: #9f8862;
  font-size: min(2.0833333333vw, 20px);
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .menuOverview_contTtl {
    font-size: min(calc(22 / 375 * 100vw), 22px);
  }
}
.menuOverview_popular {
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(6.1979166667vw, 68px);
  height: min(6.1979166667vw, 68px);
  padding-bottom: min(0.4557291667vw, 5px);
  border-radius: 50%;
  background: #aa9674;
  color: #fff;
  font-size: min(1.640625vw, 18px);
  font-weight: 700;
  line-height: 1.1111111111;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  transform: translate(-29%, -29%);
}
@media screen and (max-width: 767px) {
  .menuOverview_popular {
    width: 54.4px;
    height: 54.4px;
    padding-bottom: 4px;
    font-size: 14.4px;
    transform: translate(-20%, -40%);
  }
}
.menuOverview_popular::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 2px solid #c1b29a;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.menuOverview_popular ._num {
  font-size: 1.3333333333em;
}
.menuOverview_contTtlEn {
  margin-top: 9px;
  padding: 2px 10px;
  color: #fff;
  font-family: var(--font-en);
  font-size: 14px;
  text-align: center;
  line-height: 1.2;
}
.menuOverview_read {
  margin-top: 4px;
  font-size: min(1.5625vw, 16px);
  font-weight: 600;
  line-height: 1.625;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .menuOverview_read {
    margin-top: 8px;
    font-size: min(calc(16 / 375 * 100vw), 16px);
  }
}
.menuOverview_img {
  width: calc(100% - 20px);
  margin: 10px auto 0;
  padding: 4px;
}
@media screen and (max-width: 767px) {
  .menuOverview_img img {
    width: 100%;
  }
}
.menuOverview_info {
  width: calc(100% - 20px);
  margin: 20px auto 0;
}
.menuOverview_info + .menuOverview_info {
  margin-top: 16px;
}
.menuOverview_info dt {
  padding: 4px 5px 6px;
  border-radius: 15px;
  color: #fff;
  text-align: center;
  line-height: 1.25;
}
.menuOverview_info dd {
  margin-top: 10px;
  text-align: center;
}
.menuOverview_list {
  padding-top: 3px;
  line-height: 1.6;
}
.menuOverview_list > li {
  padding-left: 22px;
  text-align: left;
  position: relative;
}
.menuOverview_list > li::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #f89e77;
  position: absolute;
  top: 10px;
  left: 12px;
}
.menuOverview_list > li + li {
  margin-top: 6px;
}
.menuOverview_personal {
  grid-column: 3/4;
  grid-row: 1/3;
}
.menuOverview_option {
  grid-column: 1/3;
  grid-row: 2/3;
  margin-top: 60px;
  background: #fef8f4;
  border-radius: 10px;
  box-shadow: 0 0 6px color-mix(in srgb, #96385c 20%, transparent);
  position: relative;
}
@media screen and (max-width: 767px) {
  .menuOverview_option {
    margin-top: -20px;
  }
}
.menuOverview_option::before {
  content: "";
  display: block;
  width: 36px;
  height: 36px;
  background: url(/assets/image/menu/plus.svg) center/auto no-repeat;
  position: absolute;
  top: -56px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .menuOverview_option::before {
    width: 30px;
    height: 30px;
    background-size: 30px auto;
    top: -45px;
  }
}
.menuOverview_option_ttl {
  padding: 10px;
  background: #c1b29a;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.6;
  text-align: center;
  border-radius: 10px 10px 0 0;
}
.menuOverview_option .menuOverview_list {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.menuOverview_option .menuOverview_list > li + li {
  margin-top: 13px;
}
.menuOverview_option_container {
  padding: 20px 0 20px;
}
.menuOverview_option_desc {
  margin-top: 16px;
  text-align: center;
}
.menuOverview_desc2 {
  padding-left: 10px;
  text-align: left;
}
.menuOverview_contTtl2 {
  padding-left: 10px;
  color: #F89E77;
  text-align: left;
}
.menuOverview_contTtl2.-pt {
  padding-top: 4px;
}

.menuSingleWrap {
  position: relative;
  margin: 0 auto;
  max-width: 880px;
}

.menuSingle {
  display: flex;
  flex-wrap: wrap;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 0 6px color-mix(in srgb, #96385c 20%, transparent);
  margin-top: 50px;
}
.menuSingle > li {
  width: 33.33%;
  padding-bottom: 20px;
  position: relative;
}

.menuSingle .menuSingle_ttl {
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.menuSingle_ttl.smallTitle {
  font-size: 100%;
}

@media screen and (max-width: 767px) {
  .menuSingle > li {
    width: 100%;
  }
}
.menuSingle > li + li::before {
  content: "";
  display: block;
  width: 0;
  height: calc(100% - 60px);
  border-left: 1px dotted #c1b29a;
  position: absolute;
  bottom: 0;
  left: -1px;
}
@media screen and (max-width: 767px) {
  .menuSingle > li + li::before {
    display: none;
  }
}
.menuSingle > li + li::after {
  content: "";
  display: block;
  width: 0;
  height: 60px;
  border-left: 1px dotted #fff;
  position: absolute;
  top: 0;
  left: -1px;
}
.menuSingle > li:nth-child(even) .menuSingle_ttl {
  background: #f9ab88;
}
.menuSingle_ttl {
  padding: 18px 2px;
  background: #e7a9be;
  color: #fff;
  font-size: min(2.0833333333vw, 20px);
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .menuSingle_ttl {
    font-size: min(calc(18 / 375 * 100vw), 18px);
  }
}
.menuSingle_ttlEn {
  background: #f1eee8;
  padding: 3px 2px;
  color: #9f8862;
  font-size: 14px;
  text-align: center;
  line-height: 1.2;
}
.menuSingle_info {
  width: calc(100% - 20px);
  margin: 26px auto 0;
}
.menuSingle_info + .menuSingle_info {
  margin-top: 16px;
}
.menuSingle_info dt {
  padding: 4px 5px 6px;
  border-radius: 15px;
  background-color: #c1b29a;
  color: #fff;
  text-align: center;
  line-height: 1.25;
}
.menuSingle_info dd {
  margin-top: 10px;
  padding: 0 10px;
  text-align: center;
}

.menuOther {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0 30px;
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .menuOther {
    flex-direction: column;
    gap: 40px 0;
    margin-top: 60px;
  }
}
.menuOther_img {
  width: 32%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .menuOther_img {
    width: 100%;
    margin-left: auto;
  }
}
.menuOther_img::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #fef3ee 0%, #fde7dd 50%, #fef3ee 100%);
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: -1;
}
.menuOther_contBox {
  flex: 1;
  max-width: 626px;
  margin-top: -10px;
}
.menuOther_contBox dl + dl {
  margin-top: 10px;
}
.menuOther_contBox dt {
  margin-bottom: 4px;
  color: var(--color-orange);
  font-size: 18px;
  font-weight: 600;
  border-bottom: 2px dotted var(--color-orange);
}

.repeater {
  margin-top: 100px;
  background: linear-gradient(90deg, #fbf0f4 0%, #f7e2ea 50%, #fbf0f4 100%);
}
@media screen and (max-width: 767px) {
  .repeater {
    margin-top: 80px;
    padding: 20px 0;
  }
}
.repeater_container {
  position: relative;
  z-index: 1;
}
.repeater_contBox {
  width: 60.2%;
  padding: 34px 10px 44px;
  background: color-mix(in srgb, #fff 90%, transparent);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .repeater_contBox {
    width: 100%;
    background: #fff;
    padding: 30px var(--mg-sp) 20px;
    position: static;
    transform: none;
  }
}
.repeater_contBox .m-secTtl-jp {
  margin-top: 7px;
  font-size: 18px;
}
.repeater_desc {
  margin-top: 17px;
  text-align: center;
}
.repeater_reserve {
  margin-top: 26px;
}
@media screen and (min-width: 768px) {
  .repeater_reserve a {
    padding-left: 78px;
    padding-right: 50px;
    font-size: min(2.34375vw, 30px);
  }
}
.repeater_img {
  width: 46.5%;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .repeater_img {
    width: calc(100% + var(--mg-sp) * 2);
    margin-top: -4.5vw;
    margin-left: calc(var(--mg-sp) * -1);
    position: relative;
    z-index: -1;
  }
}

.features {
  margin-top: 60px;
}

.featureslist {
  display: flex;
  flex-wrap: wrap;
  gap: 51px 2%;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .featureslist {
    gap: 20px 0;
    margin-top: 20px;
  }
}
.featureslist > li {
  width: 32%;
  padding: 0 0 30px;
  background-color: #f8e7ed;
  box-shadow: var(--box-shadow);
  position: relative;
}
@media screen and (max-width: 767px) {
  .featureslist > li {
    width: 100%;
  }
}
.featureslist > li::before {
  content: "";
  display: block;
  width: calc(100% - 16px);
  height: calc(100% - 16px);
  border: 1px solid #fff;
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 2;
  pointer-events: none;
}
.featureslist > li:nth-child(even) {
  background: #fde7db;
}
.featureslist > li:nth-child(even) .featureslist_contTtl {
  color: #f68654;
}
.featureslist_img img {
  width: 100%;
}
.featureslist_contTtl {
  margin-top: 22px;
  font-weight: 600;
  color: #d87094;
  font-size: min(1.953125vw, 18px);
  line-height: 1.7777777778;
  text-align: center;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .featureslist_contTtl {
    font-size: 16px;
  }
}
.featureslist_desc {
  margin-top: 14px;
  font-size: min(1.5625vw, 16px);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .featureslist_desc {
    font-size: 15px;
  }
}

.school {
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .school {
    margin-top: 60px;
  }
}
.school_mainTtl {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: max(15.2142857143vw, 213px);
  padding-bottom: max(2vw, 28px);
  background: url(/assets/image/school/ttl_bg@2x.png) center bottom/auto 100% no-repeat;
  color: #fff;
  font-size: 30px;
  font-weight: 600;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .school_mainTtl {
    font-size: 18px;
    height: 160px;
  }
}
.school_mainTtl > span {
  display: block;
  text-align: center;
}
.school_mainTtl ._large {
  margin-top: 15px;
  font-size: 46px;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .school_mainTtl ._large {
    font-size: 28px;
  }
}
.school_read {
  margin-top: 50px;
  text-align: center;
}
.school_app {
  margin-top: 79px;
}
@media screen and (max-width: 767px) {
  .school_app {
    margin-top: 40px;
  }
}
@media screen and (min-width: 768px) {
  .school_app a {
    padding-left: 82px;
    padding-right: 44px;
  }
}

.schoolList {
  margin-top: 63px;
}
.schoolList > li + li {
  margin-top: 105px;
}
@media screen and (max-width: 767px) {
  .schoolList > li + li {
    margin-top: 80px;
  }
}
.schoolList > li:nth-child(odd) .schoolList_ttl {
  background: linear-gradient(90deg, #f3d4df 0%, #ebb7c9 30%, #ebb7c9 70%, #f3d4df 100%);
}
.schoolList > li:nth-child(odd) .schoolList_info::before {
  background: #fde7db;
}
.schoolList > li:nth-child(odd) .schoolList_imgBox::before {
  background-color: #fcdacc;
}
.schoolList > li:nth-child(even) .schoolList_ttl {
  background: linear-gradient(90deg, #fccfbb 0%, #fbc2a9 30%, #fbc2a9 70%, #fccfbb 100%);
}
.schoolList > li:nth-child(even) .schoolList_info::before {
  background: #f8e7ed;
}
.schoolList > li:nth-child(even) .schoolList_imgBox::before {
  background: #fcdacc;
}
.schoolList_ttl {
  padding: 5px 10px 6px;
  background-color: #fff;
  border-radius: 25px;
  color: #fff;
  font-size: 26px;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .schoolList_ttl {
    padding: 10px 0;
    font-size: min(calc(16 / 375 * 100vw), 16px);
  }
}
.schoolList_container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .schoolList_container {
    flex-direction: column;
    margin-top: 30px;
  }
}
.schoolList_contBox {
  width: 55%;
}
@media screen and (max-width: 767px) {
  .schoolList_contBox {
    width: 100%;
  }
}
.schoolList_info {
  position: relative;
  margin-top: 40px;
  padding-left: 36px;
}
@media screen and (max-width: 767px) {
  .schoolList_info {
    margin-top: 20px;
    padding-left: 25px;
  }
}
.schoolList_info::before {
  content: "";
  display: block;
  width: 16px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .schoolList_info::before {
    width: 10px;
  }
}
.schoolList_info li {
  font-size: 16px;
  line-height: 1.625;
}
.schoolList_info li + li {
  margin-top: 10px;
}
.schoolList_read {
  margin-top: -0.55em;
}
.schoolList_imgBox {
  width: 39%;
  transform: translateX(-10px);
  position: relative;
}
@media screen and (max-width: 767px) {
  .schoolList_imgBox {
    width: 97%;
    margin: 25px 0 0 auto;
  }
  .schoolList_imgBox img {
    width: 100%;
  }
}
.schoolList_imgBox::before {
  content: "";
  width: 100%;
  height: 35px;
  mix-blend-mode: multiply;
  position: absolute;
  left: 0;
  bottom: 11px;
  z-index: 1;
}
.schoolList_imgBox::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid #baa98e;
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 3;
  pointer-events: none;
}
.schoolList_imgBox ._ttl {
  width: 100%;
  padding-right: 10px;
  color: #fff;
  font-family: var(--font-en);
  font-size: 26px;
  text-align: right;
  line-height: 35px;
  position: absolute;
  left: 0;
  bottom: 11px;
  z-index: 2;
}

.schoolSchedule {
  margin-top: 105px;
}
@media screen and (max-width: 767px) {
  .schoolSchedule {
    margin-top: 80px;
  }
}
.schoolSchedule_info {
  margin-top: 25px;
  border: 1px solid #eab2c5;
}
@media screen and (max-width: 767px) {
  .schoolSchedule_info {
    margin-top: 20px;
  }
}
.schoolSchedule_info dl {
  display: flex;
}
@media screen and (max-width: 767px) {
  .schoolSchedule_info dl {
    display: block;
  }
}
.schoolSchedule_info dl + dl {
  position: relative;
}
.schoolSchedule_info dl + dl::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  border-top: 2px dotted #eab2c5;
  position: absolute;
  top: 0;
  left: 0;
}
.schoolSchedule_info dt,
.schoolSchedule_info dd {
  padding: 20px 10px 21px 30px;
}
@media screen and (max-width: 767px) {
  .schoolSchedule_info dt,
  .schoolSchedule_info dd {
    padding: 20px var(--mg-sp);
  }
}
.schoolSchedule_info dt {
  display: flex;
  align-items: center;
  width: 32%;
  background: #faecf0;
}
@media screen and (min-width: 768px) {
  .schoolSchedule_info dt {
    padding-left: 29px;
  }
}
@media screen and (max-width: 767px) {
  .schoolSchedule_info dt {
    width: 100%;
  }
}
.schoolSchedule_info dd {
  flex: 1;
}
@media screen and (min-width: 768px) {
  .schoolSchedule_info dd {
    padding-left: 30px;
  }
}

.voice {
  margin-top: 100px;
  padding: 45px 0 98px;
  background: url(/assets/image/voice/bg.png) center/cover no-repeat;
}
@media screen and (max-width: 767px) {
  .voice {
    margin-top: 60px;
    padding: 30px 0;
  }
}

.voiceList {
  max-width: 900px;
  margin-top: 25px;
}
@media screen and (max-width: 767px) {
  .voiceList {
    margin-top: 20px;
  }
}
.voiceList > li {
  padding: 40px 40px 42px;
  background: #fff;
  border-radius: 10px;
  box-shadow: var(--box-shadow);
}
@media screen and (max-width: 767px) {
  .voiceList > li {
    padding: 20px var(--mg-sp);
  }
}
.voiceList > li + li {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .voiceList > li + li {
    margin-top: 40px;
  }
}
.voiceList_head {
  display: flex;
  gap: 0 34px;
  padding-right: 44px;
}
@media screen and (max-width: 767px) {
  .voiceList_head {
    flex-direction: column;
    align-items: center;
    padding-right: 0;
  }
}
.voiceList_avatar {
  width: 140px;
}
.voiceList_headCont {
  flex: 1;
}
.voiceList_ttl {
  margin-bottom: 13px;
  padding-top: 9px;
  padding-bottom: 5px;
  border-bottom: 2px dotted #d5cbbb;
  font-size: 20px;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .voiceList_ttl {
    padding: 10px 0;
    margin-bottom: 15px;
    font-size: min(calc(16 / 375 * 100vw), 16px);
  }
}
.voiceList_info {
  padding: 0 11px;
  width: -moz-fit-content;
  width: fit-content;
  padding-bottom: 1px;
  color: #75541e;
  font-size: 18px;
  line-height: 1.3888888889;
  position: relative;
  z-index: 1;
  background: #faecf0;
}
@media screen and (max-width: 767px) {
  .voiceList_info {
    padding: 5px 10px;
    font-size: 13px;
  }
}
.voiceList_cont {
  margin-top: 10px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .voiceList_cont {
    text-align: left;
  }
}

.stylist_container {
  margin-top: 90px;
  display: flex;
  justify-content: space-between;
  gap: 0 40px;
}
@media screen and (max-width: 767px) {
  .stylist_container {
    margin-top: 40px;
    flex-direction: column;
    align-items: center;
    gap: 20px 0;
  }
}
.stylist_img {
  width: 33%;
}
@media screen and (max-width: 767px) {
  .stylist_img {
    width: 50%;
  }
}
.stylist_img img {
  box-shadow: var(--box-shadow);
}
.stylist_contBox {
  flex: 1;
  max-width: 580px;
}
.stylist_attribute {
  margin-top: -0.2em;
  color: var(--color-orange);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .stylist_attribute {
    margin-top: 0;
    font-size: 16px;
  }
}
.stylist_name {
  margin-top: 2px;
  color: #444;
  font-size: 28px;
  font-weight: 600;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .stylist_name {
    font-size: 20px;
  }
}
.stylist_nameEn {
  margin-top: 7px;
  color: #9f8862;
  font-family: var(--font-en);
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .stylist_nameEn {
    font-size: 12px;
  }
}
.stylist_info {
  position: relative;
  margin-top: 21px;
  padding-left: 22px;
}
@media screen and (max-width: 767px) {
  .stylist_info {
    padding-left: 15px;
  }
}
.stylist_info::before {
  content: "";
  display: block;
  width: 10px;
  height: 100%;
  background: #f8e7ed;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .stylist_info::before {
    width: 5px;
  }
}
.stylist_info li {
  padding-left: 10px;
  font-size: 16px;
  line-height: 2;
  position: relative;
}
.stylist_info li::before {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #eab2c5;
  position: absolute;
  top: 0.9em;
  left: 0;
}
@media screen and (max-width: 767px) {
  .stylist_info li::before {
    top: 16px;
  }
}
.stylist_desc {
  margin-top: 19px;
  letter-spacing: 0;
}
.stylist_books {
  margin-top: 20px;
  padding: 24px 20px 28px;
  background: #fef4ee;
  border-radius: 10px;
}
.stylist_books .m-secTtl-en {
  font-size: 36px;
}
@media screen and (max-width: 767px) {
  .stylist_books .m-secTtl-en {
    font-size: 24px;
  }
}
.stylist_books .m-secTtl-jp {
  margin-top: -3px;
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .stylist_books .m-secTtl-jp {
    margin-top: 3px;
    font-size: 13px;
  }
}
.stylist_books ._bookBox {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 7.3717948718%;
  max-width: 468px;
  margin: 15px auto 0;
}
.stylist_books ._bookBox img {
  width: 28.4188034188%;
  box-shadow: var(--box-shadow);
}
.stylist_links {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 20px;
  margin-top: 26px;
}
@media screen and (max-width: 767px) {
  .stylist_links {
    gap: 15px 15px;
  }
}
.stylist_links a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 11px;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 160px;
  max-width: 100%;
  height: 50px;
  padding: 0 24px;
  border: 2px solid #fab699;
  border-radius: 30px;
  box-shadow: var(--box-shadow);
  color: #f68654;
  font-family: var(--font-en);
  font-size: 26px;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .stylist_links a {
    min-width: 120px;
    padding: 0 15px;
    font-size: 16px;
  }
}
@media (hover: hover) {
  .stylist_links a {
    transition: bckground-color 0.3s, color 0.3s;
  }
  .stylist_links a:hover {
    background-color: #fff;
    color: #fab699;
  }
}
.stylist_links a::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-left: 9px solid #fab699;
  border-right: 0;
}

.salon {
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .salon {
    margin-top: 60px;
  }
}
.salon_reserve {
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .salon_reserve {
    margin-top: 40px;
  }
}

.salonInfo {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0 30px;
  max-width: 877px;
  margin-top: 72px;
}
@media screen and (max-width: 767px) {
  .salonInfo {
    flex-direction: column;
    gap: 40px 0;
  }
}
.salonInfo_img {
  width: 27.3660205245%;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .salonInfo_img {
    width: 240px;
    margin: 0 auto;
  }
}
.salonInfo_img::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(43deg, #fbf0f4 0%, #f7e2ea 50%, #fbf0f4 100%);
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: -1;
}
.salonInfo_contBox {
  flex: 1;
  max-width: 560px;
}
@media screen and (max-width: 767px) {
  .salonInfo_contBox {
    max-width: 100%;
  }
}
.salonInfo_ttl {
  padding-left: 10px;
  padding-bottom: 4px;
  border-left: 10px solid #f2b6c7;
  border-bottom: 1px solid #f2b6c7;
  color: #75541e;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.35;
}
@media screen and (max-width: 767px) {
  .salonInfo_ttl {
    font-size: 18px;
  }
}
.salonInfo_overview {
  margin-top: 17px;
}
.salonInfo_overview dl {
  display: flex;
  align-items: flex-start;
  gap: 0 25px;
}
.salonInfo_overview dt {
  width: 84px;
  margin-top: 7px;
  padding-bottom: 1px;
  background: #f7e2e9;
  border-radius: 3px;
  color: #444;
  text-align: center;
  line-height: 1.3125;
}
.salonInfo_overview dd {
  flex: 1;
  line-height: 2.125;
}

.salonPayment {
  margin-top: 142px;
  max-width: 876px;
}
@media screen and (max-width: 767px) {
  .salonPayment {
    margin-top: 160px;
  }
}
.salonPayment_container {
  width: 79.1095890411%;
  position: relative;
  padding: 34px 42px;
  background: #faecf0;
}
@media screen and (max-width: 767px) {
  .salonPayment_container {
    width: 100%;
    padding: 30px var(--mg-sp);
  }
}
.salonPayment_cont + .salonPayment_cont {
  margin-top: 32px;
}
.salonPayment_contTtl {
  margin-bottom: 4px;
  padding-bottom: 10px;
  color: var(--color-pink);
  line-height: 1.4;
  border-bottom: 2px dotted #eab2c5;
}
.salonPayment_img {
  width: 36.3636363636%;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  transform: translate(77%, -13%);
}
@media screen and (max-width: 767px) {
  .salonPayment_img {
    width: 160px;
    transform: translate(5%, -85%);
  }
}
.salonPayment_img img {
  box-shadow: var(--box-shadow);
}
.salonPayment_desc ._list li {
  padding-left: 1em;
  text-indent: -1em;
}
.salonPayment_desc ._list li::before {
  content: "・";
  color: #d87094;
}

.footer {
  margin-top: 93px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .footer {
    margin-top: 60px;
  }
}
.footer_topto {
  display: block;
  border-radius: 50%;
  box-shadow: var(--box-shadow);
  position: fixed;
  right: calc(85 / 1440 * 100vw);
  bottom: 44px;
  z-index: 5;
}
@media screen and (max-width: 767px) {
  .footer_topto {
    width: 50px;
    right: 5vw;
    bottom: 20px;
  }
}
.footer_topto.is-stay {
  position: absolute;
  bottom: 94px;
}
@media screen and (max-width: 767px) {
  .footer_topto.is-stay {
    bottom: 100px;
  }
}
.footer_nav {
  display: flex;
  justify-content: space-between;
  max-width: 870px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .footer_nav {
    flex-direction: column;
    align-items: center;
    gap: 10px 0;
  }
}
.footer_nav a {
  display: block;
  font-family: var(--font-en);
  font-size: clamp(14px, 1.8229166667vw, 18px);
  line-height: 44px;
}
@media screen and (max-width: 767px) {
  .footer_nav a {
    font-size: 16px;
  }
}
.footer_logo {
  width: -moz-fit-content;
  width: fit-content;
  margin: 40px auto 0;
}
.footer_logo img {
  width: 204px;
}
@media screen and (max-width: 767px) {
  .footer_logo img {
    width: 160px;
  }
}
.footer_foot {
  margin-top: 50px;
  padding: 10px 0;
  background: linear-gradient(90deg, #f3d4df 0%, #ebb7c9 30%, #ebb7c9 70%, #f3d4df 100%);
  color: #fff;
}
.footer_footInner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0 40px;
}
@media screen and (max-width: 767px) {
  .footer_footInner {
    flex-direction: column-reverse;
    gap: 20px 20px;
  }
}
.footer_copyright {
  font-size: 12px;
}
.footer_links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 46px;
}
.footer_links a {
  display: inline-block;
  color: #fff;
  font-size: 12px;
}

.p-repeaterIntro {
  margin-top: 60px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-repeaterIntro {
    margin-top: 30px;
  }
}

.p-repeaterSingle,
.p-repeaterOngoing {
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .p-repeaterSingle .m-secTtl-en,
  .p-repeaterOngoing .m-secTtl-en {
    font-size: 38px;
  }
}
@media screen and (min-width: 768px) {
  .p-repeaterSingle .m-secTtl-jp,
  .p-repeaterOngoing .m-secTtl-jp {
    font-size: 18px;
  }
}

.p-repeaterOngoing {
  margin-top: 138px;
}
@media screen and (max-width: 767px) {
  .p-repeaterOngoing {
    margin-top: 100px;
  }
}

.p-repeaterFollow {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .p-repeaterFollow {
    margin-top: 30px;
  }
}
.p-repeaterFollow > li {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0 30px;
}
@media screen and (max-width: 767px) {
  .p-repeaterFollow > li {
    flex-direction: column;
    gap: 38px 0;
  }
}
.p-repeaterFollow > li + li {
  margin-top: 144px;
}
@media screen and (max-width: 767px) {
  .p-repeaterFollow > li + li {
    margin-top: 80px;
  }
}
.p-repeaterFollow > li:nth-child(even) .p-repeaterFollow_contTtl {
  border-color: #f9ab88;
}
.p-repeaterFollow > li:nth-child(even) .p-repeaterFollow_imgBox::before {
  background: linear-gradient(90deg, #fef3ee 0%, #fde7dd 50%, #fef3ee 100%);
}
.p-repeaterFollow > li:nth-child(even) .p-repeaterFollow_feature {
  background-color: #faecf0;
}
.p-repeaterFollow > li:nth-child(even) .p-repeaterFollow_feature ._ttl {
  color: #d87094;
  border-color: #d87094;
}
.p-repeaterFollow > li:nth-child(even) .p-repeaterFollow_feature ._list li::before {
  color: #d87094;
}
.p-repeaterFollow_contBox {
  flex: 1;
  max-width: 560px;
}
.p-repeaterFollow_imgBox {
  width: 36%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-repeaterFollow_imgBox {
    width: 100%;
  }
  .p-repeaterFollow_imgBox img {
    width: 100%;
  }
}
.p-repeaterFollow_imgBox img {
  width: 100%;
  box-shadow: var(--box-shadow);
}
.p-repeaterFollow_imgBox::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #fbf0f4 0%, #f7e2ea 50%, #fbf0f4 100%);
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: -1;
}
.p-repeaterFollow_contTtl {
  padding-left: 10px;
  padding-bottom: 4px;
  border-left: 10px solid #f2b6c7;
  border-bottom: 1px solid #f2b6c7;
  color: #75541e;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.35;
}
@media screen and (max-width: 767px) {
  .p-repeaterFollow_contTtl {
    font-size: 18px;
  }
}
.p-repeaterFollow_info {
  margin-top: 24px;
}
.p-repeaterFollow_info dl {
  display: flex;
  align-items: flex-start;
  gap: 0 25px;
}
@media screen and (max-width: 767px) {
  .p-repeaterFollow_info dl {
    gap: 0 15px;
  }
}
.p-repeaterFollow_info dl + dl {
  margin-top: 36px;
}
@media screen and (max-width: 767px) {
  .p-repeaterFollow_info dl + dl {
    margin-top: 20px;
  }
}
.p-repeaterFollow_info dt {
  width: 74px;
  padding: 4px 0;
  background: #c1b29a;
  border-radius: 4px;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-repeaterFollow_info dt {
    width: 50px;
    font-size: 15px;
  }
}
.p-repeaterFollow_info dd {
  flex: 1;
  margin-top: -0.3em;
}
.p-repeaterFollow_info dd ._indent {
  padding-left: 1em;
}
.p-repeaterFollow_info dd ._minSpace {
  letter-spacing: -0.05em;
}
.p-repeaterFollow_feature {
  margin-bottom: 40px;
  padding: 24px 29px;
  background: #fef1ea;
}
@media screen and (max-width: 767px) {
  .p-repeaterFollow_feature {
    padding: 20px var(--mg-sp);
    margin-bottom: 20px;
  }
}
.p-repeaterFollow_feature ._contBox + ._contBox {
  margin-top: 38px;
}
.p-repeaterFollow_feature ._ttl {
  margin-bottom: 4px;
  padding-bottom: 10px;
  color: #f68654;
  font-weight: 600;
  line-height: 1.4;
  border-bottom: 2px dotted #f68654;
}
.p-repeaterFollow_feature ._list li {
  padding-left: 1em;
  text-indent: -1em;
}
.p-repeaterFollow_feature ._list li::before {
  content: "・";
  color: #f68654;
}

.p-repeaterReserve {
  margin-top: 92px;
}
@media screen and (max-width: 767px) {
  .p-repeaterReserve {
    margin-top: 60px;
  }
}

.p-privacy_container {
  margin-top: 100px;
  max-width: 800px;
}
@media screen and (max-width: 767px) {
  .p-privacy_container {
    margin-top: 50px;
  }
}
.p-privacy_container * {
  letter-spacing: -0.02em;
}
.p-privacy_sec {
  margin-top: 70px;
}
@media screen and (max-width: 767px) {
  .p-privacy_sec {
    margin-top: 40px;
  }
}
.p-privacy_sec > * {
  margin-top: 2em;
}
@media screen and (max-width: 767px) {
  .p-privacy_sec > * {
    margin-top: 1.5em;
  }
}
.p-privacy_sec > * + .-mt0 {
  margin-top: 0;
}
.p-privacy_secTtl {
  margin-bottom: 0.8em;
  padding-bottom: 0.8em;
  border-bottom: 2px dotted var(--color-pink);
  color: var(--color-pink);
  font-weight: 600;
  letter-spacing: 0;
}
.p-privacy_secTtl + * {
  margin-top: 0;
}
.p-privacy_listDotted li {
  padding-left: 1em;
  text-indent: -1em;
}
.p-privacy_listDotted li::before {
  content: "・";
  color: var(--color-pink);
}
.p-privacy_data {
  text-align: right;
  margin-top: 2em;
}
.p-privacy_reserve {
  margin-top: 90px;
}
@media screen and (max-width: 767px) {
  .p-privacy_reserve {
    margin-top: 60px;
  }
}

.p-legal_container {
  margin-top: 70px;
  max-width: 800px;
}
@media screen and (max-width: 767px) {
  .p-legal_container {
    margin-top: 30px;
  }
}
.p-legal_overview dl {
  display: flex;
  padding: 23px 0;
  border-bottom: 2px dotted #bbb;
}
@media screen and (max-width: 767px) {
  .p-legal_overview dl {
    display: block;
  }
}
.p-legal_overview dt {
  width: 38.25%;
  padding-left: 19px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-legal_overview dt {
    width: 100%;
    padding-left: 15px;
  }
}
.p-legal_overview dt::before {
  content: "";
  width: 8px;
  height: 22px;
  background: #f5dbe4;
  position: absolute;
  top: 0.4em;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-legal_overview dt::before {
    width: 5px;
    height: 20px;
  }
}
.p-legal_overview dd {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .p-legal_overview dd {
    margin-top: 5px;
  }
}
.p-legal_reserve {
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .p-legal_reserve {
    margin-top: 60px;
  }
}

/* ========================================
トップページ home
======================================== *//*# sourceMappingURL=style.css.map */