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

/*===========================================
  vw 計算のための処理 Function
===========================================*/
/*=====================================
  device_style
=====================================*/
.l-container {
  margin-inline: auto;
  width: 100%;
  /* overflow: hidden; */
}

#feature .wrap_fv {
  padding-top: min(40px, 1.37127vw);
  padding-bottom: min(244px, 8.36476vw);
}
#feature .wrap_fv .fv .fv-box {
  padding-bottom: min(238px, 8.15907vw);
  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;
  gap: min(56px, 1.91978vw);
}
#feature .wrap_fv .fv .fv-box .box-img-01 {
  position: relative;
}
#feature .wrap_fv .fv .fv-box .box-img-01 .img-01_text {
  position: absolute;
  bottom: min(95px, 6.07417vw);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  font-size: min(58.5px, 3.74041vw);
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 0.89;
  letter-spacing: min(8.9px, 0.56905vw);
  text-align: center;
  color: #fff;
}
#feature .wrap_fv .fv .fv-box .box-img-02 {
  position: relative;
}
#feature .wrap_fv .fv .fv-box .box-img-02 .img-02_text {
  position: absolute;
  bottom: min(34px, 1.16558vw);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: min(38.5px, 1.31985vw);
  width: 100%;
  font-weight: 600;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.32;
  letter-spacing: min(6.3px, 0.21598vw);
  text-align: center;
}
#feature .wrap_fv .fv .fv-box .img_01 {
  width: min(1178px, 40.38396vw);
}
#feature .wrap_fv .fv .fv-box .img_02 {
  width: min(1042px, 35.72163vw);
}
#feature .wrap_fv .fv .fv-box .fv-box-catch {
  padding-top: min(64px, 2.19403vw);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(50px, 1.71409vw);
}
#feature .wrap_fv .fv .fv-box .fv-box-catch .catch-main {
  margin-inline: auto;
  padding-right: min(14px, 0.47995vw);
  max-width: min(758px, 25.9856vw);
}
#feature .wrap_fv .fv .fv-box .fv-box-catch .catch-sub {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-inline: auto;
  max-width: min(708px, 24.27151vw);
}
#feature .wrap_fv .fv .fv_text {
  padding-left: min(18px, 0.61707vw);
  font-size: min(29px, 0.99417vw);
  font-weight: 500;
  font-stretch: normal;
  font-style: normal;
  line-height: 2.16;
  letter-spacing: min(3.4px, 0.11656vw);
  text-align: center;
  color: #000;
}
#feature .sec-01 {
  position: relative;
  margin-bottom: min(530px, 18.16935vw);
  width: 100%;
  margin-inline: auto;
}
#feature .sec-01 .c-headline {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: min(334px, 11.45012vw);
}
#feature .sec-01 .wrap_box {
  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 .sec-01 .wrap_box.--01 {
  gap: min(115px, 3.94241vw);
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  padding-bottom: min(636px, 21.80322vw);
}
#feature .sec-01 .wrap_box.--02 {
  position: absolute;
  left: 50%;
  bottom: 0px;
  -webkit-transform: translate(-50%);
          transform: translate(-50%);
  margin-left: min(506px, 17.34659vw);
}
#feature .sec-01 .wrap_box .inner_box-01 {
  width: min(1124px, 38.53274vw);
}
#feature .sec-01 .wrap_box .inner_box-01 .text {
  padding-bottom: min(136px, 4.66232vw);
  font-size: min(27px, 0.92561vw);
  font-weight: 400;
  font-stretch: normal;
  font-style: normal;
  line-height: 2.08;
  letter-spacing: min(1.54px, 0.05279vw);
  text-align: justify;
  color: #000;
}
#feature .sec-01 .wrap_box .inner_box-02 {
  margin-top: min(923px, 31.6421vw);
}
#feature .sec-01 .wrap_box .img_03 {
  width: min(1126px, 38.6013vw);
}
#feature .sec-01 .wrap_box .img_04 {
  width: min(897px, 30.75077vw);
  margin-bottom: min(70px, 2.39973vw);
}
#feature .sec-01 .wrap_box .img_05 {
  margin-inline: auto;
  width: min(834px, 28.59102vw);
}
#feature .sec-02 {
  padding-bottom: min(3182px, 109.08468vw);
  width: min(2296px, 78.711vw);
  margin-inline: auto;
  padding-inline: min(82px, 2.81111vw);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
}
#feature .sec-02::before {
  position: absolute;
  z-index: -10;
  content: "";
  top: min(1304px, 44.70346vw);
  left: min(8px, 0.27425vw);
  width: 100%;
  height: min(626px, 21.4604vw);
  background-color: #c5cdc1;
}
#feature .sec-02 .c-headline {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: min(446px, 15.28968vw);
}
#feature .sec-02 .wrap_box {
  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 .sec-02 .wrap_box.--01 {
  margin-right: min(944px, 32.36202vw);
}
#feature .sec-02 .wrap_box.--02 {
  position: absolute;
  top: min(1005px, 34.45321vw);
}
#feature .sec-02 .wrap_box.--03 {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: min(2330px, 79.87659vw);
  margin-bottom: min(522px, 17.8951vw);
}
#feature .sec-02 .wrap_box.--03 a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: min(60px, 2.05691vw);
}
#feature .sec-02 .wrap_box.--04 {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: min(3686px, 126.3627vw);
  padding-left: min(16px, 0.54851vw);
}
#feature .sec-02 .inner_box-01 {
  width: min(1170px, 40.1097vw);
  z-index: 10;
}
#feature .sec-02 .inner_box-02 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: end;
      -ms-flex-align: end;
          align-items: end;
  gap: min(130px, 4.45663vw);
  width: 100%;
  padding-left: min(16px, 0.54851vw);
  padding-bottom: min(176px, 6.0336vw);
}
#feature .sec-02 .inner_box-02 .text {
  width: min(1160px, 39.76688vw);
  font-size: min(27px, 0.92561vw);
  font-weight: 400;
  font-stretch: normal;
  font-style: normal;
  line-height: 2.08;
  letter-spacing: min(1.54px, 0.05279vw);
  text-align: justify;
  color: #000;
}
#feature .sec-02 .inner_box-03 {
  padding-left: min(14px, 0.47995vw);
}
#feature .sec-02 .img_06 {
  margin-bottom: min(70px, 2.39973vw);
  width: min(1170px, 40.1097vw);
}
#feature .sec-02 .img_07 {
  width: min(834px, 28.59102vw);
}
#feature .sec-02 .img_08,
#feature .sec-02 .img_09 {
  width: min(668px, 22.90024vw);
}
#feature .sec-02 .img_10 {
  width: min(2292px, 78.57388vw);
}
#feature .sec-03 {
  padding-bottom: min(350px, 11.99863vw);
  width: min(2296px, 78.711vw);
  margin-inline: auto;
  padding-inline: min(82px, 2.81111vw);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#feature .sec-03 .c-headline {
  padding-bottom: min(94px, 3.22249vw);
}
#feature .sec-03 .wrap_box {
  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 .sec-03 .wrap_box.--01 {
  gap: min(116px, 3.97669vw);
}
#feature .sec-03 .inner_box-01 {
  padding-top: min(156px, 5.34796vw);
  width: min(855px, 29.31094vw);
}
#feature .sec-03 .inner_box-01 .text {
  width: min(855px, 29.31094vw);
  padding-bottom: min(174px, 5.96503vw);
  font-size: min(27px, 0.92561vw);
  font-weight: 400;
  font-stretch: normal;
  font-style: normal;
  line-height: 2.1;
  letter-spacing: min(1.54px, 0.05279vw);
  text-align: justify;
  color: #000;
}
#feature .sec-03 .img_11 {
  width: min(917px, 31.43641vw);
  margin-bottom: min(70px, 2.39973vw);
}
#feature .sec-03 .img_12 {
  width: min(855px, 29.31094vw);
}
#feature .wrap_foot {
  padding-bottom: min(100px, 3.42818vw);
}
#feature .wrap_foot .foot {
  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;
  margin-left: min(14px, 0.47995vw);
}
#feature .wrap_foot .foot .foot_link {
  padding-inline: min(8px, 0.27425vw);
  padding-bottom: min(4px, 0.13713vw);
  font-family: "nimbus-sans", sans-serif;
  font-size: min(38px, 1.30271vw);
  font-weight: 400;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: min(1.34px, 0.04594vw);
  color: #000;
  text-align: center;
  border-bottom: 1px solid;
}
@media screen and (max-width: 750px) {
  #feature .wrap_fv {
    padding-top: initial;
    padding-bottom: min(244px, 15.60102vw);
  }
  #feature .wrap_fv .fv .fv-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-bottom: min(184px, 11.76471vw);
  }
  #feature .wrap_fv .fv .fv-box .box-img-02 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  #feature .wrap_fv .fv .fv-box .img_01 {
    width: min(1564px, 100vw);
  }
  #feature .wrap_fv .fv .fv-box .img_02 {
    padding-left: min(28px, 1.79028vw);
    width: min(1280px, 81.84143vw);
    margin-inline: auto;
  }
  #feature .wrap_fv .fv .fv-box .fv-box-catch {
    padding-top: min(64px, 4.09207vw);
    padding-bottom: min(106px, 6.77749vw);
    gap: min(74px, 4.73146vw);
  }
  #feature .wrap_fv .fv .fv-box .fv-box-catch .catch-main {
    padding-right: min(20px, 1.27877vw);
    max-width: min(1111px, 71.03581vw);
  }
  #feature .wrap_fv .fv .fv-box .fv-box-catch .catch-sub {
    max-width: min(1058px, 67.64706vw);
  }
  #feature .wrap_fv .fv .fv_text {
    padding-left: min(40px, 2.55754vw);
    font-size: min(48px, 3.06905vw);
    font-weight: 600;
    font-stretch: normal;
    font-style: normal;
    line-height: 2.04;
    letter-spacing: min(1.8px, 0.11509vw);
    text-align: center;
    color: #000;
  }
  #feature .sec-01 {
    margin-bottom: min(418px, 26.72634vw);
  }
  #feature .sec-01 .c-headline {
    position: initial;
    left: initial;
    -webkit-transform: initial;
            transform: initial;
    padding-bottom: min(162px, 10.35806vw);
  }
  #feature .sec-01 .wrap_box.--01 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-bottom: min(220px, 14.0665vw);
  }
  #feature .sec-01 .wrap_box.--02 {
    position: initial;
    left: initial;
    -webkit-transform: initial;
            transform: initial;
    margin-left: min(0px, 0vw);
  }
  #feature .sec-01 .wrap_box .inner_box-01 {
    width: min(1564px, 100vw);
  }
  #feature .sec-01 .wrap_box .inner_box-01 .text {
    padding-bottom: min(200px, 12.78772vw);
    width: min(1254px, 80.17903vw);
    margin-inline: auto;
    font-size: min(46px, 2.94118vw);
    font-weight: 600;
    line-height: 1.95;
    letter-spacing: min(5px, 0.31969vw);
  }
  #feature .sec-01 .wrap_box .inner_box-02 {
    margin-top: min(150px, 9.59079vw);
  }
  #feature .sec-01 .wrap_box .img_03 {
    margin-left: auto;
    width: min(1355px, 86.63683vw);
  }
  #feature .sec-01 .wrap_box .img_04 {
    width: min(1251px, 79.98721vw);
    margin-bottom: min(86px, 5.49872vw);
  }
  #feature .sec-01 .wrap_box .img_05 {
    width: min(1210px, 77.36573vw);
  }
  #feature .sec-02 {
    padding-bottom: min(154px, 9.84655vw);
    padding-inline: initial;
    width: initial;
  }
  #feature .sec-02::before {
    top: min(2050px, 131.07417vw);
    left: initial;
    width: 100%;
    height: min(2709px, 173.20972vw);
  }
  #feature .sec-02 .c-headline {
    padding-left: initial;
    position: initial;
    left: initial;
    -webkit-transform: initial;
            transform: initial;
    padding-right: min(176px, 11.2532vw);
    padding-bottom: min(160px, 10.23018vw);
  }
  #feature .sec-02 .c-headline .c-headline_decoration {
    margin-inline: 0 min(40px, 2.55754vw);
  }
  #feature .sec-02 .wrap_box.--01 {
    margin-right: auto;
    -webkit-box-pack: start;
    -webkit-justify-content: start;
        -ms-flex-pack: start;
            justify-content: start;
    padding-bottom: min(240px, 15.34527vw);
  }
  #feature .sec-02 .wrap_box.--02 {
    position: initial;
    top: initial;
  }
  #feature .sec-02 .wrap_box.--03 {
    position: initial;
    -webkit-transform: initial;
            transform: initial;
  }
  #feature .sec-02 .wrap_box.--03 a {
    gap: min(45px, 2.87724vw);
  }
  #feature .sec-02 .wrap_box.--04 {
    position: initial;
  }
  #feature .sec-02 .inner_box-01 {
    width: min(1564px, 100vw);
  }
  #feature .sec-02 .inner_box-02 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: min(195px, 12.46803vw);
    padding-bottom: min(96px, 6.13811vw);
  }
  #feature .sec-02 .inner_box-02 .text {
    padding-bottom: min(86px, 5.49872vw);
    width: min(1254px, 80.17903vw);
    margin-inline: auto;
    font-size: min(46px, 2.94118vw);
    font-weight: 600;
    line-height: 1.95;
    letter-spacing: min(6.58px, 0.42072vw);
  }
  #feature .sec-02 .inner_box-03 {
    padding-left: initial;
  }
  #feature .sec-02 .img_06 {
    width: min(1355px, 86.63683vw);
    margin-bottom: min(86px, 5.49872vw);
  }
  #feature .sec-02 .img_07 {
    margin-right: min(20px, 1.27877vw);
    width: min(1147px, 73.3376vw);
  }
  #feature .sec-02 .img_08,
  #feature .sec-02 .img_09 {
    width: min(760px, 48.59335vw);
  }
  #feature .sec-03 {
    width: initial;
    padding-inline: initial;
    padding-bottom: min(416px, 26.59847vw);
  }
  #feature .sec-03 .c-headline {
    padding-bottom: min(162px, 10.35806vw);
  }
  #feature .sec-03 .wrap_box.--01-sp {
    padding-bottom: min(312px, 19.94885vw);
  }
  #feature .sec-03 .wrap_box.--01 {
    gap: initial;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    padding-left: initial;
  }
  #feature .sec-03 .inner_box-01 {
    width: initial;
    padding-inline: initial;
    padding-top: min(228px, 14.57801vw);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #feature .sec-03 .inner_box-01 .text {
    padding-bottom: min(186px, 11.89258vw);
    width: min(1254px, 80.17903vw);
    margin-inline: auto;
    font-size: min(46px, 2.94118vw);
    font-weight: 600;
    line-height: 1.95;
    letter-spacing: min(6.4px, 0.40921vw);
  }
  #feature .sec-03 .inner_box-02 .wrap_credit {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  #feature .sec-03 .img_10 {
    width: min(1564px, 100vw);
  }
  #feature .sec-03 .img_11 {
    margin-inline: auto;
    width: min(1251px, 79.98721vw);
    margin-bottom: min(86px, 5.49872vw);
  }
  #feature .sec-03 .img_12 {
    width: min(1147px, 73.3376vw);
    margin-left: min(44px, 2.8133vw);
  }
  #feature .wrap_foot {
    padding-bottom: min(414px, 26.47059vw);
  }
  #feature .wrap_foot .foot {
    margin-left: initial;
  }
  #feature .wrap_foot .foot .foot_link {
    margin-left: min(50px, 3.19693vw);
    border-top: 1px solid;
    padding-inline: min(4px, 0.25575vw);
    padding-block: min(2px, 0.12788vw);
    font-size: min(62.5px, 3.99616vw);
    letter-spacing: min(2.31px, 0.1477vw);
  }
}
/*# sourceMappingURL=style.css.map */