:root{--ink:#0c0c0b;--ink2:#171613;--ivory:#f4efe5;--ivory2:#fffaf1;--gold:#b28b45;--gold2:#d6b66d;--red:#991b1f;--line:#d8c6a3;--text:#241f19;--muted:#6d655c;--shadow:0 12px 35px rgba(0,0,0,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;background:var(--ivory2);color:var(--text);font-size:17px;line-height:1.85}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.eyebrow{font-family:Georgia,serif;letter-spacing:.16em;color:var(--gold);font-size:.77rem}.section-no{font-family:Georgia,serif;font-size:3.4rem;line-height:1;color:var(--gold);font-weight:500}.small{font-size:.9rem;color:var(--muted)}
.site-header{height:76px;background:#080807;color:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(210,177,104,.35)}.header-inner{height:100%;display:flex;align-items:center;gap:42px}.brand{margin-right:auto;line-height:1.1}.brand strong{font-size:1.55rem;font-weight:600;letter-spacing:.08em}.brand span{display:block;color:var(--gold2);font-family:Georgia,serif;font-size:.63rem;letter-spacing:.2em;margin-top:7px}.nav{display:flex;gap:28px;font-size:.9rem}.nav a{opacity:.88}.nav a:hover{color:var(--gold2)}.header-contact{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}.header-contact b{color:var(--gold2);font-family:Georgia,serif;font-size:1.2rem}.header-contact small{margin-top:5px;color:#ddd}.menu-btn{display:none;background:none;border:0;color:white;font-size:1.7rem}
.hero{background:#090908;color:#fff;min-height:650px;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 76% 35%,rgba(178,139,69,.14),transparent 30%),linear-gradient(90deg,#090908 0%,rgba(9,9,8,.94) 40%,rgba(9,9,8,.2) 72%,rgba(9,9,8,.6) 100%)}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:.92fr 1.08fr;min-height:650px;align-items:center}.hero-copy{padding:72px 0}.hero-kicker{color:var(--gold2);font-family:Georgia,serif;letter-spacing:.18em;font-size:.78rem}.hero h1{font-size:clamp(3.8rem,6vw,6.7rem);font-weight:500;line-height:1.12;margin:24px 0 28px;letter-spacing:.04em}.hero h1 em{color:var(--gold2);font-style:normal}.hero-copy p{font-size:1.18rem;max-width:560px;color:#eee}.hero-actions{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 28px;border:1px solid var(--gold);font-weight:600;letter-spacing:.05em}.btn.red{background:linear-gradient(#ae262a,#841317);color:#fff;border-color:#b34a4d}.btn.gold{background:linear-gradient(135deg,#ecd39a,#c69e51);color:#1b160f}.btn.ghost{color:var(--gold2);background:transparent}.hero-art{align-self:stretch;position:relative}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.92) contrast(1.03)}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#090908 0%,transparent 35%,rgba(0,0,0,.15) 100%)}
.intro{padding:90px 0;background:var(--ivory)}.intro-grid{display:grid;grid-template-columns:150px 1fr;gap:30px}.intro h2,.section-head h2{font-size:2.45rem;line-height:1.4;margin:0 0 18px;font-weight:500}.lead{font-size:1.08rem;max-width:900px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}.feature{border:1px solid var(--line);background:rgba(255,255,255,.52);padding:28px;min-height:225px;position:relative}.feature-icon{width:64px;height:64px;border-radius:50%;background:#111;color:var(--gold2);border:1px solid var(--gold);display:grid;place-items:center;font-size:1.5rem;margin-bottom:18px}.feature h3{margin:0 0 10px;font-size:1.2rem}.feature p{margin:0;color:#4e4841;font-size:.95rem}
.works-preview,.works-page{background:#0b0b0a;color:#fff;padding:88px 0}.dark-head{display:grid;grid-template-columns:150px 1fr;gap:30px;margin-bottom:36px}.dark-head h2{font-size:2.5rem;font-weight:500;margin:0}.works-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.work-card{position:relative;overflow:hidden;background:#151411;border:1px solid rgba(210,177,104,.55)}.work-card img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .45s}.work-card:hover img{transform:scale(1.035)}.work-label{position:absolute;left:0;right:0;bottom:0;padding:38px 14px 12px;background:linear-gradient(transparent,rgba(0,0,0,.9));font-size:.98rem}.work-label small{display:block;color:#cbb27e;font-family:Georgia,serif;font-size:.65rem;letter-spacing:.1em}.works-more{text-align:center;margin-top:30px}
.deadline{background:#060605;color:#fff;padding:100px 0;text-align:center}.deadline h2{font-size:clamp(3.1rem,5vw,5.5rem);font-weight:500;line-height:1.3;margin:0}.deadline h2 span{color:var(--gold2)}.deadline p{max-width:760px;margin:26px auto;color:#ddd}.deadline .phone{font-family:Georgia,serif;font-size:2rem;color:var(--gold2)}
.split{padding:86px 0;background:#f8f3e9}.split-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px}.split h2{font-size:2.1rem;margin:8px 0 18px;line-height:1.4}.flow{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.flow-card{background:white;border:1px solid var(--line);padding:25px 18px;text-align:center;position:relative}.flow-num{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:white;font-family:Georgia,serif;margin:0 auto 14px}.flow-card b{display:block;font-size:1.05rem}.flow-card p{font-size:.88rem;line-height:1.6;color:#5c554d;margin:8px 0 0}.news-band{padding:55px 0;background:#fffaf1}.news-row{display:grid;grid-template-columns:110px 1fr auto;gap:25px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0}.news-badge{display:inline-block;background:var(--red);color:white;padding:3px 9px;font-size:.72rem;margin-right:10px}.news-row h3{margin:0;font-size:1.2rem}.news-row p{margin:6px 0 0;color:#655e56;font-size:.92rem}.footer{background:#080807;color:#fff;padding:48px 0 110px}.footer-grid{display:grid;grid-template-columns:1fr 1.2fr .8fr;gap:32px;align-items:center}.footer .phone{font-family:Georgia,serif;color:var(--gold2);font-size:2.4rem}.footer p{margin:4px 0;color:#ddd}.footer-brand{font-size:1.3rem}.mobile-bar{display:none}
.page-hero{background:linear-gradient(120deg,#090908,#17140f);color:white;padding:75px 0 65px;border-bottom:1px solid rgba(210,177,104,.35)}.page-hero h1{font-size:3.1rem;font-weight:500;margin:12px 0}.page-hero p{color:#ddd;max-width:760px}.page-body{padding:70px 0;background:#fbf7ef}.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.filter-btn{border:1px solid var(--line);background:white;padding:10px 16px;cursor:pointer}.filter-btn.active{background:var(--red);color:white;border-color:var(--red)}.works-page .works-grid{grid-template-columns:repeat(3,1fr);gap:18px}.works-page .work-card img{aspect-ratio:4/3}.works-page .work-card{background:#111}.works-page .work-label{position:static;padding:13px 15px;background:#111}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px}.info-card,.form-card,.order-info,.shop-card,.news-card{background:white;border:1px solid #e3d7c2;padding:30px;box-shadow:0 8px 25px rgba(53,38,20,.04)}.form-grid{display:grid;gap:18px}.form-grid label{font-weight:600}.req{font-size:.7rem;background:var(--red);color:#fff;padding:2px 7px;margin-left:8px}.input,textarea,select{width:100%;border:1px solid #d8cdbd;background:#fffefb;padding:14px 15px;font:inherit;font-size:1rem}textarea{min-height:180px}.order-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:35px 0 50px}.order-step{background:white;border:1px solid var(--line);padding:30px;text-align:center}.order-step .icon{font-size:2rem}.order-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.notice-list{display:grid;gap:14px}.notice-item{background:white;border:1px solid #e4d9c6;padding:22px;display:grid;grid-template-columns:130px 1fr auto;gap:18px;align-items:center}.notice-item time{font-family:Georgia,serif;color:#867557}.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.shop-visual{background:#17130e;min-height:360px;padding:40px;color:white;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.shop-visual:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,rgba(214,182,109,.18),transparent 35%),linear-gradient(135deg,transparent 45%,rgba(255,255,255,.03) 46%,transparent 47%);background-size:auto,18px 18px}.shop-visual>*{position:relative}.map-placeholder{min-height:320px;background:linear-gradient(135deg,#f4f0e8,#e5ddd0);display:grid;place-items:center;border:1px solid #d7c6ab;padding:30px;text-align:center}.breadcrumbs{font-size:.85rem;color:#897a65;margin-bottom:24px}.article h1{font-size:2.2rem}.article .meta{color:#917c5b;font-family:Georgia,serif}.article-box{background:#f7f0e3;border:1px solid var(--line);padding:25px;margin:28px 0}
@media(max-width:900px){body{font-size:17px}.wrap{width:min(100% - 28px,720px)}.site-header{height:64px}.header-inner{gap:12px}.brand strong{font-size:1.2rem}.brand span{font-size:.54rem}.nav{display:none}.header-contact b{font-size:1rem}.header-contact small{font-size:.68rem}.menu-btn{display:block}.hero{min-height:auto}.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:38px 0 24px;order:2}.hero-art{order:1;height:300px;margin:0 -14px}.hero-art:after{background:linear-gradient(0deg,#090908 0%,transparent 45%)}.hero h1{font-size:3.25rem;margin:14px 0 18px}.hero-copy p{font-size:1.05rem}.hero-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:24px}.btn{padding:0 14px;min-height:52px}.intro{padding:58px 0}.intro-grid,.dark-head{grid-template-columns:1fr;gap:8px}.section-no{font-size:2.4rem}.intro h2,.section-head h2,.dark-head h2{font-size:1.9rem}.feature-grid{grid-template-columns:1fr;gap:12px;margin-top:28px}.feature{display:grid;grid-template-columns:64px 1fr;column-gap:17px;min-height:auto;padding:20px}.feature-icon{grid-row:1/3;margin:0}.feature h3{align-self:end}.feature p{grid-column:2}.works-preview,.works-page{padding:58px 0}.works-grid,.works-page .works-grid{grid-template-columns:repeat(2,1fr)!important;gap:10px}.work-card img,.works-page .work-card img{aspect-ratio:1/1;object-fit:cover}.work-label{position:static;background:#12110f;padding:11px 12px;font-size:.94rem}.deadline{padding:70px 16px}.deadline h2{font-size:3rem}.split{padding:58px 0}.split-grid,.contact-grid,.shop-grid{grid-template-columns:1fr;gap:28px}.flow{grid-template-columns:1fr}.flow-card{display:grid;grid-template-columns:45px 1fr;text-align:left;gap:12px}.flow-num{margin:0}.news-row{grid-template-columns:75px 1fr}.news-row>a{grid-column:1/-1}.footer-grid{grid-template-columns:1fr;text-align:center}.footer .phone{font-size:2rem}.mobile-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:60;box-shadow:0 -5px 22px rgba(0,0,0,.22)}.mobile-bar a{height:58px;display:grid;place-items:center;font-weight:700}.mobile-bar a:first-child{background:#9b171b;color:white}.mobile-bar a:last-child{background:linear-gradient(135deg,#ead197,#c99d4d);color:#19140d}.page-hero{padding:48px 0}.page-hero h1{font-size:2.35rem}.page-body{padding:48px 0}.order-steps,.order-info-grid{grid-template-columns:1fr}.order-step{text-align:left}.notice-item{grid-template-columns:1fr;gap:6px}.filter-row{overflow:auto;flex-wrap:nowrap;padding-bottom:8px}.filter-btn{white-space:nowrap}.article h1{font-size:1.8rem}}
