/*
Theme Name: Hiroshima Gaiko Final Complete
Author: ChatGPT
Description: TOP専用デザイン＋固定ページ本文表示。URL/文字/画像/色をカスタマイザー編集可能。
Version: 4.0.0
*/
:root{--ink:#27231c;--muted:#7b7063;--gold:#b38a57;--gold-dark:#9e7647;--line:#e2e2e2;--paper:#fff;--sand:#efefef;--deep:#2a251e;--shadow:0 18px 45px rgba(39,35,28,.08);--max:1180px}
*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.75;letter-spacing:.02em}a{text-decoration:none;color:inherit}img{display:block;max-width:100%;object-fit:cover}.site-header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.admin-bar .site-header{top:32px}.header-inner{width:min(var(--max),88%);height:88px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:14px;font-weight:800}.logo-mark{width:44px;height:44px;border:2px solid var(--gold);color:var(--gold);display:grid;place-items:center;font-family:Georgia,serif;font-size:26px}.brand-text{font-size:14px;line-height:1.45}.nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:800}.nav-cta{background:var(--gold);color:#fff!important;padding:14px 24px}.hero{min-height:620px;display:flex;align-items:center;background:center/cover no-repeat;color:#fff}.hero-content,.section-inner,.footer-inner{width:min(var(--max),88%);margin:auto}.hero-copy{max-width:720px}.eyebrow,.section-kicker{color:var(--gold);font-weight:900;letter-spacing:.28em;font-size:14px;margin-bottom:16px}.hero h1{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:50px;line-height:1.45;margin:0 0 24px}.hero p{font-weight:800;margin:0 0 32px;color:rgba(255,255,255,.92)}.hero-buttons{display:flex;gap:14px;flex-wrap:wrap}.hero-btn,.outline-btn{display:inline-flex;font-weight:900;padding:14px 24px;border:1px solid var(--gold)}.primary{background:var(--gold);color:#fff!important}.secondary,.outline-btn{background:#fff;color:var(--ink)}.section{padding:92px 0}.white{background:var(--paper)}.sand,.deep-sand{background:var(--sand)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:42px}.center{display:block;text-align:center}.section-title{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:34px;line-height:1.45;margin:0 0 14px}.section-desc{margin:0;color:var(--muted);font-weight:700}.cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.company-row{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}.articles-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.case-card,.company-card,.article-card,.guide-card,.about-box{background:#fff;border:1px solid rgba(0,0,0,.05);border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.case-card img{height:300px;width:100%}.company-card img{height:150px;width:100%}.article-card img{height:135px;width:100%}.card-body{padding:24px}.card-title{font-size:20px;margin:0 0 10px;font-weight:900}.card-text,.company-area,.article-meta{color:var(--muted);font-size:14px;font-weight:700}.card-link{display:inline-block;color:var(--gold);font-weight:900;margin-top:14px}.company-name{font-weight:900;margin:0 0 6px}.tag{display:inline-block;background:#f5efe6;color:var(--gold-dark);font-size:11px;font-weight:900;padding:4px 8px;border-radius:999px;margin:8px 4px 0 0}.guide-box{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.deep-sand{padding-top:72px!important;padding-bottom:76px!important}.deep-sand .section-title{font-size:30px!important}.guide-card{border-radius:0!important;padding:32px 34px!important;box-shadow:none!important}.guide-card h3{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:22px!important;margin:0 0 20px}.check-list{list-style:none;padding:0;margin:0}.check-list li{position:relative;padding:12px 0 12px 28px;border-bottom:1px solid #e5ded4;font-size:14px;font-weight:700;color:#6a6258}.check-list li:before{content:"✓";position:absolute;left:0;top:11px;color:var(--gold);font-weight:900}.about{background:var(--paper);padding:90px 0}.about-box{width:min(900px,88%);margin:auto;padding:48px}.footer{background:var(--deep);color:#fff;padding:36px 0}.footer-inner{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer-links{display:flex;gap:20px;flex-wrap:wrap}.page-wrap{width:min(var(--max),88%);margin:0 auto;padding:72px 0 96px}.page-wrap h1{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:36px;margin:0 0 34px}.page-content{line-height:1.85}.page-content img{height:auto}@media(max-width:900px){.nav{display:none}.cases-grid,.company-row,.articles-grid,.guide-box{grid-template-columns:1fr 1fr}.hero h1{font-size:36px}}@media(max-width:560px){.cases-grid,.company-row,.articles-grid,.guide-box{grid-template-columns:1fr}.hero h1{font-size:30px}.section{padding:58px 0}}

/* ACF会社詳細ページ */
.acfCompanyPage{
max-width:1200px;
margin:0 auto;
}

.acfCompanyHero{
position:relative;
height:520px;
overflow:hidden;
border-radius:24px;
margin:40px 0;
}

.acfCompanyHero img{
width:100%;
height:100%;
object-fit:cover;
}

.acfCompanyHeroOverlay{
position:absolute;
inset:0;
background:rgba(0,0,0,.45);
}

.acfCompanyHeroText{
position:absolute;
left:60px;
bottom:60px;
color:#fff;
z-index:2;
}

.acfCompanyHeroText h1{
font-size:48px;
margin:0 0 10px;
}

.acfCompanyInfo{
padding:80px 0;
}

.acfCompanyInfoTitle h2{
font-size:36px;
margin-bottom:40px;
}

.acfCompanyBasic,
.acfCompanyDetail{
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
margin-bottom:40px;
}

.acfCompanyBasic dl,
.acfCompanyDetail dl{
background:#fff;
padding:30px;
border-radius:16px;
box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.acfCompanyBasic dt,
.acfCompanyDetail dt{
font-weight:700;
margin-bottom:8px;
}

.acfCompanySns{
margin-top:40px;
}

.acfCompanySns a{
display:inline-block;
margin-right:12px;
padding:10px 18px;
background:#b38a57;
color:#fff;
border-radius:999px;
text-decoration:none;
}

.acfCompanyWorks{
padding:80px 0;
}

.acfCompanyWorksGrid{
display:grid;
grid-template-columns:repeat(5,1fr);
gap:16px;
}

.acfCompanyWorksGrid img{
width:100%;
height:220px;
object-fit:cover;
border-radius:16px;
}

.acfCompanyTags{
margin-top:24px;
}

.acfCompanyTags span{
display:inline-block;
background:#f6efe6;
padding:8px 14px;
border-radius:999px;
margin:6px;
}

.acfCompanyStrength{
padding:80px 0;
}

.acfCompanyStrength div{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:24px;
}

.acfCompanyStrength article{
background:#fff;
padding:30px;
border-radius:16px;
box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.acfCompanyStrength span{
font-size:36px;
font-weight:700;
color:#b38a57;
}

.acfCompanyContact{
padding:80px 0;
text-align:center;
}

.acfCompanyContact .green,
.acfCompanyContact .black{
display:inline-block;
padding:18px 28px;
margin:10px;
border-radius:12px;
text-decoration:none;
color:#fff;
}

.acfCompanyContact .green{
background:#06c755;
}

.acfCompanyContact .black{
background:#222;
}

@media(max-width:768px){

.acfCompanyHero{
height:320px;
}

.acfCompanyHeroText{
left:24px;
right:24px;
bottom:24px;
}

.acfCompanyHeroText h1{
font-size:32px;
}

.acfCompanyBasic,
.acfCompanyDetail,
.acfCompanyStrength div{
grid-template-columns:1fr;
}

.acfCompanyWorksGrid{
grid-template-columns:1fr 1fr;
}

}

.acfCompanyWorksGrid{
display:grid !important;
grid-template-columns:repeat(5,1fr) !important;
gap:16px !important;
}

.acfCompanyWorksGrid div{
overflow:hidden !important;
}

.acfCompanyWorksGrid img{
width:100% !important;
height:160px !important;
object-fit:cover !important;
display:block !important;
}

.acfCompanyHero{
height:360px !important;
overflow:hidden !important;
}

.acfCompanyHero img{
width:100% !important;
height:100% !important;
object-fit:cover !important;
}

@media(max-width:768px){
.acfCompanyWorksGrid{
grid-template-columns:1fr 1fr !important;
}

.acfCompanyWorksGrid img{
height:130px !important;
}

.acfCompanyHero{
height:260px !important;
}
}

.acfCompanyHero{
position:relative !important;
height:420px !important;
overflow:hidden !important;
margin:40px 0 !important;
}

.acfCompanyHero img{
width:100% !important;
height:100% !important;
object-fit:cover !important;
display:block !important;
}

.acfCompanyHeroOverlay{
position:absolute !important;
inset:0 !important;
background:rgba(0,0,0,.42) !important;
z-index:1 !important;
}

.acfCompanyHeroText{
position:absolute !important;
left:56px !important;
bottom:50px !important;
z-index:2 !important;
color:#fff !important;
}

.acfCompanyHeroText h1,
.acfCompanyHeroText h2,
.acfCompanyHeroText p{
color:#fff !important;
}

@media(max-width:768px){
.acfCompanyHero{
height:300px !important;
}

.acfCompanyHeroText{
left:24px !important;
bottom:24px !important;
}

.acfCompanyHeroText h1{
font-size:30px !important;
}
}

.acfCompanyHero{
position:relative !important;
height:420px !important;
overflow:hidden !important;
margin:40px 0 !important;
}

.acfCompanyHero > img{
position:absolute !important;
inset:0 !important;
width:100% !important;
height:100% !important;
object-fit:cover !important;
z-index:0 !important;
}

.acfCompanyHeroOverlay{
position:absolute !important;
inset:0 !important;
background:rgba(0,0,0,.42) !important;
z-index:1 !important;
}

.acfCompanyHeroText{
position:absolute !important;
left:56px !important;
bottom:50px !important;
z-index:2 !important;
color:#fff !important;
}

.acfCompanyHeroText h1,
.acfCompanyHeroText h2,
.acfCompanyHeroText p{
color:#fff !important;
}

@media(max-width:768px){
.acfCompanyHero{
height:300px !important;
}

.acfCompanyHeroText{
left:24px !important;
bottom:24px !important;
}

.acfCompanyHeroText h1{
font-size:30px !important;
}
}

/* ACF会社ページ 強制上書き */
.page-wrap .acfCompanyHero,
.entry-content .acfCompanyHero,
.acfCompanyHero{
  position:relative !important;
  height:420px !important;
  overflow:hidden !important;
  margin:40px auto !important;
  max-width:1200px !important;
}

.page-wrap .acfCompanyHero > img,
.entry-content .acfCompanyHero > img,
.acfCompanyHero > img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  z-index:0 !important;
}

.acfCompanyHeroOverlay{
  position:absolute !important;
  inset:0 !important;
  background:rgba(0,0,0,.45) !important;
  z-index:1 !important;
}

.acfCompanyHeroText{
  position:absolute !important;
  left:56px !important;
  bottom:50px !important;
  z-index:2 !important;
  color:#fff !important;
}

.acfCompanyHeroText *{
  color:#fff !important;
}