.home_page {
  background: url(../images/idx_bg.jpg) no-repeat top center/100% auto;
}
@media only screen and (min-width: 1919px) and (max-width: 1920px) {
  .home_page {
    background-size: auto;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .home_page {
    background-size: 180%;
  }
}
.home_page .key {
  --height: 52vw;
  --min-height: 550px;
  --max-height: 980px;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  font-size: 0.625em;
  overflow: hidden;
}
@media only screen and (min-width: 2000px) {
  .home_page .key {
    --max-height: calc(100vh - var(--wrapper));
    font-size: 0.5vw;
  }
}
.home_page .key .inner {
  position: relative;
  width: 100%;
  max-width: 150em;
}
.home_page .key .mv_slider:not(.slick-slider) {
  display: flex;
  overflow: hidden;
  flex-direction: column;
}
.home_page .key .s1 {
  background-image: url(../images/idx_key_bg1.jpg);
}
.home_page .key .slick-initialized .s2 {
  background-image: url(../images/idx_key_bg2.jpg);
}
.home_page .key .slick-initialized .s3 {
  background-image: url(../images/idx_key_bg3.jpg);
}
.home_page .key .key_text {
  position: relative;
  overflow: hidden;
}
.home_page .key .key_text .item {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  border-radius: var(--radius);
  padding-bottom: 13.2em;
}
.home_page .key .catch {
  max-width: 50%;
  margin-left: auto;
}
.home_page .key h2,
.home_page .key p {
  font-weight: 500;
  letter-spacing: 0.05em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.home_page .key h2 {
  margin-bottom: 1em;
  font-size: 5.2em;
  line-height: 1.9230769231;
  background-color: #fff;
  color: var(--main-color);
  padding: 0.116em 0.63em 0.169em 1.29em;
  display: inline;
  border-radius: 0.9615em;
}
.home_page .key p {
  font-size: 2.2em;
  line-height: 2.3636363636;
  margin-top: 0.8636em;
}
.home_page .key p span {
  letter-spacing: 0.05em;
  box-decoration-break: clone;
  background-color: var(--clr2);
  color: #fff;
  padding: 0.1818em 1.1364em 0.2727em 1.6818em;
  border-radius: 0.9545em;
}
.home_page .key p span:last-child {
  padding: 0.1364em 1.7727em 0.3182em 1.6818em;
}
.home_page .topic_path {
  display: none;
}
.home_page .h_en {
  display: flex;
  align-items: flex-end;
  color: var(--main-color);
  line-height: 1;
  font-weight: 500;
  font-size: 20px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.home_page .h_en::before {
  content: "";
  width: 26px;
  height: 1px;
  background-color: var(--main-color);
  margin-right: 16px;
  margin-bottom: 3px;
}
.home_page .h_en.big {
  opacity: 0.5 !important;
  font-size: 90px;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-bottom: -37px;
  text-align: center;
}
.home_page .h_en.big::before {
  display: none;
}
.home_page .h_en.white {
  color: #fff;
}
.home_page .h_en.white::before {
  background-color: #fff;
}
.home_page .h_en.t_center {
  justify-content: center;
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .home_page .h_en {
    letter-spacing: 0;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .home_page .h_en {
    font-size: 18px;
  }
  .home_page .h_en.big {
    font-size: 80px;
    letter-spacing: 0;
  }
}
.home_page h3 {
  position: relative;
  color: var(--clr1);
  font-family: var(--f-jp);
  font-size: calc(var(--ttl_size) + 14px);
  font-weight: 500;
  letter-spacing: 0.1em;
}
.home_page h3.white {
  color: #fff;
}
.home_page h3.small {
  font-size: calc(var(--ttl_size) + 8px);
}
.home_page h3.big {
  font-size: calc(var(--ttl_size) + 52px);
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .home_page h3 {
    letter-spacing: 0;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .home_page h3 {
    font-size: 28px;
  }
  .home_page h3.small {
    font-size: 26px;
  }
  .home_page h3.big {
    font-size: 32px;
  }
}

@media only screen and (max-width: 1600px) and (min-width: 769px) {
  .home_page .key .jp {
    font-size: 2.4em;
  }
  .home_page .key .jp span {
    padding-left: 1em !important;
    padding-right: 0.5em !important;
  }
}
@media only screen and (max-width: 1600px) and (min-width: 769px) and (max-height: 800px) and (orientation: landscape) {
  .home_page .key {
    font-size: min(0.625em, 1.1vmin);
    --max-height: calc(100vh - var(--wrapper));
  }
  .home_page .key .key_text .item {
    padding-bottom: 50px;
  }
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .home_page .key {
    font-size: 1.15vmin;
  }
  .home_page .key h2,
  .home_page .key .jp {
    letter-spacing: 0;
  }
  .home_page .key h2 span,
  .home_page .key .jp span {
    letter-spacing: 0;
  }
  .home_page .key .catch {
    max-width: 52%;
  }
  .home_page .key .jp {
    font-size: 2.45em;
  }
  .home_page .key .jp span {
    padding-left: 1em !important;
    padding-right: 0.5em !important;
  }
}
@media only screen and (max-width: 1366px) and (min-width: 769px) and (max-height: 625px) {
  .home_page .key {
    font-size: 1.4vmin;
  }
}
@media only screen and (max-width: 1280px) and (min-width: 769px) {
  .home_page .key {
    font-size: 0.95vmin;
  }
  .home_page .key h2 {
    padding-left: 20px;
    padding-right: 10px;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .home_page .key .key_text .item {
    padding-bottom: 40px;
  }
  .home_page .key .catch {
    max-width: 100%;
    text-align: center;
  }
}
section {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
}

.idx1 {
  padding: 83px 0 40px;
}
.idx1 .txt {
  position: relative;
  z-index: 2;
}
.idx1 .idx1_box {
  background-color: #fff;
  border-radius: 20px;
}
.idx1 .idx1_bg {
  width: 93.75%;
  margin-left: auto;
  margin-top: -42px;
  position: relative;
  z-index: 1;
  padding-bottom: 81px;
}
.idx1 .idx1_bg::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  border-radius: 0 0 0 60px;
  background: url(../images/idx1_pattern.jpg) no-repeat;
  left: 20%;
  right: -50vw;
  bottom: 0;
  height: 56.3%;
}
.idx1 .TabContainer .TabPager {
  max-width: 290px;
  width: 100%;
  margin-left: auto;
  margin-right: 75px;
  justify-content: space-between;
}
.idx1 .TabContainer .TabPager > div {
  width: calc(33.3333333333% - 7px);
  border-radius: 0 0 45px 45px;
  padding: 0;
}
.idx1 .TabContainer .TabPager > div p {
  border: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-size: 18px;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 1em 0 1.8889em;
  color: #fff;
  font-weight: 500;
  position: relative;
}
.idx1 .TabContainer .TabPager > div p::before {
  content: "";
  display: block;
  background: url(../images/idx1_icon.svg) no-repeat center/contain;
  width: 1.7222em;
  height: 1.3889em;
  margin-bottom: 0.2778em;
}
.idx1 .TabContainer .TabPager > div p::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  border-top: 0.445em solid #fff;
  border-left: 0.334em solid transparent;
  border-right: 0.334em solid transparent;
  bottom: 0.7778em;
  left: calc(50% - 0.334em);
  opacity: 0;
}
.idx1 .TabContainer .TabPager > div.active p::after {
  opacity: 1;
}
.idx1 .TabContainer .TabPager > div:nth-child(1) {
  background-color: var(--clr2);
}
.idx1 .TabContainer .TabPager > div:nth-child(2) {
  background-color: #16aec4;
}
.idx1 .TabContainer .TabPager > div:nth-child(3) {
  background-color: #ffb200;
}
@media only screen and (min-width: 769px) {
  .idx1 .TabContainer .TabPager > div:hover p::after {
    opacity: 1;
  }
}
.idx1 .TabContainer .TabContent {
  margin-top: -21px;
}
.idx1 .TabContainer .TabContent .content {
  background: transparent;
}
.idx1 .idx1_tab {
  padding: 0px 100px 71px;
}
.idx1 h4 {
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
  display: flex;
  align-items: center;
  margin-bottom: 11px;
}
.idx1 h4::before {
  content: "";
  display: block;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='22px' height='22px'%3E%3Cpath fill-rule='evenodd' fill='rgb(184, 24, 64)' d='M11.000,0.269 L21.731,10.1000 L11.000,21.731 L0.269,10.1000 L11.000,0.269 Z'/%3E%3C/svg%3E") no-repeat center/contain;
  width: 22px;
  height: 22px;
  margin-right: 11px;
  margin-top: 4px;
}
@media only screen and (min-width: 1919px) {
  .idx1 h4 {
    margin-left: 4px;
  }
}
.idx1 ul li a {
  --w: 162px;
  letter-spacing: 0.1em;
  text-decoration: none;
  display: flex;
  flex-wrap: wrap;
  color: var(--clr1);
  padding: 15px 0 20px;
  border-bottom: 1px solid #e1e5e6;
  position: relative;
  transition: 0.3s all;
}
.idx1 ul li a:hover {
  opacity: 1;
  color: var(--clr1);
}
@media only screen and (min-width: 769px) {
  .idx1 ul li a:hover {
    background-color: var(--main-color);
    color: #fff;
  }
  .idx1 ul li a:hover::after {
    opacity: 0;
  }
}
.idx1 ul li a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  left: 0;
  width: var(--w);
  bottom: -1px;
  height: 1px;
  background-color: var(--main-color);
}
.idx1 ul li a span {
  letter-spacing: 0.1em;
}
.idx1 ul li a .date {
  width: var(--w);
  text-align: center;
  position: relative;
  z-index: 1;
}
.idx1 ul li a .title {
  width: calc(100% - var(--w));
  padding-left: 1.55em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.idx1 .idx1_btn_group {
  width: 370px;
  margin-left: auto;
  margin-top: 29px;
}
.idx1 .idx1_btn {
  max-width: 170px;
}
.idx1 .idx1_btn a {
  display: flex;
  align-items: center;
  font-size: 18px;
  letter-spacing: 0.05em;
  color: var(--clr1);
  font-weight: 500;
  text-decoration: none;
  position: relative;
  z-index: 1;
  padding-left: 3.0556em;
  transition: 0.3s all;
}
.idx1 .idx1_btn a::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  width: 1.3889em;
  height: 1.3889em;
  border-radius: 50%;
  background-color: var(--main-color);
  opacity: 0.1;
  left: 1.1111em;
  top: calc(50% - 0.66em);
}
.idx1 .idx1_btn a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../images/idx1_btn_icon.png);
  width: 2em;
  height: 0.3889em;
  background-color: var(--main-color);
  left: 0;
  top: calc(50% - 0.166em);
}
.idx1 .idx1_btn a:hover {
  opacity: 1;
  color: var(--clr1);
}
@media only screen and (min-width: 769px) {
  .idx1 .idx1_btn a:hover {
    color: var(--clr2);
  }
  .idx1 .idx1_btn a:hover::before {
    background-color: var(--clr2);
  }
  .idx1 .idx1_btn a:hover::after {
    background-color: var(--clr2);
  }
}
.idx1 .idx1_banner {
  margin-top: 41px;
  background: url(../images/idx1_banner.jpg) repeat top left/100%;
  border-radius: 12px;
  position: relative;
  z-index: 1;
}
.idx1 .idx1_banner::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  inset: 10px;
  border-radius: 8px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  z-index: -1;
}
.idx1 .idx1_banner p,
.idx1 .idx1_banner .idx1_tel {
  width: 50%;
}
.idx1 .idx1_banner p {
  line-height: 1.7142857143;
  color: #fff;
  font-size: 28px;
  font-weight: 500;
}
.idx1 .idx1_banner .idx1_banner_bg {
  padding: 2.3125em 4.625em 1.5em;
  display: flex;
  flex-wrap: wrap;
  position: relative;
  z-index: 2;
}
.idx1 .idx1_banner .idx1_banner_bg::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  background: url(../images/idx1_banner_icon_left.png) no-repeat center/contain;
  width: 14.375em;
  height: 12em;
  left: 0.5em;
  bottom: 0;
}
.idx1 .idx1_banner .idx1_banner_bg::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  background: url(../images/idx1_banner_icon_right.png) no-repeat center/contain;
  width: 9.1875em;
  height: 12.5em;
  right: 4.85%;
  bottom: 0;
}
.idx1 .idx_tel {
  margin-top: 33px;
  width: 100%;
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .idx1 .TabContainer .TabPager > div p {
    letter-spacing: 0;
    font-size: 16px;
  }
  .idx1 .idx1_btn a {
    font-size: 16px;
    letter-spacing: 0;
  }
  .idx1 h4 {
    letter-spacing: 0;
    font-size: 20px;
  }
  .idx1 .idx1_tab {
    padding: 0 40px 40px;
  }
  .idx1 .idx1_banner .idx1_banner_bg {
    padding: 40px;
  }
  .idx1 .idx1_banner .idx1_banner_bg::before {
    font-size: 1vw;
  }
  .idx1 .idx1_banner .idx1_banner_bg::after {
    right: 2%;
    font-size: 1.5vw;
  }
  .idx1 .idx1_banner .idx_tel {
    width: 36%;
  }
  .idx1 .idx1_banner .ttl {
    width: 51%;
    letter-spacing: 0;
    margin: 0;
    font-size: 2.6007802341vw;
  }
}

.idx2 {
  position: relative;
  padding: 185px 0 200px;
  background-image: url(../images/idx2_bg.png);
}
@media only screen and (min-width: 1919px) and (max-width: 1921px) {
  .idx2 {
    background-size: auto;
  }
}
@media only screen and (min-width: 2000px) {
  .idx2 {
    padding: 9vw 0;
  }
}
.idx2 .inner {
  max-width: 1274px;
}
.idx2 .idx2_logo {
  display: table;
  margin-left: 25px;
}
.idx2 .idx2_logo a:hover {
  opacity: 1;
}
.idx2 .idx_tel {
  margin: 27px auto 0;
}
.idx2 .idx_tel a {
  background-color: #fff;
  color: var(--main-color);
}
.idx2 .idx_tel a::before {
  background-color: var(--main-color);
}
.idx2 .idx2_l,
.idx2 .idx2_r {
  max-width: 594px;
  width: 49%;
}
.idx2 .idx2_address {
  max-width: 400px;
  margin: 22px auto 0;
}
.idx2 .idx2_address p {
  font-size: 18px;
  letter-spacing: 0.1em;
  display: flex;
}
.idx2 .idx2_address p::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  background: url(../images/idx2_icon.svg) no-repeat center/contain;
  width: 14px;
  height: 22px;
  position: static;
  margin-right: 12px;
  margin-top: 8px;
}
.idx2 .idx2_address p .jp1 {
  width: 120px;
}
.idx2 .idx2_address p span {
  letter-spacing: 0.1em;
}
.idx2 .idx2_list {
  margin-top: 21px;
}
@media only screen and (min-width: 1919px) {
  .idx2 .idx2_list {
    width: 595px;
  }
}
.idx2 .idx2_list .item {
  width: calc(50% - 7.5px);
  color: #fff;
  border-radius: 12px;
  padding: 23px 0 31px;
}
.idx2 .idx2_list .item:first-child {
  background-color: var(--clr2);
}
.idx2 .idx2_list .item:last-child {
  background-color: #ffb200;
}
.idx2 .idx2_list .item .img {
  max-width: 90px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background-color: #fff;
}
.idx2 .idx2_list .item p {
  letter-spacing: 0.1em;
  font-weight: 500;
  font-size: 20px;
  line-height: 1;
  text-align: center;
  color: #fff;
}
.idx2 .idx2_img {
  margin-top: 20px;
}
.idx2 .idx2_img img {
  border-radius: 12px;
}
.idx2 .idx2_ttl {
  line-height: 1.875;
  padding: 17px 0 0 8px;
  padding-left: 24px;
}
.idx2 .idx2_ttl .char {
  display: inline-block;
  text-indent: -1em;
}
.idx2 .idx2_ttl .jp {
  display: block;
}
.idx2 .idx2_map {
  height: 250px;
  margin: 58px 0 30px;
}
.idx2 .idx2_map iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  border-radius: 12px;
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .idx2 .idx2_logo {
    width: 50%;
  }
  .idx2 .idx2_address p {
    font-size: 16px;
    letter-spacing: 0;
  }
  .idx2 .idx2_address p span {
    letter-spacing: 0;
  }
  .idx2 .idx2_address p .jp1 {
    width: 85px;
  }
  .idx2 .idx2_list .item .img {
    max-width: 60px;
  }
  .idx2 .idx2_list .item .ttl {
    letter-spacing: 0;
    font-size: 18px;
  }
  .idx2 .idx2_map {
    height: 199px;
    margin: 20px 0;
  }
  .idx2 .idx2_address,
  .idx2 .idx2_list,
  .idx2 .idx2_img {
    margin-top: 25px;
  }
  .idx2 .idx2_ttl {
    padding-top: 14px;
  }
}

.idx3 {
  margin-top: -121px;
  background-image: url(../images/idx3_bg.png);
  padding: 75px 0 100px;
  position: relative;
}
@media only screen and (min-width: 1919px) and (max-width: 1921px) {
  .idx3 {
    background-size: auto;
  }
}
@media only screen and (min-width: 2000px) {
  .idx3 {
    margin-top: -6vw;
    padding-top: 6vw;
  }
}
.idx3 .inner_big {
  position: relative;
  z-index: 1;
}
.idx3 .inner_big::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  background: url(../images/idx3_icon.svg) no-repeat center/contain;
  aspect-ratio: 522/435;
  width: 32.625em;
  right: -25.8%;
  top: 5.3125em;
  opacity: 0.2;
}
.idx3 .idx3_h3 {
  display: flex;
  align-items: center;
}
.idx3 .idx3_h3 .h_en {
  color: #fff;
  margin-top: 0.4em;
}
.idx3 .idx3_h3 .h_en::before {
  background-color: #fff;
}
.idx3 h3 {
  margin-right: 8px;
}
.idx3 .idx3_img {
  width: 53.984375%;
  margin-left: -51px;
  margin-top: 36px;
  position: relative;
  align-self: flex-start;
}
.idx3 .idx3_img .img {
  display: table;
  position: relative;
}
.idx3 .idx3_img .img::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  inset: 0;
  border: 10px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
}
.idx3 .idx3_img .img img {
  border-radius: 50%;
}
.idx3 .idx3_name {
  position: absolute;
  z-index: 1;
  bottom: 19px;
  right: 0;
  width: 13.125em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-bottom: 0.5em;
}
.idx3 .idx3_name::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  inset: 5px;
  border: 1px solid var(--main-color);
  border-radius: 50%;
}
.idx3 .idx3_name p {
  text-align: center;
  line-height: 1;
  letter-spacing: 0.1em;
}
.idx3 .idx3_name .jp01 {
  font-size: 1.125em;
  margin: 0;
}
.idx3 .idx3_name .jp02 {
  border-top: 1px solid #e9dfd3;
  padding-top: 0.375em;
  margin-top: 0.5938em;
  font-size: 2em;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-bottom: 0.375em;
}
.idx3 .idx3_name .en {
  text-transform: uppercase;
  font-size: 14px;
  letter-spacing: 0.05em;
  color: var(--main-color);
}
.idx3 .idx3_txt {
  width: 43.90625%;
  margin-top: 77px;
}
.idx3 .idx3_txt p {
  font-size: 18px;
  line-height: 2.3333333333;
}
@media only screen and (min-width: 1919px) {
  .idx3 .idx3_txt p {
    width: 98%;
  }
}
.idx3 .btn-group {
  max-width: 560px;
  margin-top: 64px;
}
.idx3 .btn-group .btn {
  width: calc(50% - 5px);
}
@media only screen and (min-width: 769px) and (max-width: 1600px) {
  .idx3 .inner_big::after {
    font-size: 1vw;
    right: -10em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .idx3 .inner_big::after {
    font-size: 1vw;
    right: -6em;
  }
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .idx3 {
    background-image: url(../images/idx3_bg_1366.png);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx3 .idx3_img {
    width: 50%;
    margin-left: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx3 {
    padding-bottom: 60px;
  }
  .idx3 .idx3_name {
    font-size: 12px;
  }
  .idx3 .idx3_name p {
    letter-spacing: 0 !important;
  }
  .idx3 .idx3_name .en {
    font-size: 12px;
  }
  .idx3 .idx3_txt p {
    font-size: 16px;
    letter-spacing: 0;
  }
  .idx3 .btn-group {
    width: 160%;
    margin-right: 0;
    margin-left: -32%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 850px) {
  .idx3 .btn-group {
    margin-left: -60%;
  }
}

.idx4 {
  background-color: #f0e7db;
  padding: 104px 0 18px;
}
.idx4 h3 {
  display: table;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
}
.idx4 h3 .char {
  display: inline-flex;
  color: #fff;
  background-color: var(--main-color);
  font-size: 1.3333em;
  font-weight: 500;
  padding: 0.0208em 0.2917em 0.1458em 0.2917em;
}
.idx4 h3 .char1 {
  margin-left: 0.0833em;
  margin-right: 0.0833em;
}
.idx4 h3 .char2 {
  margin-right: 0.2708em;
  padding-left: 0.3125em;
  padding-right: 0.2917em;
}
.idx4 h3::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  background: url(../images/idx4_icon.png) no-repeat center/contain;
  width: 8.8889em;
  height: 6.1944em;
  right: -16.7%;
  top: -49%;
}
.idx4 .inner {
  max-width: 1780px;
}
.idx4 .idx4_img {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 820px;
  width: 47.1264367816%;
  position: relative;
  z-index: 1;
}
.idx4 .idx4_img::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  background-color: #ede0d2;
  left: -7.3170731707%;
  right: -6.1%;
  bottom: -12.3%;
  top: 33.84%;
}
.idx4 .idx4_img picture {
  align-self: flex-start;
  box-shadow: -14.142px 14.142px 0px 0px rgba(184, 24, 64, 0.15);
  border-radius: 13px;
  position: relative;
  width: calc(50% - 10px);
}
.idx4 .idx4_img .img2 {
  margin-top: 50px;
}
.idx4 .idx4_img.idx4_img2 .img1 {
  margin-top: 50px;
}
.idx4 .idx4_img.idx4_img2 .img2 {
  margin-top: 0;
}
.idx4 .idx4_txt {
  width: 43.1034482759%;
  background: rgba(255, 255, 255, 0.95);
  border-radius: 0 0 40px 0;
  position: relative;
  margin-left: -60px;
  border-left: 10px solid var(--main-color);
  align-self: flex-end;
  margin-bottom: 60px;
  padding: 66px 103px 77px;
  z-index: 2;
}
.idx4 .idx4_txt .ttl01 {
  font-size: 30px;
  line-height: 1.6;
  font-weight: 500;
  color: var(--main-color);
  margin-bottom: 24px;
}
.idx4 .idx4_list {
  margin-top: 40px;
}
.idx4 .idx4_list .item {
  justify-content: flex-start;
  padding-bottom: 80px;
  position: relative;
  z-index: 1;
}
.idx4 .idx4_list .item::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  background: url(../images/idx4_icon_right.png) no-repeat center/contain;
  width: 23.125em;
  height: 15.375em;
  right: -3.4375em;
  bottom: 0.125em;
}
.idx4 .idx4_list .item2::after {
  right: unset;
  left: 0;
  background-image: url(../images/idx4_icon_left.png);
  width: 23.125em;
  height: 15.375em;
  left: -4.9375em;
  bottom: -1.125em;
}
.idx4 .idx4_list .item2 .idx4_txt {
  border-left-color: var(--clr2);
}
.idx4 .idx4_list .item2 .idx4_txt .ttl01 {
  color: var(--clr2);
}
.idx4 .idx4_list .item2 .idx4_img picture {
  box-shadow: 14.142px 14.142px 0px 0px rgba(146, 183, 21, 0.15);
}
.idx4 .idx4_list .item2 .idx4_img::after {
  left: -6.1%;
  right: -7.3%;
  top: 0;
  bottom: 30.2%;
}
@media only screen and (min-width: 769px) {
  .idx4 .idx4_list .item:nth-child(even) {
    flex-direction: row-reverse;
  }
  .idx4 .idx4_list .item:nth-child(even) .idx4_txt {
    margin-left: 0;
  }
  .idx4 .idx4_list .item:nth-child(even) .idx4_img {
    margin-left: -60px;
    padding-top: 80px;
  }
  .idx4 .idx4_list .item:nth-child(even) .btn a {
    padding-right: 1em;
  }
}
.idx4 .btn {
  margin: 33px 0 0 0;
  max-width: 275px;
}
.idx4 .btn a {
  padding-bottom: 0.2em;
}
@media only screen and (min-width: 769px) and (max-width: 1700px) {
  .idx4 .idx4_txt {
    padding: 50px;
  }
  .idx4 .idx4_img {
    padding-left: 40px;
  }
  .idx4 .idx4_img::after {
    left: 0px;
    right: -43px;
  }
  .idx4 .idx4_list .item:nth-child(even) .idx4_img {
    padding-right: 40px;
  }
  .idx4 .idx4_list .item:nth-child(even) .idx4_img::after {
    right: 0px;
    left: -43px;
  }
  .idx4 .idx4_list .item {
    padding-bottom: 68px;
  }
  .idx4 .idx4_list .item::after {
    right: 0;
    font-size: 1vw;
  }
  .idx4 .idx4_list .item2::after {
    left: 0;
    right: unset;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .idx4 .idx4_txt {
    padding: 40px;
    margin-bottom: 40px;
    width: 50%;
  }
  .idx4 .idx4_img::after {
    right: -40px;
  }
  .idx4 .idx4_list .item {
    padding-bottom: 60px;
  }
  .idx4 .idx4_list .item:nth-child(even) .idx4_img::after {
    left: -40px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx4 .idx4_img::after {
    right: -39px;
  }
  .idx4 .idx4_list .item {
    padding-bottom: 58px;
  }
  .idx4 .idx4_list .item:nth-child(even) .idx4_img::after {
    left: -39px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .idx4 .idx4_txt {
    margin-bottom: 20px;
    padding: 20px;
  }
  .idx4 .idx4_txt .ttl01,
  .idx4 .idx4_txt .ttl02 {
    letter-spacing: 0;
  }
  .idx4 .idx4_img::after {
    right: -35px;
  }
  .idx4 .idx4_list .item {
    padding-bottom: 54px;
  }
  .idx4 .idx4_list .item:nth-child(even) .idx4_img {
    padding-top: 40px;
  }
  .idx4 .idx4_list .item:nth-child(even) .idx4_img::after {
    left: -35px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx4 {
    padding-top: 60px;
  }
  .idx4 .idx4_img::after {
    right: -28px;
  }
  .idx4 .idx4_list .item {
    padding-bottom: 42px;
  }
  .idx4 .idx4_list .item:nth-child(even) .idx4_img::after {
    left: -28px;
  }
  .idx4 .idx4_list {
    padding-bottom: 40px;
  }
  .idx4 .idx4_list .item:last-child {
    padding-bottom: 0;
  }
  .idx4 .idx4_list .item .idx4_img {
    align-self: flex-start;
  }
  .idx4 .idx4_list .item .idx4_txt {
    margin-left: -20px;
    width: 54%;
  }
  .idx4 .idx4_list .item .idx4_txt .ttl01 {
    font-size: 20px;
  }
  .idx4 .idx4_list .item .idx4_txt .ttl02 {
    letter-spacing: 0;
  }
  .idx4 .idx4_list .item:nth-child(even) .idx4_img {
    margin-left: 0;
    padding-left: 0;
  }
  .idx4 .idx4_list .item:nth-child(even) .idx4_txt {
    margin-left: 0;
    margin-right: -20px;
  }
}

.idx5 {
  background-color: #b81840;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  z-index: 1;
  padding: 79px 0;
}
@media only screen and (min-width: 2000px) {
  .idx5 {
    height: 32vw;
  }
}
.idx5 .img {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 50%;
}
.idx5 .img img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}
.idx5 .txt {
  width: 50%;
  margin-left: auto;
}
.idx5 .idx5_txt {
  background-color: #fff;
  position: relative;
  z-index: 1;
  border-radius: 20px;
  padding: 79px 0 94px;
  align-self: center;
  margin-top: 1px;
  margin-left: -55px;
  width: 78.55%;
}
.idx5 .idx5_txt::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  background: url(../images/idx5_icon.png) no-repeat center/contain;
  width: 13.375em;
  height: 12.4375em;
  right: -22.6%;
  top: -8.1%;
  font-size: min(1vw, 16px);
}
.idx5 .ttl01 {
  line-height: 1.5;
  text-align: center;
  color: var(--clr1);
  font-size: 22px;
  letter-spacing: 0.1em;
  font-weight: 500;
  background-color: #e9dfd3;
  border-radius: 25px;
  margin: 8px auto 38px;
  display: table;
  padding: 4px 31px 5px 33px;
}
.idx5 .ttl02 {
  width: 83%;
  margin: 0 auto;
}
.idx5 .btn {
  margin-top: 36px;
}
.idx5 h3 .clr {
  color: var(--main-color);
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .idx5 {
    padding: 40px 0;
  }
  .idx5 .idx5_txt {
    padding: 40px 0;
  }
  .idx5 .idx5_txt::after {
    right: -30%;
    top: -5.5%;
  }
  .idx5 .ttl01 {
    margin-bottom: 20px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx5 .img {
    display: none;
    position: static;
    margin: 25px auto;
    max-width: 100%;
    width: 100%;
  }
  .idx5 .sp_only {
    display: block !important;
    position: static;
    margin: 25px auto;
    width: calc(100% - 40px);
  }
  .idx5 .idx5_txt::after {
    right: -11%;
    top: -2.5%;
    font-size: 0.8vw;
  }
  .idx5 .ttl02 {
    width: calc(100% - 40px);
    margin: 0 auto;
  }
  .idx5 .txt {
    width: 100%;
    margin-left: auto;
    margin: 0 auto;
    padding: 0 100px;
  }
  .idx5 .idx5_txt {
    padding: 40px 0;
    margin: 0 auto;
    width: 100%;
  }
}

.idx6 {
  padding: 74px 0 96px;
  background-image: url(../images/idx6_bg.jpg);
}
.idx6 h3 .clr {
  color: var(--main-color);
}
.idx6 .inner_big {
  position: relative;
  z-index: 1;
}
.idx6 .inner_big::before, .idx6 .inner_big::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.idx6 .inner_big::before {
  width: 9.75em;
  height: 3em;
  background-image: url(../images/idx6_icon_left.png);
  left: -12.125em;
  top: 1.1875em;
}
.idx6 .inner_big::after {
  width: 3.0625em;
  height: 9.9375em;
  background-image: url(../images/idx6_icon_right.png);
  right: -4.9375em;
  bottom: -2.75em;
}
.idx6 .idx6_bg {
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 0px 10px 16px 0px rgba(0, 0, 0, 0.1);
  margin-top: 47px;
}
.idx6 .inner {
  max-width: 1120px;
}
.idx6 .TabPager_large {
  max-width: 730px;
  width: 90%;
  justify-content: space-between;
  display: flex;
  margin: 0 auto 30px;
  text-align: center;
}
.idx6 .TabPager_large > div {
  width: calc(50% - 1px);
  background-color: var(--clr2);
  padding: 0;
  border-radius: 0 0 20px 20px;
  position: relative;
  z-index: 1;
  padding: 9px 0 17px;
  transition: 0.3s all;
  cursor: pointer;
}
.idx6 .TabPager_large > div::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  bottom: 100%;
  border-top: 6px solid #7e9e13;
  left: 0;
  right: 0;
}
.idx6 .TabPager_large > div::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  border-top: 9px solid var(--main-color);
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  left: calc(50% - 8px);
  top: 0;
  opacity: 0;
}
.idx6 .TabPager_large > div p {
  color: #fff;
  border: 0 !important;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.idx6 .TabPager_large > div.active {
  background-color: var(--main-color);
}
.idx6 .TabPager_large > div.active::before {
  border-top-color: #7e0d2a;
}
.idx6 .TabPager_large > div.active::after {
  border-top-color: #7e0d2a;
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .idx6 .TabPager_large > div:not(.active):hover {
    background-color: #16aec4;
  }
  .idx6 .TabPager_large > div:not(.active):hover::before {
    border-top-color: #16aec4;
  }
}
.idx6 .idx6_tab_content {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  z-index: -1;
}
.idx6 .idx6_tab_content.active {
  position: relative;
  opacity: 1;
  z-index: 1;
}
.idx6 .TabContainer .TabPager {
  max-width: 100%;
  width: 100%;
  justify-content: space-between;
  border: 4px solid #e9dfd3;
  --radius: 27px;
  border-radius: var(--radius);
}
.idx6 .TabContainer .TabPager > div {
  background-color: #fff;
  padding: 13px 0;
}
.idx6 .TabContainer .TabPager > div:first-child {
  border-radius: var(--radius) 0 0 var(--radius);
}
.idx6 .TabContainer .TabPager > div:last-child {
  border-radius: 0 var(--radius) var(--radius) 0;
}
.idx6 .TabContainer .TabPager > div p {
  border: 0 !important;
  font-size: 1.25em;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  position: relative;
  z-index: 1;
  color: var(--clr1);
  width: 100%;
  padding-right: 2em;
  padding-left: 2em;
  transition: 0.3s all;
}
.idx6 .TabContainer .TabPager > div p::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  background: url(../images/idx6_arr.png) no-repeat center/contain;
  width: 15px;
  height: 15px;
  right: 17px;
  top: calc(50% - 6px);
}
.idx6 .TabContainer .TabPager > div.active {
  background-color: var(--main-color);
}
.idx6 .TabContainer .TabPager > div.active p {
  color: #fff;
}
@media only screen and (min-width: 769px) {
  .idx6 .TabContainer .TabPager > div:not(.active):hover {
    background-color: var(--clr2);
  }
  .idx6 .TabContainer .TabPager > div:not(.active):hover p {
    color: #fff;
  }
}
.idx6 .TabContainer .TabContent .content {
  background: transparent;
}
.idx6 .idx6_btn_group {
  padding: 40px 0 62px;
  margin-left: -10.5px;
  margin-right: -10.5px;
  justify-content: flex-start;
}
.idx6 .idx6_btn {
  width: calc(33.3333333333% - 10.5px);
  max-width: 346px;
  margin-bottom: 20px;
  margin-left: 10.5px;
  margin-right: 10.5px;
}
.idx6 .idx6_btn a {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: var(--clr1);
  line-height: 1.5;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.1em;
  border: 1px solid #c2b5a5;
  border-radius: 6px;
  height: 80px;
  padding-left: 1.35em;
  padding-right: 2em;
  position: relative;
  z-index: 1;
  transition: 0.3s all;
}
.idx6 .idx6_btn a::after, .idx6 .idx6_btn a::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  width: 19px;
  height: 19px;
  right: 15px;
  top: calc(50% - 9px);
}
.idx6 .idx6_btn a::before {
  background-color: var(--main-color);
  border-radius: 50%;
}
.idx6 .idx6_btn a::after {
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../images/idx6_btn.png);
  background-color: #fff;
}
.idx6 .idx6_btn a:hover {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .idx6 .idx6_btn a:hover {
    border-color: var(--main-color);
    background-color: var(--main-color);
    color: #fff;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx6 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .idx6 .idx6_btn_group {
    margin-left: -5px;
    margin-right: -5px;
  }
  .idx6 .idx6_btn_group .idx6_btn {
    width: calc(33.3333333333% - 10px);
    margin-left: 5px;
    margin-right: 5px;
    margin-bottom: 10px;
  }
  .idx6 .idx6_btn_group .idx6_btn a {
    letter-spacing: 0;
    font-size: 18px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 850px) {
  .idx6 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .idx6 .idx6_btn_group {
    margin-left: -5px;
    margin-right: -5px;
  }
  .idx6 .idx6_btn_group .idx6_btn {
    width: calc(50% - 10px);
    margin-left: 5px;
    margin-right: 5px;
    margin-bottom: 10px;
  }
  .idx6 .idx6_btn_group .idx6_btn a {
    height: 70px;
    letter-spacing: 0;
    font-size: 18px;
  }
}

.idx7 {
  background-image: url(../images/idx7_bg.jpg);
  padding: 76px 0 245px;
  position: relative;
  overflow: hidden;
}
@media only screen and (min-width: 2000px) {
  .idx7 {
    padding-bottom: 15vw;
  }
}
.idx7 .inner_big {
  max-width: 1220px;
  position: relative;
  z-index: 1;
}
.idx7 .inner_big::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  width: 3.0625em;
  height: 9.9375em;
  background-image: url(../images/idx6_icon_right.png);
  left: -4.9em;
  top: -1.4375em;
}
.idx7 .inner_big::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  background: url(../images/idx7_icon.png) no-repeat center/contain;
  width: 10.25em;
  height: 10.75em;
  right: -13.0625em;
  bottom: 11.0625em;
}
.idx7 .idx7_bg {
  position: relative;
  z-index: 1;
}
.idx7 .idx7_bg::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  width: 80em;
  height: 75.5em;
  border-radius: 50%;
  background-color: #fff;
  left: calc(50% - 40em);
  top: -10.625em;
  z-index: -1;
}
.idx7 .h_en {
  color: #f1e7db;
}
.idx7 h3 .clr {
  color: var(--main-color);
}
.idx7 .idx7_ttl {
  line-height: 1.5;
  font-size: 22px;
  letter-spacing: 0.1em;
  font-weight: 500;
  display: table;
  margin: 9px auto 40px;
  border-radius: 21px;
  background-color: #e9dfd3;
  padding: 4px 69px 5px;
}
.idx7 .fblock {
  max-width: 1030px;
  margin: 0 auto;
}
.idx7 .fblock .img {
  width: 49%;
  max-width: 500px;
}
.idx7 .fblock .img img {
  border-radius: 12px;
}
.idx7 .idx7_txt {
  width: 82%;
  margin: 24px auto 0;
}
.idx7 .idx7_txt p {
  font-size: 18px;
  letter-spacing: 0.1em;
  line-height: 2.33333333;
}
.idx7 .btn-group {
  margin-top: 55px;
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .idx7 .idx7_bg::after {
    font-size: 1.2vw;
  }
  .idx7 .idx7_bg .fblock {
    max-width: 90%;
    margin: 0 auto;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx7 {
    padding-bottom: 180px;
  }
  .idx7 .idx7_txt {
    width: 100%;
  }
  .idx7 .idx7_txt p {
    letter-spacing: 0;
    font-size: 16px;
  }
}

.idx8 {
  padding: 283px 0 114px;
  position: relative;
  z-index: 1;
  margin-top: -262px;
}
.idx8::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -2;
  background: url(../images/idx8_bg_top.png) no-repeat top center/cover;
  left: 0;
  width: 100%;
  top: 0;
  height: 52.453%;
}
.idx8::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  top: 38.399%;
  left: 0;
  width: 100%;
  bottom: 0;
  background-repeat: no-repeat;
  background-image: url(../images/idx8_bg_bottom_left.png), url(../images/idx8_bg.png);
  background-size: min(40vw, 732px), cover;
  background-position: bottom left, top center;
  z-index: -1;
}
@media only screen and (min-width: 2000px) {
  .idx8 {
    margin-top: -15vw;
    padding-top: 12vw;
  }
  .idx8::before {
    height: 55%;
  }
  .idx8::after {
    top: 42%;
  }
}
.idx8 .inner {
  max-width: 1340px;
}
.idx8 h3,
.idx8 .h_en {
  width: 48%;
  margin-left: auto;
}
.idx8 h3 {
  position: relative;
  z-index: 1;
}
.idx8 h3::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='369px' height='308px'%3E%3Cpath fill-rule='evenodd' opacity='0.102' fill='rgb(255, 255, 255)' d='M275.028,231.774 C232.600,265.752 234.335,308.002 234.335,308.002 C234.335,308.002 213.086,271.543 159.168,266.174 C105.250,260.797 25.825,265.668 3.741,190.043 C-18.344,114.418 64.552,97.311 70.401,96.088 C76.250,94.868 102.398,91.182 130.989,100.217 C159.576,109.251 180.736,124.461 180.736,124.461 C180.736,124.461 190.344,100.112 209.517,76.900 C228.688,53.688 252.642,42.496 258.216,40.326 C263.790,38.155 342.652,7.239 364.739,82.867 C386.824,158.493 317.455,197.796 275.028,231.774 ZM352.013,86.645 C346.861,69.001 338.206,57.365 325.550,51.072 C301.251,38.999 269.213,50.382 263.038,52.786 C263.035,52.788 262.991,52.803 262.987,52.805 C262.000,53.194 238.620,62.561 219.712,85.458 C202.494,106.305 193.439,128.469 193.063,129.404 C193.063,129.404 188.698,140.356 186.791,145.140 C182.611,142.167 173.049,135.361 173.049,135.361 C172.883,135.242 153.266,121.271 127.020,112.980 C98.468,103.951 73.331,109.135 73.080,109.188 C66.601,110.542 33.514,118.494 19.588,141.906 C12.334,154.110 11.314,168.617 16.466,186.266 C23.940,211.857 38.923,228.374 63.620,238.248 C86.391,247.359 114.277,249.357 138.879,251.120 C139.138,251.140 160.469,252.861 160.469,252.861 C184.166,255.223 205.069,263.212 222.598,276.599 C223.371,277.189 224.377,277.379 225.310,277.101 C226.241,276.824 226.988,276.116 227.321,275.197 C234.864,254.359 248.138,236.226 266.775,221.297 L283.921,208.088 C303.745,193.089 326.088,176.180 340.324,156.095 C355.771,134.307 359.485,112.239 352.013,86.645 ZM280.356,203.068 C280.249,203.152 262.969,216.466 262.969,216.466 C244.504,231.251 231.239,249.174 223.120,269.598 C205.329,256.875 184.547,249.058 161.073,246.720 L139.572,244.983 C115.154,243.230 87.770,241.265 65.875,232.510 C43.072,223.390 29.237,208.144 22.338,184.522 C20.369,177.774 19.381,171.567 19.381,165.842 C19.381,158.078 21.198,151.206 24.836,145.081 C37.450,123.877 68.282,116.494 74.335,115.231 C74.572,115.183 98.495,110.430 125.188,118.871 C150.326,126.810 169.315,140.261 169.505,140.398 L186.422,152.434 C187.187,152.978 188.158,153.139 189.055,152.872 C189.951,152.605 190.678,151.937 191.028,151.063 L198.736,131.721 C199.095,130.836 207.799,109.528 224.415,89.409 C242.269,67.790 264.985,58.647 265.212,58.556 C265.206,58.558 265.248,58.543 265.242,58.544 C271.000,56.302 300.836,45.675 322.843,56.609 C333.878,62.095 341.498,72.492 346.139,88.389 C348.425,96.214 349.577,103.682 349.577,110.903 C349.577,125.482 344.882,139.052 335.342,152.506 C321.658,171.816 299.714,188.420 280.356,203.068 ZM209.029,66.543 C206.253,69.466 203.688,72.372 201.319,75.227 L193.293,50.782 C195.788,48.518 197.389,45.270 197.389,41.619 C197.389,34.792 191.899,29.254 185.127,29.254 C178.355,29.254 172.865,34.792 172.865,41.619 C172.865,48.054 177.759,53.282 183.988,53.869 L194.074,84.588 C186.926,94.486 182.372,102.949 179.958,107.933 L164.985,61.431 C167.509,59.165 169.132,55.900 169.132,52.225 C169.132,45.397 163.642,39.860 156.870,39.860 C150.097,39.860 144.608,45.397 144.608,52.225 C144.608,58.636 149.465,63.847 155.663,64.467 L169.503,107.458 C163.518,104.034 154.491,99.508 142.998,95.637 L135.559,72.977 C138.056,70.713 139.654,67.467 139.654,63.815 C139.654,56.987 134.163,51.450 127.393,51.450 C120.619,51.450 115.130,56.987 115.130,63.815 C115.130,70.250 120.023,75.478 126.256,76.064 L131.579,92.281 C129.901,91.856 128.199,91.443 126.448,91.062 C85.353,82.132 63.542,90.462 63.542,90.462 C63.542,90.462 70.415,53.716 95.441,33.059 C120.204,12.621 146.569,6.311 146.569,6.311 C146.569,6.311 172.117,-2.792 203.915,0.849 C236.051,4.539 261.839,30.792 261.839,30.792 C261.839,30.792 235.776,38.397 209.029,66.543 Z'/%3E%3C/svg%3E") no-repeat center/contain;
  width: 8.7857em;
  height: 7.3333em;
  left: -1.4524em;
  top: calc(50% - 3.5714em);
  z-index: -1;
}
.idx8 .inner {
  max-width: 1422px;
  position: relative;
}
.idx8 .inner::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  background: url(../images/idx8_icn.png) no-repeat center/contain;
  width: 12.5em;
  height: 14.4375em;
  left: -11.375em;
  top: -6.5625em;
}
.idx8 .idx8_list {
  margin-top: -120px;
  align-items: flex-start;
  counter-reset: count;
}
.idx8 .idx8_list .item {
  width: calc(50% - 30px);
}
.idx8 .idx8_list .item img {
  border-radius: 12px;
}
.idx8 .idx8_list .item .txt {
  background-color: #fff;
  margin-left: auto;
  width: 75.6%;
  padding: 59px 40px 60px 57px;
  position: relative;
  margin-top: -104px;
  border-radius: 20px;
  z-index: 1;
}
.idx8 .idx8_list .item .txt::before {
  content: counter(count, decimal-leading-zero);
  counter-increment: count;
  position: absolute;
  right: calc(100% + 0px);
  top: 0.3556em;
  font-size: 90px;
  letter-spacing: 0;
  line-height: 1;
  color: var(--main-color);
  font-weight: 500;
}
.idx8 .idx8_list .item .ttl01 {
  line-height: 1.5;
  color: var(--main-color);
  font-size: 26px;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-bottom: 26px;
}
.idx8 .idx8_list .item .ttl01::after {
  content: "";
  display: block;
  width: 90px;
  height: 2px;
  background-color: var(--main-color);
  margin-top: 18px;
  margin-left: 2px;
}
.idx8 .idx8_list .item .ttl02 {
  width: 94%;
}
.idx8 .idx8_list .item .en {
  text-transform: uppercase;
  color: #e9dfd3;
  opacity: 0.5 !important;
  position: absolute;
  bottom: 0;
  right: 0.1em;
  font-size: 60px;
  line-height: 1;
  letter-spacing: 0;
  font-weight: 500;
}
.idx8 .idx8_list .item1 .txt {
  padding-bottom: 61px;
}
.idx8 .idx8_list .item2 {
  margin-top: 189px;
}
.idx8 .idx8_list .item2 .txt {
  padding-bottom: 65px;
}
.idx8 .idx8_list .item3 {
  margin-top: -145px;
}
.idx8 .idx8_list .item4 {
  margin-top: 80px;
}
.idx8 .idx8_list .item4 .txt {
  padding-bottom: 59px;
}
.idx8 .btn-group {
  max-width: 963px;
  margin-top: -80px;
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx8 .idx8_list .item .txt {
    padding: 60px 40px;
  }
  .idx8 .idx8_list .item .ttl01 {
    letter-spacing: 0;
    font-size: 22px;
  }
  .idx8 .idx8_list .item .img {
    padding-right: 40px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx8 {
    margin-top: -170px;
  }
  .idx8::after {
    top: 36%;
  }
  .idx8 .idx8_list .item {
    width: calc(50% - 10px);
  }
  .idx8 .idx8_list .item .txt {
    padding: 20px;
  }
  .idx8 .idx8_list .item .txt::before {
    font-size: 80px;
    top: 0.5em;
  }
  .idx8 .idx8_list .item .en {
    font-size: 40px;
  }
  .idx8 h3,
  .idx8 .h_en {
    width: 45%;
  }
  .idx8 h3::after {
    font-size: 0.875em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 850px) {
  .idx8 .idx8_list .item3 {
    margin-top: -220px;
  }
}

.idx9 {
  padding: 69px 0 0;
  background-image: url(../images/idx9_bg.png);
}
@media only screen and (min-width: 2000px) {
  .idx9 {
    padding-top: 6vw;
  }
}
.idx9 .inner {
  max-width: 1150px;
  display: grid;
  grid-template-columns: 35% 53.8%;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0;
  position: relative;
  z-index: 1;
}
.idx9 .inner::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='140px' height='147px'%3E%3Cpath fill-rule='evenodd' opacity='0.102' fill='rgb(255, 255, 255)' d='M134.714,92.825 L120.756,92.825 C117.841,92.825 115.479,95.200 115.479,98.130 L115.479,112.168 C115.479,115.098 113.117,117.473 110.203,117.473 L99.126,117.473 C96.212,117.473 93.850,115.098 93.850,112.168 L93.850,98.130 C93.850,95.200 91.488,92.825 88.573,92.825 L74.613,92.825 C71.699,92.825 69.337,90.449 69.337,87.520 L69.337,76.383 C69.337,73.452 71.699,71.078 74.613,71.078 L88.573,71.078 C91.488,71.078 93.850,68.702 93.850,65.773 L93.850,51.735 C93.850,48.805 96.212,46.429 99.126,46.429 L110.203,46.429 C113.117,46.429 115.479,48.805 115.479,51.735 L115.479,65.773 C115.479,68.702 117.841,71.078 120.756,71.078 L134.714,71.078 C137.627,71.078 139.990,73.452 139.990,76.383 L139.990,87.520 C139.990,90.449 137.627,92.825 134.714,92.825 ZM83.527,30.322 L74.406,30.322 C72.502,30.322 70.958,31.874 70.958,33.788 L70.958,42.962 C70.958,44.877 69.414,46.429 67.510,46.429 L60.271,46.429 C58.366,46.429 56.823,44.877 56.823,42.962 L56.823,33.788 C56.823,31.874 55.279,30.322 53.374,30.322 L44.252,30.322 C42.347,30.322 40.804,28.769 40.804,26.855 L40.804,19.576 C40.804,17.661 42.347,16.109 44.252,16.109 L53.374,16.109 C55.279,16.109 56.823,14.557 56.823,12.642 L56.823,3.468 C56.823,1.554 58.366,0.002 60.271,0.002 L67.510,0.002 C69.414,0.002 70.958,1.554 70.958,3.468 L70.958,12.642 C70.958,14.557 72.502,16.109 74.406,16.109 L83.527,16.109 C85.432,16.109 86.976,17.661 86.976,19.576 L86.976,26.855 C86.976,28.769 85.432,30.322 83.527,30.322 ZM47.873,104.026 L47.873,113.199 C47.873,115.115 49.416,116.668 51.321,116.668 L60.441,116.668 C62.346,116.668 63.890,118.220 63.890,120.134 L63.890,127.412 C63.890,129.327 62.346,130.880 60.441,130.880 L51.321,130.880 C49.416,130.880 47.873,132.432 47.873,134.347 L47.873,143.519 C47.873,145.434 46.329,146.987 44.424,146.987 L37.185,146.987 C35.281,146.987 33.737,145.434 33.737,143.519 L33.737,134.347 C33.737,132.432 32.193,130.880 30.289,130.880 L21.166,130.880 C19.262,130.880 17.718,129.327 17.718,127.412 L17.718,120.134 C17.718,118.220 19.262,116.668 21.166,116.668 L30.289,116.668 C32.193,116.668 33.737,115.115 33.737,113.199 L33.737,104.026 C33.737,102.112 35.281,100.560 37.185,100.560 L44.424,100.560 C46.329,100.560 47.873,102.112 47.873,104.026 ZM32.796,70.483 L25.792,70.483 C24.331,70.483 23.145,71.675 23.145,73.145 L23.145,80.187 C23.145,81.658 21.960,82.850 20.497,82.850 L14.940,82.850 C13.477,82.850 12.293,81.658 12.293,80.187 L12.293,73.145 C12.293,71.675 11.107,70.483 9.646,70.483 L2.640,70.483 C1.178,70.483 -0.008,69.291 -0.008,67.821 L-0.008,62.232 C-0.008,60.763 1.178,59.570 2.640,59.570 L9.646,59.570 C11.107,59.570 12.293,58.379 12.293,56.909 L12.293,49.865 C12.293,48.395 13.477,47.204 14.940,47.204 L20.497,47.204 C21.960,47.204 23.145,48.395 23.145,49.865 L23.145,56.909 C23.145,58.379 24.331,59.570 25.792,59.570 L32.796,59.570 C34.258,59.570 35.444,60.763 35.444,62.232 L35.444,67.821 C35.444,69.291 34.258,70.483 32.796,70.483 Z'/%3E%3C/svg%3E") no-repeat center/contain;
  width: 8.75em;
  height: 9.1875em;
  right: -23%;
  bottom: 15.6%;
}
.idx9 .img {
  grid-row: 1/span 3;
  align-self: flex-end;
  max-width: 373px;
  margin-left: -75px;
}
.idx9 .idx9_h3 {
  display: flex;
  align-items: center;
  padding-top: 170px;
}
.idx9 .h_en {
  padding-top: 20px;
  margin-left: 11px;
  font-weight: 400;
}
.idx9 .idx9_txt {
  padding-top: 20px;
}
.idx9 .idx9_txt p {
  font-size: 18px;
  letter-spacing: 0.1em;
  font-weight: 500;
  line-height: 1.7777777778;
  color: #fff;
}
.idx9 .btn {
  max-width: 275px;
  margin: 42px 0 0 0;
}
@media only screen and (min-width: 769px) {
  .idx9 .btn a:hover {
    background-color: var(--clr2) !important;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1600px) {
  .idx9 .inner::after {
    right: 0;
    bottom: 10px;
    font-size: 1vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .idx9 .img {
    margin-left: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx9 .idx9_h3 {
    padding-top: 100px;
  }
  .idx9 .idx9_txt {
    padding-bottom: 40px;
  }
}