@charset "UTF-8";
.under {
  --h3:40px;
  --h4:30px;
}
.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 #ccc;
  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: #ccc;
  left: 0;
  top: calc(15px + 0.85em);
  margin-top: -2px;
}
.under .sitemap > ul > li .title {
  margin-bottom: 0;
  font-family: var(--f-en);
  font-weight: 500;
  font-size: calc(var(--ttl_size) + 4px);
}
.under .sitemap > ul > li p:after {
  content: "";
  position: absolute;
  width: 3px;
  height: 14px;
  background: var(--clr1);
  left: 6px;
  top: 50%;
  margin-top: -7px;
}
.under .sitemap > ul > li a:hover {
  text-decoration: none;
  background: rgba(0, 0, 0, 0.05);
}
.under .sitemap > ul > li.child-ttl > a {
  pointer-events: none;
  font-weight: 500;
}
.under .sitemap > ul > li li > a {
  padding-left: 70px;
}
.under .sitemap > ul > li li > a:before {
  left: 40px;
  top: calc(15px + 0.6em);
  width: 10px;
  height: 10px;
  border-radius: 50%;
}
.under #mainContent {
  padding-bottom: 100px;
}
.under #mainContent .btn-group{
  font-size: 0.5555555555556em;
}
.under #mainContent .btn-group .btn.style01 {
  display: table;
  margin: 30px auto;
  max-width: 400px;
}
.under #mainContent .btn-group .btn.style01 span {
  display: inline-block;
}
.under #mainContent .btn-group.gr_anchor{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.under #mainContent .btn-group.gr_anchor .btn.style01{
  margin: 10px;
  width: calc(50% - 20px);
}
.under #mainContent .btn-group.gr_anchor .btn.style01 a::after{
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='44px' height='25px'%3E%3Cpath fill-rule='evenodd' fill='rgb(53, 74, 134)' d='M22.000,25.000 L0.000,-0.000 L43.1000,-0.000 L22.000,25.000 Z'/%3E%3C/svg%3E")
}
@media only screen and (min-width: 769px) {
  .under #mainContent{
    font-size: 18px;
  }
}
@media only screen and (max-width: 1024px) {
  .under #mainContent{
    font-size: 16px;
  }
}
@media only screen and (max-width: 360px) {
  .under #mainContent .btn-group .btn.style01 a {
    padding: 0.5em 1.7em;
  }
}
.under .key {
  height: 500px;
  background: url(../images/ud_key_bg.jpg) no-repeat center/cover;
}
@media only screen and (max-width: 768px) {
  .under .key {
    background-image: url(../images/ud_key_bg_sp.jpg);
  }
}
.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;
  padding: 0.0208em 0.6875em 0.1042em 0.6875em;
  border-radius: 6px;
  font-size: calc(var(--ttl_size) + 18px);
  font-weight: 700;
  text-align: center;
  color: #fff;
  background-color: rgba(64, 39, 32, 0.9);
}
.under h2,
.under h3,
.under h4,
.under h5,
.under h6 {
  position: relative;
  z-index: 1;
  line-height: 1.4;
  font-weight: 500;
  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 {
  display: table;
  padding: 10px 27px 13px 31px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 0.7188em;
  margin-bottom: var(--h3);
  color: var(--clr2);
  font-size: calc(var(--ttl_size) + 2px);
  text-align: center;
  border-top: 1px solid var(--clr2);
  border-bottom: 1px solid var(--clr2);
}
.under h3::before, .under h3::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  width: 1.25em;
  height: 1.25em;
  border-radius: 50%;
}
.under h3::before {
  top: -0.7188em;
  right: -0.3438em;
  background-color: #ffcc4e;
}
.under h3::after {
  bottom: -0.625em;
  left: -0.9063em;
  background-color: var(--clr2);
}
.under h3:has(+ .secH4) {
  margin-bottom: 0;
}
@media only screen and (max-width: 1280px) {
  .under h3 {
    padding-left: 1.5em;
    padding-right: 1.5em;
  }
  .under h3::before {
    right: 0;
  }
  .under h3::after {
    left: 0;
  }
}
.under .secH4 {
  margin-top: var(--h3);
}
.under h4 {
  padding: 0.5385em 20px 0.6154em 20px;
  margin-bottom: var(--h4);
  border-radius: 12px;
  font-size: 26px;
  color: var(--clr2);
  background: url(../images/ud_h4_pattern.png) repeat left top/10px auto;
}
.under h4::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 4px;
  border-radius: 8px;
  background-color: white;
}
.under h4:has(+ .secH5) {
  margin-bottom: 0;
}
.under .secH5 {
  margin-top: var(--h4);
}
.under h5 {
  padding-left: 30px;
  margin-bottom: 25px;
  letter-spacing: 0.14em;
  font-size: 24px;
  color: var(--clr1);
}
.under h5::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  top: 0.4em;
  width: 21px;
  height: 17px;
  background: url(../images/ud_h5_ico.png) no-repeat center/cover;
}
.under h5 .num-ttl {
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 0.15em;
  width: 1.875em;
  height: 1.875em;
  border-radius: 50%;
  font-size: 0.8em;
  text-align: center;
  letter-spacing: 0;
  font-family: var(--f-jp);
  color: white;
  background-color: var(--main-color);
}
.under h5:has(.num-ttl) {
  padding-left: 2em;
  min-height: 1.875em;
}
.under h5:has(.num-ttl)::before {
  display: none;
}
.under h6 {
  --size-space-line: 8px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 20px;
  margin-bottom: 15px;
  font-size: 20px;
  color: #f15e2a;
}
.under h6::after {
  content: "";
  display: block;
  margin-bottom: -0.2em;
  width: 2.5em;
  height: 1px;
  background-color: var(--clr2);
}
.under h6 > span {
  padding-top: 5px;
  padding-bottom: 5px;
  margin-right: var(--size-space-line);
}

.under .inner > section,
.under .entry > section {
  padding-top: 1px;
  margin-top: 70px;
}
.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 .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: var(--clr2);
  }
}
.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.3333em;
  color: #fff;
  border-radius: 0;
  padding: 0.85em 2.125em 0.85em 3.125em;
  transition: all 0.3s;
  border: none;
  background: 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;
  inset: none;
  background: none;
  border-radius: 0;
}
.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 .imgBox.rowImg .txt_l, .under .imgBox.rowImg .txt_r{
    float: none;
    width: auto;
  }
}
.under table {
  border-radius: 3px;
}
.under table.rollTable {
  width: 100%;
}
.under table.tbl_style01 th,
.under table.tbl_style01 td {
  border: 1px solid var(--clr2);
  padding: 0.625rem;
  line-height: var(--line-height-p);
}
.under table.tbl_style01 th img,
.under table.tbl_style01 td img {
  max-width: 100%;
}
.under table.tbl_style01 th {
  background-color: #ffe9b1;
  color: var(--clr1);
  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 var(--clr2);
}
.under table.tbl_style01.colHead tr:not(:last-child) th {
  border-bottom: 1px solid var(--clr2);
}
.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: 1.125em;
  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 ul.list01.mcol-2 li:last-child, .under ul.list01.mcol-2 li:nth-child(2n+1) {
    padding-bottom: 0;
  }
  .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.5em;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: var(--line-height-p);
  text-align: left;
}
.under ul.list01 li::before {
  content: "";
  width: 12px;
  height: 12px;
  position: absolute;
  left: 0;
  top: 0.75em;
  border-radius: 50%;
  background-color: #ffcc4e;
}
.under ul.list01 li:last-of-type {
  padding-bottom: 0;
}
.under .list_note {
  margin-top: 15px;
  padding-left: 20px;
}
.under .list_note.no_mt {
  margin-top: 0;
}
.under .topic_path {
  font-size: 14px;
  line-height: 1.45;
  letter-spacing: 1.5px;
  padding: 6px 0;
}
.under .topic_path .inner {
  max-width: 1204px;
}
.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 {
  float: left;
}
.under .topic_path a {
  text-decoration: none;
  color: var(--clr2);
}
.under .topic_path a:hover {
  opacity: 1;
  text-decoration: underline;
}
.under .topic_path span {
  display: inline-block;
  padding: 0 9px;
  transform: scaleX(0.6);
  color: var(--clr2);
  line-height: 1;
}
.under .toc_list {
  justify-content: space-between;
  padding: 20px 52px;
  border: 1px solid #ffcc4e;
  border-radius: 20px;
  background: url(../images/ud_toc_list_pattern.jpg) repeat left top/320px auto;
}
.under .toc_list:empty {
  display: none;
}
.under .toc_list li {
  position: relative;
  z-index: 1;
  display: table;
  width: calc(50% - 10px);
  padding-right: 1em;
  border-bottom: 1px solid #e6d7ae;
}
.under .toc_list li a {
  position: relative;
  z-index: 1;
  display: block;
  padding-top: 0.8em;
  padding-bottom: 0.9em;
  padding-left: 2em;
  font-weight: 500;
  text-decoration: none;
  color: var(--clr2);
  transition: var(--value-transition);
}
.under .toc_list li a::before {
  content: "";
  width: 19px;
  height: 19px;
  border-radius: 50%;
  position: absolute;
  left: 0.45em;
  top: 1em;
  background: url(../images/ud_toc_list_triangel_ico.png) no-repeat left 53% center/5px auto;
  background-color: var(--clr2);
}
@media only screen and (min-width: 769px) {
  .under .toc_list li a:hover {
    opacity: 1;
    color: var(--main-color);
  }
  .under .toc_list li a:hover::before {
    background-color: var(--main-color);
  }
}
.under .toc_list li:last-of-type {
  border-bottom: none;
}
.under .toc_list.style1 li {
  width: 100%;
  padding-right: 0;
  max-width: 100%;
}
@media only screen and (min-width: 769px) {
  .under .toc_list:not(.style1, .style3) li {
    max-width: 507px;
  }
  .under .toc_list:not(.style1, .style3) li:nth-child(odd):nth-last-child(2) {
    border-bottom: none;
  }
  .under .toc_list.style3 li:nth-child(3n+1):nth-last-child(3), .under .toc_list.style3 li:nth-child(3n+1):nth-last-child(2) {
    border-bottom: none;
  }
  .under .toc_list.style3 li:nth-child(3n+2):nth-last-child(2) {
    border-bottom: none;
  }
}
@media only screen and (min-width: 993px) {
  .under .toc_list.style3 li {
    width: auto;
    max-width: 33%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .under .toc_list {
    padding: 40px 30px;
  }
  .under .toc_list.style2.full_769 li {
    width: 100%;
    max-width: 100%;
    padding-right: 0;
  }
}
@media only screen and (max-width: 1024px) {
  .under .toc_list li a::before {
    width: 17px;
    height: 17px;
    background-size: 3.5px auto;
  }
}
.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: 20px;
}
.under .doctor_box .doctor_name {
  position: absolute !important;
  right: 2%;
  bottom: 30px;
  background: rgba(255, 255, 255, 0.95);
  padding: 20px 2em;
  z-index: 1;
  color: var(--main-color);
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.5;
  border-radius: 10px;
}
.under .doctor_box .doctor_name > span {
  display: block;
  font-size: 80%;
  font-weight: 400;
  font-family: var(--clr1);
  letter-spacing: 0.1em;
}
.under .ud_map {
  height: 450px;
}
.under .exp li {
  margin-bottom: 0.5em;
  padding-bottom: 0.5em;
  display: flex;
  border-bottom: 1px solid var(--clr2);
  line-height: var(--line-height-p);
}
.under .exp li .year {
  width: 7em;
  color: var(--main-color);
  font-weight: 500;
}
.under .exp li .txt {
  width: calc(100% - 7em);
}

.under.page-doctor section:has(> #interview) + section {
  counter-reset: count;
}

.under .ud_list_num {
  counter-reset: ud_list_num;
  margin-top: 40px;
}
.under .ud_list_num li,
.under .ud_list_num p {
  letter-spacing: 0.1em;
  line-height: var(--line-height-p);
  margin-bottom: 0.7em;
}
.under .ud_list_num li {
  position: relative;
  z-index: 1;
  padding-left: 2.5em;
  min-height: 30px;
}
.under .ud_list_num li::before {
  content: counter(ud_list_num, decimal-leading-zero);
  counter-increment: ud_list_num;
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px 5px 7px 5px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: var(--clr2);
  font-size: 1.25em;
  letter-spacing: 0;
  font-weight: 500;
  color: white;
}
.under .ud_list_num ul:last-child li:last-child {
  margin-bottom: 0;
}

.under .toc_list.has-wrap li {
  width: 100%;
  max-width: 100%;
  padding-right: 0;
}
.under .ud_feature {
  margin-top: 80px;
}
.under .ud_feature:first-child {
  margin-top: 0;
}
.under .ud_feature .ud_feature_id {
  position: absolute;
  left: 0;
  top: -60px;
}
.under .ud_feature .feature_box {
  position: relative;
  z-index: 1;
  padding: 61px 73px 64px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 90px;
  max-width: 1010px;
  border-radius: 12px;
  background-color: white;
  box-shadow: 0px 10px 16px 0px rgba(0, 0, 0, 0.15);
}
.under .ud_feature .feature_box::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  inset: 10px;
  background-color: white;
  border-radius: inherit;
}
.under .ud_feature .feature_box::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -2;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url(../images/ud_h4_pattern.png) repeat top left/10px;
}
.under .ud_feature .feature_box:last-of-type {
  margin-bottom: 0;
}
.under .ud_feature .feature_box:last-of-type .ct_area::after {
  display: none;
}
.under .ud_feature .feature_box .point {
  position: absolute;
  top: -3.1em;
  left: 50%;
  transform: translateX(-50%);
  text-transform: capitalize;
  font-weight: 500;
  color: var(--clr2);
  letter-spacing: 0;
  line-height: 0.8;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.under .ud_feature .feature_box .point::before {
  content: "feature";
  font-size: 1.125em;
  font-weight: inherit;
  text-transform: capitalize;
}
.under .ud_feature .feature_box .point .num {
  font-size: clamp(60px, 4.2vw, 80px);
}
.under .ud_feature .feature_box h5.ft_ttl {
  padding-left: 0;
}
.under .ud_feature .feature_box h5.ft_ttl::before {
  display: none;
}
.under .ud_feature .feature_box h4.ft_ttl {
  padding: 0;
  background: none;
}
.under .ud_feature .feature_box .ft_ttl {
  color: var(--clr2);
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .under .ud_feature {
    padding: 40px 0px;
    background-size: 250px auto;
    margin-top: 30px;
  }
  .under .ud_feature .feature_box {
    padding: 40px 20px;
    margin-bottom: 70px;
  }
  .under .ud_feature .feature_box .point {
    top: -2.9em;
  }
}

.under .ud_flow {
  --size-w-triangel: 55px;
  --size-h-triangel: 26px;
  padding: 40px;
  margin-top: 30px;
  margin-bottom: 30px;
}
.under .ud_flow:last-child {
  margin-bottom: 0;
}
.under .ud_flow .flow_box {
  position: relative;
  z-index: 1;
  padding: 61px 73px 64px;
  margin-bottom: 100px;
  border-radius: 12px;
}
.under .ud_flow .flow_box::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: white;
  box-shadow: 0px 10px 16px 0px rgba(0, 0, 0, 0.15);
  border-radius: inherit;
}
.under .ud_flow .flow_box::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -3;
  left: -10px;
  top: -10px;
  width: calc(100% + 20px);
  height: calc(100% + 20px);
  background-image: linear-gradient(#f58220, #f58220), linear-gradient(#f58220, #f58220);
  background-size: 50px 50px;
  background-repeat: no-repeat;
  background-position: left top, right bottom;
}
.under .ud_flow .flow_box:last-of-type {
  margin-bottom: 0;
}
.under .ud_flow .flow_box:last-of-type .ct_area::after {
  display: none;
}
.under .ud_flow .flow_box .step {
  position: absolute;
  top: -3.2em;
  left: 50%;
  transform: translateX(-50%);
  font-weight: 500;
  color: var(--clr2);
  letter-spacing: 0;
  line-height: 0.8;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.under .ud_flow .flow_box .step::before {
  content: "flow";
  font-size: 1.125em;
  font-weight: inherit;
  text-transform: capitalize;
}
.under .ud_flow .flow_box .step .num {
  font-size: clamp(60px, 4.2vw, 80px);
}
.under .ud_flow .flow_box h5.flow_ttl {
  padding-left: 0;
}
.under .ud_flow .flow_box h5.flow_ttl::before {
  display: none;
}
.under .ud_flow .flow_box h4.flow_ttl {
  padding: 0;
  background: none;
  text-align: center;
}
.under .ud_flow .flow_box .flow_ttl {
  color: var(--clr2);
}
.under .ud_flow .flow_box .ct_area::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 6px;
  border-radius: 6px;
  border: 1px solid #ffcc4e;
}
.under .ud_flow .flow_box .ct_area::after {
  content: "";
  position: absolute;
  z-index: -2;
  left: 0;
  right: 0;
  bottom: calc(var(--size-h-triangel) * -1);
  display: block;
  margin: 0 auto;
  width: var(--size-w-triangel);
  height: var(--size-h-triangel);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background-color: var(--clr2);
}

@media only screen and (max-width: 768px) {
  .under .ud_flow {
    --size-w-triangel: 40px;
    --size-h-triangel: 18px;
    padding: 40px 10px;
    background-size: 250px auto;
  }
  .under .ud_flow .flow_box {
    padding: 40px 20px;
    margin-bottom: 80px;
  }
  .under .ud_flow .flow_box .step {
    top: -2.6em;
  }
}
.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%;
}

.under .clinic_tbl02 td:not(:first-child) {
	color: var(--main-color)
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .under ul.list01.mcol-2.mcol li {
    width: 100%;
    padding-right: 0;
    padding-bottom: 0.99em;
  }
  .under ul.list01.mcol-2.mcol li:last-of-type {
    padding-bottom: 0;
  }
}
/* 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(--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.column {
  background-color: var(--clr1);
}
.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%;
}

.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 .btn2 {
  min-height: 3.75em;
}
.under .btn2 a {
  position: relative;
  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: var(--main-color);
  color: #fff;
  border-radius: 6px;
  letter-spacing: 0.05em;
  line-height: 1.5;
  transition: var(--value-transition);
}
.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: #fff;
}
@media only screen and (min-width: 769px) {
  .under .btn2 a:not(.atv):hover {
    background-color: var(--cl-button-tab-hover);
  }
  .under .btn2 a:not(.atv):hover::after {
    background-color: #fff;
  }
}
.under .page_link {
  margin-top: 80px;
  padding: 2em 20px;
  border-radius: 10px;
  --bg: #fff7e1;
  background-color: var(--bg);
}
.under .page_link .tt {
  position: relative;
  margin-bottom: 30px;
  font-size: 1.5em;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: var(--clr1);
  text-align: center;
}
.under .page_link .tt span {
  position: relative;
  z-index: 1;
  padding: 0px 0.5em;
  background-color: var(--bg);
}
.under .page_link .tt::before, .under .page_link .tt::after {
  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 {
  --size-mg: 0.5em;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-left: calc(-1 * var(--size-mg));
  margin-right: calc(-1 * var(--size-mg));
}
.under .page_link .row > .btn2 {
  margin: 0.5em var(--size-mg);
  width: calc(33.333% - var(--size-mg) * 2);
  max-width: 20em;
  border-radius: inherit;
}
.under .page_link .row > .btn2 a {
  width: 100%;
  font-size: 0.8888888888888889em;
}
.under .page_link .row > .btn2 a.atv {
  background-color: var(--clr2);
}
.under .page_link .row > .btn2 a span {
  display: inline-block;
}
.under .page_link .row > .btn2 a:hover {
  opacity: 1;
}
@media (max-width: 768px) {
  .under .page_link {
    margin-top: 60px;
    padding: 30px 20px;
  }
  .under .page_link .row {
    --size-mg: 5px;
    justify-content: center;
    margin: calc(var(--size-mg) * -1);
  }
  .under .page_link .row > .btn2 {
    margin: var(--size-mg);
    width: calc(50% - var(--size-mg) * 2);
  }
}
@media only screen and (max-width: 430px) {
  .under .page_link .btn2 a {
    font-size: min(3.8vw, 14px);
  }
}

/*INTERVIEW PAGE*/
.interview_catch {
  --size-w-pic:45%;
  position: relative;
  z-index: 1;
  font-size: min(18px, 1.5vw);
}
.interview_catch::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: calc(50% - 50vw);
  bottom: 0;
  width: 100vw;
  height: calc(100% - 2em);
  background-image: url(../images/interview_catch_bg.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.interview_catch .inner {
  max-width: 1005px;
}

.interview_catch .inner.flex {
  align-items: flex-end;
}

.interview_catch picture {
  width: var(--size-w-pic);
  max-width: 397px;
}

.interview_catch .catch {
  max-width: 30.0625em;
  width: calc(100% - var(--size-w-pic) - 30px);
  padding-bottom: 2em;
  color: var(--clr1);
  font-family: var(--f-jp);
}

.interview_catch .catch h2 {
  display: table;
  margin-bottom: 0.45em;
  margin-left: -0.4em;
  line-height: 1;
  color: var(--clr1);
  font-size: 2.25em;
}

.interview_catch .catch .ttl_en {
  position: relative;
  margin-bottom: 1.15em;
  padding-bottom: 2.3em;
  text-transform: uppercase;
  font-size: 1.25em;
  font-weight: 500;
  font-family: var(--f-jp);
}

.interview_catch .catch .ttl_en::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  width: 100%;
  height: 0px;
  left: 0;
  bottom: 0;
  border-bottom: 1px solid;
  opacity: 0.3;
}

.interview_catch .catch .sub {
  margin-bottom: 0.45em;
  font-weight: 500;
  color: var(--clr1);
}

.interview_catch .name {
  margin-bottom: 0;
  width: 100%;
  display: flex;
  align-items: center;
  position: relative;
  line-height: 1.15;
  font-weight: 500;
  font-size: 1.5em;
  letter-spacing: 0.1em;
}

.interview_catch .name .en {
  font-size: 0.6667em;
  margin-left: 0.9em;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-family: var(--f-jp);
}

.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;
  /* max-width: 45%; */
}
.interview_img::before {
  content: counter(count, decimal-leading-zero);
  counter-increment: count;
  position: absolute;
  bottom: 0.2em;
  left: 40px;
  font-family: var(--f-jp);
  line-height: 0.5;
  font-size: min(7.5em, 10vw);
  color: var(--main-color);
}
.interview_img img {
  border-radius: 15px;
}
/* .interview_content {
  max-width: 49%;
} */
.itv_box .item{  
  border: 1px solid var(--main-color);
}
.itv_box .item .itv_txt{
  padding: 20px;
}
.itv_box .item .itv_tl{
  background-color: #fcf0e8;
  padding: 20px 20px 10px;
}
@media (min-width: 769px) {
  .itv_box{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    clear: both;
  }
   .itv_box .item{
    width: 49%;
    margin-top: 35px;
   }
  .interview_box h4{
    display: flow-root;
  }
  .interview_box .interview_img{margin-bottom: 30px;}
  .interview_box.box_right .interview_img {
    float: right;
    margin-left: 45px;
  }
  .interview_box.box_left .interview_img {
    float: left;
    margin-right: 45px;
  }
}

@media screen and (max-width: 1200px) and (min-width: 769px) {
.interview_img{
  max-width: 45%;
}
.interview_img::before{left: 10px;}
}
/*---------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;
  }
}

.ud_contact{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 20px;
}
.ud_contact .item{
  position: relative;
  margin: 10px 20px;
  max-width: 300px;
  width: calc(100%/2 - 40px);
  display: flex;
  justify-content: center;
  align-items: center;
  height: 5em;
}
.ud_contact .contact_tl{
  position: relative;
  padding-left: 1.5em;
  font-size: 1.25em;
  font-weight: 500;
  line-height: 1;
  color: #ffffff;
}
.ud_contact .contact_tl::before {
  content: '';
  position: absolute;
  top: -0.05em;
  left: 0;
  width: 1.1em;
  height: 1.1em;
  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;
}
.ud_contact .item.bn_web{background-color: #eead0d;}
.ud_contact .item.bn_tel{background-color: var(--main-color);}
.ud_contact .item.bn_web .contact_tl{
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 208 216 ' %3E%3Cpath d='M203.695,215.961 L12.490,215.961 C5.888,215.961 0.539,210.887 0.539,204.613 L0.539,45.784 C0.539,39.510 5.888,34.436 12.490,34.436 L48.336,34.436 L48.336,11.753 C48.336,5.479 53.685,0.397 60.287,0.397 C66.890,0.397 72.239,5.479 72.239,11.753 L72.239,34.436 L143.937,34.436 L143.937,11.753 C143.937,5.479 149.297,0.397 155.888,0.397 C162.492,0.397 167.841,5.479 167.841,11.753 L167.841,34.436 L191.743,34.436 L203.695,34.436 C210.297,34.436 207.229,39.510 207.229,45.784 L207.229,204.613 C207.229,210.887 210.297,215.961 203.695,215.961 ZM99.124,143.200 L77.700,122.860 C73.033,118.426 65.469,118.426 60.802,122.860 C56.135,127.286 56.135,134.466 60.802,138.899 L90.680,167.257 C92.924,169.390 95.964,170.589 99.124,170.589 C102.294,170.589 105.334,169.390 107.578,167.257 L155.374,121.877 C160.051,117.443 160.051,110.264 155.374,105.837 C150.708,101.411 143.152,101.411 138.476,105.837 L99.124,143.200 Z'/%3E%3C/svg%3E")
}
.ud_contact .item.bn_tel .contact_tl{
  font-size: 1.625em;
  padding-left: 1.346153846153846em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 219' %3E%3Cpath d='M219.067,163.378 L219.067,206.241 C219.070,212.592 214.138,217.896 207.778,218.335 C202.473,218.698 198.142,218.900 194.791,218.900 C87.532,218.900 0.593,132.079 0.593,24.946 C0.593,21.600 0.775,17.257 1.151,11.973 C1.596,5.602 6.888,0.701 13.264,0.701 L56.182,0.701 C59.301,0.701 61.915,3.057 62.226,6.152 C62.505,8.934 62.761,11.137 63.003,12.830 C65.416,29.658 70.358,46.018 77.665,61.347 C78.818,63.780 78.066,66.659 75.881,68.199 L49.688,86.916 C65.703,124.160 95.441,153.891 132.757,169.875 L151.449,143.748 C153.026,141.560 155.953,140.807 158.403,141.971 C173.758,149.241 190.126,154.170 206.953,156.568 C208.641,156.819 210.862,157.083 213.628,157.341 C216.727,157.669 219.082,160.255 219.079,163.378 L219.067,163.378 Z'/%3E%3C/svg%3E");
}
.ud_contact .item.bn_tel .contact_tl::before{
  top: 0.6538461538461538em;
  width: 1em;
  height: 1em;
}
.img_map{
  display: table;
}
.ud_tl{
  font-weight: bold;
}
.list_map{
  margin-top: 30px;
}
.list_map .img_map{
  max-width: 460px;
  width: 40%;
}
.list_map .ud_map{
  max-width: 650px;
  width: 58%;
  height: 352px;
  border-radius: 20px;
  overflow: hidden;
}
@media screen and (max-width: 1200px) and (min-width: 769px) {
  .list_map .ud_map{
    max-height: 352px;
    height: 29vw;
  }
}
@media screen and (max-width: 768px) {
.ud_contact .item{
  width: calc(100%/2 - 20px);
  margin: 10px;
}
.list_map >div{
  margin-left: auto;
  margin-right: auto;  
}
.list_map .img_map{
  width: auto;
  margin-bottom: 25px;
}
.list_map .ud_map{
  width: 100%;
}
.under #mainContent .btn-group.gr_anchor .btn.style01{
  width: 100%;
  margin: 6px auto;
}
}
@media screen and (max-width: 550px) {
  .ud_contact{
    margin-top: 20px;
  }
  .ud_contact .item{
    width: 100%;
    margin: 10px auto;
  }
}
/*# sourceMappingURL=under_pc.css.map */
