.home_page .key {
  position: relative;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  z-index: 0;
  background: url(../images/idx_key_bg.jpg) no-repeat top center/cover;
}
.home_page .key_text {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin: 0 auto;
  width: 100%;
  height: 100%;
}
.home_page .key .catch .title {
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
  filter: drop-shadow(0 0 7px #2B5C8A) drop-shadow(0 0 35px #2B5C8A);
}
.home_page .key .catch .title .sm {
  letter-spacing: 0.1em;
}
.home_page .key .catch .title .md {
  letter-spacing: 0.05em;
}
.home_page .key .catch .title .lg {
  letter-spacing: -0.07em;
}
.home_page .key .catch .desc {
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
  filter: drop-shadow(0 0 5px rgba(102, 156, 204, 0.75)) drop-shadow(0 0 5px rgba(102, 156, 204, 0.75)) drop-shadow(0 0 25px rgba(102, 156, 204, 0.75));
}
.home_page .key .catch .list_feature {
  background-color: #fff;
  border-radius: 5px;
  margin: 0 auto;
}
.home_page .key .catch .list_feature .item {
  position: relative;
}
.home_page .key .catch .list_feature .item:not(:last-child)::after {
  content: "";
  position: absolute;
}
.home_page .key .catch .list_feature .item .txt {
  position: relative;
  font-weight: 700;
  line-height: 1.46;
  letter-spacing: 0.1em;
  color: var(--main-color);
}
.home_page .key .catch .list_feature .item .tag {
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: var(--f-en);
  font-weight: 600;
  letter-spacing: 0.15em;
  color: #fff;
  text-transform: uppercase;
  background-color: var(--main-color);
  border-radius: 999em;
}
.home_page .key .catch .list_feature .item .tag::after {
  content: "";
  position: absolute;
  background-color: inherit;
}
.home_page .key .catch .list_feature .item .tt {
  position: relative;
  display: flex;
  align-items: center;
}
.home_page .key .catch .list_feature .item .tt::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.home_page .key .catch .list_feature .item1 .tt::before {
  background-image: url(../images/list_feature_ico1.png);
}
.home_page .key .catch .list_feature .item2 .tt::before {
  background-image: url(../images/list_feature_ico2.png);
}
.home_page .key .catch .list_feature .item3 .tt::before {
  background-image: url(../images/list_feature_ico3.png);
}
@media only screen and (min-width: 769px) {
  .home_page .key {
    --height: round(58.6vw, 1px);
    --min-height: 420px;
    --max-height: 920px;
    font-size: 0.625em;
  }
  .home_page .key_text {
    padding-bottom: 11.5em;
  }
  .home_page .key .catch .title {
    font-size: 5.712em;
    line-height: 1.26;
    margin-bottom: 0.2801em;
  }
  .home_page .key .catch .title .sm {
    font-size: 0.7265em;
  }
  .home_page .key .catch .title .md {
    font-size: 1.138em;
  }
  .home_page .key .catch .title .lg {
    font-size: 1.5116em;
  }
  .home_page .key .catch .desc {
    font-size: max(16px, 1.8em);
    margin-bottom: 2.1667em;
  }
  .home_page .key .catch .list_feature {
    display: flex;
    justify-content: center;
    font-size: max(7.75px, 1em);
    min-height: 8em;
    width: 58.5em;
  }
  .home_page .key .catch .list_feature .item {
    flex-shrink: 0;
    padding: 1.7em 2.4em 1.6em;
  }
  .home_page .key .catch .list_feature .item::after {
    width: 3px;
    height: 5.2em;
    top: calc(50% - 2.6em);
    right: 0px;
    background: url("../images/ico_dot_ver.png") repeat-y top center/3px 7px;
  }
  .home_page .key .catch .list_feature .item .txt {
    font-size: 1.6em;
  }
  .home_page .key .catch .list_feature .item .tag {
    font-size: 0.625em;
    position: absolute;
    width: 9.3em;
    height: 1.99em;
    bottom: calc(100% + 0.6965em);
    left: 0;
  }
  .home_page .key .catch .list_feature .item .tag::after {
    width: 0.8955em;
    aspect-ratio: 9/8;
    bottom: -0.597em;
    left: 1.592em;
    clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
  }
  .home_page .key .catch .list_feature .item .tt::before {
    width: 2.5em;
    height: 2.5em;
    margin-right: 0.625em;
  }
}
@media only screen and (min-width: 1921px) {
  .home_page .key {
    --max-height: 38vw ;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .home_page .key {
    font-size: min(0.65vw, 10px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1560px) and (max-height: 800px) {
  .home_page .key {
    --max-height: min(100vh, 920px);
    font-size: min(0.78vw, 8.75px);
  }
}
.home_page .topic_path {
  display: none;
}
.home_page .title_wrap .en {
  position: relative;
  font-weight: 600;
  line-height: 1.2;
  color: var(--main-color);
  text-transform: uppercase;
}
.home_page .title_wrap .h_en {
  display: flex;
  align-items: center;
}
.home_page .title_wrap .h_en::before {
  content: "";
  position: relative;
  display: block;
  width: 12px;
  height: 12px;
  --mask: url("../images/ico_title_decor.svg");
  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);
}
.home_page .title_wrap .h_en-center::before {
  content: "";
  width: 12px;
  aspect-ratio: 1/1;
  display: block;
  margin: 0 auto;
  --mask: url("../images/ico_title_decor.svg");
  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);
}
.home_page .title_wrap h2 {
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.3578947368;
  color: var(--main-color);
}
.home_page .title_wrap.white .en,
.home_page .title_wrap.white h2 {
  color: #fff;
}
.home_page .title_wrap.white .h_en::before {
  background-color: #fff;
}
@media only screen and (min-width: 769px) {
  .home_page .title_wrap .en {
    letter-spacing: 0.08em;
    font-size: calc(var(--fs-base) + 1px);
  }
  .home_page .title_wrap .h_en {
    margin-bottom: 1em;
  }
  .home_page .title_wrap .h_en::before {
    margin-right: 10px;
    top: 1px;
  }
  .home_page .title_wrap .h_en-center {
    margin-bottom: 9px;
  }
  .home_page .title_wrap .h_en-center::before {
    margin-bottom: 12px;
  }
  .home_page .title_wrap h2 {
    font-size: calc(var(--ttl_size) + 10px);
  }
}
.home_page .sub_title {
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
@media only screen and (min-width: 769px) {
  .home_page .sub_title {
    font-size: calc(var(--ttl_size) + 2px);
  }
}
.home_page .txt_uline {
  position: relative;
  display: inline-block;
  z-index: 0;
}
.home_page .txt_uline::after {
  content: "";
  position: absolute;
  background-color: var(--clr-yellow);
  z-index: -1;
}
@media only screen and (min-width: 769px) {
  .home_page .txt_uline::after {
    height: 15px;
    border-radius: 8px;
  }
}
@media only screen and (max-width: 1024px) {
  .home_page .txt_uline::after {
    border-radius: 5px;
    height: 10px;
  }
}

section {
  background-size: cover;
  background-repeat: no-repeat;
}

.idx01 {
  position: relative;
  background-color: var(--clr-blue1);
  z-index: 0;
}
.idx01::before {
  content: "";
  position: absolute;
  width: 100%;
  left: 0;
  background: url("../images/wave_decor01.png") repeat-x top left/170px auto;
  z-index: -1;
}
.idx01 .title_wrap {
  position: relative;
  text-align: center;
}
.idx01 .title_wrap .en {
  font-family: var(--f-fdk);
  line-height: 1;
  color: var(--clr-blue1);
}
.idx01 .title_wrap h2 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  border-radius: 999em;
  background-color: #fff;
  border: 5px solid var(--clr-blue3);
  margin: 0 auto;
}
.idx01 .title_wrap h2 .num {
  position: relative;
  font-family: var(--f-fdk);
  font-size: 2.1053em;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #fff;
  z-index: 0;
  line-height: 0.8;
  margin-left: 0.4em;
  margin-right: 0.35em;
  top: 2px;
}
.idx01 .title_wrap h2 .num::before, .idx01 .title_wrap h2 .num::after {
  content: "";
  position: absolute;
}
.idx01 .title_wrap h2 .num::before {
  width: round(0.4875em, 1px);
  aspect-ratio: 39/23;
  top: -0.55em;
  left: calc(50% - 0.3em);
  background: url(../images/idx01_title_decor01.png) no-repeat center/cover;
}
.idx01 .title_wrap h2 .num::after {
  width: round(1.225em, 1px);
  top: calc(50% - 0.5875em);
  left: calc(50% - 0.675em);
  margin: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: var(--clr2);
  z-index: -1;
}
.idx01 .sub_title {
  display: table;
  color: var(--main-color);
  margin: 0 auto;
}
.idx01 .content_box {
  position: relative;
  background-color: #fff;
}
.idx01 .content_box::before, .idx01 .content_box::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.idx01 .content_box::before {
  width: round(16.4em, 1px);
  aspect-ratio: 164/204;
  background-image: url(../images/idx01_decor02.png);
}
.idx01 .content_box::after {
  width: round(18.9em, 1px);
  aspect-ratio: 189/204;
  background-image: url(../images/idx01_decor03.png);
}
.idx01 .list {
  counter-reset: item;
}
.idx01 .list .item {
  counter-increment: item;
  position: relative;
}
.idx01 .list .item:not(:last-child)::after {
  content: "";
  position: absolute;
}
.idx01 .list .item .area {
  margin: 0 auto;
}
.idx01 .list .item picture img {
  mask-position: center center;
  mask-size: 100% 100%;
  mask-repeat: no-repeat;
  mask-image: url(../images/idx01_img_mask.png);
  -webkit-mask-image: url(../images/idx01_img_mask.png);
}
.idx01 .list .item .ttl {
  position: relative;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.52;
  color: var(--main-color);
  text-align: center;
}
.idx01 .list .item .ttl::before {
  display: block;
  content: counter(item, decimal-leading-zero);
  font-family: var(--f-en);
  font-size: 2.05em;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  color: currentColor;
  margin: 0 auto;
  margin-bottom: 11px;
}
@media only screen and (min-width: 769px) {
  .idx01 {
    padding: 6.25em 0 0;
  }
  .idx01::before {
    top: -30px;
    height: 100px;
  }
  .idx01 .title_wrap {
    margin-bottom: -2.75em;
    z-index: 1;
  }
  .idx01 .title_wrap .en {
    font-size: clamp(110px, 14vw, 150px);
    letter-spacing: 0.1em;
    margin-bottom: -0.2067em;
    -webkit-text-stroke: 3px #fff;
  }
  .idx01 .title_wrap h2 {
    padding: 0.1053em 1.7632em 0.2632em;
  }
  .idx01 .sub_title {
    margin-bottom: 1.7333em;
  }
  .idx01 .sub_title::after {
    width: calc(100% + 1.3333em);
    bottom: 2px;
    left: -0.6667em;
  }
  .idx01 .content_box {
    padding: 5.75em 4.375em 3.9375em;
    border-radius: 40px;
  }
  .idx01 .content_box::before, .idx01 .content_box::after {
    font-size: min(0.85vw, 10px);
    z-index: -1;
  }
  .idx01 .content_box::before {
    left: 3.5em;
    bottom: calc(100% - 4em);
  }
  .idx01 .content_box::after {
    right: 2.2em;
    bottom: calc(100% - 3.6em);
  }
  .idx01 .list {
    display: flex;
    justify-content: space-between;
  }
  .idx01 .list .item:first-child .txt {
    margin-left: 0;
  }
  .idx01 .list .item:last-child .txt {
    margin-right: 0;
  }
  .idx01 .list .item:not(:last-child) {
    padding-right: 2.5em;
    margin-right: 2.4375em;
  }
  .idx01 .list .item:not(:last-child)::after {
    width: 3px;
    height: 100%;
    top: 0;
    right: 0;
    background: url("../images/ico_dot_ver.png") repeat-y top center/3px 7px;
  }
  .idx01 .list .item .area {
    max-width: 294px;
  }
  .idx01 .list .item picture {
    margin-bottom: -17px;
  }
  .idx01 .list .item .ttl {
    font-size: calc(var(--fs-base) + 4px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx01 .content_box {
    padding: 60px 40px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx01 {
    padding: 40px 0 0;
  }
  .idx01::before {
    background-size: 85px auto;
  }
  .idx01 .title_wrap h2 {
    padding-left: 20px;
    padding-right: 20px;
  }
  .idx01 .content_box {
    padding-left: 20px;
    padding-right: 20px;
  }
  .idx01 .list .item:not(:last-child) {
    padding-right: 10px;
    margin-right: 10px;
  }
  .idx01 .list .item .ttl {
    font-size: 16px;
  }
}

.idx02 {
  position: relative;
  z-index: 0;
  background-color: var(--clr-blue1);
}
.idx02::after {
  content: "";
  position: absolute;
  background-color: #fff;
  z-index: -1;
}
.idx02 .img_box {
  z-index: 1;
  pointer-events: none;
}
.idx02 .img_box .img {
  aspect-ratio: 1/1;
  mask-position: center center;
  mask-size: 100% 100%;
  mask-repeat: no-repeat;
}
.idx02 .img_box .img1 {
  mask-image: url(../images/idx02_img01_mask.png);
  -webkit-mask-image: url(../images/idx02_img01_mask.png);
}
.idx02 .img_box .img2 {
  mask-image: url(../images/idx02_img02_mask.png);
  -webkit-mask-image: url(../images/idx02_img02_mask.png);
}
.idx02 .img_box .img3 {
  mask-image: url(../images/idx02_img03_mask.png);
  -webkit-mask-image: url(../images/idx02_img03_mask.png);
}
.idx02 .title_wrap {
  text-align: center;
}
.idx02 .title_wrap h2 .md {
  letter-spacing: 0.1em;
}
.idx02 .title_wrap h2 .lg {
  letter-spacing: 0.1em;
}
.idx02 .txt {
  position: relative;
  text-align: center;
  z-index: 0;
}
.idx02 .btn-group .btn {
  max-width: 29em;
}
@media only screen and (min-width: 769px) {
  .idx02 {
    padding: 5.8125em 0 5.5em;
  }
  .idx02::after {
    width: max(1920px, 100%);
    height: calc(100% + 2.875em);
    top: -2.875em;
    left: 50%;
    transform: translateX(-50%);
    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: top center;
    -webkit-mask-position: top center;
    --mask: url("../images/idx02_decor01.svg");
  }
  .idx02 .img_box {
    font-size: min(0.785vw, 10px);
    position: absolute;
    margin: 0 auto;
    width: 135%;
    max-width: 1720px;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  .idx02 .img_box .img {
    position: absolute;
  }
  .idx02 .img_box .img1 {
    width: 32%;
    max-width: 549px;
    top: 24.6em;
    left: 0;
  }
  .idx02 .img_box .img2 {
    top: 27.3em;
    right: 28.9em;
    width: 14%;
    max-width: 239px;
  }
  .idx02 .img_box .img3 {
    top: 47.1em;
    right: 11.3em;
    width: 22%;
    max-width: 365px;
  }
  .idx02 .title_wrap {
    margin-bottom: 2.3125em;
  }
  .idx02 .title_wrap h2 {
    line-height: 1.5;
  }
  .idx02 .title_wrap h2 .md {
    font-size: 0.7895em;
  }
  .idx02 .title_wrap h2 .lg {
    font-size: 1.2632em;
  }
  .idx02 .title_wrap h2 .txt_uline::after {
    width: calc(100% + 10px);
    bottom: 6px;
    left: -5px;
  }
  .idx02 .txt {
    max-width: 582px;
    margin: 0 auto;
    margin-bottom: 37px;
  }
  .idx02 .txt::after {
    content: "";
    position: absolute;
    width: 1920px;
    aspect-ratio: 1920/551;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
    background: url("../images/idx02_decor02.png") no-repeat center/cover;
    z-index: -1;
  }
  .idx02 .txt p:not(:last-child) {
    margin-bottom: 1.125em;
  }
  .idx02 .btn-group {
    --gap: 3.5em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .idx02::after {
    width: 150%;
  }
  .idx02 .txt::after {
    width: 150vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx02 .img_box {
    top: 20px;
  }
  .idx02 .btn-group {
    --gap: 15px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx02 .img_box {
    top: 100px;
  }
}

.idx03 {
  position: relative;
}
.idx03 .concerns_wrap {
  position: relative;
  z-index: 0;
}
.idx03 .concerns_wrap::before {
  content: "";
  position: absolute;
  background: url("../images/idx03_decor01.png") no-repeat center/cover;
}
.idx03 .concerns_wrap::after {
  content: "";
  position: absolute;
  width: 100vw;
  height: 100%;
  top: 0px;
  right: 20px;
  background-color: var(--clr-blue1);
  z-index: -1;
}
.idx03 .list .item a {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  line-height: 1.50625;
  color: var(--main-color);
  text-decoration: none;
  background-color: #fff;
  border: 1px solid currentColor;
  box-shadow: 0 3px 0 var(--clr-blue2);
  transition: all 0.3s ease;
}
.idx03 .list .item a::after {
  content: "";
  position: absolute;
  aspect-ratio: 1/1;
  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: currentColor;
}
.idx03 .list .item .label {
  position: relative;
}
.idx03 .list .item .label::before {
  content: "";
  aspect-ratio: 47/49;
  left: 0;
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.idx03 .list .item1 .label::before {
  background-image: url(../images/idx03_ico1.png);
}
.idx03 .list .item2 .label::before {
  background-image: url(../images/idx03_ico2.png);
}
.idx03 .list .item3 .label::before {
  background-image: url(../images/idx03_ico3.png);
}
.idx03 .list .item4 .label::before {
  background-image: url(../images/idx03_ico4.png);
}
.idx03 .list .item5 .label::before {
  background-image: url(../images/idx03_ico5.png);
}
.idx03 .list .item6 .label::before {
  background-image: url(../images/idx03_ico6.png);
}
.idx03 .list .item7 .label::before {
  background-image: url(../images/idx03_ico7.png);
}
.idx03 .list .item8 .label::before {
  background-image: url(../images/idx03_ico8.png);
}
.idx03 .list .item9 .label::before {
  background-image: url(../images/idx03_ico9.png);
}
.idx03 .list .item10 .label::before {
  background-image: url(../images/idx03_ico10.png);
}
.idx03 .list .item11 .label::before {
  background-image: url(../images/idx03_ico11.png);
}
.idx03 .note {
  position: relative;
  background-color: #fff;
  border-radius: 10px;
}
.idx03 .note::before, .idx03 .note::after {
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.idx03 .note::before {
  background-image: url(../images/idx03_decor02.png);
}
.idx03 .note::after {
  position: absolute;
  aspect-ratio: 172/225;
  background-image: url(../images/idx03_decor03.png);
  background-position: top center;
}
.idx03 .note .txt {
  font-size: calc(var(--fs-base) + 2px);
  color: var(--main-color);
}
@media only screen and (min-width: 769px) {
  .idx03 .concerns_wrap {
    padding-top: 6.0625em;
    padding-right: 7.5em;
    padding-bottom: 6.25em;
  }
  .idx03 .concerns_wrap::before {
    font-size: min(0.785vw, 10px);
    width: 47.7em;
    top: -3.2em;
    right: 5.1em;
    aspect-ratio: 159/109;
  }
  .idx03 .concerns_wrap::after {
    border-radius: 0 40px 40px 0;
  }
  .idx03 .title_wrap {
    margin-bottom: 3.4375em;
  }
  .idx03 .title_wrap .h_en {
    margin-left: 0.4361em;
    margin-bottom: 1em;
  }
  .idx03 .list {
    font-size: min(0.975vw, 10px);
    --gap: 2em;
    gap: 1.9em var(--gap);
    margin-bottom: 39px;
  }
  .idx03 .list .item a {
    font-size: 1.6em;
    min-height: 5.0625em;
    padding: 0.3125em 3.5em 0.3125em 1.4375em;
    border-radius: 10px;
  }
  .idx03 .list .item a::after {
    width: round(1.5em, 1px);
    top: calc(50% - 0.75em);
    right: 1.4375em;
    --mask: url("../images/ico_arrow01.png");
  }
  .idx03 .list .item .label {
    padding-left: 4.125em;
  }
  .idx03 .list .item .label::before {
    width: round(2.9375em, 1px);
    top: calc(50% - 1.5625em);
  }
  .idx03 .list .item:hover a {
    opacity: 1;
    color: var(--clr2);
  }
  .idx03 .note {
    font-size: min(0.975vw, 10px);
    padding: 2.7em 3.4em 2.3em 3.4em;
    display: flex;
    align-items: center;
  }
  .idx03 .note::before {
    display: block;
    aspect-ratio: 21/19;
    width: round(8.4em, 1px);
  }
  .idx03 .note::after {
    width: 17.2em;
    height: 20.7em;
    bottom: 0;
    right: 3.1em;
  }
  .idx03 .note .txt {
    width: 71%;
    max-width: 645px;
    padding-left: 1.5em;
    line-height: 1.6444444444;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx03 .concerns_wrap {
    padding-right: 60px;
  }
  .idx03 .concerns_wrap::before {
    top: -10px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx03 .concerns_wrap {
    padding-top: 60px;
    padding-right: 40px;
    padding-bottom: 60px;
  }
  .idx03 .concerns_wrap::before {
    top: 15px;
  }
}

.idx04 {
  position: relative;
}
.idx04::before, .idx04::after {
  content: "";
  position: absolute;
  z-index: -1;
}
.idx04::after {
  width: 100%;
  left: 0;
  background: url(../images/wave_decor02.png) repeat-x top left/170px auto;
}
.idx04 .content_wrap {
  color: #fff;
}
.idx04 .tbl_box {
  background-color: #fff;
  border-radius: 10px;
}
.idx04 .tbl_head .ttl {
  flex-shrink: 0;
  font-size: calc(var(--fs-base) + 4px);
  line-height: 1.2;
  font-weight: 700;
  color: var(--main-color);
  letter-spacing: 0.1em;
  margin-bottom: 0;
}
.idx04 .tbl_head .note {
  flex-shrink: 0;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3666666667;
  letter-spacing: 0.1em;
  color: var(--clr-gray);
  margin-bottom: 0;
}
.idx04 .tbl_body {
  border-radius: 7px;
  border: 1px solid var(--clr-blue3);
  overflow: hidden;
}
.idx04 .tbl_body table th {
  width: 20%;
  font-weight: 500;
  color: var(--main-color);
  background-color: var(--clr-blue1);
}
.idx04 .tbl_body table th,
.idx04 .tbl_body table td {
  text-align: center;
  vertical-align: middle;
  border: 0;
  border-right: 1px solid var(--clr-blue3);
  border-bottom: 1px solid var(--clr-blue3);
}
.idx04 .tbl_body table th:last-child,
.idx04 .tbl_body table td:last-child {
  border-right: 0;
}
.idx04 .tbl_body table tr:last-child th,
.idx04 .tbl_body table tr:last-child td {
  border-bottom: 0;
}
.idx04 .tbl_body table td {
  color: var(--clr1);
}
.idx04 .btn-group .btn {
  max-width: 230px;
}
@media only screen and (min-width: 769px) {
  .idx04 {
    padding: 7.9375em 0 9.4375em;
  }
  .idx04::before, .idx04::after {
    top: -10.625em;
  }
  .idx04::before {
    width: max(1920px, 100%);
    height: calc(100% + 10.625em);
    left: 50%;
    transform: translateX(-50%);
    background: url("../images/idx04_bg.jpg") no-repeat center/cover;
  }
  .idx04::after {
    height: 32px;
  }
  .idx04 .title_wrap {
    margin-bottom: 2.625em;
  }
  .idx04 .title_wrap .h_en {
    margin-left: 7px;
  }
  .idx04 .sub_title {
    margin-bottom: 0.8em;
  }
  .idx04 .desc {
    margin-bottom: 2.6875em;
  }
  .idx04 .content_wrap {
    width: 53%;
    max-width: 565px;
  }
  .idx04 .tbl_box {
    max-width: 553px;
    padding: 28px 30px 29px;
    margin-bottom: 2.75em;
  }
  .idx04 .tbl_head {
    display: flex;
    justify-content: space-between;
    margin-bottom: 19px;
  }
  .idx04 .tbl_body table th,
  .idx04 .tbl_body table td {
    padding: 1em 5px;
  }
  .idx04 .btn-group {
    justify-content: flex-start;
  }
  .idx04 .btn-group .btn a {
    box-shadow: 0 3px 0 rgba(73, 84, 91, 0.7);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .idx04::before {
    width: 150%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx04 {
    padding: 60px 0;
  }
  .idx04::after {
    height: 16px;
    background-size: 85px auto;
  }
  .idx04 .content_wrap {
    width: 70%;
  }
}

.idx05 {
  position: relative;
  background-color: var(--clr-blue1);
}
.idx05::before {
  content: "";
  position: absolute;
  width: 100%;
  left: 0px;
  background: url(../images/wave_decor01.png) repeat-x top left/170px auto;
  z-index: -1;
}
.idx05 .endoscopy_wrap {
  position: relative;
}
.idx05 .endoscopy_wrap::before {
  content: "";
  position: absolute;
  background: url("../images/idx05_decor01.png") no-repeat center/cover;
}
.idx05 .list {
  position: relative;
  z-index: 1;
}
.idx05 .list .item {
  overflow: hidden;
}
.idx05 .list picture {
  overflow: hidden;
}
.idx05 .list .area {
  position: relative;
  background-color: #fff;
}
.idx05 .list .area::before {
  content: "";
  position: absolute;
  aspect-ratio: 388/45;
  bottom: 100%;
  background: url("../images/idx05_title_decor.png") no-repeat center/cover;
}
.idx05 .list .area .ttl {
  position: relative;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1em;
  display: table;
  text-align: center;
  color: var(--main-color);
  margin: 0 auto;
  background-color: #fff;
  z-index: 0;
}
.idx05 .list .area .ttl::after {
  content: "";
  position: absolute;
  background-color: var(--clr-yellow);
  z-index: -1;
}
@media only screen and (min-width: 769px) {
  .idx05 {
    padding: 5.4375em 0 4.375em;
  }
  .idx05::before {
    top: -30px;
    height: 100px;
  }
  .idx05 .endoscopy_wrap::before {
    font-size: min(0.785vw, 10px);
    width: 47em;
    top: -5em;
    right: 4em;
    aspect-ratio: 470/361;
  }
  .idx05 .title_wrap {
    margin-bottom: 1.875em;
  }
  .idx05 .txt {
    display: flex;
    gap: 2.9375em;
    margin-bottom: 3.25em;
  }
  .idx05 .txt > p {
    max-width: 265px;
    margin-bottom: 0;
  }
  .idx05 .txt .btn-group {
    width: 20%;
    max-width: 18.1em;
    margin-top: 8px;
  }
  .idx05 .list {
    font-size: min(0.845vw, 10px);
    --gap: 3.6em;
  }
  .idx05 .list picture {
    border-radius: 40px 40px 0 0;
  }
  .idx05 .list .area {
    padding: 0 4em 7em;
    border-radius: 0 0 40px 40px;
  }
  .idx05 .list .area::before {
    width: 38.8em;
    left: calc(50% - 19.4em);
  }
  .idx05 .list .area .ttl {
    font-size: calc(var(--ttl_size) + 2px);
    margin-bottom: 0.5667em;
    top: -0.6667em;
  }
  .idx05 .list .area .ttl::after {
    height: 0.5em;
    border-radius: 0.2667em;
    bottom: -0.1667em;
    left: -0.3333em;
    right: -0.3333em;
  }
  .idx05 .list .area .txt {
    font-size: var(--fs-base);
    margin-bottom: 1.9375em;
  }
  .idx05 .list .area .btn-group {
    font-size: 1em;
    --gap: 2em;
  }
  .idx05 .list .area .btn-group .btn {
    font-size: 1em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx05 .endoscopy_wrap::before {
    top: -20px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx05 {
    padding: 60px 0;
  }
  .idx05::before {
    height: 50px;
    background-size: 85px auto;
  }
  .idx05 .endoscopy_wrap::before {
    top: 40px;
  }
  .idx05 .list .area {
    padding-left: 20px;
    padding-right: 20px;
  }
  .idx05 .list .area .btn-group {
    --gap: 8px;
  }
  .idx05 .list .area .btn-group .btn a {
    font-size: 12px;
  }
}

.idx06 {
  position: relative;
  background-color: var(--clr-blue1);
  z-index: 0;
}
.idx06::before {
  content: "";
  position: absolute;
  width: 100%;
  left: 0;
  background: url(../images/ico_dots.png) repeat top left/11px 11px;
  opacity: 0.15;
  z-index: -1;
}
.idx06 .txt_marquee {
  position: absolute;
  left: calc(50% - 50vw);
  font-family: var(--f-fdk);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--clr-blue1);
  z-index: -1;
}
.idx06 .content_wrap {
  position: relative;
  z-index: 0;
}
.idx06 .content_wrap::before {
  content: "";
  position: absolute;
  background-color: #fff;
  border: 5px solid var(--clr-blue3);
  z-index: -2;
}
.idx06 .content_wrap::after {
  content: "";
  position: absolute;
  background: url("../images/idx06_decor01.png") no-repeat center/cover;
}
.idx06 .content_wrap .cont_box {
  position: relative;
  z-index: 1;
}
.idx06 .content_wrap picture {
  max-width: 495px;
}
.idx06 .content_wrap picture img {
  border-radius: 999em 999em 0 0;
}
.idx06 .content_wrap .pickup_title {
  position: relative;
  display: flex;
  align-items: center;
  background-color: var(--main-color);
  width: fit-content;
}
.idx06 .content_wrap .pickup_title::after {
  content: "";
  position: absolute;
  top: 0;
  left: round(down, 100%, 1px);
  clip-path: polygon(0 0, 0 100%, 100% 100%);
  background-color: var(--clr-blue4);
}
.idx06 .content_wrap .pickup_title h2 {
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.2;
  color: #fff;
}
.idx06 .content_wrap .sub_title {
  color: var(--main-color);
}
@media only screen and (min-width: 769px) {
  .idx06 {
    padding-bottom: 7.5em;
  }
  .idx06::before {
    height: calc(100% + 141px);
    top: -141px;
  }
  .idx06 .txt_marquee {
    font-size: clamp(110px, 14vw, 150px);
    top: calc(50% - 66px);
  }
  .idx06 .content_wrap {
    padding: 0 4.375em;
    display: flex;
    justify-content: space-between;
  }
  .idx06 .content_wrap::before {
    left: -5px;
    right: -5px;
    top: 1.5625em;
    height: calc(100% - 1.25em);
    border-radius: 45px;
  }
  .idx06 .content_wrap::after {
    font-size: min(0.9vw, 10px);
    width: 72.4em;
    aspect-ratio: 724/191;
    bottom: 0;
    left: 0;
    border-bottom-left-radius: 38px;
  }
  .idx06 .content_wrap .cont_box {
    width: 49%;
    max-width: 476px;
    height: fit-content;
    padding-bottom: 5em;
  }
  .idx06 .content_wrap picture {
    width: 48%;
    align-self: flex-end;
  }
  .idx06 .content_wrap .pickup_title {
    font-size: calc(var(--ttl_size) + 2px);
    border-radius: 7px 0 20px 20px;
    padding: 0.8333em 1.3em 0.9667em;
    margin-bottom: 1.6em;
  }
  .idx06 .content_wrap .pickup_title::after {
    width: 1em;
    aspect-ratio: 1/1;
  }
  .idx06 .content_wrap .sub_title {
    margin-bottom: 0.8em;
  }
  .idx06 .content_wrap .sub_title .txt_uline::after {
    width: calc(100% - 7px);
    bottom: 2px;
    left: -7px;
  }
  .idx06 .content_wrap .txt {
    margin-bottom: 2em;
  }
  .idx06 .content_wrap .btn-group {
    max-width: 24em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx06 {
    padding-bottom: 60px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx06 .content_wrap {
    padding: 0 20px;
  }
  .idx06 .content_wrap::before {
    border-radius: 25px;
  }
  .idx06 .content_wrap::after {
    border-bottom-left-radius: 18px;
  }
  .idx06 .content_wrap .pickup_title {
    padding: 20px;
  }
}

.idx_banner {
  background-color: var(--clr-blue1);
}
.idx_banner .banner_group {
  position: relative;
}
.idx_banner .banner_group .banner {
  position: relative;
  background-color: #fff;
  box-shadow: 0 5px 0 var(--clr-blue2);
  display: flex;
  align-items: center;
}
.idx_banner .banner_group .banner picture {
  flex-shrink: 0;
}
.idx_banner .banner_group .banner .ttl {
  color: var(--main-color);
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 0;
}
.idx_banner .banner_group .banner .ttl .en {
  display: block;
  letter-spacing: 0.1em;
  font-weight: 600;
}
.idx_banner .banner_group .banner1 .ttl .en {
  text-indent: 4px;
}
.idx_banner .banner_group .banner .ico_arrow {
  position: absolute;
}
.idx_banner .banner_group .banner .ico_arrow span {
  position: relative;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: var(--main-color);
}
.idx_banner .banner_group .banner .ico_arrow span::after {
  content: "";
  position: absolute;
  aspect-ratio: 1/1;
  right: 0;
  --mask: url("../images/ico_arrow01.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: currentColor;
}
@media only screen and (min-width: 769px) {
  .idx_banner {
    padding: 60px 0;
  }
  .idx_banner .banner_group {
    display: flex;
  }
  .idx_banner .banner_group .item {
    flex: 0 0 50%;
  }
  .idx_banner .banner_group .item:not(:first-child) {
    border-left: 1px solid var(--clr-blue3);
  }
  .idx_banner .banner_group .item:not(:first-child) .banner {
    margin-left: auto;
  }
  .idx_banner .banner_group .banner {
    font-size: 0.625em;
    width: 90%;
    max-width: 480px;
    border-radius: 10px;
    padding: 2em;
  }
  .idx_banner .banner_group .banner picture {
    width: 46%;
    max-width: 200px;
    margin-right: 2.5em;
  }
  .idx_banner .banner_group .banner picture img {
    border-radius: 7px;
  }
  .idx_banner .banner_group .banner .ttl {
    font-size: calc(var(--ttl_size) - 3px);
    line-height: 1.2708333333;
  }
  .idx_banner .banner_group .banner .ttl .en {
    font-size: 11px;
    margin-bottom: 2px;
  }
  .idx_banner .banner_group .banner .ico_arrow {
    bottom: 2.1em;
    right: 2em;
  }
  .idx_banner .banner_group .banner .ico_arrow span {
    font-size: 1.4em;
    padding-right: 2.5em;
    line-height: 1.5;
  }
  .idx_banner .banner_group .banner .ico_arrow span:after {
    width: round(1.7143em, 1px);
    top: calc(50% - 0.8571em);
  }
  .idx_banner .banner_group .banner:hover .ttl,
  .idx_banner .banner_group .banner:hover .ico_arrow span {
    color: var(--clr2);
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx_banner .banner_group .item .ico_arrow {
    bottom: 1em;
  }
}

.idx07 {
  position: relative;
  background-color: var(--clr-blue1);
}
.idx07 .wrap {
  background-color: #fff;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}
.idx07 .title_wrap {
  position: relative;
  z-index: 0;
}
.idx07 .title_wrap::before, .idx07 .title_wrap::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  z-index: -1;
}
.idx07 .title_wrap .md {
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  color: var(--main-color);
}
.idx07 .title_wrap .lg {
  font-weight: 700;
  letter-spacing: 0.1em;
}
.idx07 .title_wrap .num {
  position: relative;
  font-family: var(--f-fdk);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  color: transparent;
  background: url("../images/idx07_num_decor.jpg") repeat top 0.0791em left -0.3381em/1.2086em 1.2086em;
  -webkit-background-clip: text;
  background-clip: text;
}
.idx07 .title_wrap .en {
  background-color: var(--clr-blue1);
  width: fit-content;
  border-radius: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: auto;
}
.idx07 .title_wrap h2 {
  line-height: 1;
}
.idx07 .features_wrap .list {
  counter-reset: item;
}
.idx07 .features_wrap .list .item {
  counter-increment: item;
  position: relative;
  display: flex;
}
.idx07 .features_wrap .list .item:not(:last-child) {
  background: url(../images/ico_dot_hor.png) repeat-x bottom left/7px 3px;
}
.idx07 .features_wrap .list .img {
  position: relative;
}
.idx07 .features_wrap .list .img::before {
  content: counter(item, decimal-leading-zero);
  position: absolute;
  font-family: var(--f-en);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  color: var(--main-color);
}
.idx07 .features_wrap .list picture {
  mask-position: center center;
  mask-size: 100% 100%;
  mask-repeat: no-repeat;
}
.idx07 .features_wrap .list .ttl {
  font-weight: 700;
  line-height: 1.6153846154;
  letter-spacing: 0.1em;
  color: var(--main-color);
}
@media only screen and (min-width: 769px) {
  .idx07 .wrap {
    border-radius: 6.25em 6.25em 0 0;
    padding: 7.5em 0 calc(round(down, 10vw, 1px) + 6.25em);
  }
  .idx07 .title_wrap {
    margin-bottom: 39px;
    display: table;
  }
  .idx07 .title_wrap::before, .idx07 .title_wrap::after {
    font-size: min(0.975vw, 10px);
  }
  .idx07 .title_wrap::before {
    top: -16.7em;
    left: -14.8em;
    width: 50.9em;
    aspect-ratio: 509/497;
    background-image: url("../images/idx07_decor01.png");
  }
  .idx07 .title_wrap::after {
    top: calc(100% - 4.8em);
    right: calc(100% - 10.5em);
    width: 34.7em;
    aspect-ratio: 347/334;
    background-image: url("../images/idx07_decor02.png");
  }
  .idx07 .title_wrap .md {
    font-size: calc(var(--ttl_size) + 7.5px);
    margin-bottom: 0.4789em;
  }
  .idx07 .title_wrap .lg {
    font-size: 1.3158em;
  }
  .idx07 .title_wrap .num {
    font-size: 3.6579em;
    top: 0.036em;
    margin-right: -0.036em;
  }
  .idx07 .title_wrap .en {
    min-height: 2.1818em;
    margin-right: 0.3636em;
    margin-bottom: -3.9394em;
    padding: 0 1em;
  }
  .idx07 .title_wrap h2 {
    text-indent: -4px;
  }
  .idx07 .btn-group {
    max-width: 180px;
  }
  .idx07 .features_wrap {
    display: flex;
    justify-content: space-between;
  }
  .idx07 .features_wrap .ttl_box {
    flex-shrink: 0;
    position: sticky;
    top: calc(7.5em + var(--wrapper));
    left: 0;
    height: 20em;
  }
  .idx07 .features_wrap .cont_box {
    width: 67%;
    max-width: 712px;
  }
  .idx07 .features_wrap .list {
    font-size: min(0.975vw, 10px);
  }
  .idx07 .features_wrap .list .item {
    align-items: center;
    justify-content: space-between;
  }
  .idx07 .features_wrap .list .item:not(:last-child) {
    padding-bottom: 4.92em;
    margin-bottom: 5em;
  }
  .idx07 .features_wrap .list .item .img {
    width: 50%;
    max-width: 354px;
    flex-shrink: 0;
  }
  .idx07 .features_wrap .list .item .img::before {
    top: 0.1951em;
    right: 0.3415em;
    font-size: 4.1em;
  }
  .idx07 .features_wrap .list .item .img picture {
    mask-image: url(../images/idx07_img_mask.png);
    -webkit-mask-image: url(../images/idx07_img_mask.png);
  }
  .idx07 .features_wrap .list .item .area {
    width: 48%;
    max-width: 315px;
  }
  .idx07 .features_wrap .list .item .ttl {
    font-size: calc(var(--ttl_size) - 2px);
    margin-bottom: 14px;
  }
  .idx07 .features_wrap .list .item .txt {
    font-size: var(--fs-base);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx07 .title_wrap::before, .idx07 .title_wrap::after {
    font-size: min(0.975vw, 8.75px);
  }
  .idx07 .title_wrap::after {
    right: calc(100% - 18.5em);
  }
  .idx07 .title_wrap .en {
    margin-bottom: -3.2em;
    padding: 0 0.75em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx07 .features_wrap .list .item:not(:last-child) {
    align-items: flex-start;
  }
}

.idx08 {
  position: relative;
  background-color: var(--clr-blue1);
  z-index: 0;
}
.idx08::before {
  content: "";
  position: absolute;
  width: 100vw;
  aspect-ratio: 10/1;
  top: calc(round(down, 10vw, 1px) * -1);
  left: 50%;
  transform: translateX(-50%);
  background: url("../images/idx08_decor01.png") no-repeat center/cover;
}
.idx08::after {
  content: "";
  position: absolute;
  width: 100%;
  left: 0px;
  background: url(../images/ico_dots.png) repeat top left/11px 11px;
  opacity: 0.15;
  z-index: -1;
}
.idx08 .title_wrap {
  text-align: center;
}
.idx08 .title_wrap .lg {
  position: absolute;
  left: 0;
  right: 0;
  font-family: var(--f-fdk);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #fff;
  margin-bottom: 0 !important;
}
.idx08 .title_wrap h2 {
  position: relative;
}
.idx08 .slider_wrap {
  position: relative;
  width: 100vw;
}
.idx08 .slider_wrap .item {
  display: flex;
  background-color: #fff;
  border: 5px solid var(--clr-blue3);
}
.idx08 .slider_wrap .title {
  position: relative;
}
.idx08 .slider_wrap .title::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 3px;
  bottom: 0px;
  left: 0px;
  background: url("../images/ico_dot_hor.png") repeat-x center/7px 3px;
}
.idx08 .slider_wrap .tag {
  border-radius: 999em;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: var(--f-en);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--main-color);
  background-color: var(--clr-blue1);
  text-transform: uppercase;
}
.idx08 .slider_wrap .ttl {
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: var(--main-color);
}
.idx08 .slider_navigation .slider_dots {
  flex-grow: 1;
}
.idx08 .slider_navigation .slick-dots {
  display: flex !important;
  justify-content: center;
  position: relative;
  align-items: center;
  width: 100%;
  height: 5px;
}
.idx08 .slider_navigation .slick-dots li {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  background: #fff;
}
.idx08 .slider_navigation .slick-dots li.slick-active button {
  background: var(--clr2);
}
.idx08 .slider_navigation .slick-dots li:first-child {
  border-radius: 3px 0 0 3px;
}
.idx08 .slider_navigation .slick-dots li:last-child {
  border-radius: 0 3px 3px 0;
}
.idx08 .slider_navigation .slick-dots button {
  pointer-events: none;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 3px;
  overflow: hidden;
  cursor: pointer;
  background: #fff;
  color: transparent;
}
.idx08 .slider_navigation .slick-arrow {
  border-radius: 50%;
  border: 0;
  background-color: #fff;
}
.idx08 .slider_navigation .slick-arrow::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border: 1px solid var(--main-color);
}
.idx08 .slider_navigation .slick-arrow::before {
  background-color: var(--main-color);
}
@media only screen and (min-width: 769px) {
  .idx08 {
    padding: 1em 0 14.5em;
  }
  .idx08::after {
    height: 140px;
    top: 34.4%;
  }
  .idx08 .title_wrap {
    margin-bottom: 55px;
  }
  .idx08 .title_wrap .lg {
    top: -0.22em;
    font-size: clamp(110px, 14vw, 150px);
  }
  .idx08 .title_wrap .h_en-center {
    margin-bottom: 1.0303em;
  }
  .idx08 .title_wrap .h_en-center::before {
    margin-bottom: 0.6667em;
  }
  .idx08 .slider_wrap {
    font-size: min(0.9vw, 10px);
    margin-bottom: 5em;
  }
  .idx08 .slider_wrap .item {
    border-radius: 40px;
    max-width: 88em;
    margin: 0 2.5em;
    padding: 4.5em;
    padding-left: 6.5em;
    align-items: center;
    justify-content: space-between;
  }
  .idx08 .slider_wrap picture {
    flex-shrink: 0;
    max-width: 430px;
    width: 57%;
  }
  .idx08 .slider_wrap picture img {
    border-radius: 20px;
  }
  .idx08 .slider_wrap .area {
    width: 40%;
    max-width: 260px;
    padding-top: 8px;
  }
  .idx08 .slider_wrap .title {
    padding-bottom: 2.8em;
    margin-bottom: 1.9em;
  }
  .idx08 .slider_wrap .tag {
    width: 7.2727em;
    height: 1.9394em;
    font-size: calc(var(--fs-base) + 0.5px);
    margin-bottom: 0.4848em;
  }
  .idx08 .slider_wrap .ttl {
    font-size: calc(var(--ttl_size) + 2px);
  }
  .idx08 .slider_wrap .txt {
    font-size: var(--fs-base);
    letter-spacing: 0.16em;
  }
  .idx08 .slider_navigation {
    font-size: min(0.9vw, 10px);
    gap: 5.5em;
    max-width: 88em;
  }
  .idx08 .slider_navigation .slider_arrows {
    flex-shrink: 0;
    gap: 1.8em;
  }
  .idx08 .slider_navigation .slick-arrow {
    width: round(5.5em, 1px);
    height: round(5.5em, 1px);
  }
  .idx08 .slider_navigation .slick-arrow:hover {
    opacity: 1;
    background-color: var(--main-color);
  }
  .idx08 .slider_navigation .slick-arrow:hover::before {
    background-color: white;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx08 .slider_navigation {
    margin: 0 auto;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx08 {
    padding-bottom: 150px;
  }
}

.idx09 {
  position: relative;
  z-index: 0;
}
.idx09::before, .idx09::after {
  content: "";
  position: absolute;
  background-color: #fff;
  z-index: -1;
}
.idx09::before {
  width: 100vw;
  border-top-right-radius: var(--bd-radius);
  right: var(--r);
}
.idx09::after {
  content: "";
  position: absolute;
  width: var(--bd-radius);
  aspect-ratio: 1/1;
  top: calc(var(--bd-radius) * -1);
  right: calc(var(--r) - var(--bd-radius));
  --mask: url("../images/idx09_decor01.svg");
  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;
}
.idx09 .content_wrap .ttl {
  position: relative;
  font-weight: 700;
  line-height: 1.6153846154;
  letter-spacing: 0.1em;
  color: var(--main-color);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}
.idx09 .content_wrap .ttl > span {
  flex-shrink: 0;
  position: relative;
  display: flex;
  align-items: center;
  background-color: var(--clr-blue1);
  border: 1px solid var(--main-color);
  border-bottom: 0;
}
.idx09 .content_wrap .ttl > span::after {
  content: "";
  position: absolute;
  left: calc(100% - 1px);
  bottom: 0;
  background: url("../images/idx09_ttl_decor.png") no-repeat center/cover;
}
.idx09 .content_wrap .ttl::after {
  content: "";
  position: relative;
  display: block;
  flex-grow: 1;
  height: 1px;
  bottom: 0px;
  right: 0px;
  background-color: var(--main-color);
}
@media only screen and (min-width: 769px) {
  .idx09 {
    padding: 7px 0 7.4375em;
    --bd-radius: 20px;
    --r: 35.35%;
  }
  .idx09::before {
    height: 7em;
    top: -7em;
  }
  .idx09 .condition_wrap {
    display: flex;
    justify-content: space-between;
  }
  .idx09 .title_wrap {
    -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;
    margin-left: -0.5em;
  }
  .idx09 .title_wrap .h_en {
    margin-left: 1.1515em;
    margin-bottom: 0;
  }
  .idx09 .title_wrap .h_en::before {
    left: -1px;
    margin-bottom: 0.6061em;
    margin-right: 0;
  }
  .idx09 .content_wrap {
    width: 82%;
    max-width: 880px;
  }
  .idx09 .content_wrap .item:not(:last-child) {
    margin-bottom: 70px;
  }
  .idx09 .content_wrap .ttl {
    font-size: calc(var(--ttl_size) - 2px);
    margin-bottom: 1.5em;
  }
  .idx09 .content_wrap .ttl > span {
    border-radius: 20px 20px 0 0;
    padding: 0.4615em 1.4615em 0.5385em;
  }
  .idx09 .content_wrap .ttl > span::after {
    width: 17px;
    aspect-ratio: 17/19;
  }
  .idx09 .content_wrap .ttl::after {
    left: 15px;
  }
  .idx09 .content_wrap .btn-group {
    --gap: 2em;
    gap: 1.9em var(--gap);
    justify-content: flex-start;
  }
  .idx09 .content_wrap .btn-group .btn {
    max-width: 205px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx09 {
    padding-bottom: 80px;
  }
  .idx09 .content_wrap .btn-group {
    --gap: 10px;
    gap: var(--gap);
  }
  .idx09 .content_wrap .btn-group .btn a {
    font-size: 12px;
  }
}

.idx10 {
  position: relative;
  z-index: 0;
}
.idx10::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 150%;
  top: 0px;
}
.idx10 .content_wrap {
  position: relative;
  z-index: 0;
}
.idx10 .content_wrap::after {
  content: "";
  position: absolute;
  width: 100vw;
  right: 0px;
  background-color: #fff;
  z-index: -1;
}
.idx10 .doctor_wrap {
  position: relative;
  display: flex;
  z-index: 1;
}
.idx10 .doctor_wrap .img_box {
  position: relative;
  z-index: 1;
}
.idx10 .doctor_wrap .img_box .img img {
  mask-position: center center;
  mask-size: 100% 100%;
  mask-repeat: no-repeat;
}
.idx10 .doctor_wrap .img_box .img01 {
  position: absolute;
}
.idx10 .doctor_wrap .img_box .img01 img {
  mask-image: url(../images/idx10_img01_mask.png);
  -webkit-mask-image: url(../images/idx10_img01_mask.png);
}
.idx10 .doctor_wrap .img_box .img02 {
  position: absolute;
}
.idx10 .doctor_wrap .img_box .img02 img {
  mask-image: url(../images/idx10_img02_mask.png);
  -webkit-mask-image: url(../images/idx10_img02_mask.png);
}
.idx10 .doctor_wrap .img_box .img03 {
  width: 100%;
  display: flex;
  justify-content: flex-start;
}
.idx10 .doctor_wrap .img_box .img03 img {
  mask-image: url(../images/idx10_img03_mask.png);
  -webkit-mask-image: url(../images/idx10_img03_mask.png);
}
.idx10 .doctor_wrap .doctor_name {
  position: absolute;
  border-radius: 50%;
  background-color: var(--clr-blue1);
  z-index: 0;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.idx10 .doctor_wrap .doctor_name::before, .idx10 .doctor_wrap .doctor_name::after {
  content: "";
  position: absolute;
  border-radius: inherit;
  z-index: -1;
}
.idx10 .doctor_wrap .doctor_name::before {
  background-color: #fff;
}
.idx10 .doctor_wrap .doctor_name::after {
  border: 1px solid var(--main-color);
}
.idx10 .doctor_wrap .doctor_name .subname {
  position: relative;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: var(--main-color);
}
.idx10 .doctor_wrap .doctor_name .subname::after {
  content: "";
  position: absolute;
  height: 1px;
  bottom: 0px;
  background: url("../images/doctor_name_line.png") repeat-x top left/132px auto;
}
.idx10 .doctor_wrap .doctor_name .name {
  font-weight: 500;
  letter-spacing: 0.1em;
  color: var(--main-color);
}
.idx10 .doctor_wrap .doctor_name .name .en {
  font-size: 0.5em;
  display: block;
  font-weight: 600;
  letter-spacing: 0.1em;
}
.idx10 .info_wrap {
  position: relative;
}
.idx10 .info_wrap::before {
  content: "";
  position: absolute;
  background: url("../images/idx10_decor02.png") no-repeat center/cover;
}
.idx10 .info_wrap::after {
  content: "";
  position: absolute;
  height: 3px;
  left: 0px;
  background: url("../images/ico_dot_hor.png") repeat-x top left/7px 3px;
}
.idx10 .info_wrap .title_wrap {
  display: flex;
  align-items: center;
}
.idx10 .info_wrap .title_wrap h3 {
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--main-color);
  margin-bottom: 0;
}
.idx10 .info_wrap .title_wrap .en {
  margin-bottom: 0;
}
.idx10 .info_wrap .content_box ul li {
  position: relative;
  font-weight: 500;
  color: var(--main-color);
}
.idx10 .info_wrap .content_box ul li::before {
  content: "";
  position: absolute;
  left: 0px;
  background-color: var(--main-color);
}
@media only screen and (min-width: 769px) {
  .idx10 {
    padding: 7.4375em 0;
  }
  .idx10::after {
    left: 50%;
    transform: translateX(-50%);
    mask: url(../images/wave_decor01.png) repeat-x top left/170px auto, linear-gradient(#000 0 0) center/100% calc(round(up, 100%, 1px) - 90px) no-repeat;
    -webkit-mask: url(../images/wave_decor01.png) repeat-x top left/170px auto, linear-gradient(#000 0 0) center/100% calc(round(up, 100%, 1px) - 90px) no-repeat;
    background-image: linear-gradient(180deg, #005aaa -2%, var(--clr-blue1) 58%);
    z-index: -1;
  }
  .idx10 .wrap {
    position: relative;
  }
  .idx10 .wrap::before {
    font-size: min(0.845vw, 10px);
    content: "";
    position: absolute;
    width: 62.2em;
    aspect-ratio: 622/156;
    top: -3.7em;
    left: -12em;
    background: url("../images/idx10_decor01.png") no-repeat center/cover;
    mix-blend-mode: multiply;
  }
  .idx10 .content_wrap::after {
    height: calc(100% - 10em);
    top: 16.625em;
    border-radius: 0 40px 40px 0;
  }
  .idx10 .doctor_wrap .content_box {
    width: 48%;
    max-width: 462px;
  }
  .idx10 .doctor_wrap .img_box {
    font-size: min(0.785vw, 10px);
    padding-top: 0.8em;
    margin-left: 6.8em;
    width: 55em;
    height: fit-content;
  }
  .idx10 .doctor_wrap .img_box .img01 {
    width: 45%;
    max-width: 246px;
    top: -4.4em;
    left: -2.6em;
  }
  .idx10 .doctor_wrap .img_box .img02 {
    width: 63%;
    max-width: 343px;
    top: -20.4em;
    left: calc(100% - 15.1em);
  }
  .idx10 .doctor_wrap .img_box .img03 img {
    max-width: 131.6364%;
  }
  .idx10 .doctor_wrap .doctor_name {
    bottom: 9.2em;
    left: 4.3em;
    width: 20.8em;
    height: 20.8em;
  }
  .idx10 .doctor_wrap .doctor_name::before {
    inset: 0.5em;
  }
  .idx10 .doctor_wrap .doctor_name::after {
    inset: 0.6em;
  }
  .idx10 .doctor_wrap .doctor_name .subname {
    font-size: max(12px, 1.6em);
    padding-bottom: 0.6875em;
    margin-bottom: 0.25em;
  }
  .idx10 .doctor_wrap .doctor_name .subname::after {
    width: 8.25em;
    left: calc(50% - 4.125em);
  }
  .idx10 .doctor_wrap .doctor_name .name {
    font-size: max(16px, 2.4em);
  }
  .idx10 .doctor_wrap .doctor_name .name .en {
    margin-top: -0.6667em;
  }
  .idx10 .doctor_wrap .title_wrap {
    margin-bottom: 2.5em;
  }
  .idx10 .doctor_wrap .sub_title {
    color: #fff;
    margin-bottom: 3.3667em;
  }
  .idx10 .doctor_wrap .txt {
    padding-bottom: 23px;
  }
  .idx10 .doctor_wrap .txt p {
    letter-spacing: 0.11em;
    line-height: 2.25;
  }
  .idx10 .info_wrap {
    padding-right: 6.25em;
    padding-top: 23px;
    display: flex;
    justify-content: space-between;
  }
  .idx10 .info_wrap::before {
    font-size: min(0.9vw, 10px);
    width: 25.6em;
    aspect-ratio: 256/193;
    bottom: calc(100% - 7.1em);
    right: calc(50% - 21.4em);
  }
  .idx10 .info_wrap::after {
    width: calc(100% - 100px);
    top: -1.4375em;
  }
  .idx10 .info_wrap .title_wrap {
    gap: 7px;
    margin-bottom: 17px;
  }
  .idx10 .info_wrap .title_wrap h3 {
    font-size: calc(var(--ttl_size) + 2px);
  }
  .idx10 .info_wrap .content_box {
    width: 67%;
    max-width: 650px;
  }
  .idx10 .info_wrap .content_box ul {
    display: flex;
    flex-flow: column wrap;
    align-content: flex-start;
    max-height: 8.125em;
  }
  .idx10 .info_wrap .content_box ul li {
    padding-left: 0.75em;
    margin-bottom: 0.5em;
  }
  .idx10 .info_wrap .content_box ul li::before {
    width: round(0.3125em, 1px);
    height: round(0.3125em, 1px);
    top: 0.6875em;
  }
  .idx10 .info_wrap .content_box ul li:nth-child(-n+4) {
    width: 42%;
  }
  .idx10 .info_wrap .btn-group {
    width: 25%;
    max-width: 205px;
    margin-top: 7px;
  }
  .idx10 .info_wrap .btn-group .btn:not(:last-child) {
    margin-bottom: 1.9em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx10 .wrap::before {
    left: -4em;
  }
  .idx10 .doctor_wrap .img_box {
    margin-left: 2em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx10 {
    padding: 80px 0;
  }
  .idx10::after {
    left: 0;
    transform: translateX(0);
    mask: url(../images/wave_decor01.png) repeat-x top left/85px auto, linear-gradient(#000 0 0) center/100% calc(round(up, 100%, 1px) - 90px) no-repeat;
    -webkit-mask: url(../images/wave_decor01.png) repeat-x top left/85px auto, linear-gradient(#000 0 0) center/100% calc(round(up, 100%, 1px) - 90px) no-repeat;
    background-image: linear-gradient(180deg, #005aaa -2%, var(--clr-blue1) 58%);
  }
  .idx10 .info_wrap {
    padding-right: 20px;
  }
  .idx10 .info_wrap::after {
    top: 0;
  }
  .idx10 .info_wrap .content_box ul li {
    font-size: 12px;
  }
}

.idx11 {
  position: relative;
  z-index: 1;
  padding: 6.5em 0;
  background-color: var(--clr-blue1);
}
.idx11 .news_wrap {
  position: relative;
}
.idx11 .title_wrap {
  margin-bottom: 20px;
}
.idx11 .content ul li:not(:last-child) {
  border-bottom: 1px dashed var(--main-color);
}
.idx11 .content ul li a {
  position: relative;
  display: block;
  color: var(--clr1);
  text-decoration: none;
  padding: 1em 0;
}
.idx11 .content ul li a::after {
  content: "";
  position: absolute;
  width: 24px;
  aspect-ratio: 1;
  top: calc(50% - 12px);
  right: 0px;
  background: url("../images/ico_news.png") no-repeat center/cover;
}
.idx11 .content ul li a .label_new {
  display: table;
  background-color: #e93737;
  border-radius: 2px;
  color: #fff;
  font-size: 0.75em;
  line-height: 1;
  padding: 3px;
  margin-right: 5px;
  margin-bottom: 0.25em;
}
.idx11 .content ul li a .date {
  display: block;
  font-size: 0.875em;
  color: var(--clr-gray);
  margin-bottom: 0.25em;
}
.idx11 .content ul li a .title {
  color: var(--main-color);
  padding-right: 30px;
  max-width: 100%;
  display: inline-block;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media only screen and (min-width: 769px) {
  .idx11 .news_wrap {
    display: flex;
    justify-content: space-between;
    gap: 4em;
  }
  .idx11 .news_wrap::after {
    content: "";
    position: absolute;
    width: 1px;
    height: 100%;
    top: 0;
    left: calc(50% - 0.5px);
    background: var(--main-color);
  }
  .idx11 .news_wrap .box {
    width: calc(50% - 2em);
  }
}

.idx_gallery {
  position: relative;
  background-color: var(--clr-blue1);
}
@media only screen and (min-width: 769px) {
  .idx_gallery {
    padding-bottom: 6.25em;
  }
  .idx_gallery .list picture {
    max-width: clamp(220px, 32vw, 395px);
    margin: 0 0.9375em;
  }
  .idx_gallery .list picture img {
    border-radius: 20px;
  }
  .idx_gallery .list picture.img02, .idx_gallery .list picture.img04 {
    margin-top: 2.5em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx_gallery {
    padding-bottom: 80px;
  }
}

.idx_map {
  position: relative;
  height: clamp(320px, 40vw, 500px);
}
.idx_map iframe {
  height: 100%;
}

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