@charset "UTF-8";
:root {
  --ff_j: 'Zen Maru Gothic', sans-serif;
  --ff_e: 'Lobster Two', cursive;
  --fs_ss: 10px;
  --fs_s: 12px;
  --fs_m: 14px;
  --fs_l: 16px;
  --fs_ll: 18px;
  --fs_xl: 20px;
  --fs_x: 24px;
  --fs_xx: 28px;
  --fs_y: 32px;
  --fs_z: 48px;
  --c_green: #c1d7a2;
  --c_green-d: #355C00;
  --c_blue: #bfe4ff;
  --c_brown-d: #e8b890;
  --c_brown-p: #ffe3cc;
}
/* ＝＝＝＝＝ common ＝＝＝＝＝ */
body {
  font-family: var(--ff_j);
  font-weight: 400;
  color: #333;
  letter-spacing: 0.1em;
  line-height: 1.7;
  opacity: 0;
  animation-name: contents-show;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  animation-timing-function: linear;
}
@keyframes contents-show {
  0% {opacity: 0}
  100% {opacity: 1}
}
a {
  text-decoration: none;
  color: inherit;
}
.ta-c {
  text-align: center;
}
.il-b {
  display: inline-block;
}
.fw-300 {
  font-weight: 300;
}
.fw-400 {
  font-weight: 400;
}
.fw-500 {
  font-weight: 500;
}
.fw-700 {
  font-weight: 700;
}
.fw-900 {
  font-weight: 900;
}
.text-red {
  color: red;
}
.marker-green {
  background:linear-gradient(transparent 70%, var(--c_green) 70%);
}
.marker-blue {
  background:linear-gradient(transparent 70%, var(--c_blue) 70%);
}
.bg-white {
  background-color: #fff;
}
.cv-btn {
  font-size: var(--fs_m);
  font-weight: 500;
  width: 81.07vw;
  max-width: 332px;
  text-align: center;
  position: relative;
  background: var(--c_green);
  margin: 0 auto;
  padding: 1.5em 0;
  transition: all 0.3s;
}
.cv-btn:hover {
  opacity: 0.7;
}
.cv-btn::before {
  content: '';
  position: absolute;
  top: -3px;
  left: -3px;
  width: 100%;
  height: 100%;
  border: 1px solid #707070;
}
.excursion-btn {
  color: var(--c_green-d);
  font-size: var(--fs_m);
  font-weight: 500;
  width: 81.07vw;
  max-width: 332px;
  text-align: center;
  position: relative;
  background: #fff;
  margin: 0 auto;
  border: 1px solid var(--c_green-d);
  padding: 1.5em 0;
  box-shadow: 3px 3px var(--c_green);
  transition: all 0.3s;
}
.excursion-btn:hover {
  opacity: 0.7;
}
.qa-btn {
  font-size: var(--fs_m);
  font-weight: 500;
  width: 81.07vw;
  max-width: 332px;
  text-align: center;
  position: relative;
  background: var(--c_brown-d);
  margin: 0 auto;
  padding: 1.5em 0;
  transition: all 0.3s;
}
.qa-btn:hover {
  opacity: 0.7;
}
.qa-btn::before {
  content: '';
  position: absolute;
  top: -3px;
  left: -3px;
  width: 100%;
  height: 100%;
  border: 1px solid #707070;
}
.btn-arrow {
  position: absolute;
  right: 8px;
}

.h1__section-title {
  display: inline;
  font-size: var(--fs_xl);
  font-weight: 500;
  text-shadow: 2px 2px #bbb;
  border: 2px solid var(--c_green);
  border-image: linear-gradient(to right, var(--c_green) 0%, var(--c_blue) 100%);
  border-image-slice: 1;
  border-left: none;
  border-right: none;
}
.h1__section-title--ftft {
  display: inline;
  font-size: var(--fs_xl);
  font-weight: 500;
  text-shadow: 2px 2px #bbb;
}
.h1__section-title--qa {
  display: inline;
  font-size: var(--fs_xl);
  font-weight: 500;
  text-shadow: 2px 2px #bbb;
  border: 2px solid var(--c_green);
  border-image: linear-gradient(to right, var(--c_brown-d) 0%, var(--c_brown-p) 100%);
  border-image-slice: 1;
  border-left: none;
  border-right: none;
}
.h1__qa--subtitle {
  font-size: var(--fs_m);
}

.h2-common {
  position: relative;
  font-size: var(--fs_l);
  font-weight: 500;
  z-index: 2;
  text-align: center;
}
.h2-common-green::before {
  content: '';
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url(../img/h2-green-blue.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: text-bottom;
  margin-right: -12px;
}
.h2-common-green::after {
  content: '';
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url(../img/h2-green-blue.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: text-bottom;
  position: relative;
  margin-left: -12px;
  z-index: -1;
}
.h2-common-blue::before {
  content: '';
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url(../img/h2-blue-green.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: text-bottom;
  margin-right: -12px;
}
.h2-common-blue::after {
  content: '';
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url(../img/h2-blue-green.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: text-bottom;
  position: relative;
  margin-left: -12px;
  z-index: -1;
}
.h2-common-brown::before {
  content: '';
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url(../img/h2-brown.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: text-bottom;
  margin-right: -12px;
}
.h2-common-brown::after {
  content: '';
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url(../img/h2-brown.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: text-bottom;
  position: relative;
  margin-left: -12px;
  z-index: -1;
}

.underlayer-h1__wrapper {
  text-align: center;
  margin: 0 auto;
}
.underlayer-h1__p--upper {
  font-size: var(--fs_s);
  margin-bottom: -8px;
}
.underlayer-h1 {
  font-size: var(--fs_xx);
  font-weight: 500;
  border-bottom: 1px solid #fff;
}
.underlayer-h1-b {
  font-size: var(--fs_xx);
  font-weight: 500;
  border-bottom: 1px solid #333;
}
.underlayer-h1__p--lower {
  font-size: var(--fs_l);
  margin-top: 4px;
}

.page-bottom__cv {
  background-color: #fff;
  color: #333;
  width: 90%;
  margin: 40px auto 0;
  border: 3px solid var(--c_green);
  padding: 1em 0;
}
.page-bottom__cv2 {
  background-color: rgba(0, 0, 0, 0.4);
  color: #fff;
  width: 90%;
  margin: 40px auto 0;
  border: 3px solid var(--c_green);
  padding: 1em 0;
}
.page-bottom__cv-title {
  font-size: var(--fs_s);
  text-align: center;
}
.page-bottom__cv-title::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url(../img/uni-blue.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: 6px;
  margin-right: -8px;
}
.page-bottom__cv-title::after {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url(../img/uni-green.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: 6px;
  margin-left: -10px;
}
.page-bottom__cv-tel {
  color: var(--c_green);
  font-size: var(--fs_x);
  font-weight: 900;
  letter-spacing: 0.3em;
  text-decoration: none;
  text-align: center;
}
.page-bottom__cv-tel img {
  width: 24px;
  vertical-align: -4px;
  margin-right: 0.5em;
}
.page-bottom__cv-holiday {
  font-size: var(--fs_s);
  text-align: center;
}
.page-bottom__cv--btn {
  margin-top: 24px;
}
.page-bottom__cv--btn2 {
  color: #333;
  margin-top: 24px;
}

.inner {
  width: 100%;
  max-width: 428px;
  margin: 0 auto;
}
/* ＝＝＝＝＝ header ＝＝＝＝＝ */
.header__h1 {
  display: inline-block;
  font-size: var(--fs_ss);
  border-bottom: 1px solid var(--c_green);
  border-image: linear-gradient(to right, var(--c_green) 0%, var(--c_blue) 100%);
  border-image-slice: 1;
  padding-left: 8px;
  position: relative;
  z-index: 10;
}
.header {
  background-color: #fff;
  width: 100%;
  position: sticky;
  top: 0;
  z-index: 100;
  margin: 0 auto;
}
.header__wrapper {
  display: flex;
  justify-content: space-between;
  padding: 8px 16px 0;
}
.header__logo,
.header__btn,
.header__tel--SP {
  height: 40px;
}
.header__tel--TBPC {
  display: none;
}

.header__PCcontact-btn--wrapper,
.header__PCcontact-btn--container,
.header__PCcontact-btn {
  display: none;
}

.hamburger-menu {
  width: 40px;
  display: flex;
  flex-direction: column;
}
.hamburger-bar__first {
  width: 100%;
  height: 4px;
  margin-top: 4px;
  transition: all 0.5s;
}
.hamburger-bar {
  width: 100%;
  height: 4px;
  margin-top: 8px;
  transition: all 0.5s;
}
.hamburger-menu__p {
  font-size: var(--fs_ss);
  font-weight: 900;
  color: var(--c_green);
  letter-spacing: 0.4em;
  text-align: center;
  opacity: 1;
  transition: all 1s;
  position: absolute;
  top: 40px;
}
.hamburger-menu__p2 {
  font-size: var(--fs_ss);
  font-weight: 900;
  color: var(--c_green);
  letter-spacing: 0.2em;
  text-align: center;
  opacity: 1;
  transition: all 1s;
  position: absolute;
  top: 40px;
}

.header__global-menu {
  display: none;
}

.js-menu-p-toggle {
  opacity: 0;
}
.js-hamburger-1 {
  transform: translateY(12px);
}
.js-hamburger-1-2 {
  transform: rotate(45deg) translateY(16px);
  margin-left: 10px;
}
.js-hamburger-2 {
  opacity: 0;
}
.js-hamburger-3 {
  transform: translateY(-12px);
}
.js-hamburger-3-2 {
  transform: rotate(-45deg) translateY(-16px);
  margin-left: 10px;
}
/* ＝＝＝＝＝ footer ＝＝＝＝＝ */
.footer {
  color: #fff;
  background-color: var(--c_green);
  margin-top: 40px;
  padding: 32px 0 8px;
}
.footer__head {
  font-size: var(--fs_s);
  display: flex;
  justify-content: space-around;
}
.footer__head--container {
  font-style: normal;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
}
.footer__head--container address {
  font-style: normal;
}
.footer__hr {
  background-color: #fff;
  width: 90%;
  height: 1px;
  margin: 32px auto 0;
}
.footer__ul {
  font-size: var(--fs_s);
  display: flex;
  justify-content: space-around;
}
.footer__ul--wrapper {
  display: flex;
  flex-direction: column;
}
.footer__li {
  display: inline-block;
  margin-top: 32px;
  transition: all 0.3s;
}
.footer__li:hover {
  font-weight: 700;
  transform: translateX(8px);
}
.footer__li--a {
  color: #fff;
  text-decoration: none;
}
.footer__sns {
  display: flex;
  justify-content: space-around;
  margin-top: 32px;
}
.footer__sns img {
  width: 40px;
  transition: all 0.3s;
}
.footer__sns img:hover {
  transform: scale(1.1);
}
.footer__copy {
  font-size: var(--fs_ss);
  text-align: center;
  margin-top: 32px;
}
/* ＝＝＝＝＝ modal ＝＝＝＝＝ */
.modal {
  width: 100vw;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  position: fixed;
  top: 0;
  left: 100vw;
  z-index: 9;
  transition: all 0.5s;
}
.js-modal-show {
  left: 0;
}
.modal__ul {
  width: 100%;
  max-width: 375px;
  margin: 0 auto;
}
.modal__a {
  display: block;
  color: #333;
  font-size: var(--fs_m);
  font-weight: 500;
  text-decoration: none;
  padding: 0.75em 0;
}
.modal__li--first {
  list-style: none;
  background-color: var(--c_green);
  width: 100%;
  position: relative;
  margin-top: 82px;
  text-indent: 2em;
}
.modal__li {
  list-style: none;
  background-color: var(--c_green);
  width: 100%;
  position: relative;
  margin-top: 24px;
  text-indent: 2em;
}
.modal__li--first p {
  padding-left: 2em;
}
.modal__li p {
  padding-left: 2em;
}
.modal__li--arrow {
  position: absolute;
  right: 2em;
}
.js-scroll-restriction {
  overflow: hidden;
  /* position: fixed;
  width: 100%; */
}
/* ＝＝＝＝＝ main-visual ＝＝＝＝＝ */
.main-visual {
  position: relative;
  width: 100%;
  height: 75vh;
}
.main-visual-1__wrapper {
  position: absolute;
  animation-duration: 20s;
  animation-iteration-count: infinite;
  animation-name: mvSlide;
  animation-timing-function: ease;
  animation-delay: 0s;
  opacity: 0;
  width: 100%;
  height: 100%;
}
.main-visual-2__wrapper {
  position: absolute;
  animation-duration: 20s;
  animation-iteration-count: infinite;
  animation-name: mvSlide;
  animation-timing-function: ease;
  animation-delay: 10s;
  opacity: 0;
  width: 100%;
  height: 100%;
}
@keyframes mvSlide {
  /* 0% {opacity: 0; transform: scale(1);}
  20% {opacity: 1;}
  65% {opacity: 1;}
  70% {opacity: 0;}
  100% {opacity: 0; transform: scale(1.1);} */
  0% {opacity: 0;}
  20% {opacity: 1;}
  65% {opacity: 1;}
  70% {opacity: 0;}
  100% {opacity: 0;}
}
.main-visual-1__img--sp,
.main-visual-2__img--sp {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.main-visual-1__img--pc,
.main-visual-2__img--pc {
  display: none;
}
.main-visual-1__h1 {
  display: block;
  color: #fff;
  font-size: var(--fs_xl);
  font-weight: 400;
  letter-spacing: 0.3em;
  width: 100%;
  max-width: 428px;
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translateX(-50%);
  border: none;
}
.main-visual-1__p--upper {
  text-align: left;
  padding-left: 8px;
}
.main-visual-1__hr {
  background-color: #fff;
}
.main-visual-1__p--lower {
  text-align: right;
  padding-right: 8px;
}

.main-visual-2__h1--wrapper {
  display: block;
  color: #333;
  text-align: center;
  position: absolute;
  top: 20%;
  width: 100%;
  max-width: 375px;
  padding: 0 16px;
  box-sizing: border-box;
}
.main-visual-2__p--upper {
  font-size: var(--fs_s);
}
.main-visual-2__h1 {
  font-size: var(--fs_xx);
  font-weight: 500;
  border-bottom: 1px solid #333;
}
.main-visual-2__p--lower {
  font-size: var(--fs_m);
  margin-top: 0.5em;
}
/* ＝＝＝＝＝ top-section-1 ティーニーが選ばれる3つの理由 ＝＝＝＝＝ */
.top__section-1 {
  background-color: #fff;
  margin-top: 40px;
}
.top__section-1--container-f {
  margin-top: 40px;
}
.top__section-1--container {
  position: relative;
  margin-top: 80px;
}
.top__section-1--semicircle {
  width: 24%;
  max-width: 104px;
  position: absolute;
}
.top__section-1--h2 {
  font-size: var(--fs_l);
  font-weight: 400;
}
.h2__number {
  color: var(--c_green);
  font-size: var(--fs_z);
  font-weight: 400;
  margin: 0 8px 0 16px;
  vertical-align: -10px;
}
.h2__subtitle {
  color: var(--c_green);
  font-size: var(--fs_m);
  margin: -26px 0 0 46px;
}
.top__section-1--img {
  display: block;
  width: 68.27%;
  margin: 16px 8px 0 auto;
}
.top__section-1--text {
  font-size: var(--fs_m);
  width: 76.8%;
  background: linear-gradient(to right, rgba(193, 215, 162, 0.6), rgba(193, 215, 162, 0.1));
  position: relative;
  top: -0.7em;
  margin-left: 8px;
  padding: 1em;
}

.top__section-1--semicircle-L {
  width: 24%;
  max-width: 104px;
  transform: rotate(180deg);
  position: absolute;
  right: 0;
}
.top__section-1--h2-L {
  font-size: var(--fs_l);
  font-weight: 400;
  text-align: right;
  margin-right: 16px;
}
.h2__subtitle-L {
  color: var(--c_green);
  font-size: var(--fs_m);
  text-align: right;
  margin: -26px 19px 0 0;
}
.top__section-1--img-L {
  display: block;
  width: 68.27%;
  margin: 16px 0 0 8px;
}
.top__section-1--text-L {
  font-size: var(--fs_m);
  width: 76.8%;
  background: linear-gradient(to right, rgba(193, 215, 162, 0.1), rgba(193, 215, 162, 0.6));
  position: relative;
  top: -0.7em;
  margin: 0 8px 0 auto;
  padding: 16px;
}
/* ＝＝＝＝＝ top-section-2 無料見学・無料体験とは ＝＝＝＝＝ */
.top__section-2 {
  margin-top: 104px;
}
.top__section-2--wrapper {
  background-image: url(../img/p-ft-ft-bg-sp.jpg);
  background-position: right;
  background-size: cover;
  padding: 24px 0;
}
.top__section-2--p {
  font-size: var(--fs_m);
  font-weight: 500;
  line-height: 1.9;
  text-align: center;
  margin-top: 40px;
}
.top__section-2--p2 {
  font-size: var(--fs_m);
  font-weight: 500;
  text-align: center;
  margin-top: 24px;
}
.top__section-2--cv-btn {
  margin-top: 40px;
}
.top__section-2--wrapper-2 {
  background-image: url(../img/polka-dots-green-top.png);
  margin-top: 80px;
  padding: 40px 0;
}
.top__section-2--p3 {
  font-size: var(--fs_m);
  text-align: center;
}
.top__section-2--ex-btn {
  margin-top: 24px;
}
.top__section-2--img {
  display: block;
  width: 81.07%;
  max-width: 332px;
  margin: 80px auto 0;
}
/* ＝＝＝＝＝ top-section-3 料金のご案内 ＝＝＝＝＝ */
.top__section-3 {
  margin-top: 120px;
}
.top__section-3--container {
  color: var(--c_green-d);
  font-weight: 700;
  width: 81.07%;
  max-width: 332px;
  position: relative;
  display: flex;
  justify-content: space-between;
  margin: 24px auto 0;
}
.top__section-3--container-bg {
  /* background-color: rgba(193, 215, 162, 0.2); */
  background-image: linear-gradient(to right, var(--c_green) 0%, var(--c_blue) 100%);
  width: 110%;
  height: 170px;
  position: absolute;
  top: 40px;
  left: 50%;
  z-index: -1;
  transform: translateX(-50%);
  border-radius: 24px;
  opacity: 0.3;
}
.top__section-3--img {
  width: 80px;
}
.top__section-3--text {
  font-size: var(--fs_m);
  margin-top: 16px;
}
.top__section-3--text-upper {
  position: relative;
}
.top__section-3--text-upper::after {
  content: '';
  width: 16px;
  height: 16px;
  position: absolute;
  top: -8px;
  right: -16px;
  background-image: url(../img/uni-green.png);
  background-size: contain;
  background-repeat: no-repeat;
}
.top__section-3--price-wrapper {
  position: relative;
  text-align: center;
  margin-top: 24px;
}
.top__section-3--price-wrapper::before {
  content: '';
  width: 48px;
  height: 48px;
  position: absolute;
  top: -20px;
  left: 12%;
  background-image: url(../img/uni-green.png);
  background-size: contain;
  background-repeat: no-repeat;
  transform: rotate(-60deg);
}
.top__section-3--price-wrapper::after {
  content: '';
  width: 48px;
  height: 48px;
  position: absolute;
  top: -20px;
  right: 12%;
  background-image: url(../img/uni-green.png);
  background-size: contain;
  background-repeat: no-repeat;
}
.top__section-3--price {
  color: var(--c_green-d);
  font-size: var(--fs_l);
  font-weight: 700;
  background-color: #fff;
  text-align: center;
  border-radius: 8px;
  box-shadow: 3px 3px 6px var(--c_green);
  padding: 10px 32px;
}
.top__section-3--price-b {
  font-size: var(--fs_x);
  letter-spacing: 0.3em;
  margin-left: 10px;
}
/* ＝＝＝＝＝ top-section-4 よくある質問 ＝＝＝＝＝ */
.top__section-4 {
  margin-top: 120px;
}
/* ＝＝＝＝＝ top-section-5 Salon情報 ＝＝＝＝＝ */
.top__section-5 {
  margin-top: 120px;
}
.top__section-5--dl {
  width: 91.73%;
  max-width: 428px;
  font-size: var(--fs_s);
  margin: 24px auto 0;
  box-sizing: border-box;
}
.top__section-5--item-wrapper {
  display: flex;
  width: 100%;
}
.top__section-5--dl address {
  font-style: normal;
}
.top__section-5--dt {
  background-color: rgba(193, 215, 162, 0.5);
  width: 18.13%;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #707070;
  border-top: none;
  padding: 1em 0.5em;
}
.top__section-5--dd  {
  width: 73.34%;
  border: 1px solid #707070;
  border-top: none;
  border-left: none;
  padding: 1em;
}
.top__section-5--dd-time {
  margin-top: 0.5em;
}
.top__section-5--dt-first,
.top__section-5--dd-first {
  border-top: 1px solid #707070;
}
.google-map {
  width: 100%;
  height: 65vw;
  max-height: 336px;
}
/* ＝＝＝＝＝ top-section-6 SNS ＝＝＝＝＝ */
.top__section-6 {
  margin-top: 120px;
}
.top__section-6--contents-wrapper {
  background: url(../img/polka-dots-blue@2x.png);
  background-size: contain;
  margin-top: 24px;
}
.top__section--sns-icons {
  width: 82.93vw;
  max-width: 360px;
  display: flex;
  justify-content: space-around;
  margin: 40px auto 0;
}
.top__section--sns-icons img {
  width: 40px;
  transition: all 0.3s;
}
.top__section--sns-icons img:hover {
 transform: scale(1.1);
}
/* ＝＝＝＝＝ top-section-7 ＝＝＝＝＝ */
.top__section-7 {
  margin-top: 120px;
}
.top__section-7--text {
  font-size: var(--fs_m);
  font-weight: 700;
  text-align: center;
  margin: 0 auto;
}
.top__section-7--slogan-wrapper {
  font-size: var(--fs_xl);
  text-align: center;
  text-shadow: 2px 2px var(--c_brown-d);
  margin-top: 40px;
}
.top__section-7--slogan::before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  background-image: url(../img/uni-brown.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: 14px;
  margin-right: -6px;
}
.top__section-7--slogan::after {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  transform: rotate(60deg);
  background-image: url(../img/uni-brown.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: 14px;
  margin-left: -6px;
}
.top__section-7--img {
  width: 20px;
  vertical-align: -2px;
  margin-left: 2px;
}
/* ＝＝＝＝＝ story ＝＝＝＝＝ */
.story {
  color: #fff;
}
.story::before {
  content: '';
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  background-image: url(../img/p-story-bg-sp.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  height: 100vh;
  z-index: -1;
}
.story__contents {
  margin-top: 24px;
  padding: 0 1em;
}
.story__p-1 {
  font-size: var(--fs_l);
  font-weight: 500;
  line-height: 2;
  margin-top: 120px;
}
.story__p-2 {
  font-size: var(--fs_m);
  margin-top: 240px;
}
.story__p-3 {
  font-size: var(--fs_m);
  margin-top: 40px;
}
.story__p-4 {
  font-size: var(--fs_l);
  margin-top: 40px;
}
.story__p--strong {
  font-size: var(--fs_ll);
}
.story__p--strong2 {
  font-size: var(--fs_x);
}
.story__p--strong-b {
  font-size: var(--fs_ll);
  font-weight: 700;
  margin-top: 40px;
}
/* ＝＝＝＝＝ about ＝＝＝＝＝ */
.about::before {
  content: '';
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  background-image: url(../img/p-about-bg-sp.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  height: 100vh;
  z-index: -1;
}
.about__contents {
  margin-top: 24px;
  padding: 0 1em;
}
.about__ol {
  list-style: none;
  margin-top: 64px;
}
.about__li {
  margin-top: 40px;
  padding: 0 1em 1em;
}
.about__li--number {
  color: var(--c_brown-d);
  text-shadow: 1px 1px 1px #707070;
  font-size: var(--fs_xl);
  font-family: var(--ff_e);
  font-style: italic;
  border-bottom: 1px solid var(--c_brown-d);
}
.about__li--text {
  font-size: var(--fs_m);
  font-weight: 500;
  margin-top: 0.5em;
}
/* ＝＝＝＝＝ free-tour ＝＝＝＝＝ */
.ft__free-trial {
  margin-top: 24px;
}
.ft__free-trial--container {
  background-image: url(../img/polka-dots-blue-top@2x.png);
  background-size: cover;
  margin-top: 24px;
}
.ft__free-trial--header-p {
  font-size: var(--fs_l);
  text-align: center;
  margin-top: 40px;
  padding: 0 1em 1em;
}

.free-trial__contents {
  padding: 0 1em;
}
.free-trial__contents--ol {
  list-style: none;
}
.free-trial__contents--li {
  margin-top: 80px;
}
.free-trial__contents--h3 {
  font-size: var(--fs_ll);
  font-weight: 400;
  border-bottom: 2px solid var(--c_blue);
}
.free-trial__contents--h3-title {
  color: var(--c_blue);
  font-size: var(--fs_y);
  font-weight: 900;
  margin-right: 24px;
}
.free-trial__contents--h3-title::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url(../img/uni-blue.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: 20px;
  margin-right: -8px;
}
.free-trial__contents--text {
  font-size: var(--fs_m);
  margin-top: 24px;
}
.free-trial__contents--img-wrapper {
  text-align: center;
  margin-top: 24px;
}
.free-trial__contents--img {
  width: 80%;
  max-width: 332px;
}
.free-trial__contents--h3-title-day5 {
  font-size: var(--fs_m);
  display: inline-block;
  text-align: center;
  vertical-align: sub;
  line-height: 1.2;
}
.free-trial__contents--h3-day5 {
  letter-spacing: 0;
}
.free-trial__contents--h3-day6 {
  font-size: var(--fs_ll);
  font-weight: 400;
  letter-spacing: 0;
  border-bottom: 2px solid var(--c_blue);
}

.ft__free-tour {
  margin-top: 120px;
}
.free-tour__container {
  text-align: center;
  margin-top: 24px;
  padding: 0 1em;
}
.free-tour__item--img {
  width: 80%;
  max-width: 332px;
}
.free-tour__item--p {
  font-size: var(--fs_s);
}
.free-tour__item--btn {
  margin-top: 16px;
}
.free-tour__item2 {
  margin-top: 80px;
}
/* ＝＝＝＝＝ join_price ご入会案内とご料金 ＝＝＝＝＝ */
.join__section-1 {
  margin-top: 24px;
  padding: 0 1em;
}
.join__circle3--wrapper {
  display: flex;
  justify-content: space-between;
  text-align: center;
  margin-top: 40px;
}
.join__circle3 {
  width: 27.73vw;
  max-width: 104px;
  height: 27.73vw;
  max-height: 104px;
  border-radius: 50%;
  background-color: var(--c_green);
  position: relative;
}
.join__circle3::before {
  content: '';
  position: absolute;
  top: -3px;
  left: -3px;
  width: 100%;
  height: 100%;
  border: 1px solid #707070;
  border-radius: 50%;
}
.join__circle3::after {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url(../img/uni-green.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: top;
  margin-left: 96px;
}
.join__circle3--text {
  font-size: var(--fs_l);
  width: 104px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.join__1time-price--wrapper {
  text-align: center;
  margin-top: 24px;
}
.join__1time-price--wrapper img {
  width: 232px;
}
.join__1time-price--p {
  font-size: var(--fs_ll);
}
.join__1time-price {
  font-size: var(--fs_x);
  font-weight: 500;
}
.join__1time-price::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url(../img/uni-blue.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: top;
  margin-right: -8px;
}
.join__1time-price::after {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url(../img/uni-green.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: top;
  margin-left: -8px;
}

.join__section-2 {
  margin-top: 120px;
  padding: 0 1em;
}
.join__ol {
  list-style: none;
}
.join__li--first {
   margin-top: 24px;
}
.join__li {
   margin-top: 80px;
}
.join__li--h3 {
  font-size: var(--fs_ll);
  font-weight: 400;
  border-bottom: 2px solid var(--c_green);
}
.join__li--h3-step {
  color: var(--c_green);
  font-size: var(--fs_y);
  font-weight: 900;
  margin-right: 40px;
}
.join__li--h3-step::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  transform: rotate(-60deg);
  background-image: url(../img/uni-green.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: 20px;
  margin-right: -4px;
}
.join__li--text {
  font-size: var(--fs_m);
  text-align: left;
  margin-top: 24px;
}
.join__li--img-wrapper {
  text-align: center;
  margin-top: 24px;
}
.join__li--img {
  width: 80%;
  max-width: 332px;
}

.join__attention {
  margin-top: 120px;
  padding: 0 1em 0 2em;
}
.join__attention--h1 {
  font-size: var(--fs_l);
  font-weight: normal;
  width: 50%;
  margin: 0 auto;
  border-bottom: 1px solid #333;
}
.join__attention--ol {
  font-size: var(--fs_m);
}
.join__attention--li {
  margin-top: 24px;
}
/* ＝＝＝＝＝ curriculum ＝＝＝＝＝ */
.curriculum__section-1 {
  margin-top: 24px;
}
.curriculum__section-1--h2 {
  font-size: var(--fs_m);
  font-weight: normal;
  text-align: center;
  margin-top: 24px;
}
.curriculum__section-1--h2::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url(../img/uni-blue.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: 10px;
  margin-right: -4px;
}
.curriculum__section-1--h2::after {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url(../img/uni-green.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: top;
  margin-left: -4px;
}
.curriculum__contents-menu {
  background-image: url(../img/polka-dots-3color@2x.png);
  background-size: cover;
  padding-bottom: 24px;
}
.curriculum__contents-menu--wrapper {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 auto;
  padding: 0 16px;
  box-sizing: border-box;
}
.curriculum__contents-menu--btn {
  font-size: var(--fs_s);
  font-weight: 500;
  width: 38.4vw;
  max-width: 176px;
  background-color: rgba(51, 51, 51, 0.2);
  margin-top: 40px;
  padding: 1.5em 0 1.5em 1em;
  position: relative;
  transition: all 0.3s;
}
.curriculum__contents-menu--btn:hover {
  opacity: 0.7;
}
.curriculum__contents-menu--btn::before {
  content: '';
  position: absolute;
  top: -3px;
  left: -3px;
  width: 100%;
  height: 100%;
  border: 1px solid #707070;
}
.curriculum__btn--arrow {
  position: absolute;
  right: 0.5em;
}

.curriculum__contents-1,
.curriculum__contents-2,
.curriculum__contents-3,
.curriculum__contents-4,
.curriculum__contents-5,
.curriculum__contents-6 {
  display: none;
  margin-top: 80px;
  opacity: 0;
}
.curriculum__contents--ol {
  list-style: none;
}
.curriculum__contents--li-first {
  position: relative;
  margin-top: 24px;
}
.curriculum__contents--li {
  position: relative;
  margin-top: 80px;
}
.curriculum__contents__semicircle {
  width: 24%;
  max-width: 104px;
  position: absolute;
}

.curriculum__contents--number-blue {
  color: #99D5FF;
  font-size: var(--fs_y);
  font-weight: 900;
  margin-left: 8px;
}
.curriculum__contents--number-blue::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url(../img/uni-blue.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: 20px;
  margin-right: -4px;
}
.curriculum__contents--hr-blue {
  width: 50%;
  height: 2px;
  background-color: var(--c_blue);
  border: none;
  position: absolute;
  left: 16px;
  margin-top: -4px;
}
.curriculum__contents--h3 {
  font-size: var(--fs_l);
  font-weight: 500;
  margin-left: 16px;
}
.curriculum__contents--img {
  display: block;
  width: 68.27%;
  margin: 16px 8px 0 auto;
}
.curriculum__contents--text-blue {
  font-size: var(--fs_m);
  width: 76.8%;
  background: linear-gradient(to right, rgba(191, 228, 255, 0.6), rgba(191, 228, 255, 0.1));
  position: relative;
  top: -0.7em;
  margin-left: 8px;
  padding: 1em;
}
.curriculum__contents__semicircle-R {
  width: 24%;
  max-width: 104px;
  position: absolute;
  right: 0;
  transform: rotate(180deg);
}
.curriculum__contents--number-R-blue {
  color: #99D5FF;
  font-size: var(--fs_y);
  font-weight: 900;
  margin-right: 16px;
  text-align: right;
}
.curriculum__contents--number-R-blue::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url(../img/uni-blue.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: 20px;
  margin-right: -4px;
}
.curriculum__contents--hr-R-blue {
  width: 50%;
  height: 2px;
  background-color: var(--c_blue);
  border: none;
  position: absolute;
  right: 16px;
  margin-top: -4px;
}
.curriculum__contents--h3-R {
  font-size: var(--fs_l);
  font-weight: 500;
  margin-right: 16px;
  text-align: right;
}
.curriculum__contents--img-R {
  display: block;
  width: 49.07%;
  max-width: 184px;
  margin: 16px auto 0 8px;
}
.curriculum__contents--text-R-blue {
  font-size: var(--fs_m);
  width: 76.8%;
  background: linear-gradient(to right, rgba(191, 228, 255, 0.1), rgba(191, 228, 255, 0.6));
  position: relative;
  top: -0.7em;
  margin: 0 8px 0 auto;
  padding: 1em;
}

.curriculum__contents--number-green {
  color: var(--c_green);
  font-size: var(--fs_y);
  font-weight: 900;
  margin-left: 8px;
}
.curriculum__contents--number-green::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  transform: rotate(-60deg);
  background-image: url(../img/uni-green.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: 20px;
  margin-right: -4px;
}
.curriculum__contents--hr-green {
  width: 50%;
  height: 2px;
  background-color: var(--c_green);
  border: none;
  position: absolute;
  left: 16px;
  margin-top: -4px;
}
.curriculum__contents--text-green {
  font-size: var(--fs_m);
  width: 76.8%;
  background: linear-gradient(to right, rgba(193, 215, 162, 0.6), rgba(193, 215, 162, 0.1));
  position: relative;
  top: -0.7em;
  margin-left: 8px;
  padding: 1em;
}
.curriculum__contents--number-R-green {
  color: var(--c_green);
  font-size: var(--fs_y);
  font-weight: 900;
  margin-right: 16px;
  text-align: right;
}
.curriculum__contents--number-R-green::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url(../img/uni-green.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: 20px;
  margin-right: -4px;
  transform: rotate(-60deg);
}
.curriculum__contents--hr-R-green {
  width: 50%;
  height: 2px;
  background-color: var(--c_green);
  border: none;
  position: absolute;
  right: 16px;
  margin-top: -4px;
}
.curriculum__contents--text-R-green {
  font-size: var(--fs_m);
  width: 76.8%;
  background: linear-gradient(to right, rgba(193, 215, 162, 0.1), rgba(193, 215, 162, 0.6));
  position: relative;
  top: -0.7em;
  margin: 0 8px 0 auto;
  padding: 1em;
}

.curriculum__contents--number-brown {
  color: var(--c_brown-d);
  font-size: var(--fs_y);
  font-weight: 900;
  margin-left: 8px;
}
.curriculum__contents--number-brown::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url(../img/uni-brown.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: 20px;
  margin-right: -4px;
}
.curriculum__contents--hr-brown {
  width: 50%;
  height: 2px;
  background-color: var(--c_brown-d);
  border: none;
  position: absolute;
  left: 16px;
  margin-top: -4px;
}
.curriculum__contents--text-brown {
  font-size: var(--fs_m);
  width: 76.8%;
  background: linear-gradient(to right, rgba(232, 184, 144, 0.6), rgba(232, 184, 144, 0.1));
  position: relative;
  top: -0.7em;
  margin-left: 8px;
  padding: 1em;
}
.curriculum__contents--number-R-brown {
  color: var(--c_brown-d);
  font-size: var(--fs_y);
  font-weight: 900;
  margin-right: 16px;
  text-align: right;
}
.curriculum__contents--number-R-brown::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url(../img/uni-brown.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: 20px;
  margin-right: -4px;
}
.curriculum__contents--hr-R-brown {
  width: 50%;
  height: 2px;
  background-color: var(--c_brown-d);
  border: none;
  position: absolute;
  right: 16px;
  margin-top: -4px;
}
.curriculum__contents--text-R-brown {
  font-size: var(--fs_m);
  width: 76.8%;
  background: linear-gradient(to right, rgba(232, 184, 144, 0.1), rgba(232, 184, 144, 0.6));
  position: relative;
  top: -0.7em;
  margin: 0 8px 0 auto;
  padding: 1em;
}

.curriculum__contents-6 {
  padding: 0 1em;
}
.curriculum__contents-6--h3 {
  font-size: var(--fs_m);
  font-weight: 500;
  border-bottom: 2px solid var(--c_brown-d);
}
.curriculum__contents-6--ul-first {
  font-size: var(--fs_m);
  letter-spacing: 0;
  list-style: disc;
  list-style-position: inside;
  margin-top: 24px;
}
.curriculum__contents-6--ul {
  font-size: var(--fs_m);
  letter-spacing: 0;
  list-style: disc;
  list-style-position: inside;
  margin-top: 80px;
}
.curriculum__contents-6--li-first {
  margin-top: 16px;
}

.curriculum__contents-8 {
  background-image: url(../img/polka-dots-blue.png);
  margin-top: 40px;
}
.curriculum__contents-8--p1 {
  font-size: var(--fs_m);
  text-align: center;
  padding-top: 24px;
}
.curriculum__contents-8--title {
  text-align: center;
  margin-top: 40px;
}
.curriculum__contents-8--p2 {
  font-size: var(--fs_m);
  text-align: center;
  margin-top: 40px;
}

.js-p5-show {
  display: block;
}
.js-p5-show2 {
  opacity: 1;
  transition: all 1s;
}
.js-c-hide {
  opacity: 0;
  animation-name: p5show;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  animation-timing-function: linear;
}
@keyframes p5show {
  0% {opacity: 0}
  100% {opacity: 1}
}
/* ＝＝＝＝＝ FAQ ＝＝＝＝＝ */
.faq {
  margin-top: 24px;
}
.faq__item {
  font-size: var(--fs_m);
  position: relative;
  margin-top: 24px;
}
.faq__item--checkbox {
  display: none;
}
.faq__q {
  display: flex;
  background-color: var(--c_brown-d);
  padding: 1em;
}
.faq__q p {
  margin-right: 1em;
}
.faq__q::after,
.faq__q::before {
  content: "";
  width: 1px;
  height: 1em;
  position: absolute;
  top: 1.5em;
  right: 2em;
  background-color: #333;
  transition: all 0.2s;
  transition-timing-function: linear;
}
.faq__q::after {
  transform: rotate(90deg);
}
.faq__a {
  display: flex;
  justify-content: space-between;
  background-color: var(--c_brown-p);
  max-height: 0;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.7s;
  transition-timing-function: ease-out;
}
.faq__a--title {
  padding: 1em;
}
.faq__a--text {
  padding: 1em 1em 1em 0
}
.faq__item--checkbox:checked + .faq__q + .faq__a {
  max-height: 500px;
  transition: all 1s;
  transition-timing-function: linear;
}
.faq__item--checkbox:checked + .faq__q::before {
  transform: rotate(90deg) !important;
}
.faq__btn--margin {
  margin-top: 40px;
}
/* ＝＝＝＝＝ contact ＝＝＝＝＝ */
.contact {
  margin-top: 24px;
}
.contact__p--wrapper {
  margin-top: 40px;
  padding: 0 1em;
}
.contact__p {
  font-size: var(--fs_m);
  margin: 1.5em 0 0 1em;
}

.contact__form--wrapper {
  margin-top: 80px;
  padding: 0 1em;
}
.contact__form {
  font-size: var(--fs_m);
  margin-top: 24px;
}
.contact__form--label {
  display: block;
}
.contact-form__1--item-wrapper {
  display: flex;
  justify-content: space-between;
  font-size: var(--fs_m);
  border: 1px solid #707070;
  border-radius: 6px;
  box-sizing: border-box;
  padding: 1em;
}
.contact__form--input {
  font-size: var(--fs_m);
  width: 100%;
  padding: 1em;
  box-sizing: border-box;
}
.contact__form--submit {
  text-align: center;
  margin-top: 40px;
  border: none;
}
.contact__form--submit-btn {
  position: relative;
  color: #333;
  font-size: var(--fs_l);
  background-color: var(--c_green);
  width: 160px;
  border: none;
  padding: 1.5em 0;
}
.contact__form--submit-btn::after {
  content: '';
  position: absolute;
  top: -3px;
  left: -3px;
  width: 100%;
  height: 100%;
  border: 1px solid #707070;
}
/* ＝＝＝＝＝ thanks ＝＝＝＝＝ */
.thanks {
  margin-top: 24px;
}
.thanks__h1 {
  font-size: var(--fs_m);
  font-weight: 500;
  border: none;
}
.thanks__text--wrapper {
  font-size: var(--fs_m);
  text-align: center;
  margin-top: 64px;
}
.thanks__return-btn {
  margin-top: 40px;
}
/* ＝＝＝＝＝ privacy-policy ＝＝＝＝＝ */
.privacy {
  font-size: var(--fs_m);
  margin-top: 24px;
  padding: 0 1em;
}
.privacy__h1 {
  font-size: var(--fs_xl);
  font-weight: 500;
}
.privacy__p--top {
  font-size: var(--fs_m);
  letter-spacing: 0;
  text-align: center;
  margin-top: 40px;
}
.privacy__ol {
  list-style: none;
  margin-top: 80px;
}
.privacy__ol--title {
  font-weight: 700;
  margin-left: -8px;
  border-bottom: 1px solid #333;
}
.privacy__li--first {
  display: flex;
  margin-top: 1.5em;
}
.privacy__li {
  display: flex;
  margin-top: 3em;
}
.privacy__li--number {
  font-weight: 500;
  margin-right: 8px;
}
.privacy__li--title {
  font-weight: 500;
}
.privacy__li--underlayer {
  display: flex;
  margin: 1.5em 0 0 2em;
}
.privacy__contact--wrapper {
  margin-top: 80px;
  padding: 0 1em;
}
/* ＝＝＝＝＝ 404 ＝＝＝＝＝ */
.error {
  margin-top: 24px;
}
.error__h1 {
  color: var(--c_green);
  font-size: var(--fs_z);
  font-weight: 900;
  letter-spacing: 0.5em;
  margin-left: 24px;
}
.error__text--wrapper {
  font-size: var(--fs_m);
  text-align: center;
  margin-top: 64px;
}
.error__return-btn {
  margin-top: 40px;
}
