@charset "utf-8";
/* CSS Document */

/*================================
	Base
=================================*/

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-text-size-adjust: auto;
}
body {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	line-height: 1.4;
	font-feature-settings: "palt";
	letter-spacing: 0.03em;
/*	padding-bottom: 54px;*/
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
a:link {
	text-decoration: underline;
}
.pc_view .smp_img,
.smp_view .pc_img {
	display: none !important;
}

.b_menu {
	display: none;
}

.tmp_cart_item {
	display: none;
}
.rm_open {
	cursor: pointer;
}

.smp_view .remodal {
    padding: 35px 12px;
}
.smp_view .swiper-button-next, 
.smp_view .swiper-rtl .swiper-button-prev {
    right: 0;
}
.smp_view .swiper-button-prev,
.smp_view .swiper-rtl .swiper-button-next {
    left: 0;
}
.cart_icon {
    font-size: 10px;
	position: fixed;
    display: inline-block;
    width: 60px;
    height: 60px;
    text-align: center;
	background: #95dae3;
    border-radius: 9999px;
	cursor: pointer;
	bottom: 10px;
	left: 10px;
	z-index: 99999999;
}
.pc_view .cart_icon {
    width: 80px;
    height: 80px;
    font-size: 12px;
	top: 20px;
	left: 20px;
	bottom: auto;
}
.cart_icon > div {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
	text-align: center;
}

@media (min-width: 1000px) {
	.pc_view .cart_icon {
		  left: 50%;
	    transform: translateX(-550px);
	}
}

.cart_btn {
	margin: 14px auto 28px;
	width: 80%;
}
.cart_btn p {
  position: relative;
    cursor: pointer;
    width: 100%;
    display: block;
    border: none;
    border-radius: 6px;
    background-color: #30ab19;
    color: #fff;
    font-size: 20px;
    padding: 0;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
	text-align: center;
}
.cart_btn a {
	text-decoration: none;
	color: #fff;
	display: block;
    padding: 16px 0;
}

.js-cart-badge {
    position: absolute;
	top: 0;
	right: 2px;
    z-index: 1;
    width: 16px;
    height: 16px;
    font-size: 10px;
    line-height: 16px;
    font-weight: normal;
    color: #FFFFFF;
    background: #FF0004;
    border-radius: 50%;
}
.pc_view .js-cart-badge {
    top: 5px;
    right: 8px;
}
.js-cart-badge:empty {
    display: none;
}
/*
.l-main {
    background-image:url(img/btg_bg_pc.png);
    background-position:top center;
    background-size:contain;
	position: relative;
}
.l-contents {
	    background: none;
   background-image:url(img/btg_fv_frame_pc.png);
    background-repeat: no-repeat;
    background-position:top center;
    background-size: contain;
}
*/
.l-contents__frame {
    width: 100%;
    padding: 0;
    margin: 0 auto;
background: var(--color__gray--lighter) !important;
}

.pc_view .cont_wrap,
.pc_view .cont_top_block {
	width: 750px;
 /*   width: var(--width-base);
    padding: 30px 0;*/
    margin: 0 auto;
}
.cont_top_wrap {
/*    background-image:url(img/btg_bg_pc.png);
    background-position:top center;
    background-size:contain;
	position: relative;*/
}
.cont_top_inner {
/*   background-image:url(img/btg_fv_frame_pc.png);
    background-repeat: no-repeat;
    background-position:top center;
    background-size: contain;*/
}
/*
.pc_view .cont_top_inner {
    background-size: cover;
}
*/
.cont_top_block {
	padding: 0 0 20px;
}
.pc_view .cont_top_block {
	padding: 0;
}

.cont_top_block .btg_top_title {
	width: 65%;
	margin: 0 auto 16px;
}

.pc_view .cont_top_block .btg_top_title {
	width: 70%;
	margin: 0 auto 26px;
}
.cont_top_block .btg_top_all {
/*	width: 100%;
	margin: 0 auto;
*/
}
.btg_top_all.smp_img {
	padding: 0 16px;
}
.cont_top_block .btg_top_all img {
	margin: 0 auto;
}
.pc_view .l-main,
.pc_view .l-contents {
	min-width: 980px;
}
.cont_wrap {
	background: #fff;
}
.smp_view .cont_top {
	display: none;
}
.item_list {
    background: white;
    padding: 16px;
    margin: 0 16px;
}
.swiper {
	width: 100%;
    height: auto;
	z-index: 1;
	overflow: hidden;
	position: relative;
}

.swiper-slide {
	position: relative;
}
.swiper-slide a {
	display: block;
}

.swiper-pagination-bullets {
  position: static !important;
  margin-top: 12px;
} 

.swiper-pagination-bullet {
  width: 12px !important;
  height: 12px !important;
  margin: 0 0 0 10px !important;
  background: #333 !important;
}

.swiper-pagination-bullet:first-child {
  margin: 0 !important;
}

.swiper-button-prev,
.swiper-button-next {
/*	fill: #8c8c8c;
	stroke: none;
	stroke-width: 0;*/
	z-index: 10000;
/*	width: 20px;
	margin-top: -18px;*/
/*	background-image: none;*/
}

/* 前ページ、次ページボタン共通のスタイル */
/* 前ページボタンのスタイル */
/*
.swiper-button-prev::after {
	font-family: 'Material Symbols Rounded';
	content: '\e5e0';
}
*/
/* 次ページボタンのスタイル */
/*
.swiper-button-next::after {
	font-family: 'Material Symbols Rounded';
	content: '\e5e1';
}
*/

.swiper-button-prev > span {
  display: inline-block;
  vertical-align: middle;
  color: #333;
  line-height: 1;
  position: relative;
  width: 1em;
  height: 1em;
  transform: translateX(25%) rotate(-135deg);
	text-indent: -9999999px;
	opacity: .5;
}

.swiper-button-prev > span::before, .swiper-button-prev > span::after {
  content: '';
  position: absolute;
  background: currentColor;
  border-radius: 0.1em;
	font-size: 16px;
}

.swiper-button-prev > span::before {
  top: 0;
  left: 0;
  right: 0;
  height: 0.1em;
}

.swiper-button-prev > span::after {
  top: 0;
  right: 0;
  bottom: 0;
  width: 0.1em;
}

.swiper-button-next > span {
  display: inline-block;
  vertical-align: middle;
  color: #333;
  line-height: 1;
  position: relative;
  width: 1em;
  height: 1em;
  transform: translateX(-25%) rotate(45deg);
	text-indent: -9999999px;
	opacity: .5;
}

.swiper-button-next > span::before, .swiper-button-next > span::after {
  content: '';
  position: absolute;
  background: currentColor;
  border-radius: 0.1em;
	font-size: 16px;
}

.swiper-button-next > span::before {
  top: 0;
  left: 0;
  right: 0;
  height: 0.1em;
}

.swiper-button-next > span::after {
  top: 0;
  right: 0;
  bottom: 0;
  width: 0.1em;
}

.swiper-pagination-bullet-active {
	background: #fff;
}

.swiper {
  position: relative; 
}
.swiper::before {
  content: "";
  display: block;
  padding-top: calc(100% + (100% / 9));
}
.swiper-wrapper {
  position: absolute; 
  top: 0;
  left: 0;
}
.slider-thumbnail .swiper-wrapper {
  position: absolute;
	top: auto;
  bottom: 0;
  left: 0;
	height: auto;
}

.slider-thumbnail .swiper-slide-thumb-active {
	border: 2px solid #CD0205;
}

.swiper-wrapper img {
    width: 100%;
    height: auto;
}
.slider-thumbnail .swiper-slide {
    height: auto !important;
}
.remodal-close {
	left: auto !important;
	right: 0;
}

.pc_view .remodal {
	max-width: 1200px !important;
	min-width: 980px !important;
}
.pc_view .rm_cart {
	max-width: 850px !important;
    min-width: 750px !important;
	height: 80%;
}
#if_cart {
	width: 100%;
    min-height: 50vh;
	margin: 0 auto;
}
.pc_view #if_cart {
	width: 90%;
    height: 80%;
}
.pc_view .rm_top_block {
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
	-webkit-box-pack:space-between;
	-moz-box-pack:space-between;
	-webkit-flex-pack:space-between;
	-moz-flex-pack:space-between;
	-ms-flex-pack:space-between;
	-webkit-justify-content:space-between;
	-moz-justify-content:space-between;
	justify-content:space-between;
}
.rm_top_block > div {
	flex: 1;
	margin-bottom: 28px;
}
.pc_view .rm_top_block .rm_top_img {
	padding: 0 80px 0 45px;
}
.rm_top_block .rm_top_txt {
	text-align: left;
}
.rm_top_block .rm_item_name {
	font-size: 24px;
	font-weight: 700;
/*	margin-bottom: 20px;*/
}
.rm_top_block .rm_item_capa {
    font-size: 16px;
    background-color: #F2F2F2;
    padding: 4px 8px;
	text-align: center;
	margin-bottom: 28px;
}
.rm_top_block .rm_item_price {
	font-size: 28px;
	line-height: 1;
	margin-bottom: 20px;
	display: none;
}
.rm_top_block .rm_item_price em {
	font-size: 2em;
	font-weight: 800;
	font-style: normal;
}
.rm_top_block .rm_price_down .rm_item_price {
	color: #c30d23;
}
.rm_top_block .rm_price_down .rm_nomal_price {
	font-size: 22px;
	line-height: 1;
	margin-bottom: 10px;
}
.rm_top_block .rm_price_down .rm_nomal_price em {
	font-size: 1em;
	font-weight: 600;
	font-style: normal;
}
.rm_top_block .rm_price_down .rm_off {
	display: inline-block;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	padding: 6px 14px;
	background: #c30d23;
	color: #FFFFFF;
	border-radius: 9999px;
	margin: 6px 0 0;
}

.rm_top_block .add_c_btn {
	margin-top: 35px;
}

.rm_top_block .add_c_btn .item_btn,
.rm_top_block .add_c_btn .set_btn {
  position: relative;
    cursor: pointer;
    width: 100%;
    display: block;
    border: none;
    border-radius: 6px;
    background-color: #FC7C00;
    color: #fff;
    font-size: 20px;
    padding: 16px 0;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
	margin-bottom: 28px;
	text-align: center;
}

.rm_top_block .cart_in_comp .item_btn,
.rm_top_block .cart_in_comp .set_btn {
    background-color: #30ab19;
}

.rm_top_block .rm_item_txt {
	text-align: left;
    padding: 28px 0 0;
    border-top: 1px solid #402000;
    line-height: 1.8;
    font-size: 16px;
}

.rm_item_dtl {
    border-color: #402000;
    border-width: 2px 0 2px 0;
    border-style: solid;
    padding: 20px 0;
	margin-bottom: 16px;
	text-align: left;
}

.rm_item_dtl dl {
    margin-bottom: 16px;
}
.pc_view .rm_item_dtl > dl {
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
	-webkit-box-pack:space-between;
	-moz-box-pack:space-between;
	-webkit-flex-pack:space-between;
	-moz-flex-pack:space-between;
	-ms-flex-pack:space-between;
	-webkit-justify-content:space-between;
	-moz-justify-content:space-between;
	justify-content:space-between;
}
.pc_view .rm_item_dtl ol,
.pc_view .rm_item_dtl ul {
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 0;
	padding-bottom: 0;
}
.rm_item_dtl > dl > dt {
    color: #B52B00;
    font-weight: bold;
    margin-right: 1em;
    font-size: 18px;
}

.rm_item_dtl dl dd {
    margin: 0;
    font-size: 18px;
}

.pc_view .rm_item_dtl dl {
    padding: 0 40px;
}

.pc_view .rm_item_dtl > dl > dt {
    width: 6em;
}
.pc_view .rm_item_dtl dl dd {
	width: calc(100% - 6em);
}



.item_list > ul {
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;

	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}
.item_list > ul > li {
	width: calc(100% / 2);
	padding: 10px;
	margin-bottom: 16px;
}
.pc_view .item_list > ul > li {
	width: calc(100% / 4);
}




@keyframes anim-loading {
  0%, 80%, 100% {
    box-shadow: 0 2.5em 0 -1.3em;
  }
  40% {
    box-shadow: 0 2.5em 0 0;
  }
}

.c_btn_loading .item_btn,
.cart_in_comp .item_btn,
.c_btn_loading .set_btn,
.cart_in_comp .set_btn {
  pointer-events: none;
}
.c_btn_loading .c_btn_txt {
	opacity: 0;
}
.c_btn_loading .c_btn_loading {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -7.5px 0;
  font-size: 3px;
  line-height: 1;
  transform: translateZ(0) translate(-50%, -50%);
  animation-delay: -0.08s;
}
.c_btn_loading .c_btn_loading, .c_btn_loading .c_btn_loading::before, .c_btn_loading .c_btn_loading::after {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  animation: anim-loading 0.9s infinite ease-in-out;
  animation-fill-mode: both;
}
.c_btn_loading .c_btn_loading::before, .c_btn_loading .c_btn_loading::after {
  position: absolute;
  top: 0;
  content: "";
}
.c_btn_loading .c_btn_loading::before {
  left: -9px;
  animation-delay: -0.16s;
}
.c_btn_loading .c_btn_loading::after {
  left: 9px;
}


.cart_wrap {
	text-align: center;
}
.cart_txt {
    position: relative;
    cursor: pointer;
 /*   width: 100%;*/
    display: inline-block;
    border: none;
    border-radius: 6px;
    background-color: #000000;
    color: #fff;
    font-size: 20px;
	font-weight: 700;
    padding: 12px 100px;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
    margin-bottom: 28px;
    text-align: center;
}



body.pc_view .smp_img,
body.smp_view .pc_img {
	display: none !important;
	visibility: hidden !important;
}


.btg_tokuten_list {
	margin: 0 12px 0;
    background: white;
/*    padding: 4px;*/
    border: 4px solid #ffd600;

	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}
.btg_tokuten_list li {
	width: calc(100% / 2);
	padding: 4px 6px 8px;

}
.btg_tokuten_list li:nth-of-type(1),
.btg_tokuten_list li:nth-of-type(2) {
	border-bottom: 2px solid #ccc;
}
.btg_tokuten_list li:nth-of-type(odd) {
border-right: 2px solid #ccc;
}

.tl_rm_btn p {
	background: #ce0827;
    margin: 4px auto;
    color: #fff;
    font-size: 14px;
    line-height: 30px;
    text-align: center;
    border-radius: 6px;
}
.remodal.rm_tokuten {
	padding: 35px 10px;
}
.tokuten_inner {
	margin-bottom: 16px;
}


.smp_view .btg_top_title {
	width: 95%;
    margin: 0 auto 10px;
}

/*================================
	spec
=================================*/


.rm_item_dtl ul,
.rm_item_dtl ol {
	margin: 0;
	padding-left: 0;
}
.rm_item_dtl ol > li ol {
	padding-left: 1.5em;
}


.rm_item_dtl ol.sbno_list {
	list-style-type: none;
	padding-left: 2em;
}
.rm_item_dtl ol.sbno_list > li {
	counter-increment: cnt;
}
.rm_item_dtl ol.sbno_list > li::before {
	content: "（"counter(cnt) "）";
	display:inline-block;
	margin-left:-2em;
	width: 2em;
}

.rm_item_dtl ul.circle_list {
	list-style-type: none;
	padding-left: 1.5em;
}
.rm_item_dtl ul.circle_list > li::before {
	content: "◦";
	display:inline-block;
	margin-left:-1.5em;
	width: 1.5em;
}

.rm_item_dtl ul.disc_list {
	list-style-type: none;
	padding-left: 1.5em;
}
.rm_item_dtl ul.disc_list > li::before {
	content: "•";
	display:inline-block;
	margin-left:-1.5em;
	width: 1.5em;
}

.rm_item_dtl ol.no_list {
	padding-left: 1.5em;
}



.ym_wrap {
	background: #eaf2f9;
	padding: 16px 10px;
	margin-bottom: 60px;
}

.set_item_list_wrap {
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;

	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}

.set_item_list_wrap > .item_wrap {
/*	width: calc(100% / 2);*/
	width: calc((100% - 6px) / 2);
    margin-bottom: 6px;
}
.set_item_list_wrap > .item_wrap:nth-of-type(odd){
	margin-right: 6px;
}
.set_item_list_wrap > .item_wrap .item_inner {
	background: #FFFFFF;
	padding: 4px;
}
.pc_view .set_item_list_wrap > .item_wrap .item_inner {
	padding: 6px;
}
.rm_ym_item_cont {
	margin: 8px 0 12px;
}
.rm_ym_item_cont dt {
	font-weight: 600;
}
.rm_ym_item_cont dd ul {
    list-style-type: none;
    padding-left: 1.5em;
}
.rm_ym_item_cont dd ul > li::before {
    content: "◦";
    display: inline-block;
    margin-left: -1.5em;
    width: 1.5em;
}
.smp_view .rm_ym_item_cont dd ul > li {
    font-size: 14px;
}
.ym_set .rm_item_name {
    border-bottom: 2px solid #ccc;
    padding-bottom: 6px;
    margin-bottom: 12px;
}

.smp_view .ym_set .ym_set_txt {
	font-size: 20px;
	display: block;
}
.ym_set .rm_item_price em {
    font-size: 1.5em;
}



/*acodion*/
.pc_view .accordion {margin: 0 180px;}
.accordion {padding: 20px 0;}
.accordion img{widows: 100%;}
.toggle {
	display: none;
}
.Label {		/*タイトル*/
	padding: 0.3em 1em;
	font-size: 13px;
	display: block;
	color: #113961;
	background:#dff0f4;
}
.Label::before{		/*タイトル横の矢印*/
	content:"";
	width: 5px;
	height: 5px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 3px );
	right: 20px;
	transform: rotate(135deg);
}
.Label,
.content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
.content {		/*本文*/
	height: 0;
	font-size: 12px;
	margin-bottom:3px;
	padding:0 20px;
	overflow: hidden;
}
.toggle:checked + .Label + .content {	/*開閉時*/
	height: auto;
	padding:20px ;
	transition: all .3s;
}
.toggle:checked + .Label::before {
	transform: rotate(-45deg) !important;
}