@charset "utf-8";

/* cart.css
==================
1.ページ共通

================== */


/*1.ページ共通
==================*/

.tac {
	text-align: center;
}

.tar {
	text-align: right;
}

.tal {
	text-align: left;
}

body#cart * {
	box-sizing: border-box;
}

body#cart {
	margin: 15px 0 0 0;
}

body#cart .mgn-btm10 {
	margin-bottom: 10px !important;
}

body#cart .mgn-btm20 {
	margin-bottom: 20px !important;
}

body#cart .mgn-btm30 {
	margin-bottom: 30px !important;
}

body#cart .mgn-btm40 {
	margin-bottom: 40px !important;
}

body#cart .mgn-btm50 {
	margin-bottom: 50px !important;
}

body#cart div#wrapper {
	width: 100%;
}

body#cart div#wrapper section {
	width: 960px;
	margin: 0 auto;
}

body#cart div#wrapper section.grey-box {
	margin: 0 auto 40px auto;
	padding: 20px 20px;
	background: #f3f3f3;
	border-radius: 6px 6px;
}

body#cart div#wrapper section p {
	margin: 0;
}

body#cart div#wrapper section div.inner {
	width: 960px;
	margin: 0 auto;
}

@media only screen and (max-width: 767px) {
	body#cart div#wrapper section {
		width: 100%;
	}

	body#cart div#wrapper section div.inner {
		width: 100%;
	}
}


/* 2. header
================== */

body#cart div#wrapper header {
	width: 960px;
	margin: 0 auto;
}

body#cart div#wrapper header h1 {
	margin: 0;
}

body#cart div#wrapper header ul#location {
	display: flex;
	width: 100%;
	margin: 0 0 20px 0;
	padding: 0;
}

body#cart div#wrapper header ul#location li {
	width: 25%;
	margin-right: 2px;
	padding: 5px 0;
	background: url(../img/icon_location-arrow.png) no-repeat right center;
	border-top: 10px solid #989898;
	font-size: 110%;
	font-weight: bold;
	text-align: center;
}

body#cart div#wrapper header ul#location li:nth-child(4) {
	background: none;
}

body#cart div#wrapper header ul#location li.on {
	background: url(../img/icon_location-arrow_on.png) no-repeat right center;
	border-top: 10px solid #de4e4d;
	color: #eb6915;
}

body#cart div#wrapper header ul#location li.on:nth-child(4) {
	background: none;
}

@media only screen and (max-width: 767px) {
	body#cart div#wrapper header {
		width: 100%;
	}

	body#cart div#wrapper header ul#location li {
		background: none !important;
		font-size: 100%;
		line-height: 1.4;
	}

	body#cart div#wrapper header ul#location li span {
		display: block;
	}
}


/* 3. content
================== */
body#cart div#wrapper section a.btn-txtlink {
	display: block;
	margin: 0;
	background: #04537a;
	box-shadow: 1px 2px 4px 1px #8c8c8c;
	color: #ffffff;
	text-align: center;
	text-decoration: none;
	font-weight: bold;
}

body#cart div#wrapper section a.btn-txtlink.clear {
	width: 200px;
	margin-bottom: 30px;
	padding: 10px 12px;
	background: #8a8a8a;
	border-radius: 25px 25px;
}

body#cart div#wrapper section a.aln-left {
	margin-left: auto;
}

body#cart div#wrapper section h2 {
	margin: 0 0 10px 0;
	padding: 0;
	font-size: 220%;
}

body#cart div#wrapper section h3 {
	margin: 0 0 12px 0;
}

body#cart div#wrapper section h3.stit {
	padding: 0 0 0 10px;
	border-left: 13px solid #1a73d9;
	font-size: 130%;
	line-height: 2;
}

body#cart div#wrapper section h3.stit span {
	font-size: 80%;
	font-weight: normal;
}

body#cart div#wrapper section div.choice {
	width: 100%;
	margin: 0;
	padding: 15px 15px;
	border: 2px solid #cbcbcb;
	border-radius: 10px 10px;
}

body#cart div#wrapper section div.choice+div {
	margin-top: 20px;
}

body#cart div#wrapper section div.choice ul {
	position: relative;
	display: flex;
	justify-content: space-between;
}

body#cart div#wrapper section div.choice ul:nth-child(1) {
	margin-top: 0;
	padding-top: 0;
	border-top: none;
}

body#cart div#wrapper section div.choice ul {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid #cccccc;
}

body#cart div#wrapper section div.choice ul li dl {
	text-align: center;
}

body#cart div#wrapper section div.choice ul li p {
	margin: 0;
	padding: 0;
}

body#cart div#wrapper section div.choice ul li p span.product-name {
	font-size: 125%;
	font-weight: bold;
}

body#cart div#wrapper section div.choice ul li p span.mcode {
	display: block;
}

body#cart div#wrapper section div.choice ul li.c-buy {
	width: 5%;
}

body#cart div#wrapper section div.choice ul li.c-name {
	width: 67%;
	margin-left: 3%;
}

body#cart div#wrapper section div.choice ul li.c-math {
	width: 10%;
}

body#cart div#wrapper section div.choice ul li.c-subtotal {
	width: 15%;
}

body#cart div#wrapper section div.choice ul li.c-subtotal dl dd {
	font-size: 125%;
	font-weight: bold;
}

body#cart div#wrapper section div.choice p.btn-delete {
	position: absolute;
	bottom: 0;
	right: 15px;
}

body#cart div#wrapper section div.choice p.btn-delete a {
	background: #cccccc;
	padding: 5px 12px;
	border-radius: 15px 15px;
}

body#cart div#wrapper section p.buy-atn {
	margin: 10px 0;
}


body#cart div#wrapper section.payment-choice {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 0 24px 0;
	padding: 10px 20px;
	background: #f3f3f3;
}

body#cart div#wrapper section.payment-choice ul.form-radio {
	display: flex;
}

body#cart div#wrapper section.payment-choice ul.form-radio li label {
	margin: 0 0 0 20px;
	padding: 2px 40px;
	border-radius: 30px 30px;
}

body#cart div#wrapper section.payment-choice ul.form-radio li input[type="radio"]+label::before {
	top: 11px;
	left: 11px;
}


body#cart div#wrapper section.payment-choice ul.form-radio li input[type="radio"]:checked+label::before {
	top: 11px;
	left: 11px;
}


body#cart div#wrapper section.payment-choice ul.form-radio li input[type="radio"]:checked+label::after {
	top: 14px;
	left: 14px;
}


body#cart div#wrapper section table {
	width: 100%;
	margin: 0;
	padding: 0;
	border: 2px solid #cbcbcb;
	border-radius: 10px 10px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	white-space: nowrap;
}

body#cart div#wrapper section table tr th {
	margin: 0;
	padding: 5px 5px;
	background: #ffffff;
	text-align: center;
}

body#cart div#wrapper section table tr td {
	margin: 0;
	padding: 5px 5px;
	background: #ffffff;
}

body#cart div#wrapper section table tr td a {
	color: #0064a4;
}


body#cart div#wrapper section table.choice tr td {
	background: #ffffff;
	text-align: center;
}


body#cart div#wrapper section table.price {
	margin: 0 0 12px 0;
	border: 4px solid #cbcbcb;
	font-size: 120%;
}

body#cart div#wrapper section table.price tr th {
	width: 40%;
	padding: 5px 7px;
}

body#cart div#wrapper section table.price tr th dl {
	margin: 0;
	padding: 10px 20px;
	background: #ffeadd;
	border-radius: 8px 8px;
}

body#cart div#wrapper section table.price tr th dl {}

body#cart div#wrapper section table.price tr th dl dt {
	margin: 0 0 5px 0;
}

body#cart div#wrapper section table.price tr th dl dd {
	font-size: 175%;
}

body#cart div#wrapper section table.price tr td {
	width: 60%;
	padding: 10px 20px;
}

body#cart div#wrapper section table.price tr td dl {
	display: flex;
	justify-content: space-between;
	padding: 0px 20px;
	background: #ffffff;
}

/*
body#cart div#wrapper section table.price tr td dl:nth-child(1) {
	margin-bottom: 6px;
	padding-bottom: 6px;
}

body#cart div#wrapper section table.price tr td dl:nth-child(2) {
	margin-bottom: 6px;
	padding-bottom: 6px;
}
*/

body#cart div#wrapper section table.price tr td dl.invoice {
	border-top: 1px solid #9e9e9e;
	margin-top: 6px;
	margin-bottom: 6px;
}

body#cart div#wrapper section table.price tr td dl.invoice_dl {
	margin: 0;
	padding: 10px 20px;
	background: #ffeadd;
	border-radius: 8px 8px;
	margin-bottom: 6px;
}

body#cart div#wrapper section table.price tr td dl dd {
	font-size: 120%;
	font-weight: bold;
}


body#cart div#wrapper section div.payment {
	margin: 0 0 40px 0;
	padding: 20px 20px;
	background: #f3f3f3;
	border-radius: 6px 6px;
}

body#cart div#wrapper section div.payment ul {
	width: 720px;
	margin: 0 auto;
}

body#cart div#wrapper section div.payment ul li {
	margin: 0 0 10px 0;
}

body#cart div#wrapper div.payment ul.form-radio li input[type="radio"]+label::before {
	top: 18px;
	left: 138px;
}


body#cart div#wrapper div.payment ul.form-radio li input[type="radio"]:checked+label::before {
	top: 18px;
	left: 138px;
}


body#cart div#wrapper div.payment ul.form-radio li input[type="radio"]:checked+label::after {
	top: 21px;
	left: 141px;
}

body#cart div#wrapper section p.note {
	color: #c30200;
	text-align: center;
}

body#cart div#wrapper section ul.btn-list {
	width: 740px;
	margin: 0 auto;
}

body#cart div#wrapper section ul.btn-list a.btn-txtlink.buy {
	width: 740px;
	margin: 0 auto 20px auto;
	padding: 10px 12px;
	background: #ee6813;
	border-radius: 40px 40px;
	font-size: 200%;
}

body#cart div#wrapper section ul.btn-list a.btn-txtlink.back {
	width: 200px;
	margin: 0 auto;
	padding: 7px 12px;
	background: #8a8a8a;
	border-radius: 25px 25px;
	font-size: 125%;
}

body#cart div#wrapper section p.bl-atn {
	margin: 30px auto;
	text-align: center;
}

body#cart div#wrapper section#seal-verisign {
	width: 100%;
	margin: 50px 0 40px 0;
	padding: 10px 0 0 0;
	border-top: 1px solid #cbcbcb;
}

body#cart div#wrapper section#seal-verisign div.inner {
	display: flex;
	justify-content: center;
}

body#cart div#wrapper section#seal-verisign div.inner p.text {
	width: 80%;
}

body#cart div#wrapper section#seal-verisign div.inner p.image {
	width: 20%;
	text-align: right;
}


@media only screen and (max-width: 767px) {
	body#cart div#wrapper section {
		width: 96%;
		margin: 0 auto;
	}

	body#cart div#wrapper section h3.stit {
		padding: 0 0 0 5px;
		font-size: 120%;
		line-height: 1.4;
	}

	body#cart div#wrapper section div.choice ul {
		flex-wrap: wrap;
	}

	body#cart div#wrapper section div.choice ul li.c-buy {
		width: 10%;
	}

	body#cart div#wrapper section div.choice ul li.c-name {
		width: 60%;
		margin-left: 3%;
		margin-right: 5%;
	}

	body#cart div#wrapper section div.choice ul li.c-math {
		width: 20%;
	}

	body#cart div#wrapper section div.choice ul li.c-subtotal {
		width: 30%;
		margin-top: 5%;
		margin-left: auto;
	}

	body#cart div#wrapper section div.choice ul li p span.split {
		display: block;
	}

	body#cart div#wrapper section div.choice p.btn-delete {
		position: relative;
		text-align: right;
		right: 10px;
	}

	body#cart div#wrapper section.payment-choice p {
		width: 45%;
	}

	body#cart div#wrapper section.payment-choice ul.form-radio {
		display: block;
		width: 55%;
	}

	body#cart div#wrapper section.payment-choice ul.form-radio li {
		font-size: 100%;
	}

	body#cart div#wrapper section.payment-choice ul.form-radio li:nth-child(1) {
		margin: 0 0 10px 0;
	}

	body#cart div#wrapper section.payment-choice ul.form-radio li label {
		margin: 0 0 0 10px;
		padding: 2px 0 2px 35px;
		border-radius: 20px 20px;
	}

	body#cart div#wrapper section.payment-choice ul.form-radio li input[type="radio"]+label::before {
		top: 7px;
		left: 11px;
	}

	body#cart div#wrapper section.payment-choice ul.form-radio li input[type="radio"]:checked+label::before {
		top: 7px;
		left: 11px;
	}

	body#cart div#wrapper section.payment-choice ul.form-radio li input[type="radio"]:checked+label::after {
		top: 10px;
		left: 14px;
	}

	body#cart div#wrapper div.payment ul.form-radio li input[type="radio"]+label::before {
		top: 18px;
		left: 20px;
	}


	body#cart div#wrapper div.payment ul.form-radio li input[type="radio"]:checked+label::before {
		top: 18px;
		left: 20px;
	}


	body#cart div#wrapper div.payment ul.form-radio li input[type="radio"]:checked+label::after {
		top: 21px;
		left: 23px;
	}

	body#cart div#wrapper section table.price {
		font-size: 100%;
	}

	body#cart div#wrapper section table.price tr th {
		width: 50%;
	}

	body#cart div#wrapper section table.price tr th dl dd {
		font-size: 125%;
	}

	body#cart div#wrapper section table.price tr td dl dt span {
		display: block;
	}

	body#cart div#wrapper section table.price tr td dl {
		align-items: center;
	}

	body#cart div#wrapper section table.price tr td dl dd {
		font-size: 110%;
	}

	body#cart div#wrapper section table.price tr td {
		width: 50%;
		padding: 10px 5px 10px 10px;
	}

	body#cart div#wrapper section div.payment ul {
		width: 90%;
	}

	body#cart div#wrapper section ul.btn-list {
		width: 90%;
	}

	body#cart div#wrapper section ul.btn-list a.btn-txtlink.buy {
		width: 100%;
		margin: 0 auto 20px auto;
		padding: 10px 12px;
		background: #ee6813;
		border-radius: 40px 40px;
		font-size: 200%;
	}

	body#cart div#wrapper section ul.btn-list a.btn-txtlink.back {
		width: 60%;
		margin: 0 auto;
		padding: 7px 12px;
		background: #8a8a8a;
		border-radius: 25px 25px;
		font-size: 125%;
	}

	body#cart div#wrapper section#seal-verisign div.inner {
		display: block;
	}

	body#cart div#wrapper section#seal-verisign div.inner p.text {
		width: 90%;
		margin: 0 auto;
	}

	body#cart div#wrapper section#seal-verisign div.inner p.image {
		width: 100%;
		text-align: center;
	}
}


/* 3-2 step ---------------- */
body#cart.step div#wrapper section span.error {
	color: #cc0000;
	font-weight: bold;
}

body#cart.step div#wrapper section.grey-box {
	width: 100%;
	padding: 20px 80px;
}

body#cart.step div#wrapper section.grey-box p.atn {
	margin: 15px 0 0 0;
	padding: 15px 30px 0 30px;
	border-top: 1px dotted #aeaeae;
}

body#cart.step div#wrapper section div.choice ul li p span.mcode {
	display: inline;
}

body#cart.step div#wrapper section div.choice {
	margin: 0 0 20px 0;
}

body#cart.step div#wrapper section div.choice ul li.c-math dl dd {
	font-size: 125%;
	font-weight: bold;
}

body#cart.step div#wrapper section.payment h4 {
	margin: 0 0 10px 0;
	font-size: 120%;
}

body#cart.step div#wrapper section.payment div {
	display: flex;
	align-items: center;
}

body#cart.step div#wrapper section.payment div p {
	margin: 0 20px 24px 0;
}

body#cart.step div#wrapper section.payment select {
	margin: 12px 0 0 0;
}


body#cart.step div#wrapper section.payment p.atn a {
	color: #1f75dc;
	font-weight: bold;
	text-decoration: underline;
}

body#cart.step div#wrapper div.btn-payment_change {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin: 0 0 24px 0;
}

body#cart.step div#wrapper div.btn-payment_change p {
	margin: 0 0 0 20px;
}


body#cart.step div#wrapper section.navigate {
	width: 100%;
	display: flex;
	justify-content: space-between;
	margin: 0 0 24px 0;
	padding: 5px 40px;
	background: #fff9f9;
	border: 3px solid #cc0000;
	border-radius: 5px 5px;
	color: #cc0000;
}

body#cart.step div#wrapper section.navigate dl {
	margin: 0;
	padding: 0 0 0 120px;
	background: url("../img/image-ng-women.png") no-repeat left center;
}

body#cart.step div#wrapper section.navigate dl dt {
	font-size: 200%;
	font-weight: bold;
	line-height: 1.3;
}

body#cart.step div#wrapper section.navigate div {
	margin: 5px 0 0 0;
}

body#cart.step div#wrapper section.navigate div p.free {
	background: #cc0000;
	border-radius: 20px;
	color: #ffffff;
	font-size: 115%;
	font-weight: bold;
	text-align: center;
}

body#cart.step div#wrapper section.navigate div p.tel {
	margin: 0;
	padding: 0 0 0 70px;
	background: url("../img/icon-ng-tel.png") no-repeat left center;
	font-size: 285%;
	font-weight: bold;
}

body#cart.step div#wrapper section.navigate div p.atn {
	text-align: center;
}

body#cart.step div#wrapper section.navigate.flt-box {
	position: fixed;
	top: 100px;
	right: 5%;
	display: block;
	width: 400px;
	padding: 10px 16px;
	box-shadow: 5px 5px 6px 1px #d6d6d6;
	z-index: 10;
}

body#cart.step div#wrapper section.navigate.flt-box button.close {
	position: absolute;
	top: -15px;
	right: -15px;
	padding: 2px 10px;
	background: #fefcff;
	border: 3px solid #cc0000;
	border-radius: 50%;
	color: #dc4743;
	font-size: 200%;
	font-weight: bold;
	cursor: pointer;
}

body#cart.step div#wrapper section.navigate.flt-box dl {
	margin: 0;
	padding: 0 0 0 70px;
	background: url("../img/image-ng-women.png") no-repeat left top;
	background-size: 70px;
}

body#cart.step div#wrapper section.navigate.flt-box dl dt {
	font-size: 180%;
}

body#cart.step div#wrapper section.navigate.flt-box div p.tel {
	padding: 0 0 0 50px;
	background: url(../img/icon-ng-tel.png) no-repeat 30px center;
	background-size: 45px;
	font-size: 200%;
	text-align: center;
}



body#cart.step div#wrapper section.login dl {
	margin: 0 0 24px 0;
}

body#cart.step div#wrapper section.login dl dt {
	margin: 0 0 5px 0;
	font-size: 110%;
	font-weight: bold;
}

body#cart.step div#wrapper section.login dl dt span {
	font-size: 90%;
	font-weight: normal;
}

body#cart.step div#wrapper section.login dl dd {
	margin: 0 0 12px 0;
}

body#cart.step div#wrapper section.login dl dd input {
	width: 380px;
}

body#cart.step div#wrapper section.login ul.btn-list {
	margin: 0 auto 12px auto;
}


body#cart.step div#wrapper section.orderer-info dl dt {
	margin: 0 0 5px 0;
	font-size: 110%;
	font-weight: bold;
}

body#cart.step div#wrapper section.orderer-info dl dt span.zip-atn {
	font-size: 90%;
	font-weight: normal;
}

body#cart.step div#wrapper section.orderer-info dl dd {
	margin: 0 0 12px 0;
}

body#cart.step div#wrapper section.orderer-info dl dd.name input {
	width: 380px;
}

body#cart.step div#wrapper section.orderer-info dl dd.birthday input {
	width: 50px;
}

body#cart.step div#wrapper section.orderer-info dl dd.address01 input {
	width: 380px;
}

body#cart.step div#wrapper section.orderer-info dl dd.address02 input {
	width: 100%;
}

body#cart.step div#wrapper section.orderer-info dl dd.telno input {
	width: 80px;
}

body#cart.step div#wrapper section.orderer-info dl dd.mailaddress input {
	width: 100%;
}

body#cart.step div#wrapper section.orderer-info dl dd.error input,
body#cart.step div#wrapper section.orderer-info dl dd.error select {
	background: #fff9f9;
	border: 2px solid #cc0000;
}

body#cart.step div#wrapper section.orderer-info dl dd.error input[type=button] {
	border: inherit;
}

body#cart.step div#wrapper section.orderer-info dl dd ul.sex {
	display: flex;
}

body#cart.step div#wrapper section.orderer-info dl dd ul.sex li {
	margin: 0 20px 0 0;
}

body#cart.step div#wrapper section.orderer-info dl dd ul.sex li label {
	padding: 0 50px;
}

ul.form-radio.sex li input[type="radio"]+label::before {
	top: 8px;
	left: 13px;
}

ul.form-radio.sex li input[type="radio"]:checked+label::before {
	top: 8px;
	left: 13px;
}

ul.form-radio.sex li input[type="radio"]:checked+label::after {
	top: 11px;
	left: 16px;
}

body#cart.step div#wrapper section.orderer-info dl dd div.zip-search {
	margin: 0 0 12px 0;
}

body#cart.step div#wrapper section.orderer-info dl dd div.zip-search input {
	margin: 0 20px 0 0;
	padding: 14px 30px;
	background: #1a73d9;
	box-shadow: 1px 2px 4px 1px #8c8c8c;
	border-radius: 20px 20px;
	color: #ffffff;
}

body#cart.step div#wrapper section.orderer-info dl dd div.zip-search a {
	padding: 2px 26px 2px 0;
	background: url(../img/icon_zip-search_arrow.png) no-repeat right center;
	color: #1a73d9;
	font-weight: bold;
	text-decoration: underline;
}

body#cart.step div#wrapper section.orderer-info dl dd p.zip-atn {
	margin: 10px 0;
}

body#cart.step div#wrapper section.orderer-info dl dd div.address-input {
	display: flex;
	align-items: center;
}

body#cart.step div#wrapper section.orderer-info dl dd div.address-input input {
	padding: 14px 30px;
	background: #8a8a8a;
	box-shadow: 1px 2px 4px 1px #8c8c8c;
	border-radius: 20px 20px;
	color: #ffffff;
}

body#cart.step div#wrapper section.destination ul li:nth-child(1) {
	margin: 0 0 12px 0;
}


body#cart.step div#wrapper section.destination ul.form-radio li input[type="radio"]+label::before {
	top: 18px;
	left: 200px;
}


body#cart.step div#wrapper section.destination ul.form-radio li input[type="radio"]:checked+label::before {
	top: 18px;
	left: 200px;
}


body#cart.step div#wrapper section.destination ul.form-radio li input[type="radio"]:checked+label::after {
	top: 21px;
	left: 203px;
}

body#cart.step div#wrapper section.addressee ul {
	margin: 0 0 24px 0;
}

body#cart.step div#wrapper section.addressee ul li select {
	width: 76%;
}

body#cart.step div#wrapper section.addressee ul li:nth-child(1) {
	margin: 0 0 12px 0;
}

body#cart.step div#wrapper section.mailnews ul li:nth-child(1) {
	margin: 0 0 12px 0;
}

body#cart.step div#wrapper section.mailnews ul.form-radio li input[type="radio"]+label::before {
	top: 18px;
	left: 120px;
}


body#cart.step div#wrapper section.mailnews ul.form-radio li input[type="radio"]:checked+label::before {
	top: 18px;
	left: 120px;
}


body#cart.step div#wrapper section.mailnews ul.form-radio li input[type="radio"]:checked+label::after {
	top: 21px;
	left: 123px;
}

body#cart div#wrapper section.privacy a.btn-txtlink.clear {
	margin-bottom: 15px;
}

body#cart.step div#wrapper section.privacy div.frame {
	overflow: auto;
	margin: 0 0 24px 0;
	padding: 20px 30px;
	background: #ffffff;
	border: 1px solid #aaaaaa;
	border-radius: 5px 5px;
	height: 400px;
}

body#cart.step div#wrapper section.privacy div.frame h4 {
	border-bottom: 1px solid #cccccc;
	font-size: 150%;
	text-align: center;
}

body#cart.step div#wrapper section.privacy div.frame h5 {
	margin: 0;
	font-size: 100%;
}

body#cart.step div#wrapper section.privacy div.frame p {
	margin: 0 0 24px 0;
}

body#cart.step div#wrapper section.privacy div.frame dl {
	margin: 0 0 20px 0;
	border: 1px solid #cccccc;
}

body#cart.step div#wrapper section.privacy div.frame dl dt {
	padding: 5px 10px;
	background: #cccccc;
	text-align: center;
}

body#cart.step div#wrapper section.privacy div.frame dl dd {
	padding: 10px 10px;
	background: #ffffff;
}

body#cart.step div#wrapper section.privacy div.frame p.t-right {
	text-align: right;
}

body#cart.step div#wrapper section.privacy div.form-check {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 0 12px 0;
	padding: 10px 0;
	background: #1a73d9;
	border-radius: 40px 40px;
	color: #ffffff;
	font-size: 125%;
	font-weight: bold;
	text-align: center;
}

body#cart.step div#wrapper section.privacy div.form-check p.check {
	margin: -18px 10px 0 0;
}

body#cart.step div#wrapper section#product-choice p.change_atn {
	margin: 0 0 12px 0;
	color: #cc0000;
}


/* 3-3 address ---------------- */
body#cart.address div#wrapper p.zip-input {
	margin: 0 0 12px 0;
}

body#cart.address div#wrapper ul.zip-input {
	display: flex;
	margin: 0 0 20px 0;
}

body#cart.address div#wrapper ul.zip-input li {
	margin: 0 20px 0 0;
	width: 33.33333%;
}

body#cart.address div#wrapper ul.zip-input li:nth-child(3) {
	padding-top: 20px;
}

body#cart.address div#wrapper .zip-input input[type="submit"] {
	margin: 0;
	padding: 5px 20px;
	background: #1a73d9;
	box-shadow: 1px 2px 4px 1px #8c8c8c;
	border-radius: 20px 20px;
	color: #ffffff;
	border: none;
	font-size: 120%;
	font-weight: bold;
}

body#cart.address div#wrapper div.payment ul.form-radio li input[type="radio"]+label::before {
	left: 30px;
}

body#cart.address div#wrapper div.payment ul.form-radio li input[type="radio"]:checked+label::before {
	left: 30px;
}

body#cart.address div#wrapper div.payment ul.form-radio li input[type="radio"]:checked+label::after {
	left: 33px;
}

body#cart.address div#wrapper section div.payment {
	overflow: scroll;
	height: 400px;
}



body#cart.favorite div#wrapper section p.pager {
	margin: 5px 0;
	text-align: center;
}

body#cart.favorite div#wrapper section table {
	width: 100%;
	margin: 0;
	padding: 0;
	border: 2px solid #cbcbcb;
	border-collapse: collapse;
	border-radius: inherit;
	white-space: inherit;
}

body#cart.favorite div#wrapper section table tr th {
	margin: 0;
	padding: 5px 5px;
	background: #efefef;
	border: 1px solid #cbcbcb;
	text-align: center;
}

body#cart.favorite div#wrapper section table tr th {
	width: 12.5%;
	text-align: center;
}

body#cart.favorite div#wrapper section table tr th:nth-child(1) {
	width: 50%;
}

body#cart.favorite div#wrapper section table tr td {
	margin: 0;
	padding: 5px 5px;
	background: #ffffff;
	border: 1px solid #cbcbcb;
	text-align: center;
}

body#cart.favorite div#wrapper section table tr td span.sp {
	display: none;
}

body#cart.favorite div#wrapper section table tr td a.btn-txtlink {
	width: 60px;
	margin: 0 auto;
}

body#cart.favorite div#wrapper section table tr td:nth-child(1) {
	text-align: left;
}

body#cart.favorite div#wrapper section table tr td dl {
	width: 100%;
	display: flex;
	align-items: center;
}

body#cart.favorite div#wrapper section table tr td dl dt {
	margin: 0 10px 0 0;
}


@media only screen and (max-width: 767px) {
	body#cart.step div#wrapper section.grey-box {
		padding: 20px 20px;
	}

	body#cart.step div#wrapper section div.choice ul li.c-subtotal {
		margin-top: -60px;
	}

	body#cart.step div#wrapper section.payment div {
		display: block;
		text-align: center;
	}

	body#cart.step div#wrapper section.payment div p {
		margin: 0 0 12px 0;
	}

	body#cart.step div#wrapper section.payment div p a {
		margin: 0 auto;
	}

	body#cart.step div#wrapper div.btn-payment_change {
		display: block;
		margin: 0 0 24px 0;
		text-align: center;
	}

	body#cart.step div#wrapper div.btn-payment_change p {
		margin: 0 0 10px 0;
	}

	body#cart.step div#wrapper div.btn-payment_change p a {
		margin: 0 auto;
	}

	body#cart.step div#wrapper section.navigate {
		display: block;
		padding: 10px 16px;
	}

	body#cart.step div#wrapper section.navigate dl {
		margin: 0;
		padding: 0 0 0 70px;
		background: url("../img/image-ng-women.png") no-repeat left center;
		background-size: 70px
	}

	body#cart.step div#wrapper section.navigate dl dt {
		font-size: 180%;
	}

	body#cart.step div#wrapper section.navigate div p.tel {
		padding: 0 0 0 50px;
		background: url(../img/icon-ng-tel.png) no-repeat 30px center;
		background-size: 45px;
		font-size: 200%;
		text-align: center;
	}

	body#cart.step div#wrapper section.navigate.flt-box {
		display: none;
		top: 30px;
		right: inherit;
		width: 94%;
		margin: 0 0 0 2%;
	}

	body#cart.step div#wrapper section.orderer-info dl dd div.zip-search input {
		display: block;
		margin: 0 0 10px 0;
	}

	body#cart.step div#wrapper section.orderer-info dl dd div.address-input {
		display: block;
	}

	body#cart.step div#wrapper section.orderer-info dl dd div.address-input p {
		margin: 0 0 10px 0;
	}

	body#cart.step div#wrapper section.privacy div.form-check {
		font-size: 96%;
	}

	body#cart.step div#wrapper section.destination ul.form-radio li input[type="radio"]+label::before {
		left: 20px;
	}

	body#cart.step div#wrapper section.destination ul.form-radio li input[type="radio"]:checked+label::before {
		left: 20px;
	}

	body#cart.step div#wrapper section.destination ul.form-radio li input[type="radio"]:checked+label::after {
		top: 21px;
		left: 23px;
	}

	body#cart.step div#wrapper section.mailnews ul.form-radio li input[type="radio"]+label::before {
		left: 20px;
	}

	body#cart.step div#wrapper section.mailnews ul.form-radio li input[type="radio"]:checked+label::before {
		left: 20px;
	}

	body#cart.step div#wrapper section.mailnews ul.form-radio li input[type="radio"]:checked+label::after {
		left: 23px;
	}

	body#cart.address div#wrapper div.payment ul.form-radio li input[type="radio"]+label::before {
		left: 18px;
	}

	body#cart.address div#wrapper div.payment ul.form-radio li input[type="radio"]:checked+label::before {
		left: 18px;
	}

	body#cart.address div#wrapper div.payment ul.form-radio li input[type="radio"]:checked+label::after {
		left: 21px;
	}

	body#cart.favorite div#wrapper section table {}

	body#cart.favorite div#wrapper section table thead {
		display: none;
	}

	body#cart.favorite div#wrapper section table tr td {
		display: block;
	}

	body#cart.favorite div#wrapper section table tr td:nth-child(4) {
		padding-top: 10px;
		padding-bottom: 8px;
		border-bottom: none;
	}

	body#cart.favorite div#wrapper section table tr td:nth-child(5) {
		padding-top: 8px;
		padding-bottom: 10px;
		border-top: none;
	}

	body#cart.favorite div#wrapper section table tr td span.sp {
		display: block;
		width: 100%;
		margin: 0 0 5px 0;
		padding: 5px 5px;
		background: #efefef;
		font-weight: bold;
	}
}






/* 4. footer
================== */

body#cart div#wrapper footer {
	margin: 100px 0 0 0;
	padding: 20px 0 0 0;
	background: #f3f3f3;
}

body#cart div#wrapper footer h3 {
	margin: 0 0 10px 0;
	padding: 0;
	font-size: 160%;
	text-align: center;
}

body#cart div#wrapper footer section div.contact {
	margin: 0 0 24px 0;
	padding: 15px 0;
	background: #ffffff;
	text-align: center;
}

body#cart div#wrapper footer section div.contact p {
	margin: 0;
	padding: 0;
	text-align: center;
}

body#cart div#wrapper footer section div.contact p.tel {
	display: inline-block;
	margin: 0;
	padding: 0 0 0 80px;
	color: #ec6815;
	font-size: 300%;
	font-weight: bold;
	background: url(../img/icon-ft01.png) no-repeat;
	text-align: center;
}

body#cart div#wrapper footer section div.contact p.note {
	color: #323232;
}


body#cart div#wrapper footer section div.guide ul {
	display: flex;
	flex-wrap: wrap;
}

body#cart div#wrapper footer section div.guide ul li {
	width: 48%;
	margin: 0 0 1% 1%;
	padding: 10px 0 10px 100px;
	background: #ffffff;
}

body#cart div#wrapper footer section div.guide ul li dl dt {
	padding: 0;
	font-size: 125%;
	font-weight: bold;
}


body#cart div#wrapper footer section div.guide ul li.ltit01 {
	background: #ffffff url(../img/icon-ft02.png) no-repeat 20px 10px;
}

body#cart div#wrapper footer section div.guide ul li.ltit02 {
	background: #ffffff url(../img/icon-ft03.png) no-repeat 20px 10px;
}

body#cart div#wrapper footer section div.guide ul li.ltit03 {
	background: #ffffff url(../img/icon-ft04.png) no-repeat 20px 10px;
}

body#cart div#wrapper footer section div.guide ul li.ltit04 {
	background: #ffffff url(../img/icon-ft05.png) no-repeat 20px 10px;
}

body#cart div#wrapper footer section div.guide ul li dl dd {}


body#cart div#wrapper footer section#footer-link {
	width: 100%;
	margin: 50px 0 0 0;
	padding: 20px 0 20px 0;
	background: #ffffff;
}

body#cart div#wrapper footer section#footer-link div {
	display: flex;
	justify-content: space-between;
	width: 960px;
	margin: 0 auto;
}

body#cart div#wrapper footer section#footer-link ul {
	display: flex;
}

body#cart div#wrapper footer section#footer-link ul li {
	margin: 0 30px 0 0;
}

body#cart div#wrapper footer section#footer-link address p {
	margin: 0;
	font-size: 90%;
	font-style: normal;
	text-align: right;
}


@media only screen and (max-width: 767px) {
	body#cart div#wrapper footer h3 {
		font-size: 130%;
	}

	body#cart div#wrapper footer section#footer-link div {
		display: block;
		width: 100%;
	}

	body#cart div#wrapper footer section div.contact p.tel {
		padding: 0 0 0 60px;
		background-size: 50px;
		font-size: 200%;
	}

	body#cart div#wrapper footer section div.guide ul {
		display: block;
	}

	body#cart div#wrapper footer section div.guide ul li {
		width: 100%;
		margin: 0 0 2% 0;
		padding: 10px 0 10px 80px;
		background-size: 50px !important;
	}

	body#cart div#wrapper footer section#footer-link ul {
		margin: 0 0 10px 0;
		justify-content: center;
	}

	body#cart div#wrapper footer section#footer-link ul li:nth-child(2) {
		margin: 0;
	}

	body#cart div#wrapper footer section#footer-link address p {
		font-size: 70%;
		text-align: center;
	}
}





/* form-parts
------------------ */

input[type=text] {
	margin: 1px;
	padding: 9px 9px;
	border-radius: 5px 5px;
	font-size: 120%;
	border: 1px solid #989898;
}

input[type=text]:focus,
select:focus {
	margin: 0;
	outline: 0;
	border: 2px solid #1a73d9;
}

input[type=password] {
	margin: 1px;
	padding: 9px 9px;
	border-radius: 5px 5px;
	font-size: 120%;
	border: 1px solid #989898;
}

input[type=password]:focus {
	margin: 0;
	outline: 0;
	border: 2px solid #1a73d9;
}

textarea {
	width: 100%;
	margin: 0;
	padding: 6px 9px;
	border-radius: 5px 5px;
	font-size: 120%;
}

/* radio */
ul.form-radio li {
	font-size: 125%;
	text-align: center;
}

ul.form-radio li label {
	display: block;
	padding: 10px 20px 10px 20px;
	background: #ffffff;
	border-radius: 30px 30px;
	border: 2px solid #cbcbcb;
	color: #828282;
}

ul.form-radio li input[type=radio] {
	display: none;
}

ul.form-radio li input[type="radio"]:checked+label {
	position: relative;
	border: 2px solid #1874d7;
	background: #ffffff;
	color: #000000;
	font-weight: bold;
}

ul.form-radio li input[type="radio"]+label {
	position: relative;
}

ul.form-radio li input[type="radio"]+label::before {
	content: "";
	display: block;
	position: absolute;
	width: 15px;
	height: 15px;
	border: 1px solid #999;
	border-radius: 50%;
}

ul.form-radio li input[type="radio"]:checked+label::before {
	content: "";
	display: block;
	position: absolute;
	width: 15px;
	height: 15px;
	border: 1px solid #999;
	border-radius: 50%;
}

ul.form-radio li input[type="radio"]:checked+label::after {
	content: "";
	display: block;
	position: absolute;
	width: 11px;
	height: 11px;
	background: #1b71de;
	border-radius: 50%;
}


/* checkbox */
.form-check input[type="checkbox"] {
	display: none;
}

.form-check label {
	position: relative;
	display: inline-block;
	padding: 3px 3px 3px 22px;
	cursor: pointer;
}

.form-check label::before {
	position: absolute;
	content: '';
	top: 50%;
	left: 0;
	width: 32px;
	height: 32px;
	margin-top: -8px;
	background: #fff;
	border: 2px solid #818181;
	border-radius: 5px 5px;
}

.form-check input[type="checkbox"]:checked+label::after {
	position: absolute;
	content: '';
	top: 15px;
	left: 4px;
	width: 22px;
	height: 10px;
	border-left: 5px solid #1b75d6;
	border-bottom: 5px solid #1b75d6;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}


body#cart.step div#wrapper section.privacy div.form-check p.check {
	margin: 0;
}

body#cart.step div#wrapper section.privacy div.form-check p.check label {
	padding: 0 0 0 46px;
}

body#cart.step div#wrapper section.privacy div.form-check p.check label::before {
	margin-top: -18px;
}

body#cart.step div#wrapper section.privacy div.form-check p.check input[type="checkbox"]:checked+label::after {
	top: 7px;
}




/* selectmenu */
select {
	margin: 1px;
	padding: 5px 5px;
	font-size: 125%;
}

/* button */
input[type="button"] {
	padding: 0;
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	appearance: none;

	font-size: 110%;
	font-weight: bold;
	line-height: 1;
}

input#delete[type="button"] {
	padding: 0 25px 0 0;
	background: url(../img/icon_cancel.png) no-repeat right center;
}




@media only screen and (max-width: 767px) {

	input[type=text],
	input[type=password] {
		max-width: 100%;
	}

	ul.form-radio li label {
		padding: 10px 10px 10px 40px;
		text-align: left;
	}

	body#cart.step div#wrapper section.privacy div.form-check p.check input[type="checkbox"]:checked+label::after {
		top: 3px;
	}
}




/*　メールニュース・お問い合わせ等、共通ヘッダー
==================*/

body#cart div#wrapper header {
	display: block;
}

body#cart div#wrapper header p#bread-clumbs {
	margin: 0 0 20px 10px;
}

body#cart div#wrapper header div.inner {
	width: 100%;
	margin: 0 0 10px 0;
	padding: 5px 10px;
	background: #989898;
}

body#cart div#wrapper header div.inner ul#head-navi {
	display: flex;
	justify-content: flex-end;
	width: 100%;
	margin: 0;
	padding: 0;
}

body#cart div#wrapper header div.inner ul#head-navi li {
	margin: 0 0 0 20px;
}

body#cart div#wrapper header div.inner ul#head-navi li a {
	color: #ffffff;
	font-weight: bold;
}




/*　メールニュース
==================*/
body#cart.mailnews div#wrapper section p.error {
	color: #cc0000;
	font-weight: bold;
}

body#cart.mailnews div#wrapper section p.error input {
	background: #fff9f9;
	border: 2px solid #cc0000;
}

body#cart.mailnews div#wrapper section section.email input {
	width: 100%;
}

body#cart.mailnews div#wrapper section ul.btn-list {
	width: 300px;
	margin-bottom: 80px;
}

body#cart.mailnews div#wrapper section ul.btn-list li a.btn-txtlink {
	width: 100%;
}



/*　お問い合わせ
==================*/

body#cart.faq div#wrapper header ul#location li {
	width: 33.333333%;
}

body#cart.faq div#wrapper header ul#location li:nth-child(3) {
	background: none;
}

body#cart.faq div#wrapper section p {
	margin: 0 0 24px 0;
}

body#cart.faq div#wrapper section dl {
	display: flex;
	flex-wrap: wrap;
}

body#cart.faq div#wrapper section dl dt {
	width: 25%;
	margin: 0 0 12px 0;
	font-size: 110%;
	font-weight: bold;
}

body#cart.faq div#wrapper section dl dt span {
	color: #cc0000;
}

body#cart.faq div#wrapper section dl dd {
	width: 75%;
	margin: 0 0 12px 0;
}

body#cart.faq div#wrapper section dl dd p {
	margin: 0;
}

body#cart.faq div#wrapper section dl dd.error p {
	color: #cc0000;
	font-weight: bold;
}

body#cart.faq div#wrapper section dl dd.error p.faq-atn {
	color: #323232;
	font-weight: normal;
}

body#cart.faq div#wrapper section dl dd input {
	width: 100%;
}

body#cart.faq div#wrapper section dl dd.error input,
body#cart.faq div#wrapper section dl dd.error textarea {
	background: #fff9f9;
	border: 2px solid #cc0000;
}

@media only screen and (max-width: 767px) {
	body#cart.faq div#wrapper section dl {
		display: block;
	}

	body#cart.faq div#wrapper section dl dt {
		width: 100%;
	}

	body#cart.faq div#wrapper section dl dd {
		width: 100%;
	}
}


/*　ご利用ガイド
==================*/

body#cart.guide div#wrapper section.grey-box a {
	color: #0000cc;
}

body#cart.guide div#wrapper section.page-navi {
	width: 100%;
	margin: 0 0 24px 0;
}

body#cart.guide div#wrapper section.page-navi ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 0 20px;
	list-style: disc inside;
}

body#cart.guide div#wrapper section.page-navi ul li {
	width: 50%;
}

body#cart.guide div#wrapper section.grey-box h4 {
	margin: 0 0 10px 0;
	padding: 0 0 5px 4px;
	border-bottom: 1px solid #1a73d9;
	font-size: 110%;
}

body#cart.guide div#wrapper section.grey-box p {
	margin: 0 0 20px 0;
}

body#cart.guide div#wrapper section.grey-box p img {
	max-width: 100%;
}

body#cart.guide div#wrapper section.grey-box p strong {
	color: #cc0000;
	font-size: 110%;
	font-weight: bold;
}

body#cart.guide div#wrapper section.grey-box p span {
	color: #cc0000;
}

body#cart.guide div#wrapper section.grey-box p.pagetop {
	text-align: right;
}

body#cart.guide div#wrapper section.grey-box p.pageback {
	text-align: right;
}

body#cart.guide div#wrapper section.grey-box table {
	width: 100%;
	margin: 0 0 24px 0;
	padding: 0;
	overflow: inherit;
	border: 1px solid #cbcbcb;
	border-collapse: collapse;
	border-radius: inherit;
}

body#cart.guide div#wrapper section.grey-box table tr th {
	margin: 0;
	padding: 5px 10px;
	background: #efefef;
	border: 1px solid #cbcbcb;
	text-align: left;
	white-space: normal;
}

body#cart.guide div#wrapper section.grey-box table tr td {
	margin: 0;
	padding: 5px 10px;
	background: #ffffff;
	border: 1px solid #cbcbcb;
	white-space: normal;
}

body#cart.guide div#wrapper section.grey-box dl.privacy {
	margin: 0 0 24px 0;
}

body#cart.guide div#wrapper section.grey-box dl.privacy dt {
	font-weight: bold;
}

body#cart.guide div#wrapper section.grey-box dl.privacy dd {
	margin: 0 0 10px 40px;
}



@media only screen and (max-width: 767px) {
	body#cart.guide div#wrapper section.page-navi ul {
		display: block;
	}

	body#cart.guide div#wrapper section.page-navi ul li {
		width: 100%;
	}

	body#cart.guide div#wrapper section.grey-box table tr th {
		display: list-item;
		list-style: none;
	}

	body#cart.guide div#wrapper section.grey-box table tr td {
		display: list-item;
		list-style: none;
	}