:root{--red:#df001b;--ink:#141414;--paper:#f3f2ef;--line:#d7d6d3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{margin:0;color:var(--ink);background:white;font-family:Arial,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--red);outline-offset:5px}button{cursor:pointer}img{display:block;max-width:100%;height:auto}header{position:sticky;top:0;z-index:30;min-height:100px;padding:12px 3.3%;background:#fffffff5;backdrop-filter:blur(14px);border-bottom:1px solid #e9e9e9;display:flex;align-items:center;justify-content:space-between;gap:25px}.header-logo{width:130px;height:auto}.brand{flex-shrink:0}nav{display:flex;align-items:center;gap:clamp(18px,2vw,30px);font-size:15px}nav a{white-space:nowrap;position:relative}nav a:not(.order){padding:12px 0}nav a:not(.order):after{position:absolute;content:"";height:2px;background:var(--red);bottom:4px;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .25s}nav a:hover:after,nav a[aria-current=page]:after{transform:scaleX(1)}.order{background:var(--red);color:white;padding:18px 20px;font-size:11px;display:flex;align-items:center;gap:25px}.arrow{font-size:24px}.menu{display:none;color:#111;background:white;border:1px solid #bbb;padding:11px 16px;font-size:12px}.wrap{max-width:1440px;margin:auto;padding:0 6%}.crumb{padding-top:30px;font-size:10px;letter-spacing:.06em;color:#737373;display:flex;flex-wrap:wrap;gap:10px}.crumb a:hover{color:var(--red)}.page-hero{padding:70px 0 80px;display:grid;grid-template-columns:1.1fr 1fr;gap:6%;align-items:center}.page-hero .hero-photo{position:relative}.hero-photo>img{width:100%;aspect-ratio:1.18;object-fit:cover}.hero-photo:after{content:"";position:absolute;width:40%;height:6px;background:var(--red);bottom:-3px;left:-25px}.serial{font-size:10px;letter-spacing:.18em;color:var(--red);margin:0 0 25px;display:block}.display{font-size:clamp(55px,7vw,108px);line-height:.98;letter-spacing:-.055em;font-weight:600;margin:0 0 28px}.outline{color:transparent;-webkit-text-stroke:1px var(--ink)}h1{font-size:18px;font-weight:500;letter-spacing:.12em;margin:0 0 30px}h2{font-size:clamp(27px,3vw,42px);font-weight:500;line-height:1.65;letter-spacing:-.025em;margin:0 0 26px}h3{font-size:18px;font-weight:500;line-height:1.7}p,li{font-size:14px;line-height:2.15}.lead{font-size:15px;line-height:2.2;margin:0;max-width:440px}.hero-caption{font-size:10px;letter-spacing:.12em;color:#777;margin:13px 0 0}.section{padding:95px 0;border-top:1px solid var(--line)}.section-head{display:grid;grid-template-columns:1fr 2fr;gap:6%;margin-bottom:55px}.section-title{font-size:clamp(32px,4vw,60px);font-weight:500;letter-spacing:-.045em;line-height:1.05;margin:0 0 12px}.small-jp{font-size:12px;color:#777;margin:0}.section-intro{font-size:21px;line-height:1.8;margin:0;max-width:620px}.jump{display:flex;gap:30px;flex-wrap:wrap;padding:22px 0;margin:0 0 65px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px}.jump a:hover{color:var(--red)}.jump span{color:var(--red);padding-left:15px}.catalog{display:grid;grid-template-columns:1fr 1fr;gap:65px 35px}.catalog a{display:block}.product-picture{position:relative;overflow:hidden;background:var(--paper)}.product-picture img{width:100%;aspect-ratio:1.5;object-fit:cover;transition:transform .65s}.catalog a:hover img{transform:scale(1.045)}.catalog-title{display:flex;justify-content:space-between;align-items:center;gap:15px}.catalog-title h3{font-size:23px;margin:18px 0 5px}.round-arrow{border:1px solid #ccc;display:flex;align-items:center;justify-content:center;border-radius:50%;width:44px;height:44px;flex-shrink:0;transition:background .3s,color .3s}.catalog a:hover .round-arrow{background:var(--red);color:white;border-color:var(--red)}.label{font-size:10px;letter-spacing:.13em;color:var(--red);margin:12px 0 0}.catalog p:not(.label){font-size:13px;color:#666;max-width:510px}.band{background:var(--paper);padding:90px 6%;margin:0 calc(-6vw);}.band-inner{max-width:1260px;margin:auto}.split{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.split>img{width:100%;aspect-ratio:1.3;object-fit:cover}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;border-bottom:1px solid #888;padding:18px 0;font-size:13px;min-width:240px;margin-top:15px}.text-link span{color:var(--red);font-size:23px}.text-link:hover{color:var(--red)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:45px;padding:23px 30px;background:var(--red);color:#fff;border:1px solid var(--red);font-size:13px;transition:background .25s}.btn:hover{background:#b70016}.btn.light{background:white;color:#111;border-color:#bbb}.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.spec{padding:32px;border-top:2px solid var(--red);background:var(--paper)}.spec h3{margin:0 0 15px}.spec p{margin:0;color:#555}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:55px 0 0}.gallery figure{margin:0}.gallery img{width:100%;aspect-ratio:1.5;object-fit:contain;background:var(--paper)}figcaption,.note{font-size:11px;color:#777;line-height:1.9}figcaption{margin-top:12px}.inquiry-list{display:grid;grid-template-columns:1fr 1fr;list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.inquiry-list li{padding:22px 0;border-bottom:1px solid var(--line);font-size:14px}.inquiry-list li span{color:var(--red);font-size:10px;margin-right:20px}.contact-band{background:var(--red);color:#fff;padding:65px 6%;display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-band h2{font-size:clamp(40px,6vw,83px);font-weight:500;letter-spacing:-.04em;line-height:1;margin:0 0 20px}.contact-band p{font-size:13px;margin:0}.contact-band a{border:1px solid #ffffff80;border-radius:50%;width:95px;height:95px;display:grid;place-items:center;font-size:38px;transition:background .3s,color .3s}.contact-band a:hover{background:#fff;color:var(--red)}footer{background:#151515;color:white;padding:60px 6% 28px}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:60px}.footer-logo{width:145px;filter:grayscale(1) brightness(0) invert(1);margin-bottom:25px}.footer-name{font-size:15px}.footer-address{font-size:11px;line-height:2;color:#aaa}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:18px 30px;font-size:12px;align-content:start}.footer-links a:hover{color:#ff445a}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:25px;margin-top:45px;border-top:1px solid #444;font-size:10px;color:#aaa}.to-top{font-size:12px;color:white}.profile{display:grid;grid-template-columns:1fr 2fr;gap:7%}.profile dl{margin:0}dl.profile-list{display:block}dt{font-size:12px;color:#666;padding:24px 0 10px}dd{font-size:14px;line-height:2;margin:0;padding:0 0 24px;border-bottom:1px solid var(--line)}.people-band{margin:0 calc(-6vw);background:var(--paper);padding:0 0 75px}.people-band img{width:100%;height:auto;max-height:540px;object-fit:cover}.people-copy{max-width:1260px;margin:55px auto 0;padding:0 6%;display:grid;grid-template-columns:1fr 1fr;gap:7%}.people-copy h2{margin:0}.people-copy p{margin:0}.chips{display:flex;flex-wrap:wrap;gap:10px}.chips a{font-size:12px;padding:12px 18px;border:1px solid #ccc;background:white}.chips a:hover{border-color:var(--red);color:var(--red)}.message-body{max-width:790px;margin:0 auto;padding:25px 0 85px}.message-body p{font-size:15px;line-height:2.5;margin:0 0 32px}.signature{margin-top:50px;border-top:1px solid var(--line);padding-top:25px;text-align:right}.signature b{font-size:24px;font-weight:500;display:block}.service-row{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;padding:70px 0;border-top:1px solid var(--line);align-items:center}.service-row:nth-of-type(even) .service-img{order:2}.service-img img{width:100%;aspect-ratio:1.5;object-fit:cover}.service-number{font-size:46px;font-weight:400;color:var(--red);letter-spacing:-.05em}.service-row h2{font-size:30px}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.process article{padding-top:25px;border-top:1px solid #777}.process strong{font-size:12px;color:var(--red);font-weight:500}.process h3{font-size:21px}.process p{font-size:13px;color:#666}.job{display:grid;grid-template-columns:1fr 2fr;gap:7%;margin-top:65px;border-top:1px solid var(--line);padding-top:45px}.job h2{font-size:28px}.job dl{margin:0;display:grid;grid-template-columns:115px 1fr}.job dt,.job dd{padding:18px 0;border-bottom:1px solid var(--line)}.benefits{display:grid;grid-template-columns:1fr 1fr;gap:35px}.benefits article{padding:35px;background:white}.benefits h3{font-size:23px}.access{margin-top:25px}.contact-hero{padding:70px 0 55px}.contact-hero .display{font-size:clamp(65px,10vw,150px)}.contact-layout{display:grid;grid-template-columns:.85fr 1.6fr;gap:8%;padding:45px 0 100px}.contact-side{align-self:start;position:sticky;top:135px}.big-phone{font-size:clamp(23px,2.4vw,35px);letter-spacing:-.04em;display:block;margin:12px 0}.email-address{font-size:13px;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}.contact-side h2{font-size:24px}.contact-side p{font-size:12px;color:#666}.contact-side .mini{margin-top:35px;padding-top:30px;border-top:1px solid var(--line)}.form-head{border-top:3px solid var(--red);padding-top:25px}.form-head h2{font-size:27px;margin-bottom:12px}.form-head p{font-size:12px;color:#666}.field{padding:24px 0;border-bottom:1px solid var(--line)}.field label,.field legend{display:block;font-size:13px;margin-bottom:13px}.required{color:var(--red);font-size:10px;margin-left:12px}input[type=text],input[type=email],input[type=tel],select,textarea{width:100%;padding:16px 18px;border:1px solid #d4d4d4;background:#f7f7f5;color:#111;border-radius:0}input:focus,select:focus,textarea:focus{outline:1px solid var(--red);background:white}textarea{min-height:210px;resize:vertical}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.consent{display:flex;align-items:start;gap:12px;font-size:12px;line-height:2;margin:28px 0}.consent input{margin-top:5px;accent-color:var(--red)}.consent a{text-decoration:underline}.contact-form .btn{width:100%}.contact-form small{display:block;font-size:11px;color:#777;line-height:1.9;margin-top:15px}dialog{border:0;padding:40px;max-width:700px;width:calc(100% - 32px);max-height:85svh;overflow:auto}dialog::backdrop{background:#000a;backdrop-filter:blur(4px)}dialog h2{font-size:25px}dialog .close{float:right;border:0;background:none;font-size:23px}.confirmation{font-size:13px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--paper);padding:24px}.dialog-actions{display:flex;gap:15px;flex-wrap:wrap;margin-top:25px}.dialog-actions .btn{flex:1;gap:15px;padding:18px;font-size:12px}.status{color:var(--red);font-size:12px;min-height:24px}.legal{max-width:850px;margin:auto;padding:20px 0 90px}.legal h2{font-size:24px;margin-top:45px}.legal h3{margin-top:30px}.legal p{font-size:13px;line-height:2.2}.photo-strip{display:grid;grid-template-columns:2fr 1fr;gap:30px;padding-bottom:80px}.photo-strip img{height:320px;width:100%;object-fit:cover}.reveal{animation:rise .7s both}@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(min-width:1500px){.band,.people-band{margin-left:calc((1440px - 100vw)/2 - 86.4px);margin-right:calc((1440px - 100vw)/2 - 86.4px)}}
@media(max-width:960px){header{min-height:82px}.header-logo{width:104px}.menu{display:block}nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:20px 6%;flex-direction:column;align-items:stretch;gap:4px;box-shadow:0 15px 20px #0001}nav.open{display:flex}nav a:not(.order){padding:13px 0}nav .order{justify-content:space-between;margin-top:12px}.page-hero{gap:5%;padding-top:55px}.display{font-size:7vw}.page-hero h1{font-size:16px}.lead{font-size:13px}.section-head{grid-template-columns:1fr 1.5fr}.contact-layout{gap:5%;grid-template-columns:.8fr 1.3fr}.job dl{grid-template-columns:90px 1fr}}
@media(max-width:650px){html{scroll-padding-top:100px}.wrap{padding:0 6%}.crumb{font-size:9px;padding-top:22px}.page-hero{grid-template-columns:1fr;padding:45px 0 55px;gap:32px}.display{font-size:17vw;margin-bottom:20px}.page-hero h1{margin-bottom:22px;font-size:15px}.lead{font-size:14px;max-width:100%}.hero-photo>img{aspect-ratio:1.4}.hero-photo:after{left:-15px}.hero-caption{font-size:9px}.section{padding:55px 0}.section-head{grid-template-columns:1fr;gap:25px;margin-bottom:35px}.section-title{font-size:43px}.section-intro{font-size:18px}.jump{gap:18px;margin-bottom:40px;font-size:11px}.catalog{gap:35px 17px}.catalog-title h3{font-size:16px}.round-arrow{width:28px;height:28px;font-size:13px}.catalog p:not(.label){font-size:11px;line-height:1.9}.product-picture img{aspect-ratio:1.15}.label{font-size:8px;letter-spacing:.08em}.split{grid-template-columns:1fr;gap:30px}.split>img{aspect-ratio:1.5}.band{padding-top:55px;padding-bottom:55px}.spec-grid{grid-template-columns:1fr;gap:20px}.spec{padding:25px}.gallery{gap:15px;margin-top:35px}.gallery img{aspect-ratio:1.2}.inquiry-list{grid-template-columns:1fr}.contact-band{padding:45px 6%}.contact-band a{width:65px;height:65px;font-size:28px;flex-shrink:0}.contact-band h2{font-size:11vw}.contact-band p{font-size:11px;max-width:200px}.footer-top{grid-template-columns:1fr;gap:35px}.footer-logo{width:130px}.footer-bottom{font-size:9px;align-items:start}.profile{grid-template-columns:1fr;gap:25px}.people-band{padding-bottom:45px}.people-copy{grid-template-columns:1fr;gap:20px;margin-top:35px}.people-copy h2{font-size:27px}.people-copy p{font-size:13px}.message-body{padding-bottom:45px}.message-body p{font-size:14px;line-height:2.3}.service-row{grid-template-columns:1fr;gap:25px;padding:45px 0}.service-row:nth-of-type(even) .service-img{order:0}.service-number{font-size:36px}.service-row h2{font-size:26px}.process{grid-template-columns:1fr;gap:20px}.process article{padding-top:20px}.process h3{margin:10px 0}.job{grid-template-columns:1fr;gap:15px;margin-top:45px;padding-top:30px}.job dl{grid-template-columns:85px 1fr}.job dt{font-size:11px}.job dd{font-size:12px}.benefits{grid-template-columns:1fr;gap:20px}.benefits article{padding:25px}.contact-hero{padding:45px 0 30px}.contact-hero .display{font-size:19vw}.contact-layout{grid-template-columns:1fr;padding-top:10px;gap:45px;padding-bottom:60px}.contact-side{position:static}.big-phone{font-size:37px}.contact-side .mini{margin-top:25px;padding-top:20px}.field-row{grid-template-columns:1fr;gap:0}.field{padding:20px 0}.form-head h2{font-size:24px}dialog{padding:25px}.dialog-actions{flex-direction:column}.photo-strip{gap:15px;padding-bottom:50px}.photo-strip img{height:180px}.chips a{font-size:11px;padding:10px 14px}h2{font-size:27px}.btn{padding:20px 25px}.legal h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.page-hero>div,.section-head>div,.split>div,.catalog>a,.service-row>div{min-width:0}.page-hero .display{font-size:clamp(48px,5.7vw,90px);overflow-wrap:anywhere}@media(max-width:960px) and (min-width:651px){.page-hero .display{font-size:5.5vw}}@media(max-width:650px){.page-hero .display{font-size:13vw;line-height:1.03}.page-hero h1{margin-top:25px}.band,.people-band{margin-left:calc(-6% / .88);margin-right:calc(-6% / .88)}}
body{overflow-x:clip}

.president-hero{display:block;padding-bottom:55px}.president-hero>div:first-child{display:grid;grid-template-columns:1.2fr 1fr;column-gap:7%;align-items:end}.president-hero .serial{grid-column:1/-1}.president-hero .display{grid-column:1;grid-row:2/4;margin-bottom:0}.president-hero h1{grid-column:2;grid-row:2;margin-bottom:20px}.president-hero .lead{grid-column:2;grid-row:3;align-self:start}.president-hero .hero-photo{margin-top:45px}.president-hero .hero-photo>img{aspect-ratio:2048/1110;object-fit:contain}.president-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:12px}.president-caption>p:last-child{font-size:11px;margin:0}.president-caption span{font-size:19px;margin-left:20px}.split>img.president-preview{aspect-ratio:2048/1110;object-fit:contain}@media(max-width:650px){.president-hero>div:first-child{display:block}.president-hero .display{margin-bottom:20px}.president-hero .hero-photo{margin-top:30px}.president-caption{display:block}.president-caption>p:last-child{margin-top:12px}.president-caption span{font-size:18px}.president-hero{padding-bottom:35px}}

.company-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:35px 25px;max-width:1320px;margin:45px auto 0;padding:0 6%}.company-gallery figure{margin:0;min-width:0}.company-gallery figure:last-child{grid-column:span 2}.people-band .company-gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.company-gallery figure:last-child img{aspect-ratio:8/3}.company-gallery figcaption{padding-top:2px}.foil-sample{grid-column:1/-1;max-width:800px;margin:15px auto 0;width:100%}.foil-sample img{width:100%;height:auto}.production-gallery{grid-template-columns:repeat(3,1fr)}.production-gallery img{aspect-ratio:3/2}.people-band{padding-top:35px}@media(max-width:650px){.company-gallery{grid-template-columns:1fr 1fr;gap:25px 15px;margin-top:30px}.company-gallery figure:last-child{grid-column:auto}.company-gallery figure:last-child img{aspect-ratio:4/3}.company-gallery figcaption{font-size:10px}.production-gallery{grid-template-columns:1fr 1fr}.production-gallery figure:last-child{grid-column:1/-1;max-width:400px}.people-band{padding-top:10px}}
.company-gallery{grid-template-columns:repeat(4,1fr)}.company-gallery figure:last-child{grid-column:auto}.company-gallery figure:last-child img{aspect-ratio:4/3}@media(max-width:850px){.company-gallery{grid-template-columns:1fr 1fr}}

.company-gallery{max-width:none;padding:0;gap:0;margin-top:45px}.company-gallery figure{margin:0;overflow:hidden}.people-band .company-gallery img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.access-map{width:100%;min-width:0;height:440px;background:#f3f2ef}.access-map iframe{display:block;width:100%;height:100%;border:0}@media(max-width:650px){.company-gallery{gap:0;margin-top:30px}.access-map{height:340px}}

.shipping-banner{display:block;position:relative;aspect-ratio:1872/451;overflow:hidden;background:#edf3fa}.shipping-banner>img{display:block;width:100%;height:auto;max-width:none}.overseas-promo{margin-top:30px}.links{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-top:40px}header nav{gap:clamp(14px,1.7vw,26px)}@media(max-width:960px){header nav{gap:4px}}

.shipping-banner{aspect-ratio:1610/977}.shipping-banner>img{width:100%;height:100%;object-fit:contain}

/* Web order portal */
header nav a.order{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:10px 10px 10px 20px;border:1px solid #df001b;background:#fff;color:#151515;min-height:60px;box-sizing:border-box;transition:background .25s,color .25s,box-shadow .25s}
header nav .order-copy{display:flex;flex-direction:column;gap:5px;line-height:1.2}
header nav .order-kicker{font-size:9px;font-weight:600;letter-spacing:.18em;color:#df001b;transition:color .25s}
header nav .order-label{font-size:12px;font-weight:600;letter-spacing:.04em}
header nav .order-icon{display:grid;place-items:center;width:36px;height:36px;background:#df001b;color:#fff;font-size:23px;font-weight:400;line-height:1;transition:background .25s,color .25s,transform .25s}
header nav a.order::after{display:none}
header nav a.order:hover{background:#df001b;color:#fff;box-shadow:0 5px 16px #df001b20}
header nav a.order:hover .order-kicker{color:#fff}
header nav a.order:hover .order-icon{background:#fff;color:#df001b;transform:translate(2px,-2px)}
header nav a.order:focus-visible{outline:2px solid #151515;outline-offset:4px}
@media(max-width:960px){header nav a.order{margin-top:14px;padding:12px 12px 12px 20px;min-height:68px}header nav .order-label{font-size:14px}}
