@charset "UTF-8";
/* =============================================
  variables
============================================= */
:root {
  --main-color-01: #282828;
}

/*===========================================
  vw 計算のための処理 Function
===========================================*/
/*=====================================
  base_base
=====================================*/
.l-container {
  margin-inline: auto;
  width: 100%;
  /* min-width: 1140px; */
  overflow: clip;
}

#feature * {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  font-weight: 400;
  color: #000;
}
#feature *:focus {
  outline: none;
}
#feature a {
  display: block;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  text-decoration: none;
}
#feature a:hover {
  opacity: 0.7;
  cursor: pointer;
}
#feature li {
  list-style: none;
}
#feature img {
  max-width: 100%;
  width: 100%;
}
#feature a {
  display: block;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  text-decoration: none;
}
#feature a:hover {
  opacity: 0.7;
  cursor: pointer;
}
#feature p {
  margin: initial;
}
#feature [class*=img_] {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  background-color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#feature .pc-none {
  display: none !important;
}
#feature .sp-none {
  display: block !important;
}

/*=====================================
  base_fonts
=====================================*/
/*=====================================
  component_common
=====================================*/
#feature {
  max-width: initial;
}
#feature [class*=inner_box] {
  position: relative;
}
#feature .wrap_credit {
  position: absolute;
  left: 0;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#feature .wrap_credit .credit {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: min(28px, 0.95989vw);
}
#feature .wrap_credit .credit .item * {
  font-family: "nimbus-sans", sans-serif;
  font-size: min(25px, 0.85704vw);
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 2.16;
  letter-spacing: min(0.13px, 0.00446vw);
  text-align: center;
  text-decoration: underline;
  color: #000;
}
#feature .swiper {
  width: 100%;
}
#feature .c-headline {
  overflow: hidden;
  width: min(2140px, 73.36304vw);
  margin-inline: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-inline: min(2px, 0.06856vw);
  font-family: "trajan-pro-3", serif;
  font-size: min(52px, 1.78265vw);
  font-weight: 400;
  font-stretch: normal;
  font-style: normal;
  line-height: 2.04;
  letter-spacing: min(3.12px, 0.10696vw);
  color: #000;
  text-wrap: nowrap;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
#feature .c-headline .c-headline_decoration {
  margin-inline: min(30px, 1.02845vw);
  width: 0%;
  height: 1px;
  background-color: #3f3f3f;
}
#feature .c-headline .c-headline_decoration.--text-left {
  padding-left: min(100px, 3.42818vw);
}
#feature .c-headline.--right-flow {
  overflow: initial;
}
#feature .c-headline.--right-flow .c-headline_decoration {
  margin-right: calc(50% - 50vw);
}
/*=====================================
modules_animation
=====================================*/
#feature .js-fade {
  opacity: 0;
  -webkit-transition: opacity 1600ms, -webkit-transform 1600ms;
  transition: opacity 1600ms, -webkit-transform 1600ms;
  transition: opacity 1600ms, transform 1600ms;
  transition: opacity 1600ms, transform 1600ms, -webkit-transform 1600ms;
}
#feature .is-active {
  opacity: 1;
  -webkit-transform: translate(0rem);
          transform: translate(0rem);
}

#feature .sec-01 .c-headline .c-headline_decoration.is-active {
  -webkit-animation: 1s ease-in-out 1s forwards border01;
          animation: 1s ease-in-out 1s forwards border01;
}
#feature .sec-02 .c-headline {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: end;
      -ms-flex-pack: end;
          justify-content: end;
}
#feature .sec-02 .c-headline .c-headline_decoration.is-active {
  -webkit-animation: 1s ease-in-out 1s forwards border01;
          animation: 1s ease-in-out 1s forwards border01;
}
#feature .sec-03 .c-headline .c-headline_decoration.is-active {
  -webkit-animation: 1s ease-in-out 1s forwards border01;
          animation: 1s ease-in-out 1s forwards border01;
}
@-webkit-keyframes border01 {
  0% {
    width: 0;
  }
  100% {
    width: 100vw;
  }
}
@keyframes border01 {
  0% {
    width: 0;
  }
  100% {
    width: 100vw;
  }
}

/*=====================================
modules_js
=====================================*/

@media screen and (max-width: 750px) {
  #feature a:hover {
    opacity: initial;
    cursor: pointer;
  }
  #feature .pc-none {
    display: block !important;
  }
  #feature .sp-none {
    display: none !important;
  }
  #feature .wrap_credit .credit {
    gap: min(60px, 3.83632vw);
  }
  #feature .wrap_credit .credit .item * {
    font-size: min(50px, 3.19693vw);
    line-height: 1.08;
    letter-spacing: min(0.25px, 0.01598vw);
  }
  #feature .c-headline {
    width: min(1564px, 100vw);
    margin-inline: auto;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding-left: min(157px, 10.03836vw);
    font-family: "trajan-pro-3", serif;
    font-size: min(79px, 5.05115vw);
    font-weight: 400;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.92;
    letter-spacing: min(4.74px, 0.30307vw);
    text-align: left;
    color: #000;
    text-wrap: nowrap;
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #feature .c-headline .c-headline_decoration {
    margin-inline: min(20px, 1.27877vw);
  }
}
/*# sourceMappingURL=common.css.map */