/*
Theme Name: crazev3
Theme URI: https://example.com/crazev3
Author: 株式会社Greed
Description: CRAZE FV検証用テーマ（crazev2ベース、FVのみ3パネル斜めカット構成に変更）
Version: 3.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: All Rights Reserved
Text Domain: crazev3
*/

/* ===== Design Tokens ===== */
:root{
  --y:#ffe868;
  --blk:#1a1a1a;
  --wht:#ffffff;
  --off:#fafaf8;
  --dp:'Bebas Neue',sans-serif;
  --sans:'DM Sans','Noto Sans JP',sans-serif;
  --ease:cubic-bezier(0.22,1,0.36,1);
}

/* ===== Reset ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--wht);color:var(--blk);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}

/* ===== Cursor Ring ===== */
#cur-ring{
  position:fixed;width:36px;height:36px;
  background:rgba(255,232,104,.75);
  border-radius:50%;
  pointer-events:none;z-index:9997;
  top:0;left:0;
  transform:translate(-50%,-50%);
  mix-blend-mode:multiply;
  transition:width .35s,height .35s,opacity .3s ease,visibility .3s ease;
}
#cur-ring.big{width:56px;height:56px}
#cur-ring.is-hidden{opacity:0;visibility:hidden}

/* ===== Navigation（crazev2 白化） ===== */
nav{
  position:fixed;top:0;left:0;right:0;z-index:300;
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 52px;
  background:#ffffff;
  border-bottom:0.5px solid #e0e0e0;
  transition:all .4s var(--ease);
}
nav.solid{
  padding:14px 52px;
  background:#ffffff;
  backdrop-filter:none;
  border-bottom:0.5px solid #e0e0e0;
}
nav.solid .logo{color:#1a1a1a}
nav.solid .nav-links a{color:#888}
nav.solid .nav-links a:hover{color:#b89400}
nav.dark .logo{color:#1a1a1a}
nav.dark .nav-links a{color:#888}
nav.dark .nav-links a:hover{color:#b89400}
nav.dark .nav-links li.active a{color:#b89400 !important;background:transparent !important}
nav.solid .nav-links li.active a{color:#b89400 !important;background:transparent !important}

.logo{font-family:var(--dp);font-size:28px;letter-spacing:.22em;color:#1a1a1a;text-decoration:none;transition:color .4s}
.nav-links{display:flex;gap:20px;list-style:none;align-items:center}
.nav-links a{font-size:13px;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;color:#888;padding:5px 10px;transition:all .25s}
.nav-links a:hover{color:#b89400}
.nav-links li.active a{color:#b89400 !important;background:transparent !important;font-weight:600}

/* ===== FV Hero ===== */
#hero{position:relative;width:100%;height:100vh;overflow:hidden;background:var(--blk)}
.tagline{position:absolute;top:70px;left:52px;z-index:50;font-family:var(--sans);font-size:13px;letter-spacing:.15em;color:rgba(255,255,255,.5);pointer-events:none}
.side{position:absolute;top:0;height:100%;width:18%;overflow:hidden;z-index:3}
.side.left{left:0}.side.right{right:0}
.side>*{position:absolute;inset:0}
.side-img{width:100%;height:100%;object-fit:cover;object-position:center 8%;filter:grayscale(60%);opacity:0;transition:opacity 1.2s ease-in-out}
.side-img.show{opacity:1}
.side-tint{z-index:2;transition:background .8s}
.side-dark{z-index:3;background:rgba(26,26,26,.32)}
.main-wrap{position:absolute;left:18%;right:18%;top:0;height:100%;overflow:hidden;z-index:2}
.main-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 8%;opacity:0;transition:opacity 1.2s ease-in-out}
.main-img.show{opacity:1}
.main-vignette{
  position:absolute;inset:0;z-index:4;pointer-events:none;
  background:radial-gradient(ellipse 60% 70% at 50% 35%, transparent 40%, rgba(26,26,26,.55) 100%);
}
.main-grad{position:absolute;bottom:0;left:0;right:0;height:55%;background:linear-gradient(to top,rgba(26,26,26,.9),transparent);z-index:5;pointer-events:none}
.edge{position:absolute;top:0;height:100%;width:8%;z-index:6;pointer-events:none}
.edge.left{left:18%;background:linear-gradient(to right,rgba(26,26,26,.75),transparent)}
.edge.right{right:18%;background:linear-gradient(to left,rgba(26,26,26,.75),transparent)}
.hero-logo{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  z-index:20;pointer-events:none;user-select:none;
  font-family:var(--dp);font-size:10vw;letter-spacing:.15em;
  color:rgba(255,255,255,.9);mix-blend-mode:difference;white-space:nowrap;line-height:1;
}
.info-bar{position:absolute;bottom:0;left:0;right:0;z-index:30;padding:0 52px 24px;display:flex;align-items:flex-end;justify-content:space-between}
.talent-name{font-family:var(--dp);font-size:3.5rem;letter-spacing:.05em;color:#fff;line-height:1;text-shadow:0 0 30px rgba(255,232,104,.4);transition:text-shadow .7s;display:none}
.indicator{display:flex;align-items:center;gap:8px;padding-bottom:4px}
.dot{height:3px;border-radius:9999px;background:rgba(255,255,255,.25);transition:all 500ms;border:none;padding:0;width:12px;cursor:pointer}
.dot.active{width:32px;background:var(--y);transition:width 500ms,background .7s}
.accent-line{position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--y);z-index:40;transition:background .7s}

/* scroll down indicator */
.scroll-down{
  position:absolute;bottom:48px;right:52px;
  z-index:30;display:flex;flex-direction:column;align-items:center;gap:14px;
}
.scroll-down-chevron{
  width:16px;height:10px;color:rgba(255,255,255,.9);margin-bottom:10px;
  animation:chevbob 1.6s ease-in-out infinite;
}
@keyframes chevbob{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
.scroll-down-text{
  font-family:var(--dp);font-size:14px;letter-spacing:.3em;
  color:rgba(255,255,255,.9);text-transform:uppercase;
  writing-mode:vertical-rl;line-height:1;
}
.scroll-down-line{
  width:1px;height:72px;
  background:rgba(255,255,255,.8);
  position:relative;overflow:hidden;
}
.scroll-down-line::after{
  content:'';
  position:absolute;top:-100%;left:0;
  width:100%;height:60%;
  background:linear-gradient(to bottom,transparent,rgba(255,255,255,.88),transparent);
  animation:sdline 1.6s ease-in-out infinite;
}
@keyframes sdline{
  0%{top:-100%}
  100%{top:200%}
}

/* ===== Shared Section Styles ===== */
section{padding:96px 0}
.wrap{max-width:1400px;margin:0 auto;padding:0 52px}
.sec-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:48px}
.sec-title{font-family:var(--dp);font-size:clamp(44px,6vw,80px);letter-spacing:.08em;line-height:.95;color:var(--blk)}
.sec-more{
  font-size:14px;letter-spacing:.12em;text-transform:uppercase;
  text-decoration:none;color:var(--blk);
  display:inline-flex;align-items:center;gap:10px;
  border-bottom:2px solid var(--y);padding-bottom:3px;
  transition:gap .3s;font-weight:500;
}
.sec-more:hover{gap:14px}
.sec-more svg{width:12px;height:12px}

/* ===== Fade In Animation ===== */
.fi{opacity:0;transform:translateY(22px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.fi.vis{opacity:1;transform:none}

/* ===== ABOUT ===== */
#about{background:var(--wht);border-top:1px solid rgba(0,0,0,.06);position:relative;overflow:hidden}
.about-inner{max-width:860px;position:relative;z-index:2}
.about-kicker{font-size:13px;letter-spacing:.4em;text-transform:uppercase;color:#bbb;margin-bottom:24px;display:flex;align-items:center;gap:14px}
.about-kicker::before{content:'';display:block;width:28px;height:1px;background:var(--y)}
.about-msg{
  font-family:var(--dp);
  font-size:clamp(36px,5vw,68px);
  letter-spacing:.05em;line-height:1.15;
  color:var(--blk);
  margin-bottom:0;
}
.about-msg em{font-style:normal;-webkit-text-stroke:1.5px var(--blk);color:transparent}
.about-rule{width:48px;height:2px;background:var(--y);margin-bottom:20px}
.about-body{font-size:18px;color:#666;line-height:2.2;font-weight:300;max-width:560px;margin-bottom:32px}
.about-tag{font-size:13px;letter-spacing:.12em;color:#bbb}

/* about animated line */
.about-line-wrap{display:flex;align-items:center;gap:0;margin:28px 0 28px;overflow:hidden}
.about-line-y{height:2px;background:var(--y);width:0;transition:width 1.2s var(--ease)}
.about-line-b{height:1px;background:rgba(0,0,0,.08);width:0;transition:width 1.4s .15s var(--ease)}
.fi.vis .about-line-y{width:64px}
.fi.vis .about-line-b{width:160px}

/* about deco */
.about-deco-wrap{
  position:absolute;right:40px;top:50%;transform:translateY(-50%);
  pointer-events:none;user-select:none;
  display:flex;align-items:center;
  z-index:1;
}
@keyframes char-in{
  0%{opacity:0;transform:translateX(36px)}
  100%{opacity:1;transform:translateX(0)}
}
@keyframes char-out{
  0%{opacity:1;transform:translateX(0)}
  100%{opacity:0;transform:translateX(-40px)}
}
.about-deco-char{
  font-family:var(--dp);
  font-size:clamp(88px,13vw,175px);
  letter-spacing:.04em;
  color:transparent;
  -webkit-text-stroke:2px var(--y);
  line-height:1;
  display:inline-block;
  opacity:0;
  transform:translateX(36px);
}
.about-deco-char.running{animation:char-in .55s var(--ease) forwards}
.about-deco-char.leaving{animation:char-out .4s ease-in forwards}

/* ===== NEWS Carousel ===== */
#news{background:var(--off);padding:80px 0 64px}
.news-stage{
  position:relative;
  overflow:hidden;
  width:100%;
  margin-top:40px;
  min-height:300px;
}
.news-track{
  display:flex;
  width:max-content;
  will-change:transform;
}
.nc{
  flex-shrink:0;
  background:#fff;
  text-decoration:none;
  color:var(--blk);
  cursor:pointer;
}
.nc-img{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#e8e4e0}
.nc-img img{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;object-fit:cover;display:block;transition:transform .5s var(--ease)}
.nc:hover .nc-img img{transform:scale(1.03)}
.nc-body{padding:16px 18px 20px}
.nc-meta{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.nc-date{font-size:11px;color:#bbb;letter-spacing:.06em}
/* .nc-tag → .news-tag に統一 */
.news-tag{display:inline-block;font-size:11px;letter-spacing:.08em;padding:3px 10px;line-height:1.4;font-weight:600}
.news-tag--yellow{background:#ffe868;color:#1a1a1a}
.news-tag--black{background:#1a1a1a;color:#fff}
.news-tag--outline{background:transparent;color:#1a1a1a;border:1px solid rgba(0,0,0,.3);padding:2px 9px}
.news-tag--pink{background:#FF6B9D;color:#fff}
.news-tag--gray{background:rgba(0,0,0,.05);color:#1a1a1a}
.news-tag--red{background:#E74C3C;color:#fff}
.news-tag--blue{background:#4A90E2;color:#fff}
.news-tag--green{background:#98D982;color:#1a1a1a}
.news-tag--orange{background:#FFB347;color:#1a1a1a}
.news-tag--purple{background:#C9A0DC;color:#fff}
.nc-title{font-size:14px;line-height:1.6;color:var(--blk)}
.news-nav{
  display:flex;align-items:center;justify-content:center;
  gap:20px;padding:24px 0 0;
}
.news-dots{display:flex;gap:7px;align-items:center}
.ndot{width:8px;height:8px;border-radius:50%;background:rgba(0,0,0,.15);
  border:none;padding:0;transition:all .35s;cursor:pointer}
.ndot.active{width:22px;border-radius:4px;background:var(--blk)}
.narr{width:38px;height:38px;border:1px solid rgba(0,0,0,.12);border-radius:50%;
  background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s}
.narr:hover{background:var(--y);border-color:var(--y)}
.narr svg{width:13px;height:13px;stroke:var(--blk);stroke-width:1.5;fill:none}

/* ===== TALENT ===== */
#talent{background:#fffef0;padding:80px 0 80px}
.tg{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:40px;max-width:1480px;margin-left:auto;margin-right:auto;padding:0 60px}
/* トップページのみ4列 */
.tg-fp{
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  max-width:1480px;
  margin:0 auto;
  padding:0 60px 80px;
}
.tg-fp .tc-hover-name--sm{font-size:1.2rem}
/* ===== Talent Card (.talent-card) — 名前常時表示 + ホバーグレーアウト ===== */
.talent-card{display:block;text-decoration:none;color:inherit;cursor:pointer}
.talent-card__img{
  position:relative;
  aspect-ratio:1/1;
  overflow:hidden;
  background:#e8e4e0;
}
.talent-card__img img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;object-position:center top;
  display:block;
  transition:transform .5s var(--ease);
}
.talent-card:hover .talent-card__img img{transform:scale(1.04)}
.talent-card__overlay{
  position:absolute;inset:0;
  background:rgba(0,0,0,0);
  transition:background .3s ease;
  pointer-events:none;
}
.talent-card:hover .talent-card__overlay{background:rgba(0,0,0,.22)}
.talent-card__info{padding-top:10px}
.talent-card__name{
  font-family:var(--sans);font-size:14px;font-weight:500;
  color:var(--blk);margin:0 0 6px;line-height:1.4;
}
/* 後方互換: .tc クラス（single-news等で残存する場合） */
.tc{position:relative;overflow:hidden;cursor:pointer;text-decoration:none;display:block}
.tc-img-wrap{position:relative;aspect-ratio:1/1;overflow:hidden;background:#e8e4e0}
.tc-img-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:transform .5s var(--ease)}
.tc:hover .tc-img-wrap img{transform:scale(1.04)}
.tc-genre{
  display:inline-block;background:#ffe868;color:#1a1a1a;
  font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  padding:3px 10px;margin:6px 3px 0;
}
/* 複数ジャンルタグ（front-page / archive） */
.tc-genre-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px;padding:0 2px}
.tc-genre-tag{
  display:inline-block;background:transparent;color:#1a1a1a;
  border:1px solid rgba(0,0,0,0.3);
  font-size:9px;letter-spacing:.12em;text-transform:uppercase;
  padding:2px 8px;
}
.tg-fp .tc-genre-tag{font-size:9px}


/* ===== CONTACT ===== */
#contact{background:var(--off);border-top:1px solid rgba(0,0,0,.06);padding:100px 0 120px}
.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;margin-top:0;max-width:1240px;margin-left:auto;margin-right:auto}
.ccard{
  background:#fff;
  border:0.5px solid rgba(0,0,0,.08);
  border-top:3px solid #ffe868;
  padding:52px 48px 48px;
  max-width:580px;width:100%;margin:0 auto;
  text-decoration:none;color:var(--blk);
  position:relative;overflow:hidden;cursor:pointer;
  display:flex;flex-direction:column;
}
.ccard-fill{
  position:absolute;inset:0;background:rgba(255,232,104,.45);
  transform:translateX(-101%);
  transition:transform .42s var(--ease);
  z-index:0;
}
.ccard:hover .ccard-fill{transform:none}
.ccard-icon{
  width:48px;height:48px;
  background:#ffe868;
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  margin-bottom:24px;position:relative;z-index:1;
  transition:transform .3s var(--ease);
}
.ccard:hover .ccard-icon{transform:scale(1.08)}
.ccard-icon svg{width:18px;height:18px;stroke:#1a1a1a;stroke-width:1.4;fill:none}
.ccard-title{font-size:18px;font-weight:700;letter-spacing:.03em;margin-bottom:6px;position:relative;z-index:1;line-height:1.4}
.ccard-sub{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#aaa;position:relative;z-index:1;margin-bottom:auto}
.ccard:hover .ccard-sub{color:rgba(0,0,0,.4)}
.ccard-arr{
  margin-top:32px;width:36px;height:36px;border:1px solid rgba(0,0,0,.1);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  position:relative;z-index:1;transition:all .3s;align-self:flex-end;
}
.ccard:hover .ccard-arr{background:#ffe868;border-color:#ffe868}
.ccard-arr svg{width:12px;height:12px;stroke:#1a1a1a;stroke-width:1.5;fill:none}

/* ===== Footer（crazev2 白化） ===== */
footer{background:#ffffff;color:#1a1a1a;border-top:4px solid #ffe868}
footer::before{display:none}
.fw{max-width:1400px;margin:0 auto;padding:52px 52px 44px}
.ft{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px}
.fl{font-family:var(--dp);font-size:22px;letter-spacing:.2em;color:#1a1a1a;text-decoration:none}
.fn{display:flex;gap:24px;list-style:none}
.fn a{font-size:14px;letter-spacing:.13em;text-transform:uppercase;color:#555;text-decoration:none;transition:color .25s,border-color .25s;border-bottom:1px solid transparent;padding-bottom:2px}
.fn a:hover{color:#b89400;border-bottom-color:#b89400}
.footer-company{text-align:right;font-size:13px}
.footer-company-name{font-family:var(--sans);font-size:15px;font-weight:500;letter-spacing:.05em;color:#1a1a1a;margin-bottom:4px}
.footer-company-address{font-size:13px;color:#555;line-height:1.9;letter-spacing:.02em}
.fb{display:flex;align-items:center;justify-content:space-between;padding-top:24px;border-top:0.5px solid #e0e0e0}
.fb-link{font-size:13px;color:#888;text-decoration:none;letter-spacing:.04em;transition:color .25s,border-color .25s;border-bottom:1px solid transparent;padding-bottom:2px}
.fb-link:hover{color:#b89400;border-bottom-color:#b89400}
.fc{font-size:11px;color:#bbb;letter-spacing:.04em}
.fp{display:flex;gap:14px}
.fp a{font-size:11px;color:rgba(255,255,255,.22);text-decoration:none;transition:color .25s}
.fp a:hover{color:rgba(255,255,255,.55)}

/* ===== NEWS Archive (card grid) ===== */
.na-filter{padding:32px 60px 0}
.na-filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.nf-btn{font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:6px 18px;border:1px solid rgba(0,0,0,.12);background:#fff;cursor:pointer;text-decoration:none;color:var(--blk);transition:all .25s}
.nf-btn.on,.nf-btn:hover{background:var(--blk);color:#fff;border-color:var(--blk)}
.nf-btn.nf-talent{border-color:rgba(255,143,171,.4);color:rgba(255,143,171,.9)}
.nf-btn.nf-talent.on,.nf-btn.nf-talent:hover{background:rgba(255,143,171,.15);color:var(--blk);border-color:#ff8fab}
.nf-sep{width:1px;height:20px;background:rgba(0,0,0,.1);align-self:center}
.na-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:40px;margin-bottom:80px;padding:0 60px}
.na-card{text-decoration:none;color:var(--blk);display:block;transition:opacity .25s}
.na-card:hover{opacity:.85}
.na-card.hidden{display:none}
.na-card-img{width:100%;aspect-ratio:16/9;overflow:hidden;background:#f0ece8}
.na-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease)}
.na-card:hover .na-card-img img{transform:scale(1.04)}
.na-card-img-empty{width:100%;height:100%;background:#f0ece8}
.na-card-body{padding:14px 0 0}
.na-card-meta{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.na-card-date{font-size:11px;color:#bbb;letter-spacing:.06em}
/* .na-card-tag → .news-tag に統一（news-archive用サイズ調整） */
.na-card-meta .news-tag{font-size:9px;padding:2px 8px}
.na-card-title{font-size:14px;line-height:1.7;color:var(--blk)}
.na-pagination{display:flex;justify-content:center;padding:0 0 80px}
.na-no-results{padding:80px 0;color:#aaa;font-size:14px;text-align:center;grid-column:1/-1}

/* ===== Talent Archive spacing ===== */
.tl-wrap{padding-bottom:96px}

/* ===== Talent Detail – redesign ===== */
.td-sns-bar{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.td-sns-btn{
  width:44px;height:44px;border:1px solid rgba(26,26,26,.18);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  transition:all .3s;text-decoration:none;
}
.td-sns-btn:hover{background:transparent;border-color:#ffe868}
.td-sns-btn:hover svg{stroke:#1a1a1a !important;fill:#1a1a1a !important}
.td-sns-btn svg{width:18px;height:18px}
.td-sns-btn.ig svg{stroke:var(--blk);fill:none;stroke-width:1.5}
.td-sns-btn.tt svg{fill:var(--blk)}
.td-sns-btn.yt svg{fill:var(--blk)}
.td-sns-btn.xt svg{fill:var(--blk)}

/* Talent detail profile grid */
.td-profile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px 48px;max-width:680px;margin-bottom:0}
.td-profile-item{}
.td-profile-label{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#bbb;margin-bottom:6px}
.td-profile-value{font-size:15px;color:#444;line-height:1.6}

/* Talent detail section title redesign */
.td-sec-title-new{
  font-family:var(--dp);font-size:13px;letter-spacing:.3em;
  color:#bbb;margin-bottom:24px;
  display:flex;align-items:center;gap:16px;
}
.td-sec-title-new::before{content:'';display:block;width:24px;height:2px;background:var(--y)}

/* ===== PROMOTION / CAREER 2-col section ===== */
.talent-career-section{margin-top:80px;padding:0 60px}
.career-inner{max-width:1200px;margin:0 auto;display:grid;gap:40px}
.talent-career-section.has-two-columns .career-inner{grid-template-columns:1fr 1fr}
.talent-career-section.has-one-column .career-inner{grid-template-columns:1fr;max-width:800px}
.career-col .section-label{font-family:var(--sans);font-size:12px;letter-spacing:.25em;color:rgba(0,0,0,.5);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid rgba(0,0,0,.1)}
.career-col .section-label::before{content:'';display:inline-block;width:16px;height:2px;background:var(--y);vertical-align:middle;margin-right:8px}
.career-col ul{list-style:none;padding:0;margin:0}
.career-col li{display:grid;gap:12px;padding:12px 0;font-size:14px;line-height:1.6;border-bottom:1px solid rgba(0,0,0,.05);align-items:start}
.career-col--performance li{grid-template-columns:90px 1fr}
.career-col--promotion li{grid-template-columns:90px 1.2fr 2fr}
.career-col .year{color:rgba(0,0,0,.55);font-family:var(--sans);font-size:12px;white-space:nowrap}
.career-col .brand{font-weight:500;word-break:break-word}
.career-col .content{color:rgba(0,0,0,.75);word-break:break-word}

/* Talent bottom split */
.td-bottom{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:64px;border-top:1px solid rgba(0,0,0,.06)}
.td-bottom-col{padding:48px 52px 80px 0}
.td-bottom-col:last-child{padding-left:52px;padding-right:0;border-left:1px solid rgba(0,0,0,.06)}
.td-career-list{font-size:14px;line-height:2;color:#555;white-space:pre-line}
.td-bottom-empty{display:none}

/* When only one col has content */
.td-bottom.single-col{grid-template-columns:1fr}

/* ===== Responsive: tablet (1199px) ===== */
@media(max-width:1199px){
  .tg{padding:0 40px;gap:24px}
  .tg-fp{grid-template-columns:repeat(3,1fr);padding:0 40px 80px;gap:20px}
  .nd-talent-grid{grid-template-columns:repeat(3,1fr)}
  .related-talents-grid{grid-template-columns:repeat(3,1fr)}
  .td-hero-inner{gap:48px;padding:0 40px}
  .news-single-layout{grid-template-columns:1fr 220px;gap:48px;padding:0 40px}
  .talent-pickup-news-grid{grid-template-columns:repeat(2,1fr);gap:24px}
  .talent-pickup-news{padding:0 40px}
  .news-single-thumb.is-portrait,.news-single-thumb.is-landscape,.news-single-thumb.is-square{max-width:100%}
}

/* ===== Responsive (860px) ===== */
@media(max-width:860px){
  nav{padding:16px 24px}
  nav.solid{padding:12px 24px}
  .nav-links{display:none}
  .side{display:none}
  .main-wrap{left:0;right:0}
  .edge{display:none}
  .hero-logo{font-size:15vw}
  .talent-name{font-size:2.2rem}
  .info-bar{padding:0 24px 16px}
  .tagline{left:24px}
  .wrap{padding:0 24px}
  .tg{grid-template-columns:repeat(2,1fr);padding:0 24px;gap:20px}
  .tg-fp{grid-template-columns:repeat(2,1fr);padding:0 24px 60px;gap:16px}
  .na-grid{grid-template-columns:repeat(2,1fr);padding:0 24px;gap:16px}
  .na-filter{padding:24px 24px 0}
  .nd-talent-grid{grid-template-columns:repeat(2,1fr)}
  .related-talents-grid{grid-template-columns:repeat(2,1fr)}
  .news-related-talents{padding:32px 0 0}
  .fw{padding:32px 24px}
  .ft{flex-direction:column;gap:16px;align-items:flex-start}
  .fb{flex-direction:column;gap:8px;align-items:flex-start}
  section{padding:72px 0}
  .contact-grid{grid-template-columns:1fr;gap:16px}
  .ccard{max-width:100%}
  .scroll-down{right:24px;bottom:36px}
  .na-grid{grid-template-columns:1fr}
  .td-bottom{grid-template-columns:1fr}
  .td-bottom-col:last-child{padding-left:0;border-left:none;border-top:1px solid rgba(0,0,0,.06)}
  .td-hero{padding:48px 0}
  .td-hero-inner{grid-template-columns:1fr;gap:32px;padding:0 24px}
  .td-img-wrap{max-width:480px;margin:0 auto;width:100%}
  .all-talent-back-wrap{margin:60px 0;padding:0 24px}
  .all-talent-back-btn{padding:14px 36px;font-size:12px}
  .talent-career-section{padding:0 24px;margin-top:48px}
  .talent-career-section.has-two-columns .career-inner{grid-template-columns:1fr;gap:48px}
  .career-col li{grid-template-columns:1fr;gap:4px}
  .career-col--performance li,.career-col--promotion li{grid-template-columns:1fr}
  /* news single responsive */
  .news-single-layout{grid-template-columns:1fr;gap:40px;padding:0 24px}
  .news-single-sidebar{position:static;border-top:1px solid rgba(0,0,0,.1);padding-top:32px}
  .news-single-thumb{margin:32px 0 28px}
  /* talent pickup news responsive */
  .talent-pickup-news{padding:0 24px;margin-top:48px}
  .talent-pickup-news-grid{grid-template-columns:1fr;gap:20px}
}

/* ===== Button ===== */
.btn{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:12px 28px;background:var(--blk);color:#fff;transition:background .3s}
.btn:hover{background:#333}
.btn svg{width:12px;height:12px;flex-shrink:0}

/* ===== Page Headers ===== */
.page-header{padding:88px 0 64px;background:#fff;border-bottom:1px solid rgba(0,0,0,.06)}
.page-header-label{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:#ccc;display:block;margin-bottom:12px}

/* ===== News List (archive-news) ===== */
.news-grid{display:flex;flex-direction:column;gap:0;margin-top:48px;margin-bottom:88px}
.ni{display:grid;grid-template-columns:180px 1fr auto;gap:24px;align-items:center;padding:22px 0;border-bottom:1px solid rgba(0,0,0,.06);text-decoration:none;color:var(--blk);position:relative;overflow:hidden;transition:padding-left .3s var(--ease)}
.ni:first-child{border-top:1px solid rgba(0,0,0,.06)}
.ni-fill{position:absolute;inset:0;background:var(--y);transform:translateX(-101%);transition:transform .4s var(--ease);z-index:0}
.ni:hover .ni-fill{transform:none}
.ni:hover{padding-left:12px}
.ni-thumb{width:180px;height:108px;background-size:cover;background-position:center;border-radius:3px;flex-shrink:0;position:relative;z-index:1}
.ni>*{position:relative;z-index:1}
.ni-date{font-size:12px;color:#ccc;letter-spacing:.06em}
.ni-tag{display:inline-block;font-size:9px;letter-spacing:.1em;padding:2px 10px;font-weight:600;margin-top:4px}
.ni-title{font-size:15px;line-height:1.6}
.ni-arr{width:32px;height:32px;border:1px solid rgba(0,0,0,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s}
.ni:hover .ni-arr{background:var(--blk);border-color:var(--blk)}
.ni:hover .ni-arr svg{stroke:#fff}
.ni-arr svg{transition:stroke .3s}
.news-no-results{padding:48px 0;color:#aaa;font-size:14px}

/* ===== News Detail ===== */
.nd-header{background:#fff;padding:80px 0 48px;border-bottom:1px solid rgba(0,0,0,.06)}
.nd-back{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:#aaa;margin-bottom:24px;transition:color .25s}
.nd-back:hover{color:var(--blk)}
.nd-meta{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.nd-date{font-size:12px;color:#ccc;letter-spacing:.06em}
/* .nd-tag → .news-tag に統一（single-news用） */
.nd-meta .news-tag{font-size:9px}
.nd-title{font-family:var(--dp);font-size:clamp(24px,4vw,52px);letter-spacing:.04em;line-height:1.2;color:var(--blk)}
/* news single 2-column layout */
.news-single-layout{max-width:1280px;margin:0 auto;padding:0 60px 120px;display:grid;grid-template-columns:1fr 280px;gap:80px;align-items:start}
.news-single-main{min-width:0}
.news-single-thumb{margin:48px auto 40px;width:100%;text-align:center}
.news-single-thumb img{width:100%;height:auto;display:block;margin:0 auto;border-radius:2px}
.news-single-thumb.is-landscape{max-width:100%}
.news-single-thumb.is-portrait{max-width:700px}
.news-single-thumb.is-square{max-width:800px}
.news-single-body{font-size:15px;line-height:2.1;color:#444;margin-bottom:64px}
.news-single-body p{margin-bottom:1.5em}
.news-single-body h2{font-size:20px;font-weight:600;margin:2em 0 .8em}
/* sidebar */
.news-single-sidebar{position:sticky;top:100px}
.news-single-sidebar .section-label{font-family:var(--sans);font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:rgba(0,0,0,.5);margin-bottom:20px;padding-bottom:8px;border-bottom:1px solid rgba(0,0,0,.1);font-weight:400}
.news-single-sidebar .section-label::before{content:'';display:inline-block;width:16px;height:2px;background:var(--y);vertical-align:middle;margin-right:8px}
/* pickup-card CSS → style.css末尾の第7版ブロックに移動 */
.pickup-list{list-style:none;padding:0;margin:0}
.pickup-list li+li{margin-top:20px}
.nd-nav{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:40px 0 88px;border-top:1px solid rgba(0,0,0,.06)}
.nd-pager{text-decoration:none;color:var(--blk);display:flex;flex-direction:column;gap:6px;transition:color .25s}
.nd-pager:hover{color:#ff8fab}
.nd-pager span{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#ccc}
.nd-pager p{font-size:14px;line-height:1.5}

/* ===== Talent Archive ===== */
.tl-header{padding:88px 0 56px;background:#fffef0}
.tl-header h1{font-family:var(--dp);font-size:clamp(48px,7vw,96px);letter-spacing:.08em;line-height:1}
.tl-filter{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.tf{font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:6px 18px;border:1px solid rgba(0,0,0,.12);background:#fff;cursor:pointer;transition:all .25s}
.tf.on,.tf:hover{background:var(--blk);color:#fff;border-color:var(--blk)}

/* ===== Talent Detail ===== */
/* .td-genre-wrap は .tc-genre-tags と共用。個別ページ上部のジャンルタグ用margin追加 */
.td-genre-wrap{margin-bottom:20px}
.td-hero{background:#fffef0;padding:80px 0}
.td-hero-inner{max-width:1480px;margin:0 auto;padding:0 60px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.td-name-block{padding-top:40px}
/* .td-genre-tag は廃止。個別ページでも .tc-genre-tag を使用（無色アウトライン） */
.td-name{font-family:var(--dp);font-size:clamp(48px,6vw,88px);letter-spacing:.06em;line-height:1.05;color:var(--blk)}
.td-name-en{font-family:var(--dp);font-size:16px;letter-spacing:.25em;color:rgba(26,26,26,.4);margin-top:8px}
.td-catch{font-size:15px;line-height:1.9;color:#555;margin-top:20px;max-width:380px}
.td-intro{font-size:15px;line-height:2;color:#444;margin-top:20px;max-width:380px;border-left:3px solid var(--y);padding-left:16px}
/* Profile table inside left column */
.td-profile-sep{width:100%;height:1px;background:rgba(0,0,0,.08);margin:28px 0}
.td-profile-left{width:100%}
.td-profile-left tr{border-bottom:1px solid rgba(0,0,0,.06)}
.td-profile-left tr:last-child{border-bottom:none}
.td-profile-left th{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#aaa;padding:10px 20px 10px 0;font-weight:400;white-space:nowrap;vertical-align:top;width:100px}
.td-profile-left td{font-size:14px;color:var(--blk);padding:10px 0;line-height:1.5;vertical-align:top}
/* Related News in talent detail */
.td-related-news{padding:40px 0;border-bottom:1px solid rgba(0,0,0,.06)}
.td-rn-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.td-rn-title{font-family:var(--dp);font-size:13px;letter-spacing:.3em;color:#bbb;display:flex;align-items:center;gap:16px}
.td-rn-title::before{content:'';display:block;width:24px;height:2px;background:var(--y)}
.td-rn-all{font-size:11px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:#aaa;display:inline-flex;align-items:center;gap:6px;transition:color .25s}
.td-rn-all:hover{color:var(--blk)}
.td-rn-row{display:grid;grid-template-columns:90px auto 1fr;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.05);text-decoration:none;color:var(--blk);transition:opacity .25s}
.td-rn-row:hover{opacity:.7}
.td-rn-row:first-of-type{border-top:1px solid rgba(0,0,0,.05)}
.td-rn-date{font-size:11px;color:#bbb;letter-spacing:.06em}
.td-rn-tag{font-size:9px;letter-spacing:.1em;padding:2px 8px;font-weight:600;white-space:nowrap}
.td-rn-text{font-size:14px;line-height:1.5;color:var(--blk)}
/* Talent detail related news (single-talent.php) */
/* Talent detail PICK UP news (single-talent.php) */
.talent-pickup-news{margin-top:80px;padding:0 60px}
.talent-pickup-news-inner{max-width:1200px;margin:0 auto}
.talent-pickup-news .section-label{font-family:var(--sans);font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:rgba(0,0,0,.5);margin-bottom:24px;padding-bottom:8px;border-bottom:1px solid rgba(0,0,0,.1);font-weight:400}
.talent-pickup-news .section-label::before{content:'';display:inline-block;width:16px;height:2px;background:var(--y);vertical-align:middle;margin-right:8px}
.talent-pickup-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
/* tpn-card CSS → style.css末尾の第7版ブロックに統合 */
/* News detail related talent */
/* 関連タレント（single-news）— グリッド表示 */
/* ===== News Related Talents ===== */
.news-related-talents{padding:48px 0 0;border-top:1px solid rgba(0,0,0,.06)}
.nrt-label{
  font-family:var(--dp);font-size:13px;letter-spacing:.3em;color:#bbb;
  margin-bottom:28px;display:flex;align-items:center;gap:14px;font-weight:400;
}
.nrt-label::before{content:'';display:block;width:20px;height:2px;background:var(--y);flex-shrink:0}
.related-talents-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.related-talent-card{display:block;text-decoration:none;color:inherit;margin-bottom:24px}
.rtc-img{
  position:relative;aspect-ratio:1/1;overflow:hidden;background:#e8e4e0;margin-bottom:10px;
}
.rtc-img img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:transform .5s var(--ease)}
.rtc-overlay{position:absolute;inset:0;background:rgba(0,0,0,0);transition:background .3s ease;pointer-events:none}
.related-talent-card:hover .rtc-img img{transform:scale(1.04)}
.related-talent-card:hover .rtc-overlay{background:rgba(0,0,0,.18)}
.rtc-info{padding:0 2px}
.rtc-name{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--blk);margin:0 0 6px}
/* 旧スタイル（後方互換） */
.nd-talent{padding:40px 0;border-top:1px solid rgba(0,0,0,.06)}
.nd-talent-label{font-family:var(--dp);font-size:12px;letter-spacing:.3em;color:#bbb;margin-bottom:16px;display:flex;align-items:center;gap:14px}
.nd-talent-label::before{content:'';display:block;width:20px;height:2px;background:var(--y)}
.td-img-wrap{position:relative;aspect-ratio:3/4;overflow:hidden}
.td-img-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.td-corner{position:absolute;bottom:0;right:0;z-index:5;pointer-events:none}
.td-section{padding:40px 0;border-bottom:1px solid rgba(0,0,0,.06)}
.td-sec-title{display:flex;align-items:center;gap:10px;font-family:var(--dp);font-size:14px;letter-spacing:.2em;color:#aaa;margin-bottom:24px}
.td-tags{display:flex;flex-wrap:wrap;gap:8px}
.td-tag{font-size:11px;letter-spacing:.08em;padding:5px 14px;border:1px solid rgba(0,0,0,.1);color:#555;transition:all .25s}
.td-tag:hover{border-color:var(--blk);color:var(--blk)}
.td-sns{display:flex;flex-wrap:wrap;gap:12px}
.td-sns-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;letter-spacing:.1em;text-decoration:none;padding:8px 20px;border:1px solid rgba(0,0,0,.1);transition:all .3s}
.td-sns-link:hover{background:var(--blk);color:#fff;border-color:var(--blk)}
.td-news-grid{display:flex;flex-direction:column;gap:0}
.td-ni{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(0,0,0,.05);text-decoration:none;color:var(--blk);transition:color .25s}
.td-ni:hover{color:#ff8fab}
.td-ni-date{font-size:11px;color:#ccc;letter-spacing:.06em;white-space:nowrap}
.td-ni-title{font-size:14px;line-height:1.5}
.td-pager{display:flex;justify-content:space-between;align-items:center;padding:40px 0 64px}
.td-back-link{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:#aaa;transition:color .25s}
.td-back-link:hover{color:var(--blk)}
.td-next-link{font-size:11px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:#aaa;transition:color .25s}
.td-next-link:hover{color:var(--blk)}

/* ===== Contact CTA ===== */
/* ===== ALL TALENT back button ===== */
.all-talent-back-wrap{text-align:center;margin:80px 0;padding:0 60px}
.all-talent-back-btn{
  display:inline-flex;align-items:center;gap:12px;
  padding:16px 48px;
  border:1.5px solid var(--blk);
  background:transparent;color:var(--blk);
  font-family:var(--sans);font-size:13px;letter-spacing:.25em;
  text-decoration:none;text-transform:uppercase;
  transition:background .3s ease,border-color .3s ease;
}
.all-talent-back-btn:hover{background:var(--y);border-color:var(--y)}
.all-talent-back-btn .arrow{font-size:14px;transition:transform .3s ease;display:inline-block}
.all-talent-back-btn:hover .arrow{transform:translateX(-4px)}


/* ===== Contact Forms ===== */
/* ===== Contact Single Page ===== */
.contact-single-page{padding:80px 60px 120px;max-width:1200px;margin:0 auto}
.contact-single-inner{max-width:940px;margin:0 auto}
.contact-single-header{margin-bottom:48px}
.contact-single-header .eyebrow{font-family:var(--sans);font-size:11px;letter-spacing:.25em;color:rgba(0,0,0,.5);margin-bottom:8px;text-transform:uppercase}
.contact-single-header .page-title{font-size:32px;font-weight:700;margin-bottom:4px;color:var(--blk)}
.contact-single-header .page-subtitle{font-family:var(--sans);font-size:11px;letter-spacing:.25em;color:rgba(0,0,0,.45);margin-bottom:24px;text-transform:uppercase}
.contact-single-header .page-lead{font-size:14px;color:rgba(0,0,0,.7);line-height:1.8}
.contact-single-form{margin-bottom:32px}
.contact-privacy-note{font-size:12px;color:rgba(0,0,0,.55);line-height:1.8}
.contact-privacy-note a{color:var(--blk);text-decoration:underline}
@media(max-width:860px){.contact-single-page{padding:48px 24px 80px}}

/* ===== Contact (old tab UI, kept for backward compat) ===== */
/* （旧CF7スタイル削除済み → 末尾に第12版新規CSSを追加） */

/* ===== Privacy Policy ===== */
.policy-body{max-width:780px;margin:0 auto;padding:64px 0 88px;font-size:14px;line-height:2;color:#555}
.policy-body h2{font-size:16px;font-weight:600;margin:2.5em 0 .8em;color:var(--blk)}
.policy-body p{margin-bottom:1.2em}

/* pp- (page-policy.php) */
.pp-header{padding:88px 0 64px;background:#fffef0;border-bottom:1px solid rgba(0,0,0,.06)}
.pp-header h1{font-family:var(--dp);font-size:clamp(40px,6vw,80px);letter-spacing:.08em;line-height:1;color:var(--blk);margin-bottom:12px}
.pp-body{max-width:800px;margin:0 auto;padding:80px 60px}
.pp-intro{font-size:14px;line-height:2.2;color:#555;margin-bottom:48px}
.pp-section{margin-top:40px}
.pp-section h2{font-weight:700;font-size:15px;color:var(--blk);margin-bottom:12px}
.pp-section h2::before{content:'';display:block;width:32px;height:2px;background:#ffe868;margin-bottom:10px}
.pp-section p{font-size:14px;line-height:2.2;color:#555;margin-bottom:.8em}
.pp-section ul{font-size:14px;line-height:2.2;color:#555;padding-left:1.4em;margin-bottom:.8em}
.pp-section ul li{margin-bottom:.3em}
.pp-div{display:none}
.pp-contact p{font-size:14px;line-height:2;color:#555}
.pp-contact a{color:var(--blk);text-decoration:underline}
@media(max-width:860px){.pp-body{padding:40px 24px 64px}}

/* ============================================================
   PICK UP カード（第7版・完全新規）
   旧 .pickup-card__img-wrap / .tpn-card 系は上部で削除済み
   ============================================================ */

/* カード本体 */
.pickup-card{display:block;text-decoration:none;color:inherit;margin-bottom:0}

/* サムネラッパー 16:9 */
.pickup-card__thumb{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#f0ece8}

/* サムネ画像：HTML属性のwidth/heightをすべて !important で上書き */
.pickup-card__thumb .pickup-card__img,
.pickup-card__thumb img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
  transition:transform .4s ease;
}

/* ホバーオーバーレイ（通常は不可視） */
.pickup-card__overlay{
  position:absolute;
  inset:0;
  background-color:rgba(255,232,104,0);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:12px;
  opacity:0;
  transition:opacity .3s ease;
  z-index:2;
  pointer-events:none;
}

/* ホバー時：上黄色→下暗色グラデーション + コンテンツ出現 */
.pickup-card:hover .pickup-card__overlay{
  background-color:transparent;
  background-image:linear-gradient(
    to bottom,
    rgba(255,232,104,.65) 0%,
    rgba(255,232,104,.55) 25%,
    rgba(80,55,0,.75) 75%,
    rgba(30,20,0,.92) 100%
  );
  opacity:1;
}

/* オーバーレイ内メタ（タグ + タレント名） */
.pickup-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px}

/* タグチップ（背景色はinline styleで個別指定 ／ 色は変更しない） */
.pickup-card__tag{display:inline-block;padding:2px 8px;font-size:10px;color:#1a1a1a;line-height:1.4;border-radius:2px;font-weight:600}

/* タレント名（白文字 + 輪郭shadow） */
.pickup-card__talents{font-size:11px;color:#fff;font-weight:500;text-shadow:0 0 2px rgba(0,0,0,.35),0 1px 2px rgba(0,0,0,.2)}

/* タイトル（白文字・中太・広い行間 + 輪郭shadow / 2行省略） */
.pickup-card__title{font-size:12px;line-height:1.7;color:#fff;margin:0;font-weight:500;text-shadow:0 0 2px rgba(0,0,0,.35),0 1px 2px rgba(0,0,0,.2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}

/* 日付（カード外、常時表示） */
.pickup-card__date{font-size:11px;color:rgba(0,0,0,.55);margin-top:8px;letter-spacing:.05em;font-family:var(--sans)}

/* タレント個別PICK UPグリッド */
.talent-pickup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}

@media(max-width:1023px){.talent-pickup-grid{grid-template-columns:repeat(2,1fr);gap:20px}}
@media(max-width:767px){.talent-pickup-grid{grid-template-columns:1fr;gap:16px}}

/* ============================================
   タレント個別ページ下部 依頼セクション（第11版-A）
   ============================================ */
.talent-booking{background-color:#fff2a8;padding:70px 24px;text-align:center}
.talent-booking__inner{max-width:720px;margin:0 auto}
.talent-booking__title{font-size:28px;font-weight:500;color:#1a1a1a;letter-spacing:.04em;margin:0 0 12px;line-height:1.4}
.talent-booking__lead{font-size:13px;color:#6a5a2a;letter-spacing:.05em;margin:0 0 32px;line-height:1.7}
.talent-booking__btn{display:inline-block;background-color:transparent;color:#1a1a1a;border:1px solid #1a1a1a;padding:13px 36px;font-size:13px;letter-spacing:.08em;text-decoration:none;border-radius:2px;transition:background-color .3s ease,border-color .3s ease;font-family:inherit;cursor:pointer}
.talent-booking__arrow{display:inline-block;margin-left:8px;transition:transform .3s ease}
.talent-booking__btn:hover{background-color:#ffe868;border-color:#ffe868;color:#1a1a1a}
.talent-booking__btn:hover .talent-booking__arrow{transform:translateX(8px)}
@media(max-width:640px){
  .talent-booking{padding:50px 20px}
  .talent-booking__title{font-size:22px}
}

/* ============================================
   CF7フォーム（Booking / Audition共通スタイル・第12版）
   seju風2カラムレイアウト
   crazev2 限定
   ============================================ */

.wpcf7-form{max-width:880px;margin:0 auto;padding:24px 24px 60px;font-family:inherit}

.cf-row{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:start;padding:24px 0;border-bottom:1px solid #f0f0f0}

.cf-label{font-size:13px;font-weight:500;color:#1a1a1a;padding-top:14px;letter-spacing:.05em;line-height:1.6}
.cf-label small{display:inline;font-size:11px;color:#888;font-weight:400;margin-left:2px}

.cf-req{display:inline-block;font-size:10px;color:#b89400;margin-left:8px;letter-spacing:.08em;font-weight:500;vertical-align:middle}

.cf-field{width:100%}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="date"],
.wpcf7-form input[type="number"],
.wpcf7-form select,
.wpcf7-form textarea{width:100%;padding:12px 16px;border:1px solid #d4d4d4;background:#ffffff;font-size:14px;font-family:inherit;color:#1a1a1a;outline:none;border-radius:0;box-sizing:border-box;transition:border-color .2s ease}

.wpcf7-form textarea{min-height:140px;resize:vertical;line-height:1.7}

.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form input[type="date"]:focus,
.wpcf7-form input[type="number"]:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus{border-color:#1a1a1a}

.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder{color:#c4c4c4}

.wpcf7-form select{appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}

.wpcf7-form input[type="file"]{font-size:13px;padding:8px 0}

.cf-agreement{padding:24px 0;font-size:13px;color:#1a1a1a;text-align:center;border-bottom:none}
.cf-agreement a{color:#1a1a1a;text-decoration:underline}
.cf-agreement a:hover{color:#b89400}
.cf-agreement-note{display:block;margin-top:6px;font-size:12px;line-height:1.7;color:#888;text-align:center;letter-spacing:.03em}
@media(max-width:768px){.cf-agreement-note{font-size:11px}}
.wpcf7-form input[type="checkbox"]{margin-right:8px;vertical-align:middle}

/* CF7フォーム 注記エリア（第13版） */
.cf-note{margin:24px auto 0;max-width:720px;padding:20px 24px;font-size:12px;line-height:1.9;color:#666;text-align:center;border-top:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0;background-color:#fafafa;letter-spacing:.03em}
.cf-note+.cf-submit-wrap{padding-top:32px}
@media(max-width:768px){.cf-note{font-size:11px;padding:16px;line-height:1.8}}

.cf-submit-wrap{text-align:center;padding-top:32px}

.wpcf7-form input[type="submit"]{display:inline-block;background-color:transparent;color:#1a1a1a;border:1px solid #1a1a1a;padding:14px 48px;font-size:12px;letter-spacing:.15em;cursor:pointer;font-family:inherit;border-radius:2px;transition:background-color .3s ease,border-color .3s ease;appearance:none;-webkit-appearance:none}
.wpcf7-form input[type="submit"]:hover{background-color:#ffe868;border-color:#ffe868;color:#1a1a1a}

.wpcf7-response-output{margin:24px auto !important;padding:16px !important;border:1px solid #d4d4d4 !important;font-size:13px;border-radius:0 !important}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output{border-color:#d44 !important;color:#d44}
.wpcf7 form.sent .wpcf7-response-output{border-color:#b89400 !important;color:#6a5a0a;background-color:#fff8d6 !important}

.wpcf7-not-valid-tip{display:block;font-size:11px;color:#d44;margin-top:6px;letter-spacing:.03em}

@media(max-width:768px){
  .cf-row{grid-template-columns:1fr;gap:8px;padding:18px 0}
  .cf-label{padding-top:0;margin-bottom:4px}
  .wpcf7-form{padding:16px 16px 40px}
  .wpcf7-form input[type="submit"]{padding:14px 36px;width:100%;max-width:280px}
}

/* ============================================================
   第15版：スマホ表示総合修正（@media max-width: 768px）
   craze v2 限定
   ============================================================ */

/* 項目2：カーソルリング（黄色丸）スマホ非表示 */
@media(max-width:768px){
  #cur-ring{display:none !important}
}

/* 項目4：NEWSモバイルグリッド（JSで挿入される要素のスタイル） */
.news-mobile-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  padding:0 20px;
  margin-top:8px;
}
.nc-mobile{
  display:block;
  text-decoration:none;
  color:inherit;
}
.nc-mobile-thumb{
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#e8e4e0;
  margin-bottom:8px;
}
.nc-mobile-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.nc-mobile-date{
  font-size:11px;
  color:#888;
  letter-spacing:.04em;
  margin-bottom:4px;
}
.nc-mobile-title{
  font-size:13px;
  line-height:1.55;
  color:#1a1a1a;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* 項目5：ABOUT装飾「CRAZE」をセクション末尾に（スマホのみ） */
@media(max-width:768px){
  #about .wrap{display:flex;flex-direction:column}
  .about-deco-wrap{
    position:static !important;
    transform:none !important;
    order:99;
    margin-top:32px;
    justify-content:flex-end;
    overflow:hidden;
  }
  .about-deco-char{
    font-size:clamp(64px,22vw,120px);
  }
  .about-inner{order:1}
}

/* 項目6：タレント個別ページのスマホ崩れ修正 */
@media(max-width:768px){
  /* 写真を先頭に */
  .td-hero-inner{display:flex !important;flex-direction:column}
  .td-img-wrap{
    order:-1;
    max-width:100% !important;
    width:100% !important;
    aspect-ratio:3/4;
    margin:0 0 24px !important;
  }
  .td-name-block{order:1}
  /* タレント名・テキストの途中改行防止 */
  .td-name{word-break:keep-all;overflow-wrap:anywhere;font-size:clamp(40px,12vw,72px)}
  /* プロフィールテーブルを1カラム化 */
  .td-profile-left{display:block;width:100%}
  .td-profile-left tr{display:flex;flex-direction:column;border-bottom:1px solid rgba(0,0,0,.06);padding:10px 0}
  .td-profile-left th{width:auto !important;padding:0 0 4px;font-size:10px}
  .td-profile-left td{padding:0;font-size:14px;word-break:keep-all;overflow-wrap:anywhere}
  /* ジャンルタグの折り返し防止 */
  .td-genre-wrap{flex-wrap:wrap}
}

/* 項目7：タレント一覧ジャンルタグ：スマホで1個+N表示 */
.tag-count-more{display:none;font-size:11px;color:#888;margin-left:4px;vertical-align:middle}
@media(max-width:768px){
  .tc-genre-tags .tc-genre-tag:not(:first-child){display:none}
  .tag-count-more{display:inline}
}
@media(min-width:769px){
  .tag-count-more{display:none}
}

/* 項目8：CONTACTカード縦幅縮小（スマホのみ） */
@media(max-width:768px){
  .ccard{padding:28px 24px 24px !important}
  .ccard-icon{width:40px !important;height:40px !important;margin-bottom:14px}
  .ccard-icon svg{width:16px !important;height:16px !important}
  .ccard-title{font-size:16px}
  .ccard-arr{margin-top:20px;width:32px;height:32px}
  #contact{padding:48px 0}
}

/* 項目9：フッタースマホ中央寄せ縦積み */
@media(max-width:768px){
  footer .fw{padding:28px 20px 20px;text-align:center}
  /* PCのft（ロゴ+ナビ横並び、右に住所）を縦積みに */
  footer .ft{flex-direction:column !important;align-items:center !important;gap:16px;margin-bottom:0}
  footer .ft>div:first-child{flex-direction:column !important;align-items:center;gap:12px}
  /* ロゴ */
  footer .fl{display:block;margin-bottom:0}
  /* ナビ */
  footer .fn{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 20px;list-style:none}
  footer .fn a{font-size:11px;letter-spacing:.15em}
  /* PCの縦積み住所を非表示 */
  .footer-company--desktop{display:none !important}
  /* スマホ用1行住所 */
  .footer-meta-line{
    display:block;
    font-size:10px;color:#888;letter-spacing:.03em;
    padding:16px 0 12px;
    border-top:0.5px solid #e0e0e0;
    margin-top:16px;
    line-height:1.7;
  }
  /* bottom */
  footer .fb{flex-direction:column !important;align-items:center !important;gap:8px;padding-top:12px}
  footer .fb>div{justify-content:center}
  footer .fb p{font-size:11px}
}
@media(min-width:769px){
  .footer-meta-line{display:none}
}

/* 項目10：ニュース個別ページのスマホ縦書き解除＋1カラム */
@media(max-width:768px){
  /* 縦書き強制解除 */
  .news-single-body,
  .news-single-body *{
    writing-mode:horizontal-tb !important;
    -webkit-writing-mode:horizontal-tb !important;
    text-orientation:mixed !important;
  }
  /* メインビジュアル画像を幅いっぱいに */
  .news-single-thumb,
  .news-single-thumb.is-landscape,
  .news-single-thumb.is-portrait,
  .news-single-thumb.is-square{
    max-width:100% !important;
    width:100%;
    margin:0 0 24px;
  }
  .news-single-thumb img{width:100%;height:auto;object-fit:cover}
  /* サイドバーを末尾に */
  .news-single-layout{display:flex;flex-direction:column}
  .news-single-sidebar{order:99;margin-top:40px;padding-top:32px;border-top:1px solid rgba(0,0,0,.1)}
  .news-single-main{order:1}
  /* nd-header */
  .nd-header{padding:60px 0 32px}
}

/* ============================================================
   第16版：追加スマホ表示修正
   ============================================================ */

/* 項目2：NEWS一覧ページ スマホ2列グリッド化 */
@media(max-width:768px){
  .na-grid{grid-template-columns:1fr 1fr !important;gap:16px !important;padding:0 16px !important;margin-bottom:40px}
  .na-card-meta .news-tag{display:none}
  .na-card-title{font-size:13px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .na-card-date{font-size:10px}
  .na-card-body{padding:8px 0 0}
}

/* 項目3：タレント個別ページ 画像〜タレント名余白縮小 */
@media(max-width:768px){
  .td-img-wrap{margin-bottom:16px !important}
  .td-name-block{padding-top:0 !important}
}

/* 項目4：タレント個別ページ プロフィール情報1行2カラム化 */
@media(max-width:768px){
  .td-profile-sep{margin:16px 0}
  .td-profile-left{display:grid !important;grid-template-columns:1fr 1fr;gap:16px 20px}
  .td-profile-left tr{display:flex;flex-direction:column;border-bottom:none !important;padding:0 !important}
  .td-profile-left th{width:auto !important;padding:0 0 4px;font-size:10px;white-space:normal}
  .td-profile-left td{padding:0;font-size:13px}
}

/* 項目5：タレント個別ページ PICK UP スマホ2件表示 + すべて見る */
@media(max-width:768px){
  .talent-pickup-grid .pickup-card:nth-child(n+3){display:none}
  .talent-pickup-grid{grid-template-columns:1fr 1fr !important;gap:12px}
}
.talent-pickup-more{
  display:none;
  text-align:center;
  margin-top:20px;
  font-size:12px;
  letter-spacing:.12em;
  color:#1a1a1a;
  text-decoration:none;
  border-bottom:1px solid #1a1a1a;
  padding-bottom:2px;
  align-items:center;
  gap:6px;
}
.talent-pickup-more svg{width:12px;height:12px;flex-shrink:0}
@media(max-width:768px){
  .talent-pickup-more{display:inline-flex}
}

/* 項目6：NEWS個別ページ RELATED TALENT カード型（スマホ） */
@media(max-width:768px){
  .related-talents-grid{grid-template-columns:1fr 1fr !important;gap:16px}
  .related-talent-card{margin-bottom:0}
  .rtc-img{aspect-ratio:3/4}
  .rtc-name{font-size:13px;word-break:keep-all;overflow-wrap:anywhere}
  .rtc-info .tc-genre-tags{display:none}
}

/* 項目7：NEWS個別ページ PICK UPサイドバー 2列横並び2件（スマホ） */
@media(max-width:768px){
  .pickup-list{display:grid !important;grid-template-columns:1fr 1fr;gap:12px}
  .pickup-list li+li{margin-top:0 !important}
  .pickup-list li:nth-child(n+3){display:none}
  .pickup-card__date{font-size:10px;margin-top:6px}
}

/* ============================================================
   第17版：スマホ表示の細部調整
   ============================================================ */

/* sp-only ヘルパー（ABOUTコピー改行用） */
.sp-only{display:none}
@media(max-width:768px){.sp-only{display:inline}}

/* 項目1：NEWS一覧ページ 横幅フル活用（wrap padding縮小 + na-grid余白補正） */
@media(max-width:768px){
  .wrap{padding:0 16px}
  .na-grid{padding:0 !important;margin-bottom:32px}
}

/* 項目2：NEWS個別ページ 前後ナビ〜PICK UP間の余白縮小 */
@media(max-width:768px){
  .nd-nav{padding:24px 0 32px !important}
  .news-single-sidebar{margin-top:24px !important;padding-top:24px !important}
}

/* 項目3：NEWS個別ページ PICK UP padding統一 */
@media(max-width:768px){
  .pickup-list{padding:0 !important}
  .news-single-sidebar{padding:24px 0 0 !important;border-top:1px solid rgba(0,0,0,.1)}
}

/* 項目4：タレント個別ページ 写真〜タレント名余白さらに縮小 */
@media(max-width:768px){
  .td-img-wrap{margin-bottom:8px !important}
  .td-genre-wrap{margin-top:0 !important}
  .td-name{margin-top:4px}
}

/* 項目5：タレント個別ページ プロフィール情報を薄い下線付き縦リストに（16版2カラムを上書き） */
@media(max-width:768px){
  .td-profile-left{display:block !important;width:100%}
  .td-profile-left tr{
    display:flex !important;
    justify-content:space-between;
    align-items:baseline;
    padding:12px 0 !important;
    border-bottom:0.5px solid #e8e3d4 !important;
    gap:16px;
    flex-direction:row !important;
    width:100% !important;
  }
  .td-profile-left tr:first-child{border-top:0.5px solid #e8e3d4}
  .td-profile-left tr:last-child{border-bottom:0.5px solid #e8e3d4 !important}
  .td-profile-left th{
    width:auto !important;
    padding:0 !important;
    font-size:11px;
    color:#888;
    letter-spacing:.1em;
    text-align:left;
    flex-shrink:0;
    white-space:nowrap;
  }
  .td-profile-left td{
    padding:0 !important;
    font-size:14px;
    color:#1a1a1a;
    text-align:right;
    word-break:break-word;
    line-height:1.6;
  }
}

/* 項目6：タレント個別 PICK UP 横幅フル活用 */
@media(max-width:768px){
  .talent-pickup-news{padding:0 16px !important;margin-top:40px !important}
  .talent-pickup-grid{gap:12px !important}
}

/* ============================================================
   第18版：タレント個別ページ余白再修正
   ============================================================ */

/* 項目1：写真〜ジャンルタグ間の余白縮小
   根本原因：860px breakpointで gap:32px が設定され768pxでも引き継がれていた
   gap:0 を明示してリセットし、margin-bottomのみで余白を制御する */
@media(max-width:768px){
  .td-hero-inner{gap:0 !important;padding:0 16px !important}
  .td-img-wrap{margin-bottom:12px !important}
}

/* 項目2：プロフィール情報の左右余白縮小
   td-hero-inner の padding:0 16px（上記）で .td-name-block 内全体に反映される
   td-profile-left 自体の横幅も明示 */
@media(max-width:768px){
  .td-profile-left{width:100% !important;max-width:100% !important}
  .td-profile-sep{margin:12px 0}
}

/* ============================================================
   第19版
   ============================================================ */

/* 項目1・3：PICK UP カードタイトル（スマホのみ表示） */
.pickup-card__title-vis{display:none}
@media(max-width:768px){
  .pickup-card__title-vis{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    font-size:13px;
    font-weight:500;
    line-height:1.5;
    color:#1a1a1a;
    margin:6px 0 2px;
  }
}

/* 項目4：NEWS個別ページ PICK UP サイドバー上部余白（PC） */
@media(min-width:769px){
  .news-single-sidebar{padding-top:48px}
}

/* ============================================================
   第20版：スマホ表示最終調整
   ============================================================ */

/* 項目1：NEWS個別ページ PICK UP コンテナ横幅を16pxに統一
   根本原因：860px breakpointで .news-single-layout{padding:0 24px} が設定され
   768pxでも引き継がれていた。talent-pickup-newsの16pxと揃える。 */
@media(max-width:768px){
  .news-single-layout{padding-left:16px !important;padding-right:16px !important}
}

/* 項目2：タレント個別ページ プロフィール情報コンテナ幅フル化
   根本原因：desktop gridの align-items:start (.td-hero-inner line 602) が
   768px flex列に引き継がれ .td-name-block が content幅に縮む。
   align-items:stretch で flex item を親幅いっぱいに伸ばす。 */
@media(max-width:768px){
  .td-hero-inner{align-items:stretch !important}
  .td-name-block{width:100% !important;box-sizing:border-box}
}

/* ============================================================
   第21版：プロフィール情報 幅を親チェーンに依存せずvpから直接計算
   functions.php: バージョン文字列を filemtime() に変更（キャッシュバスト）
   ============================================================ */
@media(max-width:768px){
  /* calc(100vw - 32px) = 画面幅 - 左右16px×2 = td-hero-innerのコンテンツ幅
     align-items / td-name-block の幅がどうあれ必ず画面幅いっぱいになる */
  .td-profile-left{width:calc(100vw - 32px) !important;max-width:calc(100vw - 32px) !important}
  .td-profile-left tr{width:calc(100vw - 32px) !important}
}

/* ============================================================
   第21版 追加：ナビ・フォーム・フッター総合改修（crazev2 限定）
   項目1 タレント一覧下端余白（SP 768px）
   項目2 CF7 送信ボタンdisabled + エラーボックス（PC・SP）
   項目3 SPハンバーガーメニュー（≤860px、既存ナビ非表示と境界揃え）
   項目4 PCヘッダーCOMPANY（HTML追加のみ、追加スタイル不要）
   項目5 フッター住所3行（SP 768px）
   ============================================================ */

/* --- 項目1：タレント一覧グリッド下端と黄色ライン間の余白追加（SP） ---
   既存の .tl-wrap{padding-bottom:96px}（line 414）に加えて
   グリッド自身に 48px の余白を持たせ、+2タグ等で詰まる感じを回避する */
@media(max-width:768px){
  .tl-wrap .tg{padding-bottom:48px !important}
}

/* --- 項目2：CF7フォーム 送信ボタンdisabled + エラーボックス --- */
/* disabled状態：薄いグレー、押せない */
.cf-form-validate .wpcf7-form input[type="submit"].is-disabled,
.cf-form-validate .wpcf7-form input[type="submit"]:disabled{
  background-color:#cccccc !important;
  color:#888888 !important;
  border-color:#cccccc !important;
  cursor:not-allowed !important;
  opacity:.6;
}
.cf-form-validate .wpcf7-form input[type="submit"].is-disabled:hover,
.cf-form-validate .wpcf7-form input[type="submit"]:disabled:hover{
  background-color:#cccccc !important;
  border-color:#cccccc !important;
  color:#888888 !important;
}

/* enabled状態：黄色塗りで押せる */
.cf-form-validate .wpcf7-form input[type="submit"].is-enabled{
  background-color:#ffe868 !important;
  color:#1a1a1a !important;
  border-color:#ffe868 !important;
  cursor:pointer !important;
  opacity:1;
}

/* エラーボックス */
.cf-error-box{
  background-color:#fdecea;
  border:1px solid #d32f2f;
  border-radius:4px;
  padding:16px 20px;
  margin:0 0 24px;
}
.cf-error-title{
  font-size:14px;
  color:#d32f2f;
  font-weight:600;
  margin:0 0 8px;
  letter-spacing:.03em;
}
.cf-error-list{
  margin:0;
  padding-left:20px;
  font-size:13px;
  color:#d32f2f;
  list-style:disc;
}
.cf-error-list li{margin:4px 0;line-height:1.6}

/* 未入力／不正フィールドの赤枠ハイライト */
.cf-form-validate .wpcf7-form .wpcf7-not-valid{
  border-color:#d32f2f !important;
  background-color:#fff5f5 !important;
}

/* --- 項目3：SPハンバーガーメニュー（≤860px） ---
   既存 .nav-links{display:none}（@media max-width:860px）と境界を揃え、
   769-860px の「ナビ欠落帯」を発生させない */
.sp-nav-toggle{display:none}
.sp-nav-overlay{display:none}

@media(max-width:860px){
  /* ハンバーガーアイコン */
  .sp-nav-toggle{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    width:28px;
    height:20px;
    padding:0;
    background:transparent;
    border:0;
    cursor:pointer;
    z-index:1001;
    position:relative;
  }
  .sp-nav-toggle span{
    display:block;
    width:100%;
    height:2px;
    background-color:#1a1a1a;
    border-radius:1px;
    transition:transform .3s ease, opacity .3s ease;
  }
  .sp-nav-toggle.is-active span:nth-child(1){transform:translateY(9px) rotate(45deg)}
  .sp-nav-toggle.is-active span:nth-child(2){opacity:0}
  .sp-nav-toggle.is-active span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}

  /* オーバーレイメニュー */
  .sp-nav-overlay{
    display:flex;
    position:fixed;
    top:0;left:0;
    width:100%;
    height:100vh;
    background-color:rgba(255,232,104,.95);
    z-index:1000;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    transform:translateX(100%);
    transition:transform .35s cubic-bezier(.22,1,.36,1);
    visibility:hidden;
  }
  .sp-nav-overlay.is-open{
    transform:translateX(0);
    visibility:visible;
  }

  /* ×ボタン */
  .sp-nav-close{
    position:absolute;
    top:18px;
    right:22px;
    width:44px;
    height:44px;
    font-size:32px;
    line-height:1;
    background:transparent;
    border:0;
    color:#1a1a1a;
    cursor:pointer;
    padding:0;
    font-family:var(--sans);
  }

  /* メニューリスト */
  .sp-nav-menu{
    list-style:none;
    padding:0;
    margin:0;
    text-align:center;
    width:100%;
  }
  .sp-nav-menu li{margin:24px 0}
  .sp-nav-menu a{
    display:inline-block;
    font-family:var(--dp);
    font-size:26px;
    letter-spacing:.18em;
    color:#1a1a1a;
    text-decoration:none;
    padding:6px 12px;
    transition:opacity .2s ease, letter-spacing .2s ease;
  }
  .sp-nav-menu a:hover,
  .sp-nav-menu a:active{
    opacity:.75;
    text-decoration:underline;
    text-underline-offset:8px;
    text-decoration-thickness:1px;
  }
}

/* PC表示時はSPメニュー要素を非表示 */
@media(min-width:861px){
  .sp-nav-toggle,
  .sp-nav-overlay{display:none !important}
}

/* --- 項目5：フッター住所3行表記（SP 768px） --- */
/* PC：非表示（PCは footer-company--desktop が表示される） */
@media(min-width:769px){
  .footer-address--mobile{display:none !important}
}

/* SP：3行で中央寄せ */
@media(max-width:768px){
  .footer-address--mobile{
    display:block;
    text-align:center;
    padding:16px 0 12px;
    border-top:0.5px solid #e0e0e0;
    margin-top:16px;
  }
  .footer-address__line{
    display:block;
    font-size:12px;
    color:#666;
    line-height:1.7;
    letter-spacing:.03em;
    margin:0 0 4px;
  }
  .footer-address__line:last-child{margin-bottom:0}
  .footer-address__company{font-weight:500;color:#1a1a1a}
  .footer-address__tel a{
    color:#666;
    text-decoration:none;
    letter-spacing:.04em;
  }
  .footer-address__tel a:hover{color:#1a1a1a}
  /* 旧スマホ用1行住所が footer.php に残っている場合に備えて二重表示を防止 */
  .footer-meta-line{display:none !important}
}

/* ============================================================
   crazev3 新FV：v8 確定版（末広がり台形 + G配置 + P3カラー連動）

   構成：
     - パネル：各自のバウンディングボックス幅でサイズ（写真が顔まで見える）
         · 左   : left:0; width:35%
         · 中央 : left:15%; width:70%（末広がり台形）
         · 右   : right:0; width:35%
     - 中央：filter無加工、写真の色そのまま
     - 左右：P3パレット連動の軽やかなマスタード（フィルタ+overlay）
     - 縦断三角形装飾 G配置 3本（fv-hero.php SVG）：
         1. 左境界 chunky → 中明 (tB)
         2. 細ゴールド    → 最明 (tD)
         3. 右下角 isoceles → 最暗 (tC)
     - CRAZE ロゴ：.fv-stage 内に配置（mix-blend-mode:difference を背後写真に効かせる）

   === 調整パラメータ（P3 ゴールド明 軽やか）===
   * 左右パネル filter   : brightness(.55) contrast(1.05) sepia(.75) hue-rotate(-15deg) saturate(.75)
   * 左右パネル overlay  : rgba(100, 75, 10, 0.32) multiply
   * 三角形 4色パレット  : マスタード明/最明、明クリーム、暗マスタード（fv-hero.php の defs 参照）
   ============================================================ */

/* ステージ全体 — フェイルセーフ地（P3に合わせやや明るめ） */
.fv-hero-v3{position:relative;width:100%;height:100vh;overflow:hidden;background:#1a1407}
.fv-hero-v3 .fv-stage{
  position:absolute;inset:0;
  background:#1a1407;
  overflow:hidden;
  z-index:1;
}

/* 3パネル共通 — 各パネルは自分の bbox 幅、container-relative の clip-path */
.fv-hero-v3 .fv-panel{
  position:absolute;top:0;height:100%;
  overflow:hidden;
}
.fv-hero-v3 .fv-panel img,
.fv-hero-v3 .fv-panel .fv-panel-img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  object-position:center top;
  display:block;
  z-index:0;
  opacity:1;
  transition:opacity 800ms ease;
}
.fv-hero-v3 .fv-panel .fv-panel-img:not(.is-active){opacity:0}

/* ── 左パネル：bbox = left:0, width:35%。container-relative clip ── */
.fv-hero-v3 .fv-panel-left{
  left:0; width:35%;
  clip-path:polygon(0 0, 100% 0, 42.86% 100%, 0 100%);
}
.fv-hero-v3 .fv-panel-left img{
  /* P3 ゴールド明（軽やか）filter */
  filter:brightness(.55) contrast(1.05) sepia(.75) hue-rotate(-15deg) saturate(.75);
}
.fv-hero-v3 .fv-panel-left::before{
  content:'';position:absolute;inset:0;
  background:rgba(100, 75, 10, .32);  /* P3 overlay */
  mix-blend-mode:multiply;
  pointer-events:none;
  z-index:2;
}

/* ── 中央パネル：bbox = left:15%, width:70%（末広がり台形）、無加工 ── */
.fv-hero-v3 .fv-panel-center{
  left:15%; width:70%;
  clip-path:polygon(28.57% 0, 71.43% 0, 100% 100%, 0 100%);
}
.fv-hero-v3 .fv-panel-center img{filter:none}

/* ── 右パネル：bbox = right:0, width:35%。container-relative clip ── */
.fv-hero-v3 .fv-panel-right{
  right:0; width:35%;
  clip-path:polygon(0 0, 100% 0, 100% 100%, 57.14% 100%);
}
.fv-hero-v3 .fv-panel-right img{
  filter:brightness(.55) contrast(1.05) sepia(.75) hue-rotate(-15deg) saturate(.75);
}
.fv-hero-v3 .fv-panel-right::before{
  content:'';position:absolute;inset:0;
  background:rgba(100, 75, 10, .32);
  mix-blend-mode:multiply;
  pointer-events:none;
  z-index:2;
}

/* ── 縦断三角形装飾 SVG（パネルの上に乗る、ロゴの下）── */
.fv-hero-v3 .fv-deco-svg{
  position:absolute;inset:0;
  width:100%;height:100%;
  z-index:3;
  pointer-events:none;
}

/* ── CRAZE ロゴ — crazev3 専用調整（黄色寄り + 縮小 + watermark 透過）──
   旧 v2 の rgba(255,255,255,.9) + mix-blend-mode:difference は暗マスタード上で
   空色 (165,183,255) に反転していた問題を解消。
   screen blend + 黄色 + 低 opacity で「watermark 寄りの薄い透かし」を実現。
   中央写真の目元に被っても目線隠しに見えないよう、opacity を 0.4 まで下げる。 */
.fv-hero-v3 .fv-stage .hero-logo{
  z-index:50;
  font-size:8vw;                              /* 10vw → 8vw（PC、約20%縮小）*/
  color:rgba(255, 232, 104, 0.55);            /* PC: 0.40 → 0.55（1段階濃く）*/
  mix-blend-mode:screen;                      /* difference → screen に変更 */
}
@media(max-width:860px){
  .fv-hero-v3 .fv-stage .hero-logo{
    font-size:13vw;                           /* 15vw → 13vw（SP、約13%縮小）*/
    color:rgba(255, 232, 104, 0.75);          /* SP: 0.40 → 0.75（2段階濃く、SP は顔被りしない）*/
  }
}

/* 文字オーバーレイ（tagline / scroll-down のみ） */
.fv-hero-v3 .fv-text-overlay{
  position:absolute;inset:0;
  z-index:10;
  pointer-events:none;
}
.fv-hero-v3 .fv-text-overlay > *{pointer-events:auto}

/* ============================================================
   SP（≤768px）：3分割が窮屈なので 1人表示（中央パネルのみフルスクリーン）
   - 左右パネル：display:none
   - 中央パネル：left:0, width:100%, clip-path:none（末広がり台形解除）
   - SVG 三角形装飾：display:none（シンプル化、装飾なし）
   - 写真の自動切替（main.js slideshow）は中央パネルだけで継続動作
   ============================================================ */
@media(max-width:768px){
  /* SP FV 高さ短縮（縦長すぎ感を緩和、次セクションの覗き見せ）*/
  .fv-hero-v3{
    height:88vh;
  }

  .fv-hero-v3 .fv-panel-left,
  .fv-hero-v3 .fv-panel-right{
    display:none;
  }
  .fv-hero-v3 .fv-panel-center{
    left:0; width:100%;
    clip-path:none;
  }
  .fv-hero-v3 .fv-deco-svg{
    display:none;
  }

  /* SP装飾 B：底部の暗マスタードグラデ（cinematic fade、SCROLL DOWN を馴染ませる）*/
  .fv-hero-v3 .fv-stage::after{
    content:'';
    position:absolute; left:0; right:0; bottom:0;
    height:35%;
    background:linear-gradient(180deg, transparent 0%, rgba(20,16,4,.55) 100%);
    z-index:4;
    pointer-events:none;
  }

  /* SP装飾 C：縦ゴールド線は左右とも廃止（シンプル化、scroll-down と干渉しないため）*/

  /* SP の scroll-down は v2 デフォルト位置のまま（bottom:36px / right:24px、line 72px）
     色だけブランドゴールドに合わせる */
  .fv-hero-v3 .scroll-down-chevron{
    color:rgba(255, 216, 74, 0.9);
  }
  .fv-hero-v3 .scroll-down-text{
    color:rgba(255, 216, 74, 0.9);
    white-space:nowrap;          /* vertical-rl 内での text wrap 抑止（1列固定）*/
    flex-shrink:0;
  }
  .fv-hero-v3 .scroll-down-line{
    background:rgba(255, 216, 74, 0.85);
  }
  .fv-hero-v3 .scroll-down-line::after{
    background:linear-gradient(to bottom,
      transparent,
      rgba(255, 240, 150, 0.95),
      transparent);
  }
}

