@charset "utf-8";
/* DDフェス 2025. (event date _ 2025.07.05) */


/* =================== 960 START =================== */

@media screen and (max-width:959px) {
  :root {
    --col2: 100%;
    --col3: calc(100% / 2);
    --col4: calc(100% / 2);
    --col5: calc(100% / 3);
    --col6: calc(100% / 3);
    --col7: calc(100% / 3);
    --col8: calc(100% / 3);
    /* font-size */
    --fs-20: 1.6rem;
    --fs-22: 1.8rem;
    --fs-24: 2rem;
    --fs-26: 2.2rem;
    --fs-28: 2.4rem;
    --fs-30: 2.6rem;
    --fs-32: 2.8rem;
    --fs-34: 3rem;
    --fs-36: 3.2rem;
    --fs-38: 3.2rem;
    --fs-40: 3.4rem;
  }
/*-------------------------------
 Br _ View
---------------------------------*/
  /*改行 br */
  .br-pc  { display: none;} /*PCのみ*/
  .br-pc-tb { all: initial;} /*PC-TB*/
  .br-tb-sp { all: initial;} /*TB-SP*/
  .br-sp	 { display: none;} /*SP*/

  /*Image*/
  .view-pc { display: none !important;}
  .view-pc-tb { display: inline-block !important;}
  .view-tb-sp { display: inline-block !important;}
  .view-sp { display: none !important;}

  /* Link Button */
  a.lnkBtn,
  a.lnkBtnFB,
  a.lnkBtnIG {
      font-size:calc(var(--fs) * 1.5);
  }
/*-------------------------------
 Header
---------------------------------*/
  #header {}
  #hdrInner {
    width:auto;
    height: var(--height-hdr);
    padding:0;
    margin: 0 0vmin;
    text-align:center;
  }
  /*ロゴリンク指定*/
  #header .lnkTitle {
    position: absolute;
    height: calc(var(--height-hdr) - 0.4rem);
  }
  /*Dollfie Link*/
  #hdrDollfie {
    display:none;
  }
  /*SNS Link Icon*/
  #hdrSNSArea {
    display:none;
  }
/*-------------------------------
 Menu
---------------------------------*/
  div.fxblnk {
    width: 100%;
    height: var(--height-hdr);
    position: relative;
    z-index: 0;
  }
  #Menu {
    width:100%;
    min-height:0;
    padding:0;
    background: #000;
    border-bottom: 1px solid #2a2a2a;
    color:#fff;
    position: fixed /*relative;*/;
    left: 0;
    top: var(--height-hdr);
    z-index: 20;
  }
  .navi_area-fixed {
    width:100%;
  }
/*-------------------------------
 Navi _ Area - Global
---------------------------------*/
  .navi_area-global {
    max-width:100%;
    height:100%;
    padding:0;
    margin:auto;
    position:fixed; left:0; top:4rem;
    overflow:scroll;
    z-index:9;
    display:none;
  }
  .navi_area-global.open {
    display:block;
  }

/*-------------------------------
Navi _ Menu - Global 
---------------------------------*/
  ul.navi_menu-global {
    min-height:100vh;
    background: rgba(0, 0, 0, 0.9);
    padding: 10vh 0;
    margin-bottom: 1px;
    text-align:left;
  }
  /*Mega Menu CSS*/
  ul.navi_menu-global > li {
    padding: 1em;
    margin-bottom: 1em;
    font-size: calc(var(--fs) * 1.6);
    float: none;
    text-align:center;
    display:block;
  }
  ul.navi_menu-global > li:first-child::after,
  ul.navi_menu-global > li:last-child::after {
    content:"";
    width:100%;
    height:1px;
    position:absolute;
    left:0;
    }
    ul.navi_menu-global > li:first-child::after {
      top:-1px;
    }
    ul.navi_menu-global > li:hover {
      background: rgba(255, 255, 255, 0.1);
  }
    ul.navi_menu-global > li.selected {
      background: #484848;
  }
    ul.navi_menu-global > li > span:hover {}
    ul.navi_menu-global > li > span::after {
      content:"＋";
      position:absolute;
      right:1em;
      top:0;
    }
    ul.navi_menu-global > li.selected > span {}
    ul.navi_menu-global > li.selected > span::after {
      content:"－";
    }
    ul.navi_menu-global > li.navi-pre > span::after,
    ul.navi_menu-global > li.navi-pre > span::after {
      display:none;
    }
    ul.navi_menu-global > li.navi-pre > navi_ctg{
      display:none;
    }
    ul.navi_menu-global > li.new::after {
      content: "NEW";
      position: absolute;
      right: 48%;
      top: 10%;
    }
  /*official Link Icon*/
  #naviDollfie {
    padding: 1rem 0;
    display: block;
  }
  #naviDollfie a img {
    width: 80%;
    max-width: calc(var(--fs) * 16);
    display: inline-block;
    vertical-align: middle;
  }

/*-------------------------------
 Navi _ Menu - Toggle button
---------------------------------*/
  .navi_menu-toggle {
    display:block;
  }
  .navi_menu-toggle {
    width: 4rem;
    height: 4rem;
    padding-top: 0.2rem;
    cursor: pointer;
    z-index: 30;
    position: absolute;
    right: 1rem;
    top: 0rem;
  }
  .navi_menu-toggle.on .one {
    transform: rotate(45deg) translate(0.7rem, 0.7rem);
  }
  .navi_menu-toggle.on .two {
    opacity: 0;
  }
  .navi_menu-toggle.on .three {
    transform :rotate(-45deg) translate(0.7rem, -0.7rem);
  }
  .one,
  .two,
  .three{
    width:70%; 
    height: 0.5rem;
    margin: 0.5rem auto;
    background: #2b1c17;
    backface-visibility: hidden;
    transition-duration: 0.3s;
  }
  ul.navi_menu-global {
    display:none;
  }
  ul.navi_menu-global.open {
    display:block;
  }
  /*Link _ Anchor*/
  .anchor-link {
    width: 1px;
    height: 1px;
    display: block;
    overflow: hidden;
    position: absolute;
    top: calc(var(--hight-hdr) * -1);
  }
  .anchor-inner {
    height: var(--hight-hdr);
    margin-top: calc(var(--hight-hdr) * -1);
    display: block;
    position: relative;
    z-index: -1 !important;
  }
/*-------------------------------
TOP Main
---------------------------------*/
  #topMain-pc { display: none !important;}
  #topMain-sp { display: block !important;}
/*-------------------------------
 Footer
---------------------------------*/
  .banner-area__innder > li {
    width: calc(25% - 2rem);
  }
  .banner-sns {
    padding: 1rem 0;
  }
  .banner-sns > li {
    margin: 0.5rem;
  }
  .banner-sns__main > li {
    width: calc( 100%/5 - 1rem);
  }
  .banner-sns__other > li {
    width: calc( 50% - 1rem);
  }
  /* end _ media @ 960px ----------------------------------------------------------------*/
}
/* =================== SP ONLY START =================== */
@media screen and (max-width: 559px) {
  :root {
    --col2: 100%;
    --col3: 100%;
    --col4: calc(100% / 2);
    --col5: calc(100% / 2);
    --col6: calc(100% / 3);
    --col7: calc(100% / 3);
    --col8: calc(100% / 3);
    /* font-size */
    --fs-20: 1.2rem;
    --fs-22: 1.3rem;
    --fs-24: 1.4rem;
    --fs-26: 1.6rem;
    --fs-28: 1.8rem;
    --fs-30: 2rem;
    --fs-32: 2.2rem;
    --fs-34: 2.4rem;
    --fs-36: 2.6rem;
    --fs-38: 2.8rem;
    --fs-40: 3rem;
  }
/*-------------------------------
 Br _ View
---------------------------------*/
  /*改行 br */
  .br-pc-tb { display: none;} /*PC-TB*/
  .br-tb-sp { all: initial;} /*TB-SP*/
  .br-sp { all: initial;} /*SP*/
  /*Image*/
  .view-pc-tb { display: none !important;}
  .view-tb-sp { display: inline-block !important;}
  .view-sp { display: inline-block !important;}
  /* ロゴリンク指定 */
  #header .lnkTitle {
    position: absolute;
    height: 4rem;
    padding: .5rem 0;
  }
/* iOS Zoom対策 */
  input,select,textarea{
    font-size:1.4rem !important;
  }
/*-------------------------------
 Base
---------------------------------*/
  /* Link */
  .lnkBtn-Area {
    text-align: center;
    margin: 0 auto 1rem;
  }
  /* Link Button */
  a.lnkBtn {
    width: min(64rem, 80%);
    padding: 1em 2rem;
    margin: 0 auto 1rem;
    font-size:calc(var(--fs) * 1.5);
  }
/*-------------------------------
 Navi _ Menu - Toggle button
---------------------------------*/
  .navi_menu-toggle {
    right: .5rem;
    }
/*-------------------------------
 TOP Summry
---------------------------------*/
  #topSmmry-tbl {
    margin-bottom: 1rem;
  }
  #topSmmry-tbl th,
  #topSmmry-tbl td {
    width: 100%;
    display: block;
    line-height: 1.4;
  }
  #topSmmry-tbl td {
    padding-left: 2rem;
  }
  #topSmmry-tbl th::after {
    display: none;
  }
  .topSmmry-txt {
    line-height: 1.4;
    font-size:calc(var(--fs) * 1.5);
  }
  .news-box-red {
    max-width: calc(100% - 1rem);
    padding: 1rem .5rem;
    margin: 1rem auto 1rem;
  }
  .news-box-red_more {
    padding-right: 1em;
    font-size:calc(var(--fs) * 1.6);
  }
/*-------------------------------
Footer
---------------------------------*/
  .banner-sns__main > li {
    width: calc( 100%/3 - 1rem);
  }
  .footer-navi__os-link {
    margin: 2rem auto 2rem;
  }
  .note_copyright {
    font-size: calc(100vw / 45);
   }
  ul.linkBnr li {
    width: calc(100vw / 4);
    margin: 0.5rem;
  }
  /* Link button Logo */
  footer a.lnkVS {
    margin: 1em auto;
    width: 14rem;
    max-width: 30%;
  }
  /* end _ media @ tablet ----------------------------------------------------------------*/
}