@charset "utf-8";
/* ===================================================
	Sightseeing CSS
====================================================== */

/* ---------------------------------------------------
	lead_col
------------------------------------------------------ */
#lead_col { background: var(--color-bg);  color: #313131; padding: 90px 0 75px; }
#lead_col > div { display: flex; justify-content: space-between; align-items: center; gap: 100px; }
#lead_col h2 { font-size: 22px; flex-shrink: 0; }
#lead_col p a { text-decoration: underline; }

@media screen and (max-width: 600px) {
	#lead_col { padding: 50px 0 40px; }
	#lead_col > div { flex-direction: column; align-items: flex-start; gap: 0; }
	#lead_col h2 { font-size: 18px; margin-bottom: 10px; }
}


/* ---------------------------------------------------
	Sec01
------------------------------------------------------ */
#sec01 { padding: 105px 0 125px;}
[class*="layout_"] + [class*="layout_"] {
	margin-top: 100px;
}
[class*="layout_"] .btn_col {
	display: flex;
	justify-content: flex-end;
	margin: 45px 0 0;
}
[class*="layout_md"] {
	display: flex;
	justify-content: space-between;
}
.layout_md_04 {
	flex-wrap: wrap;
	margin-bottom: -100px;
}
.layout_md_04 .spot {
	width: min(570px, 47.5%);
	margin: 0 0 100px;
}
.layout_md_04 .img img {
	width: 100%;
	aspect-ratio: 57 / 38;
}
.layout_md_04 .detail_col {
	margin: 20px 0 0;
	letter-spacing: 0.1em;
}
.layout_md_04 .detail_col dt {
	font-size: 20px;
	text-align: center;
	margin-bottom: 20px;
}
.layout_md_04 .detail_col dd .txt a { color: #ececec; text-decoration: underline; text-decoration-thickness: 1px;}
.layout_md_04 .detail_col dd .stxt {
	font-size: 14px;
	color: #ababab;
	margin-top: 15px;
	display: block;
}
.btn_icon .btn_col li + li {
	margin-left: 25px;
}
.btn_icon .btn_col a {
	color: #ececec;
	display: block;
	padding: 0 30px 10px;
}
.btn_icon .btn_col a span {
	display: flex;
}
.btn_icon .btn_col a span::before {
	content: "";
	width: 13px;
	height: 15px;
	margin: 0 12px 0 0;
	display: block;
	background: no-repeat center center/contain;
}
.btn_icon .btn_col .btn_map span::before {
	background-image: url(../../sightseeing/img/ico_map.svg);
}
.btn_icon .btn_col .btn_site span::before {
	background-image: url(../../sightseeing/img/ico_site.svg);
}

@media screen and (hover: hover) {
}

@media screen and (max-width: 600px) {
	#sec01 { padding: 60px 0 70px;}
	[class*="layout_"] + [class*="layout_"] {
		margin-top: 50px;
	}
	[class*="layout_"] .btn_col {
		margin-top: 20px;
		flex-direction: column;
		align-items: flex-end;
	}
	[class*="layout_md"] {
		display: block;
	}
	.layout_md_04 {
		margin-bottom: 0;
	}
	.layout_md_04 .spot {
		width: auto;
		padding: 0 !important;
		margin: 0;
	}
	.layout_md_04 .spot + .spot {
		margin-top: 70px;
	}
	.layout_md_04 .spot:nth-of-type(even) {
		border-left: none;
	}
	.layout_md_04 .detail_col {
		margin-top: 15px;
	}
	.layout_md_04 .detail_col dt {
		font-size: 18px;
		margin-bottom: 10px;
	}
	.layout_md_04 .detail_col dd .stxt {
		margin-top: 5px;
		font-size: 12px;
	}
	.btn_icon .btn_col li + li {
		margin: 15px 0 0;
	}
	.btn_icon .btn_col a { padding: 0 5px 7px; width: fit-content; }
}


/* ---------------------------------------------------
	sec02
------------------------------------------------------ */
#sec02 { background: var(--color-bg); color: #313131; padding: 60px 0 120px; }
#sec02 > div > a { display: block; width: fit-content; margin: 20px 0 0 auto; padding: 0 10px 10px;}

@media screen and (max-width: 600px) {
	#sec02 { padding: 40px 0 60px; }
	#sec02 > div > a { margin: 10px 0 0 auto; padding: 0 5px 7px;}
}