/*
 * ======================================
 * 追加クラス一覧（共通SCSS取り込み検討用）
 * ======================================
 *
 * .kisyu-section / --lg / --md / --trial / --cta / --news   - セクション上下余白（clamp可変）
 * .kisyu-container / --860 / --880 / --960 / --1000 / --1240 - 1120px基準コンテナ（左右padding clamp可変）
 * .kisyu-heading（.heading と併用）/ --sm / --mb0 / --about / --nowrap-sp - 英字小＋和文見出し（--nowrap-sp：SPで1行に収める）
 * .kisyu-text                     - 本文（17px / lh2 / #4A3B43）
 * .kisyu-btn / --outline / --md / --sm / --white / --estimate - ピル型ボタン
 * .kisyu-deco / --a01〜a36 / 位置modifier / --rev           - 背景あしらい（マスク画像を薄ピンクで塗る）
 * .kisyu-header ほか（header / nav-toggle / sp-nav / sp-fixed-bar の見た目差分）
 * .kisyu-footer / __*             - フッター
 * .kisyu-page-hero / __* / .kisyu-breadcrumb - 下層ページヒーロー
 * .kisyu-mv / __*                 - TOPメインビジュアル（写真4分割＋中央カード）
 * .kisyu-worries / __*            - お悩みカード＋まとめ
 * .kisyu-split / .kisyu-photo / --3-2 / .kisyu-watermark - 写真＋テキスト2カラム
 * .kisyu-checklist / __*          - ピンク帯チェックリスト
 * .kisyu-grid / --gap-24 / --news - auto-fit カードグリッド（280px基準）
 * .kisyu-cards4 / --wide          - 4列→2列→1列カードグリッド
 * .kisyu-reason / --pink / __*    - 番号＋アイコン画像カード
 * .kisyu-svc-main / __*           - TOPサービス一覧の大カード
 * .kisyu-card / --plain / --flat / __*  - 写真カード（サービス・事例・商品・お知らせ）
 * .kisyu-flow / __*               - ご利用の流れ（三角矢印つなぎ）
 * .kisyu-area / __*               - 対応エリア
 * .kisyu-news-head                - お知らせ見出し＋一覧ボタン
 * .kisyu-contact-tel / .kisyu-form / __*  - お問い合わせ（電話帯・フォーム）
 * .kisyu-cta / __*                - 下層お問い合わせCTA
 * .kisyu-cando / --ng / __*       - できること・できないこと
 * .kisyu-time / .kisyu-usage / __* - ご利用時間・ご利用例ピクトグラム
 * .kisyu-plan / --sub / __*       - 料金カード
 * .kisyu-faq / __*                - よくある質問（details/summary）
 * .kisyu-page-nav / __link--solid - ページ内リンク
 * .kisyu-cat-head / __*           - 番号付きカテゴリ見出し
 * .kisyu-trial / __*              - 2週間無料お試しボックス
 * .kisyu-wide-card / __*          - 横長商品カード
 * .kisyu-note-box                 - ピンク帯の補足文
 * .kisyu-estimate / __*           - 無料お見積もりバナー
 * .kisyu-chip / __*               - アイコン付きチップ
 * .kisyu-profile / __*            - 会社概要 dl
 * .kisyu-pagination               - ページネーション見た目差分
 * .kisyu-article / __*            - お知らせ詳細
 *
 * ======================================
 * 共通SCSSに不足していたもの
 * ======================================
 *
 * 【値の粒度不足】
 *  - section / container / 見出し / 本文サイズが clamp() による可変値。utility は固定px刻みのみ
 *  - container 幅 1120px（+左右 padding clamp(20px,4vw,40px)）。$width_base 1200px と不一致
 *  - ヘッダー切替 BP が 1239px（共通は 1100px）、SP固定バーの表示 BP も 1239px（共通は 896px）
 *  - フロー縦積み BP 759px、カード列切替（4→2→1）の BP が共通 grid-4 と不一致
 * 【構造不足】
 *  - 写真4分割グリッド＋中央白カードのMV
 *  - ピル型ボタン（min-height 52〜64px / 角丸999px / 影 rgba(base,.22)）。btn は max-width:300px・角丸10px固定
 *  - 2週間無料お試しの丸バッジ＋本文ボックス、料金カード（上部はみ出しバッジ＋表）
 *  - 作業配分の円グラフ（SVG＋ラベル絶対配置）
 *  - フォームの選択ボタン型ラジオ、:invalid 時の送信ボタン色
 * 【装飾パターン不足】
 *  - マスク画像を単色で塗るあしらい（deco-item--img は画像をそのまま表示するのみで色替え不可）
 *  - 三角形矢印でつなぐフロー（card-flow--4col は矢印形状・カード見た目が異なる）
 *  - ドット背景＋暗幕写真のお見積もりバナー
 * 【状態不足】
 *  - details[open] で回転するシェブロン（accordion は JS の .is-open 前提）
 *  - ナビの現在ページを示すドット（header__nav-item--current の見た目が異なる）
 *
 */

/* ==========================================================================
   Base（デザインの基準値：本文 17px / lh1.9 を全幅で維持する）
   ========================================================================== */
html { scroll-padding-top: 100px; }
body { padding-top: 92px; font-size: 1.7rem; }
a:hover { opacity: 1; }
button, input, textarea { font-family: inherit; }
@media (max-width: 1239px) {
  body { padding-top: 64px; }
}

/* ==========================================================================
   Layout
   ========================================================================== */
.kisyu-section { position: relative; overflow: hidden; padding: clamp(72px, 9vw, 112px) 0; }
.kisyu-section--lg { padding: clamp(72px, 9vw, 120px) 0; }
.kisyu-section--md { padding: clamp(56px, 7vw, 88px) 0; }
.kisyu-section--trial { padding: clamp(64px, 8vw, 96px) 0; }
.kisyu-section--cta { padding: clamp(64px, 8vw, 104px) 0; }
.kisyu-section--news { padding: clamp(56px, 7vw, 96px) 0; }

.kisyu-container { position: relative; max-width: 1120px; margin: 0 auto; padding: 0 clamp(20px, 4vw, 40px); }
.kisyu-container--860 { max-width: 860px; }
.kisyu-container--880 { max-width: 880px; }
.kisyu-container--960 { max-width: 960px; }
.kisyu-container--1000 { max-width: 1000px; }
.kisyu-container--1240 { max-width: 1240px; }
.kisyu-stack { display: flex; flex-direction: column; gap: clamp(64px, 8vw, 96px); }
.kisyu-stack--sm { gap: clamp(56px, 7vw, 80px); }

/* ==========================================================================
   Heading（.heading と併用）
   ========================================================================== */
.kisyu-heading { margin-bottom: clamp(36px, 5vw, 52px); }
.kisyu-heading--sm { margin-bottom: clamp(32px, 4vw, 44px); }
.kisyu-heading--mb0 { margin-bottom: 0; }
.kisyu-heading .heading__en {
  display: block;
  margin-bottom: 8px;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.9;
  letter-spacing: 0.2em;
  color: #D5017F;
}
.kisyu-heading .heading__ja {
  margin: 0;
  font-size: clamp(26px, 3.4vw, 36px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #3A2E35;
}
.kisyu-heading__ja-sub { font-size: 0.6em; color: #D5017F; }
.kisyu-heading__sub { margin-top: 4px; font-size: 1.7rem; font-weight: 700; color: #D5017F; }
.kisyu-heading__lead { margin-top: 12px; font-size: 1.7rem; color: #4A3B43; }
.kisyu-heading--about .heading__ja { font-size: clamp(24px, 3vw, 32px); line-height: 1.6; letter-spacing: 0.03em; }
.kisyu-heading--about .kisyu-heading__ja-sub { display: block; margin-top: 4px; font-size: clamp(13px, 1.75vw, 20px); white-space: nowrap; }

.kisyu-text { font-size: 1.7rem; line-height: 2; color: #4A3B43; }

/* ==========================================================================
   Button
   ========================================================================== */
.kisyu-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 56px;
  padding: 0 32px;
  border: 2px solid #D5017F;
  border-radius: 999px;
  background: #D5017F;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.9;
  white-space: nowrap;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(213, 1, 127, 0.22);
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.kisyu-btn:hover { background: #B3006A; border-color: #B3006A; color: #fff; }
/* ピンク背景（フッター）上でのみ使う反転色。形状・サイズは共通 */
.kisyu-btn--white { align-self: flex-start; border-color: #fff; background: #fff; color: #D5017F; box-shadow: none; }
.kisyu-btn--white:hover { border-color: #FCE8F2; background: #FCE8F2; color: #D5017F; }
@media (max-width: 699px) {
  .kisyu-btn { width: 100%; max-width: 300px; padding: 0 12px; font-size: 1.5rem; }
}
.kisyu-btn-wrap { display: flex; justify-content: center; margin-top: 40px; }
.kisyu-btn-wrap--32 { margin-top: 32px; }

/* ==========================================================================
   Deco（あしらい：マスク画像を #E9A6CB で塗る）
   ========================================================================== */
.kisyu-deco {
  position: absolute;
  width: clamp(80px, 11vw, 150px);
  height: clamp(80px, 11vw, 150px);
  background: #E9A6CB;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transform: rotate(8deg);
  pointer-events: none;
}
.kisyu-deco--rev { transform: rotate(-8deg); }
.kisyu-deco--left-3 { left: 3%; }
.kisyu-deco--left-4 { left: 4%; }
.kisyu-deco--right-3 { right: 3%; }
.kisyu-deco--right-4 { right: 4%; }
.kisyu-deco--right-5 { right: 5%; }
.kisyu-deco--right-6 { right: 6%; }
.kisyu-deco--right-14 { right: 14%; }
.kisyu-deco--top-30p { top: 30%; }
.kisyu-deco--top-32 { top: 32px; }
.kisyu-deco--top-36 { top: 36px; }
.kisyu-deco--top-40 { top: 40px; }
.kisyu-deco--top-48 { top: 48px; }
.kisyu-deco--top-56 { top: 56px; }
.kisyu-deco--top-120 { top: 120px; }
.kisyu-deco--bottom-32 { bottom: 32px; }
.kisyu-deco--bottom-40 { bottom: 40px; }
.kisyu-deco--bottom-48 { bottom: 48px; }
.kisyu-deco--a01 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-01.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-01.png); }
.kisyu-deco--a02 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-02.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-02.png); }
.kisyu-deco--a03 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-03.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-03.png); }
.kisyu-deco--a04 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-04.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-04.png); }
.kisyu-deco--a05 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-05.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-05.png); }
.kisyu-deco--a06 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-06.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-06.png); }
.kisyu-deco--a07 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-07.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-07.png); }
.kisyu-deco--a08 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-08.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-08.png); }
.kisyu-deco--a09 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-09.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-09.png); }
.kisyu-deco--a10 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-10.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-10.png); }
.kisyu-deco--a11 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-11.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-11.png); }
.kisyu-deco--a12 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-12.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-12.png); }
.kisyu-deco--a13 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-13.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-13.png); }
.kisyu-deco--a14 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-14.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-14.png); }
.kisyu-deco--a15 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-15.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-15.png); }
.kisyu-deco--a16 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-16.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-16.png); }
.kisyu-deco--a17 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-17.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-17.png); }
.kisyu-deco--a18 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-18.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-18.png); }
.kisyu-deco--a19 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-19.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-19.png); }
.kisyu-deco--a20 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-20.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-20.png); }
.kisyu-deco--a21 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-21.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-21.png); }
.kisyu-deco--a22 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-22.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-22.png); }
.kisyu-deco--a23 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-23.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-23.png); }
.kisyu-deco--a24 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-24.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-24.png); }
.kisyu-deco--a25 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-25.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-25.png); }
.kisyu-deco--a26 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-26.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-26.png); }
.kisyu-deco--a27 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-27.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-27.png); }
.kisyu-deco--a28 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-28.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-28.png); }
.kisyu-deco--a29 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-29.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-29.png); }
.kisyu-deco--a30 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-30.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-30.png); }
.kisyu-deco--a31 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-31.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-31.png); }
.kisyu-deco--a32 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-32.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-32.png); }
.kisyu-deco--a33 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-33.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-33.png); }
.kisyu-deco--a34 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-34.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-34.png); }
.kisyu-deco--a35 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-35.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-35.png); }
.kisyu-deco--a36 { -webkit-mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-36.png); mask-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/asirai-36.png); }

/* ==========================================================================
   Header（header / header-bar / header-logo の見た目差分）
   ========================================================================== */
.kisyu-header.header-bar {
  right: 0;
  background: rgba(255, 255, 255, 0.97);
  border-bottom: 1px solid #F3D3E3;
  box-shadow: 0 2px 12px rgba(213, 1, 127, 0.05);
}
.kisyu-header__inner.header__inner {
  gap: 20px;
  max-width: none;
  height: 92px;
  padding: 0 clamp(12px, 1.6vw, 24px);
}
.kisyu-logo { flex-direction: column; justify-content: center; line-height: 1.2; }
.kisyu-logo.header-logo { flex-direction: row; align-items: center; gap: 14px; }
.kisyu-logo__duskin { display: block; flex-shrink: 0; width: auto; height: 56px; }
@media (min-width: 1240px) and (max-width: 1439px) {
  .kisyu-logo__duskin { height: 44px; }
}
.kisyu-logo .header-logo__body { line-height: 1.2; }
.kisyu-logo__en.header-logo__sub { font-family: "Montserrat", sans-serif; font-size: 1.3rem; font-weight: 700; letter-spacing: 0.14em; color: #D5017F; }
.kisyu-logo__ja.header-logo__name { font-size: 2.2rem; font-weight: 700; line-height: 1.2; letter-spacing: 0.06em; color: #3A2E35; }

.kisyu-header__nav.header__nav { gap: clamp(8px, 1.4vw, 22px); margin-left: auto; margin-right: 0; }
.kisyu-header__nav .header__nav-item a { padding: 10px; line-height: 1.3; color: #3A2E35; transition: color 0.2s; }
.kisyu-header__nav .header__nav-item a::after { display: none; }
.kisyu-header__nav .header__nav-item a:hover { color: #D5017F; }
.kisyu-header__nav .header__nav-en { font-size: 1rem; font-weight: 600; line-height: 1.3; letter-spacing: 0.12em; color: #D5017F; }
.kisyu-header__nav .header__nav-ja { margin-top: 0; font-size: 1.4rem; font-weight: 700; line-height: 1.3; color: inherit; }
.kisyu-header__nav .header__nav-item--current a::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -2px;
  width: 6px;
  height: 6px;
  margin-left: -3px;
  border-radius: 50%;
  background: #D5017F;
}

.kisyu-header__right.header__right { gap: 20px; height: auto; }
.kisyu-header__tel.header__tel { flex-direction: column; align-items: flex-end; padding-left: 8px; line-height: 1.25; color: #3A2E35; }
.kisyu-header__tel.header__tel::before { display: none; }
.kisyu-header__tel.header__tel:hover { opacity: 1; }
.kisyu-header__tel-num { display: flex; align-items: center; gap: 6px; font-family: "Montserrat", sans-serif; font-size: 2.1rem; font-weight: 700; letter-spacing: 0.02em; color: #D5017F; }
.kisyu-header__tel-time { font-family: "Zen Kaku Gothic New", sans-serif; font-size: 1.2rem; font-weight: 400; color: #6E5F67; }
.kisyu-header__cta.header__cta {
  flex-direction: row;
  gap: 8px;
  height: 52px;
  padding: 0 22px;
  border-radius: 999px;
  background: #D5017F;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
}
.kisyu-header__cta.header__cta:hover { background: #B3006A; color: #fff; }

@media (max-width: 1239px) {
  .kisyu-header__inner.header__inner { height: 64px; }
  .kisyu-logo.header-logo { gap: 10px; }
  .kisyu-logo__duskin { height: 38px; }
  .kisyu-header__nav.header__nav,
  .kisyu-header__right.header__right { display: none; }
}

/* nav-toggle（ハンバーガー：MENU ラベル付きピンクボタン） */
.kisyu-nav-toggle.nav-toggle {
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  top: 6px;
  right: clamp(12px, 1.6vw, 24px);
  width: 52px;
  height: 52px;
  padding-bottom: 7px;
  border-radius: 14px;
  background: #FCE8F2;
  backdrop-filter: none;
  color: #D5017F;
}
.kisyu-nav-toggle .nav-toggle__line { width: 18px; height: 2.2px; border-radius: 2px; background: #D5017F; }
.kisyu-nav-toggle .nav-toggle__line:nth-child(1) { top: 12px; }
.kisyu-nav-toggle .nav-toggle__line:nth-child(2) { top: 17px; }
.kisyu-nav-toggle .nav-toggle__line:nth-child(3) { top: 22px; }
.kisyu-nav-toggle.is-active .nav-toggle__line:nth-child(1),
.kisyu-nav-toggle.is-active .nav-toggle__line:nth-child(3) { top: 17px; }
@media (max-width: 1239px) {
  .kisyu-nav-toggle.nav-toggle { display: flex; }
}
.kisyu-nav-toggle__label { font-family: "Montserrat", sans-serif; font-size: 1rem; font-weight: 700; line-height: 1; letter-spacing: 0.08em; }

/* sp-nav（ヘッダー下に開く白パネル） */
.kisyu-sp-nav.sp-nav {
  top: 64px;
  display: block;
  padding: 16px 20px 120px;
  border-top: 1px solid #F3D3E3;
  background: #fff;
  z-index: 100;
}
.kisyu-sp-nav .sp-nav__list { max-width: none; text-align: left; }
.kisyu-sp-nav .sp-nav__item,
.kisyu-sp-nav .sp-nav__item:first-child { border-top: 0; border-bottom: 1px solid #F3D3E3; }
.kisyu-sp-nav .sp-nav__link { padding: 16px 4px; color: #3A2E35; font-size: 1.7rem; font-weight: 700; }
.kisyu-sp-nav .sp-nav__link::after { display: none; }
.kisyu-sp-nav .sp-nav__link:hover { background: none; color: #D5017F; }
.kisyu-sp-nav .sp-nav__en { order: 2; margin: 0 0 0 auto; padding: 0; font-size: 1.1rem; letter-spacing: 0.12em; color: #D5017F; opacity: 1; }
.kisyu-sp-nav__bottom.sp-nav__bottom {
  max-width: none;
  margin-top: 24px;
  padding: 20px;
  border-radius: 16px;
  background: #FCE8F2;
  font-size: 1.4rem;
  color: #4A3B43;
}
.kisyu-sp-nav.is-open .kisyu-sp-nav__bottom { opacity: 1; transform: none; }
.kisyu-sp-nav__tel.header__tel { display: inline-flex; align-items: center; gap: 8px; font-size: 2.8rem; line-height: 1.4; color: #D5017F; }
.kisyu-sp-nav__tel.header__tel::before { display: none; }

/* sp-fixed-bar（1239px以下で表示） */
.kisyu-spbar.sp-fixed-bar {
  display: none;
  z-index: 99;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
  border-top: 1px solid #F3D3E3;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 -4px 16px rgba(213, 1, 127, 0.08);
}
@media (max-width: 1239px) {
  .kisyu-spbar.sp-fixed-bar { display: grid; }
}
.kisyu-spbar__link.sp-fixed-bar__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 54px;
  padding: 0;
  border: 2px solid #D5017F;
  border-radius: 999px;
  font-size: 1.6rem;
  font-weight: 700;
}
.kisyu-spbar__link--tel.sp-fixed-bar__link { background: #fff; color: #D5017F; }
.kisyu-spbar__link--mail.sp-fixed-bar__link { background: #D5017F; color: #fff; }
.kisyu-spbar__link--mail.sp-fixed-bar__link:hover { color: #fff; }

/* ==========================================================================
   Footer
   ========================================================================== */
.kisyu-footer { background: #D5017F; color: #fff; }
.kisyu-footer__inner { max-width: 1120px; margin: 0 auto; padding: clamp(56px, 7vw, 80px) clamp(20px, 4vw, 40px) 32px; }
.kisyu-footer__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 48px 56px; }
.kisyu-footer__info { display: flex; flex-direction: column; gap: 20px; }
.kisyu-footer__logo { display: flex; flex-direction: column; line-height: 1.25; color: #fff; }
.kisyu-footer__logo:hover { color: #fff; }
.kisyu-footer__logo-en { font-family: "Montserrat", sans-serif; font-size: 1.4rem; font-weight: 700; letter-spacing: 0.16em; }
.kisyu-footer__logo-ja { font-size: 2.8rem; font-weight: 700; letter-spacing: 0.06em; }
.kisyu-footer__address { font-size: 1.5rem; line-height: 1.9; }
.kisyu-footer__address a { color: #fff; }
.kisyu-footer__nav { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 32px; }
.kisyu-footer__nav-title { margin-bottom: 14px; font-family: "Montserrat", sans-serif; font-size: 1.3rem; font-weight: 700; letter-spacing: 0.18em; }
.kisyu-footer__nav-list { display: flex; flex-direction: column; gap: 10px; font-size: 1.5rem; }
.kisyu-footer__nav-list a { color: #fff; }
.kisyu-footer__nav-list a:hover { color: #fff; text-decoration: underline; }
.kisyu-footer__copyright {
  margin-top: 56px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.35);
  text-align: center;
  font-family: "Montserrat", sans-serif;
  font-size: 1.3rem;
  letter-spacing: 0.06em;
}
@media (max-width: 1239px) {
  .kisyu-footer { padding-bottom: 76px; }
}

/* ==========================================================================
   Page hero（下層）
   ========================================================================== */
.kisyu-page-hero { position: relative; overflow: hidden; padding: clamp(44px, 6vw, 80px) 0 clamp(44px, 6vw, 72px); }
.kisyu-breadcrumb.breadcrumb { margin-bottom: 20px; padding: 0; font-size: 1.4rem; color: #6E5F67; }
.kisyu-breadcrumb .breadcrumb__list { gap: 8px; }
.kisyu-breadcrumb .breadcrumb__item:not(:last-child)::after { content: "›"; margin: 0 0 0 8px; color: #6E5F67; }
.kisyu-breadcrumb .breadcrumb__link,
.kisyu-breadcrumb .breadcrumb__current { color: #6E5F67; }
.kisyu-page-hero__en { margin-bottom: 6px; font-family: "Montserrat", sans-serif; font-size: 1.5rem; font-weight: 600; letter-spacing: 0.2em; color: #D5017F; }
.kisyu-page-hero__title { font-size: clamp(28px, 4.2vw, 44px); font-weight: 700; line-height: 1.45; letter-spacing: 0.04em; color: #3A2E35; }
.kisyu-page-hero__lead { max-width: 720px; margin-top: 16px; font-size: 1.7rem; line-height: 1.9; color: #4A3B43; }

/* ==========================================================================
   TOP：メインビジュアル
   ========================================================================== */
.kisyu-mv { position: relative; overflow: hidden; background: #FCE8F2; }
.kisyu-mv #slideshow { height: calc(100vh - 92px); height: calc(100svh - 92px); min-height: 560px; }
.kisyu-mv .swiper-slide,
.kisyu-mv .main_slider__inner { width: 100%; height: 100%; }
.kisyu-mv__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 4px; }
.kisyu-mv__grid img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.kisyu-mv__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(16px, 4vw, 40px);
  background: rgba(255, 255, 255, 0.18);
}
.kisyu-mv__card {
  width: 100%;
  max-width: 640px;
  padding: clamp(28px, 5vw, 56px) clamp(20px, 4vw, 48px);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.94);
  text-align: center;
  box-shadow: 0 20px 48px rgba(120, 0, 70, 0.14);
}
.kisyu-mv__title { font-size: clamp(32px, 5.4vw, 58px); font-weight: 900; line-height: 1.4; letter-spacing: 0.03em; color: #3A2E35; }
.kisyu-mv__sub { margin-top: 18px; font-size: clamp(19px, 2.2vw, 24px); font-weight: 700; line-height: 1.6; color: #D5017F; }

/* ==========================================================================
   TOP：お悩み
   ========================================================================== */
.kisyu-worries { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 16px; }
.kisyu-worries__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  padding: 32px 20px;
  border-radius: 20px;
  background: #fff;
  text-align: center;
  box-shadow: 0 8px 24px rgba(213, 1, 127, 0.06);
}
.kisyu-worries__item img { display: block; width: 120px; height: 120px; object-fit: contain; }
.kisyu-worries__text { font-size: 1.8rem; font-weight: 700; line-height: 1.7; }
.kisyu-worries__conclusion { display: flex; flex-direction: column; align-items: center; margin-top: 40px; }
.kisyu-worries__conclusion::before { content: ""; width: 0; height: 0; border-left: 22px solid transparent; border-right: 22px solid transparent; border-top: 20px solid #D5017F; }
.kisyu-worries__catch { margin-top: 24px; text-align: center; font-size: clamp(24px, 3.4vw, 36px); font-weight: 900; line-height: 1.5; letter-spacing: 0.03em; }

/* ==========================================================================
   2カラム（写真＋テキスト）
   ========================================================================== */
.kisyu-split { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: clamp(32px, 5vw, 64px); align-items: center; }
.kisyu-photo { aspect-ratio: 4 / 3; border-radius: 24px; overflow: hidden; box-shadow: 0 16px 40px rgba(120, 0, 70, 0.10); }
.kisyu-photo--3-2 { aspect-ratio: 3 / 2; }
.kisyu-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.kisyu-watermark { position: absolute; left: clamp(12px, 3vw, 40px); bottom: clamp(16px, 3vw, 40px); width: clamp(220px, 32vw, 460px); height: auto; opacity: 0.1; pointer-events: none; }
.kisyu-logo-mm { width: clamp(200px, 24vw, 280px); margin-bottom: 24px; }
.kisyu-logo-mm img { display: block; width: 100%; height: auto; }
.kisyu-logo-mm--center { margin-inline: auto; }

.kisyu-checklist { display: flex; flex-direction: column; gap: 12px; margin-top: 28px; }
.kisyu-checklist__item { display: flex; align-items: center; gap: 14px; padding: 14px 18px; border-radius: 14px; background: #FCE8F2; font-size: 1.7rem; font-weight: 700; }
.kisyu-checklist__icon { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 32px; height: 32px; border-radius: 50%; background: #D5017F; color: #fff; }

/* ==========================================================================
   カードグリッド
   ========================================================================== */
.kisyu-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 20px; }
.kisyu-grid--gap-24 { gap: 24px; }
.kisyu-grid--300 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 24px; }
.kisyu-grid--news { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 28px 24px; }
.kisyu-grid--400 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), 1fr)); gap: 24px; }

/* 4列 → 2列 → 1列（デザインのコンテナ幅しきい値 860px / 420px に合わせたBP） */
.kisyu-cards4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 939px) { .kisyu-cards4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1119px) { .kisyu-cards4--wide { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 459px) { .kisyu-cards4 { grid-template-columns: minmax(0, 1fr); } }

/* ==========================================================================
   番号＋アイコン画像カード（選ばれる理由・特徴）
   ========================================================================== */
.kisyu-reason { position: relative; padding: 40px 28px 32px; border-radius: 20px; background: #fff; text-align: center; box-shadow: 0 8px 24px rgba(213, 1, 127, 0.06); }
.kisyu-reason--pink { background: #FCE8F2; box-shadow: none; }
.kisyu-reason__num { position: absolute; top: 18px; left: 22px; font-family: "Montserrat", sans-serif; font-size: 2.8rem; font-weight: 700; color: #F3C4DC; }
.kisyu-reason--pink .kisyu-reason__num { color: #EBA6CB; }
.kisyu-reason__img { display: block; width: 130px; height: 130px; margin: 0 auto; object-fit: contain; }
.kisyu-reason__title { margin: 20px 0 10px; font-size: 2rem; font-weight: 700; line-height: 1.6; }
.kisyu-reason__title--fixed { display: flex; align-items: center; justify-content: center; min-height: 3.2em; }
.kisyu-reason__text { font-size: 1.6rem; line-height: 1.85; color: #4A3B43; text-align: left; }

/* ==========================================================================
   TOP：サービス一覧の大カード
   ========================================================================== */
.kisyu-svc-main {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), 1fr));
  border: 2px solid #D5017F;
  border-radius: 24px;
  overflow: hidden;
  background: #fff;
  color: #3A2E35;
  box-shadow: 0 16px 40px rgba(213, 1, 127, 0.10);
  transition: box-shadow 0.2s;
}
.kisyu-svc-main:hover { color: #3A2E35; box-shadow: 0 20px 48px rgba(213, 1, 127, 0.18); }
.kisyu-svc-main__img { position: relative; min-height: 300px; }
.kisyu-svc-main__img img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.kisyu-svc-main__body { display: flex; flex-direction: column; justify-content: center; padding: clamp(28px, 4vw, 48px); }
.kisyu-svc-main__badge { align-self: flex-start; padding: 4px 14px; border-radius: 999px; background: #D5017F; color: #fff; font-size: 1.3rem; font-weight: 700; }
.kisyu-svc-main__title { margin-top: 14px; font-size: clamp(24px, 3vw, 30px); font-weight: 700; line-height: 1.5; }
.kisyu-svc-main__sub { margin-top: 2px; font-size: 1.6rem; font-weight: 700; color: #D5017F; }
.kisyu-svc-main__text { margin-top: 14px; font-size: 1.7rem; line-height: 1.9; color: #4A3B43; }
.kisyu-svc-main__more { display: inline-flex; align-items: center; gap: 10px; margin-top: 22px; font-weight: 700; color: #D5017F; }
.kisyu-svc-main__circle { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: #D5017F; color: #fff; }

/* ==========================================================================
   写真カード（サービス・ご利用例・商品・お知らせ）
   ========================================================================== */
.kisyu-card {
  display: flex;
  flex-direction: column;
  border: 1px solid #F3D3E3;
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
  color: #3A2E35;
  box-shadow: 0 8px 24px rgba(213, 1, 127, 0.06);
  transition: border-color 0.2s;
}
a.kisyu-card:hover { border-color: #D5017F; color: #3A2E35; }
.kisyu-card--plain { border: 0; }
.kisyu-card--flat { box-shadow: none; }
.kisyu-card--news { box-shadow: 0 8px 24px rgba(213, 1, 127, 0.05); }
.kisyu-card__img { aspect-ratio: 4 / 3; background: #FCE8F2; }
.kisyu-card__img--3-2 { aspect-ratio: 3 / 2; min-height: 0; overflow: hidden; }
.kisyu-card__img--16-10 { aspect-ratio: 16 / 10; }
.kisyu-card__img--pale { background: #FFF7FB; }
.kisyu-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.kisyu-card__img--contain { background: #fff; }
.kisyu-card__img--contain img { object-fit: contain; padding: 12px; box-sizing: border-box; }
.kisyu-card__img--pair { display: grid; grid-template-columns: 1fr 1fr; }
.kisyu-card__img--pair img { min-width: 0; min-height: 0; }
.kisyu-card__body { display: flex; flex-direction: column; flex: 1; padding: 20px 22px 24px; }
.kisyu-card__body--sm { padding: 20px 16px 24px; }
.kisyu-card__body--lg { padding: 22px 24px 26px; }
.kisyu-card__body--center { text-align: center; }
.kisyu-card__title { font-size: 1.9rem; font-weight: 700; line-height: 1.5; }
.kisyu-card__title--lg { font-size: 2rem; }
.kisyu-card__title--fit { margin-top: 10px; font-size: clamp(14px, 1.45vw, 19px); line-height: 1.9; white-space: nowrap; }
.kisyu-card__title--biz { flex: 1; font-size: clamp(14px, 1.35vw, 17px); line-height: 1.7; }
.kisyu-card__title--news { margin-top: 10px; font-size: 1.7rem; line-height: 1.7; }
.kisyu-card__title-sub { font-size: 1.5rem; color: #D5017F; }
.kisyu-card__title-sub--dark { color: #B3006A; }
.kisyu-card__title-sub--sm { font-size: 1.4rem; color: #B3006A; }
.kisyu-card__case { font-family: "Montserrat", sans-serif; font-size: 1.2rem; font-weight: 700; letter-spacing: 0.18em; color: #D5017F; }
.kisyu-card__case + .kisyu-card__title { margin: 4px 0 8px; font-size: 2rem; line-height: 1.9; }
.kisyu-card__text { flex: 1; margin-top: 10px; font-size: 1.5rem; line-height: 1.8; color: #4A3B43; }
.kisyu-card__text--sm-mt { margin-top: 8px; }
.kisyu-card__desc { margin-top: 8px; font-size: 1.6rem; line-height: 1.85; color: #4A3B43; }
.kisyu-card__case ~ .kisyu-card__desc { margin-top: 0; }
.kisyu-card__more { display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin-top: 14px; font-size: 1.5rem; font-weight: 700; color: #D5017F; }
.kisyu-card__more--12 { margin-top: 12px; }
.kisyu-card__more--center { justify-content: center; }
.kisyu-card__tag { align-self: flex-start; padding: 2px 12px; border-radius: 999px; background: #FCE8F2; color: #B3006A; font-size: 1.3rem; font-weight: 700; }
.kisyu-card__meta { display: flex; align-items: center; gap: 12px; }
.kisyu-card__date { font-family: "Montserrat", sans-serif; font-size: 1.4rem; font-weight: 600; color: #6E5F67; }

/* ==========================================================================
   ご利用の流れ
   ========================================================================== */
.kisyu-flow { display: flex; align-items: stretch; gap: 36px; }
.kisyu-flow__item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1 1 0;
  min-width: 0;
  padding: 26px 20px 24px;
  border: 1px solid #F3D3E3;
  border-radius: 16px;
  background: #fff;
  text-align: center;
  box-shadow: 0 8px 24px rgba(213, 1, 127, 0.06);
}
.kisyu-flow__item:not(:last-child)::after {
  content: "";
  position: absolute;
  right: -26px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-left: 14px solid #D5017F;
}
.kisyu-flow__icon { display: flex; align-items: center; justify-content: center; height: 52px; margin-bottom: 12px; font-size: 4rem; line-height: 1; color: #D5017F; }
.kisyu-flow__step { font-family: "Montserrat", sans-serif; font-size: 1.2rem; font-weight: 700; letter-spacing: 0.18em; color: #D5017F; }
.kisyu-flow__label { display: block; margin-top: 4px; font-size: 1.8rem; font-weight: 700; line-height: 1.6; color: #3A2E35; }
.kisyu-flow__note { display: block; margin-top: 6px; font-size: 1.4rem; line-height: 1.7; color: #6E5F67; }
@media (max-width: 759px) {
  .kisyu-flow { flex-direction: column; }
  .kisyu-flow__item:not(:last-child)::after {
    top: auto;
    right: auto;
    left: 50%;
    bottom: -26px;
    transform: translateX(-50%);
    border-top: 14px solid #D5017F;
    border-bottom: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
  }
}

/* ==========================================================================
   対応エリア
   ========================================================================== */
.kisyu-area {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  gap: 32px;
  align-items: center;
  padding: clamp(32px, 5vw, 56px);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(213, 1, 127, 0.08);
}
.kisyu-area__lead { margin-top: 16px; font-size: 1.8rem; font-weight: 700; line-height: 1.8; }
.kisyu-area__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 28px; }
.kisyu-area__city { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 64px; border-radius: 14px; background: #D5017F; color: #fff; font-size: 1.9rem; font-weight: 700; }
.kisyu-area__city i { font-size: 1.8rem; }
.kisyu-area__city--part { background: #FCE8F2; color: #3A2E35; font-size: 1.8rem; }
.kisyu-area__badge { padding: 2px 10px; border-radius: 999px; background: #fff; color: #B3006A; font-size: 1.3rem; font-weight: 700; }
.kisyu-area__note { margin-top: 20px; font-size: 1.5rem; line-height: 1.8; color: #6E5F67; }
.kisyu-area__map { display: flex; justify-content: center; }
.kisyu-area__map img { display: block; width: 100%; max-width: 340px; height: auto; }

/* ==========================================================================
   お知らせ（TOP 見出し行）
   ========================================================================== */
.kisyu-news-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: clamp(32px, 4vw, 44px); }
@media (max-width: 639px) {
  .kisyu-news-head { flex-direction: column; align-items: stretch; }
  .kisyu-news-head > .kisyu-btn { align-self: center; }
  .kisyu-news-head > .heading--left { text-align: center; }
}

/* ==========================================================================
   お問い合わせ（TOP フォーム）
   ========================================================================== */
.kisyu-contact-lead { margin-top: 14px; font-size: 1.8rem; font-weight: 700; line-height: 1.8; }
.kisyu-contact-tel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 4px 20px;
  margin-bottom: 24px;
  padding: 20px;
  border: 2px solid #D5017F;
  border-radius: 20px;
  background: #fff;
  color: #D5017F;
  transition: background 0.2s;
}
.kisyu-contact-tel:hover { background: #FFF7FB; color: #D5017F; }
.kisyu-contact-tel__label { font-size: 1.6rem; font-weight: 700; color: #3A2E35; }
.kisyu-contact-tel__num { display: flex; align-items: center; gap: 8px; font-family: "Montserrat", sans-serif; font-size: 3rem; font-weight: 700; line-height: 1.3; }
.kisyu-contact-tel__note { font-size: 1.4rem; color: #6E5F67; }

.kisyu-form { display: flex; flex-direction: column; gap: 26px; padding: clamp(28px, 5vw, 56px); border-radius: 24px; background: #fff; box-shadow: 0 12px 32px rgba(213, 1, 127, 0.08); }
.kisyu-form__field { display: flex; flex-direction: column; gap: 8px; }
.kisyu-form__label { display: flex; align-items: center; gap: 10px; font-size: 1.7rem; font-weight: 700; }
.kisyu-form__req { padding: 1px 10px; border-radius: 6px; background: #D5017F; color: #fff; font-size: 1.2rem; }
.kisyu-form__req--opt { background: #FCE8F2; color: #B3006A; }
.kisyu-form__hint { font-size: 1.4rem; font-weight: 500; color: #6E5F67; }
.kisyu-form__input {
  width: 100%;
  height: 58px;
  padding: 0 18px;
  border: 1.5px solid #E8BDD3;
  border-radius: 12px;
  background: #fff;
  color: #3A2E35;
  font-size: 1.7rem;
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.kisyu-form__input:focus { border-color: #D5017F; box-shadow: 0 0 0 4px #FCE8F2; }
.kisyu-form__input--textarea { height: auto; padding: 16px 18px; line-height: 1.8; resize: vertical; }
.kisyu-form__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 26px 20px; }
.kisyu-form__fieldset { display: flex; flex-direction: column; gap: 10px; border: 0; }
.kisyu-form__legend { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; padding: 0; font-size: 1.7rem; font-weight: 700; }
.kisyu-form__choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 10px; }
.kisyu-form__radio { position: absolute; width: 1px; height: 1px; opacity: 0; }
.kisyu-form__choice {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 56px;
  padding: 0 16px;
  border: 1.5px solid #E8BDD3;
  border-radius: 12px;
  background: #fff;
  color: #3A2E35;
  font-size: 1.6rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s;
}
.kisyu-form__mark { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 22px; height: 22px; border: 2px solid #E8BDD3; border-radius: 50%; }
.kisyu-form__choice:hover { border-color: #D5017F; }
.kisyu-form__radio:checked + .kisyu-form__choice { border-color: #D5017F; background: #FFF7FB; color: #D5017F; }
.kisyu-form__radio:checked + .kisyu-form__choice .kisyu-form__mark { border-color: #D5017F; background: #D5017F; box-shadow: inset 0 0 0 4px #fff; }
.kisyu-form__radio:focus-visible + .kisyu-form__choice { box-shadow: 0 0 0 4px #FCE8F2; }
.kisyu-form__agree { padding: 18px 20px; border-radius: 14px; background: #FCE8F2; }
.kisyu-form__agree label { display: flex; align-items: center; justify-content: center; gap: 12px; font-size: 1.7rem; font-weight: 700; cursor: pointer; }
.kisyu-form__agree input { width: 24px; height: 24px; margin: 0; accent-color: #D5017F; }
.kisyu-form__submit {
  align-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: min(100%, 360px);
  min-height: 64px;
  border: 0;
  border-radius: 999px;
  background: #D5017F;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(213, 1, 127, 0.22);
  transition: background 0.2s;
}
.kisyu-form__submit:hover { background: #B3006A; }
.kisyu-form:invalid .kisyu-form__submit { background: #C7A9B9; }

/* ==========================================================================
   下層お問い合わせCTA
   ========================================================================== */
.kisyu-cta { padding: clamp(36px, 5vw, 64px) clamp(20px, 4vw, 56px); border-radius: 24px; background: #fff; text-align: center; box-shadow: 0 12px 32px rgba(213, 1, 127, 0.08); }
.kisyu-cta--plain { padding: 0; background: none; box-shadow: none; }
.kisyu-cta__en { margin-bottom: 8px; font-family: "Montserrat", sans-serif; font-size: 1.4rem; font-weight: 600; letter-spacing: 0.2em; color: #D5017F; }
.kisyu-cta__title { font-size: clamp(22px, 3vw, 32px); font-weight: 700; line-height: 1.6; color: #3A2E35; }
.kisyu-cta__text { max-width: 780px; margin: 14px auto 0; font-size: 1.7rem; line-height: 1.9; color: #4A3B43; }
.kisyu-cta__btns { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 16px; max-width: 780px; margin: 32px auto 0; }
.kisyu-cta--plain .kisyu-cta__btns { margin-top: 28px; }
.kisyu-cta__btn { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 104px; padding: 16px; border-radius: 16px; transition: background 0.2s, color 0.2s; }
.kisyu-cta__btn--tel { gap: 2px; border: 2px solid #D5017F; background: #fff; color: #D5017F; }
.kisyu-cta__btn--tel:hover { background: #FCE8F2; color: #D5017F; }
.kisyu-cta__btn--mail { gap: 6px; background: #D5017F; color: #fff; box-shadow: 0 8px 20px rgba(213, 1, 127, 0.22); }
.kisyu-cta__btn--mail:hover { background: #B3006A; color: #fff; }
.kisyu-cta__btn-label { font-size: 1.5rem; font-weight: 700; }
.kisyu-cta__btn--tel .kisyu-cta__btn-label { color: #3A2E35; }
.kisyu-cta__btn-tel { display: flex; align-items: center; gap: 8px; font-family: "Montserrat", sans-serif; font-size: clamp(26px, 3vw, 30px); font-weight: 700; line-height: 1.3; }
.kisyu-cta__btn-mail { display: flex; align-items: center; gap: 8px; font-size: 2.2rem; font-weight: 700; line-height: 1.3; }
.kisyu-cta__btn-note { font-size: 1.3rem; color: #6E5F67; }

/* ==========================================================================
   家事代行：できること・できないこと
   ========================================================================== */
.kisyu-cando { border-radius: 24px; overflow: hidden; background: #fff; box-shadow: 0 8px 24px rgba(213, 1, 127, 0.06); }
.kisyu-cando__head { display: flex; align-items: center; gap: 12px; padding: 20px 28px; background: #D5017F; color: #fff; }
.kisyu-cando__head-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: #fff; color: #D5017F; }
.kisyu-cando__title { font-size: 2.2rem; font-weight: 700; }
.kisyu-cando__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px 16px; padding: 24px 28px 28px; }
.kisyu-cando__list li { display: flex; align-items: center; gap: 10px; font-size: 1.7rem; font-weight: 700; }
.kisyu-cando__list svg { flex-shrink: 0; color: #D5017F; }
.kisyu-cando__note { margin: 0 28px 28px; padding: 12px 16px; border-radius: 12px; background: #FCE8F2; font-size: 1.6rem; font-weight: 700; }
.kisyu-cando--ng .kisyu-cando__head { background: #5E4B55; }
.kisyu-cando--ng .kisyu-cando__head-icon,
.kisyu-cando--ng .kisyu-cando__list svg { color: #5E4B55; }

/* ==========================================================================
   家事代行：ご利用時間・作業配分
   ========================================================================== */
.kisyu-time { display: grid; grid-template-columns: 1fr; gap: clamp(40px, 5vw, 64px); max-width: 1080px; margin: 0 auto; }
.kisyu-time__badge { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 24px; padding: clamp(28px, 4vw, 44px); border: 2px solid #D5017F; border-radius: 24px; background: #fff; text-align: center; }
.kisyu-time__badge img { display: block; width: clamp(160px, 18vw, 220px); height: auto; }
.kisyu-time__catch { font-size: clamp(26px, 3.2vw, 38px); font-weight: 900; line-height: 1.4; }
.kisyu-time__num { font-family: "Montserrat", sans-serif; font-size: 1.5em; color: #D5017F; }
.kisyu-time__note { margin-top: 8px; font-size: 1.6rem; line-height: 1.8; color: #4A3B43; }
/* 900px以上：画像を左・文字を右に置き、見出しと補足を各1行（計2行）で表示 */
@media (min-width: 900px) {
  .kisyu-time__badge { flex-direction: row; gap: 40px; text-align: left; }
  .kisyu-time__catch, .kisyu-time__note { white-space: nowrap; }
  .kisyu-time__br { display: none; }
}
.kisyu-time__chart { min-width: 0; text-align: center; }
.kisyu-time__chart-title { font-size: clamp(20px, 2.4vw, 24px); font-weight: 700; line-height: 1.6; }
.kisyu-time__caption { margin-top: 16px; font-size: 1.4rem; color: #6E5F67; }

.kisyu-usage { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px 12px; max-width: 520px; margin: 24px auto 0; }
.kisyu-usage__item { display: flex; flex-direction: column; align-items: center; gap: 10px; width: 100px; }
.kisyu-usage__icon { display: flex; align-items: center; justify-content: center; width: 80px; height: 80px; border-radius: 50%; background: #FCE8F2; color: #D5017F; font-size: 3.4rem; }
.kisyu-usage__name { font-size: 1.6rem; font-weight: 700; line-height: 1.5; color: #3A2E35; }
@media (min-width: 900px) {
  /* PC・タブレット横は7カラムで1行に並べる */
  .kisyu-usage { display: grid; grid-template-columns: repeat(7, 1fr); max-width: none; }
  .kisyu-usage__item { width: auto; }
}

/* 料金カード */
.kisyu-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 24px; max-width: 960px; margin: 0 auto; }
.kisyu-plan { position: relative; display: flex; flex-direction: column; padding: 40px clamp(18px, 3vw, 28px) 28px; border: 2px solid #D5017F; border-radius: 24px; background: #fff; box-shadow: 0 12px 32px rgba(213, 1, 127, 0.10); }
.kisyu-plan--sub { border-color: #F3D3E3; box-shadow: 0 12px 32px rgba(213, 1, 127, 0.06); }
.kisyu-plan__badge { position: absolute; top: -16px; left: 50%; transform: translateX(-50%); padding: 4px 20px; border-radius: 999px; background: #D5017F; color: #fff; font-size: 1.4rem; font-weight: 700; white-space: nowrap; }
.kisyu-plan__title { font-size: 2.2rem; font-weight: 700; text-align: center; }
.kisyu-plan__cond { margin-top: 6px; font-size: 1.5rem; font-weight: 700; color: #B3006A; text-align: center; }
.kisyu-plan__table { margin-top: 20px; border: 1px solid #F3D3E3; border-radius: 14px; overflow: hidden; }
.kisyu-plan__row { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); align-items: center; gap: 12px; padding: 14px 20px; border-bottom: 1px solid #F3D3E3; }
.kisyu-plan__row:last-child { border-bottom: 0; }
.kisyu-plan__row--head { padding: 10px 20px; background: #FCE8F2; font-size: 1.4rem; font-weight: 700; color: #B3006A; }
.kisyu-plan__time { font-size: 1.6rem; font-weight: 700; }
.kisyu-plan__price { text-align: right; }
.kisyu-plan__yen-num { font-family: "Montserrat", sans-serif; font-size: 2.2rem; font-weight: 700; color: #D5017F; }
.kisyu-plan--sub .kisyu-plan__yen-num { color: #3A2E35; }
.kisyu-plan__yen { font-size: 1.5rem; font-weight: 700; }
.kisyu-plan__tax { display: block; font-size: 1.3rem; color: #6E5F67; }
.kisyu-plan__notes { margin-top: 16px; font-size: 1.4rem; line-height: 1.8; color: #4A3B43; }

/* ==========================================================================
   よくある質問（details / summary）
   ========================================================================== */
.kisyu-faq { display: flex; flex-direction: column; gap: 16px; }
.kisyu-faq__item { border-radius: 20px; overflow: hidden; background: #fff; }
.kisyu-faq__q { display: flex; align-items: center; gap: 14px; padding: 22px clamp(20px, 3vw, 32px); font-size: 1.8rem; font-weight: 700; line-height: 1.7; cursor: pointer; list-style: none; }
.kisyu-faq__q::-webkit-details-marker { display: none; }
.kisyu-faq__q-text { flex: 1; }
.kisyu-faq__badge { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 36px; height: 36px; border-radius: 50%; background: #D5017F; color: #fff; font-family: "Montserrat", sans-serif; font-size: 1.6rem; }
.kisyu-faq__badge--a { background: #FCE8F2; color: #D5017F; font-weight: 700; }
.kisyu-faq__chev { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 32px; height: 32px; border: 1.5px solid #D5017F; border-radius: 50%; color: #D5017F; font-size: 1.4rem; transition: transform 0.25s; }
.kisyu-faq__item[open] .kisyu-faq__chev { transform: rotate(180deg); }
.kisyu-faq__a { display: flex; gap: 14px; margin: 0 clamp(20px, 3vw, 32px); padding: 16px 0 24px; border-top: 1px dashed #F3C4DC; font-size: 1.6rem; line-height: 1.9; color: #4A3B43; }

/* ==========================================================================
   個人・法人：ページ内リンク / カテゴリ見出し
   ========================================================================== */
.kisyu-page-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; max-width: 1120px; margin: 0 auto; padding: 32px clamp(20px, 4vw, 40px) 0; }
.kisyu-page-nav__link { display: inline-flex; align-items: center; gap: 6px; min-height: 48px; padding: 0 22px; border: 1.5px solid #E8BDD3; border-radius: 999px; color: #3A2E35; font-size: 1.5rem; font-weight: 700; transition: border-color 0.2s; }
.kisyu-page-nav__link:hover { border-color: #D5017F; color: #3A2E35; }
.kisyu-page-nav__link span { color: #D5017F; }
/* ボタン幅は各ページで一番長いボタン（文字数＋↓＋余白）にそろえる */
.kisyu-page-nav__link { justify-content: center; min-width: calc(9em + 56px); }
.kisyu-page-nav--biz .kisyu-page-nav__link { padding: 0 20px; min-width: calc(10em + 52px); }
@media (max-width: 699px) {
  /* スマホは2カラム。文字は画面幅に合わせて縮め、1行に収める */
  .kisyu-page-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .kisyu-page-nav__link,
  .kisyu-page-nav--biz .kisyu-page-nav__link { min-width: 0; gap: 4px; padding: 0 8px; font-size: clamp(1rem, 3.6vw, 1.4rem); white-space: nowrap; }
}
.kisyu-page-nav__link--solid { border-color: #D5017F; background: #D5017F; color: #fff; }
.kisyu-page-nav__link--solid span { color: #fff; }
.kisyu-page-nav__link--solid:hover { border-color: #B3006A; background: #B3006A; color: #fff; }

.kisyu-cat-head { display: flex; align-items: center; gap: 18px; margin-bottom: 28px; }
.kisyu-cat-head::after { content: ""; flex: 1; height: 1px; background: #F3D3E3; }
.kisyu-cat-head--pink::after { background: #EBC2D7; }
.kisyu-cat-head__num { font-family: "Montserrat", sans-serif; font-size: 4.4rem; font-weight: 700; line-height: 1; color: #D5017F; }
.kisyu-cat-head__en { font-family: "Montserrat", sans-serif; font-size: 1.3rem; font-weight: 600; letter-spacing: 0.2em; color: #D5017F; }
.kisyu-cat-head__ja { font-size: clamp(24px, 3vw, 30px); font-weight: 700; line-height: 1.4; }
.kisyu-cat-head__badge { margin-left: 8px; padding: 4px 14px; border-radius: 999px; background: #D5017F; color: #fff; font-size: 1.3rem; font-weight: 700; }

/* 2週間無料お試し */
.kisyu-trial { display: flex; flex-wrap: wrap; align-items: center; gap: 28px 40px; padding: clamp(32px, 5vw, 56px); border: 3px solid #D5017F; border-radius: 28px; background: #fff; box-shadow: 0 16px 40px rgba(213, 1, 127, 0.12); }
.kisyu-trial__circle { display: flex; flex-direction: column; align-items: center; justify-content: center; flex-shrink: 0; width: 140px; height: 140px; margin: 0 auto; border-radius: 50%; background: #D5017F; color: #fff; line-height: 1.2; }
.kisyu-trial__circle-en { font-family: "Montserrat", sans-serif; font-size: 1.3rem; font-weight: 700; letter-spacing: 0.14em; }
.kisyu-trial__circle-ja { font-size: 2rem; font-weight: 900; }
.kisyu-trial__circle-en + .kisyu-trial__circle-ja { margin-top: 4px; }
.kisyu-trial__body { flex: 1 1 360px; }
.kisyu-trial__en { margin-bottom: 6px; font-family: "Montserrat", sans-serif; font-size: 1.4rem; font-weight: 600; letter-spacing: 0.2em; color: #D5017F; }
.kisyu-trial__title { font-size: clamp(24px, 3.2vw, 34px); font-weight: 900; line-height: 1.5; }
.kisyu-trial__notes { display: flex; flex-direction: column; gap: 6px; margin-top: 16px; font-size: 1.6rem; line-height: 1.8; color: #4A3B43; }
.kisyu-trial__text { margin-top: 14px; font-size: 1.6rem; line-height: 1.8; color: #4A3B43; }

/* 横長商品カード（空気清浄機） */
.kisyu-wide-card { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); border: 1px solid #F3D3E3; border-radius: 20px; overflow: hidden; background: #fff; box-shadow: 0 8px 24px rgba(213, 1, 127, 0.06); }
.kisyu-wide-card__body { display: flex; flex-direction: column; justify-content: center; padding: clamp(24px, 4vw, 40px); }
.kisyu-wide-card__title { font-size: 2.2rem; font-weight: 700; line-height: 1.5; }
.kisyu-wide-card__text { margin-top: 10px; font-size: 1.6rem; line-height: 1.9; color: #4A3B43; }
.kisyu-wide-card__tags { display: flex; gap: 8px; margin-top: 16px; }
.kisyu-wide-card__tag { padding: 4px 16px; border-radius: 999px; background: #FCE8F2; color: #B3006A; font-size: 1.4rem; font-weight: 700; }

.kisyu-note-box { padding: 20px 24px; border-radius: 16px; background: #FCE8F2; text-align: center; font-size: 1.7rem; font-weight: 700; line-height: 1.8; }

/* 無料お見積もりバナー */
.kisyu-estimate-section { background-color: #FFF7FB; background-image: radial-gradient(#F3C4DC 2px, transparent 2.5px); background-size: 20px 20px; }
.kisyu-estimate {
  position: relative;
  overflow: hidden;
  padding: clamp(40px, 6vw, 64px) clamp(24px, 5vw, 56px);
  border-radius: 28px;
  background: linear-gradient(rgba(51, 51, 51, 0.6), rgba(51, 51, 51, 0.6)), url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28760/estimate-bg.png) center / cover no-repeat;
  color: #fff;
  text-align: center;
}
.kisyu-estimate__en { margin-bottom: 8px; font-family: "Montserrat", sans-serif; font-size: 1.4rem; font-weight: 600; letter-spacing: 0.2em; }
.kisyu-estimate__title { font-size: clamp(26px, 3.4vw, 36px); font-weight: 900; line-height: 1.5; }
.kisyu-estimate__text { margin-top: 14px; font-size: 1.7rem; line-height: 1.9; }
.kisyu-estimate .kisyu-btn { margin-top: 28px; }

/* ==========================================================================
   ウォーターサーバー：チップ
   ========================================================================== */
.kisyu-chips { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 24px; }
.kisyu-chip { display: flex; align-items: center; gap: 12px; padding: 16px; border-radius: 16px; background: #FCE8F2; }
.kisyu-chip__icon { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%; background: #D5017F; color: #fff; }
.kisyu-chip__text { font-size: 1.7rem; font-weight: 700; line-height: 1.4; }

/* ==========================================================================
   会社概要
   ========================================================================== */
.kisyu-profile { padding: clamp(12px, 3vw, 32px) clamp(20px, 4vw, 48px); border-radius: 24px; background: #fff; box-shadow: 0 12px 32px rgba(213, 1, 127, 0.08); }
.kisyu-profile__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 4px 24px; padding: 20px 0; border-bottom: 1px solid #F3D3E3; }
.kisyu-profile__row:last-child { border-bottom: 0; }
.kisyu-profile__row dt { font-weight: 700; color: #D5017F; }
.kisyu-profile__row dd { grid-column: span 3; }
.kisyu-profile__row a { color: #3A2E35; text-decoration: underline; }

/* ==========================================================================
   お知らせ一覧・詳細
   ========================================================================== */
.kisyu-pagination.pagination { margin: 56px 0 0; }
.kisyu-pagination .pagination__link { width: 48px; min-width: 48px; height: 48px; padding: 0; border: 1.5px solid #E8BDD3; border-radius: 50%; color: #3A2E35; font-family: "Montserrat", sans-serif; font-weight: 700; }
.kisyu-pagination .pagination__link:hover { border-color: #D5017F; color: #D5017F; }
.kisyu-pagination .pagination__link.is-current { border-color: #D5017F; background: #D5017F; color: #fff; }
.kisyu-pagination .pagination__link--next { color: #D5017F; }

.kisyu-article__meta { display: flex; align-items: center; gap: 12px; }
.kisyu-article__meta .kisyu-card__date { font-size: 1.5rem; }
.kisyu-article__title { margin-top: 12px; padding-bottom: 24px; border-bottom: 2px solid #FCE8F2; font-size: clamp(24px, 3.2vw, 32px); font-weight: 700; line-height: 1.6; }
.kisyu-article__flyer { max-width: 640px; margin: 36px auto 0; aspect-ratio: 1 / 1.414; border: 1px solid #F3D3E3; border-radius: 16px; overflow: hidden; background: #FCE8F2; }
.kisyu-article__flyer img { display: block; width: 100%; height: 100%; object-fit: contain; }
.kisyu-article__body { margin-top: 32px; }
.kisyu-article__body p { font-size: 1.7rem; line-height: 2; color: #4A3B43; }
.kisyu-article__nav { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; margin-top: 56px; padding-top: 28px; border-top: 1px solid #F3D3E3; font-size: 1.5rem; font-weight: 700; }
.kisyu-article__nav-link { display: flex; align-items: center; gap: 6px; color: #3A2E35; }
.kisyu-article__nav-link:hover { color: #D5017F; }
.kisyu-article__nav-link--prev { justify-self: start; }
.kisyu-article__nav-link--next { justify-self: end; }

/* ==========================================================================
   余白（utility の刻みにない値）
   ========================================================================== */
.kisyu-mt-20 { margin-top: 20px; }
.kisyu-mt-22 { margin-top: 22px; }
.kisyu-mt-24 { margin-top: 24px; }
.kisyu-mt-32 { margin-top: 32px; }
.kisyu-heading--32 { margin-bottom: 32px; }
.kisyu-article__nav .kisyu-btn { box-shadow: none; font-size: 1.5rem; }

/* ==========================================================================
   お知らせ：メイン＋月別アーカイブ（.main-side と併用）
   ========================================================================== */
.kisyu-blog { align-items: flex-start; }
.kisyu-blog .main-side__main { width: calc(100% - 280px); }
.kisyu-blog .main-side__side { position: static; width: 240px; }
.kisyu-archive { padding: 24px 22px; border: 1px solid #F3D3E3; border-radius: 20px; background: #fff; box-shadow: 0 8px 24px rgba(213, 1, 127, 0.05); }
.kisyu-archive__title { margin-bottom: 14px; font-size: 1.8rem; font-weight: 700; line-height: 1.5; }
.kisyu-archive__en { display: block; font-family: "Montserrat", sans-serif; font-size: 1.2rem; font-weight: 600; letter-spacing: 0.2em; color: #D5017F; }
.kisyu-archive__list li,
.kisyu-archive__list li:first-child { border-color: #F3D3E3; }
.kisyu-archive__list a { padding: 14px 4px; font-size: 1.6rem; font-weight: 700; }
.kisyu-archive__list a::after { font-family: "Font Awesome 6 Free"; margin-left: auto; padding-left: 8px; }
.kisyu-archive__count { margin-left: 6px; font-family: "Montserrat", sans-serif; font-size: 1.3rem; font-weight: 500; color: #6E5F67; }
.kisyu-blog .kisyu-article__flyer { max-width: 560px; }
@media (max-width: 896px) {
  .kisyu-blog .main-side__main,
  .kisyu-blog .main-side__side { width: 100%; }
  .kisyu-blog .main-side__side { margin-top: 56px; }
}
.kisyu-article__nav--center { display: flex; justify-content: center; }

/* ==========================================================================
   お問い合わせフォーム（フォームCMS .form-pattern-1 の上書き）
   ※ CMS 側の mail-form.css が後から読み込まれるため、ここだけ !important で上書きする
   ※ 入力エラー時は CMS の JS がインラインで背景色・文字色を付けるため、
     .textarea の background / color は !important を付けない
   ========================================================================== */
.form-contents.form-pattern-1 {
  padding: clamp(28px, 5vw, 56px) !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 12px 32px rgba(213, 1, 127, 0.08) !important;
}
.form-pattern-1 form dl { margin-bottom: 0 !important; }
/* 行：項目名を入力欄の上に置き、罫線はなし */
.form-pattern-1 form dl dt:not(.pattern-exclusion) {
  float: none !important;
  width: 100% !important;
  margin: 0 0 8px !important;
  padding-top: 0 !important;
  font-size: 1.7rem !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
}
.form-pattern-1 form dl dd:not(.pattern-exclusion) {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 0 26px !important;
  border-bottom: 0 !important;
  line-height: 1.6 !important;
}
.form-pattern-1 .custom-area { padding-bottom: 26px; }
/* 必須・任意バッジ（項目名の後ろに表示） */
.form-pattern-1 dl dt:not(.pattern-exclusion) span.required,
.form-pattern-1 dl dt:not(.pattern-exclusion) span.optional {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.form-pattern-1 dl dt:not(.pattern-exclusion) span.required::before,
.form-pattern-1 dl dt:not(.pattern-exclusion) span.optional::before {
  order: 2 !important;
  top: 0 !important;
  margin: 0 !important;
  padding: 1px 10px !important;
  border-radius: 6px !important;
  font-size: 1.2rem !important;
  font-weight: 400 !important;
  line-height: 1.9 !important;
}
.form-pattern-1 dl dt:not(.pattern-exclusion) span.required::before { content: '必須' !important; background: #D5017F !important; color: #fff !important; }
.form-pattern-1 dl dt:not(.pattern-exclusion) span.optional::before { content: '任意' !important; background: #FCE8F2 !important; color: #B3006A !important; }
/* 入力欄 */
.form-pattern-1 dd:not(.pattern-exclusion) .textarea,
.form-pattern-1 dd:not(.pattern-exclusion) .textarea-serect,
.form-pattern-1 dd:not(.pattern-exclusion) .textarea-date,
.form-pattern-1 dd:not(.pattern-exclusion) .textarea-time,
.form-pattern-1 dd:not(.pattern-exclusion) .textarea-datetime,
.form-pattern-1 dd:not(.pattern-exclusion) .textarea-datetimepicker {
  height: 58px !important;
  padding: 0 18px !important;
  border: 1.5px solid #E8BDD3 !important;
  border-radius: 12px !important;
  font-size: 1.7rem !important;
  outline: none !important;
  background: #fff;
  color: #3A2E35;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.form-pattern-1 dd:not(.pattern-exclusion) textarea.textarea {
  height: auto !important;
  min-height: 200px !important;
  padding: 16px 18px !important;
  line-height: 1.8 !important;
  resize: vertical;
}
.form-pattern-1 dd:not(.pattern-exclusion) .textarea:focus,
.form-pattern-1 dd:not(.pattern-exclusion) .textarea-serect:focus {
  border-color: #D5017F !important;
  box-shadow: 0 0 0 4px #FCE8F2 !important;
}
.form-pattern-1 dd:not(.pattern-exclusion) .textarea::placeholder { color: #B8A8B1; }
/* エラー表示 */
.form-contents.form-pattern-1 .form-err-msg {
  margin: 0 0 24px !important;
  padding: 16px 20px !important;
  border: 1.5px solid #D5017F !important;
  border-radius: 12px !important;
  background: #FFF7FB !important;
  color: #B3006A !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
}
/* 送信完了メッセージ */
.form-contents.form-pattern-1 .form-thanks-msg {
  padding: clamp(28px, 4vw, 40px) !important;
  border: 2px solid #F3D3E3 !important;
  border-radius: 20px !important;
  background: #fff !important;
}
.form-contents.form-pattern-1 .form-thanks-msg p { font-size: 1.7rem !important; line-height: 1.9 !important; }
.form-contents.form-pattern-1 .form-thanks-msg .back-home-btn { width: min(100%, 320px) !important; }
.form-contents.form-pattern-1 .form-thanks-msg .back-home-btn a {
  padding: 13px 0 !important;
  border: 2px solid #D5017F !important;
  border-radius: 999px !important;
  background: #D5017F !important;
  color: #fff !important;
  font-size: 1.6rem !important;
  letter-spacing: 0 !important;
  box-shadow: 0 8px 20px rgba(213, 1, 127, 0.22) !important;
}
.form-contents.form-pattern-1 .form-thanks-msg .back-home-btn a:hover { border-color: #B3006A !important; background: #B3006A !important; }
/* ファイル添付欄 */
.form-pattern-1 dd:not(.pattern-exclusion) .upload-area { border: 2px dashed #E8BDD3 !important; border-radius: 12px !important; background: #FFF7FB !important; }
.form-pattern-1 dd:not(.pattern-exclusion) .upload-area .upload-msg p { color: #B3006A !important; }
.form-pattern-1 dd:not(.pattern-exclusion) .upload-msg button { border: 1.5px solid #E8BDD3 !important; border-radius: 999px !important; background: #fff !important; color: #D5017F !important; }
.form-pattern-1 dd:not(.pattern-exclusion) .upload-msg button::before { background-color: #D5017F !important; }
.form-pattern-1 dd:not(.pattern-exclusion) .input-file-clear { border: 1px solid #B3006A !important; border-radius: 999px !important; background: #B3006A !important; color: #fff !important; }
/* 送信ボタン（サイト共通ボタンと同じデザイン・中央配置） */
.form-contents.form-pattern-1 .submit-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: min(100%, 320px) !important;
  min-height: 56px !important;
  margin: 8px auto 0 !important;
  padding: 0 32px !important;
  border: 2px solid #D5017F !important;
  border-radius: 999px !important;
  background: #D5017F !important;
  color: #fff !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  box-shadow: 0 8px 20px rgba(213, 1, 127, 0.22) !important;
}
.form-contents.form-pattern-1 .submit-btn::before { background-color: #fff !important; }
.form-contents.form-pattern-1 .submit-btn:hover { border-color: #B3006A !important; background: #B3006A !important; color: #fff !important; }
.form-contents.form-pattern-1 .submit-btn:hover::before { background-color: #fff !important; }

/* ==========================================================================
   文字組み（1文字だけの改行を防ぐ）
   ========================================================================== */
/* body の text-wrap: pretty は iOS Safari で中央寄せflex内の文字幅が狭く計算され改行崩れが起きるため使わない */
h1, h2, h3, .kisyu-cta__title { text-wrap: balance; }

/* ==========================================================================
   改行の出し分け（スマホ：699px以下）
   ========================================================================== */
.kisyu-br-sp { display: none; }
@media (max-width: 699px) {
  .kisyu-br-sp { display: inline; }
  .kisyu-br-pc { display: none; }
}

/* ==========================================================================
   スマホ調整（699px以下）
   ========================================================================== */
@media (max-width: 699px) {
  /* MV：ヘッダーを除いた全画面 */
  .kisyu-mv #slideshow { height: calc(100vh - 64px); height: calc(100svh - 64px); min-height: 0; }
  .kisyu-mv__sub { margin-top: 14px; font-size: 2rem; line-height: 1.5; }
  /* フッターナビは非表示 */
  .kisyu-footer__nav { display: none; }
  /* フッターのロゴ・住所・ボタンは中央配置 */
  .kisyu-footer__info { align-items: center; text-align: center; }
  .kisyu-footer__logo { align-items: center; }
  .kisyu-footer__info .kisyu-btn--white { align-self: center; }
  /* お問い合わせCTAの本文：改行位置の1行が収まるよう画面幅に合わせて縮める */
  .kisyu-cta__text { font-size: clamp(1.4rem, 4.2vw, 1.7rem); }
  /* 見出しを1行に収める（13文字が393pxで収まるよう画面幅に合わせて縮める） */
  .kisyu-heading--nowrap-sp .heading__ja { font-size: min(26px, 6.5vw); letter-spacing: 0.02em; white-space: nowrap; }
}

/* ==========================================================================
   送信完了（thanks.php）
   ========================================================================== */
.kisyu-thanks { padding: clamp(36px, 5vw, 64px) clamp(20px, 4vw, 56px); border-radius: 24px; background: #FCE8F2; text-align: center; }
.kisyu-thanks__icon { display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; border-radius: 50%; background: #D5017F; color: #fff; }
.kisyu-thanks__title { margin-top: 20px; font-size: clamp(22px, 3vw, 30px); font-weight: 700; line-height: 1.6; }
.kisyu-thanks__text { margin-top: 16px; font-size: 1.7rem; line-height: 1.9; color: #4A3B43; }
.kisyu-thanks__tel { margin-top: 32px; padding: 24px 20px; border: 2px solid #D5017F; border-radius: 20px; background: #fff; }
.kisyu-thanks__tel-label { font-size: 1.6rem; font-weight: 700; }
.kisyu-thanks__tel-num { display: inline-flex; align-items: center; gap: 8px; font-family: "Montserrat", sans-serif; font-size: 3rem; font-weight: 700; line-height: 1.4; color: #D5017F; }
.kisyu-thanks__tel-num:hover { color: #B3006A; }
.kisyu-thanks__tel-note { font-size: 1.4rem; color: #6E5F67; }
.kisyu-keep { word-break: keep-all; overflow-wrap: anywhere; }

/* TOP サービス一覧：4カラムだけ大カードより左右に広げる（PCのみ） */
@media (min-width: 1200px) {
  .kisyu-cards4--bleed { margin-left: -60px; margin-right: -60px; }
}

/* ==========================================================================
   ページトップボタン（.page-top の見た目差分）
   ========================================================================== */
.kisyu-page-top__link.page-top__link::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f077";
  font-size: 1.8rem;
  line-height: 1;
}
.kisyu-page-top__link.page-top__link:hover { background: #B3006A; color: #fff; }
/* sp-fixed-bar 表示中はバーの上に出す */
@media (max-width: 1239px) {
  .kisyu-page-top.page-top { bottom: calc(96px + env(safe-area-inset-bottom)); }
}

/* ==========================================================================
   縦並び＋中央寄せ（flex column / align-items: center）の中の文字
   幅を中身から計算させると iOS Safari で狭く計算され改行崩れが起きるため、
   文字の段は横幅いっぱいに広げ、中央そろえは text-align で行う
   ========================================================================== */
.kisyu-worries__text,
.kisyu-worries__catch,
.kisyu-flow__label,
.kisyu-flow__note,
.kisyu-usage__name,
.kisyu-cta__btn-label,
.kisyu-cta__btn-note { align-self: stretch; text-align: center; }
@media (max-width: 899px) {
  .kisyu-time__badge > div { align-self: stretch; }
}
@media (max-width: 699px) {
  .kisyu-footer__address { align-self: stretch; }
}
