@charset "utf-8";

* {
  margin: 0px;
  padding: 0px;
}
button{
  background-color:rgba(0, 0, 0, 0);
  border:none;
  outline:0;
}
button:focus {
	outline:0;
}
html {
  font-size: 40px;
  margin: 0px;
}
img{
  max-width: 100%;
}
body {
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  /*background:url(../images/bgimg.jpg) center top;*/
  overflow-x: hidden;
  z-index: 0;
  background-color: #000;
  position: relative;
}

/*
.anim-balloon {
　　animation: anim-rotate 2s ease-out 2s infinite;
　　transform-origin: 0 40%;
}

.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
}
@keyframes bounce{
  0% {
    transform: scale(1,1);
    opacity: 0;
     filter: blur(0px);
   }
   30% {
     transform: scale(1,1);
     opacity: 0;
     filter: blur(0px);
   }
   40% {
     transform: scale(1.5,1.5);
     opacity: 1;
      filter: blur(10px);
    }
    50% {
      transform: scale(1,1);
      opacity: 1;
      filter: blur(0px);
    }
   100% {
     transform: scale(1,1);
     opacity: 1;
     filter: blur(0px);
   }
}
*/
@keyframes blur {
  0% {
    transform: translate(0, 0);
    opacity: 0;
    filter: blur(30px);
  }

  100% {
    transform: translate(0, 0);
    opacity: 1;
    filter: blur(0px);
  }
}

/*------------nav--------------*/
/*ソーシャルボタン*/
.social {
  position: fixed;
  top: 5%;
  left: 1.5%;
  z-index: 3000;
  display: flex;
  flex-direction: row;
}

.social a {
  margin: 0 10% 0 0;
  display: block;
}

.social a img {
  width: 20px;
  height: auto;
}

.social a:hover {
  opacity: 0.7;
}

#nav-content {
  position: fixed;
  width: 200px;
  padding: 0;
  height: 100%;
  left: 0px;
  top: 0px;
  z-index: 900;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  overflow: hidden;
  background-color: #FFF9E0;
  text-align: center;
}

.logo {
  width: 100%;
  margin: 40% 0 0 0;
  text-align: center;
  padding: 0 0 0 0;
}

.presents {
  width: 100%;
  text-align: center;
}

#nav-content .logo img {
  margin: 10px auto 0px;
}

#nav-content .logo ul li a img {
  margin: 0;
  width: 100%;
}

#nav-content .logo ul li img {
  /*max-width: 90%;*/
}

#nav-content ul li {
  text-align: center;
}

#nav-content ul li {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-right: auto;
}

#nav-drawer {
  height: 0px;
  text-align: left;
}

.presents a img {
  width: 90%;
  margin: 10px auto;
}

.opacity:hover {
  opacity: 0.7;
}

.dot, .navcont {
  position: relative;
  display: block;
  text-decoration: none;
  width: 100%;
  margin: 2px auto;
  padding: 0 0 10px 0;
  text-align: left;
}

.dot::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
  z-index: 9999;
}

.dot:hover::after {
  transform: scale(1, 1);
}

/*----sticky-nav-------------------------------------*/
.sticky-wrapper{
  position: relative;
}
.sticky-nav{
  position: sticky;
  top:0;
  z-index: 99;
  margin-top:9%;
}
.sticky-nav a{
  display: block;
}
.sticky-nav img{max-width:100%;}
.sticky-nav .flex{
  width:92%;
  margin:0 auto;
  display: flex;
  list-style-type:none;
}
.sticky-margin{
  margin-top: -16% !important;
}

/*----btn-wrapper-------------------------------------*/
a href=""{
  pointer-events:none;
}

.btn-wrapper{
  width:82%;
  margin:0 9%;
  position:absolute;
  display:flex;
  justify-content: space-between;
  top:14.7%;
}
.btn-wrapper2{
  width:72%;
  margin:0 14%;
  top:20.5%;
}

.btn-wrapper a{
  width:16%;
}
.btn-wrapper img{
  max-width:100%;
}
.buy-btn{
  position: absolute;
  z-index: 1;
  width:12%;
}
.buy-btn img{
  width:100%;
  height:auto;
}

.buy-btn.buy1-1{
  top: 28.3%;
  left: 16%;
}

.buy-btn.buy1-2{
  top: 28.3%;
  left: 32%;
}

.buy-btn.buy1-3{
  top: 31.5%;
  left: 16%;
}

.buy-btn.buy1-4{
  top: 31.5%;
  left: 32%;
}

.buy-btn.buy2{
  top: 31.7%;
  left:68%;
}
.buy-btn.buy3{
  top: 42.8%;
  left: 22%;
}
.buy-btn.buy4{
  top: 41.65%;
  left: 81%;
}
.buy-btn.buy5{
  top: 51.3%;
  left: 15%;
}

.buy-btn.buy6{
  top: 51.3%;
  left: 56%;
}

.buy-btn.buy7{
  top: 62.7%;
  left: 10.5%;
}

.buy-btn.buy8{
  top: 58%;
  left: 80%;
}

.buy-btn.buy9{
  top: 73.77%;
  left: 31%;
}

.buy-btn.buy10{
  top: 73.77%;
  left: 59.5%;
}

.buy-btn.buy11{
  top: 73.77%;
  left: 76%;
}

.buy-btn.buy12{
  top: 83.5%;
  left: 16%;
}

.buy-btn.buy13{
  top: 83.5%;
  left: 44%;
}

.buy-btn.buy14{
  top: 83.5%;
  left: 72%;
}

.buy-btn.buy15{
  top: 93%;
  left: 14%;
}

.buy-btn.buy16{
  top: 93%;
  left: 43%;
}

.buy-btn.buy17{
  top: 93%;
  left: 73%;
}
.buy-btn.buy0{
  top: 8.7%;
  left: 34%;
}
.buy-btn.buy18{
  top: 38.2%;
  left: 81%;
}

.buy-btn.buy19{
  top: 49.5%;
  left: 81%;
}

.buy-btn.buy20{
  top: 67.2%;
  left: 52%;
}

.buy-btn.buy21{
  top: 67.2%;
  left: 76%;
}

.buy-btn.buy22{
  top: 76.3%;
  left: 63%;
}

.buy-btn.buy22_2{
  top: 73.95%;
  left: 35%;
}

.buy-btn.buy23{
  top: 84%;
  left: 50%;
}

.buy-btn.buy24{
  top: 84%;
  left: 65.2%;
}

.buy-btn.buy25{
  top: 84%;
  left: 80.5%;
}

.btn-wrapper3{
  width:80%;
  margin:0 10%;
  top:88%;
}
.btn-wrapper3 a{
  width:42%;
}
.popup-btn{
  position:absolute;
  z-index:1;
}
.popup-btn img{
  width:100%;
  height:auto;
}
.popup-btn.popup1{
  top:57.5%;
  width:56%;
  margin:0 22%;
}
.popup-btn.popup2{
  top:59.5%;
  width:56%;
  margin:0 22%;
}
.popup-btn.popup3{
  top:69%;
  width:40%;
  margin:0 30%;
}
.popup-btn.popup4{
  top:73%;
  width:40%;
  margin:0 30%;
}
.popup-btn.popup5{
  top:92.3%;
  width:70%;
  margin:0 15%;
}

.popup-btn.popup5-2{
  top:87.5%;
  width:70%;
  margin:0 15%;
}

.infobtn{
  position: absolute;
  top: 27%;
  left: 4%;
  width: 44.5%;
}

.infobtn img{
  width: 100%;
}

.infobtn_acsses{
  position: absolute;
  top: 11%;
  left: 14%;
  width: 72%;
}

.infobtn_acsses img{
  width: 100%;
}

/*-----pdf-------------------------------------*/
.list_pdf{
  position: absolute;
  top:96%;
  width:92%;
  margin:0 4%;
}
.list_pdf img{
  width:100%;
}
/*-----wrapper-------------------------------------*/
#wrapper {
  z-index: 0;
  height: auto;
  background-color: #000;
  width: calc(100% - 200px);
  margin: 0 0 0 200px;
  position: relative;
}

body#memories #wrapper {
  width: 100%;
  margin: 0 auto;
}

body#memories #wrapper h2 {
  text-align: center;
}

body#memories #wrapper h2 img {
  width: 90%;
}

.header {
  margin: 0 0 0 0;
  position: relative;
  width: 100%;
  height: auto;
  /*background-image: url(../images/bg.jpg);
  background-repeat: no-repeat;
  background-size: contain;*/
}

.header_bg img {
  width: 100%;
  position: relative;
}
.header:before {
  /*content: "";
  display: block;
  padding-top: 140.3%;
  width: 100%;
  height: 100%;*/
}


.omikuji_btn{
  position: absolute;
  top: 13%;
  left:3%;
  width: 15%;
}

.omikuji_btn img{
  width: 100%;
}

.omikuji{
/*   width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    background: rgba(0,0,0,0.5);
    display: none;*/
}
@keyframes kuji {
  0% {
    opacity: 0;
    filter: blur(30px);
  }

  100% {
    opacity: 1;
    filter: blur(0px);
  }
}
.kuji{
  position: absolute;
  width: 50%;
  top: 30%;
  left: 50%;
  transform: translateX(-50%);
  display: none;
  opacity: 0.2;
  transition-duration: 0.5s;
  padding: 3%;
  background-color: rgba(0,0,0,0.5);
}

.active{
  display: block;
  opacity: 1;
  transition-duration: 0.5s;
  animation-name: kuji;
  animation-duration: 0.5s;
  animation-iteration-count: 1;
}

.maintitle {
  text-align: center;
  position: absolute;
  top: 37%;
  left: 46%;
  width: 45%;
}

.maintitle img {
  width: 100%;
  margin: 0 auto;
  opacity: 0;
  animation-name: blur;
  animation-duration: 5s;
  animation-delay: 0s;
  animation-fill-mode: forwards;
  display: inline-block;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.multi img {
  mix-blend-mode: multiply;
}

@keyframes blur {
  0% {
    transform: translate(0, 0);
    opacity: 0;
    filter: blur(30px);
  }

  100% {
    transform: translate(0, 0);
    opacity: 1;
    filter: blur(0px);
  }
}

.chart_icon {
  position: absolute;
  width: 13%;
  top: 3%;
  left: 3%;
}

.chart_icon:hover {
  opacity: 0.7;
}

.chart_icon img {
  width: 100%;
}

.mainlogo, .logoback {
  position: absolute;
}

.mainlogo img, .logoback img {
  width: 100%;
  height: auto;
  position: absolute;
}

.mainlogo {
  width: 14.5%;
  z-index: 10;
  top: 7.5%;
  left: 40%;
  transform: translate(-50%, 0);
  animation-delay: 0.5s;
}

.logoback {
  width: 100%;
  z-index: 9;
  top: 16%;
  left: 3%;
}

@keyframes fuwafuwa {
  0% {
    transform: translate(0, 0) rotate(-2deg);
  }

  50% {
    transform: translate(0, -20px) rotate(0deg);
  }

  100% {
    transform: translate(0, 0)rotate(2deg);
  }
}

/*-----wrapper-------------------------------------*/
/*-----conts-------------------------------------*/
.conts {
  position: relative;
  width: 100%;
  padding: 0 0 0 0px;
  box-sizing: border-box;
  margin: 0px 0px 0px 0px;
}

.btn {
  position: absolute;
}

.btn:hover {
  opacity: 0.7;
}

.btn img {
  width: 100%;
}

.order_btn {
  width: 80%;
  top: 87.5%;
  left: 50%;
  transform: translateX(-50%);
}

img.main {
  width: 100%;
}

.goods {
  margin: 0 0 0 0;
  width: 100%;
  position: relative;
  width: 100%;
  height: auto;
  background-image: url(../images/goods.png);
  background-repeat: no-repeat;
  background-size: contain;
}

.pdf {
  width: 60%;
  position: absolute;
  bottom: 1.5%;
  left: 50%;
  transform: translateX(-50%);
}

.pdf img {
  width: 100%;
}

.form {
  position: absolute;
  top: 52.8%;
  left: 50%;
  transform: translateX(-50%);
  width: 78%;
  pointer-events: none;
  opacity: 0.4;
  background: rgba(0, 0, 0, 1);
}

.form img {
  width: 100%;
}

a img:hover {
  opacity: 0.7;
}

.tw_btn img:hover {
  opacity: 0.7;
}

.register {
  position: absolute;
  width: 21%;
  top: 54.5%;
  right: 4.7%;
}

.register:hover {
  opacity: 0.7;
}

.register img {
  width: 100%;
}

.ebook_banner {
  position: absolute;
  width: 95%;
  top: 27%;
  left: 50%;
  transform: translate(-50%, 0);
}

.ebook_banner:hover {
  opacity: 0.7;
}

.access {
  margin: 0 0 0 0;
  width: 100%;
  position: relative;
  width: 100%;
  height: auto;
  /*  background-image: url(../images/access.jpg);
  background-repeat: no-repeat;
  background-size: contain;*/
}

.access:before {
  /*content: "";
  display: block;
  padding-top: 159.9%;
  width: 100%;
  height: 100%;*/
}

.access_link iframe {
  position: absolute;
  top: 53%;
  left: 7.5%;
  width: 38%;
  height: 28%;
  box-shadow: 1px 0px 7px #0006;
}
.access_link2 iframe {
  position: absolute;
  top: 53%;
  left: 54.5%;
  width: 38%;
  height: 28%;
  box-shadow: 1px 0px 7px #0006;
}

.lb_anker {
  color: #fff;
  background-color: #F1307F;
  border-radius: 15px;
  text-decoration: none;
  position: relative;
  top: -23px;
  padding: 0 10px;
}

.lb_anker:hover {
  opacity: 0.7;
}
.night_banner_schedule,
.night_banner_schedule img{
  width: 100%;
  height: auto;
}
/* safari */
/* Safari 7.1+ (9.0 is the latest version of Safari at this time) */
_::-webkit-full-page-media, _:future, :root .lb_anker {
  color: #fff;
  background-color: #F1307F;
  border-radius: 15px;
  text-decoration: none;
  position: relative;
  top: -23px;
  padding: 0 10px;
}

.twitter {
  position: absolute;
  top: 19%;
  right: 10%;
  width: 64%;
}
.twitter2 {
  position: absolute;
  top: 32%;
  right: 9%;
  width: 20%;
}
.apply {
  position: absolute;
  top: 38.5%;
  right: 50%;
  transform: translateX(50%);
  width: 49%;
}

.tweet {
  position: absolute;
  bottom: 16%;
  right: 50%;
  transform: translateX(50%);
  width: 80%;
}

.map_btn {
  position: absolute;
  top: 31%;
  left: 8%;
  width: 17%;
}

/*-----conts-------------------------------------*/
/*-----footer-------------------------------------*/
.footer {
  position: relative;
  width: 100%;
  margin: 0;
  line-height: 1;
  text-align: center;
  vertical-align: bottom;
  color: #fff;
  padding: 0;
  background-color: #fff;
}

.officialtwitter {
  height: auto;
  position: absolute;
  left: 120%;
  width: 74%;
}

.footer a:hover {
  opacity: 0.7;
}

.footer:before {
  /*content: "";
  display: block;
  padding-top: 32.7%;
  width: 100%;
  height: 100%;*/
}

.footer_tit_btn {
  position: absolute;
  display: inline-flex;
  flex-direction: row;
}

.company_btn {
  height: auto;
  position: absolute;
  left: 1%;
  width: 42%;
}

.company_btn img {
  height: auto;
  width: 100%;
}

.btn1 {
  top: 10.5%;
}

.btn2 {
  top: 46.5%;
}

.flex_column{
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 10.5%;
  justify-content: flex-start;
  align-content: flex-start;
  left: 45%;
  width: 24%;
}
.flex_column a{
  width: 100%;
  height: auto;
  display: contents;
}
.flex_column a img{
  width: 100%;
  height: auto;
  padding: 0.6%;
}
.anime_official{
  position: absolute;
  top: 11%;
  right: 16%;
  width: 13%;
}
.anime_twitter{
  position: absolute;
  top: 16%;
  right: 4%;
  width: 10%;
}
.melon {
  position: absolute;
  right: 3%;
  bottom: 8%;
  width: 16%;
}

.melon {
  position: absolute;
  right: 3%;
  bottom: 8%;
  width: 16%;
}
.hj{
  position: absolute;
  right: 21%;
  bottom: 8%;
  width: 5%;
}
/*-----footer-------------------------------------*/
/*トップボタン*/
.topBtn {
  position: fixed;
  bottom: 20px;
  right: 30px;
  display: block;
  background-color: rgb(136, 94, 110);
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  font-size: 12px;
  width: 50px;
  height: 50px;
  text-align: center;
  line-height: 22px;
  border-radius: 40px;
  padding-top: 20px;
  box-sizing: border-box;
}

.topBtn:before {
  content: '\25B2';
  position: absolute;
  top: 2px;
  left: 0;
  width: 100%;
  text-align: center;
  font-size: 13px;
}

.topBtn:hover {
  opacity: 0.7;
}

@media screen and (max-width:900px) {
  #wrapper {
    width: 100%;
    margin: 0px;
  }
  .kuji{
    width: 70%;

  }

  .chart_icon {
    position: absolute;
    width: 13%;
    top: 88%;
    left: 3%;
  }

  .social {
    position: fixed;
    top: 9%;
    left:auto;
    right: 3.5%;
    z-index: 3000;
    display: flex;
    flex-direction: row;
  }

  .personality_body #wrapper {
    width: 100%;
    margin: 0;
  }

  .personality {
    padding: 100px 0 0 0;
    width: 90%;
  }

  #nav-drawer {
    position: fixed;
    z-index: 100;
    top: 2%;
    right: 3.5%;
    height: 40px;
    background-color: rgba(255, 255, 255, 0.7);
  }

  #nav-open:hover {
    cursor: pointer;
    opacity: 0.7;
  }

  /*チェックボックス等は非表示に*/
  .nav-unshown {
    display: none;
  }

  /*アイコンのスペース*/
  #nav-open {
    display: inline-block;
    width: 30px;
    height: 22px;
    vertical-align: middle;
    margin: 10px 5px 0px 10px;
  }

  /*ハンバーガーアイコンをCSSだけで表現*/
  #nav-open span, #nav-open span:before, #nav-open span:after {
    position: absolute;
    height: 3px;
    /*線の太さ*/
    width: 25px;
    /*長さ*/
    border-radius: 3px;
    background: #555;
    display: block;
    content: '';
    cursor: pointer;
  }

  #nav-open span:before {
    bottom: -8px;
  }

  #nav-open span:after {
    bottom: -16px;
  }

  /*閉じる用の薄黒カバー*/
  #nav-close {
    display: none;
    /*はじめは隠しておく*/
    position: fixed;
    z-index: 99;
    top: 0;
    /*全体に広がるように*/
    left: 0;
    width: 100%;
    height: 100%;
    background: black;
    opacity: 0;
    transition: .3s ease-in-out;
  }

  /*中身*/
  #nav-content {
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    /*最前面に*/
    width: 200px;
    /*右側に隙間を作る（閉じるカバーを表示）*/
    height: 100%;
    transition: .3s ease-in-out;
    /*滑らかに表示*/
    transform: translateX(-105%);
    /*左に隠しておく*/
  }

  /*チェックが入ったらもろもろ表示*/
  #nav-input:checked~#nav-close {
    display: block;
    /*カバーを表示*/
    opacity: .5;
  }

  #nav-input:checked~#nav-content {
    transform: translateX(0%);
    /*中身を表示（右へスライド）*/
    box-shadow: 6px 0 25px rgba(0, 0, 0, .15);
  }

  .conts {
    width: 100vw;
    padding: 0px 0px 0px 0px;
    box-sizing: border-box;
    margin: 0px;
    position: relative;
  }

  #nav {
    display: none;
  }
}

/*---------------------診断--------------------------------*/
.personality {
  position: relative;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 70%;
  padding: 0;
}

.personality img.personality_main {
  width: 100%;
}

.chart {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 100%;
}

.chart a {
  width: calc(100% / 8);
  height: auto;
  display: block;
}

.chart a img {
  width: 100%;
}

.chart a img:hover {
  opacity: 0.7;
}

.personality_body #wrapper {
  width: 100%;
  margin: 0;
}
