:root{--ink:#1E2B27;--green:#2F4A3F;--paper:#F5F3EE}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:'Noto Sans JP',sans-serif}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid #947314;outline-offset:5px}.skip{position:absolute;left:20px;top:-100px;z-index:20;background:white;padding:12px}.skip:focus{top:10px}.top-header{min-height:112px;padding:20px 2.7% 20px 4%;display:flex;align-items:center;gap:36px;background:#fbfaf7}.brand{display:flex;flex-direction:column;text-align:center;line-height:1.2;text-decoration:none;flex-shrink:0}.brand>span{font:500 32px/1.35 'Noto Serif JP',serif;letter-spacing:.32em;border-bottom:1px solid var(--green);padding:0 0 4px .32em}.brand small{font:500 13px/1.5 'Noto Serif JP',serif;letter-spacing:.12em;padding-top:6px}.desktop-nav{margin-left:auto;display:flex;align-items:center;gap:clamp(16px,2.5vw,36px);font-size:15px;font-weight:500;white-space:nowrap}.desktop-nav a{text-decoration:none;padding:12px 0}.desktop-nav a:hover{text-decoration:underline;text-underline-offset:6px}.button{display:inline-flex;justify-content:center;align-items:center;gap:20px;text-decoration:none;border-radius:4px;font-weight:700;min-height:60px;padding:14px 24px;border:1.5px solid var(--green);line-height:1.5;transition:background-color .15s}.header-line{background:var(--green);color:white;font-size:18px;min-height:54px;min-width:235px}.button:hover{background:#234336;color:white}.hero{position:relative;min-height:680px;min-height:max(680px,calc(100svh - 112px));overflow:hidden;background:#F4F5EE;display:flex;align-items:center}.hero-visual{position:absolute;inset:0 0 0 34%;}.hero-visual>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%}.hero-fade{position:absolute;inset:0;background:linear-gradient(90deg,#F4F5EE 0%,#F4F5EE 31%,rgba(244,245,238,.9) 40%,rgba(244,245,238,.18) 57%,transparent 68%);pointer-events:none}.scene-copy{position:absolute;z-index:1;right:4%;top:6%;margin:0;font:500 21px/1.9 'Noto Serif JP',serif;letter-spacing:.04em;background:radial-gradient(ellipse,rgba(255,255,255,.96),rgba(255,255,255,.6) 70%,transparent);padding:12px 16px}.scene-copy span{display:inline-block;margin-top:4px}.hero-content{position:relative;z-index:2;width:56%;padding:72px 0 92px 4.2%}.eyebrow{font-size:17px;letter-spacing:.07em;font-weight:500;margin:0 0 28px;line-height:1.9}.eyebrow span::before{content:" "}h1{font-family:'Zen Kurenaido','Klee One','Noto Serif JP',serif;font-size:66px;font-weight:400;line-height:1.3;letter-spacing:.02em;margin:0 0 42px}.joy{display:inline-block;position:relative;padding-bottom:10px}.joy img{position:absolute;left:-5%;bottom:-8px;width:113%;height:30px;pointer-events:none}.subcopy{font:500 21px/1.9 'Noto Serif JP',serif;margin-bottom:42px}.subcopy p{margin:0 0 8px}.hero-actions{display:flex;flex-wrap:wrap;gap:16px}.hero-actions .primary{background:var(--green);color:white;font-size:18px;padding-inline:28px}.hero-actions .secondary{background:rgba(255,255,255,.94);color:var(--green);font-size:18px;min-width:210px}.hero-actions .secondary:hover{background:#e8eee8}.menu-toggle{display:none;margin-left:auto;border:0;background:transparent;width:56px;height:52px;padding:10px;cursor:pointer;flex-shrink:0}.menu-toggle span{display:block;height:2px;background:var(--green);margin:7px 0}dialog{width:min(92vw,520px);max-height:90svh;padding:24px;border:1px solid #D6D1C6;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#1e2b2777}.menu-heading{display:flex;justify-content:space-between;align-items:center}.menu-heading h2{font-family:'Noto Serif JP',serif;letter-spacing:.2em;font-size:24px}.menu-close{min-height:44px;border:1px solid #2F4A3F;padding:8px 14px;background:transparent;font:inherit;cursor:pointer}dialog nav a{display:block;min-height:52px;padding:16px 0;border-bottom:1px solid #D6D1C6;text-decoration:none;font-size:17px}
@media(max-width:1100px){.desktop-nav,.header-line{display:none}.menu-toggle{display:block}.top-header{min-height:88px;padding:14px 5%}.hero-content{width:65%;padding-top:64px;padding-bottom:64px}.hero-visual{left:26%}.scene-copy{font-size:17px;right:2%;top:4%}.hero{min-height:720px}.hero-actions{gap:12px}.eyebrow span{display:block}.eyebrow span::before{content:none}}
@media(max-width:860px){.top-header{min-height:76px;padding:10px 6%}.brand>span{font-size:28px;letter-spacing:.28em}.brand small{font-size:11px;padding-top:4px}.hero{display:flex;flex-direction:column;min-height:0;overflow:visible}.hero-visual{position:relative;inset:auto;width:100%;aspect-ratio:941/747;max-height:700px}.hero-visual>img{position:absolute;object-position:38% 50%}.hero-fade{display:none}.scene-copy{right:3%;top:5%;font-size:clamp(16px,2.2vw,21px);line-height:1.9;padding:10px;letter-spacing:.02em;max-width:52%}.scene-copy span{margin-top:7px}.hero-content{width:100%;padding:28px 9.5% 34px;background:#f6f8f5}.eyebrow{font-size:16px;letter-spacing:.02em;margin-bottom:22px}.eyebrow span{display:inline}.eyebrow span::before{content:" "}h1{margin-bottom:32px}.subcopy{font-size:18px;line-height:1.9;margin-bottom:28px}.subcopy p{margin:0 0 6px}.hero-actions{flex-direction:column;gap:12px}.hero-actions .button{width:100%;font-size:18px;min-height:60px;padding:14px 12px}.hero-actions .primary{gap:16px}}
@media(max-width:640px){h1{font-size:40px;line-height:1.3;letter-spacing:.02em}.hero-content{padding:24px 7% 30px}.eyebrow span{display:block}.eyebrow span::before{content:none}.scene-copy{font-size:16px;padding:8px;top:3%;right:1%;max-width:52%}.joy img{height:24px;bottom:-6px}.hero-actions .button{font-size:17px}}
@media(prefers-reduced-motion:reduce){.button{transition:none}}
.mobile-break{display:none}@media(max-width:640px){.mobile-break{display:block}.scene-copy{max-width:55%;width:max-content;line-height:1.8}.scene-copy span{margin-top:10px}}
