@charset "UTF-8";
/*
 * ======================================
 * 追加クラス一覧（共通SCSS取り込み検討用）
 * ======================================
 * 蒼翠合同会社（あおみグループ）サイト固有CSS。
 * claude-design-output/ の完成デザインを「正」として、共通main.cssで
 * 再現できないポップで作り込まれた専用デザインを .aomi- プレフィックスで実装。
 *
 * .aomi-side / .aomi-side__btn        - 右端固定の縦ボタン（お問い合わせ / Instagram）
 * .aomi-header 系                      - アイコン付きグローバルナビ（sticky・非レスポンシブ）
 * .aomi-inner + .aomi-mw-*            - セクション内側ラッパーと最大幅
 * .aomi-lead-en / .aomi-h2 / .aomi-h1 - 和英併記見出し（Fredoka英字＋日本語）
 * .aomi-mv 系                          - トップ メインビュー（角丸写真＋イラスト＋固定スクロール風装飾）
 * .aomi-navcard 系                     - MV下のカード型ナビ
 * .aomi-scard 系                       - 3事業紹介カード（季節カラー）
 * .aomi-about 系                       - ごあいさつ 2カラム
 * .aomi-wave / .aomi-wave2             - セクション区切りの波（SVG）
 * .aomi-spectable 系                   - 会社概要・事業所案内テーブル（flex行）
 * .aomi-office-card                    - 各事業所連絡先カード（上辺季節カラー）
 * .aomi-timeline 系                    - 沿革タイムライン / ケアプラン縦フロー
 * .aomi-iggrid                         - Instagramグリッド
 * .aomi-hero 系                        - 下層ページヒーロー（季節カラー）
 * .aomi-servicebox 系                  - サービス説明ボックス
 * .aomi-flow 系                        - 横並びフロー / 番号フロー
 * .aomi-feature-row 系                 - デイ 3つの特長（左右交互 写真＋テキスト）
 * .aomi-day-schedule 系                - 一日の流れ
 * .aomi-cta 系                          - ページ下部の季節カラーCTA帯
 * .aomi-disclosure 系                  - 情報開示PDFリンク
 * .aomi-form 系                         - お問い合わせフォーム
 * .aomi-recruit 系                      - 採用メッセージ・活動ポイント・募集要項
 * .aomi-footer 系                       - フッター
 *
 * ======================================
 * 共通SCSSに不足していたもの（5分類）
 * ======================================
 * ・構造不足：アイコン＋和英縦積みのグローバルナビ、写真に重なるバッジ付き事業カード、
 *   上辺だけ季節カラーのテーブル/カード枠、左右交互の大型特長行 → site.cssで構造から実装
 * ・装飾パターン不足：ポップなSVG波区切り、浮遊イラスト（木・鳥・猫）、ぼかし円 → site.cssで実装
 * ・値の粒度不足：デザイン固有の余白/角丸/影（24px角丸, 青系ソフトシャドウ等）→ site.cssで指定
 * ・指定方向不足：固定サイドボタン（右端中央・縦書き）→ site.cssで実装
 */

/* ============================================================
 * 0. base / tokens
 * ============================================================ */
:root{
  --c-blue:#244384;      /* メインカラー */
  --c-green:#7eb454;     /* サブカラー */
  --c-green-d:#5f9637;
  --c-aomi:#3a8dd0;      /* 夏・青 */
  --c-pink:#eb9cb4;      /* 春・ピンク */
  --c-pink-d:#d97a96;
  --c-orange:#e0a352;
  --c-recruit-d:#2a6db0;
  --c-yellow:#ffe14d;
  --cream:#fbf8f1;
  --tx:#46536e;
  --tx2:#5a6883;
  --tx3:#3a4458;
  --muted:#7d8aa3;
  --muted2:#9aa6bd;
  --line:rgba(36,67,132,0.1);
  --f-en:"Fredoka",sans-serif;
  --f-ja:"Zen Maru Gothic",sans-serif;
}
body{
  font-family:var(--f-ja);
  color:var(--tx);
  background:#fff;
  line-height:1.8;
  letter-spacing:normal;
}
.aomi-en{font-family:var(--f-en);}

/* 内側ラッパー */
.aomi-inner{width:100%;max-width:1200px;margin:0 auto;padding:0 32px;position:relative;}
.aomi-mw-1180{max-width:1180px;} .aomi-mw-1120{max-width:1120px;}
.aomi-mw-1100{max-width:1100px;} .aomi-mw-1080{max-width:1080px;}
.aomi-mw-1040{max-width:1040px;} .aomi-mw-1000{max-width:1000px;}
.aomi-mw-900{max-width:900px;}   .aomi-mw-880{max-width:880px;}
.aomi-mw-820{max-width:820px;}   .aomi-mw-780{max-width:780px;}
.aomi-mw-760{max-width:760px;}   .aomi-mw-720{max-width:720px;}
.aomi-emoji{font-size:22px;line-height:1;}
.aomi-emoji--20{font-size:20px;}

/* 汎用見出し（和英併記） */
.aomi-eyebrow{font-family:var(--f-en);font-size:15px;letter-spacing:.16em;font-weight:600;margin:0 0 10px;}
.aomi-eyebrow--sm{font-size:14px;}
.aomi-h2{font-size:34px;font-weight:700;color:var(--c-blue);margin:0;line-height:1.4;}
.aomi-h2--36{font-size:36px;}
.aomi-h2--32{font-size:32px;}
.aomi-h2--30{font-size:30px;}
.aomi-h2--28{font-size:28px;}
.aomi-sec-head{text-align:center;}
.aomi-sec-head .aomi-h2{margin-bottom:0;}
.aomi-lead{font-size:16px;color:var(--tx2);line-height:1.9;margin:14px auto 0;}
.aomi-lead--mt0{margin-top:0;}

/* デザイン固有の余白ユーティリティ（px・非レスポンシブ固定） */
.aomi-mb-6{margin-bottom:6px;}   .aomi-mb-8{margin-bottom:8px;}   .aomi-mb-12{margin-bottom:12px;}
.aomi-mb-14{margin-bottom:14px;} .aomi-mb-16{margin-bottom:16px;} .aomi-mb-18{margin-bottom:18px;}
.aomi-mb-22{margin-bottom:22px;} .aomi-mb-26{margin-bottom:26px;} .aomi-mb-28{margin-bottom:28px;}
.aomi-mb-34{margin-bottom:34px;} .aomi-mb-36{margin-bottom:36px;} .aomi-mb-40{margin-bottom:40px;}
.aomi-mb-44{margin-bottom:44px;} .aomi-mb-46{margin-bottom:46px;} .aomi-mb-48{margin-bottom:48px;}
.aomi-mb-50{margin-bottom:50px;} .aomi-mb-54{margin-bottom:54px;}
.aomi-mt-40{margin-top:40px;} .aomi-mt-44{margin-top:44px;}

/* 色ヘルパー */
.c-blue{color:var(--c-blue)!important;}
.c-green{color:var(--c-green)!important;}
.c-green-d{color:var(--c-green-d)!important;}
.c-aomi{color:var(--c-aomi)!important;}
.c-pink-d{color:var(--c-pink-d)!important;}
.c-recruit-d{color:var(--c-recruit-d)!important;}
.c-orange{color:var(--c-orange)!important;}
.c-yellow{color:var(--c-yellow)!important;}

/* ============================================================
 * 1. 固定サイドボタン
 * ============================================================ */
.aomi-side{position:fixed;right:0;top:36%;z-index:300;display:flex;flex-direction:column;gap:10px;}
.aomi-side__btn{display:flex;flex-direction:column;align-items:center;gap:11px;color:#fff;
  padding:18px 13px;border-radius:14px 0 0 14px;text-decoration:none;
  box-shadow:-5px 5px 16px rgba(0,0,0,.14);transition:padding-right .18s;}
.aomi-side__btn:hover{padding-right:18px;}
.aomi-side__btn--contact{background:var(--c-green);}
.aomi-side__btn--ig{background:linear-gradient(160deg,#f9a13c,#e85d8a,#a64fc0);}
.aomi-side__label{writing-mode:vertical-rl;font-size:14px;font-weight:700;letter-spacing:.12em;}
.aomi-side__label--en{font-size:13px;letter-spacing:.16em;font-family:var(--f-en);}

/* ============================================================
 * 2. ヘッダー（アイコン付きグローバルナビ・sticky）
 * ============================================================ */
.aomi-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);
  backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid rgba(36,67,132,.08);}
.aomi-header__inner{max-width:1320px;margin:0 auto;padding:0 36px;height:104px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;}
.aomi-logo{display:flex;align-items:center;gap:13px;text-decoration:none;flex-shrink:0;}
.aomi-logo__img{height:60px;width:auto;display:block;}
.aomi-logo__txt{display:flex;flex-direction:column;line-height:1.3;}
.aomi-logo__name{font-size:18px;font-weight:700;color:var(--c-blue);letter-spacing:.02em;}
.aomi-logo__sub{font-family:var(--f-en);font-size:12px;color:var(--muted);letter-spacing:.05em;}
.aomi-gnav{display:flex;align-items:flex-end;gap:6px;}
.aomi-gnav__item{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;
  text-decoration:none;padding:6px 6px 10px;min-width:88px;}
.aomi-gnav__icon{color:var(--nav-c,var(--c-aomi));display:flex;}
.aomi-gnav__icon svg{display:block;}
.aomi-gnav__txt{display:flex;flex-direction:column;align-items:center;line-height:1.3;}
.aomi-gnav__label{font-size:14px;font-weight:700;color:#2d3a52;white-space:nowrap;}
.aomi-gnav__en{font-family:var(--f-en);font-size:9px;letter-spacing:.06em;color:var(--muted2);}
.aomi-gnav__bar{position:absolute;bottom:0;left:14px;right:14px;height:3px;border-radius:3px;
  background:var(--nav-c,var(--c-aomi));}
.aomi-gnav__item--aomi{--nav-c:#3a8dd0;} .aomi-gnav__item--pink{--nav-c:#eb9cb4;}
.aomi-gnav__item--green{--nav-c:#7eb454;} .aomi-gnav__item--blue{--nav-c:#244384;}
.aomi-gnav__item--orange{--nav-c:#e0a352;}
.aomi-gnav__item:hover .aomi-gnav__label{color:var(--nav-c,var(--c-aomi));}

/* ============================================================
 * 3. TOP メインビュー
 * ============================================================ */
.aomi-mv-sec{position:relative;background:linear-gradient(#eaf4fb 0%,#f3f8ee 100%);padding:30px 0 0;}
.aomi-mv{position:relative;max-width:calc(100% - 60px);width:98%;margin:0 auto;}
.aomi-mv__frame{position:relative;border-radius:20px;overflow:hidden;height:600px;
  box-shadow:0 20px 50px rgba(36,67,132,.16);}
.aomi-mv__slides{position:absolute;inset:0;z-index:0;}
.mv-slide{position:absolute;inset:0;transition:opacity 1.2s;opacity:0;z-index:1;}
.mv-slide.is-active{opacity:1;}
.mv-slide img{width:100%;height:100%;object-fit:cover;display:block;}
/* CMSスライダー（Swiper）差し替え時：フレーム(600px)いっぱいに追従させる */
.aomi-mv__slides #cms-slider-1-1-area{position:absolute;inset:0;width:100%;height:100%;z-index:1;}
.aomi-mv__slides .swiper,
.aomi-mv__slides .swiper-container{width:100%;height:100%;}
.aomi-mv__slides .swiper-slide{width:100%;height:100%;}
.aomi-mv__slides .swiper-slide img{width:100%;height:100%;object-fit:cover;display:block;}
/* 暗幕：静止画・CMSスライダーどちらの上にも必ず重なるよう z-index を明示 */
.aomi-mv__overlay{position:absolute;inset:0;z-index:2;pointer-events:none;
  background:radial-gradient(rgba(20,44,86,.5) 0%,rgba(20,44,86,.32) 50%,rgba(20,44,86,.12) 100%);}
.aomi-mv__content{position:relative;z-index:3;height:100%;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:0 32px;pointer-events:none;}
.aomi-mv__content a,.aomi-mv__content button{pointer-events:auto;}
.aomi-mv__eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:20px;}
.aomi-mv__eyebrow span.line{height:1px;width:30px;background:rgba(255,255,255,.75);}
.aomi-mv__eyebrow span.txt{font-family:var(--f-en);color:#fff;font-size:14px;letter-spacing:.2em;
  font-weight:500;text-shadow:0 1px 8px rgba(0,0,0,.3);}
.aomi-mv__title{font-size:58px;font-weight:700;color:#fff;line-height:1.45;margin:0;
  text-shadow:0 2px 22px rgba(20,44,86,.5);letter-spacing:.04em;}
.aomi-mv__sub{font-size:18px;color:#fff;line-height:2.1;margin:26px 0 0;max-width:640px;
  text-shadow:0 1px 12px rgba(20,44,86,.55);}
.aomi-mv__dots{position:absolute;z-index:4;bottom:26px;left:0;width:100%;display:flex;
  align-items:center;justify-content:center;gap:10px;}
.aomi-mv__dot{width:10px;height:10px;border-radius:999px;border:none;cursor:pointer;padding:0;
  background:rgba(255,255,255,.5);transition:.3s;}
.aomi-mv__dot.is-active{width:28px;background:#fff;}
.aomi-mv__leaf{position:absolute;bottom:-26px;width:440px;height:auto;z-index:5;pointer-events:none;}
.aomi-mv__leaf--l{left:50%;transform:translateX(-50vw);}
.aomi-mv__leaf--r{right:50%;transform:translateX(50vw);}
.aomi-mv__cat{position:absolute;height:auto;z-index:6;pointer-events:none;
  filter:drop-shadow(0 6px 10px rgba(0,0,0,.12));}
.aomi-mv__cat--l{bottom:14px;left:150px;width:108px;animation:catFloatL 4.2s ease-in-out infinite;}
.aomi-mv__cat--r{bottom:24px;right:154px;width:100px;animation:catFloatR 4.8s .6s ease-in-out infinite;}
@keyframes catFloatL{0%{transform:translateY(0) rotate(-4deg);}50%{transform:translateY(-16px) rotate(4deg);}100%{transform:translateY(0) rotate(-4deg);}}
@keyframes catFloatR{0%{transform:translateY(0) scaleX(-1) rotate(4deg);}50%{transform:translateY(-16px) scaleX(-1) rotate(-4deg);}100%{transform:translateY(0) scaleX(-1) rotate(4deg);}}
@keyframes birdFly{0%{transform:translate(0,0) rotate(-3deg);}50%{transform:translate(-22px,-16px) rotate(4deg);}100%{transform:translate(0,0) rotate(-3deg);}}
@keyframes swaySoft{0%{transform:rotate(-1.5deg);}50%{transform:rotate(1.5deg);}100%{transform:rotate(-1.5deg);}}

/* MV下のブランド＋カードナビ */
.aomi-mvnav{padding:46px 0 56px;}
.aomi-mvnav__brand{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:26px;}
.aomi-mvnav__brand img{height:62px;width:auto;display:block;}
.aomi-mvnav__brand .en{font-family:var(--f-en);font-size:20px;font-weight:600;color:var(--c-blue);
  letter-spacing:.03em;margin:6px 0 0;}
.aomi-mvnav__brand .ja{font-size:13px;color:var(--muted);margin:0;letter-spacing:.04em;}
.aomi-navcard{display:flex;background:#fff;border-radius:30px;box-shadow:0 14px 38px rgba(36,67,132,.1);
  padding:26px 20px;max-width:1120px;margin:0 auto;}
.aomi-navcard__item{flex:1;display:flex;flex-direction:column;align-items:center;gap:12px;
  text-decoration:none;border-right:1px solid rgba(36,67,132,.08);transition:transform .18s;}
.aomi-navcard__item:last-child{border-right:none;}
.aomi-navcard__item:hover{transform:translateY(-4px);}
.aomi-navcard__icon{display:flex;align-items:center;justify-content:center;width:54px;height:54px;
  border-radius:50%;}
.aomi-navcard__icon--aomi{background:#eef5fc;color:#3a8dd0;}
.aomi-navcard__icon--pink{background:#fdeef3;color:#eb9cb4;}
.aomi-navcard__icon--green{background:#eef6e6;color:#7eb454;}
.aomi-navcard__icon--blue{background:#edeff6;color:#244384;}
.aomi-navcard__icon--orange{background:#fcf2e3;color:#e0a352;}
.aomi-navcard__txt{display:flex;flex-direction:column;align-items:center;line-height:1.35;}
.aomi-navcard__label{font-size:15px;font-weight:700;color:var(--c-blue);}
.aomi-navcard__en{font-family:var(--f-en);font-size:10px;letter-spacing:.06em;color:var(--muted2);}

/* ============================================================
 * 4. TOP 3事業紹介
 * ============================================================ */
.aomi-service-sec{background:#fff;padding:88px 0 130px;position:relative;overflow:hidden;}
.aomi-deco{position:absolute;height:auto;pointer-events:none;}
.aomi-deco--bird{top:44px;right:70px;width:150px;z-index:2;animation:birdFly 5s ease-in-out infinite;}
.aomi-deco--oka{left:0;bottom:0;width:100%;opacity:.5;z-index:0;}
.aomi-service-sec .aomi-inner{z-index:1;}
.aomi-scards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.aomi-scard{display:flex;flex-direction:column;background:#fff;border-radius:24px;overflow:hidden;
  text-decoration:none;box-shadow:0 10px 34px rgba(36,67,132,.08);border:1px solid rgba(36,67,132,.06);
  transition:transform .25s,box-shadow .25s;position:relative;}
.aomi-scard:hover{transform:translateY(-8px);box-shadow:0 18px 44px rgba(36,67,132,.16);}
.aomi-scard__thumb{position:relative;height:200px;overflow:hidden;}
.aomi-scard__thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
.aomi-scard:hover .aomi-scard__thumb img{transform:scale(1.06);}
.aomi-scard__season{position:absolute;top:16px;left:16px;display:inline-flex;align-items:center;gap:7px;
  color:#fff;font-size:13px;font-weight:700;padding:7px 15px;border-radius:999px;
  box-shadow:0 4px 12px rgba(0,0,0,.18);}
.aomi-scard__push{position:absolute;top:16px;right:16px;background:#fff;color:var(--c-green);font-size:12px;
  font-weight:700;padding:6px 13px;border-radius:999px;box-shadow:0 4px 12px rgba(0,0,0,.14);}
.aomi-scard__body{padding:26px 26px 28px;display:flex;flex-direction:column;flex:1;}
.aomi-scard__en{font-family:var(--f-en);font-size:12px;letter-spacing:.1em;margin:0 0 6px;font-weight:600;}
.aomi-scard__title{font-size:21px;font-weight:700;color:var(--c-blue);margin:0 0 4px;}
.aomi-scard__catch{font-size:15px;font-weight:500;margin:0 0 14px;}
.aomi-scard__text{font-size:14px;color:var(--tx2);line-height:1.85;margin:0 0 20px;flex:1;}
.aomi-scard__more{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:700;color:var(--c-blue);}
.season-aomi{--sc:#3a8dd0;} .season-pink{--sc:#eb9cb4;} .season-green{--sc:#7eb454;}
.aomi-scard__season{background:var(--sc);}
.aomi-scard__en,.aomi-scard__catch{color:var(--sc);}

/* ============================================================
 * 5. TOP ごあいさつ
 * ============================================================ */
.aomi-about-sec{background:var(--cream);padding:96px 0;position:relative;overflow:hidden;}
.aomi-circle{position:absolute;border-radius:50%;pointer-events:none;z-index:0;}
.aomi-about-sec .c-green-blob{top:60px;right:-40px;width:220px;height:220px;background:rgba(126,180,84,.08);}
.aomi-about-sec .c-pink-blob{bottom:40px;left:-50px;width:260px;height:260px;background:rgba(235,156,180,.08);}
.aomi-about{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:center;position:relative;}
.aomi-about__media{position:relative;}
.aomi-about__photo{width:100%;height:420px;object-fit:cover;display:block;border-radius:28px;
  box-shadow:0 18px 44px rgba(36,67,132,.14);}
.aomi-about__badge{position:absolute;bottom:-22px;right:-22px;background:var(--c-green);color:#fff;
  border-radius:22px;padding:18px 24px;box-shadow:0 12px 28px rgba(126,180,84,.36);}
.aomi-about__badge .yr{display:block;font-family:var(--f-en);font-size:13px;letter-spacing:.08em;opacity:.9;}
.aomi-about__badge .tx{display:block;font-size:17px;font-weight:700;}
.aomi-about__catch{font-size:23px;font-weight:700;color:var(--c-green);margin:0 0 26px;line-height:1.7;}
.aomi-about__body{font-size:15px;color:var(--tx);line-height:2.15;}
.aomi-about__body p{margin:0 0 18px;}
.aomi-about__body p:last-child{margin:0;}

/* ============================================================
 * 6. 波区切り（SVG）
 * ============================================================ */
.aomi-wave{line-height:0;}
.aomi-wave svg{width:100%;height:90px;display:block;}
.bg-cream{background:var(--cream);}
.bg-white{background:#fff;}

/* ============================================================
 * 7. TOP 会社概要 / スペックテーブル
 * ============================================================ */
.aomi-company-sec{background:#fff;padding:60px 0 92px;}
.aomi-spectable{border:1px solid var(--line);border-radius:20px;overflow:hidden;}
.aomi-spectable__row{display:flex;align-items:stretch;border-bottom:1px solid var(--line);}
.aomi-spectable__row:last-child{border-bottom:none;}
.aomi-spectable__th{width:200px;flex-shrink:0;background:#f5f8fc;padding:18px 24px;font-weight:700;
  font-size:14px;color:var(--c-blue);}
.aomi-spectable__td{flex:1;padding:18px 26px;font-size:14px;color:var(--tx);line-height:1.8;}
.aomi-spectable--office .aomi-spectable__th{width:160px;padding:18px 22px;}
.aomi-spectable--office .aomi-spectable__td{padding:18px 24px;}

.aomi-subhead{font-size:19px;font-weight:700;color:var(--c-blue);margin:48px 0 18px;display:flex;
  align-items:center;gap:10px;}
.aomi-subhead__mark{width:6px;height:20px;border-radius:3px;background:var(--c-green);}
.aomi-office-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.aomi-office-card{border:1px solid var(--line);border-top:4px solid var(--oc,var(--c-aomi));
  border-radius:16px;padding:22px 22px 24px;}
.aomi-office-card__name{font-size:16px;font-weight:700;color:var(--c-blue);margin:0 0 12px;}
.aomi-office-card__tel{font-size:13px;color:var(--tx);line-height:1.9;margin:0 0 14px;}
.aomi-office-card__map{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;
  color:var(--oc,var(--c-aomi));text-decoration:none;}
.oc-aomi{--oc:#3a8dd0;} .oc-pink{--oc:#eb9cb4;} .oc-green{--oc:#7eb454;}

/* ============================================================
 * 8. TOP 沿革タイムライン
 * ============================================================ */
.aomi-history-sec{background:var(--cream);padding:60px 0 92px;position:relative;overflow:hidden;}
.aomi-deco--tree{bottom:30px;left:40px;width:180px;z-index:0;}
.aomi-deco--tori2{bottom:10px;right:40px;width:240px;z-index:0;}
.aomi-deco--tori3{top:54px;right:60px;width:150px;z-index:0;transform-origin:center bottom;
  animation:swaySoft 6s ease-in-out infinite;}
.aomi-tl{position:relative;padding-left:8px;}
.aomi-tl__line{position:absolute;left:128px;top:6px;bottom:6px;width:2px;background:rgba(36,67,132,.16);}
.aomi-tl__row{display:flex;gap:28px;align-items:flex-start;padding:13px 0;position:relative;}
.aomi-tl__date{width:108px;flex-shrink:0;text-align:right;font-family:var(--f-en);font-size:14px;
  font-weight:600;color:var(--c-aomi);padding-top:2px;}
.aomi-tl__dotwrap{position:relative;flex-shrink:0;width:14px;display:flex;justify-content:center;}
.aomi-tl__dot{width:13px;height:13px;border-radius:50%;background:var(--dc,var(--c-aomi));
  border:3px solid var(--cream);margin-top:4px;z-index:1;box-shadow:0 0 0 1px var(--dc,var(--c-aomi));}
.aomi-tl__text{font-size:15px;color:var(--tx);line-height:1.7;padding-top:1px;}
.dc-blue{--dc:#244384;} .dc-aomi{--dc:#3a8dd0;} .dc-green{--dc:#7eb454;}
.dc-pink{--dc:#eb9cb4;} .dc-orange{--dc:#e0a352;}

/* ============================================================
 * 9. Instagram グリッド
 * ============================================================ */
.aomi-ig-block{padding:40px 0 80px;overflow-x:hidden;}
.aomi-ig-head{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:28px;}
.aomi-ig-head .aomi-h2{margin:0;}
.aomi-ig-btn{display:inline-flex;align-items:center;gap:9px;border:1.5px solid rgba(36,67,132,.2);
  color:var(--c-blue);font-weight:700;font-size:14px;padding:13px 24px;border-radius:999px;
  text-decoration:none;transition:.2s;}
.aomi-ig-btn:hover{background:var(--c-blue);color:#fff;border-color:var(--c-blue);}
.aomi-ig-btn--green{background:var(--c-green);color:#fff;border-color:var(--c-green);
  box-shadow:0 6px 16px rgba(126,180,84,.32);}
.aomi-ig-btn--green:hover{background:var(--c-green-d);border-color:var(--c-green-d);}
.aomi-iggrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.aomi-iggrid img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;border-radius:16px;}

/* --- Instagram 画像スライダー（連続スクロール・マーキー／全幅2段） --- */
.aomi-igslider{position:relative;}
/* 親（.aomi-inner）を突き破って全幅に */
.aomi-igslider--rows{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}
.aomi-igslider__row{overflow:hidden;}
.aomi-igslider__row + .aomi-igslider__row{margin-top:14px;}
.aomi-igslider__track{display:flex;width:max-content;
  animation:aomi-igmarquee 70s linear infinite;}
/* 下段は逆方向へ流す */
.aomi-igslider__row--reverse .aomi-igslider__track{animation-name:aomi-igmarquee-rev;}
.aomi-igslider:hover .aomi-igslider__track{animation-play-state:paused;}
.aomi-igslide{flex:0 0 300px;width:300px;margin-right:14px;position:relative;display:block;
  border-radius:16px;overflow:hidden;cursor:pointer;
  box-shadow:0 6px 16px rgba(36,67,132,.08);transition:transform .25s,box-shadow .25s;}
.aomi-igslide img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;}
.aomi-igslide::after{content:"";position:absolute;inset:0;background:rgba(36,67,132,0);
  transition:background .25s;}
.aomi-igslide:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(36,67,132,.16);}
.aomi-igslide:hover::after{background:rgba(36,67,132,.12);}
@keyframes aomi-igmarquee{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
@keyframes aomi-igmarquee-rev{
  from{transform:translateX(-50%);}
  to{transform:translateX(0);}
}

/* --- ライトボックス（ポップアップ） --- */
.aomi-lightbox{position:fixed;inset:0;z-index:1000;
  display:flex;align-items:center;justify-content:center;
  background:rgba(24,34,58,.86);backdrop-filter:blur(4px);
  opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;}
.aomi-lightbox.is-open{opacity:1;visibility:visible;}
.aomi-lightbox__stage{margin:0;max-width:86vw;max-height:84vh;
  display:flex;flex-direction:column;align-items:center;gap:14px;
  transform:scale(.94);transition:transform .3s;}
.aomi-lightbox.is-open .aomi-lightbox__stage{transform:scale(1);}
.aomi-lightbox__img{max-width:86vw;max-height:78vh;width:auto;height:auto;
  object-fit:contain;border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.5);background:#fff;}
.aomi-lightbox__counter{color:rgba(255,255,255,.9);font-size:14px;font-weight:500;letter-spacing:.04em;}
.aomi-lightbox__close{position:absolute;top:24px;right:28px;
  width:48px;height:48px;border-radius:999px;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.14);color:#fff;transition:background .2s;}
.aomi-lightbox__close:hover{background:rgba(255,255,255,.28);}
.aomi-lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);
  width:54px;height:54px;border-radius:999px;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.14);color:#fff;transition:background .2s;}
.aomi-lightbox__nav:hover{background:rgba(255,255,255,.28);}
.aomi-lightbox__nav--prev{left:28px;}
.aomi-lightbox__nav--next{right:28px;}

/* ============================================================
 * 10. 下層ページ ヒーロー
 * ============================================================ */
.aomi-hero{position:relative;overflow:hidden;}
.aomi-hero--aomi{background:linear-gradient(120deg,#eaf3fb,#dceaf8);--ac:#3a8dd0;--badge:#3a8dd0;}
.aomi-hero--pink{background:linear-gradient(120deg,#fdf0f3,#fbe6ec);--ac:#d97a96;--badge:#eb9cb4;}
.aomi-hero--day{background:linear-gradient(120deg,#eef6e6,#e3f0d6);--ac:#5f9637;--badge:#7eb454;}
.aomi-hero--recruit{background:linear-gradient(120deg,#eaf4fb,#dceaf8);--ac:#2a6db0;--badge:#3a8dd0;}
.aomi-hero--info{background:linear-gradient(120deg,#eef3fb,#e4ecf7);--ac:#244384;--badge:#244384;}
.aomi-hero__inner{max-width:1200px;margin:0 auto;padding:48px 340px 64px 32px;position:relative;z-index:2;}
.aomi-hero__inner--rc{max-width:1100px;padding:48px 32px 60px;}
.aomi-hero__inner--if{max-width:1100px;padding:52px 32px 56px;}
.aomi-hero__inner--day{padding-bottom:56px;}
.aomi-hero__tree{position:absolute;bottom:0;right:70px;width:260px;height:auto;z-index:1;pointer-events:none;}
.aomi-hero__cat{position:absolute;bottom:0;right:56px;width:150px;height:auto;z-index:1;pointer-events:none;}
.aomi-hero__blob{position:absolute;border-radius:50%;pointer-events:none;z-index:0;}
.aomi-hero--aomi .b1{top:-60px;right:-40px;width:280px;height:280px;background:rgba(58,141,208,.12);}
.aomi-hero--aomi .b2{bottom:-50px;right:160px;width:150px;height:150px;background:rgba(58,141,208,.1);}
.aomi-hero--pink .b1{top:-60px;right:-40px;width:280px;height:280px;background:rgba(235,156,180,.16);}
.aomi-hero--pink .b2{bottom:-50px;right:160px;width:150px;height:150px;background:rgba(235,156,180,.12);}
.aomi-hero--day .b1{top:-60px;right:-40px;width:300px;height:300px;background:rgba(126,180,84,.16);}
.aomi-hero--day .b2{bottom:20px;right:200px;width:120px;height:120px;background:rgba(126,180,84,.12);}
.aomi-hero--recruit .b1{top:-50px;right:-30px;width:260px;height:260px;background:rgba(58,141,208,.16);}
.aomi-hero--recruit .b2{bottom:-50px;right:180px;width:140px;height:140px;background:rgba(58,141,208,.12);}
.aomi-hero--info .b1{top:-50px;right:6%;width:240px;height:240px;background:rgba(36,67,132,.07);}
.aomi-hero--info .b2{top:40%;left:-30px;width:120px;height:120px;background:rgba(126,180,84,.12);}
.aomi-breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--tx2);margin-bottom:30px;}
.aomi-breadcrumb a{color:var(--tx2);text-decoration:none;}
.aomi-breadcrumb .cur{color:var(--ac);font-weight:700;}
.aomi-hero__badge{display:inline-flex;align-items:center;gap:7px;background:var(--badge);color:#fff;
  font-size:13px;font-weight:700;padding:7px 16px;border-radius:999px;}
.aomi-hero__badge--outline{background:#fff;color:var(--ac);border:1.5px solid var(--badge);}
.aomi-hero__badges{display:flex;gap:10px;align-items:center;margin-bottom:18px;}
.aomi-hero__en{font-family:var(--f-en);font-size:15px;letter-spacing:.16em;color:var(--ac);font-weight:600;margin:22px 0 6px;}
.aomi-hero__en--tight{margin:0 0 6px;}
.aomi-hero__title{font-size:42px;font-weight:700;color:var(--c-blue);margin:0 0 4px;line-height:1.45;}
.aomi-hero__title--44{font-size:44px;line-height:1.4;margin:0;}
.aomi-hero__title--40{font-size:40px;line-height:1.45;margin:0;}
.aomi-hero__catch{font-size:24px;font-weight:700;color:var(--ac);margin:18px 0 0;line-height:1.6;}
.aomi-hero__catch--26{font-size:26px;}
.aomi-hero__desc{font-size:16px;color:var(--tx);line-height:2;margin:18px 0 0;max-width:760px;}
.aomi-hero__desc--720{max-width:720px;}
.aomi-hero-bar{height:8px;}
.aomi-hero-bar--aomi{background:var(--c-aomi);}
.aomi-hero-bar--pink{background:var(--c-pink);}
.aomi-hero-bar--green{background:var(--c-green);}

/* ============================================================
 * 11. サービス説明ボックス（houmon / kyotaku / day）
 * ============================================================ */
.aomi-sec{padding:84px 0 76px;}
.aomi-sec--p50-80{padding:50px 0 80px;}
.aomi-sec--p78-70{padding:78px 0 70px;}
.aomi-sec--p50-84{padding:50px 0 84px;}
.aomi-sec--p50-82{padding:50px 0 82px;}
.aomi-sec--p78-72{padding:78px 0 72px;}
.aomi-sec--p0-80{padding:0 0 80px;}
.aomi-sec--p54-8{padding:54px 0 8px;}
.aomi-sec--p48-80{padding:48px 0 80px;}
.aomi-servicebox-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:44px;}
.aomi-servicebox{border-radius:22px;padding:34px;border:1px solid var(--sb-bd,rgba(58,141,208,.14));
  background:var(--sb-bg,#f4f9fd);}
.aomi-servicebox--icon{padding:34px 34px 36px;}
.aomi-servicebox__head{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.aomi-servicebox__icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;
  border-radius:16px;background:var(--sb-ic,#3a8dd0);color:#fff;}
.aomi-servicebox__title{font-size:22px;font-weight:700;color:var(--c-blue);margin:0;}
.aomi-servicebox__title--21{font-size:21px;margin:0 0 12px;}
.aomi-servicebox__text{font-size:15px;color:var(--tx);line-height:2;margin:0;}
.aomi-servicebox__tag{display:inline-block;font-size:12px;font-weight:700;padding:5px 14px;
  border-radius:999px;margin-bottom:16px;color:#fff;background:var(--c-pink);}
.aomi-servicebox__tag--outline{background:#fff;color:var(--c-pink-d);border:1px solid rgba(235,156,180,.5);}
.sb-pink{--sb-bg:#fdf3f6;--sb-bd:rgba(235,156,180,.3);}

/* about day 2カラム */
.aomi-daydef{display:grid;grid-template-columns:1.4fr 1fr;gap:36px;align-items:center;}
.aomi-daydef__box{background:#f1f7e9;border-radius:20px;padding:28px 30px;border:1px solid rgba(126,180,84,.3);}
.aomi-daydef__box h3{font-size:17px;font-weight:700;color:var(--c-green-d);margin:0 0 10px;
  display:flex;align-items:center;gap:8px;}
.aomi-daydef__box p{font-size:15px;color:var(--tx);line-height:1.95;margin:0;}
.aomi-daydef__lead{font-size:15px;color:var(--tx);line-height:2.05;margin:0;}

/* ============================================================
 * 12. 対象・要支援 2カラム / 横フロー（houmon）
 * ============================================================ */
.aomi-infobox-row{display:flex;gap:28px;align-items:stretch;flex-wrap:wrap;margin-bottom:50px;}
.aomi-infobox{flex:1;min-width:300px;background:#fff;border-radius:20px;padding:30px 32px;border:1px solid var(--line);}
.aomi-infobox--accent-top{border-top:4px solid var(--c-aomi);border-color:var(--c-aomi) rgba(58,141,208,.22) rgba(58,141,208,.22);border-width:4px 1px 1px;border-style:solid;}
.aomi-infobox h3{font-size:19px;font-weight:700;color:var(--c-blue);margin:0 0 12px;display:flex;align-items:center;gap:10px;}
.aomi-infobox h3 .mark{width:6px;height:20px;border-radius:3px;background:var(--c-aomi);}
.aomi-infobox p{font-size:15px;color:var(--tx);line-height:1.95;margin:0;}
.aomi-infobox p .note{color:var(--muted);font-size:14px;}
.aomi-flowtitle{font-size:24px;font-weight:700;color:var(--c-blue);text-align:center;margin:0 0 36px;}
.aomi-hflow{display:flex;align-items:stretch;gap:0;}
.aomi-hflow__cell{flex:1;display:flex;align-items:center;}
.aomi-hflow__box{flex:1;background:#fff;border-radius:18px;padding:22px 16px;text-align:center;
  border:1px solid var(--line);min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.aomi-hflow__num{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;
  background:var(--c-aomi);color:#fff;font-family:var(--f-en);font-weight:600;font-size:16px;margin-bottom:12px;}
.aomi-hflow__box p{font-size:14px;color:var(--tx);line-height:1.6;margin:0;font-weight:500;}
.aomi-hflow__arrow{flex-shrink:0;color:var(--c-aomi);padding:0 6px;display:flex;}

/* ============================================================
 * 13. 事業所案内（画像＋テーブル）
 * ============================================================ */
.aomi-office-info{display:grid;grid-template-columns:1fr 1fr;gap:30px 36px;align-items:start;}
.aomi-office-info__photo{width:100%;height:360px;object-fit:cover;border-radius:20px;display:block;
  box-shadow:0 14px 34px rgba(36,67,132,.12);}
.aomi-office-info__col--table{grid-column:1 / -1;}
.aomi-office-info .aomi-map-embed{margin-top:0;}
.aomi-office-info__map{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;
  color:#fff;font-weight:700;font-size:14px;padding:14px;border-radius:14px;text-decoration:none;
  background:var(--mc,var(--c-aomi));}
.mc-aomi{--mc:#3a8dd0;} .mc-pink{--mc:#eb9cb4;} .mc-green{--mc:#7eb454;}
.aomi-map-embed{width:100%;border-radius:16px;overflow:hidden;margin-top:14px;
  box-shadow:0 6px 16px rgba(36,67,132,.08);}
.aomi-map-embed iframe{display:block;width:100%;height:300px;border:0;}
.aomi-spectable--office2 .aomi-spectable__th{background:#f4f9fd;}
.aomi-spectable--office-pink .aomi-spectable__th{background:#fdf3f6;}
.aomi-spectable--office-green .aomi-spectable__th{background:#f1f7e9;}

/* ============================================================
 * 14. 縦フロー（kyotaku）
 * ============================================================ */
.aomi-vflow{position:relative;}
.aomi-vflow__line{position:absolute;left:21px;top:10px;bottom:10px;width:2px;background:rgba(235,156,180,.4);}
.aomi-vflow__row{display:flex;gap:22px;align-items:flex-start;padding:11px 0;position:relative;}
.aomi-vflow__num{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;
  border-radius:50%;background:var(--c-pink);color:#fff;font-family:var(--f-en);font-weight:600;font-size:17px;
  z-index:1;box-shadow:0 4px 12px rgba(235,156,180,.4);}
.aomi-vflow__box{flex:1;background:#fff;border-radius:16px;padding:16px 22px;border:1px solid rgba(36,67,132,.08);
  font-size:15px;color:var(--tx3);font-weight:500;line-height:1.7;}
/* 青系（houmon） */
.aomi-vflow--aomi .aomi-vflow__line{background:rgba(58,141,208,.4);}
.aomi-vflow--aomi .aomi-vflow__num{background:var(--c-aomi);box-shadow:0 4px 12px rgba(58,141,208,.4);}
.aomi-note--mt24{margin-top:24px;}
/* タイトル＋説明リスト */
.aomi-vflow__title{font-size:16px;font-weight:700;color:var(--c-blue);margin:0 0 7px;line-height:1.5;}
.aomi-vflow__list{margin:0;padding:0;list-style:none;}
.aomi-vflow__list li{position:relative;padding-left:16px;font-size:14px;font-weight:400;
  color:var(--tx);line-height:1.85;}
.aomi-vflow__list li + li{margin-top:2px;}
.aomi-vflow__list li::before{content:"−";position:absolute;left:0;color:var(--c-pink-d);font-weight:700;}
.aomi-vflow--aomi .aomi-vflow__list li::before{color:var(--c-aomi);}

/* ============================================================
 * 15. デイ 3つの特長（左右交互）
 * ============================================================ */
.aomi-feature-list{display:flex;flex-direction:column;gap:40px;}
.aomi-feature-row{display:flex;gap:40px;align-items:center;}
.aomi-feature-row--reverse{flex-direction:row-reverse;}
.aomi-feature-row__photo{flex:0 0 440px;width:440px;height:300px;object-fit:cover;display:block;
  border-radius:22px;box-shadow:0 16px 38px rgba(36,67,132,.12);}
.aomi-feature-row__body{flex:1;}
.aomi-feature-row__num{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;
  border-radius:14px;background:var(--c-green);color:#fff;font-family:var(--f-en);font-weight:600;font-size:20px;margin-bottom:16px;}
.aomi-feature-row__title{font-size:25px;font-weight:700;color:var(--c-blue);margin:0 0 6px;}
.aomi-feature-row__lead{font-size:15px;font-weight:700;color:var(--c-green-d);margin:0 0 14px;}
.aomi-feature-row__text{font-size:15px;color:var(--tx);line-height:2.05;margin:0;}

/* ============================================================
 * 16. デイ 一日の流れ
 * ============================================================ */
.aomi-day-note{text-align:center;font-size:14px;color:var(--muted);margin:0 0 44px;}
.aomi-day-schedule{display:grid;grid-template-columns:1fr 1fr;gap:14px 48px;}
.aomi-day-schedule__item{display:flex;align-items:center;gap:18px;background:#f1f7e9;border-radius:14px;padding:15px 22px;}
.aomi-day-schedule__time{font-family:var(--f-en);font-weight:600;font-size:19px;color:var(--c-green-d);min-width:56px;}
.aomi-day-schedule__dot{width:8px;height:8px;border-radius:50%;background:var(--c-green);flex-shrink:0;}
.aomi-day-schedule__label{font-size:15px;color:var(--tx3);font-weight:500;}

/* デイ 無料体験CTA */
.aomi-trial{background:linear-gradient(120deg,#7eb454,#5f9637);border-radius:28px;padding:46px 54px;
  display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;
  box-shadow:0 18px 40px rgba(95,150,55,.28);}
.aomi-trial__tag{display:inline-block;background:rgba(255,255,255,.22);color:#fff;font-size:13px;
  font-weight:700;padding:6px 16px;border-radius:999px;margin-bottom:14px;}
.aomi-trial__title{font-size:28px;font-weight:700;color:#fff;margin:0 0 8px;}
.aomi-trial__text{font-size:15px;color:rgba(255,255,255,.92);margin:0;line-height:1.85;}
.aomi-trial__btn{flex-shrink:0;display:inline-flex;align-items:center;gap:9px;background:#fff;
  color:var(--c-green-d);font-weight:700;font-size:16px;padding:16px 34px;border-radius:999px;
  text-decoration:none;box-shadow:0 10px 24px rgba(0,0,0,.16);}

/* デイ ご利用案内2カラム */
.aomi-day-2col{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;}
.aomi-day-2col__head{font-size:24px;font-weight:700;color:var(--c-blue);margin:0 0 22px;display:flex;align-items:center;gap:10px;}
.aomi-day-2col__head .mark{width:6px;height:22px;border-radius:3px;background:var(--c-green);}
.aomi-day-office{margin-top:48px;}
.aomi-day-office .aomi-map-embed{margin-top:0;}
.aomi-spectable--day{border-radius:18px;}
.aomi-spectable--day .aomi-spectable__th{width:145px;background:#f1f7e9;padding:16px 20px;font-size:13px;}
.aomi-spectable--day .aomi-spectable__td{padding:16px 22px;}
.aomi-spectable--day2 .aomi-spectable__th{width:160px;background:#f1f7e9;padding:16px 20px;font-size:13px;}
.aomi-spectable--day2 .aomi-spectable__td{padding:16px 22px;}
.aomi-note{font-size:13px;color:var(--muted);margin:16px 4px 0;line-height:1.7;}

/* ============================================================
 * 17. ページ下部CTA帯（季節カラー）
 * ============================================================ */
.aomi-cta{padding:64px 0;}
.aomi-cta--aomi{background:linear-gradient(120deg,#3a8dd0,#244384);}
.aomi-cta--pink{background:linear-gradient(120deg,#eb9cb4,#d97a96);}
.aomi-cta--green{background:linear-gradient(120deg,#7eb454,#5f9637);}
.aomi-cta__title{font-size:28px;font-weight:700;color:#fff;margin:0 0 12px;}
.aomi-cta__text{font-size:15px;color:rgba(255,255,255,.9);margin:0 0 28px;line-height:1.9;}
.aomi-cta__btn{display:inline-flex;align-items:center;gap:9px;background:#fff;font-weight:700;font-size:16px;
  padding:16px 36px;border-radius:999px;text-decoration:none;box-shadow:0 10px 26px rgba(0,0,0,.18);}
.aomi-cta--aomi .aomi-cta__btn{color:var(--c-blue);}
.aomi-cta--pink .aomi-cta__btn{color:var(--c-pink-d);}
.aomi-cta--green .aomi-cta__btn{color:var(--c-green-d);}

/* ============================================================
 * 18. 情報開示 / お問い合わせ（info）
 * ============================================================ */
.aomi-info-sec{padding:78px 0 72px;}
.aomi-disclosure-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.aomi-pdf{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid rgba(36,67,132,.12);
  border-radius:14px;padding:18px 22px;text-decoration:none;transition:.2s;}
.aomi-pdf:hover{border-color:var(--c-aomi);box-shadow:0 8px 20px rgba(36,67,132,.08);}
.aomi-pdf__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;
  border-radius:11px;background:#f4f9fd;color:var(--c-aomi);}
.aomi-pdf__body{flex:1;}
.aomi-pdf__title{display:block;font-size:15px;font-weight:700;color:var(--c-blue);}
.aomi-pdf__ext{display:block;font-size:12px;color:var(--muted);margin-top:2px;}
.aomi-pdf__dl{flex-shrink:0;color:var(--c-aomi);display:flex;}

.aomi-contact-sec{background:var(--cream);padding:80px 0;}
.aomi-contact{display:grid;grid-template-columns:1.5fr 1fr;gap:36px;align-items:start;}
.aomi-contact--stack{display:flex;flex-direction:column;gap:28px;}
.aomi-formcard{background:#fff;border-radius:24px;padding:38px 40px;box-shadow:0 12px 34px rgba(36,67,132,.08);
  border:1px solid rgba(36,67,132,.06);}
.aomi-form__block{margin-bottom:26px;}
.aomi-form__label{display:block;font-size:14px;font-weight:700;color:var(--c-blue);margin-bottom:12px;}
.aomi-form__label--sm{font-size:13px;margin-bottom:7px;}
.aomi-form__req{color:#eb6b6b;font-size:12px;}
.aomi-form__req--xs{font-size:11px;}
.aomi-radios{display:flex;flex-wrap:wrap;gap:10px;}
.aomi-radio{font-family:inherit;font-size:14px;font-weight:700;padding:11px 18px;border-radius:999px;
  cursor:pointer;transition:.18s;background:#fff;color:var(--tx);border:1.5px solid rgba(36,67,132,.18);}
.aomi-radio:hover{border-color:var(--c-blue);color:var(--c-blue);}
.aomi-radio.is-active{background:var(--c-blue);color:#fff;border-color:var(--c-blue);}
.aomi-form__grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;}
.aomi-input{width:100%;padding:13px 15px;border:1.5px solid rgba(36,67,132,.16);border-radius:12px;
  font-size:14px;color:#2d3a52;outline:none;font-family:inherit;background:#fff;}
.aomi-input:focus{border-color:var(--c-blue);}
textarea.aomi-input{padding:14px 15px;resize:vertical;line-height:1.7;}
.aomi-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;background:var(--c-green);
  color:#fff;font-weight:700;font-size:16px;padding:17px;border:none;border-radius:14px;cursor:pointer;
  box-shadow:0 10px 24px rgba(126,180,84,.34);transition:transform .15s;font-family:inherit;}
.aomi-submit:hover{transform:translateY(-2px);}
.aomi-contact-side{display:flex;flex-direction:column;gap:16px;}
.aomi-tel-card{background:var(--c-blue);color:#fff;border-radius:20px;padding:28px;}
.aomi-tel-card h3{font-size:17px;font-weight:700;margin:0 0 16px;}
.aomi-tel-card__row{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.14);}
.aomi-tel-card__row:last-child{border-bottom:none;}
.aomi-tel-card__name{display:flex;align-items:center;gap:8px;margin-bottom:4px;}
.aomi-tel-card__name .dot{width:8px;height:8px;border-radius:50%;background:var(--tc,#3a8dd0);}
.aomi-tel-card__name.tc-aomi{--tc:#3a8dd0;}
.aomi-tel-card__name.tc-pink{--tc:#eb9cb4;}
.aomi-tel-card__name.tc-green{--tc:#7eb454;}
.aomi-tel-card__name span{font-size:13px;font-weight:500;}
.aomi-tel-card__num{font-family:var(--f-en);font-size:19px;font-weight:600;margin:0;letter-spacing:.02em;}
/* お電話でのお問い合わせ 3カラム・中央配置 */
.aomi-tel-card--row3{max-width:860px;margin-left:auto;margin-right:auto;text-align:center;}
.aomi-tel-card--row3 .aomi-tel-card__name{justify-content:center;}
.aomi-tel-card--row3 .aomi-tel-card__grid{display:grid;grid-template-columns:repeat(3,1fr);}
.aomi-tel-card--row3 .aomi-tel-card__row{padding:4px 28px;border-bottom:none;
  border-left:1px solid rgba(255,255,255,.18);}
.aomi-tel-card--row3 .aomi-tel-card__row:first-child{border-left:none;padding-left:0;}
.aomi-tel-card--row3 .aomi-tel-card__num{font-size:22px;}
.aomi-ig-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid rgba(36,67,132,.12);
  border-radius:20px;padding:22px 26px;text-decoration:none;transition:.2s;}
.aomi-ig-card:hover{box-shadow:0 8px 20px rgba(36,67,132,.08);}
.aomi-ig-card__icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;
  border-radius:14px;background:linear-gradient(135deg,#f9a13c,#e85d8a,#a64fc0);color:#fff;flex-shrink:0;}
.aomi-ig-card__name{display:block;font-size:15px;font-weight:700;color:var(--c-blue);}
.aomi-ig-card__id{display:block;font-size:13px;color:var(--muted);font-family:var(--f-en);}

/* ============================================================
 * 19. 採用ページ
 * ============================================================ */
.aomi-rc-msglabel{background:#fff;padding:60px 0 24px;}
.aomi-rc-msglabel__inner{text-align:center;}
.aomi-rc-msglabel img{height:56px;width:auto;display:inline-block;margin-bottom:8px;}
.aomi-rc-msglabel .en{font-family:var(--f-en);font-size:30px;font-weight:600;color:var(--c-aomi);letter-spacing:.08em;margin:6px 0 2px;}
.aomi-rc-msglabel .ja{font-size:15px;font-weight:700;color:var(--tx);letter-spacing:.1em;margin:0;}
.aomi-rc-msg{position:relative;background:var(--c-aomi);margin-top:96px;padding:0 0 64px;}
.aomi-rc-msg__photo{width:100%;height:440px;object-fit:cover;border-radius:28px;display:block;
  transform:translateY(-56px);box-shadow:0 22px 50px rgba(0,0,0,.16);}
.aomi-rc-msg__body{text-align:center;margin-top:-24px;}
.aomi-rc-msg__title{font-size:40px;font-weight:700;color:#fff;margin:0;line-height:1.55;text-shadow:0 1px 10px rgba(0,0,0,.08);}
.aomi-rc-msg__text{font-size:16px;color:#fff;line-height:2;margin:24px auto 0;max-width:850px;}
.aomi-rc-msg__wave{position:absolute;bottom:-1px;left:0;width:100%;line-height:0;}
.aomi-rc-msg__wave svg{width:100%;height:70px;display:block;}

.aomi-rc-points{background:#fff;padding:64px 0 24px;}
.aomi-rc-points__head{text-align:center;margin-bottom:44px;}
.aomi-rc-points__head h2{font-size:30px;font-weight:700;color:var(--c-blue);margin:0 0 6px;
  display:inline-flex;align-items:center;gap:14px;}
.aomi-rc-points__head .flower{color:var(--c-aomi);}
.aomi-rc-points__head .en{font-family:var(--f-en);font-size:13px;letter-spacing:.14em;color:var(--muted2);margin:6px 0 0;}
.aomi-rc-pgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.aomi-rc-pcard{background:#eef5fc;border:1px solid rgba(58,141,208,.22);border-radius:20px;padding:30px 32px;text-align:center;}
.aomi-rc-pcard__icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;
  border-radius:50%;background:#fff;color:var(--c-aomi);box-shadow:0 6px 16px rgba(58,141,208,.18);margin-bottom:16px;}
.aomi-rc-pcard h3{font-size:19px;font-weight:700;color:var(--c-recruit-d);margin:0 0 10px;}
.aomi-rc-pcard p{font-size:14px;color:var(--tx2);line-height:1.85;margin:0;}

.aomi-rc-jobnav{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.aomi-rc-jobnav__item{display:flex;flex-direction:column;gap:6px;background:#fff;
  border:1px solid rgba(36,67,132,.12);border-top:4px solid var(--jc,#5f9637);border-radius:16px;
  padding:20px 22px;text-decoration:none;transition:transform .2s,box-shadow .2s;}
.aomi-rc-jobnav__item:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(36,67,132,.1);}
.aomi-rc-jobnav__no{font-family:var(--f-en);font-size:13px;font-weight:600;color:var(--jc,#5f9637);}
.aomi-rc-jobnav__title{font-size:17px;font-weight:700;color:var(--c-blue);}
.aomi-rc-jobnav__pay{font-size:13px;color:var(--tx2);}
.jc-green{--jc:#5f9637;} .jc-aomi{--jc:#3a8dd0;}

.aomi-jobs{display:flex;flex-direction:column;gap:40px;}
.aomi-job{border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 10px 30px rgba(36,67,132,.06);}
.aomi-job__head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 32px;flex-wrap:wrap;
  background:var(--jbg,#7eb454);}
.aomi-job__head-l{display:flex;align-items:center;gap:16px;}
.aomi-job__no{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;
  background:rgba(255,255,255,.2);color:#fff;font-family:var(--f-en);font-weight:600;font-size:20px;}
.aomi-job__title{font-size:24px;font-weight:700;color:#fff;margin:0;}
.aomi-job__place{font-size:13px;color:rgba(255,255,255,.85);margin:4px 0 0;}
.aomi-job__pay{background:#fff;font-weight:700;font-size:15px;padding:9px 20px;border-radius:999px;white-space:nowrap;
  color:var(--jc2,#5f9637);}
.aomi-job--green{--jbg:#7eb454;--jc2:#5f9637;}
.aomi-job--aomi{--jbg:#3a8dd0;--jc2:#3a8dd0;}
.aomi-job__cols{display:grid;grid-template-columns:300px 1fr;gap:0;}
.aomi-job__meta{background:#f7f9fc;padding:30px;border-right:1px solid rgba(36,67,132,.08);}
.aomi-job__meta-item{padding:12px 0;border-bottom:1px dashed rgba(36,67,132,.14);}
.aomi-job__meta-item:last-child{border-bottom:none;}
.aomi-job__meta-label{font-size:12px;font-weight:700;margin:0 0 4px;letter-spacing:.04em;color:var(--jc2,#5f9637);}
.aomi-job__meta-val{font-size:14px;color:var(--tx3);line-height:1.7;margin:0;white-space:pre-line;}
.aomi-job__detail{padding:30px 34px;}
.aomi-job__group{margin-bottom:24px;}
.aomi-job__group h3{font-size:16px;font-weight:700;color:var(--c-blue);margin:0 0 12px;display:flex;align-items:center;gap:9px;}
.aomi-job__group h3 .mark{width:5px;height:17px;border-radius:3px;background:var(--jc2,#5f9637);}
.aomi-job__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px;}
.aomi-job__list li{font-size:14px;color:var(--tx);line-height:1.7;padding-left:22px;position:relative;}
.aomi-job__list li::before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:50%;background:var(--jc2,#5f9637);}
.aomi-job__msg{background:var(--cream);border-radius:14px;padding:18px 22px;margin-top:4px;}
.aomi-job__msg-label{font-size:13px;font-weight:700;color:var(--jc2,#5f9637);margin:0 0 6px;}
.aomi-job__msg p{font-size:14px;color:var(--tx);line-height:1.85;margin:0;}

/* ============================================================
 * 20. フッター
 * ============================================================ */
.aomi-footer{background:var(--c-blue);color:#fff;position:relative;overflow:hidden;}
.aomi-footer__wave{position:absolute;top:-40px;left:0;width:100%;height:60px;overflow:hidden;line-height:0;}
.aomi-footer__wave svg{width:100%;height:60px;display:block;}
.aomi-footer__inner{max-width:1200px;margin:0 auto;padding:72px 32px 0;position:relative;}
.aomi-footer__top{display:flex;justify-content:space-between;gap:48px;flex-wrap:wrap;}
.aomi-footer__brand{max-width:300px;}
.aomi-footer__logo{height:64px;width:auto;display:block;filter:brightness(0) invert(1);opacity:.96;margin-bottom:18px;}
.aomi-footer__en{font-family:var(--f-en);font-weight:600;font-size:18px;margin:0 0 4px;letter-spacing:.02em;}
.aomi-footer__name{font-size:14px;margin:0 0 16px;color:rgba(255,255,255,.75);}
.aomi-footer__addr{font-size:13px;line-height:1.9;color:rgba(255,255,255,.78);margin:0;}
.aomi-footer__ig{display:inline-flex;align-items:center;gap:8px;margin-top:20px;color:#fff;text-decoration:none;
  font-size:13px;border:1px solid rgba(255,255,255,.3);padding:8px 16px;border-radius:999px;}
.aomi-footer__ig:hover{background:rgba(255,255,255,.12);}
.aomi-footer__offices{flex:1;min-width:420px;}
.aomi-footer__offices-label{font-family:var(--f-en);font-size:13px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--c-green);margin:0 0 18px;font-weight:600;}
.aomi-footer__office{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:15px 0;
  border-bottom:1px solid rgba(255,255,255,.12);}
.aomi-footer__office-name{display:flex;align-items:center;gap:12px;min-width:230px;}
.aomi-footer__office-name .dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;background:var(--fc,#3a8dd0);}
.aomi-footer__office-name.fc-aomi{--fc:#3a8dd0;}
.aomi-footer__office-name.fc-pink{--fc:#eb9cb4;}
.aomi-footer__office-name.fc-green{--fc:#7eb454;}
.aomi-footer__office-name span{font-size:15px;font-weight:500;}
.aomi-footer__office-tel{font-size:13px;color:rgba(255,255,255,.78);flex:1;}
.aomi-footer__office-map{display:inline-flex;align-items:center;gap:5px;color:#fff;text-decoration:none;
  font-size:12px;white-space:nowrap;opacity:.85;}
.aomi-footer__office-map:hover{opacity:1;}
.aomi-footer__cta{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap;}
.aomi-footer__cta-btn{display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:14px;
  padding:13px 26px;border-radius:999px;text-decoration:none;}
.aomi-footer__cta-btn--fill{background:var(--c-green);font-weight:700;box-shadow:0 6px 16px rgba(0,0,0,.18);}
.aomi-footer__cta-btn--outline{background:transparent;font-weight:500;border:1px solid rgba(255,255,255,.3);}
.aomi-footer__nav{display:flex;flex-wrap:wrap;gap:6px 28px;margin-top:48px;padding-top:28px;
  border-top:1px solid rgba(255,255,255,.12);}
.aomi-footer__nav a{color:rgba(255,255,255,.8);text-decoration:none;font-size:13px;}
.aomi-footer__nav a:hover{color:#fff;}
.aomi-footer__copy{text-align:center;padding:28px 0 24px;font-size:12px;color:rgba(255,255,255,.5);
  font-family:var(--f-en);letter-spacing:.04em;}

/* ページトップ */
.aomi-pagetop{position:fixed;right:20px;bottom:20px;z-index:140;width:48px;height:48px;border-radius:50%;
  background:var(--c-blue);color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;
  opacity:0;visibility:hidden;transition:.3s;box-shadow:0 6px 16px rgba(36,67,132,.3);}
.aomi-pagetop.is-visible{opacity:1;visibility:visible;}
.aomi-pagetop:hover{background:var(--c-aomi);}

/* ============================================================
 * 20. CMSお問い合わせフォーム 送信ボタン（form-pattern-2 / サイトカラー）
 * ============================================================ */
.form-pattern-2 .submit-btn{
  color:#fff !important;
  background:var(--c-green) !important;
  border:1px solid var(--c-green) !important;
  border-image:initial !important;
  padding:14px 5px !important;
  margin:0 auto !important;
  width:250px !important;
  border-radius:999px !important;
  font-weight:700 !important;
  box-shadow:0 10px 24px rgba(126,180,84,.34) !important;
  transition:.2s !important;
}
.form-pattern-2 :not(.pattern-exclusion) button:hover{
  color:var(--c-green) !important;
  background:#fff !important;
}
.form-pattern-2 dd:not(.pattern-exclusion) .upload-msg button::before{
  background-color:var(--c-green) !important;
}
.form-pattern-2 .submit-btn::before{
  background-color:#fff !important;
}
.form-pattern-2 .submit-btn:hover::before{
  background-color:var(--c-green) !important;
}
.form-pattern-2 dl dt:not(.pattern-exclusion) span.required::before{
  content:'必須';
  color:#fff !important;
  background:#eb6b6b !important;
}

/* ============================================================
 * 21. 送信完了ページ（thanks）
 * ============================================================ */
.aomi-thanks{background:var(--cream);padding:70px 0 90px;}
.aomi-thanks__card{background:#fff;border-radius:24px;padding:56px 40px;text-align:center;
  max-width:720px;margin:0 auto;box-shadow:0 12px 34px rgba(36,67,132,.08);
  border:1px solid rgba(36,67,132,.06);}
.aomi-thanks__icon{display:inline-flex;align-items:center;justify-content:center;width:78px;height:78px;
  border-radius:50%;background:rgba(126,180,84,.14);color:var(--c-green);margin-bottom:24px;}
.aomi-thanks__title{font-size:24px;font-weight:700;color:var(--c-blue);margin:0 0 20px;}
.aomi-thanks__text{font-size:15px;color:var(--tx);line-height:2;margin:0 0 34px;}
.aomi-thanks__btn{display:inline-flex;align-items:center;gap:9px;background:var(--c-green);color:#fff;
  font-weight:700;font-size:16px;padding:15px 40px;border-radius:999px;text-decoration:none;
  box-shadow:0 10px 24px rgba(126,180,84,.34);transition:transform .15s;}
.aomi-thanks__btn:hover{transform:translateY(-2px);}
