@charset "utf-8";

/*--------------------
*reset
--------------------*/

html, body{
	width: 100%;
	height: 100%;
	font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Verdana", sans-serif;
	color: #333;
}
body{
	overflow: hidden;
}
*{
	margin: 0;
	padding: 0;
	border: 0;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}

ul{
	list-style: none;
}
a{
	text-decoration: none;
}
img{
	display: block;
}
select{
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	-ms-appearance: none;
	border: none;
	border-radius: 0;
	outline: none;
	background-color: transparent;
}

/*for sp*/

body.sp{
	background-color: #fff;
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

/*--------------------
*common
--------------------*/

.btn{
	cursor: pointer;
}

/*for sp*/

body.sp .scroll{
	-webkit-overflow-scrolling: touch;
}

/*--------------------
structure
--------------------*/

#wrapper{
	overflow: hidden;
	width: 960px;
	margin: auto;
}
#header{
	padding: 60px 0 30px;
}
#main{
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 520px;
}
#main > *{
	position: absolute;
}
#note{
	margin-top: 20px;
	font-size: 12px;
}

#viewer{
	width: 810px;
	height: 520px;
}
#viewer > *{
	position: absolute;
}
#spin_area1,
#spin_area2{
	top: 0;
	width: 100%;
	height: 100%;
}
#rotation{
	z-index: 2;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}

#menu{
	z-index: 3;
	right: 0;
	width: 150px;
	height: 100%;
	background-color: #eee;
}
#estimate{
	z-index: 4;
	bottom: 0;
	left: 10px;
	width: 350px;
	max-height: 500px;
	font-size: 14px;
	font-weight: bold;
	border-color: #d77476;
	border-style: solid;
	border-width: 1px 1px 0 1px;
	background: url("../img/bg_w80.png") repeat;
}
#grade{
	z-index: 2;
	bottom: 0;
	right: -100px;
	width: 250px;
	background: url("../img/bg_b80.png") repeat;
}
#option{
	z-index: 4;
	right: 0;
	width: 380px;
	height: 100%;
	background-color: #f4f4f4;
}
#dialog{
	z-index: 5;
	width: 100%;
	height: 100%;
	background: url("../img/bg_b80.png") repeat;
}

/*for sp*/

body.sp #wrapper{
	position: absolute;
	overflow: visible;
	top: 40px;
	bottom: 0;
	width: 100%;
	padding-top: 56.25%;
}
body.sp #header{
	position: fixed;
	top: 0px;
	width: 100%;
	height: 40px;
	padding: 8px;
	border-bottom: 1px solid #999;
}
body.sp #viewer{
	position: absolute;
	overflow: hidden;
	top: 0;
	width: 100%;
	height: auto;
}
body.sp #main{
	overflow: visible;
	height: 100%;
	border-top: solid 1px #d77476;
}
body.sp #note{
	margin: 0 0 20px;
	font-size: 9px;
}

body.sp #menu{
	background-color: transparent;
}
body.sp #estimate{
	bottom: auto;
	left: auto;
	width: 100%;
	max-height: 100%;
	font-size: 13px;
	font-weight: bold;
	border: none;
	background: none #fff;
}
body.sp #option{
	width: 100%;
}
body.sp #dialog{
	position: fixed;
	top: 0;
	background: none #000;
}

/*--------------------
#viewer
--------------------*/

#spin_area1,
#spin_area2{
	top: 0;
	left: -50px;
	width: 924px;
	height: 520px;
}

/*for sp*/

body.sp #viewer:before{
	content: "";
	position: relative;
	display: block;
	width: 100%;
	padding-bottom: 56.25%;
}
body.sp #spin_area1,
body.sp #spin_area2{
	top: -5%;
	left: -12.5%;
	width: 125%;
	height: 125%;
}
body.sp #rotation{
	width: 15%;
}

/*--------------------
*spin.js override
--------------------*/

#viewer .spin_box{
	z-index: 1;
}
#viewer .spin_progress{
	z-index: 2;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100px;
	height: 20px;
	margin: auto;
}
#viewer .spin_progress .spin_bar{
	background-color: #666;
	opacity: 0.6;
	filter: alpha(opacity=60)\9;
	-ms-filter: "alpha(opacity=60)"\9;
}
#viewer .spin_progress p{
	font-size: 10px;
	color: #ddd;
}

/*for sp*/

body.sp #viewer .spin_progress{
	width: 80px;
	height: 16px;
}
body.sp #viewer .spin_progress p{
	font-size: 9px;
}

/*--------------------
#header
--------------------*/

#header img{
	margin: auto;
}

/*for sp*/

body.sp #header h2{
	padding: 1px 4px 0;
	font-size: 10px;
	line-height: 22px;
	border-left: 1px solid #e60012;
}
body.sp #back{
	position: absolute;
	cursor: pointer;
	top: 0;
	bottom: 0;
	right: 6.25%;
	width: 16px;
	height: 16px;
	margin: auto 0;
}
body.sp #back img{
	width: 100%;
}

/*--------------------
#menu
--------------------*/

#menu > ul{
	font-size: 0;
	line-height: 0;
}
#menu > ul li{
	position: relative;
}

#menu .color{
	margin-left: 30px;
}
#menu .color li{
	display: inline-block;
	width: 44px;
	height: 44px;
	margin: 0 4px 4px 0;
}
#menu .color li img{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 34px;
	margin: auto;
}
#menu .color li.selected{
	background: url("../img/icn_gcst-pc.png") no-repeat center center;
}

#menu .color + ul{
	position: absolute;
	bottom: -6px;
	margin: 0 10px;
}
#menu .color + ul li{
	overflow: hidden;
	width: 130px;
	height: 40px;
	margin: 20px 0;
}

/*for pc*/

body.pc #menu .color+ul:after{
	content: "";
	display: block;
	position: absolute;
	top: 70px;
	width: 100%;
	height: 1px;
	background-color: #d77476;
}
body.pc #menu .color+ul li:hover img{
	position: absolute;
	bottom: 0;
}


/*for sp*/

body.sp #menu{
	overflow-y: scroll;
	top: 60px;
	bottom: 0;
	width: 100%;
	height: auto;
	padding: 0 6.25%;
}

body.sp #menu .color{
	margin-left: 0;
}
body.sp #menu .color li{
	width: 40px;
	height: 40px;
	margin: 0;
}
body.sp #menu .color li img{
	width: 30px;
}
body.sp #menu .color li.selected{
	background-image: url("../img/icn_gcst-sp.png");
	background-size: 40px auto;
}

body.sp #menu .color + ul{
	position: static;
	margin: 15px 0;
	border-top: none;
}
body.sp #menu .color + ul li{
	position: relative;
	width: 100%;
	height: auto;
	padding: 12px 0;
	margin: 0 0 10px;
	text-align: center;
	background-color: #d77476;
}
body.sp #menu .color + ul li img{
	display: inline-block;
	height: 17px;
}
body.sp #menu .color + ul li:after{
	content: "";
	position: absolute;
	display: block;
	top: 0;
	bottom: 0;
	right: 12px;
	width: 20px;
	height: 20px;
	margin: auto;
	background-repeat: no-repeat;
	background-position: center center;
}
body.sp #menu .color + ul li.grade:after{
	background-image: url(../img/icn_grd-sp.png);
	background-size: 20px auto;
}
body.sp #menu .color + ul li.option:after{
	background-image: url(../img/icn_opt-sp.png);
	background-size: auto 20px;
}

body.sp #menu select{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	font-size: 16px;
	opacity: 0.0;
}

/*--------------------
#estimate
--------------------*/

#estimate > .btn{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 10px;
	height: 18px;
	margin: auto;
}
#estimate.active > .btn{
	top: 10px;
	margin: 0;
}
#estimate > div{
	max-height: 400px;
	margin: 36px 20px 64px;
	border-bottom: solid 1px #d77476;
}

#estimate .price{
	line-height: 60px;
	text-align: right;
	border-top: solid 1px #ccc;
}
#estimate > div > div{
	overflow-y: auto;
	max-height: 340px;
}
#estimate h4{
	margin-bottom: 4px;
}
#estimate ul:before{
	position: relative;
	z-index: 1;
	display: block;
	bottom: -1px;
	height: 44px;
	text-align: center;
	line-height: 44px;
	border-top: solid 1px #d77476;
	border-bottom: solid 1px #d77476;
}
#estimate .maker:before{
	content: "メーカーオプション";
}
#estimate .dealer:before{
	content: "ディーラーオプション";
}
#estimate li{
	display: none;
	padding: 12px 0;
	font-size: 12px;
	font-weight: normal;
	border-top: solid 1px #ccc;
}
#estimate li.active{
	display: block;
}

#estimate .grade{
	position: absolute;
	bottom: 34px;
	left: 20px;
	line-height: 1em;
}
#estimate .color{
	position: absolute;
	bottom: 14px;
	left: 20px;
	font-size: 12px;
	font-weight: normal;
	line-height: 1em;
}

/*for sp*/

body.sp #estimate > .btn,
body.sp #estimate.active > .btn{
	z-index: 4;
	position: absolute;
	top: 21px;
	bottom: auto;
	right: 6.25%;
	height: 16px;
	margin: 0;
}
body.sp #estimate > div{
	position: absolute;
	padding: 60px 0 40px;
	width: 100%;
	height: 100%;
	max-height: none;
	margin: 0;
	border-bottom: none;
}

body.sp #estimate .price{
	position: absolute;
	bottom: 0;
	width: 87.5%;
	margin: 0 6.25%;
	line-height: 40px;
	border-top: solid 1px #d77476;
}
body.sp #estimate > div > div{
	position: absolute;
	top: 60px;
	bottom: 40px;
	width: 100%;
	padding: 0 6.25%;
	max-height: none;
}
body.sp #estimate ul{
	width: 100%;
}
body.sp #estimate ul:before{
	height: 40px;
	line-height: 40px;
}
body.sp #estimate li{
	font-size: 11px;
	border-color: #d77476;
}
body.sp #estimate .grade{
	position: static;
	margin: 16px 6.25% 0;
}
body.sp #estimate .color{
	position: static;
	margin: 6px 6.25% 0;
	font-size: 10px;
}

/*--------------------
#grade
--------------------*/

#grade h4 img{
	margin: 20px auto 14px;
}
#grade ul{
	margin: 0 15px 20px;
	font-size: 11px;
	text-align: center;
	border-top: solid 1px #666;
}
#grade li{
	line-height: 24px;
	border-bottom: solid 1px #666;
	color:#fff;
}
#grade li.selected{
	color:#666;
}
#grade > .btn{
	position: absolute;
	top: 10px;
	right: 10px;
}

/*for pc*/

body.pc #grade li:hover{
	color:#666;
}

/*--------------------
#option
--------------------*/

#option > *{
	position: absolute;
}

#option h4{
	top: 0;
	width: 100%;
	height: 46px;
	background-color: #ccc;
	border-bottom: solid 1px #d77476;
}
#option h4 img{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 10px;
	height: 17px;
	margin: auto;
}
#option > .btn{
	top: 14px;
	right: 10px;
	height: 18px;
}

#option > div{
	overflow: hidden;
	overflow-y: scroll;
	top: 46px;
	bottom: 0;
	width: 100%;
}
#option h5{
	position: relative;
	width: 100%;
	height: 40px;
	background-color: #d77476;
}
#option h5 img{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	height: 15px;
	margin: auto;
}

#option ul.maker,
#option ul.dealer{
	border-bottom: solid 1px #d77476;
}
#option li.opt{
	position: relative;
	padding: 10px 50px 0 50px;
	font-size: 12px;
	border-top: solid 1px #d77476;
}
#option li.opt li.opt{
	padding-left: 60px;
	margin: 0 -50px 0 -50px;
}

#option li.opt.irregular,
#option li.lock,
#option li.disable{
	cursor: default;
}

#option li.opt p.ttl{
	margin: 0 0 8px 74px;
	font-weight: bold;
	line-height: 1.5em;
}
#option li.opt p.prc{
	padding-bottom: 10px;
	margin-left: 74px;
	line-height: 22px;
}
#option li.opt p.prc .off{
	font-size: 11px;
	color: #d77476;
}
#option li.opt img.thm{
	position: absolute;
	width: 64px;
}
#option li.opt .dtl.btn{
	position: absolute;
	right: 50px;
	width: 100px;
	height: 22px;
	margin-top: -32px;
	background: url("../img/btn_dtl-pc.png") no-repeat center center #d77476;
}
#option li.opt img.slt{
	position: absolute;
	top: 20px;
	right: 14px;
	width: 22px;
}
#option li.opt:before{
	content: "";
	display: block;
	position: absolute;
	top: 22px;
	left: 15px;
	width: 20px;
	height: 20px;
	background-repeat: no-repeat;
}
#option li.opt li.opt:before{
	left: 25px;
}
#option li.opt.irregular:before{
	background-image: none;
}
#option li.opt.single:before{
	background-image: url("../img/icn_ck-pc.png");
}
#option li.opt.single.disable:before{
	content: " ";
	background-image: url("../img/icn_ck_d-pc.png");
}
#option li.opt.parent:before,
#option li.opt.child:before{
	background-image: url("../img/icn_tg-pc.png");
}
#option li.opt.parent.active:before,
#option li.opt.child.active:before{
	content: " ";
	background-image: url("../img/icn_tg_a-pc.png");
}
#option li.opt.parent.disable:before,
#option li.opt.child.disable:before{
	content: " ";
	background-image: url("../img/icn_tg_d-pc.png");
}
#option li.opt.selected:before{
	content: " ";
	background-image: url("../img/icn_ck_s-pc.png");
}
#option li.opt.lock:before{
	content: " ";
	background-image: url("../img/icn_ck_l-pc.png");
}

#option li.opt .itm{
	cursor: default;
	margin: 10px -60px 10px -50px;
}
#option li.opt.child .itm{
	margin-left: -60px;
}
#option li.opt .itm p{
	margin: 0 60px 4px 25px;
	line-height: 1em;
}
#option li.opt .itm ul{
	margin-left: 20px;
	font-size: 0;
}
#option li.opt .itm li{
	position: relative;
	display: inline-block;
	width: 32px;
	height: 32px;
}
#option li.opt .itm li.selected{
	background: url("../img/icn_ocst-pc.png") no-repeat center center;
}
#option li.opt .itm li.disable{
	background: url("../img/icn_ocds-pc.png") no-repeat center center;
}
#option li.opt .itm li img{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 22px;
	margin: auto;
}
#option li.opt .itm li.disable img,
#option li.opt .itm li.lock img{
	opacity: 0.5;
	filter: alpha(opacity=50)\9;
	-ms-filter: "alpha(opacity=50)"\9;
}

/*for sp*/

body.sp #option h4{
	z-index: 2;
	position: fixed;
	height: 40px;
	border-bottom: solid 1px #999;
	border-color: #ececec;
}
body.sp #option h4 img{
	left: 6.25%;
}
body.sp #option > .btn{
	z-index: 2;
	position: fixed;
	top: 12px;
	right: 6.25%;
	height: 16px;
}

body.sp #option > div{
	top: 0;
	bottom: 40px;
}
body.sp #option > .price{
	position: absolute;
	bottom: 0;
	width: 100%;
	font-size: 12px;
	font-weight: bold;
	line-height: 40px;
	text-align: center;
	border-top: solid 1px #d77476;
	background-color: #fff;
}

body.sp #option li.opt{
	padding: 10px 38px 0 40px;
}
body.sp #option li.opt li.opt{
	padding-left: 50px;
	margin: 0 -38px 0 -40px;
}
body.sp #option li.opt.single > .ttl{
	margin-right: -38px;
}
body.sp #option li.opt .dtl.btn{
	right: 38px;
	width: 80px;
	background-image: url("../img/btn_dtl-sp.png");
	background-size: auto 12px;
}
body.sp #option li.opt img.slt{
	right: 8px;
}
body.sp #option li.opt:before{
	left: 10px;
	background-size: auto 20px;
}
body.sp #option li.opt li.opt:before{
	left: 20px;
}
body.sp #option li.opt.single:before{
	background-image: url("../img/icn_ck-sp.png");
}
body.sp #option li.opt.single.disable:before{
	background-image: url("../img/icn_ck_d-sp.png");
}
body.sp #option li.opt.parent:before,
body.sp #option li.opt.child:before{
	background-image: url("../img/icn_tg-sp.png");
}
body.sp #option li.opt.parent.active:before,
body.sp #option li.opt.child.active:before{
	background-image: url("../img/icn_tg_a-sp.png");
}
body.sp #option li.opt.parent.disable:before,
body.sp #option li.opt.child.disable:before{
	background-image: url("../img/icn_tg_d-sp.png");
}
body.sp #option li.opt.selected:before{
	background-image: url("../img/icn_ck_s-sp.png");
}
body.sp #option li.opt.lock:before{
	opacity: 0.5;
	background-image: url("../img/icn_ck-sp.png");
}

body.sp #option li.opt .itm{
	margin: 10px -38px 10px -40px;
}
body.sp #option li.opt.child .itm{
	margin-left: -50px;
}
body.sp #option li.opt .itm p{
	margin: 0 50px 4px 25px;
}
body.sp #option li.opt .itm li{
	width: 30px;
	height: 30px;
}
body.sp #option li.opt .itm li.selected{
	background-image: url("../img/icn_ocst-sp.png");
	background-size: 30px auto;
}
body.sp #option li.opt .itm li.disable{
	background-image: url("../img/icn_ocds-sp.png");
	background-size: 30px auto;
}

/*--------------------
#dialog
--------------------*/

#dialog > div{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 540px;
	height: 320px;
	margin: auto;
	color: #000;
	background-color: #fff;
	border: solid 1px #ccc;
}
#dialog .btn{
	position: absolute;
	top: 15px;
	right: 15px;
	height: 16px;
}

#dialog ul{
	position: absolute;
	overflow-y: auto;
	top: 50px;
	bottom: 20px;
	left: 20px;
	right: 20px;
}
#dialog li{
	width: 100%;
	zoom: 1;
}
#dialog li:after{
	content: "";
	display: block;
	clear: both;
	height: 0;
}
#dialog li .ttl{
	padding-bottom: 12px;
	margin-bottom: 30px;
	font-size: 22px;
	font-weight: bold;
	border-bottom: solid 1px #ccc; 
}
#dialog li .thm{
	float: left;
	width: 240px;
	padding: 0 15px 15px 0;
}
#dialog li .bdy{
	margin: -2px 6px 0 0;
	font-size: 12px;
}

/*for sp*/

body.sp #dialog > div{
	width: auto;
	height: auto;
	border: none;
}
body.sp #dialog .btn{
	height: 16px;
}

body.sp #dialog li .ttl{
	margin-bottom: 20px;
	font-size: 20px;
	line-height: 1.2em;
}
body.sp #dialog li .thm{
	float: none;
	width: 100%;
	padding: 0 0 20px;
}
body.sp #dialog li .bdy{
	margin: 0;
}

/*--------------------
.alert
--------------------*/

.alert_gr,
.alert_op{
	position: absolute;
	z-index: 6;
	display: block;
	padding: 12px 18px;
	font-size: 12px;
	line-height: 1.5em;
	text-align: justify;
	color: #fff;
	background: url(../img/bg_b80.png) repeat;
}
.alert_gr{
	left: 0;
	right: 0;
	width: 300px;
	margin: 0 auto;
}
.alert_op{
	width: 240px;
	margin-right: 8px;
}
.alert_op:before{
	content: "";
	position: absolute;
	display: block;
	top: 50%;
	right: -10px;
	width: 10px;
	height: 20px;
	margin-top: -10px;
	background:url(../img/icn_arr.png) no-repeat;
}

/*for sp*/

body.sp .alert_gr,
body.sp .alert_op{
	bottom: 8px;
	left:6.25%;
	right:6.25%;
	width: auto;
	padding:12px 24px;
	margin: 0;
	line-height:1.25em;
	text-align:justify;
	color:#fff;
	background:none rgba(0,0,0,0.8);
}
body.sp .alert_gr:before,
body.sp .alert_op:before{
	content: "";
	position: absolute;
	display: block;
	top: auto;
	bottom:-8px;
	left:16px;
	right: auto;
	width: auto;
	height: auto;
	margin: 0;
	border-style:solid;
	border-width:8px 8px 0 8px;
	border-color:rgba(0,0,0,0.8) transparent transparent transparent;
	background:none transparent;
}

/*--------------------
#note
--------------------*/

#note li{
	position: relative;
	margin-left: 1.25em;
}
#note li:before{
	content: "●";
	position: absolute;
	left: -1.25em;
}

/*--------------------
.init
--------------------*/

body.init > *{
	display: none;
}

/*--------------------
.landscape *for sp
--------------------*/

#landscape{
	position:absolute;
	display: none;
	z-index:2;
	bottom:0;
	width:100%;
	height:34px;
	text-align:center;
	font-size:14px;
	line-height:34px;
	background-color: #fff;
}
body.landscape #landscape{
	display:block;
}

body.landscape{
	position: fixed;
	z-index: 1;
}
body.landscape #header,
body.landscape #main,
body.landscape .alert_gr,
body.landscape .alert_op{
	display:none !important;
}
body.landscape #wrapper{
	overflow: hidden;
	top: 0;
	bottom: 0;
	height: 100%;
	padding: 0;
}
body.landscape #viewer{
	overflow: visible;
	top: 50%;
}
body.landscape #spin_area1,
body.landscape #spin_area2{
	top: -50%;
	left: 0;
	width: 100%;
	height: 100%;
}
body.landscape #spin_area1 img,
body.landscape #spin_area2 img{
	margin-top:-10px;
}
body.landscape #rotation{
	top: -50%;
	bottom:50%;
}

/*--------------------
*fork color
--------------------*/

body.ek_c #estimate,
body.ek_c.sp #main,
body.ek_c #estimate > div,
body.ek_c #estimate ul:before,
body.ek_c.sp #estimate .price,
body.ek_c.sp #estimate li,
body.ek_c #option h4,
body.ek_c #option ul.maker,
body.ek_c #option ul.dealer,
body.ek_c #option li.opt,
body.ek_c.sp #option > .price{
	border-color: #063a8a;
}
body.ek_sc #estimate,
body.ek_sc.sp #main,
body.ek_sc #estimate > div,
body.ek_sc #estimate ul:before,
body.ek_sc.sp #estimate .price,
body.ek_sc.sp #estimate li,
body.ek_sc #option h4,
body.ek_sc #option ul.maker,
body.ek_sc #option ul.dealer,
body.ek_sc #option li.opt,
body.ek_sc.sp #option > .price{
	border-color: #000;
}
body.ek_c.pc #menu .color+ul:after,
body.ek_c.sp #menu .color + ul li,
body.ek_c #option h5,
body.ek_c #option li.opt .dtl.btn{
	background-color: #063a8a;
}
body.ek_sc.pc #menu .color+ul:after,
body.ek_sc.sp #menu .color + ul li,
body.ek_sc #option h5,
body.ek_sc #option li.opt .dtl.btn{
	background-color: #000;
}
body.ek_c #option li.opt p.prc .off{
	color: #063a8a;
}
body.ek_sc #option li.opt p.prc .off{
	color: #000;
}