.home_page .key {
  --height: 60vw;
  --min-height: 600px;
  --max-height: 1080px;
  --size-w-key-text: 73.9em;
  --fs-key-news-button: clamp(7px, .7vw, 10px);
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  margin-bottom: calc(var(--fs-key-news-button) * 9);
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  font-size: min(0.55vw, 10px);
  background-size: cover;
}
.home_page .key .inner {
  position: relative;
  padding: 0;
  width: 100%;
}
.home_page .key .mv_slider:not(.slick-slider) {
  display: flex;
  overflow: hidden;
}
.home_page .key .mv_slider:not(.slick-slider) .slider:not(:first-child) {
  display: none;
}
.home_page .key .mv_slider:not(.slick-slider) .slider:first-child {
  display: block;
  width: 100%;
}
.home_page .key .key_text {
  position: absolute;
  z-index: 2;
  right: 29px;
  bottom: -126px;
  width: var(--size-w-key-text);
  height: var(--size-w-key-text);
}
.home_page .key .key_text::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url(../images/idx_key_circle_txt.png) no-repeat center/cover;
  animation: rotate360 40s linear infinite;
}
.home_page .key .key_text .item {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 4em 9.4em 6.9em 12.5em;
  width: var(--size-w-key-text);
  height: var(--size-w-key-text);
}
.home_page .key .catch {
  max-width: 60em;
  margin: auto;
}
.home_page .key .catch p {
  font-size: 2.6em;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 500;
  color: var(--clr1);
}
.home_page .key h2 {
  margin-bottom: 0.41em;
  font-size: 4.8em;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.666667;
  color: var(--clr1);
}
.home_page .key .key_bg {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: url(../images/idx_key_bg.jpg) no-repeat center/cover;
}
.home_page .key .key_bg .key_bg_slide {
  position: relative;
  top: var(--wrapper);
  width: 100%;
  max-width: 1920px;
  height: calc(100% - var(--wrapper));
  margin-left: auto;
  margin-right: auto;
}
.home_page .key .key_bg .item_gr {
  position: absolute;
  overflow: hidden;
  height: 100%;
}
.home_page .key .key_bg .left {
  left: -10px;
  bottom: 0;
  width: 60%;
  height: 93.9%;
  max-width: 1130px;
}
.home_page .key .key_bg .left .item {
  border-bottom-right-radius: 6em;
}
.home_page .key .key_bg .left .bg01 {
  background-image: url(../images/idx_key_mv_img01_l.jpg);
}
.home_page .key .key_bg .right {
  top: 0;
  right: 0;
  width: 50%;
  height: 64.6%;
}
.home_page .key .key_bg .right .item {
  border-radius: 6em 0 0 6em;
}
.home_page .key .key_bg .right .bg01 {
  background-image: url(../images/idx_key_mv_img01_r.jpg);
  background-position: center top;
}
.home_page .key .key_bg .item {
  position: absolute;
  width: 100%;
  height: 100%;
  background: no-repeat center/cover;
}
.home_page .key .key_news_button {
  --size-mg: 3.5px;
  --cl-mode: var(--main-color);
  position: relative;
  z-index: 4;
  bottom: -4.1em;
  left: 0;
  right: 0;
  display: flex;
  flex-wrap: wrap;
  padding-left: 4em;
  padding-right: 4em;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 125.3em;
  font-size: var(--fs-key-news-button);
}
.home_page .key .key_news_button .item {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1em 2em;
  margin: 0 var(--size-mg);
  max-width: 26em;
  width: calc(50% - var(--size-mg));
  height: 100%;
  min-height: 8.2em;
  border-radius: 100px;
  transition: var(--value-transition);
  background-color: var(--cl-mode);
  cursor: pointer;
}
.home_page .key .key_news_button .item::before {
  content: "";
  position: absolute;
  background: no-repeat center/cover;
}
.home_page .key .key_news_button .item .item_decor {
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  bottom: -54px;
  width: 13px;
  height: 65px;
  opacity: 0;
  transition: var(--value-transition);
}
.home_page .key .key_news_button .item .item_decor::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  right: 0;
  top: 0;
  margin-left: auto;
  margin-right: auto;
  width: 1px;
  height: calc(100% - 6.5px);
  background-color: var(--cl-mode);
}
.home_page .key .key_news_button .item .item_decor .circle {
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background-color: var(--cl-mode);
  transition: var(--value-transition);
}
.home_page .key .key_news_button .item .item_decor .circle::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  transform-origin: center;
  transform: scale(1.9231);
  background-color: var(--cl-mode);
  opacity: 0.3;
}
.home_page .key .key_news_button .ttl {
  position: relative;
  z-index: 1;
  margin-bottom: 0;
  text-align: center;
  font-size: 2.4em;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: white;
}
.home_page .key .key_news_button .item.active .item_decor {
  opacity: 1;
}
.home_page .key .key_news_button .item01::before {
  left: 3.6em;
  top: 0.8em;
  width: 6.9em;
  height: 2.7em;
  background-image: url(../images/txt_information.png);
}
.home_page .key .key_news_button .item02 {
  --cl-mode: var(--clr2);
}
.home_page .key .key_news_button .item02::before {
  left: 5.3em;
  top: 0.9em;
  width: 4.2em;
  height: 2.1em;
  background-image: url(../images/txt_column.png);
}
@media only screen and (min-width: 769px) {
  .home_page .key .key_news_button .item01:not(.active):hover {
    --cl-mode: var(--cl-hv-main);
  }
  .home_page .key .key_news_button .item02:not(.active):hover {
    --cl-mode: var(--cl-hv-clr2);
  }
}
.home_page .topic_path {
  display: none;
}
.home_page #mainContent {
  position: relative;
  z-index: 1;
}
.home_page .box_title {
  position: relative;
  z-index: 1;
  margin-bottom: 31px;
}
.home_page .box_title.white * {
  color: white;
}
.home_page .en-big {
  font-size: min(7.9vw, 150px);
  font-family: var(--f-en);
  text-align: center;
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
}
.home_page .h3_en {
  position: relative;
  top: -4px;
  z-index: 1;
  margin-bottom: 0;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.5;
  text-transform: uppercase;
  color: var(--main-color);
  text-align: center;
}
.home_page .h3_en.fs22 {
  font-size: 22px;
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .home_page .h3_en.fs22 {
    font-size: 20px;
  }
}
.home_page h3 {
  position: relative;
  color: var(--clr1);
  font-family: var(--f-jp);
  font-size: calc(var(--ttl_size) + 12px);
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.1em;
}
.home_page h3.fs52 {
  font-size: calc(var(--ttl_size) * 2 - 8px);
}
.home_page h4 {
  font-size: 24px;
  letter-spacing: 0.1em;
  font-weight: 500;
  line-height: 1.5;
}

@media only screen and (min-width: 769px) {
  .home_page .key .key_bg .right .item {
    background-position: right top;
  }
}
@media only screen and (min-width: 1921px) {
  .home_page .key .key_text {
    right: calc(50vw - 940px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .home_page .key .key_text {
    bottom: -14em;
  }
}
@media only screen and (max-width: 1560px) and (min-width: 1281px) and (max-height: 800px) {
  .home_page .key {
    --size-w-key-text: 68em;
    font-size: clamp(5px, 0.625em, 0.9vmin);
    --max-height: 100vh;
  }
  .home_page .key h2 {
    font-size: 4.4em;
  }
  .home_page .key .key_text {
    bottom: -14em;
    right: 80px;
  }
}
@media only screen and (max-width: 1366px) and (min-width: 1280px) and (max-height: 650px) {
  .home_page .key {
    --max-height: calc(100vh + 40px);
    font-size: clamp(6px, 0.625em, 0.9vmin);
  }
}
section {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

@keyframes rotate360 {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.idx_decor {
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  height: 100%;
}
.idx_decor .item {
  position: absolute;
  background: no-repeat center/cover;
}

.idx01 {
  position: relative;
  z-index: 2;
  padding: 0 20px 90px;
}
.idx01::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  bottom: 0;
  width: 100%;
  height: calc(100% + 240px);
  background-color: #f0f7fc;
}
.idx01 .idx_decor {
  z-index: 3;
  top: auto;
  bottom: 0;
  height: 1px;
  max-width: 1599px;
  font-size: clamp(8px, 0.7vw, 10px);
}
.idx01 .idx_decor .item01 {
  bottom: 0;
  right: 0;
  width: 11.2em;
  height: 12.4em;
  background-image: url(../images/idx01_decor01.png);
}
.idx01 .box {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 50px 60px 50px;
  width: 100%;
  min-height: 400px;
  border-radius: 200px 200px;
  background-color: #fff;
}
.idx01 .box02 .h3_en {
  color: var(--clr2);
}
.idx01 .box02 li a .title {
  background-image: url(../images/idx01_list_arr_ico_pink.png);
}
.idx01 li {
  border-bottom: 1px solid rgba(212, 235, 246, 0.5);
  width: auto;
}
.idx01 li:first-child a {
  padding-top: 0;
}
.idx01 li a {
  display: flex;
  text-decoration: none;
  padding: 28px 12px 28px 13px;
  --w: 8.5em;
  transition: all 0.3s;
  letter-spacing: 0.1em;
  white-space: nowrap;
  max-width: 100%;
  color: var(--clr1);
}
.idx01 li a span {
  display: inline-block;
}
.idx01 li a:hover {
  opacity: 1;
}
.idx01 li a .date {
  width: var(--w);
  transition: all 0.3s;
  letter-spacing: 0.1em;
}
.idx01 li a .title {
  width: calc(100% - var(--w));
  position: relative;
  padding-right: 1.5em;
  text-overflow: ellipsis;
  overflow: hidden;
  background: url(../images/idx01_list_arr_ico.png) no-repeat right 5px center/6px auto;
}
.idx01 .news {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  max-width: 1104px;
}
.idx01 .TabPager {
  display: none;
}

@media only screen and (min-width: 769px) {
  .idx01 .h3_en {
    top: 2px;
  }
  .idx01 .box_title {
    margin-bottom: 43px;
  }
  .idx01 .news {
    --size-w-left: 260px;
    justify-content: space-between;
  }
  .idx01 .news .left {
    width: var(--size-w-left);
  }
  .idx01 .news ul {
    position: relative;
    top: -4px;
    width: calc(100% - var(--size-w-left) - 20px);
    max-width: 750px;
  }
  .idx01 .box02 li a:hover {
    color: var(--clr2);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1560px) {
  .idx01 .idx_decor .item01 {
    right: 10%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx01 .box {
    min-height: 300px;
  }
  .idx01 .news {
    --size-w-left: 240px;
  }
}
.idx02 {
  position: relative;
  z-index: 1;
  padding-top: 64px;
  background: url(../images/idx02_bg.jpg) no-repeat center/cover;
}
.idx02 .box_title {
  position: relative;
  z-index: 1;
  padding-top: 18px;
  padding-left: 11.9em;
  padding-right: 11.5em;
  margin: 0 auto 30px;
  width: 100%;
  max-width: 52.2em;
  min-height: 12.3em;
  font-size: 10px;
  background-image: url(../images/idx02_title_decor01.png), url(../images/idx02_title_decor02.png);
  background-size: 7.3em auto, 10.5em auto;
  background-position: top left 1.8em, top 1.3em right;
  background-repeat: no-repeat;
}
.idx02 .card_gr {
  --size-mg: 1.5em;
  font-size: min(0.8vw, 10px);
}
.idx02 .card_gr .card {
  --cl-mode: var(--main-color);
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  padding: 27px 1.5em 30px;
  max-width: 320px;
  min-height: 30em;
  border-radius: 20px;
  transition: var(--value-transition);
}
.idx02 .card_gr .card::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  right: 12px;
  bottom: 12px;
  width: 20px;
  height: 11px;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 192 101' %3E%3Cpath d='M140.722,100.616 L128.074,88.197 L157.526,59.269 L0.233,59.269 L0.233,41.703 L157.532,41.703 L128.074,12.768 L140.722,0.344 L191.767,50.483 L140.722,100.616 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(--cl-mode);
}
.idx02 .card_gr .card .card_ico {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  width: 12em;
  height: 12em;
  border-radius: 50%;
  background-color: white;
  transition: var(--value-transition);
}
.idx02 .card_gr .card .card_ico::before {
  content: "";
  display: block;
  width: 7.4em;
  height: 7.4em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 101' %3E%3Cpath d=''/%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(--cl-mode);
}
.idx02 .card_gr .card .card_ttl {
  margin-bottom: 13px;
  font-size: 2.2em;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: var(--cl-mode);
  text-align: center;
  transition: var(--value-transition);
}
.idx02 .card_gr .card .card_ttl::after {
  content: "";
  display: block;
  margin: 0.3182em auto 0;
  width: 4.0909em;
  height: 1px;
  background-color: var(--cl-mode);
  transition: var(--value-transition);
}
.idx02 .card_gr .card ul li {
  position: relative;
  z-index: 1;
  padding-left: 2em;
  margin-bottom: 6px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
}
.idx02 .card_gr .card ul li::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 2px;
  top: 0.4em;
  width: 0.9375em;
  height: 0.9375em;
  border-radius: 50%;
  background-color: white;
}
.idx02 .card_gr .card ul li::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 3px;
  top: 0.1875em;
  width: 1.1875em;
  height: 1em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 190 161' %3E%3Cpath d='M57.888,124.261 C62.241,118.730 66.316,113.270 70.680,108.041 C87.357,88.049 105.551,69.445 124.587,51.629 C143.536,33.883 163.277,17.083 184.857,2.448 C185.125,2.268 185.399,2.100 185.662,1.914 C186.879,1.032 188.184,0.254 189.432,1.705 C190.678,3.162 189.633,4.264 188.600,5.344 C161.182,33.779 134.220,62.620 109.006,92.976 C91.527,114.030 74.867,135.658 60.600,158.975 C59.116,161.401 57.420,161.401 55.951,158.923 C49.706,148.396 43.610,137.776 37.260,127.307 C31.618,118.011 25.178,109.277 16.682,102.209 C12.386,98.628 7.688,95.692 2.455,93.620 C1.208,93.127 -0.050,92.657 0.116,91.009 C0.284,89.344 1.665,89.164 2.950,88.891 C14.176,86.477 23.877,89.581 32.490,96.702 C39.154,102.209 44.563,108.842 50.143,115.330 C52.698,118.301 55.277,121.249 57.888,124.261 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(--cl-mode);
}
.idx02 .card_gr .card ul li:last-child {
  margin-bottom: 0;
}
.idx02 .card_gr .c-pink {
  --cl-mode: var(--clr2);
  background-color: #fdf4f7;
}
.idx02 .card_gr .c-pink::after {
  background-color: #fbc8d9;
}
.idx02 .card_gr .c-pink ul li::after {
  background-color: #fbc8d9;
}
.idx02 .card_gr .c-blue {
  background-color: #eff8fd;
}
.idx02 .card_gr .c-brown {
  --cl-mode: var(--clr3);
  background-color: #fdf9ec;
}
@media only screen and (min-width: 769px) {
  .idx02 .card_gr .c-pink:hover {
    background-color: #fce8ee;
  }
  .idx02 .card_gr .c-blue:hover {
    background-color: #dcedf7;
  }
  .idx02 .card_gr .c-brown:hover {
    --cl-mode: var(--clr3);
    background-color: #fcf5e0;
  }
}
.idx02 .card_gr .c1 .card_ico::before {
  --mask:url("../images/idx02_card_ico1.png");
}
.idx02 .card_gr .c2 .card_ico::before {
  --mask:url("../images/idx02_card_ico2.png");
}
.idx02 .card_gr .c3 .card_ico::before {
  --mask:url("../images/idx02_card_ico3.png");
}
.idx02 .card_gr .c4 .card_ico::before {
  --mask:url("../images/idx02_card_ico4.png");
}
.idx02 .card_gr .c5 .card_ico::before {
  --mask:url("../images/idx02_card_ico5.png");
}
.idx02 .card_gr .c6 .card_ico::before {
  --mask:url("../images/idx02_card_ico6.png");
}
.idx02 .card_gr .c7 .card_ico::before {
  --mask:url("../images/idx02_card_ico7.png");
}
.idx02 .card_gr .c8 .card_ico::before {
  --mask:url("../images/idx02_card_ico8.png");
}
.idx02 .card_gr .c9 .card_ico::before {
  --mask:url("../images/idx02_card_ico9.png");
}
.idx02 .card_gr .c10 .card_ico::before {
  --mask:url("../images/idx02_card_ico10.png");
}

@media only screen and (min-width: 769px) {
  .idx02::before {
    content: "";
    display: block;
    position: absolute;
    transition: all 0.3s;
    z-index: -1;
    left: 51.2%;
    transform: translateX(-50%);
    top: -85px;
    margin: 0 auto;
    width: 168.2em;
    height: 168.2em;
    font-size: 10px;
    border-radius: 50%;
    background-color: white;
  }
  .idx02 .inner_sm {
    max-width: 1060px;
  }
  .idx02 .h3_en {
    top: 2px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx02::before {
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    border-radius: 150px;
    transform: none;
    font-size: 7px;
  }
  .idx02 .card_gr {
    --size-mg: 5px;
  }
}
@media only screen and (max-width: 1024px) {
  .idx02 .card_gr .card .card_ttl {
    font-size: 2.6em;
  }
  .idx02 .card_gr .card ul li {
    font-size: 14px;
  }
  .idx02 .card_gr .card::after {
    width: 15px;
    height: 8px;
  }
}
.box_st01 {
  --cl-mode: var(--main-color);
  --cl-mode-bg: #dbf2ff;
  --fs-custom: min(.55vw, 10px);
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  margin-bottom: 60px;
  min-height: 640px;
  width: calc(100% - 40px);
  max-width: 1820px;
  background: url(../images/box_st01_bg_noise.png) no-repeat center/cover;
  background-color: var(--cl-mode-bg);
}
.box_st01::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  opacity: 0.3;
}
.box_st01::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  font-size: 10px;
}
.box_st01:last-child {
  margin-bottom: 0;
}
.box_st01 .has-color {
  color: var(--cl-mode);
}
.box_st01 h3 {
  margin-bottom: 29px;
  line-height: 1.6666667;
}
.box_st01 h3::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: var(--cl-mode);
}
.box_st01 h3 .big {
  font-size: 1.3333333em;
  letter-spacing: 0.1em;
  line-height: 1;
}
.box_st01 .btn-group {
  margin-top: 53px;
}
.box_st01 .box_decor_txt {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--fs-custom);
}
.box_st01 .box_decor_txt::before, .box_st01 .box_decor_txt::after {
  opacity: 0.8;
}
.box_st01 .box_decor_txt > p {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 20px;
  background: no-repeat center/cover;
}
.box_st01 .idx_box {
  display: flex;
  flex-wrap: wrap;
}
.box_st01 .idx_box .ct_area p {
  font-size: 1.125em;
}
.box_st01 .idx_box .box_pic img {
  border-radius: 60px;
  box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.1);
}
.box_st01.cl01 {
  --cl-mode: var(--main-color);
}
.box_st01.cl02 {
  --cl-mode: var(--clr2);
  --cl-mode-bg: #faebef;
}
.box_st01.cl03 {
  --cl-mode: var(--clr3);
  --cl-mode-bg: #fffde2;
}
.box_st01.box01 .box_pic {
  border-radius: 0;
}
.box_st01.box01 .box_pic img {
  box-shadow: none;
}
@media only screen and (min-width: 769px) {
  .box_st01.box01 .box_pic picture {
    filter: drop-shadow(0px 20px 20px rgba(0, 0, 0, 0.1));
  }
}
.box_st01.box02 {
  z-index: 2;
}
.box_st01.box02 .box_ct::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  right: 5.8%;
  bottom: 0;
  width: 50%;
  max-width: 622px;
  height: 100%;
  background: url(../images/box_st01_box02_bg.png) no-repeat right bottom/100% auto;
}
.box_st01.box03 .img_gr {
  position: absolute;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 60%;
  max-width: 273px;
}
.box_st01.box03 .img_gr picture {
  position: relative;
  z-index: 1;
}
.box_st01.box03 .img_gr picture::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: 2;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 2px solid white;
}
.box_st01.box03 .img_gr picture img {
  border-radius: 0;
  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.16);
}
.box_st01.box03 .img_gr .pic01 {
  margin-top: 26px;
  width: 43%;
  max-width: 114px;
}
.box_st01.box03 .img_gr .pic02 {
  width: calc(57% - 10px);
  max-width: 145px;
}
.box_st01.box03 .box_pic {
  position: relative;
}

@media only screen and (min-width: 769px) {
  .box_st01 {
    --size-padding-right: 11.5%;
    --size-radius: 320px;
    --size-space-between-idx-box: 45px;
    --size-w-box-pic-idx-box: min(620px, 33vw);
  }
  .box_st01::before {
    content: "";
    display: block;
    position: absolute;
    transition: all 0.3s;
    z-index: -1;
    top: 0;
    width: 100%;
    height: 100%;
    background: url(../images/idx03_decor_bg.png) no-repeat left top/auto 100%;
  }
  .box_st01 h3 {
    padding-left: 29px;
    font-size: calc(var(--fs-custom) * 3.6);
    text-align: left;
  }
  .box_st01 h3::before {
    left: 0;
    top: 0.76em;
  }
  .box_st01 .box_decor_txt {
    position: absolute;
    height: 100%;
    width: 16em;
  }
  .box_st01 .box_decor_txt::before, .box_st01 .box_decor_txt::after {
    content: "";
    display: block;
    position: absolute;
    transition: all 0.3s;
    z-index: 1;
    width: 4px;
    height: 100%;
    background: url(../images/idx03_dotted_ico.png) repeat-y top/100% auto;
  }
  .box_st01 .box_decor_txt::before {
    left: 1.5em;
  }
  .box_st01 .box_decor_txt::after {
    right: 1.5em;
  }
  .box_st01 .box_decor_txt > p {
    padding: 2px 5px 5px 13px;
    width: 100%;
    height: 8.0645em;
    font-size: 6.2em;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.05em;
    writing-mode: vertical-lr;
    color: white;
  }
  .box_st01 .idx_box {
    align-items: flex-start;
    justify-content: flex-end;
  }
  .box_st01 .idx_box h3 {
    left: -30px;
  }
  .box_st01 .idx_box .box_pic {
    width: var(--size-w-box-pic-idx-box);
    max-width: 620px;
  }
  .box_st01 .idx_box .box_ct {
    padding-top: 4.7%;
    padding-left: 30px;
    width: calc(100% - var(--size-w-box-pic-idx-box) - var(--size-space-between-idx-box));
    max-width: 615px;
  }
  .box_st01.pic_r {
    justify-content: flex-end;
    padding-right: var(--size-padding-right);
    padding-left: calc(var(--fs-custom) * 25);
    border-radius: 0 var(--size-radius) var(--size-radius) 0;
  }
  .box_st01.pic_r::before {
    left: 30px;
  }
  .box_st01.pic_r::after {
    top: -41em;
    right: -9.7em;
  }
  .box_st01.pic_r .box_decor_txt {
    left: 30px;
  }
  .box_st01.pic_r .idx_box .box_ct {
    padding-top: 4.9%;
    margin-right: var(--size-space-between-idx-box);
  }
  .box_st01.pic_l {
    padding-left: var(--size-padding-right);
    padding-right: calc(var(--fs-custom) * 32);
    margin-left: auto;
    margin-right: 0;
    border-radius: var(--size-radius) 0 0 var(--size-radius);
  }
  .box_st01.pic_l::before {
    right: 7.7%;
    transform: scaleX(-1);
  }
  .box_st01.pic_l::after {
    top: -10em;
    left: -8.9em;
  }
  .box_st01.pic_l .box_decor_txt {
    right: 30px;
  }
  .box_st01.pic_l .idx_box {
    flex-direction: row-reverse;
  }
  .box_st01.pic_l .idx_box .box_ct {
    margin-left: var(--size-space-between-idx-box);
  }
  .box_st01.cl01::after {
    width: 49.2em;
    height: 73em;
    background-image: url(../images/idx03_decor_cl01.png);
  }
  .box_st01.cl01 .box_decor_txt > p {
    background-image: url(../images/box_decor_txt_bg01.jpg);
  }
  .box_st01.cl02::after {
    width: 49.2em;
    height: 73em;
    background-image: url(../images/idx03_decor_cl02.png);
  }
  .box_st01.cl02 .box_decor_txt > p {
    background-image: url(../images/box_decor_txt_bg02.jpg);
  }
  .box_st01.cl03::after {
    width: 32.4em;
    height: 43.8em;
    background-image: url(../images/idx03_decor_cl03.png);
  }
  .box_st01.cl03 .box_decor_txt > p {
    background-image: url(../images/box_decor_txt_bg03.jpg);
  }
  .box_st01.box01 .idx_box .box_pic {
    display: flex;
    justify-content: center;
  }
  .box_st01.box01 .idx_box .box_pic picture {
    width: 100%;
  }
  .box_st01.box01 picture {
    position: relative;
    top: -57px;
    left: 23px;
  }
  .box_st01.box03 .img_gr {
    left: -48.4%;
    bottom: -11.5%;
  }
  .box_st01.box03 h3::before {
    top: 0.52em;
  }
}
@media only screen and (min-width: 1561px) {
  .box_st01.box01 .idx_box .box_ct {
    padding-top: 7.5%;
  }
  .box_st01.pic_l {
    --size-space-between-idx-box: 49px;
  }
  .box_st01.box02 {
    margin-bottom: 59px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1700px) {
  .box_st01.box03 .box_pic {
    padding-bottom: 10%;
  }
  .box_st01.box03 .img_gr {
    left: -30px;
    bottom: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1560px) {
  .box_st01 {
    min-height: 590px;
  }
  .box_st01.box02 {
    min-height: 650px;
  }
  .box_st01.box02 .box_ct::before {
    background-size: 80% auto;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .box_st01 {
    padding-top: 70px;
    padding-bottom: 70px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .box_st01 {
    --size-radius: 150px;
    --size-padding-right: 40px;
    justify-content: center;
    padding-left: 40px !important;
    padding-right: 40px !important;
    padding-top: calc(var(--fs-custom) * 16 + 80px);
    padding-bottom: 40px;
    width: calc(100% - 80px);
    max-width: 900px;
    margin-left: auto !important;
    margin-right: auto !important;
    border-radius: 40px !important;
  }
  .box_st01::before {
    background-image: url(../images/idx03_decor_bg_sp.png);
    background-size: 100% auto;
    background-position: center top 200px;
  }
  .box_st01::after {
    font-size: 6px;
  }
  .box_st01 h3 {
    display: table;
    padding-left: 0;
    padding-top: 20px !important;
    margin-left: auto;
    margin-right: auto;
    font-size: 26px;
    text-align: center;
  }
  .box_st01 h3::before {
    top: 0 !important;
    right: 0;
    margin-left: auto;
    margin-right: auto;
  }
  .box_st01 .idx_box {
    flex-direction: column-reverse;
    align-items: center;
  }
  .box_st01 .idx_box h3 {
    left: 0;
  }
  .box_st01 .idx_box .btn-group {
    margin-top: 40px;
  }
  .box_st01 .idx_box .btn-group .btn {
    margin-left: auto;
    margin-right: auto;
  }
  .box_st01 .idx_box .box_ct {
    padding-top: 0;
    padding-left: 0;
    width: 100%;
  }
  .box_st01 .idx_box .box_pic {
    margin-bottom: 20px;
    width: 100%;
    max-width: 450px;
  }
  .box_st01 .box_decor_txt {
    top: 40px;
    bottom: auto;
    left: 0;
    right: 0;
    width: 100%;
    height: 16em;
  }
  .box_st01 .box_decor_txt::before, .box_st01 .box_decor_txt::after {
    width: 100%;
    left: 0;
    height: 4px;
    background-image: url(../images/idx03_dotted_ico_hor.png);
    background-size: auto 4px;
    background-repeat: repeat-x;
    background-position: left top;
  }
  .box_st01 .box_decor_txt::before {
    top: 5px;
  }
  .box_st01 .box_decor_txt::after {
    bottom: 5px;
  }
  .box_st01 .box_decor_txt > p {
    width: 16em;
    height: 100%;
    writing-mode: unset;
  }
  .box_st01.pic_l .idx_box {
    flex-direction: column-reverse;
  }
  .box_st01.pic_l .idx_box .box_ct {
    margin-left: 0;
  }
  .box_st01.pic_l::after {
    top: -16em;
    left: -22.9em;
  }
  .box_st01.pic_r {
    justify-content: center;
  }
  .box_st01.pic_r::before {
    left: 0;
  }
  .box_st01.pic_r .idx_box .box_ct {
    margin-right: 0;
  }
  .box_st01.pic_r .box_decor_txt {
    left: 0;
  }
  .box_st01.pic_r .idx_box .box_ct {
    padding-left: 0;
    padding-top: 0;
  }
  .box_st01.box01 picture {
    top: 0;
    left: 0;
  }
  .box_st01.box02 .box_ct::before {
    right: 1%;
    background-position: right -40px bottom 0;
    background-size: 95% auto;
  }
}
.idx03 {
  position: relative;
  z-index: 2;
  padding: 132px 0 91px;
  background-color: white;
}

@media only screen and (min-width: 769px) {
  .idx03 .inner_max {
    max-width: 1920px;
    padding: 0;
  }
}
.idx04 {
  position: relative;
  z-index: 3;
  padding: 41px 0 95px;
}
.idx04::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  top: 0;
  width: 70%;
  max-width: 1270px;
  height: 100%;
  border-radius: 0 120px 120px 0;
  opacity: 0.5;
  backdrop-filter: blur(10px);
  background-color: #d7ad6f;
}
.idx04 .en-big {
  color: white;
  opacity: 0.2;
  margin-bottom: -0.545em;
}
.idx04 .reason_button_gr {
  max-width: 580px;
  font-size: 10px;
}
.idx04 .reason_button_gr .item {
  --cl-mode: var(--main-color);
  position: relative;
  display: flex;
  align-items: center;
  padding: 1em 3em 1em 4.4em;
  margin-bottom: 8px;
  max-width: 100%;
  min-height: 8.8em;
  border-radius: 100px;
  cursor: pointer;
  transition: var(--value-transition);
  background-color: white;
}
.idx04 .reason_button_gr .item p {
  margin-bottom: 0;
  color: var(--cl-mode);
  transition: var(--value-transition);
}
.idx04 .reason_button_gr .item .num {
  display: flex;
  align-items: center;
  padding-bottom: 0.1944em;
  padding-right: 0.4722em;
  min-height: 1.1111em;
  min-width: 1.6667em;
  border-right: 1px solid var(--cl-mode);
  font-size: 3.6em;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}
.idx04 .reason_button_gr .item .txt {
  margin-bottom: 0;
  padding-left: 1.0556em;
  font-size: 1.8em;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.idx04 .reason_button_gr .item_catch {
  display: flex;
}
.idx04 .reason_button_gr .item:last-child {
  margin-bottom: 0;
}
.idx04 .reason_button_gr .item.active {
  --cl-mode: white;
  background-color: var(--main-color);
}
.idx04 .reason_step {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 34px;
  width: fit-content;
  font-size: 10px;
}
.idx04 .reason_step > div {
  margin-left: 13.5px;
  margin-right: 13.5px;
}
.idx04 .reason_count {
  position: relative;
  z-index: 1;
  width: 7em;
  height: 5.6em;
  font-size: 1em;
}
.idx04 .reason_count::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  right: 0;
  top: 0;
  width: 1px;
  height: calc(100% + 2.8em);
  transform-origin: right top;
  transform: rotate(45deg);
  background-color: var(--clr1);
}
.idx04 .reason_count .count_item {
  position: absolute;
  top: -1em;
  width: 4em;
  height: 100%;
  right: 3.6em;
}
.idx04 .reason_count .count_item > p {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 6em;
  font-weight: 300;
  line-height: 0.8;
  color: var(--clr1);
  opacity: 0;
  transition: var(--value-transition);
}
.idx04 .reason_count .count_item > p:nth-child(2) {
  right: 2px;
}
.idx04 .reason_count .count_item > p.active {
  opacity: 1;
}
.idx04 .reason_count .count_total {
  position: absolute;
  left: 44px;
  bottom: 1px;
  font-size: 3em;
  letter-spacing: 0;
  line-height: 1;
  color: var(--clr1);
}
.idx04 .reason_btn_gr {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 12.9em;
  font-size: 1em;
}
.idx04 .reason_btn_gr .btn {
  position: relative;
  z-index: 1;
  width: 6.2em;
  height: 4.6em;
  border-radius: 6px;
  background-color: #e9c994;
  cursor: pointer;
  transition: var(--value-transition);
}
.idx04 .reason_btn_gr .btn::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  inset: 0;
  margin: auto;
  width: 29px;
  height: 11px;
  background: no-repeat center/cover;
}
.idx04 .reason_btn_gr .btn.btn-pre::before {
  background-image: url(../images/reason_btn_pre_ico.png);
}
.idx04 .reason_btn_gr .btn.btn-next::before {
  background-image: url(../images/reason_btn_next_ico.png);
}
@media only screen and (min-width: 769px) {
  .idx04 .reason_btn_gr .btn:hover {
    background-color: #a5834c;
  }
}
.idx04 .reason_pic {
  --size-radius: 60px;
  position: relative;
  z-index: 1;
  padding-top: 59.3%;
  max-height: 640px;
  border-radius: var(--size-radius) 0 0 var(--size-radius);
  overflow: hidden;
  background-color: white;
}
.idx04 .reason_pic .item {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  background: no-repeat center/cover;
  transition: var(--value-transition);
}
.idx04 .reason_pic .item.active {
  opacity: 1;
  z-index: 1;
}
.idx04 .reason_pic .item:nth-child(1) {
  background-image: url(../images/idx04_img01.jpg);
}
.idx04 .reason_pic .item:nth-child(2) {
  background-image: url(../images/idx04_img02.jpg);
}
.idx04 .reason_pic .item:nth-child(3) {
  background-image: url(../images/idx04_img03.jpg);
}
.idx04 .reason_pic .item:nth-child(4) {
  background-image: url(../images/idx04_img04.jpg);
}
.idx04 .reason_pic .item:nth-child(5) {
  background-image: url(../images/idx04_img05.jpg);
}
.idx04 .reason_ct {
  position: relative;
  z-index: 2;
  padding: 46px 40px 50px 40px;
  margin-top: -234px;
  margin-left: auto;
  margin-right: auto;
  width: calc(76% - 60px);
  max-width: 550px;
  border-radius: 60px;
  background-color: white;
  overflow: hidden;
}
.idx04 .reason_ct .reason_ct_catch {
  position: relative;
  z-index: 1;
  min-height: 204px;
  max-width: 408px;
  margin-left: auto;
  margin-right: auto;
}
.idx04 .reason_ct .item {
  position: absolute;
  top: 0;
  left: 0;
  transition: var(--value-transition);
  opacity: 0;
}
.idx04 .reason_ct .item .txt-point {
  margin-bottom: 8px;
  line-height: 1;
  color: var(--main-color);
  text-transform: uppercase;
}
.idx04 .reason_ct .item .ttl {
  margin-bottom: 13px;
  font-size: clamp(22px, 1.4vw, 26px);
  font-weight: 500;
  line-height: 1.5;
}
.idx04 .reason_ct .item .ct_area {
  padding-left: 3px;
  max-width: 400px;
}
.idx04 .reason_ct .item.active {
  opacity: 1;
}
.idx04 .idx_box {
  display: flex;
  flex-wrap: wrap;
}
.idx04 .idx_box .btn-group {
  margin-top: 47px;
}
.idx04 .idx_box .box_l {
  max-width: 580px;
}
@media only screen and (min-width: 769px) {
  .idx04 {
    background-image: url(../images/idx04_bg.jpg);
  }
  .idx04 .inner_max {
    max-width: 1920px;
    padding-right: 0;
  }
  .idx04 h3,
  .idx04 .h3_en {
    text-align: left;
  }
  .idx04 .h3_en {
    left: 4px;
    top: 2px;
  }
  .idx04 .box_title {
    padding-left: 34px;
    margin-bottom: 41px;
  }
  .idx04 .box_title::before {
    content: "";
    display: block;
    position: absolute;
    transition: all 0.3s;
    z-index: -1;
    left: 0;
    top: 12px;
    width: 15px;
    height: calc(100% - 12px);
    background: url(../images/idx04_line_ico.png) repeat-y left top/100% auto;
  }
  .idx04 .idx_box {
    --size-w-box-r: 68%;
    --size-grow-right: 68px;
    max-width: 1600px;
    margin-left: auto;
    margin-right: 0;
  }
  .idx04 .idx_box .btn-group .btn {
    margin-left: auto;
    margin-right: auto;
  }
  .idx04 .idx_box .box_l {
    position: relative;
    z-index: 2;
    padding-top: 17px;
    margin-right: calc(var(--size-grow-right) * -1);
    width: calc(100% - var(--size-w-box-r) + var(--size-grow-right));
  }
  .idx04 .idx_box .box_r {
    position: relative;
    z-index: 1;
    width: var(--size-w-box-r);
    max-width: 1080px;
    margin-left: auto;
  }
  .idx04 .reason_button_gr .item:not(.active):hover {
    --cl-mode: white;
    background-color: var(--cl-hv-main);
  }
  .idx04 .reason_button_gr .item .link {
    display: none;
  }
  .idx04 .reason_step {
    left: 9.9%;
  }
}
@media only screen and (min-width: 1921px) {
  .idx04::before {
    width: calc((100vw - 1920px) / 2 + 1280px);
    max-width: 100%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx04 .reason_button_gr {
    font-size: 8px;
  }
  .idx04 .reason_step {
    font-size: 8px;
  }
  .idx04 .reason_ct {
    padding-left: 20px;
    padding-right: 20px;
    margin-top: -21%;
    width: calc(81% - 60px);
  }
  .idx04 .idx_box {
    --size-w-box-r: 63%;
    --size-grow-right: 40px;
  }
}
.idx05 {
  padding: 90px 0 80px;
}
.idx05 h3 {
  display: table;
  padding-left: 34px;
}
.idx05 h3::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  top: 2px;
  width: 15px;
  height: calc(100% - 2px);
  background: url(../images/idx05_h3_ico.png) no-repeat center/100% auto;
}
.idx05 h4 {
  margin-bottom: 14px;
  color: var(--main-color);
}
.idx05 .box_title {
  margin-bottom: 30px;
}
.idx05 .box_name {
  position: absolute;
  z-index: 3;
  top: -85px;
  right: 29.6%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 1.1em 3.6em 1em 1em;
  width: 7.8em;
  height: 24em;
  border-radius: 0 0 8px 8px;
  font-size: min(0.65vw, 10px);
  background-color: #98d7fb;
}
.idx05 .box_name p {
  color: white;
  text-align: center;
}
.idx05 .box_name p > span {
  display: table;
}
.idx05 .box_name .jp {
  display: flex;
  align-items: center;
  writing-mode: vertical-rl;
}
.idx05 .box_name .jp .pos {
  margin-bottom: 10px;
  font-size: 1.8em;
  letter-spacing: 0.1em;
  line-height: 1;
}
@-moz-document url-prefix() {
  .idx05 .box_name .jp .pos {
    /* Fire Fox */
    position: relative;
    right: 0.3em;
  }
}
.idx05 .box_name .jp .name {
  font-size: 3em;
  letter-spacing: 0.1em;
  font-weight: 400;
}
.idx05 .img_gr {
  --size-grow-pic: 15%;
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  font-size: clamp(5px, 0.7vw, 10px);
}
.idx05 .img_gr::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: 3;
  left: 0;
  bottom: -7.2em;
  width: 27.6em;
  height: 20.1em;
  background: url(../images/idx05_decor01.png) no-repeat center/cover;
}
.idx05 .img_gr .pic01 {
  position: relative;
  z-index: 1;
  margin-bottom: 9.5%;
  width: 54%;
  max-width: 400px;
}
.idx05 .img_gr .pic02 {
  position: relative;
  z-index: 2;
  margin-left: calc(var(--size-grow-pic) * -1);
  width: calc(46% + var(--size-grow-pic));
  max-width: 450px;
}
.idx05 .img_gr picture img {
  border-radius: 20px;
}
.idx05 .idx_box {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  padding: 85px 80px 80px 80px;
  border-radius: 120px;
  background: url(../images/idx05_idx_box_bg.jpg) no-repeat center/cover;
}
.idx05 .idx_box::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  border: 10px solid rgba(152, 215, 251, 0.25);
}
.idx05 .idx_box::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -2;
  left: 0;
  top: 10px;
  width: 100%;
  height: calc(100% - 10px);
  background: url(../images/idx05_idx_box_decor01.png) no-repeat right 41.6% top/auto calc(100% + 311px);
  opacity: 0.5;
}
.idx05 .idx_box .btn-group {
  margin-top: 31px;
}
.idx05 .idx_box .btn-group .btn {
  min-width: 100px;
}
.idx05 .idx_box .btn-group .item01 {
  width: calc(44% - 2 * var(--size-mg));
  max-width: 260px;
}
.idx05 .idx_box .btn-group .item02 {
  width: calc(56% - 2 * var(--size-mg));
  max-width: 310px;
}
.idx05 .idx_box .ct_area p {
  font-size: 18px;
}
@media only screen and (max-width: 1024px) {
  .idx05 .idx_box .ct_area p {
    font-size: 16px;
  }
}
.idx05 .idx_box .box_pic {
  position: relative;
  z-index: 2;
}

@media only screen and (min-width: 769px) {
  .idx05 .box_title {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
  }
  .idx05 .box_title .h3_en {
    left: 18px;
    bottom: 5px;
  }
  .idx05 .inner_max {
    max-width: 1780px;
  }
  .idx05 .idx_box {
    --size-w-box-pic: 47%;
    --size-space-between: 6.9%;
    justify-content: flex-end;
  }
  .idx05 .idx_box .btn-group {
    --size-mg: .9em;
    justify-content: flex-start;
  }
  .idx05 .idx_box .box_ct {
    margin-right: var(--size-space-between);
    width: calc(100% - var(--size-w-box-pic) - var(--size-space-between));
    max-width: 578px;
  }
  .idx05 .idx_box .box_pic {
    width: var(--size-w-box-pic);
    max-width: 743px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .idx05 .idx_box {
    --size-space-between: 5%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .idx05 .idx_box {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx05 .box_name {
    top: 0px;
    font-size: 7px;
  }
  .idx05 h3 {
    padding-left: 0;
  }
  .idx05 h3::before {
    display: none;
  }
  .idx05 .box_title {
    flex-direction: column;
    align-items: center;
    padding-bottom: 15px;
    background: url(../images/idx05_h3_ico_sp.png) no-repeat center bottom/50px auto;
  }
  .idx05 .box_title .h3_en {
    left: 0;
    bottom: 0;
  }
  .idx05 .idx_box {
    flex-direction: column;
    align-items: center;
    padding: 60px 40px;
  }
  .idx05 .idx_box .box_title {
    order: 1;
  }
  .idx05 .idx_box h4 {
    order: 3;
  }
  .idx05 .idx_box .ct_area {
    order: 4;
  }
  .idx05 .idx_box .box_pic {
    order: 2;
  }
  .idx05 .idx_box .btn-group {
    order: 5;
    justify-content: center;
    width: 100%;
    max-width: 540px;
  }
  .idx05 .idx_box .box_ct {
    display: contents;
  }
  .idx05 .idx_box .box_pic {
    margin-bottom: 40px;
    width: 100%;
    max-width: 500px;
  }
}
.idx06 {
  padding: 53px 0 119px;
  color: white;
}
.idx06 h3 {
  padding-top: 0.9762em;
  background: url(../images/idx06_h3_ico.png) no-repeat center top/1.1429em auto;
}
.idx06 .idx_box {
  display: flex;
  flex-wrap: wrap;
}
.idx06 .idx_box .btn-group {
  margin-top: 43px;
}
.idx06 .idx_box .ft_logo {
  margin-bottom: 19px;
}
.idx06 .idx_box .infor_address {
  margin-bottom: 22px;
}
.idx06 .idx_box .infor_tel {
  margin-bottom: 42px;
}
.idx06 .idx_box .box_r picture {
  margin-bottom: 22px;
}
.idx06 .idx_box .box_r picture img {
  border-radius: 20px;
}

@media only screen and (min-width: 769px) {
  .idx06 {
    background-image: url(../images/idx06_bg.jpg);
  }
  .idx06 .h3_en {
    top: 2px;
  }
  .idx06 .box_title {
    margin-bottom: 63px;
  }
  .idx06 .idx_box {
    justify-content: space-between;
  }
  .idx06 .idx_box .btn-group .btn {
    margin-left: auto;
    margin-right: auto;
  }
  .idx06 .idx_box .box_l,
  .idx06 .idx_box .box_r {
    width: calc(50% - 15px);
    max-width: 600px;
  }
}
.index08 {
  padding: 100px 0;
}
.index08 .box {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  width: 238px;
  height: 229px;
  transition: all 0.3s;
  color: #fff;
  text-align: center;
}
.index08 .box::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: url(../images/doctor.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: var(--main-color);
  z-index: -1;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 238 229' %3E%3Cpath d='M7.790,92.655 C0.489,114.686 -2.999,140.450 8.422,161.34 C13.375,169.960 20.650,177.390 28.386,184.63 C76.535,225.594 153.75,247.999 207.372,207.209 C237.463,184.605 240.996,137.660 235.151,102.626 C230.113,72.430 214.626,43.769 190.924,24.336 C157.942,-2.704 121.593,-6.1 84.325,11.146 C49.608,27.120 21.242,56.863 7.790,92.655 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: bottom center;
  -webkit-mask-position: bottom center;
}
.index08 .box:hover::before {
  opacity: 1;
}

.index09 {
  padding: 100px 0;
  background-color: #333;
}
.index09 h3 {
  text-align: center;
  color: blue;
  text-shadow: 0 0 0 transparent, -1px -1px 0 #fff, 0px -1px 0 #fff, 1px -1px 0 #fff, -1px 0px 0 #fff, 0px 0px 0 #fff, 1px 0px 0 #fff, -1px 1px 0 #fff, 0px 1px 0 #fff, 1px 1px 0 #fff, -2px -2px 0 #fff, -1px -2px 0 #fff, 0px -2px 0 #fff, 1px -2px 0 #fff, 2px -2px 0 #fff, -2px -1px 0 #fff, -1px -1px 0 #fff, 0px -1px 0 #fff, 1px -1px 0 #fff, 2px -1px 0 #fff, -2px 0px 0 #fff, -1px 0px 0 #fff, 0px 0px 0 #fff, 1px 0px 0 #fff, 2px 0px 0 #fff, -2px 1px 0 #fff, -1px 1px 0 #fff, 0px 1px 0 #fff, 1px 1px 0 #fff, 2px 1px 0 #fff, -2px 2px 0 #fff, -1px 2px 0 #fff, 0px 2px 0 #fff, 1px 2px 0 #fff, 2px 2px 0 #fff;
}
.index09 .idx_row {
  display: flex;
  flex-wrap: wrap;
}
.index09 .idx_row .box {
  width: 100%;
  margin-bottom: 20px;
  background-color: var(--main-color);
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 769px) {
  .index09 .idx_row > .box {
    width: calc((100% - 30px) / 2);
    margin-right: 30px;
    margin-bottom: 30px;
  }
  .index09 .idx_row > .box:nth-child(2n+2), .index09 .idx_row > .box:last-child {
    margin-right: 0px;
  }
}
.index09 .idx_row.st1 > .box {
  width: calc((100% - 20px) / 3);
  margin-right: 10px;
  margin-bottom: 10px;
}
.index09 .idx_row.st1 > .box:nth-child(3n+3), .index09 .idx_row.st1 > .box:last-child {
  margin-right: 0px;
}
@media only screen and (min-width: 769px) {
  .index09 .idx_row.st2 > .box {
    width: calc((100% - 60px) / 4);
    margin-right: 20px;
    margin-bottom: 20px;
  }
  .index09 .idx_row.st2 > .box:nth-child(4n+4), .index09 .idx_row.st2 > .box:last-child {
    margin-right: 0px;
  }
}
@media only screen and (min-width: 1280px) {
  .index09 .idx_row.st3 > .box {
    width: calc((100% - 80px) / 5);
    margin-right: 20px;
    margin-bottom: 20px;
  }
  .index09 .idx_row.st3 > .box:nth-child(5n+5), .index09 .idx_row.st3 > .box:last-child {
    margin-right: 0px;
  }
}

.idx_map {
  height: 299px;
}
.idx_map iframe {
  height: 100%;
}

@media only screen and (min-width: 769px) {
  [data-scroll] {
    opacity: 0;
    transition: opacity 0.5s linear, transform 0.5s linear;
  }
  [data-scroll=fade-up] {
    transform: translateY(40px);
  }
  [data-scroll=fade-down] {
    transform: translateY(-40px);
  }
  [data-scroll=fade-left] {
    transform: translateX(-40px);
  }
  [data-scroll=fade-right] {
    transform: translateX(40px);
  }
  .is-show {
    opacity: 1;
    transform: translate(0, 0);
  }
}
.home_page .key .key_text {
  left: 30px;
  right: auto;
}

.home_page .key h2,
.home_page .key .catch p {
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.5), 0 0 10px rgba(255, 255, 255, 0.5), 0 0 15px rgba(255, 255, 255, 0.5), 0 0 20px rgba(255, 255, 255, 0.25);
}

.home_page .key .key_bg .right {
  display: none;
}

.home_page .key .key_bg .left {
  left: auto;
  right: 0;
  width: 85%;
  height: 100%;
  max-width: 1600px;
}

.home_page .key .key_bg .left .item {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 6em;
}

.home_page .key .key_news_button {
  justify-content: flex-end;
}

.box_st01.box03 .box_pic {
  padding-bottom: 0 !important;
}

.box_st01.box03 .box_pic .img_gr {
  display: none;
}

.idx05 .img_gr .pic01 {
  display: none !important;
}

.idx05 .box_name {
  display: none;
}

.idx05 .img_gr::before {
  display: none;
}

.idx05 .img_gr .pic02 {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
}

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