@charset "UTF-8";
html {
	font-size: 3.125vw;
	/* w320px の際に10px */
	line-height: 1.5;
}
@media (min-width: 768px) {
	html {
		font-size: 10px;
		line-height: 1.5;
	}
}
body {
	margin: 0;
	font-size: 1.2rem;
	line-height: 1.5;
	color: #333333;
	font-family:"Jost","Noto Sans JP","游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif;
	font-optical-sizing: auto;
	/*font-feature-settings: "palt";*/
	word-break: break-all;
}

input[type="submit"],
input[type="button"],
input[type="reset"] {
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0 !important;
}


@media (min-width: 768px) {
	body {
		font-size: 1.5rem;
	}
}
img {
	max-width: 100%;
	vertical-align: top;
	font-size:1.0rem;
}
a:hover, a:focus {
	text-decoration: none;
}
@media (min-width: 768px) {
	a:hover, a:focus {
		text-decoration: underline;
	}
	a:hover img {
		opacity: 0.7;
	}
	a[href^="tel:"]{
		pointer-events: none;
	}
}



input[type="text"], input[type="tel"], input[type="email"], input[type="search"], input[type="password"], input[type="url"], input[type="number"], select, textarea {
	padding: 0.4rem;
	font-size: 16px;
}
input[type="text"],textarea {
	width: 100%;
	min-width: 50%;
	max-width: 100%;
}
select, textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
select::-ms-expand {
	display: none;
}
select {
	min-width: 10rem;
	padding: 0.6rem 2.2rem 0.6rem 0.5rem;
	background: #ffffff url(../../img/usr/common/icon_tri.png) calc(100% - 6px) 50% no-repeat;
}
input[type="submit"],input[type="button"],button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
input[type="radio"] ,input[type="checkbox"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin: 0;
	padding: 0;
	width: 1px;
	height: 1px;
	overflow: hidden;
	opacity: 0;
	display: inline;
}
label:not(.radio-wrap-label) > input[type="radio"] {
	-webkit-appearance: radio;
	-moz-appearance: radio;
	appearance: radio;
	opacity: 1;
	width: 1.8rem;
	height: 1.8rem;
	margin-right: 0.5rem;
}
label:not(.checkbox-wrap-label) > input[type="checkbox"] {
	-webkit-appearance: checkbox;
	-moz-appearance: checkbox;
	appearance: checkbox;
	opacity: 1;
	width: 1.8rem;
	height: 1.8rem;
	margin-right: 0.5rem;
}
label.checkbox-wrap-label ,label.checkbox-wrap-label span {
	display: inline-block;
	cursor: pointer;
}
input[type="radio"] + label ,input[type="checkbox"] + label ,label.checkbox-wrap-label span {
	position: relative;
	display: inline-block;
	padding-left: 1.5em;
}
input[type="radio"]:checked + label ,input[type="checkbox"]:checked + label ,label.checkbox-wrap-label input[type="checkbox"]:checked + span {
	color: #333333;
}
input[type="radio"] + label:before ,input[type="radio"] + label:after ,input[type="checkbox"] + label:before ,input[type="checkbox"] + label:after ,label.checkbox-wrap-label input[type="checkbox"] + span:before ,label.checkbox-wrap-label input[type="checkbox"] + span:after {
	position: absolute;
	content: '';
	display: block;
}
input[type="radio"] + label:before ,input[type="checkbox"] + label:before ,label.checkbox-wrap-label input[type="checkbox"] + span:before {
	left: 1px;
	top: 0.3em;
	width: 1em;
	height: 1em;
	border: solid 1px #3333335c;
	background: #ffffff;
}
input[type="radio"]:checked + label:before ,input[type="checkbox"]:checked + label:before ,label.checkbox-wrap-label input[type="checkbox"]:checked + span:before {
	border: solid 1px #3333335c;
}
input[type="radio"]:checked + label:after ,input[type="checkbox"]:checked + label:after ,label.checkbox-wrap-label input[type="checkbox"]:checked + span:after {
	/*left: 0.1em;
	top: 0.25em;
	transform: rotate(-40deg);
	width: 1.0em;
	height: 0.6em;
	border-left: solid 2px #333333;
	border-bottom: solid 2px #333333;*/
    position: absolute;
    content: '';
    left: 0;
    top: 0.25em;
    display: block;
    width: 19.7px;
    height: 19.7px;
    background-color: #000;
    border-radius: 3px;
    background-image: url(/img/usr/common/filter_icon_checked.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 10px 8px;
}
body .fieldset .form-control .checktype_name, body .fieldset .form-control .checktype_kana {
	display: inline-flex;
}
.checktype_name label,.checktype_kana label {
	width: 4em;
	text-align: left;
	padding-top: 0.4em;
}
.checktype_name input[type="text"],.checktype_kana input[type="text"] {
	flex-grow: 1;
}
input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
input[type="number"] {
	-moz-appearance:textfield;
}
input[type="number"]::-ms-clear {
visibility:hidden}
@media (max-width: 767px) {
	select[name^="yy_birth"] {
		width: 6em!important;
		min-width: 6em!important;
	}
	select[name^="mm_birth"] {
		width: 4em!important;
		min-width: 4em!important;
	}
	select[name^="dd_birth"] {
		width: 4em!important;
		min-width: 4em!important;
	}
}
@media (min-width: 768px) {
	
input[type="radio"]:checked + label:after ,input[type="checkbox"]:checked + label:after ,label.checkbox-wrap-label input[type="checkbox"]:checked + span:after {
    width: 16px;
    height: 16px;
	image-rendering: -webkit-optimize-contrast;

}
	input[type="radio"] + label ,input[type="checkbox"] + label {
		font-size: 1.4rem;
		padding-left: 1.8rem;
	}
	input[type="radio"] + label:before ,input[type="checkbox"] + label:before {
		left: 0.1rem;
		top: 0.3em;
		width: 1.2rem;
		height: 1.2rem;
	}
	input[type="radio"]:checked + label:after ,input[type="checkbox"]:checked + label:after {
		left: 0.0rem;
		width: 1.5rem;
		/*height: 0.6rem;*/
	}
	.fieldset .form-control .checktype_name + .checktype_name, .fieldset .form-control .checktype_kana + .checktype_kana {
		margin-left: 1.5rem;
	}
}
input[name="name"],input[name="name2"],input[name="kana"], input[name="kana2"] ,input[name="s_name"],input[name="s_name2"],input[name="s_kana"], input[name="s_kana2"] {
	max-width: 20rem!important;
	min-width: auto;
}
input[name="tel"] {
	max-width: 15rem!important;
	min-width: auto;
}
input[name^="zip"] {
	min-width: 10rem;
	max-width: 10rem;
}
input[name="nickname"] {
	max-width: 34rem!important;
	min-width: auto;
}
/* PC・SP非表示 */
@media (max-width: 767px) {
	.only__pc {
		display: none!important;
	}
	.only__sp {
		display: block!important;
	}
	span.only__sp,img.only__sp {
		display: inline-block!important;
	}
}
@media (min-width: 768px) {
	.only__sp {
		display: none!important;
	}
	.only__pc {
		display: block!important;
	}
	span.only__pc,img.only__pc {
		display: inline-block!important;
	}
}
h1, .h1 {
	margin: 0 0 1.0rem;
	padding: 0 0 0.5rem;
	border: none;
	border-bottom: solid 1px #f3efef;
	text-align: center;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.2;
}
.pane-main h1,.pane-main .h1 {
	margin-left: -3.125%;
	margin-right: -3.125%;
	padding-left: 3.125%;
	padding-right: 3.125%;
	font-size: 1.2rem;
	line-height: 2rem;
}
@media (min-width: 768px) {
	h1, .h1 {
		font-size: 2.0rem;
		margin-bottom: 3.8rem;
		padding-bottom: 0.8rem;
	}
	.pane-main h1,.pane-main .h1 {
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
	    font-size: 1.6rem;
	}
}
h2 {
	margin: 1.4rem 0;
	font-size: 1.4rem;
	font-weight: bold;
	letter-spacing: 1px;
}
@media (min-width: 768px) {
	h2 {
		font-size: 2.8rem;
	}
}
textarea {
	resize: vertical;
}
.btn {
	display: inline-block;
	margin: 0;
	text-align: center;
	vertical-align: middle;
	cursor: pointer;
	white-space: nowrap;
	padding: 0.5rem 1.0rem;
	min-width: 12em;
	font-size: 1.4rem;
}
@media (min-width: 768px) {
	.btn:hover {
		opacity: 0.7;
	}
}
.btn-default {
	padding: 0.8rem 1.0rem;
	color: #ffffff;
	border: solid 1px #444;
	background: #444;
}
@media (min-width: 768px) {
	.btn-default {
		font-size: 1.6rem;
		padding: 1.0rem;
	}
}
.btn-primary {
	padding: 0.8rem 1.0rem;
	color: #ffffff;
	border: solid 1px #444;
	background: #444;
}
@media (min-width: 768px) {
	.btn-primary {
		font-size: 1.6rem;
		padding: 1.0rem;
	}
}
.btn-secondary {
	color: #ffffff;
	border: solid 1px #b1b1b1;
	background: #b1b1b1;
}
.btn-danger {
	color: #333333;
	border: solid 1px #333333;
	background-color: #ffffff;
}
.action-buttons {
	margin: 1.8rem auto 0;
	width: 93.75%;
	/*max-width: 360px;
	*/
	text-align: center;
	display: block;
}
.pane-main .action-buttons {
	width: 100%;
}
.action {
	display: block;
	margin: 0;
	/*max-width: 360px;
	*/
}
.action + .action {
	margin-top: 1.0rem;
}
.action .btn {
	width: 95%;
	margin: 0 auto;
	padding: 0.9rem 1.0rem;
	font-size: 1.5rem;
	font-weight: bold;
	min-width: 14rem;


}
@media (min-width: 768px) {
	.action-buttons {
		max-width: 360px;
	}
	.action + .action {
		margin-top: 1.4rem;
	}
	.action .btn {
		padding: 1.2rem 1.0rem;
		font-size: 1.6rem;
		font-weight: normal;
	}
}
.form-error {
	color: #be0d23;
}
.optimaized-h1 {
	position: absolute;
	left: 0;
	top: 0;
	max-width: 100%;
	overflow:hidden;
	margin: 0;
	padding: 0;
	border: none;
	text-align: left;
	font-size: 1.0rem;
	font-weight: normal;
}
@media (max-width: 767px) {
	.optimaized-h1 span {
		display: block;
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
.header-banner1{
	margin: 3% 2%;

}
}
@media (min-width: 768px) {
	.optimaized-h1 {
		/*position: fixed;*/
		position: absolute;
		left: 0;
		top: 36px;
		width: 100%;
		z-index: 100000;
		padding: 0.5rem 0 0;
	}
	.optimaized-h1 span {
		display: block;
		max-width: 1080px;
		margin: 0 auto;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		padding: 0 0.5rem;
	}
}
.legend {
	margin: 0 0 0.8rem;
	padding: 0;
	font-size: 1.4rem;
	font-weight: bold;
	border: none;
}
.help-block {
	font-size: 1.0rem;
	color: #999999;
}
.price {
	color: #333333;
	font-weight: normal;
}
.price__sale {
color: #be0d23!important}
/* --- font --- */
.font-weight__bold {
	font-weight: bold;
}
.font-color__red {
	color: #be0d23;
}
.font-color__gray {
	color: #be0d23;
}
/* --- common parts --- */
.btn-common01 {
	position: relative;
	display: block;
	margin: 0;
	border: solid 1px #333333;
	/*border-radius: 5px;*/
	text-align: center;
	padding: 0.8rem 1.5rem;
}
/*.btn-common01:after {
	content: '';
	display: inline-block;
	position: absolute;
	right: 0.7rem;
	top: calc(50% - 0.25rem);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0.25rem 0 0.25rem 0.5rem;
	border-color: transparent transparent transparent #333333;
}*/

@media (min-width: 768px) {
	.btn-common01 {
		padding: 1.0rem 2.4rem;
	}
	.btn-common01:after {
		right: 1.2rem;
		top: calc(50% - 0.4rem);
		border-width: 0.4rem 0 0.4rem 0.8rem;
	}
	
.header-banner1{
	margin: 1.3% auto;
    width: calc(200px + 40%);
    max-width: 600px;
    min-width: 250px;
}
}
.title-common01 {
	padding-bottom: 2.8%;
	margin: 3% 0 2%;
	/*margin: 0 -3.125% 1.8rem;
	padding: 0 3.125% 0.5rem;*/
	border: none;
	border-bottom: solid 1px #f3efef;
	text-align: center;
	font-size: 1.4rem;
	letter-spacing: 1px;
	font-weight: bold;
	line-height: 1.2;
}


@media (min-width: 768px) {
	.title-common01 {
		font-size: 2.0rem;
		margin-left: 0;
		margin-right: 0;
		padding-bottom: 2rem;
		/*margin-bottom: 3.8rem;
		padding-bottom: 0.8rem;*/
	}
}
@media (max-width: 767px) {
	body.page-top .pane-main .title-common01,body.page-cart .pane-main .title-common01,body.page-method .pane-main .title-common01,body.page-estimate .pane-main .title-common01 {
		margin-left: 0;
		margin-right: 0;
	}
	#block_of_itemhistory .title-common01 {
		margin-left: 0;
		margin-right: 0;
	}
}
.parts_attr1text {
	display: inline;
}
.mfp-bg {
	z-index: 100004!important;
}
.mfp-wrap {
	z-index: 100005!important;
}
.modal-dialog {
	max-width: 93%;
}
/* マイサイズ表 */
.mysize-matrix--wrap {
	margin: 0 auto;
}
.mysize-matrix--frame + .mysize-matrix--frame {
	margin-top: 1.5rem;
}
.mysize-matrix--frame ul {
	display: flex;
	flex-flow: wrap;
	align-items: stretch;
	margin: 0 0 0.4rem;
}
.mysize-matrix--frame ul li {
	position: relative;
	width: calc(20% - 0.33rem);
	margin: 0 0 0 0.4rem;
	overflow: hidden;
}
.mysize-matrix--frame ul li:nth-child(5n+1) {
	margin-left: 0;
}
.mysize-matrix--frame ul li label {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	cursor: pointer;
}
.mysize-matrix--frame ul li.v-item__noitem label {
	opacity: 0.5;
}
.mysize-matrix--frame ul li.v-item__noitem label:before {
	position: absolute;
	right: -50%;
	top: 40%;
	z-index: 10;
	display: block;
	content: '';
	width: 180%;
	height: 0;
	border-top: solid 1px #aaaaaa;
	transform: rotate(-42deg);
}
.mysize-matrix--frame ul li label span {
	width: 100%;
	height: 100%;
	min-height: 4.0rem;
	border: solid 1px #cccccc;
	background: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 0.4rem 0.3rem;
	font-size: 1.3rem;
}
.mysize-matrix--frame ul li label input[type="radio"] ,.mysize-matrix--frame ul li label input[type="checkbox"] {
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.mysize-matrix--frame ul li label input[type="radio"]:checked + span ,.mysize-matrix--frame ul li label input[type="checkbox"]:checked + span {
	background: #f3a8a0;
}
body .lightboxOverlay {
	z-index: 99999;
}
body .lightbox {
	z-index: 100000;
}
body .lb-nav a.lb-prev,body .lb-nav a.lb-next {
	opacity: 1;
}
@media (max-width: 767px) {
	body .lightbox {
		position: fixed;
		top: 50%!important;
		transform: translateY(-50%);
		max-width: 100vw!important;
		max-height: 90vh!important;
	}
}
.block-promotion-freespace:not(:empty) {
	margin: 0 0 2rem;
    color: #be0d23;
    font-weight: bold;
    background: #fcf6f6;
    padding: 3% 0;
}


/* chatbot */
.embeddedServiceSidebar.sidebarMaximized {
	z-index: 500000!important;
}
/* color tip */
ul.goods-color-code ,
ul.goods-color-code * {
font-size: 0;
line-height: 1;
}
ul.goods-color-code {display: flex;width: 100%;flex-wrap: wrap;margin-bottom: 2%;}
ul.goods-color-code li {
width: 11.5%;
max-width: calc(1.7rem + 0.2rem);
margin: 0;
line-height: 1.0;
}
.goods-color-code--point {
position: relative;
display: block;
margin: 0 0.2rem;
width: calc(100% - 0.4rem);
height: 0;
padding: 0 0 calc(100% - 0.4rem - 2px);
font-size: 0;
border-radius: 100%;
border: solid 1px #dddddd;
overflow: hidden;
}
.goods-color-code--point.st__no-white {
border: none;
padding: 0 0 calc(100% - 0.4rem);
}

.slick-arrow.slick-disabled {
	pointer-events: none;
	cursor: default;
	opacity: 0;
}

@media (min-width: 768px) {
.block-promotion-freespace:not(:empty) {
  margin: 0 auto 2rem;
  padding: 1% 0;
}
}