@charset 'utf-8';


* {
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	box-sizing: border-box;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}

html, body {
    height: 100%;
}

body {
	margin: 0;
	padding: 0;
	font-size: 62.5%;
	-webkit-text-size-adjust: 100%;
}

a {
	font-size: 1em !important;
	text-decoration: none;
	transition: .2s;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}

a:hover,
a.hover {
	text-decoration: underline;
}

img {
	border: none;
	vertical-align: bottom;
}

svg.svgsymbols {
	width: 0;
	height: 0;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

svg {
	width: 100%;
	height: 100%;
}

.logotypeset,
.logotypeset span {
	display: inline-block;
}

.logotypeset svg {
	vertical-align: top;
}


@font-face {
	font-family: 'uiicon';
	src:
		url('../font/uiicon/uiicon.woff2?atmr20180719') format('woff2'),
		url('../font/uiicon/uiicon.ttf?atmr20180719') format('truetype'),
		url('../font/uiicon/uiicon.woff?atmr20180719') format('woff'),
		url('../font/uiicon/uiicon.svg?atmr20180719#uiicon') format('svg');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'atballoon-Bold';
	src:
		url('../font/atballoon/atballoon-Bold.woff2?ver0.1') format('woff2'),
		url('../font/atballoon/atballoon-Bold.ttf?ver0.1') format('truetype'),
		url('../font/atballoon/atballoon-Bold.woff?ver0.1') format('woff'),
		url('../font/atballoon/atballoon-Bold.svg?ver0.1#atBalloon-Bold') format('svg');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'Noto Sans JP';
	src: local('Noto Sans CJK JP Black'),
		url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Black.woff2) format('woff2'),
		url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Black.woff) format('woff'),
		url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Black.otf) format('opentype');
	font-weight: 900;
	font-style: normal;
}



body {
	background-color: #2d2830;
	background-image: url(../image/back_mainvisual.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	color: #2d2830;
	font-family: -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	-webkit-font-smoothing: antialiased;
	overflow: hidden;
}

body:before {
	content: '';
	background: #000;
	opacity: .2;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}


.etext {
	font-family: 'atballoon-Bold';
}

a {
	color: #5d681d;
}

a:hover,
a.hover {
	color: #8b9a2b;
}

::selection {
    background: #2d2830;
    color: #d0e740;
    text-shadow: none;
}

::-moz-selection {
    background: #2d2830;
    color: #d0e740;
    text-shadow: none;
}


#mainvisual {
	width: 100%;
	height: 100%;
	min-height: 600px;
	overflow: hidden;
}

#mainvisual > .inner {
	width: 100%;
	height: calc(100% - 10vmin);
	font-size: 0;
	text-align: center;
	vertical-align: top;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}

#mainvisual > .inner:before {
	display: inline-block;
	content: '';
	height: 100%;
	vertical-align: middle;
}

#mainvisual .cover {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	z-index: 2;
}

#mainvisual h1 {
	display: inline-block;
	width: 100%;
	margin-bottom: 3vmin;
	font-family: 'Noto Sans JP';
	font-weight: normal;
	text-align: center;
	font-feature-settings: 'palt';
	text-shadow:
		rgba(256,256,256,.1) 2px 0px, rgba(256,256,256,.1) -2px 0px,
		rgba(256,256,256,.1) 0px -2px, rgba(256,256,256,.1) 0px 2px,
		rgba(256,256,256,.1) 2px 2px, rgba(256,256,256,.1) -2px 2px,
		rgba(256,256,256,.1) 2px -2px, rgba(256,256,256,.1) -2px -2px,
		rgba(256,256,256,.1) 1px 2px, rgba(256,256,256,.1) -1px 2px,
		rgba(256,256,256,.1) 1px -2px, rgba(256,256,256,.1) -1px -2px,
		rgba(256,256,256,.1) 2px 1px, rgba(256,256,256,.1) -2px 1px,
		rgba(256,256,256,.1) 2px -1px, rgba(256,256,256,.1) -2px -1px;
}

#mainvisual h1 span {
	display: inline-block;
	font-family: 'Noto Sans JP';
	font-weight: normal;
	text-align: center;
	line-height: 1;
}

#mainvisual h1 > span {
	display: block;
}

#shoulder_mv {
	font-size: 4.1vmin;
}

#tagline_mv {
	font-size: 12vmin;
}

#cover_mv {
	padding: 0 30px;
}

#logo_mv {
	width: 100%;
}

#logo_mv > div {
	width: 100%;
	max-width: 200px;
	margin: 0 auto;
	position: relative;
}

#logo_mv .logo {
	display: block;
	width: 50%;
	margin: 0 auto;
	padding-top: 50%;
	position: relative;
}

#logo_mv .logo span {
	display: inline-block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

#logo_mv svg {
	fill: currentColor;
}

#logo_mv p {
	line-height: 1;
}

#logo_mv p span {
	display: block;
}

#logo_mv p span {
	font-size: 12px;
}

#logo_mv p .etext {
	font-size: 10vmin;
}

@media screen and (orientation: landscape) {

	#mainvisual > .inner {
		height: calc(100%);
	}

	#mainvisual .cover {
		padding-top: 5vh;
	}

	#shoulder_mv {
		margin-bottom: .3em;
		font-size: 2.5vw;
	}

	#tagline_mv {
		font-size: 5.5vw;
	}

	#logo_mv > div {
		width: 120px;
		max-width: none;
	}

	#logo_mv p .etext {
		font-size: 20px;
	}
}

@media only screen and (min-width: 1401px) {

	#shoulder_mv {
		font-size: 36px;
	}

	#tagline_mv {
		font-size: 78px;
	}
}

