/* Brand refinement: restrained surfaces, precise controls, generous image framing. */
:root{--ink:#101b2c;--muted:#5d6976;--line:#e1e5e8;--pale:#f5f6f7;--lime:#c7ef46;--radius:10px;--ease:cubic-bezier(.2,.7,.2,1)}
body{-webkit-font-smoothing:antialiased;letter-spacing:.015em}
::selection{background:#d4ef8a;color:var(--ink)}
:focus-visible{outline:2px solid #5c790d;outline-offset:5px}
.preview{background:#eef1e8;color:#505949;letter-spacing:.025em}
.utility{background:#fff;border-bottom:1px solid #eef0f2;letter-spacing:.06em}
.utility .wrap{padding-block:9px}
.header{padding-block:19px;gap:36px}
.search{border-radius:8px;background:#f6f7f8;border-color:transparent;transition:border-color .2s,box-shadow .2s}
.search:focus-within{border-color:#9babb7;box-shadow:0 0 0 3px #101b2c08}
.search input{background:transparent;padding:13px 18px}
.search input:focus{outline:none}
.search button{display:grid;place-items:center;min-width:52px;background:transparent;color:var(--ink);transition:background .2s}
.search button:hover{background:#e9edef}
.icon{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.consult-link{display:flex;align-items:center;gap:18px;border:1px solid #cfd5da;padding:12px 15px;border-radius:7px;transition:background .25s,border-color .25s}
.consult-link span{display:grid;place-items:center;width:26px;height:26px;margin:0;background:var(--lime);border-radius:50%;color:var(--ink)}
.consult-link:hover{background:#f6f8f1;border-color:#99ad69}
.nav{border-top:0;border-bottom:1px solid #d9dee3}
.nav a{font-size:14px;font-weight:600;padding:17px 12px;position:relative;border:0}
.nav a::after{content:"";position:absolute;height:2px;bottom:-1px;left:12px;right:12px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.hero{border-radius:12px;margin-top:30px;border:1px solid #e4e8eb;min-height:380px}
.hero-copy{padding:42px 48px;width:59%;background:linear-gradient(90deg,#f3f6f9f7,#f3f6f9b8 70%,transparent)}
.hero h1{font-size:clamp(2rem,3.25vw,3rem);font-weight:800;letter-spacing:.025em;line-height:1.5}
.hero-copy>p:not(.eyebrow){line-height:1.95;color:#3f4d5c}
.eyebrow{font-size:12px;letter-spacing:.19em;font-weight:600}
.hero .eyebrow{display:flex;align-items:center;gap:12px}
.hero .eyebrow::before{content:"";width:24px;height:2px;background:#6e872c}
.button{position:relative;min-height:56px;padding:10px 12px 10px 23px;border:1px solid transparent;border-radius:7px;gap:28px;font-size:14px;letter-spacing:.04em;line-height:1.5;transition:background .25s var(--ease),box-shadow .25s var(--ease),transform .25s var(--ease),border-color .25s var(--ease)}
.button .button-arrow{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;margin-left:auto;transition:background .25s,transform .25s}
.button .icon{width:17px;height:17px;transition:transform .25s var(--ease)}
.button.dark{background:linear-gradient(135deg,#253349,#111c2d);border-color:#263346;box-shadow:inset 0 1px 0 #ffffff19,0 4px 8px #101b2c0b}
.button.dark .button-arrow{background:#ffffff10;box-shadow:inset 0 0 0 1px #ffffff15}
.button.lime{background:linear-gradient(135deg,#d4f66c,#bee63c);border-color:#d4ef8c;box-shadow:inset 0 1px 0 #ffffff50}
.button.lime .button-arrow{background:#101b2c0d;box-shadow:inset 0 0 0 1px #101b2c12}
.button.outline{border-color:#c7cfd5;background:white;padding-left:20px}
.button.outline .button-arrow{background:#f0f3f5}
.button:hover{filter:none;transform:translateY(-2px);box-shadow:0 7px 16px #101b2c16}
.button:hover .icon{transform:translateX(2px)}
.button:active{transform:translateY(0);box-shadow:inset 0 2px 4px #101b2c18}
.button:disabled{opacity:.5;cursor:not-allowed;transform:none}
.image-note{font-size:12px;padding:3px 10px;border-radius:3px;background:#ffffffb8;color:#46515c}
.quick{padding-block:25px;gap:28px}
.quick b{color:#7e8994;font-weight:500;letter-spacing:.08em}
.quick>a{display:flex;align-items:center;gap:0}
.quick>a>span{margin-left:auto}
.section{padding-block:54px}
.section-head{margin-bottom:30px}
.section-head h2{font-weight:700;letter-spacing:.03em}
.section-head>a{display:inline-flex;align-items:center;gap:18px;font-weight:600;font-size:14px;border-bottom:1px solid #aeb8bf;padding-bottom:8px}
.products{gap:26px}
.product-card{border:1px solid #e2e6e9;border-radius:10px;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;box-shadow:0 2px 3px #101b2c02}
.product-card:hover{transform:translateY(-5px);border-color:#bcc7cf;box-shadow:0 16px 34px #1725370d}
.product-picture{height:auto;aspect-ratio:3/2;padding:0;overflow:hidden;background:#eff2f4}
.product-picture img{width:100%;height:100%;object-fit:cover;mix-blend-mode:normal;transition:transform .65s var(--ease)}
.product-card:hover .product-picture img{transform:scale(1.035)}
.product-picture>span{left:18px;top:16px;font-size:12px;letter-spacing:.16em;background:#ffffffc9;padding:4px 9px;border:1px solid #ffffff70;border-radius:3px;color:#374756;z-index:1}
.product-picture .image-caption{position:absolute;right:12px;bottom:10px;font-size:12px;background:#ffffffc9;padding:2px 7px;border-radius:3px;color:#4c5862}
.card-body{padding:26px 25px 24px}
.kicker{letter-spacing:.04em;color:#5b6876}
.card-body h3{font-size:1.4rem;letter-spacing:.04em;font-weight:700}
.card-body>p:not(.kicker){font-size:14px;line-height:1.8;margin-top:9px}
.card-price{border-top:1px solid #e8ebee;padding-top:21px;margin-top:22px;gap:7px}
.card-price b{font-family:Arial,sans-serif;font-size:27px;letter-spacing:-.025em;font-weight:500;font-variant-numeric:tabular-nums}
.card-price b span{font-size:14px;margin-left:4px}
.card-price i{display:grid;place-items:center;width:34px;height:34px;border:1px solid #dbe0e4;border-radius:50%;align-self:center;transition:background .25s,border-color .25s}
.product-card:hover .card-price i{background:var(--lime);border-color:var(--lime)}
.support-band{border-radius:12px;background:linear-gradient(120deg,#1c293c,#0c1728);grid-template-columns:1fr 1fr;margin-block:10px 22px}
.support-band>div{padding:48px}
.support-band h2{font-size:clamp(1.4rem,2.3vw,1.8rem);line-height:1.7;font-weight:600;letter-spacing:.035em}
.support-band p:not(.eyebrow){font-size:14px;line-height:2;color:#c1ccd6}
.support-band figure{min-height:390px}
.support-band figcaption{border-radius:3px;padding:3px 9px}
.guide{padding-block:48px 56px}.guide ol{gap:32px}
.guide li>span{background:white;border:1px solid #c9d2d9;width:36px;height:36px;font-weight:500}
.guide h3{font-weight:600}.guide p{line-height:1.9}
.footer-inner{padding-block:40px;gap:32px}.footer-inner>div{flex-wrap:wrap;gap:22px}
.footer-inner a{color:#dbe3e9;transition:color .2s}.footer-inner a:hover{color:var(--lime)}
.breadcrumbs{letter-spacing:.04em;padding-block:26px}
.page-title{margin-bottom:38px}.page-title h1{font-weight:700;letter-spacing:.035em}
.detail-grid{gap:56px;align-items:start}
.detail-photo{height:auto;aspect-ratio:3/2;padding:0;overflow:hidden;border-radius:10px;position:relative}
.detail-photo img{max-height:none;width:100%;height:100%;object-fit:cover;mix-blend-mode:normal}
.detail-photo::after{content:"素材イメージ";position:absolute;right:12px;bottom:12px;font-size:12px;background:#ffffffe0;padding:3px 9px;border-radius:3px;color:#4c5862}
.detail-info>.button{margin-top:22px}
.order-box{padding:32px;border:1px solid #dce2e7;border-top:2px solid #223247;border-radius:10px;box-shadow:0 12px 35px #1c2b3a06}
.order-box h2{font-size:1.35rem}.order-box label{margin-top:26px}
.tag{background:#f0f3e8;border:1px solid #e0e7ce;border-radius:4px;color:#4d5e32;letter-spacing:.04em}
.price-display{padding-block:25px}.price-display strong{font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.025em}
.order-box select,.form-field input,.form-field select,.form-field textarea{border-color:#cdd5dc;border-radius:6px;padding:14px 16px;transition:border-color .2s,box-shadow .2s;min-height:50px}
.order-box select:focus,.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:0;border-color:#6d8550;box-shadow:0 0 0 3px #91a96420}
.price-table th{font-weight:500;background:#f4f6f7;color:#5d6a76}.price-table td{padding-block:17px}.price-table tbody tr:hover{background:#f8faf5}
.contact-form{border-radius:10px;padding:34px;box-shadow:0 12px 35px #1c2b3a04}
.contact-hint{border-left-width:2px;border-radius:0 6px 6px 0;line-height:1.9}
.contact-address{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.contact-address small{display:block;font-size:12px;color:var(--muted);letter-spacing:.07em}
.contact-address a{display:inline-block;font:500 24px Arial,sans-serif;letter-spacing:.01em;padding:8px 0;border-bottom:1px solid #aeb8bf}
.form-result{border:1px solid #dce6c5;background:#f3f7eb;border-radius:6px;font-size:14px}
.category-link{padding:23px;border-radius:7px;transition:border-color .2s,background .2s,transform .2s}
.category-link:hover{transform:translateY(-2px);background:#f8faf5;border-color:#a4b393}
@media(min-width:1500px){.wrap{width:min(1340px,calc(100% - 96px))}}
@media(max-width:1100px){.header{gap:20px}.consult-link{font-size:14px}.hero-copy{width:66%;padding:36px}.support-band>div{padding:32px}.card-body{padding:22px}.card-price small{flex-basis:100%;order:3}}
@media(max-width:1000px){.header{padding-block:15px}.nav a{font-size:14px;padding:12px 6px}.hero{min-height:350px}.quick{gap:16px;font-size:14px}.support-band figure{min-height:380px}.detail-grid{gap:32px}}
@media(max-width:640px){.header{gap:12px}.brand{width:240px;max-width:100%}.consult-link{padding:9px 12px;font-size:14px;width:100%;justify-content:space-between;order:4}.search{order:3}.nav a{padding:11px 14px 11px 0;font-size:14px}.hero{margin-top:20px;min-height:460px}.hero-copy{width:100%;padding:28px 24px 110px;background:linear-gradient(90deg,#f3f6f9f0,#f3f6f9b5 60%,#f3f6f944)}.hero h1{font-size:2.15rem}.hero-img{object-position:62% 80%}.hero-copy>p:not(.eyebrow){font-size:16px}.button{min-height:54px;gap:22px}.quick{gap:15px;padding-block:23px}.section{padding-block:36px}.section-head h2{font-size:1.35rem}.products{gap:22px}.product-card{display:block}.product-picture{min-height:0;aspect-ratio:3/2}.product-picture img{width:100%;height:100%}.card-body{padding:24px}.card-body h3{font-size:1.4rem}.card-body>p:not(.kicker){font-size:14px}.card-price b{font-size:28px}.card-price small{flex-basis:auto;order:0;display:inline}.support-band{grid-template-columns:1fr}.support-band>div{padding:30px 25px}.support-band figure{min-height:0;height:240px}.support-band p:not(.eyebrow){font-size:14px}.guide ol{gap:25px}.footer-inner{padding-block:30px}.footer-inner>div{gap:16px}.detail-photo{height:auto}.detail-grid{gap:28px}.order-box,.contact-form{padding:24px}.price-display strong{font-size:32px}.price-table td,.price-table th{padding-inline:12px}.contact-layout{gap:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.product-card:hover,.button:hover,.category-link:hover,.product-card:hover .product-picture img,.button:hover .icon{transform:none}}

.category-products .product-card{display:flex;flex-direction:column}.category-products .card-body{display:flex;flex-direction:column;flex:1}.category-product-title{font-size:1.12rem;line-height:1.75;overflow-wrap:anywhere}.category-products .card-price{margin-top:auto;padding-top:22px}.category-products .card-body>p{margin-bottom:24px}.category-product-action{display:block;font-size:14px;margin-top:18px;font-weight:600;color:#374957}
