/* CSS Document */

#detail{
	display: grid;
	grid-template-columns: 1fr min(100dvw, 1600px) 1fr;
	grid-template-rows: auto auto clamp(48px, calc(120 / 1200 * 100vw), 120px);
	justify-content: center;
	overflow: hidden;
	&:before{
		content: "";
		grid-column: 1 / 4;
		grid-row: 2 / 4;
		width: 100dvw;
		background: #d3ebf2;
		-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 16 16"><rect width="100%" height="100%"/></svg>') no-repeat center top / 100% calc(100% + 1px - clamp(30px, calc(100 / 1200 * 100vw), 100px)), url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 1366 100"><path d="M1366,0v85.8C926.52-144.83,499.41,223.64,0,53.4V0h1366Z"/></svg>') no-repeat center bottom / 100% clamp(30px, calc(100 / 1200 * 100vw), 100px);
		z-index: -1;
	}
	&>*{
		grid-column: 2;
	}
	#detailHeader{
		grid-row: 1;
	}
	#detailProfile{
		grid-row: 2;
	}
	#detailArticle{
		grid-column: 1 / 4;
	}
	@media (min-width: 992px) {
		&:before{
			grid-row: 1 / 4;
		}
		#detailHeader{
			grid-row: 1 / 3;
			margin-left: calc(65% - clamp(56px, calc(64 / 1200 * 100vw), 64px));
			align-self: end;
			z-index: 1;
		}
		#detailProfile{
			grid-row: 1 / 3;
			padding-right: 35%;
		}
	}
	@media (min-width: 1200px) {
		#detailHeader{
			margin-top: clamp(48px, calc(64 / 1200 * 100vw), 64px);
		}
		#detailProfile{
			padding-top: clamp(24px, calc(32 / 1200 * 100vw), 32px);
		}
	}
}

#detailHeader{
	display: grid;
	padding: clamp(24px, calc(40 / 1200 * 100vw), 40px);
	@media (min-width: 992px) {
		background: #fff;
		border-radius: clamp(24px, calc(32 / 1200 * 100vw), 32px) 0 0 clamp(24px, calc(32 / 1200 * 100vw), 32px);
	}
	@media (min-width: 1600px) {
		border-radius: 32px;
	}
	& h2{
		color: var(--color-theme);
		font-weight: 700;
		font-size: clamp(24px, calc(32 / 768 * 100vw), 32px);
		letter-spacing: 0.07em;
	}
	#detailBody{
		margin-top: 16px;
	}
	#detailPoint{
		border-top: 3px dotted currentColor;
		margin-top: clamp(16px, calc(24 / 768 * 100vw), 24px);
		padding-top: clamp(16px, calc(24 / 768 * 100vw), 24px);
	}
	#detailCategory{
		margin-top: 24px;
	}
}

#detailBody{
	font-weight: 700;
	letter-spacing: 0.05em;
}

#detailPoint{
	display: grid;
	&:not(:has(li)){
		display: none;
	}
	& ul{
		display: grid;
		grid-row-gap: 4px;
	}
	& li{
		display: grid;
		grid-template-columns: auto 1fr;
		font-weight: 700;
		&:before{
			content: "\30FB";
		}
	}
}

#detailCategory{
	& ul{
		display: flex;
		flex-wrap: wrap;
		grid-gap: 8px;
	}
	& li{
		display: grid;
		align-items: center;
		min-height: 24px;
		padding: 0 16px;
		background: #eacc15;
		border-radius: 12px;
		font-weight: 500;
		font-size: 14px;
	}
}

#detailProfile{
	position: relative;
	display: grid;
	grid-template-columns: 1fr var(--wrap) 1fr;
	align-content: start;
	&>*{
		grid-column: 2;
	}
	& h3{
		font-weight: 700;
		font-size: 20px;
		letter-spacing: 0.07em;
	}
	& h3+div{
		margin-top: 16px;
		font-weight: 700;
		font-size: 14px;
		letter-spacing: 0.05em;
		@media (min-width: 992px) {
			margin-right: clamp(80px, calc(96 / 1200 * 100vw), 96px);
		}
	}
	& figure{
		order: -1;
		grid-column: 1 / 4;
		margin-bottom: 32px;
		& img{
			aspect-ratio: 3 / 2;
			object-fit: cover;
			border-radius: 0 0 32px 0;
			@media (min-width: 992px) {
				border-radius: 0 clamp(24px, calc(32 / 1200 * 100vw), 32px) clamp(24px, calc(32 / 1200 * 100vw), 32px) 0;
			}
			@media (min-width: 1600px) {
				border-radius: 32px;
			}
		}
	}
}

#detailToc{
	justify-self: center;
	display: grid;
	width: min(var(--wrap-fit), 960px);
	margin-top: clamp(48px, calc(64 / 1200 * 100vw), 64px);
	padding: 0 clamp(24px, calc(32 / 1200 * 100vw), 32px);
	border: 1px solid currentColor;
	border-radius: clamp(24px, calc(32 / 1200 * 100vw), 32px);
	background: #fff;
	&:before{
		content: "";
		width: 100%;
		border-bottom: 2px dotted currentColor;
	}
	& h3{
		order: -1;
		display: grid;
		align-items: center;
		min-height: 64px;
		padding: 16px 0;
		color: var(--color-theme);
		font-weight: 700;
		font-size: 20px;
		letter-spacing: 0.1em;
		text-align: center;
	}
	& h3+div{
		margin-top: 16px;
		&:last-child{
			margin-bottom: 24px;
		}
	}
	& ul,
	& span{
		display: grid;
		grid-row-gap: 4px;
	}
	& a{
		display: inline-grid;
		grid-template-columns: auto 1fr;
		column-gap: 1em;
		color: inherit;
		font-weight: 700;
		font-size: 14px;
		letter-spacing: 0.1em;
		text-decoration: none;
		&:before{
			content: "";
			aspect-ratio: 1;
			width: 14px;
			background: #79c3d8;
			transform: translateY(calc(0.825em - 50%));
			-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><polygon points="3 0 3 14 12 7 3 0" /></svg>') no-repeat center / contain;
		}
	}
	& menu{
		all: unset;
		display: grid;
		grid-template-columns: auto 10px;
		align-items: center;
		justify-content: center;
		column-gap: 24px;
		min-height: 48px;
		color: var(--color-theme);
		font-weight: 700;
		font-size: 14px;
		cursor: pointer;
		&: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-linecap: round; stroke-linejoin: round; stroke-width: 2px;"><polyline points="1 3.81 5.84 8.5 11 3.5"/></svg>') center no-repeat;
			-webkit-mask-size: contain;
		}
		&.open:after{
			transform: scale(1, -1);
		}
	}
}

#recommend{
	display: grid;
	grid-template-columns: var(--wrap);
	justify-content: center;
	margin-bottom: clamp(64px, calc(96 / 1200 * 100vw), 96px);
	overflow: hidden;
	& h2{
		justify-self: center;
		display: grid;
		padding: 0 8px;
		color: #5fb7d1;
		font-weight: 700;
		font-size: clamp(24px, calc(36 / 768 * 100vw), 36px);
		&:after{
			content: "";
			height: 6px;
			margin: 0 -8px;
			background: currentColor;
			-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6 6"><circle cx="3" cy="3" r="3"/></svg>') no-repeat center left / contain, url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6 6"><circle cx="3" cy="3" r="3"/></svg>') no-repeat center right / contain, url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 10 10"><rect width="100%" height="100%"/></svg>') repeat-x center / 100% 1px;
		}
		@media (min-width: 768px) {
			letter-spacing: 0.07em;
		}
	}
	& h2+div{
		display: grid;
		margin-top: clamp(24px, calc(48 / 1200 * 100vw), 48px);
		&>section:not([class]),
		& span>section{
			grid-column: 1;
			grid-row: 1;
			position: relative;
			display: grid;
			align-content: start;
			grid-row-gap: 16px;
			&:not(:has(figure)):before{
				content: "";
				grid-column: 1;
				grid-row: 1;
				aspect-ratio: 3 / 2;
				border-radius: 16px;
				background: var(--dummy);
				/* background-size: cover; */
			}
		}
		&:before {
			aspect-ratio: 3 / 2;
		}
	}
	& h3{
		font-weight: 700;
		letter-spacing: 0.025em;
	}
	& h3+div{
		display: contents;
		& p{
			font-size: 14px;
		}
		& a{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			font-size: 0;
			z-index: 1;
		}
	}
	& figure{
		grid-column: 1;
		grid-row: 1;
		& img{
			aspect-ratio: 3 / 2;
			border-radius: 16px;
			object-fit: cover;
		}
	}
}

/*
.schedule,
.best,
.message,
.spot{
	padding-bottom: 64px;
	@media (min-width: 1200px) {
		padding-bottom: 96px;
	}
	.basic+&,
	.postscript+&{
		&:before{
			content: "";
			grid-column: 1 / 4;
			height: min(5vw, 64px);
			background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 1366 60"><path fill="%23f0f0e4" d="M0,59.81S0,15.33,0,15.33c0,0,105.52-9.8,113.02-10.51C163.29,0,214.69-1.23,265.51,1.25c114.63,5.59,228.35,29.73,341.86,19.29,46.5-4.28,90.85-14.26,137.46-18.18,97.94-8.22,195.9,10.83,294.48,16.24,57.01,3.13,114.85,1.66,171.1-4.36,28.98-3.1,58.89-7.45,88.66-6.01,24.05,1.16,66.94,7.09,66.94,7.09v44.48S0,60.23,0,59.81Z"/></svg>') center top no-repeat;
			background-size: 100% min(5vw, 64px);
			transform: translateY(-50%);
		}
	}
}
*/
.schedule,
.best,
.message,
.spot{
	padding: clamp(64px, calc(96 / 1200 * 100vw), 96px) 0;
}

.basic{
	display: grid;
	grid-template-columns: min(var(--wrap-fit), 960px);
	justify-content: center;
	margin: clamp(64px, calc(96 / 1200 * 100vw), 96px) 0;
	&:has(h3:empty){
		margin-top: 0;
	}
	&>h3{
		display: grid;
		padding: 0 8px;
		color: #5fb7d1;
		font-weight: 700;
		font-size: clamp(24px, calc(36 / 768 * 100vw), 36px);
		&:after{
			content: "";
			height: 6px;
			margin: 0 -8px;
			background: currentColor;
			-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6 6"><circle cx="3" cy="3" r="3"/></svg>') no-repeat center left / contain, url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6 6"><circle cx="3" cy="3" r="3"/></svg>') no-repeat center right / contain, url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 10 10"><rect width="100%" height="100%"/></svg>') repeat-x center / 100% 1px;
		}
		@media (min-width: 768px) {
			letter-spacing: 0.07em;
		}
	}
	&>figure{
		display: grid;
		grid-row-gap: 8px;
		margin-top: 24px;
		font-weight: 500;
		font-size: 15px;
		letter-spacing: 0.1em;
		@media (min-width: 1200px) {
			margin-top: 32px;
		}
		& img{
			aspect-ratio: 3 / 2;
			object-fit: cover;
			border-radius: 16px;
		}
	}
	.fr-view{
		margin-top: 24px;
		@media (min-width: 1200px) {
			margin-top: 32px;
		}
	}
}

.schedule{
	display: grid;
	grid-template-columns: var(--wrap);
	justify-content: center;
	background: #f6f6f4;
	&>h3{
		justify-self: center;
		position: relative;
		display: grid;
		align-items: center;
		margin-bottom: 16px;
		padding: 8px 24px;
		min-height: 56px;
		background: #fff;
		border: 3px solid currentColor;
		border-radius: 28px;
		color: #79c3d8;
		font-weight: 700;
		font-size: clamp(20px, calc(22 / 768 * 100vw), 22px);
		text-align: center;
		letter-spacing: 0.07em;
		word-break: keep-all;
		overflow-wrap: anywhere;
		&:before {
			content: "";
			position: absolute;
			top: 100%;
			left: 50%;
			aspect-ratio: 28 / 16;
			width: 28px;
			background: #79c3d8;
			transform: translateX(-50%);
			-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 16"><path d="M0,0l12,13.71c1.1,1.26,2.9,1.26,4.01,0L28,0H0Z"/></svg>') no-repeat center / contain;
		}
	}
	&>h3+div{
		position: relative;
		display: grid;
		grid-gap: clamp(16px, calc(56 / 1200 * 100vw), 56px);
		margin-top: 24px;
		@media (max-width: 767.98px) {
			grid-template-columns: repeat(2, 1fr);
			&>div:has([data-type="pro"]){
				grid-column: 1 / 3;
			}
		}
		@media (min-width: 768px) {
			&:has(div:nth-of-type(2):last-child){
				grid-template-columns: repeat(2, 1fr);
				padding: 0 15%;
			}
			&:has(div:nth-of-type(3):last-child){
				grid-template-columns: repeat(3, 1fr);
			}
			&>div:has([data-type="pro"]){
				position: relative;
				order: 1;
				&:before{
					content: "";
					position: absolute;
					top: 0;
					right: 0;
					aspect-ratio: 22 / 28;
					width: clamp(24px, calc(40 / 1200 * 100vw), 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 21.98 28.31"><path d="M7.32.2c-.64-.39-1.47-.19-1.86.45-.87,1.42-1.74,2.84-2.6,4.26C1.96,6.36-.61,9.16.13,10.98c.23.56.53.77.88.74,1.35-.12,3.31-4.03,3.73-4.73,1.01-1.65,2.02-3.29,3.02-4.94.39-.64.19-1.47-.45-1.86ZM20.56,24.61c-1.92.1-3.35.28-4.73.45-1.52.19-4.26-.3-5.44.93-.87.91-.35,1.95.85,2.23.04,0,.07.02.11.02,1.41.27,3.42-.32,4.82-.5,1.39-.18,2.71-.34,4.53-.43.75-.04,1.32-.67,1.28-1.42s-.66-1.32-1.42-1.28ZM11.97,16.33c2.13-.94,4.19-2.05,6.28-3.07.67-.33.95-1.14.62-1.81-.33-.67-1.14-.94-1.81-.62-1.36.66-2.72,1.33-4.08,1.99-1.08.53-3.1.91-3.65,2.13-.61,1.37.19,1.75,1.15,1.72.52-.02,1.09-.16,1.49-.34Z"/></svg>') center no-repeat;
					-webkit-mask-size: contain;
				}
			}
		}
	}
	& img{
		aspect-ratio: 1;
		border-radius: 100%;
		object-fit: cover;
		@media (max-width: 767.98px) {
			&[data-type="pro"]{
				aspect-ratio: 3 / 2;
				border-radius: 16px;
			}
		}
	}
}

.best{
	display: grid;
	grid-template-columns: var(--wrap);
	justify-content: center;
	background: #f6f6f4;
	&>h3{
		justify-self: center;
		position: relative;
		display: grid;
		align-items: center;
		margin-bottom: 16px;
		padding: 8px 24px;
		min-height: 56px;
		background: #fff;
		border: 3px solid currentColor;
		border-radius: 28px;
		color: #79c3d8;
		font-weight: 700;
		font-size: clamp(20px, calc(22 / 768 * 100vw), 22px);
		text-align: center;
		letter-spacing: 0.07em;
		word-break: keep-all;
		overflow-wrap: anywhere;
		&:before {
			content: "";
			position: absolute;
			top: 100%;
			left: 50%;
			aspect-ratio: 28 / 16;
			width: 28px;
			background: #79c3d8;
			transform: translateX(-50%);
			-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 16"><path d="M0,0l12,13.71c1.1,1.26,2.9,1.26,4.01,0L28,0H0Z"/></svg>') no-repeat center / contain;
		}
	}
	&>h3+div{
		display: grid;
		grid-row-gap: clamp(16px, calc(24 / 1200 * 100vw), 24px);
		margin-top: 24px;
		padding: clamp(24px, calc(48 / 1200 * 100vw), 48px);
		background: #fff;
		border: 1px solid currentColor;
		border-radius: clamp(24px, calc(32 / 1200 * 100vw), 32px);
		@media (max-width: 767.98px) {
			.bestPhoto{
				order: -1;
				margin-bottom: 8px;
			}
		}
		@media (min-width: 768px) {
			&:has(.bestPhoto){
				grid-template-columns: repeat(2, 1fr);
			}
			.bestPhoto{
				grid-row: 1 / 4;
				margin-right: clamp(24px, calc(48 / 1200 * 100vw), 48px);
			}
		}
		&>div{
			counter-increment: count;
			&>h4{
				grid-column: 2;
				display: grid;
				grid-template-columns: auto 1fr;
				column-gap: 8px;
				color: var(--color-theme);
				font-weight: 700;
				font-size: clamp(18px, calc(20 / 768 * 100vw), 20px);
				letter-spacing: 0.07em;
				&:before{
					content: counter(count);
					display: grid;
					align-items: center;
					aspect-ratio: 1;
					width: 2em;
					border-radius: 50% 50% 0 50%;
					background: #eacc15;
					color: #fff;
					font-weight: 700;
					text-align: center;
					transform: translateY(calc(0.825em - 50%));
				}
			}
		}
	}
	.fr-view{
		margin-top: 8px;
		font-size: 14px;
		letter-spacing: 0.05em;
	}
}

.bestPhoto{
	order: -1;
	position: relative;
	align-self: stretch;
	overflow: hidden;
	&:before{
		content: "";
		display: block;
		aspect-ratio: 3 / 2;
	}
	& img{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

.message{
	display: grid;
	grid-template-columns: var(--wrap);
	justify-content: center;
	margin-bottom: calc(0px - clamp(10px, calc(20 / 1200 * 100vw), 20px));
	background: #ecdf89;
	z-index: 1;
	-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 16 16"><rect width="100%" height="100%"/></svg>') no-repeat center top / 100% calc(100% + 1px - clamp(10px, calc(20 / 1200 * 100vw), 20px)), url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 110 20"><path d="M0,0v6c27.5,0,27.5,14,55,14s27.5-14,55-14V0H0Z"/></svg>') repeat-x center bottom / auto clamp(10px, calc(20 / 1200 * 100vw), 20px);
	&>h3{
		justify-self: center;
		position: relative;
		display: grid;
		align-items: center;
		margin-bottom: 16px;
		padding: 8px 24px;
		min-height: 56px;
		background: #fff;
		border: 3px solid currentColor;
		border-radius: 28px;
		color: #79c3d8;
		font-weight: 700;
		font-size: clamp(20px, calc(22 / 768 * 100vw), 22px);
		text-align: center;
		letter-spacing: 0.07em;
		word-break: keep-all;
		overflow-wrap: anywhere;
		&:before {
			content: "";
			position: absolute;
			top: 100%;
			left: 50%;
			aspect-ratio: 28 / 16;
			width: 28px;
			background: #79c3d8;
			transform: translateX(-50%);
			-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 16"><path d="M0,0l12,13.71c1.1,1.26,2.9,1.26,4.01,0L28,0H0Z"/></svg>') no-repeat center / contain;
		}
	}
	&>h3+div{
		display: grid;
		grid-row-gap: clamp(16px, calc(24 / 1200 * 100vw), 24px);
		margin-top: 24px;
		@media (max-width: 767.98px) {
			.messagePhoto{
				order: -1;
				margin-bottom: 8px;
			}
		}
		@media (min-width: 768px) {
			&:has(.messagePhoto){
				grid-template-columns: repeat(2, 1fr);
			}
			.messagePhoto{
				grid-row: 1 / 4;
				margin-right: clamp(24px, calc(48 / 1200 * 100vw), 48px);
			}
		}
	}
	.fr-view{
		font-weight: 700;
		letter-spacing: 0.05em;
	}
}

.messagePhoto{
	& img{
		aspect-ratio: 3 / 2;
		border-radius: 16px;
		object-fit: cover;
	}
}

.spot{
	display: grid;
	grid-template-columns: var(--wrap);
	justify-content: center;
	background: #f6f6f4;
	&>h3{
		justify-self: center;
		position: relative;
		display: grid;
		align-items: center;
		margin-bottom: 16px;
		padding: 8px 24px;
		min-height: 56px;
		background: #fff;
		border: 3px solid currentColor;
		border-radius: 28px;
		color: #79c3d8;
		font-weight: 700;
		font-size: clamp(20px, calc(22 / 768 * 100vw), 22px);
		text-align: center;
		letter-spacing: 0.07em;
		word-break: keep-all;
		overflow-wrap: anywhere;
		&:before {
			content: "";
			position: absolute;
			top: 100%;
			left: 50%;
			aspect-ratio: 28 / 16;
			width: 28px;
			background: #79c3d8;
			transform: translateX(-50%);
			-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 16"><path d="M0,0l12,13.71c1.1,1.26,2.9,1.26,4.01,0L28,0H0Z"/></svg>') no-repeat center / contain;
		}
	}
	&>div{
		display: grid;
		margin-top: 24px;
		padding: clamp(24px, calc(48 / 1200 * 100vw), 48px);
		background: #fff;
		border: 1px solid currentColor;
		border-radius: clamp(24px, calc(32 / 1200 * 100vw), 32px);
		@media (max-width: 767.98px) {
			.spotPhoto{
				order: -1;
				margin-bottom: 8px;
			}
		}
		@media (min-width: 768px) {
			&:has(.spotPhoto){
				grid-template-columns: repeat(2, 1fr);
			}
			.spotPhoto{
				grid-row: 1 / 4;
				margin-right: clamp(24px, calc(48 / 1200 * 100vw), 48px);
			}
		}
	}
	.fr-view{
		font-weight: 700;
		letter-spacing: 0.05em;
	}
}

.spotPhoto{
	& li{
		display: grid !important;
		&:after{
			content: attr(data-caption);
			grid-column: 1;
			grid-row: 1;
			display: grid;
			align-self: end;
			align-items: end;
			justify-items: end;
			aspect-ratio: 3 / 2;
			padding: 0.8em;
			color: #fff;
			font-weight: 700;
			font-size: 15px;
			letter-spacing: 0.1em;
			pointer-events: none;
			z-index: 1;
		}
		@media (max-width: 767.98px) {
			aspect-ratio: 3 / 2;
			height: unset !important;
		}
	}
	& img{
		object-fit: cover;
		@media (max-width: 767.98px) {
			grid-column: 1;
			grid-row: 1;
			aspect-ratio: 3 / 2;
		}
		@media (min-width: 768px) {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
		}
	}
}

.spotPhotoSlide{
	display: grid;
	grid-template-columns: 24px 1fr 24px;
	@media (min-width: 768px) {
		grid-template-columns: 0 1fr 0;
	}
	& li{
		grid-column: 2;
		grid-row:1 ;
	}
	.slick-list{
		grid-column: 1 / 4;
		grid-row: 1;
	}
	.slick-arrow{
		grid-row: 1;
		align-self: center;
		justify-self: center;
		z-index: 1;
	}
	.slick-prev{
		grid-column: 1;
	}
	.slick-next{
		grid-column: 3;
	}
}

.postscript{
	display: grid;
	width: var(--wrap);
	margin: clamp(64px, calc(96 / 1200 * 100vw), 96px) auto;
	padding: clamp(24px, calc(48 / 1200 * 100vw), 48px);
	background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 56 56" style="stroke: %23d4d4d4; stroke-width: .5px;"><line x1="56" y1="14" y2="14"/><line y1="42" x2="56" y2="42"/><line x1="42" y1="56" x2="42"/><line x1="14" x2="14" y2="56"/></svg>') repeat center / 56px;
	border: 1px solid currentColor;
	border-radius: clamp(24px, calc(32 / 1200 * 100vw), 32px);
	@media (max-width: 767.98px) {
		.spotPhoto{
			order: -1;
			margin-bottom: 8px;
		}
	}
	@media (min-width: 768px) {
		grid-template-rows: auto 1fr;
		&:has(.postscriptPhoto){
			grid-template-columns: repeat(2, 1fr);
		}
		.postscriptPhoto{
			grid-column: 2;
			grid-row: 1 / 4;
			margin-left: clamp(24px, calc(48 / 1200 * 100vw), 48px);
		}
	}
	&>h3{
		color: var(--color-theme);
		font-weight: 700;
		font-size: clamp(20px, calc(22 / 768 * 100vw), 22px);
		letter-spacing: 0.07em;
	}
	&>h3+div{
		margin-top: 16px;
	}
	&>h3+div+div{
		justify-self: end;
		margin-top: 24px;
	}
	.fr-view{
		font-weight: 700;
		letter-spacing: 0.05em;
	}
}

.postscriptPhoto{
	& img{
		aspect-ratio: 3 / 2;
		object-fit: cover;
	}
}

.slide{
	display: grid;
	grid-template-columns: 0 1fr 0;
	&:before {
		content: "";
		grid-column: 2;
		grid-row: 1;
		width: calc(100% - 64px);
	}
	@media (min-width: 576px) {
		&:before {
			width: calc(50% - 48px);
		}
	}
	@media (min-width: 992px) {
		&:before {
			width: calc(33.33% - 32px);
		}
	}
	.slick-list{
		grid-column: 2;
		grid-row: 1 / 3;
		overflow: visible;
	}
	.slick-track{
		display: flex;
		&:after {
			content: none;
		}
	}
	.slick-slide{
		display: grid;
		height: auto;
		margin: 0 12px;
	}
	.slick-arrow{
		grid-row: 1;
		justify-self: center;
		align-self: center;
		z-index: 1;
	}
	.slick-prev{
		grid-column: 1;
	}
	.slick-next{
		grid-column: 3;
	}
}

.slick-arrow{
	all: unset;
	box-sizing: border-box;
	cursor: pointer;
	position: relative;
	display: grid;
	aspect-ratio: 1;
	width: clamp(40px, calc(48 / 1200 * 100vw), 48px);
	background: #fff;
	border: 1px solid #79c3d8;
	border-radius: 100%;
	color: #79c3d8;
	font-size: 0;
	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 18 20"><polygon points="0 0 18 10 0 20" /></svg>') no-repeat center / clamp(6px, calc(8 / 1200 * 100vw), 8px);
	}
	&.slick-prev:before{
		transform: scale(-1, 1);
	}
	&:hover{
		background: #79c3d8;
		color: #fff;
	}
}





