@charset "UTF-8";
/* ================================================

- Base

================================================ */
[v-cloak] {
  display: none;
}

_:-ms-lang(x)::-ms-backdrop, [v-cloak] {
  display: block;
}

body {
  background-color: var(--cc-blue) !important;
}

body {
  overflow-x: hidden;
  -ms-scroll-chaining: chained;
      overscroll-behavior: auto;
}

body.-bodyScrollStop {
  overflow: hidden;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
}

:root {
  --cc-blue: #0e1b3c;
  --cc-lblue: #1e2570;
  --cc-hblue: #09122a;
  --w1280: 1280px;
  --space: 30px;
  --rem: 1rem /16;
}

/* ================================================

- 表示アニメーション

================================================ */
/* ================================================

- フォント

================================================ */
/* ================================================

- フォントサイズ

================================================ */
/* ================================================

- RWD表示切り替え

================================================ */
@media all and (min-width: 569px) {
  .nopc {
    display: none !important;
  }
}
@media all and (max-width: 568px) {
  .nosp {
    display: none !important;
  }
}
/* ================================================

- flex

================================================ */
/* ================================================

- margin

================================================ */
/* magrin-topを5px刻みで50pxまで */
.mTop0 {
  margin-top: 0px;
}

.mTop5 {
  margin-top: 5px;
}

.mTop10 {
  margin-top: 10px;
}

.mTop15 {
  margin-top: 15px;
}

.mTop20 {
  margin-top: 20px;
}

.mTop25 {
  margin-top: 25px;
}

.mTop30 {
  margin-top: 30px;
}

.mTop35 {
  margin-top: 35px;
}

.mTop40 {
  margin-top: 40px;
}

.mTop45 {
  margin-top: 45px;
}

.mTop50 {
  margin-top: 50px;
}

.mTop55 {
  margin-top: 55px;
}

.mTop60 {
  margin-top: 60px;
}

.mTop65 {
  margin-top: 65px;
}

.mTop70 {
  margin-top: 70px;
}

.mTop75 {
  margin-top: 75px;
}

.mTop80 {
  margin-top: 80px;
}

.mTop85 {
  margin-top: 85px;
}

.mTop90 {
  margin-top: 90px;
}

.mTop95 {
  margin-top: 95px;
}

.mTop100 {
  margin-top: 100px;
}

/* magrin-bottomを5px刻みで50pxまで */
.mBtm0 {
  margin-bottom: 0px;
}

.mBtm5 {
  margin-bottom: 5px;
}

.mBtm10 {
  margin-bottom: 10px;
}

.mBtm15 {
  margin-bottom: 15px;
}

.mBtm20 {
  margin-bottom: 20px;
}

.mBtm25 {
  margin-bottom: 25px;
}

.mBtm30 {
  margin-bottom: 30px;
}

.mBtm35 {
  margin-bottom: 35px;
}

.mBtm40 {
  margin-bottom: 40px;
}

.mBtm45 {
  margin-bottom: 45px;
}

.mBtm50 {
  margin-bottom: 50px;
}

.mBtm55 {
  margin-bottom: 55px;
}

.mBtm60 {
  margin-bottom: 60px;
}

.mBtm65 {
  margin-bottom: 65px;
}

.mBtm70 {
  margin-bottom: 70px;
}

.mBtm75 {
  margin-bottom: 75px;
}

.mBtm80 {
  margin-bottom: 80px;
}

.mBtm85 {
  margin-bottom: 85px;
}

.mBtm90 {
  margin-bottom: 90px;
}

.mBtm95 {
  margin-bottom: 95px;
}

.mBtm100 {
  margin-bottom: 100px;
}

/* ================================================

- z-index

================================================ */
/* ================================================

-

================================================ */
.lozad {
  opacity: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.lozad[data-loaded=true] {
  opacity: 1;
}

/* ================================================

- イージング

================================================ */
/* ================================================

- ページ共通

================================================ */
.m-body.addReset.-lab {
  background-color: #000000;
  background-image: url(/files/user/static/asset/images/goods/blowindslab/bg.jpg);
  background-size: 318px;
  background-repeat: repeat;
  background-position: top center;
}

.lab-body {
  padding-bottom: 142px;
  overflow-x: clip;
}

.lab-sc__ttl {
  max-width: 379px;
  width: 100%;
  margin: 0 auto;
}

/*--- media screen ---*/
@media screen and (max-width: 568px) {
  .m-body.addReset.-lab {
    background-image: url(../images/goods/blowindslab/bg.jpg);
    background-size: 318px;
  }
  .lab-body {
    padding-bottom: 142px;
  }
  .lab-sc__ttl {
    width: 77.333vw;
  }
}
/* ================================================

- MV

================================================ */
.lab-mv {
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
}

/* ================================================

- スライド

================================================ */
.lab-slide__photos {
  overflow-x: clip;
}

.lab-slide__photos__clone {
  width: 100%;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
}

.lab-slide__photos__list {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  gap: 2px;
  will-change: transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.lab-slide__photos__list.-list1 {
  -webkit-animation: loop-slide-left1 42s -21s infinite linear none;
          animation: loop-slide-left1 42s -21s infinite linear none;
}

.lab-slide__photos__list.-list2 {
  -webkit-animation: loop-slide-left2 42s infinite linear none;
          animation: loop-slide-left2 42s infinite linear none;
}

.lab-slide__photos__list.-list1.-customize {
  -webkit-animation: loop-slide-left1 28s -14s infinite linear none;
          animation: loop-slide-left1 28s -14s infinite linear none;
}

.lab-slide__photos__list.-list2.-customize {
  -webkit-animation: loop-slide-left2 28s infinite linear none;
          animation: loop-slide-left2 28s infinite linear none;
}

.lab-slide__photos__list.-list1.-reverse {
  -webkit-animation: loop-slide-right1 42s -21s infinite linear none;
          animation: loop-slide-right1 42s -21s infinite linear none;
}

.lab-slide__photos__list.-list2.-reverse {
  -webkit-animation: loop-slide-right2 42s infinite linear none;
          animation: loop-slide-right2 42s infinite linear none;
}

.lab-slide__photos__item {
  width: 300px;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
}

@-webkit-keyframes loop-slide-left1 {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  99.9%, to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

@keyframes loop-slide-left1 {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  99.9%, to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@-webkit-keyframes loop-slide-left2 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  99.9%, to {
    -webkit-transform: translateX(-200%);
            transform: translateX(-200%);
  }
}
@keyframes loop-slide-left2 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  99.9%, to {
    -webkit-transform: translateX(-200%);
            transform: translateX(-200%);
  }
}
@-webkit-keyframes loop-slide-right1 {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  99.9%, to {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
@keyframes loop-slide-right1 {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  99.9%, to {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
@-webkit-keyframes loop-slide-right2 {
  0% {
    -webkit-transform: translateX(-200%);
            transform: translateX(-200%);
  }
  99.9%, to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes loop-slide-right2 {
  0% {
    -webkit-transform: translateX(-200%);
            transform: translateX(-200%);
  }
  99.9%, to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
/*--- media screen ---*/
@media screen and (max-width: 568px) {
  .lab-slide__photos__item {
    width: 50vw;
  }
}
/* ================================================

- showcase

================================================ */
.lab-sc.-showcase {
  padding: 135px 0 128px;
}

.lab-showcase__summarys {
  text-align: center;
  color: #FFFFFF;
}
.lab-showcase__summarys dt {
  font-size: 3.375rem;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
}

.lab-showcase__summary {
  margin-top: 55px;
}
.lab-showcase__summary p {
  font-size: 1.3125rem;
  line-height: 2.0952;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

/*--- media screen ---*/
@media screen and (max-width: 568px) {
  .lab-sc.-showcase {
    padding: 95px 0 100px;
  }
  .lab-sc.-showcase .lab-sc__inner {
    padding: 0 5.333vw;
  }
  .lab-showcase__summarys dt {
    font-size: 11.2vw;
    line-height: 1.275;
  }
  .lab-showcase__summary {
    margin-top: 45px;
  }
  .lab-showcase__summary p {
    font-size: 5.0666666667vw;
  }
}
/* ================================================

- アンカーリンク

================================================ */
.lab-anchor {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  margin: 50px auto 0;
  gap: 30px;
}

.lab-anchor__btn {
  width: calc(33.3333333333% - 20px);
}
.lab-anchor__btn a {
  display: block;
  width: 100%;
  min-height: 120px;
  padding-top: 19px;
  font-size: 1.875rem;
  line-height: 1.0667;
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: #000000;
  text-align: center;
  border-radius: 12px;
  position: relative;
}
.lab-anchor__btn a::after {
  content: "";
  position: absolute;
  bottom: 18px;
  left: 50%;
  translate: -50% 0;
  width: 11px;
  height: 11px;
  border-left: solid 3px #FFFFFF;
  border-bottom: solid 3px #FFFFFF;
  rotate: -45deg;
}
.lab-anchor__btn a span {
  white-space: pre-line;
}

.lab-anchor__btn.-players a {
  background-color: #1dc4ee;
}

.lab-anchor__btn.-original a {
  background-color: #f6b72b;
}

.lab-anchor__btn.-customize a {
  background-color: #fc5f2f;
}

/*--- media screen ---*/
@media screen and (max-width: 568px) {
  .lab-sc.-anchor .lab-sc__inner {
    padding: 0 5.333vw;
  }
  .lab-anchor {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 40px auto 0;
    gap: 2.667vw;
  }
  .lab-anchor__btn {
    width: calc(50% - 1.3335vw);
  }
  .lab-anchor__btn a {
    min-height: 26.667vw;
    padding-top: 5.067vw;
    font-size: 5.6vw;
    border-radius: 3.2vw;
  }
  .lab-anchor__btn a::after {
    bottom: 5.6vw;
  }
}
/* ================================================

- サービス

================================================ */
.lab-sc.-service {
  margin-top: 80px;
}

.lab-service__block {
  background-color: #FFFFFF;
  border-radius: 20px;
  overflow: hidden;
}

.lab-service__head {
  padding: 23px 0 17px;
  text-align: center;
}

.lab-service__subHead.-players,
.lab-service__head.-players {
  background-color: #1dc4ee;
}

.lab-service__subHead.-original,
.lab-service__head.-original {
  background-color: #f6b72b;
}

.lab-service__subHead.-customize,
.lab-service__head.-customize {
  background-color: #fc5f2f;
}

.lab-service__ttl {
  font-size: 3.75rem;
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: #000000;
}

.lab-service__subHead {
  padding: 10px 0 14px;
  text-align: center;
  border-radius: calc(infinity * 1px);
}

.lab-service__subTtl {
  font-size: 1.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: #000000;
}

.lab-service__block__inner {
  padding: 62px 50px 66px;
}

.lab-service__main__lead {
  text-align: center;
}
.lab-service__main__lead p {
  font-size: 1.875rem;
  line-height: 1.333;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: #000000;
}

.lab-service__main__slide {
  margin-top: 30px;
}

.lab-service__main {
  position: relative;
}

.lab-service__swiper {
  margin-top: 45px;
}

.swiper-slide.lab-service__slide {
  width: 290px;
}
.swiper-slide.lab-service__slide img {
  display: block;
}
.swiper-slide.lab-service__slide figcaption {
  margin-top: 14px;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: #000000;
  text-align: center;
}

.swiper-slide.lab-service__slide:first-of-type {
  width: 300px;
}

.swiper-slide.lab-service__slide:nth-of-type(2) {
  margin-left: 44px;
  margin-right: 54px;
}
.swiper-slide.lab-service__slide:nth-of-type(2)::after {
  content: "";
  position: absolute;
  left: -37px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226px%22%20height%3D%2226px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(29%2C%2042%2C%2085)%22%20d%3D%22M25.1000%2C16.000%20L15.1000%2C16.000%20L15.1000%2C25.1000%20L9.1000%2C25.1000%20L9.1000%2C16.000%20L-0.000%2C16.000%20L-0.000%2C9.1000%20L9.1000%2C9.1000%20L9.1000%2C-0.000%20L15.1000%2C-0.000%20L15.1000%2C9.1000%20L25.1000%2C9.1000%20L25.1000%2C16.000%20Z%22%2F%3E%3C%2Fsvg%3E");
  width: 26px;
  height: 26px;
}

.swiper-slide.lab-service__slide:last-of-type::after {
  content: "";
  position: absolute;
  left: -40px;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
          clip-path: polygon(0 0, 0% 100%, 100% 50%);
  width: 22px;
  height: 26px;
  background-color: #1d2a55;
}

.swiper-slide.lab-service__slide:not(:first-of-type) {
  position: relative;
}
.swiper-slide.lab-service__slide:not(:first-of-type)::after {
  content: "";
  position: absolute;
  top: 132px;
  background-size: contain;
  background-repeat: no-repeat;
}

/* swiper
**********************/
.swiper-arrow__prev,
.swiper-arrow__next {
  position: absolute;
  top: 205px;
  cursor: pointer;
  z-index: 10;
  -webkit-transition: opacity 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: opacity 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.swiper-arrow__prev::after,
.swiper-arrow__next::after {
  content: "";
  position: absolute;
  top: 0;
  width: 14px;
  height: 14px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.swiper-arrow__prev:hover,
.swiper-arrow__next:hover {
  opacity: 0.7;
}

.swiper-arrow__prev.swiper-button-disabled,
.swiper-arrow__next.swiper-button-disabled {
  opacity: 0;
}

/* 前ページボタンのスタイル */
.swiper-arrow__prev {
  left: 5px;
}
.swiper-arrow__prev::after {
  left: 0;
  border-bottom: 2px solid #FFFFFF;
  border-left: 2px solid #FFFFFF;
}

/* 次ページボタンのスタイル */
.swiper-arrow__next {
  right: 5px;
}
.swiper-arrow__next::after {
  right: 0;
  border-top: 2px solid #FFFFFF;
  border-right: 2px solid #FFFFFF;
}

.lab-service__number {
  margin-top: 75px;
}

.lab-service__number__list {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 25px 70px;
  margin-top: 40px;
  background-image: url(../images/goods/blowindslab/players_number_bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
}

.lab-service__number__item {
  width: 16.6666666667%;
}

.lab-service__custom {
  margin-top: 80px;
}

.lab-service__custom__inner {
  margin-top: 47px;
}

.lab-service__custom__layout {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
}

.lab-service__custom__list {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  position: relative;
}

.-list2024 {
  width: 531px;
}

.-list2023 {
  width: 341px;
}
.-list2023::before {
  content: "";
  position: absolute;
  top: -8px;
  left: -55px;
  width: 1px;
  height: calc(100% + 15px);
  background-color: #0d0d0d;
}

.lab-service__custom__item {
  width: 144px;
}
.lab-service__custom__item figcaption {
  margin-top: 15px;
  font-size: 0.9375rem;
  line-height: 1.4;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: #000000;
  text-align: center;
}

.lab-service__custom__list2 {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  margin-top: 47px;
}

.lab-service__custom__item2 {
  width: 246px;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
}
.lab-service__custom__item2 figcaption {
  margin-top: 13px;
  font-size: 0.9375rem;
  line-height: 1.4;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: #000000;
  text-align: center;
}

.lab-service__custom__item2:nth-last-child(-n+2) {
  width: 195px;
}

.lab-service__price {
  margin-top: 85px;
}

.lab-service__price.-customize {
  margin-top: 72px;
}

.lab-service__price__layout {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  gap: 68px;
}

.lab-service__price__main {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 360px;
}

.lab-service__price__txt {
  width: 100%;
  margin-top: 35px;
  padding-left: 10px;
}
.lab-service__price__txt img {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 284px;
}
.lab-service__price__txt img.-patch {
  width: 264px;
}
.lab-service__price__txt span {
  display: block;
  margin-bottom: 11px;
  font-size: 1.375rem;
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: #000000;
}
.lab-service__price__txt figcaption {
  display: inline-block;
  margin-left: 4px;
  translate: 0 -15px;
  font-size: 1.375rem;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: #000000;
}

.lab-service__price.-customize .lab-service__price__txt {
  width: 100%;
  margin-top: 32px;
  padding-left: 15px;
}
.lab-service__price.-customize .lab-service__price__txt + .lab-service__price__txt {
  margin-top: 24px;
}

.lab-service__price__note {
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto;
  width: calc(100% - 426px);
}
.lab-service__price__note dt {
  font-size: 1.25rem;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: #0d0d0d;
}
.lab-service__price__note dd {
  margin-top: 18px;
}
.lab-service__price__note dd p {
  font-size: 0.9375rem;
  line-height: 1.6;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: #0d0d0d;
}
.lab-service__price__note dd p:not(:first-of-type) {
  margin-top: 4px;
}

/*--- media screen ---*/
@media screen and (max-width: 568px) {
  .lab-sc.-service {
    margin-top: 60px;
  }
  .lab-sc.-service .lab-sc__inner {
    padding: 0 5.333vw;
  }
  .lab-service__block {
    border-radius: 5.333vw;
  }
  .lab-service__head {
    padding: 23px 0 17px;
    text-align: center;
  }
  .lab-service__ttl {
    font-size: 10.1333333333vw;
  }
  .lab-service__subHead {
    padding: 10px 0 14px;
  }
  .lab-service__subTtl {
    font-size: 5.3333333333vw;
  }
  .lab-service__block__inner {
    padding: 45px 4vw 50px;
  }
  .lab-service__main__lead p {
    font-size: 5.3333333333vw;
  }
  .lab-service__main__slide {
    margin-top: 30px;
  }
  .lab-service__swiper {
    margin-top: 35px;
  }
  .swiper-slide.lab-service__slide {
    width: auto;
  }
  .swiper-slide.lab-service__slide figcaption {
    margin-top: 14px;
    font-size: 4vw;
  }
  .swiper-slide.lab-service__slide:first-of-type {
    width: auto;
  }
  .swiper-slide.lab-service__slide:nth-of-type(2) {
    margin-left: 0;
    margin-right: 0;
  }
  .swiper-slide.lab-service__slide:nth-of-type(2)::after {
    left: -23px;
    width: 20px;
    height: 20px;
  }
  .swiper-slide.lab-service__slide:last-of-type::after {
    left: -21px;
    width: 17px;
    height: 20px;
  }
  .swiper-slide.lab-service__slide:not(:first-of-type)::after {
    top: 30.933vw;
  }
  .lab-service__number {
    margin-top: 60px;
  }
  .lab-service__number__list {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: start;
    -webkit-box-align: start;
            align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 25px 4vw;
    margin-top: 30px;
  }
  .lab-service__number__item {
    width: 33.3333333333%;
  }
  .lab-service__custom {
    margin-top: 65px;
  }
  .lab-service__custom__inner {
    margin-top: 47px;
  }
  .lab-service__custom__layout {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: start;
    -webkit-box-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .lab-service__custom__list {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: start;
    -webkit-box-align: start;
            align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 20px 4.8vw;
  }
  .-list2024 {
    width: 100%;
  }
  .-list2023 {
    width: 100%;
    margin-top: 35px;
    padding-top: 35px;
  }
  .-list2023::before {
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
  }
  .lab-service__custom__item {
    width: calc(50% - 2.4vw);
  }
  .lab-service__custom__item figcaption {
    margin-top: 15px;
    font-size: 3.7333333333vw;
  }
  .lab-service__custom__list2 {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: start;
    -webkit-box-align: start;
            align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 47px;
    gap: 20px 5.333vw;
  }
  .lab-service__custom__item2 {
    width: calc(50% - 2.6665vw);
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
  }
  .lab-service__custom__item2 figcaption {
    margin-top: 13px;
    font-size: 3.7333333333vw;
  }
  .lab-service__custom__item2:nth-last-child(-n+2) {
    width: calc(50% - 2.6665vw);
  }
  .lab-service__price {
    margin-top: 85px;
  }
  .lab-service__price.-customize {
    margin-top: 72px;
  }
  .lab-service__price__layout {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: start;
    -webkit-box-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px;
  }
  .lab-service__price__main {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
  }
  .lab-service__price__txt {
    width: 100%;
    margin-top: 35px;
    padding-left: 0;
  }
  .lab-service__price__txt img {
    width: 64vw;
  }
  .lab-service__price__txt img.-patch {
    width: 59.2vw;
  }
  .lab-service__price__txt span {
    margin-bottom: 11px;
    font-size: 5.3333333333vw;
  }
  .lab-service__price__txt figcaption {
    margin-left: 4px;
    translate: 0 -2.667vw;
    font-size: 5.3333333333vw;
  }
  .lab-service__price.-customize .lab-service__price__txt {
    width: 100%;
    margin-top: 32px;
    padding-left: 0;
  }
  .lab-service__price.-customize .lab-service__price__txt + .lab-service__price__txt {
    margin-top: 24px;
  }
  .lab-service__price__note {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
    width: 100%;
  }
  .lab-service__price__note dt {
    font-size: 5.0666666667vw;
  }
  .lab-service__price__note dd {
    margin-top: 18px;
  }
  .lab-service__price__note dd p {
    font-size: 3.7333333333vw;
  }
  .lab-service__price__note dd p:not(:first-of-type) {
    margin-top: 4px;
  }
}
/* ================================================

- スケジュール

================================================ */
.lab-sc.-schedule {
  margin-top: 138px;
}

.lab-schedule__layout {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  gap: 40px;
  margin-top: 50px;
}

.lab-schedule__item {
  width: calc(50% - 20px);
}

.lab-schedule__ttl {
  font-size: 2.25rem;
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: #FFFFFF;
}

.lab-schedule__bordered {
  margin-top: 15px;
}

.lab-schedule__table {
  width: 100%;
  border-top: solid 1px #555555;
  border-left: solid 1px #555555;
  border-collapse: collapse;
  border-spacing: 0;
}
.lab-schedule__table th,
.lab-schedule__table td {
  border-bottom: solid 1px #555555;
  border-right: solid 1px #555555;
  padding: 16px 6px 16px;
  font-size: 1rem;
  line-height: 1.467;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: #FFFFFF;
  vertical-align: middle;
  text-align: center;
  background-color: #0d0d0d;
}
.lab-schedule__table th {
  padding: 8px 6px 7px;
  font-size: 0.9375rem;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  background-color: #2c2c2c;
}
.lab-schedule__table thead th.-min {
  width: 10%;
}
.lab-schedule__table thead th.-medium {
  width: 18%;
}
.lab-schedule__table thead th.-large {
  width: 24%;
}
/*--- media screen ---*/
@media screen and (max-width: 568px) {
  .lab-sc.-schedule {
    margin-top: 120px;
  }
  .lab-sc.-schedule .lab-sc__inner {
    padding: 0 5.333vw;
  }
  .lab-schedule__layout {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: start;
    -webkit-box-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px;
    margin-top: 50px;
  }
  .lab-schedule__item {
    width: 100%;
  }
  .lab-schedule__ttl {
    font-size: 9.0666666667vw;
  }
  .lab-schedule__bordered {
    margin-top: 15px;
  }
  .lab-schedule__table th,
  .lab-schedule__table td {
    padding: 16px 1.333vw 16px;
    font-size: 4vw;
  }
  .lab-schedule__table th {
    padding: 8px 1.333vw 7px;
    font-size: 3.7333333333vw;
  }
  .lab-schedule__table thead th.-min {
    width: 10%;
  }
  .lab-schedule__table thead th.-medium {
    width: 21%;
  }
  .lab-schedule__table thead th.-large {
    width: 24%;
  }
}
/* ================================================

- パートナー

================================================ */
.lab-sc.-partner {
  margin-top: 140px;
}

.lab-partner {
  margin-top: 50px;
}

.lab-partner__logo {
  max-width: 572px;
  width: 100%;
  margin: 0 auto;
  translate: -20px 0;
}

.lab-partner__layout {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  gap: 40px;
  margin-top: 60px;
}

.lab-partner__photo {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  max-width: 500px;
  width: 100%;
}

.lab-partner__summary {
  margin-left: 40px;
}
.lab-partner__summary p {
  font-size: 1rem;
  line-height: 1.875;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: #FFFFFF;
}

.lab-partner__photos {
  margin-top: 70px;
}

.lab-partner__photos__list {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
}

.lab-partner__photos__item {
  width: 358px;
}

.lab-partner__photos__item:nth-of-type(2) {
  width: 360px;
}

/*--- media screen ---*/
@media screen and (max-width: 568px) {
  .lab-sc.-partner {
    margin-top: 140px;
  }
  .lab-sc.-partner .lab-sc__inner {
    padding: 0 5.333vw;
  }
  .lab-partner {
    margin-top: 50px;
  }
  .lab-partner__logo {
    translate: 0 0;
  }
  .lab-partner__layout {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: start;
    -webkit-box-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px;
    margin-top: 50px;
  }
  .lab-partner__summary {
    margin-left: 0;
  }
  .lab-partner__summary p {
    font-size: 4vw;
  }
  .lab-partner__photos {
    margin-top: 60px;
  }
  .lab-partner__photos__list {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: start;
    -webkit-box-align: start;
            align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 1px;
  }
  .lab-partner__photos__item {
    width: calc(50% - 0.5px);
  }
  .lab-partner__photos__item:nth-of-type(2) {
    width: calc(50% - 0.5px);
  }
}
/* ================================================

- faq

================================================ */
.lab-sc.-faq {
  margin-top: 138px;
}

.lab-faq {
  margin-top: 48px;
}

.lab-faq__details {
  border-radius: 10px;
  overflow: hidden;
}

.lab-faq__details:not(:first-of-type) {
  margin-top: 16px;
}

.lab-faq__summary {
  /* display: list-item; */ /* 外を指定してデフォルトの三角形アイコンを消します */
  display: block;
  padding: 20px 60px 20px 74px;
  font-size: 1.0625rem;
  line-height: 1.75;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  color: #0d0d0d;
  background-color: #eeeeee;
  position: relative;
  cursor: pointer;
}
.lab-faq__summary::before {
  content: "";
  position: absolute;
  top: 17px;
  left: 20px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2237px%22%20height%3D%2236px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(13%2C%2013%2C%2013)%22%20d%3D%22M30.452%2C34.671%20L30.452%2C28.104%20L37.003%2C28.104%20L37.003%2C34.671%20L30.452%2C34.671%20ZM19.893%2C33.586%20C18.879%2C34.126%2017.763%2C34.533%2016.530%2C34.792%20C16.530%2C34.792%2012.414%2C35.586%208.525%2C34.589%20C5.856%2C33.877%203.771%2C32.362%202.268%2C30.042%20C0.765%2C27.723%200.013%2C24.277%200.013%2C19.705%20L0.013%2C15.591%20C0.013%2C12.746%200.325%2C10.334%200.951%2C8.352%20C1.575%2C6.371%202.453%2C4.763%203.585%2C3.527%20C4.716%2C2.291%206.076%2C1.393%207.664%2C0.834%20C9.251%2C0.275%2011.008%2C-0.004%2012.933%2C-0.004%20C14.892%2C-0.004%2016.665%2C0.275%2018.253%2C0.834%20C19.840%2C1.393%2021.191%2C2.291%2022.306%2C3.527%20C22.524%2C3.768%2022.728%2C4.027%2022.927%2C4.297%20L16.685%2C10.381%20C16.580%2C9.751%2016.455%2C9.188%2016.302%2C8.708%20C15.812%2C7.168%2014.706%2C6.397%2012.984%2C6.397%20C12.072%2C6.397%2011.345%2C6.592%2010.805%2C6.981%20C10.264%2C7.370%209.843%2C7.946%209.538%2C8.708%20C9.235%2C9.470%209.032%2C10.427%208.930%2C11.578%20C8.829%2C12.730%208.778%2C14.085%208.778%2C15.642%20L8.778%2C19.705%20C8.778%2C21.264%208.829%2C22.618%208.930%2C23.769%20C9.032%2C24.920%209.226%2C25.877%209.513%2C26.639%20C9.800%2C27.401%2010.214%2C27.977%2010.755%2C28.366%20C11.294%2C28.756%2012.004%2C28.951%2012.882%2C28.951%20C13.625%2C28.951%2014.237%2C28.815%2014.733%2C28.556%20L10.971%2C24.889%20L15.469%2C20.251%20L17.003%2C21.745%20C17.003%2C21.744%2017.003%2C21.743%2017.003%2C21.740%20L24.219%2C28.775%20C24.219%2C28.777%2024.218%2C28.777%2024.218%2C28.779%20L26.880%2C31.373%20L22.381%2C36.011%20L19.893%2C33.586%20ZM24.643%2C27.707%20L17.032%2C20.288%20C17.034%2C20.094%2017.037%2C19.906%2017.037%2C19.705%20L17.037%2C15.642%20C17.037%2C14.141%2016.978%2C12.826%2016.861%2C11.691%20L23.523%2C5.197%20C24.069%2C6.116%2024.526%2C7.166%2024.890%2C8.352%20C25.498%2C10.334%2025.802%2C12.746%2025.802%2C15.591%20L25.802%2C19.705%20C25.802%2C22.110%2025.591%2C24.193%2025.169%2C25.954%20C25.019%2C26.576%2024.841%2C27.156%2024.643%2C27.707%20Z%22%2F%3E%3C%2Fsvg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  width: 37px;
  height: 36px;
}

/* Safariで表示されるデフォルトの三角形アイコンを消します */
summary.lab-faq__summary::-webkit-details-marker {
  display: none;
}

@media (hover: hover) {
  .lab-faq__summary {
    -webkit-transition: opacity 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out;
  }
  .lab-faq__summary:hover {
    opacity: 0.7;
  }
}
.lab-faq__icon {
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  position: absolute;
  top: 35px;
  right: 42px;
}
.lab-faq__icon::before, .lab-faq__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  width: 20px;
  height: 4px;
  background-color: #000000;
}
.lab-faq__icon::before {
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.lab-faq__icon::after {
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  -webkit-transform: translateY(-50%) rotate(-90deg);
          transform: translateY(-50%) rotate(-90deg);
}

/* アコーディオンが開いた時のスタイル */
details.lab-faq__details.-open .lab-faq__icon::after {
  -webkit-transform: translateY(-50%) rotate(0deg);
          transform: translateY(-50%) rotate(0deg);
}

.lab-faq__content__txt {
  padding: 22px 60px 25px 75px;
  background-color: #ffffff;
  border-top: solid 1px #0d0d0d;
  position: relative;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
.lab-faq__content__txt::before {
  content: "";
  position: absolute;
  top: 23px;
  left: 22px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2238px%22%20height%3D%2234px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(252%2C%2095%2C%2047)%22%20d%3D%22M31.370%2C33.990%20L31.370%2C27.399%20L37.1000%2C27.399%20L37.1000%2C33.990%20L31.370%2C33.990%20ZM17.537%2C26.496%20L10.322%2C26.496%20L11.758%2C20.225%20L16.050%2C20.225%20L13.947%2C10.666%20L16.393%2C-0.015%20L18.357%2C-0.015%20L27.331%2C33.990%20L19.178%2C33.990%20L17.537%2C26.496%20ZM0.000%2C33.990%20L8.796%2C-0.015%20L15.294%2C-0.015%20L7.507%2C33.990%20L0.000%2C33.990%20Z%22%2F%3E%3C%2Fsvg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  width: 38px;
  height: 34px;
}
.lab-faq__content__txt p {
  font-size: 1rem;
  line-height: 1.75;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: #000000;
}
.lab-faq__content__txt p a {
  color: #000000;
  text-decoration: underline;
  text-underline-position: under;
}
.lab-faq__content__txt .-red {
  color: #FF0000;
}

.js-details.-open .lab-faq__content__txt {
  opacity: 1;
}

/*--- media screen ---*/
@media screen and (max-width: 568px) {
  .lab-sc.-faq {
    margin-top: 120px;
  }
  .lab-sc.-faq .lab-sc__inner {
    padding: 0 5.333vw;
  }
  .lab-faq {
    margin-top: 48px;
  }
  .lab-faq__details {
    border-radius: 2.667vw;
  }
  .lab-faq__details:not(:first-of-type) {
    margin-top: 16px;
  }
  .lab-faq__summary {
    padding: 4.267vw 11.467vw 4.267vw 15.2vw;
    font-size: 4.2666666667vw;
  }
  .lab-faq__summary::before {
    top: 3.467vw;
    left: 4vw;
    width: 8.533vw;
    height: 8.267vw;
  }
  .lab-faq__icon {
    top: 8vw;
    right: 8.8vw;
  }
  .lab-faq__icon::before, .lab-faq__icon::after {
    top: 50%;
    width: 20px;
    height: 4px;
  }
  .lab-faq__content__txt {
    padding: 5.867vw 4vw 6.667vw 15.2vw;
  }
  .lab-faq__content__txt::before {
    top: 6.133vw;
    left: 4vw;
    width: 8.8vw;
    height: 7.733vw;
  }
  .lab-faq__content__txt p {
    font-size: 4vw;
  }
}
/* ================================================

- ロゴ画像

================================================ */
.lab-bigLog {
  max-width: 767px;
  width: 100%;
  margin: 140px auto 0;
}

/*--- media screen ---*/
@media screen and (max-width: 568px) {
  .lab-bigLog {
    margin: 120px auto 0;
    padding: 0 5.333vw;
  }
}
/* ================================================

- hover

================================================ */
@media (hover: hover) {
  .lab-btn a:-moz-any-link:hover, .lab-anchor__btn a:-moz-any-link:hover {
    opacity: 0.7;
  }
  .lab-btn a:any-link:hover,
  .lab-anchor__btn a:any-link:hover {
    opacity: 0.7;
  }
}
.lab-anchor__btn a,
.lab-partners__item a {
  -webkit-transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}