@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: #333;
	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: #777;
}

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: #333;
	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 url("../img/visited_2-bk.png") 0.5em center no-repeat;
}

div#preface div.visited ol li:nth-child(3) a {
	background: #928178 url("../img/visited_3-bk.png") 0.5em center no-repeat;
}

div#preface div.visited ol li:nth-child(4) a {
	background: #928178 url("../img/visited_4-bk.png") 0.5em center no-repeat;
}

div#preface div.visited ol li:nth-child(5) a {
	background: #928178 url("../img/visited_5-bk.png") 0.5em center no-repeat;
}

div#preface div.visited ol li:nth-child(6) a {
	background: #928178 url("../img/visited_6-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 #333;
	border-radius: 20px;
}

section#car h3 {
	color: #333;
	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: #333;
	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: #777;
}

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: #333;
	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 div.container ul li.long {
	width: 110px;
}

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;
	}
}