@charset 'UTF-8';
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@600&display=swap');
.c-footer {
	position: relative!important;
	z-index: 10!important;
}
@media screen and (max-width: 800px) {
	.c-header {
		position: relative!important;
	}
}
header, #breadcrumb, footer {
	position: relative;
	z-index: 20;
}
#mgsd {
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
	letter-spacing: 0.1em;
	font-family: serif;
	color: #fff;
	background-color: #000;
	overflow: hidden;
}
#mgsd h1,
#mgsd h2,
#mgsd h3,
#mgsd h4,
#mgsd h5,
#mgsd h6,
#mgsd p,
#mgsd ul {
	margin: 0;
}
@media screen and (min-width: 801px) and (max-width: 1500px) {
	#mgsd {
		letter-spacing: 0.01em;
	}
}
#mgsd .fontEn {
	font-family: 'Poppins', sans-serif;
	font-weight: 600!important;
}
#mgsd img.cover {
	width: 100%;
	height: auto;
}
#mgsd .dispWide {
	display: block;
}
#mgsd .dispNarrow {
	display: none;
}
@media screen and (max-width: 800px) {
	#mgsd .dispWide,
	#mgsd .blank {
		display: none;
	}
	#mgsd .dispNarrow {
		display: block;
	}
}
::selection {
	color: #fff;
	background-color: #003fc0;
}
#mgsd h1,
#mgsd h2,
#mgsd h3,
#mgsd h4,
#mgsd h5,
#mgsd h6,
#mgsd .fontBold {
	font-weight: bold;
}
#mgsd .alignCenter {
	text-align: center;
}
#mgsd .alignCenter > .blockText,
#mgsd .alignRight > .blockText {
	display: inline-block;
}
#mgsd .alignRight {
	text-align: right;
}
#mgsd .alignLeft {
	text-align: left;
}
#mgsd .textIndent {
	display: block;
	text-indent: -1em;
	padding-left: 1em;
}
#mgsd .lineHeight100 {
	line-height: 1;
}
#mgsd .lineHeight133 {
	line-height: 1.33;
}
#mgsd .lineHeight150 {
	line-height: 1.5;
}
#mgsd .lineHeight166 {
	line-height: 1.66;
}
#mgsd .letterSpacing0 {
	letter-spacing: 0;
}
#mgsd .letterSpacingNarrow {
	letter-spacing: -0.05em;
}
#mgsd .marginTop0 {
	margin-top: 0!important;
}
#mgsd .marginTopHalf {
	margin-top: 0.5em!important;
}
#mgsd .marginTop1 {
	margin-top: 1em!important;
}
#mgsd .marginTop1half {
	margin-top: 1.5em!important;
}
#mgsd .marginTop2 {
	margin-top: 2em!important;
}
#mgsd .marginTop3 {
	margin-top: 3em!important;
}
#mgsd .marginTop4 {
	margin-top: 4em!important;
}
#mgsd .marginTopAuto {
	margin-top: auto!important;
}
#mgsd .paddingVerticalHalf {
	padding-top: 0.5em;
	padding-bottom: 0.5em;
}
#mgsd .paddingVertical1 {
	padding-top: 1em;
	padding-bottom: 1em;
}
#mgsd .paddingVertical2 {
	padding-top: 2em;
	padding-bottom: 2em;
}
#mgsd .paddingVertical3 {
	padding-top: 3em;
	padding-bottom: 3em;
}
#mgsd .paddingVertical4 {
	padding-top: 4em;
	padding-bottom: 4em;
}
#mgsd .paddingHorizontalHalf {
	padding-left: 0.5em;
	padding-right: 0.5em;
	box-sizing: border-box;
}
#mgsd .paddingHorizontal1 {
	padding-left: 1em;
	padding-right: 1em;
	box-sizing: border-box;
}
#mgsd .paddingHorizontal1half {
	padding-left: 1.5em;
	padding-right: 1.5em;
	box-sizing: border-box;
}
#mgsd .paddingHorizontal2 {
	padding-left: 2em;
	padding-right: 2em;
	box-sizing: border-box;
}
#mgsd .text50 {
	font-size: 50px;
}
#mgsd .text40 {
	font-size: 40px;
}
#mgsd .text34 {
	font-size: 34px;
}
#mgsd .text30 {
	font-size: 30px;
}
#mgsd .text20 {
	font-size: 20px;
}
#mgsd .text18 {
	font-size: 18px;
}
#mgsd .text14 {
	font-size: 14px;
}
#mgsd .text0 {
	font-size: 0;
}
@media screen and (min-width: 801px) and (max-width: 1500px) {
	#mgsd .text50 {
		font-size: 3.333333vw;
	}
	#mgsd .text40 {
		font-size: 2.666666vw;
	}
	#mgsd .text34 {
		font-size: 2.266666vw;
	}
	#mgsd .text30 {
		font-size: 2vw;
	}
	#mgsd .text20 {
		font-size: 1.333333vw;
	}
	#mgsd .text18 {
		font-size: 1.2vw;
	}
	#mgsd .text14 {
		font-size: 0.933333vw;
	}
}
@media screen and (max-width: 800px) {
	#mgsd .text50 {
		font-size: 5vw;
	}
	#mgsd .text40 {
		font-size: 4.5vw;
	}
	#mgsd .text34,
	#mgsd .text30 {
		font-size: 3.75vw;
	}
	#mgsd .text30 {
		font-size: 3.5vw;
	}
	#mgsd .text20 {
		font-size: 3.3vw;
	}
	#mgsd .text18 {
		font-size: 3.2vw;
	}
	#mgsd .text14 {
		font-size: 3vw;
	}
}
/*枠組み*/
#mgsd .sectionWrapper,
#mgsd .objWrapper {
	position: relative;
}
#mgsd .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;
}
#mgsd .sectionWrapper .objAbsolute {
	left: 50%;
	transform: translateX(-50%);
}
#mgsd .sectionWrapper .bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-attachment: fixed;
	background-image: url("../images/_imagesWide/_bg.jpg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
#mgsd .widthWrapper {
	position: relative;
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
	z-index: 10;
}
#mgsd .widthWrapper .insideWrapper {
	position: relative;
	width: 80%;
	margin: 0 auto;
	z-index: 1;
}
@media screen and (max-width: 800px) {
	#mgsd .widthWrapper .insideWrapper {
		width: 92%;
	}
	#mgsd .sectionWrapper .bg {
		background-attachment: scroll;
		background-position: center top -10vw;
		background-repeat: repeat-y;
		background-size: 150% auto;
	}
}
/*flexbox指定*/
#mgsd .flexBlock {
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	flex-direction: row;
	flex-shrink: 0;
	list-style: none;
	margin: 0 auto;
}
#mgsd .flexColumn {
	flex-direction: column;
}
#mgsd .flexStart {
	justify-content: flex-start;
}
#mgsd .flexBetween {
	justify-content: space-between;
}
#mgsd .flexEnd {
	justify-content: flex-end;
}
#mgsd .flexStretch {
	align-items: stretch;
}
#mgsd .flexAlignCenter {
	align-items: center;
}
#mgsd .flexReverse {
	flex-direction: row-reverse;
}
#mgsd .flexSplit > div {
	width: 50%;
}
#mgsd .flexList2 > div {
	width: 48.5%;
}
@media screen and (max-width: 800px) {
	#mgsd .flexSplit > div {
		width: 100%;
	}
	#mgsd .flexList2 > div {
		width: 95%;
		margin-left: 2.5%;
		margin-right: 2.5%;
	}
	#mgsd .flexSplit > div + div,
	#mgsd .flexList2 > div + div {
		margin-top: 2em;
	}
}
/*リンク装飾*/
#mgsd a {
	display: inline-block;
	position: relative;
	color: #fff;
	text-decoration: none;
	cursor: pointer!important;
	transition: all 0.5s ease;
}
#mgsd a.hover {
	color: #fff;
	text-decoration: none;
	transition: all 0.15s ease;
}
#mgsd a.hoverOpacity {
	opacity: 1;
	transition: all 0.5s ease;
}
#mgsd a.hoverOpacity.hover {
	opacity: 0.75;
	transition: all 0.15s ease;
}
/*デフォルト文字色*/
#mgsd .textWhite,
#mgsd .textWhite a,
#mgsd a .textWhite {
	color: #fff;
}
#mgsd .textRed,
#mgsd .textRed a,
#mgsd a .textRed {
	color: #fd0000;
}
#mgsd .textYellow {
	color: #fff600;
}
/*テキスト装飾*/
#mgsd .title {
	position: relative;
	width: 50vw;
	max-width: 750px;
	height: 20vw;
	max-height: 300px;
	padding: 135px 0 0 210px;
	background-image: url("../images/01aboutTitle.png");
	background-position: left top;
	background-repeat: no-repeat;
	background-size: 100% auto;
	box-sizing: border-box;
	z-index: 90;
}
#mgsd .sectionTitle {
	padding-bottom: 2em;
	background-image: url("../images/decoTitle.png");
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: 100% auto;
}
#mgsd .titleWithBorder {
	position: relative;
	padding-left: 0.5em;
}
#mgsd .titleWithBorder::before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 6px;
	height: 1em;
	background: #0031ff;
	background: linear-gradient(0deg, #0031ff 0, #d50023 100%);
	transform: translateY(-50%);
}
#mgsd .titleWithBorder.titleWithBorderLines::before {
	height: 100%;
}
#mgsd .textDecoWrapper {
	padding: 2em 0;
	background-image: url("../images/decoTextHeader.png"), url("../images/decoTextFooter.png");
	background-position: center top, center bottom;
	background-repeat: no-repeat;
	background-size: 100% auto;
}
#mgsd .textDecoWrapper.textDecoWrapperLong {
	background-image: url("../images/decoTextHeaderLong.png"), url("../images/decoTextFooterLong.png");
}
#mgsd .titleWrapper {
	width: 26.666666vw;
	max-width: 400px;
	box-sizing: border-box;
}
#mgsd .titleWrapper > span {
	display: block;
	padding-left: 150px;
}
#mgsd .titleWrapper > span + span {
	margin-top: 0.2em;
	padding-top: 0.2em;
	background-image: url("../images/borderShort.png");
	background-position: left top;
	background-repeat: no-repeat;
	background-size: 100% auto;
}
@media screen and (min-width: 801px) and (max-width: 1500px) {
	#mgsd .title {
		padding: 9vw 0 0 14vw;
	}
	#mgsd .titleWrapper > span {
		padding-left: 10vw;
	}
}
@media screen and (max-width: 800px) {
	#mgsd .title {
		width: 100%;
		max-width: inherit;
		height: 40vw;
		max-height: inherit;
		padding: 18vw 0 0 28vw;
	}
	#mgsd .titleWithBorder::before {
		width: 2px;
	}
	#mgsd .titleWrapper {
		width: 35vw;
		max-width: inherit;
	}
	#mgsd .titleWrapper > span {
		padding-left: 1em;
	}
	#mgsd .titleWrapper > span + span {
		margin-top: 0.5em;
		padding-top: 0.5em;
	}
}
#mgsd .btn {
	width: 49.2vw;
	max-width: 738px;
	margin-left: auto;
	margin-right: auto;
}
#mgsd .btn > a {
	display: block;
	width: 100%;
	height: 100%;
	color: #fff;
	background-color: #110000;
	background-image: url("../images/_svg/iconArrowRed.svg");
	background-position: right 1em center;
	background-repeat: no-repeat;
	background-size: auto 1em;
	border: 2px solid #fd0000;
}
#mgsd .btn > a.hover {
	background-position: right 0.5em center;
}
#mgsd .btn > a > span {
	display: block;
	width: 100%;
	height: 100%;
	padding: 1em 0;
	background-image: url("../images/_svg/iconBtnRed.svg");
	background-position: left -1px top -1px;
	background-repeat: no-repeat;
	background-size: 1.5em auto;
	transition: all 0.5s ease;
}
@media screen and (max-width: 800px) {
	#mgsd .btn {
		width: 90%;
		max-width: inherit;
	}
}
/*背景色*/
#mgsd hr {
	width: 100%;
	height: 1px;
	margin: 0;
	padding: 0;
	border: none;
}
/*YouTube*/
#mgsd .videoWrapper {
	position: relative;
	width: 100%;
	box-sizing: border-box;
	overflow: hidden;
}
#mgsd .videoWrapper video {
	width: 100%;
	height: auto;
	border: 1px solid #052cd7;
	box-sizing: border-box;
}
#mgsd .movieWrapper {
	position: relative;
	width: 64%;
	height: 0;
	margin-left: auto;
	margin-right: auto;
	padding-top: 36%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	border: 1px solid #052acc;
	box-sizing: border-box;
	overflow: hidden;
}
#mgsd .movieWrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#mgsd .movieWrapper span,
#mgsd .movieWrapper span img,
#mgsd .movieWrapper span span {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#mgsd .movieWrapper span {
	background-image: url("../images/btnPlay.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 10% auto;
	transition: all 0.5s ease;
}
#mgsd .movieWrapper.hover span {
	background-size: 12% auto;
	transition: all 0.15s ease;
}
@media screen and (max-width: 800px) {
	#mgsd .movieEmbedWrapper,
	#mgsd .movieWrapper {
		width: 100%;
		padding-top: 56.25%;
	}
	#mgsd .movieWrapper span {
		background-size: 25% auto;
	}
}
/*kv*/
#mgsd .kv {
	position: relative;
	width: 100%;
	height: 54.333333vw;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
}
#mgsd #kv {
	background-image: url("../images/_imagesWide/01kvBg.jpg");
}
#mgsd #kv #kvObj01 {
	background-image: url("../images/_imagesWide/01kvObj01.png");
	z-index: 2;
	animation: fadeAndCutInLtoR 1s linear 0.25s forwards;
}
#mgsd #kv #kvObj02 {
	background-image: url("../images/_imagesWide/01kvObj02.png");
	z-index: 3;
	animation: fadeAndCutInRtoL 1s linear 0.25s forwards;
}
#mgsd #kv #kvCatch01 {
	background-image: url("../images/_imagesWide/01kvCatch01.png");
	z-index: 4;
	animation: fadeAndCutInLtoR 0.5s linear 0.75s forwards;
}
#mgsd #kv #kvCatch02 {
	background-image: url("../images/_imagesWide/01kvCatch02.png");
	z-index: 5;
	animation: fadeAndCutInLtoR 0.5s linear 2s forwards;
}
#mgsd #kv #kvName {
	background-image: url("../images/_imagesWide/01kvName.png");
	z-index: 6;
	animation: fadeIn 0.5s linear 1.25s forwards;
}
#mgsd #kv #kvLogo {
	background-image: url("../images/_imagesWide/01kvLogo.png");
	z-index: 7;
	animation: fadeIn 0.5s linear 0.5s forwards;
}
#mgsd #kv .scroll {
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 2.8vw;
	max-width: 42px;
	height: 6.6vw;
	max-height: 99px;
	transform: translateX(-50%);
	z-index: 9;
}
#mgsd #kv .scroll a {
	display: block;
	width: 100%;
	height: 100%;
	background-image: url("../images/_svg/scroll.svg");
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: 100% auto;
	z-index: 10;
}
#mgsd #kv p a.hover {
	background-position: center bottom -1vw;
}
@media screen and (min-width: 801px) and (max-width: 1500px) {
	#mgsd #kv {
		background-image: url("../images/_imagesMiddle/01kvBg.jpg");
	}
	#mgsd #kv #kvObj01 {
		background-image: url("../images/_imagesMiddle/01kvObj01.png");
	}
	#mgsd #kv #kvObj02 {
		background-image: url("../images/_imagesMiddle/01kvObj02.png");
	}
	#mgsd #kv #kvCatch01 {
		background-image: url("../images/_imagesMiddle/01kvCatch01.png");
	}
	#mgsd #kv #kvCatch02 {
		background-image: url("../images/_imagesMiddle/01kvCatch02.png");
	}
	#mgsd #kv #kvName {
		background-image: url("../images/_imagesMiddle/01kvName.png");
	}
	#mgsd #kv #kvLogo {
		background-image: url("../images/_imagesMiddle/01kvLogo.png");
	}
}
@media screen and (max-width: 800px) {
	#mgsd .kv {
		height: 200vw;
	}
	#mgsd #kv {
		background-image: url("../images/_imagesNarrow/01kvBg.jpg");
	}
	#mgsd #kv #kvObj01 {
		background-image: url("../images/_imagesNarrow/01kvObj01.png");
	}
	#mgsd #kv #kvObj02 {
		background-image: url("../images/_imagesNarrow/01kvObj02.png");
	}
	#mgsd #kv #kvCatch01 {
		background-image: url("../images/_imagesNarrow/01kvCatch01.png");
	}
	#mgsd #kv #kvCatch02 {
		background-image: url("../images/_imagesNarrow/01kvCatch02.png");
	}
	#mgsd #kv #kvName {
		background-image: url("../images/_imagesNarrow/01kvName.png");
	}
	#mgsd #kv #kvLogo {
		background-image: url("../images/_imagesNarrow/01kvLogo.png");
	}
	#mgsd #kv .scroll {
		left: 86%;
		width: 8.4vw;
		max-width: inherit;
		height: 19.8vw;
		max-height: inherit;
		transform: translateX(0);
	}
}
/*sec01*/
#mgsd #sec01 .bg {
	
}
#mgsd #sec01 .obj {
	max-width: 1500px;
	background-image: url("../images/01aboutBgText.png");
	background-position: right 49px top;
	background-repeat: no-repeat;
	background-size: 50% auto;
}
#mgsd #sec01 .obj + .obj {
	max-width: inherit;
	background-image: url("../images/01aboutObj.png");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: auto auto;
}
#mgsd #sec01 .logo {
	margin-left: -45px;
}
@media screen and (min-width: 801px) and (max-width: 1500px) {
	#mgsd #sec01 .obj {
		background-position: right 3.266666vw top;
	}
	#mgsd #sec01 .obj + .obj {
		background-size: 140% auto;
	}
	#mgsd #sec01 .logo {
		margin-left: -3vw;
	}
}
@media screen and (max-width: 800px) {
	#mgsd #sec01 .obj {
		max-width: inherit;
		background-position: right 0 top 100vw;
		background-size: 100% auto;
	}
	#mgsd #sec01 .obj + .obj {
		background-position: right -15vw top 105vw;
		background-size: 200% auto;
	}
	#mgsd #sec01 .logo {
		margin-left: 0;
		padding-bottom: 75vw;
	}
}
/*sec02*/
#mgsd #sec02 .title {
	background-image: url("../images/02detailTitle.png");
}
#mgsd #sec02 .bg {
	background-image: url("../images/_imagesWide/_bgDetail01.jpg");
}
#mgsd #sec02 .flexBlock .textBlock {
	width: 34.166666%;
	max-width: 410px;
}
#mgsd #sec02 .sectionOdd .flexBlock .textBlock {
	margin-left: auto;
}
#mgsd #sec02 .obj {
	background-position: center top;
	background-repeat: no-repeat;
	background-size: auto auto;
}
#mgsd #sec02 #sec02pos01 .widthWrapper {
	background-image: url("../images/02detailBgText.png");
	background-position: right 49px top 150px;
	background-repeat: no-repeat;
	background-size: 50% auto;
}
#mgsd #sec02 #sec02pos01 .obj {
	background-image: url("../images/02detailObj01.png");
}
#mgsd #sec02 #sec02pos01 .flexBlock .textDecoWrapper {
	width: 40%;
	margin-top: 228px;
	margin-left: auto;
}
#mgsd #sec02 #sec02pos02 {
	margin-top: -90px;
	height: 61.4vw;
	max-height: 921px;
}
#mgsd #sec02 #sec02pos02 .obj {
	background-image: url("../images/02detailObj02.png");
}
#mgsd #sec02 #sec02pos03 {
	margin-top: -210px;
	height: 68vw;
	max-height: 1020px;
}
#mgsd #sec02 #sec02pos03 .obj {
	background-image: url("../images/02detailObj03.png");
}
#mgsd #sec02 #sec02pos03 .flexBlock {
	padding-top: 210px;
}
#mgsd #sec02 #sec02pos04 {
	margin-top: -30px;
	height: 50vw;
	max-height: 750px;
}
#mgsd #sec02 #sec02pos04 .obj {
	background-image: url("../images/02detailObj04.png");
}
#mgsd #sec02 #sec02pos05 {
	margin-top: -240px;
	height: 60vw;
	max-height: 900px;
}
#mgsd #sec02 #sec02pos05 .obj {
	background-image: url("../images/02detailObj05.png");
}
#mgsd #sec02 #sec02pos05 .flexBlock {
	padding-top: 240px;
}
#mgsd #sec02 #sec02pos06 {
	padding-bottom: 60px;
}
#mgsd #sec02 #sec02pos06 .flexBlock > .flexBlockL {
	width: 41.666666%;
}
#mgsd #sec02 #sec02pos06 .flexBlock > .flexBlockR {
	width: 53.333333%;
}
@media screen and (min-width: 801px) and (max-width: 1500px) {
	#mgsd #sec02 .obj {
		background-size: 140% auto;
	}
	#mgsd #sec02 #sec02pos01 .widthWrapper {
		background-position: right 3.266666vw top 10vw;
	}
	#mgsd #sec02 #sec02pos01 .flexBlock .textDecoWrapper {
		margin-top: 15.2vw;
	}
	#mgsd #sec02 #sec02pos02 {
		margin-top: -6vw;
	}
	#mgsd #sec02 #sec02pos03 {
		margin-top: -14vw;
	}
	#mgsd #sec02 #sec02pos03 .flexBlock {
		padding-top: 14vw;
	}
	#mgsd #sec02 #sec02pos04 {
		margin-top: -2vw;
	}
	#mgsd #sec02 #sec02pos05 {
		margin-top: -16vw;
	}
	#mgsd #sec02 #sec02pos05 .flexBlock {
		padding-top: 16vw;
	}
	#mgsd #sec02 #sec02pos06 {
		padding-bottom: 4vw;
	}
}
@media screen and (max-width: 800px) {
	#mgsd #sec02 .flexBlock .textBlock {
		width: 80%;
		max-width: inherit;
		margin-left: 10%;
		margin-right: 10%;
	}
	#mgsd #sec02 .obj {
		background-position: center top;
		background-repeat: no-repeat;
		background-size: 140% auto;
	}
	#mgsd #sec02 #sec02pos01 .obj {
		background-position: left 25% top 10vw;
		background-size: 200% auto;
	}
	#mgsd #sec02 #sec02pos01 .widthWrapper {
		background-position: right 0 top 15vw;
		background-size: 75% auto;
	}
	#mgsd #sec02 #sec02pos01 .flexBlock .textDecoWrapper {
		width: 80%;
		max-width: inherit;
		margin-top: 80vw;
		margin-left: 10%;
		margin-right: 10%;
	}
	#mgsd #sec02 #sec02pos02 {
		margin-top: 0;
		height: auto;
		max-height: inherit;
		padding-top: 80vw;
	}
	#mgsd #sec02 #sec02pos02 .obj {
		background-position: left 75% top 0;
		background-size: 200% auto;
	}
	#mgsd #sec02 #sec02pos03 {
		margin-top: 0;
		height: auto;
		max-height: inherit;
		padding-top: 40vw;
	}
	#mgsd #sec02 #sec02pos03 .obj {
		background-position: left 25% top;
		background-size: 200% auto;
	}
	#mgsd #sec02 #sec02pos03 .flexBlock {
		padding-top: 55vw;
	}
	#mgsd #sec02 #sec02pos04 {
		margin-top: 0;
		height: auto;
		max-height: inherit;
		padding-top: 65vw;
	}
	#mgsd #sec02 #sec02pos04 .obj {
		background-position: left 75% top;
		background-size: 200% auto;
	}
	#mgsd #sec02 #sec02pos05 {
		margin-top: 0;
		height: auto;
		max-height: inherit;
		padding-top: 40vw;
	}
	#mgsd #sec02 #sec02pos05 .obj {
		background-position: left 25% top;
		background-size: 200% auto;
	}
	#mgsd #sec02 #sec02pos05 .flexBlock {
		padding-top: 40vw;
	}
	#mgsd #sec02 #sec02pos06 {
		padding-bottom: 20vw;
	}
	#mgsd #sec02 #sec02pos06 .flexBlock > .flexBlockL,
	#mgsd #sec02 #sec02pos06 .flexBlock > .flexBlockR {
		width: 80%;
		max-width: inherit;
		margin-top: 10vw;
		margin-left: 10%;
		margin-right: 10%;
	}
}
/*sec03*/
#mgsd #sec03 .bg {
	background-image: url("../images/_imagesWide/_bgDetail02.jpg");
}
#mgsd #sec03 .widthWrapper {
	background-image: url("../images/03mgObj01.png");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% auto;
}
#mgsd #sec03 .textDecoWrapperLong {
	margin-top: 900px;
}
@media screen and (min-width: 801px) and (max-width: 1500px) {
	#mgsd #sec03 .textDecoWrapperLong {
		margin-top: 60vw;
	}
}
@media screen and (max-width: 800px) {
	#mgsd #sec03 .widthWrapper {
		background-position: center top 15vw;
		background-size: 110% auto;
	}
	#mgsd #sec03 .textDecoWrapperLong {
		margin-top: 75vw;
	}
}


/* gallery */
#mgsd #sec06 .gallerySlider {
	position: relative;
	width: 100%;
	height: 55vw;
	overflow: hidden;
	z-index: 20;
}
#mgsd #sec06 .gallerySlider .gallerySlidePhoto {
	width: 55vw;
	opacity: 0.5;
	transition: all 0.5s ease;
}
#mgsd #sec06 .gallerySlider .gallerySlidePhoto.slick-active,
#mgsd #sec06 .gallerySlider .gallerySlidePhoto.slick-current {
	opacity: 1;
	transition: all 0.5s ease;
}
@media screen and (max-width: 800px) {
	#mgsd #sec06 .gallerySlider,
	#mgsd #sec06 .gallerySlider,
	#mgsd #sec06 .gallerySlider .slick-list .gallerySlidePhoto {
		height: 100vw;
	}
	#mgsd #sec06 .gallerySlider .slick-list .gallerySlidePhoto {
		width: 100vw;
	}
}
/*dots*/
#mgsd #sec06 .gallerySlider .slick-dots {
	position: absolute;
	top: 0.5em;
	left: 50%;
	display: block;
	width: 58vw;
	height: 4px;
	padding: 0;
	line-height: 0;
	list-style: none;
	text-align: center;
	pointer-events: none;
	transform: translateX(-50%);
}
#mgsd #sec06 .gallerySlider .slick-dots li {
	position: relative;
	display: inline-block;
	width: 4vw;
	max-width: 60px;
	height: 4px;
	margin: 0 0.2vw!important;
	padding: 0;
	opacity: 1!important;
	background-color: transparent!important;
	pointer-events: auto;
	cursor: pointer;
}
#mgsd #sec06 .gallerySlider .slick-dots li button {
	font-size: 0;
	line-height: 0;
	display: block;
	width: 100%;
	height: 4px;
	padding: 0;
	cursor: pointer;
	color: transparent;
	outline: none;
	background-color: #515151;
	border: none;
	box-sizing: border-box;
	transition: all 0.4s ease-out;
	opacity: 1!important;
}
#mgsd #sec06 .gallerySlider .slick-dots li button:hover,
#mgsd #sec06 .gallerySlider .slick-dots li.slick-active button {
	background-color: #eb0b32;
}
@media screen and (max-width: 800px) {
	#mgsd #sec06 .gallerySlider .slick-dots {
		width: 92vw;
	}
	#mgsd #sec06 .gallerySlider .slick-dots li {
		width: 6.5vw;
		max-width: inherit;
		margin: 0 0.4vw!important;
	}
}
/*商品情報*/
#mgsd #sec07 {
	height: 63vw;
	max-height: 945px;
	background-image: url("../images/_imagesMiddle/07info.png");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: contain;
	box-sizing: border-box;
}
#mgsd #sec07.widthWrapper .insideWrapper {
	padding-top: 36%;
}
@media screen and (max-width: 800px) {
	#mgsd #sec07 {
		height: 210vw;
		max-height: inherit;
		background-image: url("../images/_imagesNarrow/07info.png");
		background-position: center center;
		background-repeat: no-repeat;
		background-size: contain;
		box-sizing: border-box;
	}
	#mgsd #sec07.widthWrapper .insideWrapper {
		padding-top: 140%;
	}
	#mgsd #sec07 .marginTop1 {
		margin-top: 0.5em!important;
	}
	#mgsd #sec07 .marginTop2,
	#mgsd #sec07 .marginTop3 {
		margin-top: 1em!important;
	}
	#mgsd #sec07 + aside.paddingVertical4 {
		padding-top: 1em;
		padding-bottom: 3em;
	}
	#mgsd #sec07 + aside.paddingVertical4 .marginTop2,
	#mgsd #sec07 + aside.paddingVertical4 .marginTop3 {
		margin-top: 1em!important;
	}
	#mgsd #sec07 + aside.paddingVertical4 .marginTop4 {
		margin-top: 1.5em!important;
	}
}
#mgsd #nextItems {
	background-image: url('../images/_imagesMiddle/_bgNext.jpg');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% auto;
}

#mgsd #goToTop {
	position: absolute;
	right: 24px;
	bottom: 30px;
	width: 4vw;
	max-width: 60px;
	height: 4vw;
	max-height: 60px;
	z-index: 15;
}
#mgsd #goToTop > a {
	display: block;
	width: 100%;
	height: 100%;
	background-image: url('../images/_svg/goToTop.svg');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
@media screen and (min-width: 801px) and (max-width: 1500px) {
	#mgsd #goToTop {
		right: 1.6vw;
		bottom: 2vw;
	}
}
@media screen and (max-width: 800px) {
	#mgsd #goToTop {
		right: 4vw;
		bottom: 5vw;
		width: 10vw;
		max-width: inherit;
		height: 10vw;
		max-height: inherit;
	}
}
/* sns */
#mgsd .snsBlock {
	position: relative;
	width: 100%;
	height: 1em;
	margin-left: auto;
	margin-right: auto;
	padding: 0.4em 0;
}
#mgsd .snsBlock .snsBtn {
	display: block;
	height: 1em;
	margin: 0 0.2em 0 0;
}
/* animation */
#mgsd .init {
	opacity: 0;
}
#mgsd .action .delay01 {
	animation: fadeIn 0.5s linear 0.2s forwards;
}
#mgsd .action .delay02 {
	animation: fadeIn 0.5s linear 0.4s forwards;
}
#mgsd .action .delay03 {
	animation: fadeIn 0.5s linear 0.6s forwards;
}
#mgsd .action .delay04 {
	animation: fadeIn 0.5s linear 0.8s forwards;
}
#mgsd .action .delay05 {
	animation: fadeIn 0.5s linear 1s forwards;
}
#mgsd .action .delay06 {
	animation: fadeIn 0.5s linear 1.2s forwards;
}
#mgsd .action .delay07 {
	animation: fadeIn 0.5s linear 1.4s forwards;
}
#mgsd .action .delay08 {
	animation: fadeIn 0.5s linear 1.6s forwards;
}
#mgsd .action .delay09 {
	animation: fadeIn 0.5s linear 1.8s forwards;
}
#mgsd .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;
	}
}
#mgsd .action .delayMotion01 {
	animation: fadeAndSlideIn 0.5s linear 0.2s forwards;
}
#mgsd .action .delayMotion02 {
	animation: fadeAndSlideIn 0.5s linear 0.4s forwards;
}
#mgsd .action .delayMotion03 {
	animation: fadeAndSlideIn 0.5s linear 0.6s forwards;
}
#mgsd .action .delayMotion04 {
	animation: fadeAndSlideIn 0.5s linear 0.8s forwards;
}
#mgsd .action .delayMotion05 {
	animation: fadeAndSlideIn 0.5s linear 1s forwards;
}
#mgsd .action .delayMotion06 {
	animation: fadeAndSlideIn 0.5s linear 1.2s forwards;
}
#mgsd .action .delayMotion07 {
	animation: fadeAndSlideIn 0.5s linear 1.4s forwards;
}
#mgsd .action .delayMotion08 {
	animation: fadeAndSlideIn 0.5s linear 1.6s forwards;
}
#mgsd .action .delayMotion09 {
	animation: fadeAndSlideIn 0.5s linear 1.8s forwards;
}
#mgsd .action .delayMotion10 {
	animation: fadeAndSlideIn 0.5s linear 2s forwards;
}
@keyframes fadeAndSlideIn {
	0% {
		opacity: 0;
		transform: translateY(30px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
#mgsd .action .delaySlideMotion01 {
	animation: fadeAndCutInRtoL 0.5s linear 0.2s forwards;
}
#mgsd .action .delaySlideMotion02 {
	animation: fadeAndCutInRtoL 0.5s linear 0.4s forwards;
}
#mgsd .action .delaySlideMotion03 {
	animation: fadeAndCutInRtoL 0.5s linear 0.6s forwards;
}
#mgsd .action .delaySlideMotion04 {
	animation: fadeAndCutInRtoL 0.5s linear 0.8s forwards;
}
#mgsd .action .delaySlideMotion05 {
	animation: fadeAndCutInRtoL 0.5s linear 1s forwards;
}
#mgsd .action .delaySlideMotion06 {
	animation: fadeAndCutInRtoL 0.5s linear 1.2s forwards;
}
#mgsd .action .delaySlideMotion07 {
	animation: fadeAndCutInRtoL 0.5s linear 1.4s forwards;
}
#mgsd .action .delaySlideMotion08 {
	animation: fadeAndCutInRtoL 0.5s linear 1.6s forwards;
}
#mgsd .action .delaySlideMotion09 {
	animation: fadeAndCutInRtoL 0.5s linear 1.8s forwards;
}
#mgsd .action .delaySlideMotion10 {
	animation: fadeAndCutInRtoL 0.5s linear 2s forwards;
}
@keyframes fadeAndCutInRtoL {
	0% {
		opacity: 0;
		transform: translateX(30px);
	}
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}
#mgsd .action .delaySlideReverseMotion01 {
	animation: fadeAndCutInLtoR 0.5s linear 0.2s forwards;
}
#mgsd .action .delaySlideReverseMotion02 {
	animation: fadeAndCutInLtoR 0.5s linear 0.4s forwards;
}
#mgsd .action .delaySlideReverseMotion03 {
	animation: fadeAndCutInLtoR 0.5s linear 0.6s forwards;
}
#mgsd .action .delaySlideReverseMotion04 {
	animation: fadeAndCutInLtoR 0.5s linear 0.8s forwards;
}
#mgsd .action .delaySlideReverseMotion05 {
	animation: fadeAndCutInLtoR 0.5s linear 1s forwards;
}
#mgsd .action .delaySlideReverseMotion06 {
	animation: fadeAndCutInLtoR 0.5s linear 1.2s forwards;
}
#mgsd .action .delaySlideReverseMotion07 {
	animation: fadeAndCutInLtoR 0.5s linear 1.4s forwards;
}
#mgsd .action .delaySlideReverseMotion08 {
	animation: fadeAndCutInLtoR 0.5s linear 1.6s forwards;
}
#mgsd .action .delaySlideReverseMotion09 {
	animation: fadeAndCutInLtoR 0.5s linear 1.8s forwards;
}
#mgsd .action .delaySlideReverseMotion10 {
	animation: fadeAndCutInLtoR 0.5s linear 2s forwards;
}
@keyframes fadeAndCutInLtoR {
	0% {
		opacity: 0;
		transform: translateX(-30px);
	}
	5% {
		opacity: 0.5;
	}
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}