/* Price Page */
.price-main-title,
.category-page-title {
	text-align: center;
	font-weight: bold;
	margin: 40px 0 30px;
	letter-spacing: 0.05em;
	font-family: "Noto Serif JP", serif;
}

.price-main-title {
	font-size: 28px;
	max-width: var(--content-width);
}

.category-page-title {
	font-size: 46px;
	margin-bottom: 20px;
}

.category-page-lead p {
	font-size: 22px;
	line-height: 1.8;
	color: var(--text-gray);
	margin-bottom: 10px;
	text-align: center;
}

.category-page-lead .small-note {
	font-size: 18px;
	display: block;
	margin-top: 5px;
	text-align: center;
}

.price-header-box {
	background-color: #ffe9e9;
	padding: 2rem 4rem;
}

.price-category-header {
	margin-top: 40px;
}

/* Common Sections */
.common-included,
.common-options,
.price-options {
	background-color: var(--bg-beige);
	padding: 50px 20px 60px;
	margin: 60px 0;
	text-align: center;
}

.common-section-title h2,
.price-options h2 {
	font-size: 26px;
	font-weight: 700;
	color: #000;
	margin-bottom: 15px;
	position: relative;
	display: inline-block;
	padding-bottom: 15px;
}

.price-options h2 {
	font-size: 28px;
}

.common-section-title h2::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 120px;
	height: 8px;
	background-color: #ff6f6f;
}

.common-section-title p,
.price-options p {
	font-size: 14px;
	color: var(--text-gray);
}

.price-options p {
	text-align: center;
	margin-bottom: 30px;
}

/* Included Icons */
.included-icons {
	display: flex;
	justify-content: center;
	list-style: none;
	gap: 15px;
	margin-top: 20px;
}

.included-icons li {
	width: 16%;
}

.included-icons .icon-box {
	background-color: #fff;
	border: 4px solid #a0a0a0;
	aspect-ratio: 1.4 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 10px;
}

.included-icons .icon-box img {
	height: 60%;
	width: auto;
}

.included-icons li span {
	font-size: 15px;
	font-weight: 700;
	color: #000;
	letter-spacing: 0.05em;
}

/* Options Grid */
.price-options {
	padding: 60px 0;
}

.options-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px 40px;
	max-width: 1200px;
	margin: 0 auto;
}

.option-item {
	display: flex;
	align-items: flex-start;
	gap: 20px;
}

.option-icon-box {
	flex: 0 0 180px;
	aspect-ratio: 1.2 / 1;
	background-color: #fff;
	border: 4px solid #a0a0a0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px;
}

.option-icon-box img {
	max-height: 50%;
	width: auto;
}

.option-info {
	flex: 1;
}

.option-info h4 {
	font-size: 18px;
	font-weight: bold;
	color: var(--main-red);
	margin-bottom: 8px;
	border-bottom: 2px solid #888;
	display: inline-block;
	padding-bottom: 2px;
	text-align: left;
	width: 100%;
}

.option-info p {
	font-size: 13px;
	line-height: 1.6;
	color: var(--text-gray);
	margin-bottom: 8px;
	text-align: left;
}

.option-info p span {
	font-size: 11px;
}

.option-info .option-price {
	font-size: 22px;
	font-weight: 700;
	color: #000;
	padding-top: 8px;
	margin-top: 10px;
}

/* Price Item Section */
.price-item-section {
	max-width: var(--content-width);
	margin: 0 auto 60px;
}

.price-item-label {
	background-color: var(--main-red);
	color: #fff;
	padding: 10px 20px;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 20px;
}

.size-info {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 15px;
	color: #000;
}

.price-item-flex {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 40px;
}

.price-table-col {
	flex: 0 0 450px;
}

.price-photo-col {
	flex: 1;
}

.work-photo {
	margin-bottom: 10px;
}

.work-photo img {
	width: 100%;
	height: auto;
	display: block;
}

.photo-notes {
	list-style: none;
	padding: 0;
	margin-top: 10px;
	display: flex;
	justify-content: center;
}