@charset "UTF-8";
/* 棚照結神 キャラ詳細SP (XD sp_0702 キャラ21アートボード 390x1250 準拠・gen_sp_character.py 機械生成)
   切替: 850px以下=SP / 851px以上=PC (index.html と同一方式) */

.canvas--sp{ display:none; }
.sp-below{ display:none; }
.only-sp{ display:none !important; }

.canvas--sp{
  position:relative;
  width:100%;
  aspect-ratio:390/1250;
  overflow:hidden;
  background:#fff;
  container-type:inline-size;
}
.canvas--sp > *{ position:absolute; }
.canvas--sp img{ max-width:none; }

.bg-tile-sp{
  background-image:url("../img/bg/haikei_pattern.png");
  background-size:33.3333cqw 33.3333cqw;   /* 130px @390 */
  background-repeat:repeat;
}

/* ---- SPページャー＋SPフッター(canvas外・vw基準) ---- */
.pager-sp{
  position:relative;
  width:100%;
  background-image:url("../img/bg/haikei_pattern.png");
  background-size:33.3333vw 33.3333vw;
  background-position:0 -3.5897vw;   /* canvas内タイル原点y=66、(1250-66) mod 130 = 14px → -14px で目地連続 */
  background-repeat:repeat;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3.5vw;
  padding:5vw 4vw;
}
.pgs-row{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.pager-sp a{
  display:inline-flex;
  align-items:center;
  gap:1.5vw;
  font-size:3.3vw;
  color:#222;
}
.pager-sp .pg-arrow{ color:var(--gold); font-size:4vw; line-height:1; }
.pg-list{
  font-size:3.3vw;
  border:1px solid rgba(227,200,19,.85);
  border-radius:7vw;
  padding:2vw 6vw;
  background:#fff;
}
.foot-sp{
  position:relative;
  width:100%;
  aspect-ratio:390/591;
  overflow:hidden;
  container-type:inline-size;
  background-image:url("../img/bg/haikei_pattern.png");
  background-size:33.3333cqw 33.3333cqw;
  background-repeat:repeat;
}
.foot-sp > *{ position:absolute; }
.foot-sp img{ max-width:none; }
.foot-links-sp{
  transform:translateX(-50%);
  text-align:center; white-space:nowrap;
  color:#96790D; line-height:2.5714;
  font-family:"Noto Sans JP",sans-serif; font-weight:500;
}
.foot-links-sp a{ text-decoration:underline; text-underline-offset:0.18em; }
.foot-copy-sp{
  color:#222; line-height:3.6;
  font-family:"Noto Sans JP",sans-serif; font-weight:500;
  transform:translateX(-50%); text-align:center; white-space:nowrap;
}

@media (max-width: 850px){
  .canvas--pc{ display:none; }
  .pager-sec{ display:none; }
  .foot-sec{ display:none; }
  .canvas--sp{ display:block; }
  .sp-below{ display:block; }
  .only-pc{ display:none !important; }
  .only-sp{ display:block !important; }

  /* ハンバーガー: SPヘッダー実測(325,5,60x50 カプセル金枠) */
  .hamburger{
    top:1.2821vw;
    right:1.2821vw;
    width:15.3846vw;
    height:12.8205vw;
    border-radius:9999px;
    border-color:#E1BD61;
  }
  .hamburger span{
    width:8.8462vw;
    height:max(1px, 0.2564vw);
    background:#E1BD61;
  }
  .hamburger span:nth-child(1){ transform:translate(-50%,-50%) translateY(-0.641vw); }
  .hamburger span:nth-child(2){ transform:translate(-50%,-50%) translateY(0.641vw); }
  body.menu-open .hamburger span:nth-child(1){ transform:translate(-50%,-50%) rotate(45deg); }
  body.menu-open .hamburger span:nth-child(2){ transform:translate(-50%,-50%) rotate(-45deg); }

  .menu__panel{
    width:100%;
    border-radius:0 0 0 5.1282vw;
    box-shadow:none;
    padding:40.2564vw 0 8vw 10.1051vw;
    justify-content:flex-start;
    overflow-y:auto;
  }
  .menu__list{ gap:10.2564vw; }
  .menu__label--top{    width:22.4308vw; }
  .menu__label--intro{  width:72.7385vw; }
  .menu__label--char{   width:61.0487vw; }
  .menu__label--sokan{  width:28.9436vw; }
  .menu__label--nenrei{ width:28.6179vw; }
  .menu__link .arrow{ font-size:5.5vw; }
  .menu__x{ width:13.8462vw; margin-top:10.5128vw; }
  .menu__sphead{
    display:block;
    position:absolute; left:0; top:0;
    width:100%; height:15.3846vw;
    background:#fff;
  }
  .menu__sphead img{
    position:absolute;
    left:1.9949vw; top:3.0872vw;
    width:70.3308vw; height:8.7692vw;
  }
}
@media (min-width: 850.02px){
  .menu__sphead{ display:none; }
}
