/*==================
	装飾/部品
====================*/
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;
	vertical-align:baseline;
	background:transparent;
}
*,
*:after,
*:before {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin:0;
	padding:0;
	list-style: none;
	font-size: 14px;
}
a,a *{
	text-decoration: none;
	transition: all .2s linear;
	color: inherit;
}
:hover,
:focus,
:hover,
:focus{
	border: none;
    outline: none;
}
input [type="button"]{
	/*border: 0;*/
	outline: 0;
	transition: .2s all;
}
input::placeholder ,
input:-ms-input-placeholder,
input::-ms-input-placeholder {
  color: rgba(65, 72, 68, .5);
}
strong{
	font-weight: bold;
}
:root{
	--main-green: #1DA63D;
	--light-green: #E8F6EB;
	--reb: #C30712;
	--text: #414844;
}
html{
	color: #414844;
}
html,
body{
	overflow-x: hidden;
	height: auto;
	width: auto;
	max-width: 100vw;
}
main{
	min-height: 100vh;
	display: block;
}
.clear-both{
	clear: both;
}
.display-none{
	display: none;
}
.display-block{
	display: block;
}
.display-inlineblock{
	display: inline-block;
}
.transfomt-center-center{
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
/* flexbox */
.flex-wrap{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flex-nowrap{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
}
.flex-top-start{
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
}
.center-center{
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

/* 余白 */
.mgn-b-30{
	margin-bottom: 30px;
}
.mgn-b-15{
	margin-bottom: 15px;
}
.pdng-30{
	padding: 30px;
}
.pdng-15{
	padding: 15px;
}

/* 最大幅 */
.width-1123{
	margin-left: auto;
	margin-right: auto;
	padding-left: 15px;
	padding-right: 15px;
	height: auto;
	width: 100%;
	max-width: 1123px;
}
.width-993{
	margin-left: auto;
	margin-right: auto;
	width: calc( 100% - 30px );
	max-width: 993px;
}
.width-824{
	margin-right: auto;
	margin-left: auto;
	width: 100%;
	float: right;
}
.width-100p{
	height: auto;
	width: 100%;
}

/* フォント・テキスト */
.text-green {
	color: #1DA63D;
}
.text-red {
	color: #E50A17;
}
.text-white {
	color: #ffffff!important;
}
.text-center {
	text-align: center;
}
.text-left {
	text-align: left;
}
.text-right {
	text-align: right;
}
.text-palt {
	font-feature-settings: "palt" 1;
}
.text-purple {
	color: purple;
}

/* 背景 */
.green-back {
	background-color: #1DA63D;
}
.lightgreen-back {
	background-color: #E8F6EB;
}
.gray-back {
	background-color: #FAFAFA;
}
.yellow-back {
	background-color: #FFF8D4;
}

/* ボーダー */
.border-b-gray {
	border-bottom: 1px solid #EDEDED;
}
.border-green {
	border: 1px solid #1DA63D;
	border-radius: 3px;
}
/* ボタン ー　ラップ */
.wrap-btn-round.flex-wrap{
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	margin: 15px auto;
}

/* ボタン ー 背景緑　角丸　白文字 */
.btn-green-round,
button.btn-green-round{
	display: block;
	padding: 0 1em;
	background-color: #1DA63D;
	height: 40px;
	color: #fff;
	transition: .2s all;
	line-height: 38px!important;
	text-align: center;
	border-radius: 40px;
    cursor: pointer;
	border: 1px solid #1DA63D;
    font: 700 14px Noto Sans CJK JP;
}
.btn-green-round02{
	display: block;
	padding: .2em 1em;
	background-color: #1DA63D;
	height: auto;
	color: #fff;
	transition: .2s all;
	text-align: center;
	border-radius: 40px;
    cursor: pointer;
	border: 1px solid #1DA63D;
    font: 700 14px Noto Sans CJK JP;
}
.btn-green-round::before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 18px;
    width: 25px;
    background-image: url(../image/icon-cart-white.svg);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: auto 16px;
}
.btn-green-round:hover,
.btn-green-round02:hover{
	border: 1px solid #1DA63D;
	background-color: #fff;
	color: #1DA63D;
}
.btn-green-round:hover::before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 18px;
    width: 25px;
    background-image: url(../image/icon-cart-green.svg);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: auto 16px;
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
.btn-green-round:hover::before{
    padding-left: 4px;
	width: 25px;
	background-size: 22px 21px;
}
}
.btn-next.btn-green-round {
	margin-top: 15px;
	position: relative;
}
.btn-next.btn-green-round::before{
	content: "";
	display: block;
	position: absolute;
	top: calc( 50% - 6px);
	right: 15px;
	vertical-align: middle;
	height: 6px;
    width: 14px;
	transform: rotate(-90deg);
    background-image: url("../image/icon-acd-down-white.svg");
    background-position: center left;
    background-repeat: no-repeat;
    background-size: contain;
}
.btn-next.btn-green-round:hover::before{
    background-image: url("../image/icon-acd-down-green.svg");
	z-index: 2;
}
@media screen and (max-width:360px) {
	.btn-green-round,
	button.btn-green-round{
	padding: 0 .5em;
	font: 400 12px Noto Sans CJK JP;
	}
}

/* ボタン ー　白　角丸 */
.btn-white-round,
button.btn-white-round{
	display: block;
	padding: 0 1em;
	background-color: #FFFFFF;
	height: 36px;
	transition: .2s all;
	line-height: 34px!important;
	text-align: center;
	border-radius: 40px;
    cursor: pointer;
	color: #1DA63D;
	border: 1px solid #1DA63D;
    font: 700 14px Noto Sans CJK JP;
}
.btn-white-round:hover{
	border: 1px solid #1DA63D;
	background-color: #1DA63D;
	color: #fff;
}
.btn-white-round::before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 18px;
    width: 25px;
    background-image: url("../image/icon-favorite-green.svg");
    background-position: top center;
    background-repeat: no-repeat;
    background-size: auto 16px;
}
.btn-white-round:hover::before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 18px;
    width: 25px;
    background-image: url("../image/icon-favorite-white.svg");
    background-position: top center;
    background-repeat: no-repeat;
    background-size: auto 16px;
}
@media screen and (max-width:360px) {
	.btn-white-round,
	button.btn-white-round{
	padding: 0 .5em;
	font: 400 12px Noto Sans CJK JP;
	}
}

/* ボタン ー　白背景　角丸　枠線灰色 */
.btn-gray-round,
button.btn-gray-round{
	display: block;
	padding: 0 1em;
	background-color: #FFFFFF;
	height: 36px;
	transition: .2s all;
	line-height: 34px!important;
	text-align: center;
	border-radius: 40px;
    cursor: pointer;
	color: #1DA63D;
	border: 1px solid #CCCCCC;
    font: 700 14px Noto Sans CJK JP;
}
.btn-gray-round:hover{
	opacity: .6;
}
.btn-back.btn-gray-round {
	margin-top: 15px;
	position: relative;
}
.btn-back.btn-gray-round::before{
	content: "";
	display: block;
	position: absolute;
	top: calc( 50% - 2px);
	left: 15px;
	vertical-align: middle;
	height: 6px;
    width: 14px;
	transform: rotate(90deg);
    background-image: url("../image/icon-acd-down-green.svg");
    background-position: center left;
    background-repeat: no-repeat;
    background-size: contain;
}
@media screen and (max-width:360px) {
	.btn-gray-round,
	button.btn-gray-round{
	padding: 0 .5em;
	font: 400 12px Noto Sans CJK JP;
	}
}

/* ボタン ー　背景緑　ふと文字　角3px */
.btn-green-square {
	padding: 0 1em;
	background-color: #1DA63D;
	height: 40px;
	color: #fff;
	line-height: 40px;
	text-align: center;
	border: 0;
	border-radius: 3px;
    cursor: pointer;
    font: 700 14px Noto Sans CJK JP;
}
.btn-green-square:hover {
	border: 1px solid #1DA63D;
	color: #1DA63D;background-color: #fff;
}

/* ボタン ー　背景なし　ふと文字　灰色 */
.btn-gray-square {
	padding: 0 1em;
	background-color: #ffffff;
	height: 40px;
	color: #CCCCCC;
	line-height: 40px;
	text-align: center;
	border: 1px solid #CCCCCC;
	border-radius: 3px;
    cursor: pointer;
    font: 700 14px Noto Sans CJK JP;
}
.btn-gray-square:hover {
	opacity: .6;
}

/* ボタン ー背景なし　ふと文字　緑 */
.btn-green-text ,
.main-search-complex-button {
	position: relative;
	color: #1DA63D;
	line-height: 14px;
	outline: none;
	height: 14px;
	border: 0;
	background-color: transparent;
}
.btn-green-text::before ,
.main-search-complex-button::before {
	content: ">";
	display:block;
	position:absolute;
	right:0;
	height:0;
	transform: scale(.5 ,1);
	pointer-events: none;
}
.btn-green-text:hover ,
.main-search-complex-button:hover {
	text-decoration: underline;
}
.btn-green-text:hover::before ,
.main-search-complex-button:hover::before {
	text-decoration: none;
}

/* すべて解除 ・　パスワードをお忘れの場合 */
button.btn-text-gray{
	display: inline-block;
	background-color: transparent;
	color: #888888;
	text-align: left;
    cursor: pointer;
	border: 0;
	line-height: 1;
    font: 300 13px Noto Sans CJK JP;
	text-decoration: underline;
}
button.btn-text-gray:hover{
	text-decoration: none;

}

/* ボタン - 選択中 */
.btn-refined-choise-sp{
	position: relative;
	display: inline-block;
	border: 1px solid #1DA63D;
	background-color: transparent;
	padding: 0 1.5em 0 .5em;
	width: auto;
	font-size: 12px;
	line-height: 20px;
	border-radius: 20px;
	color: #1DA63D;
}
.btn-refined-choise-sp::before ,
.btn-refined-choise-sp::after {
	content: "";
	position: absolute;
	right: 5px;
	top: 50%;
	height: 1px;
	width: 8px;
	background-color: #1DA63D;
}
.btn-refined-choise-sp::before {
	transform: rotate( 45deg );
}
.btn-refined-choise-sp::after {
	transform: rotate( 135deg );
}

/* ボタン - 表示方法切り替え */
.list-display{
	overflow: hidden;
	display: block;
	padding: 0;
	height: 30px;
	width: 30px;
	outline: none;
	border: none;
	border-width: 0;
	background-color: transparent;
	cursor: pointer;
}
.list-display:nth-of-type(2){
	margin-left: 15px;
}
.list-display i{
	display: block;
	height: 100%;
	width: auto;
}
.list-display:nth-of-type(1) i{
	background-image: url(../image/icon-productlist-list-01-gray.svg);
}
.list-display:nth-of-type(2) i{
	background-image: url(../image/icon-productlist-list-02-gray.svg);
}
.list-display:nth-of-type(1) i.icon-green{
	background-image: url(../image/icon-productlist-list-01-green.svg);
}
.list-display:nth-of-type(2) i.icon-green{
	background-image: url("../image/icon-productlist-list-02-green.svg");
}

/* もっと見るボタン */
.wrap-btn-position-pc{
	position: absolute;
	bottom: 0;
	right: 0;
	width: auto;
}
.wrap-btn-position-sp{
	position: absolute;
	top: 0;
	right: 0;
	padding: 7px 0;
	height: 32px;
	width: auto;
}
.wrap-btn-position-pc a,
.wrap-btn-position-sp a{
	padding-right: 1em;
}

/* sold out */
.sold-out .product-img-box::before{
	content: "SOLD OUT";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	padding: 62px 0;
	height: 100%;
	width: 100%;
	transform: translate(-50% , -50%);
	background-color: rgba( 0, 0, 0, .6);
	color: #FFF;
	font-size: 20px;
	text-align: center;
	line-height: 22px;
	z-index: 10;
}
.sold-out .btn-green-round {
	background-color: #EDEDED;
	border: 1px solid #EDEDED;
}
.sold-out .btn-green-round:hover {
	border: 1px solid #EDEDED;
	color: #fff;
}
.sold-out .btn-green-round:hover::before {
	background-image: url("../image/icon-cart-white.svg");
	color: #fff;
}
.product-list-02 .sold-out .product-img-box::before{
	padding: 18px 0;
}

/* 必須ラベル */
.required .ttl span{
	display: block;
	margin: 0 5px;
	padding: 2px .5em;
	height: 16px;
	background-color: #ED3434;
	color: #fff;
	font-size: 12px;
	line-height: 1;
}

/* 20%OFFラベル */
.label-discount{
	padding: 0 10px;
	background-color: #E50A17;
	font-size: 12px;
	line-height: 25px;
	color:#fff;
}

/* 医薬品分類ラベル */
.label-medicine{
	padding: 0 10px;
	font-size: 10px;
	line-height: 18px;
	color:#fff;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: inherit;
	-webkit-text-overflow: inherit;
	-o-text-overflow: inherit;
}
.bule{
	background-color: #117ABE;
}
.sky-bule{
	background-color: #18AEC9;
}
.gold{
	background-color: #D7BB6F;
}
.gray{
	background-color: #7E837E;
}
.red{
	background-color: #E50909;
}
.white{
	background-color: #fff;
	border: 1px solid #565C58;
	color: #565C58;
}
.img-self{
	position: absolute;
	bottom: 0;
	right: 0;
	display: block!important;
	background-image: url("../image/img-selfmedication.svg");
	height: 35px;
	width:80px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	color: transparent;
}
.img-keigen{
	display: block!important;
	background-image: url("../image/icon-keigenzeiritsu.svg");
	height: 31px;
	width: 31px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}

/*　パンくずリスト　*/
.breadcrumb {
	margin-left: -15px;
	margin-right: -15px;
	padding: 0 15px;
	width: calc( 100% + 30px);
	min-height: 35px;
	height: auto;
	background-color: #FAFAFA;
	white-space: nowrap;
	text-overflow: ellipsis;
	-webkit-text-overflow: ellipsis;
	-o-text-overflow: ellipsis;
}
.breadcrumb.ippan{
	margin-top: 15px;
}
.breadcrumb li{
	display: inline-block;
	position: relative;
	margin-right: 30px;
	height: 35px;
	line-height: 35px;
}
.breadcrumb li a{
	display: block;
	height: 100%;
	width: 100%;
	font-size: 12px;
	text-decoration: underline;
}
.breadcrumb li a:hover{
	text-decoration: none;
}
.breadcrumb li::before{
	content: ">";
	display: block;
	position: absolute;
	right: -22px;
	font-size: 15px;
	color: #AFAFAF;
}
.breadcrumb li:first-child,
.breadcrumb li:nth-child(2),
.breadcrumb li:nth-child(3){
	min-width: 3em;
}
.breadcrumb li:last-child{
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	-webkit-text-overflow: ellipsis;
	-o-text-overflow: ellipsis;
}
.breadcrumb li:last-child::before{
	display: none;
}

/* アコーディオン パーツ*/
.close{
	position: absolute;
	right: 0;
	top:0;
	width: 50px;
	height: 50px;
	border-width: 0;
	background-color: transparent;
}
.close::before ,
.close::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 15px;
	height: 1px;
	width: 50%;
	background-color: #888888;
}
.close::before {
	transform: rotate( 45deg );
}
.close::after {
	transform: rotate( -45deg );
}

/*アコーディオン　パーツ*/
.plus {
	position: relative;
}
.plus::before ,
.plus::after {
	content: "";
	position: absolute;
	right: 15px;
	top: 50%;
	height: 1px;
	width: 10px;
	background-color: #AFAFAF;
}
.plus::before {
	transform: rotate( 90deg );
}
input:checked + .plus::before {
	transform: rotate( 180deg );
}
input:checked + .plus::after {
	transform: rotate( 90deg );
	opacity: 0;
}


/* アコーディオンメニュー ナビ*/
#sp-drawernav ,
.sp-drawernav input[type=checkbox] ,
.footer-nav-check{
	display: none;
}
.pc-pdc01 + .step02,
.pc-pdc02 + .step02,
.pc-pdc03 + .step02,
.pc-pdc04 + .step02,
.pc-pdc05 + .step02,
.pc-pdc06 + .step02,
.pc-pdc07 + .step02{
	left: 50%;
	transform: translate(-50%, 0);
}
.step02-check a:hover{
 	background-color: #fff;
}
.step02-check > a:nth-of-type(1):hover ~ .step02-check > a:nth-of-type(3),
.step02-check > a:nth-of-type(2):hover + .step02-check > a:nth-of-type(3){
	background-color: #F5F5F5;
}
#sp-drawernav:checked ~ .sp-drawernav-toggle{
	left: calc( 100% - 45px);
	top: 15px;
	width: 30px;
}
#sp-drawernav:checked ~ .sp-drawernav-toggle > .horizontal ,
#sp-drawernav:checked ~ .sp-drawernav-toggle > .diagonal.part-1 ,
#sp-drawernav:checked ~ .sp-drawernav-toggle > .diagonal.part-2{
	background-color: #fff;
}
#sp-drawernav:checked ~ .sp-drawernav-toggle > .horizontal{
    opacity: 0;
}
#sp-drawernav:checked ~ .sp-drawernav-toggle > .diagonal.part-1 {
    transform: rotate(135deg);
    margin-top: 8px;
}
#sp-drawernav:checked ~ .sp-drawernav-toggle > .diagonal.part-2 {
    transform: rotate(-135deg);
    margin-top: -9px;
}
#sp-drawernav:checked ~ #sp-drawernav-box ,
#sp-drawernav-to-pdc01:checked ~ #innernav-pdc01 ,
#sp-drawernav-to-pdc02:checked ~ #innernav-pdc02 ,
#sp-drawernav-to-pdc03:checked ~ #innernav-pdc03 {
	overflow: scroll;
 	position: fixed;
    left: 0;
	top: 0;
}

/* アコーディオンメニュー */
.acd{
	position: relative;
}
.acd::before,
.acd::after{
	content: "";
	display: block;
	position: absolute;
	right: 15px;
	top: 22px;
	background-color: #F0F0F0;
	width: 12px;
	height: 1px;
	line-height: 0;
}
.acd::before{
	transform: rotate( 90deg );
}

/* アコーディオンメニュー 回転＞ */
.pull-down{
	position: relative;
}
.pull-down::after{
	content: "";
	display: inline-block;
	padding-left: 3px;
	transform: rotate(0deg);
	height: 6px;
	width: 16px;
	background-image: url("../image/icon-acd-down-white.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	vertical-align: middle;
	pointer-events: none;
}
.pull-down:hover::after{
	transform: rotate(180deg);
}
.news-label::before,
.ttl-footernav::before{
	content: "";
	display: block;
	position: absolute;
	right: 15px;
	transform: rotate(0deg);
	height: 8px;
	width: 14px;
	background-image: url("../image/icon-acd-down-green.svg");
	background-size: contain;
	vertical-align: middle;
	pointer-events: none;
}
nav input:checked + .pull-down::before,
.news input:checked + .news-label::before,
.footer-nav-box input:checked + .ttl-footernav::before{
	transform: rotate(180deg);
}
.news-check:checked + label + .news-content  {
	padding: 0 45px 15px 0;
}
.search-complex-contents,
.news-content,
.news-content a,
.footer-nav-content{
	overflow: hidden;
	height: 0;
	opacity: 0;
}
.acd-check:checked + .acd-label + .acd-content,
.search-complex-check:checked + .search-complex-contents,
.news-check:checked + label + .news-content ,
.news-check:checked + label + .news-content a ,
.footer-nav-check:checked + .footer-nav-label + .footer-nav-content{
	overflow: visible;
	visibility: visible;
	height: auto;
	opacity: 1;
}

/* transition */
.main-search-complex input:checked + label ,
.btn-gray-round,
.btn-gray-round:hover,
.coupon-box input:checked ~ .point-pay-content ,
.point-pay-content ,
.text-product-detail-explanation input:checked + label.down-border::before,
label.down-border::before,
.product-detail-explanation input:checked ~ .product-detail-explanation-contents,
.product-detail-explanation-contents,
.product-variation a,
.product-variation a:hover,
input:checked ~ .sp-drawer-step03,
.sp-drawer-step03,
.sp-drawernav-check:checked ~ .sp-drawernav-contents,
.sp-drawernav-contents,
nav input:checked + .pull-down::after,
.pull-down::after,
.pc-classification-step01 li:hover,
.pc-classification-step01 li,
aside .pc-refined-search-step03 li:hover ,
aside .pc-refined-search-step03 li,
input:checked + .plus::before ,
.plus::before ,
.btn-green-square ,
.btn-green-square:hover ,
.header-info li a,
.header-info li a:hover,
#sp-drawernav ,
.sp-drawernav input[type=checkbox] ,
#sp-drawernav-box ,
#innernav-pdc01 ,
#innernav-pdc02 ,
#innernav-pdc03 ,
#innernav-pdc01-ct01 ,
#innernav-pdc01-ct02 ,
#innernav-pdc01-ct03 ,
.sp-drawernav-toggle,
.acd-content,
#sp-drawernav:checked ~ #sp-drawernav-box ,
#sp-drawernav-to-pdc01:checked ~ #innernav-pdc01 ,
#sp-drawernav-to-pdc02:checked ~ #innernav-pdc02 ,
#sp-drawernav-to-pdc03:checked ~ #innernav-pdc03 ,
#sp-drawernav:checked ~ .sp-drawernav-toggle > .horizontal ,
#sp-drawernav:checked ~ .sp-drawernav-toggle > .diagonal.part-1 ,
#sp-drawernav:checked ~ .sp-drawernav-toggle > .diagonal.part-2,
.btn-green-text,
.btn-green-text:hover,
.pager-nxt:hover,
.pager-prv:hover,
.pager-nxt,
.pager-prv,
.pager span:hover,
.pager span,
.plus input[type="checkbox"]:checked .plus::before ,
.plus input[type="checkbox"] .plus::before ,
nav .step02,
nav .pc-pdc01:hover ~ .step02,
nav .step02:hover,
.pc-pdc01-01 ,
.pc-pdc01-02 ,
.pc-pdc01-03 ,
.pc-pdc01-01:hover ,
.pc-pdc01-02:hover ,
.pc-pdc01-03:hover ,
nav .step03,
.sp-refined-check02:checked + .sp-refined-step03,
.sp-refined-step03,
.sp-refined-search .sp-refined-content,
.sp-refined-search input:checked + .sp-refined-content ,
.pc-pdc01-02-link:hover ~ .step03 .pc-pdc01-02-item,
.step03 li:hover,.news-label::before,
.search-category-check,
.search-category-check:hover,
.search-complex a,
.search-complex a:hover,
.search-complex-contents,
.tags-box a,
.tags-box a:hover,
.news-content,
.news-content a,
.news-check:checked + .news-label::before,
.news-check:checked + .news-label + .news-content ,
.news-check:checked + .news-label+ .news-content a ,
.news-label:hover .ttl-news,
.news-label .ttl-news,
.ttl-footernav::before,
.footer-nav-box input:checked + .ttl-footernav::before,
.footer-nav-content,
.footer-nav-check:checked + .footer-nav-label + .footer-nav-content{
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}


/* セレクト */
.select-box,
.select-grayback {
	cursor: pointer;
	overflow: hidden;
	position: relative;
	padding-right: 15px;
	border-radius: 4px;
	text-align: left;
}
.select-box{
	background: #ffffff;
}
.select-grayback {
	background: #FAFAFA;
}
.select-box::before ,
.select-grayback::before ,
.select-box::after ,
.select-grayback::after {
	content: "";
	display:block;
	position:absolute;
	right: 10px;
	margin-left: 1em;
	z-index: 0;
	pointer-events: none;
	height: 0;
	width: 0;
	border-style: solid;
}
.select-box::before ,
.select-grayback::before  {
	top: 9px;
	transform: translate( 0, -20%);
	border-width: 0 5px 5px 5px;
	border-color: transparent transparent #1da63d transparent;
}
.select-box::after ,
.select-grayback::after {
	bottom: 5px;
	transform: translate( 0, -40%);
	border-width: 5px 5px 0 5px;
	border-color: #1da63d transparent transparent transparent;

}
select,
option{
	cursor: pointer;
	color: inherit;
	outline: 0;
	font-size: 13px;
}
select{
	padding: 0 .5rem;
	height: 100%;
	width: calc( 100% + 15px);
	line-height: 30px;
	font-size: 12px;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
select::-ms-expand {
    display: none;
}
option{
	position: absolute;
	bottom: 0;
	min-height: inherit;
}
.select-border{
	border: 1px solid #DDDDDD;
	border-radius: 3px;
}
@media all and (-ms-high-contrast: none) {
.select-box::before ,
.select-grayback::before  {
	top: 8px;
	transform: translate( 0, 0);
	border-width: 0 5px 5px 5px;
	border-color: transparent transparent #1da63d transparent;
}
.select-box::after ,
.select-grayback::after {
	bottom: 6px;
	transform: translate( 0, 0);
	border-width: 5px 5px 0 5px;
	border-color: #1da63d transparent transparent transparent;
}}

/* タイトル */
.ttl-ctn{
	margin-bottom: 20px;
	font-size: 24px;
	font-weight: bold;
	text-align: 1.5;
}
.ttl-product{
	font-size: 14px;
	font-weight: normal;
	text-align: 22px;
}
.ttl-innernav{
	position: relative;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
}
.ttl-innernav::before{
	content: "";
	display: block;
	position: absolute;
	left: 15px;
	top: 18px;
	height: 14px;
	width: 14px;
	background-image: url("../image/icon-back.svg");
	background-size: contain;
	vertical-align: middle;
	pointer-events: none;
}
.ttl-section{
	margin-bottom: 10px;
	font-size: 20px;
    line-height: 22px;
	font-weight: bold;
	text-align: left;
}
.ttl-section-sub{
	font-size: 18px;
    line-height: 20px;
	font-weight: bold;
	text-align: left;
}
.ttl-news{
	font-size: 15px;
	font-weight: bold;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-text-overflow: ellipsis;
	-o-text-overflow: ellipsis;
}
.ttl-product-detail{
	display: block;
	height: 100%;
	width: 100%;
	text-align: center;
	font-weight: bold;
	line-height: 1;
}
.ttl-product-detail-sub{
	padding-bottom: 15px;
	border-bottom: 1px solid #EDEDED;
	font-size: 18px;
	font-weight: bold;
	line-height: 1;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-text-overflow: ellipsis;
	-o-text-overflow: ellipsis;
}
.ttl-product-detail-sub-small{
	font-weight: bold;
	color: #1DA63D;
}

/* メンバー */
.member-platinum,
.member-gold ,
.member-silver,
.member-regular{
	font-weight: bold;
}
.member-platinum .member-lable{
	color: #5DBECC;
}
.member-gold .member-lable{
	color: #C0A022;
}
.member-silver .member-lable{
	color: #8B8980;
}
.member-regular .member-lable{
	color: #1DA63D;
}
.member-platinum::before{
	content: "";
	display: inline-block;
	margin: 0 5px 0 0;
	height: 20px;
	width: 20px;
	background-image: url("../image/icon-member-platinum.svg");
	background-size: contain;
	vertical-align: middle;
}
.member-gold::before{
	content: "";
	display: inline-block;
	margin: 0 5px 0 0;
	height: 20px;
	width: 20px;
	background-image: url("../image/icon-member-gold.svg");
	background-size: contain;
	vertical-align: middle;
}
.member-silver::before{
	content: "";
	display: inline-block;
	margin: 0 5px 0 0;
	height: 20px;
	width: 20px;
	background-image: url("../image/icon-member-silver.svg");
	background-size: contain;
	vertical-align: middle;
}
.member-regular::before{
	content: "";
	display: inline-block;
	margin: 0 5px 0 0;
	height: 20px;
	width: 20px;
	background-image: url("../image/icon-member-regular.svg");
	background-size: contain;
	vertical-align: middle;
}

/* user-name */
.user-name{
	display: inline-block;
	width: 10em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-text-overflow: ellipsis;
	-o-text-overflow: ellipsis;
}
.user-name + span{
	font-size: 12px;
}
/* point */
.user-points{
	width: 10em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-text-overflow: ellipsis;
	-o-text-overflow: ellipsis;
	text-align: right;
	font-weight: bold;
}
.user-points::after{
	content: "pt";
	font-weight: normal;
	padding-left: 3px;
}

/* ページネーション
	必ず親要素にrelativeをつける
	親要素はpadding-bottomを40px加算
*/
.pager{
	overflow: hidden;
	position: absolute;
	left: 50%;
	box-sizing: border-box;
	transform: translate(-50%, 0);
	bottom: 30px;
	margin: 0 auto;
	height: 40px;
	width: calc( 100% - 30px);
}
.pager.pager-nth{
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
	width: 100%;
	max-width: 390px;
    text-align: center;
}
.pager span{
	position: relative;
	width: 15px;
	height: 15px;
	opacity: .6;
}
.pager span::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate( -50%, -50%);
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background-color: #414844;
}
.pager.pager-nth > div{
	display: inline-flex;
}
.pager span:hover,
.pager span.now,
.pager-nxt:hover,
.pager-prv:hover{
	opacity: 1;
}
.pager-nxt,
.pager-prv,
.pager-nth button{
	border-radius: 3px;
	height: 40px;
	background-color: #fff;
	text-align: center;
	line-height: 1;
	vertical-align: middle;
    justify-content: center;
    align-items: center;
	align-content: center;
    cursor: pointer;
}
.pager-nth a{
	border-radius: 3px;
	height: 40px;
	background-color: #EDEDED;
	text-align: center;
	line-height: 1;
	vertical-align: middle;
    justify-content: center;
    align-items: center;
	align-content: center;
    cursor: pointer;
	font-size: 11px;
}
.pager-nth a.now,
.pager-nth a:hover{
	background-color: #1DA63D;
	color: #fff;
}
.check-history .pager-prv,
#top .pager-prv{
	position: absolute;
	left: 0;
}
.check-history .pager-nxt,
#top .pager-nxt{
	position: absolute;
	right: 1px;
}
.pager-nth button,
.pager-nth a{
	line-height: 40px;
}
.pager-nth .pager-prv,
.pager-nth a{
	margin-right: 4px;
}
.pager-nxt,
.pager-prv,
.pager-nth a{
	width: 40px;
}
.pager-nxt,
.pager-prv,
.pager-nth span{
	opacity: .6;
}
.pager-nth .pager-nxt,
.pager-nth .pager-prv{
	width: 54px;
	font-size: 11px;
}

.pager-abridgement{
	pointer-events: none;
}
/*.pager-prv::before{
	content: "<";
}
.pager-nxt::after{
	content: ">";
}
.pager-nxt::before,
.pager-prv::after{
	display: block;
	position: absolute;
	left: 5px;
	top:50px;
	font-size:30px;
	color: #1DA63D;
	z-index: 99;
}*/

/* カートの中の商品数 */
.header-cart {
	position: relative;
}
.cart-counter{
	position: absolute;
	top: -11px;
	right: -5px;
	z-index: 99;
	width: 22px;
	height: 22px;
	line-height: 20px;
	color: #fff;
	text-align: center;
	font-size: 10px;
	font-weight: bold;
}
.header-cart::before{
	content: "";
	display: block;
	position: absolute;
	top: -12px;
	right: -5px;
	z-index: 99;
	width: 22px;
	height: 22px;
	background-color: red;
	border-radius: 100%;
}

/* 検索ボックス */
.search-box{
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}
.search-box form{
	margin: 0;
	width: 100%;
}
.keyword-input{
	margin: 0;
	padding: 0 10px;
	width: calc( 100% - 2em - 20px);
	height: 30px;
	border: none;
	border-radius: 6px 0 0 6px;
	background-color: #ffffff;
	line-height: 30px;
	font-size: 12px;
}
.search{
	margin-left: -1px;
	padding: 0 1em;
	height: 30px;
	width: 4em;
	border: none;
	border-radius: 0 6px 6px 0;
	font-weight: 600;
	font-size: 13px;
}
.search i{
	display: block;
	height: 1em;
	width: 100%;
}

/* カレンダー */
.cal {
	border-collapse:collapse;
	border-spacing:0px;
	background: #FFF;
	font-size: 11px;
	margin-right: auto;
	margin-left: auto;
}
.cal td, .cal th{
	line-height: 1;
	text-align: center;
	padding: 7px 10px;
}
/*テーブル内のth(曜日)設定*/
.hcal{
	background: #1DA63D;
	color: #fff;
	font-weight: bold;
}
th.sun,
th.cal_mon,
th.cal_tue,
th.cal_wed,
th.cal_thu,
th.cal_fri,
th.cal_sat{
	background-color: #F5F5F5;
	font-weight: bold;
}
.cal td{
	border: 1px solid #fff;
}
/*休日の設定*/
.cal .off {
	background: #FFE6E6;
}
/*日曜日の設定*/
th.sun{
	color: #C30000;
}
th.cal_sat{
	color: #0770EA;
}


/*エラー*/
.error-message{
	display: block;
	background-color: #FFE6E6;
	color: #ED3434!important;
	font-size: 16px;
}
p.error-message{
	width: 100%;
}
.error-message i{
	padding-right: .5em;
}
.error .select-border{
	border: 1px solid #EA5356;
	background-color: #FFE6E6;
}

.error-inner-message{
	margin-top: 5px;
	color: #ED3434;
	font-size: 14px;
}
::placeholder {
    color: #adadad !important;
    opacity: 1;
}
:-ms-input-placeholder {
    color: #adadad !important;
}
::-ms-input-placeholder {
    color: #adadad !important;
}
