section.panel {
	@media (width < 580px) {
		padding: 20px 7%;
	}
	> div {
		max-width: 1920px;
		margin-inline: auto;
		display: grid;
		grid-template-columns: 1fr 1.2fr;
		column-gap: 20px;
		@media (width < 580px) {
			grid-template-columns: 1fr;
			row-gap: 30px;
		}
		> figure {
			&:nth-of-type(1) {
				padding-left: 7%;
				align-self: center;
				@media (width < 580px) {
					display: none;
				}
			}
			&:nth-of-type(2) {
				background-color: #fff;
				padding: 10px;
				border-radius: 10px;
				margin-right: -15px;
				justify-self: end;
				@media (width < 580px) {
					margin-right: 0px;
				}
			}
			@media (width < 580px) {
				justify-self: center;
			}
			> img {
				max-width: 100%;
				border-radius: 8px;
			}
		}
	}
}
section.shoplist {
	padding: 80px 7% 80px 7%;
	background-color: #fff;
	> div {
		max-width: 1000px;
		margin-inline: auto;
		> div.title {
			text-align: center;
			padding-bottom: 60px;
			> h1 {
				font-size: 2.5rem;
				line-height: 1.8;
				color: #333;
				font-family: var(--font-en);
				font-weight: 400;
			}
			> p {
				font-size: 1.1rem;
				line-height: 1;
				color: #333;
			}
		}
		> div.content {
			> h2 {
				text-align: center;
				background-color: rgba(156, 98, 106, 0.3);
				font-size: 1.3rem;
				line-height: 2.4;
				color: #333;
			}
			> figure {
				padding-block: 20px;
				> img {
					margin-inline: auto;
					max-width: 520px;
					display: flex;
					justify-content: center;
					@media (width < 650px) {
						max-width: 100%;
					}
				}
			}
			> article {
				padding-top: 30px;
				> div {
					border-bottom: 2px dotted #666;
					display: grid;
					grid-template-columns: 110px 1fr;
					padding-block: 10px;
					> h3 {
						font-size: 1rem;
						line-height: 1.6;
						color: #333;
						font-weight: 500;
						@media (width < 650px) {
							text-align: center;
							border-top: 2px dotted #666;
							border-bottom: 2px dotted #666;
							padding-block: 5px;
						}
					}
					> p {
						padding-block: 5px;
						font-size: min(0.9rem,5vw);
						line-height: 1.6;
						color: #333;
					}
					&:nth-of-type(1) {
						border-top: 2px dotted #666;
						@media (width < 650px) {
							border-top: none;
						}
					}
					@media (width < 650px) {
						grid-template-columns: 1fr;
						border: none;
						padding-bottom: 30px;
					}
				}
			}
			> iframe {
				padding-top: 80px;
				width: 100%;
				height: 500px;
				border: none;
			}
		}
	}
}
