@charset "utf-8";

@media all {
/* 
 * 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,
	input,
	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,
	:before,
	:after {
		margin: 0;
		padding: 0;
		border: 0;
		font-style: normal;
		vertical-align: bottom;
		background-repeat: no-repeat;
		box-sizing: border-box;
		backface-visibility: hidden;
	}

	article,
	aside,
	details,
	figcaption,
	figure,
	footer,
	header,
	hgroup,
	main,
	menu,
	nav,
	section {
		display: block;
	}

	html {
		font-size: 62.5%;
		background: #000;
		overflow-y: scroll;
	}
	
	/*
	html:before {
		content: 'LOADING';
		color: rgba(255,255,255,.5);
		font-size: .9vw;
		letter-spacing: .25em;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
	}
	*/
	
	.g-Body {
		color: rgba(255,255,255,.75);
		font-size: .9vw;
		font-family: 'Lato', 'Shin Go Regular';
		font-weight: 400;
		font-feature-settings: 'pkna';
		line-height: 1;
		letter-spacing: .075em;
		-webkit-font-smoothing: antialiased;
		font-smoothing: antialiased;
		-webkit-text-size-adjust: 100%;
		text-size-adjust: 100%;
		width: 100%;
		background: #000;
		overflow-x: hidden;
		cursor: default;
	}

	input,
	textarea,
	button,
	select,
	option,
	textarea {
		font-family: 'Lato', 'Shin Go Regular';
		margin: 0;
		padding: 0;
		outline: none;
		border-radius: 0;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
	}
	
	ol,
	ul {
		list-style: none;
	}
	
	table {
		border-collapse: separate;
		border-spacing: 0;
	}
	
	a,
	a:before,
	a:after,
	a:visited,
	a img,
	input[type='image'],
	input[type='submit'] {
		color: rgba(40,170,220,1);
		text-decoration: underline;
		transition: .3s cubic-bezier(0.75, 0, 0.35, 1);
		backface-visibility: hidden;
	}
	
	.no-touch a:hover,
	.no-touch a:hover img,
	.no-touch input[type='image']:hover,
	.no-touch a:visited:hover {
		text-decoration: none;
		opacity: .7;
	}

	a:focus {
		outline: none;
	}

	.js-Link__invalid,
	.no-touch .js-Link__invalid:hover {
		color: #1e1e1e !important;
		opacity: 1 !important;
	}

	img {
		max-width: 100%;
		height: auto;
	}

	button {
		margin:0;
		padding:0;
		border:0;
		background:transparent;
	}

	sub {
		font-size: 1.1rem;
		line-height: 1;
		letter-spacing: .1em;
		vertical-align: 0;
	}

	strong,
	em,
	b {
		font-weight: 400;
	}

	::selection {
		color: #fff;
		background: #000;
	}
	
	::-webkit-scrollbar {
		width: 6px;
		padding: 0 1px;
		background: #000;
	}
	
	::-webkit-scrollbar-thumb {
		background-color: rgba(255,255,255,.2);
	}
	
/* 
 * UTILITY
 * ==================================================================================================== */
	.u-Cursor__core,
	.u-Cursor__pointer {
		border-radius: 50%;
		top: 0;
		left: 0;
		cursor: none;
		posinter-events: none;
		overflow: hidden;
		mix-blend-mode: difference;
	}
	
	.touch .u-Cursor__core,
	.touch .u-Cursor__pointer {
		display: none;
	}
	
	.u-Cursor__core {
		width: 6px;
		height: 6px;
		background-color: rgba(255,255,255,.75);
		mix-blend-mode: difference;
	}
	
	.u-Cursor__core.is-Active {
		background-color: rgba(255,255,255,1);
	}
	
	.u-Cursor__pointer {
		width: 60px;
		height: 60px;
	}
	
	.u-Cursor__pointer:after {
		content: '';
		width: 100%;
		height: 100%;
		display: block;
		border-radius: 50%;
		background: rgba(255,255,255,.1);
		border: 1px solid rgba(255,255,255,.25);
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		transition: 1s;
	}
	
	.u-Cursor__pointer.is-Active {}
	
	.u-Cursor__pointer.is-Active:after {
		background: rgba(255,255,255,.75);
		border: 1px solid rgba(255,255,255,.75);
		transform: translate(-50%,-50%) scale(.75);
		mix-blend-mode: difference;
	}
	
	.u-Contents:not(:first-child) {
		margin: 15% 0 0;
		padding: 15% 0 0;
	}
	
	.u-Inner {
		margin-top: 2.5em;
		margin-right: auto;
		margin-left: auto;
	}
	
	.u-Show__mobile {
		display: none !important;
	}
	
	.u-Hide__mobile {
		display: block !important;
	}
	
	.u-Show__tablet {
		display: none !important;
	}
	
	.u-Hide__tablet {
		display: block !important;
	}
	
	.u-Cover {
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,.25);
		position: fixed;
		top: 0;
		left: 0;
		z-index: 1000;
		opacity: 0;
		visibility: hidden;
		transition: .5s cubic-bezier(0.75, 0, 0.35, 1);
	}
	
	.u-Font__regular {
		font-weight: 400;
	}
	
	.u-Font__bold {
		font-weight: 700;
	}
	
	.u-Font__black {
		font-weight: 900;
	}
	
	.u-Font__serif {
		font-family: 'Libre Caslon Text','Noto Serif JP';
		font-weight: 500;
	}
	
	.u-Font__italic {
		font-style: italic;
	}
	
	.u-Lineheight__none {
		line-height: 1;
	}
	
	.u-Align__right {
		text-align: right !important;
	}
	
	.u-Align__center {
		text-align: center !important;
	}
	
	.u-Align__left {
		text-align: left !important;
	}
	
	.u-Align__justify {
		text-align: justify;
		text-justify: inter-ideograph;
		-ms-text-justify: inter-ideograph;
	}
	
	.u-Float__right {
		float: right !important;
	}
	
	.u-Float__left {
		float: left !important;
	}
	
	.u-Display__block {
		display: block;
	}
	
	.u-Display__inline-block {
		display: inline-block;
	}
	
	.u-Color__white {
		color: #fff !important;
	}
	
	.u-Color__black {
		color: #000 !important;
	}
	
	.u-Color__red {
		color: #a01212 !important;
	}
	
	.u-Color__orange {
		color: #EF7C00 !important;
	}
	
	.u-Image {
		margin-bottom: 1em;
	}
	
	.u-Image__image {
		font-size: 1.2rem;
		padding: .75em 0 0;
		display: block;
	}
	
	.u-Image figcaption {
		font-size: 1.2rem;
		padding: .75em 0 0;
		display: block;
	}
	
	.u-Text {
		line-height: 2;
		letter-spacing: .1em;
		margin-bottom: 1.75em;
	}
	
	.u-Text__indent {
		text-indent: 1em;
	}

	.u-Text-deco__underline {
		text-decoration: underline;
	}
	
	.u-Text-deco__none {
		text-decoration: none !important;
	}
	
	.u-Text-shadow {
		text-shadow: 0 0 15px rgba(0,0,0,1);
	}
	
	.u-Note {
		font-size: .7vw;
	}
	
	.u-Note > * {
		font-size: 1rem;
		line-height: 1.35;
		margin: 0 0 .35em;
	}
	
	.u-Note .u-Note__indent {
		text-indent: -1.25em;
		padding-left: 1.25em;
	}
	
	.u-List {}
	
	.u-List__item {
		margin: 0 0 .35em;
		padding-left: 1.25em;
	}
	
	.u-List__item:before {
		content: '';
		width: .25em;
		height: .25em;
		background: rgba(255,255,255,1.00);
		border-radius: 50%;
		position: absolute;
		top: .825em;
		left: 0;
		opacity: .75;
	}
	
	.u-List-child {
		margin-top: .25em;
		margin-bottom: 1em;
	}
	
	.u-List-child__item {
		margin: 0;
	}
	
	.u-Counter-number {
		counter-reset: counternumber;
	}
	
	.u-Counter-number__num:before {
		counter-increment: counternumber;
		content: counter(counternumber)'. ';
	}
	
	.u-Basic-button {
		color: rgba(0,0,0,.5);
		letter-spacing: .15em;
		padding: 1em 6em;
		background: #fff;
		border: 2px solid rgba(255,255,255,.5);
		transition: .3s cubic-bezier(0.75, 0, 0.35, 1);
		cursor: pointer;
	}
	
	.no-touch .u-Basic-button:hover {
		color: rgba(255,255,255,.5);
		background: #000;
	}
	
	.u-Icon:after {
		content: '';
		margin: 0 .5em;
		display: inline-block;
		background-size: 100% 100%;
		transition: .3s cubic-bezier(0.75, 0, 0.35, 1);
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
	}
	
	.u-Icon__window:after {
		width: 17px;
		height: 13px;
		background-image: url("/_assets/img/common/icon-window-01.png");
		transform: translateY(-.375em);
	}
	
	.no-touch .u-Icon__window:hover:after {
		background-image: url("/_assets/img/common/icon-window-01@over.png");
	}
	
	.u-Title__hi + * {
		margin-top: 3em;
	}
	
	.u-Title__hi-text {
		font-size: 3vw;
	}
	
	.u-Title__mid + * {
		margin-top: 1.5em;
	}
	
	.u-Title__mid-text {
		font-size: 1.25vw;
	}
	
	.u-Title__mid small {
		font-size: .7vw;
		padding: 1em 0 0 .1em;
	}
	
	.u-Title__low + * {
		margin-top: 1em;
	}
	
	.u-Position__center {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
	}
	
	.u-Position__relative {
		position: relative;
	}
	
	.u-Position__absolute {
		position: absolute;
	}
	
	.u-Position__fixed {
		position: fixed;
	}
	
	.u-Flex {
		display: flex;
		flex-wrap: wrap;
	}
	
	.u-Flex__center {
		justify-content: center;
	}
	
	.u-Flex__right {
		justify-content: flex-end;
	}
	
	.u-Flex__middle {
		align-items: center;
	}
	
	.u-Flex__bottom {
		align-items: flex-end;
	}
	
	.u-Flex__reverse {
		flex-direction: row-reverse;
	}
	
	.u-Flex__between {
		justify-content: space-between;
	}
	
	.u-Flex__inner {
		margin: 0 -15px 25px;
	}
	
	.u-Flex__column-2 > * {
		width: calc(100% / 2.005);
	}
	
	.u-Flex__column-3 > * {
		width: calc(100% / 3);
	}
	
	.u-Flex__column-4 > * {
		width: calc(100% / 4);
	}
	
	.u-Flex__column-5 > * {
		width: calc(100% / 5);
	}
	
	.u-Flex__column-6 > * {
		width: calc(100% / 6);
	}
	
	@media all and (-ms-high-contrast:none) {
		.u-Flex__column-2 > * {
			width: calc(100% / 2.005);
		}

		.u-Flex__column-3 > * {
			width: calc(100% / 3.005);
		}

		.u-Flex__column-4 > * {
			width: calc(100% / 4.005);
		}

		.u-Flex__column-5 > * {
			width: calc(100% / 5.005);
		}

		.u-Flex__column-6 > * {
			width: calc(100% / 6.005);
		}
	}
	
	.u-Modal {
		width: 100%;
		height: 100%;
		padding: 7.5% 0 0;
		top: 0;
		left: 0;
		z-index: 1100;
		overflow-y: scroll;
		opacity: 0;
		visibility: hidden;
		transition: 1s cubic-bezier(0.75, 0, 0.35, 1);
	}
	
	.u-Modal__title {
		margin-bottom: 4em;
	}
	
	.u-Modal .u-Inner {
		max-width: 65%;
	}
	
	.u-Modal .u-Basic-button__corner {
		margin: 0 0 20%;
	}
	
/*
 * LAYOUT
 * ==================================================================================================== */
	.g-Wrapper {
		transition: 1s cubic-bezier(0.75, 0, 0.35, 1);
		z-index: 10;
	}
	
	.g-Container {
		margin: 0 0 0 35%;
		padding: 0 2.5% 0 0;
	}
	
	.g-Main {
		margin: 0 0 15%;
		padding: 0 0 15%;
	}
	
	.g-background-video {
		width: 100%;
		height: 100%;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 0;
		/*transition: 1s cubic-bezier(0.75, 0, 0.35, 1);*/
		filter: blur(0);
	}
	
	.g-background-video__source {
		min-width: 100%;
		min-height: 100%;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
	}
	
/*
 * HEADER
 * ==================================================================================================== */
	.g-Header {
		width: 35%;
		position: fixed;
		top: calc(50% - 1em);
		left: 0;
		transform: translate(0,-50%);
		transition: 1s cubic-bezier(0.75, 0, 0.35, 1);
		z-index: 20;
	}
	
	.g-Header__symbol {
		width: 27.5%;
		margin: 0 auto;
	}
	
	.g-Header__mark svg {
		width: 60%;
		height: auto;
		margin: 0 auto;
		fill: #fff;
	}
	
	.g-Header__logo svg {
		width: 100%;
		height: auto;
		margin: 15% auto 0;
		fill: #fff;
	}
	
	/*
	 * FOOTER
	 * ==================================================================================================== */
	.g-Footer {
		width: 35%;
		bottom: 60px;
		left: 0;
		transition: 1s cubic-bezier(0.75, 0, 0.35, 1);
		z-index: 20;
	}
	
	.g-Footer-menu__item {
		font-size: .7vw;
		margin: 1.5em 0 0;
		transition: .3s cubic-bezier(0.75, 0, 0.35, 1);
		cursor: pointer;
	}
	
	.no-touch .g-Footer-menu__item:hover {
		opacity: .7;
	}
	
	.g-Footer__copyright {
		color: rgba(255,255,255,.35);
		font-size: .7vw;
		padding: 4em 0 0;
	}
	
	/*
	 * LOAD DONE
	 * ==================================================================================================== */
	.is-Loaddone .g-background-video {
	}
	
	/*
	 * MODAL WINDOW
	 * ==================================================================================================== */
	.is-Modal__open,
	.is-Modal__open .g-Body {
		overflow: hidden;
	}
	
	.is-Modal__open .g-Header,
	.is-Modal__open .g-Footer,
	.is-Modal__open .g-Wrapper {
		opacity: 0;
	}
	
	.is-Modal__open .u-Cursor__core,
	.is-Modal__open .u-Cursor__pointer {
	}
	
	.is-Modal__open .g-background-video {
		filter: blur(1rem);
	}
	
	.is-Modal__open .u-Cover {
		opacity: 1;
		visibility: visible;
	}
	
	.is-Modal__open .is-Modal__active {
		opacity: 1;
		visibility: visible;
	}
	
	.is-Modal__open .c-Scroll-line {
		display: none;
	}
	
/*
 * SUB CONTENTS
 * ==================================================================================================== */
	.c-security .u-Basic-button__corner,
	.c-privacy .u-Basic-button__corner {
		padding: 2em 0 0;
	}
	
	.c-security .u-Counter-number__num:before,
	.c-privacy .u-Counter-number__num:before {
		width: 1.75em;
		display: inline-block;
	}
	
	.c-security .u-Text-indent,
	.c-privacy .u-Text-indent {
		padding-left: 1.75em;
	}
	
	.c-security .u-Text + .u-List,
	.c-privacy .u-Text + .u-List {
		margin-top: -1em;
	}
	
} /* END Responsive All */

/*
 * CSS ANIMATION
 * ==================================================================================================== */
	@keyframes xxx {
		0% {
			opacity: 0;
		}
		100% {
			opacity: 1;
		}
	}
