/* =========================================================
   灯結電設（デモ） スタイル
   黒い画面＋信号の黄。求人だけ明るい灰。
   等幅の書体は「時刻・金額・電話番号」など数字そのものが大事な所だけに使う。
   ========================================================= */

:root{
  --bg:#0F1318;      /* 背景：黒に近い紺 */
  --panel:#161C23;   /* パネル */
  --line:#2C3540;    /* 線 */
  --text:#E6EBF0;    /* 文字 */
  --mute:#CDD5DD;    /* 補助の文字（濃い背景で約12:1） */
  --dim:#B8C2CC;     /* 小さなラベル */
  --sig:#FFD21F;     /* 信号の黄 */
  --light:#EEF1F4;   /* 求人の背景 */
  --ink:#0F1318;
  --gray:#4F5A66;
  --gray2:#333D48;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --sans:"IBM Plex Sans JP","Hiragino Sans","Yu Gothic",sans-serif;
  --pad:48px;
  --hd:76px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.85;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
ul,ol{list-style:none}
figure{margin:0}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--sig);outline-offset:3px}
[hidden]{display:none !important}
/* 見出しは文節の切れ目で折り返す（対応ブラウザのみ） */
h1,h2,h3,h4,dt{word-break:auto-phrase;text-wrap:pretty}
p{text-wrap:pretty}

.u-nowrap{white-space:nowrap}
.u-number-font{font-family:var(--mono);font-weight:500;letter-spacing:.02em}
.u-accent-color{color:var(--sig)}
.u-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.c-skip-link{position:absolute;left:8px;top:-60px;background:var(--sig);color:var(--ink);padding:8px 14px;z-index:100;font-weight:700}
.c-skip-link:focus{top:8px}

.l-container{max-width:1440px;margin:0 auto;padding:0 var(--pad)}
section[id]{scroll-margin-top:calc(var(--hd) + 8px)}

/* 画像の共通枠（仮画像も同じ枠で表示） */
.p-hero__photo,.p-building-entry figure,.p-featured-work__photo,.p-work-card__photo,.p-voice__photo,.p-day__photo,.p-greeting__photo,.p-company__photo{background:#1C232B;overflow:hidden;position:relative}
.p-hero__photo img,.p-building-entry img,.p-featured-work__photo img,.p-work-card__photo img,.p-voice__photo img,.p-day__photo img,.p-greeting__photo img,.p-company__photo img{width:100%;height:100%;object-fit:cover}
/* 架空の人物の注記 */
.c-ai-label{position:absolute;right:0;top:0;background:rgba(15,19,24,.82);color:#E6EBF0;font-size:12px;line-height:1.5;padding:4px 10px}

/* ---------- デモの帯 ---------- */
.l-demo-bar{background:var(--sig);color:var(--ink);display:flex;align-items:center;justify-content:center;gap:8px 24px;flex-wrap:wrap;padding:8px 16px;font-size:14px;line-height:1.6;text-align:center}
.l-demo-bar__sub{margin-left:12px}
.l-demo-bar a{display:inline-flex;align-items:center;gap:6px;font-weight:700;text-underline-offset:3px}

/* ---------- ヘッダー ---------- */
.l-header{position:sticky;top:0;z-index:50;display:flex;align-items:stretch;justify-content:space-between;gap:24px;padding:0 0 0 var(--pad);height:var(--hd);background:rgba(15,19,24,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.c-logo{text-decoration:none;display:flex;flex-direction:column;justify-content:center;line-height:1.25;flex-shrink:0}
.c-logo b{font-size:22px;letter-spacing:.14em;font-weight:700}
.c-logo span{font-family:var(--mono);font-size:12px;color:var(--dim);letter-spacing:.12em}
.l-header__nav{margin-left:auto}
.l-header__nav ul{display:flex;height:100%}
.l-header__nav a{display:flex;align-items:center;height:100%;padding:0 18px;text-decoration:none;font-size:15px;white-space:nowrap;transition:color .2s,background-color .2s}
.l-header__nav a:hover{color:var(--sig)}
.l-header__nav .l-header__nav-item--contact a{background:var(--sig);color:var(--ink);font-weight:700;padding:0 26px;margin-left:8px}
.l-header__nav .l-header__nav-item--contact a:hover{background:#FFE061;color:var(--ink)}
.l-header__tel{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;line-height:1.3;padding-right:28px}
.l-header__tel b{font-size:21px;color:var(--sig);white-space:nowrap}
.l-header__tel small{font-size:12px;color:var(--dim);white-space:nowrap}
.l-header__mobile-actions{display:none;align-items:center;gap:8px;padding-right:16px}
.c-icon-button{min-width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);background:var(--panel);color:var(--sig);text-decoration:none;cursor:pointer}
.c-icon-button--accent{background:var(--sig);color:var(--ink);border-color:var(--sig);font-weight:700;font-size:14px;padding:0 14px}
.l-header__menu-button .l-header__menu-icon--close{display:none}
.l-header__menu-button[aria-expanded="true"] .l-header__menu-icon--open{display:none}
.l-header__menu-button[aria-expanded="true"] .l-header__menu-icon--close{display:block}
.l-mobile-nav{position:absolute;top:100%;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);padding:8px 16px 24px;max-height:calc(100vh - var(--hd));overflow:auto}
.l-mobile-nav a{display:block;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;font-size:17px}
.l-mobile-nav__tel{margin-top:18px;display:flex;flex-direction:column}
.l-mobile-nav__tel b{font-size:22px;color:var(--sig)}
.l-mobile-nav__tel small{font-size:13px;color:var(--dim)}
@media (min-width:1201px){
  .l-header{display:grid;grid-template-columns:auto 1fr auto;gap:0}
  .l-header__tel{grid-column:2;grid-row:1;justify-self:end}
  .l-header__nav{grid-column:3;grid-row:1;margin-left:0}
}

/* ---------- ボタン ---------- */
.c-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--sig);color:var(--ink);font-weight:700;text-decoration:none;padding:16px 26px;border:0;cursor:pointer;line-height:1.5;transition:background-color .2s}
.c-button:hover{background:#FFE061}
.c-button svg{transition:transform .2s}
.c-button:hover svg{transform:translateX(3px)}
.c-outline-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid #46525F;text-decoration:none;padding:15px 22px;line-height:1.5;transition:border-color .2s,color .2s}
.c-outline-button:hover{border-color:var(--sig);color:var(--sig)}

/* ---------- 共通 ---------- */
.l-section{padding:120px 0}
.l-section--panel{background:var(--panel)}
.c-note{font-size:15px;color:var(--mute);margin-top:24px}
.c-note--strong{color:var(--text)}
.c-subheading{font-size:32px;line-height:1.4;font-weight:700;margin-bottom:12px}
.c-subheading-lead{color:var(--mute);margin-bottom:28px}

/* =========================================================
   ファーストビュー：左に文字、右に大きな写真
   ========================================================= */
.p-hero{padding:56px 0 104px}
.p-hero__inner{display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);gap:64px;align-items:center}
.p-hero__eyebrow{font-size:15px;color:var(--sig);font-weight:700;letter-spacing:.06em;margin-bottom:20px}
.p-hero h1{font-size:88px;line-height:1.16;letter-spacing:.02em;font-weight:700;margin-bottom:28px}
.p-hero h1 .p-hero__title-line{display:block}
.p-hero__lead{font-size:18px;color:var(--mute);margin-bottom:36px;max-width:30em}
.p-hero__buttons{display:flex;gap:12px;flex-wrap:wrap}
.p-hero__photo{height:clamp(560px,calc(100vh - 180px),760px)}
.p-hero__photo img{object-position:center 35%}
.p-hero__badge{position:absolute;left:0;bottom:0;background:var(--bg);border-top:3px solid var(--sig);padding:18px 28px 20px;display:flex;flex-direction:column;line-height:1.4}
.p-hero__badge span{font-size:15px;color:var(--mute)}
.p-hero__badge b{font-size:56px;line-height:1.1;color:var(--sig);margin:4px 0 2px}

/* 入口カード */
.p-building-entry__label{margin-top:88px;font-weight:700;font-size:18px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.p-building-entry{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.p-building-entry li+li{border-left:1px solid var(--line)}
.p-building-entry a{display:grid;grid-template-columns:150px 1fr 24px;gap:20px;align-items:center;padding:24px 24px 24px 0;text-decoration:none;position:relative;transition:background-color .2s}
.p-building-entry li+li a{padding-left:24px}
.p-building-entry figure{aspect-ratio:1/1}
.p-building-entry img{transition:transform .5s ease}
.p-building-entry a:hover img{transform:scale(1.05)}
.p-building-entry h2{font-size:22px;line-height:1.4;transition:color .2s}
.p-building-entry p{font-size:16px;color:var(--mute);line-height:1.7;margin-top:4px}
.p-building-entry .p-building-entry__arrow{color:var(--sig);transition:transform .2s}
.p-building-entry a:hover h2{color:var(--sig)}
.p-building-entry a:hover .p-building-entry__arrow{transform:translateX(4px)}

/* =========================================================
   工事の種類：左に見出し（固定）、右に回路表
   ========================================================= */
.p-service{padding:112px 0 128px;border-top:1px solid var(--line)}
.p-service__inner{display:grid;grid-template-columns:340px 1fr;gap:72px;align-items:start}
.p-service__heading{position:sticky;top:calc(var(--hd) + 40px)}
.p-service__heading h2{font-size:44px;line-height:1.3;margin-bottom:20px}
.p-service__heading p{color:var(--mute)}
.p-service__legend{display:flex;align-items:center;gap:10px;margin-top:24px;font-size:15px}
.p-service__legend-dot{width:12px;height:12px;border-radius:50%;background:var(--sig);display:inline-block}
.p-circuit{border:1px solid var(--line);background:var(--panel)}
.p-circuit__head,.p-circuit__list>li{display:grid;grid-template-columns:88px 1fr repeat(3,80px);align-items:center}
.p-circuit__head{font-size:14px;color:var(--mute);border-bottom:1px solid var(--line);background:#121820;grid-template-columns:1fr repeat(3,80px)}
.p-circuit__head span{padding:12px 24px}
.p-circuit__head .p-circuit__head-cell{text-align:center;border-left:1px solid var(--line);padding:12px 0}
.p-circuit__list>li{border-bottom:1px solid var(--line);transition:background-color .2s}
.p-circuit__list>li:last-child{border-bottom:0}
.p-circuit__list>li:hover{background:#1A222B}
.p-circuit__icon{width:48px;height:48px;margin:0 auto}
.p-circuit__body{padding:28px 28px 28px 0}
.p-circuit__body h3{font-size:21px;line-height:1.5}
.p-circuit__body p{color:var(--mute);margin-top:4px}
.p-circuit__tags{display:contents}
.p-circuit__tags li{align-self:stretch;display:grid;place-items:center;border-left:1px solid var(--line)}
.p-circuit__tags li span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.p-circuit__tags li::before{content:"";width:14px;height:14px;border-radius:50%;border:2px solid #4A5664}
.p-circuit__tags li.is-available::before{background:var(--sig);border-color:var(--sig)}
.p-circuit__tags li:not(.is-available) span::after{content:"（対応外）"}

/* =========================================================
   施工事例：1件を大きく、3件を小さく
   ========================================================= */
.p-works{padding:104px 0 112px}
.p-works__header{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:48px}
.p-works__header h2{font-size:56px;line-height:1.2}
.p-works__header p{max-width:520px;color:var(--mute)}
.c-category-label{display:inline-block;align-self:flex-start;font-size:14px;font-weight:700;background:var(--sig);padding:1px 10px}
.p-featured-work .c-category-label,.p-work-card .c-category-label{color:var(--ink)}
.p-featured-work{display:grid;grid-template-columns:7fr 5fr;background:var(--bg);border:1px solid var(--line)}
.p-featured-work__photo{aspect-ratio:4/3}
.p-featured-work__body{padding:48px 48px 44px;display:flex;flex-direction:column}
.p-featured-work h3{font-size:30px;line-height:1.45;margin:16px 0 16px}
.p-featured-work__body>p:not(.c-category-label){color:var(--mute)}
.c-data-plate{display:grid;grid-template-columns:repeat(3,auto);margin-top:auto;padding-top:28px}
.c-data-plate div{border:1px solid var(--line);padding:12px 16px}
.c-data-plate div+div{border-left:0}
.c-data-plate dt{font-size:14px;color:var(--mute)}
.c-data-plate dd{font-size:19px;font-weight:700;white-space:nowrap}
.c-data-plate dd.c-data-plate__value--highlight{color:var(--sig)}
.p-works__list{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:56px}
.p-work-card__photo{aspect-ratio:4/3;margin-bottom:18px}
.p-work-card h3{font-size:20px;line-height:1.5;margin:12px 0 6px}
.p-work-card p{color:var(--mute)}
.p-work-card .p-work-card__outage{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;color:var(--text);font-size:15px}
.p-work-card .p-work-card__outage b{color:var(--sig);white-space:nowrap}

/* =========================================================
   強み：停電計画のグラフを横いっぱいに
   ========================================================= */
.p-strength{padding:144px 0 128px}
.p-strength__statement{font-size:56px;line-height:1.35;margin-bottom:64px;max-width:1000px}
.p-outage-plan{border:1px solid var(--line);background:var(--panel);padding:40px 48px 44px;margin-bottom:80px}
.p-outage-plan figcaption{font-size:20px;font-weight:700;margin-bottom:36px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px}
.p-outage-plan figcaption span{font-size:15px;font-weight:400;color:var(--mute)}
.p-timeline{--cols:10;--label:220px;position:relative}
.p-timeline__scale{display:grid;grid-template-columns:repeat(5,1fr) 0;margin-left:var(--label);font-family:var(--mono);font-size:14px;color:var(--mute);border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:12px}
.p-timeline__scale span:last-child{white-space:nowrap;transform:translateX(-100%)}
.p-timeline__row{display:grid;grid-template-columns:var(--label) 1fr;align-items:center;min-height:52px;position:relative}
.p-timeline__row::after{content:"";position:absolute;left:var(--label);right:0;top:50%;height:1px;background:repeating-linear-gradient(90deg,var(--line) 0 4px,transparent 4px 8px);z-index:0}
.p-timeline__label{font-size:17px;color:var(--mute);padding-right:16px}
.p-timeline__bar{position:relative;z-index:1;height:18px;background:#4A5664;margin-left:calc(var(--s) / var(--cols) * 100%);width:calc((var(--e) - var(--s)) / var(--cols) * 100%);transform-origin:left center}
.p-timeline__row.is-power-off{min-height:100px;align-items:end;padding-bottom:12px}
.p-timeline__row.is-power-off::after{top:auto;bottom:29px}
.p-timeline__row.is-power-off .p-timeline__label{color:var(--sig);font-weight:700;align-self:end;padding-bottom:4px}
.p-timeline__row.is-power-off .p-timeline__bar{background:var(--sig);height:36px}
.p-timeline__bar em{position:absolute;left:0;bottom:calc(100% + 8px);font-style:normal;font-weight:700;font-size:20px;color:var(--sig);white-space:nowrap}
.p-timeline__bar em b{font-size:28px;margin:0 2px}

.p-strength__points{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.p-strength__points h3{font-size:22px;line-height:1.5;margin-bottom:14px;display:flex;align-items:center;gap:14px}
.p-strength__point-number{flex-shrink:0;width:40px;height:40px;border-radius:50%;border:2px solid var(--sig);color:var(--sig);display:grid;place-items:center;font-size:18px;line-height:1}
.p-strength__points p{color:var(--mute)}

/* =========================================================
   費用と流れ
   ========================================================= */
.p-price{padding:104px 0}
.p-price__inner{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:start}
.p-price-table{width:100%;border-collapse:collapse}
.p-price-table thead th{font-size:14px;font-weight:400;color:var(--mute);text-align:left;padding:10px 0;border-bottom:2px solid var(--sig)}
.p-price-table thead th+th{text-align:right}
.p-price-table tbody th{font-weight:400;text-align:left;padding:18px 16px 18px 0;border-bottom:1px solid var(--line)}
.p-price-table tbody td{text-align:right;padding:18px 0;border-bottom:1px solid var(--line);color:var(--mute);white-space:nowrap}
.p-price-table tbody td b{font-size:24px;color:var(--text);margin-right:2px}
.p-price-table tbody td .u-nowrap+.u-nowrap{display:block}
.p-flow{display:grid;margin-top:40px}
.p-flow li{display:grid;grid-template-columns:56px 1fr;gap:24px;align-items:start;padding:0 0 36px;position:relative}
.p-flow li:last-child{padding-bottom:0}
.p-flow li:not(:last-child)::before{content:"";position:absolute;left:27px;top:28px;bottom:0;width:2px;background:var(--sig)}
.p-flow__icon{position:relative;z-index:1}
.p-flow h3{font-size:20px;line-height:1.5;margin-top:12px}
.p-flow p{color:var(--mute)}

/* =========================================================
   採用（明るい画面）
   ========================================================= */
.p-recruit{background:var(--light);color:var(--ink);padding:128px 0 120px}
.p-recruit .c-ai-label{background:rgba(15,19,24,.82)}
.p-recruit__intro{display:grid;grid-template-columns:1fr 440px;gap:16px 64px;align-items:end;margin-bottom:56px}
.p-recruit__eyebrow{grid-column:1/-1;font-weight:700;color:var(--gray);letter-spacing:.06em}
.p-recruit h2{font-size:64px;line-height:1.25}
.p-recruit__intro>p:last-child{font-size:18px;color:var(--gray2)}

.p-voices{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.p-voice{display:grid;grid-template-columns:240px 1fr;background:#fff;border:1px solid #D3DAE1}
.p-voice__photo{min-height:320px}
.p-voice__photo img{position:absolute;inset:0}
.p-voice__body{padding:32px 32px 28px;display:flex;flex-direction:column}
.p-voice__meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.p-voice__meta span{font-size:13px;background:var(--light);color:var(--gray2);padding:2px 10px;white-space:nowrap}
.p-voice__meta span:last-child{background:var(--ink);color:var(--sig);font-weight:700}
.p-voice h3{font-size:21px;line-height:1.55;margin-bottom:12px}
.p-voice__body>p:not(.p-voice__meta):not(.p-voice__name){color:var(--gray2)}
.p-voice__name{margin-top:auto;padding-top:16px;font-size:14px;color:var(--gray);font-weight:700}

.p-day{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin:96px 0}
.p-day__photo{aspect-ratio:3/2}
.p-day h3{font-size:28px;margin-bottom:20px}
.p-day__list li{display:grid;grid-template-columns:72px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid #C9D1D9;color:var(--gray2)}
.p-day__list li:first-child{border-top:1px solid #C9D1D9}
.p-day__list time{font-size:17px;color:var(--ink)}

.p-career__heading{font-size:24px;margin-bottom:28px}
.p-career{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative;padding-top:48px}
.p-career::before{content:"";position:absolute;top:11px;left:11px;right:0;height:2px;background:var(--ink)}
.p-career li{position:relative}
.p-career li::before{content:"";position:absolute;top:-48px;left:0;width:24px;height:24px;border:2px solid var(--ink);background:var(--light);border-radius:50%}
.p-career li.is-current::before{background:var(--sig)}
.p-career .p-career__period{font-size:14px;font-weight:700;color:var(--gray)}
.p-career h4{font-size:19px;line-height:1.5;margin:4px 0 6px}
.p-career p{color:var(--gray2)}

.p-recruit__table-area{margin-top:72px}
.p-job-table{width:100%;border-collapse:collapse;background:#fff;font-size:16px}
.p-job-table th,.p-job-table td{border:1px solid #C9D1D9;padding:16px 20px;text-align:left;vertical-align:top}
.p-job-table thead th{background:var(--ink);color:#fff;font-weight:700;border-color:var(--ink)}
.p-job-table tbody th{width:200px;background:#F7F9FA;font-weight:700;white-space:nowrap}
.p-job-table b{font-size:19px}
.p-recruit__cta{display:flex;gap:24px;align-items:center;margin-top:40px;flex-wrap:wrap}
.p-recruit__cta .c-button{background:var(--ink);color:var(--sig)}
.p-recruit__cta .c-button:hover{background:#26303B}
.p-recruit__tel{display:flex;align-items:baseline;gap:4px 12px;flex-wrap:wrap}
.p-recruit__tel b{font-size:22px}
.p-recruit__tel small{font-size:13px;color:var(--gray)}
.p-recruit .c-note{color:var(--gray2)}

/* =========================================================
   会社概要：代表あいさつから
   ========================================================= */
.p-company{padding:128px 0 112px}
.p-greeting{display:grid;grid-template-columns:380px 1fr;gap:72px;align-items:center;margin-bottom:112px}
.p-greeting__photo{aspect-ratio:4/5}
.p-greeting__label{font-size:15px;color:var(--sig);font-weight:700;letter-spacing:.06em;margin-bottom:16px}
.p-greeting h2{font-size:40px;line-height:1.45;margin-bottom:28px}
.p-greeting__body>p:not(.p-greeting__label):not(.p-greeting__name){font-size:18px;color:var(--mute);max-width:36em}
.p-greeting__name{margin-top:28px;font-size:15px;color:var(--mute);display:flex;align-items:baseline;gap:14px}
.p-greeting__name b{font-size:24px;color:var(--text);letter-spacing:.1em}

.p-company__inner{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:start}
.p-company__photo{aspect-ratio:3/2;border:1px solid var(--line);margin-top:60px}
.p-company__photo img{position:absolute;inset:0}
.p-company__photo figcaption{position:absolute;left:0;bottom:0;background:var(--bg);padding:8px 16px;font-size:15px}
.p-company__list>div{display:grid;grid-template-columns:140px 1fr;gap:24px;padding:16px 0;border-bottom:1px solid var(--line)}
.p-company__list>div:first-child{border-top:1px solid var(--line)}
.p-company__list dt{color:var(--mute);font-size:15px;padding-top:1px}

/* =========================================================
   お問い合わせ
   ========================================================= */
.p-contact{padding:112px 0}
.p-contact__inner{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;align-items:start}
.p-contact__side h2{font-size:40px;line-height:1.4;margin-bottom:20px}
.p-tel-card{border:1px solid var(--line);border-left:3px solid var(--sig);padding:24px 28px;background:var(--bg)}
.p-tel-card__label{display:block;font-size:14px;color:var(--sig);font-weight:700}
.p-tel-card b.u-number-font{display:block;font-size:34px;line-height:1.4;white-space:nowrap}
.p-tel-card p{color:var(--mute)}
.p-tel-card p:first-of-type{color:var(--text)}
.p-faq{margin-top:40px}
.p-faq div{padding:18px 0;border-bottom:1px solid var(--line)}
.p-faq div:first-child{border-top:1px solid var(--line)}
.p-faq dt{font-weight:700;display:flex;gap:10px}
.p-faq dt::before{content:"Q";color:var(--sig);font-family:var(--mono)}
.p-faq dd{color:var(--mute);display:flex;gap:10px;margin-top:4px}
.p-faq dd::before{content:"A";color:var(--dim);font-family:var(--mono)}

.c-demo-alert{display:flex;gap:16px;align-items:flex-start;background:var(--sig);color:var(--ink);padding:20px 24px;margin-bottom:24px;line-height:1.7}
.c-demo-alert svg{flex-shrink:0;margin-top:1px}
.c-demo-alert b{display:block;font-size:18px}
.c-form{display:grid;gap:22px;background:var(--bg);border:1px solid var(--line);padding:36px}
.c-form__columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.c-form__row{display:grid;gap:8px}
.c-form__row label{font-weight:700;font-size:15px}
.c-form__row label em{font-style:normal;font-size:12px;background:var(--sig);color:var(--ink);padding:1px 7px;margin-left:6px;vertical-align:1px}
.c-form__row label span{font-weight:400;font-size:13px;color:var(--mute);margin-left:6px}
.c-form input,.c-form select,.c-form textarea{width:100%;font-size:16px;background:#0B0E12;border:1px solid #46525F;padding:12px 14px;border-radius:0;line-height:1.6;transition:border-color .2s}
.c-form select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%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' fill='none' stroke='%23FFD21F' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.c-form textarea{resize:vertical;min-height:150px}
.c-form input::placeholder,.c-form textarea::placeholder{color:#8B98A5}
.c-form input:focus,.c-form select:focus,.c-form textarea:focus{border-color:var(--sig);outline:none;box-shadow:0 0 0 3px rgba(255,210,31,.2)}
.c-form__honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.c-form__note{font-size:14px;color:var(--mute)}
/* 送信の結果（JSが動くときだけ出る） */
.c-form__status{padding:12px 16px;border-left:4px solid var(--line);background:var(--panel);color:var(--text);font-size:16px;font-weight:700;line-height:1.7}
.c-form__status[hidden]{display:none}
.c-form__status.is-success{border-left-color:var(--sig)}
.c-form__status.is-error{border-left-color:#FF8A7A;color:#FFC9C0}
.c-button--submit{justify-self:start;min-width:240px;font-size:16px}

/* =========================================================
   フッター
   ========================================================= */
.l-footer{padding:72px 0 40px;border-top:1px solid var(--line)}
.l-footer__top{display:flex;justify-content:space-between;gap:48px;flex-wrap:wrap;padding-bottom:40px;border-bottom:1px solid var(--line)}
.l-footer .c-logo{margin-bottom:12px}
.l-footer__address{color:var(--mute)}
.l-footer__nav{display:flex;flex-wrap:wrap;gap:10px 32px;justify-content:flex-end}
.l-footer__nav a{text-decoration:none;font-size:15px}
.l-footer__nav a:hover{color:var(--sig)}
.l-footer__demo{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding:32px 0}
.l-footer__demo .c-outline-button{border-color:var(--sig);color:var(--sig)}
.l-footer__demo .c-outline-button:hover{background:var(--sig);color:var(--ink)}
.l-footer__copyright{font-family:var(--mono);font-size:12px;color:var(--dim)}
.l-footer__copyright small{font-size:12px}
.l-mobile-bar{display:none}

/* =========================================================
   動き（JSが動くときだけ。動きを減らす設定の人には出さない）
   ========================================================= */
@media (prefers-reduced-motion:no-preference){
  .is-js-ready .u-fade-in{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
  .is-js-ready .u-fade-in.is-visible{opacity:1;transform:none}
  .is-js-ready .p-hero__text>*{animation:rise .8s ease both}
  .is-js-ready .p-hero__text>*:nth-child(2){animation-delay:.08s}
  .is-js-ready .p-hero__text>*:nth-child(3){animation-delay:.16s}
  .is-js-ready .p-hero__text>*:nth-child(4){animation-delay:.24s}
  .is-js-ready .p-hero__badge{animation:rise .8s .5s ease both}
  .is-js-ready .p-timeline__bar{transform:scaleX(0);transition:transform .8s cubic-bezier(.6,0,.2,1)}
  .is-js-ready .p-outage-plan.is-visible .p-timeline__bar{transform:scaleX(1)}
  .is-js-ready .p-outage-plan.is-visible .p-timeline__row:nth-child(3) .p-timeline__bar{transition-delay:.15s}
  .is-js-ready .p-outage-plan.is-visible .p-timeline__row:nth-child(4) .p-timeline__bar{transition-delay:.3s}
  .is-js-ready .p-outage-plan.is-visible .p-timeline__row:nth-child(5) .p-timeline__bar{transition-delay:.45s}
  .is-js-ready .p-outage-plan.is-visible .p-timeline__row:nth-child(6) .p-timeline__bar{transition-delay:.6s}
}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none !important;animation:none !important}
}

/* =========================================================
   中間の幅
   ========================================================= */
@media (max-width:1200px){
  .l-header__tel{display:none}
  .p-hero h1{font-size:72px}
  .p-building-entry a{grid-template-columns:110px 1fr 22px}
  .p-service__inner{grid-template-columns:280px 1fr;gap:48px}
  .p-voice{grid-template-columns:1fr}
  .p-voice__photo{aspect-ratio:4/3;min-height:0}
}

/* =========================================================
   タブレット・スマホ
   ========================================================= */
@media (max-width:1024px){
  :root{--pad:16px;--hd:64px}
  .l-header{padding-left:16px;gap:12px}
  .l-header__nav,.l-header__tel{display:none}
  .l-header__mobile-actions{display:flex;margin-left:auto}
  .c-logo b{font-size:19px}
  .l-demo-bar{font-size:13px;gap:2px 16px}
  .l-demo-bar__sub{display:block;margin-left:0}
  .l-demo-bar p{flex:1 1 100%}

  .l-section,.p-service,.p-works,.p-strength,.p-price,.p-company,.p-contact{padding:72px 0}
  .p-strength{padding:88px 0 72px}
  .c-note{font-size:14px}
  .c-subheading{font-size:26px}

  /* FV */
  .p-hero{padding:36px 0 64px}
  .p-hero__inner{grid-template-columns:1fr;gap:32px}
  .p-hero__eyebrow{font-size:14px;margin-bottom:12px}
  .p-hero h1{font-size:min(56px,10.4vw);margin-bottom:20px}
  .p-hero h1 .p-hero__title-line{display:inline}
  .p-hero h1 .p-hero__title-line:nth-child(2)::after{content:"\A";white-space:pre}
  .p-hero h1 .p-hero__title-line:nth-child(-n+2){white-space:nowrap}
  .p-hero__lead{font-size:16px;margin-bottom:28px}
  .c-button,.c-outline-button{flex:1 1 100%}
  .p-hero__photo{height:auto;overflow:visible;background:none}
  .p-hero__photo img{aspect-ratio:4/3;height:auto;object-position:center 30%;background:#1C232B}
  .p-hero__badge{position:static;padding:12px 16px 14px;flex-direction:row;align-items:baseline;gap:4px 10px;flex-wrap:wrap;background:var(--panel)}
  .p-hero__badge span{font-size:14px}
  .p-hero__badge b{font-size:30px;margin:0}
  .p-building-entry__label{margin-top:56px;font-size:17px}
  .p-building-entry{grid-template-columns:1fr}
  .p-building-entry li+li{border-left:0;border-top:1px solid var(--line)}
  .p-building-entry a,.p-building-entry li+li a{grid-template-columns:96px 1fr 20px;gap:16px;padding:16px 0}
  .p-building-entry h2{font-size:19px}
  .p-building-entry p{font-size:15px}

  /* 工事の種類 */
  .p-service__inner{grid-template-columns:1fr;gap:32px}
  .p-service__heading{position:static}
  .p-service__heading h2{font-size:32px;margin-bottom:12px}
  .p-service__legend{display:none}
  .p-circuit__head{display:none}
  .p-circuit__list>li{grid-template-columns:52px 1fr;grid-template-areas:"ic body" "tags tags";padding:22px 16px;gap:4px 14px;align-items:start}
  .p-circuit__icon{grid-area:ic;width:44px;height:44px;margin:4px 0 0}
  .p-circuit__body{grid-area:body;padding:0}
  .p-circuit__body h3{font-size:19px}
  .p-circuit__tags{grid-area:tags;display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
  .p-circuit__tags li{display:flex;align-items:center;gap:6px;border:1px solid var(--line);padding:2px 10px 2px 8px;font-size:14px}
  .p-circuit__tags li::before{width:10px;height:10px}
  .p-circuit__tags li span{position:static;width:auto;height:auto;clip:auto;overflow:visible}

  /* 施工事例 */
  .p-works__header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:32px}
  .p-works__header h2{font-size:36px}
  .p-featured-work{grid-template-columns:1fr}
  .p-featured-work__body{padding:24px 20px 24px}
  .p-featured-work h3{font-size:22px;margin:12px 0}
  .c-data-plate{grid-template-columns:repeat(3,auto)}
  .c-data-plate div{padding:10px 8px}
  .c-data-plate dt{font-size:13px;white-space:nowrap}
  .c-data-plate dd{font-size:16px}
  .p-works__list{grid-template-columns:1fr;gap:40px;margin-top:40px}
  .p-work-card h3{font-size:19px}

  /* 強み */
  .p-strength__statement{font-size:30px;margin-bottom:40px}
  .p-outage-plan{padding:24px 16px;margin-bottom:56px}
  .p-outage-plan figcaption{font-size:18px;margin-bottom:24px}
  .p-timeline{--label:0px}
  .p-timeline__scale{margin-left:0;font-size:12px}
  .p-timeline__scale span:nth-child(even){visibility:hidden}
  .p-timeline__row{grid-template-columns:1fr;min-height:0;padding:6px 0 10px}
  .p-timeline__row::after{top:auto;bottom:18px;left:0}
  .p-timeline__label{font-size:15px;padding:0 0 4px}
  .p-timeline__row.is-power-off{min-height:0;padding:6px 0 10px}
  .p-timeline__row.is-power-off::after{bottom:24px}
  .p-timeline__row.is-power-off .p-timeline__bar{height:28px}
  .p-timeline__bar em{font-size:15px;left:auto;right:calc(100% + 8px);bottom:auto;top:50%;transform:translateY(-50%)}
  .p-timeline__bar em b{font-size:20px}
  .p-strength__points{grid-template-columns:1fr;gap:32px}
  .p-strength__points h3{font-size:19px}
  .p-strength__point-number{width:34px;height:34px;font-size:16px}

  /* 費用と流れ */
  .p-price__inner{grid-template-columns:1fr;gap:64px}
  .p-price-table tbody th{padding:14px 12px 14px 0}
  .p-price-table tbody td{padding:14px 0;font-size:14px}
  .p-price-table tbody td b{font-size:20px}
  .p-flow{margin-top:28px}
  .p-flow li{gap:18px}
  .p-flow h3{font-size:18px}

  /* 採用 */
  .p-recruit{padding:80px 0}
  .p-recruit__intro{grid-template-columns:1fr;gap:12px;margin-bottom:40px}
  .p-recruit h2{font-size:36px}
  .p-recruit__intro>p:last-child{font-size:16px}
  .p-voices{grid-template-columns:1fr;gap:24px}
  .p-voice__body{padding:22px 20px 22px}
  .p-voice h3{font-size:19px}
  .p-day{grid-template-columns:1fr;gap:24px;margin:64px 0}
  .p-day h3{font-size:23px;margin-bottom:12px}
  .p-day__list li{grid-template-columns:56px 1fr;gap:10px}
  .p-day__list time{font-size:16px}
  .p-career__heading{font-size:21px}
  .p-career{grid-template-columns:1fr;gap:28px;padding-top:0;padding-left:40px}
  .p-career::before{top:0;bottom:0;left:11px;right:auto;width:2px;height:auto}
  .p-career li::before{top:2px;left:-40px}
  .p-career h4{font-size:18px}
  .p-recruit__table-area{margin-top:48px}
  .p-job-table th,.p-job-table td{padding:12px 10px}
  .p-job-table thead th{font-size:14px}
  .p-job-table tbody th{width:auto}
  .p-job-table b{font-size:16px}
  .p-recruit__cta .c-button{flex:1 1 100%}
  .p-recruit__tel{flex-direction:column;gap:0}

  /* 会社概要 */
  .p-greeting{grid-template-columns:1fr;gap:24px;margin-bottom:64px}
  .p-greeting__photo{aspect-ratio:4/3}
  .p-greeting__photo img{object-position:center 15%}
  .p-greeting h2{font-size:26px;margin-bottom:16px}
  .p-greeting__body>p:not(.p-greeting__label):not(.p-greeting__name){font-size:16px}
  .p-greeting__name b{font-size:20px}
  .p-company__inner{grid-template-columns:1fr;gap:32px}
  .p-company__photo{margin-top:0;order:2}
  .p-company__list>div{grid-template-columns:1fr;gap:2px;padding:14px 0}
  .p-company__list dt{font-size:14px}

  /* お問い合わせ */
  .p-contact__inner{grid-template-columns:1fr;gap:40px}
  .p-contact__side h2{font-size:28px}
  .p-tel-card{padding:20px}
  .p-tel-card b.u-number-font{font-size:28px}
  .p-faq{margin-top:28px}
  .c-demo-alert{padding:18px 16px;gap:12px}
  .c-demo-alert b{font-size:17px}
  .c-form{padding:24px 16px;gap:20px}
  .c-form__columns{grid-template-columns:1fr;gap:20px}
  .c-button--submit{justify-self:stretch;min-width:0}

  .l-footer{padding:56px 0 calc(32px + 64px)}
  .l-footer__top{flex-direction:column;gap:32px}
  .l-footer__nav{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 24px;justify-content:start}
  .l-footer__nav a{display:block;padding:8px 0}
  .l-footer__demo .c-outline-button{flex:1 1 100%}

  .l-mobile-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:40;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);background:var(--bg)}
  .l-mobile-bar a{display:flex;align-items:center;justify-content:center;height:56px;text-decoration:none;font-weight:700;font-size:15px}
  .l-mobile-bar a:first-child{background:var(--sig);color:var(--ink)}
}

@media (min-width:600px) and (max-width:1024px){
  .p-voices{grid-template-columns:1fr 1fr}
}

/* =========================================================
   2回目の修正で追加
   ========================================================= */
.p-circuit__summary{display:none}

/* 入口カード（PC）：写真を上に横いっぱい */
@media (min-width:1025px){
  .p-building-entry{gap:32px}
  .p-building-entry li+li{border-left:0}
  .p-building-entry a,.p-building-entry li+li a{grid-template-columns:1fr 24px;grid-template-areas:"ph ph" "txt arw";gap:16px 12px;padding:24px 0 0}
  .p-building-entry figure{grid-area:ph;aspect-ratio:3/2}
  .p-building-entry a>div{grid-area:txt}
  .p-building-entry .p-building-entry__arrow{grid-area:arw;align-self:start;margin-top:6px}
}

/* 費用と流れ：明るい背景 */
.l-section--light{background:#FFFFFF;color:var(--ink)}

.l-section--light .c-subheading-lead,.l-section--light .p-flow p{color:var(--gray2)}
.l-section--light .p-price-table thead th{color:var(--gray)}
.l-section--light .p-price-table tbody th,.l-section--light .p-price-table tbody td{border-bottom-color:#C9D1D9}
.l-section--light .p-price-table tbody td{color:var(--gray2)}
.l-section--light .p-price-table tbody td b{color:var(--ink)}
.l-section--light .p-price-table thead th{border-bottom-color:var(--ink)}
.l-section--light .p-flow li:not(:last-child)::before{background:var(--ink)}
.l-section--light .c-note,.l-section--light .c-note--strong{color:var(--ink)}

/* 強み：横いっぱいの黄色の帯（山場） */
.p-strength{padding-top:0}
.p-promise{background:var(--sig);color:var(--ink);padding:80px 0 84px;margin-bottom:112px}
.p-promise__inner{display:grid;grid-template-columns:auto 1fr;gap:24px 72px;align-items:end}
.p-promise__headline{font-size:96px;font-weight:700;line-height:1.1;letter-spacing:.02em;white-space:nowrap}
.p-promise__headline b{font-size:136px;line-height:1;margin:0 4px}
.p-promise__text{font-size:19px;line-height:1.8;color:#1E242B;max-width:30em;padding-bottom:12px}

/* スマホ用の縦の時間表（PCでは出さない） */
.p-timeline-list{display:none}

@media (max-width:1024px){
  /* 強みの帯 */
  .p-strength{padding-top:0}
  .p-promise{padding:48px 0 52px;margin-bottom:64px}
  .p-promise__inner{grid-template-columns:1fr;gap:16px}
  .p-promise__headline{font-size:min(54px,13.5vw);white-space:normal}
  .p-promise__headline b{font-size:min(80px,20vw)}
  .p-promise__text{font-size:16px;padding-bottom:0}

  /* 停電計画：縦の時間表に切り替え */
  .p-timeline{display:none}
  .p-timeline-list{display:block;border-top:1px solid var(--line)}
  .p-timeline-list li{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line)}
  .p-timeline-list time{font-size:16px;color:var(--mute);min-width:56px}
  .p-timeline-list li>span{font-size:16px}
  .p-timeline-list li.is-power-off{background:var(--sig);color:var(--ink);margin:6px -16px;padding:18px 16px;border:0;grid-template-columns:1fr}
  .p-timeline-list li.is-power-off time{color:var(--ink);font-size:24px;font-weight:500}
  .p-timeline-list li.is-power-off>span{font-weight:700}
  .p-timeline-list li.is-power-off b{font-size:30px;line-height:1.3}
  .p-timeline-list li.is-power-off b .u-number-font{font-size:40px}

  /* 工事の種類：短い一覧＋右上に点3つ */
  .p-circuit__list>li{grid-template-areas:"ic body";padding:16px;gap:0 14px;align-items:center;position:relative}
  .p-circuit__icon{margin:0;width:40px;height:40px}
  .p-circuit__body{padding-right:66px}
  .p-circuit__body h3{font-size:17px}
  .p-circuit__description{display:none}
  .p-circuit__summary{display:block;font-size:15px;color:var(--mute);margin-top:2px;line-height:1.6}
  .p-circuit__tags{position:absolute;top:16px;right:12px;display:flex;gap:6px;margin:0}
  .p-circuit__tags li,.p-circuit__tags li:not(.is-available){position:static;width:auto;height:auto;clip:auto;overflow:visible;display:flex;flex-direction:column;align-items:center;gap:2px;border:0;padding:0;font-size:12px;color:var(--mute)}
  .p-circuit__tags li:not(.is-available){color:#6E7B88}
  .p-circuit__tags li::before{width:12px;height:12px}
  .p-circuit__tags li::after{content:attr(data-short-label);line-height:1.2}
  .p-circuit__tags li span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

  /* 施工事例：2件目以降は横長の行 */
  .p-works__list{gap:0;margin-top:24px;border-top:1px solid var(--line)}
  .p-work-card{display:grid;grid-template-columns:112px 1fr;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
  .p-work-card__photo{margin:0}
  .p-work-card__body>p:not(.c-category-label):not(.p-work-card__outage){display:none}
  .p-work-card .c-category-label{font-size:12px;padding:0 8px}
  .p-work-card h3{font-size:16px;margin:4px 0 2px;line-height:1.45}
  .p-work-card .p-work-card__outage{margin:0;padding:0;border:0;font-size:14px;justify-content:flex-start}

  /* 採用：1日は4行、道のりは題名だけ */
  .p-day__list li:nth-child(2),.p-day__list li:nth-child(4){display:none}
  .p-day{margin:56px 0}
  .p-career p{display:none}
  .p-career{gap:18px}
  .p-voice__photo{aspect-ratio:16/10}
  .p-day__photo{display:none}
  .p-greeting__photo{aspect-ratio:16/11}
  .p-greeting{margin-bottom:56px}
}
/* =========================================================
   3回目の仕上げ
   ========================================================= */
/* 採用の冒頭：章を変える黒い帯 */
.p-recruit{padding-top:0}
.p-recruit__band{background:var(--ink);color:#fff;margin-bottom:104px}
.p-recruit__band-inner{display:flex;align-items:center;justify-content:space-between;gap:8px 32px;flex-wrap:wrap;min-height:112px;padding-top:20px;padding-bottom:20px}
.p-recruit__band-title{font-size:32px;font-weight:700;letter-spacing:.08em;display:flex;align-items:center;gap:16px}
.p-recruit__band-title::before{content:"";width:14px;height:14px;background:var(--sig);border-radius:50%}
.p-recruit__band-text{font-size:16px;color:var(--mute)}

/* 強み：2つ目の見出しは1段小さく、表への前置きに */
.p-strength__statement{font-size:36px;line-height:1.5;margin-bottom:32px}

@media (max-width:1024px){
  .p-recruit{padding-top:0}
  .p-recruit__band{margin-bottom:56px}
  .p-recruit__band-inner{min-height:88px;padding-top:18px;padding-bottom:18px}
  .p-recruit__band-title{font-size:24px}
  .p-recruit__band-text{font-size:15px}
  .p-strength__statement{font-size:24px;margin-bottom:24px}

  /* スマホの小さな文字を大きく */
  .p-circuit__tags li,.p-circuit__tags li:not(.is-available){font-size:13px}
  .p-circuit__tags li::before{width:13px;height:13px}
  .p-circuit__body{padding-right:72px;min-width:0}
  .p-circuit__list>li{grid-template-columns:40px minmax(0,1fr)}
  .p-work-card h3{font-size:17px}
  .p-work-card .p-work-card__outage{font-size:15px}
  .p-work-card .c-category-label{font-size:13px}
  .p-company__list dt{font-size:15px;color:var(--mute)}
  .p-timeline-list time{font-size:17px}
  .c-note{font-size:15px}
  .c-form__row label span{font-size:13px}
  .l-demo-bar{font-size:14px}
}
/* 黄色い帯の前置き（「必ず2時間」と読まれないように） */
.p-promise__kicker{grid-column:1/-1;font-size:20px;font-weight:700;margin-bottom:-12px}
@media (max-width:1024px){ .p-promise__kicker{font-size:16px;margin-bottom:-8px} }
/* 中間の幅（1025〜1439px）でも黄色の帯がはみ出さないように */
.p-promise__inner{grid-template-columns:auto minmax(0,1fr)}
.p-promise__headline{font-size:clamp(64px,6.6vw,96px)}
.p-promise__headline b{font-size:clamp(88px,9.4vw,136px)}
@media (min-width:1025px) and (max-width:1300px){
  .p-promise__inner{grid-template-columns:1fr;gap:16px}
  .p-promise__text{max-width:44em;padding-bottom:0}
}@media (max-width:1024px){
  .p-promise__inner{grid-template-columns:1fr}
  .p-promise__headline{font-size:min(54px,13.5vw)}
  .p-promise__headline b{font-size:min(80px,20vw)}
}
/* 生成画像の差し替え後の調整 */
.p-voice__photo img,.p-greeting__photo img{object-position:center 15%}
.p-hero__photo img{object-position:center 40%}
.p-building-entry__label{display:flex;justify-content:space-between;align-items:baseline;gap:8px 16px;flex-wrap:wrap}
.p-building-entry__credit{font-size:13px;font-weight:400;color:var(--mute)}
@media (max-width:1024px){
  .p-hero__photo img{object-position:center 35%}
}.p-voice__photo .c-ai-label,.p-greeting__photo .c-ai-label{top:auto;bottom:0}@media (max-width:1024px){ .p-company__photo figcaption{font-size:13px;padding:4px 10px} }
/* 4回目の批評：スマホの社員写真と「住・店・工」 */
@media (max-width:1024px){
  .p-voice__photo{aspect-ratio:4/3;min-height:0}
  .p-voice__photo img{object-position:center 12%}
  .p-voice__photo .c-ai-label,.p-greeting__photo .c-ai-label{top:0;bottom:auto;right:0}
  .p-circuit__tags{gap:6px;top:14px;right:10px}
  .p-circuit__tags li,.p-circuit__tags li:not(.is-available){font-size:14px;font-weight:700;gap:3px}
  .p-circuit__tags li::before{width:14px;height:14px}
  .p-circuit__body{padding-right:62px}
}
/* 作り直した写真に合わせた表示位置 */
.p-hero__photo img{object-position:center 15%}
@media (max-width:1024px){
  .p-hero__photo img{object-position:center 20%}
  .p-voice:first-child .p-voice__photo img{object-position:center 8%}
  .p-voice:last-child .p-voice__photo{aspect-ratio:1/1}
  .p-voice:last-child .p-voice__photo img{object-position:center 62%}
}@media (max-width:599px){
  .p-day{margin:40px 0}
  .p-recruit__band{margin-bottom:40px}
  .p-recruit__table-area{margin-top:36px}
}