/* CSS Document */

main{
	padding-bottom: 64px;
	}

article {
	display: grid;
	grid-template-columns: 1fr var(--wrap) 1fr;
	grid-row-gap: 56px;
	padding: 56px 0;
}

@media (min-width: 992px) {
	article {
		padding: 72px 0;
		grid-row-gap: 72px;
	}
}

article > * {
	grid-column: 2;
}

h2 {
	justify-self: center;
	display: grid;
	grid-template-columns: 1.25em 1fr;
	grid-gap: 0.5em;
	font-weight: 700;
	font-size: 24px;
	letter-spacing: 0.1em;
}

@media (min-width: 992px) {
	h2 {
		font-size: 32px;
	}
}

h2:before {
	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="-3 -3 16 16"><path d="M3,0h7v7c0,1.66-1.34,3-3,3H0V3C0,1.34,1.34,0,3,0Z"/></svg>') center no-repeat;
	-webkit-mask-size: contain;
	transform: translateY(0.25em);
}

#pamphlet header {
	display: grid;
	grid-gap: 40px;
}

#pamphlet h2 + div {
	justify-self: center;
}

#pamphlet h2 + div p:first-child {
	text-align: center;
	transform: translateY(-40px);
}

#pamphlet section {
	grid-column: 2;
	display: grid;
	grid-row-gap: 32px;
	scroll-margin-top: 24px;
	background: #fff;
}

#pamphlet section div:has(dl) {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 48px 24px;
}

@media (min-width: 576px) {
	#pamphlet section div:has(dl) {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 992px) {
	#pamphlet section div:has(dl) {
		grid-template-columns: repeat(4, 1fr);
	}
}

@media (min-width: 1200px) {
	#pamphlet section div:has(dl) {
		grid-gap: 64px 32px;
	}
}

#pamphlet h3 {
	position: relative;
	margin-left: 24px;
	color: #5ab6b6;
	font-weight: 700;
	font-size: 24px;
	letter-spacing: 0.08em;
}

@media (min-width: 1200px) {
	#pamphlet h3 {
		margin-left: 0;
	}
}

#pamphlet h3:before {
	content: "";
	position: absolute;
	top: 10px;
	right: calc(100% + 32px);
	width: 100vw;
	height: 28px;
	background: currentColor;
	-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 10"><circle cx="6.5" cy="1.5" r="1.5"/></svg>') top right;
	-webkit-mask-size: 8px 10px;
}

#pamphlet ul {
	display: grid;
	grid-template-columns: min(100%, 280px);
	justify-content: center;
	grid-gap: 16px 24px;
}

@media (min-width: 576px) {
	#pamphlet ul {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 768px) {
	#pamphlet ul {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 1200px) {
	#pamphlet ul {
		grid-template-columns: repeat(4, 1fr);
	}
}

#pamphlet li a {
	display: grid;
	grid-template-columns: 1fr 24px;
	grid-gap: 8px;
	align-items: center;
	min-height: 64px;
	padding: 4px 16px 4px 24px;
	border-radius: 32px;
	border: 1px solid currentColor;
	color: inherit;
	letter-spacing: 0.05em;
	text-align: center;
	text-decoration: none;
}

#pamphlet li a:before,
#pamphlet li a:after {
	grid-column: 2;
	grid-row: 1;
	content: "";
	aspect-ratio: 1;
}

#pamphlet li a:before {
	background: #5ab6b6;
	border-radius: 100%;
}

#pamphlet li a:after {
	background: #fff;
	-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="M17.81,11.4l-4.38-4.38c-.33-.33-.86-.33-1.19,0-.33.33-.33.86,0,1.19l2.79,2.79H6.93c-.55,0-.99.45-.99.99s.44.99.99.99h8.1l-2.79,2.79c-.33.33-.33.86,0,1.19.16.16.38.25.6.25s.43-.08.6-.25l4.38-4.38c.33-.33.33-.86,0-1.19Z"/></svg>') center no-repeat;
	-webkit-mask-size: contain;
}

#pamphlet dl {
	display: grid;
	grid-gap: 8px;
}

#pamphlet dl:not(:has(img)):before {
	content: "";
	grid-column: 1;
	grid-row: 1;
	aspect-ratio: 1 / 1.414;
	background: var(--dummy);
	background-size: 50% auto;
	border-radius: 8px;
}

#pamphlet dl dt {
	font-weight: 700;
}

#pamphlet dl dd:has(img) {
	order: -1;
}

#pamphlet dl dd:has(a) {
	justify-self: center;
}

#pamphlet dl dd img {
	aspect-ratio: 1 / 1.414;
	object-fit: contain;
	background: #f2f2f2;
	border-radius: 8px;
}

#pamphlet dl dd a {
	display: grid;
	grid-template-columns: 1fr 24px;
	align-items: center;
	min-height: 32px;
	padding: 4px 16px;
	border-radius: 2px;
	border: 1px solid var(--color-border);
	color: inherit;
	letter-spacing: 0.05em;
	text-decoration: none;
}

#pamphlet dl dd a:after {
	content: "";
	aspect-ratio: 1;
	background: currentColor;
	-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="M21.6,14.6c-.43,0-.78.35-.78.78v5.22H3.18v-5.22c0-.43-.35-.78-.78-.78s-.78.35-.78.78v6c0,.43.35.78.78.78h19.2c.43,0,.78-.35.78-.78v-6c0-.43-.35-.78-.78-.78ZM11.41,16.82c.33.33.86.33,1.18,0l4.33-4.33c.33-.33.33-.85,0-1.18-.33-.33-.85-.33-1.18,0l-2.76,2.76V6.05c0-.54-.44-.98-.98-.98s-.98.44-.98.98v8.02l-2.76-2.76c-.33-.33-.86-.33-1.18,0-.16.16-.24.38-.24.59s.08.43.24.59l4.33,4.33Z"/></svg>') center no-repeat;
	-webkit-mask-size: contain;
	transform: translateX(8px);
}




