
:root{--navy:#0b243f;--blue:#1478bd;--mint:#45b6a1;--green:#72c46b;--ink:#17314d;--sub:#596f83;--light:#f4f8fb;--line:#dce6ed}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;margin:0;color:var(--ink);background:white;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.04em}p{line-height:1.9}.wrap{width:min(1100px,calc(100% - 56px));margin:auto}
header{position:sticky;top:0;z-index:99;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.head{min-height:78px;display:flex;align-items:center;gap:25px;justify-content:space-between}.brand img{display:block;width:168px;height:auto}.nav{display:flex;gap:23px;align-items:center}.nav a{font-size:12px;font-weight:700;white-space:nowrap}.nav a:hover{color:var(--blue)}.nav a:last-child{display:none}.head-cta{border-radius:100px;padding:13px 19px;border:1px solid var(--line);font-size:12px;font-weight:750}.head-cta:hover{background:var(--navy);color:white}.mobile{display:none}.mobile summary{cursor:pointer;list-style:none;font-size:26px;line-height:1;padding:8px 10px}.mobile summary::-webkit-details-marker{display:none}.mobile[open] .mobile-links{position:absolute;top:78px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:14px 26px 18px;box-shadow:0 20px 25px #11284116}.mobile-links a{display:flex;padding:14px 4px;justify-content:space-between;font-size:14px;font-weight:700;border-bottom:1px solid #edf2f6}.mobile-links a:last-child{border:0}.mobile-links span{color:var(--blue)}
section{scroll-margin-top:88px}section:not(.hero){padding:100px 0}.eyebrow{font-size:11px;letter-spacing:.19em;font-weight:800;color:var(--blue);display:flex;align-items:center;gap:12px;margin-bottom:16px}.eyebrow:before{content:'';width:24px;height:2px;background:linear-gradient(90deg,var(--blue),var(--green))}.hero{position:relative;background:linear-gradient(114deg,#091f38,#12416a 75%,#153b53);overflow:hidden;color:white;min-height:610px}.hero-inner{min-height:610px;display:flex;align-items:center;position:relative;z-index:2}.hero-copy{max-width:755px;padding:92px 0}.hero .eyebrow{color:#b1d1df}.hero h1{font-size:clamp(43px,6.7vw,78px);line-height:1.28;margin:30px 0 27px;font-weight:850}.hero h1 em{font-style:normal;color:#8bdfbc}.hero p{color:#c5d9e5;max-width:630px;font-size:15px}.hero-circle{position:absolute;width:660px;height:660px;border:1px solid #8ac9de30;border-radius:50%;right:-220px;top:-110px;box-shadow:0 0 0 85px #ffffff09,0 0 0 190px #ffffff04}.hero-line{position:absolute;width:500px;height:65px;right:-68px;top:290px;background:linear-gradient(95deg,transparent,#1d95d8 43%,#55d2b2);transform:rotate(-35deg);border-radius:80% 10% 80% 30%;opacity:.65}.hero-line.two{top:355px;width:490px;height:42px;background:linear-gradient(95deg,transparent,#41c886,#bcdf72);opacity:.65}.bottom-glow{position:absolute;bottom:0;height:5px;width:100%;background:linear-gradient(90deg,#177fd0,#43b6c4,#81c56b)}
.btn-row{display:flex;gap:13px;margin-top:30px;flex-wrap:wrap}.btn{display:inline-flex;gap:27px;align-items:center;justify-content:space-between;border-radius:9px;padding:15px 21px;background:#fff;color:var(--navy);font-size:13px;font-weight:850;min-width:180px;box-shadow:0 8px 30px #00112221;transition:transform .2s}.btn:hover{transform:translateY(-2px)}.btn.secondary{background:transparent;border:1px solid #c4e2f180;color:#fff;box-shadow:none}.btn.primary{background:var(--blue);color:#fff}.btn.arrowless{min-width:0}.section-title{font-size:clamp(30px,4vw,48px);line-height:1.35;margin-bottom:25px}.lead{color:var(--sub);font-size:14px;line-height:2}.split{display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center}.graphic{height:375px;border-radius:22px;background:linear-gradient(135deg,#eef8fd,#e9f8f5);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.graphic:before{content:'';width:380px;height:380px;position:absolute;left:-170px;top:-170px;border:1px solid #a9d2e5;border-radius:50%;box-shadow:0 0 0 50px #b6dfef33,0 0 0 115px #b6dfef22}.graphic-card{position:relative;padding:30px 40px;background:white;border-radius:15px;box-shadow:0 16px 45px #19496717;max-width:85%}.graphic-card small{display:block;color:var(--blue);font-weight:800;letter-spacing:.15em;margin-bottom:17px}.graphic-card strong{font-size:25px}.graphic-name{position:absolute;right:20px;bottom:5px;font-size:110px;color:#206e9e17;font-weight:900}
.soft{background:var(--light)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:29px;box-shadow:0 13px 35px #15395408;min-height:258px;display:flex;flex-direction:column}.card small{color:#8a9cad;font-weight:800;font-size:12px}.card .num{height:49px;width:49px;background:#eaf6fc;color:#1988c1;border-radius:13px;display:grid;place-items:center;font-size:23px;margin:24px 0}.card h3{font-size:20px;margin-bottom:12px}.card p{font-size:13px;color:var(--sub)}.card a{font-weight:800;color:var(--blue);font-size:12px;margin-top:auto;padding-top:15px}.banner{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;background:var(--navy);padding:34px 38px;border-radius:18px;color:white;margin-top:45px}.banner b{display:block;margin-bottom:8px}.banner span{color:#bbd2e0;font-size:12px;line-height:1.8}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:40px;box-shadow:0 12px 40px #1f4a6510}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px}.data-list{list-style:none;padding:0}.data-list li{display:flex;gap:17px;padding:19px 0;border-bottom:1px solid var(--line);font-size:13px}.data-list strong{flex:0 0 120px}.data-list span{color:var(--sub)}.tag{font-size:12px;font-weight:800;color:var(--blue);display:inline-block;padding:7px 12px;background:#e9f4f9;border-radius:4px}.notice{border:1px solid var(--line);border-radius:12px;padding:30px;background:#fff}.notice h3{font-size:20px}.notice p{font-size:14px;color:var(--sub)}.notice .btn{box-shadow:none;border:1px solid var(--line)}.newsline{padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:25px;font-size:14px}.newsline span{color:var(--sub)}.policy{font-size:13px;color:var(--sub)}.policy h3{color:var(--ink);margin:28px 0 8px}.privacy-note{padding:16px 18px;background:#f0f7fb;border-left:3px solid var(--blue);font-size:13px}.editnote{margin-top:28px;font-size:12px;color:var(--sub)}
footer{background:#091d33;color:#c0d4e1;padding:60px 0 22px}footer img{width:160px;filter:brightness(0) invert(1);opacity:.95}footer p{font-size:12px;margin:17px 0 24px}footer .links{display:flex;gap:15px 25px;flex-wrap:wrap;border-top:1px solid #ffffff20;padding-top:23px;margin-top:24px;font-size:12px}footer small{display:block;color:#8aabbf;font-size:11px;margin-top:30px}.back{display:inline-block;margin-top:24px;color:var(--blue);font-weight:800;font-size:13px}
@media(max-width:900px){.nav,.head-cta{display:none}.mobile{display:block}.split{gap:32px}.cards{gap:10px}.card{padding:21px}.banner{gap:10px}}
@media(max-width:700px){html{scroll-padding-top:73px}section{scroll-margin-top:73px}.wrap{width:calc(100% - 40px)}.head{min-height:72px}.brand img{width:150px}.mobile[open] .mobile-links{top:72px}.hero,.hero-inner{min-height:540px}.hero-copy{padding:74px 0 87px}.hero h1{font-size:clamp(38px,10vw,54px);letter-spacing:-.065em}.hero p{font-size:13px}.hero-circle{right:-490px;opacity:.65}.hero-line{right:-290px;opacity:.35}.hero .btn{min-width:0}.btn-row{gap:10px}.btn{font-size:12px;padding:14px 16px;gap:14px}section:not(.hero){padding:72px 0}.split,.two-col{grid-template-columns:1fr;gap:32px}.graphic{height:260px}.graphic-card{padding:21px}.graphic-card strong{font-size:21px}.cards{grid-template-columns:1fr;gap:13px}.card{min-height:0}.card .num{margin:15px 0}.banner{grid-template-columns:1fr;padding:28px;gap:19px}.section-title{font-size:31px}.panel{padding:26px 22px}.data-list li{flex-direction:column;gap:4px}.data-list strong{flex:none}.newsline{flex-wrap:wrap;gap:13px}.mobile-links{max-height:74vh;overflow:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

/* --- スマホメニュー改善（2026-11-03）: 横スクロールの上書きを廃止し、元のハンバーガーメニューに戻した ---
   900px以下では .nav と .head-cta を隠し .mobile（☰）を表示するルール（上の @media）がそのまま効く。
   ヘッダーは1行に戻るため、隠れていた scroll-padding の上書き（125px）も不要。 */

/* --- ページ分け用に追加（2026-11-03）: 今いるページをメニューで色付け --- */
.nav a[aria-current="page"],.mobile-links a[aria-current="page"]{color:var(--blue)}
footer .links a[aria-current="page"]{color:#fff;text-decoration:underline}

/* 見出しの改行調整（2026-11-03）: スマホで「を、」だけが行に残らないよう、
   見出しは指定した改行位置でのみ折り返し、文字サイズも画面幅に合わせて調整 */
h2.section-title{word-break:keep-all;overflow-wrap:anywhere}
@media(max-width:700px){h2.section-title{font-size:clamp(24px,7.4vw,31px)}}

/* デザイン設定（2026-11-03）: Pages CMSの「デザイン設定」フォームと連動。
   content/settings.json の値を content.js が CSS変数に流し込みます。
   初期値は今までのデザインと完全に同じです。 */
:root{--text-size:14px;--body-lh:1.9;--hero-size:78px;--title-size:48px;--title-lh:1.35;--heading:#17314d;--section-pad:100px}
.lead,.notice p,.newsline{font-size:var(--text-size)}
.card p,.policy,.data-list li{font-size:calc(var(--text-size) - 1px)}
p{line-height:var(--body-lh)}
.lead{line-height:calc(var(--body-lh) + .1)}
.hero h1{font-size:clamp(calc(var(--hero-size)*.55),6.7vw,var(--hero-size))}
.section-title{font-size:clamp(30px,4vw,var(--title-size));line-height:var(--title-lh)}
h2,h3{color:var(--heading)}
section:not(.hero){padding:var(--section-pad) 0}
.hero.has-bg{background-image:linear-gradient(114deg,rgba(9,31,56,.88),rgba(18,65,106,.84) 75%,rgba(21,59,83,.88)),var(--hero-bg);background-size:cover;background-position:center}
@media(max-width:700px){
.hero h1{font-size:clamp(30px,10vw,calc(var(--hero-size)*.69))}
h2.section-title{font-size:clamp(24px,7.4vw,calc(var(--title-size)*.65))}
section:not(.hero){padding:calc(var(--section-pad)*.72) 0}
}

/* 改行対応（2026-11-03）: フォームで入れた改行が、そのままサイトでも改行として表示されます */
[data-bind]{white-space:pre-line}
