.home_page .key {
  position: relative;
  --height: 56vw;
  --min-height: 550px;
  --max-height: 820px;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  font-size: 0.625em;
  background-size: cover;
  background-position: center;
  width: calc(100% - var(--px-size-key) * 2);
  max-width: 1820px;
  font-size: 10px;
}
.home_page .key .inner_max {
  position: relative;
  width: 100%;
}
.home_page .key .mv_slider:not(.slick-slider) {
  display: flex;
  overflow: hidden;
}
.home_page .key .mv_slider:not(.slick-slider) .slider:first-child {
  width: 100%;
}
.home_page .key .mv_slider:not(.slick-slider) .slider:not(:first-child) {
  display: none;
}
.home_page .key .s1 {
  background-image: url("../images/idx_key_bg01.jpg");
}
.home_page .key .slick-initialized .s2 {
  background-image: url("../images/idx_key_bg02.jpg");
}
.home_page .key .slick-initialized .s3 {
  background-image: url("../images/idx_key_bg03.jpg");
}
.home_page .key .key_text {
  position: relative;
  overflow: hidden;
}
.home_page .key .key_text .item {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: min(4vw, 50px);
}
.home_page .key .key_text .item::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  opacity: 0.2;
  border-radius: inherit;
  background-image: linear-gradient(to right, rgb(0, 0, 0) 15%, rgba(0, 0, 0, 0) 70%);
}
.home_page .key h2,
.home_page .key p {
  color: #fff;
  font-weight: 700;
  letter-spacing: 0;
  text-shadow: 0px 0px 20px rgba(0, 0, 0, 0.75);
}
.home_page .key h2 {
  margin-bottom: 0.5625em;
  font-size: 6.4em;
  line-height: 1.484375;
}
.home_page .key p {
  font-size: 2.9em;
  line-height: 1.4827586207;
}
.home_page .key .key_scroll {
  --w: clamp(100px, 10vw, 148px);
  position: absolute;
  width: var(--w);
  left: 0;
  right: 0;
  bottom: -3.1em;
  margin: 0 auto;
}
.home_page .key .key_scroll a {
  position: relative;
  font-size: max(12px, 1.8em);
  letter-spacing: 0.025em;
  color: #8CB4FF;
  text-transform: capitalize;
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  overflow: hidden;
  padding-top: 1.7778em;
}
.home_page .key .key_scroll a::before {
  content: "";
  position: absolute;
  width: var(--w);
  height: var(--w);
  top: 0;
  background-color: #fff;
  border-radius: 50%;
}
.home_page .key .key_scroll a > span {
  position: relative;
}
.home_page .key .key_scroll a > span::after {
  content: "";
  display: block;
  width: 1.1111em;
  height: 1.1111em;
  margin: 0 auto;
  margin-top: 0.1667em;
  --mask: url("../images/ic_scroll.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;
}
.home_page .key .key_scroll a:hover {
  opacity: 1;
  color: var(--clr2);
}
.home_page .topic_path {
  display: none;
}
.home_page h3 {
  position: relative;
  margin-bottom: 38px;
  color: var(--clr1);
  font-family: var(--f-jp);
  font-size: calc(var(--ttl_size) + 15px);
  font-weight: 700;
  letter-spacing: 0;
  text-align: center;
}
.home_page h3 > span {
  display: block;
}
.home_page h3 .en {
  font-size: calc(var(--txt_size) + 2px);
  color: var(--main-color);
  margin-bottom: 10px;
}
.home_page h3.sm {
  font-size: calc(var(--ttl_size) + 6px);
}
.home_page h3.clr02 {
  color: #6A6A6A;
}
.home_page h3.clr02 .blue {
  color: #8CB4FF;
}
.home_page h3.clr02 .en {
  color: #8CB4FF;
}
.home_page h3.white {
  color: #fff;
}
.home_page h3.white .en {
  color: #fff;
}

@media only screen and (min-width: 769px) {
  .home_page .key {
    margin: var(--py-size-key) auto calc(var(--py-size-key) + 20px);
  }
  .home_page .key .catch {
    padding: 108px 0;
  }
}
@media only screen and (min-width: 1921px) {
  .home_page .key {
    max-width: 100%;
    --max-height: 44vw;
  }
  .home_page .key .inner_max {
    max-width: 100%;
    width: 80% !important;
    margin: 0 auto;
  }
  .home_page .key .catch {
    padding: 8vw 0;
  }
}
@media only screen and (max-width: 1560px) and (min-width: 769px) and (max-height: 800px) and (orientation: landscape) {
  .home_page .key {
    font-size: min(0.625em, 0.9vmin);
    --max-height: calc(100vh - var(--py-size-key) * 2);
  }
  .home_page .key .catch {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .home_page .key {
    font-size: 1vmin;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .home_page .key {
    font-size: 6.5px;
  }
}
section {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.idx01 {
  background-color: #f7f7f7;
}
.idx01 .content .box {
  max-width: 625px;
  background-color: #fff;
}
.idx01 .content h4 {
  letter-spacing: 0;
  font-weight: 700;
  color: #8CB4FF;
  margin-bottom: 0.14em;
}
.idx01 .content h4 .en {
  font-family: var(--f-jp);
}
.idx01 .content h4 .jp {
  position: relative;
  color: var(--clr1);
  font-weight: 500;
  bottom: 2px;
}
.idx01 .content li {
  width: auto;
}
.idx01 .content li:not(:last-child) {
  border-bottom: 1px solid #D9D9D9;
}
.idx01 .content li a {
  display: flex;
  align-items: center;
  text-decoration: none;
  font-size: calc(var(--txt_size) - 2px);
  transition: all 0.3s;
  font-weight: 500;
  letter-spacing: 0;
  white-space: nowrap;
  max-width: 100%;
  color: var(--clr1);
}
.idx01 .content li a:hover {
  opacity: 1;
  color: var(--clr2);
}
.idx01 .content li a:hover .date {
  color: var(--clr2);
}
.idx01 .content li a .date {
  width: var(--w);
  font-size: calc(var(--txt_size) - 4px);
  transition: all 0.3s;
}
.idx01 .content li a .title {
  width: calc(100% - var(--w));
  position: relative;
  padding-right: 1.5em;
  text-overflow: ellipsis;
  overflow: hidden;
}
.idx01 .content .news {
  position: relative;
}
.idx01 .content .btn-group {
  z-index: 1;
}
.idx01 .content .btn-group .btn.style01 {
  width: 100%;
}
@media only screen and (min-width: 769px) {
  .idx01 {
    padding: min(10vw, 97px) 0px;
  }
  .idx01 h3 .en {
    margin-bottom: 6px;
  }
  .idx01 h4 {
    font-size: calc(var(--ttl_size) + 20px);
  }
  .idx01 h4 .en {
    margin-right: 20px;
  }
  .idx01 h4 .jp {
    font-size: calc(var(--txt_size) - 2px);
  }
  .idx01 .content {
    display: flex;
    justify-content: space-between;
  }
  .idx01 .content .box {
    width: 49%;
    padding: 48px min(3.125vw, 60px) 31px;
    border-radius: 30px;
  }
  .idx01 .content .btn-group {
    position: absolute;
    right: 0px;
    top: 11px;
    width: 40%;
    max-width: 190px;
  }
  .idx01 .content li a {
    --w: 8.2143em;
    padding: 1.8125em 0 1.75em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx01 .content h4 .jp {
    display: block;
  }
  .idx01 .content .btn-group {
    width: 48%;
    font-size: 7.75px;
  }
}

.idx02 {
  position: relative;
  background-color: #f7f7f7;
  z-index: 1;
}
.idx02::before, .idx02::after {
  content: "";
  position: absolute;
  width: 69.3em;
  aspect-ratio: 693/736;
  height: auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  z-index: -1;
}
.idx02::before {
  bottom: -9.7em;
  left: 0;
  background-image: url("../images/idx02_bg01.png");
}
.idx02::after {
  top: -8.6em;
  right: 0;
  background-image: url("../images/idx02_bg02.png");
}
.idx02 .item {
  --clr-arr: #FFB74C;
  position: relative;
  height: 21.1em;
  border-radius: 50%;
  background-color: #efefef;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #efefef;
}
.idx02 .item .ic-arr {
  position: absolute !important;
  top: 3.2em;
  left: 5em;
  position: relative;
}
.idx02 .item .ic-arr::before {
  content: "";
  position: absolute;
  width: max(3.7em, 18px);
  height: max(3.7em, 18px);
  border-radius: 50%;
  background-color: var(--clr-arr);
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.idx02 .item .ic-arr::after {
  content: "";
  position: absolute;
  width: max(5px, 0.6em);
  height: max(5px, 0.6em);
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(-45deg);
  top: 50%;
  right: 1.85em;
  transform: translate(25%, -50%) rotate(-45deg);
}
.idx02 .item .txt {
  text-align: center;
  font-size: calc(var(--txt_size) - 2px);
  line-height: 1.625;
  letter-spacing: 0.025em;
  position: relative;
  margin-bottom: 0;
  padding-top: 1.5em;
}
.idx02 .item .txt::after {
  content: "";
  position: relative;
  display: block;
  width: 6.2em;
  aspect-ratio: 1/1;
  height: auto;
  margin: 0 auto;
  margin-top: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.idx02 .item01, .idx02 .item04 {
  --clr-arr: #FFB74C;
}
.idx02 .item02, .idx02 .item06 {
  --clr-arr: #9EE46C;
}
.idx02 .item03, .idx02 .item05, .idx02 .item07 {
  --clr-arr: #8CB4FF;
}
.idx02 .item.item01 .txt::after {
  background-image: url(../images/idx02_img01.png);
}
.idx02 .item.item02 .txt::after {
  background-image: url(../images/idx02_img02.png);
}
.idx02 .item.item03 .txt::after {
  background-image: url(../images/idx02_img03.png);
}
.idx02 .item.item04 .txt::after {
  background-image: url(../images/idx02_img04.png);
}
.idx02 .item.item05 .txt::after {
  background-image: url(../images/idx02_img05.png);
}
.idx02 .item.item06 .txt::after {
  background-image: url(../images/idx02_img06.png);
}
.idx02 .item.item07 .txt::after {
  background-image: url(../images/idx02_img07.png);
}
@media only screen and (min-width: 769px) {
  .idx02 {
    padding: 5px 0 80px;
  }
  .idx02::before, .idx02::after {
    font-size: 10px;
  }
  .idx02 .content {
    font-size: min(0.9vw, 10px);
    padding: 0 16px 0 14px;
    display: flex;
    justify-content: space-between;
  }
  .idx02 .content .box01 {
    width: 37.5%;
  }
  .idx02 .content .box02 {
    margin: 0 -1em 0 -2em;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .idx02 .content .box03 {
    width: 36.45%;
  }
  .idx02 .content .item01, .idx02 .content .item06 {
    margin-left: auto;
  }
  .idx02 .content .item01, .idx02 .content .item03 {
    margin-top: 5.2em;
  }
  .idx02 .content .item01 {
    margin-bottom: -1.8em;
    margin-right: 2.5em;
  }
  .idx02 .content .item01 .txt::after {
    left: -4px;
  }
  .idx02 .content .item02 {
    margin-bottom: 4.9em;
  }
  .idx02 .content .item02 .txt::after {
    top: -4px;
  }
  .idx02 .content .item03 {
    margin-bottom: -1em;
    margin-left: 1.7em;
  }
  .idx02 .content .item03 .txt::after {
    top: 4px;
  }
  .idx02 .content .item04 {
    margin-left: auto;
    margin-bottom: -3.8em;
  }
  .idx02 .content .item04 .txt::after {
    top: -1px;
    left: 1px;
  }
  .idx02 .content .item05 .txt::after {
    top: -3px;
    left: 1px;
  }
  .idx02 .content .item06 .txt::after {
    top: 1px;
    left: -1px;
  }
  .idx02 .content .item07 {
    margin-bottom: -3em;
  }
  .idx02 .content .item07 .txt::after {
    top: 4px;
  }
  .idx02 .content .item:hover {
    border-color: var(--clr-arr);
    filter: drop-shadow(0 0px 10px rgba(0, 0, 0, 0.2));
  }
  .idx02 .item {
    width: 21.1em;
  }
  .idx02 .item .txt::after {
    font-size: min(0.91vw, 10px);
  }
  .idx02 .ttl {
    margin-bottom: 8.6em;
  }
  .idx02 h3 {
    width: max-content;
    margin: 0 -10px;
  }
  .idx02 h3 .en {
    margin-bottom: 0.8em;
  }
  .idx02 picture {
    max-width: 21.1em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1566px) {
  .idx02::before, .idx02::after {
    font-size: min(0.52vw, 10px);
  }
}

.idx03 {
  position: relative;
  background-image: linear-gradient(to bottom, #f7f7f7 66.8%, #fff 66.8%);
  padding-bottom: 50px;
  z-index: 1;
}
.idx03 h3 .en {
  margin-bottom: 6px;
}
.idx03 .content {
  width: 100%;
  padding: 0 20px;
  max-width: 1860px;
  margin: 0 auto;
}
.idx03 .idx_box {
  --bg: #B2CDFF;
  background-color: var(--bg);
  border-radius: 30px;
  overflow: hidden;
}
.idx03 .box_img {
  position: relative;
  flex-shrink: 0;
}
.idx03 .box_img .en {
  position: absolute;
  top: 0.4891em;
  left: 0.3913em;
  font-size: clamp(60px, 5vw, 92px);
  letter-spacing: 0.05em;
  line-height: 1;
  font-weight: 600;
  color: #fff;
  -webkit-writing-mode: vertical-lr;
  -moz-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;
  -webkit-text-orientation: mixed;
  -moz-text-orientation: mixed;
  -ms-text-orientation: mixed;
  text-orientation: mixed;
  transform: rotate(180deg);
  text-shadow: 0px 0px 20px rgba(0, 0, 0, 0.75);
}
.idx03 .box_content {
  position: relative;
}
.idx03 .box_content::before {
  content: "";
  position: absolute;
  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(--bg);
}
.idx03 .box_content .txt {
  border-radius: 20px;
  background-color: #fff;
  padding: 44px 50px 50px 50px;
}
.idx03 .box_content .txt .ttl {
  font-size: calc(var(--txt_size) + 6px);
  font-weight: 700;
  letter-spacing: 0;
  text-align: center;
  margin-bottom: 0.875em;
}
.idx03 .box_content .txt .desc {
  font-size: calc(var(--txt_size) - 2px);
  line-height: 1.8125;
  letter-spacing: 0;
  margin-bottom: 31px;
}
@media only screen and (min-width: 993px) {
  .idx03 .idx_box {
    display: flex;
    justify-content: space-between;
  }
  .idx03 .box_img {
    max-width: 889px;
    width: 50%;
  }
  .idx03 .box_img picture {
    height: 100%;
  }
  .idx03 .box_img picture img {
    height: 100%;
    width: auto;
    object-fit: cover;
  }
  .idx03 .box_content {
    max-width: 888px;
    width: 50%;
    padding: min(6.7vw, 127px) min(7.8125vw, 150px) 50px 68px;
  }
  .idx03 .box_content::before {
    width: auto;
    aspect-ratio: 216/1914;
    height: 100%;
    top: 0px;
    bottom: 0px;
    right: 100%;
    --mask: url("../images/idx03_bg01.png");
  }
  .idx03 .box_content h3 {
    text-align: left;
    margin-bottom: 34px;
  }
  .idx03 .desc {
    margin-bottom: min(3.4375vw, 66px);
  }
}
@media only screen and (min-width: 993px) and (max-width: 1366px) {
  .idx03 .box_content {
    padding: clamp(40px, 3.67vw, 50px);
    padding-left: 0px;
  }
  .idx03 .box_content .txt {
    padding: min(3.67vw, 50px);
  }
}
@media only screen and (max-width: 992px) {
  .idx03 .box_img picture {
    width: 100%;
  }
  .idx03 .box_img picture img {
    width: 100%;
    max-height: 450px;
    min-height: 300px;
    object-fit: cover;
  }
  .idx03 .box_content {
    padding: 50px;
  }
  .idx03 .box_content:before {
    --mask: url("../images/idx03_bg01_sp.png");
    aspect-ratio: 992/50;
    width: calc(100% - 1px);
    height: auto;
    left: 0;
    bottom: 100%;
  }
  .idx03 .box_content .desc {
    margin-bottom: 50px;
  }
}

.idx04 {
  position: relative;
  background-color: #EFF5FF;
}
.idx04::before {
  content: "";
  position: absolute;
  width: 100%;
  top: 0px;
  left: 0px;
  right: 0px;
  background: url("../images/idx04_bg01.jpg") no-repeat center/cover;
}
.idx04 .TabContainer {
  position: relative;
  z-index: 2;
}
.idx04 .TabContainer .TabPager {
  overflow: hidden;
}
.idx04 .TabContainer .TabPager > div {
  width: 50%;
  background-color: #E6E6E6;
}
.idx04 .TabContainer .TabPager > div .tt {
  font-weight: 700;
  letter-spacing: 0;
}
.idx04 .TabContainer .TabPager > div.active {
  background-color: #fff;
}
.idx04 .TabContainer .TabContent {
  overflow: hidden;
  background-color: #fff;
}
.idx04 .TabContainer .TabContent .content > div.txt01 {
  --tab-clr: var(--clr2);
}
.idx04 .TabContainer .TabContent .content > div.txt02 {
  --tab-clr: #9EE46C;
}
.idx04 .TabContainer .TabContent .content > div .idx_box picture img {
  border-radius: 50%;
}
.idx04 .TabContainer .TabContent .content > div .idx_box .ttl {
  font-weight: 700;
  letter-spacing: 0;
}
.idx04 .TabContainer .TabContent .content > div .idx_box .ttl .sm {
  font-size: var(--txt_size);
  color: #B1B1B1;
}
.idx04 .TabContainer .TabContent .content > div .idx_box .desc {
  margin-bottom: 26px;
}
.idx04 .TabContainer .TabContent .content > div .idx_box .btn-group {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.idx04 .TabContainer .TabContent .content > div .idx_box .btn-group .btn02 {
  width: max-content;
  --btn: var(--tab-clr);
}
.idx04 .TabContainer .TabContent .content > div .idx_list {
  display: flex;
}
.idx04 .TabContainer .TabContent .content > div .idx_list .item {
  max-width: 260px;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
.idx04 .TabContainer .TabContent .content > div .idx_list .item::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  opacity: 0.69;
  background-color: #474F5F;
  z-index: -1;
}
.idx04 .TabContainer .TabContent .content > div .idx_list .item .ttl {
  color: #fff;
  font-weight: 700;
  line-height: 1.6666666667;
  text-align: center;
  margin-bottom: 0;
}
.idx04 .TabContainer .TabContent .content > div .idx_list .item .ic-arr {
  position: absolute !important;
  bottom: 2.5em;
  right: 1em;
  position: relative;
}
.idx04 .TabContainer .TabContent .content > div .idx_list .item .ic-arr::before {
  content: "";
  position: absolute;
  width: max(2.9em, 18px);
  height: max(2.9em, 18px);
  border-radius: 50%;
  background-color: var(--tab-clr);
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.idx04 .TabContainer .TabContent .content > div .idx_list .item .ic-arr::after {
  content: "";
  position: absolute;
  width: max(4px, 0.6em);
  height: max(4px, 0.6em);
  border: solid #474F5F;
  border-width: 0 1px 1px 0;
  transform: rotate(-45deg);
  top: 50%;
  right: 1.45em;
  transform: translate(25%, -50%) rotate(-45deg);
}
.idx04 .TabContainer .TabContent .content > div .idx_list .item01 {
  background-image: url(../images/idx04_ite01_img.jpg);
}
.idx04 .TabContainer .TabContent .content > div .idx_list .item02 {
  background-image: url(../images/idx04_ite02_img.jpg);
}
.idx04 .TabContainer .TabContent .content > div .idx_list .item03 {
  background-image: url(../images/idx04_ite03_img.jpg);
}
.idx04 .TabContainer .TabContent .content > div .idx_list .item04 {
  background-image: url(../images/idx04_ite04_img.jpg);
}
@media only screen and (min-width: 769px) {
  .idx04 {
    padding: min(10vw, 126px) 0 min(10vw, 112px);
  }
  .idx04::before {
    height: clamp(380px, 30vw, 520px);
  }
  .idx04 h3 {
    margin-bottom: 86px;
  }
  .idx04 .TabContainer .TabPager {
    border-radius: 20px 20px 0 0;
  }
  .idx04 .TabContainer .TabPager .tt {
    padding: 1.3182em 0.9091em 1.1818em;
    font-size: calc(var(--txt_size) + 4px);
  }
  .idx04 .TabContainer .TabPager > div:hover {
    background-color: #f7f7f7;
  }
  .idx04 .TabContainer .TabContent {
    border-radius: 0 0 30px 30px;
  }
  .idx04 .TabContainer .TabContent .content > div {
    padding: 50px min(8vw, 100px) 100px;
  }
  .idx04 .TabContainer .TabContent .content > div .idx_box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 60px;
  }
  .idx04 .TabContainer .TabContent .content > div .idx_box .ttl {
    font-size: var(--ttl_size);
    margin-bottom: 0.9667em;
  }
  .idx04 .TabContainer .TabContent .content > div .box_img {
    width: 41%;
    max-width: 450px;
    flex-shrink: 0;
  }
  .idx04 .TabContainer .TabContent .content > div .box_content {
    width: 52%;
    max-width: 570px;
  }
  .idx04 .TabContainer .TabContent .content > div .idx_list {
    justify-content: space-between;
  }
  .idx04 .TabContainer .TabContent .content > div .idx_list .item {
    width: 24%;
    height: clamp(120px, 12vw, 150px);
  }
  .idx04 .TabContainer .TabContent .content > div .idx_list .item .ic-arr {
    font-size: min(1vw, 10px);
  }
  .idx04 .TabContainer .TabContent .content > div .idx_list .item:hover::before {
    opacity: 0.5;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx04 .TabContainer .TabContent .content > div {
    padding: 50px min(5.25vw, 100px) 100px;
  }
}

.idx05 {
  padding: 0 0 60px;
  background-color: #EFF5FF;
}
.idx05 .wrap {
  position: relative;
  max-width: 1820px;
  margin: 0 auto;
}
.idx05 .wrap::before {
  content: "";
  position: absolute;
  width: 43em;
  aspect-ratio: 430/474;
  height: auto;
  left: 2.8em;
  bottom: calc(100% - 10.9em);
  opacity: 0.15;
  background: url("../images/idx_ic_logo.png") no-repeat center/cover;
}
.idx05 .TabContainer {
  position: relative;
  z-index: 2;
}
.idx05 .TabContainer .TabPager {
  max-width: 1100px;
  overflow: hidden;
}
.idx05 .TabContainer .TabPager > div {
  background-color: #D3E2FF;
  max-width: 266px;
}
.idx05 .TabContainer .TabPager > div .tt {
  font-weight: 700;
  letter-spacing: 0;
  position: relative;
}
.idx05 .TabContainer .TabPager > div .tt::before {
  content: "";
  display: block;
  width: 2.55em;
  height: 2.55em;
  margin: 0 auto;
  margin-bottom: 0.25em;
  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: #6C80A6;
}
.idx05 .TabContainer .TabPager > div.tab1 {
  --mask: url(../images/idx05_ic01.png);
}
.idx05 .TabContainer .TabPager > div.tab1 .tt::before {
  position: relative;
  left: -4px;
}
.idx05 .TabContainer .TabPager > div.tab2 {
  --mask: url(../images/idx05_ic02.png);
}
.idx05 .TabContainer .TabPager > div.tab2 .tt::before {
  position: relative;
  left: -1px;
}
.idx05 .TabContainer .TabPager > div.active {
  background-color: rgba(140, 180, 255, 0.9);
}
.idx05 .TabContainer .TabPager > div.active .tt {
  color: #fff;
}
.idx05 .TabContainer .TabPager > div.active .tt::before {
  background-color: currentColor;
}
.idx05 .TabContainer .TabPager > div:hover {
  background-color: #7D99CE;
}
.idx05 .TabContainer .TabPager > div:hover .tt {
  color: #fff;
}
.idx05 .TabContainer .TabPager > div:hover .tt::before {
  background-color: currentColor;
}
.idx05 .TabContainer .TabContent::before, .idx05 .TabContainer .TabContent::after {
  content: "";
  position: absolute;
  max-width: 1820px;
  width: calc(100vw - 40px);
  height: 100%;
  top: 0px;
  left: 50%;
  border-radius: inherit;
  transform: translateX(-50%);
}
.idx05 .TabContainer .TabContent::before {
  background-color: rgba(140, 180, 255, 0.9);
}
.idx05 .TabContainer .TabContent::after {
  background-image: url("../images/idx05_tab_bg.jpg");
  z-index: -1;
}
.idx05 .TabContainer .TabContent .content > div .idx_list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--gap);
  margin: 0 auto;
}
.idx05 .TabContainer .TabContent .content > div .idx_list .item {
  max-width: 310px;
  border-radius: 10px;
  background-color: #fff;
  position: relative;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  z-index: 1;
  display: flex;
  justify-content: center;
}
.idx05 .TabContainer .TabContent .content > div .idx_list .item .ttl {
  position: relative;
  color: var(--main-color);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 0.65em;
}
.idx05 .TabContainer .TabContent .content > div .idx_list .item .ttl::before {
  content: "";
  position: relative;
  display: block;
  width: 3.55em;
  aspect-ratio: 71/60;
  height: auto;
  margin: 0 auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.idx05 .TabContainer .TabContent .content > div .idx_list .item .desc {
  font-size: calc(var(--txt_size) - 2px);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.5625;
}
.idx05 .TabContainer .TabContent .content > div .idx_list .item .ic-arr {
  position: absolute !important;
  top: 3em;
  right: 1.5em;
  position: relative;
}
.idx05 .TabContainer .TabContent .content > div .idx_list .item .ic-arr::before {
  content: "";
  position: absolute;
  width: max(2.9em, 18px);
  height: max(2.9em, 18px);
  border-radius: 50%;
  background-color: #FC9810;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.idx05 .TabContainer .TabContent .content > div .idx_list .item .ic-arr::after {
  content: "";
  position: absolute;
  width: max(4px, 0.6em);
  height: max(4px, 0.6em);
  border: solid #fff;
  border-width: 0 1px 1px 0;
  transform: rotate(-45deg);
  top: 50%;
  right: 1.45em;
  transform: translate(25%, -50%) rotate(-45deg);
}
.idx05 .TabContainer .TabContent .content > div .idx_list .item1 .ttl::before {
  background-image: url(../images/idx05_img1.png);
}
.idx05 .TabContainer .TabContent .content > div .idx_list .item2 .ttl::before {
  background-image: url(../images/idx05_img2.png);
}
.idx05 .TabContainer .TabContent .content > div .idx_list .item3 .ttl::before {
  background-image: url(../images/idx05_img3.png);
}
.idx05 .TabContainer .TabContent .content > div .idx_list .item4 .ttl::before {
  background-image: url(../images/idx05_img4.png);
}
.idx05 .TabContainer .TabContent .content > div .idx_list .item5 .ttl::before {
  background-image: url(../images/idx05_img5.png);
}
.idx05 .TabContainer .TabContent .content > div .idx_list .item6 .ttl::before {
  background-image: url(../images/idx05_img6.png);
}
.idx05 .TabContainer .TabContent .content > div .idx_list .item7 .ttl::before {
  background-image: url(../images/idx05_img7.png);
}
.idx05 .TabContainer .TabContent .content > div .idx_list .item8 .ttl::before {
  background-image: url(../images/idx05_img8.png);
}
.idx05 .TabContainer .TabContent .content > div .idx_list .item9 .ttl::before {
  background-image: url(../images/idx05_img9.png);
}
.idx05 .TabContainer .TabContent .content > div .idx_list .item10 .ttl::before {
  background-image: url(../images/idx05_img10.png);
}
.idx05 .TabContainer .TabContent .content > div .idx_list .item11 .ttl::before {
  background-image: url(../images/idx05_img11.png);
}
.idx05 .TabContainer .TabContent .content > div .idx_list .item12 .ttl::before {
  background-image: url(../images/idx05_img12.png);
}
.idx05 .TabContainer .TabContent .content > div .idx_list .item13 .ttl::before {
  background-image: url(../images/idx05_img13.png);
}
.idx05 .TabContainer .TabContent .content > div .idx_list .item1 .ttl::before {
  top: 1px;
  left: 1px;
}
.idx05 .TabContainer .TabContent .content > div .idx_list .item2 .ttl::before {
  top: 8px;
  left: -2px;
}
.idx05 .TabContainer .TabContent .content > div .idx_list .item3 .ttl::before {
  top: 0px;
  left: 3px;
}
.idx05 .TabContainer .TabContent .content > div .idx_list .item4 .ttl::before {
  top: 0;
  left: 0;
}
.idx05 .TabContainer .TabContent .content > div .idx_list .item5 .ttl::before {
  top: 4px;
  left: 0px;
}
.idx05 .TabContainer .TabContent .content > div .idx_list .item6 .ttl::before {
  top: 4px;
  left: -1px;
}
.idx05 .TabContainer .TabContent .content > div .idx_list .item7 .ttl::before {
  top: 8px;
  left: -6px;
}
.idx05 .TabContainer .TabContent .content > div .idx_list .item8 .ttl::before, .idx05 .TabContainer .TabContent .content > div .idx_list .item9 .ttl::before, .idx05 .TabContainer .TabContent .content > div .idx_list .item10 .ttl::before, .idx05 .TabContainer .TabContent .content > div .idx_list .item11 .ttl::before, .idx05 .TabContainer .TabContent .content > div .idx_list .item12 .ttl::before, .idx05 .TabContainer .TabContent .content > div .idx_list .item13 .ttl::before {
  top: 10px;
}
.idx05 .TabContainer .TabContent .content > div .idx_list .item:hover {
  box-shadow: #FFB74C 0px 1px 4px, #FFB74C 0px 0px 0px 3px;
}
@media only screen and (min-width: 769px) {
  .idx05 .wrap::before {
    font-size: 10px;
  }
  .idx05 h3 {
    text-align: left;
    margin-bottom: -95px;
  }
  .idx05 .TabContainer .TabPager {
    border-radius: 20px 20px 0 0;
    justify-content: flex-end;
    gap: 13px;
  }
  .idx05 .TabContainer .TabPager > div {
    border-radius: 20px 20px 0 0;
    width: 24.5%;
  }
  .idx05 .TabContainer .TabPager > div .tt {
    padding: 1.8em 1em 1.35em;
    font-size: calc(var(--txt_size) + 2px);
  }
  .idx05 .TabContainer .TabContent {
    border-radius: 30px;
  }
  .idx05 .TabContainer .TabContent .content > div {
    padding: min(5.25vw, 100px) 0;
  }
  .idx05 .TabContainer .TabContent .content > div .idx_list {
    --gap: 20px;
  }
  .idx05 .TabContainer .TabContent .content > div .idx_list:not(:has(.item:nth-child(7))) {
    margin: 0 min(5.25vw, 100px);
  }
  .idx05 .TabContainer .TabContent .content > div .idx_list .item {
    width: calc(25% - var(--gap) * 3 / 4);
    padding: 38px 35px 28px;
  }
  .idx05 .TabContainer .TabContent .content > div .idx_list .item .ttl {
    font-size: calc(var(--txt_size) + 2px);
  }
  .idx05 .TabContainer .TabContent .content > div .idx_list .item .ttl::before {
    margin-bottom: 1.55em;
  }
  .idx05 .TabContainer .TabContent .content > div .idx_list .item .ic-arr {
    font-size: min(1vw, 10px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1566px) {
  .idx05 .wrap::before {
    font-size: min(0.4vw, 10px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx05 .TabContainer .TabPager {
    padding-right: 30px;
  }
  .idx05 .TabContainer .TabContent .content > div {
    padding: 50px 30px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx05 .TabContainer .TabContent .content > div .idx_list {
    --gap: 10px;
  }
  .idx05 .TabContainer .TabContent .content > div .idx_list .item {
    padding: 20px 15px;
  }
}

.idx06 {
  position: relative;
  background-color: #FFB74C;
}
.idx06 h3 {
  text-shadow: 0px 0px 20px rgba(0, 0, 0, 0.75);
}
.idx06::before {
  content: "";
  position: absolute;
  max-width: 667px;
  aspect-ratio: 1334/972;
  height: auto;
  top: 0px;
  background: url("../images/idx06_img01.png") no-repeat center/cover;
}
.idx06 .idx_box {
  position: relative;
  color: #fff;
}
.idx06 .idx_box::before {
  content: "";
  position: absolute;
  width: 24em;
  aspect-ratio: 480/538;
  height: auto;
  background: url("../images/idx06_ic01.png") no-repeat center/cover;
}
@media only screen and (min-width: 769px) {
  .idx06 {
    padding: var(--pd-size) 0 var(--pd-size);
    --pd-size: min(13vw, 105px);
  }
  .idx06::before {
    width: 35%;
    left: -5px;
  }
  .idx06 h3 {
    padding-top: 3px;
    text-align: left;
    margin-bottom: 35px;
  }
  .idx06 .desc p:not(:last-child) {
    margin-bottom: 1.8333em;
  }
  .idx06 .idx_box {
    display: flex;
    justify-content: space-between;
  }
  .idx06 .idx_box::before {
    font-size: 10px;
    bottom: calc(var(--pd-size) * -1);
    left: calc(100% - 7px);
  }
  .idx06 .box_right {
    width: 648px;
    max-width: 60%;
  }
  .idx06 .box_left {
    width: 35%;
    max-width: 339px;
  }
}
@media only screen and (min-width: 1921px) {
  .idx06 {
    max-width: 1920px;
    margin: 0 auto;
  }
  .idx06::before {
    left: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1566px) {
  .idx06 .idx_box {
    padding: 0 min(5.25vw, 100px);
  }
  .idx06 .idx_box::before {
    font-size: min(0.5vw, 10px);
  }
  .idx06 .idx_box::before {
    left: calc(100% - 110px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx06 .idx_box {
    padding: 0;
  }
}

.idx07 .wrap {
  position: relative;
  width: calc(100% - 40px);
  max-width: 1820px;
  margin: 0 auto;
  overflow: hidden;
  background: url("../images/idx07_bg.jpg") no-repeat center/cover;
  z-index: 1;
  padding: min(10vw, 122px) 0 min(10vw, 106px);
}
.idx07 .wrap::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  opacity: 0.3;
  background-color: #000;
  z-index: -1;
}
.idx07 .sub-ttl {
  color: #fff;
  font-weight: 700;
  line-height: 1.4814814815;
  letter-spacing: 0;
  margin-bottom: 0.9259em;
}
.idx07 .idx_box picture img {
  border-radius: 50%;
  overflow: hidden;
}
.idx07 .idx_box .desc {
  color: #fff;
}
.idx07 .idx_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--gap);
}
.idx07 .idx_list .item {
  position: relative;
  max-width: 420px;
  border-radius: 10px;
  background-color: #f7f7f7;
}
.idx07 .idx_list .item .txt {
  display: flex;
  align-items: center;
}
.idx07 .idx_list .item .txt .ic {
  flex-shrink: 0;
  position: relative;
  width: 9.8em;
  height: 9.8em;
  background-color: #fff;
  border-radius: 50%;
  margin-right: 1.6em;
}
.idx07 .idx_list .item .txt .ic::before {
  content: "";
  position: absolute;
  width: 5.1em;
  height: 5.1em;
  inset: 0;
  margin: auto;
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: #ADADAD;
}
.idx07 .idx_list .item .ttl {
  font-size: var(--txt_size);
}
.idx07 .idx_list .item .ic-arr {
  position: absolute !important;
  bottom: 3em;
  right: 1.5em;
  position: relative;
}
.idx07 .idx_list .item .ic-arr::before {
  content: "";
  position: absolute;
  width: max(2.9em, 18px);
  height: max(2.9em, 18px);
  border-radius: 50%;
  background-color: var(--clr2);
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.idx07 .idx_list .item .ic-arr::after {
  content: "";
  position: absolute;
  width: max(4px, 0.6em);
  height: max(4px, 0.6em);
  border: solid #fff;
  border-width: 0 1px 1px 0;
  transform: rotate(-45deg);
  top: 50%;
  right: 1.45em;
  transform: translate(25%, -50%) rotate(-45deg);
}
.idx07 .idx_list .item1 .txt .ic::before {
  --mask: url(../images/idx07_ic1.png);
}
.idx07 .idx_list .item2 .txt .ic::before {
  --mask: url(../images/idx07_ic2.png);
}
.idx07 .idx_list .item3 .txt .ic::before {
  --mask: url(../images/idx07_ic3.png);
}
.idx07 .idx_list .item4 .txt .ic::before {
  --mask: url(../images/idx07_ic4.png);
}
.idx07 .idx_list .item5 .txt .ic::before {
  --mask: url(../images/idx07_ic5.png);
}
.idx07 .idx_list .item6 .txt .ic::before {
  --mask: url(../images/idx07_ic6.png);
}
.idx07 .idx_list .item7 .txt .ic::before {
  --mask: url(../images/idx07_ic7.png);
}
.idx07 .idx_list .item8 .txt .ic::before {
  --mask: url(../images/idx07_ic8.png);
}
@media only screen and (min-width: 769px) {
  .idx07 {
    padding: 50px 0;
  }
  .idx07 .wrap {
    border-radius: 30px;
  }
  .idx07 h3 {
    text-align: left;
    margin-bottom: 45px;
  }
  .idx07 .sub-ttl {
    font-size: calc(var(--ttl_size) - 3px);
  }
  .idx07 .idx_box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 82px;
  }
  .idx07 .idx_box .desc {
    margin-bottom: 36px;
  }
  .idx07 .box_image {
    width: 40%;
    max-width: 450px;
  }
  .idx07 .box_content {
    width: 55%;
    max-width: 710px;
  }
  .idx07 .idx_list {
    --gap: 20px;
    margin-bottom: 80px;
  }
  .idx07 .idx_list .item {
    font-size: min(0.78vw, 10px);
    width: calc(33.3333333333% - var(--gap) * 2 / 3);
    padding: 25px 25px 22px;
  }
  .idx07 .idx_list .item .ic-arr {
    font-size: min(1vw, 10px);
  }
  .idx07 .idx_list .item:hover {
    background-color: #FFB74C;
  }
  .idx07 .idx_list .item:hover .ttl {
    color: #fff;
  }
  .idx07 .idx_list .item:hover .ic {
    background-color: var(--clr2);
  }
  .idx07 .idx_list .item:hover .ic::before {
    background-color: #fff;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx07 .idx_list {
    --gap: 10px;
  }
  .idx07 .idx_list .item {
    padding: 25px 15px;
  }
}

.idx08 {
  position: relative;
}
.idx08::before {
  content: "";
  position: absolute;
  width: 37.4em;
  aspect-ratio: 374/454;
  height: auto;
  opacity: 0.15;
  background: url("../images/idx_ic_logo_sm.png") no-repeat center/cover;
}
.idx08 .idx_list {
  counter-reset: item;
}
.idx08 .idx_list .item {
  position: relative;
  counter-increment: item;
}
.idx08 .idx_list .item:nth-child(4n+1) .ite_img picture::before, .idx08 .idx_list .item:nth-child(4n) .ite_img picture::before {
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 37%, white 100%);
}
.idx08 .idx_list .item:nth-child(4n+2) .ite_img picture::before, .idx08 .idx_list .item:nth-child(4n+3) .ite_img picture::before {
  background-image: linear-gradient(to right, white 0%, rgba(255, 255, 255, 0) 63%);
}
.idx08 .idx_list .ite_img {
  position: relative;
}
.idx08 .idx_list .ite_img::before {
  content: counter(item, decimal-leading-zero);
  position: absolute;
  font-family: var(--f-en);
  font-size: clamp(80px, 7.25vw, 137px);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  color: var(--main-color);
  z-index: 1;
}
.idx08 .idx_list .ite_img picture {
  position: relative;
}
.idx08 .idx_list .ite_img picture::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  opacity: 0.7;
}
.idx08 .idx_list .ite_content {
  max-width: 390px;
  z-index: 1;
}
.idx08 .idx_list .ite_content .ttl {
  font-size: clamp(22px, 2.85vw, 30px);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.5;
}
.idx08 .idx_list .ite_content .txt {
  position: relative;
  background-color: #fff;
}
.idx08 .idx_list .ite_content .desc {
  font-size: var(--txt_size);
  margin-bottom: 0;
}
.idx08 .idx_list .ite_content .ic-arr {
  position: absolute !important;
  position: relative;
}
.idx08 .idx_list .ite_content .ic-arr::before {
  content: "";
  position: absolute;
  width: max(2.9em, 18px);
  height: max(2.9em, 18px);
  border-radius: 50%;
  background-color: var(--clr2);
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.idx08 .idx_list .ite_content .ic-arr::after {
  content: "";
  position: absolute;
  width: max(4px, 0.6em);
  height: max(4px, 0.6em);
  border: solid #fff;
  border-width: 0 1px 1px 0;
  transform: rotate(-45deg);
  top: 50%;
  right: 1.45em;
  transform: translate(25%, -50%) rotate(-45deg);
}
@media only screen and (min-width: 769px) {
  .idx08 {
    padding: min(10vw, 87px) 0 min(10vw, 113px);
  }
  .idx08::before {
    font-size: 10px;
    bottom: 9.5em;
    right: -0.5em;
  }
  .idx08 h3 {
    margin-bottom: 35px;
  }
  .idx08 .idx_list {
    font-size: min(1vw, 10px);
    gap: 17px 0;
    margin-bottom: 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .idx08 .idx_list .item {
    display: flex;
  }
  .idx08 .idx_list .item:nth-child(4n+1), .idx08 .idx_list .item:nth-child(4n) {
    width: 53%;
    max-width: 660px;
    padding-left: 3.7em;
  }
  .idx08 .idx_list .item:nth-child(4n+1) .ite_img::before, .idx08 .idx_list .item:nth-child(4n) .ite_img::before {
    left: -0.2701em;
    top: -0.4234em;
  }
  .idx08 .idx_list .item:nth-child(4n+1) .ite_content, .idx08 .idx_list .item:nth-child(4n) .ite_content {
    margin-left: -12.7em;
  }
  .idx08 .idx_list .item:nth-child(4n+2), .idx08 .idx_list .item:nth-child(4n+3) {
    width: 43%;
    max-width: 550px;
    flex-direction: row-reverse;
    padding-top: 6.2em;
  }
  .idx08 .idx_list .item:nth-child(4n+2) .ite_img::before, .idx08 .idx_list .item:nth-child(4n+3) .ite_img::before {
    right: 0.146em;
    top: -0.5036em;
  }
  .idx08 .idx_list .item:nth-child(4n+2) .ite_content, .idx08 .idx_list .item:nth-child(4n+3) .ite_content {
    margin-right: -28em;
  }
  .idx08 .idx_list .item1 {
    padding-top: 4.5em;
  }
  .idx08 .idx_list .item2 {
    margin-top: 4.5em;
  }
  .idx08 .idx_list .item3 {
    max-width: 540px !important;
  }
  .idx08 .idx_list .item3 .ite_img::before {
    top: -0.5693em !important;
    right: 0.2117em !important;
  }
  .idx08 .idx_list .item3 .ite_content {
    margin-top: 8.8em;
    margin-right: -29em !important;
  }
  .idx08 .idx_list .item4 {
    max-width: 588px !important;
    padding-top: 2.6em;
  }
  .idx08 .idx_list .item4 .ite_img::before {
    top: 0.2336em !important;
    left: -0.2993em !important;
  }
  .idx08 .idx_list .item4 .ite_content {
    margin-top: 16.9em;
    margin-left: -20em !important;
  }
  .idx08 .idx_list .item:hover .ite_content .ic-arr::before {
    background-color: var(--main-color);
  }
  .idx08 .idx_list .ite_img {
    height: fit-content;
    width: fit-content;
  }
  .idx08 .idx_list .ite_img picture img {
    border-radius: 30px;
  }
  .idx08 .idx_list .ite_content {
    width: 100%;
    margin-top: 7.9em;
  }
  .idx08 .idx_list .ite_content .ttl {
    margin-bottom: 0.9333em;
  }
  .idx08 .idx_list .ite_content .txt {
    border-radius: 20px;
    padding: 3.6em 4em 6.5em;
  }
  .idx08 .idx_list .ite_content .ic-arr {
    font-size: min(1vw, 10px);
    bottom: 5.5em;
    right: 4em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1566px) {
  .idx08::before {
    font-size: min(0.4vw, 10px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx08 .idx_list .ite_content .txt {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.idx09 {
  position: relative;
  background-color: #f7f7f7;
  z-index: 1;
}
.idx09::before {
  content: "";
  position: absolute;
  width: 100%;
  aspect-ratio: 1920/1071;
  height: auto;
  bottom: 0px;
  left: 0px;
  right: 0px;
  opacity: 0.1;
  background: url("../images/idx09_bg.jpg") no-repeat center/cover;
  z-index: -1;
}
.idx09 .idx_box {
  display: flex;
}
.idx09 .time_sheet {
  margin-bottom: 28px;
}
.idx09 .idx_logo {
  margin-bottom: 29px;
}
.idx09 .idx_logo a {
  display: table;
}
.idx09 .idx_logo a:hover {
  opacity: 1;
}
.idx09 .idx_address {
  margin-bottom: 12px;
}
.idx09 .idx_tel {
  margin-bottom: 28px;
}
.idx09 .idx_payment {
  background-color: #fff;
}
.idx09 .idx_payment .ttl {
  font-weight: 700;
  color: var(--main-color);
  margin-bottom: 8px;
}
.idx09 .idx_payment .desc {
  font-size: calc(var(--txt_size) - 2px);
  font-weight: 400;
  letter-spacing: 0;
  margin-bottom: 4px;
}
.idx09 .idx_payment .note {
  font-size: calc(var(--txt_size) - 4px);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.5714285714;
  margin-bottom: 13px;
}
@media only screen and (min-width: 769px) {
  .idx09 {
    padding: min(10vw, 130px) 0 min(10vw, 100px);
  }
  .idx09 .idx_box {
    justify-content: space-between;
    margin-bottom: 40px;
  }
  .idx09 .box_img {
    flex-shrink: 0;
    width: 48%;
    max-width: 620px;
  }
  .idx09 .box_img picture img {
    border-radius: 30px;
  }
  .idx09 .box_content {
    width: 47%;
    max-width: 604px;
    padding-right: 100px;
    padding-top: 2px;
  }
  .idx09 .time_sheet .tbl {
    font-size: min(0.95vw, 10px);
  }
  .idx09 .idx_payment {
    border-radius: 20px;
    padding: 31px clamp(20px, 2.1vw, 40px) 30px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1556px) {
  .idx09 .box_content {
    padding-right: min(4vw, 100px);
  }
}

.idx_map iframe {
  height: 100%;
}
@media only screen and (min-width: 769px) {
  .idx_map {
    height: 475px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx_map {
    height: 399px;
  }
}

.idx10 .wrap {
  position: relative;
  max-width: 1820px;
  width: calc(100% - 40px);
  margin: 0 auto;
  overflow: hidden;
  background: url("../images/idx10_bg.jpg") no-repeat right center/cover;
  z-index: 1;
  padding: 141px 0 140px;
}
.idx10 .wrap::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  opacity: 0.9;
  z-index: -1;
}
.idx10 h3 {
  font-size: calc(var(--ttl_size) + 29px);
  margin-bottom: 0.9322em;
}
.idx10 h3 .en {
  font-family: var(--f-jp);
  font-size: inherit;
  letter-spacing: 0;
  margin-bottom: 2px;
}
.idx10 h3 .jp {
  font-size: calc(var(--txt_size) + 2px);
}
.idx10 .desc p:not(:last-child) {
  margin-bottom: 1.8333em;
}
.idx10 .btn-group {
  display: flex;
  flex-direction: column;
  gap: min(1.3vw, 20px);
}
@media only screen and (min-width: 993px) {
  .idx10 h3 {
    text-align: left;
  }
  .idx10 .wrap::before {
    background-image: linear-gradient(to right, white 47.8%, rgba(255, 255, 255, 0) 70.88%);
  }
  .idx10 .idx_box {
    display: flex;
    justify-content: space-between;
  }
  .idx10 .box_content {
    width: 55%;
    max-width: 680px;
  }
  .idx10 .box_img {
    align-self: flex-end;
    max-width: 420px;
    width: 41%;
    margin-bottom: 4px;
  }
}
@media only screen and (min-width: 769px) {
  .idx10 {
    padding: 50px 0 0;
  }
  .idx10 .wrap {
    border-radius: 30px;
  }
}
@media only screen and (min-width: 993px) and (max-width: 1566px) {
  .idx10 .wrap {
    background-position: right 25% center;
  }
}
@media only screen and (max-width: 992px) {
  .idx10 .wrap {
    padding: 40vw 0 80px;
    background-image: url("../images/idx10_bg_sp.png");
    background-color: #D9D9D9;
    background-position: right top;
    background-size: 100% auto;
  }
  .idx10 .wrap::before {
    background-image: linear-gradient(to top, white 50.8%, rgba(255, 255, 255, 0) 95%);
  }
  .idx10 h3 {
    margin-bottom: 30px;
  }
  .idx10 .box_content {
    margin-bottom: 50px;
  }
  .idx10 .box_img .btn-group {
    align-items: center;
  }
}

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