/* atd */
:root,
.editor-styles-wrapper {
/* Corporate tone: a bit tighter */
--ark-color--border--table: transparent !important;

/* --- Font Family --- */
--wp--preset--font-family--sans: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;

/* --- 1. マイクロテキスト（注釈・キャプション用） --- */
--fz-xs:  clamp(10px, 1vw, 12px);
--fz-sm:  clamp(12px, 1.2vw, 13px);
--fz-md:  clamp(13px, 1.5vw, 14px);

/* --- 2. 本文・標準テキスト --- */
--fz-body: clamp(15px, 1.2vw, 16px);
--fz-lead: clamp(16px, 1.5vw, 20px); /* h3 (20px) と共通化可能 */

/* --- 3. 見出し・タイトル（要件反映版） --- */
--fz-h3:   clamp(18px, 1.8vw, 20px); /* ご指定の20pxを最大値に */
--fz-h2:   clamp(24px, 3.2vw, 36px); /* ご指定の36pxを最大値に */
--fz-st-lg: clamp(20px, 2vw, 26px);

/* --- 4. MV・ヒーローセクション（要件反映版） --- */
--fz-mv-sub: clamp(20px, 2.5vw, 28px); /* ご指定の28pxを最大値に */
--fz-mv-main: clamp(36px, 7vw, 64px); /* ご指定の64pxを最大値に */
--fz-hero:clamp(20px, 2.5vw, 28px);

/* --- 5. 装飾用・特大サイズ --- */
--fz-ttl-lg: clamp(32px, 5vw, 56px);
--fz-display-sm: clamp(40px, 8vw, 80px);
--fz-display-md: clamp(60px, 12vw, 120px);
--fz-display-lg: clamp(80px, 18vw, 200px);

/* --- 6. 互換用ステップ --- */
--fz-14-16: var(--fz-body);
--fz-18-24: clamp(18px, 1.8vw, 24px);
--fz-20-30: clamp(20px, 1.5vw, 30px);
--fz-20-36: var(--fz-h2);
--fz-24-48: clamp(24px, 6vw, 48px);
--fz-30-48: clamp(30px, 7vw, 48px);

/* --- Brand Colors --- */
--c-primary: #0099C1;
--c-primary-dark: #0d819e;
--c-orange: #ff6900;
--c-orange-bg: #f59961;
--c-green:#006832;

/* --- Neutral Colors --- */
--c-text: #333333;              /* テキストカラー：黒 */
--c-text-muted: #666666;        /* 補足テキスト用 */
--c-border: #e9e9e9;            /* 標準的な境界線 */

/* --- Background Colors --- */
--c-bg: #FFFFFF;                /* 基本背景色 */
--c-bg-soft: #FAF7F2;           /* 背景色2：薄いベージュ（セクション等） */
--c-bg-warm: #FFF9F0;           /* 背景色3：より温かいベージュ */
--c-bg-footer: #FFF9F0;         /* フッター背景（背景色3と共通） */

/* --- Layout Elements --- */
--c-header-bg: rgba(255, 255, 255, 0.9);

--c-ghost: #f7f7f7;
--c-ghost-border: rgba(255, 255, 255, .7);

--shadow1: 2px 2px 4px rgba(222, 222, 222, 1);
--shadow2: 0 2px 0 rgb(255 255 255);
--shadow3: 0 2px 3px rgba(0, 0, 0, 0.14);

--txt-shadow1: 4px 4px 5px rgb(255 255 255);
}

.editor-styles-wrapper p:not(.news_title):not(.has-text-color):not([style*="color"]),
.editor-styles-wrapper p:not(.news_date):not(.has-text-color):not([style*="color"]) {
    color: var(--c-text);
}

/* 記事タイトルの入力欄（h1）が極端に大きくなるのを防ぐ場合 */
.editor-styles-wrapper h1.editor-post-title__input {
    font-size: var(--fz-20-36) !important;
    margin-bottom: 0 !important;
}

@media only screen and (min-width: 768px) {
    .editor-styles-wrapper h1.editor-post-title__input span {
        font-size: inherit;
    }
}

/* =========================================================
  common_style
========================================================= */
body {
    font-family: var(--wp--preset--font-family--sans);
    font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    color: var(--c-text);
}

.font-mincho {
    font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

a {
    text-decoration: none;
    color: var(--c-linktext);
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link {
    background-color: var(--c-blue);
    border-radius: 4px;
}

h1, h2, h3 {
    word-break: keep-all;
    overflow-wrap: anywhere;
}
h1 {
    font-size: var(--fz-14-16);
    font-weight: normal;
}

.w1000 {
    max-width: 1000px;
    margin-right: auto;
    margin-left: auto;
}

.w920 {
    max-width: 920px;
    margin-right: auto;
    margin-left: auto;
}

.w640 {
    max-width: 640px;
    margin-right: auto;
    margin-left: auto;
}

.line-height24 {
    line-height: 2.4;
}


@media (min-width: 1000px) {
    /* 右側エリアを縦並び（2段）にする */
    .l-header__right {
        display: flex;
        flex-direction: column-reverse; 
        align-items: flex-end; /* 右寄せ */
        justify-content: center;
        gap: 5px; /* 上段と下段の間の余白 */
        margin-top: 10px;
    }

    /* 上段（TEL・Contact）のスタイル */
    .header-top-info {
        display: flex;
        align-items: center;
        gap: 15px; /* TELとContactの間の余白 */
        font-size: 14px;
        font-weight: bold;
        margin-bottom: 0;
    }

    /* Contactボタンを装飾する場合 */
    .header-contact-btn {
        background: var(--c-pink);
        color: var(--c-bg);
        padding: 10px 12px;
        border-radius: 4px;
        text-decoration: none;
        margin-left: 10px;
    }

    /* 下段（グローバルナビ）の余白をリセット */
    .p-gnav {
        margin: 0 !important;
    }

    .c-gnav__li, .c-gnav__li>.c-gnav__a {
        align-content: center;
    }
}

/* ナビゲーション自体の幅を調整 */
.l-header {
    box-shadow: var(--shadow3);        
}

.c-gnav {
    width: 100%;
}

h1.l-header__logo {
    margin-bottom: 0;
}

.c-gnav__li > .c-gnav__a {
    font-weight: normal;
    height: auto !important;
    padding-top: 10px !important;
    padding-bottom: 15px !important;
}


.c-gnav .sub-menu {
    background-color: var(--c-primary);
}

.c-gnav__li.-current, .c-gnav__li.focus, .c-gnav__li:hover {
    color: var(--c-primary);
}


.c-gnav__depth1:before {
    background-color: var(--c-primary);
}

[data-btns=rr-rl] .l-header__body {
    grid-template-columns: 0% 80% auto var(--ark-searchW) var(--ark-drawerW);
}


/* スマホナビ */
.p-drawer {
    background-color: var(--c-primary);
}

/* 下層ヘッダー */
.p-topArea {
    min-height: 20vh;
}

.p-topArea.-noimg {
    background: #555;
    background: url(../images/bg_h1.webp) center center no-repeat;
    background-size: cover;
}

.p-topArea.c-filterLayer::before {
    background-color: unset;
}

.c-filterLayer.-filter-dot:after {
    background-color: unset;
    background-image: none;
}

.p-topArea__title.c-pageTitle {
    color: var(--c-text);
}

h1.c-pageTitle__main {
    font-weight: 700;
    font-size: var(--fz-hero);
    margin-bottom: 0;
    text-shadow: var(--shadow2);
}

/* 下層パンくず */
.p-breadcrumb__list.l-container {
    max-width: var(--ark-width--container);
    padding: 0;
}

.p-breadcrumb__list {
    justify-content: flex-end;
}

/* フッターCTA */
/* PCでは非表示 */
.p-mobile-nav {
    display: none;
}

/* スマホ表示の設定 */
@media screen and (max-width: 767px) {
    .p-mobile-nav {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 50px;
        z-index: 9999;
        background: #fff;
        box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
    }

    .p-mobile-nav__item {
        flex: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        font-weight: bold;
        font-size: 14px;
    }

    /* 電話ボタンの色 */
    .p-mobile-nav__item.-tel {
        background-color: var(--c-bg);
        color: var(--c-text);
        font-size: 1.2rem;
        font-family: "Times New Roman", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    }

    /* お問い合わせボタンの色 */
    .p-mobile-nav__item.-mail {
        background-color: var(--c-primary);
        color: #fff;
    }

    .p-mobile-nav__item .fa-phone {
        font-size: var(--fz-16-20);
    }

    .l-footer {
        margin-bottom: 80px;
    }
}

@media (min-width: 1000px) {
    [data-sidebar=on] .l-content__body {
        flex-direction: row;
    }
}


/* ============================================================
  Animation Settings (Scroll Action)
============================================================ */

/* 1. 実際のサイト表示時のみ初期状態を隠す */
/* bodyに .is-anim-ready 等がついている場合のみ、または管理画面を除外 */
body:not(.block-editor-page):not(.wp-admin) [class*="u-anim-"] {
    opacity: 0;
    transition: 
        opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1), 
        transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);
    transition-delay: 0s;
    pointer-events: none; /* 消えている間はクリックできないようにする */
}

/* 2. 各アニメーションの初期配置 */
body:not(.block-editor-page):not(.wp-admin) .u-anim-fade-up {
    transform: translateY(30px);
}

body:not(.block-editor-page):not(.wp-admin) .u-anim-slide-left {
    transform: translateX(-40px);
}

/* 3. 表示状態（クラス .is-show が付与された時） */
body [class*="u-anim-"].is-show {
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
}

/* 4. 自動時間差（スタッガー）の設定 */
body:not(.block-editor-page):not(.wp-admin) .u-anim-fade-up:nth-child(2) { transition-delay: 0.2s; }
body:not(.block-editor-page):not(.wp-admin) .u-anim-fade-up:nth-child(3) { transition-delay: 0.4s; }

/* 5. 【重要】編集画面（Gutenberg）では強制的に全て表示する */
.block-editor-block-list__layout [class*="u-anim-"],
.editor-styles-wrapper [class*="u-anim-"],
.block-editor-page [class*="u-anim-"] {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
    transition: none !important;
}



/* =========================================================
  akita-techno_style
========================================================= */
.l-content {
    z-index: 5;
}

#main_content {
    min-height: 800px;
}

.p-drawer {
    z-index: 10;
    height: auto;
}

h2 {
    font-size: var(--fz-h2);
}

h3 {
    font-size: var(--fz-h3);
}

/* タイトル線 */
h1.line_wh1_center,
h2.line_wh1_center,
h3.line_wh1_center {
    position: relative;
    padding-bottom: 30px;
    margin-bottom: 30px !important;
}

h1.line_wh1_center::after, h2.line_wh1_center::after, h3.line_wh1_center::after {
    content: "";
    position: absolute;
    left: calc(50% - 60px);
    bottom: 0;
    width: 120px;
    height: 5px;
    background-color: var(--c-bg);
}

/* カプセル型アウトラインボタンの基本スタイル */
.wp-block-button.c-btn-outline .wp-block-button__link {
    background-color: var(--c-bg) !important;
    color: var(--c-primary) !important;
    border: 1px solid var(--c-primary);
    border-radius: 0;
    padding: 15px 30px;
    display: flex;
    justify-content: center;
    position: relative;
    transition: all 0.3s;
    margin-top: 30px;
}

.wp-block-button.c-btn-outline.tel {
    width: 80%;
}

/* ホバー時の挙動（お好みで） */
.wp-block-button.c-btn-outline .wp-block-button__link:hover {
    background-color: var(--c-primary-dark) !important;
    color: var(--c-bg) !important;
    opacity: 1;
}

/* 右側のアイコン（初期状態） */
.wp-block-button.c-btn-outline .wp-block-button__link::after {
    content: "\f0a9";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    margin-left: min(50px, 7vw);
    color: var(--c-primary);
    width: 25px;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    /* 動くスピードを滑らかにする設定を追加 */
    transition: transform 0.3s ease; 
}


/* ★ホバーした時に5px動かす設定 */
.wp-block-button.c-btn-outline .wp-block-button__link:hover::after {
    transform: translateX(5px);
    /* もしホバー時にアイコンの色も変えたい場合はここに追記 */
    color: var(--c-bg); 
}

@media (max-width: 380px) {
    .wp-block-button.c-btn-outline .wp-block-button__link::after {
        display: none;
    }
}

/* bt_revの場合 */
.wp-block-button.c-btn-outline.bt_rev .wp-block-button__link {
    background-color: unset !important;
    color: var(--c-bg) !important;
    border: 1px solid var(--c-bg);
}

.wp-block-button.c-btn-outline.bt_rev .wp-block-button__link:hover {
    background-color: #FFF !important;
    color: var(--c-text) !important;
    opacity: 0.8;
}

.wp-block-button.c-btn-outline.bt_rev .wp-block-button__link::after {
    color: var(--c-bg);
}

.wp-block-button.c-btn-outline.bt_rev .wp-block-button__link:hover::after {
    color: var(--c-text); 
}


.l-header__center {
    padding: 6px 0;
}

/* navigation */
.c-gnav__li.menu-item-20 > .c-gnav__a {
    background-color: var(--c-primary);
    color: var(--c-bg);
    border-radius: 50px;
    margin-left: 1em;
    padding: 7px 15px !important;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: auto;
    margin-bottom: auto;
    transition: opacity 0.3s;
}

/* ホバー時の挙動 */
.c-gnav__li.menu-item-20 > .c-gnav__a:hover {
    opacity: 0.8;
    color: #fff;
}

/* 電話アイコン（正円）の装飾 */
.c-gnav__li.menu-item-123 > .c-gnav__a {
    background-color: var(--c-primary);
    color: var(--c-bg);

    width: 30px;
    height: 30px !important;
    border-radius: 50%;
    padding: 0 !important;
    
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 10px;
    margin-top: auto;
    margin-bottom: auto;
    transition: opacity 0.3s;
}

/* アイコン自体のサイズ調整（必要であれば） */
.c-gnav__li.menu-item-123 .fa-phone-flip {
    font-size: 15px;
}

/* ホバー設定 */
.c-gnav__li.menu-item-123 > .c-gnav__a:hover {
    opacity: 0.8;
    color: var(--c-bg);
}

/* 会社概要テーブル */
.atd_table table{
    width: 100%;
    border-collapse: collapse;
  }
  
  .atd_table th,
  .atd_table td{
    padding: 14px 16px;
    border-bottom: 1px solid var(--c-bg-soft);
    vertical-align: top;
    font-size: 0.95rem;
  }
  
  .atd_table th{
    width: 25%;
    background: #F4F4F4; /* muted */
    font-weight: 600;
  }
  
  .atd_table table,
  .atd_table th,
  .atd_table td{
    border: none;
  }
  
  .atd_table th {
      border-bottom: 3px solid var(--c-bg);
  }
  
  /* SP：縦積み */
  @media (max-width: 640px){
    .atd_table tr{
      display: block;
      margin-bottom: 12px;
    }
    .atd_table th,
    .atd_table td{
      display: block;
      width: 100%;
    }
    .atd_table th{
      border-bottom: none;
      padding-bottom: 6px;
    }
  }
  
  


/* =========================================================
  index.html
========================================================= */

.mv_text_l {
    font-size: var(--fz-30-48);
    text-shadow: var(--txt-shadow1);
    font-weight: bold;
}

.top_cont1 {
    max-width: 920px;
    margin: 0 auto;
}


.yel-wrap {
    background-color: #FFFAEE;
    background-image: radial-gradient(#DFDFDF 15%, transparent 15%);
    background-size: 7px 7px;
    background-repeat: repeat;
    padding-top: 80px;
    padding-bottom: 80px;
}

.wh-pad {
    padding-left: var(--ark-padding--container);
    padding-right: var(--ark-padding--container);
}

.wh-inner {
    max-width: 1200px !important;
    margin: 0 auto;
    padding: min(30px, 4vw);
    padding-bottom: 30px;
    border-radius: 10px;

    align-items: center;
    justify-content: center;
    text-align: center;

    background-color: var(--c-bg);
}

.wh-inner img {
    border-radius: 10px;
}

.wh-inner h2 {
    font-size: var(--fz-20-30);
}

@media(max-width:781px) {
    .wh-inner.rev {
        flex-direction: column-reverse;
    }
}

.jutaku_cont {
    max-width: 640px;
    margin: 30px auto;
}

.news_wrap {
    position: relative;
    background-color: #F6F6F6;
    max-width: 920px;
    min-height: 350px;
    margin: 0 auto;
    padding: var(--ark-padding--container);
}

.news_typ {
    position: absolute;
    font-size: clamp(60px, 12vw, 100px);
    top: min(-25%, -100px);
    right: 1vw;
    color: #D9D9D9;
    font-weight: 700;
}

.news_wrap ul.wp-block-latest-posts__list {
    border: none;
    max-height: 260px;
    overflow-y: scroll;
    padding-right: min(30px, 4vw);
}

.news_wrap ul.wp-block-latest-posts__list li {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    padding: min(30px, 4vw);
    background-color: var(--c-bg);
    border: 0;
    margin-bottom: 1em !important;
}

@media (max-width:640px) {
    .news_wrap>div {
        position: relative;
    }

    .news_wrap ul.wp-block-latest-posts__list li {
        flex-direction: column-reverse;
        gap: .5em;
    }
}

.wp-block-latest-posts__post-author, .wp-block-latest-posts__post-date {
    margin-right: 2em;
    font-size: inherit;
    min-width: 126px;
}

/* タイトル線 */
.news_wrap time {
    position: relative;
    padding-bottom: 1em;
    margin-bottom: 1em !important;
}

.news_wrap time::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 7.5em;
    height: 2px;
    background-color: var(--c-primary);
}

.top_bnr>div {
    border:1px solid #999999;
    margin-bottom: 20px;
}

.top_bnr>div .bnr_text {
    padding: 1em;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.top_bnr>div p.bnr_text {
    margin-top: 0;
} 

/* 右側のアイコン（疑似要素）の設定 */
.top_bnr > div .bnr_text::after {
    content: "\f0a9";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: var(--c-primary);
    font-size: 24px;
    transition: transform 0.3s;
}

.top_bnr > div:hover .bnr_text::after {
    transform: translateX(5px);
}

.top_bnr>div img {
    height: 150px;
    width: 100%;
    object-fit: cover;
}


/* 1. 親要素を「基準点」にする */
.top_bnr .wp-block-column {
    position: relative; /* これが重要！ */
}

/* 2. aタグ（リンク）の範囲を親要素全体に広げる */
.top_bnr .bnr_text a::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10; /* 画像やテキストの上に被せる */
}

/* 3. リンクの装飾リセット（下線を消すなど） */
.top_bnr .bnr_text a {
    text-decoration: none;
    color: inherit;
    /* 以前の矢印の設定と競合しないよう調整 */
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

/* 4. ホバー時の演出（全体がリンクだとわかるように） */
.top_bnr .wp-block-column:hover {
    opacity: 0.8;
    cursor: pointer;
    transition: 0.3s;
}


.l-footer {
    background-color: #F4F4F4;
}

@media (min-width:640px) {
    .l-footer .footer_nav_menu ul {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        justify-content: flex-end;
        border: 0;
        max-width: 640px;
    }
    
    .l-footer .footer_nav_menu ul li {
        margin-right: 2em !important;
        border: 0;
    }
}

/* =========================================================
  shiraseruzou
========================================================= */

body.page-id-122 h2,
body.page-id-127 h2,
body.page-id-129 h2,
body.page-id-137 h2 {
    position: relative;
    padding-bottom: 30px;
    margin-bottom: 30px !important;
    text-align: center;
}

body.page-id-122 h2::after,
body.page-id-127 h2::after,
body.page-id-129 h2::after,
body.page-id-137 h2::after {
    content: "";
    position: absolute;
    left: calc(50% - 30px);
    bottom: 0;
    width: 60px;
    height: 2px;
    background-color: var(--c-primary);
}

body.page-id-122 h2.left,
body.page-id-127 h2.left,
body.page-id-129 h2.left,
body.page-id-137 h2.left {
    text-align: left;
}

body.page-id-122 h2.left::after,
body.page-id-127 h2.left::after,
body.page-id-129 h2.left::after,
body.page-id-137 h2.left::after {
    left: 0;
}


body.page.page-id-122 i.fa-regular.fa-circle-check {
    display: block;
    color: #dd5e6d;
    font-size: 30px;
    text-align: center;
}

body.page.page-id-122 i.fa-regular.fa-circle-down {
    display: block;
    color: #dd5e6d;
    font-size: 60px;
    text-align: center;
}

body.page.page-id-122 i.fa-regular.fa-lightbulb {
    display: block;
    color: yellow;
    font-size: 30px;
    text-align: center;
}

.shiraseru_probrem > div {
    border: 1px solid #0099c1;
    padding: 1em;
    background: var(--c-bg);
    border-radius: 20px;
}

.shiraseru_solution .shiraseru_no {
    color: var(--c-primary);
    text-align: center;
    font-size: var(--fz-20-36);
}

.shiraseru_solution > div {
    flex-basis: 0;
    flex-grow: 1;
    background: var(--c-bg-soft);
    padding: 1.5em 1em 2em;
}

.shiraseru_solution h3 {
    text-align: center;
}

.shiraseru_change strong {
    font-size: 1.2em;
    font-weight: bold;
    color: #dd5e6d;
}

.shiraseru_change > div > div {
    border: 1px solid #CCC;
    border-radius: 20px;
    padding: 1.5em 1em;
    background: var(--c-bg);
}

.shiraseru_system > div {
    background: var(--c-bg-soft);
    padding: 1.5em 1em;
    border-radius: 20px;
}

.shir_sys_txt_bg {
    background: var(--c-bg);
    padding: 1em;
    border-radius: 20px;
}

@media (max-width:480px) {
    body.page-id-122 p.has-text-align-center,
    body.page-id-125 p.has-text-align-center {
        text-align: left !important;
    }

    body.page-id-122 h1,
    body.page-id-122 h2,
    body.page-id-125 h1,
    body.page-id-125 h2 {
        text-align: left;
    }
}


/* =========================================================
  tentouboushi
========================================================= */

body.page.page-id-125 {
    background-color: #f5f3ee;
}


body.page-id-125 h2 {
    position: relative;
    padding-bottom: 30px;
    margin-bottom: 30px !important;
    text-align: center;
}


body.page-id-125 h2::after {
    content: "";
    position: absolute;
    left: calc(50% - 30px);
    bottom: 0;
    width: 60px;
    height: 2px;
    background-color: var(--c-orange);
}

.tentou_cont1 > div {
    background: var(--c-bg);
    padding: 1.5em 1em 2em;
    border-radius: 20px;
    box-shadow: var(--shadow1);
}

.tentou_cont1 h3 {
    color: var(--c-green);
}

.next_arrow {
    background-color: var(--c-bg);
    height: 60px;
    max-width: 640px;
    margin: 0 auto;
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
}

.tentou_okomari > div {
    border: 1px solid #CCC;
    padding: 1.5em 1em 2em;
}

.risc_kaihi_txt {
    font-weight: 900;
    font-size: var(--fz-24-48);
    color: var(--c-green);
    -webkit-text-stroke: 6px var(--c-bg);
    paint-order: stroke;
}

.risc_kaihi_txt span {
    font-size: var(--fz-mv-main);
    color: var(--c-orange);
}

h3.tentou_h3_lg {
    font-size: 2em;
    position: relative;
    padding-bottom: 20px;
    margin-bottom: 20px !important;
}

h3.tentou_h3_lg::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 60px;
    height: 4px;
    background-color: var(--c-orange);
}

.tentou_kanchi_title {
    margin-top: 0 !important;
}

.tentou_kanchi_title span {
    font-size: 36px;
    font-weight: 700;
    color: var(--c-orange);
    margin-bottom: 0;
    margin-right: 0.3em;
}

.reson_col {
    background: var(--c-bg);
    padding: 1.55em 1em;
    margin-bottom: 20px;
    min-height: 200px;
    border-radius: 10px;
}

@media (max-width:781px) {
    .reason_col_no {
        max-height: 100px;
        padding: 0.5em !important;
    }
}

.reason_col_no {
    background: var(--c-orange-bg);
    color: var(--c-bg);
    padding: 1em;
    text-align: center;
    align-content: center;
    font-size: 1.5em;
    font-weight: 900;
    border-radius: 10px;
}

.reason_col_no strong {
    font-size: 1.8em;
}

.tentou_exm > div {
    background: var(--c-bg);
    padding: 1.5em 1em;
}

.tentou_exm > div h3 {
    background: var(--c-orange-bg);
    padding: 0.5em;
    border-radius: 10px;
    color: var(--c-bg);
}

.tentou_exm > div img {
    margin: 20px auto;
}


/* 沿革テーブルをdl（定義リスト）風に見せる設定 */
.atd-history-table {
    border: none !important;
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 2em;
}

/* 枠線を消して上下に余白を作る */
.atd-history-table th,
.atd-history-table td {
    border: none !important;
    border-bottom: 1px solid #eee !important; /* 行間の区切り線（不要なら削除） */
    padding: 15px 10px !important;
    vertical-align: top;
    text-align: left;
}

/* 左側（日付部分）のスタイル */
.atd-history-table td:first-child {
    width: 12em; /* 日付の幅に合わせて調整 */
    font-weight: bold;
    color: #333;
    white-space: nowrap; /* 改行させない */
}

/* 右側（内容部分）のスタイル */
.atd-history-table td:last-child {
    line-height: 1.6;
}

/* モバイル表示（スマホで見るときに縦並びにする） */
@media screen and (max-width: 600px) {
    .atd-history-table tr {
        display: block;
        margin-bottom: 10px;
    }
    .atd-history-table td {
        display: block;
        width: 100% !important;
        padding: 5px 0 !important;
        border-bottom: none !important;
    }
    .atd-history-table td:first-child {
        padding-top: 15px !important;
    }
    .atd-history-table td:last-child {
        padding-bottom: 15px !important;
        border-bottom: 1px solid #eee !important;
    }
}


/* =========================================================
  CF7 フォーム用スタイル
========================================================= */
.wpcf7 {
    border: 1px solid var(--c-border);
    padding: 2em 1.5em;
}

/* ステップバー（入力・確認・完了） */
.form-progress {
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
    gap: 15px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}
.progress-step {
    font-size: clamp(13px, 2vw, 16px);
    color: var(--c-text-muted);
    font-weight: bold;
    padding-bottom: 10px;
    flex: 1;
    text-align: center;
    border-bottom: 4px solid var(--c-border);
    transition: all 0.3s;
}
.progress-step.is-active {
    color: var(--c-primary);
    border-bottom-color: var(--c-primary);
}

/* 必須・任意ラベル */
.required, .optional {
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 4px;
    margin-left: 10px;
    color: #fff;
    vertical-align: text-top;
}
.required { background-color: #e53935; }
.optional { background-color: var(--c-text-muted); }

/* 入力欄の行間調整 */
.form-row, .confirm-row {
    margin-bottom: 30px;
}
.form-row dt, .confirm-row dt {
    font-weight: bold;
    margin-bottom: 8px;
}
.form-row dd input, .form-row dd textarea {
    width: 100%;
}

/* 確認画面の表示枠 */
.confirm-value {
    background-color: var(--c-bg-soft);
    padding: 15px 20px;
    border-radius: 8px;
    min-height: 1.5em;
    white-space: pre-wrap;
    border: 1px solid var(--c-border);
    line-height: 1.8;
}
.confirm-notice {
    text-align: center;
    font-weight: bold;
    margin-bottom: 30px;
    color: var(--c-primary-dark);
    font-size: 1.1em;
}

/* ボタン周り */
.form-btn-wrap {
    display: flex;
    gap: 20px;
    justify-content: center;
    padding-top: 40px;
    flex-wrap: wrap;
}

.form-btn-wrap p {
    display: flex;
    gap: 10px;
}

/* バリデーションエラーメッセージ装飾 */
.wpcf7-not-valid-tip.custom-error-tip,
.wpcf7-not-valid-tip {
    color: #e53935;
    font-size: 0.85em;
    margin-top: 8px;
    font-weight: bold;
    display: block;
}
.wpcf7-not-valid {
    border-color: #e53935 !important;
    background-color: #fff8f8 !important;
}

/* 送信中スピンの非表示（確認画面でのレイアウト崩れ防止） */
.wpcf7-spinner {
    display: none !important;
}


/* PDFリンクを全体に広げる設定 */
/* 親要素：基準点にする */
.pdf_wrap {
    position: relative !important;
}

/* aタグをブロック全体のサイズまで強制的に広げる */
.pdf_wrap a {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
    /* 背景のspanやインナーコンテナより前面に配置 */
    z-index: 10;
    
    /* 見た目の調整 */
    display: flex !important;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: inherit; /* テキストの色を維持 */
}

/* テキスト以外の場所（余白部分）もクリック可能にするための措置 */
.pdf_wrap .wp-block-cover__inner-container {
    position: static !important; /* aタグの基準を .pdf_wrap にするため */
}

/* ホバー時の演出（お好みで） */
.pdf_wrap:hover {
    opacity: 0.8;
}

.fz24-48 {
    font-size: var(--fz-24-48);
    color: red;
}