.koma-entry-apple-photo,
.koma-entry-apple-photo * {
	box-sizing: border-box;
}

.koma-entry-apple-photo {
	--white: #f5f5f7;
	--pure-white: #fff;
	--silver: #d2d2d7;
	--gray: #6e6e73;
	--dark: #1d1d1f;
	--black: #000;
	--navy: #1d2a44;
	--coral: #e66a5b;
	--coral-light: #f1968b;
	--coral-deep: #c74c40;

	position: relative;
	width: 100%;
	padding: clamp(58px, 7vw, 94px) 0;
	overflow: hidden;
	color: var(--dark);
	background: var(--white);
	font-family:
		-apple-system,
		BlinkMacSystemFont,
		"Helvetica Neue",
		"Hiragino Sans",
		"Yu Gothic",
		Meiryo,
		sans-serif;
	-webkit-font-smoothing: antialiased;
	isolation: isolate;
}

.koma-entry-apple-photo a {
	color: inherit;
	text-decoration: none;
}

.koma-entry-apple-photo__ambient {
	position: absolute;
	inset: 0;
	z-index: -2;
	overflow: hidden;
}

.koma-entry-apple-photo__ambient::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(245,245,247,.83), rgba(245,245,247,.94));
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}

.koma-entry-apple-photo__ambient-image {
	position: absolute;
	top: -9%;
	width: 46%;
	height: 118%;
	background-size: cover;
	background-position: center;
	filter: saturate(.72);
	opacity: .18;
}

.koma-entry-apple-photo__ambient-image--left {
	left: -7%;
	transform: rotate(-5deg) scale(1.08);
}

.koma-entry-apple-photo__ambient-image--right {
	right: -7%;
	transform: rotate(5deg) scale(1.08);
}

.koma-entry-apple-photo__inner {
	width: min(1180px, calc(100% - 32px));
	margin: 0 auto;
}

.koma-entry-apple-photo__header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 24px;
	align-items: end;
	margin-bottom: 30px;
}

.koma-entry-apple-photo__eyebrow {
	margin: 0 0 12px;
	color: var(--coral-deep);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
}

.koma-entry-apple-photo__header h2 {
	margin: 0;
	color: var(--dark);
	font-size: clamp(129px, 16.5vw, 228px) !important;
	font-weight: 700;
	line-height: .98;
	letter-spacing: -.062em;
}

.koma-entry-apple-photo__lead {
	max-width: 260px;
	margin: 0 0 10px;
	color: var(--gray);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.45;
	letter-spacing: -.01em;
	text-align: right;
}

.koma-entry-apple-photo__cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}

.koma-entry-photo-card {
	position: relative;
	min-height: 500px;
	overflow: hidden;
	border-radius: 30px;
	box-shadow: 0 18px 46px rgba(29,29,31,.14), 0 1px 2px rgba(29,29,31,.06);
	isolation: isolate;
	transition: transform .24s ease, box-shadow .24s ease;
}

.koma-entry-photo-card:hover,
.koma-entry-photo-card:focus-within {
	transform: translateY(-5px);
	box-shadow: 0 25px 58px rgba(29,29,31,.19), 0 2px 4px rgba(29,29,31,.07);
}

.koma-entry-photo-card__background {
	position: absolute;
	inset: 0;
	z-index: -3;
	background-repeat: no-repeat;
}

.koma-entry-photo-card__shade {
	position: absolute;
	inset: 0;
	z-index: -2;
}

.koma-entry-photo-card__copy {
	position: relative;
	z-index: 2;
	max-width: 70%;
	padding: 38px 38px 34px;
}

.koma-entry-photo-card__label {
	display: inline-flex;
	align-items: center;
	margin: 0 0 16px;
	padding: 8px 14px;
	border-radius: 999px;
	color: var(--coral-deep);
	background: rgba(255, 111, 87, .10);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1;
}

.koma-entry-photo-card--brand {
	color: #fff;
	background: var(--dark);
}

.koma-entry-photo-card--brand .koma-entry-photo-card__label {
	color: var(--coral-light);
	background: rgba(255, 146, 128, .10);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.koma-entry-photo-card h3 {
	margin: 0;
	font-size: clamp(108px, 10.8vw, 162px) !important;
	font-weight: 700;
	line-height: 1.02;
	letter-spacing: -.045em;
}

.koma-entry-photo-card__message {
	margin: 17px 0 0;
	color: var(--gray);
	font-size: clamp(14px, 1.35vw, 17px);
	line-height: 1.67;
}

.koma-entry-photo-card--brand .koma-entry-photo-card__message {
	color: rgba(255,255,255,.75);
}

.koma-entry-photo-card__link {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-top: 22px;
	font-size: 15px;
	font-weight: 650;
}

.koma-entry-photo-card--beginner .koma-entry-photo-card__link {
	padding: 10px 14px;
	border-radius: 999px;
	color: #fff;
	background: rgba(7, 20, 45, .72);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	box-shadow: 0 8px 24px rgba(7, 20, 45, .16);
}

.koma-entry-photo-card--brand .koma-entry-photo-card__link {
	color: #fff;
}

.koma-entry-photo-card__link > span {
	display: grid;
	width: 28px;
	height: 28px;
	place-items: center;
	border-radius: 50%;
	color: #fff;
	background: var(--navy);
	font-size: 19px;
	transition: transform .2s ease;
}

.koma-entry-photo-card--beginner .koma-entry-photo-card__link > span {
	background: rgba(255,255,255,.18);
	border: 1px solid rgba(255,255,255,.16);
}

.koma-entry-photo-card--brand .koma-entry-photo-card__link > span {
	background: var(--coral);
}

.koma-entry-photo-card:hover .koma-entry-photo-card__link > span {
	transform: translateX(4px);
}

.koma-entry-photo-card__cover {
	position: absolute;
	inset: 0;
	z-index: 5;
	border-radius: inherit;
}

.koma-entry-photo-card__cover:focus-visible {
	outline: 4px solid var(--coral);
	outline-offset: -6px;
}

/* 左側：元の女の子動画をそのまま使用 */
.koma-entry-photo-card--beginner {
	background: #fff;
}

.koma-entry-photo-card--beginner .koma-entry-photo-card__copy {
	z-index: 3;
	max-width: 100%;
	min-height: 286px;
	padding-bottom: 28px;
}

.koma-entry-photo-card__video {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
	height: 46%;
	overflow: hidden;
	background: #111;
}

.koma-entry-photo-card__video video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.koma-entry-photo-card__video-fade {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(180deg, #fff 0%, rgba(255,255,255,.96) 6%, rgba(255,255,255,.34) 24%, transparent 48%);
}

.koma-entry-photo-card__video-badge {
	position: absolute;
	right: 16px;
	bottom: 16px;
	z-index: 2;
	padding: 7px 11px;
	border-radius: 999px;
	color: #1d1d1f;
	background: rgba(255,255,255,.90);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .02em;
}

.koma-entry-photo-card__brand-video {
	position: absolute;
	inset: 0;
	z-index: -3;
	overflow: hidden;
	background: #000;
}

.koma-entry-photo-card__brand-video video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 72% center;
	filter: saturate(.82) brightness(.72);
}

/* 右側：15秒動画を背景に使うブランドカード */
.koma-entry-photo-card--video-brand .koma-entry-photo-card__shade {
	background:
		linear-gradient(90deg, rgba(0,0,0,.98) 0%, rgba(8,8,10,.95) 36%, rgba(15,18,28,.74) 63%, rgba(15,18,28,.24) 100%),
		linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.18) 55%, rgba(0,0,0,.62) 100%);
}

.koma-entry-photo-card--video-brand .koma-entry-photo-card__copy {
	max-width: 68%;
}

@media (max-width: 820px) {
	.koma-entry-apple-photo__header {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.koma-entry-apple-photo__lead {
		max-width: 620px;
		margin: 0;
		font-size: 14px;
		text-align: left;
	}

	.koma-entry-apple-photo__cards {
		display: flex;
		width: calc(100% + 16px);
		gap: 14px;
		margin-right: -16px;
		padding: 0 16px 18px 0;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}

	.koma-entry-photo-card {
		flex: 0 0 min(86vw, 520px);
		min-height: 470px;
		scroll-snap-align: start;
	}

	.koma-entry-photo-card--beginner .koma-entry-photo-card__copy {
		min-height: 274px;
	}

	.koma-entry-photo-card__video {
		height: 44%;
	}

	.koma-entry-photo-card__brand-video video {
		object-position: 68% center;
	}

	.koma-entry-photo-card--video-brand .koma-entry-photo-card__copy {
		max-width: 74%;
	}
}

@media (max-width: 520px) {
	.koma-entry-apple-photo {
		padding: 45px 0 54px;
	}

	.koma-entry-apple-photo__inner {
		width: min(100% - 20px, 1180px);
	}

	.koma-entry-apple-photo__header h2 {
		font-size: 108px !important;
		line-height: .98;
	}

	.koma-entry-photo-card {
		flex-basis: 86vw;
		min-height: 440px;
		border-radius: 24px;
	}

	.koma-entry-photo-card__copy {
		padding: 28px 24px 24px;
	}

	.koma-entry-photo-card__label {
		font-size: 14px;
		padding: 7px 12px;
	}

	.koma-entry-photo-card--beginner .koma-entry-photo-card__link {
		padding: 9px 12px;
	}

	.koma-entry-photo-card h3 {
		font-size: 87px !important;
		line-height: 1.0;
	}

	.koma-entry-photo-card--beginner .koma-entry-photo-card__copy {
		min-height: 264px;
		padding-bottom: 20px;
	}

	.koma-entry-photo-card__video {
		height: 43%;
	}

	.koma-entry-photo-card__video-badge {
		right: 11px;
		bottom: 11px;
		font-size: 10px;
	}

	.koma-entry-photo-card__brand-video video {
		object-position: 64% center !important;
	}

	.koma-entry-photo-card--video-brand .koma-entry-photo-card__shade {
		background: linear-gradient(180deg, rgba(0,0,0,.99) 0%, rgba(20,20,24,.94) 48%, rgba(20,23,31,.52) 72%, rgba(0,0,0,.38) 100%);
	}

	.koma-entry-photo-card--video-brand .koma-entry-photo-card__copy {
		max-width: 90%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.koma-entry-photo-card,
	.koma-entry-photo-card__link > span {
		transition: none;
	}

	.koma-entry-photo-card:hover,
	.koma-entry-photo-card:focus-within {
		transform: none;
	}
}


/* v1.7 タイトルをさらに1.5倍へ強調 */
.koma-entry-apple-photo__header h2 {
	font-size: clamp(129px, 16.5vw, 228px) !important;
	line-height: .94 !important;
	letter-spacing: -.07em !important;
}

.koma-entry-photo-card h3 {
	font-size: clamp(108px, 10.8vw, 162px) !important;
	line-height: .96 !important;
	letter-spacing: -.065em !important;
}

@media (max-width: 820px) {
	.koma-entry-apple-photo__header h2 {
		font-size: 108px !important;
		line-height: .95 !important;
	}

	.koma-entry-photo-card h3 {
		font-size: 87px !important;
		line-height: .98 !important;
	}
}

@media (max-width: 520px) {
	.koma-entry-apple-photo__header h2 {
		font-size: 64px !important;
		line-height: .96 !important;
	}

	.koma-entry-photo-card h3 {
		font-size: 48px !important;
		line-height: 1.02 !important;
	}
}


/* =========================================================
   v1.8 タイトルサイズ調整
   v1.7の40％へ縮小
   ========================================================= */
.koma-entry-apple-photo__header h2 {
	font-size: clamp(52px, 6.6vw, 91px) !important;
	line-height: 1.00 !important;
	letter-spacing: -.055em !important;
}

.koma-entry-photo-card h3 {
	font-size: clamp(43px, 4.32vw, 65px) !important;
	line-height: 1.03 !important;
	letter-spacing: -.048em !important;
}

@media (max-width: 820px) {
	.koma-entry-apple-photo__header h2 {
		font-size: 43px !important;
		line-height: 1.00 !important;
	}

	.koma-entry-photo-card h3 {
		font-size: 35px !important;
		line-height: 1.04 !important;
	}
}

@media (max-width: 520px) {
	.koma-entry-apple-photo__header h2 {
		font-size: 43px !important;
		line-height: 1.00 !important;
	}

	.koma-entry-photo-card h3 {
		font-size: 35px !important;
		line-height: 1.04 !important;
	}
}


/* =========================================================
   v1.9 右カードタイトルの改行固定
   PC・タブレット・スマートフォン共通
   ========================================================= */
.koma-entry-photo-card__fixed-title > span {
	display: block !important;
	white-space: nowrap !important;
}

.koma-entry-photo-card--video-brand .koma-entry-photo-card__copy {
	max-width: 82% !important;
}

@media (max-width: 820px) {
	.koma-entry-photo-card--video-brand .koma-entry-photo-card__copy {
		max-width: 90% !important;
	}
}

@media (max-width: 520px) {
	.koma-entry-photo-card--video-brand .koma-entry-photo-card__copy {
		max-width: 94% !important;
	}

	.koma-entry-photo-card__fixed-title > span {
		white-space: nowrap !important;
	}
}
