@charset "UTF-8";
/*==================================
      レスポンシブ設定 マップ型変数breakpointsを定義
      =================================*/
/*==================================
      common(一般) - 全体に共通するスタイル
      =================================*/
@media screen and (max-width: 1000px) {
  .is-pc {
    display: none !important;
  }
}
@media screen and (min-width: 1001px) {
  .is-sp {
    display: none !important;
  }
}
@media screen and (min-width: 1001px) {
  body {
    max-width: 100%;
  }
  .drawer-icon {
    display: none;
  }
  .inner {
    max-width: 1080px;
    padding: 0 60px;
  }
  .header {
    width: 100%;
    max-width: 100%;
  }
  .header {
    padding: 15px 0;
    position: absolute;
  }
  .header .inner {
    max-width: 1500px;
  }
  .header .logo {
    max-width: 300px;
    margin-right: 40px;
  }
  .header .flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .header .sec-btn-flex {
    max-width: 550px;
    margin-left: auto;
    margin-right: auto;
  }
  .header .flex {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .section-btn1 a {
    font-size: 22px;
    padding: 12px 20px;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    width: 262px;
  }
  .section-btn1 a:hover {
    opacity: 0.6;
  }
  .section-btn1 a .sec-flex .icon {
    width: 22px;
    margin-right: 9px;
  }
}
@media screen and (min-width: 1001px) and (max-width: 1300px) {
  .section-btn1 a {
    font-size: 20px;
    padding: 12px 10px;
    width: 222px;
  }
}
@media screen and (min-width: 1001px) and (max-width: 1100px) {
  .section-btn1 a {
    width: 202px;
  }
}
@media screen and (min-width: 1001px) {
  .section-btn2 a {
    font-size: 22px;
    padding: 12px 20px;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    width: 262px;
  }
}
@media screen and (min-width: 1001px) and (max-width: 1300px) {
  .section-btn2 a {
    font-size: 20px;
    padding: 12px 10px;
    width: 222px;
  }
}
@media screen and (min-width: 1001px) and (max-width: 1100px) {
  .section-btn2 a {
    width: 202px;
  }
}
@media screen and (min-width: 1001px) {
  .section-btn2 a:hover {
    opacity: 0.6;
  }
  .section .sec-btn-flex {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
  }
  .sec-flex .icon {
    width: 30px;
    margin-right: 10px;
  }
  .sec-btn-flex .btn {
    width: 47%;
  }
  .section {
    padding: 80px 0 90px;
  }
  .cta h2 {
    font-size: 26px;
    font-weight: 700;
    text-align: center;
    line-height: 1;
    margin-bottom: 30px;
    white-space: nowrap;
  }
  .top1 .text1 {
    font-size: 20px;
  }
  .add1 {
    margin-bottom: 20px;
  }
  .top1 .text2 {
    text-align: left;
    font-size: 22px;
  }
  .top1 .woman {
    max-width: 210px;
    bottom: -90px;
    right: -40px;
    width: 30%;
  }
  .top2 {
    padding: 30px 0 70px;
  }
  .top2 .text1 {
    font-size: 18px;
  }
  .top2 .text2 {
    font-size: 36px;
  }
  .top3 ul li {
    width: 21%;
  }
  .top3 ul li:nth-child(n+3) {
    margin-top: 0;
  }
  .top3 ul li p {
    font-size: 18px;
    margin-top: 20px;
  }
  .top3 {
    padding-top: 40px;
  }
  .sec-flex .icon img {
    vertical-align: middle;
    position: relative;
    top: -3px;
  }
  .top3 .text2 {
    font-size: 20px;
    margin-bottom: 50px;
    text-align: center;
  }
  .top3 .img {
    max-width: 460px;
    margin-left: auto;
    margin-right: auto;
  }
  .section-title {
    font-size: 30px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 60px;
    position: relative;
  }
  .top4 .area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .top4 .area .img {
    width: 50%;
  }
  .top4 .area .contents {
    padding: 0;
    width: 45%;
  }
  .top4 li {
    margin-bottom: 10px;
  }
  .top4 li:last-child {
    margin-bottom: 0;
  }
  .top4 p {
    font-size: 16px;
  }
  .top5-5 .area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .top5-5 .area .img {
    width: 50%;
  }
  .top5-5 .area .contents {
    padding: 0;
    width: 45%;
  }
  .top5-5 li {
    margin-bottom: 10px;
  }
  .top5-5 li:last-child {
    margin-bottom: 0;
  }
  .top5-5 p {
    font-size: 16px;
  }
  .top5-5 .lead {
    padding: 0;
    margin-bottom: 40px;
  }
  .top6 .area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .top6 .area:nth-child(2n) {
    -webkit-box-orient: initial;
    -webkit-box-direction: initial;
        -ms-flex-direction: initial;
            flex-direction: initial;
  }
  .top6 .area .img {
    width: 50%;
  }
  .top6 .area .contents {
    padding: 0;
    width: 45%;
  }
  .top6 li {
    margin-bottom: 10px;
  }
  .top6 li:last-child {
    margin-bottom: 0;
  }
  .top6 p {
    font-size: 16px;
  }
  .top6 .lead {
    padding: 0;
    margin-bottom: 40px;
  }
  .top6 li {
    font-size: 16px;
  }
  .top4 ul li .li-flex {
    font-size: 16px;
  }
  .top4 ul li .li-flex .icon {
    width: 20px;
    margin-right: 5px;
    position: relative;
    top: -2px;
  }
  .top6 .area {
    margin-bottom: 60px;
  }
  .top6 .area:last-child {
    margin-bottom: 0;
  }
  .top6 li {
    margin-bottom: 0px;
  }
  .top6 {
    padding-bottom: 40px;
  }
  .voice .box .flex .img {
    width: 25%;
  }
  .voice .box .flex .contents {
    width: 70%;
  }
  .voice .box {
    padding: 40px;
  }
  .voice .box {
    margin-bottom: 40px;
  }
  .voice .box:last-child {
    margin-bottom: 0;
  }
  .price .contents {
    padding: 0;
  }
  .price .area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .price .area .img {
    width: 50%;
  }
  .price .area .contents {
    width: 45%;
  }
  .price p {
    font-size: 16px;
  }
  .flow ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background: #fff;
    margin-bottom: 40px;
  }
  .flow ul li:last-child {
    margin-bottom: 0;
  }
  .flow ul li .img {
    width: 300px;
  }
  .flow ul li .contents {
    width: calc(100% - 300px);
    padding: 30px 35px;
  }
  .flow ul li p {
    font-size: 16px;
  }
  .top7 .area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .top7 .area .img {
    width: 50%;
  }
  .top7 .area .contents {
    width: 45%;
    padding: 0;
  }
  .top7 .lead {
    padding: 0;
    font-size: 16px;
    margin-bottom: 10px;
  }
  .qa .row .dt {
    font-size: 16px;
  }
  .qa .row .dd {
    font-size: 16px;
  }
  .qa .row .dt .icon {
    margin-right: 15px;
  }
  .qa .row .dd .icon {
    margin-right: 15px;
  }
  .qa .row {
    padding: 20px 40px;
  }
  .qa .row .dd .flex {
    margin-top: 20px;
  }
  .access .area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .access .img {
    width: 52%;
  }
  .access .contents {
    width: 45%;
    padding: 0;
  }
  .access .row:nth-child(1) {
    padding-top: 0;
  }
  .access .row .dt {
    font-size: 16px;
  }
  .access .row .dd {
    font-size: 16px;
  }
  .access .area {
    margin-bottom: 60px;
  }
  .access .map .wrap {
    padding-top: 50%;
  }
  .footer {
    padding: 30px 0;
    font-size: 16px;
  }
  .footer .copyright {
    font-size: 14px;
  }
  .access .img img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .qa .row {
    margin-bottom: 40px;
  }
  .qa .row:last-child {
    margin-bottom: 0;
  }
  .top4 {
    background: url(../img/bg22164715.webp) no-repeat bottom center/cover;
  }
}
@media screen and (max-width: 1100px) and (min-width: 901px) {
  .header .section-btn1 a {
    padding: 5px 10px;
    font-size: 18px;
  }
  .header .section-btn2 a {
    padding: 5px 10px;
    font-size: 18px;
  }
  .top1 .woman {
    max-width: 140px;
    bottom: -90px;
    right: -90px;
    width: 30%;
    display: none;
  }
}
@media screen and (min-width: 1001px) {
  .header .flex {
    max-width: 62vw;
    margin: 0 auto;
  }
}
.add-img20251219 {
  margin-bottom: 40px;
}
@media screen and (max-width: 1000px) {
  .add-img20251219 {
    margin-bottom: 20px;
    padding-left: 20px;
    padding-right: 20px;
  }
}
.add-img20251219 a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.add-img20251219 a:hover {
  opacity: 0.6;
}

.price-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  background: #fff;
}

.price-table {
  border-radius: 6px;
  overflow: hidden;
}

/* column widths */
.price-table colgroup col:first-child {
  width: 22%;
}

.price-table colgroup col:nth-child(2),
.price-table colgroup col:nth-child(3) {
  width: 39%;
}

/* cells */
.price-table th,
.price-table td {
  border: 0; /* 赤線いらないので完全OFF */
  text-align: center;
  vertical-align: middle;
}

/* title row */
.price-table thead .title {
  background: #eaf6fb;
  font-size: 16px;
  font-weight: 700;
}

/* header row (courses) */
.price-table thead th {
  background: #eaf6fb;
  font-size: 16px;
  font-weight: 700;
}

/* left blank cell under title */
.price-table thead .blank {
  background: #eaf6fb;
  background: #E5F7FE;
}

/* time column */
.price-table .time {
  font-size: 16px;
  font-weight: 400;
}

/* price cells */
.price-table tbody td {
  font-size: 16px;
  font-weight: 400;
}

/* optional: row separation with whitespace (線なしで区切り感) */
/* responsive tweak */
@media (max-width: 1000px) {
  .price-table th,
  .price-table td {
    font-size: 13px;
  }
}
.price-table tr:nth-child(2n) td, .price-table tr:nth-child(2n) th {
  background: #F4F4F4;
}

.menu-img {
  margin: 10px 0;
}

@media screen and (min-width: 1001px) {
  .price .area .contents {
    width: 48%;
  }
  .price .area .img {
    width: 48%;
  }
}
.top4 .area {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.top5-5 .area {
  -webkit-box-orient: initial;
  -webkit-box-direction: initial;
      -ms-flex-direction: initial;
          flex-direction: initial;
}

.top5 .lead span {
  font-weight: 700;
}

@media screen and (max-width: 1000px) {
  .add-p1220 {
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 15px;
  }
}