img{
    width: 100%;
}
.text-contents p{
    margin-bottom: 1em;
}
.header-brand{
    text-align: center;
    line-height: 1.2;
}
.header-brand p{
    line-height: 1;
}
.header-brand .min-text{
    line-height: 1;
    color: #26A7E1;
    font-family: "Libre Franklin", sans-serif;
    font-weight: 700;
    font-size: var(--d-font-size-min-2);
}
/* PCだけ */
@media (min-width: 981px){
    #about,
    #reason,
    #schedule,
    #interview,
    #support,
    #fee,
    #flow,
    #qa {
        scroll-margin-top: 150px;
    }

    .arche-kazari{
        position: relative;
    }
    .arche-kazari::before{
        content: "";
        position: absolute;
        top: 0;          /* ← 文字の上に出す */
        left: 50%;
        transform: translateX(-50%);

        width: 400px;        /* ← 画像サイズ */
        height: 40px;

        background-image: url("../../assets/img/arche-kazari.png");
        background-repeat: no-repeat;
        background-size: contain;

        z-index: 1;          /* ← 上に出す */
        pointer-events: none;
    }
    .title.blue-text.arche-kazari{
        padding:2em 0 0;
    }
    .interview-in-box .in-photo{
        float: left;
        width: 460px;          /* 好きな幅に */
        margin: 1em 1em 1em 0; /* 右余白 */
        rotate: z -3deg;
    }
    .interview-in-box .in-photo img{
        box-shadow: var(--shadow);
    }

    .interview-in-box::after{
        content:"";
        display:block;
        clear:both;
    }
    .inyou{
        width:100%;
        overflow: hidden;
        margin-bottom: 3em;
    }
    .inyou li{
        font-style: italic;
        font-size: var(--d-font-size-min-3);
        overflow-wrap: break-word;   /* ★最重要 */
        word-break: break-all;       /* 念のため */
    }
    ul{
        list-style: none;
        padding:0;
        margin:0;
    }
    .nav-list{
        display: flex;
        flex-wrap: wrap;
    }
    .pc-only.nav-list li{
        font-size: var(--d-font-size-min-2);
        margin: 0 1em 0 0;
    }
    .pc-only.nav-list li a{
        color: black;
    }

    .pc-flexbox{
        display: flex;
        flex-wrap: wrap;
    }
    .pc-left{
        width: 48% !important;
        margin:0 !important;
    }
    .pc-right{
        width: 48% !important;
        margin:0 0 0 auto !important;
    }
    .site-header{
        position: sticky;
        top: 0;
        z-index: 1000;
        background: #fff;
        border-bottom: 1px solid rgba(0,0,0,.06);
    }


    .support-voice-wrap .youtube{
        width: 100%;
    }


    /* 画像＋テキストの回り込み領域 */
    .support-voice-wrap .voice-float{
        overflow: hidden; /* float解除 */
    }

    .support-voice-wrap .voice-float .photo{
        float: left;
        width: 460px;          /* 写真幅：適宜 */
        margin: 1em 1em 1em 0; /* 右余白 */
        rotate: z -3deg;
    }

    .support-voice-wrap .voice-float .photo img{
        display: block;
        width: 100%;
        height: auto;
        box-shadow: var(--shadow);
    }


    /* YouTubeは float の外なので常に100% */
    .support-voice-wrap .youtube-full{
        width: 100%;
        margin-top: 18px;
    }

    .support-voice-wrap .youtube-full iframe{
        display: block;
        width: 100%;
        aspect-ratio: 16 / 9;
        height: auto;
        border: 0;
    }


    /* ===== Support PC float ===== */

    /* float の閉じ（main/items 共通） */
    .support-box.is-pc-float .float-wrap{
        overflow: hidden;
    }

    /* 写真内の img 共通 */
    .support-box.is-pc-float .photo img{
        display: block;
        width: 100%;
        height: auto;
    }

    /* text-box が落ちる原因を殺す（main/items 共通） */
    .support-box.is-pc-float .float-wrap > .text-box{
        width: auto !important;
        clear: none !important;
        display: block !important;
    }

    /* ---- 最初のブロック（main-wrap）は左固定 ---- */
    .support-box.is-pc-float .main-wrap .float-wrap > .photo{
        float: left !important;
        width: 460px;
        margin: 1em 1em 1em 0 !important;
        rotate: z -3deg;
    }
    .support-box.is-pc-float .main-wrap .float-wrap > .photo img{
        box-shadow: var(--shadow);
    }

    /* ---- 繰り返しブロック（in-wrap）は交互 ---- */
    /* デフォルト：左（is-leftは不要なので消す） */
    .support-box.is-pc-float .in-wrap .photo{
        float: left;
        width: 460px;
        margin: 1em 1em 1em 0;
    }

    /* 奇数：右（1枚目・3枚目…） */
    .support-box.is-pc-float .in-wrap.is-right .photo{
        float: right;
        margin: 1em 0 1em 1em;
    }

    /* ---- YouTube は 100% ---- */
    .support-box.is-pc-float .youtube-full{
        width: 100%;
        margin-top: 18px;
    }
    .support-box.is-pc-float .youtube-full iframe{
        display: block;
        width: 100%;
        aspect-ratio: 16 / 9;
        height: auto;
        border: 0;
    }


    .parson-text-box{
        width: auto !important;
        clear: none !important;
        display: block !important;
    }
    .parson-photo{
        float:right ;
        width: 460px;
        margin: 0 0 10px 24px;
    }

    .img-list{
        display: flex;
    }
    .img-list li{
        width: 50%;
    }
    .support-wrap{
        width: 90%;
        margin: 0 auto;
    }
    .support-box .in-wrap {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        margin: 0 0 .5em;
    }
    .carea-up-photo{
        margin:0 0 1em;
    }
    .schedule-plan-img{
        display: block;
        margin: 0 auto 3em;
        width:70%;
    }
    .title-space{
        padding:.1em;
    }
    .qa-section{
        position:relative;
    }
    .qa {
        margin: 0 auto 3em;
        padding: 0;
        width:70%;
    }

    .qa-item {
        border-bottom: 10px solid #fff; /* 画像の「区切り」っぽさ */
    }

    /* dt */
    .qa-q {
        display:flex;
        list-style: none;
        margin: 0;
        padding: 22px 64px 22px 92px; /* 左のQ分/右の＋分 */
        background: #e7f4fb;
        color: #7a7a7a;
        font-size: 20px;
        line-height: 1.6;
        position: relative;
        cursor: pointer;
        user-select: none;
        align-items: anchor-center;
    }
    /* 左の Q */
    .qa-q::before {
        content: "Q";
        font-family: "Libre Franklin", sans-serif;
        color: #0aa0d6;
        font-weight: 700;
        font-size: var(--d-font-size-5) !important;
        display: flex;
        margin-right:.5em;
    }
    /* 右端の + */
    .qa-icon {
        position: absolute;
        right: 22px;
        top: 50%;
        transform: translateY(-50%);
        font-size: 26px;
        line-height: 1;
        color: #9aa7ad;
    }

    /* dd */
    .qa-a {
        margin: 0;
        padding: 1em;
        background: #f6fbfe;
        color: #555;
        line-height: 1.8;

        /* 初期は閉じる */
        display: none;
    }

    /* 開いてる状態 */
    .qa-item.is-open .qa-a {
        display: block;
    }

    .qa-item.is-open .qa-icon {
        content: "";
    }

    /* ＋を×（−っぽく）にするなら */
    .qa-item.is-open .qa-icon {
        transform: translateY(-50%) rotate(45deg);
    }
    .order-1{
        order: 1;
        margin:0 !important;
    }
    .order-2{
        order:2;
        margin:0 0 0 auto !important;
    }

    .track-record .flex-box .right img,
    .parson-photo img{
        border-radius: 10px;
    }
    .flex-box{
        display: flex;
    }
    .track-record .flex-box .left{
        width: 58%;
        margin:0;
    }
    .track-record .flex-box .right{
        width: 40%;
        margin:0 0 0 auto;
    }

    .header-inner {
        max-width: 1200px;
        margin: 0 auto;
        padding: 22px 20px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
    }

    .brand-link {
        text-decoration: none;
        color: #111;
        font-size: var(--d-font-size-2);
        font-weight: 500;
        letter-spacing: .02em;
        white-space: nowrap;
    }

    /* ハンバーガー */
    .nav-toggle {
        display: none;
        background: transparent;
        border: 0;
        padding: 8px;
        cursor: pointer;

        /* 崩れ防止（SPで縦並びを安定させる） */
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 6px;
        line-height: 1;
        flex-shrink: 0;
    }

    .nav-toggle__bar {
        display: block;
        width: 26px;
        height: 2px;
        background: #111;
        margin: 0;
    }

    .nav-toggle__label {
        display: block;
        margin-top: 0;
        font-size: 12px;
        letter-spacing: .08em;
        color: #111;
    }

    .main-contents{
        width: 960px;
        margin: 0 auto;
    }

    .flow-section,
    .interview-section,
    .support-section{
        position:relative;
        background:#F3F4F3;
    }
    .flow-section{
        margin-bottom:3em;
    }
    .interview-title,
    .support-voice-title{
        position: relative; /* 追加 */
        background: #26A7E1;
        color: white;
        border: solid #4D4D4D 1px;
        display: block;
        width: 100%;
        padding: .5em 1em;
        text-align: center;
        font-size: var(--d-font-size-2);
        margin: 0 0 2em;
        overflow: hidden; /* 追加 */
    }

    /* 左下の削り */
    .interview-title::before,
    .support-voice-title::before{
        content: "";
        position: absolute;
        left: -14px;
        bottom: -14px;
        width: 28px;
        height: 28px;
        background: #F3F4F3; /* ページ背景色に合わせる */
        border-radius: 50%;
    }

    /* 右上の削り */
    .interview-title::after,
    .support-voice-title::after{
        content: "";
        position: absolute;
        right: -14px;
        top: -14px;
        width: 28px;
        height: 28px;
        background: #F3F4F3; /* ページ背景色に合わせる */
        border-radius: 50%;
    }
    .support-voice-wrap .support-voice-title{
        margin: 0 0 1em;
    }

    .interview-wrap{
        width: 90%;
        margin: 0 auto 3em;
    }
    .interview-box{
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }
    .interview-box .youtube iframe{
        width: 100%;
    }
    .interview-box .main-wrap{
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        margin:0 0 2em;
    }


    .interview-box .in-wrap{
        overflow: hidden;
        margin:0 0 3em 0;
    }
    .interview-box .in-wrap .photo{
        float: right;          /* ← 右に寄せる */
        width: 400px;          /* 写真の幅 */
        margin: 1em 0 1em 1em; /* textとの間隔 */
    }
    .interview-box .in-wrap.is-reverse .photo {
        float: left;
        margin: 1em 1em 1em 0; /* textとの間隔 */
    }
    .interview-box .main-wrap .pc-left{
        rotate: z -3deg;
    }
    .pc-box-shadow,
    .interview-box .main-wrap .pc-left img{
        /* drop shadow*/
        box-shadow: var(--shadow);
    }
    .interview-box .in-wrap:last-of-type{
        margin:0;
    }


    .support-section .text-box .title,
    .in-wrap .text-box .title,
    .support-voice-wrap .title{
        font-size: var(--d-font-size-2);
        font-weight: 600;
        margin: 0 0 1em 0;
    }

    .support-section .text-contents{
        margin:0 0 2em;
    }



    .box-wrap.is-pc-float .float-wrap{
        overflow: hidden; /* float解除 */
    }

    .box-wrap.is-pc-float .float-wrap .right{
        float: right;
        width: 400px;           /* 画像幅：好みで */
        margin: 0 0 1em 1em;  /* 左の余白 */
    }

    .box-wrap.is-pc-float .float-wrap .right img{
        display: block;
        width: 100%;
        height: auto;
    }

    .box-wrap.is-pc-float .float-wrap .left{
        /* 触らないのがポイント（自然に回り込む） */
    }

    .radius-box .body.pc-float{
        overflow: hidden; /* float解除 */
    }

    .radius-box .body.pc-float .photo{
        float: left;
        width: 400px;            /* 好きな幅に */
        margin: 0 1em 1em 0;   /* 右に余白 */
    }

    .radius-box .body.pc-float .photo img{
        display: block;
        width: 100%;
        height: auto;
    }

    .box-wrap{
        display: flex;
        flex-wrap: wrap;
        margin: 0 auto;
    }

    .box-wrap .box{
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }
    .box-wrap .box .body{
        width: 100%;
        border: solid 1px #0585CB;
        padding: 1em;
        margin: 0;
    }
    .pc-box-shadow{
        margin-bottom: 3em;
    }



    .box-wrap {
        counter-reset: box-number;
    }

    .box-title{
        display: flex;
        align-items: center;
        color:#0585CB;
        font-size: var(--d-font-size-2);
        font-family: var(--font-f-mincho);
        line-height: 1.35;
        font-weight: 600;
        margin: 0 0 1em;
    }

    .box-title::before{
        letter-spacing: -5px;
        counter-increment: box-number;
        content: counter(box-number, decimal-leading-zero);
        float:left;                 /* ← これが効く（行の高さを壊しにくい） */
        margin: 0 20px 0 0;         /* 右に余白 */
        line-height: 1;             /* 01自体の詰まりはOK */
        font-family: var(--font-f-mincho);
        font-size: var(--d-font-size-9);
        color:#0585CB;
    }

    /* floatを使うなら clearfix（親の高さ確保） */
    .box-title::after{
        content:"";
        display:block;
        clear:both;
    }

    .bg-lead{
        text-align: center;
        letter-spacing: -1px;
        width: 100%;
        background-color: #26A7E1;
        color: white;
        padding: 1em 10px 1em 10px;
        border:none;
        font-weight:600;
        font-size: var(--d-font-size-1);
    }

    .body .in-lead{
        font-size: var(--d-font-size-1);
        font-weight: 600;
        margin: 0 0 0.5em;
    }
    .body .flex-box .left{
        margin: 0 0 1em;
    }
    .yellow{
        color:#ffeb00;
    }
    .body .flex-box .right img{
        margin: 0 0 1em;
    }
    .bg-white{
        margin:0 0 3em;
    }
    .bg-blue{
        background: #C4E7F7;
    }
    .bn-list{
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        margin: 3em 0;
        padding: 2em;
        justify-content: center;
    }
    .bn-list a{
        cursor: pointer;
        display: block;
    }
    .bn-list a:hover{
        opacity: 0.8;
    }
    .bn-list a,
    .bn-list a picture,
    .bn-list a img {
        cursor: pointer;
    }

    .bn-list li{
        margin:0 2em;
        width: 33%;
    }
    .blue-bg{
        background: #26A7E1;
        padding: .3em 0;
        border-radius: 30px;
        color: white;
        text-align: center;
        font-size: var(--d-font-size-2);
        font-family: var(--font-f-mincho);
        margin: 0 0 2em;
    }
    .hero-catch{
        color:#0585CB;
        font-weight: 600;
        text-align: center;
        font-size: var(--d-font-size);
    }
    .hero-catch span.big{
        font-size: var(--d-font-size-5);
        letter-spacing: 10px;
    }


    .under-text{
        font-size: var(--d-font-size-1);
        color:#0585CB;
        line-height: 1.5;
        font-weight: 600;
    }
    .contents{
        width: 980px;
        margin:0 auto;
    }
    .in-contents{
        width: 90%;
        margin: 0 auto 3em;
    }

    .box-wrap{
        width: 90%;
        margin: 0 auto;
    }
    .bn-list{
        width: 100%;
        margin: 0;
    }

    .nav-toggle { position: relative; z-index: 1001; }

    #about.title{
        text-align: left;
    }
    .pc-in-contents{
        width: 94%;
        margin: 0 auto 3em;
    }
    .blue-bg-title-box.first p{
        font-size: var(--d-font-size);
    }
    .blue-bg-title-box.first h3{
        font-size: var(--d-font-size-4);
    }

    .blue-side-text{
        display: flex;
        align-items: center;
        gap: 24px;

        font-size: var(--d-font-size-2);
        color: #4fb0e8; /* 青文字 */
        font-weight: bold;
        text-align: center;
    }

    /* 左右の線 */
    .blue-side-text::before,
    .blue-side-text::after{
        content: "";
        flex: 1;
        height: 1px;
        background-color: #4fb0e8;
    }

    .blue-bg-title-box.text-align-left.pc-text-center p,
    .pc-text-center p,
    .pc-text-center{
        text-align: center;
    }
    h3.title{
        font-size: var(--d-font-size-3);
    }
    .blue-bg-title-box{
        background: #26A7E1;
        padding: 2em;
        position: relative;
        z-index: 0;
        isolation: isolate;
        margin:0 0 2em;
    }
    .blue-bg-title-box::before{
        content: "";
        position: absolute;
        top: 10px;
        right: 10px;
        width: 60px;
        height: 60px;
        background-image: url(../../assets/img/blue-kazari1.png);
        background-repeat: no-repeat;
        background-size: 100%;
        z-index: -1;
        pointer-events: none;
    }
    .blue-bg-title-box::after{
        content: "";
        position: absolute;
        bottom: -15px;
        left: 8px;
        width: 60px;
        height: 60px;
        background-image: url(../../assets/img/blue-kazari2.png);
        background-repeat: no-repeat;
        background-size: 100%;
        z-index: -1;
        pointer-events: none;
    }
    .blue-bg-title-box.hukidashi{
        margin-bottom:2em;
        padding:1em;
    }
    .fee-section .blue-bg-title-box.hukidashi{
        width: 100%;
    }
    .blue-bg-title-box.hukidashi h3.title{
        padding:0;
        margin:0;
    }
    .blue-bg-title-box.hukidashi::before{
        display:none;
    }
    .blue-bg-title-box.hukidashi::after{
        content: "";
        position: absolute;
        z-index: 0;
        left: 50%;
        bottom: -16px;               /* 三角の高さ分はみ出す */
        transform: translateX(-50%);
        width: 0;
        height: 0;
        border-left: 16px solid transparent;
        border-right: 16px solid transparent;
        border-top: 16px solid #2ea7e0; /* 背景色と同じ */
    }


    .blue-bg-title-box .en-kazari{
        position: absolute;
        color: #0585CB;
        top: -36px;
        left: 30px;
        font-size: var(--d-font-size-6);
        font-family: "Libre Franklin", sans-serif;
        font-weight: 700;
        letter-spacing: 3px;



    }

    .blue-bg-title-box p,
    .blue-bg-title-box h3
    {
        position: relative;
        z-index: 2;
        color: white;
    }
    .blue-bg-title-box p{
        font-size: var(--d-font-size-1);
    }
    .blue-bg-title-box h3{
        text-align:center;
        font-size: var(--d-font-size-2);
        line-height: 1.5;
    }

    .text-space{
        width:100%;
        margin:0 auto;
    }
    .text-space p{
        margin:0 0 1em 0;
    }

    .in-wrap.is-reverse .text-box{
        order:1 !important;
    }
    .in-wrap.is-reverse .photo{
        order:2 !important;
    }


    .youtube,
    .youtube iframe{
        width: 100%;
        height:500px;
    }
    .youtube{
        margin:0 0 2em;
    }
    .pc-right.youtube,
    .pc-right.youtube iframe{
        height:300px;
    }


    .support-section .support-wrap .photo{
        float: right;
        margin: 0 0 10px 24px;
    }

    .w100vw{
        width:100%;
    }

    .fee2-head{
        width: 120px;
        flex: 0 0 120px;
        font-size: var(--d-font-size);
    }

    .fee2-body{
        padding: 1em 0.8em;
    }

    .fee2-nyukai{
        gap: 0.4em;
    }

    .fee-section{
        position:relative;
        background:#F3F4F3;
        margin:0 auto 5em;
    }
    .text-center{
        text-align: center;
    }
    .contents.fee-section .text-center{
        margin-bottom:1.5em;
    }

    .text-radius-box .text{
        font-size: var(--d-font-size);
    }
    .text-radius-box{
        border-radius: 12px;
        border: 2px solid #2aa3d6;
        padding: 18px;
        background: #fff;
        /* ★ここが重要：縦中央を絶対にさせない */
        align-items: flex-start;

        /* ★ここが重要：親の中央寄せを無効化 */
        text-align: left;
        margin:0 0 1.5em;
    }

    .text-radius-box .no-badge{
        float: left;
        width: 80px;
        height: 80px;
        background-repeat: no-repeat;
        background-size: contain;
        background-position: left top;
        margin-right: 1em;
        position: relative;
        top: -19px;
    }

    .text-radius-box .no-badge.no-1{
        background-image: url("../../assets/img/no-1.png");
    }
    .text-radius-box .no-badge.no-2{
        background-image: url("../../assets/img/no-2.png");
    }

    .text-radius-box .text{
        margin: 0;

        /* ★ここが重要：本文も強制的に左寄せ */
        text-align: left;

        line-height: 1.8;
        flex: 1;
    }

    .support-logo-list{
        display:flex;
        flex-wrap:wrap;
        justify-content: space-between;
        align-items: center;
    }

    .support-logo-list li{
        width:18%;
        margin: 0 auto;
        text-align: center;
    }
    .support-logo-list li img{
        width:100%;
    }
    .support-logo-list li .support-logo3{
        width:60%;
        margin:0 auto;
    }
    .blue-text.underline-blue{
        padding: 0 0 3em;
        font-size: var(--d-font-size-2);
        font-weight: 600;
    }


    .carea-up-img{
        margin:0 0 1em;
    }
    .underline-blue{
        text-align: center;
        padding:0 0 1em;
        margin:0 0 1em;
        background-image: url(../../assets/img/blue-underline.png);
        background-repeat: no-repeat;
        background-size: 100%;
        background-position: bottom;
    }
    .top-kazari-line::before{
        display: block;
        content: "";
        height: 18px;
        background-image: url(../../assets/img/blue-top-kazari-line.png);
        background-repeat: repeat-x;
        background-size: 100%;
        background-position: top;
        padding: 0 0 46px;
    }

    .face-img-list{
        display:flex;
        flex-wrap:wrap;
        justify-content: space-between;
        margin:0 0 3em;
        padding-bottom:2em;
    }
    .face-img-list li{
        width:30%;
    }

    .btn-space{
        margin:0 0 1.5em;
    }
    .btn-yellow {
        text-align: center;
    }

    .btn-yellow a {
        display: inline-block;
        background-color: #ffeb00;
        color: #000;
        font-weight: bold;
        font-size: var(--d-font-size);
        line-height: 1;
        padding: 2.25em 2em;
        border-radius: 9999px; /* ← 完全なカプセル形 */
        text-decoration: none;
        position: relative;
        transition: opacity 0.2s ease;
    }

    /* 右矢印 */
    .btn-yellow a::after {
        content: "→";
        margin-left: 12px;
        font-weight: bold;
    }

    /* hover */
    .btn-yellow a:hover {
        opacity: 0.85;
    }


    .underline{
        text-decoration: underline; /* 下線 */
        text-decoration-thickness: 0.5em; /* 線の太さ */
        text-decoration-color: rgba(255, 228, 0, 0.4); /* 線の色 */
        text-underline-offset: -0.2em; /* 線の位置。テキストに重なるようにやや上部にする */
        text-decoration-skip-ink: none; /* 下線と文字列が重なる部分でも下線が省略されない（線が途切れない） */

    }

    .text-align-left p{
        text-align:left;
    }
    .in-contents{
        width: 94%;
        margin:20px auto;
    }

    .track-record{
        background: #F3F4F3;
        position: relative;
    }

    .position-en{
        position: absolute;
        color: #0585CB;
        top: -36px;
        left: 30px;
        font-size: var(--d-font-size-6);
        font-family: "Libre Franklin", sans-serif;
        font-weight: 700;
    }

    .track-record .flex-box.in-contents{
        padding: 40px 0 0;
    }
    .track-record .in-contents .title{
        font-size: var(--d-font-size-1);
        font-weight: 600;
        margin:0 0 1em 0;
    }
    .track-record .in-contents .text{
        margin:0 0 1.5em 0;
    }
    #schedule > .blue-bg-title-box{
        margin-bottom: 0;
    }
    .other-human-1 {
        width:100%;
        margin-bottom:1.5em;
    }
    .other-human-2{
        width:100%;
    }
    .schedule-img1{
        margin-bottom:1.5em;
    }

    .blue-text{
        font-size: var(--d-font-size-1);
        line-height: 1.5;
        color: #0585CB;
    }
    #support .blue-text.text-center{
        position: relative;
        width: 100%;
        text-align: center;   /* ← 文字はここでセンター */
        padding: 0;           /* ← 余白は使わない */
        margin:3em 0;
        font-weight: 600;
    }

    /* 共通（飾り） */
    #support .blue-text.text-center::before,
    #support .blue-text.text-center::after{
        content: "";
        position: absolute;
        top: 50%;
        width: 70px;
        height: 70px;
        transform: translateY(-50%);
        background-repeat: no-repeat;
        background-size: contain;
        pointer-events: none;
    }

    /* 左の飾り */
    #support .blue-text.text-center::before{
        left: 150px; /* 画面左からの距離 */
        background-image: url("../../assets/img/left-kazari.svg");
    }

    /* 右の飾り */
    #support .blue-text.text-center::after{
        right: 150px; /* 画面右からの距離 */
        background-image: url("../../assets/img/right-kazari.svg");
    }




    .reason-list{
        display: flex;
        flex-wrap: wrap;
        width:100%;
        padding:0;
        margin:0 0 2em;
        justify-content: space-between;
    }
    .reason-list li{
        width:32%;
        padding:0;
        margin:0;
    }
    .reason-list li img{
        width:100%;
    }
    .reason-titile-wrap{
        text-align:center;
        width: 100%;
    }
    .reason-titile{
        width: 80%;
        margin:0 auto 2em;
    }
    .radius-box{
        border:solid 1px #26A7E1;
        border-radius:20px;
        margin:0 0 1em;
    }
    .radius-box .body{
        padding: 0 1em 1em;
    }
    .radius-box .title{
        background: #26A7E1;
        color: white;
        border-top-left-radius:20px;
        border-top-right-radius:20px;
        font-size:var(--d-font-size-1);
        margin:0 0 1em;
        padding: 1em .5em;
    }
    .text-box p{
        margin: 0 0 1em;
    }

    .flow-wrap{
        display:flex;
        flex-wrap: wrap;
        width: 70%;
        margin: 0 auto;
    }
    .flow-wrap .icon::before{
        content: "";
        left: 1em;
        width: 70px;
        height: 70px;
        margin:0 1em 0 0;
    }

    .flow-wrap .no-1::before{
        background-image: url(../../assets/img/flow-icon1.png);
        background-repeat: no-repeat;
        background-size: 100%;
    }
    .flow-wrap .no-2::before{
        background-image: url(../../assets/img/flow-icon2.png);
        background-repeat: no-repeat;
        background-size: 100%;
    }
    .flow-wrap .no-3::before{
        background-image: url(../../assets/img/flow-icon3.png);
        background-repeat: no-repeat;
        background-size: 100%;
    }
    .flow-wrap .no-4::before{
        background-image: url(../../assets/img/flow-icon4.png);
        background-repeat: no-repeat;
        background-size: 100%;
    }


    .flow-wrap .title{
        margin: 0 0 1em;
    }
    .flow-wrap .box{
        display: flex;
        flex-wrap:wrap;

        padding:3em 0;
        background-image: url(../../assets/img/flow-underline.png);
        background-repeat: no-repeat;
        background-size: 100%;
        background-position: bottom;
        width:100%;
    }
    .flow-wrap .box:first-of-type{
        padding:0 0 3em;
    }
    .flow-wrap .box:last-of-type{
        background-image:none;
    }
    .flow-wrap .box .left{
        width:68%;
    }
    .flow-wrap .box .right{
        width:30%;
    }


    .flow-wrap .box img{
        height:200px;
        object-fit:cover;
        border-radius:10px;
    }


    .flow-wrap .box .title{
        font-size: var(--d-font-size-2);
        font-weight: 600;
        color: #0585CB;
        padding: 0 0 0 4em;
        display:flex;
        align-items: center;
    }
    .flow-wrap .text{
        margin:0 0 1em;
        font-size: var(--d-font-size-1);
    }

    .compare-table {
        width: 100%;
        border-collapse: collapse;
        table-layout: fixed;
        font-size: 16px;
        margin:0 0 1.5em;
    }

    /* 共通 */
    .compare-table th,
    .compare-table td {
        border: 1px solid #ccc;
        padding: 16px 12px;
        text-align: center;
        vertical-align: middle;
    }

    /* 左の項目名 */
    .compare-table tbody th {
        background: #f7f7f7;
        font-weight: normal;
        text-align: left;
        width: 18%;
    }

    /* ヘッダー */
    .compare-table thead th {
        background: #f0f0f0;
        font-weight: bold;
    }

    /* 中央列（遠山先生の学校）強調 */
    .compare-table thead th:nth-child(2),
    .compare-table tbody td:nth-child(2) {
        border-left: 3px solid #2aa3d6;
        border-right: 3px solid #2aa3d6;
    }

    .compare-table thead th:nth-child(2) {
        background: #2aa3d6;
        color: #fff;
    }

    .compare-table tbody tr:last-child td:nth-child(2) {
        border-bottom: 3px solid #2aa3d6;
    }

    /* 金額・強調テキスト */
    .compare-table td strong {
        color: #e60000;
        font-size: 20px;
    }

    /* 注釈（赤文字小さめ） */
    .compare-table .note {
        display: block;
        margin-top: 6px;
        color: #e60000;
        font-size: 14px;
        font-weight: bold;
    }

    /* 記号表現 */
    .compare-table td {
        line-height: 1.6;
    }

    .compare-table td:has(:not(strong)) {
        word-break: break-word;
    }

    /* ○ × △ を少し大きく */
    .compare-table td:contains("◯"),
    .compare-table td:contains("×"),
    .compare-table td:contains("△") {
        font-size: 20px;
        font-weight: bold;
    }
    /* 横スクロールの土台 */
    .table-scroll {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch; /* iPhoneでヌルっと */
    }

    /* スクロール時に変に縮まないよう、最小幅を指定 */
    .compare-table {
        min-width: 720px; /* ここが肝。表の横幅を固定する */
    }

    /* ついでに：スクロールできることを示す余白 */
    .table-scroll {
        padding-bottom: 8px;
    }



    /* =========================
       料金テーブル（完成版）
    ========================= */

    /* 外枠 */
    .fee-table2{
        border: 3px solid #2aa3d6;
        background: #fff;
        margin:0 0 2em;
    }

    /* 行 */
    .fee2-row{
        display: flex;
        border-top: 2px solid #2aa3d6;
    }
    .fee2-row:first-child{
        border-top: 0;
    }

    /* 左：青ラベル */
    .fee2-head{
        width: 150px;
        flex: 0 0 150px;
        background: #2aa3d6;
        color: #fff;
        font-weight: 700;
        font-size: var(--d-font-size-2);
        display: flex;
        align-items: center;
        justify-content: center;
        letter-spacing: .08em;
        border-right: 2px solid #2aa3d6;
        padding: 1.2em 0.5em;
        text-align: center;
    }

    /* 右：本文 */
    .fee2-body{
        flex: 1 1 auto;
        padding: 1.2em 1em;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        min-width: 0;
        font-size: var(--d-font-size);
        line-height: 1.7;
    }

    /* ===== 入会金 ===== */
    .fee2-nyukai{
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.5em;
    }

    .fee2-normal{
        color: #2aa3d6;
        font-weight: 700;
        font-size: var(--d-font-size-2);
        position: relative;
        line-height: 1.3;
    }

    /* 打ち消し線 */
    .fee2-normal::after{
        content: "";
        position: absolute;
        left: -0.2em;
        right: -0.2em;
        top: 55%;
        height: 0.2em;
        background: #e60000;
    }

    /* 今なら */
    .fee2-now{
        color: #e60000;
        font-weight: 700;
        font-size: var(--d-font-size-2);
        line-height: 1.2;
    }

    .fee2-zero{
        font-size: var(--d-font-size-3);
        font-weight: 700;
        margin: 0 0.1em;
    }

    /* ===== 授業料 ===== */
    .fee2-jugyo{
        color: #e60000;
        font-weight: 700;
        line-height: 1.2;
    }

    .fee2-price{
        font-size: var(--d-font-size-3);
    }

    .fee2-unit{
        font-size: var(--d-font-size-2);
        margin-left: 0.2em;
    }

    /* ===== 支払い方法 ===== */
    .fee2-paylist{
        margin: 0;
        padding-left: 1.2em;
        text-align: left;
        color: #2aa3d6;
        font-weight: 700;
        font-size: var(--d-font-size);
        line-height: 1.8;
    }


}










/* SP */
@media (max-width: 980px) {
    .nav-toggle { display: flex; }

    /* ロゴが大きすぎてボタンが押し出されるのを防ぐ */
    .header-inner{
        padding: 14px 16px;
        gap: 16px;
    }

    .brand-link{
        font-size: 24px;
        max-width: calc(100% - 72px);
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* SP：CSSでスライドイン（header に is-open が付いたら表示） */
    .global-nav {
        border-top: 1px solid rgba(0,0,0,.06);

        position: fixed;
        top: 60px; /* ヘッダー高さに合わせて必要なら調整 */
        left: 0;
        right: 0;
        bottom: 0;
        background: #fff;
        overflow-y: auto;
        z-index: 1000;

        /* display は触らず、transform で開閉 */
        display: block;
        transform: translateX(100%);
        transition: transform .25s ease;
    }

    .site-header.is-open .global-nav {
        transform: translateX(0);
    }

    .nav-list {
        flex-direction: column;
        gap: 0;
        padding: 10px 20px 18px;
    }

    .nav-item a {
        display: block;
        padding: 14px 0;
        border-top: 1px solid rgba(0,0,0,.06);
        font-size: 15px;
    }

    .nav-item:first-child a { border-top: 0; }
}




/* SP調整 */
@media (max-width: 600px) {
    .qa-q {
        font-size: 16px;
        padding: 1em 3em 1em 1em;
    }
    .qa-icon {
        right: 16px;
        font-size: 24px;
    }
    .qa-a {

    }
}



/* SP */
@media (max-width: 980px) {
    .pc-only{display: none !important;}
    .site-header {
        background: #fff;
        border-bottom: 1px solid rgba(0,0,0,.06);
        position: relative;
    }

    .header-inner {
        max-width: 1200px;
        margin: 0 auto;
        padding: 22px 20px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
    }

    .brand-link {
        text-decoration: none;
        color: #111;
        font-size: 34px;
        font-weight: 500;
        letter-spacing: .02em;
        white-space: nowrap;
    }

    /* PC */
    .nav-list {
        list-style: none;
        display: flex;
        gap: 22px;
        margin: 0;
        padding: 0 20px 0 0;
    }

    .nav-item a {
        color: #111;
        text-decoration: none;
        font-size: 14px;
        padding: 8px 0;
        white-space: nowrap;
    }

    /* ハンバーガー */
    .nav-toggle {
        display: none;
        background: transparent;
        border: 0;
        padding: 8px;
        cursor: pointer;

        /* 崩れ防止（SPで縦並びを安定させる） */
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 6px;
        line-height: 1;
        flex-shrink: 0;
    }

    .nav-toggle__bar {
        display: block;
        width: 26px;
        height: 2px;
        background: #111;
        margin: 0;
    }

    .nav-toggle__label {
        display: block;
        margin-top: 0;
        font-size: 12px;
        letter-spacing: .08em;
        color: #111;
    }

    .main-contents{
        width: 960px;
        margin: 0 auto;
    }



    /* ===== 背景エリア ===== */
    .hero {
        position: relative;
        /* background-image: url("../../assets/img/main-bg.png");*/ /* ←背景画像 */
        background-size: cover;
        background-position: center;
        background-color: #0a4b78;
        min-height: 360px;
        padding: 60px 20px;
    }

    /* 文字全体のラッパー */
    .hero-inner {
        max-width: 1200px;
        margin: 0 auto;
    }

    /* ===== 黒帯テキスト ===== */
    .label.black {
        display: inline-block;
        background: #000;
        color: #fff;
        font-size: 28px;
        font-weight: 700;
        padding: 10px 18px;
        margin-bottom: 14px;
        line-height: 1.3;
    }

    .label.black .bold {
        font-size: 1.2em;
    }

    /* ===== メインキャッチ（黄色＋黒フチ） ===== */
    .hero-title {
        margin-top: 30px;
        font-size: 56px;
        font-weight: 900;
        line-height: 1.2;
        color: #ffd200; /* 黄色 */
        text-shadow:
                4px 4px 0 #000,
                -4px 4px 0 #000,
                4px -4px 0 #000,
                -4px -4px 0 #000,
                0 4px 0 #000,
                0 -4px 0 #000,
                4px 0 0 #000,
                -4px 0 0 #000;
    }

    /* ===== レスポンシブ ===== */
    @media (max-width: 768px) {
        .label.black {
            font-size: 18px;
            padding: 8px 12px;
        }

        .hero-title {
            font-size: 32px;
            text-shadow:
                    2px 2px 0 #000,
                    -2px 2px 0 #000,
                    2px -2px 0 #000,
                    -2px -2px 0 #000;
        }
    }


    /* SP */
    @media (max-width: 980px) {
        .arche-kazari{
            position: relative;
        }
        .arche-kazari::before{
            content: "";
            position: absolute;
            top: 0;          /* ← 文字の上に出す */
            left: 50%;
            transform: translateX(-50%);

            width: 400px;        /* ← 画像サイズ */
            height: 40px;

            background-image: url("../../assets/img/arche-kazari.png");
            background-repeat: no-repeat;
            background-size: contain;

            z-index: 1;          /* ← 上に出す */
            pointer-events: none;
        }
        .title.blue-text.arche-kazari{
            padding:2em 0 0;
        }
        .nav-toggle { display: flex; }

        /* ロゴが大きすぎてボタンが押し出されるのを防ぐ */
        .header-inner{
            padding: 14px 16px;
            gap: 16px;
        }

        .brand-link{
            font-size: 24px;
            max-width: calc(100% - 72px);
            overflow: hidden;
            text-overflow: ellipsis;
        }

        /* SP：CSSでスライドイン（header に is-open が付いたら表示） */
        .global-nav {
            border-top: 1px solid rgba(0,0,0,.06);

            position: fixed;
            top: 60px; /* ヘッダー高さに合わせて必要なら調整 */
            left: 0;
            right: 0;
            bottom: 0;
            background: #fff;
            overflow-y: auto;
            z-index: 1000;

            /* display は触らず、transform で開閉 */
            display: block;
            transform: translateX(100%);
            transition: transform .25s ease;
        }

        .site-header.is-open .global-nav {
            transform: translateX(0);
        }

        .nav-list {
            flex-direction: column;
            gap: 0;
            padding: 10px 20px 18px;
        }

        .nav-item a {
            display: block;
            padding: 14px 0;
            border-top: 1px solid rgba(0,0,0,.06);
            font-size: 15px;
        }

        .nav-item:first-child a { border-top: 0; }
    }


    .img-list{
        display: flex;
    }
    .img-list li{
        width: 50%;
    }





    .support-wrap{
        width: 90%;
        margin: 0 auto;
    }
    .support-box{

    }
    .support-title{}
    .support-box .main-wrap {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }
    .support-box .in-wrap {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        margin: 0 0 .5em;
    }
    .carea-up-photo{
        margin:0 0 1em;
    }


    .schedule-plan-img{
        margin-bottom: 3em;
    }
    .title-space{
        padding:.1em;
    }
    .qa-section{
        position:relative;
    }
    .qa {
        margin: 0 0 3em;
        padding: 0;
    }

    .qa-item {
        border-bottom: 10px solid #fff; /* 画像の「区切り」っぽさ */
    }

    /* dt */
    .qa-q {
        display:flex;
        list-style: none;
        margin: 0;
        padding: 22px 64px 22px 92px; /* 左のQ分/右の＋分 */
        background: #e7f4fb;
        color: #7a7a7a;
        font-size: 20px;
        line-height: 1.6;
        position: relative;
        cursor: pointer;
        user-select: none;
        align-items: anchor-center;
    }

    /* 左の Q */
    .qa-q::before {
        content: "Q";
        font-family: "Libre Franklin", sans-serif;
        color: #0aa0d6;
        font-weight: 700;
        font-size: var(--d-font-size-5) !important;
        display: flex;
        margin-right:.5em;
    }

    /* 右端の + */
    .qa-icon {
        position: absolute;
        right: 22px;
        top: 50%;
        transform: translateY(-50%);
        font-size: 26px;
        line-height: 1;
        color: #9aa7ad;
    }

    /* dd */
    .qa-a {
        margin: 0;
        padding: 1em;
        background: #f6fbfe;
        color: #555;
        line-height: 1.8;

        /* 初期は閉じる */
        display: none;
    }

    /* 開いてる状態 */
    .qa-item.is-open .qa-a {
        display: block;
    }

    .qa-item.is-open .qa-icon {
        content: "";
    }

    /* ＋を×（−っぽく）にするなら */
    .qa-item.is-open .qa-icon {
        transform: translateY(-50%) rotate(45deg);
    }

    /* SP調整 */
    @media (max-width: 600px) {
        .qa-q {
            font-size: 16px;
            padding: 1em 3em 1em 1em;
        }
        .qa-icon {
            right: 16px;
            font-size: 24px;
        }
        .qa-a {

        }
    }


    .flow-section,
    .interview-section,
    .support-section{
        position:relative;
        background:#F3F4F3;
    }
    .flow-section{
        margin-bottom:3em;
    }
    .interview-title,
    .support-voice-title,
    .interview-in-title{
        background:#26A7E1;
        color:white;
        border:solid #4D4D4D 1px;
        display: block;
        width:100%;
        padding: .5em 1em;
        text-align:center;
    }
    .interview-in-title{
        margin-bottom:1em;
    }
    .support-voice-wrap .support-voice-title{
        margin: 0 0 1em;
    }
    .inyou{
        width:100%;
        overflow: hidden;
        margin-bottom: 2em;
    }
    .inyou li{
        font-style: italic;
        font-size: var(--d-font-size-min-1);
        overflow-wrap: break-word;   /* ★最重要 */
        word-break: break-all;       /* 念のため */
    }
    .in-photo{
        margin-bottom:1em;
    }

    .interview-wrap{
        width: 90%;
        margin: 0 auto 3em;
    }
    .interview-box{
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }
    .interview-box .youtube iframe{
        width: 100%;
    }
    .interview-box .main-wrap{
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }
    .interview-box .main-wrap .pc-left{
        margin:0 0 1em;
    }


    .interview-box .in-wrap{
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        margin: 0 0 3em;
    }
    .interview-box .in-wrap:last-of-type{
        margin:0;
    }

    .interview-box .in-wrap .text-box,
    .interview-box .in-wrap .photo{
        width: 48%;
    }
    .support-section .text-box .title,
    .in-wrap .text-box .title,
    .support-voice-wrap .title{
        font-size: var(--d-font-size-1);
        font-weight: 600;
        margin: 0 0 1em 0;
    }

    .support-section .text-contents{
        margin:0 0 2em;
    }
    .interview-box .in-wrap .photo{
        margin: 0 0 0 auto;
    }
    .interview-box .in-wrap:nth-of-type(3) .photo{
        order: 1;
        margin: 0;
    }
    .interview-box .in-wrap:nth-of-type(3) .text-box{
        order: 2;
    }


    .box-wrap{
        display: flex;
        flex-wrap: wrap;
        margin: 0 auto;
    }

    .box-wrap .box{
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }
    .box-wrap .box .body{
        width: 100%;
        border: solid 1px #0585CB;
        padding: 1em;
        margin: 0 0 3em;
    }


    .box-wrap {
        counter-reset: box-number;
    }

    .box-title{
        display: flex;
        align-items: center;
        color:#0585CB;
        font-size: var(--d-font-size-1);
        font-family: var(--font-f-mincho);
        line-height: 1.35;
        font-weight: 600;
        margin: 0 0 1em;
    }

    .box-title::before{
        letter-spacing: -5px;
        counter-increment: box-number;
        content: counter(box-number, decimal-leading-zero);
        float:left;                 /* ← これが効く（行の高さを壊しにくい） */
        margin: 0 20px 0 0;         /* 右に余白 */
        line-height: 1;             /* 01自体の詰まりはOK */
        font-family: var(--font-f-mincho);
        font-size: var(--d-font-size-9);
        color:#0585CB;
    }

    /* floatを使うなら clearfix（親の高さ確保） */
    .box-title::after{
        content:"";
        display:block;
        clear:both;
    }

    .bg-lead{
        text-align: center;
        letter-spacing: -1px;
        width: 100%;
        background-color: #26A7E1;
        color: white;
        padding: 1em 10px 1em 10px;
        border:none;
        font-weight:600;
        font-size: var(--d-font-size-1);
    }

    .body .in-lead{
        font-size: var(--d-font-size-1);
        font-weight: 600;
        margin: 0 0 0.5em;
    }
    .body .flex-box .left{
        margin: 0 0 1em;
    }

    .body .flex-box .right img{
        margin: 0 0 1em;
    }

    .bn-list{
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        margin: 3em 0;
    }
    .bn-list img a{
        display: block;
    }

    .bn-list li{
        margin:0 0 1em;
    }
    .blue-bg{
        background: #26A7E1;
        padding: .3em 0;
        border-radius: 30px;
        color: white;
        text-align: center;
        font-size: var(--d-font-size-2);
        font-family: var(--font-f-mincho);
        margin: 0 0 2em;
    }
    .hero-catch{
        color:#0585CB;
        font-weight: 600;
        text-align: center;
        font-size: var(--d-font-size);
    }
    .hero-catch span.big{
        font-size: var(--d-font-size-5);
        letter-spacing: 10px;
    }


    .under-text{
        font-size: var(--d-font-size-1);
        color:#0585CB;
        line-height: 1.5;
        font-weight: 600;
    }
    .contents{
        width: 100%;
    }
    .box-wrap{
        width: 90%;
        margin: 0 auto;
    }
    .bn-list{
        width: 90%;
        margin: 0 auto 3em;
    }
    .nav-toggle { position: relative; z-index: 1001; }


    .hero{
        background: #F7F7F4;
        padding:10px 10px 0;
        margin:0;
    }
    .hero p:nth-of-type(1){
        width: 50%;
        margin:30px auto;
    }
    .hero p:nth-of-type(2){
        width: 70%;
        margin:0 auto 20px;
    }
    .hero-photo {
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }
    .hero-photo img {
        width: 100vw;
        display: block;
    }
    h3.title{
        font-size: var(--d-font-size-1);
    }
    .blue-bg-title-box{
        background: #26A7E1;
        padding: 1em 2em;
        position: relative;
        z-index: 0;
        isolation: isolate;
    }
    .blue-bg-title-box::before{
        content: "";
        position: absolute;
        top: 10px;
        right: 10px;
        width: 60px;
        height: 60px;
        background-image: url(../../assets/img/blue-kazari1.png);
        background-repeat: no-repeat;
        background-size: 100%;
        z-index: -1;
        pointer-events: none;
    }
    .blue-bg-title-box::after{
        content: "";
        position: absolute;
        bottom: -15px;
        left: 8px;
        width: 60px;
        height: 60px;
        background-image: url(../../assets/img/blue-kazari2.png);
        background-repeat: no-repeat;
        background-size: 100%;
        z-index: -1;
        pointer-events: none;
    }
    .blue-bg-title-box.hukidashi{
        margin-bottom:2em;
        padding:1em;
    }
    .fee-section .blue-bg-title-box.hukidashi{
        width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }
    .blue-bg-title-box.hukidashi h3.title{
        padding:0;
        margin:0;
    }
    .blue-bg-title-box.hukidashi::before{
        display:none;
    }
    .blue-bg-title-box.hukidashi::after{
        content: "";
        position: absolute;
        z-index: 0;
        left: 50%;
        bottom: -16px;               /* 三角の高さ分はみ出す */
        transform: translateX(-50%);
        width: 0;
        height: 0;
        border-left: 16px solid transparent;
        border-right: 16px solid transparent;
        border-top: 16px solid #2ea7e0; /* 背景色と同じ */
    }


    .blue-bg-title-box .en-kazari{
        position: absolute;
        color: #0585CB;
        top: -20px;
        left: 30px;
        font-size: var(--d-font-size-2);
        font-family: "Libre Franklin", sans-serif;
        font-weight: 700;
        letter-spacing: 3px;
    }

    .blue-bg-title-box p,
    .blue-bg-title-box h3
    {
        position: relative;
        z-index: 2;
        color: white;
    }
    .blue-bg-title-box p{
        font-size: var(--d-font-size-min-1);
    }
    .blue-bg-title-box h3{
        text-align:center;
        font-size: var(--d-font-size-1);
        line-height: 1.5;
        letter-spacing: -0.1px;
    }

    .text-space{
        width:90%;
        margin:0 auto;
    }
    .text-space p{
        margin:0 0 1em 0;
    }
    .interview-box .in-wrap .text-box, .interview-box .in-wrap .photo{
        width:100%;
    }
    .in-wrap.is-reverse .text-box{
        order:1 !important;
    }
    .in-wrap.is-reverse .photo{
        order:2 !important;
    }
    .interview-box .photo img{
        width:100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }
    .youtube,
    .youtube iframe{
        width: 100%;
        height:260px;
    }
    .youtube{
        margin:0 0 2em;
    }
    .support-logo-list{
        display:flex;
        flex-wrap:wrap;
    }

    .support-section .blue-bg-title-box,
    .support-section .support-wrap .photo{
        width:100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }
    .support-section .support-wrap .photo{
        margin-bottom:1em;
    }
    #about,
    #reason,
    #schedule,
    #interview,
    #support,
    #fee,
    #flow,
    #qa {
        scroll-margin-top: 20px;
    }
    .w100vw{
        width:100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }

    .fee2-head{
        width: 120px;
        flex: 0 0 120px;
        font-size: var(--d-font-size);
    }

    .fee2-body{
        padding: 1em 0.8em;
    }

    .fee2-nyukai{
        gap: 0.4em;
    }

    .fee-section{
        position:relative;
        background:#F3F4F3;
        margin:0 0 5em;
    }
    .text-center{
        text-align: center;
    }
    .contents.fee-section .text-center{
        margin-bottom:1.5em;
    }

    .text-radius-box{
        border-radius: 12px;
        border: 2px solid #2aa3d6;
        padding: 18px;
        background: #fff;
        /* ★ここが重要：縦中央を絶対にさせない */
        align-items: flex-start;

        /* ★ここが重要：親の中央寄せを無効化 */
        text-align: left;
        margin:0 0 1.5em;
    }

    .text-radius-box .no-badge{
        float: left;
        width: 60px;
        height: 55px;
        background-repeat: no-repeat;
        background-size: contain;
        background-position: left top;
        margin-right: 1em;
        position: relative;
        top: -18px;
    }

    .text-radius-box .no-badge.no-1{
        background-image: url("../../assets/img/no-1.png");
    }
    .text-radius-box .no-badge.no-2{
        background-image: url("../../assets/img/no-2.png");
    }

    .text-radius-box .text{
        margin: 0;

        /* ★ここが重要：本文も強制的に左寄せ */
        text-align: left;

        line-height: 1.8;
        flex: 1;
    }

    .support-logo-list{
        display:flex;
        flex-wrap:wrap;
        justify-content: space-between;
        align-items: center;
    }

    .support-logo-list li{
        width:18%;
    }
    .carea-up-img{
        margin:0 0 1em;
    }
    .underline-blue{
        text-align: center;
        padding:0 0 1em;
        margin:0 0 1em;
        background-image: url(../../assets/img/blue-underline.png);
        background-repeat: no-repeat;
        background-size: 100%;
        background-position: bottom;
    }
    .top-kazari-line::before{
        display:block;
        content:"";
        height: 10px;
        background-image: url(../../assets/img/blue-top-kazari-line.png);
        background-repeat: repeat-x;
        background-size: 100%;
        background-position: top;
    }

    .face-img-list{
        display:flex;
        flex-wrap:wrap;
        justify-content: space-between;
        margin:0 0 3em;
        padding-bottom:2em;
    }
    .face-img-list li{
        width:30%;
    }

    .btn-space{
        margin:0 0 1.5em;
    }
    .btn-yellow {
        text-align: center;
    }

    .btn-yellow a {
        display: inline-block;
        background-color: #ffeb00;
        color: #000;
        font-weight: bold;
        font-size: var(--d-font-size);
        line-height: 1;
        padding: 2.25em 2em;
        border-radius: 9999px; /* ← 完全なカプセル形 */
        text-decoration: none;
        position: relative;
        transition: opacity 0.2s ease;
    }

    /* 右矢印 */
    .btn-yellow a::after {
        content: "→";
        margin-left: 12px;
        font-weight: bold;
    }

    /* hover */
    .btn-yellow a:hover {
        opacity: 0.85;
    }


    .underline{
        text-decoration: underline; /* 下線 */
        text-decoration-thickness: 0.5em; /* 線の太さ */
        text-decoration-color: rgba(255, 228, 0, 0.4); /* 線の色 */
        text-underline-offset: -0.2em; /* 線の位置。テキストに重なるようにやや上部にする */
        text-decoration-skip-ink: none; /* 下線と文字列が重なる部分でも下線が省略されない（線が途切れない） */

    }

    .text-align-left p{
        text-align:left;
    }
    .in-contents{
        width: 90%;
        margin:20px auto;
    }

    .track-record{
        background: #F3F4F3;
        position: relative;
    }

    .position-en{
        position: absolute;
        color: #0585CB;
        top: -20px;
        left: 30px;
        font-size: var(--d-font-size-2);
        font-family: "Libre Franklin", sans-serif;
        font-weight: 700;
    }

    .track-record .in-contents{
        padding: 40px 0 0;
    }
    .track-record .in-contents .title{
        font-size: var(--d-font-size-1);
        font-weight: 600;
        margin:0 0 1em 0;
    }
    .track-record .in-contents .text{
        margin:0 0 1.5em 0;
    }

    .other-human-1 {
        width:100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        margin-bottom:1.5em;
    }
    .other-human-2{
        width:100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }
    .schedule-img1{
        margin-bottom:1.5em;
    }

    .blue-text{
        font-size: var(--d-font-size-1);
        font-weight: 600;
        line-height: 1.5;
        color: #0585CB;
    }
    #support .blue-text.text-center{
        margin:0 0 1em;
    }

    .reason-list{
        display: flex;
        flex-wrap: wrap;
        width:100%;
        padding:0;
        margin:0 0 2em;
        justify-content: space-between;
    }
    .reason-list li{
        width:32%;
        padding:0;
        margin:0;
    }
    .reason-list li img{
        width:100%;
    }
    .reason-titile-wrap{
        text-align:center;
        width: 100%;
    }
    .reason-titile{
        width: 80%;
        margin:0 auto 2em;
    }
    .radius-box{
        border:solid 1px #0585CB;
        border-radius:20px;
        margin:0 0 1em;
    }
    .radius-box .body{
        padding: 0 1em 1em;
    }
    .radius-box .title{
        background: #0585CB;
        color: white;
        border-top-left-radius:20px;
        border-top-right-radius:20px;
        font-size:var(--d-font-size-1);
        margin:0 0 1em;
        padding: 1em .5em;
    }
    .text-box p{
        margin: 0 0 1em;
    }

    .flow-wrap{
        display:flex;
        flex-wrap: wrap;
        width: 90%;
        margin: 0 auto;
    }
    .flow-wrap .icon::before{
        content: "";
        position: absolute;
        left: 1em;
        width: 70px;
        height: 70px;
    }

    .flow-wrap .no-1::before{
        background-image: url(../../assets/img/flow-icon1.png);
        background-repeat: no-repeat;
        background-size: 100%;
    }
    .flow-wrap .no-2::before{
        background-image: url(../../assets/img/flow-icon2.png);
        background-repeat: no-repeat;
        background-size: 100%;
    }
    .flow-wrap .no-3::before{
        background-image: url(../../assets/img/flow-icon3.png);
        background-repeat: no-repeat;
        background-size: 100%;
    }
    .flow-wrap .no-4::before{
        background-image: url(../../assets/img/flow-icon4.png);
        background-repeat: no-repeat;
        background-size: 100%;
    }


    .flow-wrap .title{
        margin: 0 0 1em;
    }
    .flow-wrap .box{
        display: flex;
        flex-wrap:wrap;

        padding:3em 0;
        background-image: url(../../assets/img/flow-underline.png);
        background-repeat: no-repeat;
        background-size: 100%;
        background-position: bottom;
    }
    .flow-wrap .box:first-of-type{
        padding:0 0 3em;
    }
    .flow-wrap .box:last-of-type{
        background-image:none;
    }
    .flow-wrap .box .right,
    .flow-wrap .box .left{
        width:100%;
    }
    .flow-wrap .box img{
        height:200px;
        object-fit:cover;
        border-radius:10px;
    }


    .flow-wrap .box .title{
        font-size: var(--d-font-size-2);
        font-weight: 600;
        color: #0585CB;
        padding: 0 0 0 4em;
        display:flex;
        align-items: center;
    }
    .flow-wrap .text{
        margin:0 0 1em;
    }

    .compare-table {
        width: 100%;
        border-collapse: collapse;
        table-layout: fixed;
        font-size: 16px;
        margin:0 0 1.5em;
    }

    /* 共通 */
    .compare-table th,
    .compare-table td {
        border: 1px solid #ccc;
        padding: 16px 12px;
        text-align: center;
        vertical-align: middle;
    }

    /* 左の項目名 */
    .compare-table tbody th {
        background: #f7f7f7;
        font-weight: normal;
        text-align: left;
        width: 18%;
    }

    /* ヘッダー */
    .compare-table thead th {
        background: #f0f0f0;
        font-weight: bold;
    }

    /* 中央列（遠山先生の学校）強調 */
    .compare-table thead th:nth-child(2),
    .compare-table tbody td:nth-child(2) {
        border-left: 3px solid #2aa3d6;
        border-right: 3px solid #2aa3d6;
    }

    .compare-table thead th:nth-child(2) {
        background: #2aa3d6;
        color: #fff;
    }

    .compare-table tbody tr:last-child td:nth-child(2) {
        border-bottom: 3px solid #2aa3d6;
    }

    /* 金額・強調テキスト */
    .compare-table td strong {
        color: #e60000;
        font-size: 20px;
    }

    /* 注釈（赤文字小さめ） */
    .compare-table .note {
        display: block;
        margin-top: 6px;
        color: #e60000;
        font-size: 14px;
        font-weight: bold;
    }

    /* 記号表現 */
    .compare-table td {
        line-height: 1.6;
    }

    .compare-table td:has(:not(strong)) {
        word-break: break-word;
    }

    /* ○ × △ を少し大きく */
    .compare-table td:contains("◯"),
    .compare-table td:contains("×"),
    .compare-table td:contains("△") {
        font-size: 20px;
        font-weight: bold;
    }
    /* 横スクロールの土台 */
    .table-scroll {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch; /* iPhoneでヌルっと */
    }

    /* スクロール時に変に縮まないよう、最小幅を指定 */
    .compare-table {
        min-width: 720px; /* ここが肝。表の横幅を固定する */
    }

    /* ついでに：スクロールできることを示す余白 */
    .table-scroll {
        padding-bottom: 8px;
    }



    /* =========================
       料金テーブル（完成版）
    ========================= */

    /* 外枠 */
    .fee-table2{
        border: 3px solid #2aa3d6;
        background: #fff;
        margin:0 0 2em;
    }

    /* 行 */
    .fee2-row{
        display: flex;
        border-top: 2px solid #2aa3d6;
    }
    .fee2-row:first-child{
        border-top: 0;
    }

    /* 左：青ラベル */
    .fee2-head{
        width: 150px;
        flex: 0 0 150px;
        background: #2aa3d6;
        color: #fff;
        font-weight: 700;
        font-size: var(--d-font-size);
        display: flex;
        align-items: center;
        justify-content: center;
        letter-spacing: .08em;
        border-right: 2px solid #2aa3d6;
        padding: 1.2em 0.5em;
        text-align: center;
    }

    /* 右：本文 */
    .fee2-body{
        flex: 1 1 auto;
        padding: 1.2em 1em;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        min-width: 0;
        font-size: var(--d-font-size);
        line-height: 1.7;
    }

    /* ===== 入会金 ===== */
    .fee2-nyukai{
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.5em;
    }

    .fee2-normal{
        color: #2aa3d6;
        font-weight: 700;
        font-size: var(--d-font-size-2);
        position: relative;
        line-height: 1.3;
    }

    /* 打ち消し線 */
    .fee2-normal::after{
        content: "";
        position: absolute;
        left: -0.2em;
        right: -0.2em;
        top: 55%;
        height: 0.2em;
        background: #e60000;
    }

    /* 今なら */
    .fee2-now{
        color: #e60000;
        font-weight: 700;
        font-size: var(--d-font-size-2);
        line-height: 1.2;
    }

    .fee2-zero{
        font-size: var(--d-font-size-3);
        font-weight: 700;
        margin: 0 0.1em;
    }

    /* ===== 授業料 ===== */
    .fee2-jugyo{
        color: #e60000;
        font-weight: 700;
        line-height: 1.2;
    }

    .fee2-price{
        font-size: var(--d-font-size-3);
    }

    .fee2-unit{
        font-size: var(--d-font-size-2);
        margin-left: 0.2em;
    }

    /* ===== 支払い方法 ===== */
    .fee2-paylist{
        margin: 0;
        padding-left: 1.2em;
        text-align: left;
        color: #2aa3d6;
        font-weight: 700;
        font-size: var(--d-font-size);
        line-height: 1.8;
    }



}
.wpcf7-list-item{
    display: block;
}
.wpcf7-list-item label{
    display: flex;
    width: 100%;
}
.wpcf7-list-item label input{
    width: 20%;
}
.wpcf7-list-item-label{}
