@charset "UTF-8";
/* -----------------------
  unity
----------------------- */
@media screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 10%;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: normal;
  color: #21272D;
}
@media screen and (max-width: 767px) {
  body.active {
    overflow: hidden;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 400;
}

.wrapper {
  overflow: clip;
}

.t-just {
  -moz-text-align-last: left;
       text-align-last: left;
  /* Chrome・Firefox用 */
  text-align: justify;
  /* IE・Edge用 */
}

.ta-c {
  text-align: center;
}

.cant-click {
  pointer-events: none;
}

.f-palt {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

.blue-gra {
  display: inline-block;
  background: linear-gradient(93deg, #0050a0 5.58%, #00366d 96.38%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* -----------------------
  C_title
----------------------- */
.C_title {
  position: relative;
  margin: 0 auto;
  text-align: center;
}
.C_title--TX {
  font-weight: bold;
}
.C_title::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
}

@media screen and (min-width: 768px) {
  .C_title {
    width: min(23.4375vw, 450px);
    padding-bottom: min(1.40625vw, 27px);
  }
}
@media screen and (max-width: 767px) {
  .C_title {
    width: 45.3333333333vw;
    padding-bottom: 3.2vw;
  }
}
@media screen and (min-width: 768px) {
  .C_title--TX {
    font-size: min(4.0104166667vw, 77px);
    letter-spacing: min(0.1203125vw, 2.31px);
  }
}
@media screen and (max-width: 767px) {
  .C_title--TX {
    font-size: 8vw;
    letter-spacing: 0.24vw;
  }
}
.C_title::before {
  background: linear-gradient(93deg, #0050A0 5.58%, #00366D 96.38%);
}
@media screen and (min-width: 768px) {
  .C_title::before {
    height: min(0.3125vw, 6px);
  }
}
@media screen and (max-width: 767px) {
  .C_title::before {
    height: 1.0666666667vw;
  }
}

/* -----------------------
  C_logo
----------------------- */
.C_logo {
  aspect-ratio: 407/102;
}
.C_logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

/* -----------------------
  C_fv-01
----------------------- */
.slider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: #178BFF;
}

.fv {
  background: #178BFF;
}
@media screen and (min-width: 768px) {
  .fv {
    aspect-ratio: 1320/760;
    width: 68.75vw;
    margin: 0 1.0416666667vw;
  }
}
@media screen and (max-width: 767px) {
  .fv {
    width: 89.3333333333vw;
    height: 168.5333333333vw !important;
    margin: 0 2.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .fv.fv01 {
    background-image: url("../img/kv/fv-01-pc.jpg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    padding: 4.5833333333vw 0 4.21875vw 0.8333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .fv.fv01 {
    background-image: url("../img/kv/fv-01-sp.jpg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    padding: 35.7333333333vw 0 29.6vw;
  }
}
.fv.fv01 .fv-wrap {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .fv.fv01 .fv-top {
    font-size: 2.34375vw;
  }
}
@media screen and (max-width: 767px) {
  .fv.fv01 .fv-top {
    font-size: 5.6vw;
  }
}
.fv.fv01 .fv-TL {
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .fv.fv01 .fv-TL {
    width: 17.7083333333vw;
    height: 14.1145833333vw;
    margin-top: 1.1458333333vw;
  }
}
@media screen and (max-width: 767px) {
  .fv.fv01 .fv-TL {
    margin-top: 4vw;
    width: 55.7333333333vw;
    height: 44.2666666667vw;
  }
}
.fv.fv01 .fv-TL img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.fv.fv01 .fv-bottom {
  margin-top: 1.3020833333vw;
}
@media screen and (max-width: 767px) {
  .fv.fv01 .fv-bottom {
    margin-top: 19.7333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .fv.fv01 .fv-bottom .bottom-TX {
    font-size: 2.0833333333vw;
  }
}
@media screen and (max-width: 767px) {
  .fv.fv01 .fv-bottom .bottom-TX {
    font-size: 4.2666666667vw;
  }
}
.fv.fv01 .fv-bottom .bottom-main {
  background: #0054A8;
}
@media screen and (min-width: 768px) {
  .fv.fv01 .fv-bottom .bottom-main {
    width: 38.5416666667vw;
    padding-block: 1.1979166667vw;
    border-radius: 2.6041666667vw;
  }
}
@media screen and (max-width: 767px) {
  .fv.fv01 .fv-bottom .bottom-main {
    width: 62.4vw;
    padding-block: 2.6666666667vw;
    border-radius: 1.6vw;
    margin-top: 2.6666666667vw;
  }
}
.fv.fv01 .fv-bottom .bottom-main .main-TX {
  color: #FFFFFF;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .fv.fv01 .fv-bottom .bottom-main .main-TX {
    font-size: 2.1875vw;
    margin: 0 auto;
    letter-spacing: 0.109375vw;
  }
}
@media screen and (max-width: 767px) {
  .fv.fv01 .fv-bottom .bottom-main .main-TX {
    font-size: 4.2666666667vw;
    margin: 0 auto;
    letter-spacing: 0.2133333333vw;
  }
}

/* -----------------------
  C_fv-02
----------------------- */
.fv02 {
  position: relative;
}
@media screen and (min-width: 768px) {
  .fv02 {
    padding: 4.5833333333vw 0 4.21875vw;
  }
}
@media screen and (max-width: 767px) {
  .fv02 {
    padding: 9.3333333333vw 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .fv02-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .fv02 .img-wrap {
    margin-top: 5.3333333333vw;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
@media screen and (min-width: 768px) {
  .fv02 .fv-img {
    position: absolute;
    top: 0;
    width: 20.46875vw;
    height: 39.5833333333vw;
  }
}
@media screen and (max-width: 767px) {
  .fv02 .fv-img {
    width: 44.8vw;
    height: 64.5333333333vw;
  }
}
.fv02 .fv-img.fv-img-01 {
  background-image: url("../img/kv/fv-02-01.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .fv02 .fv-img.fv-img-01 {
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .fv02 .fv-img.fv-img-01 {
    right: 0;
    background-position: 10% 0%;
    background-size: 120%;
  }
}
.fv02 .fv-img.fv-img-02 {
  background-image: url("../img/kv/fv-02-02.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .fv02 .fv-img.fv-img-02 {
    background-position: 20% 50%;
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  .fv02 .fv-img.fv-img-02 {
    background-position: 40% 10%;
    background-size: 120%;
    left: 0;
  }
}
.fv02 .fv-wrap {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  text-align: center;
  color: #FFFFFF;
}
@media screen and (max-width: 767px) {
  .fv02 .fv-wrap {
    display: contents;
  }
}
@media screen and (min-width: 768px) {
  .fv02 .fv-wrap .fv-top {
    font-size: 1.25vw;
    letter-spacing: 0.0375vw;
  }
}
@media screen and (max-width: 767px) {
  .fv02 .fv-wrap .fv-top {
    font-size: 4.2666666667vw;
    letter-spacing: 0.128vw;
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
}
.fv02 .fv-wrap .fv-TL {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .fv02 .fv-wrap .fv-TL {
    font-size: 3.90625vw;
    line-height: 1.2;
  }
}
@media screen and (max-width: 767px) {
  .fv02 .fv-wrap .fv-TL {
    font-size: 13.6vw;
    line-height: 1.2;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
@media screen and (min-width: 768px) {
  .fv02 .fv-wrap .fv-TL--top {
    font-size: 3.3854166667vw;
  }
}
@media screen and (max-width: 767px) {
  .fv02 .fv-wrap .fv-TL--top {
    font-size: 11.7333333333vw;
  }
}
.fv02 .fv-wrap .fv-bottom {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .fv02 .fv-wrap .fv-bottom {
    font-size: 1.25vw;
    margin-top: 3.125vw;
    letter-spacing: 0.0375vw;
    line-height: 1.4;
  }
}
@media screen and (max-width: 767px) {
  .fv02 .fv-wrap .fv-bottom {
    background: linear-gradient(93deg, #0050A0 5.58%, #00366D 96.38%);
    padding-block: 1.0666666667vw;
    font-size: 4.2666666667vw;
    letter-spacing: 0.128vw;
    line-height: 1.4;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
}
.fv02 .fv-block {
  width: 100%;
  background: #E3F7FF;
}
@media screen and (min-width: 768px) {
  .fv02 .fv-block {
    margin: 0.8854166667vw auto 0;
    padding-block: 0.9895833333vw;
  }
}
@media screen and (max-width: 767px) {
  .fv02 .fv-block {
    padding-block: 3.7333333333vw;
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
}
.fv02 .fv-block--TX {
  font-weight: 700;
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .fv02 .fv-block--TX {
    line-height: 1.4;
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 767px) {
  .fv02 .fv-block--TX {
    font-size: 4.2666666667vw;
    line-height: 1.5;
  }
}

/* -----------------------
  C_fv-03
----------------------- */
.fv03 {
  position: relative;
}
@media screen and (min-width: 768px) {
  .fv03 {
    background-image: url("../img/kv/fv-03-pc.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 4.4791666667vw 2.1354166667vw 0 0;
  }
}
@media screen and (max-width: 767px) {
  .fv03 {
    background-image: url("../img/kv/fv-03-sp.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 14.1333333333vw 0 0;
  }
}
.fv03 .fv-wrap {
  color: #FFFFFF;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .fv03 .fv-wrap {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
  }
}
@media screen and (min-width: 768px) {
  .fv03 .fv-wrap .fv-top {
    text-shadow: 0 min(0.2083333333vw, 4px) min(0.2083333333vw, 4px) rgba(0, 0, 0, 0.25);
    font-size: min(2.8125vw, 54px);
    line-height: normal;
  }
}
@media screen and (max-width: 767px) {
  .fv03 .fv-wrap .fv-top {
    text-align: center;
    text-shadow: 0 0.8368vw 0.8368vw rgba(0, 0, 0, 0.25);
    font-size: 6.528vw;
    line-height: 1.4;
  }
}
@media screen and (max-width: 767px) {
  .fv03 .fv-wrap .fv-top-top {
    font-size: 8.8vw;
  }
}
@media screen and (min-width: 768px) {
  .fv03 .fv-wrap .fv-label {
    position: absolute;
    top: 9.53125vw;
    right: 0;
    width: 50.3125vw;
    height: 5.2083333333vw;
  }
}
@media screen and (max-width: 767px) {
  .fv03 .fv-wrap .fv-label {
    width: 76.8vw;
    height: 21.8666666667vw;
    margin: 6.6666666667vw auto 0;
  }
}
.fv03 .fv-wrap .fv-label img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.fv03 .fv-wrap .fv-main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: left;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 768px) {
  .fv03 .fv-wrap .fv-main {
    font-size: 3.90625vw;
    gap: 1.1458333333vw;
    margin-top: 6.25vw;
    line-height: 1.3;
  }
}
@media screen and (max-width: 767px) {
  .fv03 .fv-wrap .fv-main {
    font-size: 8vw;
    line-height: 1.4;
    gap: 1.3333333333vw;
  }
}
.fv03 .fv-wrap .fv-main .million {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 700;
  position: relative;
}
@media screen and (min-width: 768px) {
  .fv03 .fv-wrap .fv-main .million {
    font-size: 13.0208333333vw;
    top: -1.0416666667vw;
  }
}
@media screen and (max-width: 767px) {
  .fv03 .fv-wrap .fv-main .million {
    font-size: 26.1333333333vw;
    top: -2.6666666667vw;
  }
}
.fv03 .fv-wrap .fv-btn {
  background: #FFFFFF;
  color: #21272D;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
}
@media screen and (min-width: 768px) {
  .fv03 .fv-wrap .fv-btn {
    width: 34.3229166667vw;
    padding: 1.0416666667vw 0 1.0416666667vw 5.1041666667vw;
    right: 2.1875vw;
    bottom: 1.9791666667vw;
    border-radius: 999px;
  }
}
@media screen and (max-width: 767px) {
  .fv03 .fv-wrap .fv-btn {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    aspect-ratio: 1/1;
    border-radius: 50%;
    width: 35.7333333333vw;
    padding-top: 10.9333333333vw;
    bottom: 3.2vw;
    right: 4.2666666667vw;
  }
}
.fv03 .fv-wrap .fv-btn--TX {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .fv03 .fv-wrap .fv-btn--TX {
    font-size: 2.3958333333vw;
    gap: 0.9895833333vw;
  }
}
@media screen and (max-width: 767px) {
  .fv03 .fv-wrap .fv-btn--TX {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.1333333333vw;
    font-size: 4.5333333333vw;
    line-height: 1.3;
  }
}
.fv03 .fv-wrap .fv-btn--TX::after {
  content: "";
}
@media screen and (min-width: 768px) {
  .fv03 .fv-wrap .fv-btn--TX::after {
    width: 0;
    height: 0;
    border-top: 0.8333333333vw solid transparent;
    border-bottom: 0.8333333333vw solid transparent;
    border-left: 0.8333333333vw solid #00366D;
  }
}
@media screen and (max-width: 767px) {
  .fv03 .fv-wrap .fv-btn--TX::after {
    width: 0;
    height: 0;
    border-top: 2.9333333333vw solid transparent;
    border-bottom: 2.9333333333vw solid transparent;
    border-left: 2.9333333333vw solid #00366D;
  }
}
.fv03 .fv-wrap .fv-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #FFFFFF;
  border-radius: 999px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 0;
}
.fv03 .fv-wrap .fv-btn:hover::before {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 0.4;
}

/* -----------------------
  C_gray-bg
----------------------- */
.C_gray-bg {
  position: relative;
  background-color: #F9F9F9;
}
@media screen and (min-width: 768px) {
  .C_gray-bg {
    width: min(68.6979166667vw, 1319px);
    border-radius: min(0.2604166667vw, 5px);
    margin-inline: auto;
  }
}
.C_gray-bg--TX {
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .C_gray-bg--TX {
    font-size: min(1.25vw, 24px);
  }
}
@media screen and (max-width: 767px) {
  .C_gray-bg--TX {
    font-size: 4.2666666667vw;
    letter-spacing: 0.128vw;
    line-height: 1.8;
  }
}
.C_gray-bg--TX span {
  font-weight: 700;
}
.C_gray-bg--TX .marker {
  background-color: #FBF9E0;
  padding: 0.1em 0.2em;
}
.C_gray-bg--TX .red {
  color: #BA0100;
}
@media screen and (min-width: 768px) {
  .C_gray-bg--TX .fs-26-pc {
    font-size: min(1.3541666667vw, 26px);
  }
}
@media screen and (min-width: 768px) {
  .C_gray-bg--TX .fs-28-pc {
    font-size: min(1.4583333333vw, 28px);
  }
}
@media screen and (max-width: 767px) {
  .C_gray-bg--TX .fs-18-sp {
    font-size: 4.8vw;
  }
}

.blue-gra-TL {
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .blue-gra-TL {
    width: 100%;
    font-size: min(2.6041666667vw, 50px);
    line-height: 1.3;
    letter-spacing: min(0.078125vw, 1.5px);
  }
}
@media screen and (max-width: 767px) {
  .blue-gra-TL {
    font-size: 5.3333333333vw;
    line-height: 1.8;
    letter-spacing: 0.16vw;
  }
}

.gra-btn {
  border-radius: 999px;
  background: linear-gradient(91deg, #178BFF 0%, #22C0C3 100%);
}
@media screen and (min-width: 768px) {
  .gra-btn {
    width: min(22.2395833333vw, 427px);
    height: min(3.59375vw, 69px);
  }
}
@media screen and (max-width: 767px) {
  .gra-btn {
    width: 54.1333333333vw;
    height: 12.2666666667vw;
  }
}
.gra-btn--TX {
  color: #FFFFFF;
  text-align: center;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .gra-btn--TX {
    font-size: min(1.6666666667vw, 32px);
    letter-spacing: min(0.05vw, 0.96px);
    line-height: min(3.59375vw, 69px);
  }
}
@media screen and (max-width: 767px) {
  .gra-btn--TX {
    font-size: 5.3333333333vw;
    letter-spacing: 0.16vw;
    line-height: 12.2666666667vw;
  }
}

.TL-top {
  text-align: center;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .TL-top {
    font-size: min(2.6041666667vw, 50px);
    letter-spacing: min(0.078125vw, 1.5px);
  }
}
@media screen and (max-width: 767px) {
  .TL-top {
    font-size: 6.4vw;
    letter-spacing: 0.256vw;
  }
}

.illust {
  position: absolute;
}
@media screen and (min-width: 768px) {
  .illust {
    width: min(5.9375vw, 114px);
    height: min(9.3229166667vw, 179px);
  }
}
@media screen and (max-width: 767px) {
  .illust {
    width: 22.9333333333vw;
    height: 36.2666666667vw;
  }
}

/* -----------------------
  header
----------------------- */
.header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #FFFFFF;
}
@media screen and (min-width: 768px) {
  .header {
    padding-left: min(15.625vw, 300px);
  }
}
@media screen and (max-width: 767px) {
  .header {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-left: min(0.5208333333vw, 10px);
  }
}
@media screen and (min-width: 768px) {
  .header .logo {
    width: min(12.9166666667vw, 248px);
    height: min(3.2291666667vw, 62px);
  }
}
@media screen and (max-width: 767px) {
  .header .logo {
    width: 48vw;
    height: 12vw;
  }
}
.header .logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.header .menu-btn {
  background: #178BFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .header .menu-btn {
    width: 16vw;
    height: 16vw;
    gap: 1.0666666667vw;
    padding-top: 1.3333333333vw;
  }
}
.header .menu-btn .icon {
  background-image: url('data:image/svg+xml;utf-8,<svg width="30" height="38" viewBox="0 0 30 38" fill="none" xmlns="http://www.w3.org/2000/svg"><rect y="17.2012" width="28" height="2.33333" rx="1.16667" fill="white"/><rect y="9" width="28" height="2.33333" rx="1.16667" fill="white"/><rect width="28" height="2.33333" rx="1.16667" fill="white"/><path d="M1.42504 34.6074V27.6074H2.57504L4.58504 30.9674L6.56504 27.6074H7.73504V34.6074H6.55504V29.6174L4.91504 32.4674H4.23504L2.58504 29.6174V34.6074H1.42504ZM9.44965 34.6074V27.6074H14.1296V28.6774H10.5996V30.4974H13.8196V31.5774H10.5996V33.5374H14.2396V34.6074H9.44965ZM15.609 34.6074V27.6074H16.759L20.059 32.5774V27.6074H21.229V34.6074H20.119L16.759 29.4974V34.6074H15.609ZM25.5303 34.7374C24.6569 34.7374 23.9903 34.5074 23.5303 34.0474C23.0703 33.5808 22.8403 32.8841 22.8403 31.9574V27.6074H24.0103V31.8974C24.0103 32.4974 24.1436 32.9341 24.4103 33.2074C24.6836 33.4741 25.0569 33.6074 25.5303 33.6074C26.0036 33.6074 26.3736 33.4741 26.6403 33.2074C26.9069 32.9341 27.0403 32.4974 27.0403 31.8974V27.6074H28.2003V31.9574C28.2003 32.8841 27.9736 33.5808 27.5203 34.0474C27.0669 34.5074 26.4036 34.7374 25.5303 34.7374Z" fill="white"/></svg>');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: 8vw;
  height: 10.1333333333vw;
}
.header .menu-btn.active .icon {
  background-image: url('data:image/svg+xml;utf-8,<svg width="33" height="37" viewBox="0 0 33 37" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="5" y="20" width="28" height="2.33333" rx="1.16667" transform="rotate(-45 5 20)" fill="white"/><rect x="6.64844" width="28" height="2.33333" rx="1.16667" transform="rotate(45 6.64844 0)" fill="white"/><path d="M3.64645 33.326C3.01311 33.326 2.44645 33.176 1.94644 32.876C1.45311 32.576 1.06644 32.1527 0.786445 31.606C0.506445 31.0527 0.366445 30.406 0.366445 29.666C0.366445 28.9193 0.506445 28.2727 0.786445 27.726C1.06644 27.1727 1.45311 26.746 1.94644 26.446C2.44645 26.1393 3.01311 25.986 3.64645 25.986C4.23311 25.986 4.75978 26.116 5.22645 26.376C5.69311 26.636 6.06978 26.9993 6.35645 27.466L5.32644 28.066C5.13978 27.766 4.90311 27.5327 4.61645 27.366C4.33645 27.1993 4.01311 27.116 3.64645 27.116C3.23311 27.116 2.86978 27.2227 2.55645 27.436C2.24311 27.6427 1.99978 27.9393 1.82645 28.326C1.65978 28.706 1.57644 29.1527 1.57644 29.666C1.57644 30.1727 1.65978 30.6193 1.82645 31.006C1.99978 31.386 2.24311 31.6827 2.55645 31.896C2.86978 32.1027 3.23311 32.206 3.64645 32.206C4.01311 32.206 4.33645 32.1227 4.61645 31.956C4.90311 31.7893 5.13978 31.556 5.32644 31.256L6.35645 31.856C6.06978 32.316 5.69311 32.676 5.22645 32.936C4.75978 33.196 4.23311 33.326 3.64645 33.326ZM7.7352 33.166V26.166H8.8852V32.096H12.5352V33.166H7.7352ZM16.6683 33.326C16.035 33.326 15.4683 33.176 14.9683 32.876C14.475 32.576 14.0883 32.1527 13.8083 31.606C13.5283 31.0527 13.3883 30.406 13.3883 29.666C13.3883 28.9193 13.5283 28.2727 13.8083 27.726C14.0883 27.1727 14.475 26.746 14.9683 26.446C15.4683 26.1393 16.035 25.986 16.6683 25.986C17.3017 25.986 17.8617 26.1393 18.3483 26.446C18.8417 26.746 19.2283 27.1727 19.5083 27.726C19.795 28.2727 19.9383 28.9193 19.9383 29.666C19.9383 30.406 19.795 31.0527 19.5083 31.606C19.2283 32.1527 18.8417 32.576 18.3483 32.876C17.8617 33.176 17.3017 33.326 16.6683 33.326ZM16.6683 32.206C17.0883 32.206 17.4517 32.1027 17.7583 31.896C18.065 31.6827 18.3017 31.386 18.4683 31.006C18.6417 30.6193 18.7283 30.1727 18.7283 29.666C18.7283 29.1527 18.6417 28.706 18.4683 28.326C18.3017 27.9393 18.065 27.6427 17.7583 27.436C17.4517 27.2227 17.0883 27.116 16.6683 27.116C16.255 27.116 15.8917 27.2227 15.5783 27.436C15.265 27.6427 15.0217 27.9393 14.8483 28.326C14.6817 28.706 14.5983 29.1527 14.5983 29.666C14.5983 30.1727 14.6817 30.6193 14.8483 31.006C15.0217 31.386 15.265 31.6827 15.5783 31.896C15.8917 32.1027 16.255 32.206 16.6683 32.206ZM23.8339 33.306C23.2473 33.306 22.7073 33.1827 22.2139 32.936C21.7273 32.6893 21.3373 32.2727 21.0439 31.686L22.0139 31.136C22.2139 31.4693 22.4573 31.7327 22.7439 31.926C23.0306 32.1127 23.4073 32.206 23.8739 32.206C24.3406 32.206 24.6673 32.1227 24.8539 31.956C25.0473 31.7827 25.1439 31.5493 25.1439 31.256C25.1439 31.0693 25.1006 30.9093 25.0139 30.776C24.9339 30.6427 24.7606 30.5193 24.4939 30.406C24.2339 30.286 23.8306 30.166 23.2839 30.046C22.6373 29.8927 22.1573 29.6493 21.8439 29.316C21.5373 28.9827 21.3839 28.5593 21.3839 28.046C21.3839 27.6393 21.4806 27.2827 21.6739 26.976C21.8739 26.6627 22.1506 26.4193 22.5039 26.246C22.8639 26.0727 23.2839 25.986 23.7639 25.986C24.3973 25.986 24.9306 26.126 25.3639 26.406C25.7973 26.6793 26.1273 27.0027 26.3539 27.376L25.4439 28.076C25.3306 27.916 25.1973 27.7627 25.0439 27.616C24.8906 27.4627 24.7106 27.3393 24.5039 27.246C24.2973 27.146 24.0473 27.096 23.7539 27.096C23.4073 27.096 23.1239 27.1727 22.9039 27.326C22.6906 27.4727 22.5839 27.696 22.5839 27.996C22.5839 28.1293 22.6139 28.2593 22.6739 28.386C22.7406 28.506 22.8806 28.6227 23.0939 28.736C23.3139 28.8493 23.6506 28.9593 24.1039 29.066C24.9039 29.246 25.4806 29.516 25.8339 29.876C26.1873 30.236 26.3639 30.6893 26.3639 31.236C26.3639 31.9027 26.1306 32.416 25.6639 32.776C25.2039 33.1293 24.5939 33.306 23.8339 33.306ZM27.8442 33.166V26.166H32.5242V27.236H28.9942V29.056H32.2142V30.136H28.9942V32.096H32.6342V33.166H27.8442Z" fill="white"/></svg>');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .header .menu-btn.active .icon {
    width: 8.8vw;
    height: 9.8666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .header .nav-wrap {
    width: 100%;
    margin-left: min(2.65625vw, 51px);
  }
}
@media screen and (max-width: 767px) {
  .header .nav-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background: #FFFFFF;
    position: absolute;
    bottom: 0;
    left: 100%;
    width: 100%;
    height: calc(100vh - 60px);
    max-height: calc(100vh - 60px);
    /* ← 60px はヘッダーの高さ（menu-btn） */
    overflow-y: auto;
    /* overflow: scroll より auto の方が自然 */
    overflow-x: hidden;
    z-index: 999;
    top: 16vw;
    padding-top: 18.6666666667vw;
    z-index: 999;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
}
.header .nav-wrap-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .header .nav-wrap-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .header .nav-wrap nav {
    margin-right: auto;
  }
}
.header .nav-wrap nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .header .nav-wrap nav ul {
    gap: min(1.25vw, 24px);
  }
}
@media screen and (max-width: 767px) {
  .header .nav-wrap nav ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .header .nav-wrap nav ul li {
    font-size: min(0.8333333333vw, 16px);
  }
}
@media screen and (max-width: 767px) {
  .header .nav-wrap nav ul li {
    font-size: 4.2666666667vw;
  }
}
.header .nav-wrap nav ul li a {
  color: #21272D;
}
.header .nav-wrap .header-btn {
  text-align: center;
  display: grid;
  place-items: center;
}
@media screen and (min-width: 768px) {
  .header .nav-wrap .header-btn {
    width: min(15.625vw, 300px);
    height: min(6.25vw, 120px);
  }
}
@media screen and (max-width: 767px) {
  .header .nav-wrap .header-btn {
    width: 100%;
    height: 40vw;
  }
}
@media screen and (min-width: 768px) {
  .header .nav-wrap .header-btn-top {
    font-size: min(0.8333333333vw, 16px);
  }
}
@media screen and (max-width: 767px) {
  .header .nav-wrap .header-btn-top {
    font-size: 5.3333333333vw;
  }
}
.header .nav-wrap .header-btn-TL {
  font-weight: 800;
}
@media screen and (min-width: 768px) {
  .header .nav-wrap .header-btn-TL {
    font-size: min(1.25vw, 24px);
  }
}
@media screen and (max-width: 767px) {
  .header .nav-wrap .header-btn-TL {
    font-size: 8vw;
  }
}
.header .nav-wrap .header-btn.tel-btn {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  background: #F5F5F5;
}
@media screen and (max-width: 767px) {
  .header .nav-wrap .header-btn.tel-btn {
    margin-top: 21.3333333333vw;
  }
}
.header .nav-wrap .header-btn.tel-btn a {
  color: #21272D;
}
.header .nav-wrap .header-btn.tel-btn a .tel-main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .header .nav-wrap .header-btn.tel-btn a .tel-main {
    gap: min(0.46875vw, 9px);
  }
}
@media screen and (max-width: 767px) {
  .header .nav-wrap .header-btn.tel-btn a .tel-main {
    gap: 2.9333333333vw;
  }
}
.header .nav-wrap .header-btn.tel-btn a .tel-main .icon {
  background-image: url('data:image/svg+xml;utf-8,<svg width="18" height="17" viewBox="0 0 18 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17.01 11.2248C15.78 11.2248 14.59 11.0434 13.48 10.717C13.13 10.6082 12.74 10.6898 12.47 10.9346L10.9 12.7208C8.07 11.4968 5.42 9.18472 4.01 6.52813L5.96 5.02303C6.23 4.76916 6.31 4.41555 6.2 4.09821C5.83 3.09179 5.64 2.01284 5.64 0.897618C5.64 0.408008 5.19 0 4.65 0H1.19C0.65 0 0 0.217604 0 0.897618C0 9.32072 7.73 16.3203 17.01 16.3203C17.72 16.3203 18 15.7491 18 15.2504V12.1224C18 11.6328 17.55 11.2248 17.01 11.2248Z" fill="%23323232"/></svg>');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .header .nav-wrap .header-btn.tel-btn a .tel-main .icon {
    width: min(0.9375vw, 18px);
    height: min(0.8854166667vw, 17px);
  }
}
@media screen and (max-width: 767px) {
  .header .nav-wrap .header-btn.tel-btn a .tel-main .icon {
    width: 5.8666666667vw;
    height: 5.3333333333vw;
    margin-top: 1.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .header .nav-wrap .header-btn.tel-btn a .tel-main .tel-TL {
    font-size: min(1.4583333333vw, 28px);
  }
}
@media screen and (max-width: 767px) {
  .header .nav-wrap .header-btn.tel-btn a .tel-main .tel-TL {
    font-size: 9.3333333333vw;
  }
}
.header .nav-wrap .header-btn.download-btn {
  background: #178BFF;
}
.header .nav-wrap .header-btn.download-btn a {
  color: #FFFFFF;
}
@media screen and (max-width: 767px) {
  .header .nav-wrap .logo-area {
    padding-block: 21.3333333333vw 5.3333333333vw;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .header .nav-wrap .logo-area .logo {
    width: 59.2vw;
    height: 14.9333333333vw;
  }
}
.header .nav-wrap .logo-area .logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.header .nav-wrap .bottom-copy {
  background: #013989;
  color: #FFFFFF;
  text-align: center;
  width: 100%;
  padding: 3.4666666667vw 0;
  font-size: 3.2vw;
  font-weight: 400;
  line-height: 2.8;
  letter-spacing: 0.1866666667vw;
}
.header .nav-wrap.active {
  left: 0;
}

/* -----------------------
  footer
----------------------- */
.footer {
  background: #013989;
}
@media screen and (min-width: 768px) {
  .footer {
    padding: min(1.6145833333vw, 31px) 0;
  }
}
@media screen and (max-width: 767px) {
  .footer {
    padding: 3.4666666667vw 0;
  }
}
.footer__copy {
  color: #FFFFFF;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .footer__copy {
    font-size: min(1.25vw, 24px);
    letter-spacing: min(0.075vw, 1.44px);
    line-height: 1.4;
  }
}
@media screen and (max-width: 767px) {
  .footer__copy {
    font-size: 3.2vw;
    letter-spacing: 0.192vw;
    line-height: 2.8;
  }
}

/* -----------------------
  kv
----------------------- */
.kv.kv01 {
  background-image: url("../img/kv/kv-other.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .kv.kv01 {
    background-position: 70% 0% !important;
    background-size: 130% !important;
  }
}
.kv.kv02 {
  background-image: url("../img/kv/kv-other02.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .kv.kv02 {
    background-position: 100% 70% !important;
  }
}
.kv.kv03 {
  background-image: url("../img/kv/kv-other03.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.kv {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .kv {
    height: min(18.2291666667vw, 350px);
  }
}
@media screen and (max-width: 767px) {
  .kv {
    height: 58.6666666667vw;
  }
}
.kv .h2 {
  font-weight: 600;
  color: #FFFFFF;
}
@media screen and (min-width: 768px) {
  .kv .h2 {
    font-size: min(1.6666666667vw, 32px);
    letter-spacing: min(0.05vw, 0.96px);
  }
}
@media screen and (max-width: 767px) {
  .kv .h2 {
    font-size: 6.4vw;
    letter-spacing: 0.192vw;
  }
}

/* -----------------------
  cta（お問い合わせ）
----------------------- */
.cta {
  background: #178BFF;
  padding-block: min(4.7916666667vw, 92px) min(5.9375vw, 114px);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .cta {
    padding: 19.2vw 5.3333333333vw 16vw;
  }
}
@media screen and (min-width: 768px) {
  .cta .C_title {
    width: min(36.4583333333vw, 700px) !important;
    padding-bottom: min(0.4166666667vw, 8px) !important;
  }
}
@media screen and (max-width: 767px) {
  .cta .C_title {
    width: 86.6666666667vw;
    padding-bottom: 3.2vw;
  }
}
.cta .C_title--TX {
  color: #FFFFFF;
}
@media screen and (min-width: 768px) {
  .cta .C_title--TX {
    font-size: min(3.3333333333vw, 64px) !important;
    letter-spacing: min(0.2vw, 3.84px);
  }
}
@media screen and (max-width: 767px) {
  .cta .C_title--TX {
    font-size: 8vw;
    letter-spacing: 0.24vw;
  }
}
.cta .C_title::before {
  background: #FFFFFF !important;
}
@media screen and (min-width: 768px) {
  .cta .C_title::before {
    height: min(0.15625vw, 3px);
  }
}
@media screen and (max-width: 767px) {
  .cta .C_title::before {
    height: 1.0666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .cta-content {
    width: min(59.84375vw, 1149px);
    margin: min(1.5104166667vw, 29px) auto 0;
  }
}
@media screen and (max-width: 767px) {
  .cta-content {
    margin: 7.7333333333vw auto 0;
  }
}
.cta__box {
  background: #FFFFFF;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .cta__box {
    border-radius: min(0.5208333333vw, 10px);
    padding: min(2.0833333333vw, 40px) min(3.90625vw, 75px) min(1.8229166667vw, 35px) min(12.3958333333vw, 238px);
  }
}
@media screen and (max-width: 767px) {
  .cta__box {
    padding: 8vw;
    border-radius: 2.6666666667vw;
  }
}
.cta__illust {
  position: absolute;
  background-image: url("../img/cta.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  left: 0;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  .cta__illust {
    width: min(10.46875vw, 201px);
    height: min(24.2708333333vw, 466px);
  }
}
@media screen and (max-width: 767px) {
  .cta__illust {
    width: 18.6666666667vw;
    height: 43.4666666667vw;
  }
}
.cta__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .cta__buttons {
    gap: min(0.8854166667vw, 17px) min(1.1458333333vw, 22px);
  }
}
@media screen and (max-width: 767px) {
  .cta__buttons {
    gap: 2.6666666667vw;
  }
}
.cta__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  color: #FFFFFF;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .cta__btn {
    padding: min(1.1979166667vw, 23px) min(1.1979166667vw, 23px) min(1.1979166667vw, 23px) 0;
    border-radius: min(0.2604166667vw, 5px);
    font-size: min(1.25vw, 24px);
  }
}
@media screen and (max-width: 767px) {
  .cta__btn {
    padding: 4.5333333333vw 5.3333333333vw 4.5333333333vw 5.3333333333vw;
    font-size: 4vw;
    border-radius: 0.8vw;
  }
}
.cta__btn:hover {
  opacity: 0.5;
}
.cta__btn::after {
  content: "";
}
@media screen and (min-width: 768px) {
  .cta__btn::after {
    width: 0;
    height: 0;
    border-top: min(0.625vw, 12px) solid transparent;
    border-bottom: min(0.625vw, 12px) solid transparent;
    border-left: min(0.625vw, 12px) solid #FFFFFF;
  }
}
@media screen and (max-width: 767px) {
  .cta__btn::after {
    width: 0;
    height: 0;
    border-top: 2.1333333333vw solid transparent;
    border-bottom: 2.1333333333vw solid transparent;
    border-left: 2.1333333333vw solid #FFFFFF;
  }
}
.cta__btn-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: min(1.0416666667vw, 20px);
}
@media screen and (max-width: 767px) {
  .cta__btn-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3.2vw;
  }
}
.cta__btn--red {
  background: #BA0100;
}
@media screen and (min-width: 768px) {
  .cta__btn--red {
    padding-left: min(7.6041666667vw, 146px);
  }
}
.cta__btn--teal {
  background: #1194BF;
}
@media screen and (min-width: 768px) {
  .cta__btn--teal {
    padding-left: min(3.5416666667vw, 68px);
  }
}
.cta__btn--orange {
  background: #FF7400;
}
@media screen and (min-width: 768px) {
  .cta__btn--orange {
    padding-left: min(4.0104166667vw, 77px);
  }
}
.cta__btn--trans {
  background: transparent;
}
@media screen and (min-width: 768px) {
  .cta__btn--trans {
    width: min(21.1979166667vw, 407px);
  }
}
.cta__btn--green {
  background: #029120;
}
@media screen and (min-width: 768px) {
  .cta__btn--green {
    width: min(21.1979166667vw, 407px);
    padding-left: min(4.84375vw, 93px);
  }
}
.cta__btn--outline {
  color: #21272D;
}
@media screen and (min-width: 768px) {
  .cta__btn--outline {
    border: min(0.0520833333vw, 1px) solid;
  }
}
@media screen and (max-width: 767px) {
  .cta__btn--outline {
    width: 54.6666666667vw;
    margin-left: auto;
    border: 0.2666666667vw solid;
  }
}
@media screen and (min-width: 768px) {
  .cta__btn--outline::after {
    width: 0;
    height: 0;
    border-top: min(0.625vw, 12px) solid transparent;
    border-bottom: min(0.625vw, 12px) solid transparent;
    border-left: min(0.625vw, 12px) solid #21272D;
  }
}
@media screen and (max-width: 767px) {
  .cta__btn--outline::after {
    width: 0;
    height: 0;
    border-top: 2.1333333333vw solid transparent;
    border-bottom: 2.1333333333vw solid transparent;
    border-left: 2.1333333333vw solid #21272D;
  }
}
@media screen and (min-width: 768px) {
  .cta__btn--outline:nth-child(1) {
    padding-left: min(2.9166666667vw, 56px);
  }
}
@media screen and (min-width: 768px) {
  .cta__btn--outline:nth-child(2) {
    padding-left: min(2.4479166667vw, 47px);
  }
}
.cta__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #FFFFFF;
}
@media screen and (min-width: 768px) {
  .cta__info {
    margin-top: min(1.40625vw, 27px);
  }
}
@media screen and (max-width: 767px) {
  .cta__info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5.3333333333vw;
    margin-top: 13.3333333333vw;
  }
}
.cta__info-label {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .cta__info-label {
    font-size: min(1.25vw, 24px);
    letter-spacing: min(0.125vw, 2.4px);
  }
}
@media screen and (max-width: 767px) {
  .cta__info-label {
    font-size: 6.4vw;
    letter-spacing: 0.64vw;
  }
}
.cta__info-tel {
  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-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .cta__info-tel {
    margin-left: min(2.96875vw, 57px);
  }
}
.cta__info-tel-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #FFFFFF;
  font-weight: 700;
  -webkit-transform: all 0.3s ease;
          transform: all 0.3s ease;
}
@media screen and (min-width: 768px) {
  .cta__info-tel-link {
    font-size: min(2.34375vw, 45px);
    gap: min(0.78125vw, 15px);
    letter-spacing: min(0.140625vw, 2.7px);
  }
}
@media screen and (max-width: 767px) {
  .cta__info-tel-link {
    white-space: nowrap;
    font-size: 10.6666666667vw;
    letter-spacing: 0.64vw;
    gap: 2.6666666667vw;
  }
}
.cta__info-tel-link::before {
  content: "";
  background-image: url('data:image/svg+xml;utf-8,<svg width="18" height="17" viewBox="0 0 18 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17.01 11.2248C15.78 11.2248 14.59 11.0434 13.48 10.717C13.13 10.6082 12.74 10.6898 12.47 10.9346L10.9 12.7208C8.07 11.4968 5.42 9.18472 4.01 6.52813L5.96 5.02303C6.23 4.76916 6.31 4.41555 6.2 4.09821C5.83 3.09179 5.64 2.01284 5.64 0.897618C5.64 0.408008 5.19 0 4.65 0H1.19C0.65 0 0 0.217604 0 0.897618C0 9.32072 7.73 16.3203 17.01 16.3203C17.72 16.3203 18 15.7491 18 15.2504V12.1224C18 11.6328 17.55 11.2248 17.01 11.2248Z" fill="%23FFEE00"/></svg>');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .cta__info-tel-link::before {
    width: min(1.71875vw, 33px);
    height: min(1.5625vw, 30px);
  }
}
@media screen and (max-width: 767px) {
  .cta__info-tel-link::before {
    width: 8.8vw;
    height: 8vw;
  }
}
.cta__info-tel-note {
  color: #FFFFFF;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .cta__info-tel-note {
    font-size: min(1.25vw, 24px);
  }
}
@media screen and (max-width: 767px) {
  .cta__info-tel-note {
    font-size: 4.8vw;
    letter-spacing: 0.48vw;
  }
}
.cta__info-tel:hover .cta__info-tel-link {
  color: #FFEE00;
  -webkit-transform: all 0.3s ease;
          transform: all 0.3s ease;
}
@media screen and (min-width: 768px) {
  .cta__info-company {
    width: min(21.1979166667vw, 407px);
    margin-left: min(1.1458333333vw, 22px);
  }
}
@media screen and (max-width: 767px) {
  .cta__info-company {
    width: 89.3333333333vw;
  }
}

/* -----------------------
  company
----------------------- */
/* company_title */
.C_company_title {
  position: relative;
  margin: 0 auto;
  text-align: center;
}
.C_company_title--TX {
  font-weight: bold;
}
.C_company_title::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
}
@media screen and (max-width: 767px) {
  .C_company_title {
    margin-top: 13.4773333333vw;
    margin-bottom: 13.456vw;
  }
}
@media screen and (min-width: 768px) {
  .C_company_title {
    margin-top: min(2.8645833333vw, 55px);
    margin-bottom: min(2.8645833333vw, 55px);
  }
}

@media screen and (max-width: 767px) {
  .C_company_title {
    width: 37.0666666667vw;
    padding-bottom: 3.2vw;
  }
}
@media screen and (min-width: 768px) {
  .C_company_title {
    width: min(13.0208333333vw, 250px);
    padding-bottom: min(0.3645833333vw, 7px);
  }
}
@media screen and (max-width: 767px) {
  .C_company_title--TX {
    font-size: 8vw;
    letter-spacing: 0.24vw;
  }
}
@media screen and (min-width: 768px) {
  .C_company_title--TX {
    font-size: min(2.6041666667vw, 50px);
    letter-spacing: min(0.1203125vw, 2.31px);
  }
}
.C_company_title::before {
  background: linear-gradient(93deg, #0050A0 5.58%, #00366D 96.38%);
}
@media screen and (max-width: 767px) {
  .C_company_title::before {
    height: 1.0666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .C_company_title::before {
    height: min(0.15625vw, 3px);
  }
}

/* company_info */
.company-info {
  border-collapse: collapse;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .company-info tr {
    display: block;
    width: 89.3333333333vw;
    text-align: left;
    font-size: 4vw;
    border: 0.1866666667vw solid #D9D9D9;
  }
}
@media screen and (min-width: 768px) {
  .company-info tr {
    width: min(17.6041666667vw, 338px);
    height: min(3.0208333333vw, 58px);
    font-size: min(0.8333333333vw, 16px);
    border: min(0.0364583333vw, 0.7px) solid #D9D9D9;
  }
}
.company-info th {
  background: #178BFF;
  color: #ffffff;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .company-info th {
    width: 89.3333333333vw;
    display: block;
    padding: 5.3333333333vw 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .company-info th {
    width: min(17.6041666667vw, 338px);
    text-align: center;
    padding: min(1.0416666667vw, 20px) 0 min(0.9895833333vw, 19px) 0;
  }
}
.company-info td {
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .company-info td {
    padding: 5.3333333333vw 4.2666666667vw;
  }
  .company-info td .postal,
  .company-info td .address {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .company-info td {
    width: min(43.3333333333vw, 832px);
    padding: min(1.0416666667vw, 20px) 0 min(0.9895833333vw, 19px) min(5.2083333333vw, 100px);
  }
  .company-info td .postal,
  .company-info td .address {
    display: inline;
  }
  .company-info td .postal {
    margin-right: min(1.7708333333vw, 34px);
  }
}
.company-info td a {
  color: inherit;
}

.company-map {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .company-map iframe {
    margin: 13.3333333333vw 0 21.3333333333vw;
    width: 100%;
    width: 100vw;
    height: 89.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .company-map iframe {
    margin: min(3.2291666667vw, 62px) 0 min(5.46875vw, 105px);
    width: min(61.0416666667vw, 1172px);
    height: min(21.9270833333vw, 421px);
  }
}

/* -----------------------
  low
----------------------- */
/* low_title */
.C_low_title {
  position: relative;
  margin: 0 auto;
  text-align: center;
}
.C_low_title--TX {
  font-weight: bold;
}
.C_low_title::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
}
@media screen and (max-width: 767px) {
  .C_low_title {
    margin-top: 13.4773333333vw;
    margin-bottom: 13.456vw;
    width: 61.8666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .C_low_title {
    margin-top: min(4.21875vw, 81px);
    margin-bottom: min(2.96875vw, 57px);
    width: min(19.7916666667vw, 380px);
  }
}

@media screen and (min-width: 768px) {
  .C_low_title {
    padding-bottom: min(1.09375vw, 21px);
  }
}
@media screen and (max-width: 767px) {
  .C_low_title {
    padding-bottom: 3.2vw;
  }
}
@media screen and (min-width: 768px) {
  .C_low_title--TX {
    font-size: min(2.5vw, 48px);
    letter-spacing: min(0.075vw, 1.44px);
  }
}
@media screen and (max-width: 767px) {
  .C_low_title--TX {
    font-size: 8vw;
    letter-spacing: 0.24vw;
  }
}
.C_low_title::before {
  background: linear-gradient(93deg, #0050A0 5.58%, #00366D 96.38%);
}
@media screen and (min-width: 768px) {
  .C_low_title::before {
    height: min(0.15625vw, 3px);
  }
}
@media screen and (max-width: 767px) {
  .C_low_title::before {
    height: 1.0666666667vw;
  }
}

/* low_info */
.low-info {
  border-collapse: collapse;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .low-info tr {
    display: block;
    width: 89.3333333333vw;
    text-align: left;
    border: 0.1866666667vw solid #D9D9D9;
  }
}
@media screen and (min-width: 768px) {
  .low-info tr {
    width: min(62.5vw, 1200px);
    height: min(5.2083333333vw, 100px);
    border: min(0.0520833333vw, 1px) solid #D9D9D9;
  }
}
.low-info th {
  background: #178BFF;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .low-info th {
    padding: 5.3333333333vw 4.2666666667vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2.6666666667vw;
  }
  .low-info th .number {
    font-size: 6.4vw;
    line-height: 1;
    font-weight: normal;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-style: normal;
    font-weight: 900;
    letter-spacing: 0.192vw;
  }
  .low-info th .content {
    font-size: 4.8vw;
    font-weight: normal;
    line-height: 1.25;
  }
}
@media screen and (min-width: 768px) {
  .low-info th {
    width: min(18.2291666667vw, 350px);
    height: min(5.2083333333vw, 100px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: min(0.625vw, 12px) 0 min(0.9375vw, 18px) min(1.3541666667vw, 26px);
    gap: min(0.625vw, 12px);
  }
  .low-info th .number {
    font-size: min(2.5vw, 48px);
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-style: normal;
    font-weight: 900;
    letter-spacing: min(0.075vw, 1.44px);
    line-height: 1;
  }
  .low-info th .content {
    font-size: min(1.25vw, 24px);
    line-height: 1.25;
  }
}

td {
  background-color: #f9f9f9;
}
@media screen and (max-width: 767px) {
  td {
    padding: 5.3333333333vw 4.2666666667vw;
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 768px) {
  td {
    width: min(44.2708333333vw, 850px);
    font-size: min(0.9895833333vw, 19px);
    padding-left: min(1.4583333333vw, 28px);
    vertical-align: top;
    padding-top: min(1.1458333333vw, 22px);
  }
}

@media screen and (max-width: 767px) {
  .low_info_additional {
    margin: 8vw 5.3333333333vw 21.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .low_info_additional {
    margin: min(1.4583333333vw, 28px) auto min(3.6979166667vw, 71px);
    width: min(62.5vw, 1200px);
  }
}
@media screen and (max-width: 767px) {
  .low_info_additional h3 {
    font-size: 3.2vw;
  }
}
@media screen and (min-width: 768px) {
  .low_info_additional h3 {
    font-size: min(0.9895833333vw, 19px);
  }
}

/* FAQ */
.faq {
  background-color: #f4f4f4;
}

/* QA_title */
.C_QA_title {
  position: relative;
  margin: 0 auto;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .C_QA_title {
    padding-top: 21.3333333333vw;
    margin-bottom: 10.6666666667vw;
    width: 61.8666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .C_QA_title {
    padding-top: min(4.0625vw, 78px);
    margin-bottom: min(2.4479166667vw, 47px);
    width: min(19.7916666667vw, 380px);
  }
}
.C_QA_title--TX {
  font-weight: bold;
}
.C_QA_title::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
}

@media screen and (min-width: 768px) {
  .C_QA_title {
    padding-bottom: min(1.09375vw, 21px);
  }
}
@media screen and (max-width: 767px) {
  .C_QA_title {
    padding-bottom: 3.2vw;
  }
}
@media screen and (min-width: 768px) {
  .C_QA_title--TX {
    font-size: min(2.5vw, 48px);
    letter-spacing: min(0.075vw, 1.44px);
  }
}
@media screen and (max-width: 767px) {
  .C_QA_title--TX {
    font-size: 8vw;
    letter-spacing: 0.24vw;
  }
}
.C_QA_title::before {
  background: linear-gradient(93deg, #0050A0 5.58%, #00366D 96.38%);
}
@media screen and (min-width: 768px) {
  .C_QA_title::before {
    height: min(0.15625vw, 3px);
  }
}
@media screen and (max-width: 767px) {
  .C_QA_title::before {
    height: 1.0666666667vw;
  }
}

/* FAQ_list */
.faq_list {
  font-family: Noto Sans JP, sans-serif;
}
@media screen and (max-width: 767px) {
  .faq_list {
    padding: 0 5.3333333333vw 21.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .faq_list {
    margin: 0 auto;
    width: min(68.75vw, 1320px);
    padding: 0 min(3.8541666667vw, 74px) min(4.0625vw, 78px);
  }
}
.faq_list .faq_item {
  background-color: #ffffff;
}
.faq_list .faq_btn {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: normal;
  text-align: left;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .faq_list .faq_btn {
    width: 89.3333333333vw;
    margin-top: 3.7333333333vw;
    gap: 2.1333333333vw;
    padding: 3.7333333333vw 2.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .faq_list .faq_btn {
    width: min(61.0416666667vw, 1172px);
    height: min(3.6458333333vw, 70px);
    margin-top: min(0.5208333333vw, 10px);
    gap: min(0.78125vw, 15px);
  }
}
.faq_list .faq_qmark {
  color: #178BFF;
  font-weight: 900;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .faq_list .faq_qmark {
    font-size: 4.8vw;
  }
}
@media screen and (min-width: 768px) {
  .faq_list .faq_qmark {
    font-size: min(1.25vw, 24px);
    margin-left: min(1.3020833333vw, 25px);
  }
}
.faq_list .faq_qtext {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .faq_list .faq_qtext {
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .faq_list .faq_qtext {
    font-size: min(0.9895833333vw, 19px);
  }
}
.faq_list .faq_icon {
  display: inline-block;
  background-image: url("../img/add_circle_faq.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
@media screen and (max-width: 767px) {
  .faq_list .faq_icon {
    width: 6.6666666667vw;
    height: 6.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .faq_list .faq_icon {
    width: min(1.9791666667vw, 38px);
    height: min(1.9791666667vw, 38px);
    margin-right: min(1.3020833333vw, 25px);
  }
}
.faq_list .faq_btn[aria-expanded=true] .faq_icon {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  background-image: url("../img/minus_circle_faq.svg");
}
.faq_list .faq_a {
  overflow: hidden;
  height: 0;
  display: block;
  -webkit-transition: height 0.25s ease;
  transition: height 0.25s ease;
  will-change: height;
  /* ▼ 中身：flex/padding/opacity/transform を担当 */
}
.faq_list .faq_a .faq_a_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  opacity: 0;
  -webkit-transform: translateY(-4px);
          transform: translateY(-4px);
  -webkit-transition: opacity 0.25s ease, padding-bottom 0.25s ease, -webkit-transform 0.25s ease;
  transition: opacity 0.25s ease, padding-bottom 0.25s ease, -webkit-transform 0.25s ease;
  transition: opacity 0.25s ease, transform 0.25s ease, padding-bottom 0.25s ease;
  transition: opacity 0.25s ease, transform 0.25s ease, padding-bottom 0.25s ease, -webkit-transform 0.25s ease;
  will-change: opacity, transform, padding-bottom;
}
@media screen and (max-width: 767px) {
  .faq_list .faq_a .faq_a_inner {
    font-size: 3.7333333333vw;
    padding: 0vw 5.3333333333vw 3.7333333333vw 2.6666666667vw;
    gap: 2.1333333333vw;
    -webkit-transform: translateY(-1.0666666667vw);
            transform: translateY(-1.0666666667vw);
  }
}
@media screen and (min-width: 768px) {
  .faq_list .faq_a .faq_a_inner {
    font-size: min(0.9895833333vw, 19px);
    padding: min(0vw, 0px) min(3.28125vw, 63px) min(0.8333333333vw, 16px) min(1.5625vw, 30px);
    gap: min(0.78125vw, 15px);
    -webkit-transform: translateY(min(-0.2083333333vw, -4px));
            transform: translateY(min(-0.2083333333vw, -4px));
  }
}
.faq_list {
  /* 開いた状態：中身の見た目をON */
}
.faq_list .faq_a.is-open .faq_a_inner {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
@media screen and (max-width: 767px) {
  .faq_list .faq_a.is-open .faq_a_inner {
    padding-bottom: 3.7333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .faq_list .faq_a.is-open .faq_a_inner {
    padding-bottom: min(0.7291666667vw, 14px);
  }
}
.faq_list .faq_amark {
  color: #178BFF;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .faq_list .faq_amark {
    font-size: 4.8vw;
  }
}
@media screen and (min-width: 768px) {
  .faq_list .faq_amark {
    font-size: min(1.25vw, 24px);
  }
}

/* -----------------------
  works
----------------------- */
/* works_title */
@media screen and (min-width: 768px) {
  .works-charm {
    width: min(68.75vw, 1320px);
    margin: 0 auto;
  }
}

.C_charm_title {
  position: relative;
  margin: 0 auto;
  text-align: center;
}
.C_charm_title--TX {
  font-weight: bold;
}
.C_charm_title::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
}

@media screen and (max-width: 767px) {
  .C_charm_title {
    margin-top: 13.4773333333vw;
    margin-bottom: 10.7893333333vw;
    width: 53.6vw;
  }
}
@media screen and (min-width: 768px) {
  .C_charm_title {
    margin-top: min(4.21875vw, 81px);
    margin-bottom: min(3.4895833333vw, 67px);
    width: min(18.2291666667vw, 350px);
  }
}
@media screen and (min-width: 768px) {
  .C_charm_title {
    padding-bottom: min(0.78125vw, 15px);
  }
}
@media screen and (max-width: 767px) {
  .C_charm_title {
    padding-bottom: 3.2vw;
  }
}
@media screen and (min-width: 768px) {
  .C_charm_title--TX {
    font-size: min(2.6041666667vw, 50px);
    letter-spacing: min(0.078125vw, 1.5px);
  }
}
@media screen and (max-width: 767px) {
  .C_charm_title--TX {
    font-size: 8vw;
    letter-spacing: 0.24vw;
  }
}
.C_charm_title::before {
  background: linear-gradient(93deg, #0050A0 5.58%, #00366D 96.38%);
}
@media screen and (min-width: 768px) {
  .C_charm_title::before {
    height: min(0.15625vw, 3px);
  }
}
@media screen and (max-width: 767px) {
  .C_charm_title::before {
    height: 1.0666666667vw;
  }
}

/* works-main */
.charm-main {
  display: grid;
}
@media screen and (max-width: 767px) {
  .charm-main {
    grid-template-columns: repeat(2, 1fr);
    /* 2列 */
    gap: 2.6666666667vw;
    /* ボックス間の余白 */
    margin: 0 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .charm-main {
    grid-template-columns: repeat(3, 1fr);
    /* 2列 */
    gap: min(1.0416666667vw, 20px);
    /* ボックス間の余白 */
    margin: 0 min(3.6458333333vw, 70px);
  }
}
.charm-main .charm-block {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  background-color: #178BFF;
}
@media screen and (max-width: 767px) {
  .charm-main .charm-block {
    width: 43.3333333333vw;
    height: 34.6666666667vw;
    border-radius: 2.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .charm-main .charm-block {
    width: min(19.84375vw, 381px);
    height: min(10.8333333333vw, 208px);
    border-radius: min(1.0416666667vw, 20px);
  }
}
@media screen and (max-width: 767px) {
  .charm-main .charm-block img {
    width: 12.088vw;
    height: 12.088vw;
    margin: 5.3333333333vw auto 0;
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .charm-main .charm-block img {
    width: min(3.125vw, 60px);
    height: min(3.125vw, 60px);
    margin: min(2.3958333333vw, 46px) auto 0;
  }
}
.charm-main .charm-block h3 {
  font-weight: bold;
  color: #ffffff;
}
@media screen and (min-width: 768px) {
  .charm-main .charm-block h3 {
    font-size: min(1.25vw, 24px);
    letter-spacing: min(0.0375vw, 0.72px);
    margin-top: min(0.5208333333vw, 10px);
    margin-bottom: min(1.7708333333vw, 34px);
  }
}
@media screen and (max-width: 767px) {
  .charm-main .charm-block h3 {
    font-size: 3.7333333333vw;
    letter-spacing: 0.112vw;
    margin-top: 0.7066666667vw;
    margin-bottom: 5.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .charm-main .charm-block--chart img {
    margin: 3.2vw auto 0;
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .charm-main .charm-block--chart img {
    margin: min(2.3958333333vw, 46px) auto 0;
  }
}

@media screen and (max-width: 767px) {
  .charm-detail {
    margin: 16vw 5.3333333333vw 21.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .charm-detail {
    margin: min(3.4895833333vw, 67px) min(0.2083333333vw, 4px) min(4.1666666667vw, 80px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: min(2.03125vw, 39px);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .charm-detail img {
    width: 89.3333333333vw;
    height: 57.0666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .charm-detail img {
    width: min(33.6458333333vw, 646px);
    height: min(22.4479166667vw, 431px);
    display: block;
  }
}
.charm-detail .charm-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 767px) {
  .charm-detail .charm-text {
    margin-top: 5.3333333333vw;
    font-size: 4.8vw;
    gap: 5.3333333333vw;
    line-height: 1.8;
  }
}
@media screen and (min-width: 768px) {
  .charm-detail .charm-text {
    font-size: min(1.25vw, 24px);
    letter-spacing: min(0.028125vw, 0.54px);
    gap: min(1.25vw, 24px);
    line-height: 1.33;
  }
}

/* works-detail */
.page-works-works {
  background-color: #E3F7FF;
}

@media screen and (min-width: 768px) {
  .works-wrapper {
    width: min(68.75vw, 1320px);
    margin: 0 auto;
  }
}

@media screen and (max-width: 767px) {
  .works-main {
    padding: 21.3333333333vw 5.3333333333vw 21.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .works-main {
    padding: min(4.1666666667vw, 80px) min(4.1666666667vw, 80px) min(4.84375vw, 93px);
  }
}
.works-main {
  /* アニメーション */
}
.works-main .anime-works-detail {
  opacity: 0;
  -webkit-transition: opacity 0.7s ease, -webkit-transform 0.7s ease;
  transition: opacity 0.7s ease, -webkit-transform 0.7s ease;
  transition: opacity 0.7s ease, transform 0.7s ease;
  transition: opacity 0.7s ease, transform 0.7s ease, -webkit-transform 0.7s ease;
}
@media screen and (max-width: 767px) {
  .works-main .anime-works-detail {
    -webkit-transform: translateY(10.6666666667vw);
            transform: translateY(10.6666666667vw);
  }
}
@media screen and (min-width: 768px) {
  .works-main .anime-works-detail {
    -webkit-transform: translateY(min(2.0833333333vw, 40px));
            transform: translateY(min(2.0833333333vw, 40px));
  }
}
.works-main .anime-works-detail.show {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.works-main .works-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .works-main .works-detail {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 10.6666666667vw;
    gap: 5.3333333333vw;
    padding: 5.3333333333vw;
    border-radius: 2.6666666667vw;
    -webkit-box-shadow: 0 1.0666666667vw 1.0666666667vw rgba(0, 0, 0, 0.25);
            box-shadow: 0 1.0666666667vw 1.0666666667vw rgba(0, 0, 0, 0.25);
  }
}
@media screen and (min-width: 768px) {
  .works-main .works-detail {
    width: min(60.4166666667vw, 1160px);
    height: min(13.0208333333vw, 250px);
    margin-top: min(1.8229166667vw, 35px);
    gap: min(1.9791666667vw, 38px);
    padding: min(0.7291666667vw, 14px) min(2.03125vw, 39px) min(0.78125vw, 15px) min(1.8229166667vw, 35px);
    border-radius: min(0.5208333333vw, 10px);
    -webkit-box-shadow: 0 min(0.2083333333vw, 4px) min(0.2083333333vw, 4px) rgba(0, 0, 0, 0.25);
            box-shadow: 0 min(0.2083333333vw, 4px) min(0.2083333333vw, 4px) rgba(0, 0, 0, 0.25);
  }
}
@media screen and (max-width: 767px) {
  .works-main .works-detail img {
    width: 78.6666666667vw;
    height: 48vw;
    border-radius: 2.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .works-main .works-detail img {
    width: min(17.2916666667vw, 332px);
    height: min(11.5104166667vw, 221px);
  }
}
@media screen and (max-width: 767px) {
  .works-main .works-detail .works-detail-text {
    gap: 5.3333333333vw;
    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-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (min-width: 768px) {
  .works-main .works-detail .works-detail-text {
    gap: min(0.625vw, 12px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.works-main .works-detail .works-detail-text h3 {
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .works-main .works-detail .works-detail-text h3 {
    font-size: 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .works-main .works-detail .works-detail-text h3 {
    font-size: min(1.6666666667vw, 32px);
  }
}
@media screen and (max-width: 767px) {
  .works-main .works-detail .works-detail-text h4 {
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .works-main .works-detail .works-detail-text h4 {
    font-size: min(0.8333333333vw, 16px);
  }
}
@media screen and (min-width: 768px) {
  .works-main .works-detail .works-detail-text h4 .works-detail-fs {
    font-size: min(0.5208333333vw, 10px);
  }
}

/* -----------------------
  C_example
----------------------- */
/* -----------------------
  main-section
----------------------- */
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.st-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .st-title {
    padding-top: min(4.1666666667vw, 80px);
  }
}
.st-title .C_title {
  margin-top: min(1.6666666667vw, 32px);
  margin-bottom: min(3.3333333333vw, 64px);
  letter-spacing: 5px;
  font-size: min(4.0104166667vw, 77px);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: normal;
  font-weight: 900;
}
@media screen and (min-width: 768px) {
  .st-title .C_title {
    width: min(23.4375vw, 450px);
    padding-bottom: min(1.40625vw, 27px);
  }
}
@media screen and (max-width: 767px) {
  .st-title .C_title {
    width: 45.3333333333vw;
    padding-bottom: 3.2vw;
  }
}
@media screen and (min-width: 768px) {
  .st-title .C_title--TX {
    font-size: min(4.0104166667vw, 77px);
    letter-spacing: min(0.1203125vw, 2.31px);
  }
}
@media screen and (max-width: 767px) {
  .st-title .C_title--TX {
    font-size: 8vw;
    letter-spacing: 0.24vw;
  }
}
.st-title .C_title::before {
  background: linear-gradient(93deg, #0050A0 5.58%, #00366D 96.38%);
}
@media screen and (min-width: 768px) {
  .st-title .C_title::before {
    height: min(0.3125vw, 6px);
  }
}
@media screen and (max-width: 767px) {
  .st-title .C_title::before {
    height: 1.0666666667vw;
  }
}
.st-title p {
  font-size: min(2.6041666667vw, 50px);
  font-weight: 600;
}
.st-title .title-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.st-title .title-flex img {
  -webkit-transform: translateY(min(-1.0416666667vw, -20px));
          transform: translateY(min(-1.0416666667vw, -20px));
  margin-right: min(0.5208333333vw, 10px);
}

.st-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: #e3f7ff;
}
.st-item:nth-child(2) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.st-item .item-text {
  width: 50%;
  margin-left: auto;
}
.st-item .item-text .text-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: last baseline;
      -ms-flex-align: last baseline;
          align-items: last baseline;
}
.st-item .item-text h2 {
  font-size: min(1.6666666667vw, 32px);
  line-height: 1.5;
  letter-spacing: 2px;
}
.st-item .item-text h2 span {
  font-weight: bold;
  background: #FFEE00;
}
.st-item .img-wrap {
  width: 50%;
}
.st-item .img-wrap img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center left;
     object-position: center left;
  opacity: 0.6;
}

@media screen and (min-width: 768px) {
  .st-item-1 .item-text {
    width: min(36.4583333333vw, 700px);
  }
}
.st-item-1 .item-text .text-width {
  width: min(36.4583333333vw, 700px);
}
.st-item-1 .item-text .text-width p {
  font-size: min(1.0416666667vw, 20px);
}
.st-item-1 .item-text .text-width {
  padding: min(1.6666666667vw, 32px) min(1.875vw, 36px) min(1.25vw, 24px) min(3.3333333333vw, 64px);
}
.st-item-1 .item-text .text-flex p {
  color: #ffffff;
  font-size: min(9.375vw, 180px);
  line-height: 1;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 900;
}

.st-item-2 {
  background: #ffffff;
}
@media screen and (min-width: 768px) {
  .st-item-2 .item-text {
    width: min(44.2708333333vw, 850px);
  }
}
.st-item-2 .item-text {
  margin-right: auto;
  margin-left: 0;
}
.st-item-2 .item-text h2 {
  font-size: min(1.6666666667vw, 32px);
}
.st-item-2 .item-text .text-width {
  width: min(33.8541666667vw, 650px);
  margin: 0 auto;
}
.st-item-2 .item-text .text-width p {
  font-size: min(1.0416666667vw, 20px);
  margin-bottom: 1em;
}
.st-item-2 .item-text .text-width {
  padding: min(1.6666666667vw, 32px) min(0.46875vw, 9px) min(3.3333333333vw, 64px) min(0.4166666667vw, 8px);
}
.st-item-2 .item-text .text-flex p {
  color: #E3F7FF;
  font-size: min(9.375vw, 180px);
  line-height: 1;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 900;
}
.st-item-2 .img-wrap img {
  -o-object-position: center right;
     object-position: center right;
}

@media screen and (min-width: 768px) {
  .st-item-3 .item-text {
    width: min(36.4583333333vw, 700px);
  }
}
.st-item-3 .item-text {
  margin-left: auto;
}
.st-item-3 .item-text h2 {
  font-size: min(1.6666666667vw, 32px);
  margin-left: min(1.6666666667vw, 32px);
}
.st-item-3 .item-text .text-width {
  width: min(36.4583333333vw, 700px);
}
.st-item-3 .item-text .text-width p {
  font-size: min(1.0416666667vw, 20px);
}
@media screen and (min-width: 768px) {
  .st-item-3 .item-text .text-width p {
    margin-bottom: 1em;
  }
}
.st-item-3 .item-text .text-width {
  padding: min(1.6666666667vw, 32px) min(1.875vw, 36px) min(1.25vw, 24px) min(3.3333333333vw, 64px);
}
.st-item-3 .item-text .text-flex p {
  color: #ffffff;
  font-size: min(9.375vw, 180px);
  line-height: 1;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 900;
}

@media screen and (max-width: 767px) {
  .st-title {
    padding-top: 21.3333333333vw;
  }
  .st-title .C_title {
    font-size: 7.4666666667vw;
    margin: 8.5333333333vw 0 17.0666666667vw;
  }
  .st-title p {
    font-size: 5.3333333333vw;
  }
  .st-title .title-flex {
    width: 93.3333333333vw;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .st-title .title-flex img {
    width: 73%;
    -webkit-transform: translateY(-1.8666666667vw);
            transform: translateY(-1.8666666667vw);
  }
  .st-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .st-item:nth-child(2) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .st-item .item-text {
    width: 100%;
  }
  .st-item .img-wrap {
    width: 100%;
  }
  .st-item .img-wrap img {
    height: 64vw;
  }
  .st-item-1 .item-text {
    margin: 0 auto;
    padding: 0 4.2666666667vw;
  }
  .st-item-1 .item-text h2 {
    font-size: 4.2666666667vw;
    line-height: 2;
    margin: 0;
  }
  .st-item-1 .item-text .text-width {
    width: 100%;
    padding: 8.5333333333vw 0 17.0666666667vw;
  }
  .st-item-1 .item-text .text-width p {
    font-size: 4.2666666667vw;
    margin-bottom: 1em;
    line-height: 1.8;
  }
  .st-item-1 .item-text .text-flex p {
    margin-right: 1.3333333333vw;
    font-size: 18.6666666667vw;
  }
  .st-item-2 {
    background: #ffffff;
  }
  .st-item-2 .item-text {
    padding-right: 4.2666666667vw;
    padding-left: 4.2666666667vw;
    margin: 0;
  }
  .st-item-2 .item-text h2 {
    font-size: 4vw;
    letter-spacing: 0;
    line-height: 2;
  }
  .st-item-2 .item-text .text-width {
    padding: 8.5333333333vw 0 17.0666666667vw;
    width: 100%;
  }
  .st-item-2 .item-text .text-width p {
    font-size: 4.2666666667vw;
    margin-bottom: 1em;
    line-height: 1.8;
  }
  .st-item-2 .item-text .text-flex p {
    margin-right: 1.3333333333vw;
    font-size: 18.6666666667vw;
  }
  .st-item-3 .item-text {
    margin: 0 auto;
    padding: 0 4.2666666667vw;
  }
  .st-item-3 .item-text h2 {
    font-size: 4.2666666667vw;
    line-height: 2;
    margin: 0;
  }
  .st-item-3 .item-text .text-width {
    padding: 8.5333333333vw 0 17.0666666667vw;
    width: 100%;
  }
  .st-item-3 .item-text .text-width p {
    font-size: 4.2666666667vw;
    line-height: 1.8;
  }
  .st-item-3 .item-text .text-flex p {
    margin-right: 1.3333333333vw;
    font-size: 18.6666666667vw;
  }
}
/* -----------------------
  main-section
----------------------- */
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: normal;
}

.protection p {
  line-height: 1.8;
}

.pur-list ul {
  margin-left: min(1.8229166667vw, 35px);
}
.pur-list ul li {
  list-style-type: disc;
  line-height: 1.8;
}

.pur-item h3 {
  position: relative;
  padding-left: min(0.8333333333vw, 16px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.pur-item h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: min(0.4166666667vw, 8px);
  height: 1.5em;
  background: #178BFF;
}
.pur-item .pur-list {
  padding: min(1.25vw, 24px) 0 min(3.3333333333vw, 64px) min(1.0416666667vw, 20px);
}

@media screen and (min-width: 768px) {
  .purpose {
    width: min(68.75vw, 1320px);
    margin: 0 auto;
  }
  .pro-title {
    width: min(68.75vw, 1320px);
    margin: 0 auto;
    padding: min(3.3333333333vw, 64px) 0;
    font-size: min(0.9375vw, 18px);
  }
  .pro-title p {
    line-height: 1.5;
  }
  .pur-item h3 {
    font-size: min(1.4583333333vw, 28px);
    font-weight: 600;
  }
  .pur-item .pur-list {
    font-size: min(0.9375vw, 18px);
    position: relative;
  }
  .pur-item .pur-list::before {
    content: "";
    position: absolute;
    top: 3%;
    left: 0;
    width: 100%;
    height: min(0.1041666667vw, 2px);
    background: #dadada;
  }
}
@media screen and (max-width: 767px) {
  .purpose {
    width: 100vw;
    margin: 0 auto;
    padding: 0 4.2666666667vw;
  }
  .pro-title {
    width: 100vw;
    margin: 0 auto;
    font-size: 4.2666666667vw;
    padding: 17.0666666667vw 4.2666666667vw;
  }
  .pro-title p {
    line-height: 1.8;
  }
  ul {
    margin-left: 5.3333333333vw;
  }
  ul li {
    margin: 0;
  }
  .pur-item h3 {
    font-size: 4.8vw;
    font-weight: 600;
    padding-left: 4.2666666667vw;
  }
  .pur-item h3::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 1.8666666667vw;
    height: 1.5em;
    background: #178BFF;
    z-index: 1;
  }
  .pur-item .pur-list {
    font-size: 3.7333333333vw;
    padding: 6.4vw 0 17.0666666667vw;
    position: relative;
  }
  .pur-item .pur-list::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0.2666666667vw;
    background: #dadada;
  }
  .pur-item .sp-padding {
    padding: 6.4vw 0 80vw;
  }
}
/* -----------------------
  main-section
----------------------- */
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: normal;
}

.con-con ul {
  margin-left: min(1.8229166667vw, 35px);
}
.con-con ul li {
  list-style-type: disc;
}

@media screen and (min-width: 768px) {
  .con-pur-title {
    padding-top: min(3.3333333333vw, 64px);
  }
}
@media screen and (max-width: 767px) {
  .con-pur-title {
    padding-top: 17.0666666667vw;
  }
}
.con-pur-title h3 {
  position: relative;
  padding-left: min(0.8333333333vw, 16px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 500;
}
.con-pur-title h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: min(0.4166666667vw, 8px);
  height: 1.5em;
  background: #178BFF;
}

.con-con {
  background: #f7f7f7;
  padding: min(1.6666666667vw, 32px);
  width: min(52.0833333333vw, 1000px);
  margin: min(3.3333333333vw, 64px) auto;
}
.con-con p {
  font-size: min(0.7291666667vw, 14px);
}
.con-con .con-flex img {
  width: min(1.5625vw, 30px);
  height: min(1.5625vw, 30px);
  margin-right: min(0.4166666667vw, 8px);
}
.con-con .con-flex p {
  font-size: min(1.0416666667vw, 20px);
  font-weight: 600;
}
.con-con ul li {
  font-size: min(0.7291666667vw, 14px);
  padding-top: min(0.8333333333vw, 16px);
}
.con-con .con-text {
  padding-top: min(1.0416666667vw, 20px);
}

.con-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: min(48.9583333333vw, 940px);
  position: relative;
  margin-bottom: min(0.8333333333vw, 16px);
}
.con-flex::after {
  content: "";
  position: absolute;
  bottom: -30%;
  left: 0;
  width: 100%;
  height: min(0.0520833333vw, 1px);
  background: #21272D;
}
.con-flex p {
  padding: 0 !important;
}

.con-pur-item h3 {
  position: relative;
  padding-left: min(0.8333333333vw, 16px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.con-pur-item h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: min(0.4166666667vw, 8px);
  height: 1.5em;
  background: #BA0100;
}
.con-pur-item .con-pur-list {
  padding: min(1.6666666667vw, 32px) 0 min(3.3333333333vw, 64px);
  position: relative;
}
.con-pur-item .con-pur-list ul {
  padding: min(0.9375vw, 18px);
}
@media screen and (min-width: 768px) {
  .con-pur-item .con-pur-list P {
    padding-left: min(2.0833333333vw, 40px);
  }
}

.con-area {
  padding: min(2.6041666667vw, 50px) 0;
  line-height: 1.7em;
}

@media screen and (min-width: 768px) {
  .con-purpose {
    width: min(68.75vw, 1320px);
    margin: 0 auto;
  }
  .con-pur-title {
    width: min(68.75vw, 1320px);
    font-size: min(1.4583333333vw, 28px);
  }
  .con-pur-title h3::after {
    content: "";
    position: absolute;
    bottom: -20%;
    left: 0;
    width: 100%;
    height: min(0.1041666667vw, 2px);
    background: #dadada;
  }
  .con-pur-item h3 {
    font-size: min(1.4583333333vw, 28px);
    font-weight: 600;
  }
  .con-pur-item .con-pur-list {
    font-size: min(0.9375vw, 18px);
  }
  .con-pur-item .con-pur-list::before {
    content: "";
    position: absolute;
    top: 3%;
    left: 0;
    width: 100%;
    height: min(0.1041666667vw, 2px);
    background: #dadada;
  }
}
.con-materials {
  width: min(20.8333333333vw, 400px);
  height: min(3.125vw, 60px);
  background: #BA0100;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto;
  cursor: pointer;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  align-items: center;
  margin-bottom: min(3.3333333333vw, 64px);
}
.con-materials a {
  font-size: min(1.0416666667vw, 20px);
}
.con-materials a button {
  color: #ffffff;
  cursor: pointer;
  font-size: min(1.0416666667vw, 20px);
}
.con-materials::before {
  content: "";
  position: absolute;
  left: 90%;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: min(0.78125vw, 15px) solid #ffffff;
  border-top: min(0.5208333333vw, 10px) solid transparent;
  border-bottom: min(0.5208333333vw, 10px) solid transparent;
}

@media screen and (max-width: 767px) {
  .con-pur-title h3 {
    padding-left: 4.2666666667vw;
    font-size: 4.8vw;
  }
  .con-pur-title h3::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 1.0666666667vw;
    height: 1.5em;
    background: #178BFF;
    z-index: 1;
  }
  .con-pur-title h3::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0.2666666667vw;
    background: #dadada;
  }
  .con-con {
    background: #f7f7f7;
    width: 89.3333333333vw;
    margin: 4.8vw auto 10.6666666667vw;
    padding: 4.2666666667vw;
  }
  .con-con p {
    font-size: 3.7333333333vw;
  }
  .con-con .con-flex {
    width: 80.8vw;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .con-con .con-flex img {
    width: 3.2vw;
    height: 3.2vw;
    margin-right: 2.1333333333vw;
  }
  .con-con .con-flex p {
    font-size: 3.7333333333vw;
  }
  .con-con .con-flex::after {
    bottom: -10%;
  }
  .con-con ul li {
    font-size: 3.7333333333vw;
    padding-top: 3.2vw;
  }
  .con-con .con-text {
    padding-top: 5.3333333333vw;
  }
  .con-purpose {
    width: 100vw;
    margin: 0 auto;
    padding: 0 4.2666666667vw;
  }
  .con-title {
    width: 100vw;
    margin: 17.0666666667vw auto;
    font-size: 4.2666666667vw;
    padding: 0 4.2666666667vw;
  }
  ul {
    margin-left: 5.3333333333vw;
  }
  ul li {
    margin: 0;
  }
  .con-pur-item h3 {
    font-size: 4.8vw;
    font-weight: 600;
    padding-left: 4.2666666667vw;
  }
  .con-pur-item h3::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 1.8666666667vw;
    height: 1.5em;
    background: #BA0100;
    z-index: 1;
  }
  .con-pur-item .con-pur-list {
    font-size: 3.7333333333vw;
    padding: 6.4vw 0 17.0666666667vw;
  }
  .con-pur-item .con-pur-list::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0.2666666667vw;
    background: #dadada;
  }
  .con-pur-item .con-pur-list ul {
    padding: 4.8vw;
    margin: 0;
  }
  .con-pur-item .con-pur-list ul li {
    margin-bottom: 1em;
  }
  .con-materials {
    width: 56vw;
    height: 12.8vw;
    margin-bottom: 17.0666666667vw;
  }
  .con-materials a button {
    font-size: 3.7333333333vw;
    font-weight: 500;
    letter-spacing: 0.5333333333vw;
  }
  .con-materials::before {
    border-left: 2.6666666667vw solid #ffffff;
    border-top: 2.1333333333vw solid transparent;
    border-bottom: 2.1333333333vw solid transparent;
  }
  .con-area {
    padding: 8vw 0;
    line-height: 1.7em;
  }
}
/* -----------------------
  main-section
----------------------- */
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: normal;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: normal;
}

@media screen and (min-width: 768px) {
  .ap-purpose {
    padding-top: min(4.1666666667vw, 80px);
    padding-bottom: min(6.25vw, 120px);
  }
}
@media screen and (max-width: 767px) {
  .ap-purpose {
    padding-top: 17.0666666667vw;
    padding-bottom: 17.0666666667vw;
  }
}

.ap-con {
  background: #f7f7f7;
  padding: min(1.6666666667vw, 32px);
  width: min(52.0833333333vw, 1000px);
  margin: min(3.3333333333vw, 64px) auto;
}
.ap-con p {
  font-size: min(0.9375vw, 18px);
}
.ap-con .ap-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: min(48.9583333333vw, 940px);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: min(1.3020833333vw, 25px);
  position: relative;
}
.ap-con .ap-flex::after {
  content: "";
  position: absolute;
  bottom: -40%;
  left: 0;
  width: 100%;
  height: min(0.0520833333vw, 1px);
  background: #21272D;
}
.ap-con .ap-flex img {
  width: min(1.5625vw, 30px);
  height: min(1.5625vw, 30px);
  margin-right: min(0.4166666667vw, 8px);
}
.ap-con .ap-flex p {
  font-size: min(1.0416666667vw, 20px);
}
.ap-con ul li {
  font-size: min(0.7291666667vw, 14px);
  padding-top: min(0.9375vw, 18px);
}
.ap-con a {
  display: block;
  margin-left: min(0.5208333333vw, 10px);
  font-size: min(0.7291666667vw, 14px);
  background: linear-gradient(93deg, #0050A0 5.58%, #00366D 96.38%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.ap-con .circle-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: min(0.9375vw, 18px);
}
.ap-con .circle-flex .circle {
  width: min(1.0416666667vw, 20px);
  height: min(1.0416666667vw, 20px);
  border-radius: 50%;
  background: linear-gradient(93deg, #0050A0 5.58%, #00366D 96.38%);
  position: relative;
}
.ap-con .circle-flex .circle::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-top: min(0.3125vw, 6px) solid transparent;
  border-bottom: min(0.3125vw, 6px) solid transparent;
  border-left: min(0.2604166667vw, 5px) solid #ffffff;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.ap-pur-item h3 {
  position: relative;
  padding-left: min(0.8333333333vw, 16px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.ap-pur-item h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: min(0.4166666667vw, 8px);
  height: 1.5em;
  background: #178BFF;
}
.ap-pur-item .ap-pur-list {
  padding: min(1.6666666667vw, 32px) 0 min(3.3333333333vw, 64px);
  position: relative;
}
.ap-pur-item .ap-pur-list::before {
  content: "";
  position: absolute;
  top: 3%;
  left: 0;
  width: 100%;
  height: min(0.1041666667vw, 2px);
  background: #dadada;
}

.contact {
  width: min(52.0833333333vw, 1000px);
  height: min(10.4166666667vw, 200px);
  border: min(0.1041666667vw, 2px) solid #BA0100;
  letter-spacing: min(0.1041666667vw, 2px);
  margin: 0 auto;
  text-align: center;
  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-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: min(0.5208333333vw, 10px);
}
.contact p {
  font-size: min(1.1458333333vw, 22px);
  font-weight: 700;
}
.contact span {
  color: #BA0100;
  font-weight: 700;
}
.contact .num-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.contact .num-flex .number {
  font-size: min(2.1875vw, 42px);
}
.contact .num-flex .number a {
  color: #21272D;
  font-weight: 600;
}

.time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: left;
  color: #BA0100;
  font-weight: 700;
}
.time p:nth-child(1) {
  padding-right: min(1.0416666667vw, 20px);
}
.time p:nth-child(2) {
  padding-right: min(3.6458333333vw, 70px);
}

@media screen and (min-width: 768px) {
  .ap-purpose {
    width: min(68.75vw, 1320px);
    margin: 0 auto;
  }
  .ap-pur-item h3 {
    font-size: min(1.4583333333vw, 28px);
    font-weight: 600;
  }
  .ap-pur-item .ap-pur-list {
    font-size: min(0.9375vw, 18px);
  }
  .contact .num-flex {
    margin-left: min(6.25vw, 120px);
  }
  .contact .num-flex .ok {
    margin-left: min(0.78125vw, 15px);
  }
}
@media screen and (max-width: 767px) {
  .ap-con {
    background: #f7f7f7;
    width: 89.3333333333vw;
    margin: 2.6666666667vw auto;
    padding: 4.2666666667vw;
  }
  .ap-con p {
    font-size: 3.7333333333vw;
  }
  .ap-con .ap-flex {
    width: 80.8vw;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 5.3333333333vw;
  }
  .ap-con .ap-flex img {
    width: 3.2vw;
    height: 3.2vw;
    margin-right: 2.1333333333vw;
  }
  .ap-con .ap-flex p {
    font-size: 3.7333333333vw;
    font-weight: normal;
  }
  .ap-con .ap-flex::after {
    bottom: -10%;
  }
  .ap-con p {
    font-weight: 700;
  }
  .ap-con ul li {
    font-size: 3.7333333333vw;
    padding-top: 1.3333333333vw;
  }
  .ap-con a {
    margin-left: 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
  .ap-con .circle-flex {
    padding-top: 2.6666666667vw;
  }
  .ap-con .circle-flex .circle {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
  }
  .ap-con .circle-flex .circle::before {
    border-top: 1.6vw solid transparent;
    border-bottom: 1.6vw solid transparent;
    border-left: 1.3333333333vw solid #ffffff;
  }
  ul {
    margin-left: 5.3333333333vw;
  }
  ul li {
    margin: 0;
  }
  .ap-pur-item {
    margin-top: 8.5333333333vw;
  }
  .ap-pur-item h3 {
    font-size: 4.8vw;
    font-weight: 600;
    padding-left: 4.2666666667vw;
  }
  .ap-pur-item h3::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 1.8666666667vw;
    height: 1.5em;
    background: #178BFF;
    z-index: 1;
  }
  .ap-pur-item .ap-pur-list {
    font-size: 3.7333333333vw;
  }
  .ap-pur-item .ap-pur-list::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0.2666666667vw;
    background: #dadada;
  }
  .ap-pur-item .ap-pur-list ul {
    padding: 0 4.8vw;
    margin: 0;
  }
  .ap-pur-item .ap-pur-list ul li {
    margin-bottom: 0.5em;
  }
  .contact {
    width: 89.3333333333vw;
    height: 37.3333333333vw;
    border: 0.5333333333vw solid #BA0100;
    border-radius: 2.6666666667vw;
  }
  .contact p {
    font-size: 4.2666666667vw;
    font-weight: 700;
  }
  .contact span {
    color: #BA0100;
    font-weight: 700;
  }
  .contact .num-flex {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .contact .num-flex .ok {
    font-size: 2.6666666667vw;
    width: 20vw;
    text-align: left;
  }
  .contact .num-flex .sp {
    color: #21272D;
  }
  .contact .num-flex .number {
    font-size: 8.5333333333vw;
  }
  .contact .num-flex .number a {
    color: #21272D;
    font-weight: 600;
  }
  .time p:nth-child(1) {
    padding-right: 2.6666666667vw;
    font-size: 3.4666666667vw;
  }
  .time p:nth-child(2) {
    padding-right: 0;
    font-size: 3.4666666667vw;
  }
  .claim {
    margin-bottom: 17.0666666667vw;
  }
  .claim p {
    padding-top: 5.3333333333vw;
  }
  .claim ul li {
    padding-top: 2.6666666667vw;
  }
}
/* -----------------------
  C_example
----------------------- */
/* -----------------------
  front
----------------------- */
/* -----------------------
  strong
----------------------- */
.strong-top {
  background: #E3F7FF;
}
@media screen and (min-width: 768px) {
  .strong-top {
    padding-block: min(0.9895833333vw, 19px) min(3.0208333333vw, 58px);
  }
}
@media screen and (max-width: 767px) {
  .strong-top {
    padding: 21.3333333333vw 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .strong-wrap {
    width: min(59.7395833333vw, 1147px);
    margin: 0 auto;
  }
}
.strong-TL {
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .strong-TL {
    font-size: min(2.6041666667vw, 50px);
    letter-spacing: min(0.1822916667vw, 3.5px);
  }
}
@media screen and (max-width: 767px) {
  .strong-TL {
    font-size: 6.4vw;
    letter-spacing: 0.256vw;
  }
}
.strong-TL .C_logo {
  display: inline-block;
  position: relative;
}
@media screen and (min-width: 768px) {
  .strong-TL .C_logo {
    width: min(25vw, 480px);
    top: min(1.3020833333vw, 25px);
    margin-right: min(0.8333333333vw, 16px);
  }
}
@media screen and (max-width: 767px) {
  .strong-TL .C_logo {
    width: 64.2666666667vw;
    top: 4vw;
    margin-right: 1.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .strong .C_title {
    margin-top: min(2.03125vw, 39px);
  }
}
@media screen and (max-width: 767px) {
  .strong .C_title {
    width: 45.3333333333vw;
    padding-bottom: 3.2vw;
    margin-top: 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .strong .C_title--TX {
    font-size: min(4.0104166667vw, 77px);
    letter-spacing: min(0.1203125vw, 2.31px);
  }
}
@media screen and (max-width: 767px) {
  .strong .C_title--TX {
    font-size: 8vw;
    letter-spacing: 0.24vw;
  }
}
.strong .C_title::before {
  background: linear-gradient(93deg, #0050A0 5.58%, #00366D 96.38%);
}
@media screen and (min-width: 768px) {
  .strong .C_title::before {
    height: min(0.3125vw, 6px);
  }
}
@media screen and (max-width: 767px) {
  .strong .C_title::before {
    height: 1.0666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .strong-content {
    margin-top: min(2.8125vw, 54px);
  }
}
@media screen and (max-width: 767px) {
  .strong-content {
    margin-top: 13.3333333333vw;
  }
}
.strong-content ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .strong-content ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8vw;
  }
}
.strong-content ul .strong-item {
  aspect-ratio: 1/1;
}
@media screen and (min-width: 768px) {
  .strong-content ul .strong-item {
    width: min(19.4270833333vw, 373px);
    padding-top: min(2.4479166667vw, 47px);
  }
}
@media screen and (max-width: 767px) {
  .strong-content ul .strong-item {
    width: 84vw;
    padding-top: 10.6666666667vw;
  }
}
.strong-content ul .strong-item-01 {
  background-image: url("../img/strong-01.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.strong-content ul .strong-item-02 {
  background-image: url("../img/strong-02.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.strong-content ul .strong-item-03 {
  background-image: url("../img/strong-03.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.strong-content ul .strong-item-TX {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .strong-content ul .strong-item-TX {
    font-size: min(1.25vw, 24px);
    line-height: min(1.7708333333vw, 34px);
    letter-spacing: min(0.075vw, 1.44px);
  }
}
@media screen and (max-width: 767px) {
  .strong-content ul .strong-item-TX {
    font-size: 4.8vw;
    line-height: 1.6;
    letter-spacing: 0.288vw;
  }
}
.strong-content ul .strong-item-TX .marker {
  font-weight: 700;
  background: #FE0;
  padding: 0.1em 0.2em;
}
.strong-bottom {
  position: relative;
}
@media screen and (min-width: 768px) {
  .strong-bottom {
    padding-block: min(4.9479166667vw, 95px) min(6.7708333333vw, 130px);
  }
}
@media screen and (max-width: 767px) {
  .strong-bottom {
    padding-block: 33.6vw 37.8666666667vw;
  }
}
.strong-bottom::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 768px) {
  .strong-bottom::before {
    width: 0;
    height: 0;
    border-left: min(2.6041666667vw, 50px) solid transparent;
    border-right: min(2.6041666667vw, 50px) solid transparent;
    border-top: min(2.6041666667vw, 50px) solid #E3F7FF;
  }
}
@media screen and (max-width: 767px) {
  .strong-bottom::before {
    width: 0;
    height: 0;
    border-left: 10.6666666667vw solid transparent;
    border-right: 10.6666666667vw solid transparent;
    border-top: 10.6666666667vw solid #E3F7FF;
  }
}
.strong-bottom .C_gray-bg {
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .strong-bottom .C_gray-bg {
    margin: min(2.0833333333vw, 40px) auto 0;
    padding: min(2.3958333333vw, 46px) min(1.8229166667vw, 35px) min(2.9166666667vw, 56px) min(6.8229166667vw, 131px);
  }
}
@media screen and (max-width: 767px) {
  .strong-bottom .C_gray-bg {
    padding: 10.6666666667vw 5.3333333333vw;
    margin-top: 10.6666666667vw;
  }
}
.strong-bottom .C_gray-bg .strong-illust {
  background-image: url("../img/strong-illust.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .strong-bottom .C_gray-bg .strong-illust {
    bottom: -0.7291666667vw;
    left: -1.6145833333vw;
  }
}
@media screen and (min-width: 1920px) {
  .strong-bottom .C_gray-bg .strong-illust {
    bottom: -14px;
    left: -31px;
  }
}
@media screen and (max-width: 767px) {
  .strong-bottom .C_gray-bg .strong-illust {
    bottom: -24vw;
    right: 0;
  }
}

/* -----------------------
    sales
----------------------- */
@media screen and (min-width: 768px) {
  .sales {
    padding-block: min(5.2083333333vw, 100px);
  }
}
@media screen and (max-width: 767px) {
  .sales {
    padding-block: 21.3333333333vw 34.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .sales-wrap {
    width: min(67.96875vw, 1305px);
    margin: 0 auto;
  }
}
@media screen and (min-width: 768px) {
  .sales-wrap .C_title {
    margin-top: min(2.0833333333vw, 40px);
  }
}
@media screen and (max-width: 767px) {
  .sales-wrap .C_title {
    margin-top: 8vw;
  }
}
.sales-content {
  background: #E3F7FF;
}
@media screen and (min-width: 768px) {
  .sales-content {
    margin-top: min(3.3333333333vw, 64px);
    padding: min(2.03125vw, 39px) min(9.53125vw, 183px) min(1.875vw, 36px) min(12.0833333333vw, 232px);
    border-radius: min(0.5208333333vw, 10px);
    border: min(0.15625vw, 3px) solid #0054A8;
    -webkit-box-shadow: min(0.2083333333vw, 4px) min(0.2083333333vw, 4px) min(0.2083333333vw, 4px) 0 rgba(0, 0, 0, 0.25);
            box-shadow: min(0.2083333333vw, 4px) min(0.2083333333vw, 4px) min(0.2083333333vw, 4px) 0 rgba(0, 0, 0, 0.25);
  }
}
@media screen and (max-width: 767px) {
  .sales-content {
    margin-top: 13.3333333333vw;
    padding: 10.6666666667vw 5.3333333333vw;
    border: 0.5333333333vw solid #0054A8;
  }
}
.sales-content .gra-btn {
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .sales-content .gra-btn {
    width: min(22.7604166667vw, 437px);
  }
}
@media screen and (max-width: 767px) {
  .sales-content .gra-btn {
    width: 53.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .sales-content .sales-img {
    margin-top: min(2.2395833333vw, 43px);
  }
}
@media screen and (max-width: 767px) {
  .sales-content .sales-img {
    margin-top: 5.3333333333vw;
  }
}
.sales-content .sales-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.sales .blue-gra-TL {
  margin-top: min(3.28125vw, 63px);
}
@media screen and (max-width: 767px) {
  .sales .blue-gra-TL {
    margin-top: 13.3333333333vw;
    padding-inline: 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .sales .C_gray-bg {
    margin-top: min(1.71875vw, 33px);
    padding: min(1.9270833333vw, 37px) min(2.7604166667vw, 53px) min(1.71875vw, 33px) min(3.4375vw, 66px);
  }
}
@media screen and (max-width: 767px) {
  .sales .C_gray-bg {
    margin-top: 10.6666666667vw;
    padding: 10.6666666667vw 5.3333333333vw;
  }
}
.sales .C_gray-bg .sales-illust {
  background-image: url("../img/sales-illust.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .sales .C_gray-bg .sales-illust {
    bottom: 0;
    right: -1.9791666667vw;
  }
}
@media screen and (min-width: 1920px) {
  .sales .C_gray-bg .sales-illust {
    bottom: -14px;
    right: -38px;
  }
}
@media screen and (max-width: 767px) {
  .sales .C_gray-bg .sales-illust {
    bottom: -20.5333333333vw;
    right: 0vw;
  }
}

/* -----------------------
  works
----------------------- */
@media screen and (min-width: 768px) {
  .works {
    padding-block: min(5.2083333333vw, 100px);
  }
}
@media screen and (max-width: 767px) {
  .works {
    padding-block: 21.3333333333vw 34.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .works-wrap {
    width: min(68.6979166667vw, 1319px);
    margin: 0 auto;
  }
}
@media screen and (min-width: 768px) {
  .works-wrap .C_title {
    margin-top: min(2.0833333333vw, 40px);
    width: min(31.25vw, 600px);
  }
}
@media screen and (max-width: 767px) {
  .works-wrap .C_title {
    margin-top: 10.6666666667vw;
    width: 61.8666666667vw;
  }
}
.works-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .works-content {
    margin-top: min(2.2916666667vw, 44px);
    gap: min(2.2916666667vw, 44px);
  }
}
@media screen and (max-width: 767px) {
  .works-content {
    padding-inline: 5.3333333333vw;
    margin-top: 13.3333333333vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10.6666666667vw;
  }
}
.works-item {
  background: #E3F7FF;
}
@media screen and (min-width: 768px) {
  .works-item {
    width: min(33.2291666667vw, 638px);
    padding: min(2.34375vw, 45px) min(2.0833333333vw, 40px) min(1.5625vw, 30px);
    border-radius: min(0.2604166667vw, 5px);
    border: min(0.15625vw, 3px) solid #0054A8;
  }
}
@media screen and (max-width: 767px) {
  .works-item {
    padding: 10.6666666667vw 4vw 8vw;
    border-radius: 1.3333333333vw;
    border: 0.8vw solid #0054A8;
  }
}
.works-item .gra-btn {
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .works-item-img {
    width: min(29.0625vw, 558px);
    height: min(14.8958333333vw, 286px);
    margin-top: min(1.3020833333vw, 25px);
  }
}
@media screen and (max-width: 767px) {
  .works-item-img {
    width: 100%;
    height: 41.3333333333vw;
    margin-top: 5.3333333333vw;
  }
}
.works-item-img.img01 {
  background-image: url("../img/works-item-img01.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.works-item-img.img02 {
  background-image: url("../img/works-item-img02.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.works-item-content {
  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;
}
@media screen and (min-width: 768px) {
  .works-item-content {
    margin-top: min(1.25vw, 24px);
    row-gap: min(1.09375vw, 21px);
  }
}
@media screen and (max-width: 767px) {
  .works-item-content {
    margin-top: 2.6666666667vw;
    row-gap: 2.6666666667vw;
  }
}
.works-item-content li {
  background: #FFFFFF;
  display: grid;
  place-items: center;
}
@media screen and (min-width: 768px) {
  .works-item-content li {
    width: min(13.90625vw, 267px);
    height: min(7.7604166667vw, 149px);
    border-radius: min(0.2604166667vw, 5px);
  }
}
@media screen and (max-width: 767px) {
  .works-item-content li {
    width: 39.2vw;
    height: 21.3333333333vw;
  }
}
.works-item-content li p {
  text-align: center;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .works-item-content li p {
    font-size: min(1.25vw, 24px);
    line-height: 1.4;
    letter-spacing: min(0.075vw, 1.44px);
  }
}
@media screen and (max-width: 767px) {
  .works-item-content li p {
    font-size: 3.7333333333vw;
    line-height: 1.6;
    letter-spacing: 0.224vw;
  }
}
.works-item-btn {
  background: #178BFF;
}
@media screen and (min-width: 768px) {
  .works-item-btn {
    width: min(8.3333333333vw, 160px);
    height: min(2.8125vw, 54px);
    padding-left: min(1.3020833333vw, 25px);
    margin: min(1.0416666667vw, 20px) auto 0;
  }
}
@media screen and (max-width: 767px) {
  .works-item-btn {
    width: 49.8666666667vw;
    height: 12.2666666667vw;
    padding-left: 10.6666666667vw;
    margin: 8vw auto 0;
  }
}
.works-item-btn-link {
  width: 100%;
  height: 100%;
}
.works-item-btn-link p {
  color: #FFFFFF;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .works-item-btn-link p {
    font-size: min(0.8333333333vw, 16px);
    line-height: min(2.8125vw, 54px);
    letter-spacing: min(0.05vw, 0.96px);
    gap: min(0.625vw, 12px);
  }
}
@media screen and (max-width: 767px) {
  .works-item-btn-link p {
    font-size: 3.7333333333vw;
    line-height: 12.2666666667vw;
    letter-spacing: 0.224vw;
    gap: 10.6666666667vw;
  }
}
.works-item-btn-link p::after {
  content: "";
}
@media screen and (min-width: 768px) {
  .works-item-btn-link p::after {
    width: 0;
    height: 0;
    border-top: min(0.5208333333vw, 10px) solid transparent;
    border-bottom: min(0.5208333333vw, 10px) solid transparent;
    border-left: min(0.5208333333vw, 10px) solid #FFFFFF;
  }
}
@media screen and (max-width: 767px) {
  .works-item-btn-link p::after {
    width: 0;
    height: 0;
    border-top: 2.1333333333vw solid transparent;
    border-bottom: 2.1333333333vw solid transparent;
    border-left: 2.1333333333vw solid #FFFFFF;
  }
}
@media screen and (min-width: 768px) {
  .works .blue-gra-TL {
    margin-top: min(3.125vw, 60px);
  }
}
@media screen and (max-width: 767px) {
  .works .blue-gra-TL {
    margin-top: 13.3333333333vw;
    padding-inline: 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .works .C_gray-bg {
    margin-top: min(2.0833333333vw, 40px);
    padding: min(1.09375vw, 21px) min(3.0729166667vw, 59px) min(1.71875vw, 33px) min(3.0208333333vw, 58px);
    letter-spacing: min(0.0375vw, 0.72px);
  }
}
@media screen and (max-width: 767px) {
  .works .C_gray-bg {
    margin-top: 10.6666666667vw;
    padding: 10.6666666667vw 5.3333333333vw;
  }
}
.works .C_gray-bg .blue-gra {
  display: inline;
}
.works .C_gray-bg .works-illust {
  background-image: url("../img/works-illust.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .works .C_gray-bg .works-illust {
    width: min(9.2708333333vw, 178px);
    height: min(9.3229166667vw, 179px);
    bottom: -0.9375vw;
    right: -1.5104166667vw;
  }
}
@media screen and (min-width: 1920px) {
  .works .C_gray-bg .works-illust {
    bottom: -18px;
    right: -29px;
  }
}
@media screen and (max-width: 767px) {
  .works .C_gray-bg .works-illust {
    width: 38.6666666667vw;
    height: 38.9333333333vw;
    bottom: -27.4666666667vw;
    right: 0vw;
  }
}

/* -----------------------
  briefing
----------------------- */
@media screen and (min-width: 768px) {
  .briefing {
    padding-top: min(5.2083333333vw, 100px);
  }
}
@media screen and (max-width: 767px) {
  .briefing {
    padding-top: 21.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .briefing-wrap {
    padding-inline: 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .briefing .C_title {
    width: min(39.0625vw, 750px);
  }
}
@media screen and (max-width: 767px) {
  .briefing .C_title {
    width: 78.1333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .briefing-top {
    background: #FFEE00;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .briefing-top {
    padding: min(0.2604166667vw, 5px) min(2.5520833333vw, 49px);
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: min(1.3020833333vw, 25px) auto;
  }
}
.briefing-top-TX {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .briefing-top-TX {
    font-size: min(1.25vw, 24px);
  }
}
@media screen and (max-width: 767px) {
  .briefing-top-TX {
    margin-top: 13.3333333333vw;
  }
}
.briefing-top-TX-line {
  background: #FFEE00;
}
@media screen and (min-width: 768px) {
  .briefing-top-TX-line {
    padding-block: min(0.2604166667vw, 5px);
  }
}
@media screen and (max-width: 767px) {
  .briefing-top-TX-line {
    margin-top: 1.0666666667vw;
    display: block;
    padding: 0.8vw 4vw;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media screen and (min-width: 768px) {
  .briefing-middle-TX {
    text-align: center;
    margin-top: min(1.6666666667vw, 32px);
    font-size: min(1.25vw, 24px);
    letter-spacing: min(0.0375vw, 0.72px);
    line-height: 1.6;
  }
}
@media screen and (max-width: 767px) {
  .briefing-middle-TX {
    margin-top: 8vw;
    line-height: 1.8;
    letter-spacing: 0.128vw;
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .briefing-content {
    margin: min(3.8541666667vw, 74px) auto 0;
    width: min(68.2291666667vw, 1310px);
  }
}
@media screen and (max-width: 767px) {
  .briefing-content {
    margin-top: 8vw;
  }
}
.briefing-content-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .briefing-content-list {
    gap: min(1.3541666667vw, 26px);
  }
}
@media screen and (max-width: 767px) {
  .briefing-content-list {
    gap: 2.6666666667vw;
  }
}
.briefing-content-list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .briefing-content-list li {
    border: min(0.0520833333vw, 1px) solid;
    -webkit-box-shadow: 0 min(0.2083333333vw, 4px) min(0.2083333333vw, 4px) rgba(0, 0, 0, 0.25);
            box-shadow: 0 min(0.2083333333vw, 4px) min(0.2083333333vw, 4px) rgba(0, 0, 0, 0.25);
    width: min(16.0416666667vw, 308px);
    height: min(12.9166666667vw, 248px);
    border-radius: min(0.5208333333vw, 10px);
    padding-top: min(2.34375vw, 45px);
  }
}
@media screen and (max-width: 767px) {
  .briefing-content-list li {
    width: 43.2vw;
    height: 40vw;
    padding-top: 6.9333333333vw;
    border: 0.2666666667vw solid;
    -webkit-box-shadow: 0 0.5333333333vw 0.5333333333vw rgba(0, 0, 0, 0.25);
            box-shadow: 0 0.5333333333vw 0.5333333333vw rgba(0, 0, 0, 0.25);
    border-radius: 1.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .briefing-content-list li .img {
    height: min(5.4166666667vw, 104px);
  }
}
@media screen and (max-width: 767px) {
  .briefing-content-list li .img {
    height: 17.6vw;
  }
}
.briefing-content-list li .img.img01 {
  background-image: url("../img/briefing01.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .briefing-content-list li .img.img01 {
    width: min(3.4895833333vw, 67px);
  }
}
@media screen and (max-width: 767px) {
  .briefing-content-list li .img.img01 {
    width: 11.4666666667vw;
  }
}
.briefing-content-list li .img.img02 {
  background-image: url("../img/briefing02.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .briefing-content-list li .img.img02 {
    width: min(7.03125vw, 135px);
  }
}
@media screen and (max-width: 767px) {
  .briefing-content-list li .img.img02 {
    width: 24vw;
  }
}
.briefing-content-list li .img.img03 {
  background-image: url("../img/briefing03.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .briefing-content-list li .img.img03 {
    width: min(5.2604166667vw, 101px);
  }
}
@media screen and (max-width: 767px) {
  .briefing-content-list li .img.img03 {
    width: 15.7333333333vw;
  }
}
.briefing-content-list li .img.img04 {
  background-image: url("../img/briefing04.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .briefing-content-list li .img.img04 {
    width: min(9.0104166667vw, 173px);
  }
}
@media screen and (max-width: 767px) {
  .briefing-content-list li .img.img04 {
    width: 24.2666666667vw;
  }
}
.briefing-content-list li .img.img05 {
  background-image: url("../img/briefing05.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .briefing-content-list li .img.img05 {
    width: min(4.53125vw, 87px);
  }
}
@media screen and (max-width: 767px) {
  .briefing-content-list li .img.img05 {
    width: 12vw;
  }
}
.briefing-content-list li .img.img06 {
  background-image: url("../img/briefing06.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .briefing-content-list li .img.img06 {
    width: min(7.8125vw, 150px);
  }
}
@media screen and (max-width: 767px) {
  .briefing-content-list li .img.img06 {
    width: 20.8vw;
  }
}
.briefing-content-list li .img.img07 {
  background-image: url("../img/briefing07.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .briefing-content-list li .img.img07 {
    width: min(5.2604166667vw, 101px);
  }
}
@media screen and (max-width: 767px) {
  .briefing-content-list li .img.img07 {
    width: 15.4666666667vw;
  }
}
.briefing-content-list li .img.img08 {
  background-image: url("../img/briefing08.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .briefing-content-list li .img.img08 {
    width: min(5.3125vw, 102px);
  }
}
@media screen and (max-width: 767px) {
  .briefing-content-list li .img.img08 {
    width: 14.1333333333vw;
  }
}
.briefing-content-list li .TX {
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .briefing-content-list li .TX {
    margin-top: min(0.5729166667vw, 11px);
    font-size: min(0.8333333333vw, 16px);
    letter-spacing: min(0.05vw, 0.96px);
    line-height: 2.1;
  }
}
@media screen and (max-width: 767px) {
  .briefing-content-list li .TX {
    margin-top: 2.6666666667vw;
    font-size: 3.4666666667vw;
    letter-spacing: 0.208vw;
    line-height: 1.5;
  }
}
.briefing-btn {
  background: #BA0100;
}
@media screen and (min-width: 768px) {
  .briefing-btn {
    margin: min(3.8541666667vw, 74px) auto 0;
    width: min(25.4166666667vw, 488px);
    height: min(4.2708333333vw, 82px);
  }
}
@media screen and (max-width: 767px) {
  .briefing-btn {
    margin: 13.3333333333vw auto 0;
    width: 59.4666666667vw;
    height: 12.2666666667vw;
  }
}
.briefing-btn-link {
  display: block;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .briefing-btn-link {
    padding-left: min(5.625vw, 108px);
  }
}
@media screen and (max-width: 767px) {
  .briefing-btn-link {
    padding-left: 10.6666666667vw;
  }
}
.briefing-btn-link p {
  color: #FFFFFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .briefing-btn-link p {
    gap: min(5.2083333333vw, 100px);
    font-size: min(1.25vw, 24px);
    letter-spacing: min(0.025vw, 0.48px);
    line-height: min(4.2708333333vw, 82px);
  }
}
@media screen and (max-width: 767px) {
  .briefing-btn-link p {
    gap: 4vw;
    font-size: 3.7333333333vw;
    letter-spacing: 0.224vw;
    line-height: 12.2666666667vw;
  }
}
.briefing-btn-link p::after {
  content: "";
  width: 0;
  height: 0;
  border-top: min(0.5208333333vw, 10px) solid transparent;
  border-bottom: min(0.5208333333vw, 10px) solid transparent;
  border-left: min(0.5208333333vw, 10px) solid #FFFFFF;
}
@media screen and (max-width: 767px) {
  .briefing-btn-link p::after {
    width: 0;
    height: 0;
    border-top: 1.6vw solid transparent;
    border-bottom: 1.6vw solid transparent;
    border-left: 1.6vw solid #FFFFFF;
  }
}

/* -----------------------
  future
----------------------- */
@media screen and (min-width: 768px) {
  .future {
    padding-block: min(7.7083333333vw, 148px) min(5.2083333333vw, 100px);
  }
}
@media screen and (max-width: 767px) {
  .future {
    padding-block: 24vw 21.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .future .C_title {
    width: min(52.0833333333vw, 1000px);
  }
}
@media screen and (max-width: 767px) {
  .future .C_title {
    width: 94.6666666667vw;
    margin-top: 8vw;
  }
}
@media screen and (min-width: 768px) {
  .future-content {
    margin-top: min(2.7604166667vw, 53px);
  }
}
@media screen and (max-width: 767px) {
  .future-content {
    margin-top: 13.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .future-content__block {
    padding: 13.3333333333vw 5.3333333333vw 5.3333333333vw;
  }
}
.future-content__block--01 {
  background: #E3F7FF;
}
@media screen and (max-width: 767px) {
  .future-content__block--01 .future-content__img-wrap {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}
.future-content__block--01 .future-content__num {
  color: #FFFFFF;
}
@media screen and (min-width: 768px) {
  .future-content__block--02 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .future-content__block--02 .future-content__text-wrap {
    padding-left: min(2.0833333333vw, 40px);
  }
}
.future-content__block--02 .future-content__num {
  color: #E3F7FF;
}
@media screen and (max-width: 767px) {
  .future-content__block--02 .future-content__img-wrap {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}
.future-content__block .future-content-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  position: relative;
}
@media screen and (min-width: 768px) {
  .future-content__block .future-content-wrap {
    gap: min(0.78125vw, 15px);
    padding-block: min(0vw, 0px) min(2.8645833333vw, 55px);
    width: min(68.4895833333vw, 1315px);
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .future-content__block .future-content-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.future-content__text-wrap {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (min-width: 768px) {
  .future-content__text-wrap {
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .future-content__text-wrap {
    margin-top: 5.3333333333vw;
  }
}
.future-content__num {
  font-weight: 900;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  line-height: 1.1;
}
@media screen and (min-width: 768px) {
  .future-content__num {
    font-size: min(8.8541666667vw, 170px);
  }
}
@media screen and (max-width: 767px) {
  .future-content__num {
    position: absolute;
    font-size: 21.3333333333vw;
    top: 33.8666666667vw;
    left: 0;
  }
}
@media screen and (min-width: 768px) {
  .future-content__body p {
    font-size: min(0.9375vw, 18px);
    line-height: 1.6;
  }
}
@media screen and (max-width: 767px) {
  .future-content__body p {
    font-size: 4.2666666667vw;
    line-height: 1.8;
  }
}
.future-content__img-wrap {
  position: relative;
}
@media screen and (min-width: 768px) {
  .future-content__img-wrap {
    width: min(33.2291666667vw, 638px);
    min-width: min(33.2291666667vw, 638px);
    height: min(22.1354166667vw, 425px);
  }
}
@media screen and (max-width: 767px) {
  .future-content__img-wrap {
    width: 100%;
    height: 56vw;
  }
}
.future-content__img-wrap.img01 {
  background-image: url("../img/future01.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.future-content__img-wrap.img02 {
  background-image: url("../img/future02.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .future-content__img-wrap.img02 {
    width: min(31.9791666667vw, 614px);
    min-width: min(31.9791666667vw, 614px);
  }
}
.future-content__bottom {
  text-align: center;
  color: #21272D;
}
@media screen and (min-width: 768px) {
  .future-content__bottom {
    margin-top: min(2.5vw, 48px);
  }
}
@media screen and (max-width: 767px) {
  .future-content__bottom {
    margin-top: 8vw;
  }
}
.future-content__bottom-lead {
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .future-content__bottom-lead {
    text-align: center;
    font-size: min(0.8333333333vw, 16px);
    line-height: 1.8;
    letter-spacing: min(0.025vw, 0.48px);
  }
}
@media screen and (max-width: 767px) {
  .future-content__bottom-lead {
    text-align: left;
    padding-inline: 5.3333333333vw;
    font-weight: 700;
    font-size: 4.8vw;
    line-height: 1.8;
  }
}

/* -----------------------
  contract
----------------------- */
@media screen and (min-width: 768px) {
  .contract {
    padding-block: min(3.6458333333vw, 70px) min(6.09375vw, 117px);
  }
}
@media screen and (max-width: 767px) {
  .contract {
    padding-block: 13.3333333333vw 21.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .contract .C_title {
    width: min(28.5416666667vw, 548px);
    padding-bottom: min(0.5208333333vw, 10px);
  }
}
@media screen and (max-width: 767px) {
  .contract .C_title {
    width: 69.8666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .contract .C_title--TX {
    font-size: min(2.5vw, 48px);
    letter-spacing: min(0.075vw, 1.44px);
  }
}
@media screen and (min-width: 768px) {
  .contract .C_title::before {
    height: min(0.15625vw, 3px);
  }
}
.contract-TX {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .contract-TX {
    text-align: center;
    margin-top: min(2.34375vw, 45px);
    font-size: min(0.9375vw, 18px);
    line-height: 1.6;
    letter-spacing: min(0.028125vw, 0.54px);
  }
}
@media screen and (max-width: 767px) {
  .contract-TX {
    font-weight: 500;
    font-size: 4.2666666667vw;
    line-height: 1.8;
    margin-top: 8vw;
    padding-inline: 5.3333333333vw;
  }
}
.contract-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 768px) {
  .contract-content {
    gap: min(1.5104166667vw, 29px);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: min(61.71875vw, 1185px);
    margin: min(2.34375vw, 45px) auto 0;
  }
}
@media screen and (max-width: 767px) {
  .contract-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10.6666666667vw;
    margin-top: 10.6666666667vw;
    padding-inline: 5.3333333333vw;
  }
}
.contract-content__card {
  background: #F6F6F6;
}
@media screen and (min-width: 768px) {
  .contract-content__card {
    width: min(30.1041666667vw, 578px);
    border-radius: min(0.5208333333vw, 10px);
    -webkit-box-shadow: 0 min(0.2083333333vw, 4px) min(0.2083333333vw, 4px) rgba(0, 0, 0, 0.25);
            box-shadow: 0 min(0.2083333333vw, 4px) min(0.2083333333vw, 4px) rgba(0, 0, 0, 0.25);
    max-width: 100%;
    padding: min(0vw, 0px) min(1.40625vw, 27px) min(3.5416666667vw, 68px) min(2.2395833333vw, 43px);
  }
}
@media screen and (max-width: 767px) {
  .contract-content__card {
    -webkit-box-shadow: 0 0.5333333333vw 0.5333333333vw 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 0.5333333333vw 0.5333333333vw 0 rgba(0, 0, 0, 0.15);
    padding: 6.4vw 7.2vw 8.5333333333vw 11.4666666667vw;
    padding: 5.3333333333vw;
  }
}
.contract-content__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .contract-content__head {
    gap: min(1.0416666667vw, 20px);
  }
}
@media screen and (max-width: 767px) {
  .contract-content__head {
    gap: 2.6666666667vw;
  }
}
.contract-content__num {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 900;
}
@media screen and (min-width: 768px) {
  .contract-content__num {
    font-size: min(5vw, 96px);
    letter-spacing: min(0.15vw, 2.88px);
  }
}
@media screen and (max-width: 767px) {
  .contract-content__num {
    font-size: 10.6666666667vw;
    letter-spacing: 0.32vw;
  }
}
.contract-content__card--01 .contract-content__num {
  color: #178BFF;
  opacity: 0.55;
}
.contract-content__card--02 .contract-content__num {
  color: #F5D500;
}
.contract-content__card--02 .contract-content__label {
  background: #F5D500;
}
.contract-content__title {
  font-weight: 700;
  position: relative;
}
@media screen and (min-width: 768px) {
  .contract-content__title {
    font-size: min(1.6666666667vw, 32px);
    top: min(0.2604166667vw, 5px);
  }
}
@media screen and (max-width: 767px) {
  .contract-content__title {
    font-size: 4.8vw;
    top: 0.5333333333vw;
  }
}
.contract-content__desc {
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .contract-content__desc {
    font-size: min(0.9375vw, 18px);
  }
}
@media screen and (max-width: 767px) {
  .contract-content__desc {
    font-size: 3.7333333333vw;
    margin-top: 2.6666666667vw;
    letter-spacing: 0.112vw;
  }
}
@media screen and (min-width: 768px) {
  .contract-content__section-wrap {
    margin-top: min(1.25vw, 24px);
  }
}
@media screen and (max-width: 767px) {
  .contract-content__section-wrap {
    margin-top: 5.3333333333vw;
  }
}
.contract-content__section {
  background: #FFFFFF;
}
@media screen and (min-width: 768px) {
  .contract-content__section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: min(0.8333333333vw, 16px);
    border: min(0.0520833333vw, 1px) solid #D9D9D9;
  }
}
.contract-content__label {
  font-weight: 700;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  display: grid;
  place-items: center;
  background: #178BFF;
  color: #FFFFFF;
}
@media screen and (min-width: 768px) {
  .contract-content__label {
    width: min(5.8854166667vw, 113px);
    font-size: min(0.9375vw, 18px);
    letter-spacing: min(0.028125vw, 0.54px);
  }
}
@media screen and (max-width: 767px) {
  .contract-content__label {
    padding-block: 2.6666666667vw;
    font-size: 3.7333333333vw;
    letter-spacing: 0.112vw;
  }
}
.contract-content__list {
  list-style: disc;
  color: #21272D;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .contract-content__list {
    padding-block: min(0.8333333333vw, 16px);
    font-size: min(0.8333333333vw, 16px);
    gap: min(0.4166666667vw, 8px);
  }
}
@media screen and (max-width: 767px) {
  .contract-content__list {
    font-size: 3.2vw;
    letter-spacing: 0.096vw;
    gap: 2.6666666667vw;
    padding: 4.2666666667vw 2.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .contract-content__cost {
    margin-top: min(1.25vw, 24px);
  }
}
@media screen and (max-width: 767px) {
  .contract-content__cost {
    padding-top: 5.3333333333vw;
  }
}
.contract-content__cost-ttl {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .contract-content__cost-ttl {
    font-size: min(1.25vw, 24px);
  }
}
@media screen and (max-width: 767px) {
  .contract-content__cost-ttl {
    font-size: 4.2666666667vw;
  }
}
.contract-content__cost-row {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .contract-content__cost-row {
    font-size: min(0.9375vw, 18px);
    margin-top: min(1.0416666667vw, 20px);
    letter-spacing: min(0.028125vw, 0.54px);
  }
}
@media screen and (max-width: 767px) {
  .contract-content__cost-row {
    font-weight: 500;
    margin-top: 1.6vw;
    letter-spacing: 0.112vw;
    font-size: 3.4666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .contract-content__cost-row .sp-cash {
    margin-left: 24vw;
  }
}
.contract-content__cost-contract {
  color: #BA0100;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .contract-content__cost-contract {
    margin-left: min(0.4166666667vw, 8px);
  }
}
@media screen and (max-width: 767px) {
  .contract-content__cost-contract {
    margin-left: 2.1333333333vw;
  }
}

/* -----------------------
  profit
----------------------- */
.profit {
  background: #EFFAFF;
}
@media screen and (min-width: 768px) {
  .profit {
    padding-block: min(2.96875vw, 57px) min(3.9583333333vw, 76px);
  }
}
@media screen and (max-width: 767px) {
  .profit {
    padding-block: 21.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .profit-wrap {
    width: min(61.0416666667vw, 1172px);
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .profit-wrap {
    padding-inline: 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .profit .C_title {
    width: min(22.9166666667vw, 440px);
    padding-bottom: min(0.5208333333vw, 10px);
  }
}
@media screen and (max-width: 767px) {
  .profit .C_title {
    width: 61.8666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .profit .C_title--TX {
    font-size: min(2.5vw, 48px);
    letter-spacing: min(0.075vw, 1.44px);
  }
}
@media screen and (min-width: 768px) {
  .profit .C_title::before {
    height: min(0.15625vw, 3px);
  }
}
.profit-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 768px) {
  .profit-content {
    margin-top: min(2.34375vw, 45px);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: min(1.25vw, 24px);
  }
}
@media screen and (max-width: 767px) {
  .profit-content {
    margin-top: 13.3333333333vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8vw;
  }
}
.profit-content__card {
  background: #FFFFFF;
}
@media screen and (min-width: 768px) {
  .profit-content__card {
    width: min(19.4270833333vw, 373px);
    max-width: 100%;
    border-radius: min(0.5208333333vw, 10px);
    border-top: min(0.46875vw, 9px) solid #178BFF;
    padding: min(2.65625vw, 51px) min(1.9791666667vw, 38px) min(4.1666666667vw, 80px);
  }
}
@media screen and (max-width: 767px) {
  .profit-content__card {
    border-radius: 1.6vw;
    padding: 10.6666666667vw 7.4666666667vw 10.6666666667vw;
  }
}
.profit-content__icon {
  aspect-ratio: 1/1;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .profit-content__icon {
    width: min(3.3854166667vw, 65px);
  }
}
@media screen and (max-width: 767px) {
  .profit-content__icon {
    width: 17.3333333333vw;
  }
}
.profit-content__icon.icon01 {
  background-image: url('data:image/svg+xml;utf-8,<svg width="65" height="65" viewBox="0 0 65 65" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_4343_3309)"><path d="M20.3138 56.875H5.41797V24.375H20.3138V56.875ZM39.9492 8.125H25.0534V56.875H39.9492V8.125ZM59.5846 29.7917H44.6888V56.875H59.5846V29.7917Z" fill="%23FFE119"/></g><defs><clipPath id="clip0_4343_3309"><rect width="65" height="65" fill="white"/></clipPath></defs></svg>');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.profit-content__icon.icon02 {
  background-image: url('data:image/svg+xml;utf-8,<svg width="65" height="65" viewBox="0 0 65 65" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_4343_3313)"><path d="M32.5013 5.41602C17.5513 5.41602 5.41797 17.5493 5.41797 32.4994C5.41797 47.4494 17.5513 59.5827 32.5013 59.5827C47.4513 59.5827 59.5846 47.4494 59.5846 32.4994C59.5846 17.5493 47.4513 5.41602 32.5013 5.41602ZM32.5013 13.541C36.9971 13.541 40.6263 17.1702 40.6263 21.666C40.6263 26.1618 36.9971 29.791 32.5013 29.791C28.0055 29.791 24.3763 26.1618 24.3763 21.666C24.3763 17.1702 28.0055 13.541 32.5013 13.541ZM32.5013 51.9994C25.7305 51.9994 19.7451 48.5327 16.2513 43.2785C16.3326 37.8889 27.0846 34.9368 32.5013 34.9368C37.8909 34.9368 48.6701 37.8889 48.7513 43.2785C45.2576 48.5327 39.2721 51.9994 32.5013 51.9994Z" fill="%23178BFF"/></g><defs><clipPath id="clip0_4343_3313"><rect width="65" height="65" fill="white"/></clipPath></defs></svg>');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.profit-content__icon.icon03 {
  background-image: url('data:image/svg+xml;utf-8,<svg width="65" height="65" viewBox="0 0 65 65" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_4343_3222)"><path d="M54.168 16.2493H43.3346V10.8327C43.3346 7.82643 40.9242 5.41602 37.918 5.41602H27.0846C24.0784 5.41602 21.668 7.82643 21.668 10.8327V16.2493H10.8346C7.82839 16.2493 5.44505 18.6598 5.44505 21.666L5.41797 51.4577C5.41797 54.4639 7.82839 56.8743 10.8346 56.8743H54.168C57.1742 56.8743 59.5846 54.4639 59.5846 51.4577V21.666C59.5846 18.6598 57.1742 16.2493 54.168 16.2493ZM37.918 16.2493H27.0846V10.8327H37.918V16.2493Z" fill="%23FFBE19"/></g><defs><clipPath id="clip0_4343_3222"><rect width="65" height="65" fill="white"/></clipPath></defs></svg>');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.profit-content__title {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .profit-content__title {
    font-size: min(1.25vw, 24px);
    letter-spacing: min(0.0125vw, 0.24px);
    margin-top: min(1.3541666667vw, 26px);
    margin-left: min(0.625vw, 12px);
  }
}
@media screen and (max-width: 767px) {
  .profit-content__title {
    text-align: center;
    font-size: 4.8vw;
    letter-spacing: 0.144vw;
    margin-top: 5.3333333333vw;
  }
}
.profit-content__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .profit-content__list {
    gap: min(0.9375vw, 18px);
    margin-top: min(1.9270833333vw, 37px);
  }
}
@media screen and (max-width: 767px) {
  .profit-content__list {
    gap: 3.2vw;
    margin-top: 8vw;
  }
}
.profit-content__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .profit-content__item {
    gap: min(0.4375vw, 8.4px);
  }
}
@media screen and (max-width: 767px) {
  .profit-content__item {
    gap: 1.6vw;
    margin-left: 11.4666666667vw;
  }
}
.profit-content__check {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  background-image: url('data:image/svg+xml;utf-8,<svg width="18" height="9" viewBox="0 0 18 9" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5.6 6.54445L1.4 3.95137L0 4.81573L5.6 8.27317L17.6 0.864361L16.2 0L5.6 6.54445Z" fill="%23178BFF"/></svg>');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .profit-content__check {
    width: min(0.9375vw, 18px);
    height: min(0.46875vw, 9px);
    top: min(0.15625vw, 3px);
  }
}
@media screen and (max-width: 767px) {
  .profit-content__check {
    width: 4.8vw;
    height: 2.4vw;
    top: 0.8vw;
  }
}
.profit-content__item-txt {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .profit-content__item-txt {
    font-size: min(0.9375vw, 18px);
    letter-spacing: min(0.028125vw, 0.54px);
  }
}
@media screen and (max-width: 767px) {
  .profit-content__item-txt {
    font-weight: 500;
    font-size: 3.7333333333vw;
    letter-spacing: 0.112vw;
  }
}
.profit-content__note {
  font-weight: 700;
  background: #FBF9E0;
}
@media screen and (min-width: 768px) {
  .profit-content__note {
    margin-top: min(1.1979166667vw, 23px);
    border-radius: min(0.5208333333vw, 10px);
    padding: min(1.09375vw, 21px) min(0.9375vw, 18px);
    font-size: min(0.9375vw, 18px);
    line-height: 1.4;
    letter-spacing: min(0.028125vw, 0.54px);
  }
}
@media screen and (max-width: 767px) {
  .profit-content__note {
    font-weight: 500;
    margin-top: 8vw;
    padding: 4.2666666667vw;
    font-size: 3.7333333333vw;
    line-height: 1.6;
    letter-spacing: 0.112vw;
    border-radius: 1.6vw;
  }
}

/* -----------------------
  anime
----------------------- */
.illust-anime {
  -webkit-animation: korokoro 2.5s linear 0s infinite;
          animation: korokoro 2.5s linear 0s infinite;
}

@-webkit-keyframes korokoro {
  0% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
  5% {
    -webkit-transform: translate(10%, 0%) rotate(10deg);
            transform: translate(10%, 0%) rotate(10deg);
  }
  25% {
    -webkit-transform: translate(20%, 0%) rotate(20deg);
            transform: translate(20%, 0%) rotate(20deg);
  }
  30% {
    -webkit-transform: translate(-10%, 0%) rotate(-10deg);
            transform: translate(-10%, 0%) rotate(-10deg);
  }
  35% {
    -webkit-transform: translate(-15%, 0%) rotate(-15deg);
            transform: translate(-15%, 0%) rotate(-15deg);
  }
  45% {
    -webkit-transform: translate(10%, 0%) rotate(10deg);
            transform: translate(10%, 0%) rotate(10deg);
  }
  50% {
    -webkit-transform: translate(15%, 0%) rotate(15deg);
            transform: translate(15%, 0%) rotate(15deg);
  }
  60% {
    -webkit-transform: translate(-5%, 0%) rotate(-5deg);
            transform: translate(-5%, 0%) rotate(-5deg);
  }
  65% {
    -webkit-transform: translate(-7%, 0%) rotate(-7deg);
            transform: translate(-7%, 0%) rotate(-7deg);
  }
  75% {
    -webkit-transform: translate(0%, 0%) rotate(0deg);
            transform: translate(0%, 0%) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(0%, 0%) rotate(0deg);
            transform: translate(0%, 0%) rotate(0deg);
  }
}

@keyframes korokoro {
  0% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
  5% {
    -webkit-transform: translate(10%, 0%) rotate(10deg);
            transform: translate(10%, 0%) rotate(10deg);
  }
  25% {
    -webkit-transform: translate(20%, 0%) rotate(20deg);
            transform: translate(20%, 0%) rotate(20deg);
  }
  30% {
    -webkit-transform: translate(-10%, 0%) rotate(-10deg);
            transform: translate(-10%, 0%) rotate(-10deg);
  }
  35% {
    -webkit-transform: translate(-15%, 0%) rotate(-15deg);
            transform: translate(-15%, 0%) rotate(-15deg);
  }
  45% {
    -webkit-transform: translate(10%, 0%) rotate(10deg);
            transform: translate(10%, 0%) rotate(10deg);
  }
  50% {
    -webkit-transform: translate(15%, 0%) rotate(15deg);
            transform: translate(15%, 0%) rotate(15deg);
  }
  60% {
    -webkit-transform: translate(-5%, 0%) rotate(-5deg);
            transform: translate(-5%, 0%) rotate(-5deg);
  }
  65% {
    -webkit-transform: translate(-7%, 0%) rotate(-7deg);
            transform: translate(-7%, 0%) rotate(-7deg);
  }
  75% {
    -webkit-transform: translate(0%, 0%) rotate(0deg);
            transform: translate(0%, 0%) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(0%, 0%) rotate(0deg);
            transform: translate(0%, 0%) rotate(0deg);
  }
}
.illust-anime02 {
  -webkit-animation: kyorokyoro 4s linear 0s infinite;
          animation: kyorokyoro 4s linear 0s infinite;
}

@-webkit-keyframes kyorokyoro {
  0% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  20% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  22% {
    -webkit-transform: scale(-1, 1);
            transform: scale(-1, 1);
  }
  30% {
    -webkit-transform: scale(-1, 1);
            transform: scale(-1, 1);
  }
  32% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  100% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
}

@keyframes kyorokyoro {
  0% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  20% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  22% {
    -webkit-transform: scale(-1, 1);
            transform: scale(-1, 1);
  }
  30% {
    -webkit-transform: scale(-1, 1);
            transform: scale(-1, 1);
  }
  32% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  100% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
}
.hover-opa {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.hover-opa:hover {
  opacity: 0.6;
}

.hover-scale {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.hover-scale:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.up {
  opacity: 0;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
}
.up.show {
  -webkit-animation: up 0.5s ease forwards;
          animation: up 0.5s ease forwards;
}
@-webkit-keyframes up {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes up {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.down {
  opacity: 0;
  -webkit-transform: translateY(-100px);
          transform: translateY(-100px);
}
.down.show {
  -webkit-animation: down ease forwards;
          animation: down ease forwards;
}
@-webkit-keyframes down {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes down {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.left {
  opacity: 0;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}
.left.show {
  -webkit-animation: left 0.5s ease 0.2s forwards;
          animation: left 0.5s ease 0.2s forwards;
}
@-webkit-keyframes left {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes left {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

.right {
  opacity: 0;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
.right.show {
  -webkit-animation: right 0.5s ease 0.2s forwards;
          animation: right 0.5s ease 0.2s forwards;
}
@-webkit-keyframes right {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes right {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

.pop {
  opacity: 0;
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
}
.pop.show {
  -webkit-animation: pop ease forwards;
          animation: pop ease forwards;
}
@-webkit-keyframes pop {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes pop {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

.loadUp {
  opacity: 0;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
.loadUp.show {
  -webkit-animation: loadUp ease forwards;
          animation: loadUp ease forwards;
}
@-webkit-keyframes loadUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes loadUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.loadDown {
  opacity: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
.loadDown.show {
  -webkit-animation: loadDown ease forwards;
          animation: loadDown ease forwards;
}
@-webkit-keyframes loadDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes loadDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.loadLeft {
  opacity: 0;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}
.loadLeft.show {
  -webkit-animation: loadLeft ease forwards;
          animation: loadLeft ease forwards;
}
@-webkit-keyframes loadLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes loadLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

.loadRight {
  opacity: 0;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
.loadRight.show {
  -webkit-animation: loadRight ease forwards;
          animation: loadRight ease forwards;
}
@-webkit-keyframes loadRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes loadRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

.loadPop {
  opacity: 0;
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
}
.loadPop.show {
  -webkit-animation: loadPop ease forwards;
          animation: loadPop ease forwards;
}
@-webkit-keyframes loadPop {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes loadPop {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

.delay-01 {
  -webkit-animation-delay: 0.1s !important;
          animation-delay: 0.1s !important;
}

.delay-02 {
  -webkit-animation-delay: 0.2s !important;
          animation-delay: 0.2s !important;
}

.delay-03 {
  -webkit-animation-delay: 0.3s !important;
          animation-delay: 0.3s !important;
}

.delay-04 {
  -webkit-animation-delay: 0.4s !important;
          animation-delay: 0.4s !important;
}

.delay-05 {
  -webkit-animation-delay: 0.5s !important;
          animation-delay: 0.5s !important;
}

.delay-06 {
  -webkit-animation-delay: 0.6s !important;
          animation-delay: 0.6s !important;
}

.delay-07 {
  -webkit-animation-delay: 0.7s !important;
          animation-delay: 0.7s !important;
}

.delay-08 {
  -webkit-animation-delay: 0.8s !important;
          animation-delay: 0.8s !important;
}

.delay-09 {
  -webkit-animation-delay: 0.9s !important;
          animation-delay: 0.9s !important;
}

.delay-10 {
  -webkit-animation-delay: 1s !important;
          animation-delay: 1s !important;
}

.delay-15 {
  -webkit-animation-delay: 1.5s !important;
          animation-delay: 1.5s !important;
}

.duration-01 {
  -webkit-animation-duration: 0.1s !important;
          animation-duration: 0.1s !important;
}

.duration-02 {
  -webkit-animation-duration: 0.2s !important;
          animation-duration: 0.2s !important;
}

.duration-03 {
  -webkit-animation-duration: 0.3s !important;
          animation-duration: 0.3s !important;
}

.duration-04 {
  -webkit-animation-duration: 0.4s !important;
          animation-duration: 0.4s !important;
}

.duration-05 {
  -webkit-animation-duration: 0.5s !important;
          animation-duration: 0.5s !important;
}

.duration-06 {
  -webkit-animation-duration: 0.6s !important;
          animation-duration: 0.6s !important;
}

.duration-07 {
  -webkit-animation-duration: 0.7s !important;
          animation-duration: 0.7s !important;
}

.duration-08 {
  -webkit-animation-duration: 0.8s !important;
          animation-duration: 0.8s !important;
}

.duration-09 {
  -webkit-animation-duration: 0.9s !important;
          animation-duration: 0.9s !important;
}

.duration-10 {
  -webkit-animation-duration: 1s !important;
          animation-duration: 1s !important;
}

.duration-15 {
  -webkit-animation-duration: 1.5s !important;
          animation-duration: 1.5s !important;
}