@charset "utf-8";
/* CSS Document */

body {
	padding-bottom: 60px; /*footer fixed のスペース確保*/
}
div.container {
	max-width: 1280px;
	padding: 0 40px;
	margin: auto;
}
a.text_link {
	/*color: #0000ee;*/
	text-decoration: underline;
}
a.text_link,
a.tel {
	display: inline-block;
	padding: 0.5em 0; /* クリック領域確保44px */
	margin: -0.5em 0; /* 相殺 */
	position: relative;
}
small.caution {
	color: #F00;
	display: flex;
	flex-direction: row-reverse;
	width: 100%; /* mf */
	margin-bottom: -0.4em;
}
section div.wrap,
aside {
	padding: 40px;
}
.image {
	font-weight: 400;
	max-width: 800px;
	margin: auto;
}
p {
	max-width: 800px;
}
a.btn {
	color: #FFF;
	line-height: 1.3;
	background: #005953;
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 320px;
	min-height: 44px;
	padding: 0.35em 0.5em;
	border-radius: 8px;
	margin: auto;
}
a.btn:hover {
	background: #40827e;
}
main li a {
	display: block;
	min-height: 44px;
}
br.sp {
	display: none;
}
div.container > small.caution {
	line-height: 1.5;
	display: block;
	text-indent: -1em;
	padding-right: 1em; /* 相殺 */
	margin: -0.25em 0 -0.25em 1em;
}
.space-s {margin-bottom: 20px !important;}
.space-m {margin-bottom: 40px !important;}
.space-l {margin-bottom: 60px !important;}
.space-x {margin-bottom: 80px !important;}
.sd { display: none !important;}

/* ---- header ---- */
body > header {
	background: url("../img/header-bk.png") top center repeat-x;
	background-size: contain;
}
h1 {
	width: 100%;
	overflow: hidden;
}
h1 img {
	border-radius: 0;
}
/* ---- 前書き ---- */
div#preface {
    display: flex;
    flex-wrap: wrap;
}
div#preface header,
div#preface > p {
	width: 100%;
}
div#preface header h2,
div#preface header p {
	display: flex;
	justify-content: center;
	width: 100%;
}
div#preface header h2 {
	color: #FFF;
	font-size: 32px;
	line-height: 1.3;
	background: #005953;
	padding: 0.1em 0.5em;
}
div#preface #slide {
	align-self: flex-start;
	width: 26.7%; /* 320px */
	min-width: 240px;
	height: 100%;
	border-radius: 5px;
	overflow: hidden;
}
div#preface div.prologue {
	padding-left: 40px;
	flex: 1 0 0%;
}
div#preface div.visited {
	background-image: url("../img/visited-bk.png");
	background-size: 100% 100%;
	padding: 30px;
}
div#preface div.visited div.text {
	width: 100%;
	max-width: 600px;
	margin: auto;
}
div#preface div.visited div.text h3 {
	color: #928178;
	background: #FFF;
	font-size: 24px;
	line-height: 1;
	text-align: center;
    display: flex;
	align-items: center;
	justify-content: center;
	height: 2em;
	border: solid 4px;
	border-radius: 1em;
	position: relative;
}
div#preface div.visited div.text h3,
div#preface div.visited ol li:not(:last-child) {
	margin-bottom: 30px;
}
/* 吹き出し */
div#preface div.visited div.text h3:before,
div#preface div.visited div.text h3:after {
	content: "";
	width: 0;
	height: 0;
	margin: auto;
	border-style: solid;
	border-width: 15px 15px 0 15px;
	position: absolute;
	right: 0;
	left: 0;
}
div#preface div.visited div.text h3:before {
	border-color: #928178 transparent transparent transparent;	
	bottom: -19px;
}
div#preface div.visited div.text h3:after {
	border-color: #fff transparent transparent transparent;	
	bottom: -13px;
}

div#preface div.visited div.text ol {
	background: url("../img/ol-bk.png") center center repeat-y;
	background-size: 20px 100px;
}
div#preface div.visited ol a {
	color: #FFF;
	background-size: 32px 32px !important;
	font-size: 20px;
	line-height: 1.3;
	border-radius: 5px;
    display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.35em 2.5em;
}
div#preface div.visited ol li:first-child a {
	background: #928178 url("../img/visited_1-bk.png") 0.5em center no-repeat;
}
div#preface div.visited ol li:nth-child(2) a {
	background: #928178 0.5em center no-repeat;
}
div#preface div.visited ol li:nth-child(3) a {
	background: #928178 0.5em center no-repeat;
}
div#preface div.visited ol li:nth-child(4) a {
	background: #928178 0.5em center no-repeat;
}
div#preface div.visited ol li:nth-child(5) a {
	background: #928178 0.5em center no-repeat;
}
div#preface div.visited ol li:nth-child(6) a {
	background: #928178 url("../img/visited_2-bk.png") 0.5em center no-repeat;
}
div#preface div.visited ol a:hover {
	background-color: #ada09a !important;
}
div#preface div.visited #google_map {
	flex: 1 0 0%;
	height: 480px;
}
/* ---- 今回ドライブしたクルマ ---- */
section#use_car div.wrap {
	background-image: url("../img/use_car-bk.png");
	border: 10px solid rgba(243, 153, 69, 0.25);
}
section#use_car h3 {
	color: #f6ae6a;
	font-size: 32px;
	line-height: 1;
	text-align: center;
}
section#use_car h4,
section#car h4 {
	line-height: 1.3;
	text-align: center;
}
section#use_car h4 {
	margin: 0.6em 0 0.85em;
}
section#use_car h4 strong,
section#car h4 strong {
	font-size: 32px;
}
section#use_car h4 em,
section#car h4 em {
	font-size: 24px;
}
/* ----ミス・アース　---- */
#miss {
	color: #FFF;
	background: #93B7CD;
	padding: 20px;
	border-radius: 8px;
	margin-top: 10px;
}
#miss p {
	line-height: 1.5;
	margin: -0.25em 0;
}
#miss p strong {
	line-height: 1.3;
	display: block;
	text-align: center;
	margin: -0.15em 0 0.35em;
}
#miss p a.img {
	float: left;
	width: 35.29%;
	margin: 0.5em 1em 0 0;
}
#miss p span {
	font-size: 80%;
}
#miss a.link {
	background: #600000;
	clear: both;
    padding: 0.75em 1em;
	margin-top: 1em;
}
#miss a.link:hover {
	background: #1abc9c;
}
/* ---- プレゼント告知 ---- */
aside.present_side {
	text-align: center;
	background: #ffb6c1;
}
aside.present_side strong {
	font-size: 20px;
	line-height: 1.5;
}
aside img.presnt {
	display: inline-block;
	width: 160px;	
}
/* ---- スポット・今回ドライブした車・店舗紹介 ---- */
section.spot,
section#car,
section#shop {
	padding-top: 90px; /* section h3の高さに応じて変更 */
	position: relative;
}
h3.title {
	color: #928178;
	font-size: 32px;
	line-height: 1.3;
    background-size: 120px 120px !important;
    display: flex;
	align-items: center;
	height: 120px;
	width: 100%;
	padding: 0 0 20px 140px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1; /* face_up */
}
section#guide1 h3.title {
	background: url("../img/guide1-bk.png") left center no-repeat;
}
section#guide2 h3.title {
	background: url("../img/guide2-bk.png") left center no-repeat;
}
section#guide3 h3.title {
	background: url("../img/guide3-bk.png") left center no-repeat;
}
section#guide4 h3.title {
	background: url("../img/guide4-bk.png") left center no-repeat;
}
section#guide5 h3.title {
	background: url("../img/guide5-bk.png") left center no-repeat;
}
section#guide6 h3.title {
	background: url("../img/guide6-bk.png") left center no-repeat;
}
section.spot div.text a.text_link:hover {
	text-decoration: none;
}
section.spot div.contact,
section#shop div.contact {
	background: #fff;
	max-width: 800px;
	padding: 30px;
	border-radius: 2px;
	margin: auto;
}
section.spot div.contact h4,
section#shop div.contact h4 {
	line-height: 1;
	text-align: center;
	margin-bottom: 1.5em;
}
section.spot div.contact div,
section#shop div.contact div {
	display: flex;
}
section.spot div.contact div p,
section#shop div.contact div p {
	flex: 1 0 0%;
	margin-left: 20px;
}
section.spot div.contact div span.img_wrap,
section#shop div.contact div span.img_wrap {
	width: 320px;
}
section div.contact p+p {
	margin-top: 1em;
}
section.spot ol.gallery,
section#car ul.gallery,
section#shop ul.gallery {
    display: flex;
    flex-wrap: wrap;
	justify-content: center;
	margin: -15px;
}
section.spot ol.gallery li,
section#car ul.gallery li,
section#shop ul.gallery li {
	font-size: 14px;
	line-height: 1.5;
	width: 33.33%;
	max-width: 350px; /* 32px */
	padding: 15px;
}
section.spot ol.gallery img,
section#car ul.gallery img {
	margin-bottom: 0.25em;
}
section.spot div.wrap,
section#shop div.wrap,
section#use_car div.wrap {
    background-size: 200px 200px !important;
}
section#guide1 div.wrap,
section#guide4 div.wrap {
	background: url("../img/guide-pink_bk.png") repeat;
	border: solid 10px rgba(250, 219, 218, 0.5);
}
section#guide2 div.wrap,
section#guide5 div.wrap,
section#shop div.wrap {
	background: url("../img/guide-green_bk.png") repeat;
	border: solid 10px rgba(213, 234, 216, 0.5);
}
section#guide3 div.wrap,
section#guide6 div.wrap {
	background: url("../img/guide-blue_bk.png") repeat;
	border: solid 10px rgba(213, 234, 216, 0.5);
}
/* ---- 今回ドライブした車 ---- */
section#car {
	padding-top: 90px; /* section h3の高さに応じて変更 */
	position: relative;
}
section#car div.wrap {
	border: solid 10px #005953;
	border-radius: 20px;
}
section#car h3 {
	color: #005953;
	font-size: 32px;
	line-height: 1.3;
	background: url("../img/h2-bk.png") left center no-repeat;
    background-size: 120px 120px;
    display: flex;
	align-items: center;
	height: 120px;
	width: 100%;
	padding: 0 0 40px 140px;
	position: absolute;
	top: 0;
	left: 0;
}
section#car h4 {
	margin: 0 0 0.85em;
}
section#car h4 img.logo {
	display: block;
	width: 100%;
	max-width: 600px;
	margin: 0 auto 0.35em;
	border-radius: 0;
}
section#car div.car_detail {
	background: url("../img/car_detail-bk.png") center center;
	background-size: 80px 80px;
	text-align: center;
	max-width: 640px;
	padding: 20px;
	margin: auto;
}
section#car div.car_detail p {
	margin-bottom: 0.35em;
}
section#car div.car_detail a.car_link {
	background: #005953;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 320px;
	height: 60px;
	margin: auto;
	border-radius: 8px;
	overflow: hidden;
}
section#car div.car_detail a.car_link:hover {
	background: #40827e;
}
section#car div.car_detail a.car_link img {
	width: 240px;
	border-radius: 0;
}
section#car div.car_detail a.car_link img:hover {
	opacity: 1;
}
/* ---- 店舗紹介 ---- */
section#shop h3.title {
	color: #005953;
	background: url("../img/shop-bk.png") left center no-repeat;
	background-size: 180px 120px !important;
	padding: 0 0 20px 200px;
}
/* ---- プレゼント内容 ---- */
aside.present_main {
	text-align: center;
	border: solid 10px #F00;
}
aside.present_main h4 {
	font-size: 20px;
	line-height: 1.5;
	margin: -0.25em 0;
}
aside.present_main li {
	line-height: 1.5;
	padding-bottom: 1em;
}
aside.present_main li span {
	color: #F00;
	display: block;
}
aside.present_main li em {
	color: #333;
	display: block;
	padding: 0.5em 0;
	border-top: dotted 2px #F00;
	border-bottom: dotted 2px #F00;
	margin-bottom: 1em;
}
aside.present_main li a {
	max-width: 320px;
	margin: auto
}
aside.present_main li a img {
	margin-bottom: 0.25em;
}
/* ---- footer ---- */
footer {
	background: #fff5e0;
	width: 100%;
	box-shadow: 0px 4px 12px 0px #000000;
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
}
footer div.container,
footer div.container ul {
	display: flex;
	align-items: center;
	height: 60px;
}
footer div.container p {
	line-height: 1.5;
	margin: 0 auto 0 0;
}
footer div.container ul li {
	width: 100px;
	margin-left: 5px;
}
footer a {
	font-size: 12px;
	line-height: 1.3;
	text-align: center;
	background: #fad8be;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 44px;
	padding: 0 0.5em;
	border-radius: 22px;
}
footer a:hover {
    background: #fbe2ce;
}

@media all and (-ms-high-contrast: none) {
	* {min-height: 0%;}
	a.btn {
		padding: 0.75em 0.5em;		
	}
	div#preface div.prologue {
		min-width: 73%;
	}
	div#preface div.visited ol a {
		padding: 0.45em 2.5em;
	}
}

/* ============================================================【tablet・sp】*/
@media screen and (max-width: 959px) {
	div.container {
		padding: 0 30px;
	}
	.space-s {margin-bottom: 15px !important;}
	.space-m {margin-bottom: 30px !important;}
	.space-l {margin-bottom: 40px !important;}
	.space-x {margin-bottom: 60px !important;}
	.pc { display: none !important;}
	.sd { display: block !important;}
	section div.wrap,
	aside {
		padding: 30px;
	}
	
	h1 img {
		width: 110%;
		margin-left: -5%;
	}
	div#preface div.prologue {
		width: 100%;
		flex: 0 1 auto; /* ie */
		padding-left: 0;
	}	
	div#preface #slide {
		width: 100%;
		margin: 0 0 30px !important;
	}
	div#preface #slide ul li {
		width: 320px !important;
	}
	div#preface div.visited {
		flex-direction: column;
	}
	div#preface div.visited #google_map {
		flex: 0 1 auto; /* ie */
		width: 100%;
	}
	#miss p a.img {
		width: 35.63%;
	}
	section.spot div.wrap,
	section#shop div.wrap {
		flex-direction: column;
		align-items: center;
	}
	section.spot div.contact div span.img_wrap,
	section#shop div.contact div span.img_wrap {
		width: 240px;
	}
	footer a.top {
		right: 15px;
		bottom: 15px;
	}
}
	/* ====================================================================【sp】*/
	@media screen and (max-width: 719px) {
		body {
			font-size: 14px;
			padding-bottom: 72px; /*footer fixed のスペース確保*/
		}
		div.container {
			padding: 0 20px;
		}
		section div.wrap,
		aside {
			padding: 20px;
		}
		a.text_link,
		a.tel {
			padding: 0.68em 0;
			margin: -0.68em 0;
		}
		br.sp {
			display: block;
		}
		.space-s {margin-bottom: 10px !important;}
		.space-m {margin-bottom: 20px !important;}
		.space-l {margin-bottom: 30px !important;}
		.space-x {margin-bottom: 40px !important;}
		
		header h1 img {
			width: 120%;
			margin-left: -10%;
		}
		div#preface header h2,
		div#preface div.visited div.text h3,
		section#use_car h3,
		section#use_car h4 strong,
		section.spot h3,
		section#car h3,
		section#car h4 strong,
		section#shop h3 {
			font-size: 24px;
		}
		#miss p a.img {
			width: 36.9%;
			margin-right: 0.5em;
		}
		div#preface #slide {
			margin-bottom: 20px !important;
		}
		div#preface #slide ul li {
			width: 240px !important;
		}
		div#preface div.visited {
			padding: 20px;
		}
		div#preface div.visited div.text {
			max-width: 480px;
		}
		div#preface div.visited div.text h3 {
			border: solid 2px;
		}
		div#preface div.visited div.text h3,
		div#preface div.visited ol li:not(:last-child) {
			margin-bottom: 30px;
		}
		/* 吹き出し */
		div#preface div.visited div.text h3:before,
		div#preface div.visited div.text h3:after {
			border-width: 15px 12px 0 12px;
		}
		div#preface div.visited div.text h3:before {
			bottom: -15px;
		}
		div#preface div.visited div.text h3:after {
			bottom: -11px;
		}
		div#preface div.visited ol li a {
			font-size: 18px;
			background-position: 0.4em center !important;
			padding: 0.59em 2.6em;
		}
		section#use_car h4 em,
		section#car h4 em {
			font-size: 16px;
			display: block;
		}
		section.spot,
		section#car,
		section#shop {
			padding-top: 60px; /* section h3の高さに応じて変更 */
		}
		section.spot h3.title,
		section#car h3.title {
			background-size: 80px 80px !important;
			height: 80px;
			padding: 0 0 15px 90px;
		}
		section.spot div.contact,
		section#shop div.contact {
			padding: 20px;
		}
		section.spot div.contact h4,
		section#shop div.contact h4 {
			margin-bottom: 1em;
		}
		section.spot div.contact div,
		section#shop div.contact div {
			flex-direction: column;
			align-items: center;
		}
		section.spot div.contact div span.img_wrap,
		section#shop div.contact div span.img_wrap {
			width: 100%;
			max-width: 320px;
		}
		section.spot div.contact div p,
		section#shop div.contact div p {
			word-wrap: break-word;
			overflow-wrap: break-word;
			max-width: 100%; /* ie */
			flex: 0 1 auto;
			margin: 0.6em auto 0;
		}
		section.spot ol.gallery,
		section#car ul.gallery,
		section#shop ul.gallery {
			margin: -10px;
		}
		section.spot ol.gallery li,
		section#car ul.gallery li,
		section#shop ul.gallery li {
			font-size: 12px;
			width: 50%;
			padding: 10px;
		}
		section#car div.car_shop {
			padding: 15px;
		}
		section#shop h3.title {
			background-size: 90px 60px !important;
			height: 80px;
			padding: 0 0 15px 100px;
		}
		aside.present_side,
		aside.present_main {
			padding: 20px;
		}
		aside.present_main h4,
		aside.present_side strong {
			font-size: 16px;
		}
		footer div.container {
			flex-direction: column;
			height: 72px;
		}
		footer div.container p {
			font-size: 12px;
			line-height: 1;
			margin: -4px 0;
			order: 1;
		}
		footer div.container ul li {
			margin: 0 2px;
		}
	}
		/* ====================================================================【sp】*/
		@media screen and (max-width: 479px) {
			div.container {
				padding: 0 15px;
			}
			small.caution {
				font-size: 12px;
			}
			.space-m {margin-bottom: 15px !important;}
			.space-l {margin-bottom: 20px !important;}
			.space-x {margin-bottom: 30px !important;}
			
			header div.container {
				padding: 0;
			}
			header h1 img {
				width: 100%;
				margin-left: 0;
			}
			div#preface header h2,
			div#preface div.visited div.text h3,
			section#use_car h3,
			section#use_car h4 strong,
			section.spot h3,
			section#car h3,
			section#car h4 strong,
			section#shop h3 {
				font-size: 20px;
			}
			div#preface div.visited,
			#miss,
			section div.wrap,
			aside {
				padding: 15px;
			}
			div#preface #slide {
				margin-bottom: 15px !important;
			}
			div#preface div.visited div.text h3,
			div#preface div.visited ol li:not(:last-child) {
				margin-bottom: 20px;
			}
			div#preface div.visited ol li a {
				font-size: 16px;
				justify-content: flex-start;
				padding: 0.75em 0 0.75em 2.8em;
			}
			div#preface div.visited #google_map {
				height: 320px;
			}
			section#use_car h4 em,
			section#car h4 em {
				font-size: 14px;
			}
			section#use_car h4 em span,
			section#car h4 em span {
				display: none;
			}
			#miss p a.img {
				width: 50%;
			}
			section.spot {
				width: calc(100% + 30px);
				margin-left: -15px;　/*両サイドフィックス*/
			}
			section.spot h3.title,
			section#shop h3.title {
				padding-right: 15px; /*両サイドフィックスのスペース確保*/
			}
			section.spot div.wrap {
				padding: 20px 15px;
				border: none !important;
			}
			section.spot div.contact,
			section#shop div.contact {
				line-height: 1.5;
				padding: 15px;
			}
			section.spot div.contact h4,
			section#shop div.contact h4 {
				margin-bottom: 0.75em;
			}
			section.spot div.contact div span.img_wrap,
			section#shop div.contact div span.img_wrap {
				max-width: 240px;
			}
			section.spot div.contact p,
			section#shop div.contact p {
				margin: -0.25em 0;
			}
			section#car h4,
			section.spot h3,
			section#shop h3 {
				font-size: 18px;
			}
			section.spot ol.gallery,
			section#car ul.gallery,
			section#shop ul.gallery {
				margin: 0;
			}
			section.spot ol.gallery li,
			section#car ul.gallery li,
			section#shop ul.gallery li {
				width: 100%;
				max-width: 320px;
				padding: 0;
			}
			section.spot ol.gallery li:not(:last-child),
			section#car ul.gallery li:not(:last-child),
			section#shop ul.gallery li:not(:last-child) {
				padding-bottom: 15px;
			}
			section#car div.car_detail {
				padding: 15px 10px;
			}
			section#car div.car_detail a.car_link {
				max-width: 240px;
				height: 44px;
			}
			section#car div.car_detail a.car_link img {
				width: 160px;
			}
			aside.present_side,
			aside.present_main {
				padding: 15px;
			}
			aside.present_main p.dl {
				font-size: 12px;
				font-weight: 700;
			}
			/* ---- footer ---- */
			footer {
				box-shadow: 0px 3px 8px 0px #000000;
			}
		}
		/* ---- 5/SE ---- */
		@media screen and (max-width: 359px) {
			body {
				min-width: 319px;
			}
			section#use_car h4 em,
			section#car h4 em {
				font-size: 12px;
			}
			section#shop h3 {
				font-size: 14px;
			}
		}