/* CSS Document */

#pagePath{
	background: #f0efeb;
	}

#main{
	padding: 40px 0 96px 0;
	background: #f0efeb;
	@media (min-width: 1200px) {
		padding: 72px 0 128px 0;
		}
	}

#theme{
	display: grid;
	grid-template-columns: 1fr var(--wrap) 1fr;
	grid-row-gap: 56px;
	&:before{
		content: "";
		grid-column: 1 / 4;
		grid-row: 1 / 3;
		background: #fff;
		margin-top: -72px;
		}
	&>*{
		grid-column: 2;
		}
	& h2{
		grid-row: 1;
		justify-self: center;
		display: grid;
		grid-gap: 8px;
		padding: 0 24px;
		color: var(--color-theme);
		font-weight: 700;
		font-size: 24px;
		text-align: center;
		letter-spacing: 0.1em;
		@media (min-width: 1200px) {
			padding: 0 40px;
			grid-gap: 16px;
			font-size: 32px;
			}
		&:after{
			content: "";
			margin: 0 -24px;
			border-bottom: 2px solid currentColor;
			}
		@media (min-width: 1200px) {
			&:after{
				margin: 0 -40px;
				}
			}
		}
	}

#tab{
	grid-column: 1 / 4;
	grid-row: 2;
	display: grid;
	grid-template-columns: 1fr min(var(--wrap-fit), 1024px) 1fr;
	margin-top: 24px;
	&:after{
		content: "";
		grid-column: 1 / 4;
		grid-row: 1;
		align-self: end;
		border-bottom: 2px solid var(--color-theme);
		}
	& ul{
		grid-column: 2;
		grid-row: 1;
		display: grid;
		grid-gap: 8px;
		@media (min-width: 768px) {
			grid-gap: 16px;
			}
		@media (min-width: 992px) {
			grid-gap: 24px;
			}
		&:has(li:nth-child(2):last-child){
			grid-template-columns: repeat(2, 1fr);
			grid-gap: 16px;
			@media (min-width: 768px) {
				grid-gap: 24px;
				}
			a{
				border-radius: 8px 8px 0 0;
				}
			}
		}
	& li{
		display: contents;
		}
	& a{
		display: grid;
		align-items: center;
		text-align: center;
		min-height: 64px;
		padding: 4px 16px;
		border: 2px solid var(--color-theme);
		border-radius: 8px;
		color: var(--color-theme);
		font-weight: 700;
		text-decoration: none;
		letter-spacing: 0.1em;
		@media (min-width: 576px) {
			grid-row: 1;
			border-radius: 8px 8px 0 0;
			}
		@media (min-width: 1200px) {
			font-size: 18px;
			}
		.select &{
			order: 1;
			background: var(--color-theme);
			border-radius: 8px 8px 0 0;
			color: #fff;
			pointer-events: none;
			@media (min-width: 576px) {
				order: unset;
				}
			}
		}
	}

#themeList{
	display: grid;
	grid-gap: 64px 24px;
	margin-top: 24px;
	@media (min-width: 768px) {
		grid-template-columns: repeat(2, 1fr);
		}
	@media (min-width: 1200px) {
		grid-template-columns: repeat(3, 1fr);
		}
	@media (min-width: 1200px) {
		grid-gap: 96px 40px;
		}
	& dl{
		position: relative;
		display: grid;
		align-content: start;
		grid-gap: 16px;
		&:not(:has(img)) a:before{
			background: #f2f2f2 url("/common/images/logoType.svg") center no-repeat;
			background-size: 50% auto;
			border-radius: 8px;
			}
		}
	& dt{
		grid-column: 1;
		grid-row: 1;
		font-weight: 700;
		letter-spacing: 0.05em;
		z-index: 1;
		}
	& dd{
		grid-column: 1;
		grid-row: 1;
		& img{
			aspect-ratio: 1 / 0.667;
			object-fit: contain;
			border-radius: 8px;
			}
		}
	& a{
		display: grid;
		align-content: start;
		grid-gap: 16px;
		color: inherit;
		text-decoration: none;
		&:before{
			content: "";
			display: block;
			aspect-ratio: 1 / 0.667;
			}
		}
	}

#pagenation{
	margin-top: 64px;
	& [lsc-lb*="lscListPgn"]{
		display: none;
		}
	}




