@charset "UTF-8";
/*
Theme Name: 旭仁福祉会の子テーマ
Template: kyokujin
Theme URI: https://kyokujinfukushikai.jp/sirayuri/,https://kyokujinfukushikai.jp/asahimachi/
Author: 能登印刷株式会社
Author URI: https://www.notoinsatu.co.jp/
Description: 旭仁福祉会の子テーマ
*/
@import url("https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.css");
/*--------------------------------------------------------------
mixins
--------------------------------------------------------------*/
.forpc { display: block !important; }
@media screen and (max-width: 600px) { .forpc { display: none !important; } }

.formb { display: none !important; }
@media screen and (max-width: 768px) { .formb { display: block !important; } }

.innerbox { max-width: 960px; margin: 0 auto; padding: 0; }
@media screen and (max-width: 960px) { .innerbox { max-width: 94%; margin: 0 auto; } }

.list-none { margin: 0; padding: 0 !important; list-style: none; }

.ofi-cover { object-fit: cover; font-family: "object-fit: cover"; }

.ofi-contain { object-fit: contain; font-family: "object-fit: contain"; }

.ofi-none { object-fit: none; font-family: "object-fit: none"; }

/*--------------------------------------------------------------
keyframes
--------------------------------------------------------------*/
@keyframes fadeIn { 0% { opacity: 0; }
  100% { opacity: 1; } }
@keyframes fadeInUP { 0% { opacity: 0; transform: translatey(100%); }
  100% { opacity: 1; transform: none; } }
/*--------------------------------------------------------------
共通
--------------------------------------------------------------*/

/* Links
----------------------------------------------------------------- */
nav a::before, nav a::after, .entry-content a::before, .entry-content a::after, .side-nav a::before, .side-nav a::after, .ft-sitemap a::before, .ft-sitemap a::after { padding: 0 5px; display: inline-block; vertical-align: middle; color: #9a2916; text-decoration: none !important; font-family: "Font Awesome 7 Free"; font-weight: 900; }

.ft-sitemap a::before, .ft-sitemap a::after { vertical-align: top; }

.site-link[target="_blank"]:after, .entry-content a[target="_blank"]:after, .side-nav a[target="_blank"]:after, .ft-sitemap a[target="_blank"]:after { content: '\f35d'; }

.file-link[href$=".pdf"]:after, .file-link[href*=".pdf#page="]:after, .entry-content a[href$=".pdf"]:after, .entry-content a[href*=".pdf#page="]:after, .side-nav a[href$=".pdf"]:after, .side-nav a[href*=".pdf#page="]:after, .ft-sitemap a[href$=".pdf"]:after, .ft-sitemap a[href*=".pdf#page="]:after { content: '\f1c1'; }
.file-link[href$=".doc"]:after, .file-link[href$=".docx"]:after, .entry-content a[href$=".doc"]:after, .entry-content a[href$=".docx"]:after, .side-nav a[href$=".doc"]:after, .side-nav a[href$=".docx"]:after, .ft-sitemap a[href$=".doc"]:after, .ft-sitemap a[href$=".docx"]:after { content: '\f1c2'; }
.file-link[href$=".xls"]:after, .file-link[href$=".xlsx"]:after, .entry-content a[href$=".xls"]:after, .entry-content a[href$=".xlsx"]:after, .side-nav a[href$=".xls"]:after, .side-nav a[href$=".xlsx"]:after, .ft-sitemap a[href$=".xls"]:after, .ft-sitemap a[href$=".xlsx"]:after { content: '\f1c3'; }

.page-link:after, .site-in:after { content: '\f101'; }

/* アイコンなし / 画像リンク */
.post-list a:after, .imagelink:after { content: "" !important; padding: 0 !important; }

body a {
    color: #3b3b3b;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
  }
  body a:focus {
    outline: none;
  }
  body a:hover, body a:active {
    outline: 0;
  }
  body a[href^="tel:"] {
    cursor: default;
    color: inherit;
    font-weight: bold !important;
  }
  
  .entry-content a {
    text-decoration: underline;
  }
  .entry-content a::before, .entry-content a::after {
    padding: 0 5px;
    display: inline-block;
    vertical-align: baseline;
    color: #1E6C2F;
    text-decoration: none !important;
    font-family: "Font Awesome 7 Free";
    font-weight: 500;
  }
  .entry-content a[target=_blank]::after {
    background: none !important;
    content: "\f2d2" !important;
    font-weight: normal;
    width: auto !important;
    height: auto !important;
  }
  .entry-content a[href$=".pdf"]::after, .entry-content a[href*=".pdf#page="]::after {
    background: none !important;
    content: "\f1c1" !important;
    width: auto !important;
    height: auto !important;
  }
  .entry-content a[href$=".doc"]::after, .entry-content a[href$=".docx"]::after {
    background: none !important;
    content: "\f1c2" !important;
    width: auto !important;
    height: auto !important;
  }
  .entry-content a[href$=".xls"]::after, .entry-content a[href$=".xlsx"]::after {
    background: none !important;
    content: "\f1c3" !important;
    width: auto !important;
    height: auto !important;
  }
  .entry-content a[href$=".zip"]::after {
    background: none !important;
    content: "\f1c6" !important;
    width: auto !important;
    height: auto !important;
  }
  .entry-content a[href^="mailto:"]::before {
    background: none !important;
    content: "\f0e0";
    width: auto !important;
    height: auto !important;
  }
  .entry-content a[href^="tel:"]::before {
    background: none !important;
    content: "\f095" !important;
    font: var(--fa-font-solid);
    width: auto !important;
    height: auto !important;
  }

/* Childs
----------------------------------------------------------------- */
.childs ul { margin: 0; padding: 0 !important; list-style: none; margin: 100px auto 0; padding: 0 !important; }
.childs li { margin: 0 0 15px; padding: 0; }
.childs a { display: block; height: 100%; padding: 10px 20px; border: 1px solid #ccc; text-decoration: none !important; }
.childs a::before, .childs a::after { padding: 0 5px; display: inline-block; vertical-align: middle; color: #9a2916; text-decoration: none !important; font-family: "Font Awesome 7 Free"; font-weight: 900; }
.childs a::before { padding: 0 5px 0 0 !important; content: '\f14a'; }
.childs a::after { display: none !important; }
.childs a strong { font-weight: 500 !important; }
.childs a i { margin: 0 0 0 5px; color: #9a2916; }

.tobira { margin: 0 auto; }
.tobira .c-page { margin: 0 0 30px; width: 32%; }
.tobira .c-page a { text-decoration: none; }
.tobira .c-page a::after { display: none !important; }
.tobira a { display: block; }
.tobira a img { object-fit: cover; font-family: "object-fit: cover"; width: 100%; height: 180px; vertical-align: bottom; }
.tobira strong { display: block; padding: 5px 10px; font-size: 1.6rem; font-weight: 700; }
.tobira i { margin: 0 0 0 5px; color: #9a2916; }
.tobira i.fa-check-square { margin: 0 5px 0 0 !important; color: #9a2916; }
.tobira ul { padding: 0 0 0 2.5em !important; }
.tobira ul li { color: #9a2916; }
.tobira ul a { text-decoration: underline; }
@media screen and (max-width: 480px) { .tobira .c-page { margin: 0 0 20px; }
  .tobira strong { padding: 15px 0; }
  .tobira ul { padding: 0; }
  .tobira ul li { line-height: 1.3; margin: 0 0 5px; } }

/* Lists / Icon
----------------------------------------------------------------- */
.fa-1-5x {
  font-size: 1.5em;
}

/* Definition list */
.descript3 dt { width: 3.5em; }
.descript3 dd { padding-left: 5em; }

.descript4 dt { width: 4.5em; }
.descript4 dd { padding-left: 6em; }

.descript5 dt { width: 5.5em; }
.descript5 dd { padding-left: 7em; }

.descript6 dt { width: 6.5em; }
.descript6 dd { padding-left: 8em; }

.descript7 dt { width: 7.5em; }
.descript7 dd { padding-left: 9em; }

.descript8 dt { width: 8.5em; }
.descript8 dd { padding-left: 10em; }

.descript9 dt { width: 9.5em; }
.descript9 dd { padding-left: 11em; }

.descript10 dt { width: 10.5em; }
.descript10 dd { padding-left: 12em; }

.descript11 dt { width: 11.5em; }
.descript11 dd { padding-left: 13em; }

.descript12 dt { width: 12.5em; }
.descript12 dd { padding-left: 14em; }

.descript13 dt { width: 13.5em; }
.descript13 dd { padding-left: 15em; }

.descript14 dt { width: 14.5em; }
.descript14 dd { padding-left: 16em; }

.descript15 dt { width: 15.5em; }
.descript15 dd { padding-left: 17em; }

.descript16 dt { width: 16.5em; }
.descript16 dd { padding-left: 18em; }

.descript17 dt { width: 17.5em; }
.descript17 dd { padding-left: 19em; }

.descript18 dt { width: 18.5em; }
.descript18 dd { padding-left: 20em; }

.descript19 dt { width: 19.5em; }
.descript19 dd { padding-left: 21em; }

.descript20 dt { width: 20.5em; }
.descript20 dd { padding-left: 22em; }

.descript23 dt { width: 23.5em; }
.descript23 dd { padding-left: 25em; }

.descript25 dt { width: 25.5em; }
.descript25 dd { padding-left: 27em; }

.descript40 dt { width: 40.5em; }
.descript40 dd { padding-left: 42em; }

.descript3, .descript4, .descript5, .descript6, .descript7, .descript8, .descript9, .descript10, .descript11, .descript12, .descript13, .descript14, .descript15, .descript16, .descript17, .descript19, .descript20, .descript23, .descript25, .descript40 { overflow: hidden; }
.descript3 dt, .descript4 dt, .descript5 dt, .descript6 dt, .descript7 dt, .descript8 dt, .descript9 dt, .descript10 dt, .descript11 dt, .descript12 dt, .descript13 dt, .descript14 dt, .descript15 dt, .descript16 dt, .descript17 dt, .descript19 dt, .descript20 dt, .descript23 dt, .descript25 dt, .descript40 dt { font-weight: 600; }
.descript3 dd, .descript4 dd, .descript5 dd, .descript6 dd, .descript7 dd, .descript8 dd, .descript9 dd, .descript10 dd, .descript11 dd, .descript12 dd, .descript13 dd, .descript14 dd, .descript15 dd, .descript16 dd, .descript17 dd, .descript19 dd, .descript20 dd, .descript23 dd, .descript25 dd, .descript40 dd { margin: 0 0 .5em; }
@media screen and (max-width: 960px) { .descript3 dt, .descript4 dt, .descript5 dt, .descript6 dt, .descript7 dt, .descript8 dt, .descript9 dt, .descript10 dt, .descript11 dt, .descript12 dt, .descript13 dt, .descript14 dt, .descript15 dt, .descript16 dt, .descript17 dt, .descript19 dt, .descript20 dt, .descript23 dt, .descript25 dt, .descript40 dt { width: 100%; }
  .descript3 dd, .descript4 dd, .descript5 dd, .descript6 dd, .descript7 dd, .descript8 dd, .descript9 dd, .descript10 dd, .descript11 dd, .descript12 dd, .descript13 dd, .descript14 dd, .descript15 dd, .descript16 dd, .descript17 dd, .descript19 dd, .descript20 dd, .descript23 dd, .descript25 dd, .descript40 dd { overflow: hidden; width: 100%; padding-left: 0; }
  .descript3 dd:last-child, .descript4 dd:last-child, .descript5 dd:last-child, .descript6 dd:last-child, .descript7 dd:last-child, .descript8 dd:last-child, .descript9 dd:last-child, .descript10 dd:last-child, .descript11 dd:last-child, .descript12 dd:last-child, .descript13 dd:last-child, .descript14 dd:last-child, .descript15 dd:last-child, .descript16 dd:last-child, .descript17 dd:last-child, .descript19 dd:last-child, .descript20 dd:last-child, .descript23 dd:last-child, .descript25 dd:last-child, .descript40 dd:last-child { margin-bottom: 0 !important; }
  .descript3 dd ul, .descript3 dd ol, .descript4 dd ul, .descript4 dd ol, .descript5 dd ul, .descript5 dd ol, .descript6 dd ul, .descript6 dd ol, .descript7 dd ul, .descript7 dd ol, .descript8 dd ul, .descript8 dd ol, .descript9 dd ul, .descript9 dd ol, .descript10 dd ul, .descript10 dd ol, .descript11 dd ul, .descript11 dd ol, .descript12 dd ul, .descript12 dd ol, .descript13 dd ul, .descript13 dd ol, .descript14 dd ul, .descript14 dd ol, .descript15 dd ul, .descript15 dd ol, .descript16 dd ul, .descript16 dd ol, .descript17 dd ul, .descript17 dd ol, .descript19 dd ul, .descript19 dd ol, .descript20 dd ul, .descript20 dd ol, .descript23 dd ul, .descript23 dd ol, .descript25 dd ul, .descript25 dd ol, .descript40 dd ul, .descript40 dd ol { overflow: hidden; } }

/* Frames
----------------------------------------------------------------- */
/* メモ */
.notes { margin: 1em 0; padding: 20px; background: #eee; font-size: 1.3rem; }
.notes .iconlist li::before, .notes .iconlist li::after { font-size: 1.3rem; }

.anchor-box { margin: 1em 0; padding: 15px; border: 3px solid #ddd; font-size: 1.3rem; background-color: rgba(255, 255, 255, 0.8); }
.anchor-box .iconlist li::before, .anchor-box .iconlist li::after { font-size: 1.3rem; }

/* 注目 */
.attention { margin: 1em 0; padding: 20px; border: 3px solid #d6002f; }

/* 説明（背景） */
.explain-bg { margin: 1em 0; padding: 20px; background: #ededed; }

.notes h2:first-child, .notes h3:first-child, .notes h4:first-child, .notes h5:first-child, .anchor-box h2:first-child, .anchor-box h3:first-child, .anchor-box h4:first-child, .anchor-box h5:first-child, .attention h2:first-child, .attention h3:first-child, .attention h4:first-child, .attention h5:first-child, .explanation h2:first-child, .explanation h3:first-child, .explanation h4:first-child, .explanation h5:first-child, .explain-bg h2:first-child, .explain-bg h3:first-child, .explain-bg h4:first-child, .explain-bg h5:first-child { margin-top: 0 !important; }
.notes p:last-child, .notes ul:last-child, .notes ol:last-child, .anchor-box p:last-child, .anchor-box ul:last-child, .anchor-box ol:last-child, .attention p:last-child, .attention ul:last-child, .attention ol:last-child, .explanation p:last-child, .explanation ul:last-child, .explanation ol:last-child, .explain-bg p:last-child, .explain-bg ul:last-child, .explain-bg ol:last-child { margin-bottom: 0 !important; }

ul .notes, ul .anchor-box, ul .attention, ul .explanation, ul .explain-bg, ol .notes, ol .anchor-box, ol .attention, ol .explanation, ol .explain-bg { margin: .5em 0; }

/* 説明 */
.explanation {
  background: #fff;
  border: 2px solid #3b3b3b;
  border-radius: 10px;
  margin: 1.5em 0;
  padding: 24px;
  position: relative;
}
.explanation.red {
  border-color: #c00;
}

/* フロー */
.flow .explanation {
  border: 2px solid #1E6C2F;
}
.flow .explanation + .explanation {
  margin-top: 35px;
}
.flow .explanation + .explanation::before {
  background: url("images/down-arrow.svg") no-repeat center/contain;
  content: "" !important;
  display: block;
  line-height: 1;
  position: absolute;
  top: -20px;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 25px;
  height: 25px;
}

/* タイムライン */
.timeline {
  padding: 0 0 0 35px;
}
@media screen and (max-width: 1023px) {
  .timeline {
    padding: 0 0 0 30px;
  }
}
.timeline > * > * {
  position: relative;
}
.timeline > * > *::after {
  background: #1E6C2F;
  content: "";
  display: block !important;
  position: absolute;
  left: -24px;
  top: -40px;
  bottom: 0;
  width: 2px;
  height: calc(100% + 120px);
}
@media screen and (max-width: 1023px) {
  .timeline > * > *::after {
    left: -22px;
    height: calc(100% + 90px);
  }
}
@media screen and (max-width: 781px) {
  .timeline > * > *::after {
    top: -25px;
    left: -20px;
    height: calc(100% + 100px);
  }
}
.timeline > * > *:has(h5)::after {
  left: -27px;
}
.timeline > * > *:last-child::after {
  display: none !important;
}
.timeline h3,
.timeline h4,
.timeline h5 {
  border-left: none !important;
  padding-left: 0 !important;
}
.timeline h3::before,
.timeline h4::before,
.timeline h5::before {
  display: none !important;
}
.timeline h3::after,
.timeline h4::after,
.timeline h5::after {
  background: #1E6C2F;
  border-radius: 999px;
  content: "";
  display: block;
  position: absolute;
  left: -35px !important;
  top: 0.1em;
  width: 1em;
  height: 1em;
}
@media screen and (max-width: 1023px) {
  .timeline h3::after,
  .timeline h4::after,
  .timeline h5::after {
    left: -30px !important;
  }
}
.timeline .wp-block-group-is-layout-flex h3,
.timeline .wp-block-group-is-layout-flex h4,
.timeline .wp-block-group-is-layout-flex h5 {
  margin: 0 !important;
}

/* ポイント */
.point {
  background: #fff;
  border: 2px solid #1E6C2F;
  border-radius: 10px;
  padding: 29px;
}

* + .point {
  margin-top: 40px;
}
  
  /* フレーム共通 */
  @media screen and (max-width: 1023px) {
    .explanation,
    .point {
      padding: 20px;
    }
  }
  .explanation > div > *:first-child,
  .point > div > *:first-child {
    margin-top: 0 !important;
  }
  .explanation > div > *:last-child,
  .point > div > *:last-child {
    margin-bottom: 0 !important;
  }


/* Parts
----------------------------------------------------------------- */
/* リード文 */
.lead { margin: .5em 0 1.5em; font-size: 2rem; font-family: "Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","Noto Sans JP","Yu Gothic Medium","Yu Gothic","Meiryo",sans-serif; color: #1E6C2F; line-height: 1.8; }

/* パンくず */
.breadcrumbs { font-size: 1.3rem; padding: 10px; }
@media screen and (max-width: 480px) { .breadcrumbs { padding: 10px 0; } }

/* ページナビ */
.pagination { padding: 30px 0; text-align: center; clear: both; font-size: 1.5rem; font-family: "Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","Noto Sans JP","Yu Gothic Medium","Yu Gothic","Meiryo",sans-serif; }
.wp-pagenavi { line-height: 3; }
.wp-pagenavi .current { background: #1E6C2F; border: 1px solid #fff !important; color: #fff; }
.wp-pagenavi a, .wp-pagenavi span { text-decoration: underline solid #1E6C2F 2.5px; padding: 5px 10px; margin: 0 2px; }

/* スマホ用table */
.table_wrap { overflow-x: auto; }
@media screen and (max-width: 480px) { .table_wrap { overflow-x: scroll; }
  .table_wrap table { white-space: nowrap; } }

.table_wrap::-webkit-scrollbar { height: 3px; }

.table_wrap::-webkit-scrollbar-track { margin: 0 2px; background: #ccc; -webkit-border-radius: 3px; border-radius: 3px; }

.table_wrap::-webkit-scrollbar-thumb { -webkit-border-radius: 3px; border-radius: 3px; background: #666; }

@media screen and (max-width: 480px) { .news-list li span.post-title { width: 100%; } }

/* クリック開閉 */
.op-btn { cursor: pointer; }

.op-cont { display: none; }

/*--------------------------------------------------------------
Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text { clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute !important; width: 1px; word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */ }
.screen-reader-text:focus { background-color: #f1f1f1; border-radius: 3px; -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); clip: auto !important; color: #21759b; display: block; font-size: 14px; font-size: 0.875rem; font-weight: 700; height: auto; left: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000; /* Above WP toolbar. */ }

/*--------------------------------------------------------------
Alignments
--------------------------------------------------------------*/
.alignleft { display: inline; float: left; margin: 0 1.5em 1em 0; }

.alignright { display: inline; float: right; margin: 0 0 1em 1.5em; }

.aligncenter { clear: both; display: block; margin-left: auto; margin-right: auto; }

@media screen and (max-width: 736px) { .alignleft, .alignright, .aligncenter { display: block; float: none; margin: 0 auto 1.5em; } }
/*--------------------------------------------------------------
Clearings
--------------------------------------------------------------*/
.clear:before, .clear:after, .entry-content:before, .entry-content:after, .pagination:before, .pagination:after { content: ""; display: table; table-layout: fixed; }

.clear:after, .entry-content:after, .pagination:after { clear: both; }

/*--------------------------------------------------------------
Typography
--------------------------------------------------------------*/
body, button, input, select, textarea { 
  color: #000;
  font-family:"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","Noto Sans JP","Yu Gothic Medium","Yu Gothic","Meiryo",sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
}

h1, h2, h3, h4, h5, h6 { clear: both; line-height: 1.3; }

h1 { font-size: 2.2rem; }

h2 { font-size: 2rem; }

h3 { font-size: 1.8rem; }

h4 { font-size: 1.6rem; }

h5, h6 { font-size: 1.6rem; font-weight: 600 !important; }

p {
  margin: 0;
  padding: 0;
}

.text-center {
  text-align: center !important;
}

.text-right {
  text-align: right;
}

/* Typography for Arabic Font */
html[lang="ja"] body, html[lang="ja"] button, html[lang="ja"] input, html[lang="ja"] select, html[lang="ja"] textarea 
{ font-family: "Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","Noto Sans JP","Yu Gothic Medium","Yu Gothic","Meiryo",sans-serif; }
html[lang="ja"] h1, html[lang="ja"] h2, html[lang="ja"] h3, html[lang="ja"] h4, html[lang="ja"] h5, html[lang="ja"] h6 { font-weight: 500; }
html[lang="ja"] * { letter-spacing: 0.3px; }

.no-decoration {
  background: none !important;
  border: none !important;
  padding: 0 !important;
}
.no-decoration::before, .no-decoration::after {
  display: none !important;
}

.wp-block-columns.last-item-bottom > *,
.wp-block-column.last-item-bottom {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.wp-block-columns.last-item-bottom > * > *:last-child,
.wp-block-column.last-item-bottom > *:last-child {
  margin-top: auto;
}
.wp-block-columns.last-item-bottom > * > *:nth-last-child(2),
.wp-block-column.last-item-bottom > *:nth-last-child(2) {
  margin-bottom: 15px;
}

.wp-block-columns.is-layout-flex {
  align-items: stretch !important;
}

.entry-content .flow .is-layout-flex {
  align-items: center;
}

.entry-content .flow-number {
  gap: 10px 15px;
  margin-top: 1.5em;
}
.entry-content .flow-number:has(h3) {
  margin-top: 45px;
}
.entry-content .flow-number:has(h4) {
  margin-top: 27px;
}
.entry-content .flow-number > * {
  border: 0;
  margin: 0 !important;
  padding: 0 !important;
}
.entry-content .flow-number > *::before, .entry-content .flow-number > *::after {
  display: none;
}
.entry-content .flow-number > *.flow-number-text {
  background: #1E6C2F;
  border-radius: 8px;
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: bold;
}
.entry-content .flow-number > *.flow-number-text:has(+ h3) {
  font-size: 2.2rem;
  min-width: 40px;
  height: 40px;
}
.entry-content .flow-number > *.flow-number-text:has(+ h4) {
  font-size: 2rem;
  min-width: 35px;
  height: 35px;
}
.entry-content .flow-number > *.flow-number-text:has(+ p) {
  min-width: 30px;
  height: 30px;
}

/*--------------------------------------------------------------
Forms
--------------------------------------------------------------*/
label { color: #333; display: block; font-weight: 500; margin-bottom: 0.5em; }

fieldset { margin-bottom: 1em; }

input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"] { color: #666; background: #fff; background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)); border: 1px solid #bbb; border-radius: 3px; display: block; padding: 0.7em; width: 100%; }

textarea { color: #666; background: #fff; background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)); border: 1px solid #bbb; border-radius: 3px; display: block; padding: 0.7em; width: 100%; }

input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="number"]:focus, input[type="tel"]:focus, input[type="range"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="time"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="color"]:focus { color: #222; border-color: #333; }

textarea:focus { color: #222; border-color: #333; }

select { border: 1px solid #bbb; border-radius: 3px; height: 3em; max-width: 100%; }

input[type="radio"], input[type="checkbox"] { margin-right: 0.5em; }
input[type="radio"] + label, input[type="checkbox"] + label { font-weight: 400; }

button { background-color: #222; border: 0; border-radius: 2px; -webkit-box-shadow: none; box-shadow: none; color: #fff; cursor: pointer; display: inline-block; font-size: 14px; font-size: 1.5rem; font-weight: 400; line-height: 1; padding: 1em 2em; text-shadow: none; -webkit-transition: background 0.2s; transition: background 0.2s; }

input[type="button"], input[type="submit"] { background-color: #222; border: 0; border-radius: 2px; -webkit-box-shadow: none; box-shadow: none; color: #fff; cursor: pointer; display: inline-block; font-size: 14px; font-size: 0.875rem; font-weight: 800; line-height: 1; padding: 1em 2em; text-shadow: none; -webkit-transition: background 0.2s; transition: background 0.2s; }
input + button { padding: 0.75em 2em; }
input + input[type="button"], input + input[type="submit"] { padding: 0.75em 2em; }

input[type="reset"], input[type="button"].secondary, input[type="reset"].secondary, input[type="submit"].secondary { background-color: #ddd; color: #222; }

button:hover, button:focus { background: #767676; }

input[type="button"]:hover, input[type="button"]:focus { background: #767676; }
input[type="submit"]:hover, input[type="submit"]:focus { background: #767676; }
input[type="reset"]:hover, input[type="reset"]:focus { background: #bbb; }

/* Placeholder text color -- selectors need to be separate to work. */
::-webkit-input-placeholder, :-moz-placeholder { color: #333; font-family: "Libre Franklin", "Helvetica Neue", helvetica, arial, sans-serif; }

::-moz-placeholder { color: #333; font-family: "Libre Franklin", "Helvetica Neue", helvetica, arial, sans-serif; opacity: 1; /* Since FF19 lowers the opacity of the placeholder by default */ }

:-ms-input-placeholder { color: #333; font-family: "Libre Franklin", "Helvetica Neue", helvetica, arial, sans-serif; }

/*--------------------------------------------------------------
Lists
--------------------------------------------------------------*/
ul, ol { margin: 0 0 1.5em; padding: 0; }

ul { list-style: disc; }

ol { list-style: decimal; }

li > ul, li > ol { margin-bottom: 0; margin-left: 1.5em; }

dl { margin: 0 0 1.5em; padding: 0; overflow: hidden; }

dt { font-weight: 700; float: left; clear: both; margin-right: 1.5em; }

dd { margin: 0 0 1em; }

ul.column2 {
  -webkit-column-count: 2;
     -moz-column-count: 2;
          column-count: 2;
}
@media screen and (max-width: 567px) {
  ul.column2 {
    -webkit-column-count: inherit;
       -moz-column-count: inherit;
            column-count: inherit;
  }
}
ul.column3 {
  -webkit-column-count: 3;
     -moz-column-count: 3;
          column-count: 3;
}
@media screen and (max-width: 767px) {
  ul.column3 {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
  }
}
@media screen and (max-width: 567px) {
  ul.column3 {
    -webkit-column-count: inherit;
       -moz-column-count: inherit;
            column-count: inherit;
  }
}

/* 丸 */
.entry-content ul > li:after {
    background: #1E6C2F;
    border-radius: 20px;
    display: block;
    position: absolute;
    top: 0.45em;
    left: 0.25em;
    content: "";
    width: 0.75em;
    height: 0.75em;
  }
  
  /* チェック */
  .entry-content ul.check > li:after {
    background: none !important;
    border-radius: 0;
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    content: "\f14a" !important;
    color: #1E6C2F;
    font-size: 1.1em !important;
    position: absolute;
    top: 0 !important;
  }
  
  /* 括弧付き数字 */
  .entry-content ol.bracket { 
    counter-reset: bracket-counter; 
  }
  .entry-content ol.bracket > li {
    counter-increment: bracket-counter;
  }
  .entry-content ol.bracket > li::before {
    background: none;
    color: #1E6C2F;
    content: "(" counter(bracket-counter) ")";
    font-size: 1em;
    font-weight: 500;
    top: inherit;
    left: 0;
    letter-spacing: 1px;
    line-height: inherit;
    padding: 0;
  }
  
  /* 半括弧付き数字 */
  .entry-content ol.closing-bracket { 
    counter-reset: closing-bracket-counter; 
  }
  .entry-content ol.closing-bracket > li {
    counter-increment: closing-bracket-counter;
  }
  .entry-content ol.closing-bracket > li::before {
    background: none;
    color: #1E6C2F;
    content: counter(closing-bracket-counter) ")";
    font-size: 1em;
    font-weight: 500;
    top: inherit;
    left: 0;
    letter-spacing: 1px;
    line-height: inherit;
    padding: 0;
  }
  
  /* 丸数字 */
  .entry-content ol.marusuuji { 
    counter-reset: marusuuji-counter; 
  }
  .entry-content ol.marusuuji > li {
    counter-increment: marusuuji-counter;
  }
  .entry-content ol.marusuuji > li::before {
    position: absolute;
    counter-increment: li 1;
    content: counter(marusuuji-counter) "";
    left: 0;
    top: 0.15em;
    color: #fff;
    width: 1.5em;
    height: 1.5em;
    font-size: 0.9em;
    text-align: center;
    border-radius: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-weight: bold;
    line-height: 1;
    background: #1E6C2F;
    padding: 0.25em 0;
    position: absolute;
  }
  
  /* アルファベット小文字 */
  .entry-content .lower-alpha {
    counter-reset: lower-alpha-counter 0;
    list-style-type: none;
    padding: 0;
  }
  .entry-content .lower-alpha > li {
    position: relative;
    padding-left: 2em;
  }
  .entry-content .lower-alpha > li::before {
    counter-increment: lower-alpha-counter 1;
    content: counter(lower-alpha-counter, lower-alpha) ".";
    position: absolute;
    left: 0;
  }
  
  /* アルファベット大文字 */
  .entry-content .upper-alpha {
    counter-reset: upper-alpha-counter 0;
    list-style-type: none;
    padding: 0;
  }
  .entry-content .upper-alpha > li {
    position: relative;
    padding-left: 2em;
  }
  .entry-content .upper-alpha > li::before {
    counter-increment: upper-alpha-counter 1;
    content: counter(upper-alpha-counter, upper-alpha) ".";
    position: absolute;
    left: 0;
  }
  
  /* 米印リスト */
  ul.kome > li::after {
    background: none !important;
    width: auto;
    height: auto;
    top: 0px !important;
    content: "※" !important;
    color: inherit !important;
    font-size: 1em !important;
    left: 3px !important;
  }
  
  /* 米印 */
  ol.kome {
    counter-reset: item;
    list-style-type: none;
    padding-left: 0 !important;
  }
  ol.kome > li {
    padding: 0 0 0 2.2em;
  }
  ol.kome > li::before {
    counter-increment: item;
    content: "※" counter(item) ".";
    padding: 0;
  }
  
  p.arrow, p.kome {
    position: relative;
    padding: 0 0 0 1.8em;
  }
  p.arrow:after, p.kome:after {
    content: "※" !important;
    font-size: 1em !important;
    position: absolute;
    left: 3px !important;
    top: 0 !important;
  }
  p.arrow:after {
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    content: "\f138" !important;
    color: #073b66;
    font-size: 1.1em !important;
    position: absolute;
    top: 0 !important;
  }
  p.kome.red {
    color: #c00 !important;
  }
  p.kome.red a {
    color: #c00 !important;
  }
  
  ul.kome.red li,
  p.kome.red::after {
    color: #c00 !important;
  }
  ul.kome.red li a,
  p.kome.red::after a {
    color: #c00 !important;
  }
  
  ul.kome.red li::after {
    color: #c00 !important;
  }
  ul.arrow {
    padding: 0 !important;
  }
  ul.arrow > li {
    position: relative;
    padding: 0 0 0 2em;
  }
  ul.arrow > li:after {
    content: "\f138";
    color: #073b66;
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    content: "\f138" !important;
    color: #073b66;
    font-size: 1.1em !important;
    position: absolute;
    left: 5px !important;
    top: 7px !important;
  }

/*--------------------------------------------------------------
Tables
--------------------------------------------------------------*/
.wp-block-columns .wp-block-flexible-table-block-table {
  margin: 0;
  padding: 5px 5px;
  background-color: #fff;
}

.wp-block-flexible-table-block-table {
  margin: 0;
  padding: 50px 100px;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .wp-block-flexible-table-block-table {
    padding: 25px 50px;
  }
}

@media screen and (max-width: 567px) {
  .wp-block-flexible-table-block-table {
    padding: 15px 25px;
  }
}

/* テーブル本体をリセット */
.entry-content figure.wp-block-flexible-table-block-table > table {
  border-collapse: collapse !important;
  width: 100%;
  background: #fff !important;
}

/* まず全セルの線をゼロに戻す */
.entry-content figure.wp-block-flexible-table-block-table > table th,
.entry-content figure.wp-block-flexible-table-block-table > table td {
  background: #fff !important;
  border: none !important;
  padding: 1em !important;
  text-align: left !important;
  vertical-align: top;
  line-height: 2;
}

/* 行の下線だけ付け直す */
.entry-content figure.wp-block-flexible-table-block-table > table thead th,
.entry-content figure.wp-block-flexible-table-block-table > table thead td,
.entry-content figure.wp-block-flexible-table-block-table > table tbody th,
.entry-content figure.wp-block-flexible-table-block-table > table tbody td {
  border-bottom: 1px solid #707070 !important;
}

/*--------------------------------------------------------------
Links
--------------------------------------------------------------*/
a { color: #000; text-decoration: none; -webkit-tap-highlight-color: transparent; }
a:focus { outline: none; }
a:hover, a:active { color: color-mix(in oklch, currentColor, white 30%); outline: 0; }
a[href^="tel:"] { cursor: default; }

/*--------------------------------------------------------------
Layout
--------------------------------------------------------------*/
html { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; font-size: 100%; font-size: 62.5%; }

* { /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */ -webkit-box-sizing: inherit; -moz-box-sizing: inherit; box-sizing: inherit; }
*:before, *:after { /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */ -webkit-box-sizing: inherit; -moz-box-sizing: inherit; box-sizing: inherit; }

body { background: #FFF9F0;}

html { height: 100%; }

.wrap { width: 100%; }

.container { position: relative; z-index: 20; width: 100%; height: 100%; overflow: hidden; }

.main-header { margin: 50px 0 0 10%;}

/* .site-content { max-width: 1920px; margin: 0 10%; } */

.op-cont { display: none; }

.overflow {
    overflow: hidden;
  }
  
  .nowrap {
    white-space: nowrap !important;
  }
  
  .mt0 {
    margin-top: 0 !important;
  }
  
  .mb0 {
    margin-bottom: 0 !important;
  }
  
  .indent {
    padding-left: 1em !important;
  }
  
  .imagelink {
    background: none !important;
  }
  .imagelink::after, .imagelink::before {
    display: none !important;
  }
  
  .entry-content img {
    display: block;
    max-width: 100%;
    height: auto;
  }
  .entry-content figcaption img {
    display: inline-block;
  }
  .entry-content .inline-block img {
    display: inline-block;
    vertical-align: middle;
  }
  .entry-content h2 > img,
  .entry-content h3 > img,
  .entry-content h4 > img,
  .entry-content h5 > img,
  .entry-content h6 > img,
  .entry-content p > img,
  .entry-content li > img,
  .entry-content a img {
    display: inline-block;
  }
  .entry-content h2 > img,
  .entry-content h3 > img,
  .entry-content h4 > img,
  .entry-content h5 > img,
  .entry-content h6 > img,
  .entry-content p > img,
  .entry-content li > img {
    vertical-align: sub;
  }
  .entry-content .wp-block-image.full-img {
    width: 100%;
  }
  .entry-content .wp-block-image.full-img > * {
    display: block;
  }
  .entry-content .full-img img {
    width: 100%;
  }
  .entry-content figcaption,
  .entry-content .caption {
    font-size: 1.4rem;
    margin: 0.5em 0;
  }
  @media screen and (max-width: 1023px) {
    .entry-content figcaption,
    .entry-content .caption {
      font-size: 1.2rem;
    }
  }
  
  /* キャプション */
  .wp-element-caption {
    text-align: center;
  }
  
  /* スペーサー */
  .wp-block-spacer {
    margin: 0 !important;
  }
  
  /* 画像横幅いっぱい */
  .wp-elempost-caption {
    text-align: center;
  }

/*--------------------------------------------------------------
childs
--------------------------------------------------------------*/
.entry-content * + .childs {
  margin-top: 50px !important;
}
.entry-content h1 + .childs,
.entry-content h2 + .childs,
.entry-content h3 + .childs,
.entry-content h4 + .childs,
.entry-content h5 + .childs {
  margin-top: 0 !important;
}

/*--------------------------------------------------------------
Alignments
--------------------------------------------------------------*/
.alignleft {
    display: inline;
    float: left;
    margin: 0 30px 20px 0 !important;
  }
  
  .alignright {
    display: inline;
    float: right;
    margin: 0 0 20px 30px !important;
  }
  
  .aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  
  @media screen and (max-width: 767px) {
    .alignleft,
    .alignright {
      display: block !important;
      float: none !important;
      margin: 0 auto 20px !important;
    }
  }
  
  @media screen and (max-width: 767px) {
    .wp-block-image .alignright > figcaption,
    .wp-block-image .alignleft > figcaption {
      display: block;
    }
  }

/*--------------------------------------------------------------
クリックで画像拡大（左寄せ、右寄せ、中央揃え）
--------------------------------------------------------------*/
.wp-lightbox-overlay .size-full {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0;
  position: relative;
  -webkit-transform-origin: 0 0;
          transform-origin: 0 0;
  width: 100%;
  z-index: 3000000;
}
.wp-lightbox-overlay .size-full img {
  height: var(--wp--lightbox-image-height);
  min-height: var(--wp--lightbox-image-height);
  min-width: var(--wp--lightbox-image-width);
  width: var(--wp--lightbox-image-width);
}

.wp-lightbox-container {
  margin-bottom: 45px !important;
}

.wp-lightbox-container button:focus, .wp-lightbox-container button:hover, .wp-lightbox-container button:not(:hover):not(:active):not(.has-background) {
  background-color: rgba(90, 90, 90, 0.55);
}

.lightbox-trigger {
  top: inherit !important;
  bottom: -25px;
  right: 0 !important;
  gap: 5px;
  opacity: 1 !important;
  width: 110px !important;
}
.lightbox-trigger::after {
  color: #fff;
  content: "クリックで拡大";
  display: inline-block;
  font-size: 1.2rem;
  font-weight: bold;
}
  
/*--------------------------------------------------------------
  Clearings
--------------------------------------------------------------*/
  .clear::before, .clear::after {
    content: "";
    display: table;
    table-layout: fixed;
  }
  
  .entry-content::before, .entry-content::after {
    content: "";
    display: table;
    table-layout: fixed;
  }
  
/*--------------------------------------------------------------
  Formatting
--------------------------------------------------------------*/
  hr,
  .wp-block-separator {
    border: 0;
    border-top: dotted 2px #1E6C2F !important;
    margin: 30px 0;
    width: 100% !important;
  }

/*--------------------------------------------------------------
Header
--------------------------------------------------------------*/
header { position: relative; z-index: 30; overflow: hidden; width: 100%; height: auto;}

/* .site-header { padding: 0 10px 0 30px ; border-bottom: solid #1E6C2F 1px;} */

.site-header {
  padding: 0 20px;
  margin: 0 auto;
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #FFF9F0;
  max-width: 1600px;
}

.main-menu {
  font-size: 16px;
  /* margin: 3px 0; */
  margin-top: -15px;
  margin-bottom: 7px;
}

@media (max-width: 1280px) and (min-width: 769px) {
  .custom-can-transform.pure-menu .main-menu {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    white-space: normal;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .custom-can-transform .pure-menu-item { display: block; margin: 0; }
  .custom-can-transform .pure-menu-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    padding: 10px 14px;
    text-align: center;
  }
}

@media screen and (max-width: 1280px) {
  .site-header { padding: 15px 30px 0 30px;}
  .main-menu { font-size: 14px; font-weight: 600;}
}

@media screen and (max-width: 767px) {
  .site-header { padding: 15px 30px 5px 30px;}
  .main-menu { font-size: 14px; font-weight: 600;}
}

.custom-wrapper .pure-u-1.pure-u-xl-1-5 {
  display: flex;
  align-items: center;
}

.site-title.pure-menu-heading {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  line-height: 1;
}
.site-title.pure-menu-heading > a {
  display: flex;
  align-items: center;
}

.site-logo {
  display: block;
  height: 1.2em;
  width: auto;
}

.main-navigation.pure-menu.pure-menu-horizontal {
  display: flex;
  align-items: center;
}

@media screen and (max-width: 1280px) {
  .main-navigation.pure-menu.pure-menu-horizontal {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
  }
  .sub-nav {
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  background-color: transparent !important;
  }
  .sub-nav .pure-menu-item::after {
    content: none !important;
  }
  .custom-can-transform .main-menu > li > a.pure-menu-link {
    color: #1E6C2F;
    font-weight: 600;
    display: block;
    padding: 0.5em 1rem;
    text-decoration: none;
    border-bottom: 1.5px solid #1E6C2F;
  }
  .custom-can-transform .sub-nav > li > a.pure-menu-link {
    color: #1E6C2F;
    font-weight: 600;
    display: block;
    padding: 1em 1rem;
    text-decoration: none;
  }
  .custom-can-transform .sub-nav > li {
    text-align: left;
    background-color: #fff;
  }


  .pure-menu.formb .side-nav > li {
    color: #1E6C2F;
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1.5px solid #1E6C2F;
  }
  .formb .side-nav .pure-menu-link {
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    text-decoration: none;
    display: flex;
    justify-content: center;
    text-align: center;
  }
  .subnav ul.sub-nav {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 12px 0;
    padding: 0;
    gap: 10px;
    list-style: none;
  }
}

@media screen and (max-width: 768px) { .subnav ul.sub-nav { gap: 5px; } }

@media (max-width: 768px) {
  .pure-u-1.pure-u-xl-4-5 {
    display: flex;
    flex-direction: column;
    gap: 15px;
  }
  /* 最初の nav（サブ） */
  .pure-u-1.pure-u-xl-4-5 nav:nth-of-type(1) {
    order: 2;
  }
  /* 2つ目の nav（メイン） */
  .pure-u-1.pure-u-xl-4-5 nav:nth-of-type(2) {
    order: 1;
  }
}


.pure-menu-horizontal .pure-menu-link {
  line-height: 1;
  padding-block: 0.75em;
}

.header-addr {
  color: #1E6C2F;
  font-style: normal;
  font-size: 13px;
  margin: 0 10 0 10px;
  padding:0 10px 0 10px;
  border-left: solid #1E6C2F 1px;
}

.site-header nav.pure-menu.pure-menu-horizontal .pure-menu-list > li.pure-menu-item > a.pure-menu-link {
  color: #1E6C2F;
  font-weight: 600;
  text-decoration-line: underline;
  text-decoration-color: #1e6c2f;
  text-decoration-thickness: 2px;
  text-underline-offset: 8px;
}

.site-header .pure-menu-horizontal .pure-menu-has-children>.pure-menu-link:after {
  content: "";
  color: #1E6C2F;
  display: inline-block;
  width: 0.6em;
  height: 0.6em;
  margin-left: .4em;
  background-color: currentColor;
  -webkit-mask: url("images/down-arrow.svg") no-repeat center;
  mask: url("images/down-arrow.svg") no-repeat center;
  -webkit-mask-size: contain;
  mask-size: contain;
  vertical-align: middle;
}

.site-header .pure-menu-horizontal .pure-menu-children {
  display: none;
  position: absolute;
  left: 0;
  top: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  border-radius: .5rem;
  min-width: 200px;
  z-index: 999;
}

.site-header .pure-menu-horizontal .pure-menu-children .pure-menu-link {
  padding: .6rem 1rem;
  white-space: nowrap;
  color: #1E6C2F;
}

.site-header .pure-menu-has-children:hover > .pure-menu-children,
.pure-menu-has-children:focus-within > .pure-menu-children {
  display: block;
}

.site-header .pure-menu-children .pure-menu-has-children { position: relative; }
.pure-menu-children .pure-menu-has-children .pure-menu-children {
  top: 0;
  left: 100%;
}

.pure-menu-has-children > .pure-menu-link[href="#"] {
  pointer-events: none;
  cursor: default;
}

.site-header .pure-menu-horizontal .sub-menu {
  display: none;
  margin: 0;
  padding: 0;
  list-style: none;
  background: transparent;
  z-index: 999;
}

.site-header .pure-menu-horizontal .sub-menu .pure-menu-link {
  display: block;
  color: #1E6C2F;
  white-space: nowrap;
  text-decoration: none;
  padding: .4rem .8rem;
}

.sub-nav {
  font-size: 13px;
  /* background-color: #fff; */
}

.site-header nav.pure-menu.pure-menu-horizontal .sub-nav.pure-menu-list > li.pure-menu-item > a.pure-menu-link {
  color: #1E6C2F;
  font-weight: 600;
  text-decoration-line: none;
}

.sub-nav.pure-menu .pure-menu-list {
  display: flex;
  align-items: baseline;
  gap: 0;
  background-color: #fff;
}

.sub-nav .pure-menu-item {
  position: relative;
  align-items: baseline;
}

.subnav.pure-menu-horizontal .pure-menu-item{
  vertical-align: baseline !important;
  padding-top: 2px;
}

.sub-nav .pure-menu-item{
  display: inline-flex;
  align-items: center;
}

.sub-nav .pure-menu-item::after{
  content: "／";
  color: #1E6C2F;
  line-height: 1;
  align-self: center;
}

.sub-nav .pure-menu-item:last-child::after{
  content: none;
}

.sub-nav .pure-menu-item[class*="ico-"] > a.pure-menu-link {
  display: inline-flex;
  align-items: center;
}
.sub-nav .pure-menu-item[class*="ico-"] > a.pure-menu-link::before {
  content: "";
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  margin-right: .6em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
}

/* 各アイコン */
.sub-nav .pure-menu-item.ico-mail   > a.pure-menu-link::before { background-image: url("/wp-content/themes/kyokujin/images/icon_mail.svg"); }
.sub-nav .pure-menu-item.ico-recruit> a.pure-menu-link::before { background-image: url("/wp-content/themes/kyokujin/images/icon_recruit.svg"); }
.sub-nav .pure-menu-item.ico-support> a.pure-menu-link::before { background-image: url("/wp-content/themes/kyokujin/images/icon_support.svg"); }
.sub-nav .pure-menu-item.ico-parent > a.pure-menu-link::before { background-image: url("/wp-content/themes/kyokujin/images/icon_parent.svg"); }
.sub-nav .pure-menu-item.ico-map    > a.pure-menu-link::before { background-image: url("/wp-content/themes/kyokujin/images/icon_map.svg"); }
.sub-nav .pure-menu-item.ico-tour   > a.pure-menu-link::before { background-image: url("/wp-content/themes/kyokujin/images/icon_tour.svg"); }

.sub-nav .pure-menu-link {
  display: inline-flex;
  align-items: baseline;
  line-height: 1.2;
}

@media (hover: hover) and (min-width: 951px) {
  .pure-menu-horizontal .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    margin-left: 1rem;
  }

  .pure-menu-has-children:hover > .sub-menu {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    gap: 0.5rem;
  }
}

@media screen and (max-width: 768px) { header { position: relative; z-index: 200; display: block; } }

.site-title { display: inline-block; margin: 0; padding: 0; position: relative; }
.site-title a { display: block; }
.site-title a img { width: auto; height: 55px; vertical-align: bottom; }
.site-title a span { display: block; font-size: 1.3rem; font-weight: 600; position: absolute; bottom: -5px; left: 45%; }

/*--------------------------------------------------------------
Navigation
--------------------------------------------------------------*/
.pure-menu { text-align: right; }

.open { overflow: hidden !important; }

@media screen and (max-width: 1280px) { .pure-menu { text-align: center; }
.site-content.pure-g { flex-direction: column-reverse; } }
.pure-menu-active > .pure-menu-link { background-color: #fff; }

.pure-menu-link { color: currentColor; }
.pure-menu-link:hover, .pure-menu-link:active, .pure-menu-link:focus, .pure-menu-link:focus { background-color: transparent; }
.pure-menu-link:hover:hover, .pure-menu-link:active:hover, .pure-menu-link:focus:hover, .pure-menu-link:focus:hover { color: #F26E11 !important; text-decoration-color: #F26E11 !important; }

.main-navigation { position: relative; z-index: 30; text-align: left; }
.main-navigation ul { margin: 0; padding: 0 !important; list-style: none; float: right; }
.main-navigation li { display: inline-block; line-height: 1; margin: 0 5px; }
.main-navigation a { display: block; padding: 0 10px; color: #000; font-size: 1.35rem; font-weight: 600; }
.main-navigation a:hover { opacity: 0.7; transition: .3s ease-in; }
.main-navigation a:hover { text-decoration: none; background: none; }
@media screen and (max-width: 960px) { .main-navigation ul { margin: 0; } }

@media screen and (max-width: 1280px) { .mn-open .mb-menu { -webkit-transition: all .5s; transition: all .5s; visibility: visible; opacity: 1; }
  .custom-wrapper { margin-bottom: 0px; -webkit-font-smoothing: antialiased; height: calc(clamp(40px, 6vw, 60px) + 6px); overflow: hidden; -webkit-transition: height 0.5s; -moz-transition: height 0.5s; -ms-transition: height 0.5s; transition: height 0.5s; }
  .custom-wrapper.open { height: 100vh; }
  .custom-menu-3 { text-align: right; }
  .custom-toggle { width: 34px; height: 34px; position: absolute; top: 0; right: 0; display: block; }
  .custom-toggle .bar { background-color: #F26E11; display: block; width: 25px; height: 2px; border-radius: 100px; position: absolute; top: 22px; right: 7px; -webkit-transition: all 0.5s; -moz-transition: all 0.5s; -ms-transition: all 0.5s; transition: all 0.5s; }
  .custom-toggle .bar:first-child { -webkit-transform: translateY(-12px); -moz-transform: translateY(-12px); -ms-transform: translateY(-12px); transform: translateY(-12px); }
  .custom-toggle .bar:nth-child(2) { -webkit-transform: translateY(-6px); -moz-transform: translateY(-6px); -ms-transform: translateY(-6px); transform: translateY(-6px); }
  .custom-toggle.x .bar { top: 18px; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }
  .custom-toggle.x .bar:first-child { -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); }
  .custom-toggle.x .bar:nth-child(2) { display: none; -webkit-transition: all 0.5s; -moz-transition: all 0.5s; -ms-transition: all 0.5s; transition: all 0.5s; } }

  @media screen and (max-width: 768px) { .mn-open .mb-menu { -webkit-transition: all .5s; transition: all .5s; visibility: visible; opacity: 1; }
  .custom-wrapper { margin-bottom: 0px; -webkit-font-smoothing: antialiased; height: calc(clamp(40px, 6vw, 60px) + 12px); overflow: hidden; -webkit-transition: height 0.5s; -moz-transition: height 0.5s; -ms-transition: height 0.5s; transition: height 0.5s; }
  .custom-wrapper.open { height: 100vh; }
  .custom-menu-3 { text-align: right; }
  .custom-toggle { width: 34px; height: 34px; position: absolute; top: 0; right: 0; display: block; }
  .custom-toggle .bar { background-color: #F26E11; display: block; width: 25px; height: 2px; border-radius: 100px; position: absolute; top: 22px; right: 7px; -webkit-transition: all 0.5s; -moz-transition: all 0.5s; -ms-transition: all 0.5s; transition: all 0.5s; }
  .custom-toggle .bar:first-child { -webkit-transform: translateY(-12px); -moz-transform: translateY(-12px); -ms-transform: translateY(-12px); transform: translateY(-12px); }
  .custom-toggle .bar:nth-child(2) { -webkit-transform: translateY(-6px); -moz-transform: translateY(-6px); -ms-transform: translateY(-6px); transform: translateY(-6px); }
  .custom-toggle.x .bar { top: 18px; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }
  .custom-toggle.x .bar:first-child { -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); }
  .custom-toggle.x .bar:nth-child(2) { display: none; -webkit-transition: all 0.5s; -moz-transition: all 0.5s; -ms-transition: all 0.5s; transition: all 0.5s; } }

/*--------------------------------------------------------------
Front Page
--------------------------------------------------------------*/
  .hm-slide {
    position: relative;
    max-width: 1720px;
    margin: 0 auto;
  }
@media screen and (max-width: 1500px) {
.hm-slide {
  position: relative;
  max-width: 1380px;
  margin: 0 auto;
}
}

.hm-slide .slider {
  border-radius: 40px;
  overflow: hidden;
  position: relative;
  z-index: 0;
  width: 100%;
  overflow: hidden;
  opacity: 0;
  transition: opacity .3s linear;
  height: calc(100vh - 85px);
  padding: 10px;
  box-sizing: border-box;
}

.hm-slide .slider.slick-initialized {
  opacity: 1;
  z-index: 0;
}

.hm-slide .slider .slick-list,
.hm-slide .slider .slick-track,
.hm-slide .slider .slick-slide,
.hm-slide .slider .slick-slide > div {
  height: 100%;
  border-radius: inherit;
  overflow: hidden;
  background: none !important;
}

.hm-slide .slider .slick-slide {
  margin: 0;
  position: relative;
}

.hm-slide .slider .slick-slide img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);

  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;

  object-fit: cover;
  object-position: center;
  display: block;
}

.slick-dotted.slick-slider {
  margin-bottom: 0;
}


/* .hm-slide { position: relative; max-width: 1720px; margin: 0 auto; padding: 10px; height: calc(100vh - 95px);}
.hm-slide .slider { border-radius: 40px; position: relative; z-index: 0; width: 100%; overflow: hidden; opacity: 0; transition: opacity .3s linear;}
.hm-slide .slider .slick-slide { margin: 0; }
.hm-slide .slider.slick-initialized { opacity: 1; z-index: 0; }
.hm-slide h2 { margin: 0; position: absolute; left: 10%; bottom: 200px; }
.hm-slide p { margin: 0; position: absolute; bottom: 100px; left: 30px; }

.slick-dotted.slick-slider {
  margin-bottom: 0;
}

.hm-slide .slider,
.hm-slide .slider .slick-list,
.hm-slide .slider .slick-track,
.hm-slide .slider .slick-slide { height: 100%; }
.hm-slide .slider .slick-slide > div { height: 100%; }
.hm-slide .slider .slick-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
} */

@media screen and (max-width: 768px) {
  .hm-slide {
    max-width: 100%;
    margin: 0 auto;
  }

  .hm-slide .slider {
    height: 300px;
    border-radius: 15px;
  }

  .hm-slide .slider .slick-list,
  .hm-slide .slider .slick-track,
  .hm-slide .slider .slick-slide,
  .hm-slide .slider .slick-slide > div {
    height: 100%;
  }
}

/* スライドショーのドットの指定 */
.hm-slide .slick-dots{
  position: absolute;
  right: 40px;
  bottom: 12px;
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin: 0;
  padding: 0;
  z-index: 10;
}

@media screen and (max-width: 768px) {
  .hm-slide .slick-dots{
    position: absolute;
    right: 15px;
    bottom: 0px;
    display: flex;
    gap: 0px !important;
    justify-content: flex-end;
    margin: 0;
    padding: 0;
    z-index: 10;
  }
  .hm-slide .slick-dots li .seg{
    display: block;
    width: 15px !important;
    height: 3px;
    border-radius: 2px;
    background: #fff;
  }
}

.hm-slide .slick-dots li{
  margin: 0;
  padding: 0;
}

.hm-slide .slick-dots li .seg{
  display: block;
  width: 25px;
  height: 4px;
  border-radius: 2px;
  background: #fff;
}

.hm-slide .slick-dots li.slick-active .seg{
  background: #1E6C2F;
}

.nursery-col:first-child > .nursery-card{
 border-radius: 15px 0 0 15px;
 overflow: hidden;
}

.nursery-col > .nursery-card img {
 display: block;
 width: 100%;
}

.nursery-card > a {
  display: block;
  background: #fff;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
}

.nursery-card > a h2 {
  margin: 0;
  padding: 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #1E6C2F;
  font-weight: 600;
}

.nursery-card > a h2::after {
  content: "→";
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #1E6C2F;
  color: #fff;
  font-size: 18px;
}

.nursery-card > a h2,
.nursery-card > a h2::after,
.nursery-card > a img {
  transition: color .2s ease, background-color .2s ease, filter .25s ease, transform .35s ease;
}

.nursery-card > a:hover img,
.nursery-card > a:focus-visible img {
  filter: brightness(1.06);
  transform: scale(1.01);
}

.nursery-card > a:hover h2,
.nursery-card > a:focus-visible h2 {
  color: color-mix(in oklch, #1E6C2F, white 30%);
}

.nursery-card > a:hover h2::after,
.nursery-card > a:focus-visible h2::after {
  background-color: color-mix(in oklch, #1E6C2F, white 22%);
}

.recruit-page {
  margin: 10px 20px;
}

.recruit-page a,
.recruit-page a:visited{
  color: #000;
}

.recruit-page a:hover,
.recruit-page a:focus-visible{
  color: color-mix(in srgb, currentColor, white 25%) !important;
}

.recruit-page a::after{
  content:"";
  display:inline-block;
  width: 1em;
  height: 1em;
  margin-left:.35em;
  vertical-align:-0.1em;
  background-color: #1E6C2F;
  -webkit-mask-repeat: no-repeat;           mask-repeat: no-repeat;
  -webkit-mask-position: center;            mask-position: center;
  -webkit-mask-size: contain;               mask-size: contain;
  transform: translateX(0) rotate(-90deg);
  transform-origin:50% 50%;
  transition: transform .25s ease-out;
}

.recruit-page a:hover::after,
.recruit-page a:focus-visible::after{
  transform: translateX(2px) rotate(-90deg);
}

.site-inner, .entry-content {
  padding-bottom: 100px !important;
  margin-top: 100px !important;
  background-image: url("images/background_02.svg");
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: 50%;
}

@media screen and (max-width: 768px) {
  .site-inner, .entry-content {
    margin-top: 50px !important;
  }
}

.top-about{
  max-width: 1920px;
  padding: 100px 10%;
}

.top-about-stack {
 position: relative;
}

.top-about-img.is-main img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 10px;
  padding: 0 50px 0 60px;
}

.top-about-img.is-small {
  position: absolute;
  top: -30%;
  width: 30%;
  margin: 0;
}
.top-about-img.is-small img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 10px;
}

.sub-heading {
  font-size: 16px;
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
}
  
.sub-heading::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url("images/icon_01.svg") no-repeat center;
  background-size: contain;
}

.top-about-heading {
  margin: 0px 0 10px 0 !important;
  border: none !important;
  color: #1E6C2F;
  font-size: 1.8em !important;
  font-weight: 800 !important;
}

.top-about-text {
  line-height: 3;
}

.btn a {
  margin: 0;
  padding: 10px 30px;
  display: inline-flex;
  align-items: center;
  background-color: #1E6C2F;
  color: #fff;
  text-decoration: none;
}

.btn a::after {
  content: "→";
  margin-left: 0.8em;
  font-size: 1.2em;
  color: #fff;
}

/* サイドナビゲーション */

.hm-side-nav {
  display: flex;
  justify-content: center; /* 横方向中央 */
  align-items: center;     /* 縦方向中央 */
}

.hm-side-nav .pure-menu {
  writing-mode: vertical-rl;    /* 縦書き：右から左へ */
  text-orientation: upright;    /* 日本語を縦に立てる */
}

.hm-side-nav .pure-menu-list {
  display: flex;                /* li を横並びに配置 */
  flex-direction: row;          /* 縦書きなので row で横に流すと縦列になる */
  gap: 1em;                     /* 項目間のスペース */
}

.hm-side-nav .pure-menu-item {
  margin: 0;
}

.hm-side-nav .pure-menu-link {
  display: block;
  color: #1E6C2F;
  font-weight: 600;
  padding: 20px 10px;
  border-radius: 9999px;
  border: 1px solid #1e6c2f;
  text-decoration: none;
  transition: all 0.3s ease;
}

/* hover時の演出 */
.hm-side-nav .pure-menu-link:hover,
.hm-side-nav .current-menu-item > .pure-menu-link {
  background: #fff;
  color: #1E6C2F;
}

.hm-side-nav .pure-menu-link:hover,
.hm-side-nav .current-menu-item > .pure-menu-link {
  background: #f5f7fb;
}

/* サイドナビゲーションアイコン */
.side-nav .pure-menu-item[class*="ico-"] > a.pure-menu-link::before {
  content: "";
  display: block;
  width: 1.4em;
  height: 1.4em;
  margin-bottom: 0.5em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* .side-nav .pure-menu-item.ico-map > a.pure-menu-link::before {
  background-image: url("/wp-content/themes/kyokujin-child/images/icon_map.svg");
}
.side-nav .pure-menu-item.ico-tour > a.pure-menu-link::before {
  background-image: url("/wp-content/themes/kyokujin-child/images/icon_tour.svg");
} */

.side-nav .pure-menu-link {
  display: inline-flex;
  align-items: center;
  line-height: 1.2;
}

@media screen and (max-width: 960px) { 
  /* .hm-slide { padding-bottom: 20px; } */
  .hm-slide h2 { bottom: 120px; left: 5%; }
  .hm-slide h2 img { width: 450px; height: auto; vertical-align: bottom; }
  .hm-slide p { bottom: 60px; left: -70px; } }
@media screen and (max-width: 768px) {
  /* .hm-slide { padding-bottom: 50px; } */
  .hm-slide h2 { bottom: 80px; left: -10%; }
  .hm-slide h2 img { width: auto; height: 100px; vertical-align: bottom; }
  .hm-slide p { bottom: 40px; } 
  .nursery-col > .nursery-card {
    border-radius: 15px 0 0 15px;
    overflow: hidden;
   }
}

@media screen and (max-width: 767px) {
.hm-side-nav {
    display: none;
  }
}

.hm-news { max-width: 960px; margin: 0 auto; padding: 0 15px; }
.hm-news i { display: inline-block; margin: 0 5px; color: #1E6C2F; }
.hm-news .news-more { text-align: right; }
.hm-news .news-more a:hover { opacity: 0.7; transition: .3s ease-in; }
.hm-news ul { margin: 0; padding: 0 !important; list-style: none; }
.hm-news ul a { position: relative; }
.hm-news ul a::before, .hm-news ul a::after { padding: 0 5px; display: inline-block; vertical-align: middle; color: #333333; text-decoration: none !important; font-family: "Font Awesome 7 Free"; font-weight: 900; }
.hm-news ul a::after { align-self: center; content: '\f138'; vertical-align: baseline; position: absolute; right: inherit; margin: auto; }

/*--------------------------------------------------------------
Regular Content
--------------------------------------------------------------*/
/* .entry-header { margin-bottom: 80px; margin-left: 10%;} */

.main-visual { margin-top: 50px;}

/* .entry-thumb {
  position: relative;
} */

.entry-header .entry-thumb{
  position: relative;
  width: 100%;
  height: calc(100vh - 150px);
  aspect-ratio: 16 / 7;
  overflow: hidden;
  margin: 0 auto;
  max-width: 1600px;
  min-height: 500px;
}

.entry-header .entry-thumb-img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 768px){
  .entry-header .entry-thumb{
    height: auto;
    min-height: unset;
    aspect-ratio: 16 / 9;
    max-width: none;
  }
}

@media (max-width: 599px){
  .entry-header .entry-thumb{
  aspect-ratio: auto;
  height: 250px;
  }
}

.entry-thumb-caption {
  position: absolute;
  left: 0;
  bottom: 0;
  max-width: 80%;
}
.entry-thumb-title {
  margin: 0;
  line-height: 1.3;
  color: #F26E11;
  font-weight: 900 !important;
  background: #FFF9F0;
  padding: 1em 2em 0.5em 2em;
  border-top-right-radius: 10px;
}

@media screen and (max-width: 768px){
  h1.entry-thumb-title {font-size: 1.4em;}
  .entry-thumb-title {padding: 0.5em 1em 0.2em;}
}

.banner-title{ background-color: #fff;}

.entry-content { max-width: 1920px; margin: 80px 10% 150px 10%; padding: 0; position: relative; z-index: 30; }

@media screen and (max-width: 960px) { 
.entry-content { max-width: 94%; margin: 50px 5% 150px 5%; }
}
.entry-content a { text-decoration: underline; }
.entry-content a i { display: inline-block; margin: 0 5px; color: #1E6C2F; }
.entry-content strong { font-weight: 600; }
.entry-content ul, .entry-content ol { 
  list-style: none outside;
  counter-reset: cnt; 
  margin: 30px 0 0;
  padding: 0;
  text-indent: 0;
}
.entry-content ul > li, .entry-content ol > li {
  counter-increment: cnt;
  position: relative;
  margin: 0px 0px 0.5em;
  padding: 0px 0px 0px 1.8em;
}
.entry-content ol > li:before {
  content: counter(cnt) ".";
  color: #1E6C2F;
  padding: 0 6px 0 2px;
  position: absolute;
  left: 3px;
}
.entry-content td ul, .entry-content td ol { margin: 0; }
.entry-content.not-found { min-height: 300px; }
.entry-content h2 { margin: 100px 0 30px; }
.entry-content h3 { margin: 60px 0 20px; }
.entry-content h4 { margin: 40px 0 20px; }
.entry-content h5 { margin: 30px 0 20px; }
.entry-content h6 { margin: 30px 0 20px; }
.entry-content h2 + h3, .entry-content h3 + h4, .entry-content h4 + h5, .entry-content h5 + h6 { margin-top: .5em; }

.news-cont span { display: inline-block; vertical-align: top; }
.news-cont a { padding: 5px 0; }
.news-cont a:hover { opacity: 0.7; transition: .3s ease-in; }
.news-cont .post-title i { margin: 0 5px; vertical-align: baseline; }

/* ブロックエディター用CSS */

/* 画像を角丸に */
.wp-block-image.is-style-default img {
  border-radius: 0px;
}
.wp-block-image.is-style-rounded img {
  border-radius: 15px;
}

/* ボタン */
body .is-layout-flex {
  display: flex;
}

.wp-block-buttons {  
  align-items: stretch;
  margin: 25px 0;
  gap: 25px;
}
.wp-block-buttons > .wp-block-button.wp-block-button__width-50 {
  width: calc(50% - var(--wp--style--block-gap, 25px) * 0.5);
}

.wp-block-button a {
  background: #1E6C2F;
  font-weight: 500;
  line-height: 1.5;
  padding: 16px 53px 16px 17px;
  position: relative;
  text-decoration: none;
  border-radius: 0px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  /* min-height: 65px; */
  height: 100%;
  transition: border-radius 0.3s ease;
}

.wp-block-button a::after {
  content: "→";
  font-size: 1.2em;
  color: #fff;
  padding: 0 5px;
  width: 1.5em;
  height: auto;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
}

.wp-block-button a:hover, .wp-block-button a:active { 
  color: #fff;
  background-color: color-mix(in srgb, var(--brand-green) 80%, white);
}

.wp-block-button__link {
  color: #fff;
  background-color: #1E6C2F;
  align-items: center;
  display: inline-flex;
  box-shadow: none;
  border-radius: 0px;
  text-decoration: none !important;
  padding: calc(.667em + 2px) calc(1.333em + 2px);
  font-size: 1.125em;
}

.wp-block-button .wp-block-button__link:not(.has-background){
  background-color: #1E6C2F;
  transition: background-color .25s ease;
}

.wp-block-button .wp-block-button__link:not(.has-background):hover,
.wp-block-button .wp-block-button__link:not(.has-background):active,
.wp-block-button .wp-block-button__link:not(.has-background):focus-visible{
  background-color: color-mix(in srgb, #1E6C2F 80%, white);
}

.wp-block-button .wp-block-button__link {
  color: #fff;
  position: relative;
  padding-right: calc(1.333em + 2px + 1.6em);
}

.wp-block-button .wp-block-button__link::after {
  content: "→";
  font-size: 1.5em;
  color: #fff;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translate(0, -50%);
  transition: transform 220ms ease-out;
}

.wp-block-button .wp-block-button__link:hover::after,
.wp-block-button .wp-block-button__link:focus-visible::after{
  transform: translate(0.3em, -50%);
}

/* 募集終了のボタンの色を指定 */
.recruit-end a {
  background: #1E6C2F !important;
  pointer-events: none;
  cursor: default;
}

/* recruit-end が付いたボタンは常に後ろ側（下）へ */
.wp-block-buttons.is-layout-flex .wp-block-button.recruit-end {
  order: 999;
}

/* それ以外のボタンは標準の順（0） */
.wp-block-buttons.is-layout-flex .wp-block-button:not(.recruit-end) {
  order: 0;
}

span.orenge {
  color: #F26E11 !important;
  font-weight: bold;
}

span.red {
  color: #c00 !important;
  font-weight: bold;
}



@media (max-width: 768px) {
  .wp-block-columns {
    gap: 40px;
  }
  .wp-block-columns.is-layout-flex { flex-direction: column; }
  .wp-block-columns.is-layout-flex > .wp-block-column {
    flex: 0 0 100% !important;
    max-width: 100%;
  }
  ul.column2 {
    -webkit-column-count: inherit;
    -moz-column-count: inherit;
    column-count: inherit;
  }
}

@media (max-width: 567px) {
  .wp-block-buttons > .wp-block-button.wp-block-button__width-50 {
  width: 100%;
  }
}

/*--------------------------------------------------------------
Posts / Pages
--------------------------------------------------------------*/
.entry-thumbnail img { display: block; }
.entry-thumbnail .wp-caption-text { display: block; text-align: left !important; }

.side-area h2 { margin-top: 0; }
.side-area ul { margin-bottom: 60px; }

.side-area {
  padding: 0 60px 0 0;
}
@media screen and (max-width: 1023px) {
  .side-area {
    padding: 0 40px 0 0;
  }
}
@media screen and (max-width: 767px) {
  .side-area {
    margin-top: 60px;
    padding: 0;
  }
}
.side-area h2 {
  border-radius: 10px;
  border: 2px solid #1E6C2F;
  font-size: 1.6rem !important;
  padding: 0.5em 1em 0.6em;
}
@media screen and (max-width: 1023px) {
  .side-area h2 {
    font-size: 1.5rem;
  }
}
.side-area ul {
  margin: 20px 0 0;
  padding: 0;
}
@media screen and (max-width: 1023px) {
  .side-area ul {
    margin: 10px 0 0;
  }
}
.side-area ul + h2 {
  margin: 50px 0 0;
}
@media screen and (max-width: 1023px) {
  .side-area ul + h2 {
    margin: 30px 0 0;
  }
}
.entry-content .side-area ul li a {
  text-decoration: none !important;
}
.entry-content .side-area ul li a::after {
  content: none !important;
}
.entry-content .side-area ul li a:hover,
.entry-content .side-area ul li a:focus {
  color: #F26E11 !important;
}

.entry-content .entry-date {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-weight: 400;
  gap: 0 1em;
}

.entry-content h2.single-title {
  margin: 10px 0 !important;
}

.entry-content h1 {
  border-bottom: 1px solid #1E6C2F;
  margin: 12px 0 0 !important;
  padding: 0 0 50px;
}

.news-content {
  margin: 100px auto 0;
  max-width: 1040px;
  padding: 0 20px;
}
@media screen and (max-width: 1023px) {
  .news-content {
    margin: 50px auto 0;
  }
}
@media screen and (max-width: 767px) {
  .news-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.news-content .entry-content {
  margin-top: 0;
  padding: 0;
}

/* 404 */
.error-404 { margin: 0 auto; max-width: 1000px; text-align: center; }

/*--------------------------------------------------------------
Footer
--------------------------------------------------------------*/
.site-footer {
  background-color: #1E6C2F;
  border-radius: 40px 40px 0 0;
  position: relative;
  padding: 10px 0;
  margin: 100px 10px 0;
  overflow: visible;
}

.site-footer::before {
  content: "";
  position: absolute;
  top: -115px;
  right: 10%;
  width: 120px;
  height: 120px;
  background: url("images/footer-accessories.svg") no-repeat center/contain;
  pointer-events: none;
  z-index: 1;
}

.footer-inner {
  margin: 50px 10% 0 10%;
}

.ft-pagetop {
  position: absolute;
  top: 5%;
  right: 5%;
}

.ft-pagetop a {
  display: inline-block;
}

.ft-pagetop img {
  display: block;
  width: 40px;
  height: auto;
}

.footer-logo img {
  max-width: 300px;
}

.footer-addr {
  color: #fff;
  margin: 15px 0;
  font-style: normal;
  font-size: 14px;
}

.site-info{
  margin: 30px 0;
}

.pure-menu pure-menu-horizontal custom-can-transform {
  margin-top: -9px;
  margin-bottom: 4px;
}

/* --- PC表示（親＝横並び / 子＝縦並び常時表示） --- */
.site-footer nav.pure-menu.pure-menu-horizontal .main-menu{
  display: flex;
  justify-content: flex-end;
  gap: 2rem;
  margin: 0;
  padding: 0;
  list-style: none;
  align-items: flex-start;
}

@media (max-width: 1280px) {
  .site-footer nav.pure-menu.pure-menu-horizontal .main-menu{
    display: flex;
    justify-content: flex-start;
    gap: 0rem;
    margin: 0;
    padding: 0;
    list-style: none;
    align-items: flex-start;
  }
}

.site-footer nav.pure-menu.pure-menu-horizontal .main-menu > li{
  display: flex;
  flex-direction: column;
  margin-right: 30px;
  margin-bottom: 5px;
  text-align: left;
}

.site-footer nav.pure-menu.pure-menu-horizontal .main-menu > li > a.pure-menu-link{
  display: inline-block;
  padding: 0;
  margin-bottom: .5rem;
  text-decoration: none;
  font-weight: 600;
  color: #fff;
}

.site-footer nav.pure-menu.pure-menu-horizontal .main-menu > li > .sub-menu{
  display: block !important;
  position: static !important;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* 子項目 */
.site-footer nav.pure-menu.pure-menu-horizontal .main-menu > li > .sub-menu > li{
  margin: 1rem 0;
}

.site-footer nav.pure-menu.pure-menu-horizontal .main-menu > li > .sub-menu a.pure-menu-link{
  display: inline-block;
  padding: 0;
  text-decoration: none;
  color: #fff;
}

.site-footer nav.pure-menu.pure-menu-horizontal .pure-menu-list > li.pure-menu-item > a.pure-menu-link {
  color: #fff;
  text-decoration-line: underline;
  text-decoration-color: #fff;
  text-decoration-thickness: 2px;
  text-underline-offset: 8px;
}

.site-footer nav.pure-menu.pure-menu-horizontal .main-menu > li > .sub-menu > li > a.pure-menu-link::before {
  content: "-";
  margin-right: 0.2em; 
  color: #fff;
  font-weight: normal; 
}

.site-footer .pure-menu-horizontal .pure-menu-has-children > .pure-menu-link::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 768px) {
  .site-footer nav.pure-menu.pure-menu-horizontal .main-menu{
    flex-direction: column;
    gap: 1rem;
  }
}

.copyright {
  color: #fff;
  text-align: right;
  margin: 0;
  font-size: 14px;
}
@media (max-width: 768px) {
  .copyright {
  font-size: 12px;
  }
}
/*--------------------------------------------------------------
Media
--------------------------------------------------------------*/
img, video { height: auto; /* Make sure images are scaled correctly. */ max-width: 100%; /* Adhere to container width. */ }

/* Make sure embeds and iframes fit their containers. */
embed, iframe, object { margin-bottom: 1.5em; max-width: 100%; }

.wp-caption, .gallery-caption { font-size: 13px; font-size: 1.3rem; margin-bottom: 1.5em; max-width: 100%; }

.wp-caption img[class*="wp-image-"] { display: block; margin-left: auto; margin-right: auto; }
.wp-caption .wp-caption-text { margin: .5em 0; text-align: center; font-size: 1.3rem; line-height: 1.4; }

/*--------------------------------------------------------------
Regular Content
--------------------------------------------------------------*/

.site-content {
  overflow: hidden;
}

.entry-content {
  margin: 120px auto 0px;
  max-width: 1040px;
  padding: 0 20px;
}
@media screen and (max-width: 1023px) {
  .entry-content {
    margin: 50px auto 0;
  }
}
.entry-content a.broken_link {
  text-decoration: underline;
}
.entry-content h2 a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])::after, .entry-content h3 a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])::after, .entry-content h4 a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])::after, .entry-content h5 a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])::after, .entry-content h6 a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])::after,
.entry-content p a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])::after,
.entry-content ol a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])::after,
.entry-content ul a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])::after,
.entry-content table a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])::after {
  content: "\f138";
  color: #1E6C2F;
  display: inline-block;
  font-family: "Font Awesome 7 Free";
  font-weight: 900;
}
/* .entry-content h2 a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])[href^="#"]::after, .entry-content h3 a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])[href^="#"]::after, .entry-content h4 a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])[href^="#"]::after, .entry-content h5 a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])[href^="#"]::after, .entry-content h6 a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])[href^="#"]::after,
.entry-content p a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])[href^="#"]::after,
.entry-content ol a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])[href^="#"]::after,
.entry-content ul a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])[href^="#"]::after,
.entry-content table a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])[href^="#"]::after {
  background-color: #1E6C2F !important;
  background-image: none !important;
  -webkit-mask-image: url(images/icon_anchor.svg);
          mask-image: url(images/icon_anchor.svg);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  content: "";
  margin: 0 5px;
  vertical-align: baseline;
  width: 1.5em;
  height: 0.95em;
} */

.entry-content p a[href^="#"]::after {
  content: "\f13a " !important;
  font-family: "Font Awesome 7 Free";
  font-weight: 900;
  display: inline-block;
  margin-left: .4em;
  line-height: 1;
  vertical-align: middle;
  color: currentColor;
}

.entry-content sup a[href^="#"] {
  color: #1E6C2F;
  font-weight: 500;
  padding: 0 2px;
}
.entry-content sup a[href^="#"]::before, .entry-content sup a[href^="#"]::after {
  display: none !important;
}
.entry-content h2 a, .entry-content h3 a, .entry-content h4 a, .entry-content h5 a, .entry-content h6 a,
.entry-content p a,
.entry-content li:not(.news-list li) a,
.entry-content table a {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.entry-content h2 a:hover, .entry-content h3 a:hover, .entry-content h4 a:hover, .entry-content h5 a:hover, .entry-content h6 a:hover,
.entry-content p a:hover,
.entry-content li:not(.news-list li) a:hover,
.entry-content table a:hover {
  color: inherit;
}
.entry-content .anchor-top a::before {
  -webkit-transform: translateY(-50%) rotate(-180deg) !important;
          transform: translateY(-50%) rotate(-180deg) !important;
}
.entry-content h2 {
  font-size: 1.6em;
  font-weight: 800 !important;
  color: #1E6C2F;
  border-bottom: 2px solid #1E6C2F;
  padding-bottom: .4em;
}
.entry-content h2.center-heading {
  text-align: center;
  font-size: 1.6em;
  color: #1E6C2F;
  border: none;
}


@media screen and (max-width: 767px) {
  .entry-content h2 {
    margin: 3em 0 1em !important;
  }
  .has-text-align-center {
    text-align: left;
  }
}
.entry-content h3 {
  font-size: 1.5em;
  font-weight: 600 !important;
  color: #1E6C2F;
  position: relative;
}

.entry-content h4 {
  font-size: 1.2em;
  font-weight: 600 !important;
  color: #1E6C2F;
  margin: 1.75em 0 0.75em !important;
  padding: 0 0 0 0.85em;
  position: relative;
}
.entry-content h4::before {
  background: #1E6C2F;
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 4px;
  height: 94%;
}
.entry-content h5 {
  font-size: 1.2em;
  color: #1E6C2F;
  margin: 1.75em 0 0.75em !important;
  padding: 0 0 0 1.5em;
  position: relative;
}
.entry-content h5::before {
  background: #1E6C2F;
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 1em;
  height: 2px;
}
.entry-content h6 {
  font-size: 1.2em;
  color: #1E6C2F;
}

.entry-content h2 + h3, .entry-content h3 + h4, .entry-content h4 + h5, .entry-content h5 + h6 {
  margin-top: 1.6em !important;
}
.entry-content h1 + .pure-g,
.entry-content h2 + .pure-g,
.entry-content h1 + * {
  margin-top: 30px;
}
.entry-content *:not(h2):not(h3):not(h4):not(h5):not(h6):not(ul > li *):not(ol > li *) + ul,
.entry-content *:not(h2):not(h3):not(h4):not(h5):not(h6):not(ul > li *):not(ol > li *) + ol,
.entry-content *:not(h2):not(h3):not(h4):not(h5):not(h6):not(ul > li *):not(ol > li *) + .point,
.entry-content *:not(h2):not(h3):not(h4):not(h5):not(h6):not(ul > li *):not(ol > li *) + .explanation {
  margin-top: 25px;
}
.entry-content *:not(h2):not(h3):not(h4):not(h5):not(h6):not(ul > li *):not(ol > li *) + p {
  margin-top: 20px;
}
.entry-content .point + *,
.entry-content .explanation + * {
  margin-top: 50px;
}
.entry-content .wp-block-column.point + .wp-block-column.point,
.entry-content .wp-block-column.explanation + .wp-block-column.explanation {
  margin-top: 0 !important;
}
.entry-content p {
  line-height: 2;
}
.entry-content .lead {
  color: #1E6C2F;
  font-size: 2rem;
  font-weight: bold;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .entry-content .lead {
    font-size: 2rem;
  }
}
.entry-content * + .lead {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .entry-content * + .lead {
    margin-top: 15px;
  }
}
.entry-content .sub-lead {
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .entry-content .sub-lead {
    font-size: 1.5rem;
  }
}
.entry-content .button {
  margin: 30px 0 0;
  max-width: 400px;
}
.entry-content .button a {
  background: #1E6C2F;
  color: #fff;
}
.entry-content .button2 a,
.entry-content .button3 a,
.entry-content .wp-block-button a {
  background: #1E6C2F;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 100%;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

.entry-content .button2 a::after,
.entry-content .button3 a::after,
.entry-content .wp-block-button a::after {
  padding: 0 5px;
  display: inline-block;
  text-decoration: none !important;
  font-family: "Font Awesome 7 Free";
  font-weight: 500;
  content: "→";
  color: #fff;
  display: block;
  font-size: 1.3em;
  width: 1.5em;
  position: absolute;
  right: 15px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.entry-content .wp-block-button.recruit-end a::after,
.entry-content .button2.recruit-end a::after,
.entry-content .button3.recruit-end a::after {
  content: none !important;
  display: none !important;
}

.entry-content .button2 a[target=_blank]::after,
.entry-content .button3 a[target=_blank]::after,
.entry-content .wp-block-button a[target=_blank]::after {
  background: none !important;
  content: "\f2d2";
  font-weight: normal;
  width: auto;
  height: auto;
}
.entry-content .button2 a[href$=".pdf"]::after, .entry-content .button2 a[href*=".pdf#page="]::after,
.entry-content .button3 a[href$=".pdf"]::after,
.entry-content .button3 a[href*=".pdf#page="]::after,
.entry-content .wp-block-button a[href$=".pdf"]::after,
.entry-content .wp-block-button a[href*=".pdf#page="]::after {
  background: none !important;
  content: "\f1c1";
  font-weight: normal;
  width: auto;
  height: auto;
}
.entry-content .button2 a[href$=".doc"]::after, .entry-content .button2 a[href$=".docx"]::after,
.entry-content .button3 a[href$=".doc"]::after,
.entry-content .button3 a[href$=".docx"]::after,
.entry-content .wp-block-button a[href$=".doc"]::after,
.entry-content .wp-block-button a[href$=".docx"]::after {
  background: none !important;
  content: "\f1c2";
  font-weight: normal;
  width: auto;
  height: auto;
}
.entry-content .button2 a[href$=".xls"]::after, .entry-content .button2 a[href$=".xlsx"]::after,
.entry-content .button3 a[href$=".xls"]::after,
.entry-content .button3 a[href$=".xlsx"]::after,
.entry-content .wp-block-button a[href$=".xls"]::after,
.entry-content .wp-block-button a[href$=".xlsx"]::after {
  background: none !important;
  content: "\f1c3";
  font-weight: normal;
  width: auto;
  height: auto;
}
.entry-content .button2 a[href^="#"],
.entry-content .button3 a[href^="#"],
.entry-content .wp-block-button a[href^="#"] {
  padding: 16px 53px 16px 17px;
}

.entry-content .anchor5 a[href^="#"] {
  padding: 16px 35px 16px 17px;
}

/* .entry-content .button2 a[href^="#"]::after,
.entry-content .button3 a[href^="#"]::after,
.entry-content .wp-block-button a[href^="#"]::after {
  font-size: 1.5em;
  color: #fff;
  content: "→";
  position: absolute;
  top: 42%;
  right: 15px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.5em;
  height: 0.95em;
} */
.entry-content .button2.anchor a[href^="#"]::before,
.entry-content .button3.anchor a[href^="#"]::before,
.entry-content .wp-block-button.anchor a[href^="#"]::before{
  content: "↓";
  font-size: 1.3em;
  color: #fff;
  position: absolute;
  right: 0.5em;
  top: 50%;
  transform: translate(0, -50%);
  width: 1.5em;
  line-height: 1;
  pointer-events: none;
  transition: transform .25s ease-out;
}

.entry-content .button2.anchor a[href^="#"]:hover::before,
.entry-content .button3.anchor a[href^="#"]:hover::before,
.entry-content .wp-block-button.anchor a[href^="#"]:hover::before,
.entry-content .button2.anchor a[href^="#"]:focus-visible::before,
.entry-content .button3.anchor a[href^="#"]:focus-visible::before,
.entry-content .wp-block-button.anchor a[href^="#"]:focus-visible::before{
  transform: translate(0, -30%);
}

.entry-content .button2.anchor a[href^="#"]::after,
.entry-content .button3.anchor a[href^="#"]::after,
.entry-content .wp-block-button.anchor a[href^="#"]::after{ content: none; }

.entry-content .button2 a:has(img),
.entry-content .button3 a:has(img),
.entry-content .wp-block-button a:has(img) {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 10px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.entry-content .button2 a:hover,
.entry-content .button3 a:hover,
.entry-content .wp-block-button a:hover {
  background: #1E6C2F;
}
.entry-content .button2.small a,
.entry-content .button3.small a,
.entry-content .wp-block-button.small a {
  padding: 10px 45px 10px 10px;
  font-size: 1.4rem;
  border-bottom: 1px solid #1E6C2F;
  background: #fff;
}
.entry-content .button2.small a:hover,
.entry-content .button3.small a:hover,
.entry-content .wp-block-button.small a:hover {
  background: #1E6C2F;
}
.entry-content .button2.small a:hover::after,
.entry-content .button3.small a:hover::after,
.entry-content .wp-block-button.small a:hover::after {
  -webkit-filter: brightness(100);
          filter: brightness(100);
}
.entry-content .wp-block-group.point > .wp-block-group__inner-container > .button2 a,
.entry-content .wp-block-group.point > .wp-block-group__inner-container > .button3 a,
.entry-content .wp-block-group.point > .wp-block-group__inner-container > .wp-block-buttons a,
.entry-content .point > .button2 a,
.entry-content .point > .button3 a,
.entry-content .point > .wp-block-buttons a {
  background: #1E6C2F;
}
.entry-content .wp-block-group.point > .wp-block-group__inner-container > .button2 a:hover,
.entry-content .wp-block-group.point > .wp-block-group__inner-container > .button3 a:hover,
.entry-content .wp-block-group.point > .wp-block-group__inner-container > .wp-block-buttons a:hover,
.entry-content .point > .button2 a:hover,
.entry-content .point > .button3 a:hover,
.entry-content .point > .wp-block-buttons a:hover {
  background-color: color-mix(in srgb, #1E6C2F 80%, white);
}
.entry-content .wp-block-group.explanation > .wp-block-group__inner-container > .button2 a,
.entry-content .wp-block-group.explanation > .wp-block-group__inner-container > .button3 a,
.entry-content .wp-block-group.explanation > .wp-block-group__inner-container > .wp-block-buttons a,
.entry-content .explanation > .button2 a,
.entry-content .explanation > .button3 a,
.entry-content .explanation > .wp-block-buttons a {
  background-color: color-mix(in srgb, #1E6C2F 80%, white);
}
.entry-content .wp-block-group.explanation > .wp-block-group__inner-container > .button2 a:hover,
.entry-content .wp-block-group.explanation > .wp-block-group__inner-container > .button3 a:hover,
.entry-content .wp-block-group.explanation > .wp-block-group__inner-container > .wp-block-buttons a:hover,
.entry-content .explanation > .button2 a:hover,
.entry-content .explanation > .button3 a:hover,
.entry-content .explanation > .wp-block-buttons a:hover {
  background-color: color-mix(in srgb, #1E6C2F 80%, white);
}
.entry-content .point.gray {
  background: #efefef;
}

@media screen and (max-width: 781px) {
  .entry-content .column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.entry-content table {
    background: #fff;
    border-collapse: collapse;
    margin: 15px 0 0;
    overflow: hidden;
    width: 100%;
  }
  .entry-content table.is-sticky-first-column {
    border-collapse: separate !important;
    border-spacing: 0 !important;
  }
  @media screen and (max-width: 781px) {
    .entry-content table.is-stacked-on-mobile {
      border-top: 1px solid #707070 !important;
    }
  }
  @media screen and (max-width: 781px) {
    .entry-content table.is-stacked-on-mobile th,
    .entry-content table.is-stacked-on-mobile td {
      border-top: none !important;
      border-left: 1px solid #707070 !important;
    }
  }
  @media screen and (max-width: 781px) {
    .entry-content table.is-stacked-on-mobile > *:first-child tr:first-child th,
    .entry-content table.is-stacked-on-mobile > *:first-child tr:first-child td {
      border-top: none !important;
    }
  }
  .entry-content table caption {
    font-size: 1.4rem !important;
    margin: 0 0 10px;
    text-align: right;
  }
  .entry-content table img {
    min-width: 30px;
  }
  .entry-content table th, .entry-content table td {
    background: none;
    border-right-width: 2px !important;
    border-bottom-width: 2px !important;
    border-right-style: solid;
    border-bottom-style: solid;
    border-color: #707070 !important;
    padding: 8px 15px !important;
  }
  @media screen and (max-width: 767px) {
    .entry-content table th, .entry-content table td {
      padding: 10px 8px !important;
    }
  }
  .entry-content table th > *:first-child, .entry-content table td > *:first-child {
    margin-top: 0 !important;
  }
  .entry-content table th > *:last-child, .entry-content table td > *:last-child {
    margin-bottom: 0 !important;
  }
  .entry-content table th {
    background: #fff;
    font-weight: normal !important;
  }
  .entry-content table th:not(.dept-schedule th):not(thead th):not(tfoot th) {
    text-align: left;
  }
  .entry-content table th:first-child:not(.dept-schedule th) {
    width: 20%;
  }
  .entry-content table thead th {
    background-color: #fff;
    color: #1E6C2F;
    font-size: 1.1em;
  }
  .entry-content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table th,
  .entry-content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table td {
    border-width: inherit;
  }
  .entry-content p:not(.point):not(.explanation) + table {
    margin: 20px 0 0;
  }
  @media screen and (max-width: 781px) {
    .entry-content .columns-table {
      gap: 0;
    }
  }
  @media screen and (max-width: 781px) {
    .entry-content .columns-table > *:first-child table {
      border-radius: 10px 10px 0 0;
    }
  }
  @media screen and (max-width: 781px) {
    .entry-content .columns-table > *:nth-child(n+2) table {
      border-radius: 0 0 10px 10px;
      margin: -2px 0 0 !important;
    }
  }
  .entry-content > *:first-child {
    margin-top: 0 !important;
  }
  .entry-content > *:last-child {
    margin-bottom: 0 !important;
  }
  .entry-content iframe {
    max-width: 100%;
  }
  
  @media screen and (max-width: 767px) {
    .entry-h1 .entry-h1-inner {
      margin: 50px auto 0;
    }
  }
  .entry-h1 h1 {
    color: #3b3b3b;
    font-size: 3rem;
    padding: 0;
    margin: 0;
  }
  @media screen and (max-width: 1023px) {
    .entry-h1 h1 {
      font-size: 2.4rem;
    }
  }
  
  /* パンくずリスト */
  .breadcrumbs {
    font-size: 1.4rem;
    margin: 15px auto 0;
    max-width: 1040px;
    padding: 0 20px;
  }
  @media screen and (max-width: 1023px) {
    .breadcrumbs {
      font-size: 1.2rem;
    }
  }
  .breadcrumbs a {
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  .breadcrumbs a:hover {
    opacity: 0.6;
  }
  
  .bc-arrow {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-top: 1px solid #3b3b3b;
    border-right: 1px solid #3b3b3b;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    margin: 0 12px 1.5px 8px;
  }
  
  /* アンカー */
  .entry-content * + .anchor5,
  .entry-content * + .anchor4,
  .entry-content * + .anchor3,
  .entry-content * + .anchor {
    margin-top: 50px;
  }

  .entry-content .anchor5,
  .entry-content .anchor4,
  .entry-content .anchor3,
  .entry-content .anchor {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 15px 25px;
    padding: 20px 0;
    position: relative;
    /* 本文内のアンカー */
  }
 
  @media screen and (max-width: 1040px) {
    .entry-content .anchor5::before,
    .entry-content .anchor4::before,
    .entry-content .anchor3::before,
    .entry-content .anchor::before {
      left: -20px;
    }
  }
  .entry-content .anchor5 > *,
  .entry-content .anchor4 > *,
  .entry-content .anchor3 > *,
  .entry-content .anchor > * {
    margin: 0;
    padding: 0;
    width: calc((100% - 75px) / 4);
  }
  @media screen and (max-width: 1023px) {
    .entry-content .anchor5 > *,
    .entry-content .anchor4 > *,
    .entry-content .anchor3 > *,
    .entry-content .anchor > * {
      width: calc((100% - 50px) / 3);
    }
  }
  @media screen and (max-width: 781px) {
    .entry-content .anchor5 > *,
    .entry-content .anchor4 > *,
    .entry-content .anchor3 > *,
    .entry-content .anchor > * {
      width: calc((100% - 10px) / 2);
    }
  }
  @media screen and (max-width: 567px) {
    .entry-content .anchor5 > *,
    .entry-content .anchor4 > *,
    .entry-content .anchor3 > *,
    .entry-content .anchor > * {
      width: 100%;
    }
  }
  .entry-content .anchor5 > *::after,
  .entry-content .anchor4 > *::after,
  .entry-content .anchor3 > *::after,
  .entry-content .anchor > *::after {
    display: none;
  }
  .entry-content .anchor5 > * a,
  .entry-content .anchor4 > * a,
  .entry-content .anchor3 > * a,
  .entry-content .anchor > * a {
    -webkit-filter: inherit;
            filter: inherit;
    background-color: #1E6C2F;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
    min-height: inherit;
  }
  .entry-content .anchor5 > * a::before,
  .entry-content .anchor4 > * a::before,
  .entry-content .anchor3 > * a::before,
  .entry-content .anchor > * a::before {
    color: #fff;
    content: "↓";
    font-size: 1.3em;
    position: absolute;
    top: 50%;
    right: 0.5em;
    transform: translate(0, -50%);
    transition: transform .25s ease-out;
  }
  
  .entry-content .anchor5 > * a:hover::before,
  .entry-content .anchor4 > * a:hover::before,
  .entry-content .anchor3 > * a:hover::before,
  .entry-content .anchor > * a:hover::before,
  .entry-content .anchor5 > * a:focus-visible::before,
  .entry-content .anchor4 > * a:focus-visible::before,
  .entry-content .anchor3 > * a:focus-visible::before,
  .entry-content .anchor > * a:focus-visible::before {
    transform: translate(0, -30%);
  }
  
  .entry-content .anchor5 > * a::after,
  .entry-content .anchor4 > * a::after,
  .entry-content .anchor3 > * a::after,
  .entry-content .anchor > * a::after {
    display: none !important;
  }
  .entry-content .anchor5 > * a:hover,
  .entry-content .anchor4 > * a:hover,
  .entry-content .anchor3 > * a:hover,
  .entry-content .anchor > * a:hover {
    background: #1E6C2F;
    color: #fff;
  }
  .entry-content .anchor5 a,
  .entry-content .anchor4 a,
  .entry-content .anchor3 a,
  .entry-content .anchor a {
    line-height: 1.2;
    text-decoration: none;
  }
  .entry-content .anchor5 > .pagelink a::before,
  .entry-content .anchor4 > .pagelink a::before,
  .entry-content .anchor3 > .pagelink a::before,
  .entry-content .anchor > .pagelink a::before {
    -webkit-mask-image: url("images/icon_arrow.svg");
            mask-image: url("images/icon_arrow.svg");
  }
  .entry-content .wp-block-button.anchor {
    background-color: color-mix(in srgb, #1E6C2F 80%, white);
    gap: 15px 30px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0;
  }
  .entry-content .anchor {
    gap: 15px 30px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 24px 0;
  }
  .entry-content .anchor > * {
    width: auto;
  }
  @media screen and (max-width: 567px) {
    .entry-content .anchor > * {
      width: 100%;
    }
  }
  .entry-content .anchor5 > * {
    width: calc((100% - 100px) / 5);
  }
  .entry-content .anchor4 > * {
    width: calc((100% - 75px) / 4);
  }
  @media screen and (max-width: 1023px) {
    .entry-content .anchor5 > *,
    .entry-content .anchor4 > * {
      width: calc((100% - 50px) / 3);
    }
  }
  @media screen and (max-width: 781px) {
    .entry-content .anchor5 > *,
    .entry-content .anchor4 > * {
      width: calc((100% - 25px) / 2);
    }
  }
  @media screen and (max-width: 567px) {
    .entry-content .anchor5 > *,
    .entry-content .anchor4 > * {
      width: 100%;
    }
  }
  .entry-content .anchor3 > * {
    width: calc((100% - 50px) / 3);
  }
  @media screen and (max-width: 781px) {
    .entry-content .anchor3 > * {
      width: calc((100% - 25px) / 2);
    }
  }
  @media screen and (max-width: 567px) {
    .entry-content .anchor3 > * {
      width: 100%;
    }
  }
  .entry-content .anchor-center {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .entry-content .button-anchor {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0;
  }
  .entry-content .button-anchor li {
    width: 49%;
  }
  .entry-content .button-anchor li::after {
    display: none;
    margin: 0;
  }
  .entry-content .button-anchor a {
    border: 3px solid #1E6C2F;
    border-right: 65px solid #1E6C2F;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: block;
    font-size: 1.8rem;
    text-decoration: none;
    width: 100%;
    padding: 15px 20px;
    position: relative;
  }
  .entry-content .button-anchor a::after {
    content: "";
    display: inline-block;
    width: 1.5em;
    height: 0.95em;
    background: url("images/icon_arrow.svg") no-repeat center center/contain;
    margin: 0 0 0 10px;
    vertical-align: middle;
    position: absolute;
    right: -42px;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(90deg);
            transform: translateY(-50%) rotate(90deg);
  }
  .entry-content .pure-g {
    gap: 30px 0;
    margin: 0 -15px;
  }
  @media screen and (max-width: 567px) {
    .entry-content .pure-g {
      margin: 0 -10px;
    }
  }
  .entry-content .pure-g > * {
    padding: 0 15px;
  }
  @media screen and (max-width: 567px) {
    .entry-content .pure-g > * {
      padding: 0 10px;
    }
  }
  .entry-content .pure-g > * > *:first-child {
    margin-top: 0 !important;
  }
  .entry-content .button3,
  .entry-content .button2 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 25px;
    margin-top: 25px;
  }
  @media screen and (max-width: 781px) {
    .entry-content .button3,
    .entry-content .button2 {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      gap: 15px;
    }
  }
  .entry-content .button3 > *,
  .entry-content .button2 > * {
    color: #fff;
    margin: 0;
    padding: 0;
  }
  .entry-content .button3 > *::after,
  .entry-content .button2 > *::after {
    display: none;
  }
  @media screen and (max-width: 1023px) {
    .entry-content .button3 > * a,
    .entry-content .button2 > * a {
      font-size: 1.5rem;
    }
  }
  .entry-content .button2 > * {
    width: calc((100% - 25px) / 2);
  }
  @media screen and (max-width: 781px) {
    .entry-content .button2 > * {
      width: calc((100% - 15px) / 2);
    }
  }
  @media screen and (max-width: 567px) {
    .entry-content .button2 > * {
      width: 100%;
    }
  }
  .entry-content .button3 > * {
    width: calc((100% - 50px) / 3) !important;
  }
  @media screen and (max-width: 781px) {
    .entry-content .button3 > * {
      width: calc((100% - 15px) / 2) !important;
    }
  }
  @media screen and (max-width: 567px) {
    .entry-content .button3 > * {
      width: 100% !important;
    }
  }
  @media screen and (max-width: 1023px) {
    .entry-content * + .anchor4,
    .entry-content * + .anchor3,
    .entry-content * + .anchor {
      margin-top: 20px;
    }
  }
  
  /* アンカーアイコン */
  @media screen and (max-width: 567px) {
    .entry-content .button-anchor li {
      width: 100%;
    }
  }
  @media screen and (max-width: 567px) {
    .entry-content .button-anchor li:nth-child(n+2) {
      margin-top: 10px;
    }
  }
  @media screen and (max-width: 1023px) {
    .entry-content .button-anchor a {
      border-right: 50px solid #1E6C2F;
      font-size: 1.6rem;
      padding: 10px 15px;
    }
  }
  @media screen and (max-width: 1023px) {
    .entry-content .button-anchor a::after {
      right: -32px;
      top: 50%;
      -webkit-transform: translateY(-50%) rotate(90deg);
              transform: translateY(-50%) rotate(90deg);
    }
  }

/*--------------------------------------------------------------
  ブロックエディタ共通
--------------------------------------------------------------*/
  .entry-content .wp-block-group__inner-container > *:first-child {
    margin-top: 0 !important;
  }
  .entry-content .wp-block-group__inner-container > *:last-child {
    margin-bottom: 0 !important;
  }
  @media screen and (max-width: 781px) {
    .entry-content .wp-block-columns:has(h6) {
      gap: 22px;
    }
  }
  @media screen and (max-width: 781px) {
    .entry-content .wp-block-columns:has(h5) {
      gap: 25px;
    }
  }
  @media screen and (max-width: 781px) {
    .entry-content .wp-block-columns:has(h4) {
      gap: 25px;
    }
  }
  @media screen and (max-width: 781px) {
    .entry-content .wp-block-columns:has(h3):not(:has(.open-cont)) {
      gap: 35px;
    }
  }
  @media screen and (max-width: 781px) {
    .entry-content .wp-block-columns:has(h2) {
      gap: 60px;
    }
  }
  @media screen and (max-width: 781px) {
    .entry-content .wp-block-columns + .wp-block-columns:has(h6) {
      margin-top: 22px;
    }
  }
  @media screen and (max-width: 781px) {
    .entry-content .wp-block-columns + .wp-block-columns:has(h5) {
      margin-top: 25px;
    }
  }
  @media screen and (max-width: 781px) {
    .entry-content .wp-block-columns + .wp-block-columns:has(h4) {
      margin-top: 25px;
    }
  }
  @media screen and (max-width: 781px) {
    .entry-content .wp-block-columns + .wp-block-columns:has(h3):not(:has(.open-cont)) {
      margin-top: 35px;
    }
  }
  @media screen and (max-width: 781px) {
    .entry-content .wp-block-columns + .wp-block-columns:has(h2) {
      margin-top: 60px;
    }
  }
  @media screen and (max-width: 781px) {
    .entry-content .wp-block-columns .wp-block-column:empty {
      display: none;
    }
  }
  .entry-content .wp-block-columns > * > *:first-child {
    margin-top: 0 !important;
  }
  .entry-content .wp-block-columns > * > *:last-child {
    margin-bottom: 0 !important;
  }
  .entry-content * + .wp-block-group,
  .entry-content * + .wp-block-columns {
    margin-top: 30px;
  }
  @media screen and (max-width: 781px) {
    .entry-content h2 + .wp-block-columns {
      margin-top: 20px;
    }
  }
  @media screen and (max-width: 781px) {
    .entry-content h3 + .wp-block-columns {
      margin-top: 9px;
    }
  }
  @media screen and (max-width: 781px) {
    .entry-content h4 + .wp-block-columns {
      margin-top: 8.5px;
    }
  }
  @media screen and (max-width: 781px) {
    .entry-content .wp-block-columns:has(+ .wp-block-columns) {
      margin-bottom: 0;
    }
  }
  @media screen and (max-width: 781px) {
    .entry-content .wp-block-columns + .wp-block-columns {
      margin-top: 15px;
    }
  }
  
  .has-text-align-right img {
    margin-left: auto;
  }
  
  .wp-block-snow-monkey-blocks-items .wp-block-group__inner-container > *:first-child,
  .wp-block-column .wp-block-group__inner-container > *:first-child {
    margin-top: 0 !important;
  }
  .wp-block-snow-monkey-blocks-items .wp-block-group__inner-container > *:last-child,
  .wp-block-column .wp-block-group__inner-container > *:last-child {
    margin-bottom: 0 !important;
  }
  
  .entry-content * + .wp-block-image, .entry-content .wp-block-image + * {
    margin-top: 20px;
  }
  .entry-content .wp-block-columns .wp-block-image + * {
    margin-top: 20px;
  }
  .entry-content .is-nowrap .wp-block-image + * {
    margin-top: 0;
  }
  
  .wp-block-flexible-table-block-table {
    margin: 25px 0 0;
  }
  .wp-block-flexible-table-block-table table {
    margin: 0;
  }
  
  .wp-block-table table {
    margin-top: 0;
  }
  .wp-block-table thead {
    border-bottom: 0;
  }
  .wp-block-table tfoot {
    border-top: 0;
  }
  .wp-block-table tfoot th {
    font-weight: bold !important;
  }
  
  .wp-block-button__link {
    font-size: 1.6rem !important;
    text-align: left;
  }
  
  :where(.is-layout-flex),
  :where(.wp-block-columns) {
    gap: 25px;
  }
  @media screen and (max-width: 781px) {
    :where(.is-layout-flex),
    :where(.wp-block-columns) {
      gap: 15px;
    }
  }
  
  .wp-block-buttons {
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    margin: 25px 0;
    gap: 25px;
  }
  @media screen and (max-width: 781px) {
    .wp-block-buttons {
      margin: 15px 0;
      gap: 15px;
    }
  }
  
  .wp-block-buttons > .wp-block-button.wp-block-button__width-50 {
    width: calc(50% - var(--wp--style--block-gap, 25px) * 0.5);
  }
  @media screen and (max-width: 781px) {
    .wp-block-buttons > .wp-block-button.wp-block-button__width-50 {
      width: calc(50% - var(--wp--style--block-gap, 15px) * 0.5);
    }
  }
  @media screen and (max-width: 567px) {
    .wp-block-buttons > .wp-block-button.wp-block-button__width-50 {
      width: 100%;
    }
  }
  .wp-block-buttons > .wp-block-button.wp-block-button__width-25 {
    width: calc(25% - var(--wp--style--block-gap, 25px) * 0.75);
  }
  @media screen and (max-width: 781px) {
    .wp-block-buttons > .wp-block-button.wp-block-button__width-25 {
      width: calc(50% - var(--wp--style--block-gap, 15px) * 0.5);
    }
  }
  @media screen and (max-width: 567px) {
    .wp-block-buttons > .wp-block-button.wp-block-button__width-25 {
      width: 100%;
    }
  }
  
  @media screen and (max-width: 781px) {
    .wp-block-columns .wp-block-columns {
      gap: 15px;
    }
  }
  
  /* YouTube */
  .youtube,
  .wp-block-embed-youtube .wp-block-embed__wrapper {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 56.25%;
  }
  .youtube iframe,
  .wp-block-embed-youtube .wp-block-embed__wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  
  .width70 {
    width: 70%;
    margin: 0 auto;
  }
  @media screen and (max-width: 781px) {
    .width70 {
      width: 100%;
    }
  }
  
  @media screen and (max-width: 781px) {
    .width100 img {
      width: 100% !important;
    }
  }
  
  /* Table */
  @media screen and (max-width: 768px) {
    .is-scroll-on-mobile {
      overflow-x: scroll;
      overflow-y: hidden !important;
    }
  }
  @media screen and (max-width: 768px) {
    .is-scroll-on-mobile table {
      margin-top: 0;
      width: 900px !important;
    }
  }
  
  /* Image */
  .wp-block-image a::after {
    display: none;
  }
  @media screen and (max-width: 781px) {
    .wp-block-image img {
      margin-left: auto;
      margin-right: auto;
    }
  }
  
  /* Text / Large */
  @media screen and (max-width: 1023px) {
    .has-large-font-size {
      font-size: 2.4rem !important;
    }
  }
  @media screen and (max-width: 767px) {
    .has-large-font-size {
      font-size: 2rem !important;
    }
  }
  @media screen and (max-width: 567px) {
    .has-large-font-size {
      font-size: 1.8rem !important;
    }
  }
  
  /* Text / Medium */
  @media screen and (max-width: 1023px) {
    .has-medium-font-size {
      font-size: 1.8rem !important;
    }
  }
  @media screen and (max-width: 767px) {
    .has-medium-font-size {
      font-size: 1.6rem !important;
    }
  }
  @media screen and (max-width: 567px) {
    .has-medium-font-size {
      font-size: 1.5rem !important;
    }
  }
  
  .has-black-color {
    color: #3b3b3b;
  }
  
  .has-black-background-color {
    background: #3b3b3b;
  }
  
  .has-red-color {
    color: #c00;
  }
  
  .has-red-background-color {
    background: #c00;
  }
  
  .has-white-color {
    color: #fff;
  }
  
  .has-white-background-color {
    background: #fff;
  }
  
  .has-gray-color {
    color: #efefef;
  }
  
  .has-gray-background-color {
    background: #efefef;
  }

  .wp-block-gallery {
    margin: 30px 0;
  }

  /* 音声ブロック */
  /* 音声のコントーロルバーを高さの中央にする */
  .mejs__controls {
    align-items: center;
    height: 36px; /*ボタンの高さ-borderの幅*/
  }
  /* 音声ブロックの背景色と形 */
  .mejs__container {
    background-color: #fff;
    border: 2px solid #ccc;
    border-radius: 50px;
  }
  /* 背景色のデフォルトのグラデーションを消す */
  .mejs__controls:not([style*='display: none']) {
    background: transparent;
  }

  /* play button と replay button（SVG アイコン）*/
.mejs__button.mejs__play button, .mejs__button.mejs__replay button  {
  color: #000;
}
 
/* pause button（SVG アイコン） */
.mejs__button.mejs__pause button  {
  color: #000;
}
 
/* currenttime（数字） */
.mejs__time.mejs__currenttime-container {
  color: #000;
  font-size: 0.8em;
}
.mejs__time.mejs__duration-container {
  color: #000;
  font-size: 0.8em;
}
 
/* currenttime（バーの背景色） */
.mejs__time-current {
  background-color: #000;
}
  
/* unmute button（SVG アイコン） */
.mejs__button.mejs__unmute button  {
  color: #000;
}

/* シークバーの背景色 */
.mejs__time-total.mejs__time-slider {
  background-color: #ccc;
}
 
/* current volume（バーの背景色） */
.mejs__horizontal-volume-current {
  background-color: #000;
}

.mejs__mute svg, .mejs__unmute svg {
  stroke: #000;
  fill: #000;
}

.mejs__button svg {
  width: 1rem;
  height: 1rem;
}

.mejs__button > button {
  height: 1.25rem;
}

/* play button と replay button */
.mejs__button.mejs__play button, .mejs__button.mejs__replay button {
  transform: scale(1.4);
}
 
/* pause button */
.mejs__button.mejs__volume-button.mejs__mute button, .mejs__button.mejs__volume-button.mejs__unmute {
  transform: scale(1.4);
}
/* プレイヤー本体のフォーカス枠を消す */
.mejs__container:focus,
.mejs__container *:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* ボタンのフォーカス/ホバー/アクティブ時の背景を消す */
.mejs__controls .mejs__button > button {
  background: transparent !important;
}
.mejs__controls .mejs__button > button:hover,
.mejs__controls .mejs__button > button:active,
.mejs__controls .mejs__button > button:focus {
  background: transparent !important;
  outline: none !important;
  box-shadow: none !important;
}

/* 進捗バーのフォーカス枠 */
.mejs__time-rail *:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* モバイルSafari/Chromiumのタップ時ハイライトを消す */
.mejs__container,
.mejs__container * {
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}


/*--------------------------------------------------------------
  お知らせ
--------------------------------------------------------------*/
  .content-inner {
    margin: 0 auto;
    max-width: 1040px;
    padding: 0 20px;
  }
  
  .news-list {
    margin: 0 !important;
    padding: 0 !important;
  }
  .news-list li {
    list-style-type: none;
    margin: 0 !important;
    padding: 1em 0 !important;
    border-bottom: 1px solid #8B8B8B;
  }
  .news-list li:first-child {
    border-top: 1px solid #8B8B8B;
  }
  .news-list li::after {
    display: none !important;
  }
  .news-list a {
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  .news-list a::before, .news-list a::after {
    display: none !important;
  }
  .news-list a:hover {
    color: #1E6C2F;
  }

  .news-meta {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:.5em 1.5em;
    margin-bottom:.3em;
  }
  
  /* 外側のラッパー：囲みは付けない */
  .ent-cate {
    display:inline-flex;
    align-items:center;
    flex-wrap:wrap;
    gap:.4em;
    border:none;
    background:transparent;
    width:auto;
    padding:0;
  }
  
  /* ◀ ここに「今までの .ent-cate の見た目」を移す */
  .ent-cate-item {
    display: inline-block;
    text-align: center;
    min-width: 7em;
    padding: 0.1em 0;
    line-height: 1.4;
    color: #1E6C2F;
    border: 1px solid #1E6C2F;
    background: transparent;
    box-sizing: border-box;
  }

  .pagination {
    margin: 60px 0 0 !important;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 5px;
  }
  @media screen and (max-width: 567px) {
    .pagination {
      gap: 15px 5px;
    }
  }
  .pagination a {
    background: #1E6C2F;
    color: #fff;
    display: block;
    max-width: 200px;
    padding: 0.6em 1em 0.6em;
    text-align: center;
    text-decoration: none !important;
    width: 100%;
    border: 2px solid #1E6C2F;
    box-sizing: border-box;
  }
  @media screen and (max-width: 567px) {
    .pagination a {
      padding: 0.6em;
    }
  }
  @media screen and (max-width: 375px) {
    .pagination a {
      font-size: 1.3rem;
    }
  }
  .pagination a.pagination-all {
    max-width: 300px;
    text-align: center;
    width: 100%;
  }
  .pagination a:hover {
    background: #fff;
    color: #1E6C2F;
  }

/*--------------------------------------------------------------
  ページナビ
--------------------------------------------------------------*/
  .entry-footer .wp-pagenavi {
    font-size: 1.3rem;
    margin: 50px 0 0 !important;
    /* text-align: center; */
  }
  @media screen and (max-width: 767px) {
    .entry-content .wp-pagenavi {
      font-size: 1.2rem;
      margin: 30px 0 0 !important;
    }
  }
  .entry-content .wp-pagenavi a, .entry-content .wp-pagenavi span {
    background: #fff;
    border: 1px solid #1E6C2F !important;
    border-radius: 7.5px;
    display: inline-block;
    margin: 4px !important;
    padding: 0px 15px !important;
    text-decoration: none;
  }
  @media screen and (max-width: 767px) {
    .entry-content .wp-pagenavi a, .entry-content .wp-pagenavi span {
      border-radius: 5px;
      padding: 0px 12px !important;
    }
  }
  .entry-content .wp-pagenavi .current {
    background: #1E6C2F;
    color: #fff;
  }
  .entry-content .wp-pagenavi a {
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  .entry-content .wp-pagenavi a::after {
    content: "" !important;
    padding: 0;
  }
  .entry-content .wp-pagenavi a:hover {
    background: #1E6C2F;
    color: #fff;
  }
  .entry-content .wp-pagenavi .previouspostslink,
  .entry-content .wp-pagenavi .nextpostslink {
    position: relative;
    width: 39px;
  }
  .entry-content .wp-pagenavi .previouspostslink > *,
  .entry-content .wp-pagenavi .nextpostslink > * {
    background-color: #333;
    -webkit-mask-image: url("images/icon_arrow_only.svg");
            mask-image: url("images/icon_arrow_only.svg");
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 1em;
    height: 1em;
  }
  .entry-content .wp-pagenavi .previouspostslink:hover > *,
  .entry-content .wp-pagenavi .nextpostslink:hover > * {
    background-color: #fff;
  }
  .entry-content .wp-pagenavi .previouspostslink > * {
    -webkit-transform: translate(-50%, -50%) rotate(180deg);
            transform: translate(-50%, -50%) rotate(180deg);
  }
  .entry-content .wp-pagenavi .first,
  .entry-content .wp-pagenavi .last {
    position: relative;
  }
  .entry-content .wp-pagenavi .first::after,
  .entry-content .wp-pagenavi .last::after {
    background-color: #333;
    -webkit-mask-image: url("images/icon_arrow_only.svg");
            mask-image: url("images/icon_arrow_only.svg");
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 1em;
    height: 1em;
  }
  .entry-content .wp-pagenavi .first:hover::after,
  .entry-content .wp-pagenavi .last:hover::after {
    background-color: #fff;
  }
  .entry-content .wp-pagenavi .first {
    padding: 0px 15px !important;
  }
  @media screen and (max-width: 767px) {
    .entry-content .wp-pagenavi .first {
      padding: 0px 12px !important;
    }
  }
  .entry-content .wp-pagenavi .first::after {
    left: 17px;
    -webkit-transform: translate(-50%, -50%) rotate(180deg);
            transform: translate(-50%, -50%) rotate(180deg);
  }
  .entry-content .wp-pagenavi .last {
    padding: 0px 15px !important;
  }
  @media screen and (max-width: 767px) {
    .entry-content .wp-pagenavi .last {
      padding: 0px 12px !important;
    }
  }
  .entry-content .wp-pagenavi .last::after {
    right: 5px;
  }

/*--------------------------------------------------------------
  電話番号
--------------------------------------------------------------*/
a[href^="tel:"] {
  pointer-events: none;
  text-decoration: none;
}
@media (max-width: 767px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}
/* a[href^="tel:"]::before {
  display: none;
} */

/*--------------------------------------------------------------
  クリックして開閉
--------------------------------------------------------------*/

  .entry-content .open-cont { display: none; }

  .entry-content .open-button {
    background:  #fff;
    border: 2px solid #1E6C2F;
    border-radius: 10px;
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 1.8;
    margin-bottom: 0 !important;
    padding: 16px 50px 16px 24px;
    position: relative;
    cursor: pointer;
    -webkit-transition-duration: 0.5s;
            transition-duration: 0.5s;
  }
  @media screen and (max-width: 1023px) {
    .entry-content .open-button {
      font-size: 1.5rem;
      padding: 12px 35px 12px 16px;
    }
  }
  .entry-content .open-button::after {
    background: none;
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    content: "\f078" !important;
    color: #1E6C2F;
    display: block;
    position: absolute;
    left: inherit;
    right: 20px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
    width: auto;
    height: auto;
  }
  @media screen and (max-width: 1023px) {
    .entry-content .open-button::after {
      right: 12px;
    }
  }
  .entry-content .open-button.open {
    border-bottom: 1px solid #1E6C2F;
    border-radius: 10px 10px 0 0;
  }
  .entry-content .open-button.open::after {
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg);
  }

  .entry-content .open-cont {
    background: #fff;
    border-left: 2px solid #1E6C2F;
    border-right: 2px solid #1E6C2F;
    border-bottom: 2px solid #1E6C2F;
    border-radius: 0 0 10px 10px;
    margin-top: 0;
    padding: 20px 24px;
  }
  @media screen and (max-width: 1023px) {
    .entry-content .open-cont {
      padding: 16px 16px 18px;
    }
  }
  .entry-content .open-cont + .open-button {
    margin: 15px 0 0 !important;
  }
  .entry-content .open-cont > *:first-child {
    margin-top: 0 !important;
  }
  .entry-content .open-cont > *:last-child {
    margin-bottom: 0 !important;
  }
  .entry-content .open-cont.wp-block-image {
    margin-top: 0;
  }
  .entry-content .open-cont .wp-block-group__inner-container > *:first-child {
    margin-top: 0 !important;
  }
  .entry-content .open-cont .wp-block-group__inner-container > *:last-child {
    margin-bottom: 0 !important;
  }
  .entry-content .open-cont .open-button {
    border: 2px solid #1E6C2F;
  }
  .entry-content .open-cont .open-button.open {
    border-bottom: 0;
  }
  .entry-content .open-cont .open-button.open + .open-cont {
    border: 2px solid #1E6C2F;
  }

/*--------------------------------------------------------------
  PC / SP
--------------------------------------------------------------*/
  .for-sp {
    display: none;
  }
  @media screen and (max-width: 1023px) {
    .for-sp {
      display: block;
    }
  }
  
  @media screen and (max-width: 1023px) {
    .for-pc {
      display: none !important;
    }
  }
  
  /* ブロックエディタ用 */
  .display-sp {
    display: none;
  }
  @media screen and (max-width: 767px) {
    .display-sp {
      display: block;
    }
  }
  
  @media screen and (max-width: 767px) {
    .display-pc {
      display: none !important;
    }
  }

/*--------------------------------------------------------------
  Google Map
--------------------------------------------------------------*/
.map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 50%;
}
.map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*--------------------------------------------------------------
  404 Not Found
--------------------------------------------------------------*/
.error404 .entry-content {
    text-align: center;
}
.error404 .button {
    margin-right: auto;
    margin-left: auto;
}
.error404 .button::after {
    margin: 0 0 0 1em;
}

/*--------------------------------------------------------------
  ScrollHint
--------------------------------------------------------------*/
.scroll-hint-icon {
    top: calc(50% - 40px) !important;
}
.scroll-hint-icon .scroll-hint-text {
    margin-top: 2px !important;
}
  
.scroll-text {
    z-index: 2;
}

/*--------------------------------------------------------------
  エレメントリスト
--------------------------------------------------------------*/
.entry-content .element-h2 {
  background: #3b3b3b;
  border: 0;
  border-radius: 0;
  color: #fff;
  display: inline-block;
  font-size: 1.8rem;
  margin: 4em 0 0 !important;
  min-width: 300px;
  padding: 0.5em 1.2em;
}
.entry-content .element-h2::before, .entry-content .element-h2::after {
  display: none;
}
.entry-content .element-h2 + .element-h3 {
  margin: 2em 0 !important;
}
.entry-content .element-h3 {
  background: #ccc;
  border: 0;
  color: #555;
  font-size: 1.6rem;
  margin: 4em 0 2em !important;
  padding: 0.3em 0 0.4em 1.2em;
}
.entry-content .element-h3::before, .entry-content .element-h3::after {
  display: none !important;
}
.entry-content .element-h3 + h2,
.entry-content .element-h3 + h3 {
  margin-top: 40px !important;
}
.entry-content .element-detail {
  background: #fff;
  border: 1px solid #1E6C2F;
  color: #c00;
  font-size: 1.4rem;
  margin: 1.5em 0 0;
  padding: 1em 1.5em;
}

/*--------------------------------------------------------------
  ログイン中
--------------------------------------------------------------*/
.admin-bar .site-header,
.admin-bar .site-header-box {
    top: 32px;
}
@media screen and (max-width: 782px) {
    .admin-bar .site-header,
    .admin-bar .site-header-box {
      top: 46px;
    }
}
@media screen and (max-width: 1200px) {
    .admin-bar .site-header.active::after {
      top: 46px;
  }
}
.admin-bar #header-nav-list-inner {
    top: 32px;
}
@media screen and (max-width: 782px) {
    .admin-bar #header-nav-list-inner {
      top: 46px;
  }
}
@media screen and (max-width: 1200px) {
    .admin-bar .header-button {
      top: 60px;
  }
}
@media screen and (max-width: 782px) {
    .admin-bar .header-button {
      top: 46px;
  }
}

/*--------------------------------------------------------------
  印刷
--------------------------------------------------------------*/
@media print {
  body {
      width: 1300px;
      zoom: 0.6;
      -webkit-print-color-adjust: exact;
      print-color-adjust: exact;
  }
  .site {
      padding: 0 !important;
  }
  .site-header {
      position: absolute;
      width: 1240px;
  }
  .header-main-menu {
      padding: 5px 20px;
  }
  .header-main-menu > li > a {
      font-size: 1.5rem;
      padding: 15px 5px;
    }
    .header-sub-menu {
      gap: 13px;
    }
    .header-sub-menu li a {
      font-size: 1.3rem;
    }
    h1 {
      font-size: 15pt;
    }
    h2 {
      font-size: 14pt;
    }
    h3 {
      font-size: 13pt;
    }
    h4,
    h5,
    h6 {
      font-size: 11pt;
    }
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
      margin: 30px 0 15px;
    }
    /* Pure.css */
    .pure-u-md-4-5 {
      width: 80%;
    }
    .pure-u-lg-3-4,
    .pure-u-md-3-4 {
      width: 75%;
    }
    .pure-u-md-2-3,
    .pure-u-sm-2-3 {
      width: 66.6666%;
    }
    .pure-u-md-3-5 {
      width: 60%;
    }
    .pure-u-lg-1-2,
    .pure-u-md-1-2,
    .pure-u-sm-1-2 {
      width: 50%;
    }
    .pure-u-md-2-5 {
      width: 40%;
    }
    .pure-u-lg-1-3,
    .pure-u-md-1-3,
    .pure-u-sm-1-3 {
      width: 33.3333%;
    }
    .pure-u-lg-1-4,
    .pure-u-md-1-4,
    .pure-u-sm-1-4 {
      width: 25%;
    }
    .pure-u-md-1-5 {
      width: 20%;
    }
    .pure-u-lg-1-5 {
      width: 20%;
    }
    .pure-u-md-11-24 {
      width: 45.8333%;
    }
    .pure-u-md-13-24 {
      width: 54.1667%;
    }
    /* ブロックエディタ / カラムの折返し禁止 */
    .wp-block-columns {
      -webkit-flex-wrap: nowrap !important;
          -ms-flex-wrap: nowrap !important;
              flex-wrap: nowrap !important;
    }
    /* header / スクロールによる表示切り替え無効 */
    .header-fix .site-title img {
      max-width: 180px;
    }
    .header-fix .header-menu-top {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
    }
    .header-fix .header-menu-top .menu-search {
      display: none !important;
    }
    .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
      -webkit-box-flex: 1 !important;
      -webkit-flex-grow: 1 !important;
          -ms-flex-positive: 1 !important;
              flex-grow: 1 !important;
    }
    .wp-block-column[style*="33.33%"] {
      -webkit-flex-basis: 33.33% !important;
          -ms-flex-preferred-size: 33.33% !important;
              flex-basis: 33.33% !important;
    }
    .wp-block-column[style*="66.66%"] {
      -webkit-flex-basis: 66.66% !important;
          -ms-flex-preferred-size: 66.66% !important;
              flex-basis: 66.66% !important;
    }
    img {
      -webkit-column-break-inside: auto !important;
         -moz-column-break-inside: auto !important;
              break-inside: auto !important;
    }
    .pagetop {
      display: none !important;
    }
  }
  /* IE10以上 */
  @media print and (-ms-high-contrast: none) {
    @page {
      size: A4;
      margin: 12.7mm 9.7mm;
    }
    body {
      zoom: 0.5;
      width: 1300px;
      -webkit-transform: scale(0.5);
              transform: scale(0.5);
      -webkit-transform-origin: 0 0;
              transform-origin: 0 0;
  }
}

/*--------------------------------------------------------------
個別ページ
--------------------------------------------------------------*/

/* 固定ページ共通 */

/*--------------------------------------------------------------
プラグイン上書き
--------------------------------------------------------------*/

/*--------------------------------------------------------------
  お問い合わせフォーム
--------------------------------------------------------------*/
  .snow-monkey-form {
    margin-top: 50px;
  }
  .snow-monkey-form h3 {
    margin: 15px 0 0 !important;
  }

  .smf-form--letter {
    padding: 20px;
    background-color: #fff;
  }
  
  .smf-item {
    background: #fff;
  }
  
  .smf-item--divider {
    padding: 15px 0;
  }
  
  .post-code .smf-placeholder {
    margin-top: 0;
  }
  
  .smf-item__controls .is-nowrap {
    gap: 10px;
  }
  .smf-item__controls .is-nowrap p {
    margin-top: 0 !important;
    white-space: nowrap;
  }
  .smf-item__controls .wp-block-group + .wp-block-group {
    margin-top: 15px;
  }
  
  .smf-control-description,
  .smf-item__description {
    font-size: 1.3rem;
  }

  .smf-select-control {
    width: 100%;
  }
  
  .smf-select-control__control {
    width: 100%;
  }

  /* プログレストラッカー */
  .smf-progress-tracker {
    margin: 20px 0 !important;
  }
  
  .smf-progress-tracker__item {
    margin: 0 !important;
    padding: 0 !important;
  }
  .smf-progress-tracker__item:before {
    display: none;
  }
  .smf-progress-tracker__item:after {
    width: 100%;
  }
  
  /* 確認・送信ボタン */
  .snow-monkey-form .smf-button-control__control {
    background: #1E6C2F;
    border: 2px solid #1E6C2F;
    border-radius: 0;
    color: #fff;
    margin-top: 30px;
    padding: 15px 10px;
    width: 300px;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  .snow-monkey-form .smf-button-control__control:hover {
    background: #fff;
    color: #1E6C2F;
  }
  .snow-monkey-form .smf-button-control__control[data-action=back] {
    background: #666;
    border: 2px solid #666;
  }
  .snow-monkey-form .smf-button-control__control[data-action=back]:hover {
    background: #fff;
    color: #666;
  }
  
  .wp-block-snow-monkey-forms-item input[type=text], .wp-block-snow-monkey-forms-item input[type=email], .wp-block-snow-monkey-forms-item input[type=tel], .wp-block-snow-monkey-forms-item input[type=number] {
    width: 100%;
  }
  
  /* 送信完了画面 */
  .smf-complete-content {
    background: #fff;
    border-radius: 10px;
    padding: 30px;
  }
  @media screen and (max-width: 1023px) {
    .smf-complete-content {
      padding: 20px;
    }
  }
  .smf-complete-content > *:first-child {
    margin-top: 0 !important;
  }
  .smf-complete-content > *:last-child {
    margin-bottom: 0 !important;
  }
  
  /* 必須ラベル */
  .required .smf-item__label__text::before {
    background: #ea2525;
    border-radius: 2px;
    content: "必須";
    color: #fff;
    font-size: 1.2rem;
    padding: 3px 5px;
    margin: 0 10px 0 0;
  }
  
/* zipaddr-jp */
  #autozip {
    display: none !important;
}

/*--------------------------------------------------------------
19.0 Media Queries
--------------------------------------------------------------*/
/* Adjust positioning of edit shortcuts, override style in customize-preview.css */
@-ms-viewport { width: device-width; }
@viewport { width: device-width; }