@charset "UTF-8";
@media screen and (min-width: 768px) {
:root {
  --fs_sss: 10px;
  --fs_ss: 12px;
  --fs_s: 14px;
  --fs_m: 16px;
  --fs_l: 18px;
  --fs_ll: 20px;
  --fs_xl: 24px;
  --fs_x: 28px;
  --fs_xx: 32px;
  --fs_y: 36px;
  --fs_z: 54px;
}
/* ＝＝＝＝＝ common ＝＝＝＝＝ */
a[href^="tel:"] {
  pointer-events: none;
}

.cv-btn {
  max-width: 480px;
}
.cv-btn::before {
  top: -4px;
  left: -4px;
}
.excursion-btn {
  max-width: 480px;
  box-shadow: 4px 4px var(--c_green);
}
.qa-btn {
  max-width: 480px;
}
.qa-btn::before {
  top: -4px;
  left: -4px;
}
.btn-arrow {
  position: absolute;
  top: 22px;
  right: 16px;
}

.h1__section-title {
  font-size: var(--fs_xx);
  border: 3px 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 {
  font-size: var(--fs_xx);
}
.h1__section-title--qa {
  font-size: var(--fs_xx);
  border: 3px 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;
}

.h2-common {
  font-size: var(--fs_xl);
}
.h2-common-green::before {
  width: 32px;
  height: 32px;
}
.h2-common-green::after {
  width: 32px;
  height: 32px;
}
.h2-common-blue::before {
  width: 32px;
  height: 32px;
}
.h2-common-blue::after {
  width: 32px;
  height: 32px;
}
.h2-common-brown::before {
  width: 32px;
  height: 32px;
}
.h2-common-brown::after {
  width: 32px;
  height: 32px;
}

.underlayer-h1__wrapper {
  width: 480px;
}
.underlayer-h1__p--upper {
  font-size: var(--fs_m);
  margin-bottom: -12px;
}
.underlayer-h1 {
  font-size: var(--fs_y);
}
.underlayer-h1-b {
  font-size: var(--fs_y);
}
.underlayer-h1__p--lower {
  font-size: var(--fs_ll);
  margin-top: 4px;
}

.page-bottom__cv {
  width: 75%;
  margin: 64px auto 0;
  border: 4px solid var(--c_green);
  padding: 2em 0;
}
.page-bottom__cv-title {
  font-size: var(--fs_m);
}
.page-bottom__cv-title::before {
  width: 20px;
  height: 20px;
}
.page-bottom__cv-title::after {
  width: 20px;
  height: 20px;
}
.page-bottom__cv-tel {
  font-size: var(--fs_xx);
}
.page-bottom__cv-tel img {
  width: 32px;
}
.page-bottom__cv-holiday {
  font-size: var(--fs_m);
}
.page-bottom__cv--btn {
  margin-top: 40px;
}

.inner {
  max-width: 896px;
}
/* ＝＝＝＝＝ header ＝＝＝＝＝ */
.header__h1 {
  padding-left: 1em;
}
.header__wrapper {
  padding: 8px 32px 0;
}
.header__logo,
.header__btn {
  height: 56px;
}
.header__tel--SP-a,
.header__tel--SP {
  display: none;
}
.header__tel--TBPC {
  display: block;
}
.header__tel--p-TBPC {
  font-size: var(--fs_sss);
  margin: -4px 0 -8px;
}
.header__tel--p2-TBPC {
  font-size: var(--fs_sss);
  text-align: center;
  margin: -4px 0;
}
.header__tel--img-TBPC {
  width: 20px;
  vertical-align: -2px;
  margin-right: 8px;
}
.header__tel--tel-TBPC {
  color: var(--c_green);
  font-size: var(--fs_xl);
  font-weight: 900;
  letter-spacing: 0.3em;
}

.hamburger-menu {
  margin-top: 8px;
}
.hamburger-menu__p {
  font-size: var(--fs_sss);
  top: 48px;
}
.hamburger-menu__p2 {
  font-size: var(--fs_sss);
  top: 48px;
}
/* ＝＝＝＝＝ footer ＝＝＝＝＝ */
.footer {
  margin-top: 64px;
  padding: 40px 0 16px;
}
.footer__head {
  padding: 0 5em;
}
.footer__hr {
  margin: 40px auto 0;
}
.footer__li {
  margin-top: 40px;
}
.footer__sns {
  margin-top: 40px;
  padding: 0 7em;
}
.footer__sns img {
  width: 48px;
}
.footer__copy {
  font-size: var(--fs_s);
  margin-top: 40px;
}
/* ＝＝＝＝＝ modal ＝＝＝＝＝ */
.modal__ul {
  max-width: 400px;
}
.modal__li--first {
  list-style: none;
  background-color: var(--c_green);
  width: 100%;
  position: relative;
  margin-top: 98.5px;
}
.modal__li {
  margin-top: 32px;
}
/* ＝＝＝＝＝ main-visual ＝＝＝＝＝ */
.main-visual-1__img--sp,
.main-visual-2__img--sp {
  display: none;
}
.main-visual-1__img--pc,
.main-visual-2__img--pc {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.main-visual-1__h1 {
  font-size: var(--fs_x);
  max-width: 560px;
}

.main-visual-2__h1--wrapper {
  top: 15%;
  width: 60%;
  max-width: 500px;
}
.main-visual-2__h1 {
  font-size: var(--fs_y);
  border-bottom: 2px solid #333;
}
/* ＝＝＝＝＝ top-section-1 ティーニーが選ばれる3つの理由 ＝＝＝＝＝ */
.top__section-1 {
  margin-top: 64px;
}
.top__section-1--container-f {
  margin-top: 64px;
}
.top__section-1--container {
  margin-top: 120px;
}
.top__section-1--semicircle {
  max-width: 160px;
}
.top__section-1--h2 {
  font-size: var(--fs_xl);
}
.h2__number {
  font-size: 72px;
  margin: 0 16px 0 24px;
  vertical-align: -16px;
}
.h2__subtitle {
  font-size: 18px;
  margin: -40px 0 0 72px;
}
.top__section-1--img {
  margin: 24px 16px 0 auto;
}
.top__section-1--text {
  width: 68.27%;
  margin-left: 16px;
}

.top__section-1--semicircle-L {
  max-width: 160px;
}
.top__section-1--h2-L {
  font-size: var(--fs_xl);
  margin-right: 24px;
}
.h2__subtitle-L {
  font-size: 18px;
  margin: -40px 30px 0 0;
}
.top__section-1--img-L {
  margin: 24px 0 0 16px;
}
.top__section-1--text-L {
  width: 68.27%;
  margin: 0 16px 0 auto;
}
/* ＝＝＝＝＝ top-section-2 無料見学・無料体験とは ＝＝＝＝＝ */
.top__section-2 {
  margin-top: 240px;
}
.top__section-2--wrapper {
  padding: 64px 0;
}
.top__section-2--p {
  margin-top: 64px;
}
.top__section-2--p2 {
  margin-top: 40px;
}
.top__section-2--cv-btn {
  margin-top: 64px;
}
.top__section-2--wrapper-2 {
  background-image: url(../img/polka-dots-green-top@2x.png);
  margin-top: 120px;
}
.top__section-2--img {
  width: 60%;
  max-width: 640px;
  margin: 120px auto 0;
}
/* ＝＝＝＝＝ top-section-3 料金のご案内 ＝＝＝＝＝ */
.top__section-3 {
  margin-top: 240px;
}
.top__section-3--container {
  max-width: 582px;
  margin: 40px auto 0;
}
.top__section-3--container-bg {
  height: 226px;
  top: 60px;
}
.top__section-3--img {
  width: 120px;
}
.top__section-3--text {
  font-size: var(--fs_l);
}
.top__section-3--text-upper::after {
  width: 20px;
  height: 20px;
  top: -10px;
  right: -18px;
}
.top__section-3--price-wrapper {
  margin-top: 40px;
}
.top__section-3--price-wrapper::before {
  left: 24%;
}
.top__section-3--price-wrapper::after {
  right: 24%;
}
.top__section-3--price {
  font-size: var(--fs_xl);
  box-shadow: 4px 4px 6px var(--c_green);
  padding: 16px 48px;
}
.top__section-3--price-b {
  font-size: var(--fs_xx);
  letter-spacing: 0.3em;
  margin-left: 10px;
}
/* ＝＝＝＝＝ stop-ection-4 よくある質問 ＝＝＝＝＝ */
.top__section-4 {
  margin-top: 240px;
}
/* ＝＝＝＝＝ top-section-5 Salon情報 ＝＝＝＝＝ */
.top__section-5 {
  margin-top: 240px;
}
.top__section-5--dl {
  max-width: 640px;
  margin: 40px auto 0;
}
.google-map {
  max-height: 480px;
}
/* ＝＝＝＝＝ top-section-6 SNS ＝＝＝＝＝ */
.top__section-6 {
  margin-top: 240px;
}
.top__section-6--contents-wrapper {
  margin-top: 40px;
}
.top__section--sns-icons {
  max-width: 560px;
  margin: 64px auto 0;
}
.top__section--sns-icons img {
  width: 56px;
}
/* ＝＝＝＝＝ top-section-7 ＝＝＝＝＝ */
.top__section-7 {
  margin-top: 240px;
}
.top__section-7--text {
  width: 560px;
}
.top__section-7--slogan-wrapper {
  margin-top: 64px;
}
.top__section-7--img {
  width: 24px;
  vertical-align: -4px;
  margin-left: 4px;
}
/* ＝＝＝＝＝ story ＝＝＝＝＝ */
.story::before {
  background-image: url(../img/p-story-bg-tb.jpg);
}
.story__contents {
  margin-top: 40px;
}
.story__p-1 {
  margin-top: 160px;
}
.story__p-2 {
  margin-top: 320px;
}
.story__p-3 {
  margin-top: 64px;
}
.story__p-4 {
  margin-top: 64px;
}
/* ＝＝＝＝＝ about ＝＝＝＝＝ */
.about::before {
  background-image: url(../img/p-about-bg-tb.jpg);
}
.about__contents {
  width: 80%;
  margin: 40px auto 0;
}
.about__ol {
  margin-top: 80px;
}
.about__li {
  margin-top: 64px;
}
/* ＝＝＝＝＝ free-tour ＝＝＝＝＝ */
.ft__free-trial {
  margin-top: 40px;
}
.ft__free-trial--container {
  background-image: url(../img/polka-dots-blue-top@2x.png);
  background-size: cover;
  margin-top: 40px;
}
.ft__free-trial--header-p {
  margin-top: 64px;
}

.free-trial__contents--ol {
  width: 80%;
  margin: 0 auto;
}
.free-trial__contents--li {
  margin-top: 120px;
}
.free-trial__contents--h3 {
  text-align: center;
  position: relative;
}
.free-trial__contents--h3-title {
  position: absolute;
  top: -22px;
  left: 0;
}
.free-trial__contents--h3-title::before {
  width: 20px;
  height: 20px;
  vertical-align: 20px;
  margin-right: -8px;
}
.free-trial__contents--img {
  width: 640px;
  max-width: 768px;
}
.free-trial__contents--h3-day5 {
  letter-spacing: 0.1em;
}
.free-trial__contents--h3-day6 {
  letter-spacing: 0.1em;
  text-align: center;
  position: relative;
}

.ft__free-tour {
  margin-top: 240px;
}
.free-tour__container {
  margin-top: 40px;
}
.free-tour__item--img {
  width: 100%;
  max-width: 480px;
}
.free-tour__item2 {
  margin-top: 120px;
}
/* ＝＝＝＝＝ join_price ご入会案内とご料金 ＝＝＝＝＝ */
.join__section-1 {
  margin-top: 40px;
  padding: 0 1em;
}
.join__ol {
  width: 80%;
  margin: 0 auto;
}
.join__circle3--wrapper {
  width: 85%;
  margin: 64px auto 0;
}
.join__circle3 {
  max-width: 160px;
  max-height: 160px;
}
.join__circle3::before {
  top: -4px;
  left: -4px;
}
.join__circle3::after {
  width: 40px;
  height: 40px;
  margin-left: 140px;
  transform: rotate(12deg);
}
.join__circle3--text {
  font-size: var(--fs_xl);
  width: 160px;
}
.join__1time-price--wrapper {
  margin-top: 40px;
}
.join__1time-price--wrapper img {
  width: 65%;
}
.join__1time-price--p {
  font-size: var(--fs_xl);
}
.join__1time-price {
  font-size: var(--fs_y);
}
.join__1time-price::before {
  width: 24px;
  height: 24px;
}
.join__1time-price::after {
  width: 24px;
  height: 24px;
}

.join__section-2 {
  margin-top: 240px;
}
.join__li--first {
   margin-top: 40px;
}
.join__li {
   margin-top: 120px;
}
.join__li--h3 {
  text-align: center;
  position: relative;
}
.join__li--h3-step {
  position: absolute;
  top: -22px;
  left: 0;
}
.join__li--h3-step::before {
  width: 24px;
  height: 24px;
}
.join__li--img {
  width: 80%;
  max-width: 640px;
}

.join__attention {
  margin-top: 160px;
  padding: 0 1em 0 2em;
}
.join__attention--ol {
  width: 80%;
  margin: 0 auto;
}
/* ＝＝＝＝＝ curriculum ＝＝＝＝＝ */
.curriculum__section-1 {
  margin-top: 40px;
}
.curriculum__section-1--h2 {
  font-size: var(--fs_l);
  margin-top: 40px;
}
.curriculum__section-1--h2::before {
  width: 20px;
  height: 20px;
}
.curriculum__section-1--h2::after {
  width: 20px;
  height: 20px;
}
.curriculum__contents-menu--wrapper {
  width: 90%;
  padding: 0;
}
.curriculum__contents-menu--btn {
  max-width: 300px;
}
.curriculum__contents-menu--btn::before {
  top: -4px;
  left: -4px;
}
.curriculum__btn--arrow {
  position: absolute;
  right: 1em;
}

.curriculum__contents-1,
.curriculum__contents-2,
.curriculum__contents-3,
.curriculum__contents-4,
.curriculum__contents-5,
.curriculum__contents-6 {
  margin-top: 120px;
}
.curriculum__contents--li-first {
  margin-top: 40px;
}
.curriculum__contents--li {
  margin-top: 120px;
}
.curriculum__contents__semicircle {
  max-width: 160px;
}

.curriculum__contents--number-blue {
  font-size: var(--fs_z);
}
.curriculum__contents--number-blue::before {
  width: 32px;
  height: 32px;
  vertical-align: 32px;
}
.curriculum__contents--hr-blue {
  height: 3px;
}
.curriculum__contents--h3 {
  font-size: var(--fs_ll);
  margin-left: 34px;
}
.curriculum__contents--img {
  display: block;
  width: 560px;
  margin: 24px 16px 0 auto;
}
.curriculum__contents--text-blue {
  width: 68.27%;
}
.curriculum__contents__semicircle-R {
  max-width: 160px;
}
.curriculum__contents--number-R-blue {
  font-size: var(--fs_z);
  margin-right: 32px;
}
.curriculum__contents--number-R-blue::before {
  width: 32px;
  height: 32px;
  vertical-align: 32px;
}
.curriculum__contents--hr-R-blue {
  height: 3px;
}
.curriculum__contents--h3-R {
  font-size: var(--fs_ll);
  margin-right: 32px;
}
.curriculum__contents--img-R {
  max-width: 400px;
  margin: 24px auto 0 8px;
}
.curriculum__contents--text-R-blue {
  width: 68.27%;
}

.curriculum__contents--number-green {
  font-size: var(--fs_z);
}
.curriculum__contents--number-green::before {
  width: 32px;
  height: 32px;
  vertical-align: 32px;
}
.curriculum__contents--hr-green {
  height: 3px;
}
.curriculum__contents--text-green {
  width: 68.27%;
}
.curriculum__contents--number-R-green {
  font-size: var(--fs_z);
  margin-right: 32px;
}
.curriculum__contents--number-R-green::before {
  width: 32px;
  height: 32px;
  vertical-align: 32px;
}
.curriculum__contents--hr-R-green {
  height: 3px;
}
.curriculum__contents--text-R-green {
  width: 68.27%;
}

.curriculum__contents--number-brown {
  font-size: var(--fs_z);
}
.curriculum__contents--number-brown::before {
  width: 32px;
  height: 32px;
  vertical-align: 32px;
}
.curriculum__contents--hr-brown {
  height: 3px;
}
.curriculum__contents--text-brown {
  width: 68.27%;
}
.curriculum__contents--number-R-brown {
  font-size: var(--fs_z);
  margin-right: 32px;
}
.curriculum__contents--number-R-brown::before {
  width: 32px;
  height: 32px;
  vertical-align: 32px;
}
.curriculum__contents--hr-R-brown {
  height: 3px;
}
.curriculum__contents--text-R-brown {
  width: 68.27%;
}

.curriculum__contents-6 {
  width: 60%;
  margin: 120px auto 0;
}
.curriculum__contents-6--h3 {
  font-size: var(--fs_ll);
}
.curriculum__contents-6--ul-first {
  margin-top: 40px;
}
.curriculum__contents-6--ul {
  margin-top: 120px;
}

.curriculum__contents-8 {
  margin-top: 80px;
}
.curriculum__contents-8--p1 {
  padding-top: 40px;
}
/* ＝＝＝＝＝ FAQ ＝＝＝＝＝ */
.faq {
  margin-top: 40px;
}
.faq__item {
  width: 80%;
  margin: 40px auto 0;
}
.faq__btn--margin {
  margin-top: 64px;
}
/* ＝＝＝＝＝ contact ＝＝＝＝＝ */
.contact {
  margin-top: 40px;
}
.contact__p--wrapper {
  width: 65%;
  margin: 64px auto 0;
}
.contact__form--wrapper {
  width: 80%;
  max-width: 580px;
  margin: 120px auto 0;
}
.contact__form {
  margin-top: 40px;
}
.contact__form--submit {
  margin-top: 64px;
}
.contact__form--submit-btn {
  width: 240px;
}
.contact__form--submit-btn::after {
  top: -4px;
  left: -4px;
}
/* ＝＝＝＝＝ thanks ＝＝＝＝＝ */
.thanks {
  margin-top: 40px;
}
.thanks__h1 {
  font-size: var(--fs_xl);
}
.thanks__text--wrapper {
  margin-top: 80px;
}
.thanks__return-btn {
  margin-top: 64px;
}
/* ＝＝＝＝＝ privacy-policy ＝＝＝＝＝ */
.privacy {
  margin-top: 40px;
}
.privacy__h1 {
  font-size: var(--fs_xl);
}
.privacy__p--top {
  margin-top: 64px;
}
.privacy__ol {
  width: 80%;
  margin: 120px auto 0;
}
.privacy__contact--wrapper {
  width: 70%;
  margin: 120px auto 0;
}
/* ＝＝＝＝＝ 404 ＝＝＝＝＝ */
.error {
  margin-top: 40px;
}
.error__text--wrapper {
  margin-top: 80px;
}
.error__return-btn {
  margin-top: 64px;
}
}
