@charset "UTF-8";
/* ============================================================
   PC両翼：中央390カラム＋夜ネイビー空（月・星）
   左上テキストロゴ / 右上MENU
============================================================ */

.lp-pc-wing{
  display:none;
}

@media screen and (min-width:751px){
  :root{
    --lp-width:390px;
    --lp-vw:390px;
    --lp-wing-navy:#0f0f1f;
    --lp-wing-gold:#c9a06a;
    --lp-wing-gold-l:#e8c898;
  }

  html{
    overflow-x:hidden;
  }

  body.lp-wireframe{
    background:
      radial-gradient(ellipse 48% 40% at 92% 72%,rgba(201,160,106,.06) 0%,transparent 65%),
      linear-gradient(180deg,#1b1b29 0%,#0f0f1f 42%,#080814 100%);
    min-width:0;
  }

  .lp-pc-wing{
    display:block;
    position:fixed;
    top:0;
    bottom:0;
    z-index:0;
    width:calc((100vw - var(--lp-width)) / 2);
    overflow:hidden;
    pointer-events:none;
  }

  .lp-pc-wing--left{left:0}
  .lp-pc-wing--right{
    right:0;
    z-index:2;
  }

  .lp-pc-wing__canvas{
    position:absolute;
    inset:0;
    background:
      linear-gradient(180deg,rgba(255,255,255,.04) 0%,transparent 38%,rgba(0,0,0,.28) 100%),
      var(--lp-wing-navy);
  }
  .lp-pc-wing__canvas::after{
    content:"";
    position:absolute;
    inset:0;
    opacity:.22;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
    mix-blend-mode:soft-light;
    pointer-events:none;
  }

  /* ── ★星空 ── */
  .lp-pc-wing__sky{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
  }

  /* 左翼・左上に月を1つ */
  .lp-pc-wing__moon{
    display:none;
  }
  .lp-pc-wing--left .lp-pc-wing__moon{
    display:block;
    position:absolute;
    top:clamp(18px,2.8vh,36px);
    left:clamp(18px,2.2vw,40px);
    width:clamp(42px,3.6vw,58px);
    height:clamp(42px,3.6vw,58px);
    border-radius:50%;
    background:
      radial-gradient(circle at 32% 30%,
        #fffef8 0%,
        #f7ecd0 38%,
        #e8d4a0 72%,
        #d4bc88 100%);
    box-shadow:
      0 0 18px rgba(255,244,210,.7),
      0 0 42px rgba(232,200,152,.35),
      inset -6px -4px 10px rgba(180,150,90,.18);
  }

  .lp-pc-wing__star{
    position:absolute;
    display:block;
    font-style:normal;
    font-size:clamp(10px,1.1vw,14px);
    line-height:1;
    color:#fff;
    text-shadow:
      0 0 6px rgba(255,255,255,.95),
      0 0 14px rgba(232,200,152,.45);
    animation:lpStarTwinkle 2.8s ease-in-out infinite;
  }

  /* 左翼の星配置（1つ目は月なので 2〜10） */
  .lp-pc-wing--left .lp-pc-wing__star:nth-child(2){top:14%;left:42%;animation-delay:0s}
  .lp-pc-wing--left .lp-pc-wing__star:nth-child(3){top:22%;left:68%;font-size:clamp(7px,.75vw,10px);animation-delay:.4s}
  .lp-pc-wing--left .lp-pc-wing__star:nth-child(4){top:30%;left:18%;animation-delay:.9s}
  .lp-pc-wing--left .lp-pc-wing__star:nth-child(5){top:40%;left:58%;font-size:clamp(8px,.85vw,11px);animation-delay:1.3s}
  .lp-pc-wing--left .lp-pc-wing__star:nth-child(6){top:52%;left:28%;animation-delay:.2s}
  .lp-pc-wing--left .lp-pc-wing__star:nth-child(7){top:64%;left:70%;font-size:clamp(7px,.75vw,10px);animation-delay:1.7s}
  .lp-pc-wing--left .lp-pc-wing__star:nth-child(8){top:74%;left:20%;animation-delay:.7s}
  .lp-pc-wing--left .lp-pc-wing__star:nth-child(9){top:84%;left:55%;font-size:clamp(8px,.85vw,11px);animation-delay:2.1s}
  .lp-pc-wing--left .lp-pc-wing__star:nth-child(10){top:46%;left:78%;font-size:clamp(7px,.7vw,9px);animation-delay:1.5s}

  /* 右翼の星配置 */
  .lp-pc-wing--right .lp-pc-wing__star:nth-child(1){top:12%;left:30%;animation-delay:.3s}
  .lp-pc-wing--right .lp-pc-wing__star:nth-child(2){top:20%;left:68%;font-size:clamp(7px,.75vw,10px);animation-delay:.8s}
  .lp-pc-wing--right .lp-pc-wing__star:nth-child(3){top:32%;left:22%;animation-delay:1.2s}
  .lp-pc-wing--right .lp-pc-wing__star:nth-child(4){top:42%;left:75%;font-size:clamp(8px,.85vw,11px);animation-delay:.1s}
  .lp-pc-wing--right .lp-pc-wing__star:nth-child(5){top:55%;left:40%;animation-delay:1.6s}
  .lp-pc-wing--right .lp-pc-wing__star:nth-child(6){top:66%;left:18%;font-size:clamp(7px,.75vw,10px);animation-delay:.5s}
  .lp-pc-wing--right .lp-pc-wing__star:nth-child(7){top:72%;left:62%;animation-delay:2s}
  .lp-pc-wing--right .lp-pc-wing__star:nth-child(8){top:80%;left:35%;font-size:clamp(8px,.85vw,11px);animation-delay:1.1s}
  .lp-pc-wing--right .lp-pc-wing__star:nth-child(9){top:88%;left:78%;animation-delay:1.9s}
  .lp-pc-wing--right .lp-pc-wing__star:nth-child(10){top:48%;left:52%;font-size:clamp(7px,.7vw,9px);animation-delay:2.4s}
  .lp-pc-wing--right .lp-pc-wing__star:nth-child(11){top:26%;left:48%;font-size:clamp(9px,.95vw,12px);animation-delay:.6s}

  @keyframes lpStarTwinkle{
    0%,100%{opacity:.28;transform:scale(.75);filter:brightness(.8)}
    40%{opacity:1;transform:scale(1.08);filter:brightness(1.25)}
    60%{opacity:.55;transform:scale(.9);filter:brightness(1)}
  }

  @media (prefers-reduced-motion:reduce){
    .lp-pc-wing__star{animation:none;opacity:.7}
  }

  /* ── 左上ロゴ（白テキスト）※月の下にずらす ── */
  .lp-pc-wing__logo{
    position:absolute;
    top:clamp(78px,11vh,118px);
    left:clamp(24px,3vw,52px);
    z-index:2;
    margin:0;
    display:flex;
    flex-direction:column;
    gap:6px;
  }
  .lp-pc-wing__logo-ja{
    font-family:var(--font-mincho,"Hiragino Mincho ProN","Yu Mincho",serif);
    font-size:clamp(26px,2.6vw,36px);
    font-weight:700;
    letter-spacing:.18em;
    line-height:1.2;
    color:#fff;
    text-shadow:0 0 18px rgba(232,200,152,.25);
  }
  .lp-pc-wing__logo-en{
    font-family:"Avenir Next","Helvetica Neue",sans-serif;
    font-size:clamp(11px,1.05vw,14px);
    font-weight:500;
    letter-spacing:.32em;
    line-height:1.2;
    color:rgba(255,255,255,.88);
    padding-left:.08em;
  }

  /* ── 右上ハンバーガー ── */
  .lp-pc-menu{
    position:absolute;
    top:clamp(24px,3.6vh,44px);
    right:clamp(24px,3vw,48px);
    z-index:5;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:8px;
    margin:0;
    padding:10px 8px;
    border:0;
    background:transparent;
    cursor:pointer;
    pointer-events:auto;
    color:rgba(232,236,244,.9);
  }
  .lp-pc-menu__bars{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:7px;
    width:34px;
  }
  .lp-pc-menu__bars i{
    display:block;
    height:2px;
    width:100%;
    border-radius:2px;
    background:currentColor;
    transition:transform .28s ease,opacity .2s ease;
  }
  .lp-pc-menu__bars i:nth-child(1){width:100%}
  .lp-pc-menu__bars i:nth-child(2){width:78%;margin-left:auto}
  .lp-pc-menu__bars i:nth-child(3){width:100%}
  .lp-pc-menu__label{
    font-family:"Avenir Next","Helvetica Neue",sans-serif;
    font-size:10px;
    font-weight:600;
    letter-spacing:.22em;
    line-height:1;
    color:var(--lp-wing-gold-l);
  }
  .lp-pc-menu[aria-expanded="true"] .lp-pc-menu__bars i:nth-child(1){
    transform:translateY(9px) rotate(45deg);
  }
  .lp-pc-menu[aria-expanded="true"] .lp-pc-menu__bars i:nth-child(2){
    opacity:0;
  }
  .lp-pc-menu[aria-expanded="true"] .lp-pc-menu__bars i:nth-child(3){
    transform:translateY(-9px) rotate(-45deg);
  }

  .lp-pc-menu__panel{
    position:absolute;
    top:clamp(88px,12vh,120px);
    right:clamp(20px,2.5vw,40px);
    z-index:5;
    display:flex;
    flex-direction:column;
    gap:14px;
    min-width:160px;
    padding:18px 20px;
    border:1px solid rgba(201,160,106,.28);
    border-radius:12px;
    background:rgba(15,15,31,.92);
    box-shadow:0 16px 40px rgba(0,0,0,.35);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    pointer-events:auto;
  }
  .lp-pc-menu__panel[hidden]{display:none}
  .lp-pc-menu__panel a{
    font-family:var(--font-mincho,"Hiragino Mincho ProN",serif);
    font-size:13px;
    font-weight:600;
    letter-spacing:.12em;
    color:rgba(232,236,244,.9);
    text-decoration:none;
  }
  .lp-pc-menu__panel a:hover{
    color:var(--lp-wing-gold-l);
  }

  .lp_wrap{
    position:relative;
    z-index:1;
    width:var(--lp-width);
    max-width:var(--lp-width);
    margin:0 auto;
    box-shadow:
      0 0 0 1px rgba(201,160,106,.12),
      0 24px 64px rgba(0,0,0,.45);
  }
}
