@charset "UTF-8";
.under {
  --h3:40px;
  --h4:30px;
}
.under .btn-group .btn {
  max-width: 38em;
}
.under .sitemap > ul > li .lv2 {
  padding-left: 1em;
}
.under .sitemap > ul > li a,
.under .sitemap > ul > li p {
  display: block;
  width: 100%;
  padding: 15px 15px 15px 30px;
  border-bottom: dotted 1px #729926;
  color: var(--clr1);
  position: relative;
  box-sizing: border-box;
  text-decoration: none;
}
.under .sitemap > ul > li a:before,
.under .sitemap > ul > li p:before {
  content: "";
  position: absolute;
  width: 15px;
  height: 3px;
  background: var(--main-color);
  left: 0;
  top: 35px;
  margin-top: -2px;
}
.under .sitemap > ul > li a::before {
  top: 28px;
}
.under .sitemap > ul > li .title {
  margin-bottom: 0;
  font-family: var(--f-en);
  font-weight: 500;
  line-height: 1.5;
  font-size: calc(var(--ttl_size) - 2px);
  color: var(--main-color);
}
.under .sitemap > ul > li p:after {
  content: "";
  position: absolute;
  width: 3px;
  height: 14px;
  background: var(--main-color);
  left: 6px;
  top: 35px;
  margin-top: -7px;
}
.under .sitemap > ul > li a:hover {
  text-decoration: none;
  background: rgba(0, 0, 0, 0.05);
}
@media only screen and (min-width: 769px) {
  .under .sitemap > ul > li li a {
    padding-left: 70px;
  }
  .under .sitemap > ul > li li a:before {
    left: 40px;
  }
}
@media only screen and (max-width: 768px) {
  .under .sitemap > ul > li li a {
    padding-left: 50px;
  }
  .under .sitemap > ul > li li a:before {
    left: 30px;
  }
}
@media only screen and (max-width: 430px) {
  .under .sitemap > ul > li li a {
    padding-left: 35px;
  }
  .under .sitemap > ul > li li a:before {
    left: 10px;
    top: 26px;
  }
}
.under #mainContent {
  padding-bottom: 100px;
}
.under .key {
  position: relative;
  margin: calc(var(--wrapper) - 20px) var(--px-key) 0;
  height: clamp(300px, 38vw, 400px);
  z-index: 0;
}
.under .key::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: var(--border-radius);
  background: url("../images/ud_key_bg.jpg") no-repeat center/cover;
}
.under .key::after {
  content: "";
  position: absolute;
  width: 100vw;
  height: 26.667%;
  top: 0;
  left: calc(50% - 50vw);
  background-color: #fff;
  z-index: -1;
}
.under .key .wrap {
  height: 100%;
  padding: 0px;
}
.under .key_text {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  height: 100%;
  padding: 0 min(11%, 185px);
}
.under .key_text h2 {
  display: table;
  font-size: calc(var(--ttl_size) + 14px);
  font-weight: 700;
  color: var(--main-color);
  border-radius: 0.9524em;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 0.4286em 1.3333em 0.5476em 1.3571em;
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .under .key_text {
    padding: 0 30px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .under .key {
    margin-left: 30px;
    margin-right: 30px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .under .key {
    margin-left: 20px;
    margin-right: 20px;
  }
  .under .key h2 {
    font-size: 32px;
    padding: 0.3em 0.5em;
  }
}
.under h2,
.under h3,
.under h4,
.under h5,
.under h6 {
  position: relative;
  line-height: 1.4;
  letter-spacing: 0.1em;
  font-family: var(--f-jp);
}
.under h2:last-child,
.under h3:last-child,
.under h4:last-child,
.under h5:last-child,
.under h6:last-child {
  margin-bottom: 0;
}
.under h3 {
  position: relative;
  margin-bottom: var(--h3);
  color: var(--main-color);
  font-size: calc(var(--ttl_size) + 8px);
  font-weight: 700;
  text-align: center;
}
.under h3::before {
  content: "";
  display: block;
  width: 0.6667em;
  aspect-ratio: 1/1;
  margin: 0 auto;
  margin-bottom: 0.2222em;
  background: url("../images/ud_h3_decor.png") no-repeat center/cover;
}
.under h3:has(+ .secH4) {
  margin-bottom: 0;
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .under h3 {
    font-size: 28px;
  }
}
.under .secH4 {
  margin-top: var(--h3);
}
.under h4 {
  margin-bottom: var(--h4);
  font-weight: 500;
  font-size: 26px;
  letter-spacing: 0;
  color: #fff;
  background-color: #c0d893;
  border-radius: 8px;
  padding: 0.3077em 0.8462em 0.3846em;
}
.under h4:has(+ .secH5) {
  margin-bottom: 0;
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .under h4 {
    font-size: 24px;
  }
}
.under .secH5 {
  margin-top: var(--h4);
}
.under h5 {
  margin-bottom: 24px;
  font-weight: 500;
  font-size: 24px;
  color: var(--clr3);
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .under h5 {
    font-size: 22px;
  }
}
.under h6 {
  margin-top: 30px;
  margin-bottom: 18px;
  font-size: 22px;
  font-weight: 500;
  color: var(--main-color);
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .under h6 {
    font-size: 20px;
  }
}

.under .inner > section,
.under .entry > section {
  margin-top: 60px;
}
.under .inner > section:first-of-type,
.under .entry > section:first-of-type {
  margin-top: 50px;
}
.under section > p:last-of-type {
  margin-bottom: 0;
}
.under section > p:last-of-type + table,
.under section > p:last-of-type + ul {
  margin-top: 15px;
}
.under .btn-group .btn {
  display: table;
  margin: 20px auto;
}
.under .btn-group .btn:last-child {
  margin-bottom: 0;
}
.under .imgBox.rowImg .image_l img,
.under .imgBox.rowImg .image_r img {
  width: auto;
  max-height: 500px;
  border-radius: var(--border-radius);
}
.under .imgBox.rowImg .image_l {
  float: left;
  margin-right: 65px;
}
.under .imgBox.rowImg .image_r {
  float: right;
  margin-left: 65px;
}
.under .imgBox.rowImg .image_l,
.under .imgBox.rowImg .image_r {
  max-width: 450px;
  margin-bottom: 30px;
}
.under .imgBox.rowImg .txt_l {
  float: left;
}
.under .imgBox.rowImg .txt_r {
  float: right;
}
.under .imgBox.rowImg .txt_l,
.under .imgBox.rowImg .txt_r {
  width: calc(100% - 515px);
}
.under .imgBox.rowImg.large .image_l,
.under .imgBox.rowImg.large .image_r {
  max-width: 440px;
}
.under .imgBox.rowImg.large .txt_l,
.under .imgBox.rowImg.large .txt_r {
  width: calc(100% - 475px);
}
.under .imgBox.rowImg.full .image_l,
.under .imgBox.rowImg.full .image_r {
  max-width: 60vw;
}
.under .imgBox.rowImg .list01 {
  background-color: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
.under .imgBox.rowImg .list01::after {
  content: none !important;
}
.under .imgBox.colImg .list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
.under .imgBox.colImg p {
  margin-bottom: 5px;
}
.under .imgBox.colImg p:last-child {
  margin-bottom: 0;
}
.under .imgBox.colImg picture {
  margin-bottom: 15px;
}
.under .imgBox.colImg .text p {
  font-size: 1em;
}
.under .imgBox.colImg .text .ttl {
  font-size: 1.375em;
  font-weight: bold;
  line-height: 1.8;
  text-align: center;
  color: #a98c54;
  font-family: "Noto Serif JP", serif;
}
.under .imgBox.colImg3 picture, .under .imgBox.colImg2 picture {
  position: relative;
  background: #efefef;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  height: 380px;
  width: 100%;
  text-align: center;
  border-radius: var(--border-radius);
}
.under .imgBox.colImg3 img, .under .imgBox.colImg2 img {
  max-height: 100%;
  max-width: 100%;
}
.under .imgBox.colImg3 .item {
  width: 32%;
}
.under .imgBox.colImg3 picture {
  height: 250px;
}
.under .imgBox.colImg2 .item {
  width: 49%;
}
.under .imgBox.colImg1 .item {
  width: 100%;
}
.under .imgBox.colImg1 .item img {
  max-height: 500px;
  border-radius: var(--border-radius);
  overflow: hidden;
}
.under .faq_box .box {
  overflow: hidden;
  margin-bottom: 3.75em;
}
.under .faq_box .accBtn {
  position: relative;
  background-color: var(--main-color);
  transition: all 0.3s;
}
@media only screen and (min-width: 769px) {
  .under .faq_box .accBtn:hover {
    background-color: #395f89;
  }
}
.under .faq_box .accBtn::before, .under .faq_box .accBtn::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  width: 16px;
  height: 2px;
  right: 2%;
  top: calc(50% - 1px);
  background-color: #fff;
  z-index: 2;
}
.under .faq_box .accBtn:not(.rotate)::after {
  transform: rotate(90deg);
}
.under .faq_box .accBtn .ttl {
  position: relative;
  margin-bottom: 0;
  font-size: 1.5em;
  color: #fff;
  border-radius: 0;
  padding: 0.85em 2.125em 0.85em 3.125em;
  transition: all 0.3s;
  border: none;
}
.under .faq_box .accBtn .ttl:before {
  content: "Q.";
  position: absolute;
  top: 0.375em;
  left: 0.5em;
  line-height: 1;
  font-family: var(--f-en);
  font-size: 1.6666666667em;
}
.under .faq_box .accBtn:hover {
  cursor: pointer;
}
.under .faq_box .content {
  padding-top: 1.5em;
  padding-left: 5em;
  padding-right: 1.5em;
  padding-bottom: 1.5em;
  background-color: #f3f6fb;
  position: relative;
}
.under .faq_box .content .accContainer {
  min-height: 3em;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.under .faq_box .content:after {
  content: "A.";
  position: absolute;
  font-family: var(--f-en);
  top: 0.5em;
  left: 0.5em;
  font-size: 2.5em;
  color: var(--main-color);
  font-weight: 500;
}

@media only screen and (min-width: 769px) {
  .under .rowImg:has(.mcol-2, .mcol-3) li {
    width: 100% !important;
    padding-right: 0;
    padding-bottom: 0;
  }
  .under .rowImg ul.list01 li {
    display: table;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .under .imgBox.rowImg .image_l,
  .under .imgBox.rowImg .image_r {
    display: table;
    float: none;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
}
.under table {
  border-radius: 3px;
}
.under table.rollTable {
  width: 100%;
}
.under table.tbl_style01 th,
.under table.tbl_style01 td {
  border: 1px solid #729926;
  padding: 0.625rem;
  line-height: 2.25;
}
.under table.tbl_style01 th img,
.under table.tbl_style01 td img {
  max-width: 100%;
}
.under table.tbl_style01 th {
  background-color: var(--main-color);
  color: #fff;
  font-size: 1em;
  font-weight: normal;
  text-align: center;
}
.under table.tbl_style01 td {
  background-color: #fff;
  color: var(--clr1);
  font-size: 1em;
}
.under table.tbl_style01.rowHead tr th:not(:last-child) {
  border-right: 1px solid #729926;
}
.under table.tbl_style01.colHead tr:not(:last-child) th {
  border-bottom: 1px solid #729926;
}
.under table.tbl_style01 .list01 {
  background-color: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
.under table.tbl_style01 .list01::after {
  content: none !important;
}
.under table.tbl_style01 th.ic-arrow {
  background-color: transparent;
  border: 0;
  font-size: 2em;
  line-height: 1.5;
}
.under table.tbl_style02 th,
.under table.tbl_style02 td {
  border: 1px solid #b82c68;
  padding: 0.625rem;
  line-height: 2.25;
}
.under table.tbl_style02 th img,
.under table.tbl_style02 td img {
  max-width: 100%;
}
.under table.tbl_style02 th {
  background-color: var(--clr3);
  color: #fff;
  font-size: 1em;
  font-weight: normal;
  text-align: center;
}
.under table.tbl_style02 td {
  background-color: #fff;
  color: var(--clr1);
  font-size: 1em;
}
.under table.tbl_style02.rowHead tr th:not(:last-child) {
  border-right: 1px solid #b82c68;
}
.under table.tbl_style02.colHead tr:not(:last-child) th {
  border-bottom: 1px solid #b82c68;
}
.under table.tbl_style02 .list01 {
  background-color: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
.under table.tbl_style02 .list01::after {
  content: none !important;
}
.under table.tbl_style02 th.ic-arrow {
  background-color: transparent;
  border-left: 0;
  border-right: 0;
  font-size: 2em;
  line-height: 1.5;
}
.under .tbl_note {
  display: none;
  margin-top: 10px;
  color: #b4b4b4;
  font-size: 11px;
  letter-spacing: 0;
}

@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .under table.tbl_style01 th,
  .under table.tbl_style01 td, .under table.tbl_style02 th,
  .under table.tbl_style02 td {
    padding: 0.5rem;
  }
}
.under .list_note {
  margin-top: 15px;
  padding-left: 20px;
}
.under .list_note.no_mt {
  margin-top: 0;
}
.under .topic_path {
  padding: 10px 0;
}
.under .topic_path ul {
  display: block;
  padding: 1px 10px 0px 3px;
}
.under .topic_path ul::after {
  content: "";
  display: block;
  clear: both;
}
.under .topic_path ul li {
  font-size: 14px;
  line-height: 1.45;
  letter-spacing: 0;
  float: left;
}
.under .topic_path a {
  text-decoration: none;
  letter-spacing: 0.1em;
  color: var(--main-color);
}
.under .topic_path a:hover {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .under .topic_path a:hover {
    text-decoration: underline;
  }
}
.under .topic_path span {
  display: inline-block;
  padding: 0 7px;
  transform: scaleX(0.6);
  color: var(--main-color);
  line-height: 1;
}
.under .toc_list {
  position: relative;
  justify-content: space-between;
  padding: 41px 51px 40px;
  border-radius: var(--border-radius);
  background: url(../images/ud_toc_list_bg.jpg) no-repeat center/cover;
  z-index: 0;
}
.under .toc_list:empty {
  display: none;
}
.under .toc_list .br_auto {
  display: inline;
}
.under .toc_list br {
  display: none;
}
.under .toc_list li {
  width: calc(50% - 1.25em);
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.under .toc_list li a {
  position: relative;
  line-height: var(--lh-base);
  margin: 0.6875em 0.25em 0.75em;
  padding-left: 2.125em;
  display: block;
  text-decoration: none;
  color: #fff;
}
.under .toc_list li a::before {
  content: "";
  position: absolute;
  width: round(1.5em, 1px);
  aspect-ratio: 1/1;
  top: 0.4375em;
  left: 0;
  background: url("../images/ud_toc_list_ic.png") no-repeat center/cover;
}
.under .toc_list.style1 li {
  width: 100%;
  padding-right: 0;
  max-width: 100%;
}
.under .toc_list.style1 li:nth-last-child(2):nth-child(odd) {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
@media only screen and (min-width: 993px) {
  .under .toc_list.style3 li {
    width: auto;
    max-width: 33%;
  }
}
@media only screen and (min-width: 769px) {
  .under .toc_list li:last-child, .under .toc_list li:nth-last-child(2):nth-child(odd) {
    border-bottom: none;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .under .toc_list {
    padding: 20px;
    border-radius: 15px;
  }
  .under .toc_list.has-wrap li:nth-last-child(2):nth-child(odd) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }
  .under .toc_list li a::before {
    top: 5px;
  }
}
.under .anchor-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 20px 0 0;
}
.under .anchor-links > div {
  background-color: var(--main-color);
  border-radius: 3px;
  position: relative;
  display: block;
  min-width: 250px;
  width: 49%;
  margin: 0% 0.5% 1%;
  text-align: center;
  color: #fff;
  font-size: 0.875em;
  line-height: 1.5;
  letter-spacing: 0.15em;
}
@media only screen and (min-width: 993px) {
  .under .anchor-links > div {
    width: 32.3%;
  }
}
.under .anchor-links > div a {
  display: block;
  width: 100%;
  padding: 10px 5px 9px;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
  text-decoration: none;
}
.under .anchor-links > div::after {
  content: "";
  border: 4px solid;
  border-bottom-color: transparent;
  border-left-color: transparent;
  border-right-color: transparent;
  position: absolute;
  top: auto;
  bottom: 2px;
  left: calc(50% - 4px);
  right: auto;
  line-height: 1;
}
.under .anchor-links > div:hover a {
  opacity: 1;
}
.under .anchor-links > div:hover::after {
  bottom: 0;
}
.under .anchor-links > div.ext::after {
  content: ">";
  border: 0;
  position: absolute;
  top: calc(50% - 0.5em);
  bottom: auto;
  left: auto;
  right: 7px;
  font-size: 0.857em;
  line-height: 1;
  letter-spacing: 0;
  transform: scaleX(0.5);
}
.under .anchor-links > div.ext:hover::after {
  right: 5px;
}
.under .doctor_box {
  max-width: 700px;
  margin: auto;
  position: relative;
}
.under .doctor_box p {
  margin-bottom: 0;
}
.under .doctor_box img {
  border-radius: var(--border-radius);
}
.under .doctor_box .doctor_name {
  position: absolute !important;
  right: 1em;
  bottom: 1em;
  background: rgba(255, 255, 255, 0.95);
  border-radius: var(--border-radius);
  padding: 20px;
  z-index: 1;
  color: var(--main-color);
  text-align: center;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
.under .doctor_box .doctor_name .name {
  display: block;
}
.under .doctor_box .doctor_name .name > span {
  font-size: 120%;
  font-weight: 700;
  margin-left: 0.25em;
}
.under .ud_map {
  border-radius: var(--border-radius);
  overflow: hidden;
}
@media only screen and (min-width: 769px) {
  .under .ud_map {
    height: 450px;
  }
}
@media only screen and (max-width: 768px) {
  .under .ud_map {
    height: 199px;
  }
}
.under .exp li {
  margin-bottom: 1em;
  padding-bottom: 0.5em;
  display: flex;
  border-bottom: 1px solid #729926;
}
.under .exp li .year {
  width: var(--w);
  color: var(--main-color);
  font-weight: 500;
}
.under .exp li .txt {
  width: calc(100% - var(--w));
}
@media only screen and (min-width: 769px) {
  .under .exp {
    --w: 8em;
  }
}
@media only screen and (max-width: 768px) {
  .under .exp {
    --w: 6.5em;
  }
}

.under .clinic_tbl01 th {
  width: 35%;
  text-align: right;
}
.under .clinic_tbl02 {
  text-align: center;
}
.under .clinic_tbl02 th:first-child {
  width: 30%;
}
.under .clinic_tbl02 th:not(:first-child) {
  width: 10%;
}
.under .clinic_tbl02 td:not(:first-child) {
  color: var(--main-color);
}
.under .clinic_tbl03 {
  text-align: center;
}
.under .clinic_tbl03 th:first-child {
  width: 30%;
}
.under .clinic_tbl03 th:not(:first-child) {
  width: 10%;
}
.under .clinic_tbl03 td:not(:first-child) {
  color: var(--clr3);
}

/* START BLOG
------------------------------------------------------------------------*/
#pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: 40px auto 0;
}
#pagination:empty {
  display: none;
}
#pagination a,
#pagination span {
  background-color: var(--main-color);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  border-radius: 100%;
  margin: 10px 5px;
  width: 32px;
  height: 32px;
  color: #fff;
  line-height: 1;
  text-decoration: none;
}
#pagination a.prev, #pagination a.next,
#pagination span.prev,
#pagination span.next {
  background-repeat: no-repeat;
  background-position: center;
  background-size: 7px auto;
  color: transparent;
}
#pagination a.prev,
#pagination span.prev {
  background-image: url(../images/shared_blog_arrow_prev.svg);
}
#pagination a.next,
#pagination span.next {
  background-image: url(../images/shared_blog_arrow_next.svg);
}
#pagination a:hover {
  text-decoration: none;
  opacity: 0.7;
}
#pagination span {
  opacity: 0.5;
}
#pagination .active a,
#pagination a.active:hover {
  background: none repeat scroll 0 0 #000000;
  color: #FFFFFF;
}

.blog-content .date {
  margin-bottom: 20px;
  text-align: center;
  color: var(--main-color);
}

.blog_list_style01 .item {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border-bottom: 1px solid #bababa;
  padding-bottom: 30px;
  margin-bottom: 30px;
}
.blog_list_style01 .item picture {
  background-color: rgb(255, 255, 255);
  position: relative;
  overflow: hidden;
  border: 3px solid var(--main-color);
  width: 220px;
  height: 220px;
  border-radius: var(--border-radius);
}
.blog_list_style01 .item picture img {
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.blog_list_style01 .item .info {
  width: calc(100% - 250px);
  position: relative;
  padding-bottom: 40px;
}
.blog_list_style01 .item .info p {
  margin-bottom: 0;
  line-height: 1.5;
}
.blog_list_style01 .item .info .date {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 15px;
  padding-top: 15px;
  font-size: 90%;
}
.blog_list_style01 .item .info .date .tag {
  display: inline-block;
  color: transparent;
  font-size: 90%;
  letter-spacing: -1em;
}
.blog_list_style01 .item .info .date .tag a {
  background-color: var(--clr2);
  display: inline-block;
  margin-right: 2px;
  padding: 0 10px;
  color: #fff;
  letter-spacing: 0;
  text-decoration: none;
  margin-bottom: 1px;
  margin-top: 1px;
}
.blog_list_style01 .item .info .date .tag a.column {
  background-color: var(--clr3);
}
.blog_list_style01 .item .info .date .day {
  margin-right: 1em;
}
.blog_list_style01 .item .info .ttl {
  margin-bottom: 10px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  text-decoration: underline;
  font-size: 120%;
  font-weight: 600;
  color: #333333;
}
.blog_list_style01 .item .info .ttl a {
  color: inherit;
}
.blog_list_style01 .item .info .des {
  padding-bottom: 45px;
}
.blog_list_style01 .item .info .button {
  background-color: #fff;
  border: 3px solid #ddd;
  position: absolute;
  bottom: 0px;
  right: 0;
}
.blog_list_style01 .item .info .button a {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  padding: 5px 15px 5px 10px;
  font-size: 90%;
  color: #333;
  text-decoration: none;
}
.blog_list_style01 .item .info .button a span {
  display: block;
  position: absolute;
  right: 5px;
  line-height: 1em;
  top: calc(50% - 0.55em);
}
.blog_list_style01 .item .info .button a::before {
  opacity: 0;
}
.blog_list_style01 .item .info .button::after {
  content: "";
  background-color: var(--main-color);
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  right: 0;
  width: 0;
  transition: all 0.3s ease;
}
@media only screen and (min-width: 769px) {
  .blog_list_style01 .item .info .button:hover a {
    opacity: 1;
    color: #fff;
  }
  .blog_list_style01 .item .info .button:hover::after {
    width: 100%;
  }
}

@media only screen and (max-width: 640px) {
  .blog_list_style01 .item {
    display: block;
  }
  .blog_list_style01 .item picture {
    margin: 0 auto;
  }
  .blog_list_style01 .item .info {
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
    padding-bottom: 0;
  }
  .blog_list_style01 .item .info .button {
    position: relative;
    display: table;
  }
}
@media only screen and (max-width: 768px) {
  .blog_list_style01 .item .info .des {
    padding-bottom: 25px;
  }
}
.main_blog_container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.main_blog_container .main_blog_content {
  max-width: 100%;
  width: calc(100% - 250px);
}
.main_blog_container .main_blog_content > div {
  padding-top: 0;
}
.main_blog_container .sidebar {
  width: 220px;
}
.main_blog_container .sidebar .txt_head,
.main_blog_container .sidebar .widgettitle {
  background-color: var(--main-color);
  transform: none;
  position: static;
  display: block;
  margin-bottom: 0;
  padding: 15px 10px;
  width: 100%;
  writing-mode: horizontal-tb;
  font-size: 18px;
  color: #fff;
  text-align: center;
}
.main_blog_container .sidebar ul:not(.children) {
  background-color: #fff;
  border: 1px solid #ddebf2;
  border-top: 0;
  padding: 0 10px;
}
.main_blog_container .sidebar ul:not(.children) > li {
  border-bottom: 1px solid #959595;
  padding: 12px 10px;
  font-size: 80%;
}
.main_blog_container .sidebar ul:not(.children) > li:last-child {
  border-bottom: 0;
}
.main_blog_container .sidebar ul:not(.children) > li a {
  color: inherit;
  font-size: inherit;
  text-decoration: underline;
}
.main_blog_container .sidebar ul:not(.children) > li a:hover {
  text-decoration: none;
}
.main_blog_container .sidebar ul.children {
  padding: 7px 7px;
}
.main_blog_container .sidebar ul.children li {
  padding-bottom: 5px;
}
.main_blog_container .sidebar ul.children li:last-child {
  padding-bottom: 0;
}

@media only screen and (max-width: 768px) {
  .main_blog_container .main_blog_content {
    width: auto;
    margin: 0 auto;
  }
  .main_blog_container .sidebar {
    display: none;
  }
}
.blog_post_button {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  max-width: 600px;
  margin: 100px auto 0;
}
.blog_post_button > div {
  position: relative;
  width: 32%;
  color: #fff;
  text-align: center;
  line-height: 1;
  font-size: 0.9em;
  overflow: hidden;
}
.blog_post_button > div:empty::before, .blog_post_button > div:empty::after {
  display: none;
}
.blog_post_button > div::before, .blog_post_button > div::after {
  content: "";
  transition: all 0.2s ease;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.blog_post_button > div::before {
  background-color: var(--main-color);
}
.blog_post_button > div::after {
  border: 1px solid var(--main-color);
}
.blog_post_button > div a {
  transition: all 0.3s;
  display: block;
  position: relative;
  z-index: 1;
  padding: 11px 10px 10px;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: inherit;
  color: inherit;
  text-align: center;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .blog_post_button > div a:not(.tel_click):hover,
  .blog_post_button > div a:not(.tel_click):active {
    opacity: 1;
    color: #fff;
  }
}
@media only screen and (min-width: 769px) {
  .blog_post_button > div:hover::before {
    opacity: 0;
    transform: scale(0.8);
  }
  .blog_post_button > div:hover::after {
    opacity: 1;
    transform: scale(1);
  }
  .blog_post_button > div:hover a {
    color: #000;
  }
}

/* END BLOG
------------------------------------------------------------------------*/
/* START Mail
------------------------------------------------------------------------*/
.contact-form-style01 .contact-table {
  background-size: cover;
  width: 100%;
  margin: 0 auto 0px;
  overflow: hidden;
  position: relative;
}
.contact-form-style01 .contact-table textarea {
  min-width: 100%;
}
.contact-form-style01 .contact-table::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.contact-form-style01 .contact-table input,
.contact-form-style01 .contact-table select,
.contact-form-style01 .contact-table textarea {
  border: 1px solid;
  padding: 4px 8px;
  border-radius: 5px;
  font-size: 1rem;
}
.contact-form-style01 .contact-table input {
  width: 100%;
}
.contact-form-style01 .contact-table textarea {
  max-width: 100%;
  width: 100%;
  height: 7em;
}
.contact-form-style01 .contact-table input,
.contact-form-style01 .contact-table textarea {
  transition: all 0.2s ease-in-out;
}
.contact-form-style01 .contact-table input[type=radio],
.contact-form-style01 .contact-table input[type=checkbox] {
  margin: 5px 3px 5px 0px;
  width: auto;
}
.contact-form-style01 .contact-table [readonly*=readonly] {
  background: none;
  border: 0;
  font-weight: bold;
}
.contact-form-style01 .contact-table dl {
  position: relative;
  z-index: 1;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}
.contact-form-style01 .contact-table dt {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 400px;
  padding: 15px 20px;
  font-size: 1.125em;
}
.contact-form-style01 .contact-table dt span {
  display: inline-block;
  border-radius: 7px;
  padding: 2px 7px;
  margin-left: 5px;
  font-size: 70%;
  line-height: 1;
}
.contact-form-style01 .contact-table dd {
  width: calc(100% - 400px);
  padding: 15px 25px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.contact-form-style01 .contact-table .postal_code {
  display: flex;
  flex-wrap: wrap;
}
.contact-form-style01 .contact-table .inline span {
  max-width: 75px;
  margin: 0 5px;
  text-align: center;
}
.contact-form-style01 .contact-table .inline input {
  text-align: center;
}
.contact-form-style01 .contact-table .clockpicker input {
  width: 70px;
  text-align: center;
}
.contact-form-style01 .contact-table input:not([type=radio]):not([type=checkbox]):focus, .contact-form-style01 .contact-table textarea:focus {
  color: #495057;
  background-color: #fff;
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.contact-form-style01 .confirm-table textarea {
  resize: none;
  width: 100%;
}
.contact-form-style01 .confirm-table input:not([type=radio]):not([type=checkbox]):focus,
.contact-form-style01 .confirm-table textarea:focus {
  color: inherit;
  background-color: transparent;
  border-color: transparent;
  outline: 0;
  box-shadow: none;
}
.contact-form-style01 .input_btn,
.contact-form-style01 .button.thanks_btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  max-width: 520px;
  margin: 40px auto 0;
}
.contact-form-style01 .input_btn input,
.contact-form-style01 .input_btn a,
.contact-form-style01 .button.thanks_btn input,
.contact-form-style01 .button.thanks_btn a {
  color: inherit;
  text-decoration: none;
  line-height: 1;
}
.contact-form-style01 .input_btn a,
.contact-form-style01 .button.thanks_btn a {
  margin: 0 !important;
  display: flex;
  justify-content: center;
  align-items: center;
}
.contact-form-style01 .input_btn input[type=button],
.contact-form-style01 .input_btn input[type=submit],
.contact-form-style01 .button.thanks_btn a {
  width: 200px;
  height: 45px;
  border: none;
  padding: 10px;
  text-align: center;
  font-size: 100%;
  font-weight: normal;
  margin: 0px 10px 10px;
  text-decoration: none;
  cursor: pointer;
  -webkit-appearance: none;
}
.contact-form-style01 .input_btn input[type=button]:hover,
.contact-form-style01 .input_btn input[type=submit]:hover,
.contact-form-style01 .button.thanks_btn a:hover {
  opacity: 1;
  background-color: #ccc;
}
.contact-form-style01 .input_btn input[type=button],
.contact-form-style01 .input_btn input[type=submit],
.contact-form-style01 .button.thanks_btn {
  background-color: var(--main-color);
  color: #fff;
  font-family: var(--f-jp);
}
.contact-form-style01 .contact-table {
  border: 1px solid #ddd;
}
.contact-form-style01 .contact-table input,
.contact-form-style01 .contact-table select,
.contact-form-style01 .contact-table textarea {
  border-color: #ddd;
}
@media only screen and (min-width: 769px) {
  .contact-form-style01 .contact-table dl:last-child dt,
  .contact-form-style01 .contact-table dl:last-child dd {
    border-bottom: none;
  }
}
.contact-form-style01 .contact-table dt {
  background-color: var(--main-color);
  border-bottom: 1px solid #ddd;
  color: #fff;
}
.contact-form-style01 .contact-table dt span {
  background-color: #ffffff;
  color: #ff3c7f;
}
@-moz-document url-prefix() {
  .contact-form-style01 .contact-table dt span {
    /* Fire Fox */
    padding-bottom: 3px;
  }
}
.contact-form-style01 .contact-table dd {
  border-bottom: 1px solid #ddd;
}
.contact-form-style01 .wpcf7-not-valid-tip {
  display: block;
  margin: 3px 7px 0;
}

.screen-reader-response {
  display: none;
}

.wpcf7-not-valid-tip {
  font-size: 80%;
  color: #ff3c7f;
}

.wpcf7-response-output {
  padding-top: 20px;
}

.wpcf7-list-item {
  margin-right: 15px;
}

.wpcf7-list-item-label {
  color: #000;
}

.wpcf7-form-control-wrap {
  width: 100%;
}
.wpcf7-form-control-wrap .g-recaptcha {
  display: table;
  margin: 0 auto;
}

.cf7msm-ro {
  white-space: pre-wrap;
}

.captcha_box {
  display: table;
  margin: 50px auto 0;
}
@-moz-document url-prefix() {
  .captcha_box {
    /* Fire Fox */
    display: block;
    width: 304px;
    height: 78px;
  }
}
@supports (-webkit-touch-callout: none) {
  .captcha_box {
    /* Specific to iOS devices */
    display: block;
    width: 304px;
    height: 78px;
  }
}
@media not all and (min-resolution: 0.001dpcm) {
  @supports (-webkit-appearance: none) {
    .captcha_box {
      /* Safari */
      display: block;
      width: 304px;
      height: 78px;
    }
  }
}

@media only screen and (max-width: 1000px) and (min-width: 769px) {
  .contact-form-style01 .contact-table dt {
    width: 40%;
  }
  .contact-form-style01 .contact-table dd {
    width: 60%;
  }
}
@media only screen and (max-width: 768px) {
  .contact-form-style01 .contact-table {
    border: none;
  }
  .contact-form-style01 .contact-table dl {
    display: block;
  }
  .contact-form-style01 .contact-table dt {
    border-bottom: none;
    border-left: 1px solid var(--main-color);
    border-right: 1px solid var(--main-color);
  }
  .contact-form-style01 .contact-table dt,
  .contact-form-style01 .contact-table dd {
    width: 100%;
  }
  .contact-form-style01 .contact-table dd {
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
  }
  .contact-form-style01 .contact-table input,
  .contact-form-style01 .contact-table textarea {
    width: 100%;
  }
  .contact-form-style01 .contact-table input[type=checkbox],
  .contact-form-style01 .contact-table input[type=radio] {
    width: auto;
  }
  .contact-form-style01 .wpcf7-list-item {
    display: block;
  }
}
/* END Mail*/
.under .toc_list.has-wrap li {
  width: 100%;
  max-width: 100%;
  padding-right: 0;
}

.under table.tbl_style01 .list01, .under table.tbl_style02 .list01 {
  padding-bottom: 0;
}
.under table.tbl_style01 .list01 li:last-child, .under table.tbl_style02 .list01 li:last-child {
  padding-bottom: 0;
}
.under table.tbl_style01.td-center td, .under table.tbl_style02.td-center td {
  text-align: center;
}
.under table.tbl_style01.td-top td, .under table.tbl_style02.td-top td {
  vertical-align: top;
}
.under table.tbl_style01.td-ttl td:first-child, .under table.tbl_style02.td-ttl td:first-child {
  text-align: center;
  color: var(--clr1);
  background-color: #c0d893;
}

.under ul.list01.mb, .under ul.list02.mb, .under ul.list-check.mb {
  margin-bottom: var(--pb) !important;
}
.under ul.list01 li, .under ul.list02 li, .under ul.list-check li {
  position: relative;
  padding-left: 1.5em;
  padding-bottom: var(--pb);
  letter-spacing: 0.1em;
  line-height: var(--lh-base);
  text-align: left;
}
.under ul.list01 li:last-child, .under ul.list02 li:last-child, .under ul.list-check li:last-child {
  padding-bottom: 0;
}
.under ul.list01 li.note, .under ul.list02 li.note, .under ul.list-check li.note {
  width: 100% !important;
  padding-left: 0;
}
.under ul.list01 li.note::before, .under ul.list02 li.note::before, .under ul.list-check li.note::before {
  content: none;
}
.under ul.list01.mcol-2, .under ul.list02.mcol-2, .under ul.list-check.mcol-2 {
  position: relative;
  display: flex;
  flex-wrap: wrap;
}
.under ul.list01.mcol-2 li, .under ul.list02.mcol-2 li, .under ul.list-check.mcol-2 li {
  width: 50%;
  padding-right: 10px;
}
.under ul.list01.mcol-3, .under ul.list02.mcol-3, .under ul.list-check.mcol-3 {
  position: relative;
  display: flex;
  flex-wrap: wrap;
}
.under ul.list01.mcol-3 li, .under ul.list02.mcol-3 li, .under ul.list-check.mcol-3 li {
  width: 32%;
  padding-right: 10px;
}
.under ul.list01.row, .under ul.list02.row, .under ul.list-check.row {
  position: relative;
  display: flex;
  flex-wrap: wrap;
}
.under ul.list01.row li, .under ul.list02.row li, .under ul.list-check.row li {
  width: fit-content;
  margin-right: 1em;
  padding-bottom: 0;
}
.under ul.list01:not(.no-box), .under ul.list02:not(.no-box), .under ul.list-check:not(.no-box) {
  margin: 40px 0;
  position: relative;
  background-color: #fff;
  border-radius: var(--border-radius);
  box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.08);
  padding: 43px 75px;
}
.under ul.list01:not(.no-box)::after, .under ul.list02:not(.no-box)::after, .under ul.list-check:not(.no-box)::after {
  font-size: min(0.78vw, 0.625em);
  content: "";
  position: absolute;
  width: 9em;
  aspect-ratio: 1/1;
  bottom: -2.5em;
  right: 1.8em;
  background: url("../images/ud_box_decor.png") no-repeat center/cover;
}
.under ul.list01:not(.no-box):last-child, .under ul.list02:not(.no-box):last-child, .under ul.list-check:not(.no-box):last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 769px) {
  .under ul.list01, .under ul.list02, .under ul.list-check {
    --pb: .75em;
  }
  .under ul.list01.mcol-2 li:last-child, .under ul.list01.mcol-2 li:nth-child(2n+1), .under ul.list02.mcol-2 li:last-child, .under ul.list02.mcol-2 li:nth-child(2n+1), .under ul.list-check.mcol-2 li:last-child, .under ul.list-check.mcol-2 li:nth-child(2n+1) {
    padding-bottom: 0;
  }
  .under ul.list01.mcol-2 li.note:is(:last-child), .under ul.list01.mcol-2 li.note:is(:nth-child(2n+1)), .under ul.list02.mcol-2 li.note:is(:last-child), .under ul.list02.mcol-2 li.note:is(:nth-child(2n+1)), .under ul.list-check.mcol-2 li.note:is(:last-child), .under ul.list-check.mcol-2 li.note:is(:nth-child(2n+1)) {
    padding-top: var(--pb);
  }
  .under ul.list01.mcol-3 li:last-child, .under ul.list01.mcol-3 li:nth-child(3n+1), .under ul.list02.mcol-3 li:last-child, .under ul.list02.mcol-3 li:nth-child(3n+1), .under ul.list-check.mcol-3 li:last-child, .under ul.list-check.mcol-3 li:nth-child(3n+1) {
    padding-bottom: 0;
  }
  .under ul.list01.row li, .under ul.list02.row li, .under ul.list-check.row li {
    padding-bottom: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1170px) {
  .under ul.list01.mcol li, .under ul.list02.mcol li, .under ul.list-check.mcol li {
    width: 100%;
    padding-right: 0;
    padding-bottom: 0.625em;
  }
  .under ul.list01.mcol li:nth-child(2n+1), .under ul.list02.mcol li:nth-child(2n+1), .under ul.list-check.mcol li:nth-child(2n+1) {
    padding-bottom: 0.625em;
  }
  .under ul.list01.mcol li:last-of-type, .under ul.list02.mcol li:last-of-type, .under ul.list-check.mcol li:last-of-type {
    padding-bottom: 0;
  }
  .under ul.list01.mcol li.note:is(:last-child), .under ul.list01.mcol li.note:is(:nth-child(2n+1)), .under ul.list02.mcol li.note:is(:last-child), .under ul.list02.mcol li.note:is(:nth-child(2n+1)), .under ul.list-check.mcol li.note:is(:last-child), .under ul.list-check.mcol li.note:is(:nth-child(2n+1)) {
    padding-top: 0;
  }
  .under ul.list01:not(.no-box), .under ul.list02:not(.no-box), .under ul.list-check:not(.no-box) {
    padding: 40px;
  }
}
@media only screen and (max-width: 768px) {
  .under ul.list01, .under ul.list02, .under ul.list-check {
    --pb: 10px;
  }
  .under ul.list01.mcol-2 li, .under ul.list01.mcol-3 li, .under ul.list01.row li, .under ul.list02.mcol-2 li, .under ul.list02.mcol-3 li, .under ul.list02.row li, .under ul.list-check.mcol-2 li, .under ul.list-check.mcol-3 li, .under ul.list-check.row li {
    width: 100%;
    padding-bottom: var(--pb);
    padding-right: 0;
  }
  .under ul.list01.mcol-2 li:last-child, .under ul.list01.mcol-3 li:last-child, .under ul.list01.row li:last-child, .under ul.list02.mcol-2 li:last-child, .under ul.list02.mcol-3 li:last-child, .under ul.list02.row li:last-child, .under ul.list-check.mcol-2 li:last-child, .under ul.list-check.mcol-3 li:last-child, .under ul.list-check.row li:last-child {
    padding-bottom: 0;
  }
  .under ul.list01.mcol-2 li.note:is(:last-child), .under ul.list01.mcol-2 li.note:is(:nth-child(2n+1)), .under ul.list01.mcol-3 li.note:is(:last-child), .under ul.list01.mcol-3 li.note:is(:nth-child(2n+1)), .under ul.list01.row li.note:is(:last-child), .under ul.list01.row li.note:is(:nth-child(2n+1)), .under ul.list02.mcol-2 li.note:is(:last-child), .under ul.list02.mcol-2 li.note:is(:nth-child(2n+1)), .under ul.list02.mcol-3 li.note:is(:last-child), .under ul.list02.mcol-3 li.note:is(:nth-child(2n+1)), .under ul.list02.row li.note:is(:last-child), .under ul.list02.row li.note:is(:nth-child(2n+1)), .under ul.list-check.mcol-2 li.note:is(:last-child), .under ul.list-check.mcol-2 li.note:is(:nth-child(2n+1)), .under ul.list-check.mcol-3 li.note:is(:last-child), .under ul.list-check.mcol-3 li.note:is(:nth-child(2n+1)), .under ul.list-check.row li.note:is(:last-child), .under ul.list-check.row li.note:is(:nth-child(2n+1)) {
    padding-top: 0;
  }
  .under ul.list01:not(.no-box), .under ul.list02:not(.no-box), .under ul.list-check:not(.no-box) {
    margin: 25px 0;
    padding: 30px 15px;
  }
  .under ul.list01:not(.no-box)::after, .under ul.list02:not(.no-box)::after, .under ul.list-check:not(.no-box)::after {
    font-size: 5px;
  }
}
.under ul.list01 li::before {
  content: "";
  width: round(0.8125em, 1px);
  height: round(0.8125em, 1px);
  position: absolute;
  left: 1px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: var(--main-color);
}
@media only screen and (min-width: 769px) {
  .under ul.list01 li::before {
    top: 12px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .under ul.list01 li::before {
    top: 10px;
  }
}
@media only screen and (max-width: 768px) {
  .under ul.list01 li::before {
    top: 9px;
  }
}
.under ul.list02 {
  counter-reset: item;
}
.under ul.list02 li {
  position: relative;
  counter-increment: item;
  padding-left: 2.5em;
}
.under ul.list02 li::before {
  content: counter(item, decimal-leading-zero);
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  width: 2em;
  top: 4px;
  left: 0;
  aspect-ratio: 1/1;
  font-family: var(--f-en);
  font-size: 0.8889em;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  color: #fff;
  background-color: var(--main-color);
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .under ul.list02 li::before {
    top: 3px;
  }
}
@media only screen and (max-width: 768px) {
  .under ul.list02 li::before {
    top: 1px;
  }
}
.under ul.list-check li {
  padding-left: 1.875em;
}
.under ul.list-check li::before {
  content: "🗹";
  position: absolute;
  color: var(--clr2);
  font-size: 120%;
  left: 0;
}
@media only screen and (min-width: 769px) {
  .under ul.list-check li::before {
    top: -0.1111em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .under ul.list-check li::before {
    top: -0.1875em;
  }
}
@media only screen and (max-width: 768px) {
  .under ul.list-check li::before {
    top: -0.25em;
  }
}
.under .rowImg ul .list01.mcol-2 li {
  width: 100%;
  padding-right: 0;
  padding-bottom: var(--pb);
}

.under .ud_flow {
  position: relative;
  counter-reset: flow;
  --size: 50px;
  --spc: 30px;
  --mb: 15px;
}
.under .ud_flow .item {
  counter-increment: flow;
  position: relative;
  width: calc(100% - (var(--size) + var(--spc)));
  margin-left: calc(var(--size) + var(--spc));
  background-color: rgba(206, 228, 165, 0.5);
  border-radius: 5px;
  padding: 10px 15px;
  z-index: 1;
}
.under .ud_flow .item:not(:last-child) {
  margin-bottom: var(--mb);
}
.under .ud_flow .item::before {
  content: counter(flow, decimal-leading-zero);
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(-1 * (var(--size) + var(--spc)));
  margin: auto;
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  background-color: var(--main-color);
  color: #fff;
  font-size: 1.25em;
  font-family: var(--f-en);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
.under .ud_flow .item::after {
  content: "";
  position: absolute;
  top: calc(var(--mb) * -1);
  left: calc(-1 * (var(--size) / 2 + var(--spc)));
  width: 2px;
  height: calc(100% + var(--mb) * 2);
  background-color: var(--main-color);
  z-index: 1;
}
.under .ud_flow .item:first-child::after, .under .ud_flow .item:last-child::after {
  height: 50%;
}
.under .ud_flow .item:first-child::after {
  top: 50%;
}
@media only screen and (max-width: 768px) {
  .under .ud_flow {
    --size: 40px;
    --spc: 15px;
    --mb: 15px;
  }
  .under .ud_flow .item {
    padding: 10px;
  }
  .under .ud_flow .item::before {
    font-size: 16px;
  }
}

.under .ud_catch {
  position: relative;
  max-width: 800px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border-radius: var(--border-radius);
  border: 2px solid var(--main-color);
  z-index: 0;
  overflow: hidden;
}
.under .ud_catch::before {
  content: "";
  position: absolute;
  width: 100%;
  aspect-ratio: 80/27;
  top: -2px;
  left: -2px;
  background: url("../images/ud_catch_decor.png") no-repeat center/cover;
  z-index: -1;
  opacity: 0.6;
}
.under .ud_catch .catch_ttl {
  color: var(--main-color);
  font-family: var(--f-jp);
  line-height: 1.6;
  font-weight: 500;
  text-align: center;
  margin-bottom: 0;
}
.under .ud_catch:is(:last-child) {
  margin-bottom: 0;
}
.under .ud_catch:is(:only-child) {
  margin: 0 auto;
}
@media only screen and (min-width: 769px) {
  .under .ud_catch {
    padding: 1.5em;
    margin: 1.875em auto;
    min-height: 7.5em;
  }
  .under .ud_catch .catch_ttl {
    font-size: calc(var(--ttl_size) - 4px);
  }
}
@media only screen and (max-width: 768px) {
  .under .ud_catch {
    margin: 1.2em 0;
    padding: 1.2em;
    min-height: 6.25em;
  }
  .under .ud_catch .catch_ttl {
    font-size: 18px;
  }
}

.under .btn-tel,
.under .btn-web {
  font-size: 0.625em;
  max-width: 380px;
}
.under .btn-tel a,
.under .btn-web a {
  position: relative;
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 3.3333em;
  border-radius: 999em;
  font-size: 1.8em;
  color: #fff;
  text-align: center;
  padding: 0.5em 1em;
}
.under .btn-tel a > span,
.under .btn-web a > span {
  display: flex;
  align-items: center;
}
.under .btn-tel a > span::before,
.under .btn-web a > span::before {
  content: "";
  font-size: 0.6667em;
  display: block;
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: #fff;
  margin-right: 1em;
}
.under .btn-web a {
  background-color: var(--clr2);
}
.under .btn-web a > span::before {
  width: 1.9375em;
  height: 2em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 31 32' %3E%3Cpath d='M29.870,31.997 L1.757,31.997 C0.786,31.997 -0.000,31.250 -0.000,30.328 L-0.000,6.975 C-0.000,6.053 0.786,5.306 1.757,5.306 L7.028,5.306 L7.028,1.971 C7.028,1.049 7.814,0.301 8.785,0.301 C9.756,0.301 10.542,1.049 10.542,1.971 L10.542,5.306 L21.084,5.306 L21.084,1.971 C21.084,1.049 21.872,0.301 22.842,0.301 C23.812,0.301 24.599,1.049 24.599,1.971 L24.599,5.306 L28.113,5.306 L29.870,5.306 C30.841,5.306 30.390,6.053 30.390,6.975 L30.390,30.328 C30.390,31.250 30.841,31.997 29.870,31.997 ZM14.495,21.298 L11.345,18.306 C10.659,17.655 9.547,17.655 8.861,18.306 C8.174,18.957 8.174,20.014 8.861,20.666 L13.254,24.836 C13.584,25.148 14.030,25.325 14.495,25.325 C14.961,25.325 15.408,25.148 15.738,24.836 L22.766,18.163 C23.453,17.512 23.453,16.455 22.766,15.803 C22.080,15.154 20.969,15.154 20.281,15.803 L14.495,21.298 Z'/%3E%3C/svg%3E");
}
.under .btn-tel a {
  background-color: #129042;
}
.under .btn-tel a > span::before {
  width: 1.6875em;
  height: 1.6875em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 27' %3E%3Cpath d='M26.471,20.301 L26.471,25.464 C26.471,26.227 25.877,26.866 25.111,26.919 C24.472,26.963 23.951,26.988 23.547,26.988 C10.630,26.988 0.160,16.531 0.160,3.631 C0.160,3.227 0.181,2.705 0.227,2.066 C0.281,1.300 0.918,0.710 1.685,0.710 L6.854,0.710 C7.230,0.710 7.545,0.995 7.582,1.367 C7.616,1.701 7.646,1.967 7.676,2.172 C7.966,4.197 8.562,6.167 9.442,8.015 C9.581,8.309 9.490,8.654 9.226,8.838 L6.072,11.093 C8.001,15.578 11.583,19.159 16.076,21.083 L18.327,17.938 C18.517,17.674 18.870,17.583 19.165,17.723 C21.014,18.600 22.985,19.193 25.012,19.482 C25.214,19.510 25.482,19.543 25.815,19.574 C26.189,19.614 26.473,19.924 26.472,20.301 L26.471,20.301 Z'/%3E%3C/svg%3E");
}

.under .ud_sign {
  color: var(--main-color);
  font-size: 1.25em;
  line-height: 1.5;
  text-align: right;
}
.under .ud_sign .clinic {
  font-weight: 500;
}
.under .ud_sign .name {
  display: block;
}
.under .ud_sign .name > span {
  font-size: 120%;
  margin-left: 5px;
  font-weight: 700;
}

.under .ud_steps {
  counter-reset: point;
}
.under .ud_steps .step_box {
  --pd: 1.875em;
  --cont-px: 85px;
  --clr-point: var(--main-color);
  counter-increment: point;
  position: relative;
  padding: var(--pd);
  z-index: 0;
}
.under .ud_steps .step_box:last-child::after {
  content: none;
}
.under .ud_steps .step_box::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 7.5em;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: var(--clr-point);
  border-radius: 0 0 var(--border-radius) var(--border-radius);
  z-index: -1;
}
.under .ud_steps .step_box::after {
  content: "";
  position: absolute;
  width: 25px;
  aspect-ratio: 25/17;
  top: calc(100% - 1px);
  left: 50%;
  transform: translateX(-50%);
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  background-color: #a0b827;
}
.under .ud_steps .step_box .num {
  position: absolute;
  top: -4px;
  right: calc(var(--cont-px) + 24px);
  font-family: var(--f-en);
  font-size: 3.75em;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  color: var(--clr-point);
  z-index: 1;
}
.under .ud_steps .step_box .num::after {
  content: counter(point, decimal-leading-zero);
}
.under .ud_steps .step_box .content {
  position: relative;
  border-radius: var(--border-radius);
  padding: 2.75em var(--cont-px) 2.625em;
  background-color: #fff;
  box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.08);
}
.under .ud_steps .step_box .content::before {
  content: "";
  position: absolute;
  width: calc(100% + var(--pd) * 2);
  height: 7.5em;
  bottom: calc(var(--pd) * -1);
  left: calc(var(--pd) * -1);
  background-image: -moz-linear-gradient(-45deg, rgb(135, 184, 40) 0%, rgb(255, 185, 34) 100%);
  background-image: -webkit-linear-gradient(-45deg, rgb(135, 184, 40) 0%, rgb(255, 185, 34) 100%);
  background-image: -ms-linear-gradient(-45deg, rgb(135, 184, 40) 0%, rgb(255, 185, 34) 100%);
  border-radius: 0 0 var(--border-radius) var(--border-radius);
  opacity: 0.4;
  z-index: -1;
}
.under .ud_steps .step_box .content .ttl {
  position: relative;
  color: var(--clr-point);
  padding: 0;
  padding-bottom: 0.4615em;
  margin-bottom: 0.6923em;
  background: unset;
  border: 0;
  text-decoration: none;
}
.under .ud_steps .step_box .content .ttl::before {
  content: none;
}
.under .ud_steps .step_box .content .ttl::after {
  content: "";
  position: absolute;
  width: 3.4615em;
  height: 1px;
  bottom: 0px;
  left: 0px;
  background: currentColor;
}
.under .ud_steps .step_box:nth-child(even) {
  --clr-point: var(--clr3);
}
.under .ud_steps .step_box:nth-child(even)::after {
  background-color: #ed7b86;
}
.under .ud_steps .step_box:nth-child(even) .content::before {
  background-image: -moz-linear-gradient(-45deg, rgb(234, 107, 163) 0%, rgb(255, 185, 34) 100%);
  background-image: -webkit-linear-gradient(-45deg, rgb(234, 107, 163) 0%, rgb(255, 185, 34) 100%);
  background-image: -ms-linear-gradient(-45deg, rgb(234, 107, 163) 0%, rgb(255, 185, 34) 100%);
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .under .ud_steps .step_box {
    --cont-px: 40px;
  }
}
@media only screen and (max-width: 768px) {
  .under .ud_steps .step_box {
    --pd: 10px;
    --cont-px: 20px;
    padding-top: 45px;
  }
  .under .ud_steps .step_box .num {
    font-size: 50px;
    top: 15px;
    right: 0;
    left: 0;
    text-align: center;
    margin: 0 auto;
  }
  .under .ud_steps .step_box .content .ttl {
    text-align: center;
  }
  .under .ud_steps .step_box .content .ttl::after {
    right: 0;
    margin: 0 auto;
  }
}

.under .ud_features {
  counter-reset: point;
}
.under .ud_features .feature_box {
  --clr-point: var(--main-color);
  counter-increment: point;
  position: relative;
}
.under .ud_features .feature_box:nth-child(even) {
  --clr-point: var(--clr3);
}
.under .ud_features .feature_box .num {
  position: relative;
  text-transform: uppercase;
  font-family: var(--f-jp);
  line-height: 1;
  text-align: center;
  color: var(--clr-point);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  background-color: var(--clr-point);
  font-size: 0.75em;
  font-weight: 400;
  width: 6em;
  height: 6em;
  border-radius: 10px;
  margin: 0 auto;
  margin-bottom: -3em;
  padding-top: 0.25em;
  z-index: 1;
}
.under .ud_features .feature_box .num::before {
  content: "point";
  margin-bottom: 2px;
}
.under .ud_features .feature_box .num::after {
  content: counter(point, decimal-leading-zero);
  position: relative;
  display: block;
  font-size: 266.6666666667%;
}
.under .ud_features .feature_box .content {
  border-radius: var(--border-radius);
  padding: 3.5em 2.5em 3em;
  background-color: #fff;
  border: 2px solid var(--clr-point);
  box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.08);
}
.under .ud_features .feature_box .content .ttl {
  position: relative;
  color: var(--clr-point);
  padding: 0;
  padding-bottom: 0.4615em;
  margin-bottom: 0.6923em;
  background: unset;
  border: 0;
  text-decoration: none;
  text-align: center;
}
.under .ud_features .feature_box .content .ttl::before {
  content: none;
}
.under .ud_features .feature_box .content .ttl::after {
  content: "";
  position: absolute;
  width: 3.4615em;
  height: 1px;
  bottom: 0px;
  left: 0px;
  right: 0;
  margin: 0 auto;
  background: currentColor;
}
.under .ud_features .feature_box .content .rowBox .img img {
  border-radius: var(--border-radius);
}
@media only screen and (min-width: 769px) {
  .under .ud_features .feature_box:not(:last-child) {
    margin-bottom: 50px;
  }
}
@media only screen and (max-width: 768px) {
  .under .ud_features .feature_box .content {
    padding-left: 20px;
    padding-right: 20px;
  }
  .under .ud_features .feature_box:not(:last-child) {
    margin-bottom: 30px;
  }
}

.under .ud_box {
  padding: 2em;
  border: 1px solid var(--main-color);
  border-radius: var(--border-radius);
  background-color: #f8f8f8;
  display: table;
  margin: 0 auto;
}
.under .ud_box > p {
  text-align: center;
}
@media only screen and (min-width: 769px) {
  .under .ud_box {
    min-width: 500px;
  }
}

.under .ud_box_cont {
  margin: 2.5em 0;
  position: relative;
  background-color: #fff;
  border-radius: var(--border-radius);
  box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.08);
  padding: 2.6875em 4.6875em;
}
.under .ud_box_cont::after {
  font-size: min(0.78vw, 0.625em);
  content: "";
  position: absolute;
  width: 9em;
  aspect-ratio: 1/1;
  bottom: -2.5em;
  right: 1.8em;
  background: url("../images/ud_box_decor.png") no-repeat center/cover;
}
.under .ud_box_cont h6 {
  margin-top: 0;
}
.under .ud_box_cont .list01 {
  background-color: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
.under .ud_box_cont .list01::after {
  content: none !important;
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .under .ud_box_cont {
    padding: 40px;
  }
}
@media only screen and (max-width: 768px) {
  .under .ud_box_cont:not(.no-box) {
    margin: 25px 0;
    padding: 30px 15px;
  }
  .under .ud_box_cont:not(.no-box)::after {
    font-size: 5px;
  }
}

.faq_group .item {
  overflow: hidden;
  margin-bottom: 2em;
}
.faq_group .question,
.faq_group .answer {
  position: relative;
  padding: var(--py) var(--px);
  border-radius: var(--border-radius);
}
.faq_group .question::before,
.faq_group .answer::before {
  position: absolute;
  font-family: var(--f-en);
  left: 0.5em;
  line-height: 1;
  font-weight: 500;
}
.faq_group .question {
  transition: all 0.3s ease;
  background-color: var(--main-color);
}
.faq_group .question:before {
  content: "Q.";
  top: 0.425em;
  color: #fff;
}
.faq_group .question .ttl {
  font-size: 1.5em;
  color: #fff;
  border: none;
  border-radius: 0;
  padding: 0;
  margin: 0;
  background-color: transparent;
}
.faq_group .question .ic {
  position: absolute;
  width: 16px;
  height: 2px;
  top: 0;
  bottom: 0;
  right: calc(var(--px) / 2 - 8px);
  margin: auto 0;
}
.faq_group .question .ic::before, .faq_group .question .ic::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  width: 100%;
  height: 100%;
  background-color: #fff;
  z-index: 2;
}
.faq_group .question:not(.rotate) .ic::after {
  transform: rotate(90deg);
}
.faq_group .question.rotate {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.faq_group .question.rotate + .answer {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
@media only screen and (min-width: 769px) {
  .faq_group .question:hover {
    cursor: pointer;
    background-color: #129042;
  }
}
.faq_group .answer {
  position: relative;
  background-color: rgba(206, 228, 165, 0.75);
}
.faq_group .answer::before {
  content: "A.";
  top: 0.325em;
  color: var(--clr3);
}
@media only screen and (min-width: 769px) {
  .faq_group {
    --px: 5em;
    --py: 1.5em;
  }
  .faq_group .question::before,
  .faq_group .answer::before {
    font-size: 2.5em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .faq_group {
    --px: 4.5em;
  }
}
@media only screen and (max-width: 768px) {
  .faq_group {
    --py: 1em;
    --px: 3em;
  }
  .faq_group .question::before,
  .faq_group .answer::before {
    font-size: 26px;
    left: 10px;
  }
  .faq_group .question::before {
    top: 14px;
  }
  .faq_group .question .ttl {
    font-size: 20px;
  }
  .faq_group .answer::before {
    top: 10px;
  }
}

.under .page_link {
  font-size: 10px;
  margin-top: 80px;
  padding: 4em 20px;
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.08);
}
.under .page_link .tt {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 0.5em;
  color: var(--main-color);
  position: relative;
  margin-bottom: 1em;
  font-size: calc(var(--ttl_size) - 2px);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
.under .page_link .tt::before, .under .page_link .tt::after {
  content: "";
  display: block;
  min-width: 20px;
  max-width: 300px;
  height: 1px;
  background-color: var(--main-color);
  flex-grow: 1;
}
.under .page_link .btn-link {
  width: 100%;
  overflow: hidden;
  --clr-btn-1: var(--main-color);
  --clr-btn-2: #fff;
}
.under .page_link .btn-link a {
  position: relative;
  min-height: 3.6667em;
  font-size: 1.8em;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.4;
  display: flex;
  align-items: center;
  height: 100%;
  text-decoration: none;
  font-family: var(--f-jp);
  color: var(--clr-btn-1);
  background-color: var(--clr-btn-2);
  border: 1px solid var(--clr-btn-1);
  transition: all 0.3s ease;
  border-radius: 999em;
  padding: 0.3889em 3.5em 0.3889em 1.6667em;
}
.under .page_link .btn-link a::before, .under .page_link .btn-link a::after {
  content: "";
  position: absolute;
  width: round(2.7778em, 1px);
  height: round(2.7778em, 1px);
  border-radius: 50%;
  transition: all 0.3s ease;
  top: 0;
  bottom: 0;
  right: 0.3889em;
}
.under .page_link .btn-link a::before {
  background-color: var(--clr-btn-1);
}
.under .page_link .btn-link a::after {
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 13' %3E%3Cpath d='M15.256,12.989 L14.210,11.825 L18.923,7.284 L-0.000,7.284 L-0.000,5.696 L18.924,5.696 L14.210,1.153 L15.256,-0.010 L21.1000,6.489 L15.256,12.989 Z'/%3E%3C/svg%3E");
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: round(min(44%, 22px), 1px) round(min(26%, 13px), 1px);
  -webkit-mask-size: round(min(44%, 22px), 1px) round(min(26%, 13px), 1px);
  mask-position: center;
  -webkit-mask-position: center;
  background-color: var(--clr-btn-2);
}
.under .page_link .btn-link a::before, .under .page_link .btn-link a::after {
  margin: auto 0;
}
.under .page_link .btn-link a:hover {
  opacity: 1;
}
.under .page_link .btn-link a.atv {
  pointer-events: none;
  --clr-btn-1: #fff;
  --clr-btn-2: var(--main-color);
}
@media only screen and (min-width: 769px) {
  .under .page_link .btn-link a:not([target]):hover {
    --clr-btn-1: #fff;
    --clr-btn-2: var(--main-color);
  }
}
.under .page_link .btn-link a {
  padding: 0.3889em 2.7em 0.3889em 1em;
}
.under .page_link .btn-link a::before, .under .page_link .btn-link a::after {
  content: "";
  position: absolute;
  width: round(2em, 1px);
  height: round(2em, 1px);
  border-radius: 50%;
  transition: all 0.3s ease;
  top: 0;
  bottom: 0;
  right: 0.3889em;
}
.under .page_link .btn-link a::before {
  background-color: var(--clr-btn-1);
}
.under .page_link .btn-link a::after {
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 13' %3E%3Cpath d='M15.256,12.989 L14.210,11.825 L18.923,7.284 L-0.000,7.284 L-0.000,5.696 L18.924,5.696 L14.210,1.153 L15.256,-0.010 L21.1000,6.489 L15.256,12.989 Z'/%3E%3C/svg%3E");
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: round(min(44%, 22px), 1px) round(min(26%, 13px), 1px);
  -webkit-mask-size: round(min(44%, 22px), 1px) round(min(26%, 13px), 1px);
  mask-position: center;
  -webkit-mask-position: center;
  background-color: var(--clr-btn-2);
}
.under .page_link .btn-link a::before, .under .page_link .btn-link a::after {
  margin: auto 0;
}
.under .page_link .row {
  --size-mg: 1em;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: calc(-1 * var(--size-mg));
}
.under .page_link .row > .btn-link {
  margin: var(--size-mg);
  width: calc(33% - var(--size-mg) * 2);
  font-size: 1em;
  max-width: 32em;
}
@media (max-width: 1024px) {
  .under .page_link {
    font-size: 8px;
    margin-top: 50px;
    padding: 30px 20px;
  }
  .under .page_link .row {
    --size-mg: 5px;
  }
}
@media (max-width: 768px) {
  .under .page_link .row > .btn-link {
    width: calc(50% - var(--size-mg) * 2);
  }
}
@media only screen and (max-width: 430px) {
  .under .page_link .row {
    --size-mg: 5px;
  }
  .under .page_link .btn-link a {
    font-size: 1.6em;
    padding-right: 2.25em;
  }
  .under .page_link .btn-link a::before, .under .page_link .btn-link a::after {
    content: "";
    position: absolute;
    width: round(1.75em, 1px);
    height: round(1.75em, 1px);
    border-radius: 50%;
    transition: all 0.3s ease;
    top: 0;
    bottom: 0;
    right: 0.3889em;
  }
  .under .page_link .btn-link a::before {
    background-color: var(--clr-btn-1);
  }
  .under .page_link .btn-link a::after {
    --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 13' %3E%3Cpath d='M15.256,12.989 L14.210,11.825 L18.923,7.284 L-0.000,7.284 L-0.000,5.696 L18.924,5.696 L14.210,1.153 L15.256,-0.010 L21.1000,6.489 L15.256,12.989 Z'/%3E%3C/svg%3E");
    mask-image: var(--mask);
    -webkit-mask-image: var(--mask);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-size: round(min(44%, 22px), 1px) round(min(26%, 13px), 1px);
    -webkit-mask-size: round(min(44%, 22px), 1px) round(min(26%, 13px), 1px);
    mask-position: center;
    -webkit-mask-position: center;
    background-color: var(--clr-btn-2);
  }
  .under .page_link .btn-link a::before, .under .page_link .btn-link a::after {
    margin: auto 0;
  }
}
@media only screen and (max-width: 360px) {
  .under .page_link {
    padding: 30px 15px;
  }
  .under .page_link .row > .btn-link {
    width: calc(100% - var(--size-mg));
  }
}

.under .author_wrap {
  border-radius: var(--border-radius);
  border: 5px solid var(--main-color);
  background-color: rgba(206, 228, 165, 0.2);
}
.under .author_wrap .author_name {
  grid-column: 1/2;
  grid-row: 1/2;
}
.under .author_wrap .author_img {
  grid-column: 2/3;
  grid-row: 1/2;
}
.under .author_wrap .author_info {
  grid-column: 1/2;
  grid-row: 2/3;
}
.under .author_wrap .tt {
  font-size: 1.5em;
  font-weight: 500;
  line-height: 1.5;
  color: var(--main-color);
  border-left: 2px solid currentColor;
  padding-left: 0.5em;
  margin-bottom: 1em;
}
.under .author_wrap .clinic {
  margin-bottom: 0.25em;
}
.under .author_wrap .name {
  color: var(--main-color);
  display: block;
  margin-bottom: 0;
}
.under .author_wrap .name > span {
  font-size: 120%;
  font-weight: 500;
  margin-left: 1em;
}
.under .author_wrap picture img {
  border-radius: var(--border-radius);
}
@media only screen and (min-width: 769px) {
  .under .author-box {
    margin-top: 60px;
  }
  .under .author_wrap {
    padding: 4em;
  }
  .under .author_wrap .content {
    display: grid;
    grid-template-columns: 50% 45%;
    gap: 0 5%;
    margin-bottom: 50px;
  }
  .under .author_wrap .content2 {
    margin-top: 50px;
  }
  .under .author_wrap .author_info {
    margin-top: 30px;
  }
  .under .author_wrap .author_info.col2 {
    display: grid;
    grid-template-columns: repeat(2, auto);
    gap: 20px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .under .author_wrap {
    padding: 4em 20px;
  }
  .under .author_wrap .author_info.col2 {
    grid-template-columns: repeat(1, auto);
  }
}
@media only screen and (max-width: 768px) {
  .under .author-box {
    margin-top: 50px;
  }
  .under .author_wrap {
    padding: 30px 20px;
    border-width: 2px;
  }
  .under .author_wrap .content {
    margin-bottom: 30px;
  }
  .under .author_wrap .content2 {
    margin-top: 30px;
  }
  .under .author_wrap .author_img {
    margin-bottom: 30px;
  }
  .under .author_wrap .author_info {
    margin-top: 25px;
  }
  .under .author_wrap .author_info dl:not(:last-child) {
    margin-bottom: 20px;
  }
}

/*INTERVIEW PAGE*/
.under {
  counter-reset: count;
}
.under.page-interview .key {
  height: clamp(350px, 34vw, 550px);
  background-position: right 15% center;
}
.under.page-interview .key::before {
  background-image: url(../images/interview_key.jpg);
}
.under.page-interview .key .key_text {
  justify-content: flex-start;
}
.under.page-interview .key .catch {
  font-size: min(0.85vw, 10px);
  padding: 4em;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: var(--border-radius);
}
.under.page-interview .key .catch h2,
.under.page-interview .key .catch p {
  letter-spacing: 0.1em;
}
.under.page-interview .key .catch p {
  color: var(--main-color);
}
.under.page-interview .key .catch h2 {
  background-color: transparent;
  padding: 0;
  margin-bottom: 0.25em;
  font-size: 3.6em;
}
.under.page-interview .key .idx_en {
  margin-bottom: 0.25em;
  font-size: 5em;
  line-height: 1;
  font-weight: 500;
  text-transform: uppercase;
}
.under.page-interview .key .name {
  position: relative;
  align-items: center;
  font-size: 3.6em;
  font-weight: 600;
  line-height: 1.5;
}
.under.page-interview .key .name > span {
  margin-right: 0.75em;
  font-size: 0.75em;
  letter-spacing: 0.1em;
}
.under.page-interview section {
  margin-top: 80px;
}

.interview_catch {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  margin-bottom: 50px;
  background-color: #fff;
  background-color: #90b0cf;
  position: relative;
  z-index: 1;
}
.interview_catch::before, .interview_catch::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  inset: 0;
  z-index: -1;
  background-position: center;
  background-repeat: no-repeat;
}
.interview_catch::before {
  opacity: 0.05;
  background-size: cover;
}
.interview_catch p {
  font-size: 30px;
  line-height: 1.5;
  text-align: center;
  font-weight: 500;
  color: #fff;
  padding: 40px 10px;
}
.interview_box {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
}
.interview_box.box_right {
  flex-direction: row-reverse;
}
.interview_img {
  position: relative;
}
.interview_img img {
  border-radius: var(--border-radius);
}
.interview_img::before {
  content: counter(count, decimal-leading-zero);
  counter-increment: count;
  position: absolute;
  font-family: var(--f-en);
  line-height: 0.8;
  color: var(--main-color);
}

@media only screen and (min-width: 769px) {
  .interview_box:not(:has(.interview_img)) {
    display: block;
  }
  .interview_box:not(:has(.interview_img)) .interview_content {
    max-width: 100%;
  }
  .interview_img {
    max-width: 45%;
  }
  .interview_img::before {
    bottom: 0.2em;
    left: 0.2em;
    font-size: min(7.5em, 10vw);
  }
  .interview_content {
    max-width: 50%;
  }
}
/*---------add post---------*/
.blog-content > h3 {
  margin-top: 20px;
}

.blog-content .entry > h4 {
  margin-top: 2em;
}

.blog-content .entry > h5 {
  margin-top: 2em;
}

.blog-content .entry .colImg1 img,
.img_wcap_ct img {
  margin: 0px auto;
  max-height: 500px;
  border-radius: var(--border-radius);
}

.blog-content .entry .list01 {
  margin-top: 30px;
}

.center_img {
  margin: 0 auto 1.5em;
  text-align: center;
}

.img_wcap_ct {
  margin: 40px auto 40px;
  text-align: center;
}

.box_center {
  max-width: 760px;
  margin: 0 auto 40px;
}

p:empty {
  display: none;
}

.box_lig01,
.box_lig02 {
  margin-top: 40px;
  position: relative;
  padding: 40px;
  overflow: hidden;
  border-radius: var(--border-radius);
  background: #e3edf7;
  margin-bottom: 40px;
}

.box_lig02 {
  background-color: #f3efea;
}

.box_lig01 p:last-child {
  margin-bottom: 0;
}

.note01 {
  margin-bottom: 30px;
}

.note01 {
  position: relative;
  padding-left: 20px;
  line-height: 1.6em;
  margin-bottom: 10px;
}

.note01:before {
  content: "※";
  z-index: 4;
  position: absolute;
  top: 0px;
  left: 0;
}

.note01.note_c {
  margin-top: 1em;
  color: #D90029;
}

.note01.note_c:before {
  color: #D90029;
}

.box_ctwimg {
  clear: both;
  margin-bottom: 40px;
}

.box_ctwimg p:last-child {
  margin-bottom: 0;
}

.catption_txt {
  padding-top: 10px;
  color: #8E8E8E;
  font-size: 15px;
  display: block;
}
.catption_txt:empty {
  display: none;
}

blockquote p,
blockquote li,
blockquote dt,
blockquote dd,
blockquote a {
  font-size: 16px;
}

blockquote {
  position: relative;
  padding: 25px 30px 25px 70px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: #F7F7F7;
  margin-bottom: 40px;
  border-left: 2px solid #E5127C;
  -webkit-box-shadow: 1px 2px 2px 0px #e0e0e0;
  box-shadow: 1px 2px 2px 0px #e0e0e0;
}

blockquote:before {
  position: absolute;
  top: 15px;
  left: 20px;
  z-index: 2;
  background-size: 40px;
  width: 50px;
  height: 50px;
  content: "";
}

blockquote p {
  position: relative;
  padding: 0;
  margin: 10px 0;
  z-index: 3;
  line-height: 1.7;
}

blockquote cite {
  display: block;
  text-align: right;
  color: #888888;
  font-size: 0.9em;
}

/*---------add post sp---------*/
.blog-content .imgBox.colImg2 picture,
.blog-content .imgBox.colImg3 picture {
  background: #efefef;
  height: 250px;
}

@media screen and (max-width: 768px) {
  .img_wcap_ct {
    margin-bottom: 30px;
    width: auto !important;
  }
  .under .blog-content .entry .colImg1 img,
  .under .img_wcap_ct img {
    max-width: 100%;
  }
  .box_lig01,
  .box_lig02 {
    padding: 20px;
    margin-top: 30px;
  }
}

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