
:root{--ink:#292524;--muted:#756c66;--wine:#8d3f49;--wine-dark:#51282f;--cream:#f5efe8;--sand:#e7d9cc;--gold:#b99a69;--line:#e6ddd5;--white:#fff;--serif:"Times New Roman","Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--sans);line-height:1.9;background:#fff}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;vertical-align:middle}.container{width:min(1160px,calc(100% - 52px));margin:auto}
.header{background:#fff}.header-inner{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo img{width:365px;display:block}.nav{display:flex;align-items:center;gap:27px}.nav a{font-size:12px;letter-spacing:.09em;color:#554b46}.nav a:hover,.nav a[aria-current=page]{color:var(--wine)}.nav .contact-link{border:1px solid var(--wine);padding:10px 18px;color:var(--wine)}
.hero{background:var(--cream);overflow:hidden}.hero-grid{min-height:590px;display:grid;grid-template-columns:.92fr 1.08fr;gap:30px;align-items:center;padding:55px 0}.hero-copy{padding:10px 0}.eyebrow{font-family:var(--serif);font-size:13px;letter-spacing:.22em;color:var(--wine);text-transform:uppercase}.hero h1{margin:22px 0 18px;font-family:var(--serif);font-weight:500;font-size:clamp(42px,5.5vw,70px);line-height:1.24;letter-spacing:.04em;color:#302827}.hero h1 span{display:block;font-size:.38em;letter-spacing:.18em;color:var(--wine);margin-bottom:18px}.hero-copy p{max-width:450px;color:#70645c;font-size:14px;line-height:2.25}.hero-art{width:100%;max-width:660px;justify-self:end}.text-link{display:inline-flex;align-items:center;gap:22px;margin-top:26px;padding-bottom:7px;border-bottom:1px solid var(--wine);color:var(--wine);font-size:12px;letter-spacing:.12em;font-weight:700}.text-link b{font-size:19px;font-weight:400}
.marquee{border-top:1px solid #d8c9bd;border-bottom:1px solid #d8c9bd;background:#fff}.marquee-inner{display:flex;justify-content:space-between;gap:20px;padding:17px 0;color:#82766d;font-family:var(--serif);font-size:12px;letter-spacing:.18em}
.section{padding:94px 0}.section-cream{background:#f8f4ef}.section-head{margin-bottom:44px}.section-head.center{text-align:center}.section-head .en{display:block;color:var(--wine);font-family:var(--serif);font-size:12px;letter-spacing:.24em}.section-head h2{margin:8px 0 10px;font-family:var(--serif);font-size:clamp(30px,3.5vw,44px);font-weight:500;line-height:1.45;color:#342b28}.section-head p{margin:0;color:var(--muted);font-size:13px}
.intro-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:75px;align-items:start}.intro-mark{font-family:var(--serif);font-size:clamp(70px,10vw,130px);line-height:1;color:#e7d9cc;letter-spacing:-.08em}.intro-text{max-width:700px;color:#625953;font-size:15px;line-height:2.25}.intro-text strong{color:var(--wine);font-weight:600}
.categories{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.category{background:#fff}.category .pic{overflow:hidden;background:#eee4da}.category .pic img{display:block;width:100%;transition:transform .5s}.category:hover .pic img{transform:scale(1.04)}.category .body{padding:20px 4px 10px;border-bottom:1px solid var(--line)}.category .num{font-family:var(--serif);font-size:12px;color:var(--gold);letter-spacing:.15em}.category h3{margin:5px 0 8px;font-family:var(--serif);font-size:22px;font-weight:500}.category p{margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.9}
.statement{background:var(--wine-dark);color:#fff}.statement-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.statement .en{color:#d9b995;font-family:var(--serif);font-size:12px;letter-spacing:.2em}.statement h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.5vw,44px);line-height:1.5;margin:13px 0}.statement p{color:#e6d9d3;font-size:14px;line-height:2.2}.statement-note{padding:28px;border:1px solid #ffffff42;font-family:var(--serif);font-size:22px;line-height:1.8;color:#f1dfd1}
.profile{width:100%;max-width:900px;margin:auto;border-collapse:collapse;border-top:1px solid var(--wine)}.profile th,.profile td{padding:19px 22px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;vertical-align:top}.profile th{width:25%;color:var(--wine);font-weight:600;letter-spacing:.08em}.profile td{color:#5d554f}
.page-top{background:var(--cream);padding:62px 0 56px}.page-top .en{font-family:var(--serif);font-size:12px;letter-spacing:.2em;color:var(--wine)}.page-top h1{font-family:var(--serif);font-weight:400;font-size:clamp(36px,5vw,56px);margin:8px 0;color:#302827}.page-top p{margin:0;color:var(--muted);font-size:13px}.crumb{padding:13px 0;color:#968a81;font-size:11px;letter-spacing:.05em}.crumb a{color:var(--wine)}
.detail-list{max-width:940px;margin:auto}.detail{display:grid;grid-template-columns:260px 1fr;gap:35px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line)}.detail img{width:260px}.detail .en{font-family:var(--serif);font-size:12px;color:var(--gold);letter-spacing:.16em}.detail h2{margin:6px 0 8px;font-family:var(--serif);font-size:27px;font-weight:500}.detail p{margin:0;color:var(--muted);font-size:13px;line-height:2}
.contact-box{max-width:850px;margin:auto;background:var(--cream);padding:48px;text-align:center}.contact-box h2{font-family:var(--serif);font-size:30px;font-weight:400;margin:0 0 10px}.contact-box p{color:var(--muted);font-size:13px}.phone{font-family:var(--serif);font-size:30px;color:var(--wine);letter-spacing:.08em;margin:18px 0}.address{font-size:13px;color:#625953;line-height:2}
.privacy-copy{max-width:850px;margin:auto;color:#655b54;font-size:14px;line-height:2.2}.privacy-copy h2{font-family:var(--serif);font-weight:500;color:var(--wine);font-size:23px}
.footer{background:#282322;color:#e8dfd8;padding:52px 0 23px}.footer-top{display:flex;justify-content:space-between;gap:40px}.footer-logo{width:320px;filter:grayscale(1) brightness(0) invert(1)}.footer-desc{max-width:430px;color:#b9aca4;font-size:12px;line-height:2;margin-top:16px}.footer-nav{display:flex;flex-wrap:wrap;gap:14px 25px;font-size:11px;letter-spacing:.08em}.footer-nav a:hover{color:#d9b995}.footer-address{margin-top:14px;color:#b9aca4;font-size:12px}.copyright{border-top:1px solid #ffffff25;margin-top:35px;padding-top:18px;text-align:center;color:#94877f;font-size:10px;letter-spacing:.1em}
@media(max-width:900px){.nav{gap:14px}.nav a{font-size:11px}.logo img{width:315px}.hero-grid{min-height:490px}.intro-grid{gap:35px}}
@media(max-width:700px){.container{width:calc(100% - 34px)}.header-inner{padding:15px 0;align-items:flex-start;flex-direction:column;gap:12px}.logo img{width:min(330px,100%)}.nav{width:100%;gap:0;justify-content:space-between;flex-wrap:wrap}.nav a{font-size:10px;padding:7px 2px}.nav .contact-link{padding:7px 10px}.hero-grid{grid-template-columns:1fr;min-height:auto;padding:42px 0 30px}.hero-art{max-width:520px;justify-self:center}.hero h1{font-size:47px}.marquee-inner{flex-wrap:wrap;justify-content:center;font-size:10px;gap:9px 18px}.section{padding:62px 0}.intro-grid{grid-template-columns:1fr;gap:10px}.intro-mark{font-size:75px}.categories{grid-template-columns:1fr;gap:28px}.category .pic img{max-height:250px;object-fit:cover}.statement-grid{grid-template-columns:1fr;gap:24px}.detail{grid-template-columns:1fr;gap:14px}.detail img{width:100%;max-width:300px}.profile th,.profile td{padding:14px 12px}.footer-top{flex-direction:column}.footer-logo{width:min(310px,100%)}.contact-box{padding:32px 20px}}
@media(max-width:440px){.nav{display:grid;grid-template-columns:repeat(3,1fr)}.nav a{text-align:center}.nav .contact-link{grid-column:span 3}.hero h1{font-size:41px}.profile,.profile tbody,.profile tr,.profile th,.profile td{display:block;width:100%}.profile th{padding-bottom:2px;border-bottom:0}.profile td{padding-top:3px}.phone{font-size:25px}}
