html {
  font-size: 62.5%;
  -webkit-font-smoothing: antialiased; /* macOS用 (Chrome, Safari) */
  -moz-osx-font-smoothing: grayscale;  /* macOS Firefox用 */
  scroll-behavior: smooth;
}
/* @media screen and (min-width:1366px) {
  html {
    font-size: calc(100vw / 1366 * 10);
  }
} */
@media screen and (max-width:990px) {
  html {
    font-size: calc(100vw / 750 * 10);
  }
}
body {
  background: #171a5f;
  color: #fff;
  font-family: 'Noto Sans JP', sans-serif;
  font-optical-sizing: auto;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1;
  min-height: 300vh;
}

body::before {
  aspect-ratio: 1/1;
  background: linear-gradient(#2c297e,#5948be,#171a5f);
  content: '';
  position: absolute;
  top: 0;
  width: 100%;
}
.body_container {
  opacity: 0;
  transition: .3s;
}
.lazy .body_container {
  opacity: 1;
}
.urbanist {
  font-family: 'Urbanist', sans-serif;
}

.lato {
  font-family: 'Lato', sans-serif;
}

img {
  height: auto;
  max-width: 100%;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .body_container {
    max-width: 124rem;
    position: relative;
  }
}
a {
  transition: .3s;
}
.ancher {
  display: block;
}
.main_container {
  background: #21213e;
  margin: 0;          /* 左詰め */
  max-width: 100rem;  /* 必要なら */
  min-width: 75rem;   /* 必要なら */
  overflow: hidden;
  /* width: calc(100% - 24rem); */
  position: relative;
  width: clamp(75rem, 100%, 100rem);
}
/* @media screen and (min-width:1366px) {
  .main_container {
    max-width: calc(100% - 36.6rem);
    width: calc(100% - 36.6rem);
  }
} */
@media screen and (min-width:990px) {
  .main_container {
    opacity: 0;
    transform: translateX(-100%);
    transition: .3s;
  }
  .lazy .main_container {
    opacity: 1;
    transform: translateX(0);
  }
}
.main_wrap {
  margin: 0 auto;
  width: 75rem;
}
@media screen and (max-width: 1240px) and (min-width:990px) {
  .main_container {
    width: calc(100% - 24rem);
  }
  @media screen and (max-width:990px) {
    .main_container {
      width: 100%;
    }
  }
}
@media screen and (min-width:1500px) {
  .main_container {
    margin: 0 auto;
  }
}
/* ---------------------------------------------------------------------------
//  mv
--------------------------------------------------------------------------- */
.nav {
  display: flex;
  flex-direction: column;
  font-size: 1.2rem;
  font-weight: 600;
  height: 100vh;
  justify-content: center;
  line-height: calc(28/12);
  padding: 4.5rem;
  position: fixed;
  /* 左端を「コンテナ幅」と同じ位置に */
  /* left: clamp(75rem, 100%, 100rem); */
  right: 0;
  top: 0;
  white-space: nowrap;
  /* 幅は「ビューポート幅 − コンテナ幅」 */
  width: calc(100vw - clamp(75rem, 100%, 100rem));
}
@media screen and (min-width:990px) {
  .nav {
    opacity: 0;
    transform: translateX(100%);
    transition: .3s;
  }
  .lazy .nav {
    opacity: 1;
    transform: translateX(0);
  }
}
@media screen and (min-width:1500px) {
  .nav {
    padding: 4.5rem;
    width: calc((100vw - 100rem) / 2);
  }
}
.nav .bottom {
  align-items: center;
  display: flex;
  flex-direction: column;
  width: 6.1rem;
}
.nav .logo {
  margin-top: 2.9rem;
}
.nav .copy {
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: .12em;
}
.nav a.active {
  color: #31efc1;
}
@media screen and (max-width: 1240px) and (min-width:990px) {
  .nav {
    width: 24rem;
  }
}
@media screen and (max-width:990px) {
  .nav {
    display: none!important;
  }
}
/* ---------------------------------------------------------------------------
//  mv
--------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
//  sec00
--------------------------------------------------------------------------- */
.sec00 .wrap01 {
  font-size: 2.4rem;
  font-size: 2.2rem;
  line-height: calc(23/12);
  line-height: normal;
  padding: 5.2rem 3.3rem 0;
  text-align: center;
}
.sec00 .wrap01 .h2 {
  color: #31efc1;
  font-weight: 900;
  line-height: calc(23/12);
  line-height: normal;
}
.sec00 .wrap01 .p1 {
  font-weight: 500;
  line-height: calc(23/12);
  line-height: normal;
  margin-top: 4.8rem;
  margin-top: 3rem;
}
.sec00 .wrap01 .p2 {
  color: #31efc1;
  font-size: 2.8rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: normal;
  margin-top: 4.8rem;
  margin-top: 3rem;
}
.sec00 .wrap01 .p3 {
  font-size: 2rem;
  font-weight: 400;
  margin-top: .5rem;
}
/* ---------------------------------------------------------------------------
//  sec01
--------------------------------------------------------------------------- */
.sec01 .wrap01 {
  color: #fff;
  padding: 8.2rem 0 0;
}
.sec01 .wrap01 .h2 {
  border-bottom: solid 1px #747474;
  font-size: 4rem;
  font-weight: 600;
  letter-spacing: .3em;
  line-height: calc(24/20);
  margin-bottom: 10.6rem;
  text-align: center;
}
.sec01 .slider_wrap {
  position: relative;
  /* overflow: hidden; */
  width: 100%;
}
.sec01 .slider_wrap .slider {
  display: flex;
  gap: 6.8rem;
  position: relative;
  right: -3.4rem;
  transition: transform .4s ease;
  will-change: transform;
  z-index: 3;
}
.sec01 .slider_wrap .slider .item {
  background: linear-gradient(to right,#2b4bde,#a668ff);
  box-shadow: .6rem .6rem 1.2rem #000;
  color: inherit;
  flex-shrink: 0;
  height: 43.6rem;
  position: relative;
  text-decoration: none;
  transition: .3s ease;
  width: 46.6rem;
}
.sec01 .slider_wrap .slider .item:hover {
  opacity: .7;
}
.sec01 .slider_wrap .slider .itemA .img img {
  bottom: 0;
  filter: drop-shadow(.4rem .4rem .8rem rgba(0,0,0,.38));
  left: 4.8rem;
  margin: auto;
  position: absolute;
  top: 0;
  width: 14.2rem;
}
.sec01 .slider_wrap .slider .itemB .img img {
  filter: drop-shadow(0 .6rem 1.2rem rgba(0,0,0,.48));
  left: 4.6rem;
  position: absolute;
  top: 2.8rem;
  width: 14rem;
}
.sec01 .slider_wrap .slider .item .h3 {
  font-size: 2.4rem;
  font-weight: 600;
  height: 8rem;
  letter-spacing: .3em;
  line-height: calc(16/12);
  padding-left: 22.4rem;
  padding-top: 2.2rem;
}
.sec01 .slider_wrap .slider .itemB .h3 {
  padding-left: 24.6rem;
}
.sec01 .slider_wrap .slider .itemA::before {
  background-image: url(../img/dots01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 3.8rem;
  position: absolute;
  right: 3.2rem;
  top: 15.4rem;
  width: 8.8rem;
}
.sec01 .slider_wrap .slider .itemB::before {
  background-image: url(../img/dots02.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 7.2rem;
  position: absolute;
  right: 3.78rem;
  top: 11.2rem;
  width: .8rem;
}
.sec01 .slider_wrap .slider .item .mark {
  position: absolute;
}
.sec01 .slider_wrap .slider .item01 .mark {
  left: 23.1rem;
  top: 14.6rem;
  width: 10.8rem;
}
.sec01 .slider_wrap .slider .item02 .mark {
  left: 23.1rem;
  top: 14rem;
  width: 10rem;
}
.sec01 .slider_wrap .slider .item03 .mark {
  left: 22rem;
  top: 14.6rem;
  width: 11.4rem;
}
.sec01 .slider_wrap .slider .item04 .mark {
  left: 22.4rem;
  top: 14.6rem;
  width: 10.8rem;
}
.sec01 .slider_wrap .slider .item05 .mark {
  left: 22.6rem;
  top: 13.5rem;
  width: 11.4rem;
}
.sec01 .slider_wrap .slider .item06 .mark {
  left: 22rem;
  top: 14.6rem;
  width: 10.8rem;
}
.sec01 .slider_wrap .slider .item07 .mark {
  left: 24.6rem;
  top: 10.7rem;
  width: 11.4rem;
}
.sec01 .slider_wrap .slider .item .p1 {
  font-size: 3.8rem;
  letter-spacing: .05em;
  line-height: calc(26/19);
  padding-right: 3.2rem;
  padding-top: 16.2rem;
  text-align: right;
}
.sec01 .slider_wrap .slider .item .p2 {
  font-size: 2.4rem;
  letter-spacing: .05em;
  padding-right: 3.2rem;
  padding-top: 1rem;
  text-align: right;
}
.sec01 .slider_wrap .slider .itemB .products {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem 2.88rem;
  justify-content: center;
  padding-top: 11.5rem;
}
.sec01 .slider_wrap .slider .itemB .products .product {
  width: 9.72rem;
}
.sec01 .slider_wrap .slider .itemB .products .product img {
  filter: drop-shadow(0 .6rem 1.2rem rgba(0,0,0,.51));
}
.sec01 .slider_wrap .slider .item.active {
  transform: translateY(-3rem);
}
.slider_prev, .slider_next {
  background-position: center;
  background-repeat: no-repeat;
  background-size: 2.56rem;
  bottom: 0;
  cursor: pointer;
  height: 5.1rem;
  margin: auto;
  position: absolute;
  top: 0;
  transition: .3s;
  width: 6.8rem;
  z-index: 3;
}
.sec01 .slider_prev, .sec01 .slider_next {
  top: -3rem;
}
.slider_prev {
  background-image: url(../img/prev01.svg);
}
.slider_next {
  background-image: url(../img/next01.svg);
}
.slider_prev:hover, .slider_next:hover {
  opacity: .7;
}
.sec01 .slider_prev {
  left: 7.4rem;
}
.sec01 .slider_next {
  right: 7.4rem;
}
/* ---------------------------------------------------------------------------
//  sec02
--------------------------------------------------------------------------- */
.sec02 .wrap01 {
  padding: 11.2rem 0 9.6rem;
}
.sec02 .wrap01 .h2 {
  color: #31efc1;
  font-size: 4rem;
  font-weight: 600;
  letter-spacing: .3em;
  text-align: center;
}
.sec02 .wrap01 .products + .h2 {
  padding-top: 6.8rem;
}
.sec02 .wrap01 .products .product {
  align-items: flex-end;
  display: flex;
  margin-top: 15.6rem;
}
.sec02 .wrap01 .products .product .left {
  color: #fff;
  display: flex;
  flex-direction: column;
  height: 54.8rem;
  justify-content: flex-end;
  order: -1;
  padding: 0 0 2rem 3.3rem;
  position: relative;
  width: 33.8rem;
}
.sec02 .wrap01 .products .product01 .left {
  background: #fe8a23;
}
.sec02 .wrap01 .products .product02 .left {
  background: #df507f;
}
.sec02 .wrap01 .products .product03 .left {
  background: #b22222;
}
.sec02 .wrap01 .products .product04 .left {
  background: #13bffc;
}
.sec02 .wrap01 .products .product05 .left {
  background: #c437bc;
}
.sec02 .wrap01 .products .product06 .left {
  background: #e0d35c;
}
.sec02 .wrap01 .products .product .left img {
  bottom: 0;
  left: 0;
  max-width: inherit;
  position: absolute;
  width: 43.2rem;
}
.sec02 .wrap01 .products .product .left .p2 {
  font-size: 5.6rem;
  font-weight: 700;
  letter-spacing: .035em;
  line-height: calc(32/28);
  position: relative;
}
.sec02 .wrap01 .products .product .left .p3 {
  font-size: 2.8rem;
  font-weight: 700;
  letter-spacing: .02em;
  margin-top: 1rem;
  position: relative;
}
.sec02 .wrap01 .products .product .right {
  background: #fff;
  height: 67rem;
  padding: 2.14rem 0 0;
  position: relative;
  text-align: center;
  width: calc(100% - 33.8rem);
}
.sec02 .wrap01 .products .product .right .cat {
  font-size: 2.8rem;
  font-weight: 600;
  left: 0;
  letter-spacing: .3em;
  margin: auto;
  position: absolute;
  right: 0;
  top: -4.5rem;
}
.sec02 .wrap01 .products .product .right .color {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.sec02 .wrap01 .products .product .right .color span {
  align-items: center;
  color: #fff;
  display: flex;
  font-size: 2.8rem;
  font-weight: 700;
  height: 4.21rem;
  justify-content: center;
  width: 24rem;
}
.sec02 .wrap01 .products .product01 .right .color span {
  background: #000;
}
.sec02 .wrap01 .products .product02 .right .color span {
  background: #71564c;
}
.sec02 .wrap01 .products .product03 .right .color span {
  background: #000;
}
.sec02 .wrap01 .products .product04 .right .color span {
  background: #291a12;
}
.sec02 .wrap01 .products .product05 .right .color span {
  background: #000;
}
.sec02 .wrap01 .products .product06 .right .color span {
  background: #291a12;
}
.sec02 .wrap01 .products .product .right .color small {
  color: #2f3549;
  font-size: 1.6rem;
  font-weight: 500;
  margin-top: .3rem;
}
.sec02 .wrap01 .products .product .right .img {
  height: 29.65rem;
  margin-left: auto;
  margin-right: 6rem;
}
.sec02 .wrap01 .products .product01 .right .img {
  width: 31.8rem;
}
.sec02 .wrap01 .products .product02 .right .img {
  width: 31.7rem;
}
.sec02 .wrap01 .products .product03 .right .img {
  width: 29.2rem;
}
.sec02 .wrap01 .products .product04 .right .img {
  width: 29.2rem;
}
.sec02 .wrap01 .products .product05 .right .img {
  width: 29.2rem;
}
.sec02 .wrap01 .products .product06 .right .img {
  width: 29.2rem;
}
.sec02 .wrap01 .products .product .right .h3 {
  color: #000;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: calc(14/12);
  margin-top: -1rem;
}
.sec02 .wrap01 .products .product .right .p1 {
  color: #000;
  margin-top: 1rem;
}
.sec02 .wrap01 .products .product .right .p1 span {
  font-size: 2.8rem;
  font-weight: 700;
}
.sec02 .wrap01 .products .product .right .p1 small {
  font-size: 2rem;
  font-weight: 400;
}
.sec02 .wrap01 .products .product .right .btn01 {
  align-items: center;
  background: linear-gradient(to right,#2b4bde,#a668ff);
  color: #fff;
  display: flex;
  font-size: 2.4rem;
  font-weight: 500;
  height: 8.4rem;
  justify-content: center;
  margin-top: 1.3rem;
  position: relative;
  text-align: center;
  width: 100%;
}
.sec02 .wrap01 .products .product .right .btn01::before, .sec02 .wrap01 .products .product .right .btn01::after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: '';
  height: 100%;
  margin: auto;
  position: absolute;
  top: 0;
}
.sec02 .wrap01 .products .product .right .btn01::before {
  background-image: url(../img/02_icon01.svg);
  left: 2rem;
  width: 4rem;
}
.sec02 .wrap01 .products .product .right .btn01::after {
  background-image: url(../img/02_icon02.svg);
  right: 2.4rem;
  width: 3.4rem;
}
.sec02 .wrap01 .products .product .right .btn02 {
  align-items: center;
  background: #52555d;
  border-radius: 10rem;
  color: #fff;
  display: flex;
  font-size: 2rem;
  font-weight: 500;
  height: 6rem;
  justify-content: center;
  margin: 1.1rem auto 0;
  position: relative;
  text-align: center;
  width: 32.8rem;
}
.sec02 .wrap01 .products .product .right .btn02::after {
  background-image: url(../img/02_icon03.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: '';
  height: 100%;
  margin: auto;
  position: absolute;
  right: 1.4rem;
  top: 0;
  width: 2.4rem;
}
.sec02 .wrap01 .products .product .right a:hover {
  opacity: .7;
}
.sec02 .wrap02 {
  border-top: 1px solid #fff;
  padding: 4.72rem 3.3rem 7.2rem;
  position: relative;
  text-align: center;
}
.sec02 .wrap02 .h2 {
  color: #31efc1;
  font-size: 4rem;
  font-weight: 600;
  letter-spacing: .3em;
  line-height: calc(27/20);
  text-align: center;
}
.sec02 .wrap02 .refills {
  display: flex;
  gap: 1.9rem;
  justify-content: center;
  margin-top: 4.8rem;
}
.sec02 .wrap02 .refills .refill {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-size: 2rem;
  font-weight: 500;
  justify-content: center;
  text-align: center;
  width: 15.5rem;
}
.sec02 .wrap02 .refills .refill span {
  line-height: 1.5;
  margin-top: .6rem;
}
.sec02 .wrap02 .p1 {
  font-size: 2rem;
  font-weight: 400;
  margin-top: 2rem;
}
.sec02 .wrap02 .p2 {
  align-items: center;
  background: #3fc;
  color: #21213e;
  display: flex;
  font-size: 2.8rem;
  font-weight: 700;
  height: 5rem;
  justify-content: center;
  margin-top: 2rem;
  text-align: center;
  width: 100%;
}
.sec02 .wrap02 .p3 {
  font-size: 2.6rem;
  font-weight: 500;
  line-height: calc(18/13);
  margin-top: 1rem;
}
.sec02 .wrap02 .p4 {
  margin-top: 1rem;
}
.sec02 .wrap02 .p4 span {
  font-size: 2.8rem;
  font-weight: 700;
}
.sec02 .wrap02 .p4 small {
  font-size: 2rem;
  font-weight: 400;
}
.sec02 .wrap02 .products {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem 7rem;
  justify-content: center;
  margin-top: 4.5rem;
}
.sec02 .wrap02 .products .product {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  height: 41.2rem;
  justify-content: space-between;
  position: relative;
  width: 28rem;
}
.sec02 .wrap02 .products .product .h3 {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-size: 2.4rem;
  font-weight: 700;
  justify-content: center;
  letter-spacing: .05em;
  position: relative;
  width: 13.4rem;
}
.sec02 .wrap02 .products .product .h3 span {
  align-items: center;
  display: flex;
  height: 7.9rem;
  justify-content: center;
  margin-bottom: 1.5rem;
}
.sec02 .wrap02 .products .product01 .h3 span img {
  width: 8.6rem;
}
.sec02 .wrap02 .products .product02 .h3 span img {
  width: 8rem;
}
.sec02 .wrap02 .products .product03 .h3 span img {
  width: 8.1rem;
}
.sec02 .wrap02 .products .product04 .h3 span img {
  width: 8.6rem;
}
.sec02 .wrap02 .products .product05 .h3 span img {
  width: 7.4rem;
}
.sec02 .wrap02 .products .product06 .h3 span img {
  width: 8.14rem;
}
.sec02 .wrap02 .products .product .img01 {
  width: 14rem;
}
.sec02 .wrap02 .products .product .img01 img {
  filter: drop-shadow(0 .6rem 1.2rem rgba(0,0,0, .48));
}
.sec02 .wrap02 .products .product .img02 {
  bottom: 0;
  left: 0;
  position: absolute;
  width: 24.6rem;
}
.sec02 .wrap02 .products .product .img02 img {
  filter: drop-shadow(0 .6rem 1.2rem rgba(0,0,0, .51));
}
.sec02 .wrap02 .btn01 {
  align-items: center;
  background: linear-gradient(to right,#2b4bde,#a668ff);
  color: #fff;
  display: flex;
  font-size: 2.4rem;
  font-weight: 500;
  height: 8.4rem;
  justify-content: center;
  margin: 2.8rem auto 4rem;
  margin-top: 5.2rem;
  position: relative;
  text-align: center;
  width: 41.2rem;
}
.sec02 .wrap02 .btn01::before, .sec02 .wrap02 .btn01::after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: '';
  height: 100%;
  margin: auto;
  position: absolute;
  top: 0;
}
.sec02 .wrap02 .btn01::before {
  background-image: url(../img/02_icon01.svg);
  left: 2rem;
  width: 4rem;
}
.sec02 .wrap02 .btn01::after {
  background-image: url(../img/02_icon02.svg);
  right: 2.4rem;
  width: 3.4rem;
}
.sec02 .wrap02 .btn02 {
  align-items: center;
  background: #fff;
  border-radius: 10rem;
  color: #2f3549;
  display: flex;
  font-size: 2rem;
  font-weight: 500;
  height: 6rem;
  justify-content: center;
  margin: 1.1rem auto 0;
  position: relative;
  text-align: center;
  width: 32.8rem;
}
.sec02 .wrap02 .btn02::after {
  background-image: url(../img/02_icon04.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: '';
  height: 100%;
  margin: auto;
  position: absolute;
  right: 1.4rem;
  top: 0;
  width: 2.4rem;
}
.sec02 .wrap02::before, .sec02 .wrap02::after {
  background: #fff;
  bottom: 10.24rem;
  bottom: 13.64rem;
  content: '';
  height: 1px;
  position: absolute;
  width: calc((100% - 32.8rem) / 2);
}
.sec02 .wrap02::before {
  left: 0;
}
.sec02 .wrap02::after {
  right: 0;
}
.sec02 .wrap02 a:hover {
  opacity: .7;
}
.sec02 small.sup {
  display: block;
  font-size: 2rem;
  font-weight: 400;
  margin-top: 1.5rem;
  text-align: center;
}
/* ---------------------------------------------------------------------------
//  sec03
--------------------------------------------------------------------------- */
.sec03 .wrap01 {
  background: linear-gradient(#2b4bde,#a668ff);
  padding: 4.8rem 0 4rem;
}
.sec03 .wrap01 .h2 {
  color: #31efc1;
  font-size: 4rem;
  font-weight: 600;
  letter-spacing: .3em;
  text-align: center;
}
.sec03 .wrap01 .slider_wrap {
  align-items: center;
  display: flex;
  margin: 4rem auto 0;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.sec03 .wrap01 .slider {
  display: flex;
  gap: 9rem;
  transition: transform .4s ease;
  will-change: transform;
}
.sec03 .wrap01 .slider_wrap .slider .item {
  align-items: center;
  background: #fff;
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
  color: #2f3549;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  height: 71.5rem;
  position: relative;
  text-align: center;
  width: 60rem;
}
.sec03 .wrap01 .slider_wrap .slider .item01 {
  background-image: url(../img/03_img01.png);
}
.sec03 .wrap01 .slider_wrap .slider .item02 {
  background-image: url(../img/03_img02.png);
}
.sec03 .wrap01 .slider_wrap .slider .item .logo {
  align-items: center;
  display: flex;
  height: 10.8rem;
  justify-content: center;
}
.sec03 .wrap01 .slider_wrap .slider .item01 .logo img {
  width: 20.4rem;
}
.sec03 .wrap01 .slider_wrap .slider .item02 .logo img {
  width: 19.55rem;
}
.sec03 .wrap01 .slider_wrap .slider .item .h3 {
  font-size: 2.8rem;
  font-weight: 600;
  letter-spacing: .1em;
}
.sec03 .wrap01 .slider_wrap .slider .item .p1 {
  align-items: center;
  background: #2f3549;
  color: #fff;
  display: flex;
  font-size: 2.8rem;
  font-weight: 500;
  height: 5.56rem;
  justify-content: center;
  margin-top: 1rem;
  width: 53rem;
}
.sec03 .wrap01 .slider_wrap .slider .item .p2 {
  font-size: 2.6rem;
  font-weight: 500;
  line-height: calc(18/13);
  margin-top: 1rem;
}
.sec03 .wrap01 .slider_wrap .slider .item .p3 {
  bottom: 3.14rem;
  font-size: 2rem;
  font-weight: 400;
  position: absolute;
  right: 3.5rem;
}
.sec03 .wrap01 .slider_wrap .slider .item01 .img {
  width: 58.7rem;
}
.sec03 .wrap01 .slider_wrap .slider .item02 .img {
  margin-top: 1rem;
  width: 58.6rem;
}
.sec03 .slider_prev {
  left: 0;
}
.sec03 .slider_next {
  right: 0;
}
.sec03 .wrap01 .p4 {
  display: flex;
  flex-shrink: 0;
  font-size: 2rem;
  font-weight: 400;
  gap: .2rem;
  letter-spacing: -.03em;
  line-height: calc(14/10);
  margin: 2.2rem auto 0;
  margin-top: 2.2rem;
  text-align: justify;
  /* white-space: nowrap; */
  width: 60rem;
}
.sec03 .wrap01 .p4 span {
  flex-shrink: 0;
}

.sec03 .wrap02 {
  padding: 6.2rem 0 5rem;
}
.sec03 .wrap02 .h2 {
  color: #31efc1;
  font-size: 4rem;
  font-weight: 600;
  letter-spacing: .3em;
  text-align: center;
}
.sec03 .wrap02 .p1 {
  font-size: 2.8rem;
  font-weight: 500;
  line-height: calc(18/14);
  margin-bottom: 1.2rem;
  margin-top: 2.5rem;
  text-align: center;
}
.sec03 .wrap02 .p2 {
  display: flex;
  flex-shrink: 0;
  font-size: 2rem;
  font-weight: 400;
  gap: .2rem;
  letter-spacing: -.04em;
  line-height: calc(14/10);
  margin: 0 auto;
  text-align: justify;
  width: 58rem;
}
.sec03 .wrap02 .p2 + .p2 {
  margin-top: 1rem;
}
.sec03 .wrap02 .p2 span {
  flex-shrink: 0;
}
.sec03 .wrap02 .slider_wrap {
  align-items: center;
  display: flex;
  margin: 5.2rem auto 0;
  overflow: hidden;
  padding-bottom: 1rem;
  position: relative;
  width: 100%;
}

.sec03 .wrap02 .slider {
  display: flex;
  gap: 9rem;
  transition: transform .4s ease;
  will-change: transform;
}
.sec03 .wrap02 .slider_wrap .slider .item {
  align-items: center;
  background: #21213e;
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
  border: solid 1px #fff;
  color: #2f3549;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  padding-bottom: 3rem;
  position: relative;
  text-align: center;
  width: 60rem;
}
.sec03 .wrap02 .slider_wrap .slider .item::before {
  background: #fff;
  bottom: -1rem;
  content: '';
  height: 100%;
  position: absolute;
  right: -.8rem;
  width: 100%;
  z-index: -1;
}
.sec03 .wrap02 .slider_wrap .slider .item .head {
  align-items: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  font-size: 2.8rem;
  font-weight: 700;
  gap: 1rem;
  height: 13.6rem;
  justify-content: center;
  letter-spacing: .05em;
  position: relative;
  width: 100%;
}
.sec03 .wrap02 .slider_wrap .slider .item .head .mark {
  align-items: center;
  bottom: 0;
  display: flex;
  height: 100%;
  justify-content: center;
  left: 1.86rem;
  margin: auto;
  position: absolute;
  top: 0;
  width: 10.4rem;
}
.sec03 .wrap02 .slider_wrap .slider .item01 .head .mark img {
  width: 9.88rem;
}
.sec03 .wrap02 .slider_wrap .slider .item02 .head .mark img {
  width: 9.12rem;
}
.sec03 .wrap02 .slider_wrap .slider .item03 .head .mark img {
  width: 10.4rem;
}
.sec03 .wrap02 .slider_wrap .slider .item04.head .mark img {
  width: 9.84rem;
}
.sec03 .wrap02 .slider_wrap .slider .item05 .head .mark img {
  width: 10.4rem;
}
.sec03 .wrap02 .slider_wrap .slider .item06 .head .mark img {
  width: 9.8rem;
}
.sec03 .wrap02 .slider_wrap .slider .item01 .head {
  background: #fe8a23;
}
.sec03 .wrap02 .slider_wrap .slider .item02 .head {
  background: #df507f;
}
.sec03 .wrap02 .slider_wrap .slider .item03 .head {
  background: #b22222;
}
.sec03 .wrap02 .slider_wrap .slider .item04 .head {
  background: #58bcf6;
}
.sec03 .wrap02 .slider_wrap .slider .item05 .head {
  background: #c437bc;
}
.sec03 .wrap02 .slider_wrap .slider .item06 .head {
  background: #e0d35c;
}
.sec03 .wrap02 .slider_wrap .slider .item .img {
  margin-top: 2.7rem;
  margin-top: 0;
  position: relative;
  width: 54.1rem;
  width: 100%;
}
.sec03 .wrap02 .slider_wrap .slider .item .img small {
  bottom: 1.5rem;
  color: #fff;
  font-size: 2rem;
  font-weight: 400;
  position: absolute;
  right: .4rem;
  right: 2.1rem;
}
.sec03 .wrap02 .slider_wrap .slider .item .h4 {
  color: #fff;
  font-size: 2.6rem;
  line-height: calc(18/13);
  margin-top: .5rem;
  margin-top: 0;
  text-align: center;
}
.sec03 .wrap02 .slider_wrap .slider .item .p5 {
  color: #fff;
  margin-top: 1rem;
}
.sec03 .wrap02 .slider_wrap .slider .item .p5 span {
  font-size: 2.8rem;
  font-weight: 700;
}
.sec03 .wrap02 .slider_wrap .slider .item .p5 small {
  font-size: 2rem;
  font-weight: 400;
}
.sec03 .wrap02 .slider_wrap .slider .item .btn01 {
  align-items: center;
  background: linear-gradient(to right,#2b4bde,#a668ff);
  color: #fff;
  display: flex;
  font-size: 2.4rem;
  font-weight: 500;
  height: 8.4rem;
  justify-content: center;
  margin-top: 2rem;
  position: relative;
  text-align: center;
  width: 41.2rem;
}
.sec03 .wrap02 .slider_wrap .slider .item .btn01::before, .sec03 .wrap02 .slider_wrap .slider .item .btn01::after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: '';
  height: 100%;
  margin: auto;
  position: absolute;
  top: 0;
}
.sec03 .wrap02 .slider_wrap .slider .item .btn01::before {
  background-image: url(../img/02_icon01.svg);
  left: 2rem;
  width: 4rem;
}
.sec03 .wrap02 .slider_wrap .slider .item .btn01::after {
  background-image: url(../img/02_icon02.svg);
  right: 2.4rem;
  width: 3.4rem;
}
.sec03 .wrap02 .slider_wrap .slider .item .btn02 {
  align-items: center;
  background: #fff;
  border-radius: 10rem;
  color: #2f3549;
  display: flex;
  font-size: 2rem;
  font-weight: 500;
  height: 6rem;
  justify-content: center;
  margin: 2rem auto 0;
  position: relative;
  text-align: center;
  width: 32.8rem;
}
.sec03 .wrap02 .slider_wrap .slider .item .btn02::after {
  background-image: url(../img/02_icon04.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: '';
  height: 100%;
  margin: auto;
  position: absolute;
  right: 1.4rem;
  top: 0;
  width: 2.4rem;
}
.sec03 .wrap02 .slider_wrap .slider .item a:hover {
  opacity: .7;
}
.sec03 .wrap03 {
  padding: 0 3.3rem 5rem;
}
.sec03 .wrap03 .group {
  border-top: 1px solid rgba(255,255,255,.37);
  padding: 3.2rem 0;
}
.sec03 .wrap03 .group .h3 {
  font-size: 3rem;
  letter-spacing: .3em;
  margin-bottom: 2rem;
  text-align: center;
}
.sec03 .wrap03 dl {
  font-size: 2rem;
  line-height: calc(14/10);
}
.sec03 .wrap03 .group02 dl {
  height: 39rem;
  overflow: auto;
  -ms-overflow-style: none;
  padding-right: 2.5rem;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  text-align: justify;
  /* Firefox 対応 */
}
.sec03 .wrap03 dl dt {
  display: flex;
  font-weight: 500;
  gap: .4rem;
}
.sec03 .wrap03 dl dt::before {
  content: '\25CF';
}
.sec03 .wrap03 dl dd ul li {
  display: flex;
  font-weight: 500;
  font-weight: 400;
  gap: .4rem;
}
.sec03 .wrap03 dl dd ul li::before {
  content: '\30FB';
}
.sec03 .wrap03 dl dd .p1 {
  display: flex;
  flex-shrink: 0;
  font-weight: 400;
  gap: .4rem;
}
.sec03 .wrap03 dl dd .p1 span {
  flex-shrink: 0;
}
.sec03 .wrap03 dl dd  strong {
  color: red;
  font-weight: 400;
}

.scroll__inner::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
.simplebar-scrollbar::before {
  background: #fff;
  border-radius: 0;
  left: 0;
  opacity: 1 !important; /* スクロールバーを常に表示 */
  transition: none !important; /* アニメーションなし */
  width: 4px;
}
.simplebar-scrollbar.simplebar-visible::before {
  opacity: 1;
}
.simplebar-track {
  background: rgba(255,255,255,.37);
  background: linear-gradient(to right,transparent 0,rgba(255,255,255,.37) 1px,rgba(255,255,255,.37) 3px,transparent);
  width: 4px !important;
}
.simplebar-scrollbar {
  opacity: 1 !important;
}

/* ---------------------------------------------------------------------------
//  sec04
--------------------------------------------------------------------------- */
.sec04 .wrap01 {
  align-items: center;
  background: linear-gradient(#101551,#5749b8);
  display: flex;
  flex-direction: column;
  padding: 12.8rem 0 5.2rem;
}
.sec04 .wrap01 .h2 {
  width: 42rem;
}
.sec04 .wrap01 .h3 {
  margin-top: 6.5rem;
  width: 64.8rem;
}
.sec04 .wrap01 .h4 {
  color: #3fc;
  font-size: 3.2rem;
  font-size: 2.8rem;
  margin-top: 6.5rem;
}
.sec04 .wrap01 .p1 {
  color: #fff;
  font-size: 2.4rem;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: calc(21/12);
  line-height: normal;
  margin-top: 4.7rem;
  text-align: center;
  white-space: nowrap;
}
.sec04 .wrap01 .p1 strong {
  display: block;
  font-size: 2.6rem;
  font-weight: 500;
  /* margin-bottom: 1rem; */
}
.sec04 .wrap01 .btn01 {
  align-items: center;
  background: linear-gradient(to right,#2b4bde,#a668ff);
  color: #fff;
  display: flex;
  font-size: 2.4rem;
  font-weight: 500;
  height: 8.4rem;
  justify-content: center;
  margin-top: 4.9rem;
  position: relative;
  text-align: center;
  width: 41.2rem;
}
.sec04 .wrap01 .btn01::before, .sec04 .wrap01 .btn01::after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: '';
  height: 100%;
  margin: auto;
  position: absolute;
  top: 0;
}
.sec04 .wrap01 .btn01::before {
  background-image: url(../img/02_icon01.svg);
  left: 2rem;
  width: 4rem;
}
.sec04 .wrap01 .btn01::after {
  background-image: url(../img/02_icon02.svg);
  right: 2.4rem;
  width: 3.4rem;
}
.sec04 .wrap01 .sns {
  display: flex;
  gap: 2.6rem;
  justify-content: center;
  margin-top: 4.5rem;
}
.sec04 .wrap01 .sns a {
  width: 7.8rem;
}
.sec04 .wrap01 a:hover {
  opacity: .7;
}
/* ---------------------------------------------------------------------------
//  footer
--------------------------------------------------------------------------- */
.footer .wrap01 {
  align-items: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  font-size: 2.8rem;
  font-weight: 500;
  line-height: calc(18/14);
  padding: 9.6rem 0 5rem;
  text-align: center;
}
.footer .wrap01 a:hover {
  opacity: .7;
}
.footer .wrap01 .groups {
  display: flex;
  justify-content: center;
}
.footer .wrap01 .groups .group {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 3rem;
  width: 29.2rem;
}
.footer .wrap01 .groups .group .h2 {
  align-items: center;
  display: flex;
  height: 8.83rem;
  justify-content: center;
  width: 100%;
}
.footer .wrap01 .groups .group01 .h2 img {
  width: 100%;
}
.footer .wrap01 .groups .group02 .h2 img {
  width: 24.7rem;
}
.footer .wrap01 .groups .group .sns {
  display: flex;
  gap: 1.84rem;
  justify-content: center;
}
.footer .wrap01 .groups .group .sns a {
  width: 6.6rem;
}
.footer .wrap01 .h3 {
  margin-top: 4.5rem;
}
.footer .wrap01 .logo {
  margin-top: 6.28rem;
  width: 20rem;
}
.footer .wrap01 .copy {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: .12em;
  margin-top: 2rem;
}
/* ---------------------------------------------------------------------------
//  PC/SP
--------------------------------------------------------------------------- */
.forSP {
  display: none;
}
@media screen and (max-width:990px) {
  .forSP {
    display: block;
  }
  .forPC {
    display: none;
  }
}
