* {
	box-sizing: border-box;
}

body {
	background: #fce4d6;
	color: #000;
	font-size: 1.6rem;
	line-height: 1.8em;
	font-family: "kinuta-maruminyoshino-stdn", serif;
	font-weight: 400;
	font-style: normal;
	font-weight: 400;
	text-align: left;
	transition: all 0.4s;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}

body::after {
	content: "";
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
}

body.modal {
	overflow: hidden;
}

a {
	outline: none;
	color: #000;
	text-decoration: underline;
	transition: all 0.4s;
}

a:hover {
	text-decoration: none;
}

h1,
h2,
h3,
h4,
p,
dl,
dt,
dd,
strong,
em {
	margin: 0;
	padding: 0;
	font-size: inherit;
	line-height: inherit;
	font-weight: inherit;
	font-style: inherit;
}

ul,
ol,
dl,
dt,
dd {
	list-style: none;
	margin: 0;
	padding: 0;
}

li {
	list-style: inherit;
	margin: 0;
	padding: 0;
}

img {
	outline: none;
	max-width: 100%;
	font-size: 1px !important;
	line-height: 0 !important;
	vertical-align: middle;
}

rt {
	transform: translateY(0.2em);
}

.bold {
	font-weight: bold !important;
}

.normal {
	font-weight: normal !important;
}

.under {
	text-decoration: underline;
}

.dis {
	text-decoration: line-through;
}

.en {
	font-family: "the-seasons", sans-serif;
	font-weight: 700;
	font-style: normal;
}

.emColor01 {
	color: #fa59da;
}

.mgtQp {
	margin-top: 7.2px !important;
}

.mgtTp {
	margin-top: 9.6px !important;
}

.mgtHp {
	margin-top: 14.4px !important;
}

.mgt1p {
	margin-top: 28.8px !important;
}

.mgt1Hp {
	margin-top: 43.2px !important;
}

.mgt2p {
	margin-top: 57.6px !important;
}

.mgt2Hp {
	margin-top: 72px !important;
}

.mgt3p {
	margin-top: 86.4px !important;
}

.mgbQp {
	margin-bottom: 7.2px !important;
}

.mgbTp {
	margin-bottom: 9.6px !important;
}

.mgbHp {
	margin-bottom: 14.4px !important;
}

.mgb1p {
	margin-bottom: 28.8px !important;
}

.mgb1Hp {
	margin-bottom: 43.2px !important;
}

.mgb2p {
	margin-bottom: 57.6px !important;
}

.mgb2Hp {
	margin-bottom: 72px !important;
}

.mgb3p {
	margin-bottom: 86.4px !important;
}

.fsS {
	font-size: 0.85em !important;
	line-height: 1.8em !important;
}

.fsL {
	font-size: 1.25em !important;
	line-height: 1.8em !important;
}

.center {
	text-align: center !important;
}

.left {
	text-align: left !important;
}

.right {
	text-align: right !important;
}

.iblock {
	display: inline-block;
	vertical-align: baseline;
}

.wbreak {
	word-wrap: break-word;
	overflow-wrap: break-word;
	word-break: break-all;
}

.w1 {
	width: 1em !important;
}

.w2 {
	width: 2em !important;
}

.w3 {
	width: 3em !important;
}

.w4 {
	width: 4em !important;
}

.w5 {
	width: 5em !important;
}

.w6 {
	width: 6em !important;
}

.w7 {
	width: 7em !important;
}

.w8 {
	width: 8em !important;
}

.w9 {
	width: 9em !important;
}

.w10 {
	width: 10em !important;
}

.w11 {
	width: 11em !important;
}

.w12 {
	width: 12em !important;
}

.w13 {
	width: 13em !important;
}

.w14 {
	width: 14em !important;
}

.w15 {
	width: 15em !important;
}

.w16 {
	width: 16em !important;
}

.w17 {
	width: 17em !important;
}

.w18 {
	width: 18em !important;
}

.w19 {
	width: 19em !important;
}

.w20 {
	width: 20em !important;
}

.w21 {
	width: 21em !important;
}

.w22 {
	width: 22em !important;
}

.w23 {
	width: 23em !important;
}

.w24 {
	width: 24em !important;
}

.w25 {
	width: 25em !important;
}

.w26 {
	width: 26em !important;
}

.w27 {
	width: 27em !important;
}

.w28 {
	width: 28em !important;
}

.w29 {
	width: 29em !important;
}

.w30 {
	width: 30em !important;
}

.button {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	position: relative;
	z-index: 1;
	margin: 0 auto;
	padding: 4px 0px 0 0px;
	min-height: 86px;
	background: #ca4844;
	color: #fff;
	font-size: 2.4rem;
	line-height: 1.2em;
	letter-spacing: 0;
	text-indent: 0;
	text-decoration: none;
	text-align: left;
	text-shadow: none !important;
	cursor: pointer;
	transition: all 0.4s;
	flex-direction: column;
	justify-content: center;
	outline: 1px solid rgb(255, 255, 255);
	outline-offset: -5px;
}

.button::before {
	content: "";
	box-sizing: border-box;
	position: absolute;
	right: 0px;
	top: 0px;
	z-index: 10;
	width: 86px;
	height: 86px;
	background: url(../img/btn_ico_blank.png) center/20px auto no-repeat;
	transform: scale(1);
	transition: 0.3s;
}

.button.off {
	opacity: 0.3;
	cursor: default;
}

.button:not(.off):hover {
	outline: 1px solid rgb(255, 255, 255);
	soutline-offset: -5px;
}

.button:not(.off):hover::before {
	transform: scale(1.1);
}

.buttons {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}

.buttons .button {
	display: flex;
	min-width: 0;
}

.buttons > li {
	margin-top: 30px;
}

.buttons.c2 > li {
	width: calc((100% - 20px) / 2);
}

.buttons.c3 > li {
	width: calc((100% - 40px) / 3);
}

table.def {
	border-width: 0 0 1px;
	border-style: solid;
	border-color: rgba(255, 255, 255, 0.4);
	width: 100%;
	font-size: 0.9em;
	line-height: 1.6em;
}

table.def th,
table.def td {
	border-width: 1px 0 0;
	border-style: solid;
	border-color: rgba(255, 255, 255, 0.4);
	text-align: left;
}

table.def th {
	position: relative;
	z-index: 1;
	padding: 15px 15px 15px 0;
	line-height: 1.4em;
	font-weight: 400;
	white-space: nowrap;
}

table.def td {
	padding: 10px 0;
}

ul.def {
	font-size: inherit;
	line-height: 2em !important;
	text-align: left;
}

ul.def > li {
	position: relative;
	z-index: 1;
	padding-left: 1em;
}

ul.def > li::before {
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
}

ul.def.disc > li::before {
	content: "・";
}

ul.def.asta > li::before {
	content: "※";
}

.normal-slider .slick-dots {
	position: absolute;
	left: 0;
	bottom: 15px;
	z-index: 1000;
	width: 100%;
	line-height: 0;
	text-align: center;
}

.normal-slider .slick-dots > li {
	display: inline-block;
	margin: 0 3px;
	line-height: 0;
}

.normal-slider .slick-dots > li button {
	box-sizing: border-box;
	overflow: hidden;
	outline: none;
	width: 20px;
	height: 6px;
	background: #e4a3a1;
	font-size: 1px;
	text-indent: -9999px;
	transition: all 0.4s;
	border: none;
}

.normal-slider .slick-dots > li.slick-active button,
.normal-slider .slick-dots > li:not(.slick-active) button:hover {
	background: #ca4844;
}

.scrollShowTarget {
	opacity: 0;
	transform: scale(0);
	transition: transform 0.6s cubic-bezier(0.18, 1.36, 0.56, 0.96), opacity 0.3s ease-in;
}

.scrollShowTarget.scrollShow {
	opacity: 1;
	transform: scale(1);
}

#Splash {
	overflow: hidden;
	position: fixed;
	left: 0;
	top: 0;
	z-index: -1;
	opacity: 0;
	width: 100%;
	height: 100%;
	background: #fce4d6;
	line-height: 0;
	text-align: center;
}

#Splash.show {
	z-index: 59000;
	opacity: 1;
}

#Splash > div {
	opacity: 0;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	transform: scale(1.6);
	transition: opacity 1s ease-out, transform 1s ease-out 0.4s;
}

#Splash > div img {
	opacity: 0;
	max-width: 50%; /*transform:rotate(-1440deg);
	transition:transform 1.6s cubic-bezier(.8,1.41,.94,.93);*/
}

#Splash > div.show {
	opacity: 1;
	transform: scale(1);
}

#Splash > div.show img {
	opacity: 1;
	transform: rotate(0deg);
}

#Nv > .oc {
	overflow: hidden;
	position: fixed;
	right: 10px;
	top: 10px;
	z-index: 50010;
	width: 110px;
	height: 110px;
	background: #ca4844;
}

#Nv > .oc::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background: transparent url(../img/menu_btn.png) center/contain no-repeat;
	transition: background 0.4s;
}

#Nv > .menu {
	box-sizing: border-box;
	overflow: auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 50000;
	width: calc((100% - 562px) / 2);
	min-width: 250px;
	height: 100%;
	text-align: center;
	transition: all 0.2s linear;
}

#Nv > .menu h1 {
	max-width: 280px;
	width: 100%;
	margin: 0 auto;
	position: relative;
}

#Nv > .menu > ul {
	margin: 10px auto;
	width: 300px;
}

#Nv > .menu > ul > li {
	margin: 10px 0;
}

#Nv > .menu > ul > li a {
	box-sizing: border-box;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	font-size: 1.6em;
	line-height: 1.4em;
	font-family: "the-seasons", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-indent: 0.1em;
	text-decoration: none;
	color: #ca4844;
}

#Nv > .menu > ul > li.cur a,
#Nv > .menu > ul > li a:hover {
	opacity: 0.5;
}

#Nv > .menu .official {
	position: relative;
}

#Nv > .menu .official .button {
	max-width: 230px;
	width: 100%;
	margin: 0 auto;
	padding: 0 35px;
}

#Nv > .menu .official .button::before {
	content: none;
}

#Nv > .menu .official .button:hover {
	opacity: 0.7;
}

#Nv > .menu .kira01 {
	position: absolute;
	right: -40px;
	top: -50px;
}

#Nv > .menu .kira02 {
	position: absolute;
	left: -30px;
	bottom: -10px;
}

#Nv > .menu .kira03 {
	position: absolute;
	right: 10%;
	top: -150px;
}

#Nv > .menu .kira04 {
	position: absolute;
	right: 3%;
	top: -90px;
}

#Nv > .menu .kira05 {
	position: absolute;
	left: 5%;
	bottom: -60px;
}

#Nv > .menu .kira01,
#Nv > .menu .kira03,
#Nv > .menu .kira05 {
	animation: cross 1.5s linear infinite;
}

#Nv > .menu .kira02,
#Nv > .menu .kira04 {
	animation: cross 1s linear infinite reverse;
}

#Nv.show > .oc::before {
	background-image: url(../img/menu_btn_close.png);
}

#Nv.show > .menu {
	top: 0;
}

#Bg {
	overflow: hidden;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 10;
	width: 100%;
	height: 100%;
}

#Bg > .chars {
	position: absolute;
	right: 0;
	top: 0;
	z-index: 10;
	width: calc((100vw - 562px) / 2);
	height: 100%;
	background: #fff;
}

#Bg > .chars::before {
	content: "";
	background-image: url("../img/frame_side_head.png");
	width: calc((100vw - 562px) / 2);
	height: 100%;
	position: fixed;
	right: 0;
	top: 0;
	background-size: contain;
	background-repeat: no-repeat;
}

#Bg > .chars::after {
	content: "";
	background-image: url("../img/frame_side_bottom.png");
	background-size: contain;
	width: calc((100vw - 562px) / 2);
	height: 100%;
	position: fixed;
	right: 0;
	bottom: 0;
	background-repeat: no-repeat;
	background-position: 100% 100%;
	z-index: 11111;
}

#Bg > .chars > div {
	opacity: 0;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 200;
	width: calc((100vw - 562px) / 2);
	height: 100%;
	background-color: transparent;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	transition: opacity 0.4s ease-in, right 0.6s ease-in-out;
}

#Bg > .chars > div.cur {
	opacity: 1;
	right: 0;
	z-index: 210;
}

#Bg > .chars > div:nth-of-type(1) {
	background-image: url(../img/img_side_chara01.png);
}

#Bg > .chars > div:nth-of-type(2) {
	background-image: url(../img/img_side_chara02.png);
}

#Bg > .chars > div:nth-of-type(3) {
	background-image: url(../img/img_side_chara03.png);
}

#Bg > .chars > div:nth-of-type(4) {
	background-image: url(../img/img_side_chara04.png);
}

#Bg > .chars > div:nth-of-type(5) {
	background-image: url(../img/img_side_chara05.png);
}

#Bg > .chars > div:nth-of-type(6) {
	background-image: url(../img/img_side_chara06.png);
}

#Wrap {
	box-sizing: border-box;
	position: relative;
	z-index: 10000;
	margin: 0 auto;
	border-width: 0 5px;
	border-style: solid;
	border-color: #ca4844;
	padding: 15px 0px;
	width: 562px;
	min-height: 100vh;
}

#Wrap::before {
	content: "";
	box-sizing: border-box;
	position: fixed;
	top: 0;
	height: 15px;
	left: 0;
	z-index: 2;
	background: #ca4844;
	width: 100%;
}

#Wrap::after {
	content: "";
	box-sizing: border-box;
	position: fixed;
	bottom: 0;
	height: 15px;
	left: 0;
	z-index: 1;
	background: #ca4844;
	width: 100%;
}

#Wrap > section {
	position: relative;
	z-index: 1;
	padding: 100px 0px;
}

#Wrap > #Main {
	background: url("../img/bg_repeat.jpg");
	padding: 50px 35px 80px;
}

#Wrap > #Main .frame {
	position: relative;
	background: url(../img/frame_repeat_p.png) repeat-y;
	background-size: contain;
	max-width: 480px;
	width: 100%;
	margin: 0 auto 0px;
	min-height: 780px;
}

#Wrap > #Main .frame::before {
	content: "";
	background: url("../img/frame_head_p.png") no-repeat center center;
	position: absolute;
	max-width: 480px;
	width: 100%;
	height: 29px;
	top: -29px;
	left: 0px;
	background-size: contain;
}

#Wrap > #Main .frame::after {
	content: "";
	background: url("../img/frame_bottom_p.png") no-repeat center center;
	position: absolute;
	max-width: 480px;
	width: 100%;
	height: 29px;
	bottom: -29px;
	left: 0px;
	background-size: contain;
}

#Wrap > #Main .frame > h1 {
	width: 130%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}

#Wrap > #Main .frame .fade-on-scroll {
	transition: opacity 0.5s ease;
	opacity: 1;
}

#Wrap > #Main .frame .fade-on-scroll.is-hidden {
	opacity: 0;
}

#Wrap > #Main .frame .logo {
	text-align: center;
	margin: 40px 0 20px;
}

#Wrap > #Main .frame .scroll {
	writing-mode: vertical-rl;
	color: #ca4844;
	position: absolute;
	right: 40px;
	bottom: -25px;
	border-left: 2px #ca4844 solid;
	padding-bottom: 50px;
	z-index: 1;
	letter-spacing: 0.05em;
}

#Wrap > .scroll {
	position: absolute;
	right: -15px;
	top: calc(100vh - 170px);
	z-index: 2000;
}

#Wrap > .scroll > a {
	box-sizing: border-box;
	overflow: hidden;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	border: 1px solid #000;
	border-radius: 40px;
	width: 40px;
	height: 160px;
	background: #fff url(../img/img_arrow_scroll.png) 50% calc(100% - 6px)/20px auto no-repeat;
	transition: background-color 0.4s;
	animation: scroll_pc 1s linear infinite;
}

#Wrap > .scroll > a:hover {
	background-color: #ffea3c;
}

#Wrap > .scroll > a img {
	width: 20px;
}

#Wrap > footer {
	position: relative;
	z-index: 10000;
	padding: 88px 30px;
	background: #ca4844;
	font-size: 0.8em;
	line-height: 1.5em;
	text-align: center;
}

#Wrap > footer .share > dt {
	display: none;
}

#Wrap > footer .share > dd {
	line-height: 0;
}

#Wrap > footer .share > dd > ul {
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
}

#Wrap > footer .share > dd > ul > li {
	margin: 0 10px;
}

#Wrap > footer .share > dd a {
	box-sizing: border-box;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
}

#Wrap > footer .share > dd a img {
	width: 45px;
}

#Wrap > footer .share > dd a:hover {
	transform: scale(1.1);
}

#Wrap > footer .official {
	margin: 60px auto;
	width: 75%;
	transition: 0.2s;
}

#Wrap > footer .official:hover {
	opacity: 0.8;
}

#Wrap > #Concept {
	background: #fce4d6;
}

#Wrap > #Concept h2 {
	color: #ca4844;
	text-align: center;
	font-size: 2.5em;
	padding-bottom: 50px;
	font-weight: bold;
	letter-spacing: 0.05em;
}

#Wrap > #Concept .particle {
	left: 0;
	top: 110px;
	width: 120px;
}

#Wrap > #Concept > .inner {
	line-height: 2em;
	text-align: left;
	padding: 0 30px 50px;
	font-size: 19.8px;
}

#Wrap > #Concept .modalMovie {
	overflow: hidden;
	display: block;
	position: relative;
	z-index: 1;
}

#Wrap > #Concept .modalMovie::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	z-index: 20;
	width: 100%;
	height: 100%;
	background: rgba(202, 72, 68, 0.5) url("../img/btn_ico_movie.png") 50% 50%/76px auto no-repeat;
}

#Wrap > #Concept .modalMovie img {
	width: 750px;
	transition: transform 0.4s;
}

#Wrap > #Concept .modalMovie:hover img {
	transform: scale(1.1);
}

#Wrap > #Credit {
	padding: 100px 0 0;
	background: #fff;
}

#Wrap > #Credit h2 {
	color: #ca4844;
	text-align: center;
	font-size: 3.5em;
	padding-bottom: 70px;
	font-weight: bold;
}

#Wrap > #Credit dl {
	padding: 0 30px 75px;
}

#Wrap > #Credit dl dt {
	color: #ca4844;
	display: flex;
	align-items: center;
	font-size: 1.6em;
}

#Wrap > #Credit dl dt.en {
	font-size: 1.45em;
	letter-spacing: 0.08em;
}

#Wrap > #Credit dl dt::before {
	background-color: #ca4844;
	content: "";
	height: 1px;
	width: 10px;
	margin-right: 12px;
}

#Wrap > #Credit dl dd ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

#Wrap > #Credit dl dd ul li {
	width: 50%;
	font-size: 1.7em;
	margin-top: 40px;
}

#Wrap > #Credit dl dd ul li span {
	display: block;
	font-size: 0.8em;
	padding-top: 8px;
}

#Wrap > #Credit dl dd ul li.order {
	display: flex;
	align-items: flex-end;
}

#Wrap > #Credit dl dd .tit {
	border: 2px #ca4844 solid;
	width: -moz-fit-content;
	width: fit-content;
	display: flex;
	align-items: center;
	padding-right: 15px;
	letter-spacing: 0.08em;
	margin-top: 30px;
	font-size: 1.05em;
}

#Wrap > #Credit dl dd .tit .left {
	background: #ca4844;
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: #fff;
	padding: 1px 7px 0 5px;
}

#Wrap > #Credit .scenario ul li {
	margin-top: 30px;
}

#Wrap > #Credit .scenario ul li span {
	padding: 0 0 8px;
}

#Wrap > #TrackList {
	background: #fce4d6;
}

#Wrap > #TrackList h2 {
	color: #ca4844;
	text-align: center;
	font-size: 3.5em;
	padding-bottom: 70px;
	font-weight: bold;
}

#Wrap > #TrackList .disc_num {
	padding: 25px 30px 20px;
	background: #ca4844;
	color: #fff;
	font-size: 20px;
}

#Wrap > #TrackList .disc_num span {
	display: block;
	font-size: 2em;
	margin-bottom: 15px;
}

#Wrap > #TrackList ol.tracks {
	counter-reset: ol-def-item;
}

#Wrap > #TrackList ol.tracks > li {
	position: relative;
	z-index: 1;
	padding: 25px 30px 25px 90px;
	min-height: 160px;
	counter-increment: mycounter;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

#Wrap > #TrackList ol.tracks > li::before {
	content: counter(mycounter, decimal-leading-zero);
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	position: absolute;
	left: 30px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 20;
	font-size: 2.2em;
	line-height: 0;
	font-weight: 400;
	font-style: normal;
	color: #ca4844;
	font-family: "the-seasons", sans-serif;
	font-weight: 700;
	font-style: normal;
}

#Wrap > #TrackList ol.tracks > li::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
	border-width: 1px 0;
	border-style: solid;
	border-color: #ca4844;
	width: 100%;
}

#Wrap > #TrackList ol.tracks > li .title {
	font-family: "the-seasons", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 1.5em;
	line-height: 1.1em;
	font-weight: bold;
	color: #ca4844;
}

#Wrap > #TrackList ol.tracks > li .title span {
	font-family: "kinuta-maruminyoshino-stdn", serif;
	font-weight: normal;
}

#Wrap > #TrackList ol.tracks > li .credit {
	margin-top: 1em;
	line-height: 1.5em;
	font-size: 1.15em;
}

#Wrap > #TrackList .cau {
	padding: 30px 30px 0;
}

#Wrap > #Product {
	background: #ca4844;
}

#Wrap > #Product h2 {
	color: #fff;
	text-align: center;
	font-size: 3.5em;
	padding-bottom: 70px;
	font-weight: bold;
}

#Wrap > #Product #limited > .jacket {
	padding: 0 30px;
}

#Wrap > #Product #limited > .tit {
	width: 80%;
	margin: 65px auto 0;
}

#Wrap > #Product #limited > .date {
	width: 80%;
	margin: 40px auto 50px;
}

#Wrap > #Product #limited > .note {
	text-align: center;
	color: #fff;
	padding-bottom: 55px;
}

#Wrap > #Product #limited .tracks > li {
	background-color: #fff;
	padding: 35px 30px;
}

#Wrap > #Product #limited .tracks > li:nth-child(odd) {
	background-color: #fce4d6;
}

#Wrap > #Product #limited .tracks > li .title {
	color: #ca4844;
	font-size: 1.65em;
	position: relative;
}

#Wrap > #Product #limited .tracks > li .title .num {
	padding-right: 30px;
}

#Wrap > #Product #limited .tracks > li .title .num::after {
	position: absolute;
	content: "";
	flex-grow: 1;
	height: 1px;
	width: 15px;
	left: 40px;
	top: 14px;
	background-color: #ca4844;
}

#Wrap > #Product #limited .tracks > li .title .jp {
	font-family: "kinuta-maruminyoshino-stdn", serif;
	font-weight: 400;
}

#Wrap > #Product #limited .tracks > li .credit {
	padding-top: 10px;
	font-size: 1.15em;
}

#Wrap > #Product #limited .tracks > li .credit .ue {
	text-shadow: 0 0 0.3px currentColor;
}

#Wrap > #Product .bloset_wrap .bloset_inner {
	padding: 80px 30px;
}

#Wrap > #Product .bloset_wrap .bloset_inner .tit {
	width: 55%;
	margin: 65px auto 30px;
}

#Wrap > #Product .bloset_wrap .bloset_inner .blo {
	color: #fff;
	text-align: center;
	font-size: 1.6em;
	border: 2px #fff solid;
	padding: 9px 0 5px;
	margin: 0 30px 20px;
}

#Wrap > #Product .bloset_wrap .bloset_inner .price {
	text-align: center;
	color: #fff;
	font-size: 1.2em;
}

#Wrap > #Product .bloset_note {
	background: #fce4d6;
	padding: 50px 0px 50px;
}

#Wrap > #Product .bloset_note .txt {
	font-size: 1.05em;
	padding: 0 30px;
}

#Wrap > #Product .bloset_note .tit {
	width: -moz-fit-content;
	width: fit-content;
	color: #fff;
	background: #ca4844;
	padding: 7px 12px 5px;
	font-size: 1.2em;
	margin: 20px 0 20px 30px;
}

#Wrap > #Product .bloset_note .name {
	color: #ca4844;
	font-size: 1.4em;
	font-weight: bold;
	padding: 0 30px;
}

#Wrap > #Product .bloset_note .note {
	color: #ca4844;
	font-size: 1.05em;
	padding: 10px 30px 20px;
}

#Wrap > #Product .bloset_note .spec {
	font-size: 0.95em;
	padding: 0 30px;
}

#Wrap > #Product .bloset_note .def {
	padding: 20px 30px 30px;
}

#Wrap > #Product .bloset_note .def li {
	text-indent: -1em;
	padding-left: 1em;
	font-size: 0.9em;
}

#Wrap > #Product .bloset_note .deadline {
	color: #ca4844;
	text-align: center;
	border-top: 2px #ca4844 solid;
	border-bottom: 2px #ca4844 solid;
	padding: 20px 0 15px;
	font-size: 1.6em;
}

#Wrap > #Privilege {
	padding-top: 0;
	padding-bottom: 0;
}

#Wrap > #Privilege h2 {
	box-sizing: border-box;
	height: 100px;
	background: transparent url("../img/privilege_roll.png") 0 50%/486px auto repeat-x;
	font-size: 1px;
	line-height: 0;
	text-indent: -9999px;
	animation: release_pc 10s linear infinite;
	background-color: #fff;
	border-bottom: 10px #ca4844 solid;
}

#Wrap > #Privilege .pro_inner {
	background: url("../img/bg_repeat.jpg");
	padding: 50px 35px 80px;
}

#Wrap > #Privilege .pro_inner .lead {
	background: #ca4844;
	color: #fff;
	text-align: center;
	padding: 30px 0 25px;
	margin-bottom: 80px;
}

#Wrap > #Privilege .pro_inner .lead .tit {
	font-size: 1.15em;
	padding-bottom: 10px;
	line-height: 1.75;
}

#Wrap > #Privilege .pro_inner .lead .cau {
	font-size: 0.8em;
	line-height: 1.75;
}

#Wrap > #Privilege .pro_inner .shops > section {
	position: relative;
	background: url("../img/frame_repeat_p.png") repeat-y;
	background-size: contain;
	max-width: 480px;
	width: 100%;
	margin: 0 auto 100px;
	padding: 25px 30px 15px;
}

#Wrap > #Privilege .pro_inner .shops > section::before {
	content: "";
	background: url("../img/frame_head_p.png") no-repeat center center;
	position: absolute;
	max-width: 480px;
	width: 100%;
	height: 29px;
	top: -28px;
	left: 0px;
	background-size: contain;
}

#Wrap > #Privilege .pro_inner .shops > section::after {
	content: "";
	background: url("../img/frame_bottom_p.png") no-repeat center center;
	position: absolute;
	max-width: 480px;
	width: 100%;
	height: 29px;
	bottom: -28px;
	left: 0px;
	background-size: contain;
}

#Wrap > #Privilege .pro_inner .shops > section .tit {
	color: #ca4844;
	font-size: 2.2em;
	text-align: center;
}

#Wrap > #Privilege .pro_inner .shops > section .img {
	padding: 25px 0 30px;
}

#Wrap > #Privilege .pro_inner .shops > section dl dt {
	color: #ca4844;
	font-size: 2em;
	text-align: center;
}

#Wrap > #Privilege .pro_inner .shops > section dl dd {
	color: #ca4844;
	text-align: center;
	padding: 8px 0 20px;
}

#Wrap > #Privilege .pro_inner .shops .shop_last {
	margin-bottom: 0;
}

body.modal {
	overflow: hidden;
}

.modalPic,
[data-modal-pic],
[data-modal-page] {
	cursor: pointer;
}

img.modalPic {
	transition: opacity 0.4s;
}

img.modalPic:hover {
	opacity: 0.6;
}

#Popup {
	display: none;
}

#Modal {
	overflow: hidden;
	display: flex;
	justify-content: ceter;
	align-items: center;
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 58000;
	width: 100%;
	height: 100%;
	background: #fce4d6;
}

#Modal > .inner {
	opacity: 0;
	overflow: auto;
	position: relative;
	z-index: 10;
	width: 100%;
	height: 100%;
	transition: all 0.4s ease-out;
	transform: translateY(2%);
}

#Modal > .inner.show {
	opacity: 1;
	transform: translateY(0);
}

#Modal .close {
	background: url("../img/btn_modalclose.png") no-repeat center center;
	background-size: contain;
	position: absolute;
	width: 60px;
	height: 60px;
	right: 20px;
	top: 20px;
}

#Modal .pictBox {
	box-sizing: border-box;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	position: relative;
	margin: 60px auto 60px;
	max-width: 680px;
	background: #fff;
	line-height: 0;
}

#Modal .inlineBox {
	box-sizing: border-box;
	margin: 140px 0;
	padding: 80px;
	min-height: calc(100% - 280px);
}

#Modal .inlineBox > div {
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
	z-index: 1;
	margin: 0 auto;
	max-width: 1020px;
	text-align: left;
}

#Modal .inlineBox.goods .layout {
	display: table;
	table-layout: fixed;
	margin: 0 auto;
	width: 1070px;
}

#Modal .inlineBox.goods .layout > div {
	display: table-cell;
	vertical-align: top;
}

#Modal .inlineBox.goods .layout > .pic {
	padding: 2em 60px 0 0;
	width: 400px;
}

#Modal .inlineBox.goods .layout > .pic > div {
	box-sizing: border-box;
	position: relative;
	z-index: 1;
	border: 2px solid #ccc;
	height: 400px;
	background: #fff;
}

#Modal .inlineBox.goods .layout > .pic > div.np {
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	color: #fa59da;
}

#Modal .inlineBox.goods .layout > .pic > div.np::before {
	content: "NOW PRINTING";
	font-size: 1.1em;
	line-height: 1em;
	font-family: "the-seasons", sans-serif;
	font-weight: 700;
	font-style: normal;
	letter-spacing: 0.1em;
}

#Modal .inlineBox.goods h1 {
	font-size: 1.4em;
	line-height: 1.4em;
}

#Modal .inlineBox.goods h1 .work {
	display: block;
	margin-bottom: 0.5em;
	font-size: 0.6em;
	line-height: 1.2em;
}

#Modal .inlineBox.goods .sell {
	display: flex;
	flex-flow: row wrap;
}

#Modal .inlineBox.goods .sell > li {
	margin: 10px 10px 0 0;
	padding: 6px 0 7px;
	min-width: 9em;
	background: #fff;
	color: #000;
	font-size: 0.9em;
	line-height: 1em;
	font-weight: 700;
	letter-spacing: -0.05em;
	text-indent: -0.05em;
	white-space: nowrap;
	text-align: center;
}

#Modal .inlineBox.goods table.def {
	line-height: 1.4em;
}

@media screen and (min-width: 961px) {

.w1.pcbreak,
.w2.pcbreak,
.w3.pcbreak,
.w4.pcbreak,
.w5.pcbreak,
.w6.pcbreak,
.w7.pcbreak,
.w8.pcbreak,
.w9.pcbreak,
.w10.pcbreak,
.w11.pcbreak,
.w12.pcbreak,
.w13.pcbreak,
.w14.pcbreak,
.w15.pcbreak,
.w16.pcbreak,
.w17.pcbreak,
.w18.pcbreak,
.w19.pcbreak,
.w20.pcbreak,
.w21.pcbreak,
.w22.pcbreak,
.w23.pcbreak,
.w24.pcbreak,
.w25.pcbreak,
.w26.pcbreak,
.w27.pcbreak,
.w28.pcbreak,
.w29.pcbreak,
.w30.pcbreak {
	width: auto !important;
}

}

@media screen and (min-width: 1025px) {

.sp {
	display: none !important;
}

}

@media screen and (max-width: 1024px) {

body {
	font-size: 2.2rem;
	line-height: 1.8em;
	font-weight: 400;
}

.pc {
	display: none !important;
}

.mgtQp {
	margin-top: 11.4px !important;
}

.mgtTp {
	margin-top: 15.2px !important;
}

.mgtHp {
	margin-top: 22.8px !important;
}

.mgt1p {
	margin-top: 45.6px !important;
}

.mgt1Hp {
	margin-top: 68.4px !important;
}

.mgt2p {
	margin-top: 91.2px !important;
}

.mgt2Hp {
	margin-top: 114px !important;
}

.mgt3p {
	margin-top: 136.8px !important;
}

.fsS {
	font-size: 0.85em !important;
	line-height: 1.8em !important;
}

.w1.spbreak,
.w2.spbreak,
.w3.spbreak,
.w4.spbreak,
.w5.spbreak,
.w6.spbreak,
.w7.spbreak,
.w8.spbreak,
.w9.spbreak,
.w10.spbreak,
.w11.spbreak,
.w12.spbreak,
.w13.spbreak,
.w14.spbreak,
.w15.spbreak,
.w16.spbreak,
.w17.spbreak,
.w18.spbreak,
.w19.spbreak,
.w20.spbreak,
.w21.spbreak,
.w22.spbreak,
.w23.spbreak,
.w24.spbreak,
.w25.spbreak,
.w26.spbreak,
.w27.spbreak,
.w28.spbreak,
.w29.spbreak,
.w30.spbreak {
	width: auto !important;
}

.button {
	min-height: 120px;
	font-size: 4rem;
}

.button:not(.off):hover {
	background: #fff !important;
	color: #000 !important;
}

.button:not(.off):hover::before {
	transform: scale(1) rotate(0deg);
}

.buttons {
	display: block;
}

.buttons > li {
	margin-left: 0 !important;
	width: auto !important;
}

table.def {
	display: block;
	border-width: 0 0 2px;
}

table.def tbody,
table.def tr,
table.def th,
table.def td {
	display: block;
}

table.def th {
	border-width: 2px 0 0;
	padding: 15px 0 0;
}

table.def td {
	border: none;
	padding: 0 0 15px;
}

ul.def {
	line-height: 1.6em !important;
}

.normal-slider .slick-dots > li {
	margin: 0 5px;
}

.normal-slider .slick-dots > li button {
	border-width: 2px;
	width: 20px;
	height: 20px;
}

.normal-slider .slick-dots > li:not(.slick-active) button:hover {
	opacity: 0.5;
}

#Splash > div img {
	max-width: 70%;
}

#Nv > .menu {
	top: -100%;
	width: 100%;
	background: #fff;
	display: flex;
	align-items: center;
	padding-top: 80px;
}

#Nv > .menu::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	width: 100%;
	height: 405px;
	background: url("../img/frame_side_head.png");
	background-repeat: no-repeat;
}

#Nv > .menu::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
	width: 100%;
	height: 405px;
	background: url("../img/frame_side_bottom.png");
	background-repeat: no-repeat;
}

#Nv > .menu > ul {
	margin: 60px auto;
	width: auto;
}

#Nv > .menu > ul > li {
	margin: 20px 0;
}

#Nv > .menu > ul > li a {
	border-width: 2px;
	border-radius: 100px;
	height: 100px;
	font-size: 2.5em;
	line-height: 1em;
}

#Nv > .menu > ul > li:not(.cur) a:hover {
	background: #fff;
}

#Bg {
	display: none;
}

#Wrap {
	border: none;
	padding: 0;
	width: auto;
}

#Wrap::before,
#Wrap::after {
	display: none;
}

#Wrap > section {
	padding: 140px 0px;
}

#Wrap > #Main {
	padding: 80px 35px 80px;
}

#Wrap > #Main .frame {
	max-width: 670px;
	padding: 25px 0px 15px;
}

#Wrap > #Main .frame::before {
	max-width: 670px;
	height: 40px;
	top: -40px;
}

#Wrap > #Main .frame::after {
	max-width: 670px;
	height: 40px;
	topbottom: -40px;
}

#Wrap > #Main .frame > h1 {
	width: 100%;
	position: initial;
	transform: inherit;
}

#Wrap > #Main .frame .fade-on-scroll.is-hidden {
	opacity: 1;
}

#Wrap > #Main .frame .scroll {
	right: 30px;
	bottom: -80px;
	font-size: 1.3em;
}

#Wrap > .scroll {
	right: 20px;
	top: calc(100vh - 200px);
}

#Wrap > .scroll > a {
	border-width: 2px;
	width: 40px;
	height: 200px;
	background-position: 50% calc(100% - 10px);
	background-size: auto;
	animation: scroll_sp 1s linear infinite;
}

#Wrap > .scroll > a:hover {
	background-color: #fff;
}

#Wrap > .scroll > a img {
	width: auto;
}

#Wrap > footer {
	padding: 110px 40px;
}

#Wrap > #Concept > .inner > p {
	font-size: 1.44em;
	line-height: 2;
}

#Wrap > #Concept .modalMovie::before {
	background-size: auto;
}

#Wrap > #Concept .modalMovie:hover img {
	transform: scale(1);
}

#Wrap > #Credit dl dt {
	font-size: 1.7em;
}

#Wrap > #Credit dl dt.en {
	font-size: 1.7em;
}

#Wrap > #Credit dl dd ul li {
	font-size: 1.9em;
}

#Wrap > #Credit dl dd ul li span {
	font-size: 0.8em;
	padding-top: 15px;
}

#Wrap > #TrackList .disc_num {
	font-size: 30px;
}

#Wrap > #TrackList .disc_num span {
	font-size: 1.6em;
}

#Wrap > #TrackList ol.tracks > li {
	padding: 40px 10px 40px 120px;
}

#Wrap > #TrackList ol.tracks > li .credit {
	font-size: 1.2em;
	line-height: 1.5em;
}

#Wrap > #Product #limited > .note {
	font-size: 1.2em;
}

#Wrap > #Product #limited .tracks > li .title {
	font-size: 1.8em;
}

#Wrap > #Product #limited .tracks > li .title .num {
	padding-right: 40px;
}

#Wrap > #Product #limited .tracks > li .title .num::after {
	width: 20px;
	left: 50px;
	top: 20px;
}

#Wrap > #Product #limited .tracks > li .credit {
	font-size: 1.2em;
	padding-top: 15px;
}

#Wrap > #Product #limited .tracks > li .credit .ue {
	text-shadow: 0;
}

#Wrap > #Product .bloset_note .txt {
	font-size: 1.3em;
}

#Wrap > #Product .bloset_note .tit {
	font-size: 1.3em;
}

#Wrap > #Product .bloset_note .name {
	font-size: 1.45em;
}

#Wrap > #Product .bloset_note .note {
	font-size: 1.25em;
	line-height: 1.75;
}

#Wrap > #Product .bloset_note .spec {
	font-size: 1.4em;
	line-height: 1.5;
}

#Wrap > #Product .bloset_note .def li {
	font-size: 1.05em;
}

#Wrap > #Privilege h2 {
	height: 140px;
	background-size: auto;
	animation: release_sp 10s linear infinite;
}

#Wrap > #Privilege .pro_inner .lead {
	padding: 45px 0 45px;
}

#Wrap > #Privilege .pro_inner .lead .tit {
	font-size: 1.2em;
	padding-bottom: 25px;
}

#Wrap > #Privilege .pro_inner .lead .cau {
	font-size: 0.8em;
}

#Wrap > #Privilege .pro_inner .shops > section {
	max-width: 670px;
	padding-bottom: 40px;
}

#Wrap > #Privilege .pro_inner .shops > section::before {
	max-width: 670px;
	height: 40px;
	top: -40px;
}

#Wrap > #Privilege .pro_inner .shops > section::after {
	max-width: 670px;
	height: 40px;
	topbottom: -40px;
}

img.modalPic:hover {
	opacity: 1;
}

#Modal > .inner {
	display: flex;
	align-items: center;
	justify-content: center;
}

#Modal .pictBox {
	margin-top: 0px 0 0;
}

#Modal .inlineBox {
	padding: 90px 40px 110px;
}

#Modal .inlineBox > div {
	max-width: 670px;
}

#Modal .inlineBox.goods .layout {
	display: block;
	width: auto;
}

#Modal .inlineBox.goods .layout > div {
	display: block;
}

#Modal .inlineBox.goods .layout > .pic {
	margin: 0 auto 80px;
	padding: 0;
	width: 560px;
}

#Modal .inlineBox.goods .layout > .pic > div {
	height: 560px;
}

#Modal .inlineBox.goods .layout > .pic > div.np::before {
	font-size: 0.9em;
	line-height: 1em;
}

#Modal .inlineBox.goods h1 {
	font-size: 1.2em;
	line-height: 1.4em;
}

#Modal .inlineBox.goods h1 .work {
	margin-bottom: 0;
	font-size: 0.6em;
	line-height: 1.2em;
}

#Modal .inlineBox.goods .sell > li {
	padding: 6px 0 10px;
}

#Modal .inlineBox.goods .intro {
	line-height: 1.4em;
}

}

@keyframes cross {

0% {
	opacity: 1;
}

50% {
	opacity: 0;
}

100% {
	opacity: 1;
}

}

@keyframes scroll_pc {

0% {
	background-position: 50% calc(100% - 12px);
}

50% {
	background-position: 50% calc(100% - 6px);
}

100% {
	background-position: 50% calc(100% - 12px);
}

}

@keyframes scroll_sp {

0% {
	background-position: 50% calc(100% - 20px);
}

50% {
	background-position: 50% calc(100% - 10px);
}

100% {
	background-position: 50% calc(100% - 20px);
}

}

@keyframes release_pc {

0% {
	background-position: 0 50%, center;
}

100% {
	background-position: -486px 50%, center;
}

}

@keyframes release_sp {

0% {
	background-position: 0 50%, center;
}

100% {
	background-position: -680px 50%, center;
}

}


/*# sourceMappingURL=../map/style.css.map */
