.home_page {
  background-color: #121212;
}
.home_page #mainContent {
  margin-top: 0;
  background: url(../images/idx_bg.jpg) repeat top center/100%;
}
@media only screen and (min-width: 1919px) {
  .home_page #mainContent {
    margin-top: -140px;
  }
}
@media only screen and (min-width: 2000px) {
  .home_page #mainContent {
    margin-top: 0;
  }
}
.home_page .key {
  --height: 56.25vw;
  --min-height: 550px;
  --max-height: 1080px;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  font-size: 0.625em;
  background: url(../images/idx_key_bg.jpg) no-repeat top center/cover;
}
@media only screen and (min-width: 1919px) and (max-width: 1921px) {
  .home_page .key {
    background-size: auto;
  }
}
.home_page .key .inner {
  position: relative;
  padding: 0;
  width: 1360px;
  max-width: 80%;
}
.home_page .key .mv_slider:not(.slick-slider) {
  display: flex;
  overflow: hidden;
  opacity: 0;
}
.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: center;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-bottom: 18em;
}
.home_page .key h2,
.home_page .key .jp {
  color: #fff;
  letter-spacing: 0.1em;
}
.home_page .key h2 {
  margin-bottom: 0.5789em;
  font-size: 3.8em;
  font-weight: 500;
  line-height: 1.47368;
}
.home_page .key .jp {
  font-size: 2.2em;
  line-height: 2;
}
.home_page .key .idx_key_list {
  position: absolute;
  bottom: 29.1em;
  left: 0;
  width: 100%;
}
.home_page .key .idx_key_list .fblock {
  max-width: 77.6em;
}
.home_page .key .idx_key_list .key_item {
  width: calc(33.3333333333% - 10px);
  max-width: 24.4em;
  border: 10px solid rgba(255, 241, 200, 0.6);
  position: relative;
  z-index: 1;
  aspect-ratio: 244/166;
  align-self: flex-start;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.home_page .key .idx_key_list .key_item::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  inset: 0;
  background-color: #e8e4dd;
  border: 2px solid #fff;
  z-index: -1;
}
.home_page .key .idx_key_list .key_item p {
  text-align: center;
  line-height: 1.55;
  font-weight: 600;
  font-size: 2.2em;
}
.home_page .key .idx_key_list .key_item p strong {
  color: #9a7814;
  font-size: 1.4545em;
  letter-spacing: 0.1em;
}
.home_page .key .idx_key_list .key_item p span {
  font-size: 1.0909em;
  color: #9a7814;
}
.home_page .key .idx_key_banner {
  position: absolute;
  right: 4.3em;
  bottom: 2.6em;
  z-index: 10;
  width: 31.8em;
}
@media only screen and (min-width: 1919px) {
  .home_page .key .idx_key_banner {
    bottom: 18em;
  }
}
@media only screen and (min-width: 2000px) {
  .home_page .key .idx_key_banner {
    bottom: 40px;
  }
}
.home_page .key .idx_key_banner.active {
  position: fixed;
  right: 20px;
  bottom: 170px;
}
.home_page .key .idx_key_banner a:hover {
  opacity: 1;
}
.home_page .key .idx_key_banner img {
  width: 100%;
  transition: 0.3s all;
}
.home_page .key .idx_key_banner .close {
  z-index: 1;
  position: absolute;
  width: 3.4em;
  height: 3.4em;
  background: #bf9b30 url(../images/idx_key_banner_close.png) no-repeat center/contain;
  top: -1.2em;
  right: -1.1em;
  cursor: pointer;
}
@media only screen and (min-width: 769px) {
  .home_page .key .idx_key_banner .close:hover {
    transition: 0.3s all;
    background-color: var(--clr2);
  }
}
@media only screen and (min-width: 769px) {
  .home_page .key .idx_key_banner .idx_key_banner_div:hover img {
    opacity: 0.9;
  }
}
@keyframes scrollLine {
  0% {
    transform: scaleY(0);
    transform-origin: top;
  }
  50% {
    transform: scaleY(1);
    transform-origin: top;
  }
  100% {
    transform: scaleY(0);
    transform-origin: bottom;
  }
}
.home_page .key .idx_scroll {
  position: absolute;
  right: calc(100% + 3.2em);
  z-index: 1;
  bottom: 0;
  min-width: 1.8em;
  font-size: 10px;
}
@media only screen and (min-width: 1919px) {
  .home_page .key .idx_scroll {
    bottom: 14em;
  }
}
@media only screen and (min-width: 2000px) {
  .home_page .key .idx_scroll {
    right: calc(100% + 3.5em);
    bottom: 0;
  }
}
@media only screen and (max-width: 1366px) {
  .home_page .key .idx_scroll {
    right: calc(100% + 2em);
  }
}
@media only screen and (max-width: 480px) {
  .home_page .key .idx_scroll {
    right: calc(100% + 1em);
  }
}
.home_page .key .idx_scroll a {
  display: flex;
  text-decoration: none;
  writing-mode: vertical-rl;
  text-transform: uppercase;
  color: #acacac;
  font-size: 1.2em;
  font-family: var(--f-zenmaru);
  font-weight: 500;
  padding-bottom: 15.9167em;
  letter-spacing: 0.1em;
}
.home_page .key .idx_scroll a::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  width: 1px;
  bottom: 0;
  height: 15em;
  background-color: #4b4b4b;
  left: calc(50% - 1px);
}
.home_page .key .idx_scroll a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: 1;
  left: calc(50% - 1px);
  background-color: #bf9b30;
  height: 15em;
  bottom: 0;
  width: 1px;
  animation: scrollLine 2s ease-in-out infinite;
}
.home_page .key .idx_scroll a:hover {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .home_page .key .idx_scroll a:hover {
    color: var(--main-color);
  }
}
@media only screen and (min-width: 2000px) {
  .home_page .key .idx_key_list {
    bottom: 22em;
  }
}
.home_page .topic_path {
  display: none;
}
.home_page .wrap_h3.t_center {
  display: table;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.home_page .wrap_h3.t_center h3::after {
  margin-left: auto;
  margin-right: auto;
}
.home_page .wrap_h3.white * {
  color: #fff;
}
.home_page .h_en {
  color: var(--main-color);
  line-height: 1;
  font-size: 20px;
  font-family: var(--f-en);
  letter-spacing: 0.1em;
  margin-bottom: 5px;
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .home_page .h_en {
    letter-spacing: 0;
    font-size: 18px;
  }
}
.home_page .h_en.white {
  color: #fff;
}
.home_page h3 {
  position: relative;
  color: #333333;
  font-family: var(--f-jp);
  font-size: 36px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.home_page h3.white {
  color: #fff;
}
.home_page h3::after {
  content: "";
  display: block;
  width: 128px;
  height: 1px;
  background-color: var(--main-color);
  margin-top: 0.8333em;
}
.home_page h3.med {
  font-size: 30px;
}
@media only screen and (min-width: 769px) {
  .home_page h3.med::after {
    margin-top: 1.0333em;
  }
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .home_page h3 {
    letter-spacing: 0;
    font-size: 26px;
  }
  .home_page h3.med {
    font-size: 24px;
    letter-spacing: 0;
  }
}

@media screen and (min-width: 2000px) {
  .home_page .key {
    --max-height: 100vh;
    --height: 56.25vw;
    font-size: 1.1vmin;
  }
  .home_page .key .inner {
    width: 80%;
  }
}
@media only screen and (max-width: 1600px) and (min-width: 769px) and (orientation: landscape) {
  .home_page .key {
    font-size: min(0.625em, 0.58vw);
    --max-height: 100vh;
  }
  .home_page .key .key_text .item {
    padding-bottom: 0;
  }
  .home_page .key .idx_key_list {
    bottom: 12em;
  }
  .home_page .key .idx_key_banner.active {
    right: 80px;
    bottom: 160px;
  }
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .home_page .key {
    font-size: min(0.625em, 0.62vw);
  }
  .home_page .key .idx_key_list {
    bottom: 8em;
  }
  .home_page .key .idx_key_banner.active {
    right: 70px;
    bottom: 100px;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .home_page .key {
    font-size: 0.76vw;
  }
  .home_page .key .idx_key_list {
    bottom: 8em;
  }
  .home_page .key .inner {
    max-width: calc(100% - 40px);
  }
}
section {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
}

.idx1 .h_en {
  margin-bottom: 13px;
}
.idx1 h3 {
  font-weight: 500;
}
.idx1 .inner_big {
  position: relative;
  z-index: 1;
  padding-top: 117px;
  padding-bottom: 80px;
}
.idx1 .inner_big::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: -50vw;
  top: 0;
  bottom: 0;
  right: -55px;
  background: rgba(18, 18, 18, 0.9);
}
.idx1 h3 {
  color: #fff;
}
.idx1 .left {
  width: 34%;
}
.idx1 .right {
  width: 65.625%;
  padding-right: 40px;
  padding-top: 3px;
}
.idx1 .TabContainer .TabPager {
  display: block;
  max-width: 210px;
  width: 100%;
  margin-top: 115px;
  margin-left: 0;
}
.idx1 .TabContainer .TabPager > div {
  border-radius: 0;
  width: 100%;
  max-width: 100%;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 0;
  margin-bottom: 12px;
  transition: 0.3s all;
}
.idx1 .TabContainer .TabPager > div p {
  border: 0 !important;
  font-size: 18px;
  letter-spacing: 0.1em;
  line-height: 1.5;
  padding: 0.5556em 0 0.6111em;
  transition: 0.3s all;
}
.idx1 .TabContainer .TabPager > div.active {
  border: 1px solid var(--main-color);
}
.idx1 .TabContainer .TabPager > div.active p {
  color: var(--main-color);
}
@media only screen and (min-width: 769px) {
  .idx1 .TabContainer .TabPager > div:hover {
    border: 1px solid var(--main-color);
  }
  .idx1 .TabContainer .TabPager > div:hover p {
    color: var(--main-color);
  }
}
.idx1 .TabContainer .TabContent > .content {
  background: transparent;
}
.idx1 ul li {
  margin: 0;
}
.idx1 ul li a {
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  padding: 2.7857em 0 2.7857em;
  display: block;
  position: relative;
}
.idx1 ul li a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  mask-image: url(../images/idx1_arr.png);
  mask-size: contain;
  mask-repeat: no-repeat;
  width: 5px;
  height: 8px;
  right: 2.0714em;
  top: calc(50% - 5px);
  background-color: #b7b7b7;
}
.idx1 ul li a .date {
  color: #b7b7b7;
}
.idx1 ul li a:hover {
  opacity: 1;
}
.idx1 ul li a:hover .date {
  color: #b7b7b7;
}
.idx1 ul li a:hover .title {
  color: #fff;
}
.idx1 ul li a span {
  letter-spacing: 0.1em;
  transition: 0.3s all;
}
.idx1 ul li a .title {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  padding-right: 3em;
}
@media only screen and (min-width: 769px) {
  .idx1 ul li a:hover {
    background: rgba(255, 255, 255, 0.06);
    padding-left: 28px;
  }
  .idx1 ul li a:hover .title {
    color: var(--main-color);
  }
  .idx1 ul li a:hover::after {
    background-color: var(--main-color);
  }
}
.idx1 ul li:first-child {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.idx1 ul li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.idx1 .btn-group {
  display: flex;
  justify-content: flex-end;
  margin-top: 40px;
}
@media only screen and (max-width: 1600px) and (min-width: 769px) {
  .idx1 .inner_big::before {
    right: 0;
  }
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .idx1 .inner_big {
    padding: 0 80px;
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .idx1 .inner_big::before {
    right: 40px;
  }
  .idx1 .right {
    width: 70%;
    padding-right: 0;
  }
  .idx1 ul li a {
    padding-top: 14px;
    padding-bottom: 14px;
  }
  .idx1 ul li a span {
    letter-spacing: 0;
  }
  .idx1 ul li a .title {
    font-size: 16px;
  }
  .idx1 .TabContainer .TabPager {
    margin-top: 35px;
  }
  .idx1 .TabContainer .TabPager > div p {
    letter-spacing: 0;
    font-size: 16px;
  }
  .idx1 .left {
    width: 25%;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .idx1 .inner_big {
    padding: 0 40px;
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .idx1 .inner_big::before {
    right: 20px;
  }
  .idx1 .left {
    width: 25%;
  }
  .idx1 .right {
    width: 65%;
  }
  .idx1 ul li a {
    padding-top: 14px;
    padding-bottom: 14px;
  }
  .idx1 ul li a::after {
    right: 10px;
  }
  .idx1 ul li a span {
    letter-spacing: 0;
  }
  .idx1 ul li a .title {
    padding-right: 20px;
  }
  .idx1 ul li a:hover {
    padding-left: 20px;
  }
}

.idx2 {
  padding: 130px 0 153px;
}
.idx2 .idx2_slider {
  margin-top: 60px;
}
.idx2 .idx2_slider:not(.slick-slider) {
  opacity: 0;
  max-height: 1px;
}
.idx2 .idx2_slider .item {
  background-color: #e6e5e3;
  width: 66.6666666667vw;
  max-width: 1280px;
  margin-left: 40px;
  margin-right: 40px;
  padding: 40px;
	position: relative;
}
.idx2 .idx2_slider .item img {
  border-radius: 50%;
}
.idx2 .idx2_slider .item .flex {
  display: flex;
}
.idx2 .idx2_slider .item .img {
  max-width: 130px;
}
.idx2 .idx2_slider .item .txt {
  width: calc(100% - 150px);
}
.idx2 .idx2_slider .item ul {
  display: flex;
  margin-top: 29px;
  margin-bottom: 11px;
}
.idx2 .idx2_slider .item ul li {
  margin: 0;
}
.idx2 .idx2_slider .item ul li a {
  display: block;
  line-height: 1.5;
  background-color: var(--main-color);
  color: #fff;
  margin: 0;
  padding: 0.125em 1.4375em 0.25em 1.6875em;
  text-decoration: none;
}
.idx2 .idx2_slider .item ul li:not(:first-child) {
  margin-left: 6px;
}
.idx2 .idx2_slider .item .ttl {
  line-height: 1.5;
  font-size: 24px;
  font-weight: 700;
  color: #121212;
}
.idx2 .idx2_slider .item .idx2_content {
  margin-top: 29px;
  background-color: #d5d0c6;
  padding: 55px 60px 58px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.idx2 .idx2_slider .item .idx2_ttl {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: #121212;
  writing-mode: vertical-rl;
  margin: 0;
  min-width: 2.25em;
  position: relative;
  margin-left: auto;
  padding: 1.0417em 0 0.7083em;
  margin-right: auto;
  align-self: flex-start;
}
.idx2 .idx2_slider .item .idx2_ttl::before, .idx2 .idx2_slider .item .idx2_ttl::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  left: 5px;
  right: 2px;
  height: 5px;
  background-color: var(--main-color);
}
.idx2 .idx2_slider .item .idx2_ttl::before {
  top: 0;
}
.idx2 .idx2_slider .item .idx2_ttl::after {
  bottom: 0;
}
.idx2 .idx2_slider .item .content {
  width: 81%;
  padding-left: 10px;
}
.idx2 .idx2_slider .item .content p {
  font-size: 18px;
  line-height: 2;
}
.idx2 .slick-arrow {
  position: absolute;
  z-index: 1;
  top: 50%;
  width: 42px;
  height: 42px;
  opacity: 1;
  transition: 0.3s all;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  background-color: #f7f7f7;
  transition: 0.3s all;
}
@media only screen and (min-width: 769px) {
  .idx2 .slick-arrow:hover {
    background-color: var(--main-color);
  }
	.idx2 .idx2_slider .item {
		transition: .3s all;
	}
	.idx2 .idx2_slider .item:hover {
		opacity: .8
	}
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx2 .slick-arrow {
    width: 30px;
    height: 30px;
  }
}
.idx2 .slick-prev {
  mask-image: url(../images/idx2_prev.png);
  left: 12.3vw;
}
@media only screen and (min-width: 1919px) {
  .idx2 .slick-prev {
    left: 13.2vw;
  }
}
@media only screen and (min-width: 2000px) {
  .idx2 .slick-prev {
    left: 31.7vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .idx2 .slick-prev {
    left: 12vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx2 .slick-prev {
    left: 13vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx2 .slick-prev {
    left: 12vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 850px) {
  .idx2 .slick-prev {
    left: 10vw;
  }
}
.idx2 .slick-next {
  mask-image: url(../images/idx2_next.png);
  right: 12.3vw;
}
@media only screen and (min-width: 1919px) {
  .idx2 .slick-next {
    right: 13.2vw;
  }
}
@media only screen and (min-width: 2000px) {
  .idx2 .slick-next {
    right: 31.7vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .idx2 .slick-next {
    right: 12vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx2 .slick-next {
    right: 13vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx2 .slick-next {
    right: 12vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 850px) {
  .idx2 .slick-next {
    right: 10vw;
  }
}
.idx2 .slick-dots {
  display: flex;
  margin-top: 33px;
  justify-content: center;
  align-items: center;
  gap: 12px;
}
.idx2 .slick-dots li {
  margin: 0;
  --w: 18px;
}
.idx2 .slick-dots li button {
  cursor: pointer;
  background: transparent;
  color: transparent;
  width: var(--w);
  height: var(--w);
  border-radius: 50%;
  border: 1px solid #b9b9b9;
  position: relative;
}
.idx2 .slick-dots li button::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  --w1: calc(var(--w) - 8px);
  width: var(--w1);
  height: var(--w1);
  border-radius: 50%;
  background-color: var(--main-color);
  left: calc(50% - var(--w1) / 2);
  top: calc(50% - var(--w1) / 2);
  opacity: 0;
}
.idx2 .slick-dots li.slick-active button::after {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .idx2 .slick-dots li:hover button::after {
    opacity: 1;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx2 {
    padding: 80px 0;
  }
  .idx2 .idx2_slider {
    margin-top: 40px;
  }
  .idx2 .idx2_slider .item {
    margin-left: 30px;
    margin-right: 30px;
    padding: 30px;
  }
  .idx2 .idx2_slider .item .img {
    max-width: 120px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx2 {
    padding: 60px 0;
  }
  .idx2 .idx2_slider {
    margin-top: 40px;
  }
  .idx2 .idx2_slider .item {
    margin-left: 30px;
    margin-right: 30px;
  }
  .idx2 .idx2_slider .item ul {
    margin-top: 10px;
    margin-bottom: 10px;
  }
  .idx2 .idx2_slider .item ul li a {
    font-size: 14px;
    letter-spacing: 0;
  }
  .idx2 .idx2_slider .item .ttl {
    font-size: 20px;
    letter-spacing: 0;
  }
  .idx2 .idx2_slider .item .idx2_content {
    margin-top: 20px;
    padding: 20px;
  }
  .idx2 .idx2_slider .item .idx2_ttl {
    font-size: 20px;
  }
  .idx2 .idx2_slider .item .content p {
    letter-spacing: 0;
    font-size: 16px;
  }
}

.idx3 {
  position: relative;
  z-index: 2;
}
.idx3::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  inset: 0;
  background: url(../images/idx3_bg.jpg) no-repeat top center/cover;
  left: 12.05%;
  bottom: unset;
  height: 783px;
}
.idx3 .idx3_inner {
  display: grid;
  grid-template-columns: 50% 48%;
  justify-content: space-between;
}
@media only screen and (min-width: 1919px) {
  .idx3 .idx3_inner {
    position: relative;
    left: 5px;
  }
}
.idx3 .idx3_img {
  grid-row: 1/span 3;
  width: 60em;
  height: 66em;
  position: relative;
  margin-top: -8.7em;
  font-size: 10px;
}
.idx3 .idx3_img > div {
  position: absolute;
  width: 40em;
  height: 40em;
  display: flex;
  align-items: center;
  justify-content: center;
}
.idx3 .idx3_img .ttl {
  font-size: 2.5em;
  font-weight: 600;
  color: #fff;
  line-height: 1.6799840192;
  text-align: center;
}
.idx3 .idx3_img .img1 {
  background: url(../images/idx3_icon1.png) no-repeat center/contain;
  top: 0;
  left: 12em;
}
.idx3 .idx3_img .img2 {
  background: url(../images/idx3_icon2.png) no-repeat center/contain;
  top: 20.3em;
  left: -4.6em;
}
.idx3 .idx3_img .img3 {
  background: url(../images/idx3_icon3.png) no-repeat center/contain;
  bottom: -2.6em;
  right: -1.8em;
}
.idx3 h3.med {
  font-weight: 700;
  margin-top: 100px;
  line-height: 1.6;
}
.idx3 h3.med::after {
  margin-top: 29px;
  background-color: #fff;
}
.idx3 .txt {
  margin-top: 32px;
}
.idx3 .txt p {
  font-size: 18px;
  color: #fff;
  line-height: 2.1111em;
}
.idx3 .btn-group {
  margin-top: 47px;
}
.idx3 .btn-group .btn a {
  border-color: #a09f9f;
}
.idx3 .fblock {
  margin-top: 41px;
}
.idx3 .idx3_box {
  font-size: 10px;
  background-color: rgba(230, 228, 223, 0.8);
  width: 49%;
  max-width: 62em;
  padding: 2em 2.1em 2em 1.9em;
}
.idx3 .idx3_box .idx3_txt {
  background-color: #fff;
  position: relative;
  padding: 6.9em 0 4.7em;
  z-index: 1;
}
.idx3 .idx3_box .idx3_txt::before, .idx3 .idx3_box .idx3_txt::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  border-width: 15px;
  border-style: solid;
  z-index: -1;
}
.idx3 .idx3_box .idx3_txt::before {
  top: 0;
  left: 0;
  border-left-color: var(--main-color);
  border-top-color: var(--main-color);
  border-bottom-color: transparent;
  border-right-color: transparent;
}
.idx3 .idx3_box .idx3_txt::after {
  top: 0;
  right: 0;
  border-right-color: var(--main-color);
  border-top-color: var(--main-color);
  border-bottom-color: transparent;
  border-left-color: transparent;
}
.idx3 .idx3_box .idx3_txt_border {
  position: absolute;
  inset: 0;
}
.idx3 .idx3_box .idx3_txt_border::before, .idx3 .idx3_box .idx3_txt_border::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  border-width: 15px;
  border-style: solid;
  z-index: -1;
}
.idx3 .idx3_box .idx3_txt_border::before {
  bottom: 0;
  left: 0;
  border-left-color: var(--main-color);
  border-bottom-color: var(--main-color);
  border-top-color: transparent;
  border-right-color: transparent;
}
.idx3 .idx3_box .idx3_txt_border::after {
  bottom: 0;
  right: 0;
  border-right-color: var(--main-color);
  border-bottom-color: var(--main-color);
  border-top-color: transparent;
  border-left-color: transparent;
}
.idx3 .idx3_box .ttl1 {
  line-height: 1.5;
  text-align: center;
  font-weight: 700;
  font-size: 2.6em;
  margin-bottom: 0.3846em;
}
.idx3 .idx3_box .ttl2 {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.idx3 .idx3_box .ttl2 .num {
  line-height: 1;
  font-size: 14em;
  font-weight: 700;
  color: #bf9b30;
  letter-spacing: -0.05em;
}
.idx3 .idx3_box .ttl2 .num .hour {
  font-size: 0.2857em;
  padding-left: 0.2em;
}
.idx3 .idx3_box .ttl2 .jp {
  font-weight: 500;
  align-self: flex-end;
  line-height: 1.6429em;
  font-size: 2.8em;
  margin-left: 16px;
  text-align: left;
  letter-spacing: 0.1em;
  margin-bottom: -0.0714em;
}
.idx3 .idx3_box .ttl2 .jp .jp_small {
  display: block;
  padding-left: 0.3571em;
  letter-spacing: 0.1em;
}
.idx3 .idx3_box .btn-group {
  margin-top: 35px;
}
.idx3 .right {
  max-width: 620px;
  width: 50%;
}
@media only screen and (min-width: 769px) and (max-width: 1600px) {
  .idx3::after {
    left: 100px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .idx3::after {
    left: 50px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx3::after {
    height: 45vw;
    left: 20px;
  }
  .idx3 .idx3_img {
    font-size: 9px;
  }
  .idx3 .txt p {
    letter-spacing: 0;
    font-size: 16px;
  }
  .idx3 h3.med {
    margin-top: 80px;
  }
  .idx3 .idx3_box p {
    letter-spacing: 0 !important;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .idx3::after {
    left: 10px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx3::after {
    height: 580px;
    background-position: top right;
  }
  .idx3 .idx3_img {
    font-size: 6px;
  }
  .idx3 .txt p {
    letter-spacing: 0;
    font-size: 16px;
    padding-right: 20px;
  }
  .idx3 h3.med {
    margin-top: 60px;
  }
  .idx3 .idx3_box,
  .idx3 .idx_contact .idx_box_tel {
    font-size: 7.5px;
  }
  .idx3 .idx3_box p {
    letter-spacing: 0 !important;
  }
  .idx3 .idx_contact .idx_box_contact {
    margin-top: 5px;
  }
}

.idx_contact .idx_box_tel {
  align-self: flex-start;
  width: 49.2%;
  background: rgba(230, 228, 223, 0.9);
  padding: 3.3em 0 4.7em;
  position: relative;
  font-size: 10px;
}
.idx_contact .idx_box_tel picture {
  max-width: 8em;
  aspect-ratio: 1/1;
  background-color: #fff;
  border-radius: 50%;
  margin: 0 auto;
}
.idx_contact .idx_box_tel .link a {
  width: 100%;
  height: 100%;
  z-index: 2;
}
.idx_contact .idx_box_tel .ttl1 {
  line-height: 1;
  text-align: center;
  font-size: 1.8em;
  margin: 1em 0 0.6111em;
}
.idx_contact .idx_box_tel .tel {
  text-align: center;
  line-height: 1;
  margin-bottom: 0.3929em;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--clr1);
  font-size: 2.8em;
}
.idx_contact .idx_box_tel .ttl2 {
  line-height: 1;
  text-align: center;
  letter-spacing: 0.1em;
  font-size: 1.4em;
}
.idx_contact .idx_box_tel .ttl3 {
  text-align: center;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin: 0.75em 0 0.1429em;
  font-weight: 700;
  font-size: 2.8em;
}
.idx_contact .idx_box_contact {
  width: 100%;
  background: rgba(160, 137, 69, 0.9);
  color: #fff;
  text-align: center;
  padding: 3.9em 0;
  position: relative;
  font-size: 10px;
  transition: 0.3s all;
}
.idx_contact .idx_box_contact .ttl1 {
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-size: 3em;
  margin-bottom: 0.3667em;
  transition: 0.3s all;
}
.idx_contact .idx_box_contact .ttl1::before {
  content: "";
  display: block;
  transition: 0.3s all;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../images/idx3_contact.png);
  background-color: #fff;
  width: 1.3333em;
  height: 1.3333em;
  margin-right: 0.2667em;
}
.idx_contact .idx_box_contact .ttl2 {
  font-size: 1.8em;
  letter-spacing: 0.14em;
  transition: 0.3s all;
}
@media only screen and (min-width: 769px) {
  .idx_contact .idx_box_contact:hover {
    background-color: #fff;
  }
  .idx_contact .idx_box_contact:hover .ttl1 {
    color: var(--main-color);
  }
  .idx_contact .idx_box_contact:hover .ttl1::before {
    background-color: var(--main-color);
  }
  .idx_contact .idx_box_contact:hover .ttl2 {
    color: var(--main-color);
  }
}

.idx4 {
  position: relative;
  z-index: 1;
  padding: 187px 0 120px;
}
.idx4::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  bottom: 0;
  right: 0;
  background: url(../images/idx4_bg.png) no-repeat top right/cover;
  width: 147.1em;
  height: 105.9em;
  font-size: 10px;
}
.idx4 h3 {
  font-weight: 400;
}
.idx4 h3::after {
  display: none;
}
.idx4 h3::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  background: url(../images/idx4_h3.png) no-repeat center/contain;
  width: 6.6667em;
  height: 3.3333em;
  top: -1.9444em;
  left: -2.4722em;
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx4 {
    padding: 120px 0 80px;
  }
}

.idx5 {
  background-color: #f1f1f1;
  position: relative;
  z-index: 1;
}
.idx5 .idx5_inner {
  padding: 130px 0 201px;
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.idx5 .idx5_inner::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  font-size: 10px;
  background: url(../images/idx5_before.jpg) no-repeat top center/contain;
  width: 78.3em;
  height: 75.7em;
  bottom: 0;
  left: 0;
}
.idx5 .idx5_inner::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  right: 0;
  width: 34.05%;
  top: 0;
  bottom: 0;
  background-size: 78.2%, cover;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='509px' height='588px'%3E%3Cpath fill-rule='evenodd' opacity='0.2' fill='rgb(255, 255, 255)' d='M254.502,587.377 L0.089,440.533 L0.089,146.844 L254.502,0.001 L508.914,146.844 L508.914,440.533 L254.502,587.377 ZM472.642,167.781 L254.502,41.871 L36.361,167.781 L36.361,419.597 L254.502,545.504 L472.642,419.597 L472.642,167.781 ZM286.311,292.414 C286.311,287.209 285.029,282.304 282.802,277.961 L456.006,177.990 C452.988,186.407 442.948,211.972 428.678,223.223 C419.861,230.176 358.131,263.421 300.032,294.189 C321.426,307.741 335.683,316.829 335.683,316.829 L331.323,324.380 C339.390,327.464 346.747,329.929 351.088,330.376 C350.258,337.328 350.952,348.078 350.952,348.078 C350.952,348.078 341.292,352.853 335.684,357.049 C333.128,353.512 327.314,348.375 320.608,342.934 L316.248,350.483 C316.248,350.483 301.239,342.681 278.793,330.929 C281.190,396.620 283.255,466.698 281.641,477.811 C279.029,495.791 261.903,517.264 256.122,524.086 L256.122,324.139 C272.907,323.284 286.311,309.404 286.311,292.414 ZM357.549,353.062 C355.437,335.140 357.767,317.607 364.538,300.466 C380.503,305.347 394.089,313.017 405.297,323.473 C418.961,313.730 433.659,308.376 447.903,309.986 C453.827,323.736 450.911,341.084 440.639,359.458 C451.359,374.465 455.623,390.780 453.427,408.400 C439.262,419.110 422.998,423.575 404.635,421.800 C393.855,439.882 379.915,451.719 365.041,453.467 C356.526,441.937 354.183,425.896 355.792,409.194 C341.131,404.718 327.693,396.790 315.484,385.409 C326.947,370.977 340.971,360.190 357.549,353.062 ZM364.416,383.981 C371.013,393.752 373.371,409.381 371.827,424.543 L376.453,425.014 C378.037,409.458 375.769,392.650 368.407,381.585 C373.056,378.434 377.169,374.283 380.550,369.018 L434.282,400.033 L436.607,396.009 L382.873,364.994 C385.744,359.436 387.282,353.799 387.689,348.199 C400.956,349.039 416.647,342.601 429.333,333.448 L426.612,329.680 C414.249,338.598 399.531,344.370 387.769,343.544 C387.368,332.884 383.018,322.468 376.090,313.069 L372.346,315.826 C383.614,331.117 387.130,348.433 377.731,364.708 C368.332,380.983 351.572,386.600 332.694,384.488 L332.176,389.109 C343.781,390.409 354.981,388.966 364.416,383.981 ZM254.496,260.609 C243.327,260.609 233.502,266.404 227.824,275.134 L54.628,175.166 C63.428,173.572 90.593,169.482 107.475,176.211 C117.907,180.370 177.572,217.191 233.274,252.107 C234.316,226.810 235.061,209.922 235.061,209.922 L243.781,209.922 C242.420,201.396 240.877,193.793 239.092,189.811 C245.530,187.053 254.496,181.078 254.496,181.078 C254.496,181.078 263.463,187.053 269.901,189.811 C268.115,193.793 266.573,201.396 265.212,209.922 L273.932,209.922 C273.932,209.922 274.677,226.817 275.720,252.126 C331.426,217.206 391.101,180.379 401.533,176.220 C418.416,169.491 445.581,173.581 454.380,175.176 L281.177,275.147 C275.500,266.412 265.672,260.609 254.496,260.609 ZM304.001,148.074 C307.454,163.004 307.306,178.602 303.551,194.863 C285.318,192.155 268.961,185.408 254.497,174.618 C240.029,185.408 223.676,192.155 205.442,194.863 C201.687,178.602 201.538,163.004 204.992,148.074 C189.719,141.114 177.733,131.065 172.006,117.928 C180.954,105.925 197.440,99.775 218.493,99.483 C226.133,82.697 238.135,70.847 254.497,63.939 C270.857,70.847 282.856,82.697 290.500,99.483 C311.553,99.775 328.778,105.925 337.729,117.928 C331.999,131.065 319.274,141.114 304.001,148.074 ZM307.375,122.275 C293.108,128.682 279.682,139.048 273.779,150.954 C268.724,148.506 263.072,147.021 256.820,146.727 L256.820,84.697 L252.172,84.697 L252.172,146.727 C245.921,147.021 240.270,148.506 235.215,150.954 C229.309,139.048 215.887,128.682 201.616,122.275 L199.712,126.515 C213.618,132.759 225.977,142.617 231.141,153.212 C222.109,158.889 215.260,167.865 210.582,178.562 L214.844,180.425 C222.454,163.024 235.697,151.320 254.497,151.320 C273.293,151.320 286.539,163.024 294.149,180.425 L298.411,178.562 C293.733,167.865 286.884,158.889 277.848,153.212 C283.015,142.617 295.375,132.759 309.281,126.515 L307.375,122.275 ZM222.681,292.414 C222.681,309.404 236.085,323.284 252.871,324.139 L252.871,524.086 C247.089,517.264 229.964,495.791 227.352,477.811 C225.738,466.700 227.802,396.631 230.199,330.947 C207.763,342.694 192.761,350.492 192.761,350.492 L188.401,342.943 C181.695,348.384 175.881,353.521 173.325,357.058 C167.717,352.862 158.056,348.087 158.056,348.087 C158.056,348.087 158.751,337.338 157.920,330.385 C162.262,329.939 169.619,327.473 177.685,324.388 L173.325,316.839 C173.325,316.839 187.589,307.745 208.992,294.189 C150.888,263.420 89.149,230.166 80.331,223.214 C66.060,211.963 56.021,186.398 53.003,177.981 L226.198,277.949 C223.965,282.294 222.681,287.204 222.681,292.414 ZM60.720,309.344 C74.965,307.737 90.032,313.730 103.697,323.473 C114.905,313.017 128.490,305.347 144.455,300.466 C151.226,317.607 153.558,335.143 151.444,353.062 C168.024,360.192 182.047,370.977 193.510,385.409 C181.300,396.790 167.863,404.718 153.201,409.194 C154.810,425.896 152.098,441.298 143.581,452.825 C128.709,451.080 115.138,439.882 104.358,421.800 C85.997,423.577 69.731,419.111 55.566,408.400 C53.371,390.782 57.635,374.469 68.354,359.458 C58.082,341.084 54.797,323.095 60.720,309.344 ZM74.711,400.035 L128.445,369.020 C131.825,374.283 135.938,378.434 140.586,381.585 C133.225,392.652 130.955,409.456 132.541,425.015 L137.166,424.543 C135.623,409.381 137.982,393.754 144.580,383.983 C154.012,388.966 165.212,390.409 176.818,389.109 L176.300,384.488 C157.421,386.600 140.662,380.986 131.263,364.708 C121.864,348.435 125.379,331.117 136.647,315.826 L132.903,313.069 C125.976,322.468 121.625,332.884 121.226,343.545 C109.463,344.372 94.744,338.598 82.381,329.680 L79.662,333.450 C92.345,342.598 108.039,349.041 121.304,348.199 C121.710,353.799 123.250,359.436 126.120,364.996 L72.388,396.010 L74.711,400.035 ZM226.652,292.414 C226.652,277.041 239.118,264.578 254.496,264.578 C269.874,264.578 282.340,277.041 282.340,292.414 C282.340,307.788 269.874,320.251 254.496,320.251 C239.118,320.251 226.652,307.788 226.652,292.414 ZM259.871,302.286 C263.490,302.269 267.162,302.150 270.571,302.313 L270.406,304.350 C267.026,304.157 262.800,304.468 259.404,304.372 C255.066,303.709 255.380,306.591 255.539,308.985 L255.754,309.031 L255.522,309.068 C256.039,311.721 261.301,310.462 263.387,310.803 C265.321,310.855 269.681,310.484 271.575,310.764 C273.922,310.488 272.348,307.637 270.483,308.561 C266.992,308.522 261.857,308.759 258.435,308.482 C257.890,308.546 257.585,308.658 257.763,307.848 C257.547,306.050 257.899,306.590 259.350,306.590 L259.369,306.438 L259.369,306.593 C262.207,306.538 264.985,306.464 267.919,306.554 C271.651,307.154 273.163,305.669 272.776,302.506 C272.785,297.831 261.249,300.848 257.730,299.983 C257.716,299.432 257.723,298.432 257.756,297.977 C261.625,297.690 268.145,298.464 271.896,297.624 C275.230,291.675 270.130,290.994 265.311,291.484 C262.855,291.590 260.100,291.199 257.734,291.541 C257.717,291.415 257.661,290.256 257.694,289.399 C259.330,289.171 270.841,289.946 272.028,288.909 C273.534,287.515 272.329,283.662 272.657,281.691 C273.200,278.240 269.857,278.620 267.363,278.659 C265.077,278.767 261.897,278.697 259.605,278.619 C255.914,278.769 258.168,281.395 260.072,280.900 C263.441,280.742 267.044,281.070 270.493,280.910 C270.460,282.672 270.540,285.597 270.405,287.235 C266.737,288.282 256.473,284.883 255.481,289.330 C255.311,292.337 255.938,294.429 259.392,293.746 C263.068,293.739 266.794,293.633 270.460,293.724 C270.506,294.097 270.506,295.243 270.462,295.729 C266.985,296.738 254.543,293.389 255.481,298.649 C255.200,302.531 256.786,302.445 259.871,302.286 ZM264.868,285.268 C268.474,286.031 269.966,282.572 265.875,282.949 C264.024,282.416 254.764,284.268 255.577,281.756 C256.313,280.147 254.150,276.638 256.718,276.417 C261.022,276.556 265.723,276.517 269.783,276.769 C271.395,277.312 274.768,274.957 271.224,274.371 C267.976,274.230 262.293,274.510 258.746,274.331 C258.081,274.261 255.546,274.756 255.473,273.916 C254.939,271.843 253.029,273.342 253.358,274.323 C249.043,275.309 239.063,272.755 236.176,275.414 C237.428,278.358 249.234,275.798 252.663,276.495 C254.036,276.574 253.129,279.108 253.453,280.015 C253.207,280.498 253.912,282.741 252.998,282.868 C249.711,283.710 241.538,281.348 240.506,284.146 C240.309,284.784 241.554,285.410 242.672,285.148 C249.629,285.229 257.883,285.064 264.868,285.268 ZM240.770,308.482 L237.377,308.482 C234.937,309.240 237.084,311.361 239.093,310.764 C241.647,310.799 246.911,310.647 249.504,310.647 C252.711,311.136 253.949,309.615 253.473,307.065 C254.749,302.265 241.365,305.007 238.519,304.350 C238.397,303.689 238.511,303.078 238.499,302.327 C242.234,301.253 254.669,304.626 253.450,299.330 C253.961,296.623 252.377,295.091 248.876,295.794 C246.201,296.155 241.592,295.616 238.926,295.695 L238.928,295.724 L238.781,295.736 L238.598,296.089 L238.381,295.765 C238.381,295.185 238.426,294.085 238.458,293.690 C238.458,293.690 250.402,293.728 250.402,293.726 C254.622,293.790 253.211,290.886 253.456,288.948 L253.199,288.895 L253.470,288.851 C253.084,286.732 250.927,287.279 248.781,287.196 C245.490,287.172 241.648,287.255 238.459,287.188 L238.509,280.822 C241.907,279.987 249.397,282.539 251.250,279.700 C250.400,277.418 241.340,279.334 238.938,278.581 C234.898,278.461 236.514,283.580 236.295,286.108 C235.523,291.754 243.141,288.610 246.538,289.438 C248.309,289.616 249.580,289.419 251.219,289.362 C251.519,289.513 251.255,291.301 251.335,291.416 C247.170,292.811 235.519,288.256 236.176,295.220 C235.801,300.187 247.299,297.207 251.229,297.940 C251.218,298.023 251.253,299.934 251.223,300.022 C246.367,301.006 232.981,296.830 236.591,305.749 C240.443,307.848 246.933,305.779 251.307,306.603 C252.649,310.362 242.902,307.838 240.770,308.482 Z'/%3E%3C/svg%3E"), url(../images/idx5_after.png);
  background-position: center 74px, top center;
}
.idx5 .fblock {
  margin-top: 60px;
  align-items: center;
}
.idx5 .idx5_img {
  max-width: 600px;
  width: 47%;
  position: relative;
}
.idx5 .idx5_txt {
  width: 46.9%;
  padding-bottom: 14px;
}
.idx5 .idx5_txt .ttl1 {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 48px;
  color: #333333;
  margin-bottom: 29px;
}
.idx5 .idx5_txt .txt p {
  line-height: 2.1111111111;
  font-size: 18px;
}
.idx5 .idx5_txt .txt p:not(:last-child) {
  margin-bottom: 10px;
}
.idx5 .btn-group {
  margin-top: 40px;
}
.idx5 .btn-group .btn {
  max-width: 340px;
}
.idx5 .btn-group .btn:first-child {
  margin-bottom: 10px;
}
.idx5 .idx5_name {
  position: absolute;
  bottom: 0;
  left: 0;
  background: #fff;
  display: flex;
  align-items: center;
  padding: 2em 2.5em 2.2em 2.6em;
  font-size: 10px;
}
.idx5 .idx5_name p {
  line-height: 1;
  margin: 0;
}
.idx5 .idx5_name .jp {
  font-size: 1.8em;
  letter-spacing: 0.1em;
  line-height: 1.5556em;
  border-right: 1px solid #d5d0c6;
  padding-right: 1.3889em;
  margin-right: 1.5em;
  font-family: var(--f-zenmincho);
}
.idx5 .idx5_name .name {
  font-family: var(--f-zenmincho);
  color: #333;
  font-weight: 700;
  font-size: 2.4em;
  display: flex;
  align-items: center;
}
.idx5 .idx5_name .name .en {
  font-size: 0.5833em;
  color: var(--main-color);
  font-family: var(--f-zenmincho);
  letter-spacing: 0.07em;
  margin: -0.1429em 0 0em 1.1429em;
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx5 .idx5_inner {
    padding: 80px 0;
  }
  .idx5 .idx5_inner::before {
    font-size: 0.5vw;
  }
  .idx5 .idx5_name {
    padding: 10px;
  }
  .idx5 .idx5_name p {
    letter-spacing: 0 !important;
  }
  .idx5 .idx5_name p span {
    letter-spacing: 0 !important;
  }
  .idx5 .idx5_name .jp {
    margin-right: 0.5em;
    padding-right: 0.5em;
  }
  .idx5 .idx5_txt .ttl1 {
    letter-spacing: 0;
    font-size: 20px;
  }
  .idx5 .idx5_txt .txt p {
    letter-spacing: 0;
    font-size: 16px;
  }
  .idx5 .fblock {
    align-items: flex-start;
  }
}

.idx6 {
  background-image: url(../images/idx6_bg.jpg);
  padding: 130px 0 120px;
}
.idx6 .idx6_list {
  gap: 4px;
  margin-top: 60px;
}
.idx6 .idx6_list .item {
  background-color: #333333;
  width: calc(25% - 4px);
  max-width: 317px;
  position: relative;
  padding-left: 30px;
  z-index: 1;
  transition: 0.3s all;
  aspect-ratio: 316/350;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 32px;
}
.idx6 .idx6_list .item::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../images/shared_btn_icon.png);
  background-color: #fff;
  width: 2.8em;
  height: 0.7em;
  bottom: 2em;
  right: 2.2em;
  font-size: 10px;
}
.idx6 .idx6_list .item .img img {
  opacity: 0.5;
  transition: 0.3s all;
}
.idx6 .idx6_list .item .en {
  writing-mode: vertical-rl;
  position: absolute;
  right: 19px;
  top: 30px;
  text-transform: uppercase;
  color: var(--main-color);
  white-space: nowrap;
  line-height: 1;
  letter-spacing: 0.05em;
  font-size: 14px;
  margin: 0;
  font-family: var(--f-jp);
  min-width: 14px;
  transition: 0.3s all;
}
.idx6 .idx6_list .item .jp {
  font-size: 20px;
  color: #fff;
  font-weight: 600;
  line-height: 1.8;
  margin: 60px 0 0 4px;
}
@media only screen and (min-width: 769px) {
  .idx6 .idx6_list .item:hover {
    background-color: #a08945;
  }
  .idx6 .idx6_list .item:hover .img img {
    opacity: 1;
  }
  .idx6 .idx6_list .item:hover .en {
    color: #fff;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx6 {
    padding: 80px 0;
  }
  .idx6 .idx6_list {
    margin-top: 40px;
    display: flex;
  }
  .idx6 .idx6_list .item {
    padding: 20px;
  }
  .idx6 .idx6_list .item p {
    letter-spacing: 0 !important;
  }
  .idx6 .idx6_list .item .img {
    max-width: 80px;
  }
  .idx6 .idx6_list .item .en {
    font-size: 11px;
    top: 10px;
    right: 10px;
  }
  .idx6 .idx6_list .item .jp {
    font-size: 18px;
    letter-spacing: 0;
    margin: 40px 0 0 0;
  }
}
@media only screen and (min-width: 850px) and (max-width: 1024px) {
  .idx6 .idx6_list .item .jp .br375,
  .idx6 .idx6_list .item .jp .br425 {
    display: none !important;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx6 .idx6_list {
    margin-top: 40px;
    display: flex;
  }
  .idx6 .idx6_list .item {
    padding: 20px;
  }
  .idx6 .idx6_list .item p {
    letter-spacing: 0 !important;
  }
  .idx6 .idx6_list .item .img {
    max-width: 80px;
  }
  .idx6 .idx6_list .item .en {
    font-size: 11px;
    top: 10px;
    right: 10px;
  }
  .idx6 .idx6_list .item .jp {
    font-size: 16px;
    letter-spacing: 0;
    margin: 40px 0 0 0;
  }
  .idx6 .idx6_list .item .jp br {
    display: block !important;
  }
}

.idx7 {
  padding: 354px 0 0;
  position: relative;
  z-index: 1;
}
.idx7::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  top: 0;
  left: 0;
  width: 100%;
  height: 574px;
  background: url(../images/idx7_bg.jpg) no-repeat center/cover;
  z-index: -1;
}
.idx7 .inner {
  max-width: 1720px;
}
.idx7 .idx7_bg {
  background-color: #a08945;
  padding: 80px 0;
  margin-bottom: -200px;
}
.idx7 .idx_contact .idx_box_tel {
  width: 33.3333333333%;
}
.idx7 .left {
  width: 25%;
  padding-top: 60px;
}
.idx7 .h_en {
  margin-bottom: 14px;
}
.idx7 h3 {
  line-height: 1.25;
  font-size: 32px;
  margin-left: -0.26em;
}
.idx7 h3::after {
  background-color: #fff;
  margin-top: 44px;
  margin-left: 0.24em;
}
.idx7 .right {
  width: 74%;
  max-width: 935px;
}
.idx7 .idx_contact .idx_box_tel {
  width: calc(33.3333333333% - 5px);
  max-width: 305px;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.5);
  padding: 32px 0 46px;
}
.idx7 .idx_contact .idx_box_tel .img {
  background: rgba(255, 255, 255, 0.4);
}
.idx7 .idx_contact .idx_box_tel .img img {
  filter: brightness(0) saturate(100%) invert(100%);
}
.idx7 .idx_contact .idx_box_tel p {
  color: #fff;
}
.idx7 .idx_contact .idx_box_tel {
  min-height: 260px;
}
.idx7 .idx_contact .idx_box_tel_contact {
  transition: 0.3s all;
}
.idx7 .idx_contact .idx_box_tel_contact p,
.idx7 .idx_contact .idx_box_tel_contact .img {
  transition: 0.3s all;
}
@media only screen and (min-width: 769px) {
  .idx7 .idx_contact .idx_box_tel_contact:hover {
    background-color: #fff;
  }
  .idx7 .idx_contact .idx_box_tel_contact:hover .img {
    background-color: #c6b88f;
  }
  .idx7 .idx_contact .idx_box_tel_contact:hover p {
    color: var(--main-color) !important;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx7::before {
    height: 450px;
  }
  .idx7 {
    padding-top: 200px;
  }
}
@media only screen and (min-width: 850px) and (max-width: 1024px) {
  .idx7 .idx_contact .idx_box_tel .ttl2 .br425 {
    display: none !important;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx7::before {
    height: 350px;
  }
  .idx7 {
    padding-top: 120px;
  }
  .idx7 h3 {
    font-size: 26px;
    letter-spacing: 0;
    line-height: 1.5;
  }
  .idx7 h3 br.pc_only {
    display: none;
  }
  .idx7 .left {
    width: 26%;
  }
  .idx7 .right {
    width: 72%;
  }
  .idx7 .idx_contact .idx_box_tel {
    font-size: 8px;
    min-height: unset;
    padding: 30px 0;
  }
  .idx7 .idx_contact .idx_box_tel .tel {
    font-size: 2.6em;
  }
  .idx7 .idx_contact .idx_box_tel {
    min-height: 210px;
  }
  .idx7 .idx_contact .idx_box_tel p {
    letter-spacing: 0 !important;
  }
  .idx7 .idx_contact .idx_box_tel .ttl2 {
    line-height: 1.5;
  }
  .idx7 .idx_contact .idx_box_tel .ttl2 br {
    display: block !important;
  }
}

@media only screen and (min-width: 769px) and (max-width: 850px) {
	.idx7 .idx7_bg h3 .br {
		display: none !important;
	}
}
.idx8 {
  background-image: url(../images/idx8_bg.jpg);
  padding: 330px 0 120px;
}
.idx8 .idx8_list {
  margin-top: 60px;
  gap: 3px;
  justify-content: center;
}
.idx8 .idx8_list .item {
  display: grid;
  grid-template-columns: 32% 64%;
  width: calc(33.3333333333% - 2px);
  max-width: 478px;
  position: relative;
  transition: 0.3s all;
  background: rgba(75, 75, 75, 0.72);
  padding: 20px;
  justify-content: space-between;
  z-index: 1;
}
.idx8 .idx8_list .item::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  mask-repeat: no-repeat;
  z-index: 1;
  mask-size: contain;
  mask-image: url(../images/idx8_arr.png);
  background-color: #a08945;
  width: 3.3em;
  height: 0.7em;
  bottom: 1.7em;
  right: 1.1em;
  font-size: 10px;
}
.idx8 .idx8_list .item .img {
  grid-row: 1/span 4;
}
.idx8 .idx8_list .item .ttl1 {
  color: #fff;
  line-height: 1.5;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.05em;
  margin-top: 7px;
  margin-bottom: 11px;
  transition: 0.3s all;
}
.idx8 .idx8_list .item .ttl2 {
  color: #dddddd;
  line-height: 2;
  margin-bottom: auto;
  transition: 0.3s all;
}
@media only screen and (min-width: 769px) {
  .idx8 .idx8_list .item:hover {
    background-color: #fff;
  }
  .idx8 .idx8_list .item:hover .ttl1,
  .idx8 .idx8_list .item:hover .ttl2 {
    color: #333333;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx8 {
    padding: 280px 0 80px;
  }
  .idx8 .idx8_list .item p {
    letter-spacing: 0 !important;
  }
  .idx8 .idx8_list .item .ttl1 {
    font-size: 20px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx8 {
    padding: 280px 0 80px;
  }
  .idx8 .idx8_list {
    display: flex;
    gap: 5px;
  }
  .idx8 .idx8_list .item {
    width: calc(50% - 5px);
  }
  .idx8 .idx8_list .item::after {
    bottom: 10px;
    right: 10px;
  }
  .idx8 .idx8_list .item .ttl1 {
    font-size: 18px;
  }
}

.idx_bg {
  background: url(../images/idx_bg2.jpg) no-repeat top center/cover;
}

.idx9 {
  background: rgba(255, 255, 255, 0.32);
  background-position: top center;
  padding: 90px 0 119px;
  border-bottom: 1px solid rgba(46, 46, 46, 0.32);
}
.idx9 .btn-group {
  margin-top: 40px;
}
.idx9 .btn-group .btn {
  width: 305px;
  max-width: 305px;
}
.idx9 .idx9_list {
  margin-top: 61px;
  gap: 20px;
}
.idx9 .idx9_list .item {
  background-color: #fff;
  width: calc(25% - 15px);
  position: relative;
  padding: 70px 40px 49px 40px;
}
.idx9 .idx9_list .item .en {
  line-height: 1;
  margin: 0;
  white-space: nowrap;
  writing-mode: vertical-rl;
  right: 19px;
  top: 26px;
  position: absolute;
  color: #c5c5c5;
  font-family: var(--f-jp);
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.05em;
  font-size: 12px;
  text-transform: uppercase;
}
.idx9 .idx9_list .item .en .num {
  line-height: 1;
  color: #bf9b30;
  font-size: 40px;
  font-weight: 600;
  writing-mode: initial;
  font-family: var(--f-jp);
  margin-bottom: 15px;
  letter-spacing: 0;
}
.idx9 .idx9_list .item .ttl1 {
  color: #333333;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.5;
  margin: 26px 0 17px;
}
.idx9 .idx9_list .item .ttl2 {
  line-height: 1.875;
  width: 90%;
}
.idx9 .idx9_list .item .img img {
  border-radius: 50%;
}
.idx9 .idx9_list .item:last-child .ttl1 {
  letter-spacing: 0;
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx9 {
    padding: 80px 0 80px;
  }
  .idx9 .idx9_list .item .en {
    top: 10px;
    right: 10px;
    font-size: 10px;
  }
  .idx9 .idx9_list .item .en .num {
    font-size: 32px;
    margin-bottom: 10px;
  }
  .idx9 .idx9_list .item .ttl1 {
    font-size: 20px;
    margin: 1em 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx9 .idx9_list {
    gap: 5px;
  }
  .idx9 .idx9_list .item {
    width: calc(25% - 5px);
    margin-bottom: 5px;
    padding: 20px 20px;
  }
  .idx9 .idx9_list .item .en {
    top: 10px;
    right: 10px;
    font-size: 10px;
  }
  .idx9 .idx9_list .item .en .num {
    font-size: 32px;
    margin-bottom: 10px;
  }
  .idx9 .idx9_list .item .ttl1 {
    font-size: 18px;
    margin: 1em 0;
  }
  .idx9 .idx9_list .item .ttl1 .br425 {
    display: block !important;
  }
}

.idx10 {
  position: relative;
  padding: 91px 0 129px;
  z-index: 1;
}
.idx10 .idx10_h3 {
  display: flex;
  align-items: flex-end;
}
.idx10 .idx10_h3::before {
  content: "";
  display: block;
  background: url(../images/idx10_h3.png) no-repeat center/contain;
  width: 12.8em;
  height: 22.2em;
  font-size: 10px;
}
.idx10 .idx10_en {
  display: flex;
  font-size: 10px;
  top: 23.6em;
  position: absolute;
  z-index: -1;
}
.idx10 .idx10_en p {
  white-space: nowrap;
  line-height: 1;
  margin: 0;
  color: rgba(95, 95, 95, 0.1);
  font-size: 26em;
  font-family: var(--f-en);
  animation: 30s loop 0s linear infinite;
  margin-right: 40px;
}
.idx10 .wrap_h3 {
  padding-left: 20px;
  margin-bottom: -1px;
}
.idx10 .wrap_h3 h3 {
  line-height: 1.3333333333;
}
.idx10 .wrap_h3 h3::after {
  display: none;
}
.idx10 .wrap_h3 .h_en {
  font-size: 24px;
  margin-top: 12px;
}
.idx10 .idx10_list {
  margin-top: -181px;
  counter-reset: count;
}
.idx10 .idx10_list .item {
  max-width: 580px;
  width: 46%;
}
.idx10 .idx10_list .item .img {
  position: relative;
}
.idx10 .idx10_list .item .img::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  width: 1px;
  height: 100px;
  background-color: #a08945;
  bottom: -24px;
  left: 20px;
}
.idx10 .idx10_list .item .img img {
  box-shadow: 0px 20px 26.7px 3.3px rgba(0, 0, 0, 0.05);
}
.idx10 .idx10_list .item .txt {
  padding: 35px 0;
}
.idx10 .idx10_list .item .ttl1 {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.5833333333;
  color: #333333;
  display: flex;
  margin-bottom: 17px;
}
.idx10 .idx10_list .item .ttl1::before {
  content: counter(count, decimal-leading-zero);
  counter-increment: count;
  display: block;
  font-size: 1.6667em;
  letter-spacing: 0.1em;
  font-weight: 400;
  color: #333333;
  line-height: 1;
  margin-right: 0.35em;
  white-space: nowrap;
}
.idx10 .idx10_list .item .ttl2 {
  font-size: 18px;
  line-height: 2.1111111111;
}
@media only screen and (min-width: 769px) {
  .idx10 .idx10_list .item .ttl2 {
    padding-left: 65px;
  }
  .idx10 .idx10_list .item .content {
    display: table;
    max-width: 360px;
    width: 75%;
  }
  .idx10 .idx10_list .item1 {
    order: 2;
  }
  .idx10 .idx10_list .item1 .ttl2 {
    padding-left: 0;
  }
  .idx10 .idx10_list .item1 .content {
    margin-right: auto;
  }
  .idx10 .idx10_list .item2 {
    order: 1;
    margin-top: 296px;
  }
  .idx10 .idx10_list .item3 {
    order: 4;
    margin-top: -106px;
  }
  .idx10 .idx10_list .item4 {
    order: 3;
    margin-top: 36px;
    display: flex;
    align-items: flex-end;
    flex-direction: column;
  }
  .idx10 .idx10_list .item4 .content {
    margin-left: auto;
  }
  .idx10 .idx10_list .item4 .txt .ttl1 {
    letter-spacing: 0;
  }
  .idx10 .idx10_list .item4 .txt .ttl2 {
    padding-left: 0;
  }
  .idx10 .idx10_list .item5 {
    order: 6;
    margin-top: -186px;
  }
  .idx10 .idx10_list .item5 .ttl2 {
    width: 101%;
  }
  .idx10 .idx10_list .item6 {
    order: 5;
    margin-top: 36px;
  }
}
.idx10 .btn-group {
  display: flex;
  justify-content: flex-end;
  margin-top: -113px;
}
.idx10 .btn-group .btn {
  max-width: 340px;
}
.idx10 .btn-group .btn a {
  padding-left: 0.3em;
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx10 {
    padding: 80px 0;
  }
  .idx10 .idx10_en {
    font-size: 8px;
  }
  .idx10 .idx10_list .item .ttl1 {
    font-size: 20px;
    letter-spacing: 0;
  }
  .idx10 .idx10_list .item .ttl1::before {
    position: relative;
    top: -2px;
  }
  .idx10 .idx10_list .item .ttl2 {
    letter-spacing: 0;
    font-size: 16px;
  }
}

@keyframes loop {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}

@media only screen and (min-width: 769px) {
	.idx7 .right {
		    justify-content: center;
    gap: 30px;
	}
	
}
.idx3 .idx_contact .idx_box_tel {
		width: 100% !important;
	}