
/* ==========================================================
   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:#004ea2;
    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:#004ea2;

    color:#fff !important;

    font-size:15px;

    font-weight:bold;

    text-align:center;

    text-decoration:none;

    transition:.25s;

}



.hero-btn:hover{

    background:#4883c3;

    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{

    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 #004ea2;

}



.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:#004ea2;

    font-weight:bold;

}



.check-alert{

    margin-top:20px;

    padding:16px;

    background:#fff;

    border-left:4px solid #004ea2;

    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 #004ea2;

}



.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;

}



}












/* ===============================
   リード
=============================== */

.card-check-lead{

    max-width:760px;

    margin:0 auto 40px;

    text-align:center;

    line-height:1.9;

    color:#555;

}


/* ===============================
   サービス終了日
=============================== */

.service-end-card{

    margin-bottom:25px;

    padding:24px;

    border-radius:12px;

    background:#fffbea;

    border:1px solid #ead9ad;

    text-align:center;

}


.service-end-label{

    margin-bottom:12px;

    color:#666;

    font-size:15px;

}


.service-end-date{

    margin:0;

    font-size:42px;

    font-weight:700;

    color:#d64040;

    line-height:1.2;

}


/* ===============================
   注意
=============================== */

.check-alert{

    margin-bottom:22px;

    padding:18px 20px;

    background:#ffffff;

    border-radius:8px;

    line-height:1.9;

}


/* ===============================
   リスト
=============================== */

.check-list{

    list-style:none;

    margin:0;

    padding:0;

}


.check-list li{

    position:relative;

    padding-left:30px;

    margin-bottom:16px;

    line-height:1.9;

}


.check-list li:last-child{

    margin-bottom:0;

}


.check-list li::before{

    content:"✓";

    position:absolute;

    left:0;

    top:2px;

    width:20px;

    height:20px;

    border-radius:50%;

    background:#004ea2;

    color:#fff;

    text-align:center;

    line-height:20px;

    font-size:12px;

}


/* ===============================
   SP
=============================== */

@media(max-width:767px){

.card-check-lead{

    text-align:left;

    margin-bottom:24px;

    font-size:14px;

}


.service-end-card{

    padding:20px 15px;

}


.service-end-date{

    font-size:32px;

}


.check-alert{

    padding:16px;

    font-size:14px;

}


.check-list li{

    padding-left:28px;

    font-size:14px;

}

}

/* ==================================================
   サービス終了までの主な流れ
================================================== */

.service-flow-section{
    padding:60px 0;
    background:#fafcf9;
}

.service-flow-description{
    margin:15px auto 35px;
    max-width:760px;
    color:#666;
    line-height:1.9;
}

.service-flow-table-wrap{
    overflow-x:auto;
    border:1px solid #dce8d8;
    border-radius:12px;
    background:#fff;
}

.service-flow-table{
    width:100%;
    border-collapse:collapse;
    min-width:700px;
}

.service-flow-table thead th{
    padding:18px 20px;
    background:#004ea2;
    color:#fff;
    font-size:16px;
    font-weight:700;
    text-align:center;
    border:1px solid #fff;
}

.service-flow-table tbody th{
    width:220px;
    padding:20px;
    background:#edf6ff;
    color:#004ea2;
    font-weight:700;
    text-align:center;
    border:1px solid #e2e8de;
    vertical-align:middle;
    line-height:1.6;
}

.service-flow-table tbody td{
    padding:20px 24px;
    border:1px solid #e2e8de;
    line-height:1.9;
    color:#555;
    background:#fff;
}

.service-flow-table tbody tr:nth-child(even) td{
    background:#fcfdfb;
}

.service-flow-table tbody tr:hover th,
.service-flow-table tbody tr:hover td{
    background:#eef8e8;
    transition:.25s;
}

/* ==========================
   SP
========================== */

@media (max-width:767px){

.service-flow-section{
    padding:40px 0;
}

.service-flow-description{
    font-size:14px;
    text-align:left;
    margin-bottom:25px;
}

.service-flow-table{
    min-width:620px;
}

.service-flow-table thead th{
    padding:14px;
    font-size:14px;
}

.service-flow-table tbody th{
    width:170px;
    padding:14px;
    font-size:14px;
}

.service-flow-table tbody td{
    padding:14px;
    font-size:14px;
    line-height:1.8;
}

}

/* ==================================================
   項目別のご利用期限
================================================== */

.limit-guide-section{
    padding:60px 0;
    background:#fafcf9;
}

.limit-guide-lead{
    max-width:760px;
    margin:18px auto 40px;
    text-align:center;
    line-height:1.9;
    color:#666;
}

.limit-guide-block{
    background:#fff;
    border:1px solid #dce8d8;
    border-radius:12px;
    padding:35px;
    box-shadow:0 3px 10px rgba(0,0,0,.04);
}

.limit-guide-heading{
    margin:0 0 25px;
    padding-left:15px;
    border-left:5px solid #004ea2;
    font-size:24px;
    font-weight:700;
    line-height:1.6;
    color:#004ea2;
}

.limit-guide-block > p{
    position:relative;
    margin:0 0 18px;
    padding-left:24px;
    line-height:1.9;
    color:#555;
}

.limit-guide-block > p::before{
    content:"●";
    position:absolute;
    left:0;
    top:0;
    color:#004ea2;
    font-weight:bold;
}

.limit-guide-list{
    list-style:none;
    margin:30px 0 0;
    padding:22px 25px;
    background:#f8faf7;
    border-radius:10px;
}

.limit-guide-list li{
    position:relative;
    padding-left:30px;
    margin-bottom:18px;
    line-height:1.9;
}

.limit-guide-list li:last-child{
    margin-bottom:0;
}

.limit-guide-list li::before{
    content:"✓";
    position:absolute;
    left:0;
    top:1px;
    color:#004ea2;
    font-size:18px;
    font-weight:bold;
}

/* 赤文字の注意事項 */

.limit-guide-list li.text-red{
    color:#d73b3e;
    font-weight:700;
    background:#fff5f5;
    padding:16px 16px 16px 44px;
    border-radius:8px;
}

.limit-guide-list li.text-red::before{
    left:16px;
    color:#d73b3e;
}

/* ==========================
   SP
========================== */

@media (max-width:767px){

.limit-guide-section{
    padding:40px 0;
}

.limit-guide-lead{
    margin-bottom:30px;
    text-align:left;
    font-size:14px;
}

.limit-guide-block{
    padding:22px 18px;
}

.limit-guide-heading{
    font-size:19px;
    margin-bottom:20px;
}

.limit-guide-block > p{
    font-size:14px;
    line-height:1.8;
    padding-left:20px;
}

.limit-guide-list{
    padding:18px 16px;
}

.limit-guide-list li{
    font-size:14px;
    padding-left:26px;
    line-height:1.8;
}

.limit-guide-list li.text-red{
    padding:14px 14px 14px 38px;
}

.limit-guide-list li.text-red::before{
    left:14px;
}

}

/* ==================================================
   付帯カード等案内
================================================== */


.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 #004ea2;

}





.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:#004ea2;

    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:#004ea2;

    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:60px 0;

    background:#fff;

}


.point-guide-section *,
.point-guide-section *::before,
.point-guide-section *::after{

    box-sizing:border-box;

}



.point-guide-heading{

    font-size:22px;

    font-weight:bold;

    line-height:1.6;

    margin-bottom:20px;

    padding:16px 20px;

    background:#f5faf2;

    border-left:6px solid #004ea2;

    color:#333;

}



.point-guide-text{

    margin-bottom:35px;

    line-height:1.9;

    color:#555;

    overflow-wrap:anywhere;

}



.point-guide-box{

    margin-top:35px;

    width:100%;

}



/* ==========================
   有効期限
========================== */


.point-limit-card{

    background:#fff;

    border:2px solid #004ea2;

    border-radius:12px;

    padding:35px;

    text-align:center;

    margin-bottom:35px;

}



.point-limit-header{

    display:inline-block;

    background:#004ea2;

    color:#fff;

    padding:8px 25px;

    border-radius:30px;

    font-weight:bold;

    margin-bottom:20px;

}



.point-limit-date{

    font-size:32px;

    font-weight:bold;

    color:#d43838;

    margin-bottom:20px;

}



.point-limit-card p{

    margin:0 auto;

    max-width:750px;

    line-height:1.9;

    color:#555;

    text-align:left;

    overflow-wrap:anywhere;

}




/* ==========================
   交換方法
========================== */


.point-method-card{

    background:#f7f7f7;

    border-radius:12px;

    padding:35px;

    width:100%;

}



.point-method-title{

    font-size:22px;

    margin-bottom:30px;

    padding-left:15px;

    border-left:6px solid #004ea2;

    color:#245b43;

}



.point-method-item{

    display:flex;

    align-items:flex-start;

    gap:20px;

    padding:25px 0;

    border-bottom:1px solid #dce6d7;

    width:100%;

}



.point-method-item:last-child{

    border-bottom:none;

}



.point-number{

    flex:none;

    width:42px;

    height:42px;

    background:#004ea2;

    color:#fff;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:20px;

    font-weight:bold;

}



.point-method-item > div{

    flex:1;

    min-width:0;

}



.point-method-item h5{

    margin:0 0 15px;

    font-size:18px;

    color:#333;

    line-height:1.6;

}



.point-method-item p{

    margin-bottom:15px;

    line-height:1.9;

    color:#555;

    overflow-wrap:anywhere;

    word-break:break-word;

}



/* URL対策 */

.point-method-item a,
.point-method-item span{

    overflow-wrap:anywhere;

    word-break:break-all;

}




/* ==========================
   注意
========================== */


.point-warning{

    display:flex;

    gap:20px;

    align-items:flex-start;

    margin-top:30px;

    padding:25px;

    background:#fff4f4;

    border-radius:8px;

}



.point-warning strong{

    background:#d43838;

    color:#fff;

    padding:5px 12px;

    border-radius:20px;

    white-space:nowrap;

}



.point-warning p{

    margin:0;

    line-height:1.8;

    color:#b52c2c;

    font-weight:bold;

    overflow-wrap:anywhere;

}





/* ==================================================
   SP
================================================== */


@media(max-width:767px){


.point-guide-section{

    padding:40px 16px;

}



.point-guide-heading{

    font-size:18px;

    padding:12px 14px;

}



.point-guide-text{

    font-size:14px;

}



.point-limit-card{

    padding:22px 16px;

}



.point-limit-header{

    font-size:14px;

    padding:7px 18px;

}



.point-limit-date{

    font-size:24px;

}



.point-limit-card p{

    font-size:14px;

}



.point-method-card{

    padding:20px 15px;

}



.point-method-title{

    font-size:18px;

    margin-bottom:20px;

}



.point-method-item{

    gap:10px;

    padding:20px 0;

}



.point-number{

    width:32px;

    height:32px;

    font-size:15px;

}



.point-method-item h5{

    font-size:15px;

}



.point-method-item p{

    font-size:14px;

    line-height:1.8;

}



.point-warning{

    display:block;

    padding:18px;

}



.point-warning strong{

    display:inline-block;

    margin-bottom:10px;

}



.point-warning p{

    font-size:14px;

}


}

/* ==================================================
   年会費案内
================================================== */


.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 #004ea2;

}





.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:#dddddd38;

    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:#004ea2;

    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 #004ea2;

}





.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:#dddddd38;

    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:#004ea2;

    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:#004ea2;

    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:#004ea2;

    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:#fff9e6;

}



.important-guide-list{

    display:flex;

    flex-direction:column;

    gap:20px;

    margin-top:35px;

}



.important-guide-item{

    background:#fff;

    border-radius:12px;

    padding:25px 30px;

    box-shadow:0 4px 12px rgba(0,0,0,.05);

}



.important-guide-item h3{

    margin:0 0 15px;

    font-size:18px;

    line-height:1.6;

    color:#444;

    font-weight:bold;

}



.important-guide-date{

    display:inline-block;

    margin:0;

    padding:10px 25px;

    background:#004ea2;

    color:#fff;

    border-radius:30px;

    font-size:18px;

    font-weight:bold;

}



.important-guide-detail{

    margin-top:10px;

}



.important-guide-detail p{

    display:inline-block;

    margin:0;

    padding:12px 30px;

    background:#f4faef;

    border-radius:8px;

    color:#245b43;

    font-size:18px;

    font-weight:bold;

}



.important-guide-detail strong{

    color:#d60000;

}





/* ==========================
   SP
========================== */


@media(max-width:767px){


.important-guide-section{

    padding:40px 16px;

}



.important-guide-list{

    gap:15px;

    margin-top:25px;

}



.important-guide-item{

    padding:20px 18px;

    border-left-width:5px;

}



.important-guide-item h3{

    font-size:16px;

    line-height:1.7;

    margin-bottom:12px;

}



.important-guide-date{

    font-size:16px;

    padding:8px 20px;

}



.important-guide-detail p{

    width:100%;

    box-sizing:border-box;

    text-align:center;

    font-size:16px;

    padding:12px;

}


}

/* タイトル */
.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;
}

.point-note{

    padding-left:1.2em;

    text-indent:-1.2em;

    line-height:1.8;

}