html{font-size:16px}
body{margin:0;font-family:"ryo-gothic-plusn",sans-serif;font-style:normal;line-height:1.6;color:#0b1220}
img{max-width:100%;height:auto;display:block;margin:0 auto;}
a{transition:.3s;}
a,a:visited,a:hover,a:active,a:focus{color:inherit;text-decoration:none;}
.ctaRow a,.float-footer a,.campaign a{display:block;color:inherit;text-decoration:none;transition:.2s;transform:translateY(0px)}
.ctaRow a:hover,.float-footer a:hover,.campaign a:hover{transform:translateY(4px)}
.wrap{max-width:1400px;margin:auto;padding:0 1.5em}

h3 {margin: 0;}

/* 上の細い帯 */
.topbar{background:#0c4ea3;color:#fff;font-weight:800;font-size:.95em;overflow:hidden;white-space:nowrap}
.topbar .wrap{padding:.6em 0;text-align:center;font-weight:600;font-size:.9em;letter-spacing:2px}
.topbar span{font-size:1.5em}
.marquee{display:flex;width:100%}
.marquee__inner{display:flex;flex:0 0 auto;animation:marquee 60s linear infinite}
.marquee__inner span{padding:.1em 3em;font-weight:600;font-size:.95em;white-space:nowrap;letter-spacing:2px}
.marquee__inner span span{padding:0 .1em;font-size:1.8em}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-100%)}}

/* ヘッダー */
.head{position:absolute;left:0;right:0;top:0;z-index:2}
.head .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5em;padding:0 .5em}
.headL{display:flex;align-items:center;gap:1.2em}
.logo{width:10em}
.no1{width:10em}
.nav{display:flex;gap:1.2em;flex-wrap:wrap;font-size:1em;font-weight:800;color:#0c4ea3}
.nav a{padding:.2em .1em;padding-right:1.2em;opacity:.9;border-right:1px solid #719acf;height:10px;display:flex;align-items:center;justify-content:center}
.nav a:last-child{border-right:0;opacity:1;}
.nav a:hover{opacity:.6;}

/* FV */
.fv{position:relative;background:#dfefff;min-height:43vw;aspect-ratio:auto;}
.fv__bg{position:absolute;inset:0;max-width:88vw;margin:0 auto;background:#dfefff url("/personal/saving/next-gen/images/01.png") center/cover no-repeat}
.fv_inner{max-width:1400px;margin:0 auto;position:relative;min-height:inherit}



/* コピー */
.copy{position:absolute;left:2em;right:0;top:10.5em;z-index:1;}
.copy .wrap{display:flex;align-items:flex-start;justify-content:flex-start;}
.ttl{margin:0;font-weight:900;letter-spacing:.06em;line-height:1.15;}
.ttl .wipe{position:relative;display:inline-block;background:#0c4ea3;color:#fff;padding:.15em .1em;margin-bottom:.1em;font-size:clamp(28px,3.3vw,80px);width:fit-content;overflow:hidden;will-change:transform,opacity;}
.ttl .wipe.delay-2{margin-left:50px;}
.ttl .wipe::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.22) 40%,rgba(255,255,255,.65) 50%,rgba(255,255,255,.22) 60%,rgba(255,255,255,0) 100%);transform:translateX(-130%);opacity:.95;mix-blend-mode:screen;}
.ttl.is-anim .wipe{opacity:0;transform:translateX(-18px);animation:boxIn .95s cubic-bezier(.22,.61,.36,1) forwards;}
.ttl.is-anim .wipe::after{animation:wipeShine 1.25s cubic-bezier(.22,.61,.36,1) forwards;}
.ttl.is-anim .wipe.delay-2{animation-delay:.18s;}
.ttl.is-anim .wipe.delay-2::after{animation-delay:.26s;}
@keyframes boxIn{to{opacity:1;transform:translateX(0);}}
@keyframes wipeShine{0%{transform:translateX(-130%);}100%{transform:translateX(130%);}}
@media (prefers-reduced-motion: reduce){.ttl.is-anim .wipe,.ttl.is-anim .wipe::after{animation:none;opacity:1;transform:none;}}

/* CTA */
.ctaRow{position:absolute;z-index:2;width:43vw;max-width:43vw;display:flex;justify-content:center;align-items:baseline;gap:1.2em;bottom:2.2vw;left:3em}
.ctaBtnImg{display:block;height:auto;max-width:100%}
.ctaBtnImg--pink{width:32em}
.ctaBtnImg--blue{width:27em}

/* 注釈 */
.fv-dis{background-color:#4584d4ad;position:relative;z-index:1;font-size:.8em;color:#fff;padding:2em 3em}

/* セクション共通 */
.bg-blue{background:linear-gradient(90deg,#4b83c3 0%,#287cde 55%,#9cc2ec 100%)}
.campaign .inner{max-width:1000px;margin:0 auto;padding:5% 0}
.campaign img{display:block;width:100%;margin:0 auto}
.merit{position:relative}
.merit .inner{max-width:1200px;margin:0 auto}
.sub-heading{color:#fff;font-weight:600;text-align:center;font-size:2.5em;position:relative;top:-60px}
.merit::after{content:"";position:absolute;left:0;bottom:-3.97em;width:100%;height:4em;background:linear-gradient(90deg,#4b83c3 0%,#287cde 55%,#9cc2ec 100%);clip-path:polygon(0 0,50% 100%,100% 0)}

/* ポイント */
.point{position:relative}
.point .inner{max-width:1200px;margin:0 auto;position:relative}
.point .flex{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:26px}
.point .item{width:48%}
.point .iconmodel{position:absolute;width:29vw;right:0;bottom:28px;z-index:5;max-width:347px;}
.point::after{content:"";position:absolute;left:0;bottom:-6.4em;width:100%;height:4em;background:#fff;clip-path:polygon(0 0,50% 100%,100% 0);z-index:6}
.point .sub-heading{color:#397dcd;font-weight:600;text-align:center;font-size:2.5em;position:relative;top:37px}
.point .item{width:48%;}

/* フロー */
.flow{position:relative}
.flow .inner{max-width:1200px;margin:0 auto;position:relative;padding-top:8%}
.flow .flex{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}
.flow .item{width:33.3%;position:relative;z-index:2}
.flow .iconmodel{position:absolute;width:25vw;right:11vw;top:200px;z-index:1;max-width:347px;}
.flow .sub-heading{color:#397dcd;font-weight:600;text-align:center;font-size:2.5em;position:relative;top:37px}

/* フッター */
.last{padding-bottom:95px;}
.f-flex{display:flex;max-width:720px;margin:0 auto;align-items:center;transform:scale(1);transition:transform .65s ease;}
.f-item_r{width:45%;padding:0px 20px;}
.f-item_l{width:55%;}
.f-item_r{width:45%;}

/* CTA */
.float-footer{position:fixed;left:0;bottom:-120px;width:100%;padding-top:10px;background:#014694;color:#fff;text-align:center;transition:bottom .1s ease;z-index:1000;box-sizing:border-box;}
.float-footer.is-show{bottom:0;}
.float-footer.is-stop{position:absolute;}
.f-flex.is-embedded{transform:scale(1.07);transition:transform .7s ease;}

/* notes */
.notes{background:linear-gradient(180deg,#014694 0%,#005bc5 55%,#147ff8 100%);color:#fff;padding:42px 0 30px;}
.notes__inner{width:min(1100px,92%);margin:0 auto;}
.notes__ttl{text-align:center;font-weight:700;letter-spacing:.08em;margin:0 0 18px;font-size:18px;}
.notes__body{font-size:12px;line-height:1.9;opacity:.95;}
.notes__body p{margin:0 0 10px;}
.notes__bottom{margin-top:28px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;}
.notes__company{font-size:12px;line-height:1.6;opacity:.95;}
.notes__company p{margin:0 0 6px;}
.notes__copy{font-size:12px;white-space:nowrap;text-align:right;}
@media (max-width: 768px){.notes{padding:32px 0 24px;}.notes__bottom{flex-direction:column;align-items:flex-start;}.notes__copy{white-space:normal;text-align:left;}}

/* 見出しアニメ */
.js-reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;}
.js-reveal.is-show{opacity:1;transform:translateY(0);}
.js-delay-one{transition-delay:.15s;}
.js-delay-two{transition-delay:.3s;}
.js-delay-three{transition-delay:.45s;}

/* レスポンシブ */
@media (max-width:60em){.head .wrap{align-items:flex-start}.nav{font-size:.95em;gap:.9em}.copy{top:6.5em}.ttl span{font-size:1.9em}.fv{min-height:34em}}
@media (min-width:1650px){.copy{left:-5vw;right:auto;width:780px;}}
@media (max-width:42em){.nav{display:none}.logo{width:9em}.no1{width:12em}.ttl span{font-size:1.65em}.fv{min-height:0em}.ctaRow{flex-direction:column;gap:.8em;bottom:1.1em}.ctaBtnImg--pink{width:min(32em,100%)}.ctaBtnImg--blue{width:min(27em,92%)}}

/* 03_a3 = 土台（常時表示） */
.item.is-fade{position:relative !important;display:block !important;}
.item.is-fade > img{display:block !important;width:100% !important;height:auto !important;}
.item.is-fade > img:nth-of-type(1){position:relative !important;opacity:1 !important;animation:none !important;z-index:1 !important;}
.item.is-fade > img:nth-of-type(2),.item.is-fade > img:nth-of-type(3){position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;object-fit:cover;z-index:2 !important;will-change:opacity;}
.item.is-fade > img:nth-of-type(2){animation:topA_3base 7s linear infinite !important;}
.item.is-fade > img:nth-of-type(3){animation:topB_3base 7s linear infinite !important;}
@keyframes topA_3base{0%,45%{opacity:1;}55%,95%{opacity:0;}100%{opacity:1;}}
@keyframes topB_3base{0%,45%{opacity:0;}55%,95%{opacity:1;}100%{opacity:0;}}
@media (prefers-reduced-motion: reduce){.item.is-fade > img:nth-of-type(2),.item.is-fade > img:nth-of-type(3){animation:none !important;opacity:0 !important;}}

/* 注釈（アコーディオン） */
.notes__ttl{cursor:pointer;position:relative;padding:16px 56px 16px 24px;background:#0e4481;color:#fff;font-size:.85em;margin:0;font-weight:600;}
.notes__ttl::after{content:"";position:absolute;right:24px;top:50%;width:8px;height:8px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-50%) rotate(45deg);transition:0.25s ease;}
.notes__ttl.is-open::after{transform:translateY(-50%) rotate(-135deg);}
.notes__body{display:none;background:#00000033;}
.notes__body .attn{padding:40px 24px;font-size:1em;line-height:1.9;color:#ffffff;}
.notes__body .attn .attn{padding:0;}
.notes__body .attn__ttl{font-weight:700;margin:32px 0 12px;padding-left:12px;border-left:4px solid rgba(255,255,255,.6);}
.notes__body .attn ul{padding-left:1.2em;margin:0 0 20px;}
.notes__body .attn ul ul{margin-top:8px;font-size:0.78rem;opacity:.95;}
.notes__body .attn li{margin-bottom:8px;}
.notes__body .attn p{margin:0 0 12px;}
.notes__body .attn__env{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.3);padding:16px 20px;margin:16px 0 20px;border-radius:6px;font-size:0.75rem;line-height:1.8;}
.attn .box{padding-left:1.2em;display:block;padding-bottom:2%;}

/* 吹き出し */
.ttl{position:relative;}
.ttl::after{content:"";position:absolute;bottom:7.5vw;left:13.7vw;transform:translateX(-50%);width:21vw;height:100%;background:url(/personal/saving/next-gen/images/hukidashi.png) no-repeat center / contain;pointer-events:none;transition:.3s;opacity:0;transition:.5s;}
.ttl.is-show::after{opacity:1;transition:opacity 1.5s ease-out,transform .5s cubic-bezier(.34,1.56,.64,1);}

/* 出しわけ */
.pc{display:block;}
.sp{display:none;}

.more{width:100%;margin:0 auto 13%;padding:0;/* 端末幅でも余白キープ */}
.more p{position:relative;display:block;margin:0 auto 26px;padding:8px 22px;font-size:clamp(16px,2.2vw,22px);font-weight:700;color:#fff;text-align:center;background:transparent;border:2px solid #fff;border-radius:999px;letter-spacing:.04em;width:36%;}
/* しっぽ（内側用） */
.more p::after{content:"";position:absolute;left:50%;bottom:-8px;/* ← 食い込ませる */transform:translateX(-50%) rotate(45deg);width:12px;height:12px;background:#2f7fe0;/* ← 背景色と同じ色にする */border-right:2px solid #fff;border-bottom:2px solid #fff;z-index:1;}
/* 本体の下線を一部隠す（重なり補正） */
.more p::before{content:"";position:absolute;left:50%;bottom:-2px;transform:translateX(-50%);width:16px;height:6px;background:#2f7fe0;/* ← 背景色と同じ */z-index:0;}
.more ul{max-width:700px;margin:0 auto;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 10px 30px rgba(0,0,0,.12);}
.more li{list-style:none;font-size:clamp(14px,1.8vw,18px);color:#fff;font-weight:600;line-height:1.7;padding:10px 10px 10px 38px;text-align:left;position:relative;}
/* 仕切り線（2つでも“整ってる感”出る） */
.more li+li{border-top:1px solid rgba(255,255,255,.18);}
/* チェックアイコン */
.more li::before{content:"✓";position:absolute;left:9px;top:15px;width:18px;height:18px;display:grid;place-items:center;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);font-size:12px;line-height:1;}

/* 調整用 */
.eq-list{list-style: none!important;}
.here{text-decoration: underline;}
.eq-attn {font-size: 0.18em;font-weight: 300;position: absolute;right: 14px;top: 14px;z-index: 999;}
.push{}
.push img {
    width: 69%;
    margin: 0 auto;
    padding-bottom: 6%;
}

@media screen and (min-width: 961px) and (max-width: 1396px) {
.fv__bg{max-width: 100vw; }
.fv-dis {padding: 2em 3em;margin-top: 5%;font-size: .7em;}
.ctaRow {bottom: -3.3vw;max-width: 41vw;}
.fv {min-height: 38vw;}
}

/* cookie同意 */

#__tealiumGDPRecModal{background-color:#fff;padding:22px!important;border-top:1px solid #585858;box-sizing: border-box;}
.privacy_prompt{position:relative;bottom:0%;text-align:left;color:#444;font-size:17px;line-height:1.3;word-break:break-word;max-width:980px;width:100%;margin:0 auto;display:flex;box-shadow:unset!important;}
.privacy_prompt_footer{padding:0px;width:20%;}
.privacy_prompt_content{padding:0px;width:80%;font-size:1.35rem!important;}
.privacy_prompt_content{padding:0px!important;}
.privacy_prompt_content p{margin-bottom:0px!important;font-size:0.63em;}
.privacy_prompt_footer{padding:0!important;margin-left:30px!important;}
.privacy_prompt_footer .button{font-size:1.0em!important;padding:9px 22px!important;background-color:#3c3c3c!important;color:#ffffff!important;font-size:0.95em!important;box-shadow:unset!important;text-shadow:unset!important;}
.privacy_prompt .button.right{float:unset!important;}

.camp-accordion{margin:0 auto;}
.camp-acc-body img{border:1px solid #5f5f5f;}
.camp-acc-header{width:fit-content;padding:16px 10%;text-align:left;background:transparent;border:1px solid #fff;cursor:pointer;position:relative;font-size:16px;display:flex;justify-content:space-between;align-items:center;text-align:center;margin:3% auto 0;display:block;color:#fff;}    
.camp-acc-header.active .camp-acc-icon{transform:rotate(-135deg);}
.camp-acc-body{display:none;padding:2% 16px 16px;background-color:#ffffff;margin-top:18px;}
.camp-acc-icon{display:inline-block;width:6px;height:6px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg);transition:transform 0.3s ease;margin-left:10px;margin-bottom:3px;}
.camp-acc-header.active .camp-acc-icon{transform:rotate(-135deg);}
.eq-camp_mr{margin-top:3% !important;}


/* 2604 キャンペーン終了対応 */
.campaign .inner {display: block;max-width: 830px;margin: 0 auto;}
.merit .inner {padding-top: 0%;}
.flow {padding-bottom: 0%;}

@media (max-width:960px){
.campaign .inner {display: block;margin: 0 auto;width: 95%;}
}


/* 以下スマホ用スタイル ======================================================*/


@media (max-width:960px){
section{overflow-x:hidden;overflow-x:clip;}
.pc{display:none;}
.sp{display:block;}
.marquee__inner span{font-size:9px;letter-spacing:1px;}
/* FV */
.fv__bg{position:absolute;inset:0;max-width:100vw;margin:0 auto;background:#dfefff url("/personal/saving/next-gen/images/01_sp.png") center/cover no-repeat;}
.fv__bg{max-width:100%;}
.f-flex.is-embedded{transform:scale(1);}
.point .iconmodel{width:57vw;bottom:4%;right:-6px;}
.flow .iconmodel{position:absolute;width:52vw;right:9vw;top:33vw;z-index:1;}
.logo{width:7em;}
.no1{width:7em;}
.copy{left:.3em;top:5.5em;}
.wrap{padding:0;}
.nav{display:none;}
.ttl .wipe.delay-2{margin-left:0px;}
.ttl .wipe{font-size:clamp(29px,3.3vw,80px);}
.ttl::after{display:none;}
.ttl{top:-22px;}
.fv-dis{background-color:#e2efffad;font-size:.6em;color:#185eac;padding:1.2em 2em;text-align:justify;}
.fv_inner{margin-bottom:0;position:static;min-height:auto;}
.f-item_r{padding:0px;width:42%;}
.f-item_l{padding:0 0.5em;width:58%;}
.fv{position:relative;width:100%;}
.float-footer{padding:.5em 0;bottom:0px;}
img.hukidashi{width:14em;}
.sub-heading{font-size:1.5em;top:-11px;}
.merit::after{bottom:-1.97em;height:2em;}
.sub-heading{padding-top:7%;padding-bottom:3%;}
.point .flex{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0px;}
.point .item{width:100%;}
.point .sub-heading{font-size:1.5em;top:-11px;}
.point::after{bottom:-3.477em;height:2em;}
.flow .item{width:91%;}
.notes__ttl{font-size:.72em;}
.more p {width: 80%;}
.more {width: 90%;margin: 9% auto 18%;}
.more li{ text-align: left; font-size: 0.9em;}
.eq-attn {font-size: 0.3em!important;font-weight: 300;position: absolute;right: 6px;top: 9px;z-index: 999;}
#__tealiumGDPRecModal {padding: 16px !important;}
.privacy_prompt_content p {margin-bottom: 0px !important;font-size: 0.75em;text-align: justify;}   
.privacy_prompt_footer{padding:0px;width:100%;}
.privacy_prompt_content{padding:0px;width:100%;font-size:0.95em!important;}
.privacy_prompt {display: block;}
.privacy_prompt_footer {padding: 0 !important;margin-left: 0px !important;margin-top: 14px !important;}
.push img {width: 94%;}

/* 0216追記  キャンペーン アコーディオン */
.camp-acc-header {width: fit-content;padding: 13px 10%;font-size: 16px;margin: 16px auto 15px;}
.camp-acc-body{padding:5% 14px 7%;}
.campaign .inner{padding:5% 0 10%;}
.camp-acc-icon{margin-bottom:2px;}
.eq-camp_mr{margin-top:6% !important;}


}




