@charset "utf-8";
/* -------------------- 下層共通 -------------------- */

#lower-kv {
  padding: min(22.500vw, 250px) 0 min(5.833vw, 70px) 0;
  background-color: #F4F2EB;
	position: relative;
	z-index: 4;
}

#lower h1 {
  font-size: min(2.667vw, 32px);
  color: #44B674;
}

.lower-kv-wrap {
  position: relative;
}

.lower-kv-inner {
  margin-top: min(3.333vw, 40px);
  width: min(95vw, 1400px);
  margin-left,
  margin-right: ;
  display: inline-block;
}

.lower-kv-img {
  width: 100%;
  height: min(33.333vw, 400px);
  object-fit: cover;
  object-position: center;
}

@media screen and (max-width: 1000px) {
  #lower-kv {
    padding: min(9.166vw,110px) 0 min(5.833vw, 70px) 0;
  }
}


@media screen and (max-width: 600px) {
  #lower-kv {
    padding: 110px 0 40px 0;
  }
  #lower h1 {
    font-size: 24px;
  }

  .lower-kv-img {
    width: 95%;
    height: 160px;
  }
}

/* -------------------- medical -------------------- */

/* ----- section medical-navi ----- */
#medical #toc_container {
  display: none !important;
}

.medical-navi {
  display: inline-flex;
	/* flex-wrap: wrap; */
  padding: min(1.667vw, 20px);
  background-color: #2A8357;
  gap: 2%;
 width: 1000px;
 /* margin-bottom: -450px; */
}

.medical-navi li{
  width: 23.5%;
}
.medical-navi li a{
  width: 100%;
  position: relative;
  background-color: #fff;
  text-align: center;
  color: #2A8357;
  font-size: clamp(14px, 1.5vw, 18px);
  font-weight: 600;
  padding: min(1.667vw, 20px);
  display: inline-block;
}

.medical-navi li a:hover{
  background-color: #E4EBE6;
}

img.arrow03 {
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  right: min(0.833vw, 10px);
  width: min(2vw, 20px);
}
@media screen and (max-width: 1000px) {
.medical-navi {
 width: 100%;
}
  }
@media screen and (max-width: 600px) {
  .medical-navi {
    padding: 10px;
  }

  .medical-navi ul {
    gap: 10px;
  }

  .medical-navi li a{
   margin-top: 0!important;
  }

  img.arrow03 {
    display: none;
  }
}


/* ----- section medical01 ----- */

#medical01 {
  padding: min(15vw, 180px) 0 0 0;
  background-color: #fff;
  margin-top: max(-10vw, -120px);
}

#medical01 .no_bullets {
  display: none !important;
}

#medical h2:before {
  content: '';
  border-left: min(0.333vw, 4px) solid #E5E2C9;
  margin-right: min(1.167vw, 14px);
}

.medical-wrap {
  display: flex;
}

.medical-left {
  text-align: left;
  width: min(19.167vw, 230px);
}

.medical-right {
  text-align: left;
  width: calc(100% - min(19.167vw, 230px));
}

.medical-contents {
  border: 1px solid #44B674;
  padding: 0 min(3.333vw, 40px) min(3.333vw, 40px) min(3.333vw, 40px);
  margin-top: min(2.5vw, 30px);
}

#medical h3 {
  background-color: #F0F0F0;
  padding: min(2vw, 24px) min(2.5vw, 30px);
  color: #2A8357;
  font-size: clamp(17px, 1.667vw, 20px);
}

.medical-contents h3 {
  margin-top: min(3.333vw, 40px);
}

#medical p {
  text-align: justify;
}

.medical-contents ul {
  display: flex;
  flex-wrap: wrap;
  gap: 3%;
  row-gap: min(1.667vw, 20px);
  margin-top: min(2vw, 24px);
}

.medical-contents li {
  width: 48.5%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #44B674;
  padding: min(1vw, 12px);
  border: 1px solid #44B674;
  border-radius: 6px;
  font-weight: 600;
  line-height: 1.3;
}


.medical-contents-wrap {
  margin-top: min(3.333vw, 40px);
  display: flex;
}

#medical01 .medical-contents-left {
  width: min(20vw, 240px);
}

#medical01 .medical-contents-right {
  width: calc(100% - min(20vw, 240px));
}

#medical01 .medical-contents-right p{
	margin-top: 0!important;
}

#medical button {
  text-align: center;
  width: 100%;
}

#medical button .btn01 {
  margin-top: min(2vw, 24px);
}



.symptoms-title {
  color: #fff;
  background-color: #F66919;
  width: min(18.333vw, 220px);
  padding: min(0.333vw, 4px) 0 min(0.167vw, 2px) 0;
  text-align: center;
  font-weight: 600;
}

@media screen and (max-width: 600px) {
  #medical01 {
    padding: 80px 0 0 0;
    margin-top: -50px;
  }

  .medical-wrap {
    flex-direction: column;
    row-gap: 20px;
  }

  .medical-left {
    text-align: center;
    width: 100%;
  }

  #medical h2 {
    position: relative;
  }

  #medical h2:before {
    display: none;
  }

  #medical h2:after {
    content: '';
    width: 30px;
    position: absolute;
    border-bottom: 2px solid #E5E2C9;
    transform: translateX(-50%);
    top: 36px;
    left: 50%;
  }

  .medical-right {
    width: 100%;
  }

  .medical-contents {
    padding: 0 20px 20px 20px;
    margin-top: 10px;
  }

  #medical h3 {
    padding: 20px 20px 18px 20px;
  }

  .medical-contents h3 {
    margin-top: 30px;
  }

  .medical-contents h3:first-child {
    margin-top: 20px;
  }

  .medical-contents ul {
    row-gap: 12px;
    margin-top: 14px;
  }

  .medical-contents li {
    width: 100%;
    padding: 8px;
  }

 .medical-contents-wrap {
    flex-direction: column;
    row-gap: 8px;
    width: 100%;
    margin-top: 30px;
  }

  #medical01 .medical-contents-left {
    width: 100%;
  }

  .symptoms-title {
    width: 100%;
    padding: 4px 0 2px 0;
  }

  #medical01 .medical-contents-right {
    width: 100%;
  }
}

/* ----- section medical02 ----- */
#medical02,#medical06 {
  padding: min(15vw, 180px) 0 0 0;
  background-color: #fff;
  margin-top: max(-10vw, -120px);
}

#medical02 .no_bullets,
#medical06 .no_bullets{
  display: none !important;
}

#medical02 .medical-contents-left,
#medical06 .medical-contents-left{
    width: min(20vw, 240px);
}
#medical02 .medical-contents-right,
#medical06 .medical-contents-right{
  width: calc(100% - min(20vw, 240px));
}

#medical02 .medical-contents-right,
#medical06 .medical-contents-right p{
	margin-top: 0!important;
}
@media screen and (max-width: 600px) {
  #medical02,#medical06 {
    padding: 80px 0 0 0;
    margin-top: -70px;
  }
#medical02 .medical-contents-left,
#medical06 .medical-contents-left{
    width: 100%;
}
  #medical02 .medical-contents-right,
	#medical06 .medical-contents-right{
    width: 100%;
  }
  }
/* ----- section medical03 ----- */
#medical03 {
  padding: min(15vw, 180px) 0 0 0;
  background-color: #fff;
  margin-top: max(-10vw, -120px);
}



.medical-contents-item {
  width: 48.5%;
}

.medical03-img {
  width: 100%;
  margin-top: min(1.667vw, 20px);
}
 #medical03 .medical-contents-wrap {
        margin-top: 0;
        gap: 3%;
  }

@media screen and (max-width: 600px) {
  #medical03 {
    padding: 80px 0 0 0;
    margin-top: -70px;
  }

.medical-contents-item {
  width: 100%;
}
  .medical03-img {
    margin-top: 10px;
  }
}

/* ----- section medical04 ----- */
#medical04 {
  padding: min(15vw, 180px) 0 min(8.333vw, 100px) 0;
  background-color: #fff;
  margin-top: max(-10vw, -120px);
}

@media screen and (max-width: 600px) {
  #medical04 {
    padding: 80px 0 50px 0;
    margin-top: -70px;
  }
}

/* ----- section medical05 ----- */
#medical05 {
  padding: min(8.333vw, 100px) 0;
}

.medical05-left {
  width: 25%;
  text-align: left;
}

.medical05-right {
  width: 75%;
}

img.medical05-img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center;
}

.medical-lower {
  display: flex;
  gap: 2%;
  margin-top: min(1.667vw, 20px);
}

.medical-sub {
  width: 32%;
}

@media screen and (max-width: 600px) {
  #medical05 {
    padding: 20px 0 50px 0;
  }

  .medical05-left {
    width: 100%;
    text-align: center;
  }

  .medical05-right {
    width: 100%;
  }
}


/* ----- section news-single ----- */
#news-single01 {
  padding: min(23.333vw, 280px) 0 min(8.333vw, 100px) 0;
}

.news-wrap {
  padding: min(7.5vw, 90px);
  background-color: #fff;
  text-align: left;
}

.news-cat {
  font-size: 12px;
  color: #2A8357;
  border: 1px solid #2A8357;
  border-radius: 4px;
  margin-left: 12px;
  padding: 2px 10px 0 10px;
}

#news-single h1.news-title {
  font-size: clamp(22px, 2.667vw, 32px);
  line-height: 1.4;
  color: #44B674;
  padding-bottom: 8px;
  border-bottom: 1px solid #ccc;
  width: 100%;
  margin-top: 8px;
}

#lower p {
  margin-top: min(1.667vw, 20px);
  font-size: clamp(15px, 1.333vw, 16px);
}

.toc {
  background-color: #F4F2EB;
  padding: min(3.333vw, 40px);
  margin-top: min(1.667vw, 20px) !important;
}

.toc-title {
  color: #fff;
  background-color: #F66919;
  width: 100px;
  padding: 4px 0 2px 0;
  text-align: center;
  font-weight: 600;
  margin-top: 0 !important;
}

#toc h2 {
  font-size: clamp(17px, 1.667vw, 20px);
  color: #44B674;
  margin-top: min(1.667vw, 20px);
}

#toc h3 {
  font-size: clamp(15px, 1.333vw, 16px) !important;
  color: #222 !important;
  padding: 0 !important;
  margin-top: min(1.333vw, 16px) !important;
  background-color: transparent !important;
  text-indent: -1.2em;
  padding-left: 1.2em !important;
}

#toc h2:before {
  content: '';
  display: none;
}

#toc h3:before {
  content: "●";
  color: #F66919;
  margin-right: min(0.667vw, 8px);
}

#lower h2 {
  margin-top: min(3.333vw, 40px);
  font-size: clamp(20px, 2.667vw, 32px);
  color: #F66919;
  position: relative;
  /* 基準 */
  padding-left: calc(14px + clamp(2px, 0.333vw, 4px));
  /* 線の太さ＋余白 */
}

#lower h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  /* 行数に合わせて全高に */
  width: 0;
  /* 線はborderで描く */
  border-left: clamp(2px, 0.333vw, 4px) solid #E5E2C9;
}

#news-single01 img {
  margin-top: min(1.667vw, 20px);
}

#news-single01 button {
  text-align: center;
  width: 100%;
  margin-top: min(2.5vw, 30px);
}

#lower .btn01 img {
  margin-top: 0;
}

#lower h3 {
  background-color: #F0F0F0;
  padding: min(2vw, 24px) min(2.5vw, 30px);
  color: #2A8357;
  font-size: clamp(17px, 1.667vw, 20px);
  margin-top: min(3.333vw, 40px);
}

#news-single01 li {
  font-weight: 600;
  margin-top: min(1vw, 12px);
}

#news-single01 li:before {
  content: "●";
  color: #F66919;
  margin-right: min(0.667vw, 8px);
}

#news-single01 table {
  width: 100%;
  margin-top: min(2.5vw, 30px);
}

#lower th {
  padding: min(0.5vw, 6px);
  border: 1px solid #fff;
  background-color: #44B674;
  color: #fff;
  text-align: center;
}

#lower .td01 {
  max-width: min(33.333vw, 400px);
  min-width: min(25vw, 300px);
  text-align: center;
  color: #2A8357;
  font-weight: 600;
}

#news-single01 td {
  padding: min(1.333vw, 16px) min(1.667vw, 20px);
  border: 1px solid #fff;
  background-color: #E4EBE6;
  vertical-align: middle;
}

#lower h4 {
  font-size: clamp(16px, 1.5vw, 18px);
  color: #F66919;
  margin-top: min(3.333vw, 40px);
}

#news-single01 h4:before {
  content: "■";
  color: #F66919;
  margin-right: min(0.667vw, 8px);
}

#news-single01 h5 {
  font-size: clamp(15px, 1.333vw, 16px);
  color: #2A8357;
  margin-top: min(3.333vw, 40px);
}

#lower .wp-block-button__link {
  font-size: 14px !important;
  background-color: #2A8357 !important;
  position: relative !important;
  width: 300px !important;
  height: 50px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 25px !important;
  color: #fff !important;
}

#lower .wp-block-buttons {
  margin-top: min(2vw, 20px) !important;
}

.wp-block-list{
	margin-top: 20px;
}

.wp-block-image{
	margin-top: 20px;
}

#lower table {
    margin-top: 20px;
}

.wp-block-list li {
  font-weight: 600;
  margin-top: min(1vw, 12px);
}

.wp-block-list li:before {
  content: "●";
  color: #F66919;
  margin-right: min(0.667vw, 8px);
}

@media screen and (max-width: 1000px) {
  #news-single01 {
    padding: 110px 0 0 0;
  }
}

@media screen and (max-width: 600px) {
#news-single01 {
padding: 110px 0 50px 0;
}

.news-wrap {
padding: 30px 20px;
width: 100vw;
margin-left: -5vw;
}

#lower p {
margin-top: 12px;
}

.toc {
padding: 20px;
margin-top: 20px;
}

#toc h2 {
margin-top: 16px;
}

#toc h3 {
margin-top: 14px !important;
text-indent: -0.9em;
padding-left: 0.9em !important;
}

#lower-page h2, #news-single h2 {
margin-top: 30px;
padding-left: 12px;
}

#lower img.news-single01-img {
width: 100%;
}

#lower h3 {
margin-top: 30px;
}

#lower button {
margin-top: 12px;
}

#lower table {
    margin-top: 12px;
}
#lower th {
padding: 6px;
}

#lower td {
padding: 15px;
}

#lower h4 {
margin-top: 30px;
}

#lower h5 {
margin-top: 30px;
}

#lower .wp-block-button__link {
width: 250px;
}
.wp-block-image{
	margin-top: 10px;
}
#lower .wp-block-buttons {
  margin-top: 12px !important;
}
}

#lower-page {
  margin: 0 0 min(8.333vw, 100px) 0;
  padding: min(7.5vw, 90px);
  background-color: #fff;
  text-align: left;
}

#lower-page a {
	color: #2A8357;
}

ul.wp-block-page-list {
  padding: 20px;
}

a.wp-block-pages-list__item__link {
  margin: 4px 0;
  color: #1d1d1d;
}


#toc_container {
  background-color: #F4F2EB !important;
  padding: min(3.333vw, 40px) !important;
  margin-top: min(1.667vw, 20px) !important;
  text-align: left !important;
}

#toc_container p.toc_title {
  color: #fff !important;
  background-color: #F66919;
  width: 100px !important;
  padding: 4px 0 2px 0 !important;
  text-align: center !important;
  font-weight: 600 !important;
  margin-top: 0 !important;
}

.toc_toggle {
  display: none;
}

.toc_list li {
  font-size: clamp(15px, 1.333vw, 16px) !important;
  color: #222 !important;
  padding: 0 !important;
  margin-top: min(0.333vw, 4px) !important;
  background-color: transparent !important;
  text-indent: -1.2em !important;
  padding-left: 1.2em !important;
}

#toc_container a {
  color: #1d1d1d !important;
}

.wp-block-cover .wp-block-cover__inner-container,
.wp-block-cover-image .wp-block-cover__inner-container {
  padding: 10px 30px !important;
}

#medical ul.wp-block-page-list {
  padding: 40px !important;
  width: 1200px !important;
  background-color: #fff !important;
  text-align: left !important;
  display: inline-block !important;
  margin-bottom: 80px !important;
  font-size: 24px !important;
}


:root {
  --anchor-offset: 230px;
}

/* デフォルト */
@media screen and (max-width: 1000px) {
  :root {
    --anchor-offset: 100px;
  }

  /* 例：スマホは少し小さく */
}

@media screen and (max-width: 600px) {
  #lower-page {
    margin: 0 0 50px 0;
    padding: 30px 20px;
    width: 100vw;
    margin-left: -5vw;
  }

  #medical ul.wp-block-page-list {
    padding: 20px !important;
    width: 100% !important;
    margin-bottom: 40px !important;
    font-size: 18px !important;
  }

  .wp-block-cover .wp-block-cover__inner-container,
  .wp-block-cover-image .wp-block-cover__inner-container {
    padding: 0 10px !important;
  }

  ul.wp-block-page-list {
    padding: 10px;
  }
body .is-layout-flex {
    row-gap: 0 !important;
}
}