/* ======================================================================
   パターン⑦ ダーク・シネマ型
   黒に近い背景・金色（--gold）の差し色・明朝の見出し。英字は Cinzel
   イメージカラーは光や線の色に使う
   ====================================================================== */
body[data-pattern="7"]{--bg:#0d0e12;--bg2:#15171d;--ink:#ece8df;--dim:#b9b4a9;--gold:#d4b25c;--line:rgba(212,178,92,.28);--en:"Cinzel",Georgia,serif;--mincho:"Shippori Mincho B1","Noto Serif JP",serif;--muted:var(--dim);background:var(--bg);color:var(--ink)}
body[data-pattern="7"] ::selection{background:var(--gold);color:#111}

/* ---- ヘッダー ---- */
.p7-header{background:rgba(13,14,18,.86);box-shadow:0 1px 0 var(--line)}
.p7-logo{font-family:var(--hand);font-weight:var(--hand-weight);font-size:22px;color:var(--ink);letter-spacing:.12em}
.p7-nav{gap:30px}
.p7-nav a{color:var(--ink);font-size:14px;letter-spacing:.08em}
.p7-nav a:hover{color:var(--gold)}
.p7-nav a.nav__cta{background:transparent;color:var(--gold);border:1px solid var(--gold);border-radius:0;box-shadow:none;padding:7px 20px}
.p7-nav a.nav__cta:hover{background:var(--gold);color:#111!important}
body[data-pattern="7"] .menu-btn span{background:var(--ink)}
@media (max-width:768px){body[data-pattern="7"] .p7-nav{background:var(--bg2)}body[data-pattern="7"] .p7-nav a{border-top-color:var(--line)}}

/* ---- メインビジュアル ---- */
.p7-hero{position:relative;min-height:min(92vh,820px);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding:110px max(24px,calc((100vw - 1160px)/2)) 70px;overflow:hidden;
  background:radial-gradient(600px 400px at var(--mx,75%) var(--my,40%),color-mix(in srgb,var(--blue) 22%,transparent),transparent 70%),var(--bg)}
.p7-hero__role{font-family:var(--en);letter-spacing:.3em;font-size:13px;color:var(--gold);margin-bottom:20px}
.p7-hero__catch{font-family:var(--hand);font-weight:var(--hand-weight);font-size:clamp(28px,3.6vw,54px);line-height:1.5;letter-spacing:var(--hand-spacing)}
.p7-hero__catch span{display:block}
.p7-gold{color:var(--gold)}
.p7-hero__name{margin-top:28px;font-family:var(--hand);font-weight:var(--hand-weight);font-size:clamp(30px,3.4vw,46px);letter-spacing:.2em;border-top:1px solid var(--line);padding-top:18px;display:inline-block}
.p7-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.p7-hero__photo{margin:0;justify-self:end;width:min(100%,460px);position:relative}
.p7-hero__photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 18%;animation:p7-light 2.4s cubic-bezier(.2,.7,.2,1) both}
/* 写真の周りを暗く落として、光が当たったように見せる（顔の上には何も置かない） */
.p7-hero__photo::after{content:"";position:absolute;inset:-1px;pointer-events:none;background:radial-gradient(ellipse at 50% 38%,transparent 42%,rgba(13,14,18,.75) 100%);animation:p7-vignette 2.4s ease both}
@keyframes p7-light{from{filter:brightness(.15) saturate(.4)}to{filter:brightness(1) saturate(1)}}
@keyframes p7-vignette{from{opacity:1}to{opacity:.55}}

/* ---- ボタン ---- */
.p7-btn{display:inline-block;background:var(--gold);color:#111;font-weight:800;padding:15px 34px;letter-spacing:.08em;transition:.25s}
.p7-btn:hover{background:#fff}
.p7-btn--line{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.p7-btn--line:hover{background:var(--ink);color:#111}

/* ---- 実績 ---- */
.p7-stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg2)}
.p7-stats__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.p7-stat{padding:36px 20px;text-align:center;border-left:1px solid var(--line)}
.p7-stat:first-child{border-left:0}
.p7-stat__num{font-family:var(--en);font-weight:700;font-size:56px;color:var(--gold);line-height:1.1}
.p7-stat__num small{font-family:"Noto Sans JP",sans-serif;font-size:15px;color:var(--ink);margin:0 4px}
.p7-stat__label{margin-top:8px;font-size:14px;color:var(--dim)}

/* ---- セクション ---- */
.p7-sec{padding:110px 0}
.p7-sec--alt{background:var(--bg2)}
.p7-head{text-align:center;margin-bottom:52px}
.p7-head__en{font-family:var(--en);font-size:14px;letter-spacing:.45em;color:var(--gold)}
body[data-pattern="7"] .p7-head__ja{font-family:var(--hand);font-weight:var(--hand-weight);font-size:clamp(26px,3.2vw,40px);color:var(--ink);margin:10px 0 0;padding:0 0 22px}
body[data-pattern="7"] .p7-head__ja::after{width:80px;height:1px;background:var(--gold);border-radius:0}
.p7-lead{color:var(--dim);text-align:center;max-width:760px;margin:-20px auto 36px}

/* ---- メッセージ ---- */
.p7-message p{font-size:17px;line-height:2.15;margin-bottom:1.3em;color:var(--ink)}
.p7-message__big{font-family:var(--hand);font-weight:var(--hand-weight);font-size:clamp(22px,2.6vw,30px)!important;color:var(--gold)!important;text-align:center;line-height:1.8!important;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.p7-sign{text-align:right;font-family:var(--mincho);font-weight:800}

/* ---- 政策 ---- */
.p7-policies{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.p7-policy{display:grid;grid-template-columns:70px 1fr;gap:18px;background:var(--bg2);padding:34px 30px;transition:background .3s}
.p7-policy:hover{background:#1b1e26}
.p7-policy__no{font-family:var(--en);font-size:34px;color:var(--gold)}
.p7-policy h3{font-family:var(--hand);font-weight:var(--hand-weight);font-size:22px;margin-bottom:8px}
.p7-policy p{color:var(--dim);line-height:1.9}
.p7-policy.is-hot{background:color-mix(in srgb,var(--blue) 26%,var(--bg2))}

/* ---- 活動報告 ---- */
.p7-news{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.p7-card{display:flex;flex-direction:column;gap:8px;color:var(--ink)}
.p7-card__img{display:block;overflow:hidden;aspect-ratio:16/10;background:#222}
.p7-card__img img{width:100%;height:100%;object-fit:cover;filter:grayscale(.35) brightness(.85);transition:filter .5s,transform .6s}
.p7-card:hover .p7-card__img img{filter:none;transform:scale(1.03)}
.p7-card__meta{font-size:13px;color:var(--gold);letter-spacing:.06em}
.p7-card__title{font-weight:700;line-height:1.6}

/* ---- 議会動画カード（暗い背景用） ---- */
body[data-pattern="7"] .cv{--cv-bg:#1b1e26;--cv-ink:var(--ink);--cv-line:var(--line);--cv-radius:0;--cv-thumb:linear-gradient(135deg,#000,color-mix(in srgb,var(--blue) 45%,#000))}
body[data-pattern="7"] .cv__topics span{background:rgba(212,178,92,.14);color:var(--ink)}
body[data-pattern="7"] .cv__go{color:var(--gold)}
body[data-pattern="7"] .cv__title{color:var(--ink)}
body[data-pattern="7"] .short{background:#1b1e26}
body[data-pattern="7"] .short figcaption{color:var(--ink)}

/* ---- プロフィール ---- */
.p7-profile{display:grid;grid-template-columns:360px 1fr;gap:64px;align-items:start}
.p7-profile .p7-head{text-align:left}
body[data-pattern="7"] .p7-profile .p7-head__ja::after{left:0;transform:none}
.p7-profile__photo{margin:0}
.p7-profile__photo img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 18%;filter:grayscale(.2)}
.p7-profile__lines{color:var(--gold);font-weight:700;margin:-24px 0 24px}
.p7-dl div{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.p7-dl dt{color:var(--gold)}
.p7-motto{margin-top:24px;font-family:var(--hand);font-weight:var(--hand-weight);font-size:22px}

/* ---- ご相談・フッター ---- */
.p7-contact{background:radial-gradient(700px 360px at 50% 0,color-mix(in srgb,var(--blue) 25%,transparent),transparent 70%),var(--bg)}
.p7-contact__info{margin-top:18px;color:var(--dim)}
.p7-contact__info a{color:var(--ink)}
.p7-sns{display:flex;justify-content:center;gap:16px;margin-top:20px}
.p7-sns__link{display:inline-flex;align-items:center;gap:6px;color:var(--ink)}
.p7-sns__link svg{width:20px;height:20px;fill:none;stroke:var(--gold);stroke-width:2}
.p7-footer{background:#08090c;border-top:1px solid var(--line);padding:52px 0 96px}
.p7-footer__name{font-family:var(--hand);font-weight:var(--hand-weight);font-size:26px;color:var(--ink);letter-spacing:.15em}
.p7-footer__office{font-size:13px;margin-top:10px;color:var(--dim)}
body[data-pattern="7"] .float-cta{background:var(--gold);color:#111;box-shadow:0 8px 20px rgba(0,0,0,.4)}

/* ---- スマホ ---- */
@media (max-width:900px){
  .p7-hero{grid-template-columns:1fr;padding:90px 22px 56px;gap:28px}
  .p7-hero__photo{order:-1;justify-self:center;width:min(86vw,380px)}
  .p7-policies,.p7-news{grid-template-columns:1fr}
  .p7-profile{grid-template-columns:1fr;gap:28px}
  .p7-profile__photo{max-width:320px}
}
@media (max-width:768px){
  .p7-sec{padding:72px 0}
  .p7-stat{border-left:0;border-top:1px solid var(--line)}
  .p7-stat:first-child{border-top:0}
  .p7-policy{grid-template-columns:50px 1fr;padding:24px 20px}
  .p7-dl div{grid-template-columns:90px 1fr}
}
@media (prefers-reduced-motion:reduce){.p7-hero__photo img,.p7-hero__photo::after{animation:none}}
