﻿@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 {
	font-size: 2.6rem;
	font-weight: bold;
}
.top-common-tit01 span + 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-height: 90vh;
    overflow-y: auto;
    scrollbar-width: thin;
}

#lightbox.lightbox .lb-dataContainer {
  position: fixed;
  width: auto!important;
  left: 0;
  right: 0;
  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: 0;
}
.lb-container .lb-nav a.lb-next {
  right: 0;
}
/* 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/usr/common/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;
  }
}

