@charset "UTF-8";

@font-face { font-family: Hiragino Sans; font-weight: 100; src: local(HiraginoSans-W0), local("Hiragino Sans W0"); }
@font-face { font-family: Hiragino Sans; font-weight: 200; src: local(HiraginoSans-W1), local("Hiragino Sans W1"); }
@font-face { font-family: Hiragino Sans; font-weight: 250; src: local(HiraginoSans-W2), local("Hiragino Sans W2"); }
@font-face { font-family: Hiragino Sans; font-weight: 300; src: local(HiraginoSans-W3), local("Hiragino Sans W3"); }
@font-face { font-family: Hiragino Sans; font-weight: 400; src: local(HiraginoSans-W4), local("Hiragino Sans W4"); }
@font-face { font-family: Hiragino Sans; font-weight: 500; src: local(HiraginoSans-W5), local("Hiragino Sans W5"); }
@font-face { font-family: Hiragino Sans; font-weight: 600; src: local(HiraginoSans-W6), local("Hiragino Sans W6"); }
@font-face { font-family: Hiragino Sans; font-weight: 700; src: local(HiraginoSans-W7), local("Hiragino Sans W7"); }
@font-face { font-family: Hiragino Sans; font-weight: 800; src: local(HiraginoSans-W8), local("Hiragino Sans W8"); }
@font-face { font-family: Hiragino Sans; font-weight: 900; src: local(HiraginoSans-W9), local("Hiragino Sans W9"); }

/* Normalize.css
======================================================== */
html { line-height: 1.15; -webkit-text-size-adjust: 100%; }
body { margin: 0; }
main { display: block; }
h1 { font-size: 2em; margin: 0.67em 0; }
hr { box-sizing: content-box; height: 0; overflow: visible; }
pre { font-family: monospace, monospace; font-size: 1em; }
a { background-color: transparent; }
abbr[title] { border-bottom: none; text-decoration: underline; text-decoration: underline dotted; }
b, strong { font-weight: bolder; }
code, kbd, samp { font-family: monospace, monospace; font-size: 1em; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }
img { border-style: none; }
button, input, optgroup, select, textarea { font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0; }
button, input { overflow: visible; }
button, select { text-transform: none; }
button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }
fieldset { padding: 0.35em 0.75em 0.625em; }
legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; }
progress { vertical-align: baseline; }
textarea { overflow: auto; }
[type="checkbox"], [type="radio"] { box-sizing: border-box; padding: 0; }
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }
[type="search"] { -webkit-appearance: textfield; outline-offset: -2px; }
[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
details { display: block; }
summary { display: list-item; }
template { display: none; }
[hidden] { display: none; }
/* Soft reset */
figure { margin: 0; }
ul, ol, dd { margin: 0; padding: 0; list-style: none; }
h1, h2 h3, h4, h5, h6 { margin: 0; font-size: inherit; font-weight: inherit; }
p { margin: 0; }

/* Slick
======================================================== */
.slick-prev, .slick-next { font-size: 0; line-height: 0; position: absolute; top: 50%; display: block; width: 12vw; height: 12vw; padding: 0; -webkit-transform: translate(0, -50%); -ms-transform: translate(0, -50%); transform: translate(0, -50%); cursor: pointer; color: transparent; border: none; outline: none; background: transparent; }
.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus { color: transparent; outline: none; background: transparent; }
.slick-prev:hover:before, .slick-prev:focus:before, .slick-next:hover:before, .slick-next:focus:before { opacity: 1; }
.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before { opacity: .25; }
.slick-prev:before, .slick-next:before { font-family: 'slick'; font-size: 20px; line-height: 1; opacity: 1; color: white; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.slick-prev { left: -25px; }
[dir='rtl'] .slick-prev { right: -25px; left: auto; }
.slick-prev:before { content: '←'; }
[dir='rtl'] .slick-prev:before { content: '→'; }
.slick-next { right: -25px; }
[dir='rtl'] .slick-next { right: auto; left: -25px; }
.slick-next:before { content: '→'; }
[dir='rtl'] .slick-next:before { content: '←'; }
.slick-dotted.slick-slider { margin-bottom: 30px; }
.slick-dots { position: absolute; bottom: -2vw; display: block; width: 100%; padding: 0; margin: 0; list-style: none; text-align: center; }
.slick-dots li { position: relative; display: inline-block; width: 20px; height: 20px; margin: 0 5px; padding: 0; cursor: pointer; }
.slick-dots li { background: none !important; border: none !important; }
.slick-dots li button { font-size: 0; line-height: 0; display: block; width: 20px; height: 20px; padding: 5px; cursor: pointer; color: transparent; border: 0; outline: none; background: transparent; }
.slick-dots li button:hover, .slick-dots li button:focus { outline: none; }
.slick-dots li button:hover:before, .slick-dots li button:focus:before { color: #e7e7e7; opacity: 0.7; }
.slick-dots li button:before { font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 1.5rem; line-height: 20px; position: absolute; top: 0; left: 0; width: 20px; height: 20px; content: '\f111'; text-align: center; opacity: 1; color: #fff; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.slick-dots li.slick-active button:before { opacity: 1; color: #a4a4a4; }
.slick-slider { position: relative; display: block; box-sizing: border-box; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -khtml-user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }
.slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0; }
.slick-list:focus { outline: none; }
.slick-list.dragging { cursor: pointer; cursor: hand; }
.slick-slider .slick-track, .slick-slider .slick-list { -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
.slick-track { position: relative; top: 0; left: 0; display: block; margin-left: auto; margin-right: auto; }
.slick-track:before, .slick-track:after { display: table; content: ''; }
.slick-track:after { clear: both; }
.slick-loading .slick-track { visibility: hidden; }
.slick-slide { display: none; float: left; min-height: 1px; }
[dir='rtl'] .slick-slide { float: right; }
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none; }
.slick-slide.dragging img { pointer-events: none; }
.slick-initialized .slick-slide { display: block; }
.slick-loading .slick-slide { visibility: hidden; }
.slick-vertical .slick-slide { display: block; height: auto; border: 1px solid transparent; }
.slick-arrow.slick-hidden { display: none; }
.slider .slick-arrow { width: 1.75vw; height: auto; position: absolute; z-index: 1; top: 47%; opacity: 0.5; }
.slider .slick-arrow:hover { opacity: 1; cursor: pointer; }
.slider .prev-arrow { left: 0; }
.slider .next-arrow { right: 0; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .slick-dotted.slick-slider { margin-bottom: 2.5vw; }
  .slick-dots li { margin: 0 0.41vw; width: 1.7vw; height: 1.7vw; }
  .slick-dots li button:before { font-size: 1.25vw; width: 1.7vw; height: 1.7vw; }
}

@media screen and (max-width: 600px) {

}

/* Luminous
======================================================== */
@keyframes lum-fade {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes lum-fadeZoom {
  0% { transform: scale(0.5); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}
@keyframes lum-loader-rotate {
  0% { transform: translate(-50%, -50%) rotate(0); }
  50% { transform: translate(-50%, -50%) rotate(-180deg); }
  100% { transform: translate(-50%, -50%) rotate(-360deg); }
}
@keyframes lum-loader-before {
  0% { transform: scale(1); }
  10% { transform: scale(1.2) translateX(6px); }
  25% { transform: scale(1.3) translateX(8px); }
  40% { transform: scale(1.2) translateX(6px); }
  50% { transform: scale(1); }
  60% { transform: scale(0.8) translateX(6px); }
  75% { transform: scale(0.7) translateX(8px); }
  90% { transform: scale(0.8) translateX(6px); }
  100% { transform: scale(1); }
}
@keyframes lum-loader-after {
  0% { transform: scale(1); }
  10% { transform: scale(1.2) translateX(-6px); }
  25% { transform: scale(1.3) translateX(-8px); }
  40% { transform: scale(1.2) translateX(-6px); }
  50% { transform: scale(1); }
  60% { transform: scale(0.8) translateX(-6px); }
  75% { transform: scale(0.7) translateX(-8px); }
  90% { transform: scale(0.8) translateX(-6px); }
  100% { transform: scale(1); }
}
.lum-lightbox { background: rgba(0, 0, 0, 0.6); z-index: 101; }
.lum-lightbox-inner { top: 2.5%; right: 2.5%; bottom: 2.5%; left: 2.5%; }
.lum-lightbox-inner img { position: relative; }
.lum-lightbox-inner .lum-lightbox-caption { margin: 0 auto; color: #fff; max-width: 700px; text-align: center; }
.lum-loading .lum-lightbox-loader { display: block; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 66px; height: 20px; animation: lum-loader-rotate 1800ms infinite linear; }
.lum-lightbox-loader:before,
.lum-lightbox-loader:after { content: ""; display: block; width: 20px; height: 20px; position: absolute; top: 50%; margin-top: -10px; border-radius: 20px; background: rgba(255, 255, 255, 0.9); }
.lum-lightbox-loader:before { left: 0; animation: lum-loader-before 1800ms infinite linear; }
.lum-lightbox-loader:after { right: 0; animation: lum-loader-after 1800ms infinite linear; animation-delay: -900ms; }
.lum-lightbox.lum-opening { animation: lum-fade 180ms ease-out; }
.lum-lightbox.lum-opening .lum-lightbox-inner { animation: lum-fadeZoom 180ms ease-out; }
.lum-lightbox.lum-closing { animation: lum-fade 300ms ease-in; animation-direction: reverse; }
.lum-lightbox.lum-closing .lum-lightbox-inner { animation: lum-fadeZoom 300ms ease-in; animation-direction: reverse; }
.lum-img { transition: opacity 120ms ease-out; }
.lum-loading .lum-img { opacity: 0; }
.lum-gallery-button { overflow: hidden; text-indent: 150%; white-space: nowrap; background: transparent; border: 0; margin: 0; padding: 0; outline: 0; position: absolute; top: 50%; transform: translateY(-50%); height: 100px; max-height: 100%; width: 60px; cursor: pointer; }
.lum-close-button { position: absolute; right: 5px; top: 5px; width: 32px; height: 32px; opacity: 0.3; }
.lum-close-button:hover { opacity: 1; }
.lum-close-button:before,
.lum-close-button:after { position: absolute; left: 15px; content: " "; height: 33px; width: 2px; background-color: #fff; }
.lum-close-button:before { transform: rotate(45deg); }
.lum-close-button:after { transform: rotate(-45deg); }
.lum-previous-button { left: 12px; }
.lum-next-button { right: 12px; }
.lum-gallery-button:after { content: ""; display: block; position: absolute; top: 50%; width: 36px; height: 36px; border-top: 4px solid rgba(255, 255, 255, 0.8); }
.lum-previous-button:after { transform: translateY(-50%) rotate(-45deg); border-left: 4px solid rgba(255, 255, 255, 0.8); box-shadow: -2px 0 rgba(0, 0, 0, 0.2); left: 12%; border-radius: 3px 0 0 0; }
.lum-next-button:after { transform: translateY(-50%) rotate(45deg); border-right: 4px solid rgba(255, 255, 255, 0.8); box-shadow: 2px 0 rgba(0, 0, 0, 0.2); right: 12%; border-radius: 0 3px 0 0; }
.lum-lightbox-inner img.lum-img { max-width: 100%; }

@media (max-width: 600px) {
  .lum-lightbox-image-wrapper { display: flex; overflow: auto; -webkit-overflow-scrolling: touch; }
  .lum-lightbox-caption { width: 100%; position: absolute; bottom: 0; }
  .lum-lightbox-position-helper { margin: auto; }
  .lum-lightbox-inner img { max-width: none; max-height: none; }
}

/* Common
======================================================== */
html { font-size: 62.5%; }
body { font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HiraKakuPro-W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",Arial, Helvetica, sans-serif; font-optical-sizing: auto; font-style: normal; font-size: 1.6rem; /* 16px letter-spacing: 0.05em; */ font-weight: 300; letter-spacing: 0; overflow-x: hidden; position: relative; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
a,
.mce-content-body a { font-weight: 300; text-decoration: underline; }
a:hover { cursor: pointer; text-decoration: none; opacity: 0.7; }
#toc_container { margin-bottom: 5rem; padding: 2% 4%; width: 92% !important; background: #f9f9f9; border: none; border-radius: 8px; }
#toc_container.no_bullets li,
#toc_container.no_bullets ul,
#toc_container.no_bullets ul li,
.toc_widget_list.no_bullets,
.toc_widget_list.no_bullets li { line-height: 2.0; }
#toc_container p.toc_title { display: flex; align-items: flex-end; color: #588751; font-size: 1.6rem; font-weight: 600; }
#toc_container p.toc_title:before { content: "Index"; margin: 0 5px 0 0; font-size: 3.6rem; font-weight: 500; line-height: 1.4; font-family: "Oswald"; }
#toc_container p.toc_title .toc_toggle { margin-left: 1rem; }
#toc_container p.toc_title .toc_toggle,
#toc_container p.toc_title .toc_toggle a { color: #222; }
#toc_container .toc_number { color: #222; font-weight: 500; font-family: "Oswald"; }
#toc_container .toc_number:after { content: "."; padding-right: 0.1rem; }
#toc_container a, #ez-toc-container a { font-weight: 300; }
#toc_container a:visited, #ez-toc-container a:visited { font-weight: 300; }
.--NoToc,
.--NoToc + p { padding: 0 !important; }
p,
.mce-content-body p { font-size: 1.6rem; font-weight: 300; line-height: 2.0; }
p strong,
.mce-content-body p strong { font-weight: 600; }
p small,
.mce-content-body p small { display: inline-block; line-height: 1.5; }
header, main section, main div { gap: 0; }
/* Heading */
main h2, section h2,
.mce-content-body h2 { clear: both; margin: 3rem auto 3rem; padding: 8px 16px; color: #fff; font-size:2.4rem; font-weight: 800; line-height: 1.3; letter-spacing: 0; text-align: left; background-color: #588751; border-radius: 4px; box-sizing: border-box; } 
main h3,
.mce-content-body h3 { clear: both; margin: 3rem auto 3rem; padding: 8px 16px; color: #588751; font-size: 2.0rem; font-weight: 800; line-height: 1.3; letter-spacing: 0; text-align: left; background-color: #edf9e5; border-bottom-width: 2px; border-bottom-style: solid; border-bottom-color: #588751; box-sizing: border-box; } 
main h4,
.mce-content-body h4 { clear: both; margin: 3rem auto 3rem; padding: 8px 8px; color: #222; font-size: 2.0rem; font-weight: 800; line-height: 1.3; letter-spacing: 0; border-bottom-width: 2px; border-bottom-style: solid; border-bottom-color: #222; box-sizing: border-box; }
main h5,
.mce-content-body h5 { clear: both; margin: 1.5rem auto 1.5rem; padding: 8px 8px; color: #588751; font-size: 1.8rem; font-weight: 800; line-height: 1.3; letter-spacing: 0; box-sizing: border-box; }
main h6,
.mce-content-body h6 { clear: both; margin: 3rem auto 3rem; padding: 8px 8px; color: #222; font-size: 1.8rem; font-weight: 800; line-height: 1.3; letter-spacing: 0; box-sizing: border-box;}
main blockquote { position: relative; font-style: italic; font-size: 1.8rem; line-height: 2.0; margin: 0 auto 3rem; padding: 50px 50px 30px; background: #f9f9f9; }
main blockquote:before,
main blockquote:after { position: absolute; color: #e0e0e0; font-size: 4.2rem; font-family: "Font Awesome 6 Free"; font-weight: bold; }
main blockquote:before { left: 10px; top: -10px; content: "\f10d";}
main blockquote:after { right: 20px; bottom: -10px; content: "\f10e"; }

.Body__Page ul,
.Body__Single ul,
.mce-content-body ul { margin: 3rem 0; }
.Body__Page ul li,
.Body__Single ul li,
.mce-content-body ul li { list-style: none; position: relative; padding: 0 0 0.5rem 2rem; font-size: 1.6rem; font-weight: 300; line-height: 2.0; }
.Body__Page ul li:before,
.Body__Single ul li:before,
.mce-content-body ul li:before { position: absolute; top: 10px; left: 0; content: "\f111"; color: #588751; font-size: 0.6rem; font-family: "Font Awesome 6 Free"; font-weight: bold; }
.Body__Page ul.toc_list li:before,
.Body__Single ul.toc_list li:before { display: none; }
.Body__Page ol,
.Body__Single ol,
.mce-content-body ol { margin: 3rem 0; }
.Body__Page ol li,
.Body__Single ol li,
.mce-content-body ol li { list-style: none; position: relative; padding: 0 0 0.5rem 2rem; font-size: 1.6rem; font-weight: 300; line-height: 2.0; counter-increment: list_number; }
.Body__Page ol li:before,
.Body__Single ol li:before,
.mce-content-body ol li:before { position: absolute; top: -1px; left: 0; content: counter(list_number)". "; color: #588751; font-size: 1.7rem; font-weight: 500; font-family: "Oswald"; }

.Body__Page > h2:first-child,
.Body__Single > h2:first-child { margin-top: 0; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  main h2 { margin: 2.5vw auto 2.5vw; padding: 0.666vw 1.333vw ; font-size: 2.0vw; border-radius: 0.333vw; }
  main h3 { margin: 2.5vw auto 2.5vw; padding: 0.666vw 1.333vw; font-size: 1.666vw; }
  main h4 { margin: 2.5vw auto 2.5vw; padding: 0.666vw 0.666vw; font-size: 1.666vw; border-bottom-width: 0.167vw; }
  main h5 { margin: 1.25vw auto 1.25vw; padding: 0.666vw 0.666vw; font-size: 1.5vw; border-bottom-width: 0.167vw; }
  main h6 { margin: 2.5vw auto 2.5vw; padding: 0.833vw 1.5%; font-size: 1.666vw; }
  p { font-size: 1.333vw; }
  .Body__Page ul,
  .Body__Single ul,
  .Body__Page ol,
  .Body__Single ol { margin: 2.5vw 0; }
  .Body__Page ul li,
  .Body__Single ul li,
  .Body__Page ol li,
  .Body__Single ol li { padding: 0 0 0.416vw 1.666vw; font-size: 1.333vw; }
  .Body__Page ul li:before,
  .Body__Single ul li:before { top: 0.833vw; font-size: 0.5vw; }
  .Body__Page ol li:before,
  .Body__Single ol li:before { top: -0.083vw; font-size: 1.416vw; }

  #toc_container { margin-bottom: 4.166vw; }
  #toc_container p.toc_title { font-size: 1.333vw; }
  #toc_container p.toc_title:before { margin: 0 0.416vw 0 0; font-size: 3.0vw; }
  #toc_container li { font-size: 1.166vw; }
  .wp-caption-text { font-size: 1.166vw; }
}

@media screen and (max-width: 600px) {
  html { font-size: 50%; }
  body { width: 100%; text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
  html.open { height: 100%; overflow: hidden; }
  body.open { position: fixed; width: 100%; height: 100%; left: 0; overflow: hidden; }
  p { font-size: 1.55rem; line-height: 1.8; }
  /* Heading */
  main h2 { font-size: 2.3rem; }
  main h3 { padding: 1.5vw 3vw; font-size: 2.1rem; }
  main h4 { padding: 1.5vw 0; font-size: 2.1rem; }
  main h5 { padding: 1.5vw 0; font-size: 2.1rem; }
  main h6 { padding: 1.5vw 0; font-size: 1.8rem; }
  .Body__Page ul li,
  .Body__Single ul li,
  .Body__Page ol li,
  .Body__Single ol li { font-size: 1.55rem; }
  .Body__Page ul li:before,
  .Body__Single ul li:before { top: 2.2vw; }
  #toc_container { margin-bottom: 5vw; padding: 4vw 5%; width: 90%; }
  #toc_container p.toc_title { font-size: 1.2rem; }
  #toc_container p.toc_title:before { margin: 0 2vw 0 0; font-size: 2.4rem; line-height: 1.25; }
  #toc_container li { font-size: 1.4rem; }
}

/* WordPress Default
======================================================== */
.is-layout-flex { gap: 0; }
.has-text-align-left { text-align: left; }
.has-text-align-center { text-align: center; }
.has-text-align-right { text-align: right; }
.aligncenter { display: block; margin-right: auto; margin-left: auto; }
.alignright { float: right; margin-bottom: 20px; margin-left: 20px; }
.alignleft { float: left; margin-right: 20px; margin-bottom: 20px; }
.wp-caption, [class*='wp-image'] { display: block; max-width: 100% !important; margin: 0 auto; /* margin-top: 1.5em; */ text-align: center; }
.wp-caption-text,
.mce-content-body .wp-caption-dd { margin-top: 0; color: #588751; font-size: 1.4rem; font-weight: 300; }
/* TinyMCEの独自スタイル */
.--WhiteBox,
.--GreenBox,
.--YellowBox { display: block; margin: 3rem auto 3rem; padding: 3%; width: 93.4%; font-size: 1.6rem; font-weight: 600; line-height: 2.0; border-width: 2px; border-style: solid; }
.mce-content-body .--WhiteBox,
.mce-content-body .--GreenBox,
.mce-content-body .--YellowBox,
.mce-content-body .--PointBox { width: 93%; }
.--WhiteBox { background-color: #fff; border-color: #222; }
.--GreenBox { color: #588751; background-color: #edf9e5; border-color: #588751; }
.--YellowBox { color: #588751; background-color: #ffffe7; border-color: #588751; }
.--PointBox { position: relative; display: flex; flex-direction: column; align-items: flex-start; margin: 3rem auto; padding: 3%; width: 93.4%; color: #588751; font-size: 1.6rem; font-weight: 600; line-height: 2.0; background-color: #edf9e5; border-width: 2px; border-style: solid; border-color: #588751; }
.--PointBox:before { content: ""; }
.mce-content-body .--PointBox:before { height: initial; }
.--PointBox:after { content: "Point"; position: absolute; left: -2px; top: -35px; display: flex; justify-content: center; align-items: center; width: 75px; height: 35px; color: #fff; font-size: 2.0rem; font-weight: 500; line-height: 1.0; background-color: #588751; border-radius: 4px 4px 0 0; font-family: "Oswald"; }
.--Blank1 { padding-bottom: 1rem; }
.lightweight-accordion .lightweight-accordion-title { list-style: none; position: relative; margin: 0; padding: 2.5% 7% 2.5% 3%; width: 90%; background-color: #588751 !important; }
.lightweight-accordion .lightweight-accordion-title:after { position: absolute; right: 15px; top: 50%; transform: translateY(-50%); margin: 0; padding: 0; content: "\f078"; color: #fff; font-size: 1.8rem; font-weight: bold; font-family: "Font Awesome 6 Free"; }
.lightweight-accordion details[open] .lightweight-accordion-title:after { content: "\f077";  }
.lightweight-accordion .lightweight-accordion-title span { color: #fff; font-size: 1.6rem; font-weight: 600; }
.lightweight-accordion .lightweight-accordion-body { padding: 3%; width: 94%; background-color: #edf9e5; }
.lightweight-accordion .lightweight-accordion-body p { margin: 0; padding: 0 !important; color: #588751; font-size: 1.6rem; font-weight: 600; line-height: 2.0; }
.--DefaultButton,
.--SimpleButton { display: flex; justify-content: center; align-items: center; margin: 0 auto 3rem; }
.--DefaultButton a,
.--SimpleButton a { display: flex; justify-content: center; align-items: center; margin: 0 auto; font-size: 1.7rem; font-weight: 500; text-decoration: none; border-radius: 5px; box-shadow: 0 2px 8px 0 rgba(0, 0, 0, .15); }
.--DefaultButton a { padding: 15px 30px; color: #fff !important; }
.--SimpleButton a { padding: 15px 35px; border-width: 2px; border-style: solid; }
.--RedMarker { background:rgba(0, 0, 0, 0) linear-gradient(transparent 70%, #ca9ac9 0%) repeat scroll 0 0; /*赤色マーカー*/ }
.--BlueMarker { background:rgba(0, 0, 0, 0) linear-gradient(transparent 70%, #9ac6ca 0%) repeat scroll 0 0; /*青色マーカー*/ }
.--YellowMarker { background: rgba(0, 0, 0, 0) linear-gradient(transparent 70%, #dbdba8 0%) repeat scroll 0 0; /*黄色マーカー*/ }
.--GreenMarker { background: rgba(0, 0, 0, 0) linear-gradient(transparent 70%, #a4ca9a 0%) repeat scroll 0 0; /*緑色マーカー*/ }
/* テーブル */
table { max-width: 100%; margin: 3rem 0; border-left-width: 2px; border-left-style: solid; border-left-color: #fff; border-top-width: 2px; border-top-style: solid; border-top-color: #fff; border-radius: 10px; border-spacing: 0; }
table tbody { max-width: 100% !important; }
table tr:first-child th:first-child,
table tr:first-child td:first-child { border-radius: 8px 0 0 0; }
table tr:first-child th:last-child,
table tr:first-child td:last-child { border-radius: 0 8px 0 0; }
table tr:last-child th:first-child,
table tr:last-child td:first-child { border-radius: 0 0 0 8px; }
table tr:last-child th:last-child,
table tr:last-child td:last-child { border-radius: 0 0 8px 0; }
table tr:first-child th { color: #fff; background-color: #588751; }
table tr th,
table tr td { padding: 15px; font-size: 1.6rem; font-weight: 300; border-bottom: 2px solid #fff; border-right: 2px solid #fff; }
table tr:first-child th { font-weight: 600; }
table tr:first-child th:first-child p { color: #fff; font-weight: 600; }
table tr th { background-color: #ffffe7; }
table tr td { background-color: #f9f9f9; }
table tr th p,
table tr td p { padding: 0 !important; }
.mce-item-table { max-width: 100% !important; border-collapse: separate; margin: 3rem 0; }
.mce-item-table th { padding: 1rem 2rem; border: 1px solid #eaeaea; word-break: break-all; }
.mce-item-table td { padding: 1rem 2rem; border: 1px solid #eaeaea; line-height: 1.5; word-break: break-all; }

table.NoLine th { border: none; }
table.NoLine td { border: none; }
table.SideScroll { display: block; width: 100%; height: initial; overflow-x: auto; }
table.SideScroll tbody { display: table; }
table.SideScroll th,
table.SideScroll td { width: initial !important; white-space: nowrap; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .--WhiteBox,
  .--GreenBox,
  .--YellowBox,
  .--PointBox { margin: 2.5vw auto 2.5vw; font-size: 1.333vw; border-width: 0.167vw; }
  .--PointBox:before { left: -0.166vw; top: -2.916vw; width: 6.25vw; height: 2.916vw; font-size: 1.666vw; }
  .--Blank1 { padding-bottom: 0.833vw; }
  .lightweight-accordion .lightweight-accordion-title:after { right: 1.25vw; font-size: 1.5vw; }
  .lightweight-accordion .lightweight-accordion-title span,
  .lightweight-accordion .lightweight-accordion-body p { font-size: 1.333vw; }
  .--DefaultButton,
  .--SimpleButton { margin: 0 auto 2.5vw; }
  .--DefaultButton a,
  .--SimpleButton a { font-size: 1.5vw; border-radius: 0.4vw; }
  .--DefaultButton a { padding: 1.25vw 2.49vw; }
  .--SimpleButton a { padding: 1.25vw 2.9vw; }
  /* テーブル */
  table { margin: 2.5vw 0; border-left-width: 0.167vw; border-top-width: 2px; border-radius: 0.833vw; }
  table tr:first-child th:first-child,
  table tr:first-child td:first-child { border-radius: 0.666vw 0 0 0; }
  table tr:first-child th:last-child,
  table tr:first-child td:last-child { border-radius: 0 0.666vw 0 0; }
  table tr:last-child th:first-child,
  table tr:last-child td:first-child { border-radius: 0 0 0 0.666vw; }
  table tr:last-child th:last-child,
  table tr:last-child td:last-child { border-radius: 0 0 0.666vw 0; }
  table tr th,
  table tr td { padding: 1.25vw; font-size: 1.333vw; }
}

@media screen and (max-width: 600px) {
  table { width: 100% !important; /* table-layout: fixed; */ }
  table tr th,
  table tr td,
  table th p,
  table td p { font-size: 1.55rem; }
  table tr th,
  table tr td { padding: 3vw 2vw; }
  .lightweight-accordion-title p,
  .lightweight-accordion .lightweight-accordion-title span { font-size: 1.7rem !important; }
  .--SimpleFrame { padding: 2%; width: 96%; line-height: 1.5; }
  .--LabelBox { padding: 2%; width: 96%; }
  .--LabelBoxTitle { margin: -5vw 0 2vw; padding: 2% 3vw; }
  .--DefaultButton a { padding: 3.5vw 6vw; }
  .--SimpleButton a { padding: 3vw 7vw; }
}

/* Word Balloon
======================================================== */
.w_b_name { margin: 0 15px 10px 0; font-size: 1.6rem !important; font-weight: 600 !important; text-align: right; }
.w_b_ta_R { margin: 0 0 10px 15px; text-align: left !important; }
.w_b_talk { padding: 3% !important; min-height: initial !important; border-radius: 0 !important; }
.w_b_talk_L,
.w_b_talk_R { border: 1px solid #222 !important; }
.w_b_talk_L:before { left: 20px !important; top: -6px !important; transform: rotate(-45deg); border-top-color: #222 !important; border-right-color: #222 !important; }
.w_b_talk_L:after { left: 21px !important; top: -5px !important; transform: rotate(-45deg); }
.w_b_talk_R:before { right: 20px !important; top: -6px !important; transform: rotate(45deg); border-top-color: #222 !important; border-left-color: #222 !important; }
.w_b_talk_R:after { right: 21px !important; top: -5px !important; transform: rotate(45deg); }
.w_b_bal { line-height: 2.0; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .w_b_size_M { width: 8.0vw !important; height: 8.0vw !important; }
  .w_b_name { margin: 0 1.25vw 0.833vw !important; font-size: 1.333vw !important; }
  .w_b_ta_R { margin: 0 0 0.833vw 1.25vw; }
  /* .w_b_talk:before { border: 0.5vw solid transparent !important; }
  .w_b_talk:after { border: 0.416vw solid transparent; }
  .w_b_talk_L:before { left: 1.666vw !important; top: -0.5vw !important; }
  .w_b_talk_L:after { left: 1.75vw !important; top: -0.416vw !important; }
  .w_b_talk_R:before { right: 1.666vw !important; top: -0.5vw !important; }
  .w_b_talk_R:after { right: 1.75vw !important; top: -0.416vw !important; } */
  .w_b_talk { font-size: 1.333vw !important; }
}

@media screen and (max-width: 600px) {
  .w_b_name { font-size: 1.5rem !important; }
  .w_b_talk { font-size: 1.4rem !important; }
}

/* Utility classes
======================================================== */
.--PC { display: block; }
.--SP { display: none !important; }
.editor-styles-wrapper .is-root-container .--SP,
.mce-content-body .--SP { display: block !important; }
@media screen and (max-width: 600px) {
  .--PC { display: none !important; }
  .--SP { display: block !important; }
}
.--PositionFixed { position: fixed; z-index: 99; }
/* Heading */
.--TopHeading { margin: 0 auto; padding: 0 0 40px; width: 1000px; color: #588751; font-size: 7.0rem; font-weight: 500; letter-spacing: -0.025em; font-family: "Oswald"; background: none; border: none; }
.--TopHeading small { margin: 0 0 0 15px; padding: 0; font-size: 2.4rem; font-weight: 600; font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HiraKakuPro-W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",Arial, Helvetica, sans-serif; }
.--TopHeading:before,
.--TopHeading:after { display: none; }
.--TopSubHeading { margin: 0 auto 15px; padding: 8px; width: 984px; color: #222; font-size: 2.4rem; font-weight: 600; background: none; border: none; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #222; }
.--TopIntroText { margin: 0 auto; padding: 0 0 40px; width: 1000px; font-size: 1.6rem; }

/* Button */
.--Button a { position: relative; display: flex; justify-content: center; margin: 0 auto; padding: 8px 0; width: 100%; color: #588751; font-size: 2.0rem; font-weight: 600; text-decoration: none; text-align: center; background-color: #fff; border-width: 1px; border-style: solid; border-color: #588751; border-radius: 100px; transition: color 0.7s, background-color 0.7s; }
.--Button a:after { display: flex; align-items: center; margin: 0 0 0 5px; padding: 0; content: '\f178'; font-size: 2.0rem; font-family: "Font Awesome 6 Free"; font-weight: bold; }
.--Button a:hover { opacity: 1.0; color: #fff; background-color: #588751; }
/* Gradation */
.--TextGradation { display: inline-block; background: linear-gradient(90deg, #bf1d02 0%, #ffaf51 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.--BgGradation { background: linear-gradient(90deg, #bf1d02 0%, #ffaf51 100%); }
/* Shadow */
.--BoxShadow { box-shadow: 0 0 8px #e0e0e0; }
/* Font */
.--NotoSans { font-family: "Noto Sans JP"; }
.--NotoSerif { font-family: "Noto Serif JP"; }
.--Mincho { font-family: "Hiragino Mincho ProN","Hiragino Mincho Pro","游明朝","Yu Mincho",YuMincho,HGS明朝E,メイリオ,Meiryo,serif; }
.--Gothic { font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; }
.--RobotoCondensed { font-family: "Roboto Condensed", sans-serif; }
.--Montserrat { font-family: "Montserrat", sans-serif; }
.--LogoTypeGothic { font-family: "logoFont", sans-serif; }
/* YouTube */
.--YouTube { position: relative; padding-top: 56.25%; }
.--YouTube iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
/* Alignment */
.--AlignLeft { text-align: left; }
.--AlignCenter { text-align: center; }
.--AlignRight { text-align: right; }
/* Image */
.--ObjectFitCover { position: relative; display: block; width: 100%; background-color: #d9d9d9; overflow: hidden; object-fit: cover; }
.--ObjectFitCover:before { content: ""; display: block; }
.--ObjectFitCover img { position: absolute; width: 100%; height: 100%; top: 0; right: 0; bottom: 0; left: 0; margin: auto; object-fit: cover; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .--TopHeading { padding: 0 0 3.333vw; width: 83.333vw; font-size: 5.833vw; }
  .--TopHeading small { margin: 0 0 0 1.25vw; font-size: 2.0vw; }
  .--TopSubHeading { margin: 0 auto 1.25vw; padding: 0.666vw; width: 82vw; font-size: 2.0vw; }
  .--TopIntroText { padding: 0 0 3.333vw; width: 83.333vw; font-size: 1.333vw; }
  .--Button a { padding: 0.666vw 0; font-size: 1.666vw; }
  .--Button a:after { margin: 0 0 0 0.416vw; font-size: 1.666vw; }

  #ez-toc-container { margin-bottom: 0.83vw; padding: 0.83vw 1.66vw 0.83vw 0.83vw; border-radius: 0.3vw; /*目次*/ }
  div#ez-toc-container .ez-toc-title { font-size: 1.6vw; }
  #ez-toc-container .ez-toc-js-icon-con,
  #ez-toc-container .ez-toc-toggle label, .ez-toc-cssicon { border-radius: 0.42vw; left: 0.83vw; width: 2.9vw; }
  .ez-toc-icon-toggle-span { width: 2.95vw; height: 2.5vw; }
  div#ez-toc-container nav ul ul li { font-size: 1.14vw; }
  div#ez-toc-container ul li { font-size: 1.27vw; }
  #ez-toc-container ul ul,
  .ez-toc div.ez-toc-widget-container ul ul { margin-left: 1.9vw; }
}

@media screen and (max-width: 600px) {
  .--TopHeading { padding: 0 0 8vw; width: 90%; font-size: 3.4rem; }
  .--TopHeading small { margin: 0 0 0 3vw; font-size: 1.8rem; }
  .--TopSubHeading { padding: 2vw 2%; width: 86%; font-size: 2.0rem; }
  .--TopIntroText { padding: 0 0 4vw; width: 90%; }
  .--Button a { padding: 2vw 0; }
  .--Button a:after { margin: 0 0 0 2vw; }
  .--Button a:hover { opacity: 0; }
  .--Button a:active { opacity: 1.0; }
}

/* Inview.js
======================================================== */
.--InviewFade { opacity: 0; /*表示前に透明にしておく */ transform: translateY(60px); /*表示前の位置 */ transition: 0.8s; /*移動にかける時間 */ transition-delay: 0.1s; /*遅延をかける秒数 */ }
.--InviewFade.fadeInUp { opacity: 1; transform: translateY(0); }
.--InviewFade.--Delay1 { transition-delay: 0.3s; }
.--InviewFade.--Delay2 { transition-delay: 0.6s; }
.--InviewFade.--Delay3 { transition-delay: 0.9s; }
.--InviewFade.--Delay4 { transition-delay: 1.2s; }
.--InviewFade.--Delay5 { transition-delay: 1.5s; }
.--InviewFade.--Delay6 { transition-delay: 1.8s; }

.--InviewRight { opacity: 0; /*表示前に透明にしておく */ transform: translateX(60px); /*表示前の位置 */ transition: 0.8s; /*移動にかける時間 */ transition-delay: 0.1s; /*遅延をかける秒数 */ }
.--InviewRight.fadeInLeft { opacity: 1; transform: translateX(0); }
.--InviewRight.--Delay1 { transition-delay: 0.3s; }
.--InviewRight.--Delay2 { transition-delay: 0.6s; }
.--InviewRight.--Delay3 { transition-delay: 0.9s; }
.--InviewRight.--Delay4 { transition-delay: 1.2s; }
.--InviewRight.--Delay5 { transition-delay: 1.5s; }
.--InviewRight.--Delay6 { transition-delay: 1.8s; }

.--InviewLeft { opacity: 0; /*表示前に透明にしておく */ transform: translateX(-60px); /*表示前の位置 */ transition: 0.8s; /*移動にかける時間 */ transition-delay: 0.1s; /*遅延をかける秒数 */ }
.--InviewLeft.fadeInRight { opacity: 1; transform: translateX(0); }
.--InviewLeft.--Delay1 { transition-delay: 0.3s; }
.--InviewLeft.--Delay2 { transition-delay: 0.6s; }
.--InviewLeft.--Delay3 { transition-delay: 0.9s; }
.--InviewLeft.--Delay4 { transition-delay: 1.2s; }
.--InviewLeft.--Delay5 { transition-delay: 1.5s; }
.--InviewLeft.--Delay6 { transition-delay: 1.8s; }

/* FlashBack
======================================================== */
.--FlashBack { position: relative; overflow: hidden; }
.--FlashBack:before { content: ''; display: inline-block; width: 0; height: 100%; position: absolute; left: 0; top: 0; z-index: 1; background: #dfc893; }
.--FlashBack.--Move:before { animation: barAnime forwards 0.9s 1 ease 0.1s normal; }
.--FlashBack img { opacity: 0; transform: scale(1.2); }
.--FlashBack.--Move img { animation: photoAnime forwards 1.5s 1 ease 0.2s normal; }
@keyframes barAnime {
  0% { left: 0; width: 0; }
  50% { left: 0; width: 100%; }
  51% { left: 0; width: 100%; }
  68% { left: 0; width: 100%; }
  100% { left: 100%; width: 0; }
}
@keyframes photoAnime {
  0% { opacity: 0; transform: scale(1.1); }
  50% { opacity: 0; transform: scale(1.1); }
  100% { opacity: 1; transform: scale(1); }
}

.--FlashTop { position: relative; overflow: hidden; animation-delay: 3s; }
.--FlashTop:before { content: ''; display: inline-block; width: 0; height: 100%; position: absolute; left: 0; top: 0; z-index: 1; background: #1f3f77; }
.--FlashTop.--Move:before { animation: barAnime forwards 0.9s 1 ease 2.1s normal; }
.--FlashTop img { opacity: 0; transform: scale(1.2); }
.--FlashTop.--Move img { animation: photoAnime forwards 1.5s 1 ease 2.2s normal; }

.mce-content-body .--InviewFade { opacity: 1.0; }
.mce-content-body .--Delay1,
.mce-content-body .--Delay2,
.mce-content-body .--Delay3,
.mce-content-body .--Delay4,
.mce-content-body .--Delay5,
.mce-content-body .--Delay6 { transition-delay: initial; }
.mce-content-body .--FlashTop { animation-delay: initial; }
.mce-content-body .--FlashTop.--Move:before { display: none; }
.mce-content-body .--FlashTop img { opacity: initial; transform: initial; }

/* ヘッダー
======================================================== */
.Body__Header { margin: 0 auto; padding: 0; width: 100%; position: fixed; z-index: 99; top: 0; background-color: #fff; }
.Header { display: flex; justify-content: space-between; align-items: center; margin: 0 auto; padding: 15px 0; width: 1000px; }
.Header__Primary { display: flex; flex-direction: column; align-items: flex-start; margin: 0; padding: 0; width: 50%; }
.Header__SiteName { margin: 0; padding: 0; font-size: ; font-weight: 700; line-height: 1.5; }
.Header__SiteLogo { margin: 0; padding: 0; width: 290px; }
.Header__SiteLogo img { width: 100%; height: auto; }
.Header__Management { margin: 0; padding: 0; font-size: 1.0rem; font-weight: 600; line-height: 1.0; letter-spacing: 0; }
.Header__Management:before { content: "運営："; }
.Header__Secondary { display: flex; justify-content: flex-end; margin: 0; padding: 0; width: 50%; }
.Header__SecondaryButton { display: flex; margin: 0; padding: 0; }
.Header__SecondaryButton li { display: flex; margin: 0; padding: 0 15px 0 0; }
.Header__SecondaryButton li a { display: flex; flex-direction: column; justify-content: flex-end; align-items: center; margin: 0; padding: 10px 0; width: 85px; color: #fc5432; font-size: 1.0rem; font-weight: 600; letter-spacing: 0; text-align: center; text-decoration: none; border-width: 1px; border-style: solid; border-color: #fc5432; border-radius: 4px; }
.Header__SecondaryButton li.--Contact a { color: #588751; border-color: #588751; /* Webフォームで予約 */ }
.Header__SecondaryButton li a:before { content: ""; display: block; margin: 0 auto 5px; padding: 0; width: 32px; height: 32px; background-repeat: no-repeat; background-position: center center; background-size: 100% auto; }
.Header__SecondaryButton li.--Beginner a:before { background-image: url(/sozoku/wp-content/uploads/2025/12/header-icon-beginner.png); }
.Header__SecondaryButton li.--Contact a:before { background-image: url(/sozoku/wp-content/uploads/2025/12/header-icon-calendar.png); }
.Header__Contact { display: flex; flex-wrap: wrap; margin: 0; padding: 0; width: 240px; border-width: 1px; border-style: solid; border-color: #fc5432; border-radius: 8px; }
.Header__ContactHeading { margin: 0; padding: 5px 0; width: 100%; color: #fff; font-size: 1.2rem; font-weight: 800; line-height: 1.0; text-align: center; background-color: #fc5432; border-radius: 5px 5px 0 0; }
.Header__Contact dl { position: relative; display: flex; flex-direction: column; align-items: flex-start; margin: 0; padding: 10px 0 10px 20%; width: 80%; }
.Header__ContactPhoneNumber { display: flex; justify-content: center; align-items: center; margin: 0; padding: 0 0 5px; width: 100%; line-height: 1.0; font-family: /* "Helvetica Neue", */ Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; }
.Header__ContactPhoneNumber:before { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); display: flex; justify-content: center; align-items: center; width: 44px; height: 44px; color: #fff; content: "\f095"; font-size: 2.2rem; font-family: "Font Awesome 6 Free"; font-weight: bold; background-color: #fc5432; border-radius: 100px; }
.Header__ContactPhoneNumber a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #fff; opacity: 0; }
.Header__ContactPhoneNumber a:hover { cursor: pointer; opacity: 0.2; }
.Header__ContactPhoneNumber strong { color: #fc5432; font-size: 2.4rem; font-weight: 700; letter-spacing: 0; text-decoration: none; /*pointer-events: none; */}
.Header__ContactReceptionHours { display: flex; align-items: center; margin: 0 auto; padding: 0; width: 78%; color: #fc5432; font-size: 1.2rem; font-weight: 600; line-height: 1.0; letter-spacing: 0; white-space: nowrap; }
.Header__ContactReceptionHours:before { content: "受付時間："; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .Header { padding: 1.25vw 0; width: 83.333vw; }
  .Header__SiteLogo { width: 24.166vw; }
  .Header__Management { font-size: 0.833vw; }
  .Header__SecondaryButton li { padding: 0 1.25vw 0 0; }
  .Header__SecondaryButton li a { padding: 0.833vw 0; width: 7.083vw; font-size: 0.833vw; border-radius: 0.333vw; }
  .Header__SecondaryButton li a:before { margin: 0 auto 0.416vw; width: 2.666vw; height: 2.666vw; }
  .Header__Contact { width: 20vw; border-radius: 0.666vw; }
  .Header__ContactHeading { padding: 0.416vw 0; font-size: 1.0vw; border-radius: 0.416vw 0.416vw 0 0; }
  .Header__Contact dl { padding: 0.833vw 0 0.833vw 20%; }
  .Header__ContactPhoneNumber { padding: 0 0 0.416vw; }
  .Header__ContactPhoneNumber:before { left: 1.25vw; width: 3.666vw; height: 3.666vw; font-size: 1.833vw; }
  .Header__ContactPhoneNumber strong { font-size: 2.0vw; }
  .Header__ContactReceptionHours { font-size: 1.0vw; }
}

@media screen and (max-width: 600px) {
  .Body__Header { overflow: hidden; }
  .Header { padding: 3vw 5%; width: 90%; }
  .Header__Primary { width: 80%; }
  .Header__SiteLogo { width: 82%; }
  .Header__Management { font-size: 0.8rem; }
  .Header__Secondary { width: 20%; }
  .Header__SecondaryButton li { padding: 0; }
  .Header__SecondaryButton li a { padding: 3vw 0 2vw; width: 16vw; white-space: nowrap; }
  .Header__SecondaryButton li a:before { margin: 0 auto 1vw; width: 6vw; height: 6vw; }
  .Header__SecondaryButton li.--Contact,
  .Header__Contact { display: none; }
}

/* GlobalNavi
======================================================== */
.Body__GlobalNavi { position: relative; display: flex; justify-content: center; width: 100%; background-color: #588751; /*box-shadow: 0 5px 3px 0 #e0e0e0;*/ box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.25); overflow: hidden; }
.Body__GlobalNavi.--PositionFixed { left: 0; position: fixed; top: 0; z-index: 100; }
.GlobalNavi { display: flex; justify-content: space-between; align-items: center; }
.GlobalNavi li { position: relative; width: 125px; text-align: center; }
.GlobalNavi li:before,
.GlobalNavi li:last-child:after { content: ""; display: inline-block; position: absolute; top: 50%; transform: translateY(-50%); height: 100%; width: 1px; background-color: #fff; }
.GlobalNavi li:before { left: 0; }
.GlobalNavi li:last-child:after { right: 0; }
.GlobalNavi a { display: flex; justify-content: center; align-items: center; padding: 13px 0; color: #fff; font-size: 1.2rem; font-weight: 600; text-decoration: none; transition: color 0.7s, background-color 0.7s; }
.GlobalNavi a:hover { opacity: 1.0; color: #588751; background-color: #edf9e5; }
.GlobalNavi a:hover:before { transition: 0.7s; filter: brightness(0) saturate(100%) invert(58%) sepia(47%) saturate(468%) hue-rotate(84deg) brightness(70%) contrast(92%); }
.GlobalNavi li { position: relative; /* ドロップダウンメニュー(PC) */ }
.GlobalNavi li a:hover .sub-menu { transform: scaleY(1); }
.GlobalNavi .sub-menu { z-index: 1000; display: none; background: rgba(102,102,102,0.9); position: absolute; top: 45px; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); width: 200px; }
.GlobalNavi .sub-menu li { position: relative; display: flex; flex-direction: column; margin: 0; padding: 0; width: 100%; }
.GlobalNavi .sub-menu li:before,
.GlobalNavi .sub-menu li:after { display: none; }
.GlobalNavi .sub-menu li a { display: block; margin: 0 auto; padding: 10px 5%; width: 90%; color: #fff; font-size: 1.4rem; text-align: left; border-bottom: 1px solid #fff; }
.GlobalNavi .sub-menu li a:hover { opacity: 0.7; }
.GlobalNavi .sub-menu li a:after { display: none; }

.GlobalNavi li a:before { content: ""; margin: 0 5px 0 0; padding: 0; width: 16px; height: 16px; background-repeat: none; background-position: center center; background-size: 100% auto; }
.GlobalNavi li.--Office a:before { background-image: url(/sozoku/wp-content/uploads/2025/12/gnavi-icon1.png); }
.GlobalNavi li.--Price a:before { background-image: url(/sozoku/wp-content/uploads/2025/12/gnavi-icon2.png); }
.GlobalNavi li.--FreeConsulting a:before { background-image: url(/sozoku/wp-content/uploads/2025/12/gnavi-icon3.png); }
.GlobalNavi li.--Access a:before { background-image: url(/sozoku/wp-content/uploads/2025/12/gnavi-icon4.png); }
.GlobalNavi li.--Customer a:before { background-image: url(/sozoku/wp-content/uploads/2025/12/gnavi-icon5.png); }
.GlobalNavi li.--Case a:before { background-image: url(/sozoku/wp-content/uploads/2025/12/gnavi-icon6.png); }
.GlobalNavi li.--Reason a:before { background-image: url(/sozoku/wp-content/uploads/2025/12/gnavi-icon7.png); }
.GlobalNavi li.--Contact a:before { background-image: url(/sozoku/wp-content/uploads/2025/12/gnavi-icon8.png); }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .GlobalNavi li { width: 10.416vw; }
  .GlobalNavi a { padding: 1.083vw 0; font-size: 1.0vw; }
  .GlobalNavi .sub-menu { top: ; width: ; }
  .GlobalNavi .sub-menu li a { padding: ; font-size: ; }
  .GlobalNavi li a:before { margin: 0 0.416vw 0 0; width: 1.333vw; height: 1.333vw; }
}

@media screen and (max-width: 600px) {
  .Body__GlobalNavi { justify-content: flex-start; padding: 3vw 5%; width: 90%; overflow: auto; }
  .GlobalNavi {}
  .GlobalNavi li { display: flex; margin: 0 2.5vw 0 0; padding: 0; width: 20vw; }
  .GlobalNavi li:last-child { margin-right: 0; }
  .GlobalNavi li:before,
  .GlobalNavi li:last-child:after { display: none; }
  .GlobalNavi li a { display: flex; flex-direction: column; align-items: center; margin: 0; padding: 2vw 0; width: 100%; color: #222; font-size: 1.3rem; font-weight: 600; text-align: center; text-decoration: none; background-color: #fff; border-radius: 8px; box-shadow: 0 7px 7px -5px #222; transition: color 0.7s, background-color 0.7s; }
  .GlobalNavi li a:hover { opacity: 1.0; color: #588751; background-color: #edf9e5; }
  .GlobalNavi li a:before { content: ""; margin: 0 0 1vw 0; padding: 0; width: 6vw; height: 6vw; background-repeat: no-repeat; background-position: center center; background-size: 100% auto; }
  .GlobalNavi li.--Office a:before { background-image: url(/sozoku/wp-content/uploads/2025/12/secondary-navi-icon1.png); }
  .GlobalNavi li.--Price a:before { background-image: url(/sozoku/wp-content/uploads/2025/12/secondary-navi-icon2.png); }
  .GlobalNavi li.--FreeConsulting a:before { background-image: url(/sozoku/wp-content/uploads/2025/12/secondary-navi-icon3.png); }
  .GlobalNavi li.--Access a:before { background-image: url(/sozoku/wp-content/uploads/2025/12/secondary-navi-icon4.png); }
  .GlobalNavi li.--Customer a:before { background-image: url(/sozoku/wp-content/uploads/2025/12/secondary-navi-icon5.png); }
  .GlobalNavi li.--Case a:before { background-image: url(/sozoku/wp-content/uploads/2025/12/secondary-navi-icon6.png); }
  .GlobalNavi li.--Reason a:before { background-image: url(/sozoku/wp-content/uploads/2025/12/secondary-navi-icon7.png); }
  .GlobalNavi li.--Contact a:before { background-image: url(/sozoku/wp-content/uploads/2025/12/secondary-navi-icon8.png); }
}

/* 
======================================================== */
@media only screen and (min-width:601px) and (max-width:1200px) {
  .--Spacer { height: 13.083vw !important; }
}

/* 【TOP】メインビジュアル
======================================================== */
.Body__MainVisual { margin: 0 auto; padding: 40px 0; width: 100%; }
.MainVisual { margin: 0 auto; padding: 0; width: 1000px; }
.MainVisual .slick-track { display: flex; }
.MainVisual .slick-slide { height: auto !important; }
.MainVisual .slick-dots { display: flex; justify-content: center; bottom: -35px; left: 50%; transform: translateX(-50%); width: 96%; }
.MainVisual .slick-dots li,
.MainVisual .slick-dots li button { width: 10px; height: 10px; }
.MainVisual .slick-dots li button:before { color: #d9d9d9; font-size: 1.0rem; }
.MainVisual .slick-dots li.slick-active button:before { color: #7a7a7a; }
.MainVisual .slick-prev,
.MainVisual .slick-next { z-index: 1; top: 50% !important; display: flex; justify-content: center; align-items: center; width: 40px; height: 40px; background: #fff; border-width: 4px; border-style: solid; border-color: #7a7a7a; border-radius: 50%; }
.MainVisual .slick-prev { left: -20px; }
.MainVisual .slick-next { right: -20px; }
.MainVisual .slick-prev:hover,
.MainVisual .slick-next:hover { filter: brightness(1.2); }
.MainVisual .slick-prev:before,
.MainVisual .slick-next:before { color: #7a7a7a; font-size: 1.6rem; font-family: "Font Awesome 6 Free"; font-weight: bold; -webkit-text-stroke-width: 3px; -webkit-text-stroke-color: #7a7a7a; }
.MainVisual .slick-prev:before { content: "\f053"; }
.MainVisual .slick-next:before { content: "\f054"; }
.MainVisual__Item { position: relative; margin: 0; padding: 0; width: 100%; }
.MainVisual__Item a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #fff; opacity: 0; }
.MainVisual__Item a:hover { opacity: 0.3; }
.MainVisual__Image { width: 100%; }
.MainVisual__Image img { width: 100%; height: auto; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .Body__MainVisual { padding: 3.333vw 0; }
  .MainVisual { width: 83.333vw; }
  .MainVisual .slick-dots { bottom: -2.916vw; }
  .MainVisual .slick-dots li,
  .MainVisual .slick-dots li button { width: 0.833vw; height: 0.833vw; }
  .MainVisual .slick-dots li button:before { font-size: 0.833vw; }
  .MainVisual .slick-prev,
  .MainVisual .slick-next { width: 3.333vw; height: 3.333vw; border-width: 0.334vw; }
  .MainVisual .slick-prev { left: -1.666vw; }
  .MainVisual .slick-next { right: -1.666vw; }
  .MainVisual .slick-prev:before,
  .MainVisual .slick-next:before { font-size: 1.333vw; -webkit-text-stroke-width: 0.25vw; }
}

@media screen and (max-width: 600px) {
  .Body__MainVisual { padding: 5vw 0 0; overflow: hidden; }
  .MainVisual { width: 90%; }
  .MainVisual .slick-prev,
  .MainVisual .slick-next { width: 6vw; height: 6vw; border-width: 2px; }
  .MainVisual .slick-prev { left: -3vw; }
  .MainVisual .slick-next { right: -3vw; }
  .MainVisual .slick-prev:before,
  .MainVisual .slick-next:before { font-size: 1.0rem; -webkit-text-stroke-width: 2px; }
  .MainVisual .slick-dots { bottom: -4vw; }
  .MainVisual .slick-dots li,
  .MainVisual .slick-dots li button { margin: 0 0.5vw; width: 2vw; height: 2vw; }
  .MainVisual .slick-dots li button:before { width: 2vw; height: 2vw; font-size: 0.8rem; line-height: 2vw; }
  .MainVisual__Item a:hover { opacity: 0; }
  .MainVisual__Item a:active { opacity: 0.3; }
}

/* 【TOP】セカンダリーナビ
======================================================== */
.Body__SecondaryNavi { margin: 0 auto; padding: 20px 0; width: 100%; background-color: #588751; }
.SecondaryNavi { display: flex; justify-content: space-between; align-items: flex-start; margin: 0 auto; padding: 0; width: 1000px; }
.SecondaryNavi li { display: flex; margin: 0; padding: 0; }
.SecondaryNavi li a { display: flex; flex-direction: column; align-items: center; margin: 0; padding: 15px 0; width: 110px; color: #222; font-size: 1.4rem; font-weight: 600; text-align: center; text-decoration: none; background-color: #fff; border-radius: 8px; box-shadow: 0 7px 7px -5px #222; transition: color 0.7s, background-color 0.7s; }
.SecondaryNavi li a:hover { opacity: 1.0; color: #588751; background-color: #edf9e5; }
.SecondaryNavi li a:before { content: ""; margin: 0 0 5px; padding: 0; width: 24px; height: 24px; background-repeat: no-repeat; background-position: center center; background-size: 100% auto; }
.SecondaryNavi li.--Office a:before { background-image: url(/sozoku/wp-content/uploads/2025/12/secondary-navi-icon1.png); }
.SecondaryNavi li.--Price a:before { background-image: url(/sozoku/wp-content/uploads/2025/12/secondary-navi-icon2.png); }
.SecondaryNavi li.--FreeConsulting a:before { background-image: url(/sozoku/wp-content/uploads/2025/12/secondary-navi-icon3.png); }
.SecondaryNavi li.--Access a:before { background-image: url(/sozoku/wp-content/uploads/2025/12/secondary-navi-icon4.png); }
.SecondaryNavi li.--Customer a:before { background-image: url(/sozoku/wp-content/uploads/2025/12/secondary-navi-icon5.png); }
.SecondaryNavi li.--Case a:before { background-image: url(/sozoku/wp-content/uploads/2025/12/secondary-navi-icon6.png); }
.SecondaryNavi li.--Reason a:before { background-image: url(/sozoku/wp-content/uploads/2025/12/secondary-navi-icon7.png); }
.SecondaryNavi li.--Contact a:before { background-image: url(/sozoku/wp-content/uploads/2025/12/secondary-navi-icon8.png); }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .Body__SecondaryNavi { padding: 1.666vw 0; }
  .SecondaryNavi { width: 83.333vw; }
  .SecondaryNavi li a { padding: 1.25vw 0; width: 9.166vw; font-size: 1.166vw; border-radius: 0.666vw; }
  .SecondaryNavi li a:before { margin: 0 0 0.416vw; width: 0 0 0.416vw 0; height: 0 0 0.416vw 0; }
}

@media screen and (max-width: 600px) {
  .Body__SecondaryNavi { padding: 5vw 5% 3vw; width: 90%; overflow: hidden}
  .SecondaryNavi { flex-wrap: wrap; width: 100%; }
  .SecondaryNavi li { margin-bottom: 2.5vw; width: 20vw; }
  .SecondaryNavi li a { padding: 2vw 0; width: 100%; font-size: 1.3rem; }
  .SecondaryNavi li a:before { margin: 0 0 1vw 0; width: 6vw; height: 6vw; }
}

/* 【TOP】Service 相続アシストとは
======================================================== */
.Body__TopService { margin: 0 auto; padding: 50px 0 80px; width: 100%; }
.TopService { margin: 0 auto; padding: 0; width: 1000px; }
.TopService__Image { margin: 0; padding: 0 0 30px; width: 100%; }
.TopService__Image img { width: 100%; height: auto; }
.TopService__Text { margin: 0; padding: 0 0 40px; }
.TopService__Text p { margin: 0; padding: 0; font-size: 1.6rem; font-weight: 600; line-height: 2.0; }
.TopService .--Button { margin: 0 auto; padding: 0; width: 390px; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .Body__TopService { padding: 4.166vw 0 6.666vw; }
  .TopService { width: 83.333vw; }
  .TopService__Image { padding: 0 0 2.5vw; }
  .TopService__Text { padding: 0 0 3.333vw; }
  .TopService__Text p { font-size: 1.333vw; }
  .TopService .--Button { width: 32.5vw; }
}

@media screen and (max-width: 600px) {
  .Body__TopService { padding: 8vw 0 10vw; overflow: hidden; }
  .TopService { width: 90%; }
  .TopService__Image { padding: 0 0 3vw; }
  .TopService__Text { padding: 0 0 4vw; }
  .TopService__Text p { font-size: 1.55rem; line-height: 1.8; }
  .TopService .--Button { width: 90%; }
}

/* 【TOP】Recommended おすすめ記事
======================================================== */
.Body__TopRecommended { margin: 0 auto; padding: 50px 0; width: 100%; background-color: #f9f9f9; }
.TopRecommended { display: flex; justify-content: flex-start; flex-wrap: wrap; margin: 0 auto; padding: 0 0 40px; width: 1000px; }
.TopRecommended__Item { position: relative; display: flex; flex-direction: column; }
.TopRecommended.--ThreeColumns .TopRecommended__Item { margin: 0 20px 20px 0; width: 320px; }
.TopRecommended.--ThreeColumns .TopRecommended__Item:nth-of-type(3n) { margin-right: 0; }
.TopRecommended.--TwoColumns .TopRecommended__Item { margin: 0 20px 20px 0; width: 490px; }
.TopRecommended.--TwoColumns .TopRecommended__Item:nth-of-type(2n) { margin-right: 0; }
.TopRecommended__Item a { position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; background-color: #fff; opacity: 0; }
.TopRecommended__Item a:hover { transition: 0.5s; opacity: 0.3; }
.TopRecommended__Image { margin: 0 auto 10px; padding: 0; width: 100%; }
.TopRecommended__Image:before { padding-top: 56%; }
.TopRecommended__Image img { width: 100%; height: auto; }
.TopRecommended__List { display: flex; flex-wrap: wrap; margin: 0; padding: 0; }
.TopRecommended__List li { margin: 0 10px 10px 0; padding: 8px; color: #222; font-size: 1.4rem; font-weight: 600; background-color: #edf9e5; }
.TopRecommended__Date p { margin: 0; padding: 0; color: #666; font-size: 1.2rem; }
.TopRecommended__Title { margin: 0; padding: 0; width: 100%; }
.TopRecommended__Title p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0; padding: 0; color: #222; font-size: 2.0rem; font-weight: 600; line-height: 1.35; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .Body__TopRecommended { padding: 4.166vw 0; }
  .TopRecommended { padding: 0 0 3.333vw; width: 83.333vw; }
  .TopRecommended.--ThreeColumns .TopRecommended__Item { margin: 0 1.666vw 1.666vw 0; width: 26.666vw; }
  .TopRecommended.--TwoColumns .TopRecommended__Item { margin: 0 1.666vw 1.666vw 0; width: 40.833vw; }
  .TopRecommended__Image { margin: 0 auto 0.833vw; }
  .TopRecommended__List li { margin: 0 0.833vw 0.833vw 0; padding: 0.666vw; font-size: 1.166vw; }
  .TopRecommended__Date p { font-size: 1.0vw; }
  .TopRecommended__Title p { font-size: 1.666vw; }
}

@media screen and (max-width: 600px) {
  .Body__TopRecommended { padding: 10vw 0; overflow: hidden; }
  .TopRecommended { justify-content: space-between; padding: 0 0 4vw; width: 90%; }
  .TopRecommended.--ThreeColumns .TopRecommended__Item,
  .TopRecommended.--TwoColumns .TopRecommended__Item { margin: 0 0 4vw 0; width: 48%; }
  .TopRecommended__Item a:hover { opacity: 0; }
  .TopRecommended__Item a:active { opacity: 0.3; }
  .TopRecommended__Image { margin: 0 auto 2vw; }
  .TopRecommended__List li { margin: 0 1vw 1vw 0; padding: 1vw; font-size: 1.0rem; }
  .TopRecommended__Title p { font-size: 1.5rem; }
}

/* 無料相談受付中!!
======================================================== */
.Body__CallToAction { margin: 0 auto; padding: 0; }
.CallToAction { position: relative; display: flex; flex-direction: column; align-items: center; margin: 0 auto; padding: 0 0 80px; width: 100%; background-color: #588751; }
.CallToAction__Heading { z-index: 1; margin: -35px auto 0; padding: 0 0 30px; width: 440px; }
.CallToAction__Heading img { width: 100%; height: auto; }
.CallToAction__Text { margin: 0 auto; padding: 0 0 60px; color: #fff; font-size: 1.8rem; font-weight: 600; line-height: 2.0; text-align: center; }
.CallToAction__Phone { position: relative; display: flex; flex-direction: column; margin: 0 auto 20px; padding: 0; width: 560px; background-color: #fc5432; box-shadow: 0 3px 0 0 #ffa387; border-radius: 4px; }
.CallToAction__PhoneHeading { pointer-events: none; z-index: 2; margin: -20px auto 0; padding: 0; width: 205px; }
.CallToAction__PhoneHeading img { width: 100%; height: auto; }
.CallToAction__Phone dd { display: flex; flex-direction: column; align-items: flex-start; margin: 0; padding: 0 0 10px 180px; }
.CallToAction__Phone a { /* pointer-events: none; */ position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; background-color: #fff; opacity: 0; }
.CallToAction__Phone a:hover { opacity: 0.2; }
.CallToAction__PhoneNumber { display: flex; justify-content: center; align-items: center; margin: 0; padding: 0 0 5px; color: #fff; font-size: 4.0rem; font-weight: 700; line-height: 1.0; font-family: /* "Helvetica Neue", */ Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; }
.CallToAction__PhoneNumber:before { position: absolute; z-index: 0; left: 120px; bottom: 25px; display: flex; justify-content: center; align-items: center; width: 48px; height: 48px; color: #fc5432; content: "\f095"; font-size: 2.3rem; font-family: "Font Awesome 6 Free"; font-weight: bold; background-color: #fff; border-radius: 100px; pointer-events: none; }
.CallToAction__ReceptionHours { display: flex; align-items: center; margin: 0; padding: 0 0 0 30px; width: 100%; color: #fff; font-size: 1.6rem; font-weight: 700; line-height: 1.0; letter-spacing: 0; white-space: nowrap; }
.CallToAction__ReceptionHours:before { margin: 0 10px 0 0; content: "受付時間"; }
.CallToAction__Contracted { padding: 5px 0 0 22px; color: #fff; font-size: 1.2rem; font-weight: 600; }
.CallToAction__Contracted small { font-size: 1.0rem; }
.CallToAction__Mail { margin: 0 auto; padding: 0; width: 560px; }
.CallToAction__Mail a { display: flex; justify-content: center; align-items: center; margin: 0; padding: 10px 0; width: 100%; color: #588751; font-size: 2.4rem; font-weight: 800; text-decoration: none; background-color: #fff; border-radius: 4px; transition: opacity 0.7s; }
.CallToAction__Mail a:before { display: flex; align-items: center; content: ""; margin: 0 10px 0 0; width: 32px; height: 34px; background-image: url(/sozoku/wp-content/uploads/2025/12/header-icon-calendar.png); background-repeat: no-repeat; background-position: center bottom; background-size: 100% auto; }

.SubPage__CallToAction { /* 下層コンテンツ末尾 */ }
.SubPage__CallToAction .CallToAction { padding: 0 0 20px; }
.SubPage__CallToAction .CallToAction__Heading img { padding-bottom: 0 !important; }
.SubPage__CallToAction .CallToAction__Text { padding-bottom: 60px; width: 90%; }
.SubPage__CallToAction .CallToAction__PhoneHeading img { padding-bottom: 0 !important; }
.SubPage__CallToAction .CallToAction__Mail a { padding: 5px 0; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .CallToAction { padding: 0 0 6.666vw; }
  .CallToAction__Heading { margin: -2.916vw auto 0; padding: 0 0 2.5vw; width: 36.666vw; }
  .CallToAction__Text { padding: 0 0 5.0vw; font-size: 1.5vw; }
  .CallToAction__Phone { margin: 0 auto 1.666vw; width: 46.666vw; border-radius: 0.333vw; }
  .CallToAction__PhoneHeading { margin: -1.666vw auto 0; width: 17.083vw; }
  .CallToAction__Phone dd { padding: 0 0 0.833vw 15vw; }
  .CallToAction__PhoneNumber { padding: 0 0 0.416vw; font-size: 3.333vw; }
  .CallToAction__PhoneNumber:before { left: 10vw; bottom: 2.083vw; width: 4.0vw; height: 4.0vw; font-size: 1.916vw; }
  .CallToAction__ReceptionHours { padding: 0 0 0 2.5vw; font-size: 1.333vw; }
  .CallToAction__ReceptionHours:before { margin: 0 0.833vw 0 0; }
  .CallToAction__Contracted { padding: 0.416vw 0 0 1.833vw; font-size: 1.0vw; }
  .CallToAction__Contracted small { font-size: 0.833vw; }
  .CallToAction__Mail { width: 46.666vw; }
  .CallToAction__Mail a { padding: 0.833vw 0; font-size: 2.0vw; border-radius: 0.333vw; }
  .CallToAction__Mail a:before { margin: 0 0.833vw 0 0; width: 2.666vw; height: 2.833vw; }

  .SubPage__CallToAction { /* 下層コンテンツ末尾 */ }
  .SubPage__CallToAction .CallToAction { padding: 0 0 1.666vw; }
  .SubPage__CallToAction .CallToAction__Text { padding-bottom: 5.0vw; }
  .SubPage__CallToAction .CallToAction__Mail a { padding: 0.416vw 0; }
}

@media screen and (max-width: 600px) {
  .CallToAction { padding: 0 0 6vw; }
  .CallToAction__Heading { margin: -6vw auto 0; padding: 0 0 5vw; width: 82%; }
  .CallToAction__Text { padding: 0 0 8vw; width: 80%; font-size: 1.55rem; line-height: 1.8; }
  .CallToAction__Text span { display: block; }
  .CallToAction__Phone { margin: 0 auto 4vw; width: 90%; }
  .CallToAction__PhoneHeading { margin: -4vw auto 0; width: 38%; }
  .CallToAction__Phone dd { padding: 1vw 0 2vw 25vw; }
  .CallToAction__Phone a { pointer-events: initial; }
  .CallToAction__Phone a:hover { opacity: 0; }
  .CallToAction__Phone a:active { opacity: 0.3; }
  .CallToAction__PhoneNumber { padding: 0 0 1vw; }
  .CallToAction__PhoneNumber:before { left: 11vw; bottom: 5vw; width: 11vw; height: 11vw; font-size: 2.4rem; }
  .CallToAction__ReceptionHours { padding: 0 0 0 15%; width: 85%; font-size: 1.45rem; }
  .CallToAction__ReceptionHours:before { margin-right: 1vw; }
  .CallToAction__Contracted { padding: 1vw 0 0 6vw; }
  .CallToAction__Mail { width: 90%; }
  .CallToAction__Mail a { padding: 1vw 0; }
  .CallToAction__Mail a:before { margin: 0 2vw 0 0; width: 6vw; height: 6vw; }
}

/* 【TOP】Point 当社が選ばれる理由
======================================================== */
.Body__TopPoint { margin: 0 auto; padding: 60px 0; }
.TopPoint { display: flex; justify-content: flex-start; flex-wrap: wrap; margin: 0 auto; padding: 0; width: 1000px; }
.TopPoint__Item { position: relative; display: flex; flex-direction: column; margin: 0 20px 30px 0; padding: 0; width: 320px; border-radius: 0 0 8px 8px; box-shadow: 0 4px 4px #e0e0e0; counter-increment: point-num; }
.TopPoint__Item:nth-of-type(3n) { margin-right: 0; }
.TopPoint__Item a { position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; background-color: #fff; opacity: 0; transition: opacity 0.7s; }
.TopPoint__Item a:hover { opacity: 0.3; }
.TopPoint__Number { display: flex; justify-content: center; align-items: flex-end; margin: 0; padding: 10px 0; width: 100%; color: #588751; font-size: 2.0rem; font-weight: 500; font-family: "Oswald"; line-height: 1.0; }
.TopPoint__Number:after { margin: 0 0 0 5px; font-size: 4.8rem; font-weight: 700; letter-spacing: -0.025em; line-height: 0.7; font-family: /* "Helvetica Neue", */ Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; content: counter(point-num, decimal-leading-zero); }
.TopPoint__Image { margin: 0; padding: 0; width: 100%; }
.TopPoint__Image:before { padding-top: 56%; }
.TopPoint__Image img { width: 100%; height: auto; }
.TopPoint__Title { flex-grow: 1; position: relative; display: flex; justify-content: center; align-items: center; margin: 0; padding: 8px 10%; background-color: #588751; border-radius: 0 0 8px 8px; }
.TopPoint__Title:after { position: absolute; right: 15px; top: 50%; transform: translateY(-50%); margin: 0; padding: 0; content: "\f138"; color: #fff; font-size: 2.0rem; font-weight: bold; font-family: "Font Awesome 6 Free"; }
.TopPoint__Title p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0; padding: 0; color: #fff; font-size: 2.0rem; font-weight: 800; line-height: 1.35; }
.Body__TopPoint .--Button { margin: 10px auto 0; width: 390px; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .Body__TopPoint { padding: 5.0vw 0; }
  .TopPoint { width: 83.333vw; }
  .TopPoint__Item { margin: 0 1.666vw 2.5vw 0; width: 26.666vw; border-radius: 0 0 0.666vw 0.666vw; }
  .TopPoint__Number { font-size: 1.666vw; }
  .TopPoint__Number:after { margin: 0 0 0 0.416vw; font-size: 4.0vw; }
  .TopPoint__Title { padding: 0.666vw 10%; border-radius: 0 0 0.666vw 0.666vw; }
  .TopPoint__Title:after { right: 1.25vw; font-size: 1.666vw; }
  .TopPoint__Title p { font-size: 1.666vw; }
  .Body__TopPoint .--Button { margin: 0.666vw auto 0; width: 32.5vw; }
}

@media screen and (max-width: 600px) {
  .Body__TopPoint { padding: 8vw 0 12vw; overflow: hidden; }
  .TopPoint { justify-content: space-between; width: 90%; }
  .TopPoint__Item { margin: 0 0 5vw 0; width: 48%; }
  .TopPoint__Item a:hover { opacity: 0; }
  .TopPoint__Item a:active { opacity: 0.3; }
  .TopPoint__Number { padding: 2vw 0; font-size: 1.8rem; }
  .TopPoint__Number:after { margin: 0 0 0 1vw; font-size: 3.8rem; }
  .TopPoint__Title { padding: 2vw 10%; }
  .TopPoint__Title:after { right: 1.5vw; font-size: 1.6rem; }
  .TopPoint__Title p { font-size: 1.6rem; }
  .TopPoint__Title p br { display: none; }
  .Body__TopPoint .--Button { margin: 0 auto; width: 78%; }
}

/* 【TOP】FAQ よくある質問
======================================================== */
.Body__TopFaq { margin: 0 auto; padding: 60px 0; width: 100%; background-color: #f9f9f9; }
.TopFaq { display: flex; flex-direction: column; margin: 0 auto; padding: 0; width: 1000px; }
.TopFaq__Item { margin: 0 auto 30px; padding: 20px 40px; width: 920px; background-color: #fff; border-radius: 8px; }
.TopFaq__Question { position: relative; margin: 0; padding: 15px 0 15px 50px; font-size: 2.0rem; font-weight: 600; background: none; border: none; }
.TopFaq__Question:before { content: "Q"; position: absolute; left: 0; top: 5px; display: flex; justify-content: center; align-items: center; margin: 0; padding: 0; width: 40px; height: 40px; color: #fff; background-color: #588751; border: 1px solid #588751; border-radius: 2px; font-size: 2.4rem; font-weight: 500; font-family: "Oswald"; }
.TopFaq__Answer p { position: relative; margin: 0; padding: 15px 0 15px 50px; font-size: 1.6rem; line-height: 1.5; }
.TopFaq__Answer p:before { content: "A"; position: absolute; left: 0; top: 5px; display: flex; justify-content: center; align-items: center; margin: 0; padding: 0; width: 40px; height: 40px; border: 1px solid #588751; border-radius: 2px; color: #588751; font-size: 2.4rem; font-weight: 500; font-family: "Oswald"; }
.Body__TopFaq .--Button { margin: 10px auto 0; width: 390px; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .Body__TopFaq { padding: 5.0vw 0; }
  .TopFaq { width: 83.333vw; }
  .TopFaq__Item { margin: 0 auto 2.5vw; padding: 1.666vw 3.333vw; width: 76.666vw; border-radius: 0.666vw; }
  .TopFaq__Question { padding: 1.25vw 0 1.25vw 4.166vw; font-size: 1.666vw; }
  .TopFaq__Question:before { top: 0.416vw; width: 3.333vw; height: 3.333vw; border-radius: 0.167vw; font-size: 2.0vw; }
  .TopFaq__Answer p { padding: 1.25vw 0 1.25vw 4.166vw; font-size: 1.333vw; }
  .TopFaq__Answer p:before { top: 0.416vw; width: 3.333vw; height: 3.333vw; border-radius: 0.167vw; font-size: 2.0vw; }
  .Body__TopFaq .--Button { margin: 0.666vw auto 0; width: 32.5vw; }
}

@media screen and (max-width: 600px) {
  .Body__TopFaq { padding: 8vw 0 4vw; overflow: hidden; }
  .Body__TopFaq .--TopHeading { padding: 0 0 6vw; font-size: 2.8rem; }
  .Body__TopFaq .--TopHeading small { margin: 0 0 0 2vw; font-size: 1.3rem; }
  .TopFaq { width: 90%; }
  .TopFaq__Item { margin: 0 auto 6vw; padding: 4vw 6% 2vw; width: 88%; }
  .TopFaq__Question { padding: 3vw 0 3vw 9vw; font-size: 1.8rem; }
  .TopFaq__Question:before { top: 1.5vw; width: 6vw; height: 6vw; }
  .TopFaq__Answer p { padding: 3vw 0 3vw 9vw; width: 88%; font-size: 1.55rem; }
  .TopFaq__Answer p:before { top: 2.5vw; width: 6vw; height: 6vw; }
  .Body__TopFaq .--Button { margin: 0 auto; width: 78%; }
}

/* Related 関連記事
======================================================== */
.Body__RelatedPost { margin: 0 auto; padding: 60px 0; width: 100%; }
.Body__RelatedPost .--TopHeading { line-height: 1.0; }
.RelatedPost { display: flex; justify-content: space-between; flex-wrap: wrap; margin: 0 auto; padding: 0; width: 1000px; }
.RelatedPost__Item { position: relative; display: flex; justify-content: space-between; margin: -1px 0 0; padding: 20px 0; width: 490px; border: 1px dashed #7a7a7a; border-left: none; border-right: none; }
.RelatedPost__Item a { position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; background-color: #fff; opacity: 0; transition: opacity 0.7s; }
.RelatedPost__Item a:hover { opacity: 0.3; }
.RelatedPost__Primary { margin: 0; padding: 0; width: 33%; border-radius: 4px; overflow: hidden; }
.RelatedPost__Primary:before { padding-top: 56%; }
.RelatedPost__Primary img { width: 100%; height: auto; }
.RelatedPost__Secondary { display: flex; flex-direction: column; justify-content: center; margin: 0 0 0 2%; width: 65%; }
.RelatedPost__Category { display: flex; flex-wrap: wrap; margin: 0 0 10px; padding: 0; }
.RelatedPost__Category span { display: flex; justify-content: center; margin: 0 5px 0 0; padding: 5px 10px; font-size: 1.4rem; font-weight: 300; background-color: #edf9e5; border-radius: 100px; }
.RelatedPost__Title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0; padding: 0; font-size: 1.6rem; font-weight: 600; line-height: 1.35; }
.RelatedPost__More { display: none; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .Body__RelatedPost { padding: 5.0vw 0; }
  .RelatedPost { width: 83.333vw; }
  .RelatedPost__Item { padding: 1.666vw 0; width: 40.833vw; }
  .RelatedPost__Primary { border-radius: 0.334vw; }
  .RelatedPost__Category { margin: 0 0 0.833vw; }
  .RelatedPost__Category span { margin: 0 0.416vw 0 0; padding: 0.416vw 0.833vw; font-size: 1.166vw; }
  .RelatedPost__Title { font-size: 1.333vw; }
}

@media screen and (max-width: 600px) {
  .Body__RelatedPost { padding: 10vw 0; overflow: hidden; }
  .Body__RelatedPost .--TopHeading { padding: 0 0 3vw; font-size: 2.8rem; }
  .Body__RelatedPost .--TopHeading small { margin: 0 0 0 2vw; font-size: 1.3rem; }
  .RelatedPost { flex-direction: column; width: 90%; }
  .RelatedPost__Item { padding: 4vw 0; width: 100%; }
  .RelatedPost__Item:first-of-type { border-top: none; }
  .RelatedPost__Item:nth-last-of-type(1) { border-bottom: none; }
  .RelatedPost__Item a:hover { opacity: 0; }
  .RelatedPost__Item a:active { opacity: 0.3; }
  .RelatedPost__Primary { width: 30%; }
  .RelatedPost__Secondary { width: 66%; margin: 0 0 0 4%; }
  .RelatedPost__Category { margin: 0 0 1vw; }
  .RelatedPost__Category span { margin: 0 1vw 0 0; padding: 1vw 1vw 0.5vw; font-size: 1.2rem; }
  .RelatedPost__Title { font-size: 1.55rem; }
}

/* 本文内のRelated 関連記事
======================================================== */
.Body__Page .Body__RelatedPost,
.Body__Single .Body__RelatedPost { padding: 4% 6%; width: 88%; background-color: #ffffe7; }
.Body__Page .Body__RelatedPost .--TopHeading,
.Body__Single .Body__RelatedPost .--TopHeading { padding-bottom: 10px; font-size: 3.4rem; }
.Body__Page .Body__RelatedPost .--TopHeading small,
.Body__Single .Body__RelatedPost .--TopHeading small { font-size: 1.6rem; }
.Body__Page .RelatedPost,
.Body__Single .RelatedPost { flex-direction: column; width: 100%; }
.Body__Page .RelatedPost__Item,
.Body__Single .RelatedPost__Item { flex-direction: column; margin: 0 auto 20px; padding: 0; width: 100%; border: none; }
.Body__Page .RelatedPost__Primary,
.Body__Single .RelatedPost__Primary { margin: 0 auto 10px; width: 100%; }
.Body__Page .RelatedPost__Primary img,
.Body__Single .RelatedPost__Primary img { padding-bottom: 0 !important; }
.Body__Page .RelatedPost__Secondary,
.Body__Single .RelatedPost__Secondary { position: relative; margin: 0 auto; width: 100%; }
.Body__Page .RelatedPost__Category,
.Body__Single .RelatedPost__Category { display: none; }
.Body__Page .RelatedPost__Category span,
.Body__Single .RelatedPost__Category span { font-size: ; }
.Body__Page .RelatedPost__Title,
.Body__Single .RelatedPost__Title { -webkit-line-clamp: 3; font-size: 2.0rem; }
.Body__Page .RelatedPost__More,
.Body__Single .RelatedPost__More { display: flex; justify-content: flex-end; align-items: center; margin: 0; padding: 0; width: 100%; color: #588751; font-size: 1.6rem; font-weight: 300; text-align: right; }
.Body__Page .RelatedPost__More:after,
.Body__Single .RelatedPost__More:after { margin-left: 5px; content: "\f061"; font-size: 1.6rem; font-weight: bold; font-family: "Font Awesome 6 Free"; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .Body__Page .Body__RelatedPost .--TopHeading,
  .Body__Single .Body__RelatedPost .--TopHeading { padding-bottom: 0.833vw; font-size: 2.833vw; }
  .Body__Page .Body__RelatedPost .--TopHeading small,
  .Body__Single .Body__RelatedPost .--TopHeading small { font-size: 1.333vw; }
  .Body__Page .RelatedPost__Item,
  .Body__Single .RelatedPost__Item { margin: 0 auto 1.666vw; }
  .Body__Page .RelatedPost__Primary,
  .Body__Single .RelatedPost__Primary { margin: 0 auto 0.833vw; }
  .Body__Page .RelatedPost__Title,
  .Body__Single .RelatedPost__Title { font-size: 1.666vw; }
  .Body__Page .RelatedPost__More,
  .Body__Single .RelatedPost__More { font-size: 1.333vw; }
  .Body__Page .RelatedPost__More:after,
  .Body__Single .RelatedPost__More:after { margin-left: 0.416vw; font-size: 1.333vw; }
}

@media screen and (max-width: 600px) {
  .Body__Page .Body__RelatedPost,
  .Body__Single .Body__RelatedPost { padding: 5vw 6% 2vw; }
  .Body__Page .Body__RelatedPost .--TopHeading,
  .Body__Single .Body__RelatedPost .--TopHeading { padding: 0 0 3vw; width: 100%; font-size: 2.4rem; }
  .Body__Page .Body__RelatedPost .--TopHeading small,
  .Body__Single .Body__RelatedPost .--TopHeading small { font-size: 1.2rem; }
  .Body__Page .RelatedPost__Item,
  .Body__Single .RelatedPost__Item { margin: 0 auto 4vw; }
  .Body__Page .RelatedPost__Title,
  .Body__Single .RelatedPost__Title { font-size: 1.55rem; }
  .Body__Page .RelatedPost__More,
  .Body__Single .RelatedPost__More { padding: 3vw 0 0; font-size: 1.55rem; }
}

/* Ranking 人気記事
======================================================== */
.Body__RankingPost { margin: 0 auto; padding: 60px 0; width: 100%; background-color: #ffffe7; }
.RankingPost { display: flex; justify-content: space-between; flex-wrap: wrap; margin: 0 auto !important; padding: 0; width: 1000px; }
.RankingPost__Item { position: relative; display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; margin: -1px 0 0; padding: 20px 0; width: 490px; border: 1px dashed #7a7a7a; border-left: none; border-right: none; counter-increment: ranking-num; }
.RankingPost__Item a:not(.RankingPost__Secondary a) { position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; background-color: #fff; opacity: 0; transition: opacity 0.7s; }
.RankingPost__Item a:hover:not(.RankingPost__Secondary a) { opacity: 0.3; }
.RankingPost__Primary a,
.RankingPost__Secondary a { pointer-events: none; color: #222; text-decoration: none; }
.RankingPost__Number { margin: 0; padding: 0 0 5px; width: 100%; color: #588751; font-size: 1.8rem; font-weight: 500; line-height: 1.0; font-family: "Oswald"; }
.RankingPost__Number:after { margin: 0; padding: 0 0 0 5px; font-size: 3.4rem; content: counter(ranking-num, decimal-leading-zero)"."; }
.RankingPost__Primary { margin: 0; padding: 0; width: 33%; border-radius: 4px; overflow: hidden; }
.RankingPost__Primary:before { padding-top: 56%; }
.RankingPost__Primary img { width: 100%; height: auto; }
.RankingPost__Secondary { display: flex; flex-direction: column; justify-content: center; margin: 0 0 0 2%; width: 65%; }
.RankingPost__Category { display: flex; flex-wrap: wrap; margin: 0 0 10px; padding: 0; color: #ffffe7; }
.RankingPost__Category a { pointer-events: none; display: flex; justify-content: center; margin: 0 5px 0 0; padding: 5px 10px; color: #222; font-size: 1.4rem; font-weight: 300; text-decoration: none; background-color: #edf9e5; border-radius: 100px; }
.RankingPost__Title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0; padding: 0; font-size: 1.6rem; font-weight: 600; line-height: 1.35; }
.RankingPost .RankingPost__Item:first-of-type { width: 1000px; }
.RankingPost .RankingPost__Item:first-of-type .RankingPost__Number { font-size: 2.6rem; }
.RankingPost .RankingPost__Item:first-of-type .RankingPost__Number:after { font-size: 5.8rem; }
.RankingPost .RankingPost__Item:first-of-type .RankingPost__Primary { width: 40%; }
.RankingPost .RankingPost__Item:first-of-type .RankingPost__Secondary { width: 58%; }
.RankingPost .RankingPost__Item:first-of-type .RankingPost__Category a { font-size: 1.6rem; }
.RankingPost .RankingPost__Item:first-of-type .RankingPost__Title { font-size: 2.4rem; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .Body__RankingPost { padding: 5.0vw 0; }
  .RankingPost { width: 83.333vw; }
  .RankingPost__Item { padding: 1.666vw 0; width: 40.833vw; }
  .RankingPost__Number { padding: 0 0 0.416vw; font-size: 1.5vw; }
  .RankingPost__Number:after { padding: 0 0 0 0.416vw; font-size: 2.833vw; }
  .RankingPost__Primary { border-radius: 0.334vw; }
  .RankingPost__Category { margin: 0 0 0.833vw; }
  .RankingPost__Category a { margin: 0 0.416vw 0 0; padding: 0.416vw 0.833vw; font-size: 1.166vw; }
  .RankingPost__Title { font-size: 1.333vw; }
  .RankingPost .RankingPost__Item:first-of-type { width: 83.333vw; }
  .RankingPost .RankingPost__Item:first-of-type .RankingPost__Number { font-size: 2.166vw; }
  .RankingPost .RankingPost__Item:first-of-type .RankingPost__Number:after { font-size: 4.833vw; }
  .RankingPost .RankingPost__Item:first-of-type .RankingPost__Category a { font-size: 1.333vw; }
  .RankingPost .RankingPost__Item:first-of-type .RankingPost__Title { font-size: 2.0vw; }
}

@media screen and (max-width: 600px) {
  .Body__RankingPost { padding: 10vw 0; overflow: hidden;}
  .Body__RankingPost .--TopHeading { padding: 0 0 3vw; font-size: 2.8rem; }
  .Body__RankingPost .--TopHeading small { margin: 0 0 0 2vw; font-size: 1.3rem; }
  .RankingPost { width: 90%; }
  .RankingPost__Item,
  .RankingPost .RankingPost__Item:first-of-type { padding: 4vw 0; width: 100%; }
  .RankingPost__Item a:hover:not(.RankingPost__Secondary a) { opacity: 0; }
  .RankingPost__Item a:active:not(.RankingPost__Secondary a) { opacity: 0.3; }
  .RankingPost .RankingPost__Item:first-of-type { border-top: none; }
  .RankingPost .RankingPost__Item:nth-last-of-type(1) { border-bottom: none; }
  .RankingPost__Number,
  .RankingPost .RankingPost__Item:first-of-type .RankingPost__Number { padding: 0 0 1vw; font-size: 1.2rem; }
  .RankingPost__Number:after,
  .RankingPost .RankingPost__Item:first-of-type .RankingPost__Number:after { padding: 0 0 0 0.5vw; font-size: 2.0rem; }
  .RankingPost__Primary,
  .RankingPost .RankingPost__Item:first-of-type .RankingPost__Primary { width: 30%; }
  .RankingPost__Secondary,
  .RankingPost .RankingPost__Item:first-of-type .RankingPost__Secondary { width: 66%; margin: 0 0 0 4%; }
  .RankingPost__Category { margin: 0 0 1vw; }
  .RankingPost__Category a,
  .RankingPost .RankingPost__Item:first-of-type .RankingPost__Category a { margin: 0 1vw 0 0; padding: 1vw 1vw 0.5vw; font-size: 1.2rem; }
  .RankingPost__Title,
  .RankingPost .RankingPost__Item:first-of-type .RankingPost__Title { font-size: 1.55rem; }
}

/* Search サイト内検索
======================================================== */
.Body__SiteSearch { margin: 0 auto; padding: 60px 0; width: 100%; }
.SiteSearch { margin: 0 auto !important; padding: 0; width: 1000px; }
.SiteSearch form { width: 100%; }
.SiteSearch .wp-block-search__label { width: 90%; }
.SiteSearch .wp-block-search__inside-wrapper { position: relative; }
.SiteSearch .wp-block-search__inside-wrapper input[type="search"] { flex-grow: 1; padding: 15px 20px 15px 50px; width: 100%; font-size: 2.0rem; font-weight: 600; background-color: #f9f9f9; border: none; border-radius: 100px; }
.SiteSearch .wp-block-search__inside-wrapper input[type="search"]::placeholder { color: #bcbcbc; }
.SiteSearch .wp-block-search__inside-wrapper .wp-block-search__button { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); display: flex; justify-content: center; align-items: center; margin-left: 0; height: 100%; background: none; border: none; }
.SiteSearch .wp-block-search__inside-wrapper .wp-block-search__button:before { content: "\f002"; color: #7a7a7a; font-size: 2.4rem; font-family: "Font Awesome 6 Free"; font-weight: bold; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .Body__SiteSearch { padding: 5.0vw 0; }
  .SiteSearch { width: 83.333vw; }
  .SiteSearch .wp-block-search__inside-wrapper input[type="search"] { padding: 1.25vw 1.666vw 1.25vw 4.166vw; font-size: 1.666vw; }
  .SiteSearch .wp-block-search__inside-wrapper .wp-block-search__button { left: 0.833vw; }
  .SiteSearch .wp-block-search__inside-wrapper .wp-block-search__button:before { font-size: 2.0vw; }
}

@media screen and (max-width: 600px) {
  .Body__SiteSearch { padding: 8vw 0; overflow: hidden; }
  .Body__SiteSearch .--TopHeading { padding: 0 0 3vw; font-size: 2.8rem; }
  .Body__SiteSearch .--TopHeading small { margin: 0 0 0 2vw; font-size: 1.3rem; }
  .SiteSearch { width: 90%; }
  .SiteSearch .wp-block-search__inside-wrapper input[type="search"] { padding: 4vw 4vw 4vw 11vw; font-size: 1.55rem; }
  .SiteSearch .wp-block-search__inside-wrapper .wp-block-search__button { left: 2vw; }
  .SiteSearch .wp-block-search__inside-wrapper .wp-block-search__button:before { font-size: 2.0rem; }
}

/* All 記事一覧
======================================================== */
.Body__AllReport { margin: 0 auto; padding: 60px 0; width: 100%; }
.AllReport { margin: 0 auto; padding: 0; width: 1000px; }
.AllReport__Parent li { position: relative; }
.AllReport__Parent li:after { position: absolute; /* z-index: 1; */ right: 15px; top: 15px; content: "\f054"; color: #588751; font-size: 1.6rem; font-family: "Font Awesome 6 Free"; font-weight: bold; }
.AllReport__Parent li.--HasChild:after { display: none; }
.AllReport__Parent li a { position: relative; display: block; margin: 0; padding: 15px 10px; font-size: 1.6rem; color: #222; font-weight: 600; text-decoration: none; background: none; border: none; border-bottom-width: 2px; border-bottom-style: solid; border-bottom-color: #f9f9f9; }
.AllReport__Parent li a:before { content: ""; position: absolute; left: 0; bottom: -2px; width: 80px; height: 2px; background-color: #588751; }
.AllReport__Parent li a:hover { opacity: 1.0; color: #588751; }
.AllReport__Parent li a small { display: none; font-size: 1.6rem; }
.AllReport__Parent .--BtnAcd { position: absolute; z-index: 1; display: flex; justify-content: center; align-items: center; width: 40px; height: 30px; cursor: pointer; white-space: nowrap; overflow: hidden; right: 0; top: 15px; }
.AllReport__Parent .--BtnAcd:after { content: "\f107"; color: #588751; font-size: 2.0rem; font-family: "Font Awesome 6 Free"; font-weight: bold; }
.AllReport__Parent .--BtnAcd:hover:after { color: #fc5432; }
.AllReport__Parent .--BtnAcd.--Selected:after { content: "\f106"; }
.AllReport__Child { display: none; padding: 2%; background-color: #edf9e5; border-radius: 0 0 8px 8px; }
.AllReport__Child li a { font-size: 1.6rem; font-weight: 300; border: none; }
.AllReport__Child li a:before { top: 21px; bottom: initial; width: initial; height: initial; background-color: initial; content: "\f111"; color: #588751; font-size: 0.6rem; font-family: "Font Awesome 6 Free"; font-weight: bold; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .Body__AllReport { padding: 5.0vw 0; }
  .AllReport { width: 83.333vw; }
  .AllReport__Parent li:after { right: 1.25vw; top: 1.25vw; font-size: 1.333vw; }
  .AllReport__Parent li a { padding: 1.25vw 0.833vw; font-size: 1.333vw; border-bottom-width: 0.167vw; }
  .AllReport__Parent li a:before { bottom: -0.166vw; width: 6.666vw; height: 0.167vw; }
  .AllReport__Parent li a small { font-size: 1.333vw; }
  .AllReport__Parent .--BtnAcd { width: 3.333vw; height: 2.5vw; top: 1.25vw; }
  .AllReport__Parent .--BtnAcd:after { font-size: 1.666vw; }
  .AllReport__Child { border-radius: 0 0 0.666vw 0.666vw; }
  .AllReport__Child li a { font-size: 1.333vw; }
  .AllReport__Child li a:before { top: 1.75vw; font-size: 0.5vw; }
}

@media screen and (max-width: 600px) {
  .Body__AllReport { padding: 0 0 10vw; overflow: hidden;}
  .Body__AllReport .--TopHeading { padding: 0 0 3vw; font-size: 2.8rem; }
  .Body__AllReport .--TopHeading small { margin: 0 0 0 2vw; font-size: 1.3rem; }
  .AllReport { width: 90%; }
  .AllReport__Parent li a { padding: 2vw 2vw; font-size: 1.55rem; }
  .AllReport__Parent li a:before { width: 11vw; }
  .AllReport__Parent li:after { right: 3vw; top: 3vw; font-size: 1.4rem; }
  .AllReport__Parent .--BtnAcd { width: 8vw; height: 6vw; top: 1.5vw; }
  .AllReport__Parent .--BtnAcd:after { font-size: 1.7rem; }
  .AllReport__Child { padding: 5vw 2%; }
  .AllReport__Child li a { padding: 3vw 5vw; font-size: 1.3rem; }
  .AllReport__Child li a:before { top: 3.5vw; left: 2vw; width: initial; }
}

/* フッター　
======================================================== */
.Body__Footer { margin: 0 auto; padding: 30px 0; width: 100%; background: #bcbcbc; }
.Footer { position: relative; display: flex; flex-direction: column; margin: 0 auto; padding: 0; width: 1000px; }
.Footer__Management:before { content: "運営："; }
.Footer__Management,
.Footer__Copyright { margin: 0; padding: 5px 0; color: #fff; font-size: 1.2rem; font-weight: 300; text-align: center; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .Body__Footer { padding: 2.5vw 0; }
  .Footer { width: 83.333vw; }
  .Footer__Management,
  .Footer__Copyright { padding: 0.416vw 0; font-size: 1.0vw; }
}

@media screen and (max-width: 600px) {
  .Body__Footer { margin: 0 auto 20vw; padding: 5vw 0; overflow: hidden; }
  .Footer { width: 90%; }
  .Footer__Management,
  .Footer__Copyright { padding: 0; font-size: 1.0rem; }
}

/* フローティングフッター（SP）
======================================================== */
.FloatingFooterSP { display: none !important; }
.editor-styles-wrapper .is-root-container .FloatingFooterSP { display: block !important; }

@media screen and (max-width: 600px) {
  .FloatingFooterSP { position: fixed; z-index: 99; bottom: 0; display: flex !important; align-items: stretch; margin: 0; padding: 3vw 0 2vw; width: 100%; background: #fff; }
  .FloatingFooterSP__Shoulder { display: flex; align-items: center; margin: 0; padding: 0; width: 20%; font-size: 1.6rem; font-weight: 300; line-height: 1.5; }
  .FloatingFooterSP__Shoulder:before { content: ""; margin: 0 2vw 0 0; width: 2vw; height: 100%; background-color: #588751; border-radius: 2px; }
  .FloatingFooterSP__Tel { position: relative; margin: 0 0 0 2%; width: 30%; }
  .FloatingFooterSP__Mail { position: relative; margin: 0 0 0 2%; width: 42%; }
  .FloatingFooterSP__Tel figure,
  .FloatingFooterSP__Mail figure { width: 100%; line-height: 0; }
  .FloatingFooterSP__Tel figure img,
  .FloatingFooterSP__Mail figure img { width: 100%; height: auto; }
  .FloatingFooterSP__Tel a,
  .FloatingFooterSP__Mail a { position: absolute; z-index: 1; top: 50%; left: 50%; transform: translate(-50%, -50%); display: flex; justify-content: flex-end; align-items: center; padding: 0 10% 0 0; width: 90%; height: 100%; color: #fff; font-size: 1.6rem; font-weight: 800; text-align: center; text-decoration: none; }

}

/* サイドフローティング　
======================================================== */
.SideFloating { position: fixed; z-index: 101; right: 0; top: 120px; display: flex; flex-direction: column; width: 60px; }
.editor-styles-wrapper .is-root-container .SideFloating { position: initial; }
.SideFloating li { writing-mode: vertical-rl; -ms-writing-mode: tb-rl; text-orientation: upright; margin: 0 0 5px; padding: 0; }
.SideFloating li a { display: block; margin: 0; padding: 15px 10px; color: #fff; font-size: 1.6rem; text-decoration: none; border-radius: 5px 0 0 5px; }
.SideFloating li a i { padding-bottom: 5px; }
.SideFloating li a:hover { opacity: 1; filter: brightness(1.1); }
.SideFloating li:nth-child(1) a { background: #ea8b8c; }
.SideFloating li:nth-child(2) a { background: #73c864; }
.SideFloating li:nth-child(3) a { background: #8b9cdf; }
.SideFloating li:nth-child(4) a { background: #e19b48; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .SideFloating { top: 10vw; width: 5vw; }
  .SideFloating li { margin: 0 0 0.4vw 0; }
  .SideFloating li a { padding: 1.25vw 0.84vw; font-size: 1.33vw; border-radius: 0.4vw 0 0 0.4vw; }
  .SideFloating li a i { padding-bottom: 0.42vw; }
}

@media screen and (max-width: 600px) {
  .SideFloating { display: none !important; }
}

/* 下層レイアウト
======================================================== */
.Body__TwoColumns { display: flex; justify-content: space-between; align-items: flex-start; margin: 0 auto; padding: 20px 0; width: 1000px; }                                
.Body__Page,
.Body__Archive,
.Body__Single { margin: 0; padding: 0 0 60px; width: 680px; }
.Body__Sidebar { margin: 0; padding: 0; width: 280px; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .Body__TwoColumns { padding: 1.666vw 0; width: 83.333vw; }
  .Body__Page,
  .Body__Archive,
  .Body__Single { padding: 0 0 5vw; width: 56.666vw; }
  .Body__Sidebar { width: 23.333vw; }
}

@media screen and (max-width: 600px) {
  .Body__TwoColumns { flex-direction: column; padding: 5vw 0; width: 90%; }
  .Body__Page,
  .Body__Archive,
  .Body__Single { margin: 0 auto; padding: 0 0 10vw; width: 100%; }
  .Body__Sidebar { margin: 0 auto; width: 80%; }
  .Body__Single { padding-bottom: 0; }
}

/* 下層ページタイトル・パンくず
======================================================== */
.Body__BreadCrumbs { margin: 0 auto; padding: 0; width: 100%; }
.BreadCrumbs { margin: 0 auto; padding: 25px 0; width: 1000px; overflow-x: auto; --sb-track-color: #999; --sb-thumb-color: #e6e6e6; --sb-size: 5px; }
.BreadCrumbs p { font-size: 1.4rem; white-space: nowrap; }
.BreadCrumbs::-webkit-scrollbar { height: var(--sb-size) }
.BreadCrumbs::-webkit-scrollbar-track { background: var(--sb-track-color); border-radius: 3px; }
.BreadCrumbs::-webkit-scrollbar-thumb { background: var(--sb-thumb-color); border-radius: 3px; }
.Body__PageTitle { position: relative; display: flex; align-items: center; margin: 0 auto 30px; padding: 0; width: 100%; min-height: 320px; overflow: hidden; }
.Body__PageTitleEyeCatch { position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 100%; }
.Body__PageTitleEyeCatch img { width: 100%; height: auto; }
.PageTitle { z-index: 1; margin: 0 auto; padding: 0; width: 1000px; }
.PageTitle__Heading { color: #fff; font-size: 4.0rem; font-weight: 800; line-height: 1.3; text-align: center; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .BreadCrumbs { padding: 2.083vw 0; width: 83.333vw; --sb-size: 0.416vw; }
  .BreadCrumbs p { font-size: 1.166vw; }
  .BreadCrumbs::-webkit-scrollbar-track { border-radius: 0.25vw; }
  .BreadCrumbs::-webkit-scrollbar-thumb { border-radius: 0.25vw; }
  .Body__PageTitle { margin: 0 auto 2.5vw; min-height: 26.666vw; }
  .PageTitle { width: 83.333vw; }
  .PageTitle__Heading { font-size: 3.333vw; }
}

@media screen and (max-width: 600px) {
  .BreadCrumbs { padding: 4vw 5%; width: 90%; }
  .BreadCrumbs p { font-size: 1.2rem; }
  .Body__PageTitle { margin: 0 auto 5vw; min-height: 48vw; }
  .PageTitle { width: 90%; }
  .PageTitle__Heading { font-size: 2.4rem; }
}

/* PageTop
======================================================== */
.PageTop { position: fixed; bottom: 20px; right: 40px; z-index: 99; }
.PageTop__Button { position: relative; display: inline-block; width: 60px; height: 60px; border-radius: 50%; opacity: 0.7; }
.PageTop__Button:before { position: absolute; display: inline-block; top: 50%; left: 50%; transform: translate(-50%, -50%); content: "\f077"; color: #fff; font-size: 2.4rem; font-family: "Font Awesome 6 Free"; font-weight: bold; line-height: 0.9; text-align: center; }
.PageTop__Button:hover { opacity: 1.0; filter: brightness(1.2); }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .PageTop { bottom: 1.538vw; right: 3.076vw; }
  .PageTop__Button { width: 4.615vw; height: 4.615vw; }
  .PageTop__Button:before { font-size: 1.846vw; }
}

@media screen and (max-width: 600px) {
  .PageTop { position: fixed; bottom: 17vw; right: 3vw; z-index: 99; }
  .PageTop__Button { position: relative; display: inline-block; width: 10vw; height: 10vw; border-radius: 50%; opacity: 0.7; }
  .PageTop__Button:before { }
}

.Keyword { display: flex; justify-content: flex-start; margin: 0 auto; padding: 0 0 20px; width: 1000px; }
.Keyword p,
.Keyword li a { margin: 0; padding: 0; color: #588751; font-size: 1.6rem; font-weight: 300; }
.Keyword li { margin: 0 10px 0 0; padding: 0; }
.Keyword li:before { content: "#"; color: #588751; }
.Keyword li a { /* pointer-events: none; */ text-decoration: none; }
.ReleaseUpdate { display: flex; justify-content: flex-end; align-items: center; margin: 0 auto; padding: 0; width: 1000px; color: #666; font-size: 1.0rem; }
.ReleaseUpdate dt,
.ReleaseUpdate dd { display: flex; }
.ReleaseUpdate dt { padding: 0 20px 20px 0; }
.ReleaseUpdate dd { padding: 0 0 20px 0; }
.ReleaseUpdate i { display: inline-block; margin: 0 5px 0 0; padding: 0; width: 12px; height: 12px; background-repeat: no-repeat; background-position: center center; background-size: 100% auto; }
.ReleaseUpdate i:before { display: none; }
.ReleaseUpdate dt i { background-image: url(/sozoku/wp-content/uploads/2025/12/ic-release.png); }
.ReleaseUpdate dd i { background-image: url(/sozoku/wp-content/uploads/2025/12/ic-update.png); }
.AddToAny { position: relative; display: flex; flex-direction: column; align-items: flex-end; margin: 0 auto; padding: 0; width: 1000px; }
.AddToAny:before { position: absolute; right: 55px; top: 10px; content: ""; width: 1px; height: 20px; background-color: #d9d9d9; }
body.--Home .AddToAny,
body.--404 .addtoany_content { display: none; }
.AddToAny .addtoany_list { line-height: initial !important; }
.AddToAny .addtoany_list a:not(.addtoany_special_service)>span { border-radius: 50% !important; overflow: hidden; /* ▼SNSシェアボタン */ }
.AddToAny .addtoany_share { position: relative; margin: 0 0 5px 30px; padding: 0; width: 40px; height: 40px; border-radius: 50%; overflow: hidden; }
.AddToAny .addtoany_share img { width: 100%; height: auto; }
.AddToAny .a2a_button_line svg,
.AddToAny .a2a_button_x svg { transform: scale(0.8, 0.8); }
.AddToAny .a2a_button_facebook .a2a_s_facebook { background-color: transparent !important; }
.AddToAny .a2a_button_facebook svg { transform: scale(1.3, 1.3); }
.AddToAny .a2a_button_facebook svg path { fill: #0866FF; }
/* body.--Home .Keyword,
body.--Home .ReleaseUpdate,
body.--Home .AddToAny { display: none; } */

.Page__Image img,
.Single__Image img { display: block; margin: 0 auto 60px; }

.Body__Top img, .Body__Page img, .Body__Single img { max-width: 100%; height: auto; }
.Body__Page iframe { max-width: 100%; }
.Body__Page img, .Body__Page iframe, .Body__Page p, .Body__Archive p, .Body__Single p, .Body__Single img { padding-bottom: 2rem; }
.Body__Page iframe,
.Body__Single iframe { max-width: 100%; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .Body__Page img, .Body__Page iframe, .Body__Page p, .Body__Archive p, .Body__Single p, .Body__Single img { padding-bottom: 1.666vw; }
  .Page__Image img,
  .Single__Image img { margin: 0 auto 5vw; }

  .Keyword { padding: 0 0 1.666vw; width: 83.333vw; }
  .Keyword p,
  .Keyword li a { font-size: 1.333vw; }
  .Keyword li { margin: 0 0.833vw 0 0; font-size: 1.333vw; }
  .ReleaseUpdate { width: 83.333vw; font-size: 0.833vw; }
  .ReleaseUpdate dt { padding: 0 1.666vw 1.666vw 0; }
  .ReleaseUpdate dd { padding: 0 0 1.666vw 0; }
  .ReleaseUpdate i { margin: 0 0.416vw 0 0; width: 1.0vw; height: 1.0vw: }
  .AddToAny { width: 83.333vw; }
  .AddToAny:before { right: 4.583vw; top: 0.833vw; height: 1.666vw; }
  .AddToAny .a2a_svg { width: 3.333vw !important; height: 3.333vw !important; line-height: 3.333vw !important; background-size: 3.333vw !important; }
  .AddToAny .addtoany_share { margin: 0 0 0.416vw 2.5vw; width: 3.333vw; height: 3.333vw; }
}

@media screen and (max-width: 600px) {
  .Keyword { width: 90%; }
  .Keyword li { margin: 0 2vw 0 0; }
  .Keyword p,
  .Keyword li a { font-size: 1.5rem; }
  .ReleaseUpdate { width: 90%; font-size: 1.2rem; }
  .ReleaseUpdate dt,
  .ReleaseUpdate dd { display: flex; align-items: center; }
  .ReleaseUpdate i { margin: 0 1vw 0 0; width: 3vw; height: 3vw; }
  .ReleaseUpdate dt { padding: 0 4vw 4vw 0; }
  .ReleaseUpdate dd { padding: 0 0 4vw 0; }
  .AddToAny { width: 90%; }
  .AddToAny:before { right: 14vw; top: 1.5vw; height: 6vw; }
  .AddToAny .a2a_svg { width:9vw !important; height: 9vw !important; line-height: 9vw !important; background-size: 9vw !important; }
  .AddToAny .addtoany_share { margin: 0 0 1.5vw 9vw; width: 9vw; height: 9vw; }
  .Page__Image img,
  .Single__Image img { margin: 0 auto 10vw; }
}

/* サイドバー　
======================================================== */
.SidebarTop { margin-bottom: -25px; padding-bottom: 30px; background-color: #f9f9f9; }
.SidebarTop__Item,
.SidebarCampaign__Item { position: relative; margin: 0 0 20px; padding: 0; width: 100%; /* ▼最上部・キャンペーンバナー */ }
.SidebarCampaign__Item { margin-bottom: 40px; }
.SidebarTop__Item a,
.SidebarCampaign__Item a { position: absolute; top: 0; left: 50%; transform: translateX(-50%); margin: 0; padding: 0; width: 100%; height: 100%; background-color: #fff; opacity: 0; }
.SidebarTop__Item a:hover,
.SidebarCampaign__Item a:hover { opacity: 0.3; }
.SidebarTop__Image,
.SidebarCampaign__Image { margin: 0; padding: 0; width: 100%; }
.SidebarTop__Image img,
.SidebarCampaign__Image img { width: 100%; height: auto; }
.SidebarTop__Text { display: flex; justify-content: center; align-items: flex-end; margin: -30px auto 0; padding: 0; color: #588751; font-size: 1.0rem; text-align: center; text-decoration: underline; }
.SidebarTop__Item:hover .SidebarTop__Text { text-decoration: none; }
.Body__Sidebar .CallToAction { margin: 0 auto 30px; padding: 0 0 30px; /* ▼無料相談受付中 */ }
.Body__Sidebar .CallToAction__Heading { margin: -15px auto 0; padding: 0 0 10px; width: 90%; }
.Body__Sidebar .CallToAction__Text { padding: 0 0 20px; width: 90%; font-size: 1.2rem; }
.Body__Sidebar .CallToAction__Text br { display: none; }
.Body__Sidebar .CallToAction__Phone { margin: 0 auto 15px; width: 90%; }
.Body__Sidebar .CallToAction__PhoneHeading { margin: -10px auto 0; width: 40%; }
.Body__Sidebar .CallToAction__Phone dd { padding: 0 0 5px 70px; }
.Body__Sidebar .CallToAction__PhoneNumber { padding: 0 0 5px; font-size: 2.4rem; }
.Body__Sidebar .CallToAction__PhoneNumber:before { left: 30px; bottom:25px; width: 30px; height: 30px; font-size: 1.5rem; }
.Body__Sidebar .CallToAction__ReceptionHours { padding: 0 0 0 20px; font-size: 0.9rem; }
.Body__Sidebar .CallToAction__Contracted { padding: 5px 0 0 0; font-size: 0.9rem; }
.Body__Sidebar .CallToAction__Contracted small { font-size: 0.8rem; }
.Body__Sidebar .CallToAction__Mail { width: 90%; }
.Body__Sidebar .CallToAction__Mail a { padding: 0; font-size: 1.5rem; }
.Body__Sidebar .CallToAction__Mail a:before { margin: 0 5px 3px 0; width: 20px; height: 21px; }
.Body__Sidebar .--TopHeading { padding: 0 0 10px; font-size: 2.0rem; width: 100%; /* ▼サイト内検索 */ }
.Body__Sidebar .--TopHeading small { margin: 0 0 0 10px; font-size: 1.0rem; }
.Body__Sidebar .Body__SiteSearch { padding: 0 0 20px; }
.Body__Sidebar .SiteSearch,
.Body__Sidebar .SiteSearch form,
.Body__Sidebar .SiteSearch .wp-block-search__inside-wrapper { width: 100%; }
.Body__Sidebar .SiteSearch .wp-block-search__inside-wrapper input[type="search"] { padding: 15px 15px 15px 40px; font-size: 1.2rem; }
.Body__Sidebar .SiteSearch .wp-block-search__inside-wrapper .wp-block-search__button { left: -5px; }
.Body__Sidebar .SiteSearch .wp-block-search__inside-wrapper .wp-block-search__button:before { font-size: 1.8rem; }
.Body__Sidebar .Body__RankingPost { padding: 0; background: none;  /* ▼人気記事 */ }
.Body__Sidebar .RankingPost { flex-direction: column; width: 100%; }
.Body__Sidebar .RankingPost .RankingPost__Item,
.Body__Sidebar .RankingPost .RankingPost__Item:nth-of-type(1) { padding: 15px 0; width: 100%; }
.Body__Sidebar .RankingPost .RankingPost__Item:nth-of-type(1) { border-top: none; }
.Body__Sidebar .RankingPost .RankingPost__Item:nth-last-of-type(1) { border-bottom: none; }
.Body__Sidebar .RankingPost__Number,
.Body__Sidebar .RankingPost .RankingPost__Item:nth-of-type(1) .RankingPost__Number { font-size: 1.0rem; }
.Body__Sidebar .RankingPost__Number:after,
.Body__Sidebar .RankingPost .RankingPost__Item:nth-of-type(1) .RankingPost__Number:after { padding: 0 0 0 2px; font-size: 1.6rem; }
.Body__Sidebar .RankingPost__Primary,
.Body__Sidebar .RankingPost .RankingPost__Item:nth-of-type(1) .RankingPost__Primary { width: 28%; }
.Body__Sidebar .RankingPost__Secondary,
.Body__Sidebar .RankingPost .RankingPost__Item:nth-of-type(1) .RankingPost__Secondary { width: 70%; }
.Body__Sidebar .RankingPost__Category { margin: 0 0 5px; }
.Body__Sidebar .RankingPost .RankingPost__Item:first-of-type .RankingPost__Category a,
.Body__Sidebar .RankingPost__Category a { margin: 0 2px 0 0; padding: 3px 5px; font-size: 1.0rem; }
.Body__Sidebar .RankingPost__Title,
.Body__Sidebar .RankingPost .RankingPost__Item:nth-of-type(1) .RankingPost__Title { font-size: 1.2rem; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .SidebarTop { margin-bottom: -2.083vw; padding-bottom: 2.5vw; }
  .SidebarTop__Item,
  .SidebarCampaign__Item { margin: 0 0 1.666vw; }
  .Body__Sidebar .CallToAction { margin: 0 auto 2.5vw; padding: 0 0 2.5vw; /* ▼無料相談受付中 */ }
  .Body__Sidebar .CallToAction__Heading { margin: -1.25vw auto 0; padding: 0 0 0.833vw; }
  .Body__Sidebar .CallToAction__Text { padding: 0 0 1.666vw; font-size: 1.0vw; }
  .Body__Sidebar .CallToAction__Phone { margin: 0 auto 1.25vw; }
  .Body__Sidebar .CallToAction__PhoneHeading { margin: -0.833vw auto 0; }
  .Body__Sidebar .CallToAction__Phone dd { padding: 0 0 0.416vw 5.833vw; }
  .Body__Sidebar .CallToAction__PhoneNumber { padding: 0 0 0.416vw; font-size: 2.0vw; }
  .Body__Sidebar .CallToAction__PhoneNumber:before { left: 2.5vw; bottom: 2.083vw; width: 2.5vw; height: 2.5vw; font-size: 1.25vw; }
  .Body__Sidebar .CallToAction__ReceptionHours { padding: 0 0 0 1.666vw; font-size: 0.75vw; }
  .Body__Sidebar .CallToAction__Contracted { padding: 0.416vw 0 0 0; font-size: 0.75vw; }
  .Body__Sidebar .CallToAction__Contracted small { font-size: 0.666vw; }
  .Body__Sidebar .CallToAction__Mail a { font-size: 1.25vw; }
  .Body__Sidebar .CallToAction__Mail a:before { margin: 0 0.416vw 0.25vw 0; width: 1.666vw; height: 1.75vw; }
  .Body__Sidebar .Body__SiteSearch { padding: 0 0 1.666vw; /* ▼サイト内検索 */ }
  .Body__Sidebar .--TopHeading { padding: 0 0 0.833vw; font-size: 1.666vw; }
  .Body__Sidebar .SiteSearch .wp-block-search__inside-wrapper input[type="search"] { padding: 1.25vw 1.25vw 1.25vw 3.333vw; font-size: 1.0vw; }
  .Body__Sidebar .SiteSearch .wp-block-search__inside-wrapper .wp-block-search__button { left: -0.416vw; }
  .Body__Sidebar .SiteSearch .wp-block-search__inside-wrapper .wp-block-search__button:before { font-size: 1.5vw; }
  .Body__Sidebar .Body__RankingPost { /* ▼人気記事 */ }
  .Body__Sidebar .RankingPost .RankingPost__Item,
  .Body__Sidebar .RankingPost .RankingPost__Item:nth-of-type(1) { padding: 1.25vw 0; }
  .Body__Sidebar .RankingPost__Number,
  .Body__Sidebar .RankingPost .RankingPost__Item:nth-of-type(1) .RankingPost__Number { font-size: 0.833vw; }
  .Body__Sidebar .RankingPost__Number:after,
  .Body__Sidebar .RankingPost .RankingPost__Item:nth-of-type(1) .RankingPost__Number:after { padding: 0 0 0 0.166vw; font-size: 1.333vw; }
  .Body__Sidebar .RankingPost__Category { margin: 0 0 0.416vw; }
  .Body__Sidebar .RankingPost__Category a,
  .Body__Sidebar .RankingPost .RankingPost__Item:first-of-type .RankingPost__Category a { margin: 0 0.166vw 0 0; padding: 0.25vw 0.416vw; font-size: 0.833vw; }
  .Body__Sidebar .RankingPost__Title,
  .Body__Sidebar .RankingPost .RankingPost__Item:nth-of-type(1) .RankingPost__Title { font-size: 1.0vw; }
}

@media screen and (max-width: 600px) {
  .Body__Sidebar { display: none; }
}

/* コンテンツ下　
======================================================== */
.ProductsBanner { margin: 0 auto; padding: 0 0 40px; width: 100%; background-color: #f9f9f9; }
.ProductsBanner__Item { position: relative; margin: 0 0 20px; padding: 0; width: 100%; }
.ProductsBanner__Item a { position: absolute; top: 0; left: 50%; transform: translateX(-50%); margin: 0; padding: 0; width: 100%; height: 100%; background-color: #fff; opacity: 0; }
.ProductsBanner__Item a:hover { opacity: 0.3; }
.ProductsBanner__Image { margin: 0; padding: 0; width: 100%; }
.ProductsBanner__Image img { width: 100%; height: auto; }

@media only screen and (min-width:601px) and (max-width:1200px) {

}

@media screen and (max-width: 600px) {
  .ProductsBanner { margin: 0 calc(50% - 50vw); padding: 0 0 8vw; width: 100vw; }
  .ProductsBanner__Item { margin: 0 0 4vw; }
  .SubPage__CallToAction { margin: 0 calc(50% - 50vw); width: 100vw; }
  .SubPage__CallToAction .CallToAction__Text { padding-bottom: 8vw; width: 82%; }
}

/* サイトマップ
======================================================== */
.simple-sitemap-container h3 { padding: 1rem 1rem; white-space: nowrap; font-size: 1.6rem; font-weight: 500 !important; background: none; border: none; }
.simple-sitemap-container h3:before { display: none; }
.simple-sitemap-container.tab-enabled label { margin-bottom: -1px !important; background-color: #f4f4f4; } /* Default tab */
.simple-sitemap-container.tab-enabled input:checked + label > * { position: relative; z-index: 1; background-color: #fff; border: 1px solid #ddd; border-bottom: none; border-radius: 4px 4px 0 0; } /* Current tab */
.simple-sitemap-container.tab-enabled input:checked + label { background-color: initial !important; }
.simple-sitemap-wrap { padding: 0 0 2rem; }
.simple-sitemap-container ul { margin: 0 auto !important; width: 94%; }
.simple-sitemap-container ul li { margin-left: 0; padding-left: 0; padding-bottom: 0; list-style: none; }
.simple-sitemap-container ul li:before { display: none; }
.sitemap-item { margin: 3rem 0 0; }
.sitemap-item a { display: block; padding: 0.2rem 1rem; background: #faf8f2; border: 1px solid #cacaca; font-size: 1.7rem; }
.children .sitemap-item { margin: 1rem 0 0; padding: 0; }
.children .sitemap-item a { display: inline-block; width: 100%; font-size: 1.5rem; background: none; border: none; }
.children .sitemap-item a:before { content: '\f30b'; font-family: "Font Awesome 6 Free"; font-weight: bold; color: #ccc; margin-right: 0.5rem; display: inline-block; }
ul.children { margin-left: 2rem !important; }
.page_under01 ul.children { margin-left: 0 !important; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .simple-sitemap-container.tab-enabled label { margin: 0 0.42vw 0 0; border-radius: 0.3vw 0.3vw 0 0; }
  .simple-sitemap-container h3 { padding: 0.83vw 0.83vw; font-size: 1.33vw; }
  .simple-sitemap-container.tab-enabled .panel { border-radius: 0 0 0.3vw 0.3vw; }
  .sitemap-item { margin: 2.5vw 0 0; }
  ul.children { margin-left: 1.69vw !important; }
  .sitemap-item a { padding: 0.17vw 0.83vw; font-size: 1.42vw; }
  .children .sitemap-item { margin: 0.83vw 0 0; }
  .children .sitemap-item a { font-size: 1.25vw; }
  .children .sitemap-item a:before { margin-right: 0.42vw; }
}

@media screen and (max-width: 600px) {
  .simple-sitemap-container.tab-enabled label { margin-right: 2px !important; width: 16% !important; height: 10vw; }
  .simple-sitemap-container.tab-enabled input:checked + label { padding-right: 0; }
  .simple-sitemap-container h3 { padding: 2vw 0; height: 100%; font-size: 1.3rem; text-align: center; white-space: initial; }
}

/* 親ページに表示する子ページの一覧（アイキャッチ有り）　
======================================================== */
.ParentChild { margin: 80px auto; width: 100%; font-size: 1.6rem; border-width: 1px; border-style: solid; }
.ParentChild__Heading a { display: block; padding: 15px 10px; color: #fff; text-decoration: none; }
.ParentChild ul { margin: 0; padding: 0; }
.ParentChild ul.children { margin-left: 0 !important; }
.ParentChild ul li { margin: 0; padding-bottom: 0; list-style: none; }
.ParentChild ul li a { display: block; padding: 15px 10px; text-decoration: none; border-bottom-width: 1px; border-bottom-style: solid; }
.ParentChild ul li a:before { display: inline-block; content: " \f105"; font-family: "Font Awesome 6 Free"; font-size: 1.4rem; font-weight: 700; padding: 0 5px 0 0; }
.ParentChild ul li.page_item_has_children a,
.ParentChild ul li:last-child a { border-bottom: none; }
.ParentChild ul li.page_item_has_children:last-child ul.children li:last-child a { margin-bottom: -1px; }
.ParentChild ul li.page_item_has_children ul li a { padding: 15px 10px 15px 35px; border-bottom-width: 1px; border-bottom-style: solid; }
.ParentChild ul li.page_item_has_children ul li a:before { content: " \f0da"; }
.ParentChild ul li.page_item_has_children li a { border-bottom: none !important; }
.ParentChild ul li.page_item_has_children li:last-child a { border-bottom-width: 1px !important; border-bottom-style: solid !important; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .ParentChild { margin: 6.66vw auto; font-size: 1.33vw; }
  .ParentChild__Heading a { padding: 1.25vw 0.83vw; }
  .ParentChild ul li a { padding: 1.25vw 0.83vw; }
  .ParentChild ul li a:before { padding: 0 0.42vw 0 0; font-size: 1.16vw; }
  .ParentChild ul li.page_item_has_children ul li a { padding: 1.25vw 0.83vw 1.25vw 2.93vw; }
}

@media screen and (max-width: 600px) {
  .ParentChild { margin: 8vw auto; }
  .ParentChild__Heading a { padding: 3vw 2vw; }
  .ParentChild ul li a { padding: 3vw 2vw; }
  .ParentChild ul li a:before { padding: 0 0.5vw 0 0; }
  .ParentChild ul li.page_item_has_children ul li a { padding: 3vw 2vw 3vw 6vw; }
}

/* コンテンツ末尾に表示する親子ページのリスト　
======================================================== */
.ChildList { margin: 80px auto; width: 100%; font-size: 1.6rem; border-width: 1px; border-style: solid; border-color: #f2862e; }
.ChildList__Heading a { display: block; padding: 15px 10px; color: #fff; text-decoration: none; background-color: #f2862e; }
.ChildList ul { margin: 0; padding: 0; }
.ChildList ul.children { margin-left: 0 !important; }
.ChildList ul li { margin: 0; padding-bottom: 0; list-style: none; }
.ChildList ul li a { display: block; padding: 15px 10px; color: #333; text-decoration: none; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #f2862e; }
.ChildList ul li a:before { display: inline-block; padding: 0 5px 0 0; color: #f2862e; content: " \f105"; font-family: "Font Awesome 6 Free"; font-size: 1.4rem; font-weight: 700; }
.ChildList ul li a:hover { background-color: #fff5e3; }
.ChildList ul li.page_item_has_children a,
.ChildList ul li:last-child a { border-bottom: none; }
.ChildList ul li.page_item_has_children:last-child ul.children li:last-child a { margin-bottom: -1px; }
.ChildList ul li.page_item_has_children ul li a { padding: 15px 10px 15px 35px; border-bottom: none; }
.ChildList ul li.page_item_has_children ul li:last-child a { border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #ececec; }
.ChildList ul li.page_item_has_children ul li a:before { content: " \f0da"; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .ChildList { margin: 6.153vw auto; font-size: 1.23vw; }
  .ChildList__Heading a { padding: 1.153vw 0.769vw; }
  .ChildList ul li a { padding: 1.153vw 0.769vw; }
  .ChildList ul li a:before { padding: 0 0.384vw 0 0; font-size: 1.076vw; }
  .ChildList ul li.page_item_has_children ul li a { padding: 1.153vw 0.769vw 1.153vw 2.692vw; }
}

@media screen and (max-width: 600px) {
  .ChildList { margin: 8vw auto; }
  .ChildList__Heading a { padding: 3vw 2vw; font-size: 1.9rem; }
  .ChildList ul li a { padding: 3vw 2vw; }
  .ChildList ul li a:before { padding: 0 0.5vw 0 0; }
  .ChildList ul li.page_item_has_children ul li a { padding: 3vw 2vw 3vw 6vw; }
}

/* 冒頭著者
======================================================== */
.SubPage__IntroAuthor { clear: both; margin: 0 auto; padding: 0 0 60px; width: 100%; }
.IntroAuthor { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; margin: 0; padding: 3%; width: 94%; background-color: #f9f9f9; border-width: 1px; border-style: solid; border-color: #d9d9d9; }
.IntroAuthor__Primary { margin: 0 1% 2% 0; padding: 0; width: 16%; line-height: 0; border-radius: 50%; }
.IntroAuthor__Primary:before { padding-top: 100%; }
.IntroAuthor__Primary img { padding: 0 !important; }
.IntroAuthor__Secondary { display: flex; flex-direction: column; margin: 0; padding: 0; width: 80%; }
.IntroAuthor__SubHeading { padding: 10px 0 20px !important; font-size: 1.4rem; font-weight: 300; line-height: 1.0; }
.IntroAuthor__Company { margin: 0; padding: 0 0 10px !important; font-size: 1.4rem; font-weight: 600; line-height: 1.0; }
.IntroAuthor__FullName { margin: 0; padding: 0 0 10px !important; font-size: 2.0rem; font-weight: 600; line-height: 1.0; }
.IntroAuthor__FullName small { font-size: 1.4rem; }
.IntroAuthor__Text { margin: 0; padding: 0 !important; font-size: 1.2rem; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .SubPage__IntroAuthor { padding: 0 0 5.0vw; }
  .IntroAuthor__SubHeading { padding: 0.833vw 0 1.666vw; font-size: 1.166vw; }
  .IntroAuthor__Company { padding: 0 0 0.833vw !mportant; font-size: 1.166vw; }
  .IntroAuthor__FullName { padding: 0 0 0.833vw !important; font-size: 1.666vw; }
  .IntroAuthor__FullName small { font-size: 1.166vw; }
  .IntroAuthor__Text { font-size: 1.0vw; }
}

@media screen and (max-width: 600px) {
  .SubPage__IntroAuthor { padding: 0 0 10vw; }
  .IntroAuthor { padding: 4%; width: 92%; }
  .IntroAuthor__Primary { width: 24%; }
  .IntroAuthor__Secondary { width: 70%; }
  .IntroAuthor__SubHeading { padding: 2vw 0 4vw !important; font-size: 1.55rem; }
  .IntroAuthor__Company { padding: 0 0 2vw !important; font-size: 1.55rem; }
  .IntroAuthor__FullName { padding: 0 0 3vw !important; font-size: 2.1rem; }
  .IntroAuthor__FullName small { font-size: 1.55rem; }
  .IntroAuthor__Text { font-size: 1.25rem; line-height: 2.0; }
}

/* 執筆者情報
======================================================== */
.SubPage__Author { clear: both; margin: 0 auto; padding: 40px 0; width: 100%; }
.SubPage__AuthorHeading { display: inline-block; margin: 0; padding: 10px 20px !important; color: #fff; font-size: 2.0rem; font-weight: 800; line-height: 1.0; background-color: #588751; border-radius: 8px 8px 0 0; }
.Author { display: flex; justify-content: space-between; align-items: flex-start; margin: 0; padding: 2%; width: 96%; background-color: #F9F9F9; border-width: 1px; border-style: solid; border-color: #588751; }
.Author__Primary { margin: 2%; padding: 0; width: 24%; line-height: 0; border-radius: 50%; }
.Author__Primary:before { padding-top: 100%; }
.Author__Primary img { padding: 0 !important; }
.Author__Secondary { display: flex; flex-direction: column; margin: 0; padding: 0; width: 72%; }
.Author__Company { margin: 0; padding: 20px 0 10px; font-size: 1.6rem; font-weight: 600; line-height: 1.0; }
.Author__FullName { margin: 0; padding: 0 0 30px; font-size: 2.4rem; font-weight: 600; line-height: 1.0; }
.Author__FullName small { font-size: 1.6rem; }
.Author__List { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; margin: 0; padding: 0; }
.Author__List dt { margin: 0 0 10px; padding: 2% 0.5%; width: 10%; color: #fff; font-size: 1.6rem; font-weight: 600; line-height: 1.0; text-align: center; background-color: #588751; white-space: nowrap; }
.Author__List dd { margin: 0 1% 10px 2%; padding: 0; width: 85%; font-size: 1.4rem; font-weight: 300; line-height: 2.0; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .SubPage__Author { padding: 3.333vw 0; }
  .SubPage__AuthorHeading { padding: 0.833vw 1.666vw; font-size: 1.666vw; border-radius: 0.666vw 0.666vw 0 0; }
  .Author__Company { padding: 1.666vw 0 0.833vw; font-size: 1.333vw; }
  .Author__FullName { padding: 0 0 2.5vw; font-size: 2.0vw; }
  .Author__FullName small { font-size: 1.333vw; }
  .Author__List dt { margin: 0 0 0.833vw; font-size: 1.333vw; }
  .Author__List dd { margin: 0 1% 0.833vw 2%; font-size: 1.166vw; }
}

@media screen and (max-width: 600px) {
  .SubPage__Author { padding: 10vw 0; }
  .SubPage__AuthorHeading { padding: 2vw 3vw !important; }
  .Author { padding: 4%; width: 92%; }
  .Author__Primary { width: 24%; }
  .Author__Secondary { width: 70%; }
  .Author__FullName { padding: 0 0 3vw !important; font-size: 2.0rem; }
  .Author__FullName small { font-size: 1.55rem; }
  .Author__Company { padding: 8vw 0 3vw !important; font-size: 1.55rem; }
  .Author__List { margin: 5vw calc(50% - 50vw) 0; width: 80vw; }
  .Author__List dt { margin: 0 0 2vw; padding: 2vw 0.5%; font-size: 1.4rem; }
  .Author__List dd { margin: 1vw 1% 2vw 2%; font-size: 1.4rem; }
}

/* single.phpの冒頭にタームを出力
======================================================== */
.SingleTerm { display: flex; justify-content: flex-start; align-items: flex-start; flex-wrap: wrap; margin: 0; padding: 0 !important; }
.SingleTerm li { list-style: none !important; margin: 0 20px 20px 0 !important; padding: 0 !important; }
.SingleTerm li:before { display: none; }
.SingleTerm li a { display: block; padding: 5px 20px; color: #333; font-size: 1.4rem; line-height: 1.7; text-decoration: none; background: #eaeaea; /* border-width: 1px; border-style: solid; border-color: #1f3f77; border-radius: 100px; */ }
.SingleTerm li a:hover { /* color: #fff; background-color: #1f3f77; */ }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .SingleTerm li { margin: 0 1.666vw 1.666vw 0 !important; }
  .SingleTerm li a { padding: 0.416vw 1.666vw; font-size: 1.166vw; }
}

@media screen and (max-width: 600px) {
  .SingleTerm { padding-bottom: 6vw !important; }
  .SingleTerm li { margin: 0 2vw 2vw 0 !important; }
  .SingleTerm li a { padding: 1vw 2vw;}
}

/* 汎用ブロック
======================================================== */


@media only screen and (min-width:600px) and (max-width:1200px) {

}

@media screen and (max-width: 600px) {

}

/* アーカイブ・詳細
======================================================== */


/* 絞り込み検索
======================================================== */
.SearchFilter { padding: 0 0 60px; }
.SearchFilter__Heading { margin: 0 0 20px !important; width: 100%; }
.SearchFilter .searchandfilter { width: 100%; }
.searchandfilter div > ul { display: block; width: 100%; }
.searchandfilter div > ul li { display: block; width: 100%; }
.searchandfilter div > ul li ul { display: flex; justify-content: flex-start; flex-wrap: wrap; }
.searchandfilter input[type="checkbox"],
.searchandfilter input[type="radio"] { display: none; }
.searchandfilter div > ul li.cat-item { position: relative; display: flex; margin: 0 1% 1% 0; padding: 0; width: 32%; font-size: 1.5rem; font-weight: 500; background: linear-gradient(to bottom, #fff, #ededed); border: 1px solid #e3e3e3; }
.searchandfilter div > ul li.cat-item:nth-child(3n) { margin-right: 0; }
.searchandfilter div > ul li.cat-item:before { position: absolute; right: 0; top: 50%; transform: translate(-50%, -50%); content: " \f0da";
  font-family: "Font Awesome 6 Free"; font-weight: bold; color: #fff; font-size: 1.0rem; z-index: 1; }
.searchandfilter div > ul li.cat-item:after { content: ""; position: absolute; top: 0; right: 0; width: 10px; height: 100%; }
.searchandfilter div > ul li.cat-item label { display: flex; align-items: center; width: 100%; padding: 10px 20px 10px 10px; font-weight: 700; }
.searchandfilter div > ul li.cat-item label:hover { cursor: pointer; opacity: 0.7; }
.searchandfilter input[type="submit"] { display: none; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .SearchFilter { padding: 0 0 4.615vw; }
  .SearchFilter__Heading { margin: 0 0 1.538vw !important; }
  .searchandfilter div > ul li.cat-item { font-size: 1.153vw; }
  .searchandfilter div > ul li.cat-item:before { font-size: 0.769vw; }
  .searchandfilter div > ul li.cat-item:after { width: 0.769vw; }
  .searchandfilter div > ul li.cat-item label { padding: 0.769vw 1.538vw 0.769vw 0.769vw; }
}

@media screen and (max-width: 600px) {
  .SearchFilter { padding: 0 0 6vw; }
  .SearchFilter__Heading { margin: 0 0 4vw !important; }
  .searchandfilter div > ul li ul { justify-content: space-between; }
  .searchandfilter div > ul li.cat-item { width: 49%; margin: 0 0 1vw; }
  .searchandfilter div > ul li.cat-item label { padding: 2.5vw 4vw 2.5vw 2.5vw; }
}

/* アーカイブ
======================================================== */
.ArchiveCase,
.ArchiveCustomer,
.ArchiveReport,
.ArchiveNews { position: relative; margin: 0 0 40px; padding: 0 0 60px; border-bottom: 1px dashed #7a7a7a; }
.ArchiveCase a,
.ArchiveCustomer a,
.ArchiveReport a,
.ArchiveNews a { position: absolute; z-index: 1; top: 0; left: 0; display: block; width: 100%; height: 100%; background: #fff; opacity: 0; transition: opacity 0.7s; }
.ArchiveCase a:hover,
.ArchiveCustomer a:hover,
.ArchiveReport a:hover,
.ArchiveNews a:hover { opacity: 0.3; }
.ArchiveCase__Title,
.ArchiveCustomer__Title,
.ArchiveReport__Title,
.ArchiveNews__Title { margin: 0 0 25px; padding: 0; color: #222; font-size: 2.0rem; font-weight: 600; background-color: initial; border: none; border-radius: 0; }
.ArchiveCase__Title:before,
.ArchiveCustomer__Title:before,
.ArchiveReport__Title:before,
.ArchiveNews__Title:before { display: none; }
.ArchiveCase__Primary,
.ArchiveCustomer__Primary,
.ArchiveReport__Primary,
.ArchiveNews__Primary { margin: 0 0 10px; }
.ArchiveCase__Image,
.ArchiveCustomer__Image,
.ArchiveReport__Image,
.ArchiveNews__Image { width: 100%; border-radius: 4px; }
.ArchiveCase__Image:before,
.ArchiveCustomer__Image:before,
.ArchiveReport__Image:before,
.ArchiveNews__Image:before { padding-top: 56%; }
.ArchiveCase__Text,
.ArchiveCustomer__Text,
.ArchiveReport__Text,
.ArchiveNews__Text {  }
.ArchiveCase__Primary.--ThumbOn .ArchiveCase__Text,
.ArchiveCustomer__Primary.--ThumbOn .ArchiveCustomer__Text ,
.ArchiveReport__Primary.--ThumbOn .ArchiveReport__Text,
.ArchiveNews__Primary.--ThumbOn .ArchiveNews__Text {  }
.ArchiveCase__Text p,
.ArchiveCustomer__Text p,
.ArchiveReport__Text p,
.ArchiveNews__Text p { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; margin: 0 0 30px; padding: 0; font-size: 1.6rem; line-height: 1.5; }
.ArchiveCase__Primary.--ThumbOn .ArchiveCase__Text p,
.ArchiveCustomer__Primary.--ThumbOn .ArchiveCustomer__Text p,
.ArchiveReport__Primary.--ThumbOn .ArchiveReport__Text p,
.ArchiveNews__Primary.--ThumbOn .ArchiveNews__Text p { margin: 0; }
.ArchiveCase__Secondary,
.ArchiveCustomer__Secondary,
.ArchiveReport__Secondary,
.ArchiveNews__Secondary { padding: 10px 0 0; }
.ArchiveCase__Date,
.ArchiveCustomer__Date,
.ArchiveReport__Date,
.ArchiveNews__Date { display: block; padding: 0 0 10px; color: #666; font-size: 1.3rem;}
.ArchiveCase__Category,
.ArchiveCustomer__Category,
.ArchiveReport__Category,
.ArchiveNews__Category { display: flex; justify-content: flex-start; align-items: center; flex-wrap: wrap; margin: 0 0 5px; }
.ArchiveCase__Category li,
.ArchiveCustomer__Category li,
.ArchiveReport__Category li,
.ArchiveNews__Category li { display: inline-block; margin: 0 5px 10px 0; padding: 5px 10px; border-radius: 2px; background-color: #edf9e5; font-size: 1.4rem; border-radius: 100px; }
.ArchiveReport__Tag { display: flex; justify-content: flex-start; align-items: center; flex-wrap: wrap; margin: 0 0 5px; }
.ArchiveReport__Tag li { display: inline-block; margin: 0 10px 10px 0; color: #588751; font-size: 1.6rem; font-weight: 300; }
.ArchiveReport__Tag li:before { content: "#"; }
.ArchiveCase:after,
.ArchiveCustomer:after,
.ArchiveReport:after,
.ArchiveNews:after { content: "詳細はこちら →"; position: absolute; right: 0; bottom: 2.5rem; padding: 10px 25px 10px 35px; color:#fff; font-size: 1.6rem; font-weight: 600; background-color: #588751; border-radius: 100px; pointer-events: none; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .ArchiveCase,
  .ArchiveCustomer,
  .ArchiveReport,
  .ArchiveNews { margin: 0 0 3.333vw; padding: 0 0 5.0vw; }
  .ArchiveCase__Title,
  .ArchiveCustomer__Title,
  .ArchiveReport__Title,
  .ArchiveNews__Title { margin: 0 0 2.083vw; font-size: 1.666vw; }
  .ArchiveCase__Primary,
  .ArchiveCustomer__Primary,
  .ArchiveReport__Primary,
  .ArchiveNews__Primary { margin: 0 0 0.833vw; }
  .ArchiveCase__Text p,
  .ArchiveCustomer__Text p,
  .ArchiveReport__Text p,
  .ArchiveNews__Text p { margin: 0 0 2.5vw; font-size: 1.333vw; }
  .ArchiveCase__Secondary,
  .ArchiveCustomer__Secondary,
  .ArchiveReport__Secondary,
  .ArchiveNews__Secondary { padding: 0.82vw 0 0; }
  .ArchiveCase__Date,
  .ArchiveCustomer__Date,
  .ArchiveReport__Date,
  .ArchiveNews__Date { padding: 0 0 0.833vw; font-size: 1.083vw; }
  .ArchiveCase__Category,
  .ArchiveCustomer__Category,
  .ArchiveReport__Category,
  .ArchiveNews__Category { margin: 0 0 0.416vw; }
  .ArchiveCase__Category li,
  .ArchiveCustomer__Category li,
  .ArchiveReport__Category li,
  .ArchiveNews__Category li { margin: 0 0.416vw 0.833vw 0; padding: 0.416vw 0.833vw; font-size: 1.166vw; }
  .ArchiveReport__Tag { margin: 0 0 0.416vw; }
  .ArchiveReport__Tag li { margin: 0 0.833vw 0.833vw 0; font-size: 1.333vw; }
  .ArchiveCase:after,
  .ArchiveCustomer:after,
  .ArchiveReport:after,
  .ArchiveNews:after { bottom: 2.083vw; padding: 0.833vw 2.083vw 0.833vw 2.916vw; font-size: 1.333vw; }
}

@media screen and (max-width: 600px) {
  .ArchiveCase,
  .ArchiveCustomer,
  .ArchiveReport,
  .ArchiveNews { margin: 0 0 10vw; padding: 0 0 6vw; }
  .ArchiveCase a:hover,
  .ArchiveCustomer a:hover,
  .ArchiveReport a:hover,
  .ArchiveNews a:hover { opacity: 0; }
  .ArchiveCase a:active,
  .ArchiveCustomer a:active,
  .ArchiveReport a:active,
  .ArchiveNews a:active { opacity: 0.3; }
  .ArchiveCase__Title,
  .ArchiveCustomer__Title,
  .ArchiveReport__Title,
  .ArchiveNews__Title { margin: 0 0 4vw; }
  .ArchiveCase__Primary,
  .ArchiveCustomer__Primary,
  .ArchiveReport__Primary,
  .ArchiveNews__Primary { margin: 0 0 3vw; }
  .ArchiveCase__Image,
  .ArchiveCustomer__Image,
  .ArchiveReport__Image,
  .ArchiveNews__Image { margin: 0; width: 100%; }
  .ArchiveCase__Text,
  .ArchiveCase__Primary.--ThumbOn .ArchiveCase__Text,
  .ArchiveCustomer__Text,
  .ArchiveCustomer__Primary.--ThumbOn .ArchiveCustomer__Text,
  .ArchiveReport__Text,
  .ArchiveReport__Primary.--ThumbOn .ArchiveReport__Text,
  .ArchiveNews__Text,
  .ArchiveNews__Primary.--ThumbOn .ArchiveNews__Text { padding-bottom: 4vw; width: 100%; }
  .ArchiveCase__Text p,
  .ArchiveCustomer__Text p,
  .ArchiveReport__Text p,
  .ArchiveNews__Text p { margin-bottom: 0; font-size: 1.7rem; }
  .ArchiveCase__Secondary,
  .ArchiveCustomer__Secondary,
  .ArchiveReport__Secondary,
  .ArchiveNews__Secondary { padding: 0; }
  .ArchiveCase__Date,
  .ArchiveCustomer__Date,
  .ArchiveReport__Date,
  .ArchiveNews__Date { padding: 2vw 0; font-size: 1.4rem; }
  .ArchiveCase__Category,
  .ArchiveCustomer__Category,
  .ArchiveReport__Category,
  .ArchiveNews__Category { margin: 0 0 1vw; }
  .ArchiveCase__Category li,
  .ArchiveCustomer__Category li,
  .ArchiveReport__Category li,
  .ArchiveNews__Category li { margin: 0 2vw 2vw 0; padding: 1vw 2vw; font-size: 1.6rem; }
  .ArchiveReport__Tag li { margin: 0 2vw 2vw 0; font-size: 1.5rem; }
  .ArchiveCase:after,
  .ArchiveCustomer:after,
  .ArchiveReport:after,
  .ArchiveNews:after { position: initial; bottom: ; display: block; padding: 2.5vw 0; width: 100%; font-size: 1.5rem; text-align: center; }
}

/* 関連記事
======================================================== */
.Main__RelationPage { padding: 0 0 50px; }
.RelationPage { display: flex; flex-wrap: wrap; justify-content: flex-start; margin: 0 auto; padding: 0; width: 100%; }
.RelationPage__Heading { position: relative; margin: 3rem auto; padding: 12px 2%; width: 96%; color: #191818; font-size: 2.4rem; font-weight: 600; line-height: 1.3; text-align: left; background-color: #f0f4fc; border-bottom-width: 2px; border-bottom-style: solid; border-bottom-color: #1f3f77; font-family: "Noto Serif JP"; }
.RelationPage__Item { display: flex; margin: 0 3.1% 3.1% 0; padding: 1%; width: 29%; background-color: #fff; transition: background-color 0.5s; }
.RelationPage__Item:nth-of-type(3n) { margin-right: 0; }
.RelationPage__Item a { position: relative; display: flex; flex-direction: column; align-items: center; margin: 0; padding: 0; width: 100%; text-decoration: none; }
.RelationPage__Item a:hover { opacity: 1.0; }
.RelationPage__Item:hover { background-color: #f2f5fa; }
.RelationPage__Primary { width: 100%; }
.RelationPage__Primary:before { padding-top: 54%; }
.RelationPage__Primary img { height: 100%; padding-bottom: 0 !important; transition-duration: 0.3s; }
/* .RelationPage__Item a:hover .RelationPage__Primary img { transform: scale(1.1); } */
.RelationPage__Secondary { flex-grow: 1; display: flex; flex-direction: column; justify-content: center; margin: 0; padding: 0; width: 100%; }
.RelationPage__Title { margin: 0; padding: 15px 0; }
.RelationPage__Title h3,
.RelationPage__Title p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0; padding: 0; width: 100%; color: #333; font-size: 1.7rem; font-weight: 500; line-height: 1.3; text-align: left; background: none; border: none; -webkit-text-fill-color: initial; font-family: "Noto Serif JP"; }
.Main__RelationPage .--Button { margin: 0 37%; padding: 0; width: 26%; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .Main__RelationPage { padding: 0 0 3.846vw; }
  .RelationPage__Heading { margin: 2.3vw auto; padding: 0.923vw 2%; font-size: 1.846vw; border-bottom-width: 0.154vw; }
  .RelationPage__Title { padding: 1.153vw 0; }
  .RelationPage__Title h3,
  .RelationPage__Title p { font-size: 1.307vw; }
}

@media screen and (max-width: 600px) {
  .Main__RelationPage { margin: 0 calc(50% - 50vw); padding: 0 0 10vw; width: 100vw; }
  .RelationPage__Heading { margin: 0 auto 5vw; padding: 3vw 2%; width: 86%; font-size: 2.4rem; }
  .RelationPage { margin: 0 0 5vw; justify-content: center; }
  .RelationPage .slick-list { width: 100%; }
  .RelationPage .slick-track { display: flex; }
  .RelationPage .slick-prev,
  .RelationPage .slick-next { z-index: 1; width: 8vw; height: 8vw; background: #1f3f77; border-radius: 50%; }
  .RelationPage .slick-prev { left: 11vw; }
  .RelationPage .slick-next { right: 11vw; }
  .RelationPage .slick-prev:before,
  .RelationPage .slick-next:before { font-size: 1.5rem; font-family: "Font Awesome 6 Free"; font-weight: bold; }
  .RelationPage .slick-prev:before { content: "\f053"; }
  .RelationPage .slick-next:before { content: "\f054"; }
  .RelationPage__Item { margin: 0 3vw; padding: 0; }
  .RelationPage__Title { padding: 3vw 0; }
  .RelationPage__Title h3,
  .RelationPage__Title p { font-size: ; }
  .Main__RelationPage .--Button { margin: 0 24%; width: 52%; }
}

/* 子ページ一覧
======================================================== */
.ChildPage { display: flex; flex-wrap: wrap; justify-content: flex-start; margin: 0 auto; padding: 0; width: 100%; }
.ChildPage__Heading { position: relative; margin: 3rem auto; padding: 12px 2%; width: 96%; color: #191818; font-size: 2.4rem; font-weight: 600; line-height: 1.3; text-align: left; background-color: #f0f4fc; border-bottom-width: 2px; border-bottom-style: solid; border-bottom-color: #1f3f77; font-family: "Noto Serif JP"; }
.ChildPage__Item { display: flex; margin: 0 3.1% 3.1% 0; padding: 1%; width: 29%; background-color: #fff; transition: background-color 0.5s; }
.ChildPage__Item:nth-of-type(3n) { margin-right: 0; }
.ChildPage__Item a { position: relative; display: flex; flex-direction: column; align-items: center; margin: 0; padding: 0; width: 100%; text-decoration: none; }
.ChildPage__Item a:hover { opacity: 1.0; }
.ChildPage__Item:hover { background-color: #f2f5fa; }
.ChildPage__Primary { width: 100%; }
.ChildPage__Primary:before { padding-top: 54%; }
.ChildPage__Primary img { height: 100%; padding-bottom: 0 !important; transition-duration: 0.3s; }
.ChildPage__Secondary { flex-grow: 1; display: flex; flex-direction: column; justify-content: center; margin: 0; padding: 0; width: 100%; }
.ChildPage__Title { margin: 0; padding: 15px 0; }
.ChildPage__Title h3,
.ChildPage__Title p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0; padding: 0; width: 100%; color: #333; font-size: 1.7rem; font-weight: 500; line-height: 1.3; text-align: left; background: none; border: none; -webkit-text-fill-color: initial; font-family: "Noto Serif JP"; }
@media only screen and (min-width:601px) and (max-width:1200px) {
  .ChildPage__Heading { margin: 2.3vw auto; padding: 0.923vw 2%; font-size: 1.846vw; border-bottom-width: 0.154vw; }
  .ChildPage__Title { padding: 1.153vw 0; }
  .ChildPage__Title h3,
  .ChildPage__Title p { font-size: 1.307vw; }
}

@media screen and (max-width: 600px) {
  .ChildPage__Heading { margin: 0 auto 5vw; padding: 3vw 2%; width: 86%; font-size: 2.4rem; }
  .ChildPage { margin: 0 0 5vw; justify-content: space-between; }
  .ChildPage__Item { margin: 0 0 3vw; padding: 0; width: 48%; }
  .ChildPage__Title { padding: 3vw 0; }
  .ChildPage__Title h3,
  .ChildPage__Title p { font-size: ; }
}

/* 親子ページのリスト　
======================================================== */
body.solution .Body__ParentChild { display: none; /* 初めての方へ(親)は親子ページのリストを非表示 */ }
.Body__ParentChild { margin: 0 auto; padding: 70px 0; width: 100%; background-color: #f1f1f1; }
.ParentChild__Heading { clear: both; margin: 0 auto 70px; padding: 0; width: 100%; color: #333; font-size: 3.2rem; font-weight: 700; line-height: 1.3; text-align: center; background: none; border: none; }
.ParentChild__Heading span { display: inline-block; padding: 10px 0; border-width: 1px; border-style: solid; border-image: linear-gradient(to right, #e10019, #2945a6); border-image-slice: 1; border-left: none; border-right: none; border-top: none; }
.ParentChild { display: flex; flex-wrap: wrap; justify-content: flex-start; margin: 0 auto; padding: 0; width: 1100px; border: none; }
.ParentChild__Item { display: flex; margin: 0 3.5% 3.5% 0; padding: 1%; width: 29%; background-color: #fff; border-radius: 20px; }
.ParentChild__Item.--CurrentPage { /* display: none;  現在表示しているページ */ }
.ParentChild__Item:nth-of-type(3n) { margin-right: 0; }
.ParentChild__Item a { position: relative; display: flex; flex-direction: column; align-items: center; margin: 0; padding: 0; width: 100%; text-decoration: none; }
.ParentChild__Primary { width: 100%; border-radius: 10px 10px 0 0; }
.ParentChild__Primary:before { padding-top: 57%; }
.ParentChild__Primary img { height: 100%; padding-bottom: 0 !important; transition-duration: 0.3s; }
.ParentChild__Item a:hover .ParentChild__Primary img { transform: scale(1.1); }
.ParentChild__Secondary { display: flex; flex-direction: column; margin: 0; padding: 0; width: 100%; }
.ParentChild__Title { margin: 0; padding: 30px 0; }
.Body__Page .ParentChild__Title { text-align: center; }
.ParentChild__Title h6 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin: 0; padding: 0; color: #333; font-size: 2.0rem; font-weight: 700; line-height: 1.3; text-align: center; background: none; border: none; }
.ParentChild__List { position: absolute; top: 0; left: 0; }
.ParentChild__List li { list-style: none !important; margin: 0 0 1px !important; padding: 5px 20px; color: #fff; font-size: 1.4rem !important; line-height: 1.3 !important; background: #11364e; }
.ParentChild__Text { margin: 0; padding: 0 0 10px; }
.ParentChild__Text p { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; margin: 0; padding: 0; font-size: 1.6rem; font-weight: 400; line-height: 1.5; }
.ParentChild__Item dl { display: flex; flex-direction: column; margin: 0; padding: 0; }
.ParentChild__Item dl dt { padding: 0 0 10px; color: #666; font-size: 1.3rem; font-weight: 400; }
.ParentChild__Item dl dd { display: flex; justify-content: flex-start; align-items: center; flex-wrap: wrap; }
.ParentChild__Item dl dd span { display: inline-block; margin: 0 10px 10px 0; padding: 5px 10px; border-radius: 2px; background: #eaeaea; font-size: 1.4rem; font-weight: 400; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .Body__ParentChild { padding: 5.85vw 0; }
  .ParentChild { width: 91.7vw; }
  .ParentChild__Heading { margin: 0 auto 5.85vw; font-size: 2.666vw; }
  .ParentChild__Heading span { padding: 0.82vw 0; }
  .ParentChild__Item { border-radius: 1.66vw; }
  .ParentChild__Primary { border-radius: 0.82vw 0.82vw 0 0; }
  .ParentChild__Title { padding: 2.5vw 0; }
  .ParentChild__Title h6 { font-size: 1.66vw; }
}

@media screen and (max-width: 600px) {
  .Body__ParentChild { padding: 10vw 0; }
  .ParentChild { justify-content: space-between; width: 90%; }
  .ParentChild__Heading { margin: 0 auto 10vw; font-size: 2.4rem; }
  .ParentChild__Heading span { padding: 2vw 0; }
  .ParentChild__Item { margin: 0 0 4vw; padding: 2%; width: 44%; border-radius: 10px; }
  .ParentChild__Primary { border-radius: 5px 5px 0 0; }
  .ParentChild__Title { padding: 2vw 0; }
  .ParentChild__Title h6 { font-size: 1.6rem; }
}

/* Page Navi　
======================================================== */
.PageNavi { display: flex; flex-direction: column; width: 100%; margin: 0 auto; padding: 30px 0 60px; }
.PageNavi__Info { padding-bottom: 20px; }
.PageNavi__Info, .wp-pagenavi { display: flex; justify-content: center; margin: 0; width: 100%; }
.wp-pagenavi .pages, .wp-pagenavi .previouspostslink .wp-pagenavi .nextpostslink { display: none; }
.wp-pagenavi a,
.wp-pagenavi span { padding: 0.5vw 0.75vw !important; border-width: 1px; border-style: solid; /* border-radius: 3px; */ }
.wp-pagenavi span.current { color: #fff; }
.wp-pagenavi a:hover,
.wp-pagenavi span.current { opacity: 1.0; color: #fff; font-weight: 400; }
.wp-pagenavi a,
.wp-pagenavi span { font-weight: 400; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .PageNavi { padding: 2.307vw 0 4.615vw; font-size: 1.23vw; }
  .PageNavi__Info { padding-bottom: 1.538vw; }
}

@media screen and (max-width: 600px) {
  .PageNavi { margin: 0 auto; padding: 4vw 0 4vw; width: 100%; flex-direction: column; }
  .PageNavi div { text-align: center; font-size: 1.6rem; flex-wrap: wrap; }
  .PageNavi__Info { padding-bottom: 4vw; }
  .wp-pagenavi { width: 100%; }
  .wp-pagenavi a, .wp-pagenavi span { padding: 2vw 3vw !important; font-size: 1.8rem !important; }
}

/* PageNation */
ul.PageNation { clear: both; position: relative; display: flex; justify-content: space-between; text-align: center; margin: 40px auto; padding: 40px 0; border-top: 1px solid #c1c1c1; list-style: none !important; }
.PageNation li { display: inline-block; margin-left: 0 !important; padding: 0 5px; }
.PageNation li:before { display: none; }
.PageNation li a { display: block; padding: 5px 30px; color: #000; font-size: 1.6rem; font-weight: 400; text-decoration: none; border-width: 1px; border-style: solid; border-color: #c1c1c1; }
.PageNation li a:hover { color: #fff; opacity: 1.0; }
.PageNation .--Back { position: absolute !important; top: 50%; left: 50%; transform: translate(-50%, -50%); }

@media only screen and (min-width:601px) and (max-width:1200px) {
  ul.PageNation { margin: 3.076vw auto; padding: 3.076vw 0; }
  .PageNation li { padding: 0 0.384vw; }
  .PageNation li a { padding: 0.384vw 2.307vw; font-size: 1.23vw; }
}

@media screen and (max-width: 600px) {
  ul.PageNation { margin: 8vw auto; padding: 8vw 0; }
  .PageNation li { margin-left: 0 !important; padding: 0 1%; width: 30%; }
  .PageNation li a { padding: 1vw 0; width: 100%; font-size: 1.6rem; }
}

/* お問い合わせフォーム　
======================================================== */
.ContactForm {}
.ContactForm table,
#wpcf7cpcnf table { border-collapse: collapse; width: 100%; }
.ContactForm table tr,
#wpcf7cpcnf table tr { display: flex; margin: -1px 0 0; }
.ContactForm table th,
#wpcf7cpcnf table th { display: flex; justify-content: flex-start; align-items: flex-start; position: relative; margin: 0; padding: 2%; width: 26%; font-size: 1.7rem; line-height: 1.2; text-align: left; border-right: none; background-color: #ffffe7; }
.ContactForm table tr:first-child th { background-color: #ffffe7; }
.ContactForm table tr:first-child th:first-child,
.ContactForm table tr:first-child th:first-child p { color: #222; font-weight: 300; }
.ContactForm table th:after,
#wpcf7cpcnf table th:after { position: absolute; top: 0; right: 0; content: ""; display: inline-block; width: 1px; height: 100%; background: #eaeaea; }
.ContactForm table th em,
#wpcf7cpcnf table th em { font-style: normal; }
.ContactForm table td,
#wpcf7cpcnf table td { position: relative; display: flex; align-items: flex-start; margin: 0 0 0 -1px; padding: 2%; width: 66%; }
.ContactForm table td label,
#wpcf7cpcnf  table td label { margin: 0 20px 0 0; }
.ContactForm table td em,
#wpcf7cpcnf  table td em { display: block; padding: 10px 0 0; color: #ff0000; font-style: normal; }
.ContactForm .--Required,
#wpcf7cpcnf .ContactForm .--Required { position: absolute; right: 10px; top: 20px; display: flex; justify-content: center; align-items: center; margin: 0; padding: 0 8px; color: #fff; font-size: 1.2rem; font-weight: 400; border-radius: 2px; background-color: #fc5432; }
.ContactForm table th p,
.ContactForm table td p,
#wpcf7cpcnf table th p,
#wpcf7cpcnf table td p { margin: 0; padding: 0; width: 100%; }
 /* #wpcf7cpcnf table tr:last-child { display: none;確認画面の最後の項目(チェックする)を非表示 */ }
.ContactForm__Date { flex-direction: column; }
.ContactForm table td em { font-style: normal; }
.ContactForm table td .--Required { right: initial; top: 20px; left: 150px; }
.ContactForm table td small { display: inline-block; font-size: 1.3rem; line-height: 1.5; }
.ContactForm .wpcf7-list-item { margin-left: 0; }
.ContactForm input[type="text"],
.ContactForm input[type="email"],
.ContactForm input[type="tel"] { width: 95%; padding: 2%; margin: 0; border: 1px solid #ccc; }
.ContactForm textarea { width: 95%; padding: 2%; margin: 0; border: 1px solid #ccc; }
.ContactForm input[type="submit"],
.wpcf7cp-btns button { display: block; margin: 20px auto; padding: 20px 0; width: 50%; color: #fff; font-size: 2.4rem; font-weight: bold; border: none; border-radius: 10px; background-color: #588751; }
.ContactForm input[type="submit"]:hover,
.wpcf7cp-btns button:hover { opacity: 0.7; cursor: pointer; }
.wpcf7cp-btns { display: flex; justify-content: center; }
.wpcf7cp-btns button { margin: 0 1%; width: 47%; }
.ContactForm input[type="submit"]:disabled { opacity: 0.3; cursor: not-allowed; }
.ContactForm__Date input[type="text"] { margin-bottom: 20px; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .ContactForm .--Required { right: 0.85vw; top: 1.66vw; padding: 0 0.65vw; font-size: 1vw; }
  .ContactForm table td small { font-size: 1vw; }
  .ContactForm table td .--Required { left: 12.5vw; top: 1.8vw; }
  .ContactForm__Date input[type="text"] { margin-bottom: 1.8vw; }
  .ContactForm input[type="submit"],
  .wpcf7cp-btns button { margin-bottom: 1.68vw auto; padding: 1.68vw 0; font-size: 2vw; border-radius: 0.8vw; }
}

@media screen and (max-width: 600px) {
  div#wpcf7cpcnf { z-index: 2; }
  .ContactForm table tr,
  #wpcf7cpcnf tr { flex-direction:column; }
  .ContactForm table th,
  #wpcf7cpcnf table th { border-right: 1px solid #eaeaea; }
  .ContactForm table td,
  #wpcf7cpcnf table td { margin: -1px 0 0 0; }
  .ContactForm table th,
  .ContactForm table td,
  #wpcf7cpcnf table th,
  #wpcf7cpcnf table td { width: 96%; }
  .ContactForm .--Required { right: 3vw; top: 3vw; padding: 0 2vw; font-size: 1.3rem; }
  .ContactForm table th:after,
  #wpcf7cpcnf table th:after { display: none; }
  .ContactForm table td,
  #wpcf7cpcnf table td { padding: 2rem 2%; }
  .ContactForm table td .--Required { top: 4.5vw; left: 25vw; }
  .ContactForm input[type="submit"] { width: 80%; }
  .wpcf7cp-btns button { margin: 0 auto 4vw; width: 100%; }
  .wpcf7cp-btns { flex-direction: column; }
  .ContactForm__Date input[type="text"] { margin-bottom: 4vw; }
  .ContactForm .--AlignCenter { line-height: 1.5; }
}

/* 404 Not found
======================================================== */
.Page404 { display: flex; flex-direction: column; align-items: center; margin: 0 auto; padding: 100px 0 200px; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .Page404 { padding: 7.692vw 0 15.384vw; }
}

@media screen and (max-width: 600px) {
  .Page404 { padding: 20vw 0 25vw; }
}

/* Search Results
======================================================== */
.SearchResults dd { margin: 0; }
.SearchResults dt { text-align: center; }
.SearchResults dd a { display: block; padding: 1.5rem 0; border-bottom: 1px dotted #eee; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .SearchResults dd { font-size: 1.23vw; }
  .SearchResults dd a { padding: 1.153vw 0; }
}

@media screen and (max-width: 600px) {
  .SearchResults { padding: 0 0 10vw; }
}