@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Shippori+Mincho+B1:wght@400;500;600;700;800&family=Noto+Serif+JP:wght@400;500&family=Noto+Sans+JP:wght@400;500;700&display=swap');

/************************************
** 子テーマ用のスタイルを書く
************************************/
/* 全幅レイアウト（Cocoonの白カード・グレー背景を解除） */
body { background-color: #fff; }
#header-container { background: #f5f5f5; box-shadow: none; }
#header, #navi, #navi-in { background: none; }
#header-container-in { height: 80px; }
#header-container-in.wrap,
#content-in.wrap { width: auto; margin: 0; }
#header-container-in { padding: 0 40px; }
#navi .menu-top { justify-content: flex-end; }
#navi .menu-top > li { width: auto; height: 80px; }
#navi .navi-in > .menu-top > li > a { height: 80px; padding: 0 17px; font-family: "Noto Serif JP", serif; font-size: 14px; font-weight: 500; letter-spacing: 1px; color: #16130f; }
#navi .menu-top > li:last-child > a { padding-right: 0; }
/* サービスのプルダウン（白い箱・明朝14px・中央揃え） */
#navi .menu-top > li > a:hover, #navi .menu-top > li:hover > a { background: none; }
#navi .menu-top .top-has-sub { display: none; }
#navi .navi-in > .menu-top .sub-menu { top: 68px; left: 17px; width: 224px; padding: 15px 17px; background: #fff; border-radius: 5px; box-shadow: 0 2px 5px rgba(0,0,0,.2); }
.fixed-header #navi .navi-in > .menu-top > li:hover > .sub-menu { display: block; }
#navi .menu-top .sub-menu li { width: auto; height: auto; }
#navi .menu-top .sub-menu li + li { margin-top: 12px; }
#navi .menu-top .sub-menu a { display: block; height: auto; padding: 0; background: none; font-family: "Noto Serif JP", serif; font-size: 14px; line-height: 20px; color: #333; text-align: center; }
#navi .menu-top .sub-menu a { transition: scale .3s ease-in-out; }
#navi .menu-top .sub-menu a:hover { background: none; scale: 1.1; }
#content { margin-top: 0; }
#main { padding: 36px calc(5% + 40px); border-radius: 0; background: transparent; }
#content-bottom { margin: 0; }
#content-bottom-in > :last-child { margin-bottom: 0; }
#footer { margin-top: 0; }

/* 固定ページはCocoonのタイトル・日付・投稿者・パンくずを出さない */
.page .article-header, .page .article-footer, .breadcrumb-page { display: none; }
.page .entry-content { margin-top: 0; }

/* ページ上部のビジュアル（A: 会社概要など、B: 実績一覧・コラム一覧） */
#main .wp-block-group.tg-page-hero { position: relative; display: flex; flex-direction: column; justify-content: center; height: 524px; margin: -36px calc(50% - 50vw) 0; padding: 0 0 0 200px; overflow: hidden; }
#main .tg-page-hero > figure { position: absolute; inset: 0; margin: 0; max-width: none; }
#main .tg-page-hero > figure img { width: 100%; height: 100%; object-fit: cover; }
#main .tg-page-hero > p, #main .tg-page-hero > :is(h1, .tg-page-hero-ja) { position: relative; z-index: 1; max-width: none; margin: 0; padding: 0; border: none; background: none; color: #333; }
#main .tg-page-hero > p { font-family: "Cormorant Garamond", serif; font-size: 70px; font-weight: 400; line-height: 1.4; letter-spacing: .1em; }
#main .tg-page-hero > :is(h1, .tg-page-hero-ja) { font-family: inherit; font-size: 20px; font-weight: 500; line-height: 1.4; }
#main .wp-block-group.tg-page-hero-b { height: 525px; padding-left: max(48px, calc((100vw - 1184px) / 2)); }
#main .tg-page-hero-b > p { font-size: 72px; font-weight: 600; line-height: 1; letter-spacing: 0; color: #000; }
#main .tg-page-hero-b > :is(h1, .tg-page-hero-ja) { margin-top: 24px; font-size: 28px; font-weight: 700; line-height: 1.6; letter-spacing: .05em; color: #000; }
/* ページ上部: 半透明の白い覆いが左から右へ抜け、英字は下から・日本語は少し遅れてフェードイン */
@keyframes tg-hero-rise { from { opacity: 0; transform: translateY(48px); } to { opacity: 1; transform: none; } }
@keyframes tg-hero-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes tg-cover-out { from { clip-path: inset(0 0 0 0); } to { clip-path: inset(0 0 0 100%); } }
body:is(.home, :has(.tg-page-hero))::before { content: ""; position: fixed; inset: 0; z-index: 10000; background: rgba(255, 255, 255, .6); pointer-events: none; animation: tg-cover-out .8s cubic-bezier(.65, 0, .35, 1) .25s both; }
#main .tg-page-hero > p:first-child { animation: tg-hero-rise .9s cubic-bezier(.22, 1, .36, 1) .6s both; }
#main .tg-page-hero > :is(h1, .tg-page-hero-ja) { animation: tg-hero-fade .6s cubic-bezier(.22, 1, .36, 1) .85s both; }
/* スクロールで画面に入った見出しは下から、案内文は少し遅れてフェードイン（javascript.js） */
.tg-js :is(.tg-list-heading, .ct-form-title, .p8-form-title, .ct-form-lead, .p8-form-lead) { opacity: 0; transform: translateY(48px); transition: opacity .9s cubic-bezier(.22, 1, .36, 1) .1s, transform .9s cubic-bezier(.22, 1, .36, 1) .1s; }
.tg-js :is(.ct-form-lead, .p8-form-lead) { transform: none; transition-delay: .25s; }
.tg-js .is-in:is(.tg-list-heading, .ct-form-title, .p8-form-title, .ct-form-lead, .p8-form-lead) { opacity: 1; transform: none; }
/* トップのColumn欄: 画面に入ると背景が黒からベージュへ変わる */
.tg-js .tg-top > .tg-column { background-color: #000; transition: background-color 1.2s cubic-bezier(.4, .4, 0, 1) .4s; }
.tg-js .tg-top > .tg-column.is-in { background-color: #f8f7f6; }
/* コラムカード: 画像部分の白い覆いが左から右へ抜け、タイトル・日付がフェードイン */
.tg-js :is(.tg-column-card-thumb, .tg-list-card-thumb) { position: relative; }
.tg-js :is(.tg-column-card-thumb, .tg-list-card-thumb)::after { content: ""; position: absolute; inset: 0; background: rgba(255, 255, 255, .6); clip-path: inset(0 0 0 0); transition: clip-path .8s cubic-bezier(.65, 0, .35, 1); }
.tg-js .is-in :is(.tg-column-card-thumb, .tg-list-card-thumb)::after { clip-path: inset(0 0 0 100%); }
.tg-js :is(.tg-column-card, .tg-list-card) > :is(.tg-column-card-title, .tg-column-card-date, .tg-list-card-title, .tg-list-card-date) { opacity: 0; transition: opacity .8s cubic-bezier(.22, 1, .36, 1); }
.tg-js :is(.tg-column-card, .tg-list-card).is-in > * { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  #main .tg-page-hero > *, body:is(.home, :has(.tg-page-hero))::before { animation: none; }
  .tg-js :is(.tg-list-heading, .ct-form-title, .p8-form-title, .ct-form-lead, .p8-form-lead) { opacity: 1; transform: none; transition: none; }
  .tg-js :is(.tg-column-card, .tg-list-card) > * { opacity: 1; transition: none; }
  .tg-js :is(.tg-column-card-thumb, .tg-list-card-thumb)::after { display: none; }
  .tg-js .tg-top > .tg-column { background-color: #f8f7f6; transition: none; }
  body:is(.home, :has(.tg-page-hero))::before { display: none; }
}

/* 実績カード（トップ・実績一覧共通） */
.tg-case-card { display: block; padding: 24px; background: #fff; border: 1px solid #949494; border-radius: 16px; color: #333; text-decoration: none; }
.tg-case-card:hover { color: #333; opacity: .8; }
.tg-case-card-thumb img { display: block; width: 100%; height: auto; }
.tg-case-card-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 16px; }
.tg-case-tag { padding: 4px 8px; border: 1px solid #8d8d8d; border-radius: 1000px; font-size: 10px; font-weight: 500; line-height: 14px; color: #757575; }
.tg-case-card .tg-case-card-title { margin: 16px 0 0; padding: 0; border: none; background: none; font-size: 22px; font-weight: 700; line-height: 1.6; color: #333; }
.tg-case-field { margin-top: 12px; }
.tg-case-card-title + .tg-case-field { margin-top: 24px; }
.tg-case-field-label { display: inline-block; padding: 2px 12px; font-size: 16px; font-weight: 600; line-height: 22px; color: #333; }
.tg-case-field-challenge { background: #f8cbcf; }
.tg-case-field-solution { background: #c9dbee; }
.tg-case-field-result { background: #c0e9da; }
.tg-case-card .tg-case-field p { margin: 0; font-size: 16px; font-weight: 500; line-height: 1.4; color: #333; }

/* 監修者欄 */
.togetsu-supervisor-box { display:flex; gap:32px; align-items:center; margin:0 0 100px; padding:32px 40px; background:#f8f7f6; border-radius:12px; }
.togetsu-supervisor-box img { width:140px; height:140px; object-fit:cover; flex-shrink:0; }
.togetsu-supervisor-box .togetsu-supervisor-text { display:flex; flex-direction:column; align-items:flex-start; }
.togetsu-supervisor-box p { margin:0; color:#333; font-size:14px; line-height:1.4; }
.togetsu-supervisor-box .togetsu-supervisor-label { padding:3px 10px; background:#c8151b; border-radius:2px; font-size:12px; letter-spacing:.1em; color:#fff; }
.togetsu-supervisor-box .togetsu-supervisor-label + p { margin-top:14px; font-size:13px; color:#7c756a; }
.togetsu-supervisor-box .togetsu-supervisor-name { margin-top:4px; font-family:"Shippori Mincho B1", serif; font-size:24px; font-weight:600; letter-spacing:.1em; color:#16130f; text-decoration:none; }
.togetsu-supervisor-box .togetsu-supervisor-name:hover { text-decoration:underline; }
.togetsu-supervisor-box .togetsu-supervisor-bio { align-self:stretch; margin-top:14px; padding-top:14px; border-top:1px solid #e5e0da; font-size:15px; line-height:1.9; color:#333; }

/* 吹き出し配色プリセット */
.sbs-togetsu.sbp-l:not(.not-nested-style) {
  --cocoon-custom-background-color: #dcdfe0;
  --cocoon-custom-text-color: #000;
  --cocoon-custom-border-color: #dcdfe0;
}
.sbs-togetsu.sbp-r:not(.not-nested-style) {
  --cocoon-custom-background-color: #eef3f5;
  --cocoon-custom-text-color: #000;
  --cocoon-custom-border-color: #eef3f5;
}

/* ヘッダーロゴ: アイコン42px＋「篤月」の下に「TOGETSU」 */
#header-in { position: relative; display: flex; align-items: center; min-height: 80px; }
.header .logo-header { display: flex; margin: 0; }
.header .logo-header a { display: flex; height: 42px; padding: 0; }
.header .logo-header .site-name-text { position: relative; display: inline-flex; align-items: flex-start; width: auto; white-space: nowrap; }
.header .logo-header .site-name-text img { width: 42px; height: 42px; }
.header .logo-header .site-name-text::after { content: "篤月"; margin: 3px 0 0 14px; font-family: "Shippori Mincho B1", serif; font-size: 21px; font-weight: 700; line-height: 23px; letter-spacing: 3px; color: #16130f; }
.header .logo-header .site-name-text::before { content: "TOGETSU"; position: absolute; left: 61px; top: 26px; font-family: "Cormorant Garamond", serif; font-size: 11px; line-height: 12px; letter-spacing: 5px; color: #7c756a; }

/* フッター直前のContact CTA（content-bottomウィジェットエリア） */

.widget-area.content-bottom { max-width: none; padding: 0; }

.togetsu-sns-section { background: #fff; text-align: center; padding: 64px 24px 137px; }
.togetsu-sns-label { margin: 0 0 31px; font-size: 16px; line-height: 32px; color: #000; }
.togetsu-sns-icons { display: flex; justify-content: center; align-items: center; gap: 40px; }
.togetsu-sns-icons img { width: 48px; height: 48px; object-fit: contain; border-radius: 10px; }
.togetsu-sns-icons a[href*="youtube"] img { width: 52px; height: 37px; border-radius: 0; }
.togetsu-sns-tiktok { position: relative; display: inline-block; width: 48px; height: 48px; }
.togetsu-sns-tiktok-bg { position: absolute; inset: 0; }
.togetsu-sns-tiktok-glyph { position: absolute; width: 62% !important; height: auto !important; top: 50%; left: 50%; transform: translate(-50%, -50%); border-radius: 0 !important; }

.togetsu-cta-block { margin: 0 calc(50% - 50vw); padding: 110px 40px; background: #16130f; color: #fff; text-align: center; }
#content-bottom .togetsu-cta-title { margin: 0 0 18px; padding: 0; border: none; background: none; font-family: "Cormorant Garamond", serif; font-size: 88px; font-weight: 400; line-height: 1; color: #fff; }
.togetsu-cta-message { margin: 0 0 40px; font-family: "Noto Serif JP", serif; font-size: 15px; line-height: 28px; color: rgba(255,255,255,.7); }
.togetsu-cta-button { display: inline-block; padding: 16px 38px; background: #c8151b; border-radius: 2px; font-family: "Noto Serif JP", serif; font-size: 15px; font-weight: 400; line-height: 28px; letter-spacing: 2px; color: #fff; text-decoration: none; }
.togetsu-cta-button:hover { opacity: .85; color: #fff; }

/* スマホ下部の固定ボタン（functions.php で出力、480px以下のみ表示） */
.tg-sp-fixed-cta { display: none; }

/* 公式SNSはトップ・会社概要・404のみ、お問い合わせはContact欄もなし（元サイトどおり） */
body:not(.home, .page-id-2049, .error404) .togetsu-sns-section, .page-id-2046 .togetsu-cta-block { display: none; }
/* 公式SNSのないページは本文の最後とフッターの間の余白をなくす */
body:not(.home, .page-id-2049, .error404) #main { padding-bottom: 0; }
body:not(.home, .page-id-2049, .error404) :is(.article, .entry-content, .entry-content > :last-child) { margin-bottom: 0; }

/* コラムカード: ホバーで浮き上がり影が広がる、画像は少し拡大 */
:is(.tg-column-card, .tg-list-card) { transition: transform .4s cubic-bezier(.22, 1, .36, 1), box-shadow .4s cubic-bezier(.22, 1, .36, 1); }
:is(.tg-column-card, .tg-list-card):hover { transform: translateY(-6px); box-shadow: 0 14px 32px rgba(0, 0, 0, .14); color: #000; }
:is(.tg-column-card-thumb, .tg-list-card-thumb) { overflow: hidden; }
.tg-list-card-thumb { border-radius: 8px; }
:is(.tg-column-card-thumb, .tg-list-card-thumb) img { transition: transform .6s cubic-bezier(.22, 1, .36, 1); }
:is(.tg-column-card, .tg-list-card):hover :is(.tg-column-card-thumb, .tg-list-card-thumb) img { transform: scale(1.05); }

/* 「もっと読む」「Load more」ボタン: 浮き上がり＋影、押すと沈む */
.tg-load-more { display: flex; align-items: center; justify-content: center; gap: 8px; box-shadow: 0 6px 16px rgba(0, 0, 0, .15); text-align: center; text-decoration: none; cursor: pointer; transition: transform .3s cubic-bezier(.22, 1, .36, 1), box-shadow .3s cubic-bezier(.22, 1, .36, 1), background-color .3s, opacity .3s; }
.tg-load-more:hover { transform: translateY(-3px); box-shadow: 0 12px 24px rgba(0, 0, 0, .2); color: inherit; }
a.tg-load-more:hover { color: #fff; }
.tg-load-more:active { transform: translateY(1px); box-shadow: 0 3px 8px rgba(0, 0, 0, .15); transition-duration: .1s; }
.tg-load-more-icon { font-size: 1.2em; line-height: 1; }
.tg-load-more.is-loading { opacity: .5; pointer-events: none; }
@keyframes tg-card-appear { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
.tg-card-appear { animation: tg-card-appear .6s cubic-bezier(.22, 1, .36, 1) both; }
@media (prefers-reduced-motion: reduce) {
  .tg-load-more, .tg-card-appear, :is(.tg-column-card, .tg-list-card), :is(.tg-column-card-thumb, .tg-list-card-thumb) img { transition: none; animation: none; }
}

/* フッター下部: ロゴとコピーライトをContact欄の中、ボタンの下に縦並び（全ページ共通） */
.togetsu-cta-block { padding-bottom: 0; }
.togetsu-cta-button { width: 195px; }
/* Contact欄に4px重ねて、縮小表示時の境目の線を防ぐ */
.togetsu-footer-bar { display: flex; flex-direction: column; align-items: center; gap: 17px; margin: -4px calc(50% - 50vw) 0; padding: 22px 24px 110px; background: #16130f; }
.page-id-2046 .togetsu-footer-bar { margin-top: 0; padding-top: 110px; }
.togetsu-footer-logo { display: flex; align-items: center; gap: 2px; }
.togetsu-footer-logo img { width: 34px; height: 34px; }
.togetsu-footer-logo span { font-family: "Shippori Mincho B1", serif; font-size: 18px; font-weight: 700; line-height: 33px; letter-spacing: 3px; color: #fff; }
#content-bottom .togetsu-footer-copyright { max-width: 160px; margin: 0; text-align: center; font-family: "Noto Serif JP", serif; font-size: 12px; line-height: 22px; letter-spacing: 1px; color: rgba(255,255,255,.55); }
#footer { padding: 0; }

/* Cocoon標準のフッター下段（ロゴ・コピーライト）はCTAブロック側で代替表示するため非表示 */
.footer-bottom { display: none; }

/* モバイル: PC用ヘッダーは非表示にし、Cocoonのモバイルボタンバーを元サイトの形（ロゴ＋ハンバーガー）にする */
@media screen and (max-width: 1023px) {
  #header-container { display: none; }
  body.mblt-header-mobile-buttons { margin-top: 78px; }
  .mobile-header-menu-buttons { height: 78px; padding: 0 40px; background: #f5f5f5; box-shadow: none; }
  .mobile-header-menu-buttons .search-menu-button, .mobile-header-menu-buttons .menu-caption { display: none; }
  .mobile-header-menu-buttons .logo-menu-button { order: 1; flex: none; width: auto; overflow: visible; }
  .mobile-header-menu-buttons .navi-menu-button { order: 2; flex: none; width: auto; }
  .mobile-header-menu-buttons .logo-menu-button a { position: relative; display: flex; align-items: flex-start; justify-content: flex-start; width: 160px; height: 42px; padding: 0; overflow: visible; }
  .mobile-header-menu-buttons .logo-menu-button img { width: 42px; height: 42px; max-height: none; margin: 0; }
  .mobile-header-menu-buttons .logo-menu-button a::after { content: "篤月"; margin: 3px 0 0 14px; font-family: "Shippori Mincho B1", serif; font-size: 21px; font-weight: 700; line-height: 23px; letter-spacing: 3px; color: #16130f; }
  .mobile-header-menu-buttons .logo-menu-button a::before { content: "TOGETSU"; position: absolute; left: 61px; top: 26px; font-family: "Cormorant Garamond", serif; font-size: 11px; line-height: 12px; letter-spacing: 5px; color: #7c756a; }
  .mobile-header-menu-buttons #navi-menu-open { width: 32px; height: 32px; padding: 0; }
  .mobile-header-menu-buttons #navi-menu-open .menu-icon { display: block; width: 32px; height: 32px; background: linear-gradient(#333, #333) center 8px / 24px 2px no-repeat, linear-gradient(#333, #333) center 15px / 24px 2px no-repeat, linear-gradient(#333, #333) center 22px / 24px 2px no-repeat; }
  .mobile-header-menu-buttons #navi-menu-open .menu-icon .fa { display: none; }

  /* メニュー: 右から出る黒いパネル、白い太字を中央揃え、閉じるボタンは右下 */
  #navi-menu-content { left: auto; right: 0; width: 65%; max-width: 400px; padding-top: 31px; background: #000; transform: translateX(105%); }
  #navi-menu-input:checked ~ #navi-menu-content { transform: none; }
  #navi-menu-content .menu-drawer { padding: 0; }
  #navi-menu-content .menu-drawer li { text-align: center; }
  #navi-menu-content .menu-drawer .sub-menu { padding: 0; }
  #navi-menu-content .menu-drawer .menu-item-has-children > a { display: none; }
  #navi-menu-content .menu-drawer a { display: inline-block; padding: 27px 0; font-size: 20px; font-weight: 700; line-height: 28px; color: #fff; }
  #navi-menu-content .menu-drawer a:hover { background: none; color: #fff; opacity: .7; }
  #navi-menu-content .menu-drawer .current-menu-item > a { text-decoration: underline; text-decoration-color: #ffd600; text-decoration-thickness: 3px; text-underline-offset: 6px; }
  #navi-menu-content .menu-close-button { position: fixed; right: 40px; bottom: 50px; color: #fff; font-size: 32px; }
  #navi-menu-content .menu-close-button .fa-close::before { content: "\2715"; font-family: sans-serif; font-weight: 300; }
  #navi-menu-input:checked ~ #navi-menu-close { opacity: .4; }
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  #main { padding: 24px; }
  #main .wp-block-group.tg-page-hero { margin-top: -24px; padding-left: 20px; }
  #main .wp-block-group.tg-page-hero-b { padding-left: 48px; }
  #main .tg-page-hero-b > p { font-size: 64px; }
  #main .tg-page-hero-b > :is(h1, .tg-page-hero-ja) { font-size: 24px; }
}

/*480px以下*/
@media screen and (max-width: 480px){
  .tg-case-card { padding: 10px; }
  /* 実績カードの文字（元サイトのスマホ版。トップ・実績一覧・導入事例の実績一覧） */
  .tg-case-card :is(.tg-case-tag, .tg-case-card-title, .tg-case-field) { font-family: "Noto Sans JP", sans-serif; }
  .tg-case-card .tg-case-tag { padding: 4px 8px; font-size: 13px; line-height: 18.2px; }
  .tg-case-card .tg-case-card-title { font-size: 15px; line-height: 24px; }
  .tg-case-card-title + .tg-case-field { margin-top: 24px; }
  .tg-case-card .tg-case-field { line-height: 18px; }
  .tg-case-card .tg-case-field-label { font-size: 13px; line-height: 18px; }
  .tg-case-card .tg-case-field p { margin-top: 16px; font-size: 13px; line-height: 18.2px; }
  .tg-sp-fixed-cta { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; display: flex; height: 82px; border-top: 1px solid rgba(0, 0, 0, .28); background: #fff; }
  .tg-sp-fixed-cta > div { display: flex; flex: 1 1 0; justify-content: center; padding: 15px 0; }
  .tg-sp-fixed-cta a { display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 5px 10px; border: 1px solid #333; border-radius: 4px; color: #333; font-family: "Noto Sans JP", sans-serif; font-size: 13px; font-weight: 500; line-height: 18.2px; text-decoration: none; }
  .tg-sp-fixed-cta svg { display: block; }
  body:has(#navi-menu-input:checked) .tg-sp-fixed-cta { display: none; }
  /* 固定ボタンでフッターの最後が隠れないよう下に余白、先頭へ戻るボタンはその上へ（元サイトにない調整） */
  body:has(.tg-sp-fixed-cta) { padding-bottom: 82px; }
  body:has(.tg-sp-fixed-cta) #go-to-top .go-to-top-button, body:has(.tg-sp-fixed-cta) .go-to-top { bottom: 92px; }
  .home .togetsu-sns-section { padding: 69px 24px 141px; }
  .home .togetsu-sns-label { margin-bottom: 20px; font-family: "Noto Serif JP", serif; font-size: 14px; line-height: 26px; color: #7c756a; }
  #main .wp-block-group.tg-page-hero { height: 400px; }
  #main .tg-page-hero > p { font-size: 40px; }
  #main .tg-page-hero > :is(h1, .tg-page-hero-ja) { font-size: 16px; }
  #main .wp-block-group.tg-page-hero-b { height: 273px; padding-left: 24px; }
  #main .tg-page-hero-b > p { font-size: 40px; }
  #main .tg-page-hero-b > :is(h1, .tg-page-hero-ja) { margin-top: 12px; font-size: 18px; }
  .togetsu-supervisor-box { flex-direction:column; gap:16px; margin-bottom:60px; padding:28px 20px; }
  .togetsu-supervisor-box img { width:96px; height:96px; }
  .togetsu-supervisor-box .togetsu-supervisor-text { align-items:center; text-align:center; }
  .togetsu-supervisor-box .togetsu-supervisor-name { font-size:20px; }
  .togetsu-supervisor-box .togetsu-supervisor-bio { font-size:14px; text-align:left; }
  .togetsu-supervisor-box .togetsu-supervisor-bio br { display:none; }
}

/* お問い合わせフォームの送信後の案内（functions.php の wp_footer で差し込む）。LPの余白リセットに負けないよう body から指定 */
.tg-sent { --tg-sent-accent: #333; box-sizing: border-box; max-width: 560px; margin: 0 auto; padding: 48px 32px; border: 1px solid #ebebeb; border-radius: 12px; background: #fff; box-shadow: 0 2px 16px rgba(0, 0, 0, .06); text-align: center; color: #333; outline: none; }
body .tg-sent p.tg-sent-title { display: flex; flex-direction: column; align-items: center; gap: 16px; margin: 0; font-size: 22px; font-weight: 700; line-height: 1.4; color: #333; text-wrap: balance; }
.tg-sent .tg-sent-title::before { content: ""; width: 56px; height: 56px; border-radius: 50%; background: var(--tg-sent-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 30px no-repeat; }
body .tg-sent p.tg-sent-text { margin: 16px 0 0; font-size: 15px; line-height: 1.9; color: #555; }
.tg-sent .tg-sent-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; box-sizing: border-box; width: min(100%, 360px); height: 52px; margin-top: 28px; border-radius: 80px; background: var(--tg-sent-accent); font-size: 16px; font-weight: 700; color: #fff; text-decoration: none; transition: opacity .3s; }
.tg-sent .tg-sent-btn:hover { opacity: .8; color: #fff; }
.tg-sent-btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
@media screen and (max-width: 480px) {
  .tg-sent { padding: 32px 16px; }
  body .tg-sent p.tg-sent-title { font-size: 17px; letter-spacing: 0; }
  body .tg-sent p.tg-sent-text { font-size: 13px; text-align: left; }
  .tg-sent .tg-sent-text br { display: none; }
  .tg-sent .tg-sent-btn { height: 48px; font-size: 14px; }
}
