@charset "utf-8";

/* =========================================================
   写真入りメッセージカード LP（PC）
   Figma: PC_写真入りカードLP (1:187 / 1920x7744)
   見出しフォントは FOT-TsukuGo Pro（Morisawa 商用）を Noto Sans JP で代替
   ========================================================= */

#idPhotoMessagecard {
	--pmc-ink: #1a1a1a;
	--pmc-sub: #000000; /* 修正(92:1000): 本文グレー#555→黒 */
	--pmc-bg: #f4f1ec;
	--pmc-white: #ffffff;
	--pmc-accent: #000000;
	--pmc-content: 1060px;

	font-family: 'Noto Sans JP', sans-serif;
	color: var(--pmc-ink);
	background: var(--pmc-bg);
	line-height: 1.8;
	-webkit-font-smoothing: antialiased;
}

#idPhotoMessagecard * {
	box-sizing: border-box;
}

#idPhotoMessagecard img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* セクション共通：中央寄せコンテンツ幅 */
.pmc__inner,
.pmc-hero__inner {
	width: var(--pmc-content);
	max-width: calc(100% - 80px);
	margin-inline: auto;
}

/* 見出し共通 */
.pmc-heading {
	text-align: center;
	font-size: 25px; /* 修正(92:923): 各セクション見出し 30→25px */
	font-weight: 500;
	letter-spacing: 0.06em;
	line-height: 1.5;
}

/* 主要ボタン（黒ピル + 右シェブロン） */
.pmc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-width: 326px;
	height: 56px;
	padding: 0 28px;
	background: var(--pmc-accent);
	color: #fff;
	border-radius: 50px;
	font-weight: 700;
	font-size: 17px;
	letter-spacing: 0.08em;
	text-decoration: none;
	transition: opacity .2s ease;
}

.pmc-btn::after {
	content: "";
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}

/* 修正(91:9): ホバーで文字が黒くなり読めなくなる不具合を防止（グレーアウト＋白文字維持） */
#idPhotoMessagecard .pmc-btn:hover {
	background: #333;
	opacity: 1;
}

#idPhotoMessagecard .pmc-btn:hover,
#idPhotoMessagecard .pmc-btn:focus,
#idPhotoMessagecard .pmc-btn:hover span,
#idPhotoMessagecard .pmc-btn:focus span {
	color: #fff;
}

#idPhotoMessagecard .pmc-btn--invert:hover {
	background: #f2f2f2;
}

#idPhotoMessagecard .pmc-btn--invert:hover,
#idPhotoMessagecard .pmc-btn--invert:hover span {
	color: #000;
}

/* 小さいボタン（ヘッダー用） */
.pmc-btn--sm {
	min-width: 0;
	height: 34px; /* 修正: 白背景に収まるよう小さく */
	padding: 0 18px;
	font-size: 13px;
	gap: 8px;
}

.pmc-btn--sm::after {
	width: 6px;
	height: 6px;
}

/* ============ 00. ヘッダー（CTAのみ・右寄せ） ============
   初期CTAは JS で本物のパンくず行へ移動し、このヘッダー帯は display:none にする。
   JSが効かない環境向けのフォールバックとして白帯＋右寄せを残す。 */
.pmc-topbar {
	background: #ffffff;
	border-bottom: 1px solid #eee;
}

.pmc-topbar__inner {
	width: var(--pmc-content);
	max-width: calc(100% - 80px);
	margin-inline: auto;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: flex-end; /* CTAを右寄せ */
}

/* 初期CTA：JSで本物のパンくず（.breadcrumb）行へ移動し、右端に配置（左のパンくずと左右対称） */
.breadcrumb.pmc-has-cta {
	position: relative;
}

.breadcrumb.pmc-has-cta .pmc-btn {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	margin: 0;
	background: #000000; /* #idPhotoMessagecard 外で CSS変数(--pmc-accent)が効かないため明示 */
	color: #fff;
}

/* パンくず内に移動したボタンのホバー（#idPhotoMessagecard スコープ外になるため再指定） */
.breadcrumb.pmc-has-cta .pmc-btn:hover { background: #333; opacity: 1; }
.breadcrumb.pmc-has-cta .pmc-btn:hover,
.breadcrumb.pmc-has-cta .pmc-btn:hover span { color: #fff; }

.pmc-topbar__logo img {
	width: 130px;
	height: auto;
	display: block;
}

/* ============ 01. ヒーロー ============ */
.pmc-hero {
	background: var(--pmc-white);
	padding: 64px 0;
}

.pmc-hero__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 56px;
}

.pmc-hero__photo img {
	width: 100%;
	border-radius: 4px;
}

.pmc-hero__badge {
	display: inline-block;
	font-size: 11px;
	letter-spacing: 0.04em;
	color: var(--pmc-sub);
	margin-bottom: 20px;
}

.pmc-hero__title {
	font-size: 27px; /* 修正(92:918): ヒーロー見出し 34→27px */
	font-weight: 500;
	letter-spacing: 0.06em;
	line-height: 1.5;
	margin: 0 0 24px;
}

.pmc-hero__lead {
	font-size: 14px;
	line-height: 2;
	color: var(--pmc-ink);
	margin: 0 0 32px;
}

/* ============ 02. こんな想い、ありませんか？ ============ */
.pmc-worry {
	background: #f7f7f7;
	padding: 72px 0 80px;
}

.pmc-worry__list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 32px;
	margin: 48px 0 0;
	padding: 0;
	list-style: none;
}

.pmc-worry__item {
	text-align: center;
}

.pmc-worry__icon {
	width: 96px;
	margin: 0 auto 20px;
}

.pmc-worry__text {
	font-size: 14px;
	line-height: 1.9;
	margin: 0;
}

.pmc-worry__bridge {
	text-align: center;
	font-size: 24px;
	font-weight: 500;
	letter-spacing: 0.04em;
	margin: 52px 0 0;
}

/* ============ 03. 解決（HYACCAの写真入りメッセージカードなら） ============ */
.pmc-solve {
	background: var(--pmc-white);
	padding: 72px 0 80px;
}

.pmc-solve__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 56px;
	margin-top: 48px;
}

.pmc-solve__lead {
	font-size: 19px;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: 0.04em;
	margin: 0 0 20px;
}

.pmc-solve__desc {
	font-size: 13px;
	line-height: 2;
	color: var(--pmc-sub);
	margin: 0;
}

.pmc-solve__visual img {
	width: 100%;
	border-radius: 6px;
}

/* ============ 04. 選ばれる、3つの理由 ============ */
.pmc-reason {
	background: #f7f7f7;
	padding: 72px 0 80px;
}

.pmc-reason__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 48px;
	margin: 52px 0 0;
	padding: 0;
	list-style: none;
}

.pmc-reason__item {
	text-align: center;
}

.pmc-reason__icon {
	width: 92px;
	margin: 0 auto 22px;
}

.pmc-reason__title {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.03em;
	margin: 0 0 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid #000000; /* 修正(92:1003): 区切り線 →黒 */
}

.pmc-reason__text {
	font-size: 13px;
	line-height: 2;
	color: var(--pmc-sub);
	text-align: left;
	margin: 0;
}

/* ============ 11. よくある質問 ============ */
.pmc-faq {
	background: var(--pmc-white);
	padding: 72px 0 88px;
}

.pmc__inner--narrow {
	width: 1060px;
}

.pmc-faq__list {
	margin: 44px 0 0;
}

.pmc-faq__item {
	margin-bottom: 20px;
}

.pmc-faq__item:last-child {
	margin-bottom: 0;
}

.pmc-faq__q,
.pmc-faq__a {
	display: flex;
	gap: 12px;
	margin: 0;
}

.pmc-faq__q {
	background: #f2f2f2;
	padding: 18px 24px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.6;
}

.pmc-faq__a {
	padding: 18px 24px;
	font-size: 13px;
	line-height: 1.9;
	color: var(--pmc-sub);
}

.pmc-faq__q span,
.pmc-faq__a span {
	flex: none;
	width: 24px;
	font-weight: 700;
	font-style: italic;
}

.pmc-faq__a span {
	color: #999;
}

/* ============ 共通：サブ見出し / 反転ボタン ============ */
.pmc-subheading {
	text-align: center;
	font-size: 14px;
	line-height: 1.9;
	color: var(--pmc-sub);
	margin: 16px 0 0;
}

.pmc-btn--invert {
	background: #fff;
	color: #000;
}

.pmc-btn--invert::after {
	border-color: #000;
}

/* ============ 05. スマホだけで、かんたんに注文 ============ */
.pmc-easy {
	background: var(--pmc-white);
	padding: 72px 0 80px;
}

.pmc-easy__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 56px;
}

.pmc-easy__visual img {
	width: 100%;
	border-radius: 6px;
}

.pmc-easy__title {
	font-size: 25px; /* 修正(92:923): 見出し →25px */
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.04em;
	margin: 0 0 24px;
}

.pmc-easy__points {
	list-style: none;
	margin: 0 0 32px;
	padding: 0;
}

.pmc-easy__points li {
	position: relative;
	padding-left: 26px;
	font-size: 14px;
	line-height: 1.7;
	margin-bottom: 14px;
}

.pmc-easy__points li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 6px;
	width: 14px;
	height: 8px;
	border-left: 2px solid #1a1a1a;
	border-bottom: 2px solid #1a1a1a;
	transform: rotate(-45deg);
}

/* ============ タブ共通（06 / 07） ============ */
.pmc-tabs {
	margin-top: 40px;
}

.pmc-tabs__nav {
	display: flex;
	justify-content: center;
	gap: 0;
	margin-bottom: 40px;
}

.pmc-tabs__btn {
	min-width: 190px;
	padding: 13px 24px;
	font-size: 15px;
	font-weight: 500;
	color: var(--pmc-sub);
	background: #ececec;
	border: none;
	cursor: pointer;
	transition: background .2s, color .2s;
}

.pmc-tabs__btn:first-child { border-radius: 4px 0 0 4px; }
.pmc-tabs__btn:last-child  { border-radius: 0 4px 4px 0; }

.pmc-tabs__btn.is-active {
	background: var(--pmc-accent);
	color: #fff;
}

.pmc-tabs__panel {
	display: none;
}

.pmc-tabs__panel.is-active {
	display: block;
}

/* ============ 06. カードに入れられる内容 ============ */
.pmc-content {
	background: #f7f7f7;
	padding: 72px 0 80px;
}

.pmc-content__row {
	display: grid;
	grid-template-columns: 0.85fr 1.15fr;
	align-items: center;
	gap: 56px;
}

.pmc-content__card .pmc-tabs__panel img {
	display: block;
	width: 100%;
	max-width: 360px;
	margin: 0 auto;
}

.pmc-content__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 5px;
	background: #f7f7f7; /* 修正: 罫線をセクション背景色と同色に */
	border: 2px solid #f7f7f7; /* 修正: 枠線も背景色と同色に */
	list-style: none;
	margin: 0;
	padding: 0;
}

.pmc-content__grid li {
	background: var(--pmc-white);
	padding: 40px 22px;
	text-align: center;
}

/* 結婚内祝いタブ（3項目）: 3つ目を全幅にして空セルを出さない */
.pmc-content__grid--three li:last-child {
	grid-column: 1 / -1;
}

.pmc-content__num {
	display: block;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.pmc-content__name {
	font-size: 18px;
	font-weight: 600;
	margin: 8px 0 14px;
}

.pmc-content__desc {
	font-size: 13px;
	line-height: 1.9;
	color: var(--pmc-sub);
	margin: 0;
}

/* ============ 07. 6つのデザインから選べます ============ */
.pmc-design {
	background: var(--pmc-white);
	padding: 72px 0 80px;
}

.pmc-design__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.pmc-design__grid li {
	text-align: center;
}

.pmc-design__grid img {
	width: 100%;
	border-radius: 4px;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .08);
	margin-bottom: 16px;
}

.pmc-design__grid span {
	font-size: 13px;
	letter-spacing: 0.03em;
}

/* ============ 08. さまざまなギフトシーンに ============ */
.pmc-scene {
	background: #f7f7f7;
	padding: 72px 0 80px;
}

.pmc-scene__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px 56px;
	list-style: none;
	margin: 52px 0 0;
	padding: 0;
}

.pmc-scene__item img {
	width: 100%;
	border-radius: 6px;
	margin-bottom: 18px;
}

.pmc-scene__caption {
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0.03em;
	margin: 0 0 10px;
	padding-bottom: 12px;
	border-bottom: 1px solid #000000; /* 修正(92:1003): 区切り線 →黒 */
}

.pmc-scene__text {
	font-size: 13px;
	line-height: 2;
	color: var(--pmc-sub);
	margin: 0;
}

/* ============ 09. ご利用はかんたん ============ */
.pmc-step {
	background: var(--pmc-white);
	padding: 72px 0 80px;
}

.pmc-step__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 28px;
	list-style: none;
	margin: 52px 0 0;
	padding: 0;
	counter-reset: none;
}

.pmc-step__item {
	display: flex; /* 修正: アイコンを先頭に並べ替えるため */
	flex-direction: column;
	align-items: center;
	background: #f5f5f5; /* 修正: カード背景にグレーの色ベタ */
	border-radius: 8px;
	padding: 32px 20px 28px;
	text-align: center;
}

.pmc-step__num {
	display: block;
	font-size: 20px; /* 修正(92:938): 数字 →20px */
	font-weight: 700;
	letter-spacing: 0.1em;
	color: #b0a99f;
	margin-bottom: 10px;
}

.pmc-step__icon {
	order: -1; /* 修正: アイコン（白丸）を最上部に */
	width: 100px; /* 修正(92:940): アイコン →100px */
	margin: 0 auto 18px;
}

.pmc-step__title {
	font-size: 20px; /* 修正(92:938): 見出し →20px */
	font-weight: 500;
	margin: 0 0 10px;
}

.pmc-step__text {
	font-size: 14px; /* 修正(92:939): 説明 →14px */
	line-height: 1.8;
	color: var(--pmc-sub);
	margin: 0;
}

/* ============ 10. 対象商品を選べます ============ */
.pmc-products {
	background: #f7f7f7;
	padding: 72px 0 80px;
}

.pmc-products__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 28px;
	list-style: none;
	margin: 48px 0 0;
	padding: 0;
}

.pmc-products__item {
	text-align: center;
}

.pmc-products__item img {
	width: 100%;
	border-radius: 4px;
	margin-bottom: 14px;
}

.pmc-products__name {
	font-size: 12px;
	line-height: 1.7;
	text-align: left;
	color: var(--pmc-ink);
	margin: 0;
}

.pmc-products__note {
	font-size: 12px;
	line-height: 1.9;
	color: var(--pmc-sub);
	text-align: center;
	margin: 36px 0 0;
}

.pmc-products__cta {
	text-align: center;
	margin-top: 36px;
}
