.home_page .key {
  --height: 46vw;
  --min-height: 550px;
  --max-height: 900px;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 769px) {
  .home_page .key {
    font-size: clamp(5.5px, 0.65vw, 10px);
  }
}
@media only screen and (min-width: 768px) and (max-width: 769px) {
  .home_page .key {
    background-position: right 45% center;
  }
}
.home_page .key::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 5px;
  top: 100%;
  left: 0px;
  right: 0px;
  background-color: var(--clr2);
}
.home_page .key .inner {
  position: relative;
  padding: 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 769px) {
  .home_page .key .inner {
    height: calc(100% - var(--wrapper) - 2em);
    margin-top: calc(var(--wrapper) + 2em);
  }
}
.home_page .key .mv_slider:not(.slick-slider) {
  display: flex;
  overflow: hidden;
}
.home_page .key .mv_slider:not(.slick-slider) .slider:first-child {
  width: 100%;
}
.home_page .key .mv_slider:not(.slick-slider) .slider:not(:first-child) {
  display: none;
}
.home_page .key .s1 {
  background-image: url("../images/idx_key_bg.jpg");
}
.home_page .key .slick-initialized .s2 {
  background-image: url("../images/idx_key_bg02.jpg");
}
.home_page .key .slick-initialized .s3 {
  background-image: url("../images/idx_key_bg03.jpg");
}
.home_page .key .key_text {
  position: relative;
  overflow: hidden;
}
.home_page .key .key_text .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 .catch {
  margin: auto;
  display: flex;
  justify-content: center;
  flex-direction: row-reverse;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .home_page .key .catch {
    max-width: 702px;
    width: 60%;
    padding-left: 1.9em;
    padding-top: 1.5em;
  }
}
.home_page .key .catch::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: -6.7em;
  left: 0;
  right: 0;
  background: url("../images/idx_key_sign.png") no-repeat center/100% auto;
  mix-blend-mode: multiply;
  opacity: 0.8;
}
.home_page .key h2,
.home_page .key p {
  color: var(--clr-green-dark);
  font-weight: 500;
  letter-spacing: 0.3em;
  -webkit-writing-mode: vertical-rl;
  -moz-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  -webkit-text-orientation: upright;
  -moz-text-orientation: upright;
  -ms-text-orientation: upright;
  text-orientation: upright;
  white-space: nowrap;
  line-break: strict;
  word-break: break-word;
}
.home_page .key h2 {
  font-size: 4em;
  line-height: 1.5;
  padding-bottom: 0.575em;
  margin-left: 0.725em;
}
.home_page .key p {
  font-size: 2.4em;
  line-height: 2;
  padding-top: 2.2083em;
}
.home_page .key p > span.t-hr {
  display: inline;
  -webkit-writing-mode: horizontal-tb;
  -moz-writing-mode: horizontal-tb;
  writing-mode: horizontal-tb;
  letter-spacing: 0;
  line-height: 1;
}
.home_page .topic_path {
  display: none;
}
.home_page h3 {
  position: relative;
  margin-bottom: 1.1765em;
  font-family: var(--f-jp);
  font-size: calc(var(--ttl_size) + 4px);
  font-weight: 500;
  letter-spacing: 0.14em;
  line-height: 1.7647058824;
  color: var(--clr3);
}
.home_page h3 > span {
  display: block;
}
@media only screen and (min-width: 769px) {
  .home_page h3 .jp {
    margin-bottom: 0.1765em;
  }
}
@media only screen and (max-width: 768px) {
  .home_page h3 .jp {
    text-align: center;
  }
}
.home_page h3 .en {
  font-family: var(--f-en);
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--clr1);
  display: table;
}
@media only screen and (min-width: 769px) {
  .home_page h3 .en {
    font-size: calc(var(--f-size) + 2px);
  }
}
@media only screen and (max-width: 768px) {
  .home_page h3 .en {
    font-size: var(--f-size);
    margin-left: auto;
    margin-right: auto;
  }
}
.home_page h3.white {
  color: #fff;
}
.home_page h3.white .en {
  color: #fff;
}
.home_page h3.style01 {
  text-align: center;
}
@media only screen and (min-width: 769px) {
  .home_page h3.style01 {
    margin-bottom: 1.4706em;
  }
}
.home_page h3.style01 .en {
  margin-left: auto;
  margin-right: auto;
}
.home_page h3.style01::before {
  font-size: 10px;
  content: "";
  width: round(1.8em, 1px);
  height: round(1.7em, 1px);
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 17' %3E%3Cpath d='M11.286,17.009 C10.944,17.009 10.597,17.005 10.248,16.998 L10.191,15.981 C10.263,15.798 10.568,15.141 11.311,15.038 C12.366,14.892 13.486,14.635 13.533,14.625 C13.565,14.617 13.595,14.605 13.623,14.587 C13.706,14.537 14.441,14.080 14.730,13.694 C14.761,13.653 14.823,13.638 14.894,13.638 C15.012,13.638 15.158,13.679 15.244,13.718 L15.257,13.725 L17.589,14.662 C17.654,15.271 17.721,15.919 17.790,16.621 C17.790,16.621 14.798,17.009 11.286,17.009 ZM14.899,13.042 C14.660,13.042 14.418,13.115 14.251,13.336 C14.076,13.570 13.576,13.911 13.350,14.053 C13.123,14.105 12.136,14.321 11.229,14.447 C10.741,14.514 10.387,14.741 10.136,14.994 L9.549,4.414 C9.540,4.258 9.410,4.131 9.256,4.131 C9.251,4.131 9.246,4.131 9.241,4.132 C9.079,4.136 8.950,4.269 8.950,4.430 C8.950,9.445 8.501,12.685 8.228,14.192 C8.210,14.173 8.191,14.154 8.172,14.134 C7.584,13.574 6.558,13.501 6.058,13.501 C5.929,13.501 5.835,13.505 5.793,13.508 C5.732,13.452 5.603,13.317 5.379,13.006 C5.156,12.694 4.879,12.509 4.556,12.459 C4.494,12.450 4.434,12.445 4.375,12.445 C3.981,12.445 3.672,12.642 3.596,12.696 L2.228,13.509 L0.552,13.509 C-0.105,12.278 0.010,11.168 0.010,11.168 C0.010,11.168 0.176,7.109 4.614,7.109 C5.190,7.109 5.837,7.177 6.566,7.332 C6.566,7.332 4.770,4.586 6.819,1.665 C7.734,0.361 8.972,0.001 10.062,0.001 C11.471,0.001 12.807,0.614 13.771,1.637 C14.632,2.552 15.711,4.056 16.189,6.184 C16.857,9.153 17.195,11.180 17.514,13.988 L15.487,13.172 C15.337,13.105 15.120,13.042 14.899,13.042 ZM2.463,14.064 L3.913,13.203 C3.920,13.198 3.929,13.193 3.936,13.187 C3.938,13.186 4.141,13.043 4.378,13.043 C4.407,13.043 4.436,13.045 4.466,13.049 C4.625,13.076 4.765,13.175 4.892,13.353 C5.338,13.975 5.556,14.125 5.751,14.125 C5.769,14.125 5.786,14.124 5.804,14.122 C5.833,14.119 5.861,14.112 5.887,14.102 C5.937,14.098 5.995,14.097 6.059,14.097 C6.538,14.097 7.354,14.180 7.758,14.568 C7.940,14.741 8.024,14.962 8.014,15.243 C8.008,15.394 8.118,15.526 8.269,15.549 C8.283,15.551 8.298,15.552 8.312,15.552 C8.446,15.552 8.567,15.463 8.602,15.330 C8.627,15.235 9.023,13.712 9.295,10.644 L9.647,16.981 C7.977,16.916 6.276,16.745 4.789,16.388 C2.781,15.906 1.612,15.016 0.932,14.107 L2.310,14.107 C2.364,14.107 2.417,14.092 2.463,14.064 Z'/%3E%3C/svg%3E");
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: var(--main-color-2);
  display: block;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 769px) {
  .home_page h3.style01::before {
    margin-bottom: 12px;
  }
}
@media only screen and (max-width: 768px) {
  .home_page h3.style01::before {
    margin-bottom: 4px;
  }
}
.home_page h3.style02 .en {
  position: relative;
  padding-left: 1.55em;
}
.home_page h3.style02 .en::before {
  font-size: 0.5em;
  content: "";
  width: round(1.8em, 1px);
  height: round(1.7em, 1px);
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 17' %3E%3Cpath d='M11.286,17.009 C10.944,17.009 10.597,17.005 10.248,16.998 L10.191,15.981 C10.263,15.798 10.568,15.141 11.311,15.038 C12.366,14.892 13.486,14.635 13.533,14.625 C13.565,14.617 13.595,14.605 13.623,14.587 C13.706,14.537 14.441,14.080 14.730,13.694 C14.761,13.653 14.823,13.638 14.894,13.638 C15.012,13.638 15.158,13.679 15.244,13.718 L15.257,13.725 L17.589,14.662 C17.654,15.271 17.721,15.919 17.790,16.621 C17.790,16.621 14.798,17.009 11.286,17.009 ZM14.899,13.042 C14.660,13.042 14.418,13.115 14.251,13.336 C14.076,13.570 13.576,13.911 13.350,14.053 C13.123,14.105 12.136,14.321 11.229,14.447 C10.741,14.514 10.387,14.741 10.136,14.994 L9.549,4.414 C9.540,4.258 9.410,4.131 9.256,4.131 C9.251,4.131 9.246,4.131 9.241,4.132 C9.079,4.136 8.950,4.269 8.950,4.430 C8.950,9.445 8.501,12.685 8.228,14.192 C8.210,14.173 8.191,14.154 8.172,14.134 C7.584,13.574 6.558,13.501 6.058,13.501 C5.929,13.501 5.835,13.505 5.793,13.508 C5.732,13.452 5.603,13.317 5.379,13.006 C5.156,12.694 4.879,12.509 4.556,12.459 C4.494,12.450 4.434,12.445 4.375,12.445 C3.981,12.445 3.672,12.642 3.596,12.696 L2.228,13.509 L0.552,13.509 C-0.105,12.278 0.010,11.168 0.010,11.168 C0.010,11.168 0.176,7.109 4.614,7.109 C5.190,7.109 5.837,7.177 6.566,7.332 C6.566,7.332 4.770,4.586 6.819,1.665 C7.734,0.361 8.972,0.001 10.062,0.001 C11.471,0.001 12.807,0.614 13.771,1.637 C14.632,2.552 15.711,4.056 16.189,6.184 C16.857,9.153 17.195,11.180 17.514,13.988 L15.487,13.172 C15.337,13.105 15.120,13.042 14.899,13.042 ZM2.463,14.064 L3.913,13.203 C3.920,13.198 3.929,13.193 3.936,13.187 C3.938,13.186 4.141,13.043 4.378,13.043 C4.407,13.043 4.436,13.045 4.466,13.049 C4.625,13.076 4.765,13.175 4.892,13.353 C5.338,13.975 5.556,14.125 5.751,14.125 C5.769,14.125 5.786,14.124 5.804,14.122 C5.833,14.119 5.861,14.112 5.887,14.102 C5.937,14.098 5.995,14.097 6.059,14.097 C6.538,14.097 7.354,14.180 7.758,14.568 C7.940,14.741 8.024,14.962 8.014,15.243 C8.008,15.394 8.118,15.526 8.269,15.549 C8.283,15.551 8.298,15.552 8.312,15.552 C8.446,15.552 8.567,15.463 8.602,15.330 C8.627,15.235 9.023,13.712 9.295,10.644 L9.647,16.981 C7.977,16.916 6.276,16.745 4.789,16.388 C2.781,15.906 1.612,15.016 0.932,14.107 L2.310,14.107 C2.364,14.107 2.417,14.092 2.463,14.064 Z'/%3E%3C/svg%3E");
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: var(--main-color-2);
  position: absolute;
  left: 0.1em;
  top: 0.8em;
}
.home_page h3.sm {
  font-size: calc(var(--ttl_size) - 2px);
  letter-spacing: 0.2em;
}
.home_page h3.sm .en {
  padding-left: 26px;
  font-size: calc(var(--f-size) - 2px);
  margin-bottom: 2px;
}
.home_page h3.sm .en::before {
  font-size: 0.625em;
  content: "";
  width: round(1.8em, 1px);
  height: round(1.7em, 1px);
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 17' %3E%3Cpath d='M11.286,17.009 C10.944,17.009 10.597,17.005 10.248,16.998 L10.191,15.981 C10.263,15.798 10.568,15.141 11.311,15.038 C12.366,14.892 13.486,14.635 13.533,14.625 C13.565,14.617 13.595,14.605 13.623,14.587 C13.706,14.537 14.441,14.080 14.730,13.694 C14.761,13.653 14.823,13.638 14.894,13.638 C15.012,13.638 15.158,13.679 15.244,13.718 L15.257,13.725 L17.589,14.662 C17.654,15.271 17.721,15.919 17.790,16.621 C17.790,16.621 14.798,17.009 11.286,17.009 ZM14.899,13.042 C14.660,13.042 14.418,13.115 14.251,13.336 C14.076,13.570 13.576,13.911 13.350,14.053 C13.123,14.105 12.136,14.321 11.229,14.447 C10.741,14.514 10.387,14.741 10.136,14.994 L9.549,4.414 C9.540,4.258 9.410,4.131 9.256,4.131 C9.251,4.131 9.246,4.131 9.241,4.132 C9.079,4.136 8.950,4.269 8.950,4.430 C8.950,9.445 8.501,12.685 8.228,14.192 C8.210,14.173 8.191,14.154 8.172,14.134 C7.584,13.574 6.558,13.501 6.058,13.501 C5.929,13.501 5.835,13.505 5.793,13.508 C5.732,13.452 5.603,13.317 5.379,13.006 C5.156,12.694 4.879,12.509 4.556,12.459 C4.494,12.450 4.434,12.445 4.375,12.445 C3.981,12.445 3.672,12.642 3.596,12.696 L2.228,13.509 L0.552,13.509 C-0.105,12.278 0.010,11.168 0.010,11.168 C0.010,11.168 0.176,7.109 4.614,7.109 C5.190,7.109 5.837,7.177 6.566,7.332 C6.566,7.332 4.770,4.586 6.819,1.665 C7.734,0.361 8.972,0.001 10.062,0.001 C11.471,0.001 12.807,0.614 13.771,1.637 C14.632,2.552 15.711,4.056 16.189,6.184 C16.857,9.153 17.195,11.180 17.514,13.988 L15.487,13.172 C15.337,13.105 15.120,13.042 14.899,13.042 ZM2.463,14.064 L3.913,13.203 C3.920,13.198 3.929,13.193 3.936,13.187 C3.938,13.186 4.141,13.043 4.378,13.043 C4.407,13.043 4.436,13.045 4.466,13.049 C4.625,13.076 4.765,13.175 4.892,13.353 C5.338,13.975 5.556,14.125 5.751,14.125 C5.769,14.125 5.786,14.124 5.804,14.122 C5.833,14.119 5.861,14.112 5.887,14.102 C5.937,14.098 5.995,14.097 6.059,14.097 C6.538,14.097 7.354,14.180 7.758,14.568 C7.940,14.741 8.024,14.962 8.014,15.243 C8.008,15.394 8.118,15.526 8.269,15.549 C8.283,15.551 8.298,15.552 8.312,15.552 C8.446,15.552 8.567,15.463 8.602,15.330 C8.627,15.235 9.023,13.712 9.295,10.644 L9.647,16.981 C7.977,16.916 6.276,16.745 4.789,16.388 C2.781,15.906 1.612,15.016 0.932,14.107 L2.310,14.107 C2.364,14.107 2.417,14.092 2.463,14.064 Z'/%3E%3C/svg%3E");
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: var(--main-color-2);
  left: 0;
  top: 0.4em;
}
.home_page h3.white {
  color: #fff;
}
.home_page h3.white::before {
  font-size: 10px;
  content: "";
  width: round(1.8em, 1px);
  height: round(1.7em, 1px);
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 17' %3E%3Cpath d='M11.286,17.009 C10.944,17.009 10.597,17.005 10.248,16.998 L10.191,15.981 C10.263,15.798 10.568,15.141 11.311,15.038 C12.366,14.892 13.486,14.635 13.533,14.625 C13.565,14.617 13.595,14.605 13.623,14.587 C13.706,14.537 14.441,14.080 14.730,13.694 C14.761,13.653 14.823,13.638 14.894,13.638 C15.012,13.638 15.158,13.679 15.244,13.718 L15.257,13.725 L17.589,14.662 C17.654,15.271 17.721,15.919 17.790,16.621 C17.790,16.621 14.798,17.009 11.286,17.009 ZM14.899,13.042 C14.660,13.042 14.418,13.115 14.251,13.336 C14.076,13.570 13.576,13.911 13.350,14.053 C13.123,14.105 12.136,14.321 11.229,14.447 C10.741,14.514 10.387,14.741 10.136,14.994 L9.549,4.414 C9.540,4.258 9.410,4.131 9.256,4.131 C9.251,4.131 9.246,4.131 9.241,4.132 C9.079,4.136 8.950,4.269 8.950,4.430 C8.950,9.445 8.501,12.685 8.228,14.192 C8.210,14.173 8.191,14.154 8.172,14.134 C7.584,13.574 6.558,13.501 6.058,13.501 C5.929,13.501 5.835,13.505 5.793,13.508 C5.732,13.452 5.603,13.317 5.379,13.006 C5.156,12.694 4.879,12.509 4.556,12.459 C4.494,12.450 4.434,12.445 4.375,12.445 C3.981,12.445 3.672,12.642 3.596,12.696 L2.228,13.509 L0.552,13.509 C-0.105,12.278 0.010,11.168 0.010,11.168 C0.010,11.168 0.176,7.109 4.614,7.109 C5.190,7.109 5.837,7.177 6.566,7.332 C6.566,7.332 4.770,4.586 6.819,1.665 C7.734,0.361 8.972,0.001 10.062,0.001 C11.471,0.001 12.807,0.614 13.771,1.637 C14.632,2.552 15.711,4.056 16.189,6.184 C16.857,9.153 17.195,11.180 17.514,13.988 L15.487,13.172 C15.337,13.105 15.120,13.042 14.899,13.042 ZM2.463,14.064 L3.913,13.203 C3.920,13.198 3.929,13.193 3.936,13.187 C3.938,13.186 4.141,13.043 4.378,13.043 C4.407,13.043 4.436,13.045 4.466,13.049 C4.625,13.076 4.765,13.175 4.892,13.353 C5.338,13.975 5.556,14.125 5.751,14.125 C5.769,14.125 5.786,14.124 5.804,14.122 C5.833,14.119 5.861,14.112 5.887,14.102 C5.937,14.098 5.995,14.097 6.059,14.097 C6.538,14.097 7.354,14.180 7.758,14.568 C7.940,14.741 8.024,14.962 8.014,15.243 C8.008,15.394 8.118,15.526 8.269,15.549 C8.283,15.551 8.298,15.552 8.312,15.552 C8.446,15.552 8.567,15.463 8.602,15.330 C8.627,15.235 9.023,13.712 9.295,10.644 L9.647,16.981 C7.977,16.916 6.276,16.745 4.789,16.388 C2.781,15.906 1.612,15.016 0.932,14.107 L2.310,14.107 C2.364,14.107 2.417,14.092 2.463,14.064 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;
}
.home_page h3.white .en {
  color: #fff;
}

@media only screen and (min-width: 1921px) {
  .home_page .key {
    --max-height: 35vw;
  }
}
@media only screen and (max-width: 1560px) and (min-width: 769px) and (max-height: 720px) and (orientation: landscape) {
  .home_page .key {
    font-size: min(0.625em, 0.9vmin);
    --max-height: calc(100vh - var(--wrapper) -20px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1566px) {
  .home_page .key {
    font-size: min(0.82vw, 8.75px);
    --max-height: calc(100vh - 2em);
  }
}
section {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.idx01 {
  background-image: -moz-linear-gradient(-90deg, rgb(248, 248, 245) 0%, rgb(255, 255, 255) 100%);
  background-image: -webkit-linear-gradient(-90deg, rgb(248, 248, 245) 0%, rgb(255, 255, 255) 100%);
  background-image: -ms-linear-gradient(-90deg, rgb(248, 248, 245) 0%, rgb(255, 255, 255) 100%);
  position: relative;
}
@media only screen and (min-width: 769px) {
  .idx01 {
    padding: 85px 0px;
  }
  .idx01 h3 {
    margin-left: -1px;
  }
  .idx01::before, .idx01::after {
    font-size: min(0.53vw, 10px);
  }
  .idx01::before {
    right: 9.3em;
    top: 3.7em;
  }
  .idx01::after {
    left: 8.2em;
    bottom: 11.5em;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1440px) {
  .idx01::after {
    bottom: 3.7em;
  }
}
.idx01::before, .idx01::after {
  content: "";
  position: absolute;
  width: 11.4em;
  height: 9.6em;
  background: url("../images/idx01_ic01.png") no-repeat center/cover;
}
.idx01::after {
  rotate: 180deg;
  z-index: 2;
}
.idx01 .content .box {
  background-color: #fff;
  position: relative;
  z-index: 2;
}
@media only screen and (min-width: 769px) {
  .idx01 .content .box {
    border-radius: 20px;
    padding: min(4.2vw, 70px) min(4.2vw, 78px) min(4.2vw, 79px) min(4.2vw, 80px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .idx01 .content .box {
    width: 90%;
    margin: 0 auto;
  }
}
@media only screen and (min-width: 769px) {
  .idx01 .content .news {
    display: flex;
    justify-content: space-between;
  }
  .idx01 .content .news .head {
    width: 27.5%;
  }
  .idx01 .content .news .head h3 {
    margin-bottom: 71px;
  }
  .idx01 .content .news .content {
    align-self: center;
    width: 67.5%;
  }
}
.idx01 .content li {
  border-bottom: 1px solid #c8c8c8;
  width: auto;
}
.idx01 .content li a {
  text-decoration: none;
  transition: all 0.3s;
  letter-spacing: 0.1em;
  color: var(--clr1);
  position: relative;
}
@media only screen and (min-width: 769px) {
  .idx01 .content li a {
    padding: 1em 0 0.8889em;
    --w: 8.5556em;
    display: flex;
  }
  .idx01 .content li a:hover {
    background-color: var(--clr-green-light);
    opacity: 1;
  }
  .idx01 .content li a:hover .date {
    padding-left: 1em;
  }
}
.idx01 .content li a::before {
  content: "";
  position: absolute;
  width: 0.4444em;
  height: 0.6111em;
  right: 1em;
  background: url("../images/idx01_ic_arr.png") no-repeat center/cover;
}
@media only screen and (min-width: 769px) {
  .idx01 .content li a::before {
    top: 1.5556em;
  }
}
.idx01 .content li a .date {
  transition: all 0.3s;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: var(--main-color);
}
@media only screen and (min-width: 769px) {
  .idx01 .content li a .date {
    width: var(--w);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx01 .content li a .txt {
    padding-right: 3.5em;
  }
}
@media only screen and (min-width: 769px) {
  .idx01 .content li a .txt {
    max-width: calc(100% - var(--w));
    padding-right: 5.5556em;
  }
}
.idx01 .content li a .txt .title {
  max-width: 100%;
  display: inline-block;
  width: 90%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-bottom: -3px;
}
.idx01 .content li a .txt .desc {
  font-size: calc(var(--f-size) - 2px);
  letter-spacing: 0.1em;
  line-height: 2.1428571429;
  width: 100%;
  max-width: 100%;
  text-overflow: ellipsis;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
@media only screen and (min-width: 769px) {
  .idx01 .content li:first-child a {
    margin-top: -0.8333em;
    padding-top: 1.0556em;
    padding-bottom: 0.8333em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx01 .btn-group {
    font-size: 0.875em;
  }
  .idx01 .btn-group .btn {
    min-width: 150px;
    max-width: 150px;
  }
}

.idx02 {
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 769px) {
  .idx02 {
    padding: 158px 0 80px;
    margin-top: -163px;
  }
}
.idx02::before {
  content: "";
  position: absolute;
  height: auto;
  top: 0px;
  bottom: 0px;
  background: url("../images/idx02_bg.jpg") no-repeat center/cover;
  z-index: -1;
}
@media only screen and (min-width: 769px) {
  .idx02::before {
    width: 96%;
    max-width: 1820px;
    left: -5px;
    border-radius: 0 20px 20px 0;
  }
}
@media only screen and (min-width: 1921px) {
  .idx02::before {
    left: unset;
    right: calc(50vw - 865px);
    max-width: 100%;
  }
}
.idx02 .desc {
  position: relative;
  margin-bottom: 4.6em;
}
@media only screen and (min-width: 769px) {
  .idx02 .desc {
    padding-right: 2.6em;
    padding-left: 4.4em;
  }
  .idx02 .desc::before {
    content: "";
    position: absolute;
    width: 1px;
    height: calc(100% - 2.2em);
    top: 1.2em;
    left: 0.2em;
    background-color: #9c9c9c;
  }
}
@media only screen and (min-width: 769px) {
  .idx02 .idx_box {
    display: flex;
    justify-content: space-between;
    font-size: min(0.65vw, 10px);
  }
  .idx02 .idx_box_left {
    margin-left: -1px;
  }
  .idx02 .idx_box_right {
    margin-left: 6%;
    padding-top: 52px;
    margin-right: 4%;
  }
}
.idx02 .idx_box_right {
  position: relative;
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx02 .idx_box_right {
    margin-left: 4%;
  }
}
.idx02 .idx_box_right::after {
  content: "about";
  display: block;
  font-family: var(--f-en);
  font-size: 12em;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(var(--clr1-rgb), 0.05);
  opacity: 0.7;
}
@media only screen and (min-width: 769px) {
  .idx02 .idx_box_right::after {
    margin-left: -3px;
  }
}
.idx02 .idx_diagram {
  width: 72.1em;
  height: 71.5em;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.idx02 .idx_diagram .ite {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  border-radius: 50%;
}
.idx02 .idx_diagram .ite .ttl {
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
}
.idx02 .idx_diagram .ite .ttl > span {
  display: block;
}
.idx02 .idx_diagram .ite .ttl .en {
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 400;
}
.idx02 .idx_diagram .ite_big {
  width: 36em;
  height: 36em;
  position: relative;
  top: 3.5%;
}
.idx02 .idx_diagram .ite_big::before {
  content: "";
  position: absolute;
  width: calc(100% + 19em);
  height: calc(100% + 19em);
  border-radius: 50%;
  border: 1px solid #cfcfcf;
}
.idx02 .idx_diagram .ite_big::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  background: url("../images/idx02_ite_bg.png") no-repeat center/cover;
  z-index: -1;
}
.idx02 .idx_diagram .ite_big .ttl {
  color: #fff;
  font-size: 3em;
  line-height: 1.5333333333;
}
.idx02 .idx_diagram .ite_big .ttl .jp {
  margin-bottom: 0.2em;
}
.idx02 .idx_diagram .ite_big .ttl .en {
  font-size: 0.4em;
}
.idx02 .idx_diagram .ite_sm {
  --clr-ite: var(--main-color);
  position: absolute;
  width: 22.4em;
  height: 22.4em;
  background-color: #fff;
  box-shadow: 0px 4px 30px 0px rgba(64, 84, 67, 0.05);
}
.idx02 .idx_diagram .ite_sm::before {
  content: "";
  position: absolute;
  width: calc(100% - 1em);
  height: calc(100% - 1em);
  border-radius: 50%;
  border: 1px solid #cfcfcf;
  background-color: #fff;
}
.idx02 .idx_diagram .ite_sm .content {
  padding-bottom: 0.8em;
}
.idx02 .idx_diagram .ite_sm .ttl {
  position: relative;
  font-size: 2em;
  padding-top: 4.2em;
}
.idx02 .idx_diagram .ite_sm .ttl::before {
  content: "";
  position: absolute;
  width: 3.95em;
  height: 3.7em;
  top: 0px;
  left: 0px;
  right: 0px;
  margin: 0 auto;
  --mask: url("../images/idx02_ic01.png");
  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(--clr-ite);
}
.idx02 .idx_diagram .ite_sm .ttl .jp {
  margin-bottom: 0.2em;
}
.idx02 .idx_diagram .ite_sm .ttl .en {
  font-size: 0.6em;
  color: var(--clr-ite);
}
.idx02 .idx_diagram .ite_sm .ic-arr {
  position: absolute;
  width: 0.7em;
  height: 4.5em;
}
.idx02 .idx_diagram .ite_sm .ic-arr::before, .idx02 .idx_diagram .ite_sm .ic-arr::after {
  content: "";
  position: absolute;
}
.idx02 .idx_diagram .ite_sm .ic-arr::before {
  width: 100%;
  height: 100%;
  inset: 0;
  background: url("../images/idx02_ic_arr.png") no-repeat center/cover;
}
.idx02 .idx_diagram .ite_sm .ic-arr::after {
  width: 1px;
  height: 2em;
  top: 0px;
  left: 0px;
  right: 0px;
  margin: 0 auto;
  background-color: var(--clr-ite);
}
.idx02 .idx_diagram .ite_sm_01 {
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.idx02 .idx_diagram .ite_sm_01 .ttl::before {
  --mask: url("../images/idx02_ic01.png");
}
.idx02 .idx_diagram .ite_sm_01 .ic-arr {
  bottom: -2.5em;
}
.idx02 .idx_diagram .ite_sm_02 {
  --clr-ite: var(--main-color-2);
  right: 0;
}
.idx02 .idx_diagram .ite_sm_02 .ttl::before {
  --mask: url("../images/idx02_ic02.png");
}
.idx02 .idx_diagram .ite_sm_02 .ic-arr {
  left: 0;
  rotate: 72deg;
}
.idx02 .idx_diagram .ite_sm_03 {
  --clr-ite: var(--clr-yellow);
  right: 1.4%;
}
.idx02 .idx_diagram .ite_sm_03 .ttl::before {
  --mask: url("../images/idx02_ic03.png");
}
.idx02 .idx_diagram .ite_sm_03 .ic-arr {
  left: 1.2em;
  rotate: 124deg;
}
.idx02 .idx_diagram .ite_sm_04 {
  --clr-ite: var(--clr-pink);
  left: 1.4%;
}
.idx02 .idx_diagram .ite_sm_04 .ttl::before {
  --mask: url("../images/idx02_ic04.png");
}
.idx02 .idx_diagram .ite_sm_04 .ic-arr {
  right: 1.2em;
  rotate: -124deg;
}
.idx02 .idx_diagram .ite_sm_05 {
  --clr-ite: #4fa9f3;
  left: 0;
}
.idx02 .idx_diagram .ite_sm_05 .ttl::before {
  --mask: url("../images/idx02_ic05.png");
}
.idx02 .idx_diagram .ite_sm_05 .ic-arr {
  right: 0;
  rotate: -72deg;
}
.idx02 .idx_diagram .ite_sm_02, .idx02 .idx_diagram .ite_sm_05 {
  top: 27.4%;
}
.idx02 .idx_diagram .ite_sm_02 .ic-arr, .idx02 .idx_diagram .ite_sm_05 .ic-arr {
  bottom: 5.3em;
}
.idx02 .idx_diagram .ite_sm_03, .idx02 .idx_diagram .ite_sm_04 {
  bottom: 12%;
}
.idx02 .idx_diagram .ite_sm_03 .ic-arr, .idx02 .idx_diagram .ite_sm_04 .ic-arr {
  top: 2.6em;
}
@media only screen and (min-width: 769px) {
  .idx02 .idx_diagram .ite_sm:hover {
    background-color: var(--clr-ite);
  }
}
.idx02 .idx_diagram .ite .btn_link {
  font-size: max(1em, 6px);
  width: 2em;
  height: 2em;
  position: relative;
}
.idx02 .idx_diagram .ite .btn_link::before, .idx02 .idx_diagram .ite .btn_link::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  font-size: 1em;
}
.idx02 .idx_diagram .ite .btn_link::after {
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-position: center;
}
@media only screen and (min-width: 769px) {
  .idx02 .idx_diagram .ite .btn_link::before, .idx02 .idx_diagram .ite .btn_link::after {
    right: unset;
    height: round(2em, 1px);
    top: unset;
    left: unset;
    bottom: unset;
  }
  .idx02 .idx_diagram .ite .btn_link::before {
    width: round(2em, 1px);
    border-radius: 50%;
    background-color: var(--clr-ite);
  }
  .idx02 .idx_diagram .ite .btn_link::after {
    width: round(2em, 1px);
    --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 5 6' %3E%3Cpath d='M4.455,2.161 C5.034,2.558 5.034,3.413 4.455,3.810 L1.566,5.793 C0.902,6.249 -0.000,5.774 -0.000,4.969 L-0.000,1.003 C-0.000,0.198 0.902,-0.277 1.566,0.178 L4.455,2.161 Z'/%3E%3C/svg%3E");
    mask-size: 0.5em 0.6em;
    -webkit-mask-size: 0.5em 0.6em;
    background-color: #fff;
  }
}
@media only screen and (max-width: 768px) {
  .idx02 .idx_diagram .ite .btn_link::after {
    width: round(2em, 1px);
    height: round(2em, 1px);
    top: unset;
    left: unset;
    bottom: unset;
    right: unset;
    --mask: url("../images/ic_btn.png");
    mask-size: 100%;
    -webkit-mask-size: 100%;
    background-color: var(--clr-ite);
  }
}
.idx02 .idx_diagram .ite .link a {
  border-radius: 50%;
}

.idx03 {
  background-image: url("../images/idx03_bg.jpg");
}
@media only screen and (min-width: 769px) {
  .idx03 {
    padding: 256px 0 80px;
    margin-top: -174px;
  }
}
.idx03 .idx_box {
  position: relative;
}
@media only screen and (min-width: 769px) {
  .idx03 .idx_box {
    font-size: min(0.72vw, 10px);
  }
  .idx03 .idx_box::before {
    top: 0.1214em;
    left: -1.6143em;
    font-size: min(7.1vw, 140px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1560px) {
  .idx03 .idx_box::before {
    left: -1.2em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .idx03 .idx_box::before {
    left: -0.4em;
  }
}
.idx03 .idx_box::before {
  content: "tazaki CLINIC";
  position: absolute;
  font-family: var(--f-en);
  font-weight: 300;
  letter-spacing: 0.1em;
  line-height: 1;
  color: rgba(255, 255, 255, 0.2);
  text-transform: uppercase;
  -webkit-writing-mode: vertical-rl;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-text-orientation: mixed;
  -moz-text-orientation: mixed;
  -ms-text-orientation: mixed;
  text-orientation: mixed;
  height: min-content;
}
.idx03 .idx_box_top {
  margin-bottom: 40px;
}
@media only screen and (min-width: 769px) {
  .idx03 .idx_box_top {
    display: flex;
    justify-content: space-between;
  }
  .idx03 .idx_box_top_left {
    width: 52.5%;
    padding-top: 5.2em;
    margin-right: -0.2em;
  }
  .idx03 .idx_box_top_right {
    max-width: 620px;
    width: 48.5%;
  }
}
.idx03 .idx_box_top_left {
  text-align: center;
}
.idx03 .idx_logo {
  max-width: 34.4em;
  margin-left: auto;
  margin-right: auto;
  display: table;
}
@media only screen and (min-width: 769px) {
  .idx03 .idx_logo {
    margin-bottom: 3.5em;
  }
  .idx03 .idx_logo a:hover {
    opacity: 1;
  }
}
.idx03 .idx_address {
  line-height: 1.6363636364;
  letter-spacing: 0.113em;
  text-align: center;
  color: #fff;
}
@media only screen and (min-width: 769px) {
  .idx03 .idx_address {
    font-size: 2.2em;
    margin-bottom: 17px;
  }
}
.idx03 .idx_bnr {
  display: table;
  margin: 0 auto;
}
@media only screen and (min-width: 769px) {
  .idx03 .gl_tel {
    font-size: 1em;
    padding-left: 1.1em;
  }
}
.idx03 .bnr_box {
  font-size: 1em;
}
.idx03 .bnr_box .ite {
  --clr-bnr: var(--clr-pink);
  position: relative;
  width: 62em;
  height: 25em;
  border-radius: 1em;
  z-index: 1;
  background-repeat: no-repeat;
  background-position: center right;
  background-size: contain;
  overflow: hidden;
  padding: 2.3em 2.8em;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: column;
}
.idx03 .bnr_box .ite .ttl {
  font-size: 2.4em;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 0.5em;
}
.idx03 .bnr_box .ite .desc {
  font-size: 1.4em;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 2.5714285714;
  margin-bottom: 1.1429em;
}
.idx03 .bnr_box .ite .desc > span {
  background: #fff;
  padding: 0.4286em 0em 0.4286em 0.6429em;
}
.idx03 .bnr_box .ite .ite_link {
  font-size: 1em;
  color: #fff;
  text-decoration: none;
  padding-right: 1.6875em;
  padding-bottom: 0.125em;
  font-size: 1.6em;
  letter-spacing: 0.05em;
  position: relative;
}
.idx03 .bnr_box .ite .ite_link::before, .idx03 .bnr_box .ite .ite_link::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  font-size: 0.625em;
}
.idx03 .bnr_box .ite .ite_link::after {
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-position: center;
}
@media only screen and (min-width: 769px) {
  .idx03 .bnr_box .ite .ite_link::before, .idx03 .bnr_box .ite .ite_link::after {
    right: 0;
    height: round(2em, 1px);
    top: 0;
    left: unset;
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
  }
  .idx03 .bnr_box .ite .ite_link::before {
    width: round(2em, 1px);
    border-radius: 50%;
    background-color: #fff;
  }
  .idx03 .bnr_box .ite .ite_link::after {
    width: round(2em, 1px);
    --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 5 6' %3E%3Cpath d='M4.455,2.161 C5.034,2.558 5.034,3.413 4.455,3.810 L1.566,5.793 C0.902,6.249 -0.000,5.774 -0.000,4.969 L-0.000,1.003 C-0.000,0.198 0.902,-0.277 1.566,0.178 L4.455,2.161 Z'/%3E%3C/svg%3E");
    mask-size: 0.5em 0.6em;
    -webkit-mask-size: 0.5em 0.6em;
    background-color: var(--clr-bnr);
  }
}
@media only screen and (max-width: 768px) {
  .idx03 .bnr_box .ite .ite_link::after {
    width: round(2em, 1px);
    height: round(2em, 1px);
    top: 0;
    left: unset;
    bottom: 0;
    right: 0;
    margin-top: auto;
    margin-bottom: auto;
    --mask: url("../images/ic_btn.png");
    mask-size: 100%;
    -webkit-mask-size: 100%;
    background-color: #fff;
  }
}
.idx03 .bnr_box .ite::before {
  content: "";
  position: absolute;
  height: 100%;
  top: 0px;
  bottom: 0px;
  left: 0px;
  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(--clr-bnr);
  z-index: -1;
}
.idx03 .bnr_box .ite:not(:last-child) {
  margin-bottom: 2.4em;
}
@media only screen and (min-width: 769px) {
  .idx03 .bnr_box .ite:not(.ite02):hover {
    box-shadow: var(--clr-bnr) 0px 0px 0px 3px;
  }
  .idx03 .bnr_box .ite:not(.ite02):hover .ite_link a {
    opacity: 0.8;
  }
}
.idx03 .bnr_box .ite01 {
  background-image: url("../images/idx03_bnr01_img.jpg");
}
.idx03 .bnr_box .ite01::before {
  width: 58.5%;
  max-width: 361px;
  --mask: url("../images/idx03_bnr01_bg.png");
}
.idx03 .bnr_box .ite01 .desc {
  margin-left: 3px;
}
.idx03 .bnr_box .ite01 .desc > span:nth-of-type(2) {
  padding: 0.5em 0.1429em 0.3571em 0.6429em;
}
.idx03 .bnr_box .ite01 .ite_link {
  margin-left: 3px;
}
.idx03 .bnr_box .ite02 {
  --clr-bnr: var(--clr-yellow);
  background-image: url("../images/idx03_bnr02_img.jpg");
  padding: 2.1em 3em;
}
.idx03 .bnr_box .ite02::before {
  width: 56.5%;
  max-width: 348px;
  --mask: url("../images/idx03_bnr02_bg.png");
}
.idx03 .bnr_box .ite02 .ttl {
  margin-bottom: 0.5833em;
}
.idx03 .bnr_box .ite02 .desc {
  margin-left: 1px;
}
.idx03 .bnr_box .ite02 .desc > span:nth-of-type(1) {
  padding-right: 1em;
}
.idx03 .bnr_box .ite02 .desc > span:nth-of-type(2) {
  padding: 0.5em 0em 0.3571em 0.6429em;
}
.idx03 .bnr_box .ite02 .ite_link {
  margin-left: 1px;
}
.idx03 .time_sheet {
  border-radius: 1em;
  border: 1px solid #fff;
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 769px) {
  .idx03 .time_sheet {
    font-size: 1em;
    padding: 4.7em 6.9em 4.5em;
    margin-bottom: 40px;
  }
  .idx03 .time_sheet .note {
    margin-bottom: 40px;
  }
  .idx03 .time_sheet table {
    font-size: 1em;
  }
  .idx03 .time_sheet table td:not([rowspan]) {
    font-size: 1.8em;
  }
  .idx03 .time_sheet table td:not([rowspan]) span {
    font-size: 0.6667em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx03 .time_sheet {
    padding: 4.5em;
  }
}
.idx03 .time_sheet::before {
  content: "";
  position: absolute;
  width: calc(100% - 1.8em);
  height: calc(100% - 1.8em);
  inset: 0.9em;
  border-radius: 0.5em;
  background-color: #fff;
  z-index: -1;
}
@media only screen and (min-width: 769px) {
  .idx03 .btn-group.flex_gr {
    --size-mg: 12px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx03 .btn-group.flex_gr .btn {
    font-size: 8.75px;
  }
}
@media only screen and (min-width: 769px) {
  .idx03 .btn-group.flex_gr .btn {
    font-size: 10px;
  }
}

.idx04 {
  background-color: #fff;
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 769px) {
  .idx04 {
    padding: 100px 0 80px;
  }
}
.idx04::before {
  content: "";
  position: absolute;
  width: 60%;
  max-width: 1137px;
  aspect-ratio: 1137/1025;
  height: auto;
  top: 0px;
  left: 0px;
  background: url("../images/idx04_ic.png") no-repeat center/cover;
  z-index: -1;
}
.idx04 .idx_list {
  counter-reset: item;
}
@media only screen and (min-width: 769px) {
  .idx04 .idx_list {
    font-size: min(0.65vw, 10px);
  }
}
.idx04 .idx_list .ite {
  --pd-size: 8em;
  --clr-ite: var(--main-color);
  --clr-num: var(--clr3);
  counter-increment: item;
  z-index: 1;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .idx04 .idx_list .ite {
    display: flex;
    justify-content: space-between;
    padding: var(--pd-size) 0;
  }
}
.idx04 .idx_list .ite::before {
  content: "";
  position: absolute;
  background: url("../images/idx04_ite_bg.jpg") no-repeat center/cover;
  z-index: -1;
}
@media only screen and (min-width: 769px) {
  .idx04 .idx_list .ite::before {
    top: 0px;
    width: 78%;
    max-width: 1117px;
    height: calc(100% + 80px);
    max-height: 780px;
    border-radius: 1em 0 1em 0;
  }
}
.idx04 .idx_list .ite::after {
  font-size: 1em;
  content: "";
  position: absolute;
  width: 5.2em;
  height: 24.6em;
  background: url("../images/idx04_ite_ic01.png") no-repeat center/cover;
}
@media only screen and (min-width: 769px) {
  .idx04 .idx_list .ite_img {
    flex-shrink: 0;
    max-width: 760px;
    width: 50%;
  }
}
.idx04 .idx_list .ite_img picture {
  position: relative;
  z-index: 1;
  border-radius: 1em;
}
.idx04 .idx_list .ite_img picture img {
  box-shadow: -3.657px 3.41px 36.8px 3.2px rgba(60, 60, 60, 0.06);
  border-radius: inherit;
}
.idx04 .idx_list .ite_content {
  position: relative;
}
@media only screen and (min-width: 769px) {
  .idx04 .idx_list .ite_content {
    padding-top: 12.8em;
  }
}
.idx04 .idx_list .ite_content::before {
  content: counter(item, decimal-leading-zero);
  position: absolute;
  top: 0;
  font-family: var(--f-zmg);
  font-weight: 400;
  color: var(--clr-num);
  letter-spacing: 0;
  line-height: 0.5571em;
}
@media only screen and (min-width: 769px) {
  .idx04 .idx_list .ite_content::before {
    font-size: 14em;
  }
}
.idx04 .idx_list .ite_content .txt {
  position: relative;
}
.idx04 .idx_list .ite_content .txt::before {
  content: "point " counter(item, decimal-leading-zero);
  position: absolute;
  text-transform: uppercase;
  font-family: var(--f-en);
  font-size: calc(var(--f-size) - 2px);
  font-weight: 400;
  letter-spacing: 0.1em;
  -webkit-writing-mode: vertical-rl;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-text-orientation: mixed;
  -moz-text-orientation: mixed;
  -ms-text-orientation: mixed;
  text-orientation: mixed;
}
.idx04 .idx_list .ite_content .txt::after {
  content: "";
  position: absolute;
  width: 1px;
  background-color: #9c9c9c;
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx04 .idx_list .ite_content .txt::after {
    height: 100%;
  }
}
@media only screen and (min-width: 769px) {
  .idx04 .idx_list .ite_content .txt::after {
    height: calc(100% + 8em);
  }
}
.idx04 .idx_list .ite_content .ttl {
  letter-spacing: 0.14em;
  font-weight: 500;
  color: var(--clr-green-dark);
  position: relative;
  padding-bottom: 0.5em;
  margin-bottom: 0.7813em;
}
.idx04 .idx_list .ite_content .ttl::before {
  content: "";
  position: absolute;
  width: 90px;
  height: 2px;
  bottom: 0px;
  left: 0px;
  background: var(--clr-ite);
}
@media only screen and (min-width: 769px) {
  .idx04 .idx_list .ite_content .ttl {
    font-size: calc(var(--ttl_size) + 2px);
  }
}
@media only screen and (min-width: 769px) {
  .idx04 .idx_list .ite_content .desc {
    margin-bottom: 48px;
  }
}
.idx04 .idx_list .ite_content .desc p {
  letter-spacing: 0.14em;
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx04 .idx_list .ite_content .btn-group .btn {
    font-size: 8.75px;
  }
}
@media only screen and (min-width: 769px) {
  .idx04 .idx_list .ite:nth-child(odd)::before {
    right: -24em;
  }
}
.idx04 .idx_list .ite:nth-child(odd)::after {
  top: -11.6em;
  right: -11.1em;
}
@media only screen and (min-width: 769px) and (max-width: 1566px) {
  .idx04 .idx_list .ite:nth-child(odd)::after {
    right: -3.6em;
  }
}
.idx04 .idx_list .ite:nth-child(odd) .ite_img img {
  box-shadow: calc(var(--pd-size) / 2) calc(var(--pd-size) / 2) 0 #fff;
}
.idx04 .idx_list .ite:nth-child(odd) .ite_content {
  padding-right: var(--pd-size);
}
@media only screen and (min-width: 769px) {
  .idx04 .idx_list .ite:nth-child(odd) .ite_content {
    width: 43%;
    max-width: 608px;
  }
  .idx04 .idx_list .ite:nth-child(odd) .ite_content::before {
    right: 0.05em;
  }
}
@media only screen and (min-width: 769px) {
  .idx04 .idx_list .ite:nth-child(odd) .ite_content .txt {
    padding-right: 8em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx04 .idx_list .ite:nth-child(odd) .ite_content .txt {
    padding-right: 3em;
  }
}
.idx04 .idx_list .ite:nth-child(odd) .ite_content .txt::before {
  right: -2em;
  top: 0.5625em;
}
.idx04 .idx_list .ite:nth-child(odd) .ite_content .txt::after {
  top: 1.1em;
  right: -0.1em;
}
.idx04 .idx_list .ite:nth-child(even) {
  --clr-ite: var(--main-color-2);
  --clr-num: #fa9a02;
  flex-direction: row-reverse;
}
.idx04 .idx_list .ite:nth-child(even)::before {
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}
@media only screen and (min-width: 769px) {
  .idx04 .idx_list .ite:nth-child(even)::before {
    left: -24em;
  }
}
.idx04 .idx_list .ite:nth-child(even)::after {
  background-image: url("../images/idx04_ite_ic02.png");
  left: -7.4em;
  top: -13.7em;
  rotate: 90deg;
}
@media only screen and (min-width: 769px) and (max-width: 1566px) {
  .idx04 .idx_list .ite:nth-child(even)::after {
    left: 7.4em;
  }
}
.idx04 .idx_list .ite:nth-child(even) .ite_img picture {
  box-shadow: calc(var(--pd-size) / 2 * -1) calc(var(--pd-size) / 2) 0 #fff;
}
.idx04 .idx_list .ite:nth-child(even) .ite_content {
  padding-left: var(--pd-size);
}
@media only screen and (min-width: 769px) {
  .idx04 .idx_list .ite:nth-child(even) .ite_content {
    width: 45%;
    max-width: 630px;
  }
  .idx04 .idx_list .ite:nth-child(even) .ite_content::before {
    left: 0.0929em;
  }
}
@media only screen and (min-width: 769px) {
  .idx04 .idx_list .ite:nth-child(even) .ite_content .txt {
    padding-left: 11.1em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx04 .idx_list .ite:nth-child(even) .ite_content .txt {
    padding-left: 5em;
  }
}
.idx04 .idx_list .ite:nth-child(even) .ite_content .txt::before {
  left: -2.1875em;
  top: 0.625em;
}
.idx04 .idx_list .ite:nth-child(even) .ite_content .txt::after {
  left: -0.1em;
  top: 0.9em;
}
.idx04 .idx_list .btn-group .btn {
  --clr-btn: var(--clr-ite);
}

.idx05 {
  background-image: url("../images/idx05_bg.jpg");
}
@media only screen and (min-width: 769px) {
  .idx05 {
    padding: 100px 0 120px;
  }
}
.idx05 .inner {
  max-width: 1760px;
}
.idx05 .idx_box {
  display: flex;
  justify-content: center;
}
@media only screen and (min-width: 769px) {
  .idx05 .idx_box {
    font-size: min(0.55vw, 10px);
    margin-bottom: 60px;
    gap: 2em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx05 .idx_box {
    flex-wrap: wrap;
  }
}
.idx05 .idx_box .ite {
  --clr-ite: var(--main-color);
  max-width: 328px;
  position: relative;
  background-color: var(--clr-ite);
  border-radius: 1em;
  border: 1px solid var(--clr-ite);
  overflow: hidden;
  z-index: 1;
}
@media only screen and (min-width: 769px) {
  .idx05 .idx_box .ite {
    width: 20%;
    padding: 3.9em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1780px) {
  .idx05 .idx_box .ite {
    width: 19%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx05 .idx_box .ite {
    width: 30%;
  }
}
.idx05 .idx_box .ite::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  opacity: 0.7;
  mix-blend-mode: soft-light;
  background: url("../images/idx05_img01.jpg") no-repeat center/cover;
  z-index: -1;
}
.idx05 .idx_box .ite::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  background: url("../images/idx05_ite_bg.png") no-repeat center/cover;
  z-index: -1;
}
.idx05 .idx_box .ite_ic {
  width: 12em;
  height: 12em;
  background: #fff;
  border-radius: 50%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.6em;
  position: relative;
}
.idx05 .idx_box .ite_ic::before {
  content: "";
  position: absolute;
  width: 6em;
  height: 5.6em;
  inset: 0;
  margin: auto;
  --mask: url("../images/idx05_ic01.png");
  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(--clr-ite);
}
.idx05 .idx_box .ite .ttl {
  font-weight: 500;
  text-align: center;
  margin-bottom: 0.7em;
  letter-spacing: 0.1em;
}
@media only screen and (min-width: 769px) {
  .idx05 .idx_box .ite .ttl {
    font-size: clamp(18px, 1.1vw, 20px);
  }
  .idx05 .idx_box .ite .ttl .en {
    font-size: 12px;
  }
}
.idx05 .idx_box .ite .ttl > span {
  display: block;
}
.idx05 .idx_box .ite .ttl .jp {
  margin-bottom: 4px;
}
.idx05 .idx_box .ite .ttl .en {
  font-weight: 300;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--clr-ite);
}
.idx05 .idx_box .ite .desc {
  font-size: calc(var(--f-size) - 2px);
  line-height: 1.7142857143;
  text-align: center;
}
.idx05 .idx_box .ite .btn_link {
  position: absolute !important;
  width: 2em;
  height: 2em;
  left: 0;
  right: 0;
  bottom: 1em;
  margin: 0 auto;
  position: relative;
}
.idx05 .idx_box .ite .btn_link::before, .idx05 .idx_box .ite .btn_link::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  font-size: 1em;
}
.idx05 .idx_box .ite .btn_link::after {
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-position: center;
}
@media only screen and (min-width: 769px) {
  .idx05 .idx_box .ite .btn_link::before, .idx05 .idx_box .ite .btn_link::after {
    right: unset;
    height: round(2em, 1px);
    top: unset;
    left: unset;
    bottom: unset;
  }
  .idx05 .idx_box .ite .btn_link::before {
    width: round(2em, 1px);
    border-radius: 50%;
    background-color: var(--clr-ite);
  }
  .idx05 .idx_box .ite .btn_link::after {
    width: round(2em, 1px);
    --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 5 6' %3E%3Cpath d='M4.455,2.161 C5.034,2.558 5.034,3.413 4.455,3.810 L1.566,5.793 C0.902,6.249 -0.000,5.774 -0.000,4.969 L-0.000,1.003 C-0.000,0.198 0.902,-0.277 1.566,0.178 L4.455,2.161 Z'/%3E%3C/svg%3E");
    mask-size: 0.5em 0.6em;
    -webkit-mask-size: 0.5em 0.6em;
    background-color: #fff;
  }
}
@media only screen and (max-width: 768px) {
  .idx05 .idx_box .ite .btn_link::after {
    width: round(2em, 1px);
    height: round(2em, 1px);
    top: unset;
    left: unset;
    bottom: unset;
    right: unset;
    --mask: url("../images/ic_btn.png");
    mask-size: 100%;
    -webkit-mask-size: 100%;
    background-color: var(--clr-ite);
  }
}
@media only screen and (min-width: 769px) {
  .idx05 .idx_box .ite .btn_link {
    font-size: round(min(1vw, 12px), 1px);
  }
}
@media only screen and (min-width: 769px) {
  .idx05 .idx_box .ite:hover::before {
    opacity: 0;
  }
}
.idx05 .idx_box .ite02 {
  --clr-ite: var(--main-color-2);
}
.idx05 .idx_box .ite02::before {
  opacity: 0.5;
  background-image: url("../images/idx05_img02.jpg");
  mix-blend-mode: normal;
}
.idx05 .idx_box .ite02 .ite_ic::before {
  --mask: url("../images/idx05_ic02.png");
}
.idx05 .idx_box .ite03 {
  --clr-ite: var(--clr-pink);
}
.idx05 .idx_box .ite03::before {
  background-image: url("../images/idx05_img03.jpg");
}
.idx05 .idx_box .ite03 .ite_ic::before {
  --mask: url("../images/idx05_ic03.png");
}
.idx05 .idx_box .ite04 {
  --clr-ite: #50a9b1;
}
.idx05 .idx_box .ite04::before {
  background-image: url("../images/idx05_img04.jpg");
}
.idx05 .idx_box .ite04 .ite_ic::before {
  --mask: url("../images/idx05_ic04.png");
}
.idx05 .idx_box .ite05 {
  --clr-ite: #4a65ef;
}
.idx05 .idx_box .ite05::before {
  background-image: url("../images/idx05_img05.png");
}
.idx05 .idx_box .ite05 .ite_ic::before {
  --mask: url("../images/idx05_ic05.png");
}
.idx05 .idx_bnr {
  font-size: min(1vw, 10px);
  max-width: 1000px;
  margin: 0 auto;
  border: 1px solid #fff;
  border-radius: 2em;
  position: relative;
  overflow: hidden;
  z-index: 1;
  padding: 4.7em 2.4em;
}
@media only screen and (min-width: 769px) {
  .idx05 .idx_bnr {
    background-image: -moz-linear-gradient(0deg, rgb(243, 153, 79) 0%, rgb(230, 138, 159) 72%);
    background-image: -webkit-linear-gradient(0deg, rgb(243, 153, 79) 0%, rgb(230, 138, 159) 72%);
    background-image: -ms-linear-gradient(0deg, rgb(243, 153, 79) 0%, rgb(230, 138, 159) 72%);
  }
}
.idx05 .idx_bnr::before {
  content: "";
  position: absolute;
  background: url("../images/idx05_img06.png") no-repeat top left/100% auto;
  z-index: -1;
}
@media only screen and (min-width: 769px) {
  .idx05 .idx_bnr::before {
    width: 50.1em;
    height: 34.2em;
    top: -0.3em;
    left: -0.6em;
  }
}
.idx05 .idx_bnr .content {
  position: relative;
  margin-left: auto;
}
@media only screen and (min-width: 769px) {
  .idx05 .idx_bnr .content {
    padding-right: 11.2em;
    max-width: 578px;
    width: 61%;
  }
}
.idx05 .idx_bnr .ttl {
  font-size: calc(var(--ttl_size) - 2px);
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #fff;
  position: relative;
  padding-bottom: 0.4286em;
  margin-bottom: 0.3214em;
}
.idx05 .idx_bnr .ttl::before {
  content: "";
  position: absolute;
  width: 3.8571em;
  height: 2px;
  bottom: 0px;
  left: 0px;
  background-color: #fff;
}
.idx05 .idx_bnr .desc {
  color: #fff;
  letter-spacing: 0.14em;
  margin-bottom: 0;
}
.idx05 .idx_bnr .bnr_link {
  position: absolute;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 769px) {
  .idx05 .idx_bnr .bnr_link {
    top: 0.8em;
  }
}
.idx05 .idx_bnr .bnr_link a {
  width: 5em;
  height: 5em;
}
@media only screen and (min-width: 769px) {
  .idx05 .idx_bnr .bnr_link a {
    position: relative;
  }
  .idx05 .idx_bnr .bnr_link a::before, .idx05 .idx_bnr .bnr_link a::after {
    content: "";
    display: block;
    position: absolute;
    transition: all 0.3s;
    font-size: 2.5em;
  }
  .idx05 .idx_bnr .bnr_link a::after {
    mask-image: var(--mask);
    -webkit-mask-image: var(--mask);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-position: center;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) {
  .idx05 .idx_bnr .bnr_link a::before, .idx05 .idx_bnr .bnr_link a::after {
    right: 0;
    height: round(2em, 1px);
    top: 0;
    left: unset;
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
  }
  .idx05 .idx_bnr .bnr_link a::before {
    width: round(2em, 1px);
    border-radius: 50%;
    background-color: #fff;
  }
  .idx05 .idx_bnr .bnr_link a::after {
    width: round(2em, 1px);
    --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 5 6' %3E%3Cpath d='M4.455,2.161 C5.034,2.558 5.034,3.413 4.455,3.810 L1.566,5.793 C0.902,6.249 -0.000,5.774 -0.000,4.969 L-0.000,1.003 C-0.000,0.198 0.902,-0.277 1.566,0.178 L4.455,2.161 Z'/%3E%3C/svg%3E");
    mask-size: 0.5em 0.6em;
    -webkit-mask-size: 0.5em 0.6em;
    background-color: var(--clr-pink);
  }
}
@media only screen and (min-width: 769px) and (max-width: 768px) {
  .idx05 .idx_bnr .bnr_link a::after {
    width: round(2em, 1px);
    height: round(2em, 1px);
    top: 0;
    left: unset;
    bottom: 0;
    right: 0;
    margin-top: auto;
    margin-bottom: auto;
    --mask: url("../images/ic_btn.png");
    mask-size: 100%;
    -webkit-mask-size: 100%;
    background-color: #fff;
  }
}
@media only screen and (min-width: 769px) {
  .idx05 .idx_bnr .bnr_link a::after {
    width: 2em;
    --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 12' %3E%3Cpath d='M7.914,5.162 C8.493,5.559 8.493,6.414 7.914,6.811 L1.566,11.168 C0.902,11.624 -0.000,11.149 -0.000,10.344 L-0.000,1.630 C-0.000,0.825 0.902,0.349 1.566,0.805 L7.914,5.162 Z'/%3E%3C/svg%3E");
    mask-size: 0.36em 0.48em;
    -webkit-mask-size: 0.36em 0.48em;
  }
}

.idx06 {
  position: relative;
  background-position: bottom center;
  z-index: 1;
}
@media only screen and (min-width: 769px) {
  .idx06 {
    background-image: url("../images/idx06_bg.png");
    padding: 100px 0 max(318px, 12.5vw);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .idx06 {
    padding: 100px 0 280px;
  }
}
.idx06 .idx_list {
  display: flex;
  justify-content: center;
  gap: 1.2em;
}
.idx06 .idx_list .ite {
  font-size: 1em;
  max-width: 281px;
  border: 1px solid var(--clr-green-light);
  background-color: var(--clr-green-light);
  border-radius: 1em;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .idx06 .idx_list .ite {
    width: calc(25% - 0.6em);
    padding: 5.1em 2em 5.4em;
  }
}
.idx06 .idx_list .ite .ttl {
  position: relative;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
}
@media only screen and (min-width: 769px) {
  .idx06 .idx_list .ite .ttl {
    font-size: clamp(16px, 1.2vw, 20px);
  }
}
.idx06 .idx_list .ite .ttl .jp {
  margin-bottom: 4px;
}
.idx06 .idx_list .ite .ttl .en {
  font-family: var(--f-en);
  font-size: 0.6em;
  font-weight: 300;
  letter-spacing: 0.05em;
  color: var(--main-color);
  text-transform: uppercase;
}
.idx06 .idx_list .ite .ttl > span {
  display: block;
}
.idx06 .idx_list .ite .ttl::before {
  content: "";
  width: 4.2em;
  height: 3.7em;
  display: block;
  margin: 0 auto 0.85em;
  background: url("../images/idx06_dummy.png") no-repeat center/cover;
}
.idx06 .idx_list .ite_link {
  position: absolute;
  right: 0.7em;
  bottom: 0.7em;
}
@media only screen and (min-width: 769px) {
  .idx06 .idx_list .ite_link {
    font-size: min(1vw, 10px);
  }
}
.idx06 .idx_list .ite_link a {
  width: 2em;
  height: 2em;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.idx06 .idx_list .ite_link a::before, .idx06 .idx_list .ite_link a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  font-size: 1em;
}
.idx06 .idx_list .ite_link a::after {
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-position: center;
}
@media only screen and (min-width: 769px) {
  .idx06 .idx_list .ite_link a::before, .idx06 .idx_list .ite_link a::after {
    right: 0;
    height: round(2em, 1px);
    top: 0;
    left: unset;
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
  }
  .idx06 .idx_list .ite_link a::before {
    width: round(2em, 1px);
    border-radius: 50%;
    background-color: var(--main-color);
  }
  .idx06 .idx_list .ite_link a::after {
    width: round(2em, 1px);
    --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 5 6' %3E%3Cpath d='M4.455,2.161 C5.034,2.558 5.034,3.413 4.455,3.810 L1.566,5.793 C0.902,6.249 -0.000,5.774 -0.000,4.969 L-0.000,1.003 C-0.000,0.198 0.902,-0.277 1.566,0.178 L4.455,2.161 Z'/%3E%3C/svg%3E");
    mask-size: 0.5em 0.6em;
    -webkit-mask-size: 0.5em 0.6em;
    background-color: #fff;
  }
}
@media only screen and (max-width: 768px) {
  .idx06 .idx_list .ite_link a::after {
    width: round(2em, 1px);
    height: round(2em, 1px);
    top: 0;
    left: unset;
    bottom: 0;
    right: 0;
    margin-top: auto;
    margin-bottom: auto;
    --mask: url("../images/ic_btn.png");
    mask-size: 100%;
    -webkit-mask-size: 100%;
    background-color: var(--main-color);
  }
}
@media only screen and (min-width: 769px) {
  .idx06 .idx_list .ite:hover {
    border-color: var(--main-color);
    background-color: #fff;
  }
  .idx06 .idx_list .ite:hover .ite_link a {
    opacity: 1;
  }
}
.idx06 .idx_list.list01 .ite01 .ttl::before {
  --mask: url("../images/idx06_ic01.png");
  -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: none;
  background-color: var(--main-color);
}
.idx06 .idx_list.list01 .ite02 .ttl::before {
  --mask: url("../images/idx06_ic02.png");
  -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: none;
  background-color: var(--main-color);
}
.idx06 .idx_list.list01 .ite03 .ttl::before {
  --mask: url("../images/idx06_ic03.png");
  -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: none;
  background-color: var(--main-color);
}
.idx06 .idx_list.list01 .ite04 .ttl::before {
  --mask: url("../images/idx06_ic04.png");
  -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: none;
  background-color: var(--main-color);
}

.idx07 {
  background-image: url("../images/idx07_bg.jpg");
  position: relative;
}
@media only screen and (min-width: 769px) {
  .idx07 {
    margin-top: -251px;
    padding: 100px 0 50px;
  }
}
.idx07::after {
  content: "";
  position: absolute;
  width: 9.6em;
  height: 11.4em;
  background: url("../images/idx07_ic.png") no-repeat center/cover;
  -webkit-transform: scaleX(-1) rotate(180deg);
  transform: scaleX(-1) rotate(180deg);
}
@media only screen and (min-width: 769px) {
  .idx07::after {
    font-size: min(0.6vw, 10px);
  }
}
@media only screen and (min-width: 769px) {
  .idx07::after {
    bottom: -5.7em;
    right: 18.2em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .idx07::after {
    right: 8em;
  }
}
@media only screen and (min-width: 769px) {
  .idx07 h3 .jp {
    margin-left: -5px;
  }
  .idx07 h3 .en {
    padding-left: 27px;
  }
  .idx07 h3::before {
    margin-left: -0.6667em;
    margin-bottom: -0.5333em;
    font-size: min(8.5vw, 120px);
  }
}
.idx07 h3::before {
  content: attr(data-en);
  font-family: var(--f-en);
  font-weight: 200;
  color: #9c9c9c;
  opacity: 0.2;
  text-transform: uppercase;
  line-height: 1;
  letter-spacing: 0.1em;
  display: block;
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .idx07 h3::before {
    margin-left: -1.5vw;
  }
}
.idx07 .desc p {
  letter-spacing: 0.14em;
}
@media only screen and (min-width: 769px) {
  .idx07 .desc {
    margin-bottom: 51px;
  }
}
.idx07 .btn-group .btn {
  --clr-txt: var(--main-color);
}
@media only screen and (min-width: 769px) {
  .idx07 .btn-group .btn:not(:last-child) {
    margin-bottom: 17px;
  }
}
.idx07 picture img {
  filter: drop-shadow(12.778px -9.629px 47px rgba(255, 255, 255, 0.2));
}
.idx07 .idx_box {
  display: flex;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .idx07 .idx_box {
    justify-content: space-between;
    align-items: flex-end;
  }
}
@media only screen and (min-width: 769px) {
  .idx07 .idx_box {
    padding-top: 64px;
    font-size: min(0.68vw, 10px);
  }
  .idx07 .idx_box::before {
    font-size: 1em;
  }
  .idx07 .idx_box_left {
    width: 50%;
    max-width: 640px;
  }
  .idx07 .idx_box_right {
    flex-shrink: 0;
    margin-top: -11.5em;
    width: 49%;
    max-width: 619px;
    margin-bottom: -50px;
  }
}
.idx07 .idx_box::before {
  content: "";
  position: absolute;
  width: 9.6em;
  height: 11.4em;
  background: url("../images/idx07_ic.png") no-repeat center/cover;
}
@media only screen and (min-width: 769px) {
  .idx07 .idx_box::before {
    top: -3.3em;
    left: -24.6em;
  }
}
.idx07 .idx_doctor_box {
  position: relative;
  z-index: 1;
}
.idx07 .idx_doctor_box .info {
  position: absolute;
  display: flex;
  z-index: 1;
}
@media only screen and (min-width: 769px) {
  .idx07 .idx_doctor_box .info {
    right: 0;
    top: 16.4em;
    flex-direction: row-reverse;
  }
  .idx07 .idx_doctor_box .info p {
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-text-orientation: upright;
    -moz-text-orientation: upright;
    -ms-text-orientation: upright;
    text-orientation: upright;
  }
}
.idx07 .idx_doctor_box .info .pos {
  background-color: var(--main-color-2);
  border-radius: 5px;
  color: #fff;
  font-size: 2.4em;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.2em;
  height: max-content;
  margin-bottom: 0;
}
@media only screen and (min-width: 769px) {
  .idx07 .idx_doctor_box .info .pos {
    padding: 1.3333em 0.5417em 1.25em;
    margin-left: 0.4167em;
  }
}
.idx07 .idx_doctor_box .info .name {
  font-size: 3.2em;
  border: 1px solid var(--main-color);
  border-radius: 5px;
  line-height: 1;
  background-color: #fff;
  color: var(--clr3);
}
@media only screen and (min-width: 769px) {
  .idx07 .idx_doctor_box .info .name {
    padding: 0.5625em 0.625em 0.5313em 0.6875em;
  }
}
.idx07 .idx_doctor_box .info .name > span {
  display: block;
}
.idx07 .idx_doctor_box .info .name .lg {
  font-weight: 500;
  letter-spacing: 0.2em;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .idx07 .idx_doctor_box .info .name .lg {
    padding-left: 0.2813em;
    margin-left: 0.25em;
  }
  .idx07 .idx_doctor_box .info .name .lg > span {
    margin-bottom: 0.4375em;
  }
  .idx07 .idx_doctor_box .info .name .lg::before {
    content: "";
    position: absolute;
    width: 1px;
    height: calc(100% - 0.2813em);
    top: 0.125em;
    bottom: 0px;
    left: 0px;
    background-color: #cdcdcd;
  }
}
.idx07 .idx_doctor_box .info .name .sm {
  font-size: 0.625em;
  font-weight: 400;
  letter-spacing: 0.2em;
}
@media only screen and (min-width: 769px) {
  .idx07 .idx_doctor_box .info .name .sm {
    padding-top: 0.1em;
  }
  .idx07 .idx_doctor_box .info .name .sm > span {
    margin-bottom: 0.7em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx07 .btn-group {
    font-size: 8.75px;
  }
}

.idx08 {
  background-image: url("../images/idx08_bg.jpg");
  background-position: top center;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .idx08 {
    padding: 69px 0 120px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx08 h3 {
    --ttl_size: 18px;
  }
}
@media only screen and (min-width: 769px) {
  .idx08 h3 .jp {
    margin-left: -4px;
  }
  .idx08 h3 .en {
    margin-left: -1px;
    padding-left: 27px;
  }
}
.idx08 .idx_box {
  display: flex;
}
@media only screen and (min-width: 769px) {
  .idx08 .idx_box {
    font-size: min(0.6vw, 10px);
    justify-content: space-between;
    margin-bottom: 73px;
  }
  .idx08 .idx_box_left {
    width: 56%;
    max-width: 714px;
  }
  .idx08 .idx_box_left picture {
    display: flex;
    justify-content: flex-end;
  }
  .idx08 .idx_box_left picture img {
    max-width: max(100%, 85em);
  }
  .idx08 .idx_box_right {
    width: 46%;
    max-width: 584px;
    padding-top: 3.8em;
    margin-left: -1.8em;
  }
}
.idx08 .idx_box_right .desc p {
  letter-spacing: 0.105em;
}
.idx08 .idx_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media only screen and (min-width: 769px) {
  .idx08 .idx_list {
    font-size: min(0.8vw, 10px);
  }
}
.idx08 .ite {
  border-radius: 1em;
  background: #fff;
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 769px) {
  .idx08 .ite {
    width: calc(33.3333333333% - 11px);
    padding: 4.3em 2em 4.8em;
  }
  .idx08 .ite:not(.ite_lg) {
    max-width: 412px;
  }
  .idx08 .ite:hover::before {
    background: var(--clr-green-light);
  }
  .idx08 .ite:hover .ite_link a {
    opacity: 0.8;
  }
}
.idx08 .ite::before {
  content: "";
  position: absolute;
  width: calc(100% - 2em);
  height: calc(100% - 2em);
  inset: 1em;
  background-image: -moz-linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(243, 248, 228) 100%);
  background-image: -webkit-linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(243, 248, 228) 100%);
  background-image: -ms-linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(243, 248, 228) 100%);
  z-index: -1;
  border-radius: 0.5em;
}
.idx08 .ite .ttl {
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  line-height: 1.5833333333;
}
@media only screen and (min-width: 769px) {
  .idx08 .ite .ttl {
    font-size: min(2.2vw, 24px);
  }
}
.idx08 .ite .ttl > span {
  display: block;
}
.idx08 .ite .ttl .jp {
  margin-bottom: 0.2917em;
}
.idx08 .ite .ttl .en {
  font-family: var(--f-en);
  font-size: 0.5833em;
  font-weight: 300;
  letter-spacing: 0.05em;
  color: var(--main-color);
  text-transform: uppercase;
}
.idx08 .ite_ic {
  width: 14em;
  height: 14em;
  border-radius: 50%;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin: 0 auto 2.1em;
}
.idx08 .ite_ic::before {
  content: "";
  position: absolute;
  width: 7.7em;
  height: 8.2em;
  inset: 0;
  margin: auto;
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: var(--main-color);
}
.idx08 .ite_link {
  position: absolute;
  right: 1.8em;
  bottom: 1.8em;
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx08 .ite_link {
    font-size: 8.75px;
  }
}
@media only screen and (min-width: 769px) {
  .idx08 .ite_link {
    font-size: 10px;
  }
}
.idx08 .ite_link a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2em;
  height: 2em;
  position: relative;
}
.idx08 .ite_link a::before, .idx08 .ite_link a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  font-size: 1em;
}
.idx08 .ite_link a::after {
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-position: center;
}
@media only screen and (min-width: 769px) {
  .idx08 .ite_link a::before, .idx08 .ite_link a::after {
    right: 0;
    height: round(2em, 1px);
    top: 0;
    left: unset;
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
  }
  .idx08 .ite_link a::before {
    width: round(2em, 1px);
    border-radius: 50%;
    background-color: var(--main-color);
  }
  .idx08 .ite_link a::after {
    width: round(2em, 1px);
    --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 5 6' %3E%3Cpath d='M4.455,2.161 C5.034,2.558 5.034,3.413 4.455,3.810 L1.566,5.793 C0.902,6.249 -0.000,5.774 -0.000,4.969 L-0.000,1.003 C-0.000,0.198 0.902,-0.277 1.566,0.178 L4.455,2.161 Z'/%3E%3C/svg%3E");
    mask-size: 0.5em 0.6em;
    -webkit-mask-size: 0.5em 0.6em;
    background-color: #fff;
  }
}
@media only screen and (max-width: 768px) {
  .idx08 .ite_link a::after {
    width: round(2em, 1px);
    height: round(2em, 1px);
    top: 0;
    left: unset;
    bottom: 0;
    right: 0;
    margin-top: auto;
    margin-bottom: auto;
    --mask: url("../images/ic_btn.png");
    mask-size: 100%;
    -webkit-mask-size: 100%;
    background-color: var(--main-color);
  }
}
@media only screen and (min-width: 769px) {
  .idx08 .ite_lg {
    width: calc(50% - 11px);
    margin-bottom: 2.3em;
    padding-right: 6.3em;
    padding-left: 5.1em;
    padding-bottom: 4.3em;
  }
  .idx08 .ite_lg .ite_ic {
    margin-right: 0;
    margin-bottom: -1.1em;
  }
  .idx08 .ite_lg .ttl {
    text-align: left;
  }
}
.idx08 .ite01 .ite_ic::before {
  --mask: url("../images/idx08_ic01.png");
}
.idx08 .ite02 .ite_ic::before {
  top: 0.2em;
  right: 0.1em;
  --mask: url("../images/idx08_ic02.png");
}
.idx08 .ite03 .ite_ic::before {
  --mask: url("../images/idx08_ic03.png");
}
.idx08 .ite04 .ite_ic::before {
  top: 0.3em;
  --mask: url("../images/idx08_ic04.png");
}
.idx08 .ite05 .ite_ic::before {
  right: 0.1em;
  --mask: url("../images/idx08_ic05.png");
}

.idx09 h3 {
  text-align: center;
}
@media only screen and (min-width: 769px) {
  .idx09 h3 {
    margin-bottom: 1.2353em;
  }
}
.idx09 h3 .en {
  display: block;
  font-weight: 200;
  color: #fff;
  margin-bottom: -0.9167em;
}
@media only screen and (min-width: 769px) {
  .idx09 h3 .en {
    font-size: min(8.5vw, 120px);
    padding-left: 0.1333em;
  }
}
.idx09 h3 .en::before {
  display: none;
}
.idx09 h3 .jp {
  position: relative;
  z-index: 1;
}
.idx09 h3::after {
  font-size: 10px;
  content: "";
  width: round(1.8em, 1px);
  height: round(1.7em, 1px);
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 17' %3E%3Cpath d='M11.286,17.009 C10.944,17.009 10.597,17.005 10.248,16.998 L10.191,15.981 C10.263,15.798 10.568,15.141 11.311,15.038 C12.366,14.892 13.486,14.635 13.533,14.625 C13.565,14.617 13.595,14.605 13.623,14.587 C13.706,14.537 14.441,14.080 14.730,13.694 C14.761,13.653 14.823,13.638 14.894,13.638 C15.012,13.638 15.158,13.679 15.244,13.718 L15.257,13.725 L17.589,14.662 C17.654,15.271 17.721,15.919 17.790,16.621 C17.790,16.621 14.798,17.009 11.286,17.009 ZM14.899,13.042 C14.660,13.042 14.418,13.115 14.251,13.336 C14.076,13.570 13.576,13.911 13.350,14.053 C13.123,14.105 12.136,14.321 11.229,14.447 C10.741,14.514 10.387,14.741 10.136,14.994 L9.549,4.414 C9.540,4.258 9.410,4.131 9.256,4.131 C9.251,4.131 9.246,4.131 9.241,4.132 C9.079,4.136 8.950,4.269 8.950,4.430 C8.950,9.445 8.501,12.685 8.228,14.192 C8.210,14.173 8.191,14.154 8.172,14.134 C7.584,13.574 6.558,13.501 6.058,13.501 C5.929,13.501 5.835,13.505 5.793,13.508 C5.732,13.452 5.603,13.317 5.379,13.006 C5.156,12.694 4.879,12.509 4.556,12.459 C4.494,12.450 4.434,12.445 4.375,12.445 C3.981,12.445 3.672,12.642 3.596,12.696 L2.228,13.509 L0.552,13.509 C-0.105,12.278 0.010,11.168 0.010,11.168 C0.010,11.168 0.176,7.109 4.614,7.109 C5.190,7.109 5.837,7.177 6.566,7.332 C6.566,7.332 4.770,4.586 6.819,1.665 C7.734,0.361 8.972,0.001 10.062,0.001 C11.471,0.001 12.807,0.614 13.771,1.637 C14.632,2.552 15.711,4.056 16.189,6.184 C16.857,9.153 17.195,11.180 17.514,13.988 L15.487,13.172 C15.337,13.105 15.120,13.042 14.899,13.042 ZM2.463,14.064 L3.913,13.203 C3.920,13.198 3.929,13.193 3.936,13.187 C3.938,13.186 4.141,13.043 4.378,13.043 C4.407,13.043 4.436,13.045 4.466,13.049 C4.625,13.076 4.765,13.175 4.892,13.353 C5.338,13.975 5.556,14.125 5.751,14.125 C5.769,14.125 5.786,14.124 5.804,14.122 C5.833,14.119 5.861,14.112 5.887,14.102 C5.937,14.098 5.995,14.097 6.059,14.097 C6.538,14.097 7.354,14.180 7.758,14.568 C7.940,14.741 8.024,14.962 8.014,15.243 C8.008,15.394 8.118,15.526 8.269,15.549 C8.283,15.551 8.298,15.552 8.312,15.552 C8.446,15.552 8.567,15.463 8.602,15.330 C8.627,15.235 9.023,13.712 9.295,10.644 L9.647,16.981 C7.977,16.916 6.276,16.745 4.789,16.388 C2.781,15.906 1.612,15.016 0.932,14.107 L2.310,14.107 C2.364,14.107 2.417,14.092 2.463,14.064 Z'/%3E%3C/svg%3E");
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: var(--main-color-2);
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.idx09 .sub_ttl {
  font-weight: 500;
  letter-spacing: 0.1em;
  color: var(--main-color-2);
  text-align: center;
  margin-bottom: 1.0417em;
}
@media only screen and (min-width: 769px) {
  .idx09 .sub_ttl {
    font-size: min(2.6vw, 24px);
  }
}
.idx09 .idx_box {
  position: relative;
  max-width: 1920px;
  margin: 0 auto;
  z-index: 1;
}
@media only screen and (min-width: 1025px) {
  .idx09 .idx_box {
    padding: 27px 0 min(6.5vw, 113px);
  }
}
@media only screen and (max-width: 1024px) {
  .idx09 .idx_box {
    padding: min(56.25vw, 380px) 0 50px;
  }
}
.idx09 .idx_box::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  z-index: -1;
}
@media only screen and (min-width: 1025px) {
  .idx09 .idx_box::before {
    background: url("../images/idx09_bg.jpg") no-repeat center right/cover;
  }
}
@media only screen and (max-width: 1024px) {
  .idx09 .idx_box::before {
    background: url("../images/idx09_bg_sp.jpg") no-repeat top center/cover;
  }
}
@media only screen and (min-width: 1025px) {
  .idx09 .idx_box_txt {
    width: 50%;
  }
}
.idx09 .idx_bnr {
  position: relative;
  border-radius: 2em;
  background-color: #fff;
  max-width: 540px;
  margin: 0 auto;
  padding: 2.1em 2.2em 1.9em 1.9em;
  margin-bottom: 2em;
  transition: all 0.3s linear;
}
@media only screen and (min-width: 769px) {
  .idx09 .idx_bnr {
    font-size: min(1vw, 10px);
  }
}
.idx09 .bnr_txt {
  display: flex;
}
@media only screen and (min-width: 431px) {
  .idx09 .bnr_txt {
    justify-content: space-between;
    align-items: center;
  }
}
.idx09 .bnr_txt picture {
  max-width: 232px;
}
@media only screen and (min-width: 431px) {
  .idx09 .bnr_txt picture {
    width: 47%;
    padding-bottom: 0.6em;
  }
}
.idx09 .bnr_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: relative;
  border-radius: 0.5em;
  background-color: #f4f8f3;
  color: var(--main-color);
  font-size: 2em;
  font-weight: 500;
  max-width: 240px;
  padding: 0.3em 1em 0.35em;
}
@media only screen and (min-width: 431px) {
  .idx09 .bnr_btn {
    width: 49%;
  }
}
.idx09 .bnr_btn::before {
  content: "";
  position: absolute;
  width: 1em;
  height: 1em;
  top: 0px;
  bottom: 0px;
  right: 0.75em;
  margin: auto 0;
  background: url("../images/idx09_arr.png") no-repeat center/cover;
}
.idx09 .desc {
  margin: 0 auto;
}
@media only screen and (max-width: 1024px) {
  .idx09 .desc {
    max-width: 640px;
  }
}
.idx09 .desc p {
  line-height: 2;
  letter-spacing: -0.01em;
}
.idx09 .desc p:not(:last-child) {
  margin-bottom: 10px;
}

.idx_map {
  height: clamp(360px, 24vw, 460px);
}
.idx_map iframe {
  height: 100%;
}

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