@charset "UTF-8";
/*
 * ======================================
 * site.css — チアフルワークス サイト固有CSS
 * ======================================
 * 共通 main.css（NKB既定パレット＝オレンジ/ブルー）とは配色が全く異なる
 * ピンク系デザインのため、claude-design-output の見た目の値を site 固有クラス
 * （.cw- プレフィックス）で再現している。インラインスタイルは使用しない。
 *
 * 追加クラス一覧（共通SCSS取り込み検討用）
 * ------------------------------------------------------------------
 * .cw-header / .cw-nav / .cw-logo          - stickyヘッダー・テキストロゴ・下線ナビ
 * .cw-btn-line / -contact / -white / -ghost - ピル型CTAボタン各種（LINE緑固定含む）
 * .cw-eyebrow / .cw-sechead / .cw-bar      - Poppins英字ラベル＋日本語見出し＋黄色バー
 * .cw-cta / .cw-footer                     - 共通CTA帯・フッター
 * .cw-mv / .cw-worries / .cw-work / .cw-about / .cw-menu - TOP各セクション
 * .cw-pagehero                             - 下層ページヒーロー（グラデ背景＋円装飾）
 * .cw-strength / .cw-work-card             - サービスページ（縁取り数字）
 * .cw-flow / .cw-step                      - 利用の流れ（縦タイムライン＋STEP円）
 * .cw-outline / .cw-access / .cw-disclosure - 事業所概要
 * .cw-form / .cw-direct-*                   - お問い合わせフォーム・ダイレクトリンク
 *
 * ======================================
 * 共通SCSSに不足していたもの（5分類）
 * ======================================
 * ・装飾パターン不足：ドット背景(radial-gradient)、丸みのある角丸スクエア散らし、
 *   吹き出し(worry__tail)、二重インセット枠(work__reason)、縁取り数字(-webkit-text-stroke)
 * ・構造不足：MVの英日2コピー・イラスト2枚クロスフェード、A型の円グラフ両脇レイアウト
 * ・値の粒度不足：本デザインは Poppins/Noto Sans JP と固有hex中心のため専用トークン化
 * ・状態不足：カードhover(translateY+border色)、ナビhover(opacity)
 * ・指定方向不足：CTAイラストの左右下端固定配置
 */

/* ============ トークン ============ */
:root{
  --cw-accent:#E70051;   --cw-accent-dark:#B8003F;
  --cw-sub:#DA467A;      --cw-sub-deep:#DA2E72;
  --cw-pink-mid:#F3A9C2;
  --cw-main:#FEE9EE;
  --cw-text:#4A2C38;     --cw-text-mid:#6B5560;   --cw-text-light:#8a7580;
  --cw-yellow:#F7C24B;   --cw-yellow-soft:#FCE3B9;
  --cw-border:#F3D3DD;   --cw-border-2:#F3C6D3;   --cw-border-pink:#FBD5DF;
  --cw-line:#06C755;
}

/* ============ ベース ============ */
body{
  font-family:'Noto Sans JP',sans-serif;
  color:var(--cw-text);
  background:#fff;
  line-height:1.8;
  -webkit-font-smoothing:antialiased;
  letter-spacing:normal;
  /* main.css の body{overflow-x:hidden} を上書き。
     hidden は body をスクロールコンテナ化して sticky ヘッダーの追従を無効化するため、
     追従を壊さない clip に変更（横はみ出し抑止は維持）。 */
  overflow-x:clip;
}
a{color:var(--cw-accent);text-decoration:none;}
a:hover{color:var(--cw-accent-dark);}
.cw-page{min-width:1200px;background:#fff;}
.cw-en{font-family:'Poppins',sans-serif;}

/* ============ 見出し共通 ============ */
.cw-eyebrow{
  font-family:'Poppins',sans-serif;font-weight:700;font-size:13px;
  letter-spacing:.2em;color:var(--cw-sub);text-transform:uppercase;display:inline-block;
}
.cw-eyebrow--onaccent{color:#fff;opacity:.85;letter-spacing:.22em;}
.cw-sechead{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:40px;}
.cw-sechead__title{font-size:34px;font-weight:700;color:var(--cw-text);}
.cw-sechead__title--sm{font-size:32px;}
.cw-bar{display:block;width:46px;height:4px;border-radius:2px;background:var(--cw-yellow);}

/* ============ ボタン ============ */
.cw-btn-line{
  display:inline-flex;align-items:center;gap:8px;background:var(--cw-line);color:#fff;
  font-weight:700;font-size:16px;padding:15px 28px;border-radius:999px;text-decoration:none;
}
.cw-btn-line svg{fill:currentColor;}
.cw-btn-line:hover{color:#fff;}
.cw-btn-line--sm{font-size:13px;padding:10px 16px;box-shadow:0 5px 13px rgba(6,199,85,.28);}

.cw-btn-contact{
  display:inline-flex;align-items:center;gap:7px;background:var(--cw-accent);color:#fff;
  font-weight:700;font-size:13px;padding:10px 16px;border-radius:999px;
  box-shadow:0 5px 13px rgba(231,0,81,.28);text-decoration:none;white-space:nowrap;
}
.cw-btn-contact:hover{color:#fff;background:var(--cw-accent-dark);}

.cw-btn-white{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fff;
  color:var(--cw-accent);font-weight:700;font-size:16px;padding:15px 30px;border-radius:999px;text-decoration:none;
}
.cw-btn-white--sm{font-size:13px;padding:10px 18px;}

.cw-btn-ghost{
  display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.15);color:#fff;
  font-weight:700;font-size:16px;padding:15px 26px;border-radius:999px;
  border:1.5px solid rgba(255,255,255,.5);text-decoration:none;
}
.cw-btn-ghost:hover{color:#fff;}

/* ============ ヘッダー ============ */
.cw-header{
  position:sticky;top:0;z-index:101;background:rgba(255,255,255,.94);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  border-bottom:1px solid var(--cw-border);box-shadow:0 2px 14px rgba(218,70,122,.06);
}
.cw-header__inner{
  width:100%;margin:0;padding:12px 24px;
  display:flex;align-items:center;justify-content:flex-start;gap:26px;
}
.cw-logo{display:flex;flex-direction:column;line-height:1.1;text-decoration:none;flex-shrink:0;margin-right:6px;}
.cw-logo__ja{font-size:23px;font-weight:700;color:var(--cw-accent);letter-spacing:.01em;white-space:nowrap;}
.cw-logo__en{
  font-family:'Poppins',sans-serif;font-size:10px;font-weight:600;letter-spacing:.34em;
  color:var(--cw-sub);text-transform:uppercase;margin-top:3px;
}
.cw-nav{display:flex;align-items:stretch;gap:10px;margin-left:auto;}
.cw-nav__link{
  padding:10px 6px;color:var(--cw-text-mid);border-bottom:3px solid transparent;
  font-size:14px;font-weight:500;white-space:nowrap;text-decoration:none;
  display:flex;align-items:center;transition:opacity .2s,color .2s;
}
.cw-nav__link:hover{opacity:.7;color:var(--cw-text-mid);}
.cw-nav__link--current{color:var(--cw-accent);border-bottom-color:var(--cw-accent);}
.cw-header__right{display:flex;align-items:center;gap:14px;flex-shrink:0;white-space:nowrap;margin-left:6px;}
.cw-header__tel{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1;flex-shrink:0;text-decoration:none;color:var(--cw-text);}
.cw-header__tel-note{font-size:11px;color:var(--cw-text-light);letter-spacing:.04em;}
.cw-header__tel-num{
  display:flex;align-items:center;gap:6px;font-size:21px;font-weight:700;
  color:var(--cw-accent);font-family:'Poppins',sans-serif;white-space:nowrap;
}

/* ============ CTA帯 ============ */
.cw-cta{background:var(--cw-accent);padding:66px 28px;position:relative;overflow:hidden;}
.cw-cta__blob{position:absolute;bottom:-30px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.12);}
.cw-cta__blob--left{left:55px;}
.cw-cta__blob--right{right:55px;}
.cw-cta__ill{position:absolute;bottom:0;width:310px;pointer-events:none;}
.cw-cta__ill--left{left:20px;}
.cw-cta__ill--right{right:20px;}
.cw-cta__inner{position:relative;max-width:820px;margin:0 auto;text-align:center;color:#fff;}
.cw-cta__title{font-size:32px;font-weight:700;margin:10px 0 12px;color:#fff;}
.cw-cta__lead{font-size:16px;opacity:.95;margin-bottom:30px;}
.cw-cta__btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
/* 3ボタンの横幅を統一（最も広い「お問い合わせフォーム」に合わせる） */
.cw-cta__btns > a{width:250px;justify-content:center;}

/* ============ フッター ============ */
.cw-footer{background:var(--cw-sub);color:#fff;}
.cw-footer__inner{max-width:1200px;margin:0 auto;padding:56px 28px 30px;display:grid;grid-template-columns:1.1fr 1fr 1.3fr;gap:40px;}
.cw-footer__name{font-size:24px;font-weight:700;margin-bottom:2px;}
.cw-footer__en{font-family:'Poppins',sans-serif;font-size:10px;letter-spacing:.32em;opacity:.85;margin-bottom:18px;}
.cw-footer__addr{font-size:14px;line-height:1.9;opacity:.95;}
.cw-footer__tel{display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:24px;font-weight:700;font-family:'Poppins',sans-serif;margin-top:14px;text-decoration:none;}
.cw-footer__btns{display:flex;gap:10px;margin-top:18px;}
.cw-footer__heading{font-size:13px;font-weight:700;letter-spacing:.1em;opacity:.8;margin-bottom:16px;}
.cw-footer__nav{display:flex;flex-direction:column;gap:12px;}
.cw-footer__navlink{color:#fff;font-size:15px;display:flex;align-items:center;gap:8px;text-decoration:none;}
.cw-footer__navlink span{opacity:.6;}
.cw-footer__map{border-radius:16px;overflow:hidden;border:3px solid rgba(255,255,255,.25);}
.cw-footer__map iframe{display:block;border:0;}
.cw-footer__bottom{border-top:1px solid rgba(255,255,255,.2);}
.cw-footer__copy{max-width:1200px;margin:0 auto;padding:16px 28px;font-size:12px;opacity:.8;}

/* ============ ページトップボタン ============ */
.cw-pagetop{
  position:fixed;right:24px;bottom:24px;z-index:90;
  width:52px;height:52px;border-radius:50%;
  background:var(--cw-accent);color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 20px rgba(231,0,81,.3);
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity .3s ease,transform .3s ease,visibility .3s ease,background .2s ease;
}
.cw-pagetop.is-visible{opacity:1;visibility:visible;transform:translateY(0);}
.cw-pagetop:hover{background:var(--cw-accent-dark);color:#fff;}
.cw-pagetop svg{width:22px;height:22px;}

/* ============ TOP: メインビジュアル ============ */
.cw-mv{position:relative;overflow:hidden;background:#FDF2F5;}
/* 背景の4隅イラストあしらい（うっすら表示） */
.cw-mv__deco{position:absolute;z-index:0;background-repeat:no-repeat;background-size:contain;pointer-events:none;opacity:.6;}
.cw-mv__deco--tl{top:0;left:0;width:320px;height:254px;background-image:url('https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28373/deco_03.png');background-position:top left;}
.cw-mv__deco--br{bottom:0;right:0;width:320px;height:254px;background-image:url('https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28373/deco_04.png');background-position:bottom right;}
.cw-mv__deco--tr{top:0;right:0;width:420px;height:146px;background-image:url('https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28373/deco_01.png');background-position:top right;}
.cw-mv__deco--bl{bottom:0;left:0;width:420px;height:146px;background-image:url('https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28373/deco_02.png');background-position:bottom left;}
.cw-mv__inner{position:relative;z-index:2;max-width:1100px;margin:0 auto;padding:66px 28px 74px;display:grid;grid-template-columns:1.08fr 1fr;gap:16px;align-items:center;}
.cw-mv__badge{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--cw-border-2);color:var(--cw-sub);font-weight:700;font-size:13px;padding:7px 16px;border-radius:999px;margin-bottom:22px;}
.cw-mv__badge-dot{width:8px;height:8px;border-radius:50%;background:var(--cw-accent);}
.cw-mv__copywrap{position:relative;min-height:200px;}
.cw-mv__copy{position:absolute;top:0;left:0;width:100%;opacity:0;transition:opacity .7s ease;}
.cw-mv__copy--lead{position:relative;}
.cw-mv__copy.is-active{opacity:1;}
.cw-mv__h1{font-size:40px;font-weight:700;line-height:2.1;color:var(--cw-text);letter-spacing:.01em;}
.cw-mv__mark{padding:0 13px;border-radius:10px;display:inline-block;margin:6px 0;color:#fff;line-height:1.5;}
.cw-mv__mark--a{background:var(--cw-accent);}
.cw-mv__mark--b{background:var(--cw-pink-mid);}
.cw-mv__sub{font-size:21px;font-weight:700;color:var(--cw-sub);margin-top:20px;}
.cw-mv__nav{display:flex;gap:8px;margin:20px 0 26px;}
.cw-mv__dot{height:10px;width:10px;border-radius:999px;border:none;cursor:pointer;padding:0;transition:all .3s;background:var(--cw-border-2);}
.cw-mv__dot.is-active{width:26px;background:var(--cw-accent);}
.cw-mv__note{font-size:15px;color:var(--cw-text-mid);max-width:520px;}
.cw-mv__note b{color:var(--cw-text);}
.cw-mv__ills{position:relative;height:430px;}
.cw-mv__img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;transition:opacity .8s ease;opacity:0;}
.cw-mv__img.is-active{opacity:1;}

/* ============ TOP: お悩み共感 ============ */
.cw-worries{background:#fff;padding:80px 28px;}
.cw-worries__inner{max-width:1100px;margin:0 auto;}
.cw-worries__grid{display:grid;grid-template-columns:360px 1fr;gap:44px;align-items:center;margin-top:8px;}
.cw-worries__illwrap{position:relative;display:flex;justify-content:center;align-items:center;}
.cw-worries__circle{position:absolute;z-index:0;width:300px;height:300px;border-radius:50%;background:var(--cw-border-pink);opacity:.28;}
.cw-worries__ill{position:relative;z-index:1;width:100%;max-width:330px;}
.cw-worries__list{display:flex;flex-direction:column;gap:16px;}
.cw-worry{position:relative;background:#fff;border:2px solid var(--cw-border-2);border-radius:18px;padding:16px 24px;box-shadow:0 8px 20px rgba(218,70,122,.08);display:flex;align-items:center;gap:16px;}
.cw-worry--indent{margin-left:36px;}
.cw-worry__tail{position:absolute;left:-9px;top:24px;width:16px;height:16px;background:#fff;border-left:2px solid var(--cw-border-2);border-bottom:2px solid var(--cw-border-2);transform:rotate(45deg);}
.cw-worry__icon{flex-shrink:0;width:46px;height:46px;border-radius:50%;background:var(--cw-main);display:flex;align-items:center;justify-content:center;color:var(--cw-sub);}
.cw-worry__text{font-size:17px;font-weight:700;color:var(--cw-text);line-height:1.6;}
.cw-worries__msg{margin-top:44px;background:linear-gradient(135deg,#E70051,#DA467A);border-radius:28px;padding:18px 40px;color:#fff;display:flex;align-items:center;justify-content:center;gap:40px;overflow:hidden;}
.cw-worries__msg-text{font-size:22px;font-weight:700;line-height:1.8;flex:0 1 auto;}
.cw-uline{background:linear-gradient(transparent 60%,rgba(255,255,255,.4) 60%);}
.cw-worries__msg-img{flex-shrink:0;width:228px;background:#fff;border-radius:22px;padding:10px;}
.cw-worries__msg-img img{display:block;width:100%;border-radius:14px;}

/* ============ TOP: 多様な働き方 ============ */
.cw-work{background:#FFF3F6;padding:80px 28px 90px;position:relative;overflow:hidden;}
.cw-work__dots{position:absolute;inset:0;background-image:radial-gradient(#F7D6DF 1.4px,transparent 1.4px);background-size:24px 24px;opacity:.4;}
.cw-work__inner{position:relative;max-width:1140px;margin:0 auto;}
.cw-work__head{text-align:center;margin-bottom:40px;}
.cw-work__title{font-size:34px;font-weight:700;color:var(--cw-text);margin-bottom:16px;}
.cw-work__lead{font-size:15px;color:var(--cw-text-mid);line-height:2;}
.cw-work__cards{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:900px;margin:0 auto;}
.cw-work__card{border-radius:28px;padding:34px 0 30px;text-align:center;color:#fff;}
.cw-work__card--a{background:var(--cw-pink-mid);box-shadow:0 12px 28px rgba(218,70,122,.2);text-shadow:0 2px 6px rgba(150,20,70,.35);}
.cw-work__card--b{background:var(--cw-sub-deep);box-shadow:0 12px 28px rgba(218,70,122,.28);text-shadow:0 2px 6px rgba(120,10,55,.4);}
.cw-work__card-sm{font-size:20px;font-weight:700;opacity:.95;}
.cw-work__card-lg{font-size:40px;font-weight:700;line-height:1.25;letter-spacing:.02em;}
.cw-work__card-note{font-size:19px;font-weight:700;margin-top:14px;}
.cw-work__row{display:grid;grid-template-columns:230px 1fr 230px;align-items:center;gap:16px;max-width:1000px;margin:8px auto 0;}
.cw-work__row img{width:100%;display:block;}
.cw-work__reasons{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.cw-work__reason{background:var(--cw-sub-deep);color:#fff;border-radius:16px;padding:26px 18px;text-align:center;font-size:15px;font-weight:700;line-height:1.5;box-shadow:0 6px 16px rgba(218,70,122,.18), inset 0 0 0 9px #DA2E72, inset 0 0 0 11px rgba(255,255,255,.9);}
.cw-work__reason span{font-size:20px;}

/* ============ TOP: A型とは ============ */
.cw-about{padding:80px 28px 88px;background:#fff;}
.cw-about__inner{max-width:1100px;margin:0 auto;}
.cw-about__role-label{text-align:center;font-size:22px;font-weight:700;color:var(--cw-text);margin-bottom:38px;}
.cw-about__diagram{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:4px;}
.cw-about__side{display:flex;flex-direction:column;align-items:center;gap:6px;}
.cw-about__pill{color:#fff;border-radius:999px;width:190px;padding:20px 0;text-align:center;line-height:1.3;}
.cw-about__pill--a{background:var(--cw-pink-mid);box-shadow:0 8px 20px rgba(218,70,122,.16);}
.cw-about__pill--b{background:var(--cw-sub-deep);box-shadow:0 8px 20px rgba(218,70,122,.22);}
.cw-about__pill-big{font-size:30px;font-weight:700;display:block;}
.cw-about__pill-small{font-size:17px;font-weight:700;}
.cw-about__side img{width:210px;display:block;}
.cw-about__graph{width:430px;max-width:44vw;display:block;}
.cw-about__box{max-width:990px;margin:24px auto 0;background:var(--cw-main);border-radius:20px;padding:44px 48px;text-align:center;}
.cw-about__box-title{display:inline-block;background:#fff;color:var(--cw-sub-deep);font-size:24px;font-weight:700;padding:10px 30px;border-radius:8px;margin-bottom:22px;}
.cw-about__box-text{font-size:16px;color:var(--cw-text);line-height:2;margin-bottom:8px;}
.cw-about__box-note{font-size:13px;color:var(--cw-text-light);}

/* ============ TOP: もっと知る ============ */
.cw-menu{padding:20px 28px 88px;background:#FFF8FA;}
.cw-menu__inner{max-width:1100px;margin:0 auto;}
.cw-menu__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:8px;}
.cw-card-guide{text-align:left;background:#fff;border:1px solid var(--cw-border);border-radius:24px;padding:30px 28px;box-shadow:0 10px 26px rgba(218,70,122,.07);display:flex;flex-direction:column;gap:12px;text-decoration:none;transition:transform .2s,border-color .2s;}
.cw-card-guide:hover{border-color:var(--cw-accent);transform:translateY(-4px);}
.cw-card-guide__head{display:flex;align-items:center;gap:16px;}
.cw-card-guide__headings{display:flex;flex-direction:column;gap:4px;}
.cw-card-guide__icon{flex-shrink:0;width:56px;height:56px;border-radius:16px;background:var(--cw-main);display:flex;align-items:center;justify-content:center;color:var(--cw-accent);}
.cw-card-guide__en{font-family:'Poppins',sans-serif;font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--cw-sub);text-transform:uppercase;}
.cw-card-guide__title{font-size:20px;font-weight:700;color:var(--cw-text);}
.cw-card-guide__desc{font-size:14px;color:var(--cw-text-mid);line-height:1.7;}
.cw-card-guide__more{color:var(--cw-accent);font-weight:700;font-size:14px;margin-top:4px;}

/* ============ 下層: ページヒーロー ============ */
.cw-pagehero{background:linear-gradient(180deg,#FEE9EE,#FFF8FA);padding:60px 28px 50px;text-align:center;position:relative;overflow:hidden;}
.cw-pagehero::before,
.cw-pagehero::after{content:"";position:absolute;top:0;bottom:0;width:100%;background-repeat:no-repeat;background-size:min(600px,42vw) auto;pointer-events:none;z-index:0;}
.cw-pagehero::before{right:0;background-image:url('https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28373/deco_01.png');background-position:top right;}
.cw-pagehero::after{left:0;background-image:url('https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28373/deco_02.png');background-position:bottom left;}
.cw-pagehero__inner{position:relative;z-index:1;}
.cw-pagehero__eyebrow{font-family:'Poppins',sans-serif;font-weight:700;font-size:14px;letter-spacing:.24em;color:var(--cw-sub);text-transform:uppercase;}
.cw-pagehero__title{font-size:38px;font-weight:700;color:var(--cw-text);margin:8px 0 10px;}
.cw-pagehero .cw-bar{display:inline-block;margin:0 auto;}
.cw-pagehero__lead{font-size:15px;color:var(--cw-text-mid);margin-top:16px;}

/* ============ 下層セクション枠 ============ */
.cw-sec{padding:76px 28px;}
.cw-sec--white{background:#fff;}
.cw-sec--pink{background:#FFF8FA;}
.cw-sec--access{padding:0 28px 70px;background:#fff;}
.cw-sec--disclosure{padding:0 28px 84px;background:#fff;}

/* ============ サービス: 特徴 ============ */
.cw-strengths{max-width:1080px;margin:0 auto;}
.cw-strengths__list{display:flex;flex-direction:column;margin-top:8px;}
.cw-strength{display:grid;grid-template-columns:auto 1fr 400px;gap:32px;align-items:center;padding:44px 4px;}
.cw-strength--bordered{border-top:2px solid var(--cw-border-2);}
.cw-strength__no{font-family:'Poppins',sans-serif;font-size:76px;font-weight:700;line-height:1;color:transparent;-webkit-text-stroke:2px var(--cw-sub);padding-right:30px;border-right:3px solid var(--cw-sub);}
.cw-strength__title{font-size:28px;font-weight:700;color:var(--cw-sub-deep);line-height:1.45;margin-bottom:18px;}
.cw-strength__desc{font-size:16px;color:var(--cw-text-mid);line-height:1.9;max-width:440px;}
.cw-strength__img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:14px;display:block;}

/* ============ サービス: お仕事内容 ============ */
.cw-works{max-width:1080px;margin:0 auto;}
.cw-works__wrap{position:relative;max-width:940px;margin:8px auto 0;}
.cw-works__ill{position:absolute;width:200px;pointer-events:none;}
.cw-works__ill--l{left:-150px;top:340px;}
.cw-works__ill--r{right:-150px;top:-40px;}
.cw-works__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;}
.cw-work-card{background:#fff;border:2px solid var(--cw-pink-mid);border-radius:18px;padding:32px 30px 36px;text-align:center;min-height:230px;display:flex;flex-direction:column;align-items:center;}
.cw-work-card__no{font-family:'Poppins',sans-serif;font-size:52px;font-weight:700;line-height:1;color:transparent;-webkit-text-stroke:2px var(--cw-sub);margin-bottom:12px;}
.cw-work-card__title{font-size:23px;font-weight:700;color:var(--cw-sub-deep);line-height:1.5;margin-bottom:14px;}
.cw-work-card__desc{font-size:15px;color:var(--cw-text-mid);line-height:1.8;}
.cw-works__outro{margin-top:44px;text-align:center;font-size:20px;font-weight:700;color:var(--cw-sub-deep);line-height:2;}

/* ============ 利用の流れ ============ */
.cw-flow{max-width:840px;margin:0 auto;}
.cw-flow__timeline{position:relative;margin-top:12px;}
.cw-flow__line{position:absolute;left:39px;top:20px;bottom:20px;width:3px;background:#FBD5DF;border-radius:2px;}
.cw-flow__list{display:flex;flex-direction:column;gap:26px;}
.cw-step{position:relative;display:flex;align-items:flex-start;gap:26px;}
.cw-step__circle{flex-shrink:0;width:80px;height:80px;border-radius:50%;background:#fff;border:3px solid var(--cw-accent);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1;box-shadow:0 6px 16px rgba(231,0,81,.16);}
.cw-step__label{font-family:'Poppins',sans-serif;font-size:10px;font-weight:600;color:var(--cw-sub);letter-spacing:.1em;}
.cw-step__no{font-family:'Poppins',sans-serif;font-size:26px;font-weight:700;color:var(--cw-accent);line-height:1;}
.cw-step__body{flex:1;background:#FFF8FA;border:1px solid var(--cw-border);border-radius:20px;padding:22px 28px;box-shadow:0 8px 20px rgba(218,70,122,.05);}
.cw-step__head{display:flex;align-items:center;gap:12px;margin-bottom:6px;}
.cw-step__icon{width:40px;height:40px;border-radius:11px;background:var(--cw-main);display:flex;align-items:center;justify-content:center;color:var(--cw-accent);}
.cw-step__title{font-size:21px;font-weight:700;color:var(--cw-text);}
.cw-step__desc{font-size:15px;color:var(--cw-text-mid);}

/* ============ 事業所概要 ============ */
.cw-outline{max-width:900px;margin:0 auto;}
.cw-outline__table{border:1px solid var(--cw-border);border-radius:22px;overflow:hidden;box-shadow:0 10px 26px rgba(218,70,122,.06);margin-top:8px;}
.cw-outline__row{display:flex;align-items:stretch;}
.cw-outline__row + .cw-outline__row{border-top:1px solid var(--cw-border);}
.cw-outline__th{width:220px;flex-shrink:0;background:#FFF8FA;padding:20px 26px;font-weight:700;color:var(--cw-sub);font-size:15px;}
.cw-outline__td{padding:20px 26px;font-size:15px;color:var(--cw-text);}
.cw-access{max-width:900px;margin:0 auto;}
.cw-access__title{font-size:20px;font-weight:700;color:var(--cw-text);margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.cw-access__title span{width:8px;height:22px;background:var(--cw-accent);border-radius:4px;}
.cw-access__map{border-radius:20px;overflow:hidden;border:1px solid var(--cw-border);box-shadow:0 10px 26px rgba(218,70,122,.06);}
.cw-access__map iframe{display:block;border:0;}
.cw-disclosure{max-width:900px;margin:0 auto;border-top:1px solid var(--cw-border);padding-top:28px;}
.cw-disclosure__label{font-size:13px;color:var(--cw-text-light);margin-bottom:14px;}
.cw-disclosure__links{display:flex;gap:12px;flex-wrap:wrap;}
.cw-disclosure__link{display:inline-flex;align-items:center;gap:8px;background:#FFF8FA;border:1px solid var(--cw-border);color:var(--cw-text-mid);font-size:13px;padding:10px 16px;border-radius:12px;text-decoration:none;}

/* ============ お問い合わせ ============ */
.cw-contact{padding:70px 28px 90px;background:#FFF8FA;}
.cw-contact__inner{max-width:1040px;margin:0 auto;display:flex;flex-direction:column;gap:24px;}
.cw-formbox{background:#fff;border:1px solid var(--cw-border);border-radius:26px;padding:38px 40px;box-shadow:0 12px 30px rgba(218,70,122,.08);}
.cw-form__intro{font-size:14px;color:var(--cw-text-mid);margin-bottom:24px;}
.cw-form__intro b{color:var(--cw-text);}
.cw-form__group{margin-bottom:20px;}
.cw-form__label{display:block;font-weight:700;font-size:14px;color:var(--cw-text);margin-bottom:8px;}
.cw-form__req{color:var(--cw-accent);}
.cw-form__radios{display:flex;flex-direction:column;gap:10px;}
.cw-form__radio{display:flex;align-items:center;gap:12px;border:1.5px solid var(--cw-border);border-radius:14px;padding:14px 18px;cursor:pointer;font-size:15px;color:var(--cw-text);}
.cw-form__radio input{accent-color:var(--cw-accent);width:18px;height:18px;}
.cw-form__cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.cw-form__field{margin-bottom:16px;}
.cw-form__field--msg{margin-bottom:26px;}
.cw-form__field-label{display:block;font-weight:700;font-size:14px;color:var(--cw-text);margin-bottom:6px;}
.cw-form input:not([type=radio]):not([type=checkbox]),.cw-form textarea{width:100%;border:1.5px solid var(--cw-border);border-radius:12px;padding:12px 14px;font-size:15px;font-family:inherit;background:#fff;color:var(--cw-text);}
.cw-form textarea{resize:vertical;}
.cw-form input:focus,.cw-form textarea:focus{border-color:var(--cw-accent);outline:none;}
.cw-form__submit{width:100%;background:var(--cw-accent);color:#fff;font-weight:700;font-size:17px;padding:17px;border-radius:999px;border:none;cursor:pointer;box-shadow:0 8px 20px rgba(231,0,81,.3);}
.cw-directs{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.cw-direct-line{background:var(--cw-line);border-radius:22px;padding:28px;color:#fff;text-align:center;}
.cw-direct-line__icon{display:inline-flex;margin-bottom:8px;}
.cw-direct-line__icon svg{fill:currentColor;}
.cw-direct-line__title{font-size:18px;font-weight:700;margin-bottom:4px;}
.cw-direct-line__text{font-size:13px;opacity:.9;margin-bottom:16px;}
.cw-direct-line__btn{display:block;background:#fff;color:var(--cw-line);font-weight:700;padding:13px;border-radius:999px;text-decoration:none;}
.cw-direct-tel{background:#fff;border:1px solid var(--cw-border);border-radius:22px;padding:28px;text-align:center;display:flex;flex-direction:column;justify-content:center;}
.cw-direct-tel__label{font-size:14px;color:var(--cw-text-mid);margin-bottom:4px;}
.cw-direct-tel__num{display:flex;align-items:center;justify-content:center;gap:8px;font-size:30px;font-weight:700;color:var(--cw-accent);font-family:'Poppins',sans-serif;text-decoration:none;}
.cw-direct-tel__note{font-size:13px;color:var(--cw-text-light);margin-top:6px;}
.cw-thanks{text-align:center;padding:40px 10px;}
.cw-thanks__icon{width:76px;height:76px;margin:0 auto 18px;border-radius:50%;background:var(--cw-main);display:flex;align-items:center;justify-content:center;color:var(--cw-accent);}
.cw-thanks__title{font-size:24px;font-weight:700;color:var(--cw-text);margin-bottom:8px;}
.cw-thanks__text{color:var(--cw-text-mid);}
.cw-thanks__actions{display:flex;justify-content:center;margin-top:8px;}
.cw-thanks__home{font-size:15px;padding:14px 34px;}
.cw-contact__inner--narrow{max-width:720px;}

/* ============ フォームCMS（design_pattern=2）の見た目上書き ============ */
/* CMS側が独自CSSを出力するため、サイトのデザインに合わせて !important で上書きする */
.cw-formbox .submit-btn,
.form-pattern-2 .submit-btn{
  display:block !important;
  margin:12px auto 0 !important;
  min-width:280px !important;
  width:auto !important;
  background:var(--cw-accent) !important;
  color:#fff !important;
  font-family:inherit !important;
  font-weight:700 !important;
  font-size:17px !important;
  line-height:1.4 !important;
  padding:17px 40px !important;
  border:none !important;
  border-radius:999px !important;
  cursor:pointer !important;
  box-shadow:0 8px 20px rgba(231,0,81,.3) !important;
  transition:background .2s ease !important;
}
.cw-formbox .submit-btn:hover,
.form-pattern-2 .submit-btn:hover{background:var(--cw-accent-dark) !important;}

/* 「必須」バッジをサイトのアクセントカラーに */
.form-pattern-2 dl dt:not(.pattern-exclusion) span.required::before{
  color:#fff !important;
  background:var(--cw-accent) !important;
}

/* 送信ボタンの装飾/ホバー塗り（::before） */
.form-pattern-2 .submit-btn::before{
  background-color:#fff !important;
}
.form-pattern-2 .submit-btn:hover::before{
  background-color:#fff !important;
}

/* ==========================================================================
 * レスポンシブ対応（スタンダードプラン）
 * --------------------------------------------------------------------------
 * .cw- デザインは元々PC固定（.cw-page{min-width:1200px}）だったため、
 * ここでスマホ／タブレット表示を追加する。装飾のはみ出しは html の
 * overflow-x:clip で抑止（clip はスクロールコンテナを作らないため
 * sticky ヘッダーに影響しない）。
 * ========================================================================== */
html{overflow-x:clip;}
img{max-width:100%;}
/* スマホ限定の改行（PCでは無効） */
.cw-spbr{display:none;}

/* ---- ハンバーガー / ドロワー（PCでは非表示） ---- */
.cw-hamburger{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:44px;height:44px;margin-left:auto;padding:9px;
  border:none;background:transparent;cursor:pointer;
}
.cw-hamburger__bar{display:block;width:100%;height:2px;border-radius:2px;background:var(--cw-accent);transition:transform .3s ease,opacity .2s ease;}
.cw-hamburger.is-open .cw-hamburger__bar:nth-child(1){transform:translateY(7px) rotate(45deg);}
.cw-hamburger.is-open .cw-hamburger__bar:nth-child(2){opacity:0;}
.cw-hamburger.is-open .cw-hamburger__bar:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.cw-drawer{
  display:none;position:fixed;top:0;right:0;z-index:100;
  flex-direction:column;gap:22px;
  width:min(82vw,320px);height:100vh;height:100dvh;
  padding:84px 24px 32px;background:#fff;
  box-shadow:-8px 0 26px rgba(218,70,122,.18);
  transform:translateX(100%);transition:transform .3s ease;
  overflow-y:auto;
}
.cw-drawer.is-open{transform:translateX(0);}
.cw-drawer__nav{display:flex;flex-direction:column;}
.cw-drawer__link{padding:15px 4px;font-size:16px;font-weight:700;color:var(--cw-text);border-bottom:1px solid var(--cw-border);text-decoration:none;}
.cw-drawer__link--current{color:var(--cw-accent);}
.cw-drawer__foot{display:flex;flex-direction:column;gap:6px;}
.cw-drawer__tel{display:inline-flex;align-items:center;gap:8px;font-size:24px;font-weight:700;color:var(--cw-accent);font-family:'Poppins',sans-serif;text-decoration:none;}
.cw-drawer__telnote{font-size:12px;color:var(--cw-text-light);}
.cw-drawer__btns{display:flex;flex-direction:column;gap:10px;margin-top:10px;}
.cw-drawer__btns > a{width:100%;justify-content:center;}
.cw-drawer__overlay{display:none;position:fixed;inset:0;z-index:99;background:rgba(74,44,56,.5);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;}
.cw-drawer__overlay.is-open{opacity:1;visibility:visible;}
body.cw-noscroll{overflow:hidden;}

/* ==================== タブレット／スマホ（〜896px） ==================== */
@media (max-width:896px){
  .cw-page{min-width:0;}

  /* ヘッダー: デスクトップナビを隠してハンバーガー化 */
  .cw-nav,
  .cw-header__right{display:none;}
  .cw-header__inner{padding:12px 18px;gap:12px;}
  .cw-hamburger{display:flex;}
  .cw-drawer{display:flex;}
  .cw-drawer__overlay{display:block;}

  /* 見出し・セクション余白 */
  .cw-sechead{margin-bottom:28px;}
  .cw-sechead__title,.cw-sechead__title--sm,.cw-work__title{font-size:26px;}
  .cw-worries{padding:48px 18px;}
  .cw-work{padding:48px 18px 54px;}
  .cw-about{padding:48px 18px 54px;}
  .cw-menu{padding:16px 18px 54px;}
  .cw-sec{padding:48px 18px;}
  .cw-sec--access{padding:0 18px 48px;}
  .cw-sec--disclosure{padding:0 18px 54px;}

  /* MV */
  .cw-mv__inner{grid-template-columns:1fr;gap:10px;padding:40px 18px 48px;max-width:560px;}
  .cw-mv__h1{font-size:30px;line-height:1.7;}
  .cw-mv__copywrap{min-height:150px;}
  .cw-mv__sub{font-size:18px;}
  .cw-mv__note{font-size:14px;max-width:none;}
  .cw-mv__ills{height:300px;}
  .cw-mv__deco--tl,.cw-mv__deco--br{width:150px;height:120px;}
  .cw-mv__deco--tr,.cw-mv__deco--bl{width:200px;height:70px;}

  /* お悩み共感 */
  .cw-worries__grid{grid-template-columns:1fr;gap:24px;}
  /* スマホ時はイラストを約半分に（背景円も比例して縮小） */
  .cw-worries__illwrap{max-width:140px;margin:0 auto;}
  .cw-worries__circle{width:150px;height:150px;}
  .cw-worry--indent{margin-left:0;}
  .cw-worries__msg{flex-direction:column;gap:20px;padding:28px 24px;text-align:center;margin-top:32px;}
  .cw-worries__msg-text{font-size:18px;}
  .cw-worries__msg-img{width:180px;}

  /* 多様な働き方 */
  .cw-work__cards{grid-template-columns:1fr;gap:18px;max-width:420px;}
  .cw-work__card-lg{font-size:32px;}
  .cw-work__row{grid-template-columns:1fr;gap:18px;max-width:420px;}
  .cw-work__row > img{display:none;}
  .cw-work__reasons{grid-template-columns:1fr 1fr;}

  /* A型とは */
  .cw-about__role-label{margin-bottom:24px;}
  /* グラフを上部に全幅、訓練/お仕事を約半分サイズで2カラム横並び */
  .cw-about__diagram{grid-template-columns:1fr 1fr;grid-template-areas:"graph graph" "side-a side-b";gap:18px 12px;align-items:start;justify-items:center;}
  .cw-about__graph{grid-area:graph;width:100%;max-width:320px;}
  .cw-about__side{grid-area:side-a;flex-direction:column;gap:8px;}
  .cw-about__side:last-of-type{grid-area:side-b;}
  .cw-about__pill{width:104px;padding:10px 0;}
  .cw-about__pill-big{font-size:17px;}
  .cw-about__pill-small{font-size:12px;}
  .cw-about__side img{width:104px;}
  /* スマホ限定：改行有効化・注記左寄せ・フッターナビ非表示・A型見出しを1行に */
  .cw-spbr{display:inline;}
  .cw-work__lead{text-align:left;}
  .cw-footer__col--menu{display:none;}
  .cw-about__box-title{font-size:15px;padding:8px 16px;white-space:nowrap;}
  .cw-about__box{padding:30px 22px;}
  .cw-about__box-text{font-size:15px;text-align:left;}

  /* もっと知る */
  .cw-menu__grid{grid-template-columns:1fr;gap:16px;}

  /* CTA帯 */
  .cw-cta{padding:48px 20px;}
  .cw-cta__ill,.cw-cta__blob{display:none;}
  .cw-cta__title{font-size:24px;}
  .cw-cta__btns > a{width:100%;max-width:320px;}

  /* フッター */
  .cw-footer__inner{grid-template-columns:1fr;gap:30px;padding:40px 22px 24px;}
  .cw-footer__copy{padding:16px 22px;}

  /* ページヒーロー */
  .cw-pagehero{padding:44px 18px 36px;}
  .cw-pagehero__title{font-size:28px;}

  /* サービス: 特徴 */
  .cw-strength{grid-template-columns:auto 1fr;gap:16px 20px;padding:28px 2px;}
  .cw-strength__img{grid-column:1 / -1;width:100%;}
  .cw-strength__no{font-size:52px;padding-right:18px;}
  .cw-strength__title{font-size:22px;margin-bottom:10px;}
  .cw-strength__desc{font-size:15px;}

  /* サービス: お仕事内容 */
  .cw-works__ill{display:none;}
  .cw-works__grid{grid-template-columns:1fr;gap:18px;}
  .cw-work-card{min-height:0;padding:26px 22px 28px;}
  .cw-works__outro{font-size:17px;margin-top:32px;}

  /* 事業所概要 */
  .cw-outline__row{flex-direction:column;}
  .cw-outline__th{width:100%;padding:14px 20px 4px;}
  .cw-outline__td{padding:4px 20px 16px;}

  /* お問い合わせ */
  .cw-contact{padding:44px 18px 60px;}
  .cw-directs{grid-template-columns:1fr;gap:14px;}
  .cw-formbox{padding:26px 22px;}
  .cw-form__cols{grid-template-columns:1fr;}
}

/* ==================== 狭いスマホ（〜599px） ==================== */
@media (max-width:599px){
  .cw-sechead__title,.cw-sechead__title--sm,.cw-work__title,.cw-pagehero__title{font-size:23px;}
  .cw-mv__h1{font-size:25px;}
  .cw-mv__ills{height:230px;}
  .cw-work__reasons{grid-template-columns:1fr;}
  .cw-about__side{flex-direction:column;}
  .cw-strength{grid-template-columns:1fr;gap:12px;text-align:left;}
  .cw-strength__no{border-right:none;padding-right:0;}
  .cw-footer__tel,.cw-direct-tel__num{font-size:22px;}

  /* 利用の流れ */
  .cw-step{gap:14px;}
  .cw-step__circle{width:64px;height:64px;}
  .cw-flow__line{left:31px;}
  .cw-step__body{padding:16px 18px;}
  .cw-step__title{font-size:18px;}
}
