:root{--ink:#383d44;--paper:#fff;--line:#dce0e3;--muted:#616870;--accent:#b8f166}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Noto Sans JP','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #629122;outline-offset:6px}header{height:96px;display:flex;justify-content:space-between;align-items:center;padding:0 6vw;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:5}.brand{display:block;font-size:29px;font-weight:900;letter-spacing:.02em;line-height:1}.brand i{display:block;height:3px;border-block:1px solid;margin-top:5px}header nav{display:flex;gap:32px;font-size:14px;font-weight:600}header nav a:hover{opacity:.6}.menu{display:none}.mobile-nav[hidden]{display:none}.hero{background:var(--ink);color:#fff;position:relative;min-height:710px;padding:38px 6vw 48px;overflow:hidden}.hero-top{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.14em;color:#d3d6db}.hero h1{font-size:clamp(48px,6.8vw,100px);font-weight:700;line-height:1.3;letter-spacing:.025em;margin:70px 0 35px;position:relative;z-index:1}.hero-bottom{display:flex;align-items:center;gap:58px;position:relative;z-index:1}.hero-bottom p{font-size:16px;color:#e4e6e9;margin:0}.light-button{border:1px solid #a5a9ae;padding:12px 35px;font-size:14px;white-space:nowrap;transition:background .2s}.light-button:hover{background:#fff;color:var(--ink)}.hero-rule{height:7px;width:140px;background:var(--accent);margin-top:60px}.hero-logo{position:absolute;width:46%;height:auto;right:-3%;bottom:15px;opacity:.22;pointer-events:none}.section{padding:110px 6vw;scroll-margin-top:0}.section-label span{display:block;font-size:12px;letter-spacing:.12em;font-weight:600;color:var(--muted);margin-bottom:14px}.section-label h2{font-size:24px;line-height:1.5;letter-spacing:.04em;margin:0}.about,.events,.company{display:grid;grid-template-columns:1fr 2fr;gap:70px}.about-copy{max-width:730px}.about-copy h3{font-size:clamp(28px,3.4vw,48px);line-height:1.55;margin:0 0 32px;letter-spacing:.035em}.about-copy p{color:var(--muted);max-width:610px}.services{background:#f2f4f5}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:50px}.section-heading>p{font-size:18px;margin:0}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:#d4d8dc;border:1px solid #d4d8dc}.service{background:white;padding:42px}.card-top{display:flex;justify-content:space-between;gap:15px;font-size:12px;letter-spacing:.06em;color:var(--muted)}.card-top>span:first-child{font-size:24px;line-height:1.3;color:var(--ink)}.service h3{font-size:26px;margin:30px 0 12px;line-height:1.5}.service p{color:var(--muted);margin:0 0 26px;min-height:90px}.service details{border-top:1px solid var(--line);padding-top:18px}.service summary{font-size:14px;cursor:pointer;width:fit-content}.service ul{font-size:14px;color:var(--muted);padding-left:20px;margin-bottom:0}.events{background:var(--ink);color:white}.events .section-label span{color:#c9cfd5}.events-content h3{font-size:clamp(32px,4vw,55px);line-height:1.5;margin:0 0 20px}.events-content>p{color:#e1e4e7}.event-note{border-top:1px solid #6b7077;padding-top:25px;margin-top:38px}.event-note>span{font-size:12px;letter-spacing:.15em;color:var(--accent)}.event-note p{font-size:16px;max-width:570px}.event-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.event-tags span{font-size:14px;border:1px solid #7a7f85;padding:4px 16px}.company dl{margin:0}.company dl>div{display:grid;grid-template-columns:140px 1fr;border-top:1px solid var(--line);padding:24px 0;gap:24px}.company dl>div:last-child{border-bottom:1px solid var(--line)}dt{font-size:14px;color:var(--muted)}dd{margin:0;font-size:16px}.english{display:block;font-size:12px;color:var(--muted);letter-spacing:.09em;margin-top:4px}footer{margin:0 6vw;padding:40px 0;border-top:1px solid var(--line);display:flex;align-items:center;gap:40px}.footer-brand{font-size:42px;font-weight:900;letter-spacing:.02em}footer p{font-size:14px;margin:0}footer small{font-size:12px;color:var(--muted)}.back-top{margin-left:auto;font-size:14px}
@media(min-width:1600px){.section,header,.hero{padding-left:max(6vw,calc((100vw - 1400px)/2));padding-right:max(6vw,calc((100vw - 1400px)/2))}}@media(max-width:760px){html{scroll-padding-top:75px}header{height:75px;padding:0 24px}header nav{display:none}.brand{font-size:26px}.menu{display:block;border:1px solid var(--line);background:white;color:var(--ink);font-size:14px;padding:8px 14px}.mobile-nav{position:fixed;top:75px;left:0;right:0;z-index:6;background:#fff;padding:18px 24px;box-shadow:0 12px 20px #0001}.mobile-nav a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:16px}.hero{min-height:660px;padding:25px 24px 45px}.hero-top{font-size:12px}.hero-top span:last-child{display:none}.hero h1{font-size:clamp(42px,10vw,72px);margin:70px 0 30px}.hero-bottom{display:block}.hero-bottom p{font-size:16px}.light-button{display:inline-block;margin-top:26px;padding:10px 27px}.hero-logo{width:88%;right:-12%;bottom:0}.hero-rule{margin-top:50px;width:90px}.section{padding:65px 24px}.about,.events,.company{grid-template-columns:1fr;gap:35px}.section-label h2{font-size:22px}.about-copy h3{font-size:30px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:24px;font-size:16px}.service-grid{grid-template-columns:1fr}.service{padding:30px 24px}.service h3{font-size:24px;margin-top:24px}.service p{min-height:0}.card-top{font-size:12px}.company dl>div{grid-template-columns:90px 1fr;gap:15px}.events-content h3{font-size:34px}footer{margin:0 24px;padding:30px 0;gap:20px;flex-wrap:wrap}.footer-brand{font-size:32px}.back-top{width:100%;margin:5px 0 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.24;pointer-events:none}.hero-top{position:relative;z-index:1}.hero-rule{position:relative;z-index:1}.event-card{margin-top:30px;padding-top:28px;border-top:1px solid #6b7077}.event-card img{width:100%;max-height:340px;object-fit:cover;margin-bottom:22px}.event-card h4{font-size:25px;line-height:1.5;margin:0 0 10px}.event-meta{color:#b8f166;font-size:14px}.event-card p{margin:12px 0}.event-card .light-button{display:inline-block;margin-top:12px}
.header-tools{display:flex;align-items:center;gap:16px}.language-switch{display:flex;gap:8px;align-items:center;white-space:nowrap;font-size:14px}.language-switch [aria-current=page]{font-weight:700;text-decoration:underline;text-underline-offset:5px}header nav{gap:20px;font-size:14px}.contact{display:grid;grid-template-columns:1fr 2fr;gap:70px;background:#f2f4f5}.contact .section-label p{margin-top:25px;color:#616870;font-size:16px}.contact-email{font-size:16px;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}.contact-form{max-width:700px}.contact-form label{display:block;margin-bottom:24px}.contact-form label>span{font-size:14px;font-weight:600;display:block;margin-bottom:8px}.contact-form input,.contact-form textarea{background:white;border:1px solid #bbc0c5;padding:12px;font-size:16px;line-height:1.7;border-radius:0;min-height:48px;width:100%}.contact-form textarea{min-height:170px}.contact-form button{background:#383d44;color:white;border-radius:0;min-height:50px;padding:12px 28px;font-size:16px}.contact-privacy{font-size:14px;color:#616870;margin:0 0 25px;line-height:1.8}.contact-honey{display:none}.contact-status{font-size:16px;margin-top:18px;color:#8b2d20}.contact-success{padding:26px;border:1px solid #629122;background:white;font-size:18px}.inquiry{border-top:1px solid #dce0e3;padding:18px 0}.inquiry summary{cursor:pointer;font-weight:600}.inquiry p{margin:12px 0}.inquiry-note{font-size:14px;color:#616870}@media(max-width:1100px){header nav{display:none}.menu{display:block;border:1px solid #dce0e3;background:white;color:#383d44;font-size:14px;padding:8px 14px}.mobile-nav{position:fixed;top:96px;left:0;right:0;z-index:6;background:#fff;padding:18px 24px;box-shadow:0 12px 20px #0001}.mobile-nav a{display:block;padding:12px 0;border-bottom:1px solid #dce0e3;font-size:16px}}@media(max-width:760px){.contact{grid-template-columns:1fr;gap:30px}.header-tools{gap:12px}.language-switch{font-size:14px;gap:5px}header{padding:0 18px}.mobile-nav{top:75px}}html[lang=en] .hero h1{font-size:clamp(45px,6.5vw,96px);letter-spacing:-.035em;line-height:1.15}html[lang=en] .about-copy h3{letter-spacing:-.02em}html[lang=en] .service h3{font-size:25px}html[lang=en] .company dl>div{grid-template-columns:165px 1fr}@media(max-width:760px){html[lang=en] .hero h1{font-size:clamp(39px,10vw,68px)}html[lang=en] .company dl>div{grid-template-columns:105px 1fr;gap:16px}}
