@charset 'UTF-8';
/* ===============================================================
   asTheme3 印刷CSS（最小上書き・最適化版）
   画面用SCSSを読み込んだ後、印刷時のみ最小限で上書き
   - sticky/fixedの停止
   - 画像/表のはみ出し防止
   - フォント縮小
   - ヘッダー直下の空白排除
   - スライダー/地図のはみ出し防止
   =============================================================== */
@page {
    size:A4 portrait;
    margin:12mm;
}
@media print {
    /* 0) 画面用の読み込み（順序厳守） */
    /*　List
  ---------------------------------------- */
    .nolist {
        list-style:none;
        padding:0;
        margin:0;
    }
    /*　フレックスレイアウト　
   =============================================================== */
    /* 区切り ----------------------------------- */
    .flex4Wrap,
    .flex3Wrap {
        display:flex;
        flex-wrap:wrap;
    }
    .site-main {
        background:url(../images/common/bodyBk.png) repeat-y center center;
        background-position:top center;
        background-repeat:repeat-y;
        background-size:100% auto;
        padding-top:60px;
        padding-bottom:50px;
    }
    /* 固定ページヘッダタイトル ----------------------------------- */
    .entry-header {
        position:relative;
        background:#57af38;
        padding:20px 0 40px;
        border-left:15px solid #189343;
    }
    .entry-header .entry-title {
        font-family:'Noto Sans JP', sans-serif;
        font-optical-sizing:auto;
        font-weight:500;
        font-style:normal;
        margin:0;
        padding:0;
        position:relative;
        display:inline-block;
        color:#ffffff;
    }
    .entry-header .entry-title::after {
        content:'';
        position:absolute;
        left:0;
        bottom:-8px;
        width:3em;
        height:1px;
        background-color:#189343;
    }
    .entry-header .inTtlFlex {
        display:flex;
        align-items:center;
    }
    .entry-header .inTtlFlex .inEng {
        display:inline-block;
        font-family:'Noto Sans JP', sans-serif;
        font-optical-sizing:auto;
        font-weight:600;
        font-style:normal;
        color:#b3dfcc;
        margin-left:15px;
        font-size:clamp(1.4rem, 2.6vw, 2.6rem);
    }
    .entry-header .inTtlFlex .inEng::first-letter {
        text-transform:uppercase;
    }
    /* member-login.scss */
    .member-login {
        padding:clamp(24px, 4vw, 48px) 16px;
    }
    .member-login__wrap {
        max-width:520px;
        margin:0 auto;
    }
    .member-login__title {
        font-size:clamp(20px, 3.4vw, 28px);
        font-weight:700;
        text-align:center;
        margin:0 0 20px;
    }
    .member-login__card {
        background:#ffffff;
        border-radius:16px;
        padding:24px;
        box-shadow:0 6px 24px rgba(0, 0, 0, 0.08);
    }
    .member-login #member-login-form {
        display:grid;
        gap:16px;
    }
    .member-login #member-login-form p {
        margin:0;
    }
    .member-login #member-login-form label {
        display:block;
        font-size:14px;
        margin-bottom:6px;
        color:#333333;
    }
    .member-login #member-login-form input[type=text],
    .member-login #member-login-form input[type=password] {
        width:100%;
        padding:12px 14px;
        border:1px solid #e3e5e8;
        border-radius:10px;
        font-size:16px;
        transition:box-shadow 0.2s, border-color 0.2s, background-color 0.2s;
    }
    .member-login #member-login-form input[type=text]:focus,
    .member-login #member-login-form input[type=password]:focus {
        outline:none;
        border-color:#6aa6ff;
        box-shadow:0 0 0 4px rgba(106, 166, 255, 0.15);
        background:#fcfdff;
    }
    .member-login #member-login-form .forgetmenot {
        display:flex;
        align-items:center;
        gap:8px;
    }
    .member-login #member-login-form .forgetmenot label {
        margin:0;
        font-size:14px;
        color:#555555;
    }
    .member-login #member-login-form .forgetmenot input[type=checkbox] {
        width:18px;
        height:18px;
        accent-color:#4c8dff;
    }
    .member-login #member-login-form .submit {
        margin-top:8px;
    }
    .member-login #member-login-form .submit input[type=submit] {
        width:100%;
    }
    .member-login__links {
        margin-top:14px;
        text-align:center;
    }
    .member-login__links a {
        font-size:14px;
        text-decoration:underline;
        text-underline-offset:3px;
        transition:opacity 0.2s;
    }
    .member-login__links a:hover {
        opacity:0.8;
    }
    .member-login__links .sep {
        margin:0 0.5em;
        color:#bbbbbb;
    }
    .member-login__alert {
        background:#fff4f4;
        color:#b30000;
        border:1px solid #ffd8d8;
        padding:10px 12px;
        border-radius:10px;
        margin-bottom:12px;
        font-size:14px;
    }
    .member-login__status {
        text-align:center;
    }
    .member-login__status .member-login__actions {
        margin-top:16px;
        display:flex;
        gap:10px;
        justify-content:center;
        flex-wrap:wrap;
    }
    /* 汎用ボタン */
    .btn,
    .member-login #member-login-form .submit input[type=submit] {
        display:inline-flex;
        align-items:center;
        justify-content:center;
        padding:12px 18px;
        border-radius:999px;
        font-weight:600;
        border:1px solid transparent;
        transition:transform 0.02s, box-shadow 0.2s, background-color 0.2s, color 0.2s;
        text-decoration:none;
        cursor:pointer;
    }
    .btn--primary,
    .member-login #member-login-form .submit input[type=submit] {
        background:#4c8dff;
        color:#ffffff;
        box-shadow:0 6px 16px rgba(76, 141, 255, 0.25);
    }
    .btn--primary:hover,
    .member-login #member-login-form .submit input[type=submit]:hover {
        box-shadow:0 8px 20px rgba(76, 141, 255, 0.32);
    }
    .btn--primary:active,
    .member-login #member-login-form .submit input[type=submit]:active {
        transform:translateY(1px);
    }
    .btn--ghost {
        background:#ffffff;
        color:#333333;
        border-color:#e1e4ea;
    }
    .btn--ghost:hover {
        background:#f7f8fa;
    }
    .btn--ghost:active {
        transform:translateY(1px);
    }
    .content3Flex {
        display:flex;
        justify-content:center;
        width:100%;
        gap:15px !important;
    }
    .content3Flex .flex__item {
        width:calc(33.3% - 15px);
        padding:15px;
    }
    /*皮膚の病気一覧*/
    .disList {
        list-style:none;
        margin:0;
        padding:0;
    }
    .disList li a {
        position:relative;
        display:block;
        background:#ffffff;
        border-radius:8px;
        padding:1em 40px 1em 1em;
        margin:1.5em 0;
        text-decoration:none;
        font-weight:bold;
        color:#333333;
    }
    .disList li a:hover {
        color:#189343;
    }
    .disList li a:after {
        position:absolute;
        top:15px;
        right:15px;
        font-family:'Font Awesome 5 Free';
        content:'\f35a';
        font-weight:900;
        padding-left:5px;
        /*文字との隙間*/
        color:#189343;
        /*アイコンの色*/
    }
    .hifudis-content,
    .hifuday-content {
        background:#ffffff;
        padding:30px;
        border-radius:15px;
    }
    /*お知らせ一覧*/
    .news-archive dl {
        display:flex;
        flex-wrap:wrap;
        align-items:start;
        margin-bottom:30px;
        border-bottom:1px dashed #cccccc;
        padding:0.5em 0 1em;
        position:relative;
    }
    .news-archive dl dt {
        width:200px;
        color:#189343;
        margin-right:20px;
    }
    .news-archive dl dt .newsCat {
        font-size:1.4rem;
        background:#ffffff;
        border:1px solid #189343;
        color:#189343;
        display:inline-block;
        border-radius:15px;
        padding:1px 15px;
        margin:0 4px 0 4px;
    }
    .news-archive dl dd {
        width:calc(100% - 220px);
        margin:0;
    }
    .news-archive dl dd a {
        text-decoration:none;
        line-height:1.5;
        color:#333333;
        transition:0.15s all;
        display:block;
    }
    .news-archive dl dd a:hover {
        color:#189343;
    }
    .news-archive dl:after {
        position:absolute;
        font-family:'Font Awesome 5 Free';
        content:'\f105';
        font-weight:900;
        padding-right:5px;
        color:#189343;
        font-size:2rem;
        top:50%;
        right:0;
                transform:translateY(-50%);
        -webkit-transform:translateY(-50%);
            -ms-transform:translateY(-50%);
    }
    .news-archive .news__item1 {
        width:calc(50% - 20px);
    }
    /*リンク集*/
    .linkWrap a {
        position:relative;
        color:#333333;
        text-decoration:none;
        display:block;
        width:100%;
    }
    .linkWrap a:hover {
        color:#189343;
    }
    .linkWrap a:before {
        position:absolute;
        top:0;
        right:5px;
        font-family:'Font Awesome 5 Free';
        content:'\f08e';
        font-weight:900;
        padding-right:5px;
        color:#189343;
    }
    /*ごあいさつ*/
    .yakuinWrap dl {
        display:flex;
    }
    .yakuinWrap dl dt {
        width:100px;
        font-size:1.8rem;
        font-weight:bold;
        position:relative;
        padding-left:30px;
        font-family:'Noto Sans JP', sans-serif;
        font-optical-sizing:auto;
        font-weight:700;
        font-style:normal;
    }
    .yakuinWrap dl dt::before {
        content:'■';
        color:#57af38;
        position:absolute;
        left:0;
        top:3px;
        line-height:1.8rem;
    }
    .yakuinWrap dl dd {
        width:calc(100% - 100px);
    }
    .yakuinList {
        display:flex;
        flex-wrap:wrap;
        list-style:none;
        margin:0 0 40px 30px;
        padding:0;
        gap:15px;
    }
    .yakuinList li {
        width:calc(20% - 15px);
    }
    .hifudis-content {
        position:relative;
    }
    .entry-meta {
        position:absolute;
        top:0;
        text-align:right;
    }
    .entry-meta time {
        background:#189343;
        color:#ffffff;
        display:inline-block;
        padding:2px 15px;
        border-radius:0 0 5px 5px;
    }
    .head__layout1 {
        position:relative;
        display:flex;
        justify-content:space-between;
        align-items:center;
        gap:20px;
        height:70px;
    }
    .head__layout1 h1.site-title {
        margin:0;
        padding:0 5px 0 5px;
    }
    .head__layout1 h1.site-title img {
        vertical-align:top;
        max-width:260px;
        margin:0 !important;
        padding:0 !important;
    }
    .head__layout1 .branding__nav {
        margin-right:150px;
    }
    .head__layout1 .btnMenu {
        position:absolute;
        top:0;
        right:0;
        line-height:1.2;
    }
    .head__layout1 .btnMenu a {
        display:flex;
        flex-direction:column;
        justify-content:center;
        align-items:center;
        text-align:center;
        width:100px;
        height:70px;
        background:#189343;
        color:#ffffff;
        text-decoration:none;
        font-family:'Noto Sans JP', sans-serif;
        font-optical-sizing:auto;
        font-weight:400;
        font-style:normal;
    }
    .head__layout1 .btnMenu a i {
        font-size:2rem;
    }
    .head__layout1 .btnMenu a span {
        display:block;
        font-size:1.4rem;
    }
    /* ========== 固定ヘッダー用の最小追記 ========== */
    /* #masthead を固定。中の .head__layout1 には触らない */
    #masthead.site-header {
        position:fixed;
        top:0;
        left:0;
        right:0;
        z-index:1000;
        background:#ffffff;
        /* 必要ならサイトのヘッダー背景色に合わせて */
        width:100%;
        transform:translateY(0);
        transition:transform 0.35s ease, box-shadow 0.2s ease;
        will-change:transform;
        overflow:visible;
        /* 中の .btnMenu の絶対配置が切れないように */
    }
    /* 下スクロールで隠す／上スクロールで表示 */
    #masthead.site-header.is-hidden {
        transform:translateY(-100%);
    }
    /* スクロール開始後の軽い影（任意） */
    #masthead.site-header.is-solid {
        box-shadow:0 2px 10px rgba(0, 0, 0, 0.08);
    }
    /* 低モーション設定に配慮 */
    .site-gnav {
        list-style:none;
        margin:0 0 0 0;
        padding:0;
        display:flex;
        align-items:center;
        justify-content:center;
        font-weight:500;
    }
    .site-gnav li a {
        text-decoration:none;
        color:#333333;
    }
    .site-gnav li a:hover {
        color:#189343 !important;
    }
    /*==ナビゲーション全体の設定*/
    nav.glNaviPc {
        color:#333333;
        text-align:left;
    }
    nav.glNaviPc ul.site-gnav {
        list-style:none;
        margin:px 0 0 0;
        padding:0;
        display:flex;
        align-items:flex-end;
        gap:15px;
    }
    nav.glNaviPc ul.site-gnav li a {
        display:inline-block;
        text-decoration:none;
        color:#333333;
        font-size:clamp(1rem, 1vw + 0.5rem, 1.8rem);
    }
    nav.glNaviPc ul.site-gnav li.has-mega {
        position:relative;
    }
    nav.glNaviPc ul.site-gnav li.has-mega > a {
        position:relative;
        padding-right:1.6em;
    }
    nav.glNaviPc ul.site-gnav li.has-mega > a::before,
    nav.glNaviPc ul.site-gnav li.has-mega > a::after {
        content:'';
        position:absolute;
        top:50%;
        right:0.4em;
        width:8px;
        height:2px;
        background-color:#333333;
        transform-origin:center;
        transition:transform 0.3s ease;
    }
    nav.glNaviPc ul.site-gnav li.has-mega > a::before {
        transform:translateY(-50%) rotate(45deg);
    }
    nav.glNaviPc ul.site-gnav li.has-mega > a::after {
        transform:translateY(-50%) rotate(-45deg);
        right:0.1em;
    }
    nav.glNaviPc ul.site-gnav li.has-mega.active > a::before {
        transform:translateY(-50%) rotate(-45deg);
    }
    nav.glNaviPc ul.site-gnav li.has-mega.active > a::after {
        transform:translateY(-50%) rotate(45deg);
    }
    /* ── メガメニュー本体 ───────────────────────── */
    .mega-menu {
        /* 非表示時 = 少し上に隠れている */
        opacity:0;
        transform:translateY(-30px);
        /* ← 上方へオフセット（縮小はしない） */
        visibility:hidden;
        pointer-events:none;
        transition:opacity 0.4s ease, transform 0.45s cubic-bezier(0.25, 0.8, 0.25, 1);
        /* 表示時 */
        /* 以降はレイアウトなど前回と同じ ---------------------- */
        position:fixed;
        left:0;
        width:100vw;
        top:0;
        top:70px;
        /* JS でヘッダー高を上書き */
        z-index:998;
        background-color:#189343;
        padding:15px 0;
    }
    .mega-menu.active {
        opacity:1;
        transform:translateY(0);
        /* 0 まで滑らかに下りてくる */
        visibility:visible;
        pointer-events:auto;
    }
    .mega-menu .mega-inner {
        max-width:1300px;
        margin:0 auto;
        padding:0 32px;
        display:grid;
        grid-template-columns:repeat(auto-fit, minmax(210px, 210px));
        gap:15px;
        justify-content:center;
        align-items:center;
        justify-items:center;
        /* 子リンクの遅延フェード */
    }
    .mega-menu .mega-inner a {
        border:1px solid ccc;
        background:#ffffff;
        display:block;
        text-decoration:none;
        color:#222222;
        opacity:0;
        transform:translateY(10px);
        animation:fadeUp 0.45s forwards;
        border-radius:3px;
        padding:15px;
        width:100%;
        /* カード幅を揃えたい場合は指定 */
        text-align:center;
        transition:0.15s all;
        /* 文字列を中央揃え             */
    }
    .mega-menu .mega-inner a:nth-child(1) {
        animation-delay:0.05s;
    }
    .mega-menu .mega-inner a:nth-child(2) {
        animation-delay:0.1s;
    }
    .mega-menu .mega-inner a:nth-child(3) {
        animation-delay:0.15s;
    }
    .mega-menu .mega-inner a:nth-child(4) {
        animation-delay:0.2s;
    }
    .mega-menu .mega-inner a:nth-child(5) {
        animation-delay:0.25s;
    }
    .mega-menu .mega-inner a:nth-child(6) {
        animation-delay:0.3s;
    }
    .mega-menu .mega-inner a:nth-child(7) {
        animation-delay:0.35s;
    }
    .mega-menu .mega-inner a:nth-child(8) {
        animation-delay:0.4s;
    }
    .mega-menu .mega-inner a:nth-child(9) {
        animation-delay:0.45s;
    }
    .mega-menu .mega-inner a:nth-child(10) {
        animation-delay:0.5s;
    }
    .mega-menu .mega-inner a:nth-child(11) {
        animation-delay:0.55s;
    }
    .mega-menu .mega-inner a:nth-child(12) {
        animation-delay:0.6s;
    }
    .mega-menu .mega-inner a:nth-child(13) {
        animation-delay:0.65s;
    }
    .mega-menu .mega-inner a:nth-child(14) {
        animation-delay:0.7s;
    }
    .mega-menu .mega-inner a:nth-child(15) {
        animation-delay:0.75s;
    }
    .mega-menu .mega-inner a:nth-child(16) {
        animation-delay:0.8s;
    }
    .mega-menu .mega-inner a:nth-child(17) {
        animation-delay:0.85s;
    }
    .mega-menu .mega-inner a:nth-child(18) {
        animation-delay:0.9s;
    }
    .mega-menu .mega-inner a:nth-child(19) {
        animation-delay:0.95s;
    }
    .mega-menu .mega-inner a:nth-child(20) {
        animation-delay:1s;
    }
    .mega-menu .mega-inner a img {
        width:100%;
    }
    .mega-menu .mega-inner a span {
        display:block;
        margin:4px auto;
    }
    .mega-menu .mega-inner a:hover {
        transform:translateY(-4px);
        color:#189343;
        background:#57af38;
    }
    /* 子リンクのフェードアップ */
    @keyframes fadeUp {
        to {
            opacity:1;
            transform:translateY(0);
        }
    }
    /* キーフレーム -------------------------- */
    @keyframes fadeUp {
        to {
            opacity:1;
            transform:translateY(0);
        }
    }
    /* 開いている見出しリンクの色変化（任意） */
    .site-gnav .has-mega.active > a {
        color:#189343;
    }
    /* ── サイトナビ（クリック時に色変化させたい時）────── */
    .site-gnav .has-mega.active > a {
        color:#189343;
        /* お好みで */
    }
    .openbtn5,
    .glNaviSp {
        display:none;
    }
    /*　小見出し　
   =============================================================== */
    /* 区切り ----------------------------------- */
    .mainVwrap {
        width:100%;
        margin:0 auto;
        position:relative;
        /* 画像ボックスの高さ：最大600px、画面幅に応じて縮む */
        height:clamp(240px, 50vw, 800px);
        display:grid;
        place-items:center;
        overflow:hidden;
        --focus-x:50%;
        --focus-y:50%;
    }
    .mainVwrap img {
        width:100%;
        height:100%;
        object-fit:cover;
        /* ←ここをcontain→coverに */
        object-position:var(--focus-x) var(--focus-y);
        /* 焦点 */
        display:block;
    }
    .mainVwrap .inTxtPc {
        position:absolute;
        bottom:0;
        left:0;
        background-color:rgba(87, 175, 56, 0.8);
        color:#ffffff;
        width:100%;
        text-align:center;
        font-weight:bold;
        padding:1em 0;
    }
    .mainVwrap .inTxtPc p {
        margin:0;
    }
    .inTxtSp {
        display:none;
    }
    /*　 id="topcont2" class="mainMenu"
   =============================================================== */
    #topcont2 {
        position:relative;
        /* ←重要 */
        overflow:hidden;
        /* はみ出し防止（任意） */
    }
    /* 背景として全画面化したparticlesキャンバス */
    .particles-js-canvas-el {
        position:absolute;
        inset:0;
        /* top:0; right:0; bottom:0; left:0 と同義 */
        z-index:0;
        /* 背面に */
        pointer-events:none;
        /* クリックをブロックしない */
    }
    /* コンテンツは前面に */
    #topcont2 .contentWrap {
        position:relative;
        z-index:1;
    }
    .mainMenu {
        background:#ffffff;
        padding:50px 0;
        margin:50px 0;
    }
    .topMenuFlex {
        gap:20px;
        justify-content:space-between;
    }
    .topMenuFlex .flex__item {
        position:relative;
        width:calc(33.333333% - 20px);
        border-radius:10px;
        padding:0 0 60px 0;
        background:#def6d5;
    }
    .topMenuFlex .flex__item h2 {
        text-align:center;
        padding:0.5em 0;
        font-size:clamp(2rem, 2.4vw, 2.4rem);
        font-family:'Noto Sans JP', sans-serif;
        font-optical-sizing:auto;
        font-weight:500;
        font-style:normal;
        background:#189343;
        color:#ffffff;
        border-radius:10px 10px 0 0;
    }
    .topMenuFlex .flex__item p {
        margin:0.5em;
    }
    .topMenuFlex .flex__item .inBtn {
        position:absolute;
        bottom:10px;
        left:50%;
                transform:translateX(-50%);
        -webkit-transform:translateX(-50%);
            -ms-transform:translateX(-50%);
    }
    /*　 id="topcont3" class="topNews"
   =============================================================== */
    .topNews {
        padding:30px 0 30px;
        position:relative;
    }
    /*
  .topNews::after {
      content: "";
      position: absolute;
      background-color: $color2;

      left: -10px; // タイトルより少し左にはみ出させる
      top: 260px;
      width: 25%;
      height: 250px; // 薄い帯状
      background: rgba(59, 133, 80, 0.1); // 薄い緑 (#3b8550 の10%)
      z-index: -1; // 背景に回す
  }*/
    .importantNews .inner {
        border-top:2px dotted #189343;
        padding:1.5em 0;
        font-family:'Noto Sans JP', sans-serif;
        font-optical-sizing:auto;
        font-weight:400;
        font-style:normal;
        font-weight:bold;
    }
    .importantNews .inner a {
        color:#333333 !important;
        text-decoration:none;
    }
    .importantNews .inner a:hover {
        color:#189343 !important;
        text-decoration:underline;
    }
    .importantNews .inner:last-child {
        border-bottom:2px dotted #189343;
    }
    .newsFlex {
        display:flex;
        flex-wrap:wrap;
        justify-content:space-between;
        align-items:start;
        margin-top:2em;
        gap:20px;
    }
    .newsFlex .news__item {
        width:calc(50% - 20px);
    }
    .newsFlex .news__item h2 {
        font-size:clamp(2.2rem, 2.6vw, 2.6rem);
        color:#189343;
        font-family:'Noto Sans JP', sans-serif;
        font-optical-sizing:auto;
        font-weight:600;
        font-style:normal;
        padding:0.8em 0;
        margin-bottom:1em;
        background-image:linear-gradient(90deg, #189343 0 15%, #ffffff 15%);
        background-repeat:no-repeat;
        background-size:100% 10%;
        background-position:bottom;
        color:#333333;
    }
    .newsFlex .news__item dl {
        flex-wrap:wrap;
        justify-content:space-between;
        align-items:start;
        margin-bottom:30px;
        border-bottom:1px dashed #cccccc;
        padding:0.5em 0 1em;
        position:relative;
    }
    .newsFlex .news__item dl dt {
        color:#189343;
    }
    .newsFlex .news__item dl dt .newsCat {
        font-size:1.4rem;
        background:#ffffff;
        border:1px solid #189343;
        color:#189343;
        display:inline-block;
        border-radius:15px;
        padding:1px 15px;
        margin:0 4px;
    }
    .newsFlex .news__item dl dd {
        width:100%;
        margin:0;
    }
    .newsFlex .news__item dl dd a {
        text-decoration:none;
        line-height:1.5;
        color:#333333;
        transition:0.15s all;
        display:block;
    }
    .newsFlex .news__item dl dd a:hover {
        color:#189343;
    }
    .newsFlex .news__item dl:after {
        position:absolute;
        font-family:'Font Awesome 5 Free';
        content:'\f105';
        font-weight:900;
        padding-right:5px;
        color:#189343;
        font-size:2rem;
        top:50%;
        right:0;
                transform:translateY(-50%);
        -webkit-transform:translateY(-50%);
            -ms-transform:translateY(-50%);
    }
    .newsFlex .news__item1 {
        width:calc(50% - 20px);
    }
    /*　id="topcont3-1" class="topMember"
   =============================================================== */
    .topMember .topMemMenu {
        justify-content:space-between;
        gap:15px;
    }
    .topMember .topMemMenu .flex__item {
        width:calc(20% - 15px);
    }
    .topMember .topMemMenu .flex__item a {
        display:block;
        background:#57af38;
        color:#ffffff;
        width:100%;
        text-decoration:none;
        padding:15px;
        border:1px solid #57af38;
        transition:0.15s all;
    }
    .topMember .topMemMenu .flex__item a:hover {
        background:#def6d5;
        color:#57af38;
        border:1px solid #57af38;
    }
    .memberBox {
        margin:0 auto 2em;
        padding:2em;
        border:3px solid #eeeeee;
        position:relative;
        z-index:0;
        background:#ffffff;
        text-align:center;
    }
    .memberBox h2 {
        position:relative;
        display:inline-block;
        margin-bottom:1em;
        margin-top:1em;
    }
    .memberBox h2:before {
        content:'';
        position:absolute;
        top:-15px;
        display:inline-block;
        width:60px;
        height:5px;
        left:50%;
        transform:translateX(-50%);
        background-color:#57af38;
        border-radius:2px;
    }
    .memberBox:before {
        border-top:3px solid #57af38;
        /* 上辺の線の色（#8293AA） */
        border-left:3px solid #57af38;
        /* 左辺の線の色（#8293AA） */
        content:'';
        /* 擬似要素にコンテンツなし */
        display:block;
        /* 擬似要素をブロック表示 */
        position:absolute;
        /* 配置（親要素から絶対的に位置を指定） */
        top:-3px;
        /* 上から-3pxずらす */
        left:-3px;
        /* 左から-3pxずらす */
        width:20px;
        /* 幅20px */
        height:20px;
        /* 高さ20px */
        z-index:1;
        /* 重なり順（前面に表示） */
    }
    .newsAll_sp {
        display:none;
    }
    .newsAll_pc a {
        background-color:#189343;
        border:1px solid #189343;
        display:block;
        color:#ffffff;
        padding:6px;
        text-decoration:none;
        border-radius:30px;
        transition:0.15s all;
    }
    .newsAll_pc a:hover {
        background-color:#57af38;
        color:#189343;
        border:1px solid #189343;
    }
    /*　id="topcont4" class="topLink"
   =============================================================== */
    .topLink {
        padding:0 0 60px;
    }
    .topLinkFlex {
        display:flex;
        gap:30px;
        justify-content:center;
    }
    .topLinkFlex .flex__item {
        position:relative;
    }
    .topLinkFlex .flex__item a {
        display:inline-block;
        width:200px;
        /* ボタン幅 */
        border:2px solid #189343;
        /* 線幅・種類・色 */
        border-radius:0;
        color:#333333;
        /* 文字色 */
        background:#ffffff;
        /* 背景色 */
        -webkit-box-shadow:4px 4px 0 #189343;
        /* 影の距離・色 */
                box-shadow:4px 4px 0 #189343;
        /* 影の距離・色 */
        padding:1em 2em;
        font-weight:bold;
        /*文字の太さ*/
        text-decoration:none;
        text-align:center;
        transition:0.3s;
    }
    .topLinkFlex .flex__item a:hover {
        -webkit-box-shadow:-4px -4px 0 #189343;
        /* 影の距離・色 */
                box-shadow:-4px -4px 0 #189343;
        /* 影の距離・色 */
    }
    .topLinkFlex .flex__item i {
        position:absolute;
        top:50%;
        right:10px;
                transform:translateY(-50%);
        -webkit-transform:translateY(-50%);
            -ms-transform:translateY(-50%);
        font-size:3rem;
        color:#189343;
    }
    /*　スライダーのためのcss
   =============================================================== */
    .slider {
        width:100%;
        margin:0 auto;
    }
    .slider img {
        width:100%;
        height:auto;
    }
    .slider .slick-slide {
        margin:0 0;
    }
    .slick-prev {
        display:none !important;
    }
    .slick-next {
        display:none !important;
    }
    .slick-dots {
        text-align:center;
        margin:20px 0 0 0;
    }
    .slick-dots li {
        display:inline-block;
        margin:0 5px;
    }
    .slick-dots button {
        color:transparent;
        outline:none;
        width:8px;
        height:8px;
        display:block;
        border-radius:50%;
        background:#cccccc;
    }
    .slick-dots .slick-active button {
        background:#333333;
    }
    .site-footer {
        text-align:center;
        background:#189343;
        color:#ffffff;
        padding:1em 0;
    }
    /* page-top
  ========================================================================== */
    a.page-top {
        position:fixed;
        bottom:0;
        right:0;
        width:55px;
        height:55px;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:2px;
        background:#57af38;
        color:#ffffff;
        text-decoration:none;
        z-index:10000;
        opacity:1;
    }
    a.page-top i {
        line-height:1;
        display:block;
    }
    a.page-top span {
        line-height:1;
        font-size:11px;
    }
    /*　パンくずリスト
  ========================================================================== */
    .breadcrumbs {
        position:absolute;
        font-size:1.4rem;
        color:#ffffff;
    }
    .breadcrumbs a {
        color:#ffffff;
        text-decoration:none;
    }
    .breadcrumbs a:hover {
        color:#ffffff;
    }
    /*　singleページのナビゲーション
  ========================================================================== */
    .nav-links {
        display:flex;
        justify-content:space-around;
        font-size:14px;
        margin:10px 0;
        padding:10px;
    }
    .nav-links a {
        color:#333333;
        text-decoration:none;
    }
    .nav-links a:hover {
        color:#57af38;
    }
    .nav-links .nav-previous,
    .nav-links .nav-next {
        margin:10px;
    }
    /*　ページャー　wp-pagenavi
  =============================================================== */
    .wp-pagenavi {
        /*
    clear: both;
    text-align: center;
    margin-top: 60px;
    */
        display:flex;
        flex-wrap:wrap;
        gap:4px;
        justify-content:center;
        align-items:center;
        max-width:100%;
        padding:8px;
        box-sizing:border-box;
    }
    .wp-pagenavi a,
    .wp-pagenavi span {
        color:#999999;
        background-color:#ffffff;
        border:solid 1px #e0e0d2;
        padding:8px 15px !important;
        margin:0 2px;
        white-space:nowrap;
           -moz-border-radius:3px;
        -webkit-border-radius:3px;
                border-radius:3px;
        -webkit-transition:0.2s ease-in-out;
           -moz-transition:0.2s ease-in-out;
             -o-transition:0.2s ease-in-out;
                transition:0.2s ease-in-out;
        text-align:center;
        text-decoration:none;
    }
    .wp-pagenavi a:hover {
        color:#ffffff;
        background-color:#435bb7;
        border-color:#cccccc !important;
    }
    .wp-pagenavi span.current {
        color:#ffffff;
        background-color:#189343;
        border-color:#189343;
        font-weight:bold;
    }
    /* search
  ========================================================================== */
    #searchform {
        margin-bottom:32px;
    }
    #searchform input {
        font-size:18px;
        padding:2px 12px;
    }
    #searchform input:focus {
        outline:none;
    }
    /* ggmap
  ========================================================================== */
    .ggmap {
        clear:both;
        position:relative;
        padding-bottom:56.25%;
        padding-top:30px;
        height:0;
        overflow:hidden;
        margin-top:16px;
    }
    .ggmap iframe,
    .ggmap object,
    .ggmap embed {
        position:absolute;
        top:0;
        left:0;
        width:100%;
        height:94%;
        display:inline;
    }
    /* youtube
  ========================================================================== */
    .youtube {
        clear:both;
        position:relative;
        padding-bottom:56.25%;
        padding-top:0;
        height:0;
        overflow:hidden;
        margin-top:0;
    }
    .youtube video,
    .youtube iframe,
    .youtube object,
    .youtube embed {
        position:absolute;
        top:0;
        left:0;
        width:100%;
        height:100%;
        display:inline;
    }
    /*youtube 中央揃え*/
    .wp-block-embed-youtube {
        text-align:center;
        /* ブロック全体を中央揃え */
    }
    .wp-block-embed-youtube iframe {
        display:block;
        /* ブラウザのデフォルト動作を防ぐ */
        margin:0 auto;
        /* iframeを中央揃え */
    }
    /*  scroll-hint
  ========================================================================== */
    @keyframes scroll-hint-appear {
        0% {
            transform:translateX(40px);
            opacity:0;
        }
        10% {
            opacity:1;
        }
        50%,
        100% {
            transform:translateX(-40px);
            opacity:0;
        }
    }
    .scroll-hint.is-right-scrollable {
        background:linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
    }
    .scroll-hint.is-right-scrollable.is-left-scrollable {
        background:linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
    }
    .scroll-hint.is-left-scrollable {
        background:linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
    }
    .scroll-hint-icon {
        position:absolute;
        top:calc(50% - 25px);
        left:calc(50% - 60px);
        box-sizing:border-box;
        width:120px;
        height:80px;
        border-radius:5px;
        transition:opacity 0.3s;
        opacity:0;
        background:rgba(0, 0, 0, 0.7);
        text-align:center;
        padding:20px 10px 10px 10px;
    }
    .scroll-hint-icon-wrap {
        position:absolute;
        top:0;
        left:0;
        width:100%;
        height:100%;
        max-height:100%;
        pointer-events:none;
    }
    .scroll-hint-text {
        font-size:10px;
        color:#ffffff;
        margin-top:5px;
    }
    .scroll-hint-icon-wrap.is-active .scroll-hint-icon {
        opacity:0.8;
    }
    .scroll-hint-icon:before {
        display:inline-block;
        width:40px;
        height:40px;
        color:#ffffff;
        vertical-align:middle;
        text-align:center;
        content:'';
        background-size:contain;
        background-position:center center;
        background-repeat:no-repeat;
        background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
    }
    .scroll-hint-icon:after {
        content:'';
        width:34px;
        height:14px;
        display:block;
        position:absolute;
        top:10px;
        left:50%;
        margin-left:-20px;
        background-repeat:no-repeat;
        background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
        opacity:0;
        transition-delay:2.4s;
    }
    .scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
        opacity:1;
    }
    .scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
        animation:scroll-hint-appear 1.2s linear;
        animation-iteration-count:2;
    }
    .scroll-hint-icon-white {
        background-color:#ffffff;
        box-shadow:0 4px 5px rgba(0, 0, 0, 0.4);
    }
    .scroll-hint-icon-white:before {
        background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
    }
    .scroll-hint-icon-white:after {
        background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
    }
    .scroll-hint-icon-white .scroll-hint-text {
        color:#000000;
    }
    input[type=file] {
        border:0 solid #cccccc;
    }
    /*テキスト--------------------------------------*/
    input[type=email],
    input[type=text],
    input[type=search],
    textarea {
        width:100%;
        border-radius:4px;
        box-sizing:border-box;
        border:1px solid #cccccc;
        background:#ffffff;
                appearance:none;
        -webkit-appearance:none;
           -moz-appearance:none;
        padding:6px 6px 10px;
        font-size:2rem;
    }
    input[type=search] {
        width:70%;
    }
    select {
        margin-bottom:5px;
    }
    select,
    input[type=search],
    textarea,
    input[type=text]:focus {
        outline:0;
    }
    /*チェックボックス--------------------------------------*/
    /*リセット */
    input[type=checkbox] {
        height:20px;
        width:20px;
        padding-top:10px;
        margin-right:5px;
    }
    /* チェックボックスデザイン */
    input[type=checkbox] {
        cursor:pointer;
        padding-left:0;
        vertical-align:middle;
    }
    .wpcf7-list-item-label {
        vertical-align:middle;
        display:inline-block;
        line-height:1.5;
    }
    input[type=radio] {
        font-size:1.8rem;
        border-radius:50%;
        margin-right:0.25rem;
        line-height:0.71428571;
        border:1px solid #cccccc;
        width:15px;
        height:15px;
        vertical-align:middle;
    }
    input[type=radio]:checked::before {
        margin:-0.4rem 0 0 -1.3rem;
        height:2.5rem;
        width:2.5rem;
    }
    /*セレクトボックス--------------------------------------*/
    .select {
        display:inline-flex;
        align-items:center;
        position:relative;
    }
    .select::after {
        position:absolute;
        right:15px;
        width:10px;
        height:7px;
        background-color:#535353;
        clip-path:polygon(0 0, 100% 0, 50% 100%);
        content:'';
        pointer-events:none;
    }
    select {
        appearance:none;
        min-width:230px;
        height:2.8em;
        padding:0.4em calc(0.8em + 30px) 0.4em 0.8em;
        border:1px solid #cccccc;
        border-radius:3px;
        background-color:#ffffff;
        color:#333333;
        font-size:1em;
        cursor:pointer;
        background:rgba(255, 255, 255, 0.9) url(../images/common/selectBk.png) no-repeat right;
    }
    /*******************************************************************************

  _form.scss

  *******************************************************************************/
    .Form {
        margin-top:0;
        margin-left:auto;
        margin-right:auto;
        max-width:100%;
        padding:10px;
    }
    .Form table th {
        position:relative;
        padding-right:70px !important;
    }
    .Form table th .Form-Item-Label-Required {
        position:absolute;
        top:50%;
        right:0;
                transform:translateY(-50%);
        -webkit-transform:translateY(-50%);
            -ms-transform:translateY(-50%);
        border-radius:6px;
        margin-right:8px;
        padding-top:4px;
        padding-bottom:4px;
        width:48px;
        display:inline-block;
        text-align:center;
        background:#57af38;
        color:#ffffff;
        font-size:14px;
    }
    .Form table th .Form-Item-Label-Any {
        position:absolute;
        top:50%;
        right:0;
                transform:translateY(-50%);
        -webkit-transform:translateY(-50%);
            -ms-transform:translateY(-50%);
        border-radius:6px;
        margin-right:8px;
        padding-top:8px;
        padding-bottom:8px;
        width:48px;
        display:inline-block;
        text-align:center;
        background:#cccccc;
        color:#333333;
        font-size:14px;
    }
    .Form table td img {
        max-width:100%;
    }
    .Form p {
        margin-bottom:0 !important;
    }
    .Form .Form-Item {
        border-top:1px solid #cccccc;
        padding-top:24px;
        padding-bottom:24px;
        width:100%;
        display:flex;
        align-items:center;
    }
    .Form .Form-Item-school {
        margin-bottom:32px;
        overflow:hidden;
    }
    .Form .Form-Item2 {
        border-top:1px solid #cccccc;
        padding-top:24px;
        padding-bottom:24px;
        width:100%;
        display:block;
        align-items:center;
    }
    .Form .Form-Item:nth-child(5) {
        border-bottom:1px solid #cccccc;
    }
    .Form .Form-Item-Label {
        width:100%;
        max-width:300px;
        letter-spacing:0.05em;
        font-weight:bold;
        font-size:18px;
        background:#cccccc;
        height:100%;
    }
    .Form .Form-Item-Label2 {
        width:100%;
        letter-spacing:0.05em;
        font-weight:bold;
        font-size:14px;
        display:block;
        padding:24px 0;
    }
    .Form .Form-Item-Input {
        border:1px solid #cccccc;
        border-radius:6px;
        margin-left:0;
        padding-left:1em;
        padding-right:1em;
        height:48px;
        flex:1;
        width:100%;
        /*max-width: 410px;*/
        background:#ffffff;
        font-size:18px;
    }
    .Form .Form-Item-Input2 {
        border:1px solid #cccccc;
        border-radius:6px;
        margin-left:0;
        padding-left:1em;
        padding-right:1em;
        height:48px;
        flex:1;
        width:220px;
        max-width:410px;
        background:#ffffff;
        font-size:18px;
    }
    .Form .Form-Item-Input3 {
        border:1px solid #cccccc;
        border-radius:6px;
        margin-left:0;
        padding-left:1em;
        padding-right:1em;
        height:48px;
        width:80%;
        background:#eaedf2;
        font-size:18px;
    }
    .Form .Form-Item-Input4 {
        margin-left:0;
        padding-left:1em;
        padding-right:1em;
        height:48px;
        flex:1;
        width:100%;
        /*max-width: 410px;*/
        background:#ffffff;
        font-size:16px;
    }
    .Form .Form-Item-Input-tel3,
    .Form .Form-Item-Input-tel2,
    .Form .Form-Item-Input-tel1 {
        border:1px solid #cccccc;
        border-radius:6px;
        margin-left:0;
        padding-left:1em;
        padding-right:1em;
        height:48px;
        flex:1;
        width:90px;
        max-width:410px;
        background:#ffffff;
    }
    .Form .Form-Item-Input-year {
        border:1px solid #cccccc;
        border-radius:6px;
        margin-left:0;
        padding-left:1em;
        padding-right:1em;
        height:48px;
        flex:1;
        width:90px;
        max-width:410px;
        background:#ffffff;
    }
    .Form .formselect {
        -webkit-appearance:none;
           -moz-appearance:none;
                appearance:none;
        width:100%;
        height:48px;
        background:#eaedf2;
        position:relative;
        z-index:1;
        padding:0 40px 0 10px;
        border-radius:2px;
        background:rgba(255, 255, 255, 0.9) url(../images/common/selectBk.png) no-repeat right;
        border-radius:6px;
    }
    .Form select {
        margin-bottom:10px;
    }
    .Form .formselectW120 {
        width:120px;
    }
    .Form .formselectW200 {
        width:200px;
    }
    .Form .form3Box {
        width:100%;
    }
    .Form .Form-Item-Label.isMsg {
        margin-top:8px;
        margin-bottom:auto;
    }
    .Form .Form-Item-Textarea {
        border:1px solid #dddddd;
        border-radius:6px;
        padding-left:1em;
        padding-right:1em;
        height:160px;
        flex:1;
        width:100%;
        font-size:18px;
    }
    .Form .Form-Btn {
        border-radius:6px;
        margin-top:32px;
        margin-left:auto;
        margin-right:auto;
        padding-top:20px;
        padding-bottom:20px;
        width:280px;
        display:inline;
        letter-spacing:0.05em;
        background:#189343;
        color:#ffffff;
        font-weight:bold;
        font-size:20px;
    }
    .Form .Form-Btn2 {
        border-radius:6px;
        margin-top:32px;
        margin-left:auto;
        margin-right:auto;
        padding-top:20px;
        padding-bottom:20px;
        width:180px;
        display:inline;
        letter-spacing:0.05em;
        background:#57af38;
        color:#ffffff;
        font-weight:bold;
        font-size:20px;
    }
    .feas-submit-button,
    .search-submit,
    .search-Btn {
        border-radius:6px;
        display:inline-block;
        background:#189343 !important;
        color:#ffffff !important;
        font-weight:bold;
        font-size:16px;
        padding:15px 25px 15px !important;
        cursor:pointer;
    }
    .form-lower dt {
        font-size:85%;
    }
    .form-lower dd {
        margin-bottom:16px;
    }
    /* カレンダー入力フィールドのサイズを調整 */
    input[type=date] {
        font-size:16px;
        /* フォントサイズ */
        height:40px;
        /* 高さ */
        padding:10px;
        /* 内側の余白 */
        width:100%;
        /* 幅を調整（必要に応じて変更） */
        box-sizing:border-box;
        /* パディング込みでサイズ計算 */
    }
    /* カレンダーアイコンの調整（モダンブラウザでサポート） */
    input[type=date]::-webkit-calendar-picker-indicator {
        font-size:20px;
        /* アイコンのサイズ */
    }
    .wpcf7-form-control.wpcf7-submit {
        cursor:pointer;
        /* マウスオーバー時に指マークになる */
    }
    /*フォームテーブル*/
    .formRes {
        border:3px solid #189343;
        padding:0 30px 30px 30px !important;
        margin-bottom:0;
        background-color:#ffffff;
    }
    .formRes h1.entry-title {
        margin:0 auto;
        background-color:#189343;
        color:#ffffff;
        display:inline-block;
        padding:10px 20px;
        border-radius:0 0 20px 20px;
    }
    .formRes table {
        margin-top:30px;
    }
    .formRes table th {
        background:#189343;
        color:#ffffff;
        width:25%;
        font-weight:normal;
        padding:15px;
        border-bottom:1px solid #cccccc;
        text-align:left;
    }
    .formRes table td {
        border-bottom:1px solid #cccccc;
        padding:15px 0 15px 15px;
    }
    div.wpcf7 .wpcf7-spinner {
        display:block;
    }
    #cf7-confirm {
        background:#f9f9f9;
        padding:20px;
        border-radius:10px;
        text-align:center;
        display:none;
    }
    #cf7-confirm h3 {
        margin-bottom:15px;
    }
    #cf7-confirm table td {
        text-align:left;
    }
    input[type=submit],
    button[type=submit] {
        border-radius:6px;
        display:inline-block;
        background:#189343 !important;
        color:#ffffff !important;
        font-weight:bold;
        font-size:16px;
        padding:15px 25px 15px !important;
        cursor:pointer;
        margin:0 auto !important;
    }
    .login-submit {
        text-align:center;
    }
    /* ログインフォームだけに適用 */
    #member-login-form p.login-password {
        position:relative;
    }
    #member-login-form .toggle-password {
        position:absolute;
        right:10px;
        top:35px !important;
        display:inline-grid;
        place-items:center;
        width:36px;
        height:36px;
        padding:0;
        border:none;
        background:transparent;
        cursor:pointer;
    }
    #member-login-form .toggle-password .icon-eye {
        width:22px;
        height:22px;
        fill:currentColor;
        color:#666666;
    }
    #member-login-form .toggle-password:hover .icon-eye {
        color:#333333;
    }
    #member-login-form .toggle-password.is-on .icon-eye {
        color:#333333;
    }
    /*　小見出し　
   =============================================================== */
    /* 区切り ----------------------------------- */
    .searchWrap {
        padding:50px 0;
    }
    .searchFlex {
        display:flex;
        flex-wrap:wrap;
        justify-content:space-between;
    }
    .searchFlex .flex__item {
        width:50%;
    }
    .searchFlex .flex__item .itemTtl {
        color:#189343;
        font-weight:bold;
        margin:0 0 10px;
    }
    .feasFlex {
        display:flex;
        flex-wrap:wrap;
        justify-content:space-between;
        gap:15px;
    }
    .feasFlex .flex__item {
        width:calc(50% - 15px);
        border:1px solid #cccccc;
        background:#ffffff;
        padding:15px 15px 80px 15px;
        position:relative;
    }
    .feasFlex .flex__item .hos_senmon {
        position:absolute;
        display:inline-block;
        right:0;
        top:0;
        background:#189343;
        color:#ffffff;
        padding:5px 10px;
        font-size:1.4rem;
    }
    .feasFlex .flex__item h3 {
        border-bottom:dashed 1px #189343;
        margin:30px 0 15px 0;
        padding:0 0 0.5em 0;
    }
    .feasFlex .flex__item .inAddr {
        padding:0.5em 0;
    }
    .feasFlex .flex__item .inTel {
        padding:0.5em 0 1em;
    }
    .feasFlex .flex__item .inTel i {
        color:#189343;
        margin-right:5px;
    }
    .feasFlex .flex__item .inTel span {
        display:inline-block;
        margin-right:15px;
    }
    /*
  .feasBtn {
      position: absolute;
      bottom: 15px;
      left: 50%;
      transform: translateX(-50%);
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);

      a.rightLine {
          display: block;
          position: relative;
          padding: 10px 20px 5px 10px;
          width: 300px;
          color: #fff;
          font-size: 18px;
          font-weight: 700;
          text-decoration: none;
          background-color: $color_ac;
          border-radius: 20px;
          margin: 0 auto;
          transition: transform 0.1s ease;
          text-align: center;



          &::after {
              content: '';
              position: absolute;
              top: 50%;
              right: 0;
              transform: translateY(-50%);
              width: 50px;
              height: 2px;
              background-color: #fff;
              transition: all 0.3s ease;
          }

          &:hover::after {
              right: -5px;
              width: 30px;
          }
      }
  }
  */
    .feasBtn {
        position:absolute;
        bottom:15px;
        left:50%;
                transform:translateX(-50%);
        -webkit-transform:translateX(-50%);
            -ms-transform:translateX(-50%);
        width:100%;
        text-align:center;
    }
    .actWrap {
        background:#ffffff;
        padding:30px;
    }
    .actWrap h3 {
        border-bottom:dashed 1px #189343;
        margin:0 0 15px 0;
        padding:0 0 0.5em 0;
        font-size:clamp(1.8rem, 2.6vw, 2.6rem);
    }
    .actWrap dl {
        border-bottom:1px dotted #cccccc;
        padding:1em 0 0 0;
    }
    .actWrap dl dt {
        color:#189343;
    }
    .actWrap dl dd {
        margin-left:0;
    }
    .actWrap .meta {
        margin-bottom:15px;
    }
    .actWrap .meta span {
        display:inline-block;
        background:#189343;
        color:#ffffff;
        padding:2px 15px;
        border-radius:5px;
        margin-right:15px;
    }
    .hifudayWrap {
        padding:0;
    }
    .searchMap {
        display:block;
        background:#ffffff;
        border-radius:20px;
        padding:50px 15px;
        margin-top:30px;
    }
    .searchMap2 {
        display:block;
    }
    .searchMap3 {
        display:none;
    }
    button.map-back {
        display:inline-block !important;
        padding:0.6em 1.2em !important;
        font-size:16px;
        font-weight:500;
        color:#ffffff;
        background-color:#189343;
        border:none;
        border-radius:4px;
        cursor:pointer;
        transition:background-color 0.2s ease, transform 0.1s ease;
    }
    button.map-back:hover {
        background-color:#57af38;
    }
    button.map-back:active {
        transform:scale(0.97);
    }
    button.map-back:focus {
        outline:none;
        box-shadow:0 0 0 3px rgba(0, 115, 170, 0.4);
    }
    .hos-contentWrap .hos_senmon {
        display:inline-block;
        margin:5px auto 30px;
        background:#189343;
        color:#ffffff;
        padding:5px 10px;
        font-size:1.4rem;
    }
    .hosFlex {
        display:flex;
        gap:20px;
        justify-content:space-between;
    }
    .hosFlex .flex__itemTxt {
        width:calc(70% - 20px);
    }
    .hosFlex .flex__itemImg {
        width:calc(30% - 20px);
    }
    .hosFlex .flex__itemImg img {
        border-radius:15px;
    }
    .hos-content {
        background:#ffffff;
        padding:30px;
        border-radius:20px;
        margin:50px 0 0;
    }
    .hos-content h3 {
        position:relative;
        display:inline-block;
        padding:0 55px;
        font-size:clamp(1.8rem, 2.4vw, 2.4rem);
        margin-bottom:50px;
    }
    .hos-content h3:before,
    .hos-content h3:after {
        content:'';
        position:absolute;
        top:50%;
        display:inline-block;
        width:45px;
        height:1px;
        background-color:#189343;
    }
    .hos-content h3:before {
        left:0;
    }
    .hos-content h3:after {
        right:0;
    }
    .hos-content dl {
        border-bottom:1px dashed #189343;
        margin-bottom:1.5em;
        display:flex;
    }
    .hos-content dl dt {
        width:150px;
        background-color:#189343;
        color:#ffffff;
        text-align:center;
        margin-bottom:1em !important;
        padding:5px;
        border-radius:50px;
    }
    .hos-content dl dd {
        margin-bottom:0 !important;
        padding:5px;
    }
    .hos-content dl dd i {
        color:#189343;
        margin-right:10px;
    }
    .hos-content dl dd span {
        display:inline-block;
        margin-right:15px;
    }
    .hosTable th,
    .hosTable td {
        text-align:center;
    }
    .hosTable th.time {
        width:220px !important;
    }
    /* 段落
  ---------------------------------------- */
    p.is-style-main-paragraph {
        background:#f2f2f2;
        padding:10px 15px;
        margin-bottom:14px;
        border-radius:6px;
        line-height:1.6 !important;
    }
    p {
        line-height:1.6 !important;
        margin:0 0 1em 0;
        padding:0;
    }
    /* 引用
  ---------------------------------------- */
    blockquote {
        border-left:2px solid #cccccc;
        padding:15px;
        background-color:#ffffff;
        margin:30px;
        font-style:italic;
        font-size:90%;
    }
    /*　boxWrap5_5
  ---------------------------------------- */
    .boxWrap5_5 {
        margin:1.5em 0;
    }
    .boxWrap5_5 > .lBox,
    .boxWrap5_5 > .rBox {
        width:48% !important;
        margin-bottom:0 !important;
        border:1px solid #cccccc;
        border-radius:12px;
        padding:15px 15px 0 15px;
    }
    .boxWrap5_5 > .lBox img,
    .boxWrap5_5 > .rBox img {
        margin-bottom:1em;
    }
    /*　boxWrap3_3_3
  ---------------------------------------- */
    .boxWrap3_3_3 {
        margin:1.5em 0;
    }
    .boxWrap3_3_3 > .lBox,
    .boxWrap3_3_3 > .cBox,
    .boxWrap3_3_3 > .rBox {
        width:31% !important;
        margin-bottom:0 !important;
        border:1px solid #cccccc;
        border-radius:12px;
        padding:15px 15px 0 15px;
    }
    .boxWrap3_3_3 > .lBox img,
    .boxWrap3_3_3 > .cBox img,
    .boxWrap3_3_3 > .rBox img {
        margin-bottom:1em;
    }
    /*　box3_3_3(image:text)
  ---------------------------------------- */
    .box3_3_3 {
        margin:1.5em 0;
    }
    .box3_3_3 > .lBox,
    .box3_3_3 > .cBox,
    .box3_3_3 > .rBox {
        width:31% !important;
        margin-bottom:0 !important;
    }
    .box3_3_3 > .lBox img,
    .box3_3_3 > .cBox img,
    .box3_3_3 > .rBox img {
        margin-bottom:1em;
    }
    /*　box5_5(image:text)
  ---------------------------------------- */
    /*　box5_5(text:img)
  ---------------------------------------- */
    .box5_5,
    .box5img_5,
    .box5_5img {
        justify-content:center !important;
    }
    .box5_5 > .lBox,
    .box5_5 > .rBox,
    .box5img_5 > .lBox,
    .box5img_5 > .rBox,
    .box5_5img > .lBox,
    .box5_5img > .rBox {
        width:47% !important;
        margin-bottom:0 !important;
    }
    /*　box4_6(image:text)
  ---------------------------------------- */
    .box4_6 {
        justify-content:center !important;
    }
    .box4_6 > .lBox {
        width:38% !important;
        margin-bottom:0 !important;
    }
    .box4_6 > .rBox {
        width:58% !important;
        margin-bottom:0 !important;
    }
    /*　box6_4(text:image)
  ---------------------------------------- */
    .box6_4 {
        justify-content:center !important;
    }
    .box6_4 > .lBox {
        width:58% !important;
        margin-bottom:0 !important;
    }
    .box6_4 > .rBox {
        width:38% !important;
        margin-bottom:0 !important;
    }
    /*　box8_2(text:image)
  ---------------------------------------- */
    .box8_2 {
        display:flex;
        margin:1.5em 0;
    }
    .box8_2 > .lBox {
        width:78% !important;
        margin-bottom:0 !important;
    }
    .box8_2 > .rBox {
        width:18% !important;
        margin-bottom:0 !important;
    }
    /*　box2_8(image：text)
  ---------------------------------------- */
    .box2_8 {
        display:flex;
        margin:1.5em 0;
    }
    .box2_8 > .lBox {
        width:18% !important;
        margin-bottom:0 !important;
    }
    .box2_8 > .rBox {
        width:78% !important;
        margin-bottom:0 !important;
    }
    /*　ボックスカラー
  ---------------------------------------- */
    .boxWhite {
        background:#ffffff;
        padding:30px;
        border-radius:20px;
    }
    .boxContact {
        color:#ffffff;
        margin:20px auto;
        padding:20px;
        background:#189343;
        box-shadow:0 0 0 10px #189343;
        border:2px dashed #ffffff;
        max-width:580px;
        margin:10px auto;
        font-family:'Noto Serif JP', serif;
        text-align:center;
        font-size:2.4rem;
        border-radius:15px;
    }
    .boxContact .inTel {
        font-family:'Noto Sans JP', sans-serif;
        display:block;
        font-size:3rem;
        margin:0 15px;
    }
    .boxContact a {
        color:#ffffff;
    }
    .boxContact a:visited {
        color:#ffffff;
    }
    /*　ボックス（タイトル付）
  ---------------------------------------- */
    .boxTitle {
        border:1px solid #333333;
        position:relative;
        padding:20px;
    }
    .boxTitle .inner p {
        margin-top:40px;
    }
    .boxTitle .innerTtl {
        position:absolute;
        top:0;
        left:0;
        margin:0;
        padding:5px 50px;
        background-color:#000000;
        color:#ffffff;
        font-size:1.6rem;
    }
    /*　画像幅(１００％)
  ---------------------------------------- */
    .img_100 * {
        width:100% !important;
        height:auto !important;
    }
    /*　画像5：5
  ---------------------------------------- */
    .img5_5 {
        justify-content:center !important;
        align-items:center !important;
    }
    .img5_5 > .lBox,
    .img5_5 > .rBox {
        width:48% !important;
        margin-bottom:0 !important;
    }
    /*　画像角丸
  ---------------------------------------- */
    .kadomaru img {
        border-radius:15px;
    }
    /*　見出しデフォルト
  ---------------------------------------- */
    /*.page-content,
  .single-content,
  */
    /* Gutenberg 編集画面だけに効かせる */
    .page-content h1,
    .post-type-page.editor-styles-wrapper h1 {
        line-height:1.5;
    }
    .page-content h2,
    .post-type-page.editor-styles-wrapper h2 {
        position:relative;
        display:block;
        margin:0 auto 1em;
        text-align:center;
        font-family:'Noto Sans JP', sans-serif;
        font-optical-sizing:auto;
        font-weight:500;
        font-style:normal;
        font-size:clamp(2.2rem, 3vw, 3rem);
    }
    .page-content h2:before,
    .post-type-page.editor-styles-wrapper h2:before {
        content:'';
        position:absolute;
        bottom:-15px;
        width:60px;
        height:5px;
        left:50%;
        transform:translateX(-50%);
        background-color:#189343;
        border-radius:2px;
    }
    .page-content .subTtl,
    .post-type-page.editor-styles-wrapper .subTtl {
        font-family:'Noto Sans JP', sans-serif;
        font-optical-sizing:auto;
        font-weight:500;
        font-style:normal;
        font-size:clamp(1.6rem, 2vw, 2rem);
        text-align:center;
    }
    .page-content .subTtl.subTtlGreen,
    .post-type-page.editor-styles-wrapper .subTtl.subTtlGreen {
        color:#189343;
    }
    .page-content h3.shikaku,
    .post-type-page.editor-styles-wrapper h3.shikaku {
        font-size:clamp(1.8rem, 2.4vw, 2.4rem);
        font-weight:bold;
        position:relative;
        margin-top:30px;
        margin-bottom:10px;
        padding-left:30px;
        font-family:'Noto Sans JP', sans-serif;
        font-optical-sizing:auto;
        font-weight:700;
        font-style:normal;
    }
    .page-content h3.shikaku::before,
    .post-type-page.editor-styles-wrapper h3.shikaku::before {
        content:'■';
        color:#57af38;
        position:absolute;
        left:0;
        top:9px;
        line-height:1.8rem;
    }
    .hifudis-content h1,
    .post-type-hifudis.editor-styles-wrapper h1 {
        line-height:1.5;
        color:#189343;
        font-size:clamp(2.2rem, 2.6vw, 2.6rem);
        margin-bottom:30px !important;
    }
    .hifudis-content h2,
    .post-type-hifudis.editor-styles-wrapper h2 {
        font-size:clamp(2rem, 2.4vw, 2.4rem);
        color:#189343;
        font-family:'Noto Sans JP', sans-serif;
        font-optical-sizing:auto;
        font-weight:600;
        font-style:normal;
        padding:0.8em 0;
        margin-bottom:1em;
        background-image:linear-gradient(90deg, #189343 0 15%, #cccccc 15%);
        background-repeat:no-repeat;
        background-size:100% 10%;
        background-position:bottom;
        color:#333333;
    }
    .hifudis-content h3,
    .post-type-hifudis.editor-styles-wrapper h3 {
        font-size:clamp(1.8rem, 2.2vw, 2.2rem);
        font-weight:bold;
        position:relative;
        margin-top:30px;
        margin-bottom:10px;
        padding-left:30px;
        font-family:'Noto Sans JP', sans-serif;
        font-optical-sizing:auto;
        font-weight:700;
        font-style:normal;
    }
    .hifudis-content h3::before,
    .post-type-hifudis.editor-styles-wrapper h3::before {
        content:'■';
        color:#57af38;
        position:absolute;
        left:0;
        top:7px;
        line-height:1.8rem;
    }
    .hifudis-content h3.shikaku,
    .post-type-hifudis.editor-styles-wrapper h3.shikaku {
        font-size:clamp(1.8rem, 2.2vw, 2.2rem);
        font-weight:bold;
        position:relative;
        margin-top:30px;
        margin-bottom:10px;
        padding-left:30px;
        font-family:'Noto Sans JP', sans-serif;
        font-optical-sizing:auto;
        font-weight:700;
        font-style:normal;
    }
    .hifudis-content h3.shikaku::before,
    .post-type-hifudis.editor-styles-wrapper h3.shikaku::before {
        content:'■';
        color:#57af38;
        position:absolute;
        left:0;
        top:9px;
        line-height:1.8rem;
    }
    h2.underBorder {
        position:relative;
        display:block;
        width:fit-content;
        margin:0 auto 2em;
        text-align:center;
        font-size:clamp(2.2rem, 3vw, 3rem);
    }
    h2.underBorder::before {
        content:'';
        position:absolute;
        bottom:-15px;
        left:50%;
        transform:translateX(-50%);
        width:60px;
        height:5px;
        background-color:#189343;
        border-radius:2px;
    }
    @supports not (width: fit-content) {
        h2.underBorder {
            display:table;
            width:auto;
        }
    }
    /*　見出しスタイル切り替え
  ---------------------------------------- */
    h1.is-style-main-heading {
        font-family:'Zen Old Mincho', serif;
        padding:0.5em 0;
        margin:2em 0 1em;
    }
    h2.is-style-main-heading {
        clear:both;
        background:none;
        font-family:'Zen Old Mincho', serif;
        color:#189343;
        border-bottom:1px solid #57af38;
        padding:0.5em 0;
        margin:2em 0 1em;
        display:block;
    }
    h3.is-style-main-heading {
        display:flex;
        /*テキストと2本の線を横並びさせる指定*/
        justify-content:center;
        /*テキストと2本の線を左右中央配置*/
        align-items:center;
        /*テキストと2本の線を上下中央配置*/
        font-size:150%;
        font-family:'Shippori Mincho', serif;
        font-weight:700;
        border-bottom:0 dashed #189343;
        color:#189343;
        background:none;
    }
    h3.is-style-main-heading::before,
    h3.is-style-main-heading::after {
        content:'';
        width:70px;
        height:1px;
        background-color:#000000;
    }
    h3.is-style-main-heading::before {
        margin-right:30px;
        /*テキストと線の間の余白*/
    }
    h3.is-style-main-heading::after {
        margin-left:30px;
        /*テキストと線の間の余白*/
    }
    h4.is-style-main-heading {
        font-family:'Zen Old Mincho', serif;
        padding:0.2rem 1rem 0.2rem 1.5rem;
        margin-bottom:0.2rem;
        background-image:linear-gradient(#57af38 50%, #cccccc 50%);
        background-repeat:no-repeat;
        background-size:0.5rem 100%;
        font-weight:bold;
        margin:2em 0 1em;
    }
    h4.is-style-main-heading :before {
        content:none;
        color:#189343;
    }
    h4.is-style-main-heading:before {
        content:none;
        color:#189343;
    }
    h5.is-style-main-heading {
        font-size:100%;
        font-weight:bold;
        color:#ffffff;
        background-color:#189343;
        margin:0;
        padding:0.25em 0.5em;
        text-align:center;
        display:inline-block;
    }
    h6.is-style-main-heading {
        font-weight:bold;
        text-align:center;
    }
    /* リスト
  ---------------------------------------- */
    ol.is-style-main-list,
    ul.is-style-main-list {
        margin:0 0 30px 0;
        padding:15px;
        counter-reset:list-count;
        counter-reset:number;
        width:100% !important;
    }
    ol.is-style-main-list > li,
    ul.is-style-main-list > li {
        display:-webkit-box;
        display:-ms-flexbox;
        display:flex;
        -webkit-box-pack:start;
        -ms-flex-pack:start;
        justify-content:flex-start;
        border-bottom:2px dotted #dddddd;
        padding-left:5px !important;
    }
    ol.is-style-main-list > li,
    ul.is-style-main-list > li {
        display:-webkit-box;
        display:-ms-flexbox;
        display:flex;
        -webkit-box-pack:start;
        -ms-flex-pack:start;
        justify-content:flex-start;
        border-bottom:2px dotted #dddddd;
        padding:0.7em 0;
    }
    ol.is-style-main-list > li .block-list-appender,
    ul.is-style-main-list > li .block-list-appender {
        display:none !important;
    }
    ol.is-style-main-list > li:before,
    ul.is-style-main-list > li:before {
        content:counter(number, decimal-leading-zero);
        counter-increment:number;
        color:#189343;
        font-style:normal !important;
        font-size:115% !important;
        margin-right:0.5em !important;
        display:inline-block;
        text-align:left;
        white-space:nowrap;
    }
    ol.is-style-main-list > li:last-child,
    ul.is-style-main-list > li:last-child {
        border-bottom:none;
        list-style:none !important;
    }
    ul.is-style-main-list > li:before {
        content:'■';
        list-style:none !important;
        font-size:100% !important;
        -webkit-transform:scale(0.7);
            -ms-transform:scale(0.7);
                transform:scale(0.7);
        font-weight:bold;
        opacity:0.8;
    }
    /*　テーブル初期設定
  ---------------------------------------- */
    .wp-block-flexible-table-block-table.tblBase > table thead tr th {
        background:#666666;
        color:#ffffff;
        /*border: 0; 枠線をなくす場合*/
        border:1px solid #cccccc;
    }
    .wp-block-flexible-table-block-table.tblBase > table tbody tr th {
        background:#189343;
        color:#ffffff;
        /*border: 0; 枠線をなくす場合*/
        border:1px solid #cccccc;
    }
    .wp-block-flexible-table-block-table.tblBase > table tbody tr td {
        /*border: 0; 枠線をなくす場合*/
        border:1px solid #cccccc;
    }
    /*　テーブル:SP縦組み（左見出し30%:右コンテンツ）
  ---------------------------------------- */
    .wp-block-flexible-table-block-table.tblBase.tblRes > table tr th {
        width:30%;
        padding:15px;
    }
    .wp-block-flexible-table-block-table.tblBase.tblRes > table tr td {
        padding:15px;
    }
    /*　テーブル:SP縦組み（左見出し50%:右コンテンツ）
  ---------------------------------------- */
    .wp-block-flexible-table-block-table.tblBase.tblRes.tblResW50 > table tr th {
        width:50%;
    }
    /*　テーブル:SPスクロール
  ---------------------------------------- */
    .wp-block-flexible-table-block-table.tblBase.tblScroll > table th,
    .wp-block-flexible-table-block-table.tblBase.tblScroll > table td {
        display:table-cell !important;
    }
    /* table
  ========================================================================== */
    /* res ----------------------------------- */
    .res table {
        border-collapse:collapse;
        border:3px solid #ddd3c5;
    }
    .res table th,
    .res table td {
        border-collapse:collapse;
        border:1px solid #ddd3c5;
    }
    .res table {
        font-size:100%;
        margin-bottom:8px;
        width:100%;
    }
    .res tr {
        border:0;
    }
    .res th {
        color:#189343;
        font-weight:bold;
        line-height:1.5;
        background:#f2f1eb;
        padding:15px;
        text-align:left;
    }
    .res th.w20 {
        width:20% !important;
    }
    .res th.w30 {
        width:30% !important;
    }
    .res th.w40 {
        width:40% !important;
    }
    .res td {
        padding:15px;
        line-height:1.5;
        background:#ffffff;
        text-align:left;
    }
    .res td ul {
        padding-left:24px;
    }
    .res td ol {
        padding-left:0 !important;
        margin-left:16px;
    }
    .res td .price {
        font-size:2.6rem;
        font-family:'Noto Sans JP', sans-serif;
        font-optical-sizing:auto;
        font-weight:800;
        color:#037f6a;
    }
    .res td ul {
        margin:0;
    }
    .res th.f2f {
        background:#f2f2f2;
    }
    /* Scroll ----------------------------------- */
    .scrollTble {
        /*
    tbody {
        tr:nth-of-type(even) {
            td {
                background: $color_bk1; // ← 好きな背景色に変更
            }
        }
    }
        */
    }
    .scrollTble table {
        min-width:760px;
    }
    .scrollTble td,
    .scrollTble th,
    .scrollTble table {
        border-collapse:collapse;
        border:1px solid #cccccc;
    }
    .scrollTble th {
        background:#189343 !important;
    }
    .scrollTble td,
    .scrollTble th {
        padding:12px;
    }
    .scrollTble th {
        background:#def6d5;
        color:#ffffff;
    }
    /*　Spacer
  =============================================================== */
    .block-editor-block-list__layout .spacerL_block,
    .block-editor-block-list__layout .spacerS_block,
    .wp-editor .spacerL_block,
    .wp-editor .spacerS_block {
        background:#eeeeee !important;
        opacity:1 !important;
    }
    .spacerL_block {
        height:60px;
        background:transparent;
        opacity:0;
        display:block;
        border:none !important;
        width:100%;
        margin-bottom:0 !important;
    }
    .spacerS_block {
        height:30px;
        background:transparent;
        opacity:0;
        display:block;
        border:none !important;
        width:100%;
        margin-bottom:0 !important;
    }
    .slider {
        /*横幅94%で左右に余白を持たせて中央寄せ*/
        width:94%;
        margin:0 auto;
        padding:0 0 0 0;
        position:relative;
        /*ドットナビゲーションの設定*/
    }
    .slider figure {
        padding:15px;
    }
    .slider figure img {
        width:100%;
        /*スライダー内の画像を横幅100%に*/
        height:auto;
    }
    .slider .slick-prev,
    .slider .slick-next {
        position:absolute;
        top:42%;
        cursor:pointer;
        outline:none;
        border-top:2px solid #666666;
        border-right:2px solid #666666;
        height:15px;
        width:15px;
    }
    .slider .slick-prev {
        left:-1.5%;
        transform:rotate(-135deg);
    }
    .slider .slick-next {
        right:-1.5%;
        transform:rotate(45deg);
    }
    .slider .slick-dots {
        bottom:0;
        margin:0 0 20px 0;
    }
    .slider .slick-dots li button:before {
        font-size:14px !important;
    }
    a.btn {
        display:inline-block;
        border-radius:50px;
        background:#189343;
        color:#ffffff;
        background-image:linear-gradient(90deg, rgb(60, 178, 104), rgb(122, 197, 77));
        padding:5px 45px 5px 35px;
        position:relative;
        transition:0.15s all;
        text-align:center;
    }
    a.btn:after {
        position:absolute;
        font-family:'Font Awesome 5 Free';
        content:'\f35a';
        font-weight:900;
        padding-right:5px;
        color:#ffffff;
        right:5px;
    }
    a.btn:hover {
        opacity:0.8;
    }
    a.bntw200 {
        width:200px;
    }
    a.wakuBtn {
        display:inline-block;
        width:200px;
        /* ボタン幅 */
        border:2px solid #189343;
        /* 線幅・種類・色 */
        border-radius:0;
        color:#333333;
        /* 文字色 */
        background:#ffffff;
        /* 背景色 */
        -webkit-box-shadow:4px 4px 0 #189343;
        /* 影の距離・色 */
                box-shadow:4px 4px 0 #189343;
        /* 影の距離・色 */
        padding:1em 2em;
        font-weight:bold;
        /*文字の太さ*/
        text-decoration:none;
        text-align:center;
        transition:0.3s;
    }
    a.wakuBtn:hover {
        -webkit-box-shadow:-4px -4px 0 #189343;
        /* 影の距離・色 */
                box-shadow:-4px -4px 0 #189343;
        /* 影の距離・色 */
    }
    a.wakuBtn i {
        position:absolute;
        top:50%;
        right:10px;
                transform:translateY(-50%);
        -webkit-transform:translateY(-50%);
            -ms-transform:translateY(-50%);
        font-size:3rem;
        color:#189343;
    }
    a.wakuBtnW100 {
        width:100%;
    }
    p.wakuBtn a {
        position:relative;
        display:flex;
        align-items:center;
        justify-content:center;
        width:100%;
        min-height:80px;
        height:auto;
        padding:0.75em 3em 0.75em 2em;
        box-sizing:border-box;
        border:2px solid #189343;
        border-radius:0;
        color:#333333;
        background:#ffffff;
        box-shadow:4px 4px 0 #189343;
        font-weight:bold;
        text-decoration:none;
        text-align:center;
        line-height:1.4;
        transition:box-shadow 0.3s, transform 0.05s;
        margin:0 auto;
    }
    p.wakuBtn a:hover {
        box-shadow:-4px -4px 0 #189343;
    }
    p.wakuBtn a:active {
        transform:translateY(1px);
    }
    p.wakuBtn a i {
        position:absolute;
        top:50%;
        right:10px;
        transform:translateY(-50%);
        font-size:3rem;
        color:#189343;
        pointer-events:none;
    }
    p.wakuBtnW350 a {
        width:350px;
    }
    p.smallfont {
        font-size:1.5rem;
    }
    .inLink {
        display:inline-block;
    }
    .inLink a {
        position:relative;
        background:#ffffff;
        border:1px solid #57af38;
        border-radius:5px;
        color:#57af38;
        font-weight:bold;
        padding:0.6em 3.5em 0.6em 1em;
    }
    .inLink a::after {
        position:absolute;
        right:10px;
        font-family:'Font Awesome 5 Free';
        font-weight:900;
        content:'\f101';
        color:#57af38;
    }
    .outLink a {
        position:relative;
        background:#ffffff;
        border:1px solid #57af38;
        border-radius:5px;
        color:#57af38;
        font-weight:bold;
        padding:0.6em 3.5em 0.6em 1em;
    }
    .outLink a::after {
        position:absolute;
        right:10px;
        font-family:'Font Awesome 5 Free';
        font-weight:900;
        content:'\f35d';
        color:#57af38;
    }
    .inFile1 a {
        position:relative;
        background:#ffffff;
        border:1px solid #57af38;
        border-radius:5px;
        color:#57af38;
        font-weight:bold;
        padding:0.6em 3.5em 0.6em 1em;
    }
    .inFile1 a::after {
        position:absolute;
        right:10px;
        font-family:'Font Awesome 5 Free';
        font-weight:900;
        content:'\f019';
        color:#57af38;
    }
    .inFile2 a {
        position:relative;
        background:#ffffff;
        border:1px solid #57af38;
        border-radius:5px;
        color:#57af38;
        font-weight:bold;
        padding:0.6em 3.5em 0.6em 1em;
    }
    .inFile2 a::after {
        position:absolute;
        right:10px;
        font-family:'Font Awesome 5 Free';
        font-weight:900;
        content:'\f15b';
        color:#57af38;
    }
    /* 固定ページでのFlex実現
  ---------------------------------------- */
    .flexWrap {
        /*これは設定したい親要素*/
        border:1px solid blue;
        padding:15px;
    }
    .flexWrap > .wp-block-group__inner-container {
        /*これが自動挿入されるのでFlexを設定する*/
        display:flex;
        flex-wrap:wrap;
        justify-content:center;
        width:100%;
        gap:20px !important;
    }
    .flexWrap > .wp-block-group__inner-container > .flex__item {
        /*これは設定したい子要素*/
        width:calc(33.3% - 20px);
        padding:15px;
        border:1px solid red;
    }
    /* あいさつ2カラム----------------------------------- */
    .greetingFlex > .wp-block-group__inner-container {
        /*これが自動挿入されるのでFlexを設定する*/
        display:flex;
        flex-wrap:wrap;
        justify-content:center;
        width:100%;
        gap:15px !important;
    }
    .greetingFlex > .wp-block-group__inner-container > .flex__itemL {
        /*これは設定したい子要素*/
        width:calc(70% - 20px);
        padding:15px;
    }
    .greetingFlex > .wp-block-group__inner-container > .flex__itemR {
        /*これは設定したい子要素*/
        width:calc(30% - 20px);
        padding:15px;
        text-align:center;
    }
    .greetingFlex > .wp-block-group__inner-container > .flex__itemR img {
        border-radius:15px;
    }
    /* あいさつBox----------------------------------- */
    .greetingBox {
        background:#ffffff;
        padding:30px;
        margin:1em 0 2em;
    }
    .greetingBox h4 {
        border-bottom:1px dashed #189343;
        padding:0 0 0.5em 0;
        font-size:clamp(1.6rem, 2vw, 2rem);
        margin-bottom:0.5em;
    }
    .greetingBox p {
        margin:20px 0 0 0;
    }
    .greetingBox .greetingFlex2 > .wp-block-group__inner-container {
        /*これが自動挿入されるのでFlexを設定する*/
        display:flex;
        flex-wrap:wrap;
        justify-content:space-between;
        width:100%;
        gap:15px !important;
    }
    .greetingBox .greetingFlex2 > .wp-block-group__inner-container > .flex__itemL {
        /*これは設定したい子要素*/
        width:calc(80% - 15px);
        padding:0;
    }
    .greetingBox .greetingFlex2 > .wp-block-group__inner-container > .flex__itemL p {
        margin-top:15px;
    }
    .greetingBox .greetingFlex2 > .wp-block-group__inner-container > .flex__itemR {
        /*これは設定したい子要素*/
        width:calc(20% - 15px);
        padding:0 15px;
        text-align:center;
    }
    .greetingBox .greetingFlex2 > .wp-block-group__inner-container > .flex__itemR img {
        border-radius:15px;
    }
    /* 画像(map)の親要素が #mapimg なので、ここを基準にオーバーレイを重ねる */
    #mapimg {
        position:relative;
        display:inline-block;
    }
    /* 画像はブロック化して余計な隙間を消す */
    #mapimg > img {
        display:block;
        width:100%;
        height:auto;
    }
    /* 上に重ねる透明SVG。pointer-events: none でクリックは <area> に通す */
    #mapimg .imap-overlay {
        position:absolute;
        inset:0;
        width:100%;
        height:100%;
        pointer-events:none;
    }
    /* 通常時は透明、ホバー時だけ色を出す */
    #mapimg .imap-overlay .hotspot {
        fill:transparent;
        stroke:transparent;
        transition:fill 0.15s ease, stroke 0.15s ease;
    }
    #mapimg .imap-overlay .hotspot.is-hover {
        /* 好きな色・透明度に調整してください */
        fill:rgba(255, 0, 0, 0.25);
        stroke:rgba(255, 0, 0, 0.75);
        stroke-width:2;
    }
    /* クリックできる感を出す */
    area {
        cursor:pointer;
    }
    .content3Flex {
        display:flex;
        gap:15px;
    }
    .content3Flex > .wp-block-group__inner-container {
        /*これが自動挿入されるのでFlexを設定する*/
        display:flex;
        flex-wrap:wrap;
        justify-content:center;
        width:100%;
        gap:15px !important;
    }
    .content3Flex > .wp-block-group__inner-container > .flex__item {
        /*これは設定したい子要素*/
        width:calc(33.3% - 15px);
    }
    /* 1) 基本リセット（非破壊） */
    html,
    body {
        -webkit-print-color-adjust:exact;
                print-color-adjust:exact;
    }
    img,
    svg,
    canvas,
    video {
        max-width:100% !important;
        height:auto !important;
        page-break-inside:avoid;
    }
    figure {
        page-break-inside:avoid;
    }
    table {
        width:100%;
        border-collapse:collapse;
        page-break-inside:auto;
    }
    thead {
        display:table-header-group;
    }
    tfoot {
        display:table-footer-group;
    }
    tr {
        page-break-inside:avoid;
    }
    th,
    td {
        padding:inherit;
    }
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        page-break-after:avoid;
    }
    pre,
    blockquote {
        page-break-inside:avoid;
    }
    .page-break {
        page-break-before:always;
    }
    .avoid-break {
        page-break-inside:avoid;
    }
    a[href]::after {
        content:none !important;
    }
    *,
    *::before,
    *::after {
        animation:none !important;
        transition:none !important;
    }
    /* 2) sticky/fixed の停止 */
    header,
    #masthead,
    .site-header,
    nav,
    .glNaviPc,
    .global-nav,
    .sticky,
    .is-sticky,
    .sticky-header,
    .sticky-nav,
    .fixed,
    .is-fixed,
    .fixed-header,
    .fixed-nav {
        position:static !important;
        top:auto !important;
        right:auto !important;
        bottom:auto !important;
        left:auto !important;
        transform:none !important;
        z-index:auto !important;
    }
    .site-header,
    nav {
        box-shadow:none !important;
    }
    /* 3) 全体の縮小（必要なら数値調整） */
    html {
        font-size:75% !important;
    }
    /* 16px→12px相当 */
    body {
        font-size:8pt !important;
        line-height:1.6 !important;
    }
    h1 {
        font-size:18pt !important;
    }
    h2 {
        font-size:15pt !important;
    }
    h3 {
        font-size:12.5pt !important;
    }
    nav a,
    .glNaviPc .site-gnav > li > a,
    .btn,
    .member-login #member-login-form .submit input[type=submit],
    .button,
    .wp-block-button__link {
        font-size:8pt !important;
        line-height:1.3 !important;
    }
    table {
        font-size:9.5pt !important;
    }
    /* 4) ヘッダーだけ微調整 */
    .site-header,
    #masthead {
        font-size:9pt !important;
        line-height:1.4 !important;
    }
    .site-header .btnMenu,
    .site-header .btn,
    .site-header .member-login #member-login-form .submit input[type=submit],
    .member-login #member-login-form .submit .site-header input[type=submit],
    .site-header .button,
    .site-header .wp-block-button__link,
    .site-header .glNaviPc .site-gnav > li > a,
    .site-header nav a {
        font-size:8.5pt !important;
        line-height:1.25 !important;
        padding:0 0.3em !important;
        white-space:nowrap !important;
    }
    .site-header .glNaviPc .site-gnav {
        gap:6px !important;
    }
    .site-header i[class^=fa],
    .site-header i[class*=' fa-'],
    .site-header .fa,
    .site-header .fa-solid,
    .site-header .fa-regular,
    .site-header .fa-light,
    .site-header .fa-brands {
        font-size:0.9em !important;
        line-height:1 !important;
        vertical-align:-0.05em;
    }
    .site-header .fa-arrow-right-from-bracket {
        font-size:0.85em !important;
    }
    /* 5) 本文＋ .newsCat を本文サイズに追従 */
    .site-main {
        font-size:10pt !important;
        line-height:1.6 !important;
    }
    .site-main .entry-content span.newsCat,
    .site-main span.newsCat,
    .site-main .newsCat,
    #primary .site-main span.newsCat,
    #primary .site-main .newsCat,
    .site-main [class~=newsCat],
    .site-main .newsCat[class],
    .site-main .newsCat.newsCat {
        font-size:inherit !important;
        line-height:inherit !important;
    }
    .site-main .newsCat {
        padding:0.15em 0.45em !important;
        white-space:nowrap;
        letter-spacing:normal !important;
    }
    .site-main .newsCat i[class^=fa],
    .site-main .newsCat i[class*=' fa-'],
    .site-main .newsCat .fa {
        font-size:0.9em !important;
        line-height:1 !important;
    }
    /* 6) トップスライド（slick/swiper等）を縦積みにしてはみ出し防止 */
    .topSlide,
    .topSlide .contentWrap {
        position:static !important;
        transform:none !important;
        width:auto !important;
        max-width:100% !important;
        min-width:0 !important;
        margin:0 auto !important;
        padding:0 !important;
        overflow:visible !important;
        box-sizing:border-box !important;
    }
    .topSlide .slider {
        display:block !important;
        list-style:none !important;
        padding:0 !important;
        margin:0 !important;
        overflow:visible !important;
        white-space:normal !important;
        width:auto !important;
        max-width:100% !important;
    }
    .topSlide .slider > li {
        display:block !important;
        float:none !important;
        position:static !important;
        width:auto !important;
        max-width:100% !important;
        min-width:0 !important;
        height:auto !important;
        margin:0 0 8mm !important;
        padding:0 !important;
        transform:none !important;
        page-break-inside:avoid;
        box-sizing:border-box !important;
    }
    .topSlide .slider > li > a,
    .topSlide .slider picture,
    .topSlide .slider figure {
        position:static !important;
        width:auto !important;
        max-width:100% !important;
        height:auto !important;
        padding:0 !important;
        margin:0 !important;
    }
    .topSlide .slider img {
        display:block !important;
        position:static !important;
        width:100% !important;
        max-width:100% !important;
        height:auto !important;
        max-height:none !important;
        object-fit:contain !important;
        page-break-inside:avoid;
    }
    .slick-slider,
    .slick-list,
    .slick-track,
    .slick-slide,
    .slick-initialized,
    .swiper,
    .swiper-wrapper,
    .swiper-slide {
        position:static !important;
        float:none !important;
        transform:none !important;
        inset:auto !important;
        width:auto !important;
        max-width:100% !important;
        min-width:0 !important;
        height:auto !important;
        overflow:visible !important;
        white-space:normal !important;
        box-sizing:border-box !important;
    }
    /* 7) 地図（searchMap 系）：同ページに収める */
    :root {
        --map-max-height:120mm;
    }
    /* 必要に応じ 110mm/100mm に */
    .searchMap2,
    .searchMap3,
    .searchMap {
        page-break-inside:avoid;
        margin-top:0 !important;
    }
    .searchMap {
        page-break-before:avoid;
    }
    #map-root,
    #map-root #mapimg {
        width:100% !important;
        max-width:100% !important;
        overflow:visible !important;
        margin:0 auto !important;
        padding:0 !important;
        box-sizing:border-box !important;
    }
    #map-root #mapimg img {
        display:block !important;
        width:auto !important;
        max-width:100% !important;
        /* 紙幅は超えない */
        height:auto !important;
        max-height:var(--map-max-height) !important;
        /* 高さ上限で縮小 */
        object-fit:contain !important;
        page-break-inside:avoid;
        margin:0 auto !important;
    }
    #map-root #mapimg picture,
    #map-root #mapimg figure {
        width:auto !important;
        max-width:100% !important;
        height:auto !important;
        padding:0 !important;
        margin:0 !important;
        position:static !important;
    }
    #primary .site-main .contentWrap {
        width:auto !important;
        max-width:100% !important;
        transform:none !important;
        overflow:visible !important;
    }
    .searchMap2 p,
    .searchMap3 p {
        font-size:9.5pt !important;
        line-height:1.4 !important;
        margin:2mm 0 !important;
    }
    .searchMap2 .wp-block-heading,
    .searchMap3 .wp-block-heading {
        font-size:12pt !important;
        line-height:1.3 !important;
        margin:2mm 0 1.5mm !important;
    }
    /* 8) ヘッダー直下の大きな空白を消す（今回の要点） */
    #masthead.site-header,
    .site-header {
        position:static !important;
        top:auto !important;
        margin-bottom:0 !important;
        padding-bottom:0 !important;
        box-shadow:none !important;
        border-bottom:0.1px solid transparent !important;
        /* 相殺防止の保険 */
    }
    /* ヘッダー直後にぶら下がるメガメニュー/SPナビは印刷で完全無効化 */
    #mega-cont1,
    #mega-cont2,
    #mega-cont3,
    #mega-cont4,
    .mega-menu,
    .mega-inner,
    .glNaviSp,
    #g-nav5,
    .site-gnavSp-container {
        display:none !important;
        visibility:hidden !important;
        height:0 !important;
        margin:0 !important;
        padding:0 !important;
        border:0 !important;
        overflow:hidden !important;
    }
    /* 本体側の“上逃げ”をゼロに */
    #page.site,
    .site,
    .site-main,
    #primary,
    .page-content {
        margin-top:0 !important;
        padding-top:0 !important;
        overflow:auto !important;
        /* 相殺停止 */
    }
    /* 最初の子の上マージン打消し（h1/entry-headerなど） */
    #page.site > *:first-child,
    .site > *:first-child,
    .page-content > *:first-child,
    .site-main > *:first-child,
    #primary > *:first-child,
    .entry-header {
        margin-top:0 !important;
        padding-top:0 !important;
    }
    /* 管理バーは印刷非表示（保険） */
    #wpadminbar {
        display:none !important;
    }
    body.admin-bar {
        margin-top:0 !important;
        padding-top:0 !important;
    }
}
