/* ==================================================
   ON STAGE / 運営情報ページ v4
   運営概要テーブル + 代表者写真 + サイン
================================================== */
.op-page{background:radial-gradient(circle at 50% 0,rgba(255,61,145,.08),transparent 28%),#fff;color:#17171c}.op-hero{padding:58px 0 32px;text-align:center}.op-hero-inner{max-width:900px}.op-hero-crown{width:70px;height:70px;margin:0 auto 16px;display:grid;place-items:center;border-radius:22px;background:linear-gradient(135deg,var(--pink),#8958ff 55%,var(--cyan));color:#fff;font-size:34px;box-shadow:0 14px 34px rgba(255,61,145,.24)}.op-eyebrow{margin-bottom:10px;color:var(--pink);font-size:11px;font-weight:900;letter-spacing:.2em}.op-hero h1{margin:0 0 14px;font-size:clamp(36px,5vw,58px);line-height:1.06;letter-spacing:.01em}.op-hero p{max-width:680px;margin:0 auto;color:#646a75;font-size:15px;line-height:2}.op-stage-line{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;max-width:360px;margin:26px auto 0;color:#a0a5ae;font-size:9px;font-weight:900;letter-spacing:.22em}.op-stage-line i{height:1px;background:linear-gradient(90deg,transparent,#d9dce4)}.op-stage-line i:last-child{background:linear-gradient(90deg,#d9dce4,transparent)}.op-main{padding-top:12px}.op-shell{max-width:1120px;display:grid;gap:24px}.op-card{position:relative;overflow:hidden;padding:32px;border:1px solid #e9eaf0;border-radius:30px;background:#fff;box-shadow:0 18px 54px rgba(20,24,40,.08)}.op-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--pink),#8d59ff,var(--cyan))}.op-section-head{display:flex;align-items:center;gap:16px;margin-bottom:26px}.op-section-icon{flex:0 0 58px;width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,#15171f,#2a203a);color:#fff;font-size:27px;box-shadow:0 12px 28px rgba(25,22,38,.13)}.op-section-icon.is-pink{background:linear-gradient(135deg,#ff3d91,#9d59ff)}.op-section-icon.is-cyan{background:linear-gradient(135deg,#11bddb,#5d72ff)}.op-section-head span{display:block;margin-bottom:5px;color:var(--pink);font-size:10px;font-weight:900;letter-spacing:.18em}.op-section-head h2{margin:0;font-size:28px;line-height:1.2}.op-table{overflow:hidden;border:1px solid #e7e9ef;border-radius:22px;background:#fff}.op-row{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:78px;border-bottom:1px solid #e9eaf0}.op-row:last-child{border-bottom:0}.op-label,.op-value{display:flex;align-items:center;padding:17px 22px}.op-label{gap:14px;background:linear-gradient(90deg,#fcf7fa,#f6fbfc);color:#242833}.op-icon{flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;border:1px solid #ebe7ee;border-radius:14px;background:#fff;color:var(--pink);box-shadow:0 7px 18px rgba(26,28,40,.05)}.op-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.op-label b{font-size:14px}.op-value{display:block;align-content:center;color:#4f5561;font-size:15px;line-height:1.9}.op-value small{display:block;margin-bottom:3px;color:#8b909a;font-size:12px}.op-value a{color:#313744;text-decoration:none;border-bottom:1px dashed #c9cdd4}.op-value a:hover{color:var(--pink);border-color:var(--pink)}.op-representative{background:radial-gradient(circle at 100% 0,rgba(255,61,145,.08),transparent 34%),radial-gradient(circle at 0 100%,rgba(47,213,255,.08),transparent 32%),#fff}.op-profile-grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:44px;align-items:center}.op-profile-photo-wrap{position:relative;max-width:340px}.op-profile-photo{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:26px;background:#f3f4f8;box-shadow:0 18px 42px rgba(18,21,34,.16)}.op-profile-placeholder{display:grid;place-items:center;text-align:center;background:linear-gradient(145deg,#fff0f7,#eefbff);color:var(--pink)}.op-profile-placeholder span{display:block;font-size:56px}.op-profile-placeholder small{display:block;margin-top:-110px;color:#8e939d;font-size:10px;font-weight:900;letter-spacing:.2em}.op-photo-badge{position:absolute;right:-12px;bottom:24px;padding:9px 13px;border-radius:999px;background:#17171c;color:#fff;font-size:9px;font-weight:900;letter-spacing:.18em;box-shadow:0 10px 24px rgba(20,20,28,.18)}.op-profile-copy{padding:8px 12px}.op-profile-role{display:inline-flex;margin-bottom:12px;padding:7px 12px;border-radius:999px;background:#fff0f7;color:var(--pink);font-size:11px;font-weight:900;letter-spacing:.1em}.op-profile-copy h3{margin:0 0 18px;font-size:36px;line-height:1.15}.op-profile-copy>p{margin:0;color:#616773;font-size:15px;line-height:2.1}.op-signature{max-width:380px;margin-top:28px;padding:18px 20px 14px;border:1px solid #e7e9ef;border-radius:20px;background:rgba(255,255,255,.82)}.op-signature span{display:block;margin-bottom:8px;color:#a1a5ae;font-size:9px;font-weight:900;letter-spacing:.18em}.op-signature img{display:block;max-width:100%;max-height:110px;object-fit:contain;object-position:left center}.op-body{color:#5c626e;font-size:15px;line-height:2}.op-body h2{margin:28px 0 12px;padding-left:14px;border-left:4px solid var(--pink);color:#181b23;font-size:21px}.op-body h2:first-child{margin-top:0}.op-body h3{margin:23px 0 10px;color:#222630;font-size:17px}.op-body p{margin:0 0 18px}.op-body ul{margin:0 0 20px;padding-left:20px}.op-contact-strip{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:18px;align-items:center;padding:26px 28px;border-radius:28px;background:linear-gradient(135deg,#17171c,#28213b 65%,#173040);color:#fff;box-shadow:0 18px 48px rgba(20,23,35,.16)}.op-contact-mark{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,var(--pink),#8c58ff,var(--cyan));font-size:25px}.op-contact-strip span{display:block;margin-bottom:5px;color:#ff82bb;font-size:9px;font-weight:900;letter-spacing:.18em}.op-contact-strip h2{margin:0 0 5px;font-size:22px}.op-contact-strip p{margin:0;color:#c9ccd4;font-size:13px;line-height:1.7}.op-contact-strip .btn{white-space:nowrap}
@media(max-width:820px){.op-card{padding:25px}.op-profile-grid{grid-template-columns:280px minmax(0,1fr);gap:30px}.op-row{grid-template-columns:220px minmax(0,1fr)}.op-contact-strip{grid-template-columns:52px 1fr}.op-contact-strip .btn{grid-column:1/-1;width:100%}}
@media(max-width:640px){.op-hero{padding:34px 0 16px}.op-hero-crown{width:58px;height:58px;border-radius:18px;font-size:28px}.op-hero h1{font-size:36px}.op-hero p{font-size:13px;line-height:1.9}.op-shell{gap:18px}.op-card{padding:20px 16px;border-radius:22px}.op-section-head{gap:12px;margin-bottom:18px}.op-section-icon{width:48px;height:48px;flex-basis:48px;border-radius:15px;font-size:22px}.op-section-head h2{font-size:22px}.op-row{grid-template-columns:1fr;min-height:0}.op-label{padding:13px 14px 9px;background:linear-gradient(90deg,#fcf7fa,#f6fbfc)}.op-icon{width:34px;height:34px;flex-basis:34px;border-radius:11px}.op-icon svg{width:17px;height:17px}.op-value{padding:10px 14px 15px 62px;font-size:13px;line-height:1.85}.op-profile-grid{grid-template-columns:1fr;gap:22px}.op-profile-photo-wrap{width:min(82%,300px);margin:0 auto}.op-photo-badge{right:-7px}.op-profile-copy{padding:0 4px;text-align:center}.op-profile-copy h3{font-size:29px}.op-profile-copy>p{text-align:left;font-size:13px;line-height:1.95}.op-signature{margin:24px auto 0;text-align:left}.op-contact-strip{grid-template-columns:1fr;text-align:center;padding:22px 18px;border-radius:22px}.op-contact-mark{margin:0 auto}.op-contact-strip h2{font-size:20px}.op-contact-strip p{font-size:12px}.op-contact-strip .btn{grid-column:auto}}


/* ==================================================
   代表メッセージ：強調フレーズ
================================================== */
.op-representative-message{
    margin:0;
    color:#616773;
    font-size:15px;
    line-height:2.12;
}
.op-highlight-wrap{
    position:relative;
    margin:-2px 0 30px;
    padding:18px 22px 20px;
    border-radius:22px;
    background:linear-gradient(135deg,rgba(255,61,145,.055),rgba(154,92,255,.045) 48%,rgba(57,213,255,.055));
    border:1px solid rgba(145,111,210,.11);
}
.op-highlight{
    position:relative;
    z-index:2;
    display:inline;
    margin:0;
    font-family:inherit;
    font-size:clamp(24px,3vw,36px);
    font-weight:800;
    line-height:1.55;
    letter-spacing:.01em;
    background:linear-gradient(90deg,#ff3d91 0%,#9a5cff 48%,#39d5ff 100%);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    color:transparent;
    filter:drop-shadow(0 7px 16px rgba(255,61,145,.10));
}
.op-highlight-line{
    display:block;
    width:min(100%,680px);
    height:7px;
    margin-top:10px;
    border-radius:999px;
    background:linear-gradient(90deg,rgba(255,61,145,.20),rgba(154,92,255,.16),rgba(57,213,255,.20));
    filter:blur(.1px);
}
@media(max-width:640px){
    .op-representative-message{
        text-align:left;
        font-size:13px;
        line-height:1.98;
    }
    .op-highlight-wrap{
        margin:-2px 0 22px;
        padding:16px 16px 17px;
        border-radius:18px;
        text-align:left;
    }
    .op-highlight{
        font-size:clamp(21px,6.7vw,28px);
        line-height:1.6;
        letter-spacing:0;
    }
    .op-highlight-line{
        height:6px;
        margin-top:8px;
    }
}
