/* /photo-shooting/: shared scene shell, front-page Swiper and FAQ. */
.photo-shooting-page .kids-hero-mask-one img { width:310.712px;height:466.012px;left:-2.116px;top:-155.04px;object-fit:fill; }
.photo-shooting-page .kids-hero-photo-two { top:215px; }
.photo-shooting-page .kids-hero-mask-two img { width:329.04px;height:494.56px;left:-25.15px;top:-88.52px;transform:none;object-fit:fill; }
.photo-reason-list { display:flex;flex-direction:column;gap:52px; }
.photo-reason { display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center; }
.photo-reason-collage { position:relative;width:250px;height:157px; }
.photo-reason-collage > img { position:absolute;pointer-events:none; }
.photo-reason-pattern { left:93.11px;top:22px; }
.photo-reason-blur { left:-17.89px;top:2px; }
.photo-reason-left,.photo-reason-right { position:absolute;width:120px;height:120px;overflow:hidden;mask:url('../images/first-time/566cd.svg') no-repeat 0 0 /120px 120px; }
.photo-reason-left { left:0;top:0; }
.photo-reason-left img { position:absolute;left:-2.77px;top:-2.76px;width:125.523px;height:125.523px;object-fit:cover; }
.photo-reason-right { left:129.55px;top:36.93px; }
.photo-reason-right img { position:absolute;left:-34.109px;top:0;width:178.452px;height:119.247px;object-fit:cover; }
.photo-reason-right-1 img { left:-35.67px;top:-49.86px;height:267.65px;object-fit:fill; }
.photo-reason-right-3 img,.photo-reason-right-4 img { object-fit:fill; }
.photo-collage-even { height:160.069px; }
.photo-collage-even .photo-reason-left { top:40.069px; }
.photo-collage-even .photo-reason-right { top:0; }
.photo-reason-heading { position:relative;max-width:100%; }
.photo-reason-heading h3 { position:relative;display:inline-block;padding:2px 4px;color:var(--color-white);background:var(--color-main);font:500 18px/1 var(--font-ja);letter-spacing:.54px; }
.photo-reason-heading > span { position:absolute;left:calc(50% - 150px);top:-32px;transform:rotate(-9.38deg);font:400 34px/1 'Whisper',cursive;letter-spacing:3.06px;color:var(--color-accent-pink-2);white-space:nowrap; }
.photo-reason > p { width:267px;max-width:100%; }
.photo-plans .plan-slider-wrap { margin-top:0;padding-bottom:47px; }
.photo-plans .plan-slider { padding-top:0; }
.photo-plans .plan-img { position:relative;flex:none;width:100%;aspect-ratio:245/141.866;overflow:hidden; }
.photo-plans .plan-img img { position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center; }
.photo-plans .plan-content { display:flex;flex-direction:column;gap:8px;padding:16px 14px;flex:1; }
.photo-plans .plan-title { font:700 20px/1.3 var(--font-ja);margin:0;letter-spacing:0;gap:4px; }
.photo-plans .plan-title img { flex:none; }
.photo-plans .plan-price { display:flex;align-items:center;gap:4px;margin:0;letter-spacing:0; }
.photo-plans .plan-time { display:flex;align-items:center;gap:3px;margin-right:6px;white-space:nowrap;font:400 13px/1 var(--font-num); }
.photo-plans .plan-price-main { font:400 20px/1 var(--font-num);margin:0; }
.photo-plans .plan-price-tax { font:400 12px/1 var(--font-num); }
.photo-plans .plan-desc { margin:0;font:500 14px/1.3 var(--font-ja);letter-spacing:0;flex:1; }
.photo-plans .plan-btn { font:700 16px/1 var(--font-ja); }
.photo-plans .plan-slider-controls { padding:0 24px;bottom:0;gap:16px;justify-content:flex-start; }
.photo-plans .plan-nav { gap:8px; }
.photo-plans .plan-btn-prev,.photo-plans .plan-btn-next { width:27px;height:27px;background:transparent;border:0;padding:0;box-shadow:none; }
.photo-plans .plan-btn-prev { transform:rotate(180deg) scaleY(-1); }
.photo-plans .plan-btn-prev:hover,.photo-plans .plan-btn-next:hover { opacity:.7; }
.photo-plans .plan-pagination { width:auto;display:flex;align-items:center;gap:8px; }
.photo-plans .swiper-pagination-bullet { width:16px;height:5px;border-radius:6px;margin:0!important;background:var(--color-accent-beige);opacity:1; }
.photo-plans .swiper-pagination-bullet-active { background:var(--color-accent-pink-2); }
.photo-inclusions,.photo-bonus { position:relative;display:flex;flex-direction:column;gap:12px;width:100%;border-radius:12px; }
.photo-inclusions { padding:28px 24px;border:4px solid var(--color-main);background:var(--color-white); }
.photo-inclusions h3 { display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--color-main);font:700 24px/1.3 var(--font-ja); }
.photo-info-decoration { position:absolute;right:9px;top:9px;pointer-events:none; }
.photo-bonus { margin-top:4px;padding:24px 20px;background:var(--color-main);color:var(--color-white);text-align:center; }
.photo-bonus h3 { color:var(--color-white);font:700 24px/1.3 var(--font-ja); }
.photo-shooting-page .photo-bonus p { color:var(--color-white);font-size:16px;line-height:1.3; }
.photo-bonus .photo-info-decoration { right:13px;top:13px; }
.photo-spot { padding:24px;display:flex;flex-direction:column;gap:12px;border:1px solid var(--color-accent-beige); }
.photo-spot-image { width:100%;height:auto;aspect-ratio:322/219;object-fit:cover;border-radius:12px; }
.photo-spot-caption { display:flex;align-items:center;gap:8px; }
.photo-spot-caption h3 { padding:2px 4px;background:var(--color-main);color:var(--color-white);font:500 18px/1 var(--font-ja);letter-spacing:.54px; }
.photo-spot-caption > span { color:var(--color-main);font-size:12px;line-height:1; }
.photo-tips { display:flex;flex-direction:column;gap:8px;padding:16px;border-left:3px solid var(--color-accent-beige);background:var(--color-white); }
.photo-tips h4 { display:flex;align-items:center;gap:4px;font:700 16px/1 var(--font-ja); }
.photo-tips h4 img { flex:none; }
.photo-tips p { font-size:14px;line-height:1.5;letter-spacing:.42px; }
.photo-scene { display:flex;flex-direction:column;gap:8px;padding:16px 20px;border-left:3px solid var(--color-accent-pink-2);background:var(--color-white); }
.photo-scene:nth-of-type(even) { border-left-color:var(--color-accent-beige); }
.photo-scene h3 { display:flex;align-items:center;gap:6px;font:700 16px/1.2 var(--font-ja); }
.photo-scene h3 img { flex:none; }
.photo-scene > div { display:flex;flex-wrap:wrap;gap:8px; }
.photo-scene > div > span { padding:4px 8px;border-radius:999px;background:var(--color-accent-pink-2);font-size:14px;line-height:1; }
@media(max-width:389px) {
 .photo-reason-heading h3 { font-size:16px;line-height:1.3; }
 .photo-reason-heading > span { left:calc(50% - 125px); }
 .photo-spot { padding:16px; }
 .photo-scene { padding:16px 12px; }
 .photo-inclusions { padding:28px 16px; }
 .photo-bonus h3 { font-size:22px; }
}
