@charset "UTF-8";
/*
 * ======================================
 * site.css — あいの里 サイト固有CSS
 * ======================================
 *
 * 共通 main.css（scss/ainosato.scss をコンパイル）で再現できない
 * デザイン差分のみをここに追加する。すべて .ai- プレフィックス。
 *
 * --- 追加クラス一覧（共通SCSS取り込み検討用） ---
 * .ai-header / .ai-logo / .ai-nav / .ai-tel / .ai-cta   - ヘッダー（丸ピル・半透明sticky）
 * .ai-footer                                            - フッター（クリーム3カラム）
 * .ai-eyebrow / .ai-sec-head / .ai-sec-title / .ai-lead - セクション見出し（英字eyebrow＋和文）
 * .ai-phero                                             - 下層ページヒーロー（放射グラデ＋波）
 * .ai-wave                                              - 波型ディバイダー
 * .ai-two                                               - 2カラムグリッド（画像＋テキスト）
 * .ai-photo / .ai-photo-badge                           - 白フチ写真フレーム＋バッジ
 * .ai-card                                              - 画像付きカード（サービス／学べること）
 * .ai-cta-band                                          - グラデーションCTAバンド
 * .ai-dots-bg                                           - 淡色ドット背景
 * .ai-svc-row / .ai-svc-num                             - サービス交互レイアウト＋大ナンバー
 * .ai-pill-row                                          - ピル型2カラム行（対象・ご利用）
 * .ai-deftable                                          - 定義テーブル（概要／募集要項）
 * .ai-ideas                                             - 理念3カード
 * .ai-history                                           - 沿革タイムライン
 * .ai-tabs / .ai-step                                   - FLOWタブ＋ステップ
 * .ai-qa                                                - よくある質問（Q&Aカード）
 * .ai-benefit                                           - 福利厚生アイコンカード
 * .ai-contact-tel / .ai-info-card / .ai-notice          - お問い合わせ各カード
 * .ai-blog / .ai-post / .ai-side / .ai-pager            - お知らせ一覧・記事・サイドバー
 * .ai-hero（top-custom.css）                            - トップMV
 *
 * --- 共通SCSSに不足していたもの（5分類） ---
 * ・構造不足：英字eyebrow(小)＋和文(大)の見出し（heading系は英字が大）→ .ai-eyebrow/.ai-sec-title
 * ・構造不足：写真に重なるピンクバッジ、サービスの大ナンバー重ね → .ai-photo-badge/.ai-svc-num
 * ・装飾パターン不足：放射グラデのページヒーロー＋SVG波、淡色ドット背景 → .ai-phero/.ai-wave/.ai-dots-bg
 * ・値の粒度不足：カード角丸26px/34px・暖色影は変数上書きで対応（ainosato.scss）
 */

/* ==========================================================================
   ベース微調整
   ========================================================================== */
/* 本文の太さを全体で500に統一（見出し700・ナビ500等の明示指定は不変） */
body { -webkit-font-smoothing: antialiased; font-weight: 500; }
/* 装飾のはみ出しはページ横スクロールを出さず画面端でクリップ（PC広幅では見切れない）。
   header は main の外にあるため sticky は影響を受けない。 */
main { overflow-x: hidden; }
.ai-en { font-family: "Quicksand", sans-serif; }

/* ==========================================================================
   ヘッダー（半透明sticky・丸ピルナビ）
   ========================================================================== */
.ai-header.header-bar {
  position: sticky;
  top: 0;
  background: rgba(255, 253, 251, 0.92);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid #F6E4D6;
  box-shadow: none;
}
.ai-header .header__inner {
  max-width: 96%;
  height: auto;
  padding: 13px 0;
}
.ai-logo { display: flex; align-items: center; gap: 11px; flex-shrink: 0; }
.ai-logo:hover { opacity: 1; }
.ai-logo__mark { display: inline-flex; width: 46px; height: 46px; }
.ai-logo__text { display: flex; flex-direction: column; line-height: 1.1; }
.ai-logo__name { font-size: 2.1rem; font-weight: 700; color: #5A463E; letter-spacing: 0.04em; }
.ai-logo__en { font-family: "Quicksand", sans-serif; font-size: 1rem; font-weight: 600; color: #F39C4B; letter-spacing: 0.22em; }

.ai-nav { display: flex; align-items: center; gap: 4px; }
/* ナビを中央ではなく右寄せ（電話番号のすぐ左）に配置 */
.ai-header .header__nav { margin-left: auto; margin-right: 18px; }
.ai-nav__link {
  font-size: 1.4rem; font-weight: 500; color: #6E5D53;
  padding: 9px 13px; border-radius: 999px; white-space: nowrap;
  transition: all 0.25s ease;
}
.ai-nav__link:hover { background: #FFF3E9; color: #E8613C; opacity: 1; }
.ai-nav__link.is-current { color: #E8613C; background: #FDEFF3; font-weight: 700; }

.ai-header__right { gap: 14px; }
.ai-tel { display: flex; flex-direction: column; line-height: 1.05; text-decoration: none; }
.ai-tel:hover { opacity: 0.75; }
.ai-tel__label { font-family: "Quicksand", sans-serif; font-size: 1rem; font-weight: 600; color: #B79E90; letter-spacing: 0.08em; }
.ai-tel__num { font-family: "Quicksand", sans-serif; font-size: 2rem; font-weight: 700; color: #E8613C; letter-spacing: 0.02em; }
.ai-tel--sp { align-items: center; }
.ai-tel--sp .ai-tel__num { font-size: 2.6rem; color: #fff; }

.ai-cta {
  display: inline-flex; align-items: center; justify-content: center;
  background: #F39C4B; color: #fff; font-weight: 700; font-size: 1.4rem;
  padding: 11px 20px; border-radius: 999px;
  box-shadow: 0 6px 14px rgba(243, 156, 75, 0.32);
  text-decoration: none; transition: all 0.25s ease;
}
.ai-cta:hover { background: #E8613C; color: #fff; opacity: 1; transform: translateY(-2px); }
.ai-cta--full { display: flex; width: 100%; padding: 12px 26px; }

/* ==========================================================================
   セクション見出し（英字eyebrow ＋ 和文タイトル）
   ========================================================================== */
.ai-eyebrow { font-family: "Quicksand", sans-serif; color: #F39C4B; font-weight: 700; letter-spacing: 0.2em; font-size: 1.4rem; display: block; }
.ai-eyebrow--pink { color: #F6A5C0; }
.ai-eyebrow--red { color: #E8613C; }
.ai-sec-head { text-align: center; margin-bottom: 46px; }
.ai-sec-title { font-size: 3.2rem; font-weight: 700; color: #4A3A34; margin: 8px 0 12px; line-height: 1.4; }
.ai-sec-title:last-child { margin-bottom: 0; }
.ai-lead { color: #7A695E; font-size: 1.5rem; line-height: 1.9; margin: 0; }
.ai-sec-title--left { text-align: left; }
.ai-sec-title--flush { margin-bottom: 0; }
.ai-band-section { padding: 0 24px 84px; }
.ai-narrow { max-width: 960px; margin: 0 auto; }
.ai-embed--h340 iframe { height: 340px; }
.ai-body { color: #6E5D53; font-size: 1.55rem; line-height: 2.05; }
.ai-body + .ai-body { margin-top: 18px; }
.ai-body.ai-lh-18 { line-height: 1.8; }
.ai-textlink { color: #E8613C; font-weight: 700; text-decoration: none; }
.ai-textlink:hover { opacity: 0.75; }

/* ==========================================================================
   下層ページヒーロー（放射グラデ ＋ 装飾円 ＋ 波）
   ========================================================================== */
.ai-phero {
  position: relative; overflow: hidden;
  background: radial-gradient(120% 100% at 80% 0%, #FFF0E2 0%, #FFFDFB 65%);
  padding: 56px 24px 78px;
}
.ai-phero::before,
.ai-phero::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.ai-phero::before { top: 30px; left: -40px; width: 200px; height: 200px; background: #FDEFF3; opacity: 0.55; }
.ai-phero::after { bottom: -46px; right: 7%; width: 140px; height: 140px; background: #FCE7CF; opacity: 0.65; }
.ai-phero__inner { max-width: 1100px; margin: 0 auto; position: relative; z-index: 1; }
.ai-phero__crumb { font-size: 1.3rem; color: #B79E90; margin-bottom: 18px; }
.ai-phero__crumb a { color: #B79E90; text-decoration: none; }
.ai-phero__crumb a:hover { color: #E8613C; }
.ai-phero__title { font-size: 4rem; font-weight: 700; color: #4A3A34; margin: 8px 0 14px; }
.ai-phero__lead { font-size: 1.6rem; line-height: 1.9; color: #6E5D53; max-width: 640px; margin: 0; }
.ai-phero--tight { padding-bottom: 78px; }
.ai-phero--tight .ai-phero__crumb { margin-bottom: 0; }

/* 波ディバイダー（ヒーロー下端の白い波） */
.ai-wave { position: absolute; left: 0; right: 0; bottom: -1px; line-height: 0; z-index: 0; pointer-events: none; }
.ai-wave svg { display: block; width: 100%; height: 52px; }

/* ==========================================================================
   2カラム（画像＋テキスト）
   ========================================================================== */
.ai-two { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.ai-two--wide-left { grid-template-columns: 1.1fr 1fr; gap: 54px; }
.ai-two--greeting { grid-template-columns: 300px 1fr; gap: 48px; align-items: start; }

/* 白フチ写真フレーム */
.ai-photo { position: relative; border-radius: 26px; overflow: hidden; border: 6px solid #fff; box-shadow: 0 18px 38px rgba(200, 140, 90, 0.18); }
.ai-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ai-photo--h380 img { height: 380px; }
.ai-photo--h360 img { height: 360px; }
.ai-photo--h340 img { height: 340px; }
.ai-photo-wrap { position: relative; }
.ai-photo-badge {
  position: absolute; bottom: -18px; right: -14px;
  background: #F6A5C0; color: #fff; border-radius: 18px; padding: 14px 20px;
  font-weight: 700; font-size: 1.4rem; line-height: 1.5;
  box-shadow: 0 12px 24px rgba(246, 165, 192, 0.5);
}
.ai-cap { text-align: center; margin-top: 16px; }
.ai-cap__role { font-size: 1.3rem; color: #B79E90; }
.ai-cap__name { font-size: 2rem; font-weight: 700; color: #4A3A34; }
.ai-cap__en { font-size: 1.2rem; color: #B79E90; font-family: "Quicksand", sans-serif; }

/* ==========================================================================
   画像付きカード（サービス紹介・学べること）
   ========================================================================== */
.ai-card {
  display: block; background: #fff; border: 1px solid #F6E4D6; border-radius: 26px;
  overflow: hidden; box-shadow: 0 6px 18px rgba(200, 140, 90, 0.08);
  text-decoration: none; color: inherit; transition: transform 0.3s ease, box-shadow 0.3s ease;
}
a.ai-card:hover { transform: translateY(-5px); box-shadow: 0 16px 30px rgba(200, 140, 90, 0.18); opacity: 1; }
.ai-card__media { aspect-ratio: 16 / 10; background: #FFF3E9; overflow: hidden; }
.ai-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ai-card__body { padding: 24px 26px 28px; }
.ai-card__title { font-size: 1.9rem; font-weight: 700; color: #4A3A34; margin: 0 0 8px; }
.ai-card__text { font-size: 1.4rem; line-height: 1.6; color: #7A695E; margin: 0; }
.ai-card__more { display: inline-block; margin-top: 14px; color: #E8613C; font-weight: 700; font-size: 1.3rem; }

/* ==========================================================================
   グラデーションCTAバンド
   ========================================================================== */
.ai-cta-band {
  position: relative; overflow: hidden; border-radius: 34px;
  background: linear-gradient(120deg, #F39C4B 0%, #E8613C 100%);
  padding: 60px 56px; color: #fff;
}
.ai-cta-band--pink { background: linear-gradient(120deg, #F6A5C0 0%, #E8613C 100%); border-radius: 30px; }
.ai-cta-band--center { text-align: center; }
.ai-cta-band__deco, .ai-cta-band::before, .ai-cta-band::after { content: ""; position: absolute; border-radius: 50%; background: rgba(255, 255, 255, 0.12); pointer-events: none; }
.ai-cta-band::before { right: -30px; top: -30px; width: 200px; height: 200px; }
.ai-cta-band::after { right: 120px; bottom: -50px; width: 130px; height: 130px; background: rgba(255, 255, 255, 0.1); }
.ai-cta-band__inner { position: relative; z-index: 1; }
.ai-cta-band__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: center; }
.ai-cta-band__tag { display: inline-block; background: rgba(255, 255, 255, 0.22); color: #fff; font-weight: 700; font-size: 1.3rem; padding: 7px 15px; border-radius: 999px; margin-bottom: 16px; }
.ai-cta-band__title { color: #fff; font-size: 3.2rem; font-weight: 700; line-height: 1.45; margin: 0 0 14px; }
.ai-cta-band__text { color: rgba(255, 255, 255, 0.94); font-size: 1.5rem; line-height: 1.95; margin: 0; max-width: 560px; }
.ai-cta-band--center .ai-cta-band__text { margin: 0 auto; }
.ai-cta-band__btns { display: flex; flex-direction: column; gap: 12px; }
.ai-btn-onwhite { display: inline-block; background: #fff; color: #E8613C; text-decoration: none; font-weight: 700; text-align: center; padding: 17px; border-radius: 16px; font-size: 1.6rem; box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12); transition: all 0.25s ease; }
.ai-btn-onwhite:hover { opacity: 0.9; transform: translateY(-2px); }
.ai-btn-onwhite--pill { border-radius: 999px; padding: 16px 40px; }
.ai-btn-ghost { display: inline-block; background: rgba(255, 255, 255, 0.16); color: #fff; text-decoration: none; font-weight: 700; text-align: center; padding: 17px; border-radius: 16px; font-size: 1.6rem; border: 1.5px solid rgba(255, 255, 255, 0.6); transition: all 0.25s ease; }
.ai-btn-ghost:hover { background: rgba(255, 255, 255, 0.28); opacity: 1; }

/* 汎用ピルボタン（オレンジ塗り） */
.ai-btn { display: inline-flex; align-items: center; justify-content: center; background: #F39C4B; color: #fff; text-decoration: none; font-weight: 700; font-size: 1.6rem; padding: 16px 32px; border-radius: 999px; box-shadow: 0 10px 20px rgba(243, 156, 75, 0.3); transition: all 0.25s ease; }
.ai-btn:hover { background: #E8613C; color: #fff; opacity: 1; transform: translateY(-2px); }
.ai-btn--sm { font-size: 1.4rem; padding: 14px 30px; }
.ai-btn--white { background: rgba(255, 253, 251, 0.95); color: #E8613C; box-shadow: none; }
.ai-btn--white:hover { background: #fff; color: #E8613C; }

/* 各種書類のダウンロードボタン（横並び・PDFバッジ付き） */
.ai-doc-btns { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; }
.ai-doc-btns .ai-btn svg { margin-right: 8px; flex-shrink: 0; }
.ai-btn__pdf { margin-left: 9px; padding: 2px 7px; border-radius: 5px; background: rgba(255, 255, 255, 0.25); font-size: 1.1rem; font-weight: 700; letter-spacing: 0.06em; }
@media (max-width: 639px) {
  .ai-doc-btns { flex-direction: column; align-items: center; }
}

/* 書類ボタン：白／グレー・角丸長方形バリアント */
.ai-btn--doc { background: #fff; color: #6b5b53; border: 1px solid #e3ded8; border-radius: 12px; box-shadow: 0 4px 12px rgba(74, 58, 52, 0.06); }
.ai-btn--doc:hover { background: #f5f2ee; color: #4a3a34; }
.ai-btn--doc .ai-btn__pdf { background: rgba(74, 58, 52, 0.08); color: #8a7a72; }

/* ==========================================================================
   猫・肉球イラストのあしらい
   ========================================================================== */
.ai-rel { position: relative; }
.ai-rel-hidden { position: relative; overflow: hidden; }
.ai-deco { position: absolute; height: auto; pointer-events: none; z-index: 0; }
.ai-deco-paw { top: 56px; right: 36px; width: 84px; opacity: 0.13; transform: rotate(12deg); }
.ai-deco-catwalk { bottom: 24px; left: 36px; width: 120px; opacity: 0.5; }
.ai-deco-nekoshiro { right: 0; bottom: 0; width: 230px; opacity: 0.55; }
.ai-deco-catsit { bottom: 20px; right: 34px; width: 88px; opacity: 0.5; }
/* コンテンツをあしらいより前面に */
.ai-news { position: relative; z-index: 1; }
.ai-target { position: relative; overflow: hidden; }
.ai-target > .ai-sec-head, .ai-target > .ai-target__list, .ai-target > .ai-target__note { position: relative; z-index: 1; }
/* ピンクバンドは白丸ではなく猫イラストを使う */
.ai-cta-band--pink::before, .ai-cta-band--pink::after { display: none; }

/* ==========================================================================
   淡色ドット背景
   ========================================================================== */
.ai-dots-bg {
  position: relative; overflow: hidden;
  background-color: #FFF9F1;
  background-image: radial-gradient(#FBE6DA 2px, transparent 2px), radial-gradient(#FBE6DA 2px, transparent 2px);
  background-size: 22px 22px;
  background-position: 0 0, 11px 11px;
}
.ai-dots-bg--cream { background-color: #FFF6ED; }
/* ドットを少し薄く */
.ai-dots-bg--soft { background-image: radial-gradient(#FCEEE4 2px, transparent 2px), radial-gradient(#FCEEE4 2px, transparent 2px); }
.ai-dots-bg__inner { position: relative; z-index: 1; }

/* 猫グリッド（縦長カード） */
.ai-cat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.ai-cat-grid > div { border-radius: 22px; overflow: hidden; aspect-ratio: 3 / 4; box-shadow: 0 10px 24px rgba(200, 140, 90, 0.16); }
.ai-cat-grid img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ==========================================================================
   セクション幅ラッパー
   ========================================================================== */
.ai-sec-1000 { max-width: 1000px; margin: 0 auto; padding: 72px 24px; }
.ai-sec-1000-inner { max-width: 1000px; }
.ai-sec-900 { max-width: 900px; margin: 0 auto; padding: 76px 24px; }
.ai-sec-800 { max-width: 800px; margin: 0 auto; padding: 0 24px; }
.ai-sec-820 { max-width: 820px; margin: 0 auto; padding: 0 24px; }
.ai-sec-1080 { max-width: 1080px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
.ai-sec-pad { padding-top: 82px; padding-bottom: 82px; }
.ai-mx-auto { margin-left: auto; margin-right: auto; }
.ai-px { padding-left: 24px; padding-right: 24px; }
.ai-band-section--pt2 { padding-top: 60px; padding-bottom: 90px; }

/* ==========================================================================
   理念カード
   ========================================================================== */
.ai-idea { background: #fff; border-radius: 24px; padding: 34px 30px; box-shadow: 0 8px 22px rgba(200, 140, 90, 0.1); border: 1px solid #F6E4D6; text-align: center; }
.ai-idea__label { font-family: "Quicksand", sans-serif; color: #F6A5C0; font-weight: 700; font-size: 1.2rem; letter-spacing: 0.14em; display: block; }
.ai-idea__title { font-size: 2rem; font-weight: 700; color: #4A3A34; margin: 4px 0 12px; }
.ai-idea__text { font-size: 1.45rem; line-height: 1.95; color: #6E5D53; margin: 0; text-align: left; }

/* ==========================================================================
   定義テーブル（概要・募集要項）
   ========================================================================== */
.ai-deftable { background: #fff; border-radius: 22px; overflow: hidden; box-shadow: 0 12px 30px rgba(200, 140, 90, 0.12); border: 1px solid #F6E4D6; }
.ai-deftable__row { display: grid; grid-template-columns: 220px 1fr; border-bottom: 1px solid #F6E4D6; }
.ai-deftable__row:last-child { border-bottom: none; }
.ai-deftable__th { background: #FFF3E9; padding: 18px 26px; font-weight: 700; color: #E8613C; font-size: 1.4rem; }
.ai-deftable__td { padding: 18px 26px; color: #5A463E; font-size: 1.45rem; line-height: 1.8; }
.ai-deftable--wide-th .ai-deftable__row { grid-template-columns: 200px 1fr; }
.ai-deftable__td .ai-textlink { text-decoration: underline; }

/* ==========================================================================
   沿革タイムライン
   ========================================================================== */
.ai-history { position: relative; padding-left: 30px; border-left: 3px solid #F6C9A6; }
.ai-history__item { position: relative; margin-bottom: 30px; }
.ai-history__item:last-child { margin-bottom: 0; }
.ai-history__item::before { content: ""; position: absolute; left: -38px; top: 4px; width: 15px; height: 15px; border-radius: 50%; background: #F39C4B; border: 3px solid #fff; box-shadow: 0 0 0 2px #F6C9A6; }
.ai-history__year { font-family: "Quicksand", sans-serif; font-weight: 700; color: #E8613C; font-size: 1.5rem; }
.ai-history__text { font-size: 1.5rem; color: #5A463E; line-height: 1.9; margin: 4px 0 0; }

/* ==========================================================================
   お知らせ（TOP埋め込み）
   ========================================================================== */
.ai-news { max-width: 1200px; margin: 0 auto; }
/* SP: 左右余白を他セクション（.container）と揃える */
@media (max-width: 1320px) {
  .ai-news { max-width: min(1200px, 95%); padding-left: 10px; padding-right: 10px; }
}
.ai-news__head { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 28px; flex-wrap: wrap; gap: 12px; }
.ai-news__box { background: #fff; border-radius: 24px; padding: 10px 28px; box-shadow: 0 12px 30px rgba(200, 140, 90, 0.12); }
.ai-news__row { display: flex; align-items: center; gap: 20px; padding: 20px 4px; text-decoration: none; border-bottom: 1px dashed #F1E0D2; transition: opacity 0.2s ease; }
.ai-news__row:last-child { border-bottom: none; }
.ai-news__row:hover { opacity: 0.7; }
.ai-news__date { font-family: "Quicksand", sans-serif; color: #B79E90; font-weight: 600; font-size: 1.4rem; white-space: nowrap; }
.ai-news__title { color: #5A463E; font-size: 1.5rem; font-weight: 500; }

/* アクセス定義リスト */
.ai-access { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 16px 22px; font-size: 1.5rem; }
.ai-access dt { color: #B79E90; font-weight: 700; }
.ai-access dd { margin: 0; color: #5A463E; line-height: 1.8; }

/* ==========================================================================
   フェードイン
   ========================================================================== */
[data-fade] { opacity: 0; transform: translateY(22px); transition: opacity 0.7s ease, transform 0.7s ease; }
[data-fade].is-shown { opacity: 1; transform: none; }

/* ==========================================================================
   サービス一覧（交互レイアウト＋大ナンバー）
   ========================================================================== */
.ai-svc { max-width: 1200px; margin: 0 auto; padding: 70px 24px 30px; display: flex; flex-direction: column; gap: 64px; }
.ai-svc-row { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.ai-svc-row .ai-svc-media-wrap { order: 1; }
.ai-svc-row .ai-svc-body { order: 2; }
.ai-svc-row--reverse .ai-svc-media-wrap { order: 2; }
.ai-svc-row--reverse .ai-svc-body { order: 1; }
.ai-svc-media-wrap { position: relative; }
.ai-svc-blob { position: absolute; z-index: 0; width: 62%; height: auto; pointer-events: none; }
.ai-svc-blob--tl { top: -16%; left: -15%; }
.ai-svc-blob--tr { top: -16%; right: -15%; }
.ai-svc-blob--bl { bottom: -16%; left: -15%; }
.ai-svc-blob--br { bottom: -16%; right: -15%; }
.ai-svc-media { position: relative; z-index: 1; aspect-ratio: 4 / 3; border-radius: 28px; overflow: hidden; box-shadow: 0 14px 34px rgba(200, 140, 90, 0.16); }
.ai-svc-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ai-svc-num { position: absolute; left: 20px; top: 14px; font-family: "Quicksand", sans-serif; font-weight: 700; font-size: 4.6rem; color: rgba(255, 255, 255, 0.94); text-shadow: 0 2px 10px rgba(90, 50, 30, 0.35); pointer-events: none; }
.ai-svc-body { position: relative; z-index: 2; }
.ai-tag { display: inline-block; background: #FDEFF3; color: #E8613C; font-weight: 700; font-size: 1.2rem; padding: 5px 13px; border-radius: 999px; margin-bottom: 14px; }
.ai-svc-title { font-size: 2.8rem; font-weight: 700; color: #4A3A34; margin: 0 0 16px; }
.ai-band-section--pt { padding-top: 40px; }

/* 対象・ご利用（ピル型2カラム行） */
.ai-target { background: #FFF6ED; border-radius: 36px; padding: 64px 24px; }
.ai-target > * { max-width: 960px; margin-left: auto; margin-right: auto; }
.ai-target__list { display: flex; flex-direction: column; gap: 8px; }
.ai-pill-row { display: grid; grid-template-columns: 230px 1fr; background: #fff; border-radius: 999px; overflow: hidden; box-shadow: 0 8px 20px rgba(200, 140, 90, 0.1); }
.ai-pill-row__label { padding: 20px 34px; font-weight: 700; color: #E8613C; font-size: 1.5rem; display: flex; align-items: center; }
.ai-pill-row__body { padding: 20px 34px; color: #5A463E; font-size: 1.5rem; line-height: 1.8; display: flex; align-items: center; }
.ai-target__note { text-align: center; color: #9A897E; font-size: 1.3rem; margin-top: 20px; }

/* ==========================================================================
   FLOW（タブ＋ステップ）
   ========================================================================== */
.ai-sec-960 { max-width: 960px; margin: 0 auto; padding: 64px 24px 76px; }
.ai-tabs { display: flex; gap: 10px; background: #FFF3E9; padding: 8px; border-radius: 999px; margin-bottom: 36px; }
.ai-tabs__btn { flex: 1; border: none; cursor: pointer; font-family: inherit; font-weight: 700; font-size: 1.45rem; padding: 14px 18px; border-radius: 999px; background: transparent; color: #B0876C; transition: all 0.18s ease; }
.ai-tabs__btn.is-active { background: #fff; color: #E8613C; box-shadow: 0 6px 14px rgba(200, 140, 90, 0.16); }
.ai-flow-panel { display: none; }
.ai-flow-panel.is-active { display: block; }
.ai-flow-head { display: flex; align-items: center; gap: 12px; margin-bottom: 28px; flex-wrap: wrap; }
.ai-flow-badge { background: #FFF3E9; color: #E8613C; font-weight: 700; font-size: 1.3rem; padding: 7px 16px; border-radius: 999px; }
.ai-flow-badge--pink { background: #FDEFF3; color: #D8517C; }
.ai-flow-title { font-size: 2.2rem; font-weight: 700; color: #4A3A34; margin: 0; }
.ai-steps { display: flex; flex-direction: column; gap: 16px; }
.ai-step { display: grid; grid-template-columns: auto 1fr; gap: 22px; align-items: center; background: #fff; border: 1px solid #F6E4D6; border-radius: 22px; padding: 24px 28px; box-shadow: 0 6px 18px rgba(200, 140, 90, 0.08); }
.ai-step--pink { border-color: #F6D6E0; box-shadow: 0 6px 18px rgba(216, 81, 124, 0.08); }
.ai-step__num { width: 56px; height: 56px; border-radius: 50%; background: linear-gradient(135deg, #F39C4B, #E8613C); color: #fff; font-family: "Quicksand", sans-serif; font-weight: 700; font-size: 2.2rem; display: flex; align-items: center; justify-content: center; }
.ai-step--pink .ai-step__num { background: linear-gradient(135deg, #F6A5C0, #E8613C); }
.ai-step__title { font-size: 1.8rem; font-weight: 700; color: #4A3A34; margin: 0 0 6px; }
.ai-step__text { font-size: 1.45rem; line-height: 1.85; color: #6E5D53; margin: 0; }

/* ==========================================================================
   よくある質問（Q&Aカード）
   ========================================================================== */
.ai-qa-list { display: flex; flex-direction: column; gap: 14px; }
/* -- 2カラム版（幅を広げてQ&Aを横並びに） */
.ai-qa-list--2col { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 24px; }
@media (max-width: 896px) { .ai-qa-list--2col { grid-template-columns: 1fr; gap: 14px; } }
.ai-qa { background: #fff; border-radius: 20px; padding: 24px 28px; box-shadow: 0 6px 18px rgba(200, 140, 90, 0.08); }
.ai-qa__q { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 12px; }
.ai-qa__a { display: flex; gap: 12px; align-items: flex-start; }
.ai-qa__mark { font-family: "Quicksand", sans-serif; font-weight: 700; font-size: 2rem; line-height: 1; flex-shrink: 0; }
.ai-qa__mark--q { color: #F39C4B; }
.ai-qa__mark--a { color: #E8613C; }
.ai-qa__ttl { font-size: 1.65rem; font-weight: 700; color: #4A3A34; margin: 0; }
.ai-qa__txt { font-size: 1.45rem; line-height: 1.95; color: #6E5D53; margin: 0; }
.ai-faq-cta { text-align: center; margin-top: 40px; }
.ai-faq-cta .ai-lead { margin-bottom: 18px; }

/* ==========================================================================
   福利厚生（アイコンカード）
   ========================================================================== */
/* 白背景・枠線なし。カード間の縦横ライン（十字グリッド）のみ */
.ai-benefit-grid { gap: 0; }
.ai-benefit { background: transparent; padding: 32px 28px; display: flex; gap: 14px; align-items: flex-start; border-right: 1px solid #F1D9CE; border-bottom: 1px solid #F1D9CE; }
/* PC=3列：右端列は右線なし／最下行は下線なし */
.ai-benefit:nth-child(3n) { border-right: none; }
.ai-benefit:nth-child(n+4) { border-bottom: none; }
.ai-benefit__icon { display: inline-flex; width: 46px; height: 46px; border-radius: 50%; align-items: center; justify-content: center; background: #fff; box-shadow: 0 3px 10px rgba(200, 140, 90, 0.14); flex-shrink: 0; }
.ai-benefit__title { font-size: 1.6rem; font-weight: 700; color: #4A3A34; margin: 0 0 5px; }
.ai-benefit__text { font-size: 1.35rem; line-height: 1.8; color: #7A695E; margin: 0; }

/* ==========================================================================
   お問い合わせ
   ========================================================================== */
.ai-sec-1040 { max-width: 1040px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
.ai-pt70 { padding-top: 70px; padding-bottom: 40px; }
.ai-pb40 { padding-top: 20px; padding-bottom: 40px; }
.ai-embed--h380 iframe { height: 380px; }

.ai-contact-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 28px; align-items: stretch; }
.ai-contact-tel { position: relative; overflow: hidden; background: linear-gradient(135deg, #F39C4B, #E8613C); border-radius: 30px; padding: 48px 44px; color: #fff; }
.ai-contact-tel__deco { position: absolute; right: -24px; bottom: -30px; opacity: 0.16; line-height: 0; }
.ai-contact-tel__inner { position: relative; z-index: 1; }
.ai-contact-tel__label { font-family: "Quicksand", sans-serif; font-weight: 700; letter-spacing: 0.14em; font-size: 1.4rem; opacity: 0.9; }
.ai-contact-tel__sub { font-size: 1.5rem; font-weight: 500; margin: 6px 0 4px; }
.ai-contact-tel__num { font-family: "Quicksand", sans-serif; font-size: 4.4rem; font-weight: 700; color: #fff; text-decoration: none; letter-spacing: 0.01em; line-height: 1.1; display: block; }
.ai-contact-tel__num:hover { opacity: 0.85; }
.ai-contact-tel__box { margin-top: 22px; background: rgba(255, 255, 255, 0.16); border-radius: 16px; padding: 16px 20px; font-size: 1.4rem; line-height: 1.9; }
.ai-contact-side { display: flex; flex-direction: column; gap: 20px; }
.ai-mail-card { background: #fff; border: 1px solid #F6E4D6; border-radius: 24px; padding: 30px 28px; box-shadow: 0 8px 22px rgba(200, 140, 90, 0.1); }
.ai-mail-card__ttl { font-size: 1.7rem; font-weight: 700; color: #4A3A34; margin: 6px 0 10px; }
.ai-mail-card__addr { font-weight: 700; font-size: 1.6rem; word-break: break-all; color: #E8613C; text-decoration: none; }
.ai-mail-card__addr:hover { opacity: 0.75; }
.ai-mail-card__note { font-size: 1.3rem; color: #9A897E; line-height: 1.8; margin: 12px 0 0; }
.ai-notice { background: #FDEFF3; border-radius: 24px; padding: 26px 28px; display: flex; gap: 10px; align-items: flex-start; }
.ai-notice__mark { flex-shrink: 0; width: 26px; height: 26px; border-radius: 50%; background: #E8613C; color: #fff; font-weight: 700; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; }
.ai-notice__ttl { font-size: 1.5rem; font-weight: 700; color: #D8517C; margin: 0 0 6px; }
.ai-notice__txt { font-size: 1.3rem; color: #7A695E; line-height: 1.85; margin: 0; }
.ai-info-cards { gap: 18px; }
.ai-info-card { background: #FFF6ED; border-radius: 20px; padding: 24px; text-align: center; }
.ai-info-card__ttl { font-size: 1.5rem; font-weight: 700; color: #E8613C; margin-bottom: 6px; }
.ai-info-card__txt { font-size: 1.35rem; color: #7A695E; line-height: 1.8; margin: 0; }

/* ==========================================================================
   お知らせ一覧・記事
   ========================================================================== */
.ai-blog-pad { padding-top: 56px; padding-bottom: 84px; }
.ai-blog-pad--entry { padding-top: 30px; }
.ai-blog-grid { display: grid; grid-template-columns: 1fr 280px; gap: 44px; align-items: start; }
.ai-blog-main { min-width: 0; }
.ai-post-list { display: flex; flex-direction: column; gap: 18px; }
/* CMSは記事を span 内に出力するため、span側にも間隔を効かせる */
#cms-blog-entry-list-1-area { display: flex; flex-direction: column; gap: 18px; }
.ai-post { display: grid; grid-template-columns: 200px 1fr; gap: 22px; min-height: 178px; text-decoration: none; background: #fff; border: 1px solid #F6E4D6; border-radius: 22px; overflow: hidden; box-shadow: 0 6px 18px rgba(200, 140, 90, 0.08); transition: transform 0.3s ease, box-shadow 0.3s ease; }
.ai-post:hover { transform: translateY(-4px); box-shadow: 0 16px 30px rgba(200, 140, 90, 0.18); opacity: 1; }
.ai-post__thumb { height: 100%; background: #FFF3E9; overflow: hidden; }
.ai-post__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ai-post__body { align-self: center; padding: 22px 24px 22px 0; }
.ai-post__date { font-family: "Quicksand", sans-serif; color: #B79E90; font-weight: 600; font-size: 1.3rem; display: block; margin-bottom: 10px; }
.ai-post__title { font-size: 1.8rem; font-weight: 700; color: #4A3A34; margin: 0 0 8px; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ai-post__excerpt { font-size: 1.35rem; color: #7A695E; line-height: 1.8; margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.ai-pager { display: flex; justify-content: center; gap: 8px; margin-top: 44px; }
.ai-pager__item { min-width: 40px; padding: 0 12px; height: 40px; border-radius: 12px; background: #fff; color: #6E5D53; font-weight: 500; border: 1px solid #F1DECF; display: flex; align-items: center; justify-content: center; font-family: "Quicksand", sans-serif; text-decoration: none; }
.ai-pager__item.is-current { background: #F39C4B; color: #fff; font-weight: 700; border-color: #F39C4B; }
.ai-pager__next { color: #E8613C; font-weight: 700; }
.ai-pager a.ai-pager__item:hover { border-color: #F39C4B; opacity: 1; }
/* CMS出力のページャ（.pages > .page_prev / .page_next）をピル型に合わせる */
.pages { display: flex; justify-content: center; gap: 12px; margin-top: 26px; flex-wrap: wrap; }
.pages .page_prev a, .pages .page_next a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 20px; border-radius: 12px; background: #fff; border: 1px solid #F1DECF; color: #6E5D53; font-weight: 700; font-family: "Quicksand", sans-serif; font-size: 1.4rem; text-decoration: none; white-space: nowrap; transition: all 0.2s ease; }
.pages .page_next a { color: #E8613C; }
.pages a:hover { border-color: #F39C4B; background: #FFF6ED; opacity: 1; }

/* サイドバー */
.ai-side { display: flex; flex-direction: column; gap: 26px; }
.ai-side-card { border-radius: 22px; padding: 24px; }
.ai-side-card--pink { background: #FDEFF3; }
.ai-side-card--cream { background: #FFF6ED; }
.ai-side-card__ttl { font-size: 1.5rem; font-weight: 700; margin: 0 0 16px; display: flex; align-items: center; gap: 8px; }
.ai-side-card--pink .ai-side-card__ttl { color: #D8517C; }
.ai-side-card--cream .ai-side-card__ttl { color: #E8613C; }
.ai-side-card__dot { width: 8px; height: 8px; border-radius: 50%; }
.ai-side-card__dot--pink { background: #F6A5C0; }
.ai-side-card__dot--orange { background: #F39C4B; }
.ai-side-recent { display: flex; flex-direction: column; gap: 14px; }
.ai-side-recent a { text-decoration: none; display: block; }
.ai-side-recent a:hover { opacity: 0.7; }
.ai-side-recent__date { font-family: "Quicksand", sans-serif; font-size: 1.2rem; color: #B79E90; font-weight: 600; display: block; }
.ai-side-recent__title { font-size: 1.35rem; color: #5A463E; line-height: 1.6; font-weight: 500; }
/* CMS「最近記事リスト(tag=1)」の .ai-news__row 出力を、サイドバー用のコンパクト縦積みに調整 */
.ai-side-recent > span { display: flex; flex-direction: column; gap: 14px; }
.ai-side-recent .ai-news__row { display: block; padding: 0; gap: 0; border-bottom: none; }
.ai-side-recent .ai-news__date { font-family: "Quicksand", sans-serif; font-size: 1.2rem; color: #B79E90; font-weight: 600; display: block; }
.ai-side-recent .ai-news__title { display: block; font-size: 1.35rem; color: #5A463E; line-height: 1.6; font-weight: 500; }
.ai-archive { display: flex; flex-direction: column; }
/* CMSは月リンクを span 内に出力するため、span も縦積みにする */
#cms-blog-entry-month-1-area { display: flex; flex-direction: column; }
.ai-archive a { display: flex; justify-content: space-between; padding: 11px 4px; text-decoration: none; color: #6E5D53; font-size: 1.4rem; border-bottom: 1px dashed #F1E0D2; }
.ai-archive a:last-child { border-bottom: none; }
.ai-archive a:hover { color: #E8613C; }
.ai-archive__count { color: #B79E90; }

/* 記事詳細 */
.ai-article__date { font-family: "Quicksand", sans-serif; color: #B79E90; font-weight: 600; font-size: 1.4rem; display: block; margin-bottom: 14px; }
.ai-article__title { font-size: 3rem; font-weight: 700; color: #4A3A34; line-height: 1.5; margin: 0 0 26px; }
.ai-article__hero { margin-bottom: 34px; }
.ai-article__hero img { width: 100%; height: 380px; object-fit: cover; display: block; }
.ai-article__body { font-size: 1.6rem; line-height: 2.1; color: #5A463E; }
.ai-article__body p { margin: 0 0 24px; }
.ai-article__body h2 { font-size: 2.1rem; font-weight: 700; color: #4A3A34; margin: 38px 0 16px; padding-left: 14px; border-left: 5px solid #F39C4B; }
.ai-article__body h3 { font-size: 1.8rem; font-weight: 700; color: #4A3A34; margin: 30px 0 12px; }
.ai-article__list, .ai-article__body ul, .ai-article__body ol { margin: 0 0 24px; padding-left: 22px; line-height: 2; }
.ai-article__list, .ai-article__body ul { list-style: disc; }
.ai-article__body ol { list-style: decimal; }
.ai-article__body img { max-width: 100%; height: auto; border-radius: 12px; margin: 12px 0; }
.ai-article__body a { color: #E8613C; text-decoration: underline; }
.ai-article__body a:hover { opacity: 0.75; }
.ai-note-box { background: #FFF6ED; border-radius: 20px; padding: 26px 28px; margin: 34px 0; }
.ai-note-box p { margin: 0; font-size: 1.5rem; line-height: 1.95; color: #6E5D53; }
.ai-note-box strong { color: #E8613C; }
.ai-article__nav { display: flex; justify-content: space-between; margin-top: 48px; padding-top: 26px; border-top: 1px solid #F1DECF; gap: 12px; }
.ai-article__nav--center { justify-content: center; }
.ai-article__navlink { text-decoration: none; color: #6E5D53; font-weight: 700; font-size: 1.4rem; }
.ai-article__navlink--center { color: #E8613C; }
.ai-article__navlink:hover { opacity: 0.7; }
.ai-side-contact { text-decoration: none; background: linear-gradient(135deg, #F39C4B, #E8613C); border-radius: 22px; padding: 26px 24px; color: #fff; display: block; }
.ai-side-contact:hover { opacity: 0.92; }
.ai-side-contact__ttl { font-size: 1.6rem; font-weight: 700; margin-bottom: 8px; }
.ai-side-contact__txt { font-size: 1.3rem; line-height: 1.8; margin: 0 0 12px; opacity: 0.95; }
.ai-side-contact__tel { font-family: "Quicksand", sans-serif; font-size: 2.2rem; font-weight: 700; }

/* ==========================================================================
   フッター
   ========================================================================== */
.ai-footer { background: #FFF6ED; border-top: 1px solid #F6E4D6; color: #5A463E; }
.ai-footer__inner { max-width: 1180px; margin: 0 auto; padding: 56px 24px 30px; }
.ai-footer__grid { display: grid; grid-template-columns: 1.1fr 1fr 1fr; gap: 40px; }
.ai-footer__logo { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.ai-footer__logo-text { display: flex; flex-direction: column; line-height: 1.15; }
.ai-footer__logo-name { font-size: 1.9rem; font-weight: 700; color: #4A3A34; }
.ai-footer__logo-en { font-family: "Quicksand", sans-serif; font-size: 1rem; font-weight: 600; color: #F39C4B; letter-spacing: 0.2em; }
.ai-footer__addr { font-size: 1.4rem; line-height: 1.9; color: #7A695E; margin: 0 0 18px; }
.ai-footer__hours { font-size: 1.3rem; line-height: 1.9; color: #7A695E; margin: 0; }
.ai-footer__heading { font-size: 1.3rem; font-weight: 700; color: #E8613C; letter-spacing: 0.08em; margin: 0 0 16px; }
.ai-footer__nav { display: flex; flex-direction: column; gap: 11px; }
.ai-footer__link { text-decoration: none; color: #6E5D53; font-size: 1.4rem; }
.ai-footer__link:hover { color: #E8613C; }
.ai-footer__tel { font-family: "Quicksand", sans-serif; font-size: 2.6rem; font-weight: 700; color: #E8613C; text-decoration: none; display: block; margin-bottom: 6px; }
.ai-footer__note { font-size: 1.2rem; color: #9A897E; margin: 0 0 18px; }
.ai-footer__map { margin-top: 20px; border-radius: 16px; overflow: hidden; border: 1px solid #F1DECF; }
.ai-footer__map iframe { width: 100%; height: 150px; border: 0; display: block; }
.ai-footer__bottom { margin-top: 44px; padding-top: 20px; border-top: 1px solid #F1DECF; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.ai-footer__copy { display: inline-flex; align-items: center; gap: 6px; font-family: "Quicksand", sans-serif; font-size: 1.2rem; color: #B79E90; }
.ai-footer__tags { font-size: 1.2rem; color: #B79E90; }

/* ==========================================================================
   ページトップボタン（main.css の .page-top を利用、色調整）
   ========================================================================== */
.page-top__link { background: #F39C4B; }
.page-top__link:hover { background: #E8613C; }

/* ==========================================================================
   SPナビ（英字ラベル微調整）
   ========================================================================== */
/* SPナビ：日本語（左）・英語（右・大きめ）に配置 */
.sp-nav__ja { margin-right: auto; }
.sp-nav__en { font-family: "Quicksand", sans-serif; font-size: 1.5rem; letter-spacing: 0.12em; opacity: 0.85; margin-right: 0; padding-left: 0; padding-right: 14px; }

/* ==========================================================================
   レスポンシブ
   ========================================================================== */
@media (max-width: 1100px) {
  .ai-header .header__inner { padding: 12px 0; }
  /* SP: PC用の横並びナビ・右ブロックを非表示（ハンバーガーに切替） */
  .ai-header .header__nav,
  .ai-nav { display: none; }
  .ai-header .header__right,
  .ai-header__right { display: none; }
}
@media (max-width: 960px) {
  .ai-cta-band__grid { grid-template-columns: 1fr; gap: 28px; }
  .ai-footer__grid { grid-template-columns: 1fr 1fr; }
  .ai-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 896px) {
  .ai-sec-head { margin-bottom: 34px; }
  .ai-sec-title { font-size: 2.6rem; }
  .ai-phero__title { font-size: 3.2rem; }
  .ai-two, .ai-two--wide-left, .ai-two--greeting { grid-template-columns: 1fr; gap: 32px; }
  .ai-cta-band { padding: 44px 32px; }
  .ai-cat-grid { grid-template-columns: repeat(2, 1fr); }
  .ai-svc-row, .ai-svc-row--reverse { grid-template-columns: 1fr; gap: 24px; }
  .ai-svc-row .ai-svc-media-wrap, .ai-svc-row--reverse .ai-svc-media-wrap { order: 1; }
  .ai-svc-row .ai-svc-body, .ai-svc-row--reverse .ai-svc-body { order: 2; }
  .ai-svc { gap: 44px; }
  /* 福利厚生：2列時の線位置 */
  .ai-benefit { border-right: 1px solid #F1D9CE; border-bottom: 1px solid #F1D9CE; }
  .ai-benefit:nth-child(3n) { border-right: 1px solid #F1D9CE; }
  .ai-benefit:nth-child(n+4) { border-bottom: 1px solid #F1D9CE; }
  .ai-benefit:nth-child(2n) { border-right: none; }
  .ai-benefit:nth-child(n+5) { border-bottom: none; }
  .ai-contact-grid { grid-template-columns: 1fr; }
  .ai-contact-tel__num { font-size: 3.6rem; }
  .ai-blog-grid { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 639px) {
  .ai-header .header__inner { padding: 10px 0; }
  .ai-logo__mark { width: 38px; height: 38px; }
  .ai-logo__mark svg { width: 38px; height: 38px; }
  .ai-logo__name { font-size: 1.8rem; }
  .ai-sec-title { font-size: 2.3rem; }
  .ai-phero { padding: 40px 20px 60px; }
  .ai-phero__title { font-size: 2.7rem; }
  .ai-cta-band__title { font-size: 2.4rem; }
  .ai-cta-band { padding: 38px 26px; }
  .ai-footer__grid { grid-template-columns: 1fr; gap: 32px; }
  .ai-footer__bottom { flex-direction: column; align-items: flex-start; }
  .ai-news__box { padding: 6px 18px; }
  .ai-news__row { align-items: flex-start; flex-direction: column; gap: 6px; }
  .ai-band-section { padding: 0 20px 48px; }
  .ai-pill-row { grid-template-columns: 1fr; border-radius: 22px; }
  .ai-pill-row__label { padding: 16px 24px 4px; }
  .ai-pill-row__body { padding: 4px 24px 16px; }
  .ai-target { padding: 44px 18px; border-radius: 26px; }
  .ai-svc { padding: 48px 20px 20px; }
  .ai-deftable__row, .ai-deftable--wide-th .ai-deftable__row { grid-template-columns: 1fr; }
  .ai-deftable__th { padding: 14px 20px 4px; }
  .ai-deftable__td { padding: 4px 20px 14px; }
  .ai-sec-1000, .ai-sec-900 { padding: 48px 20px; }
  .ai-sec-960 { padding: 44px 20px 56px; }
  .ai-tabs__btn { font-size: 1.25rem; padding: 12px 10px; }
  .ai-step { padding: 20px 20px; gap: 16px; }
  .ai-step__num { width: 46px; height: 46px; font-size: 1.8rem; }
  .ai-qa { padding: 20px 22px; }
  .ai-post { grid-template-columns: 1fr; min-height: 0; }
  .ai-post__thumb { height: 180px; }
  .ai-post__body { padding: 0 20px 20px; align-self: auto; }
  .ai-article__title { font-size: 2.4rem; }
  .ai-article__hero img { height: 240px; }
  .ai-article__nav { flex-direction: column; align-items: center; gap: 10px; }
  .ai-contact-tel { padding: 36px 28px; }
  /* 福利厚生：1列時は横線のみ */
  .ai-benefit { border-right: none; border-bottom: 1px solid #F1D9CE; }
  .ai-benefit:nth-child(2n) { border-right: none; }
  .ai-benefit:nth-child(n+5) { border-bottom: 1px solid #F1D9CE; }
  .ai-benefit:last-child { border-bottom: none; }
}
