@charset "utf-8";
/* Generic Child-higashiue : Base Style 
    サイト全体のスタイル
    -フォント読み込み
    -共通要素の上書き
    -共通要素
    -外枠 div id="wrapper" #wrapper
    -ヘッダ header id="header" #header
    -コンテナ div id="container" #container
    -フッタ footer id="footer" #footer
    -ログイン時表示「編集」ボタンスタイル .post-edit-link
        ※ログイン時のみ表示される記事の編集画面へのリンクボタン
*/
/*　Google Fonts 読込  Noto Sans JP , Noto Serif JP , Poppins　*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
/*フォント指定
    font-family: "Noto Sans JP", sans-serif;
    font-family: "Noto Serif JP", serif;
    font-family: "Poppins", sans-serif;
*/
/*カラーコード
    deep-green: #00683f; rgba(0,104,63,1.00);
    mid-green: #5eac3c; rgba(94,172,60,1.00);
    fade-green: #dfeed8; rgba(223,238,216,1.00);
    text-gray: #4d4d4d;
    light-brown: #ba9e74; rgba(186,158,116,1.00);
    caution-red: #c82665; rgba(200,38,101,1.00);
    beige: #f8f4e6; rgba(248,244,230,1.00);
*/
/*----------------------------------------------------------------*/

/*
:root {
    --deep-green: #00683f;
    --mid-green: #5eac3c;
    --fade-green: #dfeed8;
    --text-gray: #4d4d4d;
    --light-brown: #ba9e74;
    --caution-red: #c82665;
    --beige: #f8f4e6;
}
*/
/* ローディングアニメーション
---------------------------------------------------- */
/* ローディング画面 */
#loading {
    align-items: center;
    background-color: rgba(255, 255, 255, .90);
    display: flex;
    height: 100vh;
    justify-content: center;
    position: fixed;
    top: 0;
    left: 0;
    transition: all 1s;
    z-index: 10000;
    width: 100vw;
}
.loader {
  width: 50px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: 
    radial-gradient(farthest-side,rgba(94,172,60,1.00) 94%,#0000) top/8px 8px no-repeat,
    conic-gradient(#0000 30%,rgba(94,172,60,1.00));
  -webkit-mask: radial-gradient(farthest-side,#0000 calc(100% - 8px),#000 0);
  animation: l13 1s infinite linear;
}
@keyframes l13{ 
  100%{transform: rotate(1turn)}
}
.loaded {
    opacity: 0;
    visibility: hidden;
}

/* 共通要素の上書き
---------------------------------------------------- */
/*ダークモードの設定上書き*/
@media(prefers-color-scheme:dark) {

    body,
    #container {
        background: #fff;
    }
}

/*テキスト選択時カラー*/
::selection {
    background: rgba(94,172,60, .35);
    color: #666;
}

* {
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
    transition: unset;
}

html {
    scroll-behavior: smooth;
}

body {
    animation: fadeIn 1s ease 0s 1 normal;
    -webkit-animation: fadeIn 1s ease 0s 1 normal;
    height: 100%;
    width: 100%;
    color: #4d4d4d;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body:not(.page-template-front-page-pre) {
    background: #fff url("../images/common/bg_body.jpg") no-repeat center top;
    background-attachment: fixed;
    background-size: contain;
    color: #2e2e2e;
    -webkit-text-size-adjust: 100%;
}

/*ページ読み込み時のフェードアニメーション用キーフレーム*/
@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

address,
cite,
var {
    font-style: normal;
}

pre,
code {
    font-family: inherit;
}

dd {
    margin-left: 0;
}

/*フォームスタイル上書き*/
textarea,
input[type="text"],
input[type="button"],
input[type="submit"],
input[type="reset"],
input[type="search"],
input[type="password"] {
    -webkit-appearance: none;
    appearance: none;
    border-radius: 5px;
}

input[type="search"] {
    -webkit-appearance: textfield
}

input,
textarea {
    background: #fff;
    border: #ddd solid 1px;
    border-radius: 5px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-size: 1rem;
    margin: 0;
    outline: 0;
    padding: .5rem;
}

input:focus,
textarea:focus {
    background-color: #f7f7f7;
    border: rgba(94,172,60, .50) solid 1px;
}

input[type="submit"],
button,
.button {
    background: rgba(94,172,60, 1.00);
    border: 0;
    color: #fff;
    cursor: pointer;
    display: block;
    font-family: inherit;
    font-size: 18px;
    margin: 0 auto;
    padding: .5rem 2rem;
    ;
    text-align: center;
    text-decoration: none;
}

input[type="submit"]:hover,
input[type="submit"]:focus,
button:hover,
button:focus,
.button:hover,
.button:focus {
    opacity: 0.8
}

/*h要素スタイル上書き*/
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Noto Sans JP", sans-serif;
    margin-bottom: 0;
    margin-top: 0;
}

h1 {
    font-size: 2rem;
}

h2 {
    font-size: 1.75rem;
}

h3 {
    font-size: 1.25rem;
}

h4 {
    font-size: 1.125rem;
}

h5 {
    font-size: 1.125rem;
}

h6 {
    font-size: 1.125rem;
}

/*p（段落）要素スタイル上書き*/
.page .content p,
.single-post .content p {
    font-size: 1rem;
    line-height: 160%;
    margin: 1rem 0;
}

/*img（画像）右クリック禁止*/
img {
    pointer-events: none;
}

/*aリンク内のimg（画像）イベント許可*/
a img {
    pointer-events: auto;
}

/*a（ハイパーリンク）要素スタイル上書き*/
a {
    color: rgba(94,172,60, 1.00);
    transition: .3s;
}

a:hover {
    color: rgba(94,172,60, .75);
}

a img {
    transition: .3s;
}

/*ul,ol（リスト、順序リスト）要素スタイル上書き*/
.entry-content ul,
.widget-container ul,
.comment-body ul,
.entry-content ol,
.widget-container ol,
.comment-body ol {
    margin: 30px 0 30px 1rem;
}

.entry-content ol,
.widget-container ol,
.comment-body ol {
    margin-left: 1rem;
}

.entry-content ul li,
.widget-container ul li,
.comment-body ul li {
    list-style-type: initial;
}

/*エントリーメタデータスタイル上書き*/
.entry-meta,
.entry-meta a,
.entry-footer,
.entry-footer a,
.comment-meta,
.comment-meta a,
.comment-author,
.comment-author a {
    font-family: "Noto Sans JP", sans-serif;
}

/*ヘッダ・コンテナ・フッタスタイル上書き*/
#header,
#container,
#footer {
    padding: 0;
}

#site-title h1,
#site-title a {
    font-size: 0;
}

#container::after {
    display: none;
}

/* reCAPTCHA V3 バッヂ非表示*/
/*バッヂを非表示にする際はフォームの送信ボタン下にGoogleが指定する一文を記載すること*/
.grecaptcha-badge {
    visibility: hidden;
}

/* PC/SP切り替え */
.pc {
    display: block;
}

.sp {
    display: none;
}


/* 共通要素
---------------------------------------------------- */

/* 外枠 div id="wrapper" #wrapper
---------------------------------------------------- */
#wrapper {
    padding: 0;
}

/* ヘッダ header id="header" #header
---------------------------------------------------- */
#header {
    background-color: rgba(255,255,255,1.00);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    height: auto;
    margin: 0;
    position: fixed; 
    /*ヘッダ固定の指定を外す際はposition:relativeに変更し、header.php内の「ヘッダーの高さ分だけコンテンツを下げる」をコメントアウトし、
    ログイン時のアドミンバー表示調整（body.logged-in #header）もコメントアウトする
    （@media screen and (max-width: 782px)にもログイン時のアドミンバー表示調整の記述有）
    */
    /*position: relative;*/
    left: 0;
    top: 0;
    width: 100%;
    z-index: 9999;
}
/*ログイン時のアドミンバー表示調整*/
/*
body.logged-in #header {
        top: 32px;
}
*/
#header:after {
    display: none;
}
/*サイト説明文（キャッチコピー）*/
#site-description {
    height: 0;
    margin: 0;
    padding: 0;
    visibility: hidden;
}
/*ヘッダラップ*/
#header .header-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    width: 100%;
}
/*ヘッダラップ - サイトロゴ・サイトタイトル*/
#site-title {
    border-right: 1px solid #ccc;
    margin-bottom: 0;
}
#site-title a {
    align-items: center;
    color: #333;
    display: flex;
    height: 100%;
    padding: 0 2rem;
    text-decoration: none;
}
#site-title a:hover {
    opacity: .8;
}
#header .header-wrap #site-title a p {
    margin: 0;
    display: flex;
    align-items: center;
}
/*サイトロゴ（画像）*/
#site-title a #logo-container {
    align-items: center;
    display: flex;
    height: auto;
    margin-bottom: 0;
}
#site-title a #logo-container img {
    height: 60px;
    width: auto;
    display: block;
    max-height: 100%;
}

/*サイトタイトル（テキスト）*/
/*
#site-title a h1 {
    color: #333;
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    font-size: 1.25rem;
}
#site-title a h1 span {
    display: block;
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    font-size: .75rem;
}
*/

/*ヘッダコンテンツ*/
#header-contents {
    align-items: center;
    display: flex;
    flex: 1;
    justify-content: flex-end;
    padding: 1rem;
}

/*ヘッダコンテンツ - グローバルナビゲーション*/
#menu {
    float: none;
    margin: 0;
    padding: 0 1rem 0 0;
    width: auto;
}

#menu div:first-of-type {
    float: none;
    width: auto;
}
#menu ul {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    width: auto;
}
#menu ul li {
    align-items: center;
    display: flex;
    margin: .25rem 1rem;
}
#menu ul li a {
    align-items: center;
    /* color: #333; */
    color: #5eac3c;
    display: flex;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1rem;
    font-weight: 600;
    height: 100%;
    line-height: 1;
    margin: 0;
    padding: 0;
    text-align: inherit;
    text-decoration: none;
    width: 100%;
}
#menu ul li a:hover,
#menu ul li a:focus,
#menu ul li.current-menu-item a,
/*メニューページ current表示*/
#menu ul li.current-page-ancestor a
/*メニューの子ページ current表示*/
    {
    color: rgba(0,104,63,1.00);
    text-decoration: none
}
#menu ul li a::after {
    background: rgba(0,104,63,0.00);
    border-radius: 3px;
    content: '';
    height: 6px;
    position: absolute;
    bottom: -1.5rem;
    left: calc(50% - 3px);
    transform-origin: left top;
    transition: 0.3s;
    width: 6px;
}
#menu ul li a:hover::after,
#menu ul li.current-menu-item a::after,
/*メニューページ current表示*/
#menu ul li.current-page-ancestor a::after
/*メニューの子ページ current表示*/
{
    background: var(--deep-green);
    bottom: -.75rem;
}

/*SP用グローバルナビハンバーガーボタン*/
#menu .menu-toggle {
    display: none;
}
/*SP用電話・ボタン*/
#menu .tel-wrap.sp {
    display: none;
}

/* 電話・ボタン全体のエリア */
.tel-wrap {
    display: flex;
    align-items: center;
    /* 縦方向中央 */
}
/* 各電話ブロックとボタンブロックの左側に線を引く */
.tel-wrap-in,
.contact-btn-area {
    display: flex;
    flex-direction: column;
    /* 中の要素を縦に並べる */
    justify-content: center;
    align-items: center;
    padding: 0 20px;
    border-left: 1px solid #ccc;
    /* グレーの境界線 */
    height: 60px;
    /* 線の長さを揃えるために高さを指定 */
}
/* テキストのスタイル調整 */
.tel-label {
    color: #4da53c;
    /* 緑色 */
    font-size: 14px;
    font-weight: bold;
}
.tel-num {
    font-size: 18px;
    font-weight: bold;
    color: #333;
    line-height: 1.2;
}
.tel-num::before {
    content: "\f095";
    font-family: "FontAwesome";
    margin-right: 5px;
    color: #4da53c;
}
.time {
    font-size: 13px;
    color: #666;
    font-weight: 600;
}
/* お問い合わせボタン */
.contact-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    background-color: #69b045;
    /* ボタンの緑色 */
    color: #fff;
    text-decoration: none;
}
.contact-btn::before {
    content: "\f0e0";
    font-family: "FontAwesome";
    font-size: 24px;
    color: #fff;
}
.contact-btn:hover {
    opacity: 0.8;
}


/* コンテナ div id="container" #container
---------------------------------------------------- */
/*メインコンテンツ - wrapp */
.container-wrap {
    background-color: rgba(255, 255, 255, 1.00);
    flex: 1;
    height: auto;
    margin: 0;
    overflow: hidden;
    padding: 0;
    position: relative;
    width: 100%;
}

/*メインコンテンツ - サブヘッダ*/
#sub-header {
    background: url("../images/common/bg_sub-header.png") no-repeat center right;
    background-size: cover;
    margin: 0 auto;
    padding: 0;
    position: relative;
    width: 100%;
}
#sub-header>* {
    position: relative;
    z-index: 1;
}
/*メインコンテンツ - サブヘッダ - サブヘッダ見出し*/
#sub-header .sub-header-title {
    align-items: center;
    display: flex;
    height: fit-content;
    padding: 75px;
    width: 100%;
}
#sub-header .sub-header-title::before {
    background-color: rgba(0,104,63,1.00);
    content: "";
    display: block;
    height: 1px;
    margin: 0 1rem;
    width: 100px;
}
#sub-header .sub-header-title h2 {
    color: rgba(0,104,63,1.00);
    display: flex;
    font-family: "Noto Serif JP", serif;
    font-size: 1.75rem;
    font-weight: normal;
}
#sub-header .sub-header-title .slag {
    color: rgba(0,104,63,1.00);
    font-family: 'Poppins', sans-serif;
    font-size: .875rem;
    margin: 0 1rem;
}
/*メインコンテンツ - サブヘッダ - パンくずナビ*/
.breadcrumbs {
    background-color: rgba(248,244,230,1.00);
    margin: 0;
    padding: 1rem 1.5rem;
    width: 100%;
}
.breadcrumbs .bradcrumbs-wrap {
    align-items: center;
    color: rgba(46, 46, 46, .50);
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin: 0;
    padding: 0;
}
.breadcrumbs .bradcrumbs-wrap span {
    font-size: .875rem;
    padding: 0 .15rem;
}
.breadcrumbs .bradcrumbs-wrap span a {
    color: rgba(94,172,60,1.00);
    text-decoration: none;
    transition: .3s;
}
.breadcrumbs .bradcrumbs-wrap span a:hover {
    color: rgba(94,172,60,.80);
}
.breadcrumbs .bradcrumbs-wrap .material-symbols-outlined {
    font-family: 'Material Icons';
}

#container {
    background-color: #fff;
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 50px auto;
    padding: 2rem;
    width: 1240px;
}

/* #container（フロントページのみ）*/
#container.front-container {
    padding: 0;
}

/*メインコンテンツ - メインカラム*/
main.content {
    float: none;
    margin: 0;
    padding: 0 0 0 3rem;
    width: 75%;
}

/*メインコンテンツ - メインカラム - 特定ページのみ、メインカラム100%
・固定ページ最上の親ページ（INDEX）
・サイトマップページ（sitemap）
・個人情報保護方針ページ（privacy）
・メールフォームページ（inquiry , entry）
・検索ページ（search）
・404ページ（error404）
*/
body.page-parent main.content
/*固定ページ最上の親（body.page-parent）*/
{
    padding: 0;
    width: 100%;
}

body.page-parent.page-child main.content {
    /*子ページを持つ親（body.page-parent.page-child）の場合メインカラム75%*/
    padding: 0 0 0 3rem;
    width: 75%;
}

/*メインコンテンツ - サイドバー*/
aside#sidebar {
    background-color: rgba(248,244,230,1.00);
    border-radius: 1rem;
    float: none;
    padding: 1rem;
}
/*メインコンテンツ - メインカラム - 特定ページのみ、サイドバー非表示
・固定ページ最上の親ページ（INDEX）
*/
body.page-parent aside#sidebar
/*固定ページ最上の親（body.page-parent）*/
{
    display: none;
}
body.page-parent.page-child aside#sidebar {
    /*子ページを持つ親（body.page-parent.page-child）の場合サイドバー表示*/
    display: block;
}
/* - サイドバー - サイドバータイトル*/
aside#sidebar h2#sidebar-title {
    align-items: center;
    color: rgba(94,172,60,1.00);
    display: flex;
    font-family: "Poppins", sans-serif;
    font-size: .875rem;
    font-style: normal;
    font-weight: normal;
    flex-direction: column;
    justify-content: center;
    margin: 2rem 0;
    position: relative;
}
aside#sidebar h2#sidebar-title::before {
    background: url("../images/common/ico_sidebar-title.png") no-repeat center;
    content: "";
    display: flex;
    height: 6rem;
    justify-content: center;
    margin: 0 0 .5rem;
    width: 6rem;
    z-index: 2
}
aside#sidebar h2#sidebar-title::after {
    background-color: rgba(255,255,255,1.00);
    border-radius: 4rem;
    content: "";
    display: block;
    height: 6rem;
    position: absolute;
        top: 0;
        left: calc( 50% - 3rem);
    width: 6rem;
    z-index: 0;
}
/*メインコンテンツ - サイドバー - 固定ページ子ページリスト , その他ページ用ウィジェットページリスト*/
aside#sidebar .child-page-box {
    margin: 0 0 3rem;
}
aside#sidebar .widget-container ul {
    margin: 0;
}
aside#sidebar .widget-container ul li {
    list-style: none;
    margin: 0;
    padding: 0;
}
aside#sidebar .child-page-box>ul,
aside#sidebar .widget-container ul {
    border-top: rgba(186,158,116,.50) solid 1px;
}
aside#sidebar .widget-container > h3 + nav > ul {
    border-top: none !important;
}
aside#sidebar .child-page-box ul li a,
aside#sidebar .widget-container ul li a {
    align-items: center;
    background-color: transparent;
    color: #333;
    display: flex;
    padding: 1rem 0;
    text-decoration: none;
}
aside#sidebar .child-page-box ul li a:hover,
aside#sidebar .widget-container ul li a:hover {
    color: rgba(186,158,116,1.00);
    opacity: .7;
}
/*該当ページ滞在時*/
aside#sidebar .child-page-box ul li.current_page_item>a,
aside#sidebar .widget-container ul li.current_page_item>a {}
/*第一階層*/
aside#sidebar .child-page-box>ul>li,
aside#sidebar .widget-container ul li {
    border-bottom: rgba(186,158,116,.50) solid 1px;
}
aside#sidebar .child-page-box ul>li>a,
aside#sidebar .widget-container ul li>a {
    padding: 1rem 0;
}
aside#sidebar .child-page-box>ul>li>a::before,
aside#sidebar .widget-container ul li>a::before {
    color: rgba(186,158,116,1.00);
    content: "\e5cc";
    font-family: 'Material Icons';
    padding: 0 .5rem 0 0;
}
/*第二階層*/
aside#sidebar .child-page-box>ul>li>ul {
    border-top: rgba(186,158,116,.50) dotted 1px;
}
aside#sidebar .child-page-box>ul>li>ul>li {
    border-bottom: rgba(186,158,116,.50) dotted 1px;
}
aside#sidebar .child-page-box>ul>li>ul>li:last-child {
    border-bottom: none;
}
aside#sidebar .child-page-box>ul>li>ul>li a {
    padding: .75rem 0 .75rem 1rem;
}
aside#sidebar .child-page-box>ul>li>ul>li a::before {
    color: rgba(186,158,116,1.00);
    content: "\eac9";
    font-family: 'Material Icons';
    padding: 0 .5rem 0 0;
}
/*第三階層*/
aside#sidebar .child-page-box>ul>li>ul>li>ul {
    border-top: rgba(186,158,116,.50) dotted 1px;
}
aside#sidebar .child-page-box>ul>li>ul>li>ul>li {
    border-bottom: rgba(186,158,116,.50) dotted 1px;
}
aside#sidebar .child-page-box>ul>li>ul>li>ul>li:last-child {
    border-bottom: none;
}
aside#sidebar .child-page-box>ul>li>ul>li>ul>li a {
    padding: .75rem 0 .75rem 2rem;
}
aside#sidebar .child-page-box>ul>li>ul>li>ul>li a::before {
    color: rgba(186,158,116,1.00);
    content: "-";
    padding: 0 .5rem 0 0;
}
/*第三階層以下*/
aside#sidebar .child-page-box>ul>li>ul>li>ul>li ul {
    border-top: rgba(186,158,116,.50) dotted 1px;
}
aside#sidebar .child-page-box>ul>li>ul>li>ul>li ul li {
    border-bottom: rgba(186,158,116,.50) dotted 1px;
}
aside#sidebar .child-page-box>ul>li>ul>li>ul>li ul li:last-child {
    border-bottom: none;
}
aside#sidebar .child-page-box>ul>li>ul>li>ul>li ul li a {
    padding: .75rem 0 .75rem 3rem;
}
aside#sidebar .child-page-box>ul>li>ul>li>ul>li ul li a::before {
    display: none;
}

/*メインコンテンツ - サイドバー - ウィジェット*/
/*ウィジェットタイトル*/
aside#sidebar .widget-box li.widget-container {
    margin: 0 0 3rem;
}
aside#sidebar .widget-box li.widget-container h3 {
    align-items: center;
    background-color: rgba(186,158,116,1.00);
    border-radius: .25rem;
    color: rgba(255,255,255,1.00);
    font-size: .875rem;
    display: flex;
    justify-content: flex-start;
    padding: .5rem;
}
aside#sidebar .widget-box li.widget-container h3::before {
    content: "\e866";
    font-family: 'Material Icons';
    display: block;
    margin: 0 .5rem 0 0;
}

/*カテゴリ・アーカイブ・カスタム投稿タイプカテゴリ・最近の投稿*/
aside#sidebar .widget_categories ul,
aside#sidebar .widget_archive ul,
aside#sidebar .widget_recent_entries ul {
    margin: 0;
    padding: 0;
}
aside#sidebar .widget_categories ul li,
aside#sidebar .widget_archive ul li,
aside#sidebar .widget_recent_entries ul li {
    border-bottom: rgba(186,158,116,.50) solid 1px;
    list-style: none;
    line-height: normal;
    margin: 0;
}
aside#sidebar .widget_categories ul li a,
aside#sidebar .widget_archive ul li a,
aside#sidebar .widget_recent_entries ul li a {
    align-items: center;
    background-color: transparent;
    color: #333;
    display: flex;
    padding: 1rem 0;
    text-decoration: none;
}
aside#sidebar .widget_categories ul li a:hover,
aside#sidebar .widget_archive ul li a:hover,
aside#sidebar .widget_recent_entries ul li a:hover {
    color: rgba(186,158,116,1.00);
}
aside#sidebar .widget_categories ul li a::before,
aside#sidebar .widget_archive ul li a::before,
aside#sidebar .widget_recent_entries ul li a::before {
    color: rgba(186,158,116,1.00);
    content: "\e5cc";
    font-family: 'Material Icons';
    padding: 0 .5rem 0 0;
}
/*お知らせ 特定カテゴリのみの新着表示*/
aside#sidebar .cat-post-widget ul {
    margin: 0;
    padding: 0;
}
aside#sidebar .cat-post-widget ul li {
    border-bottom: rgba(186,158,116,.50) solid 1px;
    list-style: none;
    line-height: normal;
    margin: 0;
    padding: 0;
}
aside#sidebar .cat-post-widget ul li>div {
    margin: 0;
}
aside#sidebar .cat-post-widget ul li>div a {
    align-items: center;
    background-color: transparent;
    color: #333;
    display: flex;
    padding: 1rem 0;
    text-decoration: none;
}
aside#sidebar .cat-post-widget ul li>div a:hover {
    color: rgba(186,158,116,1.00);
}
aside#sidebar .cat-post-widget ul li>div a::before {
    color: rgba(186,158,116,1.00);
    content: "\e5cc";
    padding: 0 .5rem 0 0;
}

/*お知らせ アーカイブのドロップダウン表示*/
aside#sidebar ul.widget-box .widget_archive h3 {
    margin: 0 0 1rem;
}
aside#sidebar ul.widget-box .widget_archive select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='2' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 12px;
    border: 1px solid #ddd;
    border-radius: .25rem;
    color: #333;
    font-size: 1rem;
    max-width: 300px;
    padding: .5rem 1.5rem .5rem 1rem;
    transition: border-color 0.3s, box-shadow 0.3s;
    width: 100%;
}
aside#sidebar ul.widget-box .widget_archive select:hover {
    border-color: rgba(186,158,116,.50);
}
aside#sidebar ul.widget-box .widget_archive select:focus {
    border-color: rgba(186,158,116,.50);
    box-shadow: 0 0 0 3px rgba(186,158,116,.10);
    outline: none;
}

/*検索*/
aside#sidebar .widget-box li.widget-container.widget_search {
    margin: 2rem 0 3rem;
}


/* フッタ footer id="footer" #footer
---------------------------------------------------- */
#footer {
    background-color: var(--beige);
    padding: 0;
    width: 100%;
}
/* 上部コンテナ（左右2カラムにセパレート） */
#footer .footer-container {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
    padding: 2rem;
}
/* --- 左側：施設情報エリア --- */
#footer .footer-info-block {
    color: var(--text-gray);
    font-size: 14px;
    line-height: 1.8;
    max-width: 450px;
}
#footer .footer-logo {
    font-size: 20px;
    font-weight: bold;
    color: var(--text-gray);
    margin-bottom: 15px;
}
#footer .footer-address {
    margin-bottom: 8px;
    margin-top: 0;
}
#footer .footer-tel {
    margin-bottom: 4px;
    margin-top: 0;
}
#footer .tel-link {
    margin-right: 15px;
    display: inline-block;
}
#footer .tel-link::before {
    content: "\f095";
    font-family: "FontAwesome";
    margin-right: 5px;
    color: var(--mid-green);
}
#footer .footer-fax {
    margin-bottom: 25px;
    margin-top: 0;
}
/* 緑のお問い合わせボタン */
#footer .footer-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background-color: var(--mid-green);
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    text-decoration: none;
    width: 260px;
    height: 55px;
    transition: background-color 0.3s ease;
}
#footer .footer-cta-btn:hover {
    background-color: var(--deep-green);
}
#footer .footer-cta-btn::before {
    content: "\f0e0";
    font-family: "FontAwesome";
    font-size: 24px;
    color: #fff;
}

/* --- 右側：ナビゲーションメニュー（3カラム） --- */
#footer .footer-nav-block {
    padding: 0;
    flex: 1;
    box-sizing: border-box;
}
/* 一本化したulの調整（CSS Gridでカンプ通りの格子状にする） */
#footer .footer-nav-block #menu-f-navigation {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    list-style: none;
    margin: 0;
    padding: 0;
}
#footer .footer-nav-block #menu-f-navigation::after {
    content: "";
    display: block;
    height: 0;
    width: 30%;
}
#footer .footer-nav-block #menu-f-navigation li {
    border-bottom: 1px dashed #ccc; 
    box-sizing: border-box;
    width: 30%;
}
#footer .footer-nav-block #menu-f-navigation li:nth-child(-n+3) {
    border-top: 1px dashed #ccc; 
}
#footer .footer-nav-block #menu-f-navigation li a {
    display: flex;
    align-items: center;
    justify-content: left; 
    padding: 1rem .5rem;
    color: #333;
    font-size: 0.9rem;
    text-decoration: none;
    height: 100%;
    box-sizing: border-box;
    position: relative;
}
#footer .footer-nav-block #menu-f-navigation li.staff-only a {
    color: rgba(94,172,60,1.00);
    font-weight: bold;
}
#footer .footer-nav-block #menu-f-navigation li a::before {
    font-family: "FontAwesome", sans-serif;
    content: "\f105";
    display: block;
    font-weight: bold;
    padding: 0 .5rem;
}
#footer .footer-nav-block #menu-f-navigation li a:hover {
    color: var(--deep-green);
    text-decoration:none;
}

/* --- 最下部：コピーライト ＆ トップへ戻る ＆ 5pxボーダー --- */
#footer .footer-bottom {
    background-color: var(--beige);
    padding: 1rem 2rem;
    border-bottom: 5px solid var(--deep-green);
    box-sizing: border-box;
}

#footer .footer-bottom-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}

#footer .copyright {
    font-size: .875rem;
    color: #666;
    margin: 0;
}

/* トップへ戻るボタン（To Top） */
#footer .to-top-btn {

        position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 999;

    display:flex;
    align-items:center;
    justify-content:center;

    width:45px;
    height:45px;

    background-color:var(--mid-green);
    border-radius:50%;
    text-decoration:none;
    transition:opacity .3s ease;
}

#footer .to-top-btn:hover {
    opacity: 0.7;
}

/* 緑色の「ヘ」の字型矢印 */
#footer .arrow-up {
    display: block;
    width: 16px;
    height: 16px;
    border-top: 3px solid #FFF;
    border-left: 3px solid #FFF;
    transform: rotate(45deg);
    margin-top: 6px;
}


/* ログイン時表示「編集」ボタンスタイル .post-edit-link
---------------------------------------------------- */
.post-edit-link {
    /*ログイン時の編集ボタン非表示*/
    display: none;
}


@media(min-width:1921px) {
    body:not(.page-template-front-page-pre) {
        background-size: 100vw auto;
    }
}

@media(max-width:1366px) {

    /* ヘッダ header id="header" #header
---------------------------------------------------- */
    /*ヘッダラップ*/
    #header .header-wrap {
        padding: 10px;
    }



    /*サイトタイトル（テキスト）*/
    #site-title a h1 {
        color: #333;
        font-size: 1rem;
    }

    /*ヘッダコンテンツ*/
    #header-contents {
        padding: .5rem;
    }

    /*ヘッダコンテンツ - グローバルナビゲーション*/
    #menu {
        padding: 0 .5rem 0 0;
    }

    #menu ul li {
        margin: .25rem .5rem;
    }

    #menu ul li a {
        font-size: .875rem;
    }
}

@media(max-width:1260px) {
    /* ヘッダ header id="header" #header
---------------------------------------------------- */
    #header {
        height: 80px;
    }
    #header::after {
        background-size: auto 100%;
    }
    /*ヘッダラップ*/
    #header .header-wrap {
        background-color: #fff;
        box-sizing: border-box;
        height: 100%;
        padding: 0 20px;
    }
    /*ヘッダコンテンツ*/
    #header-contents {
        align-items: center;
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
        padding: 0 ;
    }
    /*ヘッダラップ - サイトロゴ・サイトタイトル*/
    #site-title {
        border-right: none;
        margin: 0;
        width: auto;
        z-index: 9999;
    }
    #site-title a {
        padding: 1rem;
    }
    /*サイトロゴ（画像）*/
    #site-title a #logo-container img {
        height: 50px;
    }
    /* 電話番号エリアを非表示 */
    .header-wrap #header-contents .tel-wrap  {
        display: none;
    }
    
    /* ナビゲーションメニュー ----- */
    #menu {
        background-color: rgba(0, 0, 0, 0);
        display: block;
        height: auto;
        margin: 0;
        padding: 0;
        position: static;
            left: 0;
            top: 0;
        transition: .15s;
        width: auto;
        z-index: 9998;
    }
    /*SP用メニューアイコン（OPEN・CLOSE共通）*/
    #menu .menu-toggle {
        position: static;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 50px;
        height: 50px;
        margin: 0 1rem 0 0;
        padding: 0;
        background: none;
        border: none;
        line-height: 1;
    }
    #menu .menu-icon {
        align-items: center;
        display: flex;
        font-size: 1rem;
        height: 100%;
        justify-content: center;
        width: auto;
    }
    #menu .menu-icon::before {
        line-height: 1;
    }
    #menu .menu-icon::before {
        color: var(--mid-green);
        content: '\e5d2';
        display: inline;
        font-family: 'Material Icons';
        font-size: 2.4rem;
        line-height: 1;
    }
    /*SP用メニューアイコン（OPEN時）*/
    #menu.toggled .menu-toggle {
        background-color: var(--mid-green);
    }
    #menu.toggled .menu-icon::before {
        color: #fff;
        content: '\e5cd';
        font-family: 'Material Icons';
    }
    /*SP用メニュー（OPEN・CLOSE共通）*/
    #menu div:first-of-type {
        width: 100%;
    }
    #menu .menu-g-navigation-container {
        background-color: var(--mid-green);
        box-sizing: border-box;
        pointer-events: none;      
        position: fixed;
            top: 80px;
            left: 0;
        height: calc(100vh - 80px );
        opacity: 0;                
        overflow-y: auto;
        padding: 1rem;
        transition: opacity 0.4s ease; 
        width: 100%;
        z-index: 9999;
    }
    /*SP用メニュー（OPEN時）*/
    #menu.toggled .menu-g-navigation-container {
        opacity: 1;
        overflow-y: auto;
        pointer-events: all;
        width: 100%;
        z-index: 9999;
    }
    /*SP用メニュー ナビゲーション （OPEN時）*/
    #menu.toggled .menu-g-navigation-container ul {
        flex-wrap: wrap;
    }
    #menu.toggled .menu-g-navigation-container ul li {
        width: 48%;
    }
    #menu.toggled .menu-g-navigation-container ul li a {
        color: #fff;
        display: block;
        padding: 15px 0;
        font-size: 1.1rem;
        font-weight: bold;
        text-decoration: none;
    }
    #menu.toggled ul li {
        border-bottom: #fff solid 1px;
        margin: 0 0 1rem;
        padding: 0 0 1rem;
        width: 100%
    }
    #menu.toggled ul li {
        position: relative;
    }
    #menu.toggled ul li a {
        background-color: transparent;
        color: #fff;
        display: block;
        font-size: 1rem;
        height: 100%;
        line-height: auto;
        margin: 0;
        padding: 0;
        text-align: left;
        width: 100%;
    }
    #menu.toggled ul li a::before {
        content: '\e5df';
        font-family: 'Material Icons';
        padding: 0 .25rem 0 0;
    }
    #menu.toggled ul li a::after {
        display: none;
    }
    /*SP用電話・ボタン*/
    #menu.toggled .tel-wrap.sp {
        align-items: stretch;
        background-color: rgba(255,255,255,1.00);
        display: flex;
        height: auto;
        justify-content: space-around;
        margin: 1rem 0;
        padding: 1rem;
    }
    #menu.toggled .tel-wrap.sp > div{
        position: relative;
        width: 30%;
    }
    #menu.toggled .tel-wrap.sp .tel-wrap-in,
    #menu.toggled .tel-wrap.sp .contact-btn-area {
        align-items: center;
        background-color: rgba(223,238,216,1.00);
        border-left: none;
        border-radius: .5rem;
        display: flex;
        flex-direction: column;
        height: auto;
        justify-content: center;
        padding: .5rem;
    }
    #menu.toggled .tel-wrap.sp .tel-wrap-in a {
        color: rgba(94,172,60,1.00);
    }
    #menu.toggled .tel-wrap.sp div .contact-label {
        color: #4da53c;
        font-size: 14px;
        font-weight: bold;
    }
    #menu.toggled .tel-wrap.sp div .contact-btn {
        align-items: center;
        display: flex;
        justify-content: center;
        margin: .5rem;
        width: 100%;
    }
    #menu.toggled .tel-wrap.sp > div a {
        margin: 0;
        padding: 0;
        position:unset;
        text-align: center;
    }
    #menu.toggled .tel-wrap.sp > div a::after {
        background-color:rgba(0,0,0,0);
        content:"";
        pointer-events:auto;
        position:absolute;
            top:0;
            right:0;
            bottom:0;
            left:0;
        z-index:1;
    }

    /* コンテナ div id="container" #container
---------------------------------------------------- */
    /*メインコンテンツ - wrapp */
    .container-wrap {
        padding: 0;
    }
    /*メインコンテンツ - サブヘッダ*/
    #sub-header {
        width: 100%;
    }
    #sub-header .sub-header-wrap {
        width: 90%;
    }
    /*メインコンテンツ - パンくずナビ*/
    .breadcrumbs {
        width: 100%;
    }
    #container {
        width: 90%;
    }
    /*メインコンテンツ - メインカラム*/
    main.content {
        padding: 0 0 2rem 2%;
        width: 75%;
    }
    /*メインコンテンツ - サイドバー*/
    aside#sidebar {
        width: 25%;
    }
}

@media(max-width:1024px) {
    /* PC/SP切り替え */
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    /* コンテナ div id="container" #container
---------------------------------------------------- */
    #container {
        margin: 5% auto;
        padding: 0;
    }

    /*メインコンテンツ - サブヘッダ*/
    #sub-header {
        background-position: center left;
    }
    /*メインコンテンツ - サブヘッダ - サブヘッダ見出し*/
    #sub-header .sub-header-title {
        align-items: center;
        display: flex;
        padding: 50px 1.5rem;
    }

    #sub-header .sub-header-title h2 {
        font-size: 1.5rem;
    }

    #sub-header .sub-header-title .slag {
        font-family: 'Poppins', sans-serif;
        font-size: .75rem;
    }

    /*メインコンテンツ - メインカラム*/
    main.content {
        margin: 0 0 2rem;
        padding: .5rem;
        width: 100%;
    }

    /*メインコンテンツ - メインカラム - 固定ページ最上の親ページのみメインカラム100%*/
    body.page-parent.page-child main.content {
        /*子ページを持つ親（body.page-parent.page-child）の場合メインカラム75%*/
        padding: 0;
        width: 100%;
    }

    /*メインコンテンツ - サイドバー*/
    aside#sidebar {
        background-color: rgba(248,244,230,1.00);
        border-top: none;
        padding: 1rem;
        width: 100%;
    }
/* フッタ footer id="footer" #footer
---------------------------------------------------- */
    /* --- 左側：施設情報エリア --- */
    #footer .footer-info-block {
        max-width: 320px;
    }

}

@media screen and (max-width: 782px) {
    html #wpadminbar {
        position: fixed;
    }
    /*ログイン時のアドミンバー表示調整*/
    /*
    body.logged-in #header {
            top: 46px;
    }
    */
    #wp-admin-bar-my-account {
        line-height: 80%;
    }
    body.logged-in #menu.toggled {
        top: 46px;
    }
}

@media(max-width:768px) {

    /* 共通要素の上書き
    ---------------------------------------------------- */
    h1 {
        font-size: 1.5rem;
    }

    h2 {
        font-size: 1.25rem;
    }

    h3 {
        font-size: 1.125rem;
    }

    h4 {
        font-size: 1rem;
    }

    h5 {
        font-size: 1rem;
    }

    h6 {
        font-size: 1rem;
    }

    .page .content p,
    .single-post .content p {
        line-height: 160%;
    }
    
    /* ヘッダ header id="header" #header
---------------------------------------------------- */
    #menu ,
    #menu.toggled {
        width: auto;
    }
    #menu.toggled ul {
        display: flex;
    }

    /* #footer フッターの調整
    ---------------------------------------------------- */
    #footer .footer-container {
        flex-direction: column;
        gap: 40px;
    }
    #footer .footer-info-block {
        max-width: 100%;
        text-align: center;
        margin: auto;
        order: 2;
    }
    #footer .footer-cta-btn {
        width: 100%;
        max-width: 340px;
    }
    #footer .footer-nav-block {
        display: flex;             
        flex-direction: row;       
        flex-wrap: wrap;           
        width: 100%;
        gap: 20px 4%;
        order: 1;
        padding: 0;
    }
    /* --- 右側：ナビゲーションメニュー（3カラム） --- */
    #footer .footer-nav-block #menu-f-navigation::after {
        display: none;
    }
    #footer .footer-nav-block #menu-f-navigation li {
        width: 48%;
    }
    #footer .footer-nav-block #menu-f-navigation li:nth-child(-n+2) {
        border-top: 1px dashed #ccc; 
    }
    #footer .footer-nav-block #menu-f-navigation li:nth-child(3) {
        border-top: none; 
    }
    #footer .footer-bottom-inner {
        flex-direction: column-reverse;
        gap: 20px;
        text-align: center;
    }
    #footer .footer-nav-block #menu-f-navigation li.staff-only {
        width: 100%;
    }
    #footer .footer-nav-block #menu-f-navigation li.staff-only a {
        justify-content: center;
    }
    #footer .to-top-btn{
        width:40px;
        height:40px;

        right:15px;
        bottom:15px;
    }
}

@media(max-width:767px) {}

@media(max-width:576px) {

    /* ヘッダ header id="header" #header
---------------------------------------------------- */
    #header .header-wrap {
        padding: 0;
    }
    #site-title {
        margin: 0 ;
    }
    #menu.toggled .menu-g-navigation-container ul {
        flex-direction: column;
    }
    #menu.toggled .menu-g-navigation-container ul li {
        margin: 0 0 .5rem;
        padding: 0 0 .5rem;
        width: 100%;
    }
    #menu.toggled .menu-g-navigation-container ul li a {
        padding: .5rem 0;
        font-size: .875rem;
    }
    #menu.toggled .tel-wrap.sp {
        flex-direction: column;
    }    
    #menu.toggled .tel-wrap.sp > div {
        margin: 0 0 .5rem;
        width: 100%;
    }    
    #menu.toggled .tel-wrap.sp > div .tel-num {
        align-items: center;
        display: flex;
        flex-direction: row;
    }
    #menu.toggled .tel-wrap.sp div .contact-btn {
        background-color: #69b045;
        border-radius: .5rem;
    }    

    /* コンテナ div id="container" #container
---------------------------------------------------- */
    /*メインコンテンツ - サブヘッダ - サブヘッダ見出し*/
    #sub-header {
        background-position:  center left;
    }
    /*メインコンテンツ - サブヘッダ - サブヘッダ見出し*/
    #sub-header .sub-header-title {
        align-items: center;
        flex-direction: column;
    }
    #sub-header .sub-header-title::before {
        height: 20px;
        margin: 0 0 1rem 0;
        width: 1px;
    }
    #sub-header .sub-header-title h2 {
        font-size: 1.5rem;
    }

    #sub-header .sub-header-title h2::after {
        display: none;
    }

    /* フッタ footer id="footer" #footer
---------------------------------------------------- */
    #footer .footer-container {
        padding: 2rem 1rem;
    }
    /*フッタ - グループリンク*/
    #group-link {
        padding: 1rem;
    }

    /*フッタ - フッタナビ*/
    #footer-nav .menu {
        padding: 1rem 0 2rem;
    }
    #footer .footer-nav-block #menu-f-navigation li {
        width: 50%;
    }    
    #footer .footer-nav-block #menu-f-navigation li:nth-child(odd) {
        border-right: 1px dashed #ccc;
    }    
    #footer .footer-nav-block #menu-f-navigation li.staff-only {
        border-right: none;
    }
}

@media(max-width:360px) {

    /* コンテナ div id="container" #container
---------------------------------------------------- */
    /*メインコンテンツ - パンくずナビ*/
    .breadcrumbs {
        display: none;
    }
}