@charset "UTF-8";
:root {
  --usr-scrollbar-width: 0;
  --vw: 1vw;
  --text-color: #333333;
  --color-red: #E60012;
  --color-gray: #6E6E6E;
  --scrollbar: 15px;
  --fullWindowSize: calc(100vw - var(--scrollbar));
  --animation: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  --font-default: "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  --font-jost: "Jost", "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
@media screen and (max-width: 767px) {
  :root {
    --vw: calc(768px / 100) !important;
  }
}
html {
  font-family: var(--font-default);
  font-size: calc(10 / 390 * 100vw);
}
@media screen and (max-width: 767px) {
  .only__pc {
    display: none !important;
  }
}
body {
  font-size: 1.4rem;
  line-height: 1.6;
  font-feature-settings: "palt";
  letter-spacing: 1px;
}
body.body-fixed {
  position: fixed;
  left: 0;
  right: 0;
}
._dummyblock {
  border: solid 1px #ccc;
  margin: 0;
  padding: 1.5rem;
  text-align: center;
}
body {
  font-family: var(--font-default);
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 500;
  color: var(--text-color);
}
.container {
  margin: 0 auto;
  width: calc(100dvw - 4.0rem);
}
a {
  color: inherit;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}
input[type="text"], input[type="tel"], input[type="email"], input[type="search"], input[type="password"], input[type="url"], input[type="number"], select, textarea {
  border-radius: 0;
}
input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  width: 2.0rem;
  height: 2.0rem;
  border-radius: 0;
  vertical-align: top;
  margin: 0 0.8rem 0 0;
  padding: 0;
  background: url(../../img/usr/common/checkbox_off.png) center / contain no-repeat;
}
input[type="checkbox"]:checked {
  background-image: url(../../img/usr/common/checkbox_on.png);
}
input[type="radio"] {
  -webkit-appearance: none;
  appearance: none;
  width: 2.0rem;
  height: 2.0rem;
  border-radius: 0;
  vertical-align: top;
  margin: 0 0.8rem 0 0;
  padding: 0;
  background: url(../../img/usr/common/radio_off.png) center / contain no-repeat;
}
input[type="radio"]:checked {
  background-image: url(../../img/usr/common/radio_on.png);
}
input[name="pwd_display"] {
  margin-top: 5px;
}
.page-estimate input[name="pwd_display"] {
  margin-top: 5px;
}
h1, .h1 {
  margin: 0 0 1.8rem;
  padding: 0;
  background: none;
  border: none;
  font-size: 2.5rem;
  font-weight: bold;
  color: var(--text-color);
}
h2, .h2 {
  margin: 0 0 1.8rem;
  padding: 0;
  background: none;
  border: none;
  font-size: 2.1rem;
  font-weight: bold;
  color: var(--text-color);
}
h3, .h3 {
  margin: 0 0 1.8rem;
  padding: 0;
  background: none;
  border: none;
  font-size: 1.8rem;
  font-weight: bold;
  color: var(--text-color);
}
h4, .h4 {
  margin: 0 0 1.8rem;
  padding: 0;
  background: none;
  border: none;
  font-size: 1.6rem;
  font-weight: bold;
  color: var(--text-color);
}
h5, .h5 {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  font-size: 1.4rem;
  font-weight: bold;
  color: var(--text-color);
}
h6, .h6 {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  font-size: 1.2rem;
  font-weight: bold;
  color: var(--text-color);
} /* parts */ .color__red {
  color: var(--color-red);
}
.color__white {
  color: #FFFFFF;
}
.color__gray {
  color: var(--color-gray);
}
.weight__bold {
  font-weight: bold;
}
.weight__mediam {
  font-weight: 500;
}
.text-indent {
  padding-left: 1em;
  text-indent: -1em;
} /* tit */ .top-common-tit01 {
  margin-bottom: 1.8rem;
}
.top-common-tit01 span, .top-common-tit01 h2 {
  font-size: 2.6rem;
  font-weight: bold;
  margin-bottom: 0;
}
.top-common-tit01 span + span, .top-common-tit01 h2 + span {
  display: block;
  margin: 0 0 0 0.3rem;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 1.0px;
  color: var(--color-red);
  line-height: 1.2;
}
.block-goods-list--pager-top { /*display: none;*/
}
.price {
  color: var(--text-color);
}
.price::after, .default-price::after {
  content: "（税込）";
}
.net::after, .net-price::after, .default-net::after {
  content: "（税抜）";
}
.star-base {
  width: 110px;
  height: 22px;
  background-position: 0 0;
  background-size: 110px 44px;
}
.star-select {
  width: 110px;
  height: 22px;
  background-position: -110px -22px;
  background-size: 110px 44px;
}
.fieldset .form-control {
  padding-left: 12px;
} /* lightbox.css override */ /*  Preload images */ body:after {
  content: url(../../img/sys/close.png) url(../../img/sys/loading.gif) url(../../img/sys/prev.png) url(../../img/sys/next.png);
  display: none;
}
body .lightboxOverlay {
  z-index: 99999;
}
body .lightbox {
  z-index: 100000;
  position: fixed;
  left: 0;
  right: 0;
  top: 5vh !important;
  bottom: 5vh !important;
}
body .lb-outerContainer {
  width: auto !important;
  height: auto !important;
  max-width: 80vw !important;
  max-height: 90vh !important;
}
.lightbox .lb-image {
  border: none !important;
  border-radius: 0 !important;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
}
#lightbox.lightbox .lb-image-container {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  max-width: 90vw;
  max-height: 90vh;
  overflow-y: auto;
  scrollbar-width: thin;
}
#lightbox.lightbox .lb-dataContainer {
  position: fixed;
  width: auto !important;
  left: 1vw;
  right: 1vw;
  top: 0;
}
.lb-container .lb-nav {
  position: fixed;
  left: 0;
  right: 0;
  top: 50%;
  height: 0;
}
.lb-container .lb-nav a.lb-prev, .lb-container .lb-nav a.lb-next {
  position: absolute;
  top: -2.85rem;
  width: 4.0rem;
  height: 5.7rem;
  opacity: 1;
  filter: invert(88%) sepia(61%) saturate(0%) hue-rotate(229deg) brightness(107%) contrast(101%);
}
.lb-container .lb-nav a.lb-prev {
  background: url(../../img/usr/icon_detail_arrow_l.png) center / 1.0rem auto no-repeat;
}
.lb-container .lb-nav a.lb-next {
  background: url(../../img/usr/icon_detail_arrow_r.png) center / 1.0rem auto no-repeat;
}
.lb-container .lb-nav a.lb-prev {
  left: 1vw;
}
.lb-container .lb-nav a.lb-next {
  right: 1vw;
} /* fade image in after load */ .lazyload {
  opacity: 0;
}
.lazyloading {
  opacity: 1;
}
.lazyloaded {
  opacity: 1;
  transition: opacity 200ms;
}
.action .btn {}
.btn {
  color: #ffffff;
  font-size: 1.4rem;
  font-weight: 500;
  transition: all 0.3s;
}
.btn-default {
  background: #B4B4B4;
  border-color: #B4B4B4;
}
.btn-primary {
  background: var(--color-red);
  border-color: var(--color-red);
}
.btn-secondary {
  background: #333333;
  border-color: #333333;
}
.btn-danger {
  color: var(--text-color);
  font-size: 1.3rem;
  font-weight: normal;
  background: #F9F8F6;
  border: solid 1px #F9F8F6;
  border-radius: 3px;
} /*  swiper */ .wrapper .swiper-button-next, .wrapper .swiper-button-prev {
  display: block;
  width: 2.4rem;
  height: 0.8rem;
  margin: 0;
}
.wrapper .swiper-button-next {
  right: 0;
}
.wrapper .swiper-button-prev {
  left: 0;
}
.wrapper .swiper-button-next:after, .wrapper .swiper-button-prev:after {
  display: none;
}
.wrapper .swiper-button-next {
  background: url("../../img/arrow_0_right.png") center / contain no-repeat;
}
.wrapper .swiper-button-prev {
  background: url(../../img/usr/common/arrow_0_left.png) center / contain no-repeat;
}
.wrapper .swiper:not(.swiper-initialized) .swiper-button-next, .wrapper .swiper:not(.swiper-initialized) .swiper-button-prev {
  display: none !important;
}
.wrapper .swiper-buttons:has(.swiper-button-prev.swiper-button-disabled):has(.swiper-button-next.swiper-button-disabled) {
  display: none !important;
} /* TVCMモーダル */ .js-movie-modal {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 50000;
  display: flex;
  align-items: center;
  justify-content: center;
  visibility: hidden;
  opacity: 0;
  transition: all 0.5s;
  pointer-events: none;
}
.js-movie-modal.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.js-movie-modal .js-movie-modal-bg {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 5;
  background: rgba(0, 0, 0, 0.7);
}
.js-movie-modal .js-movie-modal-container {
  position: relative;
  z-index: 10;
  background: #ffffff;
  width: calc(100% - 4.0rem);
  max-width: min(calc(960px + 1.6rem), 80vw);
  max-height: min(calc(570px + 1.6rem), 80vh);
  padding: 0.8rem 0.8rem 0.8rem;
}
.js-movie-modal .js-movie-modal-close {
  display: block;
  position: absolute;
  right: 0;
  top: -2.5rem;
  width: 2.0rem;
  height: 2.0rem;
}
.js-movie-modal .js-movie-modal-close::before, .js-movie-modal .js-movie-modal-close::after {
  display: block;
  content: '';
  width: 1.8rem;
  height: 1px;
  background: #ffffff;
  position: absolute;
  top: 50%;
  right: 0;
}
.js-movie-modal .js-movie-modal-close::before {
  transform: rotate(45deg);
}
.js-movie-modal .js-movie-modal-close::after {
  transform: rotate(-45deg);
}
.js-movie-modal .js-movie-modal-inner {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.js-movie-modal .js-movie-modal-inner iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.js-movie-modal.js-movie-modal__vertical .js-movie-modal-container {
  width: calc(100% - 4.0rem);
  max-width: calc(640px * 9 / 16);
  max-height: min(640px, 80vh);
}
.js-movie-modal.js-movie-modal__vertical .js-movie-modal-inner {
  position: relative;
  width: 100%;
  padding-top: calc(100% * 16 / 9);
} /* スクロールで表示される */ .scroll-item {
  position: absolute;
  visibility: hidden;
  opacity: 0;
  transition: var(--animation) .3s;
  pointer-events: none;
}
.scroll-item.is-active {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.scroll-item .scroll-item--body {}
.scroll-item.is-active .scroll-item--body {}
.scroll-item.is-active .scroll-item--body {}
.scroll-item.floatin .scroll-item--body {
  position: relative;
  top: 50px;
  transition-delay: .3s;
  transition: var(--animation) .3s;
}
.scroll-item.is-active.floatin .scroll-item--body {
  position: relative;
  top: 0;
}
@keyframes fadeInAnimation {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
} /* スクロールストップ */ body:has(.pswp[aria-hidden="false"]) {
  overflow: hidden;
}