@charset "UTF-8";

/* =========================================================
   DAIWA 하도라스 스페셜페이지
   - PC : 1920 시안 기준 (콘텐츠 1080), 1024px 이상 유동형
   - MO : 375 시안 기준, 1023px 이하 유동형 (--mu)
   ========================================================= */

:root {
  --red: #ff0000;
  --brand: #a2000d;
  --dark-red: #830000;
  --gray-line: #6c6c6c;
  --txt: #eee;
  --hero-h: max(640px, min(100vh, 1080px));
  --gutter: 40px;
  --cw: min(1080px, calc(100% - var(--gutter) * 2));
  --sp: clamp(140px, 10.42vw, 200px);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }
body {
  background: #000;
  color: #fff;
  font-family: "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
  word-break: keep-all;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; }
ul, ol { list-style: none; }
i, em { font-style: normal; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; -webkit-tap-highlight-color: transparent; }
hr { border: 0; }

/* PC / MO 노출 제어 */
.mo, br.mo { display: none; }
.mo-flex { display: none !important; }
.pc-flex { display: flex; }

.c-red { color: var(--red); }
.c-care { color: var(--red); }

.wrap { width: var(--cw); margin: 0 auto; }

/* 공통 섹션 타이틀 */
.sec-title {
  display: flex; align-items: center; justify-content: center; gap: 24px;
  font-size: clamp(38px, 2.4vw, 46px); font-weight: 700; line-height: 1.5; text-align: center;
}
.sec-title--tight { line-height: 1.2; }
.dot { flex: none; width: 16px; height: 16px; border-radius: 50%; background: #d9d9d9; }
.line { display: block; width: 100%; height: 2px; margin-top: 48px; background: #fff; }
.line--gray { background: var(--gray-line); }

/* =========================================================
   01. HERO (page-up 고정 영역)
   ========================================================= */
.hd { position: relative; }
.hero {
  position: sticky;
  top: min(0px, calc(100vh - var(--hero-h)));
  z-index: 0;
  height: var(--hero-h);
  overflow: hidden;
  background: #000;
}
/* 첫 화면 구도는 화면 높이 기준(1080 = 100%)으로 통째로 맞춰, 낮은 화면에서도 하단 제품까지 보이게 함 */
.hero__bg {
  position: absolute; left: 50%; top: calc(var(--hero-h) * -220 / 1080);
  width: calc(var(--hero-h) * 1920 / 1080); height: calc(var(--hero-h) * 1520 / 1080);
  transform: translateX(-50%);
  background: url(../images/pc_hero_bg.jpg) center / 100% 100% no-repeat;
}
/* 화면이 구도보다 넓을 때 좌우 경계를 검정 배경으로 자연스럽게 연결 */
.hero__bg::before, .hero__bg::after { content: ""; position: absolute; top: 0; bottom: 0; width: 12%; display: none; }
@media (min-aspect-ratio: 1921/1080), (min-width: 1921px), (max-height: 640px) {
  .hero__bg::before, .hero__bg::after { display: block; }
}
.hero__bg::before { left: 0; background: linear-gradient(to right, #000, rgba(0,0,0,0)); }
.hero__bg::after { right: 0; background: linear-gradient(to left, #000, rgba(0,0,0,0)); }
.hero__inner { position: relative; padding-top: calc(var(--hero-h) * 131 / 1080); text-align: center; }
.hero__logo img { width: max(210px, calc(var(--hero-h) * 337 / 1080)); height: auto; margin: 0 auto; }
.hero__eng { margin-top: calc(var(--hero-h) * 18 / 1080); font-size: max(15px, calc(var(--hero-h) * 23 / 1080)); line-height: 1.5; color: var(--red); }
.hero__title { margin-top: calc(var(--hero-h) * 16 / 1080); font-size: max(42px, calc(var(--hero-h) * 78 / 1080)); font-weight: 700; line-height: 1.5; }
.hero__sub { font-size: max(24px, calc(var(--hero-h) * 40 / 1080)); font-weight: 600; line-height: 1.5; }

/* HERO 위로 덮으며 올라오는 콘텐츠 */
.content { position: relative; z-index: 1; background: #000; }

/* =========================================================
   02. INTRO
   ========================================================= */
.intro { position: relative; height: 830px; overflow: hidden; }
.intro__bg {
  position: absolute; left: 50%; top: -212px;
  width: max(2234px, 100%); height: 1254px; transform: translateX(-50%);
  background: url(../images/pc_intro_bg.jpg) center / cover no-repeat;
  opacity: .3;
}
.intro__fade { position: absolute; left: 0; right: 0; background: linear-gradient(to bottom, rgba(0,0,0,0) 4.208%, #000 91.865%); }
.intro__fade--1 { top: 705px; height: 419px; }
.intro__fade--2 { top: 411px; height: 660px; }
.intro__txt {
  position: relative; width: var(--cw); margin: 0 auto; padding-top: 313px; text-align: center;
  font-size: clamp(22px, 1.4vw, 27px); font-weight: 700; line-height: 1.7; color: var(--txt);
}
.intro__txt p + p { margin-top: 20px; }

/* =========================================================
   03. WORRY
   ========================================================= */
.worry { position: relative; height: 1624px; overflow: hidden; }
.worry__bg {
  position: absolute; left: calc(50% + 280px); top: -353px;
  width: 3250px; height: 1824px; transform: translateX(-50%);
  background: url(../images/pc_worry_bg.jpg) center / cover no-repeat;
}
.worry__fade {
  position: absolute; left: 0; right: 0; top: 705px; height: 900px;
  background: linear-gradient(to bottom, rgba(0,0,0,0) 2.2%, #000 49%, #000 100%);
}
.worry__inner { position: relative; width: var(--cw); margin: 0 auto; padding-top: 995px; text-align: center; }
.sec-title--worry { font-size: clamp(40px, 2.71vw, 52px); line-height: 1.7; }
.worry__sub { font-size: clamp(20px, 1.25vw, 24px); font-weight: 600; line-height: 1.7; }
.worry__txt { width: min(980px, 100%); margin: 42px auto 0; font-size: clamp(18px, 1.15vw, 22px); font-weight: 500; line-height: 1.7; color: var(--txt); }

/* =========================================================
   04. ABOUT (하도라스란?)
   ========================================================= */
.about { padding-bottom: 198px; }
/* 업체 수정본 기준 텍스트 크기·간격 (굵기는 SemiBold 유지) */
.sec-title--about { font-size: clamp(38px, 2.4vw, 46px); }
.about__lead { margin-top: 22px; font-size: clamp(22px, 1.4vw, 26px); font-weight: 600; line-height: 1.7; text-align: center; }
.about__desc { margin-top: 13px; font-size: 18px; font-weight: 500; line-height: 1.7; color: var(--txt); text-align: center; }

.feat { width: var(--cw); margin: 141px auto 0; } /* 문단 밑 여유 공간 확보 (수정요청) */
.feat__item { display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: flex-start; gap: 40px; }
/* Figma 기준 : 이미지 상단에서 항목 제목까지 거리 */
.feat__item:nth-child(1) .feat__txt, .feat__item:nth-child(2) .feat__txt { padding-top: 51px; }
.feat__item:nth-child(3) .feat__txt { padding-top: 36px; }
.feat__item:nth-child(4) .feat__txt { padding-top: 71px; }
.feat .feat__item:nth-child(3) { margin-top: 122px; }
.feat__item + .feat__item { margin-top: 120px; }
.feat__img { flex: 0 1 488px; min-width: 0; aspect-ratio: 488 / 318; overflow: hidden; background: #515151; }
.feat__img img { width: 100%; height: 100%; object-fit: cover; }
.feat__txt { flex: 0 1 454px; min-width: 0; }
.feat__tit {
  display: flex; align-items: center; gap: 16px;
  padding-bottom: 17px; border-bottom: 2px solid #fff;
  font-size: clamp(24px, 1.5vw, 30px); font-weight: 700; line-height: 1.5;
}
.ring { flex: none; width: 14px; height: 14px; border: 2px solid #d9d9d9; border-radius: 50%; }
.feat__desc { margin-top: 22px; font-size: 18px; font-weight: 500; line-height: 1.7; color: var(--txt); }
.feat__note { margin-top: 13px; font-size: 16px; line-height: 1.7; color: #c4c4c4; }

/* =========================================================
   05. PROVEN (이미 검증된 기술)
   ========================================================= */
.proven { position: relative; height: 704px; overflow: hidden; }
.proven__bg {
  position: absolute; left: 50%; top: -195px;
  width: max(1920px, 100%); aspect-ratio: 16 / 9; transform: translateX(-50%);
  background: url(../images/pc_proven_bg.jpg) center / cover no-repeat;
  opacity: .2;
}
.proven__inner { position: relative; padding-top: var(--sp); text-align: center; }
.proven__txt { margin-top: 22px; font-size: 18px; font-weight: 500; line-height: 1.7; color: var(--txt); }
.stats { display: flex; justify-content: center; margin-top: 48px; }
.stats li { flex: 0 1 337px; min-width: 0; }
.stats li:nth-child(2) { flex-basis: 342px; }
.stats strong { display: block; font-size: clamp(40px, 2.5vw, 48px); font-weight: 700; line-height: 1.5; }
.stats em { color: var(--red); }
/* 카운트업 숫자 : 자리 폭 고정 (숫자가 바뀌어도 좌우로 흔들리지 않게) */
.count { display: inline-block; font-weight: inherit; font-variant-numeric: tabular-nums; text-align: right; }
.stats span { display: block; font-size: 18px; font-weight: 500; line-height: 1.7; color: var(--txt); }

/* =========================================================
   06. ABLE (시공 가능 / 불가능)
   ========================================================= */
.able { background: #010101; }
.able__head { width: var(--cw); margin: 0 auto; padding-top: var(--sp); }
.able__body { position: relative; margin-top: 66px; background: #242424; overflow: clip; }
.able__body::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1169px;
  background: linear-gradient(to bottom, #000, rgba(0,0,0,0) 84.588%);
}
.able__inner {
  position: relative; width: var(--cw); min-height: 1169px; margin: 0 auto; padding-bottom: 200px;
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 330px); column-gap: clamp(40px, 3.96vw, 76px);
  grid-template-areas: "tabs tabs" "visual list" "notice notice" "switch switch";
  align-content: start;
}
.able__inner.is-wide { grid-template-columns: minmax(0, 1fr) minmax(300px, 416px); }
.able__tabs { grid-area: tabs; display: flex; justify-content: center; gap: 24px; }
.able__tab {
  width: 168px; height: 48px; border: 1px solid var(--txt); border-radius: 6px;
  font-size: 22px; font-weight: 700; line-height: 1; color: var(--txt);
  transition: background-color .24s, border-color .24s, color .24s, box-shadow .24s;
}
.able__tab.is-active { background: var(--brand); border-color: var(--brand); color: #fff; box-shadow: 0 0 0 1px rgba(255,255,255,.22), 0 0 16px rgba(160,0,13,.28); }
/* 호버 : 동일 레드 라인 + 레드 50% 투명 */
@media (hover: hover) {
  /* 호버 : 레드 라인 1px + 0.5px (총 1.5px) */
  .able__tab:hover:not(.is-active) { border-color: var(--brand); background: rgba(162,0,13,.5); color: #fff; box-shadow: inset 0 0 0 .5px var(--brand); }
  /* 항목 호버 : 라인 없이 기존 레드 / 회색 면으로 채움 */
  .able__items li:hover { border-color: transparent; background: var(--brand); }
  .able__items.is-off li:hover { border-color: transparent; background: #565656; }
}
.able__tab:focus-visible:not(.is-active) { border-color: var(--brand); background: rgba(162,0,13,.5); color: #fff; box-shadow: inset 0 0 0 .5px var(--brand); }
.able__tab:focus-visible, .toggle:focus-visible, .able__items li:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

.able__visual { grid-area: visual; min-width: 0; margin-top: 84px; min-height: 585px; }
.able__list { grid-area: list; margin-top: 84px; }
.able__cols { display: flex; gap: clamp(24px, 2.81vw, 54px); }
.able__col { flex: 1; min-width: 0; }
.able__col-tit {
  padding-bottom: 15px; border-bottom: 1px solid var(--gray-line);
  font-size: 24px; font-weight: 700; line-height: 1.5;
}
.able__img { position: relative; }
.able__slot {
  position: absolute; top: var(--photo-top); left: calc(50% + var(--photo-shift)); transform: translateX(-50%);
  display: grid; place-items: center; width: min(var(--frame-w), 100%); aspect-ratio: var(--frame-ratio);
}
.able__visual[data-product="rod"] .able__slot { left: var(--photo-shift); transform: none; }
/* Keep the clickable markers aligned to the contained photo. */
.able__pic { position: relative; width: var(--photo-fit); aspect-ratio: var(--image-ratio); }
.able__pic img { display: block; width: 100%; height: 100%; object-fit: contain; }
.able__fade { animation: ableFade .4s ease both; }
@keyframes ableFade { from { opacity: 0; } to { opacity: 1; } }

/* 시공은 노란색, 미시공은 빨간색으로 표시합니다. */
.able__mk { position: absolute; width: 0; height: 0; pointer-events: none; --mk: #ffc93c; }
.able__mk::before, .able__mk::after { content: ""; position: absolute; border-radius: 50%; }
.able__mk.is-off { --mk: #ff2a2a; }
.able__mk--ambient { opacity: .7; transform: scale(1.5); }
.able__mk--ambient::before {
  left: -7px; top: -7px; width: 14px; height: 14px; border: 1px solid var(--mk);
  background: rgba(0,0,0,.35);
}
.able__mk--ambient::after { left: -2px; top: -2px; width: 4px; height: 4px; background: var(--mk); }
.able__mk--sel { z-index: 2; }
.able__mk--sel::before {
  left: -19px; top: -19px; width: 38px; height: 38px; border: 3px solid var(--mk);
  box-shadow: 0 0 0 2px rgba(0,0,0,.45), 0 0 18px var(--mk), inset 0 0 10px var(--mk);
  animation: mkFocus 1s ease-in-out infinite alternate;
}
.able__mk--sel::after {
  left: -6px; top: -6px; width: 12px; height: 12px; background: #fff;
  box-shadow: 0 0 0 3px var(--mk), 0 0 14px var(--mk);
}
@keyframes mkFocus { from { transform: scale(.9); } to { transform: scale(1.18); } }
.able__mk-tag {
  position: absolute; left: 0; bottom: 26px; transform: translateX(-50%);
  padding: 4px 10px; border-radius: 4px; background: rgba(0,0,0,.82); border: 1px solid var(--mk);
  font-size: 14px; font-weight: 600; line-height: 1.4; color: #fff; white-space: nowrap;
  animation: ableFade .3s ease both;
}
.able__mk-tag.is-l { transform: translateX(-14px); }
.able__mk-tag.is-r { transform: translateX(calc(-100% + 14px)); }

.able__items { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 72px; }
.able__items li {
  display: flex; align-items: center; justify-content: center; text-align: center; height: 42px; padding: 0 clamp(20px, 1.67vw, 32px);
  /* 탭(면 채움)과 구분되도록 항목은 라인 + 옅은 면 */
  border: 1px solid var(--brand); border-radius: 4px; background: rgba(162, 0, 13, .18); color: #fff;
  font-size: 18px; font-weight: 600; line-height: 1; white-space: nowrap;
  cursor: pointer; transition: box-shadow .2s, filter .2s, background-color .2s;
}
.able__items li.is-sel { background: var(--brand); box-shadow: inset 0 0 0 1.5px #fff, 0 0 14px rgba(255, 201, 60, .45); }
.able__items.is-off li.is-sel { background: #565656; box-shadow: inset 0 0 0 1.5px #fff, 0 0 14px rgba(255, 42, 42, .45); }
.able__items li.is-full { grid-column: 1 / -1; }
.able__items.is-off li { border-color: #6c6c6c; background: rgba(86, 86, 86, .25); color: var(--txt); }

@media (prefers-reduced-motion: reduce) {
  .able__mk::before, .able__mk::after { animation: none !important; }
}

.able__advisories { grid-area: notice; margin-top: 71px; }
@media (min-width: 1024px) {
  .able__advisories:has(.able__spot-status:not(:empty)) { margin-top: 34px; }
}
.able__notice {
  padding-top: 32px; border-top: 1px solid var(--gray-line);
  color: var(--txt); font-size: 18px; font-weight: 500; line-height: 1.7; text-align: center;
}
.able__switch { grid-area: switch; position: relative; margin-top: 32px; text-align: center; }
.able__guide { font-size: 16px; font-weight: 500; line-height: 2; color: #c4c4c4; }

.toggle {
  position: relative; display: block; width: 184px; height: 44px; margin: 10px auto 0;
  border-radius: 44px; border: 1px solid var(--brand); background: var(--brand);
  transition: background-color .3s, border-color .3s;
}
.toggle__knob {
  position: absolute; top: 50%; left: 6px; width: 26.5px; height: 26.5px; margin-top: -13.25px;
  border-radius: 50%; background: #fff;
  transition: left .3s ease, background-color .3s;
}
.toggle__label {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  padding-left: 34px;
  font-size: 18px; font-weight: 700; line-height: 1.5; letter-spacing: -.04em; color: #fff; white-space: nowrap;
}
.toggle:not(.is-on) { background: transparent; border-color: rgba(238,238,238,.6); }
.toggle:not(.is-on) .toggle__knob { left: calc(100% - 6px - 26.5px); background: var(--txt); }
.toggle:not(.is-on) .toggle__label { padding: 0 34px 0 0; color: var(--txt); }

/* =========================================================
   07. EFFECT (검증된 5가지 효과)
   ========================================================= */
.effect { padding: var(--sp) 0; }
.fx { position: relative; margin-top: 48px; }
.fx::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 249px; background: #151515; }
.fx__row {
  position: relative; display: grid; grid-template-columns: 249px minmax(0, 1fr) 252px;
  height: 244px; padding-top: 48px; border-bottom: 1px solid var(--gray-line);
}
.fx__row:last-child { border-bottom: 0; }
.fx__head { text-align: center; }
.badge {
  display: inline-block; width: 156px; padding: 5px 18px;
  background: linear-gradient(153.9deg, #ff0000 9.78%, #830000 92.15%);
  font-size: 24px; font-weight: 700; line-height: 1.5; text-align: center;
}
.fx__head p { margin-top: 12px; font-size: 18px; font-weight: 600; line-height: 1.5; }
.fx__step { display: block; margin-top: 4px; font-size: 14px; font-weight: 400; line-height: 1.5; }
.fx__chart { min-width: 0; padding: 0 clamp(16px, 2vw, 36px) 0 clamp(20px, 1.88vw, 36px); }
.fx__chart img { width: min(464px, 100%); height: auto; }
/* 차트 2장을 원본 비율 그대로 (행 높이에 맞춰 늘어나지 않도록) */
.fx__chart--dirt { display: flex; align-items: flex-start; gap: 8.4%; max-width: 500px; }
.fx__chart--dirt img:nth-child(1) { width: 58.8%; }
.fx__chart--dirt img:nth-child(2) { width: 32.8%; }
.fx__sum { display: flex; align-items: center; height: 148px; padding-left: clamp(24px, 2.92vw, 56px); }
.fx__sum p { font-size: 18px; font-weight: 500; line-height: 1.5; }
.fx__sum b { font-weight: 700; }

/* =========================================================
   08. CASE (시공 사례)
   ========================================================= */
.case { padding-bottom: var(--sp); overflow: hidden; }
.case__label { margin-top: 22px; font-size: clamp(24px, 1.46vw, 28px); font-weight: 600; line-height: 1.7; text-align: center; }
.case__ba { position: relative; width: min(924px, 100%); aspect-ratio: 924 / 404; margin: 48px auto 0; }
.case__before { position: absolute; left: 0; top: 5.32%; width: 48.38%; }
.case__after { position: absolute; left: 45.82%; top: 0; width: 54.18%; box-shadow: 0 0 40px rgba(0,0,0,.6); }

.slider { --sw: min(924px, 72vw); --gap: clamp(32px, 3.33vw, 64px); position: relative; margin-top: 48px; }
.slider__viewport { width: var(--sw); margin: 0 auto; }
.slider__track { display: flex; gap: var(--gap); will-change: transform; }
.slider__track.is-anim { transition: transform .6s cubic-bezier(.4, 0, .2, 1); }
.slider__item { position: relative; flex: 0 0 var(--sw); aspect-ratio: 924 / 520; overflow: hidden; background: #111; }
.slider__item video { display: block; width: 100%; height: 100%; object-fit: cover; background: #000; }

/* 영상 재생 버튼 : 클릭 시 재생 (자동재생 없음) */
.slider__play {
  position: absolute; left: 50%; top: 50%; z-index: 1;
  width: 96px; height: 96px; margin: -48px 0 0 -48px;
  border: 2px solid #fff; border-radius: 50%;
  background: rgba(0,0,0,.45);
  transition: background-color .25s, transform .25s, opacity .25s;
}
.slider__play::before {
  content: ""; position: absolute; left: 50%; top: 50%;
  margin: -16px 0 0 -9px;
  border-style: solid; border-width: 16px 0 16px 28px;
  border-color: transparent transparent transparent #fff;
}
.slider__play:hover, .slider__play:focus-visible { background: rgba(0,0,0,.85); transform: scale(1.06); }
.slider__play:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.slider__item.is-playing .slider__play { opacity: 0; pointer-events: none; }
/* PC : 가운데 슬라이드에서만 재생 버튼 노출 */
.slider__item:not(.is-current) .slider__play { opacity: 0; pointer-events: none; }
.slider__shade { position: absolute; top: 0; bottom: 0; width: clamp(80px, 11.77vw, 226px); z-index: 1; pointer-events: none; }
.slider__shade--l { left: 0; background: linear-gradient(to left, rgba(0,0,0,0) 4.208%, #000 91.865%); }
.slider__shade--r { right: 0; background: linear-gradient(to right, rgba(0,0,0,0) 4.208%, #000 91.865%); }
.slider__btn { position: absolute; top: 50%; z-index: 2; width: 64px; height: 64px; margin-top: -32px; }
.slider__btn img { width: 100%; height: 100%; }
.slider__btn--prev { left: max(8px, calc(50% - var(--sw) / 2 - 73px - 64px)); }
.slider__btn--prev img { transform: scaleX(-1); }
.slider__btn--next { left: min(calc(100% - 72px), calc(50% + var(--sw) / 2 + 73px)); }

/* =========================================================
   09. FAQ
   ========================================================= */
.faq { padding-bottom: var(--sp); }
.faq__item { padding: 53px 0 55.5px 14px; border-bottom: 1px solid var(--gray-line); letter-spacing: -.04em; }
.faq__item:last-child { padding-bottom: 0; border-bottom: 0; }
.faq__item dt { display: flex; align-items: center; gap: 16px; font-size: 18px; font-weight: 600; line-height: 1.7; }
.faq__item dd { display: flex; align-items: flex-start; gap: 16px; margin-top: 12px; font-size: 18px; line-height: 1.7; color: var(--txt); }
.faq__item dd.c-red { color: var(--red); }
.faq__item dd > span { padding-top: 2px; }
.qa {
  flex: none; display: flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; background: #fff; color: #151515;
  font-size: 20px; font-weight: 600; line-height: 1;
}
.qa--red { background: var(--red); color: #fff; }

/* =========================================================
   10. NOTICE (주의사항)
   ========================================================= */
.notice { padding-bottom: var(--sp); }
.notice__body { display: flex; justify-content: space-between; align-items: flex-start; gap: 40px; margin-top: 46px; }
.notice__list { min-width: 0; }
.notice__list li { display: flex; align-items: center; gap: 16px; }
.notice__list li:first-child { align-items: flex-start; }
.notice__list li + li { margin-top: 32px; }
.notice__list li:nth-child(3) { margin-top: 27px; }
.notice__list i { flex: none; font-size: 36px; line-height: 1; letter-spacing: -.04em; }
.notice__list p { font-size: 18px; font-weight: 500; line-height: 1.7; letter-spacing: -.04em; }
.notice__list li:first-child p { width: min(461px, 100%); }
.notice__img { flex: 0 0 380px; min-width: 0; aspect-ratio: 380 / 246; overflow: hidden; background: #d9d9d9; }
.notice__img img { width: 100%; height: 100%; object-fit: cover; }

/* =========================================================
   11. STEP (접수 방법)
   ========================================================= */
.step { padding-bottom: var(--sp); }
.step .wrap { position: relative; top: -6px; } /* Figma : 제목이 섹션 상단보다 6px 위 */
.step { padding-bottom: calc(var(--sp) - 6px); }
.step__lead { margin-top: 22px; font-size: 18px; font-weight: 500; line-height: 1.7; text-align: center; }
.step__list { margin-top: 48px; }
.step__item { display: flex; min-height: 196px; }
.step__item--last { min-height: 0; }
.step__no { position: relative; flex: none; width: 95px; padding-left: 2px; }
.step__no span { display: block; font-size: 16px; line-height: 1.7; letter-spacing: .12em; }
.step__no b { display: block; margin-top: -3px; font-size: 36px; font-weight: 700; line-height: 1.5; color: var(--red); }
.step__item:not(:last-child) .step__no::after {
  content: ""; position: absolute; left: 12px; top: 114px; width: 24px; height: 45px;
  background: url(../images/ic_step_arrow.svg) center / contain no-repeat;
}
.step__con { min-width: 0; }
.step__con h3 { font-size: clamp(26px, 1.67vw, 32px); font-weight: 700; line-height: 1.5; color: var(--red); }
.step__con p { margin-top: 4px; font-size: 18px; line-height: 1.5; }
.step__con h3 + p { margin-top: 12px; }
.step__con b { font-weight: 700; }
.step__pay { color: #fff; }

/* =========================================================
   PC 좁은 화면 (1024 ~ 1279) : 시안 줄바꿈 해제
   ========================================================= */
@media (max-width: 1279px) {
  br.pc { display: none; }
}

/* =========================================================
   MOBILE · TABLET (~1023) : 375 시안 기준
   ========================================================= */
@media (max-width: 1023px) {
  :root {
    --mu: calc(min(100vw, 600px) / 375);
    --hero-h: calc(706 * var(--mu));
    --mo-nav-h: calc(52px + env(safe-area-inset-top));
    --sp: 200px;
  }
  .hero { top: min(0px, calc(100svh - var(--hero-h))); }

  .pc, .pc-flex, br.pc { display: none !important; }
  br.mo, span.mo { display: inline; }
  img.mo, p.mo, div.mo { display: block; }
  .mo-flex { display: flex !important; }

  .wrap { width: calc(100% - 32px); max-width: 600px; }

  .sec-title { gap: 12px; font-size: min(28px, 7.45vw); line-height: 1.7; white-space: nowrap; }
  .sec-title--worry { gap: 0; }
  .sec-title--tight { line-height: 1.7; }
  .dot { width: 12px; height: 12px; }
  .line { margin-top: 8px; }

  /* 01 HERO */
  .hero__bg-mo { position: absolute; inset: 0; display: block; }
  .hero__bg-mo > * { position: absolute; }
  .hero__mo-bg { left: calc(50% - 332.5 * var(--mu)); top: calc(-222 * var(--mu)); width: calc(643 * var(--mu)); height: calc(1143 * var(--mu)); max-width: none; object-fit: cover; }
  .hero__mo-reel { left: calc(50% - 193.5 * var(--mu)); top: calc(150 * var(--mu)); width: calc(386 * var(--mu)); height: calc(606 * var(--mu)); max-width: none; object-fit: cover; }
  .hero__mo-shade { left: 50%; top: calc(96 * var(--mu)); width: max(100%, calc(1161 * var(--mu))); height: calc(255 * var(--mu)); transform: translateX(-50%); background: linear-gradient(to bottom, #000 8.135%, rgba(0,0,0,0) 95.792%); }
  .hero__mo-fade { left: 50%; top: calc(609 * var(--mu)); width: max(100%, calc(685 * var(--mu))); height: calc(177 * var(--mu)); transform: translateX(-50%); background: linear-gradient(to bottom, rgba(0,0,0,0) 7.207%, #000 87.387%); }
  .hero__inner { padding-top: calc(121 * var(--mu)); }
  .hero__logo img { width: calc(156 * var(--mu)); }
  .hero__eng { margin-top: calc(15 * var(--mu)); font-size: 12px; }
  .hero__title { max-width: calc(100% - 24px); margin: 12px auto 0; font-size: clamp(23px, 6.4vw, 28px); line-height: 1.4; }
  .hero__sub { max-width: calc(100% - 24px); margin: 8px auto 0; font-size: clamp(16px, 4.8vw, 19px); }

  /* 02 INTRO */
  .intro { height: auto; padding-bottom: 180px; }
  .intro__bg { top: 0; width: max(100%, calc(847 * var(--mu))); height: calc(475 * var(--mu)); }
  .intro__fade--1 { top: calc(316 * var(--mu)); height: calc(241 * var(--mu)); }
  .intro__fade--2 { top: calc(298 * var(--mu)); height: calc(177 * var(--mu)); background: linear-gradient(to bottom, rgba(0,0,0,0) 7.207%, #000 87.387%); }
  .intro__txt { width: calc(100% - 32px); max-width: 600px; margin: 0 auto; padding-top: calc(439 * var(--mu)); text-align: center; font-size: 16px; line-height: 1.75; letter-spacing: -.04em; }
  .intro__txt p + p { margin-top: 20px; }
  .intro__txt p:nth-child(2) { margin-top: 34px; }

  /* 03 WORRY */
  .worry { height: auto; padding-bottom: 180px; }
  .worry__bg { left: calc(50% + 90 * var(--mu)); top: calc(-50 * var(--mu)); width: calc(993 * var(--mu)); height: calc(637 * var(--mu)); background-image: url(../images/mo_worry_bg.jpg); }
  .worry__fade { top: calc(399 * var(--mu)); height: calc(250 * var(--mu)); background: linear-gradient(to bottom, rgba(0,0,0,0) 3.2%, #000 70%, #000 100%); }
  .worry__inner { width: calc(100% - 32px); max-width: 600px; padding-top: calc(614 * var(--mu)); text-align: left; }
  .sec-title--worry, .sec-title--about { justify-content: flex-start; font-size: min(28px, 7.45vw); }
  .worry__sub { margin-top: 4px; font-size: 16px; }
  .worry__txt { width: auto; margin-top: 40px; font-size: 16px; line-height: 1.7; }

  /* 04 ABOUT */
  .about { padding-bottom: 180px; }
  .about__lead { margin-top: 4px; font-size: 16px; font-weight: 700; line-height: 1.8; letter-spacing: -.04em; text-align: left; }
  .about__desc { margin-top: 42px; font-size: 16px; line-height: 1.7; letter-spacing: -.02em; text-align: left; }
  .feat { width: 100%; margin-top: 120px; }
  .feat__item { flex-direction: column; align-items: stretch; gap: 0; }
  .feat__item .feat__txt { padding-top: 0 !important; }
  .feat .feat__item:nth-child(3) { margin-top: 160px; }
  .feat__item + .feat__item { margin-top: 160px; }
  .feat__img { flex: none; width: 100%; max-width: 600px; margin: 0 auto; aspect-ratio: 375 / 242; }
  .feat__item--rust .feat__img { width: calc(100% - 32px); aspect-ratio: 344 / 273; background: none; }
  .feat__item--rust .feat__img img { object-fit: contain; }
  .feat__txt { flex: none; width: calc(100% - 32px); max-width: 600px; margin: 48px auto 0; }
  .feat__tit { gap: 12px; padding-bottom: 6px; font-size: 22px; line-height: 1.7; }
  .ring { width: 8px; height: 8px; border-width: 1.7px; }
  .feat__desc { margin-top: 22px; font-size: 16px; line-height: 1.7; letter-spacing: -.02em; }
  .feat__note { margin-top: 13px; font-size: 16px; line-height: 1.5; }
  .feat__item--rust .feat__note { margin-top: 40px; }

  /* 05 PROVEN */
  .proven { height: auto; padding-bottom: 180px; }
  .proven__bg { left: calc(50% + 40 * var(--mu)); top: calc(-30 * var(--mu)); width: max(100%, calc(649 * var(--mu))); height: calc(365 * var(--mu)); aspect-ratio: auto; opacity: 1; background-image: url(../images/mo_proven_bg.jpg); }
  .proven__fade { position: absolute; left: 50%; transform: translateX(-50%); display: block; }
  .proven__fade--top { top: calc(-30 * var(--mu)); width: max(100%, calc(406 * var(--mu))); height: calc(160 * var(--mu)); background: linear-gradient(to bottom, #000, rgba(0,0,0,0) 84.959%); }
  .proven__fade--bottom { top: calc(182 * var(--mu)); width: max(100%, calc(492 * var(--mu))); height: calc(153 * var(--mu)); background: linear-gradient(to bottom, rgba(0,0,0,0) 4.208%, #000 91.865%); }
  .proven__inner { padding-top: calc(291 * var(--mu)); text-align: left; }
  .proven__txt { margin-top: 22px; font-size: 16px; font-weight: 500; line-height: 1.7; letter-spacing: -.02em; }
  .stats { display: block; margin-top: 53px; }
  .stats li, .stats li:nth-child(2) { padding: 54px 0 53px; border-top: 1px solid var(--gray-line); }
  .stats li:last-child { padding-bottom: 0; }
  .stats strong { font-size: 48px; line-height: 1.35; }
  .stats span { line-height: 1.5; }

  /* 06 ABLE */
  .able { background: #000; }
  .able__head { width: calc(100% - 32px); max-width: 600px; padding-top: 0; }
  .able__body { margin-top: 46px; }
  .able__body::before { height: 386px; }
  .able__inner { display: flex; flex-direction: column; width: calc(100% - 32px); max-width: 600px; height: auto; min-height: 0; padding-bottom: 180px; }
  .able__tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 11px; order: 1; }
  .able__tab { width: auto; height: 42px; font-size: 16px; font-weight: 700; line-height: normal; }
  .able__visual { order: 2; margin-top: 54px; min-height: 0; }
  .able__col-tit { display: none; }
  .able__cols { gap: 0; }
  .able__img { height: 240px; }
  .able__visual[data-product="rod"] .able__col:last-child .able__slot { left: auto; right: calc(-1 * var(--photo-shift)); }
  .able__visual[data-product="bait"] .able__img { height: 219px; }
  .able__visual[data-product="elec"][data-mode="on"] .able__img { height: 230px; }
  .able__advisories {
    order: 3; margin-top: 0; display: flex; align-items: flex-end;
    height: 60px; /* 이미지 아래 여백 24px + 안내 문구 2줄 36px */
  }
  .able__notice { margin-top: 28px; padding-top: 0; border: 0; font-size: 14px; }
  .able__list { order: 4; margin-top: 24px; }
  .able__switch { order: 5; margin-top: 36px; }
  .able__guide { font-size: 14px; }
  .toggle { width: 184px; height: 42px; }
  .toggle__label { font-size: 16px; font-weight: 700; }
  .able__items { gap: 12px 11px; margin-top: 0; }
  .able__items li { height: auto; padding: 7px 32px; font-size: 16px; line-height: 1.5; }
  .able__mk::before, .able__mk::after { left: 0; top: 0; translate: -50% -50%; }
  /* Draw both circles together so they share the same raster center. */
  .able__mk--ambient::before {
    width: 10px; height: 10px; border: 0;
    background: radial-gradient(circle closest-side, var(--mk) 27%, rgba(0,0,0,.35) 33% 77%, var(--mk) 81% 94%, transparent);
  }
  .able__mk--ambient::after { content: none; }
  .able__mk--sel::before { width: 26px; height: 26px; border-width: 2px; }
  .able__mk--sel::after { width: 8px; height: 8px; box-shadow: 0 0 0 2px var(--mk), 0 0 10px var(--mk); }
  .able__mk-tag { bottom: 18px; padding: 3px 8px; font-size: 12px; }

  /* 07 EFFECT */
  .effect { padding: 200px 0; }
  .fx { margin-top: 0; }
  .fx::before { display: none; }
  .fx__row { display: flex; flex-direction: column; align-items: center; height: auto; margin-top: 200px; padding-top: 24px; border-bottom: 0; border-top: 1px solid var(--gray-line); }
  .fx__row:first-child { margin-top: 0; padding-top: 46px; border-top: 0; }
  .fx__head { width: 100%; padding-bottom: 24px; border-bottom: 1px solid var(--gray-line); }
  .badge { width: 180px; padding: 2px 19px; font-size: 28px; background: linear-gradient(157deg, #ff0000 9.78%, #830000 92.15%); }
  .fx__chart { width: 100%; margin-top: 46px; padding: 0; }
  .fx__chart img { width: 100%; max-width: 420px; margin: 0 auto; }
  .fx__chart--dirt { display: block; max-width: none; }
  .fx__step { margin-top: 2px; font-size: 13px; font-weight: 400; } /* (5단계) 얇고 작게 */
  .fx__sum { justify-content: center; width: 100%; height: 132px; margin-top: 48px; padding: 0; background: #151515; border: 1px solid #464646; }
  .fx__sum p { font-size: 18px; line-height: 1.5; text-align: center; }

  /* 08 CASE */
  .case__label { margin-top: 14px; font-size: 22px; line-height: normal; }
  .case__ba { width: 100%; max-width: 420px; aspect-ratio: 343 / 150; margin-top: 40px; }
  .case__before { top: 5.3%; width: 48.4%; }
  .case__after { left: 45.8%; width: 54.2%; box-shadow: 0 0 16px rgba(0,0,0,.6); }
  .slider { margin-top: 32px; }
  .slider__viewport { width: calc(100% - 32px); max-width: 600px; }
  .slider__track { flex-direction: column; gap: 54px; transform: none !important; }
  .slider__item { flex: none; width: 100%; aspect-ratio: 343 / 193; }
  .slider__item.is-clone, .slider__shade, .slider__btn { display: none; }
  .slider__item:not(.is-current) .slider__play { opacity: 1; pointer-events: auto; }
  .slider__item.is-playing .slider__play { opacity: 0; pointer-events: none; }
  .slider__play { width: 64px; height: 64px; margin: -32px 0 0 -32px; }
  .slider__play::before { margin: -11px 0 0 -6px; border-width: 11px 0 11px 19px; }

  /* 09 FAQ */
  .faq__item { padding: 53px 0 54px; letter-spacing: 0; }
  .faq__item dt, .faq__item dd { gap: 12px !important; }
  .notice__list li:nth-child(3) { margin-top: 42px; }
  .faq__item:first-child { padding-top: 46px; }
  /* Figma : 마지막 질문 아래에도 구분선 */
  .faq__item:last-child { padding-bottom: 54px; border-bottom: 1px solid var(--gray-line); }
  .faq__item dt { align-items: flex-start; gap: 15px; font-size: 18px; font-weight: 600; line-height: 1.5; }
  .faq__item dt.c-red { color: var(--red); }
  .faq__q--sm { font-size: 16px !important; font-weight: 600 !important; }
  .faq__item dd { gap: 15px; margin-top: 13px; font-size: 14px; line-height: 1.5; color: var(--txt); }
  .faq__item dd.c-red { color: var(--red); }
  .faq__item dd > span { padding-top: 4px; }
  .qa { width: 28px; height: 28px; font-size: 15.5px; letter-spacing: -.04em; }
  .qa--red { background: var(--red); color: #fff; }

  /* 10 NOTICE */
  .notice__body { display: block; margin-top: 46px; }
  .notice__list li, .notice__list li:first-child { align-items: flex-start; gap: 0; }
  .notice__list li + li { margin-top: 42px; }
  .notice__list i { width: 54px; font-size: 32px; line-height: 1.5; }
  .notice__list p, .notice__list li:first-child p { width: auto; padding-top: 11px; font-size: 16px; font-weight: 500; line-height: 1.5; }
  .notice__img { width: min(100vw, 600px); aspect-ratio: 375 / 243; margin: 72px 0 0 calc(50% - min(50vw, 300px)); }

  /* 11 STEP */
  .step__lead { margin-top: 14px; font-size: 16px; line-height: 1.5; }
  .step__list { margin-top: 48px; }
  .step__item { min-height: 201px; }
  .step__item--last { min-height: 0; }
  .step { padding-bottom: 180px; }
  .step .wrap { top: 0; }
  .step__no { width: 88px; padding-left: 4px; }
  .step__no span { font-size: 14.2px; line-height: 1.5; letter-spacing: 1.7px; }
  .step__no b { margin-top: 0; font-size: 33.8px; }
  .step__item:not(:last-child) .step__no::after { left: 11px; top: 114px; }
  .step__con h3 { font-size: 18px; }
  .step__con p { margin-top: 14px; font-size: 14px; }
  .step__item:nth-child(n+4) .step__con p { margin-top: 4px; }
  .step__con h3 + p, .step__item:nth-child(n+4) .step__con h3 + p { margin-top: 12px; }
  .dash { display: none; }
}

/* 태블릿 (420 ~ 1023) : 첫 화면 릴 사진 좌우 경계를 흐리게 */
@media (min-width: 420px) and (max-width: 1023px) {
  .hero__mo-reel {
    -webkit-mask-image: linear-gradient(to right, transparent, #000 18%, #000 82%, transparent);
    mask-image: linear-gradient(to right, transparent, #000 18%, #000 82%, transparent);
  }
}

/* 소형 모바일 (~359) : 시안 기준 강제 줄바꿈 해제 */
@media (max-width: 359px) {
  br.mo { display: none; }
}

/* =========================================================
   단락 이동 메뉴 (PC) / 맨 위로 플로팅 버튼 (PC·MO)
   - 업체 수정본 기준, 메뉴 글자 12px → 14px 로 가독성 보강
   ========================================================= */
html { scroll-behavior: smooth; }
.hd { --gnb-logo-width: 3.6875vw; --gnb-return-padding: 45px; }
.hd section[id] {
  scroll-margin-top: calc(2 * var(--gnb-return-padding) + var(--gnb-logo-width) * 950.55 / 2000 + 10px);
}

.hd__gnb {
  position: fixed; top: 0; left: 0; right: 0; z-index: 19;
  padding: 4.375vw 0 0 4.25vw; pointer-events: none;
  transition: transform .5s, background-color .5s, padding .5s;
}
.hd__gnb.is-returning { padding-block: var(--gnb-return-padding); background-color: #000; }
.hd__gnb[inert] { transform: translateY(-100%); }
.hd__home { display: block; width: var(--gnb-logo-width); pointer-events: auto; }
.hd__home img { width: 100%; height: auto; }
.hd__home:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

.hd__nav {
  position: fixed; top: 50%; right: 24px; z-index: 20; transform: translateY(-50%); /* 맨 위로 버튼과 동일한 오른쪽 여백 */
  display: flex; flex-direction: column; gap: 2px; width: 150px; padding: 10px;
  border: 1px solid rgba(255,255,255,.18); border-radius: 12px;
  background: rgba(10,10,10,.84); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  box-shadow: 0 4px 26px rgba(0,0,0,.4);
}
.hd__nav a {
  padding: 8px 10px; border-radius: 5px; text-decoration: none;
  font-size: 14px; font-weight: 500; line-height: 1.3; color: #dfdfdf; white-space: nowrap;
  transition: background-color .2s, color .2s;
}
.hd__nav a:hover, .hd__nav a:focus-visible { background: rgba(176,0,15,.65); color: #fff; }
.hd__nav a:focus-visible, .hd__top:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (max-width: 1300px) { .hd__nav { width: 136px; padding: 8px; } }

/* 맨 위로 : 검정 원 + 흰 화살표 (스크롤을 내리면 나타남) */
.hd__top {
  position: fixed; right: 24px; bottom: max(24px, env(safe-area-inset-bottom)); z-index: 21;
  display: flex; align-items: center; justify-content: center; width: 56px; height: 56px;
  border-radius: 50%; border: 1px solid rgba(255,255,255,.22); background: #111; color: #fff;
  box-shadow: 0 4px 18px rgba(0,0,0,.55);
  opacity: 0; visibility: hidden; transform: translateY(10px);
  transition: opacity .3s, visibility .3s, transform .3s, background-color .2s;
}
.hd__top.is-show { opacity: 1; visibility: visible; transform: none; }
.hd__top svg { width: 24px; height: 24px; }
@media (hover: hover) { .hd__top:hover { background: #2a2a2a; } }

@media (max-width: 1023px) {
  .hd { --gnb-h: max(44px, calc(50 * var(--mu))); }
  .hd__gnb {
    top: var(--mo-nav-h); height: var(--gnb-h);
    padding: 0 0 0 max(calc(14.5 * var(--mu)), calc(12px + env(safe-area-inset-left)));
    background: rgba(0,0,0,.55);
    clip-path: inset(0);
    transition: transform .5s, background-color .5s, clip-path .5s;
  }
  .hd__gnb.is-returning { padding-block: 0; }
  /* 로고 바가 이동하는 동안 고정 단락 메뉴 아래에서만 보이도록 자릅니다. */
  .hd__gnb[inert] { clip-path: inset(100% 0 0); }
  .hd__home:focus-visible { outline-offset: -3px; }
  .hd__home {
    display: flex; align-items: center;
    width: max(44px, calc(37 * var(--mu))); min-height: var(--gnb-h);
  }
  .hd__home img { width: calc(37 * var(--mu)); }

  /* MO : 화면 상단에 고정되는 가로 스크롤 단락 이동 메뉴 */
  .hd section[id] { scroll-margin-top: calc(var(--mo-nav-h) + var(--gnb-h) + 10px); }
  .hd__nav {
    top: 0; left: 0; right: 0; bottom: auto; transform: none;
    /* 높이 52px, 메뉴 버튼·텍스트 세로 중앙정렬 */
    flex-direction: row; align-items: center; gap: 6px; width: auto;
    height: var(--mo-nav-h); padding: env(safe-area-inset-top) 12px 0;
    border: 0; border-radius: 0; box-shadow: inset 0 -1px 0 rgba(255,255,255,.14); /* 하단 라인(높이 계산에서 제외) */
    overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; -webkit-overflow-scrolling: touch;
  }
  .hd__nav::-webkit-scrollbar { display: none; }
  .hd__nav a { flex: none; display: flex; align-items: center; padding: 7px 12px; border-radius: 16px; font-size: 14px; line-height: 1.2; }
  .hd__nav a.is-current { background: var(--brand); color: #fff; }
  .hd__top { right: 16px; bottom: max(18px, env(safe-area-inset-bottom)); width: 46px; height: 46px; }
  .hd__top svg { width: 20px; height: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hd__gnb { transition: none; }
}

.able__spot-status {
  margin: 0 auto 16px; max-width: 850px;
  color: #c4c4c4; font-size: 14px; line-height: 1.5; text-align: center; overflow-wrap: anywhere;
}
.able__spot-status:empty { margin: 0; }
.able__items { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.able__items li { min-width: 0; white-space: nowrap; }
.able__model-note { display: block; margin-top: 6px; font-size: .88em; }
.able__model-note:empty { display: none; }
@media(max-width:1023px) {
  .able__model-note { margin-top: 12px; }
  .able__spot-status {
    margin: 0 auto; max-height: 100%; overflow-y: auto;
    font-size: 12px; white-space: pre-line;
  }
}

/* Keep the existing button sizes and fit the short labels on one line. */
.able__items li { padding: 0 8px; }
@media (max-width: 1023px) {
  .able__items li { height: 40px; padding: 7px 6px; font-size: clamp(14px, 4.25vw, 16px); line-height: 1.5; }
}
/* Noto Sans KR: keep the original line lengths at the reference widths. */
@media (min-width: 1024px) {
  .intro__txt p:last-child, .worry__txt, .feat__desc { letter-spacing: -.05em; }
  .feat__note { letter-spacing: -.022em; }
}
@media (max-width: 1023px) {
  .intro__txt p:first-child { letter-spacing: -.087em; }
  .worry__txt { letter-spacing: -.045em; }
  .about__lead { letter-spacing: -.073em; }
  .about__desc, .feat__desc { letter-spacing: -.058em; }
  .feat__note { letter-spacing: -.008em; }
  .faq__item dt { letter-spacing: -.04em; }
  .faq__item dd > span { letter-spacing: -.047em; }
  .notice__list li:first-child p { letter-spacing: -.08em; }
  .able__model-note { letter-spacing: -.012em; }
}
