*{
	margin: 0;
	padding: 0;
    box-sizing: border-box;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
a {
	text-decoration: none;
	color: rgba(0,0,0,1.00);
}
a:link {
	text-decoration: none;
	color: rgba(0,0,0,1.00);
}
a:visited {
	text-decoration: none;
	color: rgba(0,0,0,1.00);
}
a:hover {
	text-decoration: none;
	color: rgba(0,0,0,1.00);
}
a:active {
	text-decoration: none;
	color: rgba(0,0,0,1.00);
}
.body{
    position: relative;
}
.menuButton{
    padding: 0;
    width: 52px;
    height: 54px;
    background: #e35175;
    border: solid 2px #fff;
    border-left: none;
    border-radius: 0 20% 20% 0;
    position: absolute;
    top: 120px;
    left: 0;
    z-index: 3;
}
.menuButton:hover{
    cursor: pointer;
}



.menuBurger{
	margin: 0 auto;
    padding: 0;
	position: relative;
	width: 50px;
	height: 50px;
}
.menuBurger, .menuBurger div{
	display: inline-block;
	transition: all .4s;
}
.menuBurger div{
    margin: 5px auto 0;
	position: absolute;
	left: 20%;
	width: 60%;
	height: 4px;
	background-color: #fff;
    border-radius: 2px;
}
.menuBurger div:nth-child(1){
	top: 8px;
}
.menuBurger div:nth-child(2){
	top: 18px;
}
.menuBurger div:nth-child(3){
	top: 28px;
}
.menuBurger.active {
  -webkit-transform: rotate(360deg);
  transform: rotate(360deg);
}
.menuBurger.active div:nth-of-type(1) {
  -webkit-transform: translateY(10px) rotate(45deg);
  transform: translateY(10px) rotate(45deg);
}
.menuBurger.active div:nth-of-type(2) {
	width: 0;
	left: 50%;
}
.menuBurger.active div:nth-of-type(3) {
  -webkit-transform: translateY(-10px) rotate(135deg);
  transform: translateY(-10px) rotate(135deg);
}











.menu-box{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
.menu-box div{
	margin: 30px 0;
	width: 25%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.menu-box div p{
	text-align: center;
}
.menuBox{
    width: 100%;
    height: 100vh;
    background: #e35175 url(../img/img_image2_menu.jpg) no-repeat bottom;
    background-size: contain;
    background-blend-mode: multiply;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    display: none;
    flex-direction: column;
    justify-content: center;
}
.menuBox div{
    margin: 25px auto;
    width: 300px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.menuBox div:hover{
    margin: 25px auto;
    background: #fff;
    cursor: pointer;
}
.container{
    width: 100%;
    height: 100vh;
    overflow: auto;
    scroll-behavior: smooth;
}
.title{
    width: 100%;
    height: 100vh;
    display: flex;
    flex-direction: column;
}
.title{
    width: 100%;
    position: relative;
}
.imgLogo, .imgTitle, .imgTopSpTab, .imgTopPc{
    display: none;
}
.imgTopSp, .imgTopSpTab, .imgTopPc{
    width: 100%;
    height: 100vh;
    overflow: hidden;
}
.imgTopSp img, .imgTopSpTab img, .imgTopPc img,  .imgLogo img, .imgTopPc img{
    width: 100%;
}
.mainBox{
    width: 100%;
}
.topMovie{
    margin: 0 auto;
    padding: 20px 0;
    width: 90%;
}
.topMovieYoutube{
	position: relative;
	width: 100%;
	padding-bottom: 56.25%;
	box-sizing: border-box;
}
.topMovieYoutube iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.contents{
    margin: 0 auto;
    padding: 50px 0 50px;
    width: 90%;
    display: flex;
    flex-direction: column;
}
.contentsMidashi{
    width: 100%;
}
.storyText, .sample_box{
    width: 100%;
}
.sample_img div{
    margin: 10px auto;
    width: 100%;
    border: solid 1px #000;    
}
.sample_img div:hover{
    border: solid 1px #333;
    background: #333;
}
.sample_img div:hover h1{
    color: #fff;
}
.sample_img div a{
    padding: 5px;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.informationTitle, .informationImage{
    margin: 0 auto;
    width: 100%;
}
.informationImage img{
    width: 100%;
    border: solid 1px #bbb;
}
.informationButton{
    margin: 10px auto;
    width: 100%;
    border: solid 1px #000;
}
.informationButton:hover{
    border: solid 1px #333;
    background: #333;
}
.informationButton:hover h1{
    color: #fff;
}
.informationButton a{
    padding: 5px;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.informationMidashi{
    margin: 30px auto 0;
    width: 100%;
    display: flex;
    justify-content: center;
}
.informationText{
    margin: 0 auto;
    width: 100%;
}
.characterBox{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}
.characterBox>div{
    margin: 0 0 50px 0;
}
.characterName, .characterText, .characterImg{
    margin: 0 auto;
    width: 100%;
}
.characterImg img{
    width: 100%;
}
.footer{
    margin: 0 0 150px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.footer div{
    width: 300px;
}
@media screen and (min-width:768px) and (max-width:1024px){
    .menuButton{
        top: 200px;
    }
    .imgTopSp{
        display: none;
    }
    .imgTopSpTab{
        display: block;
    }
    .menuButton{
        top: 220px;
    }
    .contents{
        width: 80%;
    }
    .characterBox>div{
        width: 48%;
    }
}
@media screen and (min-width:1025px) and (max-width:1440px){
    .menuButton{
        top: 200px;
    }
    .imgTopSp{
        display: none;
    }
    .imgTopPc{
        display: block;
    }
    .imgLogo{
        position: absolute;
        top: 10px;
        left: 10px;
        width: 6%;
        display: block;
    }
    .imgTitle{
        position: absolute;
        width: 100%;
        height: 100vh;
        display: flex;
        justify-content: flex-start;
        align-items: flex-end;
    }
    .imgTitle img{
        margin: 0 0 0 100px;
        width: 30%;
    }
    .mainBox{
        width: 100%;
        background: rgba(255, 255, 255, 0.7) url(../img/img_image1.jpg);
        background-size: cover;
        background-attachment: fixed;
        background-position: center;
        background-blend-mode: lighten;
    }
    .contents{
        width: 70%;
    }
    .storyText, .informationTitle, .informationImage{
        margin: 0 auto;
        width: 80%;
    }
    .sample_img div{
        margin: 10px auto;
        width: 50%;
        border: solid 1px #000;
    }
    .informationButton{
        margin: 10px auto;
        width: 50%;
        border: solid 1px #000;
    }
    .informationMidashi{
        margin: 30px auto 0;
        width: 80%;
        display: flex;
        justify-content: flex-start;
    }
    .informationText{
        margin: 0 auto;
        width: 80%;
    }
    .characterBox>div{
        width: 48%;
    }
    .footer{
        margin: 0;
    }
}
@media screen and (min-width: 1441px){
    .menuButton{
        top: 200px;
    }
    .imgTopSp{
        display: none;
    }
    .imgTopPc{
        display: block;
        width: 100%;
        height: 100vh;
        overflow: hidden;
    }
    .title{
        position: relative;
        background: url(../img/img_main1_pc.jpg);
        background-size: cover;
        background-attachment: fixed;
        background-position: center;
    }
    .imgLogo{
        position: absolute;
        top: 10px;
        left: 10px;
        width: 6%;
        display: block;
    }
    .imgTitle{
        position: absolute;
        width: 100%;
        height: 100vh;
        display: flex;
        justify-content: flex-end;
        align-items: flex-end;
    }
    .imgTitle img{
        margin: 0 100px 0 0;
        width: 22%;
    }
    .mainBox{
        width: 100%;
        background: rgba(255, 255, 255, 0.7) url(../img/img_image1.jpg);
        background-size: cover;
        background-attachment: fixed;
        background-position: center;
        background-blend-mode: lighten;
    }
    .topMovie{
        padding: 50px 0;
        width: 50%;
    }
    .contents{
        width: 50%;
    }
    .storyText, .informationTitle, .informationImage{
        margin: 0 auto;
        width: 80%;
    }
    .sample_img div{
        margin: 10px auto;
        width: 50%;
        border: solid 1px #000;
    }
    .informationButton{
        margin: 10px auto;
        width: 50%;
        border: solid 1px #000;
    }
    .informationMidashi{
        margin: 30px auto 0;
        width: 80%;
        display: flex;
        justify-content: flex-start;
    }
    .informationText{
        margin: 0 auto;
        width: 80%;
    }
    .characterBox>div{
        width: 48%;
    }
    .footer{
        margin: 0;
    }
}