/* #teaser 内テキスト化（画像から HTML/CSS への置き換え。既存cochedury.cssの下に追記する） */

#teaser {
	padding: 0 !important;
	aspect-ratio: 2731 / 1539;
	display: flex;
	align-items: center;
	background-position: center !important;
}

#teaser .container {
	padding-top: 40px;
	padding-bottom: 40px;
}

#teaser .copy2 {
	text-align: left;
	color: #fff;
}

.hero-badges {
	display: flex;
	justify-content: flex-start;
	gap: 18px;
	margin-bottom: 22px;
	flex-wrap: wrap;
}

.hero-badge {
	width: 150px;
	height: 150px;
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	font-family: 'Shippori Mincho', 'Noto Serif JP', serif;
	font-weight: 700;
	font-size: 18px;
	text-shadow: 0 1px 2px rgba(0,0,0,.5);
	position: relative;
	box-shadow:
		0 0 0 3px rgba(0,0,0,.5),
		0 0 0 6px #e8c477,
		0 0 0 8px rgba(0,0,0,.4),
		0 6px 16px rgba(0,0,0,.5);
}

.hero-badge::before {
	content: '';
	position: absolute;
	inset: 6px;
	border-radius: 50%;
	border: 1px dashed rgba(255,255,255,.55);
	background:
		repeating-conic-gradient(from 0deg, rgba(255,255,255,.16) 0deg 4deg, transparent 4deg 18deg);
	pointer-events: none;
}

.hero-badge.red {
	background: radial-gradient(circle at 40% 32%, #e0645f, #a02420 60%, #6e1512 100%);
}

.hero-badge.navy {
	background: radial-gradient(circle at 40% 32%, #2c4d85, #132a52 60%, #0a1730 100%);
}

.hero-badge .dots {
	font-size: .65em;
	letter-spacing: .2em;
	color: #e8c477;
	line-height: 1;
	position: relative;
}

.hero-badge .small {
	font-size: .95em;
	letter-spacing: .04em;
	color: #f3d999;
	position: relative;
}

.hero-badge .main {
	font-size: 1.6em;
	line-height: 1.25;
	margin-top: 2px;
	position: relative;
}

#teaser h1.copy2-title {
	font-family: 'Shippori Mincho', 'Noto Serif JP', serif;
	font-size: 3.4em;
	font-weight: 800;
	line-height: 1.35;
	margin-bottom: 18px;
	text-shadow: 0 2px 10px rgba(0,0,0,.6);
}

#teaser .copy2-title .brand {
	display: block;
	font-size: 1.15em;
	margin-top: 6px;
}

#teaser .copy2-sub {
	font-size: 1.35em;
	line-height: 1.8;
	max-width: 640px;
	margin: 0;
	text-shadow: 0 1px 6px rgba(0,0,0,.6);
}

@media (max-width: 767px) {
	#teaser {
		aspect-ratio: 1125 / 1400;
	}
	.hero-badge {
		width: 92px;
		height: 92px;
	}
	.hero-badge .small { font-size: .65em; }
	.hero-badge .main { font-size: 1em; }
	#teaser h1.copy2-title { font-size: 1.6em; }
	#teaser .copy2-sub { font-size: .95em; }
}

.lineup-list .img {
	height: 190px;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

.lineup-list .img img {
	width: auto;
	height: 100%;
	max-width: 100%;
	object-fit: contain;
}

.ph-wine-img {
	background: repeating-linear-gradient(45deg, #e0dacb, #e0dacb 10px, #d3cab5 10px, #d3cab5 20px);
	color: #776b52;
	font-size: .75em;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 140px;
	border-radius: 4px;
}

.lineup-plan-label {
	text-align: center;
	font-size: 1.1em;
	letter-spacing: .15em;
	color: #cb9738;
	font-weight: 600;
	margin: 0 0 20px;
	padding-top: 10px;
	border-top: 1px solid #d8d0c0;
}

.lineup-plan-label:first-of-type {
	border-top: none;
	padding-top: 0;
}

.lineup-plan-label.premium {
	margin-top: 40px;
}

.words-point-text {
	color: #fff;
	font-size: 1.4em;
	font-weight: 600;
	line-height: 1.9;
	text-shadow: 0 1px 4px rgba(0,0,0,.5);
}

@media (max-width: 767px) {
	.words-point-text {
		font-size: 1.05em;
	}
}

.reason-point {
	margin-top: 20px;
}

.reason-point .hero-badges {
	justify-content: center;
	margin-bottom: 20px;
}

.reason-point-text {
	color: #fff;
	font-size: 1.3em;
	font-weight: 600;
	text-shadow: 0 1px 4px rgba(0,0,0,.5);
}

@media (max-width: 767px) {
	.reason-point-text {
		font-size: 1em;
	}
}

/* section-plan — Standard/Premium会員プラン（新規追加分。既存cochedury.cssの下に追記する） */

.section-plan {
	padding: 80px 0;
	background: #fff;
}

.section-plan .section-title {
	color: #cb9738;
	margin-bottom: 20px;
}

.section-plan .section-title h2 {
	font-family: 'Libre Baskerville', serif;
	font-size: 2.8em;
	color: #cb9738;
	font-weight: 400;
}

.section-plan .section-title p {
	color: #555;
	margin-top: 8px;
}

.section-plan .plan-lead {
	max-width: 640px;
	margin: 0 auto 50px;
	font-size: 1.05em;
	line-height: 2;
	color: #333;
}

.plan-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	max-width: 1000px;
	margin: 0 auto;
}

.plan-card {
	flex: 1 1 440px;
	background: #efede1;
	border: 1px solid #d8d0c0;
}

.plan-card.premium {
	background: #2b2622;
	color: #f2ede2;
	border-color: #cb9738;
}

.plan-card-head {
	padding: 34px 36px 26px;
	border-bottom: 1px solid #d8d0c0;
}

.plan-card.premium .plan-card-head {
	border-bottom-color: rgba(228,191,95,.25);
}

.plan-tag {
	font-size: .8em;
	letter-spacing: .15em;
	color: #cb9738;
	margin-bottom: 10px;
}

.plan-name {
	font-family: 'Libre Baskerville', serif;
	font-size: 1.9em;
	font-weight: 400;
	margin-bottom: 16px;
}

.plan-price {
	font-size: 1.5em;
	font-weight: 600;
	color: #333;
}

.plan-card.premium .plan-price {
	color: #e4bf5f;
}

.plan-price small {
	font-size: .5em;
	font-weight: 400;
	margin-left: .3em;
}

.plan-price-sub {
	font-size: .85em;
	color: #777;
	margin-top: 6px;
}

.plan-card.premium .plan-price-sub {
	color: rgba(242,237,226,.6);
}

.plan-card-body {
	padding: 26px 36px 32px;
}

.plan-card-body p {
	margin-bottom: 1.2em;
	line-height: 1.9;
}

.plan-card-body ul {
	list-style: none;
	padding: 0;
	margin: 0 0 1.2em;
}

.plan-card-body ul li {
	padding: 8px 0;
	border-bottom: 1px solid rgba(0,0,0,.08);
	font-size: .95em;
}

.plan-card.premium .plan-card-body ul li {
	border-bottom-color: rgba(255,255,255,.08);
}

.plan-examples {
	margin: 0 0 1.2em;
	padding-top: .8em;
	border-top: 1px dashed rgba(0,0,0,.12);
}

.plan-card.premium .plan-examples {
	border-top-color: rgba(255,255,255,.15);
}

.plan-examples-title {
	font-size: .75em;
	letter-spacing: .1em;
	color: #cb9738;
	margin-bottom: .6em;
}

.plan-examples ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.plan-examples ul li {
	font-size: .88em;
	padding: 4px 0;
	border-bottom: none;
	color: #555;
}

.plan-card.premium .plan-examples ul li {
	color: rgba(242,237,226,.75);
}

.plan-note {
	font-size: .8em;
	color: #888;
	line-height: 1.8;
}

.plan-card.premium .plan-note {
	color: rgba(242,237,226,.55);
}

.plan-compare {
	max-width: 900px;
	margin: 60px auto 0;
}

.plan-compare-table {
	width: 100%;
	border-collapse: collapse;
	font-size: .9em;
}

.plan-compare-table th,
.plan-compare-table td {
	padding: 14px 18px;
	border-bottom: 1px solid #e0dacb;
	text-align: left;
	vertical-align: middle;
}

.plan-compare-table thead th {
	background: #2b2622;
	color: #f2ede2;
	font-weight: 400;
	letter-spacing: .05em;
}

.plan-compare-table thead th.col-standard,
.plan-compare-table thead th.col-premium {
	text-align: center;
	width: 30%;
}

.plan-compare-table thead th.col-premium {
	color: #e4bf5f;
}

.plan-compare-table tbody th {
	background: #efede1;
	font-weight: 400;
	color: #555;
	width: 22%;
	white-space: nowrap;
}

.plan-compare-table td.col-standard,
.plan-compare-table td.col-premium {
	text-align: center;
}

.plan-compare-table td.col-premium {
	background: rgba(228,191,95,.08);
	font-weight: 600;
}

@media (max-width: 767px) {
	.plan-compare-table {
		font-size: .75em;
	}
	.plan-compare-table th,
	.plan-compare-table td {
		padding: 10px 6px;
	}
	.plan-compare-table tbody th {
		width: 15%;
		white-space: normal;
	}
}

.section-plan .plan-foot-note {
	max-width: 700px;
	margin: 40px auto 0;
	font-size: .85em;
	color: #888;
	line-height: 1.9;
	text-align: center;
}

@media (max-width: 767px) {
	.section-plan {
		padding: 40px 0;
	}
	.section-plan .section-title h2 {
		font-size: 2em;
	}
	.plan-card-head,
	.plan-card-body {
		padding-left: 24px;
		padding-right: 24px;
	}
}

/* section-perk — コシュデリ会員限定特典（ATELIER SANMI） */

.section-perk {
	padding: 70px 0;
	background: #efede1;
}

.section-perk .section-title {
	color: #cb9738;
	margin-bottom: 40px;
}

.section-perk .section-title h2 {
	font-family: 'Libre Baskerville', serif;
	font-size: 2.4em;
	color: #cb9738;
	font-weight: 400;
}

.section-perk .section-title p {
	color: #555;
	margin-top: 8px;
}

.perk-box {
	max-width: 780px;
	margin: 0 auto;
	background: #fff;
	border: 1px solid #d8d0c0;
	padding: 50px;
	text-align: center;
}

.perk-box h3 {
	font-size: 1.5em;
	font-weight: 600;
	color: #333;
	margin-bottom: 18px;
}

.perk-lead {
	font-size: .95em;
	line-height: 2;
	color: #555;
	max-width: 560px;
	margin: 0 auto 30px;
}

.perk-photo {
	margin: 0 auto 30px;
	max-width: 520px;
}

.perk-photo img {
	width: 100%;
	display: block;
}

.perk-list {
	list-style: none;
	padding: 0;
	margin: 0 auto 30px;
	max-width: 460px;
	text-align: left;
}

.perk-list li {
	padding: 10px 0 10px 26px;
	border-bottom: 1px solid #eee;
	font-size: .92em;
	color: #333;
	position: relative;
}

.perk-list li:last-child {
	border-bottom: none;
}

.perk-list li::before {
	content: '◆';
	color: #cb9738;
	font-size: .7em;
	position: absolute;
	left: 0;
	top: 14px;
}

.perk-link {
	display: inline-block;
	color: #cb9738;
	text-decoration: underline;
	font-size: .95em;
}

@media (max-width: 767px) {
	.section-perk {
		padding: 40px 0;
	}
	.section-perk .section-title h2 {
		font-size: 1.8em;
	}
	.perk-box {
		padding: 30px 20px;
	}
}
