@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600&family=Noto+Serif+JP:wght@400;500&display=swap');
:root{--ink:#2b2925;--muted:#746f65;--gold:#957853;--line:#ddd6ca;--paper:#f8f5ef;--serif:'Noto Serif JP','Yu Mincho',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#fff;color:var(--ink);font:16px/1.9 'Noto Sans JP','Yu Gothic',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}h1,h2,h3,p,figure{margin:0}img{display:block;width:100%;height:100%;object-fit:cover}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:6px}.skip{position:fixed;top:-70px;left:20px;padding:12px;background:#fff;z-index:100}.skip:focus{top:15px}.progress{position:fixed;left:0;top:0;width:0;height:3px;background:var(--gold);z-index:60}header{height:105px;position:sticky;top:0;z-index:50;background:#ffffffed;backdrop-filter:blur(16px);padding:0 5%;display:flex;justify-content:space-between;align-items:center;transition:height .4s;border-bottom:1px solid #eeebe5}header.compact{height:78px}.logo{display:flex;gap:15px;align-items:center}.logo strong{font:48px/1 Georgia;letter-spacing:-5px;color:#9a7b51;padding-right:5px}.logo>span{font:16px Georgia;letter-spacing:.5px}.logo small{display:block;font:10px/2.5 'Noto Sans JP',sans-serif;letter-spacing:1px}nav{display:flex;gap:25px;align-items:center;font-size:13px}nav>a{position:relative}nav>a:after{content:'';display:block;position:absolute;height:1px;background:var(--gold);bottom:-5px;width:0;transition:width .3s}nav>a:hover:after{width:100%}.nav-shop{border:1px solid var(--line);padding:14px 20px;font:11px Arial;letter-spacing:1.2px}.menu{display:none}.hero{min-height:680px;max-height:960px;height:calc(100svh - 105px);position:relative;display:grid;grid-template-columns:48% 52%;padding:45px 6% 90px;background:linear-gradient(105deg,#fff 0%,#fff 45%,#faf7f1 45%,#faf7f1 100%)}.hero-words{align-self:center;z-index:2;padding-bottom:30px}.eyebrow{font:11px/1.6 Arial;letter-spacing:2px;color:var(--gold);margin-bottom:25px}h1{font:400 clamp(32px,3.5vw,60px)/1.8 var(--serif);letter-spacing:.02em;white-space:nowrap}h1 span{display:block;animation:enter 1.2s both}h1 span:nth-child(2){animation-delay:.15s}.hero-words>p:not(.eyebrow){margin-top:25px;font-size:15px;line-height:2.2;animation:enter 1.3s .25s both}.button{display:inline-block;padding:16px 27px;background:#f0e9dc;border:1px solid #e3d7c3;font-size:14px;transition:background .4s,box-shadow .4s}.button:hover{background:#e6d8c1;box-shadow:0 8px 22px #85704713}.hero-words .button{margin-top:35px;animation:enter 1.4s .4s both}.hero-gallery{position:relative;margin-left:40px;min-height:480px}.hero-frame{overflow:hidden;position:absolute;box-shadow:0 20px 65px #5143290d;background:#f2ede5;animation:photoEnter 1.4s both}.main-frame{width:78%;height:87%;top:0;right:6%;transform:rotate(2deg)}.hero-frame img{transition:transform 1.5s}.hero-frame:hover img{transform:scale(1.035)}.small-frame{width:40%;height:51%;left:-6%;bottom:0;transform:rotate(-5deg);animation-delay:.25s;border:9px solid #fff}.hero-frame figcaption{position:absolute;bottom:0;left:0;right:0;padding:14px 20px;background:#fffffff0;font:25px Georgia}.hero-frame figcaption span{display:block;font:9px/2 Arial;letter-spacing:1.5px}.vertical-type{position:absolute;right:-10px;top:0;writing-mode:vertical-rl;font:10px Arial;letter-spacing:2px}.hero-bottom{position:absolute;left:6%;right:6%;bottom:25px;display:flex;justify-content:space-between;font:10px Arial;letter-spacing:1.5px;color:var(--muted)}.hero-bottom a{display:flex;align-items:center;gap:20px}.hero-bottom i{height:30px;width:1px;background:var(--line);position:relative;overflow:hidden}.hero-bottom i:after{content:'';height:50%;background:var(--gold);width:1px;position:absolute;top:-50%;animation:line 2s infinite}.ribbon{padding:23px 0;border-block:1px solid var(--line);overflow:hidden;white-space:nowrap}.ribbon div{font:italic 32px Georgia;color:#b7a383;width:max-content;animation:marquee 45s linear infinite}.ribbon em{margin:0 50px;font:16px Georgia}.section{padding:110px 7%}.about{padding-block:120px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}h2{font:400 clamp(26px,2.8vw,43px)/1.8 var(--serif)}.about-grid p{font-size:15px}.about-grid p+p{margin-top:25px}.text-link{display:inline-block;padding:9px 0;border-bottom:1px solid var(--gold);font-size:14px;transition:color .3s,letter-spacing .3s}.text-link:hover{color:var(--gold);letter-spacing:.05em}.about .text-link{margin-top:22px}.brands{background:var(--paper)}.section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:65px}.section-title>p{font-size:14px;color:var(--muted)}.section-title .eyebrow{margin-bottom:16px}.brand{display:grid;grid-template-columns:52% 1fr;gap:9%;align-items:center;background:#fff}.brand-visual{height:650px;overflow:hidden}.brand-visual img{transition:transform 1.5s}.brand:hover img{transform:scale(1.03)}.brand-copy{padding:40px 40px 40px 0}.brand-index{font:10px Arial;letter-spacing:1.5px;color:var(--gold)}.brand-copy h3{font:80px/1.3 Georgia;letter-spacing:1px;margin:20px 0}.brand-copy .brand-lead{font:25px/1.8 var(--serif);margin-bottom:25px}.brand-copy>p:not(.brand-lead){font-size:14px}.brand-copy .text-link{margin-top:25px}.brand-pair{display:grid;grid-template-columns:1fr 1fr;gap:55px;margin-top:65px}.brand-mini:nth-child(2){margin-top:75px}.mini-photo{height:420px;overflow:hidden;position:relative;background:#f1e8dc}.mini-photo img{transition:transform 1s}.brand-mini:hover img{transform:scale(1.045)}.mini-photo span{position:absolute;bottom:18px;left:18px;background:#fff;padding:8px 15px;font:10px Arial;letter-spacing:1px}.mini-copy{padding:25px 0}.mini-copy h3{font:38px Georgia;margin-bottom:18px}.mini-copy p{font-size:14px;color:var(--muted)}.mini-copy .text-link{margin-top:12px}.business-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.business-grid article{border-top:1px solid var(--line);padding-top:30px}.business-grid article>span{font:italic 40px Georgia;color:#b9a585}.business-grid h3{font-size:18px;font-weight:500;margin:20px 0}.business-grid p{font-size:14px;color:var(--muted)}.feature{display:grid;grid-template-columns:52% 1fr;gap:10%;background:#f9f7f3;align-items:center}.feature-image{height:450px;overflow:hidden}.feature-copy>p:not(.eyebrow){font-size:14px;margin:25px 0}.shop-list{border-top:1px solid var(--line)}.shop{display:grid;grid-template-columns:60px 1fr auto;gap:25px;align-items:center;padding:35px 20px;border-bottom:1px solid var(--line);transition:background .5s,padding .5s}.shop:hover{background:var(--paper);padding-left:35px}.shop-number{font:italic 22px Georgia;color:var(--gold)}.shop h3{font:36px Georgia}.shop p{font-size:13px;color:var(--muted);margin-top:5px}.shop-action{font-size:13px;border:1px solid var(--line);padding:14px 22px;transition:border-color .3s}.shop:hover .shop-action{border-color:var(--gold)}.company{background:var(--paper)}.company-english{font:20px Georgia;color:var(--gold)}.company-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:12%}.large-lc{font:150px Georgia;letter-spacing:-18px;color:#b8a489;display:block;line-height:1}.company-note>p{font:18px/2 var(--serif);margin-top:30px}.company-note .text-link{margin-top:30px}dl{margin:0}dl>div{display:grid;grid-template-columns:110px 1fr;padding:23px 0;border-bottom:1px solid var(--line);font-size:14px}dl>div:first-child{border-top:1px solid var(--line)}dt{color:var(--muted)}dd{margin:0}dd small{color:var(--muted);font:13px Georgia}.contact{display:flex;justify-content:space-between;align-items:center;gap:50px}.contact h2{font-size:35px;margin-bottom:25px}.contact p:not(.eyebrow){font-size:14px}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px}footer{padding:55px 7%;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:30px}footer>div{display:flex;gap:25px;font-size:12px}footer>small{font:11px Arial;color:var(--muted)}.js .reveal{opacity:0;transform:translateY(30px);transition:opacity .9s,transform 1.1s}.js .reveal.visible{opacity:1;transform:none}@keyframes enter{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}@keyframes photoEnter{from{opacity:0;translate:0 35px}to{opacity:1;translate:0 0}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes line{to{top:110%}}
@media(min-width:1700px){.section{padding-inline:max(7%,calc((100vw - 1460px)/2))}}@media(max-width:1100px){nav{gap:15px;font-size:12px}.hero{padding-inline:5%;height:680px;min-height:600px}h1{font-size:36px}.hero-gallery{margin-left:25px}.section{padding:85px 6%}.brand-visual{height:520px}.brand{gap:7%}.brand-copy{padding-right:25px}.brand-copy h3{font-size:62px}.brand-copy .brand-lead{font-size:22px}.brand-pair{gap:35px}.mini-photo{height:370px}.contact{gap:30px}footer{flex-wrap:wrap}}
@media(max-width:760px){header{height:80px;padding:0 6%}header.compact{height:70px}.logo strong{font-size:42px}.logo>span{font-size:14px}.menu{display:block;background:none;border:0;width:40px;height:40px}.menu span{display:block;background:var(--ink);height:1px;width:25px;margin:7px auto;transition:transform .3s}.menu[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;padding:35px 8%;border-bottom:1px solid var(--line);font-size:16px}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:22px}.nav-shop{text-align:center}.hero{height:auto;max-height:none;min-height:0;display:flex;flex-direction:column;padding:50px 7% 55px;background:linear-gradient(#fff 45%,#faf7f1 45%)}.hero-words{align-self:stretch;padding-bottom:0}h1{font-size:clamp(28px,7.5vw,48px)}.hero-words>p:not(.eyebrow){font-size:14px;margin-top:20px}.hero-words .button{margin-top:25px}.hero-gallery{height:500px;min-height:0;margin:40px 0 15px}.main-frame{right:2%;width:79%;height:88%}.small-frame{left:-1%;width:39%;height:48%;border-width:6px}.hero-bottom{position:static;margin-top:20px;font-size:8px}.hero-bottom a{display:none}.vertical-type{right:-15px}.ribbon{padding:18px 0}.ribbon div{font-size:25px}.section{padding:70px 7%}.about-grid{grid-template-columns:1fr;gap:30px}h2{font-size:27px}.about-grid p{font-size:14px}.section-title{flex-direction:column;align-items:flex-start;gap:24px;margin-bottom:40px}.brand{grid-template-columns:1fr;gap:0}.brand-visual{height:450px}.brand-copy{padding:30px 25px}.brand-copy h3{font-size:60px;margin:15px 0}.brand-copy .brand-lead{font-size:22px}.brand-pair{grid-template-columns:1fr;gap:35px;margin-top:45px}.brand-mini:nth-child(2){margin-top:0}.mini-photo{height:440px}.business-grid{grid-template-columns:1fr;gap:35px}.business-grid h3{margin:12px 0}.feature{grid-template-columns:1fr;gap:35px}.feature-image{height:380px}.feature-copy h2{font-size:30px}.shop{grid-template-columns:30px 1fr;gap:15px;padding:25px 5px}.shop h3{font-size:30px}.shop-action{grid-column:2;width:max-content;margin-top:8px;font-size:12px;padding:10px 16px}.shop:hover{padding-left:12px}.company-grid{grid-template-columns:1fr;gap:35px}.large-lc{font-size:100px;letter-spacing:-12px}.company-note>p{font-size:17px;margin-top:20px}dl>div{grid-template-columns:90px 1fr;font-size:13px}.contact{flex-direction:column;align-items:flex-start;gap:30px}.contact h2{font-size:30px}.contact-actions{width:100%}.contact-actions .button{width:100%;text-align:center;font-size:13px;padding:15px 12px}footer{flex-direction:column;align-items:flex-start;padding:45px 7%}footer>div{flex-wrap:wrap;gap:15px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}

.main-frame img{object-position:center 35%}.small-frame img{object-position:center 35%}.brand-ninon .brand-visual img{object-position:center 45%}.brand-mini:nth-child(2) .mini-photo img{object-position:center 32%}.feature-image img{object-position:center 52%}
