/* CSS Document */

:root {
	--color-theme: #b8282f;
	--color-theme-rgb: 184,40,47;
	--font: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	--font-en: 'BIZ UDPGothic', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', sans-serif;
	--wrap-space: 10px;
	--wrap-fit: calc(100% - (var(--wrap-space) * 2));
	--wrap-max: 960px;
	--wrap: min(var(--wrap-fit), var(--wrap-max));
    --icon-walk: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 360 360"><path d="M284.29,321.79l-50.22-63.6-5.66-80.4s-.37-8.32-.55-8.91l-5.5-38.48,12.41,6.47,21.58,41.58c3.49,6.75,11.72,10.07,19.25,7.47,8.15-2.82,12.4-11.52,9.5-19.42l-18.53-50.48c-1.29-3.51-3.89-6.6-7.54-8.51l-44.64-23.26s-10.12-4.9-15.13-6.41c-13.85-4.18-40.23-1.32-49.03,9.48-4.46,5.47-5.14,6.81-7.24,10.06l-26.29,44.83-38.24,12.47c-5.84,3.76-8.16,11.18-5.14,17.55,3.34,7.03,11.92,10.1,19.17,6.86l46.45-9.61c2.34-1.04,4.39-2.74,5.85-5.02l14.53-22.71,7.43,30.09-35,86.48c-.2.5-.36,1.03-.48,1.57l-17.1,79.82c-1.79,8.47,3.34,17.08,12.04,19.6,9.21,2.68,18.92-2.4,21.69-11.34l23.42-75.59,15.1-29.69,6.52,28.72c.63,2.72,1.96,5.33,4,7.56l59.65,65.03c6.2,6.72,16.83,7.82,24.34,2.24,7.88-5.86,9.38-16.79,3.35-24.43Z" style="fill: %23f28593;"/><circle cx="165.25" cy="35.63" r="35.62" transform="translate(32.22 139.93) rotate(-50.27)" style="fill: %23f28593;"/></svg>');
    --icon-car: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 360 360"><path d="M334.09,143.15h-6.21l-19.56-94.1c-2.15-10.35-11.6-18.48-21.17-18.48H72.84c-9.57,0-19.02,8.14-21.17,18.48l-19.56,94.1h-6.21c-14.31,0-25.91,11.6-25.91,25.91v81.75c0,14.31,11.6,25.91,25.91,25.91h5.65v44.36c0,4.59,3.76,8.35,8.35,8.35h42.08c4.59,0,8.35-3.76,8.35-8.35v-44.36h179.32v44.36c0,4.59,3.76,8.35,8.35,8.35h42.08c4.59,0,8.35-3.76,8.35-8.35v-44.36h5.65c14.31,0,25.91-11.6,25.91-25.91v-81.75c0-14.31-11.6-25.91-25.91-25.91ZM74.87,66.61c1.76-8.48,9.5-15.14,17.34-15.14h175.57c7.84,0,15.58,6.66,17.34,15.14l15.91,76.54H58.97l15.91-76.54ZM65.01,237.12c-14.79,0-26.77-11.99-26.77-26.77s11.99-26.77,26.77-26.77,26.77,11.99,26.77,26.77-11.99,26.77-26.77,26.77ZM219.19,253.17h-78.37v-30h78.37v30ZM294.99,237.12c-14.79,0-26.77-11.99-26.77-26.77s11.99-26.77,26.77-26.77,26.77,11.99,26.77,26.77-11.99,26.77-26.77,26.77Z" style="fill: %23f28593"/></svg>');
    --icon-train: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 360 360"><path d="M311.63,262.4V40.01C311.63,17.91,293.72,0,271.62,0H88.38C66.28,0,48.37,17.91,48.37,40.01v222.39c0,22.1,17.91,40.01,40.01,40.01h11.92l-46.93,57.59h30.66l17.61-21.61h156.71l17.61,21.61h30.66l-46.93-57.59h11.92c22.1,0,40.01-17.91,40.01-40.01ZM122.85,29.99c0-5.28,4.32-9.6,9.6-9.6h95.1c5.28,0,9.6,4.32,9.6,9.6v6.72c0,5.28-4.32,9.6-9.6,9.6h-95.1c-5.28,0-9.6-4.32-9.6-9.6v-6.72ZM71.45,173.61v-92.21c0-7.26,5.88-13.14,13.14-13.14h190.81c7.26,0,13.14,5.88,13.14,13.14v92.21c0,7.26-5.88,13.14-13.14,13.14H84.6c-7.26,0-13.14-5.88-13.14-13.14ZM87.32,251.03c0-11.45,9.28-20.73,20.73-20.73s20.73,9.28,20.73,20.73-9.28,20.73-20.73,20.73-20.73-9.28-20.73-20.73ZM118.59,317.6l12.38-15.19h98.08l12.38,15.19h-122.83ZM251.96,271.76c-11.45,0-20.73-9.28-20.73-20.73s9.28-20.73,20.73-20.73,20.73,9.28,20.73,20.73-9.28,20.73-20.73,20.73Z" style="fill: %23f28593"/></svg>');
    --icon-bus: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 360 360"><path d="M333.39,74.76h-9.07v-32.79C324.32,18.79,305.53,0,282.35,0H77.65C54.47,0,35.68,18.79,35.68,41.97v32.79h-9.07c-4.77,0-8.68,3.91-8.68,8.68v50.76c0,4.77,3.91,8.68,8.68,8.68h9.07v132.36c0,16.54,9.57,30.84,23.47,37.68v40.31c0,3.73,3.05,6.78,6.78,6.78h34.17c3.73,0,6.78-3.05,6.78-6.78v-36.02h146.24v36.02c0,3.73,3.05,6.78,6.78,6.78h34.17c3.73,0,6.78-3.05,6.78-6.78v-40.31c13.9-6.84,23.47-21.14,23.47-37.68v-132.36h9.07c4.77,0,8.68-3.91,8.68-8.68v-50.76c0-4.77-3.91-8.68-8.68-8.68ZM113.81,31.46c0-5.54,4.53-10.07,10.07-10.07h112.25c5.54,0,10.07,4.53,10.07,10.07v7.05c0,5.54-4.53,10.07-10.07,10.07h-112.25c-5.54,0-10.07-4.53-10.07-10.07v-7.05ZM80.38,285.05c-12.01,0-21.74-9.73-21.74-21.74s9.73-21.74,21.74-21.74,21.74,9.73,21.74,21.74-9.73,21.74-21.74,21.74ZM218.07,298.08h-76.14v-24.36h76.14v24.36ZM74.32,207.66c-7.97,0-14.42-6.46-14.42-14.42v-107.22c0-7.97,6.46-14.42,14.42-14.42h211.36c7.97,0,14.42,6.46,14.42,14.42v107.22c0,7.97-6.46,14.42-14.42,14.42H74.32ZM279.62,285.05c-12.01,0-21.74-9.73-21.74-21.74s9.73-21.74,21.74-21.74,21.74,9.73,21.74,21.74-9.73,21.74-21.74,21.74Z" style="fill: %23f28593"/></svg>');
    --icon-bicycle: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 360 360"><path d="M286.36,158.82c-6.87,0-13.52.97-19.83,2.73l-13.79-32.58h-127.91l21.78-55.33,42.09.95c5.36.13,9.82-4.13,9.94-9.5.12-5.37-4.13-9.82-9.5-9.94l-55.65-1.26-42.16,107.09c-5.67-1.41-11.6-2.17-17.7-2.17C33.03,158.82,0,191.86,0,232.46s33.03,73.64,73.64,73.64,73.64-33.03,73.64-73.64c0-27.62-15.3-51.73-37.86-64.33l7.76-19.72h122.68l8.81,20.82c-21.51,12.87-35.95,36.39-35.95,63.23,0,40.6,33.03,73.64,73.64,73.64s73.64-33.03,73.64-73.64-33.03-73.64-73.64-73.64ZM127.83,232.46c0,29.88-24.31,54.2-54.2,54.2s-54.2-24.31-54.2-54.2,24.31-54.2,54.2-54.2c3.59,0,7.1.36,10.49,1.03l-19.48,49.46c-1.97,5,.49,10.64,5.48,12.61,1.17.46,2.37.68,3.56.68,3.88,0,7.54-2.34,9.05-6.16l19.47-49.44c15.37,9.58,25.62,26.62,25.62,46.02ZM286.36,286.66c-29.88,0-54.2-24.31-54.2-54.2,0-18.79,9.61-35.37,24.18-45.09l20.62,48.74c1.57,3.71,5.17,5.94,8.96,5.94,1.26,0,2.55-.25,3.78-.77,4.94-2.09,7.26-7.8,5.16-12.74l-20.68-48.87c3.92-.9,7.99-1.4,12.17-1.4,29.88,0,54.2,24.31,54.2,54.2s-24.31,54.2-54.2,54.2Z" style="fill: %23f28593"/><path d="M223.33,110.37h45.64c5.37,0,9.72-4.35,9.72-9.72s-4.35-9.72-9.72-9.72h-45.64c-5.37,0-9.72,4.35-9.72,9.72s4.35,9.72,9.72,9.72Z" style="fill: %23f28593;"/></svg>');
}

#pageTitle{
	display: none;
	}

main > * {
	display: grid;
	grid-template-columns: 1fr var(--wrap) 1fr;
	& > * {
		grid-column: 2;
	}
}

#aiForm, #aiDetail {
	padding-top: 24px;
	overflow: hidden;
	box-sizing: border-box;
	ul {
		list-style: none;
	}
	@media (min-width: 768px) {
		padding-top: 40px;
	}
}

#aiForm {
	& fieldset {
		margin-top: 2em;
		@media (min-width: 768px) {
			margin-top: 4em;
		}
		& img {
			aspect-ratio: 1 / 0.667;
			object-fit: cover;
		}
	}
	& legend {
		margin-bottom: 1em;
		padding-bottom: 0.5em;
		width: 100%;
		font-family: var(--font);
		font-size: 20px;
		font-weight: bold;
		line-height: 1.2em;
		color: var(--color-theme);
		border-bottom: 3px solid var(--color-theme);
		@media (min-width: 768px) {
			font-size: 28px;
		}
	}
	& ul {
		display: grid;
		grid-gap: 0.5em;
		@media (min-width: 768px) {
			grid-gap: 1em;
		}
	}
	& dl {
		display: grid;
		border: 3px solid transparent;
		border-radius: 6px;
		overflow: hidden;
		& dt {
			grid-column: 1;
			grid-row: 1;
			justify-self: center;
			align-self: end;
			padding: 1em 0 0.75em;
			width: 100%;
			font-size: 14px;
/*			font-weight: bold;*/
			line-height: 1.2em;
			text-align: center;
			color: #fff;
			background: linear-gradient(0deg, rgba(0, 0, 0, .7), transparent);
			z-index: 1;
			@media (min-width: 768px) {
				font-size: 16px;
			}
		}
		& dd {
			display: contents;
		}
		& figure {
			grid-column: 1;
			grid-row: 1;
		}
	}
	& select {
		min-height: 48px;
		padding: 8px;
		padding-right: 2em;
		background: #fff;
		border: 1px solid #ccc;
		line-height: inherit;
		background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><polygon fill="%23ccc" points="0,0 16,0 8,16"></polygon></svg>');
		background-position: calc(100% - 0.75em) center;
		background-repeat: no-repeat;
		background-size: 0.5em;
		appearance: none;
		border-radius: 6px;
		}
}

#formWhom, #formChoice {
	& .selected {
		position: relative;
		color: #FF0004;
		border: 3px solid var(--color-theme);
		&:before {
			content: "";
			position: absolute;
			top: 0.5em;
			left: 0.5em;
			width: 1.4em;
			height: 1.4em;
			background: var(--color-theme) url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30" fill="white"><path d="M26.6,2.21c-.98.02-1.91.47-2.54,1.23l-12.9,15.38-5-7.8c-1-1.55-3.07-2.01-4.62-1.01C-.02,11.01-.47,13.08.53,14.64l7.46,11.62c1,1.55,3.07,2,4.62,1.01.28-.18.54-.41.75-.66L29.19,7.73c1.21-1.4,1.05-3.51-.35-4.72-.62-.54-1.42-.83-2.24-.81Z"/></svg>') center center no-repeat;
			background-size: 50%;
			border-radius: 100%;
			@media (min-width: 768px) {
				width: 2em;
				height: 2em;
			}
		}
		& dt {
			background: linear-gradient(0deg, rgba(184, 40, 47, 1), transparent);
		}
	}
}

#formWhom {
	& ul {
		grid-template-columns: repeat(2, 1fr);
		@media (min-width: 768px) {
			grid-template-columns: repeat(3, 1fr);
		}
	}
}

#formChoice {
	& ul {
		grid-template-columns: repeat(2, 1fr);
		@media (min-width: 768px) {
			grid-template-columns: repeat(4, 1fr);
		}
	}
}

#formAccess {
	display: grid;
	@media (min-width: 768px) {
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 1em;
	}
	& > legend {
		grid-column: 1 / 3;
	}
	& > fieldset{
		margin: 0em;
		padding: 1em 1.5em 1.5em;
		background: #e6e6d8;
		border-radius: 6px;
		& legend {
			all: unset;
			font-family: var(--font);
			font-size: 20px;
			font-weight: bold;
		}
		& ul {
			grid-template-columns: repeat(2, 1fr);
		}
		& li {
			text-align: center;
		}
		@media (max-width: 767px) {
			& + fieldset {
				margin-top: 1em;
			}
		}
	}
	& li {
		padding: 0.5em;
		border-radius: 6px;
		background: #fff;
		border: 3px solid transparent;
		&.selected {
			color: var(--color-theme);
			border: 3px solid var(--color-theme);
		}
	}
}

#formSituation {
	padding: 1.5em;
	background: #e6e6d8;
	border-radius: 6px;
	@media (min-width: 768px) {
		padding: 2em;
	}
	& > legend {
		display: none;
	}
	& ul {
		grid-gap: 1.5em;
		@media (min-width: 768px) {
			grid-template-columns: repeat(3, 1fr);
			grid-gap: 2em 3em;
		}
	}
	& li {
		display: grid;
		grid-template-columns: 5em 1fr;
		align-items: center;
	}
	& ul + div {
		margin-top: 3em;
		text-align: center;
		& label{
			@media (max-width: 767px) {
				font-size: 0.8em;
			}
		}
		& input[type=range] {
			appearance: none;
			margin: 0 1rem;
			padding: 0;
			width: calc(100% - 20em);
			height: 10px;
			border-radius: 10px;
			border: 1px solid #ccc;
			cursor: pointer;
			@media (max-width: 767px) {
				width: calc(100% - 11em);
			}
			&::-webkit-slider-thumb { /* Chrome, Safari, Edge */
			  -webkit-appearance: none;
			  appearance: none;
			  width: 20px;
			  height: 20px;
			  border-radius: 9999px;
			  background: #cb0000;
			  box-shadow: none;
			}
			&::-webkit-slider-thumb { /* Firefox */
				width: 20px;
				height: 20px;
				border-radius: 9999px;
				background: #cb0000;
				box-shadow: none;
			}
		}
	}
}

#formMymap {
	margin-top: 4em;
}

#formLink {
	margin-top: 2em;
	font-weight: bold;
	@media (min-width: 768px) {
		margin-top: 4em;
	}
	& .button {
		display: grid;
		justify-content: center;
		align-items: center;
		margin: auto;
		width: min(100%, 340px);
		min-height: 48px;
		padding: 4px 16px;
		color: #fff;
		line-height: 1;
		letter-spacing: 0.05em;
		text-decoration: none;
		border-radius: 32px;
		background: var(--color-theme);
		&:hover {
			opacity: .7;
		}
	}
}

#aiDetail {
	& h2 {
		position: relative;
		padding-top: 2.5em;
		font-family: var(--font);
		font-size: 20px;
		font-weight: bold;
		text-align: center;
		@media (min-width: 768px) {
			font-size: 28px;
		}
		&:before {
			content: "";
			position: absolute;
			top: 0;
			left: 50%;
			transform: translateX(-50%);
			border: 1em solid transparent;
			border-top: 1.25em solid var(--color-theme);
		}
	}
}

#detailCourse {
	display: grid;
}

.spot {
	display: grid;
	grid-template-columns: 48px auto;
	grid-gap: 1em;
	margin: 0;
	padding: 1em;
	background: #fff;
	border-radius: 6px;
	position: relative;
	outline: none;
	@media (min-width: 768px) {
		grid-template-columns: 48px auto auto;
		grid-template-rows: auto auto auto 1fr;
		align-items: start;
		padding: 2em;
	}
	& + .spot {
		margin-top: 1em;
	}
	&:first-child {
		margin-top: 2em;
		&:before {
			grid-column: 1;
			grid-row: 2;
			content: "start";
			display: grid;
			align-items: center;
			width: 48px;
			aspect-ratio: 1;
			font-family: var(--font-en);
			font-weight: 500;
			font-size: 14px;
			letter-spacing: 0.05em;
			line-height: 1;
			text-align: center;
			color: #fff;
			background: var(--color-theme);
			border-radius: 100%;
			overflow: hidden;
		}
		@media (min-width: 768px) {
			margin-top: 4em;
		}
	}
	&:nth-of-type(n+2) {
		counter-increment: count;
		&:before {
			grid-column: 1;
			grid-row: 2;
			content: counter(count);
			display: grid;
			align-items: center;
			width: 48px;
			aspect-ratio: 1;
			font-family: var(--font-en);
			font-weight: 500;
			font-size: 24px;
			letter-spacing: 0.05em;
			line-height: 1;
			text-align: center;
			color: #fff;
			background: var(--color-theme);
			border-radius: 100%;
			overflow: hidden;
		}
	}
	.spotName {
		grid-column: 2 / 3;
		grid-row: 2;
		align-self: center;
		font-family: var(--font);
		font-weight: 700;
		font-size: clamp(20px, calc(28 / 1200 * 100vw), 28px);
		line-height: 1.4em;
		letter-spacing: 0.05em;
		@media (min-width: 768px) {
			grid-column: 2;
		}
	}
	.spotTime {
		grid-column: 1 / 3;
		font-weight: 700;
		font-size: clamp(12px, calc(14 / 1200 * 100vw), 14px);
		color: #f28593;
		@media (min-width: 768px) {
			grid-column: 1 / 4;
		}
	}
	.spotText {
		grid-column: 1 / 3;
		grid-row: 4;
		@media (min-width: 768px) {
			grid-column: 2 / 3;
			grid-row: 3;
		}
	}
	.spotLink {
		grid-column: 1 / 3;
		grid-row: 5;
		display: flex;
		justify-content: center;
		@media (min-width: 768px) {
			grid-column: 2;
			grid-row: 4;
		}
		& a {
			display: grid;
			grid-template-columns: 1fr 12px;
			align-items: center;
			column-gap: 8px;
			min-width: min(80%, 180px);
			min-height: 40px;
			padding: 4px 16px;
			border: 1px solid var(--color-theme);
			border-radius: 20px;
			color: var(--color-theme);
			font-size: 14px;
			letter-spacing: 0.1em;
			text-align: center;
			text-decoration: none;
			&:after {
				content: "";
				aspect-ratio: 1;
				background: var(--color-theme);
				-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12" style="fill: none; stroke: black; stroke-width: 1px;"><polyline points="4 1 9 6 4 11"/></svg>') no-repeat center / contain;
			}
			&:hover {
				opacity: .7;
			}
		}
	}
	.spotPhoto {
		grid-column: 1 / 3;
		grid-row: 3;
		@media (min-width: 768px) {
			grid-column: 3 / 4;
			grid-row: 2 / 5;
			padding-left: 1em;
		}
		& img {
			aspect-ratio: 1 / 0.667;
			object-fit: cover;
			border-radius: 6px;
			@media (min-width: 768px) {
				width: 400px;
			}
		}
	}
}


.move {
	display: grid;
	grid-template-columns: 40px auto;
	grid-gap: 1em;
	align-items: center;
	position: relative;
	margin-left: 1em;
	padding: 32px 0;
	min-height: 40px;
	letter-spacing: 0.1em;
	z-index: 1;
	@media (min-width: 768px) {
		margin-left: 2.25em;
	}
	& + .move {
		padding: 0  0 32px;
	}
	&:before, &:after {
		content: "";
		width: 100%;
		height: 100%;
	}
	&:before {
		left: 0;
		aspect-ratio: 1;
		background: #f28593;
		-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><circle cx="20" cy="20" r="20"/></svg>') no-repeat center / 40px;
		z-index: 1;
	}
	&[data-type="walk"]:before {
		background: var(--icon-walk) no-repeat center / 24px, url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40" fill="white"><circle cx="20" cy="20" r="20"/></svg>') no-repeat center / 36px #f28593;
	}
	&[data-type="car"]:before {
		background: var(--icon-car) no-repeat center / 24px, url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40" fill="white"><circle cx="20" cy="20" r="20"/></svg>') no-repeat center / 36px #f28593;
	}
	&[data-type="train"]:before {
		background: var(--icon-train) no-repeat center / 24px, url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40" fill="white"><circle cx="20" cy="20" r="20"/></svg>') no-repeat center / 36px #f28593;
	}
	&[data-type="bus"]:before {
		background: var(--icon-bus) no-repeat center / 24px, url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40" fill="white"><circle cx="20" cy="20" r="20"/></svg>') no-repeat center / 36px #f28593;
	}
	&[data-type="bicycle"]:before {
		background: var(--icon-bicycle) no-repeat center / 24px, url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40" fill="white"><circle cx="20" cy="20" r="20"/></svg>') no-repeat center / 36px #f28593;
	}
	&:after {
		position: absolute;
		top: 0;
		background-image: linear-gradient(#f28593,#f28593 25%,#fff 0,#fff 50%,#f28593 0,#f28593 75%,#fff 0,#fff);
		background-position: 20px;
		background-repeat: repeat-y;
		background-size: 1px 8px;
	}
}

footer {
	display: grid;
	grid-template-columns: auto 1fr auto;
	margin-top: 2em;
	@media (min-width: 768px) {
		margin-top: 4em;
	}
	&>*{
		grid-column: 2;
	}
}

#detailMap{
	grid-column: 1 / 4;
	justify-self: center;
	display: grid;
	grid-template-rows: min(75vh, 560px);
	margin-top: 1em;
	width: min(100%, 960px);
	#detailMapText{
		justify-self: center;
		max-width: var(--wrap-fit);
	}
	@media (min-width: 768px) {
		grid-template-columns: 1fr min(30vw, 366px);
		#detailMapText{
			grid-column: 1 / 3;
		}
	}
}

#detailMapBody{
	position: relative;
	background: #ccc;
	border-radius: 8px 8px 0 0;
	overflow: hidden;
	& iframe,
	& [id^="gMap"]{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	@media (min-width: 768px) {
		border-radius: 8px 0 0 8px;
	}
}

#detailMapList{
	position: relative;
	max-height: min(50vw, 240px);
	border: 1px solid #e6e6e6;
	border-bottom-width: 1px;
	border-radius: 0 0 8px 8px;
	background: #fff;
	overflow: hidden;
	@media (min-width: 768px) {
		max-height: 100%;
		border-top-width: 1px;
		border-width: 1px 1px 1px 0;
		border-radius: 0 8px 8px 0;
	}
	&:has(menu){
		display: grid;
		grid-template-rows: auto 1fr auto;
		& ul{
			overflow-y: auto;
		}
	}
	& ul{
		counter-reset: count;
		padding: 0 clamp(16px, calc(24 / 1200 * 100vw), 24px);
		&:only-child{
			padding: 8px clamp(16px, calc(24 / 1200 * 100vw), 24px);
		}
	}
	& li{
		display: grid;
		grid-template-columns: 32px auto;
		align-content: center;
		grid-gap: 16px;
		padding: 16px 0;
		letter-spacing: 0.05em;
		cursor: pointer;
		&:before{
			counter-increment: count;
			content: counter(count);
			display: grid;
			align-content: center;
			aspect-ratio: 1;
			background: #f28593;
			border-radius: 100%;
			color: #fff;
			font: var(--font-en);
			text-align: center;
			letter-spacing: 0;
			line-height: 1;
		}
	}
	& menu{
		all: unset;
		position: relative;
		height: 32px;
		margin: 0;
		padding: 0;
		font-size: 0;
		cursor: pointer;
		z-index: 1;
		&:before{
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: currentColor;
			-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" style="fill: none; stroke: black; stroke-width: 1px;"><polyline points="2 11 8 5 14 11"/></svg>') center no-repeat;
			-webkit-mask-size: 16px;
		}
		&#detailMapListDown{
			transform: scale(1, -1);
		}
	}
}

#detailMapText{
	margin-top: 16px;
	color: var(--color-theme);
	font-size: 14px;
	letter-spacing: 0.05em;
}

#detailMapToggle{
	all: unset;
	box-sizing: border-box;
	grid-column: 2;
	justify-self: center;
	display: grid;
	grid-template-columns: 1fr 16px;
	align-items: center;
	column-gap: 8px;
	width: min(100%, 220px);
	min-height: 48px;
	padding: 8px 16px;
	border-radius: 24px;
	text-align: center;
	text-decoration: none;
	color: #fff;
	background: #f28593;
	cursor: pointer;
	&:after{
		content: "";
		aspect-ratio: 1;
		background: #fff;
		-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" style="fill: none; stroke: black; stroke-width: 2px;"><polyline points="1 7 13 7"/><polyline points="7 1 7 13"/></svg>') no-repeat center / contain;
	}
	&.open:after{
		-webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" style="fill: none; stroke: black; stroke-width: 2px;"><polyline points="1 7 13 7"/></svg>');
	}
}

#footerLink {
	margin-top: 4em;
	padding-top: 4em;
	border-top: 2px solid #ccc;
	& p {
		font-family: var(--font);
		font-size: 18px;
		font-weight: bold;
		text-align: center;
	}
	& p + div {
		margin-top: 2em;
		@media (min-width: 768px) {
			display: flex;
			justify-content: center;
		}
		& a {
			display: grid;
			grid-template-columns: 16px 1fr;
			justify-self: center;
			align-items: center;
			column-gap: 8px;
			width: min(100%, 340px);
			min-height: 48px;
			padding: 4px 16px;
			color: #fff;
			line-height: 1;
			letter-spacing: 0.05em;
			text-align: center;
			text-decoration: none;
			border-radius: 32px;
			background: var(--color-theme);
			&:hover {
				opacity: .7;
			}
			&:before {
				content: "";
				aspect-ratio: 1;
				background: #fff;
				-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12" style="fill: none; stroke: black; stroke-width: 1px;"><polyline points="4 1 9 6 4 11"/></svg>') no-repeat center / contain;
			}
			&:first-child {
				background: #fff;
				border: 1px solid var(--color-theme);
				color: var(--color-theme);
				&:before {
					background: var(--color-theme);
					transform: rotateY(180deg);
				}
			}
			& + a {
				margin-top: 1em;
				@media (min-width: 768px) {
					margin-top: 0;
					margin-left: 1em;
				}
			}
		}
	}
}

.infoWin{
	&[LSC-LT],
	[LSC-LB] &{
		position: relative;
		justify-self: center;
		margin: 16px;
		padding: 16px;
		background: #fff;
		border-radius: 8px;
		filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.25));
		z-index: 1;
	}
	& dl{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		grid-gap: 8px;
		max-width: 320px;
	}
	& dt{
		width: 100%;
		font-weight: 700;
		letter-spacing: 0.05em;
	}
	& dd{
		&:empty{
			display: none;
		}
		&:has(img){
			order: -1;
			width: 100%;
		}
		&:has(a){
			display: contents;
		}
		& img{
			aspect-ratio: 1 / 0.667;
			object-fit: cover;
			border-radius: 4px;
			width: 100%;
		}
		& a{
			display: grid;
			align-items: center;
			width: calc(50% - 4px);
			min-height: 32px;
			padding: 4px 8px;
			background: #f28593;
			border-radius: 16px;
			color: #fff;
			font-weight: 700;
			font-size: clamp(12px, calc(14 / 576 * 100vw), 14px);
			text-align: center;
			text-decoration: none;
			letter-spacing: 0.05em;
			outline: none;
			&[href*="google.co.jp"]{
				background: var(--color-theme);
			}
		}
	}
}

#modalLink{}
	#modalLink h3{
		text-align: center;
		padding: 1em;
		}

.screen{
	position: fixed;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 0;
	background: rgba(0,0,0,0.5);
	z-index: 50;
	}

.popup{
	position: relative;
	margin: 0;
	background: #fff;
	filter: drop-shadow(0 0 0.2em rgba(0,0,0,0.2));
	}
	.popup div+div{
		margin-top: 1em;
		}
	.popup .close{
		position: absolute;
		top: 0.5em;
		right: 0.5em;
		fill: #000;
		cursor: pointer;
		z-index: 10;
		}
