@charset "utf-8";
/*
Theme Name: tkst-yhk-2021ch
Template: twentytwentyone
Text Domain: tkst-yhk-2021ch
Version: 1.5.48
*/


/* キーカラー
オレンジ #f9801e
*/

/* ==========================================================================
   0. ローカルフォントの設定 (@font-face)
   ========================================================================== */
@font-face {
    font-family: 'Economica';
    src: url('./fonts/Economica-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* ==========================================================================
   1. 共通基本設定 & 2021リセット
   ========================================================================== */
html,
body,
p,
ol,
ul,
li,
dl,
dt,
dd,
blockquote,
figure,
fieldset,
form,
legend,
textarea,
pre,
iframe,
hr,
h1,
h2,
h3,
h4,
h5,
h6 {
    -webkit-font-smoothing: subpixel-antialiased !important;
    -moz-osx-font-smoothing: auto !important;
}
:root {
    --global--font-size-base: 1rem;
    --global--font-size-md: 1rem;
    --global--font-size-lg: 1rem;
    --global--font-size-xl: 1rem;
    --global--line-height-body: 1.5;
}
html {
    font-size: 14px; /* 1rem=14px */
}
body {
    font-size: 1rem;
    font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", 游ゴシック, YuGothic, メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
    color: #212529;
    line-height: 1.5;
    margin: 0;
    padding: 0;
    font-weight: 400;
}
#page.site {
    margin: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
}
a,
a:link,
a:hover,
a:visited {
    text-decoration: none;
    line-height: 1;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0 0 1rem 0 !important;
    font-weight: 500;
}
ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}
@media screen and (min-width: 992px) {
    .pc-only {
        display: block !important;
    }
    .pc-only-ib {
        display: inline-block !important;
    }
    .sp-only {
        display: none !important;
    }
}
@media screen and (max-width: 991px) {
    .pc-only {
        display: none !important;
    }
    .pc-only-ib {
        display: none !important;
    }
    .sp-only {
        display: block !important;
    }
}
header *,
main *,
footer * {
    max-width: none !important;
}
.site-main > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.entry-header, .post-thumbnail, .entry-content, .entry-footer, .author-bio {
    margin-bottom: 0;
}
.site-header, .site-main, .widget-area, .site-footer {
    padding-bottom: 0 !important;
}
a:focus,
.wp-block-button__link:focus {
    background-color: transparent !important; /* 背景を透明に */
    text-decoration: none !important;            /* 下線が必要なら残す、不要ならnone */
    outline: none !important;              /* 枠線を消す */
    box-shadow: none !important;           /* 影を消す */
}
a:visited {
    color: inherit; /* テキストの色が変わらないようにする */
}

/* --- 1. 入力欄全体のリセット（テキスト、メール、TEL、エリア、選択肢） --- */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 input[type="password"],
.wpcf7 input[type="search"],
.wpcf7 input[type="number"],
.wpcf7 input[type="tel"],
.wpcf7 textarea,
.wpcf7 select {
    /* Twenty Twenty-Oneの装飾を解除 */
    border: 1px solid #ccc !important;   /* 枠線を細くシンプルに */
    border-radius: 4px !important;      /* お好みで0（直角）〜4px（微弱な角丸） */
    padding: 10px !important;            /* 余白を均一に */
    background-color: #fff !important;    /* 背景を白に固定 */
    box-shadow: none !important;          /* 内側の影を消す */
    font-size: 16px !important;           /* スマホでのズーム防止 */
    color: #333 !important;               /* 文字色を標準に */
    width: 100% !important;               /* 横幅を親要素に合わせる */
    max-width: 100% !important;
    appearance: none !important;          /* ブラウザ固有の装飾をリセット */
    -webkit-appearance: none;
}
/* --- 2. フォーカス（クリック中）の状態をリセット --- */
.wpcf7 input:focus,
.wpcf7 textarea:focus {
    border-color: #007cba !important;     /* フォーカス時の色（WordPress標準色） */
    outline: none !important;             /* 2021特有の太いアウトラインを消す */
    background-color: #fff !important;    /* クリックしても背景色を変えない */
}
/* --- 3. 送信ボタンのリセット --- */
.wpcf7 input[type="submit"] {
    display: inline-block !important;
    background-color: #007cba !important; /* ボタンの色 */
    color: #fff !important;               /* 文字の色 */
    border: none !important;
    border-radius: 4px !important;
    padding: 12px 30px !important;
    font-weight: bold !important;
    cursor: pointer !important;
    transition: opacity 0.2s ease !important;
    width: auto !important;               /* ボタンは横いっぱいではなく中身に合わせる */
    appearance: none !important;
}
/* ボタンのホバー時 */
.wpcf7 input[type="submit"]:hover {
    opacity: 0.8 !important;
    background-color: #0067a3 !important;
}
/* --- 4. エラーメッセージのスタイル調整（任意） --- */
.wpcf7-not-valid-tip {
    color: #d63638 !important;            /* エラー文字を赤に */
    font-size: 0.9em !important;
    margin-top: 5px !important;
}
.wpcf7-response-output {
    margin: 20px 0 0 0 !important;
    padding: 10px !important;
    border: 2px solid #ccc !important;
}

/* リンクをクリック・フォーカスした際に文字が消える現象を防止 */
.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
    color: inherit !important; /* 元の文字色を維持 */
    background-color: transparent !important; /* 背景の塗りつぶしを解除 */
}
img {
    height: auto;
    max-width: 100% !important;
    vertical-align: middle;
}


/* ==========================================================================
   ボタン・ファイルブロックのホバー・フォーカス時の変化を完全に「凍結」する
   ========================================================================== */

/* 1. 影、アウトライン、下線などの「色以外の余計な装飾」を完全に無効化 */
html body #page .entry-content .wp-block-button__link,
html body #page .entry-content .wp-block-button__link:hover,
html body #page .entry-content .wp-block-button__link:focus,
html body #page .entry-content .wp-block-button__link:active,
html body #page .entry-content .wp-element-button,
html body #page .entry-content .wp-element-button:hover,
html body #page .entry-content .wp-element-button:focus,
html body #page .entry-content .wp-element-button:active,
html body #page .entry-content .wp-block-file__button,
html body #page .entry-content .wp-block-file__button:hover,
html body #page .entry-content .wp-block-file__button:focus,
html body #page .entry-content .wp-block-file__button:active {
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    outline: none !important;
    text-decoration: none !important;
    filter: none !important;
    opacity: 1 !important;
}

/* 2. 【最重要】色を指定するのではなく、色の変化を「99999秒」遅延させて防ぐ */
html body #page .entry-content .wp-block-button__link,
html body #page .entry-content .wp-block-button__link:hover,
html body #page .entry-content .wp-block-button__link:focus,
html body #page .entry-content .wp-block-button__link:active,
html body #page .entry-content .wp-element-button,
html body #page .entry-content .wp-element-button:hover,
html body #page .entry-content .wp-element-button:focus,
html body #page .entry-content .wp-element-button:active,
html body #page .entry-content .wp-block-file__button,
html body #page .entry-content .wp-block-file__button:hover,
html body #page .entry-content .wp-block-file__button:focus,
html body #page .entry-content .wp-block-file__button:active {
    /* テーマが色を変えようとしても、99999秒（約27時間）待機させることで事実上無効化します */
    transition: color 99999s step-end, background-color 99999s step-end, background 99999s step-end, border-color 99999s step-end !important;
}

/* ==========================================================================
   2. レイアウト・コンテナ (1140px幅を死守)
   ========================================================================== */
.container {
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 15px;
    padding-left: 15px;
    width: 100%;
    box-sizing: border-box;
    display: block;
}
@media (min-width: 576px) {
    .container {
        max-width: 540px !important;
    }
}
@media (min-width: 768px) {
    .container {
        max-width: 720px !important;
    }
}
@media (min-width: 992px) {
    .container {
        max-width: 960px !important;
    }
}
@media (min-width: 1200px) {
    .container {
        max-width: 1140px !important;
    }
}
.site-main {
    padding-top: 0 !important;
}

/* ==========================================================================
   3. ヘッダー
   ========================================================================== */
.siteHeader,
#masthead {
    background: #fff;
    box-shadow: none !important;
    border: none !important;
    position: relative !important;
    width: 100%;
    z-index: 1030;
    min-height: 46px;
}
.siteHeadContainer {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding-top: 5px !important;
    padding-bottom: 4px !important;
    min-height: auto;
}
@media (min-width: 992px) {
    .siteHeadContainer {
        padding-top: 16px !important;
        padding-bottom: 14px !important;
        justify-content: flex-end;
        max-width: 960px !important;
    }
}
@media (min-width: 1200px) {
    .siteHeadContainer {
        justify-content: space-between !important;
        align-items: flex-start;
        max-width: 1140px !important;
    }
}
.navbar-brand,
.siteHeader_logo {
    margin: 0 !important;
    padding: 0 !important;
    display: block;
}
@media (min-width: 992px) {
    .siteHeader_logo {
        width: 960px;
    }
}
@media (min-width: 1200px) {
    .siteHeader_logo {
        width: auto;
    }
}
.custom-logo-link {
    margin: 0;
    padding: 0 45px;
    display: block;
}
@media (min-width: 992px) {
    .custom-logo-link {
        padding: 5px 0 11px;
    }
}
.navbar-brand img,
.custom-logo-link img {
    width: 100%;
    height: auto;
    max-height: 40px;
    display: block;
    margin-left: auto !important;
    margin-right: auto !important;
}
@media (min-width: 992px) {
    .navbar-brand img,
    .custom-logo-link img {
        width: auto !important;
        max-height: 50px !important;
    }
}
.nav-unshown {
    display: none !important;
}
#nav-open {
    position: fixed;
    top: 5px;
    left: 5px;
    z-index: 10000;
    cursor: pointer;
    width: 34px !important;
    height: 34px !important;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    border: 1px solid #333 !important;
    border-radius: 2px;
}
#nav-open span,
#nav-open span:before,
#nav-open span:after {
    content: '';
    display: block;
    height: 1px;
    width: 18px;
    background: #333;
    transition: 0.3s;
    position: absolute;
    backface-visibility: hidden;
}
#nav-open span {
    top: 50%;
    left: 50%;
    margin-left: -9px;
    margin-top: 0px;
}
#nav-open span:before {
    top: -6px;
    left: 0;
}
#nav-open span:after {
    top: 6px;
    left: 0;
}
#nav-input:checked ~ #nav-open span {
    background: transparent;
}
#nav-input:checked ~ #nav-open span::before {
    top: 0;
    transform: rotate(45deg);
}
#nav-input:checked ~ #nav-open span::after {
    top: 0;
    transform: rotate(-45deg);
}
.header-right-block {
    display: none;
}
@media (min-width: 1026px) {
    .header-right-block {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        text-align: right;
    }
    .header_sitemap_link {
        font-size: 1rem !important;
        margin-bottom: .8em;
        line-height: 1.65em;
    }
    .header_sitemap_link a {
        color: #333;
    }
}
a.form_btn {
    display: inline-block;
    padding: 10px 40px;
    color: #fff !important;
    line-height: 1;
    font-weight: bold;
    background: #f9801e;
    text-align: center;
    border-radius: 5px;
    font-size: 1rem !important;
}
a.form_btn::before {
    font-family: "Font Awesome 5 Free";
    content: "\f0e0";
    margin-right: 10px;
}

/* ==========================================================================
   4. グローバルメニュー
   ========================================================================== */
@media screen and (max-width: 991px) {
    .gMenu_outer {
        display: block !important;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: #fff;
        z-index: 9999;
        overflow-y: auto;
        transform: translateY(-100%);
        transition: transform 0.4s ease-in-out;
    }
    #nav-input:checked ~ .gMenu_outer {
        transform: translateY(0);
    }
    .gMenu {
        flex-direction: column;
        width: 100%;
        padding: 60px 0 20px;
        list-style-type: none;
    }
    .gMenu li {
        width: 100%;
        border-bottom: 1px solid #ccc;
        height: auto !important;
    }
    .gMenu li:first-child {
        border-top: 1px solid #ccc;
    }
    .gMenu li a {
        padding: 18px 20px;
        display: block;
        width: 100%;
        text-align: left;
        font-size: 1.1rem;
        color: #333;
        font-weight: bold;
    }
}
@media (min-width: 992px) {
    .gMenu_outer {
        border: none !important;
        display: block !important;
        position: relative !important;
        height: auto !important;
        transform: none !important;
        z-index: auto;
        max-width: 1000px !important;
        margin: 0 auto;
    }
    .gMenu_outer .container {
        padding-left: 0;
        padding-right: 0;
    }
    .gMenu {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        max-width: 1000px !important;
        margin: 0 auto;
        padding: 0;
    }
    .gMenu li {
        width: 25%;
        border-right: 1px solid #ccc;
        height: 68px;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
    }
    .gMenu li:first-child {
        border-left: 1px solid #ccc;
    }
    .gMenu li a {
        font-weight: bold;
        color: #333;
        line-height: 1.4;
        font-size: 13px;
    }
}

/* ==========================================================================
   5. フロントページ専用スタイル
   ========================================================================== */
.front-main-visual {
    width: 100vw;
    background: #fff;
    border-bottom: 1px solid rgba(0, 0, 0, .05);
    margin-bottom: 28px !important;
}
@media (min-width: 768px) {
    .front-main-visual {
        margin-bottom: 35px !important;
    }
}
@media (min-width: 992px) {
    .front-main-visual {
        margin-bottom: 49px !important;
    }
}
.main-visual-inner img {
    width: 100%;
    max-width: 100% !important;
    height: auto;
    display: block;
}
.front-message {
    padding-top: 41px;
    padding-bottom: 38px;
    padding-left: calc(50vw - 50%);
    padding-right: calc(50vw - 50%);
    text-align: center;
    background: rgba(255, 236, 220, 1);
    margin-bottom: 20px !important;
}
@media (min-width: 769px) {
    .front-message {
        padding-top: 75px;
        padding-bottom: 52px;
        margin-bottom: 60px !important;
    }
}
@media (min-width: 992px) {
    .front-message {
        padding-top: 88px;
        padding-bottom: 68px;
    }
}
.front-message-title {
    font-family: 'Economica', sans-serif;
    color: #f9801e;
    font-size: 35px;
    line-height: 1.2;
    font-weight: bold;
    margin-bottom: 14px;
}
.front-message-lead {
    font-size: 24.5px;
    color: #f9801e;
    line-height: 1.2;
    font-weight: bold;
    margin-bottom: 14px;
}
.front-message-text {
    font-size: 14px;
    line-height: 1.7;
    color: #333;
    font-weight: bold;
}
@media (min-width: 992px) {
    .front-message-text {
        font-size: 16px;
    }
}
.front-news {
    padding-bottom: 80px;
    background: #fff;
}
.front-news-head {
    text-align: center;
    margin-bottom: 40px;
}
.front-news-title {
    font-family: 'Economica', sans-serif;
    font-size: 35px;
    color: #f9801e;
    font-weight: bold;
    line-height: 1.2;
    margin-bottom: 14px;
}
.front-news-sub {
    font-size: 14px;
    color: #333;
    font-weight: bold;
}
.news-item {
    border-bottom: 1px dotted #eeeeee;
}
.news-item:first-child {
    border-top: none !important;
}
.news-content-wrap {
    display: flex;
    align-items: center;
    padding: .8rem 0 .7rem;
}
.news-date {
    font-family: 'Economica', sans-serif;
    font-size: 17px;
    margin-right: 30px;
    color: #888888;
}
.news-category {
    font-size: 11px;
    background: #fcedde !important;
    margin-right: 30px;
    border-radius: 2px;
    min-width: 100px;
    text-align: center;
}
.news-category a {
    color: #333333 !important;
    display: block;
    padding: 3px 12px;
}
.news-title {
    font-size: 15px;
    line-height: 1.6;
}
.news-title a {
    color: #333333 !important;
    transition: opacity 0.3s;
}
@media screen and (max-width: 991px) {
    .news-content-wrap {
        flex-wrap: wrap;
        padding: 20px 10px;
    }
    .news-date {
        font-size: 17px;
        margin-right: 15px;
        margin-bottom: 5px;
    }
    .news-category {
        margin-bottom: 5px;
        margin-right: 0;
        background: transparent;
    }
    .news-category a {
        padding: 3px 0;
        font-weight: normal;
        text-align: center;
    }
    .news-title {
        width: 100%;
        margin-top: 5px;
    }
}

/* ==========================================================================
   6. 固定ページ：共通・サブヘッダー・パンくず・カラム・要素・画像調整
   ========================================================================== */
.sub-page-header {
    background-color: #f9801e;
    padding: 40px 0 50px; /* 1.2.59基準 */
    text-align: center;
    color: #fff;
}
.sub-header-content h1.sub-page-title {
    font-size: 35px;
    font-weight: 500;
    margin: 0 !important;
}
.sub-header-content h1.sub-page-title i {
    display: block;
    font-family: 'Economica', sans-serif;
    font-style: normal;
    font-size: 20px !important; /* 1.2.59基準 */
    margin-bottom: 20px !important; /* 1.2.59基準 */
    font-weight: 500;
    line-height: 1.1;
}
.breadcrumb-area {
    background-color: #fff;
    padding: 7.2px 0 5px;
    border-bottom: 1px solid rgba(0, 0, 0, .05);
}
.site-breadcrumb {
    font-size: 12px;
    color: #666;
    background: none !important;
}
.site-breadcrumb a {
    color: #333;
    background: none !important;
}
.site-breadcrumb span {
    color: #888;
    background: none !important;
}
.page-main-content {
    padding: 2rem 0 0;
}
@media (min-width: 768px) {
    .page-main-content {
        padding: 2.5rem 0 0;
    }
}
@media (min-width: 992px) {
    .page-main-content {
        padding: 3rem 0 0;
    }
}
@media (min-width: 1200px) {
    .page-main-content {
        padding: 3.5rem 0 0;
    }
}
.entry-content {
    line-height: 1.8;
    margin-top: 0 !important;
}
.entry-content img {
    max-width: 100% !important;
    height: auto !important;
}

/* H2共通リセット：タグ直書き設定を優先するため共通化しない */
.entry-content h2 {
    background: none !important;
    border-left: none !important;
}

/* /hoikuehon_about/ 冒頭H2：背景・パディング・ネガティブマージン設定 */
h2#vk-htags-c12cacf0-591a-4a06-b327-4e887d86e457 {
    background-image: url('https://yohokyo.jp/wp-content/uploads/2020/09/mainph-hoikuehon_about_3.jpg') !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    margin-top: -2rem !important;
    margin-bottom: 0 !important;
    padding-top: 140px !important;
    padding-bottom: 130px !important;
    display: flex !important;
    flex-wrap: wrap;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    position: relative !important;
    overflow: hidden !important;
    border-bottom: none !important;
    font-size: 32px !important;
}
@media screen and (min-width: 577px) {
    h2#vk-htags-c12cacf0-591a-4a06-b327-4e887d86e457 {
        padding-top: 160px !important;
        padding-bottom: 118px !important;
        font-size: 50px !important;
    }
}
@media screen and (min-width: 768px) {
    h2#vk-htags-c12cacf0-591a-4a06-b327-4e887d86e457 {
        margin-top: -2.5rem !important;
    }
}
@media screen and (min-width: 992px) {
    h2#vk-htags-c12cacf0-591a-4a06-b327-4e887d86e457 {
        margin-top: -3rem !important;
    }
}
@media screen and (min-width: 1200px) {
    h2#vk-htags-c12cacf0-591a-4a06-b327-4e887d86e457 {
        margin-top: -3.5rem !important;
    }
}
h2#vk-htags-c12cacf0-591a-4a06-b327-4e887d86e457::after {
    content: "" !important;
    position: absolute !important;
    bottom: -1px !important;
    left: 0 !important;
    width: 100% !important;
    height: 50px !important;
    background-color: #fff !important;
    clip-path: ellipse(60% 100% at 50% 100%) !important;
}
h2#vk-htags-c12cacf0-591a-4a06-b327-4e887d86e457 span {
    display: block;
    font-size: 14px;
    font-weight: bold;
    color: #212529;
    margin-top: 1rem;
    width: 100%;
    line-height: 1.9;
}
@media (min-width: 992px) {
    h2#vk-htags-c12cacf0-591a-4a06-b327-4e887d86e457 span {
        font-size: 16px;
    }
}

/* 事業計画・決算報告 */
h3.is-style-vk-heading-solid_bottomborder_black {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    outline: unset;
    outline-offset: unset;
    -webkit-box-shadow: unset;
    box-shadow: unset;
    border-radius: unset;
    overflow: unset;
    color: inherit;
    background-color: transparent;
    border: none;
    padding: 0.6em 0 0.5em;
    margin-bottom: 1.2em;
    border-bottom: solid 1px #333;
}
h6.is-style-vk-heading-background_fill_lightgray {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    outline: unset;
    outline-offset: unset;
    -webkit-box-shadow: unset;
    box-shadow: unset;
    border-radius: unset;
    overflow: unset;
    color: inherit;
    border: none;
    background-color: #efefef;
    padding: 0.6em 0.7em 0.5em;
    margin-bottom: 1.2em;
    border-radius: 4px;
}
ul.is-style-vk-arrow-mark {
    list-style-type: none;
    margin: 0;
    padding: 0;
    -webkit-padding-start: 2em;
    padding-inline-start: 2em;
}
ul.is-style-vk-arrow-mark li {
    position: relative;
    margin-bottom: 0.8em;
    line-height: 1.65em;
}
ul.is-style-vk-arrow-mark li::before {
    color: #abb8c3;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    content: "";
    left: -1.5em;
}
.wp-block-group {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* リンク */
.wp-block-separator {
    border-top: 1px solid;
    border-bottom: 1px solid;
}
hr {
    margin-top: 1rem;
    margin-bottom: 1rem;
    border: 0;
    border-top: 1px solid rgba(0, 0, 0, .1);
}
hr {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}
.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
    width: auto !important;
}

/* 絵本子ページの見出し */
.entry-content h4.has-pale-pink-background-color,
.entry-content h4.has-white-color {
    border-bottom: 0 !important;
    padding: 1.25em 2.375em !important;
    margin-bottom: 1rem !important;
}
h5.is-style-vk-heading-background_fill_lightgray {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    outline: unset;
    outline-offset: unset;
    -webkit-box-shadow: unset;
    box-shadow: unset;
    border-radius: unset;
    overflow: unset;
    color: inherit;
    border: none;
    background-color: #efefef;
    padding: 0.6em 0.7em 0.5em;
    margin-bottom: 1.2em;
    border-radius: 4px;
    font-size: 1.25rem;
}
h5.is-style-vk-heading-solid_black, .editor-styles-wrapper .is-style-vk-heading-solid_black {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    outline: unset;
    outline-offset: unset;
    -webkit-box-shadow: unset;
    box-shadow: unset;
    border-radius: unset;
    overflow: unset;
    color: inherit;
    background-color: transparent;
    border: none;
    padding: 0.6em 0 0.5em;
    margin-bottom: 1.2em;
    border-top: solid 1px #333;
    border-bottom: solid 1px #333;
}

/* 絵本子ページのタイムライン */
.vk_timeline .vk_timeline_item {
    position: relative;
    padding: 0 0 2.4em 1.8em;
}
.vk_timeline_item_lineStyle-default::before {
    content: "";
    width: 3px;
    background: #ddd;
    display: block;
    position: absolute;
    top: 22px;
    left: 6px;
    bottom: 0;
}
.vk_timeline .vk_timeline_item_style {
    content: "";
    display: block;
    position: absolute;
    top: 4px;
    left: 0;
    width: 14px;
    height: 14px;
    border-radius: 50%;
}
div.wp-block-vk-blocks-timeline-item + div.wp-block-vk-blocks-timeline-item {
    margin-top: 25px;
}

/* 絵本子ページのバルーン */
.vk_balloon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: normal;
    -ms-flex-align: normal;
    align-items: normal;
    margin-bottom: 2.2em;
}
.vk_balloon-position-left.vk_balloon-type-serif .vk_balloon_icon {
    margin-right: 2rem;
}
.vk_balloon_icon {
    -ms-flex-preferred-size: 96px;
    flex-basis: 96px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    text-align: center;
}
.vk_balloon_content_outer {
    width: 100%;
}
.vk_balloon-type-serif .vk_balloon_content {
    border-radius: .4em;
}
.vk_balloon_content {
    padding: 1.1rem 1.4rem;
    position: relative;
    text-align: left;
}
.vk_balloon-position-left.vk_balloon-type-serif .vk_balloon_content::after {
    left: 0;
    top: 32px;
    border-right-color: inherit;
    border-left: 0;
    margin-top: -20px;
    margin-left: -20px;
}
.vk_balloon-type-serif .vk_balloon_content::after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    border: 20px solid transparent;
}

/* 絵本子ページのリスト */
.is-style-vk-heading-dotted_bottomborder_black, .editor-styles-wrapper .is-style-vk-heading-dotted_bottomborder_black {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    outline: unset;
    outline-offset: unset;
    -webkit-box-shadow: unset;
    box-shadow: unset;
    border-radius: unset;
    overflow: unset;
    color: inherit;
    background-color: transparent;
    border: none;
    padding: 0.6em 0 0.5em;
    margin-bottom: 1.2em;
    border-bottom: 1px dotted #111;
}
.vk_outer-width-full {
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.vk_outer-width-full > div {
    max-width: none !important;
    margin: 0 auto;
}
@media (min-width: 992px) {
    .vk_outer-width-full > div {
        max-width: 960px !important;
    }
}
@media (min-width: 1200px) {
    .vk_outer-width-full > div {
        max-width: 1140px !important;
    }
}
.vk_outer-paddingVertical-use {
    padding-top: 1.5em;
    padding-bottom: 1.5em;
}
@media (min-width: 576px) {
    .vk_outer-paddingVertical-use {
        padding-top: 2em;
        padding-bottom: 2em;
    }
}
@media (min-width: 768px) {
    .vk_outer-paddingVertical-use {
        padding-top: 2.5em;
        padding-bottom: 2.5em;
    }
}
@media (min-width: 992px) {
    .vk_outer-paddingVertical-use {
        padding-top: 3em;
        padding-bottom: 3em;
    }
}
@media (min-width: 1200px) {
    .vk_outer-paddingVertical-use {
        padding-top: 3.5em;
        padding-bottom: 3.5em;
    }
}
.vk_outer-bgPosition-normal {
    background-attachment: unset !important;
    background-size: cover !important;
}

/* 絵本子ページ画像 */
.entry-content > *[class=wp-block-image], .entry-content [class*=inner-container] > *[class=wp-block-image] {
    margin-bottom: 1em !important;
}

/* h4の中にあるリンク */
body.page-id-2267 .entry-content h4#anker04 {
    margin-bottom: 80px !important;
}
@media (min-width: 768px) {
    body.page-id-2267 .entry-content h4#anker04 {
        margin-bottom: 1.2em !important;
    }
}
span.inh4link {
    display: block;
    position: absolute;
    right: 0;
    top:0;
    padding: 0;
    margin: 80px 0 0 0;
    text-align: right;
    line-height: 1;
}
@media (min-width: 768px) {
    span.inh4link {
        margin: 0;
    }
}
span.inh4link a {
    position: relative;
    font-size: 15px;
    font-weight: normal;
    color: #ff974c;
    margin: 0 0 10px;
    padding: 0 0 0 15px;
}
span.inh4link a::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 1px !important;
    width: 0 !important;
    height: 0 !important;
    border-style: solid !important;
    border-width: 8px 0 8px 12px !important;
    border-color: transparent transparent transparent #f9801e !important;
    transform: none !important;
    display: block !important;
}
span.inh4link a:focus {
    color: #ff974c !important;
    background color: transparent !important;
    text-decoration: none !important;
}

/* 画像スタイル設定：テーマのカラム内子要素一律マージン設定を詳細度で上書き */
.entry-content .wp-block-columns .wp-block-column > .wp-block-image {
    margin-top: 0 !important;
    margin-bottom: 1em !important;
}
.wp-block-image.is-style-vk-image-photoFrame figure.alignleft,
.wp-block-image.is-style-vk-image-photoFrame figure.alignright,
.wp-block-image.is-style-vk-image-photoFrame figure.aligncenter {
    background-color: #fff;
    padding: 10px;
    -webkit-box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
    box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
    zoom: 1;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

/* ボタンスタイル設定：テーマのカラム内子要素一律マージン設定を詳細度で上書き */
.entry-content .wp-block-buttons {
    justify-content: center !important;
    gap: 0 !important;
}
.entry-content .wp-block-columns .wp-block-column > .wp-block-buttons,
.entry-content .wp-block-columns .wp-block-column > .wp-block-button {
    margin-top: 0 !important;
    margin-bottom: 0.5em !important;
}
.entry-content .wp-block-button__link {
    width: 300px !important;
}

/* メインコンテンツ内共通の精密調整 */
.entry-content h4 {
    border-bottom: 1px solid #333 !important;
    padding: 0.6em 0 0.5em 0 !important;
    margin-bottom: 1.2em !important;
}
.entry-content p,
.entry-content ul:not(.about-anchor-list) {
    font-size: 14px !important;
    line-height: 1.7 !important;
    margin-bottom: 1.2em !important;
}
.entry-content ul:not(.about-anchor-list) li {
    margin-bottom: 10px !important;
}
@media screen and (min-width: 768px) {
    .entry-content p,
    .entry-content ul:not(.about-anchor-list) {
        line-height: 1.9 !important;
    }
}
@media screen and (min-width: 992px) {
    .entry-content p,
    .entry-content ul:not(.about-anchor-list) {
        font-size: 16px !important;
    }
}

/* テーブルの精密調整 */
.entry-content .wp-block-table {
    margin: 0 0 1em;
    overflow-x: auto;
}
.entry-content td, 
.entry-content th {
    padding: 1em;
    font-size: 14px;
}
.entry-content .wp-block-table.is-style-stripes {
    border-spacing: 0;
    border-collapse: inherit;
    background-color: transparent;
    border-top: 1px solid #f0f0f0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
}
.entry-content .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
    background-color: #ffecdc;
}

/* カラムブロック全体の最適化 */
.wp-block-columns {
    margin-top: 0 !important;
    margin-bottom: 1.75em !important;
    align-items: flex-start;
}
@media (min-width: 782px) {
    .wp-block-columns {
        gap: 2rem !important;
    }
}
@media (max-width: 781px) {
    .wp-block-columns {
        margin-bottom: 2rem !important;
    }
    .wp-block-column {
        margin-bottom: 1.5rem;
    }
    .wp-block-column:last-child {
        margin-bottom: 0;
    }
}

/* VK Spacer 切り替えロジック（577px/769px） */
.vk_spacer {
    margin: 0 !important;
    padding: 0 !important;
}
.vk_spacer-display-tablet,
.vk_spacer-display-pc {
    display: none !important;
}
.vk_spacer-display-mobile {
    display: block !important;
}
@media screen and (min-width: 577px) and (max-width: 768px) {
    .vk_spacer-display-mobile,
    .vk_spacer-display-pc {
        display: none !important;
    }
    .vk_spacer-display-tablet {
        display: block !important;
    }
}
@media screen and (min-width: 769px) {
    .vk_spacer-display-mobile,
    .vk_spacer-display-tablet {
        display: none !important;
    }
    .vk_spacer-display-pc {
        display: block !important;
    }
}

/* ABOUTページ：アンカーリンク用横並びリスト */
.about-anchor-list {
    display: flex;
    flex-wrap: wrap;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 1.2em 0 !important;
    gap: 0 1.5rem;
    font-size: 14px;
}
.about-anchor-list li {
    position: relative !important;
    padding-left: 1.4em !important;
    line-height: 1.6 !important;
    background: none !important;
}
.about-anchor-list li a {
    color: #333 !important;
}
.about-anchor-list li a:focus {
    background color: transparent !important;
    text-decoration: none !important;
}
.about-anchor-list li::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 0.35em !important;
    width: 0 !important;
    height: 0 !important;
    border-style: solid !important;
    border-width: 8px 0 8px 12px !important;
    border-color: transparent transparent transparent #f9801e !important;
    transform: none !important;
    display: block !important;
}
@media screen and (min-width: 992px) {
    .about-anchor-list {
        font-size: 16px;
    }
}
span.subtext {
    font-size: 15.75px;
}
@media screen and (min-width: 992px) {
    span.subtext {
        font-size: 21px;
    }
}
body.page-id-1705 h1.sub-page-title i:last-child {
    font-size: 28px !important;
    margin-top: 20px;
    margin-bottom: 0px !important;
}
@media screen and (max-width: 781px) {
    body.page-id-1705 .wp-block-columns {
        margin-bottom: 0 !important;
        gap: 0 !important;
    }
    body.page-id-1705 .wp-block-columns .wp-block-column {
        margin-bottom: 0.5em !important;
    }
}

/* メルマガ登録ページ */
div#policy h3.common-title {
    position: relative;
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
    border-bottom: 1px solid rgba(0, 0, 0, .1);
    padding-bottom: 10px;
}
div#policy h3.common-title:after {
    content: ".";
    line-height: 0;
    display: block;
    overflow: hidden;
    position: absolute;
    bottom: -1px;
    width: 30%;
    border-bottom: 1px solid #f9801e;
}
div#policy .m40 {
    font-size: 14px;
    margin-bottom: 40px;
}
@media screen and (min-width: 992px) {
    div#policy .m40 {
        font-size: 16px;
    }
}
.btn_agree:disabled {
    background-color: #aaa !important;
    cursor: not-allowed;
}
.btn_agree {
    border: none;
    background-color: #548235 !important;
    color: #fff !important;
    font-size: 140%;
    font-weight: bold;
    text-align: center;
    box-shadow: 3px 3px 3px #aaa;
    padding: 1.5rem 0;
    width: 40%;
    margin: 1rem auto;
}

/* エピソード大賞 結果発表 */
pre.wp-block-preformatted {
    overflow-x: auto;
    white-space: pre-wrap !important;
    font-size: 1em !important;
    line-height: 1.5 !important;
}
.wp-block-buttons>.wp-block-button.has-custom-width .wp-block-button__link {
    width: 100% !important;
}
.is-style-vk-heading-dotted_bottomborder_black {
    font-size: 1.75rem;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    outline: unset;
    outline-offset: unset;
    -webkit-box-shadow: unset;
    box-shadow: unset;
    border-radius: unset;
    overflow: unset;
    color: inherit;
    background-color: transparent;
    border: none;
    padding: 0.6em 0 0.5em;
    margin-bottom: 1.2em;
    border-bottom: 1px dotted #111;
}
.vk_button-align-right {
    text-align: right;
}
article.post-1705 p.has-background {
    font-size: 30px !important;
    margin-bottom: 0 !important;
    padding: 1.25em 2.375em !important;
    line-height: 0 !important;
}
article.post-1705 .vk_heading_title-style-plain {
    margin-bottom: 0 !important;
}
figure.is-style-vk-image-photoFrame {
    background-color: #fff;
    padding: 10px;
    -webkit-box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
    box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
    zoom: 1;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}
.wp-block-image .aligncenter>figcaption,
.wp-block-image .alignleft>figcaption,
.wp-block-image .alignright>figcaption,
.wp-block-image.aligncenter>figcaption,
.wp-block-image.alignleft>figcaption,
.wp-block-image.alignright>figcaption {
    display: block !important;
}
.vk_outer-paddingVertical-use {
    padding: 1.5em;
}
@media screen and (min-width: 576px) {
    .vk_outer-paddingVertical-use {
        padding: 2em;
    }
}
@media screen and (min-width: 768px) {
    .vk_outer-paddingVertical-use {
        padding: 2.5em;
    }
}
@media screen and (min-width: 992px) {
    .vk_outer-paddingVertical-use {
        padding: 3em;
    }
}
@media screen and (min-width: 1200px) {
    .vk_outer-paddingVertical-use {
        padding: 3.5em;
    }
}
.fukidashi-under {
    position: relative; /* 必須：三角を絶対配置するための基準 */
}
/* 吹き出しの下三角部分 */
.fukidashi-under::after {
    content: "";
    position: absolute;
    
    /* 位置の指定：下部の外側、中央に配置 */
    bottom: -15px; /* 三角の高さ分だけ下にずらす */
    left: 50%;
    transform: translateX(-50%); /* 中央揃えの必須テクニック */
    
    /* サイズの指定 */
    width: 80px;
    height: 15px;
    
    /* ご指定の色（グラデーション） */
    background: linear-gradient(rgba(142, 209, 252, 0.2), rgba(142, 209, 252, 0.2));
    
    /* clip-pathで長方形を「逆三角形」に切り抜く */
    /* (左上, 右上, 下中央) の座標を指定しています */
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.fukidashi-top {
    position: relative;
}

/* 吹き出しの上三角部分 */
.fukidashi-top::before {
    content: "";
    position: absolute;
    
    /* 位置の指定：上部の外側、中央に配置 */
    top: -15px; /* 三角の高さ（15px）分だけ上に押し出す */
    left: 50%;
    transform: translateX(-50%); /* 中央揃え */
    
    /* サイズの指定 */
    width: 80px;
    height: 15px;
    
    /* ご指定の色（グラデーション） */
    background: linear-gradient(rgba(142, 209, 252, 0.2), rgba(142, 209, 252, 0.2));
    
    /* clip-pathで長方形を「上向き三角形」に切り抜く */
    /* (上中央, 右下, 左下) の座標を指定しています */
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
}


/* ==========================================================================
   7. フッター
   ========================================================================== */
.footer-contact-box {
    text-align: center;
    margin-bottom: 30px;
    background: url('https://yohokyo.jp/images/contact_backimg.jpg') no-repeat;
    background-size: cover;
    padding-top: 70px;
    padding-bottom: 44px;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    position: relative;
    left: 0;
}
.footer-contact-title {
    margin-bottom: 10px;
    color: #fff;
    font-size: 35px;
    font-weight: bold;
    font-family: 'Economica', sans-serif;
}
.footer-contact-text {
    font-size: 14px;
    margin-bottom: 25px;
    color: #fff;
}
.footer-contact-btn-wrap {
    margin-bottom: 50px;
}
.footer-address-group {
    padding: 0 15px;
}
.footer-name {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 1rem;
}
.footer-tfp {
    color: #333;
    font-size: 14px;
    margin-bottom: 5px;
}
.footer-tfp a {
    text-decoration: underline;
}
.footer-copyright {
    font-size: 12px;
    color: #333;
    padding-top: 20px;
    margin: 0 auto;
}
@media (min-width: 1025px) {
    .footer-address-group {
        display: table;
        width: 930px;
    }
    .footer-name {
        display: table-cell;
        vertical-align: middle;
        text-align: left;
    }
    .footer-tfp {
        display: table-cell;
        vertical-align: middle;
        text-align: left;
    }
    .footer-copyright {
        width: 900px;
        text-align: left;
    }
}
@media (min-width: 1200px) {
    .footer-address-group {
        width: 1110px;
    }
    .footer-copyright {
        width: 1080px;
    }
}
.footer-tfp a {
    font-size: 14px;
    font-weight: bold;
    color: #686868;
}
@media (min-width: 992px) {
    .footer-tfp a {
        font-size: 16px;
    }
}


/* ==========================================================================
   8. ここから下は変更禁止
   ========================================================================== */
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select {
    height: 40px;
    padding: 0 12px;
    font-size: 1em;
    color: #333;
    border: 1px solid #ddd;
    border-radius: 5px;
    max-width: 100%;
    box-sizing: border-box;
}
textarea {
    height: auto;
    min-height: 120px;
    line-height: 1.5em;
}
.form-table {
    width: 100%;
    margin-bottom: 30px;
    border-top: 1px solid #ccc;
    border-collapse: collapse;
}
.form-table th,
.form-table td {
    padding: 20px;
    border-bottom: 1px solid #ccc;
}
.form-table th {
    width: 31%;
    text-align: left;
    font-weight: bold;
    color: #434343;
    background: #f8f1d4;
}
.wpcf7 input[type="submit"] {
    border: none;
    background: #f9801e;
    color: #fff;
    padding: 10px 80px;
    border-radius: 5px;
    font-size: 25px;
    cursor: pointer;
    display: block;
    margin: 40px auto;
}
.siteFooter {
    border: none;
    margin-top: 0;
}
.container.sectionBox.footerWidget {
    max-width: 100%;
    padding: 0 0 40px;
    color: #fff;
    text-align: center;
}
.footer-info {
    display: flex;
    justify-content: center;
    gap: 30px;
    align-items: center;
}
@media only screen and (max-width: 1025px) {
    .form-table,
    .form-table tbody,
    .form-table tr,
    .form-table th,
    .form-table td {
        display: block;
        width: 100%;
    }
    .footer-info {
        flex-direction: column;
        text-align: center;
    }
}

/* ==========================================================================
   9. 問い合わせフォーム
   ========================================================================== */
.t_center {
    text-align: center;
}
.site .wpcf7-form-control.wpcf7-submit {
    transform: translate(36px) !important;
    background-color: #f9801e !important;
}
td.mg-name span {
    display: inline-block;
    width: 40%;
}
td.mg-name span:first-child {
    margin-right: 10px;
}
span.req {
    color: red;
}
h5.form-title {
    background: #ff8200;
    text-align: center;
    font-size: 25px;
    font-weight: normal;
    color: #fff;
    margin: 0 15px 1rem !important;
    padding: 10px 0;
    line-height: 2.09em;
    letter-spacing: 2px;
}
.page-wrap .form-tex.m40 {
    margin: 0 15px 40px !important;
}


/* ==========================================================================
   10. サイトマップ・プライバシーポリシー
   ========================================================================== */
/* サイトマップ */
a.menu_title,
a.menu_title:link,
a.menu_title:hover,
a.menu_title:visited {
    background-color: #f9801e;
    color: #fff;
    padding: 0.5rem 1rem;
    border-radius: 10px;
    display: block;
    line-height: inherit !important;
}
.menu_wrap ul {
    list-style-type: none;
    padding: 0 2rem;
}
.menu_wrap ul a {
    color: #686868;
}
/* プライバシーポリシー */
div.ppimg {
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    margin-top: -2rem !important;
    margin-bottom: 2rem !important;
    border-bottom: none !important;
}
div.ppimg img {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}
@media screen and (min-width: 768px) {
    div.ppimg {
        margin-top: -2.5rem !important;
        margin-bottom: 2.5rem !important;
    }
}
@media screen and (min-width: 992px) {
    div.ppimg {
        margin-top: -3rem !important;
        margin-bottom: 3.5rem !important;
    }
}
@media screen and (min-width: 1200px) {
    div.ppimg {
        margin-top: -3.5rem !important;
        margin-bottom: 4rem !important;
    }
}
body.privacy-policy h3.common-title {
    position: relative;
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
    border-bottom: 1px solid rgba(0, 0, 0, .1);
    padding-bottom: 10px;
}
body.privacy-policy h3.common-title:after {
    content: ".";
    line-height: 0;
    display: block;
    overflow: hidden;
    position: absolute;
    bottom: -1px;
    width: 30%;
    border-bottom: 1px solid #f9801e;
}
body.privacy-policy .m40 {
    font-size: 14px;
    margin-bottom: 40px;
}
@media screen and (min-width: 992px) {
    body.privacy-policy .m40 {
        font-size: 16px;
    }
}
.text-indent {
    font-size: 14px;
    margin: 0 1.5em 2em;
}
@media (min-width: 992px) {
    .text-indent {
        font-size: 16px;
    }
}
hr.end_line {
    margin-bottom: calc( 2rem + 70px) !important;
    border: 1px dashed #f9801e;
}


/* ==========================================================================
   11. 投稿・カテゴリー・アーカイブの2カラム化とサイドバーデザイン
   ========================================================================== */

/* 1. 大枠（#content）のベース設定と、諸悪の根源である擬似要素の抹殺 */
body.single #content,
body.category #content,
body.archive #content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1140px !important;
    margin: 0 auto !important; /* 中央寄せのみ（上下の余白はpaddingに任せる） */
    box-sizing: border-box !important;
}

/* ★大発見！両端の謎スペースを作り出していた「透明な箱」を完全に消去 */
body.single #content::before,
body.single #content::after,
body.category #content::before,
body.category #content::after,
body.archive #content::before,
body.archive #content::after {
    display: none !important;
}

/* ご提示いただいた元サイトの正確な上下paddingを適用（左右は0のまま） */
body.single #content,
body.category #content,
body.archive #content {
    padding: 2rem 0 2rem !important;
}
@media (min-width: 768px) {
    body.single #content,
    body.category #content,
    body.archive #content {
        padding: 2.5rem 0 2.5rem !important;
    }
}
@media (min-width: 992px) {
    body.single #content,
    body.category #content,
    body.archive #content {
        padding: 3rem 0 3.5rem !important;
    }
}
@media (min-width: 1200px) {
    body.single #content,
    body.category #content,
    body.archive #content {
        padding: 3.5rem 0 4rem !important;
    }
}

/* 2. PC表示時（992px以上）のレイアウト（数値は確定版を使用） */
@media screen and (min-width: 992px) {
    /* 左カラム（#primary）：760px。ロゴと左端を揃えるための左右15px */
    body.single #primary,
    body.category #primary,
    body.archive #primary {
        width: 66.66667% !important; /* 実質760px */
        margin: 0 !important;
        padding: 0 15px !important;  /* テキストを15px内側へ（ロゴと揃う） */
        max-width: none !important;
        box-sizing: border-box !important;
    }

    /* 右カラム（#secondary）：隙間42pxを計算。ボタンと右端を揃えるための左右15px */
    #secondary.my-sidebar-area {
        /* 1140px(100%) - 760px(66.66667%) - 隙間42px = 338px（実質337.99px） */
        width: calc(100% - 66.66667% - 42px) !important;
        margin: 0 !important;
        padding: 0 15px !important; /* テキストを15px内側へ（ボタンと揃う） */
        display: block;
        box-sizing: border-box !important;
    }
}

/* 3. 二重paddingの完全無効化 */
/* 左カラム内にある .container の左右余白だけを確実に殺す */
body.single #primary .container,
body.category #primary .container,
body.archive #primary .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
}

/* TT1本体が記事の中身に勝手にかける左右の余白も殺す */
body.single .site-main > *,
body.category .site-main > *,
body.archive .site-main > *,
body.single article > *,
body.category article > *,
body.archive article > * {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* 2カラムページ限定の .page-main-content 上paddingリセット */
body.single .page-main-content,
body.category .page-main-content,
body.archive .page-main-content {
    padding-top: 0 !important;
}

/* 4. サイドバー内のウィジェットデザイン */
.my-sidebar-area .my-custom-widget {
    margin-bottom: 40px;
}
.my-sidebar-area .my-custom-widget-title {
    font-size: 1.15rem;
    font-weight: bold;
    color: #333;
    border-bottom: 2px solid #f9801e;
    padding-bottom: 10px;
    margin-bottom: 15px;
    margin-top: 0;
    line-height: 1.4;
}
.my-sidebar-area .my-custom-widget ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.my-sidebar-area .my-custom-widget ul li {
    border-bottom: 1px dashed #ccc;
    padding: 0;
    margin: 0;
}
.my-sidebar-area .my-custom-widget ul li a {
    display: block;
    padding: 12px 5px;
    color: #333;
    text-decoration: none;
    font-size: 0.95rem;
    transition: color 0.3s ease;
}
.my-sidebar-area .my-custom-widget ul li a:hover {
    color: #f9801e;
}

/* 5. スマホ・タブレット表示時（991px以下で1カラムに縦積み） */
@media screen and (max-width: 991px) {
    body.single #content,
    body.category #content,
    body.archive #content {
        display: flex;
        flex-direction: column;
        padding-left: 15px !important; /* スマホ時は画面端の余白を確保 */
        padding-right: 15px !important;
    }
    body.single #primary,
    body.category #primary,
    body.archive #primary {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    #secondary.my-sidebar-area {
        width: 100% !important;
        margin-top: 42px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 0 !important;
        display: block;
    }
}

/* ==========================================================================
   12.投稿シングルページ（yhk- クラス）のデザイン
   ========================================================================== */

/* 1. ヘッダー全体（.entry-header の移植） */
.yhk-entry-header {
    margin-bottom: 1.5rem;
    position: relative;
    border-bottom: 1px solid rgba(0, 0, 0, .05);
}
@media (min-width: 992px) {
    .yhk-entry-header {
        margin-bottom: 2.2rem;
    }
}

/* 2. 記事タイトル（h1関連の移植） */
.yhk-entry-title {
    margin-top: 0;
    margin-bottom: 1rem;
    line-height: 1.4em;
    font-size: 32px;
    position: relative;
}

/* 3. トップのメタ情報（日付とカテゴリー） */
.yhk-entry-meta {
    display: flex;
    justify-content: space-between; /* Flexboxで左（日付）と右（カテゴリー）に振り分け */
    align-items: center;
    margin-bottom: .8em; /* 元サイトの正確な数値に修正 */
    padding-left: 3px;   /* 元サイトの正確な数値に修正 */
    font-size: 12px;
}

/* 日付とカレンダーアイコンの装飾 */
.yhk-posted-on::before {
    font-family: "Font Awesome 5 Free";
    content: "\f073";
    font-weight: 900;
    margin-right: 5px;
}

/* カテゴリーのリンク装飾（インラインスタイルのCSS化＆状態変化の無効化） */
.yhk-entry-meta .yhk-cat-links a,
.yhk-entry-meta .yhk-cat-links a:hover,
.yhk-entry-meta .yhk-cat-links a:focus,
.yhk-entry-meta .yhk-cat-links a:active,
.yhk-entry-meta .yhk-cat-links a:visited {
    display: inline-block;
    background-color: #f49c38; /* ご指定のオレンジ色 */
    color: #fff; /* ※背景色がオレンジなので、文字色は白を想定しています */
    border: none;
    padding: 3px 8px; /* 文字の周りの余白（元サイト風に微調整） */
    border-radius: 3px; /* 少し角丸に */
    text-decoration: none; /* 下線を消す */
    font-size: 11px; /* 日付より少し小さく */
    line-height: 1;
    transition: none; /* ホバー時のフワッとした変化を完全に切る */
}

/* 4. フッター全体（.entry-footer の移植） */
.yhk-entry-footer {
    display: block;
    overflow: hidden;
    margin-bottom: 2em;
}

/* 5. フッター内のカテゴリー情報（.entry-meta-dataList および dl/dt/dd の移植） */
.yhk-post-meta {
    display: block;
    overflow: hidden;
    padding-top: 3px;
    margin-top: 30px;
}
.yhk-post-meta dl {
    margin: 0 0 2px;
}
.yhk-post-meta dt {
    float: left;
    background-color: #666;
    color: #fff;
    font-size: 10px;
    line-height: 1.1em;
    padding: 4px 8px;
    font-weight: lighter;
    margin-right: 10px;
    border: none;
    min-width: 10em;
    text-align: center;
    border-radius: 3px;
    display: block;
    overflow: hidden;
    margin-bottom: 0;
}
.yhk-post-meta dd {
    font-size: 12px;
    border: none;
    padding-left: 0;
    display: block;
    overflow: hidden;
    margin-bottom: 0;
}
.yhk-post-meta dd a {
    display: inline-block;
    padding: 0 2px 1px;
}

/* 6. 本文エリアのベース設定（フォントサイズとpタグの移植） */
.yhk-entry-content {
    font-size: 14px;
}
.yhk-entry-content p {
    line-height: 1.7;
    margin-bottom: 1.2em;
}
/* タブレット以上の行間 */
@media (min-width: 768px) {
    .yhk-entry-content p {
        line-height: 1.9;
    }
}
/* PC以上のフォントサイズ */
@media (min-width: 992px) {
    .yhk-entry-content {
        font-size: 16px;
    }
}

/* 7. 投稿ページのウィジェット */
.widget_recent_entries li {
    position: relative;
    padding-top: 20px !important;
}
.widget_recent_entries li .post-date {
    position: absolute;
    top: 8px;
    left: 5px;
	  font-size: 12px;
}

/* yhk-pagination全体の設定（上に50pxのマージン） */
.yhk-pagination {
    margin-top: 50px;
}

/* <ul> を横並び＆センター寄せに */
.yhk-pagination ul.page-numbers {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px; /* ボタン同士の隙間 */
    list-style: none;
    padding: 0;
    margin: 0;
}

/* <li> に1pxの枠線 */
.yhk-pagination ul.page-numbers li {
    border: 1px solid #ddd;
    margin: 0;
}

/* <a> と <span>（.currentや「...」部分）の共通スタイル */
.yhk-pagination ul.page-numbers li a,
.yhk-pagination ul.page-numbers li span {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;  /* ボタンの幅（お好みで変更してください） */
    height: 40px; /* ボタンの高さ（お好みで変更してください） */
    text-decoration: none;
    box-shadow: none;
    color: #464646;
}

/* <a> タグのホバー・フォーカス・アクティブ・訪問済みのスタイルを固定 */
.yhk-pagination ul.page-numbers li a:hover,
.yhk-pagination ul.page-numbers li a:focus,
.yhk-pagination ul.page-numbers li a:active,
.yhk-pagination ul.page-numbers li a:visited {
    color: #464646;
    background-color: transparent;
    text-decoration: none;
    box-shadow: none;
}

/* 現在のページ (.current) のみのスタイル */
.yhk-pagination ul.page-numbers li span.current {
    color: #fff;
    background-color: #f9801e;
}

/* ===================================================
   メルマガ：現在メルマガはありません のメッセージ
=================================================== */
.no-magazine-msg {
    font-size: 14px;
    margin: 0 0 6px 0;
}

/* 画面幅992px以上（PCサイズ）でのフォントサイズ */
@media (min-width: 992px) {
    .no-magazine-msg {
        font-size: 16px;
    }
}

/* ===================================================
   メルマガ：記事リスト(.mail-magazine-posts)の下の線
   （元の hr.end_line のデザインを再現）
=================================================== */
.mail-magazine-posts {
    /* リストの下にオレンジの破線を引く */
    border-bottom: 1px dashed #f9801e;
    margin-bottom: 5rem !important;
}
body.single .site-main > .shomei-merumaga,
body.category .site-main > .shomei-merumaga,
body.archive .site-main > .shomei-merumaga {
    border: 5px solid #6eb92b;
    padding: 25px !important;
}
p.next_mailmagazine {
    margin-bottom: 50px !important;
}

/* ===================================================
   メルマガ：各記事のサブタイトル
=================================================== */
.post_box h3.mail-magazine-sub-title {
    width: 100%;
    border-bottom: 2px solid #f9801e;
    font-weight: bold;
    font-size: 28.8px;   /* 元の 180% 相当 */
    padding-bottom: 8px; /* 文字と下線の間の隙間（微調整してください） */
    margin-bottom: 20px; /* 下に続くタイトル(h4)との余白 */
    margin-top: 0;
}
.post_box h4.mail-magazine-item-title {
    margin: 20px 0px !important;
    font-size: 21px;
    font-weight: 500; /* もし元サイトで太字だった場合は残してください（不要なら削除） */
    line-height: 1.2;  /* タイトルが2行になった時のための行間（お好みで調整） */
}

/* ===================================================
   メルマガ：要約と全文の行間を完全に統一する
=================================================== */
/* スマホ等（767px以下）のベース行間 */
.off_contents,
.on_contents,
.on_contents .full-content,
.off_contents p,
.on_contents p,
.on_contents .full-content p {
    font-size: 17.6px;
    line-height: 1.7;
}

/* タブレット・PC等（768px以上）の行間 */
@media (min-width: 768px) {
    .off_contents,
    .on_contents,
    .on_contents .full-content,
    .off_contents p,
    .on_contents p,
    .on_contents .full-content p {
        line-height: 2.0;
        margin-bottom: 20px;
    }
}

/* post_box */
.post_box {
    margin: 0 0 50px;
}

/* もっと読むボタン */
.post_box button.open_btn,
.post_box button.close_btn {
    border-radius: 32px;
    border: 2px solid #f9801e;
    color: #f9801e !important;
    font-weight: bold;
    padding: 10px 40px;
    background-color: #fff !important;
}
.open_btn:focus,
.open_btn:active,
.close_btn:focus,
.close_btn:active {
    color: #f9801e !important;
    outline: none !important;     /* 標準のアウトラインを消す */
    box-shadow: none !important;  /* Twenty Twenty-One特有の影（フォーカスリング）を消す */
}

/* Firefoxブラウザ特有の内側点線を消す */
.open_btn::-moz-focus-inner,
.close_btn::-moz-focus-inner {
    border: 0;
}

/* ===================================================
   メルマガ：サムネイル画像の配置（floatでの回り込み）
=================================================== */
/* 閉じた状態・開いた状態のコンテナ共通の回り込み解除（clearfix） */
.off_contents::after,
.on_contents::after {
    content: "";
    display: table;
    clear: both;
}

.mail-magazine-thumb {
    float: left;            /* 画像を左に寄せてテキストを回り込ませる */
    margin: 0 20px 10px 0;  /* 画像の右と下に余白を設ける */
    max-width: 200px;       /* 画像が大きくなりすぎないように制限（元サイトの幅に合わせて調整してください） */
}

/* サムネイル画像自体のスタイル */
.mail-magazine-thumb img {
    width: 100%;
    height: auto;
    display: block;
    /* 必要であれば枠線などを追加 */
    /* border: 1px solid #ddd; */
    /* border-radius: 4px; */
}

/* --- スマホ表示時の調整 --- */
@media (max-width: 767px) {
    .mail-magazine-thumb {
        float: none;        /* 回り込みを解除 */
        margin: 0 0 15px 0; /* 下方向の余白だけにする */
        max-width: 100%;    /* スマホでは画像を横幅いっぱいに広げる（または少し小さめに指定） */
        text-align: center; /* 画像を中央揃えにしたい場合 */
    }

    .mail-magazine-thumb img {
        margin: 0 auto;     /* 中央揃えの補助 */
    }
}

.post-type-archive-mail_magazine .mail-magazine-posts a,
.post-type-archive-mail_magazine .mail-magazine-posts a:link,
.post-type-archive-mail_magazine .mail-magazine-posts a:hover,
.post-type-archive-mail_magazine .mail-magazine-posts a:visited {
    text-decoration: underline;
    color: blue;
}

.post_box .profile_url {
    font-size: 14px;
    margin-bottom: 2rem;
}
@media (min-width: 992px) {
    .post_box .profile_url {
        font-size: 16px;
    }
}

/* ===================================================
   メルマガ：ヘッダー画像を常に100vwで全幅表示する
=================================================== */
.mail-magazine-header.full-width-header {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.mail-magazine-top-img {
    width: 100%;
    max-width: 100vw !important; /* ←ここが重要！テーマの制限を強制リセット */
    height: auto;
    display: block;
    /* もし画像が横に伸びすぎるのが気になる場合は、高さを固定して object-fit: cover; を使います */
    /* object-fit: cover; */
}

/* ===================================================
   メルマガ：シングルページの「前に戻る」ボタン
=================================================== */
.back_btn {
    border-radius: 32px;
    border: 2px solid #f9801e;
    color: #f9801e !important;
    font-weight: bold;
    padding: 10px 40px;
    background-color: #fff !important;
}

/* hover / focus / active / visited 全ての状態で変化を無効化 */
.back_btn:hover,
.back_btn:focus,
.back_btn:active,
.back_btn:visited {
    color: #f9801e !important;
    outline: none !important;     /* 標準のアウトラインを消す */
    box-shadow: none !important;  /* Twenty Twenty-One特有の影（フォーカスリング）を消す */
}

/* Firefox特有の内側点線を消す */
.back_btn::-moz-focus-inner {
    border: 0;
}

#main .back_btn:hover,
#main .back_btn:focus,
#main .back_btn:active,
#main .back_btn:visited,
#main .back_btn:focus-visible {
    color: #f9801e !important;
}

/* ===================================================
   施設環境関連ページ&園庭遊具関連ページ
=================================================== */
.is-style-vk-heading-solid_bottomborder_black, .editor-styles-wrapper .is-style-vk-heading-solid_bottomborder_black {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    outline: unset;
    outline-offset: unset;
    -webkit-box-shadow: unset;
    box-shadow: unset;
    border-radius: unset;
    overflow: unset;
    color: inherit;
    background-color: transparent;
    border: none;
    padding: 0.6em 0 0.5em;
    margin-bottom: 1.2em;
    border-bottom: solid 1px #333;
}

h2.underline-gray {
    padding: .8em 0 .7em;
    border-bottom: 1px solid #e9e9e9;
    font-size: 1.75rem;
}
h3.underline-2col {
    margin: 0 0 1rem;
    padding-bottom: 8px;
    position: relative;
    border-bottom: 1px solid rgba(0, 0, 0, .1);
}
h3.underline-2col:after {
    content: ".";
    line-height: 0;
    display: block;
    overflow: hidden;
    position: absolute;
    bottom: -1px;
    width: 30%;
    border-bottom: 1px solid #f9801e;
}
.btn-warning {
    background-color: #ffc107 !important;
    border-color: #ffc107 !important;
}
.btn-info {
    background-color: #17a2b8 !important;
    border-color: #17a2b8 !important;
}
.btn-infant {
    background-color: #83c5bd !important;
    border-color: #83c5bd !important;
    font-size: inherit;
    color: #fff !important;
}
.btn-toddler {
    background-color: #eeae9e !important;
    border-color: #eeae9e !important;
    font-size: inherit;
    color: #fff !important;
}

/* 本文エリア(#mainなど)の中に .trigger-○○ が存在する場合、.sub-page-header の背景色を変える */
body:has(.trigger-pink) .sub-page-header {
    background-color: #e7b1d0 !important;
}
body:has(.trigger-purple) .sub-page-header {
    background-color: #c5b5d8 !important;
}
body:has(.trigger-yellow) .sub-page-header {
    background-color: #f7ee12 !important;
    color: #17a2b8 !important;
}
body:has(.trigger-blue) .sub-page-header {
    background-color: #6cb8e7 !important;
}
body:has(.trigger-beige) .sub-page-header {
    background-color: #fcebcd !important;
    color: #0d6fb8 !important;
}
body:has(.trigger-green) .sub-page-header {
    background-color: #9fd19f !important;
}

/* ===================================================
   Safety Letter（最新1件）ページ専用スタイル
=================================================== */

/* 大枠のフレックスコンテナ（左：最新1件 / 右：アンケート） */
.entry-content > .sl-main-flex-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around; /* 元サイトの justify-content-around */
    align-items: flex-start;
    margin-bottom: 0 !important;
}

/* 左側：最新1件エリア（Bootstrapの col-lg-8 相当） */
.safety-letter-latest-section {
    width: 66.666667%;
}

/* 右側：アンケートエリア */
.sl-survey-wrap {
    width: 25%; /* 余白を考慮した幅 */
}

.sl-survey-list {
    list-style: none;
    padding-left: 0;
    text-align: center;
}

.sl-survey-list li.mb-5 {
    margin-bottom: 3rem;
}

.sl-qr-text {
    margin-bottom: 10px;
}

.sl-qr-img img {
    max-width: 150px;
    height: auto;
}

/* 最新1件のボックス内レイアウト */
.sl-latest-box {
    display: flex;
    flex-wrap: wrap;
    border: 1px solid #ccc;
    padding: 30px;
    background: #fff;
    margin-bottom: 50px;
}

/* 元サイトの col-4 相当 */
.sl-latest-thumb {
    width: 33.333333%;
    padding-right: 20px;
}

.sl-latest-thumb img {
    width: 100%;
    height: auto;
    display: block;
    border: 1px solid #eee;
    margin-top: 30px; /* 元のCSSを反映 */
}

/* 元サイトの col-8 相当 */
.sl-latest-info {
    width: 66.666667%;
    padding: 1em 0; /* 元のCSSを反映 */
}

.sl-name {
    font-size: 1.4rem;
    font-weight: bold;
    margin-top: 0;
    margin-bottom: 0; /* 元のm-0を反映 */
}

.sl-note {
    margin-top: 15px;
    margin-bottom: 15px;
}

.sl-text {
    line-height: 1.7;
    margin-bottom: 0;
}

/* 共通ボタンのスタイル（丸薬型） */
.sl-btn {
    display: inline-block;
    padding: 12px 30px;
    border-radius: 50px; 
    font-weight: bold;
    text-decoration: none !important;
    text-align: center;
    transition: opacity 0.3s;
    border: none;
    font-size: 1rem;
    font-weight: 400;
}

.sl-btn:hover {
    opacity: 0.8;
}

.sl-pdf-btn {
    margin: 1rem 0;
}

.sl-survey-btn {
    margin: 1rem 0;
}

/* 各種ボタンの色（元サイトの btn-info に近い水色） */
.sl-pdf-btn,
.sl-survey-btn,
.sl-archive-btn {
    background-color: #17a2b8 !important;
    color: #fff !important;
}

/* 下部の過去一覧リンクエリア */
.sl-archive-link-wrap {
    text-align: center;
    margin-bottom: 50px !important; /* 元の mb-5 を反映 */
}

/* --- レスポンシブ調整（タブレット・スマホ用） --- */
@media (max-width: 991px) { /* Bootstrapの lg 以下 */
    .safety-letter-latest-section,
    .sl-survey-wrap {
        width: 100%;
    }
    .sl-survey-wrap {
        margin-top: 40px;
    }
}

@media (max-width: 767px) {
    .sl-latest-thumb,
    .sl-latest-info {
        width: 100%;
        padding-right: 0;
    }
    .sl-latest-thumb img {
        margin-top: 0;
        margin-bottom: 20px;
    }
}

/* ===================================================
   特定のアーカイブページを完全1カラム幅（100%）にする
=================================================== */
body.post-type-archive-safety-letter #primary,
body.post-type-archive-safety-letter .page-main-content,
body.post-type-archive-lineup-infant #primary,
body.post-type-archive-lineup-infant .page-main-content,
body.post-type-archive-lineup-toddler #primary,
body.post-type-archive-lineup-toddler .page-main-content {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    flex: 0 0 100% !important; /* Flexboxで幅制限されている場合用 */
    margin: 0 auto !important;
}

/* ===================================================
   Safety Letter アーカイブ（一覧）用スタイル：2列並び
=================================================== */

/* 複数カードを並べる大枠（PCで横並び） */
.sl-archive-flex-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around; /* 元サイトの justify-content-around 相当 */
    margin-bottom: 50px;
}

/* 個別のカード全体（元サイトの col-lg-5 相当） */
.sl-archive-card {
    width: 45%; /* PCでは約半分の幅 */
    margin-bottom: 50px;
    border: 1px solid #ccc;
    border-radius: 8px;
    background: #fff;
    padding: 30px;
}

/* カードの中身（左：画像、右：テキスト） */
.sl-archive-card-inner {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

/* カード内：サムネイル画像（元サイトの col-4 相当） */
.sl-archive-card-thumb {
    width: 33.333333%;
}

.sl-archive-card-thumb img {
    width: 100%;
    height: auto;
    display: block;
    border: 1px solid #eee;
    margin-top: 30px; /* 元サイトの設定 */
}

/* カード内：テキスト情報（元サイトの col-8 相当） */
.sl-archive-card-info {
    width: calc(66.666667% - 20px); /* 隙間(gap)分を引く */
}

/* テキスト装飾（最新1件のページと同じ） */
.sl-name {
    font-size: 1.4rem;
    font-weight: bold;
    margin-top: 0;
    margin-bottom: 10px;
}

.sl-note {
    font-weight: bold;
    margin-top: 15px;
    margin-bottom: 15px;
}

.sl-text {
    line-height: 1.7;
    margin-bottom: 0;
}

/* ボタン装飾 */
.sl-btn {
    display: inline-block;
    padding: 12px 30px;
    border-radius: 50px; 
    font-weight: bold;
    text-decoration: none !important;
    text-align: center;
    transition: opacity 0.3s;
    border: none;
    margin-bottom: 15px;
}

.sl-btn:hover {
    opacity: 0.8;
}

.sl-pdf-btn {
    background-color: #17a2b8 !important; /* 元サイトの水色 */
    color: #fff !important;
}

/* --- レスポンシブ調整 --- */
/* タブレット・スマホ（991px以下：Bootstrapの lg 以下）で1列にする */
@media (max-width: 991px) {
    .sl-archive-card {
        width: 100%; /* カード自体を横幅いっぱいに */
    }
}

/* スマホ（767px以下）でカード内の画像とテキストを縦積みにする */
@media (max-width: 767px) {
    .sl-archive-card-thumb,
    .sl-archive-card-info {
        width: 100%;
    }
    .sl-archive-card-thumb img {
        margin-top: 0;
    }
}

/* ===================================================
   遊具(幼児)一覧・ハードコード部分の装飾
=================================================== */

/* 上部グレー背景エリア */
.lineup-toddler-bg {
    background-color: #f8f9fa; /* 薄いグレー（適宜調整してください） */
}

/* 黒背景・白文字の見出し（VK Blocksの再現） */
h2.yhk-heading-black {
    font-size: 30px;
    font-weight: bold;
    color: #fff !important;
    background-color: #000;
    padding: 10px 20px;
    margin-bottom: 20px;
    border-bottom: 3px solid #000;
}

/* 「幼児用」＋三角形の装飾 */
.border-line-deco {
    border-bottom: 2px solid #000;
    position: relative;
    padding-bottom: 5px;
    display: flex;
    align-items: center;
}

.border-line-deco .text-white {
    color: #fff !important;
    background-color: #000;
    font-weight: bold;
}

.border-line-deco .triangle {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 0 15px 15px; /* 右向きの三角形 */
    border-color: transparent transparent transparent #000;
    margin-left: 2px;
}

/* ===================================================
   遊具(幼児) 一覧・アーカイブ部分のレイアウト
=================================================== */
.section-bg.lineup-toddler {
    background: url(https://yohokyo.jp/images/bg_lineup-toddler.jpg) center no-repeat;
    background-size: cover;
    padding: 50px;
    margin-bottom: 40px;
}
.border-line {
    border-top: 1px solid #6cb8e7;
}
.border-line span {
    background-color: #6cb8e7;
    padding: 4px 20px;
    border-right: 1px solid #6cb8e7;
}
.triangle {
    width: 100px;
    height: 100px;
    clip-path: polygon(0 0, 0 100%, 100% 0);
}

/* 一覧の大枠（CSS Gridで3列に） */
.lineup-archive-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* PCで3列均等 */
    gap: 30px; /* カード同士の隙間 */
}

/* 個別カードの画像 */
.lineup-thumbnail {
    margin-bottom: 0 !important;
}
.lineup-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
    border: 1px solid #eee;
}

/* -----------------------------------------
   テーブル装飾（テーマの黒線を打ち消して水色のみにする）
----------------------------------------- */
/* テーブル本体の外枠を消去 */
.lineup-table {
    width: 100%;
    border-collapse: collapse;
    border: none !important; 
}

/* 一旦すべての枠線を消してから、下線（水色）だけを引き直す */
.lineup-table th,
.lineup-table td {
    padding: 0.6em 0.8em;
    vertical-align: top;
    font-size: 0.9rem;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #6cb8e7 !important; 
}

/* th（左側の見出し）だけ、右側に水色ラインを追加 */
.lineup-table th {
    width: 30%;
    font-weight: bold;
    text-align: center;
    background-color: transparent;
    border-right: 1px solid #6cb8e7 !important; 
}

/* --- レスポンシブ調整 --- */
/* タブレット（991px以下：Bootstrapのlg以下）で2列に */
@media (max-width: 991px) {
    .lineup-archive-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* スマホ（767px以下）で1列に */
@media (max-width: 767px) {
    .lineup-archive-grid {
        grid-template-columns: 1fr;
    }
}

/* ===================================================
   遊具(乳幼児) infant用 テーブル装飾（オレンジ線へ上書き）
=================================================== */
/* infantのアーカイブページでのみ、テーブルの線をオレンジ色(#f39800)で強制上書き */
body.post-type-archive-lineup-infant .lineup-table th,
body.post-type-archive-lineup-infant .lineup-table td {
    border-bottom: 1px solid #f39800 !important; 
}

body.post-type-archive-lineup-infant .lineup-table th {
    border-right: 1px solid #f39800 !important; 
}

body.post-type-archive-lineup-infant .border-line {
    border-top: 1px solid #f39800;
}
body.post-type-archive-lineup-infant .border-line span {
    background-color: #f39800;
    padding: 4px 20px;
    border-right: 1px solid #f39800;
}
