/*
	HTML5 Reset :: style.css
	----------------------------------------------------------
	We have learned much from/been inspired by/taken code where offered from:

	Eric Meyer					:: http://meyerweb.com
	HTML5 Doctor				:: http://html5doctor.com
	and the HTML5 Boilerplate	:: http://html5boilerplate.com

-------------------------------------------------------------------------------*/

/* Let's default this puppy out
-------------------------------------------------------------------------------*/

html,
body,
body div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
figure,
footer,
header,
menu,
nav,
section,
time,
mark,
audio,
video,
details,
summary {
	background: transparent;
	border: 0;
	font-size: 100%;
	font-weight: normal;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

article,
aside,
figure,
footer,
header,
nav,
section,
details,
summary {
	display: block;
}

/* Handle box-sizing while better addressing child elements:
   http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */

html {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

*,
*:before,
*:after {
	-webkit-box-sizing: inherit;
	-moz-box-sizing: inherit;
	box-sizing: inherit;
}

/* consider resetting the default cursor: https://gist.github.com/murtaugh/5247154 */

/* Responsive images and other embedded objects */

/* if you don't have full control over `img` tags (if you have to overcome attributes), consider adding height: auto */

img,
object,
embed {
	max-width: 100%;
}

/*
   Note: keeping IMG here will cause problems if you're using foreground images as sprites.
	In fact, it *will* cause problems with Google Maps' controls at small size.
	If this is the case for you, try uncommenting the following:

#map img {
		max-width: none;
}
*/

/* force a vertical scrollbar to prevent a jumpy page */

html {
	overflow-y: scroll;
}

/* we use a lot of ULs that aren't bulleted.
	you'll have to restore the bullets within content,
	which is fine because they're probably customized anyway */

ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

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

a {
	background: transparent;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

del {
	text-decoration: line-through;
}

abbr[title],
dfn[title] {
	border-bottom: 1px dotted #000;
	cursor: help;
}

/* tables still need cellspacing="0" in the markup */

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

th {
	font-weight: bold;
	vertical-align: bottom;
}

td {
	font-weight: normal;
	vertical-align: top;
}

hr {
	border: 0;
	border-top: 1px solid #ccc;
	display: block;
	height: 1px;
	margin: 1em 0;
	padding: 0;
}

input,
select {
	vertical-align: middle;
}

pre { /* CSS 3 (and 2.1 as well, actually) */
	word-wrap: break-word;
	white-space: pre; /* CSS2 */
	white-space: pre-wrap; /* CSS 2.1 */
	white-space: pre-line; /* IE */
}

input[type="radio"] {
	vertical-align: text-bottom;
}

input[type="checkbox"] {
	vertical-align: bottom;
}

.ie7 input[type="checkbox"] {
	vertical-align: baseline;
}

.ie6 input {
	vertical-align: text-bottom;
}

select,
input,
textarea {
	font: 99% sans-serif;
}

table {
	font: 100%;
	font-size: inherit;
}

small {
	font-size: 85%;
}

strong {
	font-weight: bold;
}

td,
td img {
	vertical-align: top;
}

/* Make sure sup and sub don't mess with your line-heights http://gist.github.com/413930 */

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

/* standardize any monospaced elements */

pre,
code,
kbd,
samp {
	font-family: monospace, sans-serif;
}

/* hand cursor on clickable elements */

.clickable,
label,
input[type=button],
input[type=submit],
input[type=file],
button {
	cursor: pointer;
}

/* Webkit browsers add a 2px margin outside the chrome of form elements */

button,
input,
select,
textarea {
	margin: 0;
}

/* make buttons play nice in IE */

button,
input[type=button] {
	overflow: visible;
	width: auto;
}

/* scale images in IE7 more attractively */

.ie7 img {
	-ms-interpolation-mode: bicubic;
}

/* prevent BG image flicker upon hover
   (commented out as usage is rare, and the filter syntax messes with some pre-processors)
.ie6 html {filter: expression(document.execCommand("BackgroundImageCache", false, true));}
*/

/* let's clear some floats */

.clearfix:before,
.clearfix:after {
	content: "\0020";
	display: block;
	height: 0;
	overflow: hidden;
}

.clearfix:after {
	clear: both;
}

.clearfix {
	zoom: 1;
}

/*!
 * ress.css • v4.0.0
 * MIT License
 * github.com/filipelinhares/ress
 */

/* # =================================================================
   # Global selectors
   # ================================================================= */

html {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-text-size-adjust: 100%;
	-moz-tab-size: 4;
	-o-tab-size: 4;
	box-sizing: border-box;
	tab-size: 4; /* Prevent adjustments of font size after orientation changes in iOS */
	word-break: normal;
}

*,
::before,
::after { /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
	-webkit-box-sizing: inherit;
	-moz-box-sizing: inherit;
	background-repeat: no-repeat;
	box-sizing: inherit;
}

::before,
::after {
	text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
	vertical-align: inherit;
}

* { /* Reset `padding` and `margin` of all elements */
	margin: 0;
	padding: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */

hr { /* Add the correct box sizing in Firefox */
	color: inherit; /* Show the overflow in Edge and IE */
	height: 0;
	overflow: visible; /* Correct border color in Firefox. */
}

details,
main {
	display: block; /* Render the `main` element consistently in IE. */
}

summary {
	display: list-item; /* Add the correct display in all browsers */
}

small {
	font-size: 80%; /* Set font-size to 80% in `small` elements */
}

[hidden] {
	display: none; /* Add the correct display in IE */
}

abbr[title] {
	-webkit-text-decoration: underline dotted;
	border-bottom: none; /* Remove the bottom border in Chrome 57 */ /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
	text-decoration: underline;
	text-decoration: underline dotted;
}

a {
	background-color: transparent; /* Remove the gray background on active links in IE 10 */
}

a:active,
a:hover {
	outline-width: 0; /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace; /* Specify the font family of code elements */
}

pre {
	font-size: 1em; /* Correct the odd `em` font sizing in all browsers */
}

b,
strong {
	font-weight: bolder; /* Add the correct font weight in Chrome, Edge, and Safari */
}

/* https://gist.github.com/unruthless/413930 */

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

table {
	border-color: inherit; /* Correct border color in all Chrome, Edge, and Safari. */
	text-indent: 0; /* Remove text indentation in Chrome, Edge, and Safari */
}

/* # =================================================================
   # Forms
   # ================================================================= */

input {
	border-radius: 0;
}

/* Replace pointer cursor in disabled elements */

[disabled] {
	cursor: default;
}

[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
	height: auto; /* Correct the cursor style of increment and decrement buttons in Chrome */
}

[type='search'] {
	-webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */
	outline-offset: -2px; /* Correct the outline style in Safari */
}

[type='search']::-webkit-search-decoration {
	-webkit-appearance: none; /* Remove the inner padding in Chrome and Safari on macOS */
}

textarea {
	overflow: auto; /* Internet Explorer 11+ */
	resize: vertical; /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
	font: inherit; /* Specify font inheritance of form elements */
}

optgroup {
	font-weight: bold; /* Restore the font weight unset by the previous rule */
}

button {
	overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

button,
select {
	text-transform: none; /* Firefox 40+, Internet Explorer 11- */
}

/* Apply cursor pointer to button elements */

button,
[type='button'],
[type='reset'],
[type='submit'],
[role='button'] {
	color: inherit;
	cursor: pointer;
}

/* Remove inner padding and border in Firefox 4+ */

button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/* Replace focus style removed in the border reset above */

button:-moz-focusring,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
	outline: 1px dotted ButtonText;
}

button,
html [type='button'],
[type='reset'],
[type='submit'] {
	-webkit-appearance: button; /* Correct the inability to style clickable types in iOS */
}

/* Remove the default button styling in all browsers */

button,
input,
select,
textarea {
	background-color: transparent;
	border-style: none;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
	outline-width: 0;
}

/* Style select like a standard input */

select {
	-moz-appearance: none; /* Firefox 36+ */
	-webkit-appearance: none; /* Chrome 41+ */
}

select::-ms-expand {
	display: none; /* Internet Explorer 11+ */
}

select::-ms-value {
	color: currentColor; /* Internet Explorer 11+ */
}

legend {
	border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
	color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
	display: table; /* Correct the text wrapping in Edge and IE */
	max-width: 100%; /* Correct the text wrapping in Edge and IE */
	max-width: 100%; /* Correct the text wrapping in Edge and IE */
	white-space: normal; /* Correct the text wrapping in Edge 18- and IE */
}

::-webkit-file-upload-button { /* Correct the inability to style clickable types in iOS and Safari */
	-webkit-appearance: button;
	color: inherit;
	font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */

img {
	border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */

progress {
	vertical-align: baseline;
}

/* # =================================================================
   # Accessibility
   # ================================================================= */

/* Specify the progress cursor of updating elements */

[aria-busy='true'] {
	cursor: progress;
}

/* Specify the pointer cursor of trigger elements */

[aria-controls] {
	cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */

[aria-disabled='true'] {
	cursor: default;
}

@font-face {
	font-family: 'Didot';
	src: url("../fonts/Didot-Regular.woff2") format("woff2"), url("../fonts/Didot-Regular.woff") format("woff");
}

@font-face {
	font-family: 'Yu Mincho';
	src: url("../fonts/Yu-Mincho.woff2") format("woff2"), url("../fonts/Yu-Mincho.woff") format("woff");
}

/**
 * Swiper 7.4.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2021 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: December 24, 2021
 */

@font-face {
	font-family: swiper-icons;
	font-style: normal;
	font-weight: 400;
	src: url("data:application/font-woff;charset=utf-8;base64, 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");
}

:root {
	--swiper-theme-color: #007aff;
}

.swiper {
	list-style: none;
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
	padding: 0;
	position: relative;
	z-index: 1;
}

.swiper-vertical > .swiper-wrapper {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
}

.swiper-wrapper {
	-webkit-transition-property: -webkit-transform;
	-o-transition-property: transform;
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	height: 100%;
	position: relative;
	transition-property: -webkit-transform;
	transition-property: transform;
	transition-property: transform, -webkit-transform;
	width: 100%;
	z-index: 1;
}

.swiper-android .swiper-slide,
.swiper-wrapper {
	-webkit-transform: translate3d(0px, 0, 0);
	transform: translate3d(0px, 0, 0);
}

.swiper-pointer-events {
	-ms-touch-action: pan-y;
	touch-action: pan-y;
}

.swiper-pointer-events.swiper-vertical {
	-ms-touch-action: pan-x;
	touch-action: pan-x;
}

.swiper-slide {
	-webkit-flex-shrink: 0;
	-ms-flex-negative: 0;
	-webkit-transition-property: -webkit-transform;
	-o-transition-property: transform;
	flex-shrink: 0;
	height: 100%;
	position: relative;
	transition-property: -webkit-transform;
	transition-property: transform;
	transition-property: transform, -webkit-transform;
	width: 100%;
}

.swiper-slide-invisible-blank {
	visibility: hidden;
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
	height: auto;
}

.swiper-autoheight .swiper-wrapper {
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	-webkit-transition-property: height,-webkit-transform;
	-o-transition-property: transform,height;
	align-items: flex-start;
	transition-property: height,-webkit-transform;
	transition-property: transform,height;
	transition-property: transform,height,-webkit-transform;
}

.swiper-3d,
.swiper-3d.swiper-css-mode .swiper-wrapper {
	-webkit-perspective: 1200px;
	perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-wrapper {
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top {
	height: 100%;
	left: 0;
	pointer-events: none;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
	background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
	background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
	background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
	background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
	background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
	background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
	background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
	background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
	background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
	background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
	background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
	background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
	background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
	background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
	background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
	background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
	background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-css-mode > .swiper-wrapper {
	-ms-overflow-style: none;
	overflow: auto;
	scrollbar-width: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
	display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
	scroll-snap-align: start start;
}

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
	-webkit-scroll-snap-type: x mandatory;
	-ms-scroll-snap-type: x mandatory;
	scroll-snap-type: x mandatory;
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
	-webkit-scroll-snap-type: y mandatory;
	-ms-scroll-snap-type: y mandatory;
	scroll-snap-type: y mandatory;
}

.swiper-centered > .swiper-wrapper::before {
	-webkit-flex-shrink: 0;
	-ms-flex-negative: 0;
	-webkit-box-ordinal-group: 10000;
	-webkit-order: 9999;
	-ms-flex-order: 9999;
	content: '';
	flex-shrink: 0;
	order: 9999;
}

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
	-webkit-margin-start: var(--swiper-centered-offset-before);
	-moz-margin-start: var(--swiper-centered-offset-before);
	margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
	height: 100%;
	min-height: 1px;
	width: var(--swiper-centered-offset-after);
}

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
	-webkit-margin-before: var(--swiper-centered-offset-before);
	margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-vertical > .swiper-wrapper::before {
	height: var(--swiper-centered-offset-after);
	min-width: 1px;
	width: 100%;
}

.swiper-centered > .swiper-wrapper > .swiper-slide {
	scroll-snap-align: center center;
}

.swiper-fade.swiper-free-mode .swiper-slide {
	-webkit-transition-timing-function: ease-out;
	-o-transition-timing-function: ease-out;
	transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
	-webkit-transition-property: opacity;
	-o-transition-property: opacity;
	pointer-events: none;
	transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
	pointer-events: none;
}

.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active {
	pointer-events: auto;
}

/*! Lity - v2.4.1 - 2020-04-26
* http://sorgalla.com/lity/
* Copyright (c) 2015-2020 Jan Sorgalla; Licensed MIT */

.lity {
	-webkit-transition: opacity .3s ease;
	-o-transition: opacity .3s ease;
	background: #0b0b0b;
	background: rgba(0, 0, 0, 0.9);
	bottom: 0;
	left: 0;
	opacity: 0;
	outline: none !important;
	position: fixed;
	right: 0;
	top: 0;
	transition: opacity .3s ease;
	white-space: nowrap;
	z-index: 9990;
}

.lity.lity-opened {
	opacity: 1;
}

.lity.lity-closed {
	opacity: 0;
}

.lity * {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.lity-wrap {
	bottom: 0;
	left: 0;
	outline: none !important;
	position: fixed;
	right: 0;
	text-align: center;
	top: 0;
	z-index: 9990;
}

.lity-wrap:before {
	content: '';
	display: inline-block;
	height: 100%;
	margin-right: -0.25em;
	vertical-align: middle;
}

.lity-loader {
	-webkit-transition: opacity .3s ease;
	-o-transition: opacity .3s ease;
	color: #fff;
	font-family: Arial,Helvetica,sans-serif;
	font-size: 14px;
	margin-top: -0.8em;
	opacity: 0;
	position: absolute;
	text-align: center;
	top: 50%;
	transition: opacity .3s ease;
	width: 100%;
	z-index: 9991;
}

.lity-loading .lity-loader {
	opacity: 1;
}

.lity-container {
	display: inline-block;
	max-height: 100%;
	max-width: 100%;
	outline: none !important;
	position: relative;
	text-align: left;
	vertical-align: middle;
	white-space: normal;
	z-index: 9992;
}

.lity-content {
	-webkit-transform: scale(1);
	-ms-transform: scale(1);
	-webkit-transition: -webkit-transform .3s ease;
	-o-transition: -o-transform .3s ease;
	-o-transition: transform .3s ease;
	transform: scale(1);
	transition: -webkit-transform .3s ease;
	transition: transform .3s ease;
	transition: transform .3s ease, -webkit-transform .3s ease;
	width: 100%;
	z-index: 9993;
}

.lity-loading .lity-content,
.lity-closed .lity-content {
	-webkit-transform: scale(0.8);
	-ms-transform: scale(0.8);
	transform: scale(0.8);
}

.lity-content:after {
	-webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
	bottom: 0;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
	content: '';
	display: block;
	height: auto;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: auto;
	z-index: -1;
}

.lity-close {
	-webkit-appearance: none;
	-webkit-box-shadow: none;
	background: none;
	border: 0;
	box-shadow: none;
	color: #fff;
	cursor: pointer;
	font-family: Arial,Baskerville,monospace;
	font-size: 35px;
	font-style: normal;
	height: 35px;
	line-height: 35px;
	outline: none;
	padding: 0;
	position: fixed;
	right: 0;
	text-align: center;
	text-decoration: none;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
	top: 0;
	width: 35px;
	z-index: 9994;
}

.lity-close::-moz-focus-inner {
	border: 0;
	padding: 0;
}

.lity-close:hover,
.lity-close:focus,
.lity-close:active,
.lity-close:visited {
	-webkit-box-shadow: none;
	background: none;
	border: 0;
	box-shadow: none;
	color: #fff;
	font-family: Arial,Baskerville,monospace;
	font-size: 35px;
	font-style: normal;
	line-height: 35px;
	outline: none;
	padding: 0;
	text-align: center;
	text-decoration: none;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}

.lity-close:active {
	top: 1px;
}

.lity-image img {
	border: 0;
	display: block;
	line-height: 0;
	max-width: 100%;
}

.lity-iframe .lity-container,
.lity-youtube .lity-container,
.lity-vimeo .lity-container,
.lity-facebookvideo .lity-container,
.lity-googlemaps .lity-container {
	max-width: 964px;
	width: 100%;
}

.lity-iframe-container {
	-webkit-transform: translateZ(0);
	-webkit-overflow-scrolling: touch;
	height: 0;
	overflow: auto;
	padding-top: 56.25%;
	pointer-events: auto;
	transform: translateZ(0);
	width: 100%;
}

.lity-iframe-container iframe {
	-webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
	background: #000;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.lity-hide {
	display: none;
}

#home #main #images,
#home #main #anime2,
#home #main #people,
#home #main #anime,
#home #main #movie,
#home #main #hero {
	padding: 40px;
}

#home #main #outline,
#home #main #concept .inner,
#home #main #technology {
	padding-left: 40px;
	padding-right: 40px;
}

html {
	height: 100%;
}

body {
	-webkit-font-variant-ligatures: none;
	-moz-font-variant-ligatures: none;
	background-color: #FFF;
	color: #000;
	font-family: "Yu Mincho", serif;
	font-variant-ligatures: none;
	height: 100%;
	line-height: 2.6667;
	min-width: 320px;
}

a {
	color: #000;
	outline: none;
	text-decoration: none;
}

img {
	display: inline-block;
	height: auto;
	vertical-align: bottom;
}

img[data-src] {
	opacity: 0;
}

img.lazyloaded {
	-webkit-transition: opacity 0.5s ease-in;
	-o-transition: opacity 0.5s ease-in;
	opacity: 1;
	transition: opacity 0.5s ease-in;
}

input,
textarea,
button {
	color: #000;
	line-height: 2.6667;
	outline: none;
}

hr {
	border-color: #b1b1b2;
}

.sp {
	display: none;
}

span.br {
	display: inline-block;
}

.inner {
	margin-left: auto;
	margin-right: auto;
}

.logo {
	line-height: 1;
}

.logo img {
	width: 90px;
}

.links,
.lang {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.links li {
	margin: 0 6px;
}

.links li a {
	-webkit-transition: opacity 0.5s;
	-o-transition: opacity 0.5s;
	display: block;
	height: 24px;
	padding: 6px;
	transition: opacity 0.5s;
	width: 24px;
}

.desktop .links li a:hover {
	opacity: 0.6;
}

.links li img {
	vertical-align: top;
}

.lang li {
	color: #C3C3C3;
	font-size: 12px;
	letter-spacing: 0.05em;
}

.lang li:not(:first-child):before {
	content: "/";
	display: inline-block;
	margin: 0 4px;
}

.lang li a {
	-webkit-transition: color 0.5s;
	-o-transition: color 0.5s;
	color: currentColor;
	transition: color 0.5s;
}

.desktop .lang li a:hover {
	color: #000;
}

.lang li.current a {
	color: #000;
}

#header {
	position: fixed;
	width: 100%;
	z-index: 10;
}

#header .logo {
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	display: inline-block;
	left: 50%;
	position: relative;
	top: 29px;
	transform: translateX(-50%);
	vertical-align: top;
}

#header .links {
	left: 14px;
	position: absolute;
	top: 8px;
}

#header .lang {
	position: absolute;
	right: 17.5px;
	top: 5px;
}

#copyright {
	font-family: "Didot", "Yu Mincho", serif;
	letter-spacing: 0.0825em;
	line-height: 1;
	padding: 11.5px 0 13.5px;
	text-align: center;
}

#copyright small {
	display: inline-block;
	font-size: 11px;
	white-space: nowrap;
}

#loading {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	-webkit-transition: opacity 0.5s, visibility 0.5s;
	-o-transition: opacity 0.5s, visibility 0.5s;
	align-items: center;
	background-color: black;
	bottom: 0;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	transition: opacity 0.5s, visibility 0.5s;
	z-index: 1000;
}

body.is-loaded #loading {
	opacity: 0;
	visibility: hidden;
}

#loading img {
	-webkit-filter: brightness(0) invert(1);
	filter: brightness(0) invert(1);
	max-width: 200px;
}

#anime-canvas2,
#anime-canvas {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	position: relative;
	width: 100%;
}

#anime-canvas {
	-webkit-transform: translateX(-50%) translateY(-50%);
	-ms-transform: translateX(-50%) translateY(-50%);
	aspect-ratio: 3840 / 2160;
	height: 90%;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
	width: 90%;
}

#anime-canvas2 {
	-webkit-transform: translateX(-50%) translateY(-50%);
	-ms-transform: translateX(-50%) translateY(-50%);
	aspect-ratio: 1640 / 880;
	height: 82%;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
	width: 82%;
}

.fit-window,
#home #main #images,
#home #main #anime2,
#home #main #people,
#home #main #anime,
#home #main #movie,
#home #main #hero {
	height: 100vh;
}

.fit-window > div,
#home #main #images > div,
#home #main #anime2 > div,
#home #main #people > div,
#home #main #anime > div,
#home #main #movie > div,
#home #main #hero > div {
	height: 100%;
	width: 100%;
}

.fit-window > div img,
#home #main #images > div img,
#home #main #anime2 > div img,
#home #main #people > div img,
#home #main #anime > div img,
#home #main #movie > div img,
#home #main #hero > div img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.sticky {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
}

.info {
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	font-family: "Didot", "Yu Mincho", serif;
	font-size: 11px;
	letter-spacing: 0.12em;
	line-height: 1;
	position: fixed;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	white-space: nowrap;
	writing-mode: vertical-rl;
}

.info .open {
	margin-top: 1.125em;
}

.info .sep {
	margin: 0.75em 0;
}

.lead {
	border: 0.5px solid #000;
	color: #343434;
	display: inline-block;
	font-family: "Didot", "Yu Mincho", serif;
	font-size: 12px;
	letter-spacing: 0.06em;
	line-height: 1;
	padding: 3.75px 4.5px 2.25px;
	white-space: nowrap;
}

.headline {
	font-size: 56px;
	letter-spacing: 0.064em;
	line-height: 1.25;
}

.text {
	font-size: 18px;
	letter-spacing: 0.064em;
	margin-left: auto;
	max-width: 720px;
}

.text.center {
	margin-right: auto;
}

.block h3 {
	font-family: "Didot", "Yu Mincho", serif;
	font-size: 20px;
	letter-spacing: 0.08em;
	line-height: 1;
	margin: 0.25em 0 3.5em;
	text-align: center;
}

.btn.play {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	align-items: center;
	bottom: 30px;
	color: transparent;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 13px;
	height: 80px;
	justify-content: center;
	overflow: hidden;
	position: absolute;
	right: 30px;
	white-space: nowrap;
	width: 80px;
}

.btn.play:before,
.btn.play:after {
	-webkit-transition: opacity 0.5s;
	-o-transition: opacity 0.5s;
	border-radius: 100%;
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transition: opacity 0.5s;
	width: 100%;
}

.btn.play:before {
	background-color: #FFF;
	border: 1px solid #DAD8F2;
	opacity: 0.4;
}

.btn.play:after {
	background: url("../images/btn_play01.svg") center/cover;
	opacity: 0.3;
}

.desktop a:hover .btn.play:before,
.desktop a:hover .btn.play:after {
	opacity: 1;
}

body {
	-webkit-transition: background-color 0.5s linear, color 0.5s linear;
	-o-transition: background-color 0.5s linear, color 0.5s linear;
	transition: background-color 0.5s linear, color 0.5s linear;
}

body #header img {
	-webkit-transition: -webkit-filter 0.5s linear;
	-o-transition: filter 0.5s linear;
	transition: -webkit-filter 0.5s linear;
	transition: filter 0.5s linear;
	transition: filter 0.5s linear, -webkit-filter 0.5s linear;
}

body.js-bg-black {
	background-color: black;
	color: white;
}

body.js-bg-black #header img {
	-webkit-filter: brightness(0) invert(1);
	filter: brightness(0) invert(1);
}

body.js-bg-black #header .lang li {
	color: #555;
}

.desktop body.js-bg-black #header .lang li a:hover {
	color: #fff;
}

body.js-bg-black #header .lang li.current a {
	color: #fff;
}

.lity-close {
	color: transparent !important;
	height: 80px;
	text-shadow: none !important;
	width: 80px;
}

.lity-close:before,
.lity-close:after {
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	background-color: #fff;
	content: "";
	display: block;
	height: 1px;
	left: 15%;
	position: absolute;
	top: 50%;
	transform: rotate(45deg);
	width: 70%;
}

.lity-close:after {
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

#home #main #images,
#home #main #anime2,
#home #main #people,
#home #main #anime,
#home #main #movie,
#home #main #hero { /*************************/
}

#home #main #hero {
	height: 100svh;
	position: relative;
}

#home #main #hero .progress {
	background-color: #E2E2E2;
	bottom: 40px;
	height: 50px;
	position: absolute;
	right: 19px;
	width: 1px;
}

#home #main #hero .progress .bar {
	-webkit-transform: scaleY(0);
	-ms-transform: scaleY(0);
	-webkit-transform-origin: left top;
	-ms-transform-origin: left top;
	-webkit-transition-timing-function: linear;
	-o-transition-timing-function: linear;
	background-color: #000;
	display: block;
	height: 100%;
	position: absolute;
	top: 0;
	transform: scaleY(0);
	transform-origin: left top;
	transition-timing-function: linear;
	width: 100%;
}

#home #main #outline {
	overflow: hidden;
}

#home #main #outline .inner {
	max-width: 1160px;
	padding-bottom: 71px;
	padding-top: 105.5px;
}

#home #main #outline .logo {
	margin-top: 39px;
}

#home #main #outline .logo img {
	max-width: 842px;
	width: 100%;
}

#home #main #outline .information {
	-webkit-box-pack: end;
	-webkit-justify-content: flex-end;
	-ms-flex-pack: end;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: flex-end;
	margin-top: 215.5px;
}

#home #main #outline .information .wrap {
	position: relative;
}

#home #main #outline .information .category {
	-webkit-transform: rotate(-90deg) translateX(-100%);
	-ms-transform: rotate(-90deg) translateX(-100%);
	-webkit-transform-origin: left top;
	-ms-transform-origin: left top;
	font-family: "Didot", "Yu Mincho", serif;
	font-size: 10px;
	left: -30px;
	letter-spacing: 0.08em;
	line-height: 1;
	position: absolute;
	top: 7px;
	transform: rotate(-90deg) translateX(-100%);
	transform-origin: left top;
}

#home #main #outline .information p {
	font-family: "Didot", "Yu Mincho", serif;
	font-size: 15.7px;
	letter-spacing: 0.08em;
	line-height: 1.725;
	margin: 0;
}

#home #main #movie .cover {
	display: block;
	height: 100%;
	position: relative;
	width: 100%;
}

#home #main #concept .inner {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	max-width: 1260px;
	overflow: hidden;
}

#home #main #concept .inner:first-of-type {
	padding-top: 225px;
}

#home #main #concept .lead {
	letter-spacing: 0.12em;
	padding-left: 5.5px;
	padding-right: 5.5px;
}

#home #main #concept .headline {
	margin: 15px 0 121px;
}

#home #main #concept #anime {
	height: 700vh;
	margin: 227px 0 208px;
}

#home #main #concept #anime .anime {
	height: -webkit-calc(100vh - 80px);
	height: calc(100vh - 80px);
	position: -webkit-sticky;
	position: sticky;
	top: 40px;
}

#home #main #concept #people {
	height: 500vh;
	margin: 207px 0 305px;
}

#home #main #concept #people .grid {
	height: -webkit-calc(100vh - 80px + 4px);
	height: calc(100vh - 80px + 4px);
	position: -webkit-sticky;
	position: sticky;
	top: 38px;
}

#home #main #concept #people.phase1 li.g1 {
	opacity: 1;
}

#home #main #concept #people.phase2 li.g2 {
	opacity: 1;
}

#home #main #concept #people.phase3 li.g3 {
	opacity: 1;
}

#home #main #concept #people.phase4 li.g4 {
	opacity: 1;
}

#home #main #concept #people.phase5 li.g5 {
	opacity: 1;
}

#home #main #concept #people.phase6 li.g6 {
	opacity: 1;
}

#home #main #concept #people.phase7 li.g7 {
	opacity: 1;
}

#home #main #concept #people.phase8 li.g8 {
	opacity: 1;
}

#home #main #concept #people.phase9 li.g9 {
	opacity: 1;
}

#home #main #concept #people.phase10 li.g10 {
	opacity: 1;
}

#home #main #concept #people li.d1 {
	-webkit-transition-delay: 0.3s;
	-o-transition-delay: 0.3s;
	transition-delay: 0.3s;
}

#home #main #concept #people li.d2 {
	-webkit-transition-delay: 0.6s;
	-o-transition-delay: 0.6s;
	transition-delay: 0.6s;
}

#home #main #concept #people li.d3 {
	-webkit-transition-delay: 0.9s;
	-o-transition-delay: 0.9s;
	transition-delay: 0.9s;
}

#home #main #concept .grid {
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	height: -webkit-calc(100% + 4px);
	height: calc(100% + 4px);
	margin: 0 -2px;
}

#home #main #concept .grid li {
	-webkit-transition: opacity 0.5s;
	-o-transition: opacity 0.5s;
	height: 25%;
	opacity: 0;
	padding: 2px;
	transition: opacity 0.5s;
	width: 10%;
}

#home #main #concept .grid li img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

#home #main #concept .cut-image {
	padding: 186px 40px;
}

#home #main #concept .cut-image .img {
	max-width: 1020px;
}

#home #main #concept .cut-image .img img {
	width: 100%;
}

#home #main #images {
	margin: 148px 0 158px;
	position: relative;
}

#home #main #images .nav {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	bottom: 60px;
	color: #fff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	line-height: 1;
	position: absolute;
	right: 68px;
	z-index: 10;
}

#home #main #images .nav .num {
	font-size: 13px;
}

#home #main #images .nav .progress {
	background-color: currentColor;
	height: 1px;
	margin: 0 8.5px;
	position: relative;
	width: 100px;
}

#home #main #images .nav .progress .bar {
	-webkit-transform: scaleX(0);
	-ms-transform: scaleX(0);
	-webkit-transform-origin: left top;
	-ms-transform-origin: left top;
	-webkit-transition-timing-function: linear;
	-o-transition-timing-function: linear;
	background-color: #000;
	display: block;
	height: 100%;
	position: absolute;
	top: 0;
	transform: scaleX(0);
	transform-origin: left top;
	transition-timing-function: linear;
	width: 100%;
}

#home #main #technology .inner {
	max-width: 1080px;
}

#home #main #technology .block ul {
	margin: auto;
	max-width: 420px;
	padding-left: 0.625em;
	width: 100%;
}

#home #main #technology .block ul li {
	font-size: 13px;
	letter-spacing: 0.064em;
	line-height: 1.847;
}

#home #main #technology .block ul li:before {
	content: "-";
	left: -0.5em;
	margin-left: -0.5em;
	position: relative;
}

#home #main #technology .block ul ul {
	padding-left: 1.5em;
}

#home #main #anime2 {
	height: 1000vh;
	margin: 196px 0 118px;
}

#home #main #anime2 .anime {
	height: -webkit-calc(100vh - 80px);
	height: calc(100vh - 80px);
	position: -webkit-sticky;
	position: sticky;
	top: 40px;
}

#home #main #credit {
	padding: 0 40px;
}

#home #main #credit .wrap {
	background-color: #F9F9FC;
	margin-top: 2px;
	padding: 30px 0 29px;
}

#home #main #credit .block.single {
	margin: 57px 0;
}

#home #main #credit .logo-company {
	line-height: 1;
	text-align: center;
}

#home #main #credit .logo-company a {
	-webkit-transition: opacity 0.5s;
	-o-transition: opacity 0.5s;
	transition: opacity 0.5s;
}

.desktop #home #main #credit .logo-company a:hover {
	opacity: 0.6;
}

#home #main #credit h3 {
	margin-bottom: 1.5em;
}

#home #main #credit .member {
	color: #484848;
	font-size: 13px;
	letter-spacing: 0.064em;
	line-height: 1.847;
	text-align: center;
}

#home #main #credit .profile {
	font-size: 12px;
	letter-spacing: 0.032em;
	line-height: 1.6667;
	margin: auto;
	max-width: 400px;
}

#home #main #credit .links {
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	position: relative;
	top: 15px;
}

#home #main #credit .links li {
	margin: 0 8px;
}

#home #main #credit .links li a {
	-webkit-transition: background-color 0.5s;
	-o-transition: background-color 0.5s;
	border-radius: 100%;
	height: 40px;
	padding: 14px;
	transition: background-color 0.5s;
	width: 40px;
}

.desktop #home #main #credit .links li a:hover {
	background-color: #FFF;
	opacity: 1;
}

@media (min-width: 681px) {

#home #main #outline .information p:first-of-type {
	font-size: 124%;
	margin-bottom: -2.5px;
}

#home #main #outline .information p .day {
	font-size: 77%;
}

#home #main #technology .wrap {
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
}

#home #main #technology .block {
	width: 50%;
}

#home #main #technology .block.left {
	padding-right: 11.25%;
}

#home #main #technology .block.right {
	border-left: 1px solid rgba(112, 112, 112, 0.2);
	padding-left: 11.25%;
}

#home #main #credit .wrap {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
}

#home #main #credit .block.left,
#home #main #credit .block.right {
	width: 50%;
}

#home #main #credit .block.right {
	border-left: 1px solid rgba(112, 112, 112, 0.2);
	padding: 60px 48px;
}

}

@media (min-width: 961px) {

#home #main #concept .lead,
#home #main #concept .headline {
	left: 7.2%;
	position: relative;
}

#home #main #concept .lead {
	margin-left: 2px;
}

}

@media (min-width: 1281px) {

#home #main #outline .information {
	margin-right: -6px;
}

}

@media (max-width: 1280px) {

#home #main #outline .logo img {
	max-width: 800px;
}

#home #main #concept .grid li {
	width: 14.2857%;
}

#home #main #concept .grid li:nth-of-type(n+29) {
	display: none;
}

}

@media (max-width: 960px) {

.headline {
	font-size: 51px;
}

.text {
	font-size: 17px;
}

#home #main #outline .logo img {
	max-width: 620px;
}

#home #main #concept .grid li {
	width: 20%;
}

#home #main #concept .grid li:nth-of-type(n+21) {
	display: none;
}

}

@media (max-width: 680px) {

#home #main #images,
#home #main #anime2,
#home #main #people,
#home #main #anime,
#home #main #movie,
#home #main #hero {
	padding: 24px;
}

#home #main #outline,
#home #main #concept .inner,
#home #main #technology {
	padding-left: 24px;
	padding-right: 24px;
}

.sp {
	display: inherit;
}

.pc {
	display: none;
}

.lang li {
	font-size: 10px;
}

#header .logo {
	top: 13px;
}

#header .links {
	display: none;
}

#header .lang {
	right: 5px;
	top: 0;
}

#loading img {
	max-width: 160px;
}

#anime-canvas {
	height: 75%;
	width: 100%;
}

#anime-canvas2 {
	height: 56%;
	width: 100%;
}

.info {
	font-size: 10px;
	right: 7px;
}

.lead {
	font-size: 10px;
	padding: 2.25px 4.25px 1.75px;
}

.headline {
	font-size: 20px;
	line-height: 1.6;
}

.text {
	font-size: 13px;
	line-height: 2.154;
	margin-right: auto;
	max-width: 281px;
}

.block h3 {
	margin: 4.1em 0 1.25em;
}

.btn.play {
	bottom: 16px;
	height: 60px;
	right: 16px;
	width: 60px;
}

.lity-close {
	height: 60px;
	width: 60px;
}

#home #main #hero .progress {
	bottom: 24px;
	left: 11px;
	right: 0;
}

#home #main #outline .inner {
	padding-bottom: 197px;
	padding-top: 188px;
}

#home #main #outline .logo {
	margin-top: 17px;
}

#home #main #outline .logo img {
	max-width: 240px;
}

#home #main #outline .information {
	margin-top: 87px;
}

#home #main #outline .information .wrap {
	max-width: 275px;
}

#home #main #outline .information .category {
	left: -27.5px;
	top: 2.5px;
}

#home #main #outline .information p {
	font-size: 11px;
	letter-spacing: 0.064em;
	line-height: 1.819;
}

#home #main #concept .inner:first-of-type {
	padding-top: 85.5px;
}

#home #main #concept .lead {
	letter-spacing: 0.064em;
	padding-left: 4.5px;
	padding-right: 4.5px;
}

#home #main #concept .headline {
	margin: 4px 0 48px;
}

#home #main #concept #anime {
	margin: 95px 0 123px;
}

#home #main #concept #anime .anime {
	height: -webkit-calc(100vh - 48px);
	height: calc(100vh - 48px);
	top: 24px;
}

#home #main #concept #people {
	margin: 124px 0 135px;
}

#home #main #concept #people .grid {
	height: -webkit-calc(100vh - 48px + 4px);
	height: calc(100vh - 48px + 4px);
	top: 22px;
}

#home #main #concept .grid li {
	width: 33.333%;
}

#home #main #concept .grid li:nth-of-type(n+13) {
	display: none;
}

#home #main #concept .cut-image {
	padding: 133px 24px 133px 0;
}

#home #main #images {
	margin: 134px 0 99px;
	max-height: 528px;
}

#home #main #images .nav {
	bottom: 40px;
	right: 48px;
}

#home #main #images .nav .num {
	font-size: 11px;
}

#home #main #images .nav .progress {
	width: 70px;
}

#home #main #technology .block {
	padding: 0 23px 74px;
}

#home #main #technology .block ul li {
	font-size: 11px;
	line-height: 2;
}

#home #main #technology .block.right {
	border-top: 1px solid rgba(112, 112, 112, 0.2);
}

#home #main #anime2 {
	margin: 43px 0 121px;
}

#home #main #anime2 .anime {
	height: -webkit-calc(100vh - 48px);
	height: calc(100vh - 48px);
	top: 24px;
}

#home #main #credit {
	padding: 0;
}

#home #main #credit .block {
	padding: 0 48px;
}

#home #main #credit .block.single {
	margin: 28px 0 22px;
}

#home #main #credit .logo-company {
	margin: 1.5em auto 2em;
	max-width: 100px;
	text-indent: 0.25em;
}

#home #main #credit h3 {
	margin-bottom: 1.25em;
	margin-top: 0;
}

#home #main #credit .member {
	font-size: 11px;
	line-height: 2;
	margin: auto;
	max-width: 400px;
	text-align: left;
}

#home #main #credit .links {
	margin-bottom: 26px;
}

}

