@charset "UTF-8";

/* グリッドの設定 */
body {
	display: grid;
	grid-template-columns: 20px 1fr 20px;
	grid-template-rows: 
		[head] 85px
		[hero] auto
		[guide] auto
		[toshimei] auto
		[article] auto
		[foot] 50px;
	font-family: sans-serif;
}

/* パーツの配置 */
body > * {
	grid-column: 2 / -2;
}

/* 配置の基本 */
header {
	grid-column-start: 2;
	grid-row: head;
	justify-self: center;
	align-self: center;
}
.hero {
	grid-column-start: 1;
	grid-column-end: -1;
	grid-row: hero;
}
.guide {
	grid-column-start: 2;
	gird-row: guide;
}
.toshimei {
	grid-column-start: 2;
	gird-row: toshimei;
}
article {
	grid-column-start: 2;
	gird-row: article;
}
footer {
	grid-column-start: 1;
	grid-column-end: -1;
	grid-row: foot;
}

/* -------------------------------------------------------------------
	① ヘッダー（ hotels ）
---------------------------------------------------------------------- */
header {
}


/* -------------------------------------------------------------------
	② ヒーロー（ hotels ）
---------------------------------------------------------------------- */
figure.hero {
}

figure.hero img {
	width: 100%;
	height: 200px;
	object-fit: cover;
}


/* -------------------------------------------------------------------
	④ 都道府県の紹介（ イラスト地図 + text ) 
---------------------------------------------------------------------- */
.guide {
	margin-top: 30px;
}

.guide::after {
	content: "";
	display: block;
	clear: both;
}

/* -- 都道府県の紹介 -- */
.guide p {
	font-size: 15px;
	color: #333333;
	line-height: 1.5;
}
.red {
	color: #ff0000;
}
.illust-map {
	float: left;
	width: 30%;
	margin-right: 20px;
	background-color: #a6db55;
}
.illust-map img {
	width: 100%;
	height: auto;
}


/* -------------------------------------------------------------------
	⑤ 都市名から探す / toshimei
---------------------------------------------------------------------- */
.toshimei {
	margin-top: 30px;
}

.toshimei ul {
	display: grid;
	grid-template-columns: 1fr;
	gap: 5px 5px;
}

.toshimei li {
	word-spacing: 10px;
}
.toshimei li a {
	display: block;
	padding: 10px 0 8px 15px;
	color: #000000;
	/* background-color: #a6db55; */
	font-size: 14px;
	letter-spacing: 0.1em;
	/* border-left: solid 10px #556b2f; */
	border: solid 1px #556b2f;
 	border-radius: 5px;
}
.toshimei li a:hover {
	color: #ffffff;
	background-color: #76ae25;
}


/* -------------------------------------------------------------------
	⑥ 都市名ボックス / citybox
---------------------------------------------------------------------- */
.citybox {
	margin-top: 25px;
}

.citybox h2 {
	padding: 8px 0 5px 15px;
	color: #ffffff;
	background-color: #76ae25;
	font-size: 18px;
	letter-spacing: 0.1em;
	border-left: solid 10px #556b2f;
}

p.credit  {
	font-size: 14px;
	text-align: right;
	color: #174E80;
	margin-right: 20px;
	margin-bottom: 2px;
}


/* -------------------------------------------------------------------
	⑦ 都市の紹介 / スマホ非表示（ ～428px ）
---------------------------------------------------------------------- */
.cityimgbox {
	margin-top: 0px;
	border: solid 1px #aaaaaa;
	background-color: #e6f2e7; /* 薄いグリーン */
}
.cityimgbox img {
	width: 100%;
	height: 150px;
	object-fit: cover;
	vertical-align: bottom;
}

.cityimgbox p {
	font-size: 15px;
	line-height: 1.3;
	color: #174E80;
	text-align: center;
	background-color: #ffffff;
	padding: 5px 8px 5px 15px; /* 内側の余白 */
	margin: 5px; /* 外側の余白 */
}
.cityimgbox span {
	font-weight: bold;
}
.cityimgbox p.text-left {
	text-align: left;
}

/* ドライブイン */
.drivein {
	border: solid 1px #aaaaaa;
	background-color: #e6f2e7; /* 薄いグリーン */
}
.drivein img {
	width: 100%;
	height: auto;
	object-fit: cover;
	vertical-align: bottom;
}
.drivein p {
	font-size: 15px;
	line-height: 1.3;
	color: #333333;
	text-align: left;
	background-color: #ffffff;
	padding: 5px 8px 5px 15px; /* 内側の余白 */
	margin: 5px; /* 外側の余白 */
}

/* マージントップ */
.top10 {
	margin-top: 10px;
}
.top15 {
	margin-top: 15px;
}
.top20 {
	margin-top: 20px;
}

/* クレジット */
.cityimgbox p.c180 {
	font-size: 14px;
	line-height: 1.3;
	text-align: right;
	padding: 2px 20px 0px 0px; /* 内側の余白 */
	margin: 3px 5px; /* 外側の余白 */
}
p.caption {
	font-size: 13px;
	line-height: 1.3;
	text-align: right;
	padding: 0px 20px 0px 0px; /* 内側の余白 */
	margin: 0px 0px; /* 外側の余白 */
}


/* -------------------------------------------------------------------
	footer
---------------------------------------------------------------------- */
footer {
	padding-top: 15px;
	padding-bottom: 15px;
	text-align: center;
	background: #dddddd;
}


/* -------------------------------------------------------------------
	modoru / ページトップ
---------------------------------------------------------------------- */
.modoru {
	text-align: right;
	padding-top: 20px;
	padding-right: 15px;
	padding-bottom: 30px;
}


/* ############### ▼iPhone 12/13 ############### */
@media (max-width: 428px) {

/* -- 名所旧跡の紹介 / 非表示 -- */
.cityimgbox {
	display: none;
}
} /* 注意 */


/* *************** ▼ iPhone 6/7/8 iOS *************** */
@media (max-width: 375px) {

}/* 注意 */


/* *************** ▼ Galaxy Note3 *************** */
@media (max-width: 360px) {


}/* 注意 */


/* *************** ▼ iPhone 5/5E *************** */
@media (max-width: 320px) {

}/* 注意 */


/* ############### ▲ Nexus 7 ############### */
@media (min-width: 600px) {


figure.hero img {
	width: 100%;
	height: 250px;
}

/* -- 都道府県の紹介 -- */
.guide p {
	font-size: 16px;
	line-height: 1.6;
}
.illust-map {
	float: left;
	width: 20%;
	margin-right: 20px;
	background-color: #a6db55;
}

/* -- 都市名から探す -- */
.toshimei ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 5px 5px;
}

/* -- 市町村の紹介 -- */
.cityimgbox p {
	font-size: 15px;
	line-height: 1.5;
}
.cityimgbox span {
	font-size: 15px;
	line-height: 1.5;
}

/* -- クレジット / credit -- */
span.c180 {
	position: absolute;
	top: 125px;
	right: 30px;
	font-size: 14px;
}
} /* 注意 */


/* *************** ▲ iPad Mini *************** */
@media (min-width: 768px) {

/* -- グリッド / PC版の設定 -- */
body {
	display: grid;
	grid-template-columns: 20px 1fr 20px;
	grid-template-rows: 
		[head] 100px
		[hero] auto
		[guide] auto
		[toshimei] auto
		[article] auto
		[foot] 50px;
	font-family: sans-serif;
}

/* -- 都道府県の紹介 --  */
.guide p {
	font-size: 16px;
	line-height: 1.6;
}
.illust-map {
	float: left;
	width: 21%;
}
} /* 注意 */


/* ############### ▲ iPad Air ############### */
@media (min-width: 820px) {

/* -- 都市名から探す -- */
.toshimei ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 5px 5px;
}

/* -- 都道府県の紹介 --  */
.illust-map {
	float: left;
	width: 16%;
}
} /* 注意 */


/* ############### ▲ iPhone 11 Pro Max ############### */
@media (min-width: 896px) {

} /* 注意 */


/* ############### ▲ Nexus 7 ############### */
@media (min-width: 960px) {

/* -- グリッド / PC版の設定 -- */
body {
	display: grid;
	grid-template-columns: 20px 1fr 20px;
}

figure.hero img {
	width: 100%;
	height: auto;
}

/* -- 都道府県の紹介 --  */
.guide {
	padding: 0 80px;
}
.illust-map {
	float: left;
	width: 16%;
	margin-right: 30px;
}
} /* 注意 */



/* *************** ▲ iPad Pro (12.9-inch) *************** */
@media (min-width: 1024px) {

/* -- 都道府県の紹介 --  */
.illust-map {
	float: left;
	width: 15%;
	margin-right: 30px;
}

/* -- 地域の紹介 -- */
.cityimgbox p {
	font-size: 16px;
	line-height: 1.5;
}
} /* 注意 */


/* ############### ■ iPad Air ############### */
@media (min-width: 1180px) {

/* -- 都道府県の紹介 --  */
.guide {
	padding: 0 100px;
}
.guide p {
	font-size: 18px;
	line-height: 1.6;
}
.illust-map {
	float: left;
	width: 15%;
	margin-right: 30px;
}

/* -- 都市名から探す -- */
.toshimei ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 5px 5px;
}

.cityimgbox img {
	width: 100%;
	height: auto;
	object-fit: cover;
	vertical-align: bottom;
}
} /* 注意 */


/* ############### ■ 1180px ############### */
@media (min-width: 1180px) {
body {
	width: 1180px;
	margin-left: auto;
	margin-right: auto;
}
} /* 注意 */