* {
	box-sizing: border-box;
}

body {
	background: #fff;
	color: #183537;
	font-size: 1.6rem;
	line-height: 1.8em;
	font-family: "ryo-display-plusn",serif;
	font-weight: 400;
	font-style: normal;
	font-weight: 400;
	text-align: left;
	transition: all .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 .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: "ff-carina",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: .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: #183537;
	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 .4s;
	flex-direction: column;
	justify-content: center;
	outline: 1px solid #fff;
	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: .3s;
}

.button.off {
	opacity: .3;
	cursor: default;
}

.button:not(.off):hover {
	outline: 1px solid #fff;
	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,.4);
	width: 100%;
	font-size: .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,.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 {
	border: solid 6px #183537;
}

.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: #e4a9a3;
	font-size: 1px;
	text-indent: -9999px;
	transition: all .4s;
	border: none;
}

.normal-slider .slick-dots>li.slick-active button,
.normal-slider .slick-dots>li:not(.slick-active) button:hover {
	background: #c85345;
}

.scrollShowTarget {
	opacity: 0;
	transform: scale(0);
	transition: transform .6s cubic-bezier(0.18, 1.36, 0.56, 0.96),opacity .3s ease-in;
}

.scrollShowTarget.scrollShow {
	opacity: 1;
	transform: scale(1);
}

#BgBody {
	position: fixed;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

#BgBody .bg-layer {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 1.2s ease-in-out;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
}

#BgBody .bg-layer-1 {
	background-image: url("../img/bg_pc01.jpg");
}

#BgBody .bg-layer-2 {
	background-image: url("../img/bg_pc02.jpg");
}

#BgBody .bg-layer-3 {
	background-image: url("../img/bg_pc03.jpg");
}

body.bg-step-1 #BgBody .bg-layer-1 {
	opacity: 1;
}

body.bg-step-2 #BgBody .bg-layer-2 {
	opacity: 1;
}

body.bg-step-3 #BgBody .bg-layer-3 {
	opacity: 1;
}

#Wrap {
	position: relative;
	z-index: 1;
}

body {
	margin: 0;
	background: #fff;
	overflow: hidden;
}

body.is-site-shown {
	overflow: auto;
}

#kv-screen {
	position: fixed;
	inset: 0;
	z-index: 9999;
	background: #fff;
	opacity: 1;
	transition: opacity .8s ease-in-out;
}

#kv-screen .kv-logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	opacity: 0;
}

#kv-screen .kv-logo img {
	max-width: 60vw;
	height: auto;
	display: block;
}

#kv-screen.logo-in .kv-logo {
	animation: logoIn .8s ease-out forwards;
}

#kv-screen.logo-out .kv-logo {
	animation: logoOut .8s ease-in forwards;
}

#kv-screen.has-bg {
	background: #fff url("../img/op_img.jpg") center bottom/cover no-repeat;
}

#kv-screen.has-bg.is-animate {
	animation: kvBgMove 1.9s ease-out forwards;
}

#kv-screen.is-hide {
	opacity: 0;
	pointer-events: none;
}

#Wrap,
#Nv,
#Bg {
	opacity: 0;
	visibility: hidden;
	transition: opacity .6s ease;
}

#Wrap.is-show,
#Nv.is-show,
#Bg.is-show {
	opacity: 1;
	visibility: visible;
}

#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 .4s;
}

#Splash>div img {
	opacity: 0;
	max-width: 50%;
}

#Splash>div.show {
	opacity: 1;
	transform: scale(1);
}

#Splash>div.show img {
	opacity: 1;
	transform: rotate(0deg);
}

#Nv>.oc {
	overflow: hidden;
	position: fixed;
	right: 20px;
	top: 20px;
	z-index: 50010;
	width: 110px;
	height: 110px;
	background: #183537;
}

#Nv>.oc::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0) url(../img/menu_btn.png) center/contain no-repeat;
	transition: background .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 .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 {
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	font-size: 1.6em;
	line-height: 1.4em;
	font-family: "ff-carina",sans-serif;
	font-weight: 700;
	font-style: normal;
	font-weight: 700;
	letter-spacing: .1em;
	text-indent: .1em;
	text-decoration: none;
	color: #183537;
	transition: .2s;
}

#Nv>.menu>ul>li.cur a,
#Nv>.menu>ul>li a:hover {
	background: linear-gradient(transparent 50%, #ece774 50%);
}

#Nv>.menu .official {
	max-width: 250px;
	width: 100%;
	margin: 30px auto 0;
	transition: .3s;
}

#Nv>.menu .official:hover {
	opacity: .8;
}

#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: .7;
}

#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%;
}

#Bg>.chars>div {
	opacity: 0;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 200;
	width: calc((100vw - 562px)/2);
	height: 100%;
	background-color: rgba(0,0,0,0);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	transition: opacity .4s ease-in,right .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);
}

#Bg>.chars>div:nth-of-type(7) {
	background-image: url(../img/img_side_chara07.png);
}

#Bg>.chars>div:nth-of-type(8) {
	background-image: url(../img/img_side_chara08.png);
}

#Wrap {
	box-sizing: border-box;
	z-index: 10000;
	margin: 0 auto;
	width: 562px;
	border-radius: 20px;
	box-shadow: 0 0 8px gray;
}

#Wrap>section {
	position: relative;
	z-index: 1;
	padding: 150px 0 70px 0;
}

#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 .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: #000;
	font-size: .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: .2s;
}

#Wrap>footer .official:hover {
	opacity: .8;
}

#Wrap>footer p {
	color: #fff;
}

#Wrap>#Concept {
	background: url("../img/img_concept02.png") no-repeat top right;
	background-size: contain;
	padding-bottom: 0;
}

#Wrap>#Concept h2 {
	color: #008684;
	text-align: left;
	padding: 0px 30px 70px;
	font-size: 4.75em;
	font-weight: bold;
	margin-top: -10px;
}

#Wrap>#Concept>p {
	padding: 20px 0 80px 30px;
	max-width: 260px;
	width: 100%;
}

#Wrap>#Concept .particle {
	left: 0;
	top: 110px;
	width: 120px;
}

#Wrap>#Concept>.inner {
	line-height: 2em;
	text-align: left;
	padding: 0 30px 80px;
	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(0,134,132,.7) url("../img/btn_ico_movie.png") 50% 50%/76px auto no-repeat;
}

#Wrap>#Concept .modalMovie img {
	width: 750px;
	transition: transform .4s;
}

#Wrap>#Concept .modalMovie:hover img {
	transform: scale(1.1);
}

#Wrap>#Credit {
	background: #fff;
}

#Wrap>#Credit h2 {
	color: #008684;
	text-align: left;
	padding: 0 30px 70px;
	font-size: 4.75em;
	font-weight: bold;
}

#Wrap>#Credit dl {
	padding: 0 30px 60px;
}

#Wrap>#Credit dl dt {
	color: #008684;
	display: flex;
	align-items: center;
	font-size: 1.4em;
}

#Wrap>#Credit dl dt.en {
	font-size: 1.45em;
	letter-spacing: .08em;
}

#Wrap>#Credit dl dt::before {
	background-color: #183537;
	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: 20px;
}

#Wrap>#Credit dl dd ul li span {
	display: block;
	font-size: .7em;
	padding-top: 8px;
}

#Wrap>#Credit dl dd ul li.order {
	display: flex;
	align-items: flex-end;
}

#Wrap>#TrackList h2 {
	color: #008684;
	text-align: left;
	padding: 0 30px;
	font-size: 4.75em;
	padding-bottom: 70px;
	font-weight: bold;
}

#Wrap>#TrackList .disc_num {
	padding: 25px 30px 20px;
	background: #008684;
	color: #fff;
	font-size: 20px;
}

#Wrap>#TrackList .disc_num span {
	display: block;
	font-size: 2em;
	margin-bottom: 5px;
}

#Wrap>#TrackList ol.tracks {
	counter-reset: ol-def-item;
}

#Wrap>#TrackList ol.tracks>li {
	position: relative;
	z-index: 1;
	padding: 25px 30px 25px 90px;
	counter-increment: mycounter;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

#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: 24px;
	z-index: 20;
	font-size: 1.9em;
	line-height: 1;
	color: #008684;
	font-family: "ff-carina",sans-serif;
}

#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: #008684;
	width: 100%;
}

#Wrap>#TrackList ol.tracks>li .title {
	font-size: 1.6em;
	line-height: 1em;
	font-weight: bold;
	color: #183537;
	padding-top: 1px;
}

#Wrap>#TrackList ol.tracks>li .credit {
	margin-top: 1em;
	line-height: 1.75em;
	font-size: .95em;
}

#Wrap>#TrackList ol.tracks .song_left {
	padding-left: 30px;
}

#Wrap>#TrackList ol.tracks .song_left .title {
	padding-left: 60px;
}

#Wrap>#TrackList ol.tracks .song_left p>span {
	margin-left: -0.5em;
}

#Wrap>#Product h2 {
	color: #c85345;
	text-align: left;
	padding: 0 30px;
	font-size: 4.75em;
	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: 65%;
	margin: 40px auto 40px;
	text-align: center;
}

#Wrap>#Product #limited>.note {
	text-align: center;
	color: #183537;
	padding-bottom: 55px;
	font-size: 1.2em;
	font-weight: bold;
}

#Wrap>#Product #limited .tracks {
	border-bottom: 2px #c85345 solid;
}

#Wrap>#Product #limited .tracks>li {
	padding: 35px 30px;
	border-top: 2px #c85345 solid;
}

#Wrap>#Product #limited .tracks>li .title {
	color: #c85345;
	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: #c85345;
}

#Wrap>#Product #limited .tracks>li .title .jp {
	font-family: "ryo-display-plusn",serif;
	font-weight: bold;
	font-size: .95em;
}

#Wrap>#Product #limited .tracks>li .credit {
	padding-top: 10px;
	font-size: 1.15em;
}

#Wrap>#Product #limited .tracks>li .credit .ue {
	text-shadow: 0 0 .3px currentColor;
}

#Wrap>#Product .bloset_wrap .bloset_inner {
	padding: 80px 30px 0;
}

#Wrap>#Product .bloset_wrap .bloset_inner .tit {
	width: 55%;
	margin: 65px auto 30px;
}

#Wrap>#Product .bloset_wrap .bloset_inner .blo {
	color: #c85345;
	text-align: center;
	font-size: 1.6em;
	font-weight: bold;
	background: #fff;
	border-top: 7px #c85345 solid;
	border-bottom: 7px #c85345 solid;
	padding: 20px 0 20px;
	margin-bottom: 50px;
	position: relative;
}

#Wrap>#Product .bloset_wrap .bloset_inner .blo::before {
	content: "";
	background: url("../img/frame_corner_left_head_r.png"),url("../img/frame_corner_right_head_r.png");
	background-position: top left,top right;
	width: 100%;
	height: 50px;
	position: absolute;
	background-repeat: no-repeat;
	top: -6px;
	left: 0;
}

#Wrap>#Product .bloset_wrap .bloset_inner .blo::after {
	content: "";
	background: url("../img/frame_corner_left_bottom_r.png"),url("../img/frame_corner_right_bottom_r.png");
	background-position: bottom left,bottom right;
	width: 100%;
	height: 50px;
	position: absolute;
	background-repeat: no-repeat;
	bottom: -6px;
	left: 0;
}

#Wrap>#Product .bloset_wrap .bloset_inner .price {
	text-align: center;
	color: #183537;
	font-size: 1.2em;
	padding-top: 20px;
}

#Wrap>#Product .bloset_note {
	padding: 20px 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: #c85345;
	padding: 5px 17px 7px 15px;
	font-size: 1.2em;
	margin: 20px 0 20px 30px;
}

#Wrap>#Product .bloset_note .name {
	color: #c85345;
	font-size: 1.4em;
	font-weight: bold;
	padding: 0 30px;
}

#Wrap>#Product .bloset_note .note {
	color: #c85345;
	font-size: 1.05em;
	padding: 10px 30px 20px;
}

#Wrap>#Product .bloset_note .spec {
	font-size: .95em;
	padding: 0 30px;
	line-height: 1.5;
}

#Wrap>#Product .bloset_note .def {
	padding: 20px 30px 30px;
}

#Wrap>#Product .bloset_note .def li {
	text-indent: -1em;
	padding-left: 1em;
	font-size: .9em;
	line-height: 1.75;
}

#Wrap>#Product .bloset_note .deadline {
	color: #c85345;
	text-align: center;
	border-top: 2px #c85345 solid;
	border-bottom: 2px #c85345 solid;
	padding: 20px 0;
	font-size: 1.6em;
}

#Wrap>#Privilege {
	padding-top: 0;
	padding-bottom: 0;
	border-top: 10px #183537 solid;
}

#Wrap>#Privilege h2 {
	box-sizing: border-box;
	height: 100px;
	background: rgba(0,0,0,0) 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: #e5de20;
	border-bottom: 10px #183537 solid;
}

#Wrap>#Privilege .pro_inner {
	padding: 50px 35px 200px;
}

#Wrap>#Privilege .pro_inner .lead {
	border: 7px #183537 solid;
	background: #fff;
	text-align: center;
	padding: 30px 0 25px;
	margin-bottom: 80px;
	position: relative;
}

#Wrap>#Privilege .pro_inner .lead::before {
	content: "";
	background: url(../img/frame_corner_left_head_g.png),url(../img/frame_corner_right_head_g.png);
	background-position: top left,top right;
	width: calc(100% + 13px);
	height: 50px;
	position: absolute;
	background-repeat: no-repeat;
	top: -6px;
	left: -6px;
}

#Wrap>#Privilege .pro_inner .lead::after {
	content: "";
	background: url(../img/frame_corner_left_bottom_g.png),url(../img/frame_corner_right_bottom_g.png);
	background-position: bottom left,bottom right;
	width: calc(100% + 13px);
	height: 50px;
	position: absolute;
	background-repeat: no-repeat;
	bottom: -6px;
	left: -6px;
}

#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: .8em;
	line-height: 1.75;
}

#Wrap>#Privilege .pro_inner .shops>section {
	position: relative;
	background: url("../img/frame_repeat.png") repeat-y;
	background-size: contain;
	max-width: 480px;
	width: 100%;
	margin: 120px auto 190px;
	padding: 25px 30px 15px;
}

#Wrap>#Privilege .pro_inner .shops>section::before {
	content: "";
	background: url("../img/frame_head.png") no-repeat center center;
	position: absolute;
	max-width: 480px;
	width: 100%;
	height: 100px;
	top: -85px;
	left: 0;
	background-size: contain;
}

#Wrap>#Privilege .pro_inner .shops>section::after {
	content: "";
	background: url("../img/frame_bottom.png") no-repeat center center;
	position: absolute;
	max-width: 480px;
	width: 100%;
	height: 100px;
	bottom: -85px;
	left: 0;
	background-size: contain;
}

#Wrap>#Privilege .pro_inner .shops>section .tit {
	color: #183537;
	font-size: 2.1em;
	text-align: center;
	padding-bottom: 40px;
}

#Wrap>#Privilege .pro_inner .shops>section .img {
	padding: 25px 0 30px;
	border: solid 5px #183537;
}

#Wrap>#Privilege .pro_inner .shops>section dl dt {
	color: #183537;
	font-size: 1.8em;
	text-align: center;
	padding-top: 25px;
}

#Wrap>#Privilege .pro_inner .shops>section dl dd {
	color: #183537;
	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 .4s;
}

img.modalPic:hover {
	opacity: .6;
}

#Popup {
	display: none;
}

#Modal {
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 58000;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,.95);
}

#Modal>.inner {
	opacity: 0;
	overflow: auto;
	position: relative;
	z-index: 10;
	width: 100%;
	height: 100%;
	transition: all .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: 600px;
	background: #fff;
	line-height: 0;
	border: solid 6px #183537;
}

#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: "ff-carina",sans-serif;
	font-weight: 700;
	font-style: normal;
	letter-spacing: .1em;
}

#Modal .inlineBox.goods h1 {
	font-size: 1.4em;
	line-height: 1.4em;
}

#Modal .inlineBox.goods h1 .work {
	display: block;
	margin-bottom: .5em;
	font-size: .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: .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;
}

#Wrap {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	height: 90vh;
	overflow-y: auto;
	overflow-x: hidden;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

#Wrap::-webkit-scrollbar {
	display: none;
}

#Wrap>#Privilege {
	background: url("../img/bg_sp03.jpg") repeat center top;
	background-size: contain;
}

}

@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: .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::before {
	top: 18px;
}

.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: .5;
}

#BgBody .bg-layer-1 {
	background-image: url("../img/bg_sp01.jpg");
}

#BgBody .bg-layer-2 {
	background-image: url("../img/bg_sp02.jpg");
}

#BgBody .bg-layer-3 {
	background-image: url("../img/bg_sp03.jpg");
}

#kv-screen.has-bg {
	background: #fff url("../img/op_img_sp.jpg") center bottom/cover no-repeat;
}

#Splash>div img {
	max-width: 70%;
}

#Nv>.menu {
	top: -100%;
	width: 100%;
	background: rgba(255,255,255,.9);
	display: flex;
	align-items: center;
	padding-top: 80px;
}

#Nv>.menu>ul {
	margin: 60px auto;
	width: auto;
}

#Nv>.menu>ul>li {
	margin: 20px 0;
}

#Nv>.menu>ul>li a {
	font-size: 2.5em;
	line-height: 3em;
}

#Nv>.menu>ul>li:not(.cur) a:hover {
	background: #fff;
}

#Bg {
	display: none;
}

#Wrap {
	position: relative;
	top: auto;
	left: auto;
	transform: none;
	width: auto;
	height: auto;
	border: none;
	border-radius: 0;
	overflow: visible;
}

#Wrap>section {
	padding: 140px 0;
}

#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 h2 {
	padding: 40px 30px 70px;
	margin-top: 0px;
}

#Wrap>#Concept>p {
	padding: 50px 0 110px 30px;
	max-width: inherit;
}

#Wrap>#Concept>.inner>p {
	font-size: 1.6em;
	line-height: 2;
	text-align: justify;
}

#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;
	margin-top: 40px;
}

#Wrap>#Credit dl dd ul li span {
	font-size: .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::before {
	top: inherit;
}

#Wrap>#TrackList ol.tracks>li .credit {
	font-size: 1em;
}

#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;
}

#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: .8em;
}

#Wrap>#Privilege .pro_inner .shops>section {
	max-width: 670px;
	padding-bottom: 40px;
	margin: 160px auto 230px;
}

#Wrap>#Privilege .pro_inner .shops>section::before {
	max-width: 670px;
}

#Wrap>#Privilege .pro_inner .shops>section::after {
	max-width: 670px;
}

img.modalPic:hover {
	opacity: 1;
}

#Modal>.inner {
	display: flex;
	align-items: center;
	justify-content: center;
}

#Modal .close {
	width: 90px;
	height: 90px;
	right: 40px;
	top: 40px;
}

#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: .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: .6em;
	line-height: 1.2em;
}

#Modal .inlineBox.goods .sell>li {
	padding: 6px 0 10px;
}

#Modal .inlineBox.goods .intro {
	line-height: 1.4em;
}

}

@keyframes logoIn {

0% {
	opacity: 0;
}

100% {
	opacity: 1;
}

}

@keyframes logoOut {

0% {
	opacity: 1;
}

100% {
	opacity: 0;
}

}

@keyframes kvBgMove {

0% {
	background-position: center bottom;
}

20% {
	background-position: center bottom;
}

100% {
	background-position: center top;
}

}

@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 */
