:root{
  --bk:#060508;
  --pink:#ee86bd;
  --pink-l:#f8c6df;
  --lav:#b79af0;
  --glass:rgba(255,255,255,.06);
  --line:rgba(255,255,255,.13);
  --txt:#efeae6;
  --mute:rgba(239,234,230,.64);
  --grad:linear-gradient(90deg,#d173ae,#a98be0);
  --en:"Inria Serif",serif;
  --jp:"Noto Serif JP",serif;
  --soft:"Zen Maru Gothic",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--bk)}
body{position:relative;color:var(--txt);font-family:var(--jp);font-weight:400;font-size:14px;line-height:2;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(46vw 46vw at 88% 8%,rgba(238,134,189,.16),transparent 70%),
  radial-gradient(50vw 50vw at 6% 48%,rgba(183,154,240,.11),transparent 70%),
  radial-gradient(46vw 46vw at 92% 88%,rgba(238,134,189,.11),transparent 70%),var(--bk)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
.inner{max-width:1080px;margin:0 auto;padding:0 20px}

/* ===== header ===== */
#header{position:fixed;top:0;left:0;right:0;z-index:60;transition:background .4s}
#header.header_bg{background:rgba(6,5,8,.85);backdrop-filter:blur(10px)}
.header_wrap{display:flex;align-items:center;justify-content:space-between;max-width:1280px;margin:0 auto;padding:12px 20px}
.h1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.logo a{display:block;font-family:var(--jp);font-weight:300;font-size:23px;letter-spacing:.08em;line-height:1.2;color:#fff}
.logo a b{font-family:var(--en);color:var(--pink-l);font-weight:300}
.logo a small{display:block;font-family:var(--en);font-size:9px;letter-spacing:.28em;color:var(--mute)}
.nav{display:none}
.nav a{display:block;text-align:center;font-family:var(--en);font-size:15px;letter-spacing:.08em;line-height:1.35;color:#fff;transition:.3s}
.nav a span{display:block;font-family:var(--jp);font-weight:300;font-size:10px;letter-spacing:.05em;color:var(--mute)}
.nav a:hover{color:var(--pink-l)}
.btn_open{width:38px;height:24px;position:relative;cursor:pointer;z-index:70}
.btn_open span{position:absolute;right:0;height:1px;background:#fff;transition:.35s}
.btn_open span:nth-child(1){top:6px;width:38px}
.btn_open span:nth-child(2){top:16px;width:26px}
.btn_open.active span:nth-child(1){top:11px;transform:rotate(25deg);width:34px}
.btn_open.active span:nth-child(2){top:11px;transform:rotate(-25deg);width:34px}
.breadcrumbs{max-width:1280px;margin:0 auto;padding:0 20px;font-size:10px;letter-spacing:.1em;color:var(--mute);display:none}
.nav_wrap{position:fixed;inset:0;background:rgba(8,6,10,.97);z-index:55;opacity:0;visibility:hidden;transition:.4s;overflow:auto;padding:90px 30px 40px}
.nav_wrap.show{opacity:1;visibility:visible}
.nav_wrap li a{display:flex;justify-content:space-between;align-items:baseline;padding:13px 4px;border-bottom:1px solid var(--line);font-family:var(--en);font-size:19px;letter-spacing:.1em;color:#fff}
.nav_wrap li a span{font-family:var(--jp);font-weight:300;font-size:12px;color:var(--mute)}
.nav_wrap .tel{margin-top:30px;text-align:center}
.nav_wrap .tel a{font-family:var(--en);font-size:30px;letter-spacing:.06em;color:var(--pink-l)}
.nav_wrap .tel a span{font-size:12px;margin-right:10px;color:var(--mute)}
.nav_wrap .open{text-align:center;font-size:13px;color:var(--mute)}
.nav_wrap .open span{color:var(--pink);margin-right:8px;font-family:var(--en);letter-spacing:.15em}
@media(min-width:1100px){.nav{display:flex;gap:22px}.btn_open{display:none}.breadcrumbs{display:block}}

/* ===== main visual ===== */
#section_main{position:relative;min-height:100vh;min-height:100svh;overflow:hidden}
.main_bg{position:absolute;inset:0;background:
  radial-gradient(circle at 50% 44%,rgba(238,134,189,.2),transparent 52%),
  radial-gradient(circle at 12% 90%,rgba(183,154,240,.14),transparent 45%)}
#mainvisual{position:absolute;inset:0}
#mainvisual .mv_img{position:absolute;inset:0}
#mainvisual .mv_img img{width:100%;height:100%;object-fit:cover;object-position:62% center;opacity:.55}
#mainvisual .mv_img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,5,8,.55),rgba(6,5,8,.1) 40%,rgba(6,5,8,.85))}
/* ↓ メイン背景写真を入れる場合： .mv_img に background:url(images/mainvisual.jpg) center/cover */
.mv_logo{position:absolute;left:50%;top:44%;width:min(96vw,980px);transform:translate(-50%,-50%);mix-blend-mode:screen;animation:blurIn 2.4s .3s both;pointer-events:none}
.mv_logo img{width:100%;height:auto}
.spark{position:absolute;color:#fff;pointer-events:none;text-shadow:0 0 8px var(--pink);animation:tw 3.6s ease-in-out infinite}
.spark.s1{top:20%;left:12%;font-size:14px}
.spark.s2{top:30%;right:14%;font-size:10px;animation-delay:1s}
.spark.s3{top:62%;left:20%;font-size:11px;animation-delay:1.8s}
.spark.s4{top:68%;right:22%;font-size:15px;animation-delay:.6s}
.spark.s5{top:14%;left:56%;font-size:9px;animation-delay:2.3s}
@keyframes tw{0%,100%{opacity:.1;transform:scale(.7)}50%{opacity:1;transform:scale(1.15) rotate(20deg)}}
.main_contents{position:absolute;left:0;right:0;bottom:0}
.main_catch{padding:0 6vw 22px;text-align:center}
.main_catch p:first-child{font-weight:300;font-size:clamp(17px,3.2vw,26px);letter-spacing:.14em;line-height:2.1}
.main_catch p:last-child{margin-top:8px;font-weight:300;font-size:clamp(12px,2.4vw,14px);letter-spacing:.12em;color:var(--mute)}
.main_catch span{color:var(--pink-l)}
#section_headline{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px 5vw;background:rgba(0,0,0,.5);backdrop-filter:blur(6px);font-size:13px;font-weight:300}
.headline_title{font-family:var(--en);letter-spacing:.16em;color:var(--pink);flex:0 0 auto;font-size:15px;padding-right:16px;border-right:1px solid var(--line)}
.anime_blur{opacity:0;filter:blur(20px);transform:translateY(26px) scale(.98);transition:opacity 1.9s cubic-bezier(.22,1,.36,1),filter 1.9s cubic-bezier(.22,1,.36,1),transform 1.9s cubic-bezier(.22,1,.36,1)}
.anime_blur.is-show{opacity:1;filter:blur(0);transform:none}
.cast_box li:nth-child(even).anime_blur,.diary_box article:nth-child(even).anime_blur{transition-delay:.2s}
@keyframes blurIn{from{opacity:0;filter:blur(18px)}to{opacity:1;filter:blur(0)}}

/* ===== common section ===== */
.section_area{position:relative;padding:clamp(56px,8vw,96px) 0}
.section_area.bg2{background:linear-gradient(180deg,transparent,rgba(255,255,255,.03) 20%,rgba(255,255,255,.03) 80%,transparent)}
.subtitle{position:relative;text-align:center;margin-bottom:clamp(26px,5vw,44px)}
.subtitle::before{content:"";display:block;width:58px;height:34px;margin:0 auto 4px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 36' fill='none' stroke='%23ee86bd' stroke-width='1.1' stroke-linecap='round'%3E%3Cpath d='M8 31C20 28 38 20 52 5C48 20 34 31 14 32'/%3E%3Cpath d='M12 30C24 24 36 16 49 7'/%3E%3Ccircle cx='8' cy='11' r='1' fill='%23ee86bd'/%3E%3Ccircle cx='15' cy='6' r='1.4' fill='%23ee86bd'/%3E%3C/svg%3E") no-repeat center/contain}
.subtitle .name{font-family:var(--en);font-weight:400;font-size:clamp(28px,5vw,40px);letter-spacing:.06em;line-height:1.2;color:#fff}
.subtitle .name span{display:block;font-family:var(--jp);font-weight:300;font-size:13px;letter-spacing:.18em;color:var(--pink-l);margin-top:6px}
.vertical{position:absolute;left:2px;top:6px;display:flex;flex-direction:column;align-items:center;gap:10px}
.vertical::before{content:"";width:1px;height:96px;background:linear-gradient(transparent,var(--pink))}
.vertical span{writing-mode:vertical-rl;font-family:var(--en);font-size:12px;letter-spacing:.18em;color:var(--pink-l)}
.btn_box{text-align:center;margin-top:40px}
.btn_type01{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-width:260px;padding:14px 30px;border-radius:999px;background:var(--grad);color:#fff;font-family:var(--en);font-size:16px;letter-spacing:.14em;box-shadow:0 10px 26px rgba(209,115,174,.28);transition:.35s}
.btn_type01::after{content:"";width:28px;height:1px;background:currentColor;transition:.35s}
.btn_type01:hover{filter:brightness(1.1);transform:translateY(-2px)}
.btn_type01:hover::after{width:38px}
.link_act_01{transition:opacity .3s}
.link_act_01:hover{opacity:.78}

/* ===== EVENT ===== */
#section_event{padding:56px 0 20px}
.swiper_view{width:min(88%,720px);margin:0 auto;overflow:hidden;border-radius:18px;box-shadow:0 18px 44px rgba(0,0,0,.5)}
.swiper_track{display:flex;transition:transform 1s cubic-bezier(.22,1,.36,1)}
.swiper_slide{flex:0 0 100%;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:400;letter-spacing:.1em;font-size:clamp(15px,3vw,24px);line-height:1.8;padding:20px;color:#fff}
.swiper_slide small{display:block;font-weight:300;font-size:11px;letter-spacing:.1em;opacity:.7}
.swiper_slide:nth-child(1){background:linear-gradient(135deg,#0c6a37,#06c755 140%)}
.swiper_slide:nth-child(2){background:linear-gradient(135deg,#7d2d5d,var(--pink))}
.swiper_slide:nth-child(3){background:linear-gradient(135deg,#1c1822,#5a4160)}
.swiper-pagination{display:flex;justify-content:center;gap:10px;margin-top:16px}
.swiper-pagination i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.25);cursor:pointer;transition:.3s}
.swiper-pagination i.on{background:var(--pink);box-shadow:0 0 8px var(--pink)}

/* ===== TOPICS ===== */
.topics_box{max-width:760px;margin:0 auto}
.topics_title{padding:10px 18px;border-radius:8px;background:linear-gradient(90deg,rgba(238,134,189,.2),rgba(183,154,240,.16));color:var(--pink-l);font-weight:400;font-size:clamp(15px,3.4vw,19px);letter-spacing:.05em;line-height:1.7}
.topics_time{margin:6px 4px 12px;font-family:var(--en);font-size:12px;color:var(--mute);letter-spacing:.06em}
.topics_detail{position:relative;padding:clamp(28px,5vw,44px) clamp(16px,4vw,34px) 30px;border-radius:26px;text-align:center;overflow:hidden;
  background:radial-gradient(120% 60% at 50% 0,rgba(238,134,189,.16),transparent 60%),var(--glass);border:1px solid var(--line);backdrop-filter:blur(6px)}
.t_brand{font-family:var(--en);font-style:italic;font-weight:300;font-size:clamp(38px,9vw,60px);line-height:1.1;letter-spacing:.03em;color:#fff;text-shadow:0 0 22px rgba(238,134,189,.45)}
.t_lead{margin:6px 0 20px;font-weight:300;font-size:clamp(16px,3.6vw,20px);letter-spacing:.14em}
.t_lead em{font-style:normal;color:var(--pink-l)}
.t_badges{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:26px}
.t_badges span{padding:7px 18px;border-radius:999px;border:1px solid rgba(238,134,189,.55);background:rgba(255,255,255,.07);font-size:13px;letter-spacing:.04em;white-space:nowrap}
.t_badges span::before{content:"❀ ";color:var(--pink)}
.t_card{position:relative;margin-top:30px;padding:36px 18px 22px;border-radius:22px;border:1px solid rgba(238,134,189,.45);background:rgba(255,255,255,.05)}
.t_ribbon{position:absolute;top:-17px;left:50%;transform:translateX(-50%);padding:6px 26px;border-radius:999px;background:var(--grad);color:#fff;font-size:14px;letter-spacing:.1em;white-space:nowrap;box-shadow:0 8px 20px rgba(209,115,174,.35)}
.t_ribbon::before,.t_ribbon::after{content:"♡";margin:0 .5em;font-size:11px;opacity:.85}
.t_limited{color:var(--pink-l);font-size:12px;letter-spacing:.14em;margin-bottom:12px}
.t_list{display:grid;gap:4px;max-width:340px;margin:0 auto 14px}
.t_list li{display:flex;align-items:baseline;justify-content:space-between;padding:6px 4px;border-bottom:1px dotted var(--line);font-size:15px}
.t_list li:last-child{border:none}
.t_list li b{font-family:var(--en);font-weight:400;font-size:22px;color:var(--pink-l);letter-spacing:.04em}
.t_list .star{color:var(--pink);margin-right:8px}
.t_note{font-size:12.5px;color:var(--mute);line-height:1.9}
.t_em{margin-top:8px;font-size:16px;color:var(--pink-l);letter-spacing:.08em}

/* ===== cast ===== */
.cast_box{display:grid;grid-template-columns:repeat(2,1fr);gap:28px 12px}
@media(min-width:760px){.cast_box{grid-template-columns:repeat(3,1fr);gap:38px 22px}}
.cast_box li a{display:block}
.img_box{position:relative;aspect-ratio:2/3;margin:0 14px 14px 0;border-radius:36px 8px 36px 8px}
/* 後ろの白いパネル（右下にずらして重ねる） */
.img_box::before{content:"";position:absolute;inset:0;transform:translate(14px,14px);border-radius:44px 12px 44px 12px;background:linear-gradient(135deg,rgba(255,255,255,.34),rgba(255,255,255,.14));border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(4px)}
.stage{position:absolute;inset:0;z-index:1;overflow:hidden;border-radius:36px 8px 36px 8px;background:#17131a;box-shadow:0 14px 34px rgba(0,0,0,.5)}
.stage_cardimage{position:absolute;inset:0}
.img_wrap1,.img_wrap2{position:absolute;inset:0}
.img_wrap1 img,.img_wrap2 img{width:100%;height:100%;object-fit:cover}
.ph1{background:linear-gradient(160deg,#4d2e45,#1a1319)}
.ph2{background:linear-gradient(160deg,#35305a,#1a1219);animation:xfade 6s ease-in-out infinite}
@keyframes xfade{0%,35%{opacity:0}55%,90%{opacity:1}100%{opacity:0}}
.img_wrap1:has(img)::after{display:none}
.ph1::after{content:"PHOTO";position:absolute;inset:0;display:grid;place-items:center;font-family:var(--en);letter-spacing:.35em;color:rgba(255,255,255,.2)}
.ribbon_new{position:absolute;top:0;left:0;width:92px;height:92px;overflow:hidden;z-index:5;border-radius:36px 0 0 0}
.ribbon_new span{position:absolute;top:18px;left:-28px;width:120px;text-align:center;transform:rotate(-45deg);background:var(--pink);color:#fff;font-family:var(--en);font-size:12px;letter-spacing:.1em;line-height:22px;box-shadow:0 2px 8px rgba(0,0,0,.3)}
/* SNSバッジ（写真左下・丸／角丸アイコン） */
.sns{position:absolute;left:10px;bottom:10px;z-index:5;display:flex;gap:5px}
.sns i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-family:var(--en);font-size:10px;font-weight:700;color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.35)}
.sns i.o2{background:#0c1a3a;color:#4fd1ff;font-size:13px}
.sns i.rx{background:#fff;border-radius:9px;overflow:hidden}
.sns i.rx img{width:70%;height:70%;object-fit:contain}
.rx_ic{display:inline-block;width:26px;height:26px;object-fit:contain;vertical-align:-5px;margin-right:10px}
.cm_sns a .rx_ic{width:16px;height:16px;margin-right:6px;vertical-align:-3px}
.sns i.x{background:#a47fd6}
.sns i.line{background:#4cc547}
.sns i.ll{background:#8f86f5;font-size:8px;font-style:italic}
.sns i.ig{background:#e0569e;border-radius:50%}
@media(max-width:759px){.sns{left:7px;bottom:7px;gap:3px}.sns i{width:23px;height:23px;font-size:8px}.sns i.o2{font-size:10px}.sns i.rx{border-radius:7px}}
.sold_txt{position:absolute;inset:0;z-index:4;border-radius:36px 8px 36px 8px;display:grid;place-items:center;background:rgba(0,0,0,.55)}
.sold_txt p{padding:6px 22px;border-radius:999px;border:1px solid rgba(255,255,255,.75);font-size:15px;letter-spacing:.3em}
.discount{margin:-8px 14px 0 0;width:auto;position:relative;z-index:6;text-align:center;border-radius:0 0 14px 14px;background:linear-gradient(90deg,#f6b5d6,#e8a8e8);color:#5a1f40;font-size:12.5px;line-height:26px;padding-top:6px}
.txt_box{padding:12px 4px 0;text-align:center}
.txt_box .name{font-weight:400;font-size:clamp(17px,3.6vw,21px);letter-spacing:.1em;color:#fff;line-height:1.5}
.txt_box .age,.txt_box .size{font-family:var(--en);font-size:13px;color:var(--mute);line-height:1.7;letter-spacing:.04em}
.txt_box span{color:var(--pink-l);margin-right:4px}
.txt_box .time{margin-top:8px;padding:6px 8px;border-radius:999px;background:var(--grad);font-family:var(--en);font-size:15px;letter-spacing:.08em;color:#fff}
.note{margin-top:22px;text-align:center;font-size:11px;color:var(--mute)}

/* ===== PICK UP ===== */
.pick_slider{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 20px 24px;scrollbar-width:none}
.pick_slider::-webkit-scrollbar{display:none}
@media(min-width:760px){.pick_slider{justify-content:center}}
.pick{flex:0 0 min(72%,320px);scroll-snap-align:center}
.pick figure{position:relative;aspect-ratio:2/3;overflow:hidden;border-radius:24px;background:linear-gradient(160deg,#4d2e45,#151218);box-shadow:0 20px 44px rgba(0,0,0,.55)}
.pick figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pick figure::before{content:"PICK UP";position:absolute;z-index:2;top:14px;left:14px;padding:3px 14px;border-radius:999px;background:var(--pink);font-family:var(--en);font-size:11px;letter-spacing:.16em}
.pick figure:has(img)::after{display:none}
.pick figure::after{content:"PHOTO";position:absolute;inset:0;display:grid;place-items:center;font-family:var(--en);letter-spacing:.35em;color:rgba(255,255,255,.2)}
.pick figcaption{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:80px 18px 18px;background:linear-gradient(180deg,transparent,rgba(6,5,8,.92))}
.pick figcaption b{font-weight:400;font-size:16px;letter-spacing:.06em;line-height:1.6}

/* ===== NEW FACE ===== */
.nf_box{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 12px}
@media(min-width:760px){.nf_box{grid-template-columns:repeat(3,1fr);gap:22px}}
.nf{display:block;border-radius:22px;overflow:hidden;background:var(--glass);border:1px solid var(--line);transition:.35s}
.nf:hover{transform:translateY(-4px);border-color:rgba(238,134,189,.5)}
.nf .img_box{aspect-ratio:4/5;margin:14px 28px 14px 14px}
.nf .txt{position:relative;padding:14px 46px 16px 16px}
.nf .day{display:inline-block;padding:0 12px;border-radius:999px;background:rgba(238,134,189,.2);color:var(--pink-l);font-size:11px;letter-spacing:.1em;margin-bottom:6px}
.nf .nm{font-size:14px;line-height:1.7;letter-spacing:.04em}
.nf .txt::after{content:"→";position:absolute;right:16px;bottom:14px;color:var(--pink)}
@media(max-width:759px){.nf:nth-child(3){grid-column:1/-1}}

/* ===== SNS ===== */
.widget_wrap{max-width:560px;margin:0 auto;border-radius:22px;overflow:hidden;background:rgba(18,16,22,.9);border:1px solid var(--line);box-shadow:0 20px 50px rgba(0,0,0,.5);padding:6px}
.widget_wrap .w_head{padding:14px 20px;border-bottom:1px solid var(--line);color:var(--pink-l);font-size:13px}
.widget_wrap .w_body{padding:34px 22px;text-align:center;font-size:13px;color:var(--mute);line-height:2}
.widget_wrap iframe{display:block;width:100%;border:0}

/* ===== DIARY ===== */
.diary_box{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media(min-width:760px){.diary_box{grid-template-columns:repeat(3,1fr);gap:20px}}
.diary_item a{position:relative;display:block;aspect-ratio:3/4;border-radius:22px;overflow:hidden;background:linear-gradient(160deg,#4d2e45,#1a1319);box-shadow:0 14px 34px rgba(0,0,0,.5)}
.diary_item a::after{content:"PHOTO";position:absolute;inset:0;display:grid;place-items:center;font-family:var(--en);letter-spacing:.35em;color:rgba(255,255,255,.18)}
.diary_item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.diary_work{position:absolute;z-index:3;top:0;left:0;padding:4px 16px 4px 14px;border-radius:0 0 18px 0;background:var(--pink);color:#fff;font-size:12px;letter-spacing:.06em}
.diary_detail{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:8px 6px 7px;text-align:center;background:linear-gradient(90deg,rgba(196,108,168,.94),rgba(169,139,224,.94));border-radius:20px 20px 0 0}
.diary_name{font-size:14px;letter-spacing:.06em;line-height:1.5}
.diary_date{font-family:var(--en);font-size:11px;letter-spacing:.06em;opacity:.9;line-height:1.4}

/* ===== INFORMATION / LINK ===== */
.info_list{max-width:700px;margin:0 auto}
.info_list a{display:grid;place-items:center;aspect-ratio:16/6;border-radius:22px;background:linear-gradient(135deg,rgba(238,134,189,.28),rgba(183,154,240,.14));border:1px solid var(--line);font-family:var(--en);letter-spacing:.2em;font-size:clamp(20px,4vw,28px);text-align:center;line-height:1.7}
.info_list{display:grid;gap:14px}
.info_list a.info_img,.info_list span.info_img{display:block;aspect-ratio:auto;padding:0;overflow:hidden;background:none}
.info_list .info_img img{display:block;width:100%;height:auto;border-radius:22px}
.info_list a small{display:block;font-family:var(--jp);font-weight:300;font-size:12px;color:var(--pink-l);letter-spacing:.18em}
.link_box{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.link_box a,.link_box .lk_i{display:grid;place-items:center;width:200px;height:40px;border-radius:10px;overflow:hidden;text-decoration:none}
.link_box a img,.link_box .lk_i img{width:200px;height:40px;object-fit:cover}
.lk_txt{font-size:12px;color:var(--mute);border:1px solid rgba(255,255,255,.25);border-radius:10px;width:100%;height:100%;display:grid;place-items:center}
.link_box span:not(.lk_i):not(.lk_txt){display:grid;place-items:center;width:200px;height:40px;border-radius:10px;border:1px dashed rgba(255,255,255,.25);font-size:11px;color:var(--mute)}

/* ===== footer ===== */
#footer{position:relative;border-top:1px solid var(--line);padding:70px 0 40px;text-align:center;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent)}
.footer_wrap{position:relative}
#section_concept{position:relative;margin-bottom:0}
.concept_area{padding-bottom:20px}
.concept_card{display:grid;grid-template-columns:1fr;gap:0;max-width:960px;margin:0 auto 20px;border-radius:28px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(135deg,rgba(238,134,189,.14),rgba(183,154,240,.08)),var(--glass,rgba(255,255,255,.04));box-shadow:0 18px 44px rgba(0,0,0,.5)}
@media(min-width:760px){.concept_card{grid-template-columns:1fr 1fr;align-items:stretch}}
.cc_img img{display:block;width:100%;height:100%;aspect-ratio:1/1;object-fit:cover}
.cc_txt{display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,5vw,44px)}
.cc_ttl{font-weight:400;font-size:clamp(20px,4.6vw,28px);line-height:1.7;letter-spacing:.08em;color:var(--pink-l);margin-bottom:18px}
.cc_txt p{font-size:clamp(14px,3.4vw,15.5px);line-height:2.1;font-weight:300;letter-spacing:.06em}
.cc_txt p+p{margin-top:6px}
.concept_point{margin:0 auto 34px;text-align:center}
.concept_point ul{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:22px}
.concept_point li{padding:6px 22px;border-radius:999px;border:1px solid rgba(238,134,189,.55);background:rgba(255,255,255,.06);font-size:14px;letter-spacing:.14em}
.concept_point li::before{content:"❀ ";color:var(--pink)}
.concept_point_txt p{font-weight:300;letter-spacing:.14em;line-height:2.1;font-size:clamp(14px,3.2vw,18px)}
.concept_point_txt p:nth-child(2){font-family:var(--en);font-style:italic;font-size:clamp(28px,7vw,44px);color:#fff;text-shadow:0 0 22px rgba(238,134,189,.45);line-height:1.4}
.concept_point_txt p:last-child{color:var(--pink-l);margin-top:6px}
.msg_box{max-width:660px;margin:0 auto 46px;font-size:14px;text-align:left;color:var(--mute);line-height:2.2;font-weight:300}
.concept_band{position:relative;width:100%;margin:10px 0 0;padding-bottom:30px;overflow:hidden}
.concept_band .cb_in{position:relative;display:grid;grid-template-columns:1fr 1fr;height:clamp(240px,46vw,560px);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 34%,#000 82%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 34%,#000 82%,transparent 100%)}
.concept_band .cb_in>div.img01,.concept_band .cb_in>div.img02{position:relative;overflow:hidden}
.concept_band img{display:block;width:100%;height:100%;object-fit:cover}
.concept_band .img01 img{object-position:50% 38%}
.concept_band .img02 img{object-position:50% 30%}
.concept_band .img01{-webkit-mask-image:linear-gradient(to right,#000 72%,transparent 100%);mask-image:linear-gradient(to right,#000 72%,transparent 100%)}
.concept_band .img02{-webkit-mask-image:linear-gradient(to left,#000 72%,transparent 100%);mask-image:linear-gradient(to left,#000 72%,transparent 100%)}
.concept_band .cb_glass{position:absolute;left:50%;bottom:6%;width:clamp(150px,26vw,330px);aspect-ratio:1/1.05;transform:translateX(-50%);border-radius:50% 0 50% 50%;background:linear-gradient(145deg,rgba(255,255,255,.34),rgba(238,134,189,.16) 55%,rgba(183,154,240,.22));border:1px solid rgba(255,255,255,.4);box-shadow:0 12px 40px rgba(183,154,240,.35),inset 0 0 40px rgba(255,255,255,.18);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);pointer-events:none;display:flex;align-items:center;justify-content:center}
.concept_band .cb_glass img{width:84%;height:auto;object-fit:contain;filter:drop-shadow(0 0 10px rgba(238,134,189,.45))}
.concept_band .cb_in>div.img02.anime_blur{transition-delay:.45s}
@media(max-width:759px){.concept_band .cb_in{height:clamp(220px,62vw,360px)}}
.footer_nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;max-width:900px;margin:0 auto 40px}
.footer_nav a{font-family:var(--en);font-size:13px;letter-spacing:.12em;color:var(--mute);transition:.3s}
.footer_nav a:hover{color:var(--pink-l)}
#footer .logo a{display:inline-block;margin-bottom:16px;font-size:26px}
#footer .tel a{font-family:var(--en);font-size:clamp(28px,7vw,38px);letter-spacing:.06em;color:#fff}
#footer .tel a span{font-size:12px;color:var(--pink);margin-right:12px;letter-spacing:.2em}
#footer .open{margin-top:4px;font-size:13px;color:var(--mute);font-weight:300}
#footer .open span{font-family:var(--en);color:var(--pink);margin-right:10px;letter-spacing:.2em}
.sns_icons{margin:26px 0 8px;display:flex;justify-content:center;gap:14px}
.sns_icons a{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-family:var(--en);font-size:11px;letter-spacing:.06em;transition:.3s}
.sns_icons a:hover{border-color:var(--pink);color:var(--pink-l)}
.copyright{margin-top:34px;font-size:11px;color:var(--mute);letter-spacing:.04em;font-weight:300}

/* ===== footer_menu (SP) ===== */
#footer_menu{position:fixed;bottom:0;left:0;right:0;z-index:50;background:rgba(8,6,10,.92);backdrop-filter:blur(10px);border-radius:18px 18px 0 0;border-top:1px solid var(--line);display:none}
#footer_menu ul{display:grid;grid-template-columns:repeat(4,1fr)}
#footer_menu li a{display:flex;flex-direction:column;align-items:center;gap:1px;padding:9px 0 8px;font-family:var(--en);font-size:11px;letter-spacing:.12em}
#footer_menu li a b{font-size:17px;font-weight:400;color:var(--pink);line-height:1.2}
@media(min-width:1100px){#footer_menu{display:none!important}}

/* ===== 管理画面から入力した内容用 ===== */
.swiper_slide:has(img){padding:0}
.swiper_slide img{width:100%;height:100%;object-fit:cover}
.no_cast{text-align:center;color:var(--mute);padding:40px 0;font-size:14px;letter-spacing:.1em}
.topics_free{text-align:left;padding:clamp(24px,4vw,36px) clamp(18px,4vw,34px);font-size:14px;line-height:2.1}
.topics_free p{margin-bottom:1.2em}
.topics_free img{border-radius:16px;margin:12px auto;height:auto}
.topics_free h2,.topics_free h3{font-weight:400;color:var(--pink-l);letter-spacing:.06em;margin:1.4em 0 .6em}
.topics_free a{color:var(--pink-l);text-decoration:underline}
/* ===== 下層ページ ===== */
.sub_page{padding:clamp(110px,16vw,160px) 0 clamp(60px,8vw,100px);min-height:70vh}
.sub_page .subtitle{margin-bottom:clamp(26px,5vw,44px)}
.sub_page h1.name{font-family:var(--en);font-weight:400;font-size:clamp(28px,5vw,40px);letter-spacing:.06em;line-height:1.2;color:#fff}
.sub_page h1.name span{display:block;font-family:var(--jp);font-weight:300;font-size:13px;letter-spacing:.18em;color:var(--pink-l);margin-top:6px}
.sub_free{max-width:760px;margin:0 auto}
.sub_free.topics_detail{border-radius:26px;border:1px solid var(--line);background:var(--glass)}
.news_list{max-width:760px;margin:0 auto;display:grid;gap:44px}
.sch_tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:34px}
.sch_tab{min-width:64px;padding:8px 16px;border-radius:18px;border:1px solid var(--line);background:var(--glass);color:var(--txt);font-family:var(--en);font-size:16px;line-height:1.3;cursor:pointer;transition:.3s}
.sch_tab small{display:block;font-family:var(--jp);font-size:11px;color:var(--mute)}
.sch_tab.on{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 8px 22px rgba(209,115,174,.3)}
.sch_tab.on small{color:#fff}
.sch_day{display:none}.sch_day.on{display:block}
/* プロフィール */
.profile{display:grid;gap:30px;max-width:900px;margin:0 auto 20px}
@media(min-width:800px){.profile{grid-template-columns:1fr 1fr;gap:44px;align-items:start}}
.profile_photos{display:grid;gap:18px}
.pf_img{position:relative;aspect-ratio:2/3;border-radius:36px 8px 36px 8px;overflow:hidden;box-shadow:0 14px 34px rgba(0,0,0,.5)}
.pf_img img{width:100%;height:100%;object-fit:cover}
.pf_img:has(img)::after{display:none}
.pf_img:not(:has(img)){display:none}
.pf_img.ph1:not(:has(img)):first-child{display:block}
.pf_new{display:inline-block;padding:0 14px;border-radius:999px;background:var(--pink);color:#fff;font-family:var(--en);font-size:12px;letter-spacing:.14em}
.pf_name{font-size:clamp(24px,5vw,32px);letter-spacing:.1em;font-weight:400;line-height:1.5;color:#fff}
.pf_spec{font-family:var(--en);color:var(--mute);letter-spacing:.04em}
.pf_spec span{color:var(--pink-l);margin-right:4px}
.pf_joined{font-size:13px;color:var(--mute)}
.pf_disc{display:inline-block;margin-top:10px;padding:2px 18px;border-radius:999px;background:linear-gradient(90deg,#f6b5d6,#e8a8e8);color:#5a1f40;font-size:13px}
.pf_snsbox{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 6px}
.pf_sns{padding:6px 18px;border-radius:999px;border:1px solid rgba(238,134,189,.55);font-size:13px;transition:.3s}
.pf_sns:hover{background:rgba(238,134,189,.2)}
.pf_h{margin:30px 0 10px;font-family:var(--en);font-weight:400;font-size:22px;letter-spacing:.08em;color:#fff}
.pf_h span{font-family:var(--jp);font-weight:300;font-size:12px;color:var(--pink-l);margin-left:12px;letter-spacing:.14em}
.cast_box.sample a{pointer-events:none;cursor:default}
.cast_box.sample::after{content:"※見本表示です。スタッフ画面から女性を登録すると、ここに表示されタップでプロフィールが開きます。";display:block;grid-column:1/-1;width:100%;margin-top:14px;font-size:12px;color:var(--mute);text-align:center}
.pf_sch li{align-items:center;display:flex;justify-content:space-between;padding:8px 4px;border-bottom:1px dotted var(--line);font-size:14px}
.pf_sch b.w6{color:#6ab7ff}.pf_sch b.w0{color:#ff8a9c}
.pf_rx{max-width:900px;margin:40px auto 10px;text-align:center}.pf_rx .pf_h{text-align:left}
.pf_sch b{font-family:var(--en);font-weight:400}
.pf_sch span{color:var(--pink-l)}
/* システム */
.sys_wrap{max-width:760px;margin:0 auto;display:grid;gap:34px}
.sys_card{position:relative;padding:clamp(26px,5vw,40px) clamp(18px,4vw,34px);border-radius:26px;border:1px solid var(--line);background:var(--glass);text-align:center;backdrop-filter:blur(6px)}
.sys_event{background:radial-gradient(120% 60% at 50% 0,rgba(238,134,189,.16),transparent 60%),var(--glass)}
.sys_event .t_card{margin-top:30px}
.sys_h{font-family:var(--en);font-weight:400;font-size:24px;letter-spacing:.08em;color:#fff;margin-bottom:12px}
.sys_h span{display:block;font-family:var(--jp);font-weight:300;font-size:12px;color:var(--pink-l);letter-spacing:.18em}
.sys_p{font-size:14.5px;line-height:2.1;font-weight:300}
.sys_p b{color:var(--pink-l);font-weight:500}

.rc_wrap{max-width:760px;margin:0 auto;display:grid;gap:26px}
.rc_en{font-family:var(--en);font-size:11px;letter-spacing:.3em;color:var(--pink-l);text-align:center;line-height:1.6}
.rc_hero,.rc_privacy,.rc_apply,.rc_benefit{text-align:center}
.rc_ttl{margin:14px 0 6px;font-weight:300;font-size:clamp(24px,6.4vw,36px);letter-spacing:.12em;line-height:1.6;color:#fff}
.rc_ttl em{font-style:normal;color:var(--pink-l)}
.rc_ttl .sp{display:none}@media(max-width:560px){.rc_ttl .sp{display:inline}}
.rc_ttl2{margin:10px 0 12px;font-weight:300;font-size:clamp(19px,4.6vw,24px);letter-spacing:.1em;color:#fff}
.rc_big{margin:10px 0 4px;font-weight:500;font-size:clamp(34px,10vw,52px);letter-spacing:.14em;line-height:1.3;color:var(--pink-l)}
.rc_big span{color:#fff}
.rc_b{font-weight:500;letter-spacing:.06em;margin-bottom:6px}
.rc_tags{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.rc_tags span{padding:6px 15px;border-radius:999px;border:1px solid rgba(238,134,189,.4);font-size:13px;letter-spacing:.04em;color:var(--pink-l)}
.rc_tags span.on{background:linear-gradient(135deg,#f6b5d6,#e8a8e8);border-color:transparent;color:#4a1a38;font-weight:500}
.rc_points{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.rc_points div,.rc_cards div,.rc_info div{padding:18px 16px;border-radius:20px;border:1px solid var(--line);background:rgba(255,255,255,.03)}
.rc_points i,.rc_cards i,.rc_info i{display:block;font-style:normal;font-family:var(--en);letter-spacing:.2em;font-size:12px;color:var(--pink-l);margin-bottom:6px}
.rc_points b,.rc_cards b,.rc_info b{display:block;font-weight:500;letter-spacing:.04em;color:#fff}
.rc_points small,.rc_cards p,.rc_info p{display:block;margin-top:4px;font-size:12.5px;line-height:1.8;color:var(--mute)}
.rc_back{letter-spacing:.2em;font-size:13px;margin-top:6px}
.rc_pct{line-height:1.1;margin:6px 0;color:var(--pink-l);font-size:clamp(20px,5vw,28px)}
.rc_pct b{font-family:var(--en);font-weight:400;font-size:clamp(64px,19vw,96px);margin-right:4px}
.rc_small{font-size:12px;color:var(--mute);margin-top:6px}
.rc_list{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:4px 12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);text-align:left}
.rc_list li{padding:6px 2px;font-size:14px}
.rc_list li::before{content:"";display:inline-block;width:6px;height:6px;margin-right:10px;transform:rotate(45deg);background:var(--pink);vertical-align:middle}
.rc_sup .sys_h{text-align:center;margin-bottom:16px}
.rc_cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.rc_info{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.rc_apply .res_btn{margin-top:14px}
.rc_dl div{display:grid;grid-template-columns:minmax(110px,28%) 1fr;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.rc_dl,.rc_form{text-align:left}
.rc_dl div:last-child{border-bottom:0}
.rc_dl dt{color:var(--pink-l);font-size:13px;letter-spacing:.08em}
.rc_dl dd{font-size:14px;line-height:1.9}
.rc_dl dd a{color:var(--pink-l);text-decoration:underline}
@media(max-width:560px){.rc_dl div{grid-template-columns:1fr;gap:4px}.rc_points{grid-template-columns:1fr 1fr}.rc_list{grid-template-columns:1fr}}
.rc_form{display:grid;gap:16px;margin-top:10px}
.rc_form label{display:block;font-size:13px;letter-spacing:.06em}
.rc_form em{font-style:normal;margin-left:8px;padding:1px 8px;border-radius:999px;background:var(--pink);color:#fff;font-size:10px}
.rc_form input,.rc_form textarea{display:block;width:100%;margin-top:6px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.05);color:#fff;font:inherit;font-size:16px}
.rc_form input:focus,.rc_form textarea:focus{outline:2px solid rgba(238,134,189,.5);border-color:transparent}
.rc_hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.rc_submit{border:0;cursor:pointer;margin:6px auto 0;min-width:220px}
.rc_msg{padding:12px 16px;border-radius:14px;font-size:14px;line-height:1.8;margin-bottom:6px}
.rc_msg.ok{border:1px solid #4cc547;background:rgba(76,197,71,.1)}
.rc_msg.ng{border:1px solid #e5584f;background:rgba(229,88,79,.1)}

.fl_wrap{max-width:720px;margin:0 auto;display:grid;gap:22px}
.fl_card{position:relative;padding:clamp(22px,4vw,32px) clamp(18px,4vw,30px) clamp(22px,4vw,30px) clamp(70px,13vw,96px);text-align:left}
.fl_no{position:absolute;left:clamp(16px,3vw,26px);top:clamp(20px,4vw,28px);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#ee86bd,#a98be8);font-family:var(--en);font-size:18px;color:#fff;box-shadow:0 0 0 5px rgba(238,134,189,.15)}
.fl_ttl{font-weight:500;font-size:clamp(18px,4.4vw,22px);letter-spacing:.1em;color:#fff;padding:8px 0 14px;margin-bottom:14px;border-bottom:1px solid var(--line)}
.fl_item+.fl_item{margin-top:18px}
.fl_item b{display:block;font-weight:500;font-size:14px;letter-spacing:.06em;color:var(--pink-l);margin-bottom:4px}
.fl_item p{font-size:14.5px;line-height:2;font-weight:300}
.acc_map{margin-top:20px;border-radius:18px;overflow:hidden;border:1px solid var(--line);width:100%;height:clamp(280px,60vw,400px)}
.acc_map iframe{width:100%;height:100%;border:0;filter:grayscale(.35) contrast(.95) brightness(.92)}
.acc_note{text-align:center}.acc_note a{color:var(--pink-l);text-decoration:underline}
.sys_soon{color:var(--mute)}
/* 予約 */
.res_wrap{max-width:560px;margin:0 auto;text-align:center;display:grid;gap:18px}
.res_lead{margin-bottom:10px}
.res_btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:22px 20px;border-radius:26px;color:#fff}
.res_btn small{font-size:12px;letter-spacing:.2em;opacity:.9}
.res_btn b{font-family:var(--en);font-weight:400;font-size:clamp(26px,7vw,34px);letter-spacing:.08em}
.res_line{background:linear-gradient(135deg,#0c9a4a,#06c755);box-shadow:0 14px 34px rgba(6,199,85,.25)}
.res_tel{background:var(--grad);box-shadow:0 14px 34px rgba(209,115,174,.3)}
.res_open{margin-top:8px;font-size:13px;color:var(--mute)}
.res_open span{font-family:var(--en);color:var(--pink);letter-spacing:.2em;margin-right:10px}
/* ===== セラピスト ポップアップ ===== */
.cm_mask{position:fixed;inset:0;z-index:200;display:none;align-items:flex-start;justify-content:center;overflow:auto;padding:clamp(14px,4vw,40px) 14px;background:rgba(4,3,6,.82);backdrop-filter:blur(8px);-webkit-overflow-scrolling:touch}
.cm_mask.show{display:flex;animation:cmIn .45s ease both}
@keyframes cmIn{from{opacity:0}to{opacity:1}}
.cm_sheet{position:relative;width:100%;max-width:1000px;margin:auto;border-radius:30px;border:1px solid var(--line);background:radial-gradient(120% 50% at 50% 0,rgba(238,134,189,.14),transparent 60%),#0f0d12;box-shadow:0 30px 80px rgba(0,0,0,.7);padding:clamp(22px,4vw,40px);animation:cmUp .55s cubic-bezier(.22,1,.36,1) both}
@keyframes cmUp{from{opacity:0;transform:translateY(28px) scale(.98)}to{opacity:1;transform:none}}
.cm_close{position:absolute;top:14px;right:16px;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:rgba(15,13,18,.88);color:#fff;font-size:22px;line-height:1;cursor:pointer;z-index:5;transition:.3s}
.cm_close:hover{background:rgba(238,134,189,.25)}
.cm_grid{display:grid;gap:26px}
@media(min-width:800px){.cm_grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:40px}}
.cm_main{aspect-ratio:3/4;border-radius:36px 8px 36px 8px;overflow:hidden;background:linear-gradient(160deg,#4d2e45,#1a1319);box-shadow:0 14px 34px rgba(0,0,0,.5)}
.cm_main img{width:100%;height:100%;object-fit:cover}
.cm_thumbs{display:flex;gap:12px;margin-top:14px}
.cm_thumbs button{width:76px;aspect-ratio:3/4;border-radius:14px;overflow:hidden;border:2px solid transparent;padding:0;background:#17131a;cursor:pointer;opacity:.6;transition:.3s}
.cm_thumbs button.on{border-color:var(--pink);opacity:1}
.cm_thumbs img{width:100%;height:100%;object-fit:cover}
.cm_new{display:inline-block;padding:0 14px;border-radius:999px;background:var(--pink);color:#fff;font-family:var(--en);font-size:12px;letter-spacing:.14em;margin-bottom:6px}
.cm_name{font-size:clamp(24px,4.4vw,34px);font-weight:400;letter-spacing:.1em;line-height:1.4;color:#fff;padding-right:46px}
.cm_spec{margin-top:4px;font-family:var(--en);font-size:15px;letter-spacing:.06em;color:var(--pink-l)}
.cm_disc{display:inline-block;margin-top:10px;padding:2px 18px;border-radius:999px;background:linear-gradient(90deg,#f6b5d6,#e8a8e8);color:#5a1f40;font-size:13px}
.cm_rows{margin-top:14px;border-top:1px solid var(--line)}
.cm_rows div{display:flex;gap:16px;padding:8px 2px;border-bottom:1px solid var(--line);font-size:14px}
.cm_rows dt{flex:0 0 5.5em;color:var(--mute)}
.cm_rows dd{margin:0}
.cm_h{margin:22px 0 6px;font-family:var(--en);font-weight:400;font-size:18px;letter-spacing:.08em;color:#fff}
.cm_h span{font-family:var(--jp);font-weight:300;font-size:12px;margin-left:10px;color:var(--pink-l)}
.cm_comment{font-size:14px;line-height:2.1;font-weight:300;color:var(--txt)}
.cm_sns{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.cm_sns a{padding:6px 18px;border-radius:999px;border:1px solid rgba(238,134,189,.55);font-size:13px;transition:.3s}
.cm_sns a:hover{background:rgba(238,134,189,.2)}
.cm_sch li{display:flex;justify-content:space-between;padding:6px 2px;border-bottom:1px dotted var(--line);font-size:14px}
.cm_sch b{font-family:var(--en);font-weight:400}
.cm_sch span{color:var(--pink-l)}
.cm_sch .off{color:var(--mute)}
.cm_act{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.cm_act .btn_type01{min-width:0;flex:1 1 200px;padding:12px 20px;font-size:14px}
.cm_act .btn_type01.ghost{background:transparent;border:1px solid rgba(238,134,189,.6);box-shadow:none}
body.cm_lock{overflow:hidden}
@media(prefers-reduced-motion:reduce){.anime_blur{transition:none;opacity:1;filter:none;transform:none}.ph2,.spark{animation:none}.mv_logo{animation:none}}

/* ===== WordPress 用の補正 ===== */
.admin-bar #header{top:32px}
@media(max-width:782px){.admin-bar #header{top:46px}}
.wp-fallback{max-width:800px;margin:0 auto;padding:140px 20px 80px;min-height:70vh}
.wp-fallback h1,.wp-fallback h2{font-family:var(--jp);color:#fff;margin:0 0 20px;letter-spacing:.08em}
.wp-fallback p{margin-bottom:1.4em}
.wp-fallback a{color:var(--pink)}
.wp-fallback article{margin-bottom:50px;padding-bottom:30px;border-bottom:1px solid var(--line)}

