/* ==========================================================================
   /service/「ジネコのサービス」専用スタイル
   --------------------------------------------------------------------------
   aio-about.css と同じ設計方針:
     - 全ルールを .aio-service 配下にスコープ（テーマ / Bootstrap を壊さない）
     - グローバルリセットは持ち込まず、必要な打ち消しだけ局所的に当てる
     - ヘッダー / フッターは aio-common.css が担当するのでここには含めない
   カードは3階層:
     .svc-card.major  主要サービス（画像 + 説明 + CTA）
     .svc-card.minor  便利に使えるサービス（小カード・画像なし）
     .svc-chip        ちょっとしたコンテンツ（タイトルのみのチップ）
   ========================================================================== */

.aio-service{
  --pink:#F2849E;
  --pink-strong:#E8688A;
  --pink-light:#FEF6F8;
  --pink-mid:#FBDCE4;
  --pink-soft:#FCE9EE;
  --pink-dark:#C95876;
  /* pink-dark は淡い背景に置くと 3.84:1 で、通常サイズの文字には足りない。
     小さめのピンク文字にはこちらを使う（4.69:1 で AA を満たす）。 */
  --pink-text:#B84A66;
  --beige:#FDFAF8;
  --beige2:#F9F2EF;
  --text:#4A3338;
  --text-muted:#9C7D84;
  --text-light:#C4A8AF;
  --border:#F5DEE4;
  --white:#FFFFFF;
  --line-green:#06C755;
  --font-serif:'Noto Serif JP',serif;
  --font-sans:'Noto Sans JP',sans-serif;
  --measure:900px;

  font-family:var(--font-sans);
  font-size:16px;
  line-height:1.95;
  color:var(--text);
  background:var(--beige);
}
/* 本文はセクションごとに wp:html ブロックへ分けて貼るため、.aio-service は
   ページ内に複数並ぶ。下余白は最後のブロック（.svc-close）だけが持つ。 */

/* ---- 全幅の帯をテーマの .container（約1110px）から突き抜けさせる ----
   本文はテーマの固定幅コンテナの中に置かれるので、そのままだと背景がコンテナ幅で
   止まる。各 .aio-service ブロックの左右に「50% - 50vw」の負マージンを当てて
   ビューポート幅まで広げる。
   50vw にはスクロールバー幅が含まれ数px右にはみ出すので、横方向だけ clip する。
   clip を当てる場所が重要:
     - .aio-service 自身 → コンテナ幅で子を切り抜き、広げた帯が見えなくなる（NG）
     - body           → ビューポートに伝播せず、8px 横に動かせてしまう（NG）
     - body 直下の .wrapper（テーマ最外側・全幅）→ ここで切ると横スクロール不可（OK）
   clip はスクロール領域を作らないので、.wrapper 内のヘッダー sticky も壊れない。
   body のクラスは page-id-96332（固定ページID。スラッグが変わっても不変）を主に、
   page_service-new / page_service も併記する。切替時にスラッグが service-2 になり
   全ルールが外れた事故があったため、ID でのスコープを必ず残すこと。 */
body.page-id-96332 > .wrapper,
body.page_service-new > .wrapper,
body.page_service > .wrapper{overflow-x:clip}
/* 広げるのは帯ではなく .aio-service ブロック自体。帯だけ広げると、ベージュ地の
   セクション（01/03/04/05）がコンテナ幅で止まり、広い画面で両脇が白く残る。
   ブロックを広げれば、中の .svc-sec / .toc-inner / .inner は max-width + margin:auto で
   中央に収まり、背景（ベージュ・ピンク帯・背景画像）だけが端まで伸びる。 */
.aio-service{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}

/* テーマが本文の上に出すページタイトル（h1.ttl_h1）とパンくず（.mainarea 直下の
   クラスなし <nav>）は、このページでは出さない。> で直下に限定しているので、
   本文側の <nav class="toc-nav">（.aio-service の中）には当たらない。 */
body.page-id-96332 h1.ttl_h1,
body.page_service-new h1.ttl_h1,
body.page_service h1.ttl_h1,
body.page-id-96332 .mainarea > nav,
body.page_service-new .mainarea > nav,
body.page_service .mainarea > nav,
body.page-id-96332 .post_meta,
body.page_service-new .post_meta,
body.page_service .post_meta{display:none}
/* パンくず等を消しても、テーマの入れ物 .detail.page の padding-top:32px と
   空の .post_meta の margin-bottom:16px で 48px の空白が残る。/about/ と同じく
   ヘッダー直下からヒーローを始めたいので、このページでは両方とも 0 にする。 */
body.page-id-96332 .detail.page,
body.page_service-new .detail.page,
body.page_service .detail.page{padding-top:0}

/* ---- 局所リセット ----
   本文はテーマの .post_body の中に置かれ、次が漏れてくる:
     .post_body h1/h2/h3 … 下線・左線・余白（親テーマ + 子テーマ style.css）
     .post_body div      … margin-top:2rem（カード内の div 全部とブロック間の隙間）
     .post_body a        … 下線と色
   これらは詳細度 (0,1,1)。リセットは「div.aio-service 要素」の形で (0,1,2) にして
   テーマには勝ち、このファイルのコンポーネント指定 (0,2,0)〜 には負けるようにする。
   .aio-service.aio-service のように (0,2,1) まで上げると自分の指定まで潰すので NG。 */
.aio-service *,.aio-service *::before,.aio-service *::after{box-sizing:border-box}
div.aio-service p,div.aio-service h1,div.aio-service h2,div.aio-service h3,div.aio-service h4,
div.aio-service ul,div.aio-service li,div.aio-service nav{margin:0;padding:0}
div.aio-service div{margin-top:0}
div.aio-service h1,div.aio-service h2,div.aio-service h3,div.aio-service h4{
  color:inherit;font-weight:600;border:0;background:none;text-align:inherit}
div.aio-service ul{list-style:none}
div.aio-service img{max-width:100%;height:auto;display:block}
div.aio-service a{color:inherit;text-decoration:none}
/* .aio-service 自身も .post_body 直下の div なので margin-top:2rem を受ける。
   ブロック（セクション）同士の隙間になるため消す。(0,2,0) */
.aio-service.aio-service{margin-top:0}
/* テーマは描画時に h1/h2 の文字を <span> で包み、.post_body h1 > span に
   border-bottom:3px（色は !important でピンク）・inline-block・padding:1rem 0 を当てる。
   ソースHTMLには span が無いので消せず、span 側で打ち消す。border-width を 0 にすれば
   !important の border-color は無意味になる。(0,1,3) でテーマの (0,1,2) に勝つ。 */
div.aio-service h1 > span,div.aio-service h2 > span,div.aio-service h3 > span{
  display:inline;border:0;padding:0;margin:0;background:none}

/* ==========================================================================
   ヒーロー
   ========================================================================== */
.aio-service .svc-hero{position:relative;overflow:hidden;
  padding:5rem 2rem 4rem;border-bottom:1px solid var(--border);
  background:linear-gradient(170deg,var(--pink-light) 0%,var(--beige) 70%)}
.aio-service .svc-hero .inner{max-width:var(--measure);margin:0 auto;position:relative;z-index:1}
.aio-service .eyebrow{font-family:var(--font-serif);font-size:13px;letter-spacing:.22em;
  color:var(--pink-dark);text-transform:uppercase;margin-bottom:.75rem}
.aio-service .svc-hero h1{font-family:var(--font-serif);font-size:2.4rem;line-height:1.5;letter-spacing:.02em}
/* 見出しとリード文のあいだのタグライン。
   このサイズだと pink-dark（3.84:1）ではコントラストが足りないので、
   少しだけ濃い --pink-text を使っている。色を戻すなら 24px 以上に。 */
.aio-service .svc-hero .hero-tagline{font-family:var(--font-serif);font-size:1.2rem;font-weight:600;
  line-height:1.55;letter-spacing:.02em;color:var(--pink-text);margin-top:1rem}
.aio-service .svc-hero .hero-lead{font-size:1.02rem;line-height:2.05;margin-top:1.25rem;color:var(--text)}

/* ==========================================================================
   ページ内ナビ（目的からサービスを探す）
   --------------------------------------------------------------------------
   本文（--measure 900px）より広い帯として全幅に敷く。
   画像は3種: 背景（service_bg.jpg / CSS参照）、見出し下の装飾と
   カードのアイコン（いずれも本文中の <img>）。
   ========================================================================== */
/* 背景は画像（淡いピンクの地 + 左上・右下の葉）。パスは CSS ファイルからの相対で、
   テーマ内の assets/css/ → assets/img/ を指す。画像が読めない環境でも
   pink-light が下地として出るようにしてある。1500×609 の JPEG（約50KB）。 */
.aio-service .toc-nav{position:relative;overflow:hidden;padding:4.5rem 2rem;
  background:var(--pink-light) url(../img/service_bg.jpg) center / cover no-repeat;
  border-bottom:1px solid var(--border)}
.aio-service .toc-inner{max-width:1200px;margin:0 auto;position:relative;z-index:1}

/* ---- 見出し ---- */
.aio-service .toc-head{text-align:center;margin-bottom:2.25rem}
/* 「目的」と「探」だけ一回り大きく。異なるサイズのインライン要素は
   ベースラインが揃うので、追加の位置調整は要らない。 */
.aio-service .toc-title{font-family:var(--font-serif);font-size:1.75rem;font-weight:600;
  letter-spacing:.03em;line-height:1.45;color:var(--text)}
.aio-service .toc-title .lg{font-size:2.15rem}
.aio-service .toc-title .accent{color:var(--pink-dark)}
/* 見出し下の装飾。線とハートが1枚の透過PNG（service_line.png）。
   元画像 359×33 を 300px 幅で表示。 */
.aio-service .toc-orn{display:flex;justify-content:center;margin:1rem auto .9rem}
.aio-service .toc-orn img{width:300px;max-width:80%;height:auto}
.aio-service .toc-sub{font-size:.95rem;letter-spacing:.06em;color:var(--text-muted)}

/* ---- カード（番号の丸を上辺に半分重ねる） ----
   丸は負のマージンでカードの上辺に食い込ませ、カード側は
   その分だけ上パディングを広げて中身が丸に隠れないようにする。 */
.aio-service .toc{--num:40px;display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:1fr;gap:1rem}
.aio-service .toc a{display:flex;flex-direction:column;align-items:center}

/* 番号の丸。白地なのでカードの枠線を「切って」乗っているように見える */
.aio-service .toc .num{position:relative;z-index:1;width:var(--num);height:var(--num);border-radius:50%;
  flex-shrink:0;display:flex;align-items:center;justify-content:center;
  margin-bottom:calc(var(--num) / -2);
  background:var(--white);border:1.5px solid var(--pink);
  font-family:var(--font-serif);font-size:.95rem;letter-spacing:.06em;color:var(--pink-dark);
  box-shadow:0 2px 8px rgba(242,132,158,.15);transition:all .2s}

/* カード本体（白ベタ）。上パディング = 丸の食い込み分 + 通常の余白 */
.aio-service .toc .card{flex:1;width:100%;display:flex;flex-direction:column;align-items:center;
  text-align:center;padding:calc(var(--num) / 2 + 1rem) 1rem 1rem;border-radius:18px;
  background:var(--white);border:1px solid var(--pink-mid);
  box-shadow:0 6px 18px rgba(242,132,158,.10);transition:all .25s}
.aio-service .toc a:hover .card{transform:translateY(-3px);border-color:var(--pink);
  box-shadow:0 14px 28px rgba(242,132,158,.20)}
.aio-service .toc a:hover .num{background:var(--pink);border-color:var(--pink);color:#fff;
  transform:translateY(-3px)}

/* アイコン。画像側に薄ピンクの丸が含まれているので、CSSでは丸を描かない。
   元画像は約140〜170px。icon02 だけ横長なので contain で収める。 */
.aio-service .toc .ic{width:68px;height:68px;flex-shrink:0;margin-bottom:.5rem;
  display:flex;align-items:center;justify-content:center}
.aio-service .toc .ic img{width:100%;height:100%;object-fit:contain}

.aio-service .toc .t{font-family:var(--font-serif);font-size:.98rem;font-weight:600;
  line-height:1.6;color:var(--text);margin-bottom:.6rem}

/* 下向きシェブロン。画像も文字も使わず、正方形の2辺を45度回して描く */
.aio-service .toc .go-down{width:26px;height:26px;border-radius:50%;flex-shrink:0;margin-top:auto;
  background:var(--white);border:1px solid var(--pink-mid);
  display:flex;align-items:center;justify-content:center;transition:all .2s}
.aio-service .toc .go-down::after{content:"";width:6px;height:6px;margin-top:-3px;
  border-right:1.5px solid var(--pink-dark);border-bottom:1.5px solid var(--pink-dark);
  transform:rotate(45deg);transition:border-color .2s}
.aio-service .toc a:hover .go-down{background:var(--pink);border-color:var(--pink)}
.aio-service .toc a:hover .go-down::after{border-color:#fff}

/* ==========================================================================
   セクション共通
   ========================================================================== */
.aio-service .svc-sec{max-width:var(--measure);margin:0 auto;padding:4.25rem 2rem 0}
.aio-service .sec-head{display:flex;align-items:baseline;gap:1rem;
  margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}
.aio-service .sec-num{font-family:var(--font-serif);font-size:.95rem;color:var(--pink);
  letter-spacing:.1em;flex-shrink:0}
.aio-service .sec-head h2{font-family:var(--font-serif);font-size:1.55rem;letter-spacing:.02em;line-height:1.6}
.aio-service .sec-lead{font-family:var(--font-serif);font-size:1.22rem;line-height:1.8;
  color:var(--pink-dark);margin-bottom:.9rem}
.aio-service .body-p{font-size:.98rem;color:var(--text-muted);line-height:1.95}
.aio-service .body-p + .body-p{margin-top:1rem}

/* 02 は最重要セクションなので、帯で囲って明確に持ち上げる */
.aio-service .svc-sec.is-featured{max-width:none;background:var(--pink-light);
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  margin-top:4.25rem;padding:3.5rem 2rem}
/* 中身の上限は .svc-sec と同じ実幅にする。.svc-sec は border-box で max-width:900px に
   左右 2rem の padding を含むため実幅 836px。ここは子要素に直接当てるので余白分を引く。 */
.aio-service .svc-sec.is-featured > *{max-width:calc(var(--measure) - 4rem);margin-left:auto;margin-right:auto}
.aio-service .svc-sec.is-featured .sec-head{border-bottom-color:var(--pink-mid)}

/* ==========================================================================
   カード階層 1: 主要サービス
   ========================================================================== */
.aio-service .tier-label{font-size:.78rem;font-weight:500;letter-spacing:.14em;
  color:var(--text-light);margin:2.25rem 0 .9rem}
.aio-service .svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.75rem}

.aio-service .svc-card.major{display:flex;flex-direction:column;background:var(--white);
  border:1px solid var(--border);border-radius:14px;overflow:hidden;transition:all .2s;
  box-shadow:0 2px 8px rgba(242,132,158,.05)}
.aio-service .svc-card.major:hover{border-color:var(--pink);transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(242,132,158,.16)}
.aio-service .svc-card.major .thumb{width:100%;aspect-ratio:16/9;object-fit:cover;
  background:var(--pink-light);border-bottom:1px solid var(--border)}
/* ロゴ画像用。横長のロゴを cover で切らず、白地の上に余白つきで収める。
   ロゴ側の白地はカードの白に溶けるので透過は不要。16:9 は維持して高さを揃える。 */
.aio-service .svc-card.major .thumb.is-logo{object-fit:contain;padding:1.4rem 2rem;background:var(--white)}
/* 画像未設定のカード（グリッドの高さを揃えるためのプレースホルダ） */
.aio-service .svc-card.major .thumb.is-ph{display:flex;align-items:center;justify-content:center;
  font-family:var(--font-serif);font-size:.8rem;letter-spacing:.08em;color:var(--text-light)}
.aio-service .svc-card.major .body{padding:1.35rem 1.5rem 1.5rem;display:flex;flex-direction:column;flex:1}
.aio-service .svc-card.major h3{font-size:1.08rem;line-height:1.6;margin-bottom:.5rem}
.aio-service .svc-card.major p{font-size:.9rem;color:var(--text-muted);line-height:1.9;flex:1}

/* ==========================================================================
   カード階層 2: 便利に使えるサービス（画像なし・横並び）
   ========================================================================== */
.aio-service .svc-grid.is-minor{grid-template-columns:repeat(3,1fr);margin-top:0}
.aio-service .svc-card.minor{background:var(--white);border:1px solid var(--border);
  border-radius:12px;padding:1.15rem 1.3rem;display:flex;flex-direction:column;transition:all .2s}
.aio-service .svc-card.minor:hover{border-color:var(--pink);background:var(--pink-light)}
.aio-service .svc-card.minor h3{font-size:.98rem;line-height:1.6;margin-bottom:.35rem}
.aio-service .svc-card.minor p{font-size:.84rem;color:var(--text-muted);line-height:1.85;flex:1}

/* ==========================================================================
   カード階層 3: ちょっとしたコンテンツ（チップ）
   ========================================================================== */
.aio-service .svc-chips{display:flex;flex-wrap:wrap;gap:.6rem}
.aio-service .svc-chip{display:inline-flex;align-items:center;gap:.45rem;
  background:var(--white);border:1px solid var(--border);border-radius:22px;
  padding:.55rem 1.15rem;font-size:.9rem;color:var(--text);transition:all .2s}
.aio-service .svc-chip::after{content:"→";font-size:.85rem;color:var(--pink-mid);transition:all .2s}
.aio-service .svc-chip:hover{border-color:var(--pink);background:var(--pink-light);color:var(--pink-dark)}
.aio-service .svc-chip:hover::after{color:var(--pink-dark);transform:translateX(2px)}

/* ==========================================================================
   カード内の共通パーツ（バッジ / リンク行）
   ========================================================================== */
.aio-service .badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.6rem}
.aio-service .badge{font-size:.7rem;font-weight:500;letter-spacing:.04em;line-height:1.6;
  padding:.1rem .6rem;border-radius:4px;white-space:nowrap}
.aio-service .badge.line{background:var(--line-green);color:#fff}
.aio-service .badge.free{background:var(--pink-mid);color:var(--pink-dark)}
.aio-service .badge.ext{background:var(--beige2);color:var(--text-muted);border:1px solid var(--border)}

/* リンク行。文言は「詳細はこちら」ではなく必ず動詞で書く */
.aio-service .go{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;
  font-size:.9rem;font-weight:500;color:var(--pink-dark);align-self:flex-start;
  border-bottom:1px solid var(--pink-mid);padding-bottom:2px;transition:all .2s}
.aio-service .go::after{content:"→";transition:transform .2s}
.aio-service .go.is-ext::after{content:"↗"}
.aio-service .go:hover{border-color:var(--pink-dark)}
.aio-service .go:hover::after{transform:translateX(3px)}
.aio-service .svc-card.minor .go{margin-top:.7rem;font-size:.85rem}

/* SNS のようにリンクが複数あるカード */
.aio-service .go-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.aio-service .go-list a{font-size:.85rem;color:var(--pink-dark);border:1px solid var(--pink-mid);
  border-radius:20px;padding:.3rem .95rem;transition:all .2s}
.aio-service .go-list a:hover{background:var(--pink-light);border-color:var(--pink-dark)}

/* ==========================================================================
   末尾：関連ページへの導線
   ========================================================================== */
.aio-service .svc-close{max-width:var(--measure);margin:4.5rem auto 0;padding:0 2rem 4.5rem}
.aio-service .svc-close .close-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.aio-service .svc-close a{background:var(--white);border:1px solid var(--border);border-radius:12px;
  padding:1.4rem 1.5rem;transition:all .2s;display:block}
.aio-service .svc-close a:hover{border-color:var(--pink);background:var(--pink-light);transform:translateY(-2px)}
.aio-service .svc-close h3{font-size:1rem;margin-bottom:.3rem}
.aio-service .svc-close p{font-size:.84rem;color:var(--text-muted);line-height:1.8}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
/* TOCのカードは中身が縦に長いので、本文グリッドより早めに列を減らす */
@media(max-width:1200px){
  .aio-service .toc{grid-template-columns:repeat(3,1fr)}
}

@media(max-width:900px){
  .aio-service .svc-hero{padding:3.5rem 1.25rem 3rem}
  .aio-service .svc-hero h1{font-size:1.8rem}
  .aio-service .svc-hero .hero-tagline{font-size:1.1rem}
  .aio-service .toc-nav{padding:3rem 1.25rem}
  .aio-service .toc-title{font-size:1.35rem}
  .aio-service .toc-title .lg{font-size:1.62rem}
  .aio-service .toc-head{margin-bottom:2rem}
  .aio-service .svc-sec{padding:3.25rem 1.25rem 0}
  .aio-service .svc-sec.is-featured{padding:3rem 1.25rem}
  .aio-service .svc-grid{grid-template-columns:1fr}
  .aio-service .svc-grid.is-minor{grid-template-columns:repeat(2,1fr)}
  .aio-service .svc-close{padding:0 1.25rem}
  .aio-service .svc-close .close-grid{grid-template-columns:1fr}
}

@media(max-width:700px){
  .aio-service .toc{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:480px){
  .aio-service .toc{grid-template-columns:1fr}
  .aio-service .svc-grid.is-minor{grid-template-columns:1fr}
}
