@charset'utf-8';

body {
 min-width:100%;
 -webkit-text-size-adjust:100%;
 -moz-text-size-adjust:100%;
 -ms-text-size-adjust:100%;
 -o-text-size-adjust:100%;
 text-size-adjust:100%;
 font-family:'Lato','Noto Sans JP','游ゴシック体','Yu Gothic','YuGothic','ヒラギノ角ゴシック Pro','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,Osaka,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
 font-variant:no-common-ligatures proportional-nums;
 font-weight:400;
 -webkit-font-smoothing:antialiased;
 -moz-osx-font-smoothing:grayscale;
 color:#35380A;
}

@media all and (-ms-high-contrast:none) {
body { font-family:'メイリオ',Meiryo,'游ゴシック',YuGothic,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック','MS PGothic',sans-serif; }
}

button, input, select, textarea {
 font-family:'Lato','Noto Sans JP','游ゴシック体','Yu Gothic','YuGothic','ヒラギノ角ゴシック Pro','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,Osaka,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
 font-weight:400;
 margin:0;
 padding:0;
 font-size:1em!important;
 transition:.4s;
}
input, select, textarea { font-size:16px!important; }
*:focus { outline:none; }
*, *:before, *:after { box-sizing:border-box; }
area { border:none; outline:none; }
a, picture, img, svg { transition:.4s; }
a { color:#35380A; text-decoration:none; cursor:pointer; }
a object, button object { pointer-events:none; }
button { cursor:pointer; }
img { height:auto; }
img[src*='lazy'] { height:1px; }
svg { width:1em; height:auto; fill:none; stroke:var(--txt); stroke-width:2px; overflow:visible; }
iframe { display:block; }



/*==============================
	color
==============================*/
:root {
 --aromic:#217a4b;
 --aromic-rgb:33,122,75;
 --aromic-bg:#edf5ee;
 --aromic-bg-rgb:237,245,238;
 --txt:#35380A;
 --txt-red:239, 85, 85;
 --btn:#fad66b;
 --btn-rgb:250,214,107;
	--link:#286ab1;
 --font-min:'游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', 'Noto Serif JP', serif;
 --font-logo:'Marcellus', serif;
 --txt-shadow:1px 1px 0 #fff, -1px -1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, 0px 1px 0 #fff,  0-1px 0 #fff, -1px 0 0 #fff, 1px 0 0 #fff;
 --txt-shadow-2px:#fff 2px 0px, #fff -2px 0px, #fff 0px -2px, #fff 0px 2px, #fff 2px 2px, #fff -2px 2px, #fff 2px -2px, #fff -2px -2px, #fff 1px 2px, #fff -1px 2px, #fff 1px -2px, #fff -1px -2px, #fff 2px 1px, #fff -2px 1px, #fff 2px -1px, #fff -2px -1px;
}



/*==============================
	layout
==============================*/
img { height:auto; }



/*==============================
	common
==============================*/
html { visibility:visible!important; }

/*header*/
#notice-text { display:none; }
#index-header { top:0!important; }


/*orderForm*/
#orderForm { margin:4em auto; background:none; }
h2 + #orderForm { margin-top:0; }

#orderForm a { margin:0 2px; padding:0 2px; color:#0e8196; border-bottom:1px solid; }
#orderForm a[target='_blank'] { position:relative; padding-right:.6em; }
#orderForm a[target='_blank']:after {
	position:relative;
	left:.2em;
	bottom:.04em;
	content:'';
	display:inline-block;
	width:.8em;
	height:.8em;
	background:url(/svg/i-link-ext_0e8196.svg) 100% / contain no-repeat;
}
#orderForm a u { text-decoration:none; }


/*form*/
#orderForm form { width:calc(100% - 8%); max-width:800px; margin:auto; line-height:1.6em; }
#orderForm form select,
#orderForm form input,
#orderForm form textarea,
#orderForm form button {
 margin-right:.4em;
	padding:.6em;
	font-size:1em;
	line-height:1.2em;
	background:#fff;
	border:1px solid;
	border-radius:0;
	appearance:none;
	-moz-appearance:none;
	-webkit-appearance:none;
}
#orderForm form select {	padding-right:2.4em!important;	background:url(/svg/i-arrow-b.svg) right .6em center / 1em no-repeat #fff;	cursor:pointer; }
#orderForm form label { display:flex; flex-wrap:wrap; align-items:center; cursor:pointer; }
#orderForm form input[type='checkbox'],
#orderForm form input[type='radio'] { position:relative; font-size:.8em; border-radius:50%; cursor:pointer; }
#orderForm form input[type='checkbox']:checked,
#orderForm form input[type='radio']:checked { background:none; border:none; }
#orderForm form input[type='checkbox']:checked:after,
#orderForm form input[type='radio']:checked:after {
	position:absolute;
	top:.16em;
	left:.56em;
	content:'';
	display:block;
	width:.7em;
	height:1.1em;
	color:var(--aromic);
	border-right:2px solid;
	border-bottom:2px solid;
	transform:translate(-25%,-50%) rotate(45deg);
}
#orderForm form > div > *:nth-of-type(n+3) { margin-top:4em; }


@media screen and (max-width:800px) {
#orderForm { margin:3em auto; }
}

@media screen and (max-width:600px) {
#orderForm form > div > *:nth-of-type(n+3) { margin-top:3em; }
}

@media screen and (max-width:400px) {
#orderForm { margin:2em auto; }
#orderForm form select,
#orderForm form input,
#orderForm form textarea,
#orderForm form button { font-size:16px; }
#orderForm form input[type='checkbox']:checked:after,
#orderForm form input[type='radio']:checked:after { top:.36em; left:.86em; }
#orderForm form > div > *:nth-of-type(n+3) { margin-top:2em; }
}



/*==============================
	タイトル
==============================*/
/*h2*/
#orderForm > h2 {	margin:0 auto 1em;	text-align:center;	font-size:1.4em;	letter-spacing:1px; }
#orderForm > h2:before { display:none; }


/*h3*/
#orderForm h3 {	margin-bottom:1.2em;	padding-bottom:.8em;	text-align:center;	font-size:1.3em;	letter-spacing:1px;	border-bottom:1px solid; }


/*h4*/
#orderForm h4 {	margin-bottom:.4em;	padding-left:.4em;	font-size:1.06em;	border-left:.2em solid; }
#orderForm h4:nth-of-type(n+2) { margin-top:1em; }


@media screen and (max-width:768px) {
#orderForm > h2 { font-size:1.3em; }
#orderForm h3 { font-size:1.2em; }
}

@media screen and (max-width:425px) {
#orderForm > h2 { font-size:1.2em; }
#orderForm h3 { margin-bottom:1em; padding-bottom:.6em; }
}

@media screen and (max-width:320px) {
#orderForm h3 { font-size:1.1em; }
}



/*==============================
	ボタン
==============================*/
#orderForm form button,
#orderForm form input[type='button'] {
	display:block;
	min-width:12em;
	margin:auto;
	padding:1em 1.2em;
	text-align:center;
	font-size:1.1em;
	font-weight:600;
	letter-spacing:1px;
	color:#fff;
	background:#555;
	border:none;
	border-radius:6em;
	box-shadow:3px 3px 3px 0 rgba(0,0,0,.1);
	cursor:pointer;
	transition:.4s;
}
#orderForm form button:hover,
#orderForm form input[type='button']:hover { box-shadow:none; }


/*戻る*/
#orderSubmit #returnButton {	min-width:6em;	padding:.6em 1em;	color:#555;	background:none;	border:1px solid; }


/*この内容で注文する*/
#orderSubmit #orderButton { margin-top:1em; }



/*==============================
	ご注文内容
==============================*/
#orderInfo { padding:3em; background:#f1f1f1; }

#orderInfo > div:nth-of-type(n+2),
#orderInfo #lp_item_desc > div:nth-child(n+2) { margin-top:1.6em; }
#orderInfo [class^='formItem'] { display:flex; flex-wrap:wrap; align-items:flex-start; }
#orderInfo [class^='formItem'] label { width:10em; margin-right:1em; padding-top:.4em; }
#orderInfo [class^='formItem'] label + div { width:calc(100% - 11em); }
#orderInfo [class^='formItem'] label + div p { margin-bottom:.2em; font-size:.9em; line-height:1.4em; }


/*商品名*/
#orderInfo > #selectItemArea .orderInfoOptPrice { font-size:1.06em; line-height:1.6em; }
#orderInfo > #selectItemArea select#selectItem { max-width:100%; }


/*購入数*/
#orderInfo [class^='formItem'] input[type='text'].changeAmount { width:6em; }


/*価格*/
#orderInfo [class^='formItem'] #price { margin-right:.2em; font-size:1.4em; line-height:1.8em; }


@media screen and (max-width:768px) {
#orderInfo { padding:2em; }
#orderInfo > #selectItemArea .orderInfoOptPrice { font-size:1em; }
#orderInfo > div:nth-of-type(n+2),
#orderInfo #lp_item_desc > div:nth-child(n+2) { margin-top:1em; }
#orderInfo [class^='formItem'] label { width:100%; margin:0!important; padding-top:0; }
#orderInfo [class^='formItem'] select { width:100%; }
#orderInfo [class^='formItem'] label + div { width:100%; margin-top:.2em; }
#orderInfo [class^='formItem'] #price { line-height:1em; }
}

@media screen and (max-width:425px) {
#orderInfo { padding:1.6em 1.2em; }
}



/*==============================
	購入者情報
==============================*/
form #orderGuest,
form #orderDeliv { padding:3em; background:#f7f7f7; }
form #orderDeliv { margin-top:.2em!important; }

form #orderGuest h4 { margin-bottom:1.2em; padding:.4em; text-align:center; font-size:1.1em; letter-spacing:1px; background:#eee; border:none; }


/*ログイン*/
form #orderMember { margin-bottom:3em; }
form #userData p:nth-of-type(n+2) { margin-top:1em; }
form #orderMember button { padding:.8em 1em; font-size:1em; }


/*住所*/
form #purchaserInfo > div,
form #orderDeliv > div { padding:0 2em; }
form #purchaserInfo > div:nth-of-type(n+2),
form #orderDeliv > div:nth-of-type(n+2) { margin-top:1.6em; padding-top:1.6em; border-top:1px dashed #ccc; }
form #orderDeliv .formItemOther + div { margin-top:1em; padding-top:0; border:none; }
form #purchaserInfo [class^='formItem'],
form #orderDeliv [class^='formItem'] { display:flex; flex-wrap:wrap; align-items:flex-start; }
form #purchaserInfo [class^='formItem'] label,
form #orderDeliv [class^='formItem'] label { width:11em; margin-right:1em; padding-top:.4em; }
form #orderDeliv .formItemOther label { display:flex; flex-wrap:wrap; align-items:center; width:14em; margin:0!important; padding-top:0; }
form #purchaserInfo [class^='formItem'] label + div,
form #orderDeliv [class^='formItem'] label + div { width:calc(100% - 12em); }
form #purchaserInfo .formItemAddr label + div > * input,
form #orderDeliv .formItemAddr label + div > * input { width:100%; }
form #purchaserInfo [class^='formItem'] label + div > *:nth-of-type(n+2),
form #orderDeliv [class^='formItem'] label + div > *:nth-of-type(n+2) { margin-top:.6em; }

form #purchaserInfo [class^='formItem'] label + div > p:not(.error),
form #orderDeliv [class^='formItem'] label + div > p:not(.error) { font-size:.9em; }


/*パスワード*/
form #purchaserInfo #textPass + input + .error + p { display:none; }
/*form #purchaserInfo #textPass + input + .error:after {
	content:'\4EFB\610F\306E\30D1\30B9\30EF\30FC\30C9\3092\5165\529B\3057\3066\304F\3060\3055\3044\3002';
	display:block;
	margin-top:.6em;
	font-size:.9em;
	color:#35380A;
}*/

/*パスワード*/
form #purchaserInfo [class^='formItem crossPointItems'] { display:none; }


@media screen and (max-width:768px) {
form #orderGuest,
form #orderDeliv { padding:2em; }
form #orderMember { margin-bottom:2em; }
form #purchaserInfo > div,
form #orderDeliv > div { padding:0; }
form #purchaserInfo [class^='formItem'],
form #orderDeliv [class^='formItem'] { align-items:center; }
form #purchaserInfo [class^='formItem'] label,
form #orderDeliv [class^='formItem'] label { width:100%; margin:0 0 .6em!important; padding-top:0; }
form #orderDeliv .formItemOther label { margin:0!important; }
form #purchaserInfo [class^='formItem'] label + div,
form #orderDeliv [class^='formItem'] label + div { width:100%; }
}

@media screen and (max-width:425px) {
form #orderGuest,
form #orderDeliv { padding:1.6em 1.2em; }
}



/*==============================
	購入者情報
==============================*/
form #ordererInfo { padding:3em; background:#f7f7f7; }

form #userData { margin-bottom:1.2em; }


@media screen and (max-width:768px) {
form #ordererInfo { padding:2em; }
}

@media screen and (max-width:425px) {
form #ordererInfo { padding:1.6em 1.2em; }
}



/*==============================
	お届け先情報
==============================*/
form #deliveryInfo { padding:3em; background:#f7f7f7; }


@media screen and (max-width:768px) {
form #deliveryInfo { padding:2em; }
}

@media screen and (max-width:425px) {
form #deliveryInfo { padding:1.6em 1.2em; }
}



/*==============================
	お支払い方法
==============================*/
form #orderPayment { padding:3em; background:#f7f7f7; }
form #orderPayment > div { padding:0 2em; }
form #orderPayment > div:nth-of-type(n+2) { margin-top:1em; }

form #orderPayment label > input + span + div { margin-top:.6em; padding:1em; background:#fff; }
form #orderPayment label > input + span + div > br + div[align='left'] { margin-top:-1.6em; }


/*カード情報入力*/
form #orderPayment input[type='button'][name='card_info_set'] {
	margin:0 auto 1em;
	padding:.6em 1.2em;
	font-size:1em;
	color:#35380A;
	background:none;
	border:1px solid;
}


@media screen and (max-width:768px) {
form #orderPayment { padding:2em; }
form #orderPayment > div { padding:0; }
}

@media screen and (max-width:425px) {
form #orderPayment { padding:1.6em 1.2em; }
}



/*==============================
	お届けスケジュール
==============================*/
form #orderDelivery > div > div { padding:0 2em; }
form #orderDelivery > div > div:not(:last-of-type),
form #orderDelivery > div > p#limitTimesDisplay { margin-bottom:1.6em; padding-bottom:1.6em; border-bottom:1px dashed #ccc; }
form #orderDelivery > div > div:last-of-type { margin-bottom:0; }

form #orderDelivery .regular_box > label:before { content:'\3010'; padding-right:.2em; }
form #orderDelivery .regular_box > label:after { content:'\3011'; padding-left:.2em; }
form #orderDelivery .regular_box [class^='formItem'] label + div { padding:1em; background:#fff; }
form #orderDelivery .regular_box .regular_month > select,
form #orderDelivery .regular_box .regular_week_each_month > select { margin:0 .2em .6em 0; }
form #orderDelivery .regular_box .regular_month + p { margin-top:.4em; }

form #orderDelivery [class^='formItem']:nth-of-type(n+2) { margin-top:1em; }
form #orderDelivery [class^='formItem'] + .deliveryInfo { margin-top:1em; }
/*form #orderDelivery .regular_box [class^='formItem']:nth-of-type(2):before {
	content:'';
	display:block;
	width:calc(100% - 2em);
	margin:2em auto;
	border-top:1px dashed #ccc;
}*/
form #orderDelivery > div > div > label + div,
form #orderDelivery [class^='formItem'] label + div { margin-top:.6em; }
form #orderDelivery [class^='formItem'] label + div > div:nth-of-type(n+2) { margin-top:.6em; }


@media screen and (max-width:768px) {
form #orderDelivery > div > div { padding:0; }
form #orderDelivery select#week_regular,
form #orderDelivery select#regularDate { width:100%; }
}

@media screen and (max-width:425px) {
form #orderDelivery { padding:1.6em 1.2em; }
/*form #orderDelivery .regular_box [class^='formItem']:nth-of-type(2):before { margin:1em auto; }*/
}





/*==============================
	質問
==============================*/
form #orderEnquete { padding:3em; background:#f7f7f7; }


/*質問*/
form #deliverEnqBlock > div:nth-of-type(n+2) { margin-top:1em; }
form #deliverEnqBlock textarea { width:100%; min-height:6em; margin-top:.6em; }


@media screen and (max-width:768px) {
form #orderEnquete { padding:2em; }
}

@media screen and (max-width:425px) {
form #orderEnquete { padding:1.6em 1.2em; }
form #deliverEnqBlock textarea { min-height:8em; }
}



/*==============================
	その他
==============================*/
/*必須アイコン*/
#orderForm .required {
	position:relative;
	top:-2px;
	margin-left:.6em;
	padding:.2em .6em;
	font-size:.8em;
	color:#e4545a;
	border:1px solid;
}


/*規約チェック*/
#orderAgree > div:nth-of-type(n+2) { margin-top:1em; }


/*エラー*/
#orderForm #orderErr { margin-bottom:1em; }
#orderForm #orderErr p { text-align:center; color:#e4545a; }
#orderForm .formItemErr input,
#orderForm .formItemErr select { background:#feeeef; border:1px solid #e4545a; }
#orderForm .formItemErr select {	padding-right:2em;	background:url(/svg/i-arrow-b.svg) right .6em center / 1em no-repeat #feeeef; }
#orderForm .error { margin-left:.2em; color:#e4545a; }


@media screen and (max-width:425px) {
#orderForm .required { margin-left:.4em; padding:.1em .6em; }
#orderForm #orderErr:not(.orderErr) p { text-align:left; }
}



/*==============================
	補足情報				
==============================*/
#orderForm .relation-item-snippet { padding:2em; font-size:.96em; background:#e2edef; }
#orderForm .relation-item-snippet p + p { margin-top:.6em; }


/*注文内容下エリア*/
#orderForm .relation-item-snippet:not(.confirm-submit) { margin-top:.2em!important; }


/*注文確認ボタン上エリア*/
#orderForm .relation-item-snippet.confirm-submit {  }


/*利用規約*/
#orderForm .terms-of-service { text-align:center; font-size:1.1em; }
#orderForm .terms-of-service span { margin-right:.2em; letter-spacing:1px; color:#e4545a; }
#orderForm .terms-of-service + p { margin-top:1em!important;  }


@media screen and (max-width:768px) {
#orderForm .relation-item-snippet { padding:1.6em 1.2em; }
}

@media screen and (max-width:425px) {
#orderForm .relation-item-snippet { font-size:.9em; }
}



/*==============================
	注文確認画面
==============================*/
/*ご注文内容*/
.confirm #orderInfo .orderItem .itemImage { width:180px; margin:auto; }
.confirm #orderInfo .orderItem .itemImage > img { width:100%; }
.confirm #orderInfo .orderItem .itemInfo { margin:1em auto 0; }
.confirm #orderInfo .orderItem .itemInfo label { display:inline-block; margin:.4em .2em .2em 0; padding:0 .4em; background:#e5e5e5; }
.confirm #orderInfo .orderItem .itemInfo label + p { display:inline-block; }
.confirm #orderInfo .orderPrice table { display:inline-block; padding:1em; line-height:1.4em; border:1px solid; }
.confirm #orderInfo .orderPrice table tbody { display:block; }
.confirm #orderInfo .orderPrice table tr { display:flex; align-items:flex-start; }
.confirm #orderInfo .orderPrice table tr:nth-of-type(n+2) { margin-top:.6em; }
.confirm #orderInfo .orderPrice table tr > * { display:inline-block; text-align:left; }
.confirm #orderInfo .orderPrice table tr > th { width:7em; }
.confirm #orderInfo .orderPrice table + p { margin-top:1em; }


/*定期購入詳細*/
.confirm #orderTeikiMessageConfirm p { padding-top:0!important; line-height:1.8em; }


/*その他ご入力内容*/
.confirm #orderOther .delivEnq { line-height:1.8em; }
.confirm #orderOther .delivEnq label {	display:inline-block;	margin-bottom:.6em;	padding:.4em 1em;	line-height:1.4em;	background:#f7f7f7; }


@media screen and (min-width:769px) {
.confirm #orderInfo .orderItem { display:flex; flex-wrap:wrap; justify-content:center; align-items:flex-start; }
.confirm #orderInfo .orderItem .itemInfo { width:calc(100% - 180px - 1em); margin-left:1em; }
.confirm #orderInfo .orderPrice { text-align:right; }
.confirm #orderInfo .orderPrice table { text-align:left; }
}



/*==============================
	注文完了画面
==============================*/
#orderForm .completeMsg { margin:1em auto; text-align:center; line-height:1.6em; }

#orderForm .complete {	width:calc(100% - 2em);	max-width:20em;	margin:auto;	padding:1.2em;	background:#f7f7f7;	box-shadow:3px 3px 3px 0 rgba(0,0,0,.2); }
#orderForm .complete table { display:inline-block; line-height:1.6em; }
#orderForm .complete table tbody { display:block; }
#orderForm .complete table tr { display:flex; align-items:flex-start; }
#orderForm .complete table tr:nth-of-type(n+2) { margin-top:.6em; }
#orderForm .complete table tr > * { display:inline-block; text-align:left; }
#orderForm .complete table tr th { width:9em; }

#order-thanks {	width:calc(100% - 2em);	max-width:34em;	margin:-3em auto 4em!important;	line-height:1.6em!important;	word-break:keep-all!important; }


@media screen and (max-width:768px) {
#order-thanks { margin:-2em auto 3em!important; }
#order-thanks { text-align:left!important; }
}

@media screen and (max-width:425px) {
#order-thanks { margin:-1em auto 2em!important; word-break:normal!important; word-wrap:normal!important; }
}



/*==============================
	ログインダイアログ
==============================*/
#login_modal,
#point_modal { width:460px;	margin:auto!important;	padding:2rem;	border:2px solid #e0e0e0;	border-radius:10px;	box-sizing:border-box; }
#error_modal { width:560px; margin:0; }

[id$='_modal'].modal-content {	position:fixed;	display:none;	width:50%;	margin:1.5em auto 0;	padding:10px 20px;	background:#fff;	border:2px solid #aaa;	z-index:400; transform:none; }
.modal-p { margin-top:1em; }
.modal-p:first-child { margin-top:0; }
.button-link { text-decoration:underline; color:#00f; }
.button-link:hover { color:#f00; cursor:pointer; }
#modal-overlay/*,
#point-modal-overlay*/ {	position:fixed;	top:0;	left:0;	display:none;	width:100%;	height:120%;	background:rgba(0,0,0,.75);	z-index:300; }


/*modal-close*/
#login_modal .ds__modal-close,
#point_modal .ds__modal-close {	position:absolute;	top:1em;	right:1em;	width:30px;	height:30px;	cursor:pointer; }
#login_modal .ds__modal-close img,
#point_modal .ds__modal-close img { width:100%; height:100%; margin:0; padding:0; border:none; }


/*login*/
#login_modal h2.ds__title { margin-bottom:1em!important; font-size:1.4em; }
#login_modal h2.ds__title:before { display:none!important; }

#login_modal .ds__form-table { width:100%; }
#login_modal .ds__form-table th { float:left; width:100%; padding-bottom:.4em; text-align:left; font-weight:normal; }
#login_modal .ds__form-table tr:nth-of-type(n+2) th { padding-top:1em; }
#login_modal .ds__form-table td { float:left; width:100%; }
#login_modal .ds__form-table td input { width:100%; box-sizing:border-box; }

#login_modal .ds__button-box { margin:2rem auto 0; padding:0 1.5rem; }
#login_modal .ds__button-box ul { position:relative; }
#login_modal .ds__button-box li { list-style:none; }
#login_modal .ds__button-box .login_link { margin-top:1rem; }
#login_modal .ds__button-box .login_link a { font-size:.9rem; color:#555; }


/*point*/
#point_modal h2 { margin-bottom:.6em; text-align:center; font-size:1.1em; letter-spacing:1px; }

#point_modal #enable_point { line-height:1.6em; }
#point_modal #enable_point span { margin:0 .1em 0 .2em; font-size:1.2em; }

#point_modal .formItem_points_parent { margin:1em auto; }
#point_modal .formItem_points_parent div:nth-of-type(n+2) { margin-top:.6em; }
#point_modal .formItem_points_parent div > input {
	width:4em;
	margin:0 .2em;
	padding:.1em .4em;
	font-size:16px;
	line-height:1.6em;
	border:1px solid;
	border-radius:0;
	appearance:none;
	-moz-appearance:none;
	-webkit-appearance:none;
}

#point_modal #points_Submit { margin-top:1.2em; }
#point_modal #points_Submit input,
#point_modal #points_Submit button {	display:block;	text-align:center;	letter-spacing:1px;	border:none;	border-radius:6em;	cursor:pointer; }
#point_modal #points_Submit input {
	min-width:12em;
	margin:auto;
	padding:.8em 1.2em;
	font-size:1.1em;
	font-weight:600;
	color:#fff;
	background:#555;
	box-shadow:3px 3px 3px 0 rgba(0,0,0,.1);
	transition:.4s;
	appearance:none;
	-moz-appearance:none;
	-webkit-appearance:none;
}
#point_modal #points_Submit input:hover { box-shadow:none; }
#point_modal #points_Submit button {	min-width:6em;	margin:1em auto;	padding:.4em 1em;	color:#555;	background:#f1f1f1; }
#point_modal #points_Submit button#use_cancel {	width:8em; }


@media screen and (max-width:768px) {
#login_modal,
#point_modal {
	display:none;
	width:280px;
	min-width:280px;
	padding:1.2em;
	border:2px solid #e0e0e0;
	border-radius:10px;
	box-sizing:border-box;
}
#error_modal { width:85%; margin:1rem auto; }
#login_modal h2.ds__title { font-size:1.3em; }
#login_modal .ds__form-table th { float:left; width:100%; text-align:left; font-weight:normal; padding-top:.5rem; }
#login_modal .ds__button-box { width:95%; margin:1.2em auto 0; padding:0; }
}

@media screen and (max-width:425px) {
#login_modal h2.ds__title { font-size:1.2em; }
}



/*==============================
	header（lp-header）
==============================*/
h1#lp-title { padding:.6em 0 .5em; text-align:center; font-weight:500; color:var(--text); background:rgba(0,0,0,.1); }


/*header*/
header#lp-header { display:flex; justify-content:space-between; align-items:center; max-width:1200px; margin:auto; padding:1.6em 1em; }
header#lp-header svg { display:block; width:auto; height:6em; stroke:none; }
header#lp-header img { display:block; width:16em; }
header#lp-header .tel a { display:block; font-size:1.6em; letter-spacing:.1em; }
header#lp-header .tel p { margin-top:.4em; text-align:right; font-size:.9em; line-height:1.6em; }


@media screen and (max-width:1024px) {
header#lp-header svg { height:5em; }
header#lp-header img { width:14em; }
header#lp-header .tel a { font-size:1.4em; }
}

@media screen and (max-width:768px) {
h1#lp-title { font-size:12px; }
header#lp-header svg { height:4em; }
header#lp-header img { width:12em; }
header#lp-header .tel a { font-size:1.2em; }
}

@media screen and (max-width:425px) {
header#lp-header { padding:1.2em .6em; }
header#lp-header svg { height:3em; }
header#lp-header img { width:10em; }
header#lp-header .tel a { letter-spacing:0; }
header#lp-header .tel p { font-size:12px; }
}



/*==============================
	header（header-lp）
==============================*/
header#header-lp { box-shadow:0 .2em .6em rgba(0,0,0,.1); }
header#header-lp .inline { display:flex; justify-content:space-between; align-items:center; width:calc(100% - 2em); max-width:1024px; margin:auto; padding:1em 0; }
header#header-lp div { display:flex; align-items:center; }

header#header-lp .name { display:flex; align-items:center; font-weight:600; }
header#header-lp .name p:nth-of-type(1) { width:4.2em; height:3.6em; margin-right:1em; padding:.4em 0; font-size:.9em; background:#eee; }
header#header-lp .name p:nth-of-type(1) span { display:block; text-align:center; line-height:1.4em; }
header#header-lp .name p:nth-of-type(2) { font-size:1.1em; line-height:1.2em; }

header#header-lp .company svg { display:block; width:auto; height:4em; margin-right:.6em; stroke:none; }
header#header-lp .company p { text-align:right; font-size:13px; line-height:1.2em; }
header#header-lp .company img { width:72px; }


@media screen and (max-width:1024px) {
}

@media screen and (min-width:769px) {
header#header-lp .name { font-size:1.2em; }
}

@media screen and (max-width:768px) {
header#header-lp .inline { padding:.6em 0; }
header#header-lp .name p:nth-of-type(1) { margin-right:.6em; }
header#header-lp .company svg { height:3em; }
header#header-lp .company img { width:62px; }
}

@media screen and (max-width:425px) {
header#header-lp .inline { width:calc(100% - 1.2em); }
header#header-lp .name { font-size:.9em; }
header#header-lp .company img { width:56px; }
}

@media screen and (max-width:320px) {
header#header-lp .inline { width:calc(100% - .8em); }
header#header-lp .name p:nth-of-type(1) { margin-right:.4em; font-size:12px; }
header#header-lp .name p:nth-of-type(2) { font-size:1em; }
header#header-lp .company svg { height:2em; margin-right:0; }
header#header-lp .company p { font-size:12px; }
}



/*==============================
	footer
==============================*/
footer#lp-footer p { text-align:center; }
footer#lp-footer h3 { margin-bottom:1em; padding:.8em 1em; text-align:center; font-size:1.06em; font-weight:500; letter-spacing:1px; background:#eee; }
footer#lp-footer h3:nth-of-type(n+2) { margin-top:2em; }

footer#lp-footer .contact { padding:3em 0; }
footer#lp-footer .contact p { line-height:1.6em; }
footer#lp-footer .contact p:first-of-type { font-size:1.1em; letter-spacing:.1em; }
footer#lp-footer .contact p:nth-of-type(n+2) { margin-top:1em; }
footer#lp-footer .contact p a { padding:0 .1em; text-decoration:underline; color:var(--link); }
footer#lp-footer .contact p a[href*='tel'] { display:block; margin:.2em auto; text-decoration:none; font-size:1.4em; letter-spacing:.1em; color:var(--text); }
footer#lp-footer .contact button { display:block; margin:1em auto; background:none; border:none; }
footer#lp-footer .contact button a { display:block; padding:.8em 1.6em; font-size:1.06em; background:#eee; border-radius:10em; }

footer#lp-footer .store { margin:auto; padding:0 1em; overflow-x:auto; white-space:nowrap; }
footer#lp-footer .store li { display:inline-block; width:12em; vertical-align:top; white-space:normal; }
footer#lp-footer .store li:nth-of-type(n+2) { margin-left:.6em; }
footer#lp-footer .store img { display:block; width:100%; margin:.4em auto; }
footer#lp-footer .store img + p { text-align:left; font-size:.9em; line-height:1.4em; }
footer#lp-footer .store a { position:relative; top:-2px; display:inline-block; margin-left:4px; text-decoration:underline; font-size:12px; color:var(--link); }

footer#lp-footer > dl { display:flex; flex-wrap:wrap; align-items:stretch; width:calc(100% - 1em); max-width:56em; margin:1em auto; text-align:left; font-feature-settings:'palt'; }
footer#lp-footer > dl > * { padding:1em; }
footer#lp-footer > dl > *:nth-child(n+3) { margin-top:.2em; }
footer#lp-footer > dl dt { width:8em; background:#f5f5f5; }
footer#lp-footer > dl dd { width:calc(100% - 8em); background:#fafafa; }
footer#lp-footer > dl dd * { text-align:left; font-size:.9em; line-height:1.6em; }
footer#lp-footer > dl dd p { text-align:left; }
footer#lp-footer > dl a { text-decoration:underline; color:var(--link); }

footer#lp-footer .link { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; border-top:1px solid; }
footer#lp-footer .link a { display:block; padding:1.2em .2em; text-align:center; color:var(--text); }

footer#lp-footer .copy {	margin:auto;	padding:1.4em 0;	text-align:center;	font-size:.9em;	color:#fff;	background:rgba(0,0,0,.6);	box-sizing:border-box; }
footer#lp-footer .copy ul { display:flex; justify-content:center; margin-bottom:.8em; }
footer#lp-footer .copy li:nth-of-type(n+2) { border-left:1px solid; }
footer#lp-footer .copy li a { margin:0 1em; color:#fff; }
footer#lp-footer .copyright span { font-family:var(--font-logo); }


/*cartbtn*/
a.cart-btn {
 position:fixed;
 bottom:4em;
 right:1em;
 width:12em;
 padding:1em 0;
 text-align:center;
 font-size:1.2em;
 font-weight:600;
 letter-spacing:.1em;
 color:#fff;
 background:rgba(228,84,90,.9);
 border:2px solid rgb(228,84,90);
 border-radius:4em;
 z-index:10;
}
a.cart-btn:hover { color:rgb(228,84,90); background:none; }


/*pagetop*/
a.page-top { position:fixed; bottom:0; right:0; transition:none; z-index:10; }
a.page-top:before { display:block; content:''; border-style:solid; border-width:0 0 4em 4em; border-color:transparent transparent rgba(0,0,0,.8) transparent; }
a.page-top svg { position:absolute; bottom:.6em; right:.6em; width:1.2em; fill:#fff; stroke:#fff; transition:.4s; transform:rotate(-90deg); }
a.page-top:hover svg { bottom:.8em; }


@media screen and (min-width:1025px) {
footer#lp-footer .link li { width:calc(100%/4); border-left:1px solid; }
footer#lp-footer .link li:nth-of-type(4n+1) { border-left:none; }
footer#lp-footer .link li:nth-of-type(n+5) { border-top:1px solid; }
}

@media screen and (max-width:1024px) {
footer#lp-footer .link li { width:calc(100%/2); }
footer#lp-footer .link li:nth-of-type(2n+2) { border-left:1px solid; }
footer#lp-footer .link li:nth-of-type(n+3) { border-top:1px solid; }
}

@media screen and (min-width:769px) {
footer#lp-footer > dl { margin-bottom:2em; }
}

@media screen and (max-width:768px) {
footer#lp-footer > dl dt { width:6em; }
footer#lp-footer > dl dd { width:calc(100% - 6em); }
a.cart-btn { bottom:.4em; left:0; right:0; margin:auto; font-size:1.1em; }
}

@media screen and (max-width:425px) {
footer#lp-footer { font-size:.9em; }
footer#lp-footer .contact { padding:2em 0; }
footer#lp-footer > dl > * { padding:.8em .6em; }
a.cart-btn { font-size:1em; }
}



/*==============================
	review rakuten
==============================*/
:root { --review-bg:128,111,44; }


main #review-rakuten { position:relative; padding:10em 0 6em; background:rgba(var(--review-bg),.1); }

main #review-rakuten h2 { width:calc(100% - 1em); margin:0 auto 1.6em; padding-bottom:.4em; text-align:center; font-size:1.6em; font-weight:600; letter-spacing:2px; }
main #review-rakuten h2 strong { position:relative; top:.1em; margin-left:.2em; font-size:1.6em; font-weight:500; letter-spacing:0; color:#b43636; }
main #review-rakuten h2 svg,
main #review-rakuten h2 i { position:relative; width:.8em; }
main #review-rakuten h2 svg { top:1px; margin-right:.1em; fill:rgba(var(--review-bg),1); }
main #review-rakuten h2 i { top:-2px; font-style:normal; color:rgba(var(--review-bg),1); }
main #review-rakuten h2 + .info { width:calc(100% - 2em); max-width:36em; margin:-3em auto 3em; text-align:right; font-size:12px; }

main #review-rakuten .balloon { position:absolute; top:4em; left:0; right:0; text-align:center; line-height:1.4em; background:#fff; }
main #review-rakuten .balloon * { background:#f2f0e9; }
main #review-rakuten .balloon:before,
main #review-rakuten .balloon:after { position:absolute; left:0; right:0; content:''; display:block; margin:auto; }
main #review-rakuten .balloon:before { width:calc(100% - 2em); max-width:20em; height:4em; border:1px solid; border-radius:4em; z-index:2; }
main #review-rakuten .balloon:after { bottom:-4.5em; width:1em; height:1em; border:1px solid; transform:rotate(45deg); z-index:1; }
main #review-rakuten .balloon span { position:absolute; top:-1px; left:0; right:0; display:block; z-index:3; }
main #review-rakuten .balloon span:after { position:absolute; bottom:calc(-1.4em + 1px); left:0; right:0; content:''; width:1.6em; height:1em; margin:auto; background:#f2f0e9; }
main #review-rakuten .balloon em { text-decoration:underline; font-style:normal; }

main #review-rakuten ul { max-width:1000px; margin:auto; }
main #review-rakuten li { max-width:50em; background:#fff; }
main #review-rakuten li h3 { display:flex; justify-content:center; align-items:center; margin-bottom:1em; font-weight:600; line-height:1.6em; color:rgba(var(--review-bg),1); }
main #review-rakuten li h3 picture { display:block; width:4em; margin-right:.4em; padding:.4em; background:rgba(var(--review-bg),.1); border-radius:50%; }
main #review-rakuten li h3 img { display:block; width:100%; }
main #review-rakuten li h3 span { font-size:1.1em; }
main #review-rakuten li > p { line-height:1.6em; }


@media screen and (min-width:769px) {
main #review-rakuten ul { width:calc(100% - 4em); }
main #review-rakuten li { width:80%; padding:3em; }
}

@media screen and (max-width:768px) {
main #review-rakuten { padding:10em 0 3em; }
main #review-rakuten h2 { font-size:1.5em; }
main #review-rakuten ul { width:calc(100% - 2em); }
main #review-rakuten li { width:100%; padding:2em 1em; }
}

@media screen and (min-width:426px) {
main #review-rakuten h2 br { display:none; }
main #review-rakuten li:nth-of-type(even) { margin-left:auto; }
main #review-rakuten li:nth-of-type(n+2) { margin-top:1em; }
main #review-rakuten li h3 br { display:none; }
}

@media screen and (max-width:425px) {
main #review-rakuten { padding:8em 0 3em; }
main #review-rakuten h2 { margin-bottom:1em; font-size:1.36em; }
main #review-rakuten h2 + .info { margin:-1.6em auto 1.6em; }
main #review-rakuten .balloon { top:3em; font-size:.9em; }
main #review-rakuten ul { width:100%; padding:0 1em 1em; overflow-x:auto; white-space:nowrap; }
main #review-rakuten li { display:inline-block; width:calc(100% - 1em); vertical-align:top; white-space:normal; }
main #review-rakuten li > p { font-size:.9em; }
}

@media screen and (max-width:320px) {
main #review-rakuten h2 { letter-spacing:1px; }
}



/*==============================
	ps-mark
==============================*/
#ps-mark { width:calc(100% - 2em); max-width:860px!important; margin:2em auto 0!important; padding:2em; border:1em solid #f7f7f7; }
#ps-mark img { display:block; width:240px; margin:auto; }
#ps-mark p { width:calc(100% - 240px - 1em); text-align:left; line-height:1.6em; }
#ps-mark p b:nth-of-type(1) { color:#22ac38; }
#ps-mark p b:nth-of-type(2) { color:#2ea7e0; }


@media screen and (max-width:1024px) {
#ps-mark img { width:180px; }
#ps-mark p { width:calc(100% - 180px - 1em); }
}

@media screen and (min-width:769px) {
#ps-mark { display:flex; justify-content:center; align-items:center; }
#ps-mark p { margin-left:1em; }
}

@media screen and (max-width:768px) {
#ps-mark { padding:1em; border-width:.6em; }
#ps-mark p { width:100%; margin-top:.6em; }
}

@media screen and (max-width:425px) {
#ps-mark img { width:140px; }
}



/*==============================
	item-list
==============================*/
main > #item-list { text-align:center; }
main > #item-list > * { width:calc(100% - 2em); max-width:1440px; margin:auto; }
main > #item-list h2.list-ttl { margin:0 auto 1em;	text-align:center;	font-size:1.4em; font-weight:400;	letter-spacing:1px; }

main > #item-list ul { display:flex; flex-wrap:wrap; justify-content:center; }
main > #item-list li { position:relative; max-width:16em; padding:1.2em 0; background:#f1f1f1; }

main > #item-list li img { display:block; width:auto; height:12em; max-height:200px; margin:0 auto 1em; }

main > #item-list li .name { line-height:1.4em; }
main > #item-list li .off {
 position:absolute;
 top:1em;
 right:1em;
 width:4em;
 height:4em;
 padding:1em 0;
 text-align:center;
 line-height:1em;
 color:#fff;
 background:rgba(var(--txt-red),.9);
 border-radius:50vh;
}
main > #item-list li .off b { font-size:1.4em; }
main > #item-list li .price { width:calc(100% - 2em); margin:.4em auto 0; text-align:right; color:rgb(var(--txt-red)); }
main > #item-list li .price b { font-size:1.4em; }
main > #item-list li .price.cost-free b:before {
 position:relative;
 top:-.2em;
 content:'\9001\6599\7121\6599';
 display:inline-block;
 margin-right:.3em;
 padding:.1em .3em .2em;
 font-size:.6em;
 color:#fff;
 background:rgb(var(--txt-red));
}
main > #item-list li .price s { display:inline-block; margin-bottom:.1em; text-decoration:line-through; font-size:13px; }

main > #item-list .info { margin-top:.4em; font-size:13px; font-weight:400; line-height:1.6em; }


@media screen and (min-width:1441px) {
main > #item-list li { width:calc(100%/4 - .6em); }
main > #item-list li:not(:nth-of-type(4n+1)) { margin-left:.8em; }
main > #item-list li:nth-of-type(n+5) { margin-top:1em; }
}

@media screen and (min-width:1025px) and (max-width:1440px) {
main > #item-list li { width:calc(100%/3 - .6em); }
main > #item-list li:nth-of-type(3n+2) { margin:0 .9em; }
main > #item-list li:nth-of-type(n+4) { margin-top:1.2em; }
}

@media screen and (max-width:1024px) {
main > #item-list ul { max-width:600px; }
main > #item-list li { width:calc(100%/2 - .4em); }
main > #item-list li:nth-of-type(2n+2) { margin-left:.8em; }
main > #item-list li:nth-of-type(n+3) { margin-top:1em; }
main > #item-list .info { text-align:right; }
}

@media screen and (max-width:768px) {
main > #item-list h2.list-ttl { font-size:1.3em; }
main > #item-list li img { height:10em; }
}

@media screen and (max-width:425px) {
main > #item-list h2.list-ttl { font-size:1.2em; }
main > #item-list ul { width:calc(100% - 1em); font-size:13px; }
main > #item-list li { width:calc(100%/2 - .2em); }
main > #item-list li:nth-of-type(2n+2) { margin-left:.4em; }
main > #item-list li .price.cost-free b:before { font-size:12px; }
}


