.preloader {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  position: fixed;
  gap: 60px;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  overflow: hidden;
  background: #fff;
}
.preloader::before {
  display: block;
  content: "";
  top: 0;
  left: 0;
  z-index: -999;
  position: absolute;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: -99;
}
.preloader_logo {
  max-width: clamp(9.375rem, 8.052rem + 11.25vw, 18.125rem);
  -webkit-animation: ease preloader 2s both;
  animation: ease preloader 2s both;
  opacity: 0;
}

@-webkit-keyframes l16 {
  0% {
    background-position: -100% 0, -100% 0;
  }
  66% {
    background-position: 166.67% 0, -100% 0;
  }
  100% {
    background-position: 166.67% 0, 166.67% 0;
  }
}
@keyframes l16 {
  0% {
    background-position: -100% 0, -100% 0;
  }
  66% {
    background-position: 166.67% 0, -100% 0;
  }
  100% {
    background-position: 166.67% 0, 166.67% 0;
  }
}
@-webkit-keyframes preloader {
  0% {
    opacity: 0;
    -webkit-filter: blur(20px);
    filter: blur(20px);
  }
  50% {
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes preloader {
  0% {
    opacity: 0;
    -webkit-filter: blur(20px);
    filter: blur(20px);
  }
  50% {
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes fade-in {
  from {
    opacity: 0;
    visibility: hidden;
  }
  to {
    opacity: 1;
    visibility: visible;
  }
}
@keyframes fade-in {
  from {
    opacity: 0;
    visibility: hidden;
  }
  to {
    opacity: 1;
    visibility: visible;
  }
}
@keyframes marquee {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}
.decor-blk {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.home_page .key {
  --height: 56vw;
  --min-height: 500px;
  --max-height: 650px;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  z-index: 1;
}
.home_page .key::before {
  content: "";
  position: absolute;
  aspect-ratio: 1140/928;
  bottom: 0em;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("../images/idx_key_decor.png");
  z-index: -1;
  overflow: auto;
}
.home_page .key_wrap {
  position: relative;
  width: 100%;
  max-width: 1480px;
  margin: 0 auto;
}
.home_page .key_bg {
  border-radius: 10px 0 0 10px;
  overflow: hidden;
}
.home_page .key_bg .slider {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.home_page .key .mv_slider:not(.slick-slider) {
  display: flex;
  overflow: hidden;
}
.home_page .key .mv_slider:not(.slick-slider) .slider:not(:first-child) {
  display: none;
}
.home_page .key .slider {
  opacity: 0;
  transform: scale(1);
  transition: opacity 2s ease, transform 6s ease !important;
}
.home_page .key .slider.slick-current {
  opacity: 1;
  transform: scale(1.1);
}
.home_page .key .s1 {
  background-image: url(../images/idx_mv01.jpg);
}
.home_page .key .slick-initialized .s2 {
  background-image: url(../images/idx_mv02.jpg);
}
.home_page .key .slick-initialized .s3 {
  background-image: url(../images/idx_mv03.jpg);
}
.home_page .key_text {
  position: relative;
  z-index: 1;
}
.home_page .key_text .catch h2,
.home_page .key_text .catch p {
  color: var(--clr1);
}
.home_page .key_text .catch h2 {
  font-family: var(--f-jp);
  font-weight: 600;
  letter-spacing: 0.16em;
}
.home_page .key_text .catch > p {
  letter-spacing: 0.1em;
  font-weight: 400;
}
.home_page .key .list {
  font-size: 1em;
  display: flex;
}
.home_page .key .list .item {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  box-shadow: 0px 0px 19.8px 0.2px rgba(238, 210, 203, 0.5);
  z-index: 1;
}
.home_page .key .list .item::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  bottom: -1em;
  left: 0px;
  right: 0px;
  background-color: rgba(198, 101, 85, 0.2);
  z-index: -1;
  transition: all 0.3s ease;
}
.home_page .key .list .item .txt {
  width: 100%;
  height: 100%;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: inherit;
}
.home_page .key .list .item .txt > p {
  font-family: var(--f-jp);
  font-weight: 500;
  color: var(--clr2);
  text-align: center;
  margin-bottom: 0;
}
.home_page .key .list .item .txt > p .num {
  line-height: 1.2;
  font-size: 150%;
  padding: 0 3px;
  font-weight: 500;
}
.home_page .key .list .item:not(:first-child) {
  margin-left: -1em;
}
.home_page .key .list .item1 {
  z-index: 2;
}
.home_page .key .list .item1 .txt > p {
  font-weight: 400;
  padding-bottom: 0.5556em;
}
.home_page .key .list .item2 {
  z-index: 1;
}
.home_page .key .list .item3 {
  z-index: 0;
}
.home_page .key .list .item:has(.link) {
  transition: all 0.3s ease;
}
.home_page .key .list .item:has(.link) .txt {
  background: url("../images/idx_key_list_bg.png") no-repeat center/cover;
  position: relative;
}
.home_page .key .list .item:has(.link) .txt::before {
  content: "";
  position: absolute;
  aspect-ratio: 23/9;
  right: 0px;
  margin: 0 auto;
  --mask: url("../images/ic-arr01.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: #fff;
}
.home_page .key .list .item:has(.link) .txt > p {
  color: #fff;
}
.home_page .key .list .item:has(.link) .txt .link {
  border-radius: 50%;
}
@media only screen and (min-width: 769px) {
  .home_page .key {
    font-size: 0.625em;
  }
  .home_page .key::before {
    top: 0em;
    width: 114em;
    right: calc(50% - 18em);
  }
  .home_page .key_wrap {
    padding: 0 20px;
    display: flex;
    align-items: center;
  }
  .home_page .key_bg {
    position: absolute;
    width: 58.55vw;
    top: 0;
    left: 41.7%;
    height: var(--height);
    min-height: var(--min-height);
    max-height: var(--max-height);
  }
  .home_page .key_bg .slider {
    width: 100%;
    height: var(--height);
    min-height: var(--min-height);
    max-height: var(--max-height);
  }
  .home_page .key_text {
    display: flex;
    align-items: center;
    width: 51.35%;
    height: var(--height);
    min-height: var(--min-height);
    max-height: var(--max-height);
  }
  .home_page .key_text .catch {
    max-width: 580px;
    padding-top: 3em;
    margin-left: auto;
  }
  .home_page .key_text .catch h2 {
    font-size: max(3.6em, 28px);
    margin-bottom: 0.5556em;
    line-height: 1.6666666667;
  }
  .home_page .key_text .catch p {
    font-size: max(14px, 1.6em);
    margin-bottom: 4.4375em;
    padding-left: 0.125em;
  }
  .home_page .key .list {
    padding-left: 2px;
  }
  .home_page .key .list .item {
    width: 20em;
    aspect-ratio: 1/1;
  }
  .home_page .key .list .item .txt > p {
    font-size: 1.8em;
    line-height: 1.5555555556;
  }
  .home_page .key .list .item:has(.link) .txt::before {
    width: 23px;
    bottom: 3em;
    left: 3px;
  }
  .home_page .key .list .item:has(.link):hover {
    transform: translateY(1em);
  }
  .home_page .key .list .item:has(.link):hover::before {
    bottom: 0;
  }
}
.home_page .topic_path {
  display: none;
}
.home_page .ttl_h3 .h_en {
  color: var(--main-color);
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
  font-size: calc(var(--txt_size) + 6px);
  letter-spacing: 0.115em;
}
.home_page .ttl_h3 .h_en.sm {
  margin-top: calc(clamp(50px, 5.278vw, 76px) * -1);
}
.home_page .ttl_h3 .h_en.md {
  margin-top: 0;
  font-size: clamp(60px, 5.556vw, 80px);
  color: #fff;
}
.home_page .ttl_h3 .h_en.lg {
  margin-top: 0;
  color: #fff;
  font-size: clamp(80px, 9.1vw, 130px);
  letter-spacing: 0.075em;
  margin-bottom: 0;
}
.home_page .ttl_h3 h3 {
  position: relative;
  color: var(--clr1);
  font-family: var(--f-jp);
  font-size: calc(var(--ttl_size) + 6px);
  font-weight: 500;
  letter-spacing: 0.16em;
}
.home_page .ttl_h3 h3.lg {
  margin-top: -0.2222em;
  letter-spacing: 0.1em;
  font-size: calc(var(--ttl_size) + 17px);
}
.home_page .ttl_h3.sm .h_en {
  margin-top: 0;
  font-size: calc(var(--ttl_size) * 2.5);
  letter-spacing: 0.1em;
  margin-bottom: 0.1286em;
}
.home_page .ttl_h3.sm h3 {
  font-size: calc(var(--ttl_size) - 2px);
  letter-spacing: 0.1em;
}

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

.idx01 {
  position: relative;
  z-index: 1;
}
.idx01 .idx_box .box_ttl picture img {
  border-radius: 10px;
}
.idx01 .TabContainer .TabPager {
  gap: 0.625em;
}
.idx01 .TabContainer .TabPager > div {
  max-width: 120px;
  padding: 0.3125em 0.625em 1.375em 0.8125em;
}
.idx01 .TabContainer .TabPager > div::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  bottom: 0px;
  left: 0px;
  background-color: var(--clr2);
  transform: scaleX(0);
  transform-origin: right bottom;
  transition: transform 0.3s ease-in-out;
}
.idx01 .TabContainer .TabPager > div.active::before {
  transform: scaleX(1);
}
.idx01 .TabContainer .TabPager > div.active .tt {
  color: var(--clr2);
}
.idx01 .TabContainer .TabPager > div .tt {
  font-family: var(--f-jp);
  font-size: calc(var(--txt_size) + 2px);
  line-height: 1.6;
  font-weight: 500;
  color: #999696;
}
.idx01 .TabContainer .TabContent .content > div {
  padding: 2.5em 0;
}
.idx01 .news ul li {
  border-bottom: 1px solid #cccacb;
  width: auto;
}
.idx01 .news ul li:first-child {
  border-top: 1px solid #cccacb;
}
.idx01 .news ul li a {
  position: relative;
  display: inline-flex;
  text-decoration: none;
  transition: all 0.3s;
  letter-spacing: 0.1em;
  white-space: nowrap;
  max-width: 100%;
  width: 100%;
  color: var(--clr1);
}
.idx01 .news ul li a::before {
  content: "";
  position: absolute;
  width: 6px;
  height: 10px;
  top: 0px;
  bottom: 0px;
  right: 1.125em;
  margin: auto 0;
  --mask: url("../images/ic-arr02.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: #dedcdd;
  transition: all 0.3s ease;
}
.idx01 .news ul li a span {
  display: inline-block;
}
.idx01 .news ul li a:hover {
  opacity: 1;
}
.idx01 .news ul li a .date {
  width: var(--w);
  transition: all 0.3s;
  font-family: var(--f-jp);
  font-weight: 200;
  letter-spacing: 0.05em;
  color: #999696;
}
.idx01 .news ul li a .cate {
  width: var(--w);
  color: var(--clr2);
}
.idx01 .news ul li a .title {
  position: relative;
  text-overflow: ellipsis;
  padding-right: 1.25em;
  overflow: hidden;
}
@media only screen and (min-width: 769px) {
  .idx01 {
    padding: 137px 0 0;
  }
  .idx01 .ttl_h3 {
    margin-bottom: 6.125em;
  }
  .idx01 .idx_box {
    display: flex;
    justify-content: space-between;
  }
  .idx01 .idx_box .box_ttl {
    width: 35%;
    max-width: 355px;
  }
  .idx01 .idx_box .box_ttl picture {
    display: flex;
    justify-content: flex-end;
  }
  .idx01 .idx_box .box_ttl picture img {
    max-width: min(34.445vw, 496px);
  }
  .idx01 .idx_box .box_cont {
    width: 60%;
    max-width: 654px;
  }
  .idx01 .TabContainer .TabPager > div:hover::before {
    transform: scaleX(1);
    transform-origin: bottom left;
    background-color: var(--main-color);
  }
  .idx01 .TabContainer .TabPager > div:hover .tt {
    color: var(--main-color);
  }
  .idx01 .news {
    margin-bottom: min(3.5vw, 50px);
  }
  .idx01 .news ul li a {
    padding: 2.25em 0 2.125em;
    --w: 6.8125em;
  }
  .idx01 .news ul li a .title {
    max-width: calc(100% - var(--w) * 2);
  }
  .idx01 .news ul li a:hover {
    background-color: rgba(246, 236, 232, 0.5);
    padding-left: 1em;
  }
  .idx01 .btn-group .btn {
    margin-left: auto;
  }
}
@media only screen and (min-width: 1366px) {
  .idx01 .news ul li:first-child a {
    padding-top: 2.375em;
  }
  .idx01 .news ul li:last-child a {
    padding-bottom: 2.3125em;
  }
}
@media only screen and (min-width: 1280px) and (max-width: 1366px) {
  .idx01 .idx_box .box_ttl picture img {
    max-width: min(32vw, 496px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx01 .news ul li a {
    padding: 1.25em 0;
  }
  .idx01 .TabContainer .TabContent .content > div {
    padding: 1.75em 0;
  }
}

.idx02 {
  position: relative;
  z-index: 0;
}
.idx02::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  margin: 0 auto;
  background: url("../images/idx02_bg.png") no-repeat center/cover;
  z-index: -1;
}
@media only screen and (min-width: 1921px), (min-width: 769px) and (max-width: 1366px) {
  .idx02::after {
    width: 100vw;
    aspect-ratio: unset;
    left: calc(50% - 50vw);
    background-position: bottom center;
  }
}
.idx02 .idx_decor .item {
  aspect-ratio: 460/306;
  background: url("../images/idx02_decor01.png") no-repeat center/cover;
}
.idx02 .idx_list {
  font-size: min(0.74vw, 10px);
  display: flex;
  flex-wrap: wrap;
}
.idx02 .idx_list .item {
  --y: round(0.5em, 1px);
  position: relative;
}
.idx02 .idx_list .item .txt {
  position: relative;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-color: unset;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transition: all 0.3s ease;
}
.idx02 .idx_list .item .txt p:not(.link) {
  font-family: var(--f-jp);
  font-size: 1.8em;
  line-height: 1.6666666667;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: var(--clr2);
  text-align: center;
}
.idx02 .idx_list .item .txt p:not(.link) .lg {
  font-weight: 500;
  letter-spacing: 0.12em;
  font-size: 1.3em;
}
.idx02 .idx_list .item1 .txt {
  background-image: url(../images/idx02_item01_mask.png);
}
.idx02 .idx_list .item2 .txt {
  background-image: url(../images/idx02_item02_mask.png);
}
.idx02 .idx_list .item3 .txt {
  background-image: url(../images/idx02_item03_mask.png);
}
.idx02 .idx_list .item4 .txt {
  background-image: url(../images/idx02_item04_mask.png);
}
.idx02 .idx_list .item5 .txt {
  background-image: url(../images/idx02_item05_mask.png);
}
.idx02 .idx_list .item6 .txt {
  background-image: url(../images/idx02_item06_mask.png);
}
.idx02 .idx_list .item7 .txt {
  background-image: url(../images/idx02_item07_mask.png);
}
.idx02 .idx_list .item8 .txt {
  background-image: url(../images/idx02_item08_mask.png);
}
.idx02 .idx_list .item1, .idx02 .idx_list .item2 {
  --y: round(1em, 1px);
}
.idx02 .idx_list .item1 .txt p:not(.link), .idx02 .idx_list .item2 .txt p:not(.link) {
  font-size: 2em;
  font-weight: 400;
  color: #fff;
}
.idx02 .idx_list .item1 .txt {
  width: round(32.5em, 1px);
  aspect-ratio: 325/327;
}
.idx02 .idx_list .item1 .txt p:not(.link) {
  margin-top: 2.75em;
  margin-bottom: 1.25em;
}
.idx02 .idx_list .item2 .txt {
  width: round(31.7em, 1px);
  aspect-ratio: 317/320;
  padding-left: 1.5em;
}
.idx02 .idx_list .item2 .txt p:not(.link) {
  margin-top: 2em;
  margin-bottom: 1.25em;
}
.idx02 .idx_list .item3 .txt {
  width: round(24.7em, 1px);
  aspect-ratio: 247/252;
}
.idx02 .idx_list .item3 .txt p:not(.link) {
  margin-top: 1.1111em;
  margin-bottom: 1.0556em;
}
.idx02 .idx_list .item4 .txt {
  width: round(23.3em, 1px);
  aspect-ratio: 233/240;
}
.idx02 .idx_list .item4 .txt p:not(.link) {
  margin-top: 1.8333em;
  margin-bottom: 1.0556em;
}
.idx02 .idx_list .item5 .txt {
  width: round(22.8em, 1px);
  aspect-ratio: 228/233;
}
.idx02 .idx_list .item5 .txt p:not(.link) {
  margin-left: 0.2778em;
  margin-top: 0.9444em;
  margin-bottom: 1.0556em;
}
.idx02 .idx_list .item6 .txt {
  width: round(25em, 1px);
  aspect-ratio: 250/260;
}
.idx02 .idx_list .item6 .txt p:not(.link) {
  margin-left: 0.8889em;
  margin-top: 1.7222em;
  margin-bottom: 1.0556em;
}
.idx02 .idx_list .item7 .txt {
  width: round(23.2em, 1px);
  aspect-ratio: 232/226;
}
.idx02 .idx_list .item7 .txt p:not(.link) {
  margin-top: 1.6667em;
  margin-bottom: 1.2222em;
}
.idx02 .idx_list .item7 .txt .ic-arr {
  margin-right: 0.3333em;
}
.idx02 .idx_list .item8 .txt {
  width: round(23.2em, 1px);
  aspect-ratio: 232/234;
}
.idx02 .idx_list .item8 .txt p:not(.link) {
  margin-top: 1.1667em;
  margin-bottom: 1.3889em;
}
.idx02 .idx_list .item8 .txt .ic-arr {
  margin-left: 0.5556em;
}
@media only screen and (min-width: 769px) {
  .idx02 {
    margin-top: calc(min(4.1vw, 59px) * -1);
    padding: 144px 0 172px;
  }
  .idx02::after {
    width: 1920px;
    height: calc(100% + max(85px, 4.427vw));
    left: calc(50% - 960px);
  }
  .idx02 .ttl_h3 {
    display: flex;
    flex-direction: row-reverse;
    margin-bottom: 3.1875em;
  }
  .idx02 .ttl_h3 p,
  .idx02 .ttl_h3 h3 {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    -webkit-writing-mode: vertical-rl;
    -webkit-text-orientation: mixed;
  }
  .idx02 .ttl_h3 p .txt-en,
  .idx02 .ttl_h3 h3 .txt-en {
    line-height: 1.1;
    writing-mode: horizontal-tb;
    -webkit-writing-mode: horizontal-tb;
  }
  .idx02 .ttl_h3 .h_en {
    letter-spacing: 0.1em;
    margin-left: 1.1364em;
  }
  .idx02 .ttl_h3 h3 {
    line-height: 1.6;
    margin-left: 1.5588em;
  }
  .idx02 .ttl_h3 .desc {
    padding-top: 3.125em;
  }
  .idx02 .idx_box {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
  .idx02 .idx_box .box_ttl {
    max-width: 504px;
    width: 40%;
    flex-shrink: 0;
    padding-right: min(5.5vw, 79px);
  }
  .idx02 .idx_box .box_cont {
    flex-shrink: 1;
    width: 70%;
    max-width: 872px;
    margin-right: -7.58%;
  }
  .idx02 .idx_decor {
    position: relative;
  }
  .idx02 .idx_decor .item {
    position: absolute;
    width: min(32vw, 460px);
    right: calc(min(12.3vw, 177px) * -1);
  }
  .idx02 .idx_list .item {
    filter: drop-shadow(0px var(--y) 0 rgba(198, 101, 85, 0.3));
  }
  .idx02 .idx_list .item:has(.txt:hover) {
    filter: none;
  }
  .idx02 .idx_list .item .txt:hover {
    transform: translateY(var(--y));
  }
  .idx02 .idx_list .item1, .idx02 .idx_list .item2 {
    filter: drop-shadow(0px var(--y) 0 rgba(198, 101, 85, 0.2));
  }
  .idx02 .idx_list .item1 {
    top: 5.1em;
    left: 7.5em;
  }
  .idx02 .idx_list .item1 .txt {
    clip-path: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'>  <clipPath id='blob' clipPathUnits='objectBoundingBox'>    <path d='M0.7467,0.0983 C0.8154,0.1477 0.8666,0.2157 0.9078,0.2888 C0.9494,0.3613 0.9790,0.4398 0.9807,0.5186 C0.9824,0.5974 0.9555,0.6776 0.9122,0.7466 C0.8689,0.8157 0.8092,0.8738 0.7387,0.9139 C0.6647,0.9520 0.5844,0.9697 0.4972,0.9771 C0.4095,0.9844 0.3241,0.9799 0.2510,0.9421 C0.1783,0.9045 0.1227,0.8346 0.0824,0.7591 C0.0422,0.6830 0.0185,0.5991 0.0185,0.5179 C0.0180,0.4353 0.0407,0.3520 0.0820,0.2776 C0.1234,0.2033 0.1822,0.1375 0.2553,0.0909 C0.3288,0.0443 0.4156,0.0167 0.5018,0.0183 C0.5881,0.0187 0.6733,0.0496 0.7467,0.0983 Z'/>  </clipPath></svg>#blob");
  }
  .idx02 .idx_list .item2 {
    left: 7.7em;
  }
  .idx02 .idx_list .item2 .txt {
    clip-path: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><clipPath id='blob' clipPathUnits='objectBoundingBox'><path d='M0.7487,0.0967 C0.8246,0.1401,0.8956,0.1932,0.9344,0.2635 C0.9732,0.3343,0.9801,0.4218,0.9801,0.5098 C0.9806,0.5977,0.9738,0.6857,0.9377,0.7608 C0.9016,0.8359,0.8356,0.8982,0.7590,0.9352 C0.6824,0.9722,0.5941,0.9829,0.5097,0.9776 C0.4254,0.9722,0.3453,0.9502,0.2718,0.9116 C0.1982,0.8729,0.1318,0.8182,0.0865,0.7485 C0.0416,0.6787,0.0178,0.5940,0.0205,0.5114 C0.0238,0.4287,0.0529,0.3472,0.0983,0.2785 C0.1438,0.2093,0.2054,0.1530,0.2761,0.1058 C0.3469,0.0586,0.4272,0.0210,0.5085,0.0194 C0.5896,0.0178,0.6710,0.0527,0.7487,0.0967 Z'/></clipPath></svg>#blob");
  }
  .idx02 .idx_list .item3 {
    top: 7.5em;
    left: 0em;
  }
  .idx02 .idx_list .item3 .txt {
    clip-path: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><clipPath id='blob' clipPathUnits='objectBoundingBox'><path d='M0.7552,0.9170 C0.8267,0.8658 0.8807,0.7954 0.9235,0.7196 C0.9661,0.6436 0.9961,0.5620 0.9980,0.4801 C0.9998,0.3982 0.9728,0.3153 0.9280,0.2444 C0.8830,0.1724 0.8210,0.1108 0.7479,0.0712 C0.6742,0.0322 0.5892,0.0140 0.5003,0.0069 C0.4108,-0.0003 0.3174,0.0000 0.2413,0.0420 C0.1659,0.0841 0.1081,0.1530 0.0664,0.2310 C0.0248,0.3086 -0.0005,0.3967 0.0000,0.4820 C-0.0005,0.5678 0.0231,0.6541 0.0659,0.7311 C0.1086,0.8081 0.1700,0.8757 0.2459,0.9247 C0.3219,0.9738 0.4116,1.0000 0.4937,0.9990 C0.5756,0.9980 0.6580,0.9676 0.7552,0.9170 Z'/></clipPath></svg>#blob");
  }
  .idx02 .idx_list .item4 {
    top: 4.1em;
    left: 1.4em;
  }
  .idx02 .idx_list .item4 .txt {
    clip-path: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><clipPath id='blob' clipPathUnits='objectBoundingBox'><path d='M0.8112,0.0803 C0.8963,0.1429 0.9534,0.2449 0.9804,0.3575 C1.0072,0.4700 1.0045,0.5923 0.9556,0.7031 C0.9065,0.8138 0.8098,0.9098 0.6901,0.9591 C0.5704,1.0085 0.4277,1.0105 0.3096,0.9611 C0.1918,0.9124 0.0994,0.8123 0.0485,0.7011 C-0.0026,0.5907 -0.0128,0.4674 0.0244,0.3680 C0.0610,0.2686 0.1433,0.1922 0.2307,0.1297 C0.3177,0.0672 0.4094,0.0184 0.5111,0.0059 C0.6125,-0.0066 0.7266,0.0171 0.8112,0.0803 Z'/></clipPath></svg>#blob");
  }
  .idx02 .idx_list .item5 {
    top: 5.3em;
    left: 2.7em;
  }
  .idx02 .idx_list .item5 .txt {
    clip-path: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><clipPath id='blob' clipPathUnits='objectBoundingBox'><path d='M0.7580,0.0692 C0.8378,0.1089 0.9103,0.1656 0.9513,0.2388 C0.9923,0.3114 1.0019,0.4017 0.9985,0.4898 C0.9957,0.5779 0.9794,0.6637 0.9389,0.7375 C0.8979,0.8112 0.8327,0.8724 0.7563,0.9191 C0.6799,0.9654 0.5933,0.9968 0.5046,0.9995 C0.4163,1.0017 0.3264,0.9753 0.2494,0.9296 C0.1719,0.8839 0.1073,0.8190 0.0657,0.7424 C0.0235,0.6665 0.0044,0.5790 0.0033,0.4909 C0.0027,0.4028 0.0196,0.3147 0.0623,0.2399 C0.1050,0.1650 0.1736,0.1039 0.2517,0.0632 C0.3298,0.0224 0.4180,0.0021 0.5051,0.0037 C0.5922,0.0054 0.6787,0.0291 0.7580,0.0692 Z'/></clipPath></svg>#blob");
  }
  .idx02 .idx_list .item6 {
    top: 7em;
    left: 10.9em;
  }
  .idx02 .idx_list .item6 .txt {
    clip-path: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><clipPath id='blob' clipPathUnits='objectBoundingBox'><path d='M0.8277,0.8405 C0.9138,0.7605 0.9735,0.6558 0.9937,0.5634 C1.0140,0.4708 0.9763,0.3666 0.9186,0.2745 C0.8616,0.1823 0.7845,0.1029 0.6837,0.0534 C0.5829,0.0040 0.4585,-0.0153 0.3494,0.0181 C0.2403,0.0514 0.1458,0.1366 0.0825,0.2390 C0.0193,0.3426 -0.0127,0.4634 0.0045,0.5793 C0.0219,0.6954 0.0909,0.8047 0.1868,0.8849 C0.2827,0.9645 0.4071,1.0125 0.5138,0.9942 C0.6207,0.9782 0.7408,0.9213 0.8277,0.8405 Z'/></clipPath></svg>#blob");
  }
  .idx02 .idx_list .item7 {
    top: 3.3em;
    left: 13.6em;
  }
  .idx02 .idx_list .item7 .txt {
    clip-path: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><clipPath id='blob' clipPathUnits='objectBoundingBox'><path d='M0.9478,0.6920 C0.9021,0.7956 0.8284,0.8861 0.7320,0.9410 C0.6356,0.9960 0.5165,1.0118 0.3965,0.9928 C0.2764,0.9738 0.1566,0.9157 0.0863,0.8183 C0.0164,0.7212 -0.0035,0.5868 0.0022,0.4481 C0.0086,0.3096 0.0403,0.1708 0.1259,0.0929 C0.2107,0.0152 0.3472,-0.0005 0.4740,0.0029 C0.6008,0.0065 0.7166,0.0300 0.8065,0.0919 C0.8965,0.1540 0.9625,0.2552 0.9881,0.3637 C1.0136,0.4723 0.9926,0.5883 0.9478,0.6920 Z'/></clipPath></svg>#blob");
  }
  .idx02 .idx_list .item8 {
    top: 3.5em;
    left: 15.8em;
  }
  .idx02 .idx_list .item8 .txt {
    clip-path: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><clipPath id='blob' clipPathUnits='objectBoundingBox'><path d='M0.7543,0.9209 C0.8367,0.8740 0.9090,0.8185 0.9512,0.7458 C0.9917,0.6722 1.003,0.5809 1.003,0.4862 C1.004,0.3974 0.9956,0.3087 0.9534,0.2293 C0.9113,0.1498 0.8459,0.0860 0.7664,0.0458 C0.6869,0.0057 0.5939,-0.0014 0.5061,0.0042 C0.4182,0.0099 0.3390,0.0326 0.2623,0.0727 C0.1857,0.1128 0.1135,0.1644 0.0706,0.2420 C0.0277,0.3193 0.0006,0.4022 0.0022,0.4882 C0.0042,0.5742 0.0320,0.6597 0.0825,0.7291 C0.1330,0.7986 0.1925,0.8515 0.2649,0.9040 C0.3373,0.9565 0.4225,0.9991 0.5074,1.000 C0.5923,1.001 0.6783,0.9613 0.7543,0.9209 Z'/></clipPath></svg>#blob");
  }
}
@media only screen and (min-width: 769px) and (max-width: 1170px) {
  .idx02 .ttl_h3 .h_en {
    margin-left: 1em;
  }
  .idx02 .ttl_h3 h3 {
    margin-left: 1em;
  }
  .idx02 .idx_decor .item {
    right: -10vw;
  }
  .idx02 .idx_list {
    font-size: min(0.65vw, 10px);
  }
  .idx02 .idx_list .item .txt p:not(.link) {
    font-size: 2em;
  }
  .idx02 .idx_list .item1 .txt p:not(.link), .idx02 .idx_list .item2 .txt p:not(.link) {
    font-size: 2.2em;
  }
  .idx02 .idx_box .box_cont {
    margin-right: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx02 .ttl_h3 {
    margin-top: -50px;
  }
  .idx02 .ttl_h3 .h_en {
    margin-left: 0.5em;
  }
  .idx02 .ttl_h3 h3 {
    font-size: 26px;
    margin-left: 0.5em;
  }
  .idx02 .ttl_h3 .desc {
    padding-top: 1.5em;
  }
  .idx02 .idx_box .box_ttl {
    padding-right: 0;
  }
}

.idx03 {
  background-color: #f5f2ee;
}
.idx03 .ttl_h3 {
  text-align: center;
}
.idx03 .TabContainer .TabPager {
  border-bottom: 2px solid var(--main-color);
  gap: 4px;
}
.idx03 .TabContainer .TabPager > div {
  background-color: #f1e4de;
  border-radius: 10px 10px 0 0;
  width: calc((100% - 8px) / 3);
  max-width: 370px;
  min-height: 5.5em;
  padding: 10px;
}
.idx03 .TabContainer .TabPager > div .tt {
  font-family: var(--f-jp);
  font-weight: 500;
  letter-spacing: 0.1em;
  color: var(--clr1);
}
.idx03 .TabContainer .TabPager > div.active {
  background-color: var(--main-color);
}
.idx03 .TabContainer .TabPager > div.active .tt {
  color: #fff;
}
.idx03 .TabContainer .TabContent {
  overflow: visible;
}
.idx03 .TabContainer .TabContent .content > div .idx_box .box_ttl .ttl .jp {
  font-family: var(--f-jp);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.16em;
}
.idx03 .TabContainer .TabContent .content > div .idx_box .box_ttl .ttl .en {
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--main-color);
}
@media only screen and (min-width: 1025px) {
  .idx03 .TabContainer .TabContent .content > div .idx_box.content01 .box_ttl .ttl {
    margin-bottom: -3.25em;
  }
  .idx03 .TabContainer .TabContent .content > div .idx_box.content02 .box_ttl .ttl {
    margin-bottom: -2.625em;
  }
  .idx03 .TabContainer .TabContent .content > div .idx_box.content02 .box_ttl picture {
    margin-right: calc(min(3.125vw, 45px) * -1);
  }
  .idx03 .TabContainer .TabContent .content > div .idx_box.content03 .box_ttl picture {
    margin-right: calc(min(4.0278vw, 58px) * -1);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx03 .TabContainer .TabContent .content > div .idx_box .box_ttl picture {
    margin-right: -20px;
  }
}
.idx03 .TabContainer .TabContent .content > div .list {
  display: flex;
  flex-wrap: wrap;
}
.idx03 .TabContainer .TabContent .content > div .list .item {
  max-width: 245px;
  aspect-ratio: 1/1;
  position: relative;
  background-color: #fff;
  border-radius: 3em;
  display: flex;
  justify-content: center;
  align-items: center;
  filter: drop-shadow(0 5px 0 rgba(198, 101, 85, 0.2));
  z-index: 0;
  transition: all 0.3s ease-in-out;
}
.idx03 .TabContainer .TabContent .content > div .list .item::before {
  content: "";
  position: absolute;
  width: max(3.5px, 0.7em);
  aspect-ratio: 7/10;
  bottom: 2em;
  right: 2em;
  --mask: url(../images/ic-arr03.png);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: var(--main-color);
}
.idx03 .TabContainer .TabContent .content > div .list .item p {
  margin-bottom: 0;
}
.idx03 .TabContainer .TabContent .content > div .list .item .link {
  border-radius: inherit;
}
.idx03 .TabContainer .TabContent .content > div .list .item .tt {
  position: relative;
  text-align: center;
  font-weight: 500;
  color: var(--clr2);
  padding-bottom: 0.8em;
}
.idx03 .TabContainer .TabContent .content > div .list .item .tt::before {
  content: "";
  display: block;
  width: 10.2em;
  aspect-ratio: 102/92;
  margin: 0 auto;
  margin-bottom: 1.6em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.idx03 .TabContainer .TabContent .content > div .list .item .tt > span {
  display: block;
}
.idx03 .TabContainer .TabContent .content > div .list .item .tt .jp {
  font-family: var(--f-jp);
  font-size: 2em;
  letter-spacing: 0.1em;
  line-height: 1.3;
  margin-bottom: 0.35em;
}
.idx03 .TabContainer .TabContent .content > div .list .item .tt .en {
  font-size: 1.1em;
  line-height: 1;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.idx03 .TabContainer .TabContent .content > div .list .item .desc {
  position: absolute;
  width: 100%;
  height: 100%;
  bottom: 100%;
  left: 0;
  right: 0;
  background-color: var(--clr2);
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  z-index: -1;
  transition: all 0.3s ease-in-out;
  font-size: 1.5em;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 400;
  padding: 2em 1.8667em 1.8667em;
}
.idx03 .TabContainer .TabContent .content > div .list .item1 .tt::before {
  background-image: url(../images/idx03_ic1.png);
}
.idx03 .TabContainer .TabContent .content > div .list .item2 .tt::before {
  background-image: url(../images/idx03_ic2.png);
}
.idx03 .TabContainer .TabContent .content > div .list .item3 .tt::before {
  background-image: url(../images/idx03_ic3.png);
}
.idx03 .TabContainer .TabContent .content > div .list .item4 .tt::before {
  background-image: url(../images/idx03_ic4.png);
}
.idx03 .TabContainer .TabContent .content > div .list .item5 .tt::before {
  background-image: url(../images/idx03_ic5.png);
}
.idx03 .TabContainer .TabContent .content > div .list .item6 .tt::before {
  background-image: url(../images/idx03_ic6.png);
}
.idx03 .TabContainer .TabContent .content > div .list .item7 .tt::before {
  background-image: url(../images/idx03_ic7.png);
}
.idx03 .TabContainer .TabContent .content > div .list .item8 .tt::before {
  background-image: url(../images/idx03_ic8.png);
}
.idx03 .TabContainer .TabContent .content > div .list .item9 .tt::before {
  background-image: url(../images/idx03_ic9.png);
}
.idx03 .TabContainer .TabContent .content > div .list .item10 .tt::before {
  background-image: url(../images/idx03_ic10.png);
}
.idx03 .TabContainer .TabContent .content > div .list .item11 .tt::before {
  background-image: url(../images/idx03_ic11.png);
}
.idx03 .TabContainer .TabContent .content > div .list .item12 .tt::before {
  background-image: url(../images/idx03_ic12.png);
}
.idx03 .TabContainer .TabContent .content > div .list .item13 .tt::before {
  background-image: url(../images/idx03_ic13.png);
}
.idx03 .TabContainer .TabContent .content > div .list .item14 .tt::before {
  background-image: url(../images/idx03_ic14.png);
}
.idx03 .TabContainer .TabContent .content > div .list .item15 .tt::before {
  background-image: url(../images/idx03_ic15.png);
}
.idx03 .TabContainer .TabContent .content > div .list .item11 .tt::before {
  margin-bottom: 0.8em;
}
@media only screen and (min-width: 769px) {
  .idx03 .TabContainer .TabContent .content > div .list .item:hover {
    filter: none;
    transform: translateY(5px);
  }
  .idx03 .TabContainer .TabContent .content > div .list .item:hover .desc {
    bottom: 0;
    z-index: 1;
    opacity: 1;
    visibility: visible;
  }
  .idx03 .TabContainer .TabContent .content > div .list .item:hover::before {
    z-index: 2;
    background-color: var(--main-color);
  }
}
@media only screen and (min-width: 769px) {
  .idx03 {
    padding: 137px 0 76px;
  }
  .idx03 .ttl_h3 {
    margin-bottom: 69px;
  }
  .idx03 .TabContainer .TabPager > div .tt {
    font-size: clamp(18px, 1.5278vw, 22px);
  }
  .idx03 .TabContainer .TabPager > div:hover {
    background-color: rgba(198, 101, 85, 0.25);
  }
  .idx03 .TabContainer .TabContent .content > div {
    padding: 3.75em 0;
  }
  .idx03 .TabContainer .TabContent .content > div .idx_box {
    display: flex;
    justify-content: space-between;
  }
  .idx03 .TabContainer .TabContent .content > div .idx_box .box_ttl {
    width: 25%;
    max-width: 246px;
  }
  .idx03 .TabContainer .TabContent .content > div .idx_box .box_ttl .ttl {
    display: flex;
    flex-direction: row-reverse;
    padding-top: 1.125em;
    margin-bottom: 0.625em;
  }
  .idx03 .TabContainer .TabContent .content > div .idx_box .box_ttl .ttl > span {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    -webkit-writing-mode: vertical-rl;
    -webkit-text-orientation: mixed;
  }
  .idx03 .TabContainer .TabContent .content > div .idx_box .box_ttl .ttl .jp {
    font-size: calc(var(--ttl_size) + 2px);
  }
  .idx03 .TabContainer .TabContent .content > div .idx_box .box_ttl .ttl .en {
    font-size: calc(var(--txt_size) + 2px);
    margin-left: 0.4444em;
    padding-top: 0.1111em;
  }
  .idx03 .TabContainer .TabContent .content > div .idx_box .box_ttl picture {
    display: flex;
    justify-content: flex-end;
    margin-right: calc(min(3.8194vw, 55px) * -1);
  }
  .idx03 .TabContainer .TabContent .content > div .idx_box .box_ttl picture img {
    max-width: min(26vw, 374px);
  }
  .idx03 .TabContainer .TabContent .content > div .idx_box .box_cont {
    width: 70%;
    max-width: 764px;
  }
  .idx03 .TabContainer .TabContent .content > div .idx_box.content01 .box_cont {
    padding-top: 60px;
  }
  .idx03 .TabContainer .TabContent .content > div .idx_box.content01 .list .item {
    aspect-ratio: 245/305;
  }
  .idx03 .TabContainer .TabContent .content > div .idx_box .list {
    font-size: 10px;
    gap: 2.5em 1.4em;
  }
  .idx03 .TabContainer .TabContent .content > div .idx_box .list .item {
    overflow: hidden;
    width: calc((100% - 2.8em) / 3);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx03 .TabContainer .TabContent .content > div .idx_box .list {
    font-size: min(1vw, 10px);
  }
  .idx03 .TabContainer .TabContent .content > div .list .item .desc {
    padding: 1em;
  }
}

.idx04 .content {
  border-radius: 10px;
  background: url("../images/idx04_bg.jpg") no-repeat top center/cover;
}
.idx04 .ttl_h3 .h_en.md {
  position: relative;
}
.idx04 .ttl_h3 .h_en.md::before {
  content: "";
  position: absolute;
  width: 1.5em;
  height: 2px;
  bottom: 0em;
  background-color: var(--clr2);
}
.idx04 .box_ttl .txt > p {
  line-height: 2;
}
.idx04 .box_list {
  display: flex;
}
.idx04 .box_list .item {
  width: 33.3333333333%;
}
.idx04 .box_list .item:not(:last-child) {
  border-right: 1px solid #e3c4bc;
}
.idx04 .box_list .item .tt {
  position: relative;
  text-align: center;
  font-family: var(--f-jp);
  font-weight: 500;
  font-size: calc(var(--txt_size) + 2px);
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
}
.idx04 .box_list .item .tt::before {
  content: "";
  display: block;
  width: round(70%, 1px);
  max-width: 215px;
  aspect-ratio: 215/231;
  margin: 0 auto;
  margin-bottom: 1.8889em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.idx04 .box_list .item1 .tt::before {
  background-image: url(../images/idx04_img1.png);
}
.idx04 .box_list .item2 .tt::before {
  background-image: url(../images/idx04_img2.png);
}
.idx04 .box_list .item3 .tt::before {
  background-image: url(../images/idx04_img3.png);
}
@media only screen and (min-width: 769px) {
  .idx04 {
    padding: 100px 0;
  }
  .idx04 .content {
    padding: 110px 109px 112px;
  }
  .idx04 .ttl_h3 .h_en.md {
    margin-left: -0.0625em;
    padding-bottom: 0.225em;
    margin-bottom: 0.35em;
  }
  .idx04 .ttl_h3 .h_en.md::before {
    left: 0.0625em;
  }
  .idx04 .ttl_h3 h3 {
    letter-spacing: 0.1em;
    font-size: calc(var(--ttl_size) + 8px);
  }
  .idx04 .box_ttl {
    display: flex;
    justify-content: space-between;
    margin-bottom: 3.6875em;
  }
  .idx04 .box_ttl .txt {
    padding-top: 5px;
    width: 52%;
    max-width: 545px;
  }
  .idx04 .box_ttl .txt > p {
    margin-bottom: 2em;
  }
  .idx04 .box_list {
    margin-bottom: 3.75em;
  }
  .idx04 .box_list .item {
    padding: 1.1875em 1.25em 1.625em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1170px) {
  .idx04 .content {
    padding: 80px 40px;
  }
  .idx04 .box_list .item .tt {
    font-size: 15px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx04 .box_ttl .txt {
    width: 45%;
  }
  .idx04 .box_list .item .tt {
    font-size: 14px;
  }
}

.idx05 {
  position: relative;
  background-color: var(--main-color);
}
.idx05 .ttl_h3 .h_en {
  margin-top: 0;
  color: #fff;
}
.idx05 .ttl_h3 h3 {
  color: #fff;
  letter-spacing: 0.1em;
  line-height: 1.6176470588;
}
.idx05 .ttl_h3 h3 .num {
  position: relative;
  font-family: var(--f-en);
  font-size: 4.4118em;
  line-height: 0.47;
  top: -3px;
  left: -3px;
  margin-right: 4px;
}
.idx05 .ttl_h3 h3 .lg {
  font-size: 1.4706em;
  letter-spacing: 0.1em;
}
.idx05 .idx_box .box_ttl {
  position: relative;
  z-index: 0;
}
.idx05 .idx_box .box_ttl::before {
  content: "";
  position: absolute;
  width: min(60vw, 836px);
  aspect-ratio: 836/978;
  top: 0px;
  left: calc(min(13.75vw, 198px) * -1);
  background: url("../images/idx05_decor01.jpg") no-repeat center/cover;
  z-index: -1;
}
.idx05 .feature_txt .desc {
  line-height: 2;
  color: #fff;
}
.idx05 .feature_panigation {
  margin-top: 8.25em;
  counter-reset: item;
}
.idx05 .feature_panigation .item {
  counter-increment: item;
  position: relative;
  width: 2.1875em;
  height: 2.1875em;
  border-radius: 50%;
  border: 1px solid #fff;
  --gap: 1.375em;
  transition: all 0.3s ease-in-out;
}
.idx05 .feature_panigation .item::before {
  content: counter(item, decimal-leading-zero);
  font-family: var(--f-en);
  font-size: 1em;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  padding-bottom: 0.25em;
}
.idx05 .feature_panigation .item:not(:last-child) {
  margin-bottom: var(--gap);
}
.idx05 .feature_panigation .item:not(:last-child)::after {
  content: "";
  position: absolute;
  width: 1px;
  height: calc(var(--gap) + 1px);
  top: 100%;
  left: 0px;
  right: 0px;
  margin: 0 auto;
  background-color: #fff;
}
.idx05 .feature_panigation .item.is-active {
  background-color: #fff;
}
.idx05 .feature_panigation .item.is-active::before {
  color: var(--clr2);
}
.idx05 .feature_list {
  counter-reset: item;
}
.idx05 .feature_list .item {
  position: relative;
  counter-increment: item;
  background-color: #fff;
  border-radius: 3em 3em 3em 0;
  box-shadow: 0 1em 0 rgba(198, 101, 85, 0.2);
  transition: all 0.3s ease-in-out;
}
.idx05 .feature_list .item .link {
  border-radius: inherit;
}
.idx05 .feature_list .item .area {
  display: flex;
  justify-content: space-between;
}
.idx05 .feature_list .item .area .txt01 {
  width: 33%;
  max-width: 170px;
}
.idx05 .feature_list .item .area .txt02 {
  padding-top: 3em;
  width: 62%;
  max-width: 327px;
}
.idx05 .feature_list .item .area .num {
  position: relative;
  text-align: center;
  font-family: var(--f-en);
  font-weight: 500;
  color: var(--clr2);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.idx05 .feature_list .item .area .num::before {
  content: counter(item, decimal-leading-zero);
  display: block;
  font-family: var(--f-jp);
  font-size: 6.25em;
  line-height: 1;
  letter-spacing: 0.05em;
  color: inherit;
  margin-bottom: -3px;
}
.idx05 .feature_list .item .area .num::after {
  content: "";
  display: block;
  width: 10.625em;
  aspect-ratio: 170/146;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  margin-top: 1.25em;
}
.idx05 .feature_list .item .area .ttl {
  font-family: var(--f-jp);
  font-weight: 500;
  letter-spacing: 0.1em;
  color: var(--clr2);
  line-height: 1.6666666667;
  margin-bottom: 0.5833em;
}
.idx05 .feature_list .item .area .desc {
  font-size: var(--txt_size);
  line-height: 2;
  border-bottom: 1px solid #e3c4bc;
}
.idx05 .feature_list .item .area .ic-arr {
  margin-left: auto;
  transition: all 0.3s ease-in-out;
}
.idx05 .feature_list .item1 .area .num::after {
  background-image: url(../images/idx05_ic1.png);
}
.idx05 .feature_list .item2 .area .num::after {
  background-image: url(../images/idx05_ic2.png);
}
.idx05 .feature_list .item3 .area .num::after {
  background-image: url(../images/idx05_ic3.png);
}
.idx05 .feature_list .item4 .area .num::after {
  background-image: url(../images/idx05_ic4.png);
}
@media only screen and (min-width: 1025px) {
  .idx05 .feature_list .item1 .area .num::after {
    position: relative;
    top: -0.125em;
    left: 0.25em;
  }
  .idx05 .feature_list .item2 .area .num::after {
    position: relative;
    top: -0.375em;
    left: 0em;
  }
  .idx05 .feature_list .item3 .area .num::after {
    position: relative;
    top: -0.625em;
    left: -0.125em;
  }
  .idx05 .feature_list .item4 .area .num::after {
    position: relative;
    top: -0.25em;
    left: 1.0625em;
  }
}
@media only screen and (min-width: 769px) {
  .idx05 .feature_list .item:hover {
    background-color: #f6ece8;
    box-shadow: none;
    transform: translateY(0.5em);
  }
  .idx05 .feature_list .item:hover .ic-arr {
    background-color: var(--clr2);
    border-color: var(--clr2);
  }
  .idx05 .feature_list .item:hover .ic-arr::before {
    background-color: #fff;
  }
}
@media only screen and (min-width: 769px) {
  .idx05 .ttl_h3 {
    margin-bottom: 3.625em;
  }
  .idx05 .ttl_h3 .h_en {
    margin-bottom: 1em;
  }
  .idx05 .idx_box {
    display: flex;
    justify-content: space-between;
  }
  .idx05 .idx_box .box_ttl {
    padding-top: 157px;
    width: 45%;
    max-width: 545px;
    display: flex;
    justify-content: space-between;
    position: -webkit-sticky;
    position: sticky;
    top: max(30px, 2vw);
    left: 0;
    height: clamp(680px, 60vw, 850px);
  }
  .idx05 .idx_box .box_cont {
    padding-top: 157px;
    width: 52%;
    max-width: 654px;
  }
  .idx05 .feature_txt {
    width: 80%;
    max-width: 436px;
  }
  .idx05 .feature_txt .desc {
    margin-bottom: 52px;
  }
  .idx05 .feature_list {
    font-size: min(0.78vw, 10px);
    margin-top: 3px;
    margin-bottom: 28.5em;
  }
  .idx05 .feature_list .item:not(:last-child) {
    margin-bottom: 6em;
  }
  .idx05 .feature_list .item .area {
    padding: 5em 8.1em 5.9em 4.3em;
  }
  .idx05 .feature_list .item .area .num {
    font-size: max(12px, 1.6em);
  }
  .idx05 .feature_list .item .area .ttl {
    font-size: max(18px, 2.4em);
  }
  .idx05 .feature_list .item .area .desc {
    padding-bottom: 2.625em;
    margin-bottom: 1.875em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) and (min-height: 625px) and (max-height: 799px) {
  .idx05 .idx_box .box_ttl {
    padding-top: 65px;
  }
  .idx05 .feature_list {
    margin-bottom: 100px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) and (min-height: 625px) and (max-height: 799px) {
  .idx05 .idx_box .box_ttl {
    padding-top: 90px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx05 .ttl_h3 h3 {
    font-size: min(2.75vw, 28px);
  }
  .idx05 .feature_txt {
    width: 85%;
  }
  .idx05 .feature_list .item .area {
    padding: 4em 5em 4em 3em;
  }
}

.idx06 {
  position: relative;
  background-color: #eed2cb;
  z-index: 2;
}
.idx06::before {
  content: "";
  position: absolute;
  aspect-ratio: 1920/797;
  top: 0px;
  margin: 0 auto;
  background: url("../images/idx06_bg_decor01.jpg") no-repeat center/cover;
  z-index: -1;
}
.idx06::after {
  content: "";
  position: absolute;
  aspect-ratio: 1920/195;
  top: 100%;
  margin: 0 auto;
  background: url("../images/idx06_bg_decor02.png") no-repeat center/cover;
  z-index: -1;
}
.idx06 .ttl_h3 {
  text-align: center;
}
.idx06 .ttl_h3 .h_en {
  color: var(--clr2);
}
.idx06 .ttl_h3 .h_en.lg {
  color: rgba(243, 221, 215, 0.6);
}
.idx06 .ttl_h3 h3 {
  color: #fff;
}
.idx06 .TabContainer .TabPager {
  gap: 4px;
}
.idx06 .TabContainer .TabPager > div {
  max-width: 317px;
  width: calc((100% - 12px) / 4);
  align-items: flex-end;
}
.idx06 .TabContainer .TabPager > div .tt {
  font-family: var(--f-jp);
  font-weight: 400;
  letter-spacing: 0.1em;
  color: var(--main-color);
  width: 100%;
  height: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(250, 237, 233, 0.8);
  border-radius: 0.4545em 0.4545em 0 0;
  transition: all 0.3s ease-in-out;
}
.idx06 .TabContainer .TabPager > div.active .tt {
  padding-top: 1.1818em;
  color: var(--clr2);
  height: 100%;
  background-color: #fff;
}
.idx06 .TabContainer .TabContent {
  background-color: #fff;
  border-radius: 0 0 10px 10px;
}
.idx06 .TabContainer .TabContent .content > div .ttl {
  font-family: var(--f-jp);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: var(--clr2);
  border-bottom: 1px solid var(--main-color);
  padding-bottom: 0.9643em;
}
.idx06 .TabContainer .TabContent .content > div .ttl > span {
  display: block;
  font-weight: 400;
  font-size: calc(var(--txt_size) - 2px);
  color: #919090;
  letter-spacing: 0.05em;
  margin-top: 0.2857em;
}
.idx06 .TabContainer .TabContent .content > div .tt {
  font-family: var(--f-jp);
  font-weight: 500;
  line-height: 1.65;
  color: var(--clr2);
}
.idx06 .TabContainer .TabContent .content > div .tt.st2 {
  border-radius: 5px;
  background-color: #f8e8e3;
}
.idx06 .TabContainer .TabContent .content > div .tt.st3 {
  position: relative;
}
.idx06 .TabContainer .TabContent .content > div .tt.st3::before {
  content: "";
  position: absolute;
  left: 0px;
  background-color: var(--clr2);
}
.idx06 .TabContainer .TabContent .content > div .box01 .box_img {
  max-width: 436px;
}
.idx06 .TabContainer .TabContent .content > div .box01 .box_img picture img {
  border-radius: 1.875em;
}
.idx06 .TabContainer .TabContent .content > div .box03 {
  border-radius: 10px;
  background-color: #f9f7f4;
}
.idx06 .TabContainer .TabContent .content > div .box03 .box_img {
  max-width: 176px;
}
.idx06 .TabContainer .TabContent .content > div .box03 .box_img .name {
  font-family: var(--f-jp);
  font-size: calc(var(--txt_size) + 2px);
  letter-spacing: 0.1em;
  text-align: center;
  line-height: 1;
}
.idx06 .TabContainer .TabContent .content > div .box03 .box_img .name .sm {
  display: block;
  font-size: 0.7222em;
  margin-bottom: 0.6154em;
}
@media only screen and (min-width: 769px) {
  .idx06 {
    padding: 104px 0 12px;
    margin-bottom: min(6.6vw, 95px);
  }
  .idx06::before {
    width: 1920px;
    left: calc(50% - 960px);
  }
  .idx06::after {
    width: 1920px;
    left: calc(50% - 960px);
  }
  .idx06 .ttl_h3 {
    margin-bottom: 3.75em;
  }
  .idx06 .TabContainer .TabPager > div {
    height: 6.25em;
  }
  .idx06 .TabContainer .TabPager > div .tt {
    font-size: 1.375em;
    padding: 0.9091em 10px;
  }
  .idx06 .TabContainer .TabPager > div:hover .tt {
    background-color: #f5f2ee;
  }
  .idx06 .TabContainer .TabContent .content > div {
    padding: 82px 109px 101px;
  }
  .idx06 .TabContainer .TabContent .content > div .ttl {
    font-size: calc(var(--ttl_size));
    margin-bottom: 1.7857em;
  }
  .idx06 .TabContainer .TabContent .content > div .tt {
    font-size: calc(var(--txt_size) + 8px);
    margin-left: -0.1818em;
    margin-bottom: 0.5em;
  }
  .idx06 .TabContainer .TabContent .content > div .tt.st2 {
    padding: 0.3636em 1.2273em 0.5455em;
    margin-bottom: 0.7083em;
    margin-left: 0px;
  }
  .idx06 .TabContainer .TabContent .content > div .tt.st3 {
    margin-left: 0;
    padding-left: 0.8em;
    font-size: calc(var(--txt_size) + 4px);
    margin-bottom: 0.8em;
  }
  .idx06 .TabContainer .TabContent .content > div .tt.st3::before {
    width: 2px;
    height: calc(100% - 0.3em);
    top: 0.25em;
  }
  .idx06 .TabContainer .TabContent .content > div .box01 {
    display: flex;
    justify-content: space-between;
    margin-bottom: 3.75em;
  }
  .idx06 .TabContainer .TabContent .content > div .box01 .box_img {
    flex-shrink: 0;
    width: 42%;
  }
  .idx06 .TabContainer .TabContent .content > div .box01 .box_cont {
    width: 52%;
    max-width: 545px;
  }
  .idx06 .TabContainer .TabContent .content > div .box02 {
    margin-bottom: 4.4375em;
  }
  .idx06 .TabContainer .TabContent .content > div .box03 {
    padding: 48px 78px 60px;
    margin-bottom: 3.75em;
    display: flex;
    justify-content: space-between;
  }
  .idx06 .TabContainer .TabContent .content > div .box03 .box_img {
    flex-shrink: 0;
    width: 20%;
  }
  .idx06 .TabContainer .TabContent .content > div .box03 .box_img picture {
    margin-bottom: 1.0625em;
  }
  .idx06 .TabContainer .TabContent .content > div .box03 .box_cont {
    width: 73%;
    max-width: 657px;
    padding-top: 1.75em;
  }
}
@media only screen and (min-width: 1921px), (min-width: 769px) and (max-width: 1366px) {
  .idx06::before {
    width: 100vw;
    left: calc(50% - 50vw);
  }
  .idx06::after {
    width: 100vw;
    left: calc(50% - 50vw);
    background-position: bottom center;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx06 {
    margin-bottom: 5.5vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1107px) {
  .idx06 .TabContainer .TabContent .content > div {
    padding: 7.8vw 5.2vw;
  }
  .idx06 .TabContainer .TabContent .content > div .box03 {
    padding: min(5.2vw, 48px) min(5.2vw, 78px) min(5.2vw, 60px);
  }
}

.idx07 {
  position: relative;
  z-index: 1;
}
.idx07::before {
  content: "";
  position: absolute;
  height: 100%;
  top: 0;
  margin: 0 auto;
  background: url("../images/idx07_bg.jpg") no-repeat center/cover;
  z-index: -1;
}
@media only screen and (min-width: 1921px), (min-width: 769px) and (max-width: 1366px) {
  .idx07::before {
    width: 100vw;
    left: calc(50% - 50vw);
  }
}
.idx07 .inner_md {
  position: relative;
}
.idx07 .idx_decor {
  position: absolute;
}
.idx07 .idx_decor .item {
  aspect-ratio: 512/340;
  background: url("../images/idx07_decor01.png") no-repeat center/cover;
}
.idx07 .ic-arr {
  font-size: 0.625em;
}
.idx07 .ic-arr .link {
  border-radius: 50%;
}
.idx07 .ic-arr:hover {
  background-color: var(--main-color);
}
.idx07 .ic-arr:hover::before {
  background-color: #fff;
}
.idx07 .idx_diagram .row {
  display: flex;
  justify-content: space-between;
}
.idx07 .idx_diagram .row:not(:last-child) {
  margin-bottom: 3em;
}
.idx07 .idx_diagram .row > div .item:first-child {
  padding-top: 3.6em;
}
.idx07 .idx_diagram .row > div .item:only-child {
  margin-bottom: auto;
}
.idx07 .idx_diagram .row.col1 {
  width: 100%;
  margin-bottom: 0;
}
.idx07 .idx_diagram .row.col2 > div {
  width: calc((100% - 2.6em) / 2);
}
.idx07 .idx_diagram .row.col3 > div {
  width: calc(33.3333333333% - 1em);
}
.idx07 .idx_diagram .item {
  width: 100%;
  margin-bottom: 0;
}
.idx07 .idx_diagram .item > span {
  width: 100%;
  border-radius: 999em;
  font-family: var(--f-jp);
  letter-spacing: 0.1em;
  margin: 0 auto;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.idx07 .idx_diagram .item1 > span {
  background-color: #dedcdd;
  font-size: 2.4em;
  font-weight: 600;
  color: var(--clr1);
  min-height: 2.9167em;
}
.idx07 .idx_diagram .item2 > span, .idx07 .idx_diagram .item3 > span {
  font-weight: 500;
  font-size: 2em;
  color: var(--clr1);
  max-width: 13.5em;
  background-color: #fff;
  border: 1px solid #eed2cb;
  min-height: 2.5em;
}
.idx07 .idx_diagram .item3 > span {
  color: var(--clr2);
  border-color: var(--main-color);
}
.idx07 .idx_diagram .item4 > span, .idx07 .idx_diagram .item5 > span {
  max-width: 18.1667em;
  color: #fff;
  font-weight: 500;
  font-size: 2.4em;
  background-color: var(--main-color);
  min-height: 2.5em;
}
.idx07 .idx_diagram .item5 > span {
  background-color: #9b9797;
}
.idx07 .idx_diagram .item:has(+ .item) {
  padding-bottom: 5.2em;
}
.idx07 .idx_diagram .row > div:has(.item:only-child),
.idx07 .idx_diagram .row > div .item:has(+ .item) {
  --clr-arr: var(--main-color);
  position: relative;
  z-index: 1;
}
.idx07 .idx_diagram .row > div:has(.item:only-child)::before,
.idx07 .idx_diagram .row > div .item:has(+ .item)::before {
  content: "";
  position: absolute;
  width: 0.4em;
  height: calc(100% - 2.1em);
  top: 1em;
  left: 0em;
  right: 0px;
  margin: 0 auto;
  --mask: url("../images/ic-line-break.png");
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: repeat-y;
  -webkit-mask-repeat: repeat-y;
  mask-size: 0.4em 0.9em;
  -webkit-mask-size: 0.4em 0.9em;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: var(--clr-arr);
  z-index: -1;
}
.idx07 .idx_diagram .row > div:has(.item:only-child)::after,
.idx07 .idx_diagram .row > div .item:has(+ .item)::after {
  content: "";
  position: absolute;
  width: 1.6em;
  aspect-ratio: 16/12;
  top: calc(100% - 2.1em);
  left: 0px;
  right: 0px;
  margin: 0 auto;
  --mask: url("../images/ic-arr04.png");
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: var(--clr-arr);
}
.idx07 .idx_diagram .row > div:has(.item:only-child):is(.item2),
.idx07 .idx_diagram .row > div .item:has(+ .item):is(.item2) {
  --clr-arr: #c5c0c2;
}
.idx07 .idx_diagram .row > div:has(.item:only-child:is(.item2)) {
  --clr-arr: #c5c0c2;
}
.idx07 .idx_diagram .row > div:has(.item:only-child)::before {
  height: calc(100% - 0.9em);
}
.idx07 .idx_diagram .row > div:has(.item:only-child)::after {
  top: calc(100% - 0.9em);
}
@media only screen and (min-width: 769px) {
  .idx07 {
    padding: max(243px, 12.65625vw) 0 182px;
  }
  .idx07::before {
    width: 1920px;
    left: calc(50% - 960px);
  }
  .idx07 .ttl_h3 {
    display: flex;
    flex-direction: row-reverse;
    margin-bottom: 2.8125em;
  }
  .idx07 .ttl_h3 p,
  .idx07 .ttl_h3 h3 {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    -webkit-writing-mode: vertical-rl;
    -webkit-text-orientation: mixed;
  }
  .idx07 .ttl_h3 .h_en {
    letter-spacing: 0.1em;
    margin-left: 4px;
  }
  .idx07 .ttl_h3 h3 {
    line-height: 1.6;
  }
  .idx07 .idx_decor {
    top: calc(100% - min(5.35vw, 77px));
    right: calc(min(12.85vw, 185px) * -1);
  }
  .idx07 .idx_decor .item {
    width: min(35.556vw, 512px);
  }
  .idx07 .ic-arr {
    margin-left: 8px;
  }
  .idx07 .idx_box {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
  .idx07 .idx_box .box_cont {
    width: 82%;
    max-width: 900px;
    padding-top: 2.5625em;
  }
  .idx07 .idx_diagram {
    font-size: 0.625em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx07 {
    padding: min(16.875vw, 243px) 0 min(12.6389vw, 182px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx07 .idx_decor {
    right: -10vw;
  }
}

.idx08 {
  position: relative;
  z-index: 0;
}
.idx08::before {
  content: "";
  position: absolute;
  height: 100%;
  top: 0;
  background: url("../images/idx08_bg.jpg") no-repeat center/cover;
  z-index: -1;
}
@media only screen and (min-width: 1921px), (min-width: 769px) and (max-width: 1366px) {
  .idx08::before {
    width: 100vw;
    left: calc(50% - 50vw);
  }
}
.idx08 .ttl_h3 .h_en.sm {
  color: var(--clr2);
}
.idx08 .idx_box {
  display: flex;
}
.idx08 .idx_box .box_cont .desc p.lg {
  font-family: var(--f-jp);
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
}
.idx08 .idx_box .box_cont .btn-group .btn:not(:last-child) {
  margin-bottom: 10px;
}
.idx08 .idx_box .box_img {
  position: relative;
  flex-shrink: 0;
  max-width: 545px;
  height: fit-content;
}
.idx08 .idx_box .box_img picture {
  border-radius: 10px;
  overflow: hidden;
}
.idx08 .idx_box .box_info {
  position: absolute;
  right: 0;
  bottom: 0;
  border-radius: 10px 0 0 0;
  background: url("../images/idx08_box_info_bg.jpg") no-repeat center/cover;
}
.idx08 .idx_box .box_info p {
  font-family: var(--f-jp);
  font-weight: 600;
  line-height: 1.8;
  color: var(--clr2);
  text-align: left;
}
.idx08 .idx_box .box_info p.company {
  font-size: 2em;
  letter-spacing: 0.05em;
  border-bottom: 1px solid currentColor;
  padding-bottom: 0.3em;
  margin-bottom: 0.1em;
}
.idx08 .idx_box .box_info p.name {
  letter-spacing: 0.1em;
  font-size: 2.4em;
}
.idx08 .idx_box .box_info p.name .sm {
  font-size: 0.5833em;
  letter-spacing: 0.1em;
  position: relative;
  bottom: 0.2857em;
  margin-right: 0.7857em;
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx08 .idx_box .box_info {
    padding: 3em;
  }
}
@media only screen and (min-width: 769px) {
  .idx08 {
    padding: 107px 0 min(11.25vw, 162px);
  }
  .idx08::before {
    width: 1920px;
    left: calc(50% - 960px);
  }
  .idx08 .ttl_h3 {
    margin-bottom: 2.4375em;
  }
  .idx08 .ttl_h3 .h_en.lg {
    letter-spacing: 0.055em;
    margin-left: -0.6769em;
    margin-right: -0.3077em;
  }
  .idx08 .ttl_h3 .h_en.sm {
    margin-top: -3.6364em;
    margin-left: -0.1364em;
    letter-spacing: 0.1em;
  }
  .idx08 .ttl_h3 h3.lg {
    margin-left: -0.2222em;
  }
  .idx08 .idx_box {
    justify-content: space-between;
  }
  .idx08 .idx_box .box_cont {
    padding-left: min(5.7vw, 82px);
    width: 52%;
    max-width: 650px;
  }
  .idx08 .idx_box .box_cont .desc {
    margin-bottom: 51px;
  }
  .idx08 .idx_box .box_cont .desc p.lg {
    font-size: clamp(22px, 1.667vw, 24px);
    margin-bottom: 0.6667em;
  }
  .idx08 .idx_box .box_img {
    width: 45%;
    padding-top: 7em;
  }
  .idx08 .idx_box .box_info {
    font-size: min(1vw, 10px);
    width: 31.1em;
    padding: 4em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx08 .ttl_h3 .h_en.sm {
    margin-top: -2em;
  }
  .idx08 .ttl_h3 .h_en.lg {
    margin-left: -20px;
    margin-right: -60px;
  }
  .idx08 .idx_box .box_cont {
    padding-left: 20px;
  }
}

.idx09 {
  position: relative;
  z-index: 1;
}
.idx09::before {
  content: "";
  position: absolute;
  height: 100%;
  top: 0;
  background: url("../images/idx09_bg.jpg") no-repeat center/cover;
  z-index: -1;
}
@media only screen and (min-width: 1921px) {
  .idx09::before {
    width: 100vw;
    left: calc(50% - 50vw);
  }
}
.idx09 .idx_box .box_cont {
  max-width: 545px;
}
.idx09 .idx_logo {
  max-width: 392px;
  width: 80%;
}
.idx09 .idx_logo a:hover {
  opacity: 1;
}
.idx09 .idx_info dl {
  display: flex;
  align-items: center;
  border: 1px solid rgba(204, 202, 203, 0.5);
  border-left-width: 0;
  border-right-width: 0;
  border-top-width: 0;
}
.idx09 .idx_info dl dt,
.idx09 .idx_info dl dd {
  font-family: var(--f-jp);
  font-weight: 400;
  line-height: 1.875;
  letter-spacing: 0.1em;
}
.idx09 .idx_info dl dt {
  width: var(--w);
}
.idx09 .idx_info dl dd {
  width: calc(100% - var(--w));
}
.idx09 .flex_gr {
  --size-mg: 0.75em;
}
.idx09 .idx_map {
  border-radius: 10px;
  overflow: hidden;
}
.idx09 .idx_map iframe {
  height: 100%;
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
}
@media only screen and (min-width: 769px) {
  .idx09 {
    padding: min(10vw, 140px) 0 min(12vw, 160px);
  }
  .idx09::before {
    width: 1920px;
    left: calc(50% - 960px);
  }
  .idx09 .idx_box {
    display: flex;
    justify-content: space-between;
    margin-bottom: 80px;
  }
  .idx09 .idx_box .box_img {
    width: 45%;
    max-width: 464px;
  }
  .idx09 .idx_box .box_img picture {
    display: flex;
    justify-content: flex-end;
  }
  .idx09 .idx_box .box_img picture img {
    border-radius: 0 999em 999em 0;
    max-width: min(60.07vw, 865px);
  }
  .idx09 .idx_box .box_cont {
    padding-top: 55px;
    width: 50%;
  }
  .idx09 .idx_logo {
    margin-bottom: 3.8125em;
  }
  .idx09 .idx_info {
    margin-bottom: 3.75em;
  }
  .idx09 .idx_info dl {
    --w: 6.75em;
    padding: 1.625em 0 1.5625em;
  }
  .idx09 .idx_info dl:first-child {
    padding: 1.375em 0 1.8125em;
    border-top-width: 1px;
  }
  .idx09 .idx_info dl:nth-child(2) {
    padding: 1.25em 0 1.375em;
  }
  .idx09 .idx_map {
    height: 300px;
  }
}

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