@charset "UTF-8";
/* CSS Document */

/*////////////////////////////////////////////////////////

Base

///////////////////////////////////////////////////////*/
html {
	font-size: 62.5%;
}
body {
	font-size: 1.6rem;
	-webkit-text-size-adjust: 100%;
	line-height: 1.6;
	font-family: "Helvetica Neue", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	color: #242424;
}
/* reset */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	-moz-osx-font-smoothing: grayscale;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}
img {
	vertical-align: top;
	width: 100%;
}
#wrapper {
	width: 100%;
}
#wrapper a:hover img {
	filter: alpha(opacity=70);
	-moz-opacity: 0.70;
	opacity: 0.70;
	-webkit-transition: all .3s;
	transition: all .3s;
}
#wrapper a:hover {
	-webkit-transition: all .3s;
	transition: all .3s;
}
@keyframes fadeIn {
 0% {
opacity: 0;
}
 100% {
opacity: 1;
}
}
/*////////////////////////////////////////////////////////

Contents

///////////////////////////////////////////////////////*/
article {
	animation: fadeIn 3s ease 0s 1 normal;
	padding:60px 4%;
}
article:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.body-section {
	float: left;
	width: 50%;
}
.body-section h1 {
	font-size:7.0rem;
	font-weight:bold;
	line-height:1.4;
}
.visual-section {
	position:relative;
	float:right;
	width:36%;
}
.visual-section video {
	height:100vh;
	vertical-align: bottom;
}
.visual-section .visual-section-inner {
	position:relative;
	overflow:hidden;
}
.pcUser, .spUser {
	display: none;
}
@media screen and (max-width: 1024px) {
	.visual-section {
	width:46%;
}
}
@media screen and (max-width: 768px) {
	.body-section h1 {
	font-size:5.0rem;
}
}
@media screen and (max-width: 414px) {
	article {
	padding:4%;
}
	.body-section {
	float: none;
	width: 100%;
}
.body-section h1 {
	font-size:4.0rem;
}
.visual-section {
	float:none;
	width:100%;
	margin-top:50px;
}
}
/*////////////////////////////////////////////////////////

Parts

///////////////////////////////////////////////////////*/
.rotating-animation {
	position: absolute;
	top: -40px;
	left: -40px;
	display: block;
	width: 120px;
	height: 120px;
	cursor: pointer;
}

.rotating-animation span {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.rotating-animation span::before, .rotating-animation span::after {
	content: '';
	display: block;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}

.rotating-animation span::before {
	width: 8px;
	height: 8px;
	background-image: url(./../img/rotating-arrow.svg);
}

.rotating-animation span::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url(./../img/rotating-item.svg);
	animation: rotating 10s linear infinite;
}

.rotate-white span::before {
	background-image: url(./../img/rotating-arrow-white.svg);
}

.rotate-white span::after {
	background-image: url(./../img/rotating-item-white.svg);
}
@keyframes rotating {
 0% {
transform: rotate(0deg);
}
 100% {
transform: rotate(360deg);
}
}
@media screen and (max-width: 1024px) {
}

@media screen and (max-width: 414px) {
}