a {
    display: block;
}

.header {
    height: 100%;
    width: 7%;
    right: 0;
    background-color: #1D50A2;
    position: fixed;
    z-index: 5000;
}

.pc_menu {
    position: absolute;
    top: 0;
}

.pc_menu ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.pc_menu ul li {
    padding: 0;
    border-left: unset;
    margin-bottom: -1.8vw;
}

.contents {
    margin-right: 7%;
    overflow: hidden;
}

.cta_btn_wrap {
    position: absolute;
    bottom: 6vw;
    right: 6%;
    width: 33.589vw;
    display: flex;
    flex-direction: column;
}

.tel {
    width: 28vw;
    margin: 0 auto 1.2vw;
}

.cta_btn {
    display: flex;
    width: 33vw;
    margin: auto;
}

.section_1 {
    background-size: auto;
    background-repeat: repeat;
    padding: 7.326vw 0;
}

.sec1_ttl_wrap h2 {
    width: 18.388vw;
    margin: 0 auto 15px;
}

.sec1_ttl_wrap p {
    text-align: center;
}

.sec1_inner {
    width: 82.051vw;
    margin: 0 auto;
    position: relative;
    left: -0.733vw; /* ← 左に10pxずらす */
}

.section_2 {
    padding-bottom: 7.326vw;
}

.sec2_ttl_wrap {
    margin-bottom: 2.93vw;
}

.section_3 {
    background: var(--bg, #F0F6FF);
    padding: 7.326vw 0;
}

.sec3_ttl_wrap {
    margin-bottom: 2.93vw;
}

.sec3_inner {
    width: 73.26vw;
    margin: auto;
    position: relative;
}

.sec6_slide {
    position: relative;
}

.swiper-button-next, .swiper-rtl .swiper-button-prev, .swiper-button-prev, .swiper-rtl .swiper-button-next {
    width: 80px !important;
    height: 80px !important;
    top: 50%;
}

.swiper-button-prev {
    left: -2.93vw;
}

.swiper-button-next {
    right: -2.93vw;
}

.swiper-pagination.outer-pagination,
.swiper-pagination.sec8,
.swiper-pagination.sec3 {
    bottom: -2.93vw;
}

.swiper-pagination { pointer-events: auto; }

.sec3_cta {
    margin-top: 4.396vw;
}

.sec3_cta_wrap {
    margin-top: 4.396vw;
}

.cta2_wrap {
    width: 73.26vw;
    margin: auto;
}

.cta2_btn_wrap {
    position: absolute;
    bottom: 5vw;
    right: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
}

.cta2_btn {
    display: flex;
    align-items: center;
    width: 90%;
    margin: auto;

    a {
        width: 27.5%;
    }

    .tel2 {
        width: 45%;
    }

    .tel2 a {
        width: 90%;
        margin: 0 .8vw;
    }
}

.section_6 {
    background: url(../img/top/sec6_bg.png);
    background-size: cover;
    padding: 7.326vw 0;
    overflow: hidden;
}

.sec6_inner {
    width: 80.586vw;
    margin: auto;
}

.sec6_ttl_wrap {
    width: 59.194vw;
    margin: 0 0 4.396vw;
}

.section_8 {
    background: #1d50a2;
    padding: 7.326vw 0;
}

.sec8_slide {
    position: relative;
}

.sec8_inner {
    width: 80.586vw;
    margin: auto;
    overflow: hidden;
}

.sec8_detail {
    margin-top: 6.593vw;
}

.section_9 {
    background: url(../img/top/sec9_bg.png);
    background-size: cover;
    padding: 7.326vw 0;
}

.sec9_inner {
    width: 82.051vw;
    margin: auto;
}

.sec9_ttl_wrap {
    margin-bottom: 2.93vw;
}

.section_10,
.section_11 {
    background: #F0F6FF;
}

.sec11_ttl_wrap {
    width: 82.051vw;
    margin: 0 auto 40px;
}

.section_12 {
    padding-top: 7.326vw;
}

/* アコーディオン */

/* ===== Accordion styles ===== */
:root{
    --acc-bg:#f6f8fb;
    --acc-border:#d8e0ee;
    --acc-primary:#294a86; /* 見出しの濃いブルー */
    --acc-title:#ffffff;
    --acc-trigger-bg:#3a62a8; /* ボタン背景 */
    --acc-trigger-bg-hover:#345a9b;
    --acc-radius:0.733vw;
    --acc-shadow:0 6px 20px rgba(0,0,0,.06);
    --acc-duration:.28s;
}

.program-accordion {
    width: 83.81vw;
    margin: 0 auto;
    padding: 0 0;
    display: grid;
    gap: 1.172vw;
}

.acc-item{
    box-shadow: var(--acc-shadow);
    overflow:hidden;
}

.acc-header{
    margin:0;
}

.acc-trigger{
    -webkit-tap-highlight-color: transparent;
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:0.879vw;
    padding:1.172vw 1.319vw;
    background: var(--acc-trigger-bg);
    color: var(--acc-title);
    font-size: clamp(16px, 2.2vw, 18px);
    line-height:1.3;
    border:0;
    cursor:pointer;
}

.acc-trigger:hover,
.acc-trigger:focus-visible{
    background: var(--acc-trigger-bg-hover);
    outline: none;
}

/* 初期（閉じている状態） */
.acc-trigger {
    background: #fff;
    color: #2f5aa8; /* 青文字 */
    border-bottom: 2px solid #2f5aa8;
    transition: background 0.25s ease, color 0.25s ease;
}

/* 開いた状態（true） */
.acc-trigger[aria-expanded="true"] {
    background: #2f5aa8;
    color: #fff;
}

/* ホバー時のアクセント */
.acc-trigger:hover {
    background: #f0f5ff;
    color: #2f5aa8;
}

.acc-trigger[aria-expanded="true"]:hover {
    background: #254b90;
    color: #fff;
}

.acc-title{
    font-weight:700;
    letter-spacing:.02em;
}

.acc-icon{
    inline-size: 1.319vw;
    block-size: 1.319vw;
    flex: 0 0 1.319vw;
    border: 2px solid currentColor;
    border-left-color: transparent;
    border-top-color: transparent;
    transform: rotate(45deg);
    border-radius: 0.147vw;
    transition: transform var(--acc-duration) ease;
}

.acc-trigger[aria-expanded="true"] .acc-icon{
    transform: rotate(225deg);
}

/* パネル：スムーズ開閉（max-heightアニメ） */
.acc-panel{
    display:block;
    overflow:hidden;
    transition: max-height var(--acc-duration) ease, opacity var(--acc-duration) ease;
    background: var(--acc-bg);
}

.acc-panel[hidden]{
    display:block; /* hiddenでもアニメ用にblockのまま */
    max-height:0;
    opacity:0;
    padding-block:0 !important;
    border-top:0;
}

.acc-panel{
    border-top:1px solid var(--acc-border);
    opacity:1;
}

/* 画像の収まり */
.acc-media{
    margin:0;
}

.acc-media img{
    width:100%;
    height:auto;
    background:#e9eef7;
}

/* 小さめ画面の余白 */
@media (max-width: 480px){
    .acc-trigger{ padding:14px 14px; }
}

/* アコーディオン */

.sec11_img {
    margin-top: 7.326vw;
    width: 67.692vw;
    margin: 100px auto 0;
}

.section_11 {
    padding: 3.663vw 0 7.326vw;
}

.section_13 {
    margin-top: -8.791vw;
    padding: 10.989vw 0 7.326vw;
    background: #f0f6ff;
}

.swiper-button-next:after,
.swiper-button-prev:after {
    display: none !important;
}

.cta3_btn {
    width: 40.604vw;
    display: flex;
    margin: auto;
}

.cta3_btn_wrap {
    position: absolute;
    bottom: 11vw;
    right: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
}

.sec13_ttl_wrap {
    margin-bottom: 2.344vw;
}

.faq_wrap {
    max-width: 60.366vw;
    margin: 0 auto 37px;
    text-align: left;
}

/* FAQ *//* FAQ *//* FAQ */

.cp_qa .cp_actab {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin: 0 0 2.198vw 0;
    color: #fff;
}
.cp_qa .cp_actab {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin: 0 0 1.172vw 0;
    color: #fff;
}
.cp_qa .cp_actab input {
	position: absolute;
	opacity: 0;
}
/* 質問 */
.cp_qa .cp_actab label {
    font-size: 1.319vw;
    font-weight: bold;
    line-height: 1.6em;
    position: relative;
    display: block;
    margin: 0 0 0 0;
    padding: 1em 3em 1em 3.5em;
    cursor: pointer;
    text-indent: 1em;
    color: #212121;
    border-bottom: solid 2px #1d50a2;
}
.cp_qa .cp_actab label::before {
    width: 3.15vw;
    height: 3.15vw;
    content: '';
    background: url(../img/top/qa3.svg);
    background-size: 100%;
    position: absolute;
    left: 1.465vw;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0,-50%);
}
.cp_qa .cp_actab label:hover {
    transition: all 0.3s;
    color: #1d50a2;
}
/* --質問の＋アイコン */
.cp_qa .cp_actab label::after {
    font-size: 1.7em;
    font-weight: bold;
    line-height: 2em;
    position: absolute;
    top: 50%;
    right: 1.465vw;
    content: '';
    background: url(../img/top/qa1.png);
    background-size: contain;
    display: inline-block;
    width: 1.465vw;
    height: 1.026vw;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    background-repeat: no-repeat;
}
/* 答え */
.cp_qa .cp_actab .cp_actab-content {
	position: relative;
	overflow: hidden;
	max-height: 0;
	padding: 0 0 0 2.5em;
	-webkit-transition: max-height 0.2s;
	transition: max-height 0.2s;
}
.cp_qa .cp_actab .cp_actab-content::before {
    width: 3.15vw;
    height: 3.15vw;
    content: '';
    background: url(../img/top/qa4.svg);
    background-size: 100%;
    position: absolute;
    left: 1.465vw;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0,-50%);
}
.cp_qa .cp_actab .cp_actab-content p {
    margin: 1em 1em 1em 2.5em;
    color: #212121;
    font-weight: 400;
}

p.qa_anc {
    color: #343434;
}
/* 質問を開いた時の仕様 */
/* --答えの高さ */
.cp_qa .cp_actab input:checked ~ .cp_actab-content {
    max-height: 40em;
    background: #fff;
}
/* 質問をクリックした時のアイコンの動き */
.cp_qa .cp_actab input:checked ~ label {
    color: #1d50a2;
    background: #fff;
}
/* 質問をクリックした時の+の動き */
.cp_qa .cp_actab input[type=checkbox]:checked + label::after {
    background: url(../img/top/qa2.png);
    background-size: contain;
	-webkit-transform-origin: 50% 50%;
	transform-origin: 50% 50%;
    background-repeat: no-repeat;
}

/* FAQ *//* FAQ *//* FAQ */

.footer .copyright {
    padding: 1.099vw 0.366vw;
    background: #1d50a2;
    color: var(--Neutral-White-000, #FFF);
    text-align: center;
    font-family: Inter;
    font-size: 1.026vw;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

.sec14_1 {
    width: 87.912vw;
    margin-left: auto;
}

.mov_wrap {
    width: 52.747vw;
    margin: 2.93vw auto 4.396vw;
}

.mov_in {
    width: 100%;
    max-width: 1298px;   /* 必要なければ消してOK */
    margin: 0 auto;      /* 中央寄せ */
    aspect-ratio: 16 / 9;
}

.mov_in iframe{
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
}

@media (max-width: 767px) {

    header#header {
        display: none;
    }

    .contents {
        margin-right: 0;
        overflow: hidden;
    }

    .section_1 {
        padding: 15.385vw 0;
    }

    .sec1_ttl_wrap h2 {
        width: 37.7vw;
    }

    .sec1_inner {
        width: 95%;
        left: 0;
        padding-bottom: 12.821vw;
    }

    .section_2 {
        padding-bottom: 24.326vw;
    }

    .sec2_inner {
        width: 90%;
        margin: auto;
    }

    .swiper-pagination.sec2 {
        bottom: 14.103vw;
    }

    .section_3 {
        padding: 15.385vw 0 0;
        position: relative;
        z-index: 3;
        background: unset;
    }

    .sec3_inner {
        width: 90%;
    }

    .swiper-container.img_slide3 {
        position: relative;
    }

    .cta2_wrap {
        width: 100%;
    }

    .cta2_btn_wrap {
        position: absolute;
        bottom: 15vw;
        right: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
    }

        .cta2_btn {
        display: flex;
        flex-direction: column;
        width: 82vw;
        margin: auto;
        z-index: 2;

        .tel2 {
            width: 100%;

            a {
                width: 90%;
                margin-left: 5%;
                margin-bottom: 4.2vw;
            }
        }

        a {
            margin-bottom: 4.2vw;
            width: 100%;
        }
    }

    .sec3_cta {
        position: relative;
    }

    .section_4 {
        position: relative;
        z-index: 1;
        margin-top: -35px;
    }

    .section_6 {
        background: unset;
        background-size: 110%;
        background-position: top right;
        background-repeat: no-repeat;
        padding: 0 0 0;
        margin-top: -48px;
    }

    .section_6 .sec3_cta:after,
    .section_9 .sec3_cta:after {
        height: 0;
    }

    .sec6_inner {
        width: 95%;
    }

    .sec6_ttl_wrap {
        width: 85.641vw;
        margin: 0 0 5.128vw;
    }

    .sec6_slide {
        width: 95%;
        margin: auto;
    }

    .swiper-button-next, .swiper-rtl .swiper-button-prev, .swiper-button-prev, .swiper-rtl .swiper-button-next {
        width: 28px !important;
        height: 28px !important;
        top: 60%;
    }

    .swiper-button-prev {
        left: -3.59vw;
    }

    .swiper-button-next {
        right: -3.59vw;
    }

    .swiper-button-next:after,
    .swiper-button-prev:after {
        display: none !important;
    }

    .section_7 {
        margin-top: -7.179vw;
    }

    .sec8_inner {
        width: 89.744vw;
        margin: auto;
        overflow: hidden;
    }

    .swiper-pagination.sec8 .swiper-pagination-bullet-active {
        background: #fff;
    }

    .section_8 {
        padding: 10.256vw 0;
    }

    .section_9 {
        background: unset;
        padding: 0;
    }

    .sec9_ttl_wrap {
        margin-bottom: 0;
    }

    .sec9_inner {
        width: 100%;
    }

    .section_9 .sec3_cta {
        margin-top: -5.128vw;
    }

    .section_10 {
        background: unset;
    }

    .section_11 {
        padding: 12.821vw 0 12.821vw;
    }   

    .sec11_ttl_wrap {
        width: 48.974vw;
        margin: 0 auto 40px;
    }

    .section_12 {
        padding-top: 0;
    }

    .sec12_ttl_wrap {
        width: 78.974vw;
        margin: 40px auto 30px;
    }

    .cta3_btn_wrap {
        position: absolute;
        bottom: 2vw;
        right: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
    }

    .cta3_btn {
        width: 80%;
        margin: auto;
        flex-direction: column;
    }

    .cta3_btn a {
        margin-bottom: 4.2vw;
    }

    .section_13 {
        margin-top: -25.641vw;
        padding: 38.462vw 0 0.256vw;
        background: #f0f6ff;
    }

    .sec14_1 {
        width: 100%;
    }

    section.program-accordion {
        width: 95%;
    }

    .sec11_img {
        width: 95%;
    }

    .mov_wrap {
        width: 85%;
        margin: 20px auto 40px;
    }

    footer.footer {
        padding: 0px 0 17.821vw;
    }

    .cta_btn_wrap {
        position: absolute;
        bottom: 27vw;
        right: 10%;
        width: 80%;
        display: flex;
        flex-direction: column;
    }

    .tel {
        width: 80vw;
        margin-bottom: 4.2vw;
    }

    .cta_btn {
        display: flex;
        width: 82vw;
        margin: auto;

        a {
            margin-bottom: 4.2vw;
        }
    }

    .float_btn_1 {
        width: 53%;
        position: absolute;
        left: 0;
        bottom: 0;
    }

    .float_btn_1 a {
        display: inline-block;
    }

    .float_btn_2 {
        width: 51%;
        position: absolute;
        right: 0;
        bottom: 0;
    }

    .float_btn_2 a {
        display: inline-block;
    }

    .footer .copyright {
        padding: 1.099vw 0.366vw;
        background: #1d50a2;
        color: var(--Neutral-White-000, #FFF);
        text-align: center;
        font-family: Inter;
        font-size: 3.026vw;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
    }


    /*faq sp*/
    .faq_wrap {
        max-width: none;
        width: 100vw;
        margin: 0 auto 37px;
        text-align: left;
    }
    .cp_qa .cp_actab label {
        font-size: 16px;
        padding: 15px 40px;
        text-indent: 0;
    }
    .cp_qa .cp_actab label::before {
        width: 6.15vw;
        height: 6.15vw;
        content: '';
        background: url(../img/top/qa3.svg);
        background-size: 100%;
        position: absolute;
        left: 1.465vw;
        top: 50%;
        -webkit-transform: translate(0, -50%);
        transform: translate(0, -50%);
    }
    .cp_qa .cp_actab label::after {
        font-size: 1.7em;
        font-weight: bold;
        line-height: 2em;
        position: absolute;
        top: 50%;
        right: 2.465vw;
        content: '';
        background: url(../img/top/qa1.png);
        background-size: contain;
        display: inline-block;
        width: 4.465vw;
        height: 4.026vw;
        -webkit-transform: translate(0, -50%);
        transform: translate(0, -50%);
        background-repeat: no-repeat;
    }
    .cp_qa .cp_actab .cp_actab-content::before {
        width: 6.15vw;
        height: 6.15vw;
        content: '';
        background: url(../img/top/qa4.svg);
        background-size: 100%;
        position: absolute;
        left: 1.465vw;
        top: 50%;
        -webkit-transform: translate(0, -50%);
        transform: translate(0, -50%);
        background-repeat: no-repeat;
    }
    /*faq sp*/

}