/*
Theme Name: Bike Shop Mitsui 20260826
Theme URI: https://bikeshop-mitsui.site
Author: Bike Shop Mitsui
Description: バイクショップ三井 公式サイト用オリジナルテーマ。Claude Design 2026-08-26最新版を正本として新規構築。
Version: 2026.08.26.1
Requires PHP: 7.4
Text Domain: bikeshop-mitsui-20260826
*/

/* ============================================================
   共通リセット・ベース（全ページの Claude Design <style> ブロックより統合）
   ============================================================ */
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;background:#FBF8F3;color:#3B3A44;font-family:'Zen Kaku Gothic New',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden;max-width:100vw}
img{display:block;max-width:100%}
a{color:#E10613;text-decoration:none}
a:hover{color:#B4040F}
::selection{background:#FFD9DB;color:#3B3A44}
h1,h2,h3,h4{font-family:'Zen Kaku Gothic New',sans-serif;word-break:auto-phrase}
p,li{text-wrap:pretty;word-break:auto-phrase}

/* ============================================================
   共通キーフレーム
   ============================================================ */
@keyframes softIn{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes softInX{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
@keyframes heroIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes kenburns{from{transform:scale(1.1)}to{transform:scale(1)}}
@keyframes floatUp{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
@keyframes barGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes slowPan{from{transform:scale(1.12) translateY(-2%)}to{transform:scale(1.12) translateY(2%)}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes pulseSoft{0%,100%{box-shadow:0 10px 30px rgba(225,6,19,.24)}50%{box-shadow:0 14px 40px rgba(225,6,19,.4)}}
@keyframes reveal{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes gooPulse{0%,100%{box-shadow:0 10px 30px rgba(225,6,19,.32)}50%{box-shadow:0 10px 44px rgba(225,6,19,.55)}}
@keyframes swipeMove{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
@keyframes aboutUp{from{transform:translateY(115%)}to{transform:none}}
@keyframes ghostDrift{from{transform:translateY(9%) rotate(-3deg)}to{transform:translateY(-11%) rotate(3deg)}}
@keyframes hlGrow{to{background-size:100% .3em}}
@keyframes barGrowX{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes barGrowY{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes srFade{0%{opacity:0}4%{opacity:1}16.6%{opacity:1}20.6%{opacity:0}100%{opacity:0}}

/* ============================================================
   TOP ページ（front-page.php）
   ============================================================ */
.rise{animation:softIn .85s cubic-bezier(.22,.7,.28,1) both linear;animation-timeline:view();animation-range:entry 0% entry 78%}
.riseX{animation:softInX .85s cubic-bezier(.22,.7,.28,1) both linear;animation-timeline:view();animation-range:entry 0% entry 78%}
.m-body p,.m-body li,.m-body h3,.m-body h4{animation:softIn .7s both linear;animation-timeline:view();animation-range:entry 0% entry 85%}
.pan img{animation:slowPan linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:80;background:#E10613;transform-origin:0 50%;transform:scaleX(0);animation:barGrow auto linear;animation-timeline:scroll(root)}
.hdr{transition:padding .3s ease,box-shadow .3s ease}
.hdr.shrink{padding-top:9px !important;padding-bottom:9px !important;box-shadow:0 6px 26px rgba(90,72,50,.1)}
.navlink{position:relative;transition:color .2s ease}
.navlink::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;border-radius:2px;background:#E10613;transform:scaleX(0);transform-origin:center;transition:transform .26s ease}
.navlink:hover::after{transform:scaleX(1)}
.navlink:hover{color:#E10613}
.hdr-tel:hover{background:#B4040F}
.mq-track{display:inline-flex;align-items:center;white-space:nowrap;will-change:transform;animation:marquee 36s linear infinite}
.mq:hover .mq-track{animation-play-state:paused}
.pmq-track{display:flex;align-items:stretch;gap:clamp(9px,1vw,14px);width:max-content;will-change:transform;animation:marquee 52s linear infinite}
.pmq:hover .pmq-track{animation-play-state:paused}
.pmq-item{transition:transform .35s ease}
.pmq-item:hover{transform:translateY(-5px)}
@media (max-width:560px){.pmq-item{width:clamp(168px,52vw,220px) !important}}
.mq-item{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:clamp(19px,2.6vw,30px);letter-spacing:.1em;color:#8C8578;padding:0 clamp(16px,2vw,30px)}
.mq-dot{color:#E7A9AC;font-size:11px;padding:0 clamp(8px,1vw,14px);position:relative;top:-.3em}
.btn-more .arw{display:inline-block;transition:transform .3s ease}
.btn-more:hover .arw{transform:translateX(6px)}
.btn-more:hover{background:#16226B;color:#FFFFFF}
.soft-card{transition:transform .32s ease,box-shadow .32s ease}
.soft-card:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(90,72,50,.13)}
.ph-tile{transition:transform .5s ease}
.ph-tile:hover{transform:scale(1.045)}
.news-item{transition:background .25s ease}
.news-item:hover{background:#FBF6EE}
.stock-btn{animation:pulseSoft 2.8s ease-in-out infinite}
.sr-slide{animation:srFade 30s linear infinite;will-change:opacity}
.sr-s1{animation-delay:0s}.sr-s2{animation-delay:5s}.sr-s3{animation-delay:10s}
.sr-s4{animation-delay:15s}.sr-s5{animation-delay:20s}.sr-s6{animation-delay:25s}
@media (prefers-reduced-motion:reduce){.sr-slide{animation:none !important}.sr-s1{opacity:1 !important}}
#top{padding-left:clamp(10px,1vw,16px) !important;padding-right:clamp(10px,1vw,16px) !important}
#top > p,#top > .hero-grid{max-width:none !important;width:100% !important;margin-left:0 !important;margin-right:0 !important}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001s !important}.mq-track,.stock-btn{animation:none !important}.pan img{animation:none !important}}
@media (max-width:1080px){
  .hero-grid{grid-template-columns:1fr !important}
  .hero-shell{height:auto !important;min-height:clamp(400px,64vh,660px) !important}
  .news-panel{max-height:none !important}
}
.about-ghost{position:absolute;right:-2.5vw;top:-3vh;z-index:0;font-weight:900;font-size:clamp(190px,31vw,440px);line-height:.78;color:transparent;-webkit-text-stroke:2px rgba(225,6,19,.13);pointer-events:none;user-select:none;animation:ghostDrift linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
.about-h2 .ln{display:block;overflow:hidden;padding-bottom:.05em}
.about-h2 .ln > span{display:block;white-space:nowrap;animation:aboutUp linear both;animation-timeline:view();animation-range:entry 6% entry 58%}
@media (max-width:900px){.about-h2{font-size:clamp(23px,4.6vw,34px) !important}}
@media (max-width:560px){.about-h2{font-size:clamp(21px,6.2vw,27px) !important}}
.about-h2 .ln:nth-child(2) > span{animation-range:entry 14% entry 68%}
.since-bar{transform-origin:left;animation:barGrowX linear both;animation-timeline:view();animation-range:entry 12% entry 70%}
.about-quote .mark{background-image:linear-gradient(rgba(225,6,19,.42),rgba(225,6,19,.42));background-repeat:no-repeat;background-position:0 92%;background-size:0% .3em;color:#FF5A63;animation:hlGrow linear both;animation-timeline:view();animation-range:entry 18% entry 72%}
.about-num{position:relative;display:inline-block;font-size:1.62em;line-height:.9;color:#E10613;letter-spacing:-.02em}
.about-num::after{content:"";position:absolute;left:-.06em;right:-.06em;bottom:.06em;height:.16em;background:rgba(225,6,19,.18);border-radius:2px;z-index:-1;transform-origin:left;animation:barGrowX linear both;animation-timeline:view();animation-range:entry 16% entry 74%}
.tl-dot{position:relative;width:11px;height:11px;border-radius:50%;background:#E10613;flex:none}
.tl-dot.end{background:#FFFFFF;border:3px solid #D8CFBF}
.stmt{position:relative;padding-left:clamp(16px,1.6vw,22px)}
.stmt::before{content:"";position:absolute;left:0;top:.24em;bottom:.24em;width:4px;border-radius:3px;background:linear-gradient(#E10613,rgba(225,6,19,.25));transform-origin:top;animation:barGrowY linear both;animation-timeline:view();animation-range:entry 10% entry 66%}
.vq{position:absolute;top:clamp(-6px,-.4vw,-2px);left:clamp(12px,1.2vw,17px);font-size:clamp(46px,4.6vw,64px);line-height:1;font-weight:900;color:rgba(59,58,68,.1);pointer-events:none;user-select:none}
.voice-grid > *:nth-child(2){margin-top:clamp(12px,2.2vw,34px)}
.voice-grid > *:nth-child(3){margin-top:clamp(24px,4.4vw,68px)}
.staff-card{transition:transform .3s ease,box-shadow .3s ease}
.staff-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(90,72,50,.13)}
@media (max-width:700px){.staff-grid{grid-template-columns:1fr !important}}
.about-band{position:relative;overflow:hidden;background:#2B2A33;border-radius:clamp(16px,2vw,26px);padding:clamp(30px,4.4vw,58px) clamp(24px,4vw,56px)}
.about-band::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.045) 0 2px,transparent 2px 13px);pointer-events:none}
.band-ghost{position:absolute;right:-.06em;bottom:-.34em;font-weight:900;font-size:clamp(120px,17vw,240px);line-height:.78;color:transparent;-webkit-text-stroke:2px rgba(225,6,19,.34);pointer-events:none;user-select:none}
@media (max-width:820px){
  .voice-grid > *:nth-child(2),.voice-grid > *:nth-child(3){margin-top:0}
  .vq{display:none}
}
.vcard{position:relative;display:flex;transition:transform .3s ease,box-shadow .3s ease}
.vcard::after{content:"";position:absolute;left:22px;bottom:-9px;width:18px;height:11px;background:inherit;clip-path:polygon(0 0,100% 0,22% 100%)}
.vcard:nth-child(2){background:#EEF0FB}
.vcard:nth-child(3){background:#FFF0F1}
.vcard:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(90,72,50,.11)}
@media (max-width:820px){
  .voice-grid{grid-template-columns:1fr !important;gap:8px !important}
  .vcard{border-radius:18px 18px 18px 6px !important;padding:13px 18px !important}
  .vcard::after{left:16px;bottom:-7px;width:14px;height:9px}
  .vcard > p{flex:1;margin:0 !important}
}
@media (max-width:900px){
  .about-top{grid-template-columns:1fr !important;gap:22px !important}
}
@media (max-width:560px){
  .q-br{display:none}
  .about-ghost{font-size:clamp(150px,52vw,240px) !important;-webkit-text-stroke-width:1.6px !important}
}
.to-top{opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .3s ease,transform .3s ease,visibility .3s ease}
.to-top.show{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:#1C2B85;color:#FFFFFF;border-color:#1C2B85}
.quick-tile{transition:transform .25s ease,background .25s ease,box-shadow .25s ease}
.quick-tile:hover{transform:translateY(-3px);background:#DD7413;box-shadow:0 12px 26px rgba(240,131,30,.32);color:#FFFFFF}
@media (max-width:1080px){
  .quick-wrap{grid-template-columns:1fr !important}
  .news-card{flex:none !important}
  .news-list{max-height:392px !important}
}
@media (max-width:900px){
  .quick-grid{grid-template-columns:repeat(4,1fr) !important}
  .quick-stock{grid-column:span 4 !important}
}
@media (max-width:560px){
  .quick-grid{gap:7px !important}
  .quick-tile{padding:11px 5px !important;font-size:10.5px !important}
  .quick-tile svg{width:38px !important;height:38px !important}
  .hero-info-row{grid-template-columns:1fr !important}
}
@media (max-width:1024px){.line-steps{grid-template-columns:repeat(3,minmax(0,1fr)) !important}}
@media (max-width:640px){.line-steps{grid-template-columns:1fr !important}}
@media (max-width:560px){
  .sns-btns{flex-direction:column !important;align-items:stretch !important;gap:14px !important;padding:8px 0 !important}
  .sns-btns > a{width:100% !important;justify-content:center !important;padding-left:16px !important;padding-right:16px !important;box-sizing:border-box}
}
.cta-panel{display:grid;grid-template-columns:1fr 1fr;position:relative}
.cta-half{position:relative;transition:background .25s ease}
.cta-half + .cta-half{border-left:1.5px dashed #E7DFD1}
.cta-or{position:absolute;left:0;top:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;background:#FFFFFF;border:1.5px solid #EDE5D8;display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:900;color:#B0A896;box-shadow:0 6px 16px rgba(90,72,50,.14);z-index:2}
@media (max-width:820px){
  .cta-panel{grid-template-columns:1fr}
  .cta-half + .cta-half{border-left:none;border-top:1.5px dashed #E7DFD1}
  .cta-or{left:50%;top:0;transform:translate(-50%,-50%)}
}
.cta-half:hover{background:#FFF6F6}
.cta-half:nth-child(2):hover{background:#F6F7FD}
@media (max-width:1024px){.reasons-grid{grid-template-columns:repeat(2,1fr) !important}}
@media (max-width:1150px){
  .hdr{padding:11px 18px !important}
  .logo-sub{display:none !important}
  .hdr-tel{padding:9px 15px !important;font-size:13px !important}
  .navlinks{display:none !important}
  .hamburger{display:flex !important}
}
@media (min-width:561px) and (max-width:980px){
  .svc-band{grid-template-columns:1fr 1fr !important}
  .svc-band .svc-text{padding:clamp(26px,3.4vw,40px) !important;justify-content:center !important}
  .svc-band .svc-img{min-height:100% !important;order:0 !important}
  .svc-band h3{font-size:clamp(19px,2.6vw,25px) !important}
  .svc-band .m-body p{font-size:13.5px !important;line-height:2 !important}
}
@media (max-width:900px){
  .svc-band{min-height:0 !important}
  .svc-text{justify-content:flex-start !important;padding:clamp(38px,7vw,64px) clamp(26px,7vw,54px) !important}
  .svc-img{min-height:clamp(290px,52vw,430px) !important}
  .greet-portrait{flex-basis:auto !important;width:100% !important;max-width:420px !important;margin:0 auto !important;order:2 !important}
  .shop-map{order:2 !important}
  .gal-grid{grid-template-columns:repeat(2,1fr) !important;grid-auto-rows:1fr !important}
  .gal-grid .gal-wide{grid-column:span 2 !important;grid-row:span 2 !important}
}
@media (max-width:880px){
  .stack-img-top .svc-img{order:-1 !important}
}
@media (min-width:561px) and (max-width:980px){
  .stats-row > div{flex:1 1 calc(25% - 14px) !important;min-width:0 !important}
  .steps-grid{grid-template-columns:1fr 1fr !important}
}
@media (max-width:640px){
  .gal-grid{grid-template-columns:repeat(2,1fr) !important}
  .gal-grid .gal-wide{grid-column:span 2 !important;grid-row:span 2 !important}
}
@media (max-width:560px){
  .hdr-tel{display:none !important}
  .stats-row{gap:24px 14px !important}
  .stats-row > div{flex:1 1 calc(50% - 7px) !important;min-width:0 !important}
  .reasons-grid{grid-template-columns:1fr 1fr !important;gap:10px !important}
  .reasons-grid > div{padding:24px 15px !important;min-width:0 !important}
  .steps-grid{grid-template-columns:1fr 1fr !important}
  .hero-media-pc{display:none !important}
  .hero-media-sp{display:block !important}
  .hero-shell{min-height:0 !important;border-radius:0 !important;overflow:visible !important;background:transparent !important;box-shadow:none !important;display:flex !important;flex-direction:column !important}
  .hero-media{position:relative !important;inset:auto !important;width:100% !important;aspect-ratio:4/5;border-radius:20px;overflow:hidden;box-shadow:0 14px 34px rgba(90,72,50,.16);animation:none !important}
  .hero-scrim{display:none !important}
  .hero-copy{height:auto !important;padding:24px 2px 0 !important}
  .hero-copy h1{font-size:clamp(21px,5.6vw,28px) !important;color:#3B3A44 !important;text-shadow:none !important;line-height:1.6 !important;white-space:nowrap !important}
  .m-body p{word-break:normal !important;text-wrap:pretty !important;line-break:strict !important;letter-spacing:.01em !important;font-size:14.5px !important;line-height:2.05 !important}
  .hero-copy p{color:#5C5A64 !important;text-shadow:none !important}
  .hero-copy > p:first-child{background:#FFF0F1 !important;box-shadow:none !important}
}
.instagram-feed{width:100%;max-width:100%;overflow:hidden}
.instagram-feed *{max-width:100% !important;box-sizing:border-box !important}
.instagram-feed img{height:auto}
.gal-grid .ph-tile::after{content:"";position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.94) url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233B3A44' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M11 8.4v5.2M8.4 11h5.2'/%3E%3Cpath d='m16 16 4.2 4.2'/%3E%3C/svg%3E") center/19px 19px no-repeat;box-shadow:0 3px 10px rgba(90,72,50,.24);opacity:.92;transition:opacity .25s ease,transform .25s ease;pointer-events:none;z-index:2}
.gal-grid .ph-tile:hover::after{opacity:1;transform:scale(1.12)}
.m-body p,.m-body li{letter-spacing:.02em !important}

/* ============================================================
   店舗情報（page-shop.php）
   ============================================================ */
@media (max-width:820px){
  .info-grid{grid-template-columns:1fr !important}
}
@media (max-width:560px){
  .info-grid{display:flex !important;flex-direction:column-reverse !important}
  .cp-box{border:0 !important;background:#FFFFFF !important;padding:6px clamp(18px,5vw,26px) !important;border-radius:4px !important}
  .cp-row{flex-direction:column !important;gap:5px !important;padding:16px 0 !important;border-bottom:1px solid rgba(27,33,64,.12) !important}
  .cp-k{flex:none !important;background:transparent !important;border-right:0 !important;padding:0 !important;color:#8A90A2 !important;font-size:12px !important}
  .cp-v{flex:none !important;padding:0 !important;font-size:14.5px !important;font-weight:500 !important;color:#1B2140 !important}
}

/* ============================================================
   新車・中古車情報（page-lineup.php）
   ============================================================ */
.lg-row{display:flex;gap:clamp(28px,4vw,60px);align-items:flex-start;flex-wrap:wrap}
@media (max-width:820px){
  .lg-alt{flex-direction:column !important}
  .lg-img{order:-1 !important;width:100% !important}
}
@media (max-width:560px){
  .goo-bar{flex-direction:column !important;align-items:stretch !important;text-align:center}
  .bar-logos{justify-content:center !important}
  .bar-logos a{flex:1 1 0;min-width:0}
  .bar-logos img{height:22px !important}
  .cta-logos{grid-template-columns:1fr !important;gap:10px !important}
  .lg-close{text-align:left !important}
}
.lg-intro-p{margin:0 0 44px;line-height:2.5}
.lg-intro-p:last-child{margin-bottom:0}
@media (max-width:1024px){
  .lg-intro-p{margin:0 0 22px !important;line-height:2.15 !important}
  .lg-intro-p:last-child{margin-bottom:0 !important}
}
@media (min-width:1025px){
  .lg-intro-sec{padding-bottom:clamp(80px,13vh,150px) !important}
}
@media (max-width:1024px){
  .lg-feat{gap:28px !important}
  .lg-row{gap:18px !important}
}

/* ============================================================
   修理・車検（page-repair.php）
   ============================================================ */
.rw{max-width:1300px;margin:0 auto;padding:0 clamp(22px,4vw,52px)}
.tbl{width:100%;border-collapse:collapse;font-size:13.5px;min-width:560px}
.tbl th,.tbl td{border:1px solid #E2E5EC;padding:12px 14px;text-align:center;vertical-align:middle}
.tbl thead th{color:#fff;font-weight:700;letter-spacing:.02em;border-color:rgba(255,255,255,.25)}
.tbl .rowhead{background:#F3F5F9;font-weight:700;color:#1B2140;text-align:left;white-space:nowrap}
.tbl .sub{background:#fff;color:#3A3F52;text-align:left;white-space:nowrap}
.tbl .price{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:15px;color:#1B2140}
.tbl .yen{font-family:'Zen Kaku Gothic New',sans-serif;font-size:11px;font-weight:500;color:#6B7185;margin-left:1px}
.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:8px;border:1px solid #E2E5EC}
.sec-h{margin:0 0 clamp(18px,3vw,26px);padding-left:14px;border-left:5px solid #E10613;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:clamp(21px,2.8vw,32px);color:#1B2140;letter-spacing:.02em}
.note{margin:12px 0 0;font-size:12px;line-height:1.9;color:#6B7185}
.note b{color:#E10613;font-weight:700}
.kv{width:100%;border-collapse:collapse;font-size:13.5px;min-width:520px}
.kv td,.kv th{border:1px solid #E2E5EC;padding:12px 16px;vertical-align:middle}
.kv .k{background:#F3F5F9;font-weight:700;color:#1B2140;text-align:left;white-space:nowrap;width:38%}
.kv .v{color:#1B2140}
.kv .v .price{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:15px}
@media (max-width:560px){.card2{grid-template-columns:1fr !important}}
@media (max-width:600px){.custom-grid{grid-template-columns:1fr 1fr !important}}
.swipe-hint{display:none}
@media (max-width:600px){.swipe-hint{display:flex;align-items:center;gap:8px;width:fit-content;margin:0 0 9px auto;padding:6px 14px;border-radius:999px;background:#FFF1F2;border:1px solid #F6C6CA;color:#E10613;font-size:12px;font-weight:700;letter-spacing:.01em}.swipe-hint svg{animation:swipeMove 1.35s ease-in-out infinite}}

/* ============================================================
   購入サポート（page-support.php）
   ============================================================ */
.ps-wrap{max-width:1300px;margin:0 auto;padding:0 clamp(22px,4vw,52px)}
.bar{background:#111318;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px clamp(18px,3vw,28px);border-radius:2px}
.bar h2{margin:0;font-size:clamp(17px,2.4vw,23px);font-weight:700;letter-spacing:.03em}
.bar .more{flex:none;background:#fff;color:#333;font-size:12px;font-weight:500;padding:8px 16px;border-radius:2px;border:1px solid #ccc}
.navy{color:#25325A}
@media (max-width:640px){
  .two-col{grid-template-columns:1fr !important}
  .credit-hero{flex-direction:column !important}
  .credit-hero>div{flex:0 0 auto !important;width:100% !important}
  .warranty-cols{grid-template-columns:1fr !important}
  .theft-grid{grid-template-columns:1fr !important}
  .setcount{flex-direction:column !important;align-items:flex-start !important;gap:8px !important}
}

/* ============================================================
   お問い合わせ（page-contact.php）
   ============================================================ */
.cw{max-width:1300px;margin:0 auto;padding:0 clamp(22px,4vw,52px)}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}
.field label{font-size:13px;font-weight:700;color:#1B2140;display:flex;align-items:center;gap:8px}
.req{font-size:10px;font-weight:700;color:#fff;background:var(--accent,#E10613);padding:2px 8px;border-radius:3px;letter-spacing:.04em}
.opt{font-size:10px;font-weight:700;color:#6B7185;background:#EEF0F5;padding:2px 8px;border-radius:3px;letter-spacing:.04em}
.field input,.field select,.field textarea{font-family:inherit;font-size:15px;color:#1B2140;background:#F7F8FB;border:1px solid #D9DDE6;border-radius:var(--radius,12px);padding:14px 16px;width:100%}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent,#E10613);background:#fff;box-shadow:0 0 0 3px var(--accent-soft,rgba(225,6,19,.12))}
.field textarea{resize:vertical;min-height:140px}
.tabs{display:flex;border:1.5px solid #D9DDE6;border-radius:var(--radius,12px);overflow:hidden;margin-bottom:clamp(28px,4vw,40px);background:#fff}
.tab{flex:1 1 0;min-width:0;cursor:pointer;background:#fff;padding:20px 22px;transition:all .18s ease;display:flex;gap:14px;align-items:center;border:0;text-align:left;font:inherit;color:inherit}
.tab + .tab{border-left:1.5px solid #D9DDE6}
.tab.on{background:var(--accent-soft,#FEF4F4)}
.tab .ico{flex:none;width:44px;height:44px;border-radius:50%;background:#AEB4C2;display:flex;align-items:center;justify-content:center;transition:background .18s ease}
.tab.on .ico{background:var(--accent,#E10613)}
.tab .ttl{transition:color .18s ease}
.tab.on .ttl{color:var(--accent,#E10613)!important}
.tab .radio{flex:none;margin-left:auto;width:20px;height:20px;border-radius:50%;border:2px solid #C7CCD8;position:relative;transition:border-color .18s ease}
.tab.on .radio{border-color:var(--accent,#E10613)}
.tab.on .radio::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--accent,#E10613)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
@media (max-width:960px){.tabs{flex-direction:column}.tab+.tab{border-left:none;border-top:1.5px solid #D9DDE6}}
@media (max-width:560px){.grid2{grid-template-columns:1fr}.tab{padding:16px 18px}}
@media (max-width:600px){.c-hero{min-height:66vh;display:flex;align-items:center;padding-top:100px!important;padding-bottom:52px!important}}

/* ============================================================
   日本語文字組み・レスポンシブの共通ルール（全ページ共通）
   ============================================================ */
@media (max-width:820px){
  h1,h2,h3,h4,p,li,dt,dd,figcaption,label{word-break:normal !important;text-wrap:wrap !important;line-break:strict !important;overflow-wrap:break-word}
  p,li,dd,label{letter-spacing:.01em !important}
}
h1,h2,h3,h4{font-weight:900 !important;letter-spacing:.01em !important}
:where(p,li,dd,dt,figcaption,label,td,th){font-weight:500}
strong{font-weight:900 !important}
[style*="color:#54525E"],[style*="color: rgb(84, 82, 94)"]{color:#3F3D48 !important}
[style*="color:#5C5A64"],[style*="color: rgb(92, 90, 100)"]{color:#42404A !important}
[style*="color:#6A6660"],[style*="color: rgb(106, 102, 96)"]{color:#4E4B46 !important}
[style*="color:#7A7466"],[style*="color: rgb(122, 116, 102)"]{color:#665F51 !important}
[style*="color:#3A3F52"],[style*="color: rgb(58, 63, 82)"]{color:#2F3342 !important}
@media (max-width:560px){
  [style*="text-align:center"]:not(th):not(td):not([style*="background"]),[style*="text-align: center"]:not(th):not(td):not([style*="background"]){text-align:left !important}
  .pullquote{text-align:left !important}
  .pullquote > span{left:0 !important;transform:none !important}
  button[type="submit"],.submit-btn{text-align:center !important}
}

/* ============================================================
   横スクロール防止（全ページ共通・WP実装上の安全策）
   ============================================================ */
.ph-empty{display:flex;align-items:center;justify-content:center;background:#EDE7DD;color:#A69C8C;font-size:12px;padding:20px;text-align:center}

/* ============================================================
   汎用固定ページ／ブログ一覧／404（Designに対応ページが無いWP標準機能用）
   ============================================================ */
.page-wrap{max-width:900px;margin:0 auto;padding:clamp(110px,16vh,160px) clamp(22px,4vw,52px) clamp(60px,9vh,110px)}
.page-wrap h1{font-weight:700;font-size:clamp(28px,4vw,46px);letter-spacing:.04em;color:#1B2140;margin:0 0 8px}
.page-wrap .page-eyebrow{font-size:11px;font-weight:500;letter-spacing:.34em;color:#E10613;text-transform:uppercase;margin:0 0 14px}
.page-wrap h2{font-weight:700;font-size:clamp(22px,2.6vw,32px);color:#1B2140;margin:48px 0 18px}
.page-wrap h3{font-weight:700;font-size:clamp(18px,2vw,22px);color:#1B2140;margin:32px 0 12px}
.page-wrap p,.page-wrap li{font-size:15px;line-height:2.1;letter-spacing:.03em;color:#3A3F52}
.page-wrap .lead{border-left:3px solid #E10613;padding-left:20px;margin:28px 0 40px}
.page-wrap img{border-radius:3px;margin:24px 0}
.page-wrap .btn-more{display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:15px 36px;background:#1C2B85;color:#FFFFFF;border-radius:999px;font-size:14.5px;font-weight:700;letter-spacing:.06em}
