@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

html {
  position: relative;
}

html {
  background-color: white;
  font-size: calc(100vw / 375 * 100);
  scroll-behavior: smooth;
  scroll-padding-top: 1rem;
}
@media screen and (min-width: 768px) {
  html {
    font-size: min(calc(100vw / 1456 * 100), 100px);
    scroll-padding-top: 1.5rem;
  }
}

strong {
  font-weight: 700;
}

a {
  transition: 0.3s;
  text-decoration: none;
  cursor: pointer;
}
a:hover {
  opacity: 0.6;
}

img {
  display: inline-block;
}

ul {
  list-style: none;
}

body {
  font-weight: 500;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 150%;
  letter-spacing: 0;
  position: relative;
  will-change: top;
  -webkit-text-size-adjust: none;
}
@media screen and (min-width: 768px) {
  body {
    font-size: 0.16rem;
  }
}
body * {
  box-sizing: border-box;
  -o-object-fit: cover;
     object-fit: cover;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  max-width: 100%;
  font-weight: inherit;
  color: inherit;
}

section {
  position: relative;
}

::-moz-selection {
  background: #CD0000;
  color: white;
}

::selection {
  background: #CD0000;
  color: white;
}

::-moz-selection {
  background: #CD0000;
  color: white;
}

#top-fv {
  position: relative;
  width: 100%;
  aspect-ratio: 750/1400;
}
@media screen and (min-width: 768px) {
  #top-fv {
    aspect-ratio: 2600/1600;
  }
}
#top-fv .l-list {
  position: absolute;
  z-index: 10;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.36rem;
  overflow-x: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
@media screen and (min-width: 768px) {
  #top-fv .l-list {
    display: none;
    width: -moz-fit-content;
    width: fit-content;
    height: 0.4rem;
    left: 50%;
    transform: translateX(-50%);
  }
}
#top-fv .l-list::-webkit-scrollbar {
  display: none;
}
#top-fv .l-list__container {
  max-width: unset;
  display: flex;
  gap: 0rem;
  counter-reset: count 0;
  padding-left: 0.1rem;
  padding-right: 0.1rem;
  box-sizing: padding-box;
  height: 100%;
}
@media screen and (min-width: 768px) {
  #top-fv .l-list__container {
    gap: 0.76rem;
    padding-left: unset;
    padding-right: unset;
  }
}
#top-fv .l-list__container a {
  width: -moz-fit-content;
  width: fit-content;
  height: 100%;
  counter-increment: count 1;
  display: flex;
  gap: 0.05rem;
  transition: 0.3s;
  padding: 0.06rem 0.07rem 0;
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.1rem;
  line-height: 0.1rem;
  font-weight: 900;
  white-space: nowrap;
  flex: none;
  text-shadow: 0 0 0.04rem rgba(0, 0, 0, 0.5);
  transform: scale(0.8);
  transform-origin: bottom left;
}
@media screen and (min-width: 768px) {
  #top-fv .l-list__container a {
    font-size: 0.12rem;
    padding-top: unset;
    padding-left: 0.37rem;
    padding-right: 0.37rem;
    align-items: center;
    gap: 0.2rem;
    transform: unset;
    transform-origin: unset;
  }
}
#top-fv .l-list__container a:hover {
  background-color: rgba(255, 255, 255, 0.5);
  opacity: 1;
}
#top-fv .l-list__container a::before {
  content: "0" counter(count);
}
#top-fv #top-fv-slider {
  width: 100%;
  height: 100%;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
#top-fv #top-fv-slider .swiper-wrapper {
  height: 100%;
}
#top-fv #top-fv-slider .swiper-slide {
  height: 100%;
}
#top-fv #top-fv-slider .swiper-slide .l-slider--bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#top-fv #top-fv-slider .swiper-slide:hover {
  opacity: 1;
}
#top-fv #top-fv-slider .swiper-button-next {
  color: white;
  background-color: rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(0.03rem);
  width: 0.3rem;
  height: 0.5rem;
}
@media screen and (min-width: 768px) {
  #top-fv #top-fv-slider .swiper-button-next {
    width: 0.5rem;
    height: 1rem;
  }
}
#top-fv #top-fv-slider .swiper-button-next::after {
  font-size: 0.14rem;
}
@media screen and (min-width: 768px) {
  #top-fv #top-fv-slider .swiper-button-next::after {
    font-size: 0.24rem;
  }
}
#top-fv #top-fv-slider .swiper-button-prev {
  color: white;
  background-color: rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(0.03rem);
}
@media screen and (min-width: 768px) {
  #top-fv #top-fv-slider .swiper-button-prev {
    width: 0.5rem;
    height: 1rem;
  }
}
#top-fv #top-fv-slider .swiper-button-prev::after {
  font-size: 0.14rem;
}
@media screen and (min-width: 768px) {
  #top-fv #top-fv-slider .swiper-button-prev::after {
    font-size: 0.24rem;
  }
}
#top-fv #top-fv-slider1 {
  background-image: url("../img/top/fv.webp");
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  #top-fv #top-fv-slider1 {
    background-image: url("../img/top/fv_pc.webp");
  }
}
#top-fv #top-fv-slider1::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(74, 74, 74, 0.31);
}
#top-fv #top-fv-slider1 .u-width--335-1300 {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
}
#top-fv #top-fv-slider1 .l-container {
  position: relative;
  z-index: 2;
  height: -moz-fit-content;
  height: fit-content;
  padding-top: 1.1rem;
}
@media screen and (min-width: 768px) {
  #top-fv #top-fv-slider1 .l-container {
    padding-top: unset;
    padding-bottom: 0.9rem;
  }
}
#top-fv #top-fv-slider1 .l-container .l-catch {
  position: relative;
  left: -0.13rem;
  bottom: -0.03rem;
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
  width: 3.24rem;
  height: 0.56rem;
}
@media screen and (min-width: 768px) {
  #top-fv #top-fv-slider1 .l-container .l-catch {
    width: 7.99rem;
    height: 1.38rem;
    left: -0.32rem;
    bottom: 0;
  }
}
#top-fv #top-fv-slider1 .l-container h2 {
  width: 1.2rem;
  height: 0.1582rem;
  margin-bottom: 0.3rem;
}
@media screen and (min-width: 768px) {
  #top-fv #top-fv-slider1 .l-container h2 {
    width: 2.1rem;
    height: 0.2779rem;
  }
}
#top-fv #top-fv-slider1 .l-container h2 img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

#fv2 {
  width: 100%;
  height: 100vh;
  background-image: url("../japanfit/img/fv2/fv2_bg_sp.webp");
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}
@media screen and (min-width: 768px) {
  #fv2 {
    background-image: url("../japanfit/img/fv2/fv2_bg_pc.webp");
  }
}
#fv2 .l-head {
  display: flex;
  width: 100%;
  padding-top: 1.02rem;
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  align-items: center;
}
@media screen and (min-width: 768px) {
  #fv2 .l-head {
    width: 7.19rem;
    padding-top: unset;
    position: absolute;
    top: 1.21rem;
    right: calc(50% - 0.8rem);
    transform: unset;
    gap: 0rem;
  }
}
#fv2 .l-head::before {
  content: "";
  width: 3.04rem;
  height: 0.41rem;
  background-image: url("../japanfit/img/fv2/fv2_catch.png");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  #fv2 .l-head::before {
    width: 7.19rem;
    height: 0.97rem;
  }
}
#fv2 .l-head::after {
  content: "";
  width: 3rem;
  height: 0.94rem;
  background-image: url("../japanfit/img/fv2/fv2_item_sp.png");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  #fv2 .l-head::after {
    background-image: url("../japanfit/img/fv2/fv2_item_pc.png");
    width: 7.06rem;
    height: 3.08rem;
    position: relative;
    top: -0.5rem;
    left: -0.65rem;
  }
}
#fv2 .l-item {
  width: 4.1rem;
  height: 3.68rem;
  max-width: unset;
  background-image: url("../japanfit/img/fv2/fv2_main_sp.png");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 1.92rem;
  right: 0;
  -o-object-position: center right;
     object-position: center right;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  #fv2 .l-item {
    width: 8.75rem;
    height: 8.08rem;
    top: 0.7rem;
    left: calc(50% - 1.98rem);
    right: unset;
    background-image: url("../japanfit/img/fv2/fv2_main_sp.png");
  }
}
#fv2 .l-cta {
  position: absolute;
  bottom: 1.5rem;
  right: 0;
  width: 1.84rem;
  height: 1.84rem;
  background-image: url("../japanfit/img/fv2/fv2_cta_bg.png");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  #fv2 .l-cta {
    scale: 1.3;
    left: calc(50% + 4.08rem);
    bottom: 0.77rem;
  }
}
#fv2 .l-cta picture {
  width: 1.8rem;
  height: 1.46rem;
  position: absolute;
  top: -0.27rem;
  right: 0;
}
#fv2 .l-cta picture img {
  width: 100%;
  height: 100%;
  display: block;
}
#fv2 .l-cta div {
  width: 0.37rem;
  padding-top: 0.01rem;
  padding-bottom: 0.03rem;
  color: #CD0000;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-top: 0.015rem solid #CD0000;
  border-bottom: 0.015rem solid #CD0000;
  position: absolute;
  bottom: 0.65rem;
  right: 0.22rem;
}
#fv2 .l-cta div strong {
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.12rem;
  line-height: 0.15rem;
  letter-spacing: 0;
  font-weight: 700;
}
#fv2 .l-cta div i {
  font-style: normal;
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.09rem;
  line-height: 0.11rem;
  letter-spacing: 0;
  font-weight: 900;
}
#fv2 .l-cta span {
  color: #CD0000;
  text-align: cetner;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.12rem;
  line-height: 0.13rem;
  letter-spacing: 0;
  font-weight: 500;
  position: absolute;
  bottom: 0.29rem;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  white-space: nowrap;
  width: 100%;
}
#fv2 .l-cta h2 {
  background-color: #CD0000;
  padding: 0.04rem 0.11rem 0.07rem;
  max-width: unset;
  position: absolute;
  bottom: -0.06rem;
  left: 50%;
  transform: translateX(-50%);
  border: 0.015rem solid white;
  color: white;
  white-space: nowrap;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.1rem;
  line-height: 0.17rem;
  letter-spacing: 0;
  font-weight: 500;
}
#fv2 .l-cta h2 strong {
  font-size: 0.12rem;
}
#fv2 .l-catch {
  position: absolute;
  bottom: 0.4rem;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 768px) {
  #fv2 .l-catch {
    position: absolute;
    bottom: 0.49rem;
    width: 5.49rem;
    right: calc(50% + 0.85rem);
    transform: unset;
    left: unset;
  }
}
#fv2 .l-catch::before {
  content: "";
  width: 2.61rem;
  height: 0.88rem;
  background-image: url("../japanfit/img/fv2/fv2_catch_jp_sp.png");
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
}
@media screen and (min-width: 768px) {
  #fv2 .l-catch::before {
    position: initial;
    width: 4.96rem;
    height: 2.08rem;
    background-image: url("../japanfit/img/fv2/fv2_catch_jp_pc.png");
  }
}
#fv2 .l-catch div {
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.61rem;
  line-height: 1.04rem;
  letter-spacing: 0;
  font-weight: 9;
  color: white;
  display: flex;
  flex-direction: column;
  gap: 0.14rem;
  align-items: center;
}
#fv2 .l-catch div::after {
  content: "";
  width: 0.21rem;
  height: 0.26rem;
  background-image: url("../japanfit/img/common/arrow_bottom_double.svg");
  background-size: contain;
  background-repeat: no-repeat;
}

#fv {
  padding-top: 5.69rem;
  padding-bottom: 0.75rem;
  background-image: url("../japanfit/img/fv/bg.webp");
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 768px) {
  #fv {
    padding-top: 50.92vw;
    padding-bottom: 0.87rem;
  }
}
#fv::before {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(to bottom, transparent 0%, #B75353 70%, #7B2E2E 100%);
  mix-blend-mode: multiply;
}
#fv::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(to bottom, transparent 0%, #B75353 70%, #7B2E2E 100%);
  mix-blend-mode: multiply;
}
#fv .l-deco {
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  max-width: unset;
}
#fv #wave1 {
  width: 9.64rem;
  height: 5.01rem;
  max-width: unset;
  top: 2.49rem;
  left: -4.28rem;
  background-image: url("../japanfit/img/fv/wave1.webp");
}
@media screen and (min-width: 768px) {
  #fv #wave1 {
    width: 113.8vw;
    height: 59.027vw;
    left: 0;
    top: 11.59vw;
  }
}
#fv #wave2 {
  width: 3.96rem;
  height: 2.64rem;
  top: 3.29rem;
  left: 0.52rem;
  background-image: url("../japanfit/img/fv/wave2.webp");
}
@media screen and (min-width: 768px) {
  #fv #wave2 {
    width: 43.125vw;
    height: 28.75vw;
    top: 27.43vw;
    left: -6.597vw;
    z-index: 2;
  }
}
#fv #wave3 {
  width: 3.96rem;
  height: 2.64rem;
  top: 3.94rem;
  left: -1.99rem;
  background-image: url("../japanfit/img/fv/wave2.webp");
}
@media screen and (min-width: 768px) {
  #fv #wave3 {
    width: 43.125vw;
    height: 28.75vw;
    top: 30vw;
    left: unset;
    right: 0;
    z-index: 2;
  }
}
#fv #cloud1 {
  width: 5.61rem;
  height: 1.11rem;
  top: 0.7rem;
  left: 1.28rem;
  background-image: url("../japanfit/img/fv/cloud1.webp");
}
@media screen and (min-width: 768px) {
  #fv #cloud1 {
    width: 82.77vw;
    height: 16.38vw;
    top: 8.2638vw;
    left: calc(50% + 17.638vw);
    z-index: 3;
  }
}
#fv #cloud2 {
  width: 2.66rem;
  height: 0.76rem;
  top: 4.3rem;
  left: -1.07rem;
  background-image: url("../japanfit/img/fv/cloud2.webp");
  z-index: 2;
}
@media screen and (min-width: 768px) {
  #fv #cloud2 {
    width: 38.68vw;
    height: 11.042vw;
    top: 42.0138vw;
    left: -5vw;
    z-index: 3;
  }
}
#fv #cloud3 {
  width: 2.55rem;
  height: 0.65rem;
  top: 4.87rem;
  left: 1.12rem;
  background-image: url("../japanfit/img/fv/cloud3.webp");
  z-index: 2;
}
@media screen and (min-width: 768px) {
  #fv #cloud3 {
    width: 28.68vw;
    height: 7.29vw;
    top: 42.91vw;
    left: 50%;
    z-index: 2;
    z-index: 3;
  }
}
#fv #fuji {
  width: 4.8rem;
  height: 2.7rem;
  top: 0.52rem;
  left: 1.45rem;
  background-image: url("../japanfit/img/fv/fuji.webp");
  z-index: 2;
}
@media screen and (min-width: 768px) {
  #fv #fuji {
    width: 68.958vw;
    height: 38.611vw;
    top: 15.277vw;
    left: calc(50% + 12.361vw);
    z-index: 2;
  }
}
#fv #bushi {
  width: 4.04rem;
  height: 6.15rem;
  top: 0.91rem;
  left: -1.75rem;
  background-image: url("../japanfit/img/fv/bushi.webp");
}
@media screen and (min-width: 768px) {
  #fv #bushi {
    width: 53.472vw;
    height: 81.25vw;
    top: 9.1666vw;
    left: -11.042vw;
  }
}
#fv #helmet1 {
  width: 3.07rem;
  height: 3.11rem;
  top: 1.39rem;
  left: 0.33rem;
  background-image: url("../japanfit/img/fv/helmet1.webp");
  z-index: 3;
}
@media screen and (min-width: 768px) {
  #fv #helmet1 {
    width: 43.19vw;
    height: 43.68vw;
    top: 6.319vw;
    left: 50%;
    transform: translateX(-50%);
    z-index: 4;
  }
}
#fv #helmet2 {
  width: 2.4rem;
  height: 2rem;
  z-index: 2;
  top: 3.58rem;
  left: 1.12rem;
  background-image: url("../japanfit/img/fv/helmet2.webp");
  z-index: 4;
}
@media screen and (min-width: 768px) {
  #fv #helmet2 {
    width: 25.555vw;
    height: 20.2083vw;
    top: 29.306vw;
    left: calc(50% + 8.47vw);
    z-index: 5;
  }
}
#fv #logo {
  z-index: 1000;
  width: 3.11rem;
  height: 1.03rem;
  top: 2.6rem;
  left: 0.32rem;
  background-image: url("../japanfit/img/fv/japanfit.webp");
}
@media screen and (min-width: 768px) {
  #fv #logo {
    width: 62.84722vw;
    height: 20.76388vw;
    top: 20.2083vw;
    left: 50%;
    transform: translateX(-50%);
    z-index: 5;
  }
}
#fv #release {
  width: 2.67rem;
  height: 0.56rem;
  margin: auto;
  margin-bottom: 1.4rem;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
  position: relative;
  z-index: 20;
}
@media screen and (min-width: 768px) {
  #fv #release {
    width: 8.5rem;
    height: 0.29rem;
    margin-bottom: 1.71rem;
  }
}
#fv .l-count-down {
  position: relative;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 3.05rem;
  margin: auto;
  color: white;
  gap: 0.12rem;
  margin-bottom: 1.19rem;
}
@media screen and (min-width: 768px) {
  #fv .l-count-down {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 1.29rem;
  }
}
#fv .l-count-down img {
  display: block;
  width: 1.19rem;
  height: 0.11rem;
  -o-object-fit: contain;
     object-fit: contain;
  filter: drop-shadow(0 0 0.2rem black);
}
@media screen and (min-width: 768px) {
  #fv .l-count-down img {
    width: 2.1rem;
    height: 0.2rem;
    margin-bottom: 0.21rem;
  }
}
#fv .l-count-down__container {
  display: flex;
  width: 100%;
}
#fv .l-count-down__wrapper {
  padding-left: 0.2rem;
  padding-right: 0.2rem;
  color: white;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  text-shadow: 0 0 0.2rem black;
}
@media screen and (min-width: 768px) {
  #fv .l-count-down__wrapper {
    padding-left: 0.37rem;
    padding-right: 0.37rem;
  }
}
#fv .l-count-down__wrapper:nth-of-type(1) {
  padding-left: unset;
}
#fv .l-count-down__wrapper:nth-of-type(4) {
  padding-right: unset;
}
#fv .l-count-down__wrapper:nth-of-type(4)::after {
  content: unset;
}
#fv .l-count-down__wrapper::after {
  content: "";
  width: 0.01rem;
  height: 0.5rem;
  position: absolute;
  bottom: 0;
  right: 0;
  background-color: white;
}
@media screen and (min-width: 768px) {
  #fv .l-count-down__wrapper::after {
    height: 0.87rem;
  }
}
#fv .l-count-down__wrapper span {
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.42rem;
  line-height: 0.56rem;
  letter-spacing: 0;
  font-weight: 300;
  min-width: 0.44rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  #fv .l-count-down__wrapper span {
    font-size: 0.75rem;
    line-height: 0.99rem;
    min-width: 0.78rem;
  }
}
#fv .l-count-down__wrapper small {
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.1rem;
  line-height: 0.13rem;
  letter-spacing: 0;
  font-weight: 300;
  transform: scale(0.7);
  transform-origin: center bottom;
  margin-top: -0.09rem;
}
@media screen and (min-width: 768px) {
  #fv .l-count-down__wrapper small {
    font-size: 0.13rem;
    line-height: 0.17rem;
    margin-top: -0.12rem;
    transform: unset;
  }
}
#fv .l-catch {
  color: white;
  position: relative;
  z-index: 10;
  text-align: center;
}
#fv .l-catch small {
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.14rem;
  line-height: 0.28rem;
  letter-spacing: 0.5em;
  font-weight: 700;
  display: block;
  margin-bottom: 0.17rem;
}
@media screen and (min-width: 768px) {
  #fv .l-catch small {
    font-size: 0.18rem;
    line-height: 0.24rem;
    margin-bottom: 0.18rem;
  }
}
#fv .l-catch strong {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.18rem;
  line-height: 0.32rem;
  letter-spacing: 0;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #fv .l-catch strong {
    font-size: 0.26rem;
    line-height: 0.5rem;
  }
}

#lineup {
  padding-top: 1rem;
  padding-bottom: 0.8rem;
}
@media screen and (min-width: 768px) {
  #lineup {
    padding-top: 1.53rem;
    padding-bottom: 0.66rem;
    position: relative;
  }
  #lineup::before {
    content: "";
    position: absolute;
    z-index: -1;
    max-width: unset;
    width: 10.38rem;
    height: 6.92rem;
    top: -0.45rem;
    left: calc(50% + 0.51rem);
    transform: translateX(-50%);
    background-image: url("../japanfit/img/common/bg.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }
}
#lineup .l-container {
  width: 100%;
  margin: auto;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  color: #CD0000;
  align-items: center;
}
@media screen and (min-width: 768px) {
  #lineup .l-container {
    position: relative;
    gap: 0;
    flex-direction: row;
    align-items: flex-end;
    width: unset;
    justify-content: center;
  }
}
#lineup .l-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  align-items: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  #lineup .l-wrapper {
    gap: 0.55rem;
  }
}
#lineup .l-wrapper::before {
  content: "";
  position: absolute;
  z-index: -1;
  max-width: unset;
  width: 100vw;
  height: 5.54rem;
  top: -0.24rem;
  background-image: url("../japanfit/img/common/bg.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (min-width: 768px) {
  #lineup .l-wrapper::before {
    content: unset;
  }
}
#lineup .l-wrapper:nth-of-type(1) .l-image {
  scale: 1.1;
  transform-origin: center bottom;
}
@media screen and (min-width: 768px) {
  #lineup .l-wrapper:nth-of-type(1) .l-image {
    transform: translateY(0.3rem);
    scale: unset;
    width: 3.21rem;
  }
}
@media screen and (min-width: 768px) {
  #lineup .l-wrapper:nth-of-type(2) {
    margin-left: -0.05rem;
  }
  #lineup .l-wrapper:nth-of-type(2) .l-image {
    width: 2.65rem;
  }
}
@media screen and (min-width: 768px) {
  #lineup .l-wrapper:nth-of-type(3) {
    margin-left: 0.19rem;
    padding-bottom: 0.03rem;
  }
  #lineup .l-wrapper:nth-of-type(3) .l-image {
    width: 2.74rem;
  }
}
@media screen and (min-width: 768px) {
  #lineup .l-wrapper:nth-of-type(4) {
    margin-left: 0.14rem;
    padding-bottom: 0.03rem;
  }
  #lineup .l-wrapper:nth-of-type(4) .l-image {
    width: 2.55rem;
  }
}
#lineup .l-image {
  width: 3.25rem;
  height: auto;
  display: block;
}
#lineup .l-link {
  width: 2.55rem;
  display: block;
}
#lineup .l-link img {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
#lineup .l-heading {
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.27rem;
  line-height: 0.39rem;
  letter-spacing: 0;
  font-weight: 900;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  #lineup .l-heading {
    font-size: 0.38rem;
    line-height: 0.55rem;
    width: 4.4rem;
    position: relative;
    top: 0.2rem;
  }
}
@media screen and (min-width: 768px) {
  #lineup .l-content {
    width: 4.24rem;
  }
}
#lineup .l-content span {
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.2rem;
  line-height: 0.27rem;
  letter-spacing: 0;
  font-weight: 800;
}
@media screen and (min-width: 768px) {
  #lineup .l-content span {
    font-size: 0.28rem;
    line-height: 0.37rem;
    margin-bottom: 0.04rem;
  }
}
#lineup .l-content h2 {
  display: block;
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.5rem;
  line-height: 0.68rem;
  letter-spacing: 0;
  font-weight: 900;
  margin-bottom: -0.07rem;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  #lineup .l-content h2 {
    font-size: 0.74rem;
    line-height: 1.01rem;
    margin-bottom: -0.14rem;
    position: relative;
    left: -0.05rem;
  }
}
#lineup .l-content em {
  width: 2.55rem;
  height: 0.28rem;
  color: white;
}
#lineup .l-content em img {
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
}
#lineup .l-catalog {
  width: 3.3rem;
  padding: 0.1rem 0.16rem 0.2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: white;
  border-radius: 0.05rem;
  margin: auto;
  margin-top: 0.94rem;
  color: #CD0000;
  border: 0.015rem solid #CD0000;
}
@media screen and (min-width: 768px) {
  #lineup .l-catalog {
    width: 6rem;
    height: 1.2rem;
    flex-direction: row;
    gap: 0.86rem;
    justify-content: center;
    padding: 0;
  }
}
#lineup .l-catalog img {
  display: block;
  width: 2.23rem;
  height: 0.74rem;
  margin-bottom: 0.14rem;
}
@media screen and (min-width: 768px) {
  #lineup .l-catalog img {
    margin-bottom: unset;
  }
}
#lineup .l-catalog strong {
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.34rem;
  line-height: 0.45rem;
  letter-spacing: 0.015em;
  font-weight: 800;
  display: block;
  text-align: center;
}

#links {
  background-color: white;
  padding-bottom: 0.8rem;
  color: #CD0000;
  text-align: center;
}
@media screen and (min-width: 768px) {
  #links {
    padding-bottom: 1.19rem;
  }
}
#links .l-desc {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.21rem;
  letter-spacing: 0.1em;
  font-weight: 400;
  display: block;
  margin-bottom: 0.05rem;
}
@media screen and (min-width: 768px) {
  #links .l-desc {
    font-size: 0.16rem;
    line-height: 0.24rem;
    margin-bottom: unset;
  }
}
#links .l-follow {
  display: block;
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.27rem;
  line-height: 0.37rem;
  letter-spacing: 0;
  font-weight: 900;
  margin-bottom: 0.38rem;
}
@media screen and (min-width: 768px) {
  #links .l-follow {
    font-size: 0.31rem;
    line-height: 0.42rem;
    margin-bottom: 0.37rem;
  }
}
#links .l-sns {
  display: flex;
  justify-content: center;
  gap: 0.33rem;
  margin-bottom: 0.69rem;
}
@media screen and (min-width: 768px) {
  #links .l-sns {
    margin-bottom: 0.64rem;
  }
}
#links .l-sns a {
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 100%;
  overflow: hidden;
}
#links .l-sns a img {
  display: block;
  width: 100%;
  height: 100%;
}
#links .l-button {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 0.28rem;
  width: 100%;
  padding-top: 0.39rem;
  padding-bottom: 0.24rem;
  border-radius: 0.1rem;
  background-color: black;
  color: white;
}
@media screen and (min-width: 768px) {
  #links .l-button {
    width: 6.99rem;
    height: 1rem;
    flex-direction: row;
    padding-left: 0.38rem;
    padding-right: 0.4rem;
    padding-top: 0.18rem;
    padding-bottom: 0.2rem;
    margin: auto;
    gap: unset;
  }
}
@media screen and (min-width: 768px) {
  #links .l-button::after {
    content: "";
    width: 0.5rem;
    height: 0.5rem;
    background-image: url("../japanfit/img/common/arrow_right_red.svg");
    background-size: contain;
    background-repeat: no-repeat;
  }
}
#links .l-button img {
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
  width: 1.8rem;
  height: 0.35rem;
}
@media screen and (min-width: 768px) {
  #links .l-button img {
    width: 1.9rem;
    height: 0.37rem;
  }
}
#links .l-button p {
  display: flex;
  flex-direction: column;
  gap: 0.037rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  #links .l-button p {
    gap: unset;
    margin-left: auto;
    margin-right: 0.43rem;
    white-space: nowrap;
  }
}
#links .l-button p strong {
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.23rem;
  line-height: 0.23rem;
  letter-spacing: 0;
  font-weight: 900;
}
@media screen and (min-width: 768px) {
  #links .l-button p strong {
    font-size: 0.28rem;
    line-height: 0.38rem;
  }
}
#links .l-button p span {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.15rem;
  line-height: 0.2rem;
  letter-spacing: 0.1em;
  font-weight: 700;
  gap: 0.15rem;
}
@media screen and (min-width: 768px) {
  #links .l-button p span {
    font-size: 0.18rem;
    line-height: 0.24rem;
  }
}
#links .l-button p span::after {
  content: "";
  width: 0.3rem;
  height: 0.3rem;
  background-image: url("../japanfit/img/common/arrow_right_red.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  #links .l-button p span::after {
    content: unset;
  }
}

#advent {
  overflow-x: hidden;
}
#advent #top {
  position: relative;
  padding-top: 0.83rem;
  padding-bottom: 0.76rem;
}
@media screen and (min-width: 768px) {
  #advent #top {
    padding-top: 2.33rem;
    padding-bottom: 0.6rem;
  }
}
#advent #top::before {
  content: "";
  position: absolute;
  z-index: -1;
  max-width: unset;
  top: 1.15rem;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 5.04rem;
  background-image: url("../japanfit/img/common/bg.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (min-width: 768px) {
  #advent #top::before {
    width: 10.38rem;
    height: 6.92rem;
    top: 0.86rem;
    left: 2.52rem;
    transform: unset;
  }
}
#advent #shell {
  padding-bottom: 0.8rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  #advent #shell {
    padding-bottom: 1rem;
  }
}
#advent #shell .c-heading--large--right {
  margin-bottom: 0.06rem;
}
@media screen and (min-width: 768px) {
  #advent #shell .c-heading--large--right {
    margin-bottom: 0.2rem;
  }
}
@media screen and (min-width: 768px) {
  #advent #shell .p-content {
    width: 5.35rem;
    margin-left: auto;
    font-size: 0.16rem;
    line-height: 0.36rem;
  }
}
#advent #shell1 {
  position: relative;
  left: -0.1rem;
  width: 2.7rem;
  height: auto;
}
@media screen and (min-width: 768px) {
  #advent #shell1 {
    position: absolute;
    width: 5.1rem;
    top: 1.19rem;
    left: 0;
  }
}
#advent #chinbar {
  padding-bottom: 0.8rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  #advent #chinbar {
    padding-bottom: 1.73rem;
  }
}
@media screen and (min-width: 768px) {
  #advent #chinbar .p-content {
    position: relative;
    width: 4.55rem;
  }
}
@media screen and (min-width: 768px) {
  #advent #chinbar .p-content h3 {
    margin-top: 0.2rem;
    margin-bottom: 0.88rem;
  }
}
#advent #chinbar .c-heading--large--right {
  position: relative;
  left: 0.1rem;
}
@media screen and (min-width: 768px) {
  #advent #chinbar .c-heading--large--right {
    left: unset;
  }
}
#advent #chinbar1 {
  max-width: unset;
  position: relative;
  left: -0.1rem;
  width: 3.99rem;
  height: 3.57rem;
  margin-bottom: 0.3rem;
  margin-top: -0.09rem;
}
@media screen and (min-width: 768px) {
  #advent #chinbar1 {
    position: absolute;
    width: 6.64rem;
    height: 5.95rem;
    margin-top: unset;
    margin-bottom: unset;
    top: -0.87rem;
    left: unset;
    right: -0.62rem;
    transform: translateX(100%);
  }
}
#advent #shield {
  padding-bottom: 0.8rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  #advent #shield {
    padding-bottom: 1.2rem;
  }
}
#advent #shield .c-heading--large {
  margin-bottom: 0.18rem;
}
@media screen and (min-width: 768px) {
  #advent #shield .c-heading--large {
    margin-bottom: 0.2rem;
  }
}
#advent #shield .p-content {
  margin-bottom: 0.29rem;
}
@media screen and (min-width: 768px) {
  #advent #shield .p-content {
    padding-left: 0.8rem;
    margin-bottom: 2.1rem;
    width: 5.46rem;
  }
  #advent #shield .p-content p {
    width: 4.3rem;
  }
}
#advent #shield1 {
  height: 3.28rem;
  margin-bottom: 0.28rem;
}
#advent #shield1-pc {
  width: 48.6vw;
  height: 4.68rem;
}
#advent #shield2 {
  height: 2.5rem;
  margin-bottom: 0.3rem;
}
@media screen and (min-width: 768px) {
  #advent #shield2 {
    margin-bottom: unset;
  }
}
#advent #shield2-pc {
  width: 4.42rem;
}
#advent #shield .l-image {
  display: flex;
  position: absolute;
  top: 0;
  left: calc(50% + 0.15rem);
  flex-direction: column;
  max-width: unset;
  width: -moz-fit-content;
  width: fit-content;
  padding-top: 0.15rem;
  gap: 0.6rem;
}
#advent #shield .l-image img {
  display: block;
  max-width: unset;
}

#rapid {
  overflow-x: hidden;
}
#rapid #top {
  position: relative;
  padding-top: 0.83rem;
  padding-bottom: 0.76rem;
}
@media screen and (min-width: 768px) {
  #rapid #top {
    padding-top: 2.33rem;
    padding-bottom: 0.6rem;
  }
}
#rapid #top::before {
  content: "";
  position: absolute;
  z-index: -1;
  max-width: unset;
  top: 1.15rem;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 5.04rem;
  background-image: url("../japanfit/img/common/bg.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (min-width: 768px) {
  #rapid #top::before {
    width: 10.38rem;
    height: 6.92rem;
    top: 0.86rem;
    left: 2.52rem;
    transform: unset;
  }
}
#rapid #top p {
  white-space: nowrap;
}
#rapid #shell {
  padding-bottom: 0.8rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  #rapid #shell {
    padding-bottom: 1.42rem;
  }
}
#rapid #shell::before {
  content: "";
  width: 100%;
  height: 5.16rem;
  position: absolute;
  z-index: -1;
  top: 0.73rem;
  left: 50%;
  transform: translateX(-50%);
  background-image: url("/japanfit/img/common/bg2.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}
@media screen and (min-width: 768px) {
  #rapid #shell::before {
    width: 10.76rem;
    height: 6.66rem;
    top: 1.21rem;
    right: 3.17rem;
    left: unset;
    transform: unset;
  }
}
#rapid #shell .c-heading--large--right {
  margin-bottom: 0.06rem;
  position: relative;
  left: 0.1rem;
}
@media screen and (min-width: 768px) {
  #rapid #shell .c-heading--large--right {
    left: 0.8rem;
    margin-bottom: 0.2rem;
  }
}
@media screen and (min-width: 768px) {
  #rapid #shell .p-content {
    width: 5.33rem;
    padding-right: 0.8rem;
    margin-left: auto;
    font-size: 0.16rem;
    line-height: 0.36rem;
  }
}
#rapid #shell .p-content h3 {
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  #rapid #shell .p-content h3 {
    margin-bottom: 0.4rem;
  }
}
#rapid #shell .p-content p {
  margin-bottom: 0.23rem;
}
@media screen and (min-width: 768px) {
  #rapid #shell .p-content p {
    margin-bottom: 0.35rem;
  }
}
#rapid #shell .p-content small {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.12rem;
  line-height: 0.24rem;
  letter-spacing: 0;
  font-weight: 400;
  margin-bottom: 0.25rem;
  display: block;
}
#rapid #shell .p-content ul {
  white-space: nowrap;
}
#rapid #shell1 {
  position: relative;
  left: 0.14rem;
  width: 2.33rem;
  height: auto;
  margin-bottom: 0.49rem;
}
@media screen and (min-width: 768px) {
  #rapid #shell1 {
    position: absolute;
    width: 4.65rem;
    top: 1.21rem;
    left: 0.36rem;
  }
}
#rapid #soft {
  padding-bottom: 0.8rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  #rapid #soft {
    padding-bottom: 1.35rem;
  }
}
@media screen and (min-width: 768px) {
  #rapid #soft .p-content {
    position: relative;
    width: 4.55rem;
  }
}
#rapid #soft .p-content h3 {
  margin-top: 0.16rem;
  margin-bottom: 0.2rem;
}
@media screen and (min-width: 768px) {
  #rapid #soft .p-content h3 {
    margin-top: 0.21rem;
    margin-bottom: 0.51rem;
  }
}
#rapid #soft .p-content p {
  font-size: 0.14rem;
  line-height: 0.28rem;
}
@media screen and (min-width: 768px) {
  #rapid #soft .p-content p {
    font-size: 0.16rem;
    line-height: 0.36rem;
  }
}
#rapid #soft .c-heading--large--right {
  position: relative;
  text-align: left;
  margin-left: unset;
  z-index: 2;
  margin-bottom: 0.09rem;
}
@media screen and (min-width: 768px) {
  #rapid #soft .c-heading--large--right {
    margin-bottom: unset;
    left: unset;
    margin-left: unset;
  }
}
@media screen and (min-width: 768px) {
  #rapid #soft .c-heading--large--right span {
    right: -0.1rem;
  }
}
#rapid #soft1 {
  height: 2.51rem;
}
@media screen and (min-width: 768px) {
  #rapid #soft1 {
    position: absolute;
    top: 0.18rem;
    right: -1.35rem;
    transform: translateX(100%);
    width: 48.61vw;
    height: 4.68rem;
    max-width: unset;
  }
}
#rapid #ventilation {
  padding-bottom: 0.8rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  #rapid #ventilation {
    padding-bottom: 1.2rem;
  }
}
#rapid #ventilation .c-heading--large {
  margin-bottom: unset;
  position: relative;
  left: -0.15rem;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  #rapid #ventilation .c-heading--large {
    left: unset;
  }
}
#rapid #ventilation .c-heading--large span {
  bottom: 0;
  border-bottom: unset;
  padding-top: 0.05rem;
  border-top: 0.01rem solid #CD0000;
}
@media screen and (min-width: 768px) {
  #rapid #ventilation .c-heading--large span {
    width: 2.34rem;
  }
}
@media screen and (min-width: 768px) {
  #rapid #ventilation .c-heading--large strong {
    padding-bottom: 1.04rem;
  }
}
#rapid #ventilation .p-content {
  margin-bottom: 0.29rem;
}
@media screen and (min-width: 768px) {
  #rapid #ventilation .p-content {
    margin-left: auto;
    margin-bottom: 1.59rem;
    width: 5.1rem;
  }
  #rapid #ventilation .p-content p {
    width: 4.3rem;
    font-size: 0.16rem;
    line-height: 0.32rem;
  }
  #rapid #ventilation .p-content h3 {
    margin-bottom: 0.23rem;
  }
  #rapid #ventilation .p-content h4 {
    margin-bottom: 0.2rem;
  }
}
#rapid #ventilation1 {
  height: 3.28rem;
  margin-bottom: 0.28rem;
}
@media screen and (min-width: 768px) {
  #rapid #ventilation1 {
    position: absolute;
    top: 0.15rem;
    right: 5.9rem;
    width: 48.61vw;
    height: 4.68rem;
  }
}
#rapid #ventilation1-pc {
  width: 48.6vw;
}
@media screen and (min-width: 768px) {
  #rapid #ventilation .l-content {
    padding-left: 0.8rem;
    margin-top: -0.12rem;
  }
}
#rapid #ventilation .l-image {
  display: flex;
  position: absolute;
  top: 0;
  left: calc(50% + 0.15rem);
  flex-direction: column;
  max-width: unset;
  width: -moz-fit-content;
  width: fit-content;
  padding-top: 0.15rem;
  gap: 0.6rem;
}
#rapid #ventilation .l-image img {
  display: block;
  max-width: unset;
}

#stream {
  overflow-x: hidden;
}
#stream #top {
  position: relative;
  padding-top: 0.83rem;
  padding-bottom: 0.81rem;
}
@media screen and (min-width: 768px) {
  #stream #top {
    padding-top: 2.33rem;
    padding-bottom: unset;
    margin-bottom: -0.19rem;
  }
}
#stream #top::before {
  content: "";
  position: absolute;
  z-index: -1;
  max-width: unset;
  top: 1.15rem;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 5.04rem;
  background-image: url("../japanfit/img/common/bg.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (min-width: 768px) {
  #stream #top::before {
    width: 10.38rem;
    height: 6.92rem;
    top: 0.86rem;
    left: 2.52rem;
    transform: unset;
  }
}
#stream #top p {
  white-space: nowrap;
}
#stream #shell {
  padding-bottom: 0.8rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  #stream #shell {
    padding-bottom: 1.11rem;
  }
}
#stream #shell .c-heading--large--right {
  margin-bottom: 0.06rem;
  position: relative;
  left: 0.1rem;
}
@media screen and (min-width: 768px) {
  #stream #shell .c-heading--large--right {
    left: 0.8rem;
    margin-bottom: 0.2rem;
  }
}
@media screen and (min-width: 768px) {
  #stream #shell .p-content {
    width: 5.33rem;
    padding-right: 0.8rem;
    margin-left: auto;
    font-size: 0.16rem;
    line-height: 0.36rem;
  }
}
#stream #shell .p-content h3 {
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  #stream #shell .p-content h3 {
    margin-bottom: 0.88rem;
  }
}
#stream #shell .p-content p {
  margin-bottom: 0.23rem;
}
@media screen and (min-width: 768px) {
  #stream #shell .p-content p {
    margin-bottom: 0.35rem;
  }
}
#stream #shell .p-content small {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.12rem;
  line-height: 0.24rem;
  letter-spacing: 0;
  font-weight: 400;
  margin-bottom: 0.25rem;
  display: block;
}
#stream #shell .p-content ul {
  white-space: nowrap;
}
#stream #shell1 {
  position: relative;
  left: 0.14rem;
  width: 2.33rem;
  height: auto;
  margin-bottom: 0.49rem;
}
@media screen and (min-width: 768px) {
  #stream #shell1 {
    position: absolute;
    width: 5.1rem;
    top: 1.19rem;
    left: 0;
  }
}
#stream #space {
  padding-bottom: 0.8rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  #stream #space {
    padding-bottom: 1.34rem;
  }
}
#stream #space .c-heading--large--right {
  margin-bottom: 0.1rem;
  position: relative;
  left: -0.15rem;
  z-index: 2;
  text-align: left;
}
@media screen and (min-width: 768px) {
  #stream #space .c-heading--large--right {
    margin-bottom: 0.31rem;
    left: unset;
  }
}
@media screen and (min-width: 768px) {
  #stream #space .c-heading--large--right span {
    width: 1.25rem;
    bottom: -1.95rem;
  }
}
#stream #space .c-heading--large--right strong {
  text-align: left;
}
#stream #space .p-content {
  margin-bottom: 0.29rem;
}
@media screen and (min-width: 768px) {
  #stream #space .p-content {
    margin-left: auto;
    width: 5.35rem;
    padding-right: 0.8rem;
  }
  #stream #space .p-content p {
    font-size: 0.16rem;
    line-height: 0.36rem;
  }
  #stream #space .p-content h3 {
    margin-bottom: 0.45rem;
  }
  #stream #space .p-content h4 {
    margin-bottom: 0.2rem;
  }
}
#stream #space1 {
  height: 3.28rem;
  margin-bottom: 0.28rem;
}
@media screen and (min-width: 768px) {
  #stream #space1 {
    position: absolute;
    top: 0.15rem;
    right: 5.9rem;
    width: 48.61vw;
    height: 4.68rem;
  }
}
#stream #space1-pc {
  width: 48.6vw;
}
#stream #space .l-image {
  display: flex;
  position: absolute;
  top: 0;
  left: calc(50% + 0.15rem);
  flex-direction: column;
  max-width: unset;
  width: -moz-fit-content;
  width: fit-content;
  padding-top: 0.15rem;
  gap: 0.6rem;
}
#stream #space .l-image img {
  display: block;
  max-width: unset;
}
#stream #shield {
  padding-bottom: 0.8rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  #stream #shield {
    padding-bottom: 1.2rem;
  }
}
#stream #shield .c-heading--large {
  margin-bottom: 0.18rem;
}
@media screen and (min-width: 768px) {
  #stream #shield .c-heading--large {
    margin-bottom: 0.2rem;
  }
}
#stream #shield .p-content {
  margin-bottom: 0.29rem;
}
@media screen and (min-width: 768px) {
  #stream #shield .p-content {
    padding-left: 0.8rem;
    margin-bottom: 2.1rem;
    width: 5.46rem;
  }
  #stream #shield .p-content p {
    width: 4.3rem;
  }
}
#stream #shield1 {
  height: 3.28rem;
  margin-bottom: 0.28rem;
}
#stream #shield1-pc {
  width: 48.6vw;
  height: 4.68rem;
}
#stream #shield2 {
  height: 2.5rem;
  margin-bottom: 0.3rem;
}
@media screen and (min-width: 768px) {
  #stream #shield2 {
    margin-bottom: unset;
  }
}
#stream #shield2-pc {
  width: 4.42rem;
}
#stream #shield .l-image {
  display: flex;
  position: absolute;
  top: 0;
  left: calc(50% + 0.15rem);
  flex-direction: column;
  max-width: unset;
  width: -moz-fit-content;
  width: fit-content;
  padding-top: 0.15rem;
  gap: 0.6rem;
}
#stream #shield .l-image img {
  display: block;
  max-width: unset;
}

#explorer {
  overflow-x: hidden;
}
#explorer #top {
  position: relative;
  padding-top: 0.83rem;
  padding-bottom: 0.81rem;
}
@media screen and (min-width: 768px) {
  #explorer #top {
    padding-top: 1.8rem;
    padding-bottom: unset;
    margin-bottom: -0.19rem;
    padding-bottom: 0.5rem;
  }
}
#explorer #top::before {
  content: "";
  position: absolute;
  z-index: -1;
  max-width: unset;
  top: 1.15rem;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 5.04rem;
  background-image: url("../japanfit/img/common/bg.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (min-width: 768px) {
  #explorer #top::before {
    width: 10.38rem;
    height: 6.92rem;
    top: 0.86rem;
    left: 2.52rem;
    transform: unset;
  }
}
#explorer #top p {
  white-space: nowrap;
}
#explorer #shell {
  padding-bottom: 0.8rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  #explorer #shell {
    padding-bottom: 1.11rem;
  }
}
#explorer #shell .c-heading--large--right {
  margin-bottom: 0.06rem;
  position: relative;
  left: 0.1rem;
}
@media screen and (min-width: 768px) {
  #explorer #shell .c-heading--large--right {
    left: 0.8rem;
    margin-bottom: 0.2rem;
  }
}
@media screen and (min-width: 768px) {
  #explorer #shell .p-content {
    width: 5.33rem;
    padding-right: 0.8rem;
    margin-left: auto;
    font-size: 0.16rem;
    line-height: 0.36rem;
  }
}
#explorer #shell .p-content h3 {
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  #explorer #shell .p-content h3 {
    margin-bottom: 0.88rem;
  }
}
#explorer #shell .p-content p {
  margin-bottom: 0.23rem;
}
@media screen and (min-width: 768px) {
  #explorer #shell .p-content p {
    margin-bottom: 0.35rem;
  }
}
#explorer #shell .p-content small {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.12rem;
  line-height: 0.24rem;
  letter-spacing: 0;
  font-weight: 400;
  margin-bottom: 0.25rem;
  display: block;
}
#explorer #shell .p-content ul {
  white-space: nowrap;
}
#explorer #shell1 {
  position: relative;
  left: 0.14rem;
  width: 2.33rem;
  height: auto;
  margin-bottom: 0.49rem;
}
@media screen and (min-width: 768px) {
  #explorer #shell1 {
    position: absolute;
    width: 5.1rem;
    top: 1.19rem;
    left: 0;
  }
}
#explorer #space {
  padding-bottom: 0.59rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  #explorer #space {
    padding-bottom: 1.34rem;
  }
}
#explorer #space .c-heading--large--right {
  margin-bottom: 0.1rem;
  position: relative;
  left: -0.15rem;
  z-index: 2;
  text-align: left;
}
@media screen and (min-width: 768px) {
  #explorer #space .c-heading--large--right {
    margin-bottom: 0.31rem;
    left: unset;
  }
}
#explorer #space .c-heading--large--right span {
  left: 0.3rem;
  right: unset;
  transform-origin: top left;
  top: 0.9rem;
  border-top: 0.015rem solid #CD0000;
  padding-top: 0.05rem;
}
@media screen and (min-width: 768px) {
  #explorer #space .c-heading--large--right span {
    top: 1.3rem;
    white-space: nowrap;
    width: 2.34rem;
    border-bottom: unset;
  }
}
#explorer #space .c-heading--large--right strong {
  text-align: left;
}
#explorer #space .p-content {
  margin-bottom: 0.29rem;
}
@media screen and (min-width: 768px) {
  #explorer #space .p-content {
    margin-left: auto;
    width: 5.35rem;
    padding-right: 0.8rem;
  }
  #explorer #space .p-content p {
    font-size: 0.16rem;
    line-height: 0.36rem;
  }
  #explorer #space .p-content h3 {
    margin-bottom: 0.45rem;
  }
  #explorer #space .p-content h4 {
    margin-bottom: 0.2rem;
  }
}
#explorer #space1 {
  height: 3.28rem;
  margin-bottom: 0.28rem;
}
@media screen and (min-width: 768px) {
  #explorer #space1 {
    position: absolute;
    top: 0.15rem;
    right: 5.9rem;
    width: 48.61vw;
    height: 4.68rem;
  }
}
#explorer #space1-pc {
  width: 48.6vw;
}
#explorer #space .l-image {
  display: flex;
  position: absolute;
  top: 0;
  left: calc(50% + 0.15rem);
  flex-direction: column;
  max-width: unset;
  width: -moz-fit-content;
  width: fit-content;
  padding-top: 0.15rem;
  gap: 0.6rem;
}
#explorer #space .l-image img {
  display: block;
  max-width: unset;
}
#explorer #space .l-content {
  padding-left: 0.3rem;
}
@media screen and (min-width: 768px) {
  #explorer #space .l-content {
    padding-left: 0.8rem;
  }
}
@media screen and (min-width: 768px) {
  #explorer #space .l-content h3 {
    margin-bottom: 0.23rem;
    white-space: nowrap;
  }
}
#explorer #shield {
  padding-bottom: 0.8rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  #explorer #shield {
    padding-bottom: 1.2rem;
  }
}
#explorer #shield .c-heading--large {
  margin-bottom: 0.18rem;
}
@media screen and (min-width: 768px) {
  #explorer #shield .c-heading--large {
    margin-bottom: 0.2rem;
  }
}
@media screen and (min-width: 768px) {
  #explorer #shield .c-heading--large span {
    bottom: -0.8rem;
  }
}
#explorer #shield .p-content {
  margin-bottom: 0.29rem;
}
@media screen and (min-width: 768px) {
  #explorer #shield .p-content {
    margin-top: 0.79rem;
    padding-left: 0.8rem;
    margin-bottom: 0.8rem;
    width: 5.46rem;
  }
  #explorer #shield .p-content p {
    width: 4.3rem;
  }
}
#explorer #shield1 {
  height: 3.28rem;
  margin-bottom: 0.28rem;
}
#explorer #shield1-pc {
  width: 50vw;
  height: 4.68rem;
  margin-top: 1.65rem;
}
#explorer #shield2 {
  height: 2.5rem;
  margin-bottom: 0.3rem;
}
@media screen and (min-width: 768px) {
  #explorer #shield2 {
    margin-bottom: unset;
  }
}
#explorer #shield2-pc {
  width: 4.42rem;
}
#explorer #shield .l-image {
  display: flex;
  position: absolute;
  top: 0;
  left: calc(50% + 0.15rem);
  flex-direction: column;
  max-width: unset;
  width: -moz-fit-content;
  width: fit-content;
  padding-top: 0.15rem;
  gap: 0.6rem;
}
#explorer #shield .l-image img {
  display: block;
  max-width: unset;
}

#others {
  padding-bottom: 1rem;
}
#others .c-heading--large {
  margin-bottom: 0.06rem;
}
@media screen and (min-width: 768px) {
  #others .c-heading--large {
    margin-bottom: 0.8rem;
  }
}
#others .l-container {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  #others .l-container {
    margin-bottom: 1.26rem;
    gap: 0.47rem;
  }
}
#others .l-container .l-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
}
@media screen and (min-width: 768px) {
  #others .l-container .l-wrapper {
    flex-direction: row;
    justify-content: flex-end;
    gap: 0.5rem;
  }
}
#others .l-container .l-wrapper img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  #others .l-container .l-wrapper img {
    width: 3.76rem;
    flex: none;
    margin-top: 0.12rem;
  }
}
#others .l-container .l-wrapper .l-text {
  color: #CD0000;
  padding-left: 0.1rem;
}
@media screen and (min-width: 768px) {
  #others .l-container .l-wrapper .l-text {
    width: 5.7rem;
    flex: none;
    padding-left: unset;
  }
}
#others .l-container .l-wrapper .l-text h3 {
  display: flex;
  flex-direction: column;
  margin-bottom: 0.17rem;
}
@media screen and (min-width: 768px) {
  #others .l-container .l-wrapper .l-text h3 {
    margin-bottom: 0.32rem;
  }
}
#others .l-container .l-wrapper .l-text h3 strong {
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.3rem;
  line-height: 0.41rem;
  letter-spacing: 0;
  font-weight: 900;
}
@media screen and (min-width: 768px) {
  #others .l-container .l-wrapper .l-text h3 strong {
    font-size: 0.38rem;
    line-height: 0.52rem;
  }
}
#others .l-container .l-wrapper .l-text h3 span {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0;
  font-weight: 500;
  display: block;
  margin-top: -0.04rem;
}
@media screen and (min-width: 768px) {
  #others .l-container .l-wrapper .l-text h3 span {
    font-size: 0.18rem;
    line-height: 0.26rem;
    margin-top: -0.05rem;
  }
}
#others .l-container .l-wrapper .l-text p {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.22rem;
  line-height: 0.4rem;
  letter-spacing: 0;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #others .l-container .l-wrapper .l-text p {
    font-size: 0.28rem;
    line-height: 0.48rem;
  }
}
#others .p-product-list {
  margin-bottom: 0.81rem;
}
@media screen and (min-width: 768px) {
  #others .p-product-list {
    margin-bottom: 1.08rem;
  }
}
#others .l-price {
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.16rem;
  line-height: 0.22rem;
  letter-spacing: 0.03em;
  font-weight: 500;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 0.17rem;
}
@media screen and (min-width: 768px) {
  #others .l-price {
    font-size: 0.2rem;
    line-height: 0.28rem;
  }
}
#others .l-price span {
  display: block;
  text-align: center;
}
#others .l-price span.l-price--white::before {
  content: "";
  display: inline-block;
  width: 0.11rem;
  height: 0.11rem;
  border-radius: 100%;
  border: 0.015rem solid #171717;
  margin-right: 0.03rem;
  position: relative;
  top: 0.01rem;
}
@media screen and (min-width: 768px) {
  #others .l-price span.l-price--white::before {
    width: 0.13rem;
    height: 0.13rem;
  }
}
#others .l-price span.l-price--black::before {
  content: "";
  display: inline-block;
  width: 0.11rem;
  height: 0.11rem;
  border-radius: 100%;
  border: 0.015rem solid #171717;
  margin-right: 0.03rem;
  position: relative;
  top: 0.01rem;
  background-color: #171717;
}
@media screen and (min-width: 768px) {
  #others .l-price span.l-price--black::before {
    width: 0.13rem;
    height: 0.13rem;
  }
}
#others .l-size {
  text-align: center;
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.16rem;
  line-height: 0.22rem;
  letter-spacing: 0.03em;
  font-weight: 500;
  margin-bottom: 0.21rem;
}
@media screen and (min-width: 768px) {
  #others .l-size {
    font-size: 0.2rem;
    line-height: 0.29rem;
    margin-bottom: 0.38rem;
  }
}
#others .l-caution {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.12rem;
  line-height: 0.24rem;
  letter-spacing: 0;
  font-weight: 400;
  text-align: center;
  display: block;
  margin-bottom: 0.3rem;
}
@media screen and (min-width: 768px) {
  #others .l-caution {
    font-size: 0.14rem;
    line-height: 0.28rem;
    margin-bottom: 0.45rem;
  }
}
#others .l-list {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.28rem;
  letter-spacing: 0;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #others .l-list {
    font-size: 0.16rem;
    line-height: 0.32rem;
    margin: auto;
    width: -moz-fit-content;
    width: fit-content;
  }
}
#others .l-list li {
  display: flex;
}
#others .l-list li::before {
  content: "■";
  flex: none;
}

#accessories {
  padding-bottom: 1.4rem;
}
@media screen and (min-width: 768px) {
  #accessories {
    padding-bottom: 1rem;
  }
}
#accessories .l-caution {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.3rem;
  letter-spacing: 0;
  font-weight: 400;
}
#accessories .l-caution:nth-of-type(1) {
  margin-top: 0.16rem;
}
@media screen and (min-width: 768px) {
  #accessories .l-caution {
    font-size: 0.14rem;
    line-height: 0.28rem;
    display: flex;
  }
  #accessories .l-caution span {
    display: block;
    flex: none;
  }
}

#bottom {
  padding-bottom: 0.5rem;
}
@media screen and (min-width: 768px) {
  #bottom {
    padding-bottom: 2rem;
  }
}
#bottom .l-link {
  display: flex;
  flex-direction: column;
  width: 2.55rem;
  margin: auto;
  gap: 0.82rem;
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 768px) {
  #bottom .l-link {
    width: unset;
    flex-direction: row;
    gap: 0.69rem;
    justify-content: center;
    margin-bottom: unset;
  }
}
#bottom .l-link a {
  display: block;
  width: 100%;
}
@media screen and (min-width: 768px) {
  #bottom .l-link a {
    width: 2.55rem;
  }
}
#bottom .l-link a img {
  display: block;
  width: 100%;
  height: auto;
}
#bottom .l-button {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 0.5rem;
  border-radius: 0.05rem;
  border: 0.01rem solid white;
  background-color: #CD0000;
  color: white;
  text-align: center;
  gap: 0.02rem;
  padding-left: 0.2rem;
  padding-right: 0.15rem;
}
#bottom .l-button::before {
  content: "";
  width: 0.83rem;
  height: 0.16rem;
  background-image: url("../japanfit/img/common/logo.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
#bottom .l-button::after {
  content: "";
  width: 0.3rem;
  height: 0.3rem;
  background-image: url("../japanfit/img/common/arrow_right_red.svg");
  background-size: contain;
  background-repeat: no-repeat;
  filter: grayscale(1) contrast(2);
}
#bottom .l-button p {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
#bottom .l-button strong {
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.14rem;
  line-height: 0.19rem;
  letter-spacing: 0;
  font-weight: 700;
}
#bottom .l-button span {
  display: flex;
  gap: 0.07rem;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  left: -0.03rem;
  flex-direction: row;
}
#bottom .l-button span i {
  transform: scale(0.8);
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.1rem;
  line-height: 0.13rem;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-style: normal;
  transform-origin: center right;
  white-space: nowrap;
}

#wpadminbar {
  display: none;
}
@media screen and (min-width: 768px) {
  #wpadminbar {
    display: flex;
  }
}

.p-header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  height: 0.77rem;
}
@media screen and (min-width: 768px) {
  .p-header {
    height: 0.9rem;
  }
}
.p-header--red {
  height: 0.58rem;
}
@media screen and (min-width: 768px) {
  .p-header--red {
    height: 1.22rem;
  }
}
@media screen and (min-width: 768px) {
  .p-header--red .p-header__container {
    padding-top: unset;
  }
}
.p-header--red .p-header__logo {
  width: -moz-fit-content;
  width: fit-content;
  flex-direction: row;
  align-items: center;
  gap: 0.35rem;
  filter: brightness(0) saturate(100%) invert(17%) sepia(55%) saturate(3636%) hue-rotate(348deg) brightness(103%) contrast(134%);
}
@media screen and (min-width: 768px) {
  .p-header--red .p-header__logo {
    gap: 0.57rem;
  }
}
.p-header--red .p-header__button {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-header--red .p-header__button {
    background-color: #CD0000;
    border: unset;
    display: flex;
  }
}
.p-header--red .p-header__button::after {
  filter: grayscale(1) contrast(2);
}
.p-header__container {
  height: 100%;
  padding-left: 0.35rem;
  padding-right: 0.35rem;
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding-top: 0.12rem;
  align-items: flex-end;
}
@media screen and (min-width: 768px) {
  .p-header__container {
    width: 14.4rem;
    margin: auto;
    padding-left: 0.44rem;
    padding-right: 0.59rem;
    align-items: center;
  }
}
.p-header__logo {
  width: 1.2rem;
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
}
@media screen and (min-width: 768px) {
  .p-header__logo {
    flex-direction: row;
    gap: 0.35rem;
    align-items: center;
    width: unset;
  }
}
.p-header__logo--ls2 {
  width: 1.32rem;
  height: 0.26rem;
}
@media screen and (min-width: 768px) {
  .p-header__logo--ls2 {
    width: 2.23rem;
    height: 0.43rem;
  }
}
.p-header__logo--brand {
  width: 1.3rem;
  height: 0.09rem;
}
@media screen and (min-width: 768px) {
  .p-header__logo--brand {
    width: 2.57rem;
    height: 0.17rem;
  }
}
.p-header__logo--japanfit {
  width: 1.38rem;
  height: 0.46rem;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .p-header__logo--japanfit {
    width: 2.24rem;
    height: 0.74rem;
  }
}
.p-header__logo img {
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-header__button {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 1.4rem;
  height: 0.5rem;
  border-radius: 0.05rem;
  border: 0.01rem solid white;
  background-color: black;
  color: white;
  text-align: center;
  gap: 0.02rem;
}
@media screen and (min-width: 768px) {
  .p-header__button {
    width: 3.2rem;
    height: 0.5rem;
    flex-direction: row;
    align-items: center;
    padding-left: 0.2rem;
    padding-right: 0.15rem;
    justify-content: space-between;
  }
  .p-header__button::before {
    content: "";
    width: 0.83rem;
    height: 0.16rem;
    background-image: url("/japanfit/img/common/logo.svg");
    background-size: contain;
    background-repeat: no-repeat;
  }
  .p-header__button::after {
    content: "";
    width: 0.3rem;
    height: 0.3rem;
    background-image: url("/japanfit/img/common/arrow_right_red.svg");
    background-size: contain;
    background-repeat: no-repeat;
  }
}
.p-header__button p {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.p-header__button strong {
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.12rem;
  line-height: 0.16rem;
  letter-spacing: 0;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-header__button strong {
    font-size: 0.14rem;
    line-height: 0.19rem;
  }
}
.p-header__button span {
  display: flex;
  gap: 0.07rem;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  left: -0.03rem;
}
@media screen and (min-width: 768px) {
  .p-header__button span {
    flex-direction: row;
  }
}
.p-header__button span::after {
  content: "";
  width: 0.15rem;
  height: 0.15rem;
  background-image: url("/japanfit/img/common/arrow_right_red.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .p-header__button span::after {
    content: unset;
  }
}
.p-header__button span i {
  transform: scale(0.8);
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.1rem;
  line-height: 0.13rem;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-style: normal;
  transform-origin: center right;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .p-header__button span i {
    font-size: 0.1rem;
    line-height: 0.13rem;
  }
}
.p-header__user {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-header__user {
    display: flex;
    gap: 0.065rem;
    align-items: center;
  }
}
.p-header__user:hover .p-header__user--interface {
  opacity: 1;
  bottom: -0.095rem;
  pointer-events: all;
}
@media screen and (min-width: 768px) {
  .p-header__user:hover .p-header__user--interface {
    bottom: unset;
    top: 0rem;
  }
}
.p-header__user--icon {
  border-radius: 100%;
  border: 0.015rem solid black;
  overflow: hidden;
  flex: none;
  width: 0.31rem;
  height: 0.31rem;
}
@media screen and (min-width: 768px) {
  .p-header__user--icon {
    width: 0.35rem;
    height: 0.35rem;
  }
}
.p-header__user--icon img {
  display: block;
  width: 100%;
  height: 100%;
}
.p-header__user--name {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0;
  font-weight: 400;
  display: block;
  margin-bottom: 0.12rem;
}
@media screen and (min-width: 768px) {
  .p-header__user--name {
    margin-bottom: unset;
    font-size: 0.17rem;
    line-height: 0.25rem;
  }
}
.p-header__user--interface {
  position: relative;
  z-index: 2;
  background-color: black;
  color: white;
  border-radius: 0.06rem;
  padding: 0.08rem 0.22rem 0.18rem;
  position: absolute;
  right: 0;
  bottom: 0.1rem;
  transform: translateY(100%);
  max-width: unset;
  pointer-events: none;
  opacity: 0;
  transition: 0.3s;
  max-width: unset;
  flex: none;
}
@media screen and (min-width: 768px) {
  .p-header__user--interface {
    padding: 0.42rem 0 0;
    background-color: transparent;
    border-radius: unset;
    bottom: unset;
    top: -0.2rem;
    transform: unset;
  }
}
.p-header__user--logout {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.12rem;
  line-height: 0.17rem;
  letter-spacing: 0;
  font-weight: 500;
  gap: 0.1rem;
  color: black;
  background-color: white;
  width: 100%;
  height: 0.31rem;
  border-radius: 0.05rem;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.12rem;
  line-height: 0.17rem;
  letter-spacing: 0;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-header__user--logout {
    background-color: black;
    color: white;
    width: 2.86rem;
    height: 0.4rem;
  }
}
.p-header__user--logout::after {
  content: "";
  background-image: url("/japanfit/img/common/icon_logout.png");
  background-size: contain;
  background-repeat: no-repeat;
  width: 0.2rem;
  height: 0.12rem;
}
@media screen and (min-width: 768px) {
  .p-header__user--logout::after {
    background-image: url("/japanfit/img/common/icon_logout_white.png");
  }
}
.p-footer {
  padding-top: 0.4rem;
  padding-bottom: 0.42rem;
  width: 100%;
  background-color: #CD0000;
}
@media screen and (min-width: 768px) {
  .p-footer {
    padding-top: 0.75rem;
    padding-bottom: 0.19rem;
  }
}
.p-footer__container {
  width: 9.8rem;
  margin: auto;
}
.p-footer__main {
  display: flex;
  flex-direction: column;
  gap: 0.42rem;
  margin-bottom: 1.29rem;
}
@media screen and (min-width: 768px) {
  .p-footer__main {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.6rem;
  }
}
.p-footer__logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.37rem;
}
@media screen and (min-width: 768px) {
  .p-footer__logo {
    flex-direction: row;
    gap: 0.35rem;
  }
}
.p-footer__logo--ls2 {
  width: 2.23rem;
  height: 0.43rem;
}
.p-footer__logo--brand {
  width: 2.57rem;
  height: 0.17rem;
}
.p-footer__logo img {
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-footer__link {
  display: flex;
  flex-direction: column;
  gap: 0.18rem;
  align-items: center;
}
.p-footer__link a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 2.4rem;
  height: 0.54rem;
  border: 0.01rem solid white;
  color: white;
  padding: 0.05rem 0.11rem 0.05rem 0.13rem;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0.03em;
  font-weight: 400;
}
.p-footer__link a::after {
  content: "";
  width: 0.25rem;
  height: 0.25rem;
  background-image: url("/japanfit/img/common/arrow_right_black.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
.p-footer__copyright {
  color: white;
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.12rem;
  line-height: 0.16rem;
  letter-spacing: 0;
  font-weight: 500;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-footer__copyright {
    text-align: right;
    position: relative;
    left: 1.76rem;
  }
}

.p-product-list, .p-product-list__wide {
  display: flex;
  justify-content: center;
  gap: 0.47rem;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .p-product-list, .p-product-list__wide {
    width: 5.5rem;
    margin: auto;
    gap: 0.75rem;
  }
}
.p-product-list__wide {
  margin-bottom: 0.8rem;
}
@media screen and (min-width: 768px) {
  .p-product-list__wide {
    width: 12rem;
    margin-bottom: 0.8rem;
    gap: 1.3rem;
  }
}
.p-product-list__box {
  width: 100%;
  border: 0.015rem solid #CD0000;
  width: 100%;
  padding: 0 0 0.41rem;
  border-radius: 0.2rem;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-product-list__box {
    margin-bottom: 0.8rem;
    width: 8rem;
    margin: 0 auto 0.8rem;
  }
}
.p-product-list__box--heading {
  background-color: #CD0000;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.72rem;
  height: 0.48rem;
  border-radius: 0 0 0.08rem 0.08rem;
  margin: 0 auto 0.24rem;
  gap: 0.1rem;
}
@media screen and (min-width: 768px) {
  .p-product-list__box--heading {
    margin-bottom: 0.31rem;
  }
  .p-product-list__box--heading span {
    font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
    font-size: 0.14rem;
    line-height: 0.23rem;
    letter-spacing: 0;
    font-weight: 500;
  }
  .p-product-list__box--heading strong {
    font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
    font-size: 0.2rem;
    line-height: 0.29rem;
    letter-spacing: 0;
    font-weight: 500;
    padding-bottom: 0.05rem;
  }
}
.p-product-list__box--head {
  color: #CD0000;
  margin-bottom: 0.31rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 0.05rem;
}
@media screen and (min-width: 768px) {
  .p-product-list__box--head {
    margin-bottom: 0.29rem;
  }
}
.p-product-list__box--head span {
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.14rem;
  line-height: 0.19rem;
  letter-spacing: 0;
  font-weight: 500;
}
.p-product-list__box--head strong {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.2rem;
  line-height: 0.28rem;
  letter-spacing: 0;
  font-weight: 600;
}
.p-product-list__box--head {
  margin-bottom: 0.32rem;
}
.p-product-list__box--price {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 0.05rem;
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.16rem;
  line-height: 0.21rem;
  letter-spacing: 30;
  font-weight: 500;
  margin-top: 0.32rem;
  margin-bottom: 0.42rem;
}
.p-product-list__box--price small {
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.14rem;
  line-height: 0.19rem;
  letter-spacing: 30;
  font-weight: 500;
}
.p-product-list__box--desc {
  color: #CD0000;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.16rem;
  line-height: 0.26rem;
  letter-spacing: 0;
  font-weight: 400;
  text-align: center;
}
.p-product-list__box--desc span {
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.16rem;
  line-height: 0.26rem;
  letter-spacing: 0;
  font-weight: 500;
}
.p-product-list__box .p-product-list, .p-product-list__box .p-product-list__wide {
  margin-bottom: 0.58rem;
}
@media screen and (min-width: 768px) {
  .p-product-list__box .p-product-list, .p-product-list__box .p-product-list__wide {
    margin-bottom: 0.46rem !important;
    gap: 1.5rem;
  }
}
.p-product-list__wrapper {
  width: 0.77rem;
  height: 0.88rem;
  position: relative;
  flex: none;
}
@media screen and (min-width: 768px) {
  .p-product-list__wrapper {
    width: 1.2rem;
    height: 1.37rem;
  }
}
.p-product-list__wrapper img {
  display: block;
  width: 100%;
  height: 100%;
}
.p-product-list__wrapper figcaption {
  position: absolute;
  left: 50%;
  bottom: -0.05rem;
  transform: translate(-50%, 100%);
  white-space: nowrap;
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.1rem;
  line-height: 0.14rem;
  letter-spacing: 0.03em;
  font-weight: 800;
  text-align: center;
  max-width: unset;
}
@media screen and (min-width: 768px) {
  .p-product-list__wrapper figcaption {
    bottom: -0.09rem;
    font-size: 0.16rem;
    line-height: 0.22rem;
  }
}
.p-product-list__wrapper figcaption::before {
  content: "";
  display: inline-block;
  width: 0.08rem;
  height: 0.08rem;
  border-radius: 100%;
  border: 0.015rem solid #171717;
  margin-right: 0.02rem;
  position: relative;
  top: 0.01rem;
}
@media screen and (min-width: 768px) {
  .p-product-list__wrapper figcaption::before {
    width: 0.1rem;
    height: 0.1rem;
  }
}
.p-product-list--black::before {
  background-color: #171717;
}

.p-content {
  color: #CD0000;
  width: 100%;
  padding-left: 0.15rem;
  padding-right: 0.15rem;
}
@media screen and (min-width: 768px) {
  .p-content {
    width: 50%;
    padding-left: unset;
    padding-right: unset;
  }
}
.p-content img {
  display: block;
}
.p-content h3 {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.22rem;
  line-height: 0.4rem;
  letter-spacing: 0;
  font-weight: 700;
  margin-bottom: 0.2rem;
}
@media screen and (min-width: 768px) {
  .p-content h3 {
    font-size: 0.28rem;
    line-height: 0.48rem;
    margin-bottom: 0.4rem;
  }
}
.p-content h3 i {
  font-style: normal;
  font-size: 0.65em;
  display: inline-block;
  position: relative;
  top: -0.54em;
}
.p-content h4 {
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.2rem;
  line-height: 0.32rem;
  letter-spacing: 0;
  font-weight: 800;
  width: 3.05rem;
  height: 0.3rem;
  display: flex;
  align-items: center;
  padding-left: 0.11rem;
  border: 0.01rem solid #CD0000;
  margin-bottom: 0.2rem;
  padding-bottom: 0.02rem;
}
@media screen and (min-width: 768px) {
  .p-content h4 {
    padding-bottom: 0.04rem;
  }
}
.p-content p {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.16rem;
  line-height: 0.32rem;
  letter-spacing: 0;
  font-weight: 400;
  margin-bottom: 0.4rem;
}
.p-content p small {
  display: block;
  font-size: 0.12rem;
}
.p-content > *:last-child {
  margin-bottom: unset !important;
}
.p-content ul {
  display: flex;
  flex-direction: column;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.28rem;
  letter-spacing: 0;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-content ul {
    font-size: 0.16rem;
    line-height: 0.36rem;
  }
}
.p-content ul li {
  display: flex;
}
.p-content ul li::before {
  content: "・";
  flex: none;
}

.p-block {
  border: 0.01rem solid red;
  padding: 0.24rem 0.1rem 0.24rem 0.24rem;
  color: #CD0000;
  gap: 0.3rem;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-block {
    width: 9.8rem;
    margin: auto;
    flex-direction: row;
    padding: 0.27rem 0.3rem 0.42rem;
    gap: 0.45rem;
  }
}
@media screen and (min-width: 768px) {
  .p-block__right {
    width: 3.88rem;
  }
}
.p-block h3 {
  display: flex;
  flex-direction: column;
  margin-bottom: 0.17rem;
}
@media screen and (min-width: 768px) {
  .p-block h3 {
    margin-bottom: 0.32rem;
  }
}
.p-block h3 strong {
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.3rem;
  line-height: 0.41rem;
  letter-spacing: 0;
  font-weight: 900;
}
@media screen and (min-width: 768px) {
  .p-block h3 strong {
    font-size: 0.38rem;
    line-height: 0.52rem;
  }
}
.p-block h3 span {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0;
  font-weight: 500;
  display: block;
  margin-top: -0.04rem;
}
@media screen and (min-width: 768px) {
  .p-block h3 span {
    font-size: 0.18rem;
    line-height: 0.26rem;
    margin-top: -0.05rem;
  }
}
.p-block figure {
  display: flex;
  margin-top: 0.19rem;
  flex-direction: column;
  gap: 0.15rem;
}
@media screen and (min-width: 768px) {
  .p-block figure {
    flex-direction: row;
    gap: 0.2rem;
  }
}
@media screen and (min-width: 768px) {
  .p-block figure {
    margin-top: 0.3rem;
  }
}
.p-block figure img {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  -o-object-fit: contain;
     object-fit: contain;
  height: 0.57rem;
}
@media screen and (min-width: 768px) {
  .p-block figure img {
    width: 2.65rem;
    height: 0.9rem;
  }
}
.p-block figure figcaption {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.16rem;
  line-height: 0.32rem;
  letter-spacing: 0;
  font-weight: 400;
  white-space: nowrap;
}
.p-block p {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.16rem;
  line-height: 0.32rem;
  letter-spacing: 0;
  font-weight: 400;
  margin-top: 0.13rem;
}
@media screen and (min-width: 768px) {
  .p-block p {
    margin-top: 0.3rem;
  }
}

.p-color {
  display: flex;
  align-items: center;
  gap: 0.09rem;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-color::before {
    content: "color";
    font-family: "Nunito Sans", sans-serif;
    font-size: 0.15rem;
    line-height: 0.21rem;
    font-weight: 800;
  }
}
.p-color:not(:has(.p-color__elm)) {
  display: none;
}
.p-color__container {
  display: flex;
  flex-wrap: wrap;
  gap: 0.05rem;
}
.p-color__elm {
  display: flex;
  position: relative;
  width: 0.2rem;
  height: 0.2rem;
  cursor: pointer;
  transition: 0.3s;
  border: 1px solid #171717;
  border-radius: 100%;
}
.p-color__elm:focus::before {
  opacity: 1;
  width: 125%;
  height: 125%;
  border-color: #171717;
}
.p-color__elm:hover::before {
  opacity: 1;
  width: 125%;
  height: 125%;
  border-color: #171717;
}
.p-color__elm::before {
  content: "";
  opacity: 0;
  border: 1px solid #171717;
  position: absolute;
  max-width: unset;
  max-height: unset;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 100%;
  transition: 0.3s;
}
.p-color__elm--active::before {
  opacity: 1;
  width: 125%;
  height: 125%;
  border-color: #171717;
}
.p-color__elm--active::after {
  content: "";
  opacity: 0;
}
.p-color__elm--left {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color_left);
  overflow: hidden;
  border-radius: 0.5rem;
}
.p-color__elm--right {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  background-color: var(--color_right);
  overflow: hidden;
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}
.p-color__elm--secret:hover {
  outline: 0.01rem solid #CD0000 !important;
}
.p-color__elm--secret:hover::after {
  content: "";
  opacity: 0;
}
.p-color__elm--secret::after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.64);
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  background-image: url("../japanfit/img/common/question.svg");
  background-size: 0.06rem 0.1213rem;
  background-position: center;
  background-repeat: no-repeat;
  transition: 0.3s;
}
.p-color__small {
  position: absolute;
  bottom: -0.15rem;
  right: -0.3rem;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.08rem;
  line-height: 0.1rem;
  letter-spacing: 0;
  font-weight: 500;
}

.p-product {
  color: #CD0000;
}
.p-product__image {
  width: 100%;
  height: 4.94rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-product__image {
    width: 7.9rem;
    height: 6.75rem;
    position: absolute;
    right: -0.88rem;
    top: 1.4rem;
  }
}
.p-product__image--switch {
  display: none;
}
.p-product__image--switch#image1:checked ~ [data-image=image1] {
  opacity: 1;
  filter: blur(0);
  z-index: 10;
}
.p-product__image--switch#image2:checked ~ [data-image=image2] {
  opacity: 1;
  filter: blur(0);
  z-index: 10;
}
.p-product__image--switch#image3:checked ~ [data-image=image3] {
  opacity: 1;
  filter: blur(0);
  z-index: 10;
}
.p-product__image--switch#image4:checked ~ [data-image=image4] {
  opacity: 1;
  filter: blur(0);
  z-index: 10;
}
.p-product__image--switch#image5:checked ~ [data-image=image5] {
  opacity: 1;
  filter: blur(0);
  z-index: 10;
}
.p-product__image--switch#image6:checked ~ [data-image=image6] {
  opacity: 1;
  filter: blur(0);
  z-index: 10;
}
.p-product__image--switch#image7:checked ~ [data-image=image7] {
  opacity: 1;
  filter: blur(0);
  z-index: 10;
}
.p-product__image--switch#image8:checked ~ [data-image=image8] {
  opacity: 1;
  filter: blur(0);
  z-index: 10;
}
.p-product__image--wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: 0.3s;
  filter: blur(10px);
  pointer-events: unset;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.p-product__image--wrapper img {
  position: absolute;
  display: block;
  height: auto;
}
.p-product__image--wrapper img:nth-of-type(1) {
  top: 0;
  right: 0;
  width: 2.6rem;
}
@media screen and (min-width: 768px) {
  .p-product__image--wrapper img:nth-of-type(1) {
    width: 4.65rem;
  }
}
.p-product__image--wrapper img:nth-of-type(2) {
  bottom: 0;
  left: 0;
  width: 2.9rem;
}
@media screen and (min-width: 768px) {
  .p-product__image--wrapper img:nth-of-type(2) {
    width: 5.07rem;
  }
}
.p-product__image--wrapper--reverse img:nth-of-type(1) {
  z-index: 2;
}
.p-product__category {
  display: flex;
  align-items: center;
  gap: 0.14rem;
}
.p-product__category::before {
  content: "";
  width: 1.15rem;
  height: 0.38rem;
  background-image: url("/japanfit/img/common/japanfit.png");
  background-size: contain;
  background-repeat: no-repeat;
}
.p-product__category span {
  color: white;
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.19rem;
  line-height: 0.25rem;
  letter-spacing: 0;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 0.15rem;
  padding-right: 0.15rem;
  height: 0.28rem;
  background-color: #CD0000;
}
.p-product .p-color {
  margin-bottom: 0.28rem;
}
@media screen and (min-width: 768px) {
  .p-product .p-color {
    margin-bottom: 0.15rem;
  }
}
.p-product__top {
  margin-top: 0.28rem;
  padding-left: 0.1rem;
  padding-right: 0.1rem;
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .p-product__top {
    padding-left: unset;
    padding-right: unset;
    margin-bottom: 0.3rem;
  }
}
.p-product__name {
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.51rem;
  line-height: 0.7rem;
  letter-spacing: 0;
  font-weight: 900;
}
@media screen and (min-width: 768px) {
  .p-product__name {
    font-size: 0.74rem;
    line-height: 1.01rem;
    margin-bottom: -0.02rem;
  }
}
.p-product__info {
  display: flex;
  align-items: baseline;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.2rem;
  line-height: 0.29rem;
  letter-spacing: 0;
  font-weight: 500;
  flex-wrap: wrap;
  width: 4rem;
  margin-bottom: 0.2rem;
}
.p-product__info span {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  color: black;
}
.p-product__info #color-name {
  font-weight: 800;
}
.p-product__info #color-size {
  margin-left: 0.2rem;
  margin-right: 0.2rem;
  font-weight: 500;
}
.p-product__info #color-price {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.18rem;
  line-height: 0.24rem;
  letter-spacing: 0.015em;
  font-weight: 400;
  display: block;
  width: 100%;
}
.p-product__info small {
  color: #CD0000;
  margin-top: 0.05rem;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.08rem;
  line-height: 0.1rem;
  letter-spacing: 0;
  font-weight: 400;
}
.p-product__text {
  padding-left: 0.1rem;
  padding-right: 0.1rem;
}
@media screen and (min-width: 768px) {
  .p-product__text {
    padding-left: unset;
    padding-right: unset;
  }
}
.p-product__text h2 {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.2rem;
  line-height: 0.34rem;
  letter-spacing: 0;
  font-weight: 700;
  margin-bottom: 0.2rem;
}
@media screen and (min-width: 768px) {
  .p-product__text h2 {
    font-size: 0.32rem;
    line-height: 0.55rem;
  }
}
.p-product__text p {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.16rem;
  line-height: 0.32rem;
  letter-spacing: 0;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-product__text p {
    font-size: 0.18rem;
    line-height: 0.36rem;
  }
}

.p-accordion {
  display: flex;
  flex-direction: column;
  width: 100%;
  border-bottom: 0.01rem solid #CD0000;
}
.p-accordion__wrapper {
  display: flex;
  flex-direction: column;
}
.p-accordion__switch {
  display: none;
}
.p-accordion__switch:checked ~ .p-accordion__parent .p-accordion__parent--display::after {
  transform: translateY(-50%) rotate(0deg);
  opacity: 0;
}
.p-accordion__switch:checked ~ .p-accordion__child {
  height: auto;
  opacity: 1;
}
.p-accordion__parent {
  width: 100%;
  height: 0.38rem;
  border-top: 0.01rem solid #CD0000;
  position: relative;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.19rem;
  letter-spacing: 0;
  font-weight: 400;
  display: flex;
  align-items: center;
  gap: 0.04rem;
  cursor: pointer;
}
.p-accordion__parent::before {
  content: "";
  width: 0.13rem;
  height: 0.13rem;
  border-radius: 100%;
  background-color: #CD0000;
}
.p-accordion__parent span {
  padding-bottom: 0.02rem;
}
.p-accordion__parent--display {
  width: 0.16rem;
  height: 0.16rem;
  position: absolute;
  right: 0.09rem;
  top: 50%;
  transform: translateY(-50%);
}
.p-accordion__parent--display::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 0.015rem;
  background-color: #CD0000;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  transition: 0.3s;
}
.p-accordion__parent--display::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 0.015rem;
  background-color: #CD0000;
  top: 50%;
  left: 0;
  transform: translateY(-50%) rotate(-90deg);
  transition: 0.3s;
}
.p-accordion__child {
  width: 100%;
  height: 0;
  overflow: hidden;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.2rem;
  letter-spacing: 0;
  font-weight: 400;
  opacity: 0;
  transition: 0.3s;
}
.p-accordion__child dl {
  display: flex;
  flex-direction: column;
}
.p-accordion__child dl dt {
  width: 100%;
  height: 0.3rem;
  padding-left: 0.1rem;
  background-color: #F1E6DD;
  display: flex;
  align-items: center;
}
.p-accordion__child dl dd {
  width: 100%;
  min-height: 0.36rem;
  padding-top: 0.07rem;
  padding-bottom: 0.11rem;
  display: flex;
  align-items: center;
}
.p-accordion__child table {
  width: 100%;
  max-width: 100%;
}
.p-accordion__child table thead {
  background-color: #F1E6DD;
}
.p-accordion__child table thead td {
  padding-top: 0.05rem;
  padding-bottom: 0.05rem;
}
.p-accordion__child table thead td:nth-of-type(1)::before {
  content: "仕様";
  padding-left: 0.1rem;
  white-space: nowrap;
}
.p-accordion__child table thead td:nth-of-type(2)::before {
  content: "製品番号";
  white-space: nowrap;
}
.p-accordion__child table thead td:nth-of-type(3)::before {
  content: "定価(税込)";
  white-space: nowrap;
}
.p-accordion__child table tbody td {
  padding-top: 0.05rem;
  padding-bottom: 0.06rem;
}
.p-accordion__child table tbody tr {
  border-bottom: 0.01rem solid black;
}
.p-accordion__child table tbody tr:nth-last-of-type(1) {
  border-bottom: unset;
}
.p-accordion__child table td {
  vertical-align: middle;
}
.p-accordion__child table td:nth-of-type(1) {
  width: 1.44rem;
}
.p-accordion__child table td:nth-of-type(2) {
  width: 1.11rem;
}
.p-accordion__child table td:nth-of-type(3) {
  padding-left: 0.07rem;
  width: auto;
}

.p-parts {
  display: flex;
  flex-direction: column;
  gap: 0.47rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-parts {
    padding-left: 0.4rem;
    gap: 0.56rem;
  }
}
.p-parts__wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-parts__wrapper {
    gap: 0.47rem;
    flex-direction: row;
  }
}
.p-parts__left {
  flex: none;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-parts__left {
    width: 7.7rem;
  }
}
.p-parts__name {
  font-size: 0.14rem;
  line-height: 0.19rem;
  letter-spacing: 0.01em;
  font-weight: 700;
  margin-bottom: 0.05rem;
}
@media screen and (min-width: 768px) {
  .p-parts__name {
    font-size: 0.2rem;
    line-height: 0.27rem;
    letter-spacing: 0.01em;
    font-weight: 700;
    margin-bottom: 0.36rem;
  }
}
.p-parts__table {
  width: 100%;
}
.p-parts__table thead {
  border-bottom: 1px solid #707070;
}
.p-parts__table thead th {
  text-align: left;
  font-size: 0.1rem;
  font-weight: 400;
  line-height: 0.14rem;
  padding-bottom: 0.04rem;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .p-parts__table thead th {
    font-size: 0.15rem;
    line-height: 0.2rem;
    letter-spacing: 0.01em;
    padding-right: 1em;
    padding-top: 0.08rem;
    padding-bottom: 0.08rem;
  }
}
.p-parts__table thead th:nth-of-type(1) {
  width: 0.92rem;
}
@media screen and (min-width: 768px) {
  .p-parts__table thead th:nth-of-type(1) {
    width: 2.45rem;
    padding-left: 0.5em;
  }
}
.p-parts__table thead th:nth-of-type(2) {
  width: 1.1rem;
}
@media screen and (min-width: 768px) {
  .p-parts__table thead th:nth-of-type(2) {
    width: 2.33rem;
  }
}
.p-parts__table thead th:nth-of-type(3) {
  width: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-parts__table thead th:nth-of-type(3) {
    width: 1.86rem;
  }
}
.p-parts__table thead th:nth-of-type(4) {
  width: 0.45rem;
}
@media screen and (min-width: 768px) {
  .p-parts__table thead th:nth-of-type(4) {
    width: 0.95rem;
  }
}
.p-parts__table thead th span {
  display: inline-flex;
  align-items: baseline;
  transform: scale(0.9);
  transform-origin: left center;
  max-width: 111%;
  width: 111%;
}
@media screen and (min-width: 768px) {
  .p-parts__table thead th span {
    transform: unset;
    width: 100%;
    max-width: 100%;
  }
}
.p-parts__table thead th small {
  display: inline-block;
  transform: scale(0.8);
  transform-origin: left center;
}
@media screen and (min-width: 768px) {
  .p-parts__table thead th small {
    transform: unset;
  }
}
.p-parts__table tbody tr:nth-of-type(n+2) td {
  padding-left: unset;
}
.p-parts__table tbody td {
  text-align: left;
  font-size: 0.1rem;
  line-height: 0.13rem;
  font-weight: 400;
  padding-top: 0.03rem;
  padding-bottom: 0.03rem;
}
@media screen and (min-width: 768px) {
  .p-parts__table tbody td {
    font-size: 0.15rem;
    line-height: 0.2rem;
    letter-spacing: 0.01em;
    padding-right: 1em;
    padding-top: 0.08rem;
    padding-bottom: 0.08rem;
  }
}
@media screen and (min-width: 768px) {
  .p-parts__table tbody td:nth-of-type(1) {
    padding-left: 0.5em;
  }
}
.p-parts__table tbody td span {
  display: inline-flex;
  align-items: baseline;
  transform: scale(0.9);
  transform-origin: left center;
  max-width: 111%;
  width: 111%;
}
@media screen and (min-width: 768px) {
  .p-parts__table tbody td span {
    transform: unset;
    width: 100%;
    max-width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .p-parts__right {
    width: 4.42rem;
  }
}
.p-parts__direction {
  position: relative;
  width: 100%;
  height: 0.32rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.11rem;
  line-height: 0.15rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  border: 1px solid black;
  padding-bottom: 0.1em;
}
@media screen and (min-width: 768px) {
  .p-parts__direction {
    font-size: 0.16rem;
    line-height: 0.21rem;
    height: 0.44rem;
  }
}
.p-parts__direction::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 66%;
  transform: translateY(-50%);
  width: 0.0456rem;
  height: 0.0813rem;
  background-image: url("/japanfit/img/common/arrow_simple_bold_right.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .p-parts__direction::after {
    width: 0.06rem;
    height: 0.11rem;
  }
}
.p-parts__info {
  width: 100%;
  padding: 0.1rem;
  border: 1px solid black;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
@media screen and (min-width: 768px) {
  .p-parts__info {
    padding: 0.15rem;
  }
}
.p-parts__info--top {
  display: flex;
  align-items: center;
  gap: 0.13rem;
}
@media screen and (min-width: 768px) {
  .p-parts__info--top {
    gap: 0.2rem;
  }
}
.p-parts__info--slider {
  width: 1.58rem;
  height: 1.41rem;
  background-color: white;
  position: relative;
  flex: none;
}
@media screen and (min-width: 768px) {
  .p-parts__info--slider {
    width: 2.4rem;
    height: 2.4rem;
  }
}
.p-parts__info--slider--container {
  width: 100%;
  height: 100%;
}
.p-parts__info--slider--wrapper {
  width: 100%;
  height: 100%;
}
.p-parts__info--slider--slide {
  width: 100%;
  height: 100%;
  padding: 0.2rem;
}
.p-parts__info--slider--slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-parts__info--slider .swiper-button-prev {
  left: 0;
  transform: translateX(-40%) scaleX(-1);
  width: 0.2rem;
  height: 0.2rem;
}
@media screen and (min-width: 768px) {
  .p-parts__info--slider .swiper-button-prev {
    width: 0.27rem;
    height: 0.27rem;
  }
}
.p-parts__info--slider .swiper-button-prev::after {
  content: "";
  width: 100%;
  height: 100%;
  background-image: url("/japanfit/img/common/arrow_right_red.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
.p-parts__info--slider .swiper-button-next {
  right: 0;
  transform: translateX(40%);
  width: 0.2rem;
  height: 0.2rem;
}
@media screen and (min-width: 768px) {
  .p-parts__info--slider .swiper-button-next {
    width: 0.27rem;
    height: 0.27rem;
  }
}
.p-parts__info--slider .swiper-button-next::after {
  content: "";
  width: 100%;
  height: 100%;
  background-image: url("/japanfit/img/common/arrow_right_red.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
.p-parts__info--brand {
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.1rem;
  line-height: 0.13rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  display: block;
}
@media screen and (min-width: 768px) {
  .p-parts__info--brand {
    font-size: 0.12rem;
    line-height: 0.16rem;
    font-weight: 700;
  }
}
.p-parts__info--name {
  font-family: "Nunito Sans", sans-serif, "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  margin-bottom: 0.15rem;
  display: block;
}
@media screen and (min-width: 768px) {
  .p-parts__info--name {
    font-size: 0.21rem;
    line-height: 0.22rem;
    margin-top: unset;
    margin-bottom: 0.04rem;
  }
}
.p-parts__info--option {
  font-size: 0.12rem;
  display: flex;
  flex-direction: column;
  gap: 0.03rem;
}
.p-parts__info--option dl {
  margin-bottom: 0.05rem;
}
.p-parts__info--option dl dt {
  font-weight: 700;
}
.p-parts__info--option dl dd {
  font-weight: 400;
}
.p-parts__info--color {
  margin-bottom: 0.05rem;
}
@media screen and (min-width: 768px) {
  .p-parts__info--color {
    margin-bottom: 0.07rem;
  }
  .p-parts__info--color .p-color__elm {
    width: 0.14rem;
    height: 0.14rem;
  }
}
.p-parts__info--dd {
  display: flex;
  flex-direction: column;
  margin-top: 0.05rem;
}
@media screen and (min-width: 768px) {
  .p-parts__info--dd {
    flex-direction: row;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.04rem;
    margin-bottom: 0.17rem;
  }
}
.p-parts__info--dd strong,
.p-parts__info--dd i {
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.1rem;
  line-height: 0.14rem;
  letter-spacing: 0.05em;
  font-weight: 600;
  font-style: normal;
}
@media screen and (min-width: 768px) {
  .p-parts__info--dd strong,
  .p-parts__info--dd i {
    font-size: 0.14rem;
    line-height: 0.16rem;
  }
}
.p-parts__info--dd span {
  font-size: 0.12rem;
  line-height: 0.2rem;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-parts__info--dd span {
    font-size: 0.16rem;
    line-height: 0.22rem;
  }
}
.p-parts__info--message {
  display: block;
  font-size: 0.12rem;
  line-height: 0.2rem;
  font-weight: 400;
  margin-bottom: 0.17rem;
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-parts__info--message {
    text-align: left;
    font-size: 0.12rem;
    line-height: 0.18rem;
    font-weight: 400;
    margin-bottom: 0.2rem;
  }
}
@media screen and (min-width: 768px) {
  .p-parts__info--message br {
    display: none;
  }
}
.p-parts__info--caution {
  display: block;
  font-size: 0.1rem;
  line-height: 0.16rem;
  font-weight: 400;
  margin-bottom: 0.32rem;
}
@media screen and (min-width: 768px) {
  .p-parts__info--caution {
    margin-bottom: 0.2rem;
  }
}
.p-parts__info--subject {
  display: block;
  font-size: 0.12rem;
  line-height: 0.15rem;
  letter-spacing: 0.02em;
  font-weight: 900;
  margin-bottom: 0.05rem;
}
@media screen and (min-width: 768px) {
  .p-parts__info--subject {
    font-size: 0.12rem;
    line-height: 0.15rem;
    margin-bottom: 0.05rem;
  }
}
.p-parts__info--content {
  font-size: 0.1rem;
  line-height: 0.14rem;
  letter-spacing: 0.01em;
  margin-bottom: 0.15rem;
  display: block;
}
@media screen and (min-width: 768px) {
  .p-parts__info--content {
    font-size: 0.1rem;
    line-height: 0.13rem;
    margin-bottom: 0.39rem;
  }
}

.c-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1rem;
  transition: 0.3s;
  cursor: pointer;
  border: none;
  outline: none;
}
.c-btn:hover {
  opacity: 0.7;
}

.c-heading--large, .c-heading--large--right {
  position: relative;
}
.c-heading--large strong, .c-heading--large--right strong {
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.5rem;
  line-height: 0.68rem;
  letter-spacing: 0;
  font-weight: 900;
  color: rgba(205, 0, 0, 0.2);
  white-space: nowrap;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .c-heading--large strong, .c-heading--large--right strong {
    font-size: 0.74rem;
    line-height: 0.84rem;
  }
}
.c-heading--large strong small, .c-heading--large--right strong small {
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.34rem;
  line-height: 0.46rem;
  letter-spacing: 0;
  font-weight: 900;
  margin-top: -0.23rem;
}
@media screen and (min-width: 768px) {
  .c-heading--large strong small, .c-heading--large--right strong small {
    font-size: 0.43rem;
    line-height: 0.59rem;
    margin-top: -0.23rem;
  }
}
.c-heading--large span, .c-heading--large--right span {
  color: #CD0000;
  position: absolute;
  left: 0;
  bottom: -0.1rem;
  padding-bottom: 0.07rem;
  border-bottom: 0.01rem solid #CD0000;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.18rem;
  line-height: 0.26rem;
  letter-spacing: 0.1em;
  font-weight: 500;
  min-width: 1.24rem;
  rotate: 90deg;
  transform-origin: left bottom;
}
@media screen and (min-width: 768px) {
  .c-heading--large span, .c-heading--large--right span {
    bottom: -0.25rem;
  }
}
.c-heading--large--right {
  text-align: right;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}
.c-heading--large--right span {
  text-align: left;
  left: unset;
  right: -0.03rem;
  bottom: -1.67rem;
  transform-origin: top right;
}
@media screen and (min-width: 768px) {
  .c-heading--large--right span {
    right: 0;
    bottom: -1.82rem;
  }
}
.c-heading--vertical {
  color: #CD0000;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 0.18rem;
}
@media screen and (min-width: 768px) {
  .c-heading--vertical {
    margin-bottom: 0.51rem;
  }
}
.c-heading--vertical strong {
  font-family: "Nunito Sans", sans-serif;
  font-size: 0.38rem;
  line-height: 0.52rem;
  letter-spacing: 0;
  font-weight: 900;
}
.c-heading--vertical span {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.18rem;
  line-height: 0.26rem;
  letter-spacing: 0;
  font-weight: 500;
}

.c-overflow {
  width: 100%;
  overflow-x: scroll;
  padding-bottom: 0.1rem;
}
@media screen and (min-width: 768px) {
  .c-overflow {
    overflow-x: initial;
    padding-bottom: unset;
  }
}
.c-overflow--wrapper {
  max-width: unset;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .c-overflow--wrapper {
    max-width: 100%;
    width: 100%;
  }
}
.c-overflow--wrapper > * {
  max-width: unset;
}
@media screen and (min-width: 768px) {
  .c-overflow--wrapper > * {
    max-width: 100%;
    width: 100%;
  }
}

.c-table {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.21rem;
  letter-spacing: 0;
  font-weight: 400;
  width: 7rem;
}
@media screen and (min-width: 768px) {
  .c-table {
    width: 9.8rem;
  }
}
.c-table table {
  width: 100%;
}
.c-table td {
  vertical-align: middle;
  padding-left: 0.14rem;
  padding-right: 0.17rem;
  padding-top: 0.05rem;
  padding-bottom: 0.07rem;
  border-bottom: 0.01rem solid black;
}
@media screen and (min-width: 768px) {
  .c-table td {
    padding-left: 0.14rem;
    padding-right: 0.4rem;
    padding-top: 0.07rem;
    padding-bottom: 0.04rem;
  }
}
.c-table thead td {
  background-color: #F1E6DD;
  padding-top: 0.1rem;
  padding-bottom: 0.1rem;
  white-space: nowrap;
  border-bottom: unset;
}
.c-table small {
  letter-spacing: -0.106em;
}

.c-full {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  max-width: unset;
  width: 100vw;
}
@media screen and (min-width: 768px) {
  .c-full {
    width: 100%;
    max-width: 100%;
    position: initial;
    left: unset;
    transform: unset;
  }
}

.u-width, .u-width--335-1300, .u-width--335-1140, .u-width--335-980, .u-width--305-980 {
  box-sizing: border-box;
  width: 100%;
  padding-left: 0.35rem;
  padding-right: 0.35rem;
}
@media screen and (min-width: 768px) {
  .u-width, .u-width--335-1300, .u-width--335-1140, .u-width--335-980, .u-width--305-980 {
    padding: 0;
    width: 9.8rem;
    padding-left: unset;
    padding-right: unset;
    margin-left: auto;
    margin-right: auto;
  }
}
.u-width--335-980 {
  padding-left: 0.2rem;
  padding-right: 0.2rem;
}
@media screen and (min-width: 768px) {
  .u-width--335-980 {
    padding-left: unset;
    padding-right: unset;
  }
}
.u-width--335-1140 {
  padding-left: 0.2rem;
  padding-right: 0.2rem;
}
@media screen and (min-width: 768px) {
  .u-width--335-1140 {
    padding-left: unset;
    padding-right: unset;
    width: 11.4rem;
  }
}
.u-width--335-1300 {
  padding-left: 0.2rem;
  padding-right: 0.2rem;
}
@media screen and (min-width: 768px) {
  .u-width--335-1300 {
    padding-left: unset;
    padding-right: unset;
    width: 13rem;
  }
}

@media screen and (min-width: 768px) {
  .sp-only {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
}/*# sourceMappingURL=style.css.map */