/* CSS Document */

#feature,
#spot,
#course,
#event,
#gourmet,
#stay,
#favorite{
	display: grid;
	grid-template-columns: var(--wrap);
	justify-content: center;
	margin-bottom: clamp(40px, calc(56 / 1200 * 100vw), 56px);
	& h2{
		justify-self: center;
		display: grid;
		grid-row-gap: 4px;
		font-weight: 700;
		font-size: clamp(24px, calc(32 / 768 * 100vw), 32px);
		letter-spacing: 0.1em;
		&:before{
			content: "";
			justify-self: center;
			aspect-ratio: 1;
			width: 40px;
			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 20 20"><rect width="100%" height="100%"/></svg>') no-repeat center / contain;
		}
		&:after{
			content: "";
			height: 2px;
			background: linear-gradient(90deg, var(--color-theme-sub) 50%, var(--color-theme) 50%);
		}
	}
}

#feature{
	& h2:before{
		-webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><polygon points="15.61 15.61 9.89 12.47 4.39 15.61 4.39 4.39 15.61 4.39 15.61 15.61"/></svg>');
	}
	& h2+div{
		margin-top: 24px;
		font-size: clamp(16px, calc(18 / 768 * 100vw), 18px);
		text-align: center;
		word-break: keep-all;
		overflow-wrap: anywhere;
	}
}

#spot{
	& h2:before{
		-webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M15.87,8.64c0-3.25-2.64-5.89-5.89-5.89s-5.89,2.64-5.89,5.89c0,2.68,1.8,4.91,4.24,5.63l1.66,3.64,1.66-3.65c2.43-.73,4.21-2.95,4.21-5.62ZM9.98,10.6c-1.08,0-1.96-.88-1.96-1.96s.88-1.96,1.96-1.96,1.96.88,1.96,1.96-.88,1.96-1.96,1.96Z"/></svg>');
	}
}

#course{
	& h2:before{
		-webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M4.48.96c-.48,0-.87.39-.87.87,0,.32.18.59.43.74v15.39h.88V2.57c.25-.15.43-.42.43-.74,0-.48-.39-.87-.88-.87ZM5.74,2.41v11.46l11.52-5.74L5.74,2.41Z"/></svg>');
	}
	& h2+div{
		margin-top: 24px;
		font-size: clamp(16px, calc(18 / 768 * 100vw), 18px);
		text-align: center;
		word-break: keep-all;
		overflow-wrap: anywhere;
	}
}

#event{
	& h2:before{
		-webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M7.27,5.02c.42,0,.75-.34.75-.75v-1.18c0-.42-.34-.75-.75-.75s-.75.34-.75.75v1.18c0,.42.34.75.75.75ZM12.82,5.02c.42,0,.75-.34.75-.75v-1.18c0-.42-.34-.75-.75-.75s-.75.34-.75.75v1.18c0,.42.34.75.75.75ZM15.43,3.4h-1.19v.86c0,.78-.63,1.41-1.41,1.41s-1.41-.63-1.41-1.41v-.86h-2.72v.86c0,.78-.63,1.41-1.41,1.41s-1.41-.63-1.41-1.41v-.86h-1.29c-1.17,0-2.11.95-2.11,2.11v10.04c0,1.17.95,2.11,2.11,2.11h10.86c1.17,0,2.11-.95,2.11-2.11V5.52c0-1.17-.95-2.11-2.11-2.11ZM16.52,15.56c0,.6-.49,1.09-1.09,1.09H4.57c-.6,0-1.09-.49-1.09-1.09V6.85h13.03v8.7ZM8.52,15.51c.43,0,.77-.35.77-.77s-.35-.77-.77-.77-.77.35-.77.77.35.77.77.77ZM8.52,12.56c.43,0,.77-.35.77-.77s-.35-.77-.77-.77-.77.35-.77.77.35.77.77.77ZM5.57,15.51c.43,0,.77-.35.77-.77s-.35-.77-.77-.77-.77.35-.77.77.35.77.77.77ZM5.57,12.56c.43,0,.77-.35.77-.77s-.35-.77-.77-.77-.77.35-.77.77.35.77.77.77ZM14.43,9.61c.43,0,.77-.35.77-.77s-.35-.77-.77-.77-.77.35-.77.77.35.77.77.77ZM11.48,9.61c.43,0,.77-.35.77-.77s-.35-.77-.77-.77-.77.35-.77.77.35.77.77.77ZM11.48,12.56c.43,0,.77-.35.77-.77s-.35-.77-.77-.77-.77.35-.77.77.35.77.77.77ZM14.43,12.56c.43,0,.77-.35.77-.77s-.35-.77-.77-.77-.77.35-.77.77.35.77.77.77ZM11.48,15.51c.43,0,.77-.35.77-.77s-.35-.77-.77-.77-.77.35-.77.77.35.77.77.77ZM8.52,9.61c.43,0,.77-.35.77-.77s-.35-.77-.77-.77-.77.35-.77.77.35.77.77.77Z"/></svg>');
	}
}

#gourmet{
	& h2:before{
		-webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M7.27,5.02c.42,0,.75-.34.75-.75v-1.18c0-.42-.34-.75-.75-.75s-.75.34-.75.75v1.18c0,.42.34.75.75.75ZM12.82,5.02c.42,0,.75-.34.75-.75v-1.18c0-.42-.34-.75-.75-.75s-.75.34-.75.75v1.18c0,.42.34.75.75.75ZM15.43,3.4h-1.19v.86c0,.78-.63,1.41-1.41,1.41s-1.41-.63-1.41-1.41v-.86h-2.72v.86c0,.78-.63,1.41-1.41,1.41s-1.41-.63-1.41-1.41v-.86h-1.29c-1.17,0-2.11.95-2.11,2.11v10.04c0,1.17.95,2.11,2.11,2.11h10.86c1.17,0,2.11-.95,2.11-2.11V5.52c0-1.17-.95-2.11-2.11-2.11ZM16.52,15.56c0,.6-.49,1.09-1.09,1.09H4.57c-.6,0-1.09-.49-1.09-1.09V6.85h13.03v8.7ZM8.52,15.51c.43,0,.77-.35.77-.77s-.35-.77-.77-.77-.77.35-.77.77.35.77.77.77ZM8.52,12.56c.43,0,.77-.35.77-.77s-.35-.77-.77-.77-.77.35-.77.77.35.77.77.77ZM5.57,15.51c.43,0,.77-.35.77-.77s-.35-.77-.77-.77-.77.35-.77.77.35.77.77.77ZM5.57,12.56c.43,0,.77-.35.77-.77s-.35-.77-.77-.77-.77.35-.77.77.35.77.77.77ZM14.43,9.61c.43,0,.77-.35.77-.77s-.35-.77-.77-.77-.77.35-.77.77.35.77.77.77ZM11.48,9.61c.43,0,.77-.35.77-.77s-.35-.77-.77-.77-.77.35-.77.77.35.77.77.77ZM11.48,12.56c.43,0,.77-.35.77-.77s-.35-.77-.77-.77-.77.35-.77.77.35.77.77.77ZM14.43,12.56c.43,0,.77-.35.77-.77s-.35-.77-.77-.77-.77.35-.77.77.35.77.77.77ZM11.48,15.51c.43,0,.77-.35.77-.77s-.35-.77-.77-.77-.77.35-.77.77.35.77.77.77ZM8.52,9.61c.43,0,.77-.35.77-.77s-.35-.77-.77-.77-.77.35-.77.77.35.77.77.77Z"/></svg>');
	}
}

#stay{
	& h2:before{
		-webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M16.37,8.4l-3.34-3.34-3.03-3.03-3.03,3.03-3.34,3.34-2.37,2.37,1.37,1.37,2.37-2.37,3.34-3.34,1.67-1.67,1.67,1.67,3.34,3.34,2.37,2.37,1.37-1.37-2.37-2.37ZM4.18,12.23v5.13h6.46v-4.06h2.35v4.06h2.82v-5.13l-5.81-5.81-5.82,5.82Z"/></svg>');
	}
}

#favorite{
	& h2:before{
		-webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="M6.97,14c-.65-.64-3.14-3.3-4.39-4.81C1.27,7.6,0,5.88,0,3.54,0,1.57,1.52,0,3.4,0c1.67,0,3.03.98,3.59,2.74h.02c.57-1.85,1.99-2.74,3.59-2.74,1.88,0,3.4,1.57,3.4,3.54,0,2.34-1.27,4.06-2.58,5.65-1.26,1.52-3.77,4.17-4.41,4.81h-.04Z"/></svg>');
	}
	#favoriteShare{
		margin-top: clamp(24px, calc(48 / 1200 * 100vw), 48px);
	}
}

#favoriteShare{
	display: flex;
	justify-content: center;
	& summary{
		all: unset;
		box-sizing: border-box;
		cursor: pointer;
		display: grid;
		grid-template-columns: auto 1fr;
		align-items: center;
		min-width: min(100%, 360px);
		min-height: clamp(56px, calc(64 / 768 * 100vw), 64px);
		padding: 8px 24px;
		border: 1px solid currentColor;
		border-radius: 12px;
		color: var(--color-theme);
		font-weight: 700;
		font-size: clamp(16px, calc(18 / 768 * 100vw), 18px);
		letter-spacing: 0.05em;
		text-align: center;
		cursor: pointer;
		&:before{
			content: "";
			content: "";
			aspect-ratio: 1;
			width: 16px;
			background: currentColor;
			-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="M6.97,14c-.65-.64-3.14-3.3-4.39-4.81C1.27,7.6,0,5.88,0,3.54,0,1.57,1.52,0,3.4,0c1.67,0,3.03.98,3.59,2.74h.02c.57-1.85,1.99-2.74,3.59-2.74,1.88,0,3.4,1.57,3.4,3.54,0,2.34-1.27,4.06-2.58,5.65-1.26,1.52-3.77,4.17-4.41,4.81h-.04Z"/></svg>') no-repeat center / contain;
		}
	}
	& summary+div{
		position: fixed;
		top: 0;
		left: 0;
		display: grid;
		grid-template-columns: 1fr min(var(--wrap), 960px) 1fr;
		align-content: center;
		width: 100%;
		height: 100%;
		padding: clamp(32px, 7.2vw, 48px) 0;
		background: rgba(0,0,0,0.8);
		z-index: 1000;
	}
	& menu{
		all: unset;
		box-sizing: border-box;
		grid-column: 2;
		grid-row: 1;
		justify-self: end;
		aspect-ratio: 1;
		width: 48px;
		background: #9b9b9b;
		font-size: 0;
		cursor: pointer;
		-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" style="fill: none; stroke: black; stroke-width: 2px;"><line x1="17" y1="3" x2="3" y2="17"/><line x1="17" y1="17" x2="3" y2="3"/></svg>') center no-repeat;
		-webkit-mask-size: 20px;
	}
	& dl{
		grid-column: 2;
		grid-row: 1;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		grid-gap: 16px;
		padding: 24px;
		background: #fff;
		border-radius: 16px;
		filter: drop-shadow(0 0 0.3em rgba(0,0,0,0.1));
	}
	& dt{
		display: grid;
		grid-template-columns: auto 1fr;
		column-gap: 8px;
		width: 100%;
		font-weight: 700;
		&:before{
			content: "";
			height: 1em;
			border-left: 4px solid var(--color-theme-sub);
			transform: translateY(calc(0.875em - 50%));
		}
	}
	& dt+dd{
		width: 100%;
	}
	& dd{
		& input{
			border-radius: 4px;
		}
		& a{
			display: grid;
			grid-template-columns: 16px auto;
			align-items: center;
			grid-gap: 4px;
			min-height: 32px;
			padding: 4px 16px;
			border: 1px solid var(--color-border);
			border-radius: 4px;
			font-weight: 500;
			color: inherit;
			font-size: clamp(12px, calc(14 / 1200 * 100vw), 14px);
			text-align: center;
			text-decoration: none;
			letter-spacing: 0.025em;
			cursor: pointer;
			&:before{
				content: "";
				aspect-ratio: 1;
				-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M0.106 11.553c-0.136 0.274-0.146 0.603 0 0.894 0 0 0.396 0.789 1.12 1.843 0.451 0.656 1.038 1.432 1.757 2.218 0.894 0.979 2.004 1.987 3.319 2.8 1.595 0.986 3.506 1.692 5.698 1.692s4.103-0.706 5.698-1.692c1.315-0.813 2.425-1.821 3.319-2.8 0.718-0.786 1.306-1.562 1.757-2.218 0.724-1.054 1.12-1.843 1.12-1.843 0.136-0.274 0.146-0.603 0-0.894 0 0-0.396-0.789-1.12-1.843-0.451-0.656-1.038-1.432-1.757-2.218-0.894-0.979-2.004-1.987-3.319-2.8-1.595-0.986-3.506-1.692-5.698-1.692s-4.103 0.706-5.698 1.692c-1.315 0.813-2.425 1.821-3.319 2.8-0.719 0.786-1.306 1.561-1.757 2.218-0.724 1.054-1.12 1.843-1.12 1.843zM2.14 12c0.163-0.281 0.407-0.681 0.734-1.158 0.41-0.596 0.94-1.296 1.585-2.001 0.805-0.881 1.775-1.756 2.894-2.448 1.35-0.834 2.901-1.393 4.647-1.393s3.297 0.559 4.646 1.393c1.119 0.692 2.089 1.567 2.894 2.448 0.644 0.705 1.175 1.405 1.585 2.001 0.328 0.477 0.572 0.876 0.734 1.158-0.163 0.281-0.407 0.681-0.734 1.158-0.41 0.596-0.94 1.296-1.585 2.001-0.805 0.881-1.775 1.756-2.894 2.448-1.349 0.834-2.9 1.393-4.646 1.393s-3.297-0.559-4.646-1.393c-1.119-0.692-2.089-1.567-2.894-2.448-0.644-0.705-1.175-1.405-1.585-2.001-0.328-0.477-0.572-0.877-0.735-1.158zM16 12c0-1.104-0.449-2.106-1.172-2.828s-1.724-1.172-2.828-1.172-2.106 0.449-2.828 1.172-1.172 1.724-1.172 2.828 0.449 2.106 1.172 2.828 1.724 1.172 2.828 1.172 2.106-0.449 2.828-1.172 1.172-1.724 1.172-2.828zM14 12c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586-1.051-0.223-1.414-0.586-0.586-0.861-0.586-1.414 0.223-1.051 0.586-1.414 0.861-0.586 1.414-0.586 1.051 0.223 1.414 0.586 0.586 0.861 0.586 1.414z"/></svg>') center no-repeat;
				-webkit-mask-size: contain;
				background: currentColor;
				transform: translateX(-4px);
			}
			&[data-target="mailto"]{
				&:before{
					-webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 7.921l8.427 5.899c0.34 0.235 0.795 0.246 1.147 0l8.426-5.899v10.079c0 0.272-0.11 0.521-0.295 0.705s-0.433 0.295-0.705 0.295h-16c-0.272 0-0.521-0.11-0.705-0.295s-0.295-0.433-0.295-0.705zM1 5.983c0 0.010 0 0.020 0 0.030v11.987c0 0.828 0.34 1.579 0.88 2.12s1.292 0.88 2.12 0.88h16c0.828 0 1.579-0.34 2.12-0.88s0.88-1.292 0.88-2.12v-11.988c0-0.010 0-0.020 0-0.030-0.005-0.821-0.343-1.565-0.88-2.102-0.541-0.54-1.292-0.88-2.12-0.88h-16c-0.828 0-1.579 0.34-2.12 0.88-0.537 0.537-0.875 1.281-0.88 2.103zM20.894 5.554l-8.894 6.225-8.894-6.225c0.048-0.096 0.112-0.183 0.188-0.259 0.185-0.185 0.434-0.295 0.706-0.295h16c0.272 0 0.521 0.11 0.705 0.295 0.076 0.076 0.14 0.164 0.188 0.259z"/></svg>');
				}
			}
			&[data-target="twitter"]{
				background: #000;
				border-color: transparent;
				color: #fff;
				&:before{
					-webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path d="M21.42,15.24L34.83,0h-3.18l-11.64,13.24L10.72,0H0l14.05,20.01L0,36h3.18l12.29-13.98,9.82,13.98h10.72l-14.58-20.76h0ZM17.07,20.19l-1.42-1.99L4.32,2.34h4.88l9.14,12.8,1.42,1.99,11.89,16.64h-4.88l-9.7-13.58h0Z"/></svg>');
				}
			}
			&[data-target="facebook"]{
				background: #3b5998;
				border-color: transparent;
				color: #fff;
				&:before{
					-webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28"><path d="M19.52,5.08V0c-3.16,0-5.51.91-7,2.7a6.88,6.88,0,0,0-1.46,5.08V9.61H8.48v5.08h2.58V28h5.09V14.69h2.49V9.61H16.15v-2l0-.41a1.81,1.81,0,0,1,.34-1.28C16.92,5.38,18,5.08,19.52,5.08Z"/></svg>');
				}
			}
			&[data-target="line"]{
				background: #00c300;
				border-color: transparent;
				color: #fff;
				&:before{
					-webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28"><path d="M28,12C28,5.76,21.72.66,14,.66S0,5.76,0,12c0,5.62,5,10.32,11.71,11.21.45.1,1.07.3,1.23.69A3,3,0,0,1,13,25.19s-.17,1-.2,1.2-.28,1.38,1.21.75S22.06,22.39,25,19h0A10.09,10.09,0,0,0,28,12ZM9.06,15.37a.27.27,0,0,1-.27.27H4.86a.27.27,0,0,1-.27-.27h0V9.26A.27.27,0,0,1,4.86,9h1a.27.27,0,0,1,.27.27v4.85H8.79a.27.27,0,0,1,.27.27Zm2.37,0a.27.27,0,0,1-.27.27h-1a.27.27,0,0,1-.27-.27V9.26A.27.27,0,0,1,10.17,9h1a.27.27,0,0,1,.27.27Zm6.76,0a.27.27,0,0,1-.27.27H16.78a.23.23,0,0,1-.07-.07l-2.8-3.78v3.63a.27.27,0,0,1-.27.27h-1a.27.27,0,0,1-.27-.27V9.26A.27.27,0,0,1,12.65,9h1.18v0h0l0,0,2.8,3.77V9.26A.27.27,0,0,1,16.93,9h1a.27.27,0,0,1,.27.27Zm5.42-5.12a.27.27,0,0,1-.27.27H20.67v1h2.67a.27.27,0,0,1,.27.27v1a.27.27,0,0,1-.27.27H20.67v1h2.67a.27.27,0,0,1,.27.27v1a.27.27,0,0,1-.27.27H19.41a.27.27,0,0,1-.27-.27h0V9.27h0A.27.27,0,0,1,19.41,9h3.93a.27.27,0,0,1,.27.27Z"/></svg>');
				}
			}
		}
	}
}

#search{
	display: grid;
	grid-template-columns: var(--wrap);
	justify-content: center;
	background: #f6f5ef;
	padding: 24px 0;
	& h2{
		display: grid;
		grid-template-columns: auto 1fr;
		column-gap: 8px;
		font-weight: 700;
		&:before{
			content: "";
			height: 1em;
			border-left: 4px solid var(--color-theme-sub);
			transform: translateY(calc(0.875em - 50%));
		}
	}
	& details{
		box-sizing: border-box;
		&::details-content{
			box-sizing: border-box;
		}
	}
	& summary{
		all: unset;
		box-sizing: border-box;
		cursor: pointer;
	}
	& button{
		all: unset;
		box-sizing: border-box;
		cursor: pointer;
	}
	#searchMenu{
		margin-top: 16px;
	}
	#searchCurrent{
		margin-top: 16px;
	}
}

#searchMenu{
	display: grid;
	grid-gap: 8px;
	& details{
		&[open]::details-content{
			padding: clamp(24px, calc(48 / 1200 * 100vw), 48px) clamp(24px, calc(64 / 1200 * 100vw), 64px);
			background: #fff;
			border: 2px solid var(--color-theme);
			border-radius: 8px;
		}
		& h3{
			display: grid;
			grid-template-columns: auto 1fr;
			column-gap: 8px;
			font-weight: 700;
			&:before{
				content: "";
				height: 1em;
				border-left: 4px solid var(--color-theme-sub);
				transform: translateY(calc(0.875em - 50%));
			}
		}
		& h3+div{
			margin: 16px;
		}
		& h3+div+div{
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			grid-gap: 8px 24px;
		}
		& ul{
			display: grid;
			align-items: start;
			grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));
			grid-gap: 1px;
			& ul{
				grid-template-columns: 1fr;
				align-content: start;
				margin-top: 1px;
			}
		}
		& label{
			padding: 4px 16px;
			&:has(input:checked){
				background: var(--color-theme);
				color: #fff;
			}
		}
		& button{
			display: grid;
			grid-template-columns: 1fr auto;
			align-items: center;
			width: min(100%, 220px);
			min-height: clamp(48px, calc(56 / 768 * 100vw), 56px);
			padding: 8px 16px;
			border-radius: clamp(28px, calc(32 / 768 * 100vw), 32px);
			font-weight: 500;
			letter-spacing: 0.05em;
			text-align: center;
			&:after{
				content: "";
				justify-self: center;
				aspect-ratio: 1;
				width: 16px;
				background: currentColor;
				-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><rect width="100%" height="100%"/></svg>') no-repeat center / contain;
			}
			&.doSearch{
				color: var(--color-theme);
				border: 1px solid currentColor;
				&:after{
					-webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M15.67,14.48l-3.8-3.8c.79-1.08,1.26-2.4,1.26-3.84C13.13,3.24,10.22.33,6.63.33S.12,3.24.12,6.83s2.91,6.51,6.51,6.51c1.65,0,3.15-.62,4.3-1.63l3.76,3.76c.14.14.31.2.49.2s.36-.07.49-.2c.27-.27.27-.71,0-.99ZM6.63,11.94c-2.82,0-5.11-2.29-5.11-5.11S3.81,1.72,6.63,1.72s5.11,2.29,5.11,5.11-2.29,5.11-5.11,5.11Z"/></svg>')
				}
			}
			&.doClearAll{
				border: 1px solid var(--color-border);
				&:after{
					-webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M3.66,13.38l-1.06-1.04,4.34-4.34L2.6,3.66l1.06-1.04,4.34,4.34,4.34-4.34,1.06,1.04-4.34,4.34,4.32,4.34-1.04,1.04-4.34-4.32-4.34,4.32Z"/></svg>')
				}
			}
		}
		& .close{
			all: unset;
			display: block;
			position: absolute;
			top: 0;
			right: 0;
			aspect-ratio: 1;
			width: 3em;
			color: transparent;
			overflow: hidden;
			cursor: pointer;
			z-index: 1;
			user-select: none;
			&:before,
			&:after{
				content: "";
				position: absolute;
				top: 50%;
				left: 50%;
				width: 32px;
				height: 2px;
				background: var(--color-theme);
				border-radius: 1px;
			}
			&:before{
				transform: translate(-50%, -50%) rotate(45deg);
			}
			&:after{
				transform: translate(-50%, -50%) rotate(-45deg);
			}
		}
	}
	& summary{
		display: grid;
		grid-template-columns: 1fr auto;
		align-items: center;
		column-gap: 4px;
		min-height: 48px;
		padding: 4px 16px;
		background: #fff;
		border: 1px solid #999;
		border-radius: 4px;
		font-weight: 500;
		font-size: 14px;
		letter-spacing: 0.03em;
		&:after{
			content: "";
			aspect-ratio: 1;
			width: 12px;
			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 10"><polygon points="12 0 6 10 0 0 12 0"/></svg>') no-repeat center / contain;
		}
		[open] &:after{
			//transform: scale(1, -1);
		}
	}
	#searchKeyword{
		width: auto;
		min-height: 48px;
		padding: 4px 16px;
		border: 1px solid #999;
		border-radius: 4px;
	}
	#searchKeyword+button{
		width: 48px;
		background: var(--color-theme) url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40" fill="white"><path d="M32.95,29.78l-5.65-5.65c1.2-1.77,1.83-3.82,1.83-5.95,0-5.89-4.79-10.68-10.68-10.68s-10.68,4.79-10.68,10.68,4.79,10.68,10.68,10.68c2.44,0,4.8-.84,6.7-2.38l5.56,5.56c.3.3.7.47,1.12.47s.83-.17,1.12-.47c.62-.62.62-1.63,0-2.25ZM25.95,18.18c0,4.13-3.36,7.49-7.49,7.49s-7.49-3.36-7.49-7.49,3.36-7.49,7.49-7.49,7.49,3.36,7.49,7.49Z"/></svg>') no-repeat center / contain;
		border-radius: 4px;
		font-size: 0;
	}
	@media (max-width: 991.98px) {
		grid-template-columns: 1fr auto;
		& details{
			grid-column: 1 / 3;
			&::details-content{
				margin-top: 8px;
			}
		}
	}
	@media (min-width: 992px) {
		position: relative;
		grid-template-columns: 1fr 1fr auto;
		&:has(details:nth-child(2)){
			grid-template-columns: 1fr 1fr 1fr auto;
		}
		&:has(details:nth-child(3)){
			grid-template-columns: 1fr 1fr 1fr 1fr auto;
		}
		& details{
			&::details-content{
				position: absolute;
				top: calc(100% + 32px);
				left: 0;
				width: 100%;
				max-height: 80dvh;
				overflow: auto;
				z-index: 10;
			}
		}
	}
}

#searchCurrent{
	& dl{
		display: flex;
		flex-wrap: wrap;
		grid-gap: 8px;
	}
	& dt{
		display: grid;
		grid-template-columns: auto 1fr;
		column-gap: 8px;
		width: 100%;
		margin-bottom: 8px;
		font-weight: 700;
		&:before{
			content: "";
			height: 1em;
			border-left: 4px solid var(--color-theme-sub);
			transform: translateY(calc(0.875em - 50%));
		}
	}
	& a,
	& button{
		display: grid;
		grid-template-columns: 1fr auto;
		align-items: center;
		column-gap: 4px;
		min-height: 32px;
		padding: 0 16px;
		background: #fff;
		border: 1px solid var(--color-border);
		border-radius: 16px;
		color: inherit;
		font-weight: 50;
		text-decoration: none;
		&:after{
			content: "";
			aspect-ratio: 1;
			width: 12px;
			background: currentColor;
			transform: translateX(4px);
			-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 10"><polygon points="12 0 6 10 0 0 12 0"/></svg>') no-repeat center / contain;
		}
	}
}

#result{
	display: grid;
	grid-template-columns: var(--wrap);
	justify-content: center;
	margin-bottom: clamp(64px, calc(120 / 1200 * 100vw), 120px);
	& h2{
		display: none;
	}
	#resultSet+#resultList{
		margin-top: clamp(32px, calc(48 / 1200 * 100vw), 48px);
	}
}

#resultSet{
	grid-gap: 16px 24px;
	padding: 24px 0;
	border-bottom: 1px solid #999;
	@media (max-width: 991.98px) {
		display: grid;
		justify-items: center;
	}
	@media (min-width: 992px) {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
}

#resultCount{
	display: flex;
	align-items: center;
	column-gap: 0.25em;
	font-weight: 500;
	letter-spacing: 0.05em;
	& span{
		font-size: 2em;
		line-height: 1;
	}
}

#resultSort{
	& dl{
		display: flex;
		grid-gap: 8px;
		font-size: clamp(12px, calc(14 / 768 * 100vw), 14px);
		font-weight: 500;
		letter-spacing: 0.05em;
	}
	& dd{
		display: grid;
		align-items: center;
		padding: 0 1em;
		border: 1px solid #999;
		border-radius: 4px;
		&.select{
			background: var(--color-theme);
			border-color: transparent;
			color: #fff;
		}
	}
	& span{
		display: contents;
	}
	@media (max-width: 575.98px) {
		& dl{
			flex-wrap: wrap;
			justify-content: center;
		}
		& dt{
			width: 100%;
			text-align: center;
		}
	}
}

#pagenation{
	margin-top: clamp(64px, calc(120 / 1200 * 100vw), 120px);
	&:not(:has(li)){
		display: none;
	}
}

.featureList{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 345px), 1fr));
	grid-gap: clamp(32px, calc(48 / 1200 * 100vw), 48px) clamp(16px, calc(32 / 1200 * 100vw), 32px);
	& section{
		position: relative;
		display: grid;
		align-content: start;
		grid-row-gap: 8px;
		&:not(:has(img)):before{
			content: "";
			aspect-ratio: 3 / 2;
			margin-bottom: 8px;
			background: var(--dummy);
			border-radius: clamp(8px, calc(12 / 768 * 100vw), 12px);
		}
		& p{
			order: 1;
		}
		& figure{
			order: -1;
			margin-bottom: 8px;
		}
	}
	& h3{
		display: grid;
		grid-template-columns: auto 1fr;
		column-gap: 8px;
		font-weight: 700;
		font-size: clamp(16px, calc(18 / 768 * 100vw), 18px);
		letter-spacing: 0.05em;
		&:before{
			content: "";
			width: 4px;
			height: 1.65em;
			background: linear-gradient(180deg, var(--color-theme-sub) 50%, var(--color-theme) 50%);
		}
	}
	& h3+div{
		display: contents;
	}
	& p{
		font-size: clamp(14px, calc(16 / 768 * 100vw), 16px);
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		max-height: calc(1.65em * 3);
		overflow: hidden;
	}
	& figure{
		& img{
			aspect-ratio: 3 / 2;
			object-fit: cover;
			border-radius: clamp(8px, calc(12 / 768 * 100vw), 12px);
		}
	}
	& a{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		font-size: 0;
	}
}

.spotList{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(calc(50% - 16px), 240px), 1fr));
	grid-gap: clamp(32px, calc(48 / 1200 * 100vw), 48px) clamp(16px, calc(32 / 1200 * 100vw), 32px);
	& section{
		position: relative;
		display: grid;
		align-content: start;
		grid-row-gap: 8px;
		&:not(:has(img)):before{
			content: "";
			aspect-ratio: 3 / 2;
			background: var(--dummy);
			border-radius: clamp(8px, calc(12 / 768 * 100vw), 12px);
		}
		& p{
			order: 1;
		}
		& figure{
			order: -1;
		}
	}
	& h3{
		font-weight: 700;
		font-size: clamp(16px, calc(18 / 768 * 100vw), 18px);
		letter-spacing: 0.05em;
	}
	& h3+div{
		display: contents;
	}
	& p{
		font-size: clamp(14px, calc(16 / 768 * 100vw), 16px);
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 5;
		max-height: calc(1.65em * 5);
		overflow: hidden;
	}
	& time{
		display: grid;
		grid-template-columns: auto 1fr;
		column-gap: 8px;
		font-size: clamp(12px, calc(14 / 768 * 100vw), 14px);
		&:before{
			content: "";
			aspect-ratio: 1;
			width: 18px;
			background: var(--color-theme);
			transform: translateY(calc(0.875em - 50%));
			-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"><path d="M10.33,11.3c.38,0,.69-.31.69-.69s-.31-.69-.69-.69-.69.31-.69.69c0,.38.31.69.69.69ZM10.33,13.96c.38,0,.69-.31.69-.69s-.31-.69-.69-.69-.69.31-.69.69c0,.38.31.69.69.69ZM12.98,11.3c.38,0,.69-.31.69-.69s-.31-.69-.69-.69-.69.31-.69.69.31.69.69.69ZM11.54,4.52c.37,0,.68-.3.68-.68v-1.06c0-.37-.3-.68-.68-.68s-.68.3-.68.68v1.06c0,.37.3.68.68.68ZM12.98,8.65c.38,0,.69-.31.69-.69s-.31-.69-.69-.69-.69.31-.69.69.31.69.69.69ZM6.55,4.52c.37,0,.68-.3.68-.68v-1.06c0-.37-.3-.68-.68-.68s-.68.3-.68.68v1.06c0,.37.3.68.68.68ZM10.33,8.65c.38,0,.69-.31.69-.69s-.31-.69-.69-.69-.69.31-.69.69c0,.38.31.69.69.69ZM7.67,8.65c.38,0,.69-.31.69-.69s-.31-.69-.69-.69-.69.31-.69.69.31.69.69.69ZM5.02,13.96c.38,0,.69-.31.69-.69s-.31-.69-.69-.69-.69.31-.69.69.31.69.69.69ZM13.88,3.07h-1.07v.78c0,.7-.57,1.27-1.27,1.27s-1.27-.57-1.27-1.27v-.78h-2.45v.78c0,.7-.57,1.27-1.27,1.27s-1.27-.57-1.27-1.27v-.78h-1.16c-1.05,0-1.9.85-1.9,1.9v9.02c0,1.05.85,1.9,1.9,1.9h9.76c1.05,0,1.9-.85,1.9-1.9V4.97c0-1.05-.85-1.9-1.9-1.9ZM14.86,13.99c0,.54-.44.98-.98.98H4.12c-.54,0-.98-.44-.98-.98v-7.82h11.72v7.82ZM5.02,11.3c.38,0,.69-.31.69-.69s-.31-.69-.69-.69-.69.31-.69.69.31.69.69.69ZM7.67,13.96c.38,0,.69-.31.69-.69s-.31-.69-.69-.69-.69.31-.69.69.31.69.69.69ZM7.67,11.3c.38,0,.69-.31.69-.69s-.31-.69-.69-.69-.69.31-.69.69.31.69.69.69Z"/></svg>') no-repeat center / contain;
		}
	}
	& figure{
		& img{
			aspect-ratio: 3 / 2;
			object-fit: cover;
			border-radius: clamp(8px, calc(12 / 768 * 100vw), 12px);
		}
	}
	& a{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		font-size: 0;
		&[data-fav-id]{
			all:  unset;
			box-sizing: border-box;
			cursor: pointer;
			position: absolute;
			top: 0;
			right: 0;
			aspect-ratio: 1;
			width: 32px;
			background: #999 url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="white"><path d="M19.8,18.39h1.56v-1.66c0-.59.48-1.07,1.07-1.07h1.03c.31,0,.58.13.77.34.73-1.32,1.02-2.73.49-4.15-1.92-5.07-8.14-2.8-8.72-.26-.79-2.7-6.86-4.71-8.72.27-2.06,5.55,8,10.53,8.72,11.34.24-.22,1.52-.94,3.03-2.02-.18-.19-.3-.45-.3-.74v-.99c0-.59.48-1.07,1.07-1.07ZM23.46,19.45v-2.73h-1.03v2.73h-2.62v.99h2.62v2.75h1.03v-2.75h2.62v-.99h-2.62Z"/></svg>') no-repeat center / contain;
			font-size: 0;
			z-index: 1;
			&.favOn{
				background-color: var(--color-theme-sub);
			}
		}
	}
}

.courseList{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 345px), 1fr));
	grid-gap: clamp(32px, calc(48 / 1200 * 100vw), 48px) clamp(16px, calc(32 / 1200 * 100vw), 32px);
	& section{
		position: relative;
		display: grid;
		align-content: start;
		grid-row-gap: 8px;
		&:not(:has(img)):before{
			content: "";
			aspect-ratio: 3 / 2;
			margin-bottom: 8px;
			background: var(--dummy);
			border-radius: clamp(8px, calc(12 / 768 * 100vw), 12px);
		}
		& p{
			order: 1;
		}
		& figure{
			order: -1;
			margin-bottom: 8px;
		}
	}
	& h3{
		display: grid;
		grid-template-columns: auto 1fr;
		column-gap: 8px;
		font-weight: 700;
		font-size: clamp(16px, calc(18 / 768 * 100vw), 18px);
		letter-spacing: 0.05em;
		&:before{
			content: "";
			width: 4px;
			height: 1.65em;
			background: linear-gradient(180deg, var(--color-theme-sub) 50%, var(--color-theme) 50%);
		}
	}
	& h3+div{
		display: contents;
	}
	& p{
		font-size: clamp(14px, calc(16 / 768 * 100vw), 16px);
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		max-height: calc(1.65em * 3);
		overflow: hidden;
	}
	& figure{
		& img{
			aspect-ratio: 3 / 2;
			object-fit: cover;
			border-radius: clamp(8px, calc(12 / 768 * 100vw), 12px);
		}
	}
	& a{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		font-size: 0;
	}
}



