/* カラフルなPOPINらしさ。写真と本文の下は静かな面で読みやすく。 */
body{background:radial-gradient(circle at 1% 10%,#ffe45435 0 110px,transparent 112px),radial-gradient(circle at 100% 32%,#42d1e522 0 150px,transparent 152px),#fffdfa}
.intro{position:relative;isolation:isolate;padding:38px 20px 32px;margin-bottom:20px;border-radius:0 0 40px 40px;background:linear-gradient(110deg,#fff0f7,#fff9df 60%,#e7faff)}.intro:after{content:'';position:absolute;right:0;top:10px;width:100px;height:100px;border-radius:50%;background:repeating-linear-gradient(135deg,#ffdc40 0 10px,transparent 10px 20px);opacity:.3;z-index:-1}.intro h1{font-weight:800}.intro .eyebrow{color:#bb2b61}
.featured{border:2px solid #f6c4da;background:linear-gradient(130deg,#fff1f8 0,#fff 45%,#effcff 100%);box-shadow:9px 10px 0 #ffdc407a;isolation:isolate;overflow:hidden}.featured:before{content:'';height:12px;position:absolute;inset:0 0 auto;background:url('rainbow.webp') center/cover}.feature-head:after{content:'✦';font-size:35px;color:#ffca17;position:absolute;right:19%;top:55px}.pill.pink{box-shadow:4px 4px 0 #ffdc40;transform:rotate(-2deg)}.model-card{border-bottom:4px solid #ffc3dc}.model-card:nth-child(even){border-bottom-color:#88e5ed}.model-card .card-link{background:linear-gradient(110deg,#ff4d8c,#ef357e)}.section-heading h2:before{content:'●';color:#15bdd2;font-size:18px;margin-right:12px}.special{position:relative;overflow:hidden;border:2px solid #ffd54a;box-shadow:6px 6px 0 #ffdaeb}.special:before{content:'';width:120px;height:18px;background:url('rainbow.webp') center/cover;position:absolute;right:-22px;top:23px;transform:rotate(35deg)}.point{border:1px solid #ffda71;box-shadow:5px 5px 0 #ffedaa}.steps li{border-top:4px solid #46d0e3}.steps li:nth-child(2){border-color:#ff6aa5}.steps li:nth-child(3){border-color:#ffda40}.footer{border-top:6px solid transparent;border-image:linear-gradient(90deg,#ff4b93,#ffdc40,#25c8dc) 1}.session-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:35px;align-items:center}.session-portrait{aspect-ratio:1;object-fit:cover;width:100%;border:5px solid #fff;border-radius:28px;box-shadow:6px 6px 0 #b3edf3}.session-hero p{margin-top:20px;white-space:pre-line}.slot-list{margin:25px 0;background:#f1faff;border-radius:20px;padding:8px 20px}.slot-list>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #d3e9f1;padding:13px 0}.slot-list>div:last-child{border:0}.slot-list dt{font-weight:700;flex-shrink:0}.slot-list dd{margin:0}.profile-prose{margin-top:24px;max-width:850px}.profile-prose p{white-space:pre-line;margin:16px 0;padding:16px 20px;border-radius:14px;background:#faf6fc}.outfit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}.outfit-grid figure{margin:0;background:#fff;border:1px solid #ebe2ef;border-radius:20px;overflow:hidden}.outfit-grid img{width:100%;height:460px;object-fit:contain;background:#f8f4fa}.outfit-grid figcaption{padding:14px;font-size:13px}.model-outfits{margin-top:28px}.booking-agree{display:flex;gap:12px;align-items:center;margin:24px 0}.booking-agree input{width:22px;height:22px;accent-color:#ec4184}.button[aria-disabled=true]{background:#767482;cursor:not-allowed}.page-shutter{position:fixed;inset:0;z-index:9999;pointer-events:none}.page-shutter:before,.page-shutter:after{content:'';position:absolute;left:0;right:0;height:52%;background:#14213b;animation:shutter-close .24s ease-in forwards}.page-shutter:before{top:0;transform:translateY(-102%)}.page-shutter:after{bottom:0;transform:translateY(102%)}@keyframes shutter-close{to{transform:translateY(0)}}[hidden]{display:none!important}
@media(max-width:600px){.intro{padding:28px 16px}.intro:after{width:60px;height:60px}.featured{box-shadow:4px 5px 0 #ffdc407a}.feature-head:after{font-size:22px;right:25%;top:40px}.session-hero{grid-template-columns:1fr;gap:28px}.outfit-grid{gap:12px}.outfit-grid img{height:280px}.outfit-grid figcaption{font-size:12px}.slot-list>div{display:block}.slot-list dd{margin-top:6px}.special{box-shadow:4px 4px 0 #ffdaeb}}
@media(prefers-reduced-motion:reduce){.page-shutter{display:none}}
