/*
 * tokunatsu.css
 * トク夏ページ専用スタイル
 * style.css（2026リニューアル版）でクラス名が変更・削除されたものを補完します。
 */

/* =====================================================
   ユーティリティ：フォントサイズ（fs14, lh20）
   style.cssではu-fs14, u-lh20に改名されたため補完
   ===================================================== */

.fs14 {
  font-size: 1.4rem;
}

.lh20 {
  line-height: 2rem;
}

/* =====================================================
   ユーティリティ：マージンボトム
   style.cssではu-mb○○に改名されたため補完
   ===================================================== */

.mb0  { margin-bottom: 0 !important; }
.mb8  { margin-bottom: 8px !important; }
.mb12 { margin-bottom: 12px !important; }
.mb16 { margin-bottom: 16px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb24 { margin-bottom: 24px !important; }
.mb32 { margin-bottom: 32px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb56 { margin-bottom: 56px !important; }

@media screen and (min-width: 640px) {
  .mb0--tb  { margin-bottom: 0 !important; }
}
@media screen and (min-width: 1024px) {
  .mb0--pc  { margin-bottom: 0 !important; }
  .mb8--pc  { margin-bottom: 8px !important; }
  .mb12--pc { margin-bottom: 12px !important; }
  .mb16--pc { margin-bottom: 16px !important; }
  .mb20--pc { margin-bottom: 20px !important; }
  .mb24--pc { margin-bottom: 24px !important; }
  .mb32--pc { margin-bottom: 32px !important; }
  .mb40--pc { margin-bottom: 40px !important; }
  .mb56--pc { margin-bottom: 56px !important; }
}

/* =====================================================
   テキスト装飾
   ===================================================== */

/* 赤色テキスト */
.rdTxt2 {
  color: #DF0000 !important;
}

/* 注釈テキスト（※付き） */
.capTxt {
  display: block;
  color: #666666;
  font-size: 1.1rem;
  line-height: 1.5rem;
  display: grid;
  grid-template-columns: 1.2rem 1fr;
}
.capTxt::before {
  content: "※";
  display: block;
  font-size: 1.1rem;
  line-height: 1.5rem;
}

/* 外部リンクテキスト */
.linkTxt--outer {
  color: #0271BC;
  text-decoration: underline;
  text-underline-offset: 3px;
  position: relative;
}
.linkTxt--outer::after {
  content: "";
  display: inline-block;
  position: relative;
  top: 0.1em;
  width: 1em;
  height: 1em;
  margin-left: 0.3em;
  margin-right: 0.5em;
  background-image: url("../img/2025/outer-link-blue.svg");
  background-size: cover;
}

/* =====================================================
   背景ブロック（bgBlk）
   style.cssから削除されたため補完
   ===================================================== */

.bgBlk {
  background-color: #ffffff;
  padding: 1.6rem;
  width: 100%;
  box-sizing: border-box;
}

.bgBlk--gray {
  padding: 1.6rem;
  width: 100%;
  background-color: #EEEEEE;
  box-sizing: border-box;
}

.bgBlk--wdPad {
  padding: 3.2rem;
}
@media screen and (min-width: 1024px) {
  .bgBlk--wdPad--pc {
    padding: 3.2rem;
  }
}

/* =====================================================
   グリッドレイアウト（grid--2col, grid--3col--tb）
   style.cssから削除されたため補完
   ===================================================== */

.grid--2col {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

@media screen and (min-width: 640px) {
  .grid--3col--tb {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}

/* グリッドギャップ */
.gap12 {
  gap: 1.2rem;
}

/* =====================================================
   見出し（head03）
   style.cssから削除されたため補完
   ===================================================== */

.head03 {
  display: block;
  background-color: #00214B;
  color: #fff;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 500;
  padding: 1.2rem 1.6rem;
}

/* =====================================================
   ボタン（btn01）
   style.cssから削除されたため補完
   ===================================================== */

.btn01 {
  cursor: pointer;
  display: block;
  border: solid 2px #00214B;
  background-color: #7CBEEB;
  border-radius: 4px;
  height: 56px;
  padding: 2px;
}

.btn01__content {
  transition: 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
  position: relative;
  padding: 0 2.4rem 0 1.2rem;
  width: 100%;
  height: 100%;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 2rem;
  color: #0271BC;
  box-sizing: border-box;
}
@media screen and (min-width: 380px) {
  .btn01__content {
    font-size: 1.5rem;
    line-height: 2.2rem;
  }
}
@media screen and (min-width: 428px) {
  .btn01__content {
    font-size: 1.6rem;
    line-height: 2.4rem;
  }
}
.btn01__content small {
  font-size: 1.5rem;
  line-height: 2rem;
  display: block;
}
.btn01__content::after {
  content: "";
  position: absolute;
  background-image: url("../img/2025/btn-arrow.svg");
  background-size: cover;
  right: 0.8rem;
  width: 1.4rem;
  height: 1.4rem;
}
@media screen and (min-width: 380px) {
  .btn01__content::after {
    right: 0.8rem;
    width: 1.6rem;
    height: 1.6rem;
  }
}
@media screen and (min-width: 428px) {
  .btn01__content::after {
    width: 1.8rem;
    height: 1.8rem;
  }
}

.btn01:hover .btn01__content {
  background-color: #e2f3ff;
  opacity: 1;
}

/* 外部リンクボタン */
.btn01--outer .btn01__content::after {
  background-image: url("../img/2025/outer-link-blue.svg");
  background-size: cover;
  right: 0.8rem;
  width: 1.4rem;
  height: 1.4rem;
}
@media screen and (min-width: 380px) {
  .btn01--outer .btn01__content::after {
    right: 0.8rem;
    width: 1.6rem;
    height: 1.6rem;
  }
}
@media screen and (min-width: 428px) {
  .btn01--outer .btn01__content::after {
    width: 1.8rem;
    height: 1.8rem;
  }
}

/* =====================================================
   アンカーリンク画像ボタン（.anchor）
   style.cssに定義なし。画像を幅いっぱいに表示
   ===================================================== */

.anchor {
  display: block;
  width: 100%;
}
.anchor img {
  width: 100%;
  height: auto;
  display: block;
}

/* =====================================================
   ページレイアウト調整（mod-page--first）
   style.cssではc-page--firstに改名されたため補完
   ===================================================== */

@media screen and (min-width: 1024px) {
  .mod-page--first {
    margin-top: 223px;
  }
}

/* =====================================================
   pageMain のPC時サイドナビ margin-top
   旧CSS: 216px → 新CSS: 240pxに変更されているが
   このページは旧値で作られているため元に戻す
   ===================================================== */

@media screen and (min-width: 1024px) {
  .pageMain .pcNav {
    margin-top: 216px;
  }
}