/* CSS Document */

#tab{
	margin-top: clamp(32px, calc(56 / 1200 * 100vw), 56px);
}

#detail{
	display: grid;
	grid-template-columns: 1fr var(--wrap) 1fr;
	padding: clamp(32px, calc(56 / 1200 * 100vw), 56px) 0 clamp(96px, calc(120 / 1200 * 100vw), 120px) 0;
	font-size: clamp(14px, calc(16 / 768 * 100vw), 16px);
	overflow: hidden;
}
#detail>*{
	grid-column: 2;
}
#detail h1{
	font: 600 clamp(20px, calc(28 / 768 * 100vw), 28px) var(--font-min);
	letter-spacing: 0.1em;
}
#detail h1+div{
	margin-top: clamp(16px, calc(24 / 1200 * 100vw), 24px);
	font-weight: 600;
	letter-spacing: 0.1em;
}
#detail h1+div:empty{
	display: none;
}
#detail #detailPhoto{
	margin-top: calc(0px - clamp(32px, calc(56 / 1200 * 100vw), 56px));
}
@media (max-width: 767.98px) {
	#detail #detailPhoto{
		margin-bottom: clamp(32px, calc(56 / 1200 * 100vw), 56px);
	}
}
@media (min-width: 768px) {
	#detail #detailPhoto{
		margin-bottom: -1em;
	}
	#detail h1{
		position: relative;
		justify-self: start;
		min-width: min(80%, 800px);
		z-index: 1;
	}
	#detail h1:before{
		content: "";
		position: absolute;
		top: -16px;
		left: calc(0px - clamp(24px, calc(32 / 1200 * 100vw), 32px));
		width: calc(100% + clamp(48px, calc(64 / 1200 * 100vw), 64px));
		height: calc(100% + 16px);
		background: #fff;
		z-index: -1;
	}
}

#detailPhoto{
	order: -1;
	grid-column: 1 / 4;
}
#detailPhoto img{
	height: min(66.66dvw, 640px);
	max-height: 66.66dvh;
	object-fit: cover;
}

#detailTable{
	justify-self: center;
	width: min(100%, 980px);
	margin-top: clamp(48px, calc(64 / 1200 * 100vw), 64px);
	border: 2px solid var(--color-theme);
}
#detailTable h3{
	align-self: center;
	display: grid;
	align-items: center;
	min-height: clamp(48px, calc(56 / 768 * 100vw), 56px);
	background: var(--color-theme);
	color: #fff;
	font-weight: 700;
	font-size: clamp(16px, calc(20 / 768 * 100vw), 20px);
	text-align: center;
}
#detailTable h3+div{
}
#detailTable ul{
	display: grid;
	grid-gap: 8px;
	padding: clamp(16px, calc(24 / 1200 * 100vw), 24px);
}
#detailTable ul>li{
}
#detailTable ul>li:nth-child(n+6){
	display: none;
}
#detailTable ul span{
	display: inherit;
	grid-gap: inherit;
}
#detailTable a{
	display: grid;
	grid-template-columns: auto 1fr;
	grid-gap: 8px;
	color: inherit;
	text-decoration: none;
}
#detailTable a:before{
	content: "";
	aspect-ratio: 1;
	width: 14px;
	background: var(--color-theme);
	transform: translateY(0.325em);
	-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="10 7 4 2 4 12 10 7"/></svg>') no-repeat center / contain;
}
#detailTable menu{
	all: unset;
	box-sizing: border-box;
	cursor: pointer;
	display: grid;
	grid-template-columns: auto auto;
	justify-content: center;
	align-items: center;
	grid-gap: 16px;
	padding: 8px 16px;
	background: #d3e6e8;
	cursor: pointer;
	transition: all 0.2s ease-out;
}
#detailTable menu:after{
	content: "";
	aspect-ratio: 1;
	width: 8px;
	background: #808080;
	-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 8"><polygon points="4 6 0 2 8 2 4 6"/></svg>') no-repeat center / contain;
}

#detailShare{
}
#detailShare h3{
	display: none;
}
#detailShare ul{
	display: flex;
	justify-content: end;
	column-gap: 8px;
}
#detailShare li{
	display: contents;
}
#detailShare a{
	display: grid;
	grid-template-columns: 14px auto;
	align-items: center;
	column-gap: 4px;
	min-height: 24px;
	padding: 0 8px;
	background: var(--color);
	border-radius: 12px;
	color: #fff;
	font-size: 10px;
	text-decoration: none;
}
#detailShare a:before{
	content: "";
	aspect-ratio: 1;
	background: currentColor;
}
#detailShare a[href*="x.com"]{
	background: var(--color);
}
#detailShare a[href*="x.com"]:before{
	-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M11.74,8.57L18.54.67h-1.61l-5.9,6.86L6.31.67H.87l7.13,10.38L.87,19.33h1.61l6.23-7.25,4.98,7.25h5.44l-7.4-10.76h0ZM9.53,11.14l-.72-1.03L3.06,1.88h2.48l4.64,6.64.72,1.03,6.03,8.63h-2.48l-4.92-7.04h0Z"/></svg>') no-repeat center / contain;
}
#detailShare a[href*="facebook.com"]{
	background: #0866ff;
	border-radius: 4px;
}
#detailShare a[href*="facebook.com"]:before{
	-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 500"><path d="M250,0C111.93,0,0,111.93,0,250c0,117.24,80.72,215.62,189.61,242.64v-166.24h-51.55v-76.4h51.55v-32.92c0-85.09,38.51-124.53,122.05-124.53h0c15.84,0,43.17,3.11,54.35,6.21v69.25h0c-5.9-.62-16.15-.93-28.88-.93-40.99,0-56.83,15.53-56.83,55.9v27.02h81.66l-14.03,76.4h-67.63v171.77c123.79-14.95,219.71-120.35,219.71-248.17C500,111.93,388.07,0,250,0Z"/></svg>') no-repeat center / contain;
}
#detailShare a[href*="line.me"]{
	background: #06c755;
	border-radius: 4px;
}
#detailShare a[href*="line.me"]:before{
	-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240"><path d="M240,103.04c0-53.7-53.83-97.38-120-97.38S0,49.35,0,103.04c0,48.14,42.69,88.45,100.36,96.08,3.91.84,9.23,2.58,10.57,5.92,1.21,3.03.79,7.79.39,10.85,0,0-1.41,8.47-1.71,10.27-.52,3.03-2.41,11.87,10.39,6.47,12.81-5.4,69.11-40.69,94.28-69.67h0c17.39-19.07,25.72-38.43,25.72-59.92ZM77.66,131.76c0,1.27-1.03,2.29-2.29,2.29h-33.71c-1.27,0-2.29-1.03-2.29-2.29v-.04h0v-52.33c0-1.27,1.03-2.29,2.29-2.29h8.51c1.26,0,2.29,1.03,2.29,2.29v41.57h22.91c1.26,0,2.29,1.03,2.29,2.29v8.51ZM97.96,131.76c0,1.27-1.03,2.29-2.29,2.29h-8.51c-1.27,0-2.29-1.03-2.29-2.29v-52.37c0-1.27,1.03-2.29,2.29-2.29h8.51c1.27,0,2.29,1.03,2.29,2.29v52.37ZM155.89,131.76c0,1.27-1.03,2.29-2.29,2.29h-8.46c-.21,0-.41-.03-.6-.08-.01,0-.02,0-.03,0-.05-.01-.11-.03-.16-.05-.02,0-.05-.02-.07-.03-.04-.02-.07-.03-.11-.05-.04-.02-.07-.03-.11-.05-.02-.01-.04-.02-.07-.04-.05-.03-.1-.06-.14-.09,0,0-.02-.01-.03-.02-.22-.15-.43-.34-.59-.58l-23.99-32.4v31.1c0,1.27-1.03,2.29-2.29,2.29h-8.51c-1.27,0-2.29-1.03-2.29-2.29v-52.37c0-1.27,1.03-2.29,2.29-2.29h8.46s.05,0,.08,0c.04,0,.08,0,.12,0,.04,0,.08,0,.12.02.03,0,.07,0,.1.01.05,0,.09.02.14.03.03,0,.05.01.08.02.05.01.09.03.14.04.02,0,.05.02.07.03.05.02.09.04.13.06.02.01.05.02.07.04.04.02.08.05.13.07.02.01.05.03.07.04.04.03.08.05.12.08.02.02.04.03.06.05.04.03.08.07.12.11.01.01.03.03.04.04.05.05.09.09.14.14,0,0,.01.01.01.02.07.08.13.15.18.24l23.96,32.36v-31.11c0-1.27,1.03-2.29,2.29-2.29h8.51c1.27,0,2.29,1.03,2.29,2.29v52.37ZM202.37,87.9c0,1.27-1.03,2.29-2.29,2.29h-22.91v8.84h22.91c1.26,0,2.29,1.03,2.29,2.29v8.51c0,1.27-1.03,2.29-2.29,2.29h-22.91v8.84h22.91c1.26,0,2.29,1.03,2.29,2.29v8.51c0,1.27-1.03,2.29-2.29,2.29h-33.71c-1.27,0-2.29-1.03-2.29-2.29v-.04h0v-52.28h0v-.05c0-1.27,1.03-2.29,2.29-2.29h33.71c1.26,0,2.29,1.03,2.29,2.29v8.51Z"/></svg>') no-repeat center / contain;
}

#detailArticle{
	margin-top: clamp(48px, calc(64 / 1200 * 100vw), 64px);
}

#detailShare{
	grid-column: 1 / 4;
	display: grid;
	grid-template-columns: 1fr var(--wrap) 1fr;
	margin-top: clamp(48px, calc(64 / 1200 * 100vw), 64px);
}
#detailShare>*{
	grid-column: 2;
}
#detailShare h3{
	display: none;
}
#detailShare ul{
	display: flex;
	justify-content: center;
	column-gap: 8px;
}
#detailShare li{
	display: contents;
}
#detailShare a{
	display: grid;
	grid-template-columns: 14px auto;
	align-items: center;
	column-gap: 4px;
	min-height: 24px;
	padding: 0 8px;
	background: var(--color);
	border-radius: 12px;
	color: #fff;
	font-size: 10px;
	text-decoration: none;
}
#detailShare a:before{
	content: "";
	aspect-ratio: 1;
	background: currentColor;
}
#detailShare a[href*="x.com"]{
	background: var(--color);
}
#detailShare a[href*="x.com"]:before{
	-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M11.74,8.57L18.54.67h-1.61l-5.9,6.86L6.31.67H.87l7.13,10.38L.87,19.33h1.61l6.23-7.25,4.98,7.25h5.44l-7.4-10.76h0ZM9.53,11.14l-.72-1.03L3.06,1.88h2.48l4.64,6.64.72,1.03,6.03,8.63h-2.48l-4.92-7.04h0Z"/></svg>') no-repeat center / contain;
}
#detailShare a[href*="facebook.com"]{
	background: #0866ff;
	border-radius: 4px;
}
#detailShare a[href*="facebook.com"]:before{
	-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 500"><path d="M250,0C111.93,0,0,111.93,0,250c0,117.24,80.72,215.62,189.61,242.64v-166.24h-51.55v-76.4h51.55v-32.92c0-85.09,38.51-124.53,122.05-124.53h0c15.84,0,43.17,3.11,54.35,6.21v69.25h0c-5.9-.62-16.15-.93-28.88-.93-40.99,0-56.83,15.53-56.83,55.9v27.02h81.66l-14.03,76.4h-67.63v171.77c123.79-14.95,219.71-120.35,219.71-248.17C500,111.93,388.07,0,250,0Z"/></svg>') no-repeat center / contain;
}
#detailShare a[href*="line.me"]{
	background: #06c755;
	border-radius: 4px;
}
#detailShare a[href*="line.me"]:before{
	-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240"><path d="M240,103.04c0-53.7-53.83-97.38-120-97.38S0,49.35,0,103.04c0,48.14,42.69,88.45,100.36,96.08,3.91.84,9.23,2.58,10.57,5.92,1.21,3.03.79,7.79.39,10.85,0,0-1.41,8.47-1.71,10.27-.52,3.03-2.41,11.87,10.39,6.47,12.81-5.4,69.11-40.69,94.28-69.67h0c17.39-19.07,25.72-38.43,25.72-59.92ZM77.66,131.76c0,1.27-1.03,2.29-2.29,2.29h-33.71c-1.27,0-2.29-1.03-2.29-2.29v-.04h0v-52.33c0-1.27,1.03-2.29,2.29-2.29h8.51c1.26,0,2.29,1.03,2.29,2.29v41.57h22.91c1.26,0,2.29,1.03,2.29,2.29v8.51ZM97.96,131.76c0,1.27-1.03,2.29-2.29,2.29h-8.51c-1.27,0-2.29-1.03-2.29-2.29v-52.37c0-1.27,1.03-2.29,2.29-2.29h8.51c1.27,0,2.29,1.03,2.29,2.29v52.37ZM155.89,131.76c0,1.27-1.03,2.29-2.29,2.29h-8.46c-.21,0-.41-.03-.6-.08-.01,0-.02,0-.03,0-.05-.01-.11-.03-.16-.05-.02,0-.05-.02-.07-.03-.04-.02-.07-.03-.11-.05-.04-.02-.07-.03-.11-.05-.02-.01-.04-.02-.07-.04-.05-.03-.1-.06-.14-.09,0,0-.02-.01-.03-.02-.22-.15-.43-.34-.59-.58l-23.99-32.4v31.1c0,1.27-1.03,2.29-2.29,2.29h-8.51c-1.27,0-2.29-1.03-2.29-2.29v-52.37c0-1.27,1.03-2.29,2.29-2.29h8.46s.05,0,.08,0c.04,0,.08,0,.12,0,.04,0,.08,0,.12.02.03,0,.07,0,.1.01.05,0,.09.02.14.03.03,0,.05.01.08.02.05.01.09.03.14.04.02,0,.05.02.07.03.05.02.09.04.13.06.02.01.05.02.07.04.04.02.08.05.13.07.02.01.05.03.07.04.04.03.08.05.12.08.02.02.04.03.06.05.04.03.08.07.12.11.01.01.03.03.04.04.05.05.09.09.14.14,0,0,.01.01.01.02.07.08.13.15.18.24l23.96,32.36v-31.11c0-1.27,1.03-2.29,2.29-2.29h8.51c1.27,0,2.29,1.03,2.29,2.29v52.37ZM202.37,87.9c0,1.27-1.03,2.29-2.29,2.29h-22.91v8.84h22.91c1.26,0,2.29,1.03,2.29,2.29v8.51c0,1.27-1.03,2.29-2.29,2.29h-22.91v8.84h22.91c1.26,0,2.29,1.03,2.29,2.29v8.51c0,1.27-1.03,2.29-2.29,2.29h-33.71c-1.27,0-2.29-1.03-2.29-2.29v-.04h0v-52.28h0v-.05c0-1.27,1.03-2.29,2.29-2.29h33.71c1.26,0,2.29,1.03,2.29,2.29v8.51Z"/></svg>') no-repeat center / contain;
}

#free{
	order: 1;
	display: grid;
	grid-template-columns: 1fr var(--wrap) 1fr;
	margin: clamp(32px, calc(56 / 1200 * 100vw), 56px) 0 clamp(96px, calc(120 / 1200 * 100vw), 120px) 0;
}
#free>*{
	grid-column: 2;
}
#free h2{
	display: none;
}

#recommend{
	display: grid;
	grid-template-columns: 1fr var(--wrap) 1fr;
	margin: clamp(32px, calc(56 / 1200 * 100vw), 56px) 0 clamp(96px, calc(120 / 1200 * 100vw), 120px) 0;
	overflow: hidden;
}
#recommend>*{
	grid-column: 2;
}
#recommend h2{
	align-self: center;
	display: grid;
	grid-template-columns: 4px 1fr;
	column-gap: 16px;
	font: 600 clamp(20px, calc(24 / 768 * 100vw), 24px) var(--font-min);
	letter-spacing: 0.1em;
	word-break: keep-all;
	overflow-wrap: anywhere;
}
#recommend h2:before{
	content: "";
	height: 1em;
	align-self: start;
	background: var(--color-theme);
	transform: translateY(0.325em);
}
#recommend #recommendList{
	margin-top: 24px;
	justify-self: center;
	grid-column: 1 / 4;
	width: min(var(--wrap-fit), 1300px);
}

#recommendList{
}
#recommendList section{
	position: relative;
	display: grid;
	grid-row-gap: 16px;
}
#recommendList section:not(:has(img)):before{
	content: "";
	aspect-ratio: 3 / 2;
	background: var(--dummy);
}
#recommendList section:nth-child(n+2){
	display: none;
}
#recommendList h3{
	color: var(--color-theme);
	font: 600 clamp(14px, calc(16 / 768 * 100vw), 16px) var(--font-min);
}
#recommendList h3+div{
	display: contents;
}
#recommendList h3+div a{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	font-size: 0;
}
#recommendList figure{
	order: -1;
}
#recommendList figure img{
	aspect-ratio: 3 / 2;
	object-fit: cover;
}
#recommendList .slick-slider{
	display: grid;
	grid-template-columns: auto 1fr auto;
}
#recommendList .slick-slider:before{
	content: "";
	grid-column: 2;
	grid-row: 1;
	aspect-ratio: 3 / 2;
	width: calc(100% - 32px);
}
@media (min-width: 576px) {
	#recommendList .slick-slider:before{
		width: calc(50% - 32px);
	}
}
@media (min-width: 992px) {
	#recommendList .slick-slider:before{
		width: calc(33.33% - 32px);
	}
}
@media (min-width: 1400px) {
	#recommendList .slick-slider:before{
		width: calc((100% - 128px) / 4);
		width: calc(25% - 32px);
	}
}
#recommendList .slick-slider .slick-list{
	grid-column: 2;
	grid-row: 1 / 3;
}
#recommendList .slick-slider .slick-arrow{
	align-self: center;
}
#recommendList .slick-list{
	overflow: visible;
}
#recommendList .slick-slide{
	margin: 0 16px;
}
#recommendList .slick-arrow{
	all: unset;
	box-sizing: border-box;
	cursor: pointer;
	position: relative;
	display: grid;
	aspect-ratio: 1;
	width: clamp(48px, calc(64 / 1200 * 100vw), 64px);
	background: rgba(255, 255, 255, 0.5);
	border: 1px solid var(--color-border);
	border-radius: 100%;
	font-size: 0;
	z-index: 1;
}
#recommendList .slick-arrow:before{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	aspect-ratio: 1;
	width: 8px;
	background: currentColor;
	transform: translate(-50%, -50%);
	-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 8"><polygon points="0 7 8 4 0 1 0 7"/></svg>') no-repeat center / contain;
}
#recommendList .slick-arrow.slick-prev:before{
	-webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 8"><polygon points="8 7 0 4 8 1 8 7"/></svg>');
}

.animation{
	animation-duration: 1s;
	transition: visibility 0.2s ease-out 0.2s;
}
.animation:not(.done){
	animation-name: none;
}

.title{
	align-self: center;
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 16px;
	padding-bottom: 8px;
	margin-top: clamp(48px, calc(64 / 1200 * 100vw), 64px);
	border-bottom: 1px solid #ccc;
	font-weight: 700;
	font-size: clamp(20px, calc(24 / 768 * 100vw), 24px);
	letter-spacing: 0.1em;
	word-break: keep-all;
	overflow-wrap: anywhere;
}
.title:before{
	content: "";
	aspect-ratio: 1;
	height: 1em;
	background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 26 22"><path d="M3.17,11.25c.84-.56,1.88-1.25,3.83-1.25s3,.69,3.83,1.25c.68.45,1.12.75,2.17.75s1.49-.3,2.17-.75c.84-.56,1.88-1.25,3.83-1.25s2.99.69,3.83,1.25c.51.34.89.59,1.5.7l-5.35-8.5c-1.02-1.45-2.79-1.45-3.81,0-.13.21-.27.45-.57.44-.25,0-.38-.24-.49-.43l-1.33-2.16c-1.22-1.74-3.34-1.74-4.57,0L1.65,11.95c.62-.1,1-.35,1.52-.7Z" style="fill: %23b9dc7f;"/><path d="M25,17c-1.8,0-2.77-.65-3.55-1.17-.7-.46-1.25-.83-2.44-.83s-1.75.37-2.44.83c-.78.52-1.75,1.17-3.55,1.17s-2.78-.65-3.56-1.17c-.7-.46-1.25-.83-2.45-.83s-1.75.37-2.45.83c-.78.52-1.75,1.17-3.56,1.17-.55,0-1-.45-1-1s.45-1,1-1c1.2,0,1.75-.37,2.45-.83.78-.52,1.75-1.17,3.56-1.17s2.78.65,3.56,1.17c.7.46,1.25.83,2.45.83s1.75-.37,2.45-.83c.78-.52,1.75-1.17,3.55-1.17s2.77.65,3.55,1.17c.7.46,1.25.83,2.44.83.55,0,1,.45,1,1s-.45,1-1,1Z" style="fill: %23b9e4fd;"/><path d="M25,22c-1.8,0-2.77-.65-3.55-1.17-.7-.46-1.25-.83-2.44-.83s-1.75.37-2.44.83c-.78.52-1.75,1.17-3.55,1.17s-2.78-.65-3.56-1.17c-.7-.46-1.25-.83-2.45-.83s-1.75.37-2.45.83c-.78.52-1.75,1.17-3.56,1.17-.55,0-1-.45-1-1s.45-1,1-1c1.2,0,1.75-.37,2.45-.83.78-.52,1.75-1.17,3.56-1.17s2.78.65,3.56,1.17c.7.46,1.25.83,2.45.83s1.75-.37,2.45-.83c.78-.52,1.75-1.17,3.55-1.17s2.77.65,3.55,1.17c.7.46,1.25.83,2.44.83.55,0,1,.45,1,1s-.45,1-1,1Z" style="fill: %23b9e4fd;"/></svg>') no-repeat center / contain;
	transform: translateY(0.325em);
}

.photos{
	margin-top: clamp(24px, calc(32 / 1200 * 100vw), 32px);
}
.photos ul{
	display: grid;
	& li{
		grid-column: 1;
		grid-row: 1;
	}
}
.photos li{
	display: grid;
}
.photos li[data-caption]:not([data-caption=""]){
	display: grid;
}
.photos li[data-caption]:not([data-caption=""]):before{
	content: attr(data-caption);
	grid-column: 1;
	grid-row: 1;
	align-self: end;
	display: grid;
	align-items: center;
	min-height: clamp(32px, calc(48 / 768 * 100vw), 48px);
	padding: 4px 16px;
	background: rgba(255, 255, 255, 0.5);
	text-align: center;
	letter-spacing: 0.05em;
	z-index: 1;
	pointer-events: none;
}
.photos li img{
	grid-column: 1;
	grid-row: 1;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}
.photos .slick-slider{
	display: grid;
	grid-template-columns: auto 1fr auto;
}
.photos .slick-slider .slick-list{
	grid-column: 2;
	overflow: visible;
}
.photos .slick-slider .slick-slide{
	margin: 0 16px;
}
.photos .slick-slider .slick-arrow{
	align-self: center;
}
@media (max-width: 767.98px) {
	.photos .slick-slider .slick-list{
		grid-column: 1 / 4;
		grid-row: 1;
		margin: 0 -40px;
	}
	.photos .slick-slider .slick-arrow{
		grid-row: 1;
	}
	.photos .slick-slider .slick-prev{
		grid-column: 1;
	}
	.photos .slick-slider .slick-next{
		grid-column: 3;
	}
}
.photos .slick-arrow{
	all: unset;
	box-sizing: border-box;
	cursor: pointer;
	position: relative;
	display: grid;
	aspect-ratio: 1;
	width: clamp(48px, calc(64 / 1200 * 100vw), 64px);
	background: rgba(255, 255, 255, 0.5);
	border: 1px solid var(--color-border);
	border-radius: 100%;
	font-size: 0;
	z-index: 1;
}
.photos .slick-arrow:before{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	aspect-ratio: 1;
	width: 8px;
	background: currentColor;
	transform: translate(-50%, -50%);
	-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 8"><polygon points="0 7 8 4 0 1 0 7"/></svg>') no-repeat center / contain;
}
.photos .slick-arrow.slick-prev:before{
	-webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 8"><polygon points="8 7 0 4 8 1 8 7"/></svg>');
}

.text{
	margin-top: clamp(24px, calc(40 / 1200 * 100vw), 40px);
}

.links{
	margin-top: clamp(32px, calc(40 / 1200 * 100vw), 40px);
}
.links ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	grid-gap: 16px 24px;
}
.links li{
	display: contents;
}
.links a{
	display: grid;
	grid-template-columns: 1fr auto;
	column-gap: clamp(16px, calc(24 / 768 * 100vw), 24px);
	align-items: center;
	min-width: min(100%, 320px);
	min-height: clamp(48px, calc(56 / 768 * 100vw), 56px);
	padding: 4px 16px;
	background: var(--color-theme);
	color: #fff;
	font-family: var(--font-min);
	text-align: center;
	text-decoration: none;
}
.links a:after{
	content: "";
	background: currentColor;
	width: clamp(16px, calc(32 / 768 * 100vw), 32px);
	height: 5px;
	-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 55 5"><line y1="2.5" x2="52" y2="2.5" style="fill: none; stroke: %231a1a1a; stroke-miterlimit: 10;"/><polygon points="52 0 55 2.5 52 5 52 0" style="fill: %231a1a1a;"/></svg>') no-repeat center right / auto 100%;
}

.documents{
	display: grid;
	margin-top: clamp(48px, calc(64 / 1200 * 100vw), 64px);
}
.documents h4{
	align-self: center;
	display: grid;
	grid-template-columns: 4px 1fr;
	column-gap: 16px;
	font-weight: 700;
	font-size: clamp(16px, calc(18 / 768 * 100vw), 18px);
}
.documents h4:before {
	content: "";
	height: 1em;
	align-self: start;
	background: var(--color-theme);
	transform: translateY(0.325em);
}
.documents h4+div{
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--color-border);
}
.documents ul{
	display: grid;
	grid-gap: 16px;
}
.documents li{
	display: contents;
}
.documents a{
	display: grid;
	grid-template-columns: auto 1fr;
	justify-self: start;
	align-items: center;
	column-gap: 8px;
	color: inherit;
	letter-spacing: 0.1em;
	text-decoration: none;
}
.documents a:before{
	content: "";
	aspect-ratio: 1;
	width: 14px;
	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 24 24" style="fill: none; stroke: black; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"><polyline points="1 14 1 23 23 23 23 14"/><polyline points="12 1 12 16"/><polyline points="7 11 12 16 17 11"/></svg>') no-repeat center / contain;
}

.movie{
	display: grid;
	grid-row-gap: clamp(32px, calc(48 / 1200 * 100vw), 48px);
	margin-top: clamp(32px, calc(48 / 1200 * 100vw), 48px);
}
.movie iframe{
	justify-self: center;
	aspect-ratio: 16 / 9;
	width: 100%;
	height: auto;
}

.article3{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: clamp(32px, calc(48 / 1200 * 100vw), 48px) clamp(16px, calc(32 / 1200 * 100vw), 32px);
	margin-top: clamp(32px, calc(48 / 1200 * 100vw), 48px);
}
.article3 dl{
	display: grid;
	align-content: start;
	grid-row-gap: 16px;
	grid-template-rows: auto auto auto 1fr;
}
.article3 dt{
	display: grid;
	font-weight: 700;
	font-size: clamp(16px, calc(18 / 768 * 100vw), 18px);
}
.article3 dt:empty{
	display: none;
}
.article3 dd:empty{
	display: none;
}
.article3 dd+dd{
	display: contents;
}
.article3 dd img{
	order: -1;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}
.article3 dd a{
	align-self: end;
	display: grid;
	grid-template-columns: 1fr auto;
	column-gap: clamp(16px, calc(24 / 768 * 100vw), 24px);
	align-items: center;
	min-width: min(100%, 320px);
	min-height: clamp(48px, calc(56 / 768 * 100vw), 56px);
	margin-top: 8px;
	padding: 4px 16px;
	background: var(--color-theme);
	color: #fff;
	font-family: var(--font-min);
	text-align: center;
	text-decoration: none;
}
.article3 dd a:after{
	content: "";
	background: currentColor;
	width: 16px;
	height: 5px;
	-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 55 5"><line y1="2.5" x2="52" y2="2.5" style="fill: none; stroke: %231a1a1a; stroke-miterlimit: 10;"/><polygon points="52 0 55 2.5 52 5 52 0" style="fill: %231a1a1a;"/></svg>') no-repeat center right / auto 100%;
}
@media (min-width: 768px) {
	.article3{
		grid-template-columns: repeat(3, 1fr);
	}
	.article3 dl:first-child:nth-last-child(2),
	.article3 dl:nth-child(2):nth-last-child(1){
		grid-column: 1 / 4;
		grid-row: 1;
		width: calc(50% - clamp(8px, calc(16 / 1200 * 100vw), 16px));
	}
	.article3 dl:nth-child(2):nth-last-child(1){
		justify-self: end;
	}
	.article3 dl:last-child:nth-last-child(1){
		justify-self: end;
	}
}

.column{
	display: grid;
	grid-template-columns: 0 1fr 0;
	grid-gap: 16px clamp(24px, calc(40 / 1200 * 100vw), 40px);
	margin-top: clamp(32px, calc(48 / 1200 * 100vw), 48px);
	padding-bottom: clamp(24px, calc(40 / 1200 * 100vw), 40px);
	border: 2px solid var(--color-theme);
}
.column:before{
	content: attr(data-index);
	grid-column: 2;
	grid-row: 1;
	display: grid;
	align-items: center;
	justify-self: start;
	padding: 0 16px;
	background: #fff;
	color: var(--color-theme);
	font-weight: 700;
	font-size: clamp(18px, calc(20 / 768 * 100vw), 20px);
	transform: translate(-16px, -0.825em);
}
.column>*{
	grid-column: 2;
}
.column:has(figure){
}
@media (min-width: 768px) {
	.column{
		grid-template-columns: 0 auto 1fr 0;
		grid-template-rows: auto auto 1fr;
	}
	.column:before{
		grid-column: 2 / 4;
	}
	.column>*{
		grid-column: 3;
	}
	.column figure{
		grid-column: 2;
		grid-row: 2 / 5;
		width: min(30vw, 400px);
		margin-right: 8px;
	}
}
.column h4{
	font-weight: 700;
	font-size: clamp(16px, calc(18 / 768 * 100vw), 18px);
}
.column h4+div{
}
.column h4+div+div{
	display: flex;
	justify-content: center;
	margin-top: 16px;
}
.column h4+div+div a{
	display: grid;
	grid-template-columns: 1fr auto;
	column-gap: clamp(16px, calc(24 / 768 * 100vw), 24px);
	align-items: center;
	min-width: min(100%, 320px);
	min-height: clamp(48px, calc(56 / 768 * 100vw), 56px);
	padding: 4px 16px;
	background: var(--color-theme);
	color: #fff;
	font-family: var(--font-min);
	text-align: center;
	text-decoration: none;
}
.column h4+div+div a:after{
	content: "";
	background: currentColor;
	width: clamp(16px, calc(32 / 768 * 100vw), 32px);
	height: 5px;
	-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 55 5"><line y1="2.5" x2="52" y2="2.5" style="fill: none; stroke: %231a1a1a; stroke-miterlimit: 10;"/><polygon points="52 0 55 2.5 52 5 52 0" style="fill: %231a1a1a;"/></svg>') no-repeat center right / auto 100%;
}
.column figure{
	order: -1;
}
.column figure img{
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.comment{
	grid-column: 2;
	display: grid;
	grid-row-gap: clamp(24px, calc(40 / 1200 * 100vw), 40px);
	margin-top: clamp(24px, calc(32 / 1200 * 100vw), 32px);
}
.comment dl{
	display: grid;
	grid-template-columns: clamp(80px, calc(100 / 1200 * 100vw), 100px) clamp(16px, calc(24 / 1200 * 100vw), 24px) 1fr;
	grid-template-rows: auto 1fr;
	grid-gap: 8px 0;
}
.comment dl:not(:has(img)):before{
	content: "";
	grid-column: 1;
	grid-row: 1;
	align-self: end;
	aspect-ratio: 1;
	background: #f2f2f2 url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path opacity="0.2" d="M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l388.6 0c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304l-91.4 0z"/></svg>') center bottom no-repeat;
	background-size: 70%;
	border-radius: 100%;
}
.comment dl:after{
	content: "";
	grid-column: 2;
	grid-row: 1 / 3;
	justify-self: end;
	aspect-ratio: 1;
	width: clamp(8px, calc(16 / 1200 * 100vw), 16px);
	margin-top: clamp(40px, calc(50 / 1200 * 100vw), 50px);
	background: #d3e6e8;
	transform: translateY(-50%);
	-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><polygon points="0 12 24 0 24 24 0 12"/></svg>') no-repeat center / contain;
}
.comment dt{
	font-weight: 700;
	text-align: center;
}
.comment dd{
}
.comment dd:nth-of-type(1){
	grid-row: 1 / 3;
	align-self: start;
	display: grid;
	align-items: center;
	min-height: clamp(80px, calc(100 / 1200 * 100vw), 100px);
	padding: clamp(24px, calc(32 / 1200 * 100vw), 32px);
	background: #d3e6e8;
	border-radius: 8px;
}
.comment dd:nth-of-type(2){
	grid-column: 1;
	grid-row: 1;
}
.comment dd img{
	aspect-ratio: 1;
	border-radius: 100%;
	object-fit: cover;
	overflow: hidden;
}
.comment .commentRight{
	grid-template-columns: 1fr clamp(16px, calc(24 / 1200 * 100vw), 24px) clamp(80px, calc(100 / 1200 * 100vw), 100px);
}
.comment .commentRight:before {
	grid-column: 3;
	justify-self: end;
}
.comment .commentRight:after{
	justify-self: start;
	background: #e8e1d3;
	transform: translateY(-50%) scale(-1, 1);
}
.comment .commentRight dd{
}
.comment .commentRight dd:nth-of-type(1){
	grid-column: 1;
	background: #e8e1d3;
}
.comment .commentRight dd:nth-of-type(2){
	grid-column: 3;
}

.map{
	display: grid;
	margin-top: clamp(32px, calc(40 / 1200 * 100vw), 40px);
}
.map span{
	display: block;
	padding-top: 32px;
}

.mapBody{
	position: relative;
	background: #ccc;
	overflow: hidden;
}
@media (max-width: 767.98px) {
	.mapBody{
		height: min(640px, 80dvh);
	}
}
@media (min-width: 768px) {
	.mapBody{
		aspect-ratio: 3 / 2;
	}
}
@media (min-width: 922px) {
	.mapBody{
		aspect-ratio: 2 / 1;
	}
}
.mapBody iframe,
.mapBody [id^="gMap"]{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.mapList{
	padding: 24px 0;
}
@media (max-width: 575.98px) {
	.mapList{
		max-height: 240px;
		overflow-y: auto;
	}
}
.mapList ul{
	counter-reset: count;
	display: grid;
	grid-gap: 16px 24px;
}
@media (min-width: 576px) {
	.mapList ul{
		grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	}
}
.mapList li{
	display: grid;
	grid-template-columns: 40px 1fr;
	align-items: center;
	grid-gap: 16px;
	cursor: pointer;
}
.mapList li:before{
	counter-increment: count;
	content: counter(count);
	align-self: start;
	display: grid;
	align-content: center;
	aspect-ratio: 1;
	background: var(--color-theme);
	border-radius: 100%;
	color: #fff;
	text-align: center;
}

.mapText{
	display: grid;
	grid-row-gap: 16px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--color-border);
}

.mapToggle{
	all: unset;
	box-sizing: border-box;
	cursor: pointer;
	display: flex;
	justify-content: center;
	column-gap: clamp(16px, calc(32 / 768 * 100vw), 32px);
	align-items: center;
	min-height: clamp(80px, calc(96 / 768 * 100vw), 96px);
	border: 1px solid var(--color);
	border-width: 1px 0;
	color: inherit;
	text-decoration: none;
}
.mapToggle:after{
	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 16 16" style="fill: none; stroke: black;"><polyline points="0 8 16 8"/><polyline points="8 0 8 16"/></svg>') no-repeat center / contain;
}
.mapToggle.open:after{
	-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;"><polyline points="0 8 16 8"/></svg>') no-repeat center / contain;
}




