@charset "UTF-8";
/* CSS Document */
/*----------------------------------------------------------------------
/////■■ utility ■■/////
----------------------------------------------------------------------*/
/*-------- margin --------*/
.u-mt10 {
  margin-top: 10px;
}
@media screen and (max-width: 999px) {
  .u-mt10 {
    margin-top: 1vw;
  }
}
@media screen and (max-width: 767px) {
  .u-mt10 {
    margin-top: 1.25vw;
  }
}

.u-mt20 {
  margin-top: 20px;
}
@media screen and (max-width: 999px) {
  .u-mt20 {
    margin-top: 2vw;
  }
}
@media screen and (max-width: 767px) {
  .u-mt20 {
    margin-top: 2.5vw;
  }
}

.u-mt30 {
  margin-top: 30px;
}
@media screen and (max-width: 999px) {
  .u-mt30 {
    margin-top: 3vw;
  }
}
@media screen and (max-width: 767px) {
  .u-mt30 {
    margin-top: 3.75vw;
  }
}

.u-mt40 {
  margin-top: 40px;
}
@media screen and (max-width: 999px) {
  .u-mt40 {
    margin-top: 4vw;
  }
}
@media screen and (max-width: 767px) {
  .u-mt40 {
    margin-top: 5vw;
  }
}

.u-mt50 {
  margin-top: 50px;
}
@media screen and (max-width: 999px) {
  .u-mt50 {
    margin-top: 5vw;
  }
}
@media screen and (max-width: 767px) {
  .u-mt50 {
    margin-top: 6.25vw;
  }
}

.u-mt60 {
  margin-top: 60px;
}
@media screen and (max-width: 999px) {
  .u-mt60 {
    margin-top: 6vw;
  }
}
@media screen and (max-width: 767px) {
  .u-mt60 {
    margin-top: 7.5vw;
  }
}

.u-mt70 {
  margin-top: 70px;
}
@media screen and (max-width: 999px) {
  .u-mt70 {
    margin-top: 7vw;
  }
}
@media screen and (max-width: 767px) {
  .u-mt70 {
    margin-top: 8.75vw;
  }
}

.u-mt80 {
  margin-top: 80px;
}
@media screen and (max-width: 999px) {
  .u-mt80 {
    margin-top: 8vw;
  }
}
@media screen and (max-width: 767px) {
  .u-mt80 {
    margin-top: 10vw;
  }
}

.u-mt90 {
  margin-top: 90px;
}
@media screen and (max-width: 999px) {
  .u-mt90 {
    margin-top: 9vw;
  }
}
@media screen and (max-width: 767px) {
  .u-mt90 {
    margin-top: 11.25vw;
  }
}

.u-mt100 {
  margin-top: 100px;
}
@media screen and (max-width: 999px) {
  .u-mt100 {
    margin-top: 10vw;
  }
}
@media screen and (max-width: 767px) {
  .u-mt100 {
    margin-top: 12.5vw;
  }
}

.u-mt110 {
  margin-top: 110px;
}
@media screen and (max-width: 999px) {
  .u-mt110 {
    margin-top: 11vw;
  }
}
@media screen and (max-width: 767px) {
  .u-mt110 {
    margin-top: 13.75vw;
  }
}

.u-mt120 {
  margin-top: 120px;
}
@media screen and (max-width: 999px) {
  .u-mt120 {
    margin-top: 12vw;
  }
}
@media screen and (max-width: 767px) {
  .u-mt120 {
    margin-top: 15vw;
  }
}

.u-mt130 {
  margin-top: 130px;
}
@media screen and (max-width: 999px) {
  .u-mt130 {
    margin-top: 13vw;
  }
}
@media screen and (max-width: 767px) {
  .u-mt130 {
    margin-top: 16.25vw;
  }
}

.u-mt140 {
  margin-top: 140px;
}
@media screen and (max-width: 999px) {
  .u-mt140 {
    margin-top: 14vw;
  }
}
@media screen and (max-width: 767px) {
  .u-mt140 {
    margin-top: 17.5vw;
  }
}

.u-mt150 {
  margin-top: 150px;
}
@media screen and (max-width: 999px) {
  .u-mt150 {
    margin-top: 15vw;
  }
}
@media screen and (max-width: 767px) {
  .u-mt150 {
    margin-top: 18.75vw;
  }
}

.u-mt1em {
  margin-top: 1em;
}

.u-mt2em {
  margin-top: 2em;
}

.u-mt3em {
  margin-top: 3em;
}

.u-mt4em {
  margin-top: 4em;
}

.u-mt5em {
  margin-top: 5em;
}

.u-mt6em {
  margin-top: 6em;
}

.u-mt7em {
  margin-top: 7em;
}

.u-mt8em {
  margin-top: 8em;
}

.u-mt9em {
  margin-top: 9em;
}

.u-mt10em {
  margin-top: 10em;
}

/*-------- padding --------*/
.u-pt10 {
  padding-top: 10px;
}
@media screen and (max-width: 999px) {
  .u-pt10 {
    padding-top: 1vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pt10 {
    padding-top: 1.5vw;
  }
}

.u-pb10 {
  padding-bottom: 10px;
}
@media screen and (max-width: 999px) {
  .u-pb10 {
    padding-bottom: 1vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pb10 {
    padding-bottom: 1.5vw;
  }
}

.u-pt20 {
  padding-top: 20px;
}
@media screen and (max-width: 999px) {
  .u-pt20 {
    padding-top: 2vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pt20 {
    padding-top: 3vw;
  }
}

.u-pb20 {
  padding-bottom: 20px;
}
@media screen and (max-width: 999px) {
  .u-pb20 {
    padding-bottom: 2vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pb20 {
    padding-bottom: 3vw;
  }
}

.u-pt30 {
  padding-top: 30px;
}
@media screen and (max-width: 999px) {
  .u-pt30 {
    padding-top: 3vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pt30 {
    padding-top: 4.5vw;
  }
}

.u-pb30 {
  padding-bottom: 30px;
}
@media screen and (max-width: 999px) {
  .u-pb30 {
    padding-bottom: 3vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pb30 {
    padding-bottom: 4.5vw;
  }
}

.u-pt40 {
  padding-top: 40px;
}
@media screen and (max-width: 999px) {
  .u-pt40 {
    padding-top: 4vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pt40 {
    padding-top: 6vw;
  }
}

.u-pb40 {
  padding-bottom: 40px;
}
@media screen and (max-width: 999px) {
  .u-pb40 {
    padding-bottom: 4vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pb40 {
    padding-bottom: 6vw;
  }
}

.u-pt50 {
  padding-top: 50px;
}
@media screen and (max-width: 999px) {
  .u-pt50 {
    padding-top: 5vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pt50 {
    padding-top: 7.5vw;
  }
}

.u-pb50 {
  padding-bottom: 50px;
}
@media screen and (max-width: 999px) {
  .u-pb50 {
    padding-bottom: 5vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pb50 {
    padding-bottom: 7.5vw;
  }
}

.u-pt60 {
  padding-top: 60px;
}
@media screen and (max-width: 999px) {
  .u-pt60 {
    padding-top: 6vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pt60 {
    padding-top: 9vw;
  }
}

.u-pb60 {
  padding-bottom: 60px;
}
@media screen and (max-width: 999px) {
  .u-pb60 {
    padding-bottom: 6vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pb60 {
    padding-bottom: 9vw;
  }
}

.u-pt70 {
  padding-top: 70px;
}
@media screen and (max-width: 999px) {
  .u-pt70 {
    padding-top: 7vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pt70 {
    padding-top: 10.5vw;
  }
}

.u-pb70 {
  padding-bottom: 70px;
}
@media screen and (max-width: 999px) {
  .u-pb70 {
    padding-bottom: 7vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pb70 {
    padding-bottom: 10.5vw;
  }
}

.u-pt80 {
  padding-top: 80px;
}
@media screen and (max-width: 999px) {
  .u-pt80 {
    padding-top: 8vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pt80 {
    padding-top: 12vw;
  }
}

.u-pb80 {
  padding-bottom: 80px;
}
@media screen and (max-width: 999px) {
  .u-pb80 {
    padding-bottom: 8vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pb80 {
    padding-bottom: 12vw;
  }
}

.u-pt90 {
  padding-top: 90px;
}
@media screen and (max-width: 999px) {
  .u-pt90 {
    padding-top: 9vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pt90 {
    padding-top: 13.5vw;
  }
}

.u-pb90 {
  padding-bottom: 90px;
}
@media screen and (max-width: 999px) {
  .u-pb90 {
    padding-bottom: 9vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pb90 {
    padding-bottom: 13.5vw;
  }
}

.u-pt100 {
  padding-top: 100px;
}
@media screen and (max-width: 999px) {
  .u-pt100 {
    padding-top: 10vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pt100 {
    padding-top: 15vw;
  }
}

.u-pb100 {
  padding-bottom: 100px;
}
@media screen and (max-width: 999px) {
  .u-pb100 {
    padding-bottom: 10vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pb100 {
    padding-bottom: 15vw;
  }
}

.u-pt110 {
  padding-top: 110px;
}
@media screen and (max-width: 999px) {
  .u-pt110 {
    padding-top: 11vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pt110 {
    padding-top: 16.5vw;
  }
}

.u-pb110 {
  padding-bottom: 110px;
}
@media screen and (max-width: 999px) {
  .u-pb110 {
    padding-bottom: 11vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pb110 {
    padding-bottom: 16.5vw;
  }
}

.u-pt120 {
  padding-top: 120px;
}
@media screen and (max-width: 999px) {
  .u-pt120 {
    padding-top: 12vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pt120 {
    padding-top: 18vw;
  }
}

.u-pb120 {
  padding-bottom: 120px;
}
@media screen and (max-width: 999px) {
  .u-pb120 {
    padding-bottom: 12vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pb120 {
    padding-bottom: 18vw;
  }
}

.u-pt130 {
  padding-top: 130px;
}
@media screen and (max-width: 999px) {
  .u-pt130 {
    padding-top: 13vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pt130 {
    padding-top: 19.5vw;
  }
}

.u-pb130 {
  padding-bottom: 130px;
}
@media screen and (max-width: 999px) {
  .u-pb130 {
    padding-bottom: 13vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pb130 {
    padding-bottom: 19.5vw;
  }
}

.u-pt140 {
  padding-top: 140px;
}
@media screen and (max-width: 999px) {
  .u-pt140 {
    padding-top: 14vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pt140 {
    padding-top: 21vw;
  }
}

.u-pb140 {
  padding-bottom: 140px;
}
@media screen and (max-width: 999px) {
  .u-pb140 {
    padding-bottom: 14vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pb140 {
    padding-bottom: 21vw;
  }
}

.u-pt150 {
  padding-top: 150px;
}
@media screen and (max-width: 999px) {
  .u-pt150 {
    padding-top: 15vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pt150 {
    padding-top: 22.5vw;
  }
}

.u-pb150 {
  padding-bottom: 150px;
}
@media screen and (max-width: 999px) {
  .u-pb150 {
    padding-bottom: 15vw;
  }
}
@media screen and (max-width: 767px) {
  .u-pb150 {
    padding-bottom: 22.5vw;
  }
}

/*-------- max-width --------*/
.u-width--400 {
  max-width: 400px;
}

.u-width--500 {
  max-width: 500px;
}

.u-width--600 {
  max-width: 600px;
}

.u-width--700 {
  max-width: 700px;
}

.u-width--800 {
  max-width: 800px;
}

.u-width--900 {
  max-width: 900px;
}

.u-width--1000 {
  max-width: 1000px;
}

.u-width--1100 {
  max-width: 1100px;
}

.u-width--1200 {
  max-width: 1200px;
}

/*-------- br --------*/
.u-br--pc {
  display: inline;
}
@media screen and (max-width: 999px) {
  .u-br--pc {
    display: none;
  }
}
.u-br--pc_tb {
  display: inline;
}
@media screen and (max-width: 767px) {
  .u-br--pc_tb {
    display: none;
  }
}
.u-br--tb {
  display: none;
}
@media screen and (max-width: 999px) {
  .u-br--tb {
    display: inline;
  }
}
@media screen and (max-width: 767px) {
  .u-br--tb {
    display: none;
  }
}
.u-br--tb_sp {
  display: none;
}
@media screen and (max-width: 999px) {
  .u-br--tb_sp {
    display: inline;
  }
}
.u-br--sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .u-br--sp {
    display: inline;
  }
}

/*-------- display_block --------*/
.u-block--pc {
  display: block;
}
@media screen and (max-width: 767px) {
  .u-block--pc {
    display: none;
  }
}
.u-block--sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .u-block--sp {
    display: block;
  }
}

/*-------- object position --------*/
.u-layout--center {
  margin-left: auto;
  margin-right: auto;
}
.u-layout--left {
  margin-left: 0;
  margin-right: auto;
}
.u-layout--right {
  margin-left: auto;
  margin-right: 0;
}

.u-zindex--0 {
  position: relative;
  z-index: 0;
}

.u-zindex--1 {
  position: relative;
  z-index: 1;
}

.u-zindex--2 {
  position: relative;
  z-index: 2;
}

.u-zindex--3 {
  position: relative;
  z-index: 3;
}

.u-zindex--4 {
  position: relative;
  z-index: 4;
}

.u-zindex--5 {
  position: relative;
  z-index: 5;
}

.u-zindex--6 {
  position: relative;
  z-index: 6;
}

.u-zindex--7 {
  position: relative;
  z-index: 7;
}

.u-zindex--8 {
  position: relative;
  z-index: 8;
}

.u-zindex--9 {
  position: relative;
  z-index: 9;
}

.u-zindex--10 {
  position: relative;
  z-index: 10;
}

/*--------  text centering --------*/
.u-text_center {
  text-align: center;
}
.u-text_center--tb_left {
  text-align: center;
}
@media screen and (max-width: 999px) {
  .u-text_center--tb_left {
    text-align: left;
  }
}
.u-text_center--sp_left {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .u-text_center--sp_left {
    text-align: left;
  }
}
.u-text--right {
  text-align: right;
}
.u-text--left {
  text-align: left;
}

/*--------  text size --------*/
.u-font_size--80 {
  font-size: 80%;
}

.u-font_size--90 {
  font-size: 90%;
}

.u-font_size--100 {
  font-size: 100%;
}

.u-font_size--110 {
  font-size: 110%;
}

.u-font_size--120 {
  font-size: 120%;
}

.u-font_size--130 {
  font-size: 130%;
}

.u-font_size--140 {
  font-size: 140%;
}

.u-font_size--150 {
  font-size: 150%;
}

.u-font_size--160 {
  font-size: 160%;
}

.u-font_size--170 {
  font-size: 170%;
}

.u-font_size--180 {
  font-size: 180%;
}

.u-font_size--190 {
  font-size: 190%;
}

.u-font_size--200 {
  font-size: 200%;
}

/*--------  text color & decoration --------*/
.u-text_color--red {
  color: #d03d5e;
}
.u-text_color--white {
  color: #fff;
}

.u-font_weight--300 {
  font-weight: 300;
}
.u-font_weight--400 {
  font-weight: 400;
}
.u-font_weight--500 {
  font-weight: 500;
}
.u-font_weight--600 {
  font-weight: 600;
}

/*--------  others --------*/
.fadeIn {
  -webkit-animation-name: fadeInAnime;
          animation-name: fadeInAnime;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* 下から */
.fadeUp {
  -webkit-animation-name: fadeUpAnime;
          animation-name: fadeUpAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out;
  opacity: 0;
}

@-webkit-keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
/* 上から */
.fadeDown {
  -webkit-animation-name: fadeDownAnime;
          animation-name: fadeDownAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out;
  opacity: 0;
}

@-webkit-keyframes fadeDownAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeDownAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
/* 左から */
.fadeLeft {
  -webkit-animation-name: fadeLeftAnime;
          animation-name: fadeLeftAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out;
  opacity: 0;
}

@-webkit-keyframes fadeLeftAnime {
  from {
    opacity: 0;
    -webkit-transform: translateX(-50px);
            transform: translateX(-50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

@keyframes fadeLeftAnime {
  from {
    opacity: 0;
    -webkit-transform: translateX(-50px);
            transform: translateX(-50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
/* 右から */
.fadeRight {
  -webkit-animation-name: fadeRightAnime;
          animation-name: fadeRightAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out;
  opacity: 0;
}

@-webkit-keyframes fadeRightAnime {
  from {
    opacity: 0;
    -webkit-transform: translateX(50px);
            transform: translateX(50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

@keyframes fadeRightAnime {
  from {
    opacity: 0;
    -webkit-transform: translateX(50px);
            transform: translateX(50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.fadeInTrigger,
.fadeUpTrigger,
.fadeDownTrigger,
.fadeLeftTrigger,
.fadeRightTrigger {
  opacity: 0;
}

.delayTime--2s {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.delayTime--3s {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}
.delayTime--4s {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
.delayTime--5s {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}
.delayTime--6s {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
.delayTime--7s {
  -webkit-animation-delay: 0.7s;
          animation-delay: 0.7s;
}
.delayTime--8s {
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}

/*----------------------------------------------------------------------
/////■■ component ■■/////
----------------------------------------------------------------------*/
/*--------  wrapper --------*/
.c-wrapper--700 {
  margin-right: auto;
  margin-left: auto;
  max-width: 700px;
  width: 94%;
}

.c-wrapper--800 {
  margin-right: auto;
  margin-left: auto;
  max-width: 800px;
  width: 94%;
}

.c-wrapper--900 {
  margin-right: auto;
  margin-left: auto;
  max-width: 900px;
  width: 94%;
}

.c-wrapper--1000 {
  margin-right: auto;
  margin-left: auto;
  max-width: 1000px;
  width: 94%;
}

.c-wrapper--1100 {
  margin-right: auto;
  margin-left: auto;
  max-width: 1100px;
  width: 94%;
}

.c-wrapper--1200 {
  margin-right: auto;
  margin-left: auto;
  max-width: 1200px;
  width: 94%;
}

.c-wrapper--1300 {
  margin-right: auto;
  margin-left: auto;
  max-width: 1300px;
  width: 94%;
}

.c-wrapper--1400 {
  margin-right: auto;
  margin-left: auto;
  max-width: 1400px;
  width: 94%;
}

.c-wrapper--1500 {
  margin-right: auto;
  margin-left: auto;
  max-width: 1500px;
  width: 94%;
}

.c-container {
  padding: 10rem 0 12rem;
}
@media screen and (max-width: 999px) {
  .c-container {
    padding: 10vw 0 12vw;
  }
}

/*-------- flexbox --------*/
.c-flexbox,
.c-flexbox_reverse,
.c-flexbox--center,
.c-flexbox--left,
.c-flexbox--right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.c-flexbox_reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .c-flexbox_reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.c-flexbox--center,
.c-flexbox_reverse--center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.c-flexbox--left,
.c-flexbox_reverse--left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
}
.c-flexbox--right,
.c-flexbox_reverse--right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
}

/* flexbox utility */
.u-align--start {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.u-align--center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.u-align--end {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

/*----------------------------------------------------------------------
/////■■ project ■■/////
----------------------------------------------------------------------*/
.p-body_text p:nth-child(n+2) {
  margin-top: 1.5em;
}

.p-flex_item--img {
  width: min(48%, 40rem);
}
@media screen and (max-width: 767px) {
  .p-flex_item--img {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}
.p-flex_item--text {
  width: min(48%, 55rem);
}
@media screen and (max-width: 767px) {
  .p-flex_item--text {
    width: 100%;
    margin-top: 1.5em;
  }
}
.p-flex_item--text p:nth-child(n+2) {
  margin-top: 1.5em;
}

.p-section_title {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 2;
  width: min(80%, 40rem);
}

/*----------------------------------------------------------------------
/////■■ layout ■■/////
----------------------------------------------------------------------*/
.l-header {
  background-color: rgba(255, 255, 255, 0.94);
  -webkit-filter: drop-shadow(0px 6px 15px rgba(0, 0, 0, 0.2));
          filter: drop-shadow(0px 6px 15px rgba(0, 0, 0, 0.2));
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .l-header {
    top: auto;
    bottom: 0;
  }
}
.l-header__inner {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-top: min(1vw, 1rem);
  padding-bottom: min(1vw, 1rem);
  padding-left: 5vw;
  padding-right: 5vw;
  width: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .l-header__inner {
    display: block;
    text-align: center;
    padding: 4vw;
  }
}
.l-header__inner__logo {
  margin-left: 0;
  margin-right: auto;
  max-width: 14rem;
}
@media screen and (max-width: 767px) {
  .l-header__inner__logo {
    display: none;
  }
}
.l-header__inner__nav {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
.l-header__inner__nav__top {
  border-bottom: 1px solid #d03d5e;
  font-size: clamp(1.4rem, 1.6vw, 1.6rem);
  line-height: 1.5;
  margin-right: 2.5em;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}
.l-header__inner__nav__top:hover {
  border-bottom: 1px solid #fdacbe;
}
@media screen and (max-width: 767px) {
  .l-header__inner__nav__top {
    display: none;
  }
}
.l-header__inner__nav__btn {
  background-color: #d03d5e;
  border-radius: 6px;
  color: #fff;
  display: inline-block;
  -webkit-filter: drop-shadow(0px 1px 6px rgba(0, 0, 0, 0.2));
          filter: drop-shadow(0px 1px 6px rgba(0, 0, 0, 0.2));
  font-size: min(1.7vw, 1.7rem);
  font-weight: 400;
  line-height: 1;
  padding: 0.8em 1em;
  position: relative;
  text-align: center;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
  width: 14em;
}
@media screen and (max-width: 767px) {
  .l-header__inner__nav__btn {
    -webkit-filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.2));
            filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.2));
    font-size: 4.8vw;
  }
}
.l-header__inner__nav__btn:hover {
  -webkit-filter: brightness(125%);
          filter: brightness(125%);
}

.l-main {
  position: relative;
}
.l-main__inner {
  position: relative;
  z-index: 4;
}
.l-main__inner--logo {
  width: min(20vw, 20rem);
}
@media screen and (max-width: 767px) {
  .l-main__inner--logo {
    width: 30vw;
  }
}
.l-main__inner--catch {
  width: min(40vw, 57rem);
}
@media screen and (max-width: 767px) {
  .l-main__inner--catch {
    width: 100%;
  }
}
.l-main__inner--icon {
  width: min(50%, 20.8rem);
  position: relative;
  z-index: 5;
}
.l-main__inner img {
  margin-left: 0;
  margin-right: auto;
}
.l-main__inner p {
  margin-bottom: 0.5em;
}
.l-main__inner p strong {
  color: #4a3a3a;
  font-size: clamp(1.9rem, 2.6vw, 2.7rem);
  font-weight: 500;
  line-height: 1.5;
}
.l-main__inner h1 {
  background-color: #d03d5e;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  color: #fff;
  display: inline;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(2.4rem, 3.8vw, 3.8rem);
  font-weight: 400;
  line-height: 1.75;
  padding: 0 0.4em 0.1em;
}
.l-main__image {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 0;
  width: min(88%, 93rem);
}
@media screen and (max-width: 767px) {
  .l-main__image {
    position: relative;
    width: 100%;
  }
}

.l-section1 {
  position: relative;
  margin-top: min(14vw, 14rem);
}
.l-section1::before {
  content: "";
  background-color: rgba(208, 61, 94, 0.07);
  width: 100%;
  height: calc(100% - min(10vw, 15rem));
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .l-section1::before {
    height: 100%;
  }
}
.l-section1__col_block {
  position: relative;
  z-index: 2;
}
.l-section1__col_block--text {
  padding-top: min(0.5vw, 1.5rem);
  width: min(44%, 40rem);
}
@media screen and (max-width: 767px) {
  .l-section1__col_block--text {
    width: 100%;
  }
}
.l-section1__col_block--text h2 {
  font-size: clamp(2.8rem, 3.6vw, 3.6rem);
  font-weight: 400;
  line-height: 1.5;
}
.l-section1__col_block--text h2 em {
  color: #d03d5e;
  font-size: 120%;
  line-height: 1.45;
  margin-right: 0.15em;
}
.l-section1__col_block--text li {
  font-size: clamp(1.6rem, 2.2vw, 2.2rem);
  font-weight: 400;
  line-height: 1.6;
}
.l-section1__col_block--text li:nth-child(n+2) {
  margin-top: 0.4em;
}
.l-section1__col_block--text li span {
  border-bottom: 1px dotted #d03d5e;
}
.l-section1__col_block--img {
  width: max(50%, 100% - 60rem);
}
@media screen and (max-width: 767px) {
  .l-section1__col_block--img {
    width: 100%;
    margin-top: 5vw;
  }
}

.l-section2 {
  background: url(../img/section2_bg.png) no-repeat;
  background-position: center;
  background-size: auto;
}
@media screen and (max-width: 1099px) {
  .l-section2 {
    background-size: contain;
  }
}
@media screen and (max-width: 767px) {
  .l-section2 {
    background: none;
  }
}
.l-section2 h2 {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(50%, rgba(208, 61, 94, 0.12)));
  background: linear-gradient(transparent 50%, rgba(208, 61, 94, 0.12) 50%);
  display: inline;
  font-size: clamp(2.8rem, 3.6vw, 3.6rem);
  font-weight: 500;
  line-height: 1.45;
}
.l-section2 p {
  font-size: clamp(1.6rem, 2vw, 2rem);
  font-weight: 400;
  margin-top: 3em;
}
.l-section2 p:nth-of-type(1) {
  margin-top: 4.5em;
}
.l-section2 p strong {
  border-bottom: 1px dotted #d03d5e;
  color: #d03d5e;
  font-size: 104%;
  font-weight: 500;
}

.l-section3 {
  position: relative;
}
.l-section3::before {
  content: "";
  background-color: rgba(138, 116, 123, 0.05);
  width: calc(min(84vw, 84rem) + 50% - 50rem);
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .l-section3::before {
    width: 100%;
  }
}
.l-section3 p {
  font-size: clamp(1.5rem, 1.8vw, 1.8rem);
  line-height: 2.1;
}
.l-section3__col__block1 {
  position: relative;
  z-index: 2;
}
.l-section3__col__block1--img {
  width: 37rem;
}
@media screen and (max-width: 1099px) {
  .l-section3__col__block1--img {
    width: 32%;
  }
}
@media screen and (max-width: 767px) {
  .l-section3__col__block1--img {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}
.l-section3__col__block1--text {
  width: min(62%, 54rem);
}
@media screen and (max-width: 767px) {
  .l-section3__col__block1--text {
    width: 100%;
    margin-top: 2.5em;
  }
}
.l-section3__col__block2 {
  position: relative;
  z-index: 2;
}
.l-section3__col__block2--img {
  width: 45rem;
}
@media screen and (max-width: 1099px) {
  .l-section3__col__block2--img {
    width: 40%;
  }
}
@media screen and (max-width: 767px) {
  .l-section3__col__block2--img {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
.l-section3__col__block2--text {
  width: min(54%, 48rem);
}
@media screen and (max-width: 767px) {
  .l-section3__col__block2--text {
    width: 100%;
    margin-top: 2.5em;
  }
}
.l-section3__col__block3 {
  position: relative;
  z-index: 2;
}
.l-section3__col__block3--img {
  width: 47rem;
}
@media screen and (max-width: 1099px) {
  .l-section3__col__block3--img {
    width: 44%;
  }
}
@media screen and (max-width: 767px) {
  .l-section3__col__block3--img {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}
.l-section3__col__block3--text {
  width: min(50%, 44rem);
}
@media screen and (max-width: 767px) {
  .l-section3__col__block3--text {
    width: 100%;
    margin-top: 2.5em;
  }
}

.l-section4 {
  position: relative;
}
.l-section4::before {
  content: "";
  background-color: rgba(208, 61, 94, 0.07);
  width: 100%;
  height: calc(100% - min(44vw, 44rem));
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .l-section4::before {
    height: calc(100% - 90vw);
  }
}
.l-section4__col_block {
  width: min(31%, 30rem);
}
@media screen and (max-width: 767px) {
  .l-section4__col_block {
    width: 100%;
    margin-top: 3em;
  }
}
.l-section4__col_block img {
  width: min(26vw, 26rem);
  border-radius: 0.8rem;
  margin-left: auto;
  margin-right: 0;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .l-section4__col_block img {
    width: 70%;
    margin-right: auto;
  }
}
.l-section4__col_block dl {
  margin-top: -1em;
  position: relative;
  z-index: 2;
}
.l-section4__col_block dt {
  background-color: #d03d5e;
  color: #fff;
  display: inline-block;
  font-weight: 500;
  line-height: 1;
  padding: 0.6em 0.8em 0.7em;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .l-section4__col_block dt {
    font-size: 5.2vw;
  }
}
.l-section4__col_block dd {
  font-size: clamp(1.5rem, 1.7vw, 1.7rem);
  line-height: 1.9;
  margin-top: 1.7em;
}
.l-section4__col_block dd em {
  border-bottom: 1px dotted #d03d5e;
}
.l-section4__note {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 70%;
  font-weight: 300;
}

.l-section5__point--img {
  width: min(40%, 32rem);
}
@media screen and (max-width: 767px) {
  .l-section5__point--img {
    width: 88%;
    margin-left: auto;
    margin-right: 0;
  }
}
.l-section5__point--text {
  width: max(54%, 100% - 36rem);
}
@media screen and (max-width: 767px) {
  .l-section5__point--text {
    width: 100%;
    margin-top: 2em;
  }
}
.l-section5__point--text h3 {
  border-bottom: 1px dotted #d03d5e;
  font-size: clamp(2.2rem, 2.8vw, 3rem);
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .l-section5__point--text h3 {
    padding-bottom: 0.4em;
  }
}
.l-section5__point--text p {
  font-size: clamp(1.5rem, 1.8vw, 1.8rem);
  margin-top: 1.2em;
}
.l-section5__point--text p em {
  color: #d03d5e;
  font-weight: 400;
}

.l-section6 {
  background-color: rgba(208, 61, 94, 0.07);
}
.l-section6 h2 {
  background: #fff;
  border: 1px solid #d03d5e;
  border-radius: 10rem;
  color: #d03d5e;
  font-size: min(3.2vw, 3.2rem);
  font-weight: 500;
  line-height: 1;
  margin-left: auto;
  margin-right: auto;
  max-width: 60rem;
  padding: 0.5em 0.8em 0.6em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .l-section6 h2 {
    font-size: 6.4vw;
    line-height: 1.4;
  }
}
.l-section6 .l-section6__card {
  background-color: #fff;
  border-radius: 0.8rem;
  padding: min(3vw, 3rem);
  width: 48%;
}
.l-section6 .l-section6__card:nth-child(n+3) {
  margin-top: min(4vw, 4rem);
}
.l-section6 .l-section6__card:last-of-type {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .l-section6 .l-section6__card {
    width: 100%;
  }
  .l-section6 .l-section6__card:nth-child(n+2) {
    margin-top: 2em;
  }
}
.l-section6 .l-section6__card dl {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.l-section6 .l-section6__card--number {
  background-color: #d03d5e;
  border-radius: 3rem;
  color: #fff;
  font-size: clamp(1.3rem, 1.5vw, 1.7rem);
  line-height: 1;
  margin-right: 1.4em;
  padding: 0.4em 1em 0.6em;
}
.l-section6 .l-section6__card--user {
  font-weight: 400;
  line-height: 1;
}
.l-section6 .l-section6__card--comment {
  font-size: clamp(1.5rem, 1.7vw, 1.7rem);
  line-height: 1.9;
  margin-top: 1.4em;
  width: 100%;
}
.l-section6 .l-section6__card--comment em {
  border-bottom: 1px dotted #d03d5e;
}

.l-section7__col_block--img {
  width: min(35%, 28rem);
}
@media screen and (max-width: 767px) {
  .l-section7__col_block--img {
    width: 66%;
    margin-left: auto;
    margin-right: auto;
  }
}
.l-section7__col_block--text {
  width: max(60%, 100% - 39rem);
}
@media screen and (max-width: 767px) {
  .l-section7__col_block--text {
    width: 100%;
    margin-top: 2em;
  }
}
.l-section7__col_block--text h3 {
  font-size: clamp(2.1rem, 2.6vw, 2.8rem);
  font-weight: 400;
  line-height: 1;
}
.l-section7__col_block--text h3 span {
  font-size: clamp(1.4rem, 1.6vw, 1.7rem);
}
.l-section7__col_block--text dt {
  font-size: clamp(1.9rem, 2.2vw, 2.4rem);
  font-weight: 400;
  line-height: 1;
  margin-top: 2em;
  padding-bottom: 0.4em;
}
.l-section7__col_block--text dt:last-of-type {
  padding-bottom: 0.7em;
}
.l-section7__col_block--text dd {
  font-size: clamp(1.5rem, 1.7vw, 1.7rem);
  line-height: 1.8;
  margin-top: 0.4em;
  padding-left: 1em;
  text-indent: -1em;
}
.l-section7__col_block--text dd:last-of-type {
  padding-left: 0;
  text-indent: 0;
}

.l-section8 {
  background-color: rgba(208, 61, 94, 0.07);
}
.l-section8__price {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-left: auto;
  margin-right: auto;
}
.l-section8__price dt, .l-section8__price dd {
  font-size: clamp(2.6rem, 3.4vw, 3.4rem);
  font-weight: 400;
  line-height: 1;
}
.l-section8__price dt span, .l-section8__price dd span {
  font-size: 90%;
  vertical-align: 3%;
}
.l-section8__price dt small, .l-section8__price dd small {
  font-size: 60%;
  vertical-align: 3%;
}
.l-section8__price dt {
  margin-right: 1em;
  padding-left: 1em;
}
.l-section8__entry__btn {
  background-color: #d03d5e;
  border-radius: 8px;
  color: #fff;
  display: block;
  -webkit-filter: drop-shadow(0px 8px 20px rgba(0, 0, 0, 0.2));
          filter: drop-shadow(0px 8px 20px rgba(0, 0, 0, 0.2));
  font-size: min(3.2vw, 3.2rem);
  font-weight: 400;
  line-height: 1;
  margin-left: auto;
  margin-right: auto;
  padding: 1em 1em;
  position: relative;
  text-align: center;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
  max-width: 60rem;
  width: 90%;
}
.l-section8__entry__btn::after {
  content: "→";
  font-size: min(3vw, 3rem);
  font-weight: 400;
  line-height: 1;
  color: #fff;
  position: absolute;
  top: calc(50% - min(1.5vw, 1.5rem));
  right: min(2vw, 2rem);
}
@media screen and (max-width: 767px) {
  .l-section8__entry__btn::after {
    top: calc(50% - 2.2vw);
    font-size: 4.4vw;
    right: 4vw;
  }
}
@media screen and (max-width: 767px) {
  .l-section8__entry__btn {
    -webkit-filter: drop-shadow(0px 4px 10px rgba(0, 0, 0, 0.2));
            filter: drop-shadow(0px 4px 10px rgba(0, 0, 0, 0.2));
    font-size: 5.2vw;
    padding: 1.2em;
    width: 100%;
  }
}
.l-section8__entry__btn:hover {
  -webkit-filter: brightness(125%);
          filter: brightness(125%);
}
.l-section8__note {
  border: 1px solid #4a3a3a;
  padding: min(3vw, 3rem);
}
.l-section8__note dt {
  font-size: clamp(1.9rem, 2vw, 2rem);
  font-weight: 400;
  line-height: 1;
  text-align: center;
}
.l-section8__note dd {
  font-size: clamp(1.5rem, 1.7vw, 1.7rem);
  line-height: 1.8;
  padding-left: 1em;
  text-align: left;
  text-indent: -1em;
}
.l-section8__top {
  border-bottom: 1px solid #d03d5e;
  display: inline-block;
  line-height: 1.5;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}
.l-section8__top:hover {
  border-bottom: 1px solid #fdacbe;
}
.l-section8__top a {
  font-size: clamp(1.4rem, 1.8vw, 1.8rem);
}

footer small {
  font-size: 70%;
  line-height: 1.7;
}

/*-------- style.scss END --------*/