@charset "UTF-8";
/* ==========================================================================
   電気トラブルお助けセンター LP

   - デザインカンプ(幅1000px)の数値をそのまま使えるよう、1デザインpx = var(--u) で記述。
     .lp の幅に応じて全体が比例スケールし、PCでは --lp-max までしか広がらない。
   - 本文・注記の文字サイズには max() で下限(--fs-body / --fs-note)を設け、
     スマートフォンでも読める大きさを保つ。文字が伸びる部分は可変高さ(フロー)で組んでいる。
   ========================================================================== */
:root {
  --lp-max: 780px;      /* PC表示時の最大幅 */
  --red: #ce0b0b;
  --yellow: #ffea00;
  --fs-body: 12px;      /* 本文の最小文字サイズ */
  --fs-note: 11px;      /* 注記・説明文の最小文字サイズ */
  --fs-tiny: 9px;       /* （税込）などの最小文字サイズ */
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }
body {
  background: #f2f2f2;
  color: #000;
  font-family: "Hiragino Kaku Gothic StdN", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", sans-serif;
  font-weight: 600;
  line-height: 1;
  font-kerning: normal;
  font-feature-settings: "palt" 1, "kern" 1; /* Photoshopのメトリクスカーニング相当 */
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; height: auto; }
ul { list-style: none; }
a { color: inherit; text-decoration: none; }
h1, h2, h3 { font-size: inherit; font-weight: inherit; }
b { font-weight: inherit; }

.lp {
  --u: min(0.1vw, calc(var(--lp-max) / 1000)); /* JSが .lp の実幅から上書き(スクロールバー分の補正) */
  position: relative;
  width: 100%;
  max-width: var(--lp-max);
  margin: 0 auto;
  background: #fff;
  overflow: hidden;
}

/* ==========================================================================
   ヘッダー
   ========================================================================== */
.header { position: relative; height: calc((112) * var(--u)); background: #fff; }
.header__logo {
  position: absolute; left: calc((25) * var(--u)); top: calc((45) * var(--u));
  font-size: calc((24) * var(--u)); font-weight: 800; white-space: nowrap;
}
.header__cards { position: absolute; left: calc((362) * var(--u)); top: calc((29) * var(--u)); width: calc((239) * var(--u)); text-align: center; }
.header__cards img { width: calc((239) * var(--u)); }
.header__cards span { display: block; margin: calc((15) * var(--u)) calc((-30) * var(--u)) 0; font-size: max(calc((20) * var(--u)), 8px); font-weight: 600; white-space: nowrap; }
.header__tel {
  position: absolute; left: calc((621) * var(--u)); top: 0; width: calc((379) * var(--u)); height: calc((113) * var(--u));
  background: var(--red); color: #fff; display: block;
}
.header__tel-label {
  position: absolute; left: calc((20) * var(--u)); top: calc((20) * var(--u)); width: calc((342) * var(--u)); height: calc((28) * var(--u));
  background: var(--yellow); color: var(--red);
  font-size: max(calc((20) * var(--u)), 8px); font-weight: 600; line-height: calc((28) * var(--u)); text-align: center; white-space: nowrap;
}
.header__tel-num {
  position: absolute; left: 0; right: 0; top: calc((57) * var(--u));
  font-size: calc((40) * var(--u)); font-weight: 800; text-align: center; white-space: nowrap; letter-spacing: -.05em; text-indent: -.05em;
}

/* ==========================================================================
   待機状況バー
   ========================================================================== */
.status {
  height: calc((84) * var(--u));
  background: #1b1b1b url(../img/stripe_bg.png) center top / 100% 100% no-repeat;
  color: #fff; text-align: center;
}
.status__text { font-size: max(calc((30) * var(--u)), var(--fs-body)); font-weight: 600; line-height: calc((84) * var(--u)); white-space: nowrap; }

/* ==========================================================================
   ファーストビュー
   ========================================================================== */
.fv__hero img { width: 100%; }
.fv__lower {
  position: relative; height: calc((1148) * var(--u));
  background: #ffea00 url(../img/fv_lower_bg.jpg) center top / cover no-repeat;
}

/* こんなお悩みありませんか */
.worry {
  position: absolute; left: calc((32) * var(--u)); top: 0; width: calc((937) * var(--u)); height: calc((352) * var(--u));
  background: #fff; border: calc((2) * var(--u)) solid #000; border-radius: calc((28) * var(--u));
}
.worry__title {
  position: absolute; left: calc((235) * var(--u)); top: calc((-28) * var(--u)); width: calc((462) * var(--u)); height: calc((54) * var(--u));
  background: #000; border-radius: calc((27) * var(--u)); color: var(--yellow);
  font-size: calc((29.25) * var(--u)); font-weight: 600; line-height: calc((54) * var(--u)); text-align: center; white-space: nowrap;
}
.worry__list { position: absolute; left: calc((15) * var(--u)); top: calc((35) * var(--u)); display: flex; gap: calc((10.5) * var(--u)); }
.worry__item { position: relative; width: calc((218) * var(--u)); }
.worry__photo { height: calc((202) * var(--u)); border-radius: calc((10) * var(--u)) calc((10) * var(--u)) 0 0; overflow: hidden; }
.worry__photo img { width: 100%; height: 100%; object-fit: cover; }
.worry__label {
  height: calc((103) * var(--u)); margin-top: calc((-3) * var(--u)); padding-top: calc((21) * var(--u));
  background: #000; border-radius: 0 0 calc((10) * var(--u)) calc((10) * var(--u)); color: #fff; text-align: center;
  font-size: calc((26) * var(--u)); font-weight: 600; line-height: calc((30) * var(--u)); white-space: nowrap;
}
.worry__label b { color: var(--yellow); font-size: calc((30) * var(--u)); }
.worry__label-s { font-size: calc((27) * var(--u)) !important; }
.worry__label--3 { line-height: calc((34) * var(--u)); padding-top: calc((17) * var(--u)); }
.worry__label-w { color: #fff; }
.worry__swirl { position: absolute; top: calc((-8) * var(--u)); width: calc((54) * var(--u)); z-index: 1; }
.worry__swirl--1 { left: calc((-25) * var(--u)); }
.worry__swirl--2 { left: calc((-20) * var(--u)); }
.worry__swirl--3 { left: calc((-16) * var(--u)); }
.worry__swirl--4 { left: calc((-11) * var(--u)); }

/* お見積り・出張費・相談料 0円 */
.fv__zero {
  position: absolute; left: 0; right: 0; top: calc((361) * var(--u));
  color: var(--yellow); font-size: calc((40) * var(--u)); font-weight: 600; text-align: center; white-space: nowrap;
}
.fv__zero-txt { position: relative; top: calc((-31) * var(--u)); }
.fv__zero-sp { font-weight: 800; }
.fv__zero-num { color: #fff; font-size: calc((130) * var(--u)); font-weight: 800; }
.fv__zero-yen { color: #fff; font-size: calc((50) * var(--u)); font-weight: 800; }

.fv__price { position: absolute; left: calc((49) * var(--u)); top: calc((581) * var(--u)); }

/* 対応内容アイコン */
.fv__icons { position: absolute; left: calc((47) * var(--u)); top: calc((918) * var(--u)); display: flex; gap: calc((8.6) * var(--u)); }
.fv__icon { width: calc((144) * var(--u)); text-align: center; }
.fv__icon-circle {
  display: flex; align-items: center; justify-content: center;
  width: calc((144) * var(--u)); height: calc((144) * var(--u)); border-radius: 50%; background: #fff; border: calc((2) * var(--u)) solid #000;
}
.fv__icon-label { display: block; margin-top: calc((14) * var(--u)); font-size: calc((26) * var(--u)); font-weight: 800; white-space: nowrap; }

/* ==========================================================================
   価格カード(共通コンポーネント) 903 x 310
   ========================================================================== */
.price {
  position: relative; width: calc((903) * var(--u)); height: calc((310) * var(--u));
  background: #fff; border: calc((10) * var(--u)) solid var(--red); border-radius: calc((15) * var(--u)) calc((15) * var(--u)) calc((24) * var(--u)) calc((24) * var(--u));
}
.price__head {
  position: absolute; left: calc((-10) * var(--u)); top: calc((-10) * var(--u)); width: calc((903) * var(--u)); height: calc((103) * var(--u));
  padding-left: calc((100) * var(--u));
  background: var(--red); border-radius: calc((15) * var(--u)) calc((15) * var(--u)) 0 0;
  color: #fff; font-weight: 800; font-size: calc((50) * var(--u)); line-height: calc((67) * var(--u)); text-align: center; white-space: nowrap;
}
.price__off { color: var(--yellow); }
.price__off b {
  font-size: calc((100) * var(--u));
  /* PSDの「境界線(外側10px・赤)」効果: ヘッダー上端からはみ出す「50」の縁取り */
  text-shadow: calc((10.00) * var(--u)) calc((0.00) * var(--u)) 0 var(--red), calc((9.85) * var(--u)) calc((1.74) * var(--u)) 0 var(--red), calc((9.40) * var(--u)) calc((3.42) * var(--u)) 0 var(--red), calc((8.66) * var(--u)) calc((5.00) * var(--u)) 0 var(--red), calc((7.66) * var(--u)) calc((6.43) * var(--u)) 0 var(--red), calc((6.43) * var(--u)) calc((7.66) * var(--u)) 0 var(--red), calc((5.00) * var(--u)) calc((8.66) * var(--u)) 0 var(--red), calc((3.42) * var(--u)) calc((9.40) * var(--u)) 0 var(--red), calc((1.74) * var(--u)) calc((9.85) * var(--u)) 0 var(--red), calc((0.00) * var(--u)) calc((10.00) * var(--u)) 0 var(--red), calc((-1.74) * var(--u)) calc((9.85) * var(--u)) 0 var(--red), calc((-3.42) * var(--u)) calc((9.40) * var(--u)) 0 var(--red), calc((-5.00) * var(--u)) calc((8.66) * var(--u)) 0 var(--red), calc((-6.43) * var(--u)) calc((7.66) * var(--u)) 0 var(--red), calc((-7.66) * var(--u)) calc((6.43) * var(--u)) 0 var(--red), calc((-8.66) * var(--u)) calc((5.00) * var(--u)) 0 var(--red), calc((-9.40) * var(--u)) calc((3.42) * var(--u)) 0 var(--red), calc((-9.85) * var(--u)) calc((1.74) * var(--u)) 0 var(--red), calc((-10.00) * var(--u)) calc((0.00) * var(--u)) 0 var(--red), calc((-9.85) * var(--u)) calc((-1.74) * var(--u)) 0 var(--red), calc((-9.40) * var(--u)) calc((-3.42) * var(--u)) 0 var(--red), calc((-8.66) * var(--u)) calc((-5.00) * var(--u)) 0 var(--red), calc((-7.66) * var(--u)) calc((-6.43) * var(--u)) 0 var(--red), calc((-6.43) * var(--u)) calc((-7.66) * var(--u)) 0 var(--red), calc((-5.00) * var(--u)) calc((-8.66) * var(--u)) 0 var(--red), calc((-3.42) * var(--u)) calc((-9.40) * var(--u)) 0 var(--red), calc((-1.74) * var(--u)) calc((-9.85) * var(--u)) 0 var(--red), calc((-0.00) * var(--u)) calc((-10.00) * var(--u)) 0 var(--red), calc((1.74) * var(--u)) calc((-9.85) * var(--u)) 0 var(--red), calc((3.42) * var(--u)) calc((-9.40) * var(--u)) 0 var(--red), calc((5.00) * var(--u)) calc((-8.66) * var(--u)) 0 var(--red), calc((6.43) * var(--u)) calc((-7.66) * var(--u)) 0 var(--red), calc((7.66) * var(--u)) calc((-6.43) * var(--u)) 0 var(--red), calc((8.66) * var(--u)) calc((-5.00) * var(--u)) 0 var(--red), calc((9.40) * var(--u)) calc((-3.42) * var(--u)) 0 var(--red), calc((9.85) * var(--u)) calc((-1.74) * var(--u)) 0 var(--red);
}
.price__staff { position: absolute; left: calc((-47) * var(--u)); top: calc((-53) * var(--u)); width: calc((279) * var(--u)); }
.price__badge {
  position: absolute; left: calc((28) * var(--u)); top: calc((113) * var(--u)); width: calc((164) * var(--u)); height: calc((164) * var(--u));
  display: flex; align-items: center; justify-content: center;
  padding-top: calc((14) * var(--u));
  border-radius: 50%; border: calc((3) * var(--u)) solid var(--red);
  background: linear-gradient(to bottom, #ffffb7, #ffea00);
  color: var(--red); font-size: calc((25) * var(--u)); font-weight: 600; line-height: calc((30) * var(--u)); text-align: center;
}
.price__label {
  position: absolute; left: calc((227) * var(--u)); top: calc((133) * var(--u)); width: calc((178) * var(--u)); height: calc((48) * var(--u));
  border: calc((3) * var(--u)) solid #000; font-size: calc((30) * var(--u)); font-weight: 600; line-height: calc((42) * var(--u)); text-align: center;
}
.price__old {
  position: absolute; left: calc((228) * var(--u)); top: calc((196) * var(--u)); width: calc((180) * var(--u));
  font-size: calc((40) * var(--u)); font-weight: 800; text-align: center; white-space: nowrap;
}
.price__old::after {
  /* 取り消し線: PSDと同じ左上→右下(約11°) */
  content: ""; position: absolute; left: calc((-2) * var(--u)); top: calc((18) * var(--u)); width: calc((184) * var(--u)); height: calc((3) * var(--u));
  background: var(--red); transform: rotate(11deg);
}
.price__arrow {
  position: absolute; left: calc((425) * var(--u)); top: calc((156) * var(--u)); width: 0; height: 0;
  border-top: calc((36) * var(--u)) solid transparent; border-bottom: calc((36) * var(--u)) solid transparent; border-left: calc((27) * var(--u)) solid #000;
}
/* 「3,300円」: PSDのグラデーションオーバーレイ(上 #ff0101 → 26% #fd1c1c → 下 #ce0b0b) */
.price-grad {
  color: var(--red);
  background: linear-gradient(to bottom, #ff0101 0%, #fd1c1c 26%, #ce0b0b 100%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent;
}
.price__new {
  position: absolute; left: calc((467) * var(--u)); top: calc((158) * var(--u));
  font-size: calc((60) * var(--u)); font-weight: 800; line-height: 1; white-space: nowrap;
  transform: matrix(1.044, 0, -0.112, 1.162, 0, 0); transform-origin: 0 100%;
}
.price__new b { font-size: calc((90) * var(--u)); }
.price__yen { font-size: calc((60) * var(--u)); }
.price__tax { position: absolute; left: calc((792) * var(--u)); top: calc((151) * var(--u)); font-size: max(calc((20) * var(--u)), var(--fs-tiny)); font-weight: 600; white-space: nowrap; }

/* ==========================================================================
   実績(電力会社からも作業依頼)  ※本文が伸びる部分はフローで配置
   ========================================================================== */
.s2 {
  position: relative; padding: calc((86) * var(--u)) calc((49) * var(--u)) calc((50) * var(--u));
  background: #ebebeb url(../img/s2_bg.jpg) center top / cover no-repeat;
}
.s2__title { font-size: calc((40) * var(--u)); font-weight: 800; text-align: center; white-space: nowrap; }
.s2__title b { font-size: calc((50) * var(--u)); color: var(--red); }
.s2__tepco {
  margin: calc((50) * var(--u)) calc((-1) * var(--u)) 0 calc((-1) * var(--u)); min-height: calc((232) * var(--u)); padding: calc((23) * var(--u)) calc((20) * var(--u)) calc((25) * var(--u));
  background: #fff; border-radius: calc((10) * var(--u)); text-align: center;
}
.s2__tepco img { width: calc((626) * var(--u)); margin: 0 auto; }
.s2__tepco p { margin-top: calc((27) * var(--u)); font-size: max(calc((18) * var(--u)), var(--fs-note)); font-weight: 400; line-height: max(calc((20) * var(--u)), 14px); white-space: nowrap; }
.s2__circles { margin-top: calc((79) * var(--u)); display: flex; gap: calc((12.5) * var(--u)); }
.s2__circle {
  position: relative; width: calc((292) * var(--u)); height: calc((293) * var(--u)); border-radius: 50%;
  background: var(--red); color: #fff; text-align: center; font-weight: 800;
}
.s2__bulb { position: absolute; left: calc((99) * var(--u)); top: calc((-57) * var(--u)); width: calc((96) * var(--u)); }
.s2__c1a { position: absolute; left: 0; right: 0; top: calc((94) * var(--u)); font-size: calc((33) * var(--u)); white-space: nowrap; }
.s2__c1b { position: absolute; left: 0; right: 0; top: calc((146) * var(--u)); color: var(--yellow); font-size: calc((100) * var(--u)); white-space: nowrap; }
.s2__c1b span { font-size: calc((60) * var(--u)); }
.s2__c1b small { font-size: calc((20) * var(--u)); }
.s2__c2a { position: absolute; left: 0; right: 0; top: calc((85) * var(--u)); font-size: calc((40) * var(--u)); line-height: calc((40) * var(--u)); white-space: nowrap; }
.s2__c2b { position: absolute; left: 0; right: 0; top: calc((172) * var(--u)); color: var(--yellow); font-size: calc((65) * var(--u)); white-space: nowrap; }
.s2__c3 { position: absolute; left: 0; right: 0; top: calc((85) * var(--u)); white-space: nowrap; }
.s2__c3 span { display: block; }
.s2__c3a { font-size: calc((40) * var(--u)); line-height: calc((50) * var(--u)); }
.s2__c3b { color: var(--yellow); font-size: calc((50) * var(--u)); line-height: calc((60) * var(--u)); }
.s2__c3c { color: var(--yellow); font-size: calc((40) * var(--u)); line-height: calc((60) * var(--u)); }
.s2__note {
  margin: calc((30) * var(--u)) calc((-30) * var(--u)) 0; font-size: max(calc((20) * var(--u)), var(--fs-note)); font-weight: 400; line-height: max(calc((20) * var(--u)), 15px); text-align: center; white-space: nowrap;
}
.s2__row { display: flex; align-items: flex-start; margin-top: calc((46) * var(--u)); }
.s2__count {
  position: relative; flex: 0 0 auto; width: calc((362) * var(--u)); height: calc((223) * var(--u));
  background: #fff; border: calc((3) * var(--u)) solid var(--red); text-align: center;
}
.s2__count-label { margin-top: calc((34) * var(--u)); font-size: calc((30) * var(--u)); font-weight: 800; white-space: nowrap; }
.s2__count-num {
  position: relative; display: inline-block; margin-top: calc((26) * var(--u));
  color: var(--red); font-size: calc((60) * var(--u)); font-weight: 800; white-space: nowrap;
}
.s2__count-num b { font-size: calc((95) * var(--u)); }
.s2__count::after {
  content: ""; position: absolute; left: calc((38) * var(--u)); top: calc((179) * var(--u)); width: calc((278) * var(--u)); height: calc((4) * var(--u)); background: var(--red);
}
.s2__desc {
  flex: 1 1 auto; min-width: 0; margin: calc((22) * var(--u)) 0 0 calc((58) * var(--u));
  font-size: max(calc((30) * var(--u)), var(--fs-body)); font-weight: 600; line-height: max(calc((60) * var(--u)), 24px); white-space: nowrap;
}
.s2__desc b { font-size: max(calc((40) * var(--u)), 16px); }

/* ==========================================================================
   評価
   ========================================================================== */
.s3 {
  position: relative; height: calc((701) * var(--u)); color: #fff;
  background: #1a1a1a url(../img/s3_bg.jpg) center top / cover no-repeat;
}
.s3__title {
  position: absolute; left: 0; right: 0; top: calc((111) * var(--u));
  font-size: calc((40) * var(--u)); font-weight: 600; line-height: calc((60) * var(--u)); text-align: center; white-space: nowrap;
  background: linear-gradient(90deg, #977f2e 0%, #e7c96e 50%, #947c2b 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.s3__stats { position: absolute; left: calc((49) * var(--u)); top: calc((297) * var(--u)); display: flex; gap: calc((34) * var(--u)); }
.stat {
  position: relative; width: calc((434) * var(--u)); height: calc((302) * var(--u));
  border: calc((3) * var(--u)) solid #cdb96f; border-radius: calc((13) * var(--u)); text-align: center;
}
.stat__laurel {
  position: absolute; left: calc((62) * var(--u)); top: calc((3) * var(--u)); width: calc((307) * var(--u));
  mix-blend-mode: soft-light; opacity: .91; pointer-events: none;
}
.stat__label { position: absolute; left: 0; right: 0; top: calc((45) * var(--u)); font-size: calc((40) * var(--u)); font-weight: 600; white-space: nowrap; }
.stat__label sup { font-size: calc((20) * var(--u)); vertical-align: top; line-height: 1; }
.stat__num, .stat__stars {
  position: absolute; left: 0; right: 0;
  background: linear-gradient(90deg, #977f2e 0%, #e7c96e 50%, #947c2b 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.stat__num { top: calc((108) * var(--u)); font-size: calc((70) * var(--u)); font-weight: 800; }
.stat__line { position: absolute; left: calc((88) * var(--u)); top: calc((192) * var(--u)); width: calc((253) * var(--u)); }
.stat__stars { top: calc((210) * var(--u)); font-size: calc((50) * var(--u)); font-weight: 600; letter-spacing: .22em; text-indent: .22em; white-space: nowrap; }
.s3__note { position: absolute; right: calc((50) * var(--u)); top: calc((624) * var(--u)); font-size: max(calc((20) * var(--u)), var(--fs-note)); font-weight: 400; white-space: nowrap; }

/* ==========================================================================
   CV(共通)
   ========================================================================== */
.cv {
  position: relative; height: calc((1690) * var(--u));
  background: #ffea00 url(../img/cv_bg.jpg) center top / cover no-repeat;
}
.cv__bolt-l { position: absolute; left: calc((33) * var(--u)); top: calc((28) * var(--u)); width: calc((199) * var(--u)); }
.cv__bolt-r { position: absolute; left: calc((760) * var(--u)); top: calc((48) * var(--u)); width: calc((208) * var(--u)); }
.cv__title {
  position: absolute; left: 0; right: 0; top: calc((65) * var(--u));
  font-size: calc((60) * var(--u)); font-weight: 800; text-align: center; white-space: nowrap;
}
.cv__title b { font-size: calc((70) * var(--u)); color: var(--red); }
.cv__title--2 { font-size: calc((50) * var(--u)); }
.cv__sub { position: absolute; left: 0; right: 0; top: calc((173) * var(--u)); font-size: max(calc((30) * var(--u)), var(--fs-body)); font-weight: 600; text-align: center; white-space: nowrap; }
.cv__cards { position: absolute; left: calc((47) * var(--u)); top: calc((240) * var(--u)); display: flex; gap: calc((7.3) * var(--u)); }
.cv__card {
  width: calc((221) * var(--u));
  background: #000; border: calc((2) * var(--u)) solid #000; border-radius: calc((14) * var(--u)); overflow: hidden;
}
.cv__card img { width: 100%; height: calc((198) * var(--u)); object-fit: cover; }
.cv__card-label {
  height: calc((64) * var(--u));
  display: flex; align-items: center; justify-content: center;
  background: #000; color: #fff;
  font-size: calc((26) * var(--u)); font-weight: 600; white-space: nowrap;
}
.cv__call { position: absolute; left: calc((7) * var(--u)); right: 0; top: calc((547) * var(--u)); font-size: calc((40) * var(--u)); font-weight: 800; text-align: center; white-space: nowrap; }
.cv__price { position: absolute; left: calc((49) * var(--u)); top: calc((648) * var(--u)); }
.cv__hours { position: absolute; left: 0; right: 0; top: calc((984) * var(--u)); font-size: calc((40) * var(--u)); font-weight: 800; text-align: center; white-space: nowrap; }
.cv__hours b { color: var(--red); }
.cv__tel {
  position: absolute; left: calc((49) * var(--u)); top: calc((1052) * var(--u)); width: calc((902) * var(--u)); height: calc((240) * var(--u));
  display: block; border-radius: calc((120) * var(--u));
  background: linear-gradient(to bottom, #fe1718, #d50e0e);
  box-shadow: 0 calc((16) * var(--u)) 0 #8a1515; color: #fff;
}
.cv__tel-free { position: absolute; left: calc((174) * var(--u)); top: calc((40) * var(--u)); font-size: max(calc((30) * var(--u)), var(--fs-body)); font-weight: 600; white-space: nowrap; }
.cv__tel-icon { position: absolute; left: calc((81) * var(--u)); top: calc((82) * var(--u)); width: calc((75) * var(--u)); }
.cv__tel-num { position: absolute; left: calc((180) * var(--u)); top: calc((80) * var(--u)); font-size: calc((80) * var(--u)); font-weight: 800; white-space: nowrap; letter-spacing: -.066em; }
.cv__tel-msg {
  position: absolute; left: 0; right: 0; top: calc((184) * var(--u));
  color: var(--yellow); font-size: max(calc((30) * var(--u)), var(--fs-body)); font-weight: 600; text-align: center; white-space: nowrap;
}
.cv__boxes { position: absolute; left: calc((49) * var(--u)); top: calc((1326) * var(--u)); display: flex; gap: calc((12) * var(--u)); }
.cv__box {
  width: calc((445) * var(--u)); height: calc((95) * var(--u)); border-radius: calc((13) * var(--u));
  display: flex; align-items: baseline; justify-content: center;
  color: #fff; font-size: calc((30) * var(--u)); font-weight: 600; line-height: calc((95) * var(--u)); white-space: nowrap;
}
.cv__box--free { background: #b90000; letter-spacing: .035em; }
.cv__box--free b { color: var(--yellow); font-size: calc((40) * var(--u)); font-weight: 800; }
.cv__box--fast { background: #1b0287; }
.cv__box--fast b { color: var(--yellow); font-weight: 800; }
.cv__box--fast big { font-size: calc((50) * var(--u)); }
.cv__note {
  position: absolute; left: calc((49) * var(--u)); top: calc((1449) * var(--u)); width: calc((902) * var(--u)); min-height: calc((63) * var(--u));
  display: flex; align-items: center; justify-content: center;
  border: calc((3) * var(--u)) solid var(--red); border-radius: calc((13) * var(--u)); color: var(--red); font-size: max(calc((30) * var(--u)), var(--fs-body)); font-weight: 600; white-space: nowrap;
}
.cv__credit {
  position: absolute; left: calc((49) * var(--u)); top: calc((1540) * var(--u)); width: calc((902) * var(--u)); height: calc((102) * var(--u)); padding: 0 calc((45) * var(--u)) 0 calc((40) * var(--u));
  display: flex; align-items: center; gap: calc((44) * var(--u));
  background: #fff; border-radius: calc((13) * var(--u));
}
.cv__credit p {
  flex: 0 0 auto; min-width: calc((200) * var(--u));
  font-size: max(calc((20) * var(--u)), var(--fs-note)); font-weight: 600; line-height: max(calc((30) * var(--u)), 15px); text-align: center; white-space: nowrap;
}
.cv__credit img { flex: 0 1 auto; width: calc((573) * var(--u)); min-width: 0; }

/* ==========================================================================
   こんな電気トラブルで困っていませんか  ※サブ見出し以降はフロー
   ========================================================================== */
.s4 {
  position: relative; padding: calc((284) * var(--u)) calc((49) * var(--u)) calc((155) * var(--u));
  /* 下端は破れ紙の縁と放射線が続くため、下端基準で配置してセクション5の背景と繋ぐ */
  background: #f2f2f2 url(../img/s4_bg.jpg) center bottom / 100% auto no-repeat;
}
.s4__plug { position: absolute; left: calc((76) * var(--u)); top: calc((35) * var(--u)); width: calc((137) * var(--u)); }
.s4__outlet { position: absolute; left: calc((818) * var(--u)); top: calc((72) * var(--u)); width: calc((91) * var(--u)); }
.s4__bolt { position: absolute; left: calc((881) * var(--u)); top: calc((64) * var(--u)); width: calc((75) * var(--u)); }
.s4__title {
  position: absolute; left: 0; right: 0; top: calc((83) * var(--u));
  font-size: calc((60) * var(--u)); font-weight: 800; line-height: calc((72) * var(--u)); text-align: center; white-space: nowrap;
}
.s4__title b { font-size: calc((70) * var(--u)); color: var(--red); }
.s4__title small { font-size: calc((50) * var(--u)); }
.s4__sub { font-size: max(calc((25) * var(--u)), var(--fs-body)); font-weight: 600; line-height: max(calc((25) * var(--u)), 18px); text-align: center; letter-spacing: .006em; }
.s4__cards {
  margin-top: calc((44) * var(--u));
  display: grid; grid-template-columns: repeat(2, calc((434) * var(--u))); gap: calc((29) * var(--u)) calc((34) * var(--u));
}
.tcard {
  width: calc((434) * var(--u)); min-height: calc((622) * var(--u));
  background: #fff; border: calc((2) * var(--u)) solid #000; border-radius: calc((13) * var(--u)); overflow: hidden;
  box-shadow: 0 calc((2) * var(--u)) calc((3) * var(--u)) rgba(0, 0, 0, .1);
}
.tcard__head {
  height: calc((90) * var(--u)); display: flex; align-items: center; justify-content: center;
  background: var(--red); color: #fff; font-size: calc((40) * var(--u)); font-weight: 700; white-space: nowrap;
}
.tcard__photo { height: calc((300) * var(--u)); overflow: hidden; }
.tcard__photo img { width: 100%; height: 100%; object-fit: cover; }
.tcard__list { padding: calc((24) * var(--u)) calc((10) * var(--u)) calc((22) * var(--u)) calc((18) * var(--u)); }
.tcard__list li {
  position: relative; padding-left: calc((39) * var(--u));
  font-size: max(calc((26) * var(--u)), var(--fs-note)); font-weight: 600; line-height: max(calc((45.3) * var(--u)), 18px); white-space: nowrap;
}
.tcard__list li::before {
  content: ""; position: absolute; left: 0; top: calc((10) * var(--u)); width: calc((30) * var(--u)); height: calc((30) * var(--u));
  background: url(../img/bolt_small.png) center / contain no-repeat;
}
.s4__warn { margin-top: calc((68) * var(--u)); font-size: calc((33) * var(--u)); font-weight: 800; text-align: center; white-space: nowrap; }
.s4__warn b { color: var(--red); }
.s4__attention {
  position: absolute; left: calc((304) * var(--u)); bottom: calc((-33) * var(--u)); width: calc((375) * var(--u)); height: calc((151) * var(--u)); z-index: 2;
  background: url(../img/attention.png) center / contain no-repeat;
  padding-left: calc((18) * var(--u));
  font-size: calc((40) * var(--u)); font-weight: 800; line-height: calc((157) * var(--u)); text-align: center; white-space: nowrap;
}

/* ==========================================================================
   漏電の可能性
   ========================================================================== */
.s5 {
  position: relative; height: calc((929) * var(--u));
  background: #fff url(../img/s5_bg.jpg) center top / 100% auto no-repeat;
}
.s5__title {
  position: absolute; left: 0; right: 0; top: calc((60) * var(--u));
  font-size: calc((50) * var(--u)); font-weight: 800; line-height: calc((75) * var(--u)); text-align: center; white-space: nowrap;
}
.s5__title b { font-size: calc((60) * var(--u)); color: var(--red); }
.s5__sub { position: absolute; left: 0; right: 0; top: calc((246) * var(--u)); font-size: max(calc((30) * var(--u)), var(--fs-body)); font-weight: 600; text-align: center; white-space: nowrap; }
.s5__list { position: absolute; left: calc((49) * var(--u)); top: calc((329) * var(--u)); }
.s5__list li {
  position: relative; width: calc((902) * var(--u)); height: calc((122) * var(--u)); margin-bottom: calc((18) * var(--u)); padding-left: calc((149) * var(--u)); letter-spacing: -.01em;
  background: #000; border: calc((2) * var(--u)) solid var(--yellow); border-radius: calc((13) * var(--u));
  color: #fff; font-size: calc((40) * var(--u)); font-weight: 600; line-height: calc((118) * var(--u)); white-space: nowrap;
}
.s5__list li::before {
  content: ""; position: absolute; left: calc((40) * var(--u)); top: calc((16) * var(--u)); width: calc((76) * var(--u)); height: calc((85) * var(--u));
  background: url(../img/bolt_row.png) center / contain no-repeat;
}
.s5__list b { color: var(--yellow); }

/* ==========================================================================
   ご自身での電気工事は危険です  ※説明文以降はフロー
   ========================================================================== */
.s6 {
  position: relative; padding: calc((297) * var(--u)) calc((49) * var(--u)) calc((81) * var(--u)); color: #fff;
  background: #080809 url(../img/s6_bg.jpg) center top / cover no-repeat;
}
.s6__title {
  position: absolute; left: 0; right: 0; top: calc((89) * var(--u));
  font-size: calc((70) * var(--u)); font-weight: 800; line-height: calc((80) * var(--u)); text-align: center; white-space: nowrap;
}
.s6__title small { font-size: calc((50) * var(--u)); }
.s6__y { color: var(--yellow); }
.s6__r { color: var(--red); }
.s6__sub { font-size: max(calc((27) * var(--u)), var(--fs-body)); font-weight: 600; line-height: max(calc((27) * var(--u)), 18px); text-align: center; }
.s6__box {
  position: relative; margin: calc((43) * var(--u)) calc((-23) * var(--u)) 0 calc((26) * var(--u)); height: calc((203) * var(--u));
  background: var(--red); border-radius: calc((14) * var(--u));
}
.s6__box img { position: absolute; left: calc((36) * var(--u)); top: calc((32) * var(--u)); width: calc((161) * var(--u)); }
.s6__box p { position: absolute; left: calc((233) * var(--u)); top: calc((35) * var(--u)); font-size: calc((50) * var(--u)); font-weight: 600; line-height: calc((65) * var(--u)); white-space: nowrap; }
.s6__box b { color: var(--yellow); font-size: calc((60) * var(--u)); font-weight: 800; }
.s6__labels { position: relative; height: calc((40) * var(--u)); margin: calc((49) * var(--u)) calc((-49) * var(--u)) 0; }
.s6__label { position: absolute; top: 0; font-size: calc((40) * var(--u)); font-weight: 600; white-space: nowrap; }
.s6__label--fire { left: calc((216) * var(--u)); }
.s6__label--shock { left: calc((626) * var(--u)); }
.s6__illust { position: relative; height: calc((332) * var(--u)); margin: calc((29) * var(--u)) calc((-49) * var(--u)) 0; }
.s6__fire { position: absolute; left: calc((129) * var(--u)); top: 0; width: calc((332) * var(--u)); }
.s6__shock { position: absolute; left: calc((540) * var(--u)); top: calc((-3) * var(--u)); width: calc((329) * var(--u)); }

/* ==========================================================================
   選ばれる4つの理由  ※理由ブロックはフロー
   ========================================================================== */
.s7 {
  position: relative; padding: calc((302) * var(--u)) calc((49) * var(--u)) calc((94) * var(--u));
  background: #eceef1 url(../img/s7_tile.png) left top / calc((32) * var(--u)) calc((32) * var(--u)) repeat;
}
.s7__title { position: absolute; left: calc((80) * var(--u)); top: calc((11) * var(--u)); width: calc((840) * var(--u)); }
.s7__title img { width: 100%; }
.reason { position: relative; }
.reason + .reason { margin-top: calc((49) * var(--u)); }
.reason + .reason--3 { margin-top: calc((45) * var(--u)); }
.reason__num { position: absolute; left: 0; top: 0; width: calc((94) * var(--u)); }
.reason__title { padding: calc((37) * var(--u)) 0 0 calc((111) * var(--u)); font-size: calc((50) * var(--u)); font-weight: 800; white-space: nowrap; }
.reason--2 .reason__title { padding-top: calc((44) * var(--u)); font-size: calc((45) * var(--u)); }
.reason--3 .reason__title { padding-top: calc((48) * var(--u)); font-size: calc((45) * var(--u)); }
.reason--4 .reason__title { padding-top: calc((41) * var(--u)); font-size: calc((40) * var(--u)); }
.reason__photo { display: block; width: calc((902) * var(--u)); height: calc((502) * var(--u)); margin-top: calc((36) * var(--u)); object-fit: cover; border-radius: calc((13) * var(--u)) calc((13) * var(--u)) 0 0; }
.reason--2 .reason__photo { height: calc((503) * var(--u)); margin-top: calc((37) * var(--u)); }
.reason--3 .reason__photo { height: calc((503) * var(--u)); margin-top: calc((33) * var(--u)); }
.reason--4 .reason__photo { height: calc((503) * var(--u)); margin-top: calc((40) * var(--u)); }
.reason__text {
  position: relative; margin-top: calc((-2) * var(--u)); min-height: calc((264) * var(--u)); padding: calc((42) * var(--u)) calc((42) * var(--u)) calc((5) * var(--u));
  background: #fff; font-size: max(calc((28) * var(--u)), var(--fs-body)); font-weight: 600; line-height: max(calc((49) * var(--u)), 21px); text-align: justify;
}
.reason--2 .reason__text { margin-top: calc((-3) * var(--u)); min-height: calc((219) * var(--u)); padding: calc((36) * var(--u)) calc((63) * var(--u)) calc((36) * var(--u)) calc((42) * var(--u)); letter-spacing: .009em; }
.reason--3 .reason__text { margin-top: calc((-3) * var(--u)); min-height: calc((219) * var(--u)); padding: calc((42) * var(--u)) calc((42) * var(--u)) calc((30) * var(--u)); }
.reason--4 .reason__text { margin-top: calc((-3) * var(--u)); min-height: calc((263) * var(--u)); padding: calc((36) * var(--u)) calc((54) * var(--u)) calc((31) * var(--u)) calc((42) * var(--u)); }
.reason__text small { display: block; font-size: max(calc((20) * var(--u)), var(--fs-note)); line-height: max(calc((35) * var(--u)), 16px); }

/* ==========================================================================
   料金のご案内  ※サブ見出し以降はフロー
   ========================================================================== */
.s8 {
  position: relative; padding: calc((229) * var(--u)) calc((49) * var(--u)) calc((73) * var(--u));
  background: #ffea00 url(../img/s8_bg.jpg) center top / cover no-repeat;
}
.s8__title { position: absolute; left: 0; right: 0; top: calc((107) * var(--u)); font-size: calc((60) * var(--u)); font-weight: 800; text-align: center; white-space: nowrap; }
.s8__title b { font-size: calc((70) * var(--u)); color: var(--red); }
.s8__title small { font-size: calc((50) * var(--u)); }
.s8__sub { font-size: max(calc((30) * var(--u)), var(--fs-body)); font-weight: 600; line-height: max(calc((30) * var(--u)), 18px); text-align: center; }
.s8__price { margin-top: calc((76) * var(--u)); }
.s8__table {
  margin-top: calc((64) * var(--u));
  background: #fff; border: calc((2) * var(--u)) solid #000; border-radius: calc((12) * var(--u)); overflow: hidden;
}
.prow { position: relative; min-height: calc((147) * var(--u)); padding: calc((27) * var(--u)) calc((330) * var(--u)) calc((9) * var(--u)) calc((183) * var(--u)); border-bottom: calc((1) * var(--u)) solid #000; }
.prow:last-child { border-bottom: 0; }
.prow__icon { position: absolute; }
.prow--1 .prow__icon { left: calc((27) * var(--u)); top: calc((16) * var(--u)); width: calc((105) * var(--u)); }
.prow--2 .prow__icon { left: calc((6) * var(--u));  top: calc((25) * var(--u)); width: calc((148) * var(--u)); }
.prow--3 .prow__icon { left: calc((50) * var(--u)); top: calc((16) * var(--u)); width: calc((89) * var(--u)); }
.prow--4 .prow__icon { left: calc((42) * var(--u)); top: calc((27) * var(--u)); width: calc((104) * var(--u)); }
.prow--5 .prow__icon { left: calc((53) * var(--u)); top: calc((24) * var(--u)); width: calc((112) * var(--u)); }
.prow--6 .prow__icon { left: calc((51) * var(--u)); top: calc((23) * var(--u)); width: calc((85) * var(--u)); }
.prow__name { font-size: calc((40) * var(--u)); font-weight: 800; white-space: nowrap; }
.prow__name--s { font-size: calc((38) * var(--u)); }
.prow__desc { margin-top: calc((23) * var(--u)); font-size: max(calc((20) * var(--u)), var(--fs-note)); font-weight: 600; line-height: max(calc((30) * var(--u)), 15px); white-space: nowrap; }
.prow--3 { padding-top: calc((28) * var(--u)); }
.prow--3 .prow__desc { margin-top: calc((22) * var(--u)); }
.prow--4 { padding-top: calc((23) * var(--u)); padding-bottom: calc((8) * var(--u)); }
.prow--4 .prow__desc { margin-top: calc((15) * var(--u)); }
.prow--6 { padding-top: calc((20) * var(--u)); padding-bottom: calc((8) * var(--u)); }
.prow--6 .prow__desc { margin-top: calc((20) * var(--u)); }
.prow__old { position: absolute; left: calc((578) * var(--u)); top: calc((21) * var(--u)); font-size: calc((31) * var(--u)); font-weight: 800; white-space: nowrap; }
.prow__old::after {
  content: ""; position: absolute; left: calc((-2) * var(--u)); top: calc((14) * var(--u)); width: calc((145) * var(--u)); height: calc((3) * var(--u));
  background: var(--red); transform: rotate(11deg);
}
.prow__tri {
  position: absolute; left: calc((727) * var(--u)); top: calc((25) * var(--u)); width: 0; height: 0;
  border-top: calc((13) * var(--u)) solid transparent; border-bottom: calc((13) * var(--u)) solid transparent; border-left: calc((15) * var(--u)) solid #000;
}
.prow--2 .prow__old, .prow--5 .prow__old { top: calc((17) * var(--u)); }
.prow--2 .prow__tri, .prow--5 .prow__tri { top: calc((21) * var(--u)); }
.prow--2 .prow__new, .prow--5 .prow__new { top: calc((36) * var(--u)); }
.prow--2 .prow__tax, .prow--5 .prow__tax { top: calc((61) * var(--u)); }
.prow__new {
  position: absolute; left: calc((600) * var(--u)); top: calc((40) * var(--u));
  font-size: calc((60) * var(--u)); font-weight: 800; line-height: 1; white-space: nowrap;
  transform: matrix(0.709, 0, -0.076, 0.789, 0, 0); transform-origin: 0 100%;
}
.prow__new b { font-size: calc((90) * var(--u)); }
.prow__new .price__yen { font-size: calc((60) * var(--u)); }
.prow__tax { position: absolute; left: calc((821) * var(--u)); top: calc((65) * var(--u)); font-size: max(calc((13.6) * var(--u)), 8px); font-weight: 600; white-space: nowrap; }
.s8__notes { margin: calc((53) * var(--u)) 0 0 calc((1) * var(--u)); font-size: max(calc((30) * var(--u)), var(--fs-body)); font-weight: 600; line-height: max(calc((52.5) * var(--u)), 21px); }
.s8__notes li { white-space: nowrap; }
.s8__note {
  margin: calc((58.5) * var(--u)) calc((-6) * var(--u)) 0 calc((-6) * var(--u));
  font-size: max(calc((19) * var(--u)), var(--fs-note)); font-weight: 600; line-height: max(calc((33) * var(--u)), 16px); text-align: right; white-space: nowrap;
}

/* ==========================================================================
   スピード対応と安心価格の理由  ※比較表以降はフロー
   ========================================================================== */
.s9 { position: relative; padding: calc((282) * var(--u)) calc((47) * var(--u)) calc((64) * var(--u)); background: #fff; }
.s9__ribbon {
  position: absolute; left: calc((258) * var(--u)); top: calc((62) * var(--u)); width: calc((486) * var(--u)); height: calc((92) * var(--u));
  background: url(../img/ribbon.png) center / contain no-repeat;
  color: var(--yellow); font-size: calc((37) * var(--u)); font-weight: 800; line-height: calc((92) * var(--u)); text-align: center; white-space: nowrap; letter-spacing: -.02em;
}
.s9__title { position: absolute; left: 0; right: 0; top: calc((170) * var(--u)); font-size: calc((60) * var(--u)); font-weight: 800; text-align: center; white-space: nowrap; letter-spacing: -.012em; }
.s9__title small { font-size: calc((50) * var(--u)); }
.s9__table { position: relative; width: calc((906) * var(--u)); height: calc((605) * var(--u)); }
.cmp-l { position: absolute; left: calc((1) * var(--u)); top: calc((23) * var(--u)); width: calc((375) * var(--u)); }
.cmp-l__head {
  height: calc((80) * var(--u)); background: #b5b5b5; border-radius: calc((10) * var(--u)) calc((10) * var(--u)) 0 0;
  color: #fff; font-size: max(calc((30) * var(--u)), 10px); font-weight: 600; line-height: calc((80) * var(--u)); text-align: center;
}
.cmp-l__row1 {
  height: calc((111) * var(--u)); margin-top: calc((-2) * var(--u)); border: calc((2) * var(--u)) solid #b5b5b5; background: #fff;
  font-size: max(calc((30) * var(--u)), 10px); font-weight: 600; line-height: calc((107) * var(--u)); text-align: center; white-space: nowrap;
}
.cmp-l__rows { position: absolute; left: calc((-1) * var(--u)); top: calc((189) * var(--u)); width: calc((378) * var(--u)); }
.cmp-l__rows li {
  height: calc((98) * var(--u)); border-top: calc((2) * var(--u)) solid #fff; background: #f9eb4d;
  font-size: max(calc((26) * var(--u)), var(--fs-note)); font-weight: 600; line-height: calc((96) * var(--u)); text-align: center; white-space: nowrap;
}
.cmp-l__rows li:first-child { height: calc((94) * var(--u)); border-top: 0; line-height: calc((94) * var(--u)); }
.cmp-l__rows li:last-child { height: calc((103) * var(--u)); line-height: calc((101) * var(--u)); }
.s9__arrow { position: absolute; left: calc((373) * var(--u)); top: calc((211) * var(--u)); width: calc((82) * var(--u)); z-index: 1; }
.cmp-r { position: absolute; left: calc((452) * var(--u)); top: 0; width: calc((452) * var(--u)); }
.cmp-r__head {
  height: calc((103) * var(--u)); padding-left: calc((18) * var(--u)); background: var(--red); border-radius: calc((12) * var(--u)) calc((12) * var(--u)) 0 0;
  color: #fff; font-size: max(calc((30) * var(--u)), 10px); font-weight: 800; line-height: calc((103) * var(--u)); text-align: center; white-space: nowrap;
}
.cmp-r__row1 {
  height: calc((111) * var(--u)); margin-top: calc((-3) * var(--u)); border: calc((2) * var(--u)) solid var(--red); background: var(--yellow);
  color: var(--red); font-size: calc((34) * var(--u)); font-weight: 800; line-height: calc((107) * var(--u)); text-align: center; white-space: nowrap;
}
.cmp-r__rows { position: absolute; left: calc((-2) * var(--u)); top: calc((211) * var(--u)); width: calc((456) * var(--u)); }
.cmp-r__rows li {
  height: calc((98) * var(--u)); border-top: calc((2) * var(--u)) solid #fff; background: #eee;
  font-size: max(calc((24) * var(--u)), var(--fs-note)); font-weight: 600; line-height: calc((96) * var(--u)); text-align: center; white-space: nowrap;
}
.cmp-r__rows li:first-child { height: calc((95) * var(--u)); border-top: 0; line-height: calc((95) * var(--u)); }
.cmp-r__rows li:last-child { height: calc((103) * var(--u)); line-height: calc((101) * var(--u)); }
.cmp-r__rows-em { background: var(--yellow) !important; font-size: calc((34) * var(--u)) !important; }
.s9__bottom {
  position: relative; margin: calc((53) * var(--u)) calc((-1) * var(--u)) 0 calc((4) * var(--u)); min-height: calc((252) * var(--u));
  border: calc((5) * var(--u)) solid var(--red); background: #fff; text-align: center; isolation: isolate;
}
.s9__bottom-1 { margin-top: calc((34) * var(--u)); font-size: max(calc((30) * var(--u)), var(--fs-body)); font-weight: 600; white-space: nowrap; }
.s9__bottom-1 b { font-size: calc((50) * var(--u)); color: var(--red); }
.s9__chevron { width: calc((609) * var(--u)); margin: calc((20) * var(--u)) auto 0; }
.s9__bottom-2 { position: relative; z-index: 0; margin-top: calc((11) * var(--u)); font-size: calc((50) * var(--u)); font-weight: 800; white-space: nowrap; letter-spacing: -.01em; }
.s9__bottom-2 b { font-size: calc((60) * var(--u)); color: var(--red); }
.s9__bottom::after {
  content: ""; position: absolute; z-index: -1; left: calc((28) * var(--u)); top: calc((191) * var(--u)); width: calc((374) * var(--u)); height: calc((27) * var(--u)); background: var(--yellow);
}
.s9__note { margin: calc((38) * var(--u)) 0 0 calc((1) * var(--u)); font-size: max(calc((20) * var(--u)), var(--fs-note)); font-weight: 600; line-height: max(calc((35) * var(--u)), 16px); white-space: nowrap; }

/* ==========================================================================
   お客様の声  ※カードはフロー(可変高さ)
   ========================================================================== */
.s10 {
  position: relative; padding: calc((235) * var(--u)) calc((49) * var(--u)) calc((73) * var(--u));
  background: #ebebeb url(../img/s10_bg.jpg) center top / cover no-repeat;
}
.s10__title { position: absolute; left: 0; right: 0; top: calc((96) * var(--u)); font-size: calc((60) * var(--u)); font-weight: 800; text-align: center; white-space: nowrap; }
.voice {
  position: relative; min-height: calc((282) * var(--u)); padding: calc((40) * var(--u)) calc((32) * var(--u)) calc((46) * var(--u)) calc((172) * var(--u));
  background: #fff; border-radius: calc((13) * var(--u));
}
.voice + .voice { margin-top: calc((28) * var(--u)); }
.voice__case {
  position: absolute; left: calc((27) * var(--u)); top: calc((45) * var(--u)); width: calc((126) * var(--u)); height: calc((33) * var(--u));
  background: var(--red); color: var(--yellow);
  font-size: calc((20) * var(--u)); font-weight: 600; line-height: calc((33) * var(--u)); text-align: center; letter-spacing: -.045em;
}
.voice__avatar { position: absolute; left: calc((20) * var(--u)); top: calc((96) * var(--u)); width: calc((136) * var(--u)); }
.voice__title { font-size: calc((40) * var(--u)); font-weight: 600; white-space: nowrap; letter-spacing: -.01em; }
.voice__meta { margin-top: calc((16) * var(--u)); color: #898989; font-size: max(calc((20) * var(--u)), var(--fs-note)); font-weight: 600; line-height: max(calc((20) * var(--u)), 15px); white-space: nowrap; }
.voice__body {
  margin-top: calc((15) * var(--u));
  font-size: max(calc((20) * var(--u)), var(--fs-body)); font-weight: 600; line-height: max(calc((35) * var(--u)), 21px); text-align: justify;
}
.voice--1 .voice__body { letter-spacing: .006em; }
.voice__body--tight { letter-spacing: -.025em; }
.voice__body--tight2 { letter-spacing: -.012em; }

/* ==========================================================================
   対応エリア  ※ボックスはフロー(可変高さ)
   ========================================================================== */
.s11 { position: relative; padding: calc((244) * var(--u)) calc((49) * var(--u)) calc((112) * var(--u)); background: var(--yellow); }
.s11__title { position: absolute; left: 0; right: 0; top: calc((95) * var(--u)); font-size: calc((60) * var(--u)); font-weight: 800; text-align: center; white-space: nowrap; }
.area { background: #fff; border-radius: calc((13) * var(--u)); overflow: hidden; }
.area--1 { min-height: calc((353) * var(--u)); margin-bottom: calc((27) * var(--u)); }
.area--2 { min-height: calc((623) * var(--u)); margin-bottom: calc((28) * var(--u)); }
.area--3 { min-height: calc((353) * var(--u)); margin-bottom: calc((27) * var(--u)); }
.area--4 { min-height: calc((413) * var(--u)); }
.area__head { height: calc((103) * var(--u)); background: #e5e5e5; font-size: calc((40) * var(--u)); font-weight: 600; line-height: calc((103) * var(--u)); text-align: center; }
.area__body {
  padding: calc((18) * var(--u)) calc((27) * var(--u)) calc((22) * var(--u));
  font-size: max(calc((30) * var(--u)), var(--fs-body)); font-weight: 400; line-height: max(calc((52.5) * var(--u)), 21px); text-align: justify;
  line-break: anywhere; /* PSDは禁則なしで組まれ「・」が行頭に来る */
}
.area--1 .area__body { padding-top: calc((13) * var(--u)); letter-spacing: -.006em; }
.area--2 .area__body { letter-spacing: .014em; }
.area--3 .area__body { letter-spacing: .01em; }
.area--4 .area__body { letter-spacing: .008em; }
.s11__note { margin-top: calc((93) * var(--u)); font-size: max(calc((30) * var(--u)), var(--fs-body)); font-weight: 600; line-height: max(calc((30) * var(--u)), 18px); text-align: center; }

/* ==========================================================================
   よくあるご質問
   ========================================================================== */
.s12 { position: relative; padding: calc((91) * var(--u)) calc((49) * var(--u)) calc((104) * var(--u)); background: #fff; }
.s12__title { margin-bottom: calc((88) * var(--u)); font-size: calc((50) * var(--u)); font-weight: 800; text-align: center; white-space: nowrap; }
.faq { border: calc((2) * var(--u)) solid #000; border-radius: calc((13) * var(--u)); overflow: hidden; margin-bottom: calc((28) * var(--u)); }
.faq:last-child { margin-bottom: 0; }
.faq__q {
  position: relative; min-height: calc((101) * var(--u)); padding: 0 calc((30) * var(--u)) calc((3) * var(--u)) calc((81) * var(--u));
  display: flex; align-items: center;
  background: #000; color: #fff; font-size: max(calc((30) * var(--u)), var(--fs-body)); font-weight: 600; line-height: 1.4;
}
.faq__q::before {
  content: ""; position: absolute; left: calc((17) * var(--u)); top: calc((23) * var(--u)); width: calc((48) * var(--u)); height: calc((55) * var(--u));
  background: url(../img/q.png) center / contain no-repeat;
}
.faq__a {
  position: relative; padding: calc((27) * var(--u)) calc((44) * var(--u)) calc((30) * var(--u)) calc((81) * var(--u));
  font-size: max(calc((30) * var(--u)), var(--fs-body)); font-weight: 400; line-height: max(calc((50) * var(--u)), 20px); text-align: justify;
}
.faq:first-of-type .faq__a { letter-spacing: .006em; }
.faq:last-of-type .faq__a { letter-spacing: -.006em; }
.faq__a::before {
  content: ""; position: absolute; left: calc((22) * var(--u)); top: calc((28) * var(--u)); width: calc((40) * var(--u)); height: calc((42) * var(--u));
  background: url(../img/a.png) center / contain no-repeat;
}

/* ==========================================================================
   対応内容  ※ボックスはフロー(可変高さ)
   ========================================================================== */
.s13 { position: relative; padding: calc((361) * var(--u)) calc((49) * var(--u)) calc((68) * var(--u)); background: var(--red); color: #fff; }
.s13__title {
  position: absolute; left: 0; right: 0; top: calc((65) * var(--u));
  font-size: calc((50) * var(--u)); font-weight: 600; line-height: calc((72) * var(--u)); letter-spacing: .05em; text-indent: .05em;
  text-align: center; white-space: nowrap;
}
.svc {
  min-height: calc((102) * var(--u)); padding: calc((19) * var(--u)) calc((20) * var(--u)) calc((18) * var(--u));
  background: #fff; border-radius: calc((13) * var(--u)); color: #000; text-align: center; letter-spacing: .05em;
}
.svc + .svc { margin-top: calc((18) * var(--u)); }
.svc--5 { min-height: calc((140) * var(--u)); padding-top: calc((22) * var(--u)); padding-bottom: calc((22) * var(--u)); }
.svc__name {
  display: inline-block;
  font-size: max(calc((23) * var(--u)), var(--fs-note)); font-weight: 700; text-decoration: underline; text-underline-offset: calc((3) * var(--u)); text-decoration-thickness: calc((1) * var(--u));
  white-space: nowrap;
}
.svc__list { margin-top: calc((14) * var(--u)); font-size: max(calc((20) * var(--u)), var(--fs-note)); font-weight: 600; line-height: max(calc((28) * var(--u)), 16px); white-space: nowrap; }
.svc--5 .svc__list { margin-top: calc((17) * var(--u)); }

/* Photoshop(メトリクス)との字幅差の補正(見出し)。本文の字間は各段落でPSDの改行位置に合わせている */
.s4__title, .s5__title, .s6__title, .reason__title, .cv__title, .cv__call, .cv__hours, .s4__attention, .s10__title, .s2__title { letter-spacing: -.015em; }
.s9__title { letter-spacing: -.022em; }
.s10__title { letter-spacing: -.03em; }
.s11__title { letter-spacing: -.04em; }
.s9__ribbon { letter-spacing: -.03em; }
.cv__hours { letter-spacing: -.025em; }
.reason--1 .reason__title { letter-spacing: -.022em; }
.reason--2 .reason__title { letter-spacing: -.009em; }
.reason--3 .reason__title { letter-spacing: -.019em; }
.reason--4 .reason__title { letter-spacing: -.05em; }
.s13__title { letter-spacing: .035em; text-indent: .035em; }

/* Photoshop の「水平比率」指定を再現 */
.hs { display: inline-block; max-width: 100%; transform: scaleX(var(--hs, 1)); transform-origin: 0 50%; }

/* CV2/CV3 はPSD上で「故障かなと…」行が6px低い */
.cv--2 .cv__call, .cv--3 .cv__call { top: calc((553) * var(--u)); }

/* ==========================================================================
   スマートフォン(文字サイズの下限が効く幅)での調整
   ========================================================================== */
@media (max-width: 599px) {
  /* 注記はPSDの改行位置ではなく幅に合わせて折り返す */
  .s2__tepco p, .s2__note, .s2__desc, .cv__credit p, .s8__notes li, .s8__note, .s9__note, .svc__list, .tcard__list li, .prow__desc { white-space: normal; }
  .s2__tepco br, .s2__desc br, .s8__note br { display: none; }
  .s8__note { text-align: left; }
  .cv__credit p { text-align: left; }
}

/* ==========================================================================
   お問い合わせフォーム(セクション14) / 下層ページ(確認・完了・プライバシーポリシー)
   ========================================================================== */
.s14 { position: relative; padding: calc((90) * var(--u)) calc((49) * var(--u)) calc((100) * var(--u)); background: #f2f2f2; }
.s14__title { font-size: calc((60) * var(--u)); font-weight: 800; text-align: center; white-space: nowrap; letter-spacing: -.015em; }
.s14__title b { font-size: calc((70) * var(--u)); color: var(--red); }
.s14__sub { margin-top: calc((28) * var(--u)); font-size: max(calc((28) * var(--u)), var(--fs-body)); font-weight: 600; line-height: max(calc((46) * var(--u)), 20px); text-align: center; }
.s14__sub br { display: none; }
.cform {
  margin-top: calc((48) * var(--u)); padding: calc((50) * var(--u)) calc((50) * var(--u)) calc((56) * var(--u));
  background: #fff; border: calc((2) * var(--u)) solid #000; border-radius: calc((13) * var(--u));
}
.cform__hp { position: absolute; left: -9999px; top: 0; width: 1px; height: 1px; overflow: hidden; }
.cform__row + .cform__row, .cform__policy { margin-top: calc((40) * var(--u)); }
.cform__label { display: flex; align-items: center; gap: calc((14) * var(--u)); font-size: max(calc((30) * var(--u)), 14px); font-weight: 800; line-height: 1.3; }
.cform__req {
  flex: 0 0 auto; padding: calc((4) * var(--u)) calc((12) * var(--u)); border-radius: calc((4) * var(--u));
  background: var(--red); color: #fff; font-size: max(calc((20) * var(--u)), 11px); font-weight: 600; line-height: 1.4;
}
.cform__input, .cform__textarea {
  display: block; width: 100%; margin-top: calc((14) * var(--u)); padding: calc((18) * var(--u)) calc((24) * var(--u));
  border: calc((2) * var(--u)) solid #999; border-radius: calc((8) * var(--u)); background: #fff;
  font: inherit; font-size: max(calc((30) * var(--u)), 16px); font-weight: 500; line-height: 1.5; color: #000;
  -webkit-appearance: none; appearance: none;
}
.cform__input { height: max(calc((90) * var(--u)), 48px); }
.cform__textarea { min-height: max(calc((320) * var(--u)), 160px); resize: vertical; }
.cform__input::placeholder, .cform__textarea::placeholder { color: #aaa; }
.cform__input:focus, .cform__textarea:focus { outline: none; border-color: var(--red); box-shadow: 0 0 0 calc((4) * var(--u)) rgba(206, 11, 11, .18); }
.cform__row.is-error .cform__input, .cform__row.is-error .cform__textarea { border-color: var(--red); background: #fff6f6; }
.cform__error { display: none; margin-top: calc((10) * var(--u)); color: var(--red); font-size: max(calc((24) * var(--u)), 12px); font-weight: 600; line-height: 1.5; }
.cform__row.is-error .cform__error, .cform__policy.is-error .cform__error { display: block; }
.cform__note { margin-top: calc((10) * var(--u)); color: #666; font-size: max(calc((22) * var(--u)), 11px); font-weight: 500; line-height: 1.5; }
.cform__policy-box {
  height: max(calc((300) * var(--u)), 180px); margin-top: calc((14) * var(--u)); padding: calc((24) * var(--u)) calc((28) * var(--u)); overflow-y: auto;
  border: calc((2) * var(--u)) solid #999; border-radius: calc((8) * var(--u)); background: #fafafa;
  font-size: max(calc((22) * var(--u)), 12px); font-weight: 500; line-height: 1.7; text-align: left; -webkit-overflow-scrolling: touch;
}
.cform__policy-box h3 { margin: 1.4em 0 .3em; font-size: max(calc((24) * var(--u)), 13px); font-weight: 800; }
.cform__policy-box h3:first-child, .cform__policy-box p:first-child { margin-top: 0; }
.cform__policy-box p { margin: .5em 0; }
.cform__policy-box ul { margin: .5em 0; padding-left: 1.4em; list-style: disc; }
.cform__policy-box .policy__date { margin-top: 1.4em; text-align: right; }
.cform__agree { display: flex; align-items: center; gap: calc((16) * var(--u)); margin-top: calc((22) * var(--u)); font-size: max(calc((28) * var(--u)), 14px); font-weight: 800; line-height: 1.4; cursor: pointer; }
.cform__agree input { flex: 0 0 auto; width: max(calc((36) * var(--u)), 20px); height: max(calc((36) * var(--u)), 20px); margin: 0; accent-color: var(--red); cursor: pointer; }
.cform__policy-link { margin-top: calc((12) * var(--u)); font-size: max(calc((22) * var(--u)), 12px); font-weight: 600; }
.cform__policy-link a, .page a { color: var(--red); text-decoration: underline; }
.cform__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: calc((20) * var(--u)); margin-top: calc((50) * var(--u)); }
.cform__submit, .cform__back {
  display: block; width: calc((600) * var(--u)); max-width: 100%; height: max(calc((120) * var(--u)), 56px); border: 0; border-radius: calc((60) * var(--u)); cursor: pointer;
  font: inherit; font-size: max(calc((36) * var(--u)), 16px); font-weight: 800; letter-spacing: .02em;
}
.cform__submit { background: linear-gradient(to bottom, #fe1718, #d50e0e); box-shadow: 0 calc((10) * var(--u)) 0 #8a1515; color: #fff; }
.cform__submit:hover { filter: brightness(1.06); }
.cform__submit:active { transform: translateY(calc((4) * var(--u))); box-shadow: 0 calc((6) * var(--u)) 0 #8a1515; }
.cform__submit[disabled] { opacity: .6; cursor: default; }
.cform__back { width: calc((300) * var(--u)); background: #fff; border: calc((2) * var(--u)) solid #000; color: #000; }
.cform__alert {
  margin-bottom: calc((30) * var(--u)); padding: calc((20) * var(--u)) calc((28) * var(--u)); border: calc((2) * var(--u)) solid var(--red); border-radius: calc((8) * var(--u)); background: #fff6f6;
  color: var(--red); font-size: max(calc((26) * var(--u)), 13px); font-weight: 600; line-height: 1.6;
}
/* 確認画面のテーブル */
.ctable { width: 100%; border-collapse: collapse; }
.ctable th, .ctable td { padding: calc((24) * var(--u)) calc((20) * var(--u)); border-bottom: calc((2) * var(--u)) solid #e5e5e5; font-size: max(calc((28) * var(--u)), 14px); line-height: 1.6; vertical-align: top; text-align: left; }
.ctable th { width: calc((240) * var(--u)); font-weight: 800; white-space: nowrap; }
.ctable td { font-weight: 500; overflow-wrap: anywhere; }
.ctable tr:first-child th, .ctable tr:first-child td { border-top: calc((2) * var(--u)) solid #e5e5e5; }
/* 下層ページ */
.page { padding: calc((90) * var(--u)) calc((49) * var(--u)) calc((120) * var(--u)); background: #f2f2f2; }
.page__title { font-size: calc((60) * var(--u)); font-weight: 800; text-align: center; white-space: nowrap; letter-spacing: -.015em; }
.page__title b { color: var(--red); }
.page__lead { margin-top: calc((28) * var(--u)); font-size: max(calc((28) * var(--u)), var(--fs-body)); font-weight: 600; line-height: max(calc((46) * var(--u)), 20px); text-align: center; }
.page__body {
  margin-top: calc((48) * var(--u)); padding: calc((50) * var(--u)) calc((50) * var(--u)) calc((56) * var(--u));
  background: #fff; border: calc((2) * var(--u)) solid #000; border-radius: calc((13) * var(--u));
  font-size: max(calc((28) * var(--u)), 14px); font-weight: 500; line-height: 1.8;
}
.page__body h3 { margin: 1.6em 0 .4em; font-size: max(calc((32) * var(--u)), 16px); font-weight: 800; }
.page__body h3:first-child { margin-top: 0; }
.page__body p { margin: .6em 0; }
.page__body ul { margin: .6em 0; padding-left: 1.5em; list-style: disc; }
.page__body .policy__date { margin-top: 1.6em; text-align: right; }
.page__back { margin-top: calc((50) * var(--u)); text-align: center; font-size: max(calc((28) * var(--u)), 14px); font-weight: 600; }
.page__thanks { text-align: center; }
.page__thanks p { margin: .6em 0; }
.page__thanks .page__tel { display: inline-block; margin-top: .6em; font-size: max(calc((48) * var(--u)), 24px); font-weight: 800; color: var(--red); }
@media (max-width: 599px) {
  .cform, .page__body { padding-left: calc((32) * var(--u)); padding-right: calc((32) * var(--u)); }
  .ctable th, .ctable td { display: block; width: auto; padding: calc((14) * var(--u)) 0; }
  .ctable th { border-bottom: 0; padding-bottom: 0; }
  .ctable tr:first-child th { border-top: 0; }
  .cform__submit, .cform__back { width: 100%; }
}

/* ==========================================================================
   画面下部に追従するCTA(TEL / お問い合わせ)
   ========================================================================== */
.lp.has-fixcta { padding-bottom: calc(calc((150) * var(--u)) + env(safe-area-inset-bottom, 0px)); }
.fixcta {
  position: fixed; left: 50%; bottom: 0; z-index: 100;
  width: 100%; max-width: var(--lp-max); transform: translateX(-50%);
  padding: calc((14) * var(--u)) calc((16) * var(--u)) calc(calc((14) * var(--u)) + env(safe-area-inset-bottom, 0px));
  background: rgba(255, 255, 255, .96); box-shadow: 0 calc((-4) * var(--u)) calc((16) * var(--u)) rgba(0, 0, 0, .18);
  transition: transform .25s ease, opacity .25s ease;
}
.fixcta.is-hidden { transform: translate(-50%, 110%); opacity: 0; pointer-events: none; }
.fixcta__inner { display: flex; gap: calc((12) * var(--u)); }
.fixcta__btn {
  flex: 1 1 0; min-width: 0; height: max(calc((122) * var(--u)), 56px); border-radius: calc((14) * var(--u));
  display: flex; align-items: center; justify-content: center; gap: calc((14) * var(--u));
  font-weight: 800; line-height: 1.15; text-align: center; white-space: nowrap;
}
.fixcta__btn:active { transform: translateY(calc((3) * var(--u))); }
.fixcta__tel {
  flex-grow: 1.15; color: #fff;
  background: linear-gradient(to bottom, #fe1718, #d50e0e); box-shadow: 0 calc((6) * var(--u)) 0 #8a1515;
}
.fixcta__tel:active { box-shadow: 0 calc((3) * var(--u)) 0 #8a1515; }
.fixcta__tel img { flex: 0 0 auto; width: max(calc((52) * var(--u)), 26px); height: auto; }
.fixcta__tel-text { display: flex; flex-direction: column; align-items: flex-start; gap: calc((4) * var(--u)); }
.fixcta__tel-num { font-size: max(calc((44) * var(--u)), 19px); letter-spacing: -.03em; }
.fixcta__tel-label { font-size: max(calc((20) * var(--u)), 10px); font-weight: 600; }
.fixcta__tel-label b { color: var(--yellow); }
.fixcta__form {
  color: #000; background: linear-gradient(to bottom, #fff45c, var(--yellow)); box-shadow: 0 calc((6) * var(--u)) 0 #b7a800;
  font-size: max(calc((30) * var(--u)), 14px);
}
.fixcta__form:active { box-shadow: 0 calc((3) * var(--u)) 0 #b7a800; }
.fixcta__form svg { flex: 0 0 auto; width: max(calc((40) * var(--u)), 20px); height: auto; }
@media (max-width: 599px) {
  .fixcta__btn { gap: calc((10) * var(--u)); }
  .fixcta__tel-label { display: none; }
  .fixcta__tel-num { font-size: max(calc((44) * var(--u)), 18px); }
}
@media (max-width: 359px) {
  .fixcta__inner { gap: calc((10) * var(--u)); }
  .fixcta__btn { gap: calc((6) * var(--u)); }
  .fixcta__tel img { width: 22px; }
  .fixcta__tel-num { font-size: 16px; letter-spacing: -.04em; }
  .fixcta__form { font-size: 13px; }
  .fixcta__form svg { width: 18px; }
}
