@charset "UTF-8";
/*----------------------------------------
	fonts
----------------------------------------*/
/*----------------------------------------
	Vars
----------------------------------------*/
/*------------------------------------------
  Responsive Grid Media Queries - 1280, 1024, 768, 480
   1280-1024   - デスクトップ（デフォルトのグリッド）
   1024-768    - タブレット横長
   768-480     - タブレット縦長
   480-less    - スマホ
--------------------------------------------*/
/*----------------------------------------
	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 {
	border: 0;
	font-size: 100%;
	font-style: normal;
	font-weight: normal;
	font: inherit;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

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

body {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
	content: "";
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

th, td {
	text-align: left;
	vertical-align: top;
}

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

/*----------------------------------------
	Mediaquery
----------------------------------------*/
/*----------------------------------------
	fonts
----------------------------------------*/ /*----------------------------------------
	Base
----------------------------------------*/
html {
	font-size: 14px;
}
@media screen and (min-width: 769px) {
	html {
		font-size: 16px;
	}
}

body {
	font-family: "helvetica", sans-serif;
	line-height: 1.5;
	letter-spacing: 0.06em;
	background-color: #ffffff;
	color: #323232;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-overflow-scrolling: touch;
	-webkit-text-size-adjust: 100%;
}
@media screen and (min-width: 769px) {
	body {
		color: #fff;
	}
}

img {
	width: 100%;
	height: auto;
}
/*----------------------------------------
	Setting
----------------------------------------*/
/* font family */
/*----------------------------------------
	Variables
----------------------------------------*/
@media screen and (max-width: 768px) {
	.pc-only {
		display: none;
	}
}

@media screen and (min-width: 769px) {
	.sp-only {
		display: none;
	}
}

/*----------------------------------------
	Layout
----------------------------------------*/
.l-limit {
	margin: 0 auto;
}
@media screen and (min-width: 769px) {
	.l-limit {
		box-sizing: border-box;
		max-width: 1600px;
	}
}

.l-frame {
	width: 89.3333333333%;
	margin: 0 auto;
}
@media screen and (min-width: 769px) {
	.l-frame {
		width: 89.0625%;
	}
}

/*----------------------------------------
	Header
----------------------------------------*/
.header {
	position: absolute;
	width: 100%;
	z-index: 1;
	top: 30px;
	bottom: auto;
}
@media screen and (min-width: 769px) {
	.header {
		top: auto;
		bottom: 200px;
	}
}
.header__inner {
	width: 92.3076923077%;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
@media screen and (min-width: 769px) {
	.header__inner {
		width: 94.7916666667%;
	}
}
.header__logo {
	filter: invert(1);
	width: 30.7692307692%;
}
@media screen and (min-width: 769px) {
	.header__logo {
		width: 12%;
		filter: invert(0);
	}
}
.header__link {
	position: relative;
  display: inline-block;
  padding: 8px 20px;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  z-index: 0;
}
.header__link::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #124dcb;
  border-radius: 999px; /* 角丸 */
  z-index: -1;
  filter: blur(3px);
  transition:
    filter 0.35s ease,
    transform 0.35s ease;
}
/* @media screen and (min-width: 769px) {
	.header__link {
		font-size: 1.25rem;
		line-height: 1;
	}
} */
.header__link:hover::before {
  filter: blur(0);
}

/*----------------------------------------
	Footer
----------------------------------------*/
.footer {
	position: absolute;
	width: 100%;
	bottom: 40px;
	z-index: 1;
	width: 92.3076923077%;
	left: 50%;
    transform: translateX(-50%);
}
@media screen and (min-width: 769px) {
	.footer {
		bottom: 40px;
		width: 94.7916666667%;
	}
}
.footer__inner {
	position: relative;
}
@media screen and (min-width: 769px) {
	.footer__inner {
		display: flex;
		align-items: end;
	}
}
.footer__link {
	margin-bottom: 30px;
}
@media screen and (min-width: 769px) {
	.footer__link {
		margin-bottom: 0;
		text-align: left;
	}
}
.footer__link .size {
	margin-bottom: 20px;
	line-height: 1;
}
.footer__link a {
	color: #000;
	border-bottom: solid 1px #000;
	padding-bottom: 6px;
	display: inline-flex;
	font-size: 1rem;
	line-height: 1;
	text-decoration: none;
	align-items: flex-end;
}
@media screen and (min-width: 769px) {
	.footer__link a {
		color: #fff;
		border-bottom: solid 1px #fff;
		font-size: 1.25rem;
		line-height: 1;
		transition:
    filter 0.35s ease,
    transform 0.35s ease;
	filter: blur(0);
	}
}

@media screen and (min-width: 769px) {
	.footer__link a:hover {
	filter: blur(1px);
}
}
.footer__link p {
	transition: 0.4s;
}
.footer__link span {
	width: 25px;
	margin-left: 28px;
	display: flex;
	align-items: center;
	transition: 0.4s;
}
@media screen and (min-width: 769px) {
	.footer__link span {
		width: 33px;
		margin-left: 40px;
	}
}
.footer__count {
	position: absolute;
	bottom: 0;
	right: 0;
	text-align: right;
}
@media screen and (min-width: 769px) {
	.footer__count {
		left: 50%;
		right: auto;
		transform: translate(-50%, 0);
		text-align: center;
	}
}
.open {
	font-weight: bold;
	font-size: 15px;
}
@media screen and (min-width: 769px) {
	.open {
	font-size: 20px;
}
}
.dhms {
	font-size: 12px;
}
@media screen and (min-width: 769px) {
	.dhms {
	font-size: 14px;
}
}
@media screen and (min-width: 769px) {
	.footer__address {
		margin-left: auto;
	}
}
.footer__address__image {
	display: block;
	width: 7%;
	min-width: 15px;
}
@media screen and (min-width: 769px) {
	.footer__address__image {
		width: 1.4835164835%;
		min-width: 27px;
		margin-left: auto;
	}
}
.footer__address small {
	display: block;
	font-size: 0.9285714286rem;
	line-height: 1.0769230769;
	letter-spacing: 0;
	margin-top: 11px;
}
@media screen and (min-width: 769px) {
	.footer__address small {
		text-align: right;
		font-size: 0.875rem;
		line-height: 1.1428571429;
		margin-top: 10px;
	}
}

.yycountdown-box {
	font-size: 16px;
	line-height: 1;
}
@media screen and (min-width: 769px) {
	.yycountdown-box {
	font-size: 18px;
}
}
@media screen and (min-width: 769px) {
	.yycountdown-box span {
		color: #fff;
	}
}

/*----------------------------------------
	Page Top
----------------------------------------*/
.main {
	position: relative;
}
.main__bg {
	width: 100%;
	height: 100vh;
	background: url("../../img/unframe_bg.jpg") no-repeat;
	background-position-x: 13%;
	background-size: cover;
	filter: blur(8px);
}
@media screen and (min-width: 769px) {
	.main__bg {
		background-position: center;
	}
}
.main__video {
	position: absolute;
	bottom: 0px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	justify-content: center;
	overflow: hidden;
	filter: blur(10px);
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	mix-blend-mode: plus-lighter;
    opacity: 0.1;
}
@media screen and (min-width: 769px) {
	.main__video {
		bottom: 200px;
		height: 32%;
		opacity: 0.1;
        filter: blur(6px);
	}
}
.main__video video {
	display: flex;
	margin: auto;
	mix-blend-mode: screen;
	transform-origin: center;
  will-change: transform, filter;
}
@media screen and (min-width: 769px) {
	.main__video video {
		width: 100%;
		height: 100%;
		mix-blend-mode: screen;
	}
}
.main__contents {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	text-align: center;
}
.main__contents.sp-only {
	text-align: left!important;
	width: 92%;
	top: auto;
	bottom: 420px;
}
.main__contents h1 {
	font-size: 3.5714285714rem;
	line-height: 1;
	letter-spacing: 0;
	animation: blur 4s both ease-in;
	color: #1B449A;
}
@media screen and (min-width: 769px) {
	.main__contents h1 {
		font-weight: bold;
		font-size: 3.125rem;
		line-height: 1;
	}
}
.main__contents h1.test01 {
	color: #c2c2c2;
}
.main__contents p {
	color: #c2c2c2;
}
@media screen and (min-width: 769px) {
	.main__contents h1.test01 {
		font-weight: 550 !important;
		font-size: 8.25rem;
		line-height: .9;
        letter-spacing: -5px;
	}
}
.main__contents p {
	margin-top: 50px;
	font-size: 1.0714285714rem;
	line-height: 1;
}
@media screen and (min-width: 769px) {
	.main__contents p {
		margin-top: 80px;
		font-size: 1.25rem;
		line-height: 1;
	}
}
.main__contents svg {
  overflow: visible;
}
@keyframes blur {
	from {
		filter: blur(15px);
		font-weight: 600;
	}
	to {
		filter: blur(0.2px);
		font-weight: bold;
	}
}
