:root{--paper:#F3EFE6;--paper-2:#EAE4D7;--ink:#151412;--muted:#6B665C;--line:#D6CEBD;--accent:#C23B22;--accent-ink:#fff;--green:#1E6B4A;--green-deep:#173A2C;--green-soft:#DCE8DF;--green-light:#7FC3A0;--night:#161513;--night-line:#34312C;--serif:"Shippori Mincho B1","Noto Serif JP",serif;--sans:"Noto Sans JP",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace;--w:1180px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,h4{word-break:auto-phrase}.wrap{max-width:var(--w);margin:0 auto;padding:0 32px}.label{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.label b{color:var(--accent);font-weight:500}.rule{height:1px;background:var(--line)}header{position:sticky;top:0;z-index:10;background:#f3efe6eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}header .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}.brand{display:flex;align-items:baseline;gap:12px}.brand .ja{font-family:var(--serif);font-weight:800;font-size:21px;letter-spacing:.06em}.brand .en{font-family:var(--mono);font-size:10px;letter-spacing:.22em;color:var(--muted)}nav{display:flex;align-items:center;gap:30px;font-size:13.5px}nav a:not(.btn){color:#3b3833}nav a:not(.btn):hover{color:var(--accent)}.btn{display:inline-flex;align-items:center;gap:10px;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:14px;padding:12px 22px;border-radius:999px;transition:transform .2s,background .2s}.btn:hover{background:#a8311b;transform:translateY(-1px)}.btn.sm{padding:9px 18px;font-size:13px}.link{font-weight:700;font-size:14px;border-bottom:1px solid var(--ink);padding-bottom:2px}.link:hover{color:var(--accent);border-color:var(--accent)}.menu{display:none;font-family:var(--mono);font-size:12px;letter-spacing:.14em}.hero{padding:88px 0 96px}.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}.hero h1{font-family:var(--serif);font-weight:800;font-size:clamp(40px,5.4vw,72px);line-height:1.28;letter-spacing:.02em;margin:26px 0 30px}.hero h1 em{font-style:normal;color:var(--accent)}.nw{display:inline-block}.fig span:last-child{text-align:right;max-width:26em}.hero p.lead{color:#3b3833;max-width:32em;font-size:16px}.hero .cta{display:flex;align-items:center;gap:28px;margin-top:40px;flex-wrap:wrap}.sheet{background:#fbf9f4;border:1px solid var(--ink);box-shadow:10px 10px 0 var(--ink);font-family:var(--mono);font-size:12.5px}.sheet .bar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--ink);padding:10px 14px;font-size:11px;letter-spacing:.12em}.sheet .bar .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:8px;animation:blink 1.6s infinite}@keyframes blink{50%{opacity:.25}}.sheet table{width:100%;border-collapse:collapse}.sheet th,.sheet td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:9px 12px;text-align:left;white-space:nowrap}.sheet th{background:var(--paper-2);color:var(--muted);font-weight:400;font-size:11px;text-align:center}.sheet td:first-child,.sheet th:first-child{width:34px;text-align:center;color:var(--muted);background:var(--paper-2)}.sheet td:last-child,.sheet th:last-child{border-right:0}.sheet tr.row td{position:relative}.sheet tr.row{animation:step 9s infinite}.sheet tr.row:nth-child(1){animation-delay:0s}.sheet tr.row:nth-child(2){animation-delay:1.5s}.sheet tr.row:nth-child(3){animation-delay:3s}.sheet tr.row:nth-child(4){animation-delay:4.5s}.sheet tr.row:nth-child(5){animation-delay:6s}.sheet tr.row:nth-child(6){animation-delay:7.5s}.tag{display:inline-block;font-size:10.5px;letter-spacing:.1em;padding:2px 8px;border:1px solid var(--ink)}.tag.on{background:var(--ink);color:var(--paper)}.tag.ac{background:var(--accent);border-color:var(--accent);color:#fff}.sheet .foot{display:flex;justify-content:space-between;padding:10px 14px;font-size:10.5px;color:var(--muted);letter-spacing:.08em}.fig{margin-top:22px;display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted)}.fig .label{color:var(--ink)}.numbers{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.numbers .wrap{display:grid;grid-template-columns:repeat(3,1fr)}.num{border-right:1px solid var(--line);padding:34px 0 30px 32px}.num:first-child{padding-left:0}.num:last-child{border-right:0}.num strong{font-family:var(--serif);font-weight:800;font-size:56px;line-height:1;letter-spacing:.01em}.num strong small{font-size:18px;margin-left:6px;font-family:var(--sans);font-weight:700}.num p{font-size:13.5px;color:var(--muted);margin-top:12px}section.block{padding:120px 0}.head{display:grid;grid-template-columns:260px 1fr;gap:48px;margin-bottom:64px;align-items:end}.head h2{font-family:var(--serif);font-weight:800;font-size:clamp(30px,3.4vw,44px);line-height:1.4;letter-spacing:.03em}.head p{color:#3b3833;max-width:34em;margin-top:18px}.svc{border-top:1px solid var(--ink)}.svc-row{display:grid;grid-template-columns:260px 1fr 1.2fr 140px;gap:48px;padding:40px 0;border-bottom:1px solid var(--line);align-items:start;transition:background .25s}.svc-row:hover{background:#ffffff59}.svc-row .no{font-family:var(--mono);font-size:13px;color:var(--accent);letter-spacing:.1em}.svc-row h3{font-family:var(--serif);font-size:26px;font-weight:700;line-height:1.5}.svc-row p{color:#3b3833;font-size:15px}.svc-row .where{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--muted);text-align:right;padding-top:8px}.flow{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink)}.step{padding:30px 28px 0 0;border-right:1px solid var(--line);margin-right:28px}.step:last-child{border-right:0;margin-right:0}.step .no{font-family:var(--serif);font-size:44px;font-weight:800;color:var(--accent);line-height:1}.step h4{font-size:17px;margin:18px 0 10px}.step p{font-size:14px;color:#3b3833}.note{margin-top:40px;font-size:13px;color:var(--muted);border-left:2px solid var(--accent);padding-left:16px}.about{background:var(--paper-2)}.about .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}.about .big{font-family:var(--serif);font-weight:800;font-size:clamp(34px,4.4vw,58px);line-height:1.35;margin:22px 0 28px}.about .big em{font-style:normal;color:var(--accent)}.about p{color:#3b3833;margin-bottom:18px}.creds{display:flex;gap:40px;margin-top:34px;padding-top:26px;border-top:1px solid var(--ink)}.creds div{font-size:13px;color:var(--muted)}.creds strong{display:block;font-family:var(--serif);font-size:22px;color:var(--ink)}.videos{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.video .thumb{display:block;position:relative;border:1px solid var(--ink);overflow:hidden;aspect-ratio:16/9;background:#111}.video .thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s,filter .5s}.video:hover .thumb img{transform:scale(1.03)}.video .play{position:absolute;left:14px;bottom:14px;background:var(--paper);border:1px solid var(--ink);font-family:var(--mono);font-size:11px;letter-spacing:.12em;padding:5px 10px}.video h3{font-family:var(--serif);font-size:19px;line-height:1.55;margin:18px 0 8px}.video p{font-size:14px;color:#3b3833}.video .links{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}.vbtn{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;padding:9px 16px;border-radius:999px;border:1px solid var(--ink);transition:background .2s,color .2s,border-color .2s}.vbtn.yt{background:var(--ink);color:var(--paper)}.vbtn.yt:hover{background:var(--accent);border-color:var(--accent);color:#fff}.vbtn.nt{background:transparent;color:var(--green);border-color:var(--green)}.vbtn.nt:hover{background:var(--green);color:#fff;border-color:var(--green)}.disc{margin-top:36px;font-size:12px;color:var(--muted)}.disc .link{margin-left:12px;font-size:12px}.plat{border-top:1px solid var(--ink)}.plat a{display:grid;grid-template-columns:220px 1fr 40px;gap:32px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line);transition:padding .25s,color .25s}.plat a:hover{padding-left:12px;color:var(--accent)}.plat .name{font-family:var(--serif);font-size:24px;font-weight:700}.plat .desc{font-size:14.5px;color:#3b3833}.plat .arr{font-family:var(--mono);text-align:right}.plat .main{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:#fff;background:var(--accent);padding:2px 8px;margin-left:10px;vertical-align:middle}.line{background:var(--night);color:#ede7da}.line .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center}.line .label{color:#9c958a}.line h2{font-family:var(--serif);font-weight:800;font-size:clamp(32px,4vw,52px);line-height:1.4;margin:22px 0 24px}.line p{color:#cfc8ba}.gifts{border-top:1px solid var(--night-line)}.gift{display:grid;grid-template-columns:56px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid var(--night-line)}.gift .no{font-family:var(--serif);font-size:30px;color:var(--accent);font-weight:800;line-height:1}.gift h4{font-size:16px;color:#fff;margin-bottom:4px}.gift p{font-size:13.5px}.line .cta{margin-top:40px;display:flex;gap:24px;align-items:center;flex-wrap:wrap}.line .cta small{color:#9c958a;font-size:12px}.ai{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.ai .wrap{display:flex;justify-content:space-between;align-items:center;gap:32px;padding-top:44px;padding-bottom:44px}.ai h3{font-family:var(--serif);font-size:26px;margin-top:8px}.ai p{font-size:14px;color:#3b3833;max-width:40em}footer{padding:72px 0 48px}footer .top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}footer .brand .ja{font-size:26px}footer ul{list-style:none;display:grid;grid-template-columns:repeat(2,auto);gap:8px 40px;font-size:13.5px}footer ul a:hover{color:var(--accent)}footer .legal{margin-top:48px;padding-top:24px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);line-height:1.9}footer .copy{margin-top:18px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--muted)}.numbers{background:var(--night);color:#ede7da;border-color:var(--night)}.numbers .num{border-color:var(--night-line)}.numbers .num p{color:#9c958a}.numbers .num strong small{color:var(--accent)}.ai{background:var(--accent);color:#fff;border-color:var(--accent)}.ai .label,.ai .label b{color:#ffffffbf}.ai p{color:#ffffffe0}.ai .link{border-color:#fff}.ai .link:hover{color:var(--ink);border-color:var(--ink)}.dark{background:var(--night);color:#ede7da}.dark .label{color:#9c958a}.dark .head p,.dark .step p{color:#cfc8ba}.dark .flow{border-color:#ede7da}.dark .step{border-color:var(--night-line)}.dark .note{color:#9c958a}.beige{background:var(--paper-2)}.beige .plat a{border-color:var(--line)}header{background:#161513f0;border-bottom-color:var(--night-line);color:#ede7da}header .brand .en{color:#9c958a}nav a:not(.btn){color:#d9d2c4}.menu{color:#d9d2c4}footer{background:#0f0e0d;color:#ede7da;border-top:1px solid var(--night-line)}footer .brand .en{color:#9c958a}footer ul a{color:#d9d2c4}footer .legal{border-top-color:var(--night-line);color:#9c958a}footer .copy{color:#77716a}footer{padding:0;background:none;border-top:0}footer .foot-top{background:#46423c;color:#f3efe6;padding:64px 0 56px}footer .foot-top .brand .en{color:#b8b1a5}footer .foot-top ul{display:flex;flex-wrap:wrap;gap:10px;max-width:560px;justify-content:flex-end}footer .foot-top ul a{display:inline-flex;align-items:center;gap:8px;color:#f3efe6;font-size:14px;font-weight:700;padding:10px 18px;border:1px solid rgba(243,239,230,.45);border-radius:999px;transition:background .2s,color .2s,border-color .2s}footer .foot-top ul a .foot-ico{width:17px;height:17px;flex:none;opacity:.9}footer .foot-top ul a:hover{background:#f3efe6;color:var(--ink);border-color:#f3efe6;text-decoration:none}@media(max-width:980px){footer .foot-top ul{justify-content:flex-start;margin-top:28px}}footer .foot-legal{background:#0f0e0d;padding:32px 0 40px}footer .foot-legal .legal{margin-top:0;padding-top:0;border-top:0;color:#9c958a}.wordmark{margin:-40px 0 72px;padding:0 32px;display:flex;justify-content:center}.wordmark img{width:min(100%,1080px);height:auto}.logo-card{background:#fff;border:1px solid var(--ink);box-shadow:10px 10px 0 var(--ink);aspect-ratio:1/1;display:grid;place-items:center;max-width:440px;width:100%}.logo-card img{width:86%;height:auto}@media(max-width:980px){.wordmark{margin:-20px 0 48px;padding:0 16px}}.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.js .reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none}}.logo-card.avatar{overflow:hidden}.logo-card.avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.foot-brand{display:flex;align-items:center;gap:20px}.foot-logo{width:72px;height:72px;background:#fff;padding:4px;border:1px solid rgba(255,255,255,.2)}.qr{display:flex;align-items:center;gap:20px;margin-top:36px}.qr img{width:120px;height:120px;background:#fff;padding:8px}.qr p{font-size:13px;color:#9c958a;line-height:1.8}@media(max-width:640px){.qr{display:none}}.svc-links{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.svc-link{color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:2px;white-space:nowrap}.svc-link:hover{color:var(--ink);border-color:var(--ink)}@media(max-width:980px){.svc-links{flex-direction:row;align-items:flex-start;gap:20px}}.btn.green{background:var(--green)}.btn.green:hover{background:#155238}.hero h1 em.xl{color:var(--green)}.sheet th,.sheet td:first-child,.sheet th:first-child{background:var(--green-soft);color:#3f5a4b}.sheet .bar{background:var(--green);color:#fff;border-color:var(--green)}.sheet .bar .dot{background:#fff}@keyframes step{0%,16%{background:#15141212;box-shadow:inset 3px 0 #8c867c}17%,to{background:transparent;box-shadow:none}}.greenbg{background:var(--green-deep)}.greenbg .step{border-color:#ffffff24}.greenbg .step .no{color:var(--green-light)}.greenbg .note{border-color:var(--green-light);color:#a9c4b6}.greenbg .label b,.line .gift .no{color:var(--green-light)}button.menu{background:none;border:0;cursor:pointer;padding:10px 0 10px 4px;line-height:1}.mnav{background:var(--night);border-top:1px solid var(--night-line)}.mnav .wrap{display:block;height:auto;padding-top:8px;padding-bottom:20px}.mnav a{display:block;padding:14px 0;border-bottom:1px solid var(--night-line);color:#ede7da;font-size:15px}.mnav a:hover{color:var(--accent)}@media(min-width:981px){.mnav{display:none}}@media(max-width:980px){nav a:not(.btn){display:none}.menu{display:inline}.hero{padding:48px 0 64px}.hero .wrap,.about .wrap,.line .wrap{grid-template-columns:1fr;gap:48px}.head{grid-template-columns:1fr;gap:12px;margin-bottom:40px}.svc-row{grid-template-columns:1fr;gap:10px;padding:30px 0}.svc-row .where{text-align:left;padding-top:4px}.flow{grid-template-columns:1fr 1fr;row-gap:36px}.step{margin-right:20px;padding-right:20px}.step:nth-child(2){border-right:0;margin-right:0}.videos{grid-template-columns:1fr;gap:44px}section.block{padding:84px 0}.ai .wrap{flex-direction:column;align-items:flex-start}}@media(max-width:640px){.wrap{padding:0 16px}header .wrap{height:60px}.brand .en{display:none}.btn.sm{padding:8px 14px;font-size:12px}.hero h1{font-size:38px}.sheet{box-shadow:6px 6px 0 var(--ink);font-size:11px}.sheet th,.sheet td{padding:8px 7px}.sheet .hide-sm{display:none}.numbers .wrap{grid-template-columns:1fr}.num{padding:24px 0;border-right:0;border-bottom:1px solid var(--line)}.num:last-child{border-bottom:0}.num strong{font-size:46px}.flow{grid-template-columns:1fr}.step{border-right:0;margin-right:0;padding-right:0;border-bottom:1px solid var(--line);padding-bottom:26px}.plat a{grid-template-columns:1fr 28px;gap:6px 12px}.plat .desc{grid-column:1/2}.plat .arr{grid-row:1/3;grid-column:2}.creds{flex-direction:column;gap:18px}.fig{flex-direction:column;gap:4px}.fig span:last-child{text-align:left}}.sp-hero{padding:88px 0 96px}.sp-hero .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:center}.sp-hero h1{font-family:var(--serif);font-weight:800;font-size:clamp(36px,4vw,54px);line-height:1.32;letter-spacing:.02em;margin:26px 0 28px}.sp-hero h1 em{font-style:normal;color:var(--accent)}.sp-hero p.lead{color:#3b3833;max-width:34em}.sp-hero p.sub{color:var(--muted);max-width:36em;margin-top:14px;font-size:15px}.sp-hero .cta{display:flex;align-items:center;gap:28px;margin-top:36px;flex-wrap:wrap}.pullout{margin-top:22px;border-left:2px solid var(--accent);padding-left:16px;font-weight:700;max-width:36em}.callout{margin-top:28px;max-width:40em;background:var(--paper-2);border-left:3px solid var(--accent);padding:18px 22px;font-size:14px;color:#3b3833}.callout strong,.callout .ttl{display:block;font-size:14px;font-weight:700;color:var(--ink);margin-bottom:4px}.callout.green{border-left-color:var(--green)}.callout.soft{background:#c23b2212}.card{background:#fbf9f4;border:1px solid var(--ink);box-shadow:10px 10px 0 var(--ink)}.card .bar{display:flex;justify-content:space-between;align-items:center;background:var(--green);color:#fff;border-bottom:1px solid var(--green);padding:12px 18px}.card .bar h2{font-size:15px;font-weight:700;letter-spacing:.04em}.card .bar span{font-family:var(--mono);font-size:11px;letter-spacing:.12em}.card.img{background:#111;overflow:hidden}.card.img img{width:100%;height:auto}.checklist{list-style:none}.checklist li{display:grid;grid-template-columns:36px 1fr;gap:10px;padding:15px 18px;border-bottom:1px solid var(--line);font-weight:500;line-height:1.7}.checklist li:last-child{border-bottom:0}.checklist .no{font-family:var(--mono);font-size:12px;color:var(--green);padding-top:2px;letter-spacing:.08em}.panel{background:#fbf9f4;border:1px solid var(--ink);padding:36px 40px;margin-bottom:56px}.panel h3{font-family:var(--serif);font-size:24px;font-weight:700;line-height:1.5}.panel p{color:#3b3833;margin-top:16px}.panel .callout{margin-top:20px;max-width:none}.panel h4{font-size:14px;font-weight:700;margin-top:26px}.pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.cols3{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}.cols3>div{padding:30px 28px 0 0;margin-right:28px;border-right:1px solid var(--line)}.cols3>div:last-child{border-right:0;margin-right:0}.cols3 .no{font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:.1em}.cols3 h3{font-family:var(--serif);font-size:22px;font-weight:700;margin:12px 0 8px}.cols3 p{font-size:14.5px;color:#3b3833}.linkrows{border-top:1px solid var(--ink)}.linkrows a{display:grid;grid-template-columns:320px 1fr auto;gap:40px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line);transition:padding .25s,color .25s}.linkrows a:hover{padding-left:12px;color:var(--accent)}.linkrows .name{font-family:var(--serif);font-size:22px;font-weight:700;line-height:1.5}.linkrows .desc{font-size:14.5px;color:#3b3833}.linkrows .go{font-size:13px;font-weight:700;white-space:nowrap;border-bottom:1px solid currentColor;padding-bottom:2px}.greenbg .linkrows{border-color:#ede7da}.greenbg .linkrows a{border-color:#ffffff24}.greenbg .linkrows .desc{color:#d3dfd7;font-size:15.5px;font-weight:400;line-height:1.9}.greenbg .linkrows a:hover{color:var(--green-light)}.greenbg .head p{color:#d3dfd7}.deflist{border-top:1px solid var(--ink)}.deflist>div{display:grid;grid-template-columns:240px 1fr;gap:32px;padding:22px 0;border-bottom:1px solid var(--line)}.deflist dt{font-weight:700}.deflist dd{color:#3b3833}.deflist-note{margin:0 0 40px}.faq{border-top:1px solid var(--ink)}.faq details{border-bottom:1px solid var(--line)}.faq summary{display:grid;grid-template-columns:1fr 28px;gap:16px;align-items:start;padding:24px 0;cursor:pointer;list-style:none;font-size:17px;font-weight:700;line-height:1.7}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-family:var(--mono);font-size:22px;font-weight:400;line-height:1.2;color:var(--accent);text-align:right;transition:transform .2s}.faq details[open] summary:after{transform:rotate(45deg)}.faq summary:hover{color:var(--accent)}.faq details p{color:#3b3833;max-width:46em;padding:0 0 28px}.ticks{list-style:none;border-top:1px solid var(--night-line);margin-top:30px}.ticks li{display:grid;grid-template-columns:40px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--night-line);color:#ede7da}.ticks .no{font-family:var(--serif);font-size:22px;font-weight:800;color:var(--green-light);line-height:1.3}.stack{display:flex;flex-direction:column;gap:14px}.stack .btn{justify-content:center;padding:16px 22px;font-size:15px}.btn.ghost{background:transparent;border:1px solid rgba(237,231,218,.45);color:#ede7da}.btn.ghost:hover{background:#ede7da;color:var(--ink);border-color:#ede7da}.duo{display:grid;grid-template-columns:1fr 1fr;gap:40px}.entry{border-top:1px solid var(--ink);padding-top:30px}.entry .kicker{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--accent)}.entry .kicker.g{color:var(--green)}.entry h3{font-family:var(--serif);font-size:26px;font-weight:700;line-height:1.5;margin:8px 0 12px}.entry p{color:#3b3833;margin-bottom:22px}.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.case{display:flex;flex-direction:column}.case .thumb{aspect-ratio:16/9;overflow:hidden;border:1px solid #4A463F;background:#111}.case .thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.case .meta{display:flex;justify-content:space-between;align-items:center;margin-top:20px;font-size:13px}.case .meta b{color:var(--green-light);font-weight:700}.case .meta span{font-family:var(--mono);color:#9c958a;letter-spacing:.1em}.case h3{font-family:var(--serif);font-size:20px;line-height:1.55;margin:10px 0 8px}.case p{font-size:14px;color:#cfc8ba;flex:1}.case .links{display:flex;flex-direction:column;gap:10px;margin-top:22px}.vbtn.solid{background:var(--accent);border-color:var(--accent);color:#fff;justify-content:center}.vbtn.solid:hover{background:#a8311b;border-color:#a8311b}.vbtn.light{background:transparent;border-color:#ede7da73;color:#ede7da;justify-content:center}.vbtn.light:hover{background:#ede7da;color:var(--ink);border-color:#ede7da}.dark .disc{color:#9c958a}.roles{display:grid;grid-template-columns:1fr 1fr;gap:40px}.roles>div{border-top:1px solid var(--ink);padding-top:28px}.roles h3{font-family:var(--serif);font-size:24px;font-weight:700}.roles .kicker{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--green)}.roles>div:last-child .kicker{color:var(--accent)}.roles ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin-top:18px}.roles li{padding:12px 0;border-bottom:1px solid var(--line);font-weight:500}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.stats>div{padding:30px 24px 26px;border-right:1px solid var(--line)}.stats>div:first-child{padding-left:0}.stats>div:last-child{border-right:0}.stats strong{display:block;font-family:var(--serif);font-weight:800;font-size:40px;line-height:1.1}.stats span{display:block;font-size:13.5px;color:var(--muted);margin-top:10px}.trust-foot{display:grid;grid-template-columns:1fr 320px;gap:40px;align-items:center;margin-top:36px}.trust-foot .callout{margin-top:0;max-width:none;font-size:15px}.trust-foot small{font-size:12px;color:var(--muted);line-height:1.8}.plan{border:1px solid rgba(255,255,255,.22);padding:34px 36px;display:flex;flex-direction:column;align-items:flex-start}.plan .kicker{font-size:13px;font-weight:700;color:var(--green-light)}.plan .title{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin:10px 0 14px}.plan h3{font-family:var(--serif);font-size:30px;font-weight:800}.plan .price{font-family:var(--serif);font-size:22px;font-weight:700;color:#fff;border-bottom:2px solid var(--accent);line-height:1.4}.plan .desc{color:#c9dcd1;font-size:15px;margin-bottom:26px;flex:1}.fine{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}.fine p{font-size:13px;color:#a9c4b6;border-left:2px solid var(--green-light);padding-left:14px}.plat.wide a{grid-template-columns:340px 1fr 40px}.closing{text-align:center}.closing h2{font-family:var(--serif);font-weight:800;font-size:clamp(30px,3.6vw,46px);line-height:1.4}.closing p{color:#cfc8ba;max-width:34em;margin:20px auto 36px}@media(max-width:980px){.sp-hero{padding:48px 0 64px}.sp-hero .wrap{grid-template-columns:1fr;gap:48px}.panel{padding:28px 24px}.cols3{grid-template-columns:1fr}.cols3>div{border-right:0;margin-right:0;padding:24px 0;border-bottom:1px solid var(--line)}.cols3>div:last-child{border-bottom:0}.linkrows a{grid-template-columns:1fr;gap:6px}.linkrows .go{justify-self:start;margin-top:8px}.deflist>div{grid-template-columns:1fr;gap:4px}.duo,.roles,.cases{grid-template-columns:1fr;gap:44px}.stats{grid-template-columns:1fr 1fr}.stats>div{border-bottom:1px solid var(--line)}.stats>div:nth-child(2){border-right:0}.stats>div:nth-child(3){padding-left:0}.stats>div:nth-child(n+3){border-bottom:0}.trust-foot,.fine{grid-template-columns:1fr;gap:20px}}@media(max-width:640px){.sp-hero h1{font-size:32px}.card{box-shadow:6px 6px 0 var(--ink)}.stats>div{padding:22px 12px 20px}.stats strong{font-size:30px}.roles ul{grid-template-columns:1fr}.plan{padding:28px 22px}.faq summary{font-size:16px}.plat.wide a{grid-template-columns:1fr 28px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.marquee{background:var(--accent);color:#fff;overflow:hidden;border-top:1px solid var(--ink);padding:14px 0}.marquee-track{display:flex;width:-moz-max-content;width:max-content;animation:marquee 38s linear infinite}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-set{display:flex;align-items:center;flex:none}.marquee-set span{display:inline-flex;align-items:center;white-space:nowrap;padding:0 28px}.marquee-set span:after{content:"";width:6px;height:6px;border-radius:50%;background:#ffffffb3;margin-left:56px}.marquee-set .en{font-family:var(--mono);font-size:13px;letter-spacing:.2em}.marquee-set .ja{font-family:var(--serif);font-weight:700;font-size:17px;letter-spacing:.06em}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(max-width:640px){.marquee{padding:11px 0}.marquee-set .ja{font-size:15px}.marquee-track{animation-duration:30s}}@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}}section[id]{scroll-margin-top:68px}@media(max-width:640px){section[id]{scroll-margin-top:60px}}
