*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f4f1eb;color:#111;font-family:Arial,"Noto Sans JP",sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}:root{--ink:#111;--paper:#f4f1eb;--line:#d8d4cc;--accent:#d7ff35}.site-header{height:82px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:#f4f1ebee;backdrop-filter:blur(12px);z-index:20}.logo{font-weight:900;font-size:24px;letter-spacing:-.05em}.logo span{color:#888}.nav{display:flex;gap:32px;align-items:center;text-transform:uppercase;font-size:11px;letter-spacing:.12em}.nav-contact{border:1px solid;padding:9px 15px}.menu-toggle{display:none}.menu{display:none}.hero{min-height:calc(100vh - 82px);position:relative;overflow:hidden;background:#171717;color:#f5f2ec;display:flex;align-items:center}.hero-grid{position:absolute;inset:0;opacity:.12;background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:9vw 9vw}.hero-inner{width:90vw;max-width:1280px;margin:auto;position:relative;padding:9vh 0}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:700;text-transform:uppercase;margin:0 0 18px}.hero h1{font-size:clamp(76px,14vw,190px);line-height:.78;letter-spacing:-.09em;margin:0;font-weight:900}.hero h1 span,em{color:var(--accent);font-style:normal}.hero-copy{margin-top:48px}.circle-link{position:absolute;right:4vw;bottom:5vh;border:1px solid #777;width:92px;height:92px;border-radius:50%;display:grid;place-content:center;text-align:center;font-size:9px;letter-spacing:.15em}.circle-link span{font-size:18px}.hero-side{position:absolute;right:2vw;top:50%;writing-mode:vertical-rl;font-size:9px;letter-spacing:.25em;color:#999}.section{padding:140px 5vw;max-width:1440px;margin:auto}.section-head{display:grid;grid-template-columns:1fr 2fr 1fr;gap:30px;align-items:start;margin-bottom:70px}.section-head h2{font-size:clamp(48px,7vw,96px);line-height:.9;letter-spacing:-.07em;margin:0}.lead{font-size:14px;color:#555;margin:0}.business-grid{display:grid;grid-template-columns:1.1fr 1.1fr .8fr;gap:16px}.card{min-height:520px;padding:35px;position:relative;overflow:hidden}.card-dark{background:#171717;color:#fff}.card-light{background:#dedbd3}.card-photo{color:#fff;background:linear-gradient(180deg,#49625e,#151b1b 65%,#9c9a83)}.number{font:700 12px monospace}.card h3{font-size:clamp(30px,3.4vw,52px);line-height:.95;letter-spacing:-.06em;margin:100px 0 20px}.card p{font-size:13px;color:#aaa;max-width:420px}.card-light p{color:#555}.arrow{position:absolute;right:32px;bottom:27px;font-size:35px}.text-link{display:inline-block;margin-top:35px;border-bottom:1px solid;padding-bottom:5px;font-size:12px}.split{display:grid;grid-template-columns:1fr 1fr;background:#171717;color:#fff}.split-visual{min-height:700px;background:#d8d4ca;position:relative;overflow:hidden}.rings{position:absolute;width:600px;height:600px;border:1px solid #222;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 70px #00000008,0 0 0 140px #00000008,0 0 0 210px #00000008}.product-word{position:absolute;left:10%;bottom:9%;font-size:90px;line-height:.75;font-weight:900;letter-spacing:-.09em}.product-word small{font-size:45px}.split-copy{padding:130px 10vw}.split-copy h2{font-size:clamp(42px,5vw,78px);line-height:.95;letter-spacing:-.06em}.split-copy p{max-width:520px;color:#aaa}.stat-row{display:flex;gap:18px;align-items:center;border-block:1px solid #444;padding:20px 0;margin:30px 0}.stat-row b{font:700 10px monospace}.stat-row span{color:#888}.button,.contact-button{display:inline-block;border:1px solid #777;padding:14px 20px;font-size:11px;letter-spacing:.1em}.channels{background:#111;color:#fff;max-width:none}.channels .lead{color:#999}.channel-list{border-top:1px solid #444}.channel-list div{display:grid;grid-template-columns:60px 1fr auto;padding:24px 0;border-bottom:1px solid #333}.channel-list span,.channel-list small{color:#777;font:10px monospace}.channel-list strong{font-size:clamp(22px,3vw,40px)}.about{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about h2{font-size:clamp(70px,10vw,150px);line-height:.78;letter-spacing:-.1em;margin:0}.about h2 span{font-size:.55em}.about dl{margin:40px 0}.about dl div{display:grid;grid-template-columns:130px 1fr;border-top:1px solid var(--line);padding:18px 0}.about dt{font:10px monospace;color:#777}.about dd{margin:0}.contact{background:#d7ff35;padding:140px 5vw}.contact-inner{max-width:900px;margin:auto}.contact h2{font-size:clamp(70px,12vw,160px);line-height:.75;letter-spacing:-.09em;margin:0 0 50px}.contact-button{border-color:#111;margin-top:30px}.contact-button span{margin-left:40px}footer{background:#111;color:#fff;padding:35px 5vw;display:flex;justify-content:space-between;align-items:center;font-size:10px}footer p{color:#777}

@media(max-width:800px){
.site-header{height:68px}.menu-toggle{display:block;position:absolute;opacity:0;pointer-events:none}.menu{display:block;width:32px;height:28px;position:relative;cursor:pointer;z-index:30}.menu span{position:absolute;left:0;width:100%;height:1px;background:#111;transition:.25s}.menu span:first-child{top:8px}.menu span:last-child{top:18px}.menu-toggle:checked+.menu span:first-child{top:13px;transform:rotate(45deg)}.menu-toggle:checked+.menu span:last-child{top:13px;transform:rotate(-45deg)}
.nav{position:absolute;top:68px;left:0;right:0;background:#f4f1eb;padding:28px 7vw;display:flex;flex-direction:column;align-items:flex-start;gap:10px;border-bottom:1px solid var(--line);visibility:hidden;opacity:0;transform:translateY(-10px);pointer-events:none;transition:.25s}.menu-toggle:checked~.nav{visibility:visible;opacity:1;transform:none;pointer-events:auto}.nav a{width:100%;padding:8px 0}.nav-contact{width:max-content!important}.hero{min-height:calc(100vh - 68px)}.hero h1{font-size:24vw}.hero-side{display:none}.circle-link{position:relative;right:auto;bottom:auto;margin-top:55px}.section{padding:90px 7vw}.section-head{display:block;margin-bottom:45px}.section-head h2{margin-bottom:25px}.business-grid,.split,.about{grid-template-columns:1fr}.card{min-height:430px}.split-visual{min-height:420px}.split-copy{padding:80px 8vw}.about{gap:30px}.channel-list div{grid-template-columns:35px 1fr auto}footer{display:block}footer p{margin:20px 0}
}
@media(max-width:390px){.hero h1{font-size:22vw}.card{padding:26px}.card h3{margin-top:80px}.split-copy h2{font-size:42px}.channel-list strong{font-size:21px}}
