

/* =========================================================
   2026-07-26以降の新規CSS
   この区画には、新しいCSSを上から追加していく
========================================================= */

/* =========================================================
   ブレークポイント契約（2026-08-16〜）
   スマホ完成形は変更しない。タブレット指定は末尾 Step46 以降にだけ足す。

   - スマホ（完成）：〜767px
     既存の @media (max-width:959px) はそのまま残す（412px基準）。
     767px以下では Step46 が当たらないので見た目は変わらない。
   - タブレット：768px〜1024px
     SWELLの pc_only / sp_only 切替は 960px のまま（HTMLは触らない）。
     768-959：SPのDOM。既存SPルールの上に Step46-A で上書き。
     960-1024：PCのDOM。既存PCルールの上に Step46-B で上書き。
   - PC（完成）：1025px〜
     既存の @media (min-width:960px) はそのまま。Step46-B は 1024px まで。
========================================================= */

/* =========================================================
   Step2：SP帯（〜959px）レイアウト基準
   SWELLの pc_only / sp_only 切替は 960px
   ※768px以上のタブレット上書きは末尾 Step46。ここには足さない。
========================================================= */
@media (max-width:959px){
  .sp_only .service-wrap,
  .sp-only .service-wrap,
  .strengths-box.sp_only,
  .strengths-box.sp-only,
  .sp_only .area-columns,
  .sp-only .area-columns,
  .sp_only .area-cta,
  .sp-only .area-cta,
  .sp_only .contact-cta,
  .sp-only .contact-cta,
  .sp_only .contact-cta-divider,
  .sp-only .contact-cta-divider,
  .sp_only .contact-cta-button,
  .sp-only .contact-cta-button{
    transform:none !important;
  }

  .strengths-box.sp_only,
  .strengths-box.sp-only,
  .sp_only .service-wrap,
  .sp-only .service-wrap{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .sp_only .area-columns,
  .sp-only .area-columns{
    flex-direction:column !important;
    gap:24px !important;
  }

  .sp_only .area-columns > .wp-block-column:first-child,
  .sp-only .area-columns > .wp-block-column:first-child,
  .sp_only .area-columns > .wp-block-column:last-child,
  .sp-only .area-columns > .wp-block-column:last-child{
    flex:0 0 100% !important;
    max-width:100% !important;
  }

  .sp_only .contact-cta,
  .sp-only .contact-cta{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:22px 18px !important;
    box-sizing:border-box !important;
  }
}

/* 活動報告一覧を見るボタン */
.activity-post-list + .is-style-more_btn .btn_text,
.is-style-more_btn a[href*="/category/activity/"] {
  background-color: #123f82 !important;
  border-color: #123f82 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* 右側の矢印も白にする */
.activity-post-list + .is-style-more_btn .btn_text::after,
.is-style-more_btn a[href*="/category/activity/"]::after {
  color: #ffffff !important;
}

/* マウスを乗せたとき */
.activity-post-list + .is-style-more_btn .btn_text:hover,
.is-style-more_btn a[href*="/category/activity/"]:hover {
  background-color: #0b2f66 !important;
  border-color: #0b2f66 !important;
  color: #ffffff !important;
}

/* ホバー時の矢印 */
.activity-post-list + .is-style-more_btn .btn_text:hover::after,
.is-style-more_btn a[href*="/category/activity/"]:hover::after {
  color: #ffffff !important;
}

/* ---------- パンくずリスト ---------- */
html body #breadcrumb.p-breadcrumb.-bg-on {
  background: #eef6fc !important;
  box-shadow: none !important;
}

html body #breadcrumb .p-breadcrumb__list {
  min-height: 0 !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
  font-size: 11px !important;
}



/* =========================================================
   ここから下は既存CSS
   2026-07-25以前
   原則として並べ替え・削除しない
========================================================= */

/* 料金カードのアイコンだけ大きくする */
.price-section .price-title .wp-block-media-text__media img{
    width:56px !important;
    height:56px !important;
    max-width:56px !important;
    object-fit:contain !important;
}
.price-card-standard .price-title{
    transform:translateX(-6px);
}


/* スタンダードプランのタイトルだけ少し左へ */
.plan-title-standard{
    position:relative;
    left:-6px;
}
/* 担当実績のある業種：下線の右端を少し短くする */
.achievement-subtitle {
    width: calc(100% - 18px) !important;
    max-width: calc(100% - 18px) !important;
}
/* PC版：担当業種リストの2列目を少し左へ寄せる／FLOW番号／ごあいさつジャンプ */
@media (min-width: 769px) {
    .achievement-industry-columns > .wp-block-column:nth-child(2) {
        transform: translateX(-18px);
    }
    .flow-num-img {
        margin-left: -12px;
    }
    #greeting {
        position: relative;
        transform: translateY(50px);
        scroll-margin-top: 120px !important;
    }
}

/* スマホでは文字を動かさない */
@media (max-width: 768px) {
    #greeting {
        position: static;
        transform: none !important;
        scroll-margin-top: 90px !important;
    }
}


#strengths,
#price,
#area {
    scroll-margin-top: 120px;
}

/* PC・スマホ共通 */
#service,
#faq {
    position: relative;
    transform: translateY(40px);
    scroll-margin-top: 65px !important;
}

/* スマホ版：FAQのジャンプ位置を下げる */
@media (max-width: 768px) {
    #faq {
        scroll-margin-top: 100px !important;
    }
}

.price-note-card{
    max-width: 520px;
    margin: 40px auto 0;
    padding: 18px 24px;
    background: #fafafa;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    font-size: 15px;
    line-height: 1.9;
    color: #555;
    box-shadow: 0 2px 8px rgba(0,0,0,.04);
}
.price-note-card{
    margin-bottom: 60px;
}

/* PRICE英字：字間を詰め、少し太く（PC/SP共通） */
.price-header.section-heading .wp-block-group__inner-container > p:first-of-type,
.price-header.section-heading .wp-block-group__inner-container > p:first-of-type *,
.price-header.section-heading .wp-block-group__inner-container > p:first-of-type .swl-fz,
.price-header .wp-block-group__inner-container > p:first-of-type,
.price-header .wp-block-group__inner-container > p:first-of-type *{
    letter-spacing: .12em !important;
    font-weight: 700 !important;
}

/* 料金プラン：他の主要見出しと同じ太さ（PC/SP共通） */
.price-header.section-heading .wp-block-group__inner-container > p:nth-of-type(2),
.price-header.section-heading .wp-block-group__inner-container > p:nth-of-type(2) *,
.price-header.section-heading .wp-block-group__inner-container > p:nth-of-type(2) .swl-fz,
.price-header.section-heading .wp-block-group__inner-container > p:nth-of-type(2) strong,
.price-header .wp-block-group__inner-container > p:nth-of-type(2),
.price-header .wp-block-group__inner-container > p:nth-of-type(2) *{
    font-weight: 700 !important;
}

/* PC：JOURNAL上余白・説明文下余白（activity-section直下の実DOMに当てる） */
@media (min-width:960px){
  html body .post_content > .wp-block-group.activity-section > .wp-block-group__inner-container,
  html body .post_content > .activity-section > .wp-block-group__inner-container{
    padding-top:0 !important;
    margin-top:0 !important;
  }
  html body .post_content > .wp-block-group.activity-section .p-postListWrap,
  html body .post_content > .wp-block-group.activity-section .activity-post-list,
  html body .post_content > .activity-section .p-postListWrap.activity-post-list{
    margin-top:56px !important;
  }
}

/* ごあいさつ欄：プロフィール画像を元の比率で表示 */
.greeting-profile-photo {
  text-align: center;
}

.greeting-profile-photo img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  margin: 0 auto !important;
}
.home-back-btn {
    margin-top: 17px;
    margin-bottom: 32px;
    text-align: center;
}

.cf7-submit-wrap + p,
.cf7-submit-wrap + .home-back-btn {
    margin-top: -5px !important;
}

.home-back-btn a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    width: 360px;
    max-width: 42%;
    padding: 17px 12px;

    background: #fff;
    color: #1f4b9b;
    border: 2px solid #1f4b9b;
    border-radius: 999px;

    text-decoration: none;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;

    transition: all .25s ease;
    box-sizing: border-box;
}

.home-back-btn .dashicons {
    display: inline-block;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    font-size: 20px;
    line-height: 20px;
}

.home-back-btn a:hover {
    background: #1f4b9b;
    color: #fff;
}

/* スマホ版 */
@media (max-width: 768px) {
    .home-back-btn {
        margin-top: 12px;
        margin-bottom: 28px;
    }

    .home-back-btn a {
        width: 88%;
        max-width: 88%;
        padding: 16px 12px;
        font-size: 18px;
    }
}
/* GREETINGの上の余白を広げる */
#greeting {
    padding-top: 13px !important;
}
/* 「くるめ産業医事務所が選ばれる4つの理由」を大きくする */
#strengths + p strong {
  font-size: 16px !important;
  line-height: 1.6 !important;
  font-weight: 700 !important;
}
/* 左へ少し移動 */
.page-id-1496 .post_content > .wp-block-buttons:first-child{
    position: relative !important;
    transform: translate(-80px, -120px) !important;
}
/* =========================
   共通カード
========================= */

.reason-card,
.strengths-cta,
.area-card,
.area-access-card,
.area-cta,
.service-card,
.flow-card,
.price-card{
  background:#fff !important;
  border-radius:24px !important;
  box-shadow:0 10px 30px rgba(18,52,86,.08) !important;
  box-sizing:border-box !important;
}

.reason-card,
.strengths-cta,
.area-cta,
.service-card,
.flow-card,
.price-card{
  transition:all .25s ease !important;
}

.reason-card:hover,
.strengths-cta:hover,
.area-cta:hover,
.service-card:hover,
.flow-card:hover,
.price-card:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 40px rgba(18,52,86,.14) !important;
}
.reason-wrap{
  gap:14px !important;
}

/* =========================
   強みカード
========================= */

.strengths-box.pc_only .reason-wrap,
.strengths-box.pc-only .reason-wrap{
  width:100% !important;
  max-width:100% !important;
  margin:0 auto !important;
}

.strengths-box.pc_only .reason-wrap > .wp-block-column,
.strengths-box.pc-only .reason-wrap > .wp-block-column{
  flex:1 1 0 !important;
  max-width:none !important;
  display:flex !important;
  flex-direction:column !important;
  gap:16px !important;
}
.strengths-box.pc_only,
.strengths-box.pc-only{
  width:100% !important;
  max-width:min(1000px, calc(100vw - 48px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  transform:none !important;
}


.reason-card{
  padding:20px 24px !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

.reason-card .wp-block-button__link{
  color:#000 !important;
  border-color:#000 !important;
  transition:all .3s ease;
}

.reason-card .wp-block-button__link:hover{
  background:#143d8d !important;
  border-color:#143d8d !important;
  color:#fff !important;
  border-radius:8px !important;
}
.reason-card .wp-block-button__link{
  border-radius:8px !important;
}

.strengths-cta{
  margin:20px auto 0 auto !important;
  width:100% !important;
  max-width:100% !important;
  padding:24px 32px !important;
  overflow:hidden !important;
}


/* =========================
   お悩みカード
========================= */
.concern-section{
    background:linear-gradient(
        to bottom,
        #eef6ff 0%,
        #f6faff 50%,
        #ffffff 100%
    );
}
.concern-card{
  display:flex;
  align-items:center;
  gap:24px;
  background:#fff;
  border-radius:18px;
  padding:24px 32px;
  box-shadow:0 10px 30px rgba(43,90,140,.1);
  min-height:110px;
}


/* =========================
   対応エリア
========================= */

.pc_only .area-card,
.pc-only .area-card{
  padding:28px 32px 24px !important;
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}

/* 左カード＋右マップ（参考PC：約40:60） */
.pc_only .wp-block-columns.area-columns:not(.area-cta),
.pc-only .wp-block-columns.area-columns:not(.area-cta){
  display:grid !important;
  grid-template-columns:minmax(0, 4fr) minmax(0, 6fr) !important;
  gap:20px !important;
  align-items:stretch !important;
  justify-content:center !important;
  width:100% !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  transform:none !important;
  left:auto !important;
  right:auto !important;
  inset:auto !important;
}

.pc_only .wp-block-columns.area-columns:not(.area-cta) > .wp-block-column:first-child,
.pc-only .wp-block-columns.area-columns:not(.area-cta) > .wp-block-column:first-child{
  flex:none !important;
  max-width:none !important;
  width:auto !important;
  min-width:0 !important;
}

.pc_only .wp-block-columns.area-columns:not(.area-cta) > .wp-block-column:last-child,
.pc-only .wp-block-columns.area-columns:not(.area-cta) > .wp-block-column:last-child{
  flex:none !important;
  max-width:none !important;
  width:auto !important;
  min-width:0 !important;
}

/* 左カード */
.pc_only .area-access-card,
.pc-only .area-access-card{
  padding:32px 34px 28px !important;
}


.pc_only .area-access-card p,
.pc-only .area-access-card p,
.pc_only .area-access-card li,
.pc-only .area-access-card li{
  margin-top:0 !important;
}

/* アクセス一覧だけ行間を詰める */
.pc_only .area-access-list .wp-block-media-text,
.pc-only .area-access-list .wp-block-media-text{
  margin-bottom:3px !important;
  grid-template-columns:13% auto !important;
}

/* 地図だけ調整 */
.pc_only .area-map,
.pc-only .area-map{
  width:100% !important;
  max-width:min(920px, 100%) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.pc_only .area-map img,
.pc-only .area-map img{
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  display:block !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* CTA */
.pc_only .area-cta,
.pc-only .area-cta{
  width:min(820px, 100%) !important;
  max-width:820px !important;
  margin:32px auto 0 !important;
  padding:18px 28px 18px 12px !important;
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) 2px auto !important;
  column-gap:34px !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  transform:none !important;
}

/* CTA内の画像・ボタンを元に戻す */
.pc_only .area-cta figure,
.pc-only .area-cta figure{
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
}

.pc_only .area-contact-btn,
.pc-only .area-contact-btn{
  width:auto !important;
  max-width:none !important;
  transform:none !important;
}

.pc_only .area-divider,
.pc-only .area-divider{
  flex:0 0 3px !important;
  width:1px !important;
  height:60px !important;
  min-height:60px !important;
  background:#d7e4fb !important;
  border-radius:4px !important;
  align-self:center !important;

  margin-right:2px !important;  /* ←線を左へ移動 */
}
/* 対応エリア見出し下の余白を縮める */
#area{
  margin-bottom:25px !important;
}

.pc_only .area-cta,
.pc-only .area-cta{
  transform:none !important;
}

/* =========================
   サービスカード
========================= */

.pc_only .service-wrap,
.pc-only .service-wrap{
  width:100% !important;
  max-width:min(1100px, calc(100vw - 48px)) !important;
  margin:0 auto !important;
  transform:none !important;
}
.service-wrap{
    column-gap: 18px !important;
}

.service-card{
  padding:32px 28px !important;
  min-height:290px !important;
}

.service-card p{
  font-size:15px !important;
  line-height:1.9 !important;
}

.service-card h3,
.service-card .wp-block-heading{
  font-size:17px !important;
  line-height:1.5 !important;
}


/* =========================
   ご契約までの流れ
========================= */

.flow-card{
  max-width:1120px !important;
  margin:0 auto 24px auto !important;
  padding:10px 44px !important;
}

.flow-card > .wp-block-columns{
  align-items:center !important;
  gap:28px !important;
  margin-bottom:0 !important;
}

.flow-left{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:22px !important;
  flex:0 0 330px !important;
  max-width:330px !important;
}

.flow-text{
  flex:1 !important;
  max-width:none !important;
  margin-left:0 !important;
}

.flow-num-img,
.flow-num-img img{
  width:90px !important;
  max-width:90px !important;
  height:auto !important;
}

.flow-icon-img,
.flow-icon-img img{
  width:130px !important;
  max-width:130px !important;
  height:auto !important;
}

.flow-text .wp-block-heading{
  font-size:30px !important;
  line-height:1.35 !important;
  margin-bottom:12px !important;
}

.flow-text p{
  font-size:15px !important;
  line-height:1.8 !important;
  margin:0 !important;
}




/* =========================
   SP/タブレット（〜959px）：エリア補助
   ※ transform/幅の基準リセットはファイル先頭 Step2 ブロック
========================= */

@media(max-width:959px){

  .sp_only .area-card,
  .sp-only .area-card{
    padding:24px !important;
  }

  .sp_only .area-contact-btn,
  .sp-only .area-contact-btn{
    transform:none !important;
  }

  .sp_only .area-contact-btn a,
  .sp-only .area-contact-btn a{
    min-width:0 !important;
    width:100% !important;
    font-size:16px !important;
  }

  .align-left-title{
    transform:none !important;
  }
}

@media(max-width:768px){

  .price-card-title,
  .reason-card .price-card-title,
  .price-plan-title-standard{
    font-size:22px !important;
  }
}
.concern-arrow{
    width:900px;
    max-width:90%;
    height:220px;
    margin:-100px auto 50px;

    background:linear-gradient(
        135deg,
        #6f8fd4 0%,
        #8fc8e6 100%
    );

    clip-path:polygon(
        7% 0,
        93% 0,
        50% 85%
    );

    display:flex;
    justify-content:center;
    align-items:center;   /* ← flex-start → center */
    box-sizing:border-box;
}

.concern-arrow-text{
    color:#fff;
    font-size:22px;
    font-weight:700;
    line-height:1.8;
    text-align:center;
    letter-spacing:.04em;

    transform:translateY(-45px);
  text-shadow:
    0 2px 8px rgba(0,0,0,.18);
}
.price-number{
  font-size:50px;
  line-height:1;
  font-weight:700;
  white-space:nowrap;
	  color:#15803d;
}

.price-label{
  display:inline-block;
  padding:4px 8px;
  border:1px solid #15803d;
  border-radius:6px;
  color:#15803d;
  font-size:10px;
  font-weight:700;
  margin-bottom:8px;
}
.price-label-blue{
  border:1px solid #2563eb;
  color:#2563eb;
  background:#eef5ff;
}
.button-blue a{
  background:#fff !important;
  border:2px solid #2563eb !important;
  color:#2563eb !important;
}
.price-number-blue{
  color:#2563eb;
}
.note-blue{
  background:#eef5ff;
  color:#2563eb;
}
.button-blue a:hover{
  background:#2563eb !important;
  color:#fff !important;
}
.button-blue a{
  white-space: nowrap;
}
.button-blue a{
  min-height:52px !important;
  padding:10px 24px 8px !important;
  line-height:1 !important;
  display:flex;
  align-items:center;
  justify-content:center;
}
.plan-title-standard{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  white-space:nowrap;
  transform:translateX(-14px);
}
/* FAQカード */
.faq-box{
  background:#fff;
  border-radius:14px;
  box-shadow:0 8px 24px rgba(30,90,160,.08);
  margin-bottom:6px !important;
  overflow:hidden;
}

/* 見出し行 */
.faq-box :is(button, summary, .swell-block-accordion__title, .swell-block-accordion__label){
  min-height:72px !important;
  padding:0 28px !important;
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
  color:#0b3670 !important;
  font-weight:700 !important;
  font-size:17px !important;
  width:100% !important;
}

/* 左のQ */
.faq-box :is(button, summary, .swell-block-accordion__title, .swell-block-accordion__label)::before{
  content:"Q";
  width:38px;
  height:38px;
  border-radius:50%;
  background:#2563c9;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  font-weight:700;
  flex-shrink:0;
}

/* ＋を右端へ */
.faq-box :is(.swell-block-accordion__icon, .c-accordion__icon, .__icon){
  margin-left:auto !important;
  flex-shrink:0 !important;
}

/* 回答部分の余白 */
.faq-box .swell-block-accordion__body,
.faq-box .swell-block-accordion__content,
.faq-box .swell-block-accordion__panel,
.faq-box .wp-block-paragraph,
.faq-box p{
  padding:0 28px 32px 84px !important;
  margin:0 !important;
  line-height:1.8;
}

/* 外側の白帯 */
.faq-cta{
  background:#fff;
  padding:40px 60px;
}


/* 中の薄青カード */
.faq-cta-content{
  background:linear-gradient(90deg,#eef5ff 0%,#f8fbff 100%);
  border-radius:24px;
  padding:36px 48px;
  max-width:1100px;
  margin:0 auto;
  box-shadow:0 10px 30px rgba(30,90,160,.08);
}

/* 段落とボタンの間隔 */
.faq-cta-content p{
  margin-bottom:22px !important;
}

/* ボタン */
.faq-cta-content .wp-block-button__link,
.faq-cta-btn a{
  background:#153e8a !important;
  color:#fff !important;
  border:1px solid #153e8a !important;
  border-radius:999px !important;
  min-height:56px;
  padding:14px 48px !important;
  font-weight:700 !important;
  box-shadow:0 8px 20px rgba(21,62,138,.25);
}

/* ホバー */
.faq-cta-content .wp-block-button__link:hover,
.faq-cta-btn a:hover{
  background:#2455b6 !important;
  border-color:#2455b6 !important;
}
.faq-list{
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
}
.concern-section{
  background:linear-gradient(
    180deg,
    #eef6ff 0%,
    #f8fbff 55%,
    #ffffff 88%,
    #ffffff 100%
  );
  padding:80px 20px 120px;
}

/* 画像＋吹き出しの1セット */
.concern-list{
  max-width:800px;
  margin:48px auto 0 !important;
  display:flex;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
  transform:translateX(-50px);
}
.concern-second{
  margin-top:30px !important;
}
.concern-third{
  margin-top:-2px !important;
}

/* 左アイコン行 */
.concern-list .wp-block-column:first-child{
  flex-basis:150px !important;
  flex-grow:0 !important;
}

.concern-list .wp-block-column:last-child{
  flex-basis:600px !important;
  flex-grow:0 !important;
}

/* 右アイコン行 */
.concern-list-right .wp-block-column:first-child{
  flex-basis:600px !important;
  flex-grow:0 !important;
}

.concern-list-right .wp-block-column:last-child{
  flex-basis:150px !important;
  flex-grow:0 !important;
}

/* アイコン画像 */
.concern-section img{
  width:140px;
  height:140px;
  object-fit:cover;
  border-radius:50%;
  box-shadow:0 4px 14px rgba(30,70,130,.12);
  border:4px solid #fff;
}

/* 吹き出し本体 */
.concern-bubble{
  background:#fff !important;
  border-radius:18px;
  padding:28px 36px;
  box-shadow:0 8px 24px rgba(30,70,130,.10);
  font-size:1.1rem;
  line-height:1.8;
  color:#24313f;
  position:relative;
  max-width:620px;
}

/* 左アイコン用：左向き三角 */
.concern-bubble::before{
  content:"";
  position:absolute;
  left:-12px;
  top:50%;
  transform:translateY(-50%);
  width:16px;
  height:24px;
  background:#fff;
  clip-path:polygon(100% 0, 0 50%, 100% 100%);
}

/* 右アイコン用：右向き三角 */
.concern-bubble-right::before{
  left:auto;
  right:-12px;
  clip-path:polygon(0 0, 100% 50%, 0 100%);
}

/* 女性側の吹き出しだけ少し離す */
.concern-list:not(.concern-list-right) .concern-bubble{
  margin-left:18px;
}


.company-table{
  max-width:600px;
  margin:48px auto;
}

.company-table table{
  width:100%;
  border-collapse:collapse;
}

.company-table td{
  border-top:1px solid #d8e1ec;
  border-bottom:1px solid #d8e1ec;
  padding:20px 28px;
  font-size:16px;
  line-height:1.8;
}

.company-table td:first-child{
  width:150px;
  background:#eaf2fb;
  color:#0b3670;
  font-weight:700;
  white-space:nowrap;
}
.company-table td:first-child{
  width:150px !important;
  min-width:150px !important;
}

.company-table td:last-child{
  background:#fff;
  color:#1f2933;
}

/* =========================
   フッター上段
========================= */
.footer-brand-row{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
}

/* ロゴ側 */
.footer-brand-row .wp-block-column:first-child{
  flex:0 0 auto !important;
  width:auto !important;
  margin-right:-10px !important;
}

/* 社名側 */
.footer-brand-row .wp-block-column:last-child{
  flex:0 0 auto !important;
  width:auto !important;

  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}

/* ロゴ画像 */
.footer-brand-row img{
  width:145px !important;
  max-width:none !important;
  height:auto !important;
  display:block;
}

/* =========================
   会社名
========================= */

.footer-logo-title{
  font-size:30px;
  font-weight:700;
  color:#143d8d;
  letter-spacing:.05em;
  line-height:1.25;
  white-space:nowrap;
  text-align:center;
  margin-bottom:10px !important;
}

/* =========================
   合同会社
========================= */

.footer-logo-sub{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;

  font-size:16px;
  color:#143d8d;
  letter-spacing:.12em;

  white-space:nowrap;
  line-height:1.2;
  margin-top:0 !important;

  background:transparent !important;
}

.footer-logo-sub::before,
.footer-logo-sub::after{
  content:"";
  width:80px;
  height:1px;
  background:#b8c7e6;
  flex-shrink:0;
}

/* =========================
   右側エリア
========================= */

.footer-area{
  display:flex;
  align-items:center;
  min-height:100px;

  border-left:1px solid #b8c7dd;
  padding-left:40px;

  font-size:16px;
  line-height:1.8;
  color:#1f2933;
}


/* =========================
   フッターメニュー
========================= */

.l-footer .footer_nav,
.l-footer .c-footer__nav,
.l-footer nav ul{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  flex-wrap:wrap !important;

  margin:24px auto 0 !important;
  padding:24px 0 0 !important;

  border-top:1px solid #dbe4f2 !important;
}

.l-footer .footer_nav li,
.l-footer .c-footer__nav li,
.l-footer nav li{
  margin:0 !important;
  padding:0 18px !important;
  line-height:1.6 !important;
}

.l-footer .footer_nav a,
.l-footer .c-footer__nav a,
.l-footer nav a{
  color:#143d8d !important;
  font-size:16px !important;
  font-weight:600 !important;
  text-decoration:none !important;
  letter-spacing:.04em !important;
}
/* =========================
   コピーライト
========================= */

.l-footer .copyright{
  text-align:center !important;
  margin-top:8px !important;
  color:#6b7280 !important;
  font-size:12px !important;
}

/* 会社概要とフッターの区切り線 */
.footer-wrap{
  border-top:2px solid #b8c7e6;
  margin-top:60px;
  padding-top:40px;
}
/* メニューとコピーライトの間の区切り線 */
.l-footer .copyright{
  text-align:center !important;
  margin-top:18px !important;
  padding-top:18px !important;
  color:#143d8d;
  font-size:13px;
  border-top:none !important;
}
/* =========================
   ヘッダー・ヒーロー調整
========================= */

#header{
  background:#fff !important;
  box-shadow:0 4px 18px rgba(20,61,141,.08) !important;
}

/* ヘッダー高さ */
#header,
#header .l-header,
#header .l-header__inner{
  min-height:84px !important;
  max-height:84px !important;
  height:84px !important;
}

/* ロゴ */
#header .c-headLogo img{
  max-height:52px !important;
  width:auto !important;
}

/* メニュー文字 */
#header .c-gnav a,
.l-fixHeader .c-gnav a{
  color:#143d8d !important;
  font-size:15px !important;
  font-weight:700 !important;
}

/* メニューの下線をヘッダー内に収める */
.c-gnav > li > a::after{
  bottom:23px !important;
  height:2px !important;
  width:70% !important;
  left:15% !important;
}
/* 通常ヘッダーの下線 */
#header .c-gnav > li > a::after{
  bottom:22px !important;
}

/* 追従ヘッダーの下線 */
.l-fixHeader .c-gnav > li > a::after{
  bottom:20px !important;
}

/* 最後のメニューをCTAボタン化 */
.c-gnav > li:last-child{
  margin-left:36px !important;
}

.c-gnav > li:last-child > a{
  background:transparent !important;
  padding:0 !important;
}

.c-gnav > li:last-child > a::before{
  content:"無料相談はこちら";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#153e8a;
  color:#fff;
  border-radius:8px;
  height:42px;
  padding:0 22px;
  font-size:15px;
  font-weight:700;
  white-space:nowrap;
  position:relative;
  top:2px;
}

.c-gnav > li:last-child > a:hover::before{
  background:#2455b6;
}

.c-gnav > li:last-child > a .ttl,
.c-gnav > li:last-child > a span{
  display:none !important;
}

/* ヒーロー上の白余白を削除 */
.home #content,
.home .l-content,
.home .l-mainContent,
.home .post_content,
#post_slider,
.p-postSlider,
.p-postSlider__inner,
.p-postSlider .swiper,
.p-postSlider__swiper{
  margin-top:0 !important;
  padding-top:0 !important;
}

#post_slider,
.p-postSlider,
.p-postSlider__inner,
.p-postSlider .swiper,
.p-postSlider__swiper{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

/* エリアCTAボタン */
.area-cta .swell-block-button__link,
.area-cta .swell-block-button__link:hover{
  background:#153e8a !important;
  border-color:#153e8a !important;
  color:#fff !important;
}
@media (min-width:769px){
.wp-block-cover.hero-copy{
  min-height:calc(100vh - 200px) !important;
  height:calc(100vh - 200px) !important;
}

  .wp-block-cover.hero-copy .wp-block-cover__image-background{
    object-fit:cover !important;
    object-position:50% 65% !important;
  }
}
@media (min-width:769px){
  .wp-block-cover.hero-copy .wp-block-cover__inner-container{
    position:relative !important;
    left:80px !important;
    top:-90px !important;
    max-width:none !important;
  }

  .wp-block-cover.hero-copy .wp-block-cover__inner-container p,
  .wp-block-cover.hero-copy .wp-block-cover__inner-container span{
    color:#143d8d !important;
  }
}
/* =========================
   保有資格・経歴カード
========================= */

.profile-row{
  display:flex !important;
  gap:15px !important;
  align-items:stretch !important;
}

.profile-row > .profile-card{
  flex:1 1 0 !important;
  width:50% !important;
  max-width:none !important;
}

.profile-card{
  background:#fff !important;
  border:1px solid #d8e2f2 !important;
  border-radius:16px !important;
  padding:30px 36px 28px !important;
  box-shadow:0 10px 28px rgba(20,61,141,.06) !important;
  height:100% !important;
}

/* タイトル */
.profile-card .profile-title{
  display:grid !important;
  grid-template-columns:auto 1fr !important;
  align-items:center !important;
  column-gap:14px !important;
  width:100% !important;
  max-width:100% !important;
  color:#143d8d !important;
  font-size:20px !important;
  font-weight:700 !important;
  line-height:1.4 !important;
  margin:0 0 24px !important;
  padding-left:18px !important;
  border-left:6px solid #143d8d !important;
}

.profile-card .profile-title::after{
  content:"" !important;
  display:block !important;
  width:100% !important;
  height:1px !important;
  background:#dce5f5 !important;
}

/* リスト */
.profile-card ul{
  margin:0 !important;
  padding-left:0 !important;
  list-style:none !important;
}

.profile-card li{
  position:relative !important;
  padding-left:20px !important;
  margin-bottom:12px !important;
  font-weight:700 !important;
  color:#222 !important;
  line-height:1.65 !important;
}

.profile-card li::before{
  content:"" !important;
  width:6px !important;
  height:6px !important;
  background:#143d8d !important;
  border-radius:50% !important;
  position:absolute !important;
  left:0 !important;
  top:.72em !important;
}

.profile-card li small,
.profile-card .note{
  display:block !important;
  margin-top:3px !important;
  font-size:13px !important;
  font-weight:400 !important;
  color:#555 !important;
  line-height:1.6 !important;
}

/* スマホ */
@media (max-width:768px){
  .profile-row{
    flex-direction:column !important;
    gap:18px !important;
  }

  .profile-row > .profile-card{
    width:100% !important;
  }

  .profile-card{
    padding:24px 22px !important;
  }
}
.profile-card > .wp-block-group__inner-container,
.profile-card > .is-layout-constrained{
  width:100% !important;
  max-width:100% !important;
}

.profile-card .profile-title{
  width:100% !important;
  min-width:100% !important;
}


/* 経歴タイムライン */
.profile-timeline li{
  position:relative !important;
  list-style:none !important;
  padding-left:24px !important;
  margin:0 0 18px !important;
  line-height:1.5 !important;
}

/* 丸 */
.profile-timeline li::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:.55em !important;
  width:10px !important;
  height:10px !important;
  border-radius:50% !important;
  background:#143d8d !important;
  z-index:2 !important;
}

/* 線 */
.profile-timeline li::after{
  content:"" !important;
  position:absolute !important;
  left:4px !important;       /* 丸の中心 */
  top:.55em !important;
  bottom:-28px !important;   /* 点と点の間の線の長さ */
  width:2px !important;
  background:#143d8d !important;
}

/* 最後の項目は下に線を出さない */
.profile-timeline li:last-child::after,
.profile-timeline li:last-of-type::after{
  display:none !important;
}
/* 丸 */
.profile-timeline li::before{
    content:"";
    position:absolute;
  left:0;
top:.52em;
width:8px;
height:8px;
    border-radius:50%;
    background:#143d8d;
}
/* カード内：XS説明文だけ細字・グレー */
.profile-card li span.swl-fz.uf-fz-xs,
.profile-card li span[class*="uf-fz-xs"],
.profile-card li span[class*="swl-fz"]{
  display:block !important;
  margin-top:0px !important;
  font-size:13px !important;
  font-weight:400 !important;
  color:#666 !important;
  line-height:1.6 !important;
}
.profile-timeline{
  padding-bottom:13px !important;
}
.career-card{
  position:relative !important;
  overflow:hidden !important;
}

.career-card::after{
  content:"" !important;
  position:absolute !important;

right:-35px !important;
  bottom:-1px !important;

  width:300px !important;
  height:250px !important;

  background-image:url("https://kurume-sangyoui.com/wp-content/uploads/2026/06/ChatGPT-Image-2026年6月25日-15_32_19-e1782369190847.png") !important;
  background-repeat:no-repeat !important;
  background-size:contain !important;
  background-position:bottom right !important;

  opacity:.60 !important;

  pointer-events:none !important;
  z-index:1 !important;
}

.career-card > *{
  position:relative !important;
  z-index:2 !important;
}
@media (min-width:769px){

  /* テキスト全体の位置 */
  .wp-block-cover.hero-copy .wp-block-cover__inner-container{
    position:relative !important;
    left:40px !important;
    top:-60px !important;
    max-width:none !important;
  }

  /* 英字 */
  .hero-eyebrow{
    margin:0 0 8px !important;
    padding-left:28px !important;
    letter-spacing:0 !important;
    font-size:18px !important;
    line-height:1.4 !important;
    opacity:.75 !important;
  }

  /* メインコピー */
.hero-main-text{
  display:inline-block !important;
  position:relative !important;
  left:25px !important;

  margin:0 0 18px !important;
  padding:0 !important;

  background:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border-radius:0 !important;

  font-size:clamp(42px,4.8vw,68px) !important;
  line-height:1.08 !important;
  letter-spacing:-0.03em !important;
}
  /* サブコピー */
.hero-sub-text{
  margin:0 !important;
  padding-left:28px !important;

  max-width:620px !important;

  font-size:17px !important;
  line-height:1.75 !important;
  font-weight:400 !important;

  text-shadow:
    0 0 8px rgba(255,255,255,.95),
    0 2px 12px rgba(255,255,255,.85);
}

  /* 背景画像 */
  .wp-block-cover.hero-copy .wp-block-cover__image-background{
    object-fit:cover !important;
    object-position:50% 62% !important;
  }
}
.hero-main-text{
  background:none !important;
  backdrop-filter:none !important;
  padding:0 !important;
}
.hero-main-text{
  text-shadow:
    0 2px 12px rgba(255,255,255,.9),
    0 0 24px rgba(255,255,255,.7);
}
/* =========================
   料金プラン 完成版
========================= */

/* ---------- カード共通 ---------- */

.price-card{
  width:100% !important;
  max-width:400px !important;
  margin:0 auto !important;
  padding:30px 30px 34px !important;
  background:#fff !important;
  border-radius:28px !important;
  box-shadow:0 14px 34px rgba(18,52,86,.08) !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  transition:all .25s ease !important;
}

.price-card:hover{
  transform:translateY(-5px) !important;
  box-shadow:0 20px 44px rgba(18,52,86,.14) !important;
}

/* ---------- カード色 ---------- */

.price-card-light{
  border:1.5px solid #78a98c !important;
  background:linear-gradient(180deg,#f7fbf8 0%,#fff 22%,#fff 100%) !important;
}

.price-card-standard{
  border:1.5px solid #8aa3d9 !important;
  background:linear-gradient(180deg,#f4f7fc 0%,#fff 22%,#fff 100%) !important;
}

.price-card-custom{
  border:1.5px solid #b8b8b8 !important;
  background:linear-gradient(180deg,#f7f7f7 0%,#fff 22%,#fff 100%) !important;
}

/* ---------- タイトル ---------- */

.price-card-title,
.price-plan-title-standard{
  white-space:nowrap !important;
  font-size:24px !important;
  line-height:1.35 !important;
  margin-bottom:0 !important;
}

/* ---------- 区切り線 ---------- */

.plan-separator,
.price-card hr,
.price-card .wp-block-separator{
  margin:18px 0 26px !important;
  border-color:#e5e7eb !important;
}

/* ---------- 説明文 ---------- */

.price-card .price-desc{
  font-size:15px !important;
  line-height:1.9 !important;
  margin:0 0 22px !important;
  text-align:center !important;
}

/* ---------- 月額ラベル ---------- */

.price-label{
  display:inline-block !important;
  padding:5px 12px !important;
  border-radius:8px !important;
  font-size:14px !important;
  font-weight:700 !important;
  margin-bottom:12px !important;
  background:#fff !important;
}

.price-card-light .price-label{
  color:#2d6a4f !important;
  border:1.5px solid #2d6a4f !important;
}

.price-card-standard .price-label,
.price-label-blue{
  color:#143d8d !important;
  border:1.5px solid #143d8d !important;
}

/* ---------- 金額 ---------- */

.price-main{
  display:flex !important;
  align-items:baseline !important;
  justify-content:center !important;
  gap:4px !important;
  margin:4px 0 0 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  overflow:visible !important;
}

.price-number,
.price-number-blue{
  font-size:50px !important;
  line-height:1 !important;
  font-weight:700 !important;
  white-space:nowrap !important;
}

.price-number::after{
  content:"円（税込）" !important;
  font-size:14px !important;
  font-weight:400 !important;
  margin-left:4px !important;
}

.price-card-light .price-number,
.price-card-light .price-main{
  color:#2d6a4f !important;
}

.price-card-standard .price-number,
.price-card-standard .price-number-blue,
.price-card-standard .price-main{
  color:#143d8d !important;
}

/* 税込価格 */
.price-tax{
  text-align:center !important;
  white-space:nowrap !important;
  margin:-42px 0 12px !important;
  font-size:16px !important;
  line-height:1.2 !important;
  color:#333 !important;
}

.price-tax p,
.price-tax *{
  margin:0 !important;
}

/* 料金カード内スペーサー無効化 */
.price-card .wp-block-spacer{
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
}

/* ---------- リスト ---------- */

.price-card ul{
  margin:18px 0 20px !important;
  padding-left:0 !important;
  list-style:none !important;
}

.price-card li{
  position:relative !important;
  padding-left:32px !important;
  margin-bottom:10px !important;
  color:#222 !important;
  font-size:17px !important;
  line-height:1.55 !important;
}

.price-card li::before{
  content:"✓" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  font-weight:700 !important;
  color:#143d8d !important;
}

.price-card-light li::before{
  color:#2d6a4f !important;
}

/* ---------- 面談業務帯 ---------- */

.price-note,
.note-blue{
  width:100% !important;
  min-height:52px !important;
  margin:18px auto 22px !important;
  padding:12px 16px !important;
  border-radius:10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  box-sizing:border-box !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.4 !important;
}

.price-card-light .price-note{
  background:#f3f8f5 !important;
  color:#2d6a4f !important;
}

.price-card-standard .price-note,
.note-blue{
  background:#f4f7fc !important;
  color:#143d8d !important;
}

.price-note p,
.price-note span{
  margin:0 !important;
  padding:0 !important;
  line-height:1.4 !important;
  white-space:nowrap !important;
}

.price-note figure,
.price-note .wp-block-image{
  margin:0 !important;
  padding:0 !important;
  line-height:1 !important;
}

.price-note img{
  width:24px !important;
  height:24px !important;
  max-width:24px !important;
  object-fit:contain !important;
}

/* ---------- ボタン共通 ---------- */

.price-button{
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:none !important;
  background:transparent !important;
}

.price-button a,
.price-button .wp-block-button__link,
.price-button .swell-block-button__link,
.price-button .wp-element-button{
  width:100% !important;
  height:48px !important;
  min-height:48px !important;
  padding:0 18px !important;
  border-radius:13px !important;
  box-sizing:border-box !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;

  background:#fff !important;
  background-color:#fff !important;
  background-image:none !important;

  font-size:15px !important;
  font-weight:700 !important;
  line-height:1 !important;
  text-decoration:none !important;
  white-space:nowrap !important;

  border:2px solid currentColor !important;
  box-shadow:none !important;
  transition:all .25s ease !important;
}

.price-button a:hover,
.price-button .wp-block-button__link:hover,
.price-button .swell-block-button__link:hover,
.price-button .wp-element-button:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 8px 22px rgba(20,61,141,.15) !important;
}

/* ---------- ボタン内アイコン ---------- */

.price-button .swl-inline-icon{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  flex:0 0 18px !important;

  margin:0 !important;
  font-size:18px !important;
  line-height:1 !important;
}

.price-button .swl-inline-icon svg{
  width:18px !important;
  height:18px !important;
  display:block !important;
  margin:0 !important;
}

/* ---------- ボタン色 ---------- */

/* ライト */
.price-card-light .price-button a,
.price-card-light .price-button .wp-block-button__link,
.price-card-light .price-button .swell-block-button__link,
.price-card-light .price-button .wp-element-button{
  color:#2d6a4f !important;
  border-color:#2d6a4f !important;
}

.price-card-light .price-button a:hover,
.price-card-light .price-button .wp-block-button__link:hover,
.price-card-light .price-button .swell-block-button__link:hover,
.price-card-light .price-button .wp-element-button:hover{
  background:#2d6a4f !important;
  background-color:#2d6a4f !important;
  color:#fff !important;
  border-color:#2d6a4f !important;
}

/* スタンダード */
.price-card-standard .price-button a,
.price-card-standard .price-button .wp-block-button__link,
.price-card-standard .price-button .swell-block-button__link,
.price-card-standard .price-button .wp-element-button{
  color:#143d8d !important;
  border-color:#143d8d !important;
}

.price-card-standard .price-button a:hover,
.price-card-standard .price-button .wp-block-button__link:hover,
.price-card-standard .price-button .swell-block-button__link:hover,
.price-card-standard .price-button .wp-element-button:hover{
  background:#143d8d !important;
  background-color:#143d8d !important;
  color:#fff !important;
  border-color:#143d8d !important;
}

/* カスタム */
.price-card-custom .price-button a,
.price-card-custom .price-button .wp-block-button__link,
.price-card-custom .price-button .swell-block-button__link,
.price-card-custom .price-button .wp-element-button{
  color:#111 !important;
  border-color:#111 !important;
}

.price-card-custom .price-button a:hover,
.price-card-custom .price-button .wp-block-button__link:hover,
.price-card-custom .price-button .swell-block-button__link:hover{
  background:#3a3f46 !important;
  color:#fff !important;
  border-color:#3a3f46 !important;

  transform:none !important;
  box-shadow:none !important;
}
.price-card-custom .price-button a:hover,
.price-card-custom .price-button .wp-block-button__link:hover,
.price-card-custom .price-button .swell-block-button__link:hover{
  box-shadow:none !important;
}

/* ---------- カスタム見積もり ---------- */

.estimate-title-box{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  background:#f3f3f3 !important;
  border-radius:10px !important;
  padding:12px 16px !important;
  margin:18px 0 24px !important;
  min-height:58px !important;
}

.estimate-title-box img{
  width:28px !important;
  height:28px !important;
}

.estimate-title-box p{
  margin:0 !important;
  font-size:20px !important;
  font-weight:700 !important;
  line-height:1.3 !important;
  white-space:nowrap !important;
}

.price-card-custom p{
  font-size:15px !important;
  line-height:1.75 !important;
}
/* カスタムプランだけ区切り線の上を広げる */
.price-card-custom .plan-separator,
.price-card-custom hr,
.price-card-custom .wp-block-separator{
    margin-top:32px !important;
    margin-bottom:26px !important;
}

/* ---------- スマホ ---------- */

@media(max-width:768px){
  .price-card{
    max-width:100% !important;
    padding:30px 24px 34px !important;
  }

  .price-card-title,
  .price-plan-title-standard{
    font-size:22px !important;
  }

  .price-number,
  .price-number-blue{
    font-size:48px !important;
  }

  .price-card li{
    font-size:16px !important;
  }

  .price-button a,
  .price-button .wp-block-button__link,
  .price-button .swell-block-button__link,
  .price-button .wp-element-button{
    font-size:15px !important;
  }
}
/* スタンダード料金ボタン */
.standard-price-button a,
.standard-price-button .wp-block-button__link,
.standard-price-button .wp-element-button{
  background:#fff !important;
  background-color:#fff !important;
  background-image:none !important;

  color:#143d8d !important;
  border:2px solid #143d8d !important;

  height:46px !important;
  min-height:46px !important;
  padding:0 16px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0px !important;

  font-size:13.5px !important;
  line-height:1 !important;
  white-space:nowrap !important;

  border-radius:13px !important;
  box-shadow:none !important;
}


.standard-price-button a:hover,
.standard-price-button .wp-block-button__link:hover,
.standard-price-button .wp-element-button:hover{
  background:#143d8d !important;
  color:#fff !important;
  border-color:#143d8d !important;
}

/* アイコン */
.standard-price-button .swl-inline-icon{
  width:16px !important;
  height:16px !important;
  min-width:16px !important;
  flex:0 0 16px !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  margin:0 !important;
  font-size:16px !important;
  line-height:1 !important;
}

.standard-price-button .swl-inline-icon svg{
  width:16px !important;
  height:16px !important;
  display:block !important;
  margin:0 !important;
}

/* 文字サイズも強制 */
.standard-price-button .swl-fz{
  font-size:13.5px !important;
  line-height:1 !important;
}
/* カスタムプランのタイトル文字を左へ */
.price-card-custom .price-card-title{
    transform:translateX(-12px) !important;
}
/* カスタムプラン内のスペーサーだけ有効化 */
.price-card-custom .wp-block-spacer{
  height:24px !important;
  margin:0 !important;
  padding:0 !important;
}
/* ==========================
   ボタンのアイコンと文字間隔
========================== */

.price-button a,
.price-button .wp-block-button__link,
.price-button .swell-block-button__link,
.price-button .wp-element-button{
    gap:2px !important;
}

.price-button .swl-inline-icon{
    margin-right:-2px !important;
    margin-left:0 !important;
}

.price-button .swl-fz{
    margin-left:0 !important;
}
/* スタンダードプランの面談業務アイコンを濃い紺に */
.price-card-standard .price-note img{
    filter:
        brightness(0)
        saturate(100%)
        invert(18%)
        sepia(74%)
        saturate(1694%)
        hue-rotate(207deg)
        brightness(88%)
        contrast(96%);
}

/* =========================
   産業医としての実績カード
========================= */

.achievement-card{
  position:relative !important;
  padding:30px 34px 24px !important;
  border:1px solid #d7e4f7 !important;
  border-radius:22px !important;
  background:#fff !important;
  box-shadow:0 10px 28px rgba(20,61,141,.06) !important;
  overflow:hidden !important;
}

/* タイトル */
.achievement-card > .wp-block-group__inner-container > .wp-block-heading{
  color:#143d8d !important;
  font-size:24px !important;
  font-weight:700 !important;
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  margin:0 0 26px !important;
}

.achievement-card > .wp-block-group__inner-container > .wp-block-heading::before{
  content:"";
  width:8px;
  height:36px;
  background:#143d8d;
  display:inline-block;
  flex:0 0 8px;
}

/* 左右配置 */
.achievement-card .wp-block-columns{
  display:flex !important;
  gap:28px !important;
  align-items:center !important;
  position:relative !important;
}

/* 左カラム */
.achievement-left{
  flex:0 0 32% !important;
  max-width:32% !important;
  text-align:center !important;
}

/* 右カラム */
.achievement-right{
    flex:0 0 68% !important;
    max-width:68% !important;

    padding-left:1px !important;
}

/* 中央仕切り線 */
.achievement-card .wp-block-columns::before{
  content:"";
  position:absolute;
  left:34%;
  top:4%;
  height:90%;
  width:1px;
  background:#dbe6f7;
}

/* 現在担当企業 */
.achievement-label{
  display:inline-block !important;
  white-space:nowrap !important;
  font-size:17px !important;
  font-weight:500 !important;
  color:#111 !important;
  line-height:1.4 !important;
  padding-bottom:7px !important;
  border-bottom:2px solid #d9e7ff !important;
  margin:0 0 18px !important;
}
.achievement-label{
    margin-left:-20px !important;
}

/* 11社 */
.achievement-number{
  color:#143d8d !important;
  font-size:72px !important;
  font-weight:700 !important;
  line-height:1 !important;
  margin:0 0 10px !important;
  white-space:nowrap !important;
	    padding-right:20px !important;
}

.achievement-number .small{
  font-size:24px !important;
  font-weight:700 !important;
  margin-left:4px !important;
  vertical-align:baseline !important;
}

/* 2026年6月現在 */
.achievement-date{
  font-size:13px !important;
  color:#333 !important;
  margin:0 !important;
  letter-spacing:.03em !important;
}

/* 対応業種見出し */
.achievement-subtitle{
  color:#143d8d !important;
  font-size:18px !important;
  font-weight:700 !important;
  margin:-4px 0 14px !important;
  line-height:1.4 !important;
  padding-bottom:9px !important;
  border-bottom:2px solid #d9e7ff !important;
}

.achievement-subtitle::before{
  display:none !important;
  content:none !important;
}

.achievement-subtitle .small,
.achievement-subtitle span{
  font-size:13px !important;
  font-weight:500 !important;
  margin-left:8px !important;
}

/* 業種2列 */
.achievement-industry-columns{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  column-gap:18px !important;
  align-items:start !important;
  margin-top:12px !important;
}

.achievement-industry-columns .wp-block-column{
  flex-basis:auto !important;
  max-width:none !important;
  border-right:none !important;
  border-left:none !important;
}

.achievement-industry-columns::before,
.achievement-industry-columns::after{
  display:none !important;
}

.achievement-industry-columns p{
  margin:0 0 9px !important;
  color:#111 !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.6 !important;
  padding-left:17px !important;
  position:relative !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
}

.achievement-industry-columns p::before{
    content:"●" !important;
    position:absolute !important;
    left:0 !important;
    top:50% !important;
    transform:translateY(-45%) !important;
    color:#143d8d !important;
    font-size:8px !important;
}

/* CTA */
/* （一部）を改行させない */
.achievement-subtitle{
  white-space:nowrap !important;
  font-size:16px !important;
  margin-top:-10px !important;
}

/* 右側全体を少し上へ */
.achievement-right{
  transform:translateY(-8px) !important;
}

/* 業種一覧を少し上へ・詰める */
.achievement-industry-columns{
  margin-top:8px !important;
}

.achievement-industry-columns p{
  margin-bottom:6px !important;
}

/* CTAをコンパクトに */
.achievement-cta{
  margin-top:10px !important;
  padding:6px 18px !important;
  background:#eef5ff !important;
  border:1px solid #dce9ff !important;
  border-radius:14px !important;
  text-align:center !important;
}

.achievement-cta p{
  margin:0 !important;
  color:#143d8d !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1.4 !important;
}
/* 左右カードの高さを揃える */
.profile-card,
.achievement-card{
  min-height:360px !important;
}

/* 実績カード内の余白を少し整える */
.achievement-card{
  padding-top:30px !important;
  padding-bottom:20px !important;
}

/* ビル背景を削除する（.career-card::after の建物画像） */
.achievement-card::after{
  content:none !important;
  background-image:none !important;
  display:none !important;
}
/* ========================================
   CONTACT CTA
======================================== */

.pc_only .contact-cta,
.pc-only .contact-cta{
  max-width:1080px !important;
  margin:40px auto 0 !important;
  padding:14px 34px !important;
  background:#fff !important;
  border:1px solid #b7cff9 !important;
  border-radius:28px !important;
  box-shadow:0 10px 26px rgba(20,61,141,.05) !important;
}

.pc_only .contact-cta-inner,
.pc-only .contact-cta-inner{
  display:flex !important;
  align-items:center !important;
  width:100% !important;
  gap:34px !important;
}

/* 左：画像＋文章 */
.pc_only .contact-cta-left,
.pc-only .contact-cta-left{
  flex:1 1 auto !important;
  display:flex !important;
  align-items:center !important;
  gap:22px !important;
  min-width:0 !important;
}

.pc_only .contact-cta-left figure,
.pc-only .contact-cta-left figure,
.pc_only .contact-cta-left .wp-block-image,
.pc-only .contact-cta-left .wp-block-image{
  width:82px !important;
  flex:0 0 82px !important;
  margin:0 !important;
}

.pc_only .contact-cta-left img,
.pc-only .contact-cta-left img{
  width:82px !important;
  height:82px !important;
  object-fit:contain !important;
}

.pc_only .contact-cta-text,
.pc-only .contact-cta-text{
  flex:1 1 auto !important;
  min-width:0 !important;
}

.pc_only .contact-cta-left p,
.pc-only .contact-cta-left p{
  margin:0 !important;
  text-align:left !important;
  writing-mode:horizontal-tb !important;
  white-space:normal !important;
  word-break:keep-all !important;
}

.pc_only .contact-cta-left p:first-of-type,
.pc-only .contact-cta-left p:first-of-type{
  margin-bottom:6px !important;
  font-size:14.5px !important;
  line-height:1.55 !important;
  color:#333 !important;
  font-weight:500 !important;
}

.pc_only .contact-cta-left p:last-of-type,
.pc-only .contact-cta-left p:last-of-type{
  font-size:23px !important;
  line-height:1.35 !important;
  color:#143d8d !important;
  font-weight:700 !important;
}

/* 仕切り */
.pc_only .contact-cta-divider,
.pc-only .contact-cta-divider{
  flex:0 0 2px !important;
  width:2px !important;
  height:56px !important;
  background:#d7e4fb !important;
  opacity:.85 !important;
}

/* 右：ボタン */
.pc_only .contact-cta-button,
.pc-only .contact-cta-button{
  flex:0 0 300px !important;
  margin-left:auto !important;
}

.pc_only .contact-cta-button .wp-block-button__link,
.pc-only .contact-cta-button .wp-block-button__link{
  width:320px !important;
  height:56px !important;
  padding:0 28px !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#143d8d !important;
  border:1.5px solid #7fa2ee !important;
  font-size:16px !important;
  font-weight:700 !important;
  white-space:nowrap !important;
  box-shadow:0 5px 14px rgba(37,99,235,.06) !important;
}

.pc_only .contact-cta-button .wp-block-button__link:hover,
.pc-only .contact-cta-button .wp-block-button__link:hover{
  background:#143d8d !important;
  border-color:#143d8d !important;
  color:#fff !important;
}
/* CTAカード全体を中央に補正 */
.pc_only .contact-cta,
.pc-only .contact-cta{
  width:100% !important;
  max-width:min(1080px, calc(100vw - 48px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
  transform:none !important;
}
/* 強みセクション下の余白を詰める */
.strengths-box{
  margin-bottom:20px !important;
}

/* CTA上の余白を詰める */
.pc_only .contact-cta,
.pc-only .contact-cta{
  margin-top:20px !important;
}
/* CTA：仕切り線とボタンは親flexで配置する */
.pc_only .contact-cta-divider,
.pc-only .contact-cta-divider{
  transform:none !important;
}

.pc_only .contact-cta-button,
.pc-only .contact-cta-button{
  transform:none !important;
}
.pc_only .contact-cta-text p:first-child,
.pc-only .contact-cta-text p:first-child{
  margin-bottom:-2px !important;
}

.pc_only .contact-cta-text p:last-child,
.pc-only .contact-cta-text p:last-child{
  margin-top:0 !important;
}
.flow-info-divider{
  width:1px !important;
  max-width:1px !important;
  height:60px !important;
  min-height:42px !important;
  background:#d7e4fb !important;
  margin:0 32px !important;
  align-self:center !important;
}
.flow-info-item{
  grid-template-columns:64px 270px !important;
  column-gap:18px !important;
}

.flow-info-item .wp-block-media-text__media{
  width:64px !important;
}


/* =========================
   ご契約まで：下部補足ボックスだけ修正
========================= */

.flow-info-item{
  display:grid !important;
  grid-template-columns:64px 270px !important;
  column-gap:18px !important;
  align-items:center !important;
}

.flow-info-item .wp-block-media-text__media{
  width:64px !important;
  margin:0 !important;
  text-align:center !important;
}

.flow-info-item .wp-block-media-text__media img{
  width:64px !important;
  height:64px !important;
  object-fit:contain !important;
}

.flow-info-item .wp-block-media-text__content{
  padding:0 !important;
  max-width:270px !important;
}

.flow-info-item p{
  margin:0 !important;
  line-height:1.6 !important;
}
.flow-info-right{
  transform:none !important;
}
.flow-info-divider{
  display:block !important;
  flex:0 0 1px !important;
  width:1px !important;
  max-width:1px !important;
  min-width:1px !important;
  height:60px !important;
  min-height:60px !important;

  padding:0 !important;
  margin:0 36px !important;

  background:#d7e4fb !important;
  align-self:center !important;
  transform:none !important;
}
/* =========================
   お問い合わせフォーム
========================= */

.contact-form-wrap{
    max-width:820px;
    margin:50px auto 80px;
    padding:48px;
background:#fafcff;
    border-radius:20px;
    box-shadow:0 12px 36px rgba(20,61,141,.08);
}
.contact-form-wrap{
background:#fafcff;

    border:1px solid #e3eefc;

    border-radius:20px;

    box-shadow:0 10px 28px rgba(20,61,141,.05);
}

.contact-form-wrap label{
    display:block;
    margin-bottom:22px;
    color:#143d8d;
    font-weight:700;
    line-height:1.8;
}

.contact-form-wrap input,
.contact-form-wrap select,
.contact-form-wrap textarea{
    width:100%;
    margin-top:8px;
    padding:14px 16px;
    border:1px solid #d9e5f8;
    border-radius:10px;
    font-size:15px;
    box-sizing:border-box;
    background:#fff;
}

.contact-form-wrap textarea{
    min-height:180px;
    resize:vertical;
}

.contact-form-wrap input:focus,
.contact-form-wrap select:focus,
.contact-form-wrap textarea:focus{
    outline:none;
    border-color:#143d8d;
    box-shadow:0 0 0 3px rgba(20,61,141,.12);
}

.contact-form-wrap input[type="submit"]{
    width:100%;
    max-width:300px;
    display:block;
    margin:36px auto 0;
    padding:16px;
    box-sizing:border-box;
    background:#143d8d;
    color:#fff;
    border:none;
    border-radius:999px;
    font-size:17px;
    font-weight:700;
    cursor:pointer;
    transition:.25s;
}

/* 送信ボタンとトップページへ戻るボタンの幅を統一 */
.contact-form-wrap .home-back-btn,
.contact-form-wrap .home-back-btn a{
    width:100% !important;
    max-width:300px !important;
    box-sizing:border-box !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

/* スマホ：2つのボタンを少し狭くして中央配置 */
@media (max-width:768px){

  .contact-form-wrap .cf7-submit-wrap,
  .contact-form-wrap .home-back-btn{
    width:92% !important;
    max-width:none !important;
    margin-right:auto !important;
    margin-left:auto !important;
  }

  .contact-form-wrap input[type="submit"],
  .contact-form-wrap .home-back-btn a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    max-width:none !important;
    margin-right:0 !important;
    margin-left:0 !important;
    box-sizing:border-box !important;
  }

}


.contact-form-wrap input[type="submit"]:hover{
    opacity:.9;
    transform:translateY(-2px);
}
/* PCだけ2列 */
@media (min-width:769px){

  .contact-form-wrap .wpcf7-form .cf7-row{
    display:grid !important;
    grid-template-columns:320px 1fr !important;
    column-gap:18px !important;
    align-items:center !important;
    margin-bottom:18px !important;
  }

}

/* スマホは1列 */
@media (max-width:768px){

  .contact-form-wrap .wpcf7-form .cf7-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    margin-bottom:22px !important;
  }

  .contact-form-wrap .wpcf7-form .cf7-label,
  .contact-form-wrap .wpcf7-form .cf7-field{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
  }

  .contact-form-wrap .wpcf7-form .cf7-field input,
  .contact-form-wrap .wpcf7-form .cf7-field select,
  .contact-form-wrap .wpcf7-form .cf7-field textarea{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

}
.contact-form-wrap .wpcf7-form .cf7-label{
  color:#143d8d !important;
  font-weight:700 !important;
  font-size:16px !important;
  line-height:1.5 !important;
}

.contact-form-wrap .wpcf7-form .cf7-label span{
  color:#e53935 !important;
  font-size:12px !important;
  margin-left:8px !important;
}

.contact-form-wrap .wpcf7-form .cf7-label em{
  color:#666 !important;
  font-style:normal !important;
  font-size:12px !important;
  margin-left:8px !important;
}

.contact-form-wrap .wpcf7-form .cf7-field input,
.contact-form-wrap .wpcf7-form .cf7-field select,
.contact-form-wrap .wpcf7-form .cf7-field textarea{
  width:100% !important;
  margin:0 !important;
}

.contact-form-wrap .wpcf7-form .cf7-row-textarea{
  align-items:start !important;
}

.contact-form-wrap .wpcf7-form .cf7-row-textarea .cf7-label{
  padding-top:12px !important;
}
.contact-form-wrap{
  max-width:900px !important;
  margin:50px auto 80px !important;
  padding:48px 58px !important;
  transform:none !important;
}
.cf7-note{
    width:400px !important;
    margin:18px auto 0 !important;
    text-align:center !important;
    color:#666 !important;
    font-size:13px !important;
    line-height:1.8 !important;
}
/* =========================
   Contact Form 7 エラー表示
========================= */

.contact-form-wrap .wpcf7 form.invalid .wpcf7-response-output,
.contact-form-wrap .wpcf7 form.unaccepted .wpcf7-response-output{
    max-width:620px !important;          /* ① 横幅をコンパクトに */
    margin:24px auto 0 !important;
    padding:18px 22px 18px 58px !important;

    background:#fff5f5 !important;
    border:1px solid #f5b5b5 !important;
    border-radius:12px !important;

    color:#8b1e1e !important;
    font-size:14px !important;
    font-weight:500 !important;
    line-height:1.7 !important;

    position:relative !important;
    box-sizing:border-box !important;
}

.contact-form-wrap .wpcf7 form.invalid .wpcf7-response-output::before,
.contact-form-wrap .wpcf7 form.unaccepted .wpcf7-response-output::before{
    content:"⚠";
    position:absolute;
    left:22px;
    top:50%;
    transform:translateY(-50%);

    font-size:20px !important;           /* ② アイコンを少し大きく */
    line-height:1;
    color:#f59e0b !important;
}
.contact-form-wrap .wpcf7 form.invalid .wpcf7-response-output,
.contact-form-wrap .wpcf7 form.unaccepted .wpcf7-response-output{

    width:540px !important;
    max-width:90% !important;
    margin:24px auto 0 !important;

    padding:18px 22px 18px 58px !important;

    background:#fff5f5 !important;
    border:1px solid #f5b5b5 !important;
    border-radius:12px !important;

    color:#8b1e1e !important;
    font-size:14px !important;
    line-height:1.7 !important;

    position:relative !important;
    box-sizing:border-box !important;
}
.contact-form-wrap .cf7-field{
    margin-left:-44px !important;
}
/* お問い合わせページだけ：サイドバー・パンくずを非表示 */
.page-id-1496 #sidebar,
.page-id-1496 .l-sidebar,
.page-id-1496 .p-breadcrumb,
.page-id-1496 .c-breadcrumb{
  display:none !important;
}

/* お問い合わせページだけ：本文を1カラム中央に */
.page-id-1496 .l-mainContent,
.page-id-1496 .l-content__main,
.page-id-1496 main{
  width:100% !important;
  max-width:1100px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
/* お問い合わせページだけ右上CTAボタンを非表示 */
.page-id-1496 .c-gnav > li:last-child{
  display:none !important;
}
/* お問い合わせページだけページタイトルを非表示 */
.page-id-1496 .c-pageTitle{
    display:none !important;
}
/* お問い合わせページ：上部余白を詰める */


.page-id-1496 .post_content > p:first-child{
  margin-top:0 !important;
}
/* お問い合わせボタン */
.area-contact-btn .swell-block-button__link{
  background:#153e8a !important;
  color:#fff !important;
  border:1px solid #153e8a !important;
  border-radius:999px !important;

  min-height:50px !important;   /* 56px → 50px */
  padding:10px 42px !important; /* 上下を少し縮める */

  font-weight:700 !important;
  box-shadow:0 8px 20px rgba(21,62,138,.25) !important;
}
/* ホバー時（色だけ変更） */
.area-contact-btn .swell-block-button__link:hover{
  background:#2455b6 !important;
  border-color:#2455b6 !important;
  color:#fff !important;
}
/* お問い合わせボタン：ホバーで動かさない */
.area-contact-btn .swell-block-button__link:hover{
    transform: none !important;
}
.home-btn .wp-block-button__link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    min-height:54px;
    padding:0 34px;

    border:2px solid #153e8a;
    border-radius:999px;

    background:#fff;
    color:#153e8a;

    font-weight:700;
    font-size:16px;

    transition:.25s;
}

.home-btn .wp-block-button__link:hover{
    background:#153e8a;
    color:#fff;
    box-shadow:0 8px 20px rgba(21,62,138,.2);
}
.reason-card{
  min-height: 240px !important;
}

.reason-card .wp-block-media-text__content p{
  min-height: 72px !important;
}


/* =========================================================
   お問い合わせページ：戻るボタン最終調整
   - ボタン本体を横長にしない
   - ロゴ位置付近へ固定配置
   - フォーム見出しとの重なりを防ぐ
========================================================= */
.page-id-1496 #content{
  position:relative !important;
  padding-top:90px !important;
}

.page-id-1496 .post_content{
  position:relative !important;
  padding-top:0 !important;
}

.page-id-1496 .home-btn{
  position:absolute !important;
  top:22px !important;
  left:clamp(24px, calc((100vw - 1100px) / 2), 150px) !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  display:inline-flex !important;
  z-index:5 !important;
}

.page-id-1496 .home-btn .wp-block-button__link{
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  min-height:50px !important;
  padding:0 30px !important;
  border:2px solid #153e8a !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#153e8a !important;
  font-weight:700 !important;
  font-size:15px !important;
  line-height:1 !important;
  white-space:nowrap !important;
  box-shadow:none !important;
  transition:.25s !important;
}

.page-id-1496 .home-btn .wp-block-button__link:hover{
  background:#153e8a !important;
  color:#fff !important;
  box-shadow:0 8px 20px rgba(21,62,138,.2) !important;
  transform:none !important;
}

@media(max-width:768px){
  .page-id-1496 #content{
    padding-top:80px !important;
  }

  .page-id-1496 .home-btn{
    top:18px !important;
    left:20px !important;
  }

  .page-id-1496 .home-btn .wp-block-button__link{
    min-height:46px !important;
    padding:0 22px !important;
    font-size:14px !important;
  }
}
/* =========================
   スマホ専用：全体調整
========================= */
@media (max-width: 767px){

  /* ヘッダーを少し低く */
  .l-header,
  #header{
    height:72px !important;
  }

  .l-header__inner,
  .c-headLogo,
  .l-header__logo{
    min-height:72px !important;
  }

  /* ロゴ */
  .c-headLogo img,
  .l-header__logo img{
    max-height:34px !important;
    width:auto !important;
  }

  /* お問い合わせアイコンまわり */
  .header-contact,
  .sp-header-contact{
    transform:scale(.9);
    transform-origin:center;
  }


  /* GREETING */
  .section-en{
    font-size:18px !important;
    letter-spacing:.18em !important;
    margin-bottom:18px !important;
  }

  /* ごあいさつ */
  .section-title{
    font-size:26px !important;
    line-height:1.3 !important;
    margin-bottom:28px !important;
  }







  /* 資格・実績カード */
  .profile-card,
  .achievement-card{
    padding:28px 24px !important;
    border-radius:22px !important;
  }

}
/* =========================
   スマホ版：本文・余白を強制調整
========================= */
@media (max-width: 767px){

  /* 本文エリアの左右余白 */
  .home .wp-block-group,
  .home .wp-block-group__inner-container{
    padding-left:22px !important;
    padding-right:22px !important;
  }

  /* ごあいさつ周辺の見出し */
  .home h2{
    font-size:34px !important;
    line-height:1.35 !important;
    margin-bottom:28px !important;
  }

  .home h3{
    font-size:24px !important;
    line-height:1.65 !important;
    margin-bottom:24px !important;
  }

  /* 本文 */
  .home p{
    font-size:16px !important;
    line-height:1.9 !important;
    letter-spacing:.02em !important;
  }

  /* セクションの上下余白を詰める */
  .home .wp-block-group{
    margin-top:0 !important;
    margin-bottom:0 !important;
  }

  /* 画像が大きすぎる場合 */
  .home .wp-block-image img{
    max-width:88% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    display:block !important;
  }

  /* FLOW番号だけは88%指定を外し、正円を維持 */
  .home .flow-card .wp-block-image img,
  .home .flow-card .flow-left img,
  .home .flow-card .flow-num-img img{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    min-height:48px !important;
    max-width:48px !important;
    max-height:48px !important;
    aspect-ratio:1 / 1 !important;
    object-fit:fill !important;
    flex-shrink:0 !important;
    margin:0 !important;
  }

  /* FLOW案内アイコンも88%で縦長にしない */
  .home .flow-info-card .wp-block-image img,
  .home .flow-info-card figure.wp-block-image img,
  .home .flow-card.flow-info-card .wp-block-image img,
  .home .flow-card.flow-info-card img,
  .home .flow-info-item .wp-block-media-text__media img{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    min-height:32px !important;
    max-width:32px !important;
    max-height:32px !important;
    aspect-ratio:1 / 1 !important;
    object-fit:contain !important;
    object-position:center !important;
    flex-shrink:0 !important;
    margin:0 !important;
    transform:none !important;
  }
}
/* =========================
   スマホ版：ファーストビュー最終調整
========================= */
@media (max-width:768px){

  .hero-main-text{
    transform:translateY(-40px) !important;
  }

}
@media (max-width:768px){

  /* メインコピー */
  .hero-main-text{
    transform:translateY(-58px) !important;
  }

  /* サブセンテンス */
  .hero-sub-text{
    transform:translateY(-73px) !important;
  }

}
@media (max-width:768px){

  .home .wp-block-cover.alignfull.is-light:first-of-type{
    min-height:390px !important;
  }

  .home .wp-block-cover.alignfull.is-light:first-of-type img.wp-block-cover__image-background{
    object-fit:cover !important;
    object-position:70% center !important;
  }

}
@media (max-width:768px){

  .wp-block-cover.hero-copy{
    min-height:calc(100vh - 96px) !important;
    height:auto !important;
    padding:70px 26px 72px !important;
    align-items:center !important;
  }

  .wp-block-cover.hero-copy .wp-block-cover__inner-container{
    position:relative !important;
    left:0 !important;
    top:0 !important;
    max-width:100% !important;
  }

  .hero-eyebrow{
    font-size:12px !important;
    line-height:1.8 !important;
    letter-spacing:.24em !important;
    margin:0 0 28px !important;
    padding-left:0 !important;
  }

  .hero-main-text{
    font-size:42px !important;
    line-height:1.42 !important;
    letter-spacing:-.04em !important;
    margin:0 0 32px !important;
    left:0 !important;
  }
	

.hero-sub-text{
    font-size:15px !important;
    line-height:1.8 !important;
    max-width:320px !important;
    color:#173b82 !important;
    text-shadow:
      0 0 8px rgba(255,255,255,.95),
      0 2px 10px rgba(255,255,255,.9) !important;
}

  .wp-block-cover.hero-copy .wp-block-cover__image-background{
    object-position:50% 62% !important;
  }
}
@media (max-width:768px){

  .wp-block-cover.hero-copy{
    padding:58px 24px 52px !important;
  }

  .hero-eyebrow{
    font-size:11px !important;
    letter-spacing:.32em !important;
    line-height:1.9 !important;
    margin-bottom:24px !important;
  }

  .hero-main-text{
    font-size:36px !important;
    line-height:1.38 !important;
    letter-spacing:-.05em !important;
    margin-bottom:28px !important;
  }

  .hero-sub-text{
    font-size:14.5px !important;
    line-height:1.85 !important;
  }
}
@media (max-width:768px){

  .wp-block-cover.hero-copy{
    min-height:auto !important;
    padding:48px 22px 46px !important;
  }

  .hero-main-text{
    font-size:32px !important;
    line-height:1.38 !important;
    margin-bottom:24px !important;
  }

  .hero-eyebrow{
    font-size:10px !important;
    line-height:1.8 !important;
    letter-spacing:.26em !important;
    margin-bottom:22px !important;
  }

  .hero-sub-text{
    font-size:14px !important;
    line-height:1.85 !important;
    max-width:300px !important;
  }

}

@media (max-width:768px){

  .wp-block-cover.hero-copy .hero-main-text,
  .wp-block-cover.hero-copy .hero-main-text span,
  .wp-block-cover.hero-copy .hero-main-text strong{
    font-size:30px !important;
    line-height:1.4 !important;
  }

}
@media (max-width:768px){

  .hero-sub-text span,
  .hero-sub-text .swl-fz{
    font-size:11px !important;
    line-height:1.8 !important;
  }

}
@media (max-width:768px){
  .hero-eyebrow{
    display:none !important;
  }
}

@media (max-width:768px){

  .achievement-card{
    padding:26px 22px !important;
  }

  .achievement-card .wp-block-columns{
    display:block !important;
  }


  .achievement-left,
  .achievement-right{
    max-width:100% !important;
    flex:0 0 100% !important;
    transform:none !important;
    text-align:left !important;
  }


  .achievement-number{
    font-size:58px !important;
    padding-right:0 !important;
  }

  .achievement-subtitle{
    white-space:normal !important;
    margin-top:20px !important;
    font-size:17px !important;
  }

  .achievement-industry-columns{
    display:block !important;
  }

  .achievement-industry-columns p{
    font-size:15px !important;
    margin-bottom:8px !important;
  }

}
@media (max-width:768px){

  .achievement-card{
    min-height:auto !important;
    height:auto !important;
    padding:24px 20px 26px !important;
    overflow:visible !important;
  }

  .achievement-card .wp-block-columns{
    display:block !important;
    height:auto !important;
    overflow:visible !important;
  }

  .achievement-card .wp-block-column,
  .achievement-left,
  .achievement-right,
  .achievement-industries{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    flex-basis:auto !important;
    flex-grow:0 !important;
    transform:none !important;
  }

  .achievement-card .wp-block-columns::before{
    display:none !important;
  }

  .achievement-left{
    text-align:center !important;
    margin-bottom:22px !important;
  }

  .achievement-label{
    margin-left:0 !important;
  }

  .achievement-number{
    font-size:54px !important;
    padding-right:0 !important;
  }

  .achievement-subtitle{
    white-space:normal !important;
    font-size:16px !important;
    margin:0 0 14px !important;
  }

  .achievement-industry-columns{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:4px 12px !important;
  }

  .achievement-industry-columns .wp-block-column{
    width:100% !important;
    max-width:100% !important;
  }

  .achievement-industry-columns p{
    font-size:13px !important;
    line-height:1.5 !important;
    margin-bottom:6px !important;
    white-space:nowrap !important;
  }

}
@media (max-width:768px){

/* 業種一覧だけ2列 */
.achievement-industries .wp-block-columns{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    gap:18px !important;
}

.achievement-industries .wp-block-column{
    flex:1 1 0 !important;
    width:50% !important;
    max-width:50% !important;
    display:block !important;
}

}
@media (max-width:768px){

  /* 実績カード：左と右を横並びに戻す */
  .achievement-card > .wp-block-group__inner-container > .wp-block-columns{
    display:flex !important;
    flex-direction:row !important;
    align-items:flex-start !important;
    gap:18px !important;
  }

  .achievement-left{
    flex:0 0 34% !important;
    width:34% !important;
    max-width:34% !important;
    text-align:center !important;
    margin-bottom:0 !important;
  }

  .achievement-industries,
  .achievement-right{
    flex:0 0 66% !important;
    width:66% !important;
    max-width:66% !important;
  }

  /* 業種一覧は2列 */
  .achievement-industries .wp-block-columns{
    display:flex !important;
    flex-direction:row !important;
    gap:12px !important;
  }

  .achievement-industries .wp-block-column{
    flex:1 1 0 !important;
    width:50% !important;
    max-width:50% !important;
  }

  .achievement-industry-columns p,
  .achievement-industries p{
    font-size:12px !important;
    line-height:1.45 !important;
    white-space:nowrap !important;
  }

}
@media (max-width:768px){

  .achievement-card.profile-card .wp-block-columns{
    display:flex !important;
    flex-direction:row !important;
    align-items:flex-start !important;
    gap:14px !important;
  }

.achievement-card.profile-card .achievement-left{
  flex:0 0 28% !important;
  width:28% !important;
  max-width:28% !important;
}

.achievement-card.profile-card .achievement-industries{
  flex:0 0 72% !important;
  width:72% !important;
  max-width:72% !important;
}

  .achievement-card.profile-card .achievement-industries .wp-block-columns{
    display:flex !important;
    flex-direction:row !important;
    gap:10px !important;
  }



}
.achievement-card.profile-card .achievement-number{
  font-size:42px !important;
}
@media (max-width:768px){

  .achievement-card.profile-card .wp-block-columns{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    gap:18px !important;
  }

  .achievement-card.profile-card .achievement-left{
    flex:0 0 32% !important;
    width:32% !important;
    max-width:32% !important;
    text-align:center !important;
  }

  .achievement-card.profile-card .achievement-industries{
    flex:0 0 68% !important;
    width:68% !important;
    max-width:68% !important;
  }

  .achievement-card.profile-card .achievement-industries .wp-block-columns{
    display:flex !important;
    flex-direction:row !important;
    gap:14px !important;
  }

  .achievement-card.profile-card .achievement-industries .wp-block-column{
    flex:1 1 0 !important;
    width:50% !important;
    max-width:50% !important;
  }

  .achievement-card.profile-card .achievement-number{
    font-size:54px !important;
  }

  .achievement-card.profile-card .achievement-industries p{
    font-size:13px !important;
    line-height:1.55 !important;
    white-space:nowrap !important;
  }

}
@media (max-width:768px){

  .achievement-card.profile-card > .wp-block-group__inner-container > .wp-block-columns{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    gap:10px !important;
  }

  .achievement-card.profile-card .achievement-left{
    flex:0 0 31% !important;
    width:31% !important;
    max-width:31% !important;
    min-width:0 !important;
    text-align:center !important;
    margin-bottom:0 !important;
  }

  .achievement-card.profile-card .achievement-industries{
    flex:0 0 calc(69% - 10px) !important;
    width:calc(69% - 10px) !important;
    max-width:calc(69% - 10px) !important;
    min-width:0 !important;
  }

  .achievement-card.profile-card .achievement-number{
    font-size:46px !important;
  }

  .achievement-card.profile-card .achievement-label{
    font-size:13px !important;
    white-space:nowrap !important;
  }

  .achievement-card.profile-card .achievement-subtitle{
    font-size:13px !important;
    white-space:nowrap !important;
  }

  .achievement-card.profile-card .achievement-industries p{
    font-size:10px !important;
    line-height:1.45 !important;
    white-space:nowrap !important;
  }
}
/* =========================
   スマホ：実績カード 横並び最終調整
========================= */
@media (max-width:768px){

  .achievement-card.profile-card{
    padding:24px 18px 24px !important;
    min-height:auto !important;
    overflow:visible !important;
  }

  .achievement-card.profile-card > .wp-block-group__inner-container > .wp-block-columns{
    display:grid !important;
    grid-template-columns:31% 1fr !important;
    column-gap:14px !important;
    align-items:center !important;
  }

  .achievement-card.profile-card .achievement-left,
  .achievement-card.profile-card .achievement-industries{
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    flex:none !important;
    transform:none !important;
    margin:0 !important;
  }

  .achievement-card.profile-card .achievement-left{
    text-align:center !important;
  }

  .achievement-card.profile-card .achievement-label{
    font-size:13px !important;
    margin-left:0 !important;
    white-space:nowrap !important;
  }

  .achievement-card.profile-card .achievement-number{
    font-size:48px !important;
    padding-right:0 !important;
    text-align:center !important;
  }

  .achievement-card.profile-card .achievement-subtitle{
    font-size:13px !important;
    line-height:1.45 !important;
    white-space:nowrap !important;
    margin:0 0 10px !important;
  }

  .achievement-card.profile-card .achievement-industries .wp-block-columns{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    column-gap:12px !important;
    row-gap:0 !important;
  }

  .achievement-card.profile-card .achievement-industries .wp-block-column{
    width:auto !important;
    max-width:none !important;
    flex:none !important;
    min-width:0 !important;
  }

  .achievement-card.profile-card .achievement-industries p{
    font-size:10.5px !important;
    line-height:1.5 !important;
    margin-bottom:5px !important;
    white-space:nowrap !important;
  }

  .achievement-card.profile-card .achievement-card .wp-block-columns::before,
  .achievement-card.profile-card .wp-block-columns::before{
    display:none !important;
  }

}
/* =========================
   スマホ：お悩み 吹き出し＋人物左右交互
========================= */
@media (max-width:768px){

  .concern-bubble{
    position:relative !important;
    width:70vw !important;
    max-width:340px !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    background:#fff !important;
    border-radius:24px !important;
    padding:20px 22px !important;
    margin:0 auto 18px !important;
    box-shadow:0 12px 30px rgba(20,61,141,.10) !important;
    text-align:left !important;
    writing-mode:horizontal-tb !important;
  }

  .concern-bubble p{
    font-size:14.5px !important;
    line-height:1.75 !important;
    margin:0 !important;
  }

  .concern-bubble::before,
  .concern-bubble-right::before{
    display:none !important;
  }

  .concern-bubble::after{
    content:"" !important;
    position:absolute !important;
    bottom:-16px !important;
    width:0 !important;
    height:0 !important;
    border-left:15px solid transparent !important;
    border-right:15px solid transparent !important;
    border-top:16px solid #fff !important;
  }

  .bubble-left .concern-bubble{
    margin-left:8% !important;
    margin-right:auto !important;
  }

  .bubble-left .concern-bubble::after{
    left:72px !important;
    right:auto !important;
    transform:none !important;
  }

  .bubble-right .concern-bubble{
    margin-left:auto !important;
    margin-right:8% !important;
  }

  .bubble-right .concern-bubble::after{
    left:auto !important;
    right:72px !important;
    transform:none !important;
  }

/* 人物画像：左右へ強制移動 */
.concern-mobile figure.wp-block-image.concern_person{
  width:126px !important;
  max-width:126px !important;
  margin-bottom:38px !important;
}

.concern-mobile figure.wp-block-image.concern_person img{
  display:block !important;
  width:126px !important;
  height:126px !important;
  border-radius:50% !important;
  border:6px solid #fff !important;
  object-fit:cover !important;
  box-shadow:0 10px 24px rgba(20,61,141,.14) !important;
}

/* 1・3セット目：左へ */
.concern-first figure.concern_person,
.concern-third figure.concern_person{
  margin-left:auto !important;
  margin-right:auto !important;
  transform:translateX(-80px) !important;
}

/* 2・4セット目：右へ */
.concern-second figure.concern_person,
.concern-fourth figure.concern_person{
  margin-left:auto !important;
  margin-right:auto !important;
  transform:translateX(80px) !important;
}
/* 三角形 */
	.concern-arrow{
    width:420px !important;
    max-width:82vw !important;
    height:120px !important;
    margin:0 auto 20px !important;

    /* ←これを追加 */
    transform: translateY(-50px) !important;

    clip-path:polygon(0 0,100% 0,50% 100%) !important;
    background:linear-gradient(135deg,#6f8fd4,#8fc6e6) !important;
    position:relative !important;
}

/* 文字 */
.concern-arrow-text{
  position: absolute !important;
  top: 8px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;

  width: 300px !important;
  max-width: 70% !important;

  margin: 0 !important;
  padding: 0 !important;

  text-align: center !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  z-index: 10 !important;
}
	@media (max-width:768px){

  .concern-item p{
    position:relative !important;

    width:105% !important;
    max-width:420px !important;
    margin:0 auto 22px !important;

    padding:16px 22px !important;
    background:#fff !important;
    border-radius:24px !important;

    box-shadow:0 12px 28px rgba(20,61,141,.08) !important;

    font-size:15px !important;
    line-height:1.9 !important;
    color:#102244 !important;
  }

  .concern-item p::after{
    content:"" !important;
    position:absolute !important;
		

    left:50% !important;
    bottom:-18px !important;
    transform:translateX(-50%) !important;

    width:0 !important;
    height:0 !important;

    border-left:10px solid transparent !important;
    border-right:10px solid transparent !important;
    border-top:18px solid #fff !important;
  }

  .concern-item figure{
    display:flex !important;
    justify-content:center !important;
    margin:0 auto 46px !important;
  }

  .concern-item figure img{
    width:140px !important;
    height:140px !important;
    border-radius:50% !important;
    object-fit:cover !important;
    border:4px solid #fff !important;
    box-shadow:0 10px 24px rgba(20,61,141,.12) !important;
  }

}
}

	.concern-item p{
    background:#fff !important;

    border:1px solid rgba(26, 74, 145, 0.12) !important;

    border-radius:26px !important;

    box-shadow:
        0 8px 24px rgba(20,61,141,.05),
        0 1px 2px rgba(20,61,141,.03) !important;
}
	
	
/* =========================
   強みセクション：SP/タブレット版（〜959px）
========================= */
@media (max-width:959px){

  .strengths-box.sp_only, .strengths-box.sp-only,
  .strengths-box.sp_only .reason-wrap, .strengths-box.sp-only .reason-wrap,
  .strengths-box.sp_only .wp-block-columns, .strengths-box.sp-only .wp-block-columns{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    transform:none !important;
    margin:0 auto !important;
    padding:0 !important;
    gap:0 !important;
  }

  .sp-only .wp-block-column{
    width:100% !important;
    max-width:100% !important;
    flex-basis:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

.sp-only .reason-card{
  width:calc(100vw - 48px) !important;
  max-width:360px !important;
  margin:0 auto 14px !important;
  padding:22px 24px 24px !important;
  box-sizing:border-box !important;
}

  /* 01→02だけ少し狭める */
  .sp-only .reason-card:nth-of-type(1){
    margin-bottom:10px !important;
  }

  .sp-only .reason-card .wp-block-media-text{
    display:block !important;
    gap:0 !important;
  }

  .sp-only .reason-card .wp-block-media-text__media,
  .sp-only .reason-card figure{
    margin:0 auto 8px !important;
    text-align:center !important;
  }

  .sp-only .reason-card img{
    width:90px !important;
    max-width:90px !important;
    height:auto !important;
    margin:0 auto !important;
    display:block !important;
  }

  .sp-only .reason-card .wp-block-media-text__content{
    padding:0 !important;
    margin-top:0 !important;
  }

  .sp-only .reason-card *{
    writing-mode:horizontal-tb !important;
    text-orientation:mixed !important;
  }

  .sp-only .reason-card p{
    font-size:18px !important;
    line-height:1.9 !important;
  }

  .sp-only .reason-card .wp-block-buttons{
    margin-top:18px !important;
  }

  .sp-only .reason-card .wp-block-button__link{
    font-size:12px !important;
    padding:8px 12px !important;
  }

  /* CTA */
  .sp_only .contact-cta,
  .sp-only .contact-cta{
    width:calc(100vw - 32px) !important;
    max-width:360px !important;
    margin:18px auto 0 !important;
    padding:24px 20px !important;
    transform:none !important;
    box-sizing:border-box !important;
  }

  .sp_only .contact-cta > .wp-block-group__inner-container > .wp-block-columns.contact-cta-left,
  .sp-only .contact-cta > .wp-block-group__inner-container > .wp-block-columns.contact-cta-left{
    display:block !important;
    width:100% !important;
    text-align:center !important;
  }

  .sp-only .contact-cta-left figure,
  .sp-only .contact-cta-left .wp-block-image{
    width:90px !important;
    margin:0 auto 12px !important;
  }

  .sp-only .contact-cta-text p{
    text-align:center !important;
  }

  .sp-only .contact-cta-divider{
    display:none !important;
  }

  .sp-only .contact-cta-button,
  .sp-only .contact-cta .wp-block-buttons{
    width:100% !important;
    margin:14px auto 0 !important;
    transform:none !important;
    flex:none !important;
  }

  .sp-only .contact-cta-button .wp-block-button__link{
    width:100% !important;
    max-width:260px !important;
    height:52px !important;
    margin:0 auto !important;
    padding:0 20px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
}
@media (max-width:768px){

  .sp-only .wp-block-columns{
    margin:0 !important;
    padding:0 !important;
  }

  .sp-only .wp-block-column{
    width:100% !important;
    max-width:100% !important;
    margin:0 0 18px !important;
    padding:0 !important;
  }

  .sp-only .reason-card{
    width:calc(100vw - 48px) !important;
    max-width:360px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
  }

}
	@media (max-width:768px){

  .strengths-box.sp_only .reason-wrap > .wp-block-column,
  .strengths-box.sp-only .reason-wrap > .wp-block-column,
  .sp_only .reason-wrap > .wp-block-column,
  .sp-only .reason-wrap > .wp-block-column{
    gap:8px !important;
  }

}
	@media (max-width:768px){

.sp-only .reason-card .wp-block-buttons{
    display:grid !important;
    grid-template-columns:repeat(3,1fr) !important;
    gap:8px !important;
}


.sp-only .reason-card .wp-block-button__link{
    width:100% !important;
    padding:8px 4px !important;
    font-size:12px !important;
}

}

@media (max-width:768px){

  /* カード本文：15pxで統一 */
  .sp-only .reason-card .wp-block-media-text__content > p:not(:first-child),
  .sp-only .reason-card .wp-block-media-text__content > p:not(:first-child) span{
    font-size:15px !important;
    line-height:1.9 !important;
    font-weight:400 !important;
  }

  /* ボタン3列 */
  .sp-only .reason-card .wp-block-buttons{
    display:grid !important;
    grid-template-columns:repeat(3, 1fr) !important;
    gap:6px !important;
  }

  .sp-only .reason-card .wp-block-button{
    width:100% !important;
  }

  .sp-only .reason-card .wp-block-button__link{
    width:100% !important;
    font-size:11px !important;
    padding:8px 3px !important;
    white-space:nowrap !important;
    letter-spacing:-0.04em !important;
  }
}
		@media (max-width:768px){

#service + p{
    font-size:26px !important;
    line-height:1.7 !important;
}

}
		.service-card .wp-block-media-text__media img{
    width:90px !important;
    max-width:240px !important;
    margin:auto;
}
		.service-card .wp-block-media-text__content{
    padding-left:2px !important;
}
	.service-card .wp-block-media-text__content p{
    margin-bottom:2px !important;
}	
		.service-card .wp-block-media-text__content{
    padding-top:8px !important;
}
@media (max-width:768px){

  .sp_only .service-wrap{
    row-gap:22px !important;
    gap:14px !important;
  }

  .sp_only .service-wrap > .wp-block-column{
    margin:0 !important;
  }

  .sp_only .service-wrap .service-card{
    margin:0 0 14px !important;
  }

  .sp_only .service-wrap .service-card:last-child{
    margin-bottom:0 !important;
  }

}
		@media (max-width:768px){

  /* サービスカードの上下余白 */
  .service-card{
    padding-top:20px !important;
    padding-bottom:10px !important;
  }

}
		@media (max-width:768px){

  .service-card .wp-block-media-text__content p:nth-child(2),
  .service-card .wp-block-media-text__content p:nth-child(2) span,
  .service-card .wp-block-media-text__content p:nth-child(2) strong{
    font-size:18px !important;
    line-height:1.4 !important;
  }

}
		@media (max-width:768px){

  .service-card .wp-block-media-text__content p:nth-child(2){
    margin-bottom:12px !important;
  }

}
		@media (max-width:768px){

#service + p{
    font-size:26px !important;
    line-height:1.6 !important;
    letter-spacing:.02em !important;
}

}
@media (max-width:768px){

  #service + p + p{
    font-size:13px !important;
    line-height:2 !important;
  }

}

@media (max-width:768px){

  /* エリア全体の横並び解除 */
  .area-colu{
    display:block !important;
  }

  .area-colu > .wp-block-column{
    width:100% !important;
    max-width:100% !important;
    flex-basis:100% !important;
  }

  /* 左カード */
  .area-card{
    width:100% !important;
    max-width:100% !important;
    margin:0 auto 24px !important;
    padding:24px 20px !important;
    box-sizing:border-box !important;
  }

  /* アクセス一覧 */
  .area-access-list .wp-block-media-text{
    display:flex !important;
    grid-template-columns:none !important;
    align-items:center !important;
    gap:14px !important;
    margin-bottom:16px !important;
  }

  .area-access-list .wp-block-media-text__media{
    width:48px !important;
    flex:0 0 48px !important;
    margin:0 !important;
  }

  .area-access-list .wp-block-media-text__media img{
    width:48px !important;
    height:48px !important;
  }

  .area-access-list .wp-block-media-text__content{
    padding:0 !important;
    width:auto !important;
    min-width:0 !important;
  }

  .area-access-list .wp-block-media-text__content p,
  .area-access-list .wp-block-media-text__content span,
  .area-access-list .wp-block-media-text__content strong{
    display:inline !important;
    writing-mode:horizontal-tb !important;
    white-space:nowrap !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    font-size:16px !important;
    line-height:1.6 !important;
    letter-spacing:0 !important;
  }

  /* 地図はカード下に回す */
  .area-map{
    width:100% !important;
    max-width:100% !important;
    margin:0 auto 24px !important;
  }

  .area-map img{
    width:100% !important;
    height:auto !important;
    display:block !important;
  }
}
	@media (max-width:768px){

  .area-card{
    width:calc(100vw - 32px) !important;
    max-width:calc(100vw - 32px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:28px 18px !important;
  }

  .area-access-list .wp-block-media-text{
    gap:10px !important;
  }

  .area-access-list .wp-block-media-text__content p,
  .area-access-list .wp-block-media-text__content span,
  .area-access-list .wp-block-media-text__content strong{
    font-size:13.5px !important;
    letter-spacing:0 !important;
  }
}
	@media (max-width:959px){

  .sp_only .area-columns,
  .sp-only .area-columns,
  .sp_only .area-colu,
  .sp-only .area-colu{
    transform:none !important;
    translate:none !important;
  }

}
	@media (max-width:959px){

  .sp_only .area-cta,
  .sp-only .area-cta{
    width:calc(100vw - 32px) !important;
    max-width:calc(100vw - 32px) !important;
    margin:24px auto 0 !important;
    padding:24px 18px !important;
    transform:none !important;
    box-sizing:border-box !important;

    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:0px !important;
  }

  .area-cta .wp-block-columns,
  .area-cta .wp-block-column{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    flex-basis:100% !important;
  }

  .area-cta .wp-block-image,
  .area-cta figure{
    margin:0 auto 10px !important;
    text-align:center !important;
  }

  .area-cta img{
    width:64px !important;
    height:64px !important;
  }

  .area-cta p{
    text-align:center !important;
    font-size:15px !important;
    line-height:1.7 !important;
    margin:0 0 12px !important;
    white-space:normal !important;
  }

  .area-cta .wp-block-buttons{
    width:100% !important;
    justify-content:center !important;
  }

  .area-cta .wp-block-button{
    width:100% !important;
  }

  .area-cta .wp-block-button__link{
    width:100% !important;
    max-width:300px !important;
    margin:0 auto !important;
    box-sizing:border-box !important;
    white-space:nowrap !important;
  }
}
	@media (max-width:768px){

  .area-divider{
    display:none !important;
  }

}
	@media (max-width:768px){

  .area-cta figure{
    margin:0 auto -7px !important;
  }

}
	@media (max-width:768px){

  .area-cta{
    padding-top:12px !important;   /* 今より小さく */
  }

}
	@media (max-width:768px){

  .area-colu,
  .area-columns{
    gap:12px !important;
    row-gap:12px !important;
    --wp--style--block-gap:12px !important;
  }

  .area-map{
    margin:0 auto 0 !important;
    padding:0 !important;
  }

  .area-map figure,
  .area-map .wp-block-image{
    margin:0 !important;
    padding:0 !important;
    line-height:0 !important;
  }

  .area-map img{
    display:block !important;
    margin:0 !important;
  }

  .area-card{
    margin-top:0 !important;
  }
}
	@media (max-width:768px){

  .area-cta{
    margin-top:12px !important;
  }

}
@media (max-width:768px){

  .flow-card{
    background:#fff !important;
    border-radius:24px !important;
    padding:22px 14px !important;
    margin:0 0 18px !important;
  }

  .flow-card .flow-left{
    display:grid !important;
    grid-template-columns:64px 88px 1fr !important;
    align-items:center !important;
    gap:12px !important;
    margin:0 !important;
  }

  .flow-card .flow-left > .wp-block-column{
    width:auto !important;
    flex-basis:auto !important;
    margin:0 !important;
    padding:0 !important;
  }

  .flow-card .flow-left > .wp-block-column:nth-child(1) img{
    width:64px !important;
    height:64px !important;
  }

  .flow-card .flow-left > .wp-block-column:nth-child(2) img{
    width:88px !important;
    height:88px !important;
    border-radius:50% !important;
    object-fit:cover !important;
  }

  .flow-card .flow-left > .wp-block-column:nth-child(3) p:first-child{
    margin:0 0 8px !important;
    font-size:21px !important;
    line-height:1.35 !important;
    font-weight:700 !important;
    color:#00358f !important;
  }

  .flow-card .flow-left > .wp-block-column:nth-child(3) p:last-child{
    margin:0 !important;
    font-size:14px !important;
    line-height:1.75 !important;
    color:#111 !important;
  }
}
@media (max-width:768px){


	/* FLOW：人物画像なし・2列 */
.flow-card .flow-left{
  display:grid !important;
  grid-template-columns:48px 1fr !important;
  gap:10px !important;
  align-items:center !important;
  margin:0 !important;
}

/* 2列目の人物画像カラムを消す */
.flow-card .flow-left > .wp-block-column:nth-child(2){
  display:none !important;
}

/* 数字画像 */
.flow-card .flow-left > .wp-block-column:nth-child(1){
  width:48px !important;
  max-width:48px !important;
  flex-basis:48px !important;
}

.flow-card .flow-left > .wp-block-column:nth-child(1) img{
  width:48px !important;
  height:48px !important;
}

/* 文章カラム */
.flow-card .flow-left > .wp-block-column:nth-child(3){
  width:auto !important;
  flex-basis:auto !important;
  margin:0 !important;
}
	.flow-card{
    padding:18px 12px !important;
}
	.flow-card .flow-left > .wp-block-column:first-child{
    justify-self:start !important;
    margin-left:-20px !important;
}
	.flow-card .flow-left > .wp-block-column:nth-child(3) p:first-child{
    font-size:16px !important;
    line-height:1.4 !important;
    margin-bottom:6px !important;
}
	.flow-card{
    padding:10px 12px 14px !important;
}

.flow-card .flow-left{
    align-items:start !important;
}

.flow-card .flow-left > .wp-block-column:nth-child(3){
    margin-top:0 !important;
    padding-top:0 !important;
}

.flow-card .flow-left > .wp-block-column:nth-child(3) p:first-child{
    margin:0 0 4px !important;
}

}
@media (max-width:768px){

  .flow-info-card{
    background:#fff !important;
    border-radius:24px !important;
    padding:16px 14px !important;
    margin-top:18px !important;
  }

  .flow-info-card .wp-block-columns{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:0 !important;
    margin:0 !important;
    align-items:center !important;
  }

  .flow-info-card .wp-block-column{
    padding:0 10px !important;
    margin:0 !important;
  }

  .flow-info-card .wp-block-column:first-child{
    border-right:1px solid #dbe7ff !important;
  }

  .flow-info-card figure{
    margin:0 0 8px !important;
  }

  .flow-info-card img{
    width:38px !important;
    height:38px !important;
  }

  .flow-info-card p{
    margin:0 !important;
    font-size:12px !important;
    line-height:1.55 !important;
  }
}
	@media (max-width:768px){

  .flow-info-card .wp-block-columns{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
  }

  .flow-info-card .wp-block-column{
    display:grid !important;
    grid-template-columns:40px 1fr !important;
    gap:8px !important;
    align-items:center !important;
  }

  .flow-info-card figure{
    margin:0 !important;
  }

  .flow-info-card img{
    width:36px !important;
    height:36px !important;
  }

  .flow-info-card p{
    margin:0 !important;
    font-size:12px !important;
    line-height:1.5 !important;
  }
  .flow-info-card .wp-block-column:first-child{
    padding-left:0 !important;
  }
  .flow-info-card .wp-block-column{
    grid-template-columns:34px 1fr !important;
    gap:6px !important;
  }
  .flow-info-card .wp-block-column:first-child p{
    width:105% !important;
  }
}
@media (max-width:768px){

  /* ライトプランカード */
  .price-card-light{
    padding:34px 32px 38px !important;
    border-radius:28px !important;
    box-sizing:border-box !important;
  }

  /* アイコン＋ライトプラン */
  .price-card-light .price-head > .wp-block-group__inner-container{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:24px !important;
  }

  .price-card-light .price-head figure{
    width:76px !important;
    max-width:76px !important;
    flex:0 0 76px !important;
    margin:0 0 0 -8px !important;
  }

  .price-card-light .price-head img{
    width:76px !important;
    max-width:76px !important;
    height:auto !important;
    display:block !important;
  }

  .price-card-light .price-head p{
    margin:0 0 0 -6px !important;
    font-size:34px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    white-space:nowrap !important;
  }

  .price-card-light .price-head .swl-fz{
    font-size:25px !important;
    line-height:1.15 !important;
  }

  /* 区切り線 */
  .price-card-light .wp-block-separator{
    margin:8px 0 22px !important;
  }

  /* 説明文 */
  .price-card-light .price-desc,
  .price-card-light > p{
    text-align:center !important;
    font-size:17px !important;
    line-height:2 !important;
    margin:0 0 24px !important;
  }

  .price-card-light .price-desc .swl-fz{
    font-size:17px !important;
    line-height:1.9 !important;
  }

  /* 月額ラベル */
  .price-card-light .price-label{
    font-size:17px !important;
    padding:7px 16px !important;
  }

  /* 金額 */
  .price-card-light .price-number{
    display:block !important;
    width:fit-content !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
    font-size:58px !important;
    transform:translateX(5px) !important;
  }

  .price-card-light .price-number::after{
    position:relative !important;
    left:4px !important;
    top:0 !important;
    font-size:17px !important;
  }

  .price-card-light .price-tax{
    display:block !important;
    width:100% !important;
    text-align:center !important;
    margin-top:8px !important;
    font-size:17px !important;
    transform:none !important;
  }

  .price-card-light .price-tax .swl-fz{
    position:relative !important;
    left:35px !important;
    display:inline-block !important;
  }

  /* リスト */
  .price-card-light ul{
    margin-top:24px !important;
    margin-bottom:28px !important;
    padding-left:0 !important;
  }

  .price-card-light li{
    font-size:19px !important;
    line-height:1.8 !important;
    margin-bottom:10px !important;
    padding-left:38px !important;
  }

  .price-card-light li::before{
    font-size:22px !important;
  }

  /* 面談業務ボックス */
  .price-card-light .price-note{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:14px !important;
    min-height:58px !important;
    padding:4px 16px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }

  .price-card-light .price-note .wp-block-media-text__media{
    margin-left:5px !important;
  }

  .price-card-light .price-note .wp-block-media-text__content{
    padding-left:0 !important;
  }

  .price-card-light .price-note img{
    width:40px !important;
    height:40px !important;
    max-width:40px !important;
    flex:0 0 40px !important;
  }

  .price-card-light .price-note p,
  .price-card-light .price-note span{
    margin:0 !important;
    font-size:15px !important;
    line-height:1.4 !important;
    font-weight:700 !important;
    white-space:nowrap !important;
  }

  /* ボタン */
  .price-card-light .price-button .wp-block-button__link,
  .price-card-light .wp-block-button__link{
    width:100% !important;
    min-height:62px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:18px !important;
  }

}
	@media (max-width:768px){

  /* 金額と税込価格のスキマを詰める */
  .price-card-light .price-number{
    margin-bottom:0 !important;
  }

  .price-card-light .price-tax{
    margin-top:10px !important;
    margin-bottom:12px !important;
    line-height:1.2 !important;
  }

  .price-card-light .price-tax .swl-fz{
    left:35px !important;
  }

}
@media (max-width:768px){

  /* スタンダードプランカード */
  .price-card-standard{
    padding:34px 32px 38px !important;
    border-radius:28px !important;
    box-sizing:border-box !important;
  }

  /* アイコン＋スタンダードプラン */
  .price-card-standard .price-head > .wp-block-group__inner-container{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:24px !important;
  }

  .price-card-standard .price-head figure{
    width:96px !important;
    max-width:96px !important;
    flex:0 0 96px !important;
    margin:0 0 0 -8px !important;
  }

  .price-card-standard .price-head img{
    width:96px !important;
    max-width:96px !important;
    height:auto !important;
    display:block !important;
  }

  .price-card-standard .price-head p{
    margin:0 0 0 -6px !important;
    font-size:34px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    white-space:nowrap !important;
  }

  .price-card-standard .price-head .swl-fz{
    font-size:25px !important;
    line-height:1.15 !important;
  }

  /* 区切り線 */
  .price-card-standard .wp-block-separator{
    margin:8px 0 22px !important;
  }

  /* 説明文 */
  .price-card-standard .price-desc,
  .price-card-standard > p{
    text-align:center !important;
    font-size:17px !important;
    line-height:2 !important;
    margin:0 0 24px !important;
  }

  .price-card-standard .price-desc .swl-fz{
    font-size:17px !important;
    line-height:1.9 !important;
  }

  /* 月額ラベル */
  .price-card-standard .price-label{
    font-size:17px !important;
    padding:7px 16px !important;
  }

  /* 金額 */
  .price-card-standard .price-number,
  .price-card-standard .price-number-blue{
    display:block !important;
    width:fit-content !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
    font-size:58px !important;
    transform:translateX(5px) !important;
  }

  .price-card-standard .price-number::after,
  .price-card-standard .price-number-blue::after{
    position:relative !important;
    left:4px !important;
    top:0 !important;
    font-size:17px !important;
  }

  .price-card-standard .price-tax{
    display:block !important;
    width:100% !important;
    text-align:center !important;
    margin-top:10px !important;
    margin-bottom:12px !important;
    font-size:17px !important;
    line-height:1.2 !important;
    transform:none !important;
  }

  .price-card-standard .price-tax .swl-fz{
    position:relative !important;
    left:35px !important;
    display:inline-block !important;
  }

  /* リスト */
  .price-card-standard ul{
    margin-top:24px !important;
    margin-bottom:28px !important;
    padding-left:0 !important;
  }

  .price-card-standard li{
    font-size:19px !important;
    line-height:1.8 !important;
    margin-bottom:10px !important;
    padding-left:38px !important;
  }

  .price-card-standard li::before{
    font-size:22px !important;
  }

  /* 面談業務ボックス */
  .price-card-standard .price-note{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:14px !important;
    min-height:58px !important;
    padding:4px 16px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }

  .price-card-standard .price-note .wp-block-media-text__media{
    margin-left:5px !important;
  }

  .price-card-standard .price-note .wp-block-media-text__content{
    padding-left:0 !important;
  }

  .price-card-standard .price-note img{
    width:40px !important;
    height:40px !important;
    max-width:40px !important;
    flex:0 0 40px !important;
  }

  .price-card-standard .price-note p,
  .price-card-standard .price-note span{
    margin:0 !important;
    font-size:15px !important;
    line-height:1.4 !important;
    font-weight:700 !important;
    white-space:nowrap !important;
  }

  /* ボタン */
  .price-card-standard .price-button .wp-block-button__link,
  .price-card-standard .wp-block-button__link{
    width:100% !important;
    min-height:62px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:18px !important;
  }

}
	@media (max-width:768px){

  .price-card-standard .price-tax{
    position:relative !important;
    top:-50px !important;      /* 上へ移動 */
    margin-bottom:-18px !important;
  }

  .price-card-standard .price-tax .swl-fz{
    position:relative !important;
    left:15px !important;
    display:inline-block !important;
  }

}
	@media (max-width:768px){

  .price-card-standard .price-head figure.wp-block-image img{
    width:76px !important;
    max-width:76px !important;
    height:auto !important;
  }

  .price-card-standard .price-head figure.wp-block-image{
    width:76px !important;
    max-width:76px !important;
    flex:0 0 76px !important;
  }

}
@media (max-width:768px){

  /* スタンダード：金額ブロック下の余白を詰める */
  .price-card-standard .price-label-blue{
    margin-bottom:6px !important;
  }

  .price-card-standard .price-tax .swl-fz{
    position:relative !important;
    top:0 !important;
    left:35px !important;
  }

}
	@media (max-width:768px){

  /* 税込価格は金額の少し下に戻す */
  .price-card-standard .price-tax{
    margin-top:6px !important;
    margin-bottom:0 !important;
    line-height:1.2 !important;
    transform:none !important;
  }

  .price-card-standard .price-tax .swl-fz{
    position:relative !important;
    left:15px !important;
    top:0 !important;
    display:inline-block !important;
  }

  /* 税込価格の下の仕切り線だけ上へ */
  .price-card-standard .price-tax ~ .wp-block-separator{
    margin-top:10px !important;
    margin-bottom:18px !important;
  }

  /* リストの上余白を詰める */
  .price-card-standard ul{
    margin-top:0 !important;
  }

}
	@media (max-width:768px){

  /* 金額グループの下余白をなくす */
  .price-card-standard .wp-block-group:has(.price-number){
    margin-bottom:0 !important;
    padding-bottom:0 !important;
  }

  /* 区切り線を上へ */
  .price-card-standard .wp-block-group:has(.price-number) + .wp-block-separator{
    margin-top:-30px !important;
  }

}
	@media (max-width:768px){

  /* ライトプラン・スタンダードプラン共通 */
  .price-card-light li,
  .price-card-standard li{
    font-size:18px !important;
    line-height:1.8 !important;
  }

}
@media (max-width:768px){

  /* ライト・スタンダード共通 */
  .price-card-light .wp-block-button__link .swl-fz,
  .price-card-standard .wp-block-button__link .swl-fz{
    font-size:15px !important;
    line-height:1 !important;
    font-weight:700 !important;
  }

}

@media (max-width:768px){

  .price-card-light .wp-block-button__link,
  .price-card-standard .wp-block-button__link,
  .price-card-light .wp-element-button,
  .price-card-standard .wp-element-button{
    font-size:16px !important;
    min-height:58px !important;
  }

  .price-card-light .wp-block-button__link .swl-fz,
  .price-card-standard .wp-block-button__link .swl-fz{
    font-size:16px !important;
    line-height:1 !important;
    font-weight:700 !important;
  }

}

	@media (max-width:768px){

  /* お問い合わせボタンのメールアイコン */
  .price-card-light .wp-block-button .swl-inline-icon,
  .price-card-standard .wp-block-button .swl-inline-icon{
    width:20px !important;
    min-width:20px !important;
    height:20px !important;

    font-size:20px !important;
    margin-right:-5px !important;
  }

  /* SVGの場合 */
  .price-card-light .wp-block-button .swl-inline-icon svg,
  .price-card-standard .wp-block-button .swl-inline-icon svg{
    width:20px !important;
    height:20px !important;
  }

}
@media (max-width:768px){

.price-header{
    margin-bottom:28px !important;
}

.price-header h2{
    margin-bottom:18px !important;
}

.price-header p{
    margin-bottom:10px !important;
    line-height:1.8 !important;
}

}
@media (max-width:768px){

  /* カスタムプランカード */
  .price-card-custom{
    padding:34px 32px 38px !important;
    border-radius:28px !important;
    box-sizing:border-box !important;
  }

  /* アイコン＋カスタムプラン */
  .price-card-custom .price-head > .wp-block-group__inner-container{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:24px !important;
  }

  .price-card-custom .price-head figure,
  .price-card-custom .price-head .wp-block-image{
    width:76px !important;
    max-width:76px !important;
    flex:0 0 76px !important;
    margin:0 0 0 -8px !important;
  }

  .price-card-custom .price-head img{
    width:76px !important;
    max-width:76px !important;
    height:auto !important;
    display:block !important;
  }

  .price-card-custom .price-head p{
    margin:0 0 0 -6px !important;
    white-space:nowrap !important;
    font-weight:700 !important;
    line-height:1.2 !important;
  }

  .price-card-custom .price-head .swl-fz{
    font-size:25px !important;
    line-height:1.15 !important;
  }

  /* 区切り線 */
  .price-card-custom .wp-block-separator{
    margin:8px 0 22px !important;
  }

  /* 説明文 */
  .price-card-custom .price-desc,
  .price-card-custom .price-desc .swl-fz,
  .price-card-custom > p,
  .price-card-custom > p .swl-fz{
    text-align:center !important;
    font-size:13px !important;
    line-height:2 !important;
    margin:0 0 24px !important;
  }

  /* 個別お見積りボックス */
  .price-card-custom .estimate-box{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:16px !important;

    background:#f5f5f5 !important;
    border-radius:18px !important;
    padding:18px 22px !important;
    margin:22px 0 !important;
    box-sizing:border-box !important;
  }

  .price-card-custom .estimate-box > figure,
  .price-card-custom .estimate-box > .wp-block-image{
    margin:0 !important;
    width:42px !important;
    max-width:42px !important;
    flex:0 0 42px !important;
  }

  .price-card-custom .estimate-box img{
    width:42px !important;
    max-width:42px !important;
    height:auto !important;
    display:block !important;
  }

  .price-card-custom .estimate-box > p,
  .price-card-custom .estimate-box p,
  .price-card-custom .estimate-box .swl-fz{
    margin:0 !important;
    width:auto !important;
    font-size:18px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
  }

  /* リスト */
  .price-card-custom ul{
    margin-top:0 !important;
    margin-bottom:28px !important;
    padding-left:0 !important;
  }

  .price-card-custom li{
    color:#222 !important;
    font-size:18px !important;
    line-height:1.8 !important;
    margin-bottom:10px !important;
    padding-left:38px !important;
  }

  .price-card-custom li::before{
    font-size:22px !important;
  }

  /* お問い合わせボタン */
  .price-card-custom .wp-block-button__link,
  .price-card-custom .wp-element-button{
    width:100% !important;
    min-height:58px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:16px !important;
  }

  .price-card-custom .wp-block-button__link .swl-fz,
  .price-card-custom .wp-element-button .swl-fz{
    font-size:16px !important;
    line-height:1 !important;
    font-weight:700 !important;
  }

  .price-card-custom .wp-block-button .swl-inline-icon{
    width:20px !important;
    min-width:20px !important;
    height:20px !important;
    font-size:20px !important;
    margin-right:-5px !important;
  }

  .price-card-custom .wp-block-button .swl-inline-icon svg{
    width:20px !important;
    height:20px !important;
  }

}
@media (max-width:768px){

  .price-card-custom .estimate-box{
    background:#f5f5f5 !important;
    border-radius:16px !important;
    padding:16px 20px !important;
    margin:20px 0 24px !important;
    box-sizing:border-box !important;
  }

  .price-card-custom .estimate-box > .wp-block-group__inner-container{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:18px !important;
  }

  .price-card-custom .estimate-box figure{
    margin:0 !important;
    width:46px !important;
    flex:0 0 46px !important;
  }

  .price-card-custom .estimate-box img{
    width:46px !important;
    max-width:46px !important;
    height:auto !important;
    display:block !important;
  }

  .price-card-custom .estimate-box p,
  .price-card-custom .estimate-box .swl-fz{
    margin:0 !important;
    font-size:24px !important;
    line-height:1.25 !important;
    font-weight:700 !important;
    white-space:nowrap !important;
  }

}
		@media (max-width:768px){

  .price-card-custom .price-desc{
    font-size:15px !important;
    line-height:2 !important;
  }

  .price-card-custom .price-desc .swl-fz{
    font-size:15px !important;
  }

}

@media (max-width:768px){

  /* FAQ全体 */
  .faq-section{
    background:linear-gradient(180deg,#eef7ff 0%,#f7fbff 100%) !important;
    padding:64px 12px 80px !important;
  }

  /* FAQ見出し */
  .faq-header{
    text-align:center !important;
    margin-bottom:34px !important;
  }

  .faq-header h2{
    font-size:36px !important;
    line-height:1.35 !important;
    margin:0 0 18px !important;
    color:#0b2d6f !important;
  }

  .faq-header p{
    font-size:17px !important;
    line-height:1.9 !important;
    margin:0 !important;
  }

  /* FAQカード */
  .faq-box{
    background:#fff !important;
    border-radius:18px !important;
    margin-bottom:18px !important;
    box-shadow:0 8px 24px rgba(30,80,140,.08) !important;
    overflow:hidden !important;
  }

  /* 質問行 */
  .faq-box .wp-block-accordion-heading__toggle{
    position:relative !important;
    width:100% !important;
    min-height:72px !important;

    display:flex !important;
    align-items:center !important;
    gap:14px !important;

    padding:18px 18px 18px 12px !important;

    border:none !important;
    background:transparent !important;

    color:#0b2d6f !important;
    font-size:20px !important;
    line-height:1.55 !important;
    font-weight:700 !important;
  }

  /* 既存線リセット */
  .faq-box .wp-block-accordion-heading__toggle::after,
  .faq-box .wp-block-accordion-panel{
    border-top:none !important;
  }

  /* 開いている時の仕切り線 */
  .faq-box.is-open .wp-block-accordion-heading__toggle::after{
    content:"" !important;
    position:absolute !important;
    left:20px !important;
    right:20px !important;
    bottom:0 !important;

    height:1.5px !important;
    background:#d9e5f6 !important;
    opacity:1 !important;
  }

  /* 回答部分：横幅をしっかり使う */
  .faq-box .wp-block-accordion-panel{
    padding:20px 14px 26px !important;
  }

  .faq-box .wp-block-accordion-panel p{
    margin:0 !important;
    padding:0 !important;
    text-indent:0 !important;

    font-size:16px !important;
    line-height:2.05 !important;
    color:#222 !important;
  }

  /* CTA */
  .faq-cta{
    display:block !important;
    text-align:center !important;

    padding:34px 24px !important;
    margin-top:18px !important;

    background:linear-gradient(180deg,#eef6ff 0%,#ffffff 100%) !important;
    border-radius:28px !important;
    box-shadow:0 10px 30px rgba(24,62,138,.08) !important;
  }

  .faq-cta > figure,
  .faq-cta > .wp-block-image{
    width:180px !important;
    margin:0 auto 24px !important;
  }

  .faq-cta > figure img,
  .faq-cta > .wp-block-image img{
    width:180px !important;
    display:block !important;
  }

  .faq-cta-body h1,
  .faq-cta-body h2,
  .faq-cta-body h3{
    margin:0 0 18px !important;
    font-size:31px !important;
    line-height:1.35 !important;
    font-weight:700 !important;
    color:#143d8d !important;
  }

  .faq-cta-body p{
    margin:0 0 24px !important;
    font-size:17px !important;
    line-height:2 !important;
    color:#444 !important;
  }

  .faq-cta-button,
  .faq-cta-button .wp-block-button{
    width:100% !important;
  }

  .faq-cta-button .wp-block-button__link{
    width:100% !important;
    min-height:62px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    border-radius:999px !important;
    font-size:17px !important;
    font-weight:700 !important;
  }

  .faq-cta-button .swl-inline-icon{
    width:20px !important;
    min-width:20px !important;
    height:20px !important;
    margin-right:8px !important;
  }

  .faq-cta-button .swl-inline-icon svg{
    width:20px !important;
    height:20px !important;
  }

	.faq-card,
.faq-box{
    margin-bottom:14px !important;
}
	/* CTAカードに細い紺色の枠線 */
.faq-cta{
    border:1px solid rgba(21,62,138,.25) !important;
    border-radius:28px !important;
}
	/* CTAイラストを少し小さく */
.faq-cta figure.wp-block-image{
    width:200px !important;   /* 今より少し小さく */
    margin:0 auto 20px !important;
}

.faq-cta figure.wp-block-image img{
    width:100% !important;
    height:auto !important;
    display:block !important;
}
	/* CTAイラスト上下の余白を詰める */
.faq-cta figure.wp-block-image{
    margin:0 auto 12px !important;
}
	@media (max-width:768px){

  .contact-form-wrap{
    width:calc(100% - 20px) !important;
    padding:24px 14px !important;
  }

  .contact-form-wrap .cf7-field input,
  .contact-form-wrap .cf7-field select,
  .contact-form-wrap .cf7-field textarea{
    width:100% !important;
    max-width:100% !important;
  }

}
.contact-form-wrap .cf7-note{
  width:100% !important;
  max-width:340px !important;
  margin:22px auto 0 !important;
  padding:0 !important;
  text-align:center !important;
}

.contact-form-wrap .cf7-note div{
  margin:0 !important;
  padding:0 !important;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1.9 !important;
  color:#666 !important;
  text-align:center !important;
}
	/* スマホ */
@media (max-width:768px){

.company-table td:first-child{
    width:100px !important;
    min-width:120px !important;
    text-align:center !important;
    vertical-align:middle !important;
    padding:20px 12px !important;
}
	.company-table tr:first-child td:first-child{
    padding-left:0px !important;
}
}

/* =========================
   スマホフッター
========================= */

@media (max-width:768px){

  .footer-sp{
    padding:36px 20px 28px !important;
    text-align:center !important;
  }

  /* ロゴ */
  .footer-sp .wp-block-image{
    margin:0 auto 16px !important;
    text-align:center !important;
  }

  .footer-sp .wp-block-image img{
    width:110px !important;
    height:auto !important;
    display:block !important;
    margin:0 auto !important;
  }

  /* すべての段落 */
  .footer-sp .wp-block-paragraph{
    margin:0 !important;
    text-align:center !important;
  }

  /* 社名 */
  .footer-sp .wp-block-paragraph:nth-of-type(1){
    margin-top:8px !important;
    font-size:28px !important;
    font-weight:700 !important;
    line-height:1.3 !important;
    color:#143d8d !important;
  }

  /* 合同会社 */
  .footer-sp .wp-block-paragraph:nth-of-type(2){
    margin-top:6px !important;
    font-size:14px !important;
    font-weight:700 !important;
    color:#143d8d !important;
  }

  /* 説明 */
  .footer-sp .wp-block-paragraph:nth-of-type(3){
    margin-top:24px !important;
    font-size:14px !important;
    line-height:1.9 !important;
    color:#333 !important;
  }

}
/* スマホフッター上部の仕切り線 */
.footer-sp{
    position:relative;
    padding-top:42px !important;
}

.footer-sp::before{
    content:"";
    display:block;

    width:100%;
    max-width:320px;

    height:2px;
    margin:0 auto 34px;

    background:#c9d8f4;
    border-radius:999px;
}
@media (max-width:768px){

  .home-btn{
    transform:translate(-14px,-112px) !important;
  }

}
	/* 英語見出し */
.is-style-section_ttl{
    font-size:16px !important;
    letter-spacing:.28em !important;
    line-height:1.8 !important;
}
	/* GREETING本文見出しだけ */
@media (max-width:768px){

#greeting .swl-fz{
    font-size: 22px !important;   /* 今32pxなら30px */
    line-height: 1.3 !important;
}

}
/* スマホ版の「YOUR CONCERNS」だけ横に広げる */
@media (max-width: 768px){

  .concern-section.sp_only
  .section-heading
  .is-style-section_ttl
  strong{
    display: inline-block;
    letter-spacing: 1.9px !important;
    word-spacing: 14px !important;
  }
}

/* あいさつだけ大きくする */
@media (max-width:768px){

#greeting .u-fz-xl{
    font-size: 28px !important;
    line-height: 1.3 !important;
}

}
	/* GREETINGだけ */
#greeting strong .swl-fz{
    font-size: 15px !important;
    letter-spacing: 0.01em !important;
}
	/* GREETINGの下の余白 */
#greeting strong .swl-fz{
    margin-bottom: 12px !important;
    display: inline-block;
}
	/* ごあいさつ本文だけ文字間隔を少し狭める */
#greeting .swl-fz{
    letter-spacing: 0.05em !important;
}
	/* 「このようなお悩みはありませんか？」だけ */
@media (max-width:768px){

.concern-section .u-fz-xl{
    letter-spacing: 0.8px !important;   /* 今より狭く */
}

}
	/* SERVICEの大見出しだけ */
#service p:nth-of-type(2) .swl-fz{
    font-size: 24px !important;
    line-height: 1.35 !important;
}
	/* SERVICE説明文の下の余白 */
#service .wp-block-group__inner-container > p:nth-of-type(3){
    margin-bottom: 28px !important;
}
	/* AREA COVERAGEだけ */
#area .u-fz-xs{
    font-size: 16px !important;      /* 今は12px → 15px */
    letter-spacing: 0.02em !important; /* 今より少し狭める */
    line-height: 1.3 !important;
}
	/* SUPPORTだけ */
#service > .wp-block-group__inner-container > p:first-child .swl-fz{
    font-size:16px !important;
}
	/* スマホ版：SUPPORT内の3段の間隔 */
@media (max-width: 768px){

  /* SUPPORT と「企業ごとの課題～」の間 */
  #service > .wp-block-group__inner-container > p:nth-of-type(1){
    margin-bottom: 22px !important;
  }

  /* 「企業ごとの課題～」と「企業規模や～」の間 */
  #service > .wp-block-group__inner-container > p:nth-of-type(2){
    margin-bottom: 22px !important;
  }

}
	/* AREAの日本語見出しだけ */
#area h2 > .swl-inline-color:last-of-type > .swl-fz{
    font-size: 28px !important;
    line-height: 1.0 !important;
}
	/* FLOWの日本語見出しだけ */
.section-heading .wp-block-paragraph:nth-child(2) > strong > .swl-fz{
    font-size: 28px !important;
    line-height: 1.7 !important;
}
	/* FLOWの説明文だけ */
.section-heading .wp-block-group__inner-container > p:nth-of-type(3) .swl-fz{
    font-size: 16px !important;
    line-height: 1.8 !important;
}
	/* FLOWだけ */
.section-heading .wp-block-group__inner-container > p:first-of-type .swl-fz{
    font-size: 16px !important;
}
	
	/* FAQ英語見出しだけ */
#faq .section-heading .swl-fz{
    font-size: 16px !important;
}
	/* FAQの日本語見出しだけ */
#faq .wp-block-paragraph:nth-of-type(2) .swl-fz{
    font-size: 28px !important;
    line-height: 	2.8 !important;
}
	/* FAQ説明文だけ */
#faq .faq-header .wp-block-paragraph:nth-of-type(3){
    font-size: 16px !important;
    line-height: 1.8 !important;
}
	/* CONTACTの「お問い合わせ」だけ */
.section-heading .wp-block-group__inner-container > p:nth-of-type(2) > .swl-fz{
    font-size: 28px !important;
    line-height: 1.9 !important;
}
	/* スマホ版：「会社概要」だけ28px */
@media (max-width: 768px){

  .sp_only > .wp-block-group__inner-container
  > .section-heading
  > .wp-block-group__inner-container
  > p:nth-of-type(2)
  .swl-fz{
    font-size: 28px !important;
    line-height: 1.3 !important;
  }

}
	@media (max-width:768px){

/* PRICE と 料金プランの間 */
.price-header .wp-block-paragraph:nth-of-type(1){
    margin-bottom: 18px !important;
}

/* 料金プラン と 説明文の間 */
.price-header .wp-block-paragraph:nth-of-type(2){
    margin-bottom: 22px !important;
}

}
	/* スマホ版：「くるめ産業医事務所が選ばれる4つの理由」だけ */
@media (max-width:768px){

  .strengths-box.sp_only
  .section-heading
  .wp-block-group__inner-container
  > p:nth-of-type(2),
  
  .strengths-box.sp_only
  .section-heading
  .wp-block-group__inner-container
  > p:nth-of-type(2) *{
    font-size:26px !important;
    line-height:1.35 !important;
  }

}
/* スマホ：料金カード全体をコンパクトに */
@media (max-width:768px){

.price-card{
    padding:20px !important;
    border-radius:24px !important;
}

.price-card .wp-block-group{
    margin:0 !important;
}

.price-card hr{
    margin:14px 0 !important;
}

}
	/* スマホ：料金カードのリスト間隔 */
@media (max-width:768px){

.price-card ul li{
    margin-bottom:10px !important;
    line-height:1.4 !important;
}

.price-card ul{
    margin:10px 0 !important;
}

}
	@media (max-width:768px){

.price-card-light ul li:last-child{
    margin-bottom:18px !important;
}

}
	@media (max-width:768px){

.price-card .price-desc{
    margin-top:10px !important;
    margin-bottom:10px !important;
    line-height:1.6 !important;
}

}
	@media (max-width:768px){

.price-card .price-number{
    font-size:54px !important;
    line-height:1 !important;
}

}
	@media (max-width:768px){

.price-card-standard ul li:last-child{
    margin-bottom:18px !important;
}

}
	@media (max-width:768px){

.price-card-light .wp-block-separator{
    margin:12px 0 10px !important;
}

}
	@media (max-width:768px){

.price-card-standard .wp-block-separator{
    margin:12px 0 8px !important;
}

.price-card-standard .price-desc{
    margin-top:0 !important;
    margin-bottom:10px !important;
}

}
	@media (max-width:768px){

/* 区切り線 */
.price-card-custom .plan-separator{
    margin:8px 0 6px !important;
}

/* 説明文 */
.price-card-custom .price-desc{
    margin:0 !important;
    padding:0 !important;
    line-height:1.5 !important;
}

}
	@media (max-width:768px){

.price-card-custom .price-desc{
    margin-bottom:8px !important;
}

}
	/* スマホ版：カスタムプランのボタン上余白を狭める */
@media (max-width:768px){

  .price-card-custom > p.wp-block-paragraph{
    margin-bottom: 16px !important;
  }

  .price-card-custom > .wp-block-buttons{
    margin-top: 0 !important;
  }

}
	@media (max-width:768px){

.price-card-custom > p.wp-block-paragraph strong{
    font-size:14px !important;   /* 今13pxなら14px */
    line-height:1.7 !important;
}

}
	@media (max-width:768px){

.price-card-custom ul li:last-child{
    margin-bottom:18px !important; /* 12〜20pxで調整 */
}

}
	/* 日本語見出しの文字間隔を狭くする */
.swl-fz.u-fz-xl{
    letter-spacing: -0.02em !important;
}
	/* スマホ版：料金カードのチェックリストを小さく */
@media screen and (max-width:768px){

  .price-card .is-style-check_list li{
    font-size:16px !important;
    line-height:1.6 !important;
  }

}
	/* スマホ お問い合わせ文字 */
@media (max-width: 959px){

  .l-header__customBtn .c-iconBtn__label{
    font-size: 9px !important;   /* 現在10pxくらい→9px */
    white-space: nowrap !important;
    line-height: 1 !important;
  }

}
@media (max-width:959px){

  .l-header__customBtn .c-iconBtn__label{
    position: relative !important;
    left: -3px !important;   /* 数字を増やすとさらに左へ */
  }

}	
	/* Contact Form 7：トップページへ戻るボタン */
.contact-home-btn{
  display:flex;
  justify-content:center;
  margin:32px 0 4px;
}

.contact-home-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-width:210px;
  padding:13px 24px;

  color:#143d8d !important;
  background:#fff;
  border:1.5px solid #143d8d;
  border-radius:999px;

  font-size:15px;
  font-weight:700;
  line-height:1.4;
  text-decoration:none !important;
  transition:.25s;
}

.contact-home-icon{
  font-size:21px;
  line-height:1;
}

.contact-home-link:hover{
  color:#fff !important;
  background:#143d8d;
}

@media (max-width:768px){
  .contact-home-btn{
    margin-top:-12px;
  }

  .contact-home-link{
    min-width:320px;
    padding:18px 20px;
    font-size:17px;
  }
}
	.contact-home-link i{
    font-size:24px !important;
    line-height:1;
}
	.contact-home-link{
    gap:5px !important;
}
	.page-id-1496 #content{
    padding-top:0px !important;
}
	/* CONTACTだけ文字サイズ変更 */
.page-id-1496 .post_content span[style*="font-size:18px"]{
    font-size:16px !important;
}
	/* AREA COVERAGE（英語） */
.area-en{
    font-size:16px !important;
    letter-spacing:-0.01em !important;
    line-height:2.9 !important;
    font-weight:700 !important;
}

/* 日本語タイトル */
.area-ja{
    font-size:28px !important;
    line-height:1.5 !important;
    font-weight:700 !important;
}

@media (max-width: 768px) {
  #greeting,
  #strengths,
  #service,
  #area,
  #price,
  #faq {
    scroll-margin-top: 120px !important;
  }
}
/* スマホ版のみ */
@media (max-width: 768px) {

  .home-back-btn {
    margin-top: 12px !important;
    margin-bottom: 28px !important;
  }

  .home-back-btn a {
    width: 100% !important;
    max-width: 100% !important;
    padding: 16px 12px !important;
    font-size: 18px !important;
    line-height: 1.4;
  }

}
	@media (max-width: 768px) {
    .price-note-card{
        margin-bottom: 100px !important;
    }
}
	@media (max-width: 768px) {
    /* ごあいさつの上の余白を狭める */
    #greeting {
        margin-top: -10px !important;
    }
}
	@media (max-width: 768px) {
    #greeting {
        scroll-margin-top: 85px !important;
    }
}
/* スマホのサポート内容だけ少し下で止める */
@media (max-width: 768px) {
    #service {
        transform: translateY(40px);
        scroll-margin-top: 90px !important;
    }
}
	@media screen and (max-width: 768px) {

  .greeting-profile-photo figure.wp-block-image,
  figure.wp-block-image:has(img.wp-image-2095) {
    width: 80% !important;
    max-width: 80% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  figure.wp-block-image img.wp-image-2095 {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 792 / 1073 !important;
    object-fit: contain !important;
  }
}
@media screen and (max-width: 768px) {

  /* スマホ版：番号＋文章の2列に固定 */
  .flow-card .flow-left {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    column-gap: 8px !important;
    align-items: start !important;
  }

  /* 1列目：番号を文章側へ右寄せ */
  .flow-card .flow-left > .wp-block-column:nth-child(1) {
    grid-column: 1 !important;
    width: 48px !important;
    max-width: 48px !important;
    margin: 0 !important;
    justify-self: end !important;
  }

  /* 2列目：人物画像カラムは非表示 */
  .flow-card .flow-left > .wp-block-column:nth-child(2) {
    display: none !important;
  }

  /* 3列目：タイトル・文章 */
  .flow-card .flow-left > .wp-block-column:nth-child(3) {
    grid-column: 2 !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-left: 0 !important;
  }

  /* 番号画像 */
  .flow-card .flow-num-img {
    width: 48px !important;
    max-width: 48px !important;
    margin: 0 !important;
  }

  .flow-card .flow-num-img img {
    width: 48px !important;
    height: 48px !important;
    display: block !important;
  }

}
}
@media (max-width: 768px) {
  .price-card ul.is-style-check_list {
    padding-left: 25px !important;
  }
}
	@media (max-width: 768px) {
  .flow-info-card figure.wp-block-image,
  .flow-card.flow-info-card figure.wp-block-image {
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    aspect-ratio: 1 / 1 !important;
  }

  .flow-info-card figure.wp-block-image img,
  .flow-card.flow-info-card figure.wp-block-image img,
  .flow-card.flow-info-card img {
    display: block !important;
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
    object-position: center !important;
    flex-shrink: 0 !important;
    transform: none !important;
  }
}
/* 旧 600-1024 / 600-959 / 600-781 は廃止。600-767 は Step4 の max-width:959px の直後の 1 本だけ。 */
/* =========================================================
   Step4：SP版を基準画像に再接近（375px実測）
   Step3の見出し上書き・100vw固定・入れ子max-widthを撤回。
   原因：Gutenberg入れ子グループの左右padding(22px)が累積し、
   CTA本文が38px幅・料金カードが169px幅まで潰れていた。
========================================================= */
@media (max-width:959px){

  /* --- PC/SP切替（ヒーローはSPブロックが無いため残す） --- */
  .pc_only:not(.hero-copy),
  .pc-only:not(.hero-copy){
    display:none !important;
  }
  .wp-block-cover.hero-copy.pc_only,
  .wp-block-cover.hero-copy.pc-only{
    display:flex !important;
  }
  .post_content > .wp-block-group.pc-only,
  .post_content > .wp-block-group.pc_only:not(.hero-copy){
    display:none !important;
  }

  /* 強み：PC用見出しが残っていた場合 */
  #strengths + .wp-block-group.pc-only,
  #strengths + .wp-block-group.pc_only,
  .strengths-title-pc,
  .strengths-box.sp_only .pc-only,
  .strengths-box.sp-only .pc-only,
  .strengths-box.sp_only .strengths-title-pc,
  .strengths-box.sp-only .strengths-title-pc{
    display:none !important;
  }

  /* --- 入れ子padding累積の解除（カード自身のpaddingは残す） --- */
  html body .sp_only .wp-block-group__inner-container,
  html body .sp-only .wp-block-group__inner-container,
  html body .sp_only .is-layout-constrained,
  html body .sp-only .is-layout-constrained,
  html body .sp_only.wp-block-group > .wp-block-group__inner-container,
  html body .post_content > .wp-block-group.alignfull > .wp-block-group__inner-container{
    width:100% !important;
    max-width:none !important;
    padding-left:0 !important;
    padding-right:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  html body .wp-block-group.sp_only,
  html body .wp-block-group.sp-only{
    padding-left:0 !important;
    padding-right:0 !important;
  }

  /* SUPPORT等が .alignfull グループに包まれ、.home .wp-block-group の22pxでカードが240pxまで狭まる */
  html body .home .wp-block-group.alignfull,
  html body .post_content > .wp-block-group.alignfull{
    padding-left:0 !important;
    padding-right:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    left:0 !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    transform:none !important;
    overflow:visible !important;
  }

  /* 水色背景は画面左右端まで。max-width:100% だと親345pxに閉じるため 100vw 必須 */
  html body .swell-block-fullWide.sp_only,
  html body .swell-block-fullWide.sp-only,
  html body .home .swell-block-fullWide.sp_only,
  html body .home .swell-block-fullWide.sp-only,
  html body .home .swell-block-fullWide.alignfull.sp_only,
  html body .home .swell-block-fullWide.sp_only.alignfull,
  html body .faq-section.sp_only,
  html body .home .swell-block-fullWide.faq-section,
  html body .home .swell-block-fullWide.faq-section.sp_only,
  html body .swell-block-fullWide.faq-section{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:0 !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    box-sizing:border-box !important;
    padding-left:0 !important;
    padding-right:0 !important;
    overflow:visible !important;
  }
  html body .swell-block-fullWide.sp_only .swell-block-fullWide__inner,
  html body .swell-block-fullWide.sp-only .swell-block-fullWide__inner,
  html body .faq-section.sp_only .swell-block-fullWide__inner{
    width:100% !important;
    max-width:100% !important;
    padding-left:16px !important;
    padding-right:16px !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }

  .sp_only .wp-block-group:not(.reason-card):not(.service-card):not(.price-card):not(.contact-cta):not(.area-cta):not(.area-card):not(.flow-card):not(.price-note-card):not(.concern-card):not(.concern-item):not(.faq-cta):not(.contact-form-wrap):not(.profile-card):not(.achievement-card):not(.career-card),
  .sp-only .wp-block-group:not(.reason-card):not(.service-card):not(.price-card):not(.contact-cta):not(.area-cta):not(.area-card):not(.flow-card):not(.price-note-card):not(.concern-card):not(.concern-item):not(.faq-cta):not(.contact-form-wrap):not(.profile-card):not(.achievement-card):not(.career-card){
    padding-left:0 !important;
    padding-right:0 !important;
  }

  /* カラムは縦積み。横並びを維持する例外は後段で上書き */
  .sp_only .wp-block-columns:not(.flow-left),
  .sp-only .wp-block-columns:not(.flow-left){
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    max-width:100% !important;
    gap:12px !important;
  }
  .sp_only .wp-block-columns:not(.flow-left) > .wp-block-column,
  .sp-only .wp-block-columns:not(.flow-left) > .wp-block-column{
    width:100% !important;
    max-width:100% !important;
    flex:0 0 auto !important;
    flex-basis:100% !important;
    min-width:0 !important;
  }
  .sp_only .wp-block-columns:not(.flow-left) > .wp-block-column.price-card,
  .sp-only .wp-block-columns:not(.flow-left) > .wp-block-column.price-card,
  .sp_only .wp-block-columns:not(.flow-left) > .wp-block-column.service-card,
  .sp-only .wp-block-columns:not(.flow-left) > .wp-block-column.service-card{
    width:calc(100% - 8px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* --- カード幅：親幅100%（100vwは使わない） --- */
  .sp_only .reason-card,
  .sp-only .reason-card,
  .sp_only .service-card,
  .sp-only .service-card,
  .sp_only .flow-card,
  .sp-only .flow-card,
  .sp_only .price-card,
  .sp-only .price-card,
  .sp_only .area-card,
  .sp-only .area-card,
  .sp_only .area-cta,
  .sp-only .area-cta,
  .sp_only .service-wrap,
  .sp-only .service-wrap,
  .strengths-box.sp_only,
  .strengths-box.sp-only{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    transform:none !important;
  }

  .sp_only .reason-card,
  .sp-only .reason-card,
  .sp_only .flow-card,
  .sp-only .flow-card,
  .sp_only .price-card,
  .sp-only .price-card,
  .sp_only .area-cta,
  .sp-only .area-cta,
  .sp_only .area-card,
  .sp-only .area-card{
    width:calc(100% - 16px) !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .sp_only .service-card,
  .sp-only .service-card,
  .sp_only .service-wrap .service-card,
  .sp-only .service-wrap .service-card{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
    padding-left:18px !important;
    padding-right:18px !important;
    overflow:visible !important;
  }
  .sp_only .service-card p,
  .sp-only .service-card p,
  .sp_only .service-card .wp-block-media-text__content{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
  }
  .sp_only .service-card h3,
  .sp-only .service-card h3,
  .sp_only .service-card .wp-block-media-text__content p:nth-child(2),
  .sp-only .service-card .wp-block-media-text__content p:nth-child(2){
    word-break:keep-all !important;
    overflow-wrap:normal !important;
  }

  .sp_only .reason-card,
  .sp-only .reason-card{
    display:block !important;
    margin:0 auto 16px !important;
    padding:16px 16px 16px !important;
    background:#fff !important;
    border-radius:24px !important;
    box-shadow:0 10px 30px rgba(18,52,86,.08) !important;
  }
  .sp_only .reason-wrap,
  .sp-only .reason-wrap,
  .strengths-box.sp_only .reason-wrap,
  .strengths-box.sp-only .reason-wrap,
  .sp_only .reason-wrap.wp-block-columns,
  .sp-only .reason-wrap.wp-block-columns{
    gap:16px !important;
    row-gap:16px !important;
  }
  .sp_only .reason-wrap > .wp-block-column,
  .sp-only .reason-wrap > .wp-block-column,
  .sp_only .reason-card:last-child,
  .sp-only .reason-card:last-child{
    margin-bottom:0 !important;
  }
  .sp_only .reason-card .wp-block-media-text,
  .sp-only .reason-card .wp-block-media-text{
    display:block !important;
    grid-template-columns:none !important;
  }
  .sp_only .reason-card .wp-block-media-text__content,
  .sp-only .reason-card .wp-block-media-text__content,
  .sp_only .reason-card p,
  .sp-only .reason-card p{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    writing-mode:horizontal-tb !important;
    white-space:normal !important;
    word-break:normal !important;
  }

  .sp_only .service-wrap,
  .sp-only .service-wrap{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
    margin:0 auto !important;
  }

  /* --- contact-cta：入れ子flex/paddingを完全リセット --- */
  .sp_only .contact-cta,
  .sp-only .contact-cta{
    background:#fff !important;
    border:1px solid #b7cff9 !important;
    border-radius:28px !important;
    box-shadow:0 10px 26px rgba(20,61,141,.05) !important;
    width:calc(100% - 12px) !important;
    max-width:100% !important;
    margin:12px auto 0 !important;
    padding:16px 16px !important;
    transform:none !important;
    box-sizing:border-box !important;
  }
  .sp_only .contact-cta .wp-block-group,
  .sp_only .contact-cta .wp-block-group__inner-container,
  .sp_only .contact-cta .wp-block-columns,
  .sp_only .contact-cta .wp-block-column,
  .sp_only .contact-cta .is-layout-flex,
  .sp_only .contact-cta .is-layout-constrained,
  .sp_only .contact-cta .is-row,
  .sp_only .contact-cta .is-stack,
  .sp-only .contact-cta .wp-block-group,
  .sp-only .contact-cta .wp-block-group__inner-container,
  .sp-only .contact-cta .wp-block-columns,
  .sp-only .contact-cta .wp-block-column,
  .sp-only .contact-cta .is-layout-flex,
  .sp-only .contact-cta .is-layout-constrained,
  .sp-only .contact-cta .is-row,
  .sp-only .contact-cta .is-stack{
    width:100% !important;
    max-width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    min-width:0 !important;
    flex:none !important;
    display:block !important;
  }
  .sp_only .contact-cta p,
  .sp-only .contact-cta p,
  .sp_only .contact-cta-sub,
  .sp-only .contact-cta-sub,
  .sp_only .contact-cta-main,
  .sp-only .contact-cta-main{
    width:100% !important;
    max-width:100% !important;
    display:block !important;
    text-align:center !important;
    writing-mode:horizontal-tb !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
  }
  .sp_only .contact-cta-sub,
  .sp-only .contact-cta-sub{
    font-size:14.5px !important;
    line-height:1.55 !important;
    margin:0 0 6px !important;
    color:#333 !important;
    font-weight:500 !important;
  }
  .sp_only .contact-cta-main,
  .sp-only .contact-cta-main{
    font-size:20px !important;
    line-height:1.45 !important;
    font-weight:700 !important;
    color:#143d8d !important;
    margin:0 !important;
    word-break:keep-all !important;
  }
  .sp_only .contact-cta-divider,
  .sp-only .contact-cta-divider{
    display:none !important;
  }
  .sp_only .contact-cta-left figure,
  .sp-only .contact-cta-left figure,
  .sp_only .contact-cta-left .wp-block-image,
  .sp-only .contact-cta-left .wp-block-image{
    width:72px !important;
    margin:0 auto 8px !important;
  }
  .sp_only .contact-cta-left img,
  .sp-only .contact-cta-left img{
    width:72px !important;
    height:auto !important;
    margin:0 auto !important;
    display:block !important;
  }
  .sp_only .contact-cta-button,
  .sp-only .contact-cta-button,
  .sp_only .contact-cta .wp-block-buttons,
  .sp-only .contact-cta .wp-block-buttons{
    width:100% !important;
    max-width:100% !important;
    margin:10px auto 0 !important;
    transform:none !important;
    display:flex !important;
    justify-content:center !important;
  }
  .sp_only .contact-cta-button .wp-block-button__link,
  .sp-only .contact-cta-button .wp-block-button__link{
    width:100% !important;
    max-width:240px !important;
    height:46px !important;
    margin:0 auto !important;
    padding:0 20px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:999px !important;
    background:#fff !important;
    color:#143d8d !important;
    border:1.5px solid #7fa2ee !important;
    font-size:16px !important;
    font-weight:700 !important;
    box-shadow:0 5px 14px rgba(37,99,235,.06) !important;
  }

  /* --- area-cta --- */
  .sp_only .area-cta,
  .sp-only .area-cta{
    background:#fff !important;
    border:1px solid #dbe7ff !important;
    border-radius:24px !important;
    box-shadow:0 10px 30px rgba(18,52,86,.08) !important;
    margin:16px auto 0 !important;
    padding:24px 20px 28px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:20px !important;
    grid-template-columns:none !important;
    box-sizing:border-box !important;
  }

  /* --- 英字見出し（1行目）／日本語見出し（2行目） ---
     既存の .swl-fz / #service / strengths-box 指定より詳細度を上げて上書き */
  html body .wp-block-group.section-heading > .wp-block-group__inner-container > p:first-of-type,
  html body .section-heading .wp-block-group__inner-container > p:first-of-type,
  html body .section-heading .wp-block-group__inner-container > p:first-of-type *,
  html body .section-heading .wp-block-group__inner-container > p:first-of-type .swl-fz,
  html body .section-heading .wp-block-paragraph:first-of-type .swl-fz,
  html body .price-header.section-heading .wp-block-group__inner-container > p:first-of-type,
  html body .price-header.section-heading .wp-block-group__inner-container > p:first-of-type *,
  html body .price-header.section-heading .wp-block-group__inner-container > p:first-of-type .swl-fz,
  html body #service > .wp-block-group__inner-container > p:first-child,
  html body #service > .wp-block-group__inner-container > p:first-child .swl-fz,
  html body .faq-section .section-heading.wp-block-paragraph{
    font-size:12px !important;
    letter-spacing:.16em !important;
    line-height:1.5 !important;
    font-weight:600 !important;
  }

  html body .wp-block-group.section-heading > .wp-block-group__inner-container > p:first-of-type,
  html body .section-heading .wp-block-group__inner-container > p:first-of-type,
  html body .price-header.section-heading .wp-block-group__inner-container > p:first-of-type,
  html body #service > .wp-block-group__inner-container > p:first-child,
  html body .faq-section .section-heading.wp-block-paragraph{
    margin:0 0 18px !important;
  }

  /* GREETINGは英字と「ごあいさつ」が同一p。日本語は従来の28pxを維持 */
  html body .section-heading .wp-block-group__inner-container > p:first-of-type .swl-fz.u-fz-xl,
  html body .section-heading .wp-block-group__inner-container > p:first-of-type .u-fz-xl,
  html body .section-heading .wp-block-group__inner-container > p:first-of-type .u-fz-xl *{
    font-size:28px !important;
    letter-spacing:.02em !important;
    line-height:1.3 !important;
    font-weight:700 !important;
  }

  html body .wp-block-group.section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .section-heading .wp-block-group__inner-container > p:nth-of-type(2),
  html body .price-header.section-heading .wp-block-group__inner-container > p:nth-of-type(2),
  html body .concern-section .section-heading .wp-block-group__inner-container > p:nth-of-type(2),
  html body .section-heading p.is-style-section_ttl:nth-of-type(2){
    font-size:24px !important;
    letter-spacing:.02em !important;
    line-height:1.4 !important;
    margin:0 0 22px !important;
    font-weight:700 !important;
  }
  html body .section-heading .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body .section-heading .wp-block-group__inner-container > p:nth-of-type(2) .swl-fz,
  html body .section-heading .wp-block-group__inner-container > p:nth-of-type(2) > .swl-fz,
  html body .section-heading .wp-block-paragraph:nth-child(2) > strong > .swl-fz,
  html body .price-header.section-heading .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body .price-header.section-heading .wp-block-group__inner-container > p:nth-of-type(2) .swl-fz,
  html body .concern-section .section-heading .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body .section-heading p.is-style-section_ttl:nth-of-type(2) *,
  html body #faq .wp-block-paragraph:nth-of-type(2) .swl-fz,
  html body .sp_only > .wp-block-group__inner-container > .section-heading > .wp-block-group__inner-container > p:nth-of-type(2) .swl-fz{
    font-size:24px !important;
    letter-spacing:.02em !important;
    line-height:1.4 !important;
    margin:0 !important;
    display:inline !important;
    font-weight:700 !important;
  }

  html body #service > .wp-block-group__inner-container > p:nth-of-type(1),
  html body .swell-block-fullWide.sp_only .section-heading > .wp-block-group__inner-container > p:first-of-type{
    margin-bottom:18px !important;
  }
  html body .swell-block-fullWide.sp_only .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body #service > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .concern-section .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .faq-section.sp_only .faq-header .section-heading{
    margin-bottom:22px !important;
  }
  html body .section-heading > .wp-block-group__inner-container > p.u-mb-ctrl:first-of-type,
  html body .section-heading > .wp-block-group__inner-container > p.u-mb-15,
  html body .section-heading > .wp-block-group__inner-container > p.u-mb-20,
  html body .concern-section .section-heading > .wp-block-group__inner-container > p:first-of-type{
    margin-bottom:18px !important;
  }
  html body .section-heading > .wp-block-group__inner-container > p.u-mb-ctrl:nth-of-type(2),
  html body .section-heading > .wp-block-group__inner-container > p.u-mb-30{
    margin-bottom:22px !important;
  }
  html body .section-heading > .wp-block-group__inner-container > p:nth-of-type(3){
    margin:0 0 4px !important;
    font-size:15px !important;
    font-weight:500 !important;
    line-height:1.85 !important;
    letter-spacing:.02em !important;
  }
  html body .wp-block-group.section-heading{
    margin-bottom:28px !important;
  }
  html body .wp-block-group.section-heading.sp_only,
  html body .wp-block-group.section-heading.sp-only{
    margin-bottom:0 !important;
  }

  /* 縦書き崩れ防止（幅は弄らない） */
  .sp_only p,
  .sp-only p,
  .sp_only li,
  .sp-only li{
    writing-mode:horizontal-tb !important;
    text-orientation:mixed !important;
  }

  .sp_only,
  .sp-only{
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  .swell-block-fullWide.sp_only.sp-py-40,
  .swell-block-fullWide.sp-only.sp-py-40,
  html body .swell-block-fullWide.pc-py-60.sp-py-40,
  html body .pc-py-60.sp-py-40.sp_only,
  html body .pc-py-60.sp-py-40.sp-only{
    padding-top:40px !important;
    padding-bottom:72px !important;
  }
  /* FLOW補足カード下の水色余白だけ半分（他セクションの72pxは維持） */
  html body .swell-block-fullWide.sp_only:has(.flow-info-card),
  html body .swell-block-fullWide.sp-only:has(.flow-info-card),
  html body .swell-block-fullWide.pc-py-60.sp-py-40.sp_only:has(.flow-info-card),
  html body .swell-block-fullWide.pc-py-60.sp-py-40.sp-only:has(.flow-info-card),
  html body .pc-py-60.sp-py-40.sp_only:has(.flow-info-card){
    padding-bottom:36px !important;
  }

  .sp_only .flow-card,
  .sp-only .flow-card{
    padding:18px 16px !important;
    margin:0 auto 16px !important;
    overflow:hidden !important;
  }
  .sp_only .flow-card:last-child,
  .sp-only .flow-card:last-child{
    margin-bottom:0 !important;
  }

  /* FLOW：人物イラストはSP非表示。番号＋本文の2列 */
  .sp_only .flow-card .flow-left,
  .sp-only .flow-card .flow-left,
  html body .flow-card .flow-left{
    display:grid !important;
    grid-template-columns:52px minmax(0,1fr) !important;
    column-gap:14px !important;
    row-gap:0 !important;
    width:100% !important;
    max-width:100% !important;
    align-items:center !important;
    margin:0 !important;
  }
  .sp_only .flow-card .flow-left > .wp-block-column,
  .sp-only .flow-card .flow-left > .wp-block-column{
    display:block !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    flex:none !important;
  }
  .sp_only .flow-card .flow-left > .wp-block-column:nth-child(1),
  .sp-only .flow-card .flow-left > .wp-block-column:nth-child(1),
  html body .flow-card .flow-left > .wp-block-column:nth-child(1){
    grid-column:1 !important;
    width:52px !important;
    max-width:52px !important;
    margin-left:0 !important;
    justify-self:center !important;
  }
  html body .sp_only .flow-card .flow-left > .wp-block-column:nth-child(2),
  html body .sp-only .flow-card .flow-left > .wp-block-column:nth-child(2),
  html body .flow-card .flow-left > .wp-block-column:nth-child(2){
    display:none !important;
    width:0 !important;
    max-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    visibility:hidden !important;
    height:0 !important;
    overflow:hidden !important;
  }
  .sp_only .flow-card .flow-left > .wp-block-column:nth-child(3),
  .sp-only .flow-card .flow-left > .wp-block-column:nth-child(3),
  html body .flow-card .flow-left > .wp-block-column:nth-child(3){
    grid-column:2 !important;
    width:auto !important;
  }
  .sp_only .flow-card .flow-left > .wp-block-column:nth-child(1) img,
  .sp-only .flow-card .flow-left > .wp-block-column:nth-child(1) img,
  .sp_only .flow-card .flow-num-img,
  .sp-only .flow-card .flow-num-img img{
    width:48px !important;
    height:48px !important;
    margin:0 auto !important;
  }
  .sp_only .flow-card .flow-text p:first-child,
  .sp-only .flow-card .flow-text p:first-child{
    font-size:17px !important;
    line-height:1.35 !important;
    margin:0 0 4px !important;
  }

  .sp_only .service-card,
  .sp-only .service-card{
    padding-top:16px !important;
    padding-bottom:12px !important;
  }

  /* 1. 保有資格：はみ出し防止 */
  html body .profile-row,
  html body .profile-card,
  html body .sp_only .profile-row,
  html body .sp_only .profile-card{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    overflow:visible !important;
    transform:none !important;
  }
  html body .profile-card.is-row,
  html body .sp_only .profile-card{
    display:block !important;
    flex-direction:column !important;
  }
  html body .profile-card .profile-title{
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    grid-template-columns:auto 1fr !important;
  }
  html body .profile-card .is-row__inner-container,
  html body .profile-card > .wp-block-group__inner-container{
    width:100% !important;
    max-width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  html body .profile-row,
  html body .home .wp-block-group.profile-row,
  html body .home .profile-row.wp-block-group,
  html body .wp-block-group.is-row.profile-row,
  html body .home .profile-row > .wp-block-group__inner-container,
  html body .home .profile-row .is-row__inner-container{
    padding-left:0 !important;
    padding-right:0 !important;
  }
  html body .profile-card li,
  html body .achievement-label{
    margin-left:0 !important;
    white-space:normal !important;
    max-width:100% !important;
  }

  /* 2. 実績カード：担当企業と業種を横並び */
  html body .sp_only .achievement-card .wp-block-columns,
  html body .sp-only .achievement-card .wp-block-columns,
  html body .achievement-card .wp-block-columns:not(.achievement-industry-columns),
  html body .achievement-card.profile-card .wp-block-columns:not(.achievement-industry-columns){
    display:grid !important;
    grid-template-columns:34% minmax(0,1fr) !important;
    flex-direction:row !important;
    align-items:center !important;
    width:100% !important;
    max-width:100% !important;
    gap:12px !important;
    column-gap:12px !important;
  }
  html body .sp_only .achievement-card .wp-block-columns > .wp-block-column,
  html body .sp-only .achievement-card .wp-block-columns > .wp-block-column,
  html body .achievement-card .wp-block-columns:not(.achievement-industry-columns) > .wp-block-column{
    width:auto !important;
    max-width:none !important;
    flex:none !important;
    flex-basis:auto !important;
    min-width:0 !important;
  }
  html body .sp_only .achievement-card .achievement-industries .wp-block-columns,
  html body .achievement-card.profile-card .achievement-industries .wp-block-columns{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    flex-direction:row !important;
    width:100% !important;
  }
  html body .sp_only .achievement-card .achievement-industries .wp-block-column{
    width:auto !important;
    max-width:none !important;
    flex-basis:auto !important;
  }

  /* 3. 「選ばれる」のる落ちを防ぐ */
  html body .strengths-box.sp_only .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .strengths-box.sp_only .section-heading > .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body .strengths-box.sp-only .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .strengths-box.sp-only .section-heading > .wp-block-group__inner-container > p:nth-of-type(2) *{
    font-size:22px !important;
    letter-spacing:0 !important;
    line-height:1.4 !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
  }

  /* 5. AREA日本語サブ見出し：22px上書きを撤回し基準に近い28pxへ */
  html body .sp_only .area-ja,
  html body .sp-only .area-ja,
  html body .sp_only .area-ja *,
  html body .sp-only .area-ja *,
  html body .sp_only p.area-ja .swl-fz,
  html body .area-ja{
    font-size:28px !important;
    font-weight:700 !important;
    line-height:1.45 !important;
    letter-spacing:.02em !important;
    width:100% !important;
    max-width:100% !important;
    text-align:center !important;
  }

  /* 7. FLOW下部案内：2列＋中央仕切り */
  html body .sp_only .flow-info-card .wp-block-columns,
  html body .sp-only .flow-info-card .wp-block-columns,
  html body .flow-info-card .wp-block-columns{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    flex-direction:row !important;
    width:100% !important;
    max-width:100% !important;
    gap:0 !important;
    align-items:center !important;
  }
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column,
  html body .sp-only .flow-info-card .wp-block-columns > .wp-block-column{
    width:auto !important;
    max-width:none !important;
    flex:none !important;
    flex-basis:auto !important;
    min-width:0 !important;
    padding:0 10px !important;
  }
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column:first-child,
  html body .flow-info-card .wp-block-column:first-child{
    border-right:1px solid #dbe7ff !important;
  }

  /* 8. ライトプラン注釈がFAQに重ならない／境界余白を確保 */
  html body .wp-block-group.price-note-card,
  html body .price-note-card{
    position:relative !important;
    transform:none !important;
    margin-top:28px !important;
    margin-bottom:64px !important;
    z-index:1 !important;
  }
  html body .price-card-custom{
    margin-top:20px !important;
    margin-bottom:28px !important;
  }
  html body .faq-section.sp_only,
  html body .swell-block-fullWide.faq-section{
    margin-top:12px !important;
    background:linear-gradient(180deg,#eef7ff 0%,#f7fbff 100%) !important;
  }

  /* 10. FAQ CTA：.contact-cta ではなく .faq-cta。外枠と見出し・ボタンのバランス */
  html body .faq-section.sp_only .faq-cta,
  html body .sp_only .faq-cta{
    width:calc(100% - 8px) !important;
    max-width:100% !important;
    margin:20px auto 8px !important;
    padding:24px 20px 24px !important;
    min-height:0 !important;
    height:auto !important;
    background:linear-gradient(180deg,#eef6ff 0%,#f7fbff 42%,#ffffff 100%) !important;
    border:1px solid #b7cff9 !important;
    border-radius:24px !important;
    box-sizing:border-box !important;
    box-shadow:0 10px 26px rgba(20,61,141,.05) !important;
  }
  html body .faq-section.sp_only .faq-cta-body h1,
  html body .faq-section.sp_only .faq-cta-body h2,
  html body .sp_only .faq-cta-body h1,
  html body .sp_only .faq-cta-body h2{
    font-size:22px !important;
    line-height:1.45 !important;
    font-weight:700 !important;
    margin:0 0 10px !important;
    width:100% !important;
  }
  html body .faq-section.sp_only .faq-cta-body p,
  html body .sp_only .faq-cta-body p{
    font-size:14px !important;
    line-height:1.7 !important;
    margin:0 0 16px !important;
  }
  html body .faq-section.sp_only .faq-cta .wp-block-buttons,
  html body .sp_only .faq-cta .wp-block-buttons,
  html body .faq-section.sp_only .faq-cta-button,
  html body .sp_only .faq-cta-button{
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
  }
  html body .faq-section.sp_only .faq-cta .wp-block-button__link,
  html body .sp_only .faq-cta .wp-block-button__link,
  html body .faq-section.sp_only .faq-cta-button .wp-block-button__link{
    width:100% !important;
    max-width:100% !important;
    min-height:48px !important;
    height:auto !important;
    padding:12px 16px !important;
    font-size:16px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 auto !important;
    box-sizing:border-box !important;
  }

  /* 11. 活動報告見出し：nowrapで右側切れ。中央揃えで折り返し許可 */
  html body .home .wp-block-group.activity-section,
  html body .wp-block-group.activity-section,
  html body .activity-section .wp-block-group__inner-container,
  html body .activity-section .section-heading,
  html body .activity-section .section-heading > .wp-block-group__inner-container{
    width:100% !important;
    max-width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }
  html body .activity-section .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .activity-section .section-heading > .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body .activity-section p:nth-of-type(2){
    font-size:20px !important;
    letter-spacing:0 !important;
    line-height:1.45 !important;
    white-space:normal !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    text-align:center !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }

  /* 12. ACTIVITY記事タイトル */
  html body .activity-section h2,
  html body .activity-section .p-postList__title,
  html body .activity-section .c-postTitle,
  html body .home .activity-section h2{
    font-size:16px !important;
    line-height:1.5 !important;
    letter-spacing:0 !important;
    font-weight:700 !important;
    margin-bottom:8px !important;
  }

  /* 13. お問い合わせフォーム */
  html body .contact-form-wrap{
    width:calc(100% - 24px) !important;
    max-width:100% !important;
    margin:24px auto 40px !important;
    padding:20px 16px !important;
    box-sizing:border-box !important;
    transform:none !important;
  }
  html body .contact-form-wrap .wpcf7-form .cf7-row,
  html body .contact-form-wrap .cf7-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    width:100% !important;
    max-width:100% !important;
    margin-bottom:16px !important;
  }
  html body .contact-form-wrap .cf7-field,
  html body .contact-form-wrap .wpcf7-form .cf7-field,
  html body .contact-form-wrap .cf7-label,
  html body .contact-form-wrap input,
  html body .contact-form-wrap select,
  html body .contact-form-wrap textarea{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }
  html body .contact-form-wrap .cf7-note,
  html body .cf7-note{
    width:100% !important;
    max-width:100% !important;
  }
  html body .contact-form-wrap input[type="submit"],
  html body .contact-form-wrap .cf7-submit-wrap,
  html body .contact-form-wrap .home-back-btn,
  html body .home-back-btn,
  html body .home-back-btn a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }
  html body .contact-form-wrap .home-back-btn a{
    padding:16px 12px !important;
    font-size:18px !important;
    line-height:1.4 !important;
    border-radius:999px !important;
  }

  /* 保有資格：タイトルはなるべく保持、説明文は折り返す */
  html body .profile-card li{
    width:100% !important;
    max-width:100% !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    white-space:normal !important;
  }

  /* =========================================================
     Step10：SP縦リズム（412px基準）
     EN→JA 18px / JA→導入 22px / 導入→カード 28px / カード間 16px
  ========================================================= */

  /* GREETING：同一p内の英字と日本語、キャッチコピー、本文
     Gutenbergが見出しpにも id="greeting" を付けているため、#greeting の padding-top:13px が
     キャッチコピーにも乗って行間が空く。p#greeting だけ打ち消す。 */
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:first-of-type#greeting,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:first-of-type#greeting{
    padding-top:0 !important;
    padding-bottom:0 !important;
    margin-top:0 !important;
  }
  html body #greeting{
    margin-top:0 !important;
  }
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:first-of-type,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:first-of-type{
    margin-top:0 !important;
    margin-bottom:18px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:first-of-type .swl-fz:not(.u-fz-xl),
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:first-of-type .swl-fz:not(.u-fz-xl){
    display:block !important;
    margin-bottom:12px !important;
    font-size:12px !important;
    letter-spacing:.16em !important;
    font-weight:600 !important;
  }
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:first-of-type .u-fz-xl,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:first-of-type .u-fz-xl,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:first-of-type .u-fz-xl *{
    display:block !important;
    margin-top:0 !important;
    font-size:28px !important;
    font-weight:700 !important;
    line-height:1.3 !important;
  }
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2).u-mb-ctrl,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2).u-mb-20,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2).is-style-section_ttl{
    margin-top:8px !important;
    margin-bottom:24px !important;
    padding:0 !important;
    font-weight:700 !important;
    line-height:1.3 !important;
  }
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2) br,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:nth-of-type(2) br{
    display:block !important;
  }
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2) > .swl-inline-color,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:nth-of-type(2) > .swl-inline-color,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2) *{
    display:inline !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1.3 !important;
  }
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2) > .swl-inline-color,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:nth-of-type(2) > .swl-inline-color{
    display:block !important;
  }

  /* 保有資格：写真との間隔（見出しグループ内のfigureなのでpaddingで相殺崩れを防ぐ） */
  html body .greeting-profile-photo,
  html body .greeting-profile-photo figure.wp-block-image,
  html body figure.wp-block-image:has(img.wp-image-2095),
  html body .section-heading.sp_only figure.wp-block-image:has(img.wp-image-2095),
  html body .section-heading.sp-only figure.wp-block-image:has(img.wp-image-2095){
    margin-top:4px !important;
    margin-bottom:0 !important;
    padding-bottom:14px !important;
  }
  html body .profile-row{
    margin-top:0 !important;
    row-gap:12px !important;
    gap:12px !important;
  }
  html body .profile-card:not(.achievement-card){
    margin-top:10px !important;
    margin-bottom:0 !important;
    padding:22px 20px 20px !important;
    overflow-x:hidden !important;
    overflow-y:visible !important;
    box-sizing:border-box !important;
  }
  html body .profile-card:not(.achievement-card) .is-row__inner-container,
  html body .profile-card:not(.achievement-card) > .wp-block-group__inner-container{
    width:100% !important;
    max-width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }
  html body .profile-card:not(.achievement-card) ul,
  html body .profile-card:not(.achievement-card) li{
    max-width:100% !important;
    box-sizing:border-box !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    white-space:normal !important;
  }
  html body .profile-card:not(.achievement-card) li{
    padding-right:4px !important;
  }
  html body .profile-card:not(.achievement-card) li span,
  html body .profile-card:not(.achievement-card) li .swl-fz,
  html body .profile-card:not(.achievement-card) li .u-fz-xs{
    display:block !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  /* YOUR CONCERNS：英字→日本語の間隔を基準に（u-mb-15/30 を上書き） */
  html body .concern-section .section-heading > .wp-block-group__inner-container > p:first-of-type,
  html body .concern-section .section-heading p.u-mb-15,
  html body .concern-section .section-heading p.u-mb-ctrl.u-mb-15,
  html body .concern-section p.is-style-section_ttl.u-mb-15{
    margin-bottom:14px !important;
  }
  html body .concern-section .section-heading > .wp-block-group__inner-container > p:first-of-type *,
  html body .concern-section .section-heading p.u-mb-15 *{
    margin-bottom:0 !important;
  }
  html body .concern-section .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .concern-section .section-heading > .wp-block-group__inner-container > p:nth-of-type(2) *{
    line-height:1.35 !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    padding:0 !important;
  }
  html body .concern-section .section-heading > .wp-block-group__inner-container > p:nth-of-type(2) br{
    display:none !important;
  }
  html body .concern-section .section-heading > .wp-block-group__inner-container > p:nth-of-type(2) > .swl-inline-color{
    display:block !important;
    margin:0 !important;
    line-height:1.35 !important;
  }
  html body .concern-section .section-heading > .wp-block-group__inner-container > p:nth-of-type(2){
    display:block !important;
    margin-bottom:10px !important;
    padding:0 !important;
  }
  html body .concern-section .section-heading p.u-mb-15,
  html body .concern-section .section-heading p.u-mb-ctrl.u-mb-15,
  html body .concern-section p.is-style-section_ttl.u-mb-15{
    margin-top:0 !important;
    margin-bottom:14px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }
  html body .concern-section .section-heading p.u-mb-30,
  html body .concern-section .section-heading p.u-mb-ctrl.u-mb-30,
  html body .concern-section p.is-style-section_ttl.u-mb-30{
    margin-bottom:10px !important;
    margin-top:0 !important;
    padding:0 !important;
  }

  /* 吹き出しと人物：三角先端から顔写真まで少し余白 */
  html body .concern-section.sp_only .concern-item p,
  html body .concern-section.sp-only .concern-item p,
  html body .concern-item .wp-block-paragraph{
    margin-bottom:28px !important;
  }
  html body .concern-section.sp_only .concern-person,
  html body .concern-section.sp-only .concern-person,
  html body .concern-item figure.wp-block-image,
  html body .concern-item .concern-person{
    margin-top:0 !important;
    margin-bottom:40px !important;
  }

  /* 強み見出し：英字と日本語は詰め、カード前は広め */
  html body .strengths-box.sp_only .section-heading > .wp-block-group__inner-container > p:first-of-type,
  html body .strengths-box.sp-only .section-heading > .wp-block-group__inner-container > p:first-of-type{
    margin-bottom:12px !important;
  }
  html body .strengths-box.sp_only .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .strengths-box.sp_only .section-heading > .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body .strengths-box.sp-only .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .strengths-box.sp-only .section-heading > .wp-block-group__inner-container > p:nth-of-type(2) *{
    font-size:22px !important;
    letter-spacing:.02em !important;
    line-height:1.4 !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    margin:0 !important;
    padding:0 !important;
  }
  html body .strengths-box.sp_only .section-heading > .wp-block-group__inner-container > p:nth-of-type(2) br,
  html body .strengths-box.sp-only .section-heading > .wp-block-group__inner-container > p:nth-of-type(2) br{
    display:none !important;
  }
  html body .strengths-box.sp_only .section-heading > .wp-block-group__inner-container > p:nth-of-type(2) > .swl-inline-color,
  html body .strengths-box.sp-only .section-heading > .wp-block-group__inner-container > p:nth-of-type(2) > .swl-inline-color{
    display:block !important;
  }
  html body .strengths-box.sp_only .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .strengths-box.sp-only .section-heading > .wp-block-group__inner-container > p:nth-of-type(2){
    margin-bottom:0 !important;
    display:block !important;
  }
  html body .strengths-box.sp_only .section-heading,
  html body .strengths-box.sp-only .section-heading{
    margin-bottom:32px !important;
  }
  html body .area-cta,
  html body .sp_only .area-cta,
  html body .sp-only .area-cta{
    padding:24px 20px 28px !important;
    gap:20px !important;
    box-sizing:border-box !important;
  }
  html body .concern-section.sp_only .concern-bubble,
  html body .concern-section.sp-only .concern-bubble,
  html body .concern-item .concern-bubble{
    margin-bottom:20px !important;
  }

  /* 強みカード間隔を均一化（nth 上書きを打ち消し） */
  html body .sp_only .reason-wrap,
  html body .sp-only .reason-wrap,
  html body .strengths-box.sp_only .reason-wrap,
  html body .strengths-box.sp-only .reason-wrap{
    display:flex !important;
    flex-direction:column !important;
    gap:16px !important;
    row-gap:16px !important;
    width:100% !important;
  }
  html body .sp_only .reason-wrap > .wp-block-column,
  html body .sp-only .reason-wrap > .wp-block-column,
  html body .strengths-box.sp_only .reason-wrap > .wp-block-column{
    display:flex !important;
    flex-direction:column !important;
    gap:16px !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    flex:none !important;
  }
  html body .sp_only .reason-card,
  html body .sp-only .reason-card,
  html body .sp-only .reason-card:nth-of-type(1),
  html body .sp_only .reason-card:nth-of-type(1){
    margin:0 auto !important;
  }

  /* PRICE説明文 */
  html body .price-header.section-heading > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .price-header.section-heading p:nth-of-type(3){
    font-size:15px !important;
    font-weight:500 !important;
    line-height:1.9 !important;
    margin:0 !important;
  }

  /* FAQ説明→カード */
  html body .faq-section.sp_only .faq-header{
    margin-bottom:28px !important;
  }
  html body .faq-section.sp_only .faq-cta figure.wp-block-image,
  html body .sp_only .faq-cta figure.wp-block-image{
    margin:0 auto 12px !important;
  }

  /* CONTACTフォーム：上余白・行間・送信ボタン幅 */
  html body .contact-form-wrap,
  html body .wp-block-group.contact-form-wrap{
    padding:28px 18px 32px !important;
    box-sizing:border-box !important;
  }
  html body .contact-form-wrap .cf7-row,
  html body .contact-form-wrap .wpcf7-form .cf7-row{
    margin-bottom:18px !important;
    gap:6px !important;
  }
  html body .contact-form-wrap .cf7-submit-wrap,
  html body .contact-form-wrap .cf7-submit-wrap p,
  html body .contact-form-wrap .wpcf7-submit,
  html body .contact-form-wrap input[type="submit"],
  html body .contact-form-wrap .home-back-btn,
  html body .contact-form-wrap .home-back-btn a{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    flex:none !important;
    box-sizing:border-box !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  html body .contact-form-wrap .cf7-submit-wrap{
    display:block !important;
    width:100% !important;
    margin-top:8px !important;
    margin-bottom:0 !important;
  }
  html body .contact-form-wrap .cf7-submit-wrap p{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    line-height:0 !important;
    font-size:0 !important;
    position:relative !important;
  }
  html body .contact-form-wrap input[type="submit"],
  html body .contact-form-wrap .home-back-btn a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:52px !important;
    padding:14px 16px !important;
    font-size:17px !important;
    font-weight:700 !important;
    line-height:1.4 !important;
    border-radius:999px !important;
  }
  html body .contact-form-wrap input[type="submit"]{
    margin-top:8px !important;
    margin-bottom:0 !important;
  }
  html body .contact-form-wrap .wpcf7-spinner{
    position:absolute !important;
    right:18px !important;
    top:50% !important;
    width:24px !important;
    height:24px !important;
    margin:0 !important;
    transform:translateY(-50%) !important;
  }
  html body .contact-form-wrap .home-back-btn{
    margin-top:24px !important;
    margin-bottom:16px !important;
    width:100% !important;
  }
  html body .contact-form-wrap .home-back-btn p{
    margin:0 !important;
    padding:0 !important;
    width:100% !important;
    line-height:0 !important;
  }
  html body .contact-form-wrap .home-back-btn a br{
    display:none !important;
  }

  /* =========================================================
     Step12：基準画像合わせ（412px）
  ========================================================= */

  /* 写真を一回り大きく */
  html body .section-heading.sp_only figure.wp-block-image:has(img.wp-image-2095),
  html body .section-heading.sp-only figure.wp-block-image:has(img.wp-image-2095),
  html body figure.wp-block-image:has(img.wp-image-2095){
    width:92% !important;
    max-width:92% !important;
  }

  /* 保有資格：内部スクロールをやめて全件表示。行間を確保 */
  html body .profile-row,
  html body .sp_only .profile-row{
    display:flex !important;
    flex-direction:column !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    align-items:stretch !important;
  }
  html body .profile-row > .profile-card,
  html body .profile-card,
  html body .profile-card:not(.achievement-card),
  html body .achievement-card.profile-card{
    flex:none !important;
    flex-grow:0 !important;
    flex-shrink:0 !important;
    flex-basis:auto !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }
  html body .profile-card:not(.achievement-card) li{
    margin-bottom:16px !important;
    line-height:1.5 !important;
    padding-right:0 !important;
  }
  html body .profile-card:not(.achievement-card) li:last-child{
    margin-bottom:0 !important;
  }
  html body .profile-card:not(.achievement-card) li span,
  html body .profile-card:not(.achievement-card) li .u-fz-xs,
  html body .profile-card:not(.achievement-card) li .swl-fz{
    margin-top:4px !important;
    line-height:1.65 !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    max-width:100% !important;
    width:100% !important;
  }

  /* 実績の青い注記：文字を小さくして2行へ */
  html body .achievement-cta,
  html body .achievement-card .achievement-cta,
  html body .profile-card .achievement-cta{
    margin-top:18px !important;
    padding:14px 16px !important;
  }
  html body .achievement-cta p,
  html body .achievement-cta p *,
  html body .achievement-card .achievement-cta p{
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.5 !important;
    letter-spacing:0 !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
  }

  /* 吹き出しと人物：4人とも同じ間隔（尾18px + 余白10px） */
  html body .concern-section .concern-item:nth-of-type(4) p,
  html body .concern-section.sp_only .concern-item:nth-of-type(4) p,
  html body .concern-item:nth-of-type(3) .wp-block-paragraph{
    margin-bottom:28px !important;
  }

  /* 強み見出し：基準の大きさ・太さ */
  html body .strengths-box.sp_only .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .strengths-box.sp_only .section-heading > .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body .strengths-box.sp-only .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .strengths-box.sp-only .section-heading > .wp-block-group__inner-container > p:nth-of-type(2) *{
    font-size:24px !important;
    font-weight:700 !important;
    letter-spacing:.02em !important;
    line-height:1.4 !important;
  }

  /* SUPPORT見出し＋導入2行（「健康管理」の理落ち防止） */
  html body #service > .wp-block-group__inner-container > p:first-child,
  html body #service > .wp-block-group__inner-container > p:first-child .swl-fz{
    font-size:12px !important;
    letter-spacing:.16em !important;
    font-weight:600 !important;
  }
  html body #service > .wp-block-group__inner-container > p:nth-of-type(2),
  html body #service > .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body #service > .wp-block-group__inner-container > p:nth-of-type(2) .swl-fz{
    font-size:26px !important;
    font-weight:700 !important;
    letter-spacing:.02em !important;
    line-height:1.4 !important;
  }
  html body #service > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .sp_only #service > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .sp-only #service > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .home #service > .wp-block-group__inner-container > p:nth-of-type(3){
    font-size:15px !important;
    font-weight:500 !important;
    line-height:1.7 !important;
    letter-spacing:0 !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    width:calc(100% + 16px) !important;
    max-width:none !important;
    margin-left:-8px !important;
    margin-right:-8px !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }
  html body #service > .wp-block-group__inner-container > p:nth-of-type(3) *,
  html body #service > .wp-block-group__inner-container > p:nth-of-type(3) .swl-fz,
  html body .home #service > .wp-block-group__inner-container > p:nth-of-type(3) .swl-fz{
    font-size:15px !important;
    letter-spacing:0 !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
  }

  /* サポートカード：番号と見出しを基準の太さ・大きさへ */
  html body .sp_only .service-card > .wp-block-group__inner-container > p:first-of-type,
  html body .sp-only .service-card > .wp-block-group__inner-container > p:first-of-type,
  html body .service-card p:first-of-type{
    font-size:13px !important;
    font-weight:700 !important;
    letter-spacing:.12em !important;
    line-height:1.4 !important;
    color:#143d8d !important;
    margin:0 0 6px !important;
  }
  html body .sp_only .service-card > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .sp-only .service-card > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .sp_only .service-card h3,
  html body .service-card p:nth-of-type(2),
  html body .service-card p:nth-of-type(2) *{
    font-size:20px !important;
    font-weight:700 !important;
    line-height:1.4 !important;
    letter-spacing:.02em !important;
    color:#143d8d !important;
    margin:0 0 8px !important;
    word-break:keep-all !important;
  }
  html body #service .service-card > .wp-block-group__inner-container > p:nth-of-type(3),
  html body #service .service-card p:nth-of-type(3),
  html body .sp_only #service .service-card p:nth-of-type(3),
  html body .sp-only #service .service-card p:nth-of-type(3),
  html body .service-card > .wp-block-group__inner-container > p:nth-of-type(3){
    margin-left:0 !important;
    margin-right:0 !important;
    width:100% !important;
    max-width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
    text-align:left !important;
  }

  /* 熊本リスト → カバー文の間隔、カバー文の行間 */
  html body .home .sp_only .wp-block-group.area-access-list,
  html body .home .sp-only .wp-block-group.area-access-list,
  html body .sp_only .wp-block-group.area-access-list,
  html body .sp-only .wp-block-group.area-access-list,
  html body .area-access-list{
    margin-bottom:20px !important;
  }
  html body .home .sp_only .area-access-list + p,
  html body .home .sp-only .area-access-list + p,
  html body .area-access-list + p,
  html body .area-card .area-access-list + p.has-text-align-center,
  html body .sp_only .area-access-list + p,
  html body .sp-only .area-access-list + p{
    margin-top:10px !important;
    margin-bottom:14px !important;
    line-height:1.55 !important;
    font-size:15px !important;
  }

  /* 都市リストを3行・行間を詰める */
  html body .sp_only .area-access-list + p + p,
  html body .sp-only .area-access-list + p + p,
  html body .sp_only .area-access-list + p + p *,
  html body .sp-only .area-access-list + p + p *,
  html body .sp_only .area-access-list + p + p .swl-fz,
  html body .sp-only .area-access-list + p + p .swl-fz,
  html body .sp_only .area-access-list + p + p strong{
    font-size:14px !important;
    line-height:1.45 !important;
    letter-spacing:0 !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
    line-break:auto !important;
    max-width:none !important;
    box-sizing:border-box !important;
  }
  html body .sp_only .area-access-list + p + p,
  html body .sp-only .area-access-list + p + p{
    width:calc(100% + 16px) !important;
    max-width:none !important;
    margin-left:-8px !important;
    margin-right:-8px !important;
    padding-top:12px !important;
    padding-bottom:10px !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }
  html body .sp_only .area-access-list + p + p strong,
  html body .sp-only .area-access-list + p + p strong,
  html body .sp_only .area-access-list + p + p .swl-fz,
  html body .sp-only .area-access-list + p + p .swl-fz{
    display:block !important;
    width:100% !important;
    max-width:none !important;
  }
  html body .sp_only .area-access-list + p + p strong,
  html body .sp-only .area-access-list + p + p strong{
    margin-bottom:6px !important;
  }
  html body .sp_only .area-access-list + p + p br,
  html body .sp-only .area-access-list + p + p br{
    display:none !important;
  }

  /* 対応エリアCTA：イラスト・本文・ボタンの間隔を少し広げる */
  html body .sp_only .area-cta,
  html body .sp-only .area-cta{
    padding:18px 20px 16px !important;
    gap:14px !important;
  }
  html body .sp_only .area-cta figure,
  html body .sp-only .area-cta figure,
  html body .sp_only .area-cta .wp-block-media-text__media,
  html body .sp-only .area-cta .wp-block-media-text__media{
    margin:0 auto 6px !important;
  }
  html body .sp_only .area-cta .wp-block-media-text__content,
  html body .sp-only .area-cta .wp-block-media-text__content{
    padding:0 !important;
  }
  html body .sp_only .area-cta p,
  html body .sp-only .area-cta p{
    margin:0 !important;
    line-height:1.55 !important;
  }
  html body .sp_only .area-cta .wp-block-buttons,
  html body .sp-only .area-cta .wp-block-buttons,
  html body .area-cta .wp-block-button,
  html body .sp_only .area-cta .swell-block-button,
  html body .sp-only .area-cta .swell-block-button{
    margin-top:4px !important;
    margin-bottom:0 !important;
  }

  /* FLOW：英字間隔・日本語サイズ・番号を正円・補足を2行 */
  html body .swell-block-fullWide.sp_only .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body #flow .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body #flow .section-heading > .wp-block-group__inner-container > p:nth-of-type(2) *{
    font-size:26px !important;
    font-weight:700 !important;
    letter-spacing:.02em !important;
  }
  html body .flow-card .flow-left{
    grid-template-columns:52px minmax(0,1fr) !important;
  }
  html body .flow-card .flow-left > .wp-block-column:nth-child(1),
  html body .sp_only .flow-card .flow-left > .wp-block-column:nth-child(1),
  html body .sp-only .flow-card .flow-left > .wp-block-column:nth-child(1){
    width:52px !important;
    max-width:52px !important;
    min-width:52px !important;
    margin:0 !important;
    justify-self:start !important;
  }
  html body .flow-card .flow-num-img,
  html body .flow-card .flow-left > .wp-block-column:nth-child(1) figure{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    min-height:48px !important;
    max-width:48px !important;
    max-height:48px !important;
    margin:0 !important;
    overflow:hidden !important;
    border-radius:50% !important;
    flex-shrink:0 !important;
  }
  html body .home .flow-card .wp-block-image img,
  html body .home .flow-card .flow-left img,
  html body .flow-card .flow-num-img img,
  html body .sp_only .flow-card .flow-left > .wp-block-column:nth-child(1) img,
  html body .sp-only .flow-card .flow-left > .wp-block-column:nth-child(1) img,
  html body .flow-card .flow-left > .wp-block-column:nth-child(1) figure img{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    min-height:48px !important;
    max-width:48px !important;
    max-height:48px !important;
    aspect-ratio:1 / 1 !important;
    object-fit:fill !important;
    flex-shrink:0 !important;
    display:block !important;
    margin:0 auto !important;
    border-radius:50% !important;
  }
  html body .sp_only .flow-info-card,
  html body .sp-only .flow-info-card{
    padding:12px 10px !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column,
  html body .sp-only .flow-info-card .wp-block-columns > .wp-block-column{
    padding:0 4px !important;
    grid-template-columns:32px minmax(0,1fr) !important;
    gap:10px !important;
    column-gap:10px !important;
    align-items:start !important;
  }
  html body .flow-info-item,
  html body .flow-info-card .wp-block-media-text{
    grid-template-columns:32px minmax(0,1fr) !important;
    column-gap:10px !important;
    gap:10px !important;
    align-items:start !important;
  }
  html body .flow-info-item .wp-block-media-text__media,
  html body .flow-info-card .wp-block-media-text__media,
  html body .flow-info-card figure.wp-block-image,
  html body .flow-card.flow-info-card figure.wp-block-image,
  html body .home .flow-card.flow-info-card figure.wp-block-image{
    width:32px !important;
    min-width:32px !important;
    max-width:32px !important;
    height:32px !important;
    min-height:32px !important;
    flex:0 0 32px !important;
    flex-basis:32px !important;
    flex-shrink:0 !important;
    margin:2px 0 0 !important;
    align-self:start !important;
    overflow:visible !important;
    aspect-ratio:1 / 1 !important;
  }
  html body .flow-info-item .wp-block-media-text__media img,
  html body .flow-info-card .wp-block-media-text__media img,
  html body .flow-info-card figure.wp-block-image img,
  html body .home .flow-info-card .wp-block-image img,
  html body .home .flow-card.flow-info-card .wp-block-image img,
  html body .home .flow-card.flow-info-card img,
  html body .flow-card.flow-info-card img{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    min-height:32px !important;
    max-width:32px !important;
    max-height:32px !important;
    aspect-ratio:1 / 1 !important;
    object-fit:contain !important;
    object-position:center !important;
    flex-shrink:0 !important;
    transform:none !important;
  }
  html body .flow-info-item p,
  html body .flow-info-card .wp-block-media-text__content p,
  html body .flow-info-card p,
  html body .flow-info-card .wp-block-column:first-child p{
    font-size:11px !important;
    line-height:1.4 !important;
    letter-spacing:0 !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
  }

  /* PRICE：字間を狭く・少し太く（サイズは変えない） */
  html body .price-header.section-heading .wp-block-group__inner-container > p:first-of-type,
  html body .price-header.section-heading .wp-block-group__inner-container > p:first-of-type *,
  html body .price-header.section-heading .wp-block-group__inner-container > p:first-of-type .swl-fz,
  html body .price-header.section-heading .wp-block-group__inner-container > p:first-of-type span{
    font-size:15px !important;
    letter-spacing:.12em !important;
    font-weight:700 !important;
  }
  /* 料金プラン：太さのみ揃える（サイズは変えない） */
  html body .price-header.section-heading .wp-block-group__inner-container > p:nth-of-type(2),
  html body .price-header.section-heading .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body .price-header.section-heading .wp-block-group__inner-container > p:nth-of-type(2) .swl-fz{
    font-weight:700 !important;
  }

  /* ライトプラン注釈：控えめでコンパクトに */
  html body .wp-block-group.price-note-card,
  html body .price-note-card{
    padding:12px 14px !important;
    font-size:13px !important;
    line-height:1.55 !important;
  }
  html body .price-note-card > .wp-block-group__inner-container,
  html body .price-note-card .wp-block-group__inner-container{
    padding-left:0 !important;
    padding-right:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    max-width:none !important;
    width:100% !important;
  }
  html body .price-note-card p,
  html body .price-note-card p *{
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
    font-size:13px !important;
    line-height:1.55 !important;
    font-weight:400 !important;
    letter-spacing:0 !important;
  }

  /* FAQ：英字間隔・太さ（CONTACT見出しには当てない） */
  html body .faq-section .faq-header .section-heading.wp-block-paragraph,
  html body .faq-header .section-heading.wp-block-paragraph{
    letter-spacing:.14em !important;
    font-weight:600 !important;
    margin-bottom:12px !important;
  }
  html body .faq-box,
  html body .faq-box .wp-block-accordion-item,
  html body .faq-box .wp-block-accordion-heading,
  html body .faq-box .wp-block-accordion-heading.faq-question,
  html body .faq-box .wp-block-accordion-panel.u-mb-ctrl,
  html body .faq-box .wp-block-accordion-panel.u-mb-10{
    margin-top:0 !important;
    margin-bottom:0 !important;
  }
  html body .faq-box .wp-block-accordion-heading__toggle,
  html body .faq-box :is(button, summary){
    min-height:0 !important;
    height:auto !important;
    padding:12px 12px 12px 10px !important;
    font-size:16px !important;
    font-weight:700 !important;
    line-height:1.45 !important;
    align-items:center !important;
  }
  html body .faq-box .wp-block-accordion-heading__toggle-title{
    font-size:16px !important;
    line-height:1.45 !important;
    margin:0 !important;
    padding:0 !important;
  }

  /* FAQ CTA：基準の改行・サイズ、下余白を詰める */
  html body .faq-section.sp_only .faq-cta,
  html body .sp_only .faq-cta{
    padding:22px 18px 18px !important;
  }
  html body .faq-section.sp_only .faq-cta-body h1,
  html body .faq-section.sp_only .faq-cta-body h2,
  html body .sp_only .faq-cta-body h1,
  html body .sp_only .faq-cta-body h2,
  html body .sp_only .faq-cta h1,
  html body .sp_only .faq-cta h1 span{
    font-size:22px !important;
    line-height:1.4 !important;
    letter-spacing:.02em !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
    margin:0 auto 8px !important;
    max-width:10.1em !important;
    text-align:center !important;
    display:block !important;
  }
  html body .faq-section.sp_only .faq-cta-body p,
  html body .sp_only .faq-cta-body p,
  html body .sp_only .faq-cta p.wp-block-paragraph{
    font-size:0 !important;
    line-height:0 !important;
    margin:0 0 12px !important;
    text-align:center !important;
  }
  html body .faq-section.sp_only .faq-cta-body p::before,
  html body .sp_only .faq-cta-body p::before,
  html body .sp_only .faq-cta p.wp-block-paragraph::before{
    content:"貴社の状況に合わせて\A最適なプランをご提案いたします。";
    white-space:pre-line;
    display:block;
    font-size:13px !important;
    line-height:1.65 !important;
    font-weight:400 !important;
    letter-spacing:.02em !important;
    color:#333 !important;
  }

  /* =========================================================
     Step15：基準画像合わせ（9点のみ）
  ========================================================= */

  /* 1. 最後の人物と青い逆三角形の距離を少し詰める */
  html body .concern-section.sp_only.swell-block-fullWide,
  html body .concern-section.sp-only.swell-block-fullWide,
  html body .swell-block-fullWide.pc-py-60.sp-py-40.concern-section.sp_only,
  html body .swell-block-fullWide.pc-py-60.sp-py-40.concern-section.sp-only{
    padding-bottom:16px !important;
  }
  html body .concern-section.sp_only .concern-item:last-of-type .concern-person,
  html body .concern-section.sp-only .concern-item:last-of-type .concern-person,
  html body .concern-section.sp_only .concern-item:last-of-type figure.wp-block-image,
  html body .concern-section.sp-only .concern-item:last-of-type figure.wp-block-image,
  html body .concern-item:last-of-type figure.wp-block-image,
  html body .concern-item:last-of-type figure.concern-person,
  html body .concern-item:last-of-type .concern-person{
    margin-bottom:12px !important;
  }
  html body .concern-arrow{
    margin-top:0 !important;
    transform:translateY(-32px) !important;
  }

  /* 2. 都市名カードの上下余白を増やす（左右は変えず3行維持） */
  html body .sp_only .area-card,
  html body .sp-only .area-card,
  html body .wp-block-group.area-card{
    padding-top:36px !important;
    padding-bottom:58px !important;
  }

  /* 3. FLOW案内アイコンの縦横比は上段で1:1+containに固定済み */

  /* 4. PRICEサイズは上段で15pxに変更済み */


  /* 6-9. CONTACT見出し：中央揃え・縦リズム・行間 */
  html body .contact-section-sp .section-heading,
  html body .sp_only.contact-section-sp .section-heading,
  html body .faq-section .contact-section-sp .section-heading{
    text-align:center !important;
    width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-bottom:20px !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container,
  html body .sp_only.contact-section-sp .section-heading > .wp-block-group__inner-container{
    text-align:center !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p,
  html body .sp_only.contact-section-sp .section-heading > .wp-block-group__inner-container > p,
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    text-align:center !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p *,
  html body .sp_only.contact-section-sp .section-heading > .wp-block-group__inner-container > p *,
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p *{
    text-align:center !important;
    display:inline !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p:first-of-type,
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p:first-of-type *,
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p:first-of-type,
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p:first-of-type *{
    letter-spacing:.04em !important;
    font-weight:600 !important;
  }
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p:first-of-type,
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p:first-of-type{
    margin-top:0 !important;
    margin-bottom:6px !important;
  }
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body .faq-section.sp_only .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(2){
    display:block !important;
    text-align:center !important;
    font-size:24px !important;
    font-weight:700 !important;
    line-height:1.3 !important;
    letter-spacing:.02em !important;
  }
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(2) *{
    display:inline !important;
  }
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .faq-section.sp_only .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(2){
    margin-top:0 !important;
    margin-bottom:16px !important;
  }
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(3) *,
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(3) *{
    display:block !important;
    text-align:center !important;
    font-size:15px !important;
    font-weight:500 !important;
    line-height:1.5 !important;
    letter-spacing:.02em !important;
    margin:0 !important;
  }
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(3) *,
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(3) *{
    display:inline !important;
  }

  /* =========================================================
     Step16：基準画像合わせ（7点のみ）
  ========================================================= */

  /* 1. ライトプラン注釈の余白・下マージンを引き締める */
  html body .wp-block-group.price-note-card,
  html body .price-note-card{
    padding:12px 14px !important;
    margin-top:20px !important;
    margin-bottom:28px !important;
  }

  /* 2. FAQ CTAグラデーション：上淡いブルー→下白（基準の方向） */
  html body .faq-section.sp_only .faq-cta,
  html body .sp_only .faq-cta{
    background:linear-gradient(180deg,#eef6ff 0%,#f7fbff 42%,#ffffff 100%) !important;
  }

  /* 3. エリアCTA下〜FLOW水色領域の余白を半分程度に */
  html body .sp_only .area-cta,
  html body .sp-only .area-cta,
  html body .wp-block-group.area-cta{
    margin-bottom:16px !important;
    padding-bottom:22px !important;
  }
  html body .swell-block-fullWide.sp_only:has(.area-cta),
  html body .swell-block-fullWide.sp-only:has(.area-cta),
  html body .swell-block-fullWide.sp_only:has(.area-card),
  html body .pc-py-60.sp-py-40.sp_only:has(.area-cta){
    padding-bottom:28px !important;
  }
  html body .swell-block-fullWide.sp_only:has(.flow-card),
  html body .swell-block-fullWide.sp-only:has(.flow-card),
  html body .pc-py-60.sp-py-40.sp_only:has(.flow-card){
    padding-top:40px !important;
  }

  /* =========================================================
     Step17：基準画像合わせ（8点のみ）
  ========================================================= */

  /* 3. ヒーロー副題：既存のbrで2行。各行spanはnowrap、幅を広げて切れないようにする */
  html body .hero-sub-text,
  html body .wp-block-cover.hero-copy .hero-sub-text,
  html body .hero-copy .hero-sub-text.wp-block-paragraph{
    max-width:100% !important;
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
    white-space:normal !important;
    font-size:13px !important;
    line-height:1.65 !important;
    letter-spacing:-.02em !important;
    text-align:left !important;
    overflow:visible !important;
  }
  html body .hero-sub-text > span,
  html body .hero-sub-text .swl-inline-color{
    white-space:normal !important;
    word-break:normal !important;
  }
  html body .hero-sub-text span,
  html body .hero-sub-text .swl-fz,
  html body .hero-sub-text strong,
  html body .wp-block-cover.hero-copy .hero-sub-text span,
  html body .wp-block-cover.hero-copy .hero-sub-text .swl-fz{
    font-size:13px !important;
    line-height:1.65 !important;
    letter-spacing:-.02em !important;
  }
  html body .hero-sub-text .swl-fz,
  html body .wp-block-cover.hero-copy .hero-sub-text .swl-fz{
    white-space:nowrap !important;
  }
  html body .hero-sub-text > strong:last-child,
  html body .hero-sub-text > strong:last-child span{
    display:inline !important;
    white-space:nowrap !important;
  }

  /* 4. ごあいさつキャッチコピーの上下余白 */
  html body .section-heading.sp_only > .wp-block-group__inner-container > p#greeting.is-style-section_ttl,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p#greeting.is-style-section_ttl{
    margin-top:8px !important;
    margin-bottom:24px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    line-height:1.3 !important;
  }
  html body .section-heading.sp_only > .wp-block-group__inner-container > p#greeting.is-style-section_ttl *,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p#greeting.is-style-section_ttl *{
    line-height:1.3 !important;
  }
  html body .section-heading.sp_only > .wp-block-group__inner-container > p#greeting.is-style-section_ttl br,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p#greeting.is-style-section_ttl br{
    display:block !important;
  }

  /* プロフィール本文と写真の間隔 */
  html body .section-heading.sp_only .wp-block-columns > .wp-block-column:first-child > p:last-of-type,
  html body .section-heading.sp-only .wp-block-columns > .wp-block-column:first-child > p:last-of-type{
    margin-bottom:20px !important;
  }

  /* お問い合わせ注釈をコンパクトに */
  html body .contact-form-wrap .cf7-note,
  html body .cf7-note{
    width:100% !important;
    max-width:100% !important;
    margin:14px auto 0 !important;
    padding:0 !important;
    text-align:center !important;
  }
  html body .cf7-note div,
  html body .contact-form-wrap .cf7-note div,
  html body .cf7-note p,
  html body .contact-form-wrap .cf7-note p,
  html body .cf7-note p *{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    font-size:12px !important;
    font-weight:400 !important;
    line-height:1.55 !important;
    letter-spacing:0 !important;
    color:#8a8a8a !important;
    text-align:center !important;
  }

  /* 実績カード：幅と文字バランスを基準へ */
  html body .home .wp-block-group.achievement-card,
  html body .achievement-card.profile-card,
  html body .home .wp-block-group.profile-card{
    width:100% !important;
    max-width:100% !important;
  }
  html body .achievement-card.profile-card{
    padding:22px 20px 26px !important;
  }
  html body .achievement-card.profile-card .achievement-label,
  html body .achievement-card.profile-card .achievement-subtitle{
    font-size:12px !important;
    font-weight:500 !important;
  }
  html body .achievement-card.profile-card .achievement-industries p{
    font-size:11px !important;
    line-height:1.5 !important;
  }
  html body .achievement-card.profile-card > .wp-block-group__inner-container > .wp-block-columns{
    column-gap:16px !important;
  }

  /* 5-7. 保有資格：カード上下を引き締め、見出し1行、説明は枠内の自然改行 */
  html body .profile-card:not(.achievement-card){
    padding:22px 20px 20px !important;
  }
  html body .profile-card:not(.achievement-card) ul,
  html body .profile-card:not(.achievement-card) li{
    overflow-wrap:normal !important;
    word-break:normal !important;
    white-space:nowrap !important;
    max-width:100% !important;
    overflow:visible !important;
  }
  html body .profile-card:not(.achievement-card) li{
    padding-left:20px !important;
    padding-right:4px !important;
    letter-spacing:-.02em !important;
  }
  html body .profile-card:not(.achievement-card) li > span,
  html body .profile-card:not(.achievement-card) li .swl-fz,
  html body .profile-card:not(.achievement-card) li .u-fz-xs{
    display:block !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    line-break:strict !important;
    max-width:22.3em !important;
    width:auto !important;
    line-height:1.5 !important;
    letter-spacing:0 !important;
    font-size:13px !important;
    margin-top:4px !important;
  }

  /* =========================================================
     Step20：基準画像合わせ（ごあいさつ行間・資格/実績余白・吹き出し・エリア注釈・FLOW上余白）
  ========================================================= */

  /* ごあいさつ本文：段落間を基準の空きへ */
  html body .section-heading.sp_only .wp-block-columns > .wp-block-column:first-child > p,
  html body .section-heading.sp-only .wp-block-columns > .wp-block-column:first-child > p{
    margin-bottom:18px !important;
    line-height:1.9 !important;
  }
  html body .section-heading.sp_only .wp-block-columns > .wp-block-column:first-child > p:last-of-type,
  html body .section-heading.sp-only .wp-block-columns > .wp-block-column:first-child > p:last-of-type{
    margin-bottom:22px !important;
  }

  /* 吹き出し〜人物：4人とも同じ（尾18px、見た目約10px） */
  html body .concern-section.sp_only .concern-item p,
  html body .concern-section.sp-only .concern-item p,
  html body .concern-item .wp-block-paragraph,
  html body .concern-section .concern-item:nth-of-type(4) p,
  html body .concern-section.sp_only .concern-item:nth-of-type(4) p,
  html body .concern-section.sp-only .concern-item:nth-of-type(4) p,
  html body .concern-item:nth-of-type(3) .wp-block-paragraph,
  html body .concern-item:nth-of-type(4) .wp-block-paragraph,
  html body .concern-item:nth-of-type(5) p{
    margin-bottom:28px !important;
  }

  /* 対応エリア：都市リストは3行維持、注釈を一段小さく・下余白を確保 */
  html body .sp_only .area-access-list + p + p,
  html body .sp-only .area-access-list + p + p{
    text-align:left !important;
    font-size:12px !important;
    font-weight:400 !important;
    line-height:1.6 !important;
    color:#8a8a8a !important;
    padding-top:8px !important;
    padding-bottom:0 !important;
  }
  html body .sp_only .area-access-list + p + p strong,
  html body .sp-only .area-access-list + p + p strong,
  html body .sp_only .area-access-list + p + p strong .swl-fz,
  html body .sp-only .area-access-list + p + p strong .swl-fz,
  html body .sp_only .area-access-list + p + p strong span,
  html body .sp-only .area-access-list + p + p strong span{
    display:block !important;
    font-size:14px !important;
    font-weight:400 !important;
    line-height:1.5 !important;
    color:#333333 !important;
    margin-bottom:14px !important;
  }

  /* 375px幅でも都市リスト3行・FLOW補足2行を維持 */
  @media (max-width:400px){
    html body .sp_only .area-access-list + p + p,
    html body .sp-only .area-access-list + p + p{
      width:calc(100% + 32px) !important;
      margin-left:-16px !important;
      margin-right:-16px !important;
      padding-left:8px !important;
      padding-right:8px !important;
    }
    html body .sp_only .area-access-list + p + p,
    html body .sp-only .area-access-list + p + p{
      font-size:11.5px !important;
      line-height:1.55 !important;
      color:#8a8a8a !important;
    }
    html body .sp_only .area-access-list + p + p strong,
    html body .sp-only .area-access-list + p + p strong,
    html body .sp_only .area-access-list + p + p strong .swl-fz,
    html body .sp-only .area-access-list + p + p strong span{
      font-size:13px !important;
      line-height:1.45 !important;
      color:#333333 !important;
    }
    html body .flow-info-card .wp-block-columns > .wp-block-column,
    html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column,
    html body .flow-info-item,
    html body .flow-info-card .wp-block-media-text{
      grid-template-columns:24px minmax(0,1fr) !important;
      padding:0 4px !important;
      gap:8px !important;
      column-gap:8px !important;
    }
    html body .flow-info-item .wp-block-media-text__media img,
    html body .flow-info-card .wp-block-media-text__media img,
    html body .flow-info-card figure.wp-block-image,
    html body .flow-info-card figure.wp-block-image img,
    html body .flow-info-card img,
    html body .home .flow-info-card .wp-block-image img,
    html body .home .flow-card.flow-info-card .wp-block-image img,
    html body .home .flow-card.flow-info-card img,
    html body .flow-card.flow-info-card img{
      width:24px !important;
      height:24px !important;
      min-width:24px !important;
      min-height:24px !important;
      max-width:24px !important;
      max-height:24px !important;
      aspect-ratio:1 / 1 !important;
      object-fit:contain !important;
      flex-shrink:0 !important;
    }
    html body .flow-info-card p,
    html body .flow-info-card .wp-block-column:first-child p{
      font-size:10.5px !important;
      line-height:1.35 !important;
    }
    html body .hero-sub-text,
    html body .wp-block-cover.hero-copy .hero-sub-text,
    html body .hero-copy .hero-sub-text.wp-block-paragraph,
    html body .hero-sub-text span,
    html body .hero-sub-text .swl-fz,
    html body .hero-sub-text strong,
    html body .wp-block-cover.hero-copy .hero-sub-text span{
      font-size:12px !important;
      letter-spacing:-.03em !important;
      line-height:1.6 !important;
    }
    html body .profile-card:not(.achievement-card){
      padding:20px 16px 18px !important;
    }
    html body .profile-card:not(.achievement-card) li{
      padding-left:18px !important;
      letter-spacing:-.03em !important;
    }
    html body .profile-card:not(.achievement-card) li > span,
    html body .profile-card:not(.achievement-card) li .swl-fz,
    html body .profile-card:not(.achievement-card) li .u-fz-xs{
      font-size:12px !important;
      max-width:22.3em !important;
    }
  }

  /* =========================================================
     Step21：基準画像合わせ（CONTACT／会社概要／資格／実績〜お悩み／都市リスト／FLOW数字）
  ========================================================= */

  /* CONTACT：英字・日本語・導入文の太さ／行間／配置 */
  html body .contact-section-sp,
  html body .sp_only.contact-section-sp,
  html body .faq-section .contact-section-sp{
    padding-top:32px !important;
  }
  html body .contact-section-sp .section-heading,
  html body .faq-section .contact-section-sp .section-heading{
    margin-bottom:24px !important;
  }
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p:first-of-type,
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p:first-of-type *,
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p:first-of-type,
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p:first-of-type *{
    letter-spacing:.08em !important;
    font-weight:600 !important;
  }
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p:first-of-type,
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p:first-of-type{
    margin-bottom:12px !important;
  }
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body .faq-section.sp_only .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(2){
    font-size:26px !important;
    font-weight:700 !important;
    line-height:1.25 !important;
    letter-spacing:.02em !important;
  }
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(2){
    margin-bottom:20px !important;
  }
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(3) *,
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(3) *{
    font-size:15px !important;
    font-weight:400 !important;
    line-height:1.75 !important;
    letter-spacing:.02em !important;
  }
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(3) br,
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(3) br{
    display:block !important;
  }
  html body .contact-form-wrap,
  html body .wp-block-group.contact-form-wrap{
    padding-top:26px !important;
  }

  /* 会社概要：見出しの字間・太さ・行間、表の余白 */
  html body .sp_only:has(.company-table) .section-heading > .wp-block-group__inner-container > p:first-of-type,
  html body .sp-only:has(.company-table) .section-heading > .wp-block-group__inner-container > p:first-of-type,
  html body .section-heading:has(+ figure.company-table) > .wp-block-group__inner-container > p:first-of-type,
  html body .wp-block-group:has(> figure.company-table) > .section-heading > .wp-block-group__inner-container > p:first-of-type,
  html body .sp_only:has(.company-table) .section-heading > .wp-block-group__inner-container > p:first-of-type *,
  html body .sp-only:has(.company-table) .section-heading > .wp-block-group__inner-container > p:first-of-type *,
  html body .section-heading:has(+ figure.company-table) > .wp-block-group__inner-container > p:first-of-type *{
    letter-spacing:.06em !important;
    font-weight:700 !important;
  }
  html body .sp_only:has(.company-table) .section-heading > .wp-block-group__inner-container > p:first-of-type,
  html body .sp-only:has(.company-table) .section-heading > .wp-block-group__inner-container > p:first-of-type,
  html body .section-heading:has(+ figure.company-table) > .wp-block-group__inner-container > p:first-of-type{
    margin-bottom:14px !important;
  }
  html body .sp_only:has(.company-table) .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .sp-only:has(.company-table) .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .section-heading:has(+ figure.company-table) > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .sp_only:has(.company-table) .section-heading > .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body .sp-only:has(.company-table) .section-heading > .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body .section-heading:has(+ figure.company-table) > .wp-block-group__inner-container > p:nth-of-type(2) *{
    font-size:24px !important;
    font-weight:700 !important;
    line-height:1.3 !important;
    letter-spacing:.02em !important;
  }
  html body .sp_only:has(.company-table) .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .sp-only:has(.company-table) .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .section-heading:has(+ figure.company-table) > .wp-block-group__inner-container > p:nth-of-type(2){
    margin-bottom:18px !important;
  }
  html body .sp_only .company-table,
  html body .sp-only .company-table,
  html body figure.company-table{
    margin-top:4px !important;
    margin-bottom:20px !important;
    max-width:100% !important;
  }
  html body .sp_only .company-table td,
  html body .sp-only .company-table td,
  html body figure.company-table td{
    padding:16px 14px !important;
    font-size:14px !important;
    line-height:1.7 !important;
    font-weight:400 !important;
  }
  html body .sp_only .company-table td:first-child,
  html body .sp-only .company-table td:first-child,
  html body figure.company-table td:first-child,
  html body .sp_only .company-table tr:first-child td:first-child,
  html body figure.company-table tr:first-child td:first-child{
    padding:16px 10px !important;
    width:92px !important;
    min-width:92px !important;
    font-weight:700 !important;
  }
  html body .sp_only .company-table td:last-child,
  html body .sp-only .company-table td:last-child,
  html body figure.company-table td:last-child{
    padding-left:16px !important;
    font-weight:400 !important;
  }

  /* 保有資格：左枠との距離を基準程度に、下余白を少し確保 */
  html body .profile-card:not(.achievement-card){
    padding:22px 22px 26px !important;
  }
  html body .profile-card:not(.achievement-card) li{
    padding-left:18px !important;
  }
  html body .profile-card:not(.achievement-card) li:last-child{
    margin-bottom:4px !important;
  }

  /* 実績カード下〜YOUR CONCERNS：空白が足りないので基準へ広げる */
  html body .profile-row,
  html body .home .wp-block-group.profile-row{
    margin-bottom:28px !important;
  }
  html body .achievement-card.profile-card{
    margin-bottom:8px !important;
  }
  html body .concern-section.sp_only.swell-block-fullWide,
  html body .concern-section.sp-only.swell-block-fullWide,
  html body .swell-block-fullWide.pc-py-60.sp-py-40.concern-section.sp_only,
  html body .swell-block-fullWide.pc-py-60.sp-py-40.concern-section.sp-only{
    padding-top:64px !important;
  }

  /* 対応エリア都市リスト：少し太く、注釈との距離と下余白を詰める（3行維持） */
  html body .sp_only .area-card,
  html body .sp-only .area-card,
  html body .wp-block-group.area-card{
    padding-top:30px !important;
    padding-bottom:36px !important;
    padding-left:22px !important;
    padding-right:22px !important;
  }
  html body .sp_only .area-access-list + p + p,
  html body .sp-only .area-access-list + p + p{
    width:calc(100% + 8px) !important;
    margin-left:-4px !important;
    margin-right:-4px !important;
    padding-top:6px !important;
    padding-bottom:0 !important;
    padding-left:8px !important;
    padding-right:8px !important;
    font-size:12px !important;
    line-height:1.55 !important;
    color:#8a8a8a !important;
  }
  html body .sp_only .area-access-list + p + p strong,
  html body .sp-only .area-access-list + p + p strong,
  html body .sp_only .area-access-list + p + p strong .swl-fz,
  html body .sp-only .area-access-list + p + p strong .swl-fz,
  html body .sp_only .area-access-list + p + p strong span,
  html body .sp-only .area-access-list + p + p strong span{
    font-size:14px !important;
    font-weight:700 !important;
    line-height:1.5 !important;
    color:#333333 !important;
    margin-bottom:6px !important;
  }

  /* FLOW：数字アイコンと見出しを近づけて一体に見せる */
  html body .flow-card .flow-left,
  html body .sp_only .flow-card .flow-left,
  html body .sp-only .flow-card .flow-left{
    grid-template-columns:48px minmax(0,1fr) !important;
    column-gap:8px !important;
    align-items:start !important;
  }
  html body .flow-card .flow-left > .wp-block-column:nth-child(1),
  html body .sp_only .flow-card .flow-left > .wp-block-column:nth-child(1),
  html body .sp-only .flow-card .flow-left > .wp-block-column:nth-child(1){
    width:48px !important;
    max-width:48px !important;
    min-width:48px !important;
    justify-self:start !important;
  }

  @media (max-width:400px){
    html body .sp_only .area-access-list + p + p,
    html body .sp-only .area-access-list + p + p{
      width:calc(100% + 24px) !important;
      margin-left:-12px !important;
      margin-right:-12px !important;
      padding-left:8px !important;
      padding-right:8px !important;
    }
    html body .profile-card:not(.achievement-card){
      padding:20px 18px 22px !important;
    }
  }

  /* =========================================================
     Step22：基準画像合わせ（会社概要字間／FAQ・注釈余白／都市名太字／エリア画像幅／CONCERNS上余白）
  ========================================================= */

  /* FAQ：水色上部の余白を基準へ少し広げる（文字は変えない） */
  html body .faq-section.sp_only,
  html body .swell-block-fullWide.faq-section,
  html body .home .swell-block-fullWide.faq-section,
  html body .faq-section.sp_only.swell-block-fullWide,
  html body .swell-block-fullWide.pc-py-60.sp-py-40.faq-section.sp_only{
    padding-top:52px !important;
  }

  /* ライトプラン注釈：グレーカード下の白余白を少し広げる */
  html body .wp-block-group.price-note-card,
  html body .price-note-card{
    margin-bottom:40px !important;
  }

  /* 対応エリアマップを、下のカードと同じ幅に揃える */
  html body .sp_only .area-map,
  html body .sp-only .area-map,
  html body .wp-block-group.area-map,
  html body figure.area-map{
    width:calc(100vw - 32px) !important;
    max-width:calc(100vw - 32px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }
  html body .sp_only .area-map img,
  html body .sp-only .area-map img,
  html body .area-map img,
  html body .area-map figure,
  html body .area-map .wp-block-image{
    width:100% !important;
    max-width:100% !important;
  }

  /* =========================================================
     Step23：微調整3点（資格リスト右寄せ／プロフィール左右余白／FLOW説明3行）
  ========================================================= */

  /* 1. 保有資格：見出しは動かさず、リスト全体だけわずかに右へ */
  html body .profile-card:not(.achievement-card) ul{
    margin-left:6px !important;
    padding-left:0 !important;
  }

  /* 2. プロフィール本文：左右をほんの少しだけ内側へ */
  html body .section-heading.sp_only .wp-block-columns > .wp-block-column:first-child > p,
  html body .section-heading.sp-only .wp-block-columns > .wp-block-column:first-child > p{
    padding-left:8px !important;
    padding-right:8px !important;
    box-sizing:border-box !important;
  }

  /* 3. FLOW説明：4行目の1〜2文字落ちを解消して3行へ */
  html body .sp_only .flow-card:not(.flow-info-card),
  html body .sp-only .flow-card:not(.flow-info-card){
    padding:16px 10px 16px 12px !important;
  }
  html body .flow-card:not(.flow-info-card) .flow-left,
  html body .sp_only .flow-card:not(.flow-info-card) .flow-left,
  html body .sp-only .flow-card:not(.flow-info-card) .flow-left{
    column-gap:4px !important;
  }
  html body .flow-card:not(.flow-info-card) .flow-left > .wp-block-column:nth-child(3) p:last-child,
  html body .sp_only .flow-card:not(.flow-info-card) .flow-left > .wp-block-column:nth-child(3) p:last-child,
  html body .sp-only .flow-card:not(.flow-info-card) .flow-left > .wp-block-column:nth-child(3) p:last-child,
  html body .flow-card:not(.flow-info-card) .flow-text p:last-child{
    letter-spacing:-.04em !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
  }

  /* =========================================================
     Step24：FLOW説明3行／2週間カード中央揃え／料金カードをわずかにスリム
  ========================================================= */

  /* 2週間カード：上下中央揃え＋高さを少しだけ低く */
  html body .sp_only .flow-info-card,
  html body .sp-only .flow-info-card,
  html body .flow-card.flow-info-card{
    padding:8px 12px !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column,
  html body .flow-info-item,
  html body .flow-info-card .wp-block-media-text{
    align-items:center !important;
  }
  html body .flow-info-item p,
  html body .flow-info-card .wp-block-media-text__content p,
  html body .flow-info-card p{
    margin:0 !important;
    align-self:center !important;
  }

  /* 料金3カード：内容・文字サイズは維持し、余白だけ90〜95%に引き締め */
  html body .sp_only .price-card,
  html body .sp-only .price-card,
  html body .price-card-light,
  html body .price-card-standard,
  html body .price-card-custom{
    padding:30px 28px 32px !important;
  }
  html body .price-card .price-head > .wp-block-group__inner-container,
  html body .price-card-light .price-head > .wp-block-group__inner-container,
  html body .price-card-standard .price-head > .wp-block-group__inner-container,
  html body .price-card-custom .price-head > .wp-block-group__inner-container{
    gap:16px !important;
  }
  html body .price-card .wp-block-separator,
  html body .price-card-light .wp-block-separator,
  html body .price-card-standard .wp-block-separator,
  html body .price-card-custom .wp-block-separator,
  html body .price-card-custom .plan-separator{
    margin:6px 0 14px !important;
  }
  html body .price-card .price-desc,
  html body .price-card-light .price-desc,
  html body .price-card-standard .price-desc,
  html body .price-card-custom .price-desc,
  html body .price-card-light > p,
  html body .price-card-standard > p{
    margin-top:0 !important;
    margin-bottom:14px !important;
    line-height:1.7 !important;
  }
  html body .price-card .price-desc .swl-fz,
  html body .price-card-light .price-desc .swl-fz,
  html body .price-card-standard .price-desc .swl-fz,
  html body .price-card-custom .price-desc .swl-fz{
    line-height:1.7 !important;
  }
  html body .price-card .wp-block-group:has(.price-number),
  html body .price-card-standard .wp-block-group:has(.price-number){
    margin-bottom:0 !important;
  }
  html body .price-card .price-label,
  html body .price-card-light .price-label,
  html body .price-card-standard .price-label{
    margin-bottom:4px !important;
  }
  html body .price-card .price-number,
  html body .price-card-light .price-number,
  html body .price-card-standard .price-number,
  html body .price-card-standard .price-number-blue{
    margin-top:0 !important;
    margin-bottom:0 !important;
  }
  html body .price-card .price-tax,
  html body .price-card-light .price-tax,
  html body .price-card-standard .price-tax{
    margin-top:0 !important;
    margin-bottom:0 !important;
  }
  html body .price-card ul,
  html body .price-card-light ul,
  html body .price-card-standard ul,
  html body .price-card-custom ul{
    margin:8px 0 !important;
  }
  html body .price-card li,
  html body .price-card-light li,
  html body .price-card-standard li,
  html body .price-card-custom li,
  html body .price-card .is-style-check_list li{
    margin-bottom:8px !important;
    line-height:1.4 !important;
  }
  html body .price-card-light ul li:last-child,
  html body .price-card-standard ul li:last-child,
  html body .price-card-custom ul li:last-child{
    margin-bottom:10px !important;
  }
  html body .price-card .price-note,
  html body .price-card-light .price-note,
  html body .price-card-standard .price-note,
  html body .note-blue{
    min-height:46px !important;
    margin:12px auto 12px !important;
    padding:6px 14px !important;
  }
  html body .price-card .wp-block-buttons,
  html body .price-card .price-button,
  html body .price-card-custom > .wp-block-buttons{
    margin-top:8px !important;
    margin-bottom:0 !important;
  }
  html body .price-card .wp-block-spacer{
    height:8px !important;
    min-height:8px !important;
  }

  /* =========================================================
     Step25：FAQ CTA下余白／料金カード崩れ修復／注釈幅／FAQ上余白
  ========================================================= */

  /* FAQ CTA下の水色余白を約半分に */
  html body .faq-section.sp_only,
  html body .swell-block-fullWide.faq-section,
  html body .home .swell-block-fullWide.faq-section,
  html body .swell-block-fullWide.pc-py-60.sp-py-40.faq-section.sp_only{
    padding-bottom:36px !important;
  }
  html body .faq-section.sp_only .faq-cta,
  html body .sp_only .faq-cta{
    margin-bottom:4px !important;
  }

  /* FAQ上の水色余白をほんの少し広げる */
  html body .faq-section.sp_only,
  html body .swell-block-fullWide.faq-section,
  html body .home .swell-block-fullWide.faq-section,
  html body .faq-section.sp_only.swell-block-fullWide,
  html body .swell-block-fullWide.pc-py-60.sp-py-40.faq-section.sp_only{
    padding-top:60px !important;
  }

  /* ライト：価格と灰色ラインの間隔を少し広げる */
  html body .price-card-light .price-tax,
  html body .price-card-standard .price-tax{
    margin-top:6px !important;
    margin-bottom:10px !important;
  }
  html body .price-card-light .wp-block-separator,
  html body .price-card-standard .wp-block-separator,
  html body .price-card-light .price-tax ~ .wp-block-separator,
  html body .price-card-standard .price-tax ~ .wp-block-separator,
  html body .price-card-light .wp-block-group:has(.price-number) + .wp-block-separator,
  html body .price-card-standard .wp-block-group:has(.price-number) + .wp-block-separator{
    margin-top:14px !important;
    margin-bottom:14px !important;
  }

  /* ライト：注記ボックスとボタンの間隔を自然な距離へ */
  html body .price-card-light .price-note,
  html body .price-card-standard .price-note,
  html body .price-card .price-note{
    margin-top:14px !important;
    margin-bottom:6px !important;
  }
  html body .price-card-light .wp-block-buttons,
  html body .price-card-standard .wp-block-buttons,
  html body .price-card-light .price-button,
  html body .price-card-standard .price-button,
  html body .price-card .wp-block-buttons,
  html body .price-card .price-button{
    margin-top:4px !important;
    margin-bottom:0 !important;
  }

  /* スタンダード：ライトと同じ流れに戻し、価格とリストの重なりを解消 */
  html body .price-card-standard .wp-block-group:has(.price-number),
  html body .price-card-light .wp-block-group:has(.price-number){
    margin-bottom:0 !important;
    padding-bottom:0 !important;
    overflow:visible !important;
    height:auto !important;
    min-height:0 !important;
    position:relative !important;
  }
  html body .price-card-standard .price-number,
  html body .price-card-standard .price-number-blue,
  html body .price-card-light .price-number{
    position:relative !important;
    top:auto !important;
    margin-bottom:0 !important;
  }
  html body .price-card-standard ul,
  html body .price-card-light ul{
    margin-top:8px !important;
    margin-bottom:8px !important;
    position:relative !important;
    z-index:1 !important;
  }

  /* カスタム：説明文の「す。」だけ改行を解消 */
  html body .price-card-custom > p.wp-block-paragraph,
  html body .price-card-custom > p.wp-block-paragraph *,
  html body .price-card-custom > p.wp-block-paragraph strong,
  html body .price-card-custom .price-desc{
    letter-spacing:-.03em !important;
    padding-left:0 !important;
    padding-right:0 !important;
    max-width:100% !important;
    width:100% !important;
    box-sizing:border-box !important;
  }

  /* ライトプラン注釈カード：幅を少しだけ狭く */
  html body .wp-block-group.price-note-card,
  html body .price-note-card{
    width:calc(100% - 40px) !important;
    max-width:calc(100% - 40px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* =========================================================
     Step26：余白・サイズの微調整8点
  ========================================================= */

  /* 1. 「月額」ラベルを少し小さく（視認性は維持） */
  html body .price-card .price-label,
  html body .price-card-light .price-label,
  html body .price-card-standard .price-label,
  html body .price-card-standard .price-label-blue,
  html body .price-label-blue{
    font-size:14px !important;
    padding:5px 11px !important;
    line-height:1.2 !important;
  }

  /* 2. 注記ボックスとお問い合わせボタンの間隔を約半分へ */
  html body .price-card-light .price-note,
  html body .price-card-standard .price-note,
  html body .price-card .price-note,
  html body .note-blue{
    margin-bottom:4px !important;
  }
  html body .price-card-light .wp-block-buttons,
  html body .price-card-standard .wp-block-buttons,
  html body .price-card-light .price-button,
  html body .price-card-standard .price-button,
  html body .price-card .wp-block-buttons,
  html body .price-card .price-button{
    margin-top:4px !important;
  }
  html body .price-card .wp-block-spacer,
  html body .price-card-light .wp-block-spacer,
  html body .price-card-standard .wp-block-spacer{
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
  }

  /* 3. カスタム：「ご要望に応じて最適なプランをご提案いたします。」を1行へ */
  html body .price-card-custom > p.wp-block-paragraph,
  html body .price-card-custom .price-desc{
    width:calc(100% + 16px) !important;
    max-width:none !important;
    margin-left:-8px !important;
    margin-right:-8px !important;
    padding-left:0 !important;
    padding-right:0 !important;
    letter-spacing:-.04em !important;
    box-sizing:border-box !important;
  }
  html body .price-card-custom > p.wp-block-paragraph *,
  html body .price-card-custom > p.wp-block-paragraph strong,
  html body .price-card-custom .price-desc,
  html body .price-card-custom .price-desc .swl-fz{
    letter-spacing:-.04em !important;
  }
  html body .price-card-custom > p.wp-block-paragraph strong{
    white-space:nowrap !important;
  }

  /* 4. FAQ CTA：ボタン下〜カード下端の余白を約2倍 */
  html body .faq-section.sp_only .faq-cta,
  html body .sp_only .faq-cta{
    padding:24px 20px 48px !important;
  }

  /* 5. 人物イラストと青い逆三角形の間隔を1.5倍 */
  html body .concern-section.sp_only .concern-item:last-of-type .concern-person,
  html body .concern-section.sp-only .concern-item:last-of-type .concern-person,
  html body .concern-section.sp_only .concern-item:last-of-type figure.wp-block-image,
  html body .concern-section.sp-only .concern-item:last-of-type figure.wp-block-image,
  html body .concern-item:last-of-type figure.wp-block-image,
  html body .concern-item:last-of-type figure.concern-person,
  html body .concern-item:last-of-type .concern-person{
    margin-bottom:18px !important;
  }

  /* 6. 「※その他地域も対応可能です。」を都市名と同じ文字サイズへ */
  html body .sp_only .area-access-list + p + p,
  html body .sp-only .area-access-list + p + p{
    font-size:14px !important;
  }
  @media (max-width:400px){
    html body .sp_only .area-access-list + p + p,
    html body .sp-only .area-access-list + p + p{
      font-size:13px !important;
    }
  }

  /* 7. PRICEセクション上余白を現在の4分の3へ */
  html body .swell-block-fullWide:has(.price-header),
  html body .swell-block-fullWide:has(> .wp-block-group__inner-container .price-header),
  html body .price-section,
  html body .swell-block-fullWide.price-section{
    padding-top:30px !important;
  }

  /* 8. FAQ上の水色余白を1.2倍 */
  html body .faq-section.sp_only,
  html body .swell-block-fullWide.faq-section,
  html body .home .swell-block-fullWide.faq-section,
  html body .faq-section.sp_only.swell-block-fullWide,
  html body .swell-block-fullWide.pc-py-60.sp-py-40.faq-section.sp_only{
    padding-top:72px !important;
  }

  /* =========================================================
     Step27：余白・間隔・文字間の微調整7点
  ========================================================= */

  /* 1. 注記ボックス〜お問い合わせボタン：残っている隙間も半分へ */
  html body .price-card-light .price-note,
  html body .price-card-standard .price-note,
  html body .price-card .price-note,
  html body .note-blue{
    margin-bottom:0 !important;
  }
  html body .price-card .price-note + .wp-block-spacer,
  html body .price-card-light .price-note + .wp-block-spacer,
  html body .price-card-standard .price-note + .wp-block-spacer,
  html body .price-card .wp-block-spacer:has(+ .wp-block-buttons),
  html body .price-card .wp-block-spacer:has(+ .price-button){
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
  }
  html body .price-card-light .wp-block-buttons,
  html body .price-card-standard .wp-block-buttons,
  html body .price-card-light .price-button,
  html body .price-card-standard .price-button,
  html body .price-card .wp-block-buttons,
  html body .price-card .price-button,
  html body .price-card .price-note + .wp-block-buttons,
  html body .price-card .price-note + .wp-block-spacer + .wp-block-buttons{
    margin-top:4px !important;
    margin-bottom:0 !important;
  }
  html body .price-card .wp-block-button,
  html body .price-card-light .wp-block-button,
  html body .price-card-standard .wp-block-button{
    margin:0 !important;
  }

  /* 2. カスタム：チェックリスト末尾〜説明文の間隔を少し空ける */
  html body .price-card-custom ul li:last-child{
    margin-bottom:16px !important;
  }
  html body .price-card-custom > p.wp-block-paragraph,
  html body .price-card-custom .price-desc{
    margin-top:8px !important;
  }

  /* 3. FLOW横長CTA：窮屈感だけ和らげる（高さは大きく増やさない） */
  html body .sp_only .flow-info-card,
  html body .sp-only .flow-info-card,
  html body .flow-card.flow-info-card{
    padding:10px 16px !important;
  }
  html body .sp_only .flow-info-card .wp-block-columns,
  html body .sp-only .flow-info-card .wp-block-columns,
  html body .flow-info-card .wp-block-columns{
    align-items:center !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column,
  html body .sp-only .flow-info-card .wp-block-columns > .wp-block-column,
  html body .flow-info-item,
  html body .flow-info-card .wp-block-media-text{
    padding:0 8px !important;
    column-gap:12px !important;
    gap:12px !important;
    align-items:center !important;
  }
  html body .flow-info-item .wp-block-media-text__media,
  html body .flow-info-card .wp-block-media-text__media,
  html body .flow-info-card figure.wp-block-image,
  html body .flow-card.flow-info-card figure.wp-block-image{
    margin:0 !important;
    align-self:center !important;
  }
  html body .flow-info-card .wp-block-media-text__content p,
  html body .flow-info-card p{
    margin:0 !important;
    align-self:center !important;
  }
  @media (max-width:400px){
    html body .sp_only .flow-info-card,
    html body .sp-only .flow-info-card,
    html body .flow-card.flow-info-card{
      padding:8px 12px !important;
    }
    html body .flow-info-card .wp-block-columns > .wp-block-column,
    html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column,
    html body .flow-info-item,
    html body .flow-info-card .wp-block-media-text{
      padding:0 6px !important;
      column-gap:10px !important;
      gap:10px !important;
      align-items:center !important;
    }
  }

  /* 4. FLOWセクション上余白を1.5倍（40px→60px） */
  html body #flow,
  html body .swell-block-fullWide#flow,
  html body #flow.swell-block-fullWide,
  html body .swell-block-fullWide.sp-py-40:has(.flow-card),
  html body .swell-block-fullWide:has(> .wp-block-group__inner-container .flow-card){
    padding-top:60px !important;
  }

  /* 5. 人物写真と逆三角形の間隔を1.3倍（18px→23px） */
  html body .concern-section.sp_only .concern-item:last-of-type .concern-person,
  html body .concern-section.sp-only .concern-item:last-of-type .concern-person,
  html body .concern-section.sp_only .concern-item:last-of-type figure.wp-block-image,
  html body .concern-section.sp-only .concern-item:last-of-type figure.wp-block-image,
  html body .concern-item:last-of-type figure.wp-block-image,
  html body .concern-item:last-of-type figure.concern-person,
  html body .concern-item:last-of-type .concern-person{
    margin-bottom:23px !important;
  }

  /* 6. 「このようなお悩みはありませんか？」下〜最初のカードを1.3倍 */
  html body .concern-section .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .concern-section .section-heading p.u-mb-30,
  html body .concern-section .section-heading p.u-mb-ctrl.u-mb-30,
  html body .concern-section p.is-style-section_ttl.u-mb-30{
    margin-bottom:13px !important;
  }
  html body .concern-section .wp-block-group.section-heading + .concern-item,
  html body .concern-section.sp_only .section-heading + .concern-item,
  html body .concern-section.sp-only .section-heading + .concern-item{
    margin-top:4px !important;
  }

  /* 7. キャッチコピー：実機で文字がばらけないよう字間・語間を固定
        原因: .is-style-section_ttl の letter-spacing:.28em と
        #greeting .swl-fz の 0.05em がキャッチに乗ることがある */
  html body .section-heading.sp_only > .wp-block-group__inner-container > p#greeting.is-style-section_ttl,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p#greeting.is-style-section_ttl,
  html body p#greeting.is-style-section_ttl{
    letter-spacing:.02em !important;
    word-spacing:0 !important;
    text-align:center !important;
    text-align-last:center !important;
    text-justify:none !important;
    -webkit-text-size-adjust:100% !important;
    text-size-adjust:100% !important;
  }
  html body .section-heading.sp_only > .wp-block-group__inner-container > p#greeting.is-style-section_ttl *,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p#greeting.is-style-section_ttl *,
  html body p#greeting.is-style-section_ttl *,
  html body p#greeting.is-style-section_ttl .swl-fz,
  html body p#greeting.is-style-section_ttl strong,
  html body p#greeting.is-style-section_ttl strong .swl-fz,
  html body #greeting.is-style-section_ttl .swl-fz{
    letter-spacing:.02em !important;
    word-spacing:0 !important;
    text-align:center !important;
    text-align-last:center !important;
    text-justify:none !important;
  }

  /* =========================================================
     Step28：キャッチコピー2行の間隔だけ半分へ
     「ごあいさつ」との上余白・本文との下余白は維持
  ========================================================= */
  html body .section-heading.sp_only > .wp-block-group__inner-container > p#greeting.is-style-section_ttl,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p#greeting.is-style-section_ttl,
  html body p#greeting.is-style-section_ttl{
    margin-top:8px !important;
    margin-bottom:24px !important;
  }
  html body .section-heading.sp_only > .wp-block-group__inner-container > p#greeting.is-style-section_ttl .swl-fz,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p#greeting.is-style-section_ttl .swl-fz,
  html body p#greeting.is-style-section_ttl .swl-fz,
  html body p#greeting.is-style-section_ttl strong,
  html body p#greeting.is-style-section_ttl .swl-inline-color{
    margin-top:0 !important;
    margin-bottom:0 !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    line-height:1.3 !important;
  }
  html body .section-heading.sp_only > .wp-block-group__inner-container > p#greeting.is-style-section_ttl br,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p#greeting.is-style-section_ttl br,
  html body p#greeting.is-style-section_ttl br,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2).is-style-section_ttl br,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:nth-of-type(2).is-style-section_ttl br{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    line-height:.5em !important;
    height:.5em !important;
    font-size:0 !important;
  }

  /* =========================================================
     Step29：FAQ CTA下〜ACTIVITY上の余白を3分の2へ
  ========================================================= */

  /* ボタン下（カード内）48px → 32px。ボタン自体は変えない */
  html body .faq-section.sp_only .faq-cta,
  html body .sp_only .faq-cta{
    padding:24px 20px 32px !important;
  }

  /* CTAカード下〜次セクションまでの余白も3分の2へ */
  html body .faq-section.sp_only,
  html body .swell-block-fullWide.faq-section,
  html body .home .swell-block-fullWide.faq-section,
  html body .swell-block-fullWide.pc-py-60.sp-py-40.faq-section.sp_only{
    padding-bottom:24px !important;
  }

  /* ACTIVITY上の白い余白 40px → 27px。見出しデザインは変えない */
  html body .swell-block-fullWide:has(.activity-section),
  html body .swell-block-fullWide.activity-section,
  html body .wp-block-group.activity-section{
    padding-top:27px !important;
  }
  html body .swell-block-fullWide:has(.activity-section) > .wp-block-group__inner-container > .activity-section,
  html body .swell-block-fullWide:has(.activity-section) .activity-section{
    padding-top:0 !important;
    margin-top:0 !important;
  }

  /* =========================================================
     Step30：GREETING見出しリズム／キャッチ2行／本文行間の統一
     料金プランなど他セクションは変更しない
  ========================================================= */

  /* GREETING ↔ ごあいさつ：狭める前の18pxに戻す（この見出しだけ） */
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:first-of-type#greeting .swl-fz:not(.u-fz-xl),
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:first-of-type#greeting .swl-fz:not(.u-fz-xl){
    margin-bottom:18px !important;
  }

  /* ごあいさつ ↔ キャッチ：少し広げる（first p の下余白だけ） */
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:first-of-type#greeting,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:first-of-type#greeting{
    margin-bottom:24px !important;
  }

  /* キャッチ2行：別見出しに見せず、通常の見出し2行の行間へ
     first-of-type（GREETING／ごあいさつ）には当てない */
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2)#greeting.is-style-section_ttl,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:nth-of-type(2)#greeting.is-style-section_ttl,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2).is-style-section_ttl,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:nth-of-type(2).is-style-section_ttl{
    margin-top:12px !important;
    margin-bottom:32px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    line-height:1.45 !important;
  }
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2)#greeting.is-style-section_ttl *,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:nth-of-type(2)#greeting.is-style-section_ttl *,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2).is-style-section_ttl *,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2).is-style-section_ttl .swl-fz,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2).is-style-section_ttl strong,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2).is-style-section_ttl .swl-inline-color{
    display:inline !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1.45 !important;
  }
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2)#greeting.is-style-section_ttl br,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:nth-of-type(2)#greeting.is-style-section_ttl br,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2).is-style-section_ttl br,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:nth-of-type(2).is-style-section_ttl br{
    display:inline !important;
    margin:0 !important;
    padding:0 !important;
    line-height:inherit !important;
    height:auto !important;
    font-size:inherit !important;
  }

  /* 本文：段落内の行間を統一（1.95 / 1.9 の混在を解消） */
  html body .section-heading.sp_only:has(#greeting) .wp-block-columns > .wp-block-column:first-child > p,
  html body .section-heading.sp_only:has(#greeting) .wp-block-columns > .wp-block-column:first-child > p *{
    line-height:1.8 !important;
  }

  /* =========================================================
     Step31：ACTIVITY上の白い余白だけを約3分の2へ
     内側の積み重ねpaddingを打ち消し、見出し下のレイアウトは触らない
  ========================================================= */
  html body .swell-block-fullWide:has(.activity-section),
  html body .swell-block-fullWide:has(.activity-post-list),
  html body .swell-block-fullWide.activity-section,
  html body .wp-block-group.activity-section,
  html body .faq-section + .swell-block-fullWide,
  html body .faq-section.sp_only + .swell-block-fullWide,
  html body .faq-section + .wp-block-group.activity-section{
    padding-top:18px !important;
    margin-top:0 !important;
  }
  html body .swell-block-fullWide:has(.activity-section) > .swell-block-fullWide__inner,
  html body .swell-block-fullWide:has(.activity-post-list) > .swell-block-fullWide__inner,
  html body .swell-block-fullWide.activity-section > .swell-block-fullWide__inner,
  html body .activity-section > .wp-block-group__inner-container,
  html body .activity-section .wp-block-group__inner-container{
    padding-top:0 !important;
    margin-top:0 !important;
  }
  html body .activity-section .section-heading,
  html body .activity-section .section-heading > .wp-block-group__inner-container,
  html body .activity-section .section-heading > .wp-block-group__inner-container > p:first-of-type{
    margin-top:0 !important;
    padding-top:0 !important;
  }

  /* =========================================================
     Step32：GREETING と ごあいさつをスマホで上下2段に戻す
  ========================================================= */
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:first-of-type#greeting,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:first-of-type#greeting,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:first-of-type#greeting.is-style-section_ttl,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:first-of-type#greeting.is-style-section_ttl{
    display:block !important;
    text-align:center !important;
    margin-top:0 !important;
    margin-bottom:24px !important;
    padding:0 !important;
  }
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:first-of-type#greeting .swl-fz:not(.u-fz-xl),
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:first-of-type#greeting .swl-fz:not(.u-fz-xl),
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:first-of-type#greeting > .swl-fz:not(.u-fz-xl),
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:first-of-type#greeting.is-style-section_ttl .swl-fz:not(.u-fz-xl){
    display:block !important;
    width:100% !important;
    text-align:center !important;
    margin-top:0 !important;
    margin-bottom:18px !important;
    padding:0 !important;
  }
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:first-of-type#greeting .u-fz-xl,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:first-of-type#greeting .u-fz-xl,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:first-of-type#greeting .u-fz-xl *,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:first-of-type#greeting strong,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:first-of-type#greeting strong,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:first-of-type#greeting.is-style-section_ttl .u-fz-xl,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:first-of-type#greeting.is-style-section_ttl strong{
    display:block !important;
    width:100% !important;
    text-align:center !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    padding:0 !important;
  }

  /* =========================================================
     Step33：ACTIVITY直前の白い余白を約半分へ
     原因は見出し直前の 60px スペーサー。ここだけ潰す。
  ========================================================= */
  html body .activity-section > .wp-block-group__inner-container > .wp-block-spacer:first-child,
  html body .wp-block-group.activity-section > .wp-block-group__inner-container > .wp-block-spacer:first-child,
  html body .activity-section > .wp-block-group__inner-container > .wp-block-spacer:first-of-type,
  html body .wp-block-group.activity-section > .wp-block-group__inner-container > .wp-block-spacer:first-of-type{
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    display:block !important;
  }
  html body .faq-section.sp_only,
  html body .swell-block-fullWide.faq-section{
    margin-bottom:0 !important;
  }
  html body .wp-block-group.activity-section,
  html body .activity-section{
    padding-top:8px !important;
    margin-top:0 !important;
  }

  /* =========================================================
     Step34：ACTIVITY上余白を、広すぎ／狭すぎの中間へ
     直前スペーサー 0→30px、セクション上 8→12px（約1.5倍）
     「活動報告・お役立ち情報」との間隔は変えない
  ========================================================= */
  html body .activity-section > .wp-block-group__inner-container > .wp-block-spacer:first-child,
  html body .wp-block-group.activity-section > .wp-block-group__inner-container > .wp-block-spacer:first-child,
  html body .activity-section > .wp-block-group__inner-container > .wp-block-spacer:first-of-type,
  html body .wp-block-group.activity-section > .wp-block-group__inner-container > .wp-block-spacer:first-of-type{
    height:30px !important;
    min-height:30px !important;
    margin:0 !important;
    padding:0 !important;
  }
  html body .wp-block-group.activity-section,
  html body .activity-section{
    padding-top:12px !important;
  }

  /* =========================================================
     Step35：FLOW案内左文を確実に2行へ
     「ご契約まで最短2週間程度で / 対応可能です。」
     412pxでも3行に戻らないよう、幅・字サイズ・禁則を同時に調整
  ========================================================= */
  html body .sp_only .flow-info-card,
  html body .sp-only .flow-info-card,
  html body .flow-card.flow-info-card{
    width:calc(100% + 20px) !important;
    max-width:none !important;
    margin-left:-10px !important;
    margin-right:-10px !important;
    padding:8px 8px !important;
    box-sizing:border-box !important;
  }
  html body .sp_only .flow-info-card .wp-block-columns,
  html body .sp-only .flow-info-card .wp-block-columns,
  html body .flow-info-card .wp-block-columns{
    grid-template-columns:1.12fr 0.88fr !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column,
  html body .sp-only .flow-info-card .wp-block-columns > .wp-block-column,
  html body .flow-info-item,
  html body .flow-info-card .wp-block-media-text{
    padding:0 4px !important;
    grid-template-columns:22px minmax(0,1fr) !important;
    column-gap:4px !important;
    gap:4px !important;
    align-items:center !important;
  }
  html body .flow-info-item .wp-block-media-text__media,
  html body .flow-info-card .wp-block-media-text__media,
  html body .flow-info-card figure.wp-block-image,
  html body .flow-card.flow-info-card figure.wp-block-image,
  html body .home .flow-card.flow-info-card figure.wp-block-image{
    width:22px !important;
    min-width:22px !important;
    max-width:22px !important;
    height:22px !important;
    min-height:22px !important;
    flex:0 0 22px !important;
    margin:0 !important;
  }
  html body .flow-info-item .wp-block-media-text__media img,
  html body .flow-info-card .wp-block-media-text__media img,
  html body .flow-info-card figure.wp-block-image img,
  html body .home .flow-info-card .wp-block-image img,
  html body .home .flow-card.flow-info-card .wp-block-image img,
  html body .home .flow-card.flow-info-card img,
  html body .flow-card.flow-info-card img{
    width:22px !important;
    height:22px !important;
    min-width:22px !important;
    min-height:22px !important;
    max-width:22px !important;
    max-height:22px !important;
  }
  html body .flow-info-card p,
  html body .flow-info-card p *,
  html body .flow-info-card p .swl-fz,
  html body .flow-info-card .wp-block-media-text__content p,
  html body .flow-info-card .wp-block-media-text__content p *,
  html body .flow-info-card .wp-block-column p,
  html body .flow-info-card .wp-block-column p *,
  html body .flow-info-card .wp-block-column:first-child p,
  html body .flow-info-card .wp-block-column:first-child p *{
    font-size:10px !important;
    line-height:1.35 !important;
    letter-spacing:-.04em !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    line-break:strict !important;
    width:auto !important;
    max-width:none !important;
  }
  @media (max-width:400px){
    html body .sp_only .flow-info-card,
    html body .sp-only .flow-info-card,
    html body .flow-card.flow-info-card{
      width:calc(100% + 24px) !important;
      margin-left:-12px !important;
      margin-right:-12px !important;
      padding:8px 6px !important;
    }
    html body .flow-info-card p,
    html body .flow-info-card p *,
    html body .flow-info-card p .swl-fz,
    html body .flow-info-card .wp-block-column p,
    html body .flow-info-card .wp-block-column p *,
    html body .flow-info-card .wp-block-column:first-child p,
    html body .flow-info-card .wp-block-column:first-child p *{
      font-size:9.5px !important;
      letter-spacing:-.05em !important;
    }
  }

  /* =========================================================
     Step36：ACTIVITY上余白を現在の約1.25倍へ（詰まりすぎの緩和）
     日本語見出しとの間隔は変えない
  ========================================================= */
  html body .activity-section > .wp-block-group__inner-container > .wp-block-spacer:first-child,
  html body .wp-block-group.activity-section > .wp-block-group__inner-container > .wp-block-spacer:first-child,
  html body .activity-section > .wp-block-group__inner-container > .wp-block-spacer:first-of-type,
  html body .wp-block-group.activity-section > .wp-block-group__inner-container > .wp-block-spacer:first-of-type{
    height:38px !important;
    min-height:38px !important;
  }
  html body .wp-block-group.activity-section,
  html body .activity-section{
    padding-top:15px !important;
  }

  /* =========================================================
     Step37：左案内文を指定位置で必ず2行にする
     ご契約まで最短2週間程度で / 対応可能です。
     keep-all による1行化を解除し、::before で明示改行
  ========================================================= */
  html body .sp_only .flow-info-card,
  html body .sp-only .flow-info-card,
  html body .flow-card.flow-info-card{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:10px 12px !important;
  }
  html body .sp_only .flow-info-card .wp-block-columns,
  html body .sp-only .flow-info-card .wp-block-columns,
  html body .flow-info-card .wp-block-columns{
    grid-template-columns:1fr 1fr !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column,
  html body .sp-only .flow-info-card .wp-block-columns > .wp-block-column,
  html body .flow-info-item,
  html body .flow-info-card .wp-block-media-text{
    padding:0 8px !important;
    grid-template-columns:28px minmax(0,1fr) !important;
    column-gap:8px !important;
    gap:8px !important;
    align-items:center !important;
  }
  html body .flow-info-item .wp-block-media-text__media,
  html body .flow-info-card .wp-block-media-text__media,
  html body .flow-info-card figure.wp-block-image,
  html body .flow-card.flow-info-card figure.wp-block-image,
  html body .home .flow-card.flow-info-card figure.wp-block-image{
    width:28px !important;
    min-width:28px !important;
    max-width:28px !important;
    height:28px !important;
    min-height:28px !important;
    flex:0 0 28px !important;
    margin:0 !important;
  }
  html body .flow-info-item .wp-block-media-text__media img,
  html body .flow-info-card .wp-block-media-text__media img,
  html body .flow-info-card figure.wp-block-image img,
  html body .home .flow-info-card .wp-block-image img,
  html body .home .flow-card.flow-info-card .wp-block-image img,
  html body .home .flow-card.flow-info-card img,
  html body .flow-card.flow-info-card img{
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    min-height:28px !important;
    max-width:28px !important;
    max-height:28px !important;
  }
  html body .flow-info-card p,
  html body .flow-info-card p *,
  html body .flow-info-card p .swl-fz,
  html body .flow-info-card .wp-block-media-text__content p,
  html body .flow-info-card .wp-block-column p,
  html body .flow-info-card .wp-block-column p *{
    font-size:11px !important;
    line-height:1.45 !important;
    letter-spacing:0 !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    line-break:auto !important;
    width:auto !important;
    max-width:100% !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column:first-child p,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column:first-child p,
  html body .flow-info-card .wp-block-column:first-child > p{
    color:transparent !important;
    position:relative !important;
    font-size:11px !important;
    line-height:1.45 !important;
    min-height:2.9em !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column:first-child p *,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column:first-child p *,
  html body .flow-info-card .wp-block-column:first-child > p *{
    font-size:0 !important;
    color:transparent !important;
    visibility:hidden !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column:first-child p::before,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column:first-child p::before,
  html body .flow-info-card .wp-block-column:first-child > p::before{
    content:"ご契約まで最短2週間\A程度で対応可能です。" !important;
    white-space:pre-line !important;
    display:block !important;
    visibility:visible !important;
    color:#222222 !important;
    font-size:11px !important;
    line-height:1.45 !important;
    letter-spacing:0 !important;
    font-weight:inherit !important;
  }

  /* =========================================================
     Step38：GREETING上余白を約1.25倍／FLOW左案内のみ縦中央へ
     PC・本文レイアウト・右列は変更しない
  ========================================================= */
  html body .post_content > .wp-block-group#greeting:not(.section-heading):not(.sp_only):not(.sp-only):not(.pc_only):not(.pc-only){
    padding-top:26px !important;
    padding-bottom:0 !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    height:auto !important;
    min-height:0 !important;
  }
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:first-of-type#greeting,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:first-of-type#greeting,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:first-of-type#greeting.is-style-section_ttl,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:first-of-type#greeting.is-style-section_ttl{
    margin-top:0 !important;
    padding-top:0 !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column:first-child,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column:first-child,
  html body .sp-only .flow-info-card .wp-block-columns > .wp-block-column:first-child{
    align-self:stretch !important;
    align-items:center !important;
    align-content:center !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column:first-child figure.wp-block-image,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column:first-child figure.wp-block-image,
  html body .flow-info-card .wp-block-columns > .wp-block-column:first-child .wp-block-media-text__media{
    margin:0 !important;
    align-self:center !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column:first-child p,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column:first-child p,
  html body .flow-info-card .wp-block-column:first-child > p{
    font-size:0 !important;
    line-height:0 !important;
    min-height:0 !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    align-self:center !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column:first-child p::before,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column:first-child p::before,
  html body .flow-info-card .wp-block-column:first-child > p::before{
    font-size:11px !important;
    line-height:1.45 !important;
  }

  /* =========================================================
     Step39：セクション見出しを YOUR CONCERNS 基準に統一
     除外：ヒーロー／GREETING／OUR STRENGTHS
     英字 12px/600/.16em、日本語 24px/700。改行・余白・行間は維持
  ========================================================= */
  html body .section-heading:not(:has(#greeting)):not(.sp-only) > .wp-block-group__inner-container > p:first-of-type,
  html body .section-heading:not(:has(#greeting)):not(.sp-only) > .wp-block-group__inner-container > p:first-of-type *,
  html body .section-heading:not(:has(#greeting)):not(.sp-only) > .wp-block-group__inner-container > p:first-of-type .swl-fz,
  html body .price-header > .wp-block-group__inner-container > p:first-of-type,
  html body .price-header > .wp-block-group__inner-container > p:first-of-type *,
  html body .price-header.section-heading > .wp-block-group__inner-container > p:first-of-type,
  html body .price-header.section-heading > .wp-block-group__inner-container > p:first-of-type *,
  html body .price-header.section-heading > .wp-block-group__inner-container > p:first-of-type .swl-fz,
  html body .faq-header > .wp-block-group__inner-container > p:first-of-type,
  html body .faq-header > .wp-block-group__inner-container > p:first-of-type *,
  html body .faq-header .section-heading.wp-block-paragraph,
  html body .faq-section .faq-header .section-heading.wp-block-paragraph,
  html body .activity-section > .wp-block-group__inner-container > p:first-of-type,
  html body .activity-section > .wp-block-group__inner-container > p:first-of-type *,
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p:first-of-type,
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p:first-of-type *,
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p:first-of-type,
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p:first-of-type *,
  html body .sp_only:has(.company-table) .section-heading > .wp-block-group__inner-container > p:first-of-type,
  html body .sp-only:has(.company-table) .section-heading > .wp-block-group__inner-container > p:first-of-type,
  html body .section-heading:has(+ figure.company-table) > .wp-block-group__inner-container > p:first-of-type,
  html body .sp_only:has(.company-table) .section-heading > .wp-block-group__inner-container > p:first-of-type *,
  html body .section-heading:has(+ figure.company-table) > .wp-block-group__inner-container > p:first-of-type *,
  html body .area-en,
  html body .area-en *,
  html body .sp_only .area-en,
  html body .sp-only .area-en,
  html body #service > .wp-block-group__inner-container > p:first-child,
  html body #service > .wp-block-group__inner-container > p:first-child .swl-fz{
    font-size:12px !important;
    font-weight:600 !important;
    letter-spacing:.16em !important;
  }
  html body .section-heading:not(:has(#greeting)):not(.sp-only) > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .section-heading:not(:has(#greeting)):not(.sp-only) > .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body .section-heading:not(:has(#greeting)):not(.sp-only) > .wp-block-group__inner-container > p:nth-of-type(2) .swl-fz,
  html body .price-header > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .price-header > .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body .price-header.section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .price-header.section-heading > .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body .price-header.section-heading > .wp-block-group__inner-container > p:nth-of-type(2) .swl-fz,
  html body .faq-header > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .faq-header > .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body .activity-section > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .activity-section > .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body .sp_only:has(.company-table) .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .sp-only:has(.company-table) .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .section-heading:has(+ figure.company-table) > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .sp_only:has(.company-table) .section-heading > .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body .section-heading:has(+ figure.company-table) > .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body .area-ja,
  html body .area-ja *,
  html body .sp_only .area-ja,
  html body .sp-only .area-ja,
  html body .sp_only .area-ja *,
  html body .sp-only .area-ja *,
  html body .sp_only p.area-ja .swl-fz,
  html body #service > .wp-block-group__inner-container > p:nth-of-type(2),
  html body #service > .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body #service > .wp-block-group__inner-container > p:nth-of-type(2) .swl-fz{
    font-size:24px !important;
    font-weight:700 !important;
  }

  /* =========================================================
     Step40：FLOW左案内の横収まり／説明文を料金プラン基準に統一
     除外：GREETING／OUR STRENGTHS。縦位置・文字サイズ・カード高さは維持
  ========================================================= */

  /* FLOW補足カード：左文を仕切り線の左側へ2行で収める。縦中央は維持 */
  html body .sp_only .flow-info-card .wp-block-columns,
  html body .sp-only .flow-info-card .wp-block-columns,
  html body .flow-info-card .wp-block-columns,
  html body .flow-card.flow-info-card .wp-block-columns{
    grid-template-columns:1.12fr 0.88fr !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column:first-child,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column:first-child,
  html body .sp-only .flow-info-card .wp-block-columns > .wp-block-column:first-child{
    padding:0 12px 0 4px !important;
    align-items:center !important;
    align-self:stretch !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column:last-child,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column:last-child,
  html body .sp-only .flow-info-card .wp-block-columns > .wp-block-column:last-child{
    padding:0 4px 0 12px !important;
    align-items:center !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column:first-child p,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column:first-child p,
  html body .flow-info-card .wp-block-column:first-child > p{
    max-width:100% !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column:first-child p::before,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column:first-child p::before,
  html body .flow-info-card .wp-block-column:first-child > p::before{
    content:"ご契約まで最短2週間\A程度で対応可能です。" !important;
    white-space:pre !important;
    display:block !important;
    max-width:100% !important;
    overflow-wrap:normal !important;
    word-break:keep-all !important;
  }

  /* サポート見出し：Step41で明示2行に切り替え（max-widthだと「合わせた」が分割される） */

  /* 説明文＋見出し下余白：料金プラン基準（15px/500/1.9、下22px） */
  html body .section-heading:not(:has(#greeting)):not(.sp-only) > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .price-header > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .price-header.section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .faq-header > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .activity-section > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body #service > .wp-block-group__inner-container > p:nth-of-type(2){
    margin-bottom:22px !important;
  }
  html body .section-heading:not(:has(#greeting)):not(.sp-only) > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .section-heading:not(:has(#greeting)):not(.sp-only) > .wp-block-group__inner-container > p:nth-of-type(3) *,
  html body .price-header > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .price-header > .wp-block-group__inner-container > p:nth-of-type(3) *,
  html body .price-header.section-heading > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .price-header.section-heading > .wp-block-group__inner-container > p:nth-of-type(3) *,
  html body .faq-header > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .faq-header > .wp-block-group__inner-container > p:nth-of-type(3) *,
  html body .activity-section > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .activity-section > .wp-block-group__inner-container > p:nth-of-type(3) *,
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(3) *,
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(3) *,
  html body #service > .wp-block-group__inner-container > p:nth-of-type(3),
  html body #service > .wp-block-group__inner-container > p:nth-of-type(3) *{
    font-size:15px !important;
    font-weight:700 !important;
    line-height:1.9 !important;
    letter-spacing:.02em !important;
  }

  /* =========================================================
     Step41：項目ごとに個別調整（前回の一部未反映を是正）
     1 SUPPORT見出し改行／2 JOURNAL上余白／3 JOURNAL説明下余白
     4 CONTACT上の青余白／5 COMPANY字間／6 説明文を太字に統一
     除外：GREETING／OUR STRENGTHS。PCのSUPPORT改行は触らない
  ========================================================= */

  /* 1. SUPPORT見出し：文言はそのまま、スマホでは必ず指定の2行
     Step39の :not(:has(#greeting)) がID詳細度を持つため、同系統＋#serviceで上書き */
  html body .section-heading#service:not(:has(#greeting)):not(.sp-only) > .wp-block-group__inner-container > p:nth-of-type(2),
  html body #service.section-heading:not(:has(#greeting)):not(.sp-only) > .wp-block-group__inner-container > p:nth-of-type(2){
    max-width:none !important;
    width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    position:relative !important;
    font-size:0 !important;
    line-height:0 !important;
    color:#143072 !important;
    text-align:center !important;
  }
  html body .section-heading#service:not(:has(#greeting)):not(.sp-only) > .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body #service.section-heading:not(:has(#greeting)):not(.sp-only) > .wp-block-group__inner-container > p:nth-of-type(2) *{
    font-size:0 !important;
    line-height:0 !important;
    color:transparent !important;
    visibility:hidden !important;
  }
  html body .section-heading#service:not(:has(#greeting)):not(.sp-only) > .wp-block-group__inner-container > p:nth-of-type(2)::before,
  html body #service.section-heading:not(:has(#greeting)):not(.sp-only) > .wp-block-group__inner-container > p:nth-of-type(2)::before{
    content:"企業ごとの課題に合わせた\A産業医サポートをご提供します" !important;
    white-space:pre !important;
    display:block !important;
    visibility:visible !important;
    color:#143072 !important;
    font-size:24px !important;
    font-weight:700 !important;
    font-family:inherit !important;
    line-height:1.4 !important;
    letter-spacing:.02em !important;
    text-align:center !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    line-break:strict !important;
  }

  /* 2. JOURNAL上の白い余白：前セクションからの区切りを明確に（見出し間隔は維持） */
  html body .wp-block-group.activity-section,
  html body .activity-section{
    padding-top:48px !important;
    margin-top:0 !important;
  }
  html body .swell-block-fullWide:has(.activity-section),
  html body .swell-block-fullWide.activity-section{
    padding-top:48px !important;
    margin-top:0 !important;
  }
  html body .activity-section > .wp-block-group__inner-container > .wp-block-spacer:first-child,
  html body .wp-block-group.activity-section > .wp-block-group__inner-container > .wp-block-spacer:first-child,
  html body .activity-section > .wp-block-group__inner-container > .wp-block-spacer:first-of-type{
    height:12px !important;
    min-height:12px !important;
  }

  /* 3. JOURNAL説明文〜記事カードの間隔を少し広げる */
  html body .activity-section > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .wp-block-group.activity-section > .wp-block-group__inner-container > p:nth-of-type(3){
    margin-bottom:32px !important;
  }

  /* 4. CONTACT上の青い余白だけ狭める（FAQ本体の上余白・見出しサイズは維持） */
  html body .faq-section.sp_only:has(.contact-section-sp),
  html body .swell-block-fullWide.faq-section:has(.contact-section-sp),
  html body .home .swell-block-fullWide.faq-section:has(.contact-section-sp),
  html body .swell-block-fullWide.pc-py-60.sp-py-40.faq-section.sp_only:has(.contact-section-sp){
    padding-top:48px !important;
  }
  html body .contact-section-sp,
  html body .sp_only.contact-section-sp,
  html body .faq-section:has(.contact-section-sp) .contact-section-sp{
    padding-top:20px !important;
  }

  /* 5. COMPANY PROFILEの英字字間だけ狭める（サイズ・太さはStep39のまま） */
  html body .sp_only:has(.company-table) .section-heading:not(:has(#greeting)):not(.sp-only) > .wp-block-group__inner-container > p:first-of-type,
  html body .sp-only:has(.company-table) .section-heading:not(:has(#greeting)):not(.sp-only) > .wp-block-group__inner-container > p:first-of-type,
  html body .section-heading:not(:has(#greeting)):not(.sp-only):has(+ figure.company-table) > .wp-block-group__inner-container > p:first-of-type,
  html body .wp-block-group:has(> figure.company-table) > .section-heading:not(:has(#greeting)):not(.sp-only) > .wp-block-group__inner-container > p:first-of-type,
  html body .sp_only:has(.company-table) .section-heading:not(:has(#greeting)):not(.sp-only) > .wp-block-group__inner-container > p:first-of-type *,
  html body .sp-only:has(.company-table) .section-heading:not(:has(#greeting)):not(.sp-only) > .wp-block-group__inner-container > p:first-of-type *,
  html body .section-heading:not(:has(#greeting)):not(.sp-only):has(+ figure.company-table) > .wp-block-group__inner-container > p:first-of-type *,
  html body .wp-block-group:has(> figure.company-table) > .section-heading:not(:has(#greeting)):not(.sp-only) > .wp-block-group__inner-container > p:first-of-type *{
    letter-spacing:.06em !important;
  }

  /* 6. 見出し直下の説明文を料金プラン基準（700）で共通化。GREETING／STRENGTHS除外 */
  html body .section-heading:not(:has(#greeting)):not(.sp-only) > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .section-heading:not(:has(#greeting)):not(.sp-only) > .wp-block-group__inner-container > p:nth-of-type(3) *,
  html body .price-header > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .price-header > .wp-block-group__inner-container > p:nth-of-type(3) *,
  html body .price-header.section-heading > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .price-header.section-heading > .wp-block-group__inner-container > p:nth-of-type(3) *,
  html body .price-header.section-heading > .wp-block-group__inner-container > p:nth-of-type(3) strong,
  html body .faq-header > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .faq-header > .wp-block-group__inner-container > p:nth-of-type(3) *,
  html body .faq-section .faq-header > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .faq-section .faq-header > .wp-block-group__inner-container > p:nth-of-type(3) *,
  html body .faq-header p:nth-of-type(3),
  html body .faq-header p:nth-of-type(3) *,
  html body .activity-section > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .activity-section > .wp-block-group__inner-container > p:nth-of-type(3) *,
  html body .wp-block-group.activity-section > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .wp-block-group.activity-section > .wp-block-group__inner-container > p:nth-of-type(3) *,
  html body .wp-block-group.activity-section > .wp-block-group__inner-container > p:nth-of-type(3) strong,
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(3) *,
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .faq-section .contact-section-sp .section-heading > .wp-block-group__inner-container > p:nth-of-type(3) *,
  html body #service > .wp-block-group__inner-container > p:nth-of-type(3),
  html body #service > .wp-block-group__inner-container > p:nth-of-type(3) *{
    font-weight:700 !important;
  }

  /* =========================================================
     Step42：FLOW補足カードを50:50／JOURNAL余白を一段階
     カード高さ・字サイズ・アイコンサイズ・色は維持
  ========================================================= */

  html body .sp_only .flow-info-card .wp-block-columns,
  html body .sp-only .flow-info-card .wp-block-columns,
  html body .flow-info-card .wp-block-columns,
  html body .flow-card.flow-info-card .wp-block-columns{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:0 !important;
    column-gap:0 !important;
    width:100% !important;
    max-width:100% !important;
    align-items:center !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column,
  html body .sp-only .flow-info-card .wp-block-columns > .wp-block-column,
  html body .flow-card.flow-info-card .wp-block-columns > .wp-block-column,
  html body .flow-info-card .wp-block-columns > .wp-block-column:first-child,
  html body .flow-info-card .wp-block-columns > .wp-block-column:last-child,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column:first-child,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column:last-child,
  html body .flow-card.flow-info-card .wp-block-columns > .wp-block-column:first-child,
  html body .flow-card.flow-info-card .wp-block-columns > .wp-block-column:last-child,
  html body .flow-info-card .wp-block-media-text{
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    flex:none !important;
    flex-basis:auto !important;
    box-sizing:border-box !important;
    padding:0 2px !important;
    display:grid !important;
    grid-template-columns:28px minmax(0,1fr) !important;
    column-gap:4px !important;
    gap:4px !important;
    align-items:center !important;
    align-content:center !important;
    justify-items:start !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column:first-child,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column:first-child,
  html body .flow-info-card .wp-block-column:first-child{
    border-right:1px solid #dbe7ff !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column p,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column p,
  html body .flow-info-card .wp-block-column:first-child p,
  html body .flow-info-card .wp-block-column:last-child p,
  html body .flow-info-card .wp-block-column:first-child > p{
    width:auto !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
    color:transparent !important;
    position:relative !important;
    font-size:0 !important;
    line-height:0 !important;
    min-height:0 !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column p *,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column p *,
  html body .flow-info-card .wp-block-column:first-child > p *,
  html body .flow-info-card .wp-block-column:last-child > p *{
    font-size:0 !important;
    color:transparent !important;
    visibility:hidden !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column:first-child p::before,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column:first-child p::before,
  html body .flow-info-card .wp-block-column:first-child > p::before{
    content:"ご契約まで最短2週間\A程度で対応可能です。" !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column:last-child p::before,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column:last-child p::before,
  html body .flow-info-card .wp-block-column:last-child > p::before{
    content:"オンラインでの打ち\A合わせも可能です。" !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column p::before,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column p::before,
  html body .flow-info-card .wp-block-column:first-child > p::before,
  html body .flow-info-card .wp-block-column:last-child > p::before{
    white-space:pre !important;
    display:block !important;
    visibility:visible !important;
    color:#222222 !important;
    font-size:11px !important;
    font-weight:inherit !important;
    line-height:1.45 !important;
    letter-spacing:0 !important;
    text-align:left !important;
    max-width:100% !important;
    overflow:hidden !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
  }

  html body .wp-block-group.activity-section,
  html body .activity-section{
    padding-top:56px !important;
  }
  html body .activity-section > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .wp-block-group.activity-section > .wp-block-group__inner-container > p:nth-of-type(3){
    margin-bottom:36px !important;
  }

  /* =========================================================
     Step43：JOURNAL余白をもう一段／補足カード改行位置／PRICE上余白
  ========================================================= */
  html body .wp-block-group.activity-section,
  html body .activity-section,
  html body .swell-block-fullWide:has(.activity-section),
  html body .swell-block-fullWide.activity-section{
    padding-top:80px !important;
  }
  html body .swell-block-fullWide:has(.activity-section) .activity-section{
    padding-top:0 !important;
  }
  html body .activity-section > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .wp-block-group.activity-section > .wp-block-group__inner-container > p:nth-of-type(3){
    margin-bottom:48px !important;
  }
  html body .swell-block-fullWide:has(.price-header),
  html body .swell-block-fullWide:has(> .wp-block-group__inner-container .price-header),
  html body .price-section,
  html body .swell-block-fullWide.price-section,
  html body .swell-block-fullWide:has(.price-header.section-heading){
    padding-top:20px !important;
  }

  /* =========================================================
     Step45：FLOW補足カード下余白を半分／左右ブロックを列内中央へ
     仕切りは中央、列幅50:50、字・アイコンサイズは維持
     （下余白36pxは同一メディアクエリ先頭側に既出のためここでは繰り返さない）
  ========================================================= */
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column,
  html body .sp-only .flow-info-card .wp-block-columns > .wp-block-column,
  html body .flow-card.flow-info-card .wp-block-columns > .wp-block-column,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column:first-child,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column:last-child,
  html body .sp-only .flow-info-card .wp-block-columns > .wp-block-column:first-child,
  html body .sp-only .flow-info-card .wp-block-columns > .wp-block-column:last-child,
  html body .flow-card.flow-info-card .wp-block-columns > .wp-block-column:first-child,
  html body .flow-card.flow-info-card .wp-block-columns > .wp-block-column:last-child{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    justify-content:center !important;
    align-items:center !important;
    column-gap:4px !important;
    gap:4px !important;
    padding:0 6px !important;
    grid-template-columns:none !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column p,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column p,
  html body .flow-info-card .wp-block-column:first-child p,
  html body .flow-info-card .wp-block-column:last-child p,
  html body .flow-info-card .wp-block-column:first-child > p{
    width:max-content !important;
    max-width:none !important;
    flex:0 0 auto !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column p::before,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column p::before,
  html body .flow-info-card .wp-block-column:first-child > p::before,
  html body .flow-info-card .wp-block-column:last-child > p::before{
    width:max-content !important;
    max-width:none !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column figure.wp-block-image,
  html body .sp_only .flow-info-card .wp-block-columns > .wp-block-column figure.wp-block-image,
  html body .flow-card.flow-info-card figure.wp-block-image{
    flex:0 0 28px !important;
    width:28px !important;
    margin:0 !important;
  }
}

/* 600-767 専用（この1本だけ編集する）
   大画面スマホ：カード幅を少し絞って中央へ。768以上へ漏らさない。 */
@media (min-width:600px) and (max-width:767px){
  html{
    --lg-phone-card-width:calc(100% - 96px);
    --lg-phone-card-max:520px;
    --lg-phone-company-max:512px;
    --lg-phone-form-max:580px;
    --lg-phone-price-inner:376px;
    --lg-phone-bubble-max:500px;
  }

  html body .sp_only .service-wrap,
  html body .sp-only .service-wrap,
  html body .service-wrap{
    align-items:center !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    left:auto !important;
    transform:none !important;
  }

  html body .sp_only .service-wrap > .wp-block-column,
  html body .sp-only .service-wrap > .wp-block-column,
  html body .home .sp_only .service-wrap > .wp-block-column{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    width:100% !important;
    max-width:100% !important;
    flex-basis:100% !important;
  }
  html body .home .sp_only .service-wrap .service-card,
  html body .home .sp_only .wp-block-group.service-card,
  html body .home .wp-block-group.service-card,
  html body .sp_only .wp-block-columns:not(.flow-left) > .wp-block-column.service-card,
  html body .sp-only .wp-block-columns:not(.flow-left) > .wp-block-column.service-card,
  html body .sp_only .service-wrap .service-card,
  html body .sp-only .service-wrap .service-card,
  html body .sp_only .service-card,
  html body .sp-only .service-card,
  html body .service-wrap .service-card{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    width:calc(100% - 140px) !important;
    max-width:460px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
    flex:none !important;
    flex-grow:0 !important;
    flex-shrink:0 !important;
    flex-basis:auto !important;
    align-self:center !important;
  }

  html body .sp_only .service-wrap .service-card,
  html body .sp-only .service-wrap .service-card{
    min-height:0 !important;
    height:auto !important;
  }

  /* SUPPORT：28% 1fr をやめ、アイコン→番号→タイトル→本文の縦積みに戻す */
  html body .sp_only .service-card .wp-block-media-text,
  html body .sp-only .service-card .wp-block-media-text,
  html body .service-wrap .service-card .wp-block-media-text{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    grid-template-columns:none !important;
    column-gap:0 !important;
    gap:8px !important;
  }
  html body .sp_only .service-card .wp-block-media-text__media,
  html body .sp-only .service-card .wp-block-media-text__media,
  html body .service-wrap .service-card .wp-block-media-text__media{
    order:-1 !important;
    width:auto !important;
    max-width:100% !important;
    margin:0 auto !important;
    align-self:center !important;
  }
  html body .sp_only .service-card .wp-block-media-text__content,
  html body .sp-only .service-card .wp-block-media-text__content,
  html body .service-wrap .service-card .wp-block-media-text__content{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }
  html body .sp_only .service-card .wp-block-media-text__content p,
  html body .sp-only .service-card .wp-block-media-text__content p,
  html body .service-wrap .service-card .wp-block-media-text__content p{
    width:100% !important;
    max-width:100% !important;
  }

  html body .sp_only .reason-wrap > .wp-block-column,
  html body .sp-only .reason-wrap > .wp-block-column,
  html body .home .sp_only .reason-wrap > .wp-block-column,
  html body .strengths-box.sp_only .reason-wrap > .wp-block-column{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    width:100% !important;
    max-width:100% !important;
  }
  html body .home .sp_only .wp-block-group.reason-card,
  html body .home .wp-block-group.reason-card,
  html body .home .reason-card.alignwide,
  html body .sp_only .reason-card.alignwide,
  html body .sp_only .reason-card,
  html body .sp-only .reason-card,
  html body .reason-wrap .reason-card,
  html body .home .strengths-box.sp_only .wp-block-group.contact-cta,
  html body .home .strengths-box.sp-only .wp-block-group.contact-cta,
  html body .strengths-box.sp_only .contact-cta,
  html body .strengths-box.sp-only .contact-cta,
  html body .sp_only .strengths-cta,
  html body .sp-only .strengths-cta,
  html body .strengths-cta{
    width:calc(100% - 120px) !important;
    max-width:480px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    box-sizing:border-box !important;
    flex:none !important;
    flex-basis:auto !important;
    align-self:center !important;
  }
  html body .home .sp_only .wp-block-group.reason-card,
  html body .home .reason-card.alignwide,
  html body .sp_only .reason-card.alignwide,
  html body .sp_only .reason-card,
  html body .sp-only .reason-card,
  html body .reason-wrap .reason-card{
    width:calc(100% - 140px) !important;
    max-width:460px !important;
    padding:28px 28px 30px !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
  }
  html body .strengths-box.sp_only .reason-wrap,
  html body .strengths-box.sp-only .reason-wrap,
  html body .sp_only .reason-wrap{
    gap:16px !important;
    row-gap:16px !important;
  }
  html body .strengths-box.sp_only .reason-wrap > .wp-block-column,
  html body .sp_only .reason-wrap > .wp-block-column{
    margin-top:0 !important;
    margin-bottom:0 !important;
    min-height:0 !important;
  }
  html body .home .strengths-box.sp_only .wp-block-group.contact-cta,
  html body .strengths-box.sp_only .contact-cta,
  html body .strengths-box.sp-only .contact-cta{
    margin-top:8px !important;
    margin-bottom:0 !important;
  }

  html body .profile-row,
  html body .home .wp-block-group.profile-row,
  html body .home .profile-row.wp-block-group,
  html body .wp-block-group.is-row.profile-row{
    align-items:center !important;
    row-gap:28px !important;
    gap:28px !important;
  }
  html body .home .wp-block-group.profile-card,
  html body .home .wp-block-group.achievement-card,
  html body .home .wp-block-group.achievement-card.profile-card,
  html body .home .profile-row > .profile-card,
  html body .home .profile-row > .achievement-card,
  html body .wp-block-group.is-row.profile-card,
  html body .wp-block-group.is-row.profile-card.achievement-card,
  html body .profile-row > .profile-card,
  html body .profile-card,
  html body .profile-card:not(.achievement-card),
  html body .achievement-card.profile-card,
  html body .sp_only .profile-card,
  html body .sp-only .profile-card{
    width:calc(100% - 164px) !important;
    max-width:446px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    padding:28px 28px 36px !important;
    box-sizing:border-box !important;
    flex:none !important;
    flex-grow:0 !important;
    flex-shrink:0 !important;
    flex-basis:auto !important;
    align-self:center !important;
  }
  html body .home .wp-block-group.profile-card:not(.achievement-card),
  html body .profile-card:not(.achievement-card){
    margin-top:12px !important;
    margin-bottom:0 !important;
  }
  html body .home .wp-block-group.achievement-card.profile-card,
  html body .achievement-card.profile-card{
    margin-top:0 !important;
    margin-bottom:24px !important;
  }

  html body .section-heading.sp_only .wp-block-columns > .wp-block-column:has(img.wp-image-2095),
  html body .section-heading.sp-only .wp-block-columns > .wp-block-column:has(img.wp-image-2095),
  html body .home .section-heading.sp_only .wp-block-columns > .wp-block-column:has(img.wp-image-2095){
    width:100% !important;
    max-width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
  }
  html body .home .section-heading.sp_only figure.wp-block-image:has(img.wp-image-2095),
  html body .home .section-heading.sp-only figure.wp-block-image:has(img.wp-image-2095),
  html body .section-heading.sp_only figure.wp-block-image:has(img.wp-image-2095),
  html body .section-heading.sp-only figure.wp-block-image:has(img.wp-image-2095),
  html body .home figure.wp-block-image:has(img.wp-image-2095),
  html body figure.wp-block-image:has(img.wp-image-2095),
  html body figure.wp-block-image.greeting-profile-photo,
  html body .greeting-profile-photo{
    width:63% !important;
    max-width:378px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  html body .home .section-heading.sp_only figure.wp-block-image:has(img.wp-image-2095) img,
  html body .home .wp-block-image img.wp-image-2095,
  html body .section-heading.sp_only img.wp-image-2095,
  html body .section-heading.sp-only img.wp-image-2095,
  html body .greeting-profile-photo img,
  html body figure.wp-block-image:has(img.wp-image-2095) img,
  html body img.wp-image-2095{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    aspect-ratio:792 / 1073 !important;
    object-fit:contain !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  html body .section-heading.sp_only figure.wp-block-image:has(img.wp-image-2095) figcaption,
  html body .section-heading.sp-only figure.wp-block-image:has(img.wp-image-2095) figcaption,
  html body figure.wp-block-image:has(img.wp-image-2095) figcaption,
  html body figure.wp-block-image:has(img.wp-image-2095) .wp-element-caption,
  html body .greeting-profile-photo figcaption,
  html body .greeting-profile-photo .wp-element-caption{
    width:100% !important;
    max-width:100% !important;
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  html body .section-heading.sp_only > .wp-block-group__inner-container > p:first-of-type,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:first-of-type,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:first-of-type#greeting{
    display:block !important;
    position:static !important;
    margin-top:0 !important;
    margin-bottom:18px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    overflow:visible !important;
  }
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:first-of-type .mininote,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:first-of-type .mininote{
    display:none !important;
  }
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:first-of-type .u-fz-xl,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:first-of-type .u-fz-xl,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:first-of-type .u-fz-xl *{
    display:block !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    line-height:1.3 !important;
  }
  /* Stepの p:nth-of-type(2)#greeting が mt12/mb32/lh1.45 で勝っていたのを戻す */
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2).is-style-section_ttl,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:nth-of-type(2).is-style-section_ttl,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2)#greeting.is-style-section_ttl,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:nth-of-type(2)#greeting.is-style-section_ttl,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2)#greeting.is-style-section_ttl.u-mb-20{
    display:block !important;
    position:static !important;
    margin-top:8px !important;
    margin-bottom:24px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    line-height:1.3 !important;
  }
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2)#greeting.is-style-section_ttl *,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:nth-of-type(2)#greeting.is-style-section_ttl *,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2).is-style-section_ttl *,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2).is-style-section_ttl .swl-fz,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2).is-style-section_ttl strong,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2).is-style-section_ttl .swl-inline-color{
    display:inline !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1.3 !important;
  }
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2)#greeting.is-style-section_ttl br,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:nth-of-type(2)#greeting.is-style-section_ttl br,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2) br{
    display:inline !important;
  }
  html body .section-heading.sp_only .wp-block-columns,
  html body .section-heading.sp-only .wp-block-columns{
    display:flex !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    margin-top:0 !important;
    position:relative !important;
  }
  html body .section-heading.sp_only .wp-block-columns > .wp-block-column,
  html body .section-heading.sp-only .wp-block-columns > .wp-block-column{
    width:100% !important;
    max-width:100% !important;
    flex:none !important;
    flex-basis:100% !important;
    position:relative !important;
    left:auto !important;
    transform:none !important;
  }
  html body .section-heading.sp_only .wp-block-columns > .wp-block-column:first-child > p,
  html body .section-heading.sp-only .wp-block-columns > .wp-block-column:first-child > p{
    position:static !important;
    margin-top:0 !important;
    margin-bottom:16px !important;
    line-height:1.9 !important;
  }

  html body .concern-section.sp_only .concern-item,
  html body .concern-section.sp-only .concern-item,
  html body .sp_only .concern-item,
  html body .home .concern-section.sp_only .wp-block-group.concern-item{
    width:100% !important;
    max-width:100% !important;
    padding-left:24px !important;
    padding-right:24px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }
  html body .concern-section.sp_only .concern-item p,
  html body .concern-section.sp-only .concern-item p,
  html body .sp_only .concern-item p,
  html body .concern-item .wp-block-paragraph,
  html body .concern-section.sp_only .concern-bubble,
  html body .concern-item .concern-bubble,
  html body .concern-section.sp_only .concern-item:nth-of-type(3) p,
  html body .concern-section.sp_only .concern-item:nth-of-type(4) p,
  html body .concern-section.sp_only .concern-item:nth-of-type(5) p,
  html body .concern-section.sp-only .concern-item:nth-of-type(4) p,
  html body .concern-item:nth-of-type(3) .wp-block-paragraph,
  html body .concern-item:nth-of-type(4) .wp-block-paragraph,
  html body .concern-item:nth-of-type(5) p{
    position:relative !important;
    display:block !important;
    width:var(--lg-phone-bubble-max) !important;
    max-width:var(--lg-phone-bubble-max) !important;
    min-width:0 !important;
    margin-top:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-bottom:28px !important;
    padding:20px 24px !important;
    background:#fff !important;
    border-radius:24px !important;
    box-shadow:0 12px 28px rgba(20,61,141,.10) !important;
    box-sizing:border-box !important;
    writing-mode:horizontal-tb !important;
    text-align:left !important;
  }
  html body .concern-section.sp_only .concern-item p::after,
  html body .concern-section.sp-only .concern-item p::after,
  html body .sp_only .concern-item p::after,
  html body .concern-item .wp-block-paragraph::after{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    bottom:-18px !important;
    transform:translateX(-50%) !important;
    width:0 !important;
    height:0 !important;
    border-left:12px solid transparent !important;
    border-right:12px solid transparent !important;
    border-top:18px solid #fff !important;
    display:block !important;
  }
  html body .concern-section.sp_only .concern-item figure,
  html body .concern-section.sp-only .concern-item figure,
  html body .sp_only .concern-item figure.wp-block-image,
  html body .concern-item .concern-person,
  html body .concern-item figure.concern-person,
  html body .concern-section.sp_only .concern-item:last-of-type figure.wp-block-image,
  html body .concern-section.sp-only .concern-item:last-of-type figure.wp-block-image,
  html body .concern-section.sp_only .concern-item:last-of-type .concern-person,
  html body .concern-item:last-of-type figure.wp-block-image,
  html body .concern-item:last-of-type figure.concern-person,
  html body .concern-item:last-of-type .concern-person{
    position:relative !important;
    display:flex !important;
    justify-content:center !important;
    margin-top:0 !important;
    transform:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  html body .concern-section.sp_only .concern-item figure,
  html body .concern-section.sp-only .concern-item figure,
  html body .sp_only .concern-item figure.wp-block-image,
  html body .concern-item .concern-person{
    margin-bottom:36px !important;
  }

  html body .home .sp_only .wp-block-group.area-card,
  html body .home .sp_only .wp-block-group.area-cta,
  html body .home .wp-block-group.area-card,
  html body .home .wp-block-group.area-cta,
  html body .sp_only div.wp-block-group.area-card,
  html body .sp_only .area-card,
  html body .sp-only .area-card,
  html body .wp-block-group.area-card,
  html body .sp_only .area-cta,
  html body .sp-only .area-cta,
  html body .wp-block-group.area-cta,
  html body .sp_only .area-cta.area-columns{
    width:calc(100% - 150px) !important;
    max-width:450px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    box-sizing:border-box !important;
    flex:none !important;
    flex-basis:auto !important;
    align-self:center !important;
  }

  html body .home .sp_only .flow-card,
  html body .home .wp-block-group.flow-card,
  html body .home .flow-card:not(.flow-info-card),
  html body .home .flow-card.flow-info-card,
  html body .sp_only .flow-card,
  html body .sp-only .flow-card,
  html body .flow-card:not(.flow-info-card),
  html body .sp_only .flow-card:not(.flow-info-card),
  html body .sp_only .flow-info-card,
  html body .sp-only .flow-info-card,
  html body .flow-card.flow-info-card{
    width:calc(100% - 130px) !important;
    max-width:460px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    box-sizing:border-box !important;
    flex:none !important;
    flex-basis:auto !important;
    align-self:center !important;
  }
  html body .sp_only .flow-card:not(.flow-info-card),
  html body .sp-only .flow-card:not(.flow-info-card),
  html body .flow-card:not(.flow-info-card){
    padding:16px 16px 16px 8px !important;
  }
  html body .flow-card:not(.flow-info-card) .flow-left,
  html body .sp_only .flow-card:not(.flow-info-card) .flow-left,
  html body .sp-only .flow-card:not(.flow-info-card) .flow-left{
    column-gap:0 !important;
  }
  html body .flow-card:not(.flow-info-card) .flow-left > .wp-block-column:nth-child(3),
  html body .sp_only .flow-card:not(.flow-info-card) .flow-left > .wp-block-column:nth-child(3){
    padding-left:0 !important;
    padding-right:0 !important;
  }
  html body .flow-card:not(.flow-info-card) .flow-left > .wp-block-column:nth-child(3) p:last-child,
  html body .sp_only .flow-card:not(.flow-info-card) .flow-left > .wp-block-column:nth-child(3) p:last-child,
  html body .sp-only .flow-card:not(.flow-info-card) .flow-left > .wp-block-column:nth-child(3) p:last-child,
  html body .flow-card:not(.flow-info-card) .flow-text p:last-child{
    overflow-wrap:normal !important;
    word-break:normal !important;
    line-break:strict !important;
  }
  html body .flow-card:not(.flow-info-card) .flow-left > .wp-block-column:nth-child(3) p:last-child br,
  html body .sp_only .flow-card:not(.flow-info-card) .flow-left > .wp-block-column:nth-child(3) p:last-child br,
  html body .flow-card:not(.flow-info-card) .flow-text p:last-child br{
    display:none !important;
  }

  html body .sp_only .wp-block-columns:has(> .price-card),
  html body .sp-only .wp-block-columns:has(> .price-card){
    align-items:center !important;
  }
  html body .home .sp_only .wp-block-columns:not(.flow-left) > .wp-block-column.price-card,
  html body .home .wp-block-column.price-card,
  html body .home .wp-block-group.price-note-card,
  html body .sp_only .price-card,
  html body .sp-only .price-card,
  html body .sp_only .wp-block-columns:not(.flow-left) > .wp-block-column.price-card,
  html body .sp-only .wp-block-columns:not(.flow-left) > .wp-block-column.price-card,
  html body .price-card-light,
  html body .price-card-standard,
  html body .price-card-custom,
  html body .wp-block-group.price-note-card,
  html body .price-note-card{
    width:calc(100% - 120px) !important;
    max-width:480px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    box-sizing:border-box !important;
    flex:none !important;
    flex-grow:0 !important;
    flex-shrink:0 !important;
    flex-basis:auto !important;
    align-self:center !important;
  }

  html body .sp_only .faq-list,
  html body .sp-only .faq-list,
  html body .faq-list.faq-card,
  html body .faq-section.sp_only .faq-list,
  html body .faq-section.sp_only .faq-cta,
  html body .sp_only .faq-cta,
  html body .faq-cta{
    width:var(--lg-phone-card-width) !important;
    max-width:var(--lg-phone-card-max) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }

  html body .sp_only .contact-cta,
  html body .sp-only .contact-cta{
    width:var(--lg-phone-card-width) !important;
    max-width:var(--lg-phone-card-max) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  html body .contact-form-wrap .cf7-submit-wrap,
  html body .contact-form-wrap .cf7-submit-wrap p,
  html body .contact-form-wrap .home-back-btn,
  html body .contact-form-wrap .home-back-btn p{
    display:flex !important;
    justify-content:center !important;
    width:100% !important;
    max-width:300px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }
  html body .contact-form-wrap input[type="submit"],
  html body .contact-form-wrap .wpcf7-submit,
  html body .contact-form-wrap .home-back-btn a{
    width:100% !important;
    max-width:300px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }

  html body .sp_only .company-table,
  html body .sp-only .company-table,
  html body .home .sp_only .company-table,
  html body figure.company-table,
  html body .sp_only figure.company-table{
    width:var(--lg-phone-company-max) !important;
    max-width:var(--lg-phone-company-max) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    box-sizing:border-box !important;
  }
  html body .sp_only .company-table table,
  html body figure.company-table table{
    width:100% !important;
    max-width:100% !important;
    table-layout:auto !important;
  }
  html body .sp_only .company-table td:last-child,
  html body .sp-only .company-table td:last-child,
  html body figure.company-table td:last-child{
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    line-break:strict !important;
  }
  html body .sp_only .company-table tr:last-child td:last-child,
  html body .sp-only .company-table tr:last-child td:last-child,
  html body figure.company-table tr:last-child td:last-child{
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    line-break:strict !important;
    padding-left:14px !important;
    padding-right:36px !important;
  }

  html body .sp_only .contact-form-wrap,
  html body .sp-only .contact-form-wrap,
  html body .home .sp_only .contact-form-wrap,
  html body .wp-block-group.contact-form-wrap,
  html body .sp_only .wp-block-group.contact-form-wrap{
    width:calc(100% - 56px) !important;
    max-width:var(--lg-phone-form-max) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    box-sizing:border-box !important;
  }

  html body .sp_only .price-card ul,
  html body .price-card-light ul,
  html body .price-card-standard ul,
  html body .price-card-custom ul,
  html body .sp_only .price-card .is-style-check_list{
    display:block !important;
    width:fit-content !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    text-align:left !important;
    padding-left:0 !important;
  }
  html body .sp_only .price-card li,
  html body .price-card-light li,
  html body .price-card-standard li,
  html body .price-card-custom li{
    text-align:left !important;
  }

  html body .sp_only .price-card .price-note,
  html body .sp_only .price-card .note-blue,
  html body .price-card-light .price-note,
  html body .price-card-standard .price-note,
  html body .price-card-standard .note-blue,
  html body .price-card-custom .price-note,
  html body .price-card-custom .note-blue,
  html body .price-card-custom .estimate-box,
  html body .sp_only .price-card .price-button,
  html body .sp_only .price-card .standard-price-button,
  html body .price-card-light .price-button,
  html body .price-card-standard .price-button,
  html body .price-card-standard .standard-price-button,
  html body .price-card-custom .price-button{
    width:calc(100% - 48px) !important;
    max-width:var(--lg-phone-price-inner) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    box-sizing:border-box !important;
    align-self:center !important;
  }
  html body .sp_only .price-card .price-button a,
  html body .sp_only .price-card .standard-price-button a,
  html body .price-card-light .price-button a,
  html body .price-card-light .price-button .wp-block-button__link,
  html body .price-card-light .price-button .swell-block-button__link,
  html body .price-card-standard .price-button a,
  html body .price-card-standard .price-button .wp-block-button__link,
  html body .price-card-standard .standard-price-button a,
  html body .price-card-standard .standard-price-button .wp-block-button__link,
  html body .price-card-custom .price-button a,
  html body .price-card-custom .price-button .wp-block-button__link,
  html body .price-card-custom .price-button .swell-block-button__link{
    width:100% !important;
    max-width:var(--lg-phone-price-inner) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }

  html body .sp_only .area-map,
  html body .sp-only .area-map,
  html body .wp-block-group.area-map,
  html body figure.area-map,
  html body .sp_only figure.area-map{
    width:calc((100vw - 32px) * 0.82) !important;
    max-width:calc((100vw - 32px) * 0.82) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    box-sizing:border-box !important;
    height:auto !important;
  }
  html body .sp_only .area-map img,
  html body .sp-only .area-map img,
  html body .area-map img,
  html body .area-map figure,
  html body .area-map .wp-block-image{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    display:block !important;
  }
}

@media (min-width:960px){
  /* Step39 PC：YOUR CONCERNS 基準（英字16px/700、日本語32px/700）
     除外：ヒーロー／GREETING（.section-heading.pc_only）／OUR STRENGTHS */
  html body .section-heading:not(.pc_only):not(.sp-only):not(:has(#greeting)) > .wp-block-group__inner-container > p:first-of-type,
  html body .section-heading:not(.pc_only):not(.sp-only):not(:has(#greeting)) > .wp-block-group__inner-container > p:first-of-type *,
  html body .section-heading:not(.pc_only):not(.sp-only):not(:has(#greeting)) > .wp-block-group__inner-container > p:first-of-type .swl-fz,
  html body .price-header > .wp-block-group__inner-container > p:first-of-type,
  html body .price-header > .wp-block-group__inner-container > p:first-of-type *,
  html body .price-header.section-heading > .wp-block-group__inner-container > p:first-of-type,
  html body .price-header.section-heading > .wp-block-group__inner-container > p:first-of-type *,
  html body .faq-header > .wp-block-group__inner-container > p:first-of-type,
  html body .faq-header > .wp-block-group__inner-container > p:first-of-type *,
  html body .faq-header .section-heading.wp-block-paragraph,
  html body .activity-section > .wp-block-group__inner-container > p:first-of-type,
  html body .activity-section > .wp-block-group__inner-container > p:first-of-type *,
  html body .area-en,
  html body .area-en *,
  html body .concern-section.pc_only > .swell-block-fullWide__inner > .wp-block-group > .wp-block-group__inner-container > p:first-of-type,
  html body .concern-section.pc_only > .swell-block-fullWide__inner > .wp-block-group > .wp-block-group__inner-container > p:first-of-type *{
    font-size:16px !important;
    font-weight:700 !important;
    letter-spacing:normal !important;
  }
  html body .concern-section.pc_only .concern-bubble,
  html body .concern-section.pc_only .concern-bubble p,
  html body .concern-section.pc_only .concern-bubble p *{
    font-weight:400 !important;
  }
  html body .section-heading:not(.pc_only):not(.sp-only):not(:has(#greeting)) > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .section-heading:not(.pc_only):not(.sp-only):not(:has(#greeting)) > .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body .section-heading:not(.pc_only):not(.sp-only):not(:has(#greeting)) > .wp-block-group__inner-container > p:nth-of-type(2) .swl-fz,
  html body .section-heading:not(.pc_only):not(.sp-only):not(:has(#greeting)) > .wp-block-group__inner-container > p:nth-of-type(2) .u-fz-xl,
  html body .price-header > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .price-header > .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body .price-header.section-heading > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .price-header.section-heading > .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body .faq-header > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .faq-header > .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body .activity-section > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .activity-section > .wp-block-group__inner-container > p:nth-of-type(2) *,
  html body .area-ja,
  html body .area-ja *,
  html body .concern-section.pc_only .is-style-section_ttl .u-fz-xl,
  html body .concern-section.pc_only .is-style-section_ttl strong{
    font-size:32px !important;
    font-weight:700 !important;
  }

  /* Step40 PC：説明文を料金プラン基準に統一（GREETING／STRENGTHS除外） */
  html body .section-heading:not(.pc_only):not(.sp-only):not(:has(#greeting)) > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .price-header > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .faq-header > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .activity-section > .wp-block-group__inner-container > p:nth-of-type(2),
  html body #service > .wp-block-group__inner-container > p:nth-of-type(2){
    margin-bottom:22px !important;
  }
  html body .section-heading:not(.pc_only):not(.sp-only):not(:has(#greeting)) > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .section-heading:not(.pc_only):not(.sp-only):not(:has(#greeting)) > .wp-block-group__inner-container > p:nth-of-type(3) *,
  html body .price-header > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .price-header > .wp-block-group__inner-container > p:nth-of-type(3) *,
  html body .faq-header > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .faq-header > .wp-block-group__inner-container > p:nth-of-type(3) *,
  html body .activity-section > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .activity-section > .wp-block-group__inner-container > p:nth-of-type(3) *,
  html body #service > .wp-block-group__inner-container > p:nth-of-type(3),
  html body #service > .wp-block-group__inner-container > p:nth-of-type(3) *{
    font-size:15px !important;
    font-weight:700 !important;
    line-height:1.9 !important;
    letter-spacing:.02em !important;
  }

  /* Step41 PC：説明文700／COMPANY英字の字間のみ */
  html body .section-heading:not(.pc_only):not(.sp-only):not(:has(#greeting)) > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .section-heading:not(.pc_only):not(.sp-only):not(:has(#greeting)) > .wp-block-group__inner-container > p:nth-of-type(3) *,
  html body .price-header > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .price-header > .wp-block-group__inner-container > p:nth-of-type(3) *,
  html body .faq-header > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .faq-header > .wp-block-group__inner-container > p:nth-of-type(3) *,
  html body .faq-header p:nth-of-type(3),
  html body .faq-header p:nth-of-type(3) *,
  html body .activity-section > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .activity-section > .wp-block-group__inner-container > p:nth-of-type(3) *,
  html body #service > .wp-block-group__inner-container > p:nth-of-type(3),
  html body #service > .wp-block-group__inner-container > p:nth-of-type(3) *{
    font-weight:700 !important;
  }
  html body .pc_only:has(.company-table) > .wp-block-group__inner-container > p:first-of-type .swl-fz:first-of-type,
  html body .pc_only:has(.company-table) > .wp-block-group__inner-container > p:first-of-type .swl-fz:first-of-type *,
  html body .wp-block-group.pc_only:has(figure.company-table) > .wp-block-group__inner-container > p:first-of-type .swl-fz:first-of-type,
  html body .wp-block-group.pc_only:has(figure.company-table) > .wp-block-group__inner-container > p:first-of-type .swl-fz:first-of-type *{
    letter-spacing:.06em !important;
  }

  /* Step42 PC：JOURNAL余白を一段階／FLOW補足も50:50（字・アイコンサイズは維持） */
  html body .wp-block-group.activity-section,
  html body .activity-section,
  html body .swell-block-fullWide:has(.activity-section),
  html body .pc_only .activity-section,
  html body .pc-only .activity-section{
    padding-top:56px !important;
  }
  html body .swell-block-fullWide:has(.activity-section) .activity-section{
    padding-top:0 !important;
  }
  html body .activity-section > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .wp-block-group.activity-section > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .pc_only .activity-section > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .pc-only .activity-section > .wp-block-group__inner-container > p:nth-of-type(3){
    margin-bottom:40px !important;
  }
  html body .flow-info-card .wp-block-columns,
  html body .flow-card.flow-info-card .wp-block-columns,
  html body .pc_only .flow-info-card .wp-block-columns,
  html body .pc-only .flow-info-card .wp-block-columns{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:100% !important;
    max-width:100% !important;
    gap:0 !important;
    column-gap:0 !important;
    grid-template-columns:none !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column:not(.flow-info-divider),
  html body .pc_only .flow-info-card .wp-block-columns > .wp-block-column:not(.flow-info-divider),
  html body .pc-only .flow-info-card .wp-block-columns > .wp-block-column:not(.flow-info-divider){
    min-width:0 !important;
    box-sizing:border-box !important;
    flex:1 1 0 !important;
    width:auto !important;
    max-width:none !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    grid-template-columns:none !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column:first-child:not(.flow-info-divider),
  html body .pc_only .flow-info-card .wp-block-columns > .wp-block-column:first-child:not(.flow-info-divider){
    padding:0 32px 0 20px !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column:last-child,
  html body .pc_only .flow-info-card .wp-block-columns > .wp-block-column:last-child,
  html body .pc-only .flow-info-card .wp-block-columns > .wp-block-column:last-child{
    padding:0 20px 0 32px !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column.flow-info-divider,
  html body .pc_only .flow-info-card .wp-block-columns > .wp-block-column.flow-info-divider,
  html body .pc-only .flow-info-card .wp-block-columns > .wp-block-column.flow-info-divider{
    flex:0 0 1px !important;
    width:1px !important;
    max-width:1px !important;
    min-width:1px !important;
    margin:0 !important;
    padding:0 !important;
    border-right:none !important;
    background:#d7e4fb !important;
    grid-template-columns:none !important;
  }
  html body .flow-info-card .flow-info-item,
  html body .flow-info-card .wp-block-media-text,
  html body .pc_only .flow-info-card .flow-info-item,
  html body .pc-only .flow-info-card .flow-info-item{
    display:grid !important;
    grid-template-columns:64px minmax(0,1fr) !important;
    column-gap:28px !important;
    align-items:center !important;
    justify-content:start !important;
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
  }
  html body .flow-info-card .flow-info-item .wp-block-media-text__content,
  html body .pc_only .flow-info-card .flow-info-item .wp-block-media-text__content,
  html body .flow-info-card .wp-block-media-text__content{
    max-width:none !important;
    width:auto !important;
    min-width:0 !important;
    padding:0 !important;
  }
  html body .flow-info-card .flow-info-item p,
  html body .pc_only .flow-info-card .flow-info-item p,
  html body .flow-info-card .wp-block-media-text__content p{
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
  }

  /* Step43 PC：JOURNAL余白をもう一段／補足カード改行／PRICE上余白を3分の2へ */
  html body .wp-block-group.activity-section,
  html body .activity-section,
  html body .swell-block-fullWide:has(.activity-section),
  html body .swell-block-fullWide.activity-section,
  html body .pc_only .activity-section,
  html body .pc-only .activity-section,
  html body .pc_only:has(.activity-section),
  html body .pc-only:has(.activity-section){
    padding-top:88px !important;
    margin-top:0 !important;
  }
  html body .swell-block-fullWide:has(.activity-section) .activity-section,
  html body .pc_only:has(.activity-section) .activity-section{
    padding-top:0 !important;
  }
  html body .activity-section > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .wp-block-group.activity-section > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .pc_only .activity-section > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .pc-only .activity-section > .wp-block-group__inner-container > p:nth-of-type(3){
    margin-bottom:52px !important;
  }
  html body .swell-block-fullWide:has(.price-header),
  html body .swell-block-fullWide:has(> .wp-block-group__inner-container .price-header),
  html body .price-section,
  html body .swell-block-fullWide.price-section,
  html body .pc_only:has(.price-header),
  html body .pc-only:has(.price-header),
  html body .swell-block-fullWide.pc-py-60:has(.price-header){
    padding-top:40px !important;
  }

  /* Step44 PC：JOURNAL余白が当たっていなかったので、実DOM直指定で確保 */
  html body .post_content > .wp-block-group.activity-section,
  html body .post_content > .activity-section{
    padding-top:80px !important;
    margin-top:16px !important;
  }
  html body .post_content > .wp-block-group.activity-section > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .post_content > .activity-section > .wp-block-group__inner-container > p:nth-of-type(3){
    margin-bottom:24px !important;
  }
  html body .post_content > .wp-block-group.activity-section .p-postListWrap,
  html body .post_content > .wp-block-group.activity-section .activity-post-list,
  html body .post_content > .activity-section .activity-post-list{
    margin-top:56px !important;
  }
}

/* =========================================================
   Step46：タブレット専用（768px〜1024px）
   既存のスマホ（〜767px）・PC（1025px〜）は変更しない。
   この区画より前の SP/PC ルールは残し、ここでのみ上書きする。
========================================================= */

/* A. 768-959px：SPのHTML（.sp_only）が見えている幅 */
@media (min-width:768px) and (max-width:959px){
  html{
    --tablet-card-max:480px;
    --tablet-btn-max:320px;
    --tablet-area-max:480px;
    --tablet-flow-max:424px;
    --tablet-price-max:448px;
    --tablet-price-inner:308px;
    --tablet-faq-max:480px;
    --tablet-form-max:604px;
    --tablet-company-max:512px;
    --tablet-card-gap:16px;
    --tablet-bubble-max:500px;
  }

  html body #header .l-header__inner,
  html body #header .c-headLogo,
  html body #header .l-header__logo,
  html body .c-headLogo{
    min-height:80px !important;
  }
  html body #header .c-headLogo,
  html body #header .l-header__logo,
  html body .c-headLogo{
    display:flex !important;
    align-items:center !important;
  }
  html body #header .c-headLogo img,
  html body #header .c-headLogo__img,
  html body .l-header__logo img,
  html body .c-headLogo img,
  html body #header .c-headLogo.-img img{
    max-height:46px !important;
    height:auto !important;
    width:auto !important;
    display:block !important;
  }

  html body .wp-block-cover.hero-copy .wp-block-cover__inner-container,
  html body .home .wp-block-cover.hero-copy .wp-block-cover__inner-container{
    left:40px !important;
    padding-left:0 !important;
    margin-left:0 !important;
    text-align:left !important;
  }
  html body .hero-eyebrow,
  html body .wp-block-cover.hero-copy .hero-eyebrow,
  html body .hero-main-text,
  html body .wp-block-cover.hero-copy .hero-main-text,
  html body .hero-sub-text,
  html body .wp-block-cover.hero-copy .hero-sub-text,
  html body .hero-copy .hero-sub-text.wp-block-paragraph{
    left:0 !important;
    margin-left:0 !important;
    padding-left:0 !important;
    text-align:left !important;
    box-sizing:border-box !important;
  }

  html body .section-heading.sp_only,
  html body .section-heading.sp-only,
  html body .wp-block-group.section-heading.sp_only,
  html body .home .section-heading.sp_only{
    padding-left:12px !important;
    padding-right:12px !important;
    box-sizing:border-box !important;
  }
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:first-of-type,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:first-of-type,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:first-of-type#greeting{
    display:block !important;
    position:static !important;
    line-height:1.4 !important;
    margin-top:0 !important;
    margin-bottom:16px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    overflow:visible !important;
  }
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:first-of-type .mininote,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:first-of-type .mininote{
    display:none !important;
  }
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:first-of-type .u-fz-xl,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:first-of-type .u-fz-xl,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:first-of-type .u-fz-xl *{
    display:block !important;
    margin-top:10px !important;
    margin-bottom:0 !important;
    line-height:1.35 !important;
  }
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:nth-of-type(2),
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2).is-style-section_ttl,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:nth-of-type(2).is-style-section_ttl,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2)#greeting.is-style-section_ttl,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:nth-of-type(2)#greeting.is-style-section_ttl,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2)#greeting.is-style-section_ttl.u-mb-20,
  html body .section-heading.sp_only:has(#greeting) > .wp-block-group__inner-container > p:nth-of-type(2)#greeting{
    display:block !important;
    position:static !important;
    top:auto !important;
    z-index:auto !important;
    margin-top:8px !important;
    margin-bottom:0 !important;
    padding-top:0 !important;
    padding-bottom:84px !important;
    line-height:1.45 !important;
    overflow:visible !important;
    height:auto !important;
  }
  html body .home .section-heading.sp_only:has(#greeting) > .wp-block-group__inner-container > p:nth-of-type(2)#greeting.is-style-section_ttl,
  html body .home .section-heading.sp_only:has(#greeting) > .wp-block-group__inner-container > p:nth-of-type(2)#greeting.is-style-section_ttl.u-mb-20,
  html body .section-heading.sp_only:has(#greeting) > .wp-block-group__inner-container > p:nth-of-type(2)#greeting.is-style-section_ttl.u-mb-20{
    margin-bottom:0 !important;
    padding-bottom:84px !important;
  }
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2)#greeting.is-style-section_ttl *,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:nth-of-type(2)#greeting.is-style-section_ttl *,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2).is-style-section_ttl *,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2).is-style-section_ttl .swl-fz,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2).is-style-section_ttl strong,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2).is-style-section_ttl .swl-inline-color{
    display:inline !important;
    position:static !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1.45 !important;
  }
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2)#greeting.is-style-section_ttl > .swl-inline-color,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:nth-of-type(2)#greeting.is-style-section_ttl > .swl-inline-color,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2).is-style-section_ttl > .swl-inline-color,
  html body .section-heading.sp_only:has(#greeting) > .wp-block-group__inner-container > p:nth-of-type(2)#greeting > .swl-inline-color{
    display:block !important;
    margin:0 auto !important;
    line-height:1.45 !important;
  }
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2)#greeting.is-style-section_ttl br,
  html body .section-heading.sp-only > .wp-block-group__inner-container > p:nth-of-type(2)#greeting.is-style-section_ttl br,
  html body .section-heading.sp_only > .wp-block-group__inner-container > p:nth-of-type(2) br{
    display:none !important;
  }
  html body .section-heading.sp_only .wp-block-columns,
  html body .section-heading.sp-only .wp-block-columns,
  html body .section-heading.sp_only:has(#greeting) .wp-block-columns{
    display:flex !important;
    flex-direction:column !important;
    margin-top:8px !important;
    margin-bottom:0 !important;
    padding-top:0 !important;
    position:relative !important;
    top:auto !important;
  }
  html body .section-heading.sp_only .wp-block-columns > .wp-block-column,
  html body .section-heading.sp-only .wp-block-columns > .wp-block-column{
    width:100% !important;
    max-width:100% !important;
    flex:none !important;
    flex-basis:100% !important;
    position:relative !important;
  }
  html body .section-heading.sp_only .wp-block-columns > .wp-block-column:first-child > p,
  html body .section-heading.sp-only .wp-block-columns > .wp-block-column:first-child > p,
  html body .section-heading.sp_only:has(#greeting) .wp-block-columns > .wp-block-column:first-child > p{
    position:static !important;
    top:auto !important;
    margin-top:0 !important;
    margin-bottom:16px !important;
    line-height:1.9 !important;
  }

  html body .home .section-heading.sp_only figure.wp-block-image:has(img.wp-image-2095),
  html body .home .section-heading.sp-only figure.wp-block-image:has(img.wp-image-2095),
  html body .section-heading.sp_only figure.wp-block-image:has(img.wp-image-2095),
  html body .section-heading.sp-only figure.wp-block-image:has(img.wp-image-2095),
  html body .home figure.wp-block-image:has(img.wp-image-2095),
  html body figure.wp-block-image:has(img.wp-image-2095),
  html body figure.wp-block-image.greeting-profile-photo,
  html body .greeting-profile-photo{
    display:block !important;
    width:464px !important;
    max-width:72% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
  }
  html body .home .section-heading.sp_only figure.wp-block-image:has(img.wp-image-2095) img,
  html body .home .wp-block-image img.wp-image-2095,
  html body .section-heading.sp_only img.wp-image-2095,
  html body .section-heading.sp-only img.wp-image-2095,
  html body .greeting-profile-photo img,
  html body figure.wp-block-image:has(img.wp-image-2095) img,
  html body img.wp-image-2095{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    aspect-ratio:792 / 1073 !important;
    object-fit:contain !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  html body .section-heading.sp_only figure.wp-block-image:has(img.wp-image-2095) figcaption,
  html body .section-heading.sp-only figure.wp-block-image:has(img.wp-image-2095) figcaption,
  html body figure.wp-block-image:has(img.wp-image-2095) figcaption,
  html body figure.wp-block-image:has(img.wp-image-2095) .wp-element-caption,
  html body .greeting-profile-photo figcaption,
  html body .greeting-profile-photo .wp-element-caption{
    width:100% !important;
    max-width:100% !important;
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* カード類：共通（SUPPORT／AREA／FLOW／PRICE／FAQ CTAは下で個別） */
  html body .profile-row,
  html body .home .wp-block-group.profile-row,
  html body .home .profile-row.wp-block-group,
  html body .wp-block-group.is-row.profile-row{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    width:100% !important;
    max-width:100% !important;
    row-gap:16px !important;
    gap:16px !important;
  }
  html body .profile-row > .profile-card,
  html body .profile-card,
  html body .profile-card:not(.achievement-card),
  html body .achievement-card.profile-card,
  html body .home .wp-block-group.profile-card,
  html body .home .wp-block-group.achievement-card{
    width:480px !important;
    max-width:480px !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:24px 24px 16px 28px !important;
    box-sizing:border-box !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    float:none !important;
    flex:none !important;
    flex-grow:0 !important;
    flex-shrink:0 !important;
    flex-basis:auto !important;
    align-self:center !important;
    height:auto !important;
    min-height:0 !important;
  }
  html body .home .wp-block-group.profile-card:not(.achievement-card),
  html body .profile-card:not(.achievement-card){
    margin-top:12px !important;
    margin-bottom:0 !important;
  }
  html body .home .wp-block-group.achievement-card.profile-card,
  html body .achievement-card.profile-card{
    margin-top:0 !important;
    margin-bottom:16px !important;
    height:auto !important;
    min-height:0 !important;
  }
  html body .reason-wrap .reason-card,
  html body .sp_only .reason-card,
  html body .sp-only .reason-card,
  html body .reason-card,
  html body .home .sp_only .wp-block-group.reason-card,
  html body .home .strengths-box.sp_only .wp-block-group.contact-cta,
  html body .strengths-box.sp_only .contact-cta,
  html body .strengths-box.sp-only .contact-cta,
  html body .sp_only .strengths-cta,
  html body .strengths-cta{
    width:var(--tablet-card-max) !important;
    max-width:var(--tablet-card-max) !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    float:none !important;
    flex:none !important;
    flex-grow:0 !important;
    flex-shrink:0 !important;
    flex-basis:auto !important;
    align-self:center !important;
    height:auto !important;
    min-height:0 !important;
  }
  html body .sp_only .reason-card,
  html body .sp-only .reason-card,
  html body .reason-wrap .reason-card,
  html body .home .sp_only .wp-block-group.reason-card{
    padding:24px 28px 16px !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    height:auto !important;
    min-height:0 !important;
  }
  html body .sp_only .reason-card .wp-block-media-text,
  html body .reason-wrap .reason-card .wp-block-media-text{
    height:auto !important;
    min-height:0 !important;
    align-items:flex-start !important;
  }
  html body .sp_only .reason-card .wp-block-media-text__content p,
  html body .reason-card .wp-block-media-text__content p{
    min-height:0 !important;
    margin-bottom:8px !important;
  }
  html body .sp_only .reason-wrap,
  html body .strengths-box.sp_only .reason-wrap,
  html body .strengths-box.sp-only .reason-wrap{
    display:flex !important;
    flex-direction:column !important;
    gap:var(--tablet-card-gap) !important;
    row-gap:var(--tablet-card-gap) !important;
  }
  html body .sp_only .reason-wrap > .wp-block-column,
  html body .strengths-box.sp_only .reason-wrap > .wp-block-column{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    gap:var(--tablet-card-gap) !important;
    margin:0 !important;
  }
  html body .strengths-box.sp_only .contact-cta,
  html body .strengths-box.sp-only .contact-cta,
  html body .home .strengths-box.sp_only .wp-block-group.contact-cta{
    margin-top:var(--tablet-card-gap) !important;
    margin-bottom:0 !important;
  }

  html body .concern-section.sp_only .concern-item,
  html body .concern-section.sp-only .concern-item,
  html body .sp_only .concern-item,
  html body .home .concern-section.sp_only .wp-block-group.concern-item{
    width:100% !important;
    max-width:100% !important;
    padding-left:32px !important;
    padding-right:32px !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }
  html body .concern-section.sp_only .concern-item p,
  html body .concern-section.sp-only .concern-item p,
  html body .sp_only .concern-item p,
  html body .home .concern-section.sp_only .concern-item p,
  html body .concern-item .wp-block-paragraph,
  html body .concern-section.sp_only .concern-bubble,
  html body .concern-item .concern-bubble{
    position:relative !important;
    display:block !important;
    width:var(--tablet-bubble-max) !important;
    max-width:var(--tablet-bubble-max) !important;
    min-width:var(--tablet-bubble-max) !important;
    margin-top:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    margin-bottom:24px !important;
    padding:18px 24px !important;
    background:#fff !important;
    border-radius:24px !important;
    box-shadow:0 12px 28px rgba(20,61,141,.10) !important;
    box-sizing:border-box !important;
    writing-mode:horizontal-tb !important;
    text-align:left !important;
    white-space:normal !important;
  }
  html body .concern-section.sp_only .concern-item.concern-left p,
  html body .concern-section.sp-only .concern-item.concern-left p,
  html body .concern-item.concern-left .wp-block-paragraph,
  html body .home .concern-section.sp_only .concern-item:nth-of-type(2) p,
  html body .home .concern-section.sp_only .concern-item:nth-of-type(4) p{
    width:var(--tablet-bubble-max) !important;
    max-width:var(--tablet-bubble-max) !important;
    min-width:var(--tablet-bubble-max) !important;
    white-space:nowrap !important;
  }
  html body .concern-section.sp_only .concern-item p::after,
  html body .concern-section.sp-only .concern-item p::after,
  html body .sp_only .concern-item p::after,
  html body .concern-item .wp-block-paragraph::after{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    bottom:-16px !important;
    transform:translateX(-50%) !important;
    width:0 !important;
    height:0 !important;
    border-left:12px solid transparent !important;
    border-right:12px solid transparent !important;
    border-top:16px solid #fff !important;
    display:block !important;
  }
  html body .concern-section.sp_only .concern-item figure,
  html body .concern-section.sp-only .concern-item figure,
  html body .sp_only .concern-item figure.wp-block-image,
  html body .concern-item .concern-person,
  html body .concern-item figure.concern-person,
  html body .concern-section.sp_only .concern-item:last-of-type figure.wp-block-image,
  html body .concern-section.sp-only .concern-item:last-of-type figure.wp-block-image,
  html body .concern-section.sp_only .concern-item:last-of-type .concern-person,
  html body .concern-item:last-of-type figure.wp-block-image,
  html body .concern-item:last-of-type figure.concern-person,
  html body .concern-item:last-of-type .concern-person{
    position:relative !important;
    display:flex !important;
    justify-content:center !important;
    margin-top:0 !important;
    transform:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  html body .concern-section.sp_only .concern-item figure,
  html body .concern-section.sp-only .concern-item figure,
  html body .sp_only .concern-item figure.wp-block-image,
  html body .concern-item .concern-person,
  html body .concern-section.sp_only .concern-item:last-of-type figure.wp-block-image,
  html body .concern-section.sp-only .concern-item:last-of-type figure.wp-block-image,
  html body .concern-section.sp_only .concern-item:last-of-type .concern-person,
  html body .concern-item:last-of-type figure.wp-block-image,
  html body .concern-item:last-of-type figure.concern-person,
  html body .concern-item:last-of-type .concern-person{
    margin-bottom:36px !important;
  }
  html body .concern-arrow,
  html body .sp_only .concern-arrow,
  html body .concern-section .concern-arrow{
    margin-top:0 !important;
    margin-bottom:8px !important;
    transform:translateY(-32px) !important;
  }
  html body .strengths-box.sp_only,
  html body .strengths-box.sp-only,
  html body .home .strengths-box.sp_only{
    padding-top:0 !important;
    margin-top:-8px !important;
  }
  html body .strengths-box.sp_only .section-heading,
  html body .strengths-box.sp-only .section-heading,
  html body .home .strengths-box.sp_only .section-heading{
    margin-top:0 !important;
    padding-top:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }
  html body .strengths-box.sp_only .section-heading > .wp-block-group__inner-container > p:first-of-type,
  html body .strengths-box.sp-only .section-heading > .wp-block-group__inner-container > p:first-of-type{
    margin-top:0 !important;
    padding-top:0 !important;
  }

  /* SUPPORT：説明文下の余白、カード内アイコン位置の統一、下余白の削減 */
  html body #service > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .home #service > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .sp_only #service > .wp-block-group__inner-container > p:nth-of-type(3),
  html body .sp-only #service > .wp-block-group__inner-container > p:nth-of-type(3),
  html body #service > .wp-block-group__inner-container > p:nth-of-type(3).u-mb-ctrl,
  html body #service > .wp-block-group__inner-container > p:nth-of-type(3).u-mb-25{
    margin-top:0 !important;
    margin-bottom:24px !important;
    padding-bottom:0 !important;
  }
  html body .sp_only .service-wrap,
  html body .sp-only .service-wrap,
  html body .home .sp_only .service-wrap,
  html body.home .sp_only .service-wrap,
  html body .service-wrap,
  html body .service-wrap > .wp-block-column{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    left:0 !important;
    right:auto !important;
    transform:none !important;
    float:none !important;
    position:relative !important;
    gap:var(--tablet-card-gap) !important;
    row-gap:var(--tablet-card-gap) !important;
  }
  html body .sp_only .wp-block-columns:not(.flow-left) > .wp-block-column.service-card,
  html body .sp-only .wp-block-columns:not(.flow-left) > .wp-block-column.service-card,
  html body .sp_only .service-wrap .service-card,
  html body .sp-only .service-wrap .service-card,
  html body .home .sp_only .service-wrap .service-card,
  html body.home .sp_only .service-wrap .service-card,
  html body .service-wrap .service-card,
  html body .sp_only .service-card,
  html body .sp-only .service-card{
    position:relative !important;
    left:0 !important;
    right:auto !important;
    transform:none !important;
    width:var(--tablet-card-max) !important;
    max-width:var(--tablet-card-max) !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:16px 18px 12px !important;
    float:none !important;
    flex:none !important;
    flex-basis:auto !important;
    box-sizing:border-box !important;
    height:auto !important;
    min-height:0 !important;
    margin-inline:auto !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
  }
  html body .sp_only .service-card .wp-block-media-text,
  html body .sp-only .service-card .wp-block-media-text,
  html body .service-wrap .service-card .wp-block-media-text,
  html body .sp_only .service-card .wp-block-media-text.is-stacked-on-mobile{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    grid-template-columns:none !important;
    grid-template-rows:none !important;
    column-gap:0 !important;
    gap:8px !important;
    height:auto !important;
    min-height:0 !important;
    align-content:start !important;
  }
  html body .sp_only .service-card .wp-block-media-text__media,
  html body .sp-only .service-card .wp-block-media-text__media,
  html body .service-wrap .service-card .wp-block-media-text__media{
    order:-1 !important;
    width:auto !important;
    max-width:100% !important;
    margin:0 auto 0 !important;
    align-self:center !important;
    justify-self:center !important;
  }
  html body .sp_only .service-card .wp-block-media-text__content,
  html body .sp-only .service-card .wp-block-media-text__content,
  html body .service-wrap .service-card .wp-block-media-text__content{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    text-align:left !important;
  }
  html body .sp_only .service-card .wp-block-media-text__content p,
  html body .sp-only .service-card .wp-block-media-text__content p,
  html body .service-wrap .service-card .wp-block-media-text__content p{
    width:100% !important;
    max-width:100% !important;
  }

  /* SUPPORT下CTA：アイコン→文章→ボタンの中央揃え縦並び */
  html body #service .contact-cta,
  html body .sp_only .contact-cta,
  html body .sp-only .contact-cta,
  html body .home .sp_only .wp-block-group.contact-cta{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    width:var(--tablet-card-max) !important;
    max-width:var(--tablet-card-max) !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:20px 24px !important;
    box-sizing:border-box !important;
    height:auto !important;
    min-height:0 !important;
    gap:8px !important;
    margin-top:var(--tablet-card-gap) !important;
  }
  html body .strengths-box.sp_only .contact-cta,
  html body .strengths-box.sp-only .contact-cta,
  html body .home .strengths-box.sp_only .wp-block-group.contact-cta{
    width:var(--tablet-card-max) !important;
    max-width:var(--tablet-card-max) !important;
    flex-basis:auto !important;
  }
  html body #service .contact-cta > .wp-block-group__inner-container,
  html body .sp_only .contact-cta > .wp-block-group__inner-container,
  html body .sp_only .contact-cta .wp-block-columns,
  html body .sp_only .contact-cta .wp-block-column,
  html body .sp_only .contact-cta .contact-cta-left,
  html body .sp_only .contact-cta .is-layout-flex,
  html body .sp_only .contact-cta .is-row,
  html body .sp-only .contact-cta .wp-block-columns,
  html body .sp-only .contact-cta .contact-cta-left{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    max-width:100% !important;
    flex:none !important;
    flex-basis:auto !important;
    gap:6px !important;
    height:auto !important;
    min-height:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:center !important;
  }
  html body .sp_only .contact-cta-left figure,
  html body .sp-only .contact-cta-left figure,
  html body .sp_only .contact-cta-left .wp-block-image,
  html body .sp_only .contact-cta figure.wp-block-image{
    width:72px !important;
    margin:0 auto 4px !important;
    align-self:center !important;
  }
  html body .sp_only .contact-cta p,
  html body .sp-only .contact-cta p,
  html body .sp_only .contact-cta-sub,
  html body .sp_only .contact-cta-main,
  html body .sp-only .contact-cta-sub,
  html body .sp-only .contact-cta-main{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }
  html body .sp_only .contact-cta-divider,
  html body .sp-only .contact-cta-divider{
    display:none !important;
  }
  html body .sp_only .contact-cta-button,
  html body .sp-only .contact-cta-button,
  html body .sp_only .contact-cta .wp-block-buttons,
  html body .sp-only .contact-cta .wp-block-buttons{
    display:flex !important;
    justify-content:center !important;
    width:100% !important;
    max-width:100% !important;
    margin:8px auto 0 !important;
  }

  /* 対応エリア：アクセスカードとCTAを同じpx幅・中央に（親幅の差を吸収） */
  html body .sp_only div.wp-block-group.area-card,
  html body .sp-only div.wp-block-group.area-card,
  html body .sp_only .area-card,
  html body .sp-only .area-card,
  html body .home .sp_only .area-card,
  html body.home .sp_only .area-card,
  html body .sp_only .area-cta,
  html body .sp-only .area-cta,
  html body .home .sp_only .area-cta,
  html body.home .sp_only .area-cta,
  html body .sp_only .area-cta.area-columns,
  html body .area-cta.area-columns{
    width:var(--tablet-area-max) !important;
    max-width:var(--tablet-area-max) !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    box-sizing:border-box !important;
    left:auto !important;
    transform:none !important;
    flex:none !important;
    flex-basis:auto !important;
    align-self:center !important;
    height:auto !important;
    min-height:0 !important;
  }
  html body .sp_only .area-cta,
  html body .sp-only .area-cta,
  html body .home .sp_only .area-cta,
  html body .wp-block-group.area-cta,
  html body .sp_only .area-cta.area-columns,
  html body .area-cta.area-columns,
  html body .area-cta.is-row,
  html body .area-cta.is-layout-flex,
  html body .area-cta.is-nowrap{
    display:flex !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    gap:12px !important;
    grid-template-columns:none !important;
  }
  html body .sp_only .area-cta > .wp-block-group__inner-container,
  html body .sp_only .area-cta .wp-block-columns,
  html body .sp_only .area-cta .wp-block-column,
  html body .sp_only .area-cta .is-layout-flex,
  html body .sp_only .area-cta .is-row,
  html body .area-cta.area-columns .wp-block-columns,
  html body .area-cta.area-columns .wp-block-column{
    display:flex !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    max-width:100% !important;
    flex:none !important;
    flex-basis:auto !important;
    text-align:center !important;
    gap:8px !important;
  }
  html body .sp_only .area-cta figure,
  html body .sp-only .area-cta figure,
  html body .area-cta .wp-block-image{
    margin:0 auto 0 !important;
    text-align:center !important;
    align-self:center !important;
  }
  html body .sp_only .area-cta p,
  html body .sp-only .area-cta p,
  html body .home .sp_only .area-cta p,
  html body .area-cta p.wp-block-paragraph{
    text-align:center !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  html body .sp_only .area-cta .area-divider,
  html body .sp-only .area-cta .area-divider,
  html body .home .sp_only .area-cta .area-divider,
  html body .area-cta .area-divider,
  html body .sp_only .area-cta .area-divider .wp-block-group__inner-container,
  html body .sp_only .area-cta .area-divider p,
  html body .area-cta .area-divider p{
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    line-height:0 !important;
    font-size:0 !important;
    border:none !important;
  }
  html body .sp_only .area-cta .wp-block-buttons,
  html body .sp-only .area-cta .wp-block-buttons,
  html body .area-cta .wp-block-button,
  html body .home .sp_only .area-cta .wp-block-buttons,
  html body .sp_only .area-cta .swell-block-button,
  html body .sp_only .area-cta .area-contact-btn,
  html body .area-cta .area-contact-btn{
    display:flex !important;
    justify-content:center !important;
    width:100% !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    margin-block-start:0 !important;
    margin-block-end:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  html body .sp_only .area-map,
  html body .sp-only .area-map,
  html body .wp-block-group.area-map,
  html body figure.area-map{
    width:calc((100vw - 48px) * 0.81) !important;
    max-width:calc((100vw - 48px) * 0.81) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    box-sizing:border-box !important;
    height:auto !important;
  }
  html body .sp_only .area-map img,
  html body .sp-only .area-map img,
  html body .area-map img,
  html body .area-map figure,
  html body .area-map .wp-block-image{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    display:block !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* FLOW：01〜05＋補足。max-width:none / calc(100% + 20px) を打ち消す */
  html body .sp_only .flow-card,
  html body .sp-only .flow-card,
  html body .home .sp_only .flow-card,
  html body.home .sp_only .flow-card,
  html body .flow-card:not(.flow-info-card),
  html body .sp_only .flow-card:not(.flow-info-card),
  html body .sp_only .flow-info-card,
  html body .sp-only .flow-info-card,
  html body .flow-card.flow-info-card,
  html body .sp_only .flow-card.flow-info-card,
  html body .home .flow-card.flow-info-card,
  html body.home .sp_only .flow-card.flow-info-card{
    width:var(--tablet-flow-max) !important;
    max-width:var(--tablet-flow-max) !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
    left:auto !important;
    transform:none !important;
    flex:none !important;
    flex-basis:auto !important;
  }
  html body .sp_only .flow-card:not(.flow-info-card),
  html body .sp-only .flow-card:not(.flow-info-card),
  html body .flow-card:not(.flow-info-card){
    padding:16px 6px 16px 8px !important;
  }
  html body .flow-card:not(.flow-info-card) .flow-left,
  html body .sp_only .flow-card:not(.flow-info-card) .flow-left,
  html body .sp-only .flow-card:not(.flow-info-card) .flow-left{
    column-gap:2px !important;
  }
  html body .flow-card:not(.flow-info-card) .flow-left > .wp-block-column:nth-child(3),
  html body .sp_only .flow-card:not(.flow-info-card) .flow-left > .wp-block-column:nth-child(3){
    padding-left:0 !important;
    padding-right:0 !important;
  }
  html body .flow-card:not(.flow-info-card) .flow-left > .wp-block-column:nth-child(3) p:last-child,
  html body .sp_only .flow-card:not(.flow-info-card) .flow-left > .wp-block-column:nth-child(3) p:last-child,
  html body .sp-only .flow-card:not(.flow-info-card) .flow-left > .wp-block-column:nth-child(3) p:last-child,
  html body .flow-card:not(.flow-info-card) .flow-text p:last-child{
    overflow-wrap:normal !important;
    word-break:normal !important;
    line-break:strict !important;
  }

  /* 料金プラン：3枚を同じpx幅・中央へ。縦flexの flex-basis が高さにならないようにする */
  html body .sp_only .wp-block-columns:has(> .price-card),
  html body .sp-only .wp-block-columns:has(> .price-card),
  html body .wp-block-columns:has(> .price-card){
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    width:100% !important;
    gap:var(--tablet-card-gap) !important;
    row-gap:var(--tablet-card-gap) !important;
  }
  html body .sp_only .wp-block-columns:not(.flow-left) > .wp-block-column.price-card,
  html body .sp-only .wp-block-columns:not(.flow-left) > .wp-block-column.price-card,
  html body .home .sp_only .wp-block-columns:not(.flow-left) > .wp-block-column.price-card,
  html body.home .sp_only .price-card,
  html body .sp_only .price-card,
  html body .sp-only .price-card,
  html body .price-card-light,
  html body .price-card-standard,
  html body .price-card-custom,
  html body .home .wp-block-group.price-note-card,
  html body .wp-block-group.price-note-card,
  html body .price-note-card{
    width:var(--tablet-price-max) !important;
    max-width:var(--tablet-price-max) !important;
    min-width:0 !important;
    flex:none !important;
    flex-grow:0 !important;
    flex-shrink:0 !important;
    flex-basis:auto !important;
    align-self:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    box-sizing:border-box !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
  }
  html body .sp_only .price-card .price-note,
  html body .sp_only .price-card .note-blue,
  html body .price-card-light .price-note,
  html body .price-card-standard .price-note,
  html body .price-card-standard .note-blue,
  html body .price-card-custom .price-note,
  html body .price-card-custom .note-blue,
  html body .sp_only .price-card .price-button,
  html body .sp_only .price-card .standard-price-button,
  html body .price-card-light .price-button,
  html body .price-card-standard .price-button,
  html body .price-card-standard .standard-price-button,
  html body .price-card-custom .price-button{
    width:var(--tablet-price-inner) !important;
    max-width:var(--tablet-price-inner) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    box-sizing:border-box !important;
    align-self:center !important;
  }
  html body .sp_only .price-card .price-button a,
  html body .sp_only .price-card .standard-price-button a,
  html body .price-card-light .price-button a,
  html body .price-card-light .price-button .wp-block-button__link,
  html body .price-card-light .price-button .swell-block-button__link,
  html body .price-card-standard .price-button a,
  html body .price-card-standard .price-button .wp-block-button__link,
  html body .price-card-standard .standard-price-button a,
  html body .price-card-standard .standard-price-button .wp-block-button__link,
  html body .price-card-custom .price-button a,
  html body .price-card-custom .price-button .wp-block-button__link,
  html body .price-card-custom .price-button .swell-block-button__link{
    width:var(--tablet-price-inner) !important;
    max-width:var(--tablet-price-inner) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }
  html body .sp_only .price-card .price-main,
  html body .price-card-light .price-main,
  html body .price-card-standard .price-main{
    display:flex !important;
    flex-direction:row !important;
    align-items:baseline !important;
    justify-content:center !important;
    text-align:center !important;
    width:fit-content !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
  }
  html body .sp_only .price-card .wp-block-group:has(.price-number),
  html body .price-card-light .wp-block-group:has(.price-number),
  html body .price-card-standard .wp-block-group:has(.price-number),
  html body .price-card-light .wp-block-group__inner-container:has(> .price-number),
  html body .price-card-standard .wp-block-group__inner-container:has(> .price-number),
  html body .sp_only .price-card .wp-block-group__inner-container:has(> .price-number){
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    text-align:left !important;
    width:fit-content !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    position:relative !important;
  }
  html body .sp_only .price-card .price-label,
  html body .price-card-light .price-label,
  html body .price-card-standard .price-label,
  html body .price-card-standard .price-label-blue,
  html body .price-label-blue{
    align-self:flex-start !important;
    display:inline-block !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:left !important;
    width:auto !important;
    position:relative !important;
    left:-18px !important;
    transform:none !important;
  }
  html body .sp_only .price-card .price-number,
  html body .price-card-light .price-number,
  html body .price-card-standard .price-number,
  html body .price-card-standard .price-number-blue{
    display:block !important;
    align-self:center !important;
    text-align:left !important;
    margin-left:auto !important;
    margin-right:auto !important;
    width:fit-content !important;
    max-width:100% !important;
    transform:none !important;
  }
  html body .sp_only .price-card .price-tax,
  html body .price-card-light .price-tax,
  html body .price-card-standard .price-tax{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
    transform:none !important;
  }
  html body .price-card-light .price-tax .swl-fz,
  html body .price-card-standard .price-tax .swl-fz{
    left:auto !important;
  }
  html body .sp_only .price-card ul,
  html body .price-card-light ul,
  html body .price-card-standard ul,
  html body .price-card-custom ul,
  html body .price-card .is-style-check_list{
    display:block !important;
    width:fit-content !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    text-align:left !important;
    padding-left:0 !important;
  }
  html body .sp_only .price-card li,
  html body .price-card-light li,
  html body .price-card-standard li,
  html body .price-card-custom li{
    text-align:left !important;
  }
  html body .price-card-custom .price-desc,
  html body .price-card-custom > p,
  html body .price-card-custom > p.wp-block-paragraph,
  html body .price-card-custom .estimate-box,
  html body .price-card-custom .estimate-box p{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  html body .sp_only .price-card .price-desc,
  html body .price-card-light .price-desc,
  html body .price-card-standard .price-desc,
  html body .price-card-custom .price-desc,
  html body .sp_only .price-card .price-desc .swl-fz,
  html body .price-card-light .price-desc .swl-fz,
  html body .price-card-standard .price-desc .swl-fz,
  html body .price-card-custom .price-desc .swl-fz,
  html body .sp_only .price-card .price-desc strong,
  html body .price-card-light .price-desc strong,
  html body .price-card-standard .price-desc strong,
  html body .price-card-custom .price-desc strong,
  html body .sp_only .price-card .price-desc *,
  html body .price-card-light .price-desc *,
  html body .price-card-standard .price-desc *,
  html body .price-card-custom .price-desc *,
  html body .price-card-custom > p.wp-block-paragraph:not(.price-desc),
  html body .price-card-custom > p.wp-block-paragraph:not(.price-desc) strong,
  html body .price-card-custom > p.wp-block-paragraph:not(.price-desc) *,
  html body .price-card-custom .is-style-check_list + p,
  html body .price-card-custom .is-style-check_list + p strong,
  html body .price-card-custom .is-style-check_list + p *{
    font-size:15px !important;
    font-weight:700 !important;
    line-height:1.7 !important;
    letter-spacing:0 !important;
    white-space:normal !important;
  }
  html body .price-card-custom .estimate-box,
  html body .home .price-card-custom .wp-block-group.estimate-box,
  html body .sp_only .price-card-custom .wp-block-group.estimate-box:not(.reason-card):not(.service-card):not(.price-card):not(.contact-cta):not(.area-cta):not(.area-card):not(.flow-card):not(.price-note-card):not(.concern-card):not(.concern-item):not(.faq-cta):not(.contact-form-wrap):not(.profile-card):not(.achievement-card):not(.career-card){
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:16px !important;
    width:fit-content !important;
    max-width:calc(100% - 24px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    padding:14px 24px !important;
    padding-left:24px !important;
    padding-right:24px !important;
    background:#f5f5f5 !important;
    border-radius:16px !important;
    box-sizing:border-box !important;
  }
  html body .home .price-card-custom .estimate-box > .wp-block-group__inner-container,
  html body .price-card-custom .estimate-box > .wp-block-group__inner-container{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:16px !important;
    width:auto !important;
    max-width:100% !important;
    padding:0 !important;
    margin:0 !important;
  }
  html body .price-card-custom .estimate-box figure,
  html body .price-card-custom .estimate-box .wp-block-image{
    margin:0 !important;
    width:46px !important;
    max-width:46px !important;
    flex:0 0 46px !important;
  }
  html body .price-card-custom .estimate-box img{
    width:46px !important;
    max-width:46px !important;
    height:auto !important;
    display:block !important;
  }
  html body .price-card-custom .estimate-box p,
  html body .price-card-custom .estimate-box .swl-fz{
    margin:0 !important;
    width:auto !important;
    font-size:24px !important;
    font-weight:700 !important;
    line-height:1.25 !important;
    white-space:nowrap !important;
  }
  html body .sp_only .price-card .price-head > .wp-block-group__inner-container,
  html body .sp-only .price-card .price-head > .wp-block-group__inner-container,
  html body .price-card-light .price-head > .wp-block-group__inner-container,
  html body .price-card-standard .price-head > .wp-block-group__inner-container,
  html body .price-card-custom .price-head > .wp-block-group__inner-container{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:16px !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
  }
  html body .sp_only .price-card .price-head figure,
  html body .price-card-light .price-head figure,
  html body .price-card-custom .price-head figure,
  html body .price-card-light .price-head .wp-block-image,
  html body .price-card-custom .price-head .wp-block-image{
    width:76px !important;
    max-width:76px !important;
    flex:0 0 76px !important;
    margin:0 !important;
    height:auto !important;
  }
  html body .price-card-standard .price-head figure,
  html body .price-card-standard .price-head .wp-block-image,
  html body .price-card-standard .price-head figure.wp-block-image{
    width:88px !important;
    max-width:88px !important;
    flex:0 0 88px !important;
    margin:0 !important;
    height:auto !important;
  }
  html body .sp_only .price-card .price-head img,
  html body .price-card-light .price-head img,
  html body .price-card-custom .price-head img{
    width:76px !important;
    max-width:76px !important;
    height:auto !important;
    display:block !important;
  }
  html body .price-card-standard .price-head img,
  html body .price-card-standard .price-head figure.wp-block-image img{
    width:88px !important;
    max-width:88px !important;
    height:auto !important;
    display:block !important;
  }
  html body .sp_only .price-card .price-head p,
  html body .price-card-light .price-head p,
  html body .price-card-standard .price-head p,
  html body .price-card-custom .price-head p,
  html body .price-card-title,
  html body .price-plan-title-standard{
    margin:0 !important;
    white-space:nowrap !important;
  }

  /* フッター：ロゴ縮小、所在地2行を中央揃え */
  html body .l-footer .footer-top,
  html body .l-footer .wp-block-columns.footer-top{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
    text-align:center !important;
  }
  html body .l-footer .footer-brand-row,
  html body .footer-brand-row,
  html body .l-footer .footer-top > .wp-block-column{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    max-width:100% !important;
    flex:none !important;
    flex-basis:auto !important;
  }
  html body .l-footer .footer-brand-row img,
  html body .footer-brand-row img,
  html body .l-footer .footer-sp img,
  html body .footer-sp .wp-block-image img,
  html body .footer-sp .wp-block-image{
    width:96px !important;
    max-width:96px !important;
    height:auto !important;
    margin-left:auto !important;
    margin-right:auto !important;
    display:block !important;
  }
  html body .l-footer .footer-sp,
  html body .footer-sp,
  html body .footer-sp .wp-block-paragraph,
  html body .footer-sp .wp-block-paragraph:nth-of-type(3),
  html body .l-footer .footer-area,
  html body .footer-area,
  html body .l-footer .footer-area p,
  html body .footer-area .wp-block-paragraph{
    text-align:center !important;
  }
  html body .l-footer .footer-area,
  html body .footer-area{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    border-left:none !important;
    padding-left:0 !important;
    min-height:0 !important;
    height:auto !important;
    width:100% !important;
    max-width:100% !important;
    flex:none !important;
    flex-basis:auto !important;
  }

  /* FAQ：質問カードとCTAを同じpx幅に */
  html body .faq-section .faq-list,
  html body .faq-section.sp_only .faq-list,
  html body .faq-list.faq-card,
  html body .home .faq-section.sp_only .faq-list,
  html body .faq-section.sp_only .faq-cta,
  html body .faq-section.sp-only .faq-cta,
  html body .home .faq-section.sp_only .faq-cta,
  html body.home .faq-section.sp_only .faq-cta,
  html body .sp_only .faq-cta,
  html body .sp-only .faq-cta,
  html body .faq-cta{
    width:var(--tablet-faq-max) !important;
    max-width:var(--tablet-faq-max) !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
    flex:none !important;
  }

  /* お問い合わせ：送信と戻るを同じpx幅・中央へ（width:100% を使わない） */
  html body .contact-form-wrap,
  html body .home .contact-form-wrap,
  html body .wp-block-group.contact-form-wrap{
    width:var(--tablet-form-max) !important;
    max-width:var(--tablet-form-max) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    box-sizing:border-box !important;
  }

  /* 会社概要：対応エリアは「大分県など」の後で折り返す */
  html body .sp_only .company-table,
  html body .sp-only .company-table,
  html body .home .sp_only .company-table,
  html body figure.company-table,
  html body .sp_only figure.company-table{
    width:var(--tablet-company-max) !important;
    max-width:var(--tablet-company-max) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    box-sizing:border-box !important;
  }
  html body .sp_only .company-table table,
  html body figure.company-table table{
    width:100% !important;
    max-width:100% !important;
    table-layout:auto !important;
  }
  html body .sp_only .company-table td:last-child,
  html body .sp-only .company-table td:last-child,
  html body figure.company-table td:last-child{
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    line-break:strict !important;
    padding-left:14px !important;
    padding-right:12px !important;
  }
  html body .sp_only .company-table tr:last-child td:last-child,
  html body .sp-only .company-table tr:last-child td:last-child,
  html body figure.company-table tr:last-child td:last-child{
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    line-break:strict !important;
    padding-left:14px !important;
    padding-right:36px !important;
  }
  html body .sp_only .company-table td:last-child br,
  html body figure.company-table td:last-child br{
    display:block !important;
  }
  html body .contact-form-wrap .cf7-submit-wrap,
  html body .home .contact-form-wrap .cf7-submit-wrap,
  html body .contact-form-wrap .home-back-btn,
  html body .home .contact-form-wrap .home-back-btn,
  html body .contact-form-wrap .cf7-submit-wrap p,
  html body .contact-form-wrap .home-back-btn p{
    display:flex !important;
    justify-content:center !important;
    width:var(--tablet-btn-max) !important;
    max-width:var(--tablet-btn-max) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }
  html body .contact-form-wrap .wpcf7-submit,
  html body .home .contact-form-wrap .wpcf7-submit,
  html body .contact-form-wrap input[type="submit"],
  html body .home .contact-form-wrap input[type="submit"],
  html body .contact-form-wrap .home-back-btn a,
  html body .home .contact-form-wrap .home-back-btn a,
  html body .contact-form-wrap .home-back-btn > p > a{
    display:flex !important;
    justify-content:center !important;
    width:var(--tablet-btn-max) !important;
    max-width:var(--tablet-btn-max) !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
    flex:none !important;
  }
}

/* B. 960-1024px：PCのHTML（.pc_only）が見えている幅 */
@media (min-width:960px) and (max-width:1024px){
  html{
    --tablet-card-max:720px;
    --tablet-btn-max:300px;
  }

  html body .faq-list,
  html body .faq-list.faq-card,
  html body .faq-cta,
  html body .faq-cta-section,
  html body .flow-card,
  html body .area-cta{
    width:100% !important;
    max-width:var(--tablet-card-max) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }

  html body .service-wrap{
    width:100% !important;
    max-width:920px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    left:auto !important;
    transform:none !important;
  }
  html body .service-wrap .service-card,
  html body .service-card{
    left:auto !important;
    right:auto !important;
    transform:none !important;
  }

  html body .contact-form-wrap .cf7-submit-wrap,
  html body .contact-form-wrap .home-back-btn,
  html body .contact-form-wrap .cf7-submit-wrap p,
  html body .contact-form-wrap .home-back-btn p,
  html body .contact-form-wrap .wpcf7-submit,
  html body .contact-form-wrap input[type="submit"],
  html body .contact-form-wrap .home-back-btn a{
    display:flex !important;
    justify-content:center !important;
    width:var(--tablet-btn-max) !important;
    max-width:var(--tablet-btn-max) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
    flex:none !important;
  }
}

/* =========================================================
   PC（960px〜）：中央軸の整理
   STRENGTHS / SUPPORT / CONTACTボタンをページ中央へ。
   translateX による位置合わせは使わない。
========================================================= */
@media (min-width:960px){
  /* SWELL @media (min-width:1108px) { .alignwide { left:-100px; width:calc(100% + 200px); } }
     はホームページでは強み・対応エリアだけが崩れるため、その要素に限定して打ち消す。
     .home .alignwide / #body_wrap .alignwide は使わない。 */
  html body .home .strengths-box.alignwide,
  html body .home .strengths-box .reason-card.alignwide,
  html body .home .area-columns.alignwide,
  html body .home .wp-block-group.alignwide.pc_only:has(.area-columns){
    left:auto !important;
    right:auto !important;
  }
  html body .home .strengths-box .reason-card.alignwide,
  html body .home .area-columns.alignwide{
    width:100% !important;
    max-width:100% !important;
  }
  html body .strengths-box.pc_only,
  html body .strengths-box.pc-only,
  html body .home .strengths-box.pc_only,
  html body .home .strengths-box.pc-only{
    display:block !important;
    width:min(1000px, calc(100vw - 48px)) !important;
    max-width:min(1000px, calc(100vw - 48px)) !important;
    margin-left:calc(50% - min(500px, calc(50vw - 24px))) !important;
    margin-right:auto !important;
    margin-inline-start:calc(50% - min(500px, calc(50vw - 24px))) !important;
    margin-inline-end:auto !important;
    transform:none !important;
    left:auto !important;
    right:auto !important;
    box-sizing:border-box !important;
  }
  html body .strengths-box.pc_only > .wp-block-group__inner-container,
  html body .home .strengths-box.pc_only > .wp-block-group__inner-container{
    width:100% !important;
    max-width:none !important;
  }
  html body .strengths-box.pc_only .reason-wrap,
  html body .strengths-box.pc-only .reason-wrap,
  html body .home .strengths-box.pc_only .reason-wrap{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:16px !important;
    column-gap:16px !important;
    row-gap:16px !important;
    justify-content:center !important;
    align-items:stretch !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    transform:none !important;
    left:auto !important;
    box-sizing:border-box !important;
  }
  html body .strengths-box.pc_only .reason-wrap > .wp-block-column,
  html body .strengths-box.pc-only .reason-wrap > .wp-block-column{
    display:grid !important;
    grid-template-rows:1fr 1fr !important;
    gap:16px !important;
    row-gap:16px !important;
    flex:none !important;
    min-width:0 !important;
    max-width:none !important;
    width:100% !important;
    height:auto !important;
    align-self:stretch !important;
  }
  html body .strengths-box.pc_only .reason-card,
  html body .strengths-box.pc-only .reason-card{
    width:100% !important;
    max-width:100% !important;
    height:100% !important;
    min-height:0 !important;
    display:flex !important;
    flex-direction:column !important;
    padding:20px 24px !important;
    box-sizing:border-box !important;
  }
  html body .strengths-box.pc_only .reason-card > .wp-block-group__inner-container{
    height:100% !important;
    display:flex !important;
    flex-direction:column !important;
  }

  html body .pc_only .service-wrap,
  html body .pc-only .service-wrap,
  html body .home .pc_only .service-wrap,
  html body .home .service-wrap.wp-block-columns{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    align-items:stretch !important;
    width:min(1100px, calc(100vw - 48px)) !important;
    max-width:min(1100px, calc(100vw - 48px)) !important;
    margin-left:calc(50% - min(550px, calc(50vw - 24px))) !important;
    margin-right:auto !important;
    margin-inline-start:calc(50% - min(550px, calc(50vw - 24px))) !important;
    margin-inline-end:auto !important;
    transform:none !important;
    left:auto !important;
    right:auto !important;
    gap:16px !important;
    column-gap:16px !important;
    row-gap:16px !important;
    box-sizing:border-box !important;
  }
  html body .pc_only .service-wrap > .wp-block-column,
  html body .pc-only .service-wrap > .wp-block-column,
  html body .home .pc_only .service-wrap > .wp-block-column{
    display:grid !important;
    grid-template-rows:1fr 1fr !important;
    gap:16px !important;
    row-gap:16px !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:auto !important;
    flex:none !important;
    margin:0 !important;
    padding:0 !important;
    align-self:stretch !important;
  }
  html body .pc_only .service-wrap .service-card,
  html body .pc-only .service-wrap .service-card{
    left:auto !important;
    right:auto !important;
    transform:none !important;
    width:100% !important;
    max-width:100% !important;
    height:100% !important;
    min-height:290px !important;
    display:flex !important;
    flex-direction:column !important;
    padding:32px 28px 22px !important;
    box-sizing:border-box !important;
    border-radius:18px !important;
  }
  html body .pc_only .service-wrap .service-card > .wp-block-group__inner-container{
    height:100% !important;
    width:100% !important;
    max-width:none !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
  }
  html body .pc_only .service-wrap .service-card .wp-block-media-text,
  html body .home .pc_only .service-wrap .service-card .wp-block-media-text{
    display:grid !important;
    grid-template-columns:90px minmax(0, 1fr) !important;
    grid-template-rows:auto !important;
    column-gap:12px !important;
    row-gap:0 !important;
    align-items:start !important;
    width:100% !important;
    max-width:none !important;
    flex-direction:row !important;
  }
  html body .pc_only .service-wrap .service-card .wp-block-media-text__media,
  html body .home .pc_only .service-wrap .service-card .wp-block-media-text__media{
    width:90px !important;
    max-width:90px !important;
    margin:0 !important;
    align-self:start !important;
    justify-self:start !important;
    order:0 !important;
  }
  html body .pc_only .service-wrap .service-card .wp-block-media-text__media img{
    width:90px !important;
    max-width:90px !important;
    height:auto !important;
    display:block !important;
  }
  html body .pc_only .service-wrap .service-card .wp-block-media-text__content{
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    padding:8px 0 0 2px !important;
    text-align:left !important;
  }
  html body .pc_only .service-wrap .service-card .wp-block-media-text__content p,
  html body .pc_only .service-wrap .service-card .wp-block-media-text__content span,
  html body .pc_only .service-wrap .service-card .wp-block-media-text__content strong,
  html body .home .pc_only .service-wrap .service-card .wp-block-media-text__content p,
  html body .home .pc_only .service-wrap .service-card .wp-block-media-text__content span{
    word-break:keep-all !important;
    overflow-wrap:break-word !important;
    line-break:strict !important;
    white-space:normal !important;
    hyphens:none !important;
  }
  html body .pc_only .service-wrap .service-card > .wp-block-group__inner-container > p{
    width:100% !important;
    max-width:none !important;
    margin-top:8px !important;
  }

  html body .contact-form-wrap,
  html body .wp-block-group.contact-form-wrap{
    width:100% !important;
    max-width:860px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    box-sizing:border-box !important;
  }
  html body .contact-form-wrap .wpcf7-form .cf7-row,
  html body .contact-form-wrap .cf7-row{
    display:grid !important;
    grid-template-columns:minmax(240px, 0.4fr) minmax(0, 1fr) !important;
    column-gap:16px !important;
    align-items:center !important;
  }
  html body .contact-form-wrap .cf7-label,
  html body .contact-form-wrap .wpcf7-form .cf7-label{
    min-width:0 !important;
    max-width:100% !important;
    padding-right:4px !important;
    line-height:1.45 !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    line-break:auto !important;
    white-space:normal !important;
    hyphens:none !important;
  }
  html body .contact-form-wrap .cf7-label span,
  html body .contact-form-wrap .cf7-label strong{
    word-break:keep-all !important;
    white-space:nowrap !important;
  }
  html body .contact-form-wrap .cf7-field,
  html body .contact-form-wrap .wpcf7-form .cf7-field{
    margin-left:0 !important;
    margin-right:0 !important;
  }
  html body .contact-form-wrap .wpcf7-form .cf7-row-textarea,
  html body .contact-form-wrap .cf7-row-textarea{
    align-items:start !important;
  }
  html body .contact-form-wrap .cf7-field,
  html body .contact-form-wrap .wpcf7-form .cf7-field,
  html body .contact-form-wrap .cf7-field input,
  html body .contact-form-wrap .cf7-field select,
  html body .contact-form-wrap .cf7-field textarea,
  html body .contact-form-wrap .wpcf7-form .cf7-field input,
  html body .contact-form-wrap .wpcf7-form .cf7-field select,
  html body .contact-form-wrap .wpcf7-form .cf7-field textarea{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
  html body .contact-form-wrap .cf7-submit-wrap,
  html body .contact-form-wrap .home-back-btn,
  html body .contact-form-wrap .cf7-submit-wrap p,
  html body .contact-form-wrap .home-back-btn p{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    line-height:normal !important;
    font-size:inherit !important;
    min-height:0 !important;
    height:auto !important;
    box-sizing:border-box !important;
  }
  html body .contact-form-wrap input[type="submit"],
  html body .contact-form-wrap .wpcf7-submit,
  html body .contact-form-wrap .home-back-btn a,
  html body .contact-form-wrap .home-back-btn > p > a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:360px !important;
    max-width:360px !important;
    min-width:360px !important;
    min-height:56px !important;
    padding:16px 20px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    box-sizing:border-box !important;
    flex:none !important;
  }
  html body .contact-form-wrap input[type="submit"]{
    margin-top:28px !important;
    margin-bottom:0 !important;
  }
  html body .contact-form-wrap .cf7-submit-wrap + .home-back-btn,
  html body .contact-form-wrap .home-back-btn{
    margin-top:14px !important;
    margin-bottom:24px !important;
  }
  html body .contact-form-wrap .cf7-submit-wrap p{
    position:relative !important;
  }
  html body .contact-form-wrap .wpcf7-spinner{
    position:absolute !important;
    right:18px !important;
    top:50% !important;
    width:24px !important;
    height:24px !important;
    margin:0 !important;
    transform:translateY(-50%) !important;
  }
  html body .contact-form-wrap .home-back-btn + p,
  html body .contact-form-wrap .home-back-btn + .cf7-note,
  html body .contact-form-wrap .cf7-note{
    margin-top:16px !important;
  }

  html body .home .pc_only .flow-info-card .wp-block-columns > .wp-block-column:first-child:not(.flow-info-divider),
  html body .flow-info-card .wp-block-columns > .wp-block-column:first-child:not(.flow-info-divider),
  html body .pc_only .flow-info-card .wp-block-columns > .wp-block-column:first-child:not(.flow-info-divider){
    padding:0 16px 0 12px !important;
  }
  html body .home .pc_only .flow-info-card .wp-block-columns > .wp-block-column:last-child,
  html body .flow-info-card .wp-block-columns > .wp-block-column:last-child,
  html body .pc_only .flow-info-card .wp-block-columns > .wp-block-column:last-child{
    padding:0 12px 0 16px !important;
  }
  html body .home .pc_only .flow-info-card .flow-info-item,
  html body .flow-info-card .flow-info-item,
  html body .pc_only .flow-info-card .flow-info-item,
  html body .flow-info-card .wp-block-media-text{
    grid-template-columns:56px minmax(13.5em, 1fr) !important;
    column-gap:10px !important;
    width:100% !important;
    max-width:none !important;
  }
  html body .flow-info-card .flow-info-item .wp-block-media-text__content,
  html body .flow-info-card .wp-block-media-text__content{
    max-width:none !important;
    min-width:13.5em !important;
    width:auto !important;
    flex:1 1 auto !important;
  }
  html body .flow-info-card .flow-info-item p,
  html body .flow-info-card .wp-block-media-text__content p,
  html body .flow-info-card .wp-block-column:first-child p,
  html body .flow-info-card .wp-block-column:last-child p{
    position:relative !important;
    color:transparent !important;
    font-size:0 !important;
    line-height:0 !important;
    width:auto !important;
    max-width:100% !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
  }
  html body .flow-info-card .flow-info-item p *,
  html body .flow-info-card .wp-block-media-text__content p *,
  html body .flow-info-card .wp-block-column p *,
  html body .flow-info-card .wp-block-column p br,
  html body .flow-info-card .flow-info-item p br{
    font-size:0 !important;
    color:transparent !important;
    visibility:hidden !important;
    display:none !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column:first-child p::before,
  html body .flow-info-card .wp-block-column:first-child p::before{
    content:"ご契約まで最短2週間程度\Aで対応可能です。" !important;
  }
  html body .flow-info-card .wp-block-columns > .wp-block-column:last-child p::before,
  html body .flow-info-card .wp-block-column:last-child p::before{
    content:"オンラインでの打ち合わせ\Aも可能です。" !important;
  }
  html body .flow-info-card .wp-block-column p::before,
  html body .flow-info-card .flow-info-item p::before{
    white-space:pre !important;
    display:block !important;
    visibility:visible !important;
    color:#333333 !important;
    font-size:16px !important;
    font-weight:inherit !important;
    line-height:1.6 !important;
    letter-spacing:0 !important;
    text-align:left !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    line-break:strict !important;
    width:max-content !important;
    max-width:none !important;
  }

  /* ご契約までの流れ：5枚を同じ自然幅で中央へ（1100pxへの広げすぎを戻す） */
  html body .home .flow-card,
  html body .flow-card,
  html body .pc_only .flow-card,
  html body .home .flow-card:not(.flow-info-card),
  html body .home .flow-card.flow-info-card{
    width:min(900px, calc(100vw - 48px)) !important;
    max-width:min(900px, calc(100vw - 48px)) !important;
    margin-left:calc(50% - min(450px, calc(50vw - 24px))) !important;
    margin-right:calc(50% - min(450px, calc(50vw - 24px))) !important;
    margin-inline-start:calc(50% - min(450px, calc(50vw - 24px))) !important;
    margin-inline-end:calc(50% - min(450px, calc(50vw - 24px))) !important;
    box-sizing:border-box !important;
    left:auto !important;
    right:auto !important;
    inset:auto !important;
    transform:none !important;
  }
  html body .home .flow-card > .wp-block-group__inner-container,
  html body .flow-card > .wp-block-group__inner-container{
    width:100% !important;
    max-width:none !important;
  }
  html body .home .flow-card > .wp-block-group__inner-container > .wp-block-columns,
  html body .flow-card > .wp-block-group__inner-container > .wp-block-columns{
    width:100% !important;
    max-width:100% !important;
  }

  /* ご契約までの流れ：本文領域を広げ、指定改行を固定（960px〜） */
  html body .home .flow-card:not(.flow-info-card),
  html body .flow-card:not(.flow-info-card),
  html body .pc_only .flow-card:not(.flow-info-card){
    padding:12px 40px !important;
  }
  html body .home .flow-card:not(.flow-info-card) > .wp-block-group__inner-container > .wp-block-columns,
  html body .flow-card:not(.flow-info-card) > .wp-block-columns,
  html body .flow-card:not(.flow-info-card) > .wp-block-group__inner-container > .wp-block-columns{
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    gap:44px !important;
    column-gap:44px !important;
  }
  html body .home .flow-card:not(.flow-info-card) .flow-left,
  html body .flow-card:not(.flow-info-card) .flow-left,
  html body .pc_only .flow-card:not(.flow-info-card) .flow-left{
    flex:0 0 auto !important;
    width:auto !important;
    max-width:none !important;
    gap:16px !important;
    column-gap:16px !important;
    align-items:center !important;
  }
  html body .home .flow-card:not(.flow-info-card) .flow-num-img,
  html body .home .flow-card:not(.flow-info-card) .flow-num-img img,
  html body .flow-card:not(.flow-info-card) .flow-num-img,
  html body .flow-card:not(.flow-info-card) .flow-num-img img{
    width:88px !important;
    max-width:88px !important;
  }
  html body .home .flow-card:not(.flow-info-card) .flow-icon-img,
  html body .home .flow-card:not(.flow-info-card) .flow-icon-img img,
  html body .flow-card:not(.flow-info-card) .flow-icon-img,
  html body .flow-card:not(.flow-info-card) .flow-icon-img img{
    width:124px !important;
    max-width:124px !important;
  }
  html body .home .flow-card:not(.flow-info-card) .flow-text,
  html body .flow-card:not(.flow-info-card) .flow-text,
  html body .pc_only .flow-card:not(.flow-info-card) .flow-text{
    flex:1 1 auto !important;
    min-width:0 !important;
    max-width:none !important;
    width:auto !important;
  }
  html body .home .flow-card:not(.flow-info-card) .flow-text p:last-of-type,
  html body .flow-card:not(.flow-info-card) .flow-text p:last-of-type{
    overflow-wrap:normal !important;
    word-break:keep-all !important;
    line-break:strict !important;
    letter-spacing:0 !important;
  }

  /* 2番目「ヒアリング」：本文2行＋オンライン文1行を固定 */
  html body .home .flow-card:nth-child(3) .flow-text > p:last-of-type,
  html body .flow-card:nth-child(3):not(.flow-info-card) .flow-text > p:last-of-type,
  html body .swell-block-fullWide__inner > .flow-card:nth-child(3) .flow-text > p:last-of-type{
    position:relative !important;
    color:transparent !important;
    font-size:0 !important;
    line-height:0 !important;
    margin:0 !important;
    padding:0 !important;
  }
  html body .home .flow-card:nth-child(3) .flow-text > p:last-of-type *,
  html body .flow-card:nth-child(3):not(.flow-info-card) .flow-text > p:last-of-type *,
  html body .home .flow-card:nth-child(3) .flow-text > p:last-of-type br,
  html body .flow-card:nth-child(3):not(.flow-info-card) .flow-text > p:last-of-type br{
    font-size:0 !important;
    visibility:hidden !important;
    display:none !important;
  }
  html body .home .flow-card:nth-child(3) .flow-text > p:last-of-type::before,
  html body .flow-card:nth-child(3):not(.flow-info-card) .flow-text > p:last-of-type::before,
  html body .swell-block-fullWide__inner > .flow-card:nth-child(3) .flow-text > p:last-of-type::before{
    content:"貴社の状況や健康課題、産業医に求める役割などを詳しくお伺いします。\00000Aオンライン・対面どちらも対応可能です。" !important;
    white-space:pre !important;
    display:block !important;
    visibility:visible !important;
    color:#333333 !important;
    font-size:15px !important;
    font-weight:400 !important;
    line-height:1.8 !important;
    letter-spacing:0 !important;
    text-align:left !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    line-break:strict !important;
    width:100% !important;
    max-width:100% !important;
  }

  /* 4番目「ご契約」：本文2行を固定 */
  html body .home .flow-card:nth-child(5) .flow-text > p:last-of-type,
  html body .flow-card:nth-child(5):not(.flow-info-card) .flow-text > p:last-of-type,
  html body .swell-block-fullWide__inner > .flow-card:nth-child(5) .flow-text > p:last-of-type{
    position:relative !important;
    color:transparent !important;
    font-size:0 !important;
    line-height:0 !important;
    margin:0 !important;
    padding:0 !important;
  }
  html body .home .flow-card:nth-child(5) .flow-text > p:last-of-type *,
  html body .flow-card:nth-child(5):not(.flow-info-card) .flow-text > p:last-of-type *,
  html body .home .flow-card:nth-child(5) .flow-text > p:last-of-type br,
  html body .flow-card:nth-child(5):not(.flow-info-card) .flow-text > p:last-of-type br{
    font-size:0 !important;
    visibility:hidden !important;
    display:none !important;
  }
  html body .home .flow-card:nth-child(5) .flow-text > p:last-of-type::before,
  html body .flow-card:nth-child(5):not(.flow-info-card) .flow-text > p:last-of-type::before,
  html body .swell-block-fullWide__inner > .flow-card:nth-child(5) .flow-text > p:last-of-type::before{
    content:"ご提案内容・お見積りにご納得いただけましたら、契約書を締結します。\Aその後、産業医活動に向けた準備を進めます。" !important;
    white-space:pre !important;
    display:block !important;
    visibility:visible !important;
    color:#333333 !important;
    font-size:15px !important;
    font-weight:400 !important;
    line-height:1.8 !important;
    letter-spacing:0 !important;
    text-align:left !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    line-break:strict !important;
    width:100% !important;
    max-width:100% !important;
  }

  /* お悩み：人物＋吹き出しの1行をセクション中央へ */
  html body .concern-section.pc_only > .swell-block-fullWide__inner,
  html body .home .concern-section.pc_only > .swell-block-fullWide__inner{
    width:min(1000px, calc(100vw - 48px)) !important;
    max-width:min(1000px, calc(100vw - 48px)) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    box-sizing:border-box !important;
  }
  html body .concern-section.pc_only .concern-list,
  html body .concern-section.pc_only .concern-list-right,
  html body .pc_only .concern-list,
  html body .pc_only .concern-list-right{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:center !important;
    width:max-content !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    transform:none !important;
    left:auto !important;
    right:auto !important;
    box-sizing:border-box !important;
  }
  html body .concern-section.pc_only .concern-list > .wp-block-column,
  html body .concern-section.pc_only .concern-list-right > .wp-block-column,
  html body .pc_only .concern-list > .wp-block-column,
  html body .pc_only .concern-list-right > .wp-block-column{
    flex-grow:0 !important;
    flex-shrink:0 !important;
  }

  /* 強みCTA：3要素を枠内に収めてバランス配置 */
  html body .pc_only .contact-cta,
  html body .pc-only .contact-cta,
  html body .home .pc_only .contact-cta,
  html body .strengths-box.pc_only .contact-cta{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    padding:14px 24px !important;
    transform:none !important;
    left:auto !important;
    right:auto !important;
    inset:auto !important;
    box-sizing:border-box !important;
    overflow:visible !important;
  }
  html body .pc_only .contact-cta-inner,
  html body .home .pc_only .contact-cta-inner,
  html body .strengths-box.pc_only .contact-cta-inner{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) 2px max-content !important;
    column-gap:20px !important;
    align-items:center !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
  html body .pc_only .contact-cta-left,
  html body .home .pc_only .contact-cta-left{
    min-width:0 !important;
    max-width:100% !important;
  }
  html body .pc_only .contact-cta-divider,
  html body .pc-only .contact-cta-divider,
  html body .pc_only .contact-cta-button,
  html body .pc-only .contact-cta-button{
    transform:none !important;
  }
  html body .pc_only .contact-cta-button,
  html body .home .pc_only .contact-cta-button,
  html body .pc_only .contact-cta .wp-block-buttons,
  html body .home .pc_only .contact-cta .wp-block-buttons{
    flex:none !important;
    width:auto !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    justify-self:end !important;
  }
  html body .pc_only .contact-cta-button .wp-block-button__link,
  html body .pc-only .contact-cta-button .wp-block-button__link,
  html body .home .pc_only .contact-cta .wp-block-button__link{
    width:auto !important;
    max-width:100% !important;
    min-width:240px !important;
    box-sizing:border-box !important;
  }

  /* 対応エリア：見出し中央＋左アクセス40%／右地図60%＋下CTA（1200px基準） */
  html body .home .wp-block-group.alignwide.pc_only:has(.area-columns),
  html body .home .pc_only.wp-block-group.alignwide:has(.area-columns){
    width:min(1100px, calc(100vw - 48px)) !important;
    max-width:min(1100px, calc(100vw - 48px)) !important;
    margin-left:calc(50% - min(550px, calc(50vw - 24px))) !important;
    margin-right:calc(50% - min(550px, calc(50vw - 24px))) !important;
    margin-inline:calc(50% - min(550px, calc(50vw - 24px))) !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }
  html body .home .wp-block-group.alignwide.pc_only:has(.area-columns) > .wp-block-group__inner-container,
  html body .home .pc_only.wp-block-group.alignwide:has(.area-columns) > .wp-block-group__inner-container{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    width:100% !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }
  html body .home .wp-block-group.alignwide.pc_only:has(.area-columns) > .wp-block-group__inner-container > *,
  html body .home .pc_only.wp-block-group.alignwide:has(.area-columns) > .wp-block-group__inner-container > *{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    box-sizing:border-box !important;
  }
  html body .home .wp-block-group.alignwide.pc_only:has(.area-columns) > .wp-block-group__inner-container > .area-cta,
  html body .home .pc_only.wp-block-group.alignwide:has(.area-columns) > .wp-block-group__inner-container > .area-cta{
    width:min(920px, 100%) !important;
    max-width:920px !important;
  }
  html body .home .wp-block-group.alignwide.pc_only:has(.area-columns) > .wp-block-group__inner-container > .wp-block-heading.is-style-section_ttl,
  html body .home .pc_only.wp-block-group.alignwide:has(.area-columns) > .wp-block-group__inner-container > .wp-block-heading.is-style-section_ttl{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    margin-top:0 !important;
    margin-bottom:40px !important;
    gap:28px !important;
    row-gap:28px !important;
    letter-spacing:0.02em !important;
  }
  html body .home .wp-block-group.alignwide.pc_only:has(.area-columns) > .wp-block-group__inner-container > .wp-block-heading.is-style-section_ttl br,
  html body .home .pc_only.wp-block-group.alignwide:has(.area-columns) > .wp-block-group__inner-container > .wp-block-heading.is-style-section_ttl br{
    display:none !important;
  }
  html body .home .wp-block-group.alignwide.pc_only:has(.area-columns) > .wp-block-group__inner-container > .wp-block-heading.is-style-section_ttl .swl-inline-color,
  html body .home .wp-block-group.alignwide.pc_only:has(.area-columns) > .wp-block-group__inner-container > .wp-block-heading.is-style-section_ttl .swl-fz,
  html body .home .pc_only.wp-block-group.alignwide:has(.area-columns) > .wp-block-group__inner-container > .wp-block-heading.is-style-section_ttl *{
    display:block !important;
    width:auto !important;
    max-width:100% !important;
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  html body .home .wp-block-group.alignwide.pc_only:has(.area-columns) > .wp-block-group__inner-container > .wp-block-heading.is-style-section_ttl .u-fz-xs,
  html body .home .wp-block-group.alignwide.pc_only:has(.area-columns) > .wp-block-group__inner-container > .wp-block-heading.is-style-section_ttl .u-fz-xs *{
    letter-spacing:0.12em !important;
    padding-left:0.12em !important;
    padding-right:0.12em !important;
    margin-bottom:0 !important;
  }
  html body .home .wp-block-group.alignwide.pc_only:has(.area-columns) > .wp-block-group__inner-container > .wp-block-heading.is-style-section_ttl .swl-fz:not(.u-fz-xs){
    letter-spacing:0.02em !important;
    padding-left:0 !important;
    display:inline-block !important;
  }
  html body .pc_only .wp-block-columns.area-columns:not(.area-cta),
  html body .pc-only .wp-block-columns.area-columns:not(.area-cta),
  html body .home .pc_only .wp-block-columns.area-columns:not(.area-cta),
  html body .home .pc_only .wp-block-columns.alignwide.area-columns:not(.area-cta){
    display:grid !important;
    grid-template-columns:minmax(0, 32fr) minmax(0, 68fr) !important;
    gap:20px !important;
    align-items:stretch !important;
    justify-content:center !important;
    justify-items:stretch !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
    margin-inline:auto !important;
    text-align:left !important;
    transform:none !important;
    left:auto !important;
    right:auto !important;
    inset:auto !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }
  html body .pc_only .wp-block-columns.area-columns:not(.area-cta) > .wp-block-column,
  html body .home .pc_only .wp-block-columns.area-columns:not(.area-cta) > .wp-block-column,
  html body .home .pc_only .wp-block-columns.alignwide.area-columns:not(.area-cta) > .wp-block-column,
  html body .home .pc_only .wp-block-columns.alignwide.area-columns:not(.area-cta) > .wp-block-column:first-child,
  html body .home .pc_only .wp-block-columns.alignwide.area-columns:not(.area-cta) > .wp-block-column:last-child{
    flex:none !important;
    flex-basis:auto !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    height:100% !important;
    align-self:stretch !important;
  }
  html body .home .pc_only .wp-block-columns.alignwide.area-columns:not(.area-cta) > .wp-block-column:last-child{
    display:flex !important;
    align-items:stretch !important;
  }
  html body .pc_only .area-map,
  html body .pc-only .area-map,
  html body .home .pc_only .area-map,
  html body .home .pc_only .area-map.wp-block-image{
    width:100% !important;
    max-width:100% !important;
    height:100% !important;
    min-height:100% !important;
    margin:0 !important;
    margin-inline:0 !important;
    display:flex !important;
    align-items:stretch !important;
    justify-content:center !important;
    align-self:stretch !important;
    flex:1 1 auto !important;
    box-sizing:border-box !important;
    background:none !important;
    border-radius:18px !important;
    overflow:hidden !important;
  }
  html body .pc_only .area-map img,
  html body .pc-only .area-map img,
  html body .home .pc_only .area-map img{
    width:100% !important;
    max-width:100% !important;
    height:100% !important;
    max-height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    margin:0 auto !important;
    display:block !important;
  }
  html body .pc_only .area-card,
  html body .pc-only .area-card,
  html body .home .pc_only .area-card{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    margin-inline:0 !important;
    padding:28px 32px 24px !important;
    box-sizing:border-box !important;
    text-align:left !important;
  }
  html body .pc_only .area-card > .wp-block-group__inner-container > p:first-child,
  html body .home .pc_only .area-card > .wp-block-group__inner-container > p:first-child{
    text-align:left !important;
    margin-top:0 !important;
    margin-bottom:14px !important;
  }
  html body .pc_only .area-card .area-access-list,
  html body .home .pc_only .area-card .area-access-list{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:left !important;
  }
  html body .pc_only .area-card .area-access-list .wp-block-media-text,
  html body .home .pc_only .area-card .area-access-list .wp-block-media-text{
    grid-template-columns:40px minmax(0, 1fr) !important;
    column-gap:10px !important;
    margin-bottom:4px !important;
  }
  html body .pc_only .area-card .area-access-list + p,
  html body .home .pc_only .area-card .area-access-list + p{
    text-align:center !important;
    margin-top:18px !important;
    margin-bottom:12px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    width:100% !important;
    max-width:100% !important;
    line-height:1.6 !important;
  }
  html body .pc_only .area-card .area-access-list + p + p,
  html body .home .pc_only .area-card .area-access-list + p + p{
    text-align:left !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    line-height:1.7 !important;
  }
  html body .pc_only .area-cta,
  html body .pc-only .area-cta,
  html body .home .pc_only .area-cta,
  html body .home .pc_only .area-cta.area-columns,
  html body .home .pc_only .area-cta.is-row{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) 2px max-content !important;
    column-gap:20px !important;
    align-items:center !important;
    justify-content:center !important;
    width:min(920px, 100%) !important;
    max-width:920px !important;
    margin-top:20px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    padding:18px 22px 18px 16px !important;
    overflow:visible !important;
    transform:none !important;
    box-sizing:border-box !important;
  }
  html body .home .pc_only .area-cta > *,
  html body .home .pc_only .area-cta.area-columns > *{
    min-width:0 !important;
    max-width:100% !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }
  html body .home .pc_only .area-cta .wp-block-media-text{
    width:max-content !important;
    max-width:100% !important;
    grid-template-columns:56px max-content !important;
  }
  html body .home .pc_only .area-cta .wp-block-media-text__content{
    width:max-content !important;
    max-width:100% !important;
    padding:0 0 0 8px !important;
  }
  html body .home .pc_only .area-cta .area-contact-btn,
  html body .home .pc_only .area-cta .wp-block-buttons,
  html body .home .pc_only .area-cta .wp-block-button{
    width:auto !important;
    min-width:240px !important;
    max-width:100% !important;
    justify-self:stretch !important;
  }
  html body .home .pc_only .area-cta .swell-block-button__link,
  html body .home .pc_only .area-cta .wp-block-button__link{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  /* FAQカードと下CTAを同じ幅で揃える */
  html body .home .faq-list,
  html body .home .faq-list.faq-card,
  html body .pc_only .faq-list,
  html body .faq-section .faq-list,
  html body .home .faq-cta,
  html body .pc_only .faq-cta,
  html body .home .faq-cta.faq-list,
  html body .faq-cta.faq-cta-section{
    width:min(960px, calc(100vw - 48px)) !important;
    max-width:min(960px, calc(100vw - 48px)) !important;
    margin-left:calc(50% - min(480px, calc(50vw - 24px))) !important;
    margin-right:calc(50% - min(480px, calc(50vw - 24px))) !important;
    margin-inline:calc(50% - min(480px, calc(50vw - 24px))) !important;
    box-sizing:border-box !important;
  }

  /* 料金カード：アイコンとタイトルのかぶりを解消（12:58）。3枚の1020px拡張は戻す */
  html body .home .pc_only .wp-block-columns:has(> .price-card),
  html body .pc_only .wp-block-columns:has(> .price-card-standard){
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:16px !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    box-sizing:border-box !important;
  }
  html body .home .pc_only .price-card,
  html body .pc_only .price-card-light,
  html body .pc_only .price-card-standard,
  html body .pc_only .price-card-custom{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
  }
  html body .pc_only .price-card-light .price-title,
  html body .pc_only .price-card-standard .price-title,
  html body .pc_only .price-card-custom .price-title,
  html body .home .price-card-light .price-title,
  html body .home .price-card-standard .price-title,
  html body .home .price-card-custom .price-title,
  html body .home .price-card-standard .wp-block-media-text.price-title{
    display:grid !important;
    grid-template-columns:56px minmax(0, 1fr) !important;
    --wp-block-media-text-grid-template-columns:56px minmax(0, 1fr) !important;
    column-gap:18px !important;
    align-items:center !important;
    transform:none !important;
    width:100% !important;
    max-width:100% !important;
  }
  html body .pc_only .price-card-light .price-title .wp-block-media-text__media,
  html body .pc_only .price-card-standard .price-title .wp-block-media-text__media,
  html body .pc_only .price-card-custom .price-title .wp-block-media-text__media,
  html body .home .price-card-light .price-title .wp-block-media-text__media,
  html body .home .price-card-standard .price-title .wp-block-media-text__media,
  html body .home .price-card-custom .price-title .wp-block-media-text__media{
    width:56px !important;
    max-width:56px !important;
    margin:0 !important;
    overflow:visible !important;
  }
  html body .pc_only .price-card-light .price-title img,
  html body .pc_only .price-card-standard .price-title img,
  html body .pc_only .price-card-custom .price-title img,
  html body .home .price-card-light .price-title img,
  html body .home .price-card-standard .price-title img,
  html body .home .price-card-custom .price-title img{
    width:56px !important;
    max-width:100% !important;
    height:auto !important;
  }
  html body .pc_only .price-card-light .price-title .wp-block-media-text__content,
  html body .pc_only .price-card-standard .price-title .wp-block-media-text__content,
  html body .pc_only .price-card-custom .price-title .wp-block-media-text__content{
    padding:0 !important;
    min-width:0 !important;
    max-width:none !important;
  }
  html body .pc_only .price-card-standard .plan-title-standard,
  html body .home .price-card-standard .plan-title-standard,
  html body .pc_only .plan-title-standard,
  html body .home .plan-title-standard,
  html body .pc_only .price-card-light .price-title p,
  html body .pc_only .price-card-standard .price-title p,
  html body .pc_only .price-card-custom .price-title p,
  html body .home .price-card-light .price-title p,
  html body .home .price-card-standard .price-title p,
  html body .home .price-card-custom .price-title p{
    position:relative !important;
    left:auto !important;
    transform:none !important;
    margin-left:0 !important;
    padding-left:0 !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    white-space:nowrap !important;
    letter-spacing:0.01em !important;
  }

  /* 月額ラベルを金額に対してわずかに左へ */
  html body .pc_only .price-card-light .price-label,
  html body .pc_only .price-card-standard .price-label,
  html body .pc_only .price-card-standard .price-label-blue,
  html body .home .price-card-light .price-label,
  html body .home .price-card-standard .price-label,
  html body .home .price-label-blue{
    margin-left:-18px !important;
    left:auto !important;
    transform:none !important;
  }

  /* ヒーロー：文字開始位置を少し左へ（余白は残す） */
  html body .wp-block-cover.hero-copy .wp-block-cover__inner-container,
  html body .home .wp-block-cover.hero-copy .wp-block-cover__inner-container{
    left:0 !important;
    padding-left:0 !important;
    margin-left:0 !important;
    max-width:none !important;
  }
  html body .hero-eyebrow,
  html body .wp-block-cover.hero-copy .hero-eyebrow,
  html body .hero-sub-text,
  html body .wp-block-cover.hero-copy .hero-sub-text{
    padding-left:8px !important;
    margin-left:0 !important;
  }
  html body .hero-main-text,
  html body .wp-block-cover.hero-copy .hero-main-text{
    left:0 !important;
    padding-left:8px !important;
    margin-left:0 !important;
  }

  /* ヘッダー：ロゴ（サイト名入り画像）を少し大きく */
  html body #header,
  html body #header .l-header,
  html body #header .l-header__inner{
    height:98px !important;
    min-height:98px !important;
    max-height:98px !important;
  }
  html body #header .c-headLogo,
  html body #header .l-header__logo,
  html body .c-headLogo{
    display:flex !important;
    align-items:center !important;
    min-height:98px !important;
  }
  html body #header .c-headLogo img,
  html body #header .c-headLogo__img,
  html body .l-header__logo img,
  html body .c-headLogo img{
    max-height:72px !important;
    height:72px !important;
    width:auto !important;
  }
}

/* タブレットB（960-1024）：AREAのCTA幅・お問い合わせ幅はPCフル幅にしない */
@media (min-width:960px) and (max-width:1024px){
  html body .area-cta,
  html body .pc_only .area-cta,
  html body .home .pc_only .area-cta{
    max-width:var(--tablet-card-max, 720px) !important;
  }
  html body .faq-list,
  html body .faq-list.faq-card,
  html body .faq-cta,
  html body .faq-cta-section,
  html body .home .faq-list,
  html body .home .faq-cta{
    max-width:var(--tablet-card-max, 720px) !important;
    width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
  }
  html body .contact-form-wrap,
  html body .wp-block-group.contact-form-wrap{
    max-width:760px !important;
  }
  html body .contact-form-wrap .wpcf7-form .cf7-row,
  html body .contact-form-wrap .cf7-row{
    grid-template-columns:200px minmax(0, 1fr) !important;
  }
  html body .contact-form-wrap .cf7-field,
  html body .contact-form-wrap .wpcf7-form .cf7-field{
    margin-left:0 !important;
    margin-right:0 !important;
  }
  html body .contact-form-wrap input[type="submit"],
  html body .contact-form-wrap .wpcf7-submit,
  html body .contact-form-wrap .home-back-btn a,
  html body .contact-form-wrap .home-back-btn > p > a{
    width:var(--tablet-btn-max, 300px) !important;
    max-width:var(--tablet-btn-max, 300px) !important;
    min-width:0 !important;
    min-height:0 !important;
    padding:16px !important;
  }
}

/* SWELL 1108px alignwide（left:-100px / width+200px）を対応エリア・強みで打ち消す */
@media (min-width:1108px){
  html body .home .pc_only .area-cta,
  html body .home .pc_only .area-cta.area-columns,
  html body .home .pc_only .area-cta.is-row{
    width:min(920px, 100%) !important;
    max-width:920px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

/* =========================================================
   Step6（2026-08-15）：残差の最終調整
   - 英字見出し 13px/500、日本語 24px、見出し間隔を縮小
   - カード左右余白を28px相当に、内側paddingとセクション縦余白を縮小
   - CTA・FLOW・サービスカードの高さを基準に近づける
   Step7（2026-08-15）：残差の再調整
   - .swl-fz の16/26/28pxが英字・日本語見出しを上書きしていたのを是正
   - SUPPORTのalignfull 22px入れ子でカードが240pxになっていたのを解除
   - pc-py-60 がSPでも60px効いていたのを28pxに
   Step10（2026-08-15）：縦リズム統一（412px）
   - 見出し EN→JA 18px、JA→導入 22px、導入→カード 28px、カード間 16px
   - 送信ボタンを戻るボタンと同じ幅に（cf7-submit-wrap p の縮みを解除）
   - SUPPORT下余白、AREA CTA内余白、FAQ CTA下余白、CONCERNSアイコン間隔
   Step15（2026-08-15）：基準画像9点
   - 最後の人物と青い逆三角形の距離を詰める
   - 都市名カードの上下余白を増やす（3行維持）
   - FLOW案内アイコンを1:1+containで変形防止
   - PRICEを14pxに、FAQ CTAに淡い下方向グラデーション
   - CONTACT「お問い合わせ」を中央揃え、縦リズムと説明文の行間を基準へ
   Step17（2026-08-16）：基準画像8点
   - CONTACT字間を狭め・少し太く、説明文を15px/500
   - ヒーロー副題を2行で収める（幅拡大、行spanはnowrap）
   - ごあいさつキャッチの上下余白を広げる
   - 保有資格カード上下を引き締め、精神保健指定医を枠内の自然改行、登録医・相談員を1行
   - 4枚目人物と逆三角形の重なりを解消
   Step18（2026-08-16）：基準画像5点
   - 送信／戻るボタン間隔を基準の余白へ
   - FLOW案内のアイコンと文字の間隔を確保
   - 都市リスト左右余白を広げつつ3行維持
   - サポート説明文を番号・タイトルと左揃え
   - 人物と逆三角形の距離を少し広げる
   Step19（2026-08-16）：基準画像7点
   - 問い合わせ注釈を12pxグレーでコンパクトに
   - 3人目吹き出しと人物の間隔を確保
   - 実績カードの幅と文字バランス
   - 保有資格カードを広げ、上下カード間隔を詰める
   - プロフィール文と写真の間隔
   - ヒーロー副題を本文タイトル左揃え・13pxへ
   Step20（2026-08-16）：基準画像13点
   - ごあいさつ見出し／キャッチの行間を基準へ
   - 保有資格カード内余白と写真・実績カードとの距離
   - 実績の青い注記を業種一覧から離す
   - 吹き出しと人物の距離を4人とも揃える
   - 対応エリア注釈の大きさ・位置とカード下余白
   - FLOW上とCTA白い領域の余白を増やす
   Step21（2026-08-16）：基準画像12点
   - CONTACT見出しの太さ・行間・配置
   - 会社概要見出しと表の余白
   - 保有資格の左余白と下余白
   - 実績〜YOUR CONCERNSの空白
   - 都市リストの太さ・注釈距離・カード密度
   - FLOW数字アイコンと見出しの一体感
   Step22（2026-08-16）：基準画像8点
   - COMPANY PROFILE字間を狭める
   - 会社概要の大きさと下余白
   - FAQ上部の水色余白／ライトプラン注釈下余白
   - 都市名を太字、エリア画像幅を下カードに揃える
   - YOUR CONCERNS上部の水色余白をわずかに広げる
   Step23（2026-08-16）：微調整3点
   - 保有資格リストをわずかに右へ（見出しは据え置き）
   - プロフィール本文の左右余白をわずかに追加
   - FLOW説明文を3行に収める
   Step24（2026-08-16）：余白・行数の微調整
   - FLOW 05などの説明を3行へ
   - 2週間カードを上下中央揃え・少し低く
   - 料金3カードの余白を90〜95%に引き締め
   Step25（2026-08-16）：FAQ CTA下余白／料金カード修復
   - FAQ CTA下の水色余白を約半分
   - ライト：価格〜ライン間隔、注記〜ボタン間隔
   - スタンダードの重なりをライト基準で解消
   - カスタム説明の改行、注釈カード幅、FAQ上余白
   Step26（2026-08-16）：余白・サイズの微調整8点
   - 「月額」ラベルを14pxへ（17pxから）
   - 注記ボックス〜お問い合わせボタン間隔を約半分
   - カスタム説明を1行に収める
   - FAQ CTAボタン下のカード内余白を2倍
   - 人物イラストと逆三角形の間隔を1.5倍
   - 対応エリア注釈を都市名と同じ文字サイズへ
   - PRICE上余白を4分の3、FAQ上の水色余白を1.2倍
   Step27（2026-08-16）：余白・間隔・文字間の微調整7点
   - 注記〜お問い合わせボタンの残隙間を半分へ
   - カスタムチェックリスト下を少し空ける
   - FLOW横長CTAの窮屈感を緩和
   - FLOW上余白1.5倍、写真〜逆三角形1.3倍
   - お悩み見出し下を1.3倍
   - キャッチコピーの字間を実機でも自然に固定
   Step28（2026-08-16）：キャッチコピー2行の間隔を半分へ
   - 「地域企業の皆様に、」と「安心して相談できる産業医を。」の間だけ縮小
   - ごあいさつとの上余白・本文との下余白は維持
   Step29（2026-08-16）：FAQ CTA下〜ACTIVITY上の余白を3分の2へ
   - ボタン下のカード内余白 48→32px
   - FAQ下余白 36→24px、ACTIVITY上余白 40→27px
   Step30（2026-08-16）：GREETING見出しリズム／キャッチ2行／本文行間
   - GREETING↔ごあいさつを18pxに戻す
   - ごあいさつ↔キャッチを少し広げ、キャッチ→本文も少し広げる
   - キャッチ2行を通常の見出し行間へ（display:block解除）
   - 本文 line-height を1.8に統一
   Step31（2026-08-16）：ACTIVITY上の白い余白を約3分の2へ
   - セクション上余白 27→18px、内側の積み重ねpaddingを0に
   - 日本語見出しとその下は変更しない
   Step32（2026-08-16）：GREETINGとごあいさつをスマホで上下2段に戻す
   - キャッチ用 display:inline が見出し1行目に当たっていたのを除外
   - GREETING上／ごあいさつ下、間隔18px、キャッチとの余白は維持
   Step33（2026-08-16）：ACTIVITY直前の白い余白を約半分へ
   - 見出し直前の60pxスペーサーを潰す（前回効かなかった主因）
   - FAQ下のmarginとACTIVITY上paddingも合わせて削減
   Step34（2026-08-16）：ACTIVITY上余白を中間バランスへ
   - 直前スペーサー 0→30px、上padding 8→12px
   - 日本語見出しとの間隔は維持
   Step35（2026-08-16）：FLOW案内左文を2行へ
   - カード幅・アイコン・字サイズ・禁則を同時調整
   - 「ご契約まで最短2週間程度で／対応可能です。」
   Step36（2026-08-16）：ACTIVITY上余白を約1.25倍へ
   - 直前スペーサー 30→38px、上padding 12→15px
   Step37（2026-08-16）：FLOW左案内を指定位置で2行へ
   - keep-allの1行化を解除
   - 「ご契約まで最短2週間程度で／対応可能です。」を明示改行
   Step38（2026-08-16）：GREETING上余白／FLOW左案内の縦位置
   - ヒーロー直下の空#greeting余白 13→26px（見た目約1.25倍、SPのみ）
   - FLOW左列のアイコン＋文言だけカード縦中央へ（右列・カードデザインは維持）
   Step39（2026-08-16）：見出しタイポグラフィを YOUR CONCERNS 基準に統一
   - 対象：SUPPORT／AREA／FLOW／PRICE／FAQ／ACTIVITY／CONTACT／会社概要
   - 除外：ヒーロー／GREETING／OUR STRENGTHS
   - SP：英字12px/600/.16em、日本語24px/700
   - PC：英字16px/700、日本語32px/700（字間はCONCERNSに合わせてnormal）
   Step40（2026-08-16）：FLOW左案内の横収まり／説明文の統一
   - 左文を2行で仕切り線の左側へ。縦中央・字サイズ・カード高さは維持
   - 説明文を料金プラン基準（15px/1.9、見出し下22px）に共通化
   - 除外：GREETING／OUR STRENGTHS。お問い合わせの細さを解消
   Step41（2026-08-16）：6項目を個別調整
   - SUPPORT見出しを指定位置で必ず2行（合わせた／産業医サポート〜）
   - JOURNAL上の白い余白を広げ、説明文〜カード間隔も追加
   - CONTACT上の青い余白だけ狭める（FAQ本体は維持）
   - COMPANY PROFILEの英字字間のみ狭める
   - 見出し直下の説明文を太字（700）に統一。GREETING／STRENGTHS除外
   Step42（2026-08-16）：FLOW補足カード50:50／JOURNAL余白
   - 仕切りをカード中央へ。左右は同じ幅。指定の2行。アイコン距離を揃える
   - JOURNAL上余白と説明文〜カード間隔をPC・SPとも一段階
   Step43（2026-08-16）：JOURNAL余白／補足カード改行／PRICE上余白
   - JOURNAL見出し上と説明文下の余白をさらに広げる（PC・SP）
   - 左「最短2週間／程度で対応可能です。」右「打ち／合わせも可能です。」
   - PRICE上余白を約3分の2へ（見出し・説明文の字は維持）
   Step44（2026-08-16）：PC JOURNAL余白を実DOM直指定
   - post_content直下の.activity-sectionに上80px（見出しサイズは維持）
   - 記事一覧.activity-post-listに上56px（説明文との間隔）
   Step45（2026-08-16）：FLOW補足カードの下余白／左右バランス
   - カード下の水色余白 72→36px（FLOWセクションのみ）
   - 左右は50:50・仕切り中央のまま、アイコン＋文を各列の中央へ
   - 文字サイズ・アイコンサイズ・カードデザインは維持
   Step46（2026-08-16）：タブレット専用枠を追加（見た目は未変更）
   - スマホ完成形（〜767px）とPC完成形（1025px〜）は触らない
   - 768-959 は SP DOM、960-1024 は PC DOM。上書きは末尾 Step46 のみ
   Step47（2026-08-16）：タブレットのカード幅・中央揃え
   - 768-959：共通 max-width 520px。送信／戻るは 400px で同じ幅・中央
   - SUPPORTの右寄り（left:50%）を解除。FAQ CTA を FAQカード幅に揃える
   - 960-1024：FAQ／FLOW／エリアCTAを 720px、ボタンは 300px で揃える
   Step48（2026-08-16）：重複CSSの軽整理（見た目は変えない）
   - 同一条件の旧タブレット・PC用メディアクエリを統合
   - 後続指定で完全に上書きされていたごあいさつ旧ルールを削除
   - FLOW下余白36pxの同一メディアクエリ内重複を1箇所に
   Step49（2026-08-16）：タブレット SUPPORT中央／AREA幅揃え／FLOW一段狭く
   - SUPPORTの left:50% を旧ルール側でも解除し、6枚を520pxで中央へ
   - 対応エリアのアクセスカードとCTAを 440px で左右端を揃える
   - FLOW 01〜05＋補足カードを 480px で統一・中央揃え
   Step50（2026-08-16）：タブレット幅をpx直指定（前回のmax-width負けを解消）
   - AREA両方 440px／FLOW6枚 400px／料金3枚 440px／FAQとCTA 520px
   - 送信・戻るボタンを 320px で同じ幅・中央（width:100% を使わない）
========================================================= */

/* =========================================================
   2026-08-17：構文完結ブロック（このブロックは必ず最後・必ず閉じる）
   PCレイアウト調整（強みCTA／AREA／FLOW参考画像合わせ）
   SWELL 1108px .alignwide の横ズレ対策は維持する。
========================================================= */
@media (min-width:960px){
  html body #body_wrap.home .strengths-box.pc_only .contact-cta,
  html body #body_wrap.home .pc_only .contact-cta{
    display:block !important;
    width:min(820px, 100%) !important;
    max-width:820px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:14px 24px !important;
    box-sizing:border-box !important;
    overflow:visible !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
  }
  html body #body_wrap.home .pc_only .contact-cta-inner,
  html body #body_wrap.home .strengths-box.pc_only .contact-cta-inner{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) 2px max-content !important;
    column-gap:20px !important;
    align-items:center !important;
    width:100% !important;
    min-width:0 !important;
  }
  html body #body_wrap.home .pc_only .contact-cta-left,
  html body #body_wrap.home .pc_only .contact-cta-text{
    min-width:0 !important;
    max-width:100% !important;
  }
  html body #body_wrap.home .pc_only .contact-cta-button,
  html body #body_wrap.home .pc_only .contact-cta .wp-block-buttons,
  html body #body_wrap.home .pc_only .contact-cta .wp-block-button{
    flex:none !important;
    width:auto !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    justify-self:end !important;
  }
  html body #body_wrap.home .pc_only .contact-cta .wp-block-button__link{
    width:280px !important;
    max-width:100% !important;
    min-width:260px !important;
    box-sizing:border-box !important;
  }

  html body #body_wrap.home .flow-card,
  html body #body_wrap.home .pc_only .flow-card,
  html body #body_wrap.home .flow-card:not(.flow-info-card),
  html body #body_wrap.home .flow-card.flow-info-card{
    width:min(900px, calc(100vw - 48px)) !important;
    max-width:min(900px, calc(100vw - 48px)) !important;
    margin-left:calc(50% - min(450px, calc(50vw - 24px))) !important;
    margin-right:calc(50% - min(450px, calc(50vw - 24px))) !important;
    box-sizing:border-box !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
  }
  html body #body_wrap.home .flow-card:not(.flow-info-card){
    padding:12px 40px !important;
  }
  html body #body_wrap.home .flow-card:not(.flow-info-card) > .wp-block-group__inner-container > .wp-block-columns{
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    gap:44px !important;
    column-gap:44px !important;
  }
  html body #body_wrap.home .flow-card:not(.flow-info-card) .wp-block-columns > .wp-block-column:has(.flow-left){
    flex:0 0 auto !important;
    flex-basis:auto !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
  }
  html body #body_wrap.home .flow-card:not(.flow-info-card) .flow-text{
    flex:1 1 auto !important;
    min-width:0 !important;
    width:auto !important;
    max-width:none !important;
  }
  html body #body_wrap.home .flow-card:not(.flow-info-card) .flow-left{
    display:flex !important;
    flex:0 0 auto !important;
    flex-wrap:nowrap !important;
    width:max-content !important;
    max-width:none !important;
    gap:16px !important;
    column-gap:16px !important;
    align-items:center !important;
  }
  html body #body_wrap.home .flow-card:not(.flow-info-card) .flow-left > .wp-block-column{
    flex:0 0 auto !important;
    flex-basis:auto !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
  }
  html body #body_wrap.home .flow-card:not(.flow-info-card) .flow-left > .wp-block-column:first-child{
    flex:0 0 88px !important;
    width:88px !important;
  }
  html body #body_wrap.home .flow-card:not(.flow-info-card) .flow-left > .wp-block-column:nth-child(2){
    flex:0 0 124px !important;
    width:124px !important;
  }
  html body #body_wrap.home .flow-card:not(.flow-info-card) .flow-num-img,
  html body #body_wrap.home .flow-card:not(.flow-info-card) .flow-num-img img{
    width:88px !important;
    max-width:88px !important;
    margin:0 !important;
    margin-left:0 !important;
    flex-shrink:0 !important;
  }
  html body #body_wrap.home .flow-card:not(.flow-info-card) .flow-icon-img,
  html body #body_wrap.home .flow-card:not(.flow-info-card) .flow-icon-img img{
    width:124px !important;
    max-width:124px !important;
    margin:0 !important;
    flex-shrink:0 !important;
  }
  html body #body_wrap.home .flow-card:not(.flow-info-card) .flow-text,
  html body #body_wrap.home .flow-card:not(.flow-info-card) .flow-text p:last-of-type::before{
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
  html body #body_wrap.home .flow-card:not(.flow-info-card) .flow-text > p:first-of-type,
  html body #body_wrap.home .flow-card:not(.flow-info-card) .flow-text > p:first-of-type .swl-fz,
  html body #body_wrap.home .flow-card:not(.flow-info-card) .flow-text > p:first-of-type .u-fz-xl,
  html body #body_wrap.home .flow-card:not(.flow-info-card) .flow-text > p:first-of-type strong,
  html body #body_wrap.home .flow-card:not(.flow-info-card) .flow-text > p:first-of-type .swl-inline-color{
    font-size:26px !important;
    line-height:1.35 !important;
    letter-spacing:-0.02em !important;
  }
  html body #body_wrap.home .flow-card:nth-child(4):not(.flow-info-card) .flow-text > p:first-of-type,
  html body #body_wrap.home .flow-card:nth-child(4):not(.flow-info-card) .flow-text > p:first-of-type .swl-fz,
  html body #body_wrap.home .flow-card:nth-child(4):not(.flow-info-card) .flow-text > p:first-of-type .u-fz-xl,
  html body #body_wrap.home .flow-card:nth-child(4):not(.flow-info-card) .flow-text > p:first-of-type strong,
  html body #body_wrap.home .flow-card:nth-child(4):not(.flow-info-card) .flow-text > p:first-of-type .swl-inline-color{
    font-size:28px !important;
  }
  html body #body_wrap.home .flow-card:not(.flow-info-card) .flow-text > p:first-of-type{
    margin:0 0 8px !important;
  }
  html body #body_wrap.home .flow-card:not(.flow-info-card) .flow-text > p:last-of-type{
    font-size:16px !important;
    line-height:1.75 !important;
    letter-spacing:0 !important;
  }
  html body #body_wrap.home .flow-card:nth-child(2) .flow-text > p:last-of-type,
  html body #body_wrap.home .flow-card:nth-child(3) .flow-text > p:last-of-type,
  html body #body_wrap.home .flow-card:nth-child(4) .flow-text > p:last-of-type,
  html body #body_wrap.home .flow-card:nth-child(5) .flow-text > p:last-of-type,
  html body #body_wrap.home .flow-card:nth-child(6) .flow-text > p:last-of-type,
  html body #body_wrap.home .flow-card:nth-child(2):not(.flow-info-card) .flow-text > p:last-of-type,
  html body #body_wrap.home .flow-card:nth-child(3):not(.flow-info-card) .flow-text > p:last-of-type,
  html body #body_wrap.home .flow-card:nth-child(4):not(.flow-info-card) .flow-text > p:last-of-type,
  html body #body_wrap.home .flow-card:nth-child(5):not(.flow-info-card) .flow-text > p:last-of-type,
  html body #body_wrap.home .flow-card:nth-child(6):not(.flow-info-card) .flow-text > p:last-of-type{
    position:relative !important;
    color:transparent !important;
    font-size:0 !important;
    line-height:0 !important;
    margin:0 !important;
    padding:0 !important;
  }
  html body #body_wrap.home .flow-card:nth-child(2) .flow-text > p:last-of-type *,
  html body #body_wrap.home .flow-card:nth-child(3) .flow-text > p:last-of-type *,
  html body #body_wrap.home .flow-card:nth-child(4) .flow-text > p:last-of-type *,
  html body #body_wrap.home .flow-card:nth-child(5) .flow-text > p:last-of-type *,
  html body #body_wrap.home .flow-card:nth-child(6) .flow-text > p:last-of-type *,
  html body #body_wrap.home .flow-card:nth-child(2) .flow-text > p:last-of-type br,
  html body #body_wrap.home .flow-card:nth-child(3) .flow-text > p:last-of-type br,
  html body #body_wrap.home .flow-card:nth-child(4) .flow-text > p:last-of-type br,
  html body #body_wrap.home .flow-card:nth-child(5) .flow-text > p:last-of-type br,
  html body #body_wrap.home .flow-card:nth-child(6) .flow-text > p:last-of-type br{
    display:none !important;
  }
  html body #body_wrap.home .flow-card:nth-child(2) .flow-text > p:last-of-type::before,
  html body #body_wrap.home .flow-card:nth-child(3) .flow-text > p:last-of-type::before,
  html body #body_wrap.home .flow-card:nth-child(4) .flow-text > p:last-of-type::before,
  html body #body_wrap.home .flow-card:nth-child(5) .flow-text > p:last-of-type::before,
  html body #body_wrap.home .flow-card:nth-child(6) .flow-text > p:last-of-type::before,
  html body #body_wrap.home .flow-card:nth-child(2):not(.flow-info-card) .flow-text > p:last-of-type::before,
  html body #body_wrap.home .flow-card:nth-child(3):not(.flow-info-card) .flow-text > p:last-of-type::before,
  html body #body_wrap.home .flow-card:nth-child(4):not(.flow-info-card) .flow-text > p:last-of-type::before,
  html body #body_wrap.home .flow-card:nth-child(5):not(.flow-info-card) .flow-text > p:last-of-type::before,
  html body #body_wrap.home .flow-card:nth-child(6):not(.flow-info-card) .flow-text > p:last-of-type::before{
    white-space:pre !important;
    display:block !important;
    visibility:visible !important;
    color:#333333 !important;
    font-size:16px !important;
    font-weight:400 !important;
    line-height:1.75 !important;
    letter-spacing:0 !important;
    text-align:left !important;
  }
  html body #body_wrap.home .flow-card:nth-child(2) .flow-text > p:last-of-type::before,
  html body #body_wrap.home .flow-card:nth-child(2):not(.flow-info-card) .flow-text > p:last-of-type::before{
    content:"お問い合わせフォームまたはお電話にてご連絡ください。\00000Aご相談内容を確認し、担当者よりご連絡いたします。" !important;
  }
  html body #body_wrap.home .flow-card:nth-child(3) .flow-text > p:last-of-type::before,
  html body #body_wrap.home .flow-card:nth-child(3):not(.flow-info-card) .flow-text > p:last-of-type::before{
    content:"貴社の状況や健康課題、産業医に求める役割などを詳しくお伺いします。\00000Aオンライン・対面どちらも対応可能です。" !important;
  }
  html body #body_wrap.home .flow-card:nth-child(4) .flow-text > p:last-of-type::before,
  html body #body_wrap.home .flow-card:nth-child(4):not(.flow-info-card) .flow-text > p:last-of-type::before{
    content:"ヒアリング内容をもとに、貴社に最適なサポート内容とお見積りを\00000Aご提案いたします。ご不明点はお気軽にご質問ください。" !important;
    white-space:pre-wrap !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
  html body #body_wrap.home .flow-card:nth-child(5) .flow-text > p:last-of-type::before,
  html body #body_wrap.home .flow-card:nth-child(5):not(.flow-info-card) .flow-text > p:last-of-type::before{
    content:"ご提案内容・お見積りにご納得いただけましたら、契約書を締結します。\00000Aその後、産業医活動に向けた準備を進めます。" !important;
  }
  html body #body_wrap.home .flow-card:nth-child(6) .flow-text > p:last-of-type::before,
  html body #body_wrap.home .flow-card:nth-child(6):not(.flow-info-card) .flow-text > p:last-of-type::before{
    content:"ご契約完了後、産業医としての活動を開始します。\00000A訪問・面談・衛生委員会参加などを通じて、貴社の健康経営をサポートします。" !important;
  }

  html body #body_wrap.home .pc_only .price-card-light .price-button a,
  html body #body_wrap.home .pc_only .price-card-light .wp-block-button__link,
  html body #body_wrap.home .pc_only .price-card-standard .price-button a,
  html body #body_wrap.home .pc_only .price-card-standard .wp-block-button__link,
  html body #body_wrap.home .pc_only .price-card-standard .standard-price-button a,
  html body #body_wrap.home .pc_only .price-card-standard .standard-price-button .wp-block-button__link,
  html body #body_wrap.home .pc_only .price-card-custom .price-button a,
  html body #body_wrap.home .pc_only .price-card-custom .wp-block-button__link,
  html body #body_wrap.home .pc_only .price-card-custom .wp-element-button,
  html body #body_wrap.home .pc_only .price-card-custom .has-medium-font-size{
    height:48px !important;
    min-height:48px !important;
    max-height:48px !important;
    padding:0 18px !important;
    font-size:15px !important;
    line-height:1 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
    white-space:nowrap !important;
  }
  html body #body_wrap.home .pc_only .price-card-light .price-button .swl-fz,
  html body #body_wrap.home .pc_only .price-card-standard .price-button .swl-fz,
  html body #body_wrap.home .pc_only .price-card-standard .standard-price-button .swl-fz,
  html body #body_wrap.home .pc_only .price-card-custom .price-button .swl-fz{
    font-size:15px !important;
    line-height:1 !important;
    display:inline-flex !important;
    align-items:center !important;
  }
  html body #body_wrap.home .pc_only .price-card-light .price-button .swl-inline-icon,
  html body #body_wrap.home .pc_only .price-card-standard .price-button .swl-inline-icon,
  html body #body_wrap.home .pc_only .price-card-standard .standard-price-button .swl-inline-icon,
  html body #body_wrap.home .pc_only .price-card-custom .price-button .swl-inline-icon{
    width:18px !important;
    height:18px !important;
    min-width:18px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  html body #body_wrap .faq-section.pc_only .faq-list,
  html body #body_wrap .faq-list.faq-card,
  html body #body_wrap .faq-cta,
  html body #body_wrap .faq-cta.faq-cta-section{
    width:min(840px, calc(100vw - 48px)) !important;
    max-width:min(840px, calc(100vw - 48px)) !important;
    margin-left:calc(50% - min(420px, calc(50vw - 24px))) !important;
    margin-right:calc(50% - min(420px, calc(50vw - 24px))) !important;
  }

  html body #body_wrap.home .flow-card.flow-info-card{
    padding:18px 32px !important;
  }
  html body #body_wrap.home .flow-card.flow-info-card .wp-block-columns{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) 1px minmax(0, 1fr) !important;
    justify-content:stretch !important;
    align-items:center !important;
    column-gap:20px !important;
    width:100% !important;
    gap:20px !important;
  }
  html body #body_wrap.home .flow-card.flow-info-card .wp-block-columns > .wp-block-column{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:center !important;
    gap:16px !important;
    width:auto !important;
    max-width:100% !important;
    min-width:0 !important;
    padding:0 8px !important;
    grid-template-columns:none !important;
  }
  html body #body_wrap.home .flow-card.flow-info-card .wp-block-columns > .wp-block-column.flow-info-divider{
    width:1px !important;
    min-width:1px !important;
    max-width:1px !important;
    padding:0 !important;
    gap:0 !important;
    align-self:stretch !important;
    background:#dbe7ff !important;
    border:none !important;
  }
  html body #body_wrap.home .flow-card.flow-info-card .flow-info-item,
  html body #body_wrap.home .flow-card.flow-info-card .wp-block-media-text.flow-info-item{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:center !important;
    gap:16px !important;
    width:auto !important;
    max-width:100% !important;
    grid-template-columns:none !important;
    --wp-block-media-text-grid-template-columns:none !important;
  }
  html body #body_wrap.home .flow-card.flow-info-card .flow-info-item .wp-block-media-text__media,
  html body #body_wrap.home .flow-card.flow-info-card figure,
  html body #body_wrap.home .flow-card.flow-info-card figure.wp-block-image,
  html body #body_wrap.home .flow-card.flow-info-card img{
    width:52px !important;
    max-width:52px !important;
    height:52px !important;
    flex:0 0 52px !important;
    margin:0 !important;
  }
  html body #body_wrap.home .flow-card.flow-info-card .flow-info-item .wp-block-media-text__content,
  html body #body_wrap.home .flow-card.flow-info-card p{
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    text-align:left !important;
    flex:0 0 auto !important;
  }
  html body #body_wrap.home .flow-card.flow-info-card .flow-info-item p,
  html body #body_wrap.home .flow-card.flow-info-card .flow-info-item .wp-block-media-text__content{
    position:relative !important;
    color:transparent !important;
    font-size:0 !important;
    line-height:0 !important;
  }
  html body #body_wrap.home .flow-card.flow-info-card .flow-info-item p *,
  html body #body_wrap.home .flow-card.flow-info-card .flow-info-item p br{
    display:none !important;
  }
  html body #body_wrap.home .flow-card.flow-info-card .flow-info-item p::before{
    white-space:pre !important;
    display:block !important;
    visibility:visible !important;
    color:#333333 !important;
    font-size:18px !important;
    font-weight:400 !important;
    line-height:1.55 !important;
    letter-spacing:0 !important;
    text-align:left !important;
  }
  html body #body_wrap.home .flow-card.flow-info-card .flow-info-item:not(.flow-info-right) p::before{
    content:"ご契約まで最短2週間程度\00000Aで対応可能です。" !important;
  }
  html body #body_wrap.home .flow-card.flow-info-card .flow-info-item.flow-info-right p::before{
    content:"オンラインでの打ち合わせ\00000Aも可能です。" !important;
  }

  html body #body_wrap.home .post_content > .wp-block-spacer:has(+ #area){
    height:28px !important;
    margin-bottom:16px !important;
  }
  html body #body_wrap.home #area{
    margin-bottom:8px !important;
  }
  html body #body_wrap.home .wp-block-group.alignwide.pc_only:has(.area-columns) > .wp-block-group__inner-container > .wp-block-heading.is-style-section_ttl{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    margin-top:8px !important;
    margin-bottom:40px !important;
    text-align:center !important;
    gap:28px !important;
    row-gap:28px !important;
  }
  html body #body_wrap.home .wp-block-group.alignwide.pc_only:has(.area-columns) > .wp-block-group__inner-container > .wp-block-heading.is-style-section_ttl br{
    display:none !important;
  }
  html body #body_wrap.home .wp-block-group.alignwide.pc_only:has(.area-columns) > .wp-block-group__inner-container > .wp-block-heading.is-style-section_ttl .u-fz-xs{
    margin-bottom:0 !important;
  }

  html body #body_wrap.home .area-columns.alignwide:not(.area-cta),
  html body #body_wrap.home .pc_only .wp-block-columns.alignwide.area-columns:not(.area-cta){
    left:auto !important;
    right:auto !important;
    display:grid !important;
    grid-template-columns:minmax(0, 32fr) minmax(0, 68fr) !important;
    gap:20px !important;
    align-items:stretch !important;
    width:100% !important;
    max-width:100% !important;
  }
  html body #body_wrap.home .pc_only .area-map,
  html body #body_wrap.home .pc_only .area-map.wp-block-image{
    height:100% !important;
    min-height:100% !important;
    align-self:stretch !important;
    display:flex !important;
    align-items:stretch !important;
    background:none !important;
    background-color:transparent !important;
    overflow:hidden !important;
  }
  html body #body_wrap.home .pc_only .area-map img{
    width:100% !important;
    height:100% !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center center !important;
    display:block !important;
  }

  html body #body_wrap.home .pc_only .area-cta,
  html body #body_wrap.home .pc_only .area-cta.area-columns,
  html body #body_wrap.home .pc_only .area-cta.is-row{
    display:grid !important;
    grid-template-columns:max-content 2px max-content !important;
    column-gap:28px !important;
    align-items:center !important;
    justify-content:center !important;
    width:max-content !important;
    max-width:min(860px, 100%) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:18px 32px !important;
    box-sizing:border-box !important;
  }
  html body #body_wrap.home .pc_only .area-cta .wp-block-media-text{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    width:auto !important;
    max-width:100% !important;
    margin:0 !important;
    min-width:0 !important;
    gap:14px !important;
    grid-template-columns:68px max-content !important;
    --wp-block-media-text-grid-template-columns:68px max-content !important;
  }
  html body #body_wrap.home .pc_only .area-cta .wp-block-media-text__media,
  html body #body_wrap.home .pc_only .area-cta figure,
  html body #body_wrap.home .pc_only .area-cta img{
    width:68px !important;
    max-width:68px !important;
    height:68px !important;
    flex:0 0 68px !important;
    margin:0 !important;
  }
  html body #body_wrap.home .pc_only .area-cta .wp-block-media-text__content{
    width:auto !important;
    max-width:none !important;
    flex:0 0 auto !important;
    padding:0 !important;
  }
  html body #body_wrap.home .pc_only .area-cta .wp-block-media-text__content p,
  html body #body_wrap.home .pc_only .area-cta .wp-block-media-text__content .swl-fz,
  html body #body_wrap.home .pc_only .area-cta .wp-block-media-text__content span{
    font-size:18px !important;
    line-height:1.55 !important;
  }
  html body #body_wrap.home .pc_only .area-cta .area-divider{
    width:2px !important;
    min-width:2px !important;
    justify-self:center !important;
  }
  html body #body_wrap.home .pc_only .area-cta .area-contact-btn,
  html body #body_wrap.home .pc_only .area-cta .wp-block-button{
    width:auto !important;
    min-width:240px !important;
    max-width:100% !important;
    margin:0 !important;
  }
  html body #body_wrap.home .pc_only .area-cta .swell-block-button__link,
  html body #body_wrap.home .pc_only .area-cta .wp-block-button__link{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  html body #body_wrap .pc_only .wp-block-columns:has(> .price-card),
  html body #body_wrap.home .wp-block-columns:has(> .price-card-standard){
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  html body #body_wrap .price-card-light .price-title{
    display:grid !important;
    grid-template-columns:56px minmax(0, 1fr) !important;
    column-gap:18px !important;
    transform:none !important;
  }
  html body #body_wrap .price-card-custom .price-title,
  html body #body_wrap.home .price-card-custom .wp-block-media-text.price-title,
  html body #body_wrap.home .pc_only .price-card-custom .price-title{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:center !important;
    gap:16px !important;
    column-gap:16px !important;
    width:100% !important;
    max-width:100% !important;
    padding-right:8px !important;
    box-sizing:border-box !important;
    grid-template-columns:none !important;
    --wp-block-media-text-grid-template-columns:none !important;
    transform:none !important;
  }
  html body #body_wrap.home .pc_only .price-card-custom .price-title .wp-block-media-text__media{
    flex:0 0 56px !important;
    width:56px !important;
    max-width:56px !important;
    margin:0 !important;
  }
  html body #body_wrap.home .pc_only .price-card-custom .price-title .wp-block-media-text__content{
    flex:0 0 auto !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    padding:0 !important;
  }
  html body #body_wrap .price-card-standard .price-title,
  html body #body_wrap.home .price-card-standard .wp-block-media-text.price-title,
  html body #body_wrap.home .pc_only .price-card-standard .price-title{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:center !important;
    gap:14px !important;
    column-gap:14px !important;
    width:100% !important;
    max-width:100% !important;
    grid-template-columns:none !important;
    --wp-block-media-text-grid-template-columns:none !important;
    transform:none !important;
  }
  html body #body_wrap.home .pc_only .price-card-standard .price-title .wp-block-media-text__media{
    flex:0 0 56px !important;
    width:56px !important;
    max-width:56px !important;
    margin:0 !important;
  }
  html body #body_wrap.home .pc_only .price-card-standard .price-title .wp-block-media-text__content{
    flex:0 0 auto !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    padding:0 !important;
  }
  html body #body_wrap .plan-title-standard,
  html body #body_wrap .price-card-standard .price-title p{
    position:relative !important;
    left:auto !important;
    transform:none !important;
  }
  html body .contact-form-wrap .cf7-row,
  html body .contact-form-wrap .wpcf7-form .cf7-row{
    grid-template-columns:minmax(240px, 0.4fr) minmax(0, 1fr) !important;
    column-gap:16px !important;
  }
  html body .contact-form-wrap .cf7-field,
  html body .contact-form-wrap .wpcf7-form .cf7-field{
    margin-left:0 !important;
  }
  html body .contact-form-wrap .home-back-btn{
    margin-top:14px !important;
  }

  /* 追従ヘッダー：以前の薄さに戻し、ホバー下線位置も合わせる（通常ヘッダーは変更しない） */
  html body .l-fixHeader,
  html body .l-fixHeader .l-fixHeader__inner{
    height:68px !important;
    min-height:68px !important;
    max-height:68px !important;
  }
  html body .l-fixHeader .l-fixHeader__logo{
    padding-top:0 !important;
    padding-bottom:0 !important;
    height:68px !important;
    min-height:68px !important;
    display:flex !important;
    align-items:center !important;
  }
  html body .l-fixHeader .c-headLogo,
  html body .l-fixHeader .c-headLogo.-img{
    min-height:0 !important;
    height:68px !important;
    display:flex !important;
    align-items:center !important;
    line-height:0 !important;
  }
  html body .l-fixHeader .c-headLogo__link{
    display:flex !important;
    align-items:center !important;
    height:68px !important;
    line-height:0 !important;
  }
  html body .l-fixHeader .c-headLogo img,
  html body .l-fixHeader .c-headLogo__img{
    max-height:48px !important;
    height:48px !important;
    width:auto !important;
    display:block !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
  }
  html body .l-fixHeader .l-fixHeader__gnav,
  html body .l-fixHeader .c-gnav,
  html body .l-fixHeader .c-gnav > li{
    height:68px !important;
    display:flex !important;
    align-items:center !important;
  }
  html body .l-fixHeader .c-gnav > li > a{
    height:68px !important;
    display:flex !important;
    align-items:center !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    line-height:1.2 !important;
    box-sizing:border-box !important;
  }
  html body .l-fixHeader .c-gnav > li > a::after{
    bottom:14px !important;
    top:auto !important;
    height:2px !important;
  }
  html body .l-fixHeader .c-gnav > li:last-child > a::before{
    top:0 !important;
  }
  html body .l-fixHeader .c-gnav > li:last-child > a::after{
    content:none !important;
    display:none !important;
  }
}

@media (min-width:1108px){
  html body #body_wrap.home .wp-block-group.alignwide.pc_only:has(.area-columns){
    left:auto !important;
    right:auto !important;
    width:min(1100px, calc(100vw - 48px)) !important;
    max-width:min(1100px, calc(100vw - 48px)) !important;
    margin-left:calc(50% - min(550px, calc(50vw - 24px))) !important;
    margin-right:calc(50% - min(550px, calc(50vw - 24px))) !important;
  }
  html body #body_wrap.home .area-columns.alignwide:not(.area-cta),
  html body #body_wrap.home .strengths-box.alignwide,
  html body #body_wrap.home .strengths-box .reason-card.alignwide{
    left:auto !important;
    right:auto !important;
  }
  html body #body_wrap.home .area-columns.alignwide:not(.area-cta),
  html body #body_wrap.home .strengths-box .reason-card.alignwide{
    width:100% !important;
    max-width:100% !important;
  }
}

/* 960〜1142px専用：対応エリアは地図→アクセスカード→CTAの縦積み。2カラムは使わない。 */
@media (min-width:960px) and (max-width:1142.98px){
  html body #body_wrap.home .wp-block-group.alignwide.pc_only:has(.area-columns){
    left:auto !important;
    right:auto !important;
    overflow:visible !important;
  }
  html body #body_wrap.home .area-columns.alignwide:not(.area-cta),
  html body #body_wrap.home .pc_only .wp-block-columns.wp-block-columns.alignwide.area-columns:not(.area-cta){
    display:flex !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    grid-template-columns:none !important;
    gap:24px !important;
    row-gap:24px !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:100% !important;
    max-width:100% !important;
    overflow:visible !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
  }
  html body #body_wrap.home .area-columns.alignwide:not(.area-cta) > .wp-block-column,
  html body #body_wrap.home .pc_only .wp-block-columns.wp-block-columns.alignwide.area-columns:not(.area-cta) > .wp-block-column{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    min-width:0 !important;
    flex:none !important;
    align-self:center !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }
  html body #body_wrap.home .pc_only .wp-block-columns.wp-block-columns.alignwide.area-columns:not(.area-cta) > .wp-block-column:first-child{
    order:2 !important;
    width:min(504px, 100%) !important;
    max-width:min(504px, 100%) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
  }
  html body #body_wrap.home .pc_only .wp-block-columns.wp-block-columns.alignwide.area-columns:not(.area-cta) > .wp-block-column:last-child{
    order:1 !important;
    width:min(680px, 100%) !important;
    max-width:min(680px, 100%) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
  }
  html body #body_wrap.home .pc_only .area-card{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
  }
  html body #body_wrap.home .pc_only .area-card .area-access-list .wp-block-media-text__content p,
  html body #body_wrap.home .pc_only .area-card .area-access-list .wp-block-media-text__content p *{
    white-space:nowrap !important;
  }
  html body #body_wrap.home .pc_only .area-map,
  html body #body_wrap.home .pc_only .area-map.wp-block-image{
    width:100% !important;
    max-width:680px !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    flex:none !important;
    display:block !important;
    align-self:auto !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    box-sizing:border-box !important;
    overflow:visible !important;
    background:none !important;
    background-color:transparent !important;
  }
  html body #body_wrap.home .pc_only .area-map.wp-block-image img,
  html body #body_wrap.home .pc_only .area-map img{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    max-height:none !important;
    box-sizing:border-box !important;
    object-fit:contain !important;
    object-position:center center !important;
    display:block !important;
  }
  html body #body_wrap.home .pc_only .area-cta.area-cta.area-columns,
  html body #body_wrap.home .pc_only .area-cta.area-cta,
  html body #body_wrap.home .pc_only .area-cta.is-row{
    display:flex !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:center !important;
    grid-template-columns:none !important;
    column-gap:0 !important;
    gap:12px !important;
    width:min(504px, 100%) !important;
    max-width:min(504px, 100%) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
    padding:20px 32px !important;
    box-sizing:border-box !important;
  }
  html body #body_wrap.home .pc_only .area-cta.area-cta.area-columns .wp-block-media-text{
    width:auto !important;
    max-width:100% !important;
    justify-content:center !important;
  }
  html body #body_wrap.home .pc_only .area-cta.area-cta.area-columns .wp-block-media-text__content{
    width:auto !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  html body #body_wrap.home .pc_only .area-cta.area-cta.area-columns .area-divider{
    display:none !important;
  }
  html body #body_wrap.home .pc_only .area-cta.area-cta.area-columns .area-contact-btn,
  html body #body_wrap.home .pc_only .area-cta.area-cta.area-columns .wp-block-buttons,
  html body #body_wrap.home .pc_only .area-cta.area-cta.area-columns .wp-block-button{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
  html body #body_wrap.home .pc_only .area-cta.area-cta.area-columns .swell-block-button__link,
  html body #body_wrap.home .pc_only .area-cta.area-cta.area-columns .wp-block-button__link{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
}

/* =========================================================
   PC通常ヘッダー：ロゴを一段階小さくし、縦位置を中央へ戻す
   追従ヘッダー（.l-fixHeader）は対象外。
   このブロックは単独で完結。追加CSS末尾へこのブロックだけ貼ってよい。
========================================================= */
@media (min-width:960px){
  html body #header .l-header__logo{
    padding-top:0 !important;
    padding-bottom:0 !important;
    display:flex !important;
    align-items:center !important;
  }
  html body #header .c-headLogo,
  html body #header .c-headLogo.-img{
    min-height:0 !important;
    height:98px !important;
    display:flex !important;
    align-items:center !important;
    line-height:0 !important;
  }
  html body #header .c-headLogo a,
  html body #header .c-headLogo__link{
    display:flex !important;
    align-items:center !important;
    height:98px !important;
    min-height:0 !important;
    line-height:0 !important;
  }
  html body #header .c-headLogo img,
  html body #header .c-headLogo__img,
  html body #header .l-header__logo img{
    height:64px !important;
    max-height:64px !important;
    width:auto !important;
    display:block !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
  }
}

/* =========================================================
   960〜1142px：アクセスカードとCTAの幅を一段階狭める（560→504）
   地図は変更しない。追従ヘッダー・767/959境界修正は含まない。
   このブロックは単独で完結。追加CSS末尾へこのブロックだけ貼ってよい。
========================================================= */
@media (min-width:960px) and (max-width:1142.98px){
  html body #body_wrap.home .pc_only .wp-block-columns.wp-block-columns.alignwide.area-columns:not(.area-cta) > .wp-block-column:first-child{
    width:min(504px, 100%) !important;
    max-width:min(504px, 100%) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
  }
  html body #body_wrap.home .pc_only .area-cta.area-cta.area-columns,
  html body #body_wrap.home .pc_only .area-cta.area-cta,
  html body #body_wrap.home .pc_only .area-cta.is-row,
  html body #body_wrap.home .wp-block-group.alignwide.pc_only:has(.area-columns) > .wp-block-group__inner-container > .area-cta,
  html body #body_wrap.home .pc_only.wp-block-group.alignwide:has(.area-columns) > .wp-block-group__inner-container > .area-cta{
    width:min(504px, 100%) !important;
    max-width:min(504px, 100%) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;
  }
  html body #body_wrap.home .pc_only .area-card .area-access-list .wp-block-media-text__content p,
  html body #body_wrap.home .pc_only .area-card .area-access-list .wp-block-media-text__content p *{
    white-space:nowrap !important;
  }
}

/* =========================================================
   お問い合わせページ：タブレット帯（768〜959px）の説明文を2行に
   2行目は途中改行しない。見出し・フォームの幅は変更しない。
   767/959境界修正は含まない。このブロックは単独で完結。
========================================================= */
@media (min-width:768px) and (max-width:959px){
  html body.page-id-1496 .post_content > p.has-text-align-center:has(br),
  html body #body_wrap.page-id-1496 .post_content > p.has-text-align-center:has(br){
    max-width:none !important;
    width:100% !important;
    box-sizing:border-box !important;
  }
  html body.page-id-1496 .post_content > p.has-text-align-center:has(br) strong:last-of-type,
  html body #body_wrap.page-id-1496 .post_content > p.has-text-align-center:has(br) strong:last-of-type{
    white-space:nowrap !important;
  }
}

/* =========================================================
   料金プラン：PCで「お問い合わせはこちら」の縦位置を揃える
   カスタムプランの下端余白を基準に、3カードとも同じ位置へ。
   ボタンの幅・色・角丸・アイコン・文字サイズは変更しない。
   このブロックは単独で完結。追加CSS末尾へこのブロックだけ貼ってよい。
========================================================= */
@media (min-width:960px){
  html body #body_wrap.home .pc_only .wp-block-columns:has(> .price-card){
    align-items:stretch !important;
  }
  html body #body_wrap.home .pc_only .price-card,
  html body #body_wrap.home .pc_only .price-card-light,
  html body #body_wrap.home .pc_only .price-card-standard,
  html body #body_wrap.home .pc_only .price-card-custom{
    display:flex !important;
    flex-direction:column !important;
    align-self:stretch !important;
    box-sizing:border-box !important;
  }
  html body #body_wrap.home .pc_only .price-card > .price-title{
    margin-bottom:0 !important;
  }
  html body #body_wrap.home .pc_only .price-card > .price-number + .wp-block-separator{
    margin-top:0 !important;
  }
  html body #body_wrap.home .pc_only .price-card-custom > .wp-block-group{
    margin-bottom:0 !important;
  }
  html body #body_wrap.home .pc_only .price-card > ul{
    margin-top:0 !important;
  }
  html body #body_wrap.home .pc_only .price-card > .wp-block-spacer{
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    flex:0 0 0 !important;
  }
  html body #body_wrap.home .pc_only .price-card > .wp-block-buttons{
    margin-top:auto !important;
    width:100% !important;
    flex:0 0 auto !important;
  }
  html body #body_wrap.home .pc_only .price-card-light > p.price-label,
  html body #body_wrap.home .pc_only .price-card-standard > p.price-label,
  html body #body_wrap.home .pc_only .price-card-standard > p.price-label-blue{
    align-self:flex-start !important;
    width:auto !important;
    max-width:max-content !important;
    flex:none !important;
  }
}

/* =========================================================
   768pxジャスト：ごあいさつキャッチ下〜本文の余白だけ縮める
   原因：768pxでは max-width:768px の #greeting{transform:none} と
   768-959 の padding-bottom:84px が同時適用される。769pxでは
   translateY(50px) で見かけ上詰まるが、768pxではそれが無い。
   GREETING／ごあいさつ／キャッチの行間は変更しない。
   767px以下・769px以上は対象外。このブロックは単独で完結。
========================================================= */
@media (width: 768px){
  html body .home .section-heading.sp_only:has(#greeting) > .wp-block-group__inner-container > p:nth-of-type(2)#greeting.is-style-section_ttl,
  html body .home .section-heading.sp_only:has(#greeting) > .wp-block-group__inner-container > p:nth-of-type(2)#greeting.is-style-section_ttl.u-mb-20{
    padding-bottom:40px !important;
  }
}

/* =========================================================
   実績カード：薄い建物の背景装飾だけ削除
   実体は .career-card::after の background-image。
   見出しバー・中央罫線・カード枠・余白は変更しない。
   media query 内の再定義は無い。全幅で無効。このブロックは単独で完結。
========================================================= */
html body .achievement-card.career-card::after,
html body .wp-block-group.achievement-card::after{
  content:none !important;
  background-image:none !important;
  display:none !important;
}