@charset "UTF-8";

html {
    font-size: 100%;
    font-family: 'Kaisei HarunoUmi', serif;
    scroll-behavior: smooth;
        background-color: #f8e8f2;

}

body {
    background-color: #f8e8f2;
    background-image: url(../img/hyr_P_BG.jpg);
    background-repeat: repeat-x;
    /*background-attachment :fixed;*/
    background-size:contain;
    background-position: center 0px;
}
.votepage{
    background-image: url(../img/hyr_vote_BG.jpg)!important;
}

@media screen and (min-width: 767px) { /*PC*/
       body {background-image: url(../img/test_P_pcBG.jpg);    background-repeat: repeat-x;
}
    }
   
@media screen and (max-width: 767px) { /*SP*/
      body {background-image: url(../img/hyr_P_BG.jpg);    background-repeat: repeat-x;
}
}

#bg1 {

    background: url(../img/hyr_bgcloud.png);
    background-repeat: repeat;
    /*background-attachment:fixed;*/
    background-size :contain;
    background-position: center 0px;
}

#bg2 {
    background: url(../img/hyr_bgfude.webp);
    background-repeat: repeat;
    /*background-attachment:fixed;*/
    background-size:contain;
    background-position: center 0px;
}

a {
    text-decoration: none;
}

img {
    max-width: 100%;
}

.wrapper {
    max-width: 980px;
    margin: 0 auto;
    font-size: 0.9rem;
    padding: 0 25px;
}
.top_wrapper {
    max-width: 1200px;
    margin: 0 auto;
    font-size: 0.9rem;
    padding: 0 25px;
}

.border1 {
    opacity: 0;
    margin-top:min(7vw,130px);
    margin-bottom:min(7vw,130px);
}

.border1.active {
    opacity: 1;
    margin-top:min(7vw,130px);
    margin-bottom:min(7vw,130px);
}

header {
    display: block;
    margin: 0 auto;
    padding: 2% 6% 0 6%;
    background: background:transparent;;
    height: 60px;
    width: 100%;
    position: fixed;
    top: 5px;
    z-index: 2147000000;
    animation: SlideIn 3s ease 0s 1 normal;
    -webkit-animation: SlideIn 3s ease 0s 1 normal;
}

header img{
    max-width:500px;
}

  

/*=================== fade key ===================*/

.site_logo {width:20vw;}


/*-------------------------------------------
TOP
-------------------------------------------*/
.top_content_sp{
    margin:0;
    position:relative;
    text-align: center;
    z-index:99999;
}
.top_content{
    margin-top:0;
    text-align: center;
}


#top_imgA{ 
    display:  inline-block;   
    background-image: url(../img/hyr_topimg1.png);
    background-repeat: no-repeat;

    background-size:  contain;
    background-position: top center;
}
#top_imgB{ 
    display:  inline-block;   
    background: url(../img/hyr_topimg2.png);
    background-repeat: no-repeat;

    background-size:  contain;
    background-position: top center;
}
#top_imgC{ 
    display:  inline-block;   
    background: url(../img/hyr_topimg3.png);
    background-repeat: no-repeat;

    background-size:  contain;
    background-position: top center;
    background-position: top center;
}
#top_imgD{ 
    display:  inline-block;   
    background: url(../img/hyr_topimg4.png);
    background-repeat: no-repeat;

    background-size:  contain;
    background-position: top center;
}
#top_imgE{ 
    display:  inline-block;   
    background: url(../img/hyr_topimg_logo.png);
    background-repeat: no-repeat;

    background-size:  contain;
    background-position: top center;
}


@media screen and (min-width: 767px) { /*PC*/
        .top_content_sp {
        display: none;
    }
        .top_content {
        display: block;
        margin-left: 0;
        margin-right: 0;
    }
    .top_wrapper {
    max-width: 2000px;
    margin: 0 auto;
    font-size: 0.9rem;
        margin:0px 0px 0px 0px;
        padding:0;
    }

}
@media screen and (max-width: 767px) { /*SP*/
        .top_content {
        display: none;
    }
}
/*-------------------------------------------
TOUHYOU
-------------------------------------------*/
.touhyou{
    background:url(../img/hyr_dev_movie_bg.webp);
    background-size:auto;
    background-repeat: repeat;
        padding-top:30px;
  padding-bottom:30px;
    text-align:center
}
.touhyou_bg{
    background:transparent;

}
.touhyou_obi{
    background:url(../img/hyr_obi_haikei.png);
    height:15px;
    background-repeat: repeat-x;
    margin-top:-30px;
    margin-bottom:10px; 
}

.touhyou_obi_bottom{
    background:url(../img/hyr_obi_haikei.png);
    height:15px;
    background-repeat: repeat-x;
    margin-bottom:-30px; 
    margin-top:30px; 
}

.touhyou .text{
    font-size:min(3.75vw,20px);
    text-align:center;
    margin:20px 0 30px 0; 
}

.touhyou-btn a {
    background: #ffff00;
    border-radius: 100vh;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 350px;
    padding: 15px 25px;
    color: saddlebrown;
    transition: 0.3s ease-in-out;
    font-weight: 900;
    font-size:1.25rem
}
.touhyou-btn a:hover {
    background: #cccc00;
    color: saddlebrown;
}
.touhyou-btn a:after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid saddlebrown;
    border-right: 3px solid saddlebrown;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
.touhyou-btn a:hover:after {
    border-color: #ffff00;
}

@media screen and (min-width: 767px) { /*PC*/
.touhyou_bg{
    background:#d13280;
}
    


/*-------------------------------------------
NEWS
-------------------------------------------*/
.news{
    background:brown;
}
.news_bg{
    background:brown;
}
/*-------------------------------------------
CONTENTS1
-------------------------------------------*/
.content1{
    background:transparent;
    text-align:center;
}
.content1_bg{
    background:transparent;
    margin-top:50px;
}
/*-------------------------------------------
CONTENTS2
-------------------------------------------*/
.content2{
    background:transparent;
}
.content2_bg{
    background:transparent;
}
@media screen and (min-width: 767px) {
    .content2_bg tbody{
       display:none;
    }
    .content2_bg thead td{vertical-align: middle;}

}
@media screen and (max-width: 767px) {
    .content2_bg thead td{display:none;}
    }
}
/*-------------------------------------------
CONTENTS2-5
-------------------------------------------*/
.content2-5{
    background:transparent;
    
}
.content2-5_bg{
    background:transparent;
    width:100%;
    height:min(30vw,250px);
    position:relative;
}
.komidashi{
    width:100%;
    position:absolute;
    top:0;
    left:0;
    opacity:0;
}
.komidashi.active{
    width:100%;
    position:absolute;
    top:0;
    left:0;
    opacity:1;
}

.text_2{
    color:#530049;
    font-size:min(3.75vw,20px);
    text-align:center;
    margin:20px 0 30px 0; 
}

@media screen and (min-width: 767px) { /*PC*/
.content2-5{
    background:transparent;
}
.content2-5_bg{
    background:transparent;
    width:70%;
    height:min(30vw,250px);
    position:relative;
        margin:0 auto;

}
.komidashi{
    width:100%;
    opacity:0;
}
.komidashi.active{
    width:100%;
    opacity:1;
}

.text_2{
    color:#530049;
    font-size:min(3.75vw,20px);
    text-align:center;
    margin:20px 0 30px 0; 
}
    .sp_column{display:none;}
}
@media screen and (max-width: 768px) { /*SP*/
    .pc_column{display:none;}}


.twocol{display:flex;max-width: 980px;margin:0 auto;}
/*-------------------------------------------
CONTENTS3
-------------------------------------------*/
.content3{
    background:darkorange;
}
.content3_bg{
    background:darkorange;
}
.charaimg{
    display:flex;
    gap:5vw;
    margin-bottom:4vw;
}
@media screen and (max-width: 767px) {
    .charaimgsp{
        display:none;
    }
}
@media screen and (min-width: 768px) {
    .charaimg{
        display:none;
    }
    .charaimgsp{
    display:flex;
    gap:min(5vw,30px);
    margin-bottom:30px;
}
}


.flipA{
    opacity: 0;
}
.flipA.active{
    opacity: 1;
    filter: drop-shadow(5px 5px 5px rgba(0,0,0,0.4));
    animation: flipInX .5s ease 0s 1 normal;
}
.flipB{
    opacity: 0;
}
.flipB.active{
    opacity: 1;
    filter: drop-shadow(5px 5px 5px rgba(0,0,0,0.4));
    animation: flipInX .5s ease 0s 1 normal;
}
.flipC{
    opacity: 0;
}
.flipC.active{
    opacity: 1;
    filter: drop-shadow(5px 5px 5px rgba(0,0,0,0.4));
    animation: flipInX .5s ease 0s 1 normal;
}
.flipInY{
    opacity: 0;
}
.flipInY.active{
    opacity: 1;
    filter: drop-shadow(5px 5px 5px rgba(0,0,0,0.2));
    animation: flipInY 1s ease 0s 1 normal;
}
@keyframes flipInY{
    0%{opacity: 0.2;}
    20%{opacity: 0.3;}
    40%{opacity: 0.6;}
    60%{opacity: 0.7;}
    80%{opacity: 0.85;}
    100%{opacity: 1;}
    
}


/*-------------------------------------------
CONTENTS4
-------------------------------------------*/
.content4{
    background:transparent;
    text-align:center;

}

.content4_bg{
    background:transparent;
    opacity: 0;
}

.gallery img{
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

.gallery{
	margin:10px 0 0px 0;
}


.gallery li{
list-style:none;
}

.slick-prev, 
.slick-next {
    position: absolute;
	z-index: 3;
    top: 42%;
    cursor: pointer;
    outline: none;
    border-top: 2px solid #ccc;
    border-right: 2px solid #ccc;
    height: 25px;
    width: 25px;
}

.slick-prev {
    left:2.5%;
    transform: rotate(-135deg);
}

.slick-next {
    right:2.5%;
    transform: rotate(45deg);
}

.choice-btn {
	opacity: 1;
}

.choice-btn.active {
	opacity: 1;
    animation: fadeInUp .5s ease 0s 1 normal;
}
.choice-btn li{
	cursor: pointer;
	outline: none;
	background:transparent;
    list-style:none;
    padding:5px;
}

@media screen and (min-width: 767px) { /*PC*/
 .choice-btn li{width:32%!important;}
    #chara_sp{display:none;}
        #chara_pc{display:block}

}
@media screen and (max-width: 767px) { /*SP*/
.choice-btn li{	width:16%!important;}
        #chara_pc{display:none;}
    #chara_sp{display:block}

}

.choice-btn li img{
	opacity: 0.6;
	object-fit:cover;
	border-radius:50%;
}

.choice-btn li.slick-current img{
	opacity: 1;
}

.choice-btn .slick-track {
	transform: unset !important;
}


/*-------------------------------------------
CONTENTS5
-------------------------------------------*/
.content5{
    background:transparent;
}
.content5_bg{
    background:transparent;
}
.content5 p{
    text-align:center;
    margin-top:8px;
    margin-bottom:25px;
}




/*=================== (SP)charactor ===================*/
#charactor{
    margin-bottom:8vw;
}
.chara-wrap {
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:min(3.5vw,60px);
}
.chara-wrap img{
    width:min(41vw,270px);
    /*animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;*/
}
 
/*=================== fade key ===================*/
@keyframes fadeIn {
    0% {opacity: 0;transform: translateY(100px);} 
    100% {opacity: 1;transform: translateY(0px);} 
}
 @-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
}


/*=================== (PC)charactor ===================*/
@media screen and (min-width: 768px) {
    .chara-wrap {
      gap: 32px;  
    } 
    .chara-wrap img{
    width:min(28vw,270px);
}
}

/*=================== story ===================*/
@media{
#story {

  background:none;
  padding-top: 0px;
  margin-bottom: 5.5%;
}
.story_text {
    background:url(../img/hyr_story_haikei.jpg);
    background-size:cover;    
    border:0px solid #000000;
    overflow:auto;
    font-size:min(3.7vw,1.25rem);
	width:100%; 
    height:350px;
	padding:20px;
	color:#000;
	background-color:#ffffff;
	line-height:1.5rem;
    font-feature-settings:"palt";
}
#story p {
    font-weight: 600;
    margin-top:20px;
    margin-bottom: 7px
}
.leftmargin{
    padding-left: 13px;
}
#story .leftmargin p{
    font-weight: 600;
    margin-top:10px;
    margin-bottom: 0px
}
}


/*=================== twit ===================*/
.twit{
    padding: 0 25px;
    height:600px;
}



/*=================== Kiyaku ===================*/
@media{
#kiyaku {
  font-family: 'Open Sans', sans-serif;
  margin-bottom: 5.5%;
}
.kiyaku_text {
        border: 1px solid white;
    padding:8px;
    overflow:scroll;
    font-size:13px;
	width:100%; 
    height:335px;
	color:#fff;
	line-height: 1.5;
    font-feature-settings:"palt";
}


}
/*-------------------------------------------
SP kiyaku
-------------------------------------------*/
@media screen and (max-width: 768px) {
.kiyaku_text {
    border: 1px solid white;
    padding:8px;
    overflow:scroll;
    font-size:13px;
	width:100%; 
    height:600px;
	color:#fff;
	line-height: 1.5;
    font-feature-settings:"palt";
}
}
.vote_bg{
    background-color:#be3280;
}
/*-------------------------------------------
footer
-------------------------------------------*/
@media{
.footer{
    background-image: url(../img/hyr_footerimage.jpg);
    background-repeat: repeat-x;
    background-size:cover;
    
    background-position: center 0px;
    color: #fefefe;
    position:relative;
    bottom:0px;
    left:0px;
    right:0px;
    z-index:2000000000;
    
}
.footer .copyright{
    padding: 12px 0 10px;
    /*background: brown;*/
    text-align: center;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 12px;
}
}
/*-------------------------------------------
SP footer 
-------------------------------------------*/
@media screen and (max-width: 768px) {
    .footer{
        background: brown;
            background-image: url(../img/hyr_footerimage.jpg);
    background-repeat: repeat-x;
    background-size:cover;
    }
    .footer .copyright{
        padding: 12px 0 10px;
        /*background: brown;*/
        text-align: center;
        font-family: 'Open Sans', sans-serif;
        font-size: 11px;
        font-weight: 400;
        color: #fefefe;
    }
}

/*-------------------------------------------
Loading
-------------------------------------------*/
#loading {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #ce3771;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2147483645;
  animation: change-color-anim 1s linear ;

}
.spinner {
  width: 100px;
  height: 100px;
  margin: 45vh auto;
  background-color: #fff;
  border-radius: 100%;
  animation: sk-scaleout 1.25s infinite ease;
}

#loading_novel {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #ce3771;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2147483645;
  animation: change-color-anim 1s linear ;

}

@keyframes sk-scaleout {
  0% {
    transform: scale(0.0);
  } 100% {
    transform: scale(2.0);
    opacity: 0;
  }
}
@keyframes change-color-anim {
	0%{
		background-color: white;
	}
	100%{
		background-color: #ce3771;
	}
}
 
.loaded {
  opacity: 0;
  visibility: hidden;
}
/*===================effects===================*/

/*===================Gotop===================*/
.gotop {
    display: block;
    width: 5vw;
    height: 5vw;
    box-sizing: border-box;
    background: url(../img/up-arrow.png);
    background-size:contain;
    padding-top: 30px;
    opacity: 0;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 2000000;
    border-radius: 1px;
}
.gotop.active{
    display: block;

    box-sizing: border-box;
    background: url(../img/up-arrow.png);
    background-size:contain;
    padding-top: 30px;
    opacity: 0.5;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 2000000;
    border-radius: 1px;
}
/*.gotop::before{
    content:"";
    display: block;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    width: 25%;
    height: 25%;
    top: 40%;
    left: 0;
    right: 0;
    margin: auto;
    position: absolute;
    transform: rotate(-45deg);
}*/
.gotop:hover{
    opacity: 1;
}
@media screen and (max-width: 600px) {
    .gotop{
    display: block;
    width: 60px;
    height: 60px;
        padding-top: 00px;
            right: 10px;

    }
    .gotop::before{
    width: 40%;
    height: 40%;
    top: 35%;
    left: 0;
    right: 0;
    margin: auto;
    position: absolute;
    transform: rotate(-45deg);
}
}


.menu-btn{
  position: fixed;
  top: 0px;
  right: 0px;
  z-index: 2;
  width: 50px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: transparent;
  color: #fff;
}

.menu{
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1;
  width: 100vw;
  height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: ghostwhite;
  /*background-image: url(../img/button-img.png);*/
transform: rotate(45deg);
}
.menu p{
    font-size:min(7vw,40px);
    padding:10px;
    font-weight:900;
}
.menu__item{
  width: 100%;
  height: auto;
  padding: .5em 1em;
  text-align: center;
  color: #fff;
  box-sizing: border-box;
}

/*  Menu animation */

.menu{
  pointer-events: none;
  opacity: 0;
  transform-origin: center;
  transform: scale(.5);
  transition: all 0.25s ease-out;
}
.menu.is-active{
  pointer-events: auto;
  opacity: 0.85;
  transform: scale(1.0);
}

.menu2{
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1;
  width: 100vw;
  height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: ghostwhite;
  /*background-image: url(../img/button-img.png);*/
transform: rotate(45deg);
}
.menu2{
  pointer-events: none;
  opacity: 0;
  transform-origin: center;
  transform: scale(.5);
  transition: all 0.25s ease-out;
}
.menu2.is-active{
  pointer-events: auto;
  opacity: 0.95      ;
  transform: scale(1.0);
}

.openbtn{
	position: relative;
	background:brown;
    Z-index:2;
    top:10px;
    right:10px;
    width: 50px;
    height:50px;
	border-radius: 50px;
}

.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
	background: #fff;
  	width: 45%;
}

.openbtn span:nth-of-type(1) {
	top:15px;	
}

.openbtn span:nth-of-type(2) {
	top:23px;
}

.openbtn span:nth-of-type(3) {
	top:31px;
}

.openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}

input[type="text"] {
  width: min(75vw,500px);
  border: 2px solid #aaa;
  border-radius: 4px;
  margin: 8px 0;
  outline: none;
  padding: 8px;
  box-sizing: border-box;
  transition: 0.3s;
}

input[type="text"]:focus {
  border-color: brown;
  box-shadow: 0 0 8px 0 brown;
}

.inputWithIcon input[type="text"] {
  padding-left: 40px;
}

.inputWithIcon {
  position: relative;
}

.inputWithIcon i {
  position: absolute;
  left: 0;
  top: 8px;
  padding: 9px 8px;
  color: #aaa;
  transition: 0.3s;
}

.rightslidein:nth-child(odd){
    background: #eee;
}
 
.rightslidein{
    opacity: 0;
    /*transition:.5s;*/
}
 
.rightslidein.active{
    opacity:1;
    background: #666;
    color: #fff;
    animation: fadeInRight 1s ease 0s 1 normal;
}

.leftslidein:nth-child(odd){
    background: tramsparent;
}
 
.leftslidein{
    opacity: 0;
    /*transition:.5s;*/
}
 
.leftslidein.active{
    opacity:1;
    background: tramsparent;
    color: #fff;
    animation: fadeInLeft 1s ease 0s 1 normal;
}

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}

@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
.animate__flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX;
}

.flipInX{opacity: 0;}
.flipInX.active{
    opacity: 1;
	animation-name:flipInX;
	animation-duration:0.75s;
	animation-fill-mode:forwards;
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}
.fadeInUp{
    opacity: 0;
}
.fadeInUp.active{
    opacity: 1;
    animation-name:fadeInUp;
	animation-duration:2s;
	animation-fill-mode:forwards;
}

@keyframes SlideIn {
    0% {opacity: 0;transform: translateY(-100px);} 
        50% {opacity: 0;transform: translateY(-100px);} 
    100% {opacity: 1;transform: translateY(0px);} 
}
 @-webkit-keyframes SlideIn {
    0% {opacity: 0;transform: translateY(-100px);} 
        50% {opacity: 0;transform: translateY(-100px);} 
    100% {opacity: 1;transform: translateY(0px);} 
}

.fadeinA {
  opacity: 0;
    animation-delay: 2.25s;
  animation-name: fadeinA;
  animation-duration: 3s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
}
.fadeinB {
  opacity: 0;
    animation-delay: 2.25s;
  animation-name: fadeinB;
  animation-duration: 3s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
}
.fadeinC {
  opacity: 0;
    animation-delay: 2.25s;
  animation-name: fadeinC;
  animation-duration: 3s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
}
.fadeinD {
  opacity: 0;
    animation-delay: 2.25s;
  animation-name: fadeinD;
  animation-duration: 3s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
}
.fadeinE {
  opacity: 0;
    animation-delay: 2.25s;
  animation-name: fadeinE;
  animation-duration: 3s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
}@keyframes fadeinA {
    0% {opacity: 0;}
    20% {opacity: 0;}
    100% {opacity: 1;}
}

@keyframes fadeinB {
    0% {opacity: 0;}
    40% {opacity: 0;}
    100% {opacity: 1;}
}

@keyframes fadeinC {
    0% {opacity: 0;}
    60% {opacity: 0;}
    100% {opacity: 1;}
}

@keyframes fadeinD {
    0% {opacity: 0;}
    80% {opacity: 0;}
    100% {opacity: 1;}
}
@keyframes fadeinE {
    0% {opacity: 0;}
    50% {opacity: 0.2;}
    100% {opacity: 1;}
}
.img-blur{
    opacity: 0;
}

.img-blur.active {
  -webkit-animation-name: imageBlur;
  animation-name: imageBlur;
  opacity: 1;
  transition: .8s;
}

@-webkit-keyframes imageBlur {
  from {
    opacity: 0;
    -webkit-filter: blur(30px);
    -moz-filter: blur(30px);
    -ms-filter: blur(30px);
    -o-filter: blur(30px);
    filter: blur(30px);
  }

  to {
    opacity: 1;
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
  }
}
@keyframes imageBlur {
  from {
    opacity: 0;
    -webkit-filter: blur(30px);
    -moz-filter: blur(30px);
    -ms-filter: blur(30px);
    -o-filter: blur(30px);
    filter: blur(30px);
  }

  to {
      opacity: 1;
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
  }
}

.zoomInBlur{opacity: 0;}
.zoomInBlur.active{
	animation-name:zoomInBlur;
	animation-duration:0.75s;
	animation-fill-mode:forwards;
    opacity: 1;
}

@keyframes zoomInBlur{
  from {
      transform: scale(0);
      opacity:0;
      filter:blur(50px);
  }

  to {
      transform: scale(1);
      opacity:1;
      filter:blur(0px);
  }
}

.zoomOutBlur{opacity: 0;}
.zoomOutBlur.active{
	animation-name:zoomOutBlur;
	animation-duration:4s;
	animation-fill-mode:forwards;
}

@keyframes zoomOutBlur{
  from {
      transform: scale(2);
      opacity:0;
      filter:blur(50px);
  }

  to {
      transform: scale(1);
      opacity:1;
      filter:blur(0px);
  }
}


.thanks .container {
    display:grid;
    place-items:center;
    text-align:center;
    padding:20px;
    margin-top:min(20vw,190px);
}

#mydata_out p{
    font-size:23px;
}
#mydata_out p:last-child{
    font-size:23px;
    margin-bottom:20px;
}

a.btn_02 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: min(80vh,300px);
	margin: auto;
	padding: 1rem 3rem;
	font-size:20px;
    font-weight: bold;
	border: 2px solid #27acd9;
	background: #27acd9;
	color: #fff;
	transition: 0.5s;
}
a.btn_02:hover {
	color: #27acd9;
	background: #fff;
}

@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
.animate__flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY;
}

/*-------------------------------------------
novel
-------------------------------------------*/

#novel{
      -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
               width:100vw;

}
#novel span{
text-combine-upright: all;
-webkit-text-combine: horizontal;
-ms-text-combine-horizontal: all;
}

/*-------------------------------------------
PC kiyaku
-------------------------------------------*/
@media screen and (min-width: 1000px) {
#novel {
     display:flex;
  padding-top: 45px;
  margin-bottom: 2vh;

}
.novel_text_view {
    width:90vw; 
        display:inline-block;
    margin:  0 auto;    
}
.novel_text {
    border:0px solid #000000;
    font-family: serif;
    font-size:1rem;
	width:90vw; 
    height:79.5vh;
    text-orientation: upright;
	color:#000;
    padding:40px;
	background-color:#ffffff;
	line-height: 1.75;
    overflow:scroll;
    padding-left:45px;
    padding-right:45px;
    font-feature-settings: "palt";
}
#novel p {
    font-weight: 600;
    margin-top:20px;
    margin-bottom: 7px
}
.leftmargin{
    padding-left: 13px;
}
#novel .leftmargin p{
    font-weight: 600;
    margin-top:10px;
    margin-bottom: 0px
}

.novelunder{
    width:100vw;
    height:10vh;
    display:flex;
    flex-wrap: nowrap;
    justify-content: space-evenly;
}
.novel-btn a {
    background:#d13280;
    border-radius: 100vh;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    width: 350px;
    padding: 10px 25px;
    color: white;
    transition: 0.3s ease-in-out;
    font-weight: 900;
    font-size:1.25rem
}
.novel-btn a:hover {
    background: #cccc00;
    color: white;
}
.novel-btn a:after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid white;
    border-right: 3px solid white;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
.novel-btn a:hover:after {
    border-color: #ffff00;
}
}

/*=================== novel sp ===================*/
@media screen and (max-width: 1000px) {
#novel {
  background:none;
  padding-top: 2vh;
  margin-bottom: 2vh;
    
}
.novel_text_view {
    width:100vw; 
    overflow-x:scroll;

}
.novel_text {
    border:0px solid #000000;
    font-family: serif;
    font-size:1.2rem;
	width:auto; 
    height:65vh;
	margin-right: 20px;
    	margin-left: 20px;
    text-orientation: upright;
	color:#000;
    padding:2vw;
	background-color:#ffffff;
	line-height: 1.75;

}
#novel p {
    font-weight: 600;
    margin-top:20px;
    margin-bottom: 7px
}
.leftmargin{
    padding-left: 13px;
}
#novel .leftmargin p{
    font-weight: 600;
    margin-top:10px;
    margin-bottom: 0px
}

.novelunder{
    width:95vw;
    height:10vh;
    display:flex;
    flex-wrap: nowrap;
    justify-content: space-evenly;
}
.novel-btn a {
    background:#d13280;
    border-radius: 100vh;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    width: min(250px,450px);
    padding: 10px 25px;
    color: white;
    transition: 0.3s ease-in-out;
    font-weight: 900;
    font-size:1.25rem
}
.novel-btn a:hover {
    background: #cccc00;
    color: white;
}
.novel-btn a:after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid white;
    border-right: 3px solid white;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
.novel-btn a:hover:after {
    border-color: #ffff00;
}

}
/*-------------------------------------------
footer novel
-------------------------------------------*/
@media{
.footernovel{
    background: #2550D2;
    color: #fefefe;
    position:fixed;
    bottom:0px;
    left:0px;
    right:0px
}
.footernovel .copyright{
    padding: 12px 0 10px;
    text-align: center;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 12px;
    width:min(90%,500px);
    margin:0 auto;
}
}
/*-------------------------------------------
SP footer novel
-------------------------------------------*/
@media screen and (max-width: 768px) {
    .footernovel{
        background: brown;

    }
    .footernovel .copyright{
        padding: 12px 0 10px;
        text-align: center;
        font-family: 'Open Sans', sans-serif;
        font-size: 11px;
        font-weight: 400;
        color: #fefefe;
    }
}

/*-------------------------------------------
footer vote
-------------------------------------------*/
@media{
.footernovel{
    background-image: url(../img/hyr_footerimage.jpg);
    background-repeat: repeat-x;
    background-size:cover;
    
    color: #fefefe;
    position:fixed;
    bottom:0px;
    left:0px;
    right:0px
}
.footernovel .copyright{
    padding: 12px 0 10px;
    text-align: center;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 12px;
}
}
/*-------------------------------------------
SP footer vote
-------------------------------------------*/
@media screen and (max-width: 768px) {
    .footernovel{
        display:block;

    }
    .footernovel .copyright{
        padding: 12px 0 10px;
        text-align: center;
        font-family: 'Open Sans', sans-serif;
        font-size: 11px;
        font-weight: 400;
        color: #fefefe;
    }
}
#vote_text p{
    font-family:'Kaisei HarunoUmi', serif;
    font-size:min(6vw,30px);
    font-weight:900;
    color:brown;
    margin-bottom: -18px;
    
}

p#votetex2 {
    font-family:'Kaisei HarunoUmi', serif;
    font-size:min(6vw,30px);
    color:brown;
    font-weight:900;
    margin-bottom:25px;
}

.sharetext {
    font-family:'M PLUS 2', serif;
    font-weight:600;
    color:deeppink;
}


.loading2 {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #ddd;
        z-index: 999;
        opacity: 1;
        display: flex;
        justify-content: center;
        align-items: center;
}

#loading2 {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #f8e8f2;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}
.loaded2 {
  opacity: 0;
  visibility: hidden;
}
.loader2 {
  margin: 100px auto;
  font-size: 25px;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  position: relative;
  text-indent: -9999em;
  -webkit-animation: load5 1.1s infinite ease;
  animation: load5 1.1s infinite ease;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}

.vote_panel{
    background-image:url(../img/hyr_votepanel_bg.webp);
    background-size :auto;
    margin-top:50px;
}

.vote_title{
    background-image:url(../img/hyr_vote_title.jpg);
    background-size :cover;
    margin-top:30px;
        margin-bottom:30px;

}

.loadingimg {
  display: flex;
  justify-content: center;
  align-items: center;
}


.modaal-close:before, .modaal-close:after {
    background: white!important;
 }

.startimage{
    display:none;
    
}
/*.slick-prev{display:none!important;}
.slick-next{display:none!important;}
.slick-slide img{display:initial!important}*/