@charset "UTF-8";

/*******************************
共通CSS
********************************/
html {
  scroll-behavior: smooth;
}


body {
  font-family: メイリオ, Meiryo, sans-serif;
  text-size-adjust: none;
  -webkit-text-size-adjust: none;
  /*safari用*/

}

#wrapper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: clip;
}

/* .linkList, .yt01, .yt02, .yt03 {
  pointer-events: none;
  opacity: 0.4;
} */


/* ローディング */
#loading {
  position: fixed;
  z-index: 1000;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  top: 0;
  background: #000;
  opacity: 1;
}

#loading.hide {
  pointer-events: none;
  transition: 0.5s;
  opacity: 0;
}

#loading .circle {
  display: block;
  position: relative;
  width: 100px;
  height: 100px;
  top: 45%;
  margin: 0 auto;
  border: 8px solid #e0e0e0;
  border-top: 7px solid #000;
  border-radius: 100px;
  animation: loading 700ms linear 0ms infinite normal both;
}

#loading.hide .circle {
  opacity: 0;
  transition: 1.5s;
}

.center {
  text-align: center;
}

/* ■■■緊急対応■■■ PC/SP */
#emergency {
  width: 100%;
  background-color: #fff;
  border-bottom: 3px #e40013 solid;
  color: #000;
  z-index: 80;
  position: relative;
  overflow: hidden;
}

#emergency h2 {
  width: calc(100% - 20px);
  background-color: #e40013;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
  line-height: 100%;
  padding: 10px;
  text-align: center;
  text-indent: 0;
}

#emergency p {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  color: #000;
  font-size: 16px;
  line-height: 1.3em;
  text-align: center;
  padding: 10px;
}

#emergency a {
  color: #000;
}

#emergency a:hover {
  color: #333;
}

ul .no{pointer-events: none; opacity: 0.3;}

#kikaku .no {
  pointer-events: none;
  opacity: 0.5;
}

/* スクロールを無効にするクラス */
.no-scroll {
  overflow: hidden;
}

/***********************************************************************
「★PC・タブレット版 CSS★」ブラウザの幅が751px以上ならここの記述が有効になる
**********************************************************************/
@media all and (min-width: 751px) {
  html {
    min-width: 1920px;
  }

  .pc_non {
    display: none !important;
  }

  body {
    font-size: 16px;
    line-height: 1.6;
    min-width: 1920px;
    background: #fff;
    margin: 0;
  }

  #wrapper {
    min-width: 1920px;
    margin-top: -30px;
    background: #000;
    overflow: hidden;
  }

  #top {
    background: url("../images/bg_pc.jpg") no-repeat center center/cover;
  }

  .header {
    position: sticky;
    top: 0;
    height: 60px;
    /* background-color: #000; */
    width: 100%;
    z-index: 99;
    min-width: 1920px;
  }


  /*h1*/
  h1.logo {
    position: absolute;
    top: 0px;
    left: 40px;
    z-index: 100;
  }

  header h1 {
    margin: 0 0;
    width: 326px;
    height: 60px;
  }
  header h1 a {
    width: 326px;
    height: 60px;
  }

  header h1 img {
    width: 326px;
    height: 60px;
  }


  h1 a:hover {
    opacity: 0.6;
  }

  .m_logo a {
    margin: 34px 30px 30px 30px;
    position: relative;
    top: 7px;
    z-index: 100;
  }

  /*header_ttl*/
  .header_ttl {
    position: absolute;
    top: 13px;
    left: 383px;
    /*313px*/
    z-index: 99;
  }

  .header_ttl img {
    width: 100%;
  }

  .header_ttl a:hover {
    opacity: 0.6;
  }


  /*snsList*/
  .snsList {
    display: flex;
    /* padding: 10px; */
    position: relative;
    left: 289px;
    bottom: 62px;
    z-index: 100;
    list-style: none;
  }

  .snsList li {
    margin-right: 15px;
  }

  .snsList li:last-child {
    margin-right: 0px;
  }

  .snsList a:hover {
    opacity: 0.6;
  }

  /*menuArea*/
  .menuArea {
    width: 100%;
    min-width: 1920px;
    display: flex;
    justify-content: center;
    position: absolute;
    top: -120px;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 99;
    background: #000000e0;
    padding: 60px 0;
    clip-path: polygon(0 0, 100% 0, 100% 92%, 98% 100%, 2% 100%, 0 92%);
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 92%, 98% 100%, 2% 100%, 0 92%);
    overflow: hidden;
    height: 0;
    transition: .3s;
    font-family: 'Noto Sans Japanese', sans-serif;
    transform: translateZ(); /* yui edit */
  }

  .menuArea.active {
    top: 0;
    height: auto;
  }

  .menuArea ul {
    width: 400px;
    margin: 0 15px;
    /* padding-top: 30px; */
    padding-inline-start: 30px;
  }
  .menuArea .cate4 {
    padding-right: 40px;
  }
  .menuArea .cate5 {
    width: 400px;
    margin: 50px auto;
    margin-bottom: 70px;
    /* padding: 0 30px; */
  }
  .menuArea .cate5:hover {
    opacity: 0.5;
  }
  
  .menuArea .cate1 .cate,
  .menuArea .cate2 .cate,
  .menuArea .cate3 .cate,
  .menuArea .cate4 .cate,
  .menuArea .cate5 .cate {
    height: 39px;
    position: relative;
    text-indent: -9999px;
    margin-bottom: 11px;
    width: 100%;
    background-size: auto 39px !important;
  }

  .menuArea .cate1 .cate {
    background: url(../images/menu_cate1.png) top left no-repeat;
  }

  .menuArea .cate2 .cate {
    background: url(../images/menu_cate2.png) top left no-repeat;
  }

  .menuArea .cate3 .cate {
    background: url(../images/menu_cate3_pc.png) top left no-repeat;
  }
  .menuArea .cate4 .cate {
    background: url(../images/menu_cate4.png) top left no-repeat;
  }
  .menuArea .cate5 .cate {
    background: url(../images/menu_cate5.png) top left no-repeat;
  }

  .menuArea .cate::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 5px;
    left: 0;
    bottom: -10px;
    z-index: -1;
  }

  .menuArea .cate1 .cate::before {
    background: #00FFF8;
  }

  .menuArea .cate2 .cate::before {
    background: #00FFF8;
  }

  .menuArea .cate3 .cate::before {
    background: #00FFF8;
  }

  .menuArea .cate4 .cate::before {
    background: #00FFF8;
  }

  .menuArea .cate5 .cate::before {
    background: #00FFF8;
  }


  .menuArea ul li a {
    display: block;
    height: 60px;
    color: #fff;
    font-size: 20px;
    padding-left: 10px;
    text-decoration: none;
    display: flex;
    background: url(../images/menu_arrow.svg) center left 15px no-repeat;
    align-items: center;
    transition: .3s;
    position: relative;
  }

  .menuArea ul li a p {
    line-height: 1.2em;
    transition: .3s;
  }

  .menuArea ul li a:hover p {
    transform: translateX(5px);
    color: #000;
  }

  .menuArea ul.cate1 li {
    border-bottom: 1px solid #00FFF8;
  }

  .menuArea ul.cate2 li {
    border-bottom: 1px solid #00FFF8;
  }

  .menuArea ul.cate3 li {
    border-bottom: 1px solid #00FFF8;
  }

  .menuArea ul.cate4 li {
    border-bottom: 1px solid #00FFF8;
  }
  .menuArea ul.cate5 li {
    border-bottom: 1px solid #00FFF8;
  }

  .menuArea ul li.non {
    pointer-events: none;
  }

  .menuArea ul li.non a {
    opacity: 0.3;
  }

  .menuArea ul li a:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 0%;
    height: 100%;
    transition: .3s;
    z-index: -1;
  }

  .menuArea ul li a:hover::before {
    width: 100%;
  }

  .menuArea ul.cate1 li a:before {
    background: #00FFF8;
  }

  .menuArea ul.cate2 li a:before {
    background: #00FFF8;
  }

  .menuArea ul.cate3 li a:before {
    background: #00FFF8;
  }

  .menuArea ul.cate4 li a:before {
    background: #00FFF8;
  }
  .menuArea ul.cate5 li a:before {
    background: #00FFF8;
  }


  /*==================================================
　5-2-4 MENUがCLOSEに
*MENU開閉ボタン
===================================*/

  /*ボタン外側※レイアウトによってpositionや形状は適宜変更してください*/
  .openbtn {
    position: absolute;
    /* position: relative; */
    margin: 0 0 0px auto;
    bottom: 50px;
    cursor: pointer;
    width: 60px;
    height: 60px;
    right: 10px;
    top: 0;
    z-index: 100;
  }

  /*ボタン内側*/
  .openbtn span {
    display: inline-block;
    transition: all .4s;
    /*アニメーションの設定*/
    position: absolute;
    left: 7px;
    height: 3px;
    border-radius: 5px;
    background: #fff;
    width: 75%;
  }


  .openbtn span:nth-of-type(1) {
    top: 15px;
  }

  .openbtn span:nth-of-type(2) {
    top: 28px;
  }

  .openbtn span:nth-of-type(3) {
    top: 41px;
  }

  /* .openbtn span:nth-of-type(3)::after {
    content: "Menu";
    position: absolute;
    top: 9px;
    left: -4px;
    color: #000000;
    font-size: 15px;
    text-transform: uppercase;
  } */

  /*activeクラスが付与されると線が回転して×になり、Menu⇒Closeに変更*/

  .openbtn.active span:nth-of-type(1) {
    top: 24px;
    left: 14px;
    transform: translateY(6px) rotate(-45deg);
    width: 75%;
  }

  .openbtn.active span:nth-of-type(2) {
    opacity: 0;
  }

  .openbtn.active span:nth-of-type(3) {
    top: 36px;
    left: 14px;
    transform: translateY(-6px) rotate(45deg);
    width: 75%;
  }

  /* .openbtn.active span:nth-of-type(3)::after {
    content: "Close";
    transform: translateY(0) rotate(-45deg);
    top: 11px;
    left: 9px;
  } */


  /*linkList*/
  .linkList {
    width: auto;
    height: 60px;
    position: absolute;
    right: 85px;
    z-index: 98;
    top: -14px;
    pointer-events: none;
  }

  /* .linkList li {
    display: block;
    position: relative;
    width: 109px;
    height: 103px;
  }

  .linkList li a {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
  } */

  .linkList li {
    display: block;
    position: relative;
    width: 212px;
    height: 60px;
  }


  /* ■■■メニュー■■■ PC */
  .menu_list {
    display: flex;
  }

  .menu_item {
    width: 305px;
  }

  .menu_item:hover>.menu_drop,
  .menu_item:focus>.menu_drop {
    display: block;
  }

  .menu_item:hover img,
  .menu_item:focus img {
    opacity: 0;
  }

  .menu_item span {
    display: inline-block;
  }

  .menu_drop {
    padding: 26px 8px 26px 16px;
    background-color: rgba(0, 0, 0, 0.8);
    display: none;
    position: relative;
    z-index: 99;
    top: 11px;
    width: 130%;
    left: -21.5%;
  }

  .menu_drop_item {
    margin-bottom: 5px;
    padding-left: 0px;
    position: relative;
  }

  .menu_drop_item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    width: 24px;
    height: 25px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }

  .menu_drop_item a {
    color: #fff;
    font-size: 18px;
    /*20px*/
    display: inline-block;
    width: 100%;
    padding: 4px 0px;
    position: relative;
    text-decoration: none;
    box-sizing: border-box;
  }

  .menu_drop_item:not(.nonActive) a span {
    position: relative;
    display: inline-block;
    padding-bottom: 5px;
  }

  .menu_drop_item:not(.nonActive) a span::after {
    background-color: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 0;
    height: 2px;
    transition: 0.3s;
  }

  .menu_drop_item:not(.nonActive) a:hover span::after {
    width: 100%;
  }

  .menu_drop_item.nonActive {
    color: #fff;
    font-size: 18px;
    /*18px*/
    opacity: 0.5;
    /* 追加 */
    padding: 4px 0 9px 0px;
  }

  .menu_drop_item.nonActive a {
    pointer-events: none;
  }

  .menu .menu_item.guide {
    background: url(../images/menu_guide_hover.png) no-repeat top center/100% auto;
  }

  .menu .menu_item.guide .menu_drop_item::before {
    background-image: url(../images/ic01.png);
    display: none;
  }

  .menu .menu_item.guide .menu_drop_item a span::after {
    background-color: #fff;
  }

  .menu .menu_item.data {
    background: url(../images/menu_data_hover.png) no-repeat top center/100% auto;
  }

  .menu .menu_item.data .menu_drop_item::before {
    background-image: url(../images/ic02.png);
    display: none;
  }

  .menu .menu_item.data .menu_drop_item a span::after {
    background-color: #fff;
  }

  .menu .menu_item.special {
    background: url(../images/menu_special_hover.png) no-repeat top center/100% auto;
  }

  .menu .menu_item.special .menu_drop_item::before {
    background-image: url(../images/ic02.png);
    display: none;
  }

  .menu .menu_item.special .menu_drop_item a span::after {
    background-color: #fff;
  }

  .menu .menu_item.movie {
    background: url(../images/menu_movie_hover.png) no-repeat top center/100% auto;
  }

  .menu .menu_item.movie .menu_drop_item::before {
    background-image: url(../images/ic03.png);
    display: none;
  }

  .menu .menu_item.movie .menu_drop_item a span::after {
    background-color: #fff;
  }

  /* ■■■フッター■■■ PC */
  .footer {
    background-color: #000000;
    padding: 3px 0;
    /* position: relative; */
    z-index: 15;

    top: -80px;

  }

  .footer p {
    font-family: "Roboto";
    color: #fff;
  }

  .linkList li:nth-child(1):hover {
    opacity: 0.5;
  }
  .linkList li:nth-child(2):hover {
    opacity: 0.5;
  }


  .footer .yt_ul {
    display: flex;
    width: 500px;
    margin: 25px auto 15px;
    padding: 0;
    justify-content: space-between;
    list-style-type: none;
  }

  .footer .yt_ul li {
    width: 160px;
    height: 60px;
    background: #E92F20;
  }

  .footer .sns_ul {
    display: flex;
    width: 230px;
    margin: 0 auto 15px;
    padding: 0;
    justify-content: space-between;
    list-style-type: none;
  }

  .footer .sns_ul li {
    width: 70px;
    height: 70px;
  }
  .footer .sns_ul li img {
    width: 70px;
    height: 70px;
  }


  /* ページトップ PC */
  #pagetop {
    width: 75px;
    height: 140px;
    background: url(../images/bt_up.png) center no-repeat;
    background-size: contain;
    position: fixed;
    right: 80px;
    bottom: 35px;
    z-index: 999;
    cursor: pointer;
  }

  #pagetop:hover {
    opacity: 0.5;
  }
}

/***********************************************************************
「★PC版 CSS★」ブラウザの幅が1500px以上ならここの記述が有効になる
**********************************************************************/
@media screen and (min-width: 1500px) {
  .header_ttl {
    width: 44.3684210526%;
    top: 26px;
    left: 25%;
  }

  .linkList li.pc_non {
    display: none;
  }

}

/***********************************************************************
「★SP版 CSS★」ブラウザの幅が750px以下ならここの記述が有効になる
**********************************************************************/
@media only all and (max-width: 750px) {
  body {
    font-size: 28px;
    line-height: 1.5;
    background: #000;
    margin: 0;
  }

  body.noScroll {
    overflow: hidden;
  }

  #wrapper {
    overflow-x: hidden;
  }

  p {
    max-height: 100%;
  }

  .sp_non {
    display: none !important;
  }

  #wrapper {
    width: 750px;
    margin-top: 0px;
  }

  .header {
    height: 80px;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    background: #415AFF;
  }

  /*h1*/
 

  /*h1*/
  h1.logo {
    position: absolute;
    top: 17px;
    left: 40px;
    z-index: 100;
  }
  header h1 {
    margin: 0 auto;
    height: 80px;
  }
  header h1 a {
    height: 80px;
    position: absolute;
    top: 0;
  }

  h1 a:hover {
    opacity: 0.6;
  }

  .m_logo {
    margin: 0px;
  }

  .m_logo a img {
    transform: scale(1.6);
    position: relative;
    left: 87px;
    top: -10px;
    z-index: 90;
  }
  
  /*header_ttl*/
  .header_ttl {
    position: absolute;
    top: 100px;
    /*109px*/
    right: 190px;
    /*16px*/
    z-index: 99;
  }

  .header_ttl img {
    width: 110%;
  }

  .header_ttl a:hover {
    opacity: 0.6;
  }

  /*linkList*/
  .linkList {
   width: 282px;
   height: 80px;
   position: fixed;
   right: 80px;
   z-index: 98;
   top: 0;
   padding: 0px;
   margin: 0;
  }

  .linkList li {
    display: block;
    position: relative;
    width: 282px;
    height: 80px;
  }


  /*menuArea*/
  .menuArea {
    width: 100%;
    position: absolute;
    top: -120px;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 99;
    background: #000;
    padding: 60px 0;
    /* overflow: hidden; */ /* yui edit */
    height: 0;
    transition: .3s;
    max-height: 100vh; /* 表示領域を最大高さに設定 */
    overflow-y: auto; /* 縦スクロールを有効にする */
    transform: translateZ(); /* yui edit */
    font-family: 'Noto Sans Japanese', sans-serif;
  }

  .menuArea.active {
    top: 0;
    height: auto;
  }

  .menuArea ul {
    width: 670px;
    margin: 0 auto 0px auto;
    padding-top: 70px;
    padding-left: 0px;
  }

  .cate3 {
    /* padding-bottom: 180px; */
  }

  .cate5 {
    width: 670px;
    margin: 0 auto 0px auto;
    padding-top: 70px;
    padding-left: 0px;
    padding-bottom: 180px;
  }

  .menuArea .cate1 .cate,
  .menuArea .cate2 .cate,
  .menuArea .cate3 .cate,
  .menuArea .cate4 .cate,
  .menuArea .cate5 .cate {
    height: 60px;
    position: relative;
    text-indent: -9999px;
    margin-bottom: 10px;
    background-size: auto 61px !important;
    width: 100%;
  }

  .menuArea .cate1 .cate {
    background: url(../images/menu_cate1.png) top left no-repeat;
  }

  .menuArea .cate2 .cate {
    background: url(../images/menu_cate2.png) top left no-repeat;
  }

  .menuArea .cate3 .cate {
    background: url(../images/menu_cate3.png) top left no-repeat;
  }
  .menuArea .cate4 .cate {
    background: url(../images/menu_cate4.png) top left no-repeat;
  }
  .menuArea .cate5 .cate {
    background: url(../images/menu_cate5.png) top left no-repeat;
  }


  .menuArea .cate::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 6px;
    left: 0;
    bottom: -15px;
    z-index: -1;
  }

  .menuArea .cate1 .cate::before {
    background: #00FFF8;
  }

  .menuArea .cate2 .cate::before {
    background: #00FFF8;
  }

  .menuArea .cate3 .cate::before {
    background: #00FFF8;
  }

  .menuArea .cate4 .cate::before {
    background: #00FFF8;
  }

  .menuArea .cate5 .cate::before {
    background: #00FFF8;
  }

  .menuArea ul li a {
    display: block;
    height: 80px;
    color: #fff;
    font-size: 18px;
    padding-left: 40px;
    text-decoration: none;
    display: flex;
    background: url(../images/menu_arrow.svg) center left 15px no-repeat;
    align-items: center;
    transition: .3s;
    position: relative;
    font-family: sans-serif;
  }

  .menuArea ul li a p {
    line-height: 1.2em;
    font-size: 30px;
    transition: .3s;
    font-weight: bold;
  }

  .menuArea ul li a p br {
    display: none;
  }

  .menuArea ul li a:hover p {
    transform: translateX(5px);
    color: #000;
  }

  .menuArea ul.cate1 li {
    border-bottom: 1px solid #00FFF8;
  }

  .menuArea ul.cate2 li {
    border-bottom: 1px solid #00FFF8;
  }

  .menuArea ul.cate3 li {
    border-bottom: 1px solid #00FFF8;
  }

  .menuArea ul.cate4 li {
    border-bottom: 1px solid #00FFF8;
  }

  .menuArea ul.cate5 li {
    border-bottom: 1px solid #00FFF8;
  }

  .menuArea ul li.non {
    pointer-events: none;
  }

  .menuArea ul li.non a {
    opacity: 0.3;
  }

  .menuArea ul li a:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 0%;
    height: 100%;
    transition: .3s;
    z-index: -1;
  }

  .menuArea ul li a:hover::before {
    width: 100%;
  }

  .menuArea ul.cate1 li a:before {
    background: #00FFF8;
  }

  .menuArea ul.cate2 li a:before {
    background: #00FFF8;
  }

  .menuArea ul.cate3 li a:before {
    background: #00FFF8;
  }

  .menuArea ul.cate4 li a:before {
    background: #00FFF8;
  }

  .menuArea ul.cate5 li a:before {
    background: #00FFF8;
  }




  /*==================================================
　5-2-4 MENUがCLOSEに
*MENU開閉ボタン
===================================*/

  /*ボタン外側※レイアウトによってpositionや形状は適宜変更してください*/
  .openbtn {
    position: relative;
    /* background: #EA2020; */
    margin: 0 0 0px auto;
    bottom: 80px;
    cursor: pointer;
    width: 80px;
    height: 80px;
    right: 0;
    z-index: 110;
  }

  /*ボタン内側*/
  .openbtn span {
    display: inline-block;
    transition: all .4s;
    /*アニメーションの設定*/
    position: absolute;
    left: 7px;
    height: 2px;
    border-radius: 5px;
    background: #fff;
    width: 75%;
  }


  .openbtn span:nth-of-type(1) {
    top: 27px;
  }

  .openbtn span:nth-of-type(2) {
    top: 38px;
  }

  .openbtn span:nth-of-type(3) {
    top: 50px;
  }

  /* .openbtn span:nth-of-type(3)::after {
    content: "Menu";
    position: absolute;
    top: 9px;
    left: -4px;
    color: #000000;
    font-size: 15px;
    text-transform: uppercase;
  } */

  /*activeクラスが付与されると線が回転して×になり、Menu⇒Closeに変更*/

  .openbtn.active span:nth-of-type(1) {
    top: 32px;
    left: 14px;
    transform: translateY(6px) rotate(-45deg);
    width: 60%;
  }

  .openbtn.active span:nth-of-type(2) {
    opacity: 0;
  }

  .openbtn.active span:nth-of-type(3) {
    top: 46px;
    left: 14px;
    transform: translateY(-6px) rotate(45deg);
    width: 60%;
  }

  /* .openbtn.active span:nth-of-type(3)::after {
    content: "Close";
    transform: translateY(0) rotate(-45deg);
    top: 11px;
    left: 9px;
  } */

  /* ■■■メニュー■■■ SP */
  .menu_list {
    display: flex;
  }

  .menu_item {
    width: 187px;
  }

  .menu_item .on {
    display: inline-block;
  }

  .menu_item .on img {
    opacity: 0;
  }

  .menu_drop {
    display: none;
    position: fixed;
    top: 180px;
    left: 0;
    z-index: 99;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
  }

  .menu_drop_inner {
    background-color: rgba(0, 0, 0, 0.8);
    width: 100%;
    height: auto;
    box-sizing: border-box;
    overflow-y: auto;
  }

  .menu_drop.open {
    display: block;
  }

  .menu_dropList {
    /* height: 500px; */
    padding: 70px 8px 40px 20px;
  }

  .menu_drop_item {
    margin-bottom: 25px;
    padding-left: 5px;
    position: relative;
  }

  .menu_drop_item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    width: 40px;
    height: 41px;
    background-size: contain;
    background-position: center;
    /* 追加 */
    background-repeat: no-repeat;
  }

  .menu_drop_item a {
    color: #fff;
    font-size: 34px;
    display: inline-block;
    height: 100%;
    position: relative;
    text-decoration: none;
    box-sizing: border-box;
  }

  .menu_drop_item.nonActive {
    color: #fff;
    font-size: 40px;
    opacity: 0.5;
  }

  .menu_drop_item.nonActive a {
    pointer-events: none;
  }

  .menu .menu_item.guide .on {
    background: url(../images/menu_guide_hover_sp.png) no-repeat top center/100% auto;
  }

  /* 追加 */
  .menu .menu_item.guide .menu_drop_item {
    padding-left: 5px;
  }

  /* .menu .menu_item.guide .menu_drop_item::before {
background: url(../images/ic01.png) transparent;
} */

  .menu .menu_item.data .on {
    background: url(../images/menu_data_hover_sp.png) no-repeat top center/100% auto;
  }


  /* 追加 */
  .menu .menu_item.data .menu_drop_item {
    padding-left: 5px;
  }

  /* .menu .menu_item.data .menu_drop_item::before {
background-image: url(../images/ic02.png);
} */

  .menu .menu_item.movie .on {
    background: url(../images/menu_movie_hover_sp.png) no-repeat top center/100% auto;
  }


  /* .menu .menu_item.movie .menu_drop_item::before {
background-image: url(../images/ic03.png);
} */

  .menu .menu_item.special .on {
    background: url(../images/menu_special_hover_sp.png) no-repeat top center/100% auto;
  }

  /* ■■■sns■■■ SP */
  .snsList {
    display: flex;
    justify-content: center;
    list-style: none;
    position: relative;
    bottom: 92px;
    left: 119px;
    transform: scale(1.5);
  }

  .snsList li {
    margin-right: 5px;
  }

  .snsList li:last-child {
    margin-right: 0px;
  }

  /* ■■■フッター■■■ SP */
  .footer {
    background-color: #000000;
    position: relative;
    top: -80px;
  }

  .footer p {
    font-family: "Roboto";
    color: #fff;
  }

  .footer .yt_ul {
    display: flex;
    width: 692px;
    margin: 45px auto 22px;
    padding: 0;
    justify-content: space-between;
    list-style-type: none;
  }

  .footer .yt_ul li {
    width: 224px;
    height: 82px;
    background: #E92F20;
  }

  .footer .sns_ul {
    display: flex;
    width: 316px;
    margin: 0 auto 22px;
    padding: 0;
    justify-content: space-between;
    list-style-type: none;
  }

  .footer .sns_ul li {
    width: 100px;
    height: 100px;
  }

  /* ページトップ SP */
  #pagetop {
    width: 114px;
    height: 114px;
    background: url(../images/bt_up.png) center no-repeat;
    background-size: contain;
    position: fixed;
    right: 5px;
    bottom: 108px;
    z-index: 9;
  }


}

/*　/SP版 CSS　*/
/***********************************************************************
keyframe
**********************************************************************/
@keyframes loading {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/***********************************************************************
アニメーション指定
**********************************************************************/
.top .title {
  animation: fadeup 0.8s ease forwards,
             floating-y 1.5s ease-in-out infinite alternate-reverse 1s;
}
.top .title.anime.-fadeup {
  transform: none; /* ここで translateY(50px) を打ち消す */
}


/***********************************************************************
keyframe
**********************************************************************/
@keyframes fadeup {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes floating-y {
  0% { transform: translateY(-2%); }
  100% { transform: translateY(0%); }
}

