@charset "utf-8";
/* CSS Document */
html {
	scroll-behavior: smooth;
/*	overflow-x: hidden;*/
}

body {
	width: 100%;
	position: relative;
	overflow-y: scroll;
	height: auto!important;
}

a,
a:visited {
	text-decoration: none;
}

@font-face {
	font-family: 'MyFont';
	src: url("../fonts/Kaisotai-Next-UP-B.otf");
}

@font-face {
	font-family: 'MyFont2';
	src: url("../fonts/font_1_kokumr_1.00_rls.ttf");
}

@font-face {
	font-family: 'MyFont3';
	src: url("../fonts/BIZenAntique-Bold.ttf");
}

/*//////////////////////////////////*/
/*    モーダル マスターアップ setting   */
/*//////////////////////////////////*/
.mu_image {
	position: absolute;
    top: 280px;
    left: 52%;
    width: 120px;
	display: none;
}

#menu-btn-check {
    display: none;
}

.menu-btn {
	position: fixed;
	top: 10px;
	left: 10px;
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    cursor: pointer;
	border-radius: 3%;
}

.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 30px;
    background-color: #441a17;
    position: absolute;
	border-radius: 50%;
}
.menu-btn span:before {
    bottom: 12px;
}
.menu-btn span:after {
    top: 12px;
}

.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    right: 100%;
    z-index: 80;
    background-color: rgba(225,225,225,0.8);
	transition: all 0.5s;
}
.menu-content ul {
    padding: 70px 10px 0;
	font-family: "MyFont";
}
.menu-content ul li {
    border-bottom: solid 1px #441a17;
    list-style: none;
}
.menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 24px;
    box-sizing: border-box;
    color:#441a17;
    text-decoration: none;
    padding: 9px 15px 10px 54px;
	font-family: "MyFont";
	letter-spacing: 1px;
    position: relative;
}
.menu-content ul li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #441a17;
    border-right: solid 2px #441a17;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 16px;
}

.menu-content img {
	width: 18%;
}

#menu-btn-check:checked ~ .menu-content {
    right: 0;/*メニューを画面内へ*/
}

/*----------------------------------*/
/*		ハンバーガーメニュー bgありVer. 	*/
/*----------------------------------*/
.fixed_nav {
	width: 100%;
	height: auto;
	position: relative;
	margin: 0;
	padding: 12px 0 12px 12px;
	display: inline-block;
	background: -moz-linear-gradient(90deg, rgba(48,17,11,1) 0%, rgba(75,34,22,1) 50%, rgba(48,17,11,1) 100%);
	background: -webkit-linear-gradient(90deg, rgba(48,17,11,1) 0%, rgba(75,34,22,1) 50%, rgba(48,17,11,1) 100%);
	background: linear-gradient(90deg, rgba(48,17,11,1) 0%, rgba(75,34,22,1) 50%, rgba(48,17,11,1) 100%);
}

#menu-btn-check-special {
    display: none;
}

.menu-btn-special {
	position: fixed;
	top: 10px;
	left: 10px;
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    cursor: pointer;
	border-radius: 3%;
	background: #f2ede7;
}

.menu-btn-special span,
.menu-btn-special span:before,
.menu-btn-special span:after {
    content: '';
    display: block;
    height: 3px;
    width: 30px;
    background-color: #441a17;
    position: absolute;
	border-radius: 50%;
}
.menu-btn-special span:before {
    bottom: 12px;
}
.menu-btn-special span:after {
    top: 12px;
}

.menu-content-special {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    right: 100%;
    z-index: 80;
    background-color: rgba(225,225,225,0.8);
	transition: all 0.5s;
}
.menu-content-special ul {
    padding: 70px 10px 0;
	font-family: "MyFont";
}
.menu-content-special ul li {
    border-bottom: solid 1px #441a17;
    list-style: none;
}
.menu-content-special ul li a {
    display: block;
    width: 100%;
    font-size: 24px;
    box-sizing: border-box;
    color:#441a17;
    text-decoration: none;
    padding: 9px 15px 10px 54px;
	font-family: "MyFont";
	letter-spacing: 1px;
    position: relative;
}
.menu-content-special ul li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #441a17;
    border-right: solid 2px #441a17;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 16px;
}

.menu-content-special img {
	width: 18%;
}

#menu-btn-check-special:checked ~ .menu-content-special {
    right: 0;/*メニューを画面内へ*/
}



.twitter {
	position: fixed;
	top: 72px;
	left: 17px;
	width: 45px;
	height: auto;
	z-index: 2;
}
.twitter img {
	width: 100%;
	height: auto;
}

#top {
	width: 100%;
	margin: 0;
	padding: 0;
	background-image: url("../images/top_bg.png");
	min-height: 100vh;
	background-attachment: fixed;
}

.top_wrapper {
	background-image: url("../images/top_mv.png");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top left;
	width: 100%;
	min-height: 120vh;
	position: relative;
}

.information {
    position: absolute;
    top: 50vh;
    left: 2vw;
    width: 40vw;
    height: 45vh;
}

.info_title {
	font-family: "MyFont";
	color: #7448da;
	font-size: 48px;
	text-align: center;
}

.info_inner {
	width: 100%;
    height: 30vh;
    -moz-border-image: url("../images/info_frame.png") 11 round;
    -webkit-border-image: url("../images/info_frame.png") 11 round;
    -o-border-image: url("../images/info_frame.png") 11 round;
    -ms-border-image: url("../images/info_frame.png") 11 round;
    border-image: url("../images/info_frame.png") fill 11 round;
    border-style: solid;
    border-width: 11px;
    border-color: #fff;
    margin-top: 12px;
}

.info_bg {
	background: #fff;
	border: solid 1px #441a17;
	height: 100%;
    overflow-y: scroll;
}
.info_bg::-webkit-scrollbar{
   width: 10px;
}
.info_bg::-webkit-scrollbar-track{
   background-color:#F8F0E3;
}
.info_bg::-webkit-scrollbar-thumb{
   background-color: #441a17;
}


.info_inner ul,
.info_inner li {
	list-style: none;
}

.info_inner ul{
	padding: 24px;
}

.info_inner li {
	padding-bottom: 12px;
	margin-bottom: 12px;
	border-bottom: 1px solid #441a17;
}

.info_inner .day {
	display: inline-block;
	width: auto;
	height: auto;
	padding: 2px 4px;
	background: #441a17;
	color: #fff;
	font-family: "源ノ明朝 Medium";
	font-size: 14px;
}

.info_inner .info_text {
	display: block;
	width: auto;
	height: auto;
	margin-top: 6px;
	color: #441a17;
	font-family: "源ノ明朝 Medium";
	font-size: 14px;
}

.info_text a {
	transition: all ease .3s;
}

.info_text a:hover {
	color: #209B00;
}

.banner {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	margin: 0 auto;
	width: 85%;
	height: auto;
	position: absolute;
	top:104vh;
	left: 17px;
}

.banner img {
	width: 98%;
	height: auto;
	margin-right: 2%;
}

.banner img:hover {
	animation-name: pulse;
	animation-duration: 1s;
}

#opening_movie {
	width: 100%;
	height: auto;
	position: relative;
}
.op_sbn img {
	width: 100%;
	height: auto;
}
.op_sbn::after {
    pointer-events: none;
    position: absolute;
    top: 35%;
    left: 45%;
    content: '\f144';
    font-family: "Font Awesome 6 Pro";
    font-weight: 500;
    color: #000;
    font-size: 10em;
}

#story {
	width: 100%;
	min-height: 100vh;
	margin: 0;
	padding: 0;
	background-image: url("../images/story_bg.jpg");
	background-size: cover;
	background-position: top left;
	background-repeat: no-repeat;
	position: relative;
}

#story::after {
	content: '';
	width: 45%;
	height: 100%;
	background-image: url("../images/story_picture.png");
	background-repeat: no-repeat;
	background-position: top right;
	background-size: contain;
	position: absolute;
	top: 0;
	right: 0;
}

.story_inner {
    position: relative;
    width: 100%;
	height: auto;
	padding: 3em 5em;
	z-index: 1;
}

.story_title {
	font-family: "MyFont";
	color: #f1ff33;
	font-size: 72px;
	text-align: left;
	letter-spacing: 2px;
}

.story_text {
	font-size: 20px;
	color: #fff;
	line-height: 36px;
	font-family: "游明朝 Demibold";
	text-shadow:0 0 3px #23175b,0 0 3px #23175b,0 0 3px #23175b,0 0 3px #23175b,0 0 3px #23175b,0 0 3px #23175b,0 0 3px #23175b,0 0 3px #23175b,0 0 3px #23175b,0 0 3px #23175b,0 0 3px #23175b,0 0 3px #23175b,0 0 3px #23175b,0 0 3px #23175b,0 0 3px #23175b,0 0 3px #23175b;
	padding-top: 24px;
}

.story_text .yerrow {
	color: #f1ff33;
	font-size: 36px;
}

#character {
    position: relative;
    width: 100%;
    height: auto;
    background-image: url("../images/character_bg.jpg");
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: left -48px;
    min-height: 155vh;
	padding-top: 5%;
}

.character_title {
	font-family: "MyFont";
	color: #FF00F2;
	font-size: 72px;
	text-align: center;
	letter-spacing: 2px;
}

.character_wrapper ul,
.character_wrapper li {
	list-style: none;
}

.character_wrapper ul {
	padding-left: 0;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-around;
	width: 85%;
	margin: 30vh auto 0 auto;
}

.character_wrapper li {
	width: 28%;
}

.character_wrapper li img {
	width: 100%;
}

.character_wrapper li img:hover {
	animation-name: pulse;
	animation-duration: 1s;
}

#graphic {
	position: relative;
    width: 100%;
    height: auto;
    background-image: url("../images/graphic_bg.jpg");
    background-size: 100%;
    background-repeat: no-repeat;
	background-attachment: fixed;
    background-position: top left;
    min-height: 155vh;
	padding-top: 5%;
}

.graphic_title {
	font-family: "MyFont";
	color: #007a31;
	font-size: 72px;
	text-align: center;
	letter-spacing: 2px;
}

.graphic_wrapper ul,
.graphic_wrapper li {
	list-style: none;
}

.graphic_wrapper ul {
	padding-left: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	width: 85%;
	margin: 48px auto 0 auto;
}

.graphic_wrapper li {
    width: 15.5%;
    margin: 0 0.5% 3% 0.5%;
    position: relative;
}
.graphic_wrapper li img {
	width: 100%;
	transition: all ease .3s;
	filter: brightness(50%);
}

.graphic_wrapper li img:hover {
	filter: brightness(100%);
}

.graphic_wrapper li.new_graphic::after {
    content: 'new';
    font-family: "MyFont";
    position: absolute;
    top: 0%;
    left: 5%;
    font-size: 16px;
    color: #fff;
    background: #ff494b;
    padding: 12px;
    border-radius: 50%;
    z-index: 4;
}

.modaal-image .modaal-inner-wrapper {
    padding-left: 20vw!important;
    padding-right: 20vw!important;
}

#spec {
	background: -moz-linear-gradient(90deg, rgba(48,17,11,1) 0%, rgba(75,34,22,1) 50%, rgba(48,17,11,1) 100%);
	background: -webkit-linear-gradient(90deg, rgba(48,17,11,1) 0%, rgba(75,34,22,1) 50%, rgba(48,17,11,1) 100%);
	background: linear-gradient(90deg, rgba(48,17,11,1) 0%, rgba(75,34,22,1) 50%, rgba(48,17,11,1) 100%);
	width: 100%;
	height: auto;
	padding: 5% 0;
	position: relative;
}

.spec_title {
	color: #ffe44e;
	font-size: 72px;
	text-align: center;
	font-family: "MyFont";
	letter-spacing: 2px;
	position: relative;
}

.spec_title::before {
    content: '';
    background-image: url("../images/spec_left.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center top;
    position: absolute;
    top: 4vh;
    left: 22vw;
    width: 20vw;
    height: 100%;
}

.spec_title::after {
    content: '';
    background-image: url("../images/spec_right.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center top;
    position: absolute;
    top: 4vh;
    right: 22vw;
    width: 20vw;
    height: 100%;
}

.spec_inner {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-around;
	width: 80%;
	height: auto;
	margin: 0 auto;
}

.spec_text {
	width: 45%;
}

.spec_text table {
	font-family: "MyFont2";
	font-size: 18px;
	color: #fff;
	text-align: left;
	line-height: 3.2em;
}

.spec_text th {
	font-weight: 100;
	color: #ffe44e;
	position: relative;
	padding-left: 6px;
}

.spec_text th::before {
    content: '';
    background-image: url("../images/spec_icon.png");
    background-position: center top;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 2.7vh;
    left: -24px;
    width: 20px;
    height: 20px;
}

.spec_text td {
	padding-left: 5vw;
}

.package {
	width: 47%;
	margin-top: 3em;
}

.package img {
	width: 100%;
}

footer {
	background: -moz-linear-gradient(90deg, rgba(48,17,11,1) 0%, rgba(75,34,22,1) 50%, rgba(48,17,11,1) 100%);
	background: -webkit-linear-gradient(90deg, rgba(48,17,11,1) 0%, rgba(75,34,22,1) 50%, rgba(48,17,11,1) 100%);
	background: linear-gradient(90deg, rgba(48,17,11,1) 0%, rgba(75,34,22,1) 50%, rgba(48,17,11,1) 100%);
	border-top: solid 1px #EBE3B7;
}

.footer_inner {
	width: 100%;
	height: auto;
	padding: 12px 0;
	text-align: center;
	display: block;
	position: relative;
	bottom: 0;
}

.footer_inner img {
	display: block;
	width: 70px;
	margin: 0 auto;
}

/* ボタンを右下に表示する */
#page-top {
	position: fixed;
	bottom: 10px;
	right: 10px;
	height: auto;
	width: 15%;
	z-index: 10;
	display: block;
	transition: all ease .3s;
}

#page-top img {
	width: 100%;
}

#page-top img:hover {
	cursor: pointer;
	animation-name: rubberBand;
	animation-duration: 1s;
}
/*--------------------------*/
/*		character page		*/
/*--------------------------*/
#character_wrapper {
	background: -moz-linear-gradient(180deg, rgba(216,158,242,1) 0%, rgba(248,249,218,1) 100%);
	background: -webkit-linear-gradient(180deg, rgba(216,158,242,1) 0%, rgba(248,249,218,1) 100%);
	background: linear-gradient(180deg, rgba(216,158,242,1) 0%, rgba(248,249,218,1) 100%);
	width: 100%;
	height: auto;
	min-height: 100vh;
	position: relative;
	margin: 0;
	padding: 0;
	background-size: 200% 200%;/*サイズを大きくひきのばす*/
	animation: bggradient 20s ease infinite;
}

@keyframes bggradient{
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

.character_page_bg {
	background-image: url("../images/character_frame.png");
	background-size: cover;
	background-position: top left;
	background-repeat: no-repeat;
}

.character_select {
	width: 7%;
	height: auto;
	display: block;
	position: absolute;
	top: 2.5vh;
	left: 5vw;
	z-index: 2;
}

.character_select img {
	display: block;
	margin-bottom: 5vh;
	width: 100%;
}

.character_profile {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	position: relative;
}

.character_profile img {
	width: 100%;
}

.character_profile_text {
	color: #190a49;
	text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
	width:50%;
	height: auto;
	font-size: 18px;
	font-family: "MyFont3";
	position: absolute;
	top: 50vh;
	left: 15vw;
	line-height: 28px;
}

.movie_link {
	display: block;
	position: absolute;
	top: 50%;
	right: 10%;
	width: 15%;
}

.movie_link img {
	width: 100%;
	height: auto;
}

.movie_link img:hover {
	animation-name: tada;
	animation-duration: 1s;
}

.ex_icon {
	display: block;
	position: absolute;
	top: 23%;
	right: 32%;
	width: 12.5%;
}

.ex_kanna {
    top: 30%;
    right: 38%;
}

.ex_icon img {
	width: 100%;
	height: auto;
}

.ex_icon img:hover {
	animation-name: tada;
	animation-duration: 1s;
}

.change_btn {
    display: block;
    position: absolute;
    top: 72%;
    right: 24%;
    width: 12%;
}

.change_btn img {
	width: 100%;
	height: auto;
}

.change_btn img:hover {
	animation-name: tada;
	animation-duration: 1s;
}

.modaal-container {
	background: transparent!important;
}

.intro_video {
	display: block;
    position: absolute;
    top: 72%;
    right: 2%;
    width: 18%;
}

.intro_video::before {
	pointer-events: none;
    position: absolute;
    top: 42%;
    left: 40%;
    content: '\f144';
    font-family: "Font Awesome 6 Pro";
    font-weight: 500;
    color: #fff;
    font-size: 3em;
	z-index: 3;
}

.intro_video img {
	width: 100%;
	height: auto;
}

.intro_video img:hover {
	animation-name: tada;
	animation-duration: 1s;
}


#special_wrapper {
	background: -moz-linear-gradient(90deg, rgba(242,237,231,1) 0%, rgba(255,255,255,1) 50%, rgba(242,237,231,1) 100%);
	background: -webkit-linear-gradient(90deg, rgba(242,237,231,1) 0%, rgba(255,255,255,1) 50%, rgba(242,237,231,1) 100%);
	background: linear-gradient(90deg, rgba(242,237,231,1) 0%, rgba(255,255,255,1) 50%, rgba(242,237,231,1) 100%);
	width: 100%;
	height: auto;
	min-height: 100vh;
	position: relative;
	margin: 0;
	padding: 0;
}

.special_page_bg {
	background-image: url("../images/special_bg.png");
	background-size: 5%;
	background-repeat: repeat;
	background-position: top left;
	background-attachment: fixed;
	min-height: 100vh;
	width: 100%;
	height: auto;
	position: relative;
	margin: 0;
	padding: 0;
}

.special_title {
	color: #ffd800;
	font-family: "MyFont";
	font-size: 48px;
	display: block;
	text-align: center;
	position: relative;
}

.special_title::before {
    content: '';
    background-image: url("../images/spec_left.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center top;
    position: absolute;
    top: 2vh;
    left: 25vw;
    width: 15vw;
    height: 100%;
}

.special_title::after {
    content: '';
    background-image: url("../images/spec_right.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center top;
    position: absolute;
    top: 2vh;
    right: 25vw;
    width: 15vw;
    height: 100%;
}

.sub_title {
	font-family: "MyFont2";
	color: #3d1614;
	font-size: 48px;
	display: block;
	width: 45%;
	text-align: center;
	position: relative;
	margin: 72px auto;
}

.sub_title::after {
	content: '';
	background-image:url("../images/special_subtitle_line.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center bottom;
    width: 100%;
    height: 100%;
	position: absolute;
	bottom: -24px;
	left: 0;
}

.items {
	width: 85%;
	height: auto;
	margin: 0 auto;
	position: relative;
}

.items ul,
.items li {
	list-style: none;
}

.items ul {
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
}

.items li {
	width: 30%;
	margin-bottom: 7%;
	padding: 12px;
	border-radius: 25px;
	box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .3);
	background: #fff;
	font-family: "MyFont2";
	text-align: center;
}

.items li.blank {
	background: transparent;
	box-shadow: none;
}

.items li hr  {
	position: relative;
	height: 1px;
	border-width: 0;
	background-image: -webkit-linear-gradient(left,
	transparent 0%,#30130f 50%,transparent 100%);
	background-image:         linear-gradient(90deg,
	transparent 0%,#30130f 50%,transparent 100%);
	display: block;
	widows: 100%;
	margin: 12px 0;
}

.store {
	font-size: 24px;
}

.store a,
.store a:visited {
	text-decoration: none;
	color: #0b1145;
	transition: all ease .3s;
}

.store a:hover {
	color: #cc6521;
}

.items li img {
	display: block;
	width: 90%;
	margin: 24px auto;
}

.item_name {
	color: #0b1145;
	font-size: 18px;
	margin-bottom: 12px;
}

.video_title {
	color: #ffd800;
	font-family: "MyFont";
	font-size: 48px;
	display: block;
	text-align: center;
	position: relative;
}

.video_title::before {
    content: '';
    background-image: url("../images/spec_left.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center top;
    position: absolute;
    top: 2vh;
    left: 15vw;
    width: 15vw;
    height: 100%;
}

.video_title::after {
    content: '';
    background-image: url("../images/spec_right.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center top;
    position: absolute;
    top: 2vh;
    right: 15vw;
    width: 15vw;
    height: 100%;
}

.video_items {
	width: 85%;
	height: auto;
	margin: 0 auto;
	position: relative;
	top: 10vh;
}

.video_items ul,
.video_items li {
	list-style: none;
}

.video_items ul {
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
}

.video_items li {
	width: 48%;
	margin-bottom: 7%;
	padding: 12px 24px;
	border-radius: 25px;
	box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .3);
	background: #fff;
	font-family: "MyFont2";
	text-align: center;
    overflow: hidden;
    position: relative;
}

.video_items li.blank {
	background: transparent;
	box-shadow: none;
}

.video_items li hr  {
	position: relative;
	height: 1px;
	border-width: 0;
	background-image: -webkit-linear-gradient(left,
	transparent 0%,#30130f 50%,transparent 100%);
	background-image:         linear-gradient(90deg,
	transparent 0%,#30130f 50%,transparent 100%);
	display: block;
	widows: 100%;
	margin: 12px 0;
}

.video_items li img {
	display: block;
	width: 100%;
	margin: 24px auto;
	transition: all ease .3s;
	filter: brightness(50%);
}

.video_items li img:hover {
	filter: brightness(90%);
	transform: scale(1.1);
}

.video_items li.new::before {
	content: 'New!';
	position: absolute;
	top: 36px;
	left: 24px;
	width: auto;
	height: 24px;
	background: red;
	color: #fff;
	font-size: 12px;
	display: inline-block;
	padding: 6px 6px 6px 3px;
	z-index: 2;
	border-radius: 0 0 5px 0;
}

.video_items li::after {
    pointer-events: none;
    position: absolute;
    top: 30%;
    left: 42%;
    content: '\f144';
    font-family: "Font Awesome 6 Pro";
    font-weight: 500;
    color: #fff;
    font-size: 5em;
}

.modaal-video-container {
	background: transparent!important;
}

.character_profile_sp {
	display: none;
}

/*--------------------------*/
/*     768px ~ 1024px       */
/*--------------------------*/
@media screen and (min-width:768px) and (max-width:1024px) {
	
	#menu-btn-check {
    display: none;
}

.menu-btn {
	position: fixed;
	top: 12px;
	left: 12px;
    display: flex;
    height: 90px;
    width: 90px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    cursor: pointer;
	border-radius: 3%;
}

.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 60px;
    background-color: #441a17;
    position: absolute;
	border-radius: 50%;
}
.menu-btn span:before {
    bottom: 24px;
}
.menu-btn span:after {
    top: 24px;
}

.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    right: 100%;
    z-index: 80;
    background-color: rgba(225,225,225,0.8);
	transition: all 0.5s;
}
.menu-content ul {
    padding: 108px 10px 0;
}
.menu-content ul li {
    border-bottom: solid 1px #441a17;
    list-style: none;
}
.menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 36px;
    box-sizing: border-box;
    color:#441a17;
    text-decoration: none;
    padding: 9px 15px 10px 54px;
	font-family: "MyFont";
	letter-spacing: 1px;
    position: relative;
}
.menu-content ul li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #441a17;
    border-right: solid 2px #441a17;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 16px;
}

.menu-content img {
	width: 18%;
}

#menu-btn-check:checked ~ .menu-content {
    right: 0;/*メニューを画面内へ*/
}

/*----------------------------------*/
/*		ハンバーガーメニュー bgありVer. 	*/
/*----------------------------------*/
.fixed_nav {
	width: 100%;
	height: auto;
	position: relative;
	margin: 0;
	padding: 12px 0 12px 12px;
	display: inline-block;
	background: -moz-linear-gradient(90deg, rgba(48,17,11,1) 0%, rgba(75,34,22,1) 50%, rgba(48,17,11,1) 100%);
	background: -webkit-linear-gradient(90deg, rgba(48,17,11,1) 0%, rgba(75,34,22,1) 50%, rgba(48,17,11,1) 100%);
	background: linear-gradient(90deg, rgba(48,17,11,1) 0%, rgba(75,34,22,1) 50%, rgba(48,17,11,1) 100%);
}

#menu-btn-check-special {
    display: none;
}

.menu-btn-special {
	position: fixed;
	top: 12px;
	left: 12px;
    display: flex;
    height: 90px;
    width: 90px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    cursor: pointer;
	border-radius: 3%;
	background: #f2ede7;
}

.menu-btn-special span,
.menu-btn-special span:before,
.menu-btn-special span:after {
    content: '';
    display: block;
    height: 3px;
    width: 60px;
    background-color: #441a17;
    position: absolute;
	border-radius: 50%;
}
.menu-btn-special span:before {
    bottom: 24px;
}
.menu-btn-special span:after {
    top: 24px;
}

.menu-content-special {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    right: 100%;
    z-index: 80;
    background-color: rgba(225,225,225,0.8);
	transition: all 0.5s;
}
.menu-content-special ul {
    padding: 70px 10px 0;
	font-family: "MyFont";
}
.menu-content-special ul li {
    border-bottom: solid 1px #441a17;
    list-style: none;
}
.menu-content-special ul li a {
    display: block;
    width: 100%;
    font-size: 24px;
    box-sizing: border-box;
    color:#441a17;
    text-decoration: none;
    padding: 9px 15px 10px 54px;
	font-family: "MyFont";
	letter-spacing: 1px;
    position: relative;
}
.menu-content-special ul li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #441a17;
    border-right: solid 2px #441a17;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 16px;
}

.menu-content-special img {
	width: 18%;
}

#menu-btn-check-special:checked ~ .menu-content-special {
    right: 0;/*メニューを画面内へ*/
}
	
	.twitter {
    position: fixed;
    top: 108px;
    left: 24px;
    width: 70px;
    height: auto;
    z-index: 2;
}
	
	#top {
    width: 100%;
    margin: 0;
    padding: 0;
    background-image: url("../images/top_bg.png");
    min-height: 167vh;
    background-attachment: fixed;
}

.top_wrapper {
	background-image: url("../images/top_mv_sp.png");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top left;
	width: 100%;
	min-height: 100vh;
	position: relative;
}

.information {
    position: absolute;
    top: 100vh;
    left: 2vw;
    width: 95vw;
    height: 20vh;
}

.info_title {
	font-family: "MyFont";
	color: #7448da;
	font-size: 72px;
	text-align: center;
}

.info_inner {
	width: 100%;
    height: 20vh;
    -moz-border-image: url("../images/info_frame.png") 11 round;
    -webkit-border-image: url("../images/info_frame.png") 11 round;
    -o-border-image: url("../images/info_frame.png") 11 round;
    -ms-border-image: url("../images/info_frame.png") 11 round;
    border-image: url("../images/info_frame.png") fill 11 round;
    border-style: solid;
    border-width: 11px;
    border-color: #fff;
    margin-top: 12px;
}

.info_bg {
	background: #fff;
	border: solid 1px #441a17;
	height: 100%;
    overflow-y: scroll;
}
.info_bg::-webkit-scrollbar{
   width: 10px;
}
.info_bg::-webkit-scrollbar-track{
   background-color:#F8F0E3;
}
.info_bg::-webkit-scrollbar-thumb{
   background-color: #441a17;
}


.info_inner ul,
.info_inner li {
	list-style: none;
}

.info_inner ul{
	padding: 24px;
}

.info_inner li {
	padding-bottom: 12px;
	margin-bottom: 12px;
	border-bottom: 1px solid #441a17;
}

.info_inner .day {
	display: inline-block;
	width: auto;
	height: auto;
	padding: 2px 4px;
	background: #441a17;
	color: #fff;
	font-family: "源ノ明朝 Medium";
	font-size: 24px;
}

.info_inner .info_text {
	display: block;
	width: auto;
	height: auto;
	margin-top: 6px;
	color: #441a17;
	font-family: "源ノ明朝 Medium";
	font-size: 24px;
}

.banner {
    display: block;
    margin: 0 auto;
    width: 97%;
    height: auto;
    position: absolute;
    top: 130vh;
    left: 2%; 
}

.banner img {
	width: 100%;
	height: auto;
	margin-right: 0;
}

.banner img:hover {
	animation-name: pulse;
	animation-duration: 1s;
}
.op_sbn::after {
    top: 25%;
    left: 42%;
}
#story::after {
    top: 5vh;
}
.story_text {
    font-size: 28px;
}
#character {
	min-height: 55vh;
    padding-top: 3%;
}
.character_wrapper ul {
    margin: 10vh auto 0 auto;
}
	
.change_btn {
    display: block;
    position: absolute;
    top: 38%;
    left: 9%;
    width: 25%;
}
	
.ex_icon {
    top: 19%;
    right: 32%;
    width: 18.5%;
}
	
.intro_video {
    top: 37.5%;
    right: 20%;
    width: 39%;
}
#graphic {
    min-height: 80vh;
}
.graphic_wrapper {
	opacity: 1;
	}
.graphic_wrapper li.new_graphic::after {
    padding: 6px;
}
.spec_inner {
    flex-wrap: wrap;
    justify-content: center;
    width: 60%;
	opacity: 1;
}
.spec_text {
    width: 100%;
}
.spec_text table {
    font-size: 24px;
    line-height: 2.2em;
}
.spec_text th::before {
    top: 1.5vh;
}
.package {
    width: 100%;
    margin-top: 1em;
    margin-bottom: 2em;
}
#page-top {
    width: 20%;
}
.fixed_nav {
    padding: 36px 0 24px 12px;
}
.special_page_bg {
    min-height: 130vh;
}
.special_title::before {
	top: 1.5vh;
    left: 20vw;
}
.special_title::after {
	top: 1.5vh;
    right: 20vw;
}
.sub_title {
    width: 60%;
}
.items ul {
    flex-wrap: wrap;
}
.items li {
    width: 45%;
    min-height: 60vh;
}
.store {
    font-size: 36px;
}
.item_name {
    font-size: 24px;
    line-height: 1em;
}
.video_title::before,
.video_title::after {
    display: none;
}
.video_items li {
    width: 100%;
}
.video_items li.blank {
    display: none;
}
.character_profile {
		display: none;
	}
.character_select {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: flex-end;
    flex-wrap: nowrap;
    position: absolute;
    top: 1.5vh;
    left: 0vw;
    z-index: 2;
}
.character_select a {
    width: 18%;
    margin-right: 4%;
}
.character_profile_sp {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	display: block;
	}
.character_profile_sp img {
	width: 100%;
	}
.character_profile_text_sp {
    color: #190a49;
    text-shadow: 0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
    width: 80%;
    height: auto;
    font-size: 36px;
    font-family: "MyFont3";
    position: absolute;
    top: 120vh;
    left: 10vw;
    line-height: 54px;
}
.movie_link {
    top: 28%;
    right: 7%;
    width: 36%;
}
}

@media screen and (min-width:400px) and (max-width:768px) {
	.character_profile_text_sp {
    font-size: 28px;
	line-height: 42px;
}
	.ex_icon {
    top: 18%;
    right: 30%;
    width: 20.5%;
}
}

/*--------------------------*/
/*          for sp          */
/*--------------------------*/
@media screen and (min-width:0) and (max-width:767px) {
	
	#menu-btn-check {
    display: none;
}

.menu-btn {
    position: fixed;
    top: 12px;
    left: 12px;
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    cursor: pointer;
    border-radius: 3%;
}

.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 30px;
    background-color: #441a17;
    position: absolute;
	border-radius: 50%;
}
.menu-btn span:before {
    bottom: 12px;
}
.menu-btn span:after {
    top: 12px;
}

.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    right: 100%;
    z-index: 80;
    background-color: rgba(225,225,225,0.8);
	transition: all 0.5s;
}
.menu-content ul {
    padding: 108px 10px 0;
}
.menu-content ul li {
    border-bottom: solid 1px #441a17;
    list-style: none;
}
.menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 18px;
    box-sizing: border-box;
    color: #441a17;
    text-decoration: none;
    padding: 9px 15px 10px 36px;
    font-family: "MyFont";
    letter-spacing: 1px;
    position: relative;
}
.menu-content ul li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #441a17;
    border-right: solid 2px #441a17;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 16px;
}
	
.menu-content ul li.sp_logo a::before {
	display: none;
	}

.menu-content img {
	width: 88%;
}

#menu-btn-check:checked ~ .menu-content {
    right: 0;/*メニューを画面内へ*/
}

/*----------------------------------*/
/*		ハンバーガーメニュー bgありVer. 	*/
/*----------------------------------*/
.fixed_nav {
	width: 100%;
	height: auto;
	position: relative;
	margin: 0;
	padding: 12px 0 12px 12px;
	display: inline-block;
	background: -moz-linear-gradient(90deg, rgba(48,17,11,1) 0%, rgba(75,34,22,1) 50%, rgba(48,17,11,1) 100%);
	background: -webkit-linear-gradient(90deg, rgba(48,17,11,1) 0%, rgba(75,34,22,1) 50%, rgba(48,17,11,1) 100%);
	background: linear-gradient(90deg, rgba(48,17,11,1) 0%, rgba(75,34,22,1) 50%, rgba(48,17,11,1) 100%);
}

#menu-btn-check-special {
    display: none;
}

.menu-btn-special {
	position: fixed;
	top: 12px;
	left: 12px;
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    cursor: pointer;
	border-radius: 3%;
	background: #f2ede7;
}

.menu-btn-special span,
.menu-btn-special span:before,
.menu-btn-special span:after {
    content: '';
    display: block;
    height: 3px;
    width: 30px;
    background-color: #441a17;
    position: absolute;
	border-radius: 50%;
}
.menu-btn-special span:before {
    bottom: 12px;
}
.menu-btn-special span:after {
    top: 12px;
}

.menu-content-special {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    right: 100%;
    z-index: 80;
    background-color: rgba(225,225,225,0.8);
	transition: all 0.5s;
}
.menu-content-special ul {
    padding: 70px 10px 0;
	font-family: "MyFont";
}
.menu-content-special ul li {
    border-bottom: solid 1px #441a17;
    list-style: none;
}
.menu-content-special ul li a {
    display: block;
    width: 100%;
    font-size: 18px;
    box-sizing: border-box;
    color: #441a17;
    text-decoration: none;
    padding: 12px 15px 10px 36px;
    font-family: "MyFont";
    letter-spacing: 1px;
    position: relative;
}
.menu-content-special ul li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #441a17;
    border-right: solid 2px #441a17;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 16px;
}
	
.menu-content-special ul li.sp_logo a::before {
	display: none;
	}

.menu-content-special img {
    width: 88%;
}

#menu-btn-check-special:checked ~ .menu-content-special {
    right: 0;/*メニューを画面内へ*/
}
	
	.twitter {
    top: 72px;
    left: 22px;
    width: 40px;
}
	
	#top {
    min-height: 120vh;
}
	
	.top_wrapper {
    background-image: url("../images/top_mv_sp.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top left;
    width: 100%;
    min-height: 65vh;
    position: relative;
}

.information {
    position: absolute;
    top: 62vh;
    left: 2vw;
    width: 95vw;
    height: 20vh;
}

.info_title {
    font-size: 48px;
}

.info_inner {
	width: 100%;
    height: 20vh;
    -moz-border-image: url("../images/info_frame.png") 11 round;
    -webkit-border-image: url("../images/info_frame.png") 11 round;
    -o-border-image: url("../images/info_frame.png") 11 round;
    -ms-border-image: url("../images/info_frame.png") 11 round;
    border-image: url("../images/info_frame.png") fill 11 round;
    border-style: solid;
    border-width: 11px;
    border-color: #fff;
    margin-top: 12px;
}

.info_bg {
	background: #fff;
	border: solid 1px #441a17;
	height: 100%;
    overflow-y: scroll;
}
.info_bg::-webkit-scrollbar{
   width: 10px;
}
.info_bg::-webkit-scrollbar-track{
   background-color:#F8F0E3;
}
.info_bg::-webkit-scrollbar-thumb{
   background-color: #441a17;
}


.info_inner ul,
.info_inner li {
	list-style: none;
}

.info_inner ul {
    padding: 12px;
}

.info_inner li {
	padding-bottom: 12px;
	margin-bottom: 12px;
	border-bottom: 1px solid #441a17;
}

.info_inner .day {
	font-size: 16px;
}

.info_inner .info_text {
	font-size: 16px;
}

.banner {
    display: block;
    margin: 0 auto;
    width: 97%;
    height: auto;
    position: absolute;
    top: 93vh;
    left: 2%; 
}

.banner img {
    width: 100%;
    height: auto;
    margin-right: 0;
    margin-bottom: 2%;
}
	
.op_sbn::after {
    top: 25%;
    left: 42%;
    font-size: 3em;
}
#story {
    width: 100%;
    min-height: 100vh;
    margin: 0;
    padding: 0;
    position: relative; 
    background: -moz-linear-gradient(180deg, rgba(135,93,227,1) 0%, rgba(22,6,69,1) 100%);
    background: -webkit-linear-gradient(180deg, rgba(135,93,227,1) 0%, rgba(22,6,69,1) 100%);
    background: linear-gradient(180deg, rgba(135,93,227,1) 0%, rgba(22,6,69,1) 100%);
}
#story::after {
    display: none;
}
.story_inner {
    padding: 24px;
}
.story_title {
    font-size: 48px;
}
.story_text {
    font-size: 16px;
}
.story_text .yerrow {
    color: #f1ff33;
    font-size: 24px;
}
#character {
    background-size: cover;
    background-position: left center;
    min-height: 60vh;
    padding-top: 8%;
}
.character_title {
    font-size: 48px;
}
.character_wrapper ul {
    padding-left: 0;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-around;
    width: 95%;
    margin: 12vh auto 0 auto;
}
.change_btn {
    display: block;
    position: absolute;
    top: 38%;
    left: 8%;
    width: 25%;
}
.ex_icon {
    top: 18%;
    right: 30%;
    width: 20.5%;
}
.intro_video {
    top: 37.2%;
    right: 21%;
    width: 40%;
}
.intro_video::before {
    font-size: 2em;
}
#graphic {
    min-height: 50vh;
	background-size: contain;
	background-image: url("../images/graphic_bg_sp.jpg");
	background-repeat: repeat-y;
}
.graphic_title {
    font-size: 48px;
}
.graphic_wrapper {
	opacity: 1;
	}
.graphic_wrapper ul {
    margin: 24px auto 0 auto;
}
.graphic_wrapper li {
    width: 28%;
}
.graphic_wrapper li.new_graphic::after {
    font-size: 12px;
    padding: 6px;
}
.spec_title {
    font-size: 48px;
}
.spec_title::before {
    left: 10vw;
}
.spec_title::after {
    right: 10vw;
}
.spec_inner {
    flex-wrap: wrap;
    justify-content: center;
    width: 90%;
	opacity: 1!important;
}
.spec_text {
    width: 100%;
}
.spec_text table {
    font-size: 14px;
    line-height: 1.8em;
}
.spec_text th {
    padding-left: 10%;
    width: 40%;
}
.spec_text th::before {
    top: 1vh;
    left: 12px;
    width: 12px;
    height: 12px;
}
.package {
    width: 100%;
    margin-top: 1em;
    margin-bottom: 2em;
}
#page-top {
    width: 30%;
}
.fixed_nav {
    padding: 24px 0 24px 12px;
}
.special_page_bg {
    min-height: 130vh;
    padding-bottom: 10%;
}
.special_title {
    font-size: 36px;
}
.special_title::before,
.special_title::after {
	display: none;
}
.sub_title {
    font-size: 32px;
    width: 95%;
    margin: 48px auto 72px auto;
}
.items {
	opacity: 1!important;
	}
.items ul {
    display: block;
    width: 100%;
}
.items li {
    width: 100%;
	margin-bottom: 10%;
}
.store {
    font-size: 28px;
}
.item_name {
    font-size: 24px;
    line-height: 1em;
}
.items li.blank {
    display: none;
}
.video_title {
    font-size: 36px;
    width: 60%;
    margin: 0 auto;
}
.video_title::before,
.video_title::after {
    display: none;
}
.video_items {
    top: 5vh;
}
.video_items li {
    width: 100%;
	margin-bottom: 10%;
}
.video_items li::after {
    top: 22%;
    left: 38%;
}
.video_items li.blank {
    display: none;
}

.character_profile {
		display: none;
	}
.character_select {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: flex-end;
    flex-wrap: nowrap;
    position: absolute;
    top: 1.5vh;
    left: 0vw;
    z-index: 2;
}
.character_select a {
    width: 18%;
    margin-right: 4%;
}
.character_profile_sp {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	display: block;
	}
.character_profile_sp img {
	width: 100%;
	}
.character_profile_text_sp {
    color: #190a49;
    text-shadow: 0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
    width: 80%;
    height: auto;
    font-size: 16px;
    font-family: "MyFont3";
    position: absolute;
    top: 70vh;
    left: 10vw;
    line-height: 24px;
}
.movie_link {
    top: 28%;
    right: 21%;
    width: 36%;
}
}