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

- Base

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

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

body {
  background-color: #FFFFFF;
}

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

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

:root {
  --cc-primary: #08294c;
  --cc-yellow: #ecc30e;
  --cc-red: #FF0000;
}

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

- フォント

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

- フォントサイズ

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

- 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;
}

/* 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;
}

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

- z-index

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

- イージング

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

- タイトル ー アンカー

================================================ */
.p-wrapper {
  background-color: var(--cc-primary);
}

.p-sc__ttl span {
  display: block;
  color: #FFFFFF;
}
.p-sc__ttl span.-sizeS {
  width: 238px;
}
.p-sc__ttl span.-sizeM {
  width: 422px;
}
.p-sc__ttl span.-sizeL {
  width: 794px;
}
.p-sc__ttl span.-jp {
  margin-top: 17px;
  font-size: 1.125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

.p-sc__ttl.-center {
  text-align: center;
}
.p-sc__ttl.-center span.-en {
  margin: 0 auto;
}

.p-sc__ttl__note {
  margin-top: 23px;
  font-size: 1.0625rem;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  color: var(--cc-yellow);
  text-align: center;
}

/*--- media screen ---*/
@media screen and (max-width: 568px) {
  .p-sc__ttl span.-sizeS {
    width: 36.41vw;
  }
  .p-sc__ttl span.-sizeM {
    width: 68.974vw;
  }
  .p-sc__ttl span.-sizeL {
    width: 59.487vw;
  }
  .p-sc__ttl span.-jp {
    margin-top: 3.333vw;
    font-size: 4.2666666667vw;
  }
  .p-sc__ttl__note {
    margin-top: 5.897vw;
    font-size: 4.2666666667vw;
  }
}
/* ================================================

- mv - nav

================================================ */
.p-mv {
  position: relative;
}

.p-mv__inner {
  position: relative;
}

/*--- media screen ---*/
/* ================================================

- コンセプト

================================================ */
.p-sc.-concept {
  padding: 0;
  background-color: #0d1a30;
}
.p-sc.-concept .p-sc__inner {
  padding-left: 120px;
}

.p-concept__layout {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}

.p-concept__summary {
  width: 480px;
  margin-top: 51px;
}
.p-concept__summary p {
  color: #FFFFFF;
}

.p-concept__uniform {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  max-width: 667px;
  width: 100%;
}

/*--- media screen ---*/
@media screen and (max-width: 568px) {
  .p-sc.-concept {
    padding-top: 16.667vw;
  }
  .p-sc.-concept .p-sc__inner {
    padding: 0;
  }
  .p-sc.-concept .p-sc__head {
    padding: 0 6.41vw;
  }
  .p-concept__layout {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-concept__summary {
    width: 100%;
    margin-top: 7.436vw;
    padding: 0 6.41vw;
  }
  .p-concept__uniform {
    width: 100%;
  }
}
/* ================================================

- ムービー

================================================ */
.p-sc.-movie {
  padding-top: 148px;
  min-height: 440px;
  background-image: url(../images/movie_bg.jpg);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
.p-movie {
  margin-top: 8px;
}

@media (hover: hover) {
  .p-gallery__play a:-moz-any-link:hover {
    transform: scale(0.9);
    opacity: 0.7;
  }
  .p-gallery__play a:any-link:hover {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
    opacity: 0.7;
  }
}
.p-gallery__play a {
  display: block;
  width: 82px;
  margin: 0 auto;
  -webkit-filter: drop-shadow(1px 1px 12px rgba(0, 0, 0, 0.1));
          filter: drop-shadow(1px 1px 12px rgba(0, 0, 0, 0.1));
  -webkit-transition: opacity 0.3s cubic-bezier(0.77, 0, 0.175, 1), -webkit-transform 0.3s cubic-bezier(0.77, 0, 0.175, 1);
  transition: opacity 0.3s cubic-bezier(0.77, 0, 0.175, 1), -webkit-transform 0.3s cubic-bezier(0.77, 0, 0.175, 1);
  transition: opacity 0.3s cubic-bezier(0.77, 0, 0.175, 1), transform 0.3s cubic-bezier(0.77, 0, 0.175, 1);
  transition: opacity 0.3s cubic-bezier(0.77, 0, 0.175, 1), transform 0.3s cubic-bezier(0.77, 0, 0.175, 1), -webkit-transform 0.3s cubic-bezier(0.77, 0, 0.175, 1);
}

/*--- media screen ---*/
@media screen and (max-width: 568px) {
  .p-sc.-movie {
    padding-top: 24.872vw;
    min-height: 76.923vw;
    background-image: url(../images/movie_bg_sp.jpg);
  }
  .p-sc.-movie .p-sc__ttl span.-sizeS {
    width: 43.59vw;
  }
  .p-movie {
    margin-top: 1.282vw;
  }
  .p-gallery__play a {
    width: 17.436vw;
  }
}
/* ================================================

- ラインナップ

================================================ */
.p-sc.-lineup {
  padding: 100px 0 136px;
}
.p-lineup {
  margin-top: 63px;
}

.p-lineup__ttl {
  width: 238px;
  margin-left: 30px;
}

.p-lineup__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;
  gap: 20px;
  margin-top: 40px;
}

.p-lineup__item {
  width: calc(25% - 15px);
}
.p-lineup__item a {
  display: block;
  position: relative;
  z-index: 1;
}
.p-lineup__item a::before {
  content: "";
  position: absolute;
  top: 54px;
  left: 0;
  width: 100%;
  height: 340px;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(13, 26, 48)), to(rgb(9, 42, 76)));
  background: linear-gradient(0deg, rgb(13, 26, 48) 0%, rgb(9, 42, 76) 100%);
  z-index: -1;
}

.p-lineup__unifoam {
  width: 227px;
  margin: 0 auto;
}

.p-lineup__type {
  display: block;
  margin-top: 27px;
  font-size: 1rem;
  letter-spacing: 0.02em;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: #FFFFFF;
  text-align: center;
}

/*--- media screen ---*/
@media screen and (max-width: 568px) {
  .p-sc.-lineup {
    padding: 16.667vw 0 18.718vw;
  }
  .p-sc.-lineup .p-sc__inner {
    padding: 0 2.564vw;
  }
  .p-sc.-lineup .p-sc__ttl span.-sizeM {
    width: 66.667vw;
  }
  .p-lineup {
    margin-top: 14.615vw;
  }
  .p-lineup__ttl {
    width: 44.103vw;
    margin-left: 3.59vw;
  }
  .p-lineup__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: 9.744vw 2.564vw;
    margin-top: 6.154vw;
  }
  .p-lineup__item {
    width: calc(50% - 2.564vw);
  }
  .p-lineup__item a::before {
    top: 10vw;
    height: 56.41vw;
  }
  .p-lineup__unifoam {
    width: 37.949vw;
  }
  .p-lineup__type {
    margin-top: 5.385vw;
    font-size: 4vw;
  }
}
/* ================================================

- ユニフォーム

================================================ */
.p-uniform__block {
  padding: 72px 0 63px;
  background: linear-gradient(120deg, rgb(7, 29, 53) 0%, rgb(8, 16, 30) 100%);
}

.p-uniform__block:nth-of-type(2n) {
  background: linear-gradient(120deg, rgb(7, 29, 53) 100%, rgb(8, 16, 30) 0%);
}

.p-uniform__block.-notGallery {
  padding-bottom: 44px;
}

.p-uniform__block__inner {
  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;
}

.p-uniform__ttl span {
  display: block;
  color: #FFFFFF;
}
.p-uniform__ttl span.-en {
  width: 331px;
}
.p-uniform__ttl span.-jp {
  margin-top: 30px;
  font-size: 1.125rem;
  letter-spacing: 0.02em;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.p-uniform__ttl span.-color {
  margin-top: 10px;
  font-size: 0.9375rem;
  letter-spacing: 0.02em;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

.p-uniform__visual {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 660px;
}

.p-uniform__layout {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: end;
  -webkit-box-pack: end;
          justify-content: flex-end;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  gap: 18px;
}
.p-uniform__layout figure.-front {
  width: 319px;
}
.p-uniform__layout figure.-back {
  width: 333px;
}

.p-uniform__visual__summary {
  margin-top: 54px;
}
.p-uniform__visual__summary p {
  color: #FFFFFF;
}

/* swiper
**********************/
.p-uniform__gallery {
  position: absolute;
  bottom: 8px;
  left: 0;
}

.p-uniform__main {
  max-width: 400px;
  width: 100%;
}
.p-uniform__tmb {
  max-width: 300px;
  width: 100%;
  margin-top: 5px;
  position: relative;
}
.p-uniform__tmb .m-slider__tmbs__item,
.p-uniform__tmb .swiper-slide {
  opacity: 0.6;
  cursor: pointer;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
.p-uniform__tmb .m-slider__tmbs__item:hover,
.p-uniform__tmb .swiper-slide:hover {
  opacity: 1;
}
.p-uniform__tmb .m-slider__tmbs__item.thumb-media-active,
.p-uniform__tmb .swiper-slide.swiper-slide-active {
  opacity: 1;
}

.m-slider__tmbs__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;
}

.m-slider__tmbs__item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

/* アロー */
.swiper-button-prev.p-uniform__prev,
.swiper-button-next.p-uniform__next {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  cursor: pointer;
  z-index: 11;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
.swiper-button-prev.p-uniform__prev::after,
.swiper-button-next.p-uniform__next::after {
  content: "";
  position: absolute;
  width: 13px;
  height: 13px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.swiper-button-prev.p-uniform__prev:hover,
.swiper-button-next.p-uniform__next:hover {
  opacity: 0.8;
}

.swiper-button-prev.p-uniform__prev.swiper-button-disabled,
.swiper-button-next.p-uniform__next.swiper-button-disabled {
  opacity: 0;
}

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

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

.p-uniform__tab {
  display: none;
}

/*--- media screen ---*/
@media screen and (max-width: 568px) {
  .p-uniform__block {
    padding: 10vw 0 12.308vw;
  }
  .p-uniform__block.-notGallery {
    padding-bottom: 12.821vw;
  }
  .p-uniform__block__inner {
    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;
    padding: 0 6.41vw;
  }
  .p-uniform__ttl span {
    display: block;
    color: #FFFFFF;
  }
  .p-uniform__ttl span.-en {
    width: 54.359vw;
  }
  .p-uniform__ttl span.-jp {
    margin-top: 5.385vw;
    font-size: 4.2666666667vw;
  }
  .p-uniform__ttl span.-color {
    margin-top: 2.564vw;
    font-size: 3.7333333333vw;
  }
  .p-uniform__visual {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
    margin-top: 6.667vw;
  }
  .p-uniform__layout {
    display: none;
  }
  .p-uniform__visual__summary {
    margin-top: 7.949vw;
  }
  /* swiper
  **********************/
  .p-uniform__gallery {
    position: static;
    width: 100%;
    margin-top: 11.282vw;
  }
  .p-uniform__main {
    max-width: 102.564vw;
    width: 100%;
  }
  .p-uniform__tmb {
    max-width: 68vw;
    width: 100%;
    margin-top: 1.282vw;
  }
  .p-uniform__tab {
    display: block;
  }
  .p-uniform__spPhoto figure {
    margin: 0 auto;
  }
  .p-uniform__spPhoto figure.-front {
    width: 68.974vw;
  }
  .p-uniform__spPhoto figure.-back {
    width: 71.026vw;
  }
  .p-uniform__tab__list {
    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;
    gap: 10.513vw;
    margin-top: 7.692vw;
  }
  .p-uniform__tab__item {
    position: relative;
  }
  .p-uniform__tab__item button span {
    font-size: 4vw;
    letter-spacing: 0.02em;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    color: rgba(255, 255, 255, 0.4);
  }
  .p-uniform__tab__item:not(:first-of-type)::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -5.641vw;
    translate: 0 -50%;
    width: 0.256vw;
    height: 5.385vw;
    background-color: #47607b;
  }
  .p-uniform__tab__item.-active button span {
    color: rgb(255, 255, 255);
  }
}
/* ================================================

- レプリカユニフォーム

================================================ */
.p-sc.-replica {
  padding-top: 100px;
}
.p-replica__label {
  margin-top: 40px;
  padding: 10px 0 14px;
  border: solid 1px #FFFFFF;
  text-align: center;
}
.p-replica__label p {
  font-size: 1.875rem;
  letter-spacing: 0.8em;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: #FFFFFF;
}

.p-replica {
  padding: 67px 0 100px;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(8, 41, 76)), color-stop(50%, rgb(19, 70, 123)), to(rgb(8, 41, 76)));
  background: linear-gradient(0deg, rgb(8, 41, 76) 0%, rgb(19, 70, 123) 50%, rgb(8, 41, 76) 100%);
}

.p-replica__ttl {
  width: 238px;
  margin-left: 30px;
}

.p-replica__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: 20px;
  margin-top: 40px;
}

.p-replica__item {
  width: calc(25% - 15px);
}
.p-replica__item a {
  display: block;
  position: relative;
  z-index: 1;
}
.p-replica__item a::before {
  content: "";
  position: absolute;
  top: 56px;
  left: 0;
  width: 100%;
  height: 440px;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(13, 26, 48)), to(rgb(9, 42, 76)));
  background: linear-gradient(0deg, rgb(13, 26, 48) 0%, rgb(9, 42, 76) 100%);
  z-index: -1;
}

.p-replica__photo {
  width: 227px;
  margin: 0 auto;
}

.p-replica__summarys {
  margin-top: 23px;
}

.p-replica__summary {
  color: #FFFFFF;
  text-align: center;
}
.p-replica__summary dt {
  font-size: 0.9375rem;
  line-height: 1.533;
  letter-spacing: 0.02em;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.p-replica__summary dt span {
  display: block;
  font-size: 1rem;
}
.p-replica__summary dd {
  margin-top: 16px;
  font-size: 0.875rem;
  letter-spacing: 0.02em;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}

.p-replica__price {
  margin-top: 17px;
  font-size: 1rem;
  letter-spacing: 0.02em;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  color: #FFFFFF;
  text-align: center;
}
.p-replica__price small {
  font-size: 0.8125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.p-replica__btn {
  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;
  width: 160px;
  min-height: 46px;
  margin: 32px auto 0;
  background-color: var(--cc-yellow);
  border-radius: calc(infinity * 1px);
}
.p-replica__btn span {
  font-size: 1rem;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: #0d1a30;
}

/*--- media screen ---*/
@media screen and (max-width: 568px) {
  .p-sc.-replica {
    padding-top: 16.923vw;
  }
  .p-sc.-replica .p-sc__inner {
    padding: 0 6.41vw;
  }
  .p-replica__label {
    margin-top: 5.641vw;
    padding: 2.308vw 0 2.564vw;
  }
  .p-replica__label p {
    font-size: 5.8666666667vw;
  }
  .p-replica {
    padding: 13.846vw 0 15.385vw;
    background: none;
  }
  .p-replica__ttl {
    width: 44.103vw;
    margin-left: 0;
  }
  .p-replica__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;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10.769vw;
    margin-top: 6.154vw;
  }
  .p-replica__item {
    width: 100%;
  }
  .p-replica__item a::before {
    top: 14.359vw;
    height: 113.128vw;
  }
  .p-replica__photo {
    width: 58.205vw;
  }
  .p-replica__summarys {
    margin-top: 5.667vw;
  }
  .p-replica__summary dt {
    font-size: 4vw;
  }
  .p-replica__summary dt span {
    font-size: 4.2666666667vw;
  }
  .p-replica__summary dd {
    margin-top: 4.333vw;
    font-size: 3.7333333333vw;
  }
  .p-replica__price {
    margin-top: 4.359vw;
    font-size: 4.2666666667vw;
  }
  .p-replica__price small {
    font-size: 3.4666666667vw;
  }
  .p-replica__btn {
    width: 46.154vw;
    min-height: 11.282vw;
    margin: 7.5vw auto 0;
  }
  .p-replica__btn span {
    font-size: 4vw;
  }
}
/* ================================================

- サイズ

================================================ */
.p-sc.-sizeinfo .p-sc__inner {
  padding: 0 90px;
}

.p-sizeinfo {
  margin-top: 40px;
}

.overflow-container {
  overflow: visible;
}

.p-sizeinfo__table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  color: #FFFFFF;
  text-align: center;
  border-bottom: solid 1px #47607b;
}
.p-sizeinfo__table thead {
  background-color: #091220;
}
.p-sizeinfo__table thead tr th {
  padding: 14px 15px;
  font-size: 0.875rem;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.p-sizeinfo__table tbody tr {
  background-color: #0d1a30;
  border-top: solid 1px #47607b;
}
.p-sizeinfo__table tbody tr th, .p-sizeinfo__table tbody tr td {
  padding: 22px 15px 21px;
  letter-spacing: 0.04em;
}
.p-sizeinfo__table tbody tr th {
  font-size: 1rem;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}
.p-sizeinfo__table tbody tr td {
  font-size: 0.9375rem;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

/*--- media screen ---*/
@media screen and (max-width: 568px) {
  .p-sc.-sizeinfo .p-sc__inner {
    padding: 0 6.41vw;
  }
  .p-sizeinfo {
    margin-top: 5.641vw;
  }
  .overflow-container {
    overflow-x: scroll;
  }
  .overflow-container::before {
    content: "※横にスライドして閲覧出来ます。";
    display: none;
  }
  .p-sizeinfo__bordered {
    width: 158.974vw;
  }
  .p-sizeinfo__table thead tr th {
    padding: 2.564vw 3.077vw;
    font-size: 0.875rem;
  }
  .p-sizeinfo__table tbody tr th, .p-sizeinfo__table tbody tr td {
    padding: 4.615vw 3.077vw 4.103vw;
  }
  .p-sizeinfo__table tbody tr th {
    font-size: 1rem;
  }
  .p-sizeinfo__table tbody tr td {
    font-size: 0.9375rem;
  }
}
/* ================================================

- ラインナップ

================================================ */
.p-sc.-number {
  margin-top: 100px;
}
.p-number {
  padding: 45px 0 100px;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(8, 41, 76)), color-stop(50%, rgb(19, 70, 123)), to(rgb(8, 41, 76)));
  background: linear-gradient(0deg, rgb(8, 41, 76) 0%, rgb(19, 70, 123) 50%, rgb(8, 41, 76) 100%);
}

.p-number__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;
  gap: 20px;
}

.p-number__item {
  width: 380px;
  position: relative;
  z-index: 1;
}
.p-number__item::before {
  content: "";
  position: absolute;
  top: 60px;
  left: 0;
  width: 100%;
  height: 380px;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(13, 26, 48)), to(rgb(9, 42, 76)));
  background: linear-gradient(0deg, rgb(13, 26, 48) 0%, rgb(9, 42, 76) 100%);
  z-index: -1;
}

.p-number__photo {
  width: 229px;
  margin: 0 auto;
}

.p-number__summarys {
  margin-top: 30px;
}

.p-number__summary {
  color: #FFFFFF;
  text-align: center;
}
.p-number__summary dt {
  font-size: 1rem;
  letter-spacing: 0.02em;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.p-number__summary dd {
  margin-top: 18px;
  font-size: 1rem;
  letter-spacing: 0.02em;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}
.p-number__summary dd small {
  font-size: 0.8125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.p-number__btn {
  margin-top: 80px;
}

/*--- media screen ---*/
@media screen and (max-width: 568px) {
  .p-sc.-number {
    margin-top: 15.897vw;
  }
  .p-sc.-number .p-sc__inner {
    padding: 0 6.41vw;
  }
  .p-number {
    padding: 7.179vw 0 17.949vw;
    background: none;
  }
  .p-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;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16.667vw;
  }
  .p-number__item {
    width: 100%;
    z-index: 1;
  }
  .p-number__item::before {
    top: 10.256vw;
    height: 94.872vw;
  }
  .p-number__photo {
    width: 54.615vw;
  }
  .p-number__summarys {
    margin-top: 6.41vw;
  }
  .p-number__summary dt {
    font-size: 4.2666666667vw;
  }
  .p-number__summary dd {
    margin-top: 4.103vw;
    font-size: 4.2666666667vw;
  }
  .p-number__summary dd small {
    font-size: 3.4666666667vw;
  }
  .p-number__btn {
    margin-top: 17.949vw;
  }
}
/* ================================================

- 販売スケジュール

================================================ */
.p-sc.-schedule {
  min-height: 320px;
  padding: 95px 0 0;
  background-image: url("../images/schedule_bg.jpg");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
.p-schedule {
  width: 660px;
  margin: 0 auto;
  padding: 27px 40px 26px;
  background-color: #08294c;
}

.p-schedule__summary {
  color: #FFFFFF;
  text-align: center;
}
.p-schedule__summary dt {
  font-size: 1.25rem;
  letter-spacing: 0.02em;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.p-schedule__summary dd {
  font-size: 1.1875rem;
  letter-spacing: 0.04em;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  margin-top: 16px;
  padding-top: 15px;
  border-top: solid 1px #47607b;
}
.p-schedule__summary dd span.-num {
  font-size: 1.625rem;
  letter-spacing: 0.04em;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

/*--- media screen ---*/
@media screen and (max-width: 568px) {
  .p-sc.-schedule {
    min-height: 76.923vw;
    padding: 19.5vw 0 0;
    background-image: url("../images/schedule_bg_sp.jpg");
  }
  .p-sc.-schedule .p-sc__inner {
    padding: 0 25px;
  }
  .p-schedule {
    width: 100%;
    padding: 5.897vw 3.846vw 5vw;
  }
  .p-schedule__summary {
    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;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
  .p-schedule__summary dt {
    font-size: 4.5333333333vw;
  }
  .p-schedule__summary dd {
    margin-top: 4.077vw;
    padding-top: 2.59vw;
    border-top: solid 1px #47607b;
    font-size: 4.2666666667vw;
    line-height: 1.25;
  }
  .p-schedule__summary dd span.-num {
    font-size: 6.4vw;
  }
}
/* ================================================

- 注意事項

================================================ */
.p-sc.-precautions {
  padding: 82px 0 130px;
  background-color: #0d1a30;
}
.p-sc.-precautions .p-sc__inner {
  padding: 0 80px;
}

.p-precautions__block:not(:first-of-type) {
  margin-top: 43px;
}

.p-precautions__ttl {
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: #FFFFFF;
}

.p-precautions__summary {
  margin-top: 12px;
  color: #FFFFFF;
}
.p-precautions__summary p a {
  color: #FFFFFF;
}
/*--- media screen ---*/
@media screen and (max-width: 568px) {
  .p-sc.-precautions {
    padding: 10.821vw 0 30.256vw;
  }
  .p-sc.-precautions .p-sc__inner {
    padding: 0 6.41vw;
  }
  .p-precautions__block:not(:first-of-type) {
    margin-top: 6.933vw;
  }
  .p-precautions__ttl {
    font-size: 4.2666666667vw;
  }
  .p-precautions__summary {
    margin-top: 2.872vw;
  }
}
/* ================================================

- スライドフォト

================================================ */
/*--- media screen ---*/
@media screen and (max-width: 568px) {
  .p-showcase__slidePhoto__item {
    width: 71.795vw;
  }
}
/* ================================================

- フロートボタン

================================================ */
/*--- media screen ---*/
/* ================================================

- hover

================================================ */
@media (hover: hover) {
  .p-lineup__item a:-moz-any-link:hover .p-lineup__unifoam {
    filter: drop-shadow(0 0 12px rgba(255, 255, 255, 0.2));
  }
  .p-lineup__item a:any-link:hover .p-lineup__unifoam {
    -webkit-filter: drop-shadow(0 0 12px rgba(255, 255, 255, 0.2));
            filter: drop-shadow(0 0 12px rgba(255, 255, 255, 0.2));
  }
  .p-replica__item a:-moz-any-link:hover .p-replica__btn, .p-replica__item a:-moz-any-link:hover .p-replica__photo {
    filter: drop-shadow(0 0 12px rgba(255, 255, 255, 0.2));
  }
  .p-replica__item a:any-link:hover .p-replica__btn,
  .p-replica__item a:any-link:hover .p-replica__photo {
    -webkit-filter: drop-shadow(0 0 12px rgba(255, 255, 255, 0.2));
            filter: drop-shadow(0 0 12px rgba(255, 255, 255, 0.2));
  }
}
.p-lineup__item a:-moz-any-link:hover .p-lineup__unifoam {
  -moz-transition: filter 0.5s cubic-bezier(0.77, 0, 0.175, 1);
  transition: filter 0.5s cubic-bezier(0.77, 0, 0.175, 1);
}
.p-lineup__item a:any-link:hover .p-lineup__unifoam {
  -webkit-transition: -webkit-filter 0.5s cubic-bezier(0.77, 0, 0.175, 1);
  transition: -webkit-filter 0.5s cubic-bezier(0.77, 0, 0.175, 1);
  transition: filter 0.5s cubic-bezier(0.77, 0, 0.175, 1);
  transition: filter 0.5s cubic-bezier(0.77, 0, 0.175, 1), -webkit-filter 0.5s cubic-bezier(0.77, 0, 0.175, 1);
}

.p-replica__item a:-moz-any-link:hover .p-replica__btn, .p-replica__item a:-moz-any-link:hover .p-replica__photo {
  -moz-transition: filter 0.5s cubic-bezier(0.77, 0, 0.175, 1);
  transition: filter 0.5s cubic-bezier(0.77, 0, 0.175, 1);
}

.p-replica__item a:any-link:hover .p-replica__btn,
.p-replica__item a:any-link:hover .p-replica__photo {
  -webkit-transition: -webkit-filter 0.5s cubic-bezier(0.77, 0, 0.175, 1);
  transition: -webkit-filter 0.5s cubic-bezier(0.77, 0, 0.175, 1);
  transition: filter 0.5s cubic-bezier(0.77, 0, 0.175, 1);
  transition: filter 0.5s cubic-bezier(0.77, 0, 0.175, 1), -webkit-filter 0.5s cubic-bezier(0.77, 0, 0.175, 1);
}