:root{--paper:#fff;--surface:#fff;--ink:#23262d;--ink-soft:#626875;--rule:#ece7e5;--ai:#2f5ea8;--ai-soft:#eef3fb;--blush:#fff6f3;--shu:#c63f2b;--on-shu:#fff;--momo:#fdeee9;--momo-line:#f3c9bd;--font-d:var(--font-display), "Hiragino Maru Gothic ProN", "Hiragino Sans", sans-serif;--font-b:var(--font-body), "Hiragino Sans", "Noto Sans JP", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-b);margin:0;font-size:16px;line-height:1.8}img{max-width:100%;display:block}a{color:var(--ai)}a:focus-visible{outline:2px solid var(--ai);outline-offset:3px;border-radius:2px}h1,h2,h3{font-family:var(--font-d);text-wrap:balance;margin:0;font-weight:700}p{margin:0}.wrap{width:100%;max-width:960px;padding-left:max(20px, env(safe-area-inset-left,0px));padding-right:max(20px, env(safe-area-inset-right,0px));margin:0 auto}.bar{border-bottom:1px solid var(--rule);background:var(--blush)}.bar-inner{justify-content:space-between;align-items:center;gap:16px;padding-block:16px;display:flex}.brand{color:var(--ink);align-items:center;gap:12px;text-decoration:none;display:inline-flex}.seal{writing-mode:vertical-rl;font-family:var(--font-d);letter-spacing:.08em;color:var(--on-shu);background:var(--shu);border-radius:4px;padding:5px 4px;font-size:10px;font-weight:700;line-height:1}.wordmark{font-family:var(--font-d);letter-spacing:.02em;font-size:22px;font-weight:700}.lang{border:1px solid var(--rule);border-radius:999px;padding:4px 14px;font-size:14px;text-decoration:none}.lang:hover{border-color:var(--ai)}.hero{align-items:center;gap:40px;padding-block:clamp(48px,9vw,104px) clamp(40px,7vw,72px);display:grid}.hero-band{background:linear-gradient(180deg, var(--blush) 0%, var(--paper) 100%)}.hero-text{gap:28px;min-width:0;display:grid}@media (min-width:880px){.hero{grid-template-columns:1.1fr 1fr}}.story{grid-template-columns:1fr auto 1fr;align-items:center;gap:4px;display:grid}.story-frame{background:var(--momo);border:2px solid var(--momo-line);border-radius:28px;justify-items:center;gap:2px;margin:0;padding:10px 10px 14px;display:grid}.story-frame img{width:100%;max-width:220px;height:auto}.story-frame figcaption{font-family:var(--font-d);color:#1c1f26;font-size:16px;font-weight:700}.story-frame.before{transform:rotate(-2.5deg)}.story-frame.after{transform:rotate(2deg)}.story-arrow{width:52px;stroke:var(--shu)}@media (prefers-reduced-motion:no-preference){.story-frame.after img{animation:2.8s ease-in-out infinite bob}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}}.hero-title{letter-spacing:.01em;font-size:clamp(36px,7vw,64px);line-height:1.25;display:grid}.hero-lead{color:var(--ink-soft);max-width:34em;font-size:clamp(16px,2.2vw,19px)}.entry{border-left:3px solid var(--shu);gap:4px;max-width:560px;margin:0;padding:4px 0 4px 18px;display:grid}.entry dt{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.entry-word{font-family:var(--font-d);font-size:20px;font-weight:700}.entry-kanji{color:var(--ink-soft)}.entry-roman{color:var(--ink-soft);letter-spacing:.06em;font-size:14px;font-style:italic}.entry dd{color:var(--ink-soft);word-break:auto-phrase;margin:0;font-size:15px;display:grid}.apps,.principles,.next{border-top:1px solid var(--rule);padding-block:clamp(40px,7vw,72px)}.section-head{gap:6px;margin-bottom:28px;display:grid}h2{font-size:clamp(24px,3.6vw,32px);line-height:1.35}.section-head p{color:var(--ink-soft)}.app-list{grid-template-columns:1fr;gap:16px;margin:0;padding:0;list-style:none;display:grid}@media (min-width:640px){.app-list{grid-template-columns:repeat(2,1fr)}}.app{background:var(--surface);border:1px solid var(--rule);border-radius:22px;flex-direction:column;gap:12px;min-width:0;padding:22px;display:flex}.app-head{align-items:center;gap:14px;display:flex}.app-head>div{flex:1;min-width:0}.badge{color:var(--shu);background:var(--momo);border:1px solid var(--momo-line);white-space:nowrap;border-radius:999px;align-self:flex-start;padding:2px 10px;font-size:12px;font-weight:700}.app.soon{background:#fffdfc}.app-icon{border:1px solid var(--rule);border-radius:14px;width:56px;height:56px}.app h3{font-size:19px;line-height:1.3}.app-cat{color:var(--ink-soft);font-size:13px}.app-problem{font-weight:700;line-height:1.6}.app-solution{color:var(--ink-soft);flex:1;font-size:15px}.app-link{border-bottom:1px solid;align-self:flex-start;padding-bottom:1px;font-size:14px;font-weight:500;text-decoration:none}.principles h2{margin-bottom:28px}.principle-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px;margin:0;padding:0;list-style:none;display:grid}.principle-list li{border-top:3px solid var(--momo-line);align-content:start;gap:8px;padding-top:14px;display:grid}.principle-list h3{font-size:18px;line-height:1.5}.principle-list p{color:var(--ink-soft);font-size:15px}.next{align-items:center;gap:24px;display:grid}.next-text{gap:10px;display:grid}.next p{color:var(--ink-soft);max-width:36em}.next-illust{grid-template-columns:repeat(3,minmax(0,120px));gap:clamp(8px,3vw,12px);margin:0;padding:0;list-style:none;display:grid}.next-illust li{background:var(--momo);aspect-ratio:1;border-radius:50%;place-items:center;width:100%;display:grid}.next-illust img{width:80%;height:auto}@media (min-width:880px){.next{grid-template-columns:1fr auto}.form-box{grid-column:1/-1}}.form-box{justify-items:start;gap:10px;display:grid}.form-box iframe{border:2px solid var(--momo-line);background:var(--surface);border-radius:22px;width:100%;height:620px}.foot{border-top:1px solid var(--rule);background:var(--blush)}.foot-inner{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px 24px;padding-block:24px;font-size:14px;display:flex}.foot .copy{margin-left:auto}.foot .note{flex-basis:100%;font-size:12px}@media (prefers-reduced-motion:no-preference){.app{transition:border-color .2s}.app:hover{border-color:var(--ai)}}.doc{gap:22px;max-width:760px;padding-block:clamp(40px,7vw,72px);display:grid}.doc h1{font-size:clamp(28px,4.4vw,38px)}.doc-lead{color:var(--ink-soft)}.doc section{border-top:1px solid var(--rule);gap:10px;padding-top:18px;display:grid}.doc h2{font-size:20px}.doc ul{margin:0;padding-left:1.2em}.doc-updated{color:var(--ink-soft);font-size:14px}
