html {
    scroll-behavior: smooth;
}
 
body {
    padding-top: var(--header-height-pc);  
}
/* ===========================================
   Container System
   (legacy/responsive.css から統合、spacing scale 連動)
   =========================================== */
   .container {
    width: 100%;
    max-width: var(--wp--style--global--content-size);
    margin: 0 auto;
    padding: 0 var(--wp--preset--spacing--space-40);
}

/* ===========================================
   Grid System
   (legacy/common.css + responsive.css から統合)
   =========================================== */
/* 基本カラム */
.u-flex {
    display: flex;
    flex-wrap: wrap;
    gap: var(--wp--preset--spacing--space-20);
}

.u-flex-1  { flex: 0 1 8.333%; }
.u-flex-2  { flex: 0 1 16.666%; }
.u-flex-3  { flex: 0 1 25%; }
.u-flex-4  { flex: 0 1 33.333%; }
.u-flex-5  { flex: 0 1 41.666%; }
.u-flex-6  { flex: 0 1 50%; }
.u-flex-7  { flex: 0 1 58.333%; }
.u-flex-8  { flex: 0 1 66.666%; }
.u-flex-9  { flex: 0 1 75%; }
.u-flex-10 { flex: 0 1 83.333%; }
.u-flex-11 { flex: 0 1 91.666%; }
.u-flex-12 { flex: 0 1 100%; }

/* ===========================================
   FSE Blocks: Group / Columns 補完
   (WordPress FSEブロックを補完するレイアウトCSS)
   =========================================== */
.wp-block-group {
    box-sizing: border-box;
    padding: 0;
}

/* Group ブロック（背景あり）のパディング */
/* デザインを確認してサイズ調整必要 */
.wp-block-group.has-background {
    padding: var(--wp--preset--spacing--space-40) var(--wp--preset--spacing--space-20);
}

/* Group ブロック内のコンテナ（.container と同様のpadding） */
.wp-block-group > .wp-block-group__inner-container {
    max-width: var(--wp--style--global--content-size);
    margin: 0 auto;
    padding: 0 var(--wp--preset--spacing--space-40);  
}

/* Columns ブロックの補完 */
.wp-block-columns {
    gap: var(--wp--preset--spacing--space-20);
    margin-bottom: var(--wp--preset--spacing--space-40);
}

/* Columns ブロック内の各カラム */
.wp-block-column {
    min-width: 0;  /* オーバーフロー防止 */
}

/* ===========================================
   Section 共通（余白・アンカーリンク対応）
   =========================================== */
/* front-page.html */
.section-about,
.section-business,
.section-media-awards,
.section-member,
.section-company,
.section-news,
/* page-company-info.html */
.section-company-info,
.section-company-results,
/* page-about-us.html */
.about-us {
    padding: var(--section-padding) 0;
    scroll-margin-top: var(--header-height-pc);
}

/* page-about-us.html: page-intro-header  section の padding */
.wp-block-group.about-us {
    padding-top: 0;
    padding-bottom: var(--wp--preset--spacing--space-30);
    padding-left: var(--wp--preset--spacing--space-40);
    padding-right: var(--wp--preset--spacing--space-40);
}

/* page-company-info.html: 左右余白を全ページ統一値に統一
   詳細度を上げてWPコア(.wp-block-group.is-layout-constrained: max-width:100%)を上書き */
section.section-company-info.wp-block-group,
section.section-company-results.wp-block-group {
    max-width: var(--wp--style--global--content-size);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--wp--preset--spacing--space-40);
    padding-right: var(--wp--preset--spacing--space-40);
}

/* front-page セクション上下余白の調整・container の max-width 上書き */
.section-about,
.section-business,
.section-media-awards,
.section-member,
.section-company,
.section-news {
    max-width: 100%;
    padding-top: var(--wp--preset--spacing--space-30);
    padding-bottom: var(--wp--preset--spacing--space-30);
    padding-left: var(--wp--preset--spacing--space-40);
    padding-right: var(--wp--preset--spacing--space-40);
}

/* Hero Section の余白リセット */
.hero-section {
    padding: 0;
}

/* ===========================================
   Header Layout
   =========================================== */
.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;               
    padding: 0 var(--wp--preset--spacing--space-20);            
    height: var(--header-height-pc);   /* PCの高さを設定 */          
    background: var(--wp--preset--color--mono-white);
    border-bottom: 1px solid var(--wp--preset--color--gray-light);
    box-shadow: var(--shadow-lg);
    z-index: 1000;
    box-sizing: border-box;    
}

.header a {
    /*script.jsで指定しているスタイルを当てないため*/
    color: inherit;
    text-decoration: none; 
}

/* ロゴ配置 */
.header__logo { 
    display: flex; /* 横並びにしても縦中央揃え可能に */ 
    align-items: center; 
    height: auto; /* 親要素の高さは内容に合わせる */ 
} 

.header__logo img { 
    display: block; max-height: 30px;  
    height: auto; width: auto; /* 縦横比を維持 */ 
}

/* =========================
   お問い合わせ ボタン
   ========================= */
   .btn--header {
    margin-left: auto;
}

/* =========================
   ハンバーガーメニュー（ヘッダーボタン）
   ========================= */
.btn--menu-toggle {
display: none; /* 必要に応じて media query で表示 */
width: 60px; 
height: var(--header-height-sp);
position: fixed;
top: 0;
right: 0;
z-index: 200;
}

.btn--menu-toggle .btn__bar:nth-child(1) { top: 35%; }
.btn--menu-toggle .btn__bar:nth-child(2) { top: 50%; }
.btn--menu-toggle .btn__bar:nth-child(3) { top: 65%; }

/* ============================
   Footer Layout
   ============================ */
.footer {
    background-color: var(--wp--preset--color--footer-bg);
    color: var(--wp--preset--color--text-lightest);
}

.footer .container {
    padding: 0 var(--wp--preset--spacing--space-20);
}

/* ============================
   Footer NavigationArea
   ============================ */
.footer__nav-list {
    display: flex;
    gap: var(--wp--preset--spacing--space-40);
    padding: var(--wp--preset--spacing--space-30) 0;
    margin: 0;
    list-style: none;
}

.footer__nav-item {
    display: flex;
    flex-direction: column;
}

.footer__nav-link {
    font-size: var(--font-size-body-4);
    font-weight: var(--font-weight-normal);
    padding-bottom: var(--wp--preset--spacing--space-20);
    text-decoration: none;
    color: inherit;
}

.footer__nav-desc {
    padding-bottom: var(--wp--preset--spacing--space-10);
    margin: 0;
    display: block; /* PCでは表示 */
    font-size: var(--font-size-body-4);
}

/* ============================
   Footer Logo/link
   ============================ */
.footer__links {
    display: flex;
    justify-content: space-between;
    padding: var(--wp--preset--spacing--space-10) 0;
    margin: var(--wp--preset--spacing--space-20) auto;
}

.footer__links-logo,
.footer__links-sns {
    display: flex;
    align-items: center;
}

/* ロゴ画像のスタイル（元.mse） */
.footer__links-logo img {
    display: block;
    width: 80%;
}

.footer__links-sns {
    width: 70%;
    justify-content: space-around;
}

.footer__links-sns img {
    width: 38px;
}

/* ===============================
   Footer Privacy Policy/Copyright
   =============================== */
.footer__privacy {
    text-decoration: underline;
    text-decoration-color: var(--wp--preset--color--text-lightest);
    text-underline-offset: 2px;
    color: var(--wp--preset--color--text-lightest);
    padding-bottom: var(--wp--preset--spacing--space-20);
}

.footer__copyright {
    text-align: center;
    font-size: var(--font-size-body-4);
    color: var(--wp--preset--color--text-lightest);
    padding-bottom: var(--wp--preset--spacing--space-30);
}
  
/* ===========================================
   front-page（トップページ）固有CSS Hero Section
   =========================================== */

/* --- 基本構造 --- */
.hero-section {
    position: relative;
    width: 100vw;
    max-width: none !important;
    margin-left: calc(-50vw + 50%) !important;
    padding: 0;
    height: clamp(309px, 40.28vw, 580px);
    overflow: hidden;
    z-index: 0;
}

/* WordPress constrained layout の max-width 制約を解除 */
.hero-section > * {
    max-width: none;
}

/* --- スライドリスト: 初期状態（スライドショー） --- */
.hero-section .hero-slides {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    z-index: 1;
    overflow: hidden;
}

.hero-section .hero-slides li {
    position: absolute;
    top: 2px;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    animation: slideAnime 12s ease forwards;
    transform: scale(1.05);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.hero-section .hero-slides li picture {
    display: block;
    width: 100%;
    height: 100%;
}

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

/* フェードの順番（3秒間隔） */
.hero-section .hero-slides li:nth-child(1) { animation-delay: 0s; }
.hero-section .hero-slides li:nth-child(2) { animation-delay: 3s; }
.hero-section .hero-slides li:nth-child(3) { animation-delay: 6s; }

@keyframes slideAnime {
    0%   { opacity: 0; }
    5%   { opacity: 1; }
    25%  { opacity: 1; }
    30%  { opacity: 0; }
    100% { opacity: 0; }
}

/* --- show-flex: 3枚横並びに切り替え --- */
.hero-section .hero-slides.show-flex {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 98%;
    max-width: clamp(693px, 90.28vw, 1300px);
    margin: 1% auto;
}

.hero-section .hero-slides.show-flex li {
    position: relative;
    top: 0;
    flex: 1;
    opacity: 0;
    animation: none;
    transform: translateY(20px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.hero-section .hero-slides.show-flex li picture img {
    width: 100%;
    height: clamp(293px, 38.19vw, 550px);
    object-fit: cover !important;
    object-position: center;
    z-index: 0;
}

/* 画像の初期オフセット（show-flex直後、visible付与前） */
.hero-section .hero-slides.show-flex li:nth-child(1) { transform: translateX(clamp(-50px, -3.47vw, -27px)); }
.hero-section .hero-slides.show-flex li:nth-child(2) { transform: translateX(clamp(27px, 3.47vw, 50px)); }
.hero-section .hero-slides.show-flex li:nth-child(3) { transform: translateX(clamp(-10px, -0.69vw, -5px)); }

/* 各画像の表示順序 */
.hero-section .hero-slides.show-flex li:nth-child(1) { order: 1; }
.hero-section .hero-slides.show-flex li:nth-child(2) { order: 3; }
.hero-section .hero-slides.show-flex li:nth-child(3) { order: 2; }

/* 画像の object-position */
.hero-section .hero-slides.show-flex li:nth-child(1) picture img { object-position: left center; }
.hero-section .hero-slides.show-flex li:nth-child(2) picture img { object-position: right center; }
.hero-section .hero-slides.show-flex li:nth-child(3) picture img { object-position: center center; }

/* --- visible: 共通（scale含む） --- */
.hero-section .hero-slides.show-flex li.visible {
    opacity: 1;
    transform: translateY(0) scale(1.05);
}

/* --- visible: 各画像の個別オーバーライド --- */
.hero-section .hero-slides.show-flex li:nth-child(1).visible {
    transform: translateX(0);
    opacity: 1;
}

.hero-section .hero-slides.show-flex li:nth-child(2).visible {
    transform: translateX(0);
    opacity: 1;
}

.hero-section .hero-slides.show-flex li:nth-child(3).visible {
    transform: translateY(0);
    opacity: 1;
}

/* --- scale-in: スケールアップ --- */
.hero-section .hero-slides li.visible.scale-in {
    opacity: 1;
    transform: scale(1.05);
}

/* --- 装飾画像ラッパー --- */
.hero-section .hero__decorations {
    position: static;
    width: 0;
    height: 0;
    pointer-events: none;
    overflow: visible;
    z-index: auto;
}

.hero-section .hero__decorations figure {
    position: absolute;
    margin: 0;
}

.hero-section .hero__decorations figure img {
    width: 100%;
    height: auto;
    display: block;
}

/* --- 装飾: 初期状態（非表示 + オフセット） --- */

/* 右下・背面（bottom-deco.png） */
.hero-section .hero__decoration--top-back {
    right: clamp(-180px, -12.5vw, -96px);
    bottom: 0;
    width: 50%;
    z-index: 0;
    opacity: 0;
    transform: translateX(40%);
    transition: transform 0.4s linear, opacity 0.5s linear;
}

/* 右下・前面（bottom-deco2.png） */
.hero-section .hero__decoration--top-front {
    right: clamp(-140px, -9.72vw, -75px);
    bottom: 0;
    width: 40%;
    z-index: 2;
    opacity: 0;
    transform: translate(50%, -20px);
    transition: transform 0.5s linear, opacity 0.5s linear;
}

/* 左上・背面（top-deco.png） */
.hero-section .hero__decoration--bottom-back {
    left: clamp(-20px, -1.39vw, -11px);
    top: 0;
    width: 70%;
    z-index: 0;
    opacity: 0;
    transform: translateX(-70%);
    transition: transform 0.5s linear, opacity 0.5s linear;
}

/* 左上・前面（top-deco2.png） */
.hero-section .hero__decoration--bottom-front {
    left: clamp(-200px, -13.89vw, -107px);
    top: 0;
    width: 70%;
    z-index: 2;
    opacity: 0;
    transform: translateX(-80%);
    transition: transform 0.5s linear, opacity 0.5s linear;
}

/* --- show-decoration: 装飾のスライドイン --- */
.hero-section.show-decoration .hero__decoration--top-back {
    transform: translateX(0);
    opacity: 1;
}

.hero-section.show-decoration .hero__decoration--top-front {
    transform: translate(0, 0);
    opacity: 1;
}

.hero-section.show-decoration .hero__decoration--bottom-back {
    transform: translateX(0);
    opacity: 1;
}

.hero-section.show-decoration .hero__decoration--bottom-front {
    transform: translateX(0);
    opacity: 1;
}

/* --- scroll-down --- */
.hero-section .scroll-down {
    position: absolute;
    bottom: 2%;
    left: 5%;
    z-index: 100;
}

.hero-section .scroll-down p {
    margin: 0;
}

.hero-section .scroll-down a {
    position: absolute;
    left: -24px;
    bottom: 50px;
    color: var(--wp--preset--color--mono-black);
    font-size: 14px;
    letter-spacing: 0.2em;
    text-decoration: none;
    writing-mode: vertical-rl;
    padding-top: 15px;
}

/* 斜めの線 */
.hero-section .scroll-down::before {
    content: "";
    position: absolute;
    bottom: 26px;
    right: 7px;
    width: 1px;
    height: 16px;
    background: var(--wp--preset--color--mono-black);
    transform: skewX(31deg);
}

/* 縦線アニメーション */
.hero-section .scroll-down a::after {
    content: "";
    position: absolute;
    bottom: -24px;
    right: 0;
    width: 1px;
    height: 87px;
    background: var(--wp--preset--color--mono-black);
    transform: scaleY(0);
    transform-origin: top;
    animation: lineColorFlow 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}

@keyframes lineColorFlow {
    0%    { transform: scaleY(0); transform-origin: top; }
    50%   { transform: scaleY(1); transform-origin: top; }
    50.1% { transform: scaleY(1); transform-origin: bottom; }
    100%  { transform: scaleY(0); transform-origin: bottom; }
}

/* ===========================================
   front-page（トップページ）固有CSS Member Section
   =========================================== */

.section-member {
    position: relative;
    max-width: 100%;
}

.section-member::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    background-color: var(--wp--preset--color--primary-lightest);
    z-index: -1;
}

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

/* PC/SP 表示切り替え（PC表示用ベーススタイル）
   NOTE: 将来 responsive.css 整理時に移動予定 */
.u-pc-only {
    display: block;
}

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

/* 共通：セクション基本スタイル */
.daive__hero,
.daive__title,
.daive__feature,
.daive__female-pm,
.daive__solution,
.daive__case,
.daive__contact {
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: center;
}

/* WPブロックのデフォルト余白リセット */
.daive__hero .wp-block-image,
.daive__title .wp-block-image,
.daive__feature .wp-block-image,
.daive__female-pm .wp-block-image,
.daive__solution .wp-block-image,
.daive__case .wp-block-image {
    margin: 0;
    padding: 0;
}

.daive__hero figure,
.daive__title figure,
.daive__feature figure,
.daive__female-pm figure,
.daive__solution figure,
.daive__case figure {
    margin: 0;
    padding: 0;
}

.daive__hero img,
.daive__title img,
.daive__feature img,
.daive__female-pm img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
    padding: 0;
}

/* 1. Hero セクション */
.daive__hero {
    margin-top: 0;
}

/* 2. Title セクション */
.daive__title {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: var(--space-50) 0;
    background: url("../images/daive/PC_12_bg-white2.png") no-repeat center top;
    background-size: cover;
}

.daive__title img {
    margin: 0 auto;
}

/* 3. Feature セクション */
/* 特別なスタイルなし（共通スタイルで対応） */

/* 4. Female PM セクション */
/* 特別なスタイルなし（共通スタイルで対応） */

/* 5. Solution セクション（黒背景） */
.daive__solution {
    background: url("../images/daive/PC_10_bg-black.png") no-repeat center top;
    background-size: cover;
    padding-top: 3vw;
    padding-bottom: 3vw;
}

.daive__solution-title img {
    width: 30%;
    max-width: 1200px;
    margin: 0 auto clamp(16px, 3vw, 48px);
    /* margin: 0 auto 3vw; */
    display: block;
}

.daive__solution-example img {
    width: 45%;
    max-width: 1200px;
    margin: 0 auto 1vw;
    display: block;
}

/* 6. Case セクション（グラデーション背景） */
.daive__case {
    position: relative;
    background: linear-gradient(to bottom, #e2eaf7 0%, #e2eaf7 100%);
    background-size: cover;
    padding: 5vw 0 5vw;
}

.daive__case-title {
    margin-top: -2vw;
    margin-bottom: 2vw;
    text-align: center;
}

.daive__case-title img {
    width: 40%;
    max-width: 800px;
    height: auto;
    margin: 0 auto;
    display: block;
}

.daive__case-example {
    margin-top: 3vw;
    margin-bottom: 0;
    text-align: center;
}

.daive__case-example img {
    width: 55%;
    max-width: 1200px;
    height: auto;
    margin: 0 auto;
    display: block;
}

/* 7. Contact セクション（黒背景） */
.daive__contact {
    background-color: #231f24;
    padding: 1vw 0;
    color: var(--wp--preset--color--mono-white);
}

.daive__contact-inner {
    max-width: 700px;
    margin: 0 auto;
}

/* ===========================================
   Business Overview Page Styles
   ページ: business-overview
   セクション: Intro, Visuals, Caption, Lead, Feature Diagram, Learning Flow, Business Cards
   参照: 公開サイト business.css
   =========================================== */
/* --- Intro セクション --- */
/* .container(0,1,0)より詳細度を上げてタブレットの24px上書きを防ぐ */
.business-overview__intro.container {
    padding-left: var(--wp--preset--spacing--space-40);
    padding-right: var(--wp--preset--spacing--space-40);
}

.business-overview__intro {
    padding-top: 0;
    padding-bottom: var(--wp--preset--spacing--space-20);
    scroll-margin-top: var(--header-height-pc);
}

/* --- Visuals セクション --- */
.business-overview__visuals {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
}

.business-overview__hero-visual,
.business-overview__sub-visual {
    width: 100%;
    max-width: clamp(400px, 68vw, 820px);
    margin: 0 auto;
}

.business-overview__hero-visual img,
.business-overview__sub-visual img {
    width: 100%;
    height: auto;
}

/* --- Caption セクション --- */
.business-overview__intro-caption {
    margin-top: var(--wp--preset--spacing--space-24);
    margin-bottom: var(--wp--preset--spacing--space-40);
    text-align: center;
}

.business-overview__intro-caption p {
    display: inline-block;
    text-align: left;
    font-size: clamp(0.9375rem, 0.35rem + 1.26vw, 1.5rem);
    font-weight: var(--font-weight-normal);
    color: var(--wp--preset--color--text-darkest);
}

/* --- Details セクション --- */
/* .container(0,1,0)より詳細度を上げてタブレットの24px上書きを防ぐ */
.business-overview__details.container {
    padding-left: var(--wp--preset--spacing--space-40);
    padding-right: var(--wp--preset--spacing--space-40);
}

.business-overview__details {
    padding-top: var(--section-padding);
    padding-bottom: var(--wp--preset--spacing--space-20);
    scroll-margin-top: var(--header-height-pc);
}

/* --- Lead セクション --- */
.business-overview__lead {
    text-align: center;
    margin-bottom: var(--wp--preset--spacing--space-60);
}

.business-overview__lead p {
    font-size: clamp(1.125rem, 0.41rem + 1.49vw, 1.7rem);
    font-weight: var(--font-weight-bold);
    color: var(--wp--preset--color--text-darkest);
}

/* --- Feature Diagram, Learning Flow　セクション --- */
.business-overview__feature-diagram,
.business-overview__learning-flow-diagram {
    margin-bottom: clamp(1.875rem, -0.27rem + 4.46vw, 3.75rem);
}

.business-overview__feature-image,
.business-overview__learning-flow-image {
    margin: 0 auto;
    text-align: center;
}

.business-overview__feature-image img,
.business-overview__learning-flow-image img {
    display: block;
    width: 100%;
    max-width: 35%;
    height: auto;
    margin: 0 auto;
}

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

/* Member Profile Section Layout */
.member {
    max-width: var(--wp--style--global--content-size);
    margin: 0 auto;
    padding: 0 var(--wp--preset--spacing--space-40);
}

.member .member__list {
    gap: clamp(1.25rem, 5vw, 5rem);
    margin-bottom: 0;
}

/* Company Info Section Layout */
.company-info {
    max-width: var(--wp--style--global--content-size);
    margin: 0 auto;
    padding: var(--section-padding) var(--wp--preset--spacing--space-40);
}

.company-info .company-info__columns {
    gap: clamp(1.25rem, 3vw, 2.5rem);
    margin-bottom: 0;
}

/* WordPress コアの 781px 以下カラム縦積みを無効化（モバイル縦積みは responsive.css で制御） */
.member .member__list.wp-block-columns {
    flex-wrap: nowrap;
}

.member .member__list > .wp-block-column {
    flex-basis: 0 !important;
    flex-grow: 1;
}

.company-info .company-info__columns.wp-block-columns {
    flex-wrap: nowrap;
}

.company-info .company-info__columns > .wp-block-column {
    flex-basis: 0 !important;
    flex-grow: 1;
}

/* ===========================================
   Contact Page Styles
   ページ: contact
   セクション: contact
   =========================================== */
.contact {
    margin: var(--wp--preset--spacing--space-40) auto;
}

.contact__header {
    text-align: center; 
    margin: var(--wp--preset--spacing--space-40) var(--wp--preset--spacing--space-32);
}

.contact-form {
    padding: var(--wp--preset--spacing--space-32);     
    margin: 0 -8px;   
}

.contact-form__row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--wp--preset--spacing--space-24); 
    margin-bottom: var(--wp--preset--spacing--space-24);     
}

.contact-form__field {
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--space-8);
}

.contact-form__field > br,
.form-field__label > br {
    display: none;
}

/* 1列だけ使いたい要素 */
.contact-form__field--full {
    grid-column: 1 / -1;
}
  
/* 左側だけ */
.contact-form__field--half {
    grid-column: 1 / 2;
}

.contact-form__field--privacy {
    display: flex;
}

.contact-form__field--privacy .wpcf7-list-item {
    margin: 0;
}

.contact-form__field--privacy .wpcf7-list-item-label > br,
.contact-form__check-text > br {
    display: none;
}

.contact-form__field--privacy label {
    display: flex;
    align-items: center;
    gap: var(--wp--preset--spacing--space-8);
    margin-bottom: var(--wp--preset--spacing--space-24);
}

.contact-form__field--privacy .wpcf7-list-item-label {
    display: block; /* CF7のflex上書き */
}

/* ===========================================
   Thanks Page Styles
   ページ: thanks
   セクション: thanks
   =========================================== */
.thanks {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding-top: var(--wp--preset--spacing--space-60);
    padding-bottom: var(--wp--preset--spacing--space-100);
}
  
.thanks__message {
    display: flex;           
    flex-direction: column;   
    gap: 12px;     
    margin-top: var(--wp--preset--spacing--space-20);
    margin-bottom: var(--wp--preset--spacing--space-30);         
    border-radius: var(--radius-8);
    text-align: left;     
}

.thanks__text{
    display: block;
    font-weight: var(--font-weight-bold);
    color: var(--wp--preset--color--text-light);
    font-size: var(--font-size-body-5);
    line-height: var(--line-height-tight);
    letter-spacing: -0.1px;
}

.u-br{
    display:block;
}

/* ===========================================
   Privacy Policy Page Styles
   ページ: privacy
   セクション: policy
   =========================================== */
.policy__content {
    color: var(--wp--preset--color--mono-black);
    max-width: var(--wp--style--global--content-size);
    padding: var(--wp--preset--spacing--space-20) var(--wp--preset--spacing--space-20);
}

/* main.css の要素color指定を打ち消し、policy配下は親の色を使う */
.policy__content p,
.policy__content h1,
.policy__content h3,
.policy__content li,
.policy__updated {
    color: inherit;
}

.policy__updated {
    color: var(--wp--preset--color--mono-black);
    margin: var(--wp--preset--spacing--space-20) auto var(--wp--preset--spacing--space-16);
    padding: 0 var(--wp--preset--spacing--space-20);
    text-align: right;
}

/* ===========================================
   News Page/Category Page Styles
   ページ: News/Category
   =========================================== */

/* --- セクション・コンテナ --- */
.news__content {
    font-family: var(--font-family-sans);
    padding-bottom: var(--section-padding);
    scroll-margin-top: var(--header-height-pc);
}

.news__content.container {
    padding-left: var(--wp--preset--spacing--space-50);
    padding-right: var(--wp--preset--spacing--space-50);
}

/* --- TOPに戻る --- */
.news__back {
    margin-top: var(--wp--preset--spacing--space-40);
    margin-bottom: var(--wp--preset--spacing--space-40);
    margin-left: calc(var(--wp--preset--spacing--space-30) - var(--wp--preset--spacing--space-50));
}

.news__back a {
    color: #0B2A3A;
    font-size: var(--font-size-body-4);
    font-weight: var(--font-weight-bold);
    text-decoration: none;
}

/* --- 見出し・フィルター --- */
.news__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--wp--preset--spacing--space-20);
    margin-bottom: var(--wp--preset--spacing--space-40);
}

.news__page-title {
    font-family: var(--font-family-sans);
}

.news__filter {
    flex-shrink: 0;
}

/* --- 一覧グリッド --- */
.news-list__inner {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 340px));
    justify-content: center;
    gap: var(--wp--preset--spacing--space-40);
}

/* --- ページネーション（コンテナの余白のみ） --- */
.news-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: var(--wp--preset--spacing--space-50);
    margin-bottom: var(--wp--preset--spacing--space-60);
}

/* ===========================================
   Single Page Styles
   ページ: single
   セクション: single-news
   =========================================== */
.single-news {
    font-family: var(--font-family-sans);
    color: var(--wp--preset--color--text-darkest);
    padding-bottom: var(--section-padding);
    scroll-margin-top: var(--header-height-pc);
}

.single-news.container {
    padding-left: var(--wp--preset--spacing--space-140);
    padding-right: var(--wp--preset--spacing--space-140);
}

/* --- Newsに戻る --- */
.single-news__back {
    margin-top: var(--wp--preset--spacing--space-40);
    margin-bottom: var(--wp--preset--spacing--space-40);
    margin-left: calc(var(--wp--preset--spacing--space-30) - var(--wp--preset--spacing--space-140));
}

.single-news__header {
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--space-20);
}

/* --- 投稿日・カテゴリ --- */
.single-news__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--wp--preset--spacing--space-12);
    margin-bottom: var(--wp--preset--spacing--space-40);
}

.single-news__image {
    margin-bottom: var(--wp--preset--spacing--space-20);
}
.single-news__image img {
    width: 100%;
    max-width: 920px;
    height: auto;
    display: block;
    margin: 0 auto;
}
  
/* 要素間の余白 */
.single-news__content > * + * {
    margin-top: var(--wp--preset--spacing--space-20);
}
