:root{color-scheme:light;--paper:#faf5e9;--ink:#262923;--green:#42765e;--red:#bd4937;--muted:#716954;--line:#d8cfb9;--soft:#e9e6d2;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.85 -apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}a{color:var(--green);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}a:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px;border-radius:4px}.skip{position:absolute;top:-100px;left:15px;z-index:10;background:var(--paper);padding:10px}.skip:focus{top:10px}.preview{background:#302f28;color:#fff7e7;text-align:center;padding:9px 20px;font-size:12px;line-height:1.6}.shell{max-width:1120px;margin:auto;padding:0 36px}.masthead{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-size:13px;font-weight:850;letter-spacing:.045em;line-height:1.25}.brand img{width:50px;height:50px;border-radius:12px}.brand small{display:block;color:var(--muted);font-size:10px;font-weight:600;margin-top:6px;letter-spacing:.08em}.nav{display:flex;align-items:center;gap:24px;font-size:13px;font-weight:700;flex-wrap:wrap}.nav a{text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.nav a[aria-current=page]{color:var(--ink);box-shadow:inset 0 -2px var(--green)}.nav .lang{border:1px solid var(--line);border-radius:999px;padding:0 14px}.hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:42px;padding:56px 0 40px;align-items:center}.eyebrow{color:var(--green);font-size:11px;letter-spacing:.16em;font-weight:800;margin:0 0 14px;text-transform:uppercase}h1{font-size:clamp(32px,4.6vw,52px);line-height:1.25;letter-spacing:-.04em;margin:0 0 20px;max-width:800px}html[lang=ja] h1{font-size:clamp(29px,4vw,44px);letter-spacing:-.035em}.lead{font-size:17px;max-width:680px;color:var(--muted);margin:0}.hero-art{width:180px;height:180px;transform:rotate(4deg);border-radius:36px;box-shadow:6px 7px 0 var(--soft)}.meta{font-size:12px;color:var(--muted);margin-top:20px}.quick{padding:24px 28px;border:1px solid var(--line);border-radius:18px;background:var(--soft);display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:0 0 44px}.quick h2{font-size:13px;margin:0;color:var(--muted)}.quick nav{display:flex;gap:10px 24px;flex-wrap:wrap}.quick a{font-size:14px;font-weight:700;min-height:44px;display:inline-flex;align-items:center}.layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:48px;margin-bottom:64px}.side{font-size:12px;color:var(--muted)}.side p{margin:0 0 12px}.side a{display:block;padding:7px 0;line-height:1.6}.side .label{font-weight:800;letter-spacing:.05em}.content{min-width:0}.content h2{font-size:21px;line-height:1.5;margin:0 0 12px;letter-spacing:-.02em}.content p{margin:0 0 20px}.content section{scroll-margin-top:24px;margin-bottom:36px}.faq{border-top:1px solid var(--line);scroll-margin-top:24px}.faq:last-of-type{border-bottom:1px solid var(--line)}summary{font-size:17px;font-weight:700;cursor:pointer;list-style:none;padding:23px 36px 23px 0;position:relative;line-height:1.6;min-height:56px}summary::-webkit-details-marker{display:none}summary:after{content:"+";font-size:24px;font-weight:400;color:var(--green);position:absolute;right:4px;top:18px}.faq[open] summary:after{content:"−"}.answer{padding:0 30px 22px 0;color:#534f43;line-height:1.9}.answer p{margin:0}.contact{background:var(--green);color:#fffaf0;padding:30px;border-radius:18px;margin-top:40px!important}.contact a{color:#fffaf0}.contact .button{display:inline-flex;background:var(--paper);color:var(--ink);border-radius:9px;padding:12px 20px;font-size:15px;font-weight:750;text-decoration:none;min-height:48px;margin:4px 0 6px}.email{font-size:15px;overflow-wrap:anywhere}.contact ul{padding-left:20px;font-size:14px}.fine{font-size:12px;line-height:1.8}.contact .fine{opacity:.88}.contact .note-link{display:block;margin-top:16px}.scope{color:#534f43}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line);margin:0 0 44px;gap:20px;padding:22px 0}.summary-grid b{display:block;color:var(--green);font-size:14px}.summary-grid span{display:block;font-size:12px;color:var(--muted)}.notice{border-left:3px solid var(--red);padding:14px 18px;background:#f3eadb;font-size:14px;margin-bottom:18px}.providers{padding-top:24px;border-top:1px solid var(--line);font-size:13px}.providers ul{padding-left:20px}.footer{border-top:1px solid var(--line);padding:24px 0 36px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted);flex-wrap:wrap}.footer nav{display:flex;gap:22px;flex-wrap:wrap}.footer a{min-height:44px;display:inline-flex;align-items:center}#top{scroll-margin-top:0}
@media(max-width:760px){.shell{padding:0 22px}.masthead{align-items:flex-start;gap:16px;padding:18px 0}.nav{gap:8px 15px;font-size:12px;justify-content:flex-end;max-width:210px}.brand{font-size:11px;gap:9px}.brand img{width:40px;height:40px}.hero{grid-template-columns:minmax(0,1fr) 94px;gap:20px;padding:38px 0 28px}.hero-art{width:94px;height:94px;border-radius:20px}.lead{font-size:15px}.eyebrow{font-size:9px}.layout{grid-template-columns:minmax(0,1fr);gap:20px}.side{display:none}.quick{padding:15px 18px;gap:4px 15px;margin-bottom:28px}.quick nav{gap:4px 16px}.quick a{font-size:12px}.contact{padding:24px}.summary-grid{gap:12px}.summary-grid b{font-size:12px}.summary-grid span{font-size:11px}}
@media(max-width:400px){.shell{padding:0 18px}.hero{grid-template-columns:minmax(0,1fr)}.hero-art{display:none}.nav{gap:5px 12px;max-width:175px}.nav .lang{padding:0 10px}.brand small{font-size:8px}.brand{font-size:10px}.brand img{width:34px;height:34px}.summary-grid{grid-template-columns:minmax(0,1fr);gap:9px}.summary-grid>div{display:flex;justify-content:space-between;gap:12px}.summary-grid b,.summary-grid span{font-size:12px}summary{font-size:16px}.contact{padding:22px}.contact .button{font-size:14px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}
@media print{.preview,.nav,.side,.quick,.hero-art,.skip{display:none}.shell{padding:0;max-width:none}.layout{display:block}.faq .answer{display:block}body{background:white;font-size:11pt}.contact{color:#222;background:#eee}.contact a{color:#222}.footer{display:none}}
