@keyframes scroll {
  0% {
    bottom: 0;
  }
  100% {
    bottom: 4.8em;
  }
}
.home_page .key {
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  font-size: 0.625em;
  background-size: cover;
}
.home_page .key .swiper-slide .item,
.home_page .key .swiper-slide-next .item {
  transform: scale(1);
  transition: transform 7s linear;
}
.home_page .key .swiper-slide-active .item,
.home_page .key .swiper-slide.swiper-slide-prev .item,
.home_page .key .swiper-slide-next.swiper-slide-active .item,
.home_page .key .swiper-slide-next.swiper-slide-prev .item {
  transform: scale(1.03);
}
.home_page .key .inner {
  position: relative;
  padding: 0;
  width: 100%;
}
.home_page .key .key_text {
  position: relative;
}
.home_page .key .item {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.home_page .key .item.full {
  position: absolute;
  inset: 0;
  z-index: 3;
}
.home_page .key .wave {
  position: absolute;
  bottom: -2.75%;
  left: 0;
  width: 100%;
  height: 400px;
  z-index: 2;
}
.home_page .key .s1 {
  background-image: url(../images/idx_mv01.jpg);
}
.home_page .key .swiper-container-initialized .s2 {
  background-image: url(../images/idx_mv02.jpg);
}
.home_page .key .swiper-container-initialized .s3 {
  background-position: top center;
  background-image: url(../images/idx_mv03.jpg);
}
.home_page .key .catch {
  padding: 0px 0.5%;
  margin: 3.6% auto 0;
}
.home_page .key h2,
.home_page .key p {
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.1em;
  font-family: var(--f-jp);
}
.home_page .key h2 span,
.home_page .key p span {
  display: inline-block;
}
.home_page .key h2 {
  margin-bottom: 0.2em;
  font-size: 4.8em;
  line-height: 1.5;
}
.home_page .key p {
  font-size: 2.6em;
}
.home_page .key .scroll {
  left: 19px;
  position: absolute;
  min-width: 30px;
  bottom: 0;
}
.home_page .key .scroll a {
  text-decoration: none;
  color: #fff;
  writing-mode: vertical-rl;
  text-orientation: inherit;
  word-wrap: break-word;
  font-weight: 500;
  position: absolute;
  z-index: 1;
  left: calc(50% - 0.9em);
  width: 1.8em;
  bottom: 0em;
  text-transform: uppercase;
  padding-bottom: 10.3em;
  transition: all 0.3s;
  font-family: var(--f-en);
  font-weight: 500;
}
.home_page .key .scroll a span {
  font-size: 1.2em;
  letter-spacing: 0.1em;
}
.home_page .key .scroll a::after, .home_page .key .scroll a::before {
  position: absolute;
  content: "";
  left: 50%;
  width: 1px;
  left: calc(50% - 0.5px);
}
.home_page .key .scroll a::before {
  background-color: #fff;
  height: 9.6em;
  bottom: 0;
}
.home_page .key .scroll a::after {
  background-color: #beada0;
  height: 4.8em;
  bottom: 0;
  animation: scroll 1.5s infinite alternate-reverse forwards;
}
.home_page .topic_path {
  display: none;
}
.home_page h3 {
  position: relative;
  margin-bottom: 35px;
  color: var(--clr2);
  font-family: var(--f-jp);
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.15em;
}
.home_page h3.big {
  margin-bottom: 1.266667em;
  font-size: 1.875em;
  line-height: 1.15;
}
.home_page h3.big .en {
  font-size: 2.6667em;
  line-height: 1;
  letter-spacing: 0.1em;
}
.home_page h3 .en {
  display: block;
  line-height: 1.2;
  color: var(--main-color);
  font-size: 2.2em;
}
.home_page h3.white {
  color: #fff;
}
.home_page h3.white .en {
  color: #fff;
}

@media only screen and (min-width: 1441px) {
  :root {
    --height: 47.5vw;
    --max-height: calc(100vh - 1vmin);
  }
}
@media only screen and (max-width: 1400px) and (min-width: 769px) {
  :root {
    --max-height: calc(100vh - 0vmin);
  }
  .home_page .key {
    font-size: min(0.625em, 1.25vmin);
  }
  .home_page .key .catch {
    padding-left: 5%;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .home_page .key {
    font-size: min(0.625em, 1.1vmin);
  }
  .home_page .key .catch {
    padding-left: 8%;
  }
}
@media only screen and (min-width: 769px) {
  .home_page .key .scroll a:hover {
    opacity: 0.7;
    color: #fff;
  }
}
section {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.idx_feature {
  padding: 114px 0px 119px;
}
@media only screen and (min-width: 769px) {
  .idx_feature h3.big {
    margin-bottom: 68px;
    letter-spacing: 0.12em;
  }
  .idx_feature h3.big .en {
    letter-spacing: 0.12em;
  }
  .idx_feature .r2 {
    max-width: 1039px;
    margin-top: 41px;
    margin-left: auto;
    margin-right: -2px;
  }
  .idx_feature .row {
    max-width: 1039px;
  }
  .idx_feature .box {
    width: 48%;
  }
  .idx_feature .box:nth-child(2) {
    margin-top: 40px;
  }
}
.idx_feature .box {
  max-width: 466px;
}
.idx_feature .box_img {
  position: relative;
  display: table;
}
.idx_feature .box_img .point {
  position: absolute;
  bottom: -1.1875em;
  left: 11.1%;
  z-index: 2;
  color: var(--main-color);
}
.idx_feature .box_img .point span {
  line-height: 1;
  font-size: 6.25em;
}
.idx_feature .box_img picture {
  position: relative;
  z-index: 1;
}
.idx_feature .box_img picture::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  width: 100%;
  height: 100%;
  max-height: 467px;
  z-index: -1;
  right: -10px;
  bottom: 10px;
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='464px' height='467px'%3E%3Cpath fill-rule='evenodd' fill='rgb(137, 137, 137)' d='M396.280,467.008 C370.800,467.008 356.177,453.999 334.048,434.314 C332.607,433.035 331.135,431.726 329.625,430.389 C292.248,397.302 231.335,343.553 202.061,317.723 C192.466,309.252 186.157,303.689 185.004,302.666 C164.933,285.792 137.561,284.990 120.901,292.920 C102.554,301.654 91.156,320.272 91.156,341.504 C91.251,354.140 91.382,419.469 91.385,420.128 C91.439,425.343 90.689,430.525 89.160,435.522 C84.472,450.478 72.036,461.992 56.700,465.581 C52.721,466.483 48.103,466.944 42.967,466.947 C42.682,466.947 42.450,466.717 42.450,466.433 C42.450,466.149 42.682,465.919 42.967,465.919 C48.025,465.919 52.566,465.467 56.468,464.578 C71.445,461.076 83.594,449.826 88.172,435.217 C89.671,430.325 90.404,425.250 90.350,420.134 C90.350,419.469 90.219,354.144 90.121,341.507 C90.121,319.872 101.747,300.899 120.457,291.990 C137.413,283.928 165.269,284.729 185.680,301.891 C186.846,302.920 193.151,308.487 202.747,316.954 C232.020,342.784 292.934,396.534 330.311,429.620 C331.823,430.960 333.296,432.270 334.734,433.550 C356.691,453.077 371.193,465.979 396.280,465.979 C414.234,465.979 431.075,458.988 443.703,446.291 C456.316,433.610 463.149,416.812 462.944,398.997 C462.940,398.623 462.950,152.720 462.950,142.251 C462.950,141.966 463.182,141.737 463.468,141.737 C463.754,141.737 463.986,141.966 463.986,142.251 C463.986,144.811 463.976,398.331 463.979,398.986 C464.184,417.077 457.244,434.135 444.435,447.013 C431.613,459.906 414.513,467.008 396.280,467.008 ZM0.522,146.251 C0.236,146.251 0.004,146.020 0.004,145.736 L0.004,44.998 C0.004,20.187 20.308,0.002 45.263,0.002 L113.718,0.002 C114.004,0.002 114.236,0.230 114.236,0.515 C114.236,0.799 114.004,1.027 113.718,1.027 L45.263,1.027 C20.876,1.027 1.040,20.752 1.040,44.998 L1.040,145.736 C1.040,146.020 0.808,146.251 0.522,146.251 ZM463.384,80.879 C463.098,80.879 462.867,80.648 462.867,80.364 L462.867,65.542 C462.867,29.970 433.757,1.027 397.977,1.027 L134.204,1.027 C133.918,1.027 133.686,0.799 133.686,0.515 C133.686,0.230 133.918,0.002 134.204,0.002 L397.977,0.002 C434.329,0.002 463.902,29.403 463.902,65.542 L463.902,80.364 C463.902,80.648 463.670,80.879 463.384,80.879 Z'/%3E%3C/svg%3E");
  background-image: url(../images/feature_line.png);
}
.idx_feature .box_img picture img {
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='464px' height='468px'%3E%3Cpath fill-rule='evenodd' fill='rgb(176, 176, 176)' d='M463.901,154.437 L463.901,66.142 C463.901,30.148 434.553,0.970 398.350,0.970 L44.867,0.970 C20.104,0.970 0.028,20.929 0.028,45.550 L0.028,423.392 C0.028,448.016 20.106,467.978 44.873,467.978 L45.896,467.908 C49.369,467.782 52.823,467.332 56.211,466.564 C71.471,462.992 83.698,451.669 88.364,436.788 C89.881,431.838 90.625,426.685 90.570,421.511 C90.570,421.511 90.437,355.526 90.341,342.713 C90.341,320.638 102.342,302.175 120.447,293.556 C136.800,285.772 164.661,286.092 185.257,303.406 C189.971,307.579 280.563,387.472 330.191,431.411 C355.180,453.535 369.674,467.978 396.650,467.978 L396.650,467.978 C434.107,467.978 464.402,437.565 463.979,400.326 C463.974,399.949 463.970,399.630 463.965,399.374 L463.965,156.009 C463.976,155.482 463.951,154.958 463.901,154.437 ZM463.463,152.166 C463.420,152.011 463.374,151.858 463.325,151.704 C463.374,151.859 463.420,152.011 463.463,152.166 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;
}
.idx_feature .title {
  margin-bottom: 3px;
  margin-top: 1.3333em;
  color: var(--main-color);
  text-align: center;
  font-weight: 500;
  font-family: var(--f-jp);
  font-size: 1.5em;
}
.idx_feature .txt {
  max-width: 410px;
  margin: 0 auto;
}
.idx_feature .btn-group .btn.style01 {
  margin: 37px auto 0;
}

.idx_pickup {
  padding: 115px 0px 120px;
  background-image: url(../images/pickup_bg.jpg);
  background-size: auto 100%;
  background-repeat: repeat-x;
}
.idx_pickup .r1 {
  padding-top: 4.375em;
  padding-bottom: 5em;
}
.idx_pickup .r1 .TabPager {
  max-width: 845px;
}
.idx_pickup .r2 {
  padding: 8.75em 5.0625em 8.125em;
}
.idx_pickup .r1_1 {
  padding: 3.125em 0em 0;
  align-items: flex-start;
}
.idx_pickup .r1_2 {
  padding: 3.75em 0em 1.875em;
}
.idx_pickup .r1_2 .boxes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625em;
  margin: 0em -0.625em;
  justify-content: center;
  max-width: 1200px;
}
.idx_pickup .r1_2 .box {
  position: relative;
  margin-bottom: 0;
  background-color: #fbfbfb;
  box-sizing: border-box;
  text-align: center;
  transition: all 0.3s;
}
.idx_pickup .r1_2 .box a {
  width: 17em;
  min-height: 14.375em;
  padding-top: 2.625em;
  display: block;
  color: var(--clr1);
  text-decoration: none;
  position: relative;
  transition: all 0.3s;
}
.idx_pickup .r1_2 .box a::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  right: 0.625em;
  bottom: 0.625em;
  width: 0;
  height: 0;
  border-left: 12px solid transparent;
  border-bottom: 12px solid var(--main-color);
}
.idx_pickup .r1_2 .box .title {
  margin-bottom: 15px;
  display: block;
  font-weight: 500;
  font-size: 1.5em;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: var(--main-color);
  font-family: var(--f-jp);
  letter-spacing: 0;
  font-feature-settings: "palt";
  transition: all 0.3s;
}
.idx_pickup .r1_2 .box .text {
  display: block;
  color: #051828;
  line-height: 1.875;
  transition: all 0.3s;
}
.idx_pickup .box_left {
  color: var(--main-color);
}
.idx_pickup .tt {
  margin-bottom: 3px;
  font-size: 1.5em;
  font-family: var(--f-jp);
  font-weight: 500;
}
.idx_pickup .bnr a {
  display: table;
  width: 90%;
  margin: 2.5625em auto 0;
  max-width: 27.25em;
}
.idx_pickup .btn-group {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  max-width: 450px;
  margin-top: 38px;
}
.idx_pickup .btn-group .btn.style01 {
  margin-left: 2.25em;
  margin-bottom: 17px;
}
.idx_pickup .btn-group .btn.style01:last-child {
  margin-bottom: 0;
}
.idx_pickup .btn-group .btn.style01 a {
  min-width: 9.8333em;
}
.idx_pickup h3.big {
  color: #395f89;
}
@media only screen and (min-width: 769px) {
  .idx_pickup .r1_2 .box:hover a {
    opacity: 1;
    background-color: var(--main-color);
  }
  .idx_pickup .r1_2 .box:hover a::before {
    border-bottom-color: #fff;
  }
  .idx_pickup .r1_2 .box:hover .title,
  .idx_pickup .r1_2 .box:hover .text {
    color: #fff;
  }
  .idx_pickup h3.big {
    margin-bottom: 1.93333em;
  }
  .idx_pickup h3.big .en {
    font-size: 2.33333em;
    letter-spacing: 0.15em;
  }
  .idx_pickup .flex > picture {
    max-width: 45%;
  }
  .idx_pickup .box_left {
    padding-top: 3px;
    max-width: 575px;
    width: 52%;
  }
  .idx_pickup .btn-group {
    margin-left: auto;
    margin-right: 0;
  }
  .idx_pickup .r1_2 .boxes {
    font-size: min(1em, 1.65vw);
  }
}

.idx_menu {
  padding: 114px 0px 120px;
  background-color: #f3efea;
}
.idx_menu .row {
  justify-content: center;
  margin-left: -0.46875em;
  margin-right: -0.46875em;
  font-size: min(1em, 1.2vw);
}
.idx_menu .box {
  position: relative;
  display: flex;
  align-items: center;
  flex-direction: column;
  padding-top: 1.875em;
  padding-left: 0.5em;
  padding-right: 0.5em;
  width: 15.25em;
  min-height: 17.5em;
  padding-bottom: 0.5em;
  text-align: center;
  color: var(--main-color);
  transition: all 0.3s;
  z-index: 1;
  margin: 0.46875em;
}
.idx_menu .box::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  background-color: #fff;
  z-index: -1;
  inset: 0;
}
@media only screen and (min-width: 769px) {
  .idx_menu h3.big {
    margin-bottom: 77px;
  }
}
@media only screen and (min-width: 1025px) {
  .idx_menu .b1 {
    margin-left: 5%;
  }
  .idx_menu .b4 {
    margin-right: 5%;
  }
}
.idx_menu .title {
  margin-bottom: 5px;
  font-size: 1.5em;
  line-height: 1.25em;
  min-height: 2.5em;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--f-jp);
  transition: all 0.3s;
}
.idx_menu picture {
  margin-bottom: 1.4375em;
  max-width: 7.5em;
  transition: all 0.3s;
}
.idx_menu .text {
  color: #051828;
  letter-spacing: 0.1em;
}
.idx_menu .arr {
  width: 1.875em;
  height: 1.875em;
  background-color: #f1f1f1;
  border-radius: 50%;
  position: absolute;
  bottom: 0.875em;
  right: 0.8125em;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
}
.idx_menu .arr::before {
  content: "";
  width: 0;
  height: 0;
  border-top: 0.1875em solid transparent;
  border-bottom: 0.1875em solid transparent;
  border-left: 0.3125em solid #173a6f;
}
@media only screen and (min-width: 769px) {
  .idx_menu .box:hover::before {
    background-color: var(--main-color);
  }
  .idx_menu .box:hover a {
    opacity: 1;
  }
  .idx_menu .box:hover picture {
    filter: brightness(0) invert(1);
  }
  .idx_menu .box:hover .text,
  .idx_menu .box:hover .title {
    color: #fff;
  }
  .idx_menu .box:hover .arr {
    background-color: #fff;
  }
}

.idx_medical {
  position: relative;
  max-width: 1440px;
  margin: 0px auto;
  z-index: 1;
  padding: 90px 0 140px;
}
.idx_medical h3.big .en {
  line-height: 1;
  opacity: 0.5;
}
.idx_medical h3.big .jp {
  display: block;
  letter-spacing: 0.1em;
  line-height: 1.66667;
}
.idx_medical h3.big .jp span {
  display: block;
}
.idx_medical .flex {
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: 0;
  position: relative;
  z-index: 2;
}
.idx_medical .box_text {
  position: relative;
  z-index: 2;
}
.idx_medical::before {
  z-index: -1;
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  width: 1519px;
  max-width: 106%;
  height: 100%;
  top: 0;
  left: -16.65%;
  background-image: url(../images/medical_bg.jpg);
}
.idx_medical .box_img {
  padding-bottom: 5.5%;
  padding-left: 19.24%;
  position: relative;
}
.idx_medical .box_img .sub {
  position: absolute;
  bottom: 0;
  left: 0;
  max-width: 52%;
}
.idx_medical .txt {
  max-width: 361px;
  color: #fff;
}
.idx_medical .btn-group {
  margin-top: 36px;
}
@media only screen and (min-width: 769px) {
  .idx_medical h3.big {
    margin-bottom: 28px;
  }
  .idx_medical h3.big .en {
    white-space: nowrap;
  }
  .idx_medical h3.big .jp {
    margin-top: -0.266667em;
  }
  .idx_medical .box_text {
    padding-top: 16px;
  }
  .idx_medical .box_img {
    position: absolute;
    right: 0;
    top: 0;
    max-width: 67%;
  }
}

.idx_news {
  padding: 113px 0px 108px;
  background-color: #ffffff;
}
.idx_news h3 {
  margin-bottom: 22px;
}
.idx_news .content {
  position: relative;
  align-items: inherit;
}
.idx_news .content .box {
  width: 46%;
  max-width: 464px;
}
.idx_news .content li {
  width: auto;
}
.idx_news .content li a {
  display: flex;
  text-decoration: none;
  padding: 18px 0px;
  --w: 7.5em;
  transition: all 0.3s;
  letter-spacing: 0.1em;
  white-space: nowrap;
  max-width: 100%;
  color: #051828;
}
.idx_news .content li a:hover {
  opacity: 1;
  color: #473a2e;
}
.idx_news .content li a:hover .date {
  color: #473a2e;
}
.idx_news .content li a .date {
  position: relative;
  display: block;
  width: var(--w);
  transition: all 0.3s;
}
.idx_news .content li a .date::after {
  position: absolute;
  content: "|";
  right: 0;
  top: 0;
  color: #ababab;
}
.idx_news .content li a .title {
  padding-left: 1em;
  max-width: calc(100% - var(--w));
  position: relative;
  text-overflow: ellipsis;
  overflow: hidden;
}
.idx_news .content .news {
  position: relative;
}
@media only screen and (min-width: 769px) {
  .idx_news .content::after {
    content: "";
    display: block;
    position: absolute;
    transition: all 0.3s;
    left: 50%;
    top: calc(50% - 5px);
    transform: translateY(-50%);
    width: 0;
    border-left: 1px solid #ababab;
    height: 100%;
    max-height: 260px;
  }
  .idx_news .content .btn-group {
    position: absolute;
    right: 0px;
    top: 1.5em;
    z-index: 1;
  }
}

.idx_clinic {
  max-width: 1440px;
  margin: 0px auto;
  position: relative;
  padding: 138px 0 134px;
  background-color: #fff;
}
.idx_clinic .ft_logo {
  max-width: 22.1875em;
  margin: 0em 0 2.6875em;
}
.idx_clinic .box_left {
  position: relative;
  z-index: 2;
}
.idx_clinic .time_sheet {
  max-width: 464px;
}
.idx_clinic ul {
  margin-bottom: 33px;
}
.idx_clinic ul li {
  display: flex;
  padding: 10px 0px;
  color: #051828;
  --w: 6.9em;
  line-height: 1.875;
}
.idx_clinic ul .tt {
  width: var(--w);
  font-weight: 500;
}
.idx_clinic ul .txt {
  width: calc(100% - var(--w));
}
.idx_clinic ul .txt span {
  display: inline-block;
}
.idx_clinic .box_img {
  padding-top: 2px;
  max-width: 597px;
}
.idx_clinic .box_img .btn-group {
  display: flex;
}
.idx_clinic .swiper-slide {
  overflow: hidden;
}
.idx_clinic .top_img {
  height: auto;
  max-height: 842px;
  width: 429px;
  aspect-ratio: 429/842;
  overflow: hidden;
}
.idx_clinic .top_img img {
  position: absolute;
  width: 100%;
  height: 100%;
  right: 0;
  top: 0;
  -o-object-fit: cover;
  object-fit: cover;
}
.idx_clinic .bottom_img {
  max-width: 597px;
  overflow: hidden;
  aspect-ratio: 597/560;
}
@media only screen and (min-width: 769px) {
  .idx_clinic .row {
    margin-left: auto;
    margin-right: 0;
    max-width: 1222px;
    width: 85%;
    position: relative;
    justify-content: flex-end;
  }
  .idx_clinic .time_sheet {
    font-size: min(1em, 1.35vw);
  }
  .idx_clinic .top_img {
    position: absolute;
    left: -16.67%;
    top: 0;
    max-width: 29vw;
  }
  .idx_clinic .box_left {
    width: 573px;
    max-width: 51%;
    padding-right: 7%;
  }
  .idx_clinic .btn-group {
    margin-top: 46px;
    font-size: min(0.625em, 1vw);
  }
  .idx_clinic .btn-group .btn {
    margin-right: 2.27778em;
  }
  .idx_clinic .btn-group .btn:last-child {
    margin-right: 0;
  }
  .idx_clinic .box_img {
    width: 49%;
  }
}

.idx_message {
  padding: 60px 0px 0;
  background-image: url(../images/message_bg.jpg);
}
.idx_message .flex {
  align-items: flex-start;
}
.idx_message .name {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 25.375em;
  right: -38px;
  width: 22.5em;
  height: 7.5em;
  background-color: rgba(255, 255, 255, 0.95);
  color: #173a6f;
  font-family: var(--f-jp);
}
.idx_message .name span {
  line-height: 1.6;
}
.idx_message .name .top {
  font-size: 0.875em;
  display: block;
  letter-spacing: 0.1em;
}
.idx_message .name .bot {
  display: flex;
  align-items: center;
  color: #173a6f;
  font-size: 1.25em;
  letter-spacing: 0.24em;
}
.idx_message .name .en {
  margin-top: 0.35em;
  display: block;
  margin-left: 0.25em;
  text-transform: uppercase;
  color: #898989;
  letter-spacing: 0.05em;
  font-size: 0.6em;
}
@media only screen and (min-width: 769px) {
  .idx_message .txt {
    padding-left: 1.8125em;
  }
  .idx_message .btn-group {
    margin-top: 3.7em;
    max-width: 468px;
  }
  .idx_message .btn-group .btn.style01 {
    max-width: 43%;
  }
  .idx_message .btn-group .btn.style01:last-child {
    max-width: 55%;
  }
  .idx_message .box_left {
    padding-top: 41px;
    max-width: 580px;
    width: 52%;
  }
  .idx_message .box_img {
    width: calc(47% + 40px);
    max-width: 546px;
    margin-right: -40px;
  }
}

.idx_map {
  height: 340px;
  padding: 0px 20px;
  margin: 113px auto 0;
  filter: grayscale(1);
}
.idx_map iframe {
  height: 100%;
}

@media only screen and (min-width: 769px) {
  .idx_map {
    max-width: calc(100% - var(--wrapper) * 2 + 40px);
  }
  .idx_pickup .r2 .bnr {
    padding-left: 6%;
  }
  .idx_feature .inner_big {
    width: calc(100% - var(--wrapper) * 2 + 40px - 2.5%);
  }
  .idx_message .wrap {
    position: relative;
    width: 1440px;
    max-width: calc(100% - var(--wrapper) * 2 + 0px);
    margin: 0px auto;
  }
  .idx_message .wrap .name {
    right: 0;
  }
}
@media only screen and (max-width: 1560px) and (min-width: 769px) {
  .idx_medical {
    padding-left: 2%;
  }
  .idx_pickup .inner_max {
    width: calc(100% - var(--wrapper) * 2 + 40px);
  }
  .idx_pickup .inner_max .ovh {
    width: 100%;
  }
  .idx_menu .inner_max {
    margin: 0px auto;
    padding: 0;
    max-width: 1350px;
  }
  .idx_menu .inner_max .row {
    max-width: calc(100vw - 15px - var(--wrapper) * 2 + 0px + 0.9375em);
    margin: 0px auto;
  }
  .idx_menu .inner_max .box {
    max-width: calc(20% - 0.9375em);
  }
}
@media only screen and (max-width: 1450px) and (min-width: 769px) {
  .idx_menu .row {
    font-size: min(1em, 1.1vw);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .idx_message .wrap {
    position: relative;
    width: 1440px;
    max-width: calc(100% - var(--wrapper) + 0px);
    margin-left: 0;
  }
  .idx_clinic .box_left {
    padding-right: 5%;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .home_page h3.big {
    font-size: 1.65em;
  }
  .idx_menu .row {
    font-size: min(1em, 1.35vw);
  }
  .idx_menu .row .box {
    max-width: calc(25% - 1em);
  }
  .idx_clinic ul li {
    --w: 5.5em;
  }
  .idx_message .txt {
    padding-left: 0.5em;
  }
  .idx_message .btn-group {
    font-size: min(0.625em, 0.9vw);
  }
  .idx_pickup .btn-group {
    font-size: min(0.625em, 0.9vw);
  }
  .idx_medical .box_img {
    top: 20%;
    max-width: 60%;
  }
  .idx_medical .txt {
    width: 43%;
  }
  .idx_message .name {
    top: 50%;
    width: 20em;
    height: 7em;
  }
  .idx_feature .title {
    font-size: min(1.5em, (100vw - var(--wrapper) - 40px) / 35);
  }
}
@media only screen and (max-width: 992px) and (min-width: 769px) {
  .idx_medical h3.big .en {
    font-size: min(2.6667em, 7.1vw);
  }
  .idx_menu .row {
    font-size: min(1em, 1.7vw);
  }
  .idx_menu .row .box {
    max-width: calc(33.333% - 1.1em);
  }
  .idx_map {
    margin-top: 55px;
  }
}