:root { --pref-ink:#27324a; --pref-orange:#f46b22; --pref-paper:#fffaf4; --pref-mint:#c8ede6; --pref-peach:#ffddca; --pref-line:rgba(39,50,74,.2); }
#specialRoot { overflow:hidden; background:var(--pref-paper); color:var(--pref-ink); }
.prefecture-special-hero { position:relative; min-height:540px; padding:82px max(8vw,32px) 70px; color:var(--pref-ink); background:linear-gradient(123deg,rgba(255,255,255,.97) 0 44%,rgba(255,250,244,.78) 64%),url('assets/hero-hiraya-exterior.png') center/cover; border-bottom:3px solid var(--pref-ink); }
.prefecture-special-hero__inner { position:relative; z-index:1; max-width:1200px; margin:0 auto; }
.prefecture-special-hero p,.prefecture-editorial__intro > p:first-child,.prefecture-section-heading > p,.prefecture-area-nav p,.prefecture-final-cta > div > p { margin:0; color:var(--pref-orange); font-size:11px; font-weight:900; letter-spacing:.13em; }
.prefecture-special-hero h1 { max-width:820px; margin:16px 0 28px; font-size:clamp(46px,6.1vw,86px); font-weight:900; letter-spacing:-.075em; line-height:1.13; }
.prefecture-special-hero h1 em { color:var(--pref-orange); font-family:inherit; font-size:inherit; font-style:normal; font-weight:inherit; letter-spacing:inherit; line-height:inherit; }
.prefecture-editorial h2 em,.prefecture-section-heading h2 em,.prefecture-area-nav h2 em,.prefecture-final-cta h2 em { color:var(--pref-orange); font-family:inherit; font-size:inherit; font-style:normal; font-weight:inherit; letter-spacing:inherit; line-height:inherit; }
.prefecture-special-hero__inner > div { display:flex; align-items:center; gap:16px; font-size:14px; font-weight:800; line-height:1.65; }
.prefecture-special-hero__inner > div span { color:var(--pref-orange); font-size:10px; font-weight:900; letter-spacing:.1em; }
.prefecture-special-hero > a { position:absolute; z-index:2; right:max(9vw,42px); bottom:52px; padding-bottom:8px; color:var(--pref-ink); border-bottom:3px solid var(--pref-orange); font-size:14px; font-weight:900; }
.prefecture-special-hero > a b { margin-left:11px; color:var(--pref-orange); }
.prefecture-editorial { display:grid; grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr); gap:72px; max-width:1200px; margin:0 auto; padding:110px max(5vw,28px); }
.prefecture-editorial__intro h2,.prefecture-section-heading h2,.prefecture-area-nav h2,.prefecture-final-cta h2 { margin:10px 0 20px; font-size:clamp(30px,4vw,50px); font-weight:900; letter-spacing:-.065em; line-height:1.28; }
.prefecture-editorial__intro > p:last-child { max-width:470px; margin:0; font-size:15px; font-weight:600; line-height:2; }
.prefecture-editorial__steps { display:grid; align-content:center; gap:0; border-top:1px solid var(--pref-line); }
.prefecture-editorial__steps article { display:grid; grid-template-columns:66px 1fr; gap:16px; padding:24px 0; border-bottom:1px solid var(--pref-line); }
.prefecture-editorial__steps b { color:var(--pref-orange); font-size:24px; font-weight:900; letter-spacing:-.04em; line-height:1; }
.prefecture-editorial__steps strong,.prefecture-editorial__steps span { display:block; }
.prefecture-editorial__steps strong { margin-bottom:7px; font-size:17px; }
.prefecture-editorial__steps span { font-size:13px; font-weight:600; line-height:1.75; }
.prefecture-company-guide { padding:104px max(5vw,28px); background:#edf8f5; border-top:3px solid var(--pref-ink); }
.prefecture-section-heading,.prefecture-company-list,.prefecture-publication-note,.prefecture-empty-state { max-width:1200px; margin-right:auto; margin-left:auto; }
.prefecture-section-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.72fr); column-gap:54px; align-items:end; }
.prefecture-section-heading > p { grid-column:1; }
.prefecture-section-heading h2 { grid-column:1; margin-bottom:0; }
.prefecture-section-heading > span { grid-row:1 / span 2; grid-column:2; padding-bottom:4px; font-size:14px; font-weight:600; line-height:1.9; }
.prefecture-company-list { display:grid; gap:34px; margin-top:56px; }
.prefecture-company-article { position:relative; display:grid; grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr); gap:0; overflow:visible; border:2px solid var(--pref-ink); border-radius:25px; background:#fffdf9; box-shadow:8px 8px 0 var(--pref-ink); }
.prefecture-company-article__number { position:absolute; z-index:2; top:-22px; left:23px; display:grid; width:61px; height:61px; place-items:center; border:2px solid var(--pref-ink); border-radius:50%; background:var(--pref-orange); color:#fff; font-size:20px; font-weight:900; letter-spacing:-.04em; }
.prefecture-company-article__photo { min-height:100%; overflow:hidden; border-radius:22px 0 0 22px; background:#dfe8e4; }
.prefecture-company-article__photo img { display:block; width:100%; height:100%; min-height:315px; object-fit:cover; }
.prefecture-company-article__body { min-width:0; padding:42px 40px 35px; }
.prefecture-company-article__kicker { margin:0 0 8px; color:var(--pref-orange); font-size:10px; font-weight:900; letter-spacing:.11em; }
.prefecture-company-article h3 { margin:0; font-size:clamp(24px,3vw,34px); font-weight:900; letter-spacing:-.045em; line-height:1.3; }
.prefecture-company-article__tags { display:flex; flex-wrap:wrap; gap:7px; margin:15px 0; }
.prefecture-company-article__tags span { padding:5px 9px; border-radius:99px; background:#f3eee6; color:var(--pref-ink); font-size:10px; font-weight:800; }
.prefecture-company-article__description { margin:0; font-size:14px; font-weight:600; line-height:1.85; }
.pei-recommendation { display:grid; grid-template-columns:70px minmax(0,1fr); gap:12px; align-items:center; margin-top:22px; padding:12px 16px 12px 10px; border:2px solid var(--pref-ink); border-radius:17px; background:var(--pref-peach); }
.pei-recommendation img { width:70px; height:70px; object-fit:contain; object-position:center; filter:drop-shadow(2px 2px 0 rgba(39,50,74,.12)); }
.pei-recommendation div { position:relative; min-width:0; }
.pei-recommendation p { margin:0 0 5px; font-size:11px; font-weight:900; line-height:1.35; }
.pei-recommendation p span { color:var(--pref-orange); font-size:9px; letter-spacing:.07em; }
.pei-recommendation strong { display:block; font-size:12px; font-weight:600; line-height:1.7; }
.prefecture-company-article__links { display:flex; flex-wrap:wrap; gap:9px 20px; margin-top:21px; }
.prefecture-company-article__links a,.prefecture-company-article__links .is-pending { color:var(--pref-ink); font-size:12px; font-weight:900; text-decoration:underline; text-decoration-color:var(--pref-orange); text-decoration-thickness:2px; text-underline-offset:5px; }
.prefecture-company-article__links a b { color:var(--pref-orange); font-size:14px; }
.prefecture-company-article__links .is-pending { color:#7a7e88; text-decoration:none; }
.prefecture-publication-note { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:40px; padding:22px 27px; border:2px dashed var(--pref-ink); border-radius:18px; background:rgba(255,253,249,.75); }
.prefecture-publication-note span { color:var(--pref-orange); font-size:10px; font-weight:900; letter-spacing:.12em; }
.prefecture-publication-note strong { font-size:14px; }
.prefecture-publication-note a { color:var(--pref-ink); font-size:13px; font-weight:900; text-decoration:underline; text-decoration-color:var(--pref-orange); text-underline-offset:5px; }
.prefecture-empty-state { display:grid; grid-template-columns:130px minmax(0,1fr); gap:28px; align-items:center; margin-top:46px; padding:34px; border:2px solid var(--pref-ink); border-radius:23px; background:#fffdf9; box-shadow:7px 7px 0 var(--pref-ink); }
.prefecture-empty-state img { width:120px; max-width:100%; }
.prefecture-empty-state strong { font-size:20px; }
.prefecture-empty-state p { max-width:700px; font-size:14px; line-height:1.9; }
.prefecture-area-nav { display:grid; grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr); gap:68px; padding:100px max(8vw,32px); background:var(--pref-peach); border-top:3px solid var(--pref-ink); }
.prefecture-area-nav > div,.prefecture-area-nav nav { max-width:570px; }
.prefecture-area-nav > div { justify-self:end; width:100%; }
.prefecture-area-nav nav { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.prefecture-area-nav nav a { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 8px; align-items:center; min-width:0; padding:15px 16px; border:2px solid var(--pref-ink); border-radius:14px; background:#fffdf9; color:var(--pref-ink); box-shadow:3px 3px 0 var(--pref-ink); transition:transform .16s ease, background .16s ease; }
.prefecture-area-nav nav a:hover,.prefecture-area-nav nav .is-current { background:var(--pref-mint); transform:translate(-2px,-2px); }
.prefecture-area-nav nav span { color:var(--pref-orange); font-size:9px; font-weight:900; letter-spacing:.1em; }
.prefecture-area-nav nav b { min-width:0; font-size:13px; }
.prefecture-area-nav nav i { grid-row:span 2; grid-column:2; font-size:18px; font-style:normal; }
.prefecture-final-cta { display:grid; grid-template-columns:120px minmax(0,1fr) auto; gap:28px; align-items:center; max-width:1200px; margin:0 auto; padding:100px max(5vw,28px); }
.prefecture-final-cta > img { width:112px; max-width:100%; }
.prefecture-final-cta h2 { margin-bottom:12px; }
.prefecture-final-cta span { display:block; max-width:600px; font-size:14px; font-weight:600; line-height:1.85; }
.prefecture-final-cta__links { display:grid; gap:19px; min-width:260px; }
.prefecture-final-cta__links > a:not(.button) { color:var(--pref-ink); font-size:13px; font-weight:900; text-align:center; text-decoration:underline; text-decoration-color:var(--pref-orange); text-underline-offset:6px; }
@media (max-width:820px) { .prefecture-special-hero { min-height:490px; padding:55px 24px 52px; background-position:65% center; } .prefecture-special-hero h1 { max-width:390px; margin-top:14px; font-size:clamp(43px,12vw,62px); } .prefecture-special-hero__inner > div { max-width:330px; gap:11px; font-size:12px; } .prefecture-special-hero__inner > div span { font-size:8px; } .prefecture-special-hero > a { right:24px; bottom:27px; font-size:12px; } .prefecture-editorial { grid-template-columns:1fr; gap:39px; padding:68px 24px; } .prefecture-editorial__intro > p:last-child { font-size:13px; } .prefecture-company-guide { padding:68px 16px; } .prefecture-section-heading { display:block; } .prefecture-section-heading > span { display:block; margin-top:19px; font-size:13px; } .prefecture-company-list { gap:33px; margin-top:42px; } .prefecture-company-article { display:block; border-radius:20px; box-shadow:5px 5px 0 var(--pref-ink); } .prefecture-company-article__number { top:-18px; left:15px; width:53px; height:53px; font-size:18px; } .prefecture-company-article__photo { border-radius:18px 18px 0 0; } .prefecture-company-article__photo img { min-height:205px; max-height:260px; } .prefecture-company-article__body { padding:31px 20px 25px; } .prefecture-company-article h3 { font-size:25px; } .prefecture-company-article__description { font-size:13px; } .pei-recommendation { grid-template-columns:58px minmax(0,1fr); padding:10px 11px 10px 7px; } .pei-recommendation img { width:58px; height:58px; } .pei-recommendation strong { font-size:11px; } .prefecture-company-article__links { display:grid; gap:13px; } .prefecture-publication-note { display:grid; gap:10px; padding:20px; } .prefecture-empty-state { grid-template-columns:80px minmax(0,1fr); gap:15px; padding:23px; } .prefecture-empty-state img { width:80px; } .prefecture-empty-state strong { font-size:16px; } .prefecture-empty-state p { font-size:12px; } .prefecture-area-nav { grid-template-columns:1fr; gap:32px; padding:68px 24px; } .prefecture-area-nav > div { justify-self:start; } .prefecture-area-nav nav { grid-template-columns:1fr; max-width:none; } .prefecture-final-cta { grid-template-columns:72px minmax(0,1fr); gap:14px; padding:68px 24px 92px; } .prefecture-final-cta > img { width:72px; } .prefecture-final-cta h2 { font-size:29px; } .prefecture-final-cta span { font-size:12px; } .prefecture-final-cta__links { grid-column:1 / -1; width:100%; min-width:0; margin-top:13px; } }
