/* helpers.css — ヘルパー・ユーティリティ */
/* ═══════════════════════════════════════════════════
   UTILITY CLASSES — inline style移行用
   ═══════════════════════════════════════════════════ */

/* about__img-frame内の画像用 */
.hp_imgCoverFull { width: 100%; height: 100%; object-fit: cover; display: block; }

/* about__stat-num内の単位テキスト用 */
.bl_about_statUnit { font-size: 1rem; font-weight: 700; }

/* CTA sec-labelの白バリエーション */
.el_secLabel--white { --orange: rgba(255,255,255,.85); }
.el_secLabel--white .el_secLabel_text::before { background: rgba(255,255,255,.6); }
.el_secLabel--white .el_secLabel_text { color: rgba(255,255,255,.85); }

/* CTA内SVGアイコン用 */
.hp_iconInline { display: inline-block; vertical-align: -3px; margin-right: 6px; }

/* CTA__tel内テキスト */
.bl_ctaSec_telTime { /* font-size: 0.8125rem; */ font-size: 1.1rem; color: rgba(255,255,255,.9); display: block; margin-top: 4px; }
.bl_ctaSec_telNote { /* font-size: 0.75rem; */ font-size: 0.9rem; color: rgba(255,255,255,.9); }

/* Voice sec-label中央配置 */
.el_secLabel--center { justify-content: center; }

/* sec-title中央配置 */
.el_secTitle--center { text-align: center; margin-bottom: 40px; }

/* footer address */
.ly_footer_addr { font-style: normal; }

/* hero__catch-line アニメーション遅延 */
.bl_hero_catchLine--0 { --line-i: 0; }
.bl_hero_catchLine--1 { --line-i: 1; }

/* 画像プレースホルダーの背景バリエーション */
.el_imgPh--gradientOrange { background: linear-gradient(135deg, var(--orange-l), var(--peach)); }
.el_imgPh--gradientLeaf { background: linear-gradient(135deg, var(--leaf-l), #D9F0C8); }
.el_imgPh--peach { background: var(--peach); }
.el_imgPh--gradientCream { background: linear-gradient(135deg, var(--orange-l), var(--cream)); }
.el_imgPh--gradientWarm { background: linear-gradient(135deg, #FEE2D5, #FDDDB4); }
.el_imgPh--gradientPurple { background: linear-gradient(135deg, #EDE9FE, #DDD6FE); }
.el_imgPh--gradientBlue { background: linear-gradient(135deg, #E8EEF5, #D0DCE8); }
.el_imgPh--gradientBlueDeep { background: linear-gradient(135deg, #E8EEF5, #C8D8E8); }
.el_imgPh--gradientHero { background: linear-gradient(160deg, var(--orange-l), var(--peach)); }
.el_imgPh--gradientOrangeTall { background: linear-gradient(135deg, var(--orange-l), var(--peach)); height: 360px; }

/* CTA共通: ブランド表示 */
.bl_ctaSec_brand { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.bl_ctaSec_brandLabel { font-size: 0.6875rem; font-weight: 700; letter-spacing: .18em; color: rgba(255,255,255,.85); text-transform: uppercase; }
.bl_ctaSec_brandLine { width: 20px; height: 3px; background: rgba(255,255,255,.6); border-radius: 2px; display: block; }

/* リンクスタイルリセット */
.hp_linkReset { text-decoration: none; color: inherit; display: flex; }

/* テキストカラーユーティリティ */
.hp_textOrange { color: var(--orange); }
.hp_textOrangeBold { color: var(--orange); font-weight: 700; }

/* 非表示ユーティリティ */
.hp_visuallyHiddenTemp { visibility: hidden; }

/* ヘルパー: マージン・パディング */
.hp_mtLg { margin-top: 48px; }
.hp_mbMd { margin-bottom: 24px; }
.hp_textCenterPadded { text-align: center; padding: 48px 0; }

/* リードテキスト */
.hp_leadText { font-size: 1.25rem; font-weight: 600; line-height: 1.8; margin-bottom: 24px; }

/* 個別ページ用 */
.hp_noBorderBottom { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.hp_iframeFull { border: 0; width: 100%; display: block; }
