@charset "UTF-8";
.home_page .key {
  --height: 56vw;
  --min-height: 550px;
  --max-height: 750px;
  position: relative;
  z-index: 1;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  font-size: min(0.75vw, 10px);
  background: url(../images/idx_key_mv.jpg) no-repeat center/cover;
}
.home_page .key .inner_big {
  position: relative;
  padding: 0 clamp(40px, 5.6vw, 80px);
  max-width: 1283px;
}
.home_page .key .key_text {
  position: relative;
  overflow: hidden;
}
.home_page .key .key_text .item {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  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 {
  padding-top: 8.1em;
  max-width: 60em;
}
.home_page .key h2,
.home_page .key p {
  font-family: var(--f-jp);
}
.home_page .key h2 {
  margin-bottom: 20px;
  font-size: 4.2em;
  letter-spacing: 0.1em;
  line-height: 1.666667;
  color: var(--clr1);
}
.home_page .key h2 .txt_big {
  display: block;
  margin-left: -4px;
  margin-top: 7px;
  letter-spacing: 0.1em;
  font-size: 1.19em;
}
.home_page .key p {
  margin-bottom: 0;
}
.home_page .key .box_num {
  position: relative;
  left: -3px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1em;
}
.home_page .key .box_num .left p {
  margin-bottom: 0;
  text-align: right;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--main-color);
}
.home_page .key .box_num .left .left_top {
  display: flex;
  align-items: flex-end;
}
.home_page .key .box_num .left .left_top .num {
  font-family: var(--f-en);
  font-size: 18em;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  background-image: -moz-linear-gradient(-90deg, rgb(155, 176, 218) 0%, rgb(97, 125, 182) 51%, rgb(24, 61, 138) 79%);
  background-image: -webkit-linear-gradient(-90deg, rgb(155, 176, 218) 0%, rgb(97, 125, 182) 51%, rgb(24, 61, 138) 79%);
  background-image: -ms-linear-gradient(-90deg, rgb(155, 176, 218) 0%, rgb(97, 125, 182) 51%, rgb(24, 61, 138) 79%);
  color: transparent;
  background-clip: text;
}
.home_page .key .box_num .left .left_top .txt_note {
  padding-bottom: 3.8em;
  margin-left: -0.6em;
}
.home_page .key .box_num .left .left_top .txt_note .note_top {
  margin-bottom: 5px;
  margin-right: 3px;
  font-weight: 500;
  font-size: 2em;
}
.home_page .key .box_num .left .left_top .txt_note .note_main {
  font-size: 4em;
}
.home_page .key .box_num .left .left_top .txt_note .note_main .char {
  font-size: 0.7em;
}
.home_page .key .box_num .left .txt_bot {
  padding-right: 0.25em;
  margin-top: -1.5625em;
  font-size: 1.6em;
}
.home_page .key .box_num .circle {
  position: relative;
  top: 0.7em;
  left: 0.2em;
  margin-left: 2em;
  width: 16em;
  height: 16em;
  border-radius: 50%;
  background-color: white;
  overflow: hidden;
  background: url(../images/box_num_circle_bg.jpg) no-repeat center/cover;
}
.home_page .key_circle {
  position: absolute;
  bottom: -4em;
  right: 2px;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  flex-wrap: wrap;
  font-size: 1em;
}
.home_page .key_circle .circle {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 1em;
  width: 25em;
  height: 25em;
  border-radius: 50%;
  box-shadow: 0px 0px 20px 0px rgba(7, 32, 72, 0.08);
}
.home_page .key_circle .circle::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  opacity: 0.9;
}
.home_page .key_circle .circle .ttl {
  padding-bottom: 3.65em;
  font-size: 2em;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-align: center;
  font-weight: 400;
  background: no-repeat center bottom/3.45em auto;
}
.home_page .key_circle .circle.st1 {
  z-index: 2;
  padding-top: 2.3em;
}
.home_page .key_circle .circle.st1::before {
  background-image: url(../images/idx_key_circle_bg01.jpg);
}
.home_page .key_circle .circle.st1 p {
  color: white;
}
.home_page .key_circle .circle.st1 .ttl {
  padding-bottom: 3.4em;
}
.home_page .key_circle .circle.st1 picture {
  display: table;
  margin-bottom: 5px;
  width: 15.1em;
  height: 2.9em;
}
.home_page .key_circle .circle.st1 .ttl {
  background-image: url(../images/idx_key_circle_ttl_ico01.png);
}
.home_page .key_circle .circle.st2 {
  z-index: 1;
  padding-top: 2.4em;
  margin-bottom: 7em;
  margin-left: -3.2em;
}
.home_page .key_circle .circle.st2::before {
  background-color: white;
}
.home_page .key_circle .circle.st2 p {
  color: var(--main-color);
}
.home_page .key_circle .circle.st2 .ttl {
  background-image: url(../images/idx_key_circle_ttl_ico02.png);
}
.home_page .topic_path {
  display: none;
}
.home_page h3 {
  position: relative;
  z-index: 2;
  margin-bottom: 35px;
  font-family: var(--f-jp);
  font-size: calc(var(--ttl_size) + 4px);
  line-height: 1.617647;
  letter-spacing: 0.1em;
  color: var(--main-color);
  text-align: center;
}
.home_page h3 .en {
  display: block;
  margin-bottom: 3px;
  color: var(--clr2);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.4;
  text-transform: uppercase;
}
.home_page h3.white {
  color: #fff;
}
.home_page h3.white .en {
  color: #fff;
}
.home_page h4,
.home_page .ttl {
  font-family: var(--f-jp);
}

@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: 1.2vmin;
    --min-height: 500px;
    --max-height: calc(100vh - var(--wrapper));
  }
}
@media only screen and (max-width: 1366px) and (min-width: 769px) and (max-height: 720px) {
  .home_page .key .inner_big {
    max-width: 135em;
  }
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .home_page .key .key_circle {
    right: 20px;
  }
}
section {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.home_page .id_scroll {
  position: relative;
  top: -60px;
}
@media only screen and (max-width: 768px) {
  .home_page .id_scroll {
    top: -40px;
  }
}
.home_page .uppercase {
  text-transform: uppercase;
}

.home_page .cl-bl {
  color: var(--main-color);
}

.home_page .mask_bg > span {
  color: transparent;
  background-clip: text;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.menu_below_key {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
  height: calc(var(--wrapper) + 30px);
  padding: 10px 20px;
}
.menu_below_key .right_head {
  width: 100%;
  opacity: 1;
  justify-content: center;
  font-size: min(0.92vw, 10px);
}
.menu_below_key .pc_navi > ul {
  width: 100%;
  justify-content: center;
}
.menu_below_key .pc_navi > ul > li > a,
.menu_below_key .pc_navi > ul > li > p {
  letter-spacing: 0.1em;
}
.menu_below_key.hide_right_head .right_head {
  opacity: 0;
}

@media only screen and (min-width: 769px) and (max-width: 1170px) {
  .menu_below_key .pc_navi > ul > li > a,
  .menu_below_key .pc_navi > ul > li > p {
    padding-left: 2em;
    padding-right: 2em;
  }
}
.idx01 {
  padding: 108px 0 120px;
  background: no-repeat center/cover;
}
@media only screen and (min-width: 769px) {
  .idx01 {
    background-image: url(../images/idx01_bg.jpg);
  }
}
.idx01 .box_list {
  position: relative;
  padding: 50px 28px 50px 28px;
  margin-top: 40px;
  max-width: 682px;
  min-height: 400px;
  background-color: white;
  border-radius: 5px;
}
.idx01 .box_list .en {
  position: absolute;
  left: 0;
  top: -0.45em;
  width: 100%;
  font-size: clamp(40px, 3.5vw, 50px);
  color: var(--main-color);
  line-height: 1;
  text-transform: uppercase;
  text-align: center;
  color: transparent;
  background-clip: text;
  background-image: -moz-linear-gradient(-90deg, rgb(155, 176, 218) 0%, rgb(97, 125, 182) 50%, rgb(24, 61, 138) 100%);
  background-image: -webkit-linear-gradient(-90deg, rgb(155, 176, 218) 0%, rgb(97, 125, 182) 50%, rgb(24, 61, 138) 100%);
  background-image: -ms-linear-gradient(-90deg, rgb(155, 176, 218) 0%, rgb(97, 125, 182) 50%, rgb(24, 61, 138) 100%);
}
.idx01 .box_list ul li {
  padding: 0.65em 1em 0.7em 4em;
  font-size: clamp(18px, 1.4vw, 20px);
  font-family: var(--f-jp);
  letter-spacing: 0.1em;
  line-height: 1.6;
  border-bottom: 1px solid #c9c9c9;
  background: url(../images/idx01_li_ico.png) no-repeat left 1.2em top 0.7em/1.75em auto;
}

@media only screen and (min-width: 769px) {
  .idx01 .inner {
    max-width: 1156px;
  }
  .idx01 h3 {
    margin-bottom: 28px;
  }
  .idx01 .idx_box {
    justify-content: flex-end;
  }
  .idx01 .idx_box .box_list {
    width: 62%;
  }
}
@media only screen and (max-width: 1280px) {
  .idx01 .box_list {
    min-height: auto;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx01 {
    position: relative;
    z-index: 1;
    background-image: url(../images/idx01_bg_1280.jpg);
  }
  .idx01::before {
    content: "";
    display: block;
    position: absolute;
    transition: all 0.3s;
    z-index: -1;
    left: -7%;
    top: 0;
    width: 65%;
    height: 100%;
    background: url(../images/idx01_char.png) no-repeat bottom left/100% auto;
  }
}
@media only screen and (max-width: 1024px) {
  .idx01 .box_list ul li {
    padding-top: 0.7em;
    background-position: left 1.2em center;
  }
}
.idx02 {
  position: relative;
  z-index: 2;
  background-color: #f6f6f6;
}
.idx02::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  right: 0;
  bottom: -5em;
  margin: 0 auto;
  width: 18.2em;
  height: 5.2em;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background-color: #f6f6f6;
  font-size: clamp(8px, 1vw, 10px);
}
.idx02 .inner {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 40px;
  padding-bottom: 40px;
  min-height: min(32vw, 320px);
}
.idx02 .inner h3 {
  margin-bottom: 0;
}

@media only screen and (min-width: 769px) {
  .idx02 h3 {
    font-size: var(--ttl_size);
  }
}
.idx03 {
  position: relative;
  z-index: 1;
  padding-top: 159px;
}
.idx03::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 60%;
  max-height: 803px;
  background: no-repeat center bottom/cover;
}
@media only screen and (min-width: 769px) {
  .idx03::before {
    background-image: url(../images/idx03_bg.jpg);
  }
}
@media only screen and (max-width: 768px) {
  .idx03::before {
    height: 40%;
    min-height: 400px;
    background-image: url(../images/idx03_bg.jpg);
  }
}
.idx03 .id_scroll {
  top: -20px;
}
@media only screen and (max-width: 768px) {
  .idx03 .id_scroll {
    top: -10px;
  }
}
.idx03 .box_decor01 .en-big {
  padding-top: 0.3187em;
  padding-bottom: 0.1875em;
  margin-bottom: 18px;
}
.idx03 .box_decor01 .en-big > span {
  opacity: 0.1;
  background-image: -moz-linear-gradient(-90deg, rgb(163, 189, 237) 0%, rgb(105, 145, 199) 100%);
  background-image: -webkit-linear-gradient(-90deg, rgb(163, 189, 237) 0%, rgb(105, 145, 199) 100%);
  background-image: -ms-linear-gradient(-90deg, rgb(163, 189, 237) 0%, rgb(105, 145, 199) 100%);
}
.idx03 .box_decor01 .en-big::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: 1;
  left: 0;
  right: 0.4em;
  top: 0;
  margin: 0 auto;
  width: 2.5313em;
  height: 1.3562em;
  background: url(../images/idx03_en_decor01.png) no-repeat center/cover;
  filter: drop-shadow(10px 21px 15px rgba(42, 88, 97, 0.1));
}
@media only screen and (min-width: 769px) {
  .idx03 .box_decor01 .en-big {
    left: 4px;
  }
}
.idx03 h3 {
  font-size: calc(var(--ttl_size) + 14px);
}
.idx03 h3 > span {
  background-image: -moz-linear-gradient(-90deg, rgb(155, 176, 218) 0%, rgb(97, 125, 182) 50%, rgb(24, 61, 138) 100%);
  background-image: -webkit-linear-gradient(-90deg, rgb(155, 176, 218) 0%, rgb(97, 125, 182) 50%, rgb(24, 61, 138) 100%);
  background-image: -ms-linear-gradient(-90deg, rgb(155, 176, 218) 0%, rgb(97, 125, 182) 50%, rgb(24, 61, 138) 100%);
}
.idx03 h4,
.idx03 p {
  color: white;
}
.idx03 h4 {
  margin-bottom: 18px;
  font-size: calc(var(--ttl_size) + 4px);
  line-height: 1.6;
  letter-spacing: 0.1em;
  text-align: center;
  text-shadow: 0 0 50px rgba(10, 57, 163, 0.5);
}
.idx03 h4 .frame {
  display: inline-block;
  margin-right: 9px;
  line-height: 1.4;
}
.idx03 h4 .frame > span {
  padding: 0 3px 1px 6px;
  color: var(--main-color);
  background-color: rgba(247, 248, 249, 0.9);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.idx03 .idx_box_style01 {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 40px 40px 42px;
  max-width: 1280px;
  min-height: clamp(650px, 55.2vw, 794px);
  margin-left: auto;
  margin-right: auto;
}
.idx03 .idx_box_style01::before, .idx03 .idx_box_style01::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  top: 0;
  z-index: -1;
  width: 50%;
  height: 100%;
  background: no-repeat center/cover;
}
.idx03 .idx_box_style01::before {
  left: 0;
  background-image: url(../images/idx03_box_bg01.jpg);
}
.idx03 .idx_box_style01::after {
  right: 0;
  background-image: url(../images/idx03_box_bg02.jpg);
}
.idx03 .idx_box_style01 .box_inside {
  width: 100%;
}
.idx03 .idx_box_style01 .ct_area {
  margin-bottom: 51px;
}
.idx03 .idx_box_style01 .ct_area p {
  text-align: center;
  text-shadow: 0 0 18px rgba(3, 24, 74, 0.8);
}
.idx03 .idx_box_style01 .btn-group {
  --size-mg: 14px;
}

@media only screen and (min-width: 769px) {
  .idx03 h3 {
    margin-bottom: 108px;
  }
  .idx03 h4 .frame {
    position: relative;
    margin-left: -11px;
  }
  .idx03 h4 .line02 {
    margin-left: 10px;
  }
}
.idx04 {
  padding-top: 100px;
}
.idx04 .idx_box_top {
  margin-bottom: 14px;
}
.idx04 .idx_box_top h3 {
  margin-bottom: 0;
}
.idx04 .idx_box_top h3 .big {
  display: block;
  margin-top: -6px;
  letter-spacing: 0.1em;
  font-size: 1.3529em;
}
.idx04 .idx_box_top .item01 {
  width: 27.4%;
  padding-left: 3%;
}
.idx04 .idx_box_top .item01 img {
  margin-left: auto;
  margin-right: 0;
  width: 100%;
  max-width: 301px;
}
@media only screen and (min-width: 769px) {
  .idx04 .idx_box_top .item02 {
    padding-top: 36px;
    padding-left: 1.6%;
    width: 40%;
  }
}
.idx04 .idx_box_top .circle_gr {
  position: relative;
  width: 36.8em;
  height: 27.1em;
  font-size: min(0.8vw, 10px);
}
.idx04 .idx_box_top .circle_gr .circle {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
  width: 20em;
  height: 20em;
  border-radius: 50%;
  box-shadow: 0px 0px 20px 0px rgba(7, 32, 72, 0.08);
}
.idx04 .idx_box_top .circle_gr .circle .ttl {
  margin-bottom: 0;
  font-size: 2em;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-align: center;
  color: var(--main-color);
}
.idx04 .idx_box_top .circle_gr .circle.c1 {
  top: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.9);
}
.idx04 .idx_box_top .circle_gr .circle.c2 {
  z-index: 2;
  right: 0;
  bottom: 0;
  background: url(../images/idx04_circle_bg.png) no-repeat center/cover;
}
.idx04 .idx_box_item {
  --size-mg: 14px;
}
.idx04 .idx_box_item h4 {
  position: relative;
  padding-left: 15px;
  margin-bottom: 25px;
  font-size: 24px;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: var(--main-color);
}
.idx04 .idx_box_item h4::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  left: 0;
  top: 0.2em;
  width: 2px;
  height: calc(100% - 8px);
  background-color: var(--main-color);
}
.idx04 .idx_box_item .img_slide_gr .left_slide,
.idx04 .idx_box_item .img_slide_gr .right_slide {
  position: relative;
  z-index: 1;
  width: calc(50% - 1px);
  border-radius: 5px;
  overflow: hidden;
}
.idx04 .idx_box_item .img_slide_gr .left_slide::before,
.idx04 .idx_box_item .img_slide_gr .right_slide::before {
  position: absolute;
  z-index: 2;
  top: 10px;
  left: 10px;
  font-size: clamp(12px, 1.2vw, 16px);
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0.1em;
  font-family: var(--f-en);
  text-transform: uppercase;
  color: var(--main-color);
}
.idx04 .idx_box_item .img_slide_gr .left_slide::before {
  content: "before";
}
.idx04 .idx_box_item .img_slide_gr .right_slide::before {
  content: "after";
}
.idx04 .idx_box_item .img_slide_gr .img_slick_slide:not(.slick-initialized) .slide:not(:first-of-type) {
  display: none;
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx04 .idx_box_top h3 {
    font-size: 22px;
  }
  .idx04 .idx_box_item {
    --size-mg: 5px;
  }
}
.idx05 {
  padding: 140px 0 116px;
}

.idx06 .txt_note {
  text-align: center;
}
.idx06 .idx_box_gr {
  counter-reset: idx06_count;
  margin-top: 59px;
}
.idx06 .idx_box_gr .idx_box {
  display: flex;
  flex-direction: column;
  max-width: 358px;
  margin-bottom: 82px;
}
.idx06 .idx_box_gr .idx_box picture {
  position: relative;
  z-index: 1;
  display: table;
  margin-bottom: 32px;
}
.idx06 .idx_box_gr .idx_box picture::before {
  content: counter(idx06_count, decimal-leading-zero);
  counter-increment: idx06_count;
  position: absolute;
  top: -0.5667em;
  left: 0.2em;
  z-index: 2;
  font-size: clamp(40px, 4.2vw, 60px);
  line-height: 1;
  letter-spacing: 0.05em;
  font-family: var(--f-en);
  color: var(--clr2);
}
.idx06 .idx_box_gr .idx_box picture img {
  border-radius: 5px;
}
.idx06 .idx_box_gr .idx_box h4 {
  margin-bottom: 16px;
  font-size: clamp(20px, 1.7vw, 24px);
  letter-spacing: 0.1em;
  color: var(--main-color);
}
.idx06 .idx_box_gr .idx_box .box_ct {
  padding-left: 30px;
  padding-right: 10px;
}
.idx06 .idx_box_gr .idx_box .ct_area {
  margin-top: auto;
  max-width: 300px;
}
.idx06 .idx_box_gr .idx_box .ct_area p {
  line-height: 2;
}

@media only screen and (min-width: 769px) {
  .idx06 h3 {
    margin-bottom: 18px;
  }
  .idx06 .idx_box_gr .idx_box {
    width: calc(33.33333% - 10px);
  }
  .idx06 .idx_box_gr .idx_box:nth-of-type(3n + 2) .box_ct {
    padding-left: 19px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx06 .idx_box_gr .idx_box .box_ct {
    padding-left: 5px;
  }
}
.idx07 {
  padding-top: 45px;
  padding-bottom: 119px;
}

@media only screen and (min-width: 769px) {
  .idx07 h3 {
    margin-bottom: 49px;
  }
}
.idx08 {
  padding: 108px 0 103px;
  background: no-repeat center/cover;
}
@media only screen and (min-width: 769px) {
  .idx08 {
    background-image: url(../images/idx08_bg.jpg);
  }
}
@media only screen and (max-width: 768px) {
  .idx08 {
    background-image: url(../images/idx08_bg_sp.jpg);
  }
}
.idx08 .inner_big {
  max-width: 1360px;
}
.idx08 .item_gr {
  --size-mg: 1.35em;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
  font-size: min(0.7vw, 10px);
}
.idx08 .item_gr .item {
  margin: var(--size-mg);
  max-width: 16em;
}
.idx08 .item_gr .item .circle {
  margin-bottom: 2.6em;
  border: 1px solid white;
  width: 16em;
  height: 16em;
  border-radius: 50%;
  background: no-repeat center/10.8em auto;
}
.idx08 .item_gr .item h4 {
  margin-bottom: 0;
  margin-left: -0.5556em;
  margin-right: -0.5556em;
  font-size: 1.8em;
  letter-spacing: 0.05em;
  line-height: 1.4;
  text-align: center;
  color: white;
}
.idx08 .item_gr .it01 .circle {
  background-image: url(../images/idx08_ico1.png);
}
.idx08 .item_gr .it02 .circle {
  background-image: url(../images/idx08_ico2.png);
}
.idx08 .item_gr .it03 .circle {
  background-image: url(../images/idx08_ico3.png);
}
.idx08 .item_gr .it04 .circle {
  background-image: url(../images/idx08_ico4.png);
}
.idx08 .item_gr .it05 .circle {
  background-image: url(../images/idx08_ico5.png);
}
.idx08 .item_gr .it06 .circle {
  background-image: url(../images/idx08_ico6.png);
}
.idx08 .item_gr .it07 .circle {
  background-image: url(../images/idx08_ico7.png);
}

@media only screen and (min-width: 769px) {
  .idx08 h3 {
    margin-bottom: 37px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx08 .item_gr {
    font-size: 1.1vw;
  }
}
.idx09 {
  padding: 116px 0 120px;
}
.idx09 .flow_slick-nav {
  --size-mg: 1.6em;
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 34px;
  font-size: min(0.9vw, 10px);
}
.idx09 .flow_slick-nav .nav_item {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 0.5em 1em;
  max-width: 198px;
  min-height: 10em;
  border-radius: 5px;
  background-color: white;
  transition: all 0.3s;
  cursor: pointer;
}
.idx09 .flow_slick-nav .nav_item::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border-radius: 5px;
  border: 1px solid #c9c9c9;
  opacity: 1;
}
.idx09 .flow_slick-nav .nav_item::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  right: calc(var(--size-mg) * -2);
  bottom: 0;
  top: 0;
  margin: auto 0;
  width: calc(var(--size-mg) * 2);
  height: 1px;
  background-color: #c9c9c9;
}
.idx09 .flow_slick-nav .nav_item .ttl {
  margin-bottom: 0;
  font-size: 1.8em;
  letter-spacing: 0.05em;
  line-height: 1.66667;
  text-align: center;
  color: #c9c9c9;
  transition: all 0.3s;
}
.idx09 .flow_slick-nav .nav_item:last-child::after {
  display: none;
}
.idx09 .flow_slick-nav .nav_item.active {
  background-color: var(--main-color);
}
.idx09 .flow_slick-nav .nav_item.active::before {
  opacity: 0;
}
.idx09 .flow_slick-nav .nav_item.active .ttl {
  color: white;
}
@media only screen and (min-width: 769px) {
  .idx09 .flow_slick-nav .nav_item:not(.active):hover {
    background-color: var(--clr2);
  }
  .idx09 .flow_slick-nav .nav_item:not(.active):hover .ttl {
    color: white;
  }
}
.idx09 .flow_slick_btn {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  height: 1px;
  width: calc(var(--size-w-item) + var(--size-space) * 2);
  font-size: min(1vw, 10px);
}
.idx09 .flow_slick_btn .btn {
  position: absolute;
  z-index: 3;
  top: -4em;
  width: 8em;
  height: 8em;
  border-radius: 50%;
  background-color: white;
  box-shadow: 0px 20px 26.7px 3.3px rgba(54, 149, 152, 0.05);
  transition: all 0.3s;
  cursor: pointer;
}
.idx09 .flow_slick_btn .btn::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  inset: 0;
  margin: auto;
  width: 1.3em;
  height: 2.4em;
  background: no-repeat center/cover;
}
.idx09 .flow_slick_btn .btn.pre {
  left: -4em;
}
.idx09 .flow_slick_btn .btn.pre::before {
  background-image: url(../images/flow_slick_btn01.png);
}
.idx09 .flow_slick_btn .btn.next {
  right: -4em;
}
.idx09 .flow_slick_btn .btn.next::before {
  background-image: url(../images/flow_slick_btn02.png);
}
@media only screen and (min-width: 769px) {
  .idx09 .flow_slick_btn .btn:hover {
    background-color: var(--clr2);
  }
}
.idx09 .flow_gr {
  --size-space: 68.5px;
  --size-w-item: min(60vw, 844px);
  --size-min-h-item: 540px;
  --size-w-slick-for: calc(var(--size-w-item) * 5 + var(--size-space) * 10);
  position: relative;
  z-index: 1;
}
.idx09 .flow_slick-for:not(.slick-initialized) {
  display: flex;
  margin-left: calc(50% - var(--size-w-slick-for) / 2);
  width: var(--size-w-slick-for);
}
.idx09 .flow_slick-for .flow_item {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  margin: 0 var(--size-space);
  width: var(--size-w-item);
  min-height: var(--size-min-h-item);
  border-radius: 5px;
  background-color: white;
}
.idx09 .flow_slick-for .flow_item::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border-radius: 5px;
  background: no-repeat center top/cover;
}
.idx09 .flow_slick-for .flow_item .item_ct {
  display: block;
  position: relative;
  padding: 32px 40px 35px;
  width: 100%;
  min-height: calc(var(--size-min-h-item) / 2 - 3px);
  background-color: rgba(255, 255, 255, 0.9);
  transition: all 0.5s;
}
.idx09 .flow_slick-for .flow_item .item_ct h4 {
  margin-bottom: 11px;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.6;
  color: var(--main-color);
  text-align: center;
}
.idx09 .flow_slick-for .flow_item .item_ct .txt_area {
  max-width: 620px;
  margin-left: auto;
  margin-right: auto;
}
.idx09 .flow_slick-for .flow_item.item01::before {
  background-image: url(../images/flow_slick_bg01.jpg);
}
.idx09 .flow_slick-for .flow_item.item02::before {
  background-image: url(../images/flow_slick_bg02.jpg);
}
.idx09 .flow_slick-for .flow_item.item03::before {
  background-image: url(../images/flow_slick_bg03.jpg);
}
.idx09 .flow_slick-for .flow_item.item04::before {
  background-image: url(../images/flow_slick_bg04.jpg);
}
.idx09 .flow_slick-for .flow_item.item05::before {
  background-image: url(../images/flow_slick_bg05.jpg);
}
.idx09 .flow_slick-for .flow_item:not(.slick-target) .item_ct {
  bottom: calc(var(--size-min-h-item) / -2);
  opacity: 0;
}
.idx09 .flow_slick-for .flow_item.slick-current .item_ct, .idx09 .flow_slick-for .flow_item.slick-target .item_ct {
  bottom: 0;
  opacity: 1;
}

@media only screen and (min-width: 769px) {
  .idx09 h3 {
    margin-bottom: 67px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx09 .flow_gr {
    --size-space: 5vw;
  }
  .idx09 .flow_slick-for .flow_item .item_ct {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media only screen and (min-width: 769px) {
  .idx10 h3 .en {
    margin-bottom: 2px;
  }
}
.idx11 {
  padding-top: 115px;
  background: no-repeat center/cover;
}
@media only screen and (min-width: 769px) {
  .idx11 {
    background-image: url(../images/idx11_bg.jpg);
  }
}
@media only screen and (max-width: 768px) {
  .idx11 {
    background-image: url(../images/idx11_bg_sp.jpg);
  }
}
.idx11 h3 .big {
  margin-left: 5px;
  margin-right: 5px;
  font-size: 1.3529em;
  letter-spacing: 0.1em;
}
.idx11 h3 .mask_bg > span {
  background-image: -moz-linear-gradient(-90deg, rgb(155, 176, 218) 0%, rgb(97, 125, 182) 50%, rgb(24, 61, 138) 100%);
  background-image: -webkit-linear-gradient(-90deg, rgb(155, 176, 218) 0%, rgb(97, 125, 182) 50%, rgb(24, 61, 138) 100%);
  background-image: -ms-linear-gradient(-90deg, rgb(155, 176, 218) 0%, rgb(97, 125, 182) 50%, rgb(24, 61, 138) 100%);
}
.idx11 h4 {
  display: table;
  margin-bottom: 40px;
  font-size: var(--ttl_size);
  color: var(--main-color);
  letter-spacing: 0.1em;
  line-height: 1.7;
}
.idx11 h4 > span {
  padding-bottom: 4px;
  box-decoration-break: clone;
  --webkit-box-decoration-break: clone;
  background-image: linear-gradient(to bottom, var(--main-color) 0%, var(--main-color) 100%);
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: auto 1px;
}
.idx11 .list_st02 {
  width: 100%;
  max-width: 682px;
}
.idx11 .list_st02 li {
  padding: 0.7692em 1.0769em 0.8462em 1.0769em;
  margin-bottom: 9px;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 5px;
  font-family: var(--f-jp);
  letter-spacing: 0.1em;
  font-size: calc(var(--ttl_size) - 4px);
  line-height: 1.5;
}
.idx11 .list_st02 li > span {
  position: relative;
  display: block;
  padding-left: 1.9231em;
}
.idx11 .list_st02 li > span::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 1.5385em;
  height: 1.2692em;
  background: url(../images/list_st02_ico.png) no-repeat center/cover;
}
.idx11 .list_st02 li:last-child {
  margin-bottom: 0;
}
.idx11 .idx_box {
  align-items: flex-end;
}
.idx11 .idx_box .box_ct {
  max-width: 682px;
}
.idx11 .idx_box .box_pic {
  max-width: 454px;
}

@media only screen and (min-width: 769px) {
  .idx11 h3 {
    margin-bottom: 2px;
    line-height: 1.5;
  }
  .idx11 h3 .en {
    margin-bottom: -3px;
    font-size: 18px;
  }
  .idx11 .inner_big {
    padding-left: 101px;
  }
  .idx11 .idx_box {
    align-items: flex-end;
  }
  .idx11 .idx_box h4 {
    margin-right: -20px;
  }
  .idx11 .idx_box .box_ct {
    width: 60%;
    padding-bottom: 120px;
  }
  .idx11 .idx_box .box_pic {
    width: 38%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1170px) {
  .idx11 h3 {
    margin-bottom: 30px;
  }
  .idx11 .inner_big {
    padding-left: 40px;
  }
}
.idx12 {
  padding: 116px 0 132px;
}
.idx12 .feature_gr {
  counter-reset: idx012_count;
}
.idx12 .feature_gr .feature_box {
  display: flex;
  flex-direction: column;
  max-width: 408px;
}
.idx12 .feature_gr .feature_box picture {
  position: relative;
  z-index: 1;
  display: table;
  font-size: 10px;
  margin-bottom: 42px;
}
.idx12 .feature_gr .feature_box picture::after {
  content: counter(idx012_count, decimal-leading-zero);
  counter-increment: idx012_count;
  position: absolute;
  right: 0.09em;
  bottom: -0.67em;
  font-size: clamp(80px, 7vw, 100px);
  letter-spacing: 0.05em;
  line-height: 1;
  font-family: var(--f-en);
  color: transparent;
  background-clip: text;
  text-transform: uppercase;
  background-image: -moz-linear-gradient(130deg, rgb(172, 203, 238) 41%, rgb(231, 240, 253) 76%);
  background-image: -webkit-linear-gradient(130deg, rgb(172, 203, 238) 41%, rgb(231, 240, 253) 76%);
  background-image: -ms-linear-gradient(130deg, rgb(172, 203, 238) 41%, rgb(231, 240, 253) 76%);
}
.idx12 .feature_gr .feature_box picture img {
  border-radius: 5px;
}
.idx12 .feature_gr .feature_box h4 {
  margin-bottom: 15px;
  font-size: clamp(20px, 1.7vw, 24px);
  line-height: 1.458333;
  color: var(--main-color);
  letter-spacing: 0.1em;
}
.idx12 .feature_gr .feature_box .box_ct {
  padding-left: 9px;
  padding-right: 11px;
}
.idx12 .feature_gr .feature_box .ct_area p {
  line-height: 2;
}

@media only screen and (min-width: 769px) {
  .idx12 h3 {
    margin-bottom: 49px;
  }
  .idx12 .feature_gr .feature_box {
    width: calc(33.33333% - 10px);
  }
  .idx12 .feature_gr .feature_box:nth-of-type(2) picture::after {
    right: 12px;
  }
}
.idx14 {
  padding: 116px 0 120px;
  background: no-repeat center/cover;
}
@media only screen and (min-width: 769px) {
  .idx14 {
    background-image: url(../images/idx14_bg.jpg);
  }
}
@media only screen and (max-width: 768px) {
  .idx14 {
    background-image: url(../images/idx14_bg_sp.jpg);
  }
}
.idx14 h3 {
  margin-bottom: 17px;
}
.idx14 p {
  color: white;
}
.idx14 .txt_top {
  margin-left: auto;
  margin-right: auto;
  max-width: 900px;
  text-align: center;
}
.idx14 .txt_frame {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 10px;
  margin-top: 60px;
  min-height: 115px;
  border-radius: 5px;
  border: 1px solid white;
}
.idx14 .txt_frame .ttl {
  margin-bottom: 0;
  font-size: calc(var(--ttl_size) - 4px);
  line-height: 1.34615;
  text-align: center;
}
.idx14 .label_gr {
  --size-mg: 14px;
  margin-top: 17px;
  margin-bottom: 66px;
}
.idx14 .label_gr .box_label {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  min-height: 70px;
  padding: 5px 10px;
  border-radius: 5px;
  background-color: rgba(255, 255, 255, 0.8);
}
.idx14 .label_gr .box_label > p {
  margin-bottom: 0;
  font-size: clamp(18px, 1.6vw, 22px);
  font-family: var(--f-jp);
  line-height: 1.4;
  text-align: center;
  color: var(--main-color);
}
.idx14 .price_box_gr {
  margin-top: 31px;
}
.idx14 .price_box_gr .price_box {
  max-width: 545px;
  width: calc(50% - 14px);
}
.idx14 .price_box_gr .price_box .box_details {
  border-radius: 5px;
  height: 100%;
  background-color: white;
}
.idx14 .price_box_gr .price_box .box_details .b_txt_top {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 0.1786em 0.3571em;
  margin-bottom: 0;
  min-height: 2.8571em;
  border-radius: 5px 5px 0 0;
  font-size: calc(var(--ttl_size) - 2px);
  line-height: 1.4;
  font-family: var(--f-jp);
  color: white;
  background-color: var(--main-color);
}
.idx14 .price_box_gr .price_box .box_details .b_body {
  padding: 17px 35px 40px 35px;
}
.idx14 .price_box_gr .price_box .box_details .b_body p {
  color: var(--main-color);
}
.idx14 .price_box_gr .price_box .box_details .b_body .b_ttl {
  display: table;
  padding-left: 15px;
  padding-right: 15px;
  padding-bottom: 3px;
  margin: 0 auto 35px;
  min-width: 272px;
  border-bottom: 1px solid #c9c9c9;
  font-size: calc(var(--ttl_size) - 4px);
  font-family: var(--f-jp);
  text-align: center;
}
.idx14 .price_box_gr .price_box .box_details .b_body .b_num {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  font-size: clamp(8px, 1vw, 10px);
}
.idx14 .price_box_gr .price_box .box_details .b_body .b_num p {
  margin-bottom: 0;
  line-height: 1;
}
.idx14 .price_box_gr .price_box .box_details .b_body .b_num .num_big {
  font-size: 9em;
  font-family: var(--f-en);
  letter-spacing: 0;
  font-weight: 500;
  color: var(--main-color);
  text-transform: uppercase;
}
.idx14 .price_box_gr .price_box .box_details .b_body .b_num .num_big .char {
  margin-left: 1px;
}
.idx14 .price_box_gr .price_box .box_details .b_body .b_num .txt_right {
  padding-bottom: 1.8em;
  margin-left: 3px;
  font-family: var(--f-jp);
  text-align: right;
  letter-spacing: 0.1em;
}
.idx14 .price_box_gr .price_box .box_details .b_body .b_num .txt_right .sm {
  display: block;
  margin-bottom: 0.5em;
  font-size: 1.6em;
}
.idx14 .price_box_gr .price_box .box_details .b_body .b_num .txt_right .big {
  font-size: 2.4em;
}
.idx14 .price_box_gr .price_box .box_details .b_body .b_frame {
  padding: 25px 20px 27px 33px;
  margin: 25px auto 0;
  max-width: 398px;
  border: 1px solid #c9c9c9;
  border-radius: 5px;
}
.idx14 .price_box_gr .price_box .box_details .b_body .b_frame .frame_ttl {
  margin-bottom: 12px;
  font-size: clamp(18px, 1.4vw, 20px);
  line-height: 1.4;
  font-family: var(--f-jp);
  text-align: center;
  color: var(--main-color);
}
.idx14 .price_box_gr .price_box .box_details .b_body .b_frame .list03 {
  max-width: 283px;
  margin-left: auto;
  margin-right: auto;
}
.idx14 .price_box_gr .price_box .box_details .b_body .b_frame .list03 li {
  position: relative;
  z-index: 1;
  padding-left: 17px;
  margin-bottom: 9px;
  color: var(--main-color);
  letter-spacing: 0.1em;
  line-height: 1.4;
}
.idx14 .price_box_gr .price_box .box_details .b_body .b_frame .list03 li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--main-color);
}
.idx14 .price_box_gr .price_box .box_details .b_body .b_frame .list03 li:last-child {
  margin-bottom: 0;
}

.idx15 {
  padding-top: 117px;
}

@media only screen and (min-width: 769px) {
  .idx15 h3 {
    margin-bottom: 49px;
  }
  .idx15 h3 .en {
    font-size: 18px;
  }
}
.idx16 {
  padding: 140px 0 120px;
}

.idx17 {
  padding-bottom: 120px;
}
.idx17 .inner_big {
  position: relative;
  z-index: 1;
}
.idx17 .inner_big::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  right: 17.9%;
  top: -61px;
  width: 150%;
  height: calc(100% + 160px);
  max-width: 1383px;
  max-height: 830px;
  background: no-repeat center/cover;
}
@media only screen and (min-width: 769px) {
  .idx17 .inner_big::before {
    background-image: url(../images/idx17_bg.jpg);
  }
}
.idx17 .box_name {
  margin-top: 40px;
  margin-right: 0;
  margin-left: auto;
  padding-top: 2.6em;
  max-width: 464px;
  border-top: 1px solid #c9c9c9;
  font-size: 10px;
}
.idx17 .box_name p {
  text-align: right;
  line-height: 1.4;
  font-family: var(--f-jp);
  color: var(--main-color);
  font-weight: 500;
  letter-spacing: 0.1em;
}
.idx17 .box_name .position {
  position: relative;
  right: -5px;
  margin-bottom: 1px;
  font-size: 1.8em;
}
.idx17 .box_name .name {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-bottom: 0;
}
.idx17 .box_name .name .jp {
  font-size: 2.6em;
  letter-spacing: 0.24em;
}
.idx17 .box_name .name .en {
  position: relative;
  top: 2px;
  display: inline;
  font-size: 1.4em;
  font-weight: 400;
  margin-left: 4px;
  letter-spacing: 0.1em;
  text-transform: lowercase;
  color: var(--clr2);
}
.idx17 .idx_box .box_ct {
  max-width: 468px;
}
.idx17 .idx_box .box_pic {
  --size-pd: clamp(40px, 5.6vw, 80px);
  position: relative;
  z-index: 1;
  padding-right: var(--size-pd);
  padding-bottom: calc(var(--size-pd) - 10px);
  max-width: 626px;
}
.idx17 .idx_box .box_pic::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  right: 0;
  bottom: 0;
  width: calc(100% - var(--size-pd));
  height: calc(100% - var(--size-pd) + 20px);
  max-height: 609px;
  border-radius: 5px;
  background: url(../images/idx17_img01_decor.jpg) no-repeat center/cover;
}
.idx17 .idx_box .box_pic img {
  border-radius: 5px;
}

@media only screen and (min-width: 769px) {
  .idx17 h3 {
    display: flex;
    align-items: center;
    text-align: left;
    margin-bottom: 37px;
  }
  .idx17 h3 .en {
    display: inline;
    margin-bottom: 0;
    margin-left: 10px;
  }
  .idx17 .box_name {
    margin-right: 4px;
  }
  .idx17 .idx_box {
    --size-space: min(7.3vw, 105px);
    --size-w-pic: 50%;
    justify-content: flex-end;
    align-items: flex-start;
  }
  .idx17 .idx_box .box_ct {
    padding-top: 68px;
    margin-right: var(--size-space);
    width: calc(100% - var(--size-w-pic) - var(--size-space));
  }
  .idx17 .idx_box .box_pic {
    width: var(--size-w-pic);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx17 {
    padding-bottom: 100px;
  }
  .idx17 .idx_box {
    --size-w-pic: 45%;
    --size-space: 40px;
  }
  .idx17 .idx_box .box_ct {
    padding-top: 0;
  }
}
.idx18 {
  padding: 98px 0 120px;
}
.idx18 .idx_logo {
  display: table;
  margin-bottom: 55px;
}
.idx18 .infor {
  margin-bottom: 56px;
}
.idx18 .infor dl {
  --size-w-dt: 100px;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.idx18 .infor dl:last-of-type {
  margin-bottom: 0;
}
.idx18 .infor dl dt,
.idx18 .infor dl dd {
  line-height: 1.5;
}
.idx18 .infor dl dt {
  width: var(--size-w-dt);
}
.idx18 .infor dl dd {
  padding-left: 10px;
  width: calc(100% - var(--size-w-dt));
}
.idx18 .idx_map {
  margin-top: 50px;
}
.idx18 .idx_box .box_ct {
  max-width: 436px;
}
.idx18 .idx_box .box_pic {
  max-width: 573px;
}
.idx18 .idx_box .box_pic img {
  border-radius: 5px;
}

@media only screen and (min-width: 769px) {
  .idx18 .idx_box .box_ct {
    width: calc(48% - 40px);
  }
  .idx18 .idx_box .box_pic {
    width: 52%;
    padding-top: 2px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx18 .idx_box .box_ct {
    width: calc(50% - 30px);
  }
  .idx18 .idx_box .box_pic {
    width: 50%;
  }
}
.idx_map {
  height: 265px;
  border-radius: 5px;
  filter: grayscale(1);
  overflow: hidden;
}
.idx_map iframe {
  height: 100%;
}

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