img:is([sizes="auto" i], [sizes^="auto," i]) {
    contain-intrinsic-size: 3000px 1500px;
}

/*
Theme Name: OUTCOME
*/
@charset "utf-8";

/* font type
font-family: "Arial", "メイリオ";
*/
:root {
    --main-theme-color: #3F86BB;
    --column-w: 1000px;
    --sColumn-w: 1150px;
}

* {
    box-sizing: border-box;
    color: #434343;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    list-style: none;
    margin: 0;
    padding: 0;
}

body {
    overflow-x: hidden;
}

a {
    color: #1d1d1f;
    text-decoration: none;
}

    a:hover,
    a:hover img {
        opacity: .8;
    }

img {
    max-width: 100%;
    height: auto;
}

input[type="radio"],
input[type="checkbox"],
select,
button {
    cursor: pointer;
}

body {
    overflow-x: hidden;
}

.visualy-hidden {
    position: absolute;
    clip: rect(1px,1px,1px,1px);
    -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
    clip-path: inset(0px 0px 99.9% 99.9%);
    overflow: hidden;
    height: 1px;
    width: 1px;
    padding: 0;
    border: 0;
}

.pc {
    display: block;
}

.sp {
    display: none;
}

@media screen and (max-width: 768px) {
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }
}

.container {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
/* header */
.header {
    margin: auto;
    position: absolute;
    top: 5%;
    left: 0;
    right: 0;
    width: 95%;
    max-width: 1760px;
    z-index: 999;
}

.header-inner {
    background: #fff;
    border-radius: 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
    padding: 15px;
    width: 100%;
}

.logo {
    display: block;
    line-height: 0;
}

.header-nav__list {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

    .header-nav__list li {
        margin: 0 15px 0 0;
        text-align: center;
    }

        .header-nav__list li a {
            color: var(--main-theme-color);
            cursor: pointer;
            display: block;
            font-size: 16px;
            font-weight: bold;
            padding: 10px 15px;
        }


.header-top__nav,
.nav-list {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.header-top__nav {
    margin: 0 0 10px;
}

.nav-list {
    background: #efefef;
    border-radius: 10px;
    margin-right: 15px;
    padding: 15px;
}

    .nav-list li {
        display: flex;
        justify-content: flex-start;
        align-items: center;
    }

        .nav-list li:not(:last-child) {
            margin-right: 20px;
        }

        .nav-list li::before {
            background-position: center;
            background-size: contain;
            background-repeat: no-repeat;
            content: "";
            display: block;
            height: 15px;
            margin-right: 8px;
            width: 15px;
        }

        .nav-list li:first-child::before {
            background-image: url(https://outcome.creator.jp.net/wp-content/themes/outcome/assets/images/icon/gnav_ico_flow.svg);
        }

        .nav-list li:nth-child(2)::before {
            background-image: url(https://outcome.creator.jp.net/wp-content/themes/outcome/assets/images/icon/gnav_ico_line.svg);
        }

        .nav-list li:last-child::before {
            background-image: url(https://outcome.creator.jp.net/wp-content/themes/outcome/assets/images/icon/gnav_ico_mail.svg);
        }

.nav-tel {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 30px;
}

    .nav-tel::before {
        background-image: url(https://outcome.creator.jp.net/wp-content/themes/outcome/assets/images/icon/ico_tel.svg);
        background-position: center;
        background-size: contain;
        background-repeat: no-repeat;
        content: "";
        display: block;
        height: 15px;
        margin-right: 8px;
        width: 15px;
    }

@media screen and (min-width: 1500px) {
    .header-nav__list li a {
        font-size: 18px;
    }
}

@media screen and (max-width: 1320px) {
    .header-nav__list li a {
        font-size: 14px;
    }
}

@media screen and (max-width: 1268px) {
    .header-top__nav {
        display: none;
    }

    .header-inner {
        width: 85%;
    }

    .header-nav {
        height: 100%;
        position: fixed;
        right: -100%;
        top: 0;
        transition-duration: .3s;
        width: 100%;
        z-index: 3;
    }

        .header-nav.active {
            right: 0;
        }

    .header-nav__inner {
        background: #fff;
        height: 100%;
        margin: 0 0 0 auto;
        padding: 150px 0 100px;
        position: relative;
        width: 80%;
        z-index: 1;
    }

    .header-nav__list {
        display: block;
    }

    .header-menu___bg {
        background: rgba(0, 0, 0, 0.2);
        height: 100%;
        position: fixed;
        top: 0;
        right: -100%;
        transition-duration: .3s;
        width: 100%;
    }

        .header-menu___bg.active {
            right: 0;
        }
    /* hamberger */
    .header-menu {
        display: inline-block;
        margin: 0;
        position: relative;
        text-align: center;
        width: 28px;
        z-index: 13;
    }

        .header-menu span {
            display: block;
        }

    .header-menu___trigger {
        position: relative;
        width: 28px;
        height: 23px;
        cursor: pointer;
        z-index: 3;
    }

        .header-menu___trigger span {
            position: absolute;
            left: 0;
            width: 100%;
            height: 2px;
            background-color: var(--main-theme-color);
            border-radius: 4px;
        }

        .header-menu___trigger.active span {
            background-color: #000;
        }

        .header-menu___trigger, .header-menu___trigger span {
            display: inline-block;
            transition: all .5s;
            box-sizing: border-box;
        }

            .header-menu___trigger span:nth-of-type(1) {
                top: 1px;
            }

            .header-menu___trigger span:nth-of-type(2) {
                top: 12px;
            }

            .header-menu___trigger span:nth-of-type(3) {
                bottom: -2px;
            }

            .header-menu___trigger.active span:nth-of-type(1) {
                top: -7px;
            }

            .header-menu___trigger.active span:nth-of-type(3) {
                bottom: -12px;
            }

            .header-menu___trigger span:nth-of-type(1) {
                -webkit-animation: header-menu__bar01 .75s forwards;
                animation: header-menu__bar01 .75s forwards;
            }

    @-webkit-keyframes header-menu__bar01 {
        0% {
            -webkit-transform: translateY(20px) rotate(45deg);
        }

        50% {
            -webkit-transform: translateY(20px) rotate(0);
        }

        100% {
            -webkit-transform: translateY(0) rotate(0);
        }
    }

    @keyframes header-menu__bar01 {
        0% {
            transform: translateY(20px) rotate(45deg);
        }

        50% {
            transform: translateY(20px) rotate(0);
        }

        100% {
            transform: translateY(0) rotate(0);
        }
    }

    .header-menu___trigger span:nth-of-type(2) {
        transition: all .25s .25s;
        opacity: 1;
    }

    .header-menu___trigger span:nth-of-type(3) {
        -webkit-animation: header-menu__bar03 .75s forwards;
        animation: header-menu__bar03 .75s forwards;
    }

    @-webkit-keyframes header-menu__bar03 {
        0% {
            -webkit-transform: translateY(-20px) rotate(-45deg);
        }

        50% {
            -webkit-transform: translateY(-20px) rotate(0);
        }

        100% {
            -webkit-transform: translateY(0) rotate(0);
        }
    }

    @keyframes header-menu__bar03 {
        0% {
            transform: translateY(-20px) rotate(-45deg);
        }

        50% {
            transform: translateY(-20px) rotate(0);
        }

        100% {
            transform: translateY(0) rotate(0);
        }
    }

    .header-menu___trigger.active span:nth-of-type(1) {
        -webkit-animation: active-header-menu__bar01 .75s forwards;
        animation: active-header-menu__bar01 .75s forwards;
    }

    @-webkit-keyframes active-header-menu__bar01 {
        0% {
            -webkit-transform: translateY(0) rotate(0);
        }

        50% {
            -webkit-transform: translateY(20px) rotate(0);
        }

        100% {
            -webkit-transform: translateY(20px) rotate(45deg);
        }
    }

    @keyframes active-header-menu__bar01 {
        0% {
            transform: translateY(0) rotate(0);
        }

        50% {
            transform: translateY(20px) rotate(0);
        }

        100% {
            transform: translateY(20px) rotate(45deg);
        }
    }

    .header-menu___trigger.active span:nth-of-type(2) {
        opacity: 0;
    }

    .header-menu___trigger.active span:nth-of-type(3) {
        -webkit-animation: active-header-menu__bar03 .75s forwards;
        animation: active-header-menu__bar03 .75s forwards;
    }

    @-webkit-keyframes active-header-menu__bar03 {
        0% {
            -webkit-transform: translateY(0) rotate(0);
        }

        50% {
            -webkit-transform: translateY(-20px) rotate(0);
        }

        100% {
            -webkit-transform: translateY(-20px) rotate(-45deg);
        }
    }

    @keyframes active-header-menu__bar03 {
        0% {
            transform: translateY(0) rotate(0);
        }

        50% {
            transform: translateY(-20px) rotate(0);
        }

        100% {
            transform: translateY(-20px) rotate(-45deg);
        }
    }
    /* hamburger panel */
    .hamburger-panel {
        background: #fff;
        height: 100%;
        position: fixed;
        top: 0;
        right: -100%;
        transition-duration: .3s;
        width: 80%;
    }

        .hamburger-panel.open {
            right: 0;
        }
}
/* main  */

/* main visual */
.main-visual {
    background-color: var(--main-theme-color);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height: 100vh;
    min-height: 800px;
    width: 100%;
}

.main-visual__inner {
    display: flex;
    align-items: flex-end;
    height: 100%;
    margin: 0 auto;
    position: relative;
    width: 90%;
    max-width: 1380px;
}

.main-visual__text {
    padding: 0 0 10%;
}

.main-catchcopy {
    color: #fff;
    font-size: 60px;
    text-shadow: 0 0 8px rgb(0 59 103 / 60%);
}

.sub-catchcopy {
    color: #fff;
    font-size: 40px;
    margin: 0 0 35px;
    text-shadow: 0 0 8px rgb(0 59 103 / 60%);
}

.visual-title {
    color: #fff;
    font-family: "Arial";
    font-size: 95px;
    font-weight: bold;
    text-shadow: 0 0 8px rgb(0 59 103 / 60%);
}

.front-page__visual-text .visual-title {
    margin: 25px 0 0 -10px;
}

@media screen and (max-width: 1068px) {
    .main-visual {
        height: 70vh;
        min-height: 535px;
    }

        .main-visual.teacher {
            background-position: 90% center;
        }

        .main-visual.top {
            background-position: 38% center;
        }

    .main-catchcopy {
        font-size: 6vw;
    }

    .sub-catchcopy {
        font-size: 5vw;
    }

    .visual-title {
        font-size: 14vw;
    }

    .front-page__visual-text .visual-title {
        font-size: 14vw;
    }

    .main-visual.top .main-visual__inner {
        align-items: center;
    }

    .main-visual.top .main-visual__text {
        padding: 25% 0 0;
    }
}

/* concept */
.concept-contents {
    background: url(assets/images/bg-concept.png) no-repeat;
    background-position: center top;
    background-size: cover;
    line-height: 0;
    padding: 80px 0 580px;
    position: relative;
}

.concept-floating-image1 {
    position: absolute;
    right: 0;
    top: 80px;
    max-width: 657px;
}

.concept-floating-image2 {
    position: absolute;
    right: 0;
    top: 550px;
    max-width: 405px;
}

.concept-floating-image3 {
    position: absolute;
    left: 0;
    bottom: 80px;
}

.concept-contents__inner {
    margin: 0 auto;
    position: relative;
    width: 95%;
    max-width: var(--sColumn-w);
    z-index: 1;
}

.concept-text__wrap {
    width: 100%;
    max-width: 1180px;
}

.concept-text h2 {
    font-size: 44px;
    letter-spacing: 2px;
    line-height: 2em;
    margin: 0 0 50px 0;
}

.concept-text p {
    background: rgb(255 255 255 / 80%);
    font-size: 17px;
    letter-spacing: 2px;
    line-height: 2.5em;
    padding: 90px;
}

@media screen and (max-width: 1668px) {
    .concept-contents {
        padding: 80px 0 280px;
    }

    .concept-floating-image1 {
        text-align: right;
        max-width: 550px;
    }

    .concept-floating-image2 {
        top: 485px;
        max-width: 300px;
    }

    .concept-floating-image3 {
        max-width: 700px;
    }
}

@media screen and (max-width: 1068px) {
    .concept-contents {
        background: url(assets/images/bg-concept-sp.png) no-repeat;
        background-position: left;
        background-size: cover;
    }

    .concept-contents {
        padding: 25px 0 160px;
    }

    .concept-floating-image1,
    .concept-floating-image2,
    .concept-floating-image3 {
        display: none;
    }
}

@media screen and (max-width: 768px) {
    .concept-contents {
        padding: 25px 0 60px;
    }

    .concept-text h2 {
        font-size: 5.5vw;
        margin: 0 0 25px 0;
    }

    .concept-text p {
        font-size: 3.5vw;
        line-height: 2em;
        padding: 25px 10px;
    }
}

@media screen and (max-width: 468px) {
    .concept-text h2 br {
        display: none;
    }
}
/* copy contents */
.copy-contents {
    background: url(assets/images/bg4.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    padding: 100px 0;
}

.copy-contents__inner {
    margin: 0 auto;
    width: 95%;
}

    .copy-contents__inner p {
        font-size: 26px;
        line-height: 2.1em;
        text-align: center;
    }

@media screen and (max-width: 1068px) {
    .copy-contents__inner p {
        font-size: 4vw;
    }
}
/* @media screen and (max-width: 768px) {
    .copy-contents__inner p {
        font-size: 18px;
        line-height: 2em;
    }
}
@media screen and (max-width: 368px) {
    .copy-contents__inner p {
        font-size: 16px;
    }
} */
/* reason */
.reason-contents {
    background: url(assets/images/bg2.jpg) no-repeat;
    background-position: left;
    background-size: cover;
    padding: 80px 0;
}

.reason-contents__inner {
    margin: 0 auto;
    position: relative;
    width: 95%;
    max-width: var(--column-w);
}

.reason-contents__flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    margin: 0 0 80px;
}

.reason-contents__left {
    flex: 1;
    margin-left: calc(50% - 50vw);
    margin-right: 50px;
}

.reason-contents__right {
    width: 75%;
}

    .reason-contents__right h2 {
        font-size: 44px;
        line-height: 2em;
        margin: 0 0 50px;
    }

    .reason-contents__right p {
        font-size: 17px;
        line-height: 2.5em;
    }

.model-case {
    margin: 0 0 50px;
}

.reason-btn__list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 auto;
    width: 80%;
}

    .reason-btn__list li {
        display: inline-block;
        margin: 0 35px;
    }

        .reason-btn__list li a {
            border: 3px solid #434343;
            display: block;
            font-size: 18px;
            letter-spacing: 2px;
            padding: 20px 25px;
            position: relative;
            text-align: center;
        }

            .reason-btn__list li a::after {
                background: url(assets/images/icon-arrow.png) no-repeat;
                background-position: center;
                background-size: contain;
                content: "";
                display: inline-block;
                height: 20px;
                margin: auto;
                position: absolute;
                right: -25px;
                top: 0;
                bottom: 0;
                width: 45px;
            }

@media screen and (max-width: 1668px) {
    .reason-contents__right {
        width: 50%;
    }
}

@media screen and (max-width: 1368px) {
    .reason-btn__list li {
        margin: 0 15px;
    }

        .reason-btn__list li a {
            padding: 25px 30px;
        }

            .reason-btn__list li a::after {
                height: 15px;
                width: 35px;
            }
}

@media screen and (max-width: 1068px) {
    .reason-contents__inner {
        width: 100%;
    }

    .reason-contents__left {
        flex: inherit;
        margin: 0;
        width: 100%;
    }

    .reason-contents__right {
        margin: 35px auto 0;
        width: 90%;
    }

        .reason-contents__right h2 {
            font-size: 5.5vw;
        }

        .reason-contents__right p {
            font-size: 3.5vw;
        }

    .model-case {
        margin: 0 auto;
        width: 90%;
    }

    .reason-btn {
        margin: 25px 0 0;
    }

    .reason-btn__list {
        width: 90%;
    }

        .reason-btn__list li {
            margin: 0 auto 25px;
            width: 82%;
            max-width: max-content;
        }

            .reason-btn__list li a {
                padding: 15px 20px;
            }
}

@media screen and (max-width: 768px) {
    .reason-contents {
        padding: 0 0 35px;
    }

    .reason-btn__list li a {
        font-size: 3.5vw;
        padding: 15px;
    }
}
/* teacher contents */
.teacher-contents {
    background: url(assets/images/bg3.jpg) no-repeat;
    background-position: top center;
    background-size: cover;
    padding: 80px 0;
}

.pages-contents.teacher-contents {
    background-image: url(assets/images/bg3-2.jpg);
}

.teacher-contents__inner {
    margin: 0 auto;
    position: relative;
    width: 95%;
    max-width: var(--column-w);
}

.teacher-contents__header {
    padding: 0 0 60px;
}

    .teacher-contents__header h2 {
        font-size: 44px;
        line-height: 2em;
    }

.teacher-contents__list,
.teacher-contents__list-child {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}

.front-contents .teacher-contents__list.bottom .teacher-item {
    padding: 0 35px;
    width: 30%;
}

.pages-contents .teacher-contents__list li {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    margin: 0 0 65px;
    width: 100%;
}

.front-contents .teacher-contents__list.top .teacher-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    margin: 0 0 85px;
    padding: 0;
    width: 100%;
}

.front-contents .teacher-contents__list .teacher-left {
    width: 35%;
}

.front-contents .teacher-contents__list .teacher-right {
    width: calc(65% - 25px);
}

.pages-contents .teacher-contents__list li .teacher-left {
    width: 35%;
}

.pages-contents .teacher-contents__list li .teacher-right {
    width: calc(65% - 25px);
}

.teacher-name {
    font-size: 24px;
    margin: 15px 0 10px;
}

.teacher-contents__list li:first-child .teacher-name {
    margin: 0 0 10px;
}

.teacher-profile {
    font-size: 17px;
    font-weight: 400;
    line-height: 2em;
}

.teacher-profile__bottom {
    font-size: 15px;
    line-height: 2.1em;
    margin: 10px 0 0;
}

.teacher-btn__list {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin: 45px auto 0;
    width: 100%;
}

    .teacher-btn__list li {
        display: inline-block;
        margin: 0 35px;
    }

        .teacher-btn__list li a {
            border: 3px solid #434343;
            display: block;
            font-size: 18px;
            letter-spacing: 2px;
            padding: 20px 25px;
            position: relative;
            text-align: center;
        }

            .teacher-btn__list li a::after {
                background: url(assets/images/icon-arrow.png) no-repeat;
                background-position: center;
                background-size: contain;
                content: "";
                display: inline-block;
                height: 20px;
                margin: auto;
                position: absolute;
                right: -25px;
                top: 0;
                bottom: 0;
                width: 45px;
            }

@media screen and (max-width: 768px) {
    .teacher-contents {
        padding: 35px 0;
    }

    .teacher-contents__header {
        padding: 0 0 25px;
    }

        .teacher-contents__header h2 {
            font-size: 5vw;
            line-height: 2em;
        }

    .teacher-contents__list-inner {
        overflow-x: scroll;
    }

    .teacher-contents__list-child {
        flex-wrap: nowrap;
        width: max-content;
    }

    .front-contents .teacher-contents__list.top .teacher-item {
        margin: 0 0 35px;
    }

    .front-contents .teacher-contents__list.bottom .teacher-item {
        padding: 0 15px;
        width: 200px;
    }

    .front-contents .teacher-contents__list .teacher-left,
    .front-contents .teacher-contents__list .teacher-right {
        width: 100%;
    }

    .teacher-contents__list li,
    .teacher-contents__list li:first-child {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        flex-wrap: wrap;
        margin: 0 0 25px;
        padding: 0;
        width: 100%;
    }

    .pages-contents .teacher-contents__list li .teacher-left,
    .teacher-image {
        width: 100%;
    }

    .teacher-text,
    .pages-contents .teacher-contents__list li .teacher-right {
        width: 100%
    }

    .teacher-name {
        font-size: 3vw;
    }

    .teacher-btn__list li a::after {
        height: 15px;
        width: 35px;
    }
}

@media screen and (max-width: 568px) {
    .teacher-contents__header h2 {
        font-size: 5.5vw;
    }

    .teacher-image,
    .teacher-left {
        text-align: center;
    }

        .teacher-image img,
        .teacher-left img {
            width: 100%;
        }

    .teacher-image,
    .teacher-left,
    .teacher-text,
    .teacher-right,
    .teacher-image,
    .pages-contents .teacher-left,
    .teacher-text,
    .pages-contents .teacher-right {
        width: 100%;
    }

    .teacher-contents__list li:first-child .teacher-name {
        margin: 15px 0 10px;
    }

    .teacher-name {
        font-size: 5.5vw;
    }

    .teacher-profile {
        font-size: 3.8vw;
    }

    .teacher-profile__bottom {
        font-size: 3vw;
        line-height: 2.1em;
        margin: 10px 0 0;
    }

    .teacher-btn__list li a {
        font-size: 3.5vw;
        padding: 15px;
    }
}

@media screen and (max-width: 368px) {
    /* .teacher-contents__header h2 {
        font-size: 21px;
    }
    .teacher-name {
        font-size: 21px;
    }
    .teacher-profile {
        font-size: 16px;
    } */
}
/* column contents */
.column-contents {
    padding: 80px 0;
}

.column-contents__inner {
    margin: 0 auto;
    position: relative;
    width: 95%;
    max-width: var(--column-w);
}

.column-contents__header {
    padding: 0 0 70px;
}

    .column-contents__header h2 {
        font-size: 44px;
    }

.column-contents__list {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    margin: 0 auto;
    width: 90%;
}

    .column-contents__list li {
        width: 30%;
    }

        .column-contents__list li figure img {
            width: 100%;
            max-width: none;
        }

.column-contents__text {
    margin: 15px 0 0;
}

    .column-contents__text h3 {
        font-size: 17px;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

.column-date {
    font-size: 14px;
    font-weight: 400;
    margin: 10px 0 0;
}

@media screen and (max-width: 768px) {
    .column-contents {
        padding: 35px 0;
    }

    .column-contents__header {
        padding: 0 0 25px;
    }

        .column-contents__header h2 {
            font-size: 5.5vw;
        }

    .column-contents__list li {
        margin: 0 0 35px;
        width: 100%;
    }
}

@media screen and (max-width: 368px) {
    .column-contents__text h3 {
        font-size: 3.5vw;
    }

    .column-date {
        font-size: 2.8vw;
    }
}

/* footer */
.footer {
    background: url(assets/images/bg-f.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    padding: 100px 0;
}

.footer-inner {
    margin: 0 auto;
    position: relative;
    width: 95%;
    max-width: var(--column-w);
}

.footer-contact__header {
    padding: 0 0 80px;
    text-align: center;
}

    .footer-contact__header h2 {
        color: #fff;
        font-size: 32px;
        margin: 0 0 45px;
    }

    .footer-contact__header p {
        color: #fff;
        font-size: 21px;
    }

.footer-contact__body {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    padding: 0 0 100px;
}

.contact-left {
    width: 55%;
}

.cotact-right {
    width: 45%;
}

.cotact-right {
    text-align: center;
}

.contact-left p {
    text-align: right;
}

    .contact-left p span {
        color: #fff;
        font-size: 32px;
    }

        .contact-left p span:first-child {
            margin-right: 25px;
        }

.cotact-right a {
    border: 3px solid #fff;
    color: #fff;
    display: inline-block;
    font-size: 18px;
    padding: 25px 50px;
    position: relative;
}

    .cotact-right a::after {
        background: url(assets/images/icon-arrow-w.png) no-repeat;
        background-position: center;
        background-size: contain;
        content: "";
        display: inline-block;
        height: 25px;
        margin: auto;
        position: absolute;
        right: -25px;
        top: 0;
        bottom: 0;
        width: 50px;
    }

.copyright {
    color: #fff;
    font-size: 16px;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .footer-contact__header {
        padding: 0 0 35px;
    }

        .footer-contact__header h2 {
            font-size: 28px;
        }

        .footer-contact__header p {
            font-size: 18px;
        }

    .contact-left,
    .cotact-right {
        width: 100%;
    }

    .contact-left {
        margin: 0 0 25px;
    }

        .contact-left p {
            text-align: center;
        }

            .contact-left p span {
                display: block;
                font-size: 28px;
            }

                .contact-left p span:first-child {
                    margin: 0 0 15px;
                }

    .cotact-right a {
        padding: 15px 45px;
    }

    .copyright {
        font-size: 21px;
    }

    .cotact-right a::after {
        height: 15px;
        right: -15px;
        width: 25px;
    }
}

@media screen and (max-width: 368px) {
    .footer-contact__header h2 {
        font-size: 24px;
    }

    .footer-contact__header p {
        font-size: 16px;
    }

    .contact-left p span {
        font-size: 24px;
    }

    .copyright {
        font-size: 16px;
    }
}


/* vision */
.vision-contents {
    background: url(assets/images/bg-vision.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    line-height: 0;
    padding: 80px 0 100px;
    position: relative;
}

.vision-floating-image1 {
    position: absolute;
    right: 0;
    top: 80px;
}

.vision-floating-image2 {
    position: absolute;
    right: 0;
    bottom: 80px;
}

.vision-contents__inner {
    margin: 0 auto;
    position: relative;
    width: 95%;
    max-width: var(--sColumn-w);
    z-index: 1;
}

.vision-text__wrap {
    width: 100%;
    max-width: 1180px;
}

.vision-text h2 {
    font-size: 44px;
    letter-spacing: 2px;
    line-height: 2em;
    margin: 0 0 50px 45px;
}

.vision-text p {
    background: rgb(255 255 255 / 75%);
    font-size: 17px;
    letter-spacing: 2px;
    line-height: 2.5em;
    padding: 45px;
}

@media screen and (max-width: 1668px) {
    .vision-contents {
        padding: 80px 0 280px;
    }

    .vision-floating-image1 {
        text-align: right;
        width: 60%;
    }

    .vision-floating-image2 {
        width: 30%;
    }
}

@media screen and (max-width: 1068px) {
    .vision-contents {
        padding: 80px 0 160px;
    }

    .vision-floating-image1 {
        top: 15%;
        width: 60%;
    }

    .vision-floating-image2 {
        bottom: 20%;
        width: 20%;
    }

    .vision-text h2 {
        margin: 0 0 35px 80px;
    }

    .vision-text p {
        background: rgb(255 255 255 / 85%);
        padding: 60px;
    }
}

@media screen and (max-width: 768px) {
    .vision-contents {
        background-position: left;
        padding: 80px 0 60px;
    }

    .vision-floating-image2 {
        bottom: 10%;
        width: 25%;
    }

    .vision-text h2 {
        font-size: 5.5vw;
        margin: 0 0 25px 20px;
    }

    .vision-text p {
        font-size: 3.5vw;
        line-height: 2em;
        padding: 30px;
    }
}

@media screen and (max-width: 468px) {
    .vision-floating-image1 {
        width: 75%;
    }

    .vision-floating-image2 {
        bottom: 20%;
        width: 55%;
    }

    .vision-text h2 br {
        display: none;
    }
}

@media screen and (max-width: 368px) {
    .vision-text p {
        font-size: 16px;
    }
}
/* survive key */
.survive-key__header {
    background: url(assets/images/survive-bg.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    padding: 180px 0;
}

    .survive-key__header p {
        margin: 0 auto;
        position: relative;
        width: 95%;
        max-width: var(--column-w);
    }

        .survive-key__header p span {
            background: #fff;
            display: inline-block;
            font-size: 35px;
            padding: 0 3px;
        }

.survive-key__inner p span:first-child {
    margin: 0 0 15px;
}

.survive-key__body {
    background: url(assets/images/survive-bg2.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    padding: 100px 0;
}

.survive-key__body-inner {
    margin: 0 auto;
    position: relative;
    width: 95%;
    max-width: var(--column-w);
}

    .survive-key__body-inner p {
        font-size: 21px;
        letter-spacing: 2px;
        line-height: 2em;
    }

        .survive-key__body-inner p span {
            background: linear-gradient(transparent 60%, #fff 60%);
            display: inline;
            font-size: 21px;
            padding: 0 3px;
        }

@media screen and (max-width: 768px) {
    .survive-key__header p span {
        font-size: 21px;
    }

    .survive-key__body-inner p {
        font-size: 18px;
    }

        .survive-key__body-inner p span {
            font-size: 18px;
        }
}

@media screen and (max-width: 368px) {
    .survive-key__header p span {
        font-size: 18px;
    }

    .survive-key__body-inner p {
        font-size: 16px;
    }

        .survive-key__body-inner p span {
            font-size: 16px;
        }
}

/* aim */
.aim-contents {
    background: #fff;
    line-height: 0;
    padding: 80px 0 100px;
    position: relative;
}

.aim-floating-image1 {
    margin: 0 auto;
    position: absolute;
    left: 0;
    right: 0;
    top: 80px;
    text-align: right;
    max-width: 1280px;
}

.aim-contents__inner {
    margin: 0 auto;
    position: relative;
    width: 95%;
    max-width: var(--sColumn-w);
    z-index: 1;
}

.aim-iamge {
    margin: 135px 0 0;
}

.aim-text__wrap {
    width: 100%;
    max-width: 1180px;
}

.aim-text h2 {
    font-size: 32px;
    letter-spacing: 2px;
    line-height: 2em;
    margin: 0 0 50px 30px;
}

.aim-text p {
    background: rgb(255 255 255 / 75%);
    font-size: 17px;
    letter-spacing: 2px;
    line-height: 2em;
    padding: 35px;
    width: 75%;
}

.aim-btn__list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin: 80px auto 0;
    width: 80%;
}

    .aim-btn__list li {
        display: inline-block;
        margin: 0 35px;
    }

        .aim-btn__list li a {
            border: 3px solid #434343;
            display: block;
            font-size: 18px;
            letter-spacing: 2px;
            line-height: 1.5em;
            padding: 20px 50px;
            position: relative;
            text-align: center;
        }

            .aim-btn__list li a::after {
                background: url(assets/images/icon-arrow.png) no-repeat;
                background-position: center;
                background-size: contain;
                content: "";
                display: inline-block;
                height: 25px;
                margin: auto;
                position: absolute;
                right: -25px;
                top: 0;
                bottom: 0;
                width: 45px;
            }

@media screen and (max-width: 1368px) {
    .aim-btn__list li {
        margin: 0 15px;
    }

        .aim-btn__list li a {
            padding: 25px 30px;
        }

            .aim-btn__list li a::after {
                height: 15px;
                width: 35px;
            }
}

@media screen and (max-width: 1668px) {
    .aim-contents {
        padding: 80px 0 280px;
    }

    .aim-floating-image1 {
        text-align: right;
    }
}

@media screen and (max-width: 1068px) {
    .aim-contents {
        padding: 80px 0 160px;
    }

    .aim-floating-image1 {
        top: 15%;
    }

    .aim-text h2 {
        font-size: 32px;
        margin: 0 0 35px 80px;
    }

    .aim-text p {
        background: rgb(255 255 255 / 85%);
        padding: 60px;
    }

    .aim-btn__list {
        width: 90%;
    }

        .aim-btn__list li {
            margin: 0 auto 25px;
            width: 100%;
            max-width: max-content;
        }

            .aim-btn__list li a {
                padding: 15px 20px;
            }
}

@media screen and (max-width: 768px) {
    .aim-contents {
        padding: 80px 0 60px;
    }

    .aim-floating-image1 {
        top: 20%;
        right: 0;
        left: inherit;
        max-width: 400px;
    }

    .aim-text h2 {
        font-size: 5.5vw;
        margin: 0 0 5px 20px;
    }

    .aim-text p {
        font-size: 3.5vw;
        line-height: 2em;
        padding: 20px;
        width: 100%;
    }

    .aim-iamge {
        margin: 20px 0 0;
    }

    .aim-btn__list li a {
        font-size: 16px;
        padding: 15px;
    }
}

@media screen and (max-width: 468px) {
    .aim-floating-image1 {
        width: 75%;
    }

    .aim-text h2 br {
        display: none;
    }
}

/* curriculum */
.curriculum-contents {
    background: url(assets/images/bg1.jpg) no-repeat;
    background-position: left;
    background-size: cover;
    line-height: 0;
    padding: 80px 0 100px;
    position: relative;
}

.curriculum-floating-image1 {
    position: absolute;
    right: 0;
    top: 80px;
}

.curriculum-floating-image2 {
    position: absolute;
    right: 25px;
    top: 500px;
}

.curriculum-contents__inner {
    margin: 0 auto;
    position: relative;
    width: 95%;
    max-width: var(--sColumn-w);
    z-index: 1;
}

.curriculum-text__wrap {
    width: 100%;
    max-width: 1180px;
}

.curriculum-text h2 {
    font-size: 44px;
    letter-spacing: 2px;
    line-height: 2em;
    margin: 0 0 25px 35px;
}

.inner-ttl {
    display: block;
    font-size: 25px;
    margin: 0 0 25px;
}

.curriculum-text p {
    background: rgb(255 255 255 / 75%);
    font-size: 17px;
    letter-spacing: 2px;
    line-height: 2em;
    padding: 40px;
    width: 77%;
}

.curriculum-pricetable {
    background: #CCE0E9;
    margin: 100px 0 0;
    padding: 50px 0;
}

.curriculum-pricetable__header {
    padding: 50px 0;
    text-align: center;
}

    .curriculum-pricetable__header h2 {
        font-size: 32px;
    }

.curriculum-pricetable__body {
    padding: 150px 0;
}

.curriculum-pricetable__body {
    padding: 0;
}

.curriculum-pricetable__item {
    border-collapse: collapse;
    line-height: 1.5em;
    margin: 0 auto;
    width: 975px;
}

    .curriculum-pricetable__item.top {
        margin: 0 auto 45px;
    }

    .curriculum-pricetable__item th,
    .curriculum-pricetable__item td {
        height: 80px;
        padding: 15px;
        text-align: center;
        width: 25%;
    }

    .curriculum-pricetable__item.top th {
        width: 25%;
    }

    .curriculum-pricetable__item.top td {
        width: 75%;
    }

    .curriculum-pricetable__item.bottom tr:first-child th {
        height: 50px;
    }

    .curriculum-pricetable__item th:not(.blank),
    .curriculum-pricetable__item td {
        border: 1px solid #B2B2B2;
    }

    .curriculum-pricetable__item th:not(.blank) {
        background: #333351;
        color: #fff;
        font-size: 20px;
    }

    .curriculum-pricetable__item th span {
        color: #fff;
        display: block;
        font-size: 15px;
        margin: 5px 0 0;
    }

    .curriculum-pricetable__item td {
        background: #fff;
    }

    .curriculum-pricetable__item.top td .price-normal {
        font-size: 39px;
    }

    .curriculum-pricetable__item.bottom td .price-normal {
        font-size: 26px;
    }

    .curriculum-pricetable__item.top td .price-tax {
        font-size: 22px;
    }

    .curriculum-pricetable__item.bottom td .price-tax {
        font-size: 15px;
        margin: 5px 0 0;
    }

.flex-text {
    display: flex;
    justify-content: center;
    align-items: center;
}

@media screen and (max-width: 1668px) {
    .curriculum-floating-image1 {
        text-align: right;
        width: 60%;
    }
}

@media screen and (max-width: 1068px) {
    .curriculum-text h2 {
        margin: 0 0 35px 80px;
    }

    .curriculum-text p {
        background: rgb(255 255 255 / 85%);
        padding: 25px;
        width: 100%;
    }

    .curriculum-pricetable__body {
        padding: 0;
        overflow-x: scroll;
    }

    .curriculum-pricetable__inner {
        margin: 0 calc(50% - 50vw);
    }

    .curriculum-pricetable__scroll {
        padding: 0 25px;
    }
}

@media screen and (max-width: 768px) {
    .curriculum-contents {
        padding: 35px 0;
    }

    .curriculum-floating-image1 {
        top: 10%;
        width: 30%;
    }

    .curriculum-floating-image2 {
        right: inherit;
        width: 20%;
        top: 40%;
    }

    .curriculum-text h2 {
        font-size: 5.5vw;
        margin: 0 0 25px 20px;
    }

    .curriculum-text p {
        font-size: 3.5vw;
        line-height: 2em;
        padding: 30px;
    }

    .curriculum-pricetable {
        padding: 25px 25px 45px;
    }

    .curriculum-pricetable__header h2 {
        font-size: 5.5vw;
    }
}



/* measures contents */
.measures-contents {
    background: url(assets/images/measures-bg.jpg) no-repeat;
    background-position: left;
    background-size: cover;
    padding: 80px 0;
    position: relative;
}

.measures-contents__inner {
    margin: 0 auto;
    position: relative;
    width: 95%;
    max-width: var(--column-w);
}

.measures-contents__block {
    margin: 0 0 45px;
}

.measures-contents__header {
    padding: 50px 0;
    text-align: center;
}

    .measures-contents__header h2 {
        font-size: 44px;
    }

    .measures-contents__header p {
        font-size: 25px;
        margin: 10px 0 0;
    }

.measures-contents__bg-text {
    background: #fff;
    margin: 0 auto;
    padding: 50px;
    width: 100%;
}

    .measures-contents__bg-text h3 {
        font-size: 25px;
        margin: 0 0 25px;
        text-align: center;
    }

    .measures-contents__bg-text p {
        font-size: 17px;
        line-height: 2em;
    }

.measures-contents__list {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    align-items: stretch;
}

    .measures-contents__list li {
        display: flex;
        flex-direction: column;
        margin: 0 0 25px;
        width: 44%;
    }

.measures-list__header {
    padding: 15px 0;
    text-align: center;
}

    .measures-list__header img {
        height: 75px;
    }

    .measures-list__header p {
        font-size: 26px;
        margin: 5px 0 0;
    }

.measures-list__body {
    border: 1px dashed #434343;
    flex-grow: 1;
    padding: 25px;
}

    .measures-list__body p {
        font-size: 17px;
        line-height: 2em;
    }

.measures-bottom__text {
    font-size: 17px;
    letter-spacing: 2px;
    line-height: 2em;
    margin: 35px 0 0;
}

@media screen and (max-width: 768px) {
    .measures-contents {
        padding: 35px 0;
    }

    .measures-contents__header {
        padding: 25px 0;
    }

        .measures-contents__header h2 {
            font-size: 5.5vw;
        }

        .measures-contents__header p {
            font-size: 4vw;
        }

    .measures-contents__bg-text {
        padding: 25px;
    }

        .measures-contents__bg-text h3 {
            font-size: 4.5vw;
        }

        .measures-contents__bg-text p {
            font-size: 3.5vw;
        }

    .measures-list__header p {
        font-size: 4vw;
    }

    .measures-list__body p {
        font-size: 3.5vw;
        line-height: 2em;
    }

    .measures-bottom__text {
        font-size: 3.5vw;
        line-height: 2em;
    }

    .measures-contents__list li {
        width: 100%;
    }
}


/* test */
.test-contents {
    background: url(assets/images/bg2.jpg) no-repeat;
    background-position: left;
    background-size: cover;
    padding: 80px 0;
    position: relative;
}

.test-floating-image1 {
    position: absolute;
    right: 0;
    top: 80px;
}

.test-contents__inner {
    margin: 0 auto;
    position: relative;
    width: 95%;
    max-width: var(--sColumn-w);
    z-index: 1;
}

.test-iamge {
    margin: 90px 0 0;
}

.test-text__wrap {
    width: 100%;
    max-width: 1180px;
}

.test-text h2 {
    font-size: 44px;
    letter-spacing: 2px;
    line-height: 2em;
    margin: 0 0 50px 80px;
}

.test-text p {
    background: rgb(255 255 255 / 75%);
    font-size: 17px;
    letter-spacing: 2px;
    line-height: 2em;
    padding: 90px;
}

.test-btn__list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin: 80px auto 0;
    width: 80%;
}

    .test-btn__list li {
        display: inline-block;
        margin: 0 35px;
    }

        .test-btn__list li a {
            border: 3px solid #434343;
            display: block;
            font-size: 18px;
            letter-spacing: 2px;
            line-height: 1.5em;
            padding: 20px 50px;
            position: relative;
            text-align: center;
        }

            .test-btn__list li a::after {
                background: url(assets/images/icon-arrow.png) no-repeat;
                background-position: center;
                background-size: contain;
                content: "";
                display: inline-block;
                height: 25px;
                margin: auto;
                position: absolute;
                right: -25px;
                top: 0;
                bottom: 0;
                width: 45px;
            }

.test-contents__bottom {
    margin: 120px 0 0;
}

.test-bottom__header {
    margin: 0 auto 50px;
    width: 80%;
}

    .test-bottom__header h2 {
        font-size: 44px;
        margin: 0 0 30px;
        text-align: center;
    }

    .test-bottom__header p {
        font-size: 17px;
        line-height: 2.5em;
    }

.test-course__list li {
    margin: 0 0 35px;
}

.test-course__flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 0 35px;
}

.test-course__left {
    border: 1px dashed #434343;
    padding: 50px 0;
    text-align: center;
    width: 30%;
}

.test-course__image p {
    font-size: 26px;
    line-height: 2em;
    margin: 10px 0 0;
}

.test-course__right {
    width: calc(70% - 45px);
}

.test-course__title {
    background: #F1E5DB;
    display: inline-block;
    font-size: 26px;
    margin: 0 0 25px;
    padding: 2px 5px;
}

.test-course__text p {
    color: #3F86BB;
    font-size: 32px;
    line-height: 1.6em;
}

.test-course__note {
    background: #CCE0E9;
    font-size: 21px;
    padding: 10px 0;
    text-align: center;
    width: 100%;
}

@media screen and (max-width: 1668px) {
    .test-contents {
        padding: 80px 0 280px;
    }

    .test-floating-image1 {
        text-align: right;
        width: 60%;
    }
}

@media screen and (max-width: 1068px) {
    .test-contents {
        padding: 80px 0 160px;
    }

    .test-floating-image1 {
        top: 8%;
        width: 60%;
    }

    .test-text h2 {
        margin: 0 0 35px 80px;
    }

    .test-text p {
        background: rgb(255 255 255 / 85%);
        padding: 60px;
    }

    .test-bottom__header {
        width: 100%;
    }

    .test-course__left {
        padding: 50px 0;
        width: 100%;
    }

    .test-course__right {
        margin: 25px 0 0;
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .test-contents {
        padding: 35px 0;
    }

    .test-text h2 {
        font-size: 5.5vw;
        margin: 0 0 25px 20px;
    }

    .test-text p {
        font-size: 3.5vw;
        line-height: 2em;
        padding: 30px;
    }

    .test-bottom__header h2 {
        font-size: 5.5vw;
    }

    .test-course__image p {
        font-size: 4.5vw;
    }

    .test-course__title {
        font-size: 4.5vw;
    }

    .test-course__text p {
        font-size: 4.5vw;
    }

    .test-course__note {
        font-size: 3.5vw;
        padding: 10px;
        text-align: left;
    }
}

@media screen and (max-width: 468px) {
    .test-floating-image1 {
        width: 75%;
    }

    .test-text h2 br {
        display: none;
    }

    .test-course__right {
        width: 100%;
    }
}
/* cycle */
.cycle-contents {
    background: url(assets/images/cycle-bg.jpg) no-repeat;
    background-position: top left;
    background-size: cover;
    padding: 80px 0;
}

.cycle-contents__inner {
    margin: 0 auto;
    width: 95%;
    max-width: 1100px;
}

.cycle-contents__header {
    padding: 0 0 45px;
}

    .cycle-contents__header h2 {
        font-size: 44px;
        text-align: center;
    }

.cyclc-contents__image {
    margin: 0 0 50px;
}

.cycle-contents__text p {
    font-size: 17px;
    line-height: 2em;
}

@media screen and (max-width: 768px) {
    .cycle-contents {
        padding: 35px 0;
    }

    .cycle-contents__header h2 {
        font-size: 5.5vw;
    }

    .cycle-contents__text p {
        font-size: 3.5vw;
        line-height: 2em;
    }
}

/* logical */
.logical-contents {
    background: url(assets/images/logical-bg.jpg) no-repeat;
    background-position: top left;
    background-size: cover;
    padding: 80px 0;
}

.logical-contents__inner {
    margin: 0 auto;
    position: relative;
    width: 95%;
    max-width: var(--column-w);
}

.logical-contents__header {
    padding: 0 0 75px;
}

    .logical-contents__header h2 {
        font-size: 32px;
        line-height: 2em;
        text-align: center;
    }

        .logical-contents__header h2 span {
            background: #fff;
            padding: 0 5px;
        }

.logical-contents__text p {
    font-size: 17px;
    line-height: 2em;
    margin: 0 0 35px;
}

    .logical-contents__text p span {
        background: linear-gradient(transparent 60%, #fff 60%);
        display: inline;
        padding: 0 5px;
    }

.logical-text__flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}

.logical-text__movie {
    width: 50%;
}

.logical-text__caption {
    width: calc(50% - 35px);
}

    .logical-text__caption p {
        font-size: 17px;
        line-height: 2em;
    }

@media screen and (max-width: 1068px) {
    .logical-text__movie,
    .logical-text__caption {
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .logical-contents {
        padding: 35px 0;
    }

    .logical-contents__header {
        padding: 0 0 25px;
    }

        .logical-contents__header h2 {
            font-size: 5.5vw;
        }

    .logical-contents__text p {
        font-size: 3.5vw;
    }

    .logical-text__caption p {
        font-size: 3.5vw;
    }
}

/* map */
.map-contents {
    background: url(assets/images/bg2.jpg) no-repeat;
    background-position: left;
    background-size: cover;
    padding: 80px 0;
    position: relative;
}

.map-floating-image1 {
    position: absolute;
    right: 0;
    top: 60px;
}

.map-contents__inner {
    margin: 0 auto;
    position: relative;
    width: 95%;
    max-width: var(--sColumn-w);
    z-index: 1;
}

.map-iamge {
    margin: 90px 0 0;
}

.map-text__wrap {
    width: 100%;
    max-width: 1180px;
}

.map-text h2 {
    font-size: 32px;
    letter-spacing: 2px;
    line-height: 2em;
    margin: 0 80px 50px 0;
    text-align: left;
}

.map-text__items {
    background: rgb(255 255 255 / 75%);
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    padding: 50px;
}

    .map-text__items p {
        font-size: 17px;
        letter-spacing: 2px;
        line-height: 2em;
        width: 100%;
    }

    .map-text__items .map-images {
        width: 48%;
    }

.map-text p span {
    background: linear-gradient(transparent 60%, #F1E5DB 60%);
    display: inline;
    padding: 0 5px;
}

.map-contents__bottom {
    margin: 150px auto 0;
    position: relative;
    max-width: 1180px;
}

.map-bottom__header {
    margin: 0 auto 50px;
    width: 80%;
}

    .map-bottom__header h2 {
        font-size: 30px;
        margin: 0 0 30px;
        text-align: center;
    }

.map-bottom__body {
    border: 1px dashed #434343;
    padding: 50px;
}

    .map-bottom__body p {
        font-size: 17px;
        line-height: 2em;
    }

        .map-bottom__body p span {
            background: linear-gradient(transparent 60%, #F1E5DB 60%);
            display: inline;
            padding: 0 5px;
        }

@media screen and (max-width: 1668px) {
    .map-contents {
        padding: 80px 0;
    }

    .map-floating-image1 {
        text-align: left;
    }
}

@media screen and (max-width: 1068px) {
    .map-floating-image1 {
        top: 22%;
        width: 60%;
    }

    .map-text h2 {
        margin: 0 0 35px 80px;
    }

    .map-text__items {
        background: rgb(255 255 255 / 85%);
        padding: 20px;
    }

        .map-text__items p {
            width: 100%;
        }

        .map-text__items .map-images {
            margin: 25px 0 0;
            width: 100%;
        }

    .map-bottom__header {
        width: 100%;
    }

    .map-bottom__body {
        padding: 40px;
    }
}

@media screen and (max-width: 768px) {
    .map-contents {
        padding: 80px 0 60px;
    }

    .map-text h2 {
        font-size: 5.5vw;
        margin: 0 0 25px 20px;
    }

    .map-text p {
        font-size: 3.5vw;
        line-height: 2em;
    }

    .map-contents__bottom {
        margin: 100px auto 0;
    }

    .map-bottom__header h2 {
        font-size: 5.5vw;
    }

    .map-bottom__body {
        padding: 30px;
    }

        .map-bottom__body p {
            font-size: 3.5vw;
        }
}

/* introduction */
.introduction-contents {
    background: url(assets/images/bg1.jpg) no-repeat;
    background-position: left;
    background-size: cover;
    padding: 80px 0;
    position: relative;
}

.introduction-floating-image1 {
    position: absolute;
    right: 50px;
    top: 80px;
}

.introduction-contents__inner {
    margin: 0 auto;
    position: relative;
    width: 95%;
    max-width: var(--sColumn-w);
    z-index: 1;
}

.introduction-iamge {
    margin: 90px 0 0;
}

.introduction-text__wrap {
    width: 100%;
    max-width: 1180px;
}

.introduction-text h2 {
    font-size: 44px;
    letter-spacing: 2px;
    line-height: 2em;
    margin: 0 0 50px 80px;
}

.teacher-intro__text {
    background: rgb(255 255 255 / 75%);
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    padding: 50px;
}

    .teacher-intro__text p {
        font-size: 17px;
        letter-spacing: 2px;
        line-height: 2.5em;
    }

.text-top p {
    width: 100%;
}

.text-bottom {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    margin: 25px 0 0;
}

    .text-bottom p {
        width: 60%;
    }

    .text-bottom .teacher-intro__images {
        width: calc(40% - 25px);
    }

@media screen and (max-width: 1068px) {
    .introduction-floating-image1 {
        display: none;
    }

    .teacher-intro__text {
        background: rgb(255 255 255 / 85%);
        padding: 25px;
    }

        .teacher-intro__text .teacher-intro__images {
            margin: 25px 0 0;
            width: 100%;
        }

    .text-bottom p {
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .introduction-contents {
        padding: 35px 0;
    }

    .introduction-text h2 {
        font-size: 5.5vw;
        margin: 0 0 25px 20px;
    }

    .teacher-intro__text p {
        font-size: 3.5vw;
        line-height: 2em;
    }
}

@media screen and (max-width: 468px) {
    .introduction-text h2 br {
        display: none;
    }
}

/* faq */
.faq-contents {
    background: url(assets/images/logical-bg.jpg) no-repeat;
    background-position: top left;
    background-size: cover;
    padding: 80px 0;
}

.faq-contents__inner {
    margin: 0 auto;
    max-width: var(--column-w);
}

.faq-contents__header {
    margin: 0 0 55px;
    text-align: center;
}

    .faq-contents__header h2 {
        background: #fff;
        display: inline-block;
        font-size: 32px;
        padding: 2px 10px;
    }

.faq-contents__body {
}

.faq-contents__list {
}

.faq-contents__item {
    margin: 0 0 75px;
}

    .faq-contents__item dt {
        border-bottom: 1px solid #434343;
        font-size: 30px;
        font-weight: bold;
        margin: 0 0 20px;
        padding: 0 0 35px;
    }

    .faq-contents__item dd {
        font-size: 21px;
        line-height: 2em;
    }

@media screen and (max-width: 1068px) {
    .faq-contents__inner {
        max-width: 90%;
    }
}

@media screen and (max-width: 768px) {
    .faq-contents__header h2 {
        font-size: 28px;
    }

    .faq-contents__item dt {
        font-size: 26px;
    }

    .faq-contents__item dd {
        font-size: 18px;
    }
}

@media screen and (max-width: 468px) {
    .faq-contents__header h2 {
        font-size: 24px;
    }

    .faq-contents__item dt {
        font-size: 21px;
    }

    .faq-contents__item dd {
        font-size: 16px;
    }
}


/* blog */
.blog-container {
    background: url(assets/images/bg1.jpg) no-repeat;
    background-position: left;
    background-size: cover;
    padding: 80px 0;
}

.blog-container__inner {
    background: #f1f1f1;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    margin: 0 auto;
    padding: 50px 20px;
    width: 95%;
    max-width: var(--column-w);
}

.blog-contents {
    width: 100%;
    max-width: 735px;
}

.blog-aside {
    width: 100%;
    max-width: 200px;
}

.blog-aside__widget {
    margin: 0 0 35px;
}

.blog-widget__header {
    border-bottom: 2px solid #2868cd;
    margin: 0 0 15px;
    padding: 0 0 5px;
}

    .blog-widget__header h2 {
        color: #2868cd;
        font-size: 18px;
        font-weight: 500;
    }

.blog-widget__body ul li {
    margin: 0 0 8px;
}

    .blog-widget__body ul li a {
        font-size: 16px;
    }

.widget-category__list li a {
    text-decoration: underline;
}

.blog-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

    .blog-list::before {
        content: "";
        display: block;
        order: 1;
        width: 31%;
    }

    .blog-list li {
        border-radius: 10px 10px 0px 10px;
        margin: 0 0 25px;
        overflow: hidden;
        width: 31%;
    }

        .blog-list li figure {
            background: #000;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 150px;
            margin: 0;
            width: 100%;
        }

            .blog-list li figure img {
                object-fit: cover;
                width: 100%;
            }

.blog-text {
    background: #fff;
    padding: 10px 10px 25px;
    position: relative;
}

    .blog-text::after {
        border-style: solid;
        border-width: 0 0 20px 20px;
        border-color: transparent transparent #60c33e transparent;
        content: "";
        display: block;
        height: 0;
        position: absolute;
        bottom: 0;
        right: 0;
        width: 0;
    }

.blog-date,
.blog-excerpt {
    color: #878787;
    font-size: 14px;
}

.blog-title {
    color: #60c33e;
    font-size: 18px;
    font-weight: 500;
    margin: 5px 0 8px;
}

.blog-excerpt {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

@media screen and (max-width: 1042px) {
    .blog-contents,
    .blog-aside {
        width: 100%;
        max-width: none;
    }

    .blog-contents {
        margin: 0 0 35px;
    }

    .blog-container__inner {
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .blog-list::before {
        display: none;
    }

    .blog-list li {
        width: 48%;
    }
}

/* post contents */
.post-contents {
    background: url(assets/images/bg1.jpg) no-repeat;
    background-position: left;
    background-size: cover;
    padding: 80px 0;
}

.post-contents__inner {
    margin: 0 auto;
    width: 95%;
    max-width: var(--column-w);
}

.post-contents__header {
    margin: 0 0 45px;
}

    .post-contents__header h1 {
        font-size: 32px;
        margin: 0 0 10px;
    }

.post-contents__date {
    font-size: 14px;
}

.post-contents__eyecatch {
    margin: 0 0 35px;
}

.post-contents__body {
    background: #fff;
    border-radius: 10px;
    padding: 35px;
}

    .post-contents__body p {
        font-size: 16px;
        line-height: 2.5em;
        margin: 0 0 20px;
    }

    .post-contents__body h2 {
        font-size: 21px;
        font-weight: 500;
        margin: 0 0 45px;
    }

    .post-contents__body h3 {
        font-size: 18px;
        font-weight: 500;
        margin: 0 0 20px;
    }

/* contact */
.contact-pages {
    background: url(assets/images/logical-bg.jpg) no-repeat;
    background-position: top left;
    background-size: cover;
    padding: 80px 0;
}

.contact-header {
    background: rgba(255, 255, 255, 0.7);
    border-radius: 10px;
    margin: 0 auto 65px;
    padding: 35px;
    width: 95%;
    max-width: var(--column-w);
}

.contact-header__inner p {
    font-size: 18px;
    line-height: 2.1em;
}

.contact-contents {
    margin: 0 auto 50px;
    width: 95%;
    max-width: var(--column-w);
}

.contact-contents__header {
    border-bottom: 3px solid #2868cd;
    margin: 0 auto 35px;
    padding: 0 0 8px;
    width: max-content;
}

    .contact-contents__header h2 {
        font-size: 24px;
        font-weight: 500;
    }

.contact-contents__body {
    background: #f1f1f1;
    padding: 15px;
}

.contact-form__item {
    margin: 0 0 25px;
}

    .contact-form__item dt {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        margin: 0 0 8px;
    }

    .contact-form__item.require dt::after {
        content: "*";
        color: #bf0000;
        font-size: 23px;
        margin-left: 5px;
    }

    .contact-form__item dt label {
        color: #808080;
        font-size: 14px;
    }

    .contact-form__item dd input,
    .contact-form__item dd select,
    .contact-form__item dd textarea {
        background: #fff;
        border: 1px solid #ccc;
        border-radius: 5px;
        display: block;
        font-size: 16px;
        outline: none;
        padding: 10px;
    }

    .contact-form__item dd input,
    .contact-form__item dd textarea {
        width: 100%;
    }

    .contact-form__item dd select {
        width: 45%;
    }

#submit-btn {
    background: #ff9f43;
    border: 0;
    border-radius: 50px;
    color: #fff;
    cursor: pointer;
    display: block;
    font-size: 20px;
    font-weight: 500;
    margin: 0 auto;
    padding: 20px 0;
    width: 100%;
    max-width: 350px;
}

    #submit-btn:hover {
        opacity: .8;
    }

.contact-form__note {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    font-size: 12px;
    line-height: 1.8em;
    margin: 15px 0 0;
}

    .contact-form__note::before {
        content: "※";
        font-size: 12px;
        margin-right: 2px;
    }

.require-text {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    font-size: 14px;
    margin: 0 0 10px;
    text-align: right;
}

    .require-text span {
        color: #bf0000;
        font-size: 20px;
        margin-right: 3px;
    }

.complete-contents__body {
    background: rgba(255, 255, 255, 0.7);
    border-radius: 10px;
    margin: 0 auto 65px;
    padding: 35px;
    width: 95%;
    max-width: var(--column-w);
}

    .complete-contents__body p {
        line-height: 2.1em;
    }

@media screen and (max-width: 768px) {
    .contact-header {
        padding: 25px;
    }

    .contact-header__inner p {
        font-size: 16px;
    }

    .contact-contents__header h2 {
        font-size: 21px;
    }

    #submit-btn {
        font-size: 18px;
        width: 100%;
    }
}


@media screen and (max-width: 1668px) {
}

@media screen and (max-width: 1368px) {
}

@media screen and (max-width: 1068px) {
}

@media screen and (max-width: 768px) {
}

@media screen and (max-width: 568px) {
}

@media screen and (max-width: 468px) {
}

@media screen and (max-width: 368px) {
}

/*メニューをページ下部に固定*/
#sp-fixed-menu {
    position: fixed;
    width: 100%;
    bottom: 0px;
    font-size: 0;
    opacity: 0.9;
    z-index: 99;
}

    /*メニューを横並びにする*/
    #sp-fixed-menu ul {
        display: flex;
        list-style: none;
        padding: 0;
        margin: 0;
        width: 100%;
    }

    #sp-fixed-menu li {
        justify-content: center;
        align-items: center;
        width: 33.3%;
        padding: 0;
        margin: 0;
        font-size: 14px;
        border-right: 1px solid #fff;
    }

        /*左側メニューを緑色に*/
        #sp-fixed-menu li:first-child {
            background: #f3a324;
        }
        /*真ん中メニューを青色に*/
        #sp-fixed-menu li:nth-last-child(2) {
            background: #2495f3;
        }
        /*左側メニューをオレンジ色に*/
        #sp-fixed-menu li:last-child {
            background: #38b435;
        }

        /*ボタンを調整*/
        #sp-fixed-menu li a {
            color: #fff;
            text-align: center;
            display: block;
            width: 100%;
            padding: 20px;
        }

/*PCの場合にはメニューを表示させない*/
@media (min-width: 768px) {
    .for-sp {
        display: none;
    }
}

.terms-container {
    background: url(assets/images/logical-bg.jpg) no-repeat;
    background-position: top left;
    background-size: cover;
    padding: 80px 0;
}

.terms {
    margin: 100px 0 0;
}

.privacy-policy__inner,
.terms-inner {
    background: #fff;
    border-radius: 10px;
    margin: 0 auto;
    padding: 25px;
    width: 95%;
    max-width: 1000px;
}

.privacy-policy__header,
.terms-header {
    margin: 0 0 35px;
    text-align: center;
}

    .privacy-policy__header h2,
    .terms-header h2 {
        border-bottom: 2px solid var(--main-theme-color);
        display: inline-block;
        font-size: 32px;
        font-weight: bold;
        padding: 10px 15px;
    }

.privacy-policy__list p {
    font-size: 21px;
    line-height: 2em;
    margin: 0 0 35px;
}

.privacy-policy__item,
.terms-list__item {
    margin: 0 0 35px;
}

    .privacy-policy__item dt,
    .terms-list__item dt {
        font-size: 21px;
        font-weight: bold;
        line-height: 2em;
        padding: 0 0 10px;
    }

    .privacy-policy__item dd,
    .terms-list__item dd {
        font-size: 21px;
        line-height: 2em;
    }

.sigunature {
    font-weight: bold;
}

@media screen and (max-width: 768px) {
    .privacy-policy__header h2,
    .terms-header h2 {
        font-size: 26px;
        padding: 5px;
    }

    .privacy-policy__list p {
        font-size: 18px;
        line-height: 1.8em;
        margin: 0 0 25px;
    }

    .privacy-policy__item {
        margin: 0 0 25px;
    }

        .privacy-policy__item dt {
            font-size: 18px;
            line-height: 2em;
        }

        .privacy-policy__item dd {
            font-size: 18px;
            line-height: 2em;
        }
}

.links {
    margin: 0 auto;
    padding: 15px 0;
    width: 95%;
    max-width: 1000px;
}

    .links a {
        font-size: 14px;
    }

/* flow */
.flow-contents {
    background: url(assets/images/logical-bg.jpg) no-repeat;
    background-position: top left;
    background-size: cover;
    padding: 80px 0;
}

.flow-contents__inner {
    margin: 0 auto;
    width: 95%;
    max-width: var(--column-w);
}

.flow-contents__item {
    margin: 0 auto 45px;
    padding: 0 0 45px;
    position: relative;
}

    .flow-contents__item:not(:last-child)::after {
        background: url("/wp-content/themes/outcome/assets/images/flow_arrow.svg") no-repeat;
        background-position: center;
        background-size: contain;
        content: "";
        display: block;
        margin: auto;
        height: 35px;
        position: absolute;
        left: 0;
        right: 0;
        bottom: -20px;
        width: 35px;
    }

    .flow-contents__item dt {
        background: #aacc03;
        border-radius: 8px;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 28px;
        font-family: "Josefin Sans", sans-serif;
        letter-spacing: 0.075em;
        line-height: 1;
        height: 68px;
        margin: 0 auto -34px;
        position: relative;
        text-align: center;
        width: 75%;
        max-width: 575px;
        z-index: 2;
    }

    .flow-contents__item:first-child dt {
        background: #aacc03;
    }

    .flow-contents__item:nth-child(2) dt {
        background: #00aeeb;
    }

    .flow-contents__item:nth-child(3) dt {
        background: #ffa20d;
    }

    .flow-contents__item:nth-child(4) dt {
        background: #4ca535;
    }

    .flow-contents__item:last-child dt {
        background: #355bb1;
    }

    .flow-contents__item dd {
        background: #fff;
        border-radius: 10px;
        font-size: 18px;
        font-weight: bold;
        line-height: 2em;
        padding: 60px 25px 20px;
        text-align: center;
    }

        .flow-contents__item dd a {
            background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, rgba(249, 190, 0, 1) 50%);
            background-position: 0 0;
            background-size: 200% auto;
            border-bottom: 1px dotted #3e3e3e;
            color: #3366ff;
            display: inline-block;
            font-size: 18px;
            font-weight: bold;
            padding: 5px;
            transition: .3s;
        }

            .flow-contents__item dd a:hover {
                background-position: -100% 0;
            }

@media screen and (min-width: 900px) {
    .flow-contents__item dt {
        width: 48%;
    }
}

@media screen and (max-width: 768px) {
    .flow-contents__item dt {
        font-size: 16px;
    }

    .flow-contents__item dd,
    .flow-contents__item dd a {
        font-size: 16px;
    }
}


.news-contents {
    padding: 80px 0;
}

.news-contents__inner {
    margin: 0 auto;
    width: 95%;
    max-width: var(--sColumn-w);
}

.news-contents__header {
    margin: 0 0 35px;
    text-align: center;
}

    .news-contents__header h2 {
        font-size: 55px;
        font-weight: 600;
    }

    .news-contents__header p {
        font-size: 20px;
    }

.news-contents__list li {
    border-bottom: 2px dashed rgba(62, 62, 62, 0.18);
}

    .news-contents__list li:first-child {
        border-top: 2px dashed rgba(62, 62, 62, 0.18);
    }

    .news-contents__list li a {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        flex-wrap: wrap;
        padding: 15px 0;
    }

.news-date {
    width: 15%;
}

.news-title {
    width: calc(85% - 20px);
}

.link-btn {
    background: #ffa20d;
    border-radius: 50px;
    color: #fff;
    display: block;
    font-size: 21px;
    font-weight: 500;
    margin: 45px auto 0;
    padding: 25px 20px;
    position: relative;
    text-align: center;
    width: 90%;
    max-width: 400px;
}

    .link-btn::after {
        background: url(/wp-content/themes/outcome/assets/images/icon/arrow_btn.svg) no-repeat;
        background-size: contain;
        background-position: center;
        content: "";
        display: flex;
        justify-content: center;
        align-items: center;
        height: 25px;
        margin: auto;
        position: absolute;
        right: 20px;
        top: 0;
        bottom: 0;
        width: 25px;
    }

@media screen and (max-width: 768px) {
    .news-contents {
        padding: 45px 0;
    }

    .news-contents__header {
        margin: 0 0 25px;
    }

        .news-contents__header h2 {
            font-size: 48px;
        }

        .news-contents__header p {
            font-size: 18px;
        }

    .news-date,
    .news-title {
        width: 100%;
    }

    .news-title {
        margin: 5px 0 0;
    }
}

.forte-contents {
    margin: 80px auto;
    width: 95%;
    max-width: var(--column-w);
}

    .forte-contents p {
        font-size: 17px;
        line-height: 2.5em;
    }

@media screen and (max-width: 768px) {
    .forte-contents p {
        font-size: 3.5vw;
        line-height: 2em;
    }
}

.iframe-wrapper {
    padding: 50px 15px 25px 15px;
    width: 100%;
    height: 315px;
    text-align: center;
}

    .iframe-wrapper iframe {
        width: 560px;
        height: 315px;
    }

@media screen and (max-width: 768px) {
    .iframe-wrapper {
        position: relative;
        padding-bottom: 56.25%;
        height: 0;
        overflow: hidden;
        width: 100%;
    }

        .iframe-wrapper iframe {
            padding: 35px 15px 15px 15px;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
        }
}
/* 【英検保証制度】イラストを非表示にし、テキストを中央に配置 */

/* イラストのエリアを非表示にする */
.test-course__left {
    display: none;
}

/* 残ったテキストのエリアを中央に配置する */
.test-course__flex {
    justify-content: center;
}



/* フォント設定 */
body {
    font-family: 'Noto Sans JP', sans-serif;
    color: #334155; /* slate-700 */
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'M PLUS 1p', sans-serif;
}
/* ヘッダーの追従 */
.header-sticky {
    position: sticky;
    top: 0;
    z-index: 50;
    background-color: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid #e5e7eb; /* gray-200 */
}
/* ハンバーガーメニューのアニメーション */
.menu-trigger span {
    transition: all 0.3s ease-in-out;
}

.menu-trigger.active span:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}

.menu-trigger.active span:nth-child(2) {
    opacity: 0;
}

.menu-trigger.active span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}
/* セクションタイトルの共通スタイル */
.section-title {
    font-size: 2.25rem; /* text-4xl */
    font-weight: 700;
    text-align: center;
    margin-bottom: 1rem;
}

@media (max-width: 768px) {
    .section-title {
        font-size: 1.875rem; /* text-3xl */
    }
}

.section-subtitle {
    text-align: center;
    color: #0284c7; /* sky-600 */
    font-weight: 700;
    margin-bottom: 2rem;
}

/* フッターのスタイル */
footer.bg-slate-800 a {
    color: #FFFFFF; /* フッター内のリンク文字を白にする */
}

    /* （任意）マウスを乗せたときの色を変更する場合 */
    footer.bg-slate-800 a:hover {
        color: #E2E8F0; /* 少し明るい白や水色などにすると操作性が上がります */
    }

/* --- フッター全体のテキストカラー調整 --- */

/* 見出し（サイトマップ, お問い合わせ）を白にする */
footer.bg-slate-800 h4 {
    color: #FFFFFF;
}

/* リスト内のテキスト（TEL番号など）を白にする */
footer.bg-slate-800 ul {
    color: #FFFFFF;
}

/* リンクを白にする（これは前回と同じです） */
footer.bg-slate-800 a {
    color: #FFFFFF;
}

    /* （任意）リンクにマウスを乗せたときの色 */
    footer.bg-slate-800 a:hover {
        color: #E2E8F0; /* 少し明るい白（お好みで変更してください） */
    }

/* フッターのリスト項目（TEL番号など）の色を強制的に白にする */
footer.bg-slate-800 li {
    color: #FFFFFF !important;
}

/* 固定ページの幅を100%に広げる最終コード */
.container {
    max-width: 100% !important;
}



<!-- スタイル情報をここにすべて含めます -->
<style >
/* フォント設定 */
body {
    font-family: 'Noto Sans JP', sans-serif;
    color: #334155;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'M PLUS 1p', sans-serif;
}
/* ヘッダーの追従 */
.header-sticky {
    position: sticky;
    top: 0;
    z-index: 50;
    background-color: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid #e5e7eb;
}
/* ハンバーガーメニューのアニメーション */
.menu-trigger span {
    transition: all 0.3s ease-in-out;
}

.menu-trigger.active span:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}

.menu-trigger.active span:nth-child(2) {
    opacity: 0;
}

.menu-trigger.active span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}
/* セクションタイトルの共通スタイル */
.section-title {
    font-size: 2.25rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 1rem;
}

@media (max-width: 768px) {
    .section-title {
        font-size: 1.875rem;
    }
}

.section-subtitle {
    text-align: center;
    color: #0284c7;
    font-weight: 700;
    margin-bottom: 2rem;
}
/* --- 【重要】ハンバーガーメニューの線を強制的に表示させる --- */
.header-sticky .menu-trigger span {
    background: #333 !important;
}



</style >
