@charset "UTF-8";

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Noto Sans JP',sans-serif;color:#111;background:#fff;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
a:hover{opacity:.75}
img{max-width:100%;height:auto;display:block}

.seo_h1_off{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.sp-none{display:block}
.sp-on{display:none}

.sec-ttl{font-family:'Bebas Neue',sans-serif;font-size:52px;letter-spacing:2px;color:#111;line-height:1;display:flex;align-items:center;gap:10px}
.sec-ttl--inv{color:#fff}
.sl{color:#f5c200;font-size:62px;line-height:1;display:inline-block}
.sec-lead{font-size:12px;font-weight:300;color:#888;letter-spacing:2px;margin-top:7px}
.sec-lead--inv{color:#777}

.btn-k{display:inline-flex;align-items:center;gap:8px;background:#111;color:#fff;padding:12px 28px;font-family:'Bebas Neue',sans-serif;font-size:15px;letter-spacing:2px;cursor:pointer;transition:background .2s,color .2s;border:none}
.btn-k:hover{background:#f5c200;color:#111;opacity:1}

.js-scroll{opacity:0;transform:translateY(28px);transition:opacity .65s cubic-bezier(0,1,0.64,1),transform .65s cubic-bezier(0,1,0.64,1)}
.js-scroll.visible{opacity:1;transform:none}

#siteHdr{position:fixed;top:0;left:0;right:0;z-index:900;background:#fff;border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}
#siteHdr.scrolled{border-bottom-color:#eee;box-shadow:0 2px 20px rgba(0,0,0,.07)}
.hdr-inner{max-width:1400px;margin:0 auto;padding:0 38px;height:64px;display:flex;align-items:center;justify-content:space-between}
.hdr-logo img{height:32px;width:auto}
.hdr-nav{display:flex;align-items:center;gap:28px}
.nav-item{font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:2px;color:#111;transition:color .2s}
.nav-item:hover{color:#f5c200;opacity:1}
.nav-cta{background:#111;color:#fff !important;padding:8px 18px;transition:background .2s,color .2s}
.nav-cta:hover{background:#f5c200;color:#111 !important;opacity:1}
.hdr-right{display:flex;align-items:center;gap:18px}
.cart-trg{position:relative;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center}
.cart-trg i{font-size:22px;color:#111}
.cart-count{position:absolute;top:2px;right:2px;background:#f5c200;color:#111;font-family:'DM Mono',monospace;font-size:9px;font-weight:500;width:16px;height:16px;border-radius:50%;align-items:center;justify-content:center;line-height:1}
.hmbgr-btn{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px}
.hmbgr-btn span{display:block;width:22px;height:2px;background:#111}

.hmbgr-menu{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#111;z-index:9999;flex-direction:column;align-items:center;justify-content:center}
.hmbgr-menu.open{display:flex}
.hmbgr-x{position:absolute;top:20px;right:24px;color:#fff;font-size:26px;cursor:pointer;background:none;border:none}
.hmbgr-links{display:flex;flex-direction:column;align-items:center;gap:32px}
.hmbgr-links a{font-family:'Bebas Neue',sans-serif;font-size:40px;letter-spacing:4px;color:#fff;transition:color .2s}
.hmbgr-links a:hover{color:#f5c200;opacity:1}

.section-top{min-height:100vh;position:relative;overflow:hidden;background:#fff;padding-top:64px}
.stop-inner{position:relative;min-height:calc(100vh - 64px)}
.hero-img-area{position:absolute;right:0;top:0;width:60%;height:100%}
.hero-part{position:absolute;overflow:hidden}
.hero-p1{top:0;right:0;width:55%;height:65%;clip-path:polygon(0 0,100% 0,100% 100%,12% 100%)}
.hero-p2{top:10%;right:52%;width:30%;height:40%;clip-path:polygon(0 0,100% 0,100% 88%,0 100%)}
.hero-p3{bottom:0;right:0;width:45%;height:45%;clip-path:polygon(15% 0,100% 0,100% 100%,0 100%)}
.hero-p4{top:50%;right:20%;width:28%;height:35%;clip-path:polygon(0 0,100% 8%,88% 100%,0 92%);opacity:.7}
.hero-part img{width:100%;height:100%;object-fit:cover}
.hero-txt-area{position:absolute;bottom:80px;left:0;padding:0 38px;max-width:660px}
.hero-txt-inner{display:flex;align-items:flex-end;gap:38px;flex-wrap:wrap}
.hero-headline{display:flex;flex-direction:column;line-height:.9}
.hl1,.hl2,.hl3{font-family:'Bebas Neue',sans-serif;display:block}
.hl1{font-size:clamp(64px,8vw,110px);letter-spacing:3px}
.hl2{font-size:clamp(64px,8vw,110px);letter-spacing:3px}
.hl3{font-size:clamp(64px,8vw,110px);letter-spacing:3px;color:#f5c200}
.hero-right-blk{padding-bottom:8px}
.hero-ensub{display:flex;flex-direction:column;font-family:'DM Mono',monospace;font-size:11px;letter-spacing:1.5px;color:#888;gap:3px;margin-bottom:14px}
.hero-jpsub{font-size:13px;font-weight:300;color:#555;line-height:1.8}
.hero-scroll{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:2px;color:#aaa;animation:scrollBounce 2s ease-in-out infinite}
@keyframes scrollBounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(6px)}}

.sec-stmt{max-width:1400px;margin:0 auto;padding:96px 38px 104px}
.stmt-wrap{display:flex;gap:72px;align-items:flex-start}
.stmt-l{flex:0 0 272px}
.stmt-lbl{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:2px;color:#888;margin-bottom:13px}
.stmt-h{font-family:'Bebas Neue',sans-serif;font-size:70px;line-height:.95;letter-spacing:2px;margin-bottom:14px}
.stmt-tag{font-size:14px;font-weight:300;color:#555;padding-top:11px;border-top:2px solid #f5c200;display:inline-block}
.stmt-r{flex:1;padding-top:18px}
.stmt-body{font-size:15px;font-weight:300;color:#444;line-height:1.9;margin-bottom:22px}
.stmt-figs{display:flex;gap:44px;margin-top:37px;padding-top:28px;border-top:1px solid #eee}
.sfig{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}
.sfig-n{font-family:'Bebas Neue',sans-serif;font-size:50px;line-height:1;color:#111}
.sfig-u{font-size:18px;color:#111;margin-right:8px}
.sfig-d{width:100%;font-size:11px;color:#999;letter-spacing:1px;font-weight:300}

.sec-works{background:#f8f8f8;padding:76px 0 84px}
.works-wrap{max-width:1400px;margin:0 auto;padding:0 38px}
.works-hrow{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:38px}
.works-hnote{font-family:'DM Mono',monospace;font-size:11px;color:#aaa;letter-spacing:1px}
.cat-list{border-top:2px solid #111}
.cat-row{border-bottom:1px solid #ddd;transition:background .15s}
.cat-row:hover{background:#fff}
.cat-row-main{display:flex;align-items:center;gap:22px;padding:20px 0;cursor:pointer}
.cat-n{font-family:'Bebas Neue',sans-serif;font-size:28px;color:#ddd;min-width:44px;letter-spacing:1px}
.cat-row.open .cat-n{color:#f5c200}
.cat-nb{flex:1;min-width:0}
.cat-en{font-family:'Bebas Neue',sans-serif;font-size:24px;letter-spacing:2px;color:#111;display:block;line-height:1.1}
.cat-jp{font-size:12px;font-weight:300;color:#888;display:block;margin-top:2px}
.cat-tags{display:flex;gap:6px}
.ctag{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:1px;padding:3px 8px;border:1px solid #ddd;color:#999}
.cat-price{font-family:'DM Mono',monospace;font-size:14px;font-weight:500;color:#111;white-space:nowrap;margin-left:auto}
.cat-xbtn{width:36px;height:36px;border:1px solid #ddd;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s;flex-shrink:0}
.cat-xbtn:hover,.cat-row.open .cat-xbtn{background:#111;border-color:#111}
.cat-xbtn i{font-size:16px;color:#111;transition:color .15s}
.cat-xbtn:hover i,.cat-row.open .cat-xbtn i{color:#fff}
.cat-det{display:flex;max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.4,0,.2,1)}
.cdet-img{flex:0 0 280px;aspect-ratio:4/3;overflow:hidden;background:#eee}
.cdet-img img{width:100%;height:100%;object-fit:cover}
.cdet-info{flex:1;padding:22px 20px 28px 28px}
.cdet-sp{font-family:'DM Mono',monospace;font-size:11px;color:#888;line-height:1.6;margin-bottom:13px;letter-spacing:.5px}
.cdet-tx{font-size:14px;font-weight:300;color:#444;line-height:1.85;margin-bottom:14px}
.cdet-dl{font-size:12px;color:#888;font-weight:300;margin-bottom:20px}
.cat-addbtn{display:inline-flex;align-items:center;gap:8px;background:transparent;border:2px solid #111;padding:10px 20px;font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:2px;color:#111;cursor:pointer;transition:background .15s,color .15s}
.cat-addbtn:hover{background:#111;color:#fff}
.cat-addbtn i{font-size:16px}
.works-fn{font-size:12px;font-weight:300;color:#aaa;margin-top:22px;padding-top:16px;border-top:1px solid #eee;letter-spacing:.5px}

.sec-process{max-width:1400px;margin:0 auto;padding:96px 38px 100px}
.proc-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:48px;border-top:1px solid #eee}
.proc-step{padding:28px 22px 28px 0;border-right:1px solid #eee}
.proc-step:last-child{border-right:none;padding-right:0}
.proc-num{font-family:'Bebas Neue',sans-serif;font-size:58px;color:#f0f0f0;line-height:1;margin-bottom:14px;transition:color .2s}
.proc-step:hover .proc-num{color:#f5c200}
.proc-en{font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:3px;color:#111;margin-bottom:2px}
.proc-jp{font-size:12px;font-weight:700;color:#111;margin-bottom:11px;letter-spacing:.5px}
.proc-desc{font-size:13px;font-weight:300;color:#666;line-height:1.8}

.sec-mat{background:#111;padding:96px 0 104px}
.mat-wrap{max-width:1400px;margin:0 auto;padding:0 38px}
.mat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:46px}
.mat-tile{position:relative;overflow:hidden}
.mat-img{aspect-ratio:3/4;overflow:hidden}
.mat-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;filter:brightness(.6)}
.mat-tile:hover .mat-img img{transform:scale(1.04)}
.mat-body{position:absolute;bottom:0;left:0;right:0;padding:22px;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,0) 100%)}
.mat-en{font-family:'Bebas Neue',sans-serif;font-size:32px;letter-spacing:3px;color:#fff;margin-bottom:2px}
.mat-jp{font-size:12px;font-weight:300;color:#ccc;letter-spacing:1px;margin-bottom:10px}
.mat-desc{font-size:12px;font-weight:300;color:#aaa;line-height:1.75;max-height:0;overflow:hidden;transition:max-height .3s}
.mat-tile:hover .mat-desc{max-height:200px}

.sec-feat{position:relative;overflow:hidden}
.feat-band{height:600px;overflow:hidden}
.feat-band img{width:100%;height:100%;object-fit:cover;filter:brightness(.55)}
.feat-card{position:absolute;bottom:58px;left:78px;background:#fff;padding:38px 46px;max-width:380px}
.feat-lbl{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:2px;color:#888;margin-bottom:11px}
.feat-name{font-family:'Bebas Neue',sans-serif;font-size:28px;letter-spacing:2px;color:#111;margin-bottom:12px}
.feat-sp{font-size:12px;font-weight:300;color:#666;line-height:1.8;margin-bottom:24px}

.sec-craft{max-width:1400px;margin:0 auto;padding:96px 38px 102px}
.craft-wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:58px;align-items:start}
.craft-photo{position:sticky;top:80px;overflow:hidden}
.craft-photo img{width:100%;aspect-ratio:3/4;object-fit:cover;clip-path:polygon(0 0,100% 0,100% 92%,8% 100%)}
.craft-head{margin-bottom:37px}
.craft-cards{display:flex;flex-direction:column;gap:18px}
.craft-card{padding:26px;border:1px solid #eee;background:#fff;transition:border-color .2s,box-shadow .2s}
.craft-card:hover{border-color:#f5c200;box-shadow:0 4px 20px rgba(0,0,0,.06)}
.cc-role{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:2px;color:#888;margin-bottom:8px}
.cc-namejp{font-family:'Noto Sans JP',sans-serif;font-size:20px;font-weight:700;letter-spacing:2px;color:#111;margin-bottom:2px}
.cc-nameen{font-family:'DM Mono',monospace;font-size:12px;color:#aaa;letter-spacing:1px;margin-bottom:11px}
.cc-note{font-size:13px;font-weight:300;color:#555;line-height:1.85}

.sec-quote{background:#f8f8f8;padding:114px 38px;position:relative;overflow:hidden}
.quote-deco{position:absolute;top:-60px;left:-30px;width:200px;height:400px;background:#f5c200;transform:rotate(15deg);opacity:.08}
.quote-wrap{max-width:800px;margin:0 auto;text-align:center;position:relative;z-index:1}
.quote-txt{font-family:'Noto Sans JP',sans-serif;font-size:22px;font-weight:300;color:#222;line-height:2.1;letter-spacing:1px;margin-bottom:38px}
.quote-by{font-family:'DM Mono',monospace;font-size:12px;letter-spacing:2px;color:#888}

.sec-trust{max-width:1400px;margin:0 auto;padding:78px 38px 84px}
.trust-tags{display:flex;flex-wrap:wrap;gap:11px;margin:28px 0 48px}
.ttag{font-family:'DM Mono',monospace;font-size:12px;letter-spacing:1px;color:#555;padding:10px 18px;border:1px solid #ddd}
.trust-reviews{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.trev-card{padding:28px;border-left:3px solid #f5c200;background:#fafafa}
.trev-txt{font-size:14px;font-weight:300;color:#444;line-height:1.9;margin-bottom:14px}
.trev-by{font-family:'DM Mono',monospace;font-size:11px;color:#999;letter-spacing:1px}

.sec-faq{background:#111;padding:96px 0 108px}
.faq-wrap{max-width:1000px;margin:0 auto;padding:0 38px}
.faq-tl{margin-top:48px;position:relative;padding-left:58px}
.faq-tl::before{content:'';position:absolute;left:17px;top:12px;bottom:12px;width:1px;background:rgba(255,255,255,.15)}
.faq-nd{margin-bottom:4px;position:relative}
.faq-ndh{display:flex;align-items:center;cursor:pointer;padding:18px 0}
.faq-ndl{position:absolute;left:-58px;display:flex;align-items:center;gap:10px;flex-direction:column}
.faq-dot{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.3);background:#111;transition:border-color .2s,background .2s;flex-shrink:0}
.faq-nd:hover .faq-dot,.faq-nd.open .faq-dot{border-color:#f5c200;background:#f5c200}
.faq-num{font-family:'Bebas Neue',sans-serif;font-size:12px;letter-spacing:1px;color:rgba(255,255,255,.25);margin-top:4px}
.faq-nd.open .faq-num{color:#f5c200}
.faq-ndr{flex:1;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.08);transition:background .15s}
.faq-nd:hover .faq-ndr,.faq-nd.open .faq-ndr{background:rgba(255,255,255,.04)}
.faq-q{font-size:15px;font-weight:400;color:#fff;letter-spacing:.5px;line-height:1.5}
.faq-ico{font-size:18px;color:#888;flex-shrink:0;transition:color .2s}
.faq-nd.open .faq-ico{color:#f5c200}
.faq-ans-w{max-height:0;overflow:hidden;transition:max-height .35s cubic-bezier(.4,0,.2,1)}
.faq-ans{font-size:14px;font-weight:300;color:#aaa;line-height:1.9;padding:16px 18px 22px;border-bottom:1px solid rgba(255,255,255,.06)}

.sec-contact{padding:96px 0 108px}
.contact-wrap{max-width:1400px;margin:0 auto;padding:0 38px}
.contact-hd{margin-bottom:54px}
.contact-layout{display:grid;grid-template-columns:310px 1fr;gap:76px;align-items:start}
.contact-info{position:sticky;top:80px}
.ci-blk{margin-bottom:26px}
.ci-lbl{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:2px;color:#888;margin-bottom:5px}
.ci-val{font-size:14px;font-weight:300;color:#333;line-height:1.7;user-select:text}
.cos-box{margin-top:38px;padding:22px;background:#f8f8f8;border-top:2px solid #f5c200}
.cos-ttl{font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:2px;color:#111;margin-bottom:13px}
.cos-list{display:flex;flex-direction:column;gap:8px}
.cos-item{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:300;color:#444;gap:8px}
.cos-mt{font-size:12px;color:#bbb;font-weight:300}

.fsteps{display:flex;align-items:center;margin-bottom:44px}
.fstep{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0}
.fstep span{width:36px;height:36px;border:2px solid #ddd;display:flex;align-items:center;justify-content:center;font-family:'DM Mono',monospace;font-size:12px;color:#ccc;transition:all .25s}
.fstep p{font-size:10px;color:#ccc;font-weight:300;letter-spacing:.5px;white-space:nowrap}
.fstep.active span{border-color:#111;background:#111;color:#fff}
.fstep.active p{color:#111;font-weight:700}
.fstep-ln{flex:1;height:1px;background:#ddd;margin:0 12px 22px}

.fp{display:none}
.fp.active{display:block}
.fp.active > *{animation:fpIn .3s ease}
@keyframes fpIn{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}

.fp-ttl{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:2px;color:#111;margin-bottom:22px}
.fp-cart{margin-bottom:18px}
.fp-empty{font-size:13px;font-weight:300;color:#aaa;line-height:1.8;padding:18px;border:1px dashed #ddd}
.fci{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #f0f0f0}
.fci-nm{flex:1;font-size:13px;font-weight:400;color:#222}
.fci-pr{font-family:'DM Mono',monospace;font-size:12px;color:#666}
.fci-rm{background:none;border:none;cursor:pointer;color:#ccc;font-size:14px;padding:4px;transition:color .15s}
.fci-rm:hover{color:#c0392b}
.fp-note{font-size:12px;font-weight:300;color:#aaa;margin-bottom:22px;line-height:1.7}

.f2col{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.ff{margin-bottom:14px}
.flbl{display:block;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#888;margin-bottom:6px}
.freq{color:#c0392b;font-size:9px;margin-left:4px}
.finput{width:100%;border:1px solid #ddd;padding:11px 13px;font-family:'Noto Sans JP',sans-serif;font-size:14px;font-weight:300;color:#111;background:#fff;outline:none;transition:border-color .15s;border-radius:0;-webkit-appearance:none}
.finput:focus{border-color:#111}
.ftarea{width:100%;border:1px solid #ddd;padding:11px 13px;font-family:'Noto Sans JP',sans-serif;font-size:14px;font-weight:300;color:#111;background:#fff;outline:none;resize:vertical;transition:border-color .15s;border-radius:0;min-height:120px}
.ftarea:focus{border-color:#111}
.f-radios{display:flex;gap:18px;flex-wrap:wrap}
.frad{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:300;color:#333}
.frad input{accent-color:#111}
.f-consent{margin-bottom:22px}
.fcons-lbl{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:13px;font-weight:300;color:#555;line-height:1.6}
.fcons-lbl input{margin-top:3px;accent-color:#111;flex-shrink:0}
.fcons-lbl a{color:#111;text-decoration:underline}
.f-btns{display:flex;gap:14px;align-items:center;margin-top:6px}

.btn-next{display:inline-flex;align-items:center;gap:8px;background:#111;color:#fff;border:none;padding:13px 28px;font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:2px;cursor:pointer;transition:background .15s}
.btn-next:hover{background:#f5c200;color:#111}
.btn-back{display:inline-flex;align-items:center;gap:6px;background:transparent;color:#888;border:1px solid #ddd;padding:12px 18px;font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:2px;cursor:pointer;transition:all .15s}
.btn-back:hover{border-color:#111;color:#111}
.btn-submit{display:inline-flex;align-items:center;gap:8px;background:#111;color:#fff;border:none;padding:13px 34px;font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:2px;cursor:pointer;transition:background .15s}
.btn-submit:hover{background:#f5c200;color:#111}
.btn-submit:disabled{background:#ccc;cursor:not-allowed}

#siteFtr{background:#111;color:#fff}
.ftr-top{border-bottom:1px solid rgba(255,255,255,.1)}
.ftr-top-in{max-width:1400px;margin:0 auto;padding:48px 38px}
.ftr-cards{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.ftr-crd{padding:34px 38px;background:rgba(255,255,255,.04);display:block;transition:background .2s}
.ftr-crd:hover{background:rgba(255,255,255,.08);opacity:1}
.ftr-crd-lbl{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:2px;color:#888;margin-bottom:7px}
.ftr-crd-ttl{font-family:'Bebas Neue',sans-serif;font-size:28px;letter-spacing:2px;color:#fff;margin-bottom:7px}
.ftr-crd-tx{font-size:13px;font-weight:300;color:#666}
.ftr-bot{}
.ftr-bot-in{max-width:1400px;margin:0 auto;padding:48px 38px 28px;display:grid;grid-template-columns:230px 1fr auto;gap:54px;align-items:start}
.ftr-logocol{}
.ftr-blurb{font-size:13px;font-weight:300;color:#666;line-height:1.8}
.ftr-navcols{display:flex;gap:46px}
.ftr-nc ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.ftr-nc a{font-size:13px;font-weight:300;color:#888;transition:color .15s}
.ftr-nc a:hover{color:#fff;opacity:1}
.ftr-ncttl{font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:2px;color:#fff;margin-bottom:14px}
.ftr-ctcol{}
.ftr-ctline{font-size:13px;font-weight:300;color:#666;line-height:2}
.ftr-copy-row{max-width:1400px;margin:0 auto;padding:18px 38px 28px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.08)}
.ftr-copy{font-family:'DM Mono',monospace;font-size:11px;color:#555;letter-spacing:1px}
.ftr-top-lnk{display:inline-flex;align-items:center;gap:6px;font-family:'Bebas Neue',sans-serif;font-size:13px;letter-spacing:2px;color:#888;transition:color .15s}
.ftr-top-lnk:hover{color:#f5c200;opacity:1}

.cart-drw{position:fixed;left:0;top:0;bottom:0;width:420px;max-width:100vw;background:#fff;z-index:9000;transform:translateX(-100%);transition:transform .35s cubic-bezier(0,1,0.64,1);display:flex;flex-direction:column;box-shadow:4px 0 30px rgba(0,0,0,.12)}
.cart-drw.open{transform:translateX(0)}
.cart-bdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:8999;display:none}
.cart-bdrop.vis{display:block}
.cart-drw-in{display:flex;flex-direction:column;height:100%}
.cart-drw-hd{display:flex;align-items:center;justify-content:space-between;padding:22px;border-bottom:1px solid #eee}
.cart-drw-ttl{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:4px;color:#111}
.cart-drw-cls{background:none;border:none;cursor:pointer;font-size:20px;color:#666;display:flex;align-items:center;transition:color .15s}
.cart-drw-cls:hover{color:#111}
.cart-drw-body{flex:1;overflow-y:auto;padding:18px 22px}
.cart-empty-msg{font-size:13px;font-weight:300;color:#aaa;text-align:center;padding:38px 0}
.cdi{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid #f0f0f0}
.cdi-l{}
.cdi-nm{font-size:14px;font-weight:400;color:#111;margin-bottom:4px;line-height:1.4}
.cdi-pr{font-family:'DM Mono',monospace;font-size:12px;color:#888}
.cdi-r{display:flex;align-items:center;gap:10px;flex-shrink:0}
.cdi-q{font-family:'DM Mono',monospace;font-size:12px;color:#888}
.cdi-rm{background:none;border:none;cursor:pointer;color:#ccc;font-size:16px;display:flex;align-items:center;transition:color .15s}
.cdi-rm:hover{color:#c0392b}
.cart-drw-ft{padding:18px 22px 26px;border-top:1px solid #eee}
.cart-tot-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:9px}
.cart-tot-lbl{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:1px;color:#888}
.cart-tot-val{font-family:'DM Mono',monospace;font-size:20px;font-weight:500;color:#111}
.cart-nt{font-size:11px;font-weight:300;color:#aaa;margin-bottom:14px;line-height:1.6}
.cart-go-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;text-align:center;padding:14px}

.add-notif{position:fixed;bottom:-60px;left:50%;transform:translateX(-50%);background:#111;color:#fff;padding:11px 22px;font-family:'DM Mono',monospace;font-size:12px;letter-spacing:1px;display:inline-flex;align-items:center;gap:10px;z-index:9999;transition:bottom .3s cubic-bezier(0,1,0.64,1);white-space:nowrap}
.add-notif i{color:#f5c200;font-size:16px}
.add-notif.show{bottom:30px}

.ty-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:99999;align-items:center;justify-content:center;padding:20px}
.ty-box{background:#fff;max-width:480px;width:100%;padding:58px 46px;text-align:center;position:relative;overflow:hidden}
.ty-deco{position:absolute;top:-40px;right:-20px;width:120px;height:240px;background:#f5c200;transform:rotate(15deg);opacity:.15}
.ty-en{font-family:'Bebas Neue',sans-serif;font-size:56px;letter-spacing:4px;color:#111;line-height:1;margin-bottom:8px}
.ty-jp{font-size:14px;font-weight:300;color:#888;margin-bottom:22px;letter-spacing:1px}
.ty-desc{font-size:14px;font-weight:300;color:#555;line-height:1.85;margin-bottom:14px}
.ty-ph{font-family:'DM Mono',monospace;font-size:16px;font-weight:500;color:#111;margin-bottom:30px}
.ty-cls{padding:12px 34px;cursor:pointer}


@media (max-width:1100px){
  .proc-grid{grid-template-columns:repeat(3,1fr)}
  .ftr-bot-in{grid-template-columns:1fr 1fr;gap:38px}
  .ftr-bot-in .ftr-ctcol{grid-column:1/-1}
  .stmt-wrap{gap:44px}
}
@media (max-width:900px){
  .hdr-nav{display:none}
  .hmbgr-btn{display:flex}
  .sp-none{display:none}
  .sp-on{display:block}
  .hero-img-area{width:100%;opacity:.35}
  .hero-txt-area{bottom:54px;padding:0 22px;max-width:100%}
  .hl1,.hl2,.hl3{font-size:clamp(56px,14vw,80px)}
  .stmt-wrap{flex-direction:column;gap:28px}
  .stmt-l{flex:none}
  .craft-wrap{grid-template-columns:1fr}
  .craft-photo{position:static}
  .craft-photo img{clip-path:none;aspect-ratio:16/9}
  .contact-layout{grid-template-columns:1fr}
  .contact-info{position:static}
  .ftr-bot-in{grid-template-columns:1fr;gap:28px}
  .ftr-cards{grid-template-columns:1fr}
  .trust-reviews{grid-template-columns:1fr}
  .mat-grid{grid-template-columns:1fr}
  .proc-grid{grid-template-columns:1fr 1fr}
  .proc-step{border-right:none;border-bottom:1px solid #eee;padding:18px 0}
  .feat-card{left:22px;bottom:22px;padding:22px 26px}
}
@media (max-width:640px){
  .hdr-inner{padding:0 18px}
  .sec-stmt{padding:58px 18px 64px}
  .sec-works{padding:58px 0}
  .works-wrap{padding:0 18px}
  .sec-process{padding:58px 18px 62px}
  .proc-grid{grid-template-columns:1fr}
  .sec-mat{padding:58px 0}
  .mat-wrap{padding:0 18px}
  .sec-craft{padding:58px 18px}
  .sec-quote{padding:72px 18px}
  .quote-txt{font-size:17px}
  .sec-trust{padding:58px 18px}
  .sec-faq{padding:58px 0}
  .faq-wrap{padding:0 18px}
  .faq-tl{padding-left:44px}
  .faq-tl::before{left:13px}
  .faq-ndl{left:-44px}
  .sec-contact{padding:58px 0}
  .contact-wrap{padding:0 18px}
  .f2col{grid-template-columns:1fr}
  .ftr-top-in{padding:34px 18px}
  .ftr-navcols{flex-wrap:wrap;gap:26px}
  .ftr-bot-in{padding:34px 18px 18px}
  .ftr-copy-row{padding:16px 18px 22px;flex-direction:column;gap:11px;text-align:center}
  .cat-row-main{gap:10px}
  .cat-price{font-size:12px}
  .sec-ttl{font-size:38px}
  .hl1,.hl2,.hl3{font-size:clamp(46px,13vw,62px)}
  .feat-band{height:340px}
  .feat-card{left:14px;bottom:14px;right:14px;max-width:none;padding:18px}
  .cart-drw{width:100%}
  .stmt-figs{gap:24px}
  .sfig-n{font-size:40px}
}

.ck-float{position:fixed;bottom:24px;right:24px;z-index:88888;width:340px;max-width:calc(100vw - 32px);background:#fff;border:1px solid #111;box-shadow:0 8px 40px rgba(0,0,0,.18)}
.ck-float-bar{display:flex;align-items:center;gap:8px;background:#111;padding:10px 16px}
.ck-float-yr{font-family:'DM Mono',monospace;font-size:10px;color:#555;letter-spacing:1px}
.ck-float-slash{font-family:'Bebas Neue',sans-serif;font-size:16px;color:#f5c200;line-height:1}
.ck-float-label{font-family:'Bebas Neue',sans-serif;font-size:13px;letter-spacing:3px;color:#fff}
.ck-float-body{padding:18px 18px 12px}
.ck-float-title{font-family:'Bebas Neue',sans-serif;font-size:17px;letter-spacing:1.5px;color:#111;margin-bottom:8px}
.ck-float-desc{font-size:12px;font-weight:300;color:#666;line-height:1.7}
.ck-float-link{color:#111;text-decoration:underline}
.ck-float-actions{display:flex;gap:8px;padding:0 18px 10px}
.ck-float-all{flex:1;background:#111;color:#fff;border:none;padding:10px;font-family:'Bebas Neue',sans-serif;font-size:13px;letter-spacing:1.5px;cursor:pointer;transition:background .15s}
.ck-float-all:hover{background:#f5c200;color:#111}
.ck-float-cfg{flex:1;background:transparent;color:#888;border:1px solid #ddd;padding:10px;font-family:'Bebas Neue',sans-serif;font-size:13px;letter-spacing:1.5px;cursor:pointer;transition:all .15s}
.ck-float-cfg:hover{border-color:#111;color:#111}
.ck-float-rej{display:block;width:100%;background:none;border:none;padding:8px 18px 14px;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:1px;color:#aaa;cursor:pointer;text-align:center;transition:color .15s}
.ck-float-rej:hover{color:#555}

.ck-modal-ov{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:99990;align-items:center;justify-content:center;padding:20px}
.ck-modal{background:#fff;max-width:560px;width:100%;max-height:88vh;overflow-y:auto;display:flex;flex-direction:column}
.ck-modal-hd{display:flex;justify-content:space-between;align-items:center;padding:20px 26px;background:#111;flex-shrink:0}
.ck-modal-hd-l{display:flex;align-items:center;gap:10px}
.ck-modal-slash{font-family:'Bebas Neue',sans-serif;font-size:22px;color:#f5c200;line-height:1}
.ck-modal-title{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:3px;color:#fff}
.ck-modal-cls{background:none;border:none;cursor:pointer;font-size:18px;color:#888;display:flex;align-items:center;transition:color .15s}
.ck-modal-cls:hover{color:#fff}
.ck-modal-intro{padding:18px 26px 6px;font-size:12px;font-weight:300;color:#888;line-height:1.75;border-bottom:1px solid #f0f0f0;flex-shrink:0}
.ck-modal-body{flex:1;overflow-y:auto;padding:0 26px}
.ck-cat{border-bottom:1px solid #f0f0f0;padding:18px 0}
.ck-cat-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.ck-cat-info{flex:1}
.ck-cat-name{font-size:14px;font-weight:700;color:#111;margin-bottom:5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ck-cat-badge{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:1px;background:#4a7c59;color:#fff;padding:2px 7px;font-weight:400}
.ck-cat-desc{font-size:12px;font-weight:300;color:#666;line-height:1.7;margin-bottom:8px}
.ck-cat-examples{display:flex;flex-wrap:wrap;gap:5px}
.ck-cat-examples span{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.5px;color:#aaa;border:1px solid #eee;padding:2px 7px}
.ck-tgl-lbl{display:block;cursor:pointer;flex-shrink:0;padding-top:2px}
.ck-tgl-lbl input{position:absolute;opacity:0;width:0;height:0}
.ck-tgl{display:inline-flex;align-items:center;width:44px;height:24px;background:#ddd;position:relative;transition:background .2s;cursor:pointer;flex-shrink:0}
.ck-tgl-lbl input:checked + .ck-tgl{background:#111}
.ck-tgl--lock{background:#4a7c59;cursor:not-allowed;width:44px;height:24px;position:relative;display:inline-flex;align-items:center;flex-shrink:0}
.ck-knob{position:absolute;left:3px;top:3px;width:18px;height:18px;background:#fff;transition:transform .2s}
.ck-tgl-lbl input:checked + .ck-tgl .ck-knob{transform:translateX(20px)}
.ck-tgl--lock .ck-knob{transform:translateX(20px)}
.ck-modal-ft{display:flex;gap:10px;padding:16px 26px;border-top:1px solid #eee;flex-shrink:0}
.ck-modal-save{flex:1;background:transparent;color:#111;border:2px solid #111;padding:11px;font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:2px;cursor:pointer;transition:all .15s}
.ck-modal-save:hover{background:#111;color:#fff}
.ck-modal-all{flex:1;background:#111;color:#fff;border:2px solid #111;padding:11px;font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:2px;cursor:pointer;transition:all .15s}
.ck-modal-all:hover{background:#f5c200;border-color:#f5c200;color:#111}
.ck-modal-legal{padding:0 26px 18px;font-size:10px;font-weight:300;color:#bbb;line-height:1.7;flex-shrink:0}
.ck-modal-legal a{color:#aaa;text-decoration:underline}
@media (max-width:640px){
  .ck-float{bottom:0;right:0;width:100%;border-left:none;border-right:none;border-bottom:none}
}

@charset "UTF-8";

.pg-hro{padding-top:64px}
.pg-hro-img{position:relative;height:440px;overflow:hidden}
.pg-hro-img > img{width:100%;height:100%;object-fit:cover;filter:brightness(.42)}
.pg-hro-overlay{position:absolute;bottom:0;left:0;right:0;padding:0 38px 46px;background:linear-gradient(to top,rgba(0,0,0,.72) 0%,transparent 100%)}
.pg-hro-lbl{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:2px;color:rgba(255,255,255,.55);margin-bottom:11px}
.pg-hro-en{font-family:'Bebas Neue',sans-serif;font-size:clamp(54px,7vw,96px);letter-spacing:3px;color:#fff;line-height:.9;display:block}
.pg-hro-jp{font-size:13px;font-weight:300;color:rgba(255,255,255,.62);margin-top:13px;letter-spacing:.5px}

.pg-hro-txt{background:#111;padding:128px 0 58px}
.pg-hro-txt-in{max-width:1400px;margin:0 auto;padding:0 38px}
.pg-hro-txt .pg-hro-lbl{color:rgba(255,255,255,.38)}
.pg-hro-txt .pg-hro-en{color:#fff;display:block}
.pg-hro-txt .pg-hro-jp{color:rgba(255,255,255,.52)}

.prj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}
.prj-card{padding:26px;border:1px solid #e0e0e0;background:#fff;transition:border-color .2s,box-shadow .2s}
.prj-card:hover{border-color:#f5c200;box-shadow:0 4px 22px rgba(0,0,0,.07)}
.prj-card-yr{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:1.5px;color:#aaa;margin-bottom:9px}
.prj-card-ttl{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:1.5px;color:#111;margin-bottom:8px;line-height:1.1}
.prj-card-spec{font-family:'DM Mono',monospace;font-size:10px;color:#888;line-height:1.6;margin-bottom:11px;letter-spacing:.5px}
.prj-card-tx{font-size:13px;font-weight:300;color:#555;line-height:1.8}

.spec-layout{display:grid;grid-template-columns:1fr 1fr;gap:38px;margin-top:36px}
.spec-col-ttl{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:2px;color:#111;margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid #f5c200}
.spec-tbl{width:100%;border-collapse:collapse}
.spec-tbl tr+tr{border-top:1px solid #eee}
.spec-tbl th{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:1px;color:#999;text-align:left;padding:13px 0;width:36%;vertical-align:top;font-weight:400}
.spec-tbl td{font-size:12px;font-weight:300;color:#333;padding:13px 0 13px 18px;line-height:1.75;vertical-align:top}

.dlv-items{display:flex;flex-direction:column;gap:18px;margin-top:28px}
.dlv-item{display:flex;gap:16px;align-items:flex-start}
.dlv-ico{width:28px;height:28px;background:#f5c200;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.dlv-ico i{font-size:14px;color:#111}
.dlv-nm{font-size:14px;font-weight:700;color:#111;margin-bottom:3px}
.dlv-dc{font-size:13px;font-weight:300;color:#666;line-height:1.7}

.sec-consult{max-width:1400px;margin:0 auto;padding:0 38px 96px}
.consult-wrap{display:grid;grid-template-columns:360px 1fr;gap:72px;align-items:start}
.consult-l{position:sticky;top:84px}
.consult-img{aspect-ratio:4/5;overflow:hidden;margin-bottom:28px}
.consult-img img{width:100%;height:100%;object-fit:cover}
.consult-info-cards .ci-blk{padding:14px 0;border-bottom:1px solid #eee}
.consult-info-cards .ci-blk:first-child{border-top:2px solid #f5c200}
.consult-r .pg-hro-lbl{display:block;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:2px;color:#888;margin-bottom:10px}

@media(max-width:1024px){
  .spec-layout{grid-template-columns:1fr;gap:28px}
  .prj-grid{grid-template-columns:1fr 1fr}
  .consult-wrap{grid-template-columns:1fr}
  .consult-l{position:static}
  .consult-img{aspect-ratio:16/7}
}
@media(max-width:767px){
  .pg-hro-img{height:300px}
  .pg-hro-overlay{padding:0 22px 30px}
  .pg-hro-txt{padding:100px 0 40px}
  .pg-hro-txt-in{padding:0 18px}
  .prj-grid{grid-template-columns:1fr}
  .spec-tbl th{width:40%}
}
@media(max-width:640px){
  .sec-consult{padding:0 18px 64px}
  .consult-wrap{gap:32px}
}

.consult-contact-sec{max-width:1400px;margin:0 auto;padding:56px 38px 92px}
.consult-contact-in{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.consult-photo-col{}
.consult-photo-wrap{overflow:hidden;aspect-ratio:3/4}
.consult-photo-wrap img{width:100%;height:100%;object-fit:cover}
.consult-details-col{padding-top:8px}
.consult-detail-block{padding:22px 0;border-bottom:1px solid #eee}
.consult-detail-block:first-child{padding-top:0;border-top:3px solid #f5c200}
.consult-detail-en{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:2px;color:#aaa;margin-bottom:8px}
.consult-detail-val{font-family:'Noto Sans JP',sans-serif;font-size:22px;font-weight:700;color:#111;line-height:1.4;margin-bottom:5px;user-select:text}
.consult-detail-note{font-size:12px;font-weight:300;color:#888;line-height:1.6}

@media(max-width:900px){
  .consult-contact-in{grid-template-columns:1fr;gap:36px}
  .consult-photo-wrap{aspect-ratio:16/9}
}
@media(max-width:640px){
  .consult-contact-sec{padding:40px 18px 64px}
}
.policy-container{max-width:860px;margin:0 auto;padding:48px 38px 96px}
.policy-content{font-weight:300}
.policy-lastup{font-family:'DM Mono',monospace;font-size:11px;color:#aaa;border-bottom:1px solid #f0f0f0;padding-bottom:18px;margin-bottom:28px}
.policy-intro{font-size:15px;line-height:1.9;color:#444;margin-bottom:42px}
.policy-h2{font-family:'Bebas Neue',sans-serif;font-size:28px;letter-spacing:2px;color:#111;margin:40px 0 12px;padding-bottom:5px;border-bottom:2px solid #f5c200}
.policy-p{font-size:14px;line-height:1.85;color:#555;margin-bottom:20px}
@media(max-width:640px){
  .policy-container{padding:32px 18px 64px}
  .policy-h2{font-size:24px}
  .policy-intro{font-size:14px}
}