@charset "UTF-8";
/* @font-face { font-family: 'logoFont'; src: url('../font/07LogoTypeGothic-Condense_web.woff2') format('woff'); } */

/* 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; }

/* LayerBoard
======================================================== */
#layer_board_area { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; padding: 0 3vw; overflow-y: auto; box-sizing: border-box; /*スクロールバーを非表示*/ -ms-overflow-style: none; /*スクロールバーを非表示*/ scrollbar-width: none; /*スクロールバーを非表示*/ z-index: 99; }
#layer_board_area::-webkit-scrollbar { display: none; /*スクロールバーを非表示*/ }
.layer_board_bg { display: none; position: fixed; width: 100%; height: 100%; top: 0; bottom: 0; right: 0; left: 0; cursor: pointer; background: #000; z-index: 0; }
/* --modalWindow ポップアップ部分-- */
.layer_board { display: none; position: relative; width: 80%; max-width: 880px; margin: 0 auto; padding: 0; border-radius: 20px; box-sizing: border-box; background: #fff; z-index: 10; }
.layer_board.shortLayer { margin: 0; top: 50%; left: 50%; transform: translate(-50%,-50%); }
/* --modalWindow バツ(閉じる)ボタン-- */
.layer_board .mdl_btn_close.circle_btn { position: absolute; top: 15px; right: 15px; width: 30px; height: 30px; background-color: #000; background-image: url("../img/layerBoard-close.png"); background-repeat: no-repeat; background-size: 18px; background-position: 50%; border-radius: 50%; border: 1px solid #ccc; transition: .15s; }
.layer_board .mdl_btn_close.circle_btn:hover { cursor: pointer; background-color: #508545; border: 1px solid #508545; }
/* --↑必須なのはここまで↑-- */
/* モーダル */
.LayerBoard { margin: 0 auto; padding: 40px 0 10px; text-align: center; }
.LayerBoard h2.--TopHeading { position: relative; margin: 0 auto 30px; padding: 0 0 20px; color: #508545; font-size: 2.9rem; font-weight: 500; line-height: 1.2; }
.LayerBoard h2.--TopHeading:after { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); content: ""; display: block; width: 60px; height: 2px; background-color: #508545; }
.LayerBoard p { margin: 0 auto; padding: 0 0 30px; font-size: 1.6rem; font-weight: 500; line-height: 1.8; }
.LayerBoard br.--PC + br { display: none; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .layer_board { max-width: ; border-radius: 1.5vw; }
  .layer_board .mdl_btn_close.circle_btn { top: 1.25vw; right: 1.25vw; width: 2.5vw; height: 2.5vw; background-size: 1.5vw; }
  .LayerBoard { padding: 3.333vw 0 0.833vw; }
  .LayerBoard h2.--TopHeading { margin: 0 auto 2.5vw; padding: 0 0 1.666vw; font-size: 2.416vw; }
  .LayerBoard h2.--TopHeading:after { width: 5.0vw; height: 0.166vw; }
  .LayerBoard p { padding: 0 0 2.5vw; font-size: 1.333vw; }
}

@media screen and (max-width:600px) {
  .layer_board { width: 100%; margin: 0 auto; padding: 0; border-radius: 10px; }
  .layer_board .mdl_btn_close.circle_btn { width: 6vw; height: 6vw; background-size: 4vw; }
  .LayerBoard { padding: 15vw 3vw 5vw; }
  .LayerBoard h2.--TopHeading { margin: 0 auto 5vw; padding: 0 0 3vw; font-size: 2.0rem; }
  .LayerBoard h2.--TopHeading:after { width: 8vw; height: 0.5vw; }
  .LayerBoard p { padding: 0 0 3vw; font-size: 1.4rem; }
}

/* 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) {

}

/* Common
======================================================== */
html { font-size: 62.5%; }
body { font-family: "Noto Sans JP","ヒラギノ角ゴ 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; overflow-x: hidden; position: relative; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
a,
.mce-content-body a { text-decoration: underline; }
a:hover { cursor: pointer; text-decoration: none; opacity: 0.7; }
#toc_container a, #ez-toc-container a { font-weight: 400; }
#toc_container a:visited, #ez-toc-container a:visited { font-weight: 400; }
p,
.mce-content-body p { font-size: 1.7rem; line-height: 1.9; letter-spacing: 0.05em; }
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; position: relative; margin: 3rem auto; padding: 20px 2%; width: 96%; color: #000; font-size: 3.4rem; font-weight: 500; line-height: 1.3; letter-spacing: 0.05em; text-align: center; font-family: "Noto Serif JP"; }
main h2 small, section h2 small,
.mce-content-body h2 small { position: absolute; top: -15px; left: 50%; transform: translateX(-50%); margin: 0 auto; padding: 0; width: 100%; color: #eff5f3; font-size: 5.5rem; font-weight: 700; font-family: "Montserrat"; }
main h2:after, section h2:after,
.mce-content-body h2:after { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); content: ""; display: block; width: 60px; height: 3px; background: #508545; }
main h2 span, section h2 span,
.mce-content-body h2 span { position: relative; }
main h3,
.mce-content-body h3 { clear: both; position: relative; margin: 3rem auto; padding: 12px 1%; width: 98%; font-size: 2.5rem; font-weight: 700; line-height: 1.3; letter-spacing: 0.05em; text-align: left; border-width: 1px; border-style: solid; border-color: #508545; }
/* main h3:after,
.mce-content-body h3:after { position: absolute; bottom: 0; left: 0; content: ""; width: 100%; height: 1px; background-color: #c8c8c8; } */
main h4,
.mce-content-body h4 { clear: both; margin: 3rem auto; padding: 12px 2%; width: 96%; font-size: 2.2rem; font-weight: 700; line-height: 1.3; letter-spacing: 0.05em; background-color: #f2f2f2; border-bottom-width: 2px; border-bottom-style: solid; border-bottom-color: #508545; }
main h5,
.mce-content-body h5 { clear: both; margin: 3rem auto; padding: 3px 2%; width: 96%; font-size: 2.0rem; font-weight: 700; line-height: 1.3; letter-spacing: 0.05em; border-left-width: 3px; border-left-style: solid; border-left-color: #508545; }
main h6,
.mce-content-body h6 { clear: both; margin: 3rem auto; padding: 18px 2%; width: 96%; font-size: 1.8rem; font-weight: 700; line-height: 1.3; letter-spacing: 0.05em; background-color: #ffffcf; }
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 li,
.Body__Single ul li,
.mce-content-body ul li { list-style: disc; margin-left: 2rem; font-size: 1.7rem; line-height: 2.1; letter-spacing: 0.05em; }
.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; padding: 1.666vw 2%; font-size: 2.833vw; }
  main h2:after { width: 5.0vw; height: 0.25vw; }
  main h2 small { top: -1.25vw; font-size: 4.583vw; }
  main h3 { margin: 2.5vw auto; padding: 1.0vw 1%; font-size: 2.085vw; }
  main h4 { margin: 2.5vw auto; padding: 1.0vw 2%; font-size: 1.833vw; border-bottom-width: 0.2vw; }
  main h5 { margin: 2.5vw auto; padding: 0.25vw 2%; font-size: 1.666vw; border-left-width: 0.28vw; }
  main h6 { margin: 2.5vw auto; padding: 1.5vw 2%; font-size: 1.5vw; }
  p { font-size: 1.416vw; }
  .Body__Page ul li,
  .Body__Single ul li { margin-left: 1.66vw; font-size: 1.418vw; }
}

@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.7rem; line-height: 1.8; }
  /* Heading */
  main h2 { margin: 8vw auto; padding: 3vw 2%; font-size: 3.0rem; }
  main h2:after { width: 8vw; height: 2px; }
  main h2 small { top: -1vw; font-size: 3.7rem; }
  main h3 { padding: 2vw 1%; }
  main h4 { padding: 2vw 2%; }
  main h5 { padding: 1.0vw 2%; border-left-width: 3px; }
  main h6 { padding: 1.5vw 2%; }
}

/* 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-top: 1.5em; text-align: center; }
.wp-caption-text { margin-top: 0; }
.mce-item-table { max-width: 100% !important; border-collapse: collapse; margin-bottom: 2rem; }
.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; }
/* TinyMCEの独自スタイル */
.lightweight-accordion { margin-bottom: 3rem !important; }
.--SupplementaryFrame,
.--CautionFrame { position: relative; display: block; margin: 0 auto 3rem; padding: 15px 15px 15px 63px; width: 760px; line-height: 1.7; border-width: 1px; border-style: solid; border-radius: 5px; }
.--SupplementaryFrame { background: #fff7cc; border-color: #ffe766; }
.--CautionFrame { background: #fdf2f2; border-color: #f6b8b8; }
.--SupplementaryFrame:before { content: "\21"; background: #ffd700; border-radius: 50%; }
.--CautionFrame:before { content: "\21"; }
.--SupplementaryFrame:before,
.--CautionFrame:before { position: absolute; z-index: 1; top: 10px; left: 10px; display: flex; justify-content: center; align-items: center; width: 40px; height: 40px; color: #fff; font-size: 2.2rem; font-family: "Font Awesome 6 Free"; font-weight: bold; }
.--CautionFrame:after { position: absolute; z-index: 0; top: -12px; left: 12px; content: "\f04b"; color: #f6b8b8; font-size: 4.6rem; font-family: "Font Awesome 6 Free"; font-weight: bold; transform: rotate(-90deg); }
.--SimpleFrame { display: block; margin: 0 auto 3rem; padding: 15px; width: 810px; line-height: 1.7; border: 1px solid #ccc; border-radius: 5px; }
.--SupplementaryFrame,
.--CautionFrame,
.--SimpleFrame { font-size: 1.8rem; line-height: 2.0; }
.--LabelBox { position: relative; display: flex; flex-direction: column; align-items: flex-start; margin: 3rem auto; padding: 15px; width: 810px; background: #f3fafe; border: 1px solid #bde3fb; border-radius: 5px; font-size: 1.8rem; line-height: 2.0; }
.--LabelBoxTitle { display: inline-block; margin: -35px 0 15px; padding: 5px 15px; color: #fff; font-weight: 500; background: #87cefa; border-radius: 5px; }
.--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.8rem; 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 60%, #FFABCE 0%) repeat scroll 0 0; /*赤色マーカー*/ }
.--BlueMarker { background:rgba(0, 0, 0, 0) linear-gradient(transparent 60%, #A7F1FF 0%) repeat scroll 0 0; /*青色マーカー*/ }
.--YellowMarker { background: rgba(0, 0, 0, 0) linear-gradient(transparent 60%, #FFFF88 0%) repeat scroll 0 0; /*黄色マーカー*/ }
/* テーブル */
table { max-width: 100% !important; border-collapse: collapse; margin-bottom: 2rem; }
table tbody { max-width: 100% !important; }
table th { padding: 10px 20px; border-width: 1px; border-style: solid; border-color: #eaeaea; word-break: break-all; }
table td { padding: 10px 20px; border-width: 1px; border-style: solid; border-color: #eaeaea; line-height: 1.5; word-break: break-all; }
table th p,
table td p { padding-bottom: 0 !important; }
.Body__Page table th { background-color: #f9f9f9; }
table.mainstyle th { background: #f9f9f9; }
table.NoLine th { border: none; }
table.NoLine td { border: none; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .--SupplementaryFrame,
  .--CautionFrame { margin: 0 auto 2.5vw; padding: 1.25vw 1.25vw 1.25vw 5.21vw; width: 63.3vw; border-radius: 0.4vw; }
  .--SupplementaryFrame:before,
  .--CautionFrame:before { top: 0.83vw; left: 0.83vw; width: 3.33vw; height: 3.33vw; font-size: 1.8vw; }
  .--CautionFrame:after { top: -1vw; left: 1vw; font-size: 3.83vw; }
  .--SimpleFrame { margin: 0 auto 2.5vw; padding: 1.25vw; width: 67.5vw; border-radius: 0.4vw; }
  .--LabelBox { margin: 2.5vw auto; padding: 1.25vw; width: 67.5vw; border-radius: 0.4vw; }
  .--LabelBoxTitle { margin: -2.9vw 0 1.25vw; padding: 0.83vw 1.25vw; border-radius: 0.4vw; }
  .lightweight-accordion-body { padding: 0.83vw !important; border-width: 0.2vw !important; }
  .lightweight-accordion-title p,
  .lightweight-accordion .lightweight-accordion-title span { font-size: 1.5vw !important; }
  .--SupplementaryFrame,
  .--CautionFrame,
  .--SimpleFrame,
  .--LabelBox { font-size: 1.33vw; }
  .--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 th,
  table td,
  table th p,
  table td p { font-size: 1.33vw; }
  table th { padding: 0.83vw 1.66vw; }
  table td { padding: 0.83vw 1.66vw; }
}

@media screen and (max-width: 600px) {
  table { width: 100% !important; /* table-layout: fixed; */ }
  table td { white-space: pre-wrap; }
  .lightweight-accordion-title p,
  .lightweight-accordion .lightweight-accordion-title span { font-size: 1.7rem !important; }
  .--SupplementaryFrame,
  .--CautionFrame { padding: 2% 2% 2% 14%; width: 84%; line-height: 1.5; }
  .--SupplementaryFrame:before,
  .--CautionFrame:before { top: 2vw; left: 2vw; width: 8vw; height: 8vw; }
  .--CautionFrame:after { top: -1.5vw; left: 2.5vw; font-size: 4.4rem; }
  .--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; }
}

/* 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; }
}
.--Wrap { margin: 0 auto !important; width: 1000px; }
.--PositionFixed { position: fixed; z-index: 99; }
/* Heading */
.--TopHeading { margin: 0 auto 70px; padding: 0; color: #000; font-size: 4.0rem; font-weight: 500; line-height: 1.2; text-align: center; background: none; border: none; }
.--TopHeading small { position: initial; transform: initial; display: block; margin: 0; padding: 10px 0; color: #107240; font-size: 1.8rem; font-weight: 500; font-family: "Montserrat"; }
.--TopIntroText { display: flex; justify-content: center; margin: 0 auto; padding: 0 0 50px; font-size: 1.8rem; line-height: 1.7; letter-spacing: 0.05em; text-align: center; }
.--TopHeading:before,
.--TopHeading:after { display: none; }
.--TopSubHeading { margin: 0 auto; padding: 0 50px; color: #508545; font-size: 2.8rem; font-weight: 500; background-color: #fff; }
.--TopText { position: relative; margin: 0; padding: 0 0 50px; font-size: 1.8rem; font-weight: 500; line-height: 2.0; text-align: center; }

/* Button */
.--Button a { position: relative; display: inline-block; margin: 0 auto; padding: 15px 0; width: 100%; color: #fff; font-size: 1.9rem; font-weight: 500; text-decoration: none; text-align: center; background: #508545; border-width: 1px; border-style: solid; border-color: #508545; border-radius: 100px; over-flow: hidden; transition: background-color 0.5s ease; }
.--Button a span { position: relative; }
.--Button a:hover { opacity: 1.0; color: #508545; background-color: #fff; }
/* .--Button a:before { position: absolute; top: 0; left: 0; content: ""; display: block; width: 100%; height: 100%; background-color: #fff; border-radius: 100px; transform: scaleX(0); transform-origin: right; transition: all 0.4s ease; transition-property: transform; } */
.--Button a:hover:before { transform: scaleX(1); transform-origin: left; }
.--Button a:after { position: absolute; right: 25px; top: 50%; transform: translateY(-50%); display: flex; justify-content: center; align-items: center; content: '\f054'; color: #fff; font-size: 1.2rem; font-family: "Font Awesome 6 Free"; font-weight: bold; }
.--Button a:hover:after { color: #508545; }
/* 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"; }
.--Mincho { font-family: "Noto Serif JP","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: #eaeaea; 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 { margin: 0 auto 5.833vw; font-size: 3.333vw; }
  .--TopHeading small { padding: 0.833vw 0; font-size: 1.5vw; }
  .--TopText { padding: 0 0 4.166vw; font-size: 1.5vw; }
  .--TopSubHeading {  }
  .--Button a { padding: 1.25vw 0; font-size: 1.583vw; }
  .--Button a:after { right: 2.083vw; font-size: 1.0vw; }
  #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 { margin: 0 auto 5vw; font-size: 3.0rem; }
  .--TopHeading small { padding: 3vw 0 0; font-size: 1.4rem; }
  .--TopText { font-size: 1.7rem; }
  .--TopSubHeading {  }
  .--Button a { padding: 3vw 0; font-size: 1.7rem; }
  .--Button a:after { right: 3vw;  font-size: 1.2rem; }
}

/* 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: #508545; }
.--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; }
.--FlashTop img { opacity: 0; transform: scale(1.5); }
.--FlashTop.--Move img { opacity: 1; transform: scale(1.0); transition: 0.8s; }

.mce-content-body .--FlashTop img,
.mce-content-body .--FlashBack img { opacity: 1; transform: initial; }

/* H1Text
======================================================== */
.Body__H1Text { margin: 0; padding: 0; width: 100%; background-color: #e20404; }
.H1Text { margin: 0 auto; padding: 5px 0; width: 1100px; color: #fff; font-size: 1.2rem; line-height: 1.0; letter-spacing: 0; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .H1Text { padding: 0.416vw 0; font-size: 1.0vw; width: 91.667vw; }
}

@media screen and (max-width: 600px) {
  .H1Text { padding: 1.5vw 0; width: 94%; font-size: 1.1rem; }
}

/* Header
======================================================== */
.Header { position: fixed; z-index: 99; top: 0; left: 0; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; width: 100%; background-color: rgba(255, 255, 255, 0.9); transition: background-color 0.5s ease; }
body.--BgWhite .Header { background-color: rgba(255, 255, 255, 0.9) !important; }
.Header__Primary { margin: 0; padding: 10px 0 10px 20px; }
.Header__Primary h1 a,
.Header__Primary a.Header__PrimaryLogo { display: flex; align-items: center; margin: 0; padding: 0; }
.Header__PrimarySiteLogo { margin: 0; padding: 0 15px 0 0; width: 35px; }
.Header__PrimarySiteName { width: 335px; }
.Header__PrimarySiteLogo img,
.Header__PrimarySiteName img { width: 100%; height: auto; }
body.--Home .Header__PrimarySiteName img { filter: invert(88%) sepia(61%) saturate(0%) hue-rotate(229deg) brightness(107%) contrast(101%); }
body.--BgWhite .Header__PrimarySiteName img { filter: initial; }
.Header__Secondary { display: flex; justify-content: flex-end; margin: 0; padding: 0 15px 0 0; }
.Header__Secondary .--Button { display: flex; }
.Header__Secondary .--Button a { display: flex; align-items: center; padding: 5px 25px 5px 55px; font-size: 1.7rem; white-space: nowrap; }
.Header__Secondary .--Button a:after { position: absolute; right: initial; left: 25px; top: 50%; transform: translateY(-50%); margin: 2px 0 0; content: "\f0e0"; font-size: 1.9rem; font-family: "Font Awesome 6 Free"; font-weight: normal; }

@media only screen and (min-width:601px) and (max-width:1300px) {
  .Header__Primary { padding: 0.769vw 0 0.769vw 1.538vw; }
  .Header__PrimarySiteLogo { padding: 0 1.153vw 0 0; width: 2.692vw; }
  .Header__PrimarySiteName { width: 25.769vw; }
  .Header__Secondary { padding: 0 1.153vw 0 ; }
  .Header__Secondary .--Button a { padding: 0.384vw 1.923vw 0.384vw 4.23vw; font-size: 1.3vw; }
  .Header__Secondary .--Button a:after { left: 1.923vw; margin: 0.153vw 0 0; font-size: 1.461vw; }
}

@media screen and (max-width: 600px) {
  .Header__Primary { padding: 3vw 0 3vw 3vw; }
  .Header__PrimarySiteLogo { padding: 0 2vw 0 0; width: 4vw; }
  .Header__PrimarySiteName { margin-top: 1vw; width: 47vw; }
  .Header__Secondary { padding: 0 3vw 0 0; }
  .Header__Secondary .--Button { display: none; }
}

/* GlobalNavi
======================================================== */
.Body__GlobalNavi { display: flex; justify-content: flex-end; margin: 0; padding: 0; width: 100%; }
.GlobalNavi { display: flex; justify-content: flex-end; margin: 0; padding: 0; }
.GlobalNavi li { position: relative; display: flex; margin: 0; padding: 0; }
.GlobalNavi li a { display: flex; align-items: center; margin: 0; padding: 15px 20px; color: #333; font-size: 1.6rem; font-weight: 500; line-height: 1.2; text-decoration: none; text-align: center; transition: background-color 0.5s ease; }
body.--Home .GlobalNavi li a { color: #fff; }
body.--BgWhite .GlobalNavi li a { color: #333; }
.GlobalNavi li.menu-item-has-children a:after { margin-left: 5px; content: "\f0d7"; font-size: 1.8rem; font-family: "Font Awesome 6 Free"; font-weight: bold; }
.GlobalNavi li a:hover { opacity: 0.7; /* color: #508545 !important; */ }
.GlobalNavi li a span { flex-grow: 1; display: flex; align-items: center; }
.GlobalNavi .sub-menu { z-index: 1000; display: none; background: rgba(80,133,69,0.9); position: absolute; top: 46px; 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.5rem; text-align: left; border-bottom: 1px solid #3f6537; }
body.--BgWhite .GlobalNavi .sub-menu li a { color: #fff; }
.GlobalNavi .sub-menu li a:hover { opacity: 0.7; background-color: initial; }
.GlobalNavi .sub-menu li a:after { display: none; }

@media only screen and (min-width:601px) and (max-width:1300px) {
  .GlobalNavi li a { padding: 1.153vw 1.538vw; font-size: 1.23vw; }
  .GlobalNavi li.menu-item-has-children a:after { margin-left: 0.384vw; font-size: 1.384vw; }
  .GlobalNavi .sub-menu { top: 3.538vw; width: 15.384vw; }
  .GlobalNavi .sub-menu li a { padding: 0.769vw 5%; font-size: 1.153vw; }
}

@media screen and (max-width: 600px) {
  .MobileNavi { justify-content: center; gap: 0; padding: 2%; background: #0849a3; border-top: 1px solid #fff; }
  .MobileNavi figure { width: 23%; margin: 1% !important; }
  .MobileNavi figure img { margin-top: 0; }
  .fixed { position: fixed; z-index: 99; top: 0; }
  /* ハンバーガーボタン */
  .menu-btn { display: block; position: absolute; top: 0.5vw; right: 3vw; width: 11vw; height: 11vw; cursor: pointer; z-index: 101; -webkit-transition: all 3s ease-in-out; transition: all .3s ease-in-out; /* background: #008001; border: 1px solid #bf1d02; border-radius: 1vw; */ }
  /* .menu-btn:after { position: absolute; bottom: 1vw; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); z-index: 0; content: "メニュー"; display: block; color: #fff; font-size: 1.1rem; font-weight: bold; letter-spacing: 0; white-space: nowrap; } */
  body.open .menu-btn { position: fixed; background: none; }
  body.open .menu-btn:after { display: none; }
  .menu-btn-line { position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; height: 2px; width: 64%; background: #508545; -webkit-transition: all 3s ease-in-out; transition: all .3s ease-in-out; }
  .menu-btn-line:before,
  .menu-btn-line:after { content: ""; height: 2px; width: 100%; background: #508545; position: absolute; left: 0; -webkit-transition: inherit; transition: inherit; }
  .menu-btn-line:before { top: -2.5vw; }
  .menu-btn-line:after { top: 2.5vw; }
  body.--Home .menu-btn-line { background: #fff; }
  body.--Home .menu-btn-line:before,
  body.--Home .menu-btn-line:after { background: #fff; }
  body.--Home.--BgWhite .menu-btn-line { background: #508545; }
  body.--Home.--BgWhite .menu-btn-line:before,
  body.--Home.--BgWhite .menu-btn-line:after { background: #508545; }
  body.--Home.--BgWhite  .menu-btn.active .menu-btn-line:before,
  body.--Home.--BgWhite  .menu-btn.active .menu-btn-line:after { background: #fff; }
  body.open .menu-btn { border-color: #fff; }
  body.open .menu-btn-line { background-color: transparent; }
  body.open .menu-btn-line:before,
  body.open .menu-btn-line:after { top: 0; background: #fff; }
  body.open .menu-btn-line:before { -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }
  body.open .menu-btn-line:after { -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); }

  /* モーダルウィンドウ */
  body.open { position: fixed; width: 100%; height: 100%; }
  body.open .Body__Modal { display: block !important; transition: all .5s; visibility: visible; opacity: 1; overflow-y: auto; }
  .Modal { margin: 15vw auto 3vw !important; padding: 3%; width: 90%; background: #f6f2ed; }
  .Modal nav { margin-bottom: 2vw !important; }
  .Modal__List { display: flex; justify-content: space-between; flex-wrap: wrap; margin: 0 auto; width: 100%; }
  .Modal__List li { display: flex; margin: 0 0 2vw; width: 49%; }
  .Modal__List li a { position: relative; display: flex; justify-content: center; align-items: center; margin: 0; padding: 2vw 4vw; width: 100%; min-height: 9vw; color: #fff; font-size: 1.9rem; font-weight: 500; text-align: center; text-decoration: none; border-radius: 5px; }
  .Modal__List li a:after { position: absolute; right: 2vw; top: 50%; transform: translateY(-50%); content: "\f054"; font-size: 1.3rem; font-family: "Font Awesome 6 Free"; font-weight: bold; }
  .Modal__Heading { position: relative; display: flex; justify-content: center; align-items: center; margin: 0 auto 3vw !important; padding: 3.5vw 0; width: 100%; font-size: 2.4rem; font-weight: 500; text-align: center; background: #fffaed; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; }
  .Modal__Heading .--BtnAcd { position: absolute; display: flex; justify-content: flex-end; align-items: center; width: 100%; height: 100%; }
  .Modal__Heading .--BtnAcd:after { display: inline-block; margin: 0 2vw 0 0; padding: 1.5vw 2vw; content: "\2b"; font-size: 1.7rem; font-family: "Font Awesome 6 Free"; font-weight: bold; background: #fff; }
  .Modal__Heading .--BtnAcd.Selected:after { content: "\f068"; }
  .Modal__Close { display: flex; justify-content: center; margin: 0 auto; width: 100%; }
  .Modal__Close a { display: flex; margin: 0 auto; padding: 1vw 9vw; color: #fff; font-size: 1.9rem; font-weight: 500; text-align: center; text-decoration: none; background: #999; border-radius: 5px; }
  .Modal__Menu { display: none; }

  .GlobalNavi { display: none !important; }
  body.open .GlobalNavi { display: flex !important; flex-direction: column; justify-content: center; overflow-y: auto; }
  .GlobalNavi ul { display: block; margin: 0; padding: 0; width: 100vw; list-style-type: none; border-top: 1px solid #35596e; }
  .GlobalNavi li { margin: 0; width: 100%; text-align: center; }

  .GlobalNavi { position: fixed; display: flex; justify-content: center; top: 0; left: 0; width: 100%; height: 100%; background: rgba(80, 133, 69, 0.95); z-index: 100; /*▼グロナビ(SP) */ }
  .GlobalNavi li { flex-wrap: wrap; width: 100%; text-align: left; border-bottom: 1px solid #3f6537; }
  .GlobalNavi li:first-child { border-top: 1px solid #3f6537; }
  .GlobalNavi li:before { display: none; }
  .GlobalNavi li a { position: relative; flex-direction: row; justify-content: center; margin: 0; padding: 5vw 0; width: 100%; font-size: 2.2rem; font-weight: bold; color: #fff !important; text-decoration: none; text-align: center; }
  .GlobalNavi li a:hover { color: #fff; background-color: #3f6537; }
  .GlobalNavi li:last-child:after { display: none; }
  .GlobalNavi li a i { margin: 0 2vw 0 0; padding: 0; color: #fff; }
  .GlobalNavi .--IconBeginner { margin: 0 2vw 0 0; width: 3.8vw; height: 4.0vw; }
  .GlobalNavi .--IconBeginner:before,
  .GlobalNavi .--IconBeginner:after { border-color: #fff; }
  .GlobalNavi .--IconBeginner:after { background: #fff; }
  .GlobalNavi li a span { flex-grow: initial; }
  .GlobalNavi li.menu-item-has-children a:after { position: absolute; right: 2vw; top: 50%; transform: translateY(-50%); content: "\f107"; font-family: "Font Awesome 6 Free"; font-weight: bold; }
  .GlobalNavi li.menu-item-has-children a:hover { background-color: #3f6537; }
  .GlobalNavi li.menu-item-has-children a.on { color: #e7eeeb; }
  .GlobalNavi li.menu-item-has-children a.on:after { content: "\f106"; }
  .GlobalNavi .sub-menu { z-index: initial; background: initial; position: initial; top: initial; left: initial; transform: initial; -webkit-transform: initial; -ms-transform: initial; width: 100%; box-shadow: initial; margin: initial; }
  .GlobalNavi .sub-menu li { margin: -1px 0 0; }
  .GlobalNavi .sub-menu li:last-child { border-bottom: none; }
  .GlobalNavi .sub-menu li a { padding: 3.5vw 5%; color: #508545 !important; font-size: 2.0rem; text-align: center; background: #dfe7dd; }
  .GlobalNavi .sub-menu li a:after { display: none; }
  .GlobalNavi .open { display: block; margin: 0; padding: 0; }
}

/* メインビジュアル
======================================================== */
.MainVisual { position: relative; display: flex; justify-content: center; margin: 0 auto; padding: 0; width: 100%; height: 40vw; }
.mce-content-body .MainVisual { flex-direction: column; height: auto; }
.MainVisual__Item { position: relative; display: flex !important; flex-direction: column; justify-content: flex-end; align-items: flex-start; margin: 0 auto; padding: 0; width: 100%; }
.mce-content-body .MainVisual__Item { height: 40vw; }
.MainVisual__Bg { position: absolute; top: 0; left: 0%; width: 100%; height: 100%; }
.MainVisual__Bg img { width: 100%; height: 100%; object-fit: cover; }
.MainVisual__Heading { margin: 0; padding: 0 0 5.5vw 2vw; width: 45vw; background: none; border: none; }
.mce-content-body .MainVisual__Heading { margin: 0; width: 50%; }
/* .MainVisual__Heading:before, */
.MainVisual__Heading:after,
.mce-content-body .MainVisual__Heading:before,
.mce-content-body .MainVisual__Heading:after { display: none; }
.MainVisual__Heading img { width: 100%; height: auto; }
.MainVisual .slick-track { display: flex; }
.MainVisual .slick-list { display: flex; width: 100%; }
.MainVisual .slick-slide { height: auto !important; }
.MainVisual .slick-dots { display: flex; justify-content: center; bottom: -25px; left: 50%; transform: translateX(-50%); width: 96%; }
.MainVisual .slick-dots li button:before { color: #b0b0b0; }
.MainVisual .slick-dots li.slick-active button:before { color: #195090; }
.MainVisual .slick-prev,
.MainVisual .slick-next { z-index: 1; top: 50% !important; display: flex; justify-content: center; align-items: center; width: 70px; height: 70px; background: #fff; border-radius: 50%; }
.MainVisual .slick-prev { left: -35px; }
.MainVisual .slick-next { right: -35px; }
.MainVisual .slick-prev:hover,
.MainVisual .slick-next:hover { filter: brightness(1.2); }
.MainVisual .slick-prev:before,
.MainVisual .slick-next:before { color: #124f8b; font-size: 2.0rem; font-family: "Font Awesome 6 Free"; font-weight: bold; }
.MainVisual .slick-prev:before { content: "\f060"; padding-left: 30px; }
.MainVisual .slick-next:before { content: "\f061"; padding-right: 30px; }

/* アニメーションを指定 */
@keyframes fadezoom {
  0% { transform: scale(1); } 
  100% { transform: scale(1.1); }
}
.add-zoom .MainVisual__Bg { animation: fadezoom 10s 0s forwards; }

@media screen and (max-width: 600px) {
  .MainVisual { height: 85vw; }
  .MainVisual__Item { justify-content: center; }
  .MainVisual__Heading { margin: 0 auto; padding: 6vw 0 0; width: 100%; }
}

/* SWATSの特徴
======================================================== */
.TopFeature { position: relative; display: flex; justify-content: center; flex-wrap: wrap; margin: 0 auto; padding: 220px 0 130px; width: 100%;  }
.TopFeature__Bg { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%; }
.TopFeature__Bg img { width: 100%; height: 100%; object-fit: cover; }
body.--Home .TopFeature__LoopText { position: absolute; z-index: 1; top: 0; left: 0; width: 100%; }
body.--Home .TopFeature__LoopText .--LoopText { background: none; }
body.--Home .TopFeature__LoopText .--LoopText ul { padding-top: 0; }
.TopFeature .--TopHeading { margin-bottom: 30px; }
.TopFeature .--TopText { padding: 0 0 120px; width: 100%; }
.TopFeature__Item { position: relative; display: flex; flex-direction: column; align-items: center; margin: 0 20px 20px; padding: 0; width: 330px; background-color: #fff; border-radius: 20px; counter-increment: feature-num; }
.TopFeature__Item:before { position: absolute; top: -90px; left: 50%; transform: translateX(-50%); color: #508545; font-size: 6.0rem; font-weight: 500; font-family: "Montserrat"; content: counter(feature-num, decimal-leading-zero); }
.TopFeature__Image { margin: 0 0 40px; padding: 0; width: 100%; border-radius: 20px 20px 0 0; overflow: hidden; }
.TopFeature__Image:before { padding-top: 74%; }
.TopFeature__SubHeading { position: relative; margin: 0 auto 40px; padding: 0 0 30px; width: 100%; color: #508545; font-size: 2.5rem; font-weight: 600; line-height: 1.55; text-align: center; background: none; border: none; }
.TopFeature__SubHeading:after { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); content: ""; display: inline-block; width: 40px; height: 4px; background-color: #508545; }
.TopFeature__Text { margin: 0 auto; padding: 0 0 30px; width: 90%; font-size: 1.7rem; line-height: 1.65; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .TopFeature { padding: 18.333vw 0 10.833vw; }
  .TopFeature .--TopHeading { margin-bottom: 2.5vw; }
  .TopFeature .--TopText { padding: 0 0 10vw; }
  .TopFeature__Item { margin: 0 1.666vw 1.666vw; width: 27.5vw; border-radius: 1.666vw; }
  .TopFeature__Item:before { top: -7.5vw; font-size: 5.0vw; }
  .TopFeature__Image { border-radius: 1.666vw 1.666vw 0 0; }
  .TopFeature__SubHeading { margin: 0 auto 3.333vw; padding: 0 0 2.5vw; font-size: 2.083vw; }
  .TopFeature__SubHeading:after { width: 3.333vw; height: 0.333vw; }
  .TopFeature__Text { padding: 0 0 2.5vw; font-size: 1.416vw; }
}

@media screen and (max-width: 600px) {
  .TopFeature { flex-direction: column; align-items: center; padding: 30vw 0 0; background-color: #e7eeeb; }
  body.--Home .TopFeature__LoopText { width: 100%; }
  .TopFeature__Bg img { height: auto; }
  .TopFeature .--TopHeading { margin-bottom: 6vw; }
  .TopFeature .--TopText { padding: 0 0 20vw; }
  .TopFeature__Item { margin: 0 0 20vw; width: 84%; border-radius: 10px; }
  .TopFeature__Item:before { top: -12vw; font-size: 3.8rem; }
  .TopFeature__Image { margin: 0 0 6vw; border-radius: 10px 10px 0 0; }
  .TopFeature__Image:before { padding-top: 54%; }
  .TopFeature__SubHeading { margin: 0 auto 6vw; padding: 0 0 4vw; line-height: 1.5; }
  .TopFeature__SubHeading:after { width: 8vw; height: 3px; }
  .TopFeature__Text { padding: 0 0 8vw; }
}

/* 総合コンサルティンググループ
======================================================== */
.TopGroup { position: relative; display: flex; flex-direction: row-reverse; justify-content: center; align-items: center; margin: 0 auto; padding: 60px 0; width: 100%; }
.TopGroup__Bg { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%; }
.TopGroup__Bg img { width: 100%; height: 100%; object-fit: cover; }
.TopGroup__Primary { position: relative; display: flex; flex-direction: column; margin: 0 0 0 50px; padding: 0; width: 490px; }
.TopGroup__PrimaryText { margin: 0; padding: 0 0 40px; width: 100%; color: #fff; font-size: 1.8rem; font-weight: 500; line-height: 1.8; text-align: center; white-space: nowrap; }
.TopGroup__PrimaryHeading { margin: 0; padding: 0; width: 100%; background: none; border: none; }
.TopGroup__PrimaryHeading:after { display: none; }
.TopGroup__PrimaryHeading img { width: 100%; height: auto; }
.TopGroup__Secondary { position: relative; display: flex; justify-content: space-between; flex-wrap: wrap; margin: 0; padding: 0; width: 560px; }
.TopGroup__Secondary dt { position: absolute; z-index: 1; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 300px; height: 300px; }
.TopGroup__Secondary dt img { width: 100%; height: auto; }
.TopGroup__Secondary dd { position: relative; margin: 0; padding: 0; width: 270px; height: 270px; background-repeat: no-repeat; background-position: center center; background-size: 100% auto; transition: all .5s; }
.TopGroup__Secondary dd a { position: absolute; z-index: 2; top: 0; left: 0; width: 100%; height: 100%; }
.TopGroup__Secondary dd:nth-child(2),
.TopGroup__Secondary dd:nth-child(3) { margin-bottom: 20px; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .TopGroup { padding: 5.0vw 0; }
  .TopGroup__Primary { margin: 0 0 0 4.166vw; width: 40.833vw; }
  .TopGroup__PrimaryText { padding: 0 0 3.333vw; font-size: 1.5vw; }
  .TopGroup__Secondary { width: 46.666vw; }
  .TopGroup__Secondary dt { width: 25vw; height: 25vw; }
  .TopGroup__Secondary dd { width: 22.5vw; height: 22.5vw; }
  .TopGroup__Secondary dd:nth-child(2),
  .TopGroup__Secondary dd:nth-child(3) { margin-bottom: 1.666vw; }
}

@media screen and (max-width: 600px) {
  .TopGroup { flex-direction: column; padding: 13vw 0; }
  .TopGroup__Primary { margin: 0 auto 6vw; width: 88%; }
  .TopGroup__PrimaryText { padding: 0 0 5vw; font-size: 1.7rem; }
  .TopGroup__Secondary { width: 90%; }
  .TopGroup__Secondary dt { width: 50vw; height: 50vw; }
  .TopGroup__Secondary dd { width: 44vw; height: 44vw; }
  .TopGroup__Secondary dd:nth-child(2),
  .TopGroup__Secondary dd:nth-child(3) { margin-bottom: 2vw; }
}

/* 代表挨拶
======================================================== */
.TopGreeting { position: relative; display: flex; justify-content: space-between; flex-wrap: wrap; margin: 0 auto; padding: 80px 0; width: 100%; }
.TopGreeting:before { position: absolute; right: 0; top: 0; content: ""; display: block; width: 100%; height: 100%; background-color: #dfe7dd; }
.TopGreeting .--TopHeading { order: 1; }
.TopGreeting__Primary { order: 3; z-index: 1; display: flex; flex-direction: column; align-items: center; margin: 4vw 0 0; padding: 0; width: 37vw; }
.TopGreeting__Primary figure { margin: 0; padding: 0; width: 100%; line-height: 0; border-radius: 30px 0 0 30px; overflow: hidden; }
.TopGreeting__Primary figure img { width: 100%; height: auto; }
.TopGreeting__Primary p { margin: 0; padding: 10px 0; font-size: 3.1rem; line-height: 1.65; text-align: center; }
.TopGreeting__Primary p small { font-size: 1.5rem; }
.TopGreeting__Secondary { order: 2; z-index: 1; margin: 0 -10vw 0 0; padding: 4vw 9vw 4vw 6vw; width: 53vw; background-color: #fff; border-radius: 0 30px 30px 0; }
.TopGreeting__Secondary p { margin: 0; padding: 0 0 3rem; font-size: 1.7rem; line-height: 1.65; }
.TopGreeting__Secondary br.--SP + br { display: none; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .TopGreeting { padding: 6.666vw 0; }
  .TopGreeting__Primary figure { border-radius: 2.5vw 0 0 2.5vw; }
  .TopGreeting__Primary p { padding: 0.833vw 0; font-size: 2.583vw; }
  .TopGreeting__Primary p small { font-size: 1.25vw; }
  .TopGreeting__Secondary { border-radius: 0 2.5vw 2.5vw 0; }
  .TopGreeting__Secondary p { padding: 0 0 2.5vw; font-size: 1.416vw; }
}

@media screen and (max-width: 600px) {
  .TopGreeting { flex-direction: column; padding: 15vw 0 20vw; background-color: #dfe7dd; }
  .TopGreeting:before { display: none; }
  .TopGreeting__Primary { order: 2; position: relative; margin: 5vw 0 0 5vw; width: 95vw; background-color: initial; }
  .TopGreeting__Primary:before { position: absolute; bottom: 0; right: 5vw; content: ""; display: block; width: 95vw; height: 57vw; background-color: #fff; }
  .TopGreeting__Primary figure { position: relative; border-radius: 15px 0 0 15px; }
  .TopGreeting__Primary p { position: relative; padding: 4vw 0 2vw; font-size: 2.8rem; }
  .TopGreeting__Primary p small { font-size: 1.3rem; }
  .TopGreeting__Secondary { margin: 0 5vw 0 0; padding: 4vw 7vw 4vw 5vw; width: 83vw; border-radius: 0 0 15px 0; }
}

/* お知らせ
======================================================== */
.Body__TopNews { display: flex; flex-direction: column; align-items: center; margin: 0 auto; padding: 80px 0; width: 100%; }
body.--Home .Body__TopNews { background-color: #fff; }
.TopNews { display: flex; flex-direction: column; margin: 0 auto; padding: 0; width: 1100px; /* height: 300px; overflow-y: auto; */ }
.TopNews { --sb-track-color: #333333; --sb-thumb-color: #c1c1c1; --sb-size: 10px; }
.TopNews::-webkit-scrollbar { width: var(--sb-size) }
.TopNews::-webkit-scrollbar-track { background: var(--sb-track-color); border-radius: 3px; }
.TopNews::-webkit-scrollbar-thumb { background: var(--sb-thumb-color); border-radius: 3px; }
.TopNews__Item { position: relative; display: flex; align-items: flex-start; margin: 0; padding: 20px 1%; width: 98%; border-bottom: 1px solid #cfcfcf; transition: all 0.5s; }
.TopNews__Item a { position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; background-color: #fff; opacity: 0; }
.TopNews__Item a:hover { opacity: 0; }
.TopNews__Item:hover { background-color: #f4f8f3; }
.TopNews__Date { margin: 0.5% 2% 0 0; padding: 0; width: 10%; font-size: 1.6rem; font-weight: 500; line-height: 1.2; }
.TopNews__Category { display: flex; flex-wrap: wrap; margin: 0 3% 0 0; padding: 0 !important; width: 10%; }
.TopNews__Category li { display: flex; justify-content: center; align-items: center; margin: 0 2% 2% 0; padding: 2% 0; width: 100%; color: #fff; font-size: 1.5rem; text-align: center; white-space: nowrap; background-color: #e6e6e6; }
body.--Home .TopNews__Category li { padding: 7% 0; }
.TopNews__Category li.information { background-color: #508545; }
.TopNews__Category li.column { background-color: #47828c; }
.TopNews__SubHeading { margin: 0.5% 0 0; padding: 0; width: 75%; color: #000; font-size: 1.7rem; font-weight: 500; line-height: 1.2; background: none; border: none; -webkit-text-fill-color: initial; }
.TopNews__SubHeading:after { display: none; }
.Body__TopNews .--Button { margin: 45px auto 0; width: 330px; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .Body__TopNews { padding: 6.666vw 0; }
  .TopNews { width: 91.667vw; /* height: 25vw; */ --sb-size: 0.833vw; }
  .TopNews::-webkit-scrollbar-track { border-radius: 0.25vw; }
  .TopNews::-webkit-scrollbar-thumb { border-radius: 0.25vw; }
  .TopNews__Item { padding: 1.666vw 1%; }
  .TopNews__Date { font-size: 1.333vw; }
  .TopNews__Category li { font-size: 1.25vw; }
  .TopNews__SubHeading { font-size: 1.416vw; } 
  .Body__TopNews .--Button { margin: 3.75vw auto 0; width: 27.5vw; }
}

@media screen and (max-width: 600px) {
  .Body__TopNews { padding: 12vw 0; }
  .TopNews { width: 90%; /* height: 110vw; */ }
  .TopNews__Item { flex-wrap: wrap; padding: 4vw 0; width: 100%; }
  .TopNews__Date { margin: 1.5% 2% 0 0; width: 23%; font-size: 1.5rem; }
  .TopNews__Category { width: 22%; }
  .TopNews__Category li { font-size: 1.4rem; }
  .TopNews__SubHeading { margin: 3vw 0 0; width: 100%; font-size: 1.6rem; line-height: 1.7; }
  .Body__TopNews .--Button { margin: 6vw auto 0; width: 60vw; }
}

/* CallToAction
======================================================== */
.Body__CallToAction { position: relative; display: flex; flex-direction: column; align-items: center; margin: 0 auto; padding: 90px 0; width: 100%; background-color: #508545; }
.Body__CallToActionBg { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%; }
.Body__CallToActionBg img { width: 100%; height: 100%; object-fit: cover; }
.CallToAction { position: relative; display: flex; justify-content: center; flex-wrap: wrap; margin: 0 auto; padding: 30px 50px; width: 1000px; background-color: #fff; border-radius: 20px; }
.CallToAction__Heading { margin: 0 auto 10px; padding: 0; width: 100%; color: #333; font-size: 3.7rem; font-weight: 500; font-family: "Montserrat"; text-align: center; line-height: 1.1; background: none; border: none; }
.CallToAction__Heading:before,
.CallToAction__Heading:after { display: none; }
.CallToAction__Heading small { position: initial; transform: initial; display: block; color: #333; font-size: 1.6rem; font-weight: 500; font-family: "Noto Serif JP"; }
.CallToAction__SubHeading { margin: 0 auto 20px; padding: 10px 0; width: 100%; color: #508545; font-size: 2.1rem; font-weight: 500; text-align: center; border: 1px solid #508545; background: none; -webkit-text-fill-color: initial; }
.CallToAction__SubHeading:after { display: none; }
.CallToAction__List { position: relative; display: flex; flex-direction: column; align-items: center; margin: 0; padding: 0; }
.CallToAction__List:nth-of-type(1) { padding-right: 2%; width: 55%; }
.CallToAction__List:nth-of-type(1):after { content: ""; position: absolute; right: 0; top: 0; display: inline-block; width: 1px; height: 100%; background-color: #d6d6d6; }
.CallToAction__List:nth-of-type(2) { width: 43%; }
.CallToAction__List dt { margin: 0 auto; padding: 0 0 10px; font-size: 1.6rem; font-weight: 500; text-align: center; }
.CallToAction__List dd { flex-grow: 1; display: flex; flex-direction: column; justify-content: center; margin: 0; padding: 0; width: 100%; }
.CallToAction .--Office { display: flex; justify-content: flex-start; align-items: center; margin: 0 auto; padding: 10px 0; width: 100%; }
.CallToAction .--Office:nth-of-type(1) { border-bottom: 1px solid #d6d6d6; }
.CallToAction .--Name { padding: 0 20px; color: #508545; font-size: 2.1rem; font-weight: 700; }
.CallToAction__List .--Tel a { display: flex; align-items: center; margin: 0; padding: 0; color: #fff; font-size: 4.0rem; font-weight: 700; font-family: "Montserrat"; text-decoration: none; pointer-events: none; }
.CallToAction__List .--Tel a { color: #333; }
.CallToAction__List .--Tel a:before { padding: 0 10px 0 0; content: "\f095"; color: #508545; font-size: 2.4rem; font-family: "Font Awesome 6 Free"; font-weight: bold; }
.CallToAction__List .--ReceptionHours { display: flex; justify-content: center; align-items: center; margin: 0; padding: 10px 0 10px 20px; color: #333; font-size: 1.6rem; line-height: 1.0; }
.CallToAction__List .--ReceptionHours:before { content: "営業時間　"; }
.CallToAction__List .--Button { width: 340px; }
.CallToAction__List .--Button a { padding: 25px 0 25px 20px; }
.CallToAction__List .--Button a:after { position: absolute; right: initial; left: 90px; top: 50%; transform: translateY(-50%); margin: 2px 0 0; content: "\f0e0"; font-size: 2.4rem; font-family: "Font Awesome 6 Free"; font-weight: normal; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .Body__CallToAction { padding: 7.5vw 0; }
  .CallToAction { padding: 2.5vw 4.166vw; width: 83.333vw; border-radius: 1.666vw; }
  .CallToAction__Heading { margin: 0 auto 2.5vw; font-size: 3.083vw; }
  .CallToAction__Heading small { font-size: 1.333vw; }
  .CallToAction__SubHeading { margin: 0 auto 1.666vw; padding: 0.833vw 0; font-size: 1.75vw; }
  .CallToAction__List dt { padding: 0 0 0.833vw; font-size: 1.333vw; }
  .CallToAction .--Office { padding: 0.833vw 0; }
  .CallToAction .--Name { padding: 0 1.666vw; font-size: 1.75vw; }
  .CallToAction__List .--Tel a { font-size: 3.333vw; }
  .CallToAction__List .--Tel a:before { padding: 0 0.833vw 0 0; font-size: 2.0vw; }
  .CallToAction__List .--ReceptionHours { padding: 0.833vw 0 0.833vw 1.666vw; font-size: 1.333vw; }
  .CallToAction__List .--Button { width: 28.333vw; }
  .CallToAction__List .--Button a { padding: 2.083vw 0 2.083vw 1.666vw; }
  .CallToAction__List .--Button a:after { left: 7.5vw; margin: 0.166vw 0 0; font-size: 2.0vw; }
}

@media screen and (max-width: 600px) {
  .Body__CallToAction { padding: 8vw 0 10vw; }
  .CallToAction { flex-direction: column; align-items: center; padding: 7vw 5% 10vw; width: 80%; border-radius: 10px; }
  .CallToAction__Heading { margin: 0 auto 5vw; }
  .CallToAction__SubHeading { margin: 0 auto 5vw; padding: 2vw 0; }
  .CallToAction__List:nth-of-type(1) { padding-right: 0; width: 100%; }
  .CallToAction__List:nth-of-type(1):after { display: none; }
  .CallToAction__List:nth-of-type(2) { width: 100%; }
  .CallToAction__List dt { padding: 0 0 2vw; font-size: 1.7rem; }
  .CallToAction .--Office { padding: 2vw 0; }
  .CallToAction .--Name { padding: 0 2vw 0 0; font-size: 1.6rem; white-space: nowrap; }
  .CallToAction__List .--Tel a { font-size: 2.9rem; white-space: nowrap; pointer-events: initial; }
  .CallToAction__List .--Tel a:before { padding: 0 2vw 0 0; font-size: 2.0rem; }
  .CallToAction__List .--ReceptionHours { padding: 1vw 0 5vw 2vw; font-size: 1.4rem; border-bottom: 1px solid #d6d6d6; }
  .CallToAction__List:nth-of-type(2) dt { padding: 4vw 0; }
  .CallToAction__List .--Button { width: 70vw; }
  .CallToAction__List .--Button a { padding: 5.5vw 0 5.5vw 10%; width: 90%; font-size: 1.9rem; }
  .CallToAction__List .--Button a:after { left: 18vw; margin: 0.2vw 0 0; }
}

/* アクセスマップ
======================================================== */
.AccessMap { display: flex; justify-content: center; margin: 0 auto; padding: 100px 0 80px; width: 100%; background-color: #e7eeeb; }
.AccessMap__Item { display: flex; flex-direction: column; align-items: center; margin: 0 30px; padding: 0; width: 520px; }
.AccessMap__Heading { position: relative; margin: 0 auto 30px; padding: 15px 0; width: 100%; color: #000; font-size: 2.6rem; font-weight: 500; line-height: 1.0; text-align: center; background: none; border: none; }
.AccessMap__Heading:after { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); content: ""; display: inline-block; width: 25px; height: 2px; background-color: #508545; }
.AccessMap__Item iframe { margin-bottom: 30px; width: 100%; height: 330px; filter: grayscale(100%) sepia(30%) saturate(30%) hue-rotate(70deg); }
.AccessMap__Address,
.AccessMap__Tel,
.AccessMap__Fax { margin: 0; padding: 0; width: 100%; font-size: 1.8rem; line-height: 1.85; text-align: left; }
.AccessMap__Address span { display: none; }
.AccessMap__Tel:before { content: "TEL："; }
.AccessMap__Fax:before { content: "FAX："; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .AccessMap { padding: 8.333vw 0 6.666vw; }
  .AccessMap__Item { margin: 0 2.5vw; width: 43.333vw; }
  .AccessMap__Heading { margin: 0 auto 2.5vw; padding: 1.25vw 0; font-size: 2.166vw; }
  .AccessMap__Heading:after { width: 2.083vw; height: 0.166vw; }
  .AccessMap__Item iframe { margin-bottom: 2.5vw; height: 27.5vw; }
  .AccessMap__Address,
  .AccessMap__Tel,
  .AccessMap__Fax { font-size: 1.5vw; }
}

@media screen and (max-width: 600px) {
  .AccessMap { flex-direction: column; align-items: center; padding: 10vw 0 0; }
  .AccessMap__Item { margin: 0 auto 5vw; width: 90%; }
  .AccessMap__Heading { margin: 0 auto 7vw; padding: 4vw 0; font-size: 2.1rem; }
  .AccessMap__Heading:after { width: 7vw; }
  .AccessMap__Item iframe { margin-bottom: 5vw; height: 55vw; }
  .AccessMap__Address,
  .AccessMap__Tel,
  .AccessMap__Fax { font-size: 1.6rem; line-height: 1.7; }
}

/* ループテキスト
======================================================== */
.--LoopText { display: flex; align-items: center; width: 100%; white-space: nowrap; overflow: hidden; }
body.--Home .--LoopText { background-color: #e7eeeb; }
.--LoopText ul { list-style: none; display: flex; align-items: center; margin: 0; padding: 0; animation: infinite-scroll 50s linear infinite; }
.--LoopText ul li { color: #d3d6d5; font-size: 5.5vw; font-family: "Montserrat"; font-weight: 700; }
.--LoopText ul li span { color: #a3bca2; }
@keyframes infinite-scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}

@media screen and (max-width: 600px) {
  .--LoopText { padding-top: 6vw; }
  body.--Home .--LoopText { padding-top: 0; }
  .--LoopText ul li { font-size: 5.4rem; }
}

/* フッター　
======================================================== */
.Body__Footer { margin: 0 auto; padding: 50px 0 20px; width: 100%; background-color: #000; }
.Footer { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; margin: 0 auto; padding: 0; width: 1100px; }
.Footer__Primary { display: flex; flex-wrap: wrap; margin: 0; padding: 0; width: 50%; }
.Footer__Primary a { display: flex; align-items: center; margin: 0 0 40px; padding: 0; }
.Footer__SiteLogo { margin: 0; padding: 0 10px 0 0; width: 30px; }
.Footer__SiteName { margin: 0; padding: 0; width: 320px; }
.Footer__SiteLogo img,
.Footer__SiteName img { width: 100%; height: auto; }
.Footer__SiteName img { filter: invert(88%) sepia(61%) saturate(0%) hue-rotate(229deg) brightness(107%) contrast(101%); }
.Footer__Office:nth-of-type(1) { padding-bottom: 20px; }
.Footer__OfficeHeading { margin: 0; padding: 0; color: #fff; font-size: 1.9rem; font-weight: 700; }
.Footer__OfficeAddress,
.Footer__OfficeTel,
.Footer__OfficeFax { margin: 0; padding: 0; width: 100%; color: #fff; font-size: 1.4rem; font-weight: 400; line-height: 1.7; }
.Footer__OfficeTel:before { content: "TEL　"; }
.Footer__OfficeFax:before { content: "FAX　"; }
.Footer__Secondary { display: flex; flex-direction: column; align-items: flex-end; margin: 0; padding: 20px 0 0; width: 45%; }
.Footer__SecondaryNavi { display: flex; flex-direction: column; flex-wrap: wrap; margin: 0 0 0 5%; padding: 0; width: 100%; height: 230px; }
.Footer__Secondary li { margin: 0 0 15px; padding: 0; }
.Footer__Secondary li a { position: relative; display: block; margin: 0; padding: 0 0 0 15px; color: #919191; font-size: 1.6rem; font-weight: 500; line-height: 1.2; text-decoration: none; }
.Footer__Secondary li a:before { position: absolute; top: 3px; left: 0; content: '\f054'; color: #508545; font-size: 1.2rem; font-family: "Font Awesome 6 Free"; font-weight: bold; }
.Footer__Secondary ul.sub-menu { margin-left: 25px; }
.Footer__Secondary ul.sub-menu li:first-child { margin-top: 15px; }
.Footer__Secondary .--Button { display: flex; padding: 0 0 20px; width: 200px; }
.Footer__Secondary .--Button a { padding: 10px 20px 10px 35px; font-size: 1.7rem; }
.Footer__Secondary .--Button a:after { position: absolute; right: initial; left: 25px; top: 50%; transform: translateY(-50%); margin: 2px 0 0; content: "\f0e0"; font-size: 1.9rem; font-family: "Font Awesome 6 Free"; font-weight: normal; }
.Footer__SecondaryCopyright { display: flex; justify-content: flex-end; align-items: flex-end; margin: 0; padding: 0; width: 100%; }
.Footer__SecondaryCopyright p { margin: 0; padding: 0; color: #8b8b8b; font-size: 1.2rem; line-height: 1.0; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .Body__Footer { padding: 4.166vw 0 1.666vw; }
  .Footer { width: 91.667vw; }
  .Footer__Primary a { margin: 0 0 3.333vw; }
  .Footer__SiteLogo { padding: 0 0.833vw 0 0; width: 2.5vw; }
  .Footer__SiteName { width: 26.666vw; }
  .Footer__Office:nth-of-type(1) { padding-bottom: 1.666vw; }
  .Footer__OfficeHeading { font-size: 1.583vw; }
  .Footer__OfficeAddress,
  .Footer__OfficeTel,
  .Footer__OfficeFax { font-size: 1.166vw; }
  .Footer__Secondary { padding: 1.666vw 0 0; }
  .Footer__SecondaryNavi { height: 19.166vw; }
  .Footer__Secondary li { margin: 0 0 1.25vw; }
  .Footer__Secondary li a { padding: 0 0 0 1.25vw; font-size: 1.333vw; }
  .Footer__Secondary li a:before { top: 0.25vw; font-size: 1.0vw; }
  .Footer__Secondary ul.sub-menu { margin-left: 2.083vw; }
  .Footer__Secondary ul.sub-menu li:first-child { margin-top: 1.25vw; }
  .Footer__Secondary .--Button { padding: 0 0 1.666vw; width: 16.666vw; }
  .Footer__Secondary .--Button a { padding: 0.833vw 1.666vw 0.833vw 2.916vw; font-size: 1.416vw; }
  .Footer__Secondary .--Button a:after { left: 2.083vw; margin: 0.166vw 0 0; font-size: 1.583vw; }
  .Footer__SecondaryCopyright p { font-size: 1.0vw; }
}

@media screen and (max-width: 600px) {
  .Body__Footer { padding: 15vw 0 10vw; }
  .Footer { flex-direction: column; align-items: center; width: 82%; }
  .Footer__Primary { width: 100%; }
  .Footer__Primary a { margin: 0 auto 10vw; }
  .Footer__SiteLogo { padding: 0 2vw 0 0; width: 6vw; }
  .Footer__SiteName { width: 66vw; }
  .Footer__Office:nth-of-type(1) { padding-bottom: 10vw; }
  .Footer__OfficeHeading { margin: 0 0 2vw; font-size: 2.1rem; text-align: center; }
  .Footer__OfficeAddress,
  .Footer__OfficeTel,
  .Footer__OfficeFax { font-size: 1.6rem; text-align: center; }
  .Footer__Secondary { align-items: center; padding: 10vw 0 0; width: 100%; }
  .Footer__SecondaryNavi { margin: 0; height: 58vw; }
  .Footer__Secondary li { margin: 0 0 4vw; }
  .Footer__Secondary li a { padding: 0 0 0 4vw; }
  .Footer__Secondary li a:before { top: 0.4vw; }
  .Footer__Secondary .--Button { padding: 0 0 8vw; width: 60vw; }
  .Footer__Secondary .--Button a { padding: 3vw 2% 3vw 10%; width: 88%; font-size: 1.8rem; }
  .Footer__Secondary .--Button a:after { left: 12vw; margin: 0.2vw 0 0; font-size: 2.2rem; }
  .Footer__SecondaryCopyright { justify-content: center; }
  .Footer__SecondaryCopyright p { font-size: 1.3rem; }
}

/* SWATSの特徴
======================================================== */
.FeatureIntro { margin: 0 auto; padding: 50px 0 70px; width: 100%; }
.FeatureIntro__Heading { margin: 0 auto; padding: 40px 0; width: 900px; background: none; border: none; }
.FeatureIntro__Heading:after { display: none; }
.FeatureIntro__Heading img { padding-bottom: 0 !Important; width: 100%; height: auto; }
.FeatureIntro__SubHeading { margin: 0 auto; padding: 0 0 80px; width: 100%; font-size: 3.1rem; font-weight: 500; text-align: center; background: none; border: none; }
.FeatureIntro__SubHeading:after { display: none; }
.FeatureIntro__Text { margin: 0; padding: 0; font-size: 1.9rem; font-weight: 500; line-height: 2.0; }
.FeatureName { display: flex; flex-direction: column; align-items: center; margin: 0 calc(50% - 50vw); padding: 40px 0 120px; width: 100vw; background-color: #e7eeeb; }
.FeatureName h2 { margin: 0 auto 60px; }
.FeatureName__Item { display: flex; flex-direction: column; align-items: center; margin: 0 auto; padding: 70px 0; width: 1100px; background-color: #fff; border-radius: 30px; }
.FeatureName__Logo { display: block; margin: 0 auto; padding: 0 0 50px; width: 535px; }
.FeatureName__Logo img { padding-bottom: 0 !important; width: 100%; height: auto; }
.FeatureName__Text { margin: 0 auto; padding: 0 !important; font-size: 1.9rem; font-weight: 500; line-height: 1.95; text-align: center; }
.FeaturePhoto { position: relative; margin: 0 calc(50% - 50vw); padding: 0; width: 100vw; height: 27.5vw; }
.FeaturePhoto__Image { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%; }
.FeaturePhoto__Image img { width: 100%; height: 100%; object-fit: cover; }
.FeatureStrengths { display: flex; justify-content: center; flex-wrap: wrap; margin: 0 calc(50% - 50vw); padding: 80px 0; width: 100vw; background-color: #508545; }
.FeatureStrengths h2 { margin-bottom: 150px; color: #fff; }
.FeatureStrengths h2 small { color: #5c9251; }
.FeatureStrengths h2:after { background-color: #fff; }
.FeatureStrengths__Item { position: relative; display: flex; flex-direction: column; align-items: center; margin: 0 20px 20px; padding: 0; width: 330px; background-color: #fff; border-radius: 20px; counter-increment: feature-num; }
.FeatureStrengths__Item:before { position: absolute; top: -70px; left: 50%; transform: translateX(-50%); color: #fff; font-size: 6.0rem; font-weight: 500; font-family: "Montserrat"; content: counter(feature-num, decimal-leading-zero); }
.FeatureStrengths__Image { margin: 0 0 40px; padding: 0; width: 100%; border-radius: 20px 20px 0 0; overflow: hidden; }
.FeatureStrengths__Image:before { padding-top: 74%; }
.FeatureStrengths__SubHeading { position: relative; margin: 0 auto 40px; padding: 0 0 30px; width: 100%; color: #508545; font-size: 2.5rem; font-weight: 600; line-height: 1.55; text-align: center; background: none; border: none; }
.FeatureStrengths__SubHeading:after { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); content: ""; display: inline-block; width: 40px; height: 4px; background-color: #508545; }
.FeatureStrengths__Text { margin: 0 auto; padding: 0 0 30px; width: 90%; font-size: 1.7rem; line-height: 1.65; }
.FeatureService { display: flex; justify-content: space-between; flex-wrap: wrap; margin: 0; padding: 100px 0; width: 100%; }
.FeatureService__Item { display: flex; flex-direction: column; align-items: center; margin: 0 0 80px; padding: 0; width: 510px; }
.FeatureService__Image { margin-bottom: 30px; line-height: 0; border-radius: 20px; overflow: hidden; }
.FeatureService__Image:before { padding-top: 66%; }
.FeatureService__Image img { padding-bottom: 0 !important; }
.FeatureService__Logo { flex-grow: 1; margin: 0 auto 30px; padding: 0; width: 300px; }
.FeatureService__Logo img { padding-bottom: 0 !Important; width: 100%; height: auto; }
.FeatureService__Logo figcaption { font-size: 1.6rem; text-align: center; }
.FeatureService__SubHeading { margin: 0; padding: 0 0 40px; width: 100%; color: #000; font-size: 3.0rem; font-weight: 600; text-align: center; background: none; border: none; }
.FeatureService__SubHeading:after { display: none; }
.FeatureService__Text { margin: 0; padding: 0 0 40px !important; font-size: 1.7rem; line-height: 1.95; }
.FeatureService__Item .--Button { margin: 0 auto; width: 330px; }
.FeatureService__Item .--Button a:after { display: none; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .FeatureIntro { padding: 4.166vw 0 5.833vw; }
  .FeatureIntro__Heading { padding: 3.333vw 0; width: 75vw; }
  .FeatureIntro__SubHeading { padding: 0 0 6.666vw; font-size: 2.583vw; }
  .FeatureIntro__Text { font-size: 1.583vw; }
  .FeatureName { padding: 3.333vw 0 10vw; }
  .FeatureName h2 { margin: 0 auto 5.0vw; }
  .FeatureName__Item { padding: 5.833vw 0; width: 91.667vw; border-radius: 2.5vw; }
  .FeatureName__Logo { padding: 0 0 4.166vw; width: 44.583vw; }
  .FeatureName__Text { font-size: 1.583vw; }
  .FeatureStrengths { padding: 6.666vw 0; }
  .FeatureStrengths h2 { margin-bottom: 12.5vw; }
  .FeatureStrengths__Item { margin: 0 1.666vw 1.666vw; width: 27.5vw; border-radius: 1.666vw; }
  .FeatureStrengths__Item:before { top: -5.833vw; font-size: 5.0vw; }
  .FeatureStrengths__Image { margin: 0 0 3.333vw; border-radius: 1.666vw 1.666vw 0 0; }
  .FeatureStrengths__SubHeading { margin: 0 auto 3.333vw; padding: 0 0 2.5vw; font-size: 2.083vw; }
  .FeatureStrengths__SubHeading:after { width: 3.333vw; height: 0.333vw; }
  .FeatureStrengths__Text { padding: 0 0 2.5vw; font-size: 1.416vw; }
  .FeatureService { padding: 8.333vw 0; }
  .FeatureService__Item { margin: 0 0 6.666vw; width: 42.5vw; }
  .FeatureService__Image { margin-bottom: 2.5vw; border-radius: 1.666vw; }
  .FeatureService__Logo { margin: 0 auto 2.5vw; width: 25vw; }
  .FeatureService__Text { padding: 0 0 3.333vw !important; font-size: 1.416vw; }
  .FeatureService__Item .--Button { width: 27.5vw; }
}

@media screen and (max-width: 600px) {
  .FeatureIntro { padding: 3vw 0 5vw; }
  .FeatureIntro__Heading { padding: 4vw 0; width: 100%; }
  .FeatureIntro__SubHeading { margin: 0 calc(50% - 50vw); padding: 0 0 12vw; width: 100vw; font-size: 1.9rem; }
  .FeatureIntro__Text { font-size: 1.7rem; line-height: 1.7; }
  .FeatureName { padding: 8vw 0 16vw; }
  .FeatureName h2 { margin: 0 auto 8vw; }
  .FeatureName__Item { padding: 10vw 0 6vw; width: 90%; border-radius: 15px; }
  .FeatureName__Logo { padding: 0 0 7vw; width: 80%; }
  .FeatureName__Text { width: 100%; font-size: 1.7rem; }
  .FeatureName__Text span { display: block; }
  .FeaturePhoto { height: 32vw; }
  .FeatureStrengths { flex-direction: column; align-items: center; padding: 6vw 0 3vw; }
  .FeatureStrengths h2 { margin-bottom: 22vw; }
  .FeatureStrengths__Item { margin: 0 auto 20vw; width: 82%; border-radius: 10px; }
  .FeatureStrengths__Item:before { top: -12vw; font-size: 4.0rem; }
  .FeatureStrengths__Image { margin: 0 0 5vw; border-radius: 10px 10px 0 0; }
  .FeatureStrengths__Image:before { padding-top: 54%; }
  .FeatureStrengths__Image img { padding-bottom: 0 !important; }
  .FeatureStrengths__SubHeading { margin: 0 auto 7vw; padding: 0 0 4vw; font-size: 2.4rem; }
  .FeatureStrengths__SubHeading:after { width: 8vw; height: 3px; }
  .FeatureStrengths__Text { padding: 0 0 8vw !important; }
  .FeatureService { flex-direction: column; align-items: center; padding: 3vw 0; }
  .FeatureService__Item { position: relative; margin: 0 0 8vw; padding: 0 0 8vw; width: 86%; }
  .FeatureService__Item:after { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); content: ""; display: block; width: 90vw; height: 1px; background-color: #d2d2d2; }
  .FeatureService__Item:nth-last-of-type(1) { margin-bottom: 0; padding-bottom: 0; }
  .FeatureService__Item:nth-last-of-type(1):after { display: none; }
  .FeatureService__Image { margin-bottom: 6vw; border-radius: 10px; }
  .FeatureService__Logo { margin: 0 auto 6vw; width: 70%; }
  .FeatureService__Logo figcaption { font-size: 1.4rem; white-space: nowrap; }
  .FeatureService__SubHeading { padding: 0 0 6vw; font-size: 2.8rem; }
  .FeatureService__Text { padding: 0 0 6vw !important; line-height: 1.7; }
  .FeatureService__Item .--Button { padding-bottom: 0; width: 64vw; }
  .FeatureService__Item .--Button a { padding: 3.5vw 0; font-size: 1.8rem; }
}

/* サービス一覧
======================================================== */
.ServiceList { display: flex; justify-content: space-between; flex-wrap: wrap; margin: 0; padding: 80px 0 120px; width: 100%; }
.ServiceList__Item { position: relative; display: flex; flex-direction: column; align-items: center; margin: 0 0 80px; padding: 0; width: 510px; }
.ServiceList__Item:before { position: absolute; content: ""; display: block; width: 50vw; height: 340px; background-color: #f4f8f3; }
.ServiceList__Item:nth-of-type(1):before { right: 270px; top: 245px; border-radius: 0 20px 20px 0; }
.ServiceList__Item:nth-of-type(2):before { left: 310px; top: -60px; border-radius: 20px 0 0 20px; }
.ServiceList__Item:nth-of-type(3):before { right: 150px; bottom: -70px; border-radius: 0 20px 20px 0; }
.ServiceList__Item:nth-of-type(4):before { left: 330px; top: -30px; border-radius: 20px 0 0 20px; }
.ServiceList__Image { position: relative; margin-bottom: 30px; line-height: 0; border-radius: 20px; overflow: hidden; }
.ServiceList__Image:before { padding-top: 66%; }
.ServiceList__Image img { padding-bottom: 0 !important; }
.ServiceList__Logo { flex-grow: 1; position: relative; margin: 0 auto 30px; padding: 0; width: 300px; }
.ServiceList__Logo img { padding-bottom: 0 !Important; width: 100%; height: auto; }
.ServiceList__Logo figcaption { font-size: 1.6rem; text-align: center; }
.ServiceList__SubHeading { position: relative; margin: 0; padding: 0 0 40px; width: 100%; color: #000; font-size: 3.0rem; font-weight: 600; text-align: center; background: none; border: none; }
.ServiceList__SubHeading:after { display: none; }
.ServiceList__Text { position: relative; margin: 0; padding: 0 0 40px !mportant; font-size: 1.7rem; line-height: 1.95; }
.ServiceList__Item .--Button { margin: 0 auto; width: 330px; }
.ServiceList__Item .--Button a:after { display: none; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .ServiceList { padding: 6.666vw 0 10vw; }
  .ServiceList__Item { margin: 0 0 6.666vw; width: 42.5vw; }
  .ServiceList__Item:before { height: 28.333vw; }
  .ServiceList__Item:nth-of-type(1):before { right: 22.5vw; top: 20.416vw; border-radius: 0 1.666vw 1.666vw 0; }
  .ServiceList__Item:nth-of-type(2):before { left: 25.833vw; top: -5.0vw; border-radius: 1.666vw 0 0 1.666vw; }
  .ServiceList__Item:nth-of-type(3):before { right: 12.5vw; bottom: -5.833vw; border-radius: 0 1.666vw 1.666vw 0; }
  .ServiceList__Item:nth-of-type(4):before { left: 27.5vw; top: -2.5vw; border-radius: 1.666vw 0 0 1.666vw; }
  .ServiceList__Image { margin-bottom: 2.5vw; border-radius: 1.666vw; }
  .ServiceList__Logo { margin: 0 auto 2.5vw; width: 25vw; }
  .ServiceList__Logo figcaption { font-size: 1.333vw; }
  .ServiceList__SubHeading { padding: 0 0 3.333vw; font-size: 2.5vw; }
  .ServiceList__Text { padding: 0 0 3.333vw !important; font-size: 1.416vw; }
  .ServiceList__Item .--Button { width: 27.5vw; }
}

@media screen and (max-width: 600px) {
  .ServiceList { flex-direction: column; align-items: center; margin: 0 auto; padding: 8vw 0 0; }
  .ServiceList__Item { position: relative; margin: 0 0 8vw; padding: 0 0 8vw; width: 86%; }
  .ServiceList__Item:after { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); content: ""; display: block; width: 90vw; height: 1px; background-color: #d2d2d2; }
  .ServiceList__Item:nth-last-of-type(1):after { display: none; }
  .ServiceList__Item:before { height: 90vw; }
  .ServiceList__Item:nth-of-type(odd):before { right: 50%; top: 30vw; border-radius: 0 10px 10px 0; }
  .ServiceList__Item:nth-of-type(even):before { left: 50%; top: 30vw; border-radius: 10px 0 0 10px; }
  .ServiceList__Item:nth-last-of-type(1) { margin-bottom: 0; padding-bottom: 0; }
  .ServiceList__Image { margin-bottom: 6vw; border-radius: 10px; }
  .ServiceList__Image img { padding-bottom: 0 !important; }
  .ServiceList__Logo { margin: 0 auto 6vw; width: 70%; }
  .ServiceList__Logo figcaption { font-size: 1.4rem; white-space: nowrap; }
  .ServiceList__Text { padding: 0 0 6vw !important; line-height: 1.7; }
  .ServiceList__Item .--Button { padding-bottom: 0; width: 64vw; }
  .ServiceList__Item .--Button a { padding: 3.5vw 0; font-size: 1.8rem; }
}

/* 税理士法人SWATS
======================================================== */
.ServiceTax { margin: 0; padding: 0 0 100px; width: 100%; }
.ServiceTax h2 { margin-bottom: 90px; }
.ServiceTax__Item { position: relative; display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; margin: 0 0 160px; padding: 0; counter-increment: tax-num; }
.ServiceTax__Item:after { position: absolute; top: 380px; color: #fff; font-size: 5.5rem; font-weight: 700; font-family: "Montserrat"; content: counter(tax-num, decimal-leading-zero); }
.ServiceTax__Item:nth-of-type(odd):after { left: 320px; }
.ServiceTax__Item:nth-of-type(even):after { right: 320px; }
.ServiceTax__Item.--Reverse { flex-direction: row-reverse; }
.ServiceTax__Item:before { position: absolute; top: 50px; content: ""; display: block; width: 50vw; height: 490px; background-color: #e7eeeb; }
.ServiceTax__Item:nth-of-type(odd):before { right: 690px; border-radius: 0 20px 20px 0; }
.ServiceTax__Item:nth-of-type(even):before { left: 690px; border-radius: 20px 0 0 20px; }
.ServiceTax__Item:nth-of-type(2):before,
.ServiceTax__Item:nth-of-type(3):before,
.ServiceTax__Item:nth-of-type(4):before { height: 420px; }
.ServiceTax__Item:nth-of-type(1) { margin-bottom: 80px; }
.ServiceTax__Primary { position: relative; width: 450px; line-height: 0; border-radius: 20px; overflow: hidden; }
.ServiceTax__Primary img { padding-bottom: 0 !important; width: 100%; height: auto; }
.ServiceTax__Secondary { display: flex; flex-direction: column; margin: 0; padding: 0; width: 590px; }
.ServiceTax__Heading { margin: 0 0 30px; padding: 10px 0; width: 100%; color: #508545; font-size: 3.3rem; font-weight: 600; background: none; border: none; }
.ServiceTax__Heading:after { position: absolute; left: -15%; bottom: 0; width: 115%; height: 1px; background-color: #508545; }
.ServiceTax__Item.--Reverse .ServiceTax__Heading:after { left: -5%; width: 120%; }
.ServiceTax__List { display: flex; flex-direction: column; margin: 0; padding: 0 !important; width: 100%; }
.ServiceTax__List li { position: relative; list-style: none !important; margin: 0 !important; padding: 0 0 0 20px; font-size: 1.7rem !important; line-height: 1.95 !important; }
.ServiceTax__List li:before { position: absolute; left: 0; top: 2px; content: "\f0da"; color: #508545; font-size: 1.6rem; font-family: "Font Awesome 6 Free"; font-weight: bold; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .ServiceTax { padding: 0 0 8.333vw; }
  .ServiceTax h2 { margin-bottom: 7.5vw; }
  .ServiceTax__Item { margin: 0 0 13.333vw; }
  .ServiceTax__Item:after { top: 31.666vw; font-size: 4.583vw; }
  .ServiceTax__Item:nth-of-type(odd):after { left: 26.666vw; }
  .ServiceTax__Item:nth-of-type(even):after { right: 26.666vw; }
  .ServiceTax__Item:before { top: 4.166vw; height: 40.833vw; }
  .ServiceTax__Item:nth-of-type(odd):before { right: 57.5vw; border-radius: 0 1.666vw 1.666vw 0; }
  .ServiceTax__Item:nth-of-type(even):before { left: 57.5vw; border-radius: 1.666vw 0 0 1.666vw; }
  .ServiceTax__Item:nth-of-type(2):before,
  .ServiceTax__Item:nth-of-type(3):before,
  .ServiceTax__Item:nth-of-type(4):before { height: 35vw; }
  .ServiceTax__Item:nth-of-type(1) { margin-bottom: 6.666vw; }
  .ServiceTax__Primary { width: 37.5vw; border-radius: 1.666vw; }
  .ServiceTax__Secondary { width: 49.166vw; }
  .ServiceTax__Heading { margin: 0 0 2.5vw; padding: 0.833vw 0; font-size: 2.75vw; }
  .ServiceTax__List li { padding: 0 0 0 1.666vw !important; font-size: 1.416vw !important; }
  .ServiceTax__List li:before { top: 0.166vw; font-size: 1.333vw; }
}

@media screen and (max-width: 600px) {
  .ServiceTax { padding: 0; }
  .ServiceTax h2 { margin-top: 3vw; margin-bottom: 10vw; }
  .ServiceTax__Item { margin: 0 auto 16vw; width: 82%; }
  .ServiceTax__Item:nth-of-type(1) { margin-bottom: 8vw; }
  .ServiceTax__Item:before { top: 10vw; width: 100vw; height: 66vw; }
  .ServiceTax__Item:nth-of-type(odd):before { right: 5vw; border-radius: 0 10px 10px 0; }
  .ServiceTax__Item:nth-of-type(even):before { left: 5vw; border-radius: 10px 0 0 10px; }
  .ServiceTax__Item:nth-of-type(2):before,
  .ServiceTax__Item:nth-of-type(3):before,
  .ServiceTax__Item:nth-of-type(4):before { height: 66vw; }
  .ServiceTax__Item:after { top: 64vw; transform: translateX(-50%); font-size: 4.4rem; }
  .ServiceTax__Item:nth-of-type(odd):after { left: initial; right: 5vw; }
  .ServiceTax__Item:nth-of-type(even):after { right: initial; left: 15vw; }
  .ServiceTax__Primary { width: 100%; border-radius: 10px; }
  .ServiceTax__Secondary { padding: 15vw 0 0; width: 100%; }
  .ServiceTax__Heading { margin: 0 0 5vw; padding: 2vw 0; font-size: 2.8rem; text-align: center; }
  .ServiceTax__Heading:after { left: -15vw; width: 90vw; }
  .ServiceTax__Item.--Reverse .ServiceTax__Heading:after { left: initial; right: -15vw; width: 90vw; }
  .ServiceTax__List li { padding: 0 0 0 4vw; line-height: 1.65 !important; }
  .ServiceTax__List li:before { top: 0.3vw; }
}

/* 事務所情報
======================================================== */
.Company table { border-collapse: separate; width: 100%; margin-bottom: 100px; }
.Company table tr { display: flex; flex-wrap: wrap; }
.Company table th { display: inline-block; vertical-align: top; margin: 0; padding: 2% 3%; width: 20%; color: #508545; font-size: 1.7rem; font-weight: 400; line-height: 1.9; text-align: left; background: none; border: none; border-bottom: 1px solid #508545; }
.Company table td { display: inline-block; margin: 0; padding: 2% 3%; width: 68%; font-size: 1.7rem; line-height: 1.9; background: none; border: none; border-bottom: 1px solid #e5e5e5; }
.Company__Map { padding-bottom: 0 !important; }
.Company__Map iframe { height: 440px; }
.Access { display: flex; justify-content: space-between; margin: 0 auto; padding: 30px 0 0; width: 100%; }
.Access__Secondary { display: flex; flex-direction: column; margin: 0; padding: 0; width: 64%; }
.Access__Secondary dt { display: flex; justify-content: space-between; align-items: center; margin: 0; padding: 0 0 50px; color: #508545; font-size: 2.5rem; font-weight: 500; }
.Access__Secondary dt:after { content: ""; width: 74%; height: 1px; background-color: #bbb; }
.Access__Secondary dd { margin: 0; padding: 0 0 30px; font-size: 1.7rem; line-height: 1.9; }
.Access__Secondary dd strong { color: #508545; font-weight: 400; }

.Access__Primary { margin: 0; padding: 0; width: 30%; }
.Access__Primary img { width: 100%; height: auto; }

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

}

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

}

/* 主な取扱業務（一覧・詳細）
======================================================== */
.Main__Service { display: flex; justify-content: center; flex-wrap: wrap; margin: 0 calc(50% - 50vw); padding: 100px 0 70px; width: 100vw; background-color: #e7eeeb; }
.Main__Service .--TopText { padding-bottom: 80px; width: 100%; }
.--ServiceIntro { position: relative; display: flex; flex-direction: column; align-items: center; margin: -40px calc(50% - 50vw) 40px; padding: 80px 0; width: 100vw; background-color: #508545; }
.--ServiceIntro:after { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); content: ""; display: inline-block; width: 1px; height: 30px; background-color: #fff; }
.--ServiceIntro p.--Mincho { padding-bottom: 0; width: 100%; color: #fff; font-size: 1.9rem; line-height: 1.75; text-align: center; }
.ServiceDetail { display: flex; flex-direction: column; margin: 0 auto; padding: 0 0 40px; }
.ServiceDetail__Item { display: flex; justify-content: space-between; margin: 0 auto; padding: 35px 0; width: 100%; border-bottom: 1px solid #e6e6e6; }
.ServiceDetail__Item:nth-last-of-type(1) { border-bottom: none; }
.ServiceDetail__Item.--Reverse { flex-direction: row-reverse; }
.ServiceDetail__Primary { margin: 0; padding: 0; width: 500px; }
.ServiceDetail__Primary img { padding-bottom: 0 !important; width: 100%; height: auto; }
.ServiceDetail__Secondary { display: flex; flex-direction: column; margin: 0; padding: 0; width: 550px; }
.ServiceDetail__SubHeading { margin: 0 0 30px; padding: 0 0 0 20px; width: 100%; color: #508545; font-size: 2.7rem; font-weight: 500; font-family: "Noto Serif JP"; background: none; border: none; -webkit-text-fill-color: initial; border-left-width: 5px; border-left-style: solid; border-left-color: #508545; }
.ServiceDetail__SubHeading:after { display: none; }
.ServiceDetail__Text { margin: 0; padding: 0 !important; font-size: 1.7rem; line-height: 1.9; }
.ServiceConsulting { margin: 0 calc(50% - 50vw); padding: 60px 0; width: 100vw; background-color: #e7eeeb; }
.ServiceConsulting dl { margin: 0 auto; padding: 0; width: 650px; }
.ServiceConsulting dl dt { position: relative; margin: 0 auto 40px; padding: 15px 0; width: 100%; font-size: 2.7rem; font-weight: 500; text-align: center; background-color: #fff; }
.ServiceConsulting dl dt:before { content: ""; position: absolute; top: 100%; left: 50%; margin-left: -15px; border: 15px solid transparent; border-top: 15px solid #fff; }
.ServiceConsulting dl dd { position: relative; margin: 0 auto; padding: 10px 0 10px 40px; width: 90%; font-size: 1.7rem; font-weight: 500; line-height: 1.3; }
.ServiceConsulting dl dd:before { position: absolute; top: 10px; left: 10px; content: "\f14a"; color: #508545; font-size: 1.9rem; font-family: "Font Awesome 6 Free"; font-weight: normal; }

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

}

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

}

/* 会社情報
======================================================== */
.CompanyIntro { display: flex; justify-content: center; margin: 0 auto; padding: 60px 0 !important;; }
.CompanyIntro li { list-style: none !important; display: flex; margin: 0 5px !important; padding: 0; }
.CompanyIntro li a { display: flex; justify-content: center; align-items: center; margin: 0; padding: 20px 0; width: 200px; color: #508545; font-size: 1.7rem; font-weight: 500; line-height: 1.0; text-decoration: none; background-color: #fff; border: 1px solid #508545; border-radius: 100px; }
.CompanyIntro li a:hover { opacity: 1.0; color: #fff; background-color: #508545; }

.Body__CompanyAbout { margin: 0 calc(50% - 50vw); padding: 20px 0 100px; width: 100vw; background-image: url(/wp-content/uploads/2025/07/company-about-bg-pc.jpg); background-repeat: no-repeat; background-position: center top; background-size: cover; }
.CompanyAbout,
.CompanyHistory { display: flex; justify-content: center; flex-wrap: wrap; margin: 0 auto; padding: 0; width: 1100px; }
.CompanyHistory { padding: 60px 0 80px; }
.CompanyAbout__SubHeading,
.CompanyHistory__SubHeading { display: flex; align-items: center; margin: 0; padding: 2% 3%; width: 13%; color: #508545; background: none; border-bottom: 1px solid #508545; }
.CompanyAbout__Text,
.CompanyHistory__Text { display: flex; flex-direction: column; align-items: flex-start; margin: 0; padding: 2% 0 2% 8%; width: 73%; color: #333; background: none; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #fff; }
.CompanyHistory__Text { border-bottom-color: #cfcfcf; }
.CompanyAbout__SubHeading p,
.CompanyHistory__SubHeading p { color: #508545; }
.CompanyAbout__SubHeading p,
.CompanyAbout__Text p,
.CompanyHistory__SubHeading p,
.CompanyHistory__Text p { padding-bottom: 0 !important; font-size: 1.7rem; font-weight: 400; }
.CompanyAbout table { margin: 0; padding: 0; }
.CompanyAbout table th { padding: 5px 20px 5px 0; font-weight: 400; line-height: 1.5; text-align: left; white-space: nowrap; background: none; border: none; }
.CompanyAbout table td { padding: 5px 0; line-height: 1.5; text-align: left; white-space: nowrap; background: none; border: none; }

.CompanyPartner { display: flex; justify-content: center; flex-wrap: wrap; margin: 0 calc(50% - 50vw); padding: 40px 0; width: 100vw; background-color: #508545; /* ▼パートナー紹介 */ }
.CompanyPartner h2 { margin-bottom: 120px; color: #fff; }
.CompanyPartner h2 small { color: #5d9052; }
.CompanyPartner h2:after { background-color: #fff; }
.CompanyPartner__Item { position: relative; display: flex; justify-content: space-between; align-items: flex-start; margin: 0 0 150px; padding: 0; width: 1100px; }
.CompanyPartner__Item:before { position: absolute; top: 50px; left: 50px; content: ""; display: block; width: 100vw; height: 750px; background-color: #fff; border-radius: 20px 0 0 20px; }
.CompanyPartner__Item.--Reverse { flex-direction: row-reverse; }
.CompanyPartner__Item.--Reverse:before { left: initial; right: 50px; border-radius: 0 20px 20px 0; }
.CompanyPartner__Item:nth-of-type(2):before { height: 700px; }
.CompanyPartner__Item:nth-of-type(3):before { height: 740px; }
.CompanyPartner__Item:nth-of-type(4):before { height: 640px; }
.CompanyPartner__Item:nth-of-type(5):before { height: 1200px; }
.CompanyPartner__Primary { position: relative; margin: 0; padding: 0; width: 36%; line-height: 0; border-radius: 20px; overflow: hidden; }
.CompanyPartner__Primary img { padding-bottom: 0 !important; width: 100%; height: auto; }
.CompanyPartner__Secondary { position: relative; display: flex; flex-wrap: wrap; margin: 80px 0 0; padding: 0; width: 64%; }
.CompanyPartner__Name { margin: 0 0 20px; padding: 0 0 30px 7%; width: 93%; font-size: 3.4rem; font-weight: 500; border: none; border-bottom: 1px solid #e7eeeb; }
.CompanyPartner__Name:after { display: none; }
.CompanyPartner__Name small { display: block; padding: 20px 0 0; color: #508545; font-size: 1.7rem; font-weight: 500; letter-spacing: 0.05em; font-family: "Montserrat"; }
.CompanyPartner__SubHeading { display: flex; align-items: flex-start; margin: 0 0 0 7%; padding: 1% 0; width: 22%; background: none; border-bottom: 1px solid #e7eeeb; }
.CompanyPartner__Item.--Reverse .CompanyPartner__Name { padding-left: 0; width: 100%; }
.CompanyPartner__Item.--Reverse .CompanyPartner__SubHeading { margin-left: 0; }
.CompanyPartner__Text { display: flex; flex-direction: column; align-items: flex-start; margin: 0; padding: 1% 0; width: 71%; color: #333; background: none; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #e7eeeb; }
.CompanyPartner__SubHeading:nth-last-of-type(2),
.CompanyPartner__Text:nth-last-of-type(1) { border-bottom: none; }
.CompanyPartner__SubHeading p { color: #508545; }
.CompanyPartner__SubHeading p,
.CompanyPartner__Text p { padding-bottom: 0 !important; font-size: 1.6rem; font-weight: 400; }
.CompanyPartner table { margin: 0; padding: 0; }
.CompanyPartner table th { padding: 5px 20px 5px 0; font-weight: 400; line-height: 1.5; text-align: left; vertical-align: top; white-space: nowrap; background: none; border: none; }
.CompanyPartner table td { padding: 5px 0; line-height: 1.5; text-align: left; vertical-align: top; background: none; border: none; white-space: initial; }
.CompanyPartner__Content { display: flex; flex-wrap: wrap; }

.CompanyAccess { display: flex; justify-content: space-between; flex-wrap: wrap; margin: 0 auto; padding: 50px 0 100px; width: 100%; /* ▼アクセス */ }
.CompanyAccess h2 { margin-bottom: 60px; }
.CompanyAccess__Heading { margin: 0 auto 60px; padding: 20px 0; width: 100%; font-size: 3.1rem; font-weight: 500; text-align: center; background: none; border: none; border-top: 1px solid #508545; border-bottom: 1px solid #508545; }
.CompanyAccess__Heading:after { display: none; }
.CompanyAccess__Heading:nth-last-of-type(1) { margin-top: 80px; }
.CompanyAccess iframe { height: 480px; }
.CompanyAccess__Text { width: 100%; }
.CompanyAccess__Secondary { width: 30%; }
.CompanyAccess__Secondary img { padding-bottom: 0 !important; width: 100%; height: auto; }
.CompanyAccess__Primary { margin: 0; padding: 0; width: 64%; }
.CompanyAccess__SubHeading { display: flex; justify-content: flex-start; align-items: center; margin: 0 0 30px; padding: 0; width: 100%; font-size: 2.5rem; font-weight: 500; background: none; border: none; }
.CompanyAccess__SubHeading:after { content: ""; display: block; margin: 0 0 0 3%; width: 74%; height: 1px; background-color: #bbb; }
.CompanyAccess__Primary dl { margin: 0 0 30px; padding: 0; font-size: 1.7rem; line-height: 1.9; }
.CompanyAccess__Primary dl dt { margin: 0; padding: 0 0 5px; color: #508545; font-weight: 400; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .CompanyIntro { padding: 5.0vw 0 !important; }
  .CompanyIntro li { margin: 0 0.416vw !important; }
  .CompanyIntro li a { padding: 1.666vw 0; width: 16.666vw; font-size: 1.416vw; }
  .Body__CompanyAbout { padding: 1.666vw 0 8.333vw; }
  .CompanyAbout,
  .CompanyHistory { width: 91.667vw; }
  .CompanyAbout__SubHeading p,
  .CompanyAbout__Text p,
  .CompanyHistory__SubHeading p,
  .CompanyHistory__Text p { font-size: 1.416vw; }
  .CompanyAbout table th { padding: 0.416vw 1.666vw 0.416vw 0; }
  .CompanyAbout table td { padding: 0.416vw 0; }
  .CompanyHistory { padding: 5.0vw 0 6.666vw; }
  .CompanyPartner { padding: 3.333vw 0; }
  .CompanyPartner h2 { margin-bottom: 10vw; }
  .CompanyPartner__Item { margin: 0 0 12.5vw; width: 91.667vw; }
  .CompanyPartner__Item:before { top: 4.166vw; left: 4.166vw; height: 62.5vw; border-radius: 1.666vw 0 0 1.666vw; }
  .CompanyPartner__Item.--Reverse:before { right: 4.166vw; border-radius: 0 1.666vw 1.666vw 0; }
  .CompanyPartner__Item:nth-of-type(2):before { height: 58.333vw; }
  .CompanyPartner__Item:nth-of-type(3):before { height: 61.666vw; }
  .CompanyPartner__Item:nth-of-type(4):before { height: 53.333vw; }
  .CompanyPartner__Item:nth-of-type(5):before { height: 100vw; }
  .CompanyPartner__Primary { border-radius: 1.666vw; }
  .CompanyPartner__Secondary { margin: 6.666vw 0 0; }
  .CompanyPartner__Name { margin: 0 0 1.666vw; padding: 0 0 2.5vw 7%; font-size: 2.833vw; }
  .CompanyPartner__Name small { padding: 1.666vw 0 0; font-size: 1.416vw; }
  .CompanyPartner__SubHeading p,
  .CompanyPartner__Text p { font-size: 1.333vw; }
  .CompanyPartner table th { padding: 0.416vw 1.666vw 0.416vw 0; }
  .CompanyPartner table td { padding: 0.416vw 0; }
  .CompanyAccess { padding: 4.166vw 0 8.333vw; }
  .CompanyAccess h2 { margin-bottom: 5.0vw; }
  .CompanyAccess__Heading { margin: 0 auto 5.0vw; padding: 1.666vw 0; font-size: 2.583vw; }
  .CompanyAccess iframe { height: 40vw; }
  .CompanyAccess__SubHeading { margin: 0 0 2.5vw; font-size: 2.083vw; }
  .CompanyAccess__Primary dl { margin: 0 0 2.5vw; font-size: 1.416vw; }
  .CompanyAccess__Primary dl dt { padding: 0 0 0.416vw; }
}

@media screen and (max-width: 600px) {
  .CompanyIntro { justify-content: space-between; flex-wrap: wrap; padding: 2vw 0 4vw !important; }
  .CompanyIntro li { margin: 0 0 4vw !important; width: 48%; }
  .CompanyIntro li a { padding: 4vw 0; width: 100%; font-size: 1.6rem; }
  .Body__CompanyAbout { padding: 2vw 0 20vw; background-image: url(/wp-content/uploads/2025/07/company-about-bg-sp.jpg); }
  .CompanyAbout { flex-direction: column; width: 90%; }
  .CompanyAbout__SubHeading { padding: 3vw 0; width: 100%; border-bottom: none; }
  .CompanyHistory__SubHeading { padding: 2vw 0 1vw; width: 100%; border-bottom: none; }
  .CompanyAbout__SubHeading p,
  .CompanyHistory__SubHeading p { color: #508545; font-weight: 700; }
  .CompanyAbout__Text,
  .CompanyHistory__Text { padding: 0 0 4vw; width: 100%; border-bottom-color: #508545; }
  .CompanyAbout__Text p,
  .CompanyHistory__Text p { line-height: 1.4; }
  .CompanyAbout table { width: initial !important; }
  .CompanyAbout table th { padding: 1vw 4vw 1vw 0; }
  .CompanyAbout table td { padding: 1vw 0; }
  .CompanyHistory { flex-direction: column; margin: 0 calc(50% - 50vw); padding: 2vw 5vw 15vw; width: 90vw; }
  .CompanyPartner { flex-direction: column; align-items: center; padding: 4vw 0; }
  .CompanyPartner h2 { margin-bottom: 12vw; }
  .CompanyPartner__Item { flex-direction: column; align-items: center; margin: 0 0 30vw; width: 100%; }
  .CompanyPartner__Item:before { display: none; top: 30vw; left: 5vw; width: 95vw; height: 240vw; border-radius: 10px 0 0 10px; }
  /* .CompanyPartner__Item:nth-of-type(2):before { height: 230vw; }
  .CompanyPartner__Item:nth-of-type(3):before { height: 240vw; }
  .CompanyPartner__Item:nth-of-type(4):before { height: 225vw; }
  .CompanyPartner__Item:nth-of-type(5):before { height: 335vw; } */
  .CompanyPartner__Item.--Reverse:before { right: 5vw; border-radius: 0 10px 10px 0; }
  .CompanyPartner__Item.--Reverse { flex-direction: column; }
  .CompanyPartner__Primary { z-index: 1; width: 52%; border-radius: 10px; }
  .CompanyPartner__Secondary { flex-direction: column; margin: -25vw 0 0 5%; padding: 27vw 5% 8vw; width: 85%; background-color: #fff; border-radius: 10px 0 0 10px; }
  .CompanyPartner__Item.--Reverse .CompanyPartner__Secondary { margin: -25vw 5% 0 0; border-radius: 0 10px 10px 0; }
  .CompanyPartner__Name { margin: 0 5% 0 0; padding: 3vw 0; width: 95%; font-size: 2.7rem; text-align: center; border-bottom: none; }
  .CompanyPartner__Item.--Reverse .CompanyPartner__Name { margin: 0 0 0 5%; width: 95%; }
  .CompanyPartner__Name small { padding: 2vw 0 0; font-size: 1.3rem; }
  .CompanyPartner__SubHeading { margin: 0; padding: 3vw 0 0; width: 100%; border-bottom: none; }
  .CompanyPartner__SubHeading p { color: #508545; font-weight: 700; }
  .CompanyPartner__Text { padding: 1vw 0 3vw; width: 100%; border-bottom-color: #508545; }
  .CompanyPartner table th { padding: 1vw 4vw 1vw 0; }
  .CompanyPartner table td { padding: 1vw 0; }
  .CompanyPartner .--Button { margin: 0 auto; width: 63vw; }
  .CompanyPartner .--BtnAcd { position: relative; display: block; margin: 0 5% 0 0; padding: 3vw 0; width: 90%; color: #508545; font-size: 1.8rem; text-align: center; border: 1px solid #508545; border-radius: 100px; }
  .CompanyPartner__Item.--Reverse .--BtnAcd { margin: 0 0 0 8%; }
  .CompanyPartner .--BtnAcd:after { position: absolute; right: 5vw; top: 50%; transform: translateY(-50%); display: inline-block; content: '\f078'; font-size: 1.6rem; font-family: "Font Awesome 6 Free"; font-weight: bold; }
  .CompanyPartner .--BtnAcd.--Selected:after { content: '\f077'; }
  .CompanyPartner__Content { display: none; }
  .CompanyAccess { flex-direction: column; align-items: center; padding: 8vw 0 10vw; /* ▼アクセス */ }
  .CompanyAccess h2 { margin-bottom: 27vw; }
  .CompanyAccess__Heading { margin: 0 auto 8vw; padding: 2vw 0; font-size: 2.2rem; }
  .CompanyAccess iframe { padding-bottom: 5vw !important; height: 70vw; }
  .CompanyAccess__Text { font-size: 1.6rem; }
  .CompanyAccess__Primary { width: 100%; }
  .CompanyAccess__SubHeading { margin: 0 0 5vw; font-size: 2.0rem; }
  .CompanyAccess__SubHeading:after { margin: 0 0 0 7%; width: 60%; }
  .CompanyAccess__Primary dl { margin: 0 0 5vw; line-height: 1.65; }
  .CompanyAccess__Primary dl dt { padding: 0; }
  .CompanyAccess__Secondary { margin-top: 3vw; width: 58%; }
}

/* 
======================================================== */


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

}

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

}

/* サイドフローティング　
======================================================== */
.SideFloating { position: fixed; z-index: 101; right: -1px; 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 { position: relative; display: flex; justify-content: center; align-items: center; margin: 0; padding: 20px 0 0; width: 45px; height: 110px; color: #fff; font-size: 1.5rem; font-weight: bold; text-decoration: none; border-width: 1px; border-style: solid; border-color: #fff; border-radius: 5px 0 0 5px; }
.SideFloating li a i { position: absolute; top: 15px; left: 50%; transform: translateX(-50%); }
.SideFloating li a:hover { opacity: 1; filter: brightness(1.2); }
.SideFloating li:nth-child(1) a { background: #e20404; }
.SideFloating li:nth-child(2) a { background: #1d358f; }
.SideFloating li:nth-child(3) a { background: #292929; }
.SideFloating li:nth-child(4) a { background: #304e9c; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .SideFloating { top: 10vw; }
  .SideFloating li { margin: 0 0 0.416vw; }
  .SideFloating li a { padding: 1.666vw 0 0; width: 3.75vw; height: 9.166vw; font-size: 1.25vw; border-radius: 0.416vw 0 0 0.416vw; }
  .SideFloating li a i { top: 1.25vw; }
}

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

/* フローティングバナー(動画)　
======================================================== */
.Body__FloatingBanner { position: fixed; z-index: 98; right: 50px; bottom: 90px; display: block; margin: 0; padding: 0; }
.FloatingBanner { position: relative; display: flex; flex-direction: column; align-items: center; margin: 0 auto; padding: 0; width: 320px; background-color: #53b985; border-radius: 20px; }
.FloatingBanner__Close { position: absolute; z-index: 2; top: -25px; right: -25px; display: flex; justify-content: center; align-items: center; margin: 0; padding: 0; width: 50px; height: 50px; color: #333; font-size: 2.4rem; background-color: #fff; border: 1px solid #939393; border-radius: 50%; }
.FloatingBanner__Close:hover { background-color: #eaeaea; cursor: pointer; }
.FloatingBanner__Heading { margin: 0; padding: 10px 0; width: 86%; color: #fff; font-size: 1.8rem; font-weight: 700; line-height: 1.2; text-align: center; }
.FloatingBanner a { position: absolute; z-index: 1; display: block; width: 100%; height: 100%; background-color: #fff; border-radius: 20px; opacity: 0; }
.FloatingBanner a:hover { opacity: 0.3; }
.FloatingBanner__Image { margin-bottom: 4%; width: 92%; border-radius: 20px; overflow: hidden; }
.FloatingBanner__Image:before { padding-top: 57%; }
#inline-content video { width: 100%; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .Body__FloatingBanner { right: 4.166vw; bottom: 7.5vw; }
  .FloatingBanner { width: 26.66vw; border-radius: 1.66vw; }
  .FloatingBanner__Close { top: -2.08vw; right: -2.08vw; width: 4.166vw; height: 4.166vw; font-size: 2.0vw; }
  .FloatingBanner a { border-radius: 1.66vw; }
  .FloatingBanner__Heading { padding: 0.82vw 0; font-size: 1.5vw; }
  .FloatingBanner__Image { border-radius: 1.66vw; }
}

@media screen and (max-width: 600px) {
  .Body__FloatingBanner { right: 3vw; bottom: 30vw; }
  .FloatingBanner { width: 46vw; border-radius: 10px; }
  .FloatingBanner__Close { top: -4vw; right: -3vw; width: 7vw; height: 7vw; font-size: 2.2rem; }
  .FloatingBanner__Heading { padding: 2vw 0; font-size: 1.5rem; }
  .FloatingBanner__Image { border-radius: 10px; }
}

/* 
======================================================== */


/* インラインコンテンツ（SP）　
======================================================== */
.Inline { display: none !important; }
.editor-styles-wrapper .is-root-container .Inline { display: block; }

@media screen and (max-width: 600px) {
  .Inline__Item { margin: 0; padding: 8vw 0 0; text-align: center; }
  .Inline__Item p { margin: 0; padding: 0 0 5vw; width: 100%; font-size: 1.9rem; font-weight: 500; line-height: 1.65; }
  .Inline__Button a { position: relative; display: inline-block; margin: 0 auto; padding: 2.5vw 0; width: 86%; color: #fff; font-size: 2.4rem; font-weight: 700; text-decoration: none; text-align: center; border-radius: 100px; }
  .Inline__Button a:after { position: absolute; right: 5vw; top: 50%; transform: translateY(-50%); display: inline-block; content: '\f138'; font-size: 1.6rem; font-family: "Font Awesome 6 Free"; font-weight: bold; }
  .Inline__Button.--Mail a { background: linear-gradient(to bottom, #9b9182, #837154); }
  .Inline__Button.--Line a { background: linear-gradient(to bottom, #6ed26e, #10cb10); }
  .Inline__Button.--Consulting a { background: linear-gradient(to bottom, #d73801, #a92a00); }
}

/* PageTop
======================================================== */
.PageTop { position: fixed; bottom: 20px; right: 40px; z-index: 99; }
.PageTop__Button { position: relative; display: inline-block; width: 60px; height: 60px; background: #508545; 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.666vw; right: 3.333vw; }
  .PageTop__Button { width: 5.0vw; height: 5.0vw; }
  .PageTop__Button:before { font-size: 2.0vw; }
}

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

/* 下層固定ページ
======================================================== */
.Body__TwoColumns { display: flex; justify-content: space-between; flex-direction: row-reverse; align-items: flex-start; margin: 0 auto; padding: 10px 0 100px; width: 1100px; }
.Body__Sidebar { margin: 0; padding: 20px 0 100px; width: 230px; }
.Body__Page { margin: 0 auto; padding: 0; width: 1100px; }
.--Spacer { display: block; width: 100%; /* height: 80px; */ }
.Body__PageTitle { position: relative; display: flex; justify-content: center; align-items: center; margin: 0 auto; padding: 0; min-height: 340px; background-color: #e7eeeb; overflow: hidden; }
.Body__PageTitleBg { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%; }
.Body__PageTitleBg img { width: 100%; height: 100%; object-fit: cover; }
.BreadCrumbs { display: flex; align-items: center; overflow-x: auto; margin: 0 auto; padding: 10px 0; width: 1100px; color: #8a8a8a; font-size: 1.3rem; font-weight: 400; white-space: nowrap; }
.BreadCrumbs a { color: #8a8a8a; text-decoration: none; }
.BreadCrumbs a:hover { opacity: 1.0; color: #508545; }
.BreadCrumbs { --sb-track-color: #999; --sb-thumb-color: #e6e6e6; --sb-size: 5px; }
.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; }
.PageTitle { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; margin: 0 auto; padding: 0; width: 1100px; }
.PageTitle__Heading { position: relative; display: flex; flex-direction: column; align-items: center; margin: 0 auto; padding: 0; width: 100%; color: #000; font-size: 4.0rem; font-weight: 500; line-height: 1.25; text-align: center; background: none; border: none; }
.PageTitle h2:before,
.PageTitle h2:after { display: none; }
.PageTitle__Heading small { display: block; padding: 20px 0 0; color: #508545; font-size: 1.8rem; font-weight: 500; text-align: center; font-family: "Montserrat"; }

.SingleIntro { display: flex; align-items: center; margin: 0; padding: 0 0 40px; }
.ReleaseUpdate { display: flex; align-items: center; margin: 0; padding: 0; color: #000; font-size: 1.4rem; font-weight: 500; }
.ReleaseUpdate dt { padding: 0 20px 0 0; }
.ReleaseUpdate dd { padding: 0 0 40px 0; }
.ReleaseUpdate i { padding-right: 5px; }

.Body__Top img, .Body__Page img, .Body__Single img { max-width: 100%; height: auto; margin-top: 0; }
.Body__Page iframe { max-width: 100%; }
.Body__Page img, .Body__Page iframe, .Body__Page p, .Body__Archive p, .Body__Single p, .Body__Page ul, .Body__Single ul { padding-bottom: 3rem; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .--Spacer {  }
  .Body__TwoColumns { padding: 0.83vw 0 8.33vw; width: 91.7vw; }
  .Body__Sidebar { padding: 1.66vw 0 8.33vw; width: 19.2vw; }
  .Body__Page { padding: 0; width: 91.667vw; }
  .Body__PageTitle { min-height: 28.333vw; }
  .PageTitle { width: 91.667vw; }
  .PageTitle__Heading { font-size: 3.333vw; }
  .PageTitle__Heading small { padding: 1.666vw 0 0; font-size: 1.5vw; }
  .BreadCrumbs { padding: 0.833vw 0; width: 91.667vw; font-size: 1.083vw; }
  .SingleIntro { padding: 0 0 3vw; }
  .ReleaseUpdate { padding: 0; font-size: 1.17vw; }
  .ReleaseUpdate dt { padding: 0 1.5vw 0 0; }
  .ReleaseUpdate dd { padding: 0 0 0 0; }
  .ReleaseUpdate i { padding-right: 0.4vw; }
  .Body__Page img, .Body__Page iframe, .Body__Page p, .Body__Archive p, .Body__Single p { padding-bottom: 2.5vw; }

  .SingleIntro { padding: 0 0 3.333vw; }
  .ReleaseUpdate { font-size: 1.166vw; }
  .ReleaseUpdate dt { padding: 0 1.666vw 0 0; }
  .ReleaseUpdate dd { padding: 0 0 3.333vw 0; }
}

@media screen and (max-width: 600px) {
  .--Spacer { height: 13vw; }
  .Body__TwoColumns { flex-direction: column; padding: 0; width: 100%; }
  .Body__Sidebar { display: none; }
  .Body__Page { margin: 0 calc(50% - 50vw); padding: 6vw 5vw; width: 90vw; background: #fff; }
  .Body__PageTitle { margin: 0 auto; padding: 0; width: 100%; min-height: 33vw; }
  .Body__PageTitleBg { width: 100%; opacity: 1.0; }
  .PageTitle { padding: 0; width: 90%; }
  .PageTitle__Heading { font-size: 3.2rem; line-height: 1.2; }
  .PageTitle__Heading small { padding: 1vw 0 0; font-size: 1.4rem; }
  .BreadCrumbs { padding: 2vw 0; width: 90%; font-size: 1.3rem; }
  .BreadCrumbs dt { padding: 2vw 0 1vw; width: 100%; overflow-x: auto; }
  .BreadCrumbs dd { display: none; }

  .PageTitle__PrimaryHeading { padding: 1.8vw 0; width: 100%; font-size: 2.8rem; }
  .PageTitle__Secondary, .PageTitle__Secondary p { margin: 0 auto; width: 90%; font-size: 2.0rem; }

  .SingleIntro { padding: 0 0 4vw; }
  .ReleaseUpdate { padding: 0; }
  .ReleaseUpdate dt { padding: 0 4vw 0 0; }
  .ReleaseUpdate dd { padding: 0 0 0 0; }

  .Modal .Sidebar__Menu { margin: 0 auto 3vw; }
  .Modal .Sidebar__Menu li:last-child a { border-bottom: 1px solid #e2e2e2; }
  .Modal .Sidebar__Menu li a { position: relative; padding: 3vw 2vw; font-size: 1.9rem; }
  .Modal .Sidebar__Menu li a:before { display: none; }
  .Modal .Sidebar__Menu li a:after { position: absolute; z-index: 0; right: 1vw; top: 50%; transform: translateY(-50%); content: " \f054"; font-size: 1.3rem; font-family: "Font Awesome 6 Free"; font-weight: bold; }
}

/* サイトマップ
======================================================== */
.simple-sitemap-container h3 { padding: 1rem 0; display: flex; justify-content: center; align-items: center; text-align: center; color: #333; font-size: 1.4rem; font-weight: 700 !important; letter-spacing: 0; background: none; border: none; font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; -webkit-text-fill-color: initial; }
.simple-sitemap-container h3:after { display: none; }
.simple-sitemap-container { display: flex; flex-wrap: wrap; }
.simple-sitemap-content { width: 100%; }
.simple-sitemap-wrap:not(:first-of-type) { margin-top: 0 !important; }
.simple-sitemap-container.tab-enabled label { float: initial !important; display: flex !important; margin: 0 2px -1px 0 !important; width: 16.4%; background-color: #f4f4f4; } /* Default tab */
.simple-sitemap-container.tab-enabled input:checked + label > * { position: relative; z-index: 1; height: 100%; color: #e20404 !important; 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-bottom: 0; list-style: none; line-height: 1.5; }
.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; font-size: 1.17vw; }
  .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: 3px 2px -1px 0 !important; width: 24.4% !important; height: 10vw; }
  .simple-sitemap-container.tab-enabled input:checked + label { padding-right: 0; }
  .simple-sitemap-container h3 { display: flex; justify-content: center; align-items: center; 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; }
}

/* 執筆者情報
======================================================== */
.SubPage__Author { clear: both; margin: 80px auto; padding: 0; width: 100%; }
.SubPage__AuthorHeading { display: inline-block; width: initial; margin: 0; padding: 1rem 2rem 0.5rem; color: #fff; font-size: 1.4rem; font-weight: 500; background-color: #e20404; }
.Author { display: flex; justify-content: flex-start; align-items: flex-start; flex-wrap: wrap; padding: 20px; background-color: #f7f7f7; border-width: 2px; border-style: solid; border-color: #e20404; }
.Author__Primary { position: relative; display: block; margin: 0 4% 0 0; width: 22%; overflow: hidden; object-fit: cover; }
.Author__Primary:before { content: ""; display: block; padding-top: 126%; }
.Author__Primary img { position: absolute; width: 100%; height: 100%; top: 0; right: 0; bottom: 0; left: 0; margin: 0; object-fit: cover; }
.Author__Text { display: flex; align-items: center; flex-wrap: wrap; width: 70%; }
.Author__Text dt, .Author__Text dd { margin-bottom: 1rem; width: 100%; border-bottom: 1px solid #ebebeb; }
.Author__TradeName { display: inline-block; margin: 0; padding: 0 0 1rem; width: 100%; font-size: 1.4rem; }
.Author__Position { display: inline-block; margin: 0; padding: 0 2rem 1rem 0; font-size: 1.4rem; }
.Author__FullName { display: inline-block; margin: 0; padding: 0 0 1rem 0; font-size: 2.4rem; font-weight: 700; }
.Author table { border-collapse: separate; width: 100%; margin-bottom: 1rem; }
.Author table th { display: inline-block; vertical-align: top; margin: 0.35rem 0; padding: 0.5rem 1rem; width: 15%; font-size: 1.2rem; font-weight: 400; background-color: #e0e0e0; border: none; white-space: nowrap; }
.Author table td { display: inline-block; margin: 0 0 0 2rem; padding: 0.5rem 0; width: 75%; font-size: 1.4rem;  border: none; }
.Author__Button { width: 100%; text-align: center; }
.Author__Button a { display: inline-block; margin: 0 30%; padding: 1.5rem 0; width: 40%; color: #fff !important; font-size: 1.7rem; font-weight: 500; text-decoration: none; background-color: #e20404; border-radius: 100px; }
.Author__Button a:after { display: inline-block; margin-left: 1rem; content: "\f054"; font-size: 1.4rem; font-weight: bold; font-family: "Font Awesome 6 Free"; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .SubPage__Author { margin: 0 auto 6.7vw; }
  .SubPage__AuthorHeading { padding: 0.88vw 1.7vw 0.43vw; font-size: 1.2vw; }
  .Author { padding: 1.75vw; border-width: 0.2vw; }
  .Author__Text dt,
  .Author__Text dd { margin-bottom: 0.9vw; border-bottom-width: 0.1vw; }
  .Author__TradeName { padding: 0 0 0.88vw; font-size: 1.21vw; }
  .Author__Position { padding: 0 1.7vw 0.9vw 0; font-size: 1.21vw; }
  .Author__FullName { padding: 0 0 0.9vw 0; font-size: 2.07vw; }
  .Author table { margin-bottom: 0.9vw; }
  .Author table th { margin: 0.32vw 0; padding: 0.4vw 0.85vw; font-size: 1.04vw; }
  .Author table td { margin: 0 0 0 1.68vw; padding: 0.42vw 0; font-size: 1.16vw; }
  .Author__Button a { padding: 1.3vw 0; font-size: 1.47vw; }
  .Author__Button a:after { font-size: 1.22vw; }
}

@media screen and (max-width: 600px) {
  .Author { flex-direction: column; }
  .Author__Primary { margin: 0 auto; width: 50%; }
  .Author__Image { margin: 0 auto 1rem; width: 50%; }
  .Author__Text { width: 100%; }
  .Author__Text dt { text-align: center; }
  .Author table { font-size: 1.6rem; }
  .Author table th { width: 20%; }
  .Author table td { width: 68%; }
  .Author__Button a { margin: 0 15%; width: 70%; }
  .Author table tr:last-child td br { display: none; }
}

/* サイドバー
======================================================== */
.SidebarTop { position: relative; display: flex; flex-direction: column; align-items: center; margin: 0 0 30px; padding: 0; background-color: #1d358f; border-width: 4px; border-style: solid; border-color: #1d358f; border-radius: 10px; }
.SidebarTop:hover { opacity: 0.7; }
.SidebarTop a { position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; }
.SidebarTop__Image { width: 100%; border-radius: 7px 7px 0 0; overflow: hidden; }
.SidebarTop__Image:before { padding-top: 87%; pointer-events: none; }
.SidebarTop__Text { margin: 0 auto; padding: 15px 0; color: #fff; font-size: 1.8rem; font-weight: 700; line-height: 1.1; text-align: center; }

h6.Sidebar__SubHeading { position: relative; display: flex; justify-content: flex-start; margin: 0 0 10px; padding: 15px 20px; color: #fff; font-size: 1.6rem; font-weight: 700; background: #e20404; }
h6.Sidebar__SubHeading:before { position: absolute; left: 0; bottom: 4px; content: ""; display: block; width: 100%; height: 1px; background-color: #fff; }
.Sidebar__Menu { margin: 0 auto 25px; padding: 0; width: 99%; /* ▼コンテンツメニュー */ }
.Sidebar__Menu li { margin: 0; padding: 0; width: 100%; text-align: left; }
/* .Sidebar__Menu li:last-child a { border-bottom: none; } */
.Sidebar__Menu li a { position: relative; display: flex; justify-content: space-between; padding: 15px 40px 15px 10px; color: #333; font-size: 1.5rem; line-height: 1.2; text-decoration: none; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #e2e2e2; }
.Sidebar__Menu li a:after { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); display: inline-block; content: "\f0da"; color: #e20404; font-size: 1.2rem; font-family: "Font Awesome 6 Free"; font-weight: bold; text-align: center; }
.Sidebar__Menu li.menu-item-has-children ul.sub-menu { display: none; border-bottom: 1px solid #e2e2e2; }
.Sidebar__Menu li.menu-item-has-children ul.sub-menu li a { padding-left: 20px; }
.Sidebar__Menu li.menu-item-has-children > a { /* background-color: #f9f9f9; */ }
.Sidebar__Office { /* ▼事務所概要 */ }
.Sidebar__Office iframe { margin: 0 0 10px; height: 200px; }
.Sidebar__Office p { margin: 0; padding: 0 0 10px; font-size: 1.4rem; line-height: 1.55; letter-spacing: 0.05em; }
.Sidebar__Search { margin-bottom: 20px; width: 100%; background: #f3f3f3; /* ▼検索 */}
.Sidebar__Search label { display: none; }
.Sidebar__Search .wp-block-search__inside-wrapper { padding: 4%; max-width: 96%; }
.Sidebar__Search .wp-block-search__input { border-width: 1px; border-style: solid; border-color: #dbdbdb; }
.Sidebar__Search .wp-block-search__button { color: #fff; font-size: 1.4rem; background: #333; border: none; white-space: nowrap; }
.Sidebar__Search .wp-block-search__button:hover { cursor: pointer; opacity: 0.7; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .SidebarTop { margin: 0 0 2.5vw; border-width: 0.35vw; border-radius: 0.82vw; }
  .SidebarTop__Image { border-radius: 0.6vw 0.6vw 0 0; }
  .SidebarTop__Text { padding: 1.25vw 0; font-size: 1.5vw; }
  h6.Sidebar__SubHeading { margin: 0 0 0.82vw; padding: 1.25vw 1.66vw; font-size: 1.333vw; }
  h6.Sidebar__SubHeading:before { bottom: 0.33vw; }
  .Sidebar__Menu { margin: 0 auto 2.08vw; }
  .Sidebar__Menu li a { padding: 1.25vw 3.5vw 1.25vw 0.82vw; font-size: 1.25vw; }
  .Sidebar__Menu li a:after { right: 0.82vw; font-size: 1.0vw; }
  .Sidebar__Office iframe { margin: 0 0 0.82vw; height: 16.66vw; }
  .Sidebar__Office p { padding: 0 0 0.82vw; font-size: 1.17vw; }
  .Sidebar__Search { margin-bottom: 1.66vw; }
  .Sidebar__Search .wp-block-search__input { padding: 0.7vw; }
  .Sidebar__Search .wp-block-search__button { margin-left: 0.82vw; padding: 0.5vw 0.82vw; font-size: 1.17vw; }
}

/* 会社概要
======================================================== */
.OverViewEnd { display: flex; justify-content: space-between; flex-wrap: wrap; margin: 0; padding: 40px 0; }
.OverViewEnd__Item { display: flex; flex-direction: column; margin: 0; padding: 0 0 2%; width: 48.5%; border: 1px solid #cfcfcf; border-radius: 10px; overflow: hidden; }
.OverViewEnd__SubHeading { margin: 0 auto; padding: 5% 0 !important; color: #333; font-size: 1.9rem; font-weight: 700; line-height: 1.3; text-align: center; }
.OverViewEnd__Image { width: 100%; }
.OverViewEnd__Image:before { padding-top: 40%; }
.OverViewEnd__Image img { width: 100%; height: auto; padding-bottom: 0; }
.OverViewCustomer { display: flex; flex-wrap: wrap; margin: 0; padding: 0 0 40px; width: 100%; }
.OverViewCustomer__Item { position: relative; display: flex; flex-direction: column; align-items: center; margin: 0 2% 2% 0; padding: 1% 0; width: 23.2%; border: 1px solid #cfcfcf; border-radius: 10px; overflow: hidden; }
.OverViewCustomer__Item:nth-of-type(4n) { margin-right: 0; }
.OverViewCustomer__Item a { position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; background-color: #fff; opacity: 0; }
.OverViewCustomer__Item a:hover { opacity: 0.3; }
.OverViewCustomer__Logo { width: 100%; }
.OverViewCustomer__Logo:before { padding-top: 40%; }
.OverViewCustomer__Logo img { width: 100%; height: auto; padding-bottom: 0; }
.OverViewCustomer__Text { margin: 0 auto; padding: 10px 0 !important; width: 92%; font-size: 1.5rem; line-height: 1.3; letter-spacing: 0; text-align: center; }

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

}

@media screen and (max-width: 600px) {
  .OverViewEnd__SubHeading { font-size: 1.7rem; }
  .OverViewCustomer { justify-content: space-between; padding: 0 0 8vw; }
  .OverViewCustomer__Item { margin: 0 0 3vw 0; width: 31%; }
  .OverViewCustomer__Text { font-size: 1.3rem; }
}

/* 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 10px 0 0 !important; }
.SingleTerm li a { display: block; padding: 5px 20px; color: #fff; font-size: 1.4rem; line-height: 1.7; text-decoration: none; }
.SingleTerm li a:hover { color: #fff; }

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

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

/* 汎用ブロック
======================================================== */
.TelFormBanner { display: flex; justify-content: center; }
.TelFormBanner dt,
.TelFormBanner dd { margin: 0 1%; width: 48%; }
.TelFormBanner dt img,
.TelFormBanner dd img { width: 100%; height: auto; }
body.error404 .addtoany_content { display: none; }
.addtoany_shortcode { display: flex; justify-content: flex-end; }
.addtoany_list { display: flex; align-items: flex-start; }

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

}

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

}

/* アーカイブ・詳細
======================================================== */
.Body__Archive,
.Body__Single { margin: 0 auto; padding: 40px 0; width: 1100px; }
.Body__ArchiveTwoColumns { display: flex; flex-wrap: wrap; justify-content: space-between; }
.Page__Image img,
.Single__Image img { display: block; margin: 0 auto 60px; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .Body__Archive,
  .Body__Single { padding: 3.333vw 0; width: 91.667vw; }
}

@media screen and (max-width: 600px) {
  .Body__Archive,
  .Body__Single { position: relative; /* z-index: 1; */ margin: 0 calc(50% - 50vw); padding: 6vw 5vw; width: 90vw; background: #fff; }
  .Body__ArchiveTwoColumns { flex-direction: column; }
}

/* 絞り込み検索
======================================================== */
.SearchFilter { padding: 0 0 60px; }
.SearchFilter__Heading { margin: 0 0 20px !important; width: 96%; }
.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: center; 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: 18%; font-size: 1.7rem; font-weight: 500; font-family: "Noto Serif JP"; background-color: #f0f0f0; border-radius: 10px; transition: all 0.5s; }
.searchandfilter div > ul li.cat-item:hover { color: #fff; background-color: #508545; }
.searchandfilter div > ul li.cat-item.current-cat { color: #fff; background-color: #508545; }
.searchandfilter div > ul li.cat-item a { color: #333; }
.searchandfilter div > ul li.cat-item.current-cat a { color: #fff; }
.searchandfilter div > ul li.current-cat:after { content: " \f078"; font-family: "Font Awesome 6 Free"; font-weight: bold; color: #fff; font-size: 1.0rem; position: absolute; bottom: 5px; left: 50%; transform: translateX(-50%); pointer-events: none; }
.searchandfilter div > ul li.cat-item:nth-child(3n) { margin-right: 0; }
.searchandfilter div > ul li.cat-item label,
.searchandfilter div > ul li.cat-item a { display: flex; justify-content: center; align-items: center; width: 100%; padding: 20px 0; text-decoration: none; }
.searchandfilter div > ul li.cat-item label:hover,
.searchandfilter div > ul li.cat-item a:hover { cursor: pointer; color: #fff; opacity: 1.0; }
.searchandfilter input[type="submit"] { display: none; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .SearchFilter { padding: 0 0 5.0vw; }
  .searchandfilter div > ul li.cat-item { font-size: 1.416vw; border-radius: 0.833vw; }
  .searchandfilter div > ul li.current-cat:after { font-size: 0.833vw; bottom: 0.416vw; }
  .searchandfilter div > ul li.cat-item label,
  .searchandfilter div > ul li.cat-item a { padding: 1.666vw 0; }
}

@media screen and (max-width: 600px) {
  .SearchFilter { padding: 0 0 6vw; }
  .searchandfilter div > ul li ul { justify-content: space-between; }
  .searchandfilter div > ul li.cat-item { width: 49%; margin: 0 0 2vw; border-radius: 5px; }
  .searchandfilter div > ul li.cat-item label,
  .searchandfilter div > ul li.cat-item a { padding: 0; min-height: 12vw; }
}

/* アーカイブ
======================================================== */
.ArchiveNews { position: relative; display: flex; align-items: flex-start; margin: 0; padding: 20px 1%; width: 98%; border-bottom: 1px solid #cfcfcf; transition: all 0.5s; }
.ArchiveNews a { position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; background-color: #fff; opacity: 0; }
.ArchiveNews a:hover { opacity: 0; }
.ArchiveNews:hover { background-color: #f4f8f3; }
.ArchiveNews__Date { margin: 1% 2% 0 0; padding: 0; width: 10%; font-size: 1.6rem; font-weight: 500; line-height: 1.2; font-family: "Montserrat"; }
.ArchiveNews__Category { display: flex; flex-wrap: wrap; margin: 0 3% 0 0; padding: 0 !important; width: 10%; }
.ArchiveNews__Category li { display: flex; justify-content: center; align-items: center; margin: 0 2% 2%; padding: 10% 0; width: 100%; color: #fff; font-size: 1.5rem; text-align: center; background-color: #e6e6e6; }
body.--Home .TopNews__Category li { padding: 7% 0; }
.ArchiveNews__Category li.information { background-color: #508545; }
.ArchiveNews__Category li.column { background-color: #47828c; }
.ArchiveNews__Title { margin: 1% 0 0; padding: 0; width: 75%; color: #000; font-size: 1.7rem; font-weight: 500; line-height: 1.2; background: none; border: none; -webkit-text-fill-color: initial; }
.ArchiveNews__Title:after { display: none; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .ArchiveNews { padding: 1.666vw 1%; }
  .ArchiveNews__Date { font-size: 1.333vw; }
  .ArchiveNews__Category li { font-size: 1.25vw; }
  .ArchiveNews__Title { font-size: 1.416vw; }
}

@media screen and (max-width: 600px) {
  .ArchiveNews { flex-wrap: wrap; padding: 4vw 0; width: 100%;}
  .ArchiveNews__Date { margin: 1.5% 2% 0 0; width: 23%; font-size: 1.5rem; }
  .ArchiveNews__Category { width: 22%; }
  .ArchiveNews__Category li { padding: 7% 0; }
  .ArchiveNews__Title { margin: 3vw 0 0; width: 100%; font-size: 1.6rem; line-height: 1.7; }
}

/* 初めての方へ(親)・関連ページ
======================================================== */
.Body__RelationPage { padding: 0 0 60px; }
.RelationPage { display: flex; flex-wrap: wrap; justify-content: flex-start; margin: 0 auto; padding: 0; width: 100%; }
.RelationPage__Heading { position: relative; margin: 4rem auto; padding: 12px 1%; width: 98%; color: #53b985; font-size: 2.5rem; font-weight: 700; line-height: 1.3; letter-spacing: 0.05em; text-align: left; background: none; 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-bottom: none; background: linear-gradient(90deg, #e10019 0%, #2945a6 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.RelationPage__Heading:after { position: absolute; bottom: 0; left: 0; content: ""; width: 100%; height: 1px; background-color: #c8c8c8; }
.RelationPage__Item { display: flex; margin: 0 3.1% 3.1% 0; padding: 1%; width: 29%; background-color: #fff; border-width: 1px; border-style: solid; border-color: #c1c1c1; border-radius: 20px; }
.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__Primary { width: 100%; border-radius: 10px 10px 0 0; }
.RelationPage__Primary:before { padding-top: 57%; }
.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: 20px 0; }
.RelationPage__Title h3,
.RelationPage__Title h6 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin: 0; padding: 0; width: 100%; color: #333; font-size: 1.5rem; font-weight: 700; line-height: 1.3; text-align: center; background: none; border: none; -webkit-text-fill-color: initial; }
.RelationPage__Title h3:after { display: none; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .RelationPage__Item { border-radius: 1.66vw; border-width: 0.09vw; }
  .RelationPage__Primary { border-radius: 0.82vw 0.82vw 0 0; }
  .RelationPage__Title { padding: 1.66vw 0; }
  .RelationPage__Title h3,
  .RelationPage__Title h6 { font-size: 1.25vw; }
}

@media screen and (max-width: 600px) {
  .RelationPage { justify-content: space-between; }
  .RelationPage__Heading { padding: 3vw 1%; font-size: 2.2rem; }
  .RelationPage__Item { margin: 0 0 4vw 0; padding: 2%; width: 44%; border-radius: 10px; }
  .RelationPage__Primary { border-radius: 5px 5px 0 0; }
  .RelationPage__Title {  padding: 2vw 0; }
  .RelationPage__Title h3,
  .RelationPage__Title h6 { font-size: 1.5rem; }
}

/* 親子ページのリスト　
======================================================== */
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; background-color: #508545; }
.wp-pagenavi a:hover, .wp-pagenavi span.current { font-weight: 400; border-color: #508545; }
.wp-pagenavi a, .wp-pagenavi span { font-weight: 400; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .PageNavi { padding: 2.5vw 0 5vw; font-size: 1.33vw; }
  .PageNavi__Info { padding-bottom: 1.666vw; }
}

@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 #cfcfcf; list-style: none !important; }
.PageNation li { display: inline-block; margin-left: 0 !important; padding: 0 5px; }
.PageNation li a { display: block; padding: 10px 40px; color: #000; font-size: 1.7rem; font-weight: 400; text-decoration: none; border-width: 1px; border-style: solid; border-color: #737373; transition: all .5s; }
.PageNation li a:hover { color: #fff; background-color: #508545; opacity: 1.0; }
.PageNation .--Back { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

@media only screen and (min-width:600px) and (max-width:1200px) {
  ul.PageNation { margin: 3.333vw auto; padding: 3.333vw 0; }
  .PageNation li { padding: 0 0.416vw; }
  .PageNation li a { padding: 0.833vw 3.333vw; font-size: 1.416vw; }
}

@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; }
}

/* お問い合わせフォーム　
======================================================== */
.ContactIntro { margin: 0 auto; padding: 50px 0 ; }
.ContactIntro .--AlignCenter { padding-bottom: 20px !important; font-size: 1.7rem; line-height: 2.5; }
.ContactIntro__Phone { display: flex; flex-direction: column; align-items: center; margin: 0 auto; padding: 20px 0; width: 100%; background-color: #f6f6f6; }
.ContactIntro .--PhoneNumber { display: flex; align-items: center; padding-bottom: 0 !important; font-size: 3.2rem; font-weight: 700; font-family: "Montserrat"; line-height: 1.0; text-align: center; }
.ContactIntro .--PhoneNumber:before { padding-right: 20px; content: " \f095"; color: #508545; font-size: 2.0rem; font-family: "Font Awesome 6 Free"; font-weight: bold; }
.ContactIntro .--ReceptionHours { padding-bottom: 0 !important; font-size: 1.6rem; }
.wpcf7-form > p { padding-bottom: 0; }
.ContactForm {}
.ContactForm table { border-collapse: collapse; margin: 0 auto; width: 900px; }
.ContactForm table tr { display: flex; flex-wrap: wrap; margin: 0; }
.ContactForm table th { display: flex; justify-content: flex-start; align-items: flex-start; position: relative; margin: 0; padding: 3%; width: 30%; background: none; font-size: 1.7rem; font-weight: 500; line-height: 1.2; text-align: left; border: none; }
/* .ContactForm table th:after { position: absolute; top: 0; right: 0; content: ""; display: inline-block; width: 1px; height: 100%; background: #eaeaea; } */
.ContactForm table td { position: relative; display: flex; flex-direction: column; align-items: flex-start; margin: 0; padding: 2%; width: 60%; border: none; }
.ContactForm .--Required { position: absolute; right: 40px; top: 30px; display: flex; justify-content: center; align-items: center; margin: 0; padding: 4px 20px; color: #fff; font-size: 1.2rem; font-weight: 500; background-color: #d52727; border-radius: 5px; }
.ContactForm .--Method { padding: 3% 2% 2%; }
.ContactForm .--Method .wpcf7-radio { display: flex; }
.ContactForm .--Method .wpcf7-radio .wpcf7-list-item-label { position: relative; cursor: pointer; padding: 0 20px 0 40px; }
.ContactForm .--Method .wpcf7-radio .wpcf7-list-item-label:before,
.ContactForm .--Method .wpcf7-radio .wpcf7-list-item-label:after { content: ""; display: block;  border-radius: 50%; position: absolute; transform: translateY(-50%); top: 50%; }
.ContactForm .--Method .wpcf7-radio .wpcf7-list-item-label:before { left: 5px; width: 22px; height: 22px; background-color: #fff; border: 1px solid #ddd; border-radius: 50%; }
.ContactForm .--Method .wpcf7-radio .wpcf7-list-item-label:after { left: 7px; width: 20px; height: 20px; background-color: #508545; border-radius: 50%; opacity: 0; }
.ContactForm .--Method .wpcf7-radio input:checked + .wpcf7-list-item-label:after { opacity: 1; }
.ContactForm .--Method .wpcf7-radio input[type=radio] { position: absolute; margin: -1px; width: 1px; height: 1px; white-space: nowrap; border: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; padding: 0; }
.ContactForm .--Accept { width: 100%; }
.ContactForm .--Accept p { width: 100%; font-size: 1.7rem; font-weight: 500; text-align: center; }
.ContactForm .--Accept input[type=checkbox] { display: none; }
.ContactForm .--Accept .wpcf7-list-item-label { cursor: pointer; padding-left: 50px; position: relative; }
.ContactForm .--Accept .wpcf7-list-item-label:before,
.ContactForm .--Accept .wpcf7-list-item-label:after { content: ""; display: block;  position: absolute; }
.ContactForm .--Accept .wpcf7-list-item-label:before { background-color: #fff; border-radius: 0%; border: 1px solid #ddd; width: 30px; height: 30px; transform: translateY(-50%); top: 50%; left: 5px; }
.ContactForm .--Accept .wpcf7-list-item-label:after { border-bottom: 3px solid #508545; border-left: 3px solid #508545; opacity: 0; height: 7px; width: 15px; transform: rotate(-45deg); top: 5px; left: 12px; }
.ContactForm .--Accept input:checked + .wpcf7-list-item-label:after { opacity: 1; }
.ContactForm table th p,
.ContactForm table td p { margin: 0; padding: 0; width: 100%; font-size: 1.7rem; font-weight: 500; }
.ContactForm__Date { flex-direction: column; }
.ContactForm table td em { display: inline-block; padding: 0 2% 0 0; width: 10%; font-style: normal; text-align: right; }
.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: 93%; padding: 3%; margin: 0; border: 1px solid #d2d2d2; }
.ContactForm input[type="text"].--Half { width: 30%; }
.ContactForm textarea { width: 95%; padding: 2%; margin: 0; border: 1px solid #d2d2d2; }
.ContactForm input::placeholder { color: #c0c0c0; font-weight: 400; }
.ContactForm input[type="submit"] { display: block; margin: 30px auto; padding: 30px 0; width: 35%; color: #fff; font-size: 2.0rem; font-weight: 700; background-color: #508545; border: none; border-radius: 100px; }
body.dc .ContactForm input[type="submit"] { background-color: #0283b3; }
body.immigration .ContactForm input[type="submit"] { background-color: #333581; }
.ContactForm input[type="submit"]:hover { opacity: 0.7; cursor: pointer; }
.ContactForm input[type="submit"]:disabled { opacity: 0.3; cursor: not-allowed; }
.ContactForm__Date input[type="text"] { margin-bottom: 20px; }
div.wpcf7cp-btns { display: flex; justify-content: space-between; /* 確認画面 */ }
div.wpcf7cp-btns button { display: block; margin: 20px auto; padding: 20px 0; width: 46%; color: #fff; font-size: 2.4rem; font-weight: bold; border: none; border-radius: 10px; }
div.wpcf7cp-btns button:hover { opacity: 0.7; cursor: pointer; }
#wpcf7cpcnf table { border-collapse: collapse; width: 100%; }
#wpcf7cpcnf table tr { display: flex; flex-wrap: wrap; margin: -1px 0 0; }
#wpcf7cpcnf table th { display: flex; justify-content: flex-start; align-items: flex-start; position: relative; margin: 0; padding: 2%; width: 26%; background: #f9f9f9; font-size: 1.7rem; line-height: 1.2; text-align: left; border-right: none; }
#wpcf7cpcnf table td { position: relative; display: flex; flex-direction: column; align-items: flex-start; margin: 0 0 0 -1px; padding: 2%; width: 65%; }
#wpcf7cpcnf table th p,
#wpcf7cpcnf table td p { margin: 0; width: 100%; font-size: 1.6rem; }

@media only screen and (min-width:601px) and (max-width:1200px) {
  .ContactIntro { padding: 4.166vw 0; }
  .ContactIntro .--AlignCenter { padding-bottom: 1.666vw !important; font-size: 1.416vw; }
  .ContactIntro__Phone { padding: 1.666vw 0; }
  .ContactIntro .--PhoneNumber { font-size: 2.666vw; }
  .ContactIntro .--PhoneNumber:before { padding-right: 1.666vw; font-size: 1.666vw; }
  .ContactIntro .--ReceptionHours { font-size: 1.333vw; }
  .ContactForm table { width: 75vw; }
  .ContactForm table th,
  .ContactForm table th p,
  .ContactForm table td,
  .ContactForm table td p { font-size: 1.416vw; }
  .ContactForm .--Required { right: 3.333vw; top: 2.5vw; padding: 0.333vw 1.666vw; font-size: 1.0vw; border-radius: 0.416vw; }
  .ContactForm .--Method .wpcf7-radio .wpcf7-list-item-label { padding: 0 1.666vw 0 3.333vw; }
  .ContactForm .--Method .wpcf7-radio .wpcf7-list-item-label:before { left: 0.416vw; width: 1.833vw; height: 1.833vw; }
  .ContactForm .--Method .wpcf7-radio .wpcf7-list-item-label:after { left: 0.583vw; width: 1.666vw; height: 1.666vw; }
  .ContactForm .--Accept .wpcf7-list-item-label { padding-left: 4.16vw; }
  .ContactForm .--Accept .wpcf7-list-item-label:before { width: 2.5vw; height: 2.5vw; left: 0.416vw; }
  .ContactForm .--Accept .wpcf7-list-item-label:after { border-bottom: 0.25vw solid #508545; border-left: 0.25vw solid #508545; height: 0.583vw; width: 1.25vw;  top: 0.416vw; left: 1.0vw; }
  .ContactForm .--Accept p { font-size: 1.416vw; }
  .ContactForm input[type="submit"] { margin: 2.5vw auto; padding: 2.5vw 0; font-size: 1.666vw; }
}

@media screen and (max-width: 600px) {
  .ContactIntro { padding: 0; }
  .ContactIntro .--AlignCenter { padding-bottom: 4vw !important; line-height: 1.9; }
  .ContactIntro__Phone { margin-bottom: 10vw; padding: 4vw 0; }
  .ContactForm table tr { flex-direction:column; }
  .ContactForm table th { padding-bottom: 0; }
  .ContactForm table th,
  .ContactForm table td { width: 96%; }
  .ContactForm .--Required { right: 4vw; top: 3vw; padding: 0 2vw; font-size: 1.3rem; }
  .ContactForm table th:after { display: none; }
  .ContactForm table td { padding: 2vw 2% 0; }
  .ContactForm table td .--Required { top: 4.5vw; left: 25vw; }
  .ContactForm input[type="submit"] { margin: 6vw auto; padding: 5.5vw 0; width: 80%; }
  .ContactForm__Date input[type="text"] { margin-bottom: 4vw; }
  .ContactForm .--AlignCenter { line-height: 1.5; }
  div.wpcf7cp-btns button { margin: 2vw auto; padding: 4vw 0; font-size: 2.0rem; }
  .ContactForm .--Method .wpcf7-radio { flex-direction: column; }
  .ContactForm .--Method .wpcf7-list-item { margin-bottom: 2vw; }
  .ContactForm .--Method .wpcf7-list-item:nth-last-of-type(1) { margin-bottom: 0; }
  .ContactForm .--Accept .wpcf7-list-item-label:before { width: 6vw; height: 6vw; }
  .ContactForm .--Accept .wpcf7-list-item-label:after { height: 2vw; width: 3.5vw; top: 0.5vw; left: 2.5vw; }
  .ContactForm .--Accept .wpcf7-list-item-label { padding-left: 10vw; }
}

/* 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: 8.4vw 0 16.7vw; }
}

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

/* 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.33vw; }
}

.UnderConstruction { padding: 250px 0; }
@media only screen and (min-width:601px) and (max-width:1200px) {
  .UnderConstruction { padding: 20.833vw 0; }
}
@media screen and (max-width: 600px) {
  .UnderConstruction { padding: 20vw 0; }
}