:root{--color-fg: #2A2A2A;--color-bg: #FAFAF7;--color-surface: #FFFFFF;--color-muted: #C8C2B8;--color-accent: #6E2C3A;--color-accent-dark: #58222D;--color-line: rgba(42, 42, 42, .14);--font-base: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;--maxw: 1140px;--gutter: clamp(20px, 5vw, 40px);--section-y: clamp(56px, 7vw, 92px)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--color-bg);color:var(--color-fg);font-family:var(--font-base);font-size:16px;line-height:1.95;font-feature-settings:"palt";overflow-x:hidden}img,svg{max-width:100%;height:auto}a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px}a:hover{color:var(--color-accent)}h1,h2,h3{font-weight:700;letter-spacing:.02em;word-break:keep-all;overflow-wrap:anywhere}h1{font-size:clamp(2rem,5.2vw,3.1rem);line-height:1.38;margin:0 0 24px;text-wrap:balance}h2{font-size:clamp(1.375rem,2.6vw,1.75rem);line-height:1.5;margin:0 0 24px}h3{font-size:1.0625rem;line-height:1.6;margin:0 0 10px}p,li,dd,dt,figcaption{word-break:keep-all;overflow-wrap:anywhere;line-break:strict;text-wrap:pretty}p{margin:0 0 1.3em}p:last-child{margin-bottom:0}ul{padding-left:1.2em;margin:0 0 1.3em}li{margin-bottom:.5em}li::marker{color:var(--color-muted)}.container{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}.measure{max-width:36em}.skip-link{position:absolute;left:-9999px;top:0;background:var(--color-fg);color:var(--color-bg);padding:10px 16px}.skip-link:focus{left:0;z-index:20}.eyebrow{display:flex;align-items:center;gap:12px;font-size:.75rem;font-weight:700;letter-spacing:.18em;color:var(--color-accent);margin:0 0 18px}.eyebrow:before{content:"";width:28px;height:2px;background:var(--color-accent);flex:none}.site-header{position:sticky;top:0;z-index:10;background:var(--color-bg);background:color-mix(in srgb,var(--color-bg) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-line)}.site-header__inner{display:flex;align-items:center;gap:20px;padding:14px 0}.site-header__logo{display:inline-flex;flex:none}.site-header__logo img{width:164px;display:block}.site-nav{display:flex;gap:20px;flex-wrap:wrap;margin-left:auto;font-size:.875rem}.site-nav a{text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}.site-nav a:hover{border-bottom-color:var(--color-muted)}.site-nav a[aria-current=page]{border-bottom-color:var(--color-accent)}.site-header .btn{flex:none}.hero{position:relative;padding:clamp(56px,7vw,92px) 0 clamp(56px,7vw,88px)}.hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:clamp(24px,3.4vw,48px);align-items:center}.hero__inner{position:relative;z-index:1}.hero h1{font-size:clamp(1.85rem,2.9vw,2.35rem);margin-bottom:20px}.hero .measure{max-width:30em}.hero-graphic{width:100%;height:auto;display:block}.profile{display:grid;grid-template-columns:1fr minmax(0,300px);gap:clamp(28px,4vw,56px);align-items:center}.profile__photo{margin:0}.profile__photo img{width:100%;height:auto;display:block}.hero-graphic__label text{font-size:9px;letter-spacing:.22em;fill:var(--color-fg);opacity:.45;font-family:var(--font-base);font-weight:700}.hero__lead{font-size:1.0625rem;margin-bottom:36px}.subhead{font-size:clamp(1rem,1.6vw,1.125rem);margin:0 0 28px}.hero__actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.section{padding:var(--section-y) 0}.section--surface{background:var(--color-surface);border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line)}.section--dark{background:var(--color-fg);color:var(--color-bg)}.section--dark .eyebrow{color:var(--color-bg)}.section--dark .eyebrow:before{background:var(--color-bg)}.split{display:grid;grid-template-columns:minmax(170px,215px) 1fr;gap:clamp(24px,4vw,56px);align-items:start}.split__head h2{margin-bottom:0;font-size:clamp(1.25rem,2.1vw,1.375rem)}.checks{list-style:none;padding:0;margin:0}.checks li{position:relative;padding-left:28px;margin-bottom:14px}.checks li:before{content:"";position:absolute;left:0;top:.78em;width:10px;height:10px;border:1.5px solid var(--color-accent);transform:rotate(45deg)}.cards{display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.cards--3{grid-template-columns:repeat(3,1fr)}.cards--4{grid-template-columns:repeat(4,1fr);gap:14px}.cards--4 .card h3{font-size:.9375rem;line-height:1.6}.cards--4 .card{padding:22px 18px 16px}.card{background:var(--color-surface);border:1px solid var(--color-line);padding:24px 22px 18px;transition:border-color .15s ease;display:flex;flex-direction:column}.card:hover{border-color:var(--color-fg)}.card__num{font-size:.6875rem;font-weight:700;letter-spacing:.16em;color:var(--color-accent)}.card h3{margin:10px 0}.card p{font-size:.875rem;line-height:1.8;margin:0}.card-chart{width:100%;height:auto;margin-top:20px}.card__foot{display:flex;justify-content:flex-end;margin-top:12px;color:var(--color-accent);font-size:.9375rem}.card--tall{min-height:260px}.card--tall p{flex:1}a.card{text-decoration:none;display:block}a.card:hover{color:inherit}.flow{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr)}.flow>li{margin:0;padding:2px 20px;border-left:1px solid var(--color-line)}.flow>li:first-child{border-left:0;padding-left:0}.flow__num{display:block;font-size:.75rem;font-weight:700;letter-spacing:.12em;color:var(--color-accent);margin-bottom:12px}.flow strong{display:block;margin-bottom:6px;font-size:.9375rem}.flow p{font-size:.8125rem;line-height:1.75;margin:0;opacity:.85}.deflist{margin:0}.deflist dt{font-size:.8125rem;font-weight:700;letter-spacing:.08em;color:var(--color-accent);margin-top:28px}.deflist dt:first-of-type{margin-top:0}.deflist dd{margin:6px 0 0}.deflist ul{margin-bottom:0}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;vertical-align:top;padding:16px 12px;border-bottom:1px solid var(--color-line);font-weight:400}.table th{width:9em;font-weight:700;font-size:.9375rem;white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--color-accent);color:var(--color-bg);padding:16px 32px;text-decoration:none;font-weight:700;letter-spacing:.04em;border:1px solid var(--color-accent);border-radius:2px;cursor:pointer;transition:background .15s ease,border-color .15s ease;font-family:inherit;font-size:1rem}.btn:hover{background:var(--color-accent-dark);border-color:var(--color-accent-dark);color:var(--color-bg)}.btn--sm{padding:10px 20px;font-size:.875rem}.btn__arrow{margin-left:16px}.btn--light{background:transparent;color:var(--color-bg);border-color:#fafaf773}.btn--light:hover{background:var(--color-bg);color:var(--color-fg);border-color:var(--color-bg)}.btn--ghost{background:transparent;color:var(--color-fg);border-color:var(--color-muted)}.btn--ghost:hover{background:transparent;color:var(--color-accent);border-color:var(--color-accent)}.section--dark .btn{background:var(--color-bg);color:var(--color-fg);border-color:var(--color-bg)}.section--dark .btn:hover{background:var(--color-muted);border-color:var(--color-muted);color:var(--color-fg)}.link-arrow{text-decoration:none;font-weight:700;font-size:.9375rem;border-bottom:1px solid var(--color-muted);padding-bottom:2px}.link-arrow:after{content:" →"}.link-arrow:hover{border-bottom-color:var(--color-accent)}.note{font-size:.875rem;color:var(--color-fg);opacity:.8}.form{display:grid;gap:20px;max-width:32em}.form label{display:block;font-size:.875rem;font-weight:700;margin-bottom:8px}.form input,.form textarea{width:100%;padding:13px 15px;font:inherit;font-size:1rem;color:var(--color-fg);background:var(--color-surface);border:1px solid var(--color-muted);border-radius:2px}.form input:focus,.form textarea:focus{outline:2px solid var(--color-accent);outline-offset:1px;border-color:var(--color-accent)}.form textarea{min-height:9em;resize:vertical}.form button[disabled]{opacity:.6;cursor:default}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form__status{margin:0;font-size:.9375rem;font-weight:700}.form__status--error{color:var(--color-accent)}.site-end{position:relative;background:var(--color-fg);color:var(--color-bg);overflow:hidden}.site-end__motif{position:absolute;right:-6%;top:-10%;width:min(520px,46%);color:var(--color-muted);opacity:.12;pointer-events:none}.site-end__inner{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr 1fr .6fr;gap:clamp(28px,4vw,64px);padding:clamp(48px,6vw,76px) 0 0}.site-end .eyebrow{color:var(--color-bg)}.site-end .eyebrow:before{background:var(--color-bg)}.site-end h2{margin-bottom:14px;font-size:clamp(1.1875rem,1.9vw,1.4375rem)}.site-end a{color:var(--color-bg);text-decoration:none}.site-end a:hover{color:var(--color-muted)}.site-end__logo{width:128px;color:var(--color-bg);margin-bottom:16px}.site-end__logo svg{width:100%;height:auto;display:block}.site-end__logo svg g{fill:currentColor}.site-end__logo svg path[stroke]{stroke:currentColor}.site-end__desc{font-size:.875rem;line-height:1.9}.site-end__mail{display:inline-flex;align-items:center;gap:10px;font-size:.875rem;margin-top:10px}.site-end__links{display:grid;gap:12px;font-size:.875rem;align-content:start}.site-end__bottom{position:relative;z-index:1;padding:36px 0 32px;margin-top:clamp(32px,4vw,52px);border-top:1px solid rgba(250,250,247,.16);font-size:.75rem;opacity:.7}@media(max-width:1000px){.profile{grid-template-columns:1fr;gap:28px}.profile__photo{max-width:260px}.hero__grid{grid-template-columns:1fr;gap:32px}.hero__inner{max-width:none}.hero-graphic{max-width:560px}.flow{grid-template-columns:repeat(2,1fr);gap:24px 0}.flow>li:nth-child(odd){border-left:0;padding-left:0}}@media(max-width:900px){.split{grid-template-columns:1fr;gap:20px}.cards,.cards--3{grid-template-columns:1fr}.cards--4{grid-template-columns:repeat(2,1fr)}.site-end__inner{grid-template-columns:1fr}.site-end__links{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.hero{overflow:hidden}.hero__grid{display:block}.hero__inner{position:relative;z-index:1}.hero-graphic{position:absolute;z-index:0;pointer-events:none;top:50%;left:50%;transform:translate(-50%,-50%);width:165%;max-width:none;opacity:.17}.site-header__inner{flex-wrap:wrap;row-gap:6px;padding:10px 0}.site-header__logo img{width:126px}.site-nav{width:100%;margin-left:0;gap:14px;font-size:.75rem}.site-header .btn{display:none}.cards--4{grid-template-columns:1fr}.flow{grid-template-columns:1fr;gap:20px}.flow>li{border-left:0;padding:0}}
