/*
Theme Name: FR Reverse Corporate Editorial
Theme URI: https://fr-reverse.jp/
Author: FR Reverse
Description: 株式会社FR Reverse コーポレートサイト。明るく上質なIT企業系デザイン。
Version: 15.0.0
Text Domain: fr-reverse
*/
:root{--ink:#10141a;--muted:#66707b;--line:#e5e9ed;--paper:#fff;--soft:#f6f8f9;--blue:#1d3855;--accent:#6fa9c8;--max:1260px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(calc(100% - 56px),var(--max));margin:auto}.site-header{position:fixed;z-index:1000;top:0;left:0;right:0;height:82px;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(16,20,26,.06)}.header-inner{height:100%;display:flex;align-items:center;gap:38px}.brand{display:flex;align-items:center;gap:12px;margin-right:auto}.brand img{width:42px;height:42px;object-fit:cover;border-radius:12px}.brand strong{display:block;font-size:14px;letter-spacing:.01em}.brand small{display:block;color:#8c959f;font-size:8px;letter-spacing:.14em}.nav{display:flex;gap:30px;align-items:center}.nav a{font-size:12px;font-weight:600;color:#303740}.nav a:hover{color:#000}.contact-pill{padding:12px 19px;border-radius:999px;background:#111820;color:#fff;font-size:12px;font-weight:700}.menu-btn{display:none;border:0;background:none;width:44px;height:44px;position:relative}.menu-btn:before,.menu-btn:after{content:"";position:absolute;left:10px;right:10px;height:1px;background:#111}.menu-btn:before{top:17px}.menu-btn:after{top:26px}
.hero{padding:135px 0 64px;background:radial-gradient(circle at 10% 18%, rgba(198,220,238,.28), transparent 26%),radial-gradient(circle at 88% 12%, rgba(214,232,245,.34), transparent 24%),linear-gradient(180deg,#f8fbfe 0%,#f1f6fb 58%,#f8fbfd 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:72px;align-items:center}.eyebrow{display:flex;align-items:center;gap:10px;font-size:11px;color:#7a838d;font-weight:700;letter-spacing:.08em}.eyebrow:before{content:"";width:34px;height:1px;background:#8aa1b6}.hero h1{font-size:clamp(52px,6vw,92px);line-height:1.08;letter-spacing:-.055em;margin:24px 0 28px;font-weight:650}.hero h1 em{font-style:normal;color:#7b8996}.hero-lead{font-size:20px;font-weight:600;line-height:1.65;margin:0 0 16px}.hero-desc{color:var(--muted);font-size:14px;max-width:610px}.hero-links{display:flex;gap:22px;align-items:center;margin-top:32px}.hero-links a{font-size:13px;font-weight:700;border-bottom:1px solid #111;padding-bottom:3px}.hero-visual{position:relative}.hero-photo{border-radius:0 0 0 76px;overflow:hidden;min-height:640px;background:url('assets/images/hero-repair.png') center/cover no-repeat}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(7,12,18,.30))}.hero-mark{position:absolute;left:-36px;bottom:36px;z-index:3;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);padding:20px 24px;width:260px;border-left:3px solid var(--blue);box-shadow:0 20px 60px rgba(17,26,38,.12)}.hero-mark span{display:block;color:#78838e;font-size:9px;letter-spacing:.15em}.hero-mark strong{display:block;margin-top:5px;font-size:18px;line-height:1.45}.hero-meta{display:grid;grid-template-columns:repeat(3,1fr);margin-top:44px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.hero-meta div{padding:20px 0}.hero-meta div+div{border-left:1px solid var(--line);padding-left:28px}.hero-meta b{font-size:23px}.hero-meta span{display:block;font-size:10px;color:#8a939d;margin-top:2px}
.section{padding:130px 0}.section.soft{background:var(--soft)}.section-head{display:grid;grid-template-columns:250px 1fr;gap:60px;margin-bottom:70px}.section-no{font-size:11px;color:#8a939c;letter-spacing:.12em}.section-title{font-size:clamp(37px,4.4vw,66px);line-height:1.15;letter-spacing:-.045em;margin:0;font-weight:620}.section-title em{font-style:normal;color:#8b99a5}.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:90px;align-items:end}.about-copy{font-size:clamp(25px,2.6vw,40px);line-height:1.6;letter-spacing:-.025em;margin:0}.about-side p{color:var(--muted);font-size:14px}.text-link{display:inline-block;margin-top:25px;font-size:13px;font-weight:700;border-bottom:1px solid #333}
.business-feature{display:grid;grid-template-columns:1.15fr .85fr;min-height:590px;background:#17202a;color:#fff}.business-image{background:url('assets/images/store-kanazawa.webp') center/cover no-repeat;position:relative}.business-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(23,32,42,.18))}.business-copy{padding:72px 64px;display:flex;flex-direction:column;justify-content:center}.business-copy small{font-size:10px;letter-spacing:.16em;color:#92a5b5}.business-copy h3{font-size:clamp(32px,3vw,48px);line-height:1.35;margin:14px 0 25px}.business-copy p{font-size:14px;color:#c1cad2}.business-list{margin-top:25px;display:flex;flex-wrap:wrap;gap:8px}.business-list span{font-size:10px;padding:7px 11px;border:1px solid rgba(255,255,255,.16)}
.philosophy{background:#eff3f5}.philosophy-wrap{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px;align-items:start}.philosophy-logo img{width:260px;border-radius:30px}.philosophy-main h2{font-size:clamp(42px,5vw,72px);line-height:1.3;letter-spacing:-.05em;margin:0 0 28px}.philosophy-main h2 span{color:#7c8d9b}.philosophy-main p{max-width:720px;color:#58636d}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:60px;border-top:1px solid #ccd4da}.principles div{padding:28px 30px 0 0}.principles div+div{border-left:1px solid #ccd4da;padding-left:30px}.principles b{font-size:18px}.principles p{font-size:12px;margin-top:8px}
.stores{padding-bottom:40px}.store-feature{display:grid;grid-template-columns:1fr 1fr;min-height:570px;margin-bottom:34px;overflow:hidden}.store-feature.reverse .store-image{order:2}.store-feature.reverse .store-copy{order:1}.store-image{background-position:center;background-size:cover;min-height:520px}.store-kanazawa{background-image:url('assets/images/store-kanazawa.webp')}.store-oyabe{background-image:url('assets/images/store-oyabe.webp')}.store-copy{background:#f7f9fa;padding:64px;display:flex;flex-direction:column;justify-content:center}.store-copy small{font-size:10px;color:#7d8892}.store-copy h3{font-size:38px;margin:12px 0 10px;letter-spacing:-.035em}.store-copy .location{font-size:13px;color:#68727c}.store-copy p{font-size:13px;color:#68727c;max-width:520px}.store-info{margin-top:16px;font-size:12px;line-height:2;color:#3f4850}.store-actions{display:flex;gap:20px;margin-top:25px;flex-wrap:wrap}.store-actions a{font-size:12px;font-weight:700;border-bottom:1px solid #333}
.message-section{background:#111820;color:#fff}.message-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.message-side{color:#93a0ab}.message-side img{width:100px;border-radius:24px;margin-bottom:25px}.message-main h2{font-size:clamp(39px,4.4vw,63px);line-height:1.25;letter-spacing:-.04em;margin:0 0 30px}.message-main p{color:#c7ced4;font-size:14px}.signature{margin-top:34px;font-size:13px}.signature strong{display:block;font-size:18px;margin-top:4px}
.news-list{border-top:1px solid var(--line)}.news-item{display:grid;grid-template-columns:140px 1fr 30px;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);align-items:center}.news-item time{color:#8b949d;font-size:11px}.news-item b{font-size:14px}.news-item span{text-align:right}.contact-band{background:#edf3f6;padding:100px 0}.contact-band .inner{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}.contact-band h2{font-size:clamp(42px,5.4vw,76px);line-height:1.15;letter-spacing:-.05em;margin:0}.contact-band p{color:#65717c}.round-link{width:130px;height:130px;border-radius:50%;background:#10161d;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700}
.site-footer{padding:75px 0 30px;background:#fff;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:50px}.footer-brand{display:flex;gap:13px;align-items:center}.footer-brand img{width:48px;height:48px;border-radius:14px}.footer-brand strong{font-size:14px}.footer-col h4{font-size:11px;margin:0 0 14px}.footer-col a{display:block;font-size:11px;color:#68727b;margin:8px 0}.copyright{border-top:1px solid var(--line);margin-top:60px;padding-top:20px;color:#9aa2aa;font-size:9px;letter-spacing:.08em}
.page-hero{padding:165px 0 90px;background:#f7f9fa}.page-hero h1{font-size:clamp(48px,6vw,84px);letter-spacing:-.05em;line-height:1.1;margin:18px 0}.page-body{padding:90px 0 120px}.prose{max-width:900px}.prose h2{font-size:32px;margin-top:55px}.prose p,.prose li{color:#596570}.company-table{width:100%;border-collapse:collapse;margin-top:25px}.company-table th,.company-table td{padding:19px 10px;border-bottom:1px solid var(--line);font-size:13px;text-align:left;vertical-align:top}.company-table th{width:180px;color:#7a848e;font-weight:500}.contact-form{max-width:800px}.form-row{margin-bottom:24px}.form-row label{display:block;font-size:12px;font-weight:700;margin-bottom:8px}.form-row input,.form-row textarea{width:100%;border:1px solid #dbe1e5;background:#fff;padding:14px 15px;border-radius:4px}.form-row textarea{min-height:180px;resize:vertical}.submit-btn{border:0;background:#111820;color:#fff;padding:15px 28px;font-weight:700}.notice{padding:15px 18px;background:#edf6ef;margin-bottom:25px}.notice.error{background:#fbeeee}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}.reveal.is-in{opacity:1;transform:none}
@media(max-width:980px){.nav,.contact-pill{display:none}.menu-btn{display:block}.nav.open{display:flex;position:fixed;top:82px;left:0;right:0;background:#fff;padding:30px 28px;flex-direction:column;align-items:flex-start;border-top:1px solid var(--line);box-shadow:0 30px 60px rgba(0,0,0,.08)}.hero-grid,.about-grid,.section-head,.philosophy-wrap,.message-grid{grid-template-columns:1fr}.hero-grid{gap:45px}.hero-photo{min-height:560px}.hero-mark{left:20px}.section-head{gap:18px}.business-feature,.store-feature{grid-template-columns:1fr}.business-image,.store-image{min-height:430px}.store-feature.reverse .store-image,.store-feature.reverse .store-copy{order:initial}.principles{grid-template-columns:1fr}.principles div+div{border-left:0;padding-left:0}.principles div{border-bottom:1px solid #ccd4da;padding-bottom:25px}.footer-grid{grid-template-columns:1fr 1fr}.contact-band .inner{grid-template-columns:1fr}.round-link{width:110px;height:110px}}
@media(max-width:640px){.wrap{width:min(calc(100% - 32px),var(--max))}.site-header{height:70px}.brand img{width:36px;height:36px}.brand small{display:none}.nav.open{top:70px}.hero{padding-top:108px}.hero h1{font-size:48px}.hero-lead{font-size:18px}.hero-photo{min-height:500px;border-radius:0 0 0 38px;background-image:url('assets/images/hero-repair-mobile.png')}.hero-mark{left:12px;right:12px;bottom:12px;width:auto}.hero-meta{grid-template-columns:1fr 1fr}.hero-meta div:last-child{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding-left:0}.section{padding:88px 0}.section-title{font-size:40px}.about-copy{font-size:27px}.business-copy,.store-copy{padding:38px 28px}.business-image,.store-image{min-height:330px}.store-copy h3{font-size:31px}.philosophy-logo img{width:150px}.philosophy-main h2{font-size:42px}.message-main h2{font-size:39px}.news-item{grid-template-columns:90px 1fr 20px}.contact-band{padding:75px 0}.contact-band h2{font-size:47px}.footer-grid{grid-template-columns:1fr}.company-table th,.company-table td{display:block;width:100%;padding:12px 0}.company-table th{border-bottom:0;padding-bottom:0}.company-table td{padding-top:3px}}

/* V8.1 hero tint adjustment */
.hero .eyebrow:before{background:#a8bfd1}
.hero h1 em{color:#8fa4b7}


/* =========================================================
   V9 — Detailed subpage system
   ========================================================= */
.page-hero{padding:175px 0 95px;background:radial-gradient(circle at 10% 18%,rgba(198,220,238,.22),transparent 27%),linear-gradient(180deg,#f8fbfe,#f2f7fb);border-bottom:1px solid var(--line)}
.page-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:end}
.page-hero h1{font-size:clamp(48px,6vw,88px);line-height:1.12;letter-spacing:-.055em;margin:24px 0 22px;font-weight:620}
.page-hero h1 em,.page-hero-statement em{font-style:normal;color:#8da4b7}
.page-hero-statement{font-size:clamp(32px,3.6vw,52px);line-height:1.4;letter-spacing:-.04em;color:#29323b;padding-bottom:4px}
.page-hero-statement.muted{color:#61717e}
.page-hero-photo{height:420px;background-position:center;background-size:cover}
.business-hero-photo{background-image:url('assets/images/hero-repair.png');border-radius:0 0 0 64px}

.subnav{position:sticky;top:82px;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.subnav .wrap{display:flex;gap:32px;overflow:auto;white-space:nowrap}
.subnav a{padding:17px 0;font-size:11px;font-weight:700;color:#626d78}

.detail-section{padding:120px 0}
.editorial-grid{display:grid;grid-template-columns:220px 1fr;gap:75px}
.detail-label{font-size:10px;color:#87939f;letter-spacing:.13em;font-weight:700}
.detail-title{font-size:clamp(38px,4.5vw,68px);line-height:1.24;letter-spacing:-.05em;margin:0 0 45px;font-weight:620}
.detail-title.small{font-size:clamp(32px,3.6vw,52px)}
.detail-title em{font-style:normal;color:#8ea3b5}
.two-copy{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.two-copy p,.message-text p,.quality-photo-grid p,.store-single-grid p{margin:0;color:#5e6974;font-size:14px}
.company-links{display:grid;grid-template-columns:repeat(3,1fr);margin-top:65px;border-top:1px solid var(--line)}
.company-links a{padding:22px 0;border-bottom:1px solid var(--line);font-weight:700;font-size:13px;display:flex;justify-content:space-between}
.company-links a+a{padding-left:24px;border-left:1px solid var(--line)}

.company-profile-section{background:#f5f8fa}
.profile-list{margin:0}
.profile-list>div{display:grid;grid-template-columns:190px 1fr;border-top:1px solid #dce3e8;padding:24px 0}
.profile-list>div:last-child{border-bottom:1px solid #dce3e8}
.profile-list dt{color:#7b8792;font-size:12px}
.profile-list dd{margin:0;font-size:14px}

.next-cta{background:#172330;color:#fff;padding:72px 0}
.next-cta.light{background:#eef4f8;color:#16202a}
.next-cta-inner{display:flex;align-items:end;justify-content:space-between;gap:40px}
.next-cta small{font-size:9px;letter-spacing:.16em;color:#8ca1b2}
.next-cta h2{font-size:clamp(28px,3vw,44px);margin:10px 0 0;letter-spacing:-.035em}
.next-cta p{color:#aab7c2;font-size:13px}
.next-cta.light p{color:#61707d}
.next-cta a{font-size:13px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:4px}

.message-editorial{display:grid;grid-template-columns:.7fr 1.3fr;gap:100px}
.message-logo-frame{background:#f2f6f9;padding:50px;max-width:340px}
.message-logo-frame img{width:100%}
.message-name{margin-top:28px}
.message-name span{display:block;color:#8a959f;font-size:11px}
.message-name strong{display:block;font-size:23px;margin-top:3px}
.message-text{display:grid;gap:24px;max-width:750px}
.signature-large{margin-top:55px;padding-top:26px;border-top:1px solid var(--line)}
.signature-large span{display:block;font-size:11px;color:#89939c}
.signature-large b{display:block;margin-top:6px;font-size:18px}

.philosophy-page-hero,.vision-page-hero{min-height:620px;display:flex;align-items:center}
.philosophy-lead{font-size:clamp(27px,3vw,44px);line-height:1.65;letter-spacing:-.035em;margin:0}
.value-section{background:#f1f6f9;padding:30px 0 120px}
.value-row{display:grid;grid-template-columns:100px .55fr 1fr;gap:50px;align-items:start;padding:42px 0;border-top:1px solid #ced9e0}
.value-row:last-child{border-bottom:1px solid #ced9e0}
.value-row span{color:#8aa1b4;font-size:12px}
.value-row h2{font-size:34px;margin:0}
.value-row p{margin:3px 0 0;color:#61707b;font-size:14px}

.vision-image-section{padding:60px 0 0;background:#f2f7fb}
.vision-image{min-height:520px;background:linear-gradient(90deg,rgba(10,18,28,.50),rgba(10,18,28,.08)),url('assets/images/store-oyabe.webp') center/cover no-repeat;display:flex;align-items:flex-end;padding:55px;color:#fff}
.vision-image small{font-size:9px;letter-spacing:.16em}
.vision-image strong{display:block;margin-top:12px;font-size:clamp(28px,3vw,44px);line-height:1.45}
.roadmap-section{padding:120px 0;background:#fff}
.roadmap{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.roadmap>div{padding:34px 34px 0 0}
.roadmap>div+div{border-left:1px solid var(--line);padding-left:34px}
.roadmap span{color:#8da4b6;font-size:11px}
.roadmap h3{font-size:21px;margin:20px 0 12px}
.roadmap p{color:#68747f;font-size:13px;margin:0}

.service-lines{padding:0 0 120px}
.service-line{width:min(calc(100% - 56px),var(--max));margin:auto;display:grid;grid-template-columns:130px 1fr;padding:35px 0;border-top:1px solid var(--line)}
.service-line:last-child{border-bottom:1px solid var(--line)}
.service-line>span{color:#8ca1b2;font-size:11px}
.service-line h3{font-size:28px;margin:0 0 8px}
.service-line p{margin:0;color:#65717c;font-size:13px;max-width:650px}
.quality-photo-section{padding:110px 0;background:#f3f7fa}
.quality-photo-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center}
.quality-photo{min-height:510px;background:url('assets/images/hero-repair.png') center/cover no-repeat;border-radius:0 0 0 64px}

.store-archive{background:#fff}
.store-detail-feature{display:grid;grid-template-columns:1.12fr .88fr;min-height:590px;margin-bottom:70px;background:#f6f8fa}
.store-detail-feature.reverse .store-detail-image{order:2}
.store-detail-feature.reverse .store-detail-copy{order:1}
.store-detail-image{background-position:center;background-size:cover}
.store-detail-copy{padding:60px;display:flex;flex-direction:column;justify-content:center}
.store-detail-copy h2{font-size:clamp(32px,3.2vw,50px);line-height:1.35;margin:16px 0 22px;letter-spacing:-.035em}
.store-detail-copy p{font-size:13px;color:#616d78}
.store-detail-copy dl{margin:24px 0}
.store-detail-copy dl>div{display:grid;grid-template-columns:90px 1fr;padding:10px 0;border-top:1px solid #dde4e9}
.store-detail-copy dt{font-size:10px;color:#84909b}
.store-detail-copy dd{margin:0;font-size:12px}
.store-single-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:90px}
.store-single-info{margin:0;border-top:1px solid var(--line)}
.store-single-info>div{padding:19px 0;border-bottom:1px solid var(--line)}
.store-single-info dt{font-size:10px;color:#87939d;margin-bottom:5px}
.store-single-info dd{margin:0;font-size:13px}

.recruit-values{background:#f1f6f9;padding:90px 0}
.recruit-values .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.recruit-values .wrap>div{padding:25px 45px 25px 0}
.recruit-values .wrap>div+div{border-left:1px solid #ccd8e0;padding-left:45px}
.recruit-values span{font-size:10px;color:#8ca1b2}
.recruit-values h3{font-size:22px;margin:18px 0 12px}
.recruit-values p{font-size:13px;color:#63707c}

.news-page-item{display:grid;grid-template-columns:140px 1fr 40px;align-items:center;padding:27px 0;border-top:1px solid var(--line)}
.news-page-item:last-child{border-bottom:1px solid var(--line)}
.news-page-item time{font-size:11px;color:#84909a}
.news-page-item small{font-size:8px;letter-spacing:.14em;color:#9aa3ac}
.news-page-item h2{font-size:18px;margin:2px 0 0}
.news-page-item>span{text-align:right}
.news-empty{padding:40px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#7e8993}

.contact-direct{display:grid;grid-template-columns:80px 1fr;gap:8px 20px;align-self:center}
.contact-direct span{font-size:9px;letter-spacing:.14em;color:#8b98a3;padding-top:5px}
.contact-direct a{font-size:20px;font-weight:600}
.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px}
.contact-form{max-width:none}
.form-row label{display:flex;align-items:center;gap:8px}
.form-row label span,.form-row label b{font-size:9px;font-weight:700;padding:2px 6px;border-radius:999px}
.form-row label span{color:#84909a;background:#edf1f4}
.form-row label b{color:#fff;background:#243646}
.submit-btn{display:flex;align-items:center;justify-content:space-between;gap:30px}

@media(max-width:900px){
 .page-hero-grid,.editorial-grid,.message-editorial,.quality-photo-grid,.store-single-grid,.contact-layout{grid-template-columns:1fr;gap:42px}
 .page-hero{padding-top:145px}
 .page-hero-statement{font-size:30px}
 .editorial-grid{gap:28px}
 .two-copy{gap:28px}
 .store-detail-feature,.store-detail-feature.reverse{grid-template-columns:1fr}
 .store-detail-feature.reverse .store-detail-image,.store-detail-feature.reverse .store-detail-copy{order:initial}
 .store-detail-image{min-height:400px}
 .roadmap,.recruit-values .wrap{grid-template-columns:1fr}
 .roadmap>div,.roadmap>div+div,.recruit-values .wrap>div,.recruit-values .wrap>div+div{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:28px;padding-bottom:28px}
}
@media(max-width:640px){
 .page-hero{padding:125px 0 70px}
 .page-hero h1{font-size:46px}
 .subnav{top:70px}
 .detail-section{padding:82px 0}
 .two-copy{grid-template-columns:1fr}
 .company-links{grid-template-columns:1fr}
 .company-links a+a{padding-left:0;border-left:0}
 .profile-list>div{grid-template-columns:105px 1fr;gap:18px}
 .next-cta-inner{display:block}
 .next-cta a{display:inline-block;margin-top:28px}
 .message-logo-frame{max-width:230px;padding:35px}
 .value-row{grid-template-columns:48px 1fr;gap:18px}
 .value-row p{grid-column:2}
 .vision-image{min-height:430px;padding:28px}
 .service-line{grid-template-columns:55px 1fr}
 .store-detail-image{min-height:300px}
 .store-detail-copy{padding:34px 26px}
 .news-page-item{grid-template-columns:85px 1fr 20px}
 .news-page-item h2{font-size:15px}
 .contact-direct{grid-template-columns:1fr}
 .contact-direct span{margin-top:8px}
}


/* =========================================================
   V10 — Premium depth / richer editorial design
   シンプルさを保ちつつ、奥行きとブランド感を追加
   ========================================================= */

:root{
  --sky:#eaf4fb;
  --sky-2:#dcecf7;
  --deep:#152231;
  --deep-2:#243747;
  --blue-line:#b9d2e3;
  --soft-shadow:0 28px 80px rgba(42,63,82,.10);
}

/* ---------- header ---------- */
.premium-header{
  top:12px;
  left:50%;
  right:auto;
  width:min(calc(100% - 34px),1320px);
  transform:translateX(-50%);
  height:74px;
  border:1px solid rgba(93,121,145,.12);
  border-radius:22px;
  box-shadow:0 12px 38px rgba(29,46,63,.08);
  background:rgba(255,255,255,.82);
}
.premium-header .header-inner{padding-inline:16px}
.premium-header .brand img{
  box-shadow:0 8px 22px rgba(26,43,59,.10);
}
.premium-header .contact-pill{
  background:linear-gradient(135deg,#142230,#243c50);
  box-shadow:0 10px 26px rgba(22,39,55,.14);
}

/* ---------- hero ---------- */
.hero{
  position:relative;
  isolation:isolate;
  padding-top:160px;
  min-height:900px;
  background:
    radial-gradient(circle at 10% 20%,rgba(173,211,237,.34),transparent 25%),
    radial-gradient(circle at 88% 10%,rgba(199,226,245,.46),transparent 24%),
    linear-gradient(180deg,#f8fbfe 0%,#eff7fc 60%,#ffffff 100%);
}
.hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-3;
  background-image:
    linear-gradient(rgba(67,101,127,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(67,101,127,.045) 1px,transparent 1px);
  background-size:74px 74px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 78%);
}
.hero-brand-ghost{
  position:absolute;
  right:-1.5vw;
  top:112px;
  z-index:-2;
  font-size:clamp(110px,15vw,235px);
  line-height:.8;
  font-weight:800;
  letter-spacing:-.08em;
  color:rgba(78,111,137,.035);
  white-space:nowrap;
  pointer-events:none;
}
.hero-orbit{
  position:absolute;
  z-index:-1;
  border-radius:50%;
  border:1px solid rgba(114,155,186,.16);
  pointer-events:none;
}
.hero-orbit-a{
  width:490px;height:490px;
  right:-140px;top:180px;
}
.hero-orbit-b{
  width:290px;height:290px;
  right:55px;top:285px;
  border-color:rgba(85,132,168,.12);
}
.hero-grid{gap:80px}
.hero h1{
  font-weight:680;
  text-wrap:balance;
}
.hero h1 em{
  background:linear-gradient(90deg,#768d9f,#9fb4c5);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.hero-desc{max-width:650px}
.hero-links a{
  position:relative;
  border-bottom:0;
  padding:10px 0;
}
.hero-links a:after{
  content:"";
  position:absolute;left:0;right:0;bottom:4px;height:1px;
  background:#22313f;
  transform-origin:left;
  transition:transform .25s ease;
}
.hero-links a:hover:after{transform:scaleX(.6)}
.hero-meta{
  margin-top:42px;
  background:rgba(255,255,255,.56);
  border:1px solid rgba(116,146,170,.16);
  border-radius:20px;
  overflow:hidden;
  backdrop-filter:blur(10px);
  box-shadow:0 16px 45px rgba(49,72,91,.06);
}
.hero-meta div{padding:18px 20px}
.hero-meta div+div{padding-left:26px}
.hero-meta b{
  display:block;
  color:#17222d;
  font-size:27px;
  letter-spacing:-.035em;
}
.trust-ribbon{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  margin-top:18px;
  font-size:8px;
  letter-spacing:.13em;
  color:#91a0ac;
  font-weight:700;
}
.trust-ribbon i{
  width:3px;height:3px;border-radius:50%;
  background:#9fb5c4;
}
.hero-visual{
  transform:translateY(10px);
}
.hero-photo{
  min-height:665px;
  border-radius:0 44px 0 92px;
  box-shadow:0 38px 90px rgba(31,50,68,.16);
  border:1px solid rgba(255,255,255,.7);
}
.hero-photo:before{
  content:"";
  position:absolute;
  inset:18px -18px -18px 18px;
  border:1px solid rgba(118,153,180,.22);
  border-radius:0 44px 0 92px;
  z-index:-1;
}
.hero-mark{
  left:-48px;
  bottom:46px;
  width:285px;
  padding:22px 25px;
  border-left:0;
  border-top:3px solid #86abc5;
  border-radius:0 20px 0 20px;
  box-shadow:0 20px 65px rgba(29,45,60,.16);
}

/* ---------- global sections ---------- */
.section{
  position:relative;
  overflow:hidden;
}
.section-head{
  position:relative;
}
.section-head:after{
  content:"";
  position:absolute;
  left:0;
  bottom:-34px;
  width:100%;
  height:1px;
  background:linear-gradient(90deg,var(--blue-line),transparent 70%);
}
.section-no{
  color:#8ca0af;
  font-weight:700;
}
.section-title em{
  background:linear-gradient(90deg,#7f96a8,#adc1d0);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.section-watermark{
  position:absolute;
  top:55px;
  left:2vw;
  z-index:0;
  font-size:clamp(90px,13vw,190px);
  line-height:.8;
  font-weight:800;
  letter-spacing:-.07em;
  color:rgba(63,94,119,.035);
  pointer-events:none;
}
.section-watermark.right{left:auto;right:-1vw}
.section>.wrap{position:relative;z-index:2}

/* about */
.about-grid{
  position:relative;
}
.about-grid:before{
  content:"";
  position:absolute;
  width:120px;height:120px;
  left:-38px;bottom:-30px;
  border:1px solid rgba(124,158,183,.18);
  border-radius:50%;
  pointer-events:none;
}
.about-copy{
  position:relative;
  padding-left:26px;
}
.about-copy:before{
  content:"";
  position:absolute;left:0;top:.45em;bottom:.45em;width:2px;
  background:linear-gradient(#91b6cf,#dcebf4);
}

/* business */
.business-section-rich{
  background:
    radial-gradient(circle at 90% 6%,rgba(186,218,239,.25),transparent 24%),
    linear-gradient(180deg,#f5f9fc,#eef5f9);
}
.business-feature{
  border-radius:0 36px 0 36px;
  overflow:hidden;
  box-shadow:0 32px 80px rgba(28,45,62,.14);
  background:linear-gradient(145deg,#14202b,#1c2a36);
}
.business-image{
  min-height:610px;
}
.business-copy{
  position:relative;
}
.business-copy:after{
  content:"FR";
  position:absolute;
  right:28px;bottom:5px;
  font-size:112px;
  font-weight:800;
  letter-spacing:-.08em;
  color:rgba(255,255,255,.03);
}
.business-list span{
  background:rgba(255,255,255,.035);
  backdrop-filter:blur(5px);
}

/* philosophy */
.philosophy{
  background:
    radial-gradient(circle at 5% 20%,rgba(186,215,235,.34),transparent 25%),
    linear-gradient(135deg,#edf5f9,#f6f9fb 52%,#eaf2f6);
}
.philosophy-logo{
  position:relative;
}
.philosophy-logo:after{
  content:"";
  position:absolute;
  inset:26px -26px -26px 26px;
  border:1px solid rgba(102,139,165,.18);
  border-radius:34px;
  z-index:-1;
}
.philosophy-logo img{
  box-shadow:var(--soft-shadow);
}
.principles div{
  transition:transform .25s ease;
}
.principles div:hover{
  transform:translateY(-4px);
}

/* stores */
.rich-stores{
  background:
    linear-gradient(180deg,#fff 0%,#f8fbfd 100%);
}
.store-feature{
  position:relative;
  border-radius:0 34px 0 34px;
  box-shadow:0 24px 70px rgba(31,49,66,.09);
  margin-bottom:54px;
}
.store-feature:after{
  content:"";
  position:absolute;
  inset:18px -18px -18px 18px;
  border:1px solid rgba(127,160,184,.15);
  border-radius:0 34px 0 34px;
  z-index:-1;
}
.store-copy{
  background:
    radial-gradient(circle at 85% 15%,rgba(183,214,235,.18),transparent 25%),
    #fff;
}
.store-copy h3{
  position:relative;
}
.store-copy h3:after{
  content:"";
  display:block;
  width:54px;height:2px;
  margin-top:18px;
  background:#91aec2;
}

/* message */
.rich-message{
  background:
    radial-gradient(circle at 10% 15%,rgba(130,164,190,.11),transparent 24%),
    linear-gradient(135deg,#121d28,#1a2936);
}
.rich-message:before{
  content:"MESSAGE";
  position:absolute;
  right:-1vw;
  top:30px;
  font-size:clamp(100px,14vw,200px);
  font-weight:800;
  letter-spacing:-.07em;
  color:rgba(255,255,255,.025);
}
.message-side img{
  border-radius:28px;
  box-shadow:0 28px 70px rgba(0,0,0,.18);
}

/* news */
.news-section,.news-modern{
  position:relative;
}
.news-item,.news-page-item{
  transition:background .2s ease,padding-left .2s ease;
}
.news-item:hover,.news-page-item:hover{
  background:rgba(223,237,246,.42);
  padding-left:12px;
}

/* ---------- subpages richness ---------- */
.page-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 20%,rgba(182,216,239,.33),transparent 25%),
    radial-gradient(circle at 92% 0%,rgba(211,231,245,.48),transparent 25%),
    linear-gradient(180deg,#f8fbfe,#eef6fb);
}
.page-hero:after{
  content:"FR REVERSE";
  position:absolute;
  right:-1vw;
  bottom:-8px;
  font-size:clamp(90px,13vw,190px);
  line-height:.8;
  font-weight:800;
  letter-spacing:-.07em;
  color:rgba(70,102,127,.035);
  pointer-events:none;
}
.page-hero>.wrap{position:relative;z-index:2}
.page-hero h1 em{
  background:linear-gradient(90deg,#849bab,#a9bfce);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.subnav{
  box-shadow:0 8px 25px rgba(28,44,59,.04);
}
.detail-section{
  position:relative;
}
.detail-section:nth-of-type(even){
  background:linear-gradient(180deg,#fff,#fbfdfe);
}
.detail-title{
  position:relative;
}
.detail-title:after{
  content:"";
  display:block;
  width:72px;height:2px;
  margin-top:30px;
  background:linear-gradient(90deg,#8baec6,#d8e8f2);
}
.company-links a{
  transition:background .2s ease,padding-left .2s ease;
}
.company-links a:hover{
  background:#f2f7fa;
  padding-left:12px;
}
.profile-list>div{
  transition:background .2s ease;
}
.profile-list>div:hover{
  background:rgba(222,236,245,.42);
}
.message-logo-frame{
  position:relative;
  border-radius:0 30px 0 30px;
  box-shadow:var(--soft-shadow);
}
.message-logo-frame:after{
  content:"";
  position:absolute;
  inset:18px -18px -18px 18px;
  border:1px solid rgba(120,155,181,.18);
  border-radius:0 30px 0 30px;
  z-index:-1;
}
.value-row{
  transition:transform .22s ease,background .22s ease;
}
.value-row:hover{
  transform:translateX(8px);
  background:rgba(255,255,255,.48);
}
.vision-image{
  border-radius:0 42px 0 42px;
  box-shadow:0 30px 80px rgba(35,53,70,.14);
}
.roadmap>div{
  position:relative;
}
.roadmap>div:before{
  content:"";
  position:absolute;
  top:-1px;left:0;width:45px;height:2px;
  background:#88aac1;
}
.quality-photo{
  box-shadow:var(--soft-shadow);
}
.store-detail-feature{
  border-radius:0 34px 0 34px;
  box-shadow:0 24px 70px rgba(31,49,66,.09);
  overflow:hidden;
}
.recruit-values{
  background:
    radial-gradient(circle at 85% 12%,rgba(183,215,236,.28),transparent 28%),
    linear-gradient(180deg,#eef5f9,#f7fafc);
}
.contact-form{
  padding:34px;
  background:#fff;
  border:1px solid rgba(120,151,174,.14);
  box-shadow:0 26px 70px rgba(37,56,72,.08);
  border-radius:0 28px 0 28px;
}

/* ---------- footer ---------- */
.premium-footer{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 85% 20%,rgba(79,112,137,.22),transparent 25%),
    linear-gradient(135deg,#111b24,#172633);
}
.footer-ghost{
  position:absolute;
  left:-1vw;
  bottom:-20px;
  font-size:clamp(100px,14vw,210px);
  line-height:.75;
  font-weight:800;
  letter-spacing:-.08em;
  color:rgba(255,255,255,.025);
  white-space:nowrap;
  pointer-events:none;
}
.premium-footer>*:not(.footer-ghost){position:relative;z-index:2}

/* ---------- subtle motion ---------- */
@media (prefers-reduced-motion:no-preference){
  .hero-orbit-a{animation:frrFloat 9s ease-in-out infinite}
  .hero-orbit-b{animation:frrFloat 7s ease-in-out infinite reverse}
  @keyframes frrFloat{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-14px)}
  }
}

/* ---------- responsive ---------- */
@media(max-width:980px){
  .premium-header{
    width:calc(100% - 20px);
    top:8px;
  }
  .hero{
    padding-top:135px;
    min-height:auto;
  }
  .hero-brand-ghost{
    top:105px;
    right:-8vw;
  }
  .hero-orbit-a,.hero-orbit-b{display:none}
  .hero-photo:before{display:none}
  .store-feature:after{display:none}
  .philosophy-logo:after{display:none}
  .message-logo-frame:after{display:none}
}
@media(max-width:640px){
  .premium-header{
    border-radius:18px;
  }
  .hero{
    padding-top:125px;
  }
  .hero-brand-ghost{
    font-size:92px;
    top:105px;
    right:-28px;
  }
  .hero-meta{
    grid-template-columns:1fr 1fr;
  }
  .hero-meta div:nth-child(3){
    grid-column:1 / -1;
    border-left:0;
    border-top:1px solid var(--line);
  }
  .trust-ribbon{
    gap:7px;
    line-height:1.8;
  }
  .hero-photo{
    min-height:520px;
    border-radius:0 30px 0 56px;
  }
  .hero-mark{
    left:14px;
    right:14px;
    bottom:14px;
    width:auto;
  }
  .section-watermark{
    font-size:82px;
    top:35px;
  }
  .about-copy{padding-left:18px}
  .business-feature{
    border-radius:0 24px 0 24px;
  }
  .store-feature{
    border-radius:0 24px 0 24px;
  }
  .page-hero:after{
    font-size:82px;
    bottom:8px;
    right:-20px;
  }
  .contact-form{
    padding:22px;
    border-radius:0 22px 0 22px;
  }
}


/* =========================================================
   V11 — Subtle precision / mechanical refinement
   会社サイトらしい品を保ちながら、精密機器らしいメカ感を追加
   ========================================================= */
:root{
  --tech-line:rgba(94,137,169,.18);
  --tech-line-strong:rgba(74,117,150,.28);
  --tech-dot:#93b5cc;
  --tech-soft:#edf6fb;
}

body{
  background:
    radial-gradient(circle at 12% -8%, rgba(214,233,245,.28), transparent 30%),
    #fff;
}

/* shared technical motif */
.hero,
.page-hero,
.business-section-rich,
.philosophy,
.rich-stores,
.detail-section,
.quality-photo-section,
.recruit-values,
.contact-page-hero,
.site-footer{
  position:relative;
}
.hero::after,
.page-hero::before,
.business-section-rich::before,
.philosophy::before,
.rich-stores::before,
.detail-section::before,
.quality-photo-section::before,
.recruit-values::before,
.contact-page-hero::before{
  content:"";
  position:absolute;
  pointer-events:none;
  opacity:.75;
}

/* hero refined technical background */
.hero{
  background:
    radial-gradient(circle at 10% 18%,rgba(173,211,237,.34),transparent 25%),
    radial-gradient(circle at 88% 10%,rgba(199,226,245,.46),transparent 24%),
    linear-gradient(180deg,#f8fbfe 0%,#eef7fc 60%,#ffffff 100%);
}
.hero::after{
  top:118px;
  right:clamp(16px,4vw,60px);
  width:320px;
  height:180px;
  background:
    linear-gradient(var(--tech-line) 1px,transparent 1px) 0 0 / 100% 38px no-repeat,
    linear-gradient(90deg,var(--tech-line) 1px,transparent 1px) 0 0 / 58px 100% no-repeat,
    radial-gradient(circle at 0 0, var(--tech-dot) 0 2px, transparent 3px) 0 0 / 58px 38px repeat;
  mask-image:linear-gradient(135deg,transparent 0 6%,#000 18% 100%);
}
.hero-brand-ghost{
  letter-spacing:-.09em;
}
.hero-orbit-a,.hero-orbit-b{
  border-style:solid;
}
.hero-orbit-a::before,.hero-orbit-b::before{
  content:"";
  position:absolute;
  inset:14px;
  border:1px dashed rgba(122,160,187,.18);
  border-radius:50%;
}
.eyebrow{
  position:relative;
  padding-left:0;
}
.eyebrow:before{
  width:26px;
  height:10px;
  background:none;
  border-top:1px solid #90aec2;
  border-bottom:1px solid rgba(144,174,194,.38);
}
.eyebrow:after{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:#9bbbcf;
  box-shadow:16px 0 0 rgba(155,187,207,.55);
}
.hero-photo,
.business-feature,
.store-feature,
.store-detail-feature,
.vision-image,
.message-logo-frame,
.contact-form,
.quality-photo,
.business-hero-photo,
.page-hero-photo{
  position:relative;
}
.hero-photo::before,
.business-feature::before,
.store-feature::before,
.store-detail-feature::before,
.vision-image::before,
.contact-form::before,
.quality-photo::before,
.page-hero-photo::before{
  content:"";
  position:absolute;
  inset:12px;
  pointer-events:none;
  border:1px solid rgba(255,255,255,.16);
  clip-path:polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 22px 100%, 0 calc(100% - 22px));
}
.hero-photo::after{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);
}
.hero-mark{
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(245,250,253,.9));
  border-top-color:#8fb3ca;
}
.hero-mark span{
  letter-spacing:.18em;
}
.hero-mark::after{
  content:"PRECISION / DEVICE SUPPORT";
  display:block;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(104,139,165,.18);
  color:#81919d;
  font-size:8px;
  letter-spacing:.16em;
}
.hero-meta{
  background:
    linear-gradient(180deg,rgba(255,255,255,.84),rgba(245,250,253,.72));
}
.hero-meta div{
  position:relative;
}
.hero-meta div::after{
  content:"";
  position:absolute;
  left:20px;
  right:20px;
  bottom:12px;
  height:1px;
  background:linear-gradient(90deg,var(--tech-line-strong),transparent);
}
.trust-ribbon{
  padding-top:2px;
  letter-spacing:.16em;
}
.trust-ribbon i{
  width:20px;
  height:1px;
  border-radius:0;
  background:linear-gradient(90deg,#a2c0d3,transparent);
}

/* section richness through subtle technical lines */
.section-head{
  padding-right:60px;
}
.section-head::before,
.detail-label::before{
  content:"";
  display:inline-block;
  vertical-align:middle;
  width:8px;
  height:8px;
  margin-right:10px;
  border-radius:50%;
  background:#9fbed2;
  box-shadow:18px 0 0 rgba(159,190,210,.35);
}
.detail-label::before{width:6px;height:6px;margin-right:8px;box-shadow:14px 0 0 rgba(159,190,210,.35)}
.section-head::after{
  height:2px;
  background:linear-gradient(90deg,#9bb9cc,#d8e8f2 42%,transparent 75%);
}
.section-watermark,
.hero-brand-ghost,
.page-hero::after,
.rich-message::before,
.footer-ghost{
  font-weight:900;
}
.about-side,
.business-copy,
.store-copy,
.message-main,
.profile-list,
.contact-form{
  position:relative;
}
.about-side::before,
.business-copy::before,
.store-copy::before,
.message-main::before,
.profile-list::before,
.contact-form::after{
  content:"";
  position:absolute;
  top:18px;
  right:18px;
  width:74px;
  height:26px;
  border-top:1px solid var(--tech-line);
  border-right:1px solid var(--tech-line);
  opacity:.8;
  pointer-events:none;
}
.about-side::after,
.business-copy::after,
.store-copy::after,
.message-main::after,
.profile-list::after,
.contact-form .form-row:last-of-type::after{
  content:"";
  position:absolute;
  top:18px;
  right:18px;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#9dbfd2;
  pointer-events:none;
}
.business-copy::after{
  content:"FR";
  top:auto;
  bottom:10px;
  right:28px;
  width:auto;height:auto;border-radius:0;background:none;
  font-size:112px;
  font-weight:800;
  letter-spacing:-.08em;
  color:rgba(255,255,255,.03);
}
.store-copy::after,
.message-main::after,
.profile-list::after{background:#adc8d8}
.about-side::after{background:#a4c2d5}

.business-section-rich::before,
.philosophy::before,
.rich-stores::before,
.quality-photo-section::before,
.recruit-values::before{
  top:26px;
  left:clamp(18px,3vw,36px);
  width:132px;
  height:44px;
  background:
    linear-gradient(90deg,var(--tech-line) 1px,transparent 1px) 0 0 / 34px 100% repeat-x,
    linear-gradient(var(--tech-line) 1px,transparent 1px) 0 0 / 100% 22px repeat-y;
}
.detail-section::before{
  top:38px;
  right:clamp(18px,4vw,44px);
  width:112px;
  height:112px;
  border:1px solid rgba(125,161,185,.10);
  border-radius:50%;
}
.page-hero::before{
  top:110px;
  left:clamp(18px,3vw,42px);
  width:240px;
  height:90px;
  background:
    linear-gradient(90deg,var(--tech-line) 1px,transparent 1px) 0 0 / 48px 100% repeat-x,
    linear-gradient(var(--tech-line) 1px,transparent 1px) 0 0 / 100% 30px repeat-y;
}

/* lists and data feel a bit more precise */
.company-links a,
.news-page-item,
.profile-list > div,
.service-line,
.store-detail-copy dl > div,
.store-single-info > div{
  position:relative;
}
.company-links a::after,
.news-page-item::after,
.profile-list > div::after,
.service-line::after,
.store-detail-copy dl > div::after,
.store-single-info > div::after{
  content:"";
  position:absolute;
  right:0;
  top:50%;
  width:36px;
  height:1px;
  background:linear-gradient(90deg,transparent,#bfd5e4);
}
.news-page-item:hover,
.company-links a:hover,
.profile-list>div:hover,
.value-row:hover,
.service-line:hover,
.store-detail-copy dl>div:hover,
.store-single-info>div:hover{
  background:rgba(234,244,251,.56);
}

/* forms and footer */
.contact-form{
  background:linear-gradient(180deg,#fff,#f8fbfe);
}
.contact-form::after{
  top:22px;
  right:22px;
}
.submit-btn{
  background:linear-gradient(135deg,#13222f,#254255);
  box-shadow:0 14px 35px rgba(22,39,55,.15);
}
.premium-footer{
  background:
    radial-gradient(circle at 85% 20%,rgba(79,112,137,.22),transparent 25%),
    linear-gradient(135deg,#111b24,#172633);
}
.premium-footer::before{
  content:"";
  position:absolute;
  top:28px;
  right:clamp(20px,4vw,44px);
  width:150px;
  height:70px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px) 0 0 / 30px 100% repeat-x,
    linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px) 0 0 / 100% 18px repeat-y;
  pointer-events:none;
}

/* mobile: keep clean and not overdone */
@media(max-width:980px){
  .hero::after,
  .page-hero::before,
  .business-section-rich::before,
  .philosophy::before,
  .rich-stores::before,
  .detail-section::before,
  .quality-photo-section::before,
  .recruit-values::before,
  .premium-footer::before{opacity:.45}
  .about-side::before,
  .business-copy::before,
  .store-copy::before,
  .message-main::before,
  .profile-list::before,
  .contact-form::after{display:none}
}
@media(max-width:640px){
  .hero::after,
  .page-hero::before,
  .detail-section::before,
  .business-section-rich::before,
  .philosophy::before,
  .rich-stores::before,
  .quality-photo-section::before,
  .recruit-values::before,
  .premium-footer::before{display:none}
  .section-head::before{margin-right:8px}
  .hero-meta div::after{left:14px;right:14px}
  .company-links a::after,
  .news-page-item::after,
  .profile-list > div::after,
  .service-line::after,
  .store-detail-copy dl > div::after,
  .store-single-info > div::after{display:none}
}


/* =========================================================
   V12 — Stronger mechanical / technical expression
   よりはっきりした精密・メカ感を追加（企業サイトの品は維持）
   ========================================================= */

:root{
  --tech-mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
}

body{
  background:
    radial-gradient(circle at 12% -8%, rgba(214,233,245,.30), transparent 30%),
    linear-gradient(180deg,#ffffff,#fbfdff);
}

/* Stronger technical scene in hero */
.hero{
  min-height:940px;
}
.hero::before{
  opacity:.9;
  background-image:
    linear-gradient(rgba(67,101,127,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(67,101,127,.06) 1px,transparent 1px);
  background-size:62px 62px;
}
.hero::after{
  top:105px;
  right:clamp(16px,4vw,60px);
  width:420px;
  height:250px;
  background:
    linear-gradient(var(--tech-line-strong) 1px,transparent 1px) 0 0 / 100% 34px no-repeat,
    linear-gradient(90deg,var(--tech-line-strong) 1px,transparent 1px) 0 0 / 52px 100% no-repeat,
    radial-gradient(circle at 0 0, #9ec4dd 0 2px, transparent 3px) 0 0 / 52px 34px repeat;
  mask-image:linear-gradient(135deg,transparent 0 2%,#000 10% 100%);
  opacity:.95;
}
.hero-brand-ghost{
  color:rgba(76,108,133,.055);
}
.hero-orbit-a,.hero-orbit-b{
  border-color:rgba(103,148,180,.22);
}
.hero-orbit-a::after,.hero-orbit-b::after{
  content:"";
  position:absolute;
  inset:34px;
  border:1px solid rgba(117,157,184,.22);
  border-radius:50%;
}
.hero-grid{align-items:start}
.hero-links{margin-top:28px}
.hero-meta{
  margin-top:30px;
  border-width:1px;
  border-color:rgba(103,145,174,.24);
  box-shadow:0 22px 58px rgba(38,58,76,.10);
}
.hero-meta b{font-size:29px}
.hero-tech-panel{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:18px;
  max-width:560px;
}
.hero-tech-panel div{
  position:relative;
  padding:14px 16px 12px;
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(244,250,253,.80));
  border:1px solid rgba(108,150,179,.22);
  clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));
  box-shadow:0 14px 34px rgba(36,56,74,.08);
}
.hero-tech-panel div::before{
  content:"";
  position:absolute;
  inset:8px;
  border:1px solid rgba(129,168,194,.20);
  clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));
}
.hero-tech-panel small{
  display:block;
  position:relative;
  z-index:1;
  font:600 9px/1 var(--tech-mono);
  letter-spacing:.18em;
  color:#87a0b1;
  margin-bottom:8px;
}
.hero-tech-panel strong{
  display:block;
  position:relative;
  z-index:1;
  font:700 16px/1.35 var(--tech-mono);
  letter-spacing:.04em;
  color:#182430;
}
.hero-photo{
  overflow:visible;
}
.hero-photo::before{
  inset:12px;
  border:1px solid rgba(255,255,255,.20);
  clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,26px 100%,0 calc(100% - 26px));
}
.hero-photo::after{
  content:"";
  position:absolute;
  inset:-18px 18px 18px -18px;
  border:1px solid rgba(118,153,180,.24);
  clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,26px 100%,0 calc(100% - 26px));
  z-index:-1;
  box-shadow:none;
}
.hero-mark{
  width:310px;
  padding:22px 24px 18px;
  clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));
}
.hero-mark strong{font-size:19px}
.hero-mark::before{
  content:"SYSTEM / FR-REPAIR";
  display:block;
  margin-bottom:8px;
  color:#88a0b2;
  font:600 8px/1 var(--tech-mono);
  letter-spacing:.20em;
}

/* Richer section headings and technical data language */
.section-no,.detail-label,.eyebrow,.trust-ribbon, .business-copy small, .store-copy small, .message-side .section-no, .next-cta small{
  font-family:var(--tech-mono);
}
.section-head::before,
.detail-label::before{
  box-shadow:16px 0 0 rgba(159,190,210,.60),32px 0 0 rgba(159,190,210,.26);
}
.section-head::after{
  background:
    linear-gradient(90deg,#9bb9cc,#d8e8f2 42%,transparent 75%),
    linear-gradient(90deg,transparent 0 6%, rgba(155,185,204,.85) 6% 7%, transparent 7% 13%, rgba(155,185,204,.85) 13% 14%, transparent 14%);
  background-size:100% 2px, 260px 2px;
  background-repeat:no-repeat;
}

/* Stronger visible tech frames across components */
.business-feature,
.store-feature,
.store-detail-feature,
.vision-image,
.contact-form,
.quality-photo,
.message-logo-frame{
  clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,26px 100%,0 calc(100% - 26px));
}
.business-feature::before,
.store-feature::before,
.store-detail-feature::before,
.vision-image::before,
.contact-form::before,
.quality-photo::before,
.page-hero-photo::before{
  inset:14px;
  border:1px solid rgba(255,255,255,.20);
  clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));
}
.business-copy::before,
.store-copy::before,
.message-main::before,
.profile-list::before,
.about-side::before,
.contact-form::after{
  top:18px;
  right:18px;
  width:90px;
  height:34px;
  border-top:1px solid rgba(131,167,191,.32);
  border-right:1px solid rgba(131,167,191,.32);
}
.about-side::after,
.message-main::after,
.profile-list::after,
.store-copy::after,
.contact-form .form-row:last-of-type::after{
  background:#8db2cb;
}

/* stronger mechanical panels */
.business-section-rich,
.philosophy,
.rich-stores,
.quality-photo-section,
.recruit-values,
.company-profile-section{
  background-image:
    linear-gradient(90deg, rgba(139,177,201,.07) 1px, transparent 1px),
    linear-gradient(rgba(139,177,201,.07) 1px, transparent 1px);
  background-size:34px 34px;
}
.business-tech-band{
  padding:0 0 90px;
  background:linear-gradient(180deg,#f5f9fc,#ffffff);
}
.business-tech-band .wrap{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0;
  border-top:1px solid #cfdee8;
  border-bottom:1px solid #cfdee8;
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(8px);
}
.business-tech-band .wrap>div{
  position:relative;
  padding:18px 20px;
  font:700 11px/1.4 var(--tech-mono);
  color:#718695;
  letter-spacing:.16em;
}
.business-tech-band .wrap>div+div{border-left:1px solid #d9e5ed}
.business-tech-band .wrap>div::before{
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  margin-right:10px;
  border-radius:50%;
  background:#9fc0d5;
  box-shadow:18px 0 0 rgba(159,192,213,.30);
  vertical-align:middle;
}

.tech-card-tag{
  position:absolute;
  top:18px;
  left:18px;
  z-index:4;
  padding:8px 12px;
  background:rgba(17,29,40,.82);
  color:#d9e8f2;
  border:1px solid rgba(168,196,214,.24);
  font:700 10px/1 var(--tech-mono);
  letter-spacing:.18em;
  clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));
}

.service-line,
.profile-list>div,
.news-page-item,
.store-detail-copy dl>div,
.store-single-info>div,
.company-links a{
  background-image:linear-gradient(90deg, rgba(159,189,209,.10), rgba(159,189,209,0));
  background-repeat:no-repeat;
  background-size:0 100%;
  transition:background-size .25s ease, padding-left .2s ease, background-color .2s ease;
}
.service-line:hover,
.profile-list>div:hover,
.news-page-item:hover,
.store-detail-copy dl>div:hover,
.store-single-info>div:hover,
.company-links a:hover{
  background-size:100% 100%;
}

.value-row{
  background:linear-gradient(90deg, rgba(159,189,209,.08), transparent 62%);
}
.vision-image strong,
.section-title,
.detail-title,
.hero h1,
.page-hero h1{
  text-wrap:balance;
}

/* Footer stronger technical feel */
.premium-footer::before{
  width:220px;
  height:110px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.10) 1px,transparent 1px) 0 0 / 28px 100% repeat-x,
    linear-gradient(rgba(255,255,255,.10) 1px,transparent 1px) 0 0 / 100% 20px repeat-y,
    radial-gradient(circle at 0 0, rgba(255,255,255,.28) 0 2px, transparent 3px) 0 0 / 28px 20px repeat;
}

/* Keep mobile tidy */
@media(max-width:980px){
  .hero-tech-panel{grid-template-columns:1fr 1fr}
  .business-tech-band .wrap{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .hero{min-height:auto}
  .hero-tech-panel{grid-template-columns:1fr;gap:8px}
  .hero-tech-panel strong{font-size:14px}
  .hero-mark{left:12px;right:12px;width:auto}
  .business-tech-band{padding:0 0 60px}
  .business-tech-band .wrap{grid-template-columns:1fr}
  .business-tech-band .wrap>div+div{border-left:0;border-top:1px solid #d9e5ed}
  .tech-card-tag{top:12px;left:12px}
}


/* =========================================================
   V13 FINAL — Japanese-first mechanical corporate design
   ========================================================= */

/* Improve Japanese readability without losing technical feel */
.hero-tech-panel strong{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Yu Gothic",sans-serif;
  font-size:15px;
  letter-spacing:.01em;
  font-weight:700;
}
.hero-tech-panel small{
  font-size:7px;
  letter-spacing:.16em;
  color:#91a6b5;
}
.trust-ribbon{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Yu Gothic",sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:.05em;
  color:#758a9a;
}
.tech-card-tag{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Yu Gothic",sans-serif;
  letter-spacing:.08em;
  font-size:9px;
}
.business-tech-band .wrap>div{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Yu Gothic",sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  color:#627989;
}
.section-no,.detail-label,.eyebrow{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Yu Gothic",sans-serif;
  letter-spacing:.08em;
}
.hero-mark span{
  font-size:8px;
  letter-spacing:.14em;
}
.hero-mark::before{
  color:#7d98aa;
}
.hero-mark::after{
  color:#8ba0ae;
}

/* Make tech framing visible yet refined */
.hero-tech-panel div{
  border-color:rgba(92,139,171,.30);
  background:
    linear-gradient(180deg,rgba(255,255,255,.95),rgba(241,249,253,.88));
}
.hero-tech-panel div::before{
  border-color:rgba(111,157,187,.24);
}
.hero-tech-panel div:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 40px rgba(36,56,74,.11);
}
.hero-tech-panel div{transition:transform .2s ease,box-shadow .2s ease}

/* More polished top composition */
.hero-grid{
  grid-template-columns:.92fr 1.08fr;
}
.hero h1{
  max-width:720px;
}
.hero-lead{
  max-width:620px;
}
.hero-photo{
  background-position:center center;
}

/* Slightly stronger section rhythm */
.section:nth-of-type(odd){
  background-color:#fff;
}
.about-grid,
.editorial-grid,
.message-grid,
.quality-photo-grid{
  position:relative;
}
.section-title,
.detail-title{
  max-width:900px;
}

/* Buttons / links */
.text-link,.hero-links a,.store-actions a,.next-cta a{
  transition:opacity .2s ease,transform .2s ease,color .2s ease;
}
.text-link:hover,.hero-links a:hover,.store-actions a:hover,.next-cta a:hover{
  opacity:.72;
}

/* Form accessibility */
.form-row input:focus,
.form-row textarea:focus{
  outline:2px solid rgba(89,143,181,.28);
  outline-offset:2px;
  border-color:#7fa9c4;
}
.submit-btn:focus-visible,
a:focus-visible,
button:focus-visible{
  outline:2px solid #6998b7;
  outline-offset:3px;
}

/* Responsive final tuning */
@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr}
  .hero-tech-panel{max-width:none}
}
@media(max-width:640px){
  .hero-tech-panel small{font-size:7px}
  .hero-tech-panel strong{font-size:15px}
  .trust-ribbon{font-size:9px}
  .hero-meta b{font-size:25px}
  .hero-mark::before,
  .hero-mark::after{font-size:7px}
  .page-hero h1{font-size:43px;line-height:1.18}
  .section-title{font-size:36px;line-height:1.3}
  .detail-title{font-size:36px;line-height:1.3}
}

/* Print-safe */
@media print{
  .site-header,.menu-btn,.hero-orbit,.hero-brand-ghost,.section-watermark,.footer-ghost{display:none!important}
  body{background:#fff;color:#000}
}


/* =========================================================
   V13.1 — footer/mobile readability fix
   ========================================================= */

/* Mobile menu visibility */
@media(max-width:980px){
  .nav.open{
    z-index:1200;
    background:rgba(255,255,255,.98);
    backdrop-filter:blur(16px);
    border-top:1px solid rgba(122,152,176,.18);
    border-bottom:1px solid rgba(122,152,176,.18);
  }
  .nav.open a{
    color:#1a2430;
    font-size:14px;
    font-weight:700;
    padding:10px 0;
    width:100%;
    border-bottom:1px solid rgba(131,161,184,.14);
  }
  .nav.open a:last-child{
    border-bottom:0;
  }
  .menu-btn[aria-expanded="true"]:before{
    top:21px;
    transform:rotate(45deg);
  }
  .menu-btn[aria-expanded="true"]:after{
    top:21px;
    transform:rotate(-45deg);
  }
}

/* Footer readability on dark background */
.premium-footer{
  color:#dbe7ef;
}
.premium-footer .footer-brand strong{
  color:#ffffff;
}
.premium-footer .footer-brand div[style]{
  color:#aebfcd !important;
}
.premium-footer .footer-col h4{
  color:#edf4f8;
}
.premium-footer .footer-col a{
  color:#b8c8d5;
}
.premium-footer .footer-col a:hover{
  color:#ffffff;
}
.premium-footer .copyright{
  color:#a5b5c1;
  border-top-color:rgba(255,255,255,.16);
}
.premium-footer .footer-grid{
  position:relative;
}
.premium-footer .footer-grid:after{
  content:"";
  position:absolute;
  inset:auto 0 -26px 0;
  height:1px;
  background:linear-gradient(90deg,rgba(255,255,255,.22),rgba(255,255,255,.06));
  pointer-events:none;
}

/* Slightly brighten footer logo block */
.premium-footer .footer-brand{
  padding:6px 0 8px;
}

@media(max-width:640px){
  .premium-footer .footer-col h4{
    margin-top:12px;
  }
  .premium-footer .footer-col a{
    font-size:12px;
    margin:10px 0;
  }
}


/* ===== V15 Privacy / SNS OAuth policy pages ===== */
.privacy-page .prose{max-width:920px}
.privacy-page .prose>p:first-child{font-size:16px;line-height:2;color:#3f4852;margin-bottom:64px}
.privacy-page .prose h2{font-size:22px;letter-spacing:-.02em;margin:62px 0 18px;padding-top:5px;border-top:1px solid var(--line);padding-top:30px}
.privacy-page .prose p,.privacy-page .prose li{font-size:14px;color:#505a64;line-height:2}
.privacy-page .prose ul{padding-left:1.4em;margin:18px 0 30px}
.privacy-page .prose a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.privacy-link-card{margin:34px 0 10px;padding:30px 32px;background:var(--soft);border:1px solid var(--line);border-left:3px solid var(--blue)}
.privacy-link-card span{display:block;font-size:9px;letter-spacing:.15em;color:#84909b;font-weight:700;margin-bottom:8px}
.privacy-link-card strong{display:block;font-size:18px;margin-bottom:8px}
.privacy-link-card p{margin:0 0 12px!important}
.privacy-link-card a{display:inline-block;font-size:13px;font-weight:700;text-decoration:none!important;border-bottom:1px solid var(--blue)}
.privacy-back{margin-top:56px;padding-top:24px;border-top:1px solid var(--line)}
.policy-date{margin-top:50px;color:#8a939d!important;font-size:12px!important}
@media(max-width:700px){
  .privacy-page .prose>p:first-child{font-size:14px;margin-bottom:44px}
  .privacy-page .prose h2{font-size:19px;margin-top:46px}
  .privacy-link-card{padding:23px 20px}
  .page-hero h1 br{display:none}
}
