@charset "UTF-8";
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.95 'Yu Gothic UI','Meiryo',sans-serif}body.wood{--ink:#243c32;--paper:#f4f3eb;--accent:#264c3a;--muted:#68766b;--line:#cdd2c2;--material:#cfb484}body.sweet{--ink:#673b34;--paper:#fffaf0;--accent:#a23c37;--muted:#8c7664;--line:#e0d3bb}h1,h2,h3{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-weight:500}h1,h2,h3,p,figure{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0}button,a{touch-action:manipulation}a{color:inherit;text-underline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bd8239;outline-offset:5px}[hidden]{display:none!important}img{width:100%;max-width:100%;object-fit:cover;display:block}figure{position:relative}.eyebrow{font-size:10px;font-weight:650;line-height:1.8;letter-spacing:.15em}.fine{font-size:11px;color:var(--muted);line-height:1.9}.section-space{padding:100px max(6.5%,calc((100% - 1280px)/2))}.proposal-bar{display:flex;justify-content:space-between;gap:15px;font-size:9px;background:var(--line);padding:6px 4.5%;line-height:1.8}.proposal-bar a{white-space:nowrap}.site-header{position:sticky;top:0;z-index:15;display:flex;align-items:center;justify-content:space-between;padding:22px 4.5%;gap:25px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 95%,transparent);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:500 27px/1.2 'Yu Mincho',serif;letter-spacing:.045em;white-space:nowrap}.brand-mark{display:block;width:39px;flex-shrink:0}.brand-mark svg{display:block;width:100%}.brand small{font:400 8px/1.8 'Yu Gothic UI','Meiryo',sans-serif;letter-spacing:.12em;display:block;margin-top:7px}.site-header nav{display:flex;gap:26px;align-items:center;font-size:12px}.site-header nav a{text-decoration:none}.nav-contact{padding:12px 20px;background:var(--accent);color:var(--paper);font-size:12px}.nav-contact span{margin-left:13px}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:50px;padding:15px 22px;background:var(--accent);color:var(--paper);text-decoration:none;font-size:12px;font-weight:600;line-height:1.6;border:1px solid var(--accent);transition:transform .25s,box-shadow .25s}.button:hover{transform:translateY(-3px);box-shadow:0 8px 22px #263d3220}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button.outline{color:var(--ink);background:transparent;border-color:var(--line)}.text-button{display:inline-flex;align-items:center;gap:25px;font-size:12px;line-height:1.8;border:0;border-bottom:1px solid currentColor;padding:10px 0;background:transparent;text-decoration:none}.source-link{display:inline-block;font-size:11px;color:var(--muted);margin-top:26px}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:40px}.section-heading h2{font-size:40px;line-height:1.65;margin-top:15px}.section-heading>p{font-size:13px;line-height:2;max-width:430px}.gallery-image{overflow:hidden;background:var(--line)}.gallery-image img{height:100%;transition:opacity .3s,transform 1s}.gallery-image:hover img{transform:scale(1.025)}.gallery-image figcaption{position:absolute;bottom:14px;left:14px;right:14px;max-width:85%;background:#1f2920b3;color:#fff9ea;font-size:9px;line-height:1.9;padding:6px 9px}.image-index{position:absolute;top:22px;left:23px;font:25px Georgia,serif;color:#fff9ea;text-shadow:0 1px 7px #0007}.image-expand{position:absolute;top:19px;right:19px;width:41px;height:41px;border-radius:50%;background:var(--paper);font-size:21px;box-shadow:0 4px 10px #0001}.sticky-actions{position:fixed;z-index:18;bottom:17px;left:50%;transform:translate(-50%,100px);display:flex;font-size:11px;border:1px solid var(--line);box-shadow:0 6px 25px #21372e30;transition:transform .35s}.sticky-actions.visible{transform:translate(-50%,0)}.sticky-actions a{background:var(--paper);padding:13px 20px;text-decoration:none;white-space:nowrap}.sticky-actions button{background:var(--accent);color:var(--paper);padding:13px 24px;white-space:nowrap}.assistant-launcher{position:fixed;z-index:17;right:18px;bottom:18px;background:var(--accent);color:var(--paper);display:flex;gap:10px;align-items:center;padding:12px 16px;border:1px solid #ffffff45;font-size:23px}.assistant-launcher>span{font-size:11px;line-height:1.6}.assistant-launcher small{display:block;font-size:7px;opacity:.85}footer{display:flex;justify-content:space-between;gap:40px;padding:45px 6.5% 94px;align-items:start}.footer-brand{display:flex;align-items:center;gap:14px;font:500 25px 'Yu Mincho',serif}.footer-brand small{display:block;font:8px/1.7 'Yu Gothic UI',sans-serif;letter-spacing:.12em;margin-top:9px}footer>div:last-child{font-size:10px;color:var(--muted);line-height:2.1}footer>div:last-child a{display:block;margin-top:8px}dialog{background:var(--paper);color:var(--ink);padding:35px;width:calc(100% - 32px);max-width:630px;max-height:calc(100svh - 40px);overflow:auto;border:1px solid var(--line);box-shadow:0 25px 90px #15271f44}dialog::backdrop{background:#172f29b5;backdrop-filter:blur(6px)}.dialog-close{position:absolute;right:14px;top:14px;border:1px solid var(--line);background:var(--paper);width:31px;height:31px;border-radius:50%;font-size:22px;line-height:1;z-index:3}dialog h2{font-size:31px;line-height:1.65;margin:15px 0}.dialog-intro{font-size:13px;line-height:2}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}#inquiry-form label{display:block;font-size:12px;margin-top:18px}#inquiry-form select,#inquiry-form textarea{display:block;width:100%;border:1px solid var(--line);background:#fffdf5;padding:10px;margin-top:8px;font-size:13px;resize:vertical}.selection-summary{padding:12px 15px;background:var(--line);font-size:12px;line-height:2;margin-top:20px;white-space:pre-line}#inquiry-form>.button{margin:22px 0}.memo-result{background:var(--line);padding:22px;margin:8px 0 23px}.memo-result h3{font-size:21px}.memo-result pre{font:12px/1.95 'Yu Gothic UI','Meiryo',sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;margin:15px 0 22px}#copy-status{font-size:11px;margin-top:13px}.chat-log{background:var(--line);padding:17px;max-height:330px;overflow:auto;margin:20px 0}.chat-log p{background:var(--paper);padding:12px 15px;margin-bottom:14px;font-size:13px;line-height:1.95}.chat-log .user{background:var(--accent);color:var(--paper);margin-left:25px}.chat-questions{display:flex;gap:7px;flex-wrap:wrap}.chat-questions button{background:var(--paper);border:1px solid var(--line);padding:7px 10px;border-radius:20px;font-size:11px}#ai-dialog>a{display:block;font-size:11px;margin-top:20px}#product-dialog{max-width:900px;padding:0}.detail-grid{display:grid;grid-template-columns:1fr 1.1fr;min-height:540px}#detail-image{min-height:540px;background:var(--line)}#detail-image img{position:absolute;height:100%}.detail-grid>div{padding:36px;align-self:center}.detail-grid>div>p:not(.eyebrow):not(.fine){font-size:14px;line-height:2}.detail-grid .fine{margin-top:22px}.detail-grid .button{margin-top:27px;font-size:11px}.reveal.is-visible{animation:rise-in .7s ease both}@keyframes rise-in{from{opacity:.3;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.brand{font-size:24px}.brand-mark{width:34px}.site-header nav{gap:18px;font-size:11px}.nav-contact{font-size:11px;padding:12px 15px}.section-space{padding:75px 6%}.section-heading h2{font-size:35px}.section-heading{gap:30px}.section-heading>p{max-width:360px}}
@media(max-width:800px){html{scroll-padding-top:88px}.site-header{padding:17px 22px}.brand{font-size:24px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;background:transparent;padding:8px;width:38px;height:38px}.menu-toggle span{height:1px;width:23px;background:var(--ink)}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.site-header nav{display:none;position:absolute;top:100%;left:0;width:100%;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 15px 30px #173d4520;padding:12px 22px 22px;flex-direction:column;align-items:stretch;gap:0;font-size:13px}.site-header nav.open{display:flex}.site-header nav a{padding:12px 0;border-bottom:1px solid var(--line)}.nav-contact{margin-top:18px;font-size:13px;padding:13px 17px}.section-heading{display:block}.section-heading>p{margin-top:22px;max-width:none}.section-heading h2{font-size:33px}footer{display:block}.footer-brand{margin-bottom:24px}.assistant-launcher{padding:10px 13px;right:13px;bottom:66px}.sticky-actions{bottom:0;left:0;width:100%;transform:translateY(90px);font-size:10px;border-inline:0;border-bottom:0}.sticky-actions.visible{transform:translateY(0)}.sticky-actions a{flex:0 0 37%;text-align:center;padding:15px 12px}.sticky-actions button{flex:1;padding:15px 16px}.assistant-launcher>span{font-size:10px}.assistant-launcher small{font-size:7px}.detail-grid{grid-template-columns:1fr;min-height:0}#detail-image{height:320px;min-height:320px}.detail-grid>div{padding:28px}}
@media(max-width:540px){body{font-size:14px}.proposal-bar{padding:7px 18px;font-size:8px;line-height:1.8}.proposal-bar span{max-width:225px}.site-header{padding:16px 19px;gap:14px}.brand{font-size:23px;gap:10px}.brand small{font-size:7px;margin-top:6px}.brand-mark{width:33px}.section-space{padding:52px 23px}.eyebrow{font-size:9px}.section-heading h2{font-size:30px;margin-top:13px}.section-heading>p{font-size:12px;margin-top:19px}.section-heading{margin-bottom:28px}.button{min-height:47px;font-size:11px;padding:13px 18px;gap:19px}.text-button{font-size:11px;gap:15px}.source-link{font-size:10px;margin-top:20px}.gallery-image figcaption{font-size:8px;left:11px;bottom:11px;right:11px;max-width:none;padding:5px 8px}.image-index{font-size:21px;top:18px;left:18px}.image-expand{width:36px;height:36px;top:15px;right:15px}.fine{font-size:10px}footer{padding:32px 23px 106px}.footer-brand{font-size:23px;gap:11px}footer>div:last-child{font-size:9px}.assistant-launcher{font-size:21px;padding:9px 12px}.assistant-launcher>span{font-size:9px}dialog{padding:28px 22px;max-height:calc(100svh - 30px)}dialog h2{font-size:28px}.dialog-intro{font-size:12px}.field-grid{grid-template-columns:1fr;gap:0}.selection-summary{font-size:11px}#inquiry-form label{font-size:11px}#inquiry-form select,#inquiry-form textarea{font-size:12px}.memo-result{padding:17px}.memo-result pre{font-size:11px}.chat-log{padding:12px;max-height:260px}.chat-log p{font-size:12px;padding:11px}.chat-questions button{font-size:10px}#ai-dialog>a{font-size:10px}#detail-image{height:270px;min-height:270px}.detail-grid>div{padding:25px}.detail-grid>div>p:not(.eyebrow):not(.fine){font-size:13px}.detail-grid .button{font-size:10px}.detail-grid .fine{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.button:hover,.gallery-image:hover img{transform:none!important}}
@media print{.proposal-bar,.site-header nav,.menu-toggle,.sticky-actions,.assistant-launcher,dialog{display:none}.site-header{position:static}.section-space{padding-block:35px}.reveal{opacity:1}.gallery-image{break-inside:avoid}footer{padding-bottom:25px}}

.memo-close{display:block;margin-top:16px;font-size:11px}
