/* 基本設定 */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    line-height: 1.6;
    color: #333;
    background-color: #fff;
}

.container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 20px;
}

:root {
	--icon-width: 3px;
	--icon-color: #cc0033;
    --bg-pink: #fde7e7;
    --bg-blue: #e1f5fe;
    --arrow-color: #cc0033;
    --border-color: #333;
}

img {
    max-width: 1000%;
}

a{
    text-decoration: none;
    color: #4d8acf;
}

ul{
    list-style: none;
}

.bold{
    font-weight: bold;
}

.line{
    text-decoration:underline;
}

/* ヘッダー */
.header {
    background: #fff;
    padding: 10px 0;
    border-bottom: 1px solid #eee;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 80px;
    z-index: 9999;
}

.header-inner-pc{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.header-inner-pc a{
    position: relative;
}
.kokyo_box{
    text-align: right;
}
.btn_kokyo{
    display: inline-block;
    background-color: #022693;
    padding: 2px 10px;
    color: #fff;
    font-size: 10px;
}
/* .header-inner-pc a::before {
    content: "";
    position: absolute;
    top: calc(50% - 2.5px);
    left: 0;
    transform: translateY(-50%);
    display: inline-block;
    width: 10px;
    height: 10px;
    background: url(/img/common/icon_arrow-down.png) no-repeat center / contain;
} */
.header-inner-pc a.icon-arrow-bottom::before {
    content: "";
    position: absolute;
    top: calc(50% - 5.5px);
    left: -10px;
	display: inline-block;
	box-sizing: border-box;
	width: 8px;
    height: 8px;
	border-style: solid;
	border-width: var(--icon-width) var(--icon-width) 0 0;
	border-color: var(--icon-color);
	transform: rotate(135deg);
}

.header-inner-sp{
   display: none;
}

.logo_box img{
    width: 200px;
}
@media (max-width: 840px) {
    .logo_box img{
    width: 160px;
    }
}

.header-spacer-pc {
    height: 80px; /* ヘッダーの高さと同じに設定 */
}

.header-spacer-sp {
    display: none;
}

.nav ul {
    display: flex;
    list-style: none;
}

.nav ul li {
    margin-left: 20px;
}

.nav ul li a {
    text-decoration: none;
    color: #333;
    font-size: 15px;
    font-weight: bold;
}
.big-tx{
    font-weight: bold;
    font-size: 19px;
}

/* スマホ対応：ナビを非表示にするか調整 */
@media (max-width: 768px) {
    .header{
        height: 70px;
        padding: 3px 0;
    }
    /* .header-inner-pc {
        flex-wrap: wrap;
    }
    .header-spacer {
        height: 100px;
    } */
    /* .logo_box{
        margin: 0 auto;
    } */
    .logo_box img{
    width: 150px;
    }
    .nav{
        margin: 0 auto;
    }

    .header-inner-pc{
        display: none;
    }
    .header-spacer-pc{
        display: none;
    }
    .header-inner-sp{
        display: block;
        width: 100%;
    }
    .header-spacer-sp{
        display: block;
        height: 70px;
    }
    .heder_box {
        height: 70px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: relative;
        }
        .logo {
        font-weight: 700;
        padding-left: 14px;
        }
        .hamburger-menu {
        width: 50px;
        height: 70px;
        position: relative;
        border: none;
        background: transparent;
        appearance: none;
        padding: 0;
        cursor: pointer;
        }
        .hamburger-menu__bar {
        display: inline-block;
        width: 44%;
        height: 2px;
        background: #242424;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        transition: .5s;
        }
        .hamburger-menu__bar:first-child {
        top: 16px;
        }
        .hamburger-menu__bar:nth-child(2) {
        top: 24px;
        }
        .hamburger-menu__bar:last-child {
        top: 32px;
        }
        .hamburger-menu--open .hamburger-menu__bar {
        top: 50%;
        }
        .hamburger-menu--open .hamburger-menu__bar:first-child {
        transform: translateX(-50%) translateY(-50%) rotate(45deg);
        }
        .hamburger-menu--open .hamburger-menu__bar:last-child {
        transform: translateX(-50%) translateY(-50%) rotate(-45deg);
        }
        .hamburger-menu--open .hamburger-menu__bar:nth-child(2) {
        display: none;
        }
        .navigation {
        display: none;
        background: #cc0033;
        position: absolute;
        top: 70px;
        width: 100%;
        z-index: 9999;
        }
        .navigation__list {
        text-align: center;
        list-style: none;
        padding: 0;
        margin: 0;
        }
        .navigation__list-item {
        border-bottom: solid 1px #cbd3db;
        }
        .navigation__list-item:first-child {
        border-top: solid 1px #cbd3db;
        }
        .navigation__link {
        color: #fff;
        font-weight: 700;
        text-decoration: none;
        display: block;
        padding: 16px 0;
        transition: .5s;
        }
        .header-inner-sp .navigation__link.app {
        background: #ef8011;
        border-radius: 5px;
        width: 90%;
        margin: 10px auto;
        }
        .header-inner-sp .navigation__link.login {
        background: #1987f5;
        border-radius: 5px;
        width: 90%;
        margin: 10px auto;
        }
        .header-inner-sp .navigation__link.address {
        background: #04d56c;
        border-radius: 5px;
        width: 90%;
        margin: 10px auto;
        }
        @media (hover: hover) and (pointer: fine) {
        .navigation__link:hover {
            background: #df0138;
        }
        }
}

/* MV / ヒーローエリア */
.hero-content-sp{
        display: none;
    }
.hero {
    background-color: #ffeded;
    /* background-image: linear-gradient(135deg, #e6f7ff 0%, #ffffff 100%); */
    padding: 20px 0 10px 0;
    text-align: left;
}

.hero .hero-name{
    font-size: 26px;
    font-weight: bold;
    padding: 10px 15px;
    background: #2f2f2f;
    color: #fff;
    display: inline-block;
    margin-bottom: 5px;
}

.badge {
    color: #cc0033;
    font-weight: bold;
    font-size: 19px;
    display: block;
}

.hero h1 {
    font-size: 48px;
    color: #333;
    margin: 5px 0;
    line-height: 1.2;
}

.hero h1 .small-title{
    font-size: 25px;
    display: block;
}

.hero .small-tx{
    display: block;
}

.hero-flex{
    display: flex;
    justify-content: space-between;
}

.hero-content .hero-img img{
    width: 100%;
    max-width: 520px;
}

@media (max-width: 768px) {
    .hero-content{
        display: none;
    }
    .hero-content-sp{
        display: block;
    }
    .hero-content-sp .hero-flex{
        flex-wrap: wrap;
    }
    .hero-content-sp .hero-img{
        max-width: 200px;
        margin: 0 auto;
    }
    .hero-content-sp .hero-img img{
        width: 100%;
        max-width: 200px;
    }
    .hero-content-sp .hero-flex{
        justify-content: center;
    }
    .hero{
        padding: 10px 0 10px 0;
    }
    .hero-content-sp .cta-area{
        display: block;
        max-width: 250px;
        margin: 10px auto;
    }
    .hero-content-sp .cta-area .btn{
        padding: 10px 26px;
        font-size: 18px;
    }
    .hero-content-sp .hero-name{
        font-size: 20px;
        margin-bottom: 5px;
    }
    .hero-content-sp .badge{
        font-size: 13px;
    }
    .hero-content-sp h1{
        font-size: 23px;
        margin: 10px 0;
    }
    .hero-content-sp .sub_tx{
        font-size: 14px;
    }
    .hero-content-sp .small-tx{
        font-size: 11px;
    }
}

/* ボタン共通 */
.cta-area {
    display: flex;
    gap: 20px;
    justify-content: center;
    margin: 30px 0;
}

.cta-area2 {
    display: flex;
    flex-direction:column;
    gap: 20px;
    justify-content: center;
    align-items: center;
    margin: 30px 0;
}

.hero .cta-area{
    margin-top: 130px;
}

.btn {
    display: inline-block;
    padding: 15px 40px;
    border-radius: 50px;
    text-decoration: none;
    color: #fff;
    font-weight: bold;
    font-size: 20px;
    transition: opacity 0.3s;
}

.btn-red { background-color: #cc0033; }
.btn-green { background-color: #00C800; }
.btn-blue { background-color: #022693; }
.btn:hover { opacity: 0.8; }

@media (max-width: 768px) {
    .hero .cta-area{
    margin-top: 10px;
}
}

/* セクション共通タイトル */
.section-title {
    text-align: center;
    font-size: 28px;
    padding: 30px 0 30px;
    position: relative;
}

.scr_top{
    scroll-margin-top: 70px;
}

/* メリット */
.merit-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    text-align: center;
}

.icon-circle {
    width: 80px;
    height: 80px;
    border: 2px solid #333;
    border-radius: 20%;
    margin: 0 auto 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
}

/* 利用者の声 */
.voice-section { background-color: #ffe9e9; padding: 0 0 20px; }
.voice-list { max-width: 800px; margin: 0 auto; }
.voice-box{
    display: flex;
}
.voice-icon img{
    max-width: 90px;
    margin-right: 10px;
    height: auto;
    border-radius: 50%;
    background: #fffedd;
}
.voice-bubble {
    width: 100%;
    background: #fff;
    padding: 25px 30px;
    border-radius: 10px;
    margin-bottom: 25px;
    margin-left: 10px;
    position: relative;
    min-height: 101px;
}
.voice-label{
    position: absolute;
    top: -15px;
    left: 4%;
    transform: translateX(-50%);
    background-color: #008020;
    color: #fff;
    font-weight: bold;
    padding: 3px 10px;
    border-radius: 8px;
    font-size: 1.2rem;
    white-space: nowrap;
    min-width: 77px;
    text-align: center;
} 

/* ご利用方法 */
.usage-section-v2{
    background: #e7e3e3;
    padding: 0 0 20px;
}

/* ご利用条件フロー */
/* .flow-section{
    padding: 30px 0;
} */

 .faq-section{
    background-color: #ffe9e9;
    padding: 0 0 20px;
 }
 .faq-item {
    /* border: 1px solid #ccc; */
    margin-bottom: 10px;
    overflow: hidden; /* 中身のはみ出し防止 */
}

 .faq-q {
    background: #fff;
    padding: 15px;
    font-weight: bold;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background-color 0.3s;
}

.faq-q::after { content: '▼'; color: #cc0033; }

.faq-item.is-open .faq-q::after {
    transform: rotate(180deg); /* 開いている時は上向き */
}

 .faq-a {
    display: none; /* JSでクラスが付与された時だけ表示 */
    padding: 20px;
    background: #f8f5f5;
    border-top: 1px solid #eee;
    line-height: 1.8;
}

.faq-item.is-open .faq-a {
    display: block;
}

/* テーブル */
.table-info {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
}

.table-info th, .table-info td {
    border: 1px solid #ddd;
    padding: 15px;
}

.table-info th {
    background: #f4f4f4;
    width: 30%;
}

.text-red { color: #cc0033; font-weight: bold; }

/* メリットセクション全体 */
.merit-section-v1 {
    background-color: #fbcaca; 
    /* padding: 80px 0; */
    padding-bottom: 5px;
}

.merit-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    /* margin-top: 50px; */
}

/* カード単体のスタイル */
.merit-card {
    background: #ffefef;
    border-radius: 16px; /* 角を少し丸めて親しみやすく */
    padding: 40px 30px;
    text-align: center;
    position: relative;
    border: 1px solid #cc0033;
    position: relative;
    
    /* 常に表示される「薄い影」の設定 */
    box-shadow: 0 2px 10px rgba(91, 77, 77, 0.08);
}
.merit-label {
            position: absolute;
            top: -15px;
            left: 50%;
            transform: translateX(-50%);
            background-color: #008020;
            color: #fff;
            font-weight: bold;
            padding: 5px 25px;
            border-radius: 8px;
            font-size: 1.2rem;
            white-space: nowrap;
}

/* アイコンを番号の上に配置するパーツ */
.card-icon-wrapper {
    width: 64px;
    height: 64px;
    /* background: #f0f7ff;
    border-radius: 50%; */
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 10px auto; /* 番号との間隔 */
}

.card-icon img{
    width: 50px;
}

.main-icon {
    font-size: 30px;
}

.main-icon img{
    width: 64px;
}

/* 番号（01, 02...）のデザイン */
.card-number {
    display: block;
    font-size: 14px;
    font-weight: bold;
    color: #0077b6; /* 青系のアクセント */
    letter-spacing: 0.1em;
    margin-bottom: 12px;
}

.card-content h3 {
    font-size: 20px;
    margin-bottom: 15px;
    color: #333;
    line-height: 1.4;
    font-weight: bold;
}

.card-content p {
    font-size: 15px;
    /* color: #666; */
    line-height: 1.6;
    text-align: left; /* 説明文は左寄せにすると読みやすくなります */
}

.card-content .gks_banner{
    margin-top: 1rem;
}

.usage-card {
    background: #fff;
    border-radius: 12px;
    padding: 25px;
    /* box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08); /*メリット共通の影  */
    /*border-left: 8px solid #cc0033;  左側にドコモレッドのアクセント   */
    display: flex;
    flex-direction: column;
    max-width: 800px;
    margin: 0 auto;
}
.card-label {
    color: #cc0033;
    font-weight: bold;
    font-size: 14px;
    margin-bottom: 10px;
}
.usage-arrow {
    text-align: center;
    color: #cc0033;
    font-size: 24px;
    margin: 15px 0;
}
/* ご利用方法 */
/* --- 共通・スマホ表示 (SP) --- */
.usage-flex-wrapper {
    display: flex;
    flex-direction: column; /* 縦並び */
    align-items: center;
    margin-bottom: 30px;
}

.usage-cards {
    width: 100%;
    max-width: 400px; /* スマホで広がりすぎないように調整 */
    text-align: center;
}

.usage-card {
    /* border: 1px solid #ccc; */
    padding: 20px;
    border-radius: 8px;
    background: #fff;
    text-align: left;
    border-bottom: 8px solid #cc0033;
}

.usage-arrow {
    font-size: 24px;
    color: #cc0033;
    margin: 10px 0;
}

/* --- PC表示 (768px以上) --- */
@media (min-width: 768px) {
    .usage-flex-wrapper {
        flex-direction: row; /* 横並び */
        justify-content: space-between;
        align-items: flex-start;
    }

    .usage-cards {
        display: flex;
        align-items: center;
        flex: 1; /* 各カードを均等幅に */
    }

    /* 最後のカード以外に矢印と余白のバランスを調整 */
    .usage-cards:not(:last-child) {
        margin-right: 10px;
    }

    .usage-arrow {
        margin: 0 10px;
        transform: rotate(-90deg); /* 矢印を右向きにする */
    }
    
    .usage-card {
        flex: 1;
        min-height: 402px; /* 高さを揃える（任意） */
    }
}

/* 学費スマート払いとは */
/* .gaiyo-section img{
    display: block;
    width: 100%;
    max-width: 1000px;
} */
        .flow-wrapper {
            width: 100%;
            max-width: 1000px;
            margin: 40px auto;
            font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 10px;
            box-sizing: border-box;
            gap: 5px; /* 要素間の最小隙間 */
            font-weight: bold;
        }

        /* 各ステップの共通枠 */
        .step-box {
            position: relative;
            flex: 1;
            border: 1.5px solid var(--border-color);
            aspect-ratio: 1 / 1.1;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: flex-end;
            padding-bottom: 10px;
            min-width: 0; /* flexアイテムの縮小を許可 */
        }

        .step-label {
            position: absolute;
            top: -15px;
            left: 50%;
            transform: translateX(-50%);
            background: #fff;
            border: 1.5px solid var(--border-color);
            padding: 2px 15px;
            font-weight: bold;
            white-space: nowrap;
            font-size: 14px;
            z-index: 2;
            width: 100%;
            max-width: 170px;
            text-align: center;
        }

        /* 納付者さま（ピンク） */
        .step-payer { background-color: var(--bg-pink); }
        /* サービス・学校（白） */
        .step-service, .step-school { background-color: #fff; }

        /* アイコンの簡易再現 */
        .icon {
            width: 90%;
            height: auto;
            margin-bottom: 10px;
        }

        /* 矢印エリア */
        .arrow-container {
            flex: 0.8;
            display: flex;
            flex-direction: column;
            gap: 3px;
            align-items: center;
            min-width: 0;
        }

        .arrow-item {
            position: relative;
            width: 100%;
            background: var(--arrow-color);
            color: #333;
            font-size: 10px;
            padding: 8px 4px;
            text-align: center;
            line-height: 1.2;
            clip-path: polygon(0% 20%, 85% 20%, 85% 0%, 100% 50%, 85% 100%, 85% 80%, 0% 80%);
        }

        .arrow-item.reverse {
            clip-path: polygon(15% 20%, 100% 20%, 100% 80%, 15% 80%, 15% 100%, 0% 50%, 15% 0%);
        }

        .service-logo {
            text-align: center;
            font-size: 10px;
            font-weight: bold;
        }

        /* レスポンシブ設定（SP表示） */
        @media screen and (max-width: 768px) {
            .step-box {
                padding-bottom: 0;
            }
            .step-label {
                font-size: 10px;
                padding: 1px 8px;
                top: -40px;
            }
            .arrow-item {
                font-size: 8px;
                padding: 4px 2px;
            }
            .arrow-container p{
                font-size: 10px;
            }
        }

/* ご利用条件図 */
        :root {
            --dark-gray: #4a4a4a;
            --accent-red: #d10031;
            --base-font-size: clamp(12px, 1.4vw, 15px);
            --title-font-size: clamp(12px, 1.8vw, 20px);
        }

        .flow-container {
            max-width: 1000px;
            margin: 0 auto;
            width: 100%;
            padding-bottom: 30px;
        }

        .step-row {
            display: flex;
            align-items: center;
            width: 100%;
            flex-wrap: nowrap;
        }

        .question-box {
            background-color: var(--dark-gray);
            color: white;
            padding: 1.2% 2%;
            border-radius: 8px;
            width: 30%;
            min-width: 120px;
            text-align: center;
            flex-shrink: 0;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
            margin: 12px 0 8px 0;
        }

        .no-message ul{
            list-style: disc;
            margin-left: 20px;
        }

        .question-box .label {
            font-size: calc(var(--base-font-size) * 0.9);
            display: block;
            margin-bottom: 4px;
        }

        .question-box .title {
            font-size: var(--title-font-size);
            font-weight: bold;
            white-space: nowrap;
        }

        .no-path {
            display: flex;
            align-items: center;
            flex: 1;
            margin-left: 2%;
            min-width: 0;
        }

        .arrow-horizontal {
            display: flex;
            align-items: center;
            position: relative;
            width: 15%;
            min-width: 40px;
            margin-right: 10px;
            flex-shrink: 0;
        }

        .arrow-horizontal::before {
            content: "いいえ";
            position: absolute;
            top: -22px;
            left: 50%;
            transform: translateX(-50%);
            font-size: var(--base-font-size);
            font-weight: bold;
            white-space: nowrap;
        }

        .line-dashed {
            height: 2px;
            border-top: 2px dashed #000;
            width: 100%;
            position: relative;
        }

        .line-dashed::after {
            content: "";
            position: absolute;
            right: -2px;
            top: -5px;
            border-top: 5px solid transparent;
            border-bottom: 5px solid transparent;
            border-left: 8px solid #000;
        }

        .no-message {
            font-size: var(--base-font-size);
            line-height: 1.4;
            flex: 1;
        }

        .link-text {
            color: #902e8e;
            text-decoration: underline;
            font-weight: bold;
        }

        /* 縦矢印マークの変更箇所 */
        .yes-path {
            width: 30%;
            display: flex;
            flex-direction: column;
            align-items: center;
            padding: 2px 0; /* 上下の隙間を調整 */
            position: relative;
        }

        .arrow-vertical {
            width: 6px; /* 矢印の芯の太さ */
            height: clamp(25px, 5vw, 45px); /* 画面幅に応じて長さが可変 */
            background-color: var(--dark-gray);
            position: relative;
        }

        /* 矢印の先端（三角） */
        .arrow-vertical::after {
            content: "";
            position: absolute;
            bottom: -8px; /* 芯の末端に合わせる */
            left: 50%;
            transform: translateX(-50%);
            border-left: 10px solid transparent;
            border-right: 10px solid transparent;
            border-top: 12px solid var(--dark-gray); /* 三角形の色 */
        }

        /* 「はい」のテキスト */
        .yes-text {
            position: absolute;
            left: calc(50% + 20px);
            top: 50%;
            transform: translateY(-50%);
            font-size: var(--base-font-size);
            font-weight: bold;
            color: #333;
        }

        .final-section {
            display: flex;
            justify-content: flex-start;
            width: 100%;
            margin-top: 10px;
        }

        .final-arrow-container {
            width: 30%;
            display: flex;
            flex-direction: column;
            align-items: center;
            position: relative;
        }

        .final-arrow-text {
            color: var(--accent-red);
            font-weight: bold;
            font-size: var(--base-font-size);
            position: absolute;
            white-space: nowrap;
            top: 10px;
        }


        /* 最後の大きな矢印もよりシャープなマークに変更 */
        .big-red-arrow {
            width: 12px;
            height: clamp(40px, 8vw, 70px);
            background-color: var(--accent-red);
            margin: 35px 0 15px 0;
            position: relative;
        }

        .big-red-arrow::after {
            content: "";
            position: absolute;
            bottom: -15px;
            left: 50%;
            transform: translateX(-50%);
            border-left: 20px solid transparent;
            border-right: 20px solid transparent;
            border-top: 25px solid var(--accent-red);
        }

        .cta-button {
            display: inline-block;
            background-color: var(--accent-red);
            color: white;
            text-decoration: none;
            padding: 15px 10px;
            border-radius: 12px;
            text-align: center;
            font-size: clamp(12px, 2vw, 22px);
            font-weight: bold;
            width: 47%;
            box-sizing: border-box;
            box-shadow: 0 4px 0 #900;
            margin: 12px 0 8px 0;
        }

        .cta-waku{
            display: block;
            background-color: #fff;
            color: var(--accent-red);
            font-size: 70%;
            width: 100%;
            max-width: 150px;
            margin: 0 auto 5px auto;
            border-radius: 30px;
        }

        @media (max-width: 480px) {
            .question-box { width: 35%; }
            .yes-path { width: 35%; }
            .final-arrow-container { width: 35%; }
            .arrow-horizontal { width: 10%; min-width: 20px; }
            .yes-text { left: calc(50% + 15px); }
        }

/* ご利用上の注意 */
.caution_box .graybox p{
    font-size: 110%;
}

/* バナーエリア */
.ad-section{
    margin: 30px 0 25px 0;
}
.ad_box{
    text-align: center;
}
.ad_box img{
    width: 100%;
    max-width: 610px;
    margin: 0 auto;
    display: inline-block;
}

/* フッター */
.footer {
    background: #333;
    color: #fff;
    padding: 40px 0;
    text-align: center;
    margin-top: 60px;
}

.footer-links {
    list-style: none;
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 20px;
    font-size: 13px;
}

.footer-links a{
    text-decoration: none;
    color: #fff;
}

.copyright { font-size: 12px; }

/* レスポンシブ */
@media (max-width: 768px) {
    /* .hero h1 { font-size: 28px; } */
    .merit-grid { grid-template-columns: 1fr; }
    .usage-steps { flex-direction: column; gap: 20px; }
    .arrow { transform: rotate(90deg); }
    .cta-area { flex-direction: column; align-items: center; }
}

/* 0121追加　ご利用方法 */
