.under #top_info {
  position: relative;
  z-index: 1;
  background: url("../images/u_bg_main.jpg") center center no-repeat;
  background-size: cover;
  width: calc(100% - 160px);
  border-radius: 0 0 170px 0;
  border-right: #f9899e 5px solid;
  border-bottom: #f9899e 5px solid;
}
.under #top_info .inner {
  height: 635px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 130px 0 40px
}
.under #top_info .u_main_info {
  /*width: 100%;
  max-width: 650px;*/
  width: fit-content;
  min-height: 162px;
  padding: 15px 20px 25px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background: rgba(255, 255, 255, 0.9);
}
.under #top_info .tit_slug {
  font-size: 24px;
  text-transform: capitalize;
  line-height: 1.4em;
  font-family: var(--font-mincho)
}
.under h2 {
  color: var(--color-primary);
  font-size: 46px;
  margin: 0;
}
.under h2 br {
  display: none
}
.under h3 {
  font-size: 36px;
  text-align: center;
  margin-bottom: 40px;
  color: var(--color-primary);
  position: relative;
  padding-bottom: 10px
}
.under h3:first-letter {
  color: #333333;
}
.under h3:before {
  position: absolute;
  content: "";
  display: block;
  width: 100px;
  background: var(--color-secondary);
  height: 1px;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
}
.under h4 {
  font-size: 30px;
  padding: 7px 10px 7px 30px;
  background: url("../images/u_bg_h4.png") right 25px center no-repeat, url("../images/bg_repeat01.png") repeat var(--color-secondary);
  color: #fff;
  margin-bottom: 30px;
  position: relative;
}
.under h4:before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  background: var(--color-secondary);
  height: 1px;
  left: 0;
  bottom: -2px;
}
.under h4.spec_tit {
  background-color: #94be49;
  font-size: 36px;
}
.under h4.spec_tit:before {
  background: #94be49;
}
.under h4.spec_tit:after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  background: #94be49;
  height: 1px;
  left: 0;
  top: -2px;
}
.under h5 {
  font-size: 24px;
  margin-bottom: 30px;
  position: relative;
  padding-bottom: 8px;
  border-bottom: #fddedb 1px solid;
}
.under h5:before {
  position: absolute;
  content: "";
  display: block;
  width: 100px;
  background: var(--color-primary);
  height: 3px;
  bottom: -2px;
  left: 0
}
.under h6 {
  font-size: 20px;
  margin-bottom: 15px;
  position: relative;
  padding-left: 20px;
}
.under h6:before {
  position: absolute;
  content: "";
  display: block;
  width: 3px;
  background: #7fc700;
  height: 72%;
  top: 50%;
  transform: translateY(-50%);
  left: 0
}
.under .cont_tit6 {
  padding: 50px 0;
  border-top: #fddedb 1px solid;
}
.under .cont_tit6:last-child {
  border-bottom: #fddedb 1px solid;
}
.under .image-l {
  float: left;
  margin: 0 70px 0 0;
  line-height: 0
}
.under .image-r {
  float: right;
  margin: 0 0 0 70px;
  line-height: 0
}
.under .image-c {
  text-align: center;
  margin: 0 auto 20px;
  line-height: 0
}
section {
  padding: 0;
  margin: 0 0 100px 0
}
section:last-child {
  margin-bottom: 0
}
section section {
  padding: 0;
  margin: 0 0 50px 0
}
table {
  margin-bottom: 30px
}
table:last-child {
  margin-bottom: 0
}
#topic-path {
  width: 100%;
  padding: 16px 0 50px;
}
#topic-path ul a {
  text-decoration: none;
  color: var(--color-primary);
}
#topic-path ul li {
  color: #333333;
  position: relative;
  display: inline-block;
  line-height: 1.4em;
  font-family: var(--font-mincho);
}
#topic-path ul li:first-child a {
  letter-spacing: 0.2em;
}
#topic-path ul li::after {
  content: "";
  display: inline-block;
  margin: 0 14px;
  background: url("../images/arrow_topic.png") center center no-repeat;
  background-size: 100% auto;
  width: 8px;
  height: 10px;
}
#topic-path ul li:last-child::after {
  display: none
}
#topic-path .ulist li {
  font-weight: bold;
  margin-bottom: 15px
}
#topic-path .ulist li:last-child {
  margin-bottom: 0
}
.utbl, .mailform {
  margin-bottom: 20px;
  border-spacing: 0
}
.utbl:last-child, .mailform:last-child {
  margin-bottom: 0;
}
.utbl th, .utbl td, .mailform th, .mailform td {
  border: var(--color-primary) 1px solid;
  padding: 10px 10px;
  line-height: 1.8em;
  background: #fff
}
.utbl th, .mailform th {
  font-weight: 400;
  background: #f9899e;
  color: #fff;
  font-size: 18px;
}
.utbl.td-center td, .mailform.td-center td {
  text-align: center;
}
.utbl.td-top td, .mailform.td-top td {
  vertical-align: top
}
.utbl:last-child, .mailform:last-child {
  margin-bottom: 0
}
.utbl.time_table td.icon {
  color: var(--color-primary);
  font-weight: bold;
}
.mailform th {
  flex-shrink: 0;
  width: 30%
}
.mailform td {
  width: 70%
}
.tbl-scroll:not(:last-child) {
  margin-bottom: 30px
}
.tbl-scroll table {
  table-layout: fixed
}
.wp-pagenavi, .pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 50px
}
.wp-pagenavi span, .wp-pagenavi a, .pagination span, .pagination a {
  display: inline-flex;
  min-width: 34px;
  height: 34px;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  color: #fff;
  line-height: 1em;
  padding: 3px 5px 5px;
  font-weight: 600;
  background: #b5b5b5;
  text-decoration: none;
  margin: 5px;
  position: relative;
  z-index: 1;
  overflow: hidden;
  border: none
}
.wp-pagenavi span.current, .wp-pagenavi a.current, .pagination span.current, .pagination a.current {
  background: var(--color-primary);
  padding-top: 6px
}
.wp-pagenavi span.prev, .wp-pagenavi span.next, .wp-pagenavi a.prev, .wp-pagenavi a.next, .pagination span.prev, .pagination span.next, .pagination a.prev, .pagination a.next {
  padding-left: 10px;
  padding-right: 10px
}
.under footer {
  margin-top: 120px
}
#content .mb05 {
  margin-bottom: 5px
}
#content .w20 {
  width: 20%
}
#content .w25 {
  width: 25%
}
#content .w33 {
  width: 33.33%
}
#content .green {
  color: var(--color-primary)
}
#content .txt_spec {
  font-weight: 600;
  color: var(--color-primary)
}
#content .txt_spec span {
  color: var(--color-clr01);
  font-size: 160%
}
#content .txt_small {
  font-size: 120%
}
#content .txt_big {
  font-size: 240%;
  font-weight: 500
}
#content .txt_big02 {
  font-size: 120%;
  font-weight: 500
}
#content .underline {
  text-decoration: underline
}
.mb30 {
  margin-bottom: 30px
}
.float01 {
  display: inline-block;
  width: calc(100% - 500px)
}
.float01 .clinic_info {
  flex-direction: column
}
.float01 .clinic_info dl {
  width: 100%;
  margin-bottom: 20px
}
.float01 .clinic_info dl:last-child {
  margin-bottom: 0
}
.ulist:not(:last-child) {
  margin-bottom: 25px
}
.ulist.list_2col {
  display: flex;
  flex-wrap: wrap
}
.ulist.list_2col li {
  width: 50%
}
.ulist li {
  position: relative;
  padding-left: 25px;
  margin-bottom: 15px;
  line-height: 1.6em;
  text-align: left;
  z-index: 1
}
.ulist li::before {
  position: absolute;
  content: "";
  display: block;
  left: 0;
  top: 8px;
  height: 10px;
  width: 10px;
  background: var(--color-primary);
  border-radius: 50%;
}
.ulist li:last-child {
  margin-bottom: 0
}
.ulist.number {
  counter-reset: li
}
.ulist.number li {
  padding-left: 32px
}
.ulist.number li:before {
  counter-increment: li;
  content: counter(li)".";
  z-index: 2;
  font-weight: bold;
  font-size: 16px;
  color: var(--color-primary);
  line-height: 1;
  left: 0;
  letter-spacing: .05em;
  padding-top: 3px;
  position: absolute;
  top: 2px;
  background: none
}
.ulist.arrow_ic li:before {
  background: var(--color-secondary);
  clip-path: polygon(100% 50%, 0 0, 0 100%);
  width: 8px;
  height: 10px;
  top: 10px
}
.ulist.bold li {
  font-weight: bold
}
.frame01 {
  padding: 50px;
  border: var(--color-primary) 1px solid;
  margin-bottom: 30px;
  border-radius: 20px;
  position: relative;
  z-index: 1;
}
.frame01:last-child {
  margin-bottom: 0
}
.frame02 {
  padding: 50px;
  background: url("../images/bg_repeat02.png") repeat #ebf4da;
  position: relative;
  z-index: 1;
  max-width: 1000px;
  margin: 0 auto 30px;
}
.frame02:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: '';
  display: block;
  background: #fff;
  z-index: -1;
  width: calc(100% - 40px);
  height: calc(100% - 40px);
}
.frame02:last-child {
  margin-bottom: 0
}
.title-frame {
  text-align: center;
  line-height: 1.6em;
  margin-bottom: 25px;
  font-size: 28px;
  font-weight: 600;
  color: var(--color-primary);
  font-family: var(--font-mincho)
}
.frame02 .title-frame {
  color: #7fc700;
}
.frame_num {
  position: absolute;
  bottom: 0;
  right: 1%;
  line-height: 1;
  font-family: var(--font-mincho);
  font-size: 120px;
  margin: 0;
  opacity: 0.2;
  color: var(--color-primary);
}
.content_box {
  margin-bottom: 30px;
  font-size: 16px;
  overflow: hidden;
}
.content_box:last-child {
  margin-bottom: 0
}
.content_box p {
  font-size: 16px
}
.content_box ol, .content_box ul {
  margin-bottom: 30px
}
.content_box ol li, .content_box ul li {
  list-style: inherit;
  position: relative;
  padding-left: 15px;
  margin-bottom: 15px;
  text-align: left;
  line-height: 1.6em;
  font-size: 16px
}
.content_box ol li span, .content_box ul li span {
  line-height: 1.6em;
  display: block
}
.content_box ol li:last-child, .content_box ul li:last-child {
  margin-bottom: 0
}
.content_box ol {
  padding-left: 20px
}
.content_box ol li {
  padding-left: 0
}
.content_box ul li {
  position: relative;
  padding-left: 25px;
  margin-bottom: 15px;
  z-index: 1
}
.content_box ul li::before {
  position: absolute;
  content: "";
  display: block;
  left: 0;
  top: 8px;
  height: 10px;
  width: 10px;
  background: var(--color-primary);
  border-radius: 50%;
}
.content_box ul ::marker {
  color: rgba(0, 0, 0, 0)
}
.content_box ::marker {
  font-size: 18px;
  line-height: 1;
  color: var(--color-primary);
  font-weight: bold
}
.list_news {
  display: flex;
  flex-wrap: wrap;
  gap: 20px
}
.list_news li {
  width: calc((100% - 40px)/3);
}
.list_news li a {
  display: block;
  position: relative;
  z-index: 1;
  color: #333;
  text-decoration: none;
  background: #fff;
  border-radius: 4px;
  padding: 15px;
  height: 100%;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .12);
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .12);
  -moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .12)
}
.list_news li a img {
  max-height: 100%;
  max-width: 100%;
  width: auto;
  height: auto
}
.list_news li a i {
  font-style: normal
}
.list_news li a .img {
  height: 240px;
  display: flex;
  justify-content: center;
  align-items: center
}
.list_news li a .cate_date {
  display: flex;
  justify-content: space-between;
  color: var(--color-secondary);
  font-size: 12px;
  margin: 12px 0 8px;
  letter-spacing: .1em
}
.list_news li a .cate_date i:last-child {
  font-size: 14px
}
.list_news li a .title {
  font-weight: 600;
  display: block;
  line-height: 1.9em
}
.list_news li a .ic_more {
  position: absolute;
  font-size: 12px;
  right: 26px;
  bottom: 16px;
  color: #3e8429;
  letter-spacing: .05em;
  display: none
}
.list-btn {
  display: flex;
  justify-content: center;
  flex-wrap: wrap
}
.list-btn .btn01 {
  margin: 10px;
  max-width: 300px
}
.list_img01 {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 30px
}
.list_img01:last-child {
  margin-bottom: 0
}
.list_img01 li {
  width: calc((100% - 40px)/3)
}
.list_qa dl {
  margin-bottom: 40px
}
.list_qa dl:last-child {
  margin-bottom: 0
}
.list_qa dt {
  position: relative;
  color: #fff;
  line-height: 1.4em;
  padding: 12px 20px 10px 100px;
  letter-spacing: .05em;
  min-height: 100px;
  display: flex;
  align-items: center;
  background: url("../images/bg_repeat01.jpg") repeat;
  cursor: pointer
}
.list_qa dd {
  border: #bbb 1px solid;
  border-top: none;
  position: relative;
  line-height: 1.8em;
  padding: 16px 20px 16px 100px;
  letter-spacing: .05em;
  display: flex;
  align-items: center;
  transition: .1s all;
  min-height: 90px;
  height: auto
}
.list_qa dl.active dd {
  opacity: 0;
  height: 0;
  min-height: 0;
  visibility: hidden
}
.list_qa dt span, .list_qa dd span {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.4;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 29px;
  padding-bottom: 2px;
  font-size: 24px;
  color: #516f80;
  background: #fff
}
.list_qa dd span {
  color: #fff;
  background: var(--color-clr01)
}
.list_be_af {
  display: flex;
  justify-content: center;
  margin-bottom: 40px
}
.list_be_af li {
  width: 470px;
  position: relative;
  margin-right: 80px
}
.list_be_af li img {
  width: auto
}
.list_be_af li span {
  background: var(--color-clr01);
  color: #fff;
  padding: 10px;
  display: block;
  text-align: center;
  font-size: 20px
}
.list_be_af li:after {
  position: absolute;
  content: "";
  display: block;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  width: 40px;
  height: 50px;
  background: var(--color-clr01);
  top: 50%;
  transform: translateY(-50%);
  right: -60px
}
.list_be_af li:last-child {
  margin-right: 0
}
.list_be_af li:last-child:after {
  display: none
}
.title_case {
  text-align: center;
  background: none;
  color: var(--color-clr01);
  opacity: .6;
  font-size: 40px;
  border-bottom: #ccc 1px solid;
  line-height: 1
}
.u_map {
  height: 450px
}
.u_map iframe {
  height: 100%;
  width: 100%
}
/*===================================*/
.access_info {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 30px;
}
.access_info dt {
  flex-shrink: 0;
  margin-right: 30px;
}
.clinic_doctor {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  margin-bottom: 40px;
}
.clinic_doctor dt {
  margin-left: -100px;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
}
.clinic_doctor dt span {
  position: absolute;
  bottom: -30px;
  left: -30px;
  width: 260px;
  height: 70px;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  background: #ffffff;
  box-shadow: 0px 0px 20px 0px rgba(235, 121, 142, 0.1);
  -webkit-box-shadow: 0px 0px 20px 0px rgba(235, 121, 142, 0.1);
  -moz-box-shadow: 0px 0px 20px 0px rgba(235, 121, 142, 0.1);
  font-weight: 500;
}
.clinic_doctor dt i {
  font-style: normal;
  font-size: 20px;
  display: inline-block;
  margin-left: 20px;
}
.clinic_doctor dd {
  background: #fef3f5;
  padding: 36px 150px 50px 50px;
  line-height: 2.5em;
  font-weight: 500;
  min-height: 420px;
  margin-top: 28px;
}
.u_slider .slider-for {
  max-width: 900px;
  margin: 0 auto 30px;
}
.u_slider .slider-for li img {
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}
.u_slider .slider-nav .slick-track {
  width: 100% !important;
  display: flex;
  gap: 10px;
  transform: none !important;
  flex-wrap: wrap;
}
.u_slider .slider-nav .slick-track .slick-slide {
  width: calc((100% - 40px) / 5) !important;
  cursor: pointer;
}
.u_slider .slider-nav .slick-track:before, .u_slider .slider-nav .slick-track:after {
  display: none !important;
}
.u_slider .slider-nav .slick-track .slick-slide.slick-current {
  opacity: 0.7;
}
.u_slider .slick-prev, .u_slider .slick-next, .u_slider .slick-prev:focus, .u_slider .slick-next:focus {
  background: var(--color-secondary);
  z-index: 5;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  padding-top: 3px;
}
.list_3col {
  display: flex;
  gap: 30px;
}
.list_3col:not(:last-child) {
  margin-bottom: 30px;
}
.list_3col li {
  border: #f3f1e4 10px solid;
  padding: 20px;
  width: 100%;
  position: relative;
}
.list_3col li:not(:last-child)::after {
  content: '';
  width: 30px;
  height: 30px;
  background: url("../images/arrow_r_01.png") no-repeat 0 0 / 100%;
  display: block;
  position: absolute;
  right: -40px;
  top: calc(50% - 15px);
}
.list_3col .tit_list_col {
  text-align: center;
  color: #c58200;
  border-bottom: #c58200 1px dotted;
  font-family: var(--font-mincho);
  font-weight: 500;
  margin-bottom: 20px;
  font-size: 20px;
}
.under .u_line {
  text-decoration: underline;
}