@charset "UTF-8";

/* -------------- Resetting Again Base CSS -------------- */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}

/* remember to define focus styles! */
:focus {
	outline: 0;
}

/* remember to highlight inserts somehow! */
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* scroll bar */
html {
	overflow: scroll;
	overflow: -moz-scrollbars-vertical;
	overflow-x: scroll;
}

.clearfix {
	overflow: hidden;
}

* html .clearfix {
	zoom: 1;
}

body {
	font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}


body {
	margin:0px 20px;
	padding:0px;
	font-size:12px;
	color: #333333;
	min-width: 800px;
	width: auto !important;
	width: 800px;
	line-height: 120%;
}

table {
	border-collapse: collapse;
	empty-cells: show;
}

td,th {
	border: none;
	font-size:12px;
	color: #333333;
	line-height: 120%;
}

form {
	margin: 0px;
}
img {
	border: 0px;
}
p {
	margin: 0px;
	padding: 2px;
}

a {
	text-decoration:none;
	color: #003399;
}
a:visited {
	color: #6655BB;
}
a:hover {
	color: #666666;
}

/* ----------------------------------------------
   modules
---------------------------------------------- */
.btn {
	display: inline-block;
	padding: .5em 1em;
	background-color: #024395;
	border: 0;
	color: #fff;
	cursor: pointer;
}
.btn:hover {
	text-decoration: underline;
}

a.btn:link,
a.btn:visited,
a.btn:hover {
	color: #fff;
}
/* ----------------------------------------------
   /modules
---------------------------------------------- */


div#header_home_box {
	margin-top: 10px;
	overflow: hidden;
}

* html div#header_home_box {
	zoom: 1;
}

div#header_home_l {
	width: 87px;
	height: 112px;
	background-image: url(imgs/logo.gif);
	background-repeat: no-repeat;
	background-size: contain;
	text-indent: -9999px;
	float: left;
}

div#header_home_r {
	width: 217px;
	height: 62px;
	margin-left: 10px;
	background-image: url(imgs/logo2.gif);
	background-repeat: no-repeat;
	background-size: contain;
	text-indent: -9999px;
	float: left;
}

div.flow {
	clear: both;
	text-indent: -9999px;
	padding-right: 5px;
	background-repeat: no-repeat;
	background-position: right;
	height: 25px;
}

div#flow_form {
	background-image: url(imgs/title_form.gif);
}

div#flow_check {
	background-image: url(imgs/title_check.gif);
}

div#flow_order {
	background-image: url(imgs/title_order.gif);
}


div.box {
	border: 1px #0066CC solid;
	margin: 10px 5px;
	padding: 0px;
}

table#cart_list {
	width: 100%;
}

table#cart_list th {
	padding: 5px;
	border: 0px #A9CCEE solid;
	border-width: 1px 0px;
	background-color: #DFECF9;
	color: #333333;
	white-space: nowrap;
}

table#cart_list td {
	padding: 5px;
	border-bottom: 1px #A9CCEE solid;
	white-space: nowrap;
}

table#cart_list td.cart_price,table#cart_list th.cart_price {
	text-align: right;
}

table.sub_total {
	width: 100%;
	margin: 10px 0 10px auto;
}

table.sub_total td {
	border-bottom: 1px #A9CCEE solid;
	text-align: right;
	padding: 5px;
}

table.sub_total td.total {
	font-weight: bold;
	font-size: 14px;
	background-color:#FFFFCC;
}

table.form_table {
	width: 100%;
}
table.form_table + .form_table {
	margin-top: 30px;
}

/* nested table for toshocard */
.form_table.form_table_paymentmethod th {
	margin-top: 0;
}
.form_table td .toshocard_input_table thead {
	display: none;
}
.form_table td .toshocard_input_table tbody th {
	width: 12%;
	word-break: keep-all;
}
.form_table td .toshocard_input_table tbody th,
.form_table td .toshocard_input_table tbody td {
	padding-bottom: 5px;
	vertical-align: top;
}
.form_table td .toshocard_input_table tbody td:nth-child(2) {
	width: 30%;
}
.form_table td .toshocard_input_table tbody td:nth-child(4) {
	width: 10%;
}
.form_table td .toshocard_input_table tbody td:last-child {
	width: 10%;
	min-width: 6em;
	text-align: center;
}

.form_table td .toshocard_list_table thead th:last-child {
	width: 15%;
}
.form_table td .toshocard_list_table td:last-child {
	text-align: center;
}

table.form_table th,
table.form_table td {
	line-height: 1.5;
}

table.form_table td {
	padding: 5px 5px 10px;
	border: 1px #A9CCEE solid;
}

table.form_table th {
	width: 150px;
	border: 1px #A9CCEE solid;
	text-align:right;
	background-color:#DFECF9;
	padding: 5px;
}

.form_table span {
	color: #CC0000;
}

.form_table strong {
	color: #CC0000;
}

.form_bt_l {
	background-image: url('./imgs/form_bt_l.gif');
	width: 100px;
	height: 20px;
	border: 0px;
	background-color: #FFFFFF;
}

.footer {
	padding: 5px;
	border-top: 1px #0066CC solid;
	text-align: center;
	white-space: nowrap;
}

.midashi {
	font-weight:bold;
	border-top: 1px #0066CC solid;
	border-bottom: 1px #0066CC solid;
	margin-top: 50px;
	margin-bottom:10px;
	padding: 5px;
	color: #000098;
	font-size: 14px;
}

.midashi:first-child {
	margin-top: 0;
}

.order_no {
	width: 280px;
	margin: 20px auto;
	padding: 5px;
	border: 1px #A9CCEE solid;
	background-color: #DFECF9;
	text-align: center;
}

.order_no span {
	color: #CC0000;
	font-weight: bold;
	font-size: 16px;
}

.order_msg {
	margin: 10px;
	padding: 5px;
	border-top: 1px #0066CC solid;
	border-bottom: 1px #0066CC solid;
}

.msg {
	padding: 5px 0px;
	text-align: center;
}

.msg span {
	color: #6633FF;
}

.form_table + .msg {
	margin-top: 20px;
}

.form_table + .mod-box-attention {
	margin-right: auto;
	margin-left: auto;
	max-width: 50em;
}

.toshocard_message {
	margin: 1em auto;
	padding: .75em 1.25em;
	max-width: 50em;
	background-color: #fff3cd;
	border: 1px solid #ffeeba;
	border-radius: .25em;
	line-height: 1.5;
	font-size: 13px;
	text-align: left;
}
.toshocard_message strong {
	color: #856404;
}

dl.verisign {
	overflow: hidden;
	margin-bottom: 10px;
}

* html dl.verisign {
	zoom: 1;
}

dl.verisign dt {
	width: 120px;
	float: left;
}

dl.verisign dd {
	padding-top: 30px;
}

ul.form_navi {
	overflow: hidden;
}

* html ul.form_navi {
	zoom: 1;
}

ul.form_navi li.form_prev {
	width: 130px;
	float: left;
}

ul.form_navi li.form_next {
	text-align: right;
	float: right;
}


/* カート画面を2カラムに */
.layout-cart-wrapper {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-top: 50px;
	padding-bottom: 50px;
}
.layout-cart-first {
	padding-right: 30px;
	width: 100%;
}
.layout-cart-side {
	width: 300px;
	border: 1px solid #06c;
	padding: 20px;
	box-sizing: content-box;
}


/* .layout-cart-first .form_table + .form_table { */
/* 	margin-top: 50px; */
/* } */

.supple-securitycode {
	display: inline;
	margin-left: 2em;
}
.supple-securitycode a {
	color: #6633ff;
}

/* モーダルウィンドウ */
body.vanilla-modal .modal-hider {
	position: absolute;
	left: -99999em;
}
.modal-inner {
	padding: 50px;
	border-radius: 5px;
	box-sizing: border-box;
}
a[data-modal-close] {
	padding: 10px;
	width: auto;
	height: auto;
	line-height: 1;
	box-shadow: none;
}

.layout-cart-first #cart_list + .msg {
	margin-top: 50px;
}

.layout-cart-side #cart_list + .midashi {
	display: none;
}
.layout-cart-side .mod-none-onside {
	display: none;
}



/* =============================================================================
   クーポンコード入力エリア
============================================================================= */
.coupon-box {
	text-align: center;
	padding: 10px;
	border: 1px #A9CCEE solid;
	background-color: #DFECF9;
	margin: 10px auto;
	max-width: 520px;
}
.coupon-box__inputarea {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 10px;
}
.coupon-box__inputarea input[type="text"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: .4em 1em;
	border: 0;
}
.coupon-box__inputarea button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: .4em 1em;
	background-color: #00418f;
	border: 0;
	color: #fff;
	min-width: 6em;
}

.coupon-error {
	color: #CC0000;
	margin: 4px;
}


/* =============================================================================
   gift wrapping
============================================================================= */
.giftwrapping-attention {
	margin: 1em auto 0;
	padding: 1em 2em;
	max-width: 700px;
	background: #fcf6df;
	line-height: 1.7;
}
.giftwrapping-attention__title {
	margin-bottom: .5em;
	text-align: center;
	line-height: 1.4;
}
.giftwrapping-attention__icon {
	display: inline-block;
	margin-right: .5em;
	padding-top: .1em;
	vertical-align: top;
}
.giftwrapping-attention li {
	font-size: 12px;
}
.giftwrapping-attention__item--important {
	font-weight: bold;
}


/* =============================================================================
   modules
============================================================================= */

/* pickupbox
---------------------------------------------- */
.mod_pickupbox {
	border: 1px #0066cc solid;
	background: #fdfdf5;
	line-height: 1.5;
}

.mod_pickupbox + .mod_pickupbox {
	margin-top: 2em;
}

.mod_pickupbox_title {
	margin: 0;
	padding: .8em 1em;
	background: #06c;
	font-size: 1.33em; /* 16/12 */
	color: #fff;
}

.mod_pickupbox_subtitle {
	margin: 3em 0 .5em;
	line-height: 1.4;
	font-size: 1.08em; /* 13/12 */
	font-weight: bold;
}
.mod_pickupbox_subtitle:first-child {
	margin-top: 0;
}

.mod_pickupbox_body {
	padding: 1em 1em 3em;
}

/* attention box
---------------------------------------------- */
.mod-box-attention {
	padding: .75em 1.25em;
	background-color: #fff3cd;
	border: 1px solid #ffeeba;
	border-radius: .25em;
	line-height: 1.5;
}
.mod-box-attention strong {
	color: #856404;
}


/* list-style: disc; default list
---------------------------------------------- */
.mod_listdef {
	margin-left: 1.5em;
	list-style: disc;
}


/* link items list
---------------------------------------------- */
.mod_listlinkitems a {
	text-decoration: underline;
}
.mod_listlinkitems a:hover {
	text-decoration: none;
}


/* inline-block items list
---------------------------------------------- */
.mod-list-inlineblock__item {
	display: inline-block;
	margin-right: 1em;
}
.mod-list-inlineblock__item:last-child {
	margin-right: 0;
}


/* form items
---------------------------------------------- */
.mod-sp-input-2col {
	display: flex;
}
.mod-sp-input-2col__item + .mod-sp-input-2col__item {
	margin-left: 0.5em;
}
.mod-input-text {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 0.5em;
	border: 1px solid #ccc;
	border-radius: 5px;
	background-color: #fff;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.form_table .mod-input-supplement {
	color: #666;
}
.mod-list-input-supplement {
	margin: 0;
	padding: 0;
	list-style: none;
}
.mod-list-input-supplement__item {
	position: relative;
	margin-top: 0.5em;
	padding-left: 1.5em;
	color: #666;
}
.mod-list-input-supplement__item::before {
	content: '\203B'; /* ※ */
	display: block;
	position: absolute;
	left: 0;
}
.mod-list-input-supplement__item.is-important {
	color: #c00;
}



/* =============================================================================
   page
============================================================================= */

/* ----------------------------------------------
   order
---------------------------------------------- */
.order_dl_linklist {
	margin-top: 1em;
	font-weight: bold;
	font-size: 14px;
}

.order_dl_linklist li + li {
	margin-top: .5em;
}

.order_dl_textarea {
	padding: 10px;
	font-size: 12px;
	width: 100%;
	min-height: 100px;
	background-color: #efefef;
	box-sizing: border-box;
}

input[disabled] {
	background-color: #aaa;
}

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

p.cart_msg {
	clear: both;
	padding: 10px 0px;
}

p.cart_msg span {
	font-weight: bold;
	color: #6633FF;
}

div#cart_continue {
	margin-top: 10px;
	float: left;
}

div#cart_regist {
	margin-top: 10px;
	text-align: right;
}

div#cart_cookie_err {
	width: 600px;
	margin: 10px auto;
	padding: 10px;
	background-color: #FFFFAA;
	border: 1px solid #CC0000;
}

div#cart_cookie_err p {
	text-align: center;
}

div#cart_cookie_err span {
	font-size: 14px;
	font-weight: bold;
	color: #CC0000;
}

div.main_box {
	border: 1px #0066CC solid;
	margin: 0px;
	margin-top: 10px;
	padding: 0px;
	background-color: #FFFFFF;
}
.p10 {
	padding: 10px;
}
.p20 {
	padding: 20px;
}
div.main_title_bar {
	height: 14px;
	border-bottom: 1px #0066CC solid;
	color: #FFFFFF;
	margin: 0px;
	padding: 8px 10px;
	font-weight: bold;
	font-size:14px;
	line-height: 14px;
	white-space: nowrap;
	background-color: #0066CC;
}
div.sub_title_bar {
	border-bottom: 1px #C7DEF4 solid;
	margin: 0px;
	padding: 5px;
	font-size:12px;
	font-weight: bold;
	white-space: nowrap;
	background-color: #C7DEF4;
}
div.sub_box, div.sub_box50 {
	border: 1px #A9CCEE solid;
	margin: 0px;
	margin-bottom: 10px;
	padding: 0px;
	background-color: #FFFFFF;
}

div.sub_box50 {
	width: 49%;
	float: left;
	overflow: hidden;
}
table#tokutei th {
	text-align: right;
	font-weight: normal;
	padding: 5px;
	padding-right: 2px;
	white-space: nowrap;
}

table#tokutei td {
	padding: 5px;
	padding-left: 2px;
}
/* CTAボタン配置 */
.cart_description {/* カートについての説明文エリア */
	float: left;
	padding-bottom: 1em;
	line-height: 1.7;
}
.cart_regist_upperofform {
	float: right;
	padding-bottom: 1em;
	text-align: right;
}

/* =============================================================================
   汎用module
============================================================================= */
.mod_btn_cta {
	-webkit-appearance: none;
	appearance: none;
	display: inline-block;
	padding: .5em 3em;
	background-color: #ff660f;
	border: 0;
	border-radius: 1.4em;
	line-height: 1.4;
	font-size: 14px;
	color: #fff;
	cursor: pointer;
}
.mod_btn_cta:hover {
	text-decoration: none;
	opacity: .9;
}
