@charset "UTF-8";
/*
Theme Name: 株式会社メディホス
Theme URI: http://noto006.xsrv.jp/medihos/
Author: 能登印刷株式会社
Author URI: https://www.notoinsatu.co.jp/
Description: メディホス
*/
/*--------------------------------------------------------------
設定
--------------------------------------------------------------*/
/*--------------------------------------------------------------
layout
--------------------------------------------------------------*/
.display-none {
  display: none;
}

.nowrap {
  white-space: nowrap !important;
}

.entry-content .mt0 {
  margin-top: 3px !important;
}
.entry-content .mb0 {
  margin-bottom: 0 !important;
}

.indent {
  padding-left: 1em !important;
}

.entry-content img {
  display: block;
}

/* インライン画像 */
.entry-content h2 > img,
.entry-content h3 > img,
.entry-content h4 > img,
.entry-content h5 > img,
.entry-content h6 > img,
.entry-content p > img,
.entry-content li > img,
.entry-content a img {
  display: inline-block;
}
.entry-content h2 > img,
.entry-content h3 > img,
.entry-content h4 > img,
.entry-content h5 > img,
.entry-content h6 > img,
.entry-content p > img,
.entry-content li > img {
  vertical-align: sub;
}

/* キャプション */
.wp-element-caption {
  text-align: center;
}

figcaption,
.caption {
  font-size: 1.4rem;
  line-height: 1.6 !important;
  margin: 0.5em 0;
}

.caption {
  margin-top: 0.5em !important;
}

/* スペーサー */
.wp-block-spacer {
  margin: 0 !important;
}

/* 画像横幅いっぱい */
.wp-elempost-caption {
  text-align: center;
}

/* カラムの余白設定 */
.c-row > .c-row__col {
  margin-bottom: 30px;
  padding: 0 20px;
}
.c-row > .c-row__col figure + * {
  margin-top: 25px;
}

.c-row--margin {
  margin: 0 -20px;
}

* + .wp-block-snow-monkey-blocks-items {
  margin-top: 50px;
}

.wp-block-snow-monkey-blocks-items {
  margin-bottom: -40px;
}

/*--------------------------------------------------------------
Alignments
--------------------------------------------------------------*/
.alignleft {
  display: inline;
  float: left;
  margin: 25px 30px 20px 0 !important;
}

.alignright {
  display: inline;
  float: right;
  margin: 0 0 20px 30px !important;
}

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

@media screen and (max-width: 781px) {
  .alignleft,
  .alignright {
    display: block !important;
    float: none !important;
    margin: 0 auto 20px !important;
  }
  .wp-block-image .alignright > figcaption,
  .wp-block-image .alignleft > figcaption {
    display: block;
  }
}
/*--------------------------------------------------------------
Formatting
--------------------------------------------------------------*/
hr,
.wp-block-separator {
  border: 0;
  border-top: solid 1px #ccc !important;
  margin: 100px 0;
}
@media screen and (max-width: 1023px) {
  hr,
  .wp-block-separator {
    margin: 60px 0;
  }
}
@media screen and (max-width: 567px) {
  hr,
  .wp-block-separator {
    margin: 40px 0;
  }
}

.wp-block-separator.is-style-dots {
  border: 0;
  border-top: 3px dotted #7f7f7f !important;
  margin: 50px 0 !important;
}
.wp-block-separator.is-style-dots::before {
  content: none;
}

/*--------------------------------------------------------------
Lists
--------------------------------------------------------------*/
ul {
  list-style: none;
}

ol {
  list-style: decimal;
}

.entry-content ul,
.entry-content ol {
  margin: 15px 0 0;
  padding: 0;
  text-indent: 0;
}
.entry-content ul > li,
.entry-content ol > li {
  padding: 0 0 0 1.8em;
}
.entry-content ul > li:last-child,
.entry-content ol > li:last-child {
  margin-bottom: 0;
}
.entry-content ul {
  list-style: none outside;
}
.entry-content ul > li {
  margin: 0 0 0.3em;
  padding: 0 0 0 1.4em;
  position: relative;
}
.entry-content ul > li:after {
  background: #b6c91b;
  border-radius: 0.75em;
  display: block;
  position: absolute;
  top: 0.6em;
  left: 0.25em;
  content: "";
  width: 0.55em;
  height: 0.55em;
}
.entry-content ul.column2_square {
  list-style: none outside;
  gap: 0 50px;
}
@media screen and (max-width: 1023px) {
  .entry-content ul.column2_square {
    gap: 0 30px;
  }
}
.entry-content ul.column2_square > li {
  border-bottom: 1px solid #DEDEDE;
  margin: 0 0 0.75em;
  padding: 0 0 0.75em 1.75em;
  position: relative;
}
.entry-content ul.column2_square > li:last-child {
  margin: 0;
}
.entry-content ul.column2_square > li span {
  font-size: 1.4rem;
  display: block;
  line-height: 1.8;
  margin-top: 5px;
}
@media screen and (max-width: 1023px) {
  .entry-content ul.column2_square > li span {
    font-size: 1.3rem;
  }
}
.entry-content ul.column2_square > li:after {
  background: #b6c91b;
  border-radius: unset;
  display: block;
  position: absolute;
  top: 0.45em;
  left: 0.25em;
  content: "";
  width: 0.8em;
  height: 0.8em;
}

.entry-content ul ul {
  margin: 6px 0 8px;
}
.entry-content ul ul > li:after {
  background: #ccc;
}

.entry-content ul ol {
  margin: 6px 0 8px;
}
.entry-content ol > li {
  margin: 0 0 0.3em;
  position: relative;
}
.entry-content ol ul,
.entry-content ol ol {
  margin: 6px 0 8px;
}

ul.column2, ul.column2_square {
  -moz-column-count: 2;
  column-count: 2;
}
ul.column3 {
  -moz-column-count: 3;
  column-count: 3;
}
ul.column-box {
  -moz-column-count: 4;
  column-count: 4;
}
ul.column2.yokonarabi, ul.column2_square.yokonarabi {
  display: flex;
  flex-wrap: wrap;
}
ul.column2.yokonarabi > li, ul.column2_square.yokonarabi > li {
  padding-right: 20px;
  width: 50%;
}
ul.column3.yokonarabi {
  display: flex;
  flex-wrap: wrap;
}
ul.column3.yokonarabi > li {
  padding-right: 20px;
  width: 33.33%;
}
ul.column-box {
  display: flex;
  flex-wrap: wrap;
  margin-top: 0 !important;
  align-items: center;
  width: 100%;
}
ul.column-box > li {
  background-color: #196f6c;
  border-top: 1px solid #333;
  border-bottom: 1px solid #333;
  border-left: 1.5px solid #fff;
  color: #fff;
  font-size: 15px;
  padding: 12px 5px 9px !important;
  padding-right: 20px;
  text-align: center;
  margin: 0 !important;
  width: 25%;
  line-height: 1.25;
  display: flex;
  align-items: center;
  max-height: 40.5px;
  height: 100%;
  justify-content: center;
}
@media screen and (max-width: 1023px) {
  ul.column-box > li {
    font-size: 14px;
  }
}
ul.column-box > li.column-50 {
  width: 50%;
}
ul.column-box > li:first-child {
  border-left: none;
}
ul.column-box > li:last-child {
  border-right: 1px solid #333;
}
ul.column-box > li::after {
  content: none !important;
}
ul.kome > li:after {
  top: 0 !important;
  content: "※" !important;
  color: inherit !important;
  font-size: 1em !important;
  left: 3px !important;
  width: auto;
  height: auto;
  background: transparent !important;
}
ul.kome > li.red {
  color: #c00 !important;
}
ul.kome > li.red::after {
  color: #c00 !important;
}

.entry-content .treatment-list > * {
  display: flex;
  flex-direction: row;
  gap: 0;
  line-height: 1.3;
}
.entry-content .treatment-list h5 {
  border: 1px solid #333;
  font-size: 16px;
  padding: 5px 5px !important;
  margin: 0 0 0 !important;
  width: 85px;
}
@media screen and (max-width: 1023px) {
  .entry-content .treatment-list h5 {
    font-size: 15px;
  }
}
.entry-content .treatment-list h5::before {
  content: none !important;
}

@media screen and (max-width: 567px) {
  ul.column2,
  ul.column2_square {
    -moz-column-count: inherit;
    column-count: inherit;
  }
}
@media screen and (max-width: 767px) {
  ul.column3 {
    -moz-column-count: 2;
    column-count: 2;
  }
}
@media screen and (max-width: 567px) {
  ul.column3 {
    -moz-column-count: inherit;
    column-count: inherit;
  }
}
@media screen and (max-width: 567px) {
  ul.column2.yokonarabi > li,
  ul.column2_square.yokonarabi > li {
    padding-right: 0;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  ul.column3.yokonarabi > li {
    width: 50%;
  }
}
@media screen and (max-width: 567px) {
  ul.column3.yokonarabi > li {
    padding-right: 0;
    width: 100%;
  }
}
.list-pdf > li {
  margin: 0 0 10px !important;
}

ol.column2 {
  -moz-column-count: 2;
  column-count: 2;
}
ol.column3 {
  -moz-column-count: 3;
  column-count: 3;
}
ol.column2 > li, ol.column3 > li {
  padding-right: 20px;
}
ol.kome {
  counter-reset: item;
  list-style-type: none;
  padding-left: 0 !important;
}
ol.kome > li {
  padding-left: 2.5em;
}
ol.kome > li::before {
  counter-increment: item;
  content: "※" counter(item);
}

@media screen and (max-width: 567px) {
  ol.column2, ol.column3 {
    -moz-column-count: 1;
    column-count: 1;
  }
}
@media screen and (max-width: 567px) {
  ol.column2 > li, ol.column3 > li {
    padding-right: 0;
  }
}
p.kome {
  position: relative;
  padding: 0 0 0 24px;
}
p.kome:after {
  content: "※" !important;
  font-size: 1em !important;
  position: absolute;
  left: 3px !important;
  top: 0 !important;
}
p.kome.red {
  color: #c00 !important;
}

ul.kome.red li,
p.kome.red:after,
ul.kome.red li:after {
  color: #c00 !important;
}

/* 数字リスト */
ol {
  list-style-type: none;
  counter-reset: cnt 0;
  padding: 0;
}
ol[start="1"], ol.start1 {
  counter-reset: cnt 0;
}
ol[start="2"], ol.start2 {
  counter-reset: cnt 1;
}
ol[start="3"], ol.start3 {
  counter-reset: cnt 2;
}
ol[start="4"], ol.start4 {
  counter-reset: cnt 3;
}
ol[start="5"], ol.start5 {
  counter-reset: cnt 4;
}
ol[start="6"], ol.start6 {
  counter-reset: cnt 5;
}
ol[start="7"], ol.start7 {
  counter-reset: cnt 6;
}
ol[start="8"], ol.start8 {
  counter-reset: cnt 7;
}
ol[start="9"], ol.start9 {
  counter-reset: cnt 8;
}
ol[start="10"], ol.start10 {
  counter-reset: cnt 9;
}
ol[start="11"], ol.start11 {
  counter-reset: cnt 10;
}
ol[start="12"], ol.start12 {
  counter-reset: cnt 11;
}
ol[start="13"], ol.start13 {
  counter-reset: cnt 12;
}
ol[start="14"], ol.start14 {
  counter-reset: cnt 13;
}
ol[start="15"], ol.start15 {
  counter-reset: cnt 14;
}
ol[start="16"], ol.start16 {
  counter-reset: cnt 15;
}
ol[start="17"], ol.start17 {
  counter-reset: cnt 16;
}
ol[start="18"], ol.start18 {
  counter-reset: cnt 17;
}
ol[start="19"], ol.start19 {
  counter-reset: cnt 18;
}
ol[start="20"], ol.start20 {
  counter-reset: cnt 19;
}
ol[start="21"], ol.start21 {
  counter-reset: cnt 20;
}
ol[start="22"], ol.start22 {
  counter-reset: cnt 21;
}
ol[start="23"], ol.start23 {
  counter-reset: cnt 22;
}
ol[start="24"], ol.start24 {
  counter-reset: cnt 23;
}
ol[start="25"], ol.start25 {
  counter-reset: cnt 24;
}
ol[start="26"], ol.start26 {
  counter-reset: cnt 25;
}
ol[start="27"], ol.start27 {
  counter-reset: cnt 26;
}
ol[start="28"], ol.start28 {
  counter-reset: cnt 27;
}
ol[start="29"], ol.start29 {
  counter-reset: cnt 28;
}
ol[start="30"], ol.start30 {
  counter-reset: cnt 29;
}
ol > li {
  counter-increment: cnt 1;
  padding: 0 0 0 24px;
  padding: 0 0 0 28px;
  position: relative;
  text-indent: 0;
}
ol > li:before {
  content: counter(cnt) ".";
  position: absolute;
  left: 3px;
  text-align: right;
  width: 22px;
}
ol ol {
  counter-reset: cnt2 0;
}
ol ol[start="1"], ol ol.start1 {
  counter-reset: cnt2 0;
}
ol ol[start="2"], ol ol.start2 {
  counter-reset: cnt2 1;
}
ol ol[start="3"], ol ol.start3 {
  counter-reset: cnt2 2;
}
ol ol[start="4"], ol ol.start4 {
  counter-reset: cnt2 3;
}
ol ol[start="5"], ol ol.start5 {
  counter-reset: cnt2 4;
}
ol ol[start="6"], ol ol.start6 {
  counter-reset: cnt2 5;
}
ol ol[start="7"], ol ol.start7 {
  counter-reset: cnt2 6;
}
ol ol[start="8"], ol ol.start8 {
  counter-reset: cnt2 7;
}
ol ol[start="9"], ol ol.start9 {
  counter-reset: cnt2 8;
}
ol ol[start="10"], ol ol.start10 {
  counter-reset: cnt2 9;
}
ol ol[start="11"], ol ol.start11 {
  counter-reset: cnt2 10;
}
ol ol[start="12"], ol ol.start12 {
  counter-reset: cnt2 11;
}
ol ol[start="13"], ol ol.start13 {
  counter-reset: cnt2 12;
}
ol ol[start="14"], ol ol.start14 {
  counter-reset: cnt2 13;
}
ol ol[start="15"], ol ol.start15 {
  counter-reset: cnt2 14;
}
ol ol[start="16"], ol ol.start16 {
  counter-reset: cnt2 15;
}
ol ol[start="17"], ol ol.start17 {
  counter-reset: cnt2 16;
}
ol ol[start="18"], ol ol.start18 {
  counter-reset: cnt2 17;
}
ol ol[start="19"], ol ol.start19 {
  counter-reset: cnt2 18;
}
ol ol[start="20"], ol ol.start20 {
  counter-reset: cnt2 19;
}
ol ol[start="21"], ol ol.start21 {
  counter-reset: cnt2 20;
}
ol ol[start="22"], ol ol.start22 {
  counter-reset: cnt2 21;
}
ol ol[start="23"], ol ol.start23 {
  counter-reset: cnt2 22;
}
ol ol[start="24"], ol ol.start24 {
  counter-reset: cnt2 23;
}
ol ol[start="25"], ol ol.start25 {
  counter-reset: cnt2 24;
}
ol ol[start="26"], ol ol.start26 {
  counter-reset: cnt2 25;
}
ol ol[start="27"], ol ol.start27 {
  counter-reset: cnt2 26;
}
ol ol[start="28"], ol ol.start28 {
  counter-reset: cnt2 27;
}
ol ol[start="29"], ol ol.start29 {
  counter-reset: cnt2 28;
}
ol ol[start="30"], ol ol.start30 {
  counter-reset: cnt2 29;
}
ol ol > li {
  counter-increment: cnt2 1;
}
ol ol > li:before {
  content: counter(cnt2) ".";
}

/* 括弧付き数字リスト */
.bracket {
  counter-reset: bracket-counter 0;
}
.bracket[start="1"], .bracket.start1 {
  counter-reset: bracket-counter 0;
}
.bracket[start="2"], .bracket.start2 {
  counter-reset: bracket-counter 1;
}
.bracket[start="3"], .bracket.start3 {
  counter-reset: bracket-counter 2;
}
.bracket[start="4"], .bracket.start4 {
  counter-reset: bracket-counter 3;
}
.bracket[start="5"], .bracket.start5 {
  counter-reset: bracket-counter 4;
}
.bracket[start="6"], .bracket.start6 {
  counter-reset: bracket-counter 5;
}
.bracket[start="7"], .bracket.start7 {
  counter-reset: bracket-counter 6;
}
.bracket[start="8"], .bracket.start8 {
  counter-reset: bracket-counter 7;
}
.bracket[start="9"], .bracket.start9 {
  counter-reset: bracket-counter 8;
}
.bracket[start="10"], .bracket.start10 {
  counter-reset: bracket-counter 9;
}
.bracket[start="11"], .bracket.start11 {
  counter-reset: bracket-counter 10;
}
.bracket[start="12"], .bracket.start12 {
  counter-reset: bracket-counter 11;
}
.bracket[start="13"], .bracket.start13 {
  counter-reset: bracket-counter 12;
}
.bracket[start="14"], .bracket.start14 {
  counter-reset: bracket-counter 13;
}
.bracket[start="15"], .bracket.start15 {
  counter-reset: bracket-counter 14;
}
.bracket[start="16"], .bracket.start16 {
  counter-reset: bracket-counter 15;
}
.bracket[start="17"], .bracket.start17 {
  counter-reset: bracket-counter 16;
}
.bracket[start="18"], .bracket.start18 {
  counter-reset: bracket-counter 17;
}
.bracket[start="19"], .bracket.start19 {
  counter-reset: bracket-counter 18;
}
.bracket[start="20"], .bracket.start20 {
  counter-reset: bracket-counter 19;
}
.bracket[start="21"], .bracket.start21 {
  counter-reset: bracket-counter 20;
}
.bracket[start="22"], .bracket.start22 {
  counter-reset: bracket-counter 21;
}
.bracket[start="23"], .bracket.start23 {
  counter-reset: bracket-counter 22;
}
.bracket[start="24"], .bracket.start24 {
  counter-reset: bracket-counter 23;
}
.bracket[start="25"], .bracket.start25 {
  counter-reset: bracket-counter 24;
}
.bracket[start="26"], .bracket.start26 {
  counter-reset: bracket-counter 25;
}
.bracket[start="27"], .bracket.start27 {
  counter-reset: bracket-counter 26;
}
.bracket[start="28"], .bracket.start28 {
  counter-reset: bracket-counter 27;
}
.bracket[start="29"], .bracket.start29 {
  counter-reset: bracket-counter 28;
}
.bracket[start="30"], .bracket.start30 {
  counter-reset: bracket-counter 29;
}
.bracket > li {
  counter-increment: bracket-counter 1;
}
.bracket > li::before {
  background: none;
  color: #333;
  content: "(" counter(bracket-counter) ")";
  font-size: 1em;
  font-weight: 500;
  top: inherit;
  left: 0;
  letter-spacing: 1px;
  line-height: inherit;
  padding: 0;
}

/* 半括弧付き数字リスト */
.closing-bracket {
  counter-reset: closing-bracket-counter 0;
}
.closing-bracket[start="1"], .closing-bracket.start1 {
  counter-reset: closing-bracket-counter 0;
}
.closing-bracket[start="2"], .closing-bracket.start2 {
  counter-reset: closing-bracket-counter 1;
}
.closing-bracket[start="3"], .closing-bracket.start3 {
  counter-reset: closing-bracket-counter 2;
}
.closing-bracket[start="4"], .closing-bracket.start4 {
  counter-reset: closing-bracket-counter 3;
}
.closing-bracket[start="5"], .closing-bracket.start5 {
  counter-reset: closing-bracket-counter 4;
}
.closing-bracket[start="6"], .closing-bracket.start6 {
  counter-reset: closing-bracket-counter 5;
}
.closing-bracket[start="7"], .closing-bracket.start7 {
  counter-reset: closing-bracket-counter 6;
}
.closing-bracket[start="8"], .closing-bracket.start8 {
  counter-reset: closing-bracket-counter 7;
}
.closing-bracket[start="9"], .closing-bracket.start9 {
  counter-reset: closing-bracket-counter 8;
}
.closing-bracket[start="10"], .closing-bracket.start10 {
  counter-reset: closing-bracket-counter 9;
}
.closing-bracket[start="11"], .closing-bracket.start11 {
  counter-reset: closing-bracket-counter 10;
}
.closing-bracket[start="12"], .closing-bracket.start12 {
  counter-reset: closing-bracket-counter 11;
}
.closing-bracket[start="13"], .closing-bracket.start13 {
  counter-reset: closing-bracket-counter 12;
}
.closing-bracket[start="14"], .closing-bracket.start14 {
  counter-reset: closing-bracket-counter 13;
}
.closing-bracket[start="15"], .closing-bracket.start15 {
  counter-reset: closing-bracket-counter 14;
}
.closing-bracket[start="16"], .closing-bracket.start16 {
  counter-reset: closing-bracket-counter 15;
}
.closing-bracket[start="17"], .closing-bracket.start17 {
  counter-reset: closing-bracket-counter 16;
}
.closing-bracket[start="18"], .closing-bracket.start18 {
  counter-reset: closing-bracket-counter 17;
}
.closing-bracket[start="19"], .closing-bracket.start19 {
  counter-reset: closing-bracket-counter 18;
}
.closing-bracket[start="20"], .closing-bracket.start20 {
  counter-reset: closing-bracket-counter 19;
}
.closing-bracket[start="21"], .closing-bracket.start21 {
  counter-reset: closing-bracket-counter 20;
}
.closing-bracket[start="22"], .closing-bracket.start22 {
  counter-reset: closing-bracket-counter 21;
}
.closing-bracket[start="23"], .closing-bracket.start23 {
  counter-reset: closing-bracket-counter 22;
}
.closing-bracket[start="24"], .closing-bracket.start24 {
  counter-reset: closing-bracket-counter 23;
}
.closing-bracket[start="25"], .closing-bracket.start25 {
  counter-reset: closing-bracket-counter 24;
}
.closing-bracket[start="26"], .closing-bracket.start26 {
  counter-reset: closing-bracket-counter 25;
}
.closing-bracket[start="27"], .closing-bracket.start27 {
  counter-reset: closing-bracket-counter 26;
}
.closing-bracket[start="28"], .closing-bracket.start28 {
  counter-reset: closing-bracket-counter 27;
}
.closing-bracket[start="29"], .closing-bracket.start29 {
  counter-reset: closing-bracket-counter 28;
}
.closing-bracket[start="30"], .closing-bracket.start30 {
  counter-reset: closing-bracket-counter 29;
}
.closing-bracket > li {
  counter-increment: closing-bracket-counter 1;
}
.closing-bracket > li::before {
  background: none;
  color: #333;
  content: counter(closing-bracket-counter) ")";
  font-size: 1em;
  font-weight: 500;
  top: inherit;
  left: 0;
  letter-spacing: 1px;
  line-height: inherit;
  padding: 0;
}

/* 丸囲み数字リスト */
.marusuuji {
  counter-reset: li 0;
}
.marusuuji[start="1"], .marusuuji.start1 {
  counter-reset: li 0;
}
.marusuuji[start="2"], .marusuuji.start2 {
  counter-reset: li 1;
}
.marusuuji[start="3"], .marusuuji.start3 {
  counter-reset: li 2;
}
.marusuuji[start="4"], .marusuuji.start4 {
  counter-reset: li 3;
}
.marusuuji[start="5"], .marusuuji.start5 {
  counter-reset: li 4;
}
.marusuuji[start="6"], .marusuuji.start6 {
  counter-reset: li 5;
}
.marusuuji[start="7"], .marusuuji.start7 {
  counter-reset: li 6;
}
.marusuuji[start="8"], .marusuuji.start8 {
  counter-reset: li 7;
}
.marusuuji[start="9"], .marusuuji.start9 {
  counter-reset: li 8;
}
.marusuuji[start="10"], .marusuuji.start10 {
  counter-reset: li 9;
}
.marusuuji[start="11"], .marusuuji.start11 {
  counter-reset: li 10;
}
.marusuuji[start="12"], .marusuuji.start12 {
  counter-reset: li 11;
}
.marusuuji[start="13"], .marusuuji.start13 {
  counter-reset: li 12;
}
.marusuuji[start="14"], .marusuuji.start14 {
  counter-reset: li 13;
}
.marusuuji[start="15"], .marusuuji.start15 {
  counter-reset: li 14;
}
.marusuuji[start="16"], .marusuuji.start16 {
  counter-reset: li 15;
}
.marusuuji[start="17"], .marusuuji.start17 {
  counter-reset: li 16;
}
.marusuuji[start="18"], .marusuuji.start18 {
  counter-reset: li 17;
}
.marusuuji[start="19"], .marusuuji.start19 {
  counter-reset: li 18;
}
.marusuuji[start="20"], .marusuuji.start20 {
  counter-reset: li 19;
}
.marusuuji[start="21"], .marusuuji.start21 {
  counter-reset: li 20;
}
.marusuuji[start="22"], .marusuuji.start22 {
  counter-reset: li 21;
}
.marusuuji[start="23"], .marusuuji.start23 {
  counter-reset: li 22;
}
.marusuuji[start="24"], .marusuuji.start24 {
  counter-reset: li 23;
}
.marusuuji[start="25"], .marusuuji.start25 {
  counter-reset: li 24;
}
.marusuuji[start="26"], .marusuuji.start26 {
  counter-reset: li 25;
}
.marusuuji[start="27"], .marusuuji.start27 {
  counter-reset: li 26;
}
.marusuuji[start="28"], .marusuuji.start28 {
  counter-reset: li 27;
}
.marusuuji[start="29"], .marusuuji.start29 {
  counter-reset: li 28;
}
.marusuuji[start="30"], .marusuuji.start30 {
  counter-reset: li 29;
}
.marusuuji > li::marker {
  content: none;
}
.marusuuji > li::before {
  position: absolute;
  counter-increment: li 1;
  content: counter(li) "";
  left: 0;
  top: 0.75px;
  color: #fff;
  width: 1.5em;
  height: 1.5em;
  font-size: 0.9em;
  text-align: center;
  border-radius: 100%;
  box-sizing: border-box;
  font-weight: bold;
  line-height: 1.1;
  background: #b6c91b;
  padding: 0.27em 0;
  position: absolute;
}

/* まる（単体） */
p.circle {
  padding: 0 0 0 1.4em;
  position: relative;
}
p.circle:after {
  background: #f89e38;
  border-radius: 0.75em;
  display: block;
  position: absolute;
  top: 0.5em;
  left: 0.25em;
  content: "";
  width: 0.75em;
  height: 0.75em;
}

/* 説明 */
.explanation {
  background: #fff;
  border: 1.5px solid #b7b7b7;
  margin: 1.5em 0;
  padding: 25px 24px 21px 24px;
  position: relative;
}
.explanation.red {
  border-color: #c00;
}

@media screen and (max-width: 767px) {
  .explanation + .wp-block-spacer {
    height: 30px !important;
  }
}
/* 流れ */
.flow .flow-box {
  padding: 0;
  position: relative;
  margin: 1.5em 0;
}
.flow .flow-box::after {
  background: #b6c91b;
  content: "";
  display: block;
  position: absolute;
  top: 50px;
  left: 70px;
  transform: translateX(-50%);
  width: 15px;
  height: 100%;
  z-index: 0;
}
.flow .flow-box:last-child::after {
  content: unset;
}
.flow .flow-box > .wp-block-group__inner-container {
  background-color: #fff;
  border: 1px solid #b6c91b;
  border-radius: 5px;
  display: flex;
  gap: 0 30px;
  padding: 10px;
  position: relative;
  z-index: 1;
  min-height: 140px;
}
.flow .flow-icon {
  background: rgba(235, 240, 188, 0.5);
  width: 120px;
  margin: 0 !important;
  padding: 0;
  overflow: hidden;
  border-radius: 7px;
}
.flow .flow-icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.flow .flow-step {
  padding: 20px 0;
  margin-top: 0 !important;
  width: 200px;
}
.flow .flow-step h3 {
  font-family: "soleil", sans-serif;
  font-size: 1.8rem;
  border-bottom: none;
  margin: 0 !important;
  padding: 0 !important;
  margin-bottom: 5px !important;
}
.flow .flow-step h3::before {
  content: unset;
}
.flow .flow-step p {
  font-size: 2.1rem;
  font-weight: 500;
  line-height: 1.6;
}
.flow .flow-text {
  font-size: 1.5rem;
  width: calc(100% - 120px - 200px - 60px);
  padding: 15px 15px 15px 0;
  margin-top: 0 !important;
}

@media screen and (max-width: 1023px) {
  .flow .flow-box::after {
    left: 62.5px;
  }
  .flow .flow-box > .wp-block-group__inner-container {
    min-height: 120px;
  }
  .flow .flow-icon {
    width: 105px;
  }
  .flow .flow-step {
    padding: 10px 0;
    width: 160px;
  }
  .flow .flow-step p {
    font-size: 1.7rem;
  }
  .flow .flow-text {
    font-size: 1.4rem;
    width: calc(100% - 105px - 160px - 60px);
    padding: 10px 10px 10px 0;
  }
}
@media screen and (max-width: 767px) {
  .flow .flow-box > .wp-block-group__inner-container {
    gap: 0 15px;
  }
  .flow .flow-text {
    width: calc(100% - 105px - 160px - 30px);
  }
}
@media screen and (max-width: 600px) {
  .flow .flow-box::after {
    left: 50%;
  }
  .flow .flow-box > .wp-block-group__inner-container {
    flex-wrap: wrap;
    padding: 15px;
  }
  .flow .flow-step {
    width: calc(100% - 105px - 15px);
  }
  .flow .flow-text {
    width: 100%;
    line-height: 1.8;
    padding: 0;
    margin-top: 15px !important;
  }
}
/* ポイント */
.point {
  background: #ebf0bc;
  padding: 29px;
}

.point-white {
  background: #fff;
  border-radius: 20px;
  padding: 29px;
}
.point-white:has(ul.column2_square) {
  padding: 45px;
}

* + .point,
* + .point-white {
  margin-top: 40px;
}

/* フレーム共通 */
@media screen and (max-width: 1023px) {
  .explanation,
  .point,
  .point-white {
    padding: 20px 20px 17px;
  }
  .point-white:has(ul.column2_square) {
    padding: 25px;
  }
}
.explanation > div > *:first-child,
.point > div > *:first-child,
.point-white > div > *:first-child {
  margin-top: 0 !important;
}

.explanation > div > *:last-child,
.point > div > *:last-child,
.point-white > div > *:last-child {
  margin-bottom: 0 !important;
}

/* 赤色 */
h2.red,
h3.red,
h4.red,
h5.red,
h6.red,
p.red,
span.red,
strong.red {
  color: #c00 !important;
}

thead th span.red,
thead th strong.red {
  color: #fff !important;
  background: #c00 !important;
  margin: 0 6px;
  padding: 0 3px;
}

/* 枠線 */
.border img {
  border: 1px solid #ddd;
}

/* 名前 */
.name {
  line-height: 1.5 !important;
}
.name strong {
  font-size: 1.5em;
}

/* タイトル付きボックス（見出し付きの枠） */
.box_with-title {
  background: #fff;
  border: 1px solid #b6c91b;
  border-radius: 5px;
}

.entry-content .box_with-title h3 {
  color: #b6c91b;
  font-size: 1.8rem;
  text-align: left;
  margin: 0 !important;
  border-bottom: 1px solid #b6c91b;
  padding: 15px 20px;
}
@media screen and (max-width: 1023px) {
  .entry-content .box_with-title h3 {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 767px) {
  .entry-content .box_with-title h3 {
    font-size: 1.6rem;
    line-height: 1.5;
    padding: 10px 20px;
  }
}
.entry-content .box_with-title h3::before {
  content: none;
}

.box_with-title .box_inner {
  padding: 40px;
}
@media screen and (max-width: 767px) {
  .box_with-title .box_inner {
    padding: 20px;
  }
}

.box_with-title .box_inner > * > *:first-child {
  margin-top: 0;
}

/*--------------------------------------------------------------
Links
--------------------------------------------------------------*/
body a {
  color: #333;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}
body a:focus {
  outline: none;
}
body a:hover, body a:active {
  outline: 0;
}
body a[href^="tel:"] {
  cursor: default;
}

.entry-content a {
  text-decoration: underline;
}
.entry-content a::before, .entry-content a::after {
  padding: 0 2px;
  display: inline-block;
  vertical-align: baseline;
  color: #b6c91b;
  text-decoration: none !important;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

.entry-content a[target=_blank]:not(a[href$=".pdf"]):not(a[href$=".xls"]):not(a[href$=".xlsx"]):not(a[href$=".doc"]):not(a[href$=".docx"]):not(a[href^="mailto:"]):not(a[href^="tel:"]):not(a:has(.facility-image)):not(a.wp-block-button__link)::after {
  background: none;
  content: "\f2d2";
  font-weight: normal;
  width: auto;
  height: auto;
}
.entry-content a[href$=".pdf"]::after, .entry-content a[href*=".pdf#page="]::after {
  background: none;
  content: "\f1c1";
  font-weight: normal;
  width: auto;
  height: auto;
}
.entry-content a[href$=".doc"]::after, .entry-content a[href$=".docx"]::after {
  background: none;
  content: "\f1c2";
  font-weight: normal;
  width: auto;
  height: auto;
}
.entry-content a[href$=".xls"]::after, .entry-content a[href$=".xlsx"]::after {
  background: none;
  content: "\f1c3";
  font-weight: normal;
  width: auto;
  height: auto;
}
.entry-content a[href^="mailto:"]::before {
  background: none;
  content: "\f0e0";
  font-weight: normal;
  width: auto;
  height: auto;
}
.entry-content a[href^="tel:"]::before {
  background: none;
  content: "";
  font-weight: normal;
  width: auto;
  height: auto;
}

/*--------------------------------------------------------------
開閉ボックス
--------------------------------------------------------------*/
.open-cont {
  display: none;
}

/*--------------------------------------------------------------
Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
textarea {
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
}

table,
.comment {
  font-size: 15px;
  font-size: 1.5rem;
}

@media screen and (max-width: 1023px) {
  body,
  button,
  input,
  select,
  textarea {
    font-size: 15px;
    font-size: 1.5rem;
  }
  table,
  .comment {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
.pure-g [class*=pure-u] {
  font-family: "Noto Sans JP", sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
.div-title,
.div-title-shitsu {
  clear: both;
  font-weight: 500;
  margin: 0;
}

h1 {
  font-size: 3rem;
}

@media screen and (max-width: 1023px) {
  h1 {
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 767px) {
  h1 {
    font-size: 2.4rem;
  }
}
h2,
.div-title,
.div-title-shitsu,
#up_hist {
  font-size: 2.4rem;
}

@media screen and (max-width: 1023px) {
  h2,
  .div-title,
  .div-title-shitsu,
  #up_hist {
    font-size: 2rem;
  }
}
h3,
[id^=cd_top3_nm_],
[id^=ope_top3_nm_],
[id^=cd_top5_nm_],
[id^=ope_top5_nm_] {
  font-size: 2.2rem;
}

@media screen and (max-width: 1023px) {
  h3,
  [id^=cd_top3_nm_],
  [id^=ope_top3_nm_],
  [id^=cd_top5_nm_],
  [id^=ope_top5_nm_] {
    font-size: 1.8rem;
  }
}
.entry-content .flow-number {
  gap: 10px;
  margin-top: 1.5em;
}
.entry-content .flow-number:has(h3) {
  margin-top: 45px;
}
.entry-content .flow-number:has(h4) {
  margin-top: 27px;
}
.entry-content .flow-number > * {
  margin: 0 !important;
}
.entry-content .flow-number > *.flow-number-text {
  background: #b6c91b;
  border-radius: 50px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}

.entry-content .flow-number > *.flow-number-text:has(+ h3) {
  font-size: 2.2rem;
  min-width: 50px;
  height: 50px;
  padding: 2px 0 0;
}
@media screen and (max-width: 1023px) {
  .entry-content .flow-number > *.flow-number-text:has(+ h3) {
    font-size: 1.8rem;
    min-width: 40px;
    height: 40px;
  }
}
.entry-content .flow-number > *.flow-number-text:has(+ h4) {
  font-size: 2rem;
  min-width: 45px;
  height: 45px;
}
.entry-content .flow-number > *.flow-number-text:has(+ p) {
  min-width: 35px;
  height: 35px;
}
.entry-content .flow-number > h4 {
  padding: 0;
}
.entry-content .flow-number > h4::before {
  display: none;
}

h4 {
  font-size: 2rem;
}

@media screen and (max-width: 1023px) {
  h4 {
    font-size: 1.8rem;
  }
}
h5 {
  font-size: 1.8rem;
}

@media screen and (max-width: 1023px) {
  h5 {
    font-size: 1.7rem;
  }
}
h6 {
  font-size: 1.7rem;
}

@media screen and (max-width: 1023px) {
  h6 {
    font-size: 1.6rem;
  }
}
p {
  margin: 0;
  padding: 0;
}

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

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

.lightbox-trigger {
  top: inherit !important;
  bottom: 16px;
  gap: 5px;
  opacity: 1 !important;
  width: 110px !important;
}
.lightbox-trigger::after {
  color: #fff;
  content: "クリックで拡大";
  display: inline-block;
  font-size: 1.2rem;
  font-weight: bold;
}

/*--------------------------------------------------------------
childs
--------------------------------------------------------------*/
.entry-content * + .childs {
  margin-top: 100px;
}

.childs .pure-g {
  margin: 0 -15px;
  gap: 30px 0;
}
@media screen and (max-width: 1023px) {
  .childs .pure-g {
    gap: 20px 0;
    margin: 0 -10px;
  }
}

.childs .pure-g > * {
  display: flex;
  align-items: stretch;
  padding: 0 15px;
}

@media screen and (max-width: 1023px) {
  .childs .pure-g > * {
    padding: 0 10px;
  }
}
.childs .pure-g > * a {
  background-color: #fff;
  border-radius: 10px;
  display: block;
  text-decoration: none;
  padding: 0;
  position: relative;
  width: 100%;
  overflow: hidden;
}
.childs .pure-g > * a:has(.child-explanation)::after {
  content: "";
  background: url("images/icon_arrow_gradation.svg") no-repeat center center/contain;
  width: 30px;
  height: 30px;
  bottom: 25px;
  right: 25px;
  position: absolute;
}
.childs .pure-g > * a .child-thumbnail {
  line-height: 0;
  overflow: hidden;
}
.childs .pure-g > * a .child-thumbnail img {
  width: 100%;
  height: 280px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
  transition: transform 0.4s ease;
}
.childs .pure-g > * a .child-detail {
  padding: 25px 30px;
  position: relative;
}
.childs .pure-g > * a .child-detail::after {
  content: "";
  background: url("images/icon_arrow_gradation.svg") no-repeat center center/contain;
  width: 30px;
  height: 30px;
  top: 50%;
  transform: translateY(-50%);
  right: 25px;
  position: absolute;
}
.childs .pure-g > * a .child-detail:has(.child-explanation) {
  padding: 25px 30px 60px;
}
.childs .pure-g > * a .child-detail:has(.child-explanation)::after {
  content: none;
}
.childs .pure-g > * a .child-detail .child-title {
  font-size: 1.8rem;
  font-weight: 600;
  padding-left: 20px;
  display: block;
  padding-right: 36px;
  position: relative;
}
.childs .pure-g > * a .child-detail .child-title::before {
  background: #b6c91b;
  border-radius: 0.75em;
  display: block;
  position: absolute;
  top: 0.6em;
  left: 0;
  content: "";
  width: 0.5em;
  height: 0.5em;
}
.childs .pure-g > * a .child-detail .child-explanation {
  font-size: 1.5rem;
  line-height: 1.8;
  padding: 15px 0 0 0;
}
.childs .pure-g > * a .child-detail .child-explanation span {
  display: block;
  color: #B6C81A;
  font-size: 1.15em;
  font-weight: 600;
  line-height: 1.6;
  margin-bottom: 3px;
}

.childs .pure-g > * a:hover {
  opacity: 0.7;
  transition: 0.2s;
  color: #333;
}

@media screen and (max-width: 1023px) {
  .childs .pure-g > * a .child-thumbnail img {
    height: 240px;
  }
  .childs .pure-g > * a .child-detail {
    padding: 20px;
  }
  .childs .pure-g > * a .child-detail:has(.child-explanation) {
    padding: 20px 20px 60px;
  }
  .childs .pure-g > * a .child-detail .child-title {
    font-size: 1.7rem;
  }
  .childs .pure-g > * a .child-detail .child-explanation {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .childs .pure-g > * a .child-thumbnail img {
    height: 200px;
  }
  .childs .pure-g > * a .child-detail .child-title {
    padding-right: 0;
  }
}
@media screen and (max-width: 567px) {
  .childs .pure-g > * a {
    display: flex;
    min-height: 130px;
    overflow: hidden;
    padding: 0;
    flex-direction: column;
  }
  .childs .pure-g > * a .child-detail {
    width: 100%;
  }
  .childs .pure-g > * a .child-detail .child-title {
    padding-top: 0;
  }
  .childs .pure-g > * a .child-detail .child-title::after {
    content: "" !important;
    top: 1.5px;
    right: 0;
  }
  .childs .pure-g > * a .child-detail .child-explanation {
    padding: 15px 0 0 0;
  }
}
/*--------------------------------------------------------------
Layout
--------------------------------------------------------------*/
* {
  box-sizing: inherit;
}
*:before, *:after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
  font-size: 100%;
  font-size: 62.5%;
}

.site {
  background-color: #f5f7ed;
  padding: 0;
}

@media screen and (max-width: 1023px) {
  .site.active {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 100vh;
  }
}
/*--------------------------------------------------------------
Side area
--------------------------------------------------------------*/
.side-area {
  padding: 0 0 0 80px;
}
.side-area h2 {
  font-size: 1.8rem;
  font-weight: bold;
}
.side-area .side-area > * + .sidebar-archive h2 {
  margin: 50px 0 0;
}
.side-area ul {
  margin: 20px 0 0;
  padding: 0;
}
.side-area ul.children {
  font-size: 0.9em;
  margin: 12px 0;
}
.side-area ul.children li {
  padding-left: 20px;
  position: relative;
}
.side-area ul.children li::before {
  background: #333;
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0.8em;
  width: 1em;
  height: 1px;
}
.side-area ul li {
  list-style-type: none;
}
.side-area ul li:nth-child(n+2) {
  margin: 10px 0 0;
}

@media screen and (max-width: 1023px) {
  .side-area h2 {
    font-size: 1.6rem;
  }
  .side-area .side-area ul {
    margin: 10px 0 0;
  }
}
@media screen and (max-width: 767px) {
  .side-area {
    padding: 0 0 80px;
    display: flex;
    gap: 0 80px;
  }
  .side-area .sidebar-archive h2 {
    margin: 0 0 0;
  }
}
@media screen and (max-width: 567px) {
  .side-area {
    gap: 0 40px;
  }
}
.news-content .side-area a:hover {
  text-decoration: underline;
  transition: 0.2s linear;
}

/*--------------------------------------------------------------
header
--------------------------------------------------------------*/
.home .site-header {
  background: rgba(255, 255, 255, 0.8);
  padding: 0 7px 0 20px;
  position: fixed;
  right: 0;
  left: 0;
  top: 10px;
  border-radius: 5px;
  margin: auto;
  z-index: 9999;
  width: calc(100% - 20px);
  transition: 0.2s;
}
@media screen and (max-width: 1110px) {
  .home .site-header {
    background: #fff;
    padding: 0 20px;
    top: 0;
    border-radius: 0;
    width: 100%;
  }
}

/* トップページ以外のヘッダーデザイン */
/* スクロールして「header-fixクラス」がついたときのヘッダーデザイン */
.site-header,
.site-header.header-fix {
  background: #fff;
  border-radius: 0;
  padding: 0 17px 0 30px;
  position: fixed;
  right: 0;
  left: 0;
  top: 0;
  margin: auto;
  z-index: 9999;
  width: 100%;
  transition: 0.2s;
}
@media screen and (max-width: 1110px) {
  .site-header,
  .site-header.header-fix {
    padding: 0 20px;
  }
}

.site-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
}

.site-title {
  margin: 0;
  transition: 0.2s;
  padding: 25px 0 25px 20px;
}
@media screen and (max-width: 1300px) {
  .site-title {
    padding: 25px 0;
  }
}
@media screen and (max-width: 1023px) {
  .site-title {
    padding: 20px 0;
  }
}

.site-logo {
  display: block;
  height: 30px;
  transition: 0.2s ease;
}

.header-nav {
  display: flex !important;
  align-items: center;
  justify-content: center;
  line-height: 1;
  color: #404040;
  font-size: 1.4rem;
  font-weight: 400;
}
@media screen and (max-width: 1200px) {
  .header-nav {
    font-size: 1.2rem;
  }
}

.header-main-menu {
  display: flex;
  gap: 0 25px;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 1250px) {
  .header-main-menu {
    gap: 0 15px;
  }
}
.header-main-menu .menu-button:hover {
  -webkit-text-decoration: underline 1.5px #b6c91b;
          text-decoration: underline 1.5px #b6c91b;
  text-underline-offset: 7px;
}
.header-main-menu .menu-button:hover a {
  padding: 30px 0px;
}

.header-menu-buttons {
  display: flex;
  margin-left: 25px;
}
@media screen and (max-width: 1200px) {
  .header-menu-buttons {
    margin-left: 20px;
  }
}
.header-menu-buttons a {
  color: #fff;
  font-size: 1.1rem;
  display: inline-block;
  position: relative;
  height: 70px;
}
.header-menu-buttons a::before {
  content: "";
  position: absolute;
  width: 23px;
  height: 23px;
  top: 13px;
  left: 59px;
}
.header-menu-buttons a img {
  display: block;
  height: 100%;
}
.header-menu-buttons a.recruit {
  z-index: 3;
}
.header-menu-buttons a.recruit::before {
  background: url("images/icon_recruit.svg") no-repeat center center/contain;
}
.header-menu-buttons a.contact {
  z-index: 2;
  margin: 0 -22px;
}
.header-menu-buttons a.contact::before {
  background: url("images/icon_contact.svg") no-repeat center center/contain;
}
.header-menu-buttons a.request {
  z-index: 1;
}
.header-menu-buttons a.request::before {
  background: url("images/icon_request.svg") no-repeat center center/contain;
}

.header-menu-buttons a span {
  position: relative;
  left: 30px;
  bottom: 25px;
  width: 80px;
}
.header-menu-buttons a.recruit span {
  left: 35px;
}
.header-menu-buttons a.contact span {
  left: 38px;
}
.header-menu-buttons a.request span {
  left: 50px;
}

.header-menu-buttons a[target=_blank] span::after {
  content: "";
  background-image: url("images/icon_browser.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 1.4rem;
  height: 1.4rem;
  bottom: 0.1em;
  right: -16px;
  position: absolute;
}

.header-menu-buttons a:hover {
  opacity: 0.7;
}

/* header固定 */
.header-button .header-button-text {
  display: none;
}
@media screen and (max-width: 1110px) {
  .header-button .header-button-text {
    display: flex;
    font-family: "soleil", sans-serif;
    font-size: 1.2rem;
    background: unset;
    justify-content: center;
  }
}

#header-nav-list {
  max-width: 1040px;
  width: 100%;
}

@media screen and (max-width: 1110px) {
  #header-nav-list {
    max-width: none;
  }
}
/* ドロップダウンメニュー */
/* スマホメニュー */
@media screen and (max-width: 1110px) { /* ハンバーガー切り替え指定 */
  .header-nav {
    display: none !important;
    position: absolute;
    top: 80px;
    left: 0;
    padding: 0;
    width: 100%;
    height: 100vh;
    background: #ebf0bc;
    z-index: 1000;
  }
  .header-nav .header-main-menu {
    background: #b6c91b;
    flex-direction: column;
    gap: 0;
    width: 100%;
    padding: 50px 20px 20px;
  }
  .header-nav .header-main-menu .menu-button:hover a {
    padding: 15px 20px;
  }
  .header-nav .header-main-menu li {
    padding-bottom: 20px;
  }
  .header-nav .header-main-menu li:last-child {
    padding-bottom: 0;
  }
  .header-nav .header-main-menu li:hover {
    text-decoration: unset;
  }
  .header-nav .header-main-menu li.has-dropdown .dropdown__lists {
    display: none;
  }
  .header-nav .header-main-menu li a {
    background: #fff;
    border-radius: 5px;
    display: block;
    padding: 15px 20px;
    position: relative;
    text-align: left;
    font-size: 1.4rem;
  }
  .header-nav .header-main-menu li a::after {
    content: "";
    background: url("images/icon_arrow_gradation.svg") no-repeat center center/contain;
    display: block;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 20px;
  }
  .header-nav .header-main-menu li a:hover {
    opacity: 0.7;
  }
  .header-nav .header-menu-buttons {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 0 20px;
    margin: 20px;
    width: calc(100% - 40px);
  }
  .header-nav .header-menu-buttons a {
    background: none;
    font-size: 1.3rem;
    height: 80px;
  }
  .header-nav .header-menu-buttons a::before {
    top: 18px;
    left: 72px;
  }
  .header-nav .header-menu-buttons a span {
    bottom: 35px;
  }
  .header-nav .header-menu-buttons a.recruit span {
    left: 47px;
  }
  .header-nav .header-menu-buttons a.contact {
    margin: 0px -45px;
  }
  .header-nav .header-menu-buttons a.contact span {
    left: 47px;
  }
  .header-nav .header-menu-buttons a.request span {
    left: 58px;
  }
  .header-nav.panelactive {
    display: block !important;
    display: flex !important;
    flex-direction: column;
    justify-content: start;
    line-height: 2.2;
  }
  /* ハンバーガーの見た目 */
  .header-button {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 30px;
    height: 30px;
    justify-content: center;
    background: transparent;
    border: none;
    cursor: pointer;
    z-index: 1100;
    margin: 0 0 5px;
  }
  .header-button span {
    display: block;
    height: 3px;
    width: 100%;
    background: #333;
    transition: all 0.3s ease;
  }
  /* ハンバーガー開いたときのアニメーション */
  .header-button.active span:nth-child(1) {
    transform: rotate(45deg) translate(6.5px, 7px);
  }
  .header-button.active span:nth-child(2) {
    opacity: 0;
  }
  .header-button.active span:nth-child(3) {
    transform: rotate(-45deg) translate(6px, -6px);
  }
}
@media screen and (max-width: 1023px) {
  .header-nav {
    top: 70px;
  }
}
@media screen and (max-width: 767px) {
  .header-nav .header-main-menu li a {
    padding: 10px 20px !important;
  }
  .header-nav .header-main-menu li:hover a {
    padding: 10px 20px;
  }
}
@media screen and (max-width: 567px) {
  .header-nav .header-main-menu {
    padding: 20px 20px 20px;
  }
  .header-nav .header-main-menu li {
    padding-bottom: 15px;
  }
}
@media screen and (max-width: 430px) {
  .header-nav .header-menu-buttons {
    gap: 0 10px;
    margin: 20px;
    width: calc(100% - 40px);
  }
  .header-nav .header-menu-buttons a {
    border-radius: 2px;
    height: 70px;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: end;
    text-align: center;
    padding: 10px;
  }
  .header-nav .header-menu-buttons a img {
    display: none;
  }
  .header-nav .header-menu-buttons a::before {
    top: 14px;
    left: 50% !important;
    transform: translateX(-50%);
  }
  .header-nav .header-menu-buttons a span {
    bottom: 5px;
    left: 50% !important;
    transform: translateX(-50%);
    position: absolute;
  }
  .header-nav .header-menu-buttons a.recruit {
    background: #b6c91b;
  }
  .header-nav .header-menu-buttons a.contact {
    background: #6ab9cc;
  }
  .header-nav .header-menu-buttons a.request {
    background: #fca518;
  }
  .header-nav .header-menu-buttons a.contact {
    margin: 0 0;
  }
  .header-menu-buttons a[target=_blank] span {
    padding-right: 15px;
  }
  .header-menu-buttons a[target=_blank] span::after {
    bottom: unset;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
  }
}
/*--------------------------------------------------------------
ページのトップへ戻るボタン
--------------------------------------------------------------*/
.pagetop {
  width: 80px;
  height: 80px;
  position: fixed;
  right: 30px;
  bottom: 30px;
  opacity: 1;
  z-index: 9999;
}
.pagetop:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {
  .pagetop {
    width: 50px;
    height: 50px;
    right: 20px;
    bottom: 20px;
  }
}
/*--------------------------------------------------------------
footer
--------------------------------------------------------------*/
main:has(.wp-pagenavi) + .site-footer {
  padding-top: 140px;
}
@media screen and (max-width: 1023px) {
  main:has(.wp-pagenavi) + .site-footer {
    padding-top: 70px;
  }
}

.footer-info {
  background-color: #b6c91b;
  padding: 60px 0 0;
  position: relative;
}

.footer-info-inner {
  margin: 0 auto;
  max-width: 1350px;
  padding: 0 30px;
  width: 100%;
}

.footer-info-content {
  display: flex;
  justify-content: space-between;
}

.footer-info-contact {
  width: 35%;
}
.footer-info-contact a {
  width: 250px;
  display: flex;
}
@media screen and (max-width: 567px) {
  .footer-info-contact a {
    width: 200px;
  }
}
.footer-info-contact a .footer-logo {
  width: 100%;
}
.footer-info-contact h3 {
  color: #fff;
  font-size: 1.6rem;
  margin: 20px 0 10px;
}
.footer-info-contact p,
.footer-info-contact a {
  color: #fff;
  font-size: 1.3rem;
}

.footer-info-text {
  margin-top: 35px;
}
.footer-info-text .tel-num {
  display: flex;
}
.footer-info-text .tel-num a {
  text-decoration: underline;
}
.footer-info-text .address_map {
  display: flex;
  align-items: center;
}
.footer-info-text .address_map .google-map {
  background-color: #83900f;
  font-family: "soleil", sans-serif;
  font-size: 1.1rem;
  padding: 0px 8px;
  display: inline-block;
  justify-content: left;
  align-items: center;
  width: 55px;
  height: 17px;
  position: relative;
}
.footer-info-text .address_map .google-map::after {
  content: "";
  background-image: url(images/icon_browser_map.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 1.1rem;
  height: 1.1rem;
  top: 50%;
  transform: translateY(-50%);
  right: 7px;
  position: absolute;
}

.fotter-info-link {
  margin-top: 60px;
}
.fotter-info-link .sns-links {
  display: flex;
  gap: 15px;
  margin-top: 20px;
}
.fotter-info-link .sns-links a {
  display: inline-block;
  background: #fff;
  border-radius: 50px;
  width: 50px;
  height: 50px;
  position: relative;
}
.fotter-info-link .sns-links a img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.footer-menu {
  line-height: 2;
  width: 65%;
  border-left: 1px solid #fff;
  padding-left: 75px;
}
.footer-menu a {
  color: #fff !important;
  font-weight: 400;
  position: relative;
}
.footer-menu .pure-g {
  justify-content: right;
}
.footer-menu .pure-g > * {
  padding-right: 20px;
}
.footer-menu .pure-g > *:last-child {
  padding-right: 0;
}
.footer-menu .pure-g .ft-menu.for-sp {
  display: block;
}
.footer-menu .pure-g .ft-menu {
  font-size: 1.4rem;
  padding: 0 !important;
}
.footer-menu .pure-g .ft-menu li {
  margin-block-start: 1em;
  margin-block-end: 1em;
}
.footer-menu .pure-g .ft-menu .ft-menu-list {
  padding-inline-start: 1.5rem;
}
.footer-menu .pure-g .ft-menu .ft-menu-list li {
  font-size: 1.2rem;
  font-weight: 300;
  margin-block-start: unset;
  margin-block-end: unset;
}

.footer-menu a:hover {
  text-decoration: underline;
}

.footer-menu a[target=_blank]::after {
  content: "";
  background-image: url("images/icon_browser.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 1.5rem;
  height: 1.5rem;
  bottom: 0.15em;
  right: -20px;
  position: absolute;
}

@media screen and (max-width: 1023px) {
  .footer-info-content {
    flex-direction: column-reverse;
  }
  .footer-info-contact {
    width: 100%;
    max-width: 567px;
    margin: 0 auto;
  }
  .footer-info-contact h3 {
    font-size: 1.8rem;
  }
  .footer-info-contact p br {
    display: none;
  }
  .footer-info-contact p br:nth-child(1) {
    display: block;
  }
  .footer-menu {
    width: 100%;
    border-left: unset;
    padding-left: 0;
    border-bottom: 1px solid #fff;
    padding-bottom: 60px;
    margin-bottom: 60px;
  }
  .footer-menu .pure-g {
    justify-content: center;
    max-width: 767px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .footer-menu .pure-g {
    max-width: 567px;
    margin: 0 auto;
  }
  .footer-menu .pure-g > * {
    padding-right: 0;
  }
  .footer-menu .pure-g .ft-menu.for-sp { /* 採用情報以降 */
    display: flex;
    flex-wrap: wrap;
  }
  .footer-menu .pure-g .ft-menu.for-sp li {
    width: 50%;
    margin-block-end: 0;
  }
  .footer-menu > * {
    padding-right: 0;
  }
  .footer-menu > * .ft-menu-list {
    display: flex;
    flex-wrap: wrap;
    padding-left: 0 !important;
  }
  .footer-menu > * .ft-menu-list li {
    width: 50%;
    padding-right: 25px;
  }
}
.footer-info {
  /* 左右のグラデーション */
  /* コピーライト */
}
.footer-info::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 10px;
  /* ボーダー幅 */
  height: 100%;
  background: linear-gradient(to bottom, #39a45d, #9ac03d 50%, #f5e200);
}
.footer-info::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 10px;
  /* ボーダー幅 */
  height: 100%;
  background: linear-gradient(to bottom, #39a45d, #9ac03d 50%, #f5e200);
}
.footer-info .copyright {
  border-top: 1px solid #fff;
  color: #fff;
  font-family: "soleil", sans-serif;
  font-size: 1.2rem;
  text-align: center;
  padding: 18px 10px;
  letter-spacing: 2px;
  margin-top: 80px;
}

/*--------------------------------------------------------------
main-visual（メインビジュアル）
--------------------------------------------------------------*/
.main-visual {
  position: relative;
  z-index: 100;
}

.main-slider:not(.slick-initialized) .slide-item { /* slick初期化前の一括表示を一瞬だけ非表示にする */
  display: none;
}

.main-slider {
  position: relative;
}

.main-slider .slide-item {
  position: relative;
}

.main-slider .main-img {
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
  height: calc(100vh - 30px);
  position: relative;
}
.main-slider .main-img::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 44%; /* グラデーションの高さ：調整可 */
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.35) 100%);
  pointer-events: none; /* スライド内リンクを邪魔しないように */
  z-index: 1;
}

.main-slider .slick-list {
  overflow: visible;
}

@media screen and (max-width: 1023px) {
  .main-slider .slick-list {
    padding: 0 0 20px;
  }
}
@media screen and (max-width: 1023px) {
  /* 1023pxでヘッダー70px固定 */
  .main-slider .main-img {
    height: calc(100vh - 70px - 80px);
  }
  .main-slider .main-img::after {
    padding-top: calc(100vh - 70px - 80px);
  }
}
@media screen and (max-width: 767px) {
  .main-slider .main-img {
    height: 70vh;
  }
  .main-slider .main-img::after {
    padding-top: 70vh;
  }
}
@media screen and (max-width: 567px) {
  .main-slider .main-img {
    background-position: 70% top;
  }
}
.main-slider .slider-cont {
  position: absolute;
  bottom: 40px;
  right: 20px;
  width: 480px;
  z-index: 2;
  background-color: #fff;
  border-radius: 10px;
  padding: 20px 30px;
}
.main-slider .slider-cont:hover {
  opacity: 0.7;
}

@media screen and (max-width: 1223px) {
  .main-slider .slider-cont {
    bottom: 120px;
    width: 420px;
    padding: 20px 20px 20px 25px;
  }
}
@media screen and (max-width: 1023px) {
  .main-slider .slider-cont {
    width: calc(100% - 40px);
    height: 100%;
    display: block;
    position: relative;
    margin: 0 auto;
    left: 0;
    top: 20px;
    right: 20px;
    background-color: rgba(255, 255, 255, 0.8);
  }
  .main-slider .slider-cont::after {
    content: "";
    background: url("images/top-deco_heart.png") no-repeat center center/contain;
    width: 480px;
    height: 700px;
    position: absolute;
    bottom: 0;
    top: -500px;
    left: 0px;
    z-index: -10;
    pointer-events: none;
  }
  .main-slider .slider-cont:hover {
    opacity: unset;
    background-color: rgba(255, 255, 255, 0.7);
  }
  .main-slider .slider-cont:hover .slider-cont-wrap {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .main-slider .slider-cont {
    padding: 15px 20px;
  }
  .main-slider .slider-cont::after {
    width: 390px;
    top: -480px;
  }
}
@media screen and (max-width: 567px) {
  .main-slider .slider-cont::after {
    width: 345px;
    top: -450px;
  }
}
.main-slider .business-title {
  color: #b6c91b;
  display: flex;
  font-weight: 500;
  flex-direction: column;
  margin-bottom: 15px;
  position: relative;
}
.main-slider .business-title::after {
  content: "";
  background: url("images/icon_arrow_gradation.svg") no-repeat center center/contain;
  display: block;
  width: 35px;
  height: 35px;
  position: absolute;
  top: 0;
  right: 0;
}
.main-slider .business-title .business-number {
  font-size: 1.4rem;
  line-height: 0;
  position: relative;
}
.main-slider .business-title .business-number::after {
  content: "／";
  top: 9px;
  left: 8px;
  font-size: 2.2rem;
  font-weight: lighter;
  position: absolute;
}
.main-slider .business-title .business-name {
  font-size: 2rem;
  letter-spacing: 2px;
  padding-left: 35px;
}

.main-slider .business-explanation {
  font-size: 1.4rem;
  line-height: 1.7;
}
.main-slider .business-explanation span {
  color: #7c7c7c;
  display: block;
  font-size: 1.2em;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 7px;
}

@media screen and (max-width: 1023px) {
  .main-slider .business-title {
    margin-bottom: 10px;
  }
  .main-slider .business-title::after {
    width: 30px;
    height: 30px;
  }
  .main-slider .business-title .business-name {
    font-size: 1.8rem;
  }
  .main-slider.business-explanation {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 767px) {
  .main-slider .business-title {
    color: #7c7c7c;
    flex-direction: row;
    margin-bottom: 0;
  }
  .main-slider .business-title::after {
    width: 25px;
    height: 25px;
    top: 50%;
    transform: translateY(-50%);
  }
  .main-slider .business-title .business-number {
    font-size: 1.5rem;
    line-height: inherit;
    margin-right: 10px;
  }
  .main-slider .business-title .business-number::after {
    display: none;
  }
  .main-slider .business-title .business-name {
    font-size: 1.5rem;
    padding-left: 0;
  }
  .main-slider .business-explanation {
    display: none;
  }
}
.main-visual {
  /* dotsを丸くカスタマイズするCSS */
}
.main-visual .dots-wrap {
  position: absolute;
  right: -50%;
  transform: translateX(-50%);
  bottom: 30px;
  width: 100%;
  z-index: 5;
  display: flex;
  justify-content: center;
  /* ← 追従感を滑らかにしたい場合は追加 */
}
.main-visual .dots-wrap {
  margin: 0;
  padding: 0;
}
.main-visual .dots-wrap li {
  width: 5px;
  height: 5px;
  margin: 0 10px;
  background-color: #fff;
  border-radius: 50%;
  cursor: pointer;
  position: relative;
}
.main-visual .dots-wrap li.slick-active {
  background-color: unset;
}
.main-visual .dots-wrap li.slick-active::after {
  content: "";
  background-image: url("images/dots_selected_point.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 15px;
  height: 15px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
}
.main-visual .dots-wrap li:hover {
  background-color: unset;
}
.main-visual .dots-wrap li:hover::after {
  content: "";
  background-image: url("images/dots_selected_point.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 15px;
  height: 15px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
}
.main-visual .dots-wrap li button {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
  background-color: transparent;
}

@media screen and (max-width: 1023px) {
  .main-visual .dots-box {
    position: relative;
    height: 100%;
  }
  .main-visual .dots-wrap {
    bottom: 0;
    top: calc(100vh - 70px - 80px - 25px);
  }
}
@media screen and (max-width: 767px) {
  .main-visual .dots-wrap {
    top: calc(70vh - 25px);
  }
}
.slide-message {
  position: absolute;
  bottom: 60px;
  left: 7%;
  color: #fff;
  z-index: 10;
}
.slide-message::after {
  content: "";
  background: url("images/top-deco_heart.png") no-repeat center center/contain;
  width: 97%;
  height: 700px;
  position: absolute;
  bottom: -110%;
  left: -80px;
  z-index: 500;
}
.slide-message .slide-message-main {
  font-family: "Noto Serif JP", serif;
  font-size: 3.3rem;
  font-weight: 500;
  line-height: 55px;
  letter-spacing: 3px;
  position: relative;
  z-index: 1000;
}
.slide-message .slide-message-main::before {
  content: "";
  background-image: url("images/double-quotation_slide-message.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 25px;
  height: 25px;
  left: 0;
  top: -30px;
  position: absolute;
}
.slide-message .slide-message-sub {
  font-family: "soleil", sans-serif;
  font-style: normal;
  font-size: 1.7rem;
  font-weight: 600;
  letter-spacing: 5px;
  margin-top: 20px;
  position: relative;
  z-index: 1000;
}

@media screen and (max-width: 1223px) {
  .slide-message {
    left: 40px;
  }
  .slide-message::after {
    width: 90%;
    left: -30px;
  }
}
@media screen and (max-width: 1023px) {
  .slide-message::after {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .slide-message {
    left: 20px;
    bottom: 50px;
  }
  .slide-message .slide-message-main {
    font-size: 2.6rem;
    line-height: 45px;
  }
  .slide-message .slide-message-sub {
    font-size: 1.4rem;
    margin-top: 15px;
  }
}
@media screen and (max-width: 567px) {
  .slide-message {
    left: 20px;
  }
  .slide-message .slide-message-main {
    font-size: 2.2rem;
    line-height: 40px;
  }
  .slide-message .slide-message-main::before {
    width: 20px;
    height: 20px;
    top: -20px;
  }
  .slide-message .slide-message-sub {
    font-size: 1.2rem;
  }
}
/*--------------------------------------------------------------
home
--------------------------------------------------------------*/
.home section a:hover {
  transition: 0.2s;
}

.mind-inner,
.inner {
  margin: 0 auto;
  max-width: 1200px;
  padding: 0 20px;
  width: 100%;
}

.tielu-inner,
.business-inner,
.facility-inner,
.blog-inner {
  margin: 0 auto;
  max-width: 1360px;
  padding: 0 20px;
  width: 100%;
}

.home section.business,
.home section.facility,
.home section.company,
.home section.recruit,
.home section.news {
  margin-block-start: 150px;
  margin-block-end: 150px;
}
@media screen and (max-width: 1023px) {
  .home section.business,
  .home section.facility,
  .home section.company,
  .home section.recruit,
  .home section.news {
    margin-block-start: 100px;
    margin-block-end: 100px;
  }
}
@media screen and (max-width: 767px) {
  .home section.business,
  .home section.facility,
  .home section.company,
  .home section.recruit,
  .home section.news {
    margin-block-start: 80px;
    margin-block-end: 80px;
  }
}

.home section.medihos-mind {
  margin-block-start: 150px;
  margin-block-end: 200px;
}
@media screen and (max-width: 1023px) {
  .home section.medihos-mind {
    margin-block-start: 120px;
    margin-block-end: 150px;
  }
}
@media screen and (max-width: 767px) {
  .home section.medihos-mind {
    margin-block-start: 80px;
    margin-block-end: 100px;
  }
}

.home h2,
section.contact h2 {
  margin: 0 0 50px;
}

@media screen and (max-width: 767px) {
  section.contact h2 {
    margin: 0 0 30px;
  }
}
.home h2,
section.contact h2,
.entry-content + .medihos-list > .medihos-list-inner > .facility-title > h2 {
  text-align: left;
}
.home h2 .title-en,
section.contact h2 .title-en,
.entry-content + .medihos-list > .medihos-list-inner > .facility-title > h2 .title-en {
  line-height: 1;
  margin-bottom: 15px;
}
@media screen and (max-width: 567px) {
  .home h2 .title-en,
  section.contact h2 .title-en,
  .entry-content + .medihos-list > .medihos-list-inner > .facility-title > h2 .title-en {
    margin-bottom: 10px;
  }
}
.home h2 .title-en img,
section.contact h2 .title-en img,
.entry-content + .medihos-list > .medihos-list-inner > .facility-title > h2 .title-en img {
  height: 49px;
}
@media screen and (max-width: 1023px) {
  .home h2 .title-en img,
  section.contact h2 .title-en img,
  .entry-content + .medihos-list > .medihos-list-inner > .facility-title > h2 .title-en img {
    height: 42px;
  }
}
@media screen and (max-width: 567px) {
  .home h2 .title-en img,
  section.contact h2 .title-en img,
  .entry-content + .medihos-list > .medihos-list-inner > .facility-title > h2 .title-en img {
    height: 38px;
  }
}
@media screen and (max-width: 375px) {
  .home h2 .title-en img,
  section.contact h2 .title-en img,
  .entry-content + .medihos-list > .medihos-list-inner > .facility-title > h2 .title-en img {
    height: 32px;
  }
}
.home h2 .title-jp,
section.contact h2 .title-jp,
.entry-content + .medihos-list > .medihos-list-inner > .facility-title > h2 .title-jp {
  color: #404040;
  font-size: 4.5rem;
  font-weight: 700;
  letter-spacing: 2px;
  padding-left: 35px;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .home h2 .title-jp,
  section.contact h2 .title-jp,
  .entry-content + .medihos-list > .medihos-list-inner > .facility-title > h2 .title-jp {
    font-size: 3.6rem;
    padding-left: 25px;
  }
}
@media screen and (max-width: 567px) {
  .home h2 .title-jp,
  section.contact h2 .title-jp,
  .entry-content + .medihos-list > .medihos-list-inner > .facility-title > h2 .title-jp {
    font-size: 2.8rem;
    padding-left: 20px;
  }
}
.home h2 .title-jp::before,
section.contact h2 .title-jp::before,
.entry-content + .medihos-list > .medihos-list-inner > .facility-title > h2 .title-jp::before {
  content: "";
  border-left: 8px solid #EDBA20;
  display: block;
  position: absolute;
  top: 0.3em;
  left: 0;
  height: 50px;
}
@media screen and (max-width: 1023px) {
  .home h2 .title-jp::before,
  section.contact h2 .title-jp::before,
  .entry-content + .medihos-list > .medihos-list-inner > .facility-title > h2 .title-jp::before {
    top: 0.25em;
    height: 44px;
  }
}
@media screen and (max-width: 567px) {
  .home h2 .title-jp::before,
  section.contact h2 .title-jp::before,
  .entry-content + .medihos-list > .medihos-list-inner > .facility-title > h2 .title-jp::before {
    top: 0.2em;
    height: 36px;
  }
}
.home h2 .title-jp::after,
section.contact h2 .title-jp::after,
.entry-content + .medihos-list > .medihos-list-inner > .facility-title > h2 .title-jp::after {
  content: "";
  border-left: 8px solid #EA633A;
  display: block;
  position: absolute;
  top: 0.85em;
  left: 0;
  height: 25px;
}
@media screen and (max-width: 1023px) {
  .home h2 .title-jp::after,
  section.contact h2 .title-jp::after,
  .entry-content + .medihos-list > .medihos-list-inner > .facility-title > h2 .title-jp::after {
    height: 22px;
  }
}
@media screen and (max-width: 567px) {
  .home h2 .title-jp::after,
  section.contact h2 .title-jp::after,
  .entry-content + .medihos-list > .medihos-list-inner > .facility-title > h2 .title-jp::after {
    top: 0.85em;
    height: 18px;
  }
}

/* home / お知らせ */
/* お知らせのタイトルにアイコン表示 */
a .post-title::after {
  content: "";
  display: inline-block;
}
a[target=_blank] .post-title::after {
  font-family: "Font Awesome 5 Free";
  content: "";
  display: inline-block;
  margin: 0 0 0 10px;
  background: none;
  color: #b6c91b;
  font-size: 1.1em;
  padding: 0;
  position: absolute !important;
  bottom: 16% !important;
  content: "\f2d2";
}
a[href$=".pdf"] .post-title::after, a[href*=".pdf#page="] .post-title::after {
  content: "\f1c1";
}
a[href$=".doc"] .post-title::after, a[href$=".docx"] .post-title::after {
  content: "\f1c2";
}
a[href$=".xls"] .post-title::after, a[href$=".xlsx"] .post-title::after {
  content: "\f1c3";
}

/* home / お知らせ（タブ） */
.tab_panel {
  overflow: hidden;
  height: 0;
  opacity: 0;
}
.tab_panel.is-show {
  overflow: visible;
  height: auto;
  opacity: 1;
  transition: opacity 0.4s ease-in-out;
}

@media screen and (max-width: 767px) {
  .tab_menu {
    display: none;
  }
}
.home-news .area {
  display: none;
  opacity: 0;
}
.home-news .area.is-active {
  display: block;
  animation-name: displayAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}
@keyframes displayAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* home / お知らせ（セレクトボックス） */
/* もっと見るボタンリンク */
.button-more a {
  width: 350px;
  font-size: 15px;
  font-weight: 500;
  text-align: center;
  display: inline-block;
  position: relative;
  background-color: #b6c91b;
  border: 1px solid #b6c91b;
  border-radius: 30px;
  color: #fff;
  padding: 12px 40px 12px 40px;
  letter-spacing: 2px;
}
.button-more a::after {
  content: "";
  background: url("images/icon_arrow.svg") no-repeat center center/contain;
  display: block;
  width: 1.3em;
  height: 1.3em;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 12px;
}
.button-more a:hover {
  background-color: #fff !important;
  color: #b6c91b !important;
}
.button-more a:hover::after {
  width: 1.7em;
  height: 1.7em;
  right: 9px;
  transition: 0.2s;
}

* > .button-more {
  margin-top: 20px;
}

@media screen and (max-width: 1023px) {
  .button-more a {
    font-size: 14px;
  }
}
@media screen and (max-width: 400px) {
  .button-more a {
    width: 100%;
  }
}
/* お知らせ、施設一覧ブロックの一覧ボタン */
.home section.news * > .button-more,
.home section.facility * > .button-more {
  margin-top: 50px;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .home section.news * > .button-more,
  .home section.facility * > .button-more {
    margin-top: 20px;
  }
}
.home section.news * > .button-more a,
.home section.facility * > .button-more a {
  width: auto;
  text-align: left;
  display: inline-block;
  background-color: unset;
  border: unset;
  border-bottom: 1px solid #333;
  border-radius: unset;
  color: #333;
  padding: 0;
  padding-bottom: 8px;
  position: relative;
  letter-spacing: 2px;
}
.home section.news * > .button-more a::after,
.home section.facility * > .button-more a::after {
  content: none;
}
.home section.news * > .button-more a::before,
.home section.facility * > .button-more a::before {
  content: "";
  background-image: url("images/icon_arrow_gradation.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  width: 35px;
  height: 35px;
  top: 50%;
  transform: translateY(-50%);
  left: -50px;
}
@media screen and (max-width: 1023px) {
  .home section.news * > .button-more a::before,
  .home section.facility * > .button-more a::before {
    width: 30px;
    height: 30px;
  }
}
.home section.news * > .button-more a:hover,
.home section.facility * > .button-more a:hover {
  background-color: unset !important;
  border-bottom: 1px solid #EA633A;
  color: #EA633A !important;
  transform: scale(1, 1);
  transition: transform 0.3s;
}

/* 事業案内、会社情報ブロックの一覧ボタン */
.home section.business * > .button-more,
.home section.company * > .button-more {
  margin-top: 50px;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .home section.business * > .button-more,
  .home section.company * > .button-more {
    text-align: center;
  }
}
.home section.business * > .button-more a,
.home section.company * > .button-more a {
  width: auto;
  text-align: left;
  display: inline-block;
  background-color: unset;
  border: unset;
  border-bottom: 1px solid #fff;
  border-radius: unset;
  color: #fff;
  padding: 0;
  padding-bottom: 8px;
  position: relative;
  letter-spacing: 2px;
}
.home section.business * > .button-more a::after,
.home section.company * > .button-more a::after {
  content: none;
}
.home section.business * > .button-more a::before,
.home section.company * > .button-more a::before {
  content: "";
  background-image: url("images/icon_arrow.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  width: 35px;
  height: 35px;
  top: 50%;
  transform: translateY(-50%);
  left: -50px;
}
.home section.business * > .button-more a:hover,
.home section.company * > .button-more a:hover {
  background-color: unset !important;
  border-bottom: 1px solid #EA633A;
  color: #EA633A !important;
  transform: scale(1, 1);
  transition: transform 0.2s;
}

/*--------------------------------------------------------------
メディホスの想い
--------------------------------------------------------------*/
.medihos-mind {
  text-align: center;
  position: relative;
}
.medihos-mind h2 {
  font-family: "Noto Serif JP", serif;
  font-size: 3.2rem;
  font-weight: 400;
  letter-spacing: 5px;
  line-height: 80px;
  position: relative;
  text-align: center;
  z-index: 1;
}
.medihos-mind h2 .mind-title {
  display: inline;
  background-color: #fff;
  border-radius: 5px;
  padding: 0.25em 0.6em 0.25em 0.75em;
  line-height: 80px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.medihos-mind h2 span {
  color: #b6c91b;
}
.medihos-mind img {
  border-style: none;
  width: 300px;
  height: auto;
  display: block;
  margin: 0 auto 50px;
}
.medihos-mind .mind-explanation {
  font-size: 1.6rem;
  line-height: 6rem;
}

@media screen and (max-width: 1023px) {
  .medihos-mind h2 {
    font-size: 2.6rem;
    line-height: 70px;
  }
  .medihos-mind h2 .mind-title {
    line-height: 70px;
  }
  .medihos-mind img {
    width: 250px;
  }
  .medihos-mind .mind-explanation {
    font-size: 1.5rem;
    line-height: 5.5rem;
  }
}
@media screen and (max-width: 567px) {
  .medihos-mind h2 {
    font-size: 2.2rem;
    line-height: 55px;
    margin: 0 0 40px;
  }
  .medihos-mind h2 .mind-title {
    line-height: 55px;
  }
  .medihos-mind h2 .mind-title br {
    display: none;
  }
  .medihos-mind img {
    width: 200px;
  }
  .medihos-mind .mind-explanation {
    font-size: 1.4rem;
    line-height: 4rem;
    text-align: left;
  }
}
.medihos-mind::after {
  content: "";
  background-image: url("images/mind_back_puzzle.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  width: 100vw;
  height: 100%;
  max-height: 400px;
  top: -100px;
  left: 0;
  z-index: -1;
}

@media screen and (max-width: 1023px) {
  .medihos-mind::after {
    max-height: 280px;
    top: -50px;
  }
}
@media screen and (max-width: 767px) {
  .medihos-mind::after {
    max-height: 210px;
    top: -30px;
    z-index: 0;
  }
}
@media screen and (max-width: 567px) {
  .medihos-mind::after {
    max-height: 150px;
    top: 10px;
  }
}
.story-miracle_box {
  display: flex;
  margin-top: 100px;
  gap: 0 60px;
}
.story-miracle_box h3 {
  font-family: "Noto Serif JP", serif;
  font-size: 2.6rem;
  font-weight: 300;
  margin-bottom: 30px;
  padding-left: 20px;
  position: relative;
  text-align: left;
  letter-spacing: 2px;
}
.story-miracle_box h3::before {
  border-left: 4px solid #EDBA20;
  content: "";
  display: block;
  position: absolute;
  top: 0.3em;
  left: 0;
  height: 30px;
}
.story-miracle_box p {
  font-size: 1.5rem;
  line-height: 2.2;
  text-align: left;
}
@media screen and (max-width: 1023px) {
  .story-miracle_box p {
    font-size: 1.4rem;
    line-height: 2;
  }
}
.story-miracle_box .medihos-story,
.story-miracle_box .medihos-miracle {
  background: #fff;
  border-radius: 10px;
  padding: 40px;
  width: 100%;
}
.story-miracle_box * > .button-more {
  margin-top: 40px;
}

@media screen and (max-width: 1023px) {
  .story-miracle_box {
    gap: 0 30px;
    margin-top: 80px;
  }
  .story-miracle_box h3 {
    font-size: 2.3rem;
  }
  .story-miracle_box h3::before {
    height: 25px;
  }
  .button-more a {
    width: 100%;
    max-width: 350px;
  }
}
@media screen and (max-width: 767px) {
  .story-miracle_box {
    gap: 40px;
    margin-top: 60px;
    flex-direction: column;
  }
}
@media screen and (max-width: 567px) {
  .story-miracle_box .medihos-story,
  .story-miracle_box .medihos-miracle {
    padding: 30px;
  }
}
.medihos-mind .button-more.mind-contact {
  margin-top: 80px;
}
.medihos-mind .button-more.mind-contact a {
  display: flex;
  margin: 0 auto;
  width: 100%;
  max-width: 700px;
  background: linear-gradient(to bottom, #fca518 50%, #f09a0e 50%);
  border: 5px solid #f09a0e;
  border-radius: 10px;
  font-size: 1.7rem;
  padding: 7px;
}
.medihos-mind .button-more.mind-contact a::after {
  width: 1.8em;
  height: 1.8em;
  right: 20px;
}
.medihos-mind .button-more.mind-contact a:hover {
  color: #fff !important;
  opacity: 0.7;
  transition: 0.2s;
}
.medihos-mind .button-more.mind-contact a .icon-area {
  width: 80px;
  height: 80px;
  background-color: #FFC76F;
  border-radius: 5px;
}
.medihos-mind .button-more.mind-contact a .icon-area img {
  width: 50%;
  height: 100%;
}
.medihos-mind .button-more.mind-contact a .button-text {
  text-align: center;
  display: flex;
  align-items: center;
  margin-left: 20px;
}

@media screen and (max-width: 1023px) {
  .medihos-mind .button-more.mind-contact a {
    max-width: 600px;
    font-size: 1.6rem;
  }
  .medihos-mind .button-more.mind-contact a .icon-area {
    width: 65px;
    height: 65px;
  }
}
@media screen and (max-width: 567px) {
  .medihos-mind .button-more.mind-contact a {
    font-size: 1.4rem;
    padding: 7px 50px 7px 7px;
  }
  .medihos-mind .button-more.mind-contact a .icon-area {
    width: 50px;
    height: 50px;
  }
  .medihos-mind .button-more.mind-contact a .button-text {
    margin-left: 10px;
  }
}
/*--------------------------------------------------------------
私たちについて
--------------------------------------------------------------*/
.about-us {
  margin-top: 115px;
}
@media screen and (max-width: 1023px) {
  .about-us {
    margin-top: 80px;
  }
}
.about-us .about-medihos .svg-wrapper {
  position: relative;
  width: 100%;
  overflow: visible;
  z-index: 1;
  right: -40px;
}
@media screen and (max-width: 1280px) {
  .about-us .about-medihos .svg-wrapper {
    right: 0;
  }
}
@media screen and (max-width: 1023px) {
  .about-us .about-medihos .svg-wrapper {
    padding-left: 40px;
  }
}
.about-us .about-medihos .svg-wrapper .full-bleed-svg {
  width: 100%;
  max-width: 580px;
  height: auto;
  display: block;
}
.about-us .about-medihos .svg-wrapper::after {
  content: "";
  background-image: url("images/puzzle-1.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 100%;
  height: 600px;
  top: -150px;
  right: -300px;
  opacity: 0.1;
  position: absolute;
  z-index: -1;
}
@media screen and (max-width: 1023px) {
  .about-us .about-medihos { /* パズルの調整 */ }
  .about-us .about-medihos .svg-wrapper::after {
    top: unset;
    bottom: -300px;
    right: -180px;
  }
}
@media screen and (max-width: 767px) {
  .about-us .about-medihos { /* パズルの調整 */ }
  .about-us .about-medihos .pure-g > *:has(.svg-wrapper) {
    padding-left: 20%;
  }
  .about-us .about-medihos .svg-wrapper {
    width: calc(100vw - 20%);
  }
  .about-us .about-medihos .svg-wrapper::after {
    width: 110%;
    height: 100%;
    top: 0%;
    left: -50%;
  }
}
.about-us .about-tielu .svg-wrapper {
  position: relative;
  width: 100%;
  overflow: visible;
  z-index: 1;
  left: 40px;
}
.about-us .about-tielu .svg-wrapper .full-bleed-svg {
  width: 100%;
  max-width: 580px;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.about-us .about-tielu .svg-wrapper::after {
  content: "";
  background-image: url("images/puzzle-2.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 100%;
  height: 600px;
  bottom: -150px;
  left: -250px;
  opacity: 0.1;
  position: absolute;
  z-index: -1;
}
.about-us .about-tielu .sepa-text {
  padding-top: 120px;
}
@media screen and (max-width: 567px) {
  .about-us .about-tielu .sepa-text {
    padding-top: 80px;
  }
}
.about-us .about-tielu .pure-g > *:has(.sepa-text) {
  padding-left: 80px;
}
@media screen and (max-width: 1280px) {
  .about-us .about-tielu .svg-wrapper {
    left: 0;
  }
  .about-us .about-tielu .pure-g > *:has(.sepa-text) {
    padding-left: 40px;
  }
}
@media screen and (max-width: 1023px) {
  .about-us .about-tielu .svg-wrapper {
    padding-right: 40px;
  }
  .about-us .about-tielu .pure-g > *:has(.sepa-text) {
    padding-left: 20px;
  }
}
@media screen and (max-width: 767px) {
  .about-us .about-tielu .pure-g > *:has(.sepa-text) {
    padding-left: 0;
  }
  .about-us .about-tielu .pure-g {
    flex-direction: column-reverse;
  }
  .about-us .about-tielu .svg-wrapper {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
  }
}
@media screen and (max-width: 1023px) {
  .about-us .about-tielu { /* パズルの調整 */ }
  .about-us .about-tielu .svg-wrapper::after {
    bottom: -250px;
    left: -150px;
  }
}
@media screen and (max-width: 767px) {
  .about-us .about-tielu { /* パズルの調整 */ }
  .about-us .about-tielu .svg-wrapper {
    width: calc(100vw - 20%);
  }
  .about-us .about-tielu .svg-wrapper::after {
    content: "";
    background-image: url("images/puzzle-1.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 110%;
    height: 100%;
    top: 0%;
    left: 40%;
  }
}
.about-us .about-medihos h2 {
  margin: 0 0 110px;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .about-us .about-medihos h2 {
    margin: 0 0 70px;
  }
}
@media screen and (max-width: 567px) {
  .about-us .about-medihos h2 {
    margin: 0 0 50px;
  }
}
.about-us .about-medihos .main-title {
  position: relative;
}
.about-us .sepa-text {
  margin: 0 auto;
}
.about-us .sepa-text h3 {
  color: #b6c91b;
  margin-bottom: 60px;
}
@media screen and (max-width: 567px) {
  .about-us .sepa-text h3 {
    margin-bottom: 40px;
  }
}
.about-us .sepa-text h3 .main-title {
  font-family: "soleil", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 4rem;
  letter-spacing: 5px;
}
@media screen and (max-width: 1023px) {
  .about-us .sepa-text h3 .main-title {
    font-size: 3.3rem;
  }
}
@media screen and (max-width: 567px) {
  .about-us .sepa-text h3 .main-title {
    font-size: 2.7rem;
  }
}
.about-us .sepa-text h3 .main-title span {
  color: #707070;
  font-size: 1.3rem;
  letter-spacing: 0;
  margin-left: 15px;
}
.about-us .sepa-text h3 .sub-title {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 2px;
}
@media screen and (max-width: 1023px) {
  .about-us .sepa-text h3 .sub-title {
    font-size: 1.6rem;
  }
}
.about-us .sepa-text p {
  font-size: 1.5rem;
  line-height: 2.2;
}
@media screen and (max-width: 1023px) {
  .about-us .sepa-text p {
    font-size: 1.4rem;
    line-height: 2;
  }
}
.about-us .sepa-text .gradation-title {
  background: linear-gradient(90deg, #39a45d, #9ac03d 50%, #f5e200);
  border-radius: 2px;
  color: #fff;
  display: inline-block;
  font-size: 1.4rem;
  letter-spacing: 3px;
  line-height: 1;
  padding: 8px 20px;
  margin-bottom: 30px;
}
@media screen and (max-width: 567px) {
  .about-us .sepa-text .gradation-title {
    margin-bottom: 25px;
  }
}
.about-us * > .button-more {
  margin-top: 60px;
  margin-bottom: 80px;
}
.about-us * > .button-more a {
  z-index: 10;
}
@media screen and (max-width: 1023px) {
  .about-us .sepa-text p br {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .about-us * > .button-more {
    text-align: center;
    margin-top: 40px;
    margin-bottom: 60px;
  }
}

.about-tielu .button-more {
  margin-bottom: 0 !important;
}
.about-tielu .button-more.blue {
  margin-top: 20px !important;
  margin-bottom: 80px !important;
}
.about-tielu .button-more.blue a {
  background-color: #6ab9cc;
  border: 1px solid #6ab9cc;
}
.about-tielu .button-more.blue a:hover {
  background-color: #fff;
  color: #6ab9cc !important;
}

/*--------------------------------------------------------------
News
--------------------------------------------------------------*/
.news-title {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin: 0 0 60px;
}
@media screen and (max-width: 767px) {
  .news-title {
    margin: 0 0 40px;
  }
}
.news-title h2 {
  margin: 0;
}

.home-news-top ul {
  padding: 0;
  margin: 0;
}
.home-news-top .tab_menu.cate-list {
  display: flex;
  gap: 0 15px;
}
.home-news-top .tab_menu.cate-list > * {
  background-color: #fff;
  border: 1px solid #DEDEDE;
  border-radius: 3px;
  color: #A3A3A3;
  padding: 10px 0;
  letter-spacing: 2px;
  line-height: 1;
  text-align: center;
  width: 160px;
}
.home-news-top .tab_menu.cate-list > *:hover, .home-news-top .tab_menu.cate-list > *.selected {
  background: linear-gradient(90deg, #39a45d, #9ac03d 50%, #f5e200);
  border: none;
  color: #fff;
}

.news-list li {
  padding: 0 !important;
}

.news-list li::after {
  content: none !important;
}

.news-list {
  padding: 0;
  margin: 0;
}
.news-list > li {
  list-style-type: none;
}
.news-list > li a {
  align-items: center;
  background: #fff;
  border-radius: 5px;
  display: flex;
  padding: 0 40px;
  height: 75px;
  position: relative;
  margin-bottom: 15px;
  line-height: 1;
  text-decoration: none;
}
.news-list > li a::after {
  background-image: url("images/icon_arrow_news.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  content: "" !important;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) !important;
  right: 30px;
  width: 12px;
  height: 12px;
}

.news-list li a:hover {
  color: inherit !important;
  opacity: 0.7;
}

.news-cate {
  display: flex;
  align-items: center;
}
.news-cate .post-date {
  font-family: "soleil", sans-serif;
  letter-spacing: 0.5px;
  width: 120px;
}

.post-title {
  line-height: 1.4;
  width: calc(100% - 120px - 40px);
}

.home section.news .tab_panel.is-show .news-list {
  margin-top: 0;
}

@media screen and (max-width: 1023px) {
  .home-news-top .tab_menu.cate-list {
    gap: 0 10px;
    font-size: 1.3rem;
  }
  .home-news-top .tab_menu.cate-list > * {
    padding: 8px 0;
    width: 140px;
  }
  .news-list > li a {
    padding: 0 30px 0 20px;
  }
  .news-list > li a::after {
    right: 15px;
  }
  .news-list > li a .news-cate .post-date {
    width: 100px;
  }
  .news-list > li a .post-title {
    width: calc(100% - 100px - 20px);
  }
}
@media screen and (max-width: 767px) {
  .news-title {
    flex-direction: column;
    align-items: unset;
  }
  .news-title-tab {
    flex-direction: column;
    align-items: start;
    margin-bottom: 30px;
  }
  .home-news-top {
    margin-top: 30px;
  }
  .home-news-top .tab_menu.cate-list {
    font-size: 1.2rem;
  }
  .home-news-top .tab_menu.cate-list > * {
    width: 120px;
  }
  .news-list > li a {
    padding: 15px 30px 15px 20px;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
    height: auto;
    min-height: 75px;
  }
  .news-list > li a .news-cate {
    width: 100%;
    margin-bottom: 10px;
  }
  .news-list > li a .news-cate .post-date {
    width: 90px;
  }
  .news-list > li a .news-cate .post-cate {
    margin-right: 0;
  }
  .news-list > li a .post-title {
    width: 100%;
  }
}
@media screen and (max-width: 567px) {
  .home-news-top .tab_menu.cate-list {
    font-size: 1.1rem;
  }
  .home-news-top .tab_menu.cate-list > * {
    padding: 7px 0;
    width: 100px;
  }
}
@media screen and (max-width: 375px) {
  .home-news-top .tab_menu.cate-list {
    font-size: 1.1rem;
  }
  .home-news-top .tab_menu.cate-list > * {
    padding: 7px 0;
    width: 100px;
  }
}
/*--------------------------------------------------------------
Home Business（事業案内）
--------------------------------------------------------------*/
.home section.business {
  background-image: url("images/business_back_color.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 100px;
  padding-bottom: 100px;
  position: relative;
  margin-top: 80px !important;
  z-index: 10;
}
@media screen and (max-width: 1023px) {
  .home section.business {
    padding-top: 60px;
    padding-bottom: 80px;
    margin-top: 0 !important;
  }
}
@media screen and (max-width: 767px) {
  .home section.business {
    margin-top: 80px !important;
  }
}
.home section.business .over {
  background-image: url("images/business_back_font_full.png");
  background-size: contain;
  background-position: right;
  background-repeat: no-repeat;
  opacity: 0.1;
  content: "";
  width: 100%;
  height: 27%;
  top: -10px;
  right: -15px;
  position: absolute;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .home section.business .over {
    background-position: bottom;
    width: 110%;
    height: 100%;
    top: 0px;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
  }
}

.home section.business .business-title {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin: 0 0 60px;
}
@media screen and (max-width: 767px) {
  .home section.business .business-title {
    margin: 0 0 40px;
  }
}
.home section.business .business-title h2 {
  color: #fff;
  margin: 0;
}
.home section.business .business-title h2 .title-jp {
  color: #fff;
}
.home section.business .business-title h2 .title-jp::before {
  border-left: 8px solid rgba(255, 255, 255, 0.5);
}
.home section.business .business-title h2 .title-jp::after {
  border-left: 8px solid rgb(255, 255, 255);
}
.home section.business .business-name {
  color: #fff;
  font-size: 1.6rem;
  margin-top: 15px;
  line-height: 1.5;
  padding-left: 20px;
  position: relative;
  margin-right: calc(13.11% + 10px);
}
@media screen and (max-width: 1023px) {
  .home section.business .business-name {
    font-size: 1.5rem;
  }
}
.home section.business .business-name::before {
  position: absolute;
  background-image: url("images/business_list_point.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  content: "";
  width: 10px;
  height: 10px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 1023px) {
  .home section.business .business-name::before {
    top: 7px;
    transform: unset;
  }
}

.business-puzzle-wrap {
  display: flex;
  flex-direction: row;
  margin: 0 1.8%;
}

.business-puzzle-wrap a {
  display: inline-block;
  position: relative;
  margin: 0 -1.8%;
}

.business-puzzle-cont {
  position: relative;
}
.business-puzzle-cont img {
  display: block;
  width: 100%;
}

.business-puzzle-cont img.for-1column {
  display: none;
}

.home-visit-nursing .business-puzzle-cont img.for-2column {
  display: none;
}

.business-puzzle-cont .business-icon {
  overflow: hidden;
  line-height: 0;
  border-radius: 5px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 55%;
}
.business-puzzle-cont .business-icon .image-box {
  width: auto;
  height: 100%;
}
.business-puzzle-cont .business-icon .image-box img {
  width: auto;
  height: 100%;
  transition: transform 0.4s ease; /* ゆっくり変化させる */
}

.medical-support-housing .business-puzzle-cont .business-icon,
.home-visit-nursing .business-puzzle-cont .business-icon,
.home-visit-care .business-puzzle-cont .business-icon {
  transform: translate(-63.11%, -50%);
}

@media screen and (max-width: 767px) {
  .business-puzzle-wrap {
    flex-wrap: wrap;
    gap: 40px 0;
    margin: 0 auto;
  }
  .home-visit-nursing .business-puzzle-cont img.for-4column {
    display: none;
  }
  .home-visit-nursing .business-puzzle-cont img.for-2column {
    display: block;
    width: 100%;
  }
  .home-visit-nursing .business-puzzle-cont .business-icon {
    transform: translate(-50%, -50%);
  }
  .business-puzzle-wrap a {
    width: 49.75%; /* 2列化のベース幅（viewportの半分） */
    margin: 0;
  }
  .medical-support-housing,
  .home-visit-care {
    width: 57.25% !important; /* 横に広げる */
    margin-right: -7% !important;
  }
}
.business-puzzle-wrap a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {
  .home section.business .button-more {
    margin-top: 80px;
  }
}
.home section.business .button-more.for-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .home section.business .button-more.for-sp {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .home section.business .button-more.for-pc {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .home section.business .pure-g {
    margin: 0 -10px;
    gap: 40px 0;
  }
  .home section.business .pure-g > * {
    padding: 0 10px;
  }
}
/*--------------------------------------------------------------
Home FACILITIES（施設・事業所のご紹介）
--------------------------------------------------------------*/
.home section.facility {
  overflow: hidden;
}
.home section.facility .facility-title {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin: 0 0 60px;
}
@media screen and (max-width: 767px) {
  .home section.facility .facility-title {
    margin: 0 0 40px;
  }
}
.home section.facility .facility-title h2 {
  margin: 0;
}

.about-facility .pure-g {
  margin: 0 -7px;
  gap: 30px 0;
}
.about-facility .pure-g > * {
  padding: 0 7px;
}

.about-facility .info-img {
  border-radius: 5px;
  line-height: 0;
  overflow: hidden;
}
.about-facility .info-img img {
  width: 100%;
  aspect-ratio: 3/2;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transition: transform 0.4s ease;
  /* ゆっくり変化させる */
}

.about-facility a:hover {
  opacity: 0.7;
}

.about-facility .info-cap {
  display: flex;
  flex-direction: column;
  margin-top: 15px;
}
.about-facility .info-cap .facility-type {
  line-height: 0;
}
.about-facility .info-cap .facility-type span {
  background: #fff;
  border: 1px solid #DEDEDE;
  border-radius: 2px;
  color: #7C7C7C;
  font-size: 1.2rem;
  display: inline-block;
  line-height: 1.2;
  margin-bottom: 3px;
  padding: 3px 7px;
}
@media screen and (max-width: 1023px) {
  .about-facility .info-cap .facility-type span {
    font-size: 1.1rem;
    padding: 3px 5px;
  }
}
.about-facility .info-cap .facility-name span {
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 500;
  padding-right: 15px;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .about-facility .info-cap .facility-name span {
    font-size: 1.4rem;
  }
}
.about-facility .info-cap .facility-name span::after {
  position: absolute;
  content: "";
  background-image: url("images/icon_arrow_news.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 10px;
  height: 10px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .home section.facility .facility-title {
    align-items: unset;
    flex-direction: column;
  }
}
/*--------------------------------------------------------------
Home COMPANY（会社情報）
--------------------------------------------------------------*/
.home section.company {
  background-color: #b6c91b;
  border-radius: 10px;
  margin-right: 50px;
  margin-left: 50px;
  overflow: hidden;
  padding: 0 20px;
  position: relative;
}
@media screen and (max-width: 1250px) {
  .home section.company {
    margin: 0 auto;
    max-width: 1160px;
    width: 100%;
  }
}
@media screen and (max-width: 1200px) {
  .home section.company {
    margin-right: 20px;
    margin-left: 20px;
    width: calc(100vw - 40px);
  }
}
@media screen and (max-width: 767px) {
  .home section.company {
    padding: 0;
  }
}
.home section.company .over {
  background-image: url("images/company_back_font.png");
  background-size: contain;
  background-position: bottom;
  background-repeat: no-repeat;
  content: "";
  opacity: 0.1;
  width: 100%;
  height: 100%;
  bottom: 0;
  left: 0;
  position: absolute;
  pointer-events: none;
}

.company-title {
  margin: 0 0 40px !important;
}
@media screen and (max-width: 1110px) {
  .company-title.for-pc {
    display: block !important;
  }
}
@media screen and (max-width: 767px) {
  .company-title.for-pc {
    display: none !important;
  }
}
.company-title.for-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .company-title.for-sp {
    display: block;
  }
}
.company-title .title-jp {
  color: #fff !important;
}
.company-title .title-jp::before {
  border-left: 8px solid rgba(255, 255, 255, 0.5) !important;
}
.company-title .title-jp::after {
  border-left: 8px solid rgb(255, 255, 255) !important;
}

.about-company {
  display: flex;
}
.about-company .company-image {
  height: 440px;
  margin-right: 80px;
  line-height: 0;
}
@media screen and (max-width: 1023px) {
  .about-company .company-image {
    margin-right: 40px;
  }
}
@media screen and (max-width: 567px) {
  .about-company .company-image {
    margin-right: 30px;
  }
}
.about-company .company-image img {
  height: 100%;
}
.about-company .company-info {
  width: 100%;
  color: #fff;
  padding: 60px 0;
}
@media screen and (max-width: 1023px) {
  .about-company .company-info {
    padding: 30px 0;
    justify-content: center;
    display: flex;
    flex-direction: column;
  }
}
.about-company .company-info p {
  font-size: 1.5rem;
  line-height: 2.4;
}
@media screen and (max-width: 1023px) {
  .about-company .company-info p {
    font-size: 1.4rem;
    line-height: 2.2;
  }
}

@media screen and (max-width: 375px) {
  .home section.company .button-more {
    margin-top: 30px;
  }
}
@media screen and (max-width: 1110px) {
  .home section.company .button-more.for-pc {
    display: block !important;
  }
}
@media screen and (max-width: 767px) {
  .home section.company .button-more.for-pc {
    display: none !important;
  }
}
.home section.company .button-more.for-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .home section.company .button-more.for-sp {
    display: block;
    margin-left: 17.5px;
  }
}

@media screen and (max-width: 767px) {
  .home section.company .inner {
    padding: 40px 40px;
  }
  .about-company .company-image {
    width: 40%;
    height: auto;
  }
  .about-company .company-image img {
    width: 100%;
    height: unset;
    border-radius: 10px;
  }
  .about-company .company-info {
    width: 60%;
    padding: 0;
  }
  .about-company .company-info p br {
    display: none;
  }
}
@media screen and (max-width: 567px) {
  .home section.company .inner {
    padding: 30px 30px;
  }
}
@media screen and (max-width: 375px) {
  .home section.company .inner {
    padding: 30px 20px;
  }
  .about-company {
    display: flex;
    flex-direction: column-reverse;
  }
  .about-company .company-image {
    width: 100%;
    height: auto;
    margin-right: 0;
  }
  .about-company .company-image img {
    width: 100%;
  }
  .about-company .company-info {
    width: 100%;
    margin-bottom: 30px;
  }
}
/*--------------------------------------------------------------
Home RECRUIT（採用情報）
--------------------------------------------------------------*/
.home section.recruit {
  position: relative;
  margin-bottom: 250px; /* .about-recruitを下にずらした分プラス */
}
@media screen and (max-width: 1023px) {
  .home section.recruit {
    margin-bottom: 180px;
  }
}
@media screen and (max-width: 767px) {
  .home section.recruit {
    margin-top: 280px;
    margin-bottom: 80px;
  }
}
.home section.recruit .back-image {
  width: 100%;
  height: 570px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .home section.recruit .back-image {
    height: 300px;
    position: absolute;
    top: -200px;
  }
}
.home section.recruit .back-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
}

.home section.recruit h2 {
  position: absolute;
  bottom: 220px;
  left: 50%;
  transform: translateX(-50%);
  max-width: 1160px;
  width: 100%;
}
@media screen and (max-width: 1200px) {
  .home section.recruit h2 {
    left: 20px;
    transform: unset;
    width: calc(100% - 40px);
  }
}
@media screen and (max-width: 1023px) {
  .home section.recruit h2 {
    bottom: 160px;
  }
}
@media screen and (max-width: 1110px) {
  .home section.recruit h2.for-pc {
    display: block !important;
  }
}
@media screen and (max-width: 767px) {
  .home section.recruit h2.for-pc {
    display: none !important;
  }
}
.home section.recruit h2.for-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .home section.recruit h2.for-sp {
    display: block;
    position: unset;
    margin: 0 0 70px;
    width: 100%;
  }
}

.about-recruit {
  background-color: #fff;
  border-radius: 10px;
  padding: 70px 70px 50px;
  position: absolute;
  bottom: -100px;
  left: calc(50% - 40px);
  transform: translateX(-50%);
  max-width: 1160px;
  width: 100%;
}
@media screen and (max-width: 1280px) {
  .about-recruit {
    left: 20px;
    transform: unset;
  }
}
@media screen and (max-width: 1200px) {
  .about-recruit {
    padding: 60px 40px 40px;
    width: calc(100% - 40px);
  }
}
@media screen and (max-width: 767px) {
  .about-recruit {
    padding: 60px 40px 60px;
    position: relative;
    margin: 0 auto;
    max-width: unset;
    left: unset;
    bottom: unset;
    margin-top: 200px;
  }
}
@media screen and (max-width: 567px) {
  .about-recruit {
    padding: 40px 30px 50px;
  }
}
@media screen and (max-width: 375px) {
  .about-recruit {
    padding: 40px 20px 40px;
  }
}

.about-recruit .pure-g > * {
  align-content: flex-end;
}
@media screen and (max-width: 1023px) {
  .about-recruit .pure-g > * {
    align-content: center;
  }
}

.about-recruit h3 {
  font-family: "Noto Serif JP", serif;
  font-size: 2.2rem;
  font-weight: 300;
  letter-spacing: 4px;
  line-height: 50px;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .about-recruit h3 {
    font-size: 1.8rem;
    letter-spacing: 3px;
    line-height: 40px;
    padding-right: 30px;
  }
  .about-recruit h3 br {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .about-recruit h3 {
    padding-right: 0;
  }
  .about-recruit h3 br {
    display: block;
  }
}
@media screen and (max-width: 567px) {
  .about-recruit h3 {
    font-size: 1.7rem;
    line-height: 38px;
  }
}
.about-recruit h3::before {
  content: "";
  background-image: url("images/double-quotation_recruit.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 25px;
  height: 25px;
  left: 0;
  top: -45px;
  position: absolute;
}
@media screen and (max-width: 1023px) {
  .about-recruit h3::before {
    width: 20px;
    height: 20px;
    top: -35px;
  }
}
@media screen and (max-width: 567px) {
  .about-recruit h3::before {
    top: -30px;
  }
}

.about-recruit .sepa-text-wrap p {
  font-size: 1.5rem;
  line-height: 2.2;
}
@media screen and (max-width: 1023px) {
  .about-recruit .sepa-text-wrap p {
    font-size: 1.4rem;
    line-height: 2;
  }
}
@media screen and (max-width: 767px) {
  .about-recruit .sepa-text-wrap p {
    margin: 30px 0 40px;
  }
}

@media screen and (max-width: 767px) {
  .about-recruit .button-more {
    text-align: center;
  }
}
/*--------------------------------------------------------------
Blog（ブログ）
--------------------------------------------------------------*/
section.blog {
  margin: 150px 0;
}
section.blog h2 {
  margin: 0 0 60px;
}
section.blog h2 .title-blog {
  text-align: center;
}
section.blog h2 .title-blog img {
  height: 50px;
}

@media screen and (max-width: 1023px) {
  section.blog h2 {
    margin: 0 0 40px;
  }
  section.blog h2 .title-blog img {
    height: 40px;
  }
}
@media screen and (max-width: 567px) {
  section.blog {
    margin: 100px 0;
  }
  section.blog h2 {
    margin: 0 0 25px;
  }
  section.blog h2 .title-blog {
    padding-bottom: 5px;
  }
  section.blog h2 .title-blog img {
    height: auto;
    max-width: 100%;
  }
}
.blog-puzzle-wrap {
  display: flex;
  flex-direction: row;
  margin: 0 1.8%;
}

.blog-puzzle-wrap a {
  display: inline-block;
  position: relative;
  margin: 0 -1.8%;
}
.blog-puzzle-wrap a .blog-name {
  color: #fff;
  font-size: 1.8rem;
  position: absolute;
  bottom: 7%;
  left: 5%;
  line-height: 1.4;
  width: 81.89%;
  padding-right: calc(5% + 35px);
}
@media screen and (max-width: 1023px) {
  .blog-puzzle-wrap a .blog-name {
    font-size: 1.5rem;
  }
}
.blog-puzzle-wrap a::after {
  content: "";
  background-image: url("images/icon_arrow.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  width: 35px;
  height: 35px;
  bottom: 5%;
  right: 5%;
}
@media screen and (max-width: 1023px) {
  .blog-puzzle-wrap a::after {
    width: 30px;
    height: 30px;
  }
}

.blog-puzzle-wrap a.facility::after,
.blog-puzzle-wrap a.working::after,
.blog-puzzle-wrap a.voice::after {
  right: 18.11%;
}
@media screen and (max-width: 1023px) {
  .blog-puzzle-wrap a.facility::after,
  .blog-puzzle-wrap a.working::after,
  .blog-puzzle-wrap a.voice::after {
    right: 18.11%;
  }
}

.blog-puzzle-cont {
  position: relative;
}
.blog-puzzle-cont img {
  display: block;
  width: 100%;
}

.working .blog-puzzle-cont img.for-2column {
  display: none;
}

.blog-puzzle-wrap .blog-icon {
  background: rgba(255, 255, 255, 0.6);
  overflow: hidden;
  line-height: 0;
  border-radius: 50%;
  position: absolute;
  top: 12%;
  left: 50%;
  transform: translateX(-50%);
  height: 58%;
  width: 58%;
}
.blog-puzzle-wrap .blog-icon .image-box {
  width: auto;
  height: 100%;
}
.blog-puzzle-wrap .blog-icon .image-box img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.4s ease; /* ゆっくり変化させる */
}

.blog-puzzle-wrap .facility .blog-icon,
.blog-puzzle-wrap .working .blog-icon,
.blog-puzzle-wrap .voice .blog-icon {
  transform: translateX(-63.11%);
  width: 50.378582109%;
}

.blog-puzzle-wrap .facility .blog-icon img,
.blog-puzzle-wrap .voice .blog-icon img {
  width: 100%;
}

.blog-puzzle-wrap .working .blog-icon img,
.blog-puzzle-wrap .stafblog .blog-icon img {
  width: 100%;
}

section.blog a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {
  .blog-puzzle-wrap {
    flex-wrap: wrap;
    gap: 5px 0;
    margin: 0 auto;
  }
  .blog-puzzle-wrap a.working img.for-4column {
    display: none;
  }
  .blog-puzzle-wrap a.working img.for-2column {
    display: block;
    width: 100%;
  }
  .blog-puzzle-wrap a.working .blog-icon {
    transform: translateX(-50%);
    width: 58%;
  }
  .blog-puzzle-wrap a {
    width: 49.75%;
    /* 2列化のベース幅（viewportの半分） */
    margin: 0;
  }
  .blog-puzzle-wrap a.facility,
  .blog-puzzle-wrap a.voice {
    width: 57.25% !important;
    /* 横に広げる */
    margin-right: -7% !important;
  }
  .blog-puzzle-wrap a.working::after {
    right: 5%;
  }
  .blog-puzzle-wrap a:nth-child(even) .blog-name {
    width: 95%;
  }
}
@media screen and (max-width: 375px) {
  .blog-puzzle-wrap a .blog-name {
    bottom: 5%;
    font-size: 1.3rem;
  }
}
/*--------------------------------------------------------------
footer Contact（お問い合わせ ※フッター）
--------------------------------------------------------------*/
section.contact {
  background: #fff;
  display: flex;
}

.contact-image {
  line-height: 0;
  width: 45%;
}
.contact-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.contact-info {
  width: 55%;
  display: flex;
  align-items: center;
  position: relative;
}
.contact-info::after {
  content: "";
  background-image: url("images/contact_back_logo.png");
  background-size: contain;
  background-position: right;
  background-repeat: no-repeat;
  position: absolute;
  width: 100%;
  height: 100%;
  right: 0;
  opacity: 0.1;
}
.contact-info p {
  font-size: 1.5rem;
  line-height: 2.2;
}
@media screen and (max-width: 1023px) {
  .contact-info p {
    font-size: 1.4rem;
    line-height: 2;
  }
}

section.contact .tel-info {
  display: flex;
  margin: 30px 0 40px;
}
section.contact .tel-info .info-img {
  height: 65px;
  width: 90px;
  margin: auto 0;
}
section.contact .tel-info .info-img img {
  height: 100%;
}

section.contact .info-text {
  padding-left: 25px;
  border-left: 1px solid #DEDEDE;
}
section.contact .info-text a {
  font-family: "Akshar", sans-serif;
  font-size: 5.5rem;
  font-weight: 500;
  letter-spacing: 2px;
  line-height: 1;
}
section.contact .info-text p {
  font-size: 1.4rem;
  line-height: 1;
  margin-top: 5px;
}
@media screen and (max-width: 1023px) {
  section.contact .info-text p {
    font-size: 1.3rem;
  }
}

.contact-inner {
  padding: 60px 20px;
  max-width: 600px;
  margin: 0 auto;
  z-index: 10;
}

section.contact .button-list {
  display: flex;
  flex-direction: column;
  gap: 10px 0;
  text-align: center;
}
section.contact .button-list .button-more {
  margin-top: 0;
}
section.contact .button-list .button-more a {
  border-radius: 0;
  width: 100%;
  padding: 18px 60px 18px 60px;
}
section.contact .button-list .button-more a::after {
  right: 20px;
}
section.contact .button-list .button-more.mail a {
  background-color: #6ab9cc;
  border: 1px solid #6ab9cc;
}
section.contact .button-list .button-more.mail a::before {
  content: "";
  background-image: url("images/icon_contact_white.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  width: 35px;
  height: 35px;
  top: 50%;
  transform: translateY(-50%);
  left: 25px;
}
section.contact .button-list .button-more.mail a:hover {
  color: #6ab9cc !important;
}
section.contact .button-list .button-more.mail a:hover::before {
  background-image: url("images/icon_contact_blue.svg");
  transition: 0.2s;
}
section.contact .button-list .button-more.mail a:hover::after {
  width: 1.8em;
  height: 1.8em;
  right: 15px !important;
  transition: 0.2s;
}
section.contact .button-list .button-more.request a {
  background-color: #fca518;
  border: 1px solid #fca518;
}
section.contact .button-list .button-more.request a::before {
  content: "";
  background-image: url("images/icon_request_white.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  width: 35px;
  height: 35px;
  top: 50%;
  transform: translateY(-50%);
  left: 25px;
}
section.contact .button-list .button-more.request a:hover {
  color: #fca518 !important;
}
section.contact .button-list .button-more.request a:hover::before {
  background-image: url("images/icon_request_orange.svg");
  transition: 0.2s;
}
section.contact .button-list .button-more.request a:hover::after {
  width: 1.8em;
  height: 1.8em;
  right: 15px !important;
  transition: 0.2s;
}

@media screen and (max-width: 1023px) {
  section.contact .tel-info .info-img {
    height: 60px;
    width: 80px;
  }
  section.contact .info-text a {
    font-size: 4.5rem;
  }
}
@media screen and (max-width: 767px) {
  section.contact {
    flex-direction: column-reverse;
  }
  section.contact .tel-info {
    justify-content: center;
  }
  .contact-image {
    width: 100%;
  }
  .contact-info {
    width: 100%;
  }
}
@media screen and (max-width: 567px) {
  section.contact .tel-info .info-img {
    height: 45px;
    width: 65px;
  }
  section.contact .info-text a {
    font-size: 3.3rem;
  }
}
/* 施設・事業所紹介　アーカイブページ */
.facility-list + h2 {
  margin: 5em 0 2em !important;
}
.facility-list .pure-g {
  gap: 40px 0;
}
.facility-list a {
  background-color: #fff;
  border-radius: 10px;
  display: flex;
  min-height: 348px;
  max-height: 348px;
  text-decoration: none;
  overflow: hidden;
  padding: 0;
  width: 100%;
  position: relative;
}
.facility-list a .facility-image {
  width: 40%;
  line-height: 0;
  overflow: hidden;
}
.facility-list a .facility-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.4s ease;
}
.facility-list a::after {
  content: "";
  background: url("images/icon_arrow_gradation.svg") no-repeat center center/contain;
  width: 30px;
  height: 30px;
  bottom: 40px;
  right: 40px;
  position: absolute;
}
.facility-list a .facility-text {
  width: 60%;
  padding: 40px;
}
.facility-list a .facility-name {
  font-size: 2rem;
  font-weight: 600;
}
.facility-list a .facility-address {
  font-size: 1.5rem;
  margin-top: 15px;
}
.facility-list .facility-integrated {
  background-color: #ebf0bc;
  margin: 25px 0;
  padding: 20px;
  line-height: 1.5;
}
.facility-list .facility-integrated .facility-integrated-title {
  color: #b6c91b;
  font-weight: 600;
}
.facility-list .facility-integrated .facility-integrated-list {
  margin-top: 5px;
}

@media screen and (max-width: 1023px) {
  .facility-list .pure-g {
    gap: 30px 0;
  }
  .facility-list a {
    min-height: 300px;
    max-height: 300px;
  }
  .facility-list a .facility-text {
    padding: 30px;
  }
  .facility-list a .facility-integrated {
    background-color: #ebf0bc;
    margin: 15px 0;
    padding: 15px;
  }
  .facility-list a .facility-name {
    font-size: 1.8rem;
  }
  .facility-list a .facility-address {
    font-size: 1.4rem;
  }
  .facility-list a::after {
    bottom: 25px;
    right: 25px;
  }
}
@media screen and (max-width: 767px) {
  .facility-list .pure-g {
    margin: 0 -15px;
  }
  .facility-list .pure-g > * {
    padding: 0 15px;
  }
  .facility-list a {
    flex-direction: column;
    min-height: unset;
    max-height: unset;
  }
  .facility-list a .facility-image {
    width: 100%;
    height: 200px;
  }
  .facility-list a .facility-text {
    width: 100%;
    padding: 20px 20px 60px;
  }
}
/* 事業案内ページ内に表示する施設一覧 */
.business_facility-list .pure-g {
  margin: 0 -15px;
  gap: 30px 0;
}
.business_facility-list .pure-g > * {
  padding: 0 15px;
}

@media screen and (max-width: 1023px) {
  .business_facility-list .pure-g {
    margin: 0 -10px;
  }
  .business_facility-list .pure-g > * {
    padding: 0 10px;
  }
}
.business_facility-container {
  border-radius: 10px;
  overflow: hidden;
  height: 100%;
}
.business_facility-container a {
  background-color: #fff;
  text-decoration: none;
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.business_facility-container a::after {
  content: "";
  background: url("images/icon_arrow_gradation.svg") no-repeat center center/contain;
  width: 30px;
  height: 30px;
  bottom: 25px;
  right: 25px;
  position: absolute;
}
.business_facility-container .facility-image {
  height: 200px;
  overflow: hidden;
}
.business_facility-container .facility-image img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.4s ease;
}
.business_facility-container .facility-text {
  padding: 20px 20px 60px;
}
.business_facility-container .facility-name {
  font-size: 1.8rem;
  font-weight: 600;
}
.business_facility-container .facility-address {
  font-size: 1.4rem;
  margin-top: 15px;
}

.facility-integrated-type {
  background-color: #ebf0bc;
  display: inline-block;
  font-size: 1.3rem;
  padding: 3px 10px;
  line-height: 1.4;
  margin-bottom: 10px;
}

/* 施設一覧表示　共通設定 */
.entry-content .facility-list .facility-type,
.entry-content .business_facility-list .facility-type {
  border: 1px solid #dedede;
  color: #7c7c7c;
  display: inline-block;
  font-size: 1.3rem;
  padding: 2px 10px;
  line-height: 1.4;
  margin-bottom: 10px;
}

.entry-content .facility-list .facility-address span:first-child,
.entry-content .business_facility-list .facility-address span:first-child {
  display: inline-block;
  position: relative;
  padding-left: 20px;
}
.entry-content .facility-list .facility-address span:first-child::before,
.entry-content .business_facility-list .facility-address span:first-child::before {
  content: "";
  background: url("images/icon_mappin_adress.svg") no-repeat center center/contain;
  width: 1.4em;
  height: 1.4em;
  left: -3px;
  top: 0;
  position: absolute;
}

.entry-content .facility-list a:hover,
.entry-content .business_facility-list a:hover {
  opacity: 0.7;
  transition: 0.2s;
  color: #333;
}

/*--------------------------------------------------------------
Regular Content
--------------------------------------------------------------*/
.site-content {
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  .site-content {
    margin-top: 70px;
  }
}

.entry-content {
  margin: 150px auto 180px;
  max-width: 1200px;
  padding: 0 20px;
}

@media screen and (max-width: 1023px) {
  .entry-content {
    margin: 100px auto;
  }
}
@media screen and (max-width: 767px) {
  .entry-content {
    margin: 80px auto;
  }
}
.entry-content + .medihos-list {
  background: #b6c91b;
  margin-bottom: 180px;
  padding: 60px 20px;
}
@media screen and (max-width: 1410px) {
  .entry-content + .medihos-list {
    padding: 30px 20px;
  }
}
@media screen and (max-width: 1023px) {
  .entry-content + .medihos-list {
    margin-bottom: 100px;
  }
}
@media screen and (max-width: 767px) {
  .entry-content + .medihos-list {
    margin-bottom: 80px;
  }
}
.entry-content + .medihos-list .medihos-list-inner {
  background: #fff;
  border-radius: 10px;
  max-width: 1350px;
  margin: 0 auto;
  padding: 60px 60px;
}
@media screen and (max-width: 1023px) {
  .entry-content + .medihos-list .medihos-list-inner {
    padding: 40px 40px;
  }
}
@media screen and (max-width: 567px) {
  .entry-content + .medihos-list .medihos-list-inner {
    padding: 30px 30px;
  }
}
.entry-content + .medihos-list .medihos-list-inner .facility-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 867px) {
  .entry-content + .medihos-list .medihos-list-inner .facility-title {
    align-items: start;
    flex-direction: column;
  }
}
.entry-content + .medihos-list .medihos-list-inner .facility-title .button-more {
  margin-top: 0;
}
@media screen and (max-width: 867px) {
  .entry-content + .medihos-list .medihos-list-inner .facility-title .button-more {
    margin: 0 auto;
    margin-top: 30px;
  }
}

@media screen and (max-width: 567px) {
  .entry-content + .medihos-list .button-more a {
    width: 100%;
  }
}
.entry-content + .office-map {
  margin-bottom: 180px;
}
@media screen and (max-width: 1023px) {
  .entry-content + .office-map {
    margin-bottom: 100px;
  }
  .entry-content + .office-map iframe {
    height: 350px;
  }
}
@media screen and (max-width: 767px) {
  .entry-content + .office-map {
    margin-bottom: 80px;
  }
  .entry-content + .office-map iframe {
    height: 300px;
  }
}

.entry-content h1 + h2 {
  margin: 3em 0 2em !important;
}
.entry-content h1 + .alignright {
  margin: 50px 0 20px 30px !important;
}
.entry-content h1 + ul,
.entry-content h1 + p,
.entry-content h1 + .alignright + p,
.entry-content h1 + .explanation,
.entry-content h1 + .wp-block-image,
.entry-content h1 + .point,
.entry-content h1 + .point-white {
  margin-top: 50px !important;
}
.entry-content h2 a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])::after,
.entry-content h3 a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])::after,
.entry-content h4 a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])::after,
.entry-content h5 a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])::after,
.entry-content h6 a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])::after,
.entry-content p a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])::after,
.entry-content ol a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])::after,
.entry-content ul:not(.anchor):not(.anchor2):not(.anchor4):not(ul.button2):not(ul.button3) a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])::after,
.entry-content table a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])::after {
  content: "\f138";
  color: #b6c91b;
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}
.entry-content h2 a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])[href^="#"]::after,
.entry-content h3 a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])[href^="#"]::after,
.entry-content h4 a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])[href^="#"]::after,
.entry-content h5 a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])[href^="#"]::after,
.entry-content h6 a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])[href^="#"]::after,
.entry-content p a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])[href^="#"]::after,
.entry-content ol a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])[href^="#"]::after,
.entry-content ul:not(.anchor):not(.anchor2):not(.anchor4):not(ul.button2):not(ul.button3) a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])::after,
.entry-content table a:not(a[target=_blank]):not(a[href$=".pdf"]):not(a[href^="mailto:"]):not(a[href^="tel:"])[href^="#"]::after {
  transform: rotate(90deg);
}
.entry-content h2,
.entry-content .div-title,
.entry-content .div-title-shitsu,
.entry-content #up_hist {
  background: #ebf0bc;
  border-radius: 5px;
  color: #333;
  font-weight: 500;
  padding: 0.6em 1.2em;
  position: relative;
}
.entry-content h2::before,
.entry-content .div-title::before,
.entry-content .div-title-shitsu::before,
.entry-content #up_hist::before {
  content: "";
  background: linear-gradient(180deg, #39a45d, #9ac03d 50%, #f5e200);
  border-radius: 0px 3px 3px 0;
  width: 6px;
  height: 55%;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  position: absolute;
}
.entry-content h2 {
  margin: 5em 0 2em !important;
}
.entry-content h2:first-child {
  margin: 0 0 2em !important;
}

.entry-content > ul.anchor + h2, .entry-content > ul.anchor2 + h2, .entry-content > ul.anchor4 + h2 {
  margin: 3em 0 2em !important;
}
.entry-content .anchor + h2,
.entry-content .anchor2 + h2,
.entry-content .anchor4 + h2 {
  margin: 3em 0 2em !important;
}
.entry-content h2#treatment, .entry-content h2#treatment01 {
  margin: 3em 0 2em !important;
}
.entry-content h2.no-decoration {
  border: none;
  padding: 0;
}

.entry-content [id^=cd_top3_nm_],
.entry-content [id^=ope_top3_nm_],
.entry-content [id^=cd_top5_nm_],
.entry-content [id^=ope_top5_nm_] {
  margin: 3em 0 2em !important;
  background-color: #559597;
  border: 1.5px solid #333;
  border-radius: 10px;
  color: white;
  display: inline-block;
  padding: 10px 20px;
}
.entry-content h3 {
  margin: 3em 0 2em !important;
}

.entry-content .flow h3 {
  background-color: unset;
  color: #b6c91b;
}

.entry-content h3 {
  border-bottom: 1px solid #b5b5b5;
  padding-left: 25px;
  padding-bottom: 10px;
  position: relative;
}
.entry-content h3::before {
  content: "";
  background: #b6c91b;
  border-radius: 0.75em;
  display: block;
  position: absolute;
  top: calc(50% - 5px);
  transform: translateY(-50%);
  left: 0;
  width: 0.4em;
  height: 0.4em;
}

.entry-content h4 {
  margin: 2.5em 0 1em !important;
  color: #333;
  padding: 0 0 0 20px;
  position: relative;
}
.entry-content h4.no-decoration {
  padding: 0;
}
.entry-content h4.no-decoration::before {
  content: none;
}

.entry-content h4::before {
  background: #b6c91b;
  content: "";
  display: inline-block;
  width: 7px;
  height: 25px;
  position: absolute;
  top: 0.23em;
  left: 0;
}
@media screen and (max-width: 1023px) {
  .entry-content h4::before {
    width: 6px;
    top: 0.15em;
  }
}

.entry-content h5 {
  color: #333;
  margin: 2em 0 0.5em !important;
  padding: 0 0 0 1.6em;
  position: relative;
}
.entry-content h5.no-decoration {
  padding: 0;
}
.entry-content h5.no-decoration::before {
  content: none;
}

.entry-content h5::before {
  background: #333;
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0.8em;
  width: 1em;
  height: 1px;
}
.entry-content h6 {
  margin: 2em 0 0.5em !important;
}
.entry-content h2 + h3,
.entry-content h3 + h4,
.entry-content h4 + h5,
.entry-content h5 + h6,
.entry-content [id^=cd_top3_nm_0],
.entry-content [id^=ope_top3_nm_0],
.entry-content [id^=cd_top5_nm_0],
.entry-content [id^=ope_top5_nm_0] {
  margin-top: 0.6em !important;
}
.entry-content h1 + .pure-g,
.entry-content h2 + .pure-g,
.entry-content h1 + *,
.entry-content h2 + * {
  margin-top: 30px;
}
.entry-content *:not(h2):not(h3):not(h4):not(h5):not(h6):not(ul > li *):not(ol > li *) + p,
.entry-content *:not(h2):not(h3):not(h4):not(h5):not(h6):not(ul > li *):not(ol > li *) + ul,
.entry-content *:not(h2):not(h3):not(h4):not(h5):not(h6):not(ul > li *):not(ol > li *) + ol,
.entry-content *:not(h2):not(h3):not(h4):not(h5):not(h6):not(ul > li *):not(ol > li *) + .point,
.entry-content *:not(h2):not(h3):not(h4):not(h5):not(h6):not(ul > li *):not(ol > li *) + .explanation {
  margin-top: 25px;
}
.entry-content *:not(h2):not(h3):not(h4):not(h5):not(h6):not(ul > li *):not(ol > li *) + .point-white,
.entry-content *:not(h2):not(h3):not(h4):not(h5):not(h6):not(ul > li *):not(ol > li *) + .box_with-title,
.entry-content *:not(h2):not(h3):not(h4):not(h5):not(h6):not(ul > li *):not(ol > li *) + .service-list {
  margin-top: 35px;
}
@media screen and (max-width: 767px) {
  .entry-content *:not(h2):not(h3):not(h4):not(h5):not(h6):not(ul > li *):not(ol > li *) + .point-white,
  .entry-content *:not(h2):not(h3):not(h4):not(h5):not(h6):not(ul > li *):not(ol > li *) + .box_with-title,
  .entry-content *:not(h2):not(h3):not(h4):not(h5):not(h6):not(ul > li *):not(ol > li *) + .service-list {
    margin-top: 25px;
  }
}
.entry-content .point + *,
.entry-content .explanation + * {
  margin-top: 25px;
}
.entry-content .point-white + *,
.entry-content .box_with-title + *,
.entry-content .service-list + * {
  margin-top: 35px;
}
@media screen and (max-width: 767px) {
  .entry-content .point-white + *,
  .entry-content .box_with-title + *,
  .entry-content .service-list + * {
    margin-top: 25px;
  }
}
.entry-content .wp-block-column.point + .wp-block-column.point, .entry-content .wp-block-column.point-white + .wp-block-column.point-white, .entry-content .wp-block-column.explanation + .wp-block-column.explanation, .entry-content .wp-block-column.box_with-title + .wp-block-column.box_with-title, .entry-content .wp-block-column.service-list + .wp-block-column.service-list {
  margin-top: 0 !important;
}
.entry-content p {
  line-height: 2;
}
.entry-content .lead {
  color: #333;
  font-size: 2.4rem;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  line-height: 1.8;
}
.entry-content .lead-philosophy {
  color: #b6c91b;
  font-family: "soleil", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 2.8rem;
  letter-spacing: 5px;
  line-height: 1.4;
}
.entry-content .lead-philosophy span {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
}
.entry-content .lead + h2,
.entry-content .lead-philosophy + h2 {
  margin: 3em 0 2em !important;
}
.entry-content * + .lead,
.entry-content * + .lead-philosophy {
  margin-top: 40px;
}
.entry-content .button2 a,
.entry-content .button3 a,
.entry-content .wp-block-button a {
  background-color: #b6c91b;
  border: 1px solid #b6c91b;
  border-radius: 30px;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 1px;
  line-height: 1.5;
  padding: 12px 40px 12px 40px !important;
  position: relative;
  text-align: center;
  text-decoration: none;
  display: flex;
  flex-direction: row;
  align-items: center;
  height: 100%;
  min-height: 50px;
  justify-content: center;
}
@media screen and (max-width: 1023px) {
  .entry-content .button2 a,
  .entry-content .button3 a,
  .entry-content .wp-block-button a {
    font-size: 1.4rem;
  }
}
.entry-content .fileInfo {
  font-size: 1.2rem;
  display: inline-flex;
  margin-left: 5px;
  position: relative;
}
.entry-content a[href$=".pdf"] .fileInfo::after {
  content: "";
  background-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-size: contain;
  -webkit-mask-size: contain;
          mask-size: contain;
  pointer-events: none;
  background-image: url("images/icon-PDF.svg") !important;
  width: 12px;
  height: 15px;
  margin: auto 5px auto 8px;
  display: inline-block;
  position: absolute;
  right: -2em;
  top: 50%;
  transform: translateY(-50%);
}
.entry-content a[href$=".doc"] .fileInfo::after,
.entry-content a[href$=".docx"] .fileInfo::after {
  content: "";
  background-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-size: contain;
  -webkit-mask-size: contain;
          mask-size: contain;
  pointer-events: none;
  background-image: url("images/icon-Word.svg") !important;
  width: 12px;
  height: 15px;
  margin: auto 5px auto 8px;
  display: inline-block;
  position: absolute;
  right: -2em;
  top: 50%;
  transform: translateY(-50%);
}
.entry-content a[href$=".xls"] .fileInfo::after,
.entry-content a[href$=".xlsx"] .fileInfo::after {
  content: "";
  background-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-size: contain;
  -webkit-mask-size: contain;
          mask-size: contain;
  pointer-events: none;
  background-image: url("images/icon-Excel.svg") !important;
  width: 12px;
  height: 15px;
  margin: auto 5px auto 8px;
  display: inline-block;
  position: absolute;
  right: -2em;
  top: 50%;
  transform: translateY(-50%);
}
.entry-content .wp-block-button a {
  width: 350px;
}
@media screen and (max-width: 400px) {
  .entry-content .wp-block-button a {
    width: 100%;
  }
}
.entry-content .wp-block-buttons.anchor2 .wp-block-button a,
.entry-content .wp-block-buttons.anchor .wp-block-button a,
.entry-content .wp-block-buttons.anchor4 .wp-block-button a {
  align-items: start !important;
}
.entry-content .wp-block-button a {
  padding: 12px 40px 12px 40px;
}
.entry-content .button2 a:hover,
.entry-content .button3 a:hover,
.entry-content .wp-block-button a:hover {
  background: #fff;
  color: #b6c91b;
  transition: 0.2s;
}
.entry-content .button2 a:hover::after,
.entry-content .button3 a:hover::after,
.entry-content .wp-block-button a:hover::after {
  width: 1.7em;
  height: 1.7em;
  right: 9px;
  transition: 0.2s;
}

@media screen and (max-width: 1023px) {
  .entry-content .lead {
    font-size: 2.2rem;
  }
  .entry-content .lead-philosophy {
    font-size: 2.6rem;
  }
  .entry-content .lead-philosophy span {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .entry-content .lead {
    font-size: 2rem;
  }
  .entry-content .lead-philosophy {
    font-size: 2.4rem;
  }
  .entry-content .lead-philosophy span {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .entry-content * + .lead {
    margin-top: 15px;
  }
}
.entry-content .button2 a::after,
.entry-content .button3 a::after,
.entry-content .wp-block-button a::after,
.entry-content .anchor2 .wp-block-button.pagelink a::after,
.entry-content .anchor .wp-block-button.pagelink a::after,
.entry-content .anchor4 .wp-block-button.pagelink a::after {
  padding: 0 5px;
  display: inline-block;
  text-decoration: none !important;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  background: url("images/icon_arrow.svg") no-repeat center center/contain;
  content: "";
  display: block;
  width: 1.3em;
  height: 1.3em;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
}

.anchor2 .wp-block-button.pagelink a,
.anchor .wp-block-button.pagelink a,
.anchor4 .wp-block-button.pagelink a {
  padding: 13px 50px 7px 25px !important;
}
.anchor2 .wp-block-button.pagelink a::after,
.anchor .wp-block-button.pagelink a::after,
.anchor4 .wp-block-button.pagelink a::after {
  height: 1.1em !important;
  width: 1.1em !important;
}

.anchor2 .wp-block-button:not(.pagelink) a::after,
.anchor .wp-block-button:not(.pagelink) a::after,
.anchor4 .wp-block-button:not(.pagelink) a::after {
  right: unset;
  left: 20px;
  top: calc(50% + 2px);
  height: 1.1em;
  width: 1.1em;
}

.wp-block-buttons.anchor2 .wp-block-button a:not([href]):hover,
.wp-block-buttons.anchor .wp-block-button a:not([href]):hover,
.wp-block-buttons.anchor4 .wp-block-button a:not([href]):hover {
  border-bottom: 2px solid #fff;
  cursor: unset;
}
.wp-block-buttons.anchor2 .wp-block-button a:not([href])::after,
.wp-block-buttons.anchor .wp-block-button a:not([href])::after,
.wp-block-buttons.anchor4 .wp-block-button a:not([href])::after {
  content: none;
}

.entry-content .button2 a[href^="#"]::after,
.entry-content .button3 a[href^="#"]::after,
.entry-content .wp-block-button a[href^="#"]::after,
.entry-content .anchor2 .wp-block-button a[href="#"]::after,
.entry-content .anchor .wp-block-button a[href="#"]::after,
.entry-content .anchor4 .wp-block-button a[href="#"]::after {
  transform: translateY(-50%) rotate(90deg);
}
.entry-content .button2 a[href="#"]::after,
.entry-content .button3 a[href="#"]::after,
.entry-content .wp-block-button a[href="#"]::after {
  transform: translateY(-50%);
}
.entry-content .button2 a[target=_blank]::after,
.entry-content .button3 a[target=_blank]::after,
.entry-content .wp-block-button a[target=_blank]::after {
  background: url("images/icon_arrow.svg") no-repeat center center/contain !important;
}

.entry-content .button2 a[href$=".pdf"]::after, .entry-content .button2 a[href*=".pdf#page="]::after {
  background: url("images/icon_arrow.svg") no-repeat center center/contain;
}
.entry-content .button3 a[href$=".pdf"]::after, .entry-content .button3 a[href*=".pdf#page="]::after {
  background: url("images/icon_arrow.svg") no-repeat center center/contain;
}
.entry-content .wp-block-button a[href$=".pdf"]::after, .entry-content .wp-block-button a[href*=".pdf#page="]::after {
  background: url("images/icon_arrow.svg") no-repeat center center/contain;
}

.entry-content .button2 a[href$=".doc"]::after, .entry-content .button2 a[href$=".docx"]::after {
  background: url("images/icon_arrow.svg") no-repeat center center/contain;
}
.entry-content .button3 a[href$=".doc"]::after, .entry-content .button3 a[href$=".docx"]::after {
  background: url("images/icon_arrow.svg") no-repeat center center/contain;
}
.entry-content .wp-block-button a[href$=".doc"]::after, .entry-content .wp-block-button a[href$=".docx"]::after {
  background: url("images/icon_arrow.svg") no-repeat center center/contain;
}

.entry-content .button2 a[href$=".xls"]::after, .entry-content .button2 a[href$=".xlsx"]::after {
  background: url("images/icon_arrow.svg") no-repeat center center/contain;
}
.entry-content .button3 a[href$=".xls"]::after, .entry-content .button3 a[href$=".xlsx"]::after {
  background: url("images/icon_arrow.svg") no-repeat center center/contain;
}
.entry-content .wp-block-button a[href$=".xls"]::after, .entry-content .wp-block-button a[href$=".xlsx"]::after {
  background: url("images/icon_arrow.svg") no-repeat center center/contain;
}

.entry-content .button2 a:hover,
.entry-content .button3 a:hover,
.entry-content .wp-block-button a:hover {
  transition: 0.2s;
}
.entry-content a[href^=http] {
  overflow-wrap: break-word;
}
.entry-content a:hover {
  color: #ea613a;
}

@media screen and (max-width: 781px) {
  .entry-content .column-reverse {
    flex-direction: column-reverse;
  }
}
.entry-content table {
  border-collapse: collapse;
  width: 100%;
  margin: 15px 0 0;
}
.entry-content table caption {
  font-size: 1.4rem !important;
  margin: 0 0 10px;
  text-align: right;
}
.entry-content table img {
  min-width: 30px;
}
.entry-content p:not(.point):not(.point-white):not(.explanation) + table {
  margin: 20px 0 0;
}
.entry-content thead th,
.entry-content thead td {
  background: #f5f4f4 !important;
  color: #7c7c7c;
  font-weight: 500;
}
.entry-content tfoot th,
.entry-content tfoot td {
  background: #f5f4f4 !important;
  color: #7c7c7c;
  font-weight: 500;
}

.entry-content tbody th {
  font-weight: 500;
}

.entry-content th,
.entry-content td {
  border: 1px solid #b5b5b5 !important;
  padding: 15px 15px !important;
}
@media screen and (max-width: 567px) {
  .entry-content th,
  .entry-content td {
    padding: 10px 10px !important;
  }
}
.entry-content .no-line th,
.entry-content .no-line td {
  border: none !important;
  border-top: 1px solid #b5b5b5 !important;
  border-bottom: 1px solid #b5b5b5 !important;
}
.entry-content th > *:first-child,
.entry-content td > *:first-child {
  margin-top: 0 !important;
}
.entry-content th > *:last-child,
.entry-content td > *:last-child {
  margin-bottom: 0 !important;
}
.entry-content th {
  background: #f5f4f4;
  color: #404040;
  font-weight: normal;
}
.entry-content .no-line th {
  background: #EBF0BC !important;
}

.entry-content th {
  text-align: left;
}
.entry-content th:first-child:not(.dept-schedule th) {
  width: 20%;
}
.entry-content > *:first-child {
  margin-top: 0 !important;
}
.entry-content > *:last-child {
  margin-bottom: 0 !important;
}
.entry-content iframe {
  max-width: 100%;
}

.entry-header {
  position: relative;
}

@media screen and (max-width: 1023px) {
  .entry-title {
    line-height: 1.4;
  }
}

.entry-title-parent {
  font-size: 16px;
  padding-bottom: 5px;
}
@media screen and (max-width: 1023px) {
  .entry-title-parent {
    font-size: 14px;
  }
}
@media screen and (max-width: 375px) {
  .entry-title-parent {
    font-size: 12px;
    padding-bottom: 3px;
  }
}

/*--------------------------------------------------------------
固定ページトップ ページタイトル、サムネイル
--------------------------------------------------------------*/
.entry-header {
  margin-top: 80px;
}
@media screen and (max-width: 1023px) {
  .entry-header {
    margin-top: 0;
  }
}
.entry-header .entry-header-inner {
  margin: 0 auto;
  max-width: 1350px;
  padding: 0 20px;
  width: 100%;
}
.entry-header .entry-header-inner .pure-g {
  position: relative;
}
.entry-header .entry-header-inner .facility-type {
  background-color: #fff;
  border: 1px solid #dedede;
  color: #7c7c7c;
  display: inline-block;
  font-size: 1.3rem;
  padding: 2px 10px;
  line-height: 1.4;
}
.entry-header .entry-header-inner .parent-title {
  background: linear-gradient(90deg, #39a45d, #9ac03d 50%, #f5e200);
  border-radius: 2px;
  color: #fff;
  display: inline-block;
  font-size: 1.3rem;
  letter-spacing: 2px;
  margin-bottom: 15px;
  padding: 2px 20px;
}
.entry-header .entry-header-inner .title-en {
  color: #b6c91b;
  font-size: 1.4rem;
  font-family: "soleil", sans-serif;
  font-weight: 500;
  letter-spacing: 2px;
  padding-left: 10px;
  position: relative;
}
.entry-header .entry-header-inner .title-en::before {
  background: #b6c91b;
  border-radius: 0.75em;
  display: block;
  position: absolute;
  top: 0.6em;
  left: 0;
  content: "";
  width: 0.35em;
  height: 0.35em;
}
.entry-header .entry-header-inner .entry-title {
  font-size: 3.6rem;
  font-weight: 600;
  letter-spacing: 2px;
  margin: 1rem 0 4rem;
}
@media screen and (max-width: 1023px) {
  .entry-header .entry-header-inner .entry-title {
    font-size: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .entry-header .entry-header-inner .entry-title {
    font-size: 2.7rem;
  }
}
.entry-header .entry-header-inner .entry-title .parent-title {
  text-align: center;
  font-size: 50%;
}
.entry-header .entry-header-inner .page-explanation {
  font-size: 1.5rem;
  line-height: 2;
}
@media screen and (max-width: 1023px) {
  .entry-header .entry-header-inner .page-explanation {
    font-size: 1.4rem;
  }
}
.entry-header .entry-header-inner .anchor {
  padding: 0;
  margin: 0;
  margin-top: 80px;
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  max-width: 1350px;
  width: 100vw;
}
@media screen and (max-width: 767px) {
  .entry-header .entry-header-inner .anchor {
    gap: 10px;
    margin-top: 40px;
    margin-bottom: 60px;
    width: 100%;
  }
}
.entry-header .entry-header-inner .anchor > li a {
  background: #fff;
  border: 1px solid #DEDEDE;
  border-radius: 2px;
  font-size: 1.4rem;
  padding: 6px 50px 6px 20px;
  position: relative;
  display: flex;
  line-height: 1.4;
}
@media screen and (max-width: 1023px) {
  .entry-header .entry-header-inner .anchor > li a {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 767px) {
  .entry-header .entry-header-inner .anchor > li a {
    padding: 5px 40px 5px 10px;
  }
}
.entry-header .entry-header-inner .anchor > li a::after {
  content: "";
  background: url("images/icon_arrow_anchor.svg") no-repeat center center/contain;
  width: 2.5rem;
  height: 2.5rem;
  top: 50%;
  transform: translateY(-50%);
  right: 15px;
  position: absolute;
}
@media screen and (max-width: 767px) {
  .entry-header .entry-header-inner .anchor > li a::after {
    right: 10px;
  }
}
.entry-header .entry-header-inner .anchor > li a:hover {
  color: #fff;
  background: #b6c91b;
  transition: 0.2s;
}
.entry-header .entry-header-inner .anchor > li a:hover::after {
  background: url("images/icon_arrow_anchor_hover.svg") no-repeat center center/contain;
  transition: 0.2s;
}
.entry-header .entry-header-inner .pure-g > *:last-child {
  position: relative;
}
@media screen and (max-width: 767px) {
  .entry-header .entry-header-inner .pure-g > *:last-child {
    margin: 20px 0 0;
  }
}
.entry-header .entry-header-inner .pure-g > *:last-child .back-title-en {
  position: absolute;
  bottom: 0;
  left: -20px;
  margin-left: -50vw;
  letter-spacing: 15px;
  line-height: 1;
  font-family: "soleil", sans-serif;
  font-size: 100px;
  opacity: 0.04;
  width: 150vw;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .entry-header .entry-header-inner .pure-g > *:last-child .back-title-en {
    font-size: 75px;
    letter-spacing: 10px;
  }
}
@media screen and (max-width: 767px) {
  .entry-header .entry-header-inner .pure-g > *:last-child .back-title-en {
    font-size: 55px;
    left: -40px;
    margin-left: 0;
  }
}

#no-thumbnail.entry-header,
#facility.entry-header {
  border-bottom: 1px solid #dedede;
  padding-bottom: 40px;
}

#no-thumbnail.entry-header {
  position: relative;
  min-height: 324px;
}
@media screen and (max-width: 1023px) {
  #no-thumbnail.entry-header {
    min-height: 304px;
  }
}
@media screen and (max-width: 767px) {
  #no-thumbnail.entry-header {
    min-height: 265px;
  }
}
#no-thumbnail.entry-header .entry-header-inner {
  height: 284px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  z-index: 1;
}
@media screen and (max-width: 1023px) {
  #no-thumbnail.entry-header .entry-header-inner {
    height: 264px;
  }
}
@media screen and (max-width: 767px) {
  #no-thumbnail.entry-header .entry-header-inner {
    height: 225px;
  }
}
#no-thumbnail.entry-header .entry-header-inner .entry-title {
  margin: 1rem 0 0;
}
#no-thumbnail.entry-header .back-title-en {
  position: absolute;
  bottom: -10px;
  right: -15px;
  text-align: right;
  letter-spacing: 15px;
  line-height: 1;
  font-family: "soleil", sans-serif;
  font-size: 85px;
  opacity: 0.04;
  width: 200vw;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  #no-thumbnail.entry-header .back-title-en {
    bottom: -7px;
    font-size: 60px;
    letter-spacing: 10px;
  }
}
@media screen and (max-width: 767px) {
  #no-thumbnail.entry-header .back-title-en {
    bottom: -6px;
    font-size: 45px;
    letter-spacing: 8px;
    width: 150vw;
  }
}

#facility.entry-header {
  position: relative;
  min-height: 324px;
}
@media screen and (max-width: 1023px) {
  #facility.entry-header {
    min-height: 304px;
  }
}
@media screen and (max-width: 767px) {
  #facility.entry-header {
    min-height: 265px;
  }
}
#facility.entry-header .entry-header-inner {
  height: 284px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media screen and (max-width: 1023px) {
  #facility.entry-header .entry-header-inner {
    height: 264px;
  }
}
@media screen and (max-width: 767px) {
  #facility.entry-header .entry-header-inner {
    height: 225px;
  }
}
#facility.entry-header .entry-header-inner .entry-title {
  margin: 1rem 0 0;
}

.entry-header-inner .pure-g > *:first-child {
  z-index: 10;
  padding-right: 60px;
}
@media screen and (max-width: 767px) {
  .entry-header-inner .pure-g > *:first-child {
    padding-right: 0;
  }
}
.entry-header-inner .svg-wrapper {
  position: relative;
  width: 50vw;
  margin-right: calc(-50vw + 50%);
  /* ← .inner の右端から画面の右端へ飛び出す */
  overflow: visible;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .entry-header-inner .svg-wrapper {
    width: calc(100vw - 20%);
    margin: 0 0 0 auto;
    left: 20px;
  }
}
.entry-header-inner .svg-wrapper .full-bleed-svg {
  width: 100%;
  height: auto;
  display: block;
}
.entry-header-inner .svg-wrapper::after {
  content: "";
  background-image: url("images/puzzle-1.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 100%;
  height: 600px;
  top: -170px;
  left: -200px;
  opacity: 0.25;
  position: absolute;
  z-index: -1;
}
@media screen and (max-width: 567px) {
  .entry-header-inner .svg-wrapper::after {
    top: -220px;
    left: -150px;
  }
}
@media screen and (max-width: 375px) {
  .entry-header-inner .svg-wrapper::after {
    left: -100px;
  }
}

/* パンくずリスト */
.breadcrumbs {
  color: #b6c91b;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.5px;
  line-height: 1.5;
  z-index: 20;
  padding: 15px 0 120px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .breadcrumbs {
    padding: 15px 0 60px;
  }
}
@media screen and (max-width: 567px) {
  .breadcrumbs {
    font-size: 1.1rem;
  }
}
.breadcrumbs .fa-circle:before {
  content: "\f111";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

.breadcrumbs span > a {
  margin-right: 50px;
}
@media screen and (max-width: 567px) {
  .breadcrumbs span > a {
    margin-right: 25px;
  }
}

.breadcrumbs a {
  color: #8d8d8d;
  font-size: 1.2rem;
  position: relative;
}
@media screen and (max-width: 567px) {
  .breadcrumbs a {
    font-size: 1.1rem;
  }
}
.breadcrumbs a::after {
  content: "";
  background-image: url("images/icon_bred_dots.svg");
  background-size: contain;
  position: absolute;
  right: -28px;
  top: 50%;
  transform: translateY(-50%);
  width: 0.5em;
  height: 0.5em;
}
@media screen and (max-width: 567px) {
  .breadcrumbs a::after {
    right: -15px;
  }
}

.bc-arrow {
  background: url("images/icon_breadcrumbs.svg") no-repeat center/contain;
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
}

.breadcrumbs span.toppage {
  padding-left: 20px;
  position: relative;
}
.breadcrumbs span.toppage::before {
  content: "";
  background: url("images/icon_bred_home.svg") no-repeat;
  background-size: contain;
  width: 16px;
  height: 16px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  margin-right: 4px;
  position: absolute;
}
@media screen and (max-width: 567px) {
  .breadcrumbs span.toppage::before {
    width: 14px;
    height: 14px;
  }
}

/* アンカー */
.entry-content * + .anchor,
.entry-content * + .anchor2,
.entry-content * + .anchor4 {
  margin-top: 50px;
}

@media screen and (max-width: 1023px) {
  .entry-content * + .anchor,
  .entry-content * + .anchor2,
  .entry-content * + .anchor4 {
    margin-top: 20px;
  }
}
.entry-content .anchor,
.entry-content .anchor2,
.entry-content .anchor4 {
  padding: 0;
  margin: 0;
  margin-top: 80px;
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
.entry-content .anchor > li a,
.entry-content .anchor2 > li a,
.entry-content .anchor4 > li a {
  background: #fff;
  border: 1px solid #DEDEDE;
  border-radius: 2px;
  font-size: 1.4rem;
  padding: 6px 50px 6px 20px;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .entry-content .anchor > li a,
  .entry-content .anchor2 > li a,
  .entry-content .anchor4 > li a {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 767px) {
  .entry-content .anchor > li a,
  .entry-content .anchor2 > li a,
  .entry-content .anchor4 > li a {
    padding: 5px 40px 5px 10px;
  }
}
.entry-content .anchor > li a::after,
.entry-content .anchor2 > li a::after,
.entry-content .anchor4 > li a::after {
  content: "";
  background: url("images/icon_arrow_anchor.svg") no-repeat center center/contain;
  width: 2.5rem;
  height: 2.5rem;
  top: 50%;
  transform: translateY(-50%);
  right: 15px;
  position: absolute;
}
@media screen and (max-width: 767px) {
  .entry-content .anchor > li a::after,
  .entry-content .anchor2 > li a::after,
  .entry-content .anchor4 > li a::after {
    right: 10px;
  }
}

.entry-content .anchor > * {
  margin: 0;
  padding: 0;
  width: calc((100% - 30px) / 3);
}
@media screen and (max-width: 767px) {
  .entry-content .anchor > * {
    width: calc((100% - 15px) / 2);
  }
}
.entry-content .anchor2 > * {
  margin: 0;
  padding: 0;
  width: calc((100% - 15px) / 2);
}
.entry-content .anchor4 > * {
  margin: 0;
  padding: 0;
  width: calc((100% - 45px) / 4);
}
@media screen and (max-width: 767px) {
  .entry-content .anchor4 > * {
    width: calc((100% - 15px) / 2);
  }
}

@media screen and (max-width: 567px) {
  .entry-content .anchor > *,
  .entry-content .anchor2 > *,
  .entry-content .anchor4 > * {
    width: 100%;
  }
}
.entry-content .anchor > *::after,
.entry-content .anchor2 > *::after,
.entry-content .anchor4 > *::after {
  display: none;
}

.entry-content .anchor > * a,
.entry-content .anchor2 > * a,
.entry-content .anchor4 > * a {
  background: #fff;
  display: flex;
  align-items: center;
  border: 1px solid #b6c91b;
  border-radius: 10px;
  padding: 15px 40px 15px 15px;
  position: relative;
  text-align: left;
  text-decoration: none;
  line-height: 1.4;
}

.entry-content .anchor > *:not(:has(a)),
.entry-content .anchor2 > *:not(:has(a)),
.entry-content .anchor4 > *:not(:has(a)) {
  background: #fff;
  color: #b6c91b;
  display: flex;
  align-items: center;
  border: 1px solid #b6c91b;
  border-radius: 10px;
  padding: 15px 40px 15px 15px;
  position: relative;
  text-align: left;
  text-decoration: none;
  line-height: 1.4;
  min-height: 60px;
  height: 100%;
}

.entry-content .anchor a:hover,
.entry-content .anchor2 a:hover,
.entry-content .anchor4 a:hover {
  color: #fff;
  background: #b6c91b;
  transition: 0.2s;
}
.entry-content .anchor a:hover::after,
.entry-content .anchor2 a:hover::after,
.entry-content .anchor4 a:hover::after {
  background: url("images/icon_arrow_anchor_hover.svg") no-repeat center center/contain;
}

.entry-content .anchor li.pagelink a,
.entry-content .anchor2 li.pagelink a,
.entry-content .anchor4 li.pagelink a {
  padding: 13px 50px 7px 25px !important;
  justify-content: left;
}
.entry-content .button3,
.entry-content .button2 {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  display: flex;
  flex-flow: row wrap;
  align-content: flex-start;
  margin: 0 auto;
  margin-top: 15px;
}
.entry-content .button3.archive,
.entry-content .button2.archive {
  gap: 30px;
}
@media screen and (max-width: 1023px) {
  .entry-content .button3.archive,
  .entry-content .button2.archive {
    gap: 20px;
  }
}
.entry-content .button3.archive a,
.entry-content .button2.archive a {
  color: #196f6c;
  font-size: 18px;
  font-weight: bold;
  min-height: 80px;
  padding: 12px 50px 8px 15px !important;
}
@media screen and (max-width: 1023px) {
  .entry-content .button3.archive a,
  .entry-content .button2.archive a {
    font-size: 17px;
  }
}
.entry-content .button3.archive a::after,
.entry-content .button2.archive a::after {
  right: 15px !important;
}
.entry-content .wp-block-column .button3,
.entry-content .wp-block-column .button2 {
  margin-right: 0;
  margin-left: 0;
}
.entry-content .button3.archive > * {
  width: calc((100% - 60px) / 3) !important;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 1023px) {
  .entry-content .button3.archive > * {
    width: calc((100% - 40px) / 3) !important;
  }
}
@media screen and (max-width: 767px) {
  .entry-content .button3.archive > * {
    width: calc((100% - 20px) / 2) !important;
  }
}
@media screen and (max-width: 567px) {
  .entry-content .button3.archive > * {
    width: 100% !important;
  }
}
.entry-content:has(.single-top) .button3,
.entry-content:has(.single-top) .button2 {
  margin: 0 auto;
  margin-top: 25px;
}
.entry-content .button2 > * {
  width: calc((100% - 20px) / 2);
}
.entry-content .button3 > * {
  width: calc((100% - 40px) / 3) !important;
  margin: 0;
  padding: 0;
}
.entry-content .button2 > * {
  margin: 0;
  padding: 0;
}
.entry-content .button3 > *::after,
.entry-content .button2 > *::after {
  display: none;
}

@media screen and (max-width: 781px) {
  .entry-content .button3,
  .entry-content .button2 {
    flex-wrap: wrap;
    gap: 15px !important;
  }
}
@media screen and (max-width: 781px) {
  .entry-content .button2 > *,
  .entry-content .button3 > * {
    width: calc((100% - 15px) / 2) !important;
  }
}
@media screen and (max-width: 567px) {
  .entry-content .button3 > *,
  .entry-content .button2 > * {
    width: 100% !important;
  }
}
/*--------------------------------------------------------------
ブロックエディタ共通
--------------------------------------------------------------*/
.wp-block-columns > * > *:first-child {
  margin-top: 0 !important;
}
.wp-block-columns > * > *:last-child {
  margin-bottom: 0 !important;
}

.entry-content * + .wp-block-columns {
  margin-top: 25px;
}
.entry-content h2 + .wp-block-columns,
.entry-content h3 + .wp-block-columns,
.entry-content h4 + .wp-block-columns,
.entry-content h5 + .wp-block-columns,
.entry-content h6 + .wp-block-columns {
  margin-top: 0;
}

.has-text-align-right img {
  margin-left: auto;
}

.wp-block-snow-monkey-blocks-items .wp-block-group__inner-container > *:first-child,
.wp-block-column .wp-block-group__inner-container > *:first-child {
  margin-top: 0 !important;
}

.wp-block-snow-monkey-blocks-items .wp-block-group__inner-container > *:last-child,
.wp-block-column .wp-block-group__inner-container > *:last-child {
  margin-bottom: 0 !important;
}

.entry-content * + .wp-block-image,
.entry-content * + .m-media__image,
.entry-content * + .wp-block-embed,
.entry-content .wp-block-image + *:not(.pagination) {
  margin-top: 40px;
}

.wp-block-flexible-table-block-table {
  margin: 25px 0 0;
}
.wp-block-flexible-table-block-table table {
  margin: 0;
}
.wp-block-flexible-table-block-table.no-line tr td {
  background-color: unset !important;
}

.entry-content .wp-block-columns .wp-block-image + * {
  margin-top: 20px;
}

.wp-block-table table {
  margin-top: 0;
}
.wp-block-table thead {
  border-bottom: 0;
}
.wp-block-table tfoot {
  border-top: 0;
}

.wp-block-button__link {
  font-size: 1.5rem !important;
  text-align: left;
}
@media screen and (max-width: 1023px) {
  .wp-block-button__link {
    font-size: 1.4rem !important;
  }
}

:where(.is-layout-flex) {
  gap: 25px;
}

@media screen and (max-width: 781px) {
  :where(.is-layout-flex) {
    gap: 15px;
  }
}
.wp-block-buttons {
  margin: 25px 0;
  gap: 20px;
}
.wp-block-buttons > .wp-block-button.wp-block-button__width-50 {
  width: calc(50% - var(--wp--style--block-gap, 20px) * 0.5);
}
.wp-block-buttons a:hover {
  color: #b6c91b !important;
}

.page-id-10 .wp-block-buttons.blue {
  margin: 60px 0 0 !important;
}
@media screen and (max-width: 767px) {
  .page-id-10 .wp-block-buttons.blue {
    margin: 40px 0 40px !important;
  }
}

.wp-block-buttons.blue a {
  background-color: #6ab9cc;
  border: 1px solid #6ab9cc;
}
.wp-block-buttons.blue a:hover {
  background-color: #fff;
  color: #6ab9cc !important;
}

@media screen and (max-width: 781px) {
  .wp-block-buttons {
    margin: 15px 0;
    gap: 15px;
  }
}
@media screen and (max-width: 781px) {
  .wp-block-buttons > .wp-block-button.wp-block-button__width-50 {
    width: calc(50% - var(--wp--style--block-gap, 15px) * 0.5);
  }
}
@media screen and (max-width: 567px) {
  .wp-block-buttons > .wp-block-button.wp-block-button__width-50 {
    width: 100%;
  }
}
@media screen and (max-width: 781px) {
  .wp-block-columns .wp-block-columns {
    gap: 15px;
  }
}
/* video */
.wp-block-video.width700 {
  margin: 0 auto;
  width: 700px;
}
@media screen and (max-width: 740px) {
  .wp-block-video.width700 {
    width: 100%;
  }
}

/* YouTube */
.youtube,
.wp-block-embed__wrapper {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}

.youtube iframe,
.wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Table */
@media screen and (max-width: 768px) {
  .is-stacked-on-mobile tr td:nth-child(n+2), .is-stacked-on-mobile tr:nth-child(n+2) th,
  .is-stacked-on-mobile tr > *:nth-child(n+2) {
    border-top: 0 !important;
  }
}
@media screen and (max-width: 768px) {
  .is-scroll-on-mobile {
    overflow-x: scroll;
  }
}
@media screen and (max-width: 768px) {
  .is-scroll-on-mobile table {
    margin-top: 0;
    width: 750px !important;
  }
}
/* Image */
.wp-block-image.waku img {
  border: 1px solid #ddd;
}

.wp-block-image a::after {
  display: none;
}

.wp-block-image.flow-root {
  /* 左寄せ・右寄せで体裁が崩れる場合に当てるクラス */
  display: flow-root;
}

.office-member-list .wp-block-image img {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 3/4;
  height: auto;
  max-width: 100%;
  margin: 0 auto;
  width: 297px;
}

@media screen and (max-width: 781px) {
  .wp-block-image img {
    margin-left: auto;
    margin-right: auto;
  }
}
/* Text / Large */
@media screen and (max-width: 1023px) {
  .has-large-font-size {
    font-size: 1.6rem !important;
  }
}
/* Text / Medium */
@media screen and (max-width: 1023px) {
  .has-medium-font-size {
    font-size: 1.4rem !important;
  }
}
.has-black-color {
  color: #333;
}

.has-red-color {
  color: #c00;
}

.has-blue-color {
  color: #00aaFF;
}

.has-light-yellow-green-color {
  background: #f6f7dd;
  color: #f6f7dd;
}

.has-light-yellow-green-background-color {
  background: #f6f7dd;
}

.has-dark-yellow-green-color {
  background: #b6c91b;
  color: #b6c91b;
}

.has-dark-yellow-green-background-color {
  background: #b6c91b;
}

.has-yellow-color {
  color: #fff9b9;
}

.has-gray-color {
  color: #e0e0e0;
}

.has-white-color {
  color: #fff;
}

/*--------------------------------------------------------------
お知らせ 個別ページ
--------------------------------------------------------------*/
.single .news-content {
  margin: 100px auto 0;
  max-width: 1240px;
  padding: 0 20px;
}
.single .news-content .entry-content {
  margin-top: 0;
  padding: 0;
}
@media screen and (max-width: 1023px) {
  .single .news-content {
    margin: 80px auto 0;
  }
}
@media screen and (max-width: 767px) {
  .single .news-content {
    margin: 60px auto 0;
    flex-direction: column;
  }
}
.single .entry-content .single-top {
  background: #ebf0bc;
  padding: 30px;
}
@media screen and (max-width: 567px) {
  .single .entry-content .single-top {
    padding: 20px;
  }
}
.single .entry-content .single-top + p,
.single .entry-content .single-top + h2 {
  margin: 3em 0 1em !important;
}
.single .entry-content .single-top + .m-chart-container {
  margin-top: 3em;
}
.single .entry-content .entry-date {
  align-items: center;
  border-top: 1.5px solid #fff;
  color: #888;
  display: flex;
  gap: 0 0.5em;
  font-size: 1.3rem;
  margin: 30px 0 0 !important;
  padding-top: 15px;
}
@media screen and (max-width: 567px) {
  .single .entry-content .entry-date {
    align-items: start;
    flex-direction: column;
    margin: 15px 0 0 !important;
  }
}
.single .entry-date > .post-cate-item:first-child {
  margin-left: 10px;
}
@media screen and (max-width: 567px) {
  .single .entry-date > .post-cate-item:first-child {
    margin: 4px 0;
  }
}
.single .entry-content .entry-date .post-cate-item {
  color: #333;
  font-size: 1.3rem;
  line-height: 25px;
}
.single .entry-content .entry-date + * {
  margin-top: 40px !important;
}
.single .entry-content .entry-cat {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 1em;
  font-size: 1.3rem;
}
.single .entry-content .entry-cat a {
  background: #b6c91b;
  color: #fff;
  padding: 2px 15px;
  border-radius: 10px;
  text-decoration: none;
  display: flex;
  align-items: center;
  line-height: 20px;
  height: 20px;
}
.single .entry-content .single-title {
  color: #333;
  font-size: 2.6rem;
}
@media screen and (max-width: 1023px) {
  .single .entry-content .single-title {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .single .entry-content .single-title {
    font-size: 2rem;
  }
}
@media screen and (max-width: 567px) {
  .single .entry-content .single-title {
    font-size: 1.8rem;
  }
}

.pagination {
  margin: 80px 0 0 !important;
  display: flex;
  justify-content: center;
  gap: 15px;
}
.pagination a {
  background-color: #b6c91b;
  border: 1px solid #b6c91b;
  border-radius: 30px;
  padding: 10px 10px 10px;
  display: flex;
  align-items: center;
  color: #fff;
  justify-content: center;
  max-width: 200px;
  text-align: center;
  text-decoration: none !important;
  width: 100%;
  position: relative;
}
.pagination a:hover {
  background: #fff;
  color: #b6c91b;
  transition: 0.2s;
}
.pagination:before, .pagination:after {
  content: "";
}
.pagination .prev::before {
  background: url("images/icon_arrow.svg") no-repeat center center/contain;
  content: "";
  display: inline-block;
  margin: 0 1em 0 0;
  width: 1.3em;
  height: 1.3em;
  transform: scale(-1, 1);
  vertical-align: middle;
  position: absolute;
  top: calc(50% - 0.6em);
  left: 10px;
}
.pagination .next::after {
  background: url("images/icon_arrow.svg") no-repeat center center/contain;
  content: "";
  display: inline-block;
  margin: 0 0 0 1em;
  width: 1.3em;
  height: 1.3em;
  vertical-align: middle;
  position: absolute;
  top: calc(50% - 0.6em);
  right: 10px;
}

@media screen and (max-width: 567px) {
  .pagination {
    gap: 15px 10px;
  }
  .pagination a {
    line-height: 1.4;
  }
  .pagination .prev::before {
    left: 6px;
  }
  .pagination .next::after {
    right: 6px;
  }
}
@media screen and (max-width: 375px) {
  .pagination a:has(.prev) {
    padding-left: 30px;
  }
  .pagination a:has(.next) {
    padding-right: 30px;
  }
}
/*--------------------------------------------------------------
ページナビ
--------------------------------------------------------------*/
.wp-pagenavi {
  font-family: "soleil", sans-serif;
  font-size: 1.8rem;
  margin: 50px 0 0 !important;
  text-align: center;
}
.wp-pagenavi a,
.wp-pagenavi span {
  background: #d7d7d7;
  border: none !important;
  border-radius: 50%;
  display: inline-block;
  width: 50px;
  height: 50px;
  line-height: 50px;
  padding: 0 !important;
  margin: 0 5px !important;
  text-decoration: none;
}
.wp-pagenavi .current {
  background: #b6c91b;
  color: #fff;
}
.wp-pagenavi a:hover {
  background: #b6c91b;
  color: #fff;
  transition: 0.2s;
}

/*--------------------------------------------------------------
ACFブロック
--------------------------------------------------------------*/
/* サービス一覧 */
.service-list .pure-g {
  margin: 0 -10px;
  gap: 20px 0;
}
.service-list .pure-g > * {
  padding: 0 10px;
}

.service-box {
  background: #fff;
  border-radius: 10px;
  padding: 35px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.service-text-cont {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 20px;
}

.service-number {
  color: #a3a3a3;
  font-family: "soleil", sans-serif;
  font-size: 1.5rem;
  letter-spacing: 1px;
  position: relative;
  margin-bottom: 10px;
}
.service-number::before {
  content: "[ ";
}
.service-number::after {
  content: " ]";
}

.service-text {
  font-weight: 500;
  text-align: center;
  letter-spacing: 1px;
}
.service-text span {
  color: #fca518;
}

.service-icon-cont {
  border-top: 1px solid #dedede;
  padding-top: 30px;
}

.service-icon {
  background-color: #f5f7ed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 50%;
  width: 150px;
  height: 150px;
  margin: 0 auto;
}

@media screen and (max-width: 1023px) {
  .box-4 .service-text br {
    display: none;
  }
  .service-text-cont .service-text {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .service-box {
    padding: 20px;
  }
  .service-icon-cont {
    padding-top: 20px;
  }
  .service-icon {
    width: 100px;
    height: 100px;
  }
}
@media screen and (max-width: 567px) {
  .box-3 .service-text br {
    display: none;
  }
}
/*--------------------------------------------------------------
お問い合わせ
--------------------------------------------------------------*/
.entry-content .tel {
  font-size: 4.5rem;
  font-weight: bold;
  line-height: 1;
  padding: 0 0 0 35px;
  position: relative;
}
.entry-content .tel::before {
  background: url("images/icon_tel.svg") no-repeat center center/contain;
  content: "";
  display: inline-block;
  width: 35px;
  height: 100%;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.entry-content .tel a {
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .entry-content .tel {
    font-size: 3rem;
    padding: 0 0 0 35px;
  }
}
/*--------------------------------------------------------------
お問い合わせフォーム
--------------------------------------------------------------*/
.snow-monkey-form {
  margin-top: 50px;
}
.snow-monkey-form h3 {
  margin: 15px 0 0 !important;
}

.open-cont .snow-monkey-form {
  margin-top: 0;
}

.smf-form {
  background: none;
}

.smf-form p {
  margin-top: 30px !important;
  margin-bottom: 15px;
}

p + .smf-item {
  border-top: 1px solid #ddd !important;
}

.smf-item--divider {
  padding: 15px 0;
}

.post-code .smf-placeholder {
  margin-top: 0;
}

.smf-item__controls .is-nowrap {
  gap: 10px;
}
.smf-item__controls .is-nowrap p {
  margin-top: 0 !important;
  white-space: nowrap;
}
.smf-item__controls .wp-block-group + .wp-block-group {
  margin-top: 15px;
}

.smf-item__col--controls {
  background-color: #fff;
}

.smf-item__description {
  font-size: 1.3rem;
}

.smf-control-description {
  font-size: 1.3rem;
}
@media (max-width: 1023px) {
  .smf-control-description {
    font-size: 1.2rem;
  }
}

.smf-form:has(.smf-complete-content) {
  background-color: unset;
}
.smf-form:has(.smf-complete-content) h2 {
  margin-top: 3em !important;
}
.smf-form:has(.smf-complete-content) .wp-block-buttons {
  margin-bottom: 0 !important;
}
.smf-form:has(.smf-complete-content) .wp-block-buttons {
  margin-top: 40px !important;
}

/* プログレストラッカー */
.smf-progress-tracker {
  margin: 80px 0 40px !important;
}

.smf-progress-tracker__item {
  margin: 0 !important;
  padding: 0 !important;
}
.smf-progress-tracker__item:before {
  display: none;
}
.smf-progress-tracker__item:after {
  width: 100%;
}

/* 確認・送信ボタン */
.snow-monkey-form .smf-button-control__control {
  background: #b6c91b;
  border: 0;
  border: 1px solid #b6c91b;
  border-radius: 0;
  color: #fff;
  margin-top: 30px;
  padding: 15px;
  width: 300px;
}
.snow-monkey-form .smf-button-control__control:hover {
  background: #fff;
  border: 1px solid #b6c91b;
  color: #b6c91b;
}

.snow-monkey-form .smf-button-control__control[data-action=back] {
  background: #666;
  border-color: #666;
}
.snow-monkey-form .smf-button-control__control[data-action=back]:hover {
  background-color: #fff;
  border-color: #333;
  color: #333;
}

.wp-block-snow-monkey-forms-item input[type=text], .wp-block-snow-monkey-forms-item input[type=email], .wp-block-snow-monkey-forms-item input[type=tel], .wp-block-snow-monkey-forms-item input[type=number] {
  width: 100%;
}

/* 必須ラベル */
.required .smf-item__label__text::before {
  background: #ea2525;
  border-radius: 2px;
  content: "必須";
  color: #fff;
  font-size: 1.2rem;
  padding: 3px 5px;
  margin: 0 10px 0 0;
}

/* zipaddr-jp */
#autozip {
  display: none !important;
}

/*--------------------------------------------------------------
ポップアップ
--------------------------------------------------------------*/
.single-popup .entry-content,
.home .entry-content {
  margin: 0;
  z-index: 9999;
}

.modal_wrap {
  max-height: 100vh;
}

.modal_close:hover,
.cont-popup a:hover {
  opacity: 0.7;
  transition: 0.2s;
}

.cont-popup {
  background: #f4ffff;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  position: relative;
  height: 566.5px;
  overflow-y: scroll;
}

.cont-popup-inner-top {
  padding: 15px 25px 25px;
  position: relative;
}

.cont-popup-inner {
  padding: 25px 40px;
  position: relative;
}

.cont-popup-top {
  border-bottom: 1px solid #b2b2b2;
  position: relative;
}

.cont-popup-top::before {
  content: "";
  background: url("images/popup_image_01_pc.png") no-repeat center top/cover;
  position: absolute;
  width: 100%;
  height: 100%;
}

.pu-top-head {
  display: flex;
  justify-content: space-between;
  margin-bottom: 15px;
}

.pu-top-head .site-title {
  padding: 0;
}

.pu-top-head .site-logo.for-sp-567 {
  display: none;
}

.cont-popup-bottom .pure-g {
  margin: 0 -15px;
  gap: 30px 0;
}

.cont-popup-bottom .pure-g > * {
  padding: 0 15px;
}

.cont-popup-bottom .pure-g > * > a {
  background-color: #4674AA;
  border-radius: 5px;
  box-shadow: 0px 0px 15px 0px rgba(136, 136, 136, 0.7);
  color: #fff;
  display: block;
  position: relative;
  text-decoration: unset;
  overflow: hidden;
}

.cont-popup-bottom .pure-g > * a .pu-detail {
  padding: 12px 40px 12px 20px;
  position: relative;
}

.cont-popup-bottom .pure-g > * a .pu-detail::after {
  content: "";
  background: url("images/icon_arrow_gray.svg") no-repeat center center/contain;
  width: 20px;
  height: 20px;
  top: 50%;
  transform: translateY(-50%);
  right: 15px;
  position: absolute;
}

.entry-content .cont-popup-bottom .pure-g > * > a[target=_blank]::after {
  content: unset !important;
}

.pu-top-cont {
  display: flex;
  justify-content: space-between;
  align-items: end;
}

.pu-top-cont-left {
  height: 30px;
  width: calc(100% - 494px);
  margin: 0 auto;
}

.pu-top-cont-left p {
  color: #00274e;
  font-family: "Noto Serif JP", serif;
  font-size: 1.5rem;
  text-align: center;
  height: 100%;
  line-height: 2;
  position: relative;
  z-index: 1;
}

.pu-top-cont-left p::after {
  position: absolute;
  content: "";
  background: url("images/back_white-gradation.svg") no-repeat center center/cover;
  width: 100%;
  height: 30px;
  top: 0;
  right: 0;
  z-index: -1;
}

.pu-top-cont-right {
  width: 494px;
}

.pu-top-cont-right .pu-text p {
  color: #135ca5;
  font-size: 2.4rem;
  font-weight: bold;
  margin-top: 0;
  letter-spacing: 2px;
  line-height: 1.9;
}

.pu-top-cont-right .pu-text p.pu-text-large {
  color: #00274e;
  font-size: 3.7rem;
}

.pu-top-cont-right .pu-text p.pu-text-large span {
  background-color: #fff;
  border: 1px solid #6FA2C7;
  border-radius: 10px;
  padding: 0 10px 3px;
  line-height: 1.5;
  margin-right: 10px;
  display: inline-block;
}

.pu-thumbnail {
  line-height: 0;
  overflow: hidden;
  max-height: 160px;
}

.pu-thumbnail img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
}

.pu-btn.contact {
  background: #b6c91b;
  color: #fff !important;
  display: flex;
  margin: 0 0 0;
  padding: 0px 10px 0px 40px;
  position: relative;
  align-items: center;
  text-decoration: none !important;
  height: 30px;
  width: 210px;
}

.pu-btn.contact::before {
  content: "";
  background: url("images/icon_contact_white.svg") no-repeat center center/contain;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  width: 20px;
  height: 20px;
  top: 50%;
  transform: translateY(-50%);
  left: 10px;
}

.pu-btn.contact::after {
  content: "";
  background: url("images/popup_contact_arrow.svg") no-repeat center center/contain;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  width: 10px;
  height: 30px;
  top: 50%;
  transform: translateY(-50%);
  right: -10px;
}

.pu-btn.business {
  background: #F4DBC0;
  border: 1px solid #EAB28A;
  border-radius: 7px;
  color: #EB7714;
  font-size: 1.7rem;
  font-weight: 500;
  display: block;
  margin: 10px auto 0;
  width: 100%;
  max-width: 340px;
  padding: 10px 50px 10px 15px;
  position: relative;
  text-decoration: none !important;
}

.pu-btn.business::after {
  position: absolute;
  content: "";
  background: url("images/icon_arrow.svg") no-repeat center center/contain;
  display: block;
  width: 1.3em;
  height: 1.3em;
  top: 50%;
  transform: translateY(-50%);
  right: 12px;
}

/* 欄外の閉じるボタン */
.modal_close.cont-outside {
  background: rgba(222, 222, 222, 0.9);
  border-radius: 25px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.7rem;
  font-weight: 500;
  margin: 30px auto 0;
  width: 100%;
  max-width: 300px;
  height: 50px;
}

/* ばつの閉じるボタン */
.modal_close.close-icon {
  background: #343434;
  border: 1.5px solid #fff;
  border-radius: 25px;
  position: absolute;
  margin: 0;
  top: -15px;
  right: -15px;
  width: 30px;
  height: 30px;
  z-index: 1;
  cursor: pointer;
}

.modal_close.close-icon span {
  display: block;
  height: 2px;
  width: 55%;
  background: #fff;
}

.modal_close.close-icon span:nth-child(1) {
  transform: rotate(45deg) translate(13px, 4.5px);
}

.modal_close.close-icon span:nth-child(2) {
  transform: rotate(-45deg) translate(-3.25px, 11.5px);
}

.modal {
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  align-items: center;
  display: none;
}

.modal.is_active {
  display: flex;
}

.modal_bg {
  background-color: rgba(0, 0, 0, 0.7);
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9998;
}

.modal_wrap {
  margin: 0 auto;
  z-index: 10000;
  position: relative;
}

@media screen and (max-width: 1160px) {
  .cont-popup {
    max-width: calc(100% - 60px);
  }
  .modal_close.close-icon {
    right: 15px;
  }
}
@media screen and (max-width: 1023px) {
  .cont-popup {
    height: 481px;
  }
  .pu-top-cont-left {
    height: 26px;
    width: calc(100% - 418px);
  }
  .pu-top-cont-left p {
    font-size: 1.3rem;
  }
  .pu-top-cont-left p::after {
    height: 26px;
  }
  .pu-top-cont-right {
    width: 418px;
  }
  .cont-popup-inner-top {
    padding: 15px 25px 22px;
  }
  .cont-popup-inner {
    padding: 22px 25px;
  }
  .pu-btn.contact {
    font-size: 1.4rem;
    width: 190px;
  }
  .pu-top-cont-right .pu-text p {
    font-size: 2rem;
  }
  .pu-top-cont-right .pu-text p.pu-text-large {
    font-size: 3rem;
  }
  .cont-popup-bottom .pure-g > * > a {
    font-size: 1.4rem;
  }
  .cont-popup-bottom .pure-g > * a .pu-detail {
    padding: 0 30px 0 10px;
    height: 42.5px;
    line-height: 1.2;
    display: flex;
    align-items: center;
  }
  .pu-btn.business {
    font-size: 1.4rem;
    max-width: 280px;
    padding: 7px 40px 7px 10px;
  }
  .pu-thumbnail {
    max-height: 130px;
  }
  .cont-popup-bottom .pure-g > * a .pu-detail {
    padding: 10px 40px 10px 15px;
  }
  .modal_close.cont-outside {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 867px) {
  .cont-popup {
    height: auto;
  }
  .pu-top-cont-left {
    height: 38px;
    width: 300px;
  }
  .pu-top-cont-left p {
    width: 260px;
    padding: 0 20px;
    line-height: 1.4;
    margin: 0 auto;
  }
  .pu-top-cont-left p::after {
    height: 38px;
  }
  .pu-top-cont-right {
    width: calc(100% - 300px);
  }
  .pu-top-cont-right .pu-text p {
    display: inline;
  }
}
@media screen and (max-width: 767px) {
  .pu-top-cont {
    flex-direction: column-reverse;
    gap: 20px 0;
  }
  .pu-top-cont-left {
    height: 26px;
    width: 100%;
  }
  .pu-top-cont-left p {
    width: 100%;
    padding: 0;
    line-height: 2;
    margin: 0 auto;
  }
  .pu-top-cont-left p::after {
    height: 26px;
  }
  .pu-top-cont-right {
    width: 450px;
    text-align: center;
  }
  .pu-top-cont-right .pu-text p {
    font-size: 1.8rem;
    text-align: center;
    letter-spacing: unset;
    text-shadow: 0px 0px 5px #fff;
  }
  .pu-top-cont-right .pu-text p.pu-text-large {
    font-size: 2.4rem;
  }
  .pu-thumbnail {
    max-height: 100px;
  }
  .cont-popup-bottom .pure-g {
    margin: 0 -10px;
  }
  .cont-popup-bottom .pure-g > * {
    padding: 0 10px;
  }
  .cont-popup-bottom .pure-g > * a .pu-detail {
    padding: 10px 30px 10px 10px;
  }
  .cont-popup-bottom .pure-g > * a .pu-detail::after {
    right: 8px;
    width: 17px;
    height: 17px;
  }
}
@media screen and (max-width: 567px) {
  .cont-popup-top::before {
    content: "";
    background: url("images/popup_image_01_sp.png") no-repeat right top/cover;
  }
  .cont-popup-inner-top {
    padding: 15px 15px 15px;
  }
  .cont-popup-inner {
    padding: 15px 15px;
  }
  .pu-top-head .site-logo.for-sp-567 {
    display: block;
  }
  .pu-top-head .site-logo.white {
    display: none;
  }
  .pu-top-cont-left {
    display: none;
  }
  .pu-top-cont-right {
    width: 100%;
    text-align: center;
  }
  .pu-btn.contact {
    width: 50px;
    height: 50px;
  }
  .pu-btn.contact::before {
    width: 25px;
    height: 25px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .pu-btn.contact::after {
    display: none;
  }
  .pu-btn.contact span {
    display: none;
  }
  .cont-popup-bottom .pure-g {
    margin: 0 -10px;
    gap: 15px 0;
  }
  .pu-thumbnail {
    display: none;
  }
}
@media screen and (max-width: 475px) {
  .pu-top-cont-right .pu-text p {
    font-size: 1.7rem;
    line-height: 1.6;
  }
  .pu-top-cont-right .pu-text p.pu-text-large {
    font-size: 2rem;
  }
  .pu-btn.business {
    line-height: 1.2;
  }
  .modal_close.cont-outside {
    width: calc(100% - 60px);
  }
}
/*--------------------------------------------------------------
電話番号
--------------------------------------------------------------*/
a[href^="tel:"] {
  pointer-events: none;
  text-decoration: none;
}
a[href^="tel:"]::before {
  display: none;
}

@media (max-width: 767px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}
/*--------------------------------------------------------------
クリックして開閉
--------------------------------------------------------------*/
.entry-content .open-button {
  background: #e3f2f7;
  border-radius: 15px;
  border-top: none;
  font-size: 1.7rem;
  line-height: 2;
  margin-bottom: 0 !important;
  padding: 21px 60px 19px 30px;
  position: relative;
  cursor: pointer;
  transition-duration: 0.5s;
}
.entry-content .open-button::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f078" !important;
  color: #b6c91b;
  display: block;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.2s;
}
.entry-content .open-button.open {
  border-bottom: 1px solid #c6dde6;
  border-radius: 15px 15px 0 0;
}
.entry-content .open-button.open::after {
  top: 50%;
  transform: translateY(-50%) rotate(180deg);
}
.entry-content .open-cont {
  background: #e3f2f7;
  border-radius: 0 0 20px 20px;
  margin-top: 0 !important;
  padding: 30px;
}
.entry-content .open-cont + .open-button {
  margin: 15px 0 0 !important;
}

@media screen and (max-width: 1023px) {
  .entry-content .open-button {
    font-size: 1.5rem;
    padding: 21px 60px 19px 20px;
  }
  .entry-content .open-button::after {
    right: 12px;
  }
  .entry-content .open-cont {
    padding: 20px;
  }
  .entry-content .open-cont p {
    font-size: 1.5rem;
  }
}
/*--------------------------------------------------------------
PC / SP
--------------------------------------------------------------*/
.for-sp {
  display: none;
}

@media screen and (max-width: 1110px) {
  .for-sp {
    display: block;
  }
}
@media screen and (max-width: 1110px) {
  .for-pc {
    display: none !important;
  }
}
/*--------------------------------------------------------------
Google Map
--------------------------------------------------------------*/
/*--------------------------------------------------------------
表内のボタンリンク（tableタグにclassつける）
--------------------------------------------------------------*/
.btn-link a:not(a[href^="mailto:"]):not(a[href^="tel:"]) {
  background: #b6c91b;
  color: #fff;
  display: block;
  line-height: 1.5;
  margin-top: 10px !important;
  margin-bottom: 10px !important;
  max-width: 50%;
  min-width: 300px;
  padding: 18px 45px 18px 20px;
  position: relative;
  text-decoration: none;
}
.btn-link a::after {
  padding: 0 5px;
  display: inline-block;
  color: #fff;
  text-decoration: none !important;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "";
  display: block;
  width: 1.1em;
  height: 1.1em;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
.btn-link a:not([target=_blank]):not([href$=".pdf"]):not([href^="mailto:"]):not([href^="tel:"])::after {
  background: url("images/icon_arrow.svg") no-repeat center center/contain;
}
.btn-link a:hover {
  background: #E7FAF7;
}

@media screen and (max-width: 781px) {
  .btn-link a:not(a[href^="mailto:"]):not(a[href^="tel:"]) {
    padding: 10px 35px 10px 15px;
    max-width: inherit;
    min-width: inherit;
    width: 100%;
  }
}
@media screen and (max-width: 781px) {
  .btn-link a::after {
    right: 10px;
  }
}
/*--------------------------------------------------------------
検索結果一覧
--------------------------------------------------------------*/
/* 検索キーワードハイライト */
.search-highlight {
  background: none !important;
  font-weight: bold;
}

/* 検索結果の本文 */
.search-result-excerpt {
  color: #666;
  font-size: 1.5rem;
  font-weight: normal;
  margin: 5px 0 0;
}
@media screen and (max-width: 1023px) {
  .search-result-excerpt {
    font-size: 1.4rem;
  }
}

/* 検索結果のパンくずリスト */
.search-breadcrumbs {
  font-weight: normal;
  padding-bottom: 0 !important;
}
.search-breadcrumbs .breadcrumbs-inner {
  color: #888;
  display: block;
  font-size: 1.2rem;
  align-items: center;
  margin: 0 0 3px;
}
.search-breadcrumbs .bc-arrow {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-top: 1px solid #888;
  border-right: 1px solid #888;
  transform: rotate(45deg);
  margin: 0 12px 1.5px 8px;
}

/*--------------------------------------------------------------
404 Not Found
--------------------------------------------------------------*/
.error404 .entry-content {
  text-align: center;
}
.error404 .entry-content .button-more {
  text-decoration: none;
}
.error404 .entry-content .button-more a {
  width: 350px;
  padding: 12px 40px 12px 40px;
  text-decoration: none;
}
@media screen and (max-width: 350px) {
  .error404 .entry-content .button-more a {
    width: 100%;
  }
}

.error404 .button-more a:hover {
  transition: 0.2s;
}

/*--------------------------------------------------------------
ログイン中
--------------------------------------------------------------*/
.admin-bar .site-header {
  top: 32px;
}
.admin-bar.home .site-header {
  top: 42px;
}
.admin-bar.home .site-header.header-fix {
  top: 32px;
}
.admin-bar .menu-child {
  top: 228px;
}

@media screen and (max-width: 1110px) {
  .admin-bar.home .site-header {
    top: 32px;
  }
}
@media screen and (max-width: 782px) {
  .admin-bar .site-header, .admin-bar.home .site-header, .admin-bar.home .site-header.header-fix {
    top: 46px;
  }
}
/*--------------------------------------------------------------
印刷
--------------------------------------------------------------*/
@media print {
  body {
    width: 1300px;
    zoom: 0.6;
    -webkit-print-color-adjust: exact;
  }
  .site {
    padding: 0 !important;
  }
  .site-header {
    position: inherit;
  }
  h1 {
    font-size: 15pt;
  }
  h2 {
    font-size: 14pt;
  }
  h3 {
    font-size: 13pt;
  }
  h4,
  h5,
  h6 {
    font-size: 11pt;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    margin: 30px 0 15px;
  }
  /* Pure.css */
  .pure-u-md-4-5 {
    width: 80%;
  }
  .pure-u-lg-3-4,
  .pure-u-md-3-4 {
    width: 75%;
  }
  .pure-u-md-2-3,
  .pure-u-sm-2-3 {
    width: 66.6666%;
  }
  .pure-u-md-3-5 {
    width: 60%;
  }
  .pure-u-lg-1-2,
  .pure-u-md-1-2,
  .pure-u-sm-1-2 {
    width: 50%;
  }
  .pure-u-md-2-5 {
    width: 40%;
  }
  .pure-u-lg-1-3,
  .pure-u-md-1-3,
  .pure-u-sm-1-3 {
    width: 33.4443%;
  }
  .pure-u-lg-1-4,
  .pure-u-md-1-4,
  .pure-u-sm-1-4 {
    width: 25%;
  }
  .pure-u-md-1-5 {
    width: 20%;
  }
  /* ブロックエディタ / カラムの折返し禁止 */
  .wp-block-columns {
    flex-wrap: nowrap !important;
  }
  /* header / スクロールによる表示切り替え無効 */
  .header-fix .header-nav {
    justify-content: flex-end;
  }
  .header-fix .header-nav .site-title {
    display: none !important;
  }
  .header-fix .header-nav-top {
    display: flex !important;
  }
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-grow: 1 !important;
  }
  .wp-block-column[style*="33.33%"] {
    flex-basis: 33.33% !important;
  }
  .wp-block-column[style*="66.66%"] {
    flex-basis: 66.66% !important;
  }
  img {
    -moz-column-break-inside: auto !important;
    break-inside: auto !important;
  }
  .pagetop {
    display: none !important;
  }
}
/* IE10以上 */
@media print and (-ms-high-contrast: none) {
  @page {
    size: A4;
    margin: 12.7mm 9.7mm;
  }
  body {
    zoom: 0.5;
    width: 1300px;
    transform: scale(0.5);
    transform-origin: 0 0;
  }
}
/*--------------------------------------------------------------
エレメントリスト
--------------------------------------------------------------*/
.entry-content .element-h2 {
  background: #333;
  border: 0;
  border-radius: 0;
  color: #fff;
  display: inline-block;
  font-size: 1.8rem;
  margin: 4em 0 0 !important;
  min-width: 300px;
  padding: 0.5em 1.2em 0.5em;
}
.entry-content .element-h2::before, .entry-content .element-h2::after {
  display: none;
}
.entry-content .element-h2 + .element-h3 {
  margin: 2em 0 !important;
}
.entry-content .element-h3 {
  background: #ccc;
  border: 0;
  color: #555;
  font-size: 1.7rem;
  margin: 3em 0 2em !important;
  padding: 0.5em 0 0.5em 1.2em;
}
.entry-content .element-h3::before, .entry-content .element-h3::after {
  display: none !important;
}
.entry-content .element-h3 + h2,
.entry-content .element-h3 + h3 {
  margin-top: 40px !important;
}
.entry-content .element-detail {
  background: #f7f7f7;
  border: 1px solid #ccc;
  color: #c00;
  font-size: 1.4rem;
  margin: 1.5em 0 0;
  padding: 1em 1.5em 1em;
}

.entry-content:has(.element-h2) .anchor,
.entry-content:has(.element-h2) .anchor2,
.entry-content:has(.element-h2) .anchor4 {
  margin-top: 0 !important;
}

/*# sourceMappingURL=style.css.map */