/* CSS Document */

#detail{
	display: grid;
	overflow: hidden;
	background: #fafafa var(--detail_bg) center top / 100px auto;
	& header{
		display: contents;
	}
	#photo{
		grid-column: 1;
		grid-row: 1;
	}
	#outline{
		justify-self: center;
		width: min(var(--wrap-fit), 640px);
		margin-top: clamp(48px, calc(64 / 768 * 100dvw), 64px);
	}
	#article{
		justify-self: center;
		width: min(var(--wrap-fit), 960px);
		margin-top: clamp(48px, calc(64 / 768 * 100dvw), 64px);
		&:last-child{
			margin-bottom: clamp(96px, calc(120 / 768 * 100dvw), 120px);
		}
	}
}

#title{
	display: grid;
	grid-template-columns: var(--wrap);
	justify-content: center;
	grid-row-gap: 8px;
	padding: clamp(24px, calc(48 / 768 * 100dvw), 48px) 0;
	background: var(--pattern_02), var(--color-theme);
	color: #fff;
	& h2{
		display: grid;
		grid-template-columns: auto 1fr;
		align-items: baseline;
		column-gap: 0.5em;
		font-weight: 600;
		font-size: clamp(24px, calc(40 / 768 * 100dvw), 40px);
		font-family: var(--font-min);
		letter-spacing: 0.05em;
		&:before{
			content: "";
			aspect-ratio: 1;
			width: 1em;
			background: #a1cbed;
			transform: translateY(0.1em);
			-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="M14,7.69c-3.62,1.25-5.06,2.69-6.31,6.31,3.33-.33,5.98-2.98,6.31-6.31Z"/><path d="M14,6.31c-.33-3.33-2.98-5.98-6.31-6.31,1.25,3.62,2.69,5.06,6.31,6.31Z"/><path d="M0,7.69c.32,3.33,2.98,5.98,6.31,6.31-1.25-3.62-2.69-5.06-6.31-6.31Z"/><path d="M6.31,0C2.98.32.32,2.98,0,6.31,3.62,5.06,5.06,3.62,6.31,0Z"/></svg>') no-repeat center / contain;
		}
	}
	& p{
		font-weight: 500;
		font-size: clamp(16px, calc(18 / 768 * 100dvw), 18px);
		letter-spacing: 0.03em;
	}
}

#photo{
	background: white;
	& img{
		aspect-ratio: 4 / 3;
		object-fit: cover;
		max-height: 640px;
	}
}

#outline{
	& h3{
		display: grid;
		grid-template-columns: clamp(24px, calc(56 / 768 * 100dvw), 56px) auto 1fr;
		column-gap: 8px;
		color: var(--color-theme);
		font-weight: 600;
		font-size: clamp(24px, calc(32 / 768 * 100dvw), 32px);
		font-family: var(--font-min);
		letter-spacing: 0.05em;
		line-height: 1;
		&:before,
		&:after{
			content: "";
			align-self: end;
			height: 50%;
			border: solid var(--color-theme);
		}
		&:before{
			border-width: 1px 0 0 1px;
			border-radius: 8px 0 0 0;
		}
		&:after{
			border-width: 1px 1px 0 0;
			border-radius: 0 8px 0 0;
		}
	}
	& details{
		display: grid;
		border: solid var(--color-theme);
		border-width: 0 1px 1px 1px;
		border-radius: 0 0 8px 8px;
		overflow: hidden;
		&::details-content{
			all: unset;
		}
		&:not([open]){
			& li:nth-child(n+6){
				display: none;
			}
		}
		&:not(:has(li:nth-child(6))){
			& summary{
				display: none;
			}
		}
	}
	& summary{
		order: 1;
		display: flex;
		column-gap: 8px;
		justify-content: center;
		align-items: center;
		min-height: 48px;
		padding: 4px 16px;
		background: #d0e5f6;
		color: var(--color-theme);
		font-weight: 600;
		font-size: clamp(16px, calc(20 / 768 * 100dvw), 20px);
		text-align: center;
		&:after{
			content: "\002B";
			transform: translateY(-0.1em);
		}
		[open] &:after{
			content: "\FF0D";
		}
	}
	& ul{
		display: grid;
		grid-row-gap: 8px;
		padding: clamp(16px, calc(24 / 768 * 100dvw), 24px) clamp(24px, calc(40 / 768 * 100dvw), 40px);
	}
	& li{
		
	}
	& a{
		display: grid;
		grid-template-columns: auto 1fr;
		align-items: baseline;
		column-gap: 8px;
		color: inherit;
		font-weight: 600;
		letter-spacing: 0.05em;
		text-decoration: none;
		&:before{
			content: "▶";
			color: var(--color-theme);
			font-size: 0.8em;
			transform: translateY(-0.1em);
		}
	}
}

#article{
	& section:nth-child(n+2){
		.title{
			margin-top: clamp(48px, calc(64 / 768 * 100dvw), 64px);
		}
	}
	.photo,
	.text,
	.links,
	.title+.movie,
	.title+.article{
		margin-top: 24px;
	}
	.columnLeft,
	.columnRight,
	.documents,
	.movie,
	.article,
	.comment,
	.map,
	.column{
		margin-top: clamp(48px, calc(64 / 768 * 100dvw), 64px);
	}
	.photo:not(:last-child){
		margin-bottom: 8px;
	}
}

#recommend{
	display: grid;
	grid-template-columns: min(var(--wrap-fit), 960px);
	justify-content: center;
	overflow: hidden;
	&:last-child{
		margin-bottom: clamp(80px, calc(104 / 768 * 100dvw), 104px);
	}
	& h2{
		display: none;
	}
	& section{
		margin-top: clamp(80px, calc(104 / 768 * 100dvw), 104px);
	}
	& h3{
		display: grid;
		align-items: center;
		min-height: 56px;
		padding: 8px 24px;
		font-weight: 700;
		font-size: clamp(18px, calc(20 / 768 * 100dvw), 20px);
		font-family: "Zen Kaku Gothic New", var(--font);
		letter-spacing: 0.05em;
		word-break: keep-all;
		overflow-wrap: anywhere;
		background: #e3effa url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 15 52"><polygon points="15 0 0 0 7.5 26 15 0" style="fill: %23a1cbed;"/><polygon points="0 52 15 52 7.5 26 0 52" style="fill: %23a1cbed;"/><polygon points="0 0 0 52 7.5 26 0 0" style="fill: %23003775;"/></svg>') no-repeat left / 15px 100%;
	}
	& h3+div{
		margin-top: 24px;
	}
	& dl{
		position: relative;
		display: grid;
		grid-row-gap: 8px;
		&:not(:has(img)):before{
			content: "";
			aspect-ratio: 3 / 2;
			background: var(--dummy);
			border-radius: 0 0 clamp(24px, calc(32 / 768 * 100dvw), 32px) 0;
		}
	}
	& dt{
		order: 1;
		font-weight: 600;
		letter-spacing: 0.05em;
		&:empty{
			display: none;
		}
	}
	& dd{
		display: contents;
		& img{
			aspect-ratio: 4 / 3;
			object-fit: cover;
			border-radius: 0 0 clamp(24px, calc(32 / 768 * 100dvw), 32px) 0;
		}
		& a{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			font-size: 0;
		}
	}
}

.title{
	position: relative;
	padding-bottom: 8px;
	font-weight: 700;
	font-size: clamp(20px, calc(28 / 768 * 100dvw), 28px);
	letter-spacing: 0.05em;
	&:after{
		content: "";
		width: 100%;
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 2px;
		background: linear-gradient(90deg, #a1cbed 50%, currentColor 50%);
	}
}

.text{
	letter-spacing: 0.03em;
}

.photo{
	& dl{
		display: grid;
		grid-row-gap: 8px;
	}
	& dt{
		order: 1;
		font-weight: 600;
		font-size: clamp(18px, calc(20 / 768 * 100dvw), 20px);
		font-size: 14px;
		letter-spacing: 0.05em;
		text-align: center;
		&:empty{
			display: none;
		}
	}
	& dd{
		display: contents;
		& img{
			aspect-ratio: 4 / 3;
			margin-bottom: 8px;
			object-fit: cover;
			border-radius: 0 0 clamp(24px, calc(32 / 768 * 100dvw), 32px) 0;
		}
	}
	&:not(.slick-slider){
		display: grid;
		& dl{
			grid-column: 1;
			grid-row: 1;
			&:nth-child(n+2){
				display: none;
			}
		}
	}
	&.slick-slider{
		display: grid;
		grid-template-columns: 0 1fr 0;
		&:before{
			content: "";
			grid-column: 2;
			grid-row: 1;
			aspect-ratio: 4 / 3;
			background: red;
			opacity: 0.25;
			visibility: hidden;
			pointer-events: none;
			z-index: 1;
		}
		.slick-list{
			grid-column: 2;
			grid-row: 1 / 3;
		}
		.slick-arrow{
			align-self: center;
			justify-self: center;
			z-index: 1;
		}
		.slick-dots{
			grid-column: 2;
			grid-row: 3;
			margin-top: clamp(16px, calc(32 / 768 * 100dvw), 32px);
		}
	}
}

.columnLeft,
.columnRight{
	display: grid;
	grid-gap: 32px 48px;
	@media (max-width: 991.98px) {
		.columnText{
			order: 1;
		}
	}
	@media (min-width: 992px) {
		.columnPhoto{
			width: min(50vw, 500px);
		}
		.columnText{
			margin-top: 48px;
			.columnRight &{
				order: -1;
			}
		}
	}
}

.columnLeft{
	@media (min-width: 992px) {
		grid-template-columns: auto 1fr;
	}
}

.columnRight{
	@media (min-width: 992px) {
		grid-template-columns: 1fr auto;
		.columnPhoto{
			order: 1;
		}
	}
}

.columnPhoto{
	& dl{
		display: grid;
		grid-row-gap: 8px;
	}
	& dt{
		order: 1;
		font-weight: 600;
		font-size: clamp(18px, calc(20 / 768 * 100dvw), 20px);
		letter-spacing: 0.05em;
		text-align: center;
		&:empty{
			display: none;
		}
	}
	& dd{
		display: contents;
		& img{
			aspect-ratio: 4 / 3;
			margin-bottom: 8px;
			object-fit: cover;
			border-radius: 0 0 clamp(24px, calc(32 / 768 * 100dvw), 32px) 0;
		}
	}
	&:not(.slick-slider){
		display: grid;
		& dl{
			grid-column: 1;
			grid-row: 1;
			&:nth-child(n+2){
				display: none;
			}
		}
	}
	&.slick-slider{
		display: grid;
		grid-template-columns: 0 1fr 0;
		&:before{
			content: "";
			grid-column: 2;
			grid-row: 1;
			aspect-ratio: 4 / 3;
			background: red;
			opacity: 0.25;
			visibility: hidden;
			pointer-events: none;
			z-index: 1;
		}
		.slick-list{
			grid-column: 2;
			grid-row: 1 / 3;
		}
		.slick-arrow{
			align-self: center;
			justify-self: center;
			z-index: 1;
		}
		.slick-dots{
			grid-column: 2;
			grid-row: 3;
			margin-top: clamp(16px, calc(32 / 768 * 100dvw), 32px);
		}
	}
}

.links{
	& ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		grid-gap: 16px;
	}
	& li{
		display: contents;
	}
	& a{
		display: grid;
		grid-template-columns: 1fr 8px;
		align-items: center;
		column-gap: 8px;
		min-width: min(100%, 280px);
		min-height: 56px;
		padding: 4px 24px;
		background: white;
		border: 1px solid #365383;
		border-radius: 28px;
		color: var(--color-theme);
		font-weight: 600;
		text-align: center;
		text-decoration: none;
		&:after{
			content: "";
			aspect-ratio: 1;
			width: 20px;
			background: var(--color-theme) 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: white; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5px;"><line x1="4.87" y1="10" x2="11.87" y2="10"/><polyline points="11.87 6.46 15.4 10 11.87 13.54"/></svg>') no-repeat center / contain;
			border-radius: 100%;
		}
	}
}

.documents{
	display: grid;
	& h4{
		display: grid;
		grid-template-columns: auto 1fr;
		align-items: baseline;
		column-gap: 8px;
		color: var(--color-theme);
		font-weight: 700;
		font-size: clamp(16px, calc(18 / 768 * 100dvw), 18px);
		font-family: "Zen Kaku Gothic New", var(--font);
		letter-spacing: 0.05em;
		&:before{
			content: "";
			width: 4px;
			height: 1em;
			background: #a1cbed;
			transform: translateY(0.1em);
		}
	}
	& h4+div{
		justify-self: center;
		width: min(100%, 840px);
		margin-top: 16px;
	}
	& ul{
		display: flex;
		flex-wrap: wrap;
		grid-gap: 16px;
	}
	& li{
		display: contents;
	}
	& a{
		display: grid;
		grid-template-columns: 1fr 8px;
		align-items: center;
		column-gap: 8px;
		min-width: min(100%, 280px);
		min-height: 56px;
		padding: 4px 24px;
		background: white;
		border: 1px solid #365383;
		border-radius: 28px;
		color: var(--color-theme);
		font-weight: 600;
		text-align: center;
		text-decoration: none;
		&:after{
			content: "";
			aspect-ratio: 1;
			width: 20px;
			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" style="fill: none; stroke: black; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5px;"><line x1="10.23" y1="1.39" x2="10.23" y2="8.39"/><polyline points="13.76 9.39 10.23 12.92 6.69 9.39"/><line x1="3.23" y1="15.91" x2="17.23" y2="15.91"/></svg>') no-repeat center / contain;
		}
	}
}

.movie{
	display: grid;
	grid-row-gap: 24px;
	letter-spacing: 0.03em;
	& iframe{
		order: 1;
		aspect-ratio: 16 / 9;
		width: 100%;
		height: auto;
		&.short{
			justify-self: center;
			aspect-ratio: 9 / 16;
			max-width: min(100%, 328px);
		}
	}
}

.article{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(calc(50% - 16px), 224px), 1fr));
	grid-gap: clamp(32px, calc(48 / 768 * 100dvw), 48px) clamp(16px, calc(32 / 768 * 100dvw), 32px);
	& dl{
		display: grid;
		grid-template-rows: auto 1fr;
		grid-row-gap: 8px;
		&:has(img){
			grid-template-rows: auto auto 1fr;
		}
	}
	& dt{
		font-weight: 600;
		font-size: clamp(16px, calc(20 / 768 * 100dvw), 20px);
	}
	& dd{
		&:has(img){
			grid-row: 1;
		}
		&:has(a){
			display: flex;
			justify-content: center;
			margin-top: 8px;
		}
		& img{
			aspect-ratio: 3 / 2;
			object-fit: cover;
			border-radius: 0 0 clamp(16px, calc(24 / 768 * 100dvw), 24px) 0;
		}
		& a{
			display: grid;
			grid-template-columns: 1fr 8px;
			align-items: center;
			column-gap: 8px;
			min-width: min(100%, 180px);
			min-height: 56px;
			padding: 4px 24px;
			background: white;
			border: 1px solid #365383;
			border-radius: 28px;
			color: var(--color-theme);
			font-weight: 600;
			text-align: center;
			text-decoration: none;
			&:after{
				content: "";
				aspect-ratio: 1;
				width: 20px;
				background: var(--color-theme) 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: white; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5px;"><line x1="4.87" y1="10" x2="11.87" y2="10"/><polyline points="11.87 6.46 15.4 10 11.87 13.54"/></svg>') no-repeat center / contain;
				border-radius: 100%;
			}
		}
	}
}

.map{
	display: grid;
	&::details-content{
		all: unset;
	}
	& summary{
		order: 1;
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		column-gap: 16px;
		min-height: clamp(56px, calc(64 / 768 * 100dvw), 64px);
		padding: 4px 40px;
		background: var(--color-theme);
		color: white;
		font-weight: 700;
		font-size: clamp(16px, calc(18 / 768 * 100dvw), 18px);
		font-family: "Zen Kaku Gothic New", var(--font);
		letter-spacing: 0.05em;
		text-align: center;
		text-decoration: none;
		transition: all 0.2s ease-out;
		cursor: pointer;
		&:before{
			content: "";
			aspect-ratio: 1;
			width: 32px;
			background: currentColor;
			-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M14.63,21.37c.32,0,6.67-9.29,6.67-12.98s-2.99-6.67-6.67-6.67-6.67,2.99-6.67,6.67,6.36,12.98,6.67,12.98ZM12.08,8.4c0-1.41,1.14-2.55,2.55-2.55s2.55,1.14,2.55,2.55-1.14,2.55-2.55,2.55-2.55-1.14-2.55-2.55ZM30.33,28.86l-5.75-12.66h-5.31c-.11.19-.21.37-.32.57-.31.53-.59,1.01-.86,1.44h1.19l-1.97,8.03-10.61-3.61,2-4.41h2.47c-.26-.43-.55-.91-.86-1.44-.11-.19-.21-.37-.32-.57h-2.58L1.12,30.08s-.02.1.01.14c.03.04.07.06.12.06h29.51s.09-.02.12-.06c.03-.04.03-.09,0-.14l-.55-1.21ZM4.14,28.28l1.76-3.87,11.38,3.87H4.14ZM21.29,18.21h2.01l1.45,3.19-3.85-1.56.4-1.63ZM23.31,28.28l-4.14-1.41,1.26-5.12,5.49,2.22,1.95,4.3h-4.56Z"/></svg>') no-repeat center / contain;
		}
		&:after{
			content: "\002B";
			position: absolute;
			top: 50%;
			right: 16px;
			font-size: 20px;
			transform: translateY(-50%);
		}
		[open] &:after{
			content: "\FF0D";
		}
	}
	@media (max-width: 991.98px) {
		.mapBody{
			height: min(75dvw, 480px);
			@media (orientation: portrait) {
				height: 75dvh;
			}
		}
		.mapList{
			height: clamp(160px, calc(240 / 768 * 100dvw), 240px);
		}
	}
	@media (min-width: 992px) {
		& summary+div{
			display: grid;
			grid-template-columns: 640px 1fr;
			.mapBody,
			.mapList{
				height: 480px;
			}
		}
	}
}

.mapBody{
	position: relative;
	background: silver;
	overflow: hidden;
	[LSC-LT="dummy"] &{
		display: grid;
		align-content: center;
		justify-items: center;
		grid-gap: 16px;
		padding: 16px;
		& img[src*="commonPin"]{
			width: 40px;
			height: auto;
		}
	}
	[id^="gMap"]{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}

.mapList{
	position: relative;
	background: white;
	& ul{
		counter-reset: count;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		display: grid;
		align-content: start;
		grid-gap: 16px 24px;
		padding: 24px;
		overflow-y: auto;
	}
	& li{
		display: grid;
		grid-template-columns: auto 1fr;
		align-items: baseline;
		grid-gap: 16px;
		cursor: pointer;
		&:before{
			counter-increment: count;
			content: counter(count);
			display: grid;
			align-content: center;
			aspect-ratio: 1;
			height: 32px;
			background: var(--color-theme);
			border-radius: 100%;
			color: white;
			font-weight: 600;
			font-size: clamp(16px, calc(18 / 768 * 100dvw), 18px);
			font-family: 'Shippori Mincho', var(--font-min);
			line-height: 1;
			text-align: center;
			overflow: hidden;
		}
	}
}

.comment{
	display: grid;
	grid-row-gap: clamp(24px, calc(40 / 768 * 100dvw), 40px);
	& dl{
		display: grid;
		grid-gap: 8px clamp(32px, calc(56 / 768 * 100dvw), 56px);
		width: min(100%, 768px);
		&:not(:has(img)):before{
			content: "";
			justify-self: center;
			aspect-ratio: 1;
			width: clamp(80px, calc(120 / 768 * 100dvw), 120px);
			background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 120 120"><path d="M60.01,73.93c-18.45,0-33.85,11.98-35.53,27.63v18.44h71.04v-18.44c-1.68-15.64-17.07-27.62-35.51-27.63ZM60,67.38c13.51,0,24.47-10.96,24.47-24.47s-10.96-24.47-24.47-24.47-24.47,10.96-24.47,24.47,10.96,24.47,24.47,24.47Z" style="fill: white"/></svg>') no-repeat center / cover;
			border-radius: 100%;
		}
		&:has(dt:empty) dt+dd{
			grid-row: 1;
		}
		&.commentLeft:before{
			background-color: #dfd6ae;
		}
		&.commentRight:before{
			background-color: #a1cbed;
		}
	}
	& dt{
		font-weight: 500;
		font-size: clamp(12px, calc(14 / 768 * 100dvw), 14px);
		text-align: center;
		&:empty{
			display: none;
		}
	}
	& dt+dd{
		position: relative;
		grid-row: 1 / 3;
		align-self: start;
		min-height: clamp(80px, calc(120 / 768 * 100dvw), 120px);
		padding: clamp(16px, calc(24 / 768 * 100dvw), 24px);
		background: #e3effa;
		border-radius: clamp(8px, calc(16 / 768 * 100dvw), 16px);
		&:before{
			content: "";
			position: absolute;
			top: clamp(40px, calc(60 / 768 * 100dvw), 60px);
			aspect-ratio: 1;
			width: 24px;
			background: inherit;
			-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="M24,24L3.53,13.08c-1.45-.78-1.4-2.88.1-3.58L24,0v24Z"/></svg>') no-repeat center / contain;
		}
	}
	& dd{
		&:has(img){
			justify-self: center;
			width: clamp(80px, calc(120 / 768 * 100dvw), 120px);
		}
		& img{
			aspect-ratio: 1;
			object-fit: cover;
			border-radius: 100%;
		}
	}
}

.commentLeft{
	grid-template-columns: auto 1fr;
	&:before,
	& dd:has(img){
		grid-column: 1;
		grid-row: 1;
	}
	& dt+dd{
		grid-column: 2;
		&:before{
			left: 0;
			transform: translate(-18px, -50%);
		}
	}
}

.commentRight{
	justify-self: end;
	grid-template-columns: 1fr auto;
	&:before,
	& dd:has(img){
		grid-column: 2;
		grid-row: 1;
	}
	& dt+dd{
		grid-column: 1;
		&:before{
			left: 100%;
			transform: scale(-1, 1) translate(6px, -50%);
		}
	}
}

.column{
	position: relative;
	display: grid;
	padding: clamp(48px, calc(56 / 768 * 100dvw), 56px);
	padding-top: 24px;
	background: #fff;
	-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M0,16c8.84,0,16-7.16,16-16v16H0Z"/></svg>') no-repeat left top / 20px, url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M0,0c0,8.84,7.16,16,16,16H0V0Z"/></svg>') no-repeat right top / 20px, url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M0,0c8.84,0,16,7.16,16,16V0H0Z"/></svg>') no-repeat left bottom / 20px, url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M16,0C7.16,0,0,7.16,0,16V0h16Z"/></svg>') no-repeat right bottom / 20px, 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 / 100% calc(100% - 40px), 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 / calc(100% - 40px) 100%;
	&:before{
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: var(--pattern_01) center / 200px auto, var(--color-theme);
		z-index: -2;
		pointer-events: none;
	}
	&:after{
		content: "";
		position: absolute;
		top: clamp(16px, calc(20 / 768 * 100dvw), 20px);
		left: clamp(16px, calc(20 / 768 * 100dvw), 20px);
		width: calc(100% - clamp(32px, calc(40 / 768 * 100dvw), 40px));
		height: calc(100% - clamp(32px, calc(40 / 768 * 100dvw), 40px));
		background: #fff;
		z-index: -1;
		pointer-events: none;
		-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M0,16c8.84,0,16-7.16,16-16v16H0Z"/></svg>') no-repeat -8px -8px / 28px, url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M0,0c0,8.84,7.16,16,16,16H0V0Z"/></svg>') no-repeat calc(100% + 8px) -8px / 28px, url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M0,0c8.84,0,16,7.16,16,16V0H0Z"/></svg>') no-repeat -8px calc(100% + 8px) / 28px, url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M16,0C7.16,0,0,7.16,0,16V0h16Z"/></svg>') no-repeat calc(100% + 8px) calc(100% + 8px) / 28px, 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 / 100% calc(100% - 40px), 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 / calc(100% - 40px) 100%;
	}
	& h4{
		justify-self: start;
		display: grid;
		align-items: center;
		min-width: 180px;
		min-height: clamp(48px, calc(56 / 768 * 100dvw), 56px);
		padding-bottom: 4px;
		background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 16 16" fill="white"><rect width="100%" height="100%"/></svg>') no-repeat 2px top / 1px calc(100% - 12px), url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 16 16" fill="white"><rect width="100%" height="100%"/></svg>') no-repeat calc(100% - 2px) top / 1px calc(100% - 12px), url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 16 16" fill="white"><rect width="100%" height="100%"/></svg>') no-repeat center calc(100% - 2px) / calc(100% - 24px) 1px, #b09934;
		color: white;
		font-weight: 600;
		font-size: clamp(18px, calc(22 / 768 * 100dvw), 22px);
		font-family: 'Shippori Mincho', var(--font-min);
		letter-spacing: 0.1em;
		line-height: 1;
		text-align: center;
		transform: translateY(-24px);
		-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M0,0c8.84,0,16,7.16,16,16V0H0Z"/></svg>') no-repeat left bottom / 10px, url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M16,0C7.16,0,0,7.16,0,16V0h16Z"/></svg>') no-repeat right bottom / 10px, 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 top center / 100% calc(100% - 10px), 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 bottom center / calc(100% - 20px) 100%;
	}
	& h4+div{
		display: grid;
		@media (min-width: 992px) {
			&:has(img){
				grid-template-columns: auto 1fr;
				grid-template-rows: auto 1fr;
				column-gap: 48px;
			}
			& figure{
				grid-column: 1;
				grid-row: 1 / 4;
				width: 400px;
			}
		}
	}
	& h5{
		color: var(--color-theme);
		font-weight: 600;
		font-size: clamp(20px, calc(24 / 768 * 100dvw), 24px);
	}
	& h5+div{
		margin-top: 16px;
		letter-spacing: 0.03em;
	}
	& h5+div+div{
		display: flex;
		justify-content: center;
		margin-top: clamp(48px, calc(64 / 768 * 100dvw), 64px);
		& a{
			display: grid;
			grid-template-columns: 1fr 8px;
			align-items: center;
			column-gap: 8px;
			min-width: min(100%, 180px);
			min-height: 56px;
			padding: 4px 24px;
			background: white;
			border: 1px solid #365383;
			border-radius: 28px;
			color: var(--color-theme);
			font-weight: 600;
			text-align: center;
			text-decoration: none;
			&:after{
				content: "";
				aspect-ratio: 1;
				width: 20px;
				background: var(--color-theme) 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: white; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5px;"><line x1="4.87" y1="10" x2="11.87" y2="10"/><polyline points="11.87 6.46 15.4 10 11.87 13.54"/></svg>') no-repeat center / contain;
				border-radius: 100%;
			}
		}
	}
	& figure{
		order: -1;
		& img{
			aspect-ratio: 4 / 3;
			object-fit: cover;
		}
	}
}

.slide{
	&:not(.slick-slider){
		display: grid;
		grid-template-columns: 1fr;
		justify-content: center;
		column-gap: clamp(16px, calc(24 / 768 * 100dvw), 24px);
		@media (min-width: 576px) {
			grid-template-columns: repeat(2, 1fr);
		}
		@media (min-width: 768px) {
			grid-template-columns: repeat(3, 1fr);
		}
		@media (min-width: 992px) {
			grid-template-columns: repeat(4, 1fr);
		}
		& dl{
			grid-column: 1;
			grid-row: 1;
			&:nth-child(n+2){
				display: none;
			}
		}
	}
	&.slick-slider{
		display: grid;
		grid-template-columns: 1fr auto 1fr;
		grid-gap: 24px;
		.slick-list{
			grid-column: 1 / 4;
			grid-row: 1;
			margin-inline: calc(0px - clamp(8px, calc(12 / 768 * 100dvw), 12px));
			@media (max-width: 575.98px) {
				overflow: visible;
			}
		}
		.slick-slide{
			margin-inline: clamp(8px, calc(12 / 768 * 100dvw), 12px);
		}
		.slick-arrow{
			align-self: center;
			width: 32px;
			&.slick-prev{
				justify-self: end;
			}
		}
		.slick-dots{
			grid-column: 2;
			grid-row: 2;
		}
	}
}

.slick-dots{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	grid-gap: 16px;
	& li{
		aspect-ratio: 1;
		width: 10px;
		background: white;
		border: 1px solid var(--color-theme);
		border-radius: 100%;
		overflow: hidden;
		&.slick-active{
			background: var(--color-theme);
		}
	}
	& button{
		opacity: 0;
	}
}

.slick-arrow{
	all: unset;
	box-sizing: border-box;
	cursor: pointer;
	position: relative;
	aspect-ratio: 1;
	width: clamp(32px, calc(48 / 768 * 100dvw), 48px);
	background: color-mix(in srgb, transparent, var(--color-theme) 90%);
	border-radius: 100%;
	color: white;
	font-size: 0;
	&: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 48 48" style="fill: none; stroke: black; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5px;"><polyline points="20.5 31.5 29.5 24 20.5 16.5" /></svg>') no-repeat center / cover;
	}
	&.slick-prev:before{
		transform: scale(-1, 1);
	}
}


:root{
	--detail_bg: url('data:image/png;base64,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');
}




