@charset "UTF-8";
.under .sitemap > ul > li {
  margin: 0 !important;
}
.under .sitemap > ul > li .lv2 {
  padding-left: 1em;
}
.under .sitemap > ul > li a,
.under .sitemap > ul > li p {
  display: block;
  width: 100%;
  padding: 10px 15px 10px 30px;
  border-bottom: dotted 1px #ccc;
  color: var(--clr4);
  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: 50%;
  margin-top: 0;
}
.under .sitemap > ul > li .title {
  margin-bottom: 0;
  font-weight: 300;
  line-height: 1;
  color: var(--main-color);
  font-size: 2em;
  text-transform: uppercase;
  font-family: var(--f-zentique);
}
.under .sitemap > ul > li p:after {
  content: "";
  position: absolute;
  width: 3px;
  height: 15px;
  background: var(--main-color);
  left: 6px;
  top: 50%;
  margin-top: -6px;
}
.under .sitemap > ul > li a:hover {
  text-decoration: none;
  background: rgba(0, 0, 0, 0.05);
}
.under .sitemap > ul > li li {
  margin: 0 !important;
}
.under .sitemap > ul > li li.mn_tl > a {
  pointer-events: none;
  cursor: default;
  padding-left: 28px;
  font-size: 1.111111111em;
  color: var(--main-color);
  font-weight: 600;
}
.under .sitemap > ul > li li.mn_tl > a::before {
  display: none;
}
.under .sitemap > ul > li li a {
  padding-left: 48px;
}
.under .sitemap > ul > li li a:before {
  left: 24px;
  top: 1.5556em;
}
.under #mainContent {
  padding-bottom: 100px;
}
.under .key {
  background: url(../images/under_key_bg.jpg) no-repeat top center/cover;
  height: 550px;
}
@media only screen and (max-width: 1366px) {
  .under .key {
    height: 400px;
  }
}
.under .key .inner {
  height: 100%;
  padding: 0px;
}
.under .key .key_text {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  position: relative;
  height: 100%;
  padding: 0 20px;
}
.under .key .key_text h2 {
  display: table;
  font-size: 38px;
  font-weight: 500;
  text-align: center;
  color: #fff;
  padding-top: 0.42em;
}
.under .key .key_text h2::after {
  content: "";
  display: block;
  width: 4.1579em;
  height: 0.0263em;
  background-color: #fff;
  margin: 0.7105em auto 0;
  position: relative;
  top: 0.0263em;
}
.under h2,
.under h3,
.under h4,
.under h5,
.under h6 {
  position: relative;
  line-height: 1.4;
  letter-spacing: 0.1em;
  font-weight: 500;
}
.under h2:last-child,
.under h3:last-child,
.under h4:last-child,
.under h5:last-child,
.under h6:last-child {
  margin-bottom: 0;
}
.under h2 a,
.under h3 a,
.under h4 a,
.under h5 a,
.under h6 a {
  text-decoration: none;
  color: inherit;
}
.under {
  --h3: 45px;
  --h4: 30px;
}
.under h3 {
  position: relative;
  margin-bottom: var(--h3);
  color: var(--main-color);
  font-size: min(4vw, 32px);
  font-weight: 500;
  text-align: center;
  background: url(../images/ud_h3.png) no-repeat top center/2.625em;
  padding-top: 3.0313em;
}
.under h3:has(+ .secH4) {
  margin-bottom: 0;
}
.under .secH4 {
  margin-top: var(--h3);
}
.under h4 {
  margin-bottom: var(--h4);
  font-weight: 500;
  font-size: min(3.1vw, 26px);
  color: #fff;
  background: #a7dcdb;
  border-radius: 15px;
  position: relative;
  z-index: 1;
  padding: 0.6538em 1.7308em 0.6538em 1.7308em;
}
.under h4::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  inset: 5px;
  z-index: -1;
  background: var(--main-color);
  border-radius: 10px;
}
.under h4:has(+ .secH5) {
  margin-bottom: 0;
}
.under .secH5 {
  margin-top: var(--h4);
}
.under h5 {
  color: #495b5a;
  font-size: 22px;
  position: relative;
  padding-left: 1em;
  margin-bottom: 25px;
}
.under h5::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #50bca8;
  top: 0.5909em;
  left: 0;
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .under h5 {
    font-size: 20px;
  }
  .under h5::before {
    top: 9px;
  }
}
.under h6 {
  margin-bottom: 25px;
  font-size: 20px;
  display: table;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--main-color);
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .under h6 {
    font-size: 18px;
  }
}

.under .inner > section,
.under .entry > section {
  padding-top: 1px;
  margin-top: 50px;
}
.under .inner > section:first-child,
.under .entry > section:first-child {
  margin-top: 80px;
}
.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.style01 {
  display: table;
  margin: 20px auto;
}
.under .btn-group .btn.style01 span {
  display: inline-block;
}
.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: 60px;
}
.under .imgBox.rowImg .image_r {
  float: right;
  margin-left: 60px;
}
.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% - 510px);
}
.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.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) 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 #ddd;
  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: #383838;
  font-size: 1em;
}
.under table.tbl_style01.t_center td {
  text-align: center;
  vertical-align: middle;
}
.under table.tbl_style01.rowHead tr th:not(:last-child) {
  border-right: 1px solid #ddd;
}
.under table.tbl_style01.colHead tr:not(:last-child) th {
  border-bottom: 1px solid #ddd;
}
.under table.tbl_style02 th,
.under table.tbl_style02 td {
  border: 2px solid #9dba38;
  border-left: none;
  border-right: none;
  padding: 0.625em;
}
.under table.tbl_style02 th img,
.under table.tbl_style02 td img {
  max-width: 100%;
}
.under table.tbl_style02 th {
  background: none;
  font-weight: normal;
  font-size: 1em;
  color: #9dba38;
}
.under table.tbl_style02 td {
  font-size: 1em;
}
.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 .clinic_tbl01 th {
    width: 19em;
  }
  .under table.tbl_style01 th,
  .under table.tbl_style01 td {
    padding: 0.5rem;
  }
  .under table.tbl_style01 th {
    font-size: 1em;
  }
  .under table.tbl_style01 td {
    font-size: 0.9em;
  }
  .under table.tbl_style02 th {
    font-size: 1em;
  }
  .under table.tbl_style02 td {
    font-size: 0.9em;
  }
}
@media only screen and (min-width: 769px) {
  .under .rowImg ul.list01 li {
    display: table;
  }
  .under .rowImg ul.list01.mcol-2 li {
    width: 100%;
    padding-right: 0;
    padding-bottom: 10px;
  }
}
.under ul.list01.mcol-2 {
  position: relative;
  display: flex;
  flex-wrap: wrap;
}
.under ul.list01.mcol-2 li {
  width: 50%;
  padding-right: 10px;
}
.under ul.list01 li {
  position: relative;
  padding-left: 1.5em;
  padding-bottom: 0.625em;
  letter-spacing: 0.1em;
  text-align: left;
  margin-bottom: 0;
}
.under ul.list01 li::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  background: url(../images/ud_h3.png) no-repeat center/contain;
  width: 1em;
  height: auto;
  left: 0;
  top: 0.5em;
  aspect-ratio: 168/180;
}
.under .list_note {
  margin-top: 15px;
  padding-left: 20px;
}
.under .list_note.no_mt {
  margin-top: 0;
}
.under .topic_path {
  line-height: 1.45;
  letter-spacing: 0.1em;
  padding: 10px 0 0 0;
}
.under .topic_path ul {
  display: block;
  padding: 4px 10px 4px 0px;
}
.under .topic_path ul::after {
  content: "";
  display: block;
  clear: both;
}
.under .topic_path ul li {
  margin-bottom: 0 !important;
  float: left;
  color: var(--main-color);
}
.under .topic_path a {
  text-decoration: none;
  color: #495b5a;
}
.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 12px;
  transform: scaleX(0.9);
  color: #495b5a;
  line-height: 1;
}
.under .toc_list {
  justify-content: space-between;
  padding: 20px 30px 40px;
  position: relative;
  z-index: 0;
}
.under .toc_list::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 2px solid var(--main-color);
  border-radius: 0;
  z-index: -1;
  border-radius: var(--border-radius);
}
.under .toc_list:empty {
  display: none;
}
.under .toc_list li {
  margin-bottom: 0;
  display: block;
  width: 49%;
  padding-right: 0;
  border-bottom: 1px dashed var(--clr1);
}
.under .toc_list li a {
  position: relative;
  padding-right: 1em;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  display: block;
  text-decoration: none;
  color: var(--clr1);
}
.under .toc_list li a::after {
  content: "";
  width: 12px;
  height: 8px;
  background: var(--main-color);
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  right: 0;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  margin: auto;
}
.under .toc_list.style1 li {
  width: 100%;
  padding-right: 0;
  max-width: 100%;
}
@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 a:hover {
    color: var(--main-color);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1000px) {
  .under .toc_list li {
    width: 100%;
  }
}
.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: 20px;
  bottom: 20px;
  background: rgba(255, 255, 255, 0.95);
  padding: 20px;
  border-radius: 10px;
  z-index: 1;
  color: var(--main-color);
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.5;
  font-family: var(--f-notosans);
}
.under .doctor_box .doctor_name .en {
  font-weight: 400;
  font-size: 80%;
  display: block;
  font-family: var(--f-notosans);
}
.under .ud_map {
  height: 450px;
}
.under .ud_map iframe {
  display: block;
  border: 0 !important;
}
.under .exp li {
  margin-bottom: 1em;
  padding-bottom: 0.5em;
  display: flex;
  border-bottom: 1px solid #3b7ca3;
}
.under .exp li .year {
  width: 8em;
  color: var(--main-color);
  font-weight: 500;
}
.under .exp li .txt {
  width: calc(100% - 8em);
}

.under .clinic_tbl01 th {
  width: 350px;
  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%;
}

@media only screen and (max-width: 1024px) {
  .under ul.list01 li:before {
    top: 0.4em;
  }
  .under ul.list01.mcol li {
    width: 100%;
    padding-right: 0;
    padding-bottom: 0;
  }
}
/* START BLOG
------------------------------------------------------------------------*/
#pagination:empty {
  display: none;
}
#pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: 40px auto 0;
}
#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(--main-color);
  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.blog {
  background-color: var(--clr2);
}
.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: 1em;
}
.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%;
}

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

.captcha_box {
  display: table;
  margin: 50px auto 0;
}
.captcha_box .g-recaptcha {
  display: flex;
  justify-content: center;
}
@-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*/
/*INTERVIEW PAGE*/
.under {
  counter-reset: count;
}
.under.page-interview .key {
  max-height: 650px;
  height: 50vw;
  background-position: right 15% center;
}
.under.page-interview .key .key_text {
  justify-content: flex-start;
}
.under.page-interview .key .catch {
  min-width: 50em;
  font-size: 0.625em;
}
.under.page-interview .key .catch h2,
.under.page-interview .key .catch p {
  display: table;
  color: #fff;
  letter-spacing: 0.1em;
}
.under.page-interview .key .catch h2 {
  margin-bottom: 0.1em;
  font-size: 3.6em;
}
.under.page-interview .key .idx_en {
  margin-bottom: 0.2em;
  font-size: 6em;
  line-height: 1;
  font-weight: 500;
}
.under.page-interview .key .name {
  display: inline-flex;
  position: relative;
  margin-bottom: 0.75em;
  padding-bottom: 0.62em;
  padding-right: 0.66em;
  align-items: center;
  font-size: 3.6em;
  font-weight: 500;
  line-height: 1.5;
}
.under.page-interview .key .name::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  width: 100%;
  height: 0px;
  left: 0;
  bottom: 0;
  border-bottom: 1px solid #fff;
}
.under.page-interview .key .name .en {
  margin-left: 0.8em;
  font-size: 0.5em;
  letter-spacing: 0.1em;
}
.under.page-interview .key .sub {
  font-weight: 500;
  line-height: 2.1153;
  letter-spacing: 0.08em;
  font-size: 2.6em;
}
.under.page-interview #mainContent .inner {
  max-width: 1280px;
}

.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;
  padding: 40px 15px;
}
.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;
}
.interview_box {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 80px;
}
.interview_box.box_right {
  flex-direction: row-reverse;
}
.interview_img {
  position: relative;
  width: 45%;
  max-width: 540px;
}
.interview_img::before {
  content: counter(count, decimal-leading-zero);
  counter-increment: count;
  position: absolute;
  bottom: 20px;
  left: 20px;
  font-family: var(--f-znew);
  font-size: min(5em, 10vw);
  color: var(--main-color);
  line-height: 1;
  text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff, -2px 0px 0 #fff, 2px 0px 0 #fff, 0px -2px 0 #fff, 0px 2px 0 #fff;
}
.interview_img img {
  box-shadow: 10px 17.321px 38px 0px rgba(68, 68, 68, 0.24);
  border-radius: 10px;
}
.interview_content {
  max-width: 49%;
}
.interview_content h4 {
  letter-spacing: 0.05em;
  padding-left: 1em;
  padding-right: 1em;
}

@media only screen and (max-width: 1280px) and (min-width: 769px) {
  .under .interview_box {
    margin-bottom: 40px;
  }
  .under .interview_content h4 {
    letter-spacing: 0;
    padding-left: 1em;
    padding-right: 0;
  }
}
/*---------add post---------*/
.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;
  }
}
.under .doctor_box2 {
  position: relative;
  padding: 20px;
  border: 1px solid var(--main-color);
  width: 100%;
  z-index: 1;
  background-size: auto 100%;
  border-radius: 15px;
}
.under .doctor_box2 picture {
  overflow: hidden;
}
.under .doctor_box2 picture img {
  border-radius: 10px;
}
.under .doctor_box2 .name {
  color: var(--main-color);
  font-size: 20px;
  margin-bottom: 0;
  line-height: 1;
  font-weight: 700;
}
.under .doctor_box2 .name span {
  font-size: 16px;
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  .under .doctor_box2 .name {
    margin-bottom: 14px;
    letter-spacing: 0;
  }
  .under .doctor_box2 .name span {
    letter-spacing: 0;
  }
}
.under .doctor_box2 .btn-group {
  width: 100%;
  margin-top: 2em;
  justify-content: center;
}
.under .doctor_box2 .btn-group .btn_st01 {
  margin-left: auto;
  margin-right: auto;
}
.under .doctor_box2 .tt {
  margin-top: 0.5em;
  margin-bottom: 0.1em;
  position: relative;
  padding-left: calc(3px + 0.6em);
  font-weight: 500;
  font-size: 1.25em;
  color: var(--main-color);
}
.under .doctor_box2 .tt:before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  left: 0;
  top: calc(50% + 2px);
  transform: translateY(-50%);
  width: 3px;
  height: 1em;
  background-color: var(--main-color);
}
@media only screen and (max-width: 768px) {
  .under .doctor_box2 .tt.mt20 {
    margin-top: 0.5em !important;
  }
}
.under .doctor_box2 .wrap {
  display: block;
  width: 100%;
}
@media only screen and (min-width: 769px) {
  .under .doctor_box2 {
    padding: 40px;
    flex-direction: row-reverse;
  }
  .under .doctor_box2 .tt {
    margin-top: 0;
  }
  .under .doctor_box2 .box_img {
    width: 45%;
  }
  .under .doctor_box2 .content {
    width: 55%;
    padding-right: 4%;
  }
  .under .doctor_box2 .exp {
    margin-top: 1em;
  }
  .under .doctor_box2 .wrap .list {
    margin-top: 1em;
    min-width: 40%;
  }
  .under .doctor_box2 .wrap .list.list2 .tt {
    margin-top: -30px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .under .doctor_box2 {
    padding: 2.5% 2.5%;
  }
  .under .doctor_box2 .content {
    padding-right: 2%;
  }
}
@media only screen and (max-width: 1025px) {
  .under .author-box {
    margin-top: 50px;
  }
  .under .doctor_box2 .box_img {
    display: table;
    margin: 0 auto 20px;
  }
  .under .doctor_box2 .btn-group {
    margin-top: 1em;
  }
}
@media only screen and (max-width: 768px) {
  .under .doctor_box2 .content {
    width: 100%;
  }
  .under .doctor_box2 .btn-group .btn {
    margin-top: 0;
  }
}
@media only screen and (max-width: 1025px) {
  .under .author-box {
    margin-top: 50px;
  }
  .under .doctor_box2 .box_img {
    display: table;
    margin: 0 auto 20px;
  }
  .under .doctor_box2 .btn-group {
    margin-top: 25px;
  }
}
@media only screen and (max-width: 768px) {
  .under .doctor_box2 .content {
    width: 100%;
  }
  .under .doctor_box2 .btn-group .btn {
    margin-top: 0;
  }
}

.under .btn2 {
  min-height: 3.75em;
}
.under .btn2 a {
  position: relative;
  color: var(--main-color);
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0.5em 1em;
  font-family: var(--f-jp);
  width: 13.625em;
  height: 100%;
  background-color: #fff;
  color: var(--main-color);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
.under .btn2 a:after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  width: 0.3125em;
  height: 0.5625em;
  right: 0.6em;
  top: calc(50% - 0.2813em);
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='50px' height='90px'%3E%3Cpath fill-rule='evenodd' fill='rgb(181, 166, 150)' d='M0.000,90.000 L0.000,80.003 L43.752,44.1000 L0.000,10.002 L0.000,-0.002 L50.000,40.001 L50.000,49.998 L0.000,90.000 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: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: var(--main-color);
}
.under .btn2 a.atv {
  background-color: var(--main-color);
  color: #fff;
}
.under .btn2 a.atv:after {
  background-color: #fff;
}
@media only screen and (min-width: 769px) {
  .under .btn2 a:hover {
    background-color: var(--main-color);
    color: #fff;
  }
  .under .btn2 a:hover:after {
    background-color: #fff;
  }
}
.under .page_link {
  margin-top: 80px;
  padding: 2em 0;
  border-radius: 10px;
  --bg: #fff;
  background-color: var(--bg);
}
.under .page_link .tt {
  position: relative;
  margin-bottom: 30px;
  font-size: 1.5em;
  letter-spacing: 0.1em;
  color: var(--main-color);
  text-align: center;
  font-weight: 500;
}
.under .page_link .tt span {
  position: relative;
  z-index: 1;
  padding: 0px 0.5em;
  background-color: var(--bg);
}
.under .page_link .tt:after,
.under .page_link .tt:before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  width: calc(50% - 5em);
  height: 0;
  top: calc(50% + 1px);
  border-top: 1px solid rgba(106, 81, 56, 0.3);
}
.under .page_link .tt:before {
  left: 0;
}
.under .page_link .tt:after {
  right: 0;
}
.under .page_link .row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
.under .page_link .row > .btn {
  width: calc(33.3333333333% - 10px);
  max-width: 100%;
  border-radius: inherit;
  margin: 0;
}
.under .page_link .row > .btn .jp {
  display: inline-block;
}
.under .page_link .row > .btn.atv {
  display: none;
}
.under .page_link .row > .btn a {
  width: 100%;
}
.under .page_link .row > .btn a span {
  display: inline-block;
}
.under .page_link .row > .btn a:hover {
  opacity: 1;
}
@media (max-width: 768px) {
  .under .page_link {
    margin-top: 60px;
    padding: 30px 0;
  }
  .under .page_link .row {
    gap: 5px;
  }
  .under .page_link .row > .btn {
    width: calc(33.3333333333% - 5px);
  }
}
@media (max-width: 480px) {
  .under .page_link .row {
    gap: 5px;
  }
  .under .page_link .row > .btn {
    width: calc(50% - 5px);
  }
  .under .page_link .row > .btn a {
    font-size: min(4.5vw, 16px);
    letter-spacing: 0;
  }
  .under .page_link .row > .btn a br {
    display: block !important;
  }
}

.ud_catch {
  background-color: var(--main-color);
  padding: 40px 20px;
  max-width: 800px;
  margin: 25px auto;
  border-radius: 25px 0 25px 0;
  position: relative;
  z-index: 1;
  box-shadow: 10px 17.321px 38px 0px rgba(68, 68, 68, 0.24);
}
.ud_catch::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  inset: 8px;
  border: 2px solid #fff;
  border-radius: 25px 0 25px 0;
  z-index: -1;
}
.ud_catch p {
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.6;
  color: #fff;
  letter-spacing: 0.05em;
}
.ud_catch span {
  display: inline-block;
}

.ud_feature .item {
  border: 1px solid var(--cl);
  border-radius: 15px;
  padding: 50px 50px;
  position: relative;
  margin-bottom: 40px;
  --cl: var(--main-color);
}
.ud_feature .item::before {
  content: "";
  position: absolute;
  inset: 20px;
  background-color: var(--cl);
  opacity: 0.1;
  border-radius: 15px;
}
.ud_feature .num {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='80px' height='81px'%3E%3Cpath fill-rule='evenodd' fill='rgb(80, 188, 168)' d='M76.063,21.931 C71.989,17.925 65.895,17.160 60.964,19.608 C63.444,14.655 62.633,8.545 58.536,4.508 C53.438,-0.514 45.239,-0.637 40.006,4.511 C34.713,-0.705 26.376,-0.502 21.310,4.674 C17.355,8.716 16.605,14.693 19.013,19.552 C15.816,17.972 12.076,17.693 8.490,19.028 C3.993,20.702 0.626,24.933 0.096,29.890 L0.034,32.671 C0.457,35.535 1.666,38.243 3.871,40.448 C1.663,42.651 0.460,45.360 0.034,48.225 L0.095,51.006 C0.623,55.918 3.929,60.120 8.374,61.823 C11.949,63.193 15.730,62.956 18.952,61.386 C17.372,64.592 17.137,68.351 18.511,71.910 C20.217,76.327 24.449,79.619 29.385,80.143 L32.181,80.203 C35.061,79.781 37.790,78.586 40.000,76.387 C42.223,78.576 44.937,79.798 47.822,80.203 L50.618,80.142 C55.558,79.624 59.786,76.329 61.496,71.912 C62.883,68.328 62.635,64.541 61.025,61.321 C65.985,63.752 72.101,62.939 76.148,58.881 C81.233,53.783 81.295,45.603 76.143,40.440 C81.355,35.255 81.204,26.987 76.063,21.931 ZM40.009,40.439 C40.015,40.439 40.020,40.436 40.025,40.436 C40.025,40.442 40.022,40.448 40.022,40.453 C40.018,40.453 40.015,40.451 40.010,40.451 C40.011,40.447 40.009,40.443 40.009,40.439 Z'/%3E%3C/svg%3E") no-repeat center/contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='112px' height='102px'%3E%3Cpath fill-rule='evenodd' fill='rgb(80, 188, 168)' d='M110.467,51.761 C108.929,47.905 106.183,44.807 102.826,42.498 L100.334,41.009 L99.715,40.794 C93.754,38.031 87.234,38.653 80.990,40.169 C79.713,40.478 78.459,40.816 77.216,41.179 C78.003,40.413 78.780,39.633 79.546,38.827 C83.978,34.165 87.775,28.817 88.369,22.261 L88.492,21.616 L88.451,18.708 C88.135,14.640 86.831,10.708 84.268,7.445 C81.044,3.340 76.334,0.917 71.107,0.695 C64.832,0.430 59.687,3.442 56.002,8.513 C52.355,3.502 47.222,0.447 41.019,0.699 C35.777,0.863 31.037,3.284 27.789,7.373 C25.187,10.649 23.869,14.610 23.548,18.708 L23.508,21.616 L23.631,22.261 C24.222,28.773 27.986,34.125 32.391,38.763 C33.178,39.591 33.975,40.393 34.783,41.179 C33.540,40.816 32.286,40.478 31.010,40.169 C24.766,38.653 18.246,38.031 12.285,40.794 L11.666,41.009 L9.174,42.498 C5.817,44.807 3.071,47.905 1.533,51.761 C-0.402,56.612 -0.141,61.912 2.282,66.560 C5.189,72.139 10.365,75.098 16.589,75.761 C14.083,81.433 14.010,87.415 17.328,92.673 C20.091,97.141 24.553,100.045 29.711,100.820 C33.842,101.441 37.924,100.605 41.625,98.833 L44.158,97.414 L44.654,96.985 C49.985,93.216 52.727,87.273 54.533,81.131 C55.093,79.226 55.570,77.334 55.1000,75.425 C56.430,77.334 56.907,79.226 57.467,81.131 C59.273,87.273 62.015,93.216 67.346,96.985 L67.842,97.414 L70.375,98.833 C74.076,100.605 78.158,101.441 82.289,100.820 C87.447,100.045 91.909,97.141 94.672,92.673 C97.990,87.415 97.917,81.433 95.411,75.761 C101.635,75.098 106.811,72.139 109.718,66.560 C112.141,61.912 112.402,56.612 110.467,51.761 Z'/%3E%3C/svg%3E");
  width: 6em;
  height: 6em;
  margin: 0 auto 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.1em;
  color: #fff;
  text-transform: uppercase;
  line-height: 1;
  font-family: var(--f-znew);
  font-size: 1em;
  font-weight: 400;
  padding-bottom: 0.8em;
}
.ud_feature .num span {
  font-family: var(--f-znew);
  line-height: 1;
  font-size: 1.8em;
  font-weight: 300;
}
.ud_feature .ttl {
  text-align: center;
  color: var(--cl);
  border-bottom: 1px solid var(--cl);
  padding: 0 0 10px;
  border-radius: 0;
  background: transparent;
  font-weight: 500;
  font-size: min(3.1vw, 26px);
  margin-bottom: var(--h4);
  line-height: 1.4;
}
.ud_feature .ttl::before, .ud_feature .ttl::after {
  display: none;
}

.ud_qa {
  margin-top: 46px;
}
.ud_qa .box {
  background-color: var(--main-color);
  border-radius: 30px;
}
.ud_qa .box:not(:last-child) {
  margin-bottom: 30px;
}
.ud_qa .box .ttl {
  transition: 0.3s all;
  color: #fff;
  margin: 0;
  padding: 0;
  background: transparent;
}
.ud_qa .box .ttl::before, .ud_qa .box .ttl::after {
  display: none;
}
.ud_qa .box .accBtn {
  padding: 2.2em 10.8em 2.2em;
  position: relative;
  cursor: pointer;
  font-size: 10px;
  transition: 0.3s all;
  border-radius: 30px;
}
.ud_qa .box .accBtn::before {
  font-family: var(--f-znew);
  position: absolute;
  content: "Q";
  left: 1.125em;
  color: #fff;
  line-height: 1;
  font-size: 4em;
  top: 0.45em;
  font-weight: 500;
  transition: 0.3s all;
}
.ud_qa .box .accBtn::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  width: 5em;
  height: 5em;
  background: #fff url(../images/qa_plus.png) no-repeat center/contain;
  right: 1.5em;
  top: calc(50% - 2.5em);
  border-radius: 50%;
}
.ud_qa .box .accBtn.rotate::after {
  background-image: url(../images/qa_minus.png);
}
@media only screen and (min-width: 769px) {
  .ud_qa .box .accBtn:hover {
    background-color: var(--clr2);
  }
  .ud_qa .box .accBtn:hover::before {
    color: #fff;
  }
  .ud_qa .box .accBtn:hover h4 {
    color: #fff;
  }
}
.ud_qa .box .content {
  padding: 20px 150px 20px 110px;
  position: relative;
}
.ud_qa .box .content::before {
  position: absolute;
  content: "A";
  left: 1.2em;
  color: #fff;
  line-height: 1;
  font-size: 40px;
  top: 20px;
  font-weight: 500;
  letter-spacing: 0;
  font-family: var(--f-znew);
}
.ud_qa .box .content p {
  color: #fff;
}

@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .ud_qa {
    margin-top: 35px;
  }
  .ud_qa .box .ttl {
    font-size: 20px;
    letter-spacing: 0;
  }
  .ud_qa .box .accBtn {
    padding: 2.5em 8em 2.5em 8em;
  }
  .ud_qa .box .accBtn::before {
    font-size: 3.5em;
    top: 0.5em;
    left: 1em;
  }
  .ud_qa .box .accBtn::after {
    width: 40px;
    height: 40px;
    right: 10px;
    top: calc(50% - 20px);
  }
  .ud_qa .box .content {
    padding: 20px 20px 20px 80px;
  }
  .ud_qa .box .content::before {
    font-size: 35px;
    left: 1em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .ud_qa {
    margin-top: 25px;
  }
  .ud_qa .box:not(:last-child) {
    margin-bottom: 20px;
  }
}