@charset "UTF-8";
/*=======================================
	breakpoint
=======================================*/
/*=======================================
	hover
=======================================*/
/*=======================================
	中央配置
=======================================*/
/*=======================================
	可変レスポンシブ
=======================================*/
/* PC */
/* TB */
/* SP */
/*=======================================
	ブラウザ別
=======================================*/
/* Safari */
/* Firefox */
/*-------------------------
- common

▼SYSTEM扉
- system_list

▼SYSTEM下層
- system_sub
- ttl
- slide_area
-------------------------*/
/*=======================================
　common
=======================================*/
#contents {
  margin-bottom: 200px;
}
@media screen and (max-width: 768px) {
  #contents {
    margin-bottom: 100px;
  }
}

.intro_sec {
  margin: 0 auto 120px;
  max-width: 1020px;
}
@media screen and (max-width: 768px) {
  .intro_sec {
    margin-bottom: 60px;
  }
}

.photo_sec .txt_jp04 {
  margin: 0 auto 120px;
}
@media screen and (max-width: 768px) {
  .photo_sec .txt_jp04 {
    margin-bottom: 60px;
  }
}

/* SYSTEM扉
--------------------------------------------------------- */
/*=======================================
　system_list
=======================================*/
.system_list .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px 0;
}
.system_list .inner .system {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 12.5vw;
  max-height: 200px;
  -webkit-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .system_list .inner .system {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 64.5333333333vw;
    max-height: inherit;
  }
  .system_list .inner .system .txt_area .cmn_btn01 span.txt::after {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: 0 50% 0;
            transform-origin: 0 50% 0;
  }
}
@media (min-width: 769px) and (hover: hover) and (pointer: fine) {
  .system_list .inner .system:hover {
    cursor: pointer;
    opacity: 1;
  }
  .system_list .inner .system:hover .txt_area .cmn_btn01 span.txt::after {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: 0 50% 0;
            transform-origin: 0 50% 0;
  }
}
@media (min-width: 769px) and (-ms-high-contrast: none), (min-width: 769px) and (-ms-high-contrast: active) {
  .system_list .inner .system:hover {
    cursor: pointer;
    opacity: 1;
  }
  .system_list .inner .system:hover .txt_area .cmn_btn01 span.txt::after {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: 0 50% 0;
            transform-origin: 0 50% 0;
  }
}
.system_list .inner .system .txt_area {
  width: 35.71%;
  background: #efefef;
  padding: 4.375vw 3.125vw;
  -webkit-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;
  position: relative;
  height: 31.25vw;
  max-height: 500px;
}
@media only screen and (min-width: 1600px) {
  .system_list .inner .system .txt_area {
    padding: 70px 50px;
  }
}
@media screen and (max-width: 768px) {
  .system_list .inner .system .txt_area {
    width: 100%;
    height: 32.2666666667vw;
    max-height: inherit;
    padding: 0 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.system_list .inner .system .txt_area .cmn_ttl02 {
  font-size: clamp(10px, 1.5vw, 24px);
  color: #1c1c1c;
  margin-bottom: 1.5625vw;
}
@media only screen and (min-width: 1600px) {
  .system_list .inner .system .txt_area .cmn_ttl02 {
    margin-bottom: 25px;
  }
}
@media screen and (max-width: 768px) {
  .system_list .inner .system .txt_area .cmn_ttl02 {
    font-size: clamp(10px, 5.8666666667vw, 22px);
    margin-bottom: 0.8vw;
  }
}
.system_list .inner .system .txt_area .cmn_btn01 span.txt {
  font-size: clamp(10px, 1.0625vw, 17px);
  padding: 0 2.01125vw 0 0;
}
@media only screen and (min-width: 1600px) {
  .system_list .inner .system .txt_area .cmn_btn01 span.txt {
    padding: 0 32.18px 0 0;
  }
}
@media screen and (max-width: 768px) {
  .system_list .inner .system .txt_area .cmn_btn01 span.txt {
    font-size: clamp(10px, 4.5333333333vw, 17px);
    padding-right: 6.688vw;
  }
}
.system_list .inner .system .txt_area .cmn_btn01 span.txt::before {
  width: 1.07375vw;
  height: 1.1275vw;
}
@media only screen and (min-width: 1600px) {
  .system_list .inner .system .txt_area .cmn_btn01 span.txt::before {
    width: 17.18px;
    height: 18.04px;
  }
}
@media screen and (max-width: 768px) {
  .system_list .inner .system .txt_area .cmn_btn01 span.txt::before {
    width: 3.488vw;
    max-width: 13.08px;
    height: 3.6506666667vw;
    max-height: 13.69px;
  }
}
.system_list .inner .system .txt_area .num {
  position: absolute;
  right: 4.3125vw;
  bottom: 4.3125vw;
  width: 6vw;
  max-width: 96px;
  height: 5.4375vw;
  max-height: 87px;
}
@media only screen and (min-width: 1600px) {
  .system_list .inner .system .txt_area .num {
    right: 69px;
    bottom: 69px;
  }
}
@media screen and (max-width: 768px) {
  .system_list .inner .system .txt_area .num {
    width: 17.0666666667vw;
    max-width: 64px;
    height: 17.3333333333vw;
    max-height: 65px;
    -webkit-transition: all 1s ease-in-out;
    transition: all 1s ease-in-out;
    right: 4vw;
    bottom: -60%;
  }
}
.system_list .inner .system .txt_area .num::after {
  content: "";
  width: 5.625vw;
  max-width: 90px;
  height: 1px;
  display: inline-block;
  background: #CECECE;
  position: absolute;
  left: 1.575vw;
  bottom: 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
}
@media screen and (max-width: 768px) {
  .system_list .inner .system .txt_area .num::after {
    width: 14.9333333333vw;
    max-width: 56px;
    left: 1.8229166667vw;
    bottom: 0.78125vw;
  }
}
@media screen and (max-width: 640px) {
  .system_list .inner .system .txt_area .num::after {
    left: 3.7333333333vw;
    bottom: 1.6vw;
  }
}
.system_list .inner .system .txt_area .num span {
  font-family: "Outfit", sans-serif;
  color: #1c1c1c;
  position: absolute;
}
.system_list .inner .system .txt_area .num span:nth-child(1) {
  font-size: clamp(10px, 2.5vw, 40px);
  line-height: 1.075;
  top: 0;
  left: 0;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .system_list .inner .system .txt_area .num span:nth-child(1) {
    font-size: clamp(10px, 7.4666666667vw, 28px);
  }
}
.system_list .inner .system .txt_area .num span:nth-child(2) {
  font-size: clamp(10px, 1.25vw, 20px);
  line-height: 1.2;
  bottom: 0;
  right: 0;
}
@media screen and (max-width: 768px) {
  .system_list .inner .system .txt_area .num span:nth-child(2) {
    font-size: clamp(10px, 4.8vw, 18px);
  }
}
.system_list .inner .system .img_area {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .system_list .inner .system .img_area {
    height: 32.2666666667vw;
    max-height: inherit;
  }
}
.system_list .inner .system .img_area::after {
  content: "";
  width: 100%;
  height: 100%;
  display: inline-block;
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  left: 0;
  top: 0;
  visibility: visible;
  opacity: 1;
  -webkit-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;
}
.system_list .inner .system .img_area img {
  -webkit-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;
  -webkit-transform: translateY(-25%);
          transform: translateY(-25%);
}
.system_list .inner .system.open {
  height: 31.25vw;
  max-height: 500px;
}
@media screen and (max-width: 768px) {
  .system_list .inner .system.open {
    height: 135.4666666667vw;
    max-height: inherit;
  }
}
.system_list .inner .system.open .txt_area {
  background: #fff;
}
@media screen and (max-width: 768px) {
  .system_list .inner .system.open .txt_area {
    height: 67.7333333333vw;
    max-height: inherit;
  }
}
@media screen and (max-width: 768px) {
  .system_list .inner .system.open .txt_area .num {
    bottom: 6.4vw;
  }
}
.system_list .inner .system.open .img_area::after {
  visibility: hidden;
  opacity: 0;
}
@media screen and (max-width: 768px) {
  .system_list .inner .system.open .img_area::after {
    height: 67.7333333333vw;
    max-height: inherit;
  }
}
.system_list .inner .system.open .img_area img {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* SYSTEM下層
--------------------------------------------------------- */
.main_wrap .inner {
  gap: 0 2em;
}
@media screen and (max-width: 768px) {
  .main_wrap .inner {
    gap: 40px 0;
  }
}
@media screen and (max-width: 768px) {
  .main_wrap .inner .side_nav {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .main_wrap .inner .side_nav ul {
    gap: 6.92%;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
@media screen and (max-width: 640px) {
  .main_wrap .inner .side_nav ul li {
    width: 43.23%;
  }
}
@media screen and (max-width: 768px) {
  .main_wrap .inner .side_nav ul li a {
    height: 100%;
  }
}
@media screen and (max-width: 768px) {
  .main_wrap .inner .side_nav ul li a::after {
    content: "";
    background: url("../img/common/arrow_next.svg") no-repeat;
    background-size: cover;
    position: absolute;
    top: 0.75em;
    right: 0;
    width: 4px;
    height: 8px;
  }
}
.main_wrap .inner .main_contents {
  max-width: 1200px;
  width: 85.71%;
}
@media screen and (max-width: 768px) {
  .main_wrap .inner .main_contents {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .main_wrap .inner .main_contents .photo_sec .img:nth-child(1 of .img).fade-in {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
  }
}
@media screen and (max-width: 768px) {
  .main_wrap .inner .main_contents .photo_sec .img .cmn_ttl03.fade-in {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
  }
}

/*=======================================
　system_sub
=======================================*/
#contents.system_sub {
  margin-bottom: 0;
}

/*=======================================
　ttl
=======================================*/
.cmn_ttl03 {
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .cmn_ttl03 {
    margin-bottom: 10px;
    font-size: 22px;
  }
}

/*=======================================
　slide_area
=======================================*/
.slide_area {
  background: #303030;
  width: 100%;
  height: 100dvh;
}
.slide_area .splide {
  position: relative;
}
.slide_area .splide .splide__track .splide__list .splide__slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
  height: 100dvh;
}
@media screen and (max-width: 768px) {
  .slide_area .splide .splide__track .splide__list .splide__slide {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.slide_area .splide .splide__track .splide__list .splide__slide img {
  width: auto;
  max-width: inherit;
  height: 100dvh;
}
@media screen and (max-width: 768px) {
  .slide_area .splide .splide__track .splide__list .splide__slide img {
    width: 100%;
    height: auto;
  }
}
.slide_area .splide .splide-controller_wrap {
  width: 88.680625%;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 39px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 53px;
}
@media screen and (max-width: 768px) {
  .slide_area .splide .splide-controller_wrap {
    -ms-flex-flow: wrap;
        flex-flow: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 20px 0;
    bottom: 22px;
  }
}
@media screen and (max-width: 768px) {
  .slide_area .splide .splide-controller_wrap .back_btn {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: 1;
  }
}
.slide_area .splide .splide-controller_wrap .back_btn a {
  font-weight: 500;
  font-size: 15px;
  line-height: 1.866;
  color: #fff;
  padding: 0 33px 0 39.9px;
  position: relative;
}
.slide_area .splide .splide-controller_wrap .back_btn a::before {
  content: "";
  background: url("../img/common/arrow02.svg") no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  top: 45%;
  left: 0;
  width: 31px;
  height: 7px;
  -webkit-filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(19deg) brightness(103%) contrast(101%);
          filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(19deg) brightness(103%) contrast(101%);
}
.slide_area .splide .splide-controller_wrap .splide-controller {
  width: 89.89px;
  height: 16px;
}
@media screen and (max-width: 768px) {
  .slide_area .splide .splide-controller_wrap .splide-controller {
    width: 100%;
  }
}
.slide_area .splide .splide-controller_wrap .carousel-progress {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  background: #A2A2A2;
}
@media screen and (max-width: 768px) {
  .slide_area .splide .splide-controller_wrap .carousel-progress {
    display: none;
  }
}
.slide_area .splide .splide-controller_wrap .carousel-progress .carousel-progress-bar {
  background: #fff;
}
.slide_area .splide__arrow::before {
  -webkit-filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(19deg) brightness(103%) contrast(101%);
          filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(19deg) brightness(103%) contrast(101%);
}/*# sourceMappingURL=system.css.map */