@charset "utf-8";
/* CSS Document */

/* ==========================================================
   GOLD STONE GUIDE DESIGN SYSTEM
   Terahertz Guide CSS Ver.1.0
   ----------------------------------------------------------
   対象：
   ・テラヘルツカテゴリページ
   ・テラヘルツ専門ガイド
   ・今後のGOLD STONE特集ページ

   基本方針：
   ・既存CSSとの干渉を防ぐため .thz-guide 内に限定
   ・PC / タブレット / スマートフォン対応
   ・写真と文章を中心とした誠実で上品なデザイン
   ・過度な装飾を避け、商品と情報を主役にする
========================================================== */


/* ==========================================================
   1. デザイン変数
========================================================== */

.thz-guide {
  --thz-color-text: #252525;
  --thz-color-text-light: #666666;
  --thz-color-text-muted: #888888;

  --thz-color-main: #34312d;
  --thz-color-accent: #a88958;
  --thz-color-accent-dark: #836943;
  --thz-color-accent-light: #d9c8aa;

  --thz-color-bg: #ffffff;
  --thz-color-bg-soft: #f7f5f1;
  --thz-color-bg-warm: #f3efe8;
  --thz-color-bg-dark: #302e2b;

  --thz-color-border: #e4dfd6;
  --thz-color-border-dark: #cbc3b6;

  --thz-shadow-sm:
    0 4px 16px rgba(34, 31, 27, 0.06);

  --thz-shadow-md:
    0 12px 32px rgba(34, 31, 27, 0.09);

  --thz-radius-sm: 8px;
  --thz-radius-md: 14px;
  --thz-radius-lg: 22px;
  --thz-radius-pill: 999px;

  --thz-content-width: 1160px;
  --thz-text-width: 820px;

  --thz-transition:
    0.28s ease;
}


/* ==========================================================
   2. 基本リセット
========================================================== */

.thz-guide,
.thz-guide *,
.thz-guide *::before,
.thz-guide *::after {
  box-sizing: border-box;
}

.thz-guide {
  width: 100%;
  margin: 0;
  padding: 0;
  color: var(--thz-color-text);
  background: var(--thz-color-bg);
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Helvetica Neue",
    "Yu Gothic",
    "YuGothic",
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.035em;
  word-break: normal;
  overflow-wrap: anywhere;
  -webkit-text-size-adjust: 100%;
}

.thz-guide img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  border: 0;
}

.thz-guide picture {
  display: block;
}

.thz-guide a {
  color: inherit;
  text-decoration: none;
}

.thz-guide p,
.thz-guide h1,
.thz-guide h2,
.thz-guide h3,
.thz-guide h4,
.thz-guide h5,
.thz-guide ul,
.thz-guide ol,
.thz-guide dl,
.thz-guide dd,
.thz-guide figure,
.thz-guide blockquote {
  margin: 0;
}

.thz-guide ul,
.thz-guide ol {
  padding: 0;
}

.thz-guide button,
.thz-guide input,
.thz-guide textarea,
.thz-guide select {
  font: inherit;
}

.thz-guide strong {
  font-weight: 700;
}

.thz-guide br.thz-pc-only {
  display: inline;
}

.thz-guide br.thz-sp-only {
  display: none;
}


/* ==========================================================
   3. コンテンツ幅
========================================================== */

.thz-guide__inner {
  width: min(
    calc(100% - 48px),
    var(--thz-content-width)
  );
  margin-inline: auto;
}

.thz-guide__inner--wide {
  width: min(
    calc(100% - 48px),
    1360px
  );
  margin-inline: auto;
}

.thz-guide__inner--text {
  width: min(
    calc(100% - 48px),
    var(--thz-text-width)
  );
  margin-inline: auto;
}


/* ==========================================================
   4. セクション
========================================================== */

.thz-section {
  position: relative;
  padding: 96px 0;
}

.thz-section--small {
  padding: 64px 0;
}

.thz-section--large {
  padding: 120px 0;
}

.thz-section--white {
  background: #ffffff;
}

.thz-section--soft {
  background: var(--thz-color-bg-soft);
}

.thz-section--warm {
  background: var(--thz-color-bg-warm);
}

.thz-section--dark {
  color: #ffffff;
  background: var(--thz-color-bg-dark);
}

.thz-section--border-top {
  border-top: 1px solid var(--thz-color-border);
}

.thz-section--border-bottom {
  border-bottom: 1px solid var(--thz-color-border);
}


/* ==========================================================
   5. セクションタイトル
========================================================== */

.thz-section-header {
  max-width: 820px;
  margin: 0 auto 54px;
  text-align: center;
}

.thz-section-header--left {
  max-width: none;
  margin-right: 0;
  margin-left: 0;
  text-align: left;
}

.thz-section-header__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  margin-bottom: 15px;
  color: var(--thz-color-accent-dark);
  font-family:
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.thz-section-header__label::before,
.thz-section-header__label::after {
  content: "";
  display: block;
  width: 28px;
  height: 1px;
  margin: 0 12px;
  background: var(--thz-color-accent);
}

.thz-section-header--left
.thz-section-header__label::before {
  display: none;
}

.thz-section-header__title {
  color: var(--thz-color-main);
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.065em;
}

.thz-section-header__title span {
  color: var(--thz-color-accent-dark);
}

.thz-section-header__lead {
  margin-top: 22px;
  color: var(--thz-color-text-light);
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.04em;
}

.thz-section--dark
.thz-section-header__title {
  color: #ffffff;
}

.thz-section--dark
.thz-section-header__lead {
  color: rgba(255, 255, 255, 0.78);
}

.thz-section--dark
.thz-section-header__label {
  color: #dbc8a8;
}


/* ==========================================================
   6. 見出し
========================================================== */

.thz-heading {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 28px;
}

.thz-heading__number {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  color: #ffffff;
  background: var(--thz-color-main);
  border-radius: 50%;
  font-family:
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}

.thz-heading__body {
  min-width: 0;
  padding-top: 2px;
}

.thz-heading__label {
  display: block;
  margin-bottom: 5px;
  color: var(--thz-color-accent-dark);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.thz-heading__title {
  color: var(--thz-color-main);
  font-size: clamp(22px, 2.3vw, 30px);
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: 0.045em;
}

.thz-subheading {
  position: relative;
  margin: 48px 0 22px;
  padding-left: 18px;
  color: var(--thz-color-main);
  font-size: clamp(19px, 2vw, 24px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.045em;
}

.thz-subheading::before {
  content: "";
  position: absolute;
  top: 0.25em;
  bottom: 0.25em;
  left: 0;
  width: 3px;
  background: var(--thz-color-accent);
  border-radius: var(--thz-radius-pill);
}

.thz-minor-heading {
  margin: 32px 0 14px;
  color: var(--thz-color-main);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.7;
}


/* ==========================================================
   7. 本文
========================================================== */

.thz-text {
  color: var(--thz-color-text);
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.04em;
}

.thz-text + .thz-text {
  margin-top: 20px;
}

.thz-text--large {
  font-size: 18px;
  line-height: 2.05;
}

.thz-text--small {
  font-size: 14px;
  line-height: 1.9;
}

.thz-text--muted {
  color: var(--thz-color-text-light);
}

.thz-text--center {
  text-align: center;
}

.thz-text--narrow {
  max-width: var(--thz-text-width);
  margin-right: auto;
  margin-left: auto;
}

.thz-emphasis {
  color: var(--thz-color-accent-dark);
  font-weight: 700;
}

.thz-marker {
  background:
    linear-gradient(
      transparent 62%,
      rgba(197, 169, 118, 0.28) 62%
    );
  font-weight: 700;
}


/* ==========================================================
   8. メインビジュアル
========================================================== */

.thz-hero {
  position: relative;
  min-height: 540px;
  overflow: hidden;
  background: #e8e5df;
}

.thz-hero__image {
  position: absolute;
  inset: 0;
}

.thz-hero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.thz-hero__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(18, 18, 18, 0.58) 0%,
      rgba(18, 18, 18, 0.30) 48%,
      rgba(18, 18, 18, 0.04) 100%
    );
}

.thz-hero__content {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  width: min(
    calc(100% - 48px),
    var(--thz-content-width)
  );
  min-height: 540px;
  margin-inline: auto;
}

.thz-hero__body {
  width: min(620px, 58%);
  padding: 50px 0;
  color: #ffffff;
}

.thz-hero__label {
  display: block;
  margin-bottom: 16px;
  color: #e2d1b4;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.2em;
}

.thz-hero__title {
  font-size: clamp(34px, 5vw, 62px);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.08em;
}

.thz-hero__lead {
  margin-top: 22px;
  color: rgba(255, 255, 255, 0.88);
  font-size: clamp(15px, 1.7vw, 18px);
  line-height: 2;
}


/* ==========================================================
   9. 写真＋文章レイアウト
========================================================== */

.thz-media {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(0, 1fr);
  align-items: center;
  gap: clamp(42px, 6vw, 82px);
}

.thz-media + .thz-media {
  margin-top: 88px;
}

.thz-media--reverse
.thz-media__image {
  order: 2;
}

.thz-media--reverse
.thz-media__content {
  order: 1;
}

.thz-media--top {
  align-items: start;
}

.thz-media__image {
  position: relative;
  overflow: hidden;
  border-radius: var(--thz-radius-lg);
  box-shadow: var(--thz-shadow-sm);
}

.thz-media__image img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.thz-media__image--portrait img {
  aspect-ratio: 4 / 5;
}

.thz-media__image--square img {
  aspect-ratio: 1 / 1;
}

.thz-media__image--natural img {
  aspect-ratio: auto;
  object-fit: contain;
}

.thz-media__content {
  min-width: 0;
}

.thz-media__label {
  display: block;
  margin-bottom: 12px;
  color: var(--thz-color-accent-dark);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.thz-media__title {
  margin-bottom: 22px;
  color: var(--thz-color-main);
  font-size: clamp(24px, 2.6vw, 34px);
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: 0.05em;
}

.thz-media__caption {
  margin-top: 12px;
  color: var(--thz-color-text-muted);
  font-size: 12px;
  line-height: 1.7;
  text-align: center;
}


/* ==========================================================
   10. カード
========================================================== */

.thz-card-grid {
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.thz-card-grid--2 {
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
}

.thz-card-grid--4 {
  grid-template-columns:
    repeat(4, minmax(0, 1fr));
}

.thz-card {
  position: relative;
  height: 100%;
  padding: 34px 30px;
  background: #ffffff;
  border: 1px solid var(--thz-color-border);
  border-radius: var(--thz-radius-md);
  box-shadow: var(--thz-shadow-sm);
}

.thz-card--flat {
  box-shadow: none;
}

.thz-card--soft {
  background: var(--thz-color-bg-soft);
  box-shadow: none;
}

.thz-card--warm {
  background: var(--thz-color-bg-warm);
  box-shadow: none;
}

.thz-card__number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-bottom: 22px;
  color: #ffffff;
  background: var(--thz-color-main);
  border-radius: 50%;
  font-family:
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 12px;
  font-weight: 700;
}

.thz-card__label {
  display: block;
  margin-bottom: 8px;
  color: var(--thz-color-accent-dark);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.thz-card__title {
  margin-bottom: 14px;
  color: var(--thz-color-main);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: 0.04em;
}

.thz-card__text {
  color: var(--thz-color-text-light);
  font-size: 14px;
  line-height: 1.9;
}

.thz-card__image {
  margin: -34px -30px 25px;
  overflow: hidden;
  border-radius:
    var(--thz-radius-md)
    var(--thz-radius-md)
    0
    0;
}

.thz-card__image img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.thz-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 22px;
  color: var(--thz-color-accent-dark);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.6;
}

.thz-card__link::after {
  content: "→";
  transition: transform var(--thz-transition);
}

.thz-card__link:hover::after {
  transform: translateX(4px);
}


/* ==========================================================
   11. 数値・実績
========================================================== */

.thz-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}


/* 各実績カード */
.thz-stat {
  position: relative;
  min-width: 0;
  padding: 34px 18px 30px;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid var(--thz-color-border);
  border-radius: var(--thz-radius-lg);
  box-shadow: var(--thz-shadow-sm);
  text-align: center;
}


/* 上部の細いアクセントライン */
.thz-stat::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 42px;
  height: 2px;
  background: var(--thz-color-accent);
  transform: translateX(-50%);
}


/* SINCE / SALES / REVIEWS / RATING */
.thz-stat__meta {
  display: block;
  margin-bottom: 12px;
  color: var(--thz-color-accent-dark);
  font-family:
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.18em;
}


/* 数字 */
.thz-stat__value {
  display: flex;
  align-items: baseline;
  justify-content: center;
  white-space: nowrap;
  color: var(--thz-color-main);
  font-family:
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: clamp(29px, 3vw, 42px);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: 0.01em;
}


/* 年〜 / 点以上 / 件以上 */
.thz-stat__unit {
  margin-left: 4px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0;
}


/* 説明 */
.thz-stat__label {
  display: block;
  margin-top: 13px;
  color: var(--thz-color-text-light);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.03em;
}


/* レビュー評価の星 */
.thz-stat__star {
  margin-right: 6px;
  color: var(--thz-color-accent);
  font-size: 18px;
  line-height: 1;
}


/* ==========================================================
   実績カード：タブレット
========================================================== */

@media screen and (max-width: 1024px) {

  .thz-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .thz-stat {
    padding: 32px 18px 28px;
  }

}


/* ==========================================================
   実績カード：スマートフォン
========================================================== */

@media screen and (max-width: 767px) {

  .thz-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .thz-stat {
    padding: 25px 8px 22px;
    border-radius: 8px;
  }

  .thz-stat::before {
    width: 30px;
  }

  .thz-stat__meta {
    margin-bottom: 10px;
    font-size: 8px;
    letter-spacing: 0.14em;
  }

  .thz-stat__value {
    font-size: clamp(23px, 7.1vw, 30px);
  }

  .thz-stat__unit {
    margin-left: 2px;
    font-size: 10px;
  }

  .thz-stat__label {
    margin-top: 9px;
    font-size: 10px;
    line-height: 1.5;
  }

  .thz-stat__star {
    margin-right: 3px;
    font-size: 13px;
  }

}


/* ==========================================================
   実績カード：小さいスマートフォン
========================================================== */

@media screen and (max-width: 420px) {

  .thz-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .thz-stat {
    padding: 23px 6px 20px;
  }

  .thz-stat__value {
    font-size: clamp(21px, 6.8vw, 27px);
  }

  .thz-stat__unit {
    font-size: 9px;
  }

  .thz-stat__label {
    font-size: 9px;
  }

}
/* ==========================================================
   実績カード SP 最終調整
========================================================== */

@media screen and (max-width: 767px) {

  .thz-guide .thz-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px;
  }

  .thz-guide .thz-stat {
    min-width: 0;
    padding: 25px 6px 22px;
  }

  .thz-guide .thz-stat__value {
    font-size: clamp(22px, 7vw, 29px);
  }

  .thz-guide .thz-stat__unit {
    font-size: 9px;
  }

  .thz-guide .thz-stat__label {
    font-size: 10px;
    line-height: 1.5;
  }

}

/* ==========================================================
   12. 強調ボックス
========================================================== */

.thz-note {
  position: relative;
  margin: 38px 0;
  padding: 28px 30px;
  background: var(--thz-color-bg-soft);
  border: 1px solid var(--thz-color-border);
  border-left: 4px solid var(--thz-color-accent);
  border-radius: 0 var(--thz-radius-md) var(--thz-radius-md) 0;
}

.thz-note__title {
  margin-bottom: 10px;
  color: var(--thz-color-main);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.6;
}

.thz-note__text {
  color: var(--thz-color-text-light);
  font-size: 14px;
  line-height: 1.9;
}

.thz-answer {
  margin: 42px 0;
  padding: 38px 42px;
  background: #ffffff;
  border: 1px solid var(--thz-color-border-dark);
  border-radius: var(--thz-radius-lg);
  box-shadow: var(--thz-shadow-sm);
  text-align: center;
}

.thz-answer__label {
  display: block;
  margin-bottom: 12px;
  color: var(--thz-color-accent-dark);
  font-family:
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
}

.thz-answer__title {
  color: var(--thz-color-main);
  font-size: clamp(22px, 2.6vw, 30px);
  font-weight: 600;
  line-height: 1.65;
}

.thz-answer__text {
  max-width: 720px;
  margin: 18px auto 0;
  color: var(--thz-color-text-light);
  font-size: 15px;
  line-height: 2;
}

.thz-promise {
  position: relative;
  padding: clamp(42px, 6vw, 72px);
  overflow: hidden;
  color: #ffffff;
  background: var(--thz-color-bg-dark);
  border-radius: var(--thz-radius-lg);
}

.thz-promise::before {
  content: "";
  position: absolute;
  top: -90px;
  right: -70px;
  width: 240px;
  height: 240px;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 50%;
}

.thz-promise::after {
  content: "";
  position: absolute;
  right: 55px;
  bottom: -120px;
  width: 300px;
  height: 300px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 50%;
}

.thz-promise__content {
  position: relative;
  z-index: 2;
  max-width: 780px;
}

.thz-promise__label {
  display: block;
  margin-bottom: 14px;
  color: #d8c29e;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.17em;
}

.thz-promise__title {
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.055em;
}

.thz-promise__text {
  margin-top: 22px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 15px;
  line-height: 2;
}


/* ==========================================================
   13. チェックリスト
========================================================== */

.thz-check-list {
  display: grid;
  gap: 14px;
  list-style: none;
}

.thz-check-list--2 {
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 16px 24px;
}

.thz-check-list__item {
  position: relative;
  padding: 17px 20px 17px 52px;
  color: var(--thz-color-text);
  background: #ffffff;
  border: 1px solid var(--thz-color-border);
  border-radius: var(--thz-radius-sm);
  font-size: 14px;
  line-height: 1.8;
}

.thz-check-list__item::before {
  content: "✓";
  position: absolute;
  top: 17px;
  left: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  color: #ffffff;
  background: var(--thz-color-accent-dark);
  border-radius: 50%;
  font-size: 11px;
  font-weight: 700;
}


/* ==========================================================
   14. 通常リスト
========================================================== */

.thz-list {
  display: grid;
  gap: 12px;
  margin: 24px 0;
  list-style: none;
}

.thz-list__item {
  position: relative;
  padding-left: 24px;
  color: var(--thz-color-text);
  font-size: 15px;
  line-height: 1.9;
}

.thz-list__item::before {
  content: "";
  position: absolute;
  top: 0.85em;
  left: 3px;
  width: 7px;
  height: 7px;
  background: var(--thz-color-accent);
  border-radius: 50%;
}


/* ==========================================================
   15. 比較表
========================================================== */

.thz-table-wrap {
  width: 100%;
  overflow-x: auto;
  border: 1px solid var(--thz-color-border);
  border-radius: var(--thz-radius-md);
  -webkit-overflow-scrolling: touch;
}

.thz-table {
  width: 100%;
  min-width: 680px;
  border-spacing: 0;
  border-collapse: collapse;
  background: #ffffff;
}

.thz-table th,
.thz-table td {
  padding: 18px 20px;
  border-right: 1px solid var(--thz-color-border);
  border-bottom: 1px solid var(--thz-color-border);
  font-size: 14px;
  line-height: 1.8;
  text-align: left;
  vertical-align: top;
}

.thz-table th {
  color: var(--thz-color-main);
  background: var(--thz-color-bg-soft);
  font-weight: 700;
}

.thz-table tr:last-child th,
.thz-table tr:last-child td {
  border-bottom: 0;
}

.thz-table th:last-child,
.thz-table td:last-child {
  border-right: 0;
}


/* ==========================================================
   16. FAQ
========================================================== */

.thz-faq {
  display: grid;
  gap: 14px;
}

.thz-faq__item {
  overflow: hidden;
  background: #ffffff;
  border: 1px solid var(--thz-color-border);
  border-radius: var(--thz-radius-md);
}

.thz-faq__question {
  position: relative;
  display: flex;
  gap: 18px;
  align-items: flex-start;
  width: 100%;
  padding: 24px 62px 24px 26px;
  color: var(--thz-color-main);
  background: transparent;
  border: 0;
  cursor: pointer;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.8;
  text-align: left;
}

.thz-faq__question::before {
  content: "Q";
  flex: 0 0 auto;
  color: var(--thz-color-accent-dark);
  font-family:
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 18px;
  font-weight: 700;
}

.thz-faq__question::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 25px;
  color: var(--thz-color-accent-dark);
  font-size: 26px;
  font-weight: 300;
  line-height: 1;
  transform: translateY(-50%);
}

.thz-faq__item[open]
.thz-faq__question::after {
  content: "−";
}

.thz-faq__answer {
  display: flex;
  gap: 18px;
  padding: 0 26px 26px;
  color: var(--thz-color-text-light);
  font-size: 14px;
  line-height: 2;
}

.thz-faq__answer::before {
  content: "A";
  flex: 0 0 auto;
  color: var(--thz-color-main);
  font-family:
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 18px;
  font-weight: 700;
}

.thz-faq__answer-body {
  min-width: 0;
}


/* ==========================================================
   17. ボタン
========================================================== */

.thz-button-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin-top: 38px;
}

.thz-button-wrap--left {
  justify-content: flex-start;
}

.thz-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-width: 250px;
  min-height: 58px;
  padding: 14px 28px;
  color: #ffffff !important;
  background: var(--thz-color-main);
  border: 1px solid var(--thz-color-main);
  border-radius: var(--thz-radius-pill);
  box-shadow: none !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.06em;
  text-decoration: none !important;
  transition:
    color var(--thz-transition),
    background-color var(--thz-transition),
    border-color var(--thz-transition),
    transform var(--thz-transition);
}

.thz-button::after {
  content: "→";
  flex: 0 0 auto;
  transition: transform var(--thz-transition);
}

.thz-button:hover {
  color: #ffffff !important;
  background: var(--thz-color-accent-dark);
  border-color: var(--thz-color-accent-dark);
  transform: translateY(-2px);
}

.thz-button:hover::after {
  transform: translateX(4px);
}

.thz-button--outline {
  color: var(--thz-color-main) !important;
  background: transparent;
  border-color: var(--thz-color-border-dark);
}

.thz-button--outline:hover {
  color: #ffffff !important;
  background: var(--thz-color-main);
  border-color: var(--thz-color-main);
}

.thz-button--light {
  color: var(--thz-color-main) !important;
  background: #ffffff;
  border-color: #ffffff;
}

.thz-button--light:hover {
  color: #ffffff !important;
  background: var(--thz-color-accent-dark);
  border-color: var(--thz-color-accent-dark);
}

.thz-text-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--thz-color-accent-dark) !important;
  border-bottom: 1px solid currentColor;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.7;
  text-decoration: none !important;
}

.thz-text-link::after {
  content: "→";
  transition: transform var(--thz-transition);
}

.thz-text-link:hover::after {
  transform: translateX(4px);
}


/* ==========================================================
   18. 商品タイプナビ
   SELECT BY CATEGORY
========================================================== */

.thz-category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

.thz-category {
  display: block;
  min-width: 0;
  width: 100%;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid var(--thz-color-border);
  border-radius: var(--thz-radius-md);
  box-shadow: var(--thz-shadow-sm);
  transition:
    transform var(--thz-transition),
    box-shadow var(--thz-transition);
}

.thz-category:hover {
  transform: translateY(-4px);
  box-shadow: var(--thz-shadow-md);
}

.thz-category__image {
  overflow: hidden;
  background: #ffffff;
}

.thz-category__image img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.thz-category:hover .thz-category__image img {
  transform: scale(1.025);
}

.thz-category__body {
  display: flex;
  min-height: 132px;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 19px 16px 21px;
  text-align: center;
}

.thz-category__label {
  display: block;
  margin-bottom: 5px;
  color: var(--thz-color-accent-dark);
  font-family:
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.14em;
}

.thz-category__title {
  color: var(--thz-color-main);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.55;
}

.thz-category__text {
  margin-top: 7px;
  color: var(--thz-color-text-light);
  font-size: 12px;
  line-height: 1.7;
}


/* =========================================
   PC / Tablet
   3列 × 3段を固定
========================================= */

@media screen and (min-width: 768px) {

  .thz-guide .thz-category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  /*
   * 9番目も通常カードとして扱う
   */
  .thz-guide .thz-category--last {
    grid-column: auto;
    width: 100%;
    justify-self: stretch;
  }

}


/* =========================================
   Smartphone
   2列＋最後の1枚を中央
========================================= */

@media screen and (max-width: 767px) {

  .thz-guide .thz-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;

    width: calc(100% + 20px);
    margin-left: -10px;
    margin-right: -10px;
  }

  .thz-guide .thz-category {
    border-radius: 10px;
  }

  .thz-guide .thz-category__body {
    min-height: 76px;
    justify-content: center;
    padding: 12px 7px 13px;
  }

  .thz-guide .thz-category__label {
    margin-bottom: 3px;
    font-size: 8px;
    line-height: 1.3;
    letter-spacing: 0.12em;
  }

  .thz-guide .thz-category__title {
    font-size: 13px;
    line-height: 1.45;
  }

  .thz-guide .thz-category__text {
    display: none;
  }

  /*
   * 9番目だけ中央
   */
  .thz-guide .thz-category--last {
    grid-column: 1 / -1;
    width: calc((100% - 10px) / 2);
    justify-self: center;
  }

}


/* =========================================
   Small Smartphone
========================================= */

@media screen and (max-width: 420px) {

  .thz-guide .thz-category-grid {
    gap: 8px;
  }

  .thz-guide .thz-category--last {
    width: calc((100% - 8px) / 2);
  }

}


/* ==========================================================
   19. ガイド一覧
========================================================== */

.thz-guide-list {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.thz-guide-link {
  position: relative;
  display: flex;
  align-items: center;
  gap: 24px;
  min-height: 150px;
  padding: 28px 64px 28px 28px;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid var(--thz-color-border);
  border-radius: var(--thz-radius-md);
  transition:
    transform var(--thz-transition),
    box-shadow var(--thz-transition),
    border-color var(--thz-transition);
}

.thz-guide-link:hover {
  border-color: var(--thz-color-border-dark);
  box-shadow: var(--thz-shadow-md);
  transform: translateY(-3px);
}

.thz-guide-link::after {
  content: "→";
  position: absolute;
  top: 50%;
  right: 28px;
  color: var(--thz-color-accent-dark);
  font-size: 22px;
  transform: translateY(-50%);
  transition: transform var(--thz-transition);
}

.thz-guide-link:hover::after {
  transform:
    translate(5px, -50%);
}

.thz-guide-link__number {
  flex: 0 0 auto;
  color: var(--thz-color-accent-light);
  font-family:
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 40px;
  font-weight: 300;
  line-height: 1;
}

.thz-guide-link__body {
  min-width: 0;
}

.thz-guide-link__label {
  display: block;
  margin-bottom: 6px;
  color: var(--thz-color-accent-dark);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.thz-guide-link__title {
  color: var(--thz-color-main);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
}

.thz-guide-link__text {
  margin-top: 7px;
  color: var(--thz-color-text-light);
  font-size: 13px;
  line-height: 1.75;
}


/* ==========================================================
   20. 前後ページナビ
========================================================== */

.thz-page-nav {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 64px;
}

.thz-page-nav__item {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 110px;
  padding: 24px 30px;
  background: #ffffff;
  border: 1px solid var(--thz-color-border);
  border-radius: var(--thz-radius-md);
  transition:
    border-color var(--thz-transition),
    box-shadow var(--thz-transition);
}

.thz-page-nav__item:hover {
  border-color: var(--thz-color-border-dark);
  box-shadow: var(--thz-shadow-sm);
}

.thz-page-nav__item--prev {
  padding-left: 60px;
}

.thz-page-nav__item--next {
  justify-content: flex-end;
  padding-right: 60px;
  text-align: right;
}

.thz-page-nav__item--prev::before {
  content: "←";
  position: absolute;
  left: 26px;
  color: var(--thz-color-accent-dark);
  font-size: 20px;
}

.thz-page-nav__item--next::after {
  content: "→";
  position: absolute;
  right: 26px;
  color: var(--thz-color-accent-dark);
  font-size: 20px;
}

.thz-page-nav__label {
  display: block;
  margin-bottom: 4px;
  color: var(--thz-color-text-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.13em;
}

.thz-page-nav__title {
  color: var(--thz-color-main);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.7;
}


/* ==========================================================
   21. パンくず・目次
========================================================== */

.thz-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 34px;
  color: var(--thz-color-text-muted);
  font-size: 12px;
  line-height: 1.7;
}

.thz-breadcrumb a {
  color: var(--thz-color-text-light);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.thz-breadcrumb__separator {
  color: #bbbbbb;
}

.thz-toc {
  padding: 34px 38px;
  background: var(--thz-color-bg-soft);
  border: 1px solid var(--thz-color-border);
  border-radius: var(--thz-radius-md);
}

.thz-toc__title {
  margin-bottom: 20px;
  color: var(--thz-color-main);
  font-size: 18px;
  font-weight: 700;
  text-align: center;
}

.thz-toc__list {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 12px 26px;
  list-style: none;
}

.thz-toc__link {
  position: relative;
  display: block;
  padding: 10px 12px 10px 26px;
  color: var(--thz-color-text);
  border-bottom: 1px solid var(--thz-color-border);
  font-size: 13px;
  line-height: 1.7;
}

.thz-toc__link::before {
  content: "›";
  position: absolute;
  left: 8px;
  color: var(--thz-color-accent-dark);
  font-weight: 700;
}


/* ==========================================================
   22. 店長メッセージ
========================================================== */

.thz-message {
  display: grid;
  grid-template-columns:
    minmax(240px, 0.65fr)
    minmax(0, 1.35fr);
  gap: clamp(38px, 6vw, 76px);
  align-items: center;
}

.thz-message__image {
  overflow: hidden;
  border-radius: var(--thz-radius-lg);
  box-shadow: var(--thz-shadow-sm);
}

.thz-message__image img {
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.thz-message__title {
  margin-bottom: 24px;
  color: var(--thz-color-main);
  font-size: clamp(25px, 3vw, 36px);
  font-weight: 600;
  line-height: 1.6;
}

.thz-message__signature {
  margin-top: 28px;
  color: var(--thz-color-text-light);
  font-size: 13px;
  line-height: 1.8;
}

.thz-message__name {
  display: block;
  margin-top: 4px;
  color: var(--thz-color-main);
  font-size: 17px;
  font-weight: 700;
}


/* ==========================================================
   23. 更新・監修情報
========================================================== */

.thz-meta {
  padding: 24px 28px;
  color: var(--thz-color-text-muted);
  background: var(--thz-color-bg-soft);
  border-radius: var(--thz-radius-sm);
  font-size: 12px;
  line-height: 1.9;
}

.thz-meta__list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  list-style: none;
}


/* ==========================================================
   24. 余白ユーティリティ
========================================================== */

.thz-mt-0 {
  margin-top: 0 !important;
}

.thz-mt-16 {
  margin-top: 16px !important;
}

.thz-mt-24 {
  margin-top: 24px !important;
}

.thz-mt-32 {
  margin-top: 32px !important;
}

.thz-mt-40 {
  margin-top: 40px !important;
}

.thz-mt-48 {
  margin-top: 48px !important;
}

.thz-mt-64 {
  margin-top: 64px !important;
}

.thz-mb-0 {
  margin-bottom: 0 !important;
}

.thz-mb-16 {
  margin-bottom: 16px !important;
}

.thz-mb-24 {
  margin-bottom: 24px !important;
}

.thz-mb-32 {
  margin-bottom: 32px !important;
}

.thz-mb-40 {
  margin-bottom: 40px !important;
}

.thz-mb-48 {
  margin-bottom: 48px !important;
}

.thz-mb-64 {
  margin-bottom: 64px !important;
}


/* ==========================================================
   25. アンカー位置調整
========================================================== */

.thz-guide [id] {
  scroll-margin-top: 90px;
}


/* ==========================================================
   26. タブレット
========================================================== */

@media screen and (max-width: 1024px) {

  .thz-section {
    padding: 78px 0;
  }

  .thz-section--large {
    padding: 96px 0;
  }

  .thz-card-grid--4 {
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
}

  .thz-card-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .thz-stat-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .thz-stat:nth-child(2)::after {
    display: none;
  }

  .thz-stat:nth-child(-n + 2) {
    border-bottom:
      1px solid
      var(--thz-color-border);
  }

  .thz-hero,
  .thz-hero__content {
    min-height: 500px;
  }

  .thz-hero__body {
    width: 66%;
  }

}


/* ==========================================================
   27. スマートフォン
========================================================== */

@media screen and (max-width: 767px) {

  .thz-guide {
    font-size: 15px;
    line-height: 1.9;
    letter-spacing: 0.025em;
  }

  .thz-guide__inner,
  .thz-guide__inner--wide,
  .thz-guide__inner--text {
    width: min(
      calc(100% - 32px),
      var(--thz-content-width)
    );
  }

  .thz-section {
    padding: 62px 0;
  }

  .thz-section--small {
    padding: 48px 0;
  }

  .thz-section--large {
    padding: 74px 0;
  }

  .thz-section-header {
    margin-bottom: 38px;
  }

  .thz-section-header__label {
    margin-bottom: 11px;
    font-size: 10px;
  }

  .thz-section-header__label::before,
  .thz-section-header__label::after {
    width: 20px;
    margin: 0 9px;
  }

  .thz-section-header__title {
    font-size: 26px;
    line-height: 1.55;
    letter-spacing: 0.045em;
  }

  .thz-section-header__lead {
    margin-top: 16px;
    font-size: 14px;
    line-height: 1.9;
    text-align: left;
  }

  .thz-section-header--left
  .thz-section-header__lead {
    text-align: left;
  }

  .thz-heading {
    gap: 12px;
    margin-bottom: 22px;
  }

  .thz-heading__number {
    width: 38px;
    height: 38px;
    font-size: 11px;
  }

  .thz-heading__title {
    font-size: 21px;
    line-height: 1.6;
  }

  .thz-subheading {
    margin: 38px 0 18px;
    padding-left: 14px;
    font-size: 19px;
  }

  .thz-text {
    font-size: 15px;
    line-height: 1.95;
  }

  .thz-text--large {
    font-size: 16px;
  }

  .thz-hero {
    min-height: 590px;
  }

  .thz-hero__image img {
    object-position: center;
  }

  .thz-hero__overlay {
    background:
      linear-gradient(
        180deg,
        rgba(15, 15, 15, 0.08) 0%,
        rgba(15, 15, 15, 0.28) 38%,
        rgba(15, 15, 15, 0.78) 100%
      );
  }

  .thz-hero__content {
    align-items: flex-end;
    min-height: 590px;
  }

  .thz-hero__body {
    width: 100%;
    padding: 50px 0 42px;
  }

  .thz-hero__title {
    font-size: 34px;
    line-height: 1.45;
  }

  .thz-hero__lead {
    margin-top: 16px;
    font-size: 14px;
    line-height: 1.9;
  }

  .thz-media,
  .thz-message {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .thz-media + .thz-media {
    margin-top: 62px;
  }

  .thz-media--reverse
  .thz-media__image,
  .thz-media--reverse
  .thz-media__content {
    order: initial;
  }

  .thz-media__image {
    border-radius: var(--thz-radius-md);
  }

  .thz-media__title {
    margin-bottom: 16px;
    font-size: 23px;
  }

  .thz-media__caption {
    font-size: 11px;
  }

  .thz-card-grid,
  .thz-card-grid--2,
  .thz-card-grid--4 {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .thz-card {
    padding: 26px 22px;
  }

  .thz-card__image {
    margin: -26px -22px 22px;
  }

  .thz-card__title {
    font-size: 18px;
  }

  .thz-stat {
    padding: 28px 14px;
  }

  .thz-stat__value {
    font-size: 30px;
  }

  .thz-stat__label {
    font-size: 11px;
  }

  .thz-note {
    margin: 30px 0;
    padding: 23px 21px;
  }

  .thz-answer {
    margin: 32px 0;
    padding: 30px 22px;
  }

  .thz-answer__title {
    font-size: 21px;
  }

  .thz-answer__text {
    font-size: 14px;
    text-align: left;
  }

  .thz-promise {
    padding: 38px 24px;
    border-radius: var(--thz-radius-md);
  }

  .thz-promise__title {
    font-size: 24px;
  }

  .thz-promise__text {
    font-size: 14px;
  }

  .thz-check-list--2 {
    grid-template-columns: 1fr;
  }

  .thz-check-list__item {
    padding:
      15px
      16px
      15px
      47px;
    font-size: 13px;
  }

  .thz-check-list__item::before {
    top: 15px;
    left: 16px;
  }

  .thz-faq__question {
    gap: 13px;
    padding:
      20px
      52px
      20px
      19px;
    font-size: 14px;
  }

  .thz-faq__question::after {
    right: 19px;
  }

  .thz-faq__answer {
    gap: 13px;
    padding:
      0
      19px
      22px;
    font-size: 13px;
  }

  .thz-button-wrap,
  .thz-button-wrap--left {
    flex-direction: column;
    align-items: stretch;
  }

  .thz-button {
    width: 100%;
    min-width: 0;
    min-height: 56px;
  }

  .thz-category-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .thz-category__body {
    padding: 15px 10px 17px;
  }

  .thz-category__title {
    font-size: 14px;
  }

  .thz-category__text {
    font-size: 11px;
  }

  .thz-guide-list {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .thz-guide-link {
    gap: 17px;
    min-height: 128px;
    padding:
      22px
      48px
      22px
      20px;
  }

  .thz-guide-link::after {
    right: 18px;
  }

  .thz-guide-link__number {
    font-size: 32px;
  }

  .thz-guide-link__title {
    font-size: 16px;
  }

  .thz-guide-link__text {
    font-size: 12px;
  }

  .thz-page-nav {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 48px;
  }

  .thz-page-nav__item {
    min-height: 94px;
  }

  .thz-toc {
    padding: 27px 21px;
  }

  .thz-toc__list {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .thz-message__image {
    max-width: 440px;
    margin-inline: auto;
  }

  .thz-message__title {
    font-size: 24px;
  }

  .thz-meta__list {
    display: grid;
    gap: 5px;
  }

  .thz-guide br.thz-pc-only {
    display: none;
  }

  .thz-guide br.thz-sp-only {
    display: inline;
  }

}


/* ==========================================================
   28. 小さいスマートフォン
========================================================== */

@media screen and (max-width: 420px) {

  .thz-guide__inner,
  .thz-guide__inner--wide,
  .thz-guide__inner--text {
    width: calc(100% - 26px);
  }

  .thz-section-header__title {
    font-size: 24px;
  }

  .thz-hero__title {
    font-size: 30px;
  }

  .thz-stat-grid {
    grid-template-columns: 1fr;
  }

  .thz-stat:not(:last-child)::after {
    display: none;
  }

  .thz-stat:nth-child(-n + 3) {
    border-bottom:
      1px solid
      var(--thz-color-border);
  }

  .thz-category-grid {
    gap: 9px;
  }

  .thz-category__title {
    font-size: 13px;
  }

  .thz-category__text {
    display: none;
  }

}


/* ==========================================================
   29. ホバーが使えない端末への対応
========================================================== */

@media (hover: none) {

  .thz-button:hover,
  .thz-category:hover,
  .thz-guide-link:hover {
    transform: none;
  }

  .thz-category:hover
  .thz-category__image img {
    transform: none;
  }

}


/* ==========================================================
   30. 動きを抑える設定への対応
========================================================== */

@media (prefers-reduced-motion: reduce) {

  .thz-guide *,
  .thz-guide *::before,
  .thz-guide *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }

}


/* =====================================================
   テラヘルツカテゴリ 商品一覧下フッター
====================================================== */

.thz-category-footer {
  --thz-footer-black: #151515;
  --thz-footer-gray: #666;
  --thz-footer-light: #f6f6f4;
  --thz-footer-border: #deded9;
  --thz-footer-accent: #a38a5c;

  color: #222;
  background: #fff;
}

.thz-category-footer *,
.thz-category-footer *::before,
.thz-category-footer *::after {
  box-sizing: border-box;
}

.thz-category-footer a {
  color: inherit;
  text-decoration: none;
}

.thz-section {
  padding: 100px 24px;
}

.thz-container {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.thz-container--narrow {
  width: min(900px, 100%);
}

.thz-sp-only {
  display: none;
}


/* 見出し
------------------------------ */

.thz-section-heading {
  max-width: 760px;
  margin: 0 auto 52px;
  text-align: center;
}

.thz-section-heading--left {
  max-width: none;
  margin-right: 0;
  margin-left: 0;
  text-align: left;
}

.thz-section-heading__en {
  margin: 0 0 14px;
  color: var(--thz-footer-accent);
  font-family: Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .2em;
}

.thz-section-heading__title {
  margin: 0;
  color: var(--thz-footer-black);
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: .04em;
}

.thz-section-heading__lead {
  margin: 22px 0 0;
  color: var(--thz-footer-gray);
  font-size: 15px;
  line-height: 2;
}


/* 選び方サポート
------------------------------ */

.thz-footer-support {
  background: #fff;
}

.thz-support-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.thz-support-card {
  display: flex;
  min-height: 330px;
  flex-direction: column;
  padding: 38px 34px 32px;
  border: 1px solid var(--thz-footer-border);
  border-radius: 4px;
  background: #fff;
}

.thz-support-card__number {
  display: block;
  margin-bottom: 28px;
  color: var(--thz-footer-accent);
  font-family: Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .14em;
}

.thz-support-card__title {
  margin: 0 0 18px;
  color: var(--thz-footer-black);
  font-size: 20px;
  font-weight: 500;
  line-height: 1.6;
}

.thz-support-card__text {
  margin: 0 0 28px;
  color: var(--thz-footer-gray);
  font-size: 14px;
  line-height: 1.9;
}

.thz-text-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: auto;
  color: var(--thz-footer-black);
  font-size: 14px;
  font-weight: 500;
}

.thz-text-link span {
  transition: transform .25s ease;
}

@media (hover: hover) {
  .thz-support-card {
    transition:
      border-color .25s ease,
      transform .25s ease;
  }

  .thz-support-card:hover {
    border-color: #aaa;
    transform: translateY(-3px);
  }

  .thz-text-link:hover span {
    transform: translateX(4px);
  }
}


/* ガイドカード
------------------------------ */

.thz-footer-guide {
  background: var(--thz-footer-light);
}

.thz-guide-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
}

.thz-guide-card {
  position: relative;
  display: flex;
  min-height: 270px;
  flex-direction: column;
  grid-column: span 2;
  padding: 30px 28px;
  border: 1px solid transparent;
  background: #fff;
}

.thz-guide-card:nth-child(4) {
  grid-column: 2 / span 2;
}

.thz-guide-card:nth-child(5) {
  grid-column: 4 / span 2;
}

.thz-guide-card__number {
  margin-bottom: 34px;
  color: var(--thz-footer-accent);
  font-family: Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
}

.thz-guide-card__title {
  margin-bottom: 14px;
  color: var(--thz-footer-black);
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
}

.thz-guide-card__text {
  padding-right: 24px;
  color: var(--thz-footer-gray);
  font-size: 13px;
  line-height: 1.8;
}

.thz-guide-card__arrow {
  position: absolute;
  right: 28px;
  bottom: 26px;
  font-size: 18px;
  transition: transform .25s ease;
}

@media (hover: hover) {
  .thz-guide-card {
    transition:
      border-color .25s ease,
      transform .25s ease;
  }

  .thz-guide-card:hover {
    border-color: #c7c7c1;
    transform: translateY(-3px);
  }

  .thz-guide-card:hover .thz-guide-card__arrow {
    transform: translateX(4px);
  }
}


/* 品質への姿勢
------------------------------ */

.thz-footer-promise {
  background: #fff;
}

.thz-promise-panel {
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(0, 1.5fr);
  gap: 80px;
  padding: 70px;
  border: 1px solid var(--thz-footer-border);
}

.thz-promise-panel__title {
  margin: 0;
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: .04em;
}

.thz-promise-list {
  border-top: 1px solid var(--thz-footer-border);
}

.thz-promise-item {
  display: grid;
  grid-template-columns: 26px 1fr;
  gap: 18px;
  padding: 25px 0;
  border-bottom: 1px solid var(--thz-footer-border);
}

.thz-promise-item__mark {
  color: var(--thz-footer-accent);
  font-size: 17px;
  line-height: 1.6;
}

.thz-promise-item h3 {
  margin: 0 0 8px;
  color: var(--thz-footer-black);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
}

.thz-promise-item p {
  margin: 0;
  color: var(--thz-footer-gray);
  font-size: 13px;
  line-height: 1.85;
}


/* FAQ
------------------------------ */

.thz-footer-faq {
  background: var(--thz-footer-light);
}

.thz-faq-list {
  border-top: 1px solid var(--thz-footer-border);
}

.thz-faq-item {
  border-bottom: 1px solid var(--thz-footer-border);
}

.thz-faq-item__question {
  position: relative;
  display: grid;
  min-height: 88px;
  grid-template-columns: 34px 1fr 28px;
  align-items: center;
  gap: 16px;
  padding: 20px 6px;
  color: var(--thz-footer-black);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
  cursor: pointer;
  list-style: none;
}

.thz-faq-item__question::-webkit-details-marker {
  display: none;
}

.thz-faq-item__q,
.thz-faq-item__a {
  color: var(--thz-footer-accent);
  font-family: Arial, sans-serif;
  font-size: 17px;
  font-weight: 700;
}

.thz-faq-item__icon {
  position: relative;
  display: block;
  width: 20px;
  height: 20px;
}

.thz-faq-item__icon::before,
.thz-faq-item__icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 1px;
  content: "";
  background: #333;
  transform: translate(-50%, -50%);
  transition: transform .25s ease;
}

.thz-faq-item__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.thz-faq-item[open] .thz-faq-item__icon::after {
  transform: translate(-50%, -50%) rotate(0);
}

.thz-faq-item__answer {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 16px;
  padding: 0 46px 28px 6px;
}

.thz-faq-item__answer p {
  margin: 0;
  color: var(--thz-footer-gray);
  font-size: 14px;
  line-height: 1.95;
}

.thz-faq-more {
  margin-top: 42px;
  text-align: center;
}


/* 店長メッセージ
------------------------------ */

.thz-footer-message {
  background: #fff;
}

.thz-message-panel {
  display: grid;
  grid-template-columns: minmax(200px, .55fr) minmax(0, 1.45fr);
  gap: 75px;
  padding: 75px 8%;
  background: #222;
  color: #fff;
}

.thz-message-panel__label span {
  display: block;
  margin-bottom: 16px;
  color: #c7b181;
  font-family: Arial, sans-serif;
  font-size: 11px;
  letter-spacing: .2em;
}

.thz-message-panel__label strong {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: .08em;
}

.thz-message-panel__title {
  margin: 0 0 30px;
  color: #fff;
  font-size: clamp(25px, 3vw, 38px);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: .05em;
}

.thz-message-panel__body p {
  margin: 0 0 18px;
  color: rgba(255, 255, 255, .75);
  font-size: 14px;
  line-height: 2.05;
}

.thz-message-panel__signature {
  margin-top: 34px !important;
  color: #fff !important;
  font-family: Arial, sans-serif;
  font-size: 13px !important;
  letter-spacing: .16em;
}


/* ボタン
------------------------------ */

.thz-button {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 12px 28px;
  border: 1px solid transparent;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  transition:
    background-color .25s ease,
    border-color .25s ease,
    color .25s ease;
}

.thz-button--outline {
  border-color: #333;
  background: transparent;
  color: #222;
}

.thz-button--light {
  background: #fff;
  color: #222;
}

.thz-button--ghost {
  border-color: rgba(255, 255, 255, .55);
  color: #fff;
}

@media (hover: hover) {
  .thz-button--outline:hover {
    background: #222;
    color: #fff;
  }

  .thz-button--light:hover {
    background: #e9e9e5;
  }

  .thz-button--ghost:hover {
    border-color: #fff;
    background: #fff;
    color: #222;
  }
}


/* 最終CTA
------------------------------ */

.thz-footer-cta {
  padding: 76px 24px;
  background: #111;
  color: #fff;
}

.thz-footer-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 55px;
}

.thz-footer-cta__en {
  margin: 0 0 13px;
  color: #c7b181;
  font-family: Arial, sans-serif;
  font-size: 11px;
  letter-spacing: .18em;
}

.thz-footer-cta__title {
  margin: 0;
  color: #fff;
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 400;
  line-height: 1.5;
}

.thz-footer-cta__text {
  margin: 14px 0 0;
  color: rgba(255, 255, 255, .68);
  font-size: 14px;
  line-height: 1.8;
}

.thz-footer-cta__buttons {
  display: flex;
  flex: 0 0 auto;
  gap: 12px;
}


/* タブレット
------------------------------ */

@media (max-width: 900px) {

  .thz-section {
    padding: 78px 22px;
  }

  .thz-support-grid {
    grid-template-columns: 1fr;
  }

  .thz-support-card {
    min-height: 0;
  }

  .thz-guide-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .thz-guide-card,
  .thz-guide-card:nth-child(4),
  .thz-guide-card:nth-child(5) {
    grid-column: auto;
  }

  .thz-guide-card:last-child {
    grid-column: 1 / -1;
  }

  .thz-promise-panel {
    grid-template-columns: 1fr;
    gap: 45px;
    padding: 52px 44px;
  }

  .thz-message-panel {
    grid-template-columns: 1fr;
    gap: 42px;
    padding: 60px 9%;
  }

  .thz-footer-cta__inner {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* スマートフォン
------------------------------ */

@media (max-width: 600px) {

  .thz-section {
    padding: 64px 18px;
  }

  .thz-sp-only {
    display: block;
  }

  .thz-section-heading {
    margin-bottom: 38px;
    text-align: left;
  }

  .thz-section-heading__title {
    font-size: 27px;
    line-height: 1.5;
  }

  .thz-section-heading__lead {
    margin-top: 16px;
    font-size: 14px;
    line-height: 1.9;
  }

  .thz-support-grid {
    gap: 14px;
  }

  .thz-support-card {
    padding: 28px 24px;
  }

  .thz-support-card__number {
    margin-bottom: 19px;
  }

  .thz-support-card__title {
    font-size: 18px;
  }

  .thz-guide-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .thz-guide-card,
  .thz-guide-card:last-child {
    min-height: 220px;
    grid-column: auto;
    padding: 26px 24px;
  }

  .thz-guide-card__number {
    margin-bottom: 25px;
  }

  .thz-promise-panel {
    gap: 35px;
    padding: 38px 24px;
  }

  .thz-promise-panel__title {
    font-size: 26px;
  }

  .thz-promise-item {
    grid-template-columns: 22px 1fr;
    gap: 12px;
  }

  .thz-faq-item__question {
    min-height: 78px;
    grid-template-columns: 27px 1fr 22px;
    gap: 10px;
    padding: 18px 0;
    font-size: 14px;
  }

  .thz-faq-item__answer {
    grid-template-columns: 27px 1fr;
    gap: 10px;
    padding: 0 0 24px;
  }

  .thz-faq-item__answer p {
    font-size: 13px;
    line-height: 1.9;
  }

  .thz-faq-more .thz-button {
    width: 100%;
  }

  .thz-message-panel {
    gap: 32px;
    padding: 44px 25px;
  }

  .thz-message-panel__title {
    font-size: 25px;
  }

  .thz-footer-cta {
    padding: 58px 18px;
  }

  .thz-footer-cta__inner {
    gap: 32px;
  }

  .thz-footer-cta__title {
    font-size: 26px;
  }

  .thz-footer-cta__buttons {
    width: 100%;
    flex-direction: column;
  }

  .thz-footer-cta__buttons .thz-button {
    width: 100%;
  }
}


/* =====================================================
   GOLD STONE TERAHERTZ GUIDE 01
   https://gold-stone.jp/css/terahertz-guide.css
===================================================== */

/* -----------------------------------------------------
   BASE
----------------------------------------------------- */

.thz-guide01 {
  --thz-black: #111214;
  --thz-dark: #17191c;
  --thz-gray-900: #26282b;
  --thz-gray-700: #555a60;
  --thz-gray-500: #858a8f;
  --thz-gray-300: #d7d9dc;
  --thz-gray-200: #e8e9eb;
  --thz-gray-100: #f4f4f3;
  --thz-white: #ffffff;
  --thz-silver: #b9bdc2;
  --thz-accent: #b8a77c;
  --thz-accent-dark: #8c7a50;
  --thz-radius-lg: 28px;
  --thz-radius-md: 18px;
  --thz-radius-sm: 10px;

  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  color: var(--thz-gray-900);
  background: var(--thz-white);
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Helvetica Neue",
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Yu Gothic",
    YuGothic,
    Meiryo,
    sans-serif;
  font-feature-settings: "palt";
  line-height: 1.9;
  letter-spacing: 0.035em;
}

.thz-guide01 *,
.thz-guide01 *::before,
.thz-guide01 *::after {
  box-sizing: border-box;
}

.thz-guide01 img {
  display: block;
  max-width: 100%;
  height: auto;
}

.thz-guide01 a {
  color: inherit;
  text-decoration: none;
}

.thz-guide01 p,
.thz-guide01 h1,
.thz-guide01 h2,
.thz-guide01 h3,
.thz-guide01 dl,
.thz-guide01 dd,
.thz-guide01 ul {
  margin-top: 0;
}

.thz-guide01__container {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
}

.thz-guide01__container--narrow {
  width: min(900px, calc(100% - 48px));
}

.thz-guide01__section {
  padding: 112px 0;
}

.thz-guide01__section--soft {
  background: #f7f7f5;
}

.thz-guide01__section--gray {
  background: #eceeed;
}

.thz-guide01__section--dark {
  position: relative;
  overflow: hidden;
  color: var(--thz-white);
  background:
    radial-gradient(
      circle at 80% 20%,
      rgba(255, 255, 255, 0.08),
      transparent 34%
    ),
    linear-gradient(
      145deg,
      #101113 0%,
      #22252a 100%
    );
}

.thz-guide01__section-heading {
  max-width: 800px;
  margin: 0 auto 64px;
  text-align: center;
}

.thz-guide01__section-number {
  margin-bottom: 13px;
  color: var(--thz-accent-dark);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.24em;
}

.thz-guide01__section-heading h2 {
  margin-bottom: 18px;
  color: var(--thz-black);
  font-family:
    "Hiragino Mincho ProN",
    "Yu Mincho",
    YuMincho,
    serif;
  font-size: clamp(28px, 3.3vw, 44px);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.065em;
}

.thz-guide01__section-heading > p:last-child {
  margin-bottom: 0;
  color: var(--thz-gray-700);
  font-size: 16px;
}

.thz-guide01__section-heading--light h2,
.thz-guide01__section-heading--light > p:last-child {
  color: var(--thz-white);
}

.thz-sp-only {
  display: none;
}


/* -----------------------------------------------------
   HERO
----------------------------------------------------- */

.thz-guide01__hero {
  position: relative;
  min-height: 610px;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: var(--thz-white);
  background:
    radial-gradient(
      circle at 75% 50%,
      rgba(255, 255, 255, 0.11),
      transparent 29%
    ),
    linear-gradient(
      125deg,
      #0c0d0f 0%,
      #1c1f23 55%,
      #30343a 100%
    );
}

.thz-guide01__hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.21;
  background-image:
    linear-gradient(
      rgba(255, 255, 255, 0.05) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(255, 255, 255, 0.05) 1px,
      transparent 1px
    );
  background-size: 72px 72px;
  pointer-events: none;
}

.thz-guide01__hero-inner {
  position: relative;
  z-index: 2;
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
  padding: 100px 0;
}

.thz-guide01__eyebrow {
  margin-bottom: 23px;
  color: rgba(255, 255, 255, 0.66);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.28em;
}

.thz-guide01__title {
  margin-bottom: 28px;
  color: var(--thz-white);
  font-family:
    "Hiragino Mincho ProN",
    "Yu Mincho",
    YuMincho,
    serif;
  font-size: clamp(46px, 6.4vw, 80px);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.09em;
}

.thz-guide01__hero-copy {
  margin-bottom: 24px;
  color: var(--thz-white);
  font-family:
    "Hiragino Mincho ProN",
    "Yu Mincho",
    YuMincho,
    serif;
  font-size: clamp(21px, 2.6vw, 31px);
  line-height: 1.65;
  letter-spacing: 0.09em;
}

.thz-guide01__hero-text {
  max-width: 640px;
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 15px;
  line-height: 2;
}

.thz-guide01__hero-decoration {
  position: absolute;
  z-index: 1;
  top: 50%;
  right: max(3vw, 30px);
  width: min(41vw, 510px);
  aspect-ratio: 1;
  transform: translateY(-50%);
}

.thz-guide01__hero-orbit {
  position: absolute;
  inset: 50%;
  display: block;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.thz-guide01__hero-orbit--01 {
  width: 100%;
  height: 100%;
}

.thz-guide01__hero-orbit--02 {
  width: 72%;
  height: 72%;
  border-color: rgba(255, 255, 255, 0.25);
}

.thz-guide01__hero-orbit--03 {
  width: 42%;
  height: 42%;
  border-color: rgba(255, 255, 255, 0.34);
}

.thz-guide01__hero-core {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 13%;
  aspect-ratio: 1;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  background:
    radial-gradient(
      circle at 35% 30%,
      #ffffff,
      #c8cbd0 31%,
      #676d75 68%,
      #25282d 100%
    );
  box-shadow:
    0 0 40px rgba(255, 255, 255, 0.22),
    0 0 110px rgba(255, 255, 255, 0.12);
}


/* -----------------------------------------------------
   INTRO
----------------------------------------------------- */

.thz-guide01__intro {
  padding-top: 96px;
  padding-bottom: 96px;
}

.thz-guide01__brand-message {
  position: relative;
  padding: 64px 72px;
  text-align: center;
  border-top: 1px solid var(--thz-gray-300);
  border-bottom: 1px solid var(--thz-gray-300);
}

.thz-guide01__brand-message::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 50%;
  width: 90px;
  height: 2px;
  transform: translateX(-50%);
  background: var(--thz-accent);
}

.thz-guide01__small-heading {
  margin-bottom: 18px;
  color: var(--thz-accent-dark);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.22em;
}

.thz-guide01__brand-title {
  margin-bottom: 30px;
  font-family:
    "Hiragino Mincho ProN",
    "Yu Mincho",
    YuMincho,
    serif;
  font-size: clamp(25px, 3vw, 36px);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0.07em;
}

.thz-guide01__brand-message p:not(.thz-guide01__small-heading) {
  max-width: 720px;
  margin-right: auto;
  margin-left: auto;
  color: var(--thz-gray-700);
  font-size: 15px;
  text-align: left;
}

.thz-guide01__brand-message p:last-child {
  margin-bottom: 0;
}


/* -----------------------------------------------------
   SUMMARY
----------------------------------------------------- */

.thz-guide01__summary-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
}

.thz-guide01__summary-card {
  position: relative;
  min-height: 245px;
  padding: 35px 25px 30px;
  overflow: hidden;
  border: 1px solid #e1e2df;
  border-radius: var(--thz-radius-md);
  background: var(--thz-white);
}

.thz-guide01__summary-index {
  display: block;
  margin-bottom: 30px;
  color: var(--thz-accent-dark);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.16em;
}

.thz-guide01__summary-card h3 {
  margin-bottom: 14px;
  color: var(--thz-black);
  font-size: 17px;
  line-height: 1.55;
}

.thz-guide01__summary-card p {
  margin-bottom: 0;
  color: var(--thz-gray-700);
  font-size: 13px;
  line-height: 1.85;
}


/* -----------------------------------------------------
   1 THZ
----------------------------------------------------- */

.thz-guide01__two-column {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(400px, 0.86fr);
  gap: 70px;
  align-items: center;
}

.thz-guide01__content h3 {
  margin-bottom: 23px;
  font-family:
    "Hiragino Mincho ProN",
    "Yu Mincho",
    YuMincho,
    serif;
  font-size: 27px;
  font-weight: 500;
  line-height: 1.55;
}

.thz-guide01__content p {
  color: var(--thz-gray-700);
  font-size: 15px;
}

.thz-guide01__attention {
  margin-top: 34px;
  padding: 25px 28px;
  border-left: 3px solid var(--thz-accent);
  background: var(--thz-gray-100);
}

.thz-guide01__attention-title {
  margin-bottom: 8px !important;
  color: var(--thz-black) !important;
  font-size: 13px !important;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.thz-guide01__attention p:last-child {
  margin-bottom: 0;
  font-size: 13px;
}

.thz-guide01__frequency {
  padding: 52px 30px;
  text-align: center;
  border: 1px solid var(--thz-gray-200);
  border-radius: var(--thz-radius-lg);
  background:
    linear-gradient(
      145deg,
      #fafafa,
      #eceeef
    );
  box-shadow: 0 18px 55px rgba(20, 22, 26, 0.08);
}

.thz-guide01__frequency-main {
  display: flex;
  align-items: baseline;
  justify-content: center;
  line-height: 1;
}

.thz-guide01__frequency-value {
  color: var(--thz-black);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 91px;
}

.thz-guide01__frequency-unit {
  margin-left: 10px;
  color: var(--thz-gray-700);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 35px;
}

.thz-guide01__frequency-equal {
  margin: 12px 0;
  color: var(--thz-gray-500);
  font-size: 26px;
}

.thz-guide01__frequency-result {
  color: var(--thz-black);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(21px, 2.3vw, 29px);
  line-height: 1.4;
  letter-spacing: 0.03em;
}

.thz-guide01__frequency > p {
  margin: 15px 0 0;
  color: var(--thz-gray-700);
  font-size: 13px;
}

.thz-guide01__unit-list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin-top: 75px;
  border: 1px solid var(--thz-gray-200);
  border-radius: var(--thz-radius-md);
  overflow: hidden;
}

.thz-guide01__unit-item {
  min-width: 0;
  padding: 28px 18px;
  text-align: center;
  border-right: 1px solid var(--thz-gray-200);
  background: var(--thz-white);
}

.thz-guide01__unit-item:last-child {
  border-right: 0;
}

.thz-guide01__unit-item span,
.thz-guide01__unit-item strong,
.thz-guide01__unit-item small {
  display: block;
}

.thz-guide01__unit-item span {
  margin-bottom: 10px;
  color: var(--thz-gray-700);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 15px;
}

.thz-guide01__unit-item strong {
  overflow-wrap: anywhere;
  margin-bottom: 6px;
  color: var(--thz-black);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(16px, 1.55vw, 21px);
  font-weight: 500;
  letter-spacing: 0;
}

.thz-guide01__unit-item small {
  color: var(--thz-gray-500);
  font-size: 11px;
}

.thz-guide01__unit-item--accent {
  color: var(--thz-white);
  background: var(--thz-dark);
}

.thz-guide01__unit-item--accent span,
.thz-guide01__unit-item--accent strong,
.thz-guide01__unit-item--accent small {
  color: var(--thz-white);
}


/* -----------------------------------------------------
   SPECTRUM
----------------------------------------------------- */

.thz-guide01__spectrum {
  max-width: 980px;
  margin: 0 auto;
}

.thz-guide01__spectrum-labels {
  display: flex;
  justify-content: space-between;
  margin-bottom: 12px;
  color: rgba(255, 255, 255, 0.52);
  font-size: 12px;
  letter-spacing: 0.2em;
}

.thz-guide01__spectrum-bar {
  display: grid;
  grid-template-columns: 1fr 1.25fr 1fr;
  min-height: 150px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.17);
  border-radius: var(--thz-radius-md);
}

.thz-guide01__spectrum-part {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 22px;
  text-align: center;
  font-size: 14px;
}

.thz-guide01__spectrum-part--radio {
  background: rgba(111, 132, 155, 0.24);
}

.thz-guide01__spectrum-part--thz {
  position: relative;
  background:
    linear-gradient(
      135deg,
      rgba(223, 226, 231, 0.31),
      rgba(148, 157, 169, 0.18)
    );
  box-shadow:
    inset 1px 0 rgba(255, 255, 255, 0.13),
    inset -1px 0 rgba(255, 255, 255, 0.13);
}

.thz-guide01__spectrum-part--thz::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.18;
  background:
    repeating-linear-gradient(
      90deg,
      transparent 0,
      transparent 18px,
      rgba(255, 255, 255, 0.35) 19px,
      transparent 20px
    );
}

.thz-guide01__spectrum-part--thz strong,
.thz-guide01__spectrum-part--thz small {
  position: relative;
  z-index: 1;
}

.thz-guide01__spectrum-part--thz strong {
  margin-bottom: 8px;
  font-size: 19px;
  letter-spacing: 0.1em;
}

.thz-guide01__spectrum-part--thz small {
  color: rgba(255, 255, 255, 0.65);
  font-size: 12px;
}

.thz-guide01__spectrum-part--light {
  background: rgba(163, 137, 108, 0.24);
}

.thz-guide01__spectrum-note {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.48);
  font-size: 11px;
  text-align: center;
}

.thz-guide01__dark-content {
  max-width: 800px;
  margin: 55px auto 0;
  color: rgba(255, 255, 255, 0.74);
  font-size: 15px;
}

.thz-guide01__dark-content p:last-child {
  margin-bottom: 0;
}


/* -----------------------------------------------------
   COMPARISON
----------------------------------------------------- */

.thz-guide01__comparison {
  display: grid;
  grid-template-columns: 1fr 70px 1fr;
  align-items: center;
}

.thz-guide01__comparison-card {
  height: 100%;
  padding: 50px 48px;
  border: 1px solid var(--thz-gray-200);
  border-radius: var(--thz-radius-lg);
  background: var(--thz-white);
}

.thz-guide01__comparison-card--material {
  background: #f4f4f2;
}

.thz-guide01__comparison-label {
  margin-bottom: 30px;
  color: var(--thz-accent-dark);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.25em;
}

.thz-guide01__comparison-card h3 {
  margin: 27px 0 17px;
  font-family:
    "Hiragino Mincho ProN",
    "Yu Mincho",
    YuMincho,
    serif;
  font-size: 27px;
  font-weight: 500;
}

.thz-guide01__comparison-card > p:not(.thz-guide01__comparison-label) {
  min-height: 86px;
  color: var(--thz-gray-700);
  font-size: 14px;
}

.thz-guide01__comparison-card dl {
  margin-bottom: 0;
  border-top: 1px solid var(--thz-gray-200);
}

.thz-guide01__comparison-card dl > div {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 15px;
  padding: 14px 0;
  border-bottom: 1px solid var(--thz-gray-200);
}

.thz-guide01__comparison-card dt {
  color: var(--thz-gray-500);
  font-size: 12px;
}

.thz-guide01__comparison-card dd {
  margin-bottom: 0;
  color: var(--thz-gray-900);
  font-size: 13px;
}

.thz-guide01__comparison-separator {
  color: var(--thz-gray-300);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 43px;
  text-align: center;
}

.thz-guide01__comparison-icon {
  width: 90px;
  height: 64px;
}

.thz-guide01__comparison-icon span {
  display: block;
  width: 100%;
  height: 16px;
  margin-bottom: 4px;
  border: solid var(--thz-gray-900);
  border-width: 2px 0 0;
  border-radius: 50%;
  transform: rotate(-5deg);
}

.thz-guide01__material-icon {
  position: relative;
  width: 72px;
  height: 72px;
}

.thz-guide01__material-icon span {
  position: absolute;
  inset: 0;
  display: block;
  border-radius: 18px;
  transform: rotate(45deg);
  background:
    linear-gradient(
      145deg,
      #f2f3f3 0%,
      #8e949a 35%,
      #2c3034 72%,
      #111214 100%
    );
  box-shadow:
    inset 8px 8px 13px rgba(255, 255, 255, 0.34),
    0 13px 25px rgba(20, 22, 26, 0.18);
}

.thz-guide01__important {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 35px;
  margin-top: 55px;
  padding: 40px 45px;
  color: var(--thz-white);
  border-radius: var(--thz-radius-md);
  background: var(--thz-dark);
}

.thz-guide01__important-mark {
  align-self: start;
  padding-top: 7px;
  color: var(--thz-accent);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 12px;
  letter-spacing: 0.22em;
}

.thz-guide01__important h3 {
  margin-bottom: 12px;
  font-size: 19px;
  line-height: 1.65;
}

.thz-guide01__important p {
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.67);
  font-size: 13px;
}


/* -----------------------------------------------------
   ANSWER
----------------------------------------------------- */

.thz-guide01__answer-box {
  max-width: 950px;
  margin: 0 auto;
  overflow: hidden;
  border-radius: var(--thz-radius-lg);
  background: var(--thz-white);
  box-shadow: 0 22px 65px rgba(27, 29, 32, 0.08);
}

.thz-guide01__answer-heading {
  padding: 43px 55px;
  color: var(--thz-white);
  background: var(--thz-dark);
}

.thz-guide01__answer-heading span {
  display: block;
  margin-bottom: 16px;
  color: var(--thz-accent);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 11px;
  letter-spacing: 0.23em;
}

.thz-guide01__answer-heading h3 {
  margin-bottom: 0;
  font-family:
    "Hiragino Mincho ProN",
    "Yu Mincho",
    YuMincho,
    serif;
  font-size: clamp(21px, 2.7vw, 31px);
  font-weight: 500;
  line-height: 1.65;
}

.thz-guide01__answer-content {
  padding: 48px 55px;
}

.thz-guide01__answer-content p {
  color: var(--thz-gray-700);
  font-size: 15px;
}

.thz-guide01__answer-content p:last-child {
  margin-bottom: 0;
}


/* -----------------------------------------------------
   SILICON
----------------------------------------------------- */

.thz-guide01__silicon-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 80px;
  align-items: center;
  max-width: 950px;
  margin: 0 auto;
}

.thz-guide01__element-card {
  position: relative;
  aspect-ratio: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--thz-gray-200);
  border-radius: var(--thz-radius-lg);
  background:
    linear-gradient(
      145deg,
      #fafafa,
      #e7e9ea
    );
  box-shadow: 0 20px 55px rgba(20, 22, 26, 0.1);
}

.thz-guide01__element-number {
  position: absolute;
  top: 24px;
  left: 26px;
  color: var(--thz-gray-500);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
}

.thz-guide01__element-card strong {
  color: var(--thz-black);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 87px;
  font-weight: 400;
  line-height: 1;
}

.thz-guide01__element-name {
  margin-top: 7px;
  color: var(--thz-gray-700);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  letter-spacing: 0.1em;
}

.thz-guide01__element-card small {
  margin-top: 5px;
  color: var(--thz-gray-500);
  font-size: 11px;
}

.thz-guide01__word-table {
  margin-top: 30px;
  border-top: 1px solid var(--thz-gray-200);
}

.thz-guide01__word-table > div {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 20px;
  padding: 16px 0;
  border-bottom: 1px solid var(--thz-gray-200);
}

.thz-guide01__word-table strong {
  color: var(--thz-black);
  font-size: 13px;
}

.thz-guide01__word-table span {
  color: var(--thz-gray-700);
  font-size: 13px;
}


/* -----------------------------------------------------

   APPLICATION
----------------------------------------------------- */

.thz-guide01__application-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 17px;
}

.thz-guide01__application-card {
  min-height: 260px;
  padding: 37px 29px;
  border-radius: var(--thz-radius-md);
  background: var(--thz-white);
}

.thz-guide01__application-card > span {
  display: block;
  margin-bottom: 34px;
  color: var(--thz-accent-dark);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 12px;
  letter-spacing: 0.18em;
}

.thz-guide01__application-card h3 {
  margin-bottom: 16px;
  color: var(--thz-black);
  font-size: 18px;
}

.thz-guide01__application-card p {
  margin-bottom: 0;
  color: var(--thz-gray-700);
  font-size: 13px;
}

.thz-guide01__research-note {
  max-width: 950px;
  margin: 50px auto 0;
  padding: 37px 42px;
  border: 1px solid #d5d7d6;
  border-radius: var(--thz-radius-md);
  background: rgba(255, 255, 255, 0.43);
}

.thz-guide01__research-note h3 {
  margin-bottom: 15px;
  color: var(--thz-black);
  font-size: 17px;
}

.thz-guide01__research-note p {
  color: var(--thz-gray-700);
  font-size: 13px;
}

.thz-guide01__research-note p:last-child {
  margin-bottom: 0;
}


/* -----------------------------------------------------
   PHILOSOPHY
----------------------------------------------------- */

.thz-guide01__philosophy {
  position: relative;
  padding: 58px 65px;
  border: 1px solid var(--thz-gray-200);
  border-radius: var(--thz-radius-lg);
}

.thz-guide01__philosophy::before {
  content: "GOLD STONE";
  position: absolute;
  top: -11px;
  left: 50%;
  padding: 0 25px;
  transform: translateX(-50%);
  color: var(--thz-accent-dark);
  background: var(--thz-white);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 11px;
  letter-spacing: 0.24em;
}

.thz-guide01__philosophy p {
  color: var(--thz-gray-700);
  font-size: 15px;
}

.thz-guide01__philosophy-lead {
  margin-bottom: 32px !important;
  color: var(--thz-black) !important;
  font-family:
    "Hiragino Mincho ProN",
    "Yu Mincho",
    YuMincho,
    serif;
  font-size: 24px !important;
  line-height: 1.7;
  text-align: center;
}

.thz-guide01__philosophy-final {
  margin: 40px 0 0 !important;
  padding-top: 35px;
  color: var(--thz-black) !important;
  border-top: 1px solid var(--thz-gray-200);
  font-family:
    "Hiragino Mincho ProN",
    "Yu Mincho",
    YuMincho,
    serif;
  font-size: 19px !important;
  line-height: 2;
  text-align: center;
}


/* -----------------------------------------------------
   SOURCES
----------------------------------------------------- */

.thz-guide01__sources {
  padding: 0 0 90px;
}

.thz-guide01__sources-details {
  border-top: 1px solid var(--thz-gray-200);
  border-bottom: 1px solid var(--thz-gray-200);
}

.thz-guide01__sources-details summary {
  position: relative;
  padding: 22px 50px 22px 0;
  color: var(--thz-gray-700);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}

.thz-guide01__sources-details summary::-webkit-details-marker {
  display: none;
}

.thz-guide01__sources-details summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 5px;
  color: var(--thz-gray-500);
  font-size: 22px;
  font-weight: 300;
  transform: translateY(-50%);
}

.thz-guide01__sources-details[open] summary::after {
  content: "−";
}

.thz-guide01__sources-content {
  padding: 0 0 25px;
}

.thz-guide01__sources-content p,
.thz-guide01__sources-content li {
  color: var(--thz-gray-500);
  font-size: 11px;
}

.thz-guide01__sources-content ul {
  margin-bottom: 0;
  padding-left: 20px;
}

.thz-guide01__sources-content a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.thz-guide01__sources-content a:hover {
  color: var(--thz-black);
}


/* -----------------------------------------------------
   NEXT GUIDE
----------------------------------------------------- */

.thz-guide01__next {
  padding: 95px 0;
  color: var(--thz-white);
  background:
    radial-gradient(
      circle at 85% 50%,
      rgba(255, 255, 255, 0.1),
      transparent 29%
    ),
    var(--thz-dark);
}

.thz-guide01__next-inner {
  display: grid;
  grid-template-columns: 1fr minmax(310px, 0.56fr);
  gap: 90px;
  align-items: center;
}

.thz-guide01__next-label {
  margin-bottom: 13px;
  color: var(--thz-accent);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 11px;
  letter-spacing: 0.24em;
}

.thz-guide01__next-number {
  margin-bottom: 19px;
  color: rgba(255, 255, 255, 0.4);
  font-size: 12px;
  letter-spacing: 0.16em;
}

.thz-guide01__next h2 {
  margin-bottom: 20px;
  color: var(--thz-white);
  font-family:
    "Hiragino Mincho ProN",
    "Yu Mincho",
    YuMincho,
    serif;
  font-size: clamp(29px, 3.5vw, 43px);
  font-weight: 500;
  line-height: 1.5;
}

.thz-guide01__next-content > p:last-child {
  max-width: 630px;
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.65);
  font-size: 14px;
}

.thz-guide01__next-actions {
  display: grid;
  gap: 14px;
}

.thz-guide01__button {
  display: flex;
  min-height: 62px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 16px 22px;
  border: 1px solid transparent;
  border-radius: 4px;
  font-size: 13px;
  transition:
    background-color 0.25s ease,
    color 0.25s ease,
    border-color 0.25s ease,
    transform 0.25s ease;
}

.thz-guide01__button:hover {
  transform: translateY(-2px);
}

.thz-guide01__button--primary {
  color: var(--thz-black);
  background: var(--thz-white);
}

.thz-guide01__button--primary:hover {
  background: #e9e9e8;
}

.thz-guide01__button--secondary {
  color: var(--thz-white);
  border-color: rgba(255, 255, 255, 0.25);
  background: transparent;
}

.thz-guide01__button--secondary:hover {
  border-color: rgba(255, 255, 255, 0.65);
}


/* -----------------------------------------------------
   GUIDE NAVIGATION
----------------------------------------------------- */

.thz-guide01__guide-nav {
  padding: 70px 0 85px;
  background: #f4f4f2;
}

.thz-guide01__guide-nav-title {
  margin-bottom: 26px;
  color: var(--thz-gray-500);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 11px;
  letter-spacing: 0.24em;
}

.thz-guide01__guide-nav-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
}

.thz-guide01__guide-nav-item {
  min-height: 115px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 21px 20px;
  color: var(--thz-gray-700);
  border: 1px solid #dedfdd;
  background: var(--thz-white);
  transition:
    color 0.25s ease,
    border-color 0.25s ease,
    transform 0.25s ease;
}

.thz-guide01__guide-nav-item:hover {
  color: var(--thz-black);
  border-color: #aeb1b1;
  transform: translateY(-3px);
}

.thz-guide01__guide-nav-item > span {
  color: var(--thz-accent-dark);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 11px;
}

.thz-guide01__guide-nav-item strong {
  font-size: 13px;
  line-height: 1.55;
}

.thz-guide01__guide-nav-item.is-current {
  color: var(--thz-white);
  border-color: var(--thz-dark);
  background: var(--thz-dark);
}

.thz-guide01__guide-nav-item.is-current > span {
  color: var(--thz-accent);
}


/* -----------------------------------------------------
   TABLET
----------------------------------------------------- */

@media screen and (max-width: 1000px) {

  .thz-guide01__summary-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .thz-guide01__two-column {
    grid-template-columns: 1fr;
    gap: 45px;
  }

  .thz-guide01__frequency {
    max-width: 620px;
    width: 100%;
    margin-inline: auto;
  }

  .thz-guide01__unit-list {
    grid-template-columns: repeat(2, 1fr);
  }

  .thz-guide01__unit-item {
    border-bottom: 1px solid var(--thz-gray-200);
  }

  .thz-guide01__unit-item:nth-child(2n) {
    border-right: 0;
  }

  .thz-guide01__unit-item:last-child {
    grid-column: 1 / -1;
    border-bottom: 0;
  }

  .thz-guide01__comparison {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .thz-guide01__comparison-separator {
    transform: rotate(90deg);
  }

  .thz-guide01__comparison-card > p:not(.thz-guide01__comparison-label) {
    min-height: auto;
  }

  .thz-guide01__application-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .thz-guide01__next-inner {
    grid-template-columns: 1fr;
    gap: 45px;
  }

  .thz-guide01__guide-nav-grid {
    grid-template-columns: repeat(3, 1fr);
  }

}


/* -----------------------------------------------------
   SMARTPHONE
----------------------------------------------------- */

@media screen and (max-width: 767px) {

  .thz-guide01 {
    line-height: 1.85;
    letter-spacing: 0.025em;
  }

  .thz-guide01__container,
  .thz-guide01__container--narrow {
    width: calc(100% - 32px);
  }

  .thz-guide01__section {
    padding: 76px 0;
  }

  .thz-guide01__section-heading {
    margin-bottom: 42px;
    text-align: left;
  }

  .thz-guide01__section-heading h2 {
    margin-bottom: 13px;
    font-size: 27px;
    line-height: 1.52;
  }

  .thz-guide01__section-heading > p:last-child {
    font-size: 13px;
  }

  .thz-pc-only {
    display: none;
  }

  .thz-sp-only {
    display: block;
  }


  /* HERO */

  .thz-guide01__hero {
    min-height: 580px;
    align-items: flex-end;
  }

  .thz-guide01__hero-inner {
    width: calc(100% - 40px);
    padding: 155px 0 62px;
  }

  .thz-guide01__eyebrow {
    margin-bottom: 18px;
    font-size: 10px;
  }

  .thz-guide01__title {
    margin-bottom: 21px;
    font-size: 42px;
    letter-spacing: 0.07em;
  }

  .thz-guide01__hero-copy {
    margin-bottom: 18px;
    font-size: 21px;
    line-height: 1.7;
  }

  .thz-guide01__hero-text {
    font-size: 12px;
    line-height: 1.9;
  }

  .thz-guide01__hero-decoration {
    top: 31%;
    right: -20%;
    width: 84vw;
    opacity: 0.72;
  }


  /* INTRO */

  .thz-guide01__intro {
    padding: 65px 0;
  }

  .thz-guide01__brand-message {
    padding: 43px 4px;
  }

  .thz-guide01__small-heading {
    font-size: 10px;
  }

  .thz-guide01__brand-title {
    margin-bottom: 25px;
    font-size: 23px;
  }

  .thz-guide01__brand-message p:not(.thz-guide01__small-heading) {
    font-size: 13px;
  }


  /* SUMMARY */

  .thz-guide01__summary-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .thz-guide01__summary-card {
    min-height: auto;
    padding: 25px 23px;
  }

  .thz-guide01__summary-index {
    margin-bottom: 14px;
  }

  .thz-guide01__summary-card h3 {
    margin-bottom: 8px;
    font-size: 16px;
  }


  /* FREQUENCY */

  .thz-guide01__content h3 {
    font-size: 22px;
  }

  .thz-guide01__content p {
    font-size: 13px;
  }

  .thz-guide01__attention {
    padding: 21px 20px;
  }

  .thz-guide01__frequency {
    padding: 40px 18px;
    border-radius: 20px;
  }

  .thz-guide01__frequency-value {
    font-size: 70px;
  }

  .thz-guide01__frequency-unit {
    font-size: 27px;
  }

  .thz-guide01__frequency-result {
    font-size: 19px;
    overflow-wrap: anywhere;
  }

  .thz-guide01__unit-list {
    grid-template-columns: 1fr;
    margin-top: 45px;
    border-radius: 12px;
  }

  .thz-guide01__unit-item,
  .thz-guide01__unit-item:nth-child(2n) {
    border-right: 0;
    border-bottom: 1px solid var(--thz-gray-200);
  }

  .thz-guide01__unit-item:last-child {
    grid-column: auto;
    border-bottom: 0;
  }

  .thz-guide01__unit-item strong {
    font-size: 19px;
  }


  /* SPECTRUM */

  .thz-guide01__spectrum-bar {
    grid-template-columns: 1fr;
  }

  .thz-guide01__spectrum-part {
    min-height: 92px;
  }

  .thz-guide01__spectrum-labels {
    display: none;
  }

  .thz-guide01__spectrum-note {
    font-size: 10px;
    text-align: left;
  }

  .thz-guide01__dark-content {
    margin-top: 40px;
    font-size: 13px;
  }


  /* COMPARISON */

  .thz-guide01__comparison-card {
    padding: 36px 25px;
    border-radius: 19px;
  }

  .thz-guide01__comparison-card h3 {
    font-size: 23px;
  }

  .thz-guide01__comparison-card dl > div {
    grid-template-columns: 75px 1fr;
  }

  .thz-guide01__comparison-separator {
    height: 30px;
    font-size: 33px;
    line-height: 30px;
  }

  .thz-guide01__important {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 35px;
    padding: 30px 25px;
  }

  .thz-guide01__important h3 {
    font-size: 16px;
  }


  /* ANSWER */

  .thz-guide01__answer-box {
    border-radius: 18px;
  }

  .thz-guide01__answer-heading {
    padding: 32px 25px;
  }

  .thz-guide01__answer-heading h3 {
    font-size: 20px;
  }

  .thz-guide01__answer-content {
    padding: 31px 25px;
  }

  .thz-guide01__answer-content p {
    font-size: 13px;
  }


  /* SILICON */

  .thz-guide01__silicon-layout {
    grid-template-columns: 1fr;
    gap: 45px;
  }

  .thz-guide01__element-card {
    width: 210px;
    margin-inline: auto;
  }

  .thz-guide01__element-card strong {
    font-size: 72px;
  }

  .thz-guide01__word-table > div {
    grid-template-columns: 105px 1fr;
    gap: 13px;
  }

  .thz-guide01__word-table strong,
  .thz-guide01__word-table span {
    font-size: 12px;
  }


  /* APPLICATION */

  .thz-guide01__application-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .thz-guide01__application-card {
    min-height: auto;
    padding: 28px 24px;
  }

  .thz-guide01__application-card > span {
    margin-bottom: 16px;
  }

  .thz-guide01__research-note {
    margin-top: 30px;
    padding: 28px 24px;
  }


  /* PHILOSOPHY */

  .thz-guide01__philosophy {
    padding: 45px 24px 35px;
    border-radius: 18px;
  }

  .thz-guide01__philosophy::before {
    padding: 0 14px;
  }

  .thz-guide01__philosophy p {
    font-size: 13px;
  }

  .thz-guide01__philosophy-lead {
    font-size: 20px !important;
    text-align: left;
  }

  .thz-guide01__philosophy-final {
    font-size: 17px !important;
    text-align: left;
  }


  /* SOURCES */

  .thz-guide01__sources {
    padding-bottom: 65px;
  }


  /* NEXT */

  .thz-guide01__next {
    padding: 72px 0;
  }

  .thz-guide01__next h2 {
    font-size: 27px;
  }

  .thz-guide01__next-content > p:last-child {
    font-size: 12px;
  }

  .thz-guide01__button {
    min-height: 58px;
    font-size: 12px;
  }


  /* GUIDE NAV */

  .thz-guide01__guide-nav {
    padding: 55px 0 65px;
  }

  .thz-guide01__guide-nav-grid {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .thz-guide01__guide-nav-item {
    min-height: 74px;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 18px;
    padding: 18px 20px;
  }

}


/* -----------------------------------------------------
   REDUCED MOTION
----------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

  .thz-guide01__button,
  .thz-guide01__guide-nav-item {
    transition: none;
  }

}

/* =========================================================
   GOLD STONE TERAHERTZ GUIDE 02
   品質表示と6N純度
========================================================= */

.thz-guide02,
.thz-guide02 * {
  box-sizing: border-box;
}

.thz-guide02 {
  --thz02-black: #171717;
  --thz02-deep: #22211f;
  --thz02-text: #353535;
  --thz02-muted: #74716b;
  --thz02-gold: #a98b4f;
  --thz02-gold-light: #d8c69e;
  --thz02-gold-pale: #f4efe4;
  --thz02-gray: #f6f5f2;
  --thz02-border: #dfddd7;
  --thz02-white: #ffffff;

  width: 100%;
  margin: 0;
  padding: 0;
  color: var(--thz02-text);
  background: var(--thz02-white);
  font-family:
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Yu Gothic",
    "Meiryo",
    sans-serif;
  font-size: 16px;
  line-height: 1.9;
  letter-spacing: 0.04em;
  overflow: hidden;
}

.thz-guide02 img {
  display: block;
  width: 100%;
  height: auto;
}

.thz-guide02 a {
  color: inherit;
  text-decoration: none;
}

.thz-guide02 p,
.thz-guide02 h1,
.thz-guide02 h2,
.thz-guide02 h3,
.thz-guide02 ol,
.thz-guide02 ul {
  margin-top: 0;
}

.thz-guide02__container {
  width: min(1120px, calc(100% - 48px));
  margin-right: auto;
  margin-left: auto;
}

.thz-guide02__container--narrow {
  width: min(860px, calc(100% - 48px));
}

.thz-guide02__sp-only {
  display: none;
}


/* HERO
========================================================= */

.thz-guide02__hero {
  position: relative;
  min-height: 610px;
  display: flex;
  align-items: center;
  padding: 110px 24px;
  color: var(--thz02-white);
  background:
    radial-gradient(
      circle at 78% 28%,
      rgba(197, 171, 114, 0.16),
      transparent 33%
    ),
    linear-gradient(
      135deg,
      #141414 0%,
      #272624 52%,
      #171717 100%
    );
  isolation: isolate;
}

.thz-guide02__hero::before {
  content: "";
  position: absolute;
  top: 0;
  right: 13%;
  width: 1px;
  height: 100%;
  background:
    linear-gradient(
      to bottom,
      transparent,
      rgba(216, 198, 158, 0.28),
      transparent
    );
}

.thz-guide02__hero::after {
  content: "6N";
  position: absolute;
  right: 6%;
  bottom: -75px;
  z-index: -1;
  color: rgba(255, 255, 255, 0.025);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(240px, 31vw, 520px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.08em;
}

.thz-guide02__hero-inner {
  width: min(1120px, 100%);
  margin: auto;
}

.thz-guide02__eyebrow {
  margin-bottom: 27px;
  color: var(--thz02-gold-light);
  font-family: Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.32em;
}

.thz-guide02__hero-title {
  margin-bottom: 28px;
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(44px, 6.2vw, 82px);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.08em;
}

.thz-guide02__hero-lead {
  margin-bottom: 20px;
  color: var(--thz02-gold-light);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(19px, 2vw, 27px);
  letter-spacing: 0.1em;
}

.thz-guide02__hero-text {
  max-width: 650px;
  margin-bottom: 38px;
  color: rgba(255, 255, 255, 0.76);
  font-size: 15px;
  line-height: 2;
}

.thz-guide02__hero-line {
  width: 90px;
  height: 1px;
  background: var(--thz02-gold);
}


/* COMMON SECTIONS
========================================================= */

.thz-guide02__section {
  padding: 115px 0;
  scroll-margin-top: 90px;
}

.thz-guide02__section--gray {
  background: var(--thz02-gray);
}

.thz-guide02__section--dark {
  color: var(--thz02-white);
  background: var(--thz02-deep);
}

.thz-guide02__section--intro {
  padding-top: 105px;
  padding-bottom: 105px;
}

.thz-guide02__mini-heading {
  margin-bottom: 25px;
  color: var(--thz02-gold);
  font-family: Arial, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.28em;
}

.thz-guide02__intro-title {
  margin-bottom: 40px;
  color: var(--thz02-black);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(30px, 4vw, 48px);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.08em;
}

.thz-guide02__prose p {
  margin-bottom: 22px;
}

.thz-guide02__prose p:last-child {
  margin-bottom: 0;
}

.thz-guide02__prose {
  color: #55524d;
  font-size: 15px;
  line-height: 2.1;
}

.thz-guide02__prose--wide {
  max-width: 850px;
  margin-bottom: 55px;
}

.thz-guide02__section-header {
  display: grid;
  grid-template-columns: 100px 1fr;
  align-items: start;
  margin-bottom: 68px;
}

.thz-guide02__section-number {
  margin: 2px 0 0;
  color: var(--thz02-gold);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  letter-spacing: 0.1em;
}

.thz-guide02__section-en {
  margin-bottom: 12px;
  color: var(--thz02-gold);
  font-family: Arial, sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.28em;
}

.thz-guide02__section-title {
  margin-bottom: 18px;
  color: var(--thz02-black);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(29px, 4vw, 46px);
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.08em;
}

.thz-guide02__section-lead {
  margin-bottom: 0;
  color: var(--thz02-muted);
  font-size: 14px;
}

.thz-guide02__section-header--light .thz-guide02__section-title {
  color: var(--thz02-white);
}

.thz-guide02__section-header--light .thz-guide02__section-lead {
  color: rgba(255, 255, 255, 0.62);
}


/* INDEX
========================================================= */

.thz-guide02__index {
  padding: 70px 0;
  border-top: 1px solid var(--thz02-border);
  border-bottom: 1px solid var(--thz02-border);
  background: #fbfaf8;
}

.thz-guide02__index-label {
  margin-bottom: 28px;
  color: var(--thz02-gold);
  font-family: Arial, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.28em;
}

.thz-guide02__index-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 50px;
  padding: 0;
  margin: 0;
  list-style: none;
  border-top: 1px solid var(--thz02-border);
}

.thz-guide02__index-list li {
  border-bottom: 1px solid var(--thz02-border);
}

.thz-guide02__index-list a {
  display: flex;
  align-items: center;
  min-height: 72px;
  gap: 21px;
  color: #45423e;
  font-size: 14px;
  transition:
    color 0.25s ease,
    padding-left 0.25s ease;
}

.thz-guide02__index-list a:hover {
  padding-left: 8px;
  color: var(--thz02-gold);
}

.thz-guide02__index-list span {
  color: var(--thz02-gold);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 12px;
}


/* INFORMATION CARDS
========================================================= */

.thz-guide02__info-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-bottom: 50px;
}

.thz-guide02__info-card {
  min-height: 255px;
  padding: 34px 28px;
  border: 1px solid var(--thz02-border);
  background: var(--thz02-white);
}

.thz-guide02__info-number {
  display: block;
  margin-bottom: 45px;
  color: var(--thz02-gold);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 12px;
}

.thz-guide02__info-card h3 {
  margin-bottom: 14px;
  color: var(--thz02-black);
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0.07em;
}

.thz-guide02__info-card p {
  margin-bottom: 0;
  color: var(--thz02-muted);
  font-size: 13px;
  line-height: 1.85;
}


/* NOTE
========================================================= */

.thz-guide02__note {
  padding: 39px 44px;
  border-left: 3px solid var(--thz02-gold);
  background: var(--thz02-gold-pale);
}

.thz-guide02__note--white {
  background: var(--thz02-white);
}

.thz-guide02__note-label {
  margin-bottom: 12px;
  color: var(--thz02-gold);
  font-family: Arial, sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.27em;
}

.thz-guide02__note h3 {
  margin-bottom: 13px;
  color: var(--thz02-black);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.7;
}

.thz-guide02__note p:last-child {
  margin-bottom: 0;
  color: #625f59;
  font-size: 13px;
  line-height: 1.9;
}


/* PURITY
========================================================= */

.thz-guide02__purity-intro {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  align-items: stretch;
  margin-bottom: 45px;
  border: 1px solid var(--thz02-border);
  background: var(--thz02-white);
}

.thz-guide02__purity-main {
  display: flex;
  min-height: 390px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 45px;
  border-right: 1px solid var(--thz02-border);
  text-align: center;
}

.thz-guide02__purity-label {
  margin-bottom: 22px;
  color: var(--thz02-gold);
  font-family: Arial, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.3em;
}

.thz-guide02__purity-value {
  margin-bottom: 17px;
  color: var(--thz02-black);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(48px, 6vw, 76px);
  line-height: 1;
  letter-spacing: -0.02em;
}

.thz-guide02__purity-value span {
  margin-left: 5px;
  font-size: 24px;
}

.thz-guide02__purity-caption {
  margin-bottom: 0;
  color: var(--thz02-muted);
  font-size: 12px;
}

.thz-guide02__purity-description {
  display: flex;
  align-items: center;
  padding: 55px;
}

.thz-guide02__purity-scale {
  margin-bottom: 45px;
  border-top: 1px solid var(--thz02-border);
  background: var(--thz02-white);
}

.thz-guide02__purity-row {
  display: grid;
  grid-template-columns: 100px 1fr 110px;
  align-items: center;
  min-height: 67px;
  padding: 0 30px;
  border-right: 1px solid var(--thz02-border);
  border-bottom: 1px solid var(--thz02-border);
  border-left: 1px solid var(--thz02-border);
}

.thz-guide02__purity-row--active {
  color: var(--thz02-white);
  border-color: var(--thz02-gold);
  background: var(--thz02-gold);
}

.thz-guide02__purity-n {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
}

.thz-guide02__purity-percent {
  font-size: 18px;
  letter-spacing: 0.07em;
}

.thz-guide02__purity-digits {
  color: var(--thz02-muted);
  font-size: 12px;
  text-align: right;
}

.thz-guide02__purity-row--active .thz-guide02__purity-digits {
  color: rgba(255, 255, 255, 0.8);
}


/* CHECK LAYOUT
========================================================= */

.thz-guide02__check-layout {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 60px;
  align-items: start;
}

.thz-guide02__check-list {
  border-top: 1px solid var(--thz02-border);
}

.thz-guide02__check-item {
  display: grid;
  grid-template-columns: 55px 1fr;
  gap: 10px;
  padding: 27px 0;
  border-bottom: 1px solid var(--thz02-border);
}

.thz-guide02__check-item > span {
  padding-top: 2px;
  color: var(--thz02-gold);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 12px;
}

.thz-guide02__check-item h3 {
  margin-bottom: 8px;
  color: var(--thz02-black);
  font-size: 16px;
  font-weight: 500;
}

.thz-guide02__check-item p {
  margin-bottom: 0;
  color: var(--thz02-muted);
  font-size: 13px;
  line-height: 1.85;
}

.thz-guide02__message-card {
  position: relative;
  padding: 50px 43px;
  color: var(--thz02-white);
  background: var(--thz02-deep);
}

.thz-guide02__message-card::after {
  content: "";
  position: absolute;
  top: 19px;
  right: 19px;
  bottom: 19px;
  left: 19px;
  border: 1px solid rgba(216, 198, 158, 0.22);
  pointer-events: none;
}

.thz-guide02__message-label {
  position: relative;
  z-index: 1;
  margin-bottom: 25px;
  color: var(--thz02-gold-light);
  font-family: Arial, sans-serif;
  font-size: 10px;
  letter-spacing: 0.25em;
}

.thz-guide02__message-card h3 {
  position: relative;
  z-index: 1;
  margin-bottom: 28px;
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 23px;
  font-weight: 400;
  line-height: 1.75;
}

.thz-guide02__message-card p {
  position: relative;
  z-index: 1;
  margin-bottom: 19px;
  color: rgba(255, 255, 255, 0.69);
  font-size: 13px;
  line-height: 1.95;
}

.thz-guide02__message-card p:last-child {
  margin-bottom: 0;
}


/* DARK QUALITY SECTION
========================================================= */

.thz-guide02__quality-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  border-left: 1px solid rgba(255, 255, 255, 0.16);
}

.thz-guide02__quality-card {
  min-height: 240px;
  padding: 37px 32px;
  border-right: 1px solid rgba(255, 255, 255, 0.16);
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.thz-guide02__quality-card > span {
  display: block;
  margin-bottom: 40px;
  color: var(--thz02-gold-light);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 12px;
}

.thz-guide02__quality-card h3 {
  margin-bottom: 13px;
  color: var(--thz02-white);
  font-size: 17px;
  font-weight: 500;
}

.thz-guide02__quality-card p {
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 13px;
  line-height: 1.85;
}

.thz-guide02__dark-note {
  margin: 31px 0 0;
  color: rgba(255, 255, 255, 0.5);
  font-size: 11px;
  line-height: 1.8;
}


/* PHOTO PLACEHOLDERS
========================================================= */

.thz-guide02__photo,
.thz-guide02__gallery-photo,
.thz-guide02__photo-policy-visual,
.thz-guide02__story-item {
  position: relative;
  overflow: hidden;
  background: #eceae5;
}

.thz-guide02__photo img,
.thz-guide02__gallery-photo img,
.thz-guide02__photo-policy-visual img,
.thz-guide02__story-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.thz-guide02__photo img + .thz-guide02__photo-placeholder,
.thz-guide02__gallery-photo img + .thz-guide02__photo-placeholder,
.thz-guide02__photo-policy-visual img + .thz-guide02__photo-placeholder,
.thz-guide02__story-item img + .thz-guide02__photo-placeholder {
  display: none;
}

.thz-guide02__photo-placeholder {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: inherit;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 35px;
  color: #77736c;
  background:
    linear-gradient(
      135deg,
      #eceae5,
      #f7f6f3
    );
  text-align: center;
}

.thz-guide02__photo-placeholder::before {
  content: "";
  width: 45px;
  height: 1px;
  margin-bottom: 20px;
  background: var(--thz02-gold);
}

.thz-guide02__photo-placeholder span {
  margin-bottom: 10px;
  color: var(--thz02-gold);
  font-family: Arial, sans-serif;
  font-size: 10px;
  letter-spacing: 0.25em;
}

.thz-guide02__photo-placeholder strong {
  margin-bottom: 6px;
  color: #4e4b46;
  font-size: 14px;
  font-weight: 500;
}

.thz-guide02__photo-placeholder small {
  color: #98948c;
  font-size: 11px;
}


/* FEATURE
========================================================= */

.thz-guide02__feature {
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  min-height: 600px;
  margin-bottom: 70px;
}

.thz-guide02__photo {
  min-height: 600px;
}

.thz-guide02__feature-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 60px;
  background: var(--thz02-gray);
}

.thz-guide02__feature-label {
  margin-bottom: 18px;
  color: var(--thz02-gold);
  font-family: Arial, sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.26em;
}

.thz-guide02__feature-content h3 {
  margin-bottom: 28px;
  color: var(--thz02-black);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(23px, 3vw, 31px);
  font-weight: 400;
  line-height: 1.65;
}

.thz-guide02__feature-list {
  padding: 0;
  margin: 30px 0 0;
  list-style: none;
  border-top: 1px solid var(--thz02-border);
}

.thz-guide02__feature-list li {
  position: relative;
  padding: 13px 10px 13px 23px;
  border-bottom: 1px solid var(--thz02-border);
  color: #53504b;
  font-size: 13px;
}

.thz-guide02__feature-list li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 2px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--thz02-gold);
  transform: translateY(-50%);
}

.thz-guide02__process {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.thz-guide02__process-item {
  position: relative;
  min-height: 220px;
  padding: 32px 27px;
  border: 1px solid var(--thz02-border);
}

.thz-guide02__process-number {
  display: block;
  margin-bottom: 38px;
  color: var(--thz02-gold);
  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: 0.2em;
}

.thz-guide02__process-item h3 {
  margin-bottom: 11px;
  color: var(--thz02-black);
  font-size: 16px;
  font-weight: 500;
}

.thz-guide02__process-item p {
  margin-bottom: 0;
  color: var(--thz02-muted);
  font-size: 12px;
  line-height: 1.85;
}


/* INSPECTION GALLERY
========================================================= */

.thz-guide02__gallery {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 35px 28px;
  margin-bottom: 75px;
}

.thz-guide02__gallery-photo {
  min-height: 320px;
}

.thz-guide02__gallery-text {
  padding: 25px 3px 0;
}

.thz-guide02__gallery-text > p {
  margin-bottom: 8px;
  color: var(--thz02-gold);
  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: 0.24em;
}

.thz-guide02__gallery-text h3 {
  margin-bottom: 7px;
  color: var(--thz02-black);
  font-size: 17px;
  font-weight: 500;
}

.thz-guide02__gallery-text span {
  color: var(--thz02-muted);
  font-size: 12px;
}

.thz-guide02__inspection {
  display: grid;
  grid-template-columns: 180px 1fr;
  align-items: center;
  padding: 50px 65px;
  color: var(--thz02-white);
  background: var(--thz02-deep);
}

.thz-guide02__inspection-icon {
  display: flex;
  width: 110px;
  height: 110px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(216, 198, 158, 0.48);
  border-radius: 50%;
}

.thz-guide02__inspection-icon span {
  color: var(--thz02-gold-light);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 42px;
  line-height: 1;
}

.thz-guide02__inspection-icon small {
  margin-top: 5px;
  color: rgba(255, 255, 255, 0.48);
  font-family: Arial, sans-serif;
  font-size: 8px;
  letter-spacing: 0.2em;
}

.thz-guide02__inspection-content h3 {
  margin-bottom: 15px;
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 25px;
  font-weight: 400;
}

.thz-guide02__inspection-content > p:last-child {
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.65);
  font-size: 13px;
  line-height: 1.95;
}


/* PHOTO POLICY
========================================================= */

.thz-guide02__photo-policy {
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
  min-height: 570px;
  margin-bottom: 55px;
}

.thz-guide02__photo-policy-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 58px;
  background: var(--thz02-deep);
}

.thz-guide02__photo-policy-copy {
  margin-bottom: 32px;
  color: var(--thz02-white);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(25px, 3vw, 35px);
  line-height: 1.65;
  letter-spacing: 0.07em;
}

.thz-guide02__photo-policy-content .thz-guide02__prose {
  color: rgba(255, 255, 255, 0.64);
}

.thz-guide02__photo-policy-visual {
  min-height: 570px;
}

.thz-guide02__policy-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 25px;
  border-top: 1px solid var(--thz02-border);
  border-left: 1px solid var(--thz02-border);
}

.thz-guide02__policy-grid article {
  min-height: 210px;
  padding: 31px 26px;
  border-right: 1px solid var(--thz02-border);
  border-bottom: 1px solid var(--thz02-border);
}

.thz-guide02__policy-grid span {
  display: block;
  margin-bottom: 29px;
  color: var(--thz02-gold);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 11px;
}

.thz-guide02__policy-grid h3 {
  margin-bottom: 10px;
  color: var(--thz02-black);
  font-size: 15px;
  font-weight: 500;
}

.thz-guide02__policy-grid p {
  margin-bottom: 0;
  color: var(--thz02-muted);
  font-size: 12px;
  line-height: 1.8;
}

.thz-guide02__caption {
  margin-bottom: 0;
  color: #8a867f;
  font-size: 10px;
  line-height: 1.8;
}


/* PROMISE
========================================================= */

.thz-guide02__section--promise {
  position: relative;
  padding-top: 135px;
  padding-bottom: 135px;
  color: var(--thz02-white);
  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(183, 151, 87, 0.15),
      transparent 38%
    ),
    #181818;
  text-align: center;
}

.thz-guide02__promise-en {
  margin-bottom: 23px;
  color: var(--thz02-gold-light);
  font-family: Arial, sans-serif;
  font-size: 10px;
  letter-spacing: 0.3em;
}

.thz-guide02__promise-title {
  margin-bottom: 28px;
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(34px, 5vw, 56px);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.09em;
}

.thz-guide02__promise-lead {
  max-width: 620px;
  margin: 0 auto 55px;
  color: rgba(255, 255, 255, 0.61);
  font-size: 14px;
  line-height: 2;
}

.thz-guide02__quality-flow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 13px;
  margin-bottom: 60px;
}

.thz-guide02__quality-flow span {
  display: flex;
  min-width: 96px;
  height: 46px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(216, 198, 158, 0.44);
  color: var(--thz02-gold-light);
  font-size: 12px;
}

.thz-guide02__quality-flow i {
  color: rgba(255, 255, 255, 0.25);
  font-style: normal;
}

.thz-guide02__promise-text {
  max-width: 710px;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.67);
  font-size: 14px;
  line-height: 2.15;
}

.thz-guide02__promise-text p {
  margin-bottom: 24px;
}

.thz-guide02__signature {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 58px;
}

.thz-guide02__signature::before {
  content: "";
  width: 50px;
  height: 1px;
  margin-bottom: 21px;
  background: var(--thz02-gold);
}

.thz-guide02__signature span {
  color: var(--thz02-gold-light);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 17px;
  letter-spacing: 0.16em;
}

.thz-guide02__signature small {
  margin-top: 5px;
  color: rgba(255, 255, 255, 0.34);
  font-size: 9px;
  letter-spacing: 0.2em;
}


/* PHOTO STORY
========================================================= */

.thz-guide02__section--photo-plan {
  background: var(--thz02-gray);
}

.thz-guide02__simple-header {
  margin-bottom: 52px;
  text-align: center;
}

.thz-guide02__simple-header > p {
  margin-bottom: 13px;
  color: var(--thz02-gold);
  font-family: Arial, sans-serif;
  font-size: 10px;
  letter-spacing: 0.27em;
}

.thz-guide02__simple-header h2 {
  margin-bottom: 13px;
  color: var(--thz02-black);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(27px, 4vw, 40px);
  font-weight: 400;
  letter-spacing: 0.07em;
}

.thz-guide02__simple-header > span {
  color: var(--thz02-muted);
  font-size: 12px;
}

.thz-guide02__story-gallery {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

.thz-guide02__story-item {
  min-height: 310px;
}

.thz-guide02__story-item--large {
  grid-column: 1 / -1;
  min-height: 520px;
}


/* NEXT GUIDE
========================================================= */

.thz-guide02__next {
  padding: 105px 0;
  background: var(--thz02-white);
}

.thz-guide02__next-card {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 65px;
  align-items: center;
  padding: 65px;
  border: 1px solid var(--thz02-border);
}

.thz-guide02__next-label {
  margin-bottom: 12px;
  color: var(--thz02-gold);
  font-family: Arial, sans-serif;
  font-size: 10px;
  letter-spacing: 0.28em;
}

.thz-guide02__next-number {
  margin-bottom: 22px;
  color: var(--thz02-muted);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 13px;
  letter-spacing: 0.15em;
}

.thz-guide02__next-content h2 {
  margin-bottom: 21px;
  color: var(--thz02-black);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(25px, 3vw, 34px);
  font-weight: 400;
  line-height: 1.65;
}

.thz-guide02__next-content > p:last-child {
  max-width: 650px;
  margin-bottom: 0;
  color: var(--thz02-muted);
  font-size: 13px;
  line-height: 1.9;
}

.thz-guide02__next-buttons {
  display: grid;
  gap: 13px;
}

.thz-guide02__button {
  display: flex;
  min-height: 62px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 0 25px;
  font-size: 12px;
  letter-spacing: 0.05em;
  transition:
    background 0.25s ease,
    color 0.25s ease,
    border-color 0.25s ease;
}

.thz-guide02__button span {
  font-size: 17px;
}

.thz-guide02__button--primary {
  color: var(--thz02-white);
  background: var(--thz02-deep);
}

.thz-guide02__button--primary:hover {
  background: var(--thz02-gold);
}

.thz-guide02__button--secondary {
  border: 1px solid var(--thz02-border);
  color: var(--thz02-text);
  background: var(--thz02-white);
}

.thz-guide02__button--secondary:hover {
  border-color: var(--thz02-gold);
  color: var(--thz02-gold);
}


/* GUIDE NAVIGATION
========================================================= */

.thz-guide02__guide-nav {
  padding: 100px 0;
  background: #f3f1ec;
}

.thz-guide02__guide-nav-header {
  margin-bottom: 42px;
  text-align: center;
}

.thz-guide02__guide-nav-header p {
  margin-bottom: 11px;
  color: var(--thz02-gold);
  font-family: Arial, sans-serif;
  font-size: 10px;
  letter-spacing: 0.28em;
}

.thz-guide02__guide-nav-header h2 {
  margin-bottom: 0;
  color: var(--thz02-black);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(23px, 3vw, 32px);
  font-weight: 400;
}

.thz-guide02__guide-nav-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-top: 1px solid var(--thz02-border);
  border-left: 1px solid var(--thz02-border);
}

.thz-guide02__guide-nav-item {
  display: flex;
  min-height: 205px;
  flex-direction: column;
  padding: 28px 23px;
  border-right: 1px solid var(--thz02-border);
  border-bottom: 1px solid var(--thz02-border);
  background: var(--thz02-white);
  transition:
    background 0.25s ease,
    color 0.25s ease;
}

.thz-guide02__guide-nav-item > span {
  margin-bottom: auto;
  color: var(--thz02-gold);
  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: 0.18em;
}

.thz-guide02__guide-nav-item strong {
  display: block;
  margin-bottom: 8px;
  color: var(--thz02-black);
  font-size: 14px;
  font-weight: 500;
}

.thz-guide02__guide-nav-item small {
  color: var(--thz02-muted);
  font-size: 10px;
  line-height: 1.6;
}

.thz-guide02__guide-nav-item:hover {
  background: #f9f7f2;
}

.thz-guide02__guide-nav-item--current {
  color: var(--thz02-white);
  background: var(--thz02-deep);
}

.thz-guide02__guide-nav-item--current > span {
  color: var(--thz02-gold-light);
}

.thz-guide02__guide-nav-item--current strong {
  color: var(--thz02-white);
}

.thz-guide02__guide-nav-item--current small {
  color: rgba(255, 255, 255, 0.55);
}

.thz-guide02__guide-nav-item--current:hover {
  background: var(--thz02-deep);
}


/* TABLET
========================================================= */

@media screen and (max-width: 980px) {

  .thz-guide02__info-grid,
  .thz-guide02__process,
  .thz-guide02__policy-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .thz-guide02__quality-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .thz-guide02__check-layout {
    grid-template-columns: 1fr;
  }

  .thz-guide02__message-card {
    max-width: 680px;
  }

  .thz-guide02__feature,
  .thz-guide02__photo-policy {
    grid-template-columns: 1fr;
  }

  .thz-guide02__photo,
  .thz-guide02__photo-policy-visual {
    min-height: 500px;
  }

  .thz-guide02__feature-content {
    padding: 55px;
  }

  .thz-guide02__next-card {
    grid-template-columns: 1fr;
  }

  .thz-guide02__next-buttons {
    max-width: 430px;
  }

  .thz-guide02__guide-nav-grid {
    grid-template-columns: repeat(2, 1fr);
  }

}


/* SMARTPHONE
========================================================= */

@media screen and (max-width: 767px) {

  .thz-guide02 {
    font-size: 15px;
    line-height: 1.85;
  }

  .thz-guide02__container,
  .thz-guide02__container--narrow {
    width: calc(100% - 36px);
  }

  .thz-guide02__sp-only {
    display: block;
  }

  .thz-guide02__hero {
    min-height: 570px;
    padding: 88px 18px 75px;
  }

  .thz-guide02__hero::before {
    right: 18%;
  }

  .thz-guide02__hero::after {
    right: -5%;
    bottom: -20px;
    font-size: 210px;
  }

  .thz-guide02__eyebrow {
    margin-bottom: 22px;
    font-size: 9px;
    letter-spacing: 0.24em;
  }

  .thz-guide02__hero-title {
    margin-bottom: 24px;
    font-size: 39px;
    line-height: 1.38;
  }

  .thz-guide02__hero-lead {
    font-size: 18px;
    line-height: 1.7;
  }

  .thz-guide02__hero-text {
    font-size: 13px;
    line-height: 1.9;
  }

  .thz-guide02__section {
    padding: 78px 0;
  }

  .thz-guide02__section--intro {
    padding-top: 74px;
    padding-bottom: 74px;
  }

  .thz-guide02__intro-title {
    margin-bottom: 30px;
    font-size: 29px;
    line-height: 1.6;
  }

  .thz-guide02__prose {
    font-size: 13px;
    line-height: 2;
  }

  .thz-guide02__index {
    padding: 55px 0;
  }

  .thz-guide02__index-list {
    grid-template-columns: 1fr;
  }

  .thz-guide02__index-list a {
    min-height: 64px;
    font-size: 12px;
  }

  .thz-guide02__section-header {
    grid-template-columns: 1fr;
    margin-bottom: 43px;
  }

  .thz-guide02__section-number {
    margin-bottom: 20px;
    font-size: 15px;
  }

  .thz-guide02__section-title {
    margin-bottom: 14px;
    font-size: 29px;
    line-height: 1.55;
  }

  .thz-guide02__section-lead {
    font-size: 12px;
    line-height: 1.8;
  }

  .thz-guide02__info-grid,
  .thz-guide02__quality-grid,
  .thz-guide02__process,
  .thz-guide02__policy-grid,
  .thz-guide02__gallery,
  .thz-guide02__story-gallery,
  .thz-guide02__guide-nav-grid {
    grid-template-columns: 1fr;
  }

  .thz-guide02__info-card {
    min-height: auto;
    padding: 27px 24px;
  }

  .thz-guide02__info-number {
    margin-bottom: 25px;
  }

  .thz-guide02__note {
    padding: 30px 25px;
  }

  .thz-guide02__purity-intro {
    grid-template-columns: 1fr;
  }

  .thz-guide02__purity-main {
    min-height: 285px;
    border-right: 0;
    border-bottom: 1px solid var(--thz02-border);
  }

  .thz-guide02__purity-description {
    padding: 35px 27px;
  }

  .thz-guide02__purity-row {
    grid-template-columns: 57px 1fr 65px;
    min-height: 60px;
    padding: 0 17px;
  }

  .thz-guide02__purity-percent {
    font-size: 15px;
  }

  .thz-guide02__purity-digits {
    font-size: 9px;
  }

  .thz-guide02__check-item {
    grid-template-columns: 38px 1fr;
  }

  .thz-guide02__message-card {
    padding: 43px 31px;
  }

  .thz-guide02__quality-card {
    min-height: auto;
    padding: 30px 25px;
  }

  .thz-guide02__quality-card > span {
    margin-bottom: 25px;
  }

  .thz-guide02__feature {
    min-height: 0;
    margin-bottom: 50px;
  }

  .thz-guide02__photo {
    min-height: 360px;
  }

  .thz-guide02__feature-content {
    padding: 38px 27px;
  }

  .thz-guide02__feature-content h3 {
    font-size: 23px;
  }

  .thz-guide02__process-item {
    min-height: auto;
  }

  .thz-guide02__gallery {
    gap: 38px;
  }

  .thz-guide02__gallery-photo {
    min-height: 270px;
  }

  .thz-guide02__inspection {
    grid-template-columns: 1fr;
    padding: 42px 29px;
  }

  .thz-guide02__inspection-icon {
    width: 90px;
    height: 90px;
    margin-bottom: 28px;
  }

  .thz-guide02__photo-policy-content {
    padding: 42px 28px;
  }

  .thz-guide02__photo-policy-visual {
    min-height: 350px;
  }

  .thz-guide02__policy-grid article {
    min-height: auto;
  }

  .thz-guide02__section--promise {
    padding-top: 95px;
    padding-bottom: 95px;
  }

  .thz-guide02__promise-title {
    font-size: 34px;
  }

  .thz-guide02__quality-flow {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 9px;
  }

  .thz-guide02__quality-flow span {
    width: 100%;
    min-width: 0;
  }

  .thz-guide02__quality-flow i {
    display: none;
  }

  .thz-guide02__story-item,
  .thz-guide02__story-item--large {
    grid-column: auto;
    min-height: 280px;
  }

  .thz-guide02__next {
    padding: 75px 0;
  }

  .thz-guide02__next-card {
    gap: 40px;
    padding: 37px 26px;
  }

  .thz-guide02__next-content h2 {
    font-size: 24px;
  }

  .thz-guide02__button {
    padding: 0 20px;
    font-size: 11px;
  }

  .thz-guide02__guide-nav {
    padding: 75px 0;
  }

  .thz-guide02__guide-nav-item {
    min-height: 145px;
  }

}

/* =========================================================
   GOLD STONE TERAHERTZ GUIDE 02
   BRAND BOOK EDITION
   Prefix: thz-g02v2
========================================================= */


/* =========================================================
   RESET / VARIABLES
========================================================= */

.thz-g02v2,
.thz-g02v2 * {
  box-sizing: border-box;
}

.thz-g02v2 {
  --g02-black: #161616;
  --g02-deep: #1d1d1c;
  --g02-deep-soft: #242321;
  --g02-text: #3d3b37;
  --g02-muted: #77736c;
  --g02-gold: #a98a4d;
  --g02-gold-bright: #d8bf82;
  --g02-gold-pale: #f4efe3;
  --g02-ivory: #f8f7f3;
  --g02-gray: #efeee9;
  --g02-border: #dedbd3;
  --g02-white: #ffffff;

  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  color: var(--g02-text);
  background: var(--g02-white);
  font-family:
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Yu Gothic",
    "Meiryo",
    sans-serif;
  font-size: 16px;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.thz-g02v2 img {
  display: block;
  width: 100%;
  height: auto;
}

.thz-g02v2 a {
  color: inherit;
  text-decoration: none;
}

.thz-g02v2 h1,
.thz-g02v2 h2,
.thz-g02v2 h3,
.thz-g02v2 p,
.thz-g02v2 ol,
.thz-g02v2 ul {
  margin-top: 0;
}

.thz-g02v2__container {
  width: min(1160px, calc(100% - 56px));
  margin-right: auto;
  margin-left: auto;
}

.thz-g02v2__container--narrow {
  width: min(850px, calc(100% - 56px));
}


/* =========================================================
   HERO
========================================================= */

.thz-g02v2__hero {
  position: relative;
  display: flex;
  min-height: 760px;
  align-items: center;
  overflow: hidden;
  color: var(--g02-white);
  background:
    radial-gradient(
      circle at 80% 25%,
      rgba(187, 156, 91, 0.17),
      transparent 36%
    ),
    linear-gradient(
      135deg,
      #111111 0%,
      #232220 57%,
      #171717 100%
    );
  isolation: isolate;
}

.thz-g02v2__hero::before {
  content: "";
  position: absolute;
  top: 0;
  right: 15%;
  width: 1px;
  height: 100%;
  background:
    linear-gradient(
      to bottom,
      transparent,
      rgba(216, 191, 130, 0.26),
      transparent
    );
}

.thz-g02v2__hero::after {
  content: "";
  position: absolute;
  right: -110px;
  bottom: -190px;
  width: 520px;
  height: 520px;
  border: 1px solid rgba(216, 191, 130, 0.09);
  border-radius: 50%;
}

.thz-g02v2__hero-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}

.thz-g02v2__hero-bg-number {
  position: absolute;
  right: -1.5%;
  top: 48%;
  color: rgba(255, 255, 255, 0.035);
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: clamp(110px, 14vw, 235px);
  line-height: 1;
  letter-spacing: -0.055em;
  transform: translateY(-50%);
  white-space: nowrap;
}

.thz-g02v2__hero-inner {
  position: relative;
  z-index: 2;
  padding-top: 110px;
  padding-bottom: 110px;
}

.thz-g02v2__eyebrow {
  margin-bottom: 24px;
  color: var(--g02-gold-bright);
  font-family: Arial, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.32em;
}

.thz-g02v2__hero-subtitle {
  margin-bottom: 22px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 14px;
  letter-spacing: 0.15em;
}

.thz-g02v2__hero-title {
  max-width: 850px;
  margin-bottom: 35px;
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(45px, 6.5vw, 83px);
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0.075em;
}

.thz-g02v2__hero-lead {
  max-width: 710px;
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 14px;
  line-height: 2.15;
}

.thz-g02v2__hero-scroll {
  position: absolute;
  left: 0;
  bottom: 55px;
  display: flex;
  align-items: center;
  gap: 18px;
}

.thz-g02v2__hero-scroll span {
  color: rgba(255, 255, 255, 0.42);
  font-family: Arial, sans-serif;
  font-size: 8px;
  letter-spacing: 0.25em;
}

.thz-g02v2__hero-scroll i {
  display: block;
  width: 75px;
  height: 1px;
  background:
    linear-gradient(
      to right,
      var(--g02-gold),
      rgba(169, 138, 77, 0)
    );
}


/* =========================================================
   INTRO
========================================================= */

.thz-g02v2__intro {
  padding: 140px 0;
  background: var(--g02-white);
}

.thz-g02v2__section-kicker {
  margin-bottom: 26px;
  color: var(--g02-gold);
  font-family: Arial, sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.3em;
}

.thz-g02v2__intro-title {
  margin-bottom: 45px;
  color: var(--g02-black);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(32px, 4.6vw, 53px);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.08em;
}

.thz-g02v2__intro-text {
  max-width: 790px;
  color: #56534d;
  font-size: 15px;
  line-height: 2.2;
}

.thz-g02v2__intro-text p {
  margin-bottom: 25px;
}

.thz-g02v2__intro-text p:last-child {
  margin-bottom: 0;
}


/* =========================================================
   CONTENTS
========================================================= */

.thz-g02v2__contents {
  padding: 82px 0;
  border-top: 1px solid var(--g02-border);
  border-bottom: 1px solid var(--g02-border);
  background: var(--g02-ivory);
}

.thz-g02v2__contents-header {
  display: flex;
  align-items: baseline;
  gap: 25px;
  margin-bottom: 34px;
}

.thz-g02v2__contents-header span {
  color: var(--g02-gold);
  font-family: Arial, sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.27em;
}

.thz-g02v2__contents-header p {
  margin-bottom: 0;
  color: var(--g02-muted);
  font-size: 12px;
}

.thz-g02v2__contents-list {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  padding: 0;
  margin: 0;
  list-style: none;
  border-top: 1px solid var(--g02-border);
  border-left: 1px solid var(--g02-border);
}

.thz-g02v2__contents-list li {
  min-width: 0;
}

.thz-g02v2__contents-list a {
  display: flex;
  min-height: 190px;
  flex-direction: column;
  padding: 26px 20px;
  border-right: 1px solid var(--g02-border);
  border-bottom: 1px solid var(--g02-border);
  background: var(--g02-white);
  transition:
    background 0.25s ease,
    transform 0.25s ease;
}

.thz-g02v2__contents-list a:hover {
  position: relative;
  z-index: 2;
  background: #f4f0e7;
  transform: translateY(-4px);
}

.thz-g02v2__contents-list span {
  margin-bottom: auto;
  color: var(--g02-gold);
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 12px;
}

.thz-g02v2__contents-list strong {
  display: block;
  margin-bottom: 8px;
  color: var(--g02-black);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.55;
}

.thz-g02v2__contents-list small {
  color: var(--g02-muted);
  font-size: 9px;
  line-height: 1.6;
}


/* =========================================================
   COMMON SECTION
========================================================= */

.thz-g02v2__section {
  padding: 135px 0;
  scroll-margin-top: 90px;
}

.thz-g02v2__section-header {
  display: grid;
  grid-template-columns: 110px 1fr;
  margin-bottom: 78px;
}

.thz-g02v2__section-number {
  padding-top: 3px;
}

.thz-g02v2__section-number span {
  color: var(--g02-gold);
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 18px;
  letter-spacing: 0.08em;
}

.thz-g02v2__section-heading > p {
  margin-bottom: 13px;
  color: var(--g02-gold);
  font-family: Arial, sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.28em;
}

.thz-g02v2__section-heading h2 {
  margin-bottom: 18px;
  color: var(--g02-black);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(31px, 4.5vw, 50px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.075em;
}

.thz-g02v2__section-heading > span {
  color: var(--g02-muted);
  font-size: 13px;
  line-height: 1.8;
}

.thz-g02v2__section-header--dark .thz-g02v2__section-heading h2 {
  color: var(--g02-white);
}

.thz-g02v2__section-header--dark .thz-g02v2__section-heading > span {
  color: rgba(255, 255, 255, 0.66);
}


/* =========================================================
   PURITY
========================================================= */

.thz-g02v2__section--purity {
  background: var(--g02-white);
}

.thz-g02v2__purity-feature {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 520px;
  margin-bottom: 65px;
  border: 1px solid var(--g02-border);
}

.thz-g02v2__purity-visual {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px;
  border-right: 1px solid var(--g02-border);
  background:
    radial-gradient(
      circle at 50% 45%,
      rgba(169, 138, 77, 0.10),
      transparent 48%
    ),
    #faf9f6;
  text-align: center;
}

.thz-g02v2__purity-visual-label {
  margin-bottom: 26px;
  color: var(--g02-gold);
  font-family: Arial, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.32em;
}

.thz-g02v2__purity-visual-value {
  margin-bottom: 20px;
  color: var(--g02-black);
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: clamp(50px, 7vw, 88px);
  line-height: 1;
  letter-spacing: -0.035em;
}

.thz-g02v2__purity-visual-value span {
  margin-left: 7px;
  font-size: 25px;
}

.thz-g02v2__purity-visual-note {
  margin-bottom: 0;
  color: var(--g02-muted);
  font-size: 11px;
}

.thz-g02v2__purity-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 65px;
}

.thz-g02v2__purity-copy h3 {
  margin-bottom: 30px;
  color: var(--g02-black);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(23px, 3vw, 32px);
  font-weight: 400;
  line-height: 1.7;
}

.thz-g02v2__purity-copy p {
  margin-bottom: 19px;
  color: #5f5b54;
  font-size: 13px;
  line-height: 2;
}

.thz-g02v2__purity-copy p:last-child {
  margin-bottom: 0;
}

.thz-g02v2__purity-scale {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin-bottom: 58px;
  border-top: 1px solid var(--g02-border);
  border-left: 1px solid var(--g02-border);
}

.thz-g02v2__purity-level {
  min-height: 230px;
  padding: 30px 26px;
  border-right: 1px solid var(--g02-border);
  border-bottom: 1px solid var(--g02-border);
  background: var(--g02-white);
}

.thz-g02v2__purity-level-head {
  margin-bottom: 48px;
}

.thz-g02v2__purity-level-head span {
  display: block;
  margin-bottom: 7px;
  color: var(--g02-gold);
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 19px;
}

.thz-g02v2__purity-level-head strong {
  color: var(--g02-black);
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 17px;
  font-weight: 400;
}

.thz-g02v2__purity-dots {
  display: flex;
  gap: 6px;
  margin-bottom: 17px;
}

.thz-g02v2__purity-dots i {
  display: block;
  width: 12px;
  height: 12px;
  border: 1px solid var(--g02-border);
  border-radius: 50%;
}

.thz-g02v2__purity-dots i.is-active {
  border-color: var(--g02-gold);
  background: var(--g02-gold);
}

.thz-g02v2__purity-level > p {
  margin-bottom: 0;
  color: var(--g02-muted);
  font-size: 10px;
}

.thz-g02v2__purity-level--active {
  color: var(--g02-white);
  border-color: var(--g02-gold);
  background: var(--g02-gold);
}

.thz-g02v2__purity-level--active .thz-g02v2__purity-level-head span,
.thz-g02v2__purity-level--active .thz-g02v2__purity-level-head strong,
.thz-g02v2__purity-level--active > p {
  color: var(--g02-white);
}

.thz-g02v2__purity-level--active .thz-g02v2__purity-dots i {
  border-color: rgba(255, 255, 255, 0.45);
}

.thz-g02v2__purity-level--active .thz-g02v2__purity-dots i.is-active {
  border-color: var(--g02-white);
  background: var(--g02-white);
}

.thz-g02v2__important {
  display: grid;
  grid-template-columns: 180px 1fr;
  border: 1px solid #d7c69e;
  background: var(--g02-gold-pale);
}

.thz-g02v2__important-label {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px;
  border-right: 1px solid #d7c69e;
  color: var(--g02-gold);
  font-family: Arial, sans-serif;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.25em;
}

.thz-g02v2__important-content {
  padding: 35px 42px;
}

.thz-g02v2__important-content h3 {
  margin-bottom: 12px;
  color: var(--g02-black);
  font-size: 16px;
  font-weight: 500;
}

.thz-g02v2__important-content p {
  margin-bottom: 0;
  color: #625c51;
  font-size: 12px;
  line-height: 1.95;
}


/* =========================================================
   QUALITY DISPLAY
========================================================= */

.thz-g02v2__section--light {
  background: var(--g02-ivory);
}

.thz-g02v2__display-intro {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 90px;
  align-items: start;
  margin-bottom: 75px;
}

.thz-g02v2__display-copy {
  margin-bottom: 0;
  color: var(--g02-black);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(25px, 3.7vw, 41px);
  line-height: 1.7;
  letter-spacing: 0.065em;
}

.thz-g02v2__display-text {
  color: #5c5851;
  font-size: 14px;
  line-height: 2.1;
}

.thz-g02v2__display-text p {
  margin-bottom: 22px;
}

.thz-g02v2__display-text p:last-child {
  margin-bottom: 0;
}

.thz-g02v2__display-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 70px;
  border-top: 1px solid var(--g02-border);
  border-left: 1px solid var(--g02-border);
}

.thz-g02v2__display-grid article {
  min-height: 280px;
  padding: 36px 29px;
  border-right: 1px solid var(--g02-border);
  border-bottom: 1px solid var(--g02-border);
  background: var(--g02-white);
}

.thz-g02v2__display-grid span {
  display: block;
  margin-bottom: 58px;
  color: var(--g02-gold);
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 12px;
}

.thz-g02v2__display-grid h3 {
  margin-bottom: 15px;
  color: var(--g02-black);
  font-size: 16px;
  font-weight: 500;
}

.thz-g02v2__display-grid p {
  margin-bottom: 0;
  color: var(--g02-muted);
  font-size: 12px;
  line-height: 1.9;
}

.thz-g02v2__brand-message {
  position: relative;
  max-width: 850px;
  padding: 72px 75px;
  margin-left: auto;
  color: var(--g02-white);
  background:
    radial-gradient(
      circle at 100% 0,
      rgba(169, 138, 77, 0.16),
      transparent 40%
    ),
    var(--g02-deep);
}

.thz-g02v2__brand-message::before {
  content: "";
  position: absolute;
  top: 22px;
  right: 22px;
  bottom: 22px;
  left: 22px;
  border: 1px solid rgba(216, 191, 130, 0.2);
  pointer-events: none;
}

.thz-g02v2__brand-message-label {
  position: relative;
  z-index: 1;
  margin-bottom: 28px;
  color: var(--g02-gold-bright);
  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: 0.26em;
}

.thz-g02v2__brand-message h3 {
  position: relative;
  z-index: 1;
  margin-bottom: 31px;
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(25px, 3.5vw, 36px);
  font-weight: 400;
  line-height: 1.7;
}

.thz-g02v2__brand-message > p:not(.thz-g02v2__brand-message-label) {
  position: relative;
  z-index: 1;
  margin-bottom: 19px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 13px;
  line-height: 2;
}

.thz-g02v2__brand-message > p:last-child {
  margin-bottom: 0;
}


/* =========================================================
   PRODUCT INFORMATION
========================================================= */

.thz-g02v2__section--information {
  color: var(--g02-white);
  background:
    radial-gradient(
      circle at 85% 5%,
      rgba(169, 138, 77, 0.14),
      transparent 32%
    ),
    var(--g02-deep);
}

.thz-g02v2__information-lead {
  max-width: 720px;
  margin-bottom: 60px;
}

.thz-g02v2__information-lead p {
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.75);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(19px, 2.7vw, 28px);
  line-height: 1.9;
}

.thz-g02v2__information-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(255, 255, 255, 0.17);
  border-left: 1px solid rgba(255, 255, 255, 0.17);
}

.thz-g02v2__information-grid article {
  min-height: 275px;
  padding: 38px 34px;
  border-right: 1px solid rgba(255, 255, 255, 0.17);
  border-bottom: 1px solid rgba(255, 255, 255, 0.17);
}

.thz-g02v2__information-grid span {
  display: block;
  margin-bottom: 56px;
  color: var(--g02-gold-bright);
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 12px;
}

.thz-g02v2__information-grid h3 {
  margin-bottom: 14px;
  color: var(--g02-white);
  font-size: 17px;
  font-weight: 500;
}

.thz-g02v2__information-grid p {
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.69);
  font-size: 12px;
  line-height: 1.9;
}

.thz-g02v2__information-note {
  margin: 30px 0 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 10px;
  line-height: 1.85;
}


/* =========================================================
   PHOTO PLACEHOLDER
========================================================= */

.thz-g02v2__photo-placeholder {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: inherit;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px;
  color: #716e67;
  background:
    linear-gradient(
      135deg,
      #e8e6e0 0%,
      #f6f5f1 100%
    );
  text-align: center;
}

.thz-g02v2__photo-placeholder::before {
  content: "";
  width: 46px;
  height: 1px;
  margin-bottom: 22px;
  background: var(--g02-gold);
}

.thz-g02v2__photo-placeholder span {
  margin-bottom: 10px;
  color: var(--g02-gold);
  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: 0.27em;
}

.thz-g02v2__photo-placeholder strong {
  margin-bottom: 7px;
  color: #4c4944;
  font-size: 14px;
  font-weight: 500;
}

.thz-g02v2__photo-placeholder small {
  color: #8e8a82;
  font-size: 10px;
}

.thz-g02v2__wide-photo img + .thz-g02v2__photo-placeholder,
.thz-g02v2__inspection-photo img + .thz-g02v2__photo-placeholder,
.thz-g02v2__photography-photo img + .thz-g02v2__photo-placeholder,
.thz-g02v2__photo-story-item img + .thz-g02v2__photo-placeholder {
  display: none;
}


/* =========================================================
   ASSEMBLY
========================================================= */

.thz-g02v2__section--assembly {
  padding-bottom: 145px;
  background: var(--g02-white);
}

.thz-g02v2__wide-photo {
  width: 100%;
  min-height: min(62vw, 720px);
  margin-bottom: 90px;
  overflow: hidden;
  background: var(--g02-gray);
}

.thz-g02v2__wide-photo img {
  width: 100%;
  height: min(62vw, 720px);
  object-fit: cover;
}

.thz-g02v2__assembly-story {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 95px;
  margin-bottom: 100px;
}

.thz-g02v2__assembly-kicker {
  margin-bottom: 22px;
  color: var(--g02-gold);
  font-family: Arial, sans-serif;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.27em;
}

.thz-g02v2__assembly-copy h3 {
  margin-bottom: 0;
  color: var(--g02-black);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(25px, 3.6vw, 39px);
  font-weight: 400;
  line-height: 1.75;
}

.thz-g02v2__assembly-text {
  color: #5c5852;
  font-size: 14px;
  line-height: 2.15;
}

.thz-g02v2__assembly-text p {
  margin-bottom: 22px;
}

.thz-g02v2__assembly-text p:last-child {
  margin-bottom: 0;
}

.thz-g02v2__timeline {
  position: relative;
  max-width: 900px;
  margin: 0 auto;
}

.thz-g02v2__timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 43px;
  width: 1px;
  background: var(--g02-border);
}

.thz-g02v2__timeline-item {
  position: relative;
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 35px;
  padding-bottom: 68px;
}

.thz-g02v2__timeline-item:last-child {
  padding-bottom: 0;
}

.thz-g02v2__timeline-marker {
  position: relative;
  z-index: 2;
  display: flex;
  width: 88px;
  height: 88px;
  align-items: center;
  justify-content: center;
  border: 1px solid #cbb98f;
  border-radius: 50%;
  background: var(--g02-white);
}

.thz-g02v2__timeline-marker span {
  color: var(--g02-gold);
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 14px;
}

.thz-g02v2__timeline-content {
  padding-top: 9px;
}

.thz-g02v2__timeline-content small {
  display: block;
  margin-bottom: 9px;
  color: var(--g02-gold);
  font-family: Arial, sans-serif;
  font-size: 8px;
  letter-spacing: 0.24em;
}

.thz-g02v2__timeline-content h3 {
  margin-bottom: 10px;
  color: var(--g02-black);
  font-size: 18px;
  font-weight: 500;
}

.thz-g02v2__timeline-content p {
  margin-bottom: 0;
  color: var(--g02-muted);
  font-size: 13px;
  line-height: 1.9;
}


/* =========================================================
   INSPECTION
========================================================= */

.thz-g02v2__section--inspection {
  background: var(--g02-ivory);
}

.thz-g02v2__inspection-story {
  display: grid;
  grid-template-columns: 1.12fr 0.88fr;
  min-height: 560px;
  margin-bottom: 55px;
  background: var(--g02-white);
}

.thz-g02v2__inspection-story--reverse {
  grid-template-columns: 0.88fr 1.12fr;
}

.thz-g02v2__inspection-story--reverse .thz-g02v2__inspection-photo {
  order: 2;
}

.thz-g02v2__inspection-story--reverse .thz-g02v2__inspection-copy {
  order: 1;
}

.thz-g02v2__inspection-photo {
  min-height: 560px;
  overflow: hidden;
  background: var(--g02-gray);
}

.thz-g02v2__inspection-photo img {
  width: 100%;
  height: 100%;
  min-height: 560px;
  object-fit: cover;
}

.thz-g02v2__inspection-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 65px;
}

.thz-g02v2__inspection-copy > span {
  margin-bottom: 25px;
  color: var(--g02-gold);
  font-family: Arial, sans-serif;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.27em;
}

.thz-g02v2__inspection-copy h3 {
  margin-bottom: 29px;
  color: var(--g02-black);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(25px, 3.5vw, 38px);
  font-weight: 400;
  line-height: 1.7;
}

.thz-g02v2__inspection-copy p {
  margin-bottom: 0;
  color: #625e57;
  font-size: 13px;
  line-height: 2;
}

.thz-g02v2__double-check {
  display: grid;
  grid-template-columns: 210px 1fr;
  align-items: center;
  gap: 40px;
  margin-top: 85px;
  padding: 65px 75px;
  color: var(--g02-white);
  background:
    radial-gradient(
      circle at 0 50%,
      rgba(169, 138, 77, 0.16),
      transparent 30%
    ),
    var(--g02-deep);
}

.thz-g02v2__double-check-number {
  display: flex;
  width: 145px;
  height: 145px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(216, 191, 130, 0.55);
  border-radius: 50%;
}

.thz-g02v2__double-check-number span {
  color: var(--g02-gold-bright);
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 54px;
  line-height: 1;
}

.thz-g02v2__double-check-number small {
  margin-top: 7px;
  color: rgba(255, 255, 255, 0.58);
  font-family: Arial, sans-serif;
  font-size: 7px;
  letter-spacing: 0.19em;
}

.thz-g02v2__double-check-copy > p {
  margin-bottom: 12px;
  color: var(--g02-gold-bright);
  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: 0.27em;
}

.thz-g02v2__double-check-copy h3 {
  margin-bottom: 18px;
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(24px, 3.2vw, 34px);
  font-weight: 400;
}

.thz-g02v2__double-check-copy > span {
  display: block;
  max-width: 670px;
  color: rgba(255, 255, 255, 0.80);
  font-size: 13px;
  line-height: 2;
}


/* =========================================================
   PHOTOGRAPHY
========================================================= */

.thz-g02v2__section--photography {
  padding-top: 0;
  background: var(--g02-white);
}

.thz-g02v2__photography-layout {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  min-height: 730px;
  margin-bottom: 90px;
}

.thz-g02v2__photography-photo {
  min-height: 730px;
  overflow: hidden;
  background: var(--g02-gray);
}

.thz-g02v2__photography-photo img {
  width: 100%;
  height: 100%;
  min-height: 730px;
  object-fit: cover;
}

.thz-g02v2__photography-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 85px 7vw;
  color: var(--g02-white);
  background:
    radial-gradient(
      circle at 100% 0,
      rgba(169, 138, 77, 0.16),
      transparent 35%
    ),
    var(--g02-deep);
}

.thz-g02v2__photography-kicker {
  margin-bottom: 25px;
  color: var(--g02-gold-bright);
  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: 0.28em;
}

.thz-g02v2__photography-copy h2 {
  margin-bottom: 38px;
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(31px, 4.7vw, 52px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.07em;
}

.thz-g02v2__photography-copy > p:not(.thz-g02v2__photography-kicker) {
  margin-bottom: 19px;
  color: rgba(255, 255, 255, 0.81);
  font-size: 13px;
  line-height: 2;
}

.thz-g02v2__photo-policy-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--g02-border);
  border-left: 1px solid var(--g02-border);
}

.thz-g02v2__photo-policy-grid article {
  min-height: 260px;
  padding: 35px 29px;
  border-right: 1px solid var(--g02-border);
  border-bottom: 1px solid var(--g02-border);
}

.thz-g02v2__photo-policy-grid span {
  display: block;
  margin-bottom: 54px;
  color: var(--g02-gold);
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 12px;
}

.thz-g02v2__photo-policy-grid h3 {
  margin-bottom: 13px;
  color: var(--g02-black);
  font-size: 16px;
  font-weight: 500;
}

.thz-g02v2__photo-policy-grid p {
  margin-bottom: 0;
  color: var(--g02-muted);
  font-size: 12px;
  line-height: 1.9;
}

.thz-g02v2__photo-policy-note {
  margin: 25px 0 0;
  color: #827e76;
  font-size: 10px;
  line-height: 1.8;
}


/* =========================================================
   PHOTO STORY
========================================================= */

.thz-g02v2__section--photo-story {
  background: var(--g02-ivory);
}

.thz-g02v2__photo-story-header {
  margin-bottom: 60px;
  text-align: center;
}

.thz-g02v2__photo-story-header > p {
  margin-bottom: 14px;
  color: var(--g02-gold);
  font-family: Arial, sans-serif;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.29em;
}

.thz-g02v2__photo-story-header h2 {
  margin-bottom: 15px;
  color: var(--g02-black);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(28px, 4.1vw, 46px);
  font-weight: 400;
  letter-spacing: 0.07em;
}

.thz-g02v2__photo-story-header > span {
  color: var(--g02-muted);
  font-size: 11px;
}

.thz-g02v2__photo-story-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

.thz-g02v2__photo-story-item {
  min-height: 340px;
  overflow: hidden;
  background: var(--g02-gray);
}

.thz-g02v2__photo-story-item img {
  width: 100%;
  height: 100%;
  min-height: 340px;
  object-fit: cover;
}

.thz-g02v2__photo-story-item--large {
  grid-column: 1 / -1;
  min-height: 590px;
}

.thz-g02v2__photo-story-item--large img {
  min-height: 590px;
}

.thz-g02v2__photo-story-item--wide {
  grid-column: 1 / -1;
  min-height: 440px;
}

.thz-g02v2__photo-story-item--wide img {
  min-height: 440px;
}


/* =========================================================
   QUALITY
========================================================= */

.thz-g02v2__quality {
  position: relative;
  padding: 150px 0;
  overflow: hidden;
  color: var(--g02-white);
  background:
    radial-gradient(
      circle at 50% 0,
      rgba(169, 138, 77, 0.17),
      transparent 34%
    ),
    #161616;
}

.thz-g02v2__quality::after {
  content: "QUALITY";
  position: absolute;
  right: -20px;
  bottom: -35px;
  color: rgba(255, 255, 255, 0.025);
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: clamp(90px, 17vw, 240px);
  line-height: 1;
  pointer-events: none;
}

.thz-g02v2__quality-kicker {
  margin-bottom: 24px;
  color: var(--g02-gold-bright);
  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: 0.31em;
  text-align: center;
}

.thz-g02v2__quality-title {
  margin-bottom: 30px;
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(36px, 5.4vw, 62px);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.08em;
  text-align: center;
}

.thz-g02v2__quality-lead {
  max-width: 650px;
  margin: 0 auto 85px;
  color: rgba(255, 255, 255, 0.80);
  font-size: 14px;
  line-height: 2.1;
  text-align: center;
}

.thz-g02v2__quality-steps {
  position: relative;
  max-width: 760px;
  margin: 0 auto 90px;
}

.thz-g02v2__quality-steps::before {
  content: "";
  position: absolute;
  top: 25px;
  bottom: 25px;
  left: 28px;
  width: 1px;
  background:
    linear-gradient(
      to bottom,
      transparent,
      rgba(216, 191, 130, 0.45) 10%,
      rgba(216, 191, 130, 0.45) 90%,
      transparent
    );
}

.thz-g02v2__quality-step {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 37px;
  padding-bottom: 52px;
}

.thz-g02v2__quality-step:last-child {
  padding-bottom: 0;
}

.thz-g02v2__quality-step > span {
  display: flex;
  width: 58px;
  height: 58px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(216, 191, 130, 0.58);
  border-radius: 50%;
  color: var(--g02-gold-bright);
  background: #161616;
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 11px;
}

.thz-g02v2__quality-step div {
  padding: 2px 0 30px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.13);
}

.thz-g02v2__quality-step small {
  display: block;
  margin-bottom: 6px;
  color: var(--g02-gold-bright);
  font-family: Arial, sans-serif;
  font-size: 8px;
  letter-spacing: 0.24em;
}

.thz-g02v2__quality-step h3 {
  margin-bottom: 10px;
  color: var(--g02-white);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 25px;
  font-weight: 400;
}

.thz-g02v2__quality-step p {
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 12px;
  line-height: 1.9;
}

.thz-g02v2__quality-message {
  position: relative;
  z-index: 2;
  max-width: 720px;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.88);
  font-size: 14px;
  line-height: 2.2;
  text-align: center;
}

.thz-g02v2__quality-message p {
  margin-bottom: 25px;
}

.thz-g02v2__quality-message p:last-child {
  margin-bottom: 0;
}

.thz-g02v2__signature {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 70px;
}

.thz-g02v2__signature i {
  display: block;
  width: 52px;
  height: 1px;
  margin-bottom: 25px;
  background: var(--g02-gold);
}

.thz-g02v2__signature strong {
  margin-bottom: 7px;
  color: var(--g02-gold-bright);
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.17em;
}

.thz-g02v2__signature span {
  color: rgba(255, 255, 255, 0.62);
  font-family: Arial, sans-serif;
  font-size: 8px;
  letter-spacing: 0.22em;
}


/* =========================================================
   NEXT GUIDE
========================================================= */

.thz-g02v2__next-guide {
  padding: 120px 0;
  background: var(--g02-white);
}

.thz-g02v2__next-guide-inner {
  display: grid;
  grid-template-columns: 1fr 350px;
  gap: 80px;
  align-items: center;
  padding: 75px;
  border: 1px solid var(--g02-border);
}

.thz-g02v2__next-guide-copy > p {
  margin-bottom: 13px;
  color: var(--g02-gold);
  font-family: Arial, sans-serif;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.28em;
}

.thz-g02v2__next-guide-copy > span {
  display: block;
  margin-bottom: 25px;
  color: var(--g02-muted);
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 12px;
  letter-spacing: 0.13em;
}

.thz-g02v2__next-guide-copy h2 {
  margin-bottom: 22px;
  color: var(--g02-black);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(27px, 3.8vw, 42px);
  font-weight: 400;
  line-height: 1.6;
}

.thz-g02v2__next-guide-copy small {
  display: block;
  max-width: 650px;
  color: var(--g02-muted);
  font-size: 12px;
  line-height: 1.9;
}

.thz-g02v2__next-guide-links {
  display: grid;
  gap: 13px;
}

.thz-g02v2__next-button {
  display: flex;
  min-height: 66px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 0 25px;
  font-size: 12px;
  transition:
    color 0.25s ease,
    border-color 0.25s ease,
    background 0.25s ease;
}

.thz-g02v2__next-button i {
  font-size: 18px;
  font-style: normal;
}

.thz-g02v2__next-button--main {
  color: var(--g02-white);
  background: var(--g02-deep);
}

.thz-g02v2__next-button--main:hover {
  background: var(--g02-gold);
}

.thz-g02v2__next-button--sub {
  border: 1px solid var(--g02-border);
  color: var(--g02-text);
  background: var(--g02-white);
}

.thz-g02v2__next-button--sub:hover {
  border-color: var(--g02-gold);
  color: var(--g02-gold);
}


/* =========================================================
   GUIDE NAV
========================================================= */

.thz-g02v2__guide-nav {
  padding: 105px 0;
  background: #f1efe9;
}

.thz-g02v2__guide-nav-header {
  margin-bottom: 45px;
  text-align: center;
}

.thz-g02v2__guide-nav-header p {
  margin-bottom: 12px;
  color: var(--g02-gold);
  font-family: Arial, sans-serif;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.29em;
}

.thz-g02v2__guide-nav-header h2 {
  margin-bottom: 0;
  color: var(--g02-black);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(24px, 3.5vw, 36px);
  font-weight: 400;
  letter-spacing: 0.06em;
}

.thz-g02v2__guide-nav-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-top: 1px solid var(--g02-border);
  border-left: 1px solid var(--g02-border);
}

.thz-g02v2__guide-nav-item {
  display: flex;
  min-height: 220px;
  flex-direction: column;
  padding: 31px 25px;
  border-right: 1px solid var(--g02-border);
  border-bottom: 1px solid var(--g02-border);
  background: var(--g02-white);
  transition:
    background 0.25s ease,
    transform 0.25s ease;
}

.thz-g02v2__guide-nav-item:hover {
  position: relative;
  z-index: 2;
  background: #f7f3ea;
  transform: translateY(-4px);
}

.thz-g02v2__guide-nav-item > span {
  margin-bottom: auto;
  color: var(--g02-gold);
  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: 0.18em;
}

.thz-g02v2__guide-nav-item strong {
  display: block;
  margin-bottom: 9px;
  color: var(--g02-black);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
}

.thz-g02v2__guide-nav-item small {
  color: var(--g02-muted);
  font-size: 10px;
  line-height: 1.6;
}

.thz-g02v2__guide-nav-item--current {
  color: var(--g02-white);
  background: var(--g02-deep);
}

.thz-g02v2__guide-nav-item--current:hover {
  background: var(--g02-deep);
  transform: none;
}

.thz-g02v2__guide-nav-item--current > span {
  color: var(--g02-gold-bright);
}

.thz-g02v2__guide-nav-item--current strong {
  color: var(--g02-white);
}

.thz-g02v2__guide-nav-item--current small {
  color: rgba(255, 255, 255, 0.67);
}


/* =========================================================
   TABLET
========================================================= */

@media screen and (max-width: 1050px) {

  .thz-g02v2__contents-list {
    grid-template-columns: repeat(4, 1fr);
  }

  .thz-g02v2__purity-scale {
    grid-template-columns: repeat(3, 1fr);
  }

  .thz-g02v2__display-grid,
  .thz-g02v2__photo-policy-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .thz-g02v2__information-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .thz-g02v2__guide-nav-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .thz-g02v2__photography-layout {
    grid-template-columns: 1fr;
  }

  .thz-g02v2__photography-photo {
    min-height: 600px;
  }

  .thz-g02v2__photography-copy {
    padding: 80px max(40px, 8vw);
  }

}


/* =========================================================
   SMALL TABLET
========================================================= */

@media screen and (max-width: 850px) {

  .thz-g02v2__purity-feature {
    grid-template-columns: 1fr;
  }

  .thz-g02v2__purity-visual {
    min-height: 390px;
    border-right: 0;
    border-bottom: 1px solid var(--g02-border);
  }

  .thz-g02v2__display-intro,
  .thz-g02v2__assembly-story {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .thz-g02v2__inspection-story,
  .thz-g02v2__inspection-story--reverse {
    grid-template-columns: 1fr;
  }

  .thz-g02v2__inspection-story--reverse .thz-g02v2__inspection-photo,
  .thz-g02v2__inspection-story--reverse .thz-g02v2__inspection-copy {
    order: initial;
  }

  .thz-g02v2__inspection-photo {
    min-height: 500px;
  }

  .thz-g02v2__inspection-photo img {
    min-height: 500px;
  }

  .thz-g02v2__double-check {


    grid-template-columns: 1fr;
  }

  .thz-g02v2__next-guide-inner {
    grid-template-columns: 1fr;
  }

  .thz-g02v2__next-guide-links {
    max-width: 430px;
  }

}


/* =========================================================
   SMARTPHONE
========================================================= */

@media screen and (max-width: 767px) {

  .thz-g02v2 {
    font-size: 15px;
  }

  .thz-g02v2__container,
  .thz-g02v2__container--narrow {
    width: calc(100% - 36px);
  }


  /* HERO */

  .thz-g02v2__hero {
    min-height: 650px;
  }

  .thz-g02v2__hero::before {
    right: 20%;
  }

  .thz-g02v2__hero::after {
    right: -180px;
    bottom: -235px;
  }

  .thz-g02v2__hero-bg-number {
    top: auto;
    right: -30px;
    bottom: 85px;
    font-size: 82px;
    transform: none;
  }

  .thz-g02v2__hero-inner {
    padding-top: 90px;
    padding-bottom: 100px;
  }

  .thz-g02v2__eyebrow {
    font-size: 9px;
    letter-spacing: 0.25em;
  }

  .thz-g02v2__hero-subtitle {
    margin-bottom: 19px;
    font-size: 12px;
  }

  .thz-g02v2__hero-title {
    margin-bottom: 29px;
    font-size: 38px;
    line-height: 1.5;
  }

  .thz-g02v2__hero-lead {
    font-size: 12px;
    line-height: 2;
  }

  .thz-g02v2__hero-lead br {
    display: none;
  }

  .thz-g02v2__hero-scroll {
    bottom: 38px;
  }


  /* INTRO */

  .thz-g02v2__intro {
    padding: 88px 0;
  }

  .thz-g02v2__intro-title {
    margin-bottom: 32px;
    font-size: 30px;
  }

  .thz-g02v2__intro-text {
    font-size: 13px;
    line-height: 2.05;
  }


  /* CONTENTS */

  .thz-g02v2__contents {
    padding: 60px 0;
  }

  .thz-g02v2__contents-header {
    display: block;
  }

  .thz-g02v2__contents-header span {
    display: block;
    margin-bottom: 8px;
  }

  .thz-g02v2__contents-list {
    grid-template-columns: 1fr;
  }

  .thz-g02v2__contents-list a {
    min-height: 115px;
    padding: 22px;
  }

  .thz-g02v2__contents-list span {
    margin-bottom: 20px;
  }


  /* COMMON */

  .thz-g02v2__section {
    padding: 88px 0;
  }

  .thz-g02v2__section-header {
    grid-template-columns: 1fr;
    margin-bottom: 48px;
  }

  .thz-g02v2__section-number {
    margin-bottom: 20px;
  }

  .thz-g02v2__section-number span {
    font-size: 15px;
  }

  .thz-g02v2__section-heading h2 {
    font-size: 29px;
    line-height: 1.6;
  }

  .thz-g02v2__section-heading > span {
    font-size: 11px;
  }


  /* PURITY */

  .thz-g02v2__purity-feature {
    min-height: 0;
    margin-bottom: 42px;
  }

  .thz-g02v2__purity-visual {
    min-height: 300px;
    padding: 35px 20px;
  }

  .thz-g02v2__purity-visual-value {
    font-size: 52px;
  }

  .thz-g02v2__purity-copy {
    padding: 38px 27px;
  }

  .thz-g02v2__purity-copy h3 {
    font-size: 23px;
  }

  .thz-g02v2__purity-scale {
    grid-template-columns: 1fr;
    margin-bottom: 42px;
  }

  .thz-g02v2__purity-level {
    min-height: auto;
    padding: 25px;
  }

  .thz-g02v2__purity-level-head {
    margin-bottom: 20px;
  }

  .thz-g02v2__important {
    grid-template-columns: 1fr;
  }

  .thz-g02v2__important-label {
    justify-content: flex-start;
    padding: 22px 25px;
    border-right: 0;
    border-bottom: 1px solid #d7c69e;
  }

  .thz-g02v2__important-content {
    padding: 28px 25px;
  }


  /* DISPLAY */

  .thz-g02v2__display-intro {
    margin-bottom: 48px;
  }

  .thz-g02v2__display-copy {
    font-size: 27px;
  }

  .thz-g02v2__display-text {
    font-size: 13px;
  }

  .thz-g02v2__display-grid {
    grid-template-columns: 1fr;
    margin-bottom: 48px;
  }

  .thz-g02v2__display-grid article {
    min-height: auto;
    padding: 28px 25px;
  }

  .thz-g02v2__display-grid span {
    margin-bottom: 26px;
  }

  .thz-g02v2__brand-message {
    padding: 52px 31px;
  }

  .thz-g02v2__brand-message::before {
    top: 14px;
    right: 14px;
    bottom: 14px;
    left: 14px;
  }

  .thz-g02v2__brand-message h3 {
    font-size: 25px;
  }


  /* INFORMATION */

  .thz-g02v2__information-lead p {
    font-size: 20px;
  }

  .thz-g02v2__information-grid {
    grid-template-columns: 1fr;
  }

  .thz-g02v2__information-grid article {
    min-height: auto;
    padding: 29px 25px;
  }

  .thz-g02v2__information-grid span {
    margin-bottom: 26px;
  }


  /* ASSEMBLY */

  .thz-g02v2__section--assembly {
    padding-bottom: 95px;
  }

  .thz-g02v2__wide-photo {
    min-height: 390px;
    margin-bottom: 60px;
  }

  .thz-g02v2__wide-photo img {
    height: 390px;
  }

  .thz-g02v2__assembly-story {
    margin-bottom: 65px;
  }

  .thz-g02v2__assembly-copy h3 {
    font-size: 27px;
  }

  .thz-g02v2__assembly-text {
    font-size: 13px;
  }

  .thz-g02v2__timeline::before {
    left: 29px;
  }

  .thz-g02v2__timeline-item {
    grid-template-columns: 60px 1fr;
    gap: 22px;
    padding-bottom: 45px;
  }

  .thz-g02v2__timeline-marker {
    width: 60px;
    height: 60px;
  }

  .thz-g02v2__timeline-content {
    padding-top: 0;
  }

  .thz-g02v2__timeline-content h3 {
    font-size: 16px;
  }


  /* INSPECTION */

  .thz-g02v2__inspection-story {
    min-height: 0;
    margin-bottom: 35px;
  }

  .thz-g02v2__inspection-photo,
  .thz-g02v2__inspection-photo img {
    min-height: 340px;
  }

  .thz-g02v2__inspection-copy {
    padding: 40px 27px;
  }

  .thz-g02v2__inspection-copy h3 {
    font-size: 25px;
  }

  .thz-g02v2__double-check {
    gap: 30px;
    margin-top: 55px;
    padding: 45px 27px;
  }

  .thz-g02v2__double-check-number {
    width: 105px;
    height: 105px;
  }

  .thz-g02v2__double-check-number span {
    font-size: 43px;
  }

  .thz-g02v2__double-check-copy h3 {
    font-size: 24px;
  }


  /* PHOTOGRAPHY */

  .thz-g02v2__photography-layout {
    min-height: 0;
    margin-bottom: 60px;
  }

  .thz-g02v2__photography-photo,
  .thz-g02v2__photography-photo img {
    min-height: 390px;
  }

  .thz-g02v2__photography-copy {
    padding: 55px 28px;
  }

  .thz-g02v2__photography-copy h2 {
    font-size: 31px;
  }

  .thz-g02v2__photo-policy-grid {
    grid-template-columns: 1fr;
  }

  .thz-g02v2__photo-policy-grid article {
    min-height: auto;
    padding: 28px 25px;
  }

  .thz-g02v2__photo-policy-grid span {
    margin-bottom: 26px;
  }


  /* PHOTO STORY */

  .thz-g02v2__photo-story-header h2 {
    font-size: 28px;
  }

  .thz-g02v2__photo-story-grid {
    grid-template-columns: 1fr;
  }

  .thz-g02v2__photo-story-item,
  .thz-g02v2__photo-story-item--large,
  .thz-g02v2__photo-story-item--wide {
    grid-column: auto;
    min-height: 300px;
  }

  .thz-g02v2__photo-story-item img,
  .thz-g02v2__photo-story-item--large img,
  .thz-g02v2__photo-story-item--wide img {
    min-height: 300px;
  }


  /* QUALITY */

  .thz-g02v2__quality {
    padding: 100px 0;
  }

  .thz-g02v2__quality-title {
    font-size: 35px;
  }

  .thz-g02v2__quality-lead {
    margin-bottom: 60px;
    font-size: 12px;
  }

  .thz-g02v2__quality-lead br {
    display: none;
  }

  .thz-g02v2__quality-steps::before {
    left: 24px;
  }

  .thz-g02v2__quality-step {
    grid-template-columns: 50px 1fr;
    gap: 20px;
    padding-bottom: 40px;
  }

  .thz-g02v2__quality-step > span {
    width: 50px;
    height: 50px;
  }

  .thz-g02v2__quality-step h3 {
    font-size: 21px;
  }

  .thz-g02v2__quality-message {
    color: rgba(255, 255, 255, 0.91);
    font-size: 13px;
    line-height: 2.1;
    text-align: left;
  }


  /* NEXT */

  .thz-g02v2__next-guide {
    padding: 80px 0;
  }

  .thz-g02v2__next-guide-inner {
    gap: 42px;
    padding: 42px 27px;
  }

  .thz-g02v2__next-guide-copy h2 {
    font-size: 27px;
  }

  .thz-g02v2__next-button {
    padding: 0 20px;
    font-size: 11px;
  }


  /* GUIDE NAV */

  .thz-g02v2__guide-nav {
    padding: 80px 0;
  }

  .thz-g02v2__guide-nav-grid {
    grid-template-columns: 1fr;
  }

  .thz-g02v2__guide-nav-item {
    min-height: 145px;
    padding: 25px;
  }

  .thz-g02v2__guide-nav-item > span {
    margin-bottom: 25px;
  }

}

/* =========================================================
   Guide02 CONTENTS
   ショップサーブ既存の連番表示を完全に解除
========================================================= */

.thz-g02v2__contents-list,
.thz-g02v2__contents-list > li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  list-style-type: none !important;
  counter-reset: none !important;
  counter-increment: none !important;
}

.thz-g02v2__contents-list > li::marker {
  content: "" !important;
  display: none !important;
  font-size: 0 !important;
}

.thz-g02v2__contents-list > li::before,
.thz-g02v2__contents-list > li::after {
  content: none !important;
  display: none !important;
}

.thz-g02v2__contents-list > li > a {
  margin: 0 !important;
}

/* =========================================================
   Guide02 最終品質セクション
   本文の視認性を改善
========================================================= */

.thz-g02v2__quality-message {
  color: rgba(255, 255, 255, 0.88) !important;
}

.thz-g02v2__quality-message p {
  color: rgba(255, 255, 255, 0.88) !important;
}

.thz-g02v2__quality-lead {
  color: rgba(255, 255, 255, 0.82) !important;
}

.thz-g02v2__quality-step p {
  color: rgba(255, 255, 255, 0.78) !important;
}

.thz-g02v2__signature span {
  color: rgba(255, 255, 255, 0.68) !important;
}
.thz-g02v2__quality-message {
  max-width: 760px;
  font-size: 15px;
  line-height: 2.25;
  letter-spacing: 0.06em;
}

.thz-g02v2__quality-message p {
  margin-bottom: 28px;
}
@media screen and (max-width: 767px) {

  .thz-g02v2__quality-message {
    font-size: 13px;
    line-height: 2.1;
    letter-spacing: 0.04em;
  }

}

/* =========================================================
   GOLD STONE TERAHERTZ GUIDE 03
   PRODUCT SELECTION GUIDE
   Prefix: thz-g03
========================================================= */


/* =========================================================
   RESET / VARIABLES
========================================================= */

.thz-g03,
.thz-g03 * {
  box-sizing: border-box;
}

.thz-g03 {
  --g03-black: #161616;
  --g03-deep: #1d1d1c;
  --g03-deep-soft: #242321;
  --g03-text: #3d3b37;
  --g03-muted: #77736c;
  --g03-gold: #a98a4d;
  --g03-gold-bright: #d8bf82;
  --g03-gold-pale: #f4efe3;
  --g03-ivory: #f8f7f3;
  --g03-gray: #efeee9;
  --g03-border: #dedbd3;
  --g03-white: #ffffff;

  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  color: var(--g03-text);
  background: var(--g03-white);
  font-family:
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Yu Gothic",
    "Meiryo",
    sans-serif;
  font-size: 16px;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.thz-g03 img {
  display: block;
  width: 100%;
  height: auto;
}

.thz-g03 a {
  color: inherit;
  text-decoration: none;
}

.thz-g03 h1,
.thz-g03 h2,
.thz-g03 h3,
.thz-g03 h4,
.thz-g03 p,
.thz-g03 ol,
.thz-g03 ul {
  margin-top: 0;
}

.thz-g03__container {
  width: min(1160px, calc(100% - 56px));
  margin-right: auto;
  margin-left: auto;
}

.thz-g03__container--narrow {
  width: min(850px, calc(100% - 56px));
}


/* =========================================================
   HERO
========================================================= */

.thz-g03__hero {
  position: relative;
  display: flex;
  min-height: 760px;
  align-items: center;
  overflow: hidden;
  color: var(--g03-white);
  background:
    radial-gradient(
      circle at 78% 26%,
      rgba(184, 151, 84, 0.18),
      transparent 35%
    ),
    linear-gradient(
      135deg,
      #111111 0%,
      #242321 58%,
      #171717 100%
    );
  isolation: isolate;
}

.thz-g03__hero::before {
  content: "";
  position: absolute;
  top: 0;
  right: 15%;
  width: 1px;
  height: 100%;
  background:
    linear-gradient(
      to bottom,
      transparent,
      rgba(216, 191, 130, 0.28),
      transparent
    );
}

.thz-g03__hero::after {
  content: "";
  position: absolute;
  right: -140px;
  bottom: -210px;
  width: 570px;
  height: 570px;
  border: 1px solid rgba(216, 191, 130, 0.09);
  border-radius: 50%;
}

.thz-g03__hero-decoration {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}

.thz-g03__hero-decoration span {
  position: absolute;
  right: -20px;
  bottom: -35px;
  color: rgba(255, 255, 255, 0.025);
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: clamp(120px, 18vw, 280px);
  line-height: 1;
  letter-spacing: -0.05em;
}

.thz-g03__hero-inner {
  position: relative;
  z-index: 2;
  padding-top: 110px;
  padding-bottom: 110px;
}

.thz-g03__eyebrow {
  margin-bottom: 24px;
  color: var(--g03-gold-bright);
  font-family: Arial, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.32em;
}

.thz-g03__hero-subtitle {
  margin-bottom: 22px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 14px;
  letter-spacing: 0.15em;
}

.thz-g03__hero-title {
  max-width: 900px;
  margin-bottom: 35px;
  color: var(--g03-white);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(45px, 6.5vw, 83px);
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0.075em;
}

.thz-g03__hero-lead {
  max-width: 710px;
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.80);
  font-size: 14px;
  line-height: 2.15;
}

.thz-g03__hero-scroll {
  position: absolute;
  left: 0;
  bottom: 55px;
  display: flex;
  align-items: center;
  gap: 18px;
}

.thz-g03__hero-scroll span {
  color: rgba(255, 255, 255, 0.48);
  font-family: Arial, sans-serif;
  font-size: 8px;
  letter-spacing: 0.25em;
}

.thz-g03__hero-scroll i {
  display: block;
  width: 75px;
  height: 1px;
  background:
    linear-gradient(
      to right,
      var(--g03-gold),
      rgba(169, 138, 77, 0)
    );
}


/* =========================================================
   INTRODUCTION
========================================================= */

.thz-g03__intro {
  padding: 140px 0;
  background: var(--g03-white);
}

.thz-g03__section-kicker {
  margin-bottom: 26px;
  color: var(--g03-gold);
  font-family: Arial, sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.3em;
}

.thz-g03__intro-title {
  margin-bottom: 45px;
  color: var(--g03-black);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(32px, 4.6vw, 53px);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.08em;
}

.thz-g03__intro-text {
  max-width: 790px;
  color: #56534d;
  font-size: 15px;
  line-height: 2.2;
}

.thz-g03__intro-text p {
  margin-bottom: 25px;
}

.thz-g03__intro-text p:last-child {
  margin-bottom: 0;
}


/* =========================================================
   CONTENTS
========================================================= */

.thz-g03__contents {
  padding: 82px 0;
  border-top: 1px solid var(--g03-border);
  border-bottom: 1px solid var(--g03-border);
  background: var(--g03-ivory);
}

.thz-g03__contents-header {
  display: flex;
  align-items: baseline;
  gap: 25px;
  margin-bottom: 34px;
}

.thz-g03__contents-header span {
  color: var(--g03-gold);
  font-family: Arial, sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.27em;
}

.thz-g03__contents-header p {
  margin-bottom: 0;
  color: var(--g03-muted);
  font-size: 12px;
}

/* ショップサーブ既存のol連番を解除 */
.thz-g03__contents-list,
.thz-g03__contents-list > li {
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  list-style-type: none !important;
  counter-reset: none !important;
  counter-increment: none !important;
}

.thz-g03__contents-list > li::marker {
  content: "" !important;
  font-size: 0 !important;
}

.thz-g03__contents-list > li::before,
.thz-g03__contents-list > li::after {
  content: none !important;
  display: none !important;
}

.thz-g03__contents-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--g03-border);
  border-left: 1px solid var(--g03-border);
}

.thz-g03__contents-list a {
  display: flex;
  min-height: 175px;
  flex-direction: column;
  padding: 26px 23px;
  border-right: 1px solid var(--g03-border);
  border-bottom: 1px solid var(--g03-border);
  background: var(--g03-white);
  transition:
    background 0.25s ease,
    transform 0.25s ease;
}

.thz-g03__contents-list a:hover {
  position: relative;
  z-index: 2;
  background: #f4f0e7;
  transform: translateY(-4px);
}

.thz-g03__contents-list a > span {
  margin-bottom: auto;
  color: var(--g03-gold);
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 12px;
}

.thz-g03__contents-list strong {
  display: block;
  margin-bottom: 8px;
  color: var(--g03-black);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.55;
}

.thz-g03__contents-list small {
  color: var(--g03-muted);
  font-size: 9px;
  line-height: 1.6;
}


/* =========================================================
   COMMON SECTION
========================================================= */

.thz-g03__section {
  padding: 135px 0;
  scroll-margin-top: 90px;
}

.thz-g03__section-header {
  display: grid;
  grid-template-columns: 110px 1fr;
  margin-bottom: 78px;
}

.thz-g03__section-number {
  padding-top: 3px;
}

.thz-g03__section-number span {
  color: var(--g03-gold);
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 18px;
  letter-spacing: 0.08em;
}

.thz-g03__section-heading > p {
  margin-bottom: 13px;
  color: var(--g03-gold);
  font-family: Arial, sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.28em;
}

.thz-g03__section-heading h2 {
  margin-bottom: 18px;
  color: var(--g03-black);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(31px, 4.5vw, 50px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.075em;
}

.thz-g03__section-heading > span {
  color: var(--g03-muted);
  font-size: 13px;
  line-height: 1.8;
}

.thz-g03__section-header--dark .thz-g03__section-heading h2 {
  color: var(--g03-white);
}

.thz-g03__section-header--dark .thz-g03__section-heading > span {
  color: rgba(255, 255, 255, 0.76);
}


/* =========================================================
   PHOTO PLACEHOLDER
========================================================= */

.thz-g03__photo-placeholder {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: inherit;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px;
  color: #716e67;
  background:
    linear-gradient(
      135deg,
      #e8e6e0 0%,
      #f6f5f1 100%
    );
  text-align: center;
}

.thz-g03__photo-placeholder::before {
  content: "";
  width: 46px;
  height: 1px;
  margin-bottom: 22px;
  background: var(--g03-gold);
}

.thz-g03__photo-placeholder span {
  margin-bottom: 10px;
  color: var(--g03-gold);
  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: 0.27em;
}

.thz-g03__photo-placeholder strong {
  margin-bottom: 7px;
  color: #4c4944;
  font-size: 14px;
  font-weight: 500;
}

.thz-g03__photo-placeholder small {
  color: #8e8a82;
  font-size: 10px;
}

.thz-g03__type-photo img + .thz-g03__photo-placeholder {
  display: none;
}


/* =========================================================
   TYPE CARDS
========================================================= */

.thz-g03__section--shape {
  background: var(--g03-white);
}

.thz-g03__type-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 55px 30px;
}

.thz-g03__type-card {
  border: 1px solid var(--g03-border);
  background: var(--g03-white);
}

.thz-g03__type-photo {
  min-height: 420px;
  overflow: hidden;
  background: var(--g03-gray);
}

.thz-g03__type-photo img {
  width: 100%;
  height: 420px;
  object-fit: cover;
}

.thz-g03__type-content {
  padding: 42px 38px;
}

.thz-g03__type-head {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}

.thz-g03__type-head span {
  color: var(--g03-gold);
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 11px;
}

.thz-g03__type-head small {
  color: var(--g03-muted);
  font-family: Arial, sans-serif;
  font-size: 8px;
  letter-spacing: 0.22em;
}

.thz-g03__type-content h3 {
  margin-bottom: 20px;
  color: var(--g03-black);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 30px;
  font-weight: 400;
}

.thz-g03__type-content > p {
  margin-bottom: 25px;
  color: #625e57;
  font-size: 13px;
  line-height: 2;
}

.thz-g03__type-content ul {
  padding: 0;
  margin: 0 0 29px;
  list-style: none;
  border-top: 1px solid var(--g03-border);
}

.thz-g03__type-content li {
  position: relative;
  padding: 11px 5px 11px 22px;
  border-bottom: 1px solid var(--g03-border);
  color: #5f5b54;
  font-size: 12px;
}

.thz-g03__type-content li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 3px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--g03-gold);
  transform: translateY(-50%);
}

.thz-g03__type-content > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 58px;
  padding: 0 20px;
  border: 1px solid var(--g03-border);
  color: var(--g03-text);
  font-size: 11px;
  transition:
    color 0.25s ease,
    border-color 0.25s ease,
    background 0.25s ease;
}

.thz-g03__type-content > a:hover {
  border-color: var(--g03-gold);
  color: var(--g03-gold);
  background: #faf8f3;
}

.thz-g03__type-content > a i {
  font-size: 17px;
  font-style: normal;
}


/* =========================================================
   CHOICE MESSAGE
========================================================= */

.thz-g03__choice-message {
  padding: 130px 0;
  color: var(--g03-white);
  background:
    radial-gradient(
      circle at 50% 0,
      rgba(169, 138, 77, 0.17),
      transparent 37%
    ),
    var(--g03-deep);
  text-align: center;
}

.thz-g03__choice-message p {
  margin-bottom: 24px;
  color: var(--g03-gold-bright);
  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: 0.3em;
}

.thz-g03__choice-message h2 {
  margin-bottom: 32px;
  color: var(--g03-white);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(34px, 5vw, 56px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.07em;
}

.thz-g03__choice-message > div > span {
  display: block;
  color: rgba(255, 255, 255, 0.84);
  font-size: 14px;
  line-height: 2.15;
}


/* =========================================================
   BEAD SIZE
========================================================= */

.thz-g03__section--bracelet {
  background: var(--g03-ivory);
}

.thz-g03__bead-intro {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 85px;
  margin-bottom: 75px;
}

.thz-g03__bead-intro-copy h3 {
  margin-bottom: 0;
  color: var(--g03-black);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(26px, 3.7vw, 41px);
  font-weight: 400;
  line-height: 1.75;
}

.thz-g03__bead-intro-text {
  color: #5c5851;
  font-size: 14px;
  line-height: 2.1;
}

.thz-g03__bead-intro-text p {
  margin-bottom: 22px;
}

.thz-g03__bead-intro-text p:last-child {
  margin-bottom: 0;
}

.thz-g03__bead-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 60px;
  border-top: 1px solid var(--g03-border);
  border-left: 1px solid var(--g03-border);
}

.thz-g03__bead-card {
  position: relative;
  min-width: 0;
  border-right: 1px solid var(--g03-border);
  border-bottom: 1px solid var(--g03-border);
  background: var(--g03-white);
}

.thz-g03__bead-card--recommended {
  background: #fbf8f0;
}

.thz-g03__bead-recommend {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 2;
  padding: 5px 9px;
  color: var(--g03-white);
  background: var(--g03-gold);
  font-family: Arial, sans-serif;
  font-size: 7px;
  letter-spacing: 0.17em;
}

.thz-g03__bead-visual {
  display: flex;
  min-height: 220px;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid var(--g03-border);
  background:
    radial-gradient(
      circle at 50% 45%,
      rgba(169, 138, 77, 0.12),
      transparent 48%
    ),
    #f8f7f3;
}

.thz-g03__bead-circle {
  display: block;
  border: 1px solid #77746e;
  border-radius: 50%;
  background:
    radial-gradient(
      circle at 33% 27%,
      #f7f7f7 0,
      #b8b9b8 18%,
      #696b6a 54%,
      #2c2d2c 100%
    );
  box-shadow:
    inset -8px -10px 15px rgba(0, 0, 0, 0.25),
    0 12px 25px rgba(0, 0, 0, 0.12);
}

.thz-g03__bead-circle--8 {
  width: 72px;
  height: 72px;
}

.thz-g03__bead-circle--10 {
  width: 90px;
  height: 90px;
}

.thz-g03__bead-circle--12 {
  width: 108px;
  height: 108px;
}

.thz-g03__bead-circle--15 {
  width: 132px;
  height: 132px;
}

.thz-g03__bead-content {
  padding: 31px 27px 35px;
}

.thz-g03__bead-content > span {
  display: block;
  margin-bottom: 14px;
  color: var(--g03-gold);
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 25px;
}

.thz-g03__bead-content h3 {
  margin-bottom: 15px;
  color: var(--g03-black);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.7;
}

.thz-g03__bead-content > p {
  min-height: 150px;
  margin-bottom: 20px;
  color: var(--g03-muted);
  font-size: 11px;
  line-height: 1.9;
}

.thz-g03__bead-content ul {
  padding: 0;
  margin: 0;
  list-style: none;
  border-top: 1px solid var(--g03-border);
}

.thz-g03__bead-content li {
  padding: 9px 0;
  border-bottom: 1px solid var(--g03-border);
  color: #625e57;
  font-size: 10px;
}

.thz-g03__notice {
  display: grid;
  grid-template-columns: 150px 1fr;
  border: 1px solid #d7c69e;
  background: var(--g03-gold-pale);
}

.thz-g03__notice-label {
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid #d7c69e;
  color: var(--g03-gold);
  font-family: Arial, sans-serif;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.24em;
}

.thz-g03__notice-content {
  padding: 35px 42px;
}

.thz-g03__notice-content h3 {
  margin-bottom: 12px;
  color: var(--g03-black);
  font-size: 16px;
  font-weight: 500;
}

.thz-g03__notice-content p {
  margin-bottom: 0;
  color: #625c51;
  font-size: 12px;
  line-height: 1.95;
}


/* =========================================================
   WRIST SIZE
========================================================= */

.thz-g03__section--wrist {
  color: var(--g03-white);
  background:
    radial-gradient(
      circle at 85% 5%,
      rgba(169, 138, 77, 0.14),
      transparent 31%
    ),
    var(--g03-deep);
}

.thz-g03__wrist-layout {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  min-height: 600px;
  margin-bottom: 70px;
}

.thz-g03__wrist-image {
  min-height: 600px;
  overflow: hidden;
  background: #f0efeb;
}

.thz-g03__wrist-image img {
  width: 100%;
  height: 100%;
  min-height: 600px;
  object-fit: cover;
}

.thz-g03__wrist-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 60px;
  background: #292826;
}

.thz-g03__wrist-kicker {
  margin-bottom: 20px;
  color: var(--g03-gold-bright);
  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: 0.27em;
}

.thz-g03__wrist-content > h3 {
  margin-bottom: 35px;
  color: var(--g03-white);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(25px, 3.5vw, 38px);
  font-weight: 400;
  line-height: 1.7;
}

.thz-g03__measure-list,
.thz-g03__measure-list > li {
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  list-style-type: none !important;
  counter-reset: none !important;
}

.thz-g03__measure-list > li::marker,
.thz-g03__measure-list > li::before {
  content: none !important;
}

.thz-g03__measure-list {
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.thz-g03__measure-list li {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 14px;
  padding: 19px 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.thz-g03__measure-list li > span {
  color: var(--g03-gold-bright);
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 11px;
}

.thz-g03__measure-list h4 {
  margin: 0 0 5px;
  color: var(--g03-white);
  font-size: 13px;
  font-weight: 500;
}

.thz-g03__measure-list p {
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.75);
  font-size: 11px;
  line-height: 1.8;
}

.thz-g03__fit-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 27px;
  border-top: 1px solid rgba(255, 255, 255, 0.17);
  border-left: 1px solid rgba(255, 255, 255, 0.17);
}

.thz-g03__fit-grid article {
  min-height: 240px;
  padding: 35px 31px;
  border-right: 1px solid rgba(255, 255, 255, 0.17);
  border-bottom: 1px solid rgba(255, 255, 255, 0.17);
}

.thz-g03__fit-grid-item--standard {
  background: rgba(169, 138, 77, 0.13);
}

.thz-g03__fit-grid span {
  display: block;
  margin-bottom: 36px;
  color: var(--g03-gold-bright);
  font-size: 13px;
}

.thz-g03__fit-grid strong {
  display: block;
  margin-bottom: 17px;
  color: var(--g03-white);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 20px;
  font-weight: 400;
}

.thz-g03__fit-grid p {
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.75);
  font-size: 11px;
  line-height: 1.9;
}

.thz-g03__wrist-note {
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.66);
  font-size: 10px;
  line-height: 1.8;
}


/* =========================================================
   SCENE
========================================================= */

.thz-g03__section--scene {
  background: var(--g03-white);
}

.thz-g03__scene-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--g03-border);
  border-left: 1px solid var(--g03-border);
}

.thz-g03__scene-card {
  position: relative;
  min-height: 410px;
  padding: 40px 34px;
  border-right: 1px solid var(--g03-border);
  border-bottom: 1px solid var(--g03-border);
  background: var(--g03-white);
}

.thz-g03__scene-number {
  margin-bottom: 48px;
  color: var(--g03-gold);
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 13px;
}

.thz-g03__scene-label {
  margin-bottom: 11px;
  color: var(--g03-gold);
  font-family: Arial, sans-serif;
  font-size: 8px;
  letter-spacing: 0.23em;
}

.thz-g03__scene-card h3 {
  margin-bottom: 18px;
  color: var(--g03-black);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.6;
}

.thz-g03__scene-card > p:not(.thz-g03__scene-label) {
  margin-bottom: 34px;
  color: var(--g03-muted);
  font-size: 12px;
  line-height: 1.95;
}

.thz-g03__scene-choice {
  position: absolute;
  right: 34px;
  bottom: 35px;
  left: 34px;
  padding-top: 16px;
  border-top: 1px solid var(--g03-border);
}

.thz-g03__scene-choice span {
  display: block;
  margin-bottom: 5px;
  color: var(--g03-muted);
  font-size: 9px;
}

.thz-g03__scene-choice strong {
  color: var(--g03-gold);
  font-size: 12px;
  font-weight: 500;
}


/* =========================================================
   COMBINATION
========================================================= */

.thz-g03__section--combination {
  background: var(--g03-ivory);
}

.thz-g03__combination-list {
  display: grid;
  gap: 30px;
  margin-bottom: 70px;
}

.thz-g03__combination-item {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  min-height: 320px;
  background: var(--g03-white);
}

.thz-g03__combination-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 36px;
  padding: 45px;
  background:
    radial-gradient(
      circle at 50% 50%,
      rgba(169, 138, 77, 0.12),
      transparent 55%
    ),
    #eeece6;
}

.thz-g03__combination-visual > div {
  display: flex;
  width: 155px;
  height: 155px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid #c8b98f;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.7);
  text-align: center;
}

.thz-g03__combination-visual span {
  margin-bottom: 8px;
  color: var(--g03-gold);
  font-family: Arial, sans-serif;
  font-size: 7px;
  letter-spacing: 0.17em;
}

.thz-g03__combination-visual strong {
  color: var(--g03-black);
  font-size: 13px;
  font-weight: 500;
}

.thz-g03__combination-visual i {
  color: var(--g03-gold);
  font-size: 24px;
  font-style: normal;
}

.thz-g03__combination-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 55px;
}

.thz-g03__combination-copy > p {
  margin-bottom: 15px;
  color: var(--g03-gold);
  font-family: Arial, sans-serif;
  font-size: 8px;
  letter-spacing: 0.24em;
}

.thz-g03__combination-copy h3 {
  margin-bottom: 18px;
  color: var(--g03-black);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 27px;
  font-weight: 400;
}

.thz-g03__combination-copy > span {
  color: var(--g03-muted);
  font-size: 12px;
  line-height: 2;
}

.thz-g03__combination-note {
  max-width: 850px;
  padding: 65px 70px;
  margin-left: auto;
  color: var(--g03-white);
  background:
    radial-gradient(
      circle at 100% 0,
      rgba(169, 138, 77, 0.16),
      transparent 40%
    ),
    var(--g03-deep);
}

.thz-g03__combination-note p {
  margin-bottom: 16px;
  color: var(--g03-gold-bright);
  font-family: Arial, sans-serif;
  font-size: 8px;
  letter-spacing: 0.27em;
}

.thz-g03__combination-note h3 {
  margin-bottom: 20px;
  color: var(--g03-white);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.7;
}

.thz-g03__combination-note span {
  display: block;
  color: rgba(255, 255, 255, 0.82);
  font-size: 13px;
  line-height: 2;
}


/* =========================================================
   COMPARISON TABLE
========================================================= */

.thz-g03__section--comparison {
  color: var(--g03-white);
  background: var(--g03-deep);
}

.thz-g03__comparison-scroll {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.thz-g03__comparison-table {
  width: 100%;
  min-width: 850px;
  border-collapse: collapse;
  background: var(--g03-deep-soft);
}

.thz-g03__comparison-table th,
.thz-g03__comparison-table td {
  padding: 24px 20px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: rgba(255, 255, 255, 0.80);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.7;
  text-align: center;
  vertical-align: middle;
}

.thz-g03__comparison-table thead th {
  color: var(--g03-gold-bright);
  background: #181817;
  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: 0.14em;
}

.thz-g03__comparison-table tbody th {
  min-width: 175px;
  color: var(--g03-white);
  text-align: left;
}

.thz-g03__comparison-table tbody th span {
  display: block;
  margin-bottom: 5px;
  color: var(--g03-gold-bright);
  font-family: Arial, sans-serif;
  font-size: 7px;
  letter-spacing: 0.19em;
}

.thz-g03__comparison-table td strong {
  color: var(--g03-gold-bright);
  font-size: 18px;
  font-weight: 400;
}

.thz-g03__comparison-note {
  margin: 25px 0 0;
  color: rgba(255, 255, 255, 0.65);
  font-size: 10px;
  line-height: 1.8;
}


/* =========================================================
   SUPPORT
========================================================= */

.thz-g03__support {
  position: relative;
  padding: 145px 0;
  overflow: hidden;
  color: var(--g03-white);
  background:
    radial-gradient(
      circle at 50% 0,
      rgba(169, 138, 77, 0.17),
      transparent 35%
    ),
    #161616;
}

.thz-g03__support::after {
  content: "SELECT";
  position: absolute;
  right: -20px;
  bottom: -35px;
  color: rgba(255, 255, 255, 0.025);
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: clamp(100px, 18vw, 250px);
  line-height: 1;
  pointer-events: none;
}

.thz-g03__support-kicker {
  position: relative;
  z-index: 1;
  margin-bottom: 23px;
  color: var(--g03-gold-bright);
  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: 0.3em;
  text-align: center;
}

.thz-g03__support > div > h2 {
  position: relative;
  z-index: 1;
  margin-bottom: 80px;
  color: var(--g03-white);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(36px, 5.4vw, 62px);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.08em;
  text-align: center;
}

.thz-g03__support-steps {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0 auto 80px;
}

.thz-g03__support-steps::before {
  content: "";
  position: absolute;
  top: 25px;
  bottom: 25px;
  left: 28px;
  width: 1px;
  background:
    linear-gradient(
      to bottom,
      transparent,
      rgba(216, 191, 130, 0.45) 10%,
      rgba(216, 191, 130, 0.45) 90%,
      transparent
    );
}

.thz-g03__support-steps article {
  position: relative;
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 37px;
  padding-bottom: 52px;
}

.thz-g03__support-steps article:last-child {
  padding-bottom: 0;
}

.thz-g03__support-steps article > span {
  position: relative;
  z-index: 2;
  display: flex;
  width: 58px;
  height: 58px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(216, 191, 130, 0.58);
  border-radius: 50%;
  color: var(--g03-gold-bright);
  background: #161616;
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 11px;
}

.thz-g03__support-steps article > div {
  padding: 2px 0 30px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.13);
}

.thz-g03__support-steps small {
  display: block;
  margin-bottom: 6px;
  color: var(--g03-gold-bright);
  font-family: Arial, sans-serif;
  font-size: 8px;
  letter-spacing: 0.24em;
}

.thz-g03__support-steps h3 {
  margin-bottom: 10px;
  color: var(--g03-white);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 25px;
  font-weight: 400;
}

.thz-g03__support-steps p {
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.79);
  font-size: 12px;
  line-height: 1.9;
}

.thz-g03__support-message {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 0 auto 55px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 14px;
  line-height: 2.2;
  text-align: center;
}

.thz-g03__support-message p {
  margin-bottom: 22px;
}

.thz-g03__support-message p:last-child {
  margin-bottom: 0;
}

.thz-g03__support-links {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 13px;
  max-width: 650px;
  margin: 0 auto;
}

.thz-g03__support-button {
  display: flex;
  min-height: 66px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 0 24px;
  font-size: 11px;
  transition:
    color 0.25s ease,
    border-color 0.25s ease,
    background 0.25s ease;
}

.thz-g03__support-button i {
  font-size: 18px;
  font-style: normal;
}

.thz-g03__support-button--main {
  color: var(--g03-deep);
  background: var(--g03-gold-bright);
}

.thz-g03__support-button--main:hover {
  color: var(--g03-white);
  background: var(--g03-gold);
}

.thz-g03__support-button--sub {
  border: 1px solid rgba(255, 255, 255, 0.34);
  color: var(--g03-white);
}

.thz-g03__support-button--sub:hover {
  border-color: var(--g03-gold-bright);
  color: var(--g03-gold-bright);
}


/* =========================================================
   NEXT GUIDE
========================================================= */

.thz-g03__next-guide {
  padding: 120px 0;
  background: var(--g03-white);
}

.thz-g03__next-guide-inner {
  display: grid;
  grid-template-columns: 1fr 350px;
  gap: 80px;
  align-items: center;
  padding: 75px;
  border: 1px solid var(--g03-border);
}

.thz-g03__next-guide-copy > p {
  margin-bottom: 13px;
  color: var(--g03-gold);
  font-family: Arial, sans-serif;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.28em;
}

.thz-g03__next-guide-copy > span {
  display: block;
  margin-bottom: 25px;
  color: var(--g03-muted);
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 12px;
  letter-spacing: 0.13em;
}

.thz-g03__next-guide-copy h2 {
  margin-bottom: 22px;
  color: var(--g03-black);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(27px, 3.8vw, 42px);
  font-weight: 400;
  line-height: 1.6;
}

.thz-g03__next-guide-copy small {
  display: block;
  max-width: 650px;
  color: var(--g03-muted);
  font-size: 12px;
  line-height: 1.9;
}

.thz-g03__next-guide-links {
  display: grid;
  gap: 13px;
}

.thz-g03__next-button {
  display: flex;
  min-height: 66px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 0 25px;
  font-size: 12px;
  transition:
    color 0.25s ease,
    border-color 0.25s ease,
    background 0.25s ease;
}

.thz-g03__next-button i {
  font-size: 18px;
  font-style: normal;
}

.thz-g03__next-button--main {
  color: var(--g03-white);
  background: var(--g03-deep);
}

.thz-g03__next-button--main:hover {
  background: var(--g03-gold);
}

.thz-g03__next-button--sub {
  border: 1px solid var(--g03-border);
  color: var(--g03-text);
  background: var(--g03-white);
}

.thz-g03__next-button--sub:hover {
  border-color: var(--g03-gold);
  color: var(--g03-gold);
}


/* =========================================================
   GUIDE NAVIGATION
========================================================= */

.thz-g03__guide-nav {
  padding: 105px 0;
  background: #f1efe9;
}

.thz-g03__guide-nav-header {
  margin-bottom: 45px;
  text-align: center;
}

.thz-g03__guide-nav-header p {
  margin-bottom: 12px;
  color: var(--g03-gold);
  font-family: Arial, sans-serif;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.29em;
}

.thz-g03__guide-nav-header h2 {
  margin-bottom: 0;
  color: var(--g03-black);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(24px, 3.5vw, 36px);
  font-weight: 400;
  letter-spacing: 0.06em;
}

.thz-g03__guide-nav-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-top: 1px solid var(--g03-border);
  border-left: 1px solid var(--g03-border);
}

.thz-g03__guide-nav-item {
  display: flex;
  min-height: 220px;
  flex-direction: column;
  padding: 31px 25px;
  border-right: 1px solid var(--g03-border);
  border-bottom: 1px solid var(--g03-border);
  background: var(--g03-white);
  transition:
    background 0.25s ease,
    transform 0.25s ease;
}

.thz-g03__guide-nav-item:hover {
  position: relative;
  z-index: 2;
  background: #f7f3ea;
  transform: translateY(-4px);
}

.thz-g03__guide-nav-item > span {
  margin-bottom: auto;
  color: var(--g03-gold);
  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: 0.18em;
}

.thz-g03__guide-nav-item strong {
  display: block;
  margin-bottom: 9px;
  color: var(--g03-black);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
}

.thz-g03__guide-nav-item small {
  color: var(--g03-muted);
  font-size: 10px;
  line-height: 1.6;
}

.thz-g03__guide-nav-item--current {
  color: var(--g03-white);
  background: var(--g03-deep);
}

.thz-g03__guide-nav-item--current:hover {
  background: var(--g03-deep);
  transform: none;
}

.thz-g03__guide-nav-item--current > span {
  color: var(--g03-gold-bright);
}

.thz-g03__guide-nav-item--current strong {
  color: var(--g03-white);
}

.thz-g03__guide-nav-item--current small {
  color: rgba(255, 255, 255, 0.72);
}


/* =========================================================
   TABLET
========================================================= */

@media screen and (max-width: 1050px) {

  .thz-g03__type-grid {
    gap: 35px 22px;
  }

  .thz-g03__bead-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .thz-g03__scene-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .thz-g03__guide-nav-grid {
    grid-template-columns: repeat(2, 1fr);
  }

}


/* =========================================================
   SMALL TABLET
========================================================= */

@media screen and (max-width: 850px) {

  .thz-g03__type-grid {
    grid-template-columns: 1fr;
  }

  .thz-g03__bead-intro {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .thz-g03__wrist-layout {
    grid-template-columns: 1fr;
  }

  .thz-g03__wrist-image,
  .thz-g03__wrist-image img {
    min-height: 500px;
  }

  .thz-g03__combination-item {
    grid-template-columns: 1fr;
  }

  .thz-g03__next-guide-inner {
    grid-template-columns: 1fr;
  }

  .thz-g03__next-guide-links {
    max-width: 430px;
  }

}


/* =========================================================
   SMARTPHONE
========================================================= */

@media screen and (max-width: 767px) {

  .thz-g03 {
    font-size: 15px;
  }

  .thz-g03__container,
  .thz-g03__container--narrow {
    width: calc(100% - 36px);
  }


  /* HERO */

  .thz-g03__hero {
    min-height: 650px;
  }

  .thz-g03__hero::before {
    right: 20%;
  }

  .thz-g03__hero::after {
    right: -200px;
    bottom: -250px;
  }

  .thz-g03__hero-decoration span {
    right: -25px;
    bottom: 40px;
    font-size: 92px;
  }

  .thz-g03__hero-inner {
    padding-top: 90px;
    padding-bottom: 100px;
  }

  .thz-g03__eyebrow {
    font-size: 9px;
    letter-spacing: 0.25em;
  }

  .thz-g03__hero-subtitle {
    margin-bottom: 19px;
    font-size: 12px;
  }

  .thz-g03__hero-title {
    margin-bottom: 29px;
    font-size: 38px;
    line-height: 1.5;
  }

  .thz-g03__hero-lead {
    font-size: 12px;
    line-height: 2;
  }

  .thz-g03__hero-lead br {
    display: none;
  }

  .thz-g03__hero-scroll {
    bottom: 38px;
  }


  /* INTRO */

  .thz-g03__intro {
    padding: 88px 0;
  }

  .thz-g03__intro-title {
    margin-bottom: 32px;
    font-size: 30px;
  }

  .thz-g03__intro-text {
    font-size: 13px;
    line-height: 2.05;
  }


  /* CONTENTS */

  .thz-g03__contents {
    padding: 60px 0;
  }

  .thz-g03__contents-header {
    display: block;
  }

  .thz-g03__contents-header span {
    display: block;
    margin-bottom: 8px;
  }

  .thz-g03__contents-list {
    grid-template-columns: 1fr;
  }

  .thz-g03__contents-list a {
    min-height: 115px;
    padding: 22px;
  }

  .thz-g03__contents-list a > span {
    margin-bottom: 20px;
  }


  /* COMMON */

  .thz-g03__section {
    padding: 88px 0;
  }

  .thz-g03__section-header {
    grid-template-columns: 1fr;
    margin-bottom: 48px;
  }

  .thz-g03__section-number {
    margin-bottom: 20px;
  }

  .thz-g03__section-number span {
    font-size: 15px;
  }

  .thz-g03__section-heading h2 {
    font-size: 29px;
    line-height: 1.6;
  }

  .thz-g03__section-heading > span {
    font-size: 11px;
  }


  /* TYPE */

  .thz-g03__type-photo,
  .thz-g03__type-photo img {
    min-height: 330px;
    height: 330px;
  }

  .thz-g03__type-content {
    padding: 34px 25px;
  }

  .thz-g03__type-content h3 {
    font-size: 26px;
  }


  /* MESSAGE */

  .thz-g03__choice-message {
    padding: 95px 0;
  }

  .thz-g03__choice-message h2 {
    font-size: 32px;
  }

  .thz-g03__choice-message > div > span {
    font-size: 12px;
  }

  .thz-g03__choice-message br {
    display: none;
  }


  /* BEADS */

  .thz-g03__bead-grid {
    grid-template-columns: 1fr;
  }

  .thz-g03__bead-intro-copy h3 {
    font-size: 27px;
  }

  .thz-g03__bead-content > p {
    min-height: 0;
  }

  .thz-g03__notice {
    grid-template-columns: 1fr;
  }

  .thz-g03__notice-label {
    justify-content: flex-start;
    padding: 21px 24px;
    border-right: 0;
    border-bottom: 1px solid #d7c69e;
  }

  .thz-g03__notice-content {
    padding: 28px 24px;
  }


  /* WRIST */

  .thz-g03__wrist-image,
  .thz-g03__wrist-image img {
    min-height: 360px;
  }

  .thz-g03__wrist-content {
    padding: 42px 27px;
  }

  .thz-g03__wrist-content > h3 {
    font-size: 25px;
  }

  .thz-g03__fit-grid {
    grid-template-columns: 1fr;
  }

  .thz-g03__fit-grid article {
    min-height: auto;
    padding: 28px 25px;
  }

  .thz-g03__fit-grid span {
    margin-bottom: 20px;
  }


  /* SCENE */

  .thz-g03__scene-grid {
    grid-template-columns: 1fr;
  }

  .thz-g03__scene-card {
    min-height: 380px;
    padding: 31px 26px;
  }

  .thz-g03__scene-number {
    margin-bottom: 34px;
  }

  .thz-g03__scene-choice {
    right: 26px;
    bottom: 28px;
    left: 26px;
  }


  /* COMBINATION */

  .thz-g03__combination-visual {
    gap: 14px;
    padding: 38px 17px;
  }

  .thz-g03__combination-visual > div {
    width: 112px;
    height: 112px;
  }

  .thz-g03__combination-visual strong {
    font-size: 11px;
  }

  .thz-g03__combination-copy {
    padding: 38px 27px;
  }

  .thz-g03__combination-copy h3 {
    font-size: 24px;
  }

  .thz-g03__combination-note {
    padding: 48px 28px;
  }

  .thz-g03__combination-note h3 {
    font-size: 24px;
  }


  /* COMPARISON */

  .thz-g03__comparison-scroll {
    padding-bottom: 10px;
  }

  .thz-g03__comparison-scroll::after {
    content: "横へスクロールして比較できます";
    display: block;
    margin-top: 14px;
    color: rgba(255, 255, 255, 0.62);
    font-size: 9px;
    text-align: right;
  }


  /* SUPPORT */

  .thz-g03__support {
    padding: 100px 0;
  }

  .thz-g03__support > div > h2 {
    margin-bottom: 58px;
    font-size: 35px;
  }

  .thz-g03__support-steps::before {
    left: 24px;
  }

  .thz-g03__support-steps article {
    grid-template-columns: 50px 1fr;
    gap: 20px;
    padding-bottom: 40px;
  }

  .thz-g03__support-steps article > span {
    width: 50px;
    height: 50px;
  }

  .thz-g03__support-steps h3 {
    font-size: 21px;
  }

  .thz-g03__support-message {
    font-size: 13px;
    line-height: 2.1;
    text-align: left;
  }

  .thz-g03__support-links {
    grid-template-columns: 1fr;
  }


  /* NEXT GUIDE */

  .thz-g03__next-guide {
    padding: 80px 0;
  }

  .thz-g03__next-guide-inner {
    gap: 42px;
    padding: 42px 27px;
  }

  .thz-g03__next-guide-copy h2 {
    font-size: 27px;
  }

  .thz-g03__next-button {
    padding: 0 20px;
    font-size: 11px;
  }


  /* GUIDE NAV */

  .thz-g03__guide-nav {
    padding: 80px 0;
  }

  .thz-g03__guide-nav-grid {
    grid-template-columns: 1fr;
  }

  .thz-g03__guide-nav-item {
    min-height: 145px;
    padding: 25px;
  }

  .thz-g03__guide-nav-item > span {
    margin-bottom: 25px;
  }

}
/* =========================================================
   Guide03 ショップサーブ干渉修正版
   文字色・ボタン・リスト表示
========================================================= */


/* ---------------------------------------------------------
   1. 暗い背景部分の文字を確実に明るくする
--------------------------------------------------------- */

.thz-g03__section--wrist,
.thz-g03__section--comparison,
.thz-g03__choice-message,
.thz-g03__support {
  color: #ffffff !important;
}

.thz-g03__section--wrist p,
.thz-g03__section--wrist span,
.thz-g03__section--comparison p,
.thz-g03__section--comparison span,
.thz-g03__choice-message span,
.thz-g03__support p,
.thz-g03__support span {
  color: rgba(255, 255, 255, 0.84) !important;
}

.thz-g03__section--wrist h2,
.thz-g03__section--wrist h3,
.thz-g03__section--wrist h4,
.thz-g03__section--comparison h2,
.thz-g03__section--comparison h3,
.thz-g03__choice-message h2,
.thz-g03__support h2,
.thz-g03__support h3 {
  color: #ffffff !important;
}


/* 「迷ったときは」の本文 */
.thz-g03__support-message,
.thz-g03__support-message p {
  color: rgba(255, 255, 255, 0.90) !important;
}


/* 3ステップ内の説明 */
.thz-g03__support-steps p {
  color: rgba(255, 255, 255, 0.82) !important;
}


/* ---------------------------------------------------------
   2. NEXT GUIDEのボタン文字色を修正
--------------------------------------------------------- */

.thz-g03__next-button--main,
.thz-g03__next-button--main span,
.thz-g03__next-button--main i {
  color: #ffffff !important;
}

.thz-g03__next-button--sub,
.thz-g03__next-button--sub span,
.thz-g03__next-button--sub i {
  color: #2f2d29 !important;
}

.thz-g03__next-button--main:hover,
.thz-g03__next-button--main:hover span,
.thz-g03__next-button--main:hover i {
  color: #ffffff !important;
}

.thz-g03__next-button--sub:hover,
.thz-g03__next-button--sub:hover span,
.thz-g03__next-button--sub:hover i {
  color: #a98a4d !important;
}


/* NEXT GUIDE左側本文 */
.thz-g03__next-guide-copy h2 {
  color: #161616 !important;
}

.thz-g03__next-guide-copy small {
  color: #706c65 !important;
}

.thz-g03__next-guide-copy > p {
  color: #a98a4d !important;
}

.thz-g03__next-guide-copy > span {
  color: #68645d !important;
}


/* ---------------------------------------------------------
   3. 商品カード内リストの崩れを完全リセット
--------------------------------------------------------- */

.thz-g03__type-content ul,
.thz-g03__type-content ul li {
  margin: 0 !important;
  padding-left: 0 !important;
  list-style: none !important;
  list-style-type: none !important;
  background-image: none !important;
}

.thz-g03__type-content ul {
  padding: 0 !important;
  margin: 0 0 29px !important;
  border-top: 1px solid var(--g03-border);
}

.thz-g03__type-content ul li {
  position: relative !important;
  display: block !important;
  padding: 11px 5px 11px 22px !important;
  border-bottom: 1px solid var(--g03-border);
  color: #5f5b54 !important;
  font-size: 12px !important;
  line-height: 1.7 !important;
  text-indent: 0 !important;
}


/* ショップサーブ側のマーカーを消す */
.thz-g03__type-content ul li::marker {
  content: "" !important;
  font-size: 0 !important;
}

.thz-g03__type-content ul li::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 3px !important;
  display: block !important;
  width: 5px !important;
  height: 5px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #a98a4d !important;
  transform: translateY(-50%) !important;
}

.thz-g03__type-content ul li::after {
  content: none !important;
  display: none !important;
}


/* ---------------------------------------------------------
   4. ブレスレット粒サイズ内のリストも修正
--------------------------------------------------------- */

.thz-g03__bead-content ul,
.thz-g03__bead-content ul li {
  margin: 0 !important;
  padding-left: 0 !important;
  list-style: none !important;
  list-style-type: none !important;
  background-image: none !important;
}

.thz-g03__bead-content ul {
  padding: 0 !important;
  border-top: 1px solid var(--g03-border);
}

.thz-g03__bead-content ul li {
  position: relative !important;
  padding: 9px 4px 9px 18px !important;
  border-bottom: 1px solid var(--g03-border);
  color: #625e57 !important;
  font-size: 10px !important;
  line-height: 1.7 !important;
  text-indent: 0 !important;
}

.thz-g03__bead-content ul li::marker {
  content: "" !important;
  font-size: 0 !important;
}

.thz-g03__bead-content ul li::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 2px !important;
  display: block !important;
  width: 4px !important;
  height: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #a98a4d !important;
  transform: translateY(-50%) !important;
}

.thz-g03__bead-content ul li::after {
  content: none !important;
  display: none !important;
}


/* ---------------------------------------------------------
   5. 商品カードのボタン表示
--------------------------------------------------------- */

.thz-g03__type-content > a,
.thz-g03__type-content > a span,
.thz-g03__type-content > a i {
  color: #302e2a !important;
}

.thz-g03__type-content > a:hover,
.thz-g03__type-content > a:hover span,
.thz-g03__type-content > a:hover i {
  color: #a98a4d !important;
}


/* ---------------------------------------------------------
   6. スマートフォン微調整
--------------------------------------------------------- */

@media screen and (max-width: 767px) {

  .thz-g03__support-message,
  .thz-g03__support-message p {
    color: rgba(255, 255, 255, 0.92) !important;
  }

  .thz-g03__type-content ul li {
    padding: 10px 3px 10px 20px !important;
    font-size: 11px !important;
  }

  .thz-g03__type-content ul li::before {
    left: 2px !important;
  }

  .thz-g03__next-button--main span,
  .thz-g03__next-button--sub span {
    font-size: 11px !important;
  }

}



/* =========================================================
   GOLD STONE TERAHERTZ GUIDE 04
   CARE & MAINTENANCE GUIDE
   Prefix: thz-g04
========================================================= */


/* =========================================================
   RESET / VARIABLES
========================================================= */

.thz-g04,
.thz-g04 * {
  box-sizing: border-box;
}

.thz-g04 {
  --g04-black: #161616;
  --g04-deep: #1d1d1c;
  --g04-deep-soft: #282725;
  --g04-text: #3d3b37;
  --g04-muted: #77736c;
  --g04-gold: #a98a4d;
  --g04-gold-bright: #d8bf82;
  --g04-gold-pale: #f4efe3;
  --g04-ivory: #f8f7f3;
  --g04-gray: #efeee9;
  --g04-border: #dedbd3;
  --g04-white: #ffffff;

  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  color: var(--g04-text);
  background: var(--g04-white);

  font-family:
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Yu Gothic",
    "Meiryo",
    sans-serif;

  font-size: 16px;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.thz-g04 img {
  display: block;
  width: 100%;
  height: auto;
}

.thz-g04 a {
  color: inherit;
  text-decoration: none;
}

.thz-g04 h1,
.thz-g04 h2,
.thz-g04 h3,
.thz-g04 h4,
.thz-g04 p,
.thz-g04 ol,
.thz-g04 ul,
.thz-g04 dl,
.thz-g04 dd {
  margin-top: 0;
}

.thz-g04__container {
  width: min(1160px, calc(100% - 56px));
  margin-right: auto;
  margin-left: auto;
}

.thz-g04__container--narrow {
  width: min(850px, calc(100% - 56px));
}


/* =========================================================
   HERO
========================================================= */

.thz-g04__hero {
  position: relative;
  display: flex;
  min-height: 760px;
  align-items: center;
  overflow: hidden;
  color: var(--g04-white);

  background:
    radial-gradient(
      circle at 78% 25%,
      rgba(184, 151, 84, 0.18),
      transparent 35%
    ),
    linear-gradient(
      135deg,
      #111111 0%,
      #242321 58%,
      #171717 100%
    );

  isolation: isolate;
}

.thz-g04__hero::before {
  content: "";
  position: absolute;
  top: 0;
  right: 15%;

  width: 1px;
  height: 100%;

  background:
    linear-gradient(
      to bottom,
      transparent,
      rgba(216, 191, 130, 0.28),
      transparent
    );
}

.thz-g04__hero::after {
  content: "";
  position: absolute;
  right: -140px;
  bottom: -210px;

  width: 570px;
  height: 570px;

  border: 1px solid rgba(216, 191, 130, 0.09);
  border-radius: 50%;
}

.thz-g04__hero-decoration {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}

.thz-g04__hero-decoration span {
  position: absolute;
  right: -20px;
  bottom: -35px;

  color: rgba(255, 255, 255, 0.025);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: clamp(130px, 20vw, 300px);
  line-height: 1;
  letter-spacing: -0.05em;
}

.thz-g04__hero-inner {
  position: relative;
  z-index: 2;

  padding-top: 110px;
  padding-bottom: 110px;
}

.thz-g04__eyebrow {
  margin-bottom: 24px;

  color: var(--g04-gold-bright);

  font-family: Arial, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.32em;
}

.thz-g04__hero-subtitle {
  margin-bottom: 22px;

  color: rgba(255, 255, 255, 0.74);

  font-size: 14px;
  letter-spacing: 0.15em;
}

.thz-g04__hero-title {
  max-width: 900px;
  margin-bottom: 35px;

  color: var(--g04-white);

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(45px, 6.5vw, 83px);
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0.075em;
}

.thz-g04__hero-lead {
  max-width: 720px;
  margin-bottom: 0;

  color: rgba(255, 255, 255, 0.82);

  font-size: 14px;
  line-height: 2.15;
}

.thz-g04__hero-scroll {
  position: absolute;
  left: 0;
  bottom: 55px;

  display: flex;
  align-items: center;
  gap: 18px;
}

.thz-g04__hero-scroll span {
  color: rgba(255, 255, 255, 0.48);


  font-family: Arial, sans-serif;
  font-size: 8px;
  letter-spacing: 0.25em;
}

.thz-g04__hero-scroll i {
  display: block;
  width: 75px;
  height: 1px;

  background:
    linear-gradient(
      to right,
      var(--g04-gold),
      rgba(169, 138, 77, 0)
    );
}


/* =========================================================
   INTRODUCTION
========================================================= */

.thz-g04__intro {
  padding: 140px 0;
  background: var(--g04-white);
}

.thz-g04__section-kicker {
  margin-bottom: 26px;

  color: var(--g04-gold);

  font-family: Arial, sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.3em;
}

.thz-g04__intro-title {
  margin-bottom: 45px;

  color: var(--g04-black);

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(32px, 4.6vw, 53px);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.08em;
}

.thz-g04__intro-text {
  max-width: 790px;

  color: #56534d;

  font-size: 15px;
  line-height: 2.2;
}

.thz-g04__intro-text p {
  margin-bottom: 25px;
}

.thz-g04__intro-text p:last-child {
  margin-bottom: 0;
}


/* =========================================================
   CONTENTS
========================================================= */

.thz-g04__contents {
  padding: 82px 0;

  border-top: 1px solid var(--g04-border);
  border-bottom: 1px solid var(--g04-border);

  background: var(--g04-ivory);
}

.thz-g04__contents-header {
  display: flex;
  align-items: baseline;
  gap: 25px;

  margin-bottom: 34px;
}

.thz-g04__contents-header span {
  color: var(--g04-gold);

  font-family: Arial, sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.27em;
}

.thz-g04__contents-header p {
  margin-bottom: 0;

  color: var(--g04-muted);

  font-size: 12px;
}

/* ショップサーブ既存のol連番を解除 */

.thz-g04__contents-list,
.thz-g04__contents-list > li {
  margin: 0 !important;
  padding: 0 !important;

  list-style: none !important;
  list-style-type: none !important;

  counter-reset: none !important;
  counter-increment: none !important;
}

.thz-g04__contents-list > li::marker {
  content: "" !important;
  font-size: 0 !important;
}

.thz-g04__contents-list > li::before,
.thz-g04__contents-list > li::after {
  content: none !important;
  display: none !important;
}

.thz-g04__contents-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));

  border-top: 1px solid var(--g04-border);
  border-left: 1px solid var(--g04-border);
}

.thz-g04__contents-list a {
  display: flex;
  min-height: 175px;
  flex-direction: column;

  padding: 26px 23px;

  border-right: 1px solid var(--g04-border);
  border-bottom: 1px solid var(--g04-border);

  background: var(--g04-white);

  transition:
    background 0.25s ease,
    transform 0.25s ease;
}

.thz-g04__contents-list a:hover {
  position: relative;
  z-index: 2;

  background: #f4f0e7;
  transform: translateY(-4px);
}

.thz-g04__contents-list a > span {
  margin-bottom: auto;

  color: var(--g04-gold);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 12px;
}

.thz-g04__contents-list strong {
  display: block;
  margin-bottom: 8px;

  color: var(--g04-black);

  font-size: 13px;
  font-weight: 500;
  line-height: 1.55;
}

.thz-g04__contents-list small {
  color: var(--g04-muted);

  font-size: 9px;
  line-height: 1.6;
}


/* =========================================================
   COMMON SECTION
========================================================= */

.thz-g04__section {
  padding: 135px 0;
  scroll-margin-top: 90px;
}

.thz-g04__section-header {
  display: grid;
  grid-template-columns: 110px 1fr;

  margin-bottom: 78px;
}

.thz-g04__section-number {
  padding-top: 3px;
}

.thz-g04__section-number span {
  color: var(--g04-gold);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 18px;
  letter-spacing: 0.08em;
}

.thz-g04__section-heading > p {
  margin-bottom: 13px;

  color: var(--g04-gold);

  font-family: Arial, sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.28em;
}

.thz-g04__section-heading h2 {
  margin-bottom: 18px;

  color: var(--g04-black);

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(31px, 4.5vw, 50px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.075em;
}

.thz-g04__section-heading > span {
  color: var(--g04-muted);

  font-size: 13px;
  line-height: 1.8;
}

.thz-g04__section-header--dark .thz-g04__section-heading h2 {
  color: var(--g04-white) !important;
}

.thz-g04__section-header--dark .thz-g04__section-heading > span {
  color: rgba(255, 255, 255, 0.78) !important;
}


/* =========================================================
   PHOTO PLACEHOLDER
========================================================= */

.thz-g04__photo-placeholder {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: inherit;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  padding: 40px;

  color: #716e67;

  background:
    linear-gradient(
      135deg,
      #e8e6e0 0%,
      #f6f5f1 100%
    );

  text-align: center;
}

.thz-g04__photo-placeholder::before {
  content: "";

  width: 46px;
  height: 1px;
  margin-bottom: 22px;

  background: var(--g04-gold);
}

.thz-g04__photo-placeholder span {
  margin-bottom: 10px;

  color: var(--g04-gold);

  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: 0.27em;
}

.thz-g04__photo-placeholder strong {
  margin-bottom: 7px;

  color: #4c4944;

  font-size: 14px;
  font-weight: 500;
}

.thz-g04__photo-placeholder small {
  color: #8e8a82;

  font-size: 10px;
}

.thz-g04__basic-photo img + .thz-g04__photo-placeholder,
.thz-g04__storage-photo img + .thz-g04__photo-placeholder,
.thz-g04__bracelet-photo img + .thz-g04__photo-placeholder {
  display: none;
}


/* =========================================================
   BASIC CARE
========================================================= */

.thz-g04__section--basic {
  background: var(--g04-white);
}

.thz-g04__basic-layout {
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  min-height: 600px;
  margin-bottom: 80px;
}

.thz-g04__basic-photo {
  min-height: 600px;
  overflow: hidden;

  background: var(--g04-gray);
}

.thz-g04__basic-photo img {
  width: 100%;
  height: 100%;
  min-height: 600px;

  object-fit: cover;
}

.thz-g04__basic-content {
  display: flex;
  flex-direction: column;
  justify-content: center;

  padding: 65px;

  background: var(--g04-ivory);
}

.thz-g04__basic-kicker {
  margin-bottom: 22px;

  color: var(--g04-gold);

  font-family: Arial, sans-serif;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.27em;
}

.thz-g04__basic-content h3 {
  margin-bottom: 30px;

  color: var(--g04-black);

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(25px, 3.5vw, 38px);
  font-weight: 400;
  line-height: 1.7;
}

.thz-g04__basic-content > p:not(.thz-g04__basic-kicker) {
  margin-bottom: 20px;

  color: #615d56;

  font-size: 13px;
  line-height: 2;
}

.thz-g04__basic-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);

  margin-bottom: 60px;

  border-top: 1px solid var(--g04-border);
  border-left: 1px solid var(--g04-border);
}

.thz-g04__basic-steps article {
  min-height: 245px;

  padding: 34px 29px;

  border-right: 1px solid var(--g04-border);
  border-bottom: 1px solid var(--g04-border);
}

.thz-g04__basic-steps article > span {
  display: block;
  margin-bottom: 42px;

  color: var(--g04-gold);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 13px;
}

.thz-g04__basic-steps small {
  display: block;
  margin-bottom: 7px;


  color: var(--g04-gold);

  font-family: Arial, sans-serif;
  font-size: 8px;
  letter-spacing: 0.22em;
}

.thz-g04__basic-steps h3 {
  margin-bottom: 12px;

  color: var(--g04-black);

  font-size: 16px;
  font-weight: 500;
}

.thz-g04__basic-steps p {
  margin-bottom: 0;

  color: var(--g04-muted);

  font-size: 11px;
  line-height: 1.9;
}


/* NOTICE */

.thz-g04__notice {
  display: grid;
  grid-template-columns: 160px 1fr;

  border: 1px solid #d7c69e;

  background: var(--g04-gold-pale);
}

.thz-g04__notice-label {
  display: flex;
  align-items: center;
  justify-content: center;

  border-right: 1px solid #d7c69e;

  color: var(--g04-gold);

  font-family: Arial, sans-serif;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.24em;
}

.thz-g04__notice-content {
  padding: 35px 42px;
}

.thz-g04__notice-content h3 {
  margin-bottom: 12px;

  color: var(--g04-black);

  font-size: 16px;
  font-weight: 500;
}

.thz-g04__notice-content p {
  margin-bottom: 0;

  color: #625c51;

  font-size: 12px;
  line-height: 1.95;
}


/* =========================================================
   MATERIAL
========================================================= */

.thz-g04__section--material {
  background: var(--g04-ivory);
}

.thz-g04__material-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);

  border-top: 1px solid var(--g04-border);
  border-left: 1px solid var(--g04-border);
}

.thz-g04__material-card {
  min-height: 490px;
  padding: 38px 32px;

  border-right: 1px solid var(--g04-border);
  border-bottom: 1px solid var(--g04-border);

  background: var(--g04-white);
}

.thz-g04__material-number {
  margin-bottom: 42px;

  color: var(--g04-gold);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 13px;
}

.thz-g04__material-label {
  margin-bottom: 10px;

  color: var(--g04-gold);

  font-family: Arial, sans-serif;
  font-size: 8px;
  letter-spacing: 0.22em;
}

.thz-g04__material-card h3 {
  margin-bottom: 19px;

  color: var(--g04-black);

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: 22px;
  font-weight: 400;
  line-height: 1.65;
}

.thz-g04__material-card > p:not(.thz-g04__material-label) {
  min-height: 120px;
  margin-bottom: 25px;

  color: var(--g04-muted);

  font-size: 12px;
  line-height: 1.95;
}

.thz-g04__material-card dl {
  margin-bottom: 0;

  border-top: 1px solid var(--g04-border);
}

.thz-g04__material-card dl > div {
  padding: 12px 0;

  border-bottom: 1px solid var(--g04-border);
}

.thz-g04__material-card dt {
  margin-bottom: 3px;

  color: var(--g04-gold);

  font-size: 9px;
}

.thz-g04__material-card dd {
  margin-bottom: 0;

  color: #605c55;

  font-size: 11px;
  line-height: 1.7;
}


/* =========================================================
   WATER CARE
========================================================= */

.thz-g04__section--water {
  color: var(--g04-white);

  background:
    radial-gradient(
      circle at 85% 5%,
      rgba(169, 138, 77, 0.14),
      transparent 31%
    ),
    var(--g04-deep);
}

.thz-g04__water-intro {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 90px;

  margin-bottom: 70px;
}

.thz-g04__water-kicker {
  margin-bottom: 20px;

  color: var(--g04-gold-bright);

  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: 0.27em;
}

.thz-g04__water-copy h3 {
  margin-bottom: 0;

  color: var(--g04-white);

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(26px, 3.7vw, 41px);
  font-weight: 400;
  line-height: 1.75;
}

.thz-g04__water-text {
  color: rgba(255, 255, 255, 0.82);

  font-size: 14px;
  line-height: 2.1;
}

.thz-g04__water-text p {
  margin-bottom: 22px;
}

.thz-g04__water-text p:last-child {
  margin-bottom: 0;
}

.thz-g04__water-grid {
  display: grid;

  grid-template-columns: repeat(2, 1fr);

  gap: 24px;
  margin-bottom: 55px;
}

.thz-g04__water-card {
  min-height: 460px;
  padding: 50px 45px;

  border: 1px solid rgba(255, 255, 255, 0.18);

  background: var(--g04-deep-soft);
}

.thz-g04__water-card--possible {
  border-top: 3px solid var(--g04-gold-bright);
}

.thz-g04__water-card--caution {
  border-top: 3px solid rgba(255, 255, 255, 0.55);
}

.thz-g04__water-card-label {
  margin-bottom: 25px;

  color: var(--g04-gold-bright);

  font-family: Arial, sans-serif;
  font-size: 8px;
  letter-spacing: 0.25em;
}

.thz-g04__water-card h3 {
  margin-bottom: 22px;

  color: var(--g04-white);

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: 27px;
  font-weight: 400;
  line-height: 1.65;
}

.thz-g04__water-card > p:not(.thz-g04__water-card-label) {
  margin-bottom: 28px;

  color: rgba(255, 255, 255, 0.79);

  font-size: 13px;
  line-height: 2;
}

/* 暗い背景内リストを完全リセット */

.thz-g04__water-card ul,
.thz-g04__water-card ul li {
  margin: 0 !important;
  padding-left: 0 !important;

  list-style: none !important;
  list-style-type: none !important;

  background-image: none !important;
}

.thz-g04__water-card ul {
  padding: 0 !important;

  border-top: 1px solid rgba(255, 255, 255, 0.17);
}

.thz-g04__water-card ul li {
  position: relative !important;

  padding: 11px 5px 11px 22px !important;

  border-bottom: 1px solid rgba(255, 255, 255, 0.17);

  color: rgba(255, 255, 255, 0.82) !important;

  font-size: 11px !important;
  line-height: 1.7 !important;
  text-indent: 0 !important;
}

.thz-g04__water-card ul li::marker {
  content: "" !important;
  font-size: 0 !important;
}

.thz-g04__water-card ul li::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 3px !important;

  display: block !important;

  width: 5px !important;
  height: 5px !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 50% !important;

  background: var(--g04-gold-bright) !important;

  transform: translateY(-50%) !important;
}

.thz-g04__dark-notice {
  padding: 50px 55px;

  border-left: 3px solid var(--g04-gold-bright);

  background: rgba(0, 0, 0, 0.23);
}

.thz-g04__dark-notice > p {
  margin-bottom: 13px;

  color: var(--g04-gold-bright) !important;

  font-family: Arial, sans-serif;
  font-size: 8px;
  letter-spacing: 0.27em;
}

.thz-g04__dark-notice h3 {
  margin-bottom: 17px;

  color: var(--g04-white) !important;

  font-size: 18px;
  font-weight: 500;
  line-height: 1.7;
}

.thz-g04__dark-notice span {
  display: block;

  color: rgba(255, 255, 255, 0.82) !important;

  font-size: 12px;
  line-height: 1.95;
}


/* =========================================================
   STORAGE
========================================================= */

.thz-g04__section--storage {
  background: var(--g04-white);
}

.thz-g04__storage-layout {
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  min-height: 600px;
  margin-bottom: 70px;
}

.thz-g04__storage-photo {
  min-height: 600px;
  overflow: hidden;

  background: var(--g04-gray);
}

.thz-g04__storage-photo img {
  width: 100%;
  height: 100%;
  min-height: 600px;

  object-fit: cover;
}

.thz-g04__storage-content {
  display: flex;
  flex-direction: column;
  justify-content: center;

  padding: 65px;

  background: var(--g04-deep);

  color: var(--g04-white);
}

.thz-g04__storage-kicker {
  margin-bottom: 22px;

  color: var(--g04-gold-bright);

  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: 0.27em;
}

.thz-g04__storage-content h3 {
  margin-bottom: 30px;

  color: var(--g04-white);

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(25px, 3.5vw, 38px);
  font-weight: 400;
  line-height: 1.7;
}

.thz-g04__storage-content > p:not(.thz-g04__storage-kicker) {
  margin-bottom: 20px;

  color: rgba(255, 255, 255, 0.82);

  font-size: 13px;
  line-height: 2;
}

.thz-g04__storage-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);

  border-top: 1px solid var(--g04-border);
  border-left: 1px solid var(--g04-border);
}

.thz-g04__storage-grid article {
  min-height: 280px;

  padding: 36px 30px;

  border-right: 1px solid var(--g04-border);
  border-bottom: 1px solid var(--g04-border);
}

.thz-g04__storage-grid span {
  display: block;
  margin-bottom: 48px;

  color: var(--g04-gold);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 13px;
}

.thz-g04__storage-grid h3 {
  margin-bottom: 14px;

  color: var(--g04-black);

  font-size: 16px;
  font-weight: 500;
}

.thz-g04__storage-grid p {
  margin-bottom: 0;

  color: var(--g04-muted);

  font-size: 11px;
  line-height: 1.9;
}


/* =========================================================
   BRACELET ELASTIC
========================================================= */

.thz-g04__section--bracelet {
  background: var(--g04-ivory);
}

.thz-g04__bracelet-feature {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  min-height: 590px;
  margin-bottom: 70px;
}

.thz-g04__bracelet-photo {
  min-height: 590px;
  overflow: hidden;

  background: var(--g04-gray);
}

.thz-g04__bracelet-photo img {
  width: 100%;
  height: 100%;
  min-height: 590px;

  object-fit: cover;
}

.thz-g04__bracelet-content {
  display: flex;
  flex-direction: column;
  justify-content: center;

  padding: 65px;

  background: var(--g04-white);
}

.thz-g04__bracelet-kicker {
  margin-bottom: 22px;

  color: var(--g04-gold);

  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: 0.27em;
}

.thz-g04__bracelet-content h3 {
  margin-bottom: 30px;

  color: var(--g04-black);

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(25px, 3.5vw, 38px);
  font-weight: 400;
  line-height: 1.7;
}

.thz-g04__bracelet-content > p:not(.thz-g04__bracelet-kicker) {
  margin-bottom: 20px;

  color: #615d56;

  font-size: 13px;
  line-height: 2;
}

.thz-g04__sign-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);

  margin-bottom: 60px;

  border-top: 1px solid var(--g04-border);
  border-left: 1px solid var(--g04-border);
}

.thz-g04__sign-grid article {
  min-height: 285px;

  padding: 36px 29px;

  border-right: 1px solid var(--g04-border);
  border-bottom: 1px solid var(--g04-border);

  background: var(--g04-white);
}

.thz-g04__sign-grid span {
  display: block;
  margin-bottom: 45px;

  color: var(--g04-gold);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 13px;
}

.thz-g04__sign-grid h3 {
  margin-bottom: 14px;

  color: var(--g04-black);

  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
}

.thz-g04__sign-grid p {
  margin-bottom: 0;

  color: var(--g04-muted);

  font-size: 11px;
  line-height: 1.9;
}

.thz-g04__bracelet-note {
  max-width: 850px;
  padding: 65px 70px;
  margin-left: auto;

  color: var(--g04-white);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(169, 138, 77, 0.16),
      transparent 40%
    ),
    var(--g04-deep);
}

.thz-g04__bracelet-note p {
  margin-bottom: 16px;

  color: var(--g04-gold-bright);

  font-family: Arial, sans-serif;
  font-size: 8px;
  letter-spacing: 0.27em;
}

.thz-g04__bracelet-note h3 {
  margin-bottom: 20px;

  color: var(--g04-white);

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: 28px;
  font-weight: 400;
  line-height: 1.7;
}

.thz-g04__bracelet-note span {
  display: block;

  color: rgba(255, 255, 255, 0.84);

  font-size: 13px;
  line-height: 2;
}


/* =========================================================
   REPAIR
========================================================= */

.thz-g04__section--repair {
  color: var(--g04-white);

  background:
    radial-gradient(
      circle at 85% 5%,
      rgba(169, 138, 77, 0.14),
      transparent 31%
    ),
    var(--g04-deep);
}

.thz-g04__repair-message {
  max-width: 850px;
  margin-bottom: 80px;
}

.thz-g04__repair-kicker {
  margin-bottom: 22px;

  color: var(--g04-gold-bright);

  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: 0.27em;
}

.thz-g04__repair-message h3 {
  margin-bottom: 30px;

  color: var(--g04-white);

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(29px, 4.3vw, 48px);
  font-weight: 400;
  line-height: 1.7;
}

.thz-g04__repair-message > p:not(.thz-g04__repair-kicker) {
  margin-bottom: 20px;

  color: rgba(255, 255, 255, 0.84);

  font-size: 14px;
  line-height: 2.1;
}

.thz-g04__repair-flow {
  position: relative;
  max-width: 880px;
  margin: 0 auto 80px;
}

.thz-g04__repair-flow::before {
  content: "";
  position: absolute;
  top: 25px;
  bottom: 25px;
  left: 28px;

  width: 1px;

  background:
    linear-gradient(
      to bottom,
      transparent,
      rgba(216, 191, 130, 0.45) 10%,
      rgba(216, 191, 130, 0.45) 90%,
      transparent
    );
}

.thz-g04__repair-flow article {
  position: relative;

  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 37px;

  padding-bottom: 52px;
}

.thz-g04__repair-flow article:last-child {
  padding-bottom: 0;
}

.thz-g04__repair-flow article > span {
  position: relative;
  z-index: 2;

  display: flex;
  width: 58px;
  height: 58px;
  align-items: center;
  justify-content: center;

  border: 1px solid rgba(216, 191, 130, 0.58);
  border-radius: 50%;

  color: var(--g04-gold-bright);
  background: var(--g04-deep);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 11px;
}

.thz-g04__repair-flow article > div {
  padding: 2px 0 30px;

  border-bottom: 1px solid rgba(255, 255, 255, 0.13);
}

.thz-g04__repair-flow small {
  display: block;
  margin-bottom: 6px;

  color: var(--g04-gold-bright);

  font-family: Arial, sans-serif;
  font-size: 8px;
  letter-spacing: 0.24em;
}

.thz-g04__repair-flow h3 {
  margin-bottom: 10px;

  color: var(--g04-white);

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: 25px;
  font-weight: 400;
}

.thz-g04__repair-flow p {
  margin-bottom: 0;

  color: rgba(255, 255, 255, 0.81);

  font-size: 12px;
  line-height: 1.9;
}

.thz-g04__repair-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);

  margin-bottom: 28px;

  border-top: 1px solid rgba(255, 255, 255, 0.17);
  border-left: 1px solid rgba(255, 255, 255, 0.17);
}

.thz-g04__repair-cards article {
  min-height: 250px;

  padding: 38px 33px;

  border-right: 1px solid rgba(255, 255, 255, 0.17);
  border-bottom: 1px solid rgba(255, 255, 255, 0.17);
}

.thz-g04__repair-cards p {
  margin-bottom: 45px;

  color: var(--g04-gold-bright);

  font-family: Arial, sans-serif;
  font-size: 8px;
  letter-spacing: 0.22em;
}

.thz-g04__repair-cards h3 {
  margin-bottom: 15px;

  color: var(--g04-white);

  font-size: 17px;
  font-weight: 500;
}

.thz-g04__repair-cards span {
  display: block;

  color: rgba(255, 255, 255, 0.80);

  font-size: 11px;
  line-height: 1.9;
}

.thz-g04__repair-note {
  margin-bottom: 0;

  color: rgba(255, 255, 255, 0.68);

  font-size: 10px;
  line-height: 1.85;
}


/* =========================================================
   CHECKLIST
========================================================= */

.thz-g04__check {
  position: relative;

  padding: 145px 0;

  overflow: hidden;

  color: var(--g04-white);

  background:
    radial-gradient(
      circle at 50% 0,
      rgba(169, 138, 77, 0.17),
      transparent 35%
    ),
    #161616;
}

.thz-g04__check::after {
  content: "CARE";
  position: absolute;
  right: -20px;
  bottom: -35px;

  color: rgba(255, 255, 255, 0.025);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: clamp(120px, 20vw, 280px);
  line-height: 1;

  pointer-events: none;
}

.thz-g04__check-kicker {
  position: relative;
  z-index: 1;

  margin-bottom: 23px;

  color: var(--g04-gold-bright);

  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: 0.3em;

  text-align: center;
}

.thz-g04__check-title {
  position: relative;
  z-index: 1;

  margin-bottom: 80px;

  color: var(--g04-white);

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(36px, 5.4vw, 62px);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.08em;

  text-align: center;
}

.thz-g04__check-list {
  position: relative;
  z-index: 1;

  max-width: 790px;
  margin: 0 auto 75px;
}

.thz-g04__check-list article {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 32px;

  padding: 30px 0;

  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.thz-g04__check-list article:first-child {
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.thz-g04__check-list article > span {
  display: flex;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;

  border: 1px solid rgba(216, 191, 130, 0.58);
  border-radius: 50%;

  color: var(--g04-gold-bright);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 10px;
}

.thz-g04__check-list h3 {
  margin-bottom: 8px;

  color: var(--g04-white);

  font-size: 17px;
  font-weight: 500;
}

.thz-g04__check-list p {
  margin-bottom: 0;

  color: rgba(255, 255, 255, 0.81);

  font-size: 12px;
  line-height: 1.9;
}

.thz-g04__check-message {
  position: relative;
  z-index: 1;

  max-width: 720px;
  margin: 0 auto 55px;

  color: rgba(255, 255, 255, 0.90);

  font-size: 14px;
  line-height: 2.2;

  text-align: center;
}

.thz-g04__check-message p {
  margin-bottom: 22px;
}

.thz-g04__check-message p:last-child {
  margin-bottom: 0;
}

.thz-g04__check-links {
  position: relative;
  z-index: 1;

  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 13px;

  max-width: 690px;
  margin: 0 auto;
}

.thz-g04__check-button {
  display: flex;
  min-height: 68px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;

  padding: 0 24px;

  font-size: 11px;

  transition:
    color 0.25s ease,
    border-color 0.25s ease,
    background 0.25s ease;
}

.thz-g04__check-button i {
  font-size: 18px;
  font-style: normal;
}

.thz-g04__check-button--main,
.thz-g04__check-button--main span,
.thz-g04__check-button--main i {
  color: var(--g04-deep) !important;
}

.thz-g04__check-button--main {
  background: var(--g04-gold-bright);
}

.thz-g04__check-button--main:hover {
  color: var(--g04-white) !important;
  background: var(--g04-gold);
}

.thz-g04__check-button--main:hover span,
.thz-g04__check-button--main:hover i {
  color: var(--g04-white) !important;
}

.thz-g04__check-button--sub,
.thz-g04__check-button--sub span,
.thz-g04__check-button--sub i {
  color: var(--g04-white) !important;
}

.thz-g04__check-button--sub {
  border: 1px solid rgba(255, 255, 255, 0.34);
}

.thz-g04__check-button--sub:hover,
.thz-g04__check-button--sub:hover span,
.thz-g04__check-button--sub:hover i {
  color: var(--g04-gold-bright) !important;
  border-color: var(--g04-gold-bright);
}


/* =========================================================
   NEXT GUIDE
========================================================= */

.thz-g04__next-guide {
  padding: 120px 0;

  background: var(--g04-white);
}

.thz-g04__next-guide-inner {
  display: grid;
  grid-template-columns: 1fr 350px;
  gap: 80px;
  align-items: center;

  padding: 75px;

  border: 1px solid var(--g04-border);
}

.thz-g04__next-guide-copy > p {
  margin-bottom: 13px;

  color: var(--g04-gold);

  font-family: Arial, sans-serif;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.28em;
}

.thz-g04__next-guide-copy > span {
  display: block;
  margin-bottom: 25px;

  color: var(--g04-muted);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 12px;
  letter-spacing: 0.13em;
}

.thz-g04__next-guide-copy h2 {
  margin-bottom: 22px;

  color: var(--g04-black);

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(27px, 3.8vw, 42px);
  font-weight: 400;
  line-height: 1.6;
}

.thz-g04__next-guide-copy small {
  display: block;
  max-width: 650px;

  color: var(--g04-muted);

  font-size: 12px;
  line-height: 1.9;
}

.thz-g04__next-guide-links {
  display: grid;
  gap: 13px;
}

.thz-g04__next-button {
  display: flex;
  min-height: 66px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;

  padding: 0 25px;

  font-size: 12px;

  transition:
    color 0.25s ease,
    border-color 0.25s ease,
    background 0.25s ease;
}

.thz-g04__next-button i {
  font-size: 18px;
  font-style: normal;
}

.thz-g04__next-button--main,
.thz-g04__next-button--main span,
.thz-g04__next-button--main i {
  color: var(--g04-white) !important;
}

.thz-g04__next-button--main {
  background: var(--g04-deep);
}

.thz-g04__next-button--main:hover {
  background: var(--g04-gold);
}

.thz-g04__next-button--sub,
.thz-g04__next-button--sub span,
.thz-g04__next-button--sub i {
  color: var(--g04-text) !important;
}

.thz-g04__next-button--sub {
  border: 1px solid var(--g04-border);

  background: var(--g04-white);
}

.thz-g04__next-button--sub:hover,
.thz-g04__next-button--sub:hover span,
.thz-g04__next-button--sub:hover i {
  color: var(--g04-gold) !important;
  border-color: var(--g04-gold);
}


/* =========================================================
   GUIDE NAV
========================================================= */

.thz-g04__guide-nav {
  padding: 105px 0;

  background: #f1efe9;
}

.thz-g04__guide-nav-header {
  margin-bottom: 45px;

  text-align: center;
}

.thz-g04__guide-nav-header p {
  margin-bottom: 12px;

  color: var(--g04-gold);

  font-family: Arial, sans-serif;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.29em;
}

.thz-g04__guide-nav-header h2 {
  margin-bottom: 0;

  color: var(--g04-black);

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(24px, 3.5vw, 36px);
  font-weight: 400;
  letter-spacing: 0.06em;
}

.thz-g04__guide-nav-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);

  border-top: 1px solid var(--g04-border);
  border-left: 1px solid var(--g04-border);
}

.thz-g04__guide-nav-item {
  display: flex;
  min-height: 220px;
  flex-direction: column;

  padding: 31px 25px;

  border-right: 1px solid var(--g04-border);
  border-bottom: 1px solid var(--g04-border);

  background: var(--g04-white);

  transition:
    background 0.25s ease,
    transform 0.25s ease;
}

.thz-g04__guide-nav-item:hover {
  position: relative;
  z-index: 2;

  background: #f7f3ea;
  transform: translateY(-4px);
}

.thz-g04__guide-nav-item > span {
  margin-bottom: auto;

  color: var(--g04-gold);

  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: 0.18em;
}

.thz-g04__guide-nav-item strong {
  display: block;
  margin-bottom: 9px;

  color: var(--g04-black);

  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
}

.thz-g04__guide-nav-item small {
  color: var(--g04-muted);

  font-size: 10px;
  line-height: 1.6;
}

.thz-g04__guide-nav-item--current {
  color: var(--g04-white);

  background: var(--g04-deep);
}

.thz-g04__guide-nav-item--current:hover {
  background: var(--g04-deep);
  transform: none;
}

.thz-g04__guide-nav-item--current > span {
  color: var(--g04-gold-bright);
}

.thz-g04__guide-nav-item--current strong {
  color: var(--g04-white);
}

.thz-g04__guide-nav-item--current small {
  color: rgba(255, 255, 255, 0.74);
}


/* =========================================================
   TABLET
========================================================= */

@media screen and (max-width: 1050px) {

  .thz-g04__material-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .thz-g04__basic-steps,
  .thz-g04__storage-grid,
  .thz-g04__sign-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .thz-g04__guide-nav-grid {
    grid-template-columns: repeat(2, 1fr);
  }

}


/* =========================================================
   SMALL TABLET
========================================================= */

@media screen and (max-width: 850px) {

  .thz-g04__basic-layout,
  .thz-g04__storage-layout,
  .thz-g04__bracelet-feature {
    grid-template-columns: 1fr;
  }

  .thz-g04__water-intro {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .thz-g04__water-grid {
    grid-template-columns: 1fr;
  }

  .thz-g04__repair-cards {
    grid-template-columns: 1fr;
  }

  .thz-g04__next-guide-inner {
    grid-template-columns: 1fr;
  }

  .thz-g04__next-guide-links {
    max-width: 430px;
  }

}


/* =========================================================
   SMARTPHONE
========================================================= */

@media screen and (max-width: 767px) {

  .thz-g04 {
    font-size: 15px;
  }

  .thz-g04__container,
  .thz-g04__container--narrow {
    width: calc(100% - 36px);
  }


  /* HERO */

  .thz-g04__hero {
    min-height: 650px;
  }

  .thz-g04__hero::before {
    right: 20%;
  }

  .thz-g04__hero::after {
    right: -200px;
    bottom: -250px;
  }

  .thz-g04__hero-decoration span {
    right: -25px;
    bottom: 40px;

    font-size: 100px;
  }

  .thz-g04__hero-inner {
    padding-top: 90px;
    padding-bottom: 100px;
  }

  .thz-g04__eyebrow {
    font-size: 9px;
    letter-spacing: 0.25em;
  }

  .thz-g04__hero-subtitle {
    margin-bottom: 19px;

    font-size: 12px;
  }

  .thz-g04__hero-title {
    margin-bottom: 29px;

    font-size: 38px;
    line-height: 1.5;
  }

  .thz-g04__hero-lead {
    font-size: 12px;
    line-height: 2;
  }

  .thz-g04__hero-lead br {
    display: none;
  }

  .thz-g04__hero-scroll {
    bottom: 38px;
  }


  /* INTRO */

  .thz-g04__intro {
    padding: 88px 0;
  }

  .thz-g04__intro-title {
    margin-bottom: 32px;

    font-size: 30px;
  }

  .thz-g04__intro-text {
    font-size: 13px;
    line-height: 2.05;
  }


  /* CONTENTS */

  .thz-g04__contents {
    padding: 60px 0;
  }

  .thz-g04__contents-header {
    display: block;
  }

  .thz-g04__contents-header span {
    display: block;
    margin-bottom: 8px;
  }

  .thz-g04__contents-list {
    grid-template-columns: 1fr;
  }

  .thz-g04__contents-list a {
    min-height: 115px;
    padding: 22px;
  }

  .thz-g04__contents-list a > span {
    margin-bottom: 20px;
  }


  /* COMMON */

  .thz-g04__section {
    padding: 88px 0;
  }

  .thz-g04__section-header {
    grid-template-columns: 1fr;
    margin-bottom: 48px;
  }

  .thz-g04__section-number {
    margin-bottom: 20px;
  }

  .thz-g04__section-number span {
    font-size: 15px;
  }

  .thz-g04__section-heading h2 {
    font-size: 29px;
    line-height: 1.6;
  }

  .thz-g04__section-heading > span {
    font-size: 11px;
  }


  /* BASIC */

  .thz-g04__basic-photo,
  .thz-g04__basic-photo img {
    min-height: 350px;
  }

  .thz-g04__basic-content {
    padding: 42px 27px;
  }

  .thz-g04__basic-content h3 {
    font-size: 25px;
  }

  .thz-g04__basic-steps {
    grid-template-columns: 1fr;
  }

  .thz-g04__basic-steps article {
    min-height: auto;
    padding: 29px 25px;
  }

  .thz-g04__basic-steps article > span {
    margin-bottom: 25px;
  }

  .thz-g04__notice {
    grid-template-columns: 1fr;
  }

  .thz-g04__notice-label {
    justify-content: flex-start;

    padding: 21px 24px;

    border-right: 0;
    border-bottom: 1px solid #d7c69e;
  }

  .thz-g04__notice-content {
    padding: 28px 24px;
  }


  /* MATERIAL */

  .thz-g04__material-grid {
    grid-template-columns: 1fr;
  }

  .thz-g04__material-card {
    min-height: auto;
    padding: 31px 26px;
  }

  .thz-g04__material-number {
    margin-bottom: 30px;
  }

  .thz-g04__material-card > p:not(.thz-g04__material-label) {
    min-height: 0;
  }


  /* WATER */

  .thz-g04__water-copy h3 {
    font-size: 27px;
  }

  .thz-g04__water-text {
    font-size: 13px;
  }

  .thz-g04__water-card {
    min-height: auto;
    padding: 38px 27px;
  }

  .thz-g04__water-card h3 {
    font-size: 24px;
  }

  .thz-g04__dark-notice {
    padding: 36px 27px;
  }


  /* STORAGE */

  .thz-g04__storage-photo,
  .thz-g04__storage-photo img {
    min-height: 350px;
  }

  .thz-g04__storage-content {
    padding: 45px 27px;
  }

  .thz-g04__storage-content h3 {
    font-size: 25px;
  }

  .thz-g04__storage-grid {
    grid-template-columns: 1fr;
  }

  .thz-g04__storage-grid article {
    min-height: auto;
    padding: 29px 25px;
  }

  .thz-g04__storage-grid span {
    margin-bottom: 25px;
  }


  /* BRACELET */

  .thz-g04__bracelet-photo,
  .thz-g04__bracelet-photo img {
    min-height: 350px;
  }

  .thz-g04__bracelet-content {
    padding: 42px 27px;
  }

  .thz-g04__bracelet-content h3 {
    font-size: 25px;
  }

  .thz-g04__sign-grid {
    grid-template-columns: 1fr;
  }

  .thz-g04__sign-grid article {
    min-height: auto;
    padding: 29px 25px;
  }

  .thz-g04__sign-grid span {
    margin-bottom: 25px;
  }

  .thz-g04__bracelet-note {
    padding: 48px 28px;
  }

  .thz-g04__bracelet-note h3 {
    font-size: 24px;
  }


  /* REPAIR */

  .thz-g04__repair-message h3 {
    font-size: 29px;
  }

  .thz-g04__repair-message > p:not(.thz-g04__repair-kicker) {
    font-size: 13px;
  }

  .thz-g04__repair-flow::before {
    left: 24px;
  }

  .thz-g04__repair-flow article {
    grid-template-columns: 50px 1fr;
    gap: 20px;

    padding-bottom: 40px;
  }

  .thz-g04__repair-flow article > span {
    width: 50px;
    height: 50px;
  }

  .thz-g04__repair-flow h3 {
    font-size: 21px;
  }

  .thz-g04__repair-cards article {
    min-height: auto;
    padding: 29px 25px;
  }

  .thz-g04__repair-cards p {
    margin-bottom: 26px;
  }


  /* CHECKLIST */

  .thz-g04__check {
    padding: 100px 0;
  }

  .thz-g04__check-title {
    margin-bottom: 58px;

    font-size: 35px;
  }

  .thz-g04__check-list article {
    grid-template-columns: 48px 1fr;
    gap: 20px;

    padding: 25px 0;
  }

  .thz-g04__check-list article > span {
    width: 44px;
    height: 44px;
  }

  .thz-g04__check-list h3 {
    font-size: 15px;
  }

  .thz-g04__check-message {
    font-size: 13px;
    line-height: 2.1;

    text-align: left;
  }

  .thz-g04__check-links {
    grid-template-columns: 1fr;
  }


  /* NEXT GUIDE */

  .thz-g04__next-guide {
    padding: 80px 0;
  }

  .thz-g04__next-guide-inner {
    gap: 42px;

    padding: 42px 27px;
  }

  .thz-g04__next-guide-copy h2 {
    font-size: 27px;
  }

  .thz-g04__next-button {
    padding: 0 20px;

    font-size: 11px;
  }


  /* GUIDE NAV */

  .thz-g04__guide-nav {
    padding: 80px 0;
  }

  .thz-g04__guide-nav-grid {
    grid-template-columns: 1fr;
  }

  .thz-g04__guide-nav-item {
    min-height: 145px;
    padding: 25px;
  }

  .thz-g04__guide-nav-item > span {
    margin-bottom: 25px;
  }

}
/* =========================================================
   GUIDE04 暗背景テキスト 視認性修正
   2026.08
========================================================= */


/* ---------------------------------------------------------
   01. WATER CARE
   「判断するのは、テラヘルツ部分だけではありません。」
--------------------------------------------------------- */

.thz-g04 .thz-g04__section--water .thz-g04__water-copy h3,
.thz-g04 .thz-g04__section--water .thz-g04__water-copy h3 *,
.thz-g04 .thz-g04__section--water .thz-g04__water-text,
.thz-g04 .thz-g04__section--water .thz-g04__water-text p,
.thz-g04 .thz-g04__section--water .thz-g04__water-text span {
  color: rgba(255, 255, 255, 0.88) !important;
}


/* 見出しは完全な白に */
.thz-g04 .thz-g04__section--water .thz-g04__water-copy h3,
.thz-g04 .thz-g04__section--water .thz-g04__water-copy h3 * {
  color: #ffffff !important;
}


/* BEFORE WASHING */
.thz-g04 .thz-g04__section--water .thz-g04__water-kicker {
  color: #d8bf82 !important;
}


/* ---------------------------------------------------------
   02. CARE CHECKLIST
   「長く使うための、7つの確認。」
--------------------------------------------------------- */

.thz-g04 .thz-g04__check,
.thz-g04 .thz-g04__check p,
.thz-g04 .thz-g04__check span,
.thz-g04 .thz-g04__check h2,
.thz-g04 .thz-g04__check h3 {
  color: rgba(255, 255, 255, 0.88) !important;
}


/* チェック項目タイトル */
.thz-g04 .thz-g04__check-list h3 {
  color: #ffffff !important;
}


/* チェック項目説明 */
.thz-g04 .thz-g04__check-list p {
  color: rgba(255, 255, 255, 0.82) !important;
}


/* 01〜07の丸数字 */
.thz-g04 .thz-g04__check-list article > span {
  color: #d8bf82 !important;
}


/* CARE CHECKLIST */
.thz-g04 .thz-g04__check-kicker {
  color: #d8bf82 !important;
}


/* メインタイトル */
.thz-g04 .thz-g04__check-title {
  color: #ffffff !important;
}


/* ---------------------------------------------------------
   03. 問題になっているチェックリスト下部の本文
--------------------------------------------------------- */

.thz-g04 .thz-g04__check-message,
.thz-g04 .thz-g04__check-message p,
.thz-g04 .thz-g04__check-message span {
  color: rgba(255, 255, 255, 0.86) !important;
}


/* ---------------------------------------------------------
   04. AFTER SUPPORT 暗背景も念のため完全保護
--------------------------------------------------------- */

.thz-g04 .thz-g04__section--repair .thz-g04__repair-message h3,
.thz-g04 .thz-g04__section--repair .thz-g04__repair-flow h3,
.thz-g04 .thz-g04__section--repair .thz-g04__repair-cards h3 {
  color: #ffffff !important;
}

.thz-g04 .thz-g04__section--repair .thz-g04__repair-message > p:not(.thz-g04__repair-kicker),
.thz-g04 .thz-g04__section--repair .thz-g04__repair-flow p,
.thz-g04 .thz-g04__section--repair .thz-g04__repair-cards span {
  color: rgba(255, 255, 255, 0.84) !important;
}


/* ---------------------------------------------------------
   05. SAFE STORAGE 暗背景も保護
--------------------------------------------------------- */

.thz-g04 .thz-g04__storage-content h3 {
  color: #ffffff !important;
}

.thz-g04 .thz-g04__storage-content > p:not(.thz-g04__storage-kicker) {
  color: rgba(255, 255, 255, 0.84) !important;
}

.thz-g04 .thz-g04__storage-kicker {
  color: #d8bf82 !important;
}


/* ---------------------------------------------------------
   06. スマートフォン
--------------------------------------------------------- */

@media screen and (max-width: 767px) {

  .thz-g04 .thz-g04__section--water .thz-g04__water-text {
    color: rgba(255, 255, 255, 0.88) !important;
  }

  .thz-g04 .thz-g04__check-message,
  .thz-g04 .thz-g04__check-message p {
    color: rgba(255, 255, 255, 0.88) !important;
  }

}



/* =========================================================
   GOLD STONE TERAHERTZ GUIDE 05
   FAQ GUIDE
   Prefix: thz-g05
========================================================= */


/* =========================================================
   RESET / VARIABLES
========================================================= */

.thz-g05,
.thz-g05 * {
  box-sizing: border-box;
}

.thz-g05 {
  --g05-black: #161616;
  --g05-deep: #1d1d1c;
  --g05-deep-soft: #282725;
  --g05-text: #3d3b37;
  --g05-muted: #77736c;
  --g05-gold: #a98a4d;
  --g05-gold-bright: #d8bf82;
  --g05-gold-pale: #f4efe3;
  --g05-ivory: #f8f7f3;
  --g05-gray: #efeee9;
  --g05-border: #dedbd3;
  --g05-white: #ffffff;

  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;

  color: var(--g05-text);
  background: var(--g05-white);

  font-family:
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Yu Gothic",
    "Meiryo",
    sans-serif;

  font-size: 16px;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.thz-g05 img {
  display: block;
  width: 100%;
  height: auto;
}

.thz-g05 a {
  color: inherit;
  text-decoration: none;
}

.thz-g05 h1,
.thz-g05 h2,
.thz-g05 h3,
.thz-g05 p,
.thz-g05 ol,
.thz-g05 ul {
  margin-top: 0;
}

.thz-g05__container {
  width: min(1160px, calc(100% - 56px));
  margin-right: auto;
  margin-left: auto;
}

.thz-g05__container--narrow {
  width: min(850px, calc(100% - 56px));
}


/* =========================================================
   HERO
========================================================= */

.thz-g05__hero {
  position: relative;
  display: flex;
  min-height: 760px;
  align-items: center;
  overflow: hidden;

  color: var(--g05-white);

  background:
    radial-gradient(
      circle at 78% 25%,
      rgba(184, 151, 84, 0.18),
      transparent 35%
    ),
    linear-gradient(
      135deg,
      #111111 0%,
      #242321 58%,
      #171717 100%
    );

  isolation: isolate;
}

.thz-g05__hero::before {
  content: "";
  position: absolute;
  top: 0;
  right: 15%;

  width: 1px;
  height: 100%;

  background:
    linear-gradient(
      to bottom,
      transparent,
      rgba(216, 191, 130, 0.28),
      transparent
    );
}

.thz-g05__hero::after {
  content: "";
  position: absolute;
  right: -140px;
  bottom: -210px;

  width: 570px;
  height: 570px;

  border: 1px solid rgba(216, 191, 130, 0.09);
  border-radius: 50%;
}

.thz-g05__hero-decoration {
  position: absolute;
  inset: 0;
  z-index: -1;

  pointer-events: none;
}

.thz-g05__hero-decoration span {
  position: absolute;
  right: 2%;
  bottom: -25px;

  color: rgba(255, 255, 255, 0.03);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: clamp(170px, 25vw, 390px);
  line-height: 1;
  letter-spacing: -0.05em;
}

.thz-g05__hero-inner {
  position: relative;
  z-index: 2;

  padding-top: 110px;
  padding-bottom: 110px;
}

.thz-g05__eyebrow {
  margin-bottom: 24px;

  color: var(--g05-gold-bright);

  font-family: Arial, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.32em;
}

.thz-g05__hero-subtitle {
  margin-bottom: 22px;

  color: rgba(255, 255, 255, 0.74);

  font-size: 14px;
  letter-spacing: 0.15em;
}

.thz-g05__hero-title {
  max-width: 900px;
  margin-bottom: 35px;

  color: var(--g05-white);

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(45px, 6.5vw, 83px);
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0.075em;
}

.thz-g05__hero-lead {
  max-width: 720px;
  margin-bottom: 0;

  color: rgba(255, 255, 255, 0.82);

  font-size: 14px;
  line-height: 2.15;
}

.thz-g05__hero-scroll {
  position: absolute;
  left: 0;
  bottom: 55px;

  display: flex;
  align-items: center;
  gap: 18px;
}

.thz-g05__hero-scroll span {
  color: rgba(255, 255, 255, 0.48);

  font-family: Arial, sans-serif;
  font-size: 8px;
  letter-spacing: 0.25em;
}

.thz-g05__hero-scroll i {
  display: block;
  width: 75px;
  height: 1px;

  background:
    linear-gradient(
      to right,
      var(--g05-gold),
      rgba(169, 138, 77, 0)
    );
}


/* =========================================================
   INTRO
========================================================= */

.thz-g05__intro {
  padding: 140px 0;
  background: var(--g05-white);
}

.thz-g05__section-kicker {
  margin-bottom: 26px;

  color: var(--g05-gold);

  font-family: Arial, sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.3em;
}

.thz-g05__intro-title {
  margin-bottom: 45px;

  color: var(--g05-black);

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(32px, 4.6vw, 53px);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.08em;
}

.thz-g05__intro-text {
  max-width: 790px;

  color: #56534d;

  font-size: 15px;
  line-height: 2.2;
}

.thz-g05__intro-text p {
  margin-bottom: 25px;
}

.thz-g05__intro-text p:last-child {
  margin-bottom: 0;
}


/* =========================================================
   CONTENTS
========================================================= */

.thz-g05__contents {
  padding: 82px 0;

  border-top: 1px solid var(--g05-border);
  border-bottom: 1px solid var(--g05-border);

  background: var(--g05-ivory);
}

.thz-g05__contents-header {
  display: flex;
  align-items: baseline;
  gap: 25px;

  margin-bottom: 34px;
}

.thz-g05__contents-header span {
  color: var(--g05-gold);

  font-family: Arial, sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.27em;
}

.thz-g05__contents-header p {
  margin-bottom: 0;

  color: var(--g05-muted);

  font-size: 12px;
}

/* Shopserve既存ol対策 */

.thz-g05__contents-list,
.thz-g05__contents-list > li {
  margin: 0 !important;
  padding: 0 !important;

  list-style: none !important;
  list-style-type: none !important;

  counter-reset: none !important;
  counter-increment: none !important;
}

.thz-g05__contents-list > li::marker {
  content: "" !important;
  font-size: 0 !important;
}

.thz-g05__contents-list > li::before,
.thz-g05__contents-list > li::after {
  content: none !important;
  display: none !important;
}

.thz-g05__contents-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));

  border-top: 1px solid var(--g05-border);
  border-left: 1px solid var(--g05-border);
}

.thz-g05__contents-list a {
  display: flex;
  min-height: 175px;
  flex-direction: column;

  padding: 26px 23px;

  border-right: 1px solid var(--g05-border);
  border-bottom: 1px solid var(--g05-border);

  background: var(--g05-white);

  transition:
    background 0.25s ease,
    transform 0.25s ease;
}

.thz-g05__contents-list a:hover {
  position: relative;
  z-index: 2;

  background: #f4f0e7;
  transform: translateY(-4px);
}

.thz-g05__contents-list a > span {
  margin-bottom: auto;

  color: var(--g05-gold);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 12px;
}

.thz-g05__contents-list strong {
  display: block;
  margin-bottom: 8px;

  color: var(--g05-black);

  font-size: 13px;
  font-weight: 500;
  line-height: 1.55;
}

.thz-g05__contents-list small {
  color: var(--g05-muted);

  font-size: 9px;
  line-height: 1.6;
}


/* =========================================================
   FEATURED QUESTION
========================================================= */

.thz-g05__featured {
  padding: 135px 0;

  color: var(--g05-white);

  background:
    radial-gradient(
      circle at 80% 10%,
      rgba(169, 138, 77, 0.17),
      transparent 35%
    ),
    var(--g05-deep);
}

.thz-g05__featured-inner {
  display: grid;
  grid-template-columns: 230px 1fr;

  max-width: 1000px;
  margin: 0 auto;
}

.thz-g05__featured-label {
  display: flex;
  min-height: 520px;
  flex-direction: column;
  justify-content: space-between;

  padding: 45px;

  border: 1px solid rgba(255, 255, 255, 0.15);
  border-right: 0;
}

.thz-g05__featured-label > span {
  color: var(--g05-gold-bright);

  font-family: Arial, sans-serif;
  font-size: 8px;
  letter-spacing: 0.24em;
}

.thz-g05__featured-label strong {
  color: rgba(216, 191, 130, 0.85);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 110px;
  font-weight: 400;
  line-height: 1;
}

.thz-g05__featured-content {
  min-height: 520px;
  padding: 65px 70px;

  border: 1px solid rgba(255, 255, 255, 0.15);

  background: rgba(255, 255, 255, 0.025);
}

.thz-g05__featured-content h2 {
  margin-bottom: 35px;

  color: #ffffff !important;

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(31px, 4.5vw, 50px);
  font-weight: 400;
  line-height: 1.6;
}

.thz-g05__featured-answer p {
  margin-bottom: 20px;

  color: rgba(255, 255, 255, 0.85) !important;

  font-size: 13px;
  line-height: 2;
}

.thz-g05__featured-link {
  display: flex;
  min-height: 62px;
  align-items: center;
  justify-content: space-between;

  margin-top: 35px;
  padding: 0 23px;

  border: 1px solid rgba(216, 191, 130, 0.4);

  color: #ffffff !important;

  font-size: 11px;
}

.thz-g05__featured-link span,
.thz-g05__featured-link i {
  color: #ffffff !important;
}

.thz-g05__featured-link i {
  font-size: 18px;
  font-style: normal;
}

.thz-g05__featured-link:hover {
  background: var(--g05-gold);
}


/* =========================================================
   COMMON SECTION
========================================================= */

.thz-g05__section {
  padding: 135px 0;
  scroll-margin-top: 90px;
}

.thz-g05__section-header {
  display: grid;
  grid-template-columns: 110px 1fr;

  margin-bottom: 78px;
}

.thz-g05__section-number {
  padding-top: 3px;
}

.thz-g05__section-number span {
  color: var(--g05-gold);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 18px;
  letter-spacing: 0.08em;
}

.thz-g05__section-heading > p {
  margin-bottom: 13px;

  color: var(--g05-gold);

  font-family: Arial, sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.28em;
}

.thz-g05__section-heading h2 {
  margin-bottom: 18px;

  color: var(--g05-black);

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(31px, 4.5vw, 50px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.075em;
}

.thz-g05__section-heading > span {
  color: var(--g05-muted);

  font-size: 13px;
  line-height: 1.8;
}

.thz-g05__section-header--dark .thz-g05__section-heading h2 {
  color: #ffffff !important;
}

.thz-g05__section-header--dark .thz-g05__section-heading > span {
  color: rgba(255, 255, 255, 0.78) !important;
}


/* =========================================================
   FAQ COMMON
========================================================= */

.thz-g05__faq-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);

  border-top: 1px solid var(--g05-border);
  border-left: 1px solid var(--g05-border);
}

.thz-g05__faq-card {
  min-width: 0;

  border-right: 1px solid var(--g05-border);
  border-bottom: 1px solid var(--g05-border);

  background: var(--g05-white);
}

.thz-g05__faq-card--wide {
  grid-column: 1 / -1;
}

.thz-g05__faq-question {
  min-height: 155px;
  padding: 32px 34px;

  border-bottom: 1px solid var(--g05-border);

  background: #faf9f6;
}

.thz-g05__faq-question > span {
  display: block;
  margin-bottom: 25px;

  color: var(--g05-gold);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 12px;
}

.thz-g05__faq-question h3 {
  margin-bottom: 0;

  color: var(--g05-black);

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: 21px;
  font-weight: 400;
  line-height: 1.7;
}

.thz-g05__faq-answer {
  position: relative;

  min-height: 245px;
  padding: 36px 35px 38px 72px;
}

.thz-g05__faq-answer > span:first-child {
  position: absolute;
  top: 34px;
  left: 32px;

  color: var(--g05-gold);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 20px;
}

.thz-g05__faq-answer p {
  margin-bottom: 18px;

  color: #615d56;

  font-size: 12px;
  line-height: 2;
}

.thz-g05__faq-answer p:last-child {
  margin-bottom: 0;
}

.thz-g05__faq-answer a {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;

  margin-top: 25px;
  padding: 0 18px;

  border: 1px solid var(--g05-border);

  color: var(--g05-text) !important;

  font-size: 10px;
}

.thz-g05__faq-answer a i {
  font-size: 16px;
  font-style: normal;
}

.thz-g05__faq-answer a:hover {
  border-color: var(--g05-gold);

  color: var(--g05-gold) !important;
}


/* =========================================================
   MATERIAL
========================================================= */

.thz-g05__section--material {
  background: var(--g05-white);
}


/* =========================================================
   SELECT
========================================================= */

.thz-g05__section--select {
  background: var(--g05-ivory);
}


/* =========================================================
   SIZE
========================================================= */

.thz-g05__section--size {
  color: var(--g05-white);

  background:
    radial-gradient(
      circle at 86% 5%,
      rgba(169, 138, 77, 0.14),
      transparent 32%
    ),
    var(--g05-deep);
}

.thz-g05__size-feature {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;

  min-height: 600px;
  margin-bottom: 65px;
}

.thz-g05__size-image {
  min-height: 600px;
  overflow: hidden;

  background: #f0efeb;
}

.thz-g05__size-image img {
  width: 100%;
  height: 100%;
  min-height: 600px;

  object-fit: cover;
}

.thz-g05__size-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;

  padding: 60px;

  background: #292826;
}

.thz-g05__size-copy > p {
  margin-bottom: 20px;

  color: var(--g05-gold-bright) !important;

  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: 0.27em;
}

.thz-g05__size-copy h3 {
  margin-bottom: 28px;

  color: #ffffff !important;

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(25px, 3.5vw, 38px);
  font-weight: 400;
  line-height: 1.7;
}

.thz-g05__size-copy > span {
  display: block;

  margin-bottom: 30px;

  color: rgba(255, 255, 255, 0.83) !important;

  font-size: 13px;
  line-height: 2;
}

.thz-g05__size-copy > a {
  display: flex;
  min-height: 58px;
  align-items: center;
  justify-content: space-between;

  padding: 0 20px;

  border: 1px solid rgba(255, 255, 255, 0.28);

  color: #ffffff !important;

  font-size: 10px;
}

.thz-g05__size-copy > a i {
  font-size: 17px;
  font-style: normal;
}

.thz-g05__size-copy > a:hover {
  border-color: var(--g05-gold-bright);

  color: var(--g05-gold-bright) !important;
}


/* DARK FAQ */

.thz-g05__faq-grid--dark {
  border-color: rgba(255, 255, 255, 0.15);
}

.thz-g05__faq-grid--dark .thz-g05__faq-card {
  border-color: rgba(255, 255, 255, 0.15);

  background: var(--g05-deep-soft);
}

.thz-g05__faq-grid--dark .thz-g05__faq-question {
  border-color: rgba(255, 255, 255, 0.15);

  background: rgba(255, 255, 255, 0.025);
}

.thz-g05__faq-grid--dark .thz-g05__faq-question > span {
  color: var(--g05-gold-bright) !important;
}

.thz-g05__faq-grid--dark .thz-g05__faq-question h3 {
  color: #ffffff !important;
}

.thz-g05__faq-grid--dark .thz-g05__faq-answer > span:first-child {
  color: var(--g05-gold-bright) !important;
}

.thz-g05__faq-grid--dark .thz-g05__faq-answer p {
  color: rgba(255, 255, 255, 0.83) !important;
}

.thz-g05__faq-grid--dark .thz-g05__faq-answer a {
  border-color: rgba(255, 255, 255, 0.2);

  color: #ffffff !important;
}


/* =========================================================
   QUALITY
========================================================= */

.thz-g05__section--quality {
  background: var(--g05-white);
}

.thz-g05__quality-message {
  max-width: 850px;

  margin: 0 0 75px auto;
  padding: 65px 70px;

  color: var(--g05-white);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(169, 138, 77, 0.16),
      transparent 40%
    ),
    var(--g05-deep);
}

.thz-g05__quality-message > p {
  margin-bottom: 17px;

  color: var(--g05-gold-bright) !important;

  font-family: Arial, sans-serif;
  font-size: 8px;
  letter-spacing: 0.27em;
}

.thz-g05__quality-message h3 {
  margin-bottom: 23px;

  color: #ffffff !important;

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: 29px;
  font-weight: 400;
  line-height: 1.7;
}

.thz-g05__quality-message > span {
  display: block;

  color: rgba(255, 255, 255, 0.84) !important;

  font-size: 13px;
  line-height: 2;
}


/* =========================================================
   CARE
========================================================= */

.thz-g05__section--care {
  background: var(--g05-ivory);
}


/* =========================================================
   SUPPORT
========================================================= */

.thz-g05__section--support {
  color: var(--g05-white);

  background:
    radial-gradient(
      circle at 85% 5%,
      rgba(169, 138, 77, 0.14),
      transparent 31%
    ),
    var(--g05-deep);
}

.thz-g05__support-intro {
  max-width: 850px;
  margin-bottom: 70px;
}

.thz-g05__support-intro > p {
  margin-bottom: 18px;

  color: var(--g05-gold-bright) !important;

  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: 0.27em;
}

.thz-g05__support-intro h3 {
  margin-bottom: 27px;

  color: #ffffff !important;

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(29px, 4.3vw, 48px);
  font-weight: 400;
  line-height: 1.7;
}

.thz-g05__support-intro > span {
  display: block;

  color: rgba(255, 255, 255, 0.84) !important;

  font-size: 14px;
  line-height: 2.1;
}

.thz-g05__guide-link-dark {
  display: flex;
  min-height: 92px;
  align-items: center;
  justify-content: space-between;
  gap: 25px;

  margin-top: 50px;
  padding: 20px 30px;

  border: 1px solid rgba(255, 255, 255, 0.22);

  color: #ffffff !important;
}

.thz-g05__guide-link-dark > span {
  display: flex;
  flex-direction: column;

  color: var(--g05-gold-bright) !important;

  font-family: Arial, sans-serif;
  font-size: 8px;
  letter-spacing: 0.2em;
}

.thz-g05__guide-link-dark strong {
  margin-top: 5px;

  color: #ffffff !important;

  font-family:
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    sans-serif;

  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.04em;
}

.thz-g05__guide-link-dark i {
  color: #ffffff !important;

  font-size: 20px;
  font-style: normal;
}


/* =========================================================
   FINAL
========================================================= */

.thz-g05__final {
  position: relative;

  padding: 145px 0;

  overflow: hidden;

  color: var(--g05-white);

  background:
    radial-gradient(
      circle at 50% 0,
      rgba(169, 138, 77, 0.17),
      transparent 35%
    ),
    #161616;
}

.thz-g05__final::after {
  content: "QUESTION";
  position: absolute;
  right: -25px;
  bottom: -30px;

  color: rgba(255, 255, 255, 0.024);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: clamp(90px, 16vw, 230px);
  line-height: 1;

  pointer-events: none;
}

.thz-g05__final-kicker {
  position: relative;
  z-index: 1;

  margin-bottom: 23px;


  color: var(--g05-gold-bright) !important;

  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: 0.3em;

  text-align: center;
}

.thz-g05__final-title {
  position: relative;
  z-index: 1;

  margin-bottom: 30px;

  color: #ffffff !important;

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(36px, 5.4vw, 62px);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.08em;

  text-align: center;
}

.thz-g05__final-lead {
  position: relative;
  z-index: 1;

  max-width: 690px;
  margin: 0 auto 75px;

  color: rgba(255, 255, 255, 0.84) !important;

  font-size: 14px;
  line-height: 2.1;

  text-align: center;
}

.thz-g05__final-check {
  position: relative;
  z-index: 1;

  max-width: 780px;
  margin: 0 auto 70px;
}

.thz-g05__final-check article {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 32px;

  padding: 31px 0;

  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.thz-g05__final-check article:first-child {
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.thz-g05__final-check article > span {
  display: flex;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;

  border: 1px solid rgba(216, 191, 130, 0.58);
  border-radius: 50%;

  color: var(--g05-gold-bright) !important;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 10px;
}

.thz-g05__final-check small {
  display: block;
  margin-bottom: 6px;

  color: var(--g05-gold-bright) !important;

  font-family: Arial, sans-serif;
  font-size: 8px;
  letter-spacing: 0.24em;
}

.thz-g05__final-check h3 {
  margin-bottom: 8px;

  color: #ffffff !important;

  font-size: 17px;
  font-weight: 500;
}

.thz-g05__final-check p {
  margin-bottom: 0;

  color: rgba(255, 255, 255, 0.82) !important;

  font-size: 12px;
  line-height: 1.9;
}

.thz-g05__final-message {
  position: relative;
  z-index: 1;

  max-width: 720px;
  margin: 0 auto 55px;

  text-align: center;
}

.thz-g05__final-message p {
  margin-bottom: 22px;

  color: rgba(255, 255, 255, 0.90) !important;

  font-size: 14px;
  line-height: 2.2;
}

.thz-g05__final-links {
  position: relative;
  z-index: 1;

  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 13px;

  max-width: 680px;
  margin: 0 auto;
}

.thz-g05__final-button {
  display: flex;
  min-height: 68px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;

  padding: 0 24px;

  font-size: 11px;
}

.thz-g05__final-button i {
  font-size: 18px;
  font-style: normal;
}

.thz-g05__final-button--main {
  background: var(--g05-gold-bright);
}

.thz-g05__final-button--main,
.thz-g05__final-button--main span,
.thz-g05__final-button--main i {
  color: var(--g05-deep) !important;
}

.thz-g05__final-button--main:hover {
  background: var(--g05-gold);
}

.thz-g05__final-button--main:hover,
.thz-g05__final-button--main:hover span,
.thz-g05__final-button--main:hover i {
  color: #ffffff !important;
}

.thz-g05__final-button--sub {
  border: 1px solid rgba(255, 255, 255, 0.34);
}

.thz-g05__final-button--sub,
.thz-g05__final-button--sub span,
.thz-g05__final-button--sub i {
  color: #ffffff !important;
}

.thz-g05__final-button--sub:hover,
.thz-g05__final-button--sub:hover span,
.thz-g05__final-button--sub:hover i {
  color: var(--g05-gold-bright) !important;
}


/* =========================================================
   COMPLETE
========================================================= */

.thz-g05__complete {
  padding: 130px 0;

  background: var(--g05-white);
}

.thz-g05__complete-inner {
  max-width: 820px;
  margin: 0 auto;

  text-align: center;
}

.thz-g05__complete-inner > p {
  margin-bottom: 22px;

  color: var(--g05-gold);

  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: 0.3em;
}

.thz-g05__complete-inner h2 {
  margin-bottom: 30px;

  color: var(--g05-black);

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(31px, 4.5vw, 48px);
  font-weight: 400;
  line-height: 1.65;
}

.thz-g05__complete-inner > span {
  display: block;

  color: var(--g05-muted);

  font-size: 13px;
  line-height: 2.15;
}


/* =========================================================
   GUIDE NAV
========================================================= */

.thz-g05__guide-nav {
  padding: 105px 0;

  background: #f1efe9;
}

.thz-g05__guide-nav-header {
  margin-bottom: 45px;

  text-align: center;
}

.thz-g05__guide-nav-header p {
  margin-bottom: 12px;

  color: var(--g05-gold);

  font-family: Arial, sans-serif;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.29em;
}

.thz-g05__guide-nav-header h2 {
  margin-bottom: 0;

  color: var(--g05-black);

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(24px, 3.5vw, 36px);
  font-weight: 400;
  letter-spacing: 0.06em;
}

.thz-g05__guide-nav-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);

  border-top: 1px solid var(--g05-border);
  border-left: 1px solid var(--g05-border);
}

.thz-g05__guide-nav-item {
  display: flex;
  min-height: 220px;
  flex-direction: column;

  padding: 31px 25px;

  border-right: 1px solid var(--g05-border);
  border-bottom: 1px solid var(--g05-border);

  background: var(--g05-white);

  transition:
    background 0.25s ease,
    transform 0.25s ease;
}

.thz-g05__guide-nav-item:hover {
  position: relative;
  z-index: 2;

  background: #f7f3ea;
  transform: translateY(-4px);
}

.thz-g05__guide-nav-item > span {
  margin-bottom: auto;

  color: var(--g05-gold);

  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: 0.18em;
}

.thz-g05__guide-nav-item strong {
  display: block;
  margin-bottom: 9px;

  color: var(--g05-black);

  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
}

.thz-g05__guide-nav-item small {
  color: var(--g05-muted);

  font-size: 10px;
  line-height: 1.6;
}

.thz-g05__guide-nav-item--current {
  color: var(--g05-white);

  background: var(--g05-deep);
}

.thz-g05__guide-nav-item--current:hover {
  background: var(--g05-deep);
  transform: none;
}

.thz-g05__guide-nav-item--current > span {
  color: var(--g05-gold-bright) !important;
}

.thz-g05__guide-nav-item--current strong {
  color: #ffffff !important;
}

.thz-g05__guide-nav-item--current small {
  color: rgba(255, 255, 255, 0.74) !important;
}


/* =========================================================
   TABLET
========================================================= */

@media screen and (max-width: 1050px) {

  .thz-g05__contents-list {
    grid-template-columns: repeat(4, 1fr);
  }

  .thz-g05__guide-nav-grid {
    grid-template-columns: repeat(2, 1fr);
  }

}


/* =========================================================
   SMALL TABLET
========================================================= */

@media screen and (max-width: 850px) {

  .thz-g05__featured-inner {
    grid-template-columns: 1fr;
  }

  .thz-g05__featured-label {
    min-height: auto;

    flex-direction: row;
    align-items: center;

    padding: 28px 35px;

    border-right: 1px solid rgba(255, 255, 255, 0.15);
    border-bottom: 0;
  }

  .thz-g05__featured-label strong {
    font-size: 55px;
  }

  .thz-g05__faq-grid {
    grid-template-columns: 1fr;
  }

  .thz-g05__faq-card--wide {
    grid-column: auto;
  }

  .thz-g05__size-feature {
    grid-template-columns: 1fr;
  }

}


/* =========================================================
   SMARTPHONE
========================================================= */

@media screen and (max-width: 767px) {

  .thz-g05 {
    font-size: 15px;
  }

  .thz-g05__container,
  .thz-g05__container--narrow {
    width: calc(100% - 36px);
  }


  /* HERO */

  .thz-g05__hero {
    min-height: 650px;
  }

  .thz-g05__hero::before {
    right: 20%;
  }

  .thz-g05__hero::after {
    right: -200px;
    bottom: -250px;
  }

  .thz-g05__hero-decoration span {
    right: -5px;
    bottom: 45px;

    font-size: 130px;
  }

  .thz-g05__hero-inner {
    padding-top: 90px;
    padding-bottom: 100px;
  }

  .thz-g05__eyebrow {
    font-size: 9px;
    letter-spacing: 0.25em;
  }

  .thz-g05__hero-subtitle {
    margin-bottom: 19px;

    font-size: 12px;
  }

  .thz-g05__hero-title {
    margin-bottom: 29px;

    font-size: 38px;
    line-height: 1.5;
  }

  .thz-g05__hero-lead {
    font-size: 12px;
    line-height: 2;
  }

  .thz-g05__hero-lead br {
    display: none;
  }

  .thz-g05__hero-scroll {
    bottom: 38px;
  }


  /* INTRO */

  .thz-g05__intro {
    padding: 88px 0;
  }

  .thz-g05__intro-title {
    margin-bottom: 32px;

    font-size: 30px;
  }

  .thz-g05__intro-text {
    font-size: 13px;
    line-height: 2.05;
  }


  /* CONTENTS */

  .thz-g05__contents {
    padding: 60px 0;
  }

  .thz-g05__contents-header {
    display: block;
  }

  .thz-g05__contents-header span {
    display: block;
    margin-bottom: 8px;
  }

  .thz-g05__contents-list {
    grid-template-columns: 1fr;
  }

  .thz-g05__contents-list a {
    min-height: 115px;

    padding: 22px;
  }

  .thz-g05__contents-list a > span {
    margin-bottom: 20px;
  }


  /* FEATURED */

  .thz-g05__featured {
    padding: 88px 0;
  }

  .thz-g05__featured-label {
    padding: 23px 25px;
  }

  .thz-g05__featured-label strong {
    font-size: 45px;
  }

  .thz-g05__featured-content {
    min-height: 0;

    padding: 42px 27px;
  }

  .thz-g05__featured-content h2 {
    font-size: 28px;
  }


  /* COMMON */

  .thz-g05__section {
    padding: 88px 0;
  }

  .thz-g05__section-header {
    grid-template-columns: 1fr;

    margin-bottom: 48px;
  }

  .thz-g05__section-number {
    margin-bottom: 20px;
  }

  .thz-g05__section-number span {
    font-size: 15px;
  }

  .thz-g05__section-heading h2 {
    font-size: 29px;
    line-height: 1.6;
  }

  .thz-g05__section-heading > span {
    font-size: 11px;
  }


  /* FAQ */

  .thz-g05__faq-question {
    min-height: auto;

    padding: 27px 25px;
  }

  .thz-g05__faq-question > span {
    margin-bottom: 18px;
  }

  .thz-g05__faq-question h3 {
    font-size: 19px;
  }

  .thz-g05__faq-answer {
    min-height: 0;

    padding: 31px 24px 33px 57px;
  }

  .thz-g05__faq-answer > span:first-child {
    top: 29px;
    left: 23px;
  }


  /* SIZE */

  .thz-g05__size-image,
  .thz-g05__size-image img {
    min-height: 350px;
  }

  .thz-g05__size-copy {
    padding: 42px 27px;
  }

  .thz-g05__size-copy h3 {
    font-size: 25px;
  }


  /* QUALITY */

  .thz-g05__quality-message {
    padding: 48px 28px;
  }

  .thz-g05__quality-message h3 {
    font-size: 25px;
  }


  /* SUPPORT */

  .thz-g05__support-intro h3 {
    font-size: 29px;
  }

  .thz-g05__support-intro > span {
    font-size: 13px;
  }

  .thz-g05__guide-link-dark {
    min-height: 85px;

    padding: 18px 21px;
  }


  /* FINAL */

  .thz-g05__final {
    padding: 100px 0;
  }

  .thz-g05__final-title {
    font-size: 35px;
  }

  .thz-g05__final-lead {
    margin-bottom: 55px;

    font-size: 12px;
  }

  .thz-g05__final-check article {
    grid-template-columns: 48px 1fr;
    gap: 20px;

    padding: 25px 0;
  }

  .thz-g05__final-check article > span {
    width: 44px;
    height: 44px;
  }

  .thz-g05__final-check h3 {
    font-size: 15px;
  }

  .thz-g05__final-message {
    text-align: left;
  }

  .thz-g05__final-message p {
    font-size: 13px;
    line-height: 2.1;
  }

  .thz-g05__final-links {
    grid-template-columns: 1fr;
  }


  /* COMPLETE */

  .thz-g05__complete {
    padding: 90px 0;
  }

  .thz-g05__complete-inner h2 {
    font-size: 29px;
  }

  .thz-g05__complete-inner > span {
    font-size: 12px;
  }

  .thz-g05__complete-inner > span br {
    display: none;
  }


  /* GUIDE NAV */

  .thz-g05__guide-nav {
    padding: 80px 0;
  }

  .thz-g05__guide-nav-grid {
    grid-template-columns: 1fr;
  }

  .thz-g05__guide-nav-item {
    min-height: 145px;

    padding: 25px;
  }

  .thz-g05__guide-nav-item > span {
    margin-bottom: 25px;
  }

}
/* =========================================================
   GUIDE05 SIZE GUIDE
   PC画像見切れ修正
========================================================= */

@media screen and (min-width: 851px) {

  .thz-g05__size-feature {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    min-height: 0;
  }

  .thz-g05__size-image {
    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 0;
    overflow: hidden;

    background: #f5f2ea;
  }

  .thz-g05__size-image img {
    display: block;

    width: 100%;
    height: auto;
    min-height: 0;

    object-fit: contain;
    object-position: center center;
  }

  .thz-g05__size-copy {
    min-height: 100%;
  }

}
/* =========================================================
   GUIDE05 FAQ
   PC 2列カードの高さ・罫線位置を統一
========================================================= */

@media screen and (min-width: 851px) {

  /* 1行ごとの左右カードを同じ高さにする */
  .thz-g05__faq-grid {
    align-items: stretch !important;
  }

  .thz-g05__faq-card {
    display: grid !important;
    grid-template-rows: 170px 1fr !important;
    height: 100% !important;
  }

  /* 質問エリア */
  .thz-g05__faq-question {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;

    width: 100% !important;
    min-height: 170px !important;
    height: 170px !important;

    padding: 30px 34px !important;
  }

  .thz-g05__faq-question > span {
    flex: 0 0 auto !important;
    margin-bottom: 22px !important;
  }

  .thz-g05__faq-question h3 {
    margin: 0 !important;
  }

  /* 回答エリア */
  .thz-g05__faq-answer {
    min-height: 250px !important;
    height: 100% !important;
  }


  /* -------------------------------------------------------
     横幅いっぱいのFAQ（Q05など）は通常高さに戻す
  ------------------------------------------------------- */

  .thz-g05__faq-card--wide {
    grid-template-rows: auto auto !important;
  }

  .thz-g05__faq-card--wide .thz-g05__faq-question {
    min-height: 0 !important;
    height: auto !important;
  }

}
/* =========================================================
   GUIDE01 暗背景テキスト・ボタン視認性 修正版
========================================================= */

/* ---------------------------------------------------------
   1. 周波数帯セクションの本文
--------------------------------------------------------- */

.thz-guide01 p,
.thz-guide01 span {
  color: inherit;
}

/* 暗背景エリアの本文を明るく */
.thz-guide01 .thz-guide01__spectrum p,
.thz-guide01 .thz-guide01__spectrum-text,
.thz-guide01 .thz-guide01__spectrum-text p {
  color: rgba(255, 255, 255, 0.84) !important;
}

/* 注釈 */
.thz-guide01 .thz-guide01__spectrum-note,
.thz-guide01 .thz-guide01__spectrum-note p {
  color: rgba(255, 255, 255, 0.70) !important;
}


/* ---------------------------------------------------------
   2. 暗背景内の説明文をまとめて保護
--------------------------------------------------------- */

.thz-guide01 [class*="dark"] p,
.thz-guide01 [class*="dark"] span {
  color: rgba(255, 255, 255, 0.84) !important;
}

.thz-guide01 [class*="dark"] h2,
.thz-guide01 [class*="dark"] h3 {
  color: #ffffff !important;
}


/* ---------------------------------------------------------
   3. NEXT GUIDE ボタン
--------------------------------------------------------- */

/* 黒背景ボタン */
.thz-guide01__next-button--main,
.thz-guide01__next-button--main span,
.thz-guide01__next-button--main i,
.thz-guide01__next-button--main strong {
  color: #ffffff !important;
}

/* 白背景ボタン */
.thz-guide01__next-button--sub,
.thz-guide01__next-button--sub span,
.thz-guide01__next-button--sub i,
.thz-guide01__next-button--sub strong {
  color: #2f2d29 !important;
}

/* hover */
.thz-guide01__next-button--main:hover,
.thz-guide01__next-button--main:hover span,
.thz-guide01__next-button--main:hover i {
  color: #ffffff !important;
}

.thz-guide01__next-button--sub:hover,
.thz-guide01__next-button--sub:hover span,
.thz-guide01__next-button--sub:hover i {
  color: #a98a4d !important;
}


/* ---------------------------------------------------------
   4. NEXT GUIDE周辺の本文
--------------------------------------------------------- */

.thz-guide01__next-guide h2,
.thz-guide01__next-guide h3 {
  color: #ffffff !important;
}

.thz-guide01__next-guide p,
.thz-guide01__next-guide small {
  color: rgba(255, 255, 255, 0.82) !important;
}


/* ---------------------------------------------------------
   5. スマートフォン
--------------------------------------------------------- */

@media screen and (max-width: 767px) {

  .thz-guide01 .thz-guide01__spectrum-text,
  .thz-guide01 .thz-guide01__spectrum-text p {
    color: rgba(255, 255, 255, 0.88) !important;
  }

}


/* =========================================================
   GUIDE01
   NEXT GUIDE「Guide02」ボタン 強制修正
========================================================= */

/* Guide01内のGuide02リンクだけを指定 */
.thz-guide01 a[href*="/hpgen/HPB/entries/11.html"],
.thz-guide01 a[href$="entries/11.html"] {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;

  min-height: 62px !important;
  padding: 0 22px !important;

  border: 1px solid rgba(255, 255, 255, 0.28) !important;

  background: #1d1d1c !important;
  background-color: #1d1d1c !important;

  color: #ffffff !important;

  opacity: 1 !important;
  visibility: visible !important;

  text-decoration: none !important;
}

/* 中にspan / strong / iなどが入っていても全て白 */
.thz-guide01 a[href*="/hpgen/HPB/entries/11.html"] *,
.thz-guide01 a[href$="entries/11.html"] * {
  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* 疑似要素も白 */
.thz-guide01 a[href*="/hpgen/HPB/entries/11.html"]::before,
.thz-guide01 a[href*="/hpgen/HPB/entries/11.html"]::after,
.thz-guide01 a[href$="entries/11.html"]::before,
.thz-guide01 a[href$="entries/11.html"]::after {
  color: #ffffff !important;
}

/* hover */
.thz-guide01 a[href*="/hpgen/HPB/entries/11.html"]:hover,
.thz-guide01 a[href$="entries/11.html"]:hover {
  border-color: #a98a4d !important;
  background: #a98a4d !important;
  background-color: #a98a4d !important;
  color: #ffffff !important;
}

/* =========================================================
   GUIDE01 NEXT GUIDE
   文字色・ボタン視認性 完全修正版
========================================================= */

/* -----------------------------------------
   NEXT GUIDE 全体
----------------------------------------- */

.thz-guide01__next {
  background: #17191b !important;
  color: #ffffff !important;
}


/* -----------------------------------------
   左側テキスト
----------------------------------------- */

/* NEXT GUIDE */
.thz-guide01__next-label {
  color: #d8bf82 !important;
}

/* GUIDE 02 */
.thz-guide01__next-number {
  color: #ffffff !important;
}

/* 6N純度とは、どのような意味ですか？ */
.thz-guide01__next-content h2,
.thz-guide01__next-content h2 * {
  color: #ffffff !important;
  opacity: 1 !important;
}

/* 説明本文 */
.thz-guide01__next-content > p:not(.thz-guide01__next-label):not(.thz-guide01__next-number) {
  color: rgba(255, 255, 255, 0.84) !important;
  opacity: 1 !important;
}


/* -----------------------------------------
   右側ボタン 共通
----------------------------------------- */

.thz-guide01__next-actions .thz-guide01__button {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;

  width: 100% !important;
  min-height: 62px !important;
  padding: 0 22px !important;

  box-sizing: border-box !important;

  text-decoration: none !important;

  opacity: 1 !important;
  visibility: visible !important;
}

.thz-guide01__next-actions .thz-guide01__button span {
  opacity: 1 !important;
  visibility: visible !important;
}


/* -----------------------------------------
   上側 Guide02 ボタン
----------------------------------------- */

.thz-guide01__next-actions .thz-guide01__button--primary {
  border: 1px solid rgba(255, 255, 255, 0.30) !important;

  background: #1d1f21 !important;
  background-color: #1d1f21 !important;

  color: #ffffff !important;
}

.thz-guide01__next-actions .thz-guide01__button--primary span {
  color: #ffffff !important;
}

.thz-guide01__next-actions .thz-guide01__button--primary:hover {
  border-color: #a98a4d !important;

  background: #a98a4d !important;
  background-color: #a98a4d !important;

  color: #ffffff !important;
}

.thz-guide01__next-actions .thz-guide01__button--primary:hover span {
  color: #ffffff !important;
}


/* -----------------------------------------
   下側 商品一覧ボタン
----------------------------------------- */

.thz-guide01__next-actions .thz-guide01__button--secondary {
  border: 1px solid rgba(255, 255, 255, 0.30) !important;

  background: transparent !important;

  color: #ffffff !important;
}

.thz-guide01__next-actions .thz-guide01__button--secondary span {
  color: #ffffff !important;
}

.thz-guide01__next-actions .thz-guide01__button--secondary:hover {
  border-color: #a98a4d !important;

  color: #d8bf82 !important;
}

.thz-guide01__next-actions .thz-guide01__button--secondary:hover span {
  color: #d8bf82 !important;
}


/* -----------------------------------------
   スマホ
----------------------------------------- */

@media screen and (max-width: 767px) {

  .thz-guide01__next-content h2 {
    color: #ffffff !important;
  }

  .thz-guide01__next-content > p:not(.thz-guide01__next-label):not(.thz-guide01__next-number) {
    color: rgba(255, 255, 255, 0.88) !important;
  }

}

/* =========================================================
   GUIDE01 ガイドナビ
   01〜05の文字位置を完全に統一
========================================================= */

.thz-guide01__guide-nav-item {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;

  min-height: 115px !important;

  padding: 24px 20px !important;
}

/* 番号 */
.thz-guide01__guide-nav-item > span {
  display: block !important;

  margin: 0 0 30px 0 !important;

  flex: none !important;

  line-height: 1 !important;
}

/* タイトル */
.thz-guide01__guide-nav-item > strong {
  display: block !important;

  margin: 0 !important;

  flex: none !important;

  line-height: 1.6 !important;
}

/* 現在地 */
.thz-guide01__guide-nav-item.is-current {
  justify-content: flex-start !important;
}

.thz-guide01__guide-nav-item.is-current > span {
  margin: 0 0 30px 0 !important;
}

.thz-guide01__guide-nav-item.is-current > strong {
  margin: 0 !important;
}

/* =========================================================
   GUIDE01 GUIDE NAV
   01〜05 タイトル位置 完全統一
========================================================= */

.thz-guide01__guide-nav-item,
.thz-guide01__guide-nav-item:hover,
.thz-guide01__guide-nav-item.is-current {
  display: grid !important;

  grid-template-columns: 1fr !important;
  grid-template-rows: 16px auto !important;

  align-content: start !important;
  align-items: start !important;
  justify-content: stretch !important;

  row-gap: 28px !important;

  min-height: 115px !important;
  height: 115px !important;

  padding: 24px 20px !important;

  box-sizing: border-box !important;
}


/* -----------------------------------------
   番号 01〜05
----------------------------------------- */

.thz-guide01__guide-nav-item > span,
.thz-guide01__guide-nav-item:hover > span,
.thz-guide01__guide-nav-item.is-current > span {
  display: block !important;

  width: auto !important;
  height: 16px !important;

  margin: 0 !important;
  padding: 0 !important;

  position: static !important;

  align-self: start !important;

  line-height: 16px !important;

  transform: none !important;
}


/* -----------------------------------------
   タイトル
----------------------------------------- */

.thz-guide01__guide-nav-item > strong,
.thz-guide01__guide-nav-item:hover > strong,
.thz-guide01__guide-nav-item.is-current > strong {
  display: block !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  position: static !important;

  align-self: start !important;

  line-height: 1.55 !important;

  transform: none !important;
}


/* -----------------------------------------
   PCのみ高さを統一
----------------------------------------- */

@media screen and (min-width: 768px) {

  .thz-guide01__guide-nav-grid {
    align-items: stretch !important;
  }

  .thz-guide01__guide-nav-item {
    min-height: 115px !important;
    height: 115px !important;
  }

}

/* =========================================================
   GUIDE01 GUIDE NAV
   PC：番号とタイトル位置を完全固定
========================================================= */

@media screen and (min-width: 768px) {

  .thz-guide01__guide-nav-item,
  .thz-guide01__guide-nav-item:hover,
  .thz-guide01__guide-nav-item.is-current {
    position: relative !important;

    display: block !important;

    height: 116px !important;
    min-height: 116px !important;

    padding: 0 !important;

    box-sizing: border-box !important;

    transform: none !important;
  }


  /* 01〜05 の番号 */
  .thz-guide01__guide-nav-item > span,
  .thz-guide01__guide-nav-item:hover > span,
  .thz-guide01__guide-nav-item.is-current > span {
    position: absolute !important;

    top: 25px !important;
    left: 20px !important;

    display: block !important;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    line-height: 1 !important;

    transform: none !important;
  }


  /* 商品名 */
  .thz-guide01__guide-nav-item > strong,
  .thz-guide01__guide-nav-item:hover > strong,
  .thz-guide01__guide-nav-item.is-current > strong {
    position: absolute !important;

    top: 71px !important;
    right: 20px !important;
    left: 20px !important;

    display: block !important;

    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    line-height: 1.45 !important;

    transform: none !important;
  }

}

/* =========================================================
   GUIDE01 下部ガイドナビ
   02が常時黒になる問題を修正
========================================================= */

@media screen and (min-width: 768px) {

  /* -------------------------------------------------------
     通常状態：02〜05は白
  ------------------------------------------------------- */

  .thz-guide01__guide-nav-item:not(.is-current),
  .thz-guide01__guide-nav-item:not(.is-current):visited {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #161616 !important;
  }

  .thz-guide01__guide-nav-item:not(.is-current) > span {
    color: #2f2d29 !important;
  }

  .thz-guide01__guide-nav-item:not(.is-current) > strong {
    color: #161616 !important;
  }


  /* -------------------------------------------------------
     現在地：01だけ黒
  ------------------------------------------------------- */

  .thz-guide01__guide-nav-item.is-current,
  .thz-guide01__guide-nav-item.is-current:visited {
    background: #17191b !important;
    background-color: #17191b !important;
  }

  .thz-guide01__guide-nav-item.is-current > span {
    color: #d8bf82 !important;
  }

  .thz-guide01__guide-nav-item.is-current > strong {
    color: #ffffff !important;
  }


  /* -------------------------------------------------------
     02〜05：マウスホバー時だけ黒
  ------------------------------------------------------- */

  .thz-guide01__guide-nav-item:not(.is-current):hover {
    background: #1d1d1c !important;
    background-color: #1d1d1c !important;
    color: #ffffff !important;
  }

  .thz-guide01__guide-nav-item:not(.is-current):hover > span {
    color: #d8bf82 !important;
  }

  .thz-guide01__guide-nav-item:not(.is-current):hover > strong {
    color: #ffffff !important;
  }

}

/* =========================================================
   GUIDE02 NEXT GUIDE
   ボタン文字色 修正版
========================================================= */

/* 上側：Guide03ボタン */
.thz-g02v2__next-button--main,
.thz-g02v2__next-button--main span,
.thz-g02v2__next-button--main i {
  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* 背景も明示 */
.thz-g02v2__next-button--main {
  background: #1d1d1c !important;
  background-color: #1d1d1c !important;

  border: 1px solid #1d1d1c !important;
}

/* hover */
.thz-g02v2__next-button--main:hover {
  background: #a98a4d !important;
  background-color: #a98a4d !important;

  border-color: #a98a4d !important;
}

.thz-g02v2__next-button--main:hover span,
.thz-g02v2__next-button--main:hover i {
  color: #ffffff !important;
}


/* 下側：商品一覧ボタン */
.thz-g02v2__next-button--sub,
.thz-g02v2__next-button--sub span,
.thz-g02v2__next-button--sub i {
  color: #2f2d29 !important;
  opacity: 1 !important;
}

/* hover */
.thz-g02v2__next-button--sub:hover,
.thz-g02v2__next-button--sub:hover span,
.thz-g02v2__next-button--sub:hover i {
  color: #a98a4d !important;
}

/* =========================================================
   GUIDE02 下部ガイドナビ
   番号・タイトル・説明文の高さ位置を統一
========================================================= */

@media screen and (min-width: 768px) {

  .thz-g02v2__guide-nav-grid {
    align-items: stretch !important;
  }

  .thz-g02v2__guide-nav-item,
  .thz-g02v2__guide-nav-item:hover,
  .thz-g02v2__guide-nav-item--current {
    position: relative !important;

    display: block !important;

    min-height: 220px !important;
    height: 220px !important;

    padding: 0 !important;

    box-sizing: border-box !important;

    transform: none !important;
  }



  /* -----------------------------------------
     GUIDE 01〜05
  ----------------------------------------- */

  .thz-g02v2__guide-nav-item > span {
    position: absolute !important;

    top: 31px !important;
    left: 25px !important;

    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    line-height: 1 !important;
  }


  /* -----------------------------------------
     タイトル
  ----------------------------------------- */

  .thz-g02v2__guide-nav-item > strong {
    position: absolute !important;

    top: 120px !important;
    right: 25px !important;
    left: 25px !important;

    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    line-height: 1.55 !important;
  }


  /* -----------------------------------------
     説明文
  ----------------------------------------- */

  .thz-g02v2__guide-nav-item > small {
    position: absolute !important;

    top: 168px !important;
    right: 25px !important;
    left: 25px !important;

    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    line-height: 1.55 !important;
  }

}
/* =========================================================
   GUIDE03 内周サイズガイド
   PC：画像全体を見せる
========================================================= */

@media screen and (min-width: 768px) {

  .thz-g03__measure-photo,
  .thz-g03__measure-image {
    overflow: hidden !important;
  }

  .thz-g03__measure-photo img,
  .thz-g03__measure-image img {
    width: 100% !important;
    height: 100% !important;

    object-fit: contain !important;
    object-position: center center !important;

    display: block !important;
  }

}
/* =========================================================
   GUIDE03 SECTION03
   内周サイズガイド画像・完全表示
========================================================= */

/* PC */
@media screen and (min-width: 768px) {

  .thz-g03__wrist-layout {
    display: grid !important;
    grid-template-columns: 1.15fr 1fr !important;
    align-items: stretch !important;
  }

  .thz-g03__wrist-image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    overflow: hidden !important;

    background: #f8f5ee !important;
  }

  .thz-g03__wrist-image img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    max-width: 100% !important;
    max-height: 100% !important;

    object-fit: contain !important;
    object-position: center center !important;

    margin: 0 !important;
    padding: 0 !important;
  }

}


/* スマートフォン
   現在の見え方を崩さず画像全体を表示 */
@media screen and (max-width: 767px) {

  .thz-g03__wrist-image {
    overflow: hidden !important;
    background: #f8f5ee !important;
  }

  .thz-g03__wrist-image img {
    display: block !important;

    width: 100% !important;
    height: auto !important;

    max-width: 100% !important;

    object-fit: contain !important;
    object-position: center center !important;

    margin: 0 auto !important;
  }

}
/* =========================================================
   GUIDE03 内周サイズガイド
   PC 最終レイアウト調整
========================================================= */

@media screen and (min-width: 768px) {

  .thz-g03__wrist-layout {
    display: grid !important;
    grid-template-columns: 1.08fr 0.92fr !important;
    align-items: stretch !important;
  }

  .thz-g03__wrist-image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 0 !important;

    padding: 0 !important;

    background: #f8f5ee !important;
  }

  .thz-g03__wrist-image img {
    display: block !important;

    width: 100% !important;
    height: auto !important;

    max-width: 100% !important;
    max-height: none !important;

    object-fit: contain !important;
    object-position: center center !important;

    margin: 0 !important;
  }

  .thz-g03__wrist-content {
    min-height: 100% !important;

    padding-top: 54px !important;
    padding-bottom: 54px !important;
  }

}
/* =========================================================
   GUIDE04 SECTION03
   WATER CARE - PC最終調整
========================================================= */

@media screen and (min-width: 768px) {

  /* SECTION03 上部の過剰な余白を調整 */
  .thz-g04__section--water .thz-g04__section-header {
    padding-top: 70px !important;
    padding-bottom: 55px !important;
  }

  /* BEFORE WASHING 左右レイアウト */
  .thz-g04__water-intro {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    column-gap: 80px !important;
    align-items: start !important;

    padding-top: 65px !important;
    padding-bottom: 70px !important;
  }

  /* 左側タイトル */
  .thz-g04__water-copy h3 {
    font-size: clamp(30px, 3.2vw, 46px) !important;
    line-height: 1.65 !important;
    letter-spacing: 0.04em !important;

    max-width: 430px !important;
    margin-top: 30px !important;

    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }

  /* 右側本文 */
  .thz-g04__water-text {
    padding-top: 4px !important;
  }

  .thz-g04__water-text p {
    line-height: 2 !important;
  }

}
/* =========================================================
   GUIDE04 SECTION03
   WATER CARE PCタイトル 最終修正
========================================================= */

@media screen and (min-width: 768px) {

  .thz-g04__water-intro {
    display: grid !important;
    grid-template-columns: 42% 58% !important;
    column-gap: 55px !important;
    align-items: start !important;
  }

  .thz-g04__water-copy {
    min-width: 0 !important;
  }

  .thz-g04__water-copy h3 {
    width: 100% !important;
    max-width: 360px !important;

    margin-top: 28px !important;

    font-size: 38px !important;
    line-height: 1.65 !important;
    letter-spacing: 0.03em !important;

    /* 前回のkeep-allを解除 */
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  .thz-g04__water-text {
    min-width: 0 !important;
    padding-top: 4px !important;
  }

}
/* =========================================================
   GUIDE04 SECTION03 WATER CARE
   PCレイアウト 最終修正版
   2026.08
========================================================= */

@media screen and (min-width: 768px) {

  /* -------------------------------------------------------
     WATER CARE セクション全体
  ------------------------------------------------------- */

  .thz-g04__section--water {
    overflow: hidden !important;
  }


  /* -------------------------------------------------------
     BEFORE WASHING 左右2列
  ------------------------------------------------------- */

  .thz-g04__water-intro {
    display: grid !important;

    /* gapを含めても必ず親幅以内に収める */
    grid-template-columns:
      minmax(0, 0.9fr)
      minmax(0, 1.1fr) !important;

    column-gap: 70px !important;

    width: 100% !important;
    max-width: 100% !important;

    align-items: start !important;

    padding-top: 65px !important;
    padding-bottom: 75px !important;

    box-sizing: border-box !important;
  }


  /* -------------------------------------------------------
     左側
  ------------------------------------------------------- */

  .thz-g04__water-copy {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    padding: 0 !important;
  }

  .thz-g04__water-kicker {
    margin-bottom: 28px !important;
  }

  .thz-g04__water-copy h3 {
    width: 100% !important;
    max-width: 390px !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 38px !important;
    line-height: 1.65 !important;
    letter-spacing: 0.03em !important;

    color: #ffffff !important;

    /* 日本語を自然に折り返す */
    word-break: normal !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
  }


  /* -------------------------------------------------------
     右側
  ------------------------------------------------------- */

  .thz-g04__water-text {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    padding: 3px 0 0 !important;

    box-sizing: border-box !important;
  }

  .thz-g04__water-text p {
    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    color: rgba(255, 255, 255, 0.86) !important;

    font-size: 14px !important;
    line-height: 2.05 !important;

    word-break: normal !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
  }

  .thz-g04__water-text p + p {
    margin-top: 25px !important;
  }

}

/* =========================================================
   GUIDE05 下部ガイドナビ
   PC：番号・タイトル・説明文の位置を統一
========================================================= */

@media screen and (min-width: 768px) {

  .thz-g05__guide-nav-grid {
    align-items: stretch !important;
  }

  .thz-g05__guide-nav-item,
  .thz-g05__guide-nav-item:hover,
  .thz-g05__guide-nav-item--current {
    position: relative !important;

    display: block !important;

    min-height: 220px !important;
    height: 220px !important;

    padding: 0 !important;

    box-sizing: border-box !important;

    transform: none !important;
  }


  /* GUIDE 01〜05 */
  .thz-g05__guide-nav-item > span {
    position: absolute !important;

    top: 34px !important;
    left: 25px !important;

    margin: 0 !important;
    padding: 0 !important;

    line-height: 1 !important;
  }


  /* タイトル */
  .thz-g05__guide-nav-item > strong {
    position: absolute !important;

    top: 120px !important;
    right: 25px !important;
    left: 25px !important;

    margin: 0 !important;
    padding: 0 !important;

    line-height: 1.55 !important;
  }


  /* 説明文 */
  .thz-g05__guide-nav-item > small {
    position: absolute !important;

    top: 172px !important;
    right: 25px !important;
    left: 25px !important;

    margin: 0 !important;
    padding: 0 !important;

    line-height: 1.55 !important;
  }

}
/* =========================================================
   GUIDE01 下部ガイドナビ
   スマホ版 最終修正
========================================================= */

@media screen and (max-width: 767px) {

  /* -----------------------------------------
     カード共通
  ----------------------------------------- */

  .thz-guide01__guide-nav-item,
  .thz-guide01__guide-nav-item:hover,
  .thz-guide01__guide-nav-item:visited {

    position: relative !important;

    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 16px auto !important;

    align-content: start !important;
    align-items: start !important;

    row-gap: 27px !important;

    width: 100% !important;
    min-height: 100px !important;
    height: auto !important;

    padding: 24px 20px !important;

    box-sizing: border-box !important;

    transform: none !important;
  }


  /* -----------------------------------------
     通常カード：02〜05
     常に白背景へ戻す
  ----------------------------------------- */

  .thz-guide01__guide-nav-item:not(.is-current),
  .thz-guide01__guide-nav-item:not(.is-current):visited,
  .thz-guide01__guide-nav-item:not(.is-current):hover {

    background: #ffffff !important;
    background-color: #ffffff !important;

    color: #161616 !important;
  }


  /* 番号 */
  .thz-guide01__guide-nav-item:not(.is-current) > span {

    position: static !important;

    display: block !important;

    width: auto !important;
    height: 16px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #5b5650 !important;

    line-height: 16px !important;

    transform: none !important;
  }


  /* タイトル */
  .thz-guide01__guide-nav-item:not(.is-current) > strong {

    position: static !important;

    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #161616 !important;

    line-height: 1.55 !important;

    transform: none !important;
  }


  /* -----------------------------------------
     現在地：Guide01のみ黒
  ----------------------------------------- */

  .thz-guide01__guide-nav-item.is-current,
  .thz-guide01__guide-nav-item.is-current:visited,
  .thz-guide01__guide-nav-item.is-current:hover {

    background: #17191b !important;
    background-color: #17191b !important;

    color: #ffffff !important;
  }


  .thz-guide01__guide-nav-item.is-current > span {

    position: static !important;

    display: block !important;

    width: auto !important;
    height: 16px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #d8bf82 !important;

    line-height: 16px !important;

    transform: none !important;
  }


  .thz-guide01__guide-nav-item.is-current > strong {

    position: static !important;

    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #ffffff !important;

    line-height: 1.55 !important;

    transform: none !important;
  }


  /* -----------------------------------------
     過去に追加したGuide02 URL直指定CSSを
     スマホでは完全に解除
  ----------------------------------------- */

  .thz-guide01__guide-nav
  a[href*="/hpgen/HPB/entries/11.html"],
  .thz-guide01__guide-nav
  a[href$="entries/11.html"] {

    background: #ffffff !important;
    background-color: #ffffff !important;

    color: #161616 !important;
  }


  .thz-guide01__guide-nav
  a[href*="/hpgen/HPB/entries/11.html"] > span,
  .thz-guide01__guide-nav
  a[href*="/hpgen/HPB/entries/11.html"] > strong,
  .thz-guide01__guide-nav
  a[href$="entries/11.html"] > span,
  .thz-guide01__guide-nav
  a[href$="entries/11.html"] > strong {

    position: static !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;
  }


  .thz-guide01__guide-nav
  a[href*="/hpgen/HPB/entries/11.html"] > span,
  .thz-guide01__guide-nav
  a[href$="entries/11.html"] > span {


    color: #5b5650 !important;
  }


  .thz-guide01__guide-nav
  a[href*="/hpgen/HPB/entries/11.html"] > strong,
  .thz-guide01__guide-nav
  a[href$="entries/11.html"] > strong {

    color: #161616 !important;
  }

}
/* =========================================================
   GUIDE NAVIGATION
   スマホ表示：全ボタンの高さを統一
========================================================= */

@media screen and (max-width: 767px) {

  .thz-guide01__guide-nav-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }

  .thz-guide01__guide-nav-item,
  .thz-guide01__guide-nav-item:link,
  .thz-guide01__guide-nav-item:visited {
    box-sizing: border-box !important;

    width: 100% !important;
    min-height: 100px !important;
    height: auto !important;

    padding: 20px 18px !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    align-items: flex-start !important;

    background: #fff !important;
    color: #18191b !important;

    border: 1px solid #e4e0d9 !important;
    text-decoration: none !important;
  }

  .thz-guide01__guide-nav-item span {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;

    font-size: 10px !important;
    line-height: 1 !important;
    color: #777 !important;
  }

  .thz-guide01__guide-nav-item strong {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;

    font-size: 14px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
    color: #18191b !important;
  }


  /* 現在表示しているGuideのみ黒背景 */
  .thz-guide01__guide-nav-item.is-current,
  .thz-guide01__guide-nav-item.is-current:link,
  .thz-guide01__guide-nav-item.is-current:visited {
    background: #18191b !important;
    border-color: #18191b !important;
    color: #fff !important;
  }

  .thz-guide01__guide-nav-item.is-current span {
    color: #c8ab67 !important;
  }

  .thz-guide01__guide-nav-item.is-current strong {
    color: #fff !important;
  }


  /* スマホではhoverによる黒背景を発生させない */
  .thz-guide01__guide-nav-item:not(.is-current):hover,
  .thz-guide01__guide-nav-item:not(.is-current):active,
  .thz-guide01__guide-nav-item:not(.is-current):focus {
    background: #fff !important;
    color: #18191b !important;
    border-color: #e4e0d9 !important;
  }

  .thz-guide01__guide-nav-item:not(.is-current):hover span,
  .thz-guide01__guide-nav-item:not(.is-current):active span,
  .thz-guide01__guide-nav-item:not(.is-current):focus span {
    color: #777 !important;
  }

  .thz-guide01__guide-nav-item:not(.is-current):hover strong,
  .thz-guide01__guide-nav-item:not(.is-current):active strong,
  .thz-guide01__guide-nav-item:not(.is-current):focus strong {
    color: #18191b !important;
  }

}
/* =========================================================
   GUIDE NAVIGATION
   SP 最終補正：01〜05の高さを完全統一
========================================================= */

@media screen and (max-width: 767px) {

  .thz-guide01__guide-nav-grid > a.thz-guide01__guide-nav-item,
  .thz-guide01__guide-nav-grid > a.thz-guide01__guide-nav-item:link,
  .thz-guide01__guide-nav-grid > a.thz-guide01__guide-nav-item:visited,
  .thz-guide01__guide-nav-grid > a.thz-guide01__guide-nav-item:hover,
  .thz-guide01__guide-nav-grid > a.thz-guide01__guide-nav-item:active,
  .thz-guide01__guide-nav-grid > a.thz-guide01__guide-nav-item:focus {

    box-sizing: border-box !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    align-items: flex-start !important;

    width: 100% !important;

    height: 94px !important;
    min-height: 94px !important;
    max-height: 94px !important;

    padding: 18px 16px !important;
    margin: 0 !important;

    line-height: normal !important;

    overflow: visible !important;
  }


  /* 番号 */
  .thz-guide01__guide-nav-grid > a.thz-guide01__guide-nav-item > span {
    display: block !important;

    position: static !important;
    inset: auto !important;
    transform: none !important;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 10px !important;
    line-height: 1 !important;
  }


  /* タイトル */
  .thz-guide01__guide-nav-grid > a.thz-guide01__guide-nav-item > strong {
    display: block !important;

    position: static !important;
    inset: auto !important;
    transform: none !important;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 14px !important;
    line-height: 1.4 !important;
  }


  /* 現在ページ */
  .thz-guide01__guide-nav-grid
  > a.thz-guide01__guide-nav-item.is-current {
    background: #18191b !important;
    border-color: #18191b !important;
  }

  .thz-guide01__guide-nav-grid
  > a.thz-guide01__guide-nav-item.is-current > span {
    color: #c9aa62 !important;
  }

  .thz-guide01__guide-nav-grid
  > a.thz-guide01__guide-nav-item.is-current > strong {
    color: #fff !important;
  }


  /* 非選択ページ */
  .thz-guide01__guide-nav-grid
  > a.thz-guide01__guide-nav-item:not(.is-current) {
    background: #fff !important;
    border: 1px solid #dedbd5 !important;
    color: #171717 !important;
  }

  .thz-guide01__guide-nav-grid
  > a.thz-guide01__guide-nav-item:not(.is-current) > span {
    color: #777 !important;
  }

  .thz-guide01__guide-nav-grid
  > a.thz-guide01__guide-nav-item:not(.is-current) > strong {
    color: #171717 !important;
  }

}

/* =========================================================
   TERAHERTZ ITEMS
   ダークセクション文字色修正
========================================================= */

.thz-guide .thz-section--dark {
  background: #2f2e2b;
}

/* 英字ラベル */
.thz-guide .thz-section--dark .thz-section-header__label {
  color: #d5b46f !important;
}

/* メイン見出し */
.thz-guide .thz-section--dark .thz-section-header__title {
  color: #ffffff !important;
}

/* 説明文 */
.thz-guide .thz-section--dark .thz-section-header__lead {
  color: rgba(255, 255, 255, 0.88) !important;
}
/* =========================================================
   ABOUT GOLD STONE
   仕立て風景
   PC / SP 共通：画像 → テキスト縦配置
========================================================= */

.thz-guide .thz-media.thz-media--crafting {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: none !important;
  gap: 0 !important;
}

/* =========================
   仕立て風景
========================= */

.thz-guide
.thz-media.thz-media--crafting
> .thz-media__image {
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
  margin: 0 !important;
}

.thz-guide
.thz-media.thz-media--crafting
> .thz-media__image img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;

  border-radius: 18px;
}


/* =========================
   テキスト
========================= */

.thz-guide
.thz-media.thz-media--crafting
> .thz-media__content {
  width: 100% !important;
  max-width: 820px !important;
  flex: none !important;

  margin: 0 auto !important;
  padding: 48px 0 0 !important;
}


/* SINCE 2016 */

.thz-guide
.thz-media.thz-media--crafting
.thz-media__eyebrow {
  margin-bottom: 14px !important;
}


/* 見出し */

.thz-guide
.thz-media.thz-media--crafting
.thz-media__title {
  margin: 0 0 24px !important;

  font-size: 32px !important;
  line-height: 1.5 !important;
  letter-spacing: 0.02em !important;

  word-break: normal !important;
}


/* 本文 */

.thz-guide
.thz-media.thz-media--crafting
.thz-text {
  font-size: 15px !important;
  line-height: 2 !important;
}


/* =========================================================
   Smartphone
========================================================= */

@media screen and (max-width: 767px) {

  .thz-guide
  .thz-media.thz-media--crafting
  > .thz-media__content {
    padding-top: 28px !important;
  }

  .thz-guide
  .thz-media.thz-media--crafting
  .thz-media__title {
    font-size: 24px !important;
    line-height: 1.55 !important;
  }

}
/* =========================================================
   ABOUT GOLD STONE
   仕立て風景 PC画像 高さ調整
========================================================= */

@media screen and (min-width: 768px) {

  .thz-guide
  .thz-media.thz-media--crafting
  > .thz-media__image {
    width: 100% !important;
    overflow: hidden !important;
    border-radius: 18px !important;
  }

  .thz-guide
  .thz-media.thz-media--crafting
  > .thz-media__image img {
    display: block !important;

    width: 100% !important;
    height: 430px !important;

    object-fit: cover !important;
    object-position: center center !important;

    border-radius: 0 !important;
  }

}
/* =====================================================
   GUIDE 01
   Section 04 / 05 画像まわり
   余白 強制調整版
===================================================== */

/* 共通 */
.thz-guide01__guide-image {
  box-sizing: border-box;
}


/* -----------------------------------------
   SECTION 04
   比較カード → 画像 → POINT
----------------------------------------- */

.thz-guide01__guide-image--material {
  margin: 0 auto !important;
  padding-top: 56px;
  padding-bottom: 64px;
}


/* -----------------------------------------
   SECTION 05
   見出し → 画像 → ANSWER
----------------------------------------- */

.thz-guide01__guide-image--natural {
  margin: 0 auto !important;
  padding-top: 48px;
  padding-bottom: 64px;
}


/* =====================================================
   SMARTPHONE
===================================================== */

@media screen and (max-width: 767px) {

  .thz-guide01__guide-image--material {
    margin: 0 auto !important;
    padding-top: 32px;
    padding-bottom: 38px;
  }

  .thz-guide01__guide-image--natural {
    margin: 0 auto !important;
    padding-top: 30px;
    padding-bottom: 38px;
  }

}
/* =====================================================
   GUIDE 01
   Section 05 上余白 再調整
===================================================== */

.thz-guide01__guide-image--natural {
  padding-top: 12px !important;
  padding-bottom: 64px;
}


/* スマートフォン */
@media screen and (max-width: 767px) {

  .thz-guide01__guide-image--natural {
    padding-top: 8px !important;
    padding-bottom: 38px;
  }

}
/* =====================================================
   GUIDE 01
   Responsive Guide Images
===================================================== */

.thz-guide01__guide-image picture {
  display: block;
  width: 100%;
}

.thz-guide01__guide-image picture img {
  display: block;
  width: 100%;
  height: auto;
}

/* =========================================
   GUIDE 02 / SECTION 05 実写画像
========================================= */

.thz-g02v2__inspection-image {
  display: block;
  width: 100%;
  height: auto;
}
/* =====================================================
   GUIDE02 PHOTO 05
   スマホ：HONEST PHOTOGRAPHY エリアの縦余白調整
===================================================== */
@media screen and (max-width: 767px) {

  .thz-g02v2__photography-copy {
    padding-top: 34px;
    padding-bottom: 38px;
  }

  .thz-g02v2__photography-copy > p:first-child {
    margin-bottom: 26px;
  }

}
/* =====================================================
   GUIDE02 PHOTO 05
   スマホ：見出しの視認性＋余白最終調整
===================================================== */
@media screen and (max-width: 767px) {

  .thz-g02v2__photography-copy {
    padding: 34px 24px 40px;
  }

  .thz-g02v2__photography-kicker {
    margin: 0 0 22px;
  }

  .thz-g02v2__photography-copy h2 {
    color: #ffffff !important;
    margin: 0 0 26px;
  }

  .thz-g02v2__photography-copy > p:not(.thz-g02v2__photography-kicker) {
    margin-top: 0;
  }

}
/* =========================================
   HOW TO USE 文字色修正
========================================= */

.gs-sage-incense__section--dark,
.gs-sage-incense__section--dark h2,
.gs-sage-incense__section--dark p,
.gs-sage-incense__section--dark span {
  color: #ffffff !important;
}

.gs-sage-incense__section--dark
.gs-sage-incense__section-title > p {
  color: #c8d5c4 !important;
}

.gs-sage-incense__steps span {
  color: #d9e4d5 !important;
}

.gs-sage-incense__steps p {
  color: #ffffff !important;
}
/* =========================================================
   GUIDE03 SECTION 02
   BEAD SIZE COMPARISON
========================================================= */

/* 比較画像 */
.thz-g03__bead-comparison-photo {
  width: 100%;
  margin: 48px auto 56px;
}

.thz-g03__bead-comparison-photo img {
  display: block;
  width: 100%;
  height: auto;
}

.thz-g03__bead-comparison-photo figcaption {
  margin-top: 14px;
  color: #777;
  font-size: 12px;
  line-height: 1.8;
  text-align: center;
  letter-spacing: 0.04em;
}


/* =========================================================
   サイズ別説明カード
========================================================= */

.thz-g03__bead-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid #ded9cf;
  border-left: 1px solid #ded9cf;
  margin-top: 0;
}

.thz-g03__bead-detail-card {
  position: relative;
  min-width: 0;
  padding: 40px 28px 36px;
  border-right: 1px solid #ded9cf;
  border-bottom: 1px solid #ded9cf;
  background: #fff;
}

.thz-g03__bead-detail-size {
  display: flex;
  align-items: flex-end;
  gap: 3px;
  margin-bottom: 24px;
  color: #b28a43;
}

.thz-g03__bead-detail-size span {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 44px;
  line-height: 1;
  font-weight: 400;
}

.thz-g03__bead-detail-size small {
  padding-bottom: 5px;
  font-size: 14px;
  line-height: 1;
}

.thz-g03__bead-detail-card h3 {
  margin: 0 0 18px;
  color: #191919;
  font-size: 19px;
  line-height: 1.6;
  font-weight: 500;
}

.thz-g03__bead-detail-card > p {
  margin: 0;
  color: #555;
  font-size: 14px;
  line-height: 2;
}


/* STANDARD */
.thz-g03__bead-detail-card--standard {
  background: #faf8f3;
}

.thz-g03__bead-detail-label {
  display: inline-block;
  margin-bottom: 17px;
  padding: 5px 10px;
  background: #b28a43;
  color: #fff;
  font-size: 9px;
  line-height: 1;
  letter-spacing: 0.14em;
}


/* 注記 */
.thz-g03__bead-note {
  margin: 24px 0 0;
  color: #777;
  font-size: 12px;
  line-height: 1.8;
}


/* =========================================================
   SMARTPHONE
========================================================= */
@media screen and (max-width: 767px) {

  .thz-g03__bead-comparison-photo {
    margin: 32px auto 38px;
  }

  .thz-g03__bead-comparison-photo figcaption {
    margin-top: 10px;
    padding: 0 8px;
    font-size: 10px;
    line-height: 1.7;
  }

  .thz-g03__bead-detail-grid {
    grid-template-columns: 1fr;
    border-top: 1px solid #ded9cf;
  }

  .thz-g03__bead-detail-card {
    padding: 32px 22px 30px;
  }

  .thz-g03__bead-detail-size {
    margin-bottom: 18px;
  }

  .thz-g03__bead-detail-size span {
    font-size: 38px;
  }

  .thz-g03__bead-detail-card h3 {
    margin-bottom: 14px;
    font-size: 18px;
  }

  .thz-g03__bead-detail-card > p {
    font-size: 13px;
    line-height: 1.9;
  }

  .thz-g03__bead-detail-card ul {
    margin-top: 20px;
    padding-top: 18px;
  }

  .thz-g03__bead-detail-card li {
    font-size: 12px;
  }

  .thz-g03__bead-note {
    margin-top: 18px;
    font-size: 10px;
    line-height: 1.8;
  }

}
/* SECTION02 微調整 */

.thz-g03__bead-detail-card {
  position: relative;
  padding-top: 40px;
}

.thz-g03__bead-detail-card--standard {
  padding-top: 40px;
}

/* STANDARDを右上へ */
.thz-g03__bead-detail-label {
  position: absolute;
  top: 16px;
  right: 16px;
  margin: 0;
  padding: 5px 9px;
  font-size: 8px;
  line-height: 1;
  letter-spacing: 0.12em;
}

/* サイズ表記の高さを統一 */
.thz-g03__bead-detail-size {
  min-height: 48px;
  margin-bottom: 22px;
}

/* 見出し */
.thz-g03__bead-detail-card h3 {
  min-height: 64px;
  margin-bottom: 18px;
}

/* 説明本文 */
.thz-g03__bead-detail-card > p {
  line-height: 2.05;
}

/* 箇条書き */
.thz-g03__bead-detail-card ul {
  margin-top: 24px;
  padding-top: 20px;
}

.thz-g03__bead-detail-card li {
  margin-top: 10px;
  line-height: 1.85;
}
/* SECTION02：箇条書き位置調整 */
.thz-g03__bead-detail-card ul {
  margin-top: 24px;
  padding-top: 20px;
  padding-left: 0;
}

.thz-g03__bead-detail-card li {
  position: relative;
  margin-top: 10px;
  padding-left: 18px;
  line-height: 1.85;
  list-style: none;
}

.thz-g03__bead-detail-card li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 0.72em;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #b28a43;
}
/* =========================================================
   SECTION02：箇条書き 最終調整
========================================================= */

.thz-g03__bead-detail-card ul {
  margin: 24px 0 0;
  padding: 20px 0 0;
  border-top: 1px solid #e4dfd6;
  list-style: none !important;
}

.thz-g03__bead-detail-card li {
  display: grid;
  grid-template-columns: 6px minmax(0, 1fr);
  column-gap: 9px;

  margin: 9px 0 0;
  padding: 0;

  list-style: none !important;
  line-height: 1.8;
}

.thz-g03__bead-detail-card li:first-child {
  margin-top: 0;
}

.thz-g03__bead-detail-card li::before {
  content: "";
  display: block;

  width: 4px;
  height: 4px;
  margin-top: 0.72em;

  border-radius: 50%;
  background: #b28a43;
}
/* =========================================================
   SECTION02：サイズ別ポイント
========================================================= */

.thz-g03__bead-detail-points {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #e4dfd6;
}

.thz-g03__bead-detail-points p {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 8px 0 0;
  padding: 0;

  color: #555;
  font-size: 13px;
  line-height: 1.8;
}

.thz-g03__bead-detail-points p:first-child {
  margin-top: 0;
}

.thz-g03__bead-detail-points i {
  flex: 0 0 4px;
  width: 4px;
  height: 4px;
  margin-top: 0.72em;

  border-radius: 50%;
  background: #b28a43;
}

.thz-g03__bead-detail-points span {
  display: block;
  min-width: 0;
  flex: 1;
}


/* スマホ */
@media screen and (max-width: 767px) {

  .thz-g03__bead-detail-points {
    margin-top: 20px;
    padding-top: 18px;
  }

  .thz-g03__bead-detail-points p {
    font-size: 12px;
    line-height: 1.8;
  }

}
/* =========================================================
   GUIDE03 SECTION01
   スマホ：商品画像の見切れ防止
========================================================= */
@media screen and (max-width: 767px) {

  .thz-g03__type-photo {
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden;
    background: #fff;
  }

  .thz-g03__type-photo img {
    display: block;
    width: 100%;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

}
@media screen and (max-width: 767px) {

  .thz-g03__type-photo img {
    box-sizing: border-box;
    padding: 12px;
  }

}
/* =========================================================
   GUIDE03 SECTION03
   HOW TO MEASURE / スマホ最適化
========================================================= */
@media screen and (max-width: 767px) {

  .thz-g03__measure-copy {
    width: 100%;
    max-width: none;
  }

  .thz-g03__measure-copy h3 {
    width: 100%;
    max-width: none;

    font-size: 26px;
    line-height: 1.65;
    letter-spacing: 0.02em;

    word-break: keep-all;
    overflow-wrap: normal;
  }

}
/* GUIDE03 SECTION03
   HOW TO MEASURE 見出し / スマホ最終調整 */
@media screen and (max-width: 767px) {

  .thz-g03__measure-copy {
    width: 100%;
    max-width: none;
  }

  .thz-g03__measure-copy h3 {
    width: 100%;
    max-width: none;

    font-size: 24px;
    line-height: 1.7;
    letter-spacing: 0.01em;

    word-break: keep-all;
    overflow-wrap: normal;
  }

}
@media screen and (max-width: 767px) {

  .thz-g03__wrist-content h3 {
    width: 100%;
    max-width: none;
    font-size: 24px;
    line-height: 1.65;
    letter-spacing: 0.01em;
    word-break: keep-all;
    overflow-wrap: normal;
  }

}
/* =========================================================
   GUIDE03 SECTION05
   COMBINATION PRODUCT IMAGE
========================================================= */

.thz-g03__combination-product {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  width: 170px;
  height: 170px;
  box-sizing: border-box;

  padding: 17px;

  border: 1px solid #c9a45d;
  border-radius: 50%;
  background: #fff;

  text-align: center;
}

.thz-g03__combination-product > span {
  display: block;

  margin: 0 0 7px;

  color: #b28a43;
  font-size: 8px;
  line-height: 1;
  letter-spacing: 0.16em;
}

.thz-g03__combination-product-image {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 94px;
  height: 74px;
  margin: 0 auto 6px;

  overflow: hidden;
}

.thz-g03__combination-product-image img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: contain;
  object-position: center;
}


/* ローラーのみ縦長商品のため調整 */
.thz-g03__combination-product-image--roller img {
  width: 72%;
  height: 100%;
}


.thz-g03__combination-product > strong {
  display: block;

  color: #191919;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 600;
}


/* ＋ */
.thz-g03__combination-plus {
  display: block;

  color: #b28a43;
  font-size: 28px;
  line-height: 1;
  font-style: normal;
  font-weight: 300;
}


/* =========================================================
   SMARTPHONE
========================================================= */

@media screen and (max-width: 767px) {

  .thz-g03__combination-product {
    width: 112px;
    height: 112px;

    padding: 9px;
  }

  .thz-g03__combination-product > span {
    margin-bottom: 3px;

    font-size: 6px;
    letter-spacing: 0.12em;
  }

  .thz-g03__combination-product-image {
    width: 64px;
    height: 48px;

    margin-bottom: 3px;
  }

  .thz-g03__combination-product-image--roller img {
    width: 70%;
  }

  .thz-g03__combination-product > strong {
    font-size: 10px;
    line-height: 1.3;
  }

  .thz-g03__combination-plus {
    font-size: 21px;
  }

}
/* ======================================================
   GUIDE03 SECTION05
   スマホ：円内の商品画像を拡大
====================================================== */

@media screen and (max-width: 767px) {

  /* 円の中の商品画像 */
  .thz-g03__combination-visual img {
    width: 72% !important;
    height: 72% !important;
    max-width: none !important;
    object-fit: contain !important;
    display: block;
    margin: 0 auto;
  }

}
/* ======================================================
   GUIDE03 SECTION05
   MOBILE 商品画像サイズ 最終調整
====================================================== */
@media screen and (max-width: 767px) {

  .thz-g03__combination-visual > div {
    overflow: hidden;
  }

  .thz-g03__combination-visual > div img {
    width: 88% !important;
    height: 88% !important;
    max-width: 88% !important;
    max-height: 88% !important;
    object-fit: contain !important;
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

}
/* ======================================================
   GUIDE03 SECTION05
   MOBILE：円内の商品画像をしっかり拡大
====================================================== */
@media screen and (max-width: 767px) {

  .thz-g03__combination-product-image {
    width: 88px !important;
    height: 62px !important;
    margin: 2px auto 4px !important;
    overflow: visible !important;
  }

  .thz-g03__combination-product-image img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  /* ローラーだけ縦長なので少し控えめ */
  .thz-g03__combination-product-image--roller {
    width: 72px !important;
    height: 64px !important;
  }

  .thz-g03__combination-product-image--roller img {
    width: 100% !important;
    height: 100% !important;
  }

}
/* ======================================================
   GUIDE03 SECTION05
   MOBILE：商品サークルを大きくする
====================================================== */
@media screen and (max-width: 767px) {

  /* 左右の商品サークル */
  .thz-g03__combination-visual > div {
    width: 128px !important;
    height: 128px !important;
    min-width: 128px !important;
    flex: 0 0 128px !important;
    box-sizing: border-box !important;
  }

  /* 2つの円を収めるエリア */
  .thz-g03__combination-visual {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
  }

  /* ＋ */
  .thz-g03__combination-visual > i {
    flex: 0 0 auto !important;
    margin: 0 !important;
  }

}
/* ======================================================
   GUIDE03 SECTION05
   MOBILE：円内の商品・文字サイズ最終調整
====================================================== */
@media screen and (max-width: 767px) {

  /* ---------------------------------
     上部英字
     BRACELET / NECKLACE / KASSA / ROLLER
  --------------------------------- */
  .thz-g03__combination-visual > div > span {
    font-size: 9px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.10em !important;
    margin-bottom: 4px !important;
  }


  /* ---------------------------------
     商品画像の入る枠
  --------------------------------- */
  .thz-g03__combination-product-image {
    width: 104px !important;
    height: 68px !important;
    margin: 1px auto 3px !important;
    overflow: visible !important;
  }

  .thz-g03__combination-product-image img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
  }


  /* ---------------------------------
     ローラーは縦長なので個別調整
  --------------------------------- */
  .thz-g03__combination-product-image--roller {
    width: 82px !important;
    height: 72px !important;
  }


  /* ---------------------------------
     商品名
  --------------------------------- */
  .thz-g03__combination-visual > div > strong {
    font-size: 15px !important;
    line-height: 1.25 !important;
    margin-top: 2px !important;
  }

}
@media screen and (max-width: 767px) {

  /* 英字ラベル */
  .thz-g03__combination-product > span {
    font-size: 8px !important;
    margin-bottom: 3px !important;
  }

  /* 通常商品画像 */
  .thz-g03__combination-product-image {
    width: 92px !important;
    height: 60px !important;
    margin: 1px auto 3px !important;
  }

  /* ローラーのみ */
  .thz-g03__combination-product-image--roller {
    width: 76px !important;
    height: 62px !important;
  }

  /* 日本語の商品名 */
  .thz-g03__combination-product > strong {
    font-size: 13px !important;
    line-height: 1.2 !important;
    margin-top: 2px !important;
  }

}
/* GUIDE03 SECTION05
   スマホ：円内の商品名を微調整
-------------------------------------- */
@media screen and (max-width: 767px) {

  .thz-g03__combination-product > strong {
    font-size: 13px !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;

    /* 円の左右に余裕を確保 */
    max-width: 90% !important;
    margin: 3px auto 0 !important;

    text-align: center !important;
  }

}
/* ======================================================
   GUIDE03 SECTION05
   スマホ：円内の商品名サイズ 強制調整
====================================================== */
@media screen and (max-width: 767px) {

  #thz-g03-combination
  .thz-g03__combination-visual
  .thz-g03__combination-product
  > strong {
    display: block !important;

    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;

    width: auto !important;
    max-width: 86% !important;

    margin: 3px auto 0 !important;
    padding: 0 !important;

    white-space: nowrap !important;
    text-align: center !important;

    transform: none !important;
  }

}
/* =====================================================
   GUIDE03 SECTION06
   比較表 スマホ横スクロール案内
===================================================== */

.thz-g03__comparison-swipe {
  display: none;
}

@media screen and (max-width: 767px) {

  .thz-g03__comparison-swipe {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;

    margin: 0 0 12px;
    padding: 0;

    color: rgba(255,255,255,.72);
    font-size: 11px;
    line-height: 1.5;
    letter-spacing: .06em;
  }

  .thz-g03__comparison-swipe span {
    color: #c49a4a;
    font-size: 18px;
    line-height: 1;
  }

  .thz-g03__comparison-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }

}
/* =========================================================
   GUIDE03 SECTION03
   NEW WRIST SIZE GUIDE IMAGE
   PC / SP
========================================================= */

.thz-g03__wrist-image {
  overflow: hidden;
}

.thz-g03__size-guide-picture {
  display: block;
  width: 100%;
}

.thz-g03__size-guide-picture img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
}


/* =========================================================
   SP
========================================================= */

@media screen and (max-width: 767px) {

  .thz-g03__wrist-image {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }

  .thz-g03__size-guide-picture {
    display: block;
    width: 100%;
    max-width: 100%;
  }

  .thz-g03__size-guide-picture img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain;
    margin: 0 auto;
  }

}
/* =========================================================
   GUIDE 04 - PHOTO
========================================================= */

.thz-g04__process-photo {
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
  background: #f2f0eb;
}

.thz-g04__process-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* SP */
@media screen and (max-width: 767px) {

  .thz-g04__process-photo {
    width: 100%;
    height: auto;
  }

  .thz-g04__process-photo img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }

}
/* ======================================================
   GUIDE 04
   SPのみ：PHOTO 01 / 02 / 03 の写真上下の余白帯を削除
   PC版は変更しない
====================================================== */

@media screen and (max-width: 767px) {

  /* 写真側のコンテナ余白を削除 */
  .thz-g04__photo,
  .thz-g04__photo-wrap,
  .thz-g04__visual,
  .thz-g04__image {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* figure自体の余白を削除 */
  .thz-g04__photo figure,
  .thz-g04__photo-wrap figure,
  .thz-g04__visual figure,
  .thz-g04__image figure {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* 画像を横幅いっぱいに */
  .thz-g04__photo img,
  .thz-g04__photo-wrap img,
  .thz-g04__visual img,
  .thz-g04__image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
  }

}
/* =========================================================
   GUIDE04
   SPのみ：実写写真の上下余白・帯を削除
   PCには影響させない
========================================================= */
@media screen and (max-width: 767px) {

  /* 写真を包む親要素 */
  .thz-g04__basic-photo,
  .thz-g04__storage-photo,
  .thz-g04__bracelet-photo {
    height: auto !important;
    min-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    display: block !important;
  }

  /* figure */
  .thz-g04__basic-photo .thz-g04__process-photo,
  .thz-g04__storage-photo .thz-g04__process-photo,
  .thz-g04__bracelet-photo .thz-g04__process-photo {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
  }

  /* 実際の画像 */
  .thz-g04__basic-photo .thz-g04__process-photo img,
  .thz-g04__storage-photo .thz-g04__process-photo img,
  .thz-g04__bracelet-photo .thz-g04__process-photo img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
  }
}
/* =========================================================
   GUIDE04
   SP写真エリア完全修正版
   PC版には一切影響なし
========================================================= */
@media screen and (max-width: 1024px) {
	

  /* PCの左右2カラム構造をSPでは完全解除 */
  .thz-g04__basic-layout,
  .thz-g04__storage-layout,
  .thz-g04__bracelet-feature {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
  }

  /* 写真エリアのPC用固定高さを完全解除 */
  .thz-g04__basic-photo,
  .thz-g04__storage-photo,
  .thz-g04__bracelet-photo {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  /* figureも画像の実寸比率に合わせる */
  .thz-g04__process-photo {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }

  /* 写真そのもの */
  .thz-g04__process-photo img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: unset !important;
    object-position: center !important;
  }

}
/* =========================================================
   GUIDE04
   実機スマホ・タッチ端末専用
   PHOTO 01 / 02 / 03 上下余白を削除
   PC表示には影響させない
========================================================= */

@media (hover: none) and (pointer: coarse) {

  .thz-g04 .thz-g04__basic-layout,
  .thz-g04 .thz-g04__storage-layout,
  .thz-g04 .thz-g04__bracelet-feature {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  .thz-g04 .thz-g04__basic-photo,
  .thz-g04 .thz-g04__storage-photo,
  .thz-g04 .thz-g04__bracelet-photo {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .thz-g04 .thz-g04__process-photo {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }

  .thz-g04 .thz-g04__process-photo img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
  }

}
/* =====================================================
   GUIDE04 SECTION 01
   大見出しのみ最終調整
   写真・左右レイアウトには影響させない
   ===================================================== */

@media screen and (min-width: 768px) {

  #thz-g04-basic .thz-g04__basic-content > h3 {
    font-size: 36px;
    line-height: 1.72;
    letter-spacing: 0.02em;
  }

}
/* =====================================================
   GUIDE04 SECTION 03
   WATER CARE 大見出しのみ最終調整
   ===================================================== */

@media screen and (min-width: 768px) {

  .thz-g04__water-copy > h3 {
    font-size: 36px;
    line-height: 1.75;
    letter-spacing: 0.02em;
  }

}
/* =====================================================
   GUIDE04 SECTION 03
   WATER CARE 大見出し 強制調整
   ===================================================== */

@media screen and (min-width: 768px) {

  .thz-g04__water-intro .thz-g04__water-copy > h3 {
    font-size: 32px !important;
    line-height: 1.65 !important;
    letter-spacing: 0.01em !important;
  }

}
/* =========================================================
   GOLD STONE TERAHERTZ GUIDE 05
   PC FINAL LAYOUT ADJUSTMENT
   HERO / INTRO / SECTION HEADER
   ========================================================= */

@media screen and (min-width: 768px) {


  /* =====================================================
     01. HERO
     高さを少し圧縮してFAQ本編へ早くつなげる
     ===================================================== */

  .thz-g05__hero {
    min-height: 680px !important;
    height: auto !important;
  }

  .thz-g05__hero-inner {
    min-height: 680px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  /* HERO内テキストの間隔を少し詰める */
  .thz-g05__hero-subtitle {
    margin-top: 28px !important;
  }

  .thz-g05__hero-lead {
    margin-top: 28px !important;
  }

  .thz-g05__hero-scroll {
    margin-top: 34px !important;
  }


  /* =====================================================
     02. INTRODUCTION
     「分からないまま、選ばなくていい。」を強調
     縦方向の余白を整理
     ===================================================== */

  .thz-g05__intro {
    padding-top: 85px !important;
    padding-bottom: 100px !important;
  }

  .thz-g05__intro .thz-g05__container--narrow {
    max-width: 880px;
  }

  .thz-g05__intro-title {
    margin-top: 24px !important;
    margin-bottom: 42px !important;

    font-size: 28px !important;
    line-height: 1.7 !important;
    letter-spacing: 0.04em;
  }

  .thz-g05__intro-text {
    margin-top: 0 !important;
  }

  .thz-g05__intro-text p {
    margin-top: 0;
    margin-bottom: 25px;
  }

  .thz-g05__intro-text p:last-child {
    margin-bottom: 0;
  }


  /* =====================================================
     03. SECTION HEADER
     番号・英字・日本語見出しの距離を整理
     ===================================================== */

  .thz-g05__section-header {
    display: grid !important;
    grid-template-columns: 72px 1fr !important;
    column-gap: 36px !important;
    align-items: start !important;

    max-width: 760px;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .thz-g05__section-number {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .thz-g05__section-heading {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }

  .thz-g05__section-heading > p {
    margin: 0 0 24px !important;
  }

  .thz-g05__section-heading > h2 {
    margin: 0 0 24px !important;

    font-size: 22px;
    line-height: 1.6;
  }

  .thz-g05__section-heading > span {
    display: block;
    margin: 0 !important;
    line-height: 2;
  }


  /* =====================================================
     SECTIONごとの上部余白
     FAQが長いので広すぎる空間を少しだけ圧縮
     ===================================================== */

  .thz-g05__section {
    padding-top: 105px !important;
    padding-bottom: 110px !important;
  }

  .thz-g05__section-header {
    margin-bottom: 72px !important;
  }


  /* =====================================================
     DARK SECTIONでも同じ位置関係を維持
     ===================================================== */

  .thz-g05__section-header--dark {
    max-width: 760px;
  }

}

/* =========================================================
   GUIDE05 SECTION HEADER
   PC版 最終リセット＆整列
   ========================================================= */

@media screen and (min-width: 768px) {

  /* ------------------------------
     見出し全体
     ------------------------------ */

  .thz-g05__section-header {
    display: grid !important;
    grid-template-columns: 74px minmax(0, 1fr) !important;
    column-gap: 34px !important;

    width: 100% !important;
    max-width: 760px !important;

    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 72px !important;

    padding: 0 !important;

    align-items: start !important;
  }


  /* ------------------------------
     01 / 02 / 03...
     ------------------------------ */

  .thz-g05__section-number {
    position: static !important;
    transform: none !important;

    width: auto !important;
    margin: 0 !important;
    padding: 2px 0 0 !important;

    text-align: left !important;

    grid-column: 1 !important;
    grid-row: 1 !important;

    justify-self: start !important;
    align-self: start !important;
  }


  /* ------------------------------
     英字＋日本語見出し＋説明文
     ------------------------------ */

  .thz-g05__section-heading {
    display: block !important;

    position: static !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;

    transform: none !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;

    grid-column: 2 !important;
    grid-row: 1 !important;

    justify-self: stretch !important;
    align-self: start !important;
  }


  /* ------------------------------
     MATERIAL & PURITY
     ------------------------------ */

  .thz-g05__section-heading > p {
    display: block !important;

    position: static !important;
    transform: none !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 0 14px !important;
    padding: 0 !important;

    text-align: left !important;
  }


  /* ------------------------------
     素材について
     ------------------------------ */

  .thz-g05__section-heading > h2 {
    display: block !important;

    position: static !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;

    transform: none !important;

    float: none !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 0 18px !important;
    padding: 0 !important;

    text-align: left !important;

    font-size: 29px !important;
    line-height: 1.55 !important;

    grid-column: auto !important;
    grid-row: auto !important;

    justify-self: start !important;
  }


  /* ------------------------------
     説明文
     ------------------------------ */

  .thz-g05__section-heading > span {
    display: block !important;

    position: static !important;
    transform: none !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;

    font-size: 13px !important;
    line-height: 1.9 !important;

    grid-column: auto !important;
    grid-row: auto !important;
  }

}
/* =========================================================
   GUIDE05 SECTION HEADER
   SP版 最終調整
   ========================================================= */

@media screen and (max-width: 767px) {

  .thz-g05__section-header {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 48px !important;
    padding: 0 !important;
  }

  /* 01 */
  .thz-g05__section-number {
    position: static !important;
    width: 100% !important;
    margin: 0 0 28px !important;
    padding: 0 !important;
    transform: none !important;
    text-align: left !important;
  }

  /* 見出しグループ */
  .thz-g05__section-heading {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    text-align: left !important;
  }

  /* MATERIAL & PURITY */
  .thz-g05__section-heading > p {
    display: block !important;
    width: 100% !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    text-align: left !important;
  }

  /* 素材について */
  .thz-g05__section-heading > h2 {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    transform: none !important;

    text-align: left !important;

    font-size: 24px !important;
    line-height: 1.55 !important;
  }

  /* 説明文 */
  .thz-g05__section-heading > span {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;

    text-align: left !important;

    font-size: 12px !important;
    line-height: 1.9 !important;
  }

}
/* =========================================================
   GUIDE02 SECTION HEADER
   GUIDE05基準・完全統一版
   PC / SP
========================================================= */


/* =========================================================
   PC
========================================================= */

@media screen and (min-width: 768px) {

  /* 見出し全体 */
  .thz-g02v2__section-header {
    display: grid !important;
    grid-template-columns: 74px minmax(0, 1fr) !important;
    column-gap: 34px !important;

    width: 100% !important;
    max-width: 760px !important;

    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 72px !important;

    padding: 0 !important;

    align-items: start !important;
  }


  /* 01 / 02 / 03... */
  .thz-g02v2__section-number {
    position: static !important;
    transform: none !important;

    width: auto !important;

    margin: 0 !important;
    padding: 2px 0 0 !important;

    text-align: left !important;

    grid-column: 1 !important;
    grid-row: 1 !important;

    justify-self: start !important;
    align-self: start !important;
  }


  /* 英字＋日本語見出し＋説明文 */
  .thz-g02v2__section-heading {
    display: block !important;

    position: static !important;
    inset: auto !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    transform: none !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;

    grid-column: 2 !important;
    grid-row: 1 !important;

    justify-self: stretch !important;
    align-self: start !important;
  }


  /* UNDERSTANDING PURITY */
  .thz-g02v2__section-heading > p {
    display: block !important;

    position: static !important;
    transform: none !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 0 14px !important;
    padding: 0 !important;

    text-align: left !important;
  }


  /* 6N純度とは */
  .thz-g02v2__section-heading > h2 {
    display: block !important;

    position: static !important;
    inset: auto !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    transform: none !important;
    float: none !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 0 18px !important;
    padding: 0 !important;

    text-align: left !important;

    font-size: 29px !important;
    line-height: 1.55 !important;

    grid-column: auto !important;
    grid-row: auto !important;

    justify-self: start !important;
  }


  /* 説明文 */
  .thz-g02v2__section-heading > span {
    display: block !important;

    position: static !important;
    transform: none !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;

    font-size: 13px !important;
    line-height: 1.9 !important;

    grid-column: auto !important;
    grid-row: auto !important;
  }

}


/* =========================================================
   SMARTPHONE
========================================================= */

@media screen and (max-width: 767px) {

  .thz-g02v2__section-header {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 0 48px !important;
    padding: 0 !important;
  }


  /* 01 */
  .thz-g02v2__section-number {
    position: static !important;

    width: 100% !important;

    margin: 0 0 28px !important;
    padding: 0 !important;

    transform: none !important;

    text-align: left !important;
  }


  /* 見出しグループ */
  .thz-g02v2__section-heading {
    display: block !important;

    position: static !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;

    text-align: left !important;
  }


  /* UNDERSTANDING PURITY */
  .thz-g02v2__section-heading > p {
    display: block !important;

    width: 100% !important;

    margin: 0 0 16px !important;
    padding: 0 !important;

    text-align: left !important;
  }


  /* 6N純度とは */
  .thz-g02v2__section-heading > h2 {
    display: block !important;

    position: static !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 0 18px !important;
    padding: 0 !important;

    transform: none !important;

    text-align: left !important;

    font-size: 24px !important;
    line-height: 1.55 !important;
  }


  /* 説明文 */
  .thz-g02v2__section-heading > span {
    display: block !important;

    position: static !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;

    text-align: left !important;

    font-size: 12px !important;
    line-height: 1.9 !important;
  }

}


/* =========================================================
   DARK SECTION
   SECTION 03 など
========================================================= */

.thz-g02v2__section-header--dark
.thz-g02v2__section-heading > h2 {
  color: #ffffff !important;
}

.thz-g02v2__section-header--dark
.thz-g02v2__section-heading > span {
  color: rgba(255, 255, 255, 0.78) !important;
}
/* =========================================================
   GUIDE03 SECTION HEADER
   GUIDE05基準・完全統一版
   PC / SP
========================================================= */


/* =========================================================
   PC
========================================================= */

@media screen and (min-width: 768px) {

  .thz-g03__section-header {
    display: grid !important;
    grid-template-columns: 74px minmax(0, 1fr) !important;
    column-gap: 34px !important;

    width: 100% !important;
    max-width: 760px !important;

    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 72px !important;

    padding: 0 !important;

    align-items: start !important;
  }


  .thz-g03__section-number {
    position: static !important;
    transform: none !important;

    width: auto !important;

    margin: 0 !important;
    padding: 2px 0 0 !important;

    text-align: left !important;

    grid-column: 1 !important;
    grid-row: 1 !important;

    justify-self: start !important;
    align-self: start !important;
  }


  .thz-g03__section-heading {
    display: block !important;

    position: static !important;
    inset: auto !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    transform: none !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;

    grid-column: 2 !important;
    grid-row: 1 !important;

    justify-self: stretch !important;
    align-self: start !important;
  }


  .thz-g03__section-heading > p {
    display: block !important;

    position: static !important;
    transform: none !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 0 14px !important;
    padding: 0 !important;

    text-align: left !important;
  }


  .thz-g03__section-heading > h2 {
    display: block !important;

    position: static !important;
    inset: auto !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    transform: none !important;
    float: none !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 0 18px !important;
    padding: 0 !important;

    text-align: left !important;

    font-size: 29px !important;
    line-height: 1.55 !important;

    grid-column: auto !important;
    grid-row: auto !important;

    justify-self: start !important;
  }


  .thz-g03__section-heading > span {
    display: block !important;

    position: static !important;
    transform: none !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;

    font-size: 13px !important;
    line-height: 1.9 !important;

    grid-column: auto !important;
    grid-row: auto !important;
  }

}


/* =========================================================
   SMARTPHONE
========================================================= */

@media screen and (max-width: 767px) {

  .thz-g03__section-header {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 0 48px !important;
    padding: 0 !important;
  }


  .thz-g03__section-number {
    position: static !important;

    width: 100% !important;

    margin: 0 0 28px !important;
    padding: 0 !important;

    transform: none !important;

    text-align: left !important;
  }


  .thz-g03__section-heading {
    display: block !important;

    position: static !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;

    text-align: left !important;
  }


  .thz-g03__section-heading > p {
    display: block !important;

    width: 100% !important;

    margin: 0 0 16px !important;
    padding: 0 !important;

    text-align: left !important;
  }


  .thz-g03__section-heading > h2 {
    display: block !important;

    position: static !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 0 18px !important;
    padding: 0 !important;

    transform: none !important;

    text-align: left !important;

    font-size: 24px !important;
    line-height: 1.55 !important;
  }


  .thz-g03__section-heading > span {
    display: block !important;

    position: static !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;

    text-align: left !important;

    font-size: 12px !important;
    line-height: 1.9 !important;
  }

}


/* =========================================================
   DARK SECTION
========================================================= */

.thz-g03__section-header--dark
.thz-g03__section-heading > h2 {
  color: #ffffff !important;
}

.thz-g03__section-header--dark
.thz-g03__section-heading > span {
  color: rgba(255, 255, 255, 0.78) !important;
}
/* =========================================================
   GUIDE04 SECTION HEADER
   GUIDE05基準・完全統一版
   PC / SP
========================================================= */


/* =========================================================
   PC
========================================================= */

@media screen and (min-width: 768px) {

  .thz-g04__section-header {
    display: grid !important;
    grid-template-columns: 74px minmax(0, 1fr) !important;
    column-gap: 34px !important;

    width: 100% !important;
    max-width: 760px !important;

    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 72px !important;

    padding: 0 !important;

    align-items: start !important;
  }


  .thz-g04__section-number {
    position: static !important;
    transform: none !important;

    width: auto !important;

    margin: 0 !important;
    padding: 2px 0 0 !important;

    text-align: left !important;

    grid-column: 1 !important;
    grid-row: 1 !important;

    justify-self: start !important;
    align-self: start !important;
  }


  .thz-g04__section-heading {
    display: block !important;

    position: static !important;
    inset: auto !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    transform: none !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;

    grid-column: 2 !important;
    grid-row: 1 !important;

    justify-self: stretch !important;
    align-self: start !important;
  }


  .thz-g04__section-heading > p {
    display: block !important;

    position: static !important;
    transform: none !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 0 14px !important;
    padding: 0 !important;

    text-align: left !important;
  }


  .thz-g04__section-heading > h2 {
    display: block !important;

    position: static !important;
    inset: auto !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    transform: none !important;
    float: none !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 0 18px !important;
    padding: 0 !important;

    text-align: left !important;

    font-size: 29px !important;
    line-height: 1.55 !important;

    grid-column: auto !important;
    grid-row: auto !important;

    justify-self: start !important;
  }


  .thz-g04__section-heading > span {
    display: block !important;

    position: static !important;
    transform: none !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;

    font-size: 13px !important;
    line-height: 1.9 !important;

    grid-column: auto !important;
    grid-row: auto !important;
  }

}


/* =========================================================
   SMARTPHONE
========================================================= */

@media screen and (max-width: 767px) {

  .thz-g04__section-header {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 0 48px !important;
    padding: 0 !important;
  }


  .thz-g04__section-number {
    position: static !important;

    width: 100% !important;

    margin: 0 0 28px !important;
    padding: 0 !important;

    transform: none !important;

    text-align: left !important;
  }


  .thz-g04__section-heading {
    display: block !important;

    position: static !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;

    text-align: left !important;
  }


  .thz-g04__section-heading > p {
    display: block !important;

    width: 100% !important;

    margin: 0 0 16px !important;
    padding: 0 !important;

    text-align: left !important;
  }


  .thz-g04__section-heading > h2 {
    display: block !important;

    position: static !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 0 18px !important;
    padding: 0 !important;

    transform: none !important;

    text-align: left !important;

    font-size: 24px !important;
    line-height: 1.55 !important;
  }


  .thz-g04__section-heading > span {
    display: block !important;

    position: static !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;

    text-align: left !important;

    font-size: 12px !important;
    line-height: 1.9 !important;
  }

}


/* =========================================================
   DARK SECTION
========================================================= */

.thz-g04__section-header--dark
.thz-g04__section-heading > h2 {
  color: #ffffff !important;
}

.thz-g04__section-header--dark
.thz-g04__section-heading > span {
  color: rgba(255, 255, 255, 0.78) !important;
}
/* =========================================================
   GUIDE01 GUIDE NAVIGATION
   GUIDE02〜05 デザイン完全統一
========================================================= */

.thz-guide01__guide-nav {
  padding: 105px 0 !important;
  background: #f1efe9 !important;
}


/* -------------------------------
   見出し
-------------------------------- */

.thz-guide01__guide-nav-header {
  margin-bottom: 45px !important;
  text-align: center !important;
}

.thz-guide01__guide-nav-header > p {
  margin: 0 0 12px !important;

  color: #a88645 !important;

  font-family: Arial, sans-serif !important;
  font-size: 9px !important;
  font-weight: 600 !important;

  letter-spacing: 0.29em !important;
}

.thz-guide01__guide-nav-header > h2 {
  margin: 0 !important;

  color: #181818 !important;

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif !important;

  font-size: clamp(24px, 3.5vw, 36px) !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  letter-spacing: 0.06em !important;
}


/* -------------------------------
   5カード
-------------------------------- */

.thz-guide01__guide-nav-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 0 !important;

  border-top: 1px solid #dedbd5 !important;
  border-left: 1px solid #dedbd5 !important;
}


/* -------------------------------
   カード共通
-------------------------------- */

.thz-guide01__guide-nav-grid
> a.thz-guide01__guide-nav-item,
.thz-guide01__guide-nav-grid
> a.thz-guide01__guide-nav-item:link,
.thz-guide01__guide-nav-grid
> a.thz-guide01__guide-nav-item:visited {

  position: static !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;

  width: 100% !important;

  height: auto !important;
  min-height: 220px !important;
  max-height: none !important;

  padding: 31px 25px !important;
  margin: 0 !important;

  box-sizing: border-box !important;

  color: #181818 !important;

  border: 0 !important;
  border-right: 1px solid #dedbd5 !important;
  border-bottom: 1px solid #dedbd5 !important;

  background: #ffffff !important;

  text-decoration: none !important;

  transform: none !important;

  transition:
    background 0.25s ease,
    transform 0.25s ease !important;
}


/* GUIDE 01〜05 */
.thz-guide01__guide-nav-grid
> a.thz-guide01__guide-nav-item > span {

  position: static !important;

  display: block !important;

  width: auto !important;
  height: auto !important;

  margin: 0 0 auto !important;
  padding: 0 !important;

  color: #a88645 !important;

  font-family: Arial, sans-serif !important;
  font-size: 9px !important;
  font-weight: 400 !important;

  line-height: 1.4 !important;
  letter-spacing: 0.18em !important;

  transform: none !important;
}


/* タイトル */
.thz-guide01__guide-nav-grid
> a.thz-guide01__guide-nav-item > strong {

  position: static !important;

  display: block !important;

  width: 100% !important;

  margin: 0 0 9px !important;
  padding: 0 !important;

  color: #181818 !important;

  font-size: 14px !important;
  font-weight: 500 !important;

  line-height: 1.6 !important;

  transform: none !important;
}


/* 説明 */
.thz-guide01__guide-nav-grid
> a.thz-guide01__guide-nav-item > small {

  display: block !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #77736d !important;

  font-size: 10px !important;
  font-weight: 400 !important;

  line-height: 1.6 !important;
}


/* -------------------------------
   現在ページ GUIDE01
-------------------------------- */

.thz-guide01__guide-nav-grid
> a.thz-guide01__guide-nav-item.is-current,
.thz-guide01__guide-nav-grid
> a.thz-guide01__guide-nav-item.is-current:link,
.thz-guide01__guide-nav-grid
> a.thz-guide01__guide-nav-item.is-current:visited,
.thz-guide01__guide-nav-grid
> a.thz-guide01__guide-nav-item.is-current:hover {

  background: #1d1d1c !important;
  border-color: #1d1d1c !important;

  transform: none !important;
}

.thz-guide01__guide-nav-grid
> a.thz-guide01__guide-nav-item.is-current > span {
  color: #d8bf82 !important;
}

.thz-guide01__guide-nav-grid
> a.thz-guide01__guide-nav-item.is-current > strong {
  color: #ffffff !important;
}

.thz-guide01__guide-nav-grid
> a.thz-guide01__guide-nav-item.is-current > small {
  color: rgba(255, 255, 255, 0.72) !important;
}


/* -------------------------------
   PC hover
-------------------------------- */

@media screen and (min-width: 768px) {

  .thz-guide01__guide-nav-grid
  > a.thz-guide01__guide-nav-item:not(.is-current):hover {

    background: #f7f3ea !important;

    transform: translateY(-4px) !important;
  }

}


/* =========================================================
   SMARTPHONE
========================================================= */

@media screen and (max-width: 767px) {

  .thz-guide01__guide-nav {
    padding: 80px 0 !important;
  }

  .thz-guide01__guide-nav-header {
    margin-bottom: 36px !important;
  }

  .thz-guide01__guide-nav-header > h2 {
    font-size: 22px !important;
    line-height: 1.65 !important;
  }

  .thz-guide01__guide-nav-grid {
    grid-template-columns: 1fr !important;
  }

  .thz-guide01__guide-nav-grid
  > a.thz-guide01__guide-nav-item,
  .thz-guide01__guide-nav-grid
  > a.thz-guide01__guide-nav-item:link,
  .thz-guide01__guide-nav-grid
  > a.thz-guide01__guide-nav-item:visited {

    min-height: 145px !important;
    height: auto !important;
    max-height: none !important;

    padding: 25px !important;
  }

  .thz-guide01__guide-nav-grid
  > a.thz-guide01__guide-nav-item > span {
    margin-bottom: 25px !important;
  }

}
/* =========================================================
   GUIDE01 GUIDE NAV
   見出しサイズを他GUIDEと統一
========================================================= */

.thz-guide01__guide-nav-header > h2 {
  font-size: 15px !important;
  line-height: 1.8 !important;
  font-weight: 400 !important;
  letter-spacing: 0.08em !important;
}
/* =========================================================
   GUIDE01 下部ガイドナビ
   GUIDE02〜05と同じ縦位置へ完全統一
   PCのみ
========================================================= */

@media screen and (min-width: 768px) {

  /* -----------------------------------------
     カード本体
  ----------------------------------------- */

  .thz-guide01__guide-nav-grid
  > a.thz-guide01__guide-nav-item,
  .thz-guide01__guide-nav-grid
  > a.thz-guide01__guide-nav-item:link,
  .thz-guide01__guide-nav-grid
  > a.thz-guide01__guide-nav-item:visited,
  .thz-guide01__guide-nav-grid
  > a.thz-guide01__guide-nav-item:hover,
  .thz-guide01__guide-nav-grid
  > a.thz-guide01__guide-nav-item.is-current {

    position: relative !important;

    display: block !important;

    width: 100% !important;

    min-height: 220px !important;
    height: 220px !important;
    max-height: 220px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
  }


  /* -----------------------------------------
     GUIDE 01〜05
     上段の英字
  ----------------------------------------- */

  .thz-guide01__guide-nav-grid
  > a.thz-guide01__guide-nav-item > span {

    position: absolute !important;

    top: 31px !important;
    left: 25px !important;
    right: auto !important;
    bottom: auto !important;

    display: block !important;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 9px !important;
    line-height: 1 !important;
    letter-spacing: 0.18em !important;

    transform: none !important;
  }


  /* -----------------------------------------
     タイトル
     5カードすべて同じY座標
  ----------------------------------------- */

  .thz-guide01__guide-nav-grid
  > a.thz-guide01__guide-nav-item > strong {

    position: absolute !important;

    top: 120px !important;
    left: 25px !important;
    right: 25px !important;
    bottom: auto !important;

    display: block !important;

    width: auto !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #181818 !important;

    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;

    transform: none !important;
  }


  /* -----------------------------------------
     説明文
     GUIDE02が2行でも開始位置を完全固定
  ----------------------------------------- */

  .thz-guide01__guide-nav-grid
  > a.thz-guide01__guide-nav-item > small {

    position: absolute !important;

    top: 168px !important;
    left: 25px !important;
    right: 25px !important;
    bottom: auto !important;

    display: block !important;

    width: auto !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #77736d !important;

    font-size: 10px !important;
    line-height: 1.55 !important;

    transform: none !important;
  }


  /* -----------------------------------------
     現在地 GUIDE01
  ----------------------------------------- */

  .thz-guide01__guide-nav-grid
  > a.thz-guide01__guide-nav-item.is-current > strong {
    color: #ffffff !important;
  }

  .thz-guide01__guide-nav-grid
  > a.thz-guide01__guide-nav-item.is-current > small {
    color: rgba(255, 255, 255, 0.72) !important;
  }

}

/* =========================================================
   GUIDE01 見出し + 下部GUIDE NAV 最終統一CSS
   既存CSSの一番最後に追加してください
========================================================= */

/* =========================================================
   SECTION HEADER - PC
========================================================= */
@media screen and (min-width: 768px) {
  .thz-guide01__unified-header {
    display: grid !important;
    grid-template-columns: 74px minmax(0, 1fr) !important;
    column-gap: 34px !important;
    width: 100% !important;
    max-width: 760px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 72px !important;
    padding: 0 !important;
    align-items: start !important;
  }

  .thz-guide01__unified-number {
    width: auto !important;
    margin: 0 !important;
    padding: 2px 0 0 !important;
    text-align: left !important;
  }

  .thz-guide01__unified-number > span {
    display: block !important;
    color: #a88645 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 18px !important;
    line-height: 1 !important;
    letter-spacing: 0.08em !important;
  }

  .thz-guide01__unified-heading {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }

  .thz-guide01__unified-heading > p {
    margin: 0 0 14px !important;
    padding: 0 !important;
    color: #a88645 !important;
    font-family: Arial, sans-serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    letter-spacing: 0.28em !important;
    text-align: left !important;
  }

  .thz-guide01__unified-heading > h2 {
    margin: 0 0 18px !important;
    padding: 0 !important;
    color: #181818 !important;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", serif !important;
    font-size: 29px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
    letter-spacing: 0.075em !important;
    text-align: left !important;
  }

  .thz-guide01__unified-heading > span {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #77736d !important;
    font-size: 13px !important;
    line-height: 1.9 !important;
    text-align: left !important;
  }
}

/* DARK SECTION */
.thz-guide01__unified-header--dark .thz-guide01__unified-heading > h2 {
  color: #ffffff !important;
}
.thz-guide01__unified-header--dark .thz-guide01__unified-heading > span {
  color: rgba(255,255,255,0.78) !important;
}
.thz-guide01__unified-header--dark .thz-guide01__unified-number > span {
  color: #d8bf82 !important;
}

/* =========================================================
   SECTION HEADER - SMARTPHONE
========================================================= */
@media screen and (max-width: 767px) {
  .thz-guide01__unified-header {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 48px !important;
    padding: 0 !important;
  }

  .thz-guide01__unified-number {
    width: 100% !important;
    margin: 0 0 28px !important;
    padding: 0 !important;
    text-align: left !important;
  }

  .thz-guide01__unified-number > span {
    font-size: 15px !important;
  }

  .thz-guide01__unified-heading {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }

  .thz-guide01__unified-heading > p {
    margin: 0 0 16px !important;
    font-size: 10px !important;
    text-align: left !important;
  }

  .thz-guide01__unified-heading > h2 {
    margin: 0 0 18px !important;
    font-size: 24px !important;
    line-height: 1.55 !important;
    text-align: left !important;
  }

  .thz-guide01__unified-heading > span {
    font-size: 12px !important;
    line-height: 1.9 !important;
    text-align: left !important;
  }
}

/* =========================================================
   GUIDE NAV - HEADER TITLE SIZE
========================================================= */
.thz-guide01__guide-nav-header {
  margin-bottom: 45px !important;
  text-align: center !important;
}
.thz-guide01__guide-nav-header > p {
  margin: 0 0 12px !important;
  color: #a88645 !important;
  font-family: Arial, sans-serif !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: 0.29em !important;
}
.thz-guide01__guide-nav-header > h2 {
  margin: 0 !important;
  color: #181818 !important;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.8 !important;
  letter-spacing: 0.08em !important;
}

/* =========================================================
   GUIDE NAV - PC: GUIDE02〜05と同じ固定座標方式
========================================================= */
@media screen and (min-width: 768px) {
  .thz-guide01__guide-nav-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0,1fr)) !important;
    gap: 0 !important;
  }

  .thz-guide01__guide-nav-grid > a.thz-guide01__guide-nav-item,
  .thz-guide01__guide-nav-grid > a.thz-guide01__guide-nav-item:link,
  .thz-guide01__guide-nav-grid > a.thz-guide01__guide-nav-item:visited,
  .thz-guide01__guide-nav-grid > a.thz-guide01__guide-nav-item:hover,
  .thz-guide01__guide-nav-grid > a.thz-guide01__guide-nav-item.is-current {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-height: 220px !important;
    height: 220px !important;
    max-height: 220px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    transform: none !important;
  }

  .thz-guide01__guide-nav-grid > a.thz-guide01__guide-nav-item > span {
    position: absolute !important;
    top: 31px !important;
    left: 25px !important;
    right: auto !important;
    bottom: auto !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 9px !important;
    line-height: 1 !important;
    letter-spacing: 0.18em !important;
    transform: none !important;
  }

  .thz-guide01__guide-nav-grid > a.thz-guide01__guide-nav-item > strong {
    position: absolute !important;
    top: 120px !important;
    left: 25px !important;
    right: 25px !important;
    bottom: auto !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #181818 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
    transform: none !important;
  }

  .thz-guide01__guide-nav-grid > a.thz-guide01__guide-nav-item > small {
    position: absolute !important;
    top: 168px !important;
    left: 25px !important;
    right: 25px !important;
    bottom: auto !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #77736d !important;
    font-size: 10px !important;
    line-height: 1.55 !important;
    transform: none !important;
  }

  .thz-guide01__guide-nav-grid > a.thz-guide01__guide-nav-item.is-current > strong {
    color: #ffffff !important;
  }
  .thz-guide01__guide-nav-grid > a.thz-guide01__guide-nav-item.is-current > small {
    color: rgba(255,255,255,0.72) !important;
  }
}

/* SMARTPHONE: 見出しタイトルのみ他GUIDEに合わせる */
@media screen and (max-width: 767px) {
  .thz-guide01__guide-nav-header > h2 {
    font-size: 14px !important;
    line-height: 1.8 !important;
  }
}

/* =========================================================
   GUIDE01 HERO
   GUIDE02〜05 デザイン統一版
========================================================= */

.thz-guide01__hero {
  position: relative !important;

  display: flex !important;
  align-items: center !important;

  min-height: 760px !important;

  overflow: hidden !important;

  color: #ffffff !important;

  background:
    radial-gradient(
      circle at 80% 25%,
      rgba(187, 156, 91, 0.13),
      transparent 36%
    ),
    linear-gradient(
      135deg,
      #111111 0%,
      #232220 57%,
      #171717 100%
    ) !important;

  isolation: isolate !important;
}


/* GUIDE02〜05にある縦ラインを追加 */
.thz-guide01__hero::before {
  content: "";

  position: absolute;

  top: 0;
  right: 15%;

  width: 1px;
  height: 100%;

  background:
    linear-gradient(
      to bottom,
      transparent,
      rgba(216, 191, 130, 0.24),
      transparent
    );

  z-index: 1;
}


/* =========================================================
   INNER
========================================================= */

.thz-guide01__hero-inner {
  position: relative !important;
  z-index: 5 !important;

  width: min(1160px, calc(100% - 56px)) !important;

  margin-right: auto !important;
  margin-left: auto !important;

  padding-top: 110px !important;
  padding-bottom: 110px !important;
}


/* =========================================================
   TEXT AREA
========================================================= */

.thz-guide01__hero-content {
  position: relative !important;
  z-index: 5 !important;

  width: 100% !important;
  max-width: 720px !important;

  text-align: left !important;
}


/* TERAHERTZ GUIDE 01 */
.thz-guide01__hero-eyebrow {
  margin: 0 0 24px !important;

  color: #d8bf82 !important;

  font-family: Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;

  line-height: 1.5 !important;
  letter-spacing: 0.32em !important;

  text-align: left !important;
}


/* テラヘルツとは */
.thz-guide01__hero-subtitle {
  margin: 0 0 22px !important;

  color: rgba(255, 255, 255, 0.72) !important;

  font-family:
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Yu Gothic",
    "Meiryo",
    sans-serif !important;

  font-size: 14px !important;
  font-weight: 400 !important;

  line-height: 1.8 !important;
  letter-spacing: 0.15em !important;

  text-align: left !important;
}


/* 大見出し */
.thz-guide01__hero-title {
  width: 100% !important;
  max-width: 850px !important;

  margin: 0 0 35px !important;
  padding: 0 !important;

  color: #ffffff !important;

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif !important;

  font-size: clamp(45px, 6.5vw, 83px) !important;
  font-weight: 400 !important;

  line-height: 1.35 !important;
  letter-spacing: 0.075em !important;

  text-align: left !important;
}


/* 説明文 */
.thz-guide01__hero-lead {
  width: 100% !important;
  max-width: 710px !important;

  margin: 0 !important;
  padding: 0 !important;

  color: rgba(255, 255, 255, 0.76) !important;

  font-family:
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Yu Gothic",
    "Meiryo",
    sans-serif !important;

  font-size: 14px !important;
  font-weight: 400 !important;

  line-height: 2.15 !important;
  letter-spacing: 0.04em !important;

  text-align: left !important;
}


/* =========================================================
   SCROLL
========================================================= */

.thz-guide01__hero-scroll {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;

  margin-top: 42px !important;
}

.thz-guide01__hero-scroll > span {
  color: rgba(255, 255, 255, 0.42) !important;

  font-family: Arial, sans-serif !important;
  font-size: 8px !important;

  letter-spacing: 0.25em !important;
}

.thz-guide01__hero-scroll > i {
  display: block !important;

  width: 72px !important;
  height: 1px !important;

  background:
    linear-gradient(
      to right,
      #d8bf82,
      rgba(216, 191, 130, 0)
    ) !important;
}


/* =========================================================
   GUIDE01独自 背景装飾
   軌道＋球体
========================================================= */

.thz-guide01__hero-decoration {
  position: absolute !important;

  top: 50% !important;
  right: 3% !important;

  width: min(570px, 54vw) !important;
  height: min(570px, 54vw) !important;

  transform: translateY(-50%) !important;

  z-index: 2 !important;

  pointer-events: none !important;
}


.thz-guide01__hero-orbit {
  position: absolute !important;

  top: 50% !important;
  left: 50% !important;

  border: 1px solid rgba(255, 255, 255, 0.20) !important;
  border-radius: 50% !important;

  transform: translate(-50%, -50%) !important;
}


.thz-guide01__hero-orbit--01 {
  width: 100% !important;
  height: 100% !important;
}

.thz-guide01__hero-orbit--02 {
  width: 72% !important;
  height: 72% !important;
}

.thz-guide01__hero-orbit--03 {
  width: 42% !important;
  height: 42% !important;
}


.thz-guide01__hero-core {
  position: absolute !important;

  top: 50% !important;
  left: 50% !important;

  width: 66px !important;
  height: 66px !important;

  border-radius: 50% !important;

  background:
    radial-gradient(
      circle at 38% 35%,
      #ffffff 0%,
      #dedede 15%,
      #8b8b8b 50%,
      #444444 78%,
      #1e1e1e 100%
    ) !important;

  box-shadow:
    0 0 32px rgba(255, 255, 255, 0.15) !important;

  transform: translate(-50%, -50%) !important;
}


/* =========================================================
   旧GUIDE01 HERO指定を無効化
========================================================= */

.thz-guide01__eyebrow,
.thz-guide01__title,
.thz-guide01__hero-copy,
.thz-guide01__hero-text {
  display: none !important;
}


/* =========================================================
   SMARTPHONE
========================================================= */

@media screen and (max-width: 767px) {

  .thz-guide01__hero {
    min-height: 650px !important;
  }


  .thz-guide01__hero::before {
    right: 20% !important;
  }


  .thz-guide01__hero-inner {
    width: calc(100% - 36px) !important;

    padding-top: 90px !important;
    padding-bottom: 100px !important;
  }


  .thz-guide01__hero-content {
    max-width: none !important;
  }


  .thz-guide01__hero-eyebrow {
    margin-bottom: 24px !important;

    font-size: 9px !important;
    letter-spacing: 0.25em !important;
  }


  .thz-guide01__hero-subtitle {
    margin-bottom: 19px !important;

    font-size: 12px !important;
  }


  .thz-guide01__hero-title {
    margin-bottom: 29px !important;

    font-size: 38px !important;
    line-height: 1.5 !important;
  }


  .thz-guide01__hero-lead {
    font-size: 12px !important;
    line-height: 2 !important;
  }


  .thz-guide01__hero-lead br {
    display: none !important;
  }


  .thz-guide01__hero-scroll {
    margin-top: 38px !important;
  }


  /* スマホでは軌道を右下へ控えめに */
  .thz-guide01__hero-decoration {
    top: auto !important;
    right: -165px !important;
    bottom: -120px !important;

    width: 430px !important;
    height: 430px !important;

    transform: none !important;

    opacity: 0.55 !important;
  }


  .thz-guide01__hero-core {
    width: 52px !important;
    height: 52px !important;
  }

}
/* =========================================================
   GUIDE01 SECTION HEADER
   SPをPCと同じ文字組みに統一
========================================================= */

@media screen and (max-width: 767px) {

  .thz-guide01__unified-number > span {
    color: #a88645 !important;

    font-family:
      Georgia,
      "Times New Roman",
      serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0.08em !important;
  }


  .thz-guide01__unified-heading > p {
    margin: 0 0 16px !important;

    color: #a88645 !important;

    font-family: Arial, sans-serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;

    line-height: 1.5 !important;
    letter-spacing: 0.28em !important;
  }


  .thz-guide01__unified-heading > h2 {
    margin: 0 0 18px !important;

    color: #181818 !important;

    font-family:
      "Yu Mincho",
      "Hiragino Mincho ProN",
      "YuMincho",
      serif !important;

    font-size: 24px !important;
    font-weight: 400 !important;

    line-height: 1.6 !important;
    letter-spacing: 0.06em !important;

    text-align: left !important;
  }


  .thz-guide01__unified-heading > span {
    display: block !important;

    margin: 0 !important;

    color: #77736d !important;

    font-family:
      "Hiragino Kaku Gothic ProN",
      "Hiragino Sans",
      "Yu Gothic",
      "Meiryo",
      sans-serif !important;

    font-size: 12px !important;
    font-weight: 400 !important;

    line-height: 1.9 !important;
    letter-spacing: 0.03em !important;

    text-align: left !important;
  }

}
/* =========================================================
   GUIDE01 HERO 高さ最終調整
   デザインは維持して縦方向のみ圧縮
========================================================= */

/* PC */
@media screen and (min-width: 768px) {

  .thz-guide01__hero {
    min-height: 620px !important;
    height: 620px !important;
  }

}


/* SP */
@media screen and (max-width: 767px) {

  .thz-guide01__hero {
    min-height: 460px !important;
    height: 460px !important;
  }

}
/* =========================================================
   GUIDE01 最下部 GUIDE MENU
   SPカード高さを GUIDE02〜05 に統一
========================================================= */

@media screen and (max-width: 767px) {

  /* 各ガイドカード */
  .thz-guide01__guide-link {
    min-height: 0 !important;
    height: 165px !important;
    padding: 22px 22px !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
  }

}
/* =========================================================
   GUIDE01 下部ガイドナビ
   SPカードを GUIDE02〜05 と同等の高さへ圧縮
========================================================= */

@media screen and (max-width: 767px) {

  .thz-guide01__guide-nav-grid
  > a.thz-guide01__guide-nav-item,
  .thz-guide01__guide-nav-grid
  > a.thz-guide01__guide-nav-item:link,
  .thz-guide01__guide-nav-grid
  > a.thz-guide01__guide-nav-item:visited {

    position: relative !important;

    display: block !important;

    width: 100% !important;

    min-height: 145px !important;
    height: 145px !important;
    max-height: 145px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
  }


  /* GUIDE 01〜05 */
  .thz-guide01__guide-nav-grid
  > a.thz-guide01__guide-nav-item > span {

    position: absolute !important;

    top: 22px !important;
    left: 22px !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 9px !important;
    line-height: 1 !important;
    letter-spacing: 0.18em !important;
  }


  /* タイトル */
  .thz-guide01__guide-nav-grid
  > a.thz-guide01__guide-nav-item > strong {

    position: absolute !important;

    top: 72px !important;
    left: 22px !important;
    right: 22px !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 14px !important;
    line-height: 1.5 !important;
    font-weight: 500 !important;
  }


  /* 説明文 */
  .thz-guide01__guide-nav-grid
  > a.thz-guide01__guide-nav-item > small {

    position: absolute !important;

    top: 111px !important;
    left: 22px !important;
    right: 22px !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 10px !important;
    line-height: 1.45 !important;
  }

}
/* ======================================================
   GOLD STONE TERAHERTZ HERO
======================================================= */

.thz-mainhero,
.thz-mainhero * {
  box-sizing: border-box;
}

.thz-mainhero {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1535 / 1024;
  overflow: hidden;
  background: #080808;

  margin: 0;
  padding: 0;

  text-align: left;
  line-height: normal;
}


/* IMAGE
------------------------------------------ */

.thz-mainhero__img {
  position: absolute;
  inset: 0;

  display: block;

  width: 100% !important;
  height: 100% !important;

  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  object-fit: cover;
  object-position: center;

  border: 0;
}


/* 左側だけ文字の可読性を高める
------------------------------------------ */

.thz-mainhero__shade {
  position: absolute;
  z-index: 1;
  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,.48) 0%,
      rgba(0,0,0,.28) 30%,
      rgba(0,0,0,.05) 52%,
      rgba(0,0,0,0) 68%
    );

  pointer-events: none;
}


/* BODY
------------------------------------------ */

.thz-mainhero__body {
  position: absolute;
  z-index: 2;

  inset: 0;

  display: flex !important;
  align-items: center !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 0 0 0 7.5% !important;

  text-align: left !important;
}


/* COPY AREA
------------------------------------------ */

.thz-mainhero__copy {
  display: block !important;

  width: 43% !important;
  max-width: 580px !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #fff;

  text-align: left !important;
  white-space: normal !important;
}


/* COLLECTION
------------------------------------------ */

.thz-mainhero__en {
  display: block !important;

  width: auto !important;

  margin: 0 0 18px !important;
  padding: 0 !important;

  color: #d3b77d !important;

  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;

  line-height: 1.4 !important;

  letter-spacing: .30em !important;

  white-space: nowrap !important;
}


/* HIGH PURITY TERAHERTZ
------------------------------------------ */

.thz-mainhero__small {
  display: block !important;

  width: auto !important;

  margin: 0 0 10px !important;
  padding: 0 !important;

  color: rgba(255,255,255,.48) !important;

  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 9px !important;
  font-weight: 400 !important;

  line-height: 1.4 !important;

  letter-spacing: .27em !important;

  white-space: nowrap !important;
}


/* MAIN TITLE
------------------------------------------ */

.thz-mainhero__title {
  display: block !important;

  width: auto !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #fff !important;

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    serif !important;

  font-size: clamp(42px, 4vw, 68px) !important;
  font-weight: 400 !important;

  line-height: 1.25 !important;

  letter-spacing: .08em !important;

  white-space: nowrap !important;
}


/* GOLD LINE
------------------------------------------ */

.thz-mainhero__rule {
  display: block !important;

  width: 46px !important;
  height: 1px !important;

  margin: 27px 0 25px !important;
  padding: 0 !important;

  background: #b99b62 !important;
}


/* LEAD
------------------------------------------ */

.thz-mainhero__lead {
  display: block !important;

  width: 100% !important;

  margin: 0 0 8px !important;
  padding: 0 !important;

  color: rgba(255,255,255,.96) !important;

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif !important;

  font-size: 16px !important;
  font-weight: 400 !important;

  line-height: 1.9 !important;

  letter-spacing: .06em !important;

  white-space: nowrap !important;
}


/* DESCRIPTION
------------------------------------------ */

.thz-mainhero__text {
  display: block !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  color: rgba(255,255,255,.78) !important;

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif !important;

  font-size: 14px !important;
  font-weight: 400 !important;

  line-height: 1.9 !important;

  letter-spacing: .05em !important;
}


/* PURITY
------------------------------------------ */

.thz-mainhero__spec {
  display: flex !important;
  align-items: baseline !important;

  width: auto !important;

  margin: 30px 0 0 !important;
  padding: 0 !important;

  gap: 11px !important;

  white-space: nowrap !important;
}


.thz-mainhero__spec-label {
  display: inline-block !important;

  color: #bda16c !important;

  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 8px !important;
  font-weight: 600 !important;

  line-height: 1 !important;

  letter-spacing: .20em !important;
}


.thz-mainhero__spec-6n {
  display: inline-block !important;

  color: #d8bd84 !important;

  font-family: "Times New Roman", serif !important;
  font-size: 28px !important;
  font-weight: 400 !important;

  line-height: 1 !important;

  letter-spacing: 0 !important;
}


.thz-mainhero__spec-si {
  display: inline-block !important;

  color: rgba(255,255,255,.50) !important;

  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 9px !important;
  font-weight: 400 !important;

  line-height: 1 !important;

  letter-spacing: .10em !important;
}


/* ======================================================
   TABLET
======================================================= */

@media screen and (max-width: 1100px) {

  .thz-mainhero__body {
    padding-left: 6% !important;
  }

  .thz-mainhero__copy {
    width: 47% !important;
  }

  .thz-mainhero__lead {
    font-size: 14px !important;
  }

  .thz-mainhero__text {
    font-size: 12px !important;
  }

}



/* ======================================================
   HERO FINAL TUNING - PC
   商品に文字を被せない最終調整
======================================================= */

@media screen and (min-width: 768px) {

  /* コピー全体を左へ寄せる */
  .thz-mainhero__body {
    padding-left: 6.8% !important;
  }

  .thz-mainhero__copy {
    width: 34% !important;
    max-width: 420px !important;

    transform: translateY(-6px) !important;
  }


  /* COLLECTION */
  .thz-mainhero__en {
    margin-bottom: 15px !important;

    font-size: 11px !important;
    letter-spacing: .30em !important;
  }


  /* HIGH PURITY TERAHERTZ */
  .thz-mainhero__small {
    margin-bottom: 9px !important;

    font-size: 8px !important;
    letter-spacing: .25em !important;
  }


  /* メインタイトル */
  .thz-mainhero__title {
    font-size: clamp(38px, 3.15vw, 52px) !important;
    line-height: 1.18 !important;
    letter-spacing: .08em !important;

    white-space: nowrap !important;
  }


  /* ゴールドライン */
  .thz-mainhero__rule {
    width: 42px !important;

    margin:
      25px 0
      23px !important;
  }


  /* 重要：
     1行にせず、左側で2行に収める */
  .thz-mainhero__lead {
    width: 315px !important;
    max-width: 100% !important;

    margin-bottom: 10px !important;

    font-size: 15px !important;
    line-height: 2 !important;
    letter-spacing: .065em !important;

    white-space: normal !important;
  }


  /* ブランド説明 */
  .thz-mainhero__text {
    width: 315px !important;
    max-width: 100% !important;

    font-size: 13px !important;
    line-height: 1.9 !important;
    letter-spacing: .05em !important;
  }


  /* 6N */
  .thz-mainhero__spec {
    margin-top: 27px !important;

    gap: 10px !important;
  }

  .thz-mainhero__spec-label {
    font-size: 8px !important;
    opacity: .9 !important;
  }

  .thz-mainhero__spec-6n {
    font-size: 31px !important;
  }

  .thz-mainhero__spec-si {
    font-size: 10px !important;

    color: rgba(255,255,255,.68) !important;

    opacity: 1 !important;
  }

}
.thz-mainhero__picture {
  position: absolute;
  inset: 0;

  display: block;

  width: 100%;
  height: 100%;

  margin: 0;
  padding: 0;
}
/* ======================================================
   TERAHERTZ HERO - SMARTPHONE FINAL
======================================================= */

@media screen and (max-width: 767px) {

  /* ---------------------------------
     HERO本体
  --------------------------------- */

  .thz-mainhero {
    position: relative;

    width: 100% !important;
    height: auto !important;

    /*
      SP画像 864 × 1821
      元画像の縦横比を維持
    */
    aspect-ratio: 864 / 1710 !important;

    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden;

    background: #050505;
  }


  /* ---------------------------------
     PICTURE
  --------------------------------- */

  .thz-mainhero__picture {
    position: absolute;
    inset: 0;

    display: block;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
  }


  /* ---------------------------------
     SP IMAGE
  --------------------------------- */

  .thz-mainhero__img {
    position: absolute;
    inset: 0;

    display: block;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: cover !important;
    object-position: center top !important;

    border: 0 !important;
  }


  /* ---------------------------------
     OVERLAY

     商品部分は暗くしすぎず、
     下部だけ文字の可読性を上げる
  --------------------------------- */

  .thz-mainhero__shade {
    position: absolute;
    z-index: 1;
    inset: 0;

    background:
      linear-gradient(
        180deg,
        rgba(0,0,0,0) 0%,
        rgba(0,0,0,0) 45%,
        rgba(0,0,0,.08) 54%,
        rgba(0,0,0,.34) 67%,
        rgba(0,0,0,.72) 82%,
        rgba(0,0,0,.88) 100%
      ) !important;

    pointer-events: none;
  }


  /* ---------------------------------
     BODY

     コピーを画像下側へ固定
  --------------------------------- */

  .thz-mainhero__body {
    position: absolute;
    z-index: 2;

    inset: 0;

    display: flex !important;
    align-items: flex-end !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;

    padding:
      0 7.5% 9.5% !important;

    text-align: left !important;
  }


  /* ---------------------------------
     COPY AREA
  --------------------------------- */

  .thz-mainhero__copy {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #fff;

    text-align: left !important;

    transform: none !important;
  }


  /* ---------------------------------
     COLLECTION
  --------------------------------- */

  .thz-mainhero__en {
    display: block !important;

    width: auto !important;

    margin:
      0 0 13px !important;

    padding: 0 !important;

    color: #d5b776 !important;

    font-family:
      Arial,
      Helvetica,
      sans-serif !important;

    font-size: 10px !important;
    font-weight: 600 !important;

    line-height: 1.4 !important;

    letter-spacing: .28em !important;

    white-space: nowrap !important;
  }


  /* ---------------------------------
     HIGH PURITY TERAHERTZ
  --------------------------------- */

  .thz-mainhero__small {
    display: block !important;

    margin:
      0 0 8px !important;

    color:
      rgba(255,255,255,.48) !important;

    font-family:
      Arial,
      Helvetica,
      sans-serif !important;

    font-size: 7px !important;
    font-weight: 400 !important;

    line-height: 1.4 !important;

    letter-spacing: .25em !important;

    white-space: nowrap !important;
  }


  /* ---------------------------------
     MAIN TITLE
  --------------------------------- */

  .thz-mainhero__title {
    display: block !important;

    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #fff !important;

    font-family:
      "Yu Mincho",
      "Hiragino Mincho ProN",
      "Hiragino Mincho Pro",
      serif !important;

    font-size: clamp(38px, 11vw, 48px) !important;
    font-weight: 400 !important;

    line-height: 1.2 !important;

    letter-spacing: .08em !important;

    white-space: nowrap !important;
  }


  /* ---------------------------------
     GOLD LINE
  --------------------------------- */

  .thz-mainhero__rule {
    display: block !important;

    width: 38px !important;
    height: 1px !important;

    margin:
      21px 0
      20px !important;

    padding: 0 !important;

    background:
      #b99b62 !important;
  }


  /* ---------------------------------
     LEAD
  --------------------------------- */

  .thz-mainhero__lead {
    display: block !important;

    width: 100% !important;

    margin:
      0 0 8px !important;

    padding: 0 !important;

    color:
      rgba(255,255,255,.96) !important;

    font-family:
      "Yu Mincho",
      "Hiragino Mincho ProN",
      serif !important;

    font-size: 14px !important;
    font-weight: 400 !important;

    line-height: 1.9 !important;

    letter-spacing: .055em !important;

    white-space: normal !important;
  }


  /* ---------------------------------
     DESCRIPTION
  --------------------------------- */

  .thz-mainhero__text {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    color:
      rgba(255,255,255,.78) !important;

    font-family:
      "Yu Mincho",
      "Hiragino Mincho ProN",
      serif !important;

    font-size: 12px !important;
    font-weight: 400 !important;

    line-height: 1.9 !important;

    letter-spacing: .045em !important;
  }


  /* ---------------------------------
     6N
  --------------------------------- */

  .thz-mainhero__spec {
    display: flex !important;
    align-items: baseline !important;

    width: auto !important;

    margin:
      22px 0 0 !important;

    padding: 0 !important;

    gap: 9px !important;

    white-space: nowrap !important;
  }


  .thz-mainhero__spec-label {
    display: inline-block !important;

    color:
      #bda16c !important;

    font-family:
      Arial,
      Helvetica,
      sans-serif !important;

    font-size: 7px !important;
    font-weight: 600 !important;

    line-height: 1 !important;

    letter-spacing: .18em !important;
  }


  .thz-mainhero__spec-6n {
    display: inline-block !important;

    color:
      #d8bd84 !important;

    font-family:
      "Times New Roman",
      serif !important;

    font-size: 27px !important;
    font-weight: 400 !important;

    line-height: 1 !important;
  }


  .thz-mainhero__spec-si {
    display: inline-block !important;

    color:
      rgba(255,255,255,.68) !important;

    font-family:
      Arial,
      Helvetica,
      sans-serif !important;

    font-size: 8px !important;
    font-weight: 400 !important;

    line-height: 1 !important;

    letter-spacing: .08em !important;
  }

}
/* ==========================================================
   QUALITY CONTROL
   PC画像 高さ調整
========================================================== */

@media screen and (min-width: 768px) {

  .thz-guide .thz-media__image--quality-control {
    height: 440px;
  }

  .thz-guide .thz-media__image--quality-control img {
    width: 100%;
    height: 100%;

    aspect-ratio: auto;

    object-fit: cover;
    object-position: center center;
  }

}
/* =========================================
   WHAT IS TERAHERTZ?
   BASIC KNOWLEDGE 画像サイズ調整
   PCのみ
========================================= */

@media screen and (min-width: 768px) {

  .thz-basic .thz-media__image {
    height: 440px;
  }

  .thz-basic .thz-media__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

}
/* ========================================
   商品一覧へのページ内リンク
======================================== */

.thz-product-jump {
  width: 100%;
  margin: 36px auto 56px;
  text-align: center;
}

.thz-product-jump__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;

  min-width: 280px;
  padding: 16px 30px;
  box-sizing: border-box;

  border: 1px solid #2f2e2b;
  border-radius: 999px;

  background: #fff;
  color: #2f2e2b;

  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.5;

  text-decoration: none;

  transition:
    background-color 0.25s ease,
    color 0.25s ease;
}

.thz-product-jump__button:hover {
  background: #2f2e2b;
  color: #fff;
}


/* SP */
@media screen and (max-width: 767px) {

  .thz-product-jump {
    margin: 28px auto 42px;
    text-align: center;
  }

  .thz-product-jump__button {
    width: calc(100% - 48px);
    min-width: 0;
    max-width: 320px;
    padding: 15px 20px;
    font-size: 13px;
  }

}
.thz-product-jump__button {
  background: #2f2e2b;
  color: #fff;
  border: 1px solid #2f2e2b;
}

.thz-product-jump__button:hover {
  background: #fff;
  color: #2f2e2b;
}
.thz-product-jump__button,
.thz-product-jump__button:link,
.thz-product-jump__button:visited,
.thz-product-jump__button span {
  background: #2f2e2b !important;
  color: #fff !important;
  border-color: #2f2e2b !important;
  text-decoration: none !important;
}

.thz-product-jump__button:hover,
.thz-product-jump__button:hover span {
  background: #fff !important;
  color: #2f2e2b !important;
}
.thz-product-jump__button,
.thz-product-jump__button span {
  transition:
    background-color 0.25s ease,
    color 0.25s ease !important;
}
/* =====================================================
   最終CTA 文字色修正
===================================================== */

.thz-footer-cta,
.thz-footer-cta__inner {
  color: #fff;
}

/* 英字見出し */
.thz-footer-cta__en {
  color: #c5a35f !important;
}

/* メインタイトル */
.thz-footer-cta__title {
  color: #fff !important;
}

/* 説明文 */
.thz-footer-cta__text {
  color: #fff !important;
}

/* 商品一覧へ戻る：白背景・黒文字 */
.thz-footer-cta .thz-button--light,
.thz-footer-cta .thz-button--light:link,
.thz-footer-cta .thz-button--light:visited {
  background: #fff !important;
  color: #2f2e2b !important;
  border-color: #fff !important;
}

/* 商品選びを相談する：黒背景・白文字 */
.thz-footer-cta .thz-button--ghost,
.thz-footer-cta .thz-button--ghost:link,
.thz-footer-cta .thz-button--ghost:visited {
  background: transparent !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.6) !important;
}

/* 矢印も文字色に追従 */
.thz-footer-cta .thz-button span {
  color: inherit !important;
}
/* 最終CTA「商品一覧へ戻る」の余分な矢印を非表示 */
.thz-footer-cta .thz-button--light::after {
  display: none !important;
  content: none !important;
}
/* ==========================================================
   MESSAGE FROM GOLD STONE
   店長写真付きメッセージ
========================================================== */

/* -----------------------------------------
   PC
----------------------------------------- */

.thz-footer-message .thz-message-panel--with-photo {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);

  padding: 0;
  overflow: hidden;

  background: #171717;
  border-radius: 16px;
}


/* 写真エリア */

.thz-footer-message .thz-message-panel__photo {
  position: relative;

  min-width: 0;
  min-height: 100%;

  overflow: hidden;

  background: #111;
}

.thz-footer-message .thz-message-panel__photo picture {
  display: block;

  width: 100%;
  height: 100%;
}

.thz-footer-message .thz-message-panel__photo img {
  display: block;

  width: 100%;
  height: 100%;

  min-height: 520px;

  object-fit: cover;
  object-position: center center;
}


/* メッセージエリア */

.thz-footer-message .thz-message-panel__content {
  display: flex;
  flex-direction: column;
  justify-content: center;

  min-width: 0;

  padding: 58px 56px 56px;
}


/* MESSAGE */

.thz-footer-message .thz-message-panel__label {
  margin-bottom: 30px;
}

.thz-footer-message .thz-message-panel__label span {
  display: block;

  margin-bottom: 7px;

  color: #bda16c;

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 10px;
  font-weight: 600;

  line-height: 1.4;
  letter-spacing: 0.20em;
}

.thz-footer-message .thz-message-panel__label strong {
  display: block;

  color: rgba(255,255,255,.72);

  font-size: 13px;
  font-weight: 500;

  line-height: 1.6;
  letter-spacing: .05em;
}


/* タイトル */

.thz-footer-message .thz-message-panel__title {
  margin: 0 0 28px;

  color: #fff !important;

  font-size: 24px;
  font-weight: 500;

  line-height: 1.65;
  letter-spacing: .04em;
}


/* 本文 */

.thz-footer-message .thz-message-panel__body p {
  margin: 0 0 22px;

  color: rgba(255,255,255,.76) !important;

  font-size: 14px;

  line-height: 2;
  letter-spacing: .035em;
}


/* 署名 */

.thz-footer-message
.thz-message-panel__body
.thz-message-panel__signature {
  margin-top: 30px;
  margin-bottom: 0;

  color: #bda16c !important;

  font-family:
    "Times New Roman",
    serif;

  font-size: 14px;

  line-height: 1.4;
  letter-spacing: .12em;
}


/* ==========================================================
   SP
========================================================== */

@media screen and (max-width: 767px) {

  .thz-footer-message .thz-message-panel--with-photo {
    display: block;

    border-radius: 12px;
  }


  /* 写真 */

  .thz-footer-message .thz-message-panel__photo {
    width: 100%;
    min-height: 0;
  }

  .thz-footer-message .thz-message-panel__photo picture {
    display: block;

    width: 100%;
    height: auto;
  }

  .thz-footer-message .thz-message-panel__photo img {
    width: 100%;
    height: auto;

    min-height: 0;

    aspect-ratio: auto;

    object-fit: contain;
    object-position: center;

    background: #f3f1ec;
  }


  /* 本文 */

  .thz-footer-message .thz-message-panel__content {
    padding: 32px 24px 34px;
  }


  .thz-footer-message .thz-message-panel__label {
    margin-bottom: 23px;
  }

  .thz-footer-message .thz-message-panel__label span {
    margin-bottom: 5px;

    font-size: 9px;
  }

  .thz-footer-message .thz-message-panel__label strong {
    font-size: 12px;
  }


  .thz-footer-message .thz-message-panel__title {
    margin-bottom: 22px;

    font-size: 20px;

    line-height: 1.65;
    letter-spacing: .035em;
  }


  .thz-footer-message .thz-message-panel__body p {
    margin-bottom: 19px;

    font-size: 13px;

    line-height: 1.95;
    letter-spacing: .025em;
  }


  .thz-footer-message
  .thz-message-panel__body
  .thz-message-panel__signature {
    margin-top: 26px;

    font-size: 13px;
  }

}
/* ========================================
   MESSAGE 写真サイズ調整 PCのみ
======================================== */

@media screen and (min-width: 768px) {

  .thz-footer-message .thz-message-panel__photo {
    width: 100%;
  }

  .thz-footer-message .thz-message-panel__photo img {
    width: 100%;
    height: auto;
    min-height: 0;
    object-fit: contain;
  }

  .thz-footer-message .thz-message-panel--with-photo {
    grid-template-columns: 300px minmax(0, 1fr);
    column-gap: 48px;
  }

}
/* ==========================================================
   MESSAGE
   PC写真を左カラムいっぱいに表示
========================================================== */

@media screen and (min-width: 768px) {

  .thz-footer-message .thz-message-panel__photo {
    width: 100%;
    height: 100%;
    min-height: 100%;
  }

  .thz-footer-message .thz-message-panel__photo picture {
    display: block;
    width: 100%;
    height: 100%;
  }

  .thz-footer-message .thz-message-panel__photo img {
    display: block;

    width: 100%;
    height: 100%;

    min-height: 520px;

    object-fit: cover;
    object-position: center center;
  }

}
/* ==========================================================
   MESSAGE 店長写真
   PC / SP 共通でSP用画像を使用
========================================================== */

/* PC */
@media screen and (min-width: 768px) {

.thz-footer-message .thz-message-panel__photo {
  display: block;

  height: auto;
  min-height: 0;

  background: transparent;
}

  .thz-footer-message .thz-message-panel__photo img {
    display: block;

    width: 100%;
    height: auto;

    min-height: 0 !important;

    object-fit: contain !important;
    object-position: center top !important;
  }

}


/* SP */
@media screen and (max-width: 767px) {

  .thz-footer-message .thz-message-panel__photo img {
    display: block;

    width: 100%;
    height: auto;

    min-height: 0 !important;

    object-fit: contain !important;
    object-position: center top !important;
  }

}
/* ==========================================================
   MESSAGE PC
   左写真の下の黒い余白をなくす
========================================================== */

@media screen and (min-width: 768px) {

  .thz-footer-message .thz-message-panel--with-photo {
    grid-template-columns: minmax(0, 38%) minmax(0, 62%);
    align-items: stretch;
  }

  .thz-footer-message .thz-message-panel__photo {
    position: relative;

    width: 100%;
    height: 100%;

    overflow: hidden;
  }

  .thz-footer-message .thz-message-panel__photo img {
    position: absolute;
    inset: 0;

    display: block;

    width: 100%;
    height: 100%;

    min-height: 0 !important;

    object-fit: cover !important;
    object-position: center top !important;
  }

}
/* ==========================================================
   GOLD STONE 共通 店長プロフィール
========================================================== */

.thz-manager-profile {
  margin-top: 34px;
  padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,.16);
}


/* 肩書き */
.thz-manager-profile__role {
  margin: 0 0 7px !important;

  color: #bda16c !important;

  font-size: 10px !important;
  font-weight: 600;

  line-height: 1.6 !important;
  letter-spacing: .08em;
}


/* 氏名 */
.thz-manager-profile__name {
  margin: 0 0 14px !important;

  color: #fff !important;

  font-size: 18px !important;
  font-weight: 600;

  line-height: 1.5 !important;
  letter-spacing: .06em;
}


/* 経歴 */
.thz-manager-profile__career {
  max-width: 620px;

  margin: 0 !important;

  color: rgba(255,255,255,.62) !important;

  font-size: 12px !important;
  font-weight: 400;

  line-height: 1.9 !important;
  letter-spacing: .025em;
}


/* ==========================================================
   SP
========================================================== */

@media screen and (max-width: 767px) {

  .thz-manager-profile {
    margin-top: 28px;
    padding-top: 24px;
  }

  .thz-manager-profile__role {
    margin-bottom: 6px !important;

    font-size: 9px !important;
    line-height: 1.7 !important;
  }

  .thz-manager-profile__name {
    margin-bottom: 12px !important;

    font-size: 17px !important;
  }

  .thz-manager-profile__career {
    font-size: 12px !important;
    line-height: 1.9 !important;
  }

}
/* ========================================
   MESSAGE 店長写真
   PCのみロゴ見切れ調整
======================================== */

@media screen and (min-width: 768px) {

  .thz-footer-message .thz-message-panel__photo img {
    object-position: 30% top !important;
  }

}
/* ==========================================================
   OUR PROMISE
   実写付きレイアウト
========================================================== */

.thz-footer-promise .thz-promise-panel {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);

  border: 1px solid #dedad2;
  background: #fff;

  overflow: hidden;
}


/* -----------------------------------------
   写真
----------------------------------------- */

.thz-footer-promise .thz-promise-panel__photo {
  position: relative;

  min-width: 0;
  min-height: 100%;

  overflow: hidden;

  background: #f3f1ec;
}

.thz-footer-promise .thz-promise-panel__photo img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center center;
}


/* -----------------------------------------
   内容
----------------------------------------- */

.thz-footer-promise .thz-promise-panel__content {
  min-width: 0;

  padding: 52px 48px 48px;
}


/* INTRO */

.thz-footer-promise .thz-promise-panel__intro {
  margin-bottom: 30px;
}

.thz-footer-promise .thz-promise-panel__label {
  display: block;

  margin-bottom: 9px;

  color: #a77d3e;

  font-size: 10px;
  font-weight: 600;

  line-height: 1.4;
  letter-spacing: .20em;
}

.thz-footer-promise .thz-promise-panel__title {
  margin: 0;

  color: #222;

  font-size: 17px;
  font-weight: 500;

  line-height: 1.7;
  letter-spacing: .04em;
}


/* -----------------------------------------
   Promise List
----------------------------------------- */

.thz-footer-promise .thz-promise-list {
  border-top: 1px solid #dedad2;
}

.thz-footer-promise .thz-promise-item {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  column-gap: 18px;

  padding: 24px 0;

  border-bottom: 1px solid #dedad2;
}

.thz-footer-promise .thz-promise-item__check {
  padding-top: 2px;

  color: #b18a50;

  font-size: 16px;
  font-weight: 500;

  line-height: 1.4;
}

.thz-footer-promise .thz-promise-item__title {
  margin: 0 0 8px;

  color: #222;

  font-size: 15px;
  font-weight: 500;

  line-height: 1.7;
  letter-spacing: .02em;
}

.thz-footer-promise .thz-promise-item__text {
  margin: 0;

  color: #555;

  font-size: 13px;

  line-height: 1.9;
  letter-spacing: .02em;
}


/* ==========================================================
   SP
========================================================== */

@media screen and (max-width: 767px) {

  .thz-footer-promise .thz-promise-panel {
    display: block;
  }


  /* 写真 */

  .thz-footer-promise .thz-promise-panel__photo {
    width: 100%;
    min-height: 0;
  }

  .thz-footer-promise .thz-promise-panel__photo img {
    width: 100%;
    height: auto;

    aspect-ratio: 3 / 2;

    object-fit: cover;
    object-position: center center;
  }


  /* 内容 */

  .thz-footer-promise .thz-promise-panel__content {
    padding: 30px 22px 26px;
  }

  .thz-footer-promise .thz-promise-panel__intro {
    margin-bottom: 24px;
  }

  .thz-footer-promise .thz-promise-panel__label {
    margin-bottom: 7px;

    font-size: 9px;
  }

  .thz-footer-promise .thz-promise-panel__title {
    font-size: 15px;
    line-height: 1.7;
  }


  /* List */

  .thz-footer-promise .thz-promise-item {
    grid-template-columns: 20px minmax(0, 1fr);
    column-gap: 12px;

    padding: 21px 0;
  }

  .thz-footer-promise .thz-promise-item__check {
    font-size: 14px;
  }

  .thz-footer-promise .thz-promise-item__title {
    margin-bottom: 7px;

    font-size: 14px;
    line-height: 1.65;
  }

  .thz-footer-promise .thz-promise-item__text {
    font-size: 12px;
    line-height: 1.9;
  }

}
/* ==========================================================
   OUR PROMISE
   PCレイアウト最終調整
   写真を上部横長表示
========================================================== */

@media screen and (min-width: 768px) {

  /* 全体 */
  .thz-footer-promise .thz-promise-panel {
    display: block;
  }


  /* =========================
     写真
  ========================= */

  .thz-footer-promise .thz-promise-panel__photo {
    width: 100%;
    height: 320px;
    min-height: 0;

    overflow: hidden;
    background: #f3f1ec;
  }

  .thz-footer-promise .thz-promise-panel__photo img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center center;
  }


  /* =========================
     写真下のコンテンツ
  ========================= */

  .thz-footer-promise .thz-promise-panel__content {
    display: grid;
    grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
    column-gap: 64px;
    align-items: start;

    padding: 52px 56px 48px;
  }


  /* 左：見出し */

  .thz-footer-promise .thz-promise-panel__intro {
    margin: 0;
    padding-top: 4px;
  }


  /* 右：4つの約束 */

  .thz-footer-promise .thz-promise-list {
    margin: 0;
    border-top: 1px solid #dedad2;
  }

}
/* ========================================
   OUR PROMISE
   PC余白の最終調整
======================================== */

@media screen and (min-width: 768px) {

  .thz-footer-promise .thz-promise-panel__content {
    padding-top: 38px;
    padding-bottom: 36px;
  }

}
/* ========================================
   OUR PROMISE
   SP 下部余白の最終調整
======================================== */

@media screen and (max-width: 767px) {

  .thz-footer-promise .thz-promise-panel__content {
    padding-bottom: 20px;
  }

}
/* ==========================================================
   CUSTOMER REVIEWS
========================================================== */

.thz-footer-reviews {
  background: #f6f6f4;
}


/* ========================================
   Grid
======================================== */

.thz-review-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}


/* ========================================
   Card
======================================== */

.thz-review-card {
  display: flex;
  min-width: 0;
  min-height: 310px;
  flex-direction: column;

  padding: 34px 30px 28px;

  background: #fff;

  border: 1px solid var(--thz-footer-border);
}


/* 星 */

.thz-review-card__rating {
  margin-bottom: 24px;

  color: var(--thz-footer-accent);

  font-family:
    Arial,
    sans-serif;

  font-size: 15px;

  line-height: 1;
  letter-spacing: .08em;
}


/* 本文 */

.thz-review-card__text {
  margin: 0;

  color: #333;

  font-size: 14px;

  line-height: 2;
  letter-spacing: .025em;
}


/* 下部情報 */

.thz-review-card__meta {
  display: flex;
  flex-direction: column;
  gap: 5px;

  margin-top: auto;
  padding-top: 28px;
}


/* 商品名 */

.thz-review-card__product {
  color: #555;

  font-size: 11px;
  font-weight: 500;

  line-height: 1.7;
}


/* 日付 */

.thz-review-card__date {
  color: #999;

  font-family:
    Arial,
    sans-serif;

  font-size: 10px;

  line-height: 1.5;
  letter-spacing: .08em;
}


/* 注記 */

.thz-review-note {
  margin: 24px 0 0;

  color: #888;

  font-size: 10px;

  line-height: 1.7;
  text-align: right;
}


/* ==========================================================
   Tablet
========================================================== */

@media screen and (max-width: 900px) {

  .thz-review-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .thz-review-card {
    min-height: 0;
  }

}


/* ==========================================================
   Smartphone
========================================================== */

@media screen and (max-width: 600px) {

  .thz-review-grid {
    gap: 12px;
  }

  .thz-review-card {
    padding: 27px 23px 24px;
  }

  .thz-review-card__rating {
    margin-bottom: 19px;

    font-size: 14px;
  }

  .thz-review-card__text {
    font-size: 13px;
    line-height: 1.95;
  }

  .thz-review-card__meta {
    padding-top: 23px;
  }

  .thz-review-card__product {
    font-size: 10px;
  }

  .thz-review-card__date {
    font-size: 9px;
  }

  .thz-review-note {
    margin-top: 18px;

    font-size: 9px;
    text-align: left;
  }

}
/* ==========================================================
   CUSTOMER REVIEWS
   商品画像付きカード
========================================================== */

.thz-review-card {
  padding: 0;
  overflow: hidden;
}


/* ========================================
   商品画像
======================================== */

.thz-review-card__image {
  position: relative;

  width: 100%;
  aspect-ratio: 1 / 0.72;

  overflow: hidden;

  background: #fff;

  border-bottom: 1px solid var(--thz-footer-border);
}

.thz-review-card__image img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: contain;

  padding: 18px;

  box-sizing: border-box;
}


/* ========================================
   レビュー本文エリア
======================================== */

.thz-review-card__content {
  display: flex;
  flex: 1;
  flex-direction: column;

  padding: 28px 30px 28px;
}


/* 星 */

.thz-review-card__rating {
  margin-bottom: 20px;
}


/* 本文 */

.thz-review-card__text {
  margin: 0;
}


/* 商品名・日付 */

.thz-review-card__meta {
  margin-top: auto;
  padding-top: 26px;
}


/* ==========================================================
   SP
========================================================== */

@media screen and (max-width: 600px) {

  .thz-review-card__image {
    aspect-ratio: 1 / 0.72;
  }

  .thz-review-card__image img {
    padding: 16px;
  }

  .thz-review-card__content {
    padding: 24px 22px 23px;
  }

  .thz-review-card__rating {
    margin-bottom: 17px;
  }

  .thz-review-card__meta {
    padding-top: 22px;
  }

}
/* ==========================================================
   CUSTOMER REVIEWS
   SPのみコンパクト表示
========================================================== */

@media screen and (max-width: 600px) {

  .thz-review-card {
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    align-items: start;
    min-height: 0;
  }

  .thz-review-card__image {
    width: 108px;
    height: 108px;
    aspect-ratio: auto;

    border-right: 1px solid var(--thz-footer-border);
    border-bottom: 0;
  }

  .thz-review-card__image img {
    width: 100%;
    height: 100%;

    padding: 10px;

    object-fit: contain;
  }

  .thz-review-card__content {
    padding: 18px 18px 17px;
  }

  .thz-review-card__rating {
    margin-bottom: 12px;

    font-size: 13px;
  }

  .thz-review-card__text {
    font-size: 12px;
    line-height: 1.85;
  }

  .thz-review-card__meta {
    margin-top: 16px;
    padding-top: 0;
  }

  .thz-review-card__product {
    font-size: 9px;
    line-height: 1.6;
  }

  .thz-review-card__date {
    font-size: 8px;
  }

}
/* ==========================================================
   テラヘルツカテゴリ フッター
   SP 横幅オーバー修正
========================================================== */

@media screen and (max-width: 767px) {

  /* フッター全体 */
  .thz-category-footer {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* 各セクション */
  .thz-category-footer .thz-section {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  /* 共通コンテナ */
  .thz-category-footer .thz-container,
  .thz-category-footer .thz-container--narrow {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Grid / Flex 子要素が親幅を押し広げないようにする */
  .thz-category-footer .thz-support-grid,
  .thz-category-footer .thz-guide-grid,
  .thz-category-footer .thz-promise-panel,
  .thz-category-footer .thz-message-panel,
  .thz-category-footer .thz-footer-cta__inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .thz-category-footer .thz-support-card,
  .thz-category-footer .thz-guide-card,
  .thz-category-footer .thz-promise-panel__content,
  .thz-category-footer .thz-message-panel__content {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  /* 画像 */
  .thz-category-footer img,
  .thz-category-footer picture {
    max-width: 100% !important;
  }
}
/* ==========================================================
   MEDIA
========================================================== */

.thz-footer-media {
  background: #fff;
}


/* ========================================
   Panel
======================================== */

.thz-media-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  align-items: center;
  gap: 54px;
}


/* ========================================
   Image
======================================== */

.thz-media-panel__image {
  min-width: 0;
}

.thz-media-panel__image img {
  display: block;

  width: 100%;
  height: auto;

  border: 1px solid var(--thz-footer-border);
}


/* ========================================
   Text
======================================== */

.thz-media-panel__body {
  min-width: 0;
}

.thz-media-panel__label {
  margin: 0 0 14px;

  color: var(--thz-footer-accent);

  font-family:
    Arial,
    sans-serif;

  font-size: 11px;
  font-weight: 600;

  line-height: 1.4;
  letter-spacing: .18em;
}

.thz-media-panel__title {
  margin: 0;

  color: #222;

  font-size: 20px;
  font-weight: 500;

  line-height: 1.7;
  letter-spacing: .025em;
}

.thz-media-panel__text {
  margin: 24px 0 0;

  color: #555;

  font-size: 13px;

  line-height: 2;
  letter-spacing: .02em;
}


/* ==========================================================
   Tablet
========================================================== */

@media screen and (max-width: 900px) {

  .thz-media-panel {
    grid-template-columns: 1fr;
    gap: 30px;
  }

}


/* ==========================================================
   Smartphone
========================================================== */

@media screen and (max-width: 600px) {

  .thz-media-panel {
    gap: 24px;
  }

  .thz-media-panel__label {
    margin-bottom: 10px;

    font-size: 10px;
  }

  .thz-media-panel__title {
    font-size: 17px;
    line-height: 1.7;
  }

  .thz-media-panel__text {
    margin-top: 17px;

    font-size: 12px;
    line-height: 1.9;
  }

}
/* ==========================================================
   MEDIA → MESSAGE
   SP セクション間余白調整
========================================================== */

@media screen and (max-width: 600px) {

  .thz-footer-media {
    padding-bottom: 44px !important;
  }

  .thz-footer-media + .thz-footer-message {
    padding-top: 44px !important;
  }

}
/* ==========================================================
   SHOPPING SUPPORT
========================================================== */

.thz-shopping-support {
  background: #fff;
}

.thz-shopping-support__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-top: 52px;
}

.thz-shopping-support__card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #d8d4cc;
  overflow: hidden;
}

.thz-shopping-support__image {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #f7f6f3;
}

.thz-shopping-support__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.thz-shopping-support__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 34px 32px 30px;
}

.thz-shopping-support__number {
  margin: 0 0 28px;
  color: #ad8b4d;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.12em;
}

.thz-shopping-support__title {
  margin: 0 0 22px;
  color: #222;
  font-size: 23px;
  font-weight: 500;
  line-height: 1.55;
}

.thz-shopping-support__text {
  margin: 0 0 34px;
  color: #666;
  font-size: 15px;
  line-height: 2;
}

.thz-shopping-support__links {
  margin-top: auto;
  border-top: 1px solid #222;
}

.thz-shopping-support__links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;

  padding: 15px 0;

  color: #222;
  font-size: 15px;
  line-height: 1.5;
  text-decoration: none;

  border-bottom: 1px solid #222;
}

.thz-shopping-support__links a span {
  flex-shrink: 0;
  transition: transform 0.25s ease;
}

.thz-shopping-support__links a:hover span {
  transform: translateX(4px);
}


/* ==========================================================
   TABLET
========================================================== */

@media screen and (max-width: 900px) {

  .thz-shopping-support__grid {
    gap: 16px;
  }

  .thz-shopping-support__body {
    padding: 28px 24px 26px;
  }

  .thz-shopping-support__title {
    font-size: 20px;
  }

}


/* ==========================================================
   SMARTPHONE
========================================================== */

@media screen and (max-width: 600px) {

  .thz-shopping-support__grid {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 34px;
  }

  .thz-shopping-support__card {
    width: 100%;
  }

  .thz-shopping-support__image {
    aspect-ratio: 4 / 3;
  }

  .thz-shopping-support__body {
    padding: 24px 22px 22px;
  }

  .thz-shopping-support__number {
    margin-bottom: 18px;
    font-size: 12px;
  }

  .thz-shopping-support__title {
    margin-bottom: 16px;
    font-size: 21px;
    line-height: 1.55;
  }

  .thz-shopping-support__text {
    margin-bottom: 24px;
    font-size: 14px;
    line-height: 1.9;
  }

  .thz-shopping-support__links a {
    padding: 13px 0;
    font-size: 14px;
  }

}
/* =========================================================
   本番環境の既存見出し装飾（黒線）を無効化
========================================================= */

.thz-section-heading__title::before,
.thz-section-heading__title::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
  background: none !important;
}
/* =========================================================
   本番既存CSSの見出し下線を無効化
   OUR PROMISE / MESSAGE / FOOTER CTA
========================================================= */

.thz-promise-panel__title::before,
.thz-promise-panel__title::after,
.thz-message-panel__title::before,
.thz-message-panel__title::after,
.thz-footer-cta__title::before,
.thz-footer-cta__title::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
}
/* =========================================================
   FOOTER CTA
   「商品一覧へ戻る」ボタンだけ矩形デザインへ戻す
========================================================= */

.thz-footer-cta .thz-button--light {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 18px !important;

  width: 100% !important;
  min-width: 0 !important;

  padding: 18px 24px !important;

  background: #fff !important;
  color: #222 !important;

  border: 1px solid #fff !important;
  border-radius: 0 !important;

  text-decoration: none !important;
  box-shadow: none !important;
}

.thz-footer-cta .thz-button--light:hover {
  background: #fff !important;
  color: #222 !important;
  border-color: #fff !important;
}

.thz-footer-cta .thz-button--light span {
  display: inline-block;
  flex-shrink: 0;
}
/* =========================================
   FOOTER CTA
   PCタイトル折り返し最終調整
========================================= */

@media screen and (min-width: 901px) {

  .thz-footer-cta__inner {
    gap: 35px;
  }

  .thz-footer-cta__inner > div:first-child {
    flex: 1 1 auto;
    min-width: 0;
  }

  .thz-footer-cta__title {
    white-space: nowrap;
  }

  .thz-footer-cta__buttons {
    flex: 0 0 auto;
  }

}