@charset "utf-8";

/*------------------------------ 共通 ------------------------------*/
.sp {
  display: none;
}

.container {
  max-width: 1200px;
}

.inner {
  max-width: 1000px;
}

.heading h2 {
  font-size: 4.4rem;
}

.heading h1 {
  font-size: 4.4rem;
}

.heading p {
  font-size: 1.4rem;
}

.right-arrow {
  height: 47px;
  width: 234px;
  border-radius: 24px;
  font-size: 2rem;
}

.under-arrow {
  font-size: 1.8rem;
  padding-right: 50px;
}

.under-arrow::before {
  width: 128px;
}

.under-fv .inner {
  margin-bottom: 57px;
}

.breadcrumbs {
  margin-bottom: 126px;
}

.breadcrumbs .inner {
  gap: 0 90px;
}

.breadcrumbs .inner a {
  position: relative;
}

.breadcrumbs .inner a::after {
  left: calc(100% + 45px);
}


/*------------------------------ ヘッダー ------------------------------*/
@media screen and (max-width: 1000px) {
  header .container .logo img {
    width: 200px;
  }
}

header .container nav ul {
  gap: 0 30px;
}

@media screen and (max-width: 1000px) {
  header .container nav ul {
    gap: 0 20px;
  }
}

header .container nav ul li a {
  font-size: 2.2rem;
}

@media screen and (max-width: 1100px) {
  header .container nav ul li a {
    font-size: 2rem;
  }
}

@media screen and (max-width: 1000px) {
  header .container nav ul li a {
    font-size: 1.6rem;
  }
}

/*------------------------------ トップ ------------------------------*/

#top .fv .content h2 {
  font-size: 7.4rem;
  line-height: 1.41;
  margin-bottom: 20px;
}

@media screen and (max-width: 1400px) {
  #top .fv .content h2 {
    font-size: clamp(3rem, 4vw, 7rem);
  }
}

@media screen and (min-width: 1400px) {
  #top .fv .content p {
    font-size: 2rem;
  }
}

@media screen and (min-width: 1400px) {
  #top .fv .scroll {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 1000px) {
  #top .fv .scroll {
    bottom: 30px;
    font-size: 1.4rem;
  }
}

#top .news {
  padding: 130px 0 110px;
}

#top .news .inner .heading {
  margin-bottom: 60px;
}

#top .news .inner .news-wrap {
  margin-bottom: 20px;
}

#top .news .inner .news-wrap a {
  width: calc(100% / 3);
  padding: 0 2%;
}

#top .news .inner .news-wrap a time {
  font-size: 1.4rem;
}

#top .news .inner .news-wrap a p:first-of-type {
  padding-bottom: 40px;
}

#top .news .inner .news-wrap a .term {
  right: 6%;
  font-size: 2.6rem;
}

#top .concept {
  padding: 50px 0 80px;
}

#top .concept .inner .heading {
  margin-bottom: 50px;
}

#top .concept .inner p {
  font-size: 2.4rem;
}

#top .takumidou {
  padding: 100px 0 40px;
}

#top .takumidou .inner {
  gap: 0 5%;
}

#top .takumidou .inner .content {
  padding-bottom: 60px;
}

#top .takumidou .inner .content .heading {
  margin-bottom: 50px;
}

@media screen and (max-width: 1000px) {
  #top .takumidou .inner .content .heading h2 {
    font-size: 3.6rem;
  }
}

#top .takumidou .inner .content .text {
  font-size: 1.8rem;
}

#top .salon-school {
  height: 370px;
  margin-bottom: 70px;
}

#top .salon-school .content-wrap {
  width: 50%;
}

#top .salon-school .content-wrap .content {
  margin-bottom: 50px;
  margin-top: 60px;
  padding-bottom: 60px;
  padding-left: 5%;
  max-width: 500px;
}

#top .salon-school .salon .content {
  padding-right: 5%;
}

#top .salon-school .school .content {
  padding-left: 5%;
  padding-right: 5%;
  border-left: 1px solid #fff;
}

#top .salon-school .content-wrap .content .heading-link {
  justify-content: space-between;
  align-items: baseline;
}

#top .salon-school .content-wrap .content .heading-link .heading {
  margin-bottom: 50px;
}

#top .salon-school .content-wrap .content .heading-link a {
  padding-right: 30px;
}

#top .salon-school .content-wrap .content .text {
  font-size: 1.8rem;
}

#top .salon-school .content-wrap .img img {
  height: 370px;
}


/*------------------------------ フッター ------------------------------*/
footer .logo {
  margin-bottom: 50px;
}

footer address {
  margin-bottom: 30px;
}

footer .reservation p {
  margin-bottom: 20px;
}

footer .reservation .links {
  gap: 0 65px;
  margin-bottom: 57px;
}

footer .wax {
  max-width: 451px;
  padding-top: 73px;
  margin-bottom: 72px;
}

footer .copy {
  height: 40px;
}


/*------------------------------ サロン ------------------------------*/
#salon .removal {
  padding: 53px 0;
  margin-bottom: 100px;
}

#salon .removal .inner {
  justify-content: space-between;
}

#salon .removal .inner .img {
  width: 50%;
}

#salon .removal .inner .content {
  width: 45%;
}

#salon .removal .inner .content h2 {
  font-size: 3.4rem;
  margin-bottom: 30px;
}

#salon .removal .inner .content p {
  font-size: 1.8rem;
}

#salon .menu {
  margin-bottom: 100px;
}

#salon .menu .inner {
  justify-content: center;
  gap: 0 10%;
}

#salon .menu .inner .each-menu {
  width: 45%;
}

#salon .menu .inner .each-menu .img {
  margin-bottom: 50px;
}

#salon .menu .inner .each-menu .img .heading {
  top: 20px;
  left: -45px;
}

@media screen and (max-width: 1200px) {
  #salon .menu .inner .each-menu .img .heading {
    left: -30px;
  }
}

#salon .menu .inner .each-menu table thead tr th {
  font-size: 3.4rem;
  height: 61px;
}

#salon .menu .inner .each-menu table tbody {
  padding: 40px 0 40px 24px;
}

#salon .menu .inner .each-menu table tbody tr td {
  font-size: 1.8rem;
}

#salon .menu .inner .each-course {
  margin-bottom: 33px;
}

#salon .menu .inner .each-course h4 {
  margin-bottom: 20px;
  font-size: 2rem;
}

#salon .menu .inner .each-course p {
  font-size: 1.8rem;
}


/*------------------------------ 予約とアクセス ------------------------------*/
.reservation-access {
  height: 448px;
  margin-bottom: 72px;
}

.reservation-access .reservation {
  width: 50%;
}

.reservation-access .reservation .content .heading {
  margin-bottom: 45px;
}

.reservation-access .reservation .content .links {
  gap: 0 65px;
  margin-bottom: 33px;
}

.reservation-access .access {
  width: 50%;
}

.reservation-access .access a {
  width: 434px;
  height: 86px;
  line-height: 86px;
  border-radius: 43px;
  font-size: 4.4rem;
}

@media screen and (max-width: 1100px) {
  .reservation-access .access a {
    width: 80%;
  }
}

.reservation-access .access a::before {
  width: 128px;
  right: -30px;
}

@media screen and (max-width: 1100px) {
  .reservation-access .access a::before {
    width: 80px;
  }
}

.reservation-access .access a::after {
  right: -30px;
}


/*------------------------------ スクール ------------------------------*/
#school .under-fv .container {
  position: relative;
  z-index: -1;
  width: 100%;
}

#school .under-fv .container .fv-treatment {
  position: absolute;
  top: 0;
  left: 0;
  filter: opacity(30%);
}

#school .under-fv .img img {
  /* object-position: right; */
  object-position: 95% 50%;
}

#school .takumidou {
  padding: 0 0 100px;
}

#school .takumidou .inner {
  gap: 0 5%;
}

#school .takumidou .inner .content {
  padding-bottom: 60px;
}

#school .takumidou .inner .content .heading {
  margin-bottom: 50px;
}

@media screen and (max-width: 1000px) {
  #school .takumidou .inner .content .heading h2 {
    font-size: 3.6rem;
  }
}

#school .takumidou .inner .content .text {
  font-size: 1.8rem;
}

#school .quality-about {
  padding: 60px 0 50px;
}

#school .quality-about .inner .quality {
  gap: 0 5%;
  margin-bottom: 65px;
}

#school .quality-about .inner .quality .img {
  top: -80px;
}

#school .quality-about .inner .quality .content {
  width: 53%;
}

#school .quality-about .inner .quality .content h3 {
  font-size: 3.4rem;
  margin-bottom: 40px;
}

#school .quality-about .inner .quality .content p {
  font-size: 1.8rem;
}

#school .quality-about .inner .about {
  gap: 0 5%;
}

#school .quality-about .inner .about .content {
  width: 53%;
}

#school .quality-about .inner .about .content h3 {
  font-size: 3.4rem;
  margin-bottom: 30px;
}

#school .point .bg {
  /* max-width: 1920px; */
}

#school .point .bg .gray {
  width: 24%;
}

#school .point .bg .img {
  width: 76%;
}

#school .point .container .each-point {
  gap: 0 10%;
  height: 683px;

  /* position: relative;
  top: -100vh; */
}

@media screen and (max-width: 1000px) {
  #school .point .container .each-point {
    gap: 0 5%;
  }
}

#school .point .container .each-point .img {
  width: 50%;
}

#school .point .container .each-point .content {
  width: 40%;
}

@media screen and (max-width: 1000px) {
  #school .point .container .each-point .content {
    width: 45%;
  }
}

#school .point .container .each-point .content h2 {
  font-size: 4.4rem;
  margin-bottom: 29px;
}

#school .point .container .each-point .content h2 span {
  font-size: 8.2rem;
  padding-left: 10px;
}

#school .point .container .each-point .content h3 {
  font-size: 2.6rem;
  margin-bottom: 42px;
}

#school .point .container .each-point .content p {
  font-size: 1.8rem;
}

#school .chance {
  padding: 235px 0 202px;
}

#school .chance .inner .content {
  max-width: 600px;
}

#school .chance .inner .content h2 {
  font-size: 3.4rem;
  margin-bottom: 66px;
}

#school .chance .inner .content p {
  font-size: 1.8rem;
}

#school .reason {
  padding: 100px 0;
}

#school .reason h2 {
  font-size: 4.4rem;
  margin-bottom: 31px;
}

#school .reason .inner {
  justify-content: space-between;
  gap: 33px 0;
}

#school .reason .inner .each-reason {
  width: 45%;
}

#school .reason .inner .each-reason p:first-of-type {
  font-size: 8.2rem;
  margin-bottom: 27px;
}

#school .reason .inner .each-reason:last-of-type {
  top: -160px;
}

@media screen and (max-width: 1000px) {
  #school .reason .inner .each-reason:last-of-type {
    top: -200px;
  }
}

#school .reason .inner .each-reason h3 {
  font-size: 3.4rem;
  margin-bottom: 39px;
}

#school .reason .inner .each-reason p:last-of-type {
  font-size: 1.8rem;
}

#school .lecturer-idea {
  padding: 100px 0;
}

#school .lecturer-idea .inner .lecturer {
  justify-content: space-between;
  margin-bottom: 94px;
}

#school .lecturer-idea .inner .lecturer .img {
  width: 40%;
}

#school .lecturer-idea .inner .lecturer .content {
  width: 55%;
  padding-top: 60px;
}

#school .lecturer-idea .inner .lecturer .content h2 {
  font-size: 3.4rem;
  margin-bottom: 33px;
}

#school .lecturer-idea .inner .lecturer .content p {
  font-size: 1.8rem;
  max-width: 450px;
}

#school .lecturer-idea .inner .idea h3 {
  font-size: 3.4rem;
  margin-bottom: 33px;
}

#school .lecturer-idea .inner .idea p {
  font-size: 1.8rem;
}

#school .lecturer-idea .inner .idea p:nth-of-type(even) {
  margin-bottom: 20px;
}

#school .lecturer-idea .inner .idea p:last-of-type {
  margin-bottom: 0;
}

#school .treatment {
  padding: 100px 0;
}

#school .treatment .inner {
  gap: 60px 0;
}

#school .treatment .inner .img {
  width: calc(100% / 3 - 40px);
}

#school .price {
  padding: 83px 0 127px;
}

#school .price .inner .heading {
  margin-bottom: 39px;
}

#school .price .inner h3 {
  font-size: 3.4rem;
  height: 61px;
  line-height: 61px;
  margin-bottom: 66px;
}

#school .price .inner .course .text {
  font-size: 1.8rem;
}

#school .price .inner .course .course-price {
  margin-bottom: 79px;
  max-width: 810px;
}

#school .price .inner .course .course-price .ttl {
  width: 250px;
  font-size: 2rem;
}

#school .price .inner .course .course-price .dashed {
  width: calc(100% - 500px);
}

#school .price .inner .course .course-price .each-price {
  padding-left: 55px;
}

#school .price .inner .course .course-price .each-price p:first-of-type {
  position: absolute;
  white-space: nowrap;
  top: -25px;
  left: 55px;
}

#school .price .inner .course .course-price .each-price p:last-of-type span {
  font-size: 3.4rem;
  padding-right: 11px;
}

#school .price .inner .basic {
  margin-bottom: 48px;
}

#school .price .inner .option .first-text {
  margin-bottom: 46px;
}

#school .price .inner .option .each-course {
  margin-bottom: 33px;
}

#school .price .inner .option .each-course h4 {
  margin-bottom: 20px;
  height: 37px;
  font-size: 2rem;
}

#school .takmidou-link {
  padding: 143px 0;
}

#school .takmidou-link a {
  width: 465px;
  height: 86px;
  font-size: 4.1rem;
  border-radius: 43px;
}

#school .takmidou-link a::before {
  width: 128px;
  right: -30px;
}

#school .takmidou-link a::after {
  right: -30px;
}


/*------------------------------ お知らせ ------------------------------*/
#news .inner {
  margin-bottom: 100px;
}

#news .inner .news-wrap {
  gap: 30px 0;
  margin-bottom: 100px;
}

#news .inner .news-wrap a {
  width: calc(100% / 3);
  padding: 0 2%;
}

#news .inner .news-wrap a:nth-of-type(4) {
  border-left: 1px solid #808080;
}

#news .inner .news-wrap a:nth-of-type(7) {
  border-left: 1px solid #808080;
}

#news .inner .news-wrap a time {
  font-size: 1.4rem;
}

#news .inner .news-wrap a p:first-of-type {
  padding-bottom: 40px;
}

#news .inner .news-wrap a .term {
  right: 6%;
  font-size: 2.6rem;
}


/*------------------------------ お知らせ詳細 ------------------------------*/
#single-news .news {
  margin-bottom: 139px;
}

#single-news .news time {
  font-size: 1.4rem;
  margin-bottom: 8px;
}

#single-news .news h2 {
  font-size: 2.4rem;
  padding-bottom: 8px;
  margin-bottom: 15px;
}

#single-news .news .term {
  margin-bottom: 39px;
  font-size: 2.6rem;
}

#single-news .news .content p:not(:last-of-type) {
  margin-bottom: 30px;
}

#single-news .news .content p:last-of-type {
  margin-bottom: 78px;
}


/*------------------------------ アクセス ------------------------------*/
#access .salon-school {
  margin-bottom: 142px;
}

#access .salon-school .container .heading {
  margin-bottom: 53px;
}

#access .salon-school .container address {
  gap: 0 5%;
  margin-bottom: 30px;
}

@media screen and (max-width: 1200px) {
  #access .salon-school .container address {
    gap: 30px 0;
    flex-direction: column;
  }
}

#access .salon-school .container address .google-map {
  width: 42%;
}

@media screen and (max-width: 1200px) {
  #access .salon-school .container address .google-map {
    width: 100%;
  }
}

@media screen and (max-width: 1200px) {
  #access .salon-school .container address .content {
    gap: 40px 0;
  }
}

#access .salon-school .container address .content .each-address {
  width: 50%;
}

#access .salon-school .container address .content .each-address .list {
  font-size: 3.4rem;
  margin-bottom: 16px;
}

#access .salon-school .container address .content .each-address p {
  font-size: 1.8rem;
  padding-right: 10px;
}

#access .salon-school .container .note {
  margin-bottom: 100px;
}

#access .salon-school .container .clinic-gym .card {
  padding: 83px 0 64px;
}

#access .salon-school .container .clinic-gym .card .content h3 {
  font-size: 4.1rem;
  margin-bottom: 30px;
}

#access .salon-school .container .clinic-gym .card .content h4 {
  font-size: 3.4rem;
  margin-bottom: 20px;
}

#access .salon-school .container .clinic-gym .card a {
  bottom: 37px;
  right: 57px;
}

#access .salon-school .container .clinic-gym .clinic {
  margin-bottom: 100px;
}


/*------------------------------ お問い合わせ 完了 ------------------------------*/
#contact-thanks .content {
  margin-bottom: 140px;
}

#contact-thanks .content h2 {
  font-size: 2.4rem;
  padding-bottom: 8px;
  margin-bottom: 40px;
}

#contact-thanks .content p:not(:last-of-type) {
  margin-bottom: 40px;
}

#contact-thanks .content p:last-of-type {
  margin-bottom: 60px;
}


/*------------------------------ お問い合わせ ------------------------------*/
#contact .wpcf7 {
  margin-bottom: 141px;
}

#contact .contact-form .inner dl {
  align-items: center;
}

#contact .contact-form .inner dl:not(:last-of-type) {
  margin-bottom: 34px;
}

#contact .contact-form .inner dl:last-of-type {
  margin-bottom: 71px;
  align-items: flex-start;
}

#contact .contact-form .inner dl dt {
  font-size: 1.8rem;
  width: 242px;
}

#contact .contact-form .inner dl dd {
  width: calc(100% - 242px);
}

#contact .contact-form .inner dl dd input,
#contact .contact-form .inner dl dd textarea {
  padding: 15px;
}


/*------------------------------ お問い合わせ確認 ------------------------------*/
#contact-confirm .wpcf7 {
  margin-bottom: 140px;
}

#contact-confirm .contact-form .inner dl {
  padding: 50px 0 18px;
  font-size: 1.8rem;
}

#contact-confirm .contact-form .inner dl:last-of-type {
  margin-bottom: 70px;
}

#contact-confirm .contact-form .inner dl dt {
  width: 30%;
}

#contact-confirm .contact-form .inner dl dd {
  width: 70%;
}

#contact-confirm .contact-form .inner .prev-submit {
  gap: 0 50px;
}


/*------------------------------ ページネーション ------------------------------*/
.pagination {
  gap: 28px;
}

.pagination .current {
  width: 40px;
  height: 40px;
  font-size: 2rem;
}

.pagination a.page-numbers {
  width: 40px;
  height: 40px;
  font-size: 2rem;
}