
/* ==========================================================
   RESET
========================================================== */
*,
*::before,
*::after{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:
        "Yu Gothic",
        "Hiragino Kaku Gothic ProN",
        sans-serif;
    color:#333;
    background:#fff;
    line-height:1.8;
}

img{
    width:100%;
    display:block;
}

a{
    color:inherit;
    text-decoration:none;
}

ul{
    list-style:none;
}

table{
    width:100%;
    border-collapse:collapse;
}

/* ==========================================================
   COMMON
========================================================== */

.container{
    width:min(1180px,92%);
    margin:auto;
}

.section-title{
    text-align:center;
    font-size:32px;
    font-weight:700;
    color:#184d39;
    margin-bottom:45px;
    position:relative;
}

.section-title::after{
    content:"";
    display:block;
    width:90px;
    height:4px;
    background:#7cc242;
    margin:18px auto 0;
    border-radius:20px;
}

.primary-button{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    padding:16px 44px;
    border-radius:999px;
    background:#4db046;
    color:#fff;
    font-weight:700;
    transition:.3s;
    box-shadow:0 8px 20px rgba(0,0,0,.12);
}

.primary-button:hover{
    background:#2f9134;
    transform:translateY(-3px);
}

/* ==========================================================
   BREADCRUMB
========================================================== */

.breadcrumb{
    margin-bottom:35px;
}

.breadcrumb ul{
    display:flex;
    gap:12px;
    font-size:13px;
    color:#777;
}

.breadcrumb li+li::before{
    content:"›";
    margin-right:10px;
}
/* ==================================================
 HERO
================================================== */


.page-hero{

    padding:45px 20px 60px;

    background:#fff;

}



.hero-content{

    display:grid;

    grid-template-columns:1fr 420px;

    align-items:center;

    gap:50px;

}



.hero-text h1{

    margin:0 0 25px;

    font-size:34px;

    line-height:1.55;

    color:#245b43;

    letter-spacing:.03em;

}



.hero-text p{

    margin:0 0 12px;

    font-size:16px;

    line-height:2;

    color:#555;

}



.hero-image{

    text-align:center;

}



.hero-image img{

    width:100%;

    max-width:420px;

}





/* ==============================
 ナビゲーション
============================== */


.hero-nav{

    display:grid;

    grid-template-columns:repeat(5,1fr);

    gap:14px;

    margin-top:50px;

}



.hero-btn{

    position:relative;

    display:flex;

    align-items:center;

    justify-content:center;

    min-height:58px;

    padding:12px 10px;

    border-radius:10px;

    background:#63b34f;

    color:#fff !important;

    font-size:15px;

    font-weight:bold;

    text-align:center;

    text-decoration:none;

    transition:.25s;

}



.hero-btn:hover{

    background:#4d963d;

    transform:translateY(-2px);

}



.hero-btn::after{

    margin-left:8px;

    font-size:14px;

}







/* ==============================
 Tablet
============================== */


@media(max-width:1024px){


.hero-content{

    grid-template-columns:1fr;

    text-align:center;

}



.hero-text{

    max-width:720px;

    margin:auto;

}


.hero-image img{

    max-width:360px;

}



.hero-nav{

    grid-template-columns:repeat(3,1fr);

}


}






/* ==============================
 SP
============================== */


@media(max-width:767px){



.page-hero{

    padding:30px 16px 45px;

}



.hero-content{

    gap:30px;

}



.hero-text h1{

    font-size:23px;

    line-height:1.6;

    text-align:left;

}



.hero-text p{

    font-size:14px;

    line-height:1.9;

    text-align:left;

}



.hero-image img{

    max-width:280px;

}




.hero-nav{

    grid-template-columns:repeat(2,1fr);

    gap:10px;

    margin-top:35px;

}



.hero-btn{

    min-height:55px;

    padding:10px 8px;

    border-radius:8px;

    font-size:13px;

}



.hero-btn::after{

    display:none;

}


}

/* ==========================================================
   CARD CHECK
========================================================== */
/* ==================================================
 CARD CHECK
================================================== */


.card-check{

    background:#f8faf7;

    padding:50px 0;

}



.card-check-content{

    display:flex;

    align-items:center;

    gap:50px;

    margin-bottom:45px;

}



.card-description{

    flex:1;

}



.check-title{

    font-size:20px;

    margin-bottom:20px;

    padding-left:12px;

    border-left:5px solid #63b34f;

}



.check-list{

    list-style:none;

    padding:0;

    margin:0;

}



.check-list li{

    position:relative;

    padding-left:28px;

    margin-bottom:15px;

    line-height:1.9;

}



.check-list li::before{

    content:"✓";

    position:absolute;

    left:0;

    color:#63b34f;

    font-weight:bold;

}



.check-alert{

    margin-top:20px;

    padding:16px;

    background:#fff;

    border-left:4px solid #63b34f;

    font-weight:bold;

}



.card-image{

    width:320px;

    text-align:center;

}



.card-image img{

    max-width:100%;

}





/* ==========================
 パターン表
========================== */


.pattern-area{

    margin-top:30px;

}



.check-subtitle{

    font-size:20px;

    margin-bottom:15px;

    padding-left:12px;

    border-left:5px solid #63b34f;

}



.expire-table{

    margin-top:25px;

    overflow-x:auto;

}



.expire-table table{

    width:100%;

    border-collapse:collapse;

    background:#fff;

}



.expire-table th{

    background:#eef5e6;

    padding:16px;

    border:1px solid #d5ddcf;

}



.expire-table td{

    padding:18px;

    border:1px solid #ddd;

    line-height:1.8;

    vertical-align:middle;

}



.expire-table td:first-child{

    text-align:center;

    width:120px;

}



.pattern-note{

    margin-top:20px;

    color:#555;

}





/* ==========================
 スマホ
========================== */


@media(max-width:767px){


.card-check{

    padding:35px 16px;

}



.card-check-content{

    display:flex;

    flex-direction:column;

    gap:25px;

}



    .card-image{

        width:100%;

        display:flex;

        justify-content:center;

        align-items:center;

        text-align:center;

        order:-1;

    }


    .card-image img{

        display:block;

        width:auto;

        max-width:240px;

        margin:0 auto;

    }




.check-title{

    font-size:18px;

}



.check-list li{

    font-size:15px;

}



.check-alert{

    font-size:14px;

}



.check-subtitle{

    font-size:18px;

}



.expire-table table{

    min-width:650px;

}



.expire-table th,
.expire-table td{

    padding:12px;

    font-size:14px;

}



.pattern-note{

    font-size:13px;

}


}

/* ==========================================================
   SCROLL ANIMATION
========================================================== */

.fade-up{
    opacity:0;
    transform:translateY(40px);
    transition:.8s;
}

.fade-up.show{
    opacity:1;
    transform:none;
}

/* ==========================================================
   TABLET
========================================================== */

@media(max-width:1023px){

.card-check-content{
    grid-template-columns:1fr;
}

.notice-list{
    grid-template-columns:1fr;
}

.section-title{
    font-size:28px;
}

.hero-text h1{
    font-size:34px;
}

}

/* ==========================================================
   SMART PHONE
========================================================== */

@media(max-width:767px){

section{
    padding:50px 0;
}

.container{
    width:94%;
}

.section-title{
    font-size:24px;
    margin-bottom:30px;
}

.notice-card{
    padding:22px;
}

.primary-button{
    width:100%;
}

.expire-table,
.schedule-table{
    overflow-x:auto;
}

table{
    min-width:700px;
}

.breadcrumb ul{
    flex-wrap:wrap;
}

}

.schedule-page{

    max-width:900px;

    margin:0 auto;

    padding:40px 20px;

    color:#555;

    font-size:14px;

    line-height:1.8;

}



.schedule-section{

    margin-bottom:45px;

}



.schedule-title{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    margin-bottom:25px;

}


.schedule-title span{

    width:60px;

    height:2px;

    background:#63b45b;

}


.schedule-title h2{

    margin:0;

    font-size:22px;

    color:#555;

}



.schedule-heading{

    margin:35px 0 15px;

    padding-left:12px;

    border-left:8px solid #63b45b;

    font-size:18px;

    color:#555;

}



.schedule-table{

    width:100%;

    border-collapse:collapse;

    margin:25px 0;

}



.schedule-table th{

    background:#f5f5f5;

    padding:14px;

    border:1px solid #ccc;

}



.schedule-table td{

    padding:16px;

    border:1px solid #ccc;

}



.schedule-table .red{

    color:red;

    font-weight:bold;

    text-align:center;

}



.schedule-list{

    padding-left:20px;

}



.blue-box{

    background:#eaf6fb;

    padding:25px;

    margin-top:20px;

}



.border-box{

    border:2px solid #315cc8;

    padding:20px;

    margin-bottom:25px;

}



.border-box ul,
.blue-box ul{

    margin:0;

    padding-left:20px;

}



.sub-heading{

    margin-top:25px;

    font-size:16px;

}



.point-box{

    border:1px solid #ddd;

    border-radius:15px;

    padding:20px;

    background:#fff;

}


.point-box h4{

    color:#315cc8;

}



/* スマホ */

@media(max-width:767px){


.schedule-page{

    padding:30px 15px;

    font-size:14px;

}



.schedule-title h2{

    font-size:18px;

}



.schedule-title span{

    width:35px;

}



.schedule-heading{

    font-size:17px;

}



.schedule-table{

    font-size:13px;

}



.schedule-table th,
.schedule-table td{

    padding:10px;

}



.blue-box,
.border-box{

    padding:16px;

}



}

/* =====================================
 サービス終了までの流れ
===================================== */


.service-flow-section{

    padding:50px 0;

}



.service-flow-title{

    font-size:26px;

    font-weight:bold;

    margin-bottom:20px;

    padding-left:14px;

    border-left:6px solid #63b34f;

}



.service-flow-description{

    line-height:1.9;

    margin-bottom:30px;

    color:#555;

}





/* table */

.service-flow-table-wrap{

    width:100%;

    overflow-x:auto;

}



.service-flow-table{

    width:100%;

    min-width:900px;

    border-collapse:collapse;

    background:#fff;

}



.service-flow-table th{

    background:#eef5e6;

    border:1px solid #d5dfcf;

    padding:16px;

    text-align:center;

    font-weight:bold;

    line-height:1.7;

}



.service-flow-table td{

    border:1px solid #ddd;

    padding:16px;

    text-align:center;

    line-height:1.8;

}



.service-flow-table tbody th{

    width:170px;

    background:#fafafa;

}




.service-flow-red{

    color:#e60000;

    font-weight:bold;

}




.service-flow-note{

    margin-top:20px;

    font-size:14px;

    line-height:1.8;

    color:#555;

}





/* hover */

.service-flow-table tbody tr:hover{

    background:#f9fcf7;

}





/* =========================
スマホ
========================= */


@media(max-width:767px){


.service-flow-section{

    padding:35px 16px;

}



.service-flow-title{

    font-size:20px;

}



.service-flow-description{

    font-size:14px;

}



.service-flow-table{

    font-size:13px;

}



.service-flow-table th,
.service-flow-table td{

    padding:12px;

}



.service-flow-note{

    font-size:13px;

}


}

.pattern-head{
    vertical-align:top;
    text-align:center;
}

.pattern-label{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:110px;
    height:32px;
    margin-bottom:12px;
    border-radius:999px;
    font-size:15px;
    font-weight:bold;
    line-height:1;
}

.pattern-a{
    background:#0b8f3a;
    color:#fff;
}

.pattern-b{
    background:#2b6cb0;
    color:#fff;
}

.pattern-content{
    display:inline-block;
    text-align:left;
    line-height:1.7;
}

.pattern-content > div:first-child{
    margin-bottom:6px;
    font-weight:bold;
}

.pattern-list{
    line-height:1.7;
}

.pattern-list small{
    display:block;
    margin:4px 0;
    font-size:12px;
    line-height:1.5;
    font-weight:normal;
}

/* ==================================================
   利用期限案内
================================================== */


.limit-guide-section{

    padding:50px 0;

    background:#fff;

}



.limit-guide-title{

    display:flex;

    align-items:center;

    gap:12px;

    margin-bottom:20px;

}



.limit-guide-title span{

    width:10px;

    height:28px;

    background:#63b34f;

    display:block;

}



.limit-guide-title h2{

    font-size:26px;

    font-weight:bold;

    margin:0;

}





.limit-guide-lead{

    margin-bottom:40px;

    color:#555;

    line-height:1.9;

}





.limit-guide-block{

    margin-top:35px;

}



.limit-guide-heading{

    font-size:21px;

    line-height:1.6;

    margin-bottom:20px;

    padding:15px 18px;

    background:#f5faf2;

    border-left:5px solid #63b34f;

}





.limit-guide-text{

    line-height:1.9;

    margin-bottom:25px;

}





/* table */

.limit-guide-table-wrap{

    overflow-x:auto;

}



.limit-guide-table{

    width:100%;

    border-collapse:collapse;

    background:#fff;

}



.limit-guide-table th{

    background:#eef5e6;

    border:1px solid #d6dfd0;

    padding:16px;

    text-align:center;

    line-height:1.6;

}



.limit-guide-table td{

    border:1px solid #ddd;

    padding:18px;

    text-align:center;

    line-height:1.8;

}



.limit-guide-table td:first-child{

    width:45%;

}



.limit-guide-red{

    color:#d90000;

    font-weight:bold;

    font-size:17px;

}





/* 注意事項 */

.limit-guide-list{

    margin-top:25px;

    padding:20px 25px;

    background:#fafafa;

    list-style:none;

}



.limit-guide-list li{

    position:relative;

    padding-left:25px;

    margin-bottom:12px;

    line-height:1.8;

}



.limit-guide-list li:last-child{

    margin-bottom:0;

}



.limit-guide-list li::before{

    content:"✓";

    position:absolute;

    left:0;

    color:#63b34f;

    font-weight:bold;

}







/* =========================
   SP
========================= */


@media(max-width:767px){


.limit-guide-section{

    padding:35px 16px;

}



.limit-guide-title h2{

    font-size:20px;

}



.limit-guide-lead{

    font-size:14px;

    margin-bottom:30px;

}



.limit-guide-heading{

    font-size:17px;

    padding:12px;

}



.limit-guide-text{

    font-size:14px;

}



.limit-guide-table{

    min-width:600px;

}



.limit-guide-table th,
.limit-guide-table td{

    padding:12px;

    font-size:14px;

}



.limit-guide-red{

    font-size:15px;

}



.limit-guide-list{

    padding:18px;

}



.limit-guide-list li{

    font-size:14px;

}

}
/* ==================================================
   ICキャッシュカード案内
================================================== */


.iccard-guide-section{

    padding:40px 0;

}





.iccard-guide-heading{

    font-size:22px;

    line-height:1.6;

    margin-bottom:20px;

    padding:15px 18px;

    background:#f5faf2;

    border-left:5px solid #63b34f;

}





.iccard-guide-text{

    line-height:1.9;

    margin-bottom:25px;

    color:#555;

}







/* 案内ボックス */

.iccard-guide-box{

    background:#f2f8ff;

    border:1px solid #c9dff5;

    border-radius:10px;

    padding:25px 30px;

}





.iccard-guide-list{

    list-style:none;

    padding:0;

    margin:0;

}



.iccard-guide-list li{

    position:relative;

    padding-left:30px;

    margin-bottom:20px;

    line-height:1.9;

}



.iccard-guide-list li:last-child{

    margin-bottom:0;

}



.iccard-guide-list li::before{

    content:"✓";

    position:absolute;

    left:0;

    top:0;

    color:#2674c9;

    font-size:18px;

    font-weight:bold;

}



.iccard-guide-list strong{

    color:#245b43;

}





/* =========================
   SP
========================= */


@media(max-width:767px){


.iccard-guide-section{

    padding:30px 16px;

}



.iccard-guide-heading{

    font-size:18px;

    padding:12px 14px;

}



.iccard-guide-text{

    font-size:14px;

}



.iccard-guide-box{

    padding:18px 15px;

}



.iccard-guide-list li{

    font-size:14px;

    padding-left:26px;

    line-height:1.8;

}



.iccard-guide-list li::before{

    font-size:16px;

}


}
/* ==================================================
   付帯カード等案内
================================================== */


.attached-guide-section{

    padding:45px 0;

    background:#fff;

}



.attached-guide-heading{

    font-size:22px;

    line-height:1.6;

    margin-bottom:35px;

    padding:15px 18px;

    background:#f5faf2;

    border-left:5px solid #63b34f;

}





.attached-guide-item{

    margin-bottom:35px;

}



.attached-guide-subtitle{

    font-size:19px;

    font-weight:bold;

    margin-bottom:15px;

    display:flex;

    align-items:center;

    gap:10px;

}



.attached-guide-subtitle::before{

    content:"";

    width:8px;

    height:8px;

    background:#63b34f;

    border-radius:50%;

}







/* 内容ボックス */

.attached-guide-box{

    background:#fafafa;

    border:1px solid #ddd;

    border-radius:10px;

    padding:22px 28px;

}




.attached-guide-list{

    list-style:none;

    margin:0;

    padding:0;

}



.attached-guide-list li{

    position:relative;

    padding-left:28px;

    margin-bottom:15px;

    line-height:1.9;

}



.attached-guide-list li:last-child{

    margin-bottom:0;

}



.attached-guide-list li::before{

    content:"✓";

    position:absolute;

    left:0;

    top:0;

    color:#63b34f;

    font-weight:bold;

    font-size:18px;

}







/* =========================
   SP
========================= */


@media(max-width:767px){


.attached-guide-section{

    padding:35px 16px;

}



.attached-guide-heading{

    font-size:18px;

    padding:12px 14px;

}



.attached-guide-item{

    margin-bottom:28px;

}



.attached-guide-subtitle{

    font-size:16px;

}



.attached-guide-box{

    padding:18px 15px;

}



.attached-guide-list li{

    font-size:14px;

    padding-left:24px;

    line-height:1.8;

}



.attached-guide-list li::before{

    font-size:16px;

}


}
/* ==================================================
   ポイント有効期限案内
================================================== */

.point-guide-section{

    padding:50px 0;

    background:#fff;

}


/* 見出し */

.point-guide-heading{

    margin-bottom:22px;

    padding:16px 20px;

    border-left:5px solid #63b34f;

    background:#f5faf2;

    font-size:22px;

    line-height:1.6;

    color:#245b43;

}


/* リード */

.point-guide-text{

    margin-bottom:35px;

    line-height:2;

    color:#555;

}



/* ==========================
   パターン
========================== */

.point-guide-box{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:24px;

    margin-bottom:35px;

}


.point-guide-item{

    background:#fffef8;

    border:1px solid #ead9ad;

    border-radius:12px;

    padding:25px;

    box-shadow:0 3px 10px rgba(0,0,0,.04);

}


.point-guide-item p{

    margin:0;

    line-height:2;

    color:#444;

    word-break:break-word;

}



/* ==========================
   注意事項
========================== */

.point-guide-list{

    list-style:none;

    margin:0 0 28px;

    padding:22px 24px;

    background:#fafafa;

    border-radius:10px;

    border:1px solid #ececec;

}


.point-guide-list li{

    position:relative;

    padding-left:34px;

    margin-bottom:18px;

    line-height:1.9;

}


.point-guide-list li:last-child{

    margin-bottom:0;

}


.point-guide-list li::before{

    content:"✓";

    position:absolute;

    left:0;

    top:3px;

    width:20px;

    height:20px;

    border-radius:50%;

    background:#63b34f;

    color:#fff;

    text-align:center;

    line-height:20px;

    font-size:12px;

    font-weight:bold;

}



/* 補足 */

.point-guide-note{

    padding:18px 20px;

    background:#f8f8f8;

    border-radius:8px;

    font-size:14px;

    line-height:1.9;

    color:#666;

}



/* ==========================
   SP
========================== */

@media (max-width:767px){

.point-guide-section{

    padding:35px 16px;

}


.point-guide-heading{

    font-size:18px;

    padding:14px 16px;

}


.point-guide-text{

    margin-bottom:24px;

    font-size:14px;

    line-height:1.9;

}


/* カードを縦並び */

.point-guide-box{

    grid-template-columns:1fr;

    gap:18px;

}


.point-guide-item{

    padding:20px 16px;

}


.point-guide-item p{

    font-size:14px;

    line-height:1.9;

}


.point-guide-list{

    padding:18px 16px;

}


.point-guide-list li{

    padding-left:30px;

    font-size:14px;

    line-height:1.8;

}


.point-guide-list li::before{

    top:2px;

}


.point-guide-note{

    padding:15px;

    font-size:13px;

    line-height:1.8;

}

}
/* パターン見出し */

.point-guide-pattern{

    margin-bottom:18px;

    padding-bottom:18px;

    border-bottom:1px solid #ece4cd;

}


/* パターンA・B */

.point-guide-label{

    display:inline-block;

    margin-bottom:12px;

    padding:6px 16px;

    border-radius:999px;

    background:#63b34f;

    color:#fff;

    font-size:18px;

    font-weight:700;

}


/* 条件 */

.point-guide-condition{

    display:flex;

    flex-direction:column;

    gap:8px;

}


.point-guide-condition div{

    padding-left:18px;

    position:relative;

    line-height:1.8;

    color:#555;

}


.point-guide-condition div::before{

    content:"●";

    position:absolute;

    left:0;

    color:#63b34f;

    font-size:12px;

    top:6px;

}
@media(max-width:767px){

.point-guide-label{

    font-size:16px;

    padding:5px 14px;

}

.point-guide-condition div{

    font-size:14px;

    line-height:1.7;

}

}

/* ==================================================
   年会費案内
================================================== */


.annual-guide-section{

    padding:45px 0;

    background:#fff;

}





.annual-guide-heading{

    font-size:22px;

    line-height:1.6;

    margin-bottom:20px;

    padding:15px 18px;

    background:#f5faf2;

    border-left:5px solid #63b34f;

}





.annual-guide-text{

    line-height:1.9;

    color:#555;

    margin-bottom:25px;

}





/* 日付強調 */

.annual-guide-date{

    display:inline-block;

    padding:12px 25px;

    margin-bottom:20px;

    background:#eaf5e5;

    border-radius:8px;

    color:#245b43;

    font-size:18px;

    font-weight:bold;

}







/* 注意ボックス */

.annual-guide-box{

    background:#fafafa;

    border:1px solid #ddd;

    border-radius:10px;

    padding:22px 28px;

}





.annual-guide-list{

    list-style:none;

    margin:0;

    padding:0;

}



.annual-guide-list li{

    position:relative;

    padding-left:28px;

    line-height:1.9;

}



.annual-guide-list li::before{

    content:"✓";

    position:absolute;

    left:0;

    top:0;

    color:#63b34f;

    font-size:18px;

    font-weight:bold;

}







/* =========================
   SP
========================= */


@media(max-width:767px){


.annual-guide-section{

    padding:35px 16px;

}



.annual-guide-heading{

    font-size:18px;

    padding:12px 14px;

}



.annual-guide-text{

    font-size:14px;

}



.annual-guide-date{

    width:100%;

    box-sizing:border-box;

    text-align:center;

    font-size:16px;

    padding:12px;

}



.annual-guide-box{

    padding:18px 15px;

}



.annual-guide-list li{

    font-size:14px;

    line-height:1.8;

    padding-left:24px;

}



.annual-guide-list li::before{

    font-size:16px;

}


}

/* ==================================================
   カード再発行案内
================================================== */


.card-reissue-guide-section{

    padding:45px 0;

    background:#fff;

}





.card-reissue-guide-heading{

    font-size:22px;

    line-height:1.6;

    margin-bottom:20px;

    padding:15px 18px;

    background:#f5faf2;

    border-left:5px solid #63b34f;

}





.card-reissue-guide-text{

    color:#555;

    line-height:1.9;

    margin-bottom:25px;

}






/* 受付期限 */

.card-reissue-guide-date{

    display:inline-block;

    padding:12px 28px;

    margin-bottom:20px;

    background:#eaf5e5;

    border-radius:8px;

    color:#245b43;

    font-size:18px;

    font-weight:bold;

}






/* 注意ボックス */

.card-reissue-guide-box{

    background:#fafafa;

    border:1px solid #ddd;

    border-radius:10px;

    padding:22px 28px;

}





.card-reissue-guide-list{

    margin:0;

    padding:0;

    list-style:none;

}



.card-reissue-guide-list li{

    position:relative;

    padding-left:28px;

    line-height:1.9;

}



.card-reissue-guide-list li::before{

    content:"✓";

    position:absolute;

    left:0;

    top:0;

    color:#63b34f;

    font-size:18px;

    font-weight:bold;

}








/* =========================
   SP
========================= */


@media(max-width:767px){


.card-reissue-guide-section{

    padding:35px 16px;

}



.card-reissue-guide-heading{

    font-size:18px;

    padding:12px 14px;

}



.card-reissue-guide-text{

    font-size:14px;

}



.card-reissue-guide-date{

    width:100%;

    box-sizing:border-box;

    text-align:center;

    font-size:16px;

    padding:12px;

}



.card-reissue-guide-box{

    padding:18px 15px;

}



.card-reissue-guide-list li{

    font-size:14px;

    line-height:1.8;

    padding-left:24px;

}



.card-reissue-guide-list li::before{

    font-size:16px;

}


}
/* ==================================================
   お手続き案内（縦ステップ）
================================================== */


.procedure-guide-section{

    padding:60px 0;

}



.procedure-guide-title{

    font-size:26px;

    color:#245b43;

    margin-bottom:20px;

}



.procedure-guide-lead{

    line-height:1.9;

    margin-bottom:35px;

    color:#555;

}



/* STEP */

.procedure-guide-list{

    position:relative;

    max-width:850px;

    margin:0 auto;

}



.procedure-guide-list::before{

    content:"";

    position:absolute;

    left:27px;

    top:25px;

    bottom:25px;

    width:2px;

    background:#d5e8ce;

}



.procedure-guide-item{

    display:flex;

    gap:25px;

    align-items:flex-start;

    margin-bottom:25px;

    position:relative;

}



.procedure-guide-number{

    flex:none;

    width:56px;

    height:56px;

    display:flex;

    justify-content:center;

    align-items:center;


    border-radius:50%;

    background:#63b34f;

    color:#fff;

    font-size:22px;

    font-weight:bold;

    z-index:1;

}



.procedure-guide-content{

    flex:1;

    background:#f7fbf5;

    border:1px solid #dce9d6;

    border-radius:12px;

    padding:20px 25px;

}



.procedure-guide-content p{

    margin:0;

    line-height:1.9;

    color:#444;

}







/* ボタン */

.procedure-guide-button{

    text-align:center;

    margin-top:40px;

}



.procedure-guide-link{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    padding:16px 45px;

    border-radius:40px;

    background:#63b34f;

    color:#fff !important;

    font-weight:bold;

    text-decoration:none;

}







/* スマホ */

@media(max-width:767px){


.procedure-guide-section{

    padding:40px 16px;

}



.procedure-guide-title{

    font-size:20px;

}



.procedure-guide-lead{

    font-size:14px;

}



.procedure-guide-list::before{

    left:22px;

}



.procedure-guide-item{

    gap:15px;

}



.procedure-guide-number{

    width:45px;

    height:45px;

    font-size:18px;

}



.procedure-guide-content{

    padding:15px;

}



.procedure-guide-content p{

    font-size:14px;

    line-height:1.8;

}



.procedure-guide-link{

    width:100%;

    padding:14px 20px;

    box-sizing:border-box;

    font-size:14px;

}


}
/* ==================================================
   重要日程案内
================================================== */


.important-guide-section{

    padding:60px 0;

    background:#fffbea;

}




.important-guide-title{

    font-size:26px;

    color:#245b43;

    margin-bottom:35px;

    text-align:center;

}






/* 一覧 */

.important-guide-list{

    max-width:900px;

    margin:0 auto;

    display:flex;

    flex-direction:column;

    gap:20px;

}





.important-guide-item{

    background:#fff;

    border-radius:12px;

    padding:25px 30px;

    box-shadow:0 3px 12px rgba(0,0,0,.05);

}





.important-guide-item h3{

    margin:0 0 15px;

    font-size:18px;

    color:#245b43;

}





/* 日付 */

.important-guide-date{

    display:inline-block;

    padding:8px 18px;

    margin:0;

    border-radius:20px;

    background:#b22222;

    color:#fff;

    font-weight:bold;

    font-size:17px;

}





.important-guide-item p{

    line-height:1.8;

    margin-bottom:10px;

}






/* 詳細 */

.important-guide-detail{

    margin-top:15px;

    padding:15px 20px;

    background:#f7faf5;

    border-radius:8px;

}





.important-guide-detail p{

    margin:0 0 15px;

    line-height:1.8;

}





.important-guide-detail p:last-child{

    margin-bottom:0;

}



.important-guide-detail strong{

    color:#4d963d;

}







/* =========================
   SP
========================= */


@media(max-width:767px){


.important-guide-section{

    padding:40px 16px;

}



.important-guide-title{

    font-size:20px;

    margin-bottom:25px;

}



.important-guide-item{

    padding:20px 15px;

}



.important-guide-item h3{

    font-size:16px;

    line-height:1.6;

}



.important-guide-date{

    font-size:15px;

}



.important-guide-detail{

    padding:14px;

}



.important-guide-detail p{

    font-size:14px;

}



}


/* タイトル */
.title_content {
    background-color: #e9f3fa;
    color: #585858;
    border-bottom: 7px solid #e2f1cf;
}

.title_text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    height: 100%;
}
.text-red {
    color: red;
}
