:root{--accent:#3d6b35;--accent2:#2c5127;--accent-light:#6f9a4e;--accent-soft:#eef4e9;--ink:#263529;--muted:#666e62;--paper:#faf9f4;--line:#d9ddcf;--serif:'Noto Serif JP','Yu Mincho',serif;--latin:'Cormorant Garamond',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-weight:400;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;object-fit:cover;height:auto}p,h1,h2,h3,figure{margin:0}p{line-height:2}a:focus-visible,summary:focus-visible{outline:3px solid #9bbf72;outline-offset:5px}.skip{position:fixed;top:-80px;left:16px;background:white;padding:12px;z-index:10}.skip:focus{top:8px}.draft{text-align:center;background:#e9eddf;color:#4a5944;font-size:11px;letter-spacing:.05em;padding:9px 20px;line-height:1.8}.header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 4.2%;background:var(--paper)}.brand{display:flex;flex-direction:column;text-align:center;flex-shrink:0}.brand>span{font-family:var(--latin);font-size:33px;line-height:1.05;letter-spacing:.015em}.brand>small{font-size:9px;letter-spacing:.24em;margin-top:8px}.header nav{display:flex;gap:32px;font-size:12px;letter-spacing:.06em}.header nav a:hover,.text-link:hover{color:var(--accent)}.header-cta{font-size:12px;padding:14px 18px;border:1px solid var(--accent2);display:flex;gap:25px;align-items:center}.header-cta:hover{background:var(--accent2);color:white}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:740px}.hero-copy{background:var(--accent2);color:#fff;padding:60px 9% 32px 10%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:500;line-height:1.7;color:var(--accent);margin-bottom:25px}.hero .eyebrow{color:#d1d9bb;font-size:10px;margin-bottom:16px}.invitation{font-size:11px;letter-spacing:.08em;color:#e1e7d8;margin-bottom:28px}.hero h1{font-size:clamp(36px,3.25vw,54px);font-weight:500;letter-spacing:.05em;line-height:1.65}.hero h1 em{font-style:normal}.hero-description{font-size:19px;line-height:1.8;letter-spacing:.08em;margin-top:29px}.hero-text{font-size:12px;color:#e3e8db;margin-top:16px;line-height:2.2}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;padding:19px 25px;font-size:13px;letter-spacing:.07em;min-height:58px;border:1px solid transparent;transition:background .2s,color .2s}.light{background:var(--paper);color:var(--accent2)}.light:hover{background:#e4ebd9}.hero .button{margin-top:28px}.hero-foot{display:flex;justify-content:space-between;width:100%;font-size:9px;letter-spacing:.12em;border-top:1px solid #ffffff40;padding-top:18px;margin-top:38px;color:#d2ddc5}.hero-image{position:relative;min-width:0;overflow:hidden;background:#646444}.hero-image>img{height:100%;width:100%;position:absolute;object-position:60% center}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#172414a6,transparent 55%);pointer-events:none}.hero-image figcaption{position:absolute;z-index:1;bottom:41px;left:38px;color:#fff;font-family:var(--latin);font-size:33px;font-style:italic}.hero-image figcaption small{display:block;font-family:var(--serif);font-style:normal;font-size:9px;margin-top:12px;letter-spacing:.07em}.vertical{position:absolute;top:40px;right:25px;writing-mode:vertical-rl;color:#fff;font-size:9px;letter-spacing:.23em;text-shadow:0 1px 5px #000}.intro-line{padding:23px 5%;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.08em}.intro-line span:first-child{font-size:10px;color:var(--accent)}.wrap{max-width:1240px;margin:0 auto;padding-left:44px;padding-right:44px}.section{padding-top:110px;padding-bottom:110px}h2{font-size:clamp(26px,2.7vw,38px);font-weight:500;line-height:1.85;letter-spacing:.06em}.about{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.about-photo img{width:100%;aspect-ratio:4/4.2;object-position:center}.about-photo p{font-family:var(--latin);font-size:23px;margin-top:18px;display:flex;justify-content:space-between;gap:12px;align-items:center}.about-photo p span{font-family:var(--serif);font-size:10px;letter-spacing:.06em}.about-copy>p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:22px;line-height:2.3}.text-link{display:flex;width:max-content;gap:55px;border-bottom:1px solid var(--accent);padding:13px 0;font-size:12px;margin-top:25px}.highlights{background:#eeefe7}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:50px}.section-head>p{font-size:13px;color:var(--muted);line-height:2.2;padding-bottom:8px}.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.image{position:relative}.image img{width:100%;aspect-ratio:1.25;object-fit:cover}.image>small{position:absolute;bottom:8px;right:10px;background:#faf9f4e6;padding:3px 7px;font-size:9px}.feature-title{display:flex;gap:18px;align-items:center;margin-top:25px}.feature-title>span{font-family:var(--latin);font-size:31px;color:var(--accent)}.feature-title h3{font-size:19px;letter-spacing:.04em;font-weight:500}.features article>p{font-size:12px;color:var(--muted);line-height:2.2;margin-top:14px}.footnote{font-size:10px;color:var(--muted);line-height:1.9;margin-top:25px}.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 32px}.category>img{width:100%;aspect-ratio:1.9;object-fit:cover}.category>div{margin-top:18px;padding-left:20px;border-left:1px solid #a4b096}.category small{font-size:9px;letter-spacing:.16em;color:var(--accent)}.category h3{font-size:21px;font-weight:500;margin-top:7px;letter-spacing:.1em}.category p{font-size:11px;color:var(--muted);margin-top:8px}.manufacturing{position:relative;background:#172b1b;color:white;padding:90px 0;overflow:hidden}.manufacturing>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.22}.manufacturing-inner{position:relative}.manufacturing .eyebrow{color:#d1dfc4}.manufacturing h2{font-size:clamp(25px,2.7vw,39px)}.manufacturing-inner>p:not(.eyebrow):not(.data-note){font-size:13px;color:#e0e5db;margin-top:23px}.numbers{display:grid;grid-template-columns:repeat(3,1fr);margin-top:46px;max-width:850px;border-top:1px solid #ffffff50}.numbers>div{display:flex;flex-direction:column;padding-top:23px}.numbers strong{font-family:var(--latin);font-size:63px;font-weight:400;line-height:1.2}.numbers strong small{font-family:var(--serif);font-size:17px;margin-left:8px}.numbers span{font-size:11px;margin-top:10px;color:#e3e8df;letter-spacing:.1em}.data-note{font-size:9px;color:#d5dfce;margin-top:25px}.information{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.info-lead{font-size:20px;margin-top:23px;line-height:1.9}.muted{color:var(--muted);font-size:12px;margin-top:20px}.event-details, .company dl{margin:0}.event-details>div,.company dl>div{display:grid;grid-template-columns:105px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:21px 0;font-size:12px;line-height:2}.event-details>div:first-child{border-top:1px solid var(--line)}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}.event-details a{font-family:Georgia,serif;font-size:13px;border-bottom:1px solid var(--line)}.pending{display:block;color:var(--muted);font-size:10px}.faq{background:#eeefe7}.faq-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}details{border-bottom:1px solid #ced3c3}details:first-child{border-top:1px solid #ced3c3}summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:13px;padding:25px 0;line-height:1.9}summary::-webkit-details-marker{display:none}summary span{font-size:20px;color:var(--accent)}details[open] summary span{transform:rotate(45deg)}details>p{font-size:12px;color:var(--muted);padding:0 20px 25px 0;line-height:2.2}.contact{background:var(--accent2);text-align:center;color:white}.contact .eyebrow{color:#d6e0c6}.contact h2{font-size:clamp(30px,3.4vw,47px);line-height:1.8}.contact .wrap>p:not(.eyebrow){font-size:13px;margin-top:23px;color:#e0e6d7}.contact .button{margin-top:35px}.contact .wrap>p.email{font-family:Georgia,serif;font-size:15px;margin-top:23px}.contact .wrap>p.contact-note{font-size:10px;max-width:550px;margin:15px auto 0;line-height:1.9}.company{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.company h2{font-family:var(--latin);font-size:40px;letter-spacing:.015em}.company>div>p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:17px}.company dl>div:first-child{padding-top:0}.company dl>div{font-size:11px}.footer{border-top:1px solid var(--line);padding-top:35px;padding-bottom:35px;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer .brand>span{font-size:26px}.footer p,.footer>a:last-child{font-size:10px;color:var(--muted)}
@media(min-width:1600px){.hero-copy{padding-left:max(70px,calc((100vw - 1240px)/2 + 44px));padding-right:60px}.hero{min-height:800px}}
@media(max-width:1100px){.header nav{gap:18px;font-size:11px}.header{gap:15px;padding:0 3%}.brand>span{font-size:29px}.header-cta{font-size:11px;gap:12px}.hero-copy{padding:45px 7% 30px}.hero{min-height:730px}.hero h1{font-size:38px}.hero .eyebrow{font-size:8px}.about{gap:45px}.wrap{padding-left:35px;padding-right:35px}.information,.faq-inner,.company{gap:45px}.hero-image figcaption{font-size:26px;left:25px}.features{gap:23px}.feature-title{gap:10px}.feature-title h3{font-size:17px}.about-photo p{font-size:20px}.about-photo p span{font-size:9px}}
@media(max-width:760px){html{scroll-padding-top:18px}.draft{font-size:9px;padding:8px 17px}.header{height:83px;padding:0 21px}.header nav{display:none}.brand>span{font-size:28px}.brand>small{font-size:8px;margin-top:6px}.header-cta{font-size:10px;gap:14px;padding:12px 11px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:38px 26px 26px}.hero .eyebrow{font-size:9px;margin-bottom:13px}.invitation{font-size:10px;margin-bottom:25px}.hero h1{font-size:clamp(25px,6.9vw,42px);line-height:1.65;letter-spacing:.04em}.hero-description{font-size:17px;margin-top:25px}.hero-text{font-size:11px;margin-top:14px}.hero .button{font-size:12px;padding:17px 22px;margin-top:24px}.hero-foot{font-size:8px;margin-top:30px;padding-top:17px}.hero-image{min-height:350px}.hero-image>img{object-position:60% center}.hero-image figcaption{font-size:29px;bottom:28px;left:26px}.hero-image figcaption small{font-size:8px}.vertical{right:18px;top:24px;font-size:8px}.intro-line{padding:18px 26px;flex-direction:column;gap:9px;font-size:10px}.intro-line span:first-child{font-size:8px}.wrap{padding-left:25px;padding-right:25px}.section{padding-top:65px;padding-bottom:65px}.about{grid-template-columns:1fr;gap:35px}.about-photo img{aspect-ratio:1.35}.about-photo p{font-size:22px}.about-photo p span{font-size:9px}.eyebrow{font-size:9px;margin-bottom:20px}h2{font-size:27px;line-height:1.9}.about-copy>p:not(.eyebrow){font-size:12px;margin-top:18px}.section-head{display:block;margin-bottom:30px}.section-head>p{font-size:12px;margin-top:20px}.features{grid-template-columns:1fr;gap:40px}.image img{aspect-ratio:1.65}.feature-title{margin-top:16px;gap:17px}.feature-title h3{font-size:19px}.features article>p{font-size:12px;margin-top:10px}.footnote{font-size:9px}.category-grid{gap:27px 15px}.category>img{aspect-ratio:1.1}.category>div{padding-left:10px;margin-top:13px}.category h3{font-size:16px;letter-spacing:.02em}.category small{font-size:8px}.category p{font-size:10px;line-height:1.9;margin-top:7px}.manufacturing{padding:60px 0}.manufacturing h2{font-size:24px;letter-spacing:.02em}.manufacturing-inner>p:not(.eyebrow):not(.data-note){font-size:11px}.numbers{margin-top:30px;gap:10px}.numbers strong{font-size:36px;white-space:nowrap}.numbers strong small{font-size:10px;margin-left:3px}.numbers span{font-size:9px;letter-spacing:0;line-height:1.8}.data-note{font-size:8px}.information,.faq-inner,.company{grid-template-columns:1fr;gap:30px}.info-lead{font-size:19px}.event-details>div{grid-template-columns:73px 1fr;gap:14px;font-size:11px;padding:18px 0}.event-details a{font-size:12px}.pending{font-size:9px}.faq-inner{gap:25px}summary{font-size:12px;padding:22px 0;gap:15px}.contact .wrap>p:not(.eyebrow){font-size:12px}.contact .button{font-size:12px;gap:28px;padding:18px 20px}.contact .wrap>p.contact-note{font-size:9px}.company h2{font-size:34px}.company dl>div{grid-template-columns:83px 1fr;gap:15px}.footer{flex-wrap:wrap;row-gap:23px;padding-top:30px;padding-bottom:28px}.footer .brand{width:100%;align-items:flex-start}.footer .brand>small{padding-left:45px}.footer .brand>span{font-size:29px}.footer p,.footer>a:last-child{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Balance Japanese headings on narrow screens. */
h1,h2{text-wrap:balance}@media(max-width:760px){.categories h2{font-size:25px}}

/* Exhibition date and embedded reservation form. */
.hero-date{margin-top:16px;display:flex;align-items:baseline;flex-wrap:wrap;gap:18px}.hero-date strong{font:500 41px var(--latin);letter-spacing:.05em}.hero-date span{font-size:11px;letter-spacing:.1em}.hero-place{font-size:12px;margin-top:12px;color:#e4ebdb;line-height:1.9}.hero-copy{padding-top:45px}.hero-text{margin-top:14px}.hero h1{line-height:1.5}.hero-description{margin-top:21px}.hero-foot{margin-top:27px}.venue-note{font-size:10px;color:var(--muted);margin-top:8px}.reservation{border-top:1px solid var(--line)}.booking-notice{background:var(--accent-soft);padding:18px 24px;border-left:3px solid var(--accent);font-size:12px;line-height:2;margin-bottom:35px}fieldset{border:0;padding:0;margin:0 0 36px;min-width:0}legend{font-size:18px;margin-bottom:14px;letter-spacing:.04em}legend>span{font:28px var(--latin);color:var(--accent);margin-right:15px}.field-help{font-size:11px;color:var(--muted);line-height:2;margin-bottom:15px}.slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.slot-option{position:relative;cursor:pointer}.slot-option input{position:absolute;top:15px;left:14px;accent-color:var(--accent);width:16px;height:16px}.slot-option>span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:white;border:1px solid #cbd3c3;padding:18px 12px 16px 29px;min-height:85px}.slot-option strong{font-family:Georgia,serif;font-size:15px;font-weight:400}.slot-option small{font-size:10px;color:var(--accent)}.slot-option input:checked+span{background:var(--accent2);color:white;border-color:var(--accent2)}.slot-option input:checked+span small{color:#e5eddc}.slot-option input:disabled+span{opacity:.5;background:#e3e4df;cursor:not-allowed}.slot-option input:disabled+span small{color:var(--muted)}.slot-option input:focus-visible+span{outline:3px solid #93ad72;outline-offset:3px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-grid label{font-size:12px;line-height:2;display:block}.form-grid small,legend small,.consent small{color:var(--accent);font-size:9px;font-weight:500;margin-left:8px}input:not([type=radio]):not([type=checkbox]),textarea,select{border:1px solid #bdc7b4;background:white;color:var(--ink);border-radius:0;width:100%;padding:13px 14px;min-height:47px;font:14px var(--serif);margin-top:8px;line-height:1.6}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:2px}.wide{grid-column:1/-1}textarea{resize:vertical}.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.privacy-note{padding:23px;background:#eeefe7;font-size:11px;line-height:2}.consent{display:flex;align-items:center;gap:12px;font-size:12px;margin-top:15px;cursor:pointer}.consent input{accent-color:var(--accent);width:18px;height:18px;flex-shrink:0}.reservation button{font-family:var(--serif);cursor:pointer}.reservation .button{background:var(--accent2);color:white;margin-top:24px}.reservation button:disabled{opacity:.5;cursor:wait}.form-message{margin-top:20px;font-size:12px;color:var(--accent2);line-height:2;overflow-wrap:anywhere}.booking-review{margin-top:25px;padding:30px;border:1px solid var(--accent)}.booking-review h3,.booking-success h3{font-weight:500;font-size:23px;line-height:1.8}.booking-review dl{margin:20px 0 0}.booking-review dl>div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:2}.booking-review dd{white-space:pre-wrap}.review-actions{display:flex;align-items:baseline;gap:24px;flex-wrap:wrap}.edit-button{font-family:var(--serif);font-size:12px;border:0;border-bottom:1px solid var(--accent);color:var(--accent2);padding:8px 0;background:transparent;cursor:pointer}.booking-success{padding:36px;border:1px solid var(--accent);background:#f0f3e9}.booking-success p{font-size:13px;margin:20px 0;line-height:2}.booking-success a{font-size:13px;overflow-wrap:anywhere}[hidden]{display:none!important}
@media(max-width:760px){.hero-date strong{font-size:35px}.hero-date{gap:12px}.hero-date span{font-size:10px}.hero-place{font-size:11px}.hero-copy{padding-top:35px}.hero-description{font-size:16px;margin-top:20px}.hero-text{font-size:11px}.slots{grid-template-columns:1fr 1fr;gap:10px}.slot-option>span{padding:15px 5px 14px 22px;min-height:80px}.slot-option input{left:9px;top:15px;width:14px;height:14px}.slot-option strong{font-size:13px}.slot-option small{font-size:9px}.form-grid{grid-template-columns:1fr;gap:21px}.booking-notice{font-size:11px;padding:16px}legend{font-size:16px}.consent{align-items:flex-start;font-size:11px}.consent input{margin-top:3px}.privacy-note{padding:18px;font-size:10px}.booking-review{padding:20px}.booking-review dl>div{grid-template-columns:80px 1fr;font-size:11px;gap:12px}.booking-success{padding:23px}.booking-success h3{font-size:21px}}
