@charset 'UTF-8';
@import url('https://fonts.googleapis.com/css2?family=Teko:wght@300&display=swap');
#mgka {
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	letter-spacing: 0.1em;
	font-family: '黎ミン M', 'Reimin Medium', serif;
	color: #000;
	background-color: #fff;
	overflow: hidden;
}
@media screen and (min-width: 801px) and (max-width: 1500px) {
	#mgka {
		letter-spacing: 0.01em;
	}
}
#mgka .fontEn {
	font-family: 'Teko', sans-serif;
	font-weight: 300!important;
}
#mgka img.cover {
	width: 100%;
	height: auto;
}
#mgka .dispWide {
	display: block;
}
#mgka .dispNarrow {
	display: none;
}
@media screen and (max-width: 800px) {
	#mgka .dispWide,
	#mgka .blank {
		display: none;
	}
	#mgka .dispNarrow {
		display: block;
	}
}
::selection {
	color: #fff;
	background-color: #003fc0;
}
#mgka h1,
#mgka h2,
#mgka h3,
#mgka h4,
#mgka h5,
#mgka h6,
#mgka .fontBold {
	font-family: '黎ミン B', 'Reimin Bold', serif;
}
#mgka .fontNormal {
	font-family: '黎ミン M', 'Reimin Medium', serif;
}
#mgka .alignCenter {
	text-align: center;
}
#mgka .alignCenter > .blockText,
#mgka .alignRight > .blockText {
	display: inline-block;
}
#mgka .alignRight {
	text-align: right;
}
#mgka .alignLeft {
	text-align: left;
}
#mgka .textIndent {
	display: block;
	text-indent: -1em;
	padding-left: 1em;
}
#mgka .lineHeight100 {
	line-height: 1;
}
#mgka .lineHeight133 {
	line-height: 1.33;
}
#mgka .lineHeight150 {
	line-height: 1.5;
}
#mgka .lineHeight166 {
	line-height: 1.66;
}
#mgka .lineHeight175 {
	line-height: 1.75;
}
#mgka .letterSpacing0 {
	letter-spacing: 0;
}
#mgka .marginTop0 {
	margin-top: 0!important;
}
#mgka .marginTopHalf {
	margin-top: 0.5em!important;
}
#mgka .marginTop1 {
	margin-top: 1em!important;
}
#mgka .marginTop1half {
	margin-top: 1.5em!important;
}
#mgka .marginTop2 {
	margin-top: 2em!important;
}
#mgka .marginTop3 {
	margin-top: 3em!important;
}
#mgka .marginTop4 {
	margin-top: 4em!important;
}
#mgka .marginTop5 {
	margin-top: 5em!important;
}
#mgka .marginTopAuto {
	margin-top: auto!important;
}
#mgka .paddingVerticalHalf {
	padding-top: 0.5em;
	padding-bottom: 0.5em;
}
#mgka .paddingVertical1 {
	padding-top: 1em;
	padding-bottom: 1em;
}
#mgka .paddingVertical2 {
	padding-top: 2em;
	padding-bottom: 2em;
}
#mgka .paddingVertical3 {
	padding-top: 3em;
	padding-bottom: 3em;
}
#mgka .paddingVertical4 {
	padding-top: 4em;
	padding-bottom: 4em;
}
#mgka .paddingHorizontalHalf {
	padding-left: 0.5em;
	padding-right: 0.5em;
	box-sizing: border-box;
}
#mgka .paddingHorizontal1 {
	padding-left: 1em;
	padding-right: 1em;
	box-sizing: border-box;
}
#mgka .paddingHorizontal1half {
	padding-left: 1.5em;
	padding-right: 1.5em;
	box-sizing: border-box;
}
#mgka .paddingHorizontal2 {
	padding-left: 2em;
	padding-right: 2em;
	box-sizing: border-box;
}
#mgka .text60 {
	font-size: 60px;
}
#mgka .text21 {
	font-size: 21px;
}
#mgka .text15 {
	font-size: 15px;
}
#mgka .text0 {
	font-size: 0;
}
@media screen and (min-width: 801px) and (max-width: 1500px) {
	#mgka .text60 {
		font-size: 4vw;
	}
	#mgka .text21 {
		font-size: 1.4vw;
	}
	#mgka .text15 {
		font-size: 1vw;
	}
}
@media screen and (max-width: 800px) {
	#mgka .text60 {
		font-size: 10vw;
	}
	#mgka .text21 {
		font-size: 4.2vw;
	}
	#mgka .text15 {
		font-size: 3.4vw;
	}
}
/*枠組み*/
#mgka .sectionWrapper,
#mgka .objWrapper {
	position: relative;
}
#mgka .sectionWrapper .obj {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 2;
}
#mgka .sectionWrapper .objAbsolute {
	left: 50%;
	transform: translateX(-50%);
}
#mgka .sectionWrapper .bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-attachment: fixed;
	background-image: url("../narrative/images/_imagesMiddle/_bgTeaser.jpg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
#mgka .sectionWrapper .obj {
	position: absolute;
}
#mgka .widthWrapper {
	position: relative;
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
	z-index: 10;
}
#mgka .widthWrapper .insideWrapper {
	position: relative;
	width: 80%;
	margin: 0 auto;
	z-index: 1;
}
@media screen and (max-width: 800px) {
	#mgka .sectionWrapper .bg {
		background-attachment: scroll;
		background-image: url("../narrative/images/_imagesMiddle/_bgTeaser.jpg");
		background-position: center top -10vw;
		background-repeat: repeat-y;
		background-size: 150% auto;
	}
	#mgka .widthWrapper .insideWrapper {
		width: 92%;
	}
}
/*flexbox指定*/
#mgka .flexBlock {
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	flex-direction: row;
	flex-shrink: 0;
	list-style: none;
	margin: 0 auto;
}
#mgka .flexColumn {
	flex-direction: column;
}
#mgka .flexStart {
	justify-content: flex-start;
}
#mgka .flexBetween {
	justify-content: space-between;
}
#mgka .flexEnd {
	justify-content: flex-end;
}
#mgka .flexStretch {
	align-items: stretch;
}
#mgka .flexAlignCenter {
	align-items: center;
}
#mgka .flexReverse {
	flex-direction: row-reverse;
}
#mgka .flexSplit > div {
	width: 50%;
}
#mgka .flexList2 > div {
	width: 48.5%;
}
#mgka .flexList3 > li,
#mgka .flexList3 > div {
	width: 38.666666%;
}
@media screen and (max-width: 800px) {
	#mgka .flexSplit > div,
	#mgka .flexList2 > div {
		width: 100%;
	}
	#mgka .flexList3 > li,
	#mgka .flexList3 > div {
		width: 80%;
		margin-left: 10%;
		margin-right: 10%;
	}
}
/*リンク装飾*/
#mgka a {
	display: inline-block;
	position: relative;
	color: #fff;
	text-decoration: none;
	cursor: pointer!important;
	transition: all 0.5s ease;
}
#mgka a.hover {
	color: #fff;
	text-decoration: none;
	transition: all 0.15s ease;
}
#mgka a.hoverOpacity {
	opacity: 1;
	transition: all 0.5s ease;
}
#mgka a.hoverOpacity.hover {
	opacity: 0.75;
	transition: all 0.15s ease;
}
/*デフォルト文字色*/
#mgka .textWhite,
#mgka .textWhite a,
#mgka a .textWhite {
	color: #fff;
}
#mgka .textBlue,
#mgka .textBlue a,
#mgka a .textBlue {
	color: #003fc0;
}
#mgka .textRed,
#mgka .textRed a,
#mgka a .textRed {
	color: #cb141b;
}
#mgka .textGray,
#mgka .textGray a,
#mgka a .textGray {
	color: #595959;
}
#mgka .textUnderline > span {
	display: inline;
	padding-bottom: 0.25em;
	border-bottom: 2px solid transparent;
}
#mgka h2.textUnderline > span {
	border-bottom-width: 4px;
}
#mgka .textUnderline.textBlue > span {
	border-bottom-color: #003fc0;
}
#mgka .textUnderline.textGray > span {
	border-bottom-color: #595959;
}
#mgka .borderBlue {
	line-height: 0;
	border: 1px solid #003fc0;
	box-sizing: border-box;
}
#mgka .btn {
	width: 49.2vw;
	max-width: 738px;
	margin-left: auto;
	margin-right: auto;
}
#mgka .btn > a {
	display: block;
	width: 100%;
	height: 100%;
	background-position: right 1em center;
	background-repeat: no-repeat;
	background-size: auto 1em;
}
#mgka .btn.btnGray > a {
	color: #000;
	background-color: #f0f1f4;
	background-image: url("../narrative/images/_svg/iconArrowBlue.svg");
	border: 2px solid #3da0e8;
}
#mgka .btn > a.hover {
	background-position: right 0.5em center;
}
#mgka .btn > a > span {
	display: block;
	width: 100%;
	height: 100%;
	padding: 1em 0;
	background-position: left -1px top -1px;
	background-repeat: no-repeat;
	background-size: 1.5em auto;
	transition: all 0.5s ease;
}
#mgka .btn.btnGray > a > span {
	background-image: url("../narrative/images/_svg/iconBtnBlue.svg");
}
@media screen and (max-width: 800px) {
	#mgka .btn {
		width: 90%;
		max-width: inherit;
	}
}
/*背景色*/
#mgka .bgWhite {
	background-color: #fff;
}
#mgka hr {
	width: 100%;
	height: 1px;
	margin: 0;
	padding: 0;
	border: none;
}
/*kv*/
#mgka .kv {
	position: relative;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
}
#mgka #kv,
#mgka .kvWrapper {
	width: 100%;
	height: 78vw;
}
#mgka .kvWrapper {
	position: absolute;
	top: 0;
	left: 0;
}
#mgka #kv {
	background-image: url("../images/2312narrative/_imagesMiddle/bg.jpg");
	z-index: 1;
}
#mgka #kv #kvObj01 {
	background-image: url("../images/2312narrative/_imagesMiddle/obj01.png");
	animation: kvObj01 0.5s ease-in 0.0001s forwards;
	z-index: 2;
}
@keyframes kvObj01 {
	0% {
		top: -2em;
		left: 2em;
		opacity: 0;
	}
	10% {
		opacity: 1;
	}
	95% {
		top: 0.1em;
		left: -0.1em;
		opacity: 1;
	}
	100% {
		top: 0;
		left: 0;
		opacity: 1;
	}
}
#mgka #kv #kvObj02 {
	background-image: url("../images/2312narrative/_imagesMiddle/obj02.png");
	animation: kvObj02 0.5s ease-in 0.0001s forwards;
	z-index: 2;
}
@keyframes kvObj02 {
	0% {
		top: 2em;
		left: -2em;
		opacity: 0;
	}
	10% {
		opacity: 1;
	}
	95% {
		top: -0.1em;
		left: 0.1em;
		opacity: 1;
	}
	100% {
		top: 0;
		left: 0;
		opacity: 1;
	}
}
#mgka #kv #kvLogo {
	background-image: url("../images/2312narrative/_imagesMiddle/logo.png");
	z-index: 6;
	animation: fadeIn 0.5s linear 0.5s forwards;
}
@media screen and (max-width: 800px) {
	#mgka #kv {
		height: 250vw;
	}
	#mgka .kvWrapper {
		height: 180vw;
	}
	#mgka #kv {
		background-image: url("../images/2312narrative/_imagesNarrow/bg.jpg");
	}
	#mgka #kv #kvObj01 {
		background-image: url("../images/2312narrative/_imagesNarrow/obj01.png");
	}
	#mgka #kv #kvObj02 {
		background-image: url("../images/2312narrative/_imagesNarrow/obj02.png");
	}
	#mgka #kv #kvLogo {
		background-image: url("../images/2312narrative/_imagesNarrow/logo.png");
	}
}
#mgka #newitems {
	margin-top: 47.5vw;
}
@media screen and (max-width: 800px) {
	#mgka #newitems {
		margin-top: 100vw;
	}
}
#mgka #goToTop {
	position: absolute;
	right: 24px;
	bottom: 30px;
	width: 4vw;
	max-width: 60px;
	height: 4vw;
	max-height: 60px;
	z-index: 15;
}
#mgka #goToTop > a {
	display: block;
	width: 100%;
	height: 100%;
	background-image: url('../narrative/images/_svg/goToTopRed.svg');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
@media screen and (min-width: 801px) and (max-width: 1500px) {
	#mgka #goToTop {
		right: 1.6vw;
		bottom: 2vw;
	}
}
@media screen and (max-width: 800px) {
	#mgka #goToTop {
		right: 4vw;
		bottom: 5vw;
		width: 10vw;
		max-width: inherit;
		height: 10vw;
		max-height: inherit;
	}
}
/* sns */
#mgka .snsBlock {
	position: relative;
	width: 100%;
	height: 1em;
	margin-left: auto;
	margin-right: auto;
	padding: 0.4em 0;
}
#mgka .snsBlock .snsBtn {
	display: block;
	height: 1em;
	margin: 0 0.2em 0 0;
}
/* animation */
#mgka .init {
	opacity: 0;
}
#mgka .action .delay01 {
	animation: fadeIn 0.5s linear 0.2s forwards;
}
#mgka .action .delay02 {
	animation: fadeIn 0.5s linear 0.4s forwards;
}
#mgka .action .delay03 {
	animation: fadeIn 0.5s linear 0.6s forwards;
}
#mgka .action .delay04 {
	animation: fadeIn 0.5s linear 0.8s forwards;
}
#mgka .action .delay05 {
	animation: fadeIn 0.5s linear 1s forwards;
}
#mgka .action .delay06 {
	animation: fadeIn 0.5s linear 1.2s forwards;
}
#mgka .action .delay07 {
	animation: fadeIn 0.5s linear 1.4s forwards;
}
#mgka .action .delay08 {
	animation: fadeIn 0.5s linear 1.6s forwards;
}
#mgka .action .delay09 {
	animation: fadeIn 0.5s linear 1.8s forwards;
}
#mgka .action .delay10 {
	animation: fadeIn 0.5s linear 2s forwards;
}
@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes fadeOut {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
#mgka .action .delayMotion01 {
	animation: fadeAndSlideIn 0.5s linear 0.2s forwards;
}
#mgka .action .delayMotion02 {
	animation: fadeAndSlideIn 0.5s linear 0.4s forwards;
}
#mgka .action .delayMotion03 {
	animation: fadeAndSlideIn 0.5s linear 0.6s forwards;
}
#mgka .action .delayMotion04 {
	animation: fadeAndSlideIn 0.5s linear 0.8s forwards;
}
#mgka .action .delayMotion05 {
	animation: fadeAndSlideIn 0.5s linear 1s forwards;
}
#mgka .action .delayMotion06 {
	animation: fadeAndSlideIn 0.5s linear 1.2s forwards;
}
#mgka .action .delayMotion07 {
	animation: fadeAndSlideIn 0.5s linear 1.4s forwards;
}
#mgka .action .delayMotion08 {
	animation: fadeAndSlideIn 0.5s linear 1.6s forwards;
}
#mgka .action .delayMotion09 {
	animation: fadeAndSlideIn 0.5s linear 1.8s forwards;
}
#mgka .action .delayMotion10 {
	animation: fadeAndSlideIn 0.5s linear 2s forwards;
}
@keyframes fadeAndSlideIn {
	0% {
		opacity: 0;
		transform: translateY(30px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}