body {
    font-family: "ipaexg";
}

@font-face {
    font-family: "ipaexg";
    /* font-weight: 900; */
    src: url("../font/ipaexg.ttf") format("opentype");
}

@font-face {
    font-family: "Capella-Bold";
    font-weight: 900;
    src: url("../font/Capella-Bold.ttf") format("opentype");
}


/* @font-face {
    font-family: "futura-bold";
    font-weight: 900;
    src: url("../font/futura-bold.ttf") format("opentype");
} */

.u-desktop {
    display: none;
}


/* リキッドレイアウト対応 */

html {
    font-size: 16px;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}


/* Remove default padding */

ul,
ol {
    padding: 0;
}


/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
    margin: 0;
}


/* Set core root defaults */

html {
    scroll-behavior: smooth;
}


/* Set core body defaults */

body {
    line-height: 1.5;
    min-height: 100vh;
    text-rendering: optimizeLegibility;
}


/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
    list-style: none;
}


/* A elements that don't have a class get default styles */

a:not([class]) {
    -webkit-text-decoration-skip: ink;
    text-decoration-skip-ink: auto;
}


/* Make images easier to work with */

img {
    display: block;
    max-width: 100%;
}


/* Natural flow and rhythm in articles by default */

article>*+* {
    margin-top: 1em;
}


/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
    font: inherit;
}


/* Blur images when they have no alt attribute */

img:not([alt]) {
    filter: blur(10px);
}


/* フォームリセット */

textarea {
    resize: vertical;
}

input[type=submit],
input[type=button],
input[type=radio],
label,
button,
select {
    cursor: pointer;
}


/* ホバー */

a {
    -webkit-text-decoration: none;
    color: inherit;
    text-decoration: none;
    transition: opacity 0.3s;
}

img {
    height: -moz-fit-content;
    height: fit-content;
    width: 100%;
}

p {
    letter-spacing: 0.1em;
}

.ac-child {
    background: #fff;
    display: none;
    margin-top: 0.625rem;
    padding: 1.25rem 0.75rem;
}

#ac-menu li {
    border-bottom: dotted 0.125rem #000;
    position: relative;
}

#ac-menu li::before {
    background-image: url(../images/common/icon_Q.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    height: 1.75rem;
    left: 0;
    position: absolute;
    top: 1.5rem;
    width: 1.75rem;
}

#ac-menu .label {
    cursor: pointer;
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 1.8;
    padding: 1.625rem 2.5rem 1.25rem 2.5rem;
    position: relative;
    transition: 0.5s;
}


/*
  ラベル右側のアイコン「＋」を設定
  beforeが横棒
  afterが縦棒
  */

#ac-menu .label::before,
#ac-menu .label::after {
    background: #000;
    content: "";
    height: 0.125rem;
    position: absolute;
    right: 5%;
    top: 50%;
    transform: translateY(-50%);
    width: 0.875rem;
}

#ac-menu .label::after {
    transform: translateY(-50%) rotate(90deg);
    transition: 0.5s;
}


/*
  アコーディオンメニューが開いている場合
  */


/* ラベルの背景色を変更 */

#ac-menu .label.open::before {
    /* ラベルアイコンの横棒を非表示 */
    opacity: 0;
}

#ac-menu .label.open::after {
    /* ラベルアイコンの縦棒を横向きに回転 */
    transform: rotate(180deg);
}


/*
  アコーディオンメニューのコンテンツ部分は、「display: none;」で非表示にしておく。
  ラベルクリック時にjQueryの「  $(this).next().slideToggle();」で表示に切り替わる
  */

#ac-menu .detail {
    border-top: solid 0.0625rem #ccc;
    display: none;
    padding: 1.25rem 1.875rem;
}

#ac-menu .detail dl {
    display: flex;
    flex-wrap: wrap;
}

#ac-menu .detail dt {
    font-weight: bold;
    margin-bottom: 2.5rem;
    width: 20%;
}

#ac-menu .detail dd {
    margin-bottom: 2.5rem;
    width: 80%;
}

.ac-parent {
    color: #fff;
    cursor: pointer;
    height: 8.75rem;
    margin-top: 1.25rem;
    padding: 0.75rem;
    position: relative;
    width: 100%;
}

.ac-parent:after {
    background-image: url(../images/common/icon_arrow_bottom.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    bottom: 1.25rem;
    content: "";
    display: inline-block;
    height: 2.5625rem;
    position: absolute;
    right: 1.5625rem;
    transition: 0.3s;
    width: 2.4375rem;
}


/* オープン時にopenクラスを付与 */

.ac-parent.open:after {
    transform: rotate(180deg);
}

.ac__future--01 {
    background-image: url(../images/common/future-accordion_01.jpg);
}

.ac__future--02 {
    background-image: url(../images/common/future-accordion_02.jpg);
}

.ac__future--03 {
    background-image: url(../images/common/future-accordion_03.jpg);
}

.ac__future--04 {
    background-image: url(../images/common/future-accordion_04.jpg);
}

.ac__future {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.accordion-001 {
    background-color: #f2f2f2;
    max-width: 31.25rem;
    position: relative;
}

.accordion-001:not([open]) {
    margin-bottom: 0.4375rem;
}

.accordion-001 summary {
    align-items: center;
    background-color: #2589d0;
    border-radius: 0.3125rem;
    color: #fff;
    cursor: pointer;
    display: flex;
    font-weight: 600;
    justify-content: space-between;
    padding: 0.75rem;
    position: relative;
}

.accordion-001 summary::-webkit-details-marker {
    display: none;
}

.accordion-001::after {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-bottom: 0.1875rem solid #fff;
    border-right: 0.1875rem solid #fff;
    content: "";
    height: 0.4375rem;
    margin-left: 0.625rem;
    position: absolute;
    right: 1.25rem;
    top: 1.25rem;
    transform: translateY(-25%) rotate(45deg);
    transition: transform 0.3s;
    width: 0.4375rem;
}

.accordion-001[open] summary::after {
    transform: rotate(225deg);
}

.accordion-001 p {
    background: #fff;
    color: #000;
    margin: 0;
    opacity: 0;
    padding: 1em 2em 2em 2em;
    transform: translateY(-rem(10));
    transition: transform 0.5s, opacity 0.5s;
}

.accordion-001[open] p {
    opacity: 1;
    transform: none;
}

body {
    background: url(../images/common/bg.jpg) repeat-x;
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.check {
    background: #000;
    margin-top: 2.5rem;
    padding-top: 2.75rem;
}

.check p {
    color: #fff;
    letter-spacing: 0.1em;
    text-align: center;
}

.check__text {
    position: relative;
}

.check__text::after {
    background-image: url(../images/common/check.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    height: 2.25rem;
    left: 0;
    position: absolute;
    top: -0.625rem;
    transform: rotate(-14deg);
    width: 5.625rem;
}

.concept-images {
    display: flex;
    gap: 0.625rem;
    margin-top: 3.75rem;
}

.concept-images__right {
    width: 40%;
}

.concept-images__right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.concept-images__left {
    grid-gap: 0.5rem;
    display: grid;
    gap: 0.5rem;
    width: 58%;
}

.concept-images__left .top {
    display: flex;
    justify-content: space-between;
}

.concept-image-01 {
    width: 50%;
    height: fit-content;
    aspect-ratio: 110/88;
}

.concept-image-02 {
    width: 46%;
    height: fit-content;
    aspect-ratio: 102/88;
}

.concept-image-03 {
    width: 100%;
    height: fit-content;
    aspect-ratio: 220/130;
}

.concept-image-04 {
    width: 100%;
    height: fit-content;
    aspect-ratio: 160/226;
}

.concept-text {
    margin-top: 1.375rem;
}

.concept-text p {
    letter-spacing: 0;
    line-height: 1.875;
}

.concept-title {
    margin-top: 3.75rem;
}

.contact-head {
    margin-top: 3.125rem;
    text-align: center;
}

.contact-head p {
    line-height: 1.75;
}

.contact-title {
    text-align: right;
}

.contact {
    background: #000;
    color: #fff;
    padding-top: 0.625rem;
}

.container__lp {
    max-width: 34.375rem;
    width: 100%;
}

.copy {
    margin-top: 3.5rem;
    padding-bottom: 1.25rem;
    text-align: center;
}

small {
    font-size: 0.625rem;
}

.faq {
    background: #FAFAFA;
    margin-top: 3.5rem;
    padding: 1.5rem 0 2.75rem;
}

.faq__accordion {
    margin-top: 3.125rem;
}

.flow-contents {
    margin-top: 3.125rem;
}

.flow-contents__button {
    grid-gap: 1rem;
    display: grid;
    gap: 1rem;
    margin-top: 1.875rem;
}

.flow-contents__button a:hover {
    opacity: .6;
}

.flow-contents__button-flex {
    display: flex;
    justify-content: space-between;
    gap: 0.25rem;
}


/* .flow-contents__button-flex a {
    width: 50%;
} */

.flow-contents__main {
    width: 52%;
}

.flow-contents__tel {
    width: 48%;
}

.flow-contents .flow-item:nth-of-type(n+1) {
    margin-top: 2.5rem;
}

.flow-item__img {
    height: 6.75rem;
    width: 100%;
}

.flow-item__img img {
    -o-object-fit: cover;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.flow-item__text {
    margin-top: 1.25rem;
}

.flow-item__text p {
    letter-spacing: 0.1em;
}

.flow-line {
    align-items: center;
    background: #38CD01;
    border-radius: 1.4375rem;
    display: flex;
    height: 2.875rem;
    justify-content: center;
    width: 100%;
}

.flow-line img {
    height: 2.625rem;
    width: 2.625rem;
}

.flow-line p {
    color: #fff;
    letter-spacing: 0.1em;
}

.flow-mail {
    align-items: center;
    background: #2196F3;
    border-radius: 1.4375rem;
    display: flex;
    justify-content: center;
    height: 2.875rem;
    width: 100%;
}

.flow-mail img {
    height: 2.375rem;
    width: 2.375rem;
}

.flow-mail p {
    color: #fff;
    letter-spacing: 0;
}

.flow-phone {
    align-items: center;
    background: #FFC109;
    border-radius: 1.4375rem;
    display: flex;
    height: 2.875rem;
    justify-content: center;
    width: 100%;
}

.flow-phone img {
    height: 2.25rem;
    width: 2.25rem;
}

.flow-phone p {
    color: #fff;
    letter-spacing: 0;
}

.flow-title {
    margin-top: 2.875rem;
}

.form {
    margin-top: 4.125rem;
    padding: 0 0.875rem;
}

.form table {
    border-spacing: 0.25rem 0.75rem;
    width: 100%;
}

.form-box {
    padding-left: 0.625rem;
    padding-right: 0.625rem;
}

.form table tr th {
    display: flex;
    text-align: left;
    width: 5.375rem;
}

.form table tr .form-box {
    background: #fff;
    height: 2.375rem;
}

.form table tr td .radio-button {
    background: #fff;
    border-radius: 50%;
    height: 0.75rem;
    width: 0.75rem;
}

.table-col {
    line-height: 1.8;
}

.contact-submit {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #09ABA0;
    border: none;
    border-radius: 1.375rem;
    color: #fff;
    cursor: pointer;
    display: block;
    font-size: 1.125rem;
    font-weight: bold;
    height: 2.75rem;
    margin: 0.75rem auto 0 auto;
    width: 16.5rem;
}

.contact-submit:hover {
    opacity: .6;
}

input,
textarea {
    border: none;
    width: 100%;
}

.future-accordion {
    border-top: 0.0625rem solid #000;
    margin-top: 3.75rem;
    padding-top: 3.75rem;
}

.future-image {
    margin-top: 3.75rem;
    width: 100%;
}

.future-image img {
    width: 100%;
    height: fit-content;
    aspect-ratio: 391/270;
}

.future-text {
    line-height: 1.875;
}

.future {
    background: #F4F4F4;
    margin-top: 3.75rem;
    padding-bottom: 3.125rem;
    padding-top: 2.5rem;
}

.group-lesson {
    margin-top: 5rem;
}

.group-lesson__table {
    margin-top: 2rem;
}

.group-lesson__map {
    margin-top: 5rem;
}

.group-table table {
    border-collapse: separate;
    border-spacing: 0.25rem;
    width: 100%;
}

.group-table table tr {
    height: 5.875rem;
}

.group-table table th {
    background: #09ABA0;
    color: #fff;
    width: 4.5rem;
}

.group-table table tr:nth-of-type(odd) td {
    background: #F5F5F5;
}

.group-table table tr:nth-of-type(even) td {
    background: #E8E8E8;
    text-align: center;
}

.group-table table tr:nth-of-type(1) td {
    padding-left: 0.5rem;
}

.group-table table tr:nth-of-type(3) td {
    padding-left: 1.25rem;
}

.group-table table tr:nth-of-type(5) td {
    text-align: center;
}

.header__hamburger {
    background: #09ABA0;
    border-radius: 50%;
    cursor: pointer;
    height: 2.6875rem;
    position: relative;
    width: 2.6875rem;
    z-index: 999;
}

.header__hamburger span {
    background-color: #fff;
    border-radius: 0.0625rem;
    height: 0.0625rem;
    left: 0.75rem;
    position: absolute;
    width: 1.25rem;
}

.header__hamburger,
.header__hamburger span {
    box-sizing: border-box;
    display: inline-block;
    transition: all 0.5s;
}

.header__hamburger span:nth-of-type(1) {
    top: 1rem;
}

.header__hamburger span:nth-of-type(2) {
    top: 1.375rem;
}

.header__hamburger span:nth-of-type(3) {
    top: 1.75rem;
}


/*=============================
btnが開いたとき
=============================*/

.header__hamburger.active span:nth-of-type(1) {
    top: 0rem;
    transform: translateY(1.25rem) rotate(37deg);
}

.header__hamburger.active span:nth-of-type(2) {
    opacity: 0;
}

.header__hamburger.active span:nth-of-type(3) {
    top: 2.5rem;
    transform: translateY(-1.25rem) rotate(-37deg);
}

.header {
    box-sizing: border-box;
    height: 4.375rem;
    margin: 0 auto;
    max-width: 34.375rem;
    padding: 0rem 1.25rem;
    position: fixed;
    top: 0rem;
    width: 100%;
    z-index: 999;
}

.header__inner {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: space-between;
}

.instagram-button-wrap {
    display: flex;
    justify-content: center;
    width: 100%;
}

.instagram-button {
    margin-top: 1.5rem;
    padding-bottom: 2.5rem;
    position: relative;
    text-align: center;
    width: 17.5rem;
}

.instagram-button a {
    position: relative;
}

.button-border {
    border: 0.0625rem solid #fff;
    content: "";
    display: inline-block;
    height: 2.75rem;
    left: 0.4375rem;
    position: absolute;
    top: 0.375rem;
    width: 17.5rem;
}

.instagram-button a:hover {
    left: 0.4375rem;
    top: 0.375rem;
}

.instagram-button__text {
    align-items: center;
    background-color: #fff;
    border: none;
    border: solid 0.0625rem #fff;
    color: #000;
    display: inline-flex;
    height: 2.75rem;
    justify-content: center;
    position: relative;
    width: 17.5rem;
    z-index: 1;
}

.instagram-button__text img {
    height: 1.25rem;
    margin-right: 0.5rem;
    width: 1.25rem;
}

.instagram-button__text p {
    color: #000;
}

.lesson-map {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.lesson-map__list iframe {
    aspect-ratio: 78/31;
    border: none;
    height: 100%;
    margin-top: 1.25rem;
    width: 100%;
}

.lesson-map__list h5 {
    margin: 0 0 0 0.875rem;
    position: relative;
    letter-spacing: 0;
}

.lesson-map__list h5::before {
    background: #09ABA0;
    border-radius: 50%;
    content: "";
    height: 0.5625rem;
    left: -0.8125rem;
    position: absolute;
    top: 0.25rem;
    width: 0.5625rem;
}

.lesson-map__list p {
    margin-top: 0.375rem;
    letter-spacing: 0;
}

.lesson-table-text {
    margin-top: 1.125rem;
}

.lesson-table-text p {
    line-height: 1.8;
}

.lesson h4 {
    color: #09ABA0;
    font-size: 1.25rem;
}

.logo {
    display: inline-block;
    width: 11.625rem;
    height: 2.375rem;
}

.logo img {
    width: 100%;
    height: fit-content;
    aspect-ratio: 186/41;
}

main {
    background: #fff;
}

.mainvisual {
    align-items: center;
    background-image: url(../images/common/mv.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    height: 51.875rem;
    overflow: hidden;
    padding-top: 4.375rem;
    position: relative;
    width: 100%;
}

.mainvisual__text {
    align-items: center;
    display: flex;
    /* height: 8.125rem; */
    /* overflow: hidden; */
    position: relative;
    width: 100vw;
}

.mainvisual__text p {
    animation: scroll 10s linear infinite;
    color: #fff;
    display: inline-block;
    font-size: 6.25rem;
    line-height: 1.5;
    padding-left: 100%;
    white-space: nowrap;
    /* 下のアニメーションを10秒かけて行い、それをくりかえす */
    font-family: "futura-bold";
}


/* アニメーション（右から左に移動） */

.man-pair-lesson {
    margin-top: 5rem;
}

.man-pair-lesson__table {
    margin-top: 2rem;
    overflow-x: scroll;
    width: 100%;
}

.man-pair-lesson__table table {
    margin-right: -1.25rem;
    width: 37.5rem;
}

.man-pair-lesson__map {
    margin-top: 5rem;
}

.man-pair-table table tr:nth-of-type(5) {
    height: 8.375rem;
}

.man-pair-table table {
    border-collapse: separate;
    border-spacing: 0.25rem;
}

.man-pair-table table tr {
    height: 5.875rem;
}

.man-pair-table table th {
    background: #09ABA0;
    color: #fff;
    width: 4.5rem;
}

.man-pair-table table tr:nth-of-type(odd) td {
    background: #F5F5F5;
}

.man-pair-table table tr:nth-of-type(even) td {
    background: #E8E8E8;
    text-align: center;
}

.man-pair-table table tr:nth-of-type(1) td {
    padding-left: 1.25rem;
}

.man-pair-table table tr:nth-of-type(3) td {
    text-align: center;
}

.man-pair-table table tr:nth-of-type(5) td {
    height: 8.375rem;
    text-align: center;
}


/* .text-center {
    text-align: center;
} */

.plan-button {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin-top: 2.75rem;
}

.plan-button a:hover {
    opacity: .6;
}

.plan-button__link {
    align-items: center;
    background: #09ABA0;
    border-radius: 1.625rem;
    display: grid;
    height: 3.25rem;
    justify-items: center;
    place-items: center;
    width: 100%;
}

.plan-button__link p {
    color: #fff;
}

.plan-contents h3 {
    font-size: 1.5625rem;
    margin-top: 2.75rem;
    position: relative;
}

.plan-contents h3::after {
    background: #09ABA0;
    bottom: -1.0625rem;
    content: "";
    height: 0.125rem;
    left: 0;
    position: absolute;
    width: 4.375rem;
}

.plan-contents__text {
    margin-top: 2.75rem;
}

.plan-head {
    background-image: url(../images/common/plan.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 20rem;
    margin-left: -20px;
    margin-right: -20px;
    padding-top: 1.25rem;
}

.plan-title {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    width: 100%;
}

.receive-button {
    grid-gap: 1.5rem;
    display: grid;
    gap: 1.5rem;
    margin-top: 3.125rem;
}

.receive-button__item {
    display: grid;
    justify-content: center;
    text-align: center;
    transition: transform 0.3s;
}

.receive-button__item a:hover {
    opacity: .8;
}

.receive-button__item p {
    color: #fff;
    letter-spacing: 0.2em;
}

.receive-button__link {
    border-radius: 1rem;
    height: 4rem;
    width: 21.5rem;
}

.receive-button__link {
    align-items: center;
    display: flex;
    justify-content: center;
    margin-top: 0.625rem;
}

.receive-button__link--line {
    background: #38CD01;
}

.receive-button__link--mail {
    background: #2196F3;
}

.receive-button__link--phone {
    background: #FFC109;
}

.receive-button__link img {
    height: 3.5rem;
    margin-right: 0.25rem;
    width: 3.5rem;
}

.receive-button__link--phone p {
    font-size: 1.25rem;
    letter-spacing: 0.1em;
}

.receive-button__link--phone img {
    margin-right: 0.75rem;
}

.receive-text {
    margin-top: 1.875rem;
    text-align: center;
}

.receive-text p {
    color: #fff;
    letter-spacing: 0;
}

.receive-title {
    text-align: right;
}

.receive {
    background: #000;
    margin-top: 3.125rem;
    padding-bottom: 3.5rem;
    padding-top: 0.75rem;
    position: relative;
}

.receive .inner {
    position: relative;
    z-index: 10;
}

.receive__bg {
    aspect-ratio: 164/503;
    bottom: 0.75rem;
    height: 31.4375rem;
    left: 0.75rem;
    position: absolute;
    width: 10.25rem;
    z-index: 5;
}

.section-title__sub {
    font-family: "Capella-Bold";
    letter-spacing: .2em;
}

.section-title__sub--receive {
    color: #fff;
}

.sp-nav__list {
    text-align: center;
}

.sp-nav__list li {
    color: #09ABA0;
    height: 2.5rem;
}

.sp-nav__list li a:hover {
    opacity: .6;
}

.sp-nav__button {
    align-items: center;
    border: 1px solid #09ABA0;
    border-radius: 1.125rem;
    color: #09ABA0;
    display: inline-block;
    display: grid;
    height: 2.25rem;
    justify-content: center;
    margin: 0 auto;
    width: 15rem;
}

.sp-nav__button--tel {
    background: #09ABA0;
    color: #fff;
}

.sp-nav__button--line {
    background: #09ABA0;
    color: #fff;
}

.sp-nav__button:hover {
    opacity: .6;
}

.sp-nav-bottom {
    margin-top: 3rem;
    display: grid;
    gap: 24px;
}

.teacher-image {
    width: 100%;
    /* height: auto; */
}

.teacher-image img {
    width: 100%;
    height: fit-content;
    aspect-ratio: 390/308;
}

.teacher-images {
    margin-top: 2.8125rem;
    position: relative;
    width: 100%;
}

.teacher-images__bg {
    background-color: #fff;
    content: "";
    height: 80%;
    left: -1.25rem;
    position: absolute;
    top: 7.75rem;
    width: calc(100% + 2.5rem);
    z-index: 1;
}

.teacher-images img {
    -o-object-fit: cover;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.teacher-images__flex {
    gap: 0.625rem;
    height: 16.6875rem;
    position: relative;
    z-index: 2;
}

.teacher-images__01 {
    width: 50%;
    /* height: 16.6875rem; */
    height: 100%;
}

.teacher-images__02 {
    margin-top: 1.6875rem;
    width: calc(50% - 0.625rem);
    height: 13.3125rem;
}

.teacher-images__03 {
    margin-top: 0.625rem;
    padding-left: 2.6875rem;
    position: relative;
    width: auto;
    height: 8.375rem;
    z-index: 2;
}

.teacher-images__01 img {
    aspect-ratio: 195/267;
    /* height: -moz-fit-content; */
    height: 100%;
    width: 100%;
}

.teacher-images__02 img {
    aspect-ratio: 185/213;
    /* height: -moz-fit-content; */
    height: 100%;
    width: 100%;
}

.teacher-images__03 img {
    aspect-ratio: 346/134;
    /* height: -moz-fit-content; */
    height: 100%;
    width: 100%;
}

.teacher-name {
    margin-top: 1.875rem;
}

.teacher-name__subtitle {
    color: #09ABA0;
}

.teacher-name__title {
    color: #fff;
    font-size: 2.5rem;
}

.teacher-name__text {
    margin-top: 1.875rem;
}

.teacher-name__text p {
    color: #fff;
    line-height: 1.66;
}

.teacher-name__text p:nth-of-type(n+1) {
    margin-top: 1.25rem;
}

.teacher {
    background: #000;
    padding-top: 3.4375rem;
    width: 100%;
}

.col-2 {
    display: flex;
}

.inner {
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
    width: 100%;
}

.section-title h2 {
    color: #09ABA0;
    font-size: 2.5rem;
    letter-spacing: 0.05em;
    font-family: 'davis-sans', sans-serif;
    font-style: normal;
    font-weight: 700;
}

.section-title__sub--teacher {
    color: #fff;
}

.header__sp-nav {
    display: none;
}

.sp-nav {
    background-color: #fff;
    /* color: #fff; */
    height: 100vh;
    left: 0;
    padding-top: 6.25rem;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
}

.sp-nav.active {
    display: block;
    right: 0;
    visibility: visible;
}

.sp-nav__container {
    padding: 0 1.25rem;
}

@media screen and (min-width: 768px) {
    .u-desktop {
        display: block;
    }
    .u-mobile {
        display: none;
    }
    html {
        font-size: 1.4545454545vw;
    }
    .inner {
        max-width: 1150px;
    }
}

@media (min-width: 1100px) {
    html {
        font-size: 16px;
    }
}

@media (max-width: 375px) {
    html {
        font-size: 4.2666666667vw;
    }
}

@keyframes scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-100%);
    }
}


/*# sourceMappingURL=style.css.map */

#js-nav.active {
    transition: 0.3s;
    display: grid;
    align-items: start;
}

#js-nav {
    display: none;
    transition: 0.3s;
}


/* サンクスページ */

.thanks {
    height: 100vh;
    padding-top: 5rem;
    text-align: center;
}

.thanks__title {
    font-size: 2rem;
}

.thanks__text {
    margin-top: 3rem;
}

.thanks__link {
    margin-top: 2rem;
}

.thanks__link a {
    text-decoration: underline;
}


/* PCメニュー */

.container {
    display: flex;
    justify-content: center;
}

.container__menu {
    display: none;
}

@media screen and (min-width: 768px) {
    .header__hamburger {
        display: none;
    }
    .container__menu {
        position: sticky;
        top: 0;
        display: block;
        width: 15rem;
        height: 100vh;
        padding: 0 1.5rem;
        background: linear-gradient(180deg, rgb(90 90 102), rgb(50 49 65));
    }
    /* .pc-menu {} */
    .pc-menu__nav {
        margin-top: 7.5rem;
    }
    .pc-menu__list {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }
    .pc-menu__list li a {
        color: #fff;
    }
    .pc-nav__button {
        align-items: center;
        border: 0.0625rem solid #09ABA0;
        border-radius: 1.125rem;
        color: #09ABA0;
        display: inline-block;
        display: grid;
        height: 2.25rem;
        justify-content: center;
        width: 100%;
    }
    .pc-nav__button--contact {
        margin-top: 1.5rem;
    }
    .pc-nav__button--tel {
        background: #09ABA0;
        color: #fff;
    }
    .pc-nav__button--line {
        background: #09ABA0;
        color: #fff;
    }
    .group-table table tr:nth-of-type(3) td {
        padding-left: 2.625rem;
    }
}