@import url("https://use.typekit.net/oxq6loq.css");
@import url("https://use.typekit.net/ejx2skt.css");
html {
  font-size: 10px;
}

.l-container {
  width: 100%;
}

.l-container #feature {
  color: #000;
  margin: 0 auto;
  min-width: 96rem;
  width: 100%;
  text-align: center;
  overflow: hidden;
}
.l-container #feature img {
  image-rendering: -webkit-optimize-contrast;
  image-rendering: -moz-crisp-edges;
}
.l-container #feature .default-img {
  width: 100%;
  height: auto;
  display: block;
}
.l-container #feature * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.l-container #feature *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.l-container #feature *::before {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.l-container #feature a {
  display: block;
  text-decoration: none;
  position: relative;
}
.l-container #feature a::after {
  content: "";
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.6);
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.l-container #feature a:hover {
  cursor: pointer;
}
.l-container #feature a:hover::after {
  opacity: 1;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.l-container #feature .main {
  margin: 0 auto;
}

/* ------- credit ------- */
.l-container #feature .creditContainer {
  margin-top: 2.7rem;
  font: normal 400 1.4rem/1.8rem "utile-display", sans-serif;
  letter-spacing: -0.01em;
  color: #9B9B9B;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
}
.l-container #feature .creditContainer * {
  color: #9B9B9B;
}
.l-container #feature .creditContainer .credit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 15px;
}
.l-container #feature .creditContainer li {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: left;
}
.l-container #feature .creditContainer li a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  text-decoration: none;
}
.l-container #feature .creditContainer li a:hover {
  opacity: 0.6;
  cursor: pointer;
  text-decoration: none;
}
.l-container #feature .creditContainer .price {
  margin-left: 0.25rem;
}

/* ------- hero ------- */
.l-container #feature .hero {
  margin: 0 auto 10rem;
  width: 100%;
  position: relative;
}
.l-container #feature .hero__inner {
  width: 96rem;
  margin: 0 auto 0;
}
.l-container #feature .hero__img {
  margin: 0 auto 0;
}
.l-container #feature .hero__text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 9.4rem auto 0;
  position: relative;
  font: normal 400 1.6rem/3rem "seiwa-do-l", sans-serif;
  letter-spacing: 0.1em;
  color: #000;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
}

/* ------- container ------- */
.l-container #feature .container {
  width: 100%;
  margin: 0 auto;
  position: relative;
}
.l-container #feature .container::before {
  content: "";
  width: 100%;
  height: 0.2rem;
  background-color: #EFDCDC;
  position: absolute;
  top: 20.1rem;
  left: 0;
  z-index: -1;
}
.l-container #feature .container__inner {
  width: 96rem;
  margin: 0 auto;
  position: relative;
}
.l-container #feature .container .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.l-container #feature .container .deco-circle {
  width: 11rem;
  -webkit-animation: anim_rotate 40s linear infinite;
          animation: anim_rotate 40s linear infinite;
}
@-webkit-keyframes anim_rotate {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes anim_rotate {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.l-container #feature .container__fig--img, .l-container #feature .container .deco-num, .l-container #feature .container .deco-txt, .l-container #feature .container .deco-circle {
  position: relative;
  z-index: 0;
}
.l-container #feature .container .deco-num, .l-container #feature .container .deco-txt, .l-container #feature .container .deco-circle {
  z-index: 10;
}

/* ------- container01 ------- */
.l-container #feature .container01 {
  width: 100%;
  margin-bottom: 20.6rem;
}
.l-container #feature .container01__fig01--img {
  width: 31rem;
  margin: -3.7rem 0 0 8.7rem;
}
.l-container #feature .container01__fig02--img {
  width: 38rem;
  margin: -1rem 0 0 9rem;
}
.l-container #feature .container01__fig03 {
  position: relative;
  z-index: 10;
  margin: -39.9rem 0 0 43.2rem;
}
.l-container #feature .container01__fig03--img {
  width: 28rem;
  margin: -5.5rem 0 0 0;
}
.l-container #feature .container01 .deco-num {
  width: 13.6rem;
  margin: 0.2rem 0 0 4.6rem;
}
.l-container #feature .container01 .deco-txt {
  width: 34.9rem;
  margin: 31.1rem 0 0 9.3rem;
}
.l-container #feature .container01 .deco-circle {
  margin: 5.5rem 0 0 22.4rem;
}
.l-container #feature .container01__fig02 .creditContainer {
  width: 26.8rem;
  margin: 1.3rem 0 0 9rem;
}
.l-container #feature .container01__fig02 .creditContainer .credit {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

/* ------- container02 ------- */
.l-container #feature .container02 {
  width: 100%;
  margin-bottom: 20.4rem;
}
.l-container #feature .container02__fig04--img {
  width: 46rem;
  margin: -3rem auto 0;
}
.l-container #feature .container02__fig05--img {
  width: 43rem;
  margin: 10rem 0 0 1.1rem;
}
.l-container #feature .container02__fig06 {
  position: relative;
  margin: 21.9rem 0 0 9.5rem;
}
.l-container #feature .container02__fig06::before {
  content: "";
  position: absolute;
  top: 16.8rem;
  left: 12.7rem;
  width: 30rem;
  height: 47.6rem;
  background: url(../img/img_6_bg.jpg) no-repeat;
}
.l-container #feature .container02__fig06--img {
  width: 30rem;
  margin: 21.6rem 0 0 0;
}
.l-container #feature .container02 .deco-num {
  width: 14.4rem;
  margin: 0 auto;
}
.l-container #feature .container02 .deco-txt {
  width: 33.6rem;
  margin: 0 0 0 2.9rem;
}
.l-container #feature .container02__fig05 .creditContainer {
  width: 26.3rem;
  margin: 1.5rem 0 0 9rem;
}
.l-container #feature .container02__fig05 .creditContainer .credit {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/* ------- container03 ------- */
.l-container #feature .container03 {
  width: 100%;
  margin-bottom: 22.4rem;
}
.l-container #feature .container03::before {
  top: 21.1rem;
}
.l-container #feature .container03__fig07--img {
  width: 40rem;
  margin: -2.8rem 0 0 13.6rem;
}
.l-container #feature .container03__fig08 {
  position: relative;
  z-index: 0;
  margin: 8rem 0 0 -2.3rem;
}
.l-container #feature .container03__fig08--img {
  width: 48rem;
  position: absolute;
  top: 0;
  left: 0;
}
.l-container #feature .container03__fig09 {
  position: relative;
  z-index: 10;
}
.l-container #feature .container03__fig09--img {
  width: 31rem;
  margin: -5.5rem 0 0 11.9rem;
}
.l-container #feature .container03 .deco-num {
  width: 12.4rem;
  margin: 0 0 0 46.4rem;
}
.l-container #feature .container03 .deco-txt {
  width: 31.8rem;
  position: absolute;
  top: 23.4rem;
  left: -30.2rem;
  z-index: 10;
}
.l-container #feature .container03 .deco-circle {
  margin: 49.2rem 0 0 6.3rem;
}
.l-container #feature .container03__fig08 .creditContainer {
  width: 26.3rem;
  position: absolute;
  bottom: 12.1rem;
  left: 12rem;
}
.l-container #feature .container03__fig08 .creditContainer .credit {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/* ------- container04 ------- */
.l-container #feature .container04 {
  width: 100%;
  margin-bottom: 20.2rem;
}
.l-container #feature .container04::before {
  top: 20.5rem;
}
.l-container #feature .container04__fig10--img {
  width: 36rem;
  margin: -2.7rem auto 0;
}
.l-container #feature .container04__fig11 {
  margin: 0 0 0 0;
}
.l-container #feature .container04__fig11--img {
  width: 42rem;
  margin: -0.9rem 0 0 5.4rem;
  position: relative;
  z-index: 0;
}
.l-container #feature .container04__fig12 {
  margin: 0 0 0 0;
}
.l-container #feature .container04__fig12--img {
  width: 42rem;
  margin: 10.1rem 0 0 1rem;
  position: relative;
  z-index: 0;
}
.l-container #feature .container04 .deco-num {
  width: 14.4rem;
  margin: 0 auto;
}
.l-container #feature .container04 .deco-txt01 {
  width: 31.9rem;
  margin: -1rem 0 0 5rem;
  position: relative;
  z-index: 10;
}
.l-container #feature .container04 .deco-txt02 {
  width: 20.9rem;
  margin: -1rem 0 0 23.7rem;
  position: relative;
  z-index: 10;
}
.l-container #feature .container04 .creditContainer {
  width: 26.5rem;
  margin: -2rem auto 0;
}
.l-container #feature .container04 .creditContainer .credit {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/* ------- container05 ------- */
.l-container #feature .container05 {
  width: 100%;
  margin-bottom: 20.1rem;
}
.l-container #feature .container05::before {
  top: 20rem;
}
.l-container #feature .container05__fig13--img {
  width: 38rem;
  margin: -4rem 0 0 50.3rem;
}
.l-container #feature .container05__fig14--img {
  width: 42rem;
  margin: 9.8rem 0 0 6rem;
}
.l-container #feature .container05__fig15 {
  margin: 29rem 0 0 0;
  position: relative;
}
.l-container #feature .container05__fig15::before {
  content: "";
  position: absolute;
  top: 7rem;
  left: 21.9rem;
  width: 19.6rem;
  height: 43.2rem;
  background: url(../img/img_15_bg.jpg) no-repeat;
}
.l-container #feature .container05__fig15--img {
  width: 30rem;
  margin: -5.3rem 0 0 1.7rem;
}
.l-container #feature .container05 .deco-num {
  width: 13.6rem;
  margin: 0.2rem 0 0 47.6rem;
}
.l-container #feature .container05 .deco-txt {
  width: 31.7rem;
  margin: -17.6rem 0 0 20.6rem;
}
.l-container #feature .container05 .deco-circle {
  margin: 10.8rem 0 0 26rem;
}
.l-container #feature .container05__fig14 .creditContainer {
  width: 26.3rem;
  margin: 1.5rem 0 0 14rem;
}
.l-container #feature .container05__fig14 .creditContainer .credit {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/* ------- container06 ------- */
.l-container #feature .container06 {
  width: 100%;
  margin-bottom: 20.1rem;
}
.l-container #feature .container06::before {
  content: none;
}
.l-container #feature .container06 .btn {
  width: 31.3rem;
  margin: 5.4rem auto 9.3rem;
}
.l-container #feature .container06 .staff {
  margin: 0 auto 0;
  font: normal 400 1.4rem/2rem "linotype-didot-headline", serif;
  letter-spacing: 0.05em;
  color: #9B9B9B;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
  text-align: center;
}

/* ------- animation ------- */
.l-container #feature .js_anime.fadeUp {
  opacity: 0;
  -webkit-transform: translateY(5%);
          transform: translateY(5%);
  -webkit-transition: all 1.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: all 1.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.l-container #feature .js_anime.fadeUp.is_show {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: all 1.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: all 1.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.l-container #feature .container.js_anime.is_line::before {
  opacity: 0;
}

.l-container #feature .container.js_anime.is_show.is_line::before {
  -webkit-animation-name: slideTextX-100;
          animation-name: slideTextX-100;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
  -webkit-animation-duration: 3.5s;
          animation-duration: 3.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes slideTextX-100 {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}

@keyframes slideTextX-100 {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}
.area-header {
  max-width: 100%;
}

.breadcrumbs {
  max-width: 100%;
}

.feature-snslist {
  overflow: hidden;
}

.l-footer,
.pc-footer {
  overflow: hidden;
}

.pic__accordion {
  display: none !important;
}

.pc-header {
  overflow: hidden;
}