

/* ----- BASIC TAGS */
html,body{ height: 100%; }
body {
	font-size:10.5pt;
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}

input, select {
	font-size:1.03em;
	line-height:1.5em;
}
select{height:1.8em;}
input:focus {
	border:2px solid #093;
}
input[type=submit] {
	cursor:pointer;
}
dt{min-width:6em;float: left;clear: both;padding:.5em;}
dd{padding:.5em;}

/* ----- COMMON CLASS */
.flexBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
}
.hide{display:none;}
.caution{font-size:1.5em;font-weight:bold;color:#900;}

.txt_S{font-size:.85em;}
.txt_M{font-size:1em;}
.txt_L{font-size:1.2em;}


/* ----- IDENTICAL CONFIGS */

.sp .step p:after,.fast_delivery p:after{
	content:'';
	background:#fff;
	border-left:1px solid #ccc;
	border-bottom:1px solid #ccc;
	-moz-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
	z-index:10;
}


/* ----- ORIGINAL STYLES */

/* HEADER */
header {
	width: 100%;
	background:rgba(255,255,255,.95);
	color: #333;
	border-bottom: 1px solid #333;
	padding:5px 0;
	position:fixed;
	z-index:100;
	box-shadow:0 0 3px #ccc;
}

header a {
	color: #333;
	display: block;
	text-decoration: none;
}
.header_main {
	font-size: 12px;
	margin: 0 auto;
	max-width: 800px;
}
header .logo {
	font-size: 11px;
}
header .logo a {
	position: relative;
	width: 214px;
	height: 58px;
	background: url(https://www.loupe-studio.com/common/img/header/logoG.png) 0 13px no-repeat;
	background-size: 100%;
	text-align: left;
}
header .logo strong {
	position: absolute;
	bottom: 0;
	right: 0;
	padding: 1px 1em;
	color: #FFF;
	font-weight: normal;
	background: #548c39;
}
.hspacer {
	height:80px;
}

.information{
    border:2px solid rgb(159,0,0);
    padding:5px;
        max-width: 800px;
    display:block;
    margin:0 auto 10px;
}
.information span{
    color:rgb(159,0,0);
    font-weight:bold;
}

/* CONTENTS */
.sp{font-size:18px;}

.cart_main {
    margin: 0;
}

.cart_content{text-align: -webkit-center;}

.step{
	list-style:none;
	margin-left:20px;
}
.step p,.step ul{margin:0;padding:0;}
.step p{font-size:1.3em;font-weight:bold;}
.step li{margin-right:35px;width:35px;height:35px;
	border-radius: 50%;
	background: #ddd;
	text-align:center;
	vertical-align:middle;
	font-size:15px;
	line-height:35px;
	font-weight:bold;
	color:#fff;
	transition: 1.0s ;
	position:relative;
	}
.step li:after{
	content:'';
	position:absolute;
	width:30px;
	height:25px;
	background:url("https://www.loupe-studio.com/img/cart/step_arrow.png") 0 0 no-repeat;
	display:block;
	top:5px;
	left:36px;
	z-index:10;
	}
.step li:last-child:after{display:none;}
.step li.txt_s{font-size: 13px;}
.step li.active{background:#548c39;}
.step li.active:after{background-position:100% 0;}

.sp .step{width:calc(100% - 6px);padding:0;margin:3px;}
.sp .step p{font-size:1em;font-weight:normal;padding:5px;margin-bottom:10px;border:1px solid #ccc;border-radius:5px;position:relative;}
.sp .step p:after{
	width:10px;
	height:10px;
	position:absolute;
	bottom:-6px;

	content:'';
	background:#fff;
	border-left:1px solid #ccc;
	border-bottom:1px solid #ccc;
	-moz-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
	z-index:10;
}
.sp .step01 .step p:after{left:12px;}
.sp .step02 .step p:after{left:82px;}
.sp .step03 .step p:after{left:152px;}
.sp .step04 .step p:after{left:222px;}
.sp .step p span{font-size:.8em;font-weight:bold;padding:0 1em 0 0;}


.box table {
	box-shadow: 0 2px 5px #ccc;
}
.box table table {
	box-shadow:none;
}


.cart1st table{width:800px;}
.orderitems td,.orderitems th{font-size:.85em;}
.orderitems th:nth-child(4){min-width:70px;}
.orderitems td:nth-child(2){width:320px;}
.orderitems table table tr:last-child td:nth-child(2){width:auto;}
.instock{font-size:.9em;color:#900;display:block;}
.fast_delivery{width:800px;}
.fast_delivery p{width: 100%;
    padding: 5px 0;
    margin: 0 0 10px;
    border: 1px solid #ccc;
    border-radius: 10px;
	position:relative;
}
.fast_delivery p:after{
	width:15px;
	height:15px;
	position:absolute;
	bottom:-9px;
	left:480px;
}
.fast_delivery span{font-weight:bold;}
.fast_deli{background:#9cc;}
.fast_deli_txt{color:#9cc;}

.order_step td[align=right]:nth-child(2){width:210px;}

.Rbotan,input[name=frem]{
	color: #fff;
	line-height:1.3em;
    font-size: 1.3em;
    font-weight: bold;
    width: 300px;
    height: 40px;
    background: #f60;
    /* border-radius: 5px 30px 30px 5px; */
	border-radius:7px;
    border: 3px solid #ad1812;
    box-shadow: 0px 2px 10px #999;
	transition: .7s;
	}
.Rbotan:hover,input[name=frem]:hover{
    background: #73bd01;
    border: 3px solid #548c39;
}
td[align=right] .Rbotan{
	width: 320px;
    height: 45px;
}
td[align=right] .Rbotan:hover{
	font-size: 1.5em;
}

#kbotan, #sbotan {
	width:250px;
	height:80px;
	font-size:150%;
	font-weight:bold;
    color: #fff;
    text-shadow: 2px 2px 2px #6b883e, 0 0 #004d2d;
	background: #73bd01;
    border: 3px solid #004d2d;
	box-shadow: 0px 2px 10px #999;
	transition: .4s;
}
#kbotan:hover, #sbotan:hover {
	font-size:1.8em;
}

.order_items_bottom .shipping_bnr{
	border: 4px solid #004d2d;
    width: 800px;
    text-align: left;
    margin: -10px 0 10px 0;
    box-sizing: border-box;
    padding: 5px 10px 5px 20px;
	}

.oi_bottom_msg{
	margin: -.9em 0 5px;
	font-size: 1.3em;
    border: 1px solid #4f4f4f;
	border-radius:10px;
	background:#e6fae6;
    padding: 3px;
    width: 800px;
    box-sizing: border-box;
	position:relative;
}
.oi_bottom_msg span{
	font-weight: bold;
    font-size: 1.3em;
    color: #ad1812;}
.oi_bottom_msg:after{
	content:'';
	width:15px;
	height:15px;
	position:absolute;
	top:-9px;
	left:550px;
	background: #e6fae6;
	border-right:1px solid #4f4f4f;
	border-top:1px solid #4f4f4f;
	-moz-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.orderer {
	margin-top:10px;
}
.shipping tr:nth-child(6) , .step02 tr:nth-child(6){
	display:none;
}

.shipping_option_title td{color:#fff;font-weight:bold;}

.shipping_bnr{
    margin: 5px 5px 10px;
    padding: 5px;
    background: #fff url(https://www.loupe-studio.com/img/cart/shipping_bnr.png) 98% 50% no-repeat;
    background-size: contain;
    color: #000;
    font-weight: normal;
    border-radius: 5px;
	box-shadow: 0px 0px 5px 0px #999 inset;
}
.shipping_fee{font-size:1.2em;font-weight:bold;}
.opt_change{
	background:#fff;
	}
.opt_change td{padding:10px;position:relative;}
.opt_change .btn{
	position:absolute;
    right:5px;
	top:calc( 50% - 1em - 2.5px );
    padding: 5px 10px;
    border-radius: 5px;
    box-shadow: 0px 2px 10px #999;
    background: #548c39;
    color: #fff;
	text-align: right;
    font-weight: bold;
    cursor: pointer;
}
.opt_change .btn:hover,#kbotan:hover, #sbotan:hover {
	box-shadow: 0px 2px 10px #999, 0 4px 16px rgba(0, 0, 0, 0.4), 0 1px 2px 1px transparent inset, 0 18px 32px -2px rgba(255, 255, 255, 0.14) inset;
}
.shipping_note{
	margin: 0;
    padding: 5px;
	list-style:none;
	font-size: .85em;
}
.shipping_note li{
	margin: 5px 0;
	padding-left:100px;
	border-bottom: 1px dotted #73bd01;
	background-size: 90px auto;
	}
.shipping_msg01{
	background: url(https://www.loupe-studio.com/img/cart/shipping_msg01.png) 0 50% no-repeat;
}
.shipping_fast_del{
	background: url(https://www.loupe-studio.com/img/cart/shipping_fast_del.png) 0 50% no-repeat;
}
.shipping_mb{
	background: url(https://www.loupe-studio.com/img/cart/shipping_mb.png) 0 50% no-repeat;
}
.shipping_option td{
	padding: 5px 5px 8px;
	background:#fff;
	}

.payment table table table {
	width:520px;
}
.payment table table table td {
	font-size:.9em;
}
.payment table table table td:nth-child(1) {
	width:120px;
	font-size:.8em;
	font-weight:bold;
}
.step03 label{font-size: 2em;}


.payment label {
	position:relative;
	width:100%;
	cursor:pointer;
	display:block;
}
.payment label input {
	margin:0 0 0 10px;
	position:absolute;
	top:calc( 50% - 8px);
	z-index:5;
}
.payment label b {
	font-size:2em;
	padding:0 5px 0 40px;
	width:100%;
	box-sizing:border-box;
	display:block;
	border-radius: 10px;
	box-shadow: 0 3px 0 0 #b7c3d1, 0 4px 4px -1px rgba(0, 0, 0, 0.6), 0 4px 6px 1px rgba(0, 0, 0, 0.3), 0 1px 2px 1px transparent inset, 0 18px 32px -2px rgba(255, 255, 255, 0.1) inset;
	background-color: #E6EAEF;
	background-image: linear-gradient(-45deg, #f0f6ff, #ecf9ff);
	border-radius: 10px;
	position: relative;
}
.payment label b:hover {
	box-shadow: 0 3px 0 0 #b7c3d1, 0 6px 4px -1px rgba(0, 0, 0, 0.3), 0 4px 16px rgba(0, 0, 0, 0.4), 0 1px 2px 1px transparent inset, 0 18px 32px -2px rgba(255, 255, 255, 0.14) inset;
}
.payment label input:checked + b {
	background-image: linear-gradient(-45deg, #ecf9ff, #f0f6ff);
	box-shadow:0px 0px 5px 0px #4f4f4f inset;
	color: #555;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.3);
}
.payment label input + b:before {
	content:'';
	width:16px;
	height:16px;
	border-radius: 50%;
	background: #ddd;
	position: absolute;
	margin: 0;
	top: calc(50% - 8px );
	left: 10px;
	z-index: 10;
	border: 2px solid #fff;
	box-sizing: border-box;
	box-shadow: 0 0 0 2px #ccc;
}
.payment label input:checked + b:before {
	background: #0171bd;
}
.payment label input:disabled + b {
	color:#ccc;
}
.payment label input:disabled + b:hover {
	box-shadow: 0 3px 0 0 #b7c3d1, 0 4px 4px -1px rgba(0, 0, 0, 0.6), 0 4px 6px 1px rgba(0, 0, 0, 0.3), 0 1px 2px 1px transparent inset, 0 18px 32px -2px rgba(255, 255, 255, 0.1) inset;
}
.payment .caution{font-size:1.1em;}

.thumbnail {
	margin:0;
}
.thumbnail img {
	height:26px;
}



.order_view{
    display: block;
	position: fixed;
    top: 80px;
    right: 0;

    box-sizing: border-box;
    width: calc((100% - 820px) / 2 );
    min-width: 200px;
	max-height:calc(100% - 80px);

    padding: 10px 10px 10px 10px;
    border: 1px solid #a3a7ab;
	border-right:none;

    font-size: 1.2em;
    background: #fff;
	z-index: 200;

}
.order_view .title{
    display: block;
    background: #548c39;
    padding: .5em 1.5em;
    color: #fff;
	display:block;
	transition:.7s;
	position:relative;
}
.order_view .title:before{
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: .5em;
  margin-top: -4px;
  transition:.7s;
}


.order_view ul{
	font-size: .7em;
    padding: 0;
    margin:0;
 	max-height: calc( 100vh - 80px - 18em);
    overflow: auto;
	list-style: none;

}

.order_view li{
	border-bottom: 1px solid #ccc;
    padding: 5px 0;
}
.order_view img{
    width: 60px;
    float: left;
    margin-right: .5em;
}
.order_view .name{
	max-height:4.2em;
	display:block;
	overflow:hidden;
}
.order_view .nums{
    display: block;
    width: 100%;
    text-align: right;
    clear: both;
}
.order_view dl{
	margin: .5em 0;
    font-size: .8em;
}

.order_view dt {
    padding: .5em 0 0;
    display: block;

}
.order_view dd{
    text-align: right;
    margin: 0;
    padding: .5em 0 0;
    border-bottom: 1px solid #ccc;
}
.order_view dt:last-child,.order_view dd:last-child{
	border:none;
	font-size:1.1em;
}
/* SCREEN SIZE */
@media screen and (max-width: 1199px) {
	.order_view{
		width:300px;
		right:-310px;
		transition:.7s;
	}
	.order_view .title{
		position:absolute;
		margin-left:-8em;
		cursor:pointer;
	}
	.order_view .title:before{
	  transform: rotate(-135deg);
	}
	.order_view.open{
		right:0;
	}
	.order_view.open .title{
		margin-left:-1.5em;
	}
	.order_view.open .title:before{
		transform: rotate(45deg);
	}
	.order_view ul{
	    margin: 50px 0 0;
	}

}
