:root{--ink:#171a1e;--red:#ed281b;--paper:#f4f0e9;--line:#d8d2c8;--muted:#696b6e;--white:#fffdf9}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP',system-ui,-apple-system,sans-serif;line-height:1.75}a{color:inherit}img{max-width:100%;display:block}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.skip-link{position:absolute;left:12px;top:-80px;background:#fff;color:#111;padding:10px;z-index:100}.skip-link:focus{top:12px}a:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:4px}
.site-header{background:var(--ink);color:var(--white);border-bottom:1px solid #424348}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:900;letter-spacing:.04em;white-space:nowrap}.brand img{border-radius:9px}.brand-text{display:flex;flex-direction:column;line-height:1.3}.brand-text strong{font-size:17px}.brand-text small{font-size:10px;font-weight:600;color:#c4c4c4;letter-spacing:.06em}.site-header nav{display:flex;gap:30px;font-size:13px;font-weight:700}.site-header nav a{text-decoration:none;color:#dedcd8}.site-header nav a:hover{color:#fff}
.hero{background:var(--ink);color:var(--white);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.07fr .93fr;align-items:center;min-height:570px;gap:56px}.eyebrow,.kicker{font-size:12px;font-weight:900;letter-spacing:.19em}.eyebrow{display:flex;align-items:center;gap:14px;color:#f7b2aa}.eyebrow-line{width:28px;height:2px;background:var(--red)}.hero h1{font-size:clamp(48px,6vw,84px);line-height:1.22;letter-spacing:-.06em;margin:28px 0 24px;font-weight:900}.hero h1 em{font-style:normal;color:var(--red)}.hero-lead{font-size:16px;color:#d4d4d0;line-height:2}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.button{min-height:52px;padding:13px 23px;display:inline-flex;align-items:center;gap:24px;text-decoration:none;font-size:14px;font-weight:800}.button-primary{background:var(--red);color:white}.button-primary:hover{background:#cf2117}.button-outline{border:1px solid #8b8b8d;color:#fff}.button-outline:hover{border-color:#fff}.hero-art{position:relative;display:grid;place-items:center;min-height:480px}.hero-art img{position:relative;width:min(360px,78%);box-shadow:20px 24px 0 #0d0e10,28px 32px 0 rgba(237,40,27,.65);transform:rotate(-6deg)}.hero-ring{position:absolute;width:580px;height:580px;border:1px solid #404145;border-radius:50%;right:-160px}.hero-ring:after{content:'';position:absolute;inset:40px;border:1px solid #323438;border-radius:50%}.hero-art-caption{position:absolute;right:4px;bottom:18px;color:#848589;font-size:11px;font-weight:900;letter-spacing:.23em;writing-mode:vertical-rl}
.section{padding:100px 0}.section-heading{margin-bottom:42px}.kicker{color:#bb2218;margin:0 0 12px}.section h2{font-size:clamp(34px,4vw,52px);letter-spacing:-.055em;line-height:1.3;margin:0 0 26px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.step{background:var(--white);padding:31px 28px 35px;border-top:4px solid var(--ink);min-height:292px}.step-no{display:block;font-size:13px;color:var(--red);font-weight:900;letter-spacing:.13em}.step h3{font-size:21px;line-height:1.4;margin:28px 0 12px}.step p{font-size:14px;color:#55585b;margin:0}.notice{display:flex;align-items:flex-start;gap:15px;border-top:1px solid var(--line);padding-top:27px;margin-top:37px}.notice p{font-size:14px;margin:0;color:#55585b}.notice-mark{width:26px;height:26px;flex:0 0 26px;display:grid;place-items:center;background:var(--red);color:#fff;font-weight:900;border-radius:50%;font-size:15px}
.records{background:#e8e1d7}.records-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.records p:not(.kicker){font-size:15px;color:#515459;max-width:520px}.record-card{background:var(--ink);color:#fff;padding:24px 34px}.record-card div{display:flex;align-items:center;gap:25px;padding:19px 0;border-bottom:1px solid #414348}.record-card span{font-size:12px;font-weight:900;color:#f25247}.record-card strong{font-size:17px}.record-card small{display:block;color:#aaa9a7;margin-top:22px;font-size:12px}
.faq-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:90px}.faq-intro{color:var(--muted);font-size:14px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;font-weight:800;padding:24px 36px 24px 0;position:relative;font-size:16px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:6px;top:20px;font-size:23px;color:var(--red);font-weight:400}.faq-list details[open] summary:after{content:'−'}.faq-list details p{margin:0 34px 25px 0;color:#53575b;font-size:14px}
.contact{background:var(--red);color:#fff}.contact .kicker{color:#ffd4cf}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.contact p:not(.kicker){font-size:14px;max-width:540px;color:#fff0ee}.contact-mail{display:block;position:relative;padding:30px 55px 34px 30px;background:#fff;color:var(--ink);text-decoration:none}.contact-mail span{display:block;font-size:12px;font-weight:800}.contact-mail strong{display:block;font-size:clamp(16px,2vw,22px);overflow-wrap:anywhere;line-height:1.5;margin-top:10px}.contact-mail .arrow{position:absolute;right:23px;top:23px;color:var(--red);font-size:24px}.contact-mail:hover{background:#f5f2ec}.site-footer{background:var(--ink);color:#b7b7b7}.footer-grid{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:90px;font-size:12px}.footer-grid div{display:flex;gap:24px}.footer-grid a{text-decoration:none}.footer-grid a:hover{color:#fff}
.policy{padding:85px 0 110px}.policy .wrap{max-width:860px}.policy-lead{font-size:17px;color:#55595c;margin:0 0 54px}.policy h1{font-size:clamp(40px,5vw,62px);line-height:1.25;letter-spacing:-.05em;margin:0 0 23px}.policy h2{font-size:23px;margin:44px 0 12px;padding-top:23px;border-top:1px solid var(--line)}.policy p,.policy li{font-size:15px;color:#4e5357}.policy ul{padding-left:1.3em}.policy a:not(.button){color:#bd2418;text-decoration-thickness:1px;text-underline-offset:3px}.policy-updated{color:#74777a;font-size:13px;margin-top:55px}
@media(max-width:900px){.hero-grid,.records-grid,.faq-grid,.contact-grid{gap:40px}.hero-grid{grid-template-columns:1fr .75fr}.hero-art{min-height:380px}.step{padding:25px 21px}.records-grid,.contact-grid{gap:40px}}
@media(max-width:720px){.wrap{width:min(100% - 32px,520px)}.nav-wrap{min-height:68px;flex-wrap:wrap;padding:12px 0;gap:10px}.site-header nav{gap:18px;font-size:11px}.brand{font-size:14px}.brand img{width:34px;height:34px}.hero-grid{grid-template-columns:1fr;gap:0;padding:62px 0 45px}.hero h1{margin-top:22px}.hero-lead{font-size:14px}.hero-art{min-height:280px;margin-top:20px}.hero-art img{width:220px}.hero-ring{width:400px;height:400px;right:-90px}.hero-art-caption{right:0;bottom:5px}.section{padding:68px 0}.steps,.records-grid,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:26px}.step{min-height:0}.step h3{margin-top:17px}.records-grid{gap:30px}.faq-grid{gap:23px}.contact-grid{gap:20px}.footer-grid{min-height:100px;align-items:flex-start;flex-direction:column;justify-content:center;gap:10px}.footer-grid div{gap:18px}.policy{padding:58px 0 75px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
