@charset "UTF-8";
/* 
CSS Document 
ページ共通CSS
ヘッダ, フッタ, サイド
*/

body {
	font-family:"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HiraKakuPro-W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",Arial, Helvetica,sans-serif;
	color:#000;
	font-size:16px;
	line-height:1.5;
	-webkit-text-size-adjust: 100%;
	}
	
/*テキストリンク*/
a {
	color:#000;
	}
	
a:hover {
	}

/*テキスト*/
.red {
	color:#c3002f;
}

.caution {
	position: relative;
	padding-left:1em;
	color:#4c4c4c;
}
.caution.red {color:#c3002f;}
.caution.noicon {padding-left:0;}
.caution span:first-child {
	position: absolute;
	left:0;
}


/*ボタン*/
.boxButton {
	text-decoration: none;
	display: inline-block;
	border:1px solid #ccc;
	background:#fff;
	padding:0.8em;
	line-height: 1em;
	border-radius:4px;
	font-size:24px;
	min-width:300px;
	text-align: center;
	letter-spacing: 1em;
	text-indent: 1em;
	transition:background-color 0.3s linear;
	cursor:pointer;
}

.boxButton i:first-child {
	margin-right:0.5em;
}

.boxButton.red {
	color:#fff;
	background:#c72243;
	border:none;
}
.boxButton.red:hover {
	background:#9e1d36;
}
.boxButton.grey {
	color:#fff;
	background:#aaaaaa;
	border:none;
}
.boxButton.grey:hover {
	background:#777777;
}

/*ヘッダ*/
h1 {
	margin-bottom: 25px;
	padding:0 12px;
}

/*フッタ*/
/*footer {*/
/*	line-height: 1em;*/
/*	padding:10px;*/
/*	background:#ccc;*/
/*	font-size:8px;*/
/*}*/
/*footer img {vertical-align: top;}*/

/*コンテナ*/
#container.constBox {
	margin-top:0;
	margin-bottom:60px;
}
#container.constBox > .inner {
	border:2px solid #c7c7c7;
}

.constBox {
	width:1004px;
	margin-left:auto;
	margin-right:auto;
	padding:0 20px;
}

/*フォーム*/
.formContainer form .tit {
	font-size:16px;
	font-weight: normal;
	padding:20px 20px 20px 40px;
	line-height: 1em;
	position: relative;
}
.formContainer form .tit::before {
	content:"";
	display:block;
	width:0.5em;
	height:0.5em;
	background:#c3002f;
	position: absolute;
	left:20px;
	top:50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.formContainer table {
	width:100%;
	border-bottom:1px solid #c7c7c7;
}
.formContainer section:first-child table {
	border-top:1px solid #c7c7c7;
}
.formContainer section:nth-child(2) table {
	border-top:none;
}
.formContainer table th,
.formContainer table td {
	border-bottom:1px solid #c7c7c7;
	padding:20px;
}

.formContainer table th {
	font-size:14px;
	text-align:left;
	background:#e0e0e0;
	width:280px;
}

.formContainer table .must th {
	position: relative;
	z-index:-1;
}
.formContainer table .must:not(.confirm) th::before {
	content:"必須";
	background:#c3002f;
	color:#fff;
	font-size:10px;
	display:block;
	padding:0.3em 0.5em 0.5em;
	line-height: 1em;
	position: absolute;
	left:20px;
	border-radius: 5px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.formContainer table td {
	background:#f4f4f4;
}
.formContainer#submitForm table td {
	font-size:14px;
}

/*テーブル背景色*/
/*無効*/
.formContainer .disabled th {background:#ccc;}
.formContainer .disabled td {background:#eee;}
/*エラー*/
.formContainer .error td {
	/*background:#e9dade;*/
}

/* フォームエラー画面 */
#errorBox {
	display: none;
	padding: 60px 0;
}

/*フォーム部品*/
.formContainer input[type=text] {
	border:2px solid #ccc;
	padding:0.8em;
	width: 200px;
}
.formContainer .date{
	position: relative;
}
.formContainer .date::before {
	display:block;
	border:5px solid transparent;
	border-top-color:#c7c7c7;
	content:"";
	position: absolute;
	top:50%;
	left:0.6em;
	-webkit-transform:translateY(-0.2em) scaleX(0.7);
	transform:translateY(-0.2em) scaleX(0.7);
}
.formContainer .date input[type=text] {
	width: 150px;
	padding-left: 1.8em;
}
.formContainer .date input[type=text]::-webkit-input-placeholder {
	color: black;
}
.formContainer .date input[type=text]::-moz-placeholder {
	color: black;
}
.formContainer .date input[type=text]:-ms-input-placeholder {
	color: black;
}
.formContainer .date input[type=text]:disabled::-webkit-input-placeholder {
	color: #999;
}
.formContainer .date input[type=text]:disabled::-moz-placeholder {
	color: #999;
}
.formContainer .date input[type=text]:disabled:-ms-input-placeholder {
	color: #999;
}
.formContainer .shopName {
	display: none;
	margin: 0.8em 0 0;
	padding: 0.8em 1.2em 1em;
	background: #fff;
	border: 2px solid #ccc;
}
.formContainer .confirm .shopName {
	margin:0;
	padding:0;
	background:none;
	border:none;
}

.formContainer .len2 input {width:4em;}
.formContainer .len3 input {width:5em;}
.formContainer .len4 input {width:6em;}
.formContainer .long,
.formContainer .long input {width:100%;}

.formContainer .select {
	border:2px solid #ccc;
	padding:0.8em;
	min-width:150px;
	background:#fff;
	display: inline-block;
	position: relative;
}
.formContainer .select::before {
	display:block;
	border:5px solid transparent;
	border-top-color:#c7c7c7;
	content:"";
	position: absolute;
	top:50%;
	left:0.5em;
	-webkit-transform:translateY(-0.2em) scaleX(0.7);
	transform:translateY(-0.2em) scaleX(0.7);
}
.formContainer .select select {
	border:none;
	display: block;
	width:100%;
	padding-left:1em;
	background:#fff;
}

/*検索ボタン*/
.formContainer .searchButton.boxButton {
	width:auto;
	font-size:14px;
	letter-spacing: 0.02em;
	color:#fff;
	min-width:0;
	text-indent: 0;
	vertical-align: middle;
	padding:0.8em;
	border:none;
}

/*入力内容確認の案内表示*/
#confirmInfo {
	display:none;
	font-size:16px;
	padding:30px 0;
	text-align: center;
	line-height: 2.0;
}
/*確認画面 入力内容の確認表示*/
.confirmField {
	font-size: 13px;
}

/*フォームエラー*/
#errorInfo {
	display:none;
	font-size:14px;
	padding:30px 0;
	text-align: center;
}

.formContainer .errStr {
	color:#c3002f;
	margin-top:20px;
}

.formContainer table .error th {
	background-color: #ffd2de;
}

.formContainer table .error td {
	background-color: #ffedf2;
}
/*Twitterキャンペーン領域*/
.formContainer .infoArea .bold.fs12 {
	padding:25px 0;
	color:#4c4c4c;
}

.formContainer .infoArea .tl > * {
	padding:20px 0;
	vertical-align: middle;
}
.formContainer .infoArea .tl > div {
	background:#c3002f;
	color:#fff;
	font-size:16px;
	width:666px;
}
.formContainer .infoArea .tl > div strong {
	font-size:22px;
	font-weight: normal;
}

.formContainer .infoArea .arrow {
	width:666px;
	text-align: center;
}

.formContainer .infoArea .tl > a {
	background:#999999;
	font-size:22px;
	color:#fff;
	text-decoration: none;
}
.formContainer .infoArea .tl > a::after {
	display:inline-block;
	border:0.4em solid transparent;
	border-top-color:#fff;
	content:"";
	-webkit-transform:translateY(-0.2em) scaleX(0.7);
	transform:translateY(-0.2em) scaleX(0.7);
	vertical-align: top;
	position: relative;
	top:0.8em;
	margin-left:0.5em;
}


/*フォーム下部*/
.formContainer .formBottom {
	font-size:12px;
}

.formContainer .formBottom #confirmButton:disabled{
	color:#fff;
	background:#aaaaaa;
}

.formContainer .formBottom .termArea {
	border:1px solid #ccc;
	padding:15px;
}
.formContainer .formBottom .termArea .inner {
	overflow: auto;
	height:170px;
}

.formContainer .formBottom .otherArea {
	border-top:1px solid #ccc;
	margin-top:50px;
	padding-top:50px;
}
.formContainer .formBottom .otherArea .inner {
	display:inline-block;
	max-width:420px;
	text-align: left;
}
.formContainer .formBottom .otherArea .inner .linkArea {text-align: center;}

/*========================================
店舗検索
========================================*/
.shopSearchTargetModal {
	display:none;
	padding:0;
	margin:0;
	background: #fff;
}
.shopSearchTargetModal .question{
	background: #e0e0e0;
}
.shopSearchTargetModal .answer{
	background: #f4f4f4;
}
.shopSearchTargetModal .boxButton{
	letter-spacing: 0;
	display: block;
	margin: 20px 0;
	width: 100%;
}

#template {display:none;}

/*地図*/
.shopSearchModal {
	position: relative;
}
.shopSearchModal .gmap {
	position: relative;
}
.shopSearchModal .gmap > * {
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

.shopSearchModal h2 {
	font-size:18px;
	color:#fff;
	padding:20px 0;
}
.shopSearchModal .addrArea {
	background:#000;
	color:#fff;
	padding:20px;
}
.shopSearchModal .resultArea {
	position: relative;
}
.shopSearchModal .addrArea .tl > figure {
	width:48px;
	padding-right:20px;
}
.shopSearchModal .addrArea .tl > div {
	position:relative;
}
.shopSearchModal .addrArea .link {
	margin-top:15px;
}
.shopSearchModal .addrArea .link a {
	color:#fff;
	text-decoration: none;
	display:inline-block;
	margin-right:1em;
}
.shopSearchModal h3 {
	color:#333;
	line-height: 1em;
	padding:20px;
	background:#ccc;
}
.shopSearchModal .tempo {
	border-bottom: #333333 1px solid;
}
.shopSearchModal .carlist {
	background:#fff;
}
.shopSearchModal .carlist > li .tit {
	padding:20px;
	font-size:20px;
	background:#f6f6f6;
	line-height: 1.4em;
}
.shopSearchModal .carlist .inner {
	padding:20px;
}
.shopSearchModal .carlist .inner .features {
	font-size:12px;
}
.shopSearchModal .carlist .inner .features li {
	display:inline-block;
	line-height: 1em;
	border-right:1px solid #dfdfdf;
	margin-right:1em;
	padding-right:1em;
	font-weight: bold;
	vertical-align: top;
}
.shopSearchModal .carlist .inner .features li:last-child {
	margin-right:0;
	padding-right:0;
	border:none;
}
.shopSearchModal .carlist .inner .tl > div {
	width:135px;
}
.shopSearchModal div .boxButton,
.shopSearchModal .carlist .inner .tl > div .boxButton {
	background:#c3002f;
	color:#fff;
	font-size:14px;
	min-width: 0;
	text-indent: 0;
	letter-spacing: 0.02em;
	border:none;
	border-radius: 0;
}

/*========================================
モーダル
========================================*/
#modalContainer, #modal {
	opacity:0;
	transition:all 0.3s linear;
}
#modalContainer.on {
	opacity:1;
}
#modal.on {
	opacity:1;
}
#modalContainer {
	position: fixed;
	width:100%;
	height:100%;
	background:rgba(0, 0, 0, 0.8);
	top:0;
	left:0;
	z-index:1001;
}

#modal {
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
	/*border:1px solid #eaeaea;*/
	/*background:#fff;*/
	/*padding:40px;*/
	width:80%;
	max-height:90%;
	max-width:880px;
	overflow: hidden;
	/*-webkit-overflow-scrolling: touch;*/
}
#modal > .closeButton {
	position: absolute;
	display: block;
	text-align: center;
	font-size:30px;
	line-height: 1;
	color: #999;
}
#modal.map > .closeButton {
	color: #fff;
}
#modal > .tl > * {vertical-align: middle;}

/*エラー*/
#modal .error {
	background:#fff;
	padding:20px;
	text-align:center;
}
#modal .error .boxButton {
	font-size:18px;
	letter-spacing: 0.4em;
	text-indent: 0;
	margin-top: 10px;
	margin-bottom: 5px;
}
#modal .error .error-detail {
	font-size:14px;
	width:13em;
	margin: 10px auto;
	text-align: left;
}
#modal .error .error-detail dt {
	display: inline-block;
	width: 6em;
	text-align: right;
}
#modal .error .error-detail dd {
	display: inline-block;
}
#modal .error .notes {
	font-size:14px;
}

.notes{
	color:#4c4c4c;
}

label.disabled{
	color: #999;
}

@media screen and (min-width: 768px) {
	.sp-only{
		display: none;
	}
	.formContainer table .must:not(.confirm) th {
		padding-left:60px;
	}
	.formContainer table .must:not(.confirm) th::before {
		top:50%;
	}

	.formContainer table td {
		font-size:12px;
	}

	.formContainer .field {
		display:inline-block;
	}
	.formContainer .field+.field {
		margin-left:10px;
	}
	.formContainer .formBottom {
		padding:45px;
	}
	.formContainer .searchButton.boxButton {
		margin-left:10px;
	}
	.shopSearchTargetModal .question{
		padding: 30px 40px;
	}
	.shopSearchTargetModal .answer{
		padding: 15px 40px;
	}
	.shopSearchModal {
		overflow: auto;
		margin-top: 40px;
	}
	.shopSearchModal .gmap {
		height: 400px;
	}
	.shopSearchModal .addrArea .tl > div .boxButton{
		position:absolute;
		top:0;
		right:0;
	}
	.formContainer .formBottom #prevButton{
		min-width: 200px;
		margin-right: 20px;
	}
	#modal > .closeButton {
		top:3px;
		right:8px;
	}
	#modal .error .boxButton {
		min-width: 25em;
	}
}
@media screen and (max-width: 767px) {
	.pc-only{
		display: none;
	}
	.constBox {
		width: 100%;
		margin-left: auto;
		margin-right: auto;
		padding: 0 4%;
	}
	header h1 {
		line-height: 1em;
		font-size: 10px;
		max-width: 640px;
		width: auto;
		margin: 0 auto;
		padding: 0 4%;
	}
	header h1 img {
		max-width: 100px;
		width: 11.3%;
	}

	.formContainer table,
	.formContainer table tbody,
	.formContainer table tr,
	.formContainer table th,
	.formContainer table td {
		display:block;
		width:100%;
	}

	.formContainer table th,
	.formContainer table td {
		padding: 15px;
	}

	.formContainer table .must:not(.confirm) th {
		padding-top: 40px;
	}

	.formContainer table .must:not(.confirm) th::before {
		top: 20px;
	}

	.formContainer table td {
		font-size: 13px;
	}

	.formContainer .field {
		display: block;
	}
	.formContainer .postcode .field {
		display: inline-block;
	}
	.formContainer .field+.field {
		margin-top: 14px;
	}
	.formContainer .req_field+.req_field {
		margin-top: 14px;
	}
	.formContainer .select {
		width: 100%;
	}
	.formContainer input[type=text] {
		font-size:16px;
	}
	.formContainer select {
		font-size:16px;
	}
	.iphone .formContainer select[name=shop] {
		word-wrap: break-word;
	}
	.android .formContainer select[name=shop] {
		font-size:13px;
	}
	.formContainer .date input[type=text] {
		width: 100%;
	}
	.formContainer .formBottom {
		padding:15px;
	}
	.shopSearchTargetModal .question{
		padding: 15px 20px;
	}
	.shopSearchTargetModal .answer{
		padding: 5px 20px;
	}
	.shopSearchTargetModal .boxButton{
		min-width: auto;
		text-indent: 0;
		line-height: 1.2;
		height: 4em;
	}
	#modal{
		width: 90%;
		max-height: 92%;
	}
	#modal > .closeButton {
		right:5px;
		top:0;
	}
	.shopSearchModal {
		overflow: auto;
		-webkit-overflow-scrolling: touch;
		margin-top: 30px;
	}
	.shopSearchModal .gmap {
		height: 300px;
	}
	.shopSearchModal .addrArea .tl > div .boxButton{
		position:absolute;
		bottom:0;
		right:0;
	}
	#modal .error .boxButton {
		letter-spacing: 0.1em;
		line-height: 1.3;
	}
}
@media screen and (max-width: 375px) {
	.android .formContainer select[name=shop] {
		font-size:12px;
	}
}
@media screen and (max-width: 360px) {
	.android .formContainer select[name=shop] {
		font-size:11px;
	}
}
@media screen and (max-width: 320px) {
	.boxButton{
		min-width: 240px;
	}
}

/*新マップ*/
.q2_field{
	display: none;
}
.lead_field{
	display: none;
}
.means_field{
	display: none;
}
#inline-map .gmap{
	position: relative;
	background: #fff;
}
#inline-map .gmap span{
	top: 50%;
	width: 100%;
	text-align: center;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	position: absolute;
	display: block;
}
#inline-map .resultArea {
	position: relative;
}
#inline-map .resultArea .tempo{
	display: none;
}
#inline-map .addrArea {
	background:#000;
	color:#fff;
	padding:20px;
	font-size: 15px;
}
#inline-map .addrArea .tl > figure {
	width:48px;
	padding-right:20px;
}
#inline-map .addrArea .tl > div {
	position:relative;
}
#inline-map .addrArea .link {
	margin-top:15px;
}
#inline-map .addrArea .link a {
	color:#fff;
	text-decoration: none;
	display:inline-block;
	margin-right:1em;
}
#inline-map .addrArea .tl > div .boxButton{
	position:absolute;
	right:0;
}
#inline-map div .boxButton {
	background:#c3002f;
	color:#fff;
	font-size:14px;
	min-width: 0;
	text-indent: 0;
	letter-spacing: 0.02em;
	border:none;
	border-radius: 0;
}
#inline-map .tempo h3 {
	color:#333;
	font-size: 20px;
	line-height: 1em;
	padding:20px;
	background:#ccc;
}
#inline-map .tempo {
	border-bottom: #333333 1px solid;
}
#inline-map .carlist {
	background:#fff;
}
#inline-map .carlist > li .name {
	padding:20px;
	font-size:20px;
	font-weight: bold;
	background:#f6f6f6;
	line-height: 1.4em;
}
#inline-map .carlist .inner {
	padding:20px;
}
#inline-map .carlist .inner .features {
	font-size:12px;
}
#inline-map .carlist .inner .features li {
	display:inline-block;
	line-height: 1em;
	border-right:1px solid #dfdfdf;
	margin-right:1em;
	padding-right:1em;
	font-weight: bold;
	vertical-align: top;
}
#inline-map .carlist .inner .features li:last-child {
	margin-right:0;
	padding-right:0;
	border:none;
}
#inline-map .carlist .inner .tl > div {
	width:135px;
}
.shopSearchModal div .boxButton,
.shopSearchModal .carlist .inner .tl > div .boxButton {
	background:#c3002f;
	color:#fff;
	font-size:14px;
	min-width: 0;
	text-indent: 0;
	letter-spacing: 0.02em;
	border:none;
	border-radius: 0;
}
.formContainer .shopNameArea {
	display: none;
	margin: 0.8em 0 0;
}
.formContainer .shopName {
	display: block;
}
.formContainer .search-field {
	padding: 10px 0;
	border-top: #c7c7c7 1px solid;
}
.formContainer .search-field p {
	margin: 0 0 5px 2px;
}
.formContainer .search-field a.disabled {
	pointer-events: none;
	background: rgba(199,34,67,0.5);
}
.fa-location:before {
	content: "\f124";
}

@media screen and (min-width: 768px) {
	.pl40{
		padding-left: 40px;
	}
	#inline-map .gmap{
		width: 640px;
		height: 480px;
	}
	#inline-map .addrArea .tl > div .boxButton{
		top:0;
	}
	.formContainer .searchButton.boxButton {
		margin-left: 0;
	}
	.formContainer table .must:not(.confirm) th.vtop {
		vertical-align: top;
		padding-left: 20px;
		z-index: 1;
	}
	.formContainer table .must:not(.confirm) th.vtop::before {
		top: 20px;
		-webkit-transform: none;
		transform: none;
	}
	.formContainer .search-field .field+.field {
		margin-left:0;
	}
}
@media screen and (max-width: 767px) {
	#inline-map .gmap{
		height: 80vw;
	}
	#inline-map .addrArea .tl > div .boxButton{
		bottom:0;
	}
	.formContainer table .must:not(.confirm) th.vtop {
		z-index: 1;
	}
}

#testdrive{
	display: none;
}
