:root { --ink:#163249; --accent:#126782; --line:rgba(32,78,103,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:100px; }
body { color:var(--ink); font-family: "Segoe UI","Yu Gothic","Meiryo",sans-serif; line-height:1.85; }
.yoko2 { background-image:linear-gradient(180deg,rgba(224,238,244,.06),rgba(224,238,244,.14)),url('../images/fuji_bigw.jpg'); background-position:center top; background-size:cover; background-attachment:fixed; min-height:100vh; padding-bottom:48px; }
a { color:var(--accent); text-underline-offset:4px; overflow-wrap:anywhere; }
a:focus-visible,button:focus-visible { outline:3px solid #c27822; outline-offset:5px; }
.skip-link { position:fixed; top:-100px; left:16px; z-index:100; padding:10px 18px; background:white; }
.skip-link:focus { top:12px; }
#g_navi { position:sticky; top:0; z-index:20; background:rgba(250,253,255,.91); backdrop-filter:blur(18px); border-bottom:1px solid var(--line); box-shadow:0 4px 24px rgba(20,48,70,.05); }
.nav-inner { max-width:1180px; margin:auto; padding:12px 28px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
#g_navi .site-brand { display:flex; align-items:center; gap:12px; padding:0; font-size:19px; letter-spacing:.04em; white-space:nowrap; color:var(--ink); }
.brand-mark { width:38px; height:38px; border-radius:12px; display:grid; place-items:center; background:transparent; color:white; }
.brand-mark img { display:block; width:38px; height:38px; object-fit:contain; }
#g_navi ul { display:flex; gap:4px; margin:0; padding:0; list-style:none; flex-wrap:nowrap; }
#g_navi li a { padding:10px 13px; border-radius:7px; font-size:14px; font-weight:600; color:#425b6c; white-space:nowrap; }
#g_navi a:hover { background:rgba(18,103,130,.07); }
#g_navi li a[aria-current=page] { color:var(--accent); background:rgba(18,103,130,.09); box-shadow:inset 0 -2px var(--accent); }
.menu-toggle { display:none; font:inherit; color:var(--ink); border:1px solid var(--line); background:transparent; border-radius:8px; padding:8px 13px; cursor:pointer; }
.main-card { width:calc(100% - 64px); max-width:1080px; margin:64px auto 40px; padding:clamp(24px,5vw,64px); background:rgba(255,255,255,.56); backdrop-filter:blur(2px); border:1px solid rgba(255,255,255,.75); border-radius:24px; box-shadow:0 18px 60px rgba(18,47,67,.12); overflow-wrap:anywhere; }
.page-eyebrow { display:block; color:var(--accent); font-size:12px; font-weight:700; letter-spacing:.2em; margin-bottom:14px; }
.main-card h1 { text-align:left; font-size:clamp(26px,3.6vw,42px); line-height:1.5; letter-spacing:.035em; color:var(--ink); margin:0 0 24px; }
.lead { text-align:left; font-size:17px; color:#405b6c; max-width:760px; margin:16px 0 28px; }
hr { width:100%; margin:32px 0; border:0; border-top:1px solid var(--line); }
.section-title { text-align:left; color:var(--ink); font-size:24px; margin:40px 0 20px; }
.feature-item,.notice-item,.term-item { border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:12px; background:rgba(255,255,255,.46); padding:22px 24px; margin:14px 0; gap:16px; line-height:1.85; }
.feature-text,.notice-text,.term-text { min-width:0; }
.feature-mark,.notice-mark,.term-mark { color:var(--accent); }
.note-box,.notice-box,.notes,.sub-list { background:rgba(232,242,247,.56); border-radius:12px; padding:20px 24px; line-height:1.85; }
.important-box { border:1px solid rgba(18,103,130,.3); background:rgba(236,247,250,.64); line-height:1.85; }
.main-card table { width:100%; border-collapse:collapse; table-layout:fixed; }
.main-card td { padding:18px 0; line-height:1.9; }
.main-card tr+tr td { border-top:1px solid var(--line); }
.main-card img { max-width:100%; height:auto; }
.site-footer { max-width:1080px; margin:0 auto; padding:12px 32px; display:flex; justify-content:space-between; gap:20px; font-size:13px; color:var(--ink); }
.site-footer a { color:var(--ink); }
@media(max-width:900px) {
 .nav-inner { padding:12px 20px; flex-wrap:wrap; gap:12px; }
 #g_navi .site-brand { font-size:17px; }
 .nav-enhanced .menu-toggle { display:block; }
 #g_navi ul { width:100%; flex-wrap:wrap; gap:6px; }
 .nav-enhanced #site-menu { display:none; }
 .nav-enhanced #site-menu.is-open { display:flex; flex-direction:column; max-height:calc(100dvh - 90px); overflow-y:auto; padding:8px 0; }
 #g_navi li a { padding:12px 16px; }
 .main-card { width:calc(100% - 28px); margin:28px auto; padding:28px 22px; border-radius:18px; }
 .main-card h1 { font-size:27px; }
 .feature-item,.notice-item,.term-item { padding:16px; gap:10px; }
 .main-card font[size] { font-size:1.15em; }
 .site-footer { padding:8px 22px; flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none !important; } }
