/* ===========================================
   Responsive
   Breakpoints:
   mobile  : ~767px
   tablet  : 768–959px
   pc      : 960px~
   =========================================== */
   
/* ==================================================
   Mobile (〜767px)
   ================================================== */
@media (max-width: 767px) {
    body {
        padding-top: var(--header-height-sp);  
    }

    h1 { font-size: 20px; }
    h2 { font-size: 18px; }
    p  { font-size: 14px; }
 
    /* Layout */
    .container {
        padding: 0 var(--wp--preset--spacing--space-16);
      }

    /* Columns ブロックのレスポンシブ調整 */
    .wp-block-columns {
        gap: var(--wp--preset--spacing--space-20);
    }

/* SP余白はSection単位で暫定管理
   NOTE: 将来的に .section 共通クラスへ集約予定（Tech Debt） */
      .section-about,
      .section-business,
      .section-media-awards,
      .section-member,
      .section-company,
      .section-company-info,
      .section-company-results,
      .section-news,
      .about-us {
        padding: var(--section-padding-sp) 0;  /* モバイル: 60px */
    }

    .wp-block-group > .wp-block-group__inner-container {
        padding: 0 var(--wp--preset--spacing--space-16);  /* モバイル: 16px */
    }

    /* Header / Navigation */
    .header {
        height: var(--header-height-sp);              
    }
    
    .header__inner {
        padding: var(--wp--preset--spacing--space-16) 0;
    }

    .header__logo img {
        height: 40px;
    }

    .nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        height: auto;
        background: var(--wp--preset--color--mono-white);
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
        z-index: 100;
    }

    .nav__list {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        width: 97%;
        height: 50%;
        margin: 0 auto;
        padding: var(--wp--preset--spacing--space-30);
        border-bottom: var(--header-border) solid var(--wp--preset--color--gray-light);
        box-shadow: var(--shadow-lg);
    }

    .nav__item {
        width: 100%;
        padding-bottom: var(--wp--preset--spacing--space-10);
    }

    .nav__icon--arrow {
        width: 25px;
        height: auto;
        display: block;
    }

    .btn--menu-toggle .btn__bar {
        width: 40%;
        background-color: var(--wp--preset--color--text-medium);
    }

    /* PC右端のお問い合わせボタンは非表示 */
    .btn--header {
        display: none;
    }

    .is-open .btn--header {
        display: block;
        margin: 0 auto;
        margin-top: var(--wp--preset--spacing--space-20);
    }

    .btn--menu-toggle {
        display: flex;
    }

    /* メニュー開いたとき */
    .is-open .nav {
        display: flex;
        opacity: 1;
        visibility: visible;
    }
  
    /* CTA Section */    
    .cta-section {
        padding: var(--wp--preset--spacing--space-40) var(--wp--preset--spacing--space-16);
    }
    
    .cta-section__title {
        font-size: var(--font-size-title-2);
    }
    
    .cta-section__text {
        font-size: var(--font-size-body-3);
    }

    /* Footer */
    .footer__nav-list {
        flex-direction: column;
        gap: var(--wp--preset--spacing--space-20);
        padding: var(--wp--preset--spacing--space-30) 0;
    }

    .footer__nav-link {
        padding: 0;
    }

    .footer__nav-desc {
        display: none;
    }

    .footer__links {
        flex-direction: column;
        text-align: center;
    }

    .footer__links-logo {
        margin: 0 auto;
        flex-direction: column-reverse;
        padding-bottom: var(--wp--preset--spacing--space-20);
    }

    .footer__links-company{
        margin: 0 auto;
        width: 180px;
        height: auto;
        padding-bottom: var(--wp--preset--spacing--space-20);
    }

    .footer__links-sns {
        margin: 0 auto;
        min-width: 150px;
        padding-bottom: var(--wp--preset--spacing--space-30);
    }

    /* Contact Section */
    .contact {
        padding: 0 var(--wp--preset--spacing--space-32);
    }

    .contact__header {
        margin-left: 0;
        margin-right: 0;
    }

    .contact-form__field--privacy {
        justify-content: center;
    }

    .contact-form__field--privacy label {
        justify-content: center;
    }

    .contact-form__row {
        display: grid;
        grid-template-columns: 1fr;
    }

    .contact-form .input,
    .contact-form .textarea {
        font-size: clamp(0.75rem, calc(10vw - 1.5rem), 0.9375rem);
    }

    .contact__lead {
        font-size: clamp(0.875rem, 4.1vw, 1rem);
    }

    .contact-form .form-field__label {
        font-size: clamp(0.75rem, 3.59vw, 0.875rem);
    }

    .contact-form__check-text {
        font-size: clamp(0.75rem, 3.59vw, 0.875rem);
    }

    .contact-form__submit {
        display: block;
        margin: 0 auto;
        font-size: clamp(0.875rem, 4.1vw, 1rem);
    }

    /* thanks Section */
    .thanks {
        text-align: center;
        padding: var(--wp--preset--spacing--space-40) var(--wp--preset--spacing--space-10);
    }

    .thanks__text {
        text-align: center;
    }

    .u-br {
        display: none;
    }
    .u-br-sp {
        display: block;  /* SPでのみ改行 */
    }

    /* News 一覧 */
    .news__content.container {
        padding-left: var(--wp--preset--spacing--space-25);
        padding-right: var(--wp--preset--spacing--space-25);
    }

    .news__content .news-list__inner {
        grid-template-columns: 1fr;
        justify-items: stretch;
        width: 100%;
    }

    .news__content .news-list__inner > li,
    .news__content .news-list__inner .news-card {
        width: 100%;
        max-width: 100%;
    }

    /* divをスクロールコンテナにして幅を制約 */
    .wp-block-group.news__filter {
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .wp-block-group.news__filter::-webkit-scrollbar {
        display: none;
    }
    /* navのoverflowを解除（WPコア対策） */
    .wp-block-navigation.news__filter {
        overflow: visible;
    }
    /* ulは折り返しなし */
    .news__filter .wp-block-navigation__container,
    .news__filter ul {
        flex-wrap: nowrap;
    }

    .news-pagination {
        flex-wrap: wrap;
        margin-top: var(--wp--preset--spacing--space-30);
        margin-bottom: var(--wp--preset--spacing--space-30);
    }

    .single-news.container {
        padding-left: var(--wp--preset--spacing--space-15);
        padding-right: var(--wp--preset--spacing--space-15);
        padding-bottom: var(--section-padding-sp);
    }

    .single-news__back {
        margin-left: var(--wp--preset--spacing--space-5);
    }

    .single-news__image img {
        max-width: 320px;
    }

    .single-news__title {
        font-size: var(--font-size-body-1);
    }

    .single-news__content p {
        font-size: var(--font-size-body-2);
    }

    .single-news__date {
        font-size: var(--font-size-body-2);
    }

    /* トップページ News セクション */
    .news-list-item {
        flex-wrap: wrap;
        gap: var(--wp--preset--spacing--space-10);
    }

    .section-news__list .news-list-item__title {
        width: 100%;
        flex-basis: 100%;
    }

    .section-news {
        padding-left: clamp(1.5rem, 0.206rem + 5.31vw, 2.75rem);
        padding-right: clamp(1.5rem, 0.206rem + 5.31vw, 2.75rem);
    }

    .section-news__list {
        padding-left: 0;
        padding-right: 0;
    }
}

/* ==================================================
   Tablet (768–959px)
   ================================================== */
@media (min-width: 768px) and (max-width: 959px) {
    h1 { font-size: 24px; }
    h2 { font-size: 20px; }

    /* Layout */
    .container {
        padding: 0 var(--wp--preset--spacing--space-24);  /* タブレット: 24px */
    }

    /* Header: タブレットでナビが収まるよう調整 */
    .header {
        padding: 0 var(--wp--preset--spacing--space-16);
    }

    .header__logo img {
        max-height: 24px;
    }

    .nav__list {
        gap: var(--wp--preset--spacing--space-15);
    }

    .nav__link {
        font-size: var(--font-size-body-5);
    }

    .btn--header {
        margin-left: 0;
    }

    .btn--header .btn__link {
        padding: var(--wp--preset--spacing--space-8) var(--wp--preset--spacing--space-12);
    }

    .btn--header .btn__text {
        font-size: var(--font-size-body-5);
    }

    /* Footer: ヘッダーと同じ左右余白 */
    .footer .container {
        padding: 0 var(--wp--preset--spacing--space-16);
    }

    /* Footer: ヘッダーナビと同じfont-sizeに統一 */
    .footer__nav-list {
        gap: var(--wp--preset--spacing--space-20);
    }

    .footer__nav-link {
        font-size: var(--font-size-body-5);
    }

    .footer__nav-desc {
        font-size: var(--font-size-body-5);
    }

    /* front-page セクション: .container の 24px を about-us（space-40）に合わせて上書き */
    .section-about,
    .section-business,
    .section-media-awards,
    .section-member,
    .section-company {
        padding-left: var(--wp--preset--spacing--space-40);
        padding-right: var(--wp--preset--spacing--space-40);
    }

    /* CTA Section */
    .cta-section {
        padding: var(--wp--preset--spacing--space-60) var(--wp--preset--spacing--space-24);
    }

    /* thanks Section */
    .thanks {
        padding-top: var(--wp--preset--spacing--space-60);
        padding-bottom: var(--wp--preset--spacing--space-100);
    }
    
    /* News 一覧 */
    .single-news.container {
        padding-bottom: var(--section-padding);
    }
    /* front-page Member Section
       #member IDセレクタを使用: WPコアが wp-block-columns に flex-direction:column を
       インラインで強制するため、クラスセレクタ(.section-member)では詳細度が不足する */
    #member .member__list.wp-block-columns {
        max-width: 100%;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 16px;
        justify-content: center;
    }

    #member .member__item.wp-block-column {
        flex: 0 0 28%;
        width: 28%;
        max-width: 28%;
        min-width: 0;
        margin-left: 0;
        margin-right: 0;
    }

    .section-member .member-card__image {
        width: clamp(90px, 10vw, 120px);
    }

    .section-member .member__detail {
        width: 90%;
    }

    .section-member .member-card__name .member-card__name-text {
        font-size: clamp(0.875rem, 1.4vw, 1.125rem);
    }

    .section-member .member-card__name .member-card__position {
        font-size: clamp(0.625rem, 0.9vw, 0.8125rem);
    }

    .section-member .member__detail p {
        font-size: clamp(0.625rem, 0.85vw, 0.8125rem);
    }

}

 
/*退避。必要であれば定義する

   ==================================================
   Mobile (〜767px)
   ================================================== 
   @media (max-width: 767px) {
    .font-title-1, h1 {
        font-size: 20px;
    }
    
    .font-title-2, h2 {
        font-size: 18px;
    }
    
    .font-body-1 {
        font-size: 18px;
    }
    
    .font-body-2 {
        font-size: 16px;
    }
    
    .font-body-3, p {
        font-size: 14px;
    }
}

 タブレット（768px〜959px） 
@media (min-width: 768px) and (max-width: 959px) {
    .font-title-1, h1 {
        font-size: 24px;
    }
    
    .font-title-2, h2 {
        font-size: 20px;
    }
    
    .font-body-1 {
        font-size: 20px;
    }
    
    .font-body-2 {
        font-size: 18px;
    }
}
　 ===========================================
   Display Control Classes
   =========================================== 
   @media (max-width: 767px) {

     PC専用表示 
    .show-pc-only {
      display: none !important;
    }
  
     タブレット専用表示 
    .show-tablet-only {
      display: none !important;
    }
  
     モバイル非表示 
    .hide-mobile {
      display: none !important;
    }
  }
  
  @media (min-width: 768px) and (max-width: 959px) {
  
     モバイル専用表示 
    .show-mobile-only {
      display: none !important;
    }
  
     PC専用表示 
    .show-pc-only {
      display: none !important;
    }
  
     タブレット非表示 
    .hide-tablet {
      display: none !important;
    }
  }
  
  @media (min-width: 960px) {
  
     タブレット専用表示 
    .show-tablet-only {
      display: none !important;
    }
  
     モバイル専用表示 
    .show-mobile-only {
      display: none !important;
    }
  
     PC非表示 
    .hide-pc {
      display: none !important;
    }
  }

*/


   
/* ==================================================
   WordPress コア補正 (768–781px)
   WP core は 782px 以上で flex-wrap: nowrap、781px 以下でスタックするが、
   本テーマは 768px 以上を PC として扱うため 768-781px 帯を補正
   ================================================== */
@media (min-width: 768px) and (max-width: 781px) {
    .wp-block-columns {
        flex-wrap: nowrap !important;
    }

    .wp-block-column:not(:only-child):not(.member__item) {
        flex-basis: auto !important;
    }

    .wp-block-column:nth-last-child(n+3):first-child:not(.member__item),
    .wp-block-column:nth-last-child(n+3):first-child ~ .wp-block-column:not(.member__item) {
        flex-basis: auto !important;
    }

    /* CEO Card: 等幅を維持（GAP中央揃え） */
    .ceo-card.wp-block-columns .wp-block-column {
        flex: 1 1 0% !important;  /* 詳細度0,3,0でauto上書きを打ち消す */
    }
}


/* ==================================================
   SP — Front Page Components (≤767px)
   ================================================== */
@media (max-width: 767px) {

    /* セクション上下余白の縮小 / 左右余白はカード側で制御 */
    .section-about,
    .section-business,
    .section-media-awards,
    .section-member,
    .section-company {
        padding-top: clamp(20px, 5.33vw, 40px) !important;
        padding-bottom: clamp(20px, 5.33vw, 40px) !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* セクションカードへ左右余白を付与 */
    .vm-card.wp-block-columns,
    .business-card-list.wp-block-columns,
    .media-awards.wp-block-columns,
    .member__list.wp-block-columns,
    .company-info-card.wp-block-columns {
        padding-left: clamp(1.5rem, 0.206rem + 5.31vw, 2.75rem);
        padding-right: clamp(1.5rem, 0.206rem + 5.31vw, 2.75rem);
    }

    /* About — VM Card */
    .vm-card__image-box { padding: 0; }
    .section-about .vm-card__text-item p,
    .about-us .vm-card__text-item p { font-size: clamp(1.25rem, 4vw, 2rem); }  /* 390px=20px, 767px≈31px fluid */
    .more-link-wrapper {
        padding: clamp(12px, 3.2vw, 24px) 0;
        font-size: var(--font-size-body-4);
    }

    /* Business Cards — 左右余白統一 */
    .business-card {
        padding: 0;
        box-sizing: border-box;
    }
    .business-card > * {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }
    .business-card .wp-block-group > * {
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .section-business .business-card__title { font-size: clamp(1.125rem, 3.5vw, 1.75rem); }  /* 390px=18px, 767px≈27px fluid */
    .section-business .business-card__text  { font-size: clamp(0.875rem, 2.8vw, 1.375rem); } /* 390px=14px, 767px≈21px fluid */

    /* Media/Awards — 縦並び + 横区切り線 */
    .media-awards.wp-block-columns { flex-direction: column; }
    .media-awards__media { width: 100%; flex-direction: column; }
    .media-awards__awards { width: 100%; }
    .media-awards__media::before { display: none; }
    .media-awards__media::after {
        content: "";
        display: block;
        width: 80%;
        height: 2px;
        background-color: var(--wp--preset--color--gray-medium);
        margin: clamp(40px, 10.67vw, 80px) auto clamp(8px, 2.13vw, 16px);
    }

    /* Awards — 縦並び + スケール */
    .awards__list { grid-template-columns: 1fr; }
    .awards__item:nth-child(1) .awards__logo { height: clamp(180px, 21.3vw, 250px); }
    .awards__item:nth-child(2) .awards__logo { height: clamp(60px, 16vw, 100px); }
    .section-media-awards .awards__text { font-size: clamp(0.875rem, 2.5vw, 1.25rem); } /* 390px=14px, 767px≈19px fluid */
    .awards__item:nth-child(1) .awards__text { padding-top: 0; }

    /* Member Cards — 1カラム縦並び */
    .member__list.wp-block-columns { flex-direction: column; align-items: center; gap: clamp(40px, 10.67vw, 60px); }
    .member__list .wp-block-column { width: 100%; max-width: 100%; margin: 0 auto; }
    /* front-page section-member では member ページ共通の padding を打消し */
    .section-member .member-card__image { padding: 0; }
    .section-member .member-card__name { padding-left: 0; padding-right: 0; padding-bottom: 0; }

    /* front-page: SP — 人物間の縦余白（レスポンシブ） */
    .section-member .member__list.wp-block-columns {
        gap: clamp(48px, 12vw, 72px);
    }
    .section-member .member__list + .member__list {
        margin-top: clamp(48px, 12vw, 72px);
        padding-bottom: clamp(72px, 18vw, 108px);
    }
    .section-member .more-link-wrapper {
        margin-top: clamp(48px, 12vw, 72px);
    }

    /* front-page: SP — カードをブラウザ幅（共通余白内）にフィット
       !important: components.css の .section-member .member__item に設定した
       PC用 flex-basis clamp() をSPで上書きするために必要 */
    .section-member .member__item {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .section-member .member-card__image {
        width: clamp(150px, 40vw, 320px);
    }

    .section-member .member__detail {
        width: clamp(207px, 55vw, 440px);
    }

    /* Company Info Card — SP: 1カラム縦並び（画像先） */
    .company-info-card.wp-block-columns {
        display: flex !important;
        flex-direction: column-reverse;
    }
    .company-info-card > .wp-block-column {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;  /* 左右余白はセクションカード側で制御 */
    }
    .company-info-card__box .more-link-wrapper { text-align: center; }

    /* Front Page — SP フォントサイズ調整（767pxまでfluid継続） */
    .section-about h2,
    .section-business h2,
    .section-media-awards h2,
    .section-member h2,
    .section-company h2,
    .section-news h2 {
        font-size: clamp(1.25rem, 4vw, 2.5rem);   /* 390px=20px, 767px≈31px fluid */
    }

    .section-about p,
    .section-business p,
    .section-media-awards p,
    .section-member p,
    .section-company p {
        font-size: clamp(0.875rem, 3vw, 1.5rem); /* 390px=14px, 767px≈23px fluid */
    }


    /* 経営メンバー — 氏名・役職・略歴 SP フォントサイズ（767pxまでfluid） */
    .section-member .member-card__name .member-card__name-text {
        font-size: clamp(1.125rem, 4vw, 2rem);       /* 390px≈18px, 767px≈31px */
    }
    .section-member .member-card__name .member-card__position {
        font-size: clamp(0.75rem, 2.5vw, 1.25rem);  /* 390px≈12px, 767px≈19px */
    }
    .section-member .member__detail p {
        font-size: clamp(0.75rem, 2.5vw, 1.125rem); /* 390px≈12px, 767px≈19px */
    }

    /* 会社情報 — 会社名・所在地 SP スケール */
    .section-company .company-info-card__label {
        font-size: clamp(0.875rem, 2.5vw, 1.25rem);  /* 390px=14px, 767px≈19px */
    }
    .section-company .company-info-card__value {
        font-size: clamp(1.125rem, 3.5vw, 1.625rem); /* 390px=18px, 767px≈27px */
    }

    /* Hero Section — SP */
    .hero-section {
        width: 100%;
        max-width: none !important;
        margin-left: 0 !important;
        height: 580px;
        overflow: hidden;
    }

    /* 装飾画像 — 初期状態 */
    .hero__decoration--top-back,
    .hero__decoration--top-front,
    .hero__decoration--bottom-back,
    .hero__decoration--bottom-front {
        opacity: 0;
        transition: opacity 0.6s ease, transform 0.6s ease;
    }

    /* 装飾画像 — show-decoration */
    .hero-section.show-decoration .hero__decoration--top-back,
    .hero-section.show-decoration .hero__decoration--top-front,
    .hero-section.show-decoration .hero__decoration--bottom-back,
    .hero-section.show-decoration .hero__decoration--bottom-front {
        opacity: 1;
    }

    /* 装飾画像 — 個別位置 */
    .hero-section .hero__decoration--top-back    { right: -5vw; bottom: 0; width: 100%; z-index: 0; }
    .hero-section .hero__decoration--top-front   { right: -5vw; bottom: 0; width: 50%;  z-index: 25; }
    .hero-section .hero__decoration--bottom-back { top: 0;      left: -5vw; width: 80%; z-index: 0; }
    .hero-section .hero__decoration--bottom-front { top: 0;     left: -5vw; width: 90%;  z-index: 10; }

    /* show-flex — 縦並び */
    .hero-section .hero-slides.show-flex {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 2%;
        bottom: 2%;
        left: 0;
        right: 0;
        height: auto;
        max-width: none;
    }

    .hero-section .hero-slides.show-flex li {
        position: absolute;
        left: 16px;
        right: 16px;
        width: auto;
        opacity: 0;
        transition: opacity 0.8s ease, transform 0.8s ease;
    }

    .hero-section .hero-slides.show-flex li picture img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    /* li:1 — 上部（women-hands-sp） */
    .hero-section .hero-slides.show-flex li:nth-child(1).visible {
        top: 0;
        height: 30%;
        opacity: 1;
        z-index: 3;
    }

    /* li:2 — 中央（women-sp） */
    .hero-section .hero-slides.show-flex li:nth-child(2).visible {
        top: 30%;
        height: 40%;
        opacity: 1;
        z-index: 1;
    }
    .hero-section .hero-slides.show-flex li:nth-child(2) picture img {
        object-position: center 20%;
    }

    /* li:3 — 下部1/3（green-sp）：show-flex直後から表示 */
    .hero-section .hero-slides.show-flex li:nth-child(3),
    .hero-section .hero-slides.show-flex li:last-child {
        top: auto;
        bottom: 0;
        height: 30%;
        z-index: 20;
        opacity: 1;
    }

    /* scroll-down — SP調整 */
    .hero-section .scroll-down a {
        left: -2px;
        bottom: 40px;
    }

    .hero-section .scroll-down::before {
        bottom: 18px;
        right: -15px;
        background: var(--wp--preset--color--mono-black);
    }
}


/* ==================================================
   About Us – Mobile (〜767px)
   ================================================== */
@media (max-width: 767px) {

    /* --- About Us: 外側コンテナ左右余白（詳細度を .wp-block-group.about-us に揃える） */
    .wp-block-group.about-us {
        padding-left: clamp(1.5rem, 0.206rem + 5.31vw, 2.75rem);
        padding-right: clamp(1.5rem, 0.206rem + 5.31vw, 2.75rem);
    }

    /* --- VM Card: 縦並び --- */
    .about-us .vm-card.wp-block-columns {
        flex-wrap: wrap !important;
        gap: var(--wp--preset--spacing--space-20);
        padding: 0;
    }

    .about-us .vm-card__image-box.wp-block-column {
        flex: 0 0 100% !important;
        max-width: 100%;
    }

    .about-us .vm-card__text-box.wp-block-column {
        flex: 0 0 100% !important;
    }

    /* --- CEO Card: 縦並び --- */
    .ceo-card.wp-block-columns {
        flex-wrap: wrap !important;
        gap: var(--wp--preset--spacing--space-20);
        padding-top: var(--wp--preset--spacing--space-30);
        padding-bottom: var(--wp--preset--spacing--space-30);
        padding-left: clamp(1.5rem, 0.206rem + 5.31vw, 2.75rem);
        padding-right: clamp(1.5rem, 0.206rem + 5.31vw, 2.75rem);
        margin: var(--wp--preset--spacing--space-40) auto;
    }

    .ceo-card .wp-block-column:first-child {
        flex: 0 0 100% !important;
        justify-content: center;
    }

    .ceo-card .wp-block-column.ceo-card__intro {
        flex: 0 0 100% !important;
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        padding-top: var(--wp--preset--spacing--space-20);
    }

    /* VM・CEO 画像幅を統一（コンテナ幅いっぱいに統一） */
    .about-us .vm-card__image-box.wp-block-column,
    .ceo-card__image {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
    }

    /* CEO 役職名・名前・メッセージタイトル: fluid スケール */
    .ceo-card__name {
        font-size: clamp(1.5rem, 4vw, 2rem);  /* 390px=24px, 767px≈31px */
    }

    .ceo-card__lead {
        font-size: clamp(1.5rem, 4vw, 2rem);  /* 390px=24px, 767px≈31px */
    }

    /* CEO Message: 左右余白を ceo-card に揃える */
    .ceo-card__message.wp-block-group {
        margin-top: var(--wp--preset--spacing--space-30);
        width: calc(100% - clamp(1.5rem, 0.206rem + 5.31vw, 2.75rem) * 2);
        margin-left: auto;
        margin-right: auto;
    }

    .ceo-card__message p {
        font-size: 1.25rem;  /* 20px: SP でのサイズアップ */
    }
}


/* ===========================================
   DAIVE Page Styles
   ページ: daive
   セクション: Hero, Title, Feature, Female PM, Solution, Case, Contact
   参照: 公開サイト daive.css
   =========================================== */

@media (max-width: 767px) {

    /* PC/SP 画像切り替え */
    .u-pc-only {
        display: none;
    }

    .u-sp-only {
        display: block;
    }

    /* Feature セクション：SP画像間の隙間を背景色で隠す */
    .daive__feature {
        background-color: #231f24;
    }

    /* Solution セクション画像幅 */
    .daive__solution-title img {
        width: 60%;
    }

    .daive__solution-example img {
        width: 80%;
    }

    /* Case セクション画像幅 */
    .daive__case-title img {
        width: 70%;
    }

    .daive__case-example img {
        width: 90%;
    }

    /* Contact セクション */
    .daive__contact-title {
        font-size: 1.3rem;
    }

    .daive__contact-title::after {
        width: 50vw;
    }

    .daive__contact .company-info-card__list {
        padding: 0 2em;
    }

    .daive__contact .company-info-card__label {
        font-size: 1.1rem;
    }

    .daive__contact .company-info-card__value {
        font-size: 1.15rem;
    }

    .daive__contact-note {
        font-size: 1.3rem;
    }

    .daive__contact .wp-block-button__link {
        width: clamp(200px, 50vw, 500px);
        height: clamp(46px, 6vw, 84px);
        font-size: clamp(14px, 2.5vw, 20px);
    }
}
/* ===========================================
   Business Overview Page Styles
   ページ: business-overview
   セクション: Intro, Visuals, Caption, Lead, Feature Diagram, Learning Flow, Business Cards
   =========================================== */
@media (max-width: 767px) {
    .business-overview__intro.container,
    .business-overview__details.container {
        padding-top: 0;
        padding-bottom: clamp(1rem, 0.225rem + 3.18vw, 1.75rem);
        padding-left: clamp(1.5rem, 0.206rem + 5.31vw, 2.75rem);
        padding-right: clamp(1.5rem, 0.206rem + 5.31vw, 2.75rem);
    }

    .business-card-list.wp-block-columns {
        padding-top: clamp(1rem, 0.225rem + 3.18vw, 1.75rem);
        padding-bottom: clamp(1rem, 0.225rem + 3.18vw, 1.75rem);
        padding-left: clamp(1.5rem, 0.206rem + 5.31vw, 2.75rem);
        padding-right: clamp(1.5rem, 0.206rem + 5.31vw, 2.75rem);
    }

    .business-overview__lead p {
        font-size: clamp(1.5rem, 0.596rem + 3.71vw, 2.375rem);
    }

    .business-overview__lead br {
        display: none;
    }

    .business-overview__intro-caption p {
        font-size: clamp(0.9375rem, 0.355rem + 2.39vw, 1.5rem);
    }

    .business-overview__intro-caption,
    .business-overview__lead {
        padding: 0;
    }

    .business-overview__visuals {
        padding: 0;
    }

    .business-overview__hero-visual,
    .business-overview__sub-visual {
        max-width: 100%;
    }

    .business-card-list {
        flex-direction: column;
        gap: clamp(0.625rem, 2.65vw, 1.25rem);
        margin-top: clamp(6.25rem, 2.372rem + 15.91vw, 10rem);
    }

    div.wp-block-columns.business-card-list > .business-card {
        flex-basis: 100% !important;
    }

    .business-overview__feature-diagram,
    .business-overview__learning-flow-diagram {
        padding: 0;
    }

    .business-overview__feature-image img,
    .business-overview__learning-flow-image img {
        max-width: 100%;
    }

    .business-card__title {
        font-size: clamp(1.25rem, 0.475rem + 3.18vw, 2rem);
    }

    .business-card__text {
        font-size: clamp(1.25rem, 0.475rem + 3.18vw, 2rem);
    }

    .business-card__content {
        margin-bottom: 0;
    }

    .business-card .more-link-wrapper {
        margin-bottom: clamp(1.25rem, 0.604rem + 2.65vw, 1.875rem);
    }
}


 /* ===========================================
     Company Info Page Styles
     ページ: company-info
     セクション: Page Intro Header, Company Info, Company Results
     参照: 公開サイト company-info.css
     =========================================== */
@media (max-width: 767px) {

    /* セクション区切り線（共通） */
    .section-company-info,
    .company-results-card.wp-block-columns > .wp-block-column.company-results-card__box:first-child {
        border-bottom: 3px solid var(--wp--preset--color--gray-light);
    }

    /* SP: 全コンテンツ左右余白（member ページ統一）
       section タグを追加して layout.css の section.section-company-info.wp-block-group(0,2,1) と詳細度を揃える */
    section.section-company-info.container {
        padding-left: clamp(1.5rem, 0.206rem + 5.31vw, 2.75rem);
        padding-right: clamp(1.5rem, 0.206rem + 5.31vw, 2.75rem);
    }
    section.section-company-results.container {
        padding-top: clamp(1.5rem, 0.206rem + 5.31vw, 2.75rem);
        padding-left: clamp(1.5rem, 0.206rem + 5.31vw, 2.75rem);
        padding-right: clamp(1.5rem, 0.206rem + 5.31vw, 2.75rem);
    }

    /* --- 会社概要: SP 1カラム縦積み（画像→リスト） --- */
    .company-info-card.wp-block-columns {
        grid-template-columns: 1fr;
    }

    /* company-info ページ: 外側セクションで余白管理のため内側 padding をリセット */
    .section-company-info .company-info-card.wp-block-columns {
        padding-left: 0;
        padding-right: 0;
    }

    .company-info-card.wp-block-columns > .wp-block-column.company-info-card__box,
    .company-info-card.wp-block-columns > .wp-block-column.company-info-card__image {
        flex-basis: 100% !important;
        max-width: 100%;
    }

    .wp-block-column.company-info-card__image {
        margin-top: 0;
        padding-top: 0;
    }



    /* --- 受賞歴・取引先: 縦積み --- */
    .company-results-card {
        flex-wrap: wrap !important;
        flex-direction: column;
        align-items: center;
    }

    .company-results-card.wp-block-columns > .wp-block-column.company-results-card__box {
        flex-basis: 100% !important;
        max-width: 100%;
        min-width: auto;
    }

    /* 受賞歴と取引先の間（余白のみ個別指定） */
    .company-results-card__box:first-child {
        padding-bottom: var(--wp--preset--spacing--space-40);
    }

    .company-results-card__box:last-child {
        padding-top: var(--wp--preset--spacing--space-40);
    }

    /* --- 受賞歴: 縦積み --- */
    .awards__list {
        flex-direction: column;
        align-items: center;
    }

    .awards__item {
        height: auto;
        max-width: 100%;
        padding-bottom: var(--wp--preset--spacing--space-20);
    }

    .awards__text {
        font-size: clamp(1.125rem, 0.737rem + 1.592vw, 1.5rem);
    }

    .awards__logo img {
        height: 100px;
    }

    /* 取引先テキストサイズ */
    .company-results-card__list p {
        font-size: clamp(1.25rem, 0.733rem + 2.122vw, 1.75rem);
    }

    /* Google Mapリンク */
    .section-company-info__map-link {
        display: block;
        margin-left: 0;
        margin-top: var(--wp--preset--spacing--space-8);
        text-align: center;
        width: fit-content;
        font-size: clamp(0.75rem, 0.621rem + 0.531vw, 0.875rem);
    }

    /* 小見出し フォントスケーリング（390px=24px, 767px=36px） */
    .section-company-info .section-subheading,
    .section-company-results .section-subheading {
        font-size: clamp(1.5rem, 0.724rem + 3.183vw, 2.25rem);
    }

    /* 会社概要リスト フォントスケーリング */
    /* label: 390px=18px, 767px=28px */
    .section-company-info .company-info-card__label {
        font-size: clamp(1.125rem, 0.478rem + 2.653vw, 1.75rem);
    }

    /* value: 390px=14px, 767px=22px */
    .section-company-info .company-info-card__value {
        font-size: clamp(0.875rem, 0.358rem + 2.122vw, 1.375rem);
    }
}


/* ===========================================
   Member Page Styles
   ページ: member
   セクション: Member Profile, Company Info
   参照: 公開サイト member.css
   =========================================== */

/* Member Page: Mobile (〜767px) */
@media (max-width: 767px) {

    .member {
        max-width: var(--wp--style--global--content-size);
        margin: 0 auto;
        padding-top: 0;
        padding-bottom: 0;
        padding-left: clamp(1.5rem, 0.206rem + 5.31vw, 2.75rem);
        padding-right: clamp(1.5rem, 0.206rem + 5.31vw, 2.75rem);
    }

    .member .member__list.wp-block-columns {
        flex-wrap: wrap;
        padding-left: 0;
        padding-right: 0;
    }

    .member .member__list > .wp-block-column {
        flex-basis: 100% !important;
    }


    /* メンバーカード フォントサイズ（モバイル用スケーリング） */
    .member-card__name .member-card__name-text {
        font-size: clamp(1.5rem, 5.83vw, 1.75rem);
    }

    .member-card__name p.member-card__position {
        font-size: clamp(1.25rem, 4.37vw, 1.5rem);
    }

    .member__detail p {
        font-size: clamp(1.125rem, 3.9vw, 1.375rem);
    }

    .company-info {
        max-width: var(--wp--style--global--content-size);
        margin: 0 auto;
        padding-top: var(--section-padding);
        padding-bottom: var(--section-padding);
        padding-left: clamp(1.5rem, 0.206rem + 5.31vw, 2.75rem);
        padding-right: clamp(1.5rem, 0.206rem + 5.31vw, 2.75rem);
    }

    .company-info__message {
        font-size: clamp(1.5rem, 1.1rem + 0.74vw, 1.75rem);
    }

    /* 会社情報: 画像を上・テキストを下に並び替え */
    .company-info .company-info__columns.wp-block-columns {
        flex-wrap: wrap;
        flex-direction: column-reverse;
    }

    .company-info .company-info__columns > .wp-block-column {
        flex-basis: 100% !important;
    }

}
