/* ============================================================
   INACOME サイトデザイン規定 v1 — フォント正規化レイヤー
   対象: /business-contest（.inacome-page--business-contest スコープ限定）
   規定: prompts/inacome-design-guidelines-v1.md §1 フォント / §2 文字サイズ / §9 禁止事項
   水戸 2026-07-14。cascade 末尾で読み込み、共通 common.css（body: sans-serif /
   word-break:break-all / line-height:1.7 / color:#2d323e）の継承を上書きする。
   judge サブページ（migrated-page.css で整形済）と同水準にメイン面を引き上げる意図。
   ============================================================ */

/* §1 基本 — 継承プロパティを root 1 宣言で全本文へ波及。
   font-family / color / line-height / word-break は継承プロパティのため、
   個別指定を持つ要素（BentonSans バッジ・ヘッダーロゴ等）は温存される。 */
.inacome-page--business-contest {
  font-family: YakuHanJP, "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
  color: #333;
  line-height: 2;
  letter-spacing: .02em;
  word-break: normal;          /* 規定 §9-1: break-all 禁止（1文字折れの主犯） */
  overflow-wrap: anywhere;     /* 規定 §1: 代替の折り返し */
}

/* break-all の継承を子孫でも明示的に無効化（共通CSSの body 起点を確実に断つ） */
.inacome-page--business-contest :is(p, li, td, th, dd, dt, div, span, a, h1, h2, h3, h4) {
  word-break: normal;
  overflow-wrap: anywhere;
}

/* §1 本文の重さ — weight 500 + text-stroke 0.02vw。
   旧実装の過剰インク（0.04〜0.1vw）を規定値へ揃え、Zen Kaku の輪郭を活かす。 */
.inacome-page--business-contest p.scrt-fade,
.inacome-page--business-contest p.catl,
.inacome-page--business-contest p.catl.tm,
.inacome-page--business-contest p.catl.zero,
.inacome-page--business-contest p.catlead,
.inacome-page--business-contest .planrightr05,
.inacome-page--business-contest li.plantitle,
.inacome-page--business-contest li.tokuri,
.inacome-page--business-contest p.shinsain-name1,
.inacome-page--business-contest li.listtable,
.inacome-page--business-contest p.user,
.inacome-page--business-contest ul.applylist,
.inacome-page--business-contest .faq-a-inner p,
.inacome-page--business-contest .faq-a-inner li {
  font-weight: 500;
  -webkit-text-stroke: 0.02vw;
}
.inacome-page--business-contest #corp p {
  font-size: clamp(1.25rem, 1.05rem + 0.625vw, 1.5rem);
  font-weight: 600;
  -webkit-text-stroke: 0.06vw;
  color: #3b3b3b;
  letter-spacing: 3px;
  line-height: 30px;
  margin: auto;
  text-align: center;
}

/* §1/§9-2 vw 行間の撲滅 — ビューポート幅で行間が伸縮する不具合を固定 rhythm へ。
   スコープ接頭 + 元と同等以上の特異度 + 末尾読み込みで確実に勝つ。 */
.inacome-page--business-contest p.scrt-fade.visible { line-height: 2.6; font-weight: 400; }
.inacome-page--business-contest .planrightr05      { line-height: 1.9; }
.inacome-page--business-contest .planright         { line-height: 1.9; }
.inacome-page--business-contest p.catlead          { line-height: 1.6; }
.inacome-page--business-contest p.shinsain-name1   { line-height: 1.7; }
.inacome-page--business-contest p.shinsain-name3   { line-height: 1.7; }
.inacome-page--business-contest p.leadbtn          { line-height: 1.6; }

.inacome-page--business-contest .bc-apply__trigger {
  font-size: clamp(1rem, 0.95rem + 0.25vw, 1.1rem);
  border: none;
  cursor: pointer;
  letter-spacing: 4px;
}

.inacome-page--business-contest .bc-apply__caption {
  font-size: clamp(0.875rem, 0.82rem + 0.25vw, 1rem);
  color: #000;
  margin-top: 12px;
  line-height: 1.6;
  font-weight: 500;
}

.inacome-page--business-contest .row.info.jsStanby {
  width: 100%;
}

.inacome-page--business-contest .u_inner.second {
  width: 70%;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .inacome-page--business-contest .rowbc > .row.jsStanby.main {
    width: 95%;
    margin-left: auto;
    margin-right: auto;
    transform: translateX(-5%);
  }
}

.inacome-page--business-contest h2.c_ttl.second.main {
  margin: 0 0 0 !important;
}

.inacome-page--business-contest .box99 {
  clear: both;
  display: block;
  margin: 1% auto 0;
  border-top: 1px solid #000;
  width: 70%;
  border-bottom: 1px solid #000;
  padding: 3% 2%;
}

.inacome-page--business-contest li.listtable {
  font-weight: 400;
  -webkit-text-stroke: 0;
}

.inacome-page--business-contest h2.c_ttl {
  color: #000;
  height: auto;
  margin: 6rem auto 20px !important;
  text-align: center;
  font-size: clamp(24px, 2.4vw, 30px);
  font-weight: 600;
}

.inacome-page--business-contest section#gaiyou {
  margin-top: 6rem;
}

.inacome-page--business-contest section#faq h2.c_ttl {
  margin: 0 auto 20px !important;
}

.inacome-page--business-contest img.logoshe {
  width: 80%;
  margin: 4% auto 4rem;
  display: block;
}

.inacome-page--business-contest .bodybtn,
.inacome-page--business-contest .bodybtn:visited {
  background-color: #eef2f5;
  color: #17202a;
  border: 1px solid #c9d2dc;
  font-weight: 800;
  letter-spacing: 0.08em;
  -webkit-text-stroke: 0;
  box-shadow: none;
}

.inacome-page--business-contest .bodybtn:hover,
.inacome-page--business-contest .bodybtn:focus-visible {
  background-color: #dde5ec;
  color: #17202a;
  border-color: #aebbc8;
  box-shadow: 0 8px 20px rgba(17, 24, 39, 0.12);
}

/* SP — vw 行間の撲滅（モバイルでも同様の不具合を断つ） */
@media only screen and (max-width: 767px) {
  .inacome-page--business-contest .planrightr05 { line-height: 1.9; }
  .inacome-page--business-contest .planleftr05  { line-height: 1.5; }
}
