:root{--ink:#203c32;--forest:#174b3d;--muted:#58685e;--cream:#faf8ef;--mint:#e0efd5;--yellow:#f6d966;--line:#ccd5c6;--white:#fffef9;--round:'Zen Maru Gothic',sans-serif;--body:'Noto Sans JP',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--body);font-size:16px;line-height:1.95;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--round);font-weight:700;letter-spacing:.025em}h2{font-size:clamp(29px,3.3vw,46px);line-height:1.55}h3{font-size:24px;line-height:1.6}a{color:inherit;text-underline-offset:5px}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #9c5807;outline-offset:5px}img{display:block;max-width:100%}[hidden]{display:none!important}.wrap{max-width:1160px;margin:auto;padding:0 40px}.skip{position:fixed;top:-100px;z-index:30;background:white;padding:12px}.skip:focus{top:0}.header{position:sticky;top:0;z-index:10;min-height:84px;padding:14px 4%;display:flex;justify-content:space-between;align-items:center;gap:16px;background:rgba(250,248,239,.98);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:700 20px/1.4 var(--round)}.brand img{border-radius:14px}.brand small{display:block;font:500 12px/1.7 var(--body);letter-spacing:.09em}.header nav{display:flex;gap:28px;align-items:center;font-size:14px;font-weight:600}.nav-link{text-decoration:none}.header-cta{display:inline-flex;gap:22px;border:1px solid var(--forest);border-radius:999px;padding:8px 22px;text-decoration:none}.header-cta:hover{background:var(--mint)}.eyebrow{font-size:14px;font-weight:600;letter-spacing:.12em;display:flex;align-items:center;gap:10px;margin-bottom:24px}.dot{display:block;width:8px;height:8px;border-radius:50%;background:var(--forest)}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:52px;padding-top:68px;padding-bottom:64px;align-items:center}.hero h1{font-size:clamp(40px,4.5vw,61px);font-weight:900;line-height:1.5;letter-spacing:.02em}.hero h1 span{background:linear-gradient(transparent 71%,var(--yellow) 71%,var(--yellow) 93%,transparent 93%)}.hero-lead{font:700 21px/1.95 var(--round);margin:25px 0 16px}.hero-description{color:var(--muted);line-height:2.1}.hero-actions{display:flex;align-items:flex-start;gap:18px;flex-direction:column;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:56px;padding:14px 24px;text-decoration:none;border-radius:999px;font-weight:700;font-size:16px;line-height:1.65;border:1px solid transparent;transition:transform .2s,background .2s}.button.primary{background:var(--forest);color:var(--white)}.button.primary:hover{background:#25624f;transform:translateY(-2px)}.text-link{font-size:14px;font-weight:600}.hero-visual{padding-top:18px;transform:rotate(2deg)}.photo-note{display:inline-block;background:var(--yellow);font:700 14px/1.5 var(--round);padding:12px 18px;transform:rotate(-5deg);margin:0 0 -8px 16px;position:relative;z-index:1}.portrait{aspect-ratio:3/2;overflow:hidden;border-radius:120px 120px 12px 12px;background:var(--mint)}.portrait img{width:100%;height:150%;object-fit:cover;transform:translateY(-16.6667%)}.identity{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--mint);padding:22px 26px;border-radius:12px 12px 36px 12px;margin-top:12px}.identity-label{font-size:13px}.identity p{font:700 25px/1.7 var(--round)}.identity p small{font-size:14px;margin-left:8px}.reading{font-size:12px;letter-spacing:.12em}.identity-icon{border:5px solid var(--cream);border-radius:50%;transform:rotate(-8deg)}.intro-strip{border-block:1px solid var(--line);font-size:14px}.intro-strip .wrap{display:flex;gap:24px;justify-content:space-between;padding-block:20px;align-items:center}.intro-strip span{color:var(--muted)}.play-section{background:var(--mint);padding:88px 0 96px;border-radius:0 0 72px 0;scroll-margin-top:0}.play-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}.play-intro h2{font-size:clamp(34px,4vw,50px);line-height:1.5;margin-bottom:24px}.play-intro>p:not(.eyebrow){color:var(--muted)}.guide{display:flex;align-items:center;gap:14px;margin:26px 0}.guide img{border-radius:50%;flex-shrink:0}.guide p{font:700 15px/1.75 var(--round);background:var(--white);padding:13px 18px;border-radius:18px 18px 18px 2px}.small{font-size:13px;line-height:1.8;color:var(--muted)}.play-board{background:var(--white);border:1px solid #bdceb3;padding:32px;border-radius:24px;box-shadow:6px 7px 0 rgba(23,75,61,.08);min-width:0}.progress-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--muted)}.progress-row>span:first-child{font-weight:700;color:var(--forest);letter-spacing:.12em}.progress{height:4px;background:#e5e9de;border-radius:2px;margin:16px 0 26px;overflow:hidden}.progress span{display:block;height:100%;width:33.333%;background:var(--forest);transition:width .25s}#question-title{font-size:23px;min-height:74px;margin-bottom:20px;outline:none}.choices{display:grid;gap:12px}.choice{display:flex;align-items:center;justify-content:space-between;gap:15px;text-align:left;width:100%;padding:14px 18px;min-height:56px;background:transparent;border:1px solid #c0cab9;border-radius:12px;color:var(--ink);font-size:16px;line-height:1.65;transition:background .15s,transform .15s}.choice::after{content:'↗';font-size:18px}.choice:hover,.choice[aria-pressed=true]{background:var(--mint);border-color:var(--forest)}.choice:active{transform:scale(.98)}.back-button{display:block;border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 0 5px;color:var(--muted);font-size:14px;min-height:44px;margin-top:15px}.result-label{font-size:13px;color:var(--forest);font-weight:600;margin-bottom:10px}#result-title{font-size:27px;margin-bottom:16px;outline:none}#result-intro{font-size:15px}.sample{margin:22px 0 16px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#f7f7f0}.sample-top{display:flex;justify-content:space-between;gap:12px;font-size:12px;padding:10px 16px;border-bottom:1px solid var(--line)}.sample-top span:first-child{font-weight:700;color:var(--forest)}#sample-content{white-space:pre-line;font-size:15px;line-height:1.9;padding:18px;min-height:125px}.sample.is-done{background:#edf5e8}.partner-button{display:flex;align-items:center;gap:12px;width:100%;border:1px solid var(--forest);border-radius:999px;background:var(--yellow);color:var(--ink);padding:7px 14px 7px 7px;font:700 15px/1.5 var(--round);text-align:left;min-height:64px}.partner-button img{border-radius:50%}.partner-button span:last-child{margin-left:auto}.partner-button:active img{transform:rotate(12deg)}#sample-note{margin:12px 0}.result-next{padding:16px 0;font-size:15px}#result-contact{width:100%;font-size:15px}.services{padding-block:96px}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:0 70px;align-items:end}.section-head .eyebrow{grid-column:1/-1}.section-head>p:last-child{color:var(--muted);font-size:16px}.service-list{margin-top:46px}.service-list article{display:grid;grid-template-columns:90px 1fr;border-top:1px solid var(--line);padding:32px 0}.service-list article:last-child{border-bottom:1px solid var(--line)}.number{font:500 32px/1.6 var(--round);color:#568366}.service-list article>div{display:grid;grid-template-columns:1fr 1.15fr;gap:8px 32px}.service-list h3{font-size:23px}.service-list p{font-size:16px;color:var(--muted);grid-column:2;grid-row:1/3}.service-tag{font-size:13px;color:var(--muted)}.service-foot{font-size:14px;margin-top:20px}.service-foot a{margin-left:14px}.why{background:var(--forest);color:var(--cream);padding:80px 0;border-radius:60px 0 0 0}.why-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:45px}.why h2{margin-bottom:30px}.why p:not(.eyebrow){margin-top:22px;color:#e5ecdf;line-height:2.1}.why .why-close{font-family:var(--round);font-size:22px;font-weight:700;color:var(--yellow)!important}.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;padding-block:96px}.about-name{display:flex;gap:18px;align-items:center;margin-top:35px}.about-name img{border-radius:50%;flex-shrink:0}.about-name b{display:block;font:700 23px/1.7 var(--round)}.about-name span{display:block;font-size:13px;color:var(--muted)}.about-body p{margin-bottom:22px}.career{border-top:1px solid var(--line);margin-top:26px;display:flex;flex-wrap:wrap;gap:6px 22px;padding-top:16px;font-size:13px;color:var(--muted)}.career b{color:var(--forest)}.faq-section{border-top:1px solid var(--line);padding:72px 0;background:#f0f2e8}.faq-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;justify-content:space-between;gap:14px;list-style:none;cursor:pointer;padding:22px 0;font-size:16px;font-weight:600;line-height:1.8}summary::-webkit-details-marker{display:none}summary span{font-size:24px;font-weight:400;color:var(--forest);flex-shrink:0}details[open] summary span{transform:rotate(45deg)}details p{padding:0 0 22px;color:var(--muted);font-size:15px}.contact{text-align:center;padding-top:86px;padding-bottom:90px}.contact-note{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:24px}.contact-note img{border-radius:50%;transform:rotate(-7deg)}.contact-note span{font-family:var(--round);font-weight:700;background:var(--yellow);padding:8px 15px;border-radius:16px 16px 16px 0;transform:rotate(3deg)}.contact .eyebrow{justify-content:center;margin-bottom:15px}.contact h2{font-size:clamp(30px,4vw,48px);margin-bottom:24px}.contact>p:not(.eyebrow){color:var(--muted)}.contact>.button{margin:28px 0 18px;min-width:330px}.contact-email{display:inline-block;font-size:13px;margin-top:20px;overflow-wrap:anywhere}footer{background:var(--forest);color:var(--cream);font-size:13px}.footer-top{display:flex;justify-content:space-between;gap:24px;padding-block:36px}.footer-top b{font-family:var(--round);font-size:20px}.footer-top p{margin-top:5px;color:#e0e8db}.footer-bottom{border-top:1px solid #527467;display:flex;justify-content:space-between;gap:16px;padding-block:20px;color:#e0e8db;font-size:12px}@keyframes hello{0%,100%{transform:rotate(0)}30%{transform:rotate(10deg)}70%{transform:rotate(-8deg)}}.waving{animation:hello .55s ease-out} @media(min-width:801px){.hero-copy{animation:arrive .7s ease-out}@keyframes arrive{from{transform:translateY(12px);opacity:.5}to{transform:none;opacity:1}}}
@media(max-width:1000px){.header .nav-link{display:none}.hero{gap:30px}.play-layout,.about,.faq-layout{gap:40px}.service-list article>div{grid-template-columns:1fr}.service-list p{grid-column:1;grid-row:auto}.section-head{gap:0 35px}.identity{padding:20px}.identity-icon{width:64px;height:64px}}
@media(max-width:800px){.wrap{padding-inline:24px}.header{min-height:72px;padding:10px 20px}.brand{font-size:17px;gap:9px}.brand img{width:36px;height:36px}.header-cta{font-size:13px;padding:8px 14px;gap:8px}.hero{grid-template-columns:1fr;padding-top:38px;padding-bottom:40px;gap:35px}.hero h1{font-size:clamp(38px,8vw,60px)}.hero .eyebrow{margin-bottom:18px}.hero-lead{font-size:20px;margin-top:20px}.hero-description{font-size:15px}.hero-actions{gap:16px;margin-top:24px}.hero-visual{max-width:520px;width:100%;margin:auto;transform:none;padding-top:0}.portrait{border-radius:90px 90px 10px 10px}.identity{padding:18px 22px}.intro-strip .wrap{flex-wrap:wrap;justify-content:flex-start;gap:4px 18px;padding-block:18px}.intro-strip p{width:100%;margin-bottom:4px}.intro-strip span{font-size:12px}.play-section{padding:48px 0 54px;border-radius:0 0 36px 0}.play-layout{grid-template-columns:1fr;gap:25px}.play-intro h2{font-size:34px;margin-bottom:15px}.desktop-break{display:none}.play-intro .eyebrow{margin-bottom:16px}.play-intro>p{font-size:15px}.guide{margin:19px 0 15px}.play-intro>.small{font-size:12px}.play-board{padding:25px 22px;box-shadow:4px 5px 0 rgba(23,75,61,.08)}#question-title{min-height:0;margin-bottom:22px;font-size:22px}.services{padding-block:54px}.section-head{display:block}.section-head>p:last-child{margin-top:20px;font-size:15px}.eyebrow{margin-bottom:18px}.service-list{margin-top:28px}.service-list article{grid-template-columns:46px 1fr;padding:25px 0}.number{font-size:24px}.service-list h3{font-size:21px}.service-list p{font-size:15px}.service-tag{font-size:12px}.service-foot{font-size:13px}.service-foot a{display:block;margin:8px 0 0}.why{padding:46px 0 50px;border-radius:32px 0 0 0}.why-grid{display:block}.why h2{font-size:29px;margin-bottom:22px}.why p:not(.eyebrow){font-size:16px}.why .why-close{font-size:20px!important}.about{grid-template-columns:1fr;padding-block:54px;gap:30px}.about-name{margin-top:24px}.about-body p{font-size:16px}.faq-section{padding:45px 0}.faq-layout{grid-template-columns:1fr;gap:26px}.faq-layout h2{font-size:29px}summary{font-size:15px;padding:18px 0}.contact{padding-top:48px;padding-bottom:54px}.contact-note img{width:72px;height:72px}.contact-note span{font-size:14px}.contact>p:not(.small){font-size:15px}.contact>.button{min-width:0;width:100%;max-width:390px}.footer-top,.footer-bottom{display:block}.footer-top{padding-block:26px}.footer-top>p{margin-top:17px}.footer-bottom span{display:block;margin-top:4px}}
@media(max-width:370px){.wrap{padding-inline:19px}.header{padding-inline:14px}.brand{font-size:15px}.header-cta{font-size:12px;padding-inline:11px}.hero h1{font-size:36px}.hero-description{font-size:14px}.button{padding-inline:18px;font-size:15px;gap:16px}.play-board{padding-inline:18px}.identity p{font-size:23px}.identity-icon{width:55px;height:55px}.identity{padding-inline:17px}.identity p small{font-size:12px;margin-left:4px}.play-intro h2{font-size:31px}#result-title{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Mobile reading rhythm and narrow-screen line breaks. */
@media(max-width:800px){.hero-description{display:none}.hero-visual{max-width:420px}.hero{gap:28px}.hero-actions{margin-top:20px}.play-intro>p:not(.eyebrow):not(.small),.section-head>p:last-child,.service-list p,.contact>p:not(.eyebrow):not(.small){font-size:16px}.play-intro h2{text-wrap:balance}.hero-lead{font-size:19px}.play-intro .small br{display:none}}
@media(max-width:370px){.play-intro h2{font-size:27px}.guide p{font-size:14px;padding:12px}.guide{gap:10px}.guide img{width:54px;height:54px}}

#result-title{text-wrap:balance}.play-board{scroll-margin-top:92px} .guide p{overflow-wrap:anywhere}

@media(max-width:800px){.hero{padding-top:28px}.hero-lead{font-size:clamp(16px,4.5vw,19px)}}

#result-title{white-space:pre-line;text-wrap:initial}
