/*
	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;
	-moz-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;
}

/**
 * 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, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
}

: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-pagination {
	-webkit-transition: .3s opacity;
	-o-transition: .3s opacity;
	-webkit-transform: translate3d(0, 0, 0);
	position: absolute;
	text-align: center;
	transform: translate3d(0, 0, 0);
	transition: .3s opacity;
	z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
	opacity: 0;
}

.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
	bottom: 10px;
	left: 0;
	width: 100%;
}

.swiper-pagination-bullets-dynamic {
	font-size: 0;
	overflow: hidden;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
	-webkit-transform: scale(0.33);
	-ms-transform: scale(0.33);
	position: relative;
	transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
	-webkit-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
	-webkit-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
	-webkit-transform: scale(0.66);
	-ms-transform: scale(0.66);
	transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
	-webkit-transform: scale(0.33);
	-ms-transform: scale(0.33);
	transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
	-webkit-transform: scale(0.66);
	-ms-transform: scale(0.66);
	transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
	-webkit-transform: scale(0.33);
	-ms-transform: scale(0.33);
	transform: scale(0.33);
}

.swiper-pagination-bullet {
	background: var(--swiper-pagination-bullet-inactive-color, #000);
	border-radius: 50%;
	display: inline-block;
	height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
	opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
	width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
}

button.swiper-pagination-bullet {
	-webkit-box-shadow: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	box-shadow: none;
	margin: 0;
	padding: 0;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
	cursor: pointer;
}

.swiper-pagination-bullet:only-child {
	display: none !important;
}

.swiper-pagination-bullet-active {
	background: var(--swiper-pagination-color, var(--swiper-theme-color));
	opacity: var(--swiper-pagination-bullet-opacity, 1);
}

.swiper-pagination-vertical.swiper-pagination-bullets,
.swiper-vertical > .swiper-pagination-bullets {
	-webkit-transform: translate3d(0px, -50%, 0);
	right: 10px;
	top: 50%;
	transform: translate3d(0px, -50%, 0);
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
	display: block;
	margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	top: 50%;
	transform: translateY(-50%);
	width: 8px;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
	-webkit-transition: .2s transform,.2s top;
	-o-transition: .2s transform,.2s top;
	display: inline-block;
	transition: .2s transform,.2s top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
	-webkit-transition: .2s transform,.2s left;
	-o-transition: .2s transform,.2s left;
	transition: .2s transform,.2s left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
	-webkit-transition: .2s transform,.2s right;
	-o-transition: .2s transform,.2s right;
	transition: .2s transform,.2s right;
}

.swiper-pagination-progressbar {
	background: rgba(0, 0, 0, 0.25);
	position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
	-webkit-transform: scale(0);
	-ms-transform: scale(0);
	-webkit-transform-origin: left top;
	-ms-transform-origin: left top;
	background: var(--swiper-pagination-color, var(--swiper-theme-color));
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: scale(0);
	transform-origin: left top;
	width: 100%;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
	-webkit-transform-origin: right top;
	-ms-transform-origin: right top;
	transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
	height: 4px;
	left: 0;
	top: 0;
	width: 100%;
}

.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-vertical > .swiper-pagination-progressbar {
	height: 100%;
	left: 0;
	top: 0;
	width: 4px;
}

.swiper-pagination-lock {
	display: none;
}

body:not(#home):not(#error) .page-title,
body:not(#home):not(#error) .content,
body#error .content,
body#vision #contents .content .inner section .text,
body#works.single #contents .content .inner {
	padding-left: 6.1429%;
	padding-right: 6.1429%;
}

body#home #main #mv .movie video,
body#home #main .content .kv .img > *,
body#home #main #service .kv .img:nth-child(1) > *,
body#home #main #service .kv .img:nth-child(2) > *,
body#home #main #works .swiper-works .img a > *,
body#home #main #company .kv .img:nth-child(1) > *,
body#home #main #company .kv .img:nth-child(2) > *,
body#service .woven-list-item .img > *,
body#service .material-list-item .img > *,
body#service .finishing-list-item .img > *,
body#works .works-list li .img > *,
body#works.single #contents .content .swiper-works .img > * {
	-o-object-fit: cover;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	height: 100%;
	left: 50%;
	object-fit: cover;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

body {
	-webkit-font-feature-settings: "palt";
	-moz-font-feature-settings: "palt";
	font-feature-settings: "palt";
	-webkit-font-variant-ligatures: none;
	-moz-font-variant-ligatures: none;
	background-color: #C1C1C1;
	color: #040000;
	font-family: "dnp-shuei-gothic-gin-std", "YuGothic", sans-serif;
	font-variant-ligatures: none;
	line-height: 1.8572;
	min-width: 320px;
}

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

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

input,
textarea,
button {
	color: #040000;
	line-height: 1.8572;
	outline: none;
}

hr {
	border-color: #FFF;
}

.sp {
	display: none;
}

span.br {
	display: inline-block;
}

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

input[id^="switch-"] {
	display: none;
}

.btn-menu {
	color: #FFF;
	display: none;
	font-size: 13px;
	height: 66px;
	line-height: 66px;
	overflow: hidden;
	position: fixed;
	right: 0;
	text-indent: 200%;
	top: 3px;
	white-space: nowrap;
	width: 92px;
	z-index: 12;
}

.btn-menu > span:before,
.btn-menu > span:after {
	-webkit-transition: -webkit-transform 0.3s;
	-o-transition: transform 0.3s;
	background-color: currentColor;
	content: "";
	display: block;
	height: 1px;
	left: -webkit-calc(50% - 27.5px);
	left: calc(50% - 27.5px);
	position: absolute;
	top: -webkit-calc(50% - 1px);
	top: calc(50% - 1px);
	transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
	transition: transform 0.3s, -webkit-transform 0.3s;
	width: 55px;
}

.btn-menu span:before {
	-webkit-transform: translateY(-5px);
	-ms-transform: translateY(-5px);
	transform: translateY(-5px);
}

.btn-menu span:after {
	-webkit-transform: translateY(5px);
	-ms-transform: translateY(5px);
	transform: translateY(5px);
}

.logo {
	line-height: 1;
}

.logo a {
	display: inline-block;
}

.logo a img {
	vertical-align: top;
}

.info {
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	-webkit-transition: opacity 0.3s;
	-o-transition: opacity 0.3s;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.3s;
	visibility: hidden;
}

html.wf-active .info {
	opacity: 1;
	visibility: visible;
}

.info li {
	font-family: "Open Sans", sans-serif;
	font-size: 12px;
	letter-spacing: 0.1em;
	line-height: 1.5455;
}

.info li:not(:last-child):after {
	-webkit-transform: scaleY(0.75);
	-ms-transform: scaleY(0.75);
	content: "|";
	display: inline-block;
	margin: 0 1em;
	position: relative;
	top: -1px;
	transform: scaleY(0.75);
}

#header {
	color: #FFF;
}

#header .logo,
#header .global,
#header .info {
	position: fixed;
	z-index: 10;
}

#header .logo {
	left: 34.5px;
	top: 27px;
}

#header .info {
	right: 24px;
	top: 20px;
}

#header .info li {
	font-size: 11px;
	letter-spacing: 0.075em;
}

#header .info li:after {
	margin: 0 0.875em;
}

#header .global a {
	color: #FFF;
}

#footer {
	background-color: #131314;
	color: #FFF;
	overflow: hidden;
	padding-bottom: 288px;
	padding-top: 250px;
	text-align: center;
}

#footer .logo {
	margin-bottom: 41px;
}

#footer .sns {
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
}

#footer .sns li {
	margin: 0 12px;
}

#copyright {
	-webkit-transition: opacity 0.3s;
	-o-transition: opacity 0.3s;
	font-family: "Open Sans", sans-serif;
	letter-spacing: 0.1em;
	line-height: 1;
	margin: 30px 0 45.5px;
	opacity: 0;
	transition: opacity 0.3s;
	visibility: hidden;
}

html.wf-active #copyright {
	opacity: 1;
	visibility: visible;
}

#copyright small {
	-webkit-transform: scale(0.91);
	-ms-transform: scale(0.91);
	display: inline-block;
	font-size: 10px;
	transform: scale(0.91);
	white-space: nowrap;
}

body:not(#home) .page-title,
body:not(#home) .content {
	-webkit-transition: opacity 0.3s;
	-o-transition: opacity 0.3s;
	opacity: 0;
	transition: opacity 0.3s;
	visibility: hidden;
}

html.wf-active body:not(#home) .page-title,
html.wf-active
  body:not(#home) .content {
	opacity: 1;
	visibility: visible;
}

body:not(#home) #wrapper:after {
	-webkit-transition: opacity 0.3s, visibility 0.1s 0.3s, z-index 0.1s 0.3s;
	-o-transition: opacity 0.3s, visibility 0.1s 0.3s, z-index 0.1s 0.3s;
	background: url("../images/logo03.svg") no-repeat center/cover;
	content: "";
	display: block;
	height: 152px;
	left: -webkit-calc(50% - 47px);
	left: calc(50% - 47px);
	position: fixed;
	top: -webkit-calc(50% - 76px);
	top: calc(50% - 76px);
	transition: opacity 0.3s, visibility 0.1s 0.3s, z-index 0.1s 0.3s;
	visibility: visible;
	width: 94px;
	z-index: 2;
}

html.wf-active body:not(#home) #wrapper:after {
	opacity: 0;
	visibility: hidden;
	z-index: -1;
}

body:not(#home):not(#error) .page-title .inner,
body:not(#home):not(#error) .content .inner {
	max-width: 750px;
}

body:not(#home):not(#error) .page-title.kv {
	padding: 0;
}

body:not(#home):not(#error) .page-title.kv .inner {
	max-width: none;
}

body:not(#home):not(#error) .page-title.kv .title {
	color: #FFF;
}

body:not(#home):not(#error) .content {
	margin-bottom: 37px;
}

body:not(#home):not(#error) .content h3.title {
	font-family: "garamond-premier-pro-display", "a-otf-ryumin-pr6n", "Cormorant Garamond", "Noto Serif JP", serif;
	font-size: 35px;
	letter-spacing: 0.05em;
	line-height: 1.4091;
}

body:not(#home):not(#error) .content .inner > *:not([class]) a {
	-webkit-transition: color 0.3s;
	-o-transition: color 0.3s;
	color: #FFF;
	text-decoration: underline;
	transition: color 0.3s;
}

.desktop body:not(#home):not(#error) .content .inner > *:not([class]) a:hover {
	color: #040000;
}

body:not(#home):not(#error) .content h3:not([class]) {
	font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", serif;
	font-size: 25px;
	letter-spacing: 0.05em;
	line-height: 1.4091;
	margin-bottom: 27px;
	margin-top: 81px;
}

body:not(#home):not(#error) .content h3:not([class]) + p:not([class]),
body:not(#home):not(#error) .content h4:not([class]) + p:not([class]) {
	margin-top: 12px;
}

body:not(#home):not(#error) .content h3:not([class]) + ol:not([class]),
body:not(#home):not(#error) .content h3:not([class]) + ul:not([class]),
body:not(#home):not(#error) .content h4:not([class]) + ol:not([class]),
body:not(#home):not(#error) .content h4:not([class]) + ul:not([class]) {
	margin: 28px auto 29px;
}

body:not(#home):not(#error) .content p:not([class]) + ol:not([class]),
body:not(#home):not(#error) .content p:not([class]) + ul:not([class]) {
	margin-top: 0;
}

body:not(#home):not(#error) .content p:not([class]) + table {
	margin-top: 31px;
}

body:not(#home):not(#error) .content ul:not([class]),
body:not(#home):not(#error) .content ol:not([class]) {
	margin: 30px auto;
}

body:not(#home):not(#error) .content ul:not([class]) > li,
body:not(#home):not(#error) .content ol:not([class]) > li {
	font-size: 14px;
	line-height: 1.6429;
	margin: 11px auto;
	padding-left: 1.4em;
	position: relative;
}

body:not(#home):not(#error) .content ul:not([class]) > li:before,
body:not(#home):not(#error) .content ol:not([class]) > li:before {
	content: "−";
	font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", serif;
	left: 1px;
	position: absolute;
	top: 0;
}

body:not(#home):not(#error) .content ul:not([class]) + h3:not([class]),
body:not(#home):not(#error) .content ol:not([class]) + h3:not([class]) {
	margin-top: 82.5px;
}

body:not(#home):not(#error) .content ul:not([class]) + p:not([class]),
body:not(#home):not(#error) .content ol:not([class]) + p:not([class]) {
	margin-top: -3.5px;
}

body:not(#home):not(#error) .content li > ul:not([class]),
body:not(#home):not(#error) .content li > ol:not([class]) {
	margin: 28px auto -2px;
}

body:not(#home):not(#error) .content ol:not([class]) {
	counter-reset: number;
}

body:not(#home):not(#error) .content ol:not([class]) > li {
	list-style: none;
}

body:not(#home):not(#error) .content ol:not([class]) > li:before {
	content: counter(number) ".";
	counter-increment: number;
	left: 0;
	top: -1px;
}

body:not(#home):not(#error) .content hr {
	border-color: rgba(4, 0, 0, 0.4);
	margin: 33px auto;
}

body:not(#home):not(#error) .content table {
	border-top: 1px solid rgba(4, 0, 0, 0.4);
	margin: 16px auto;
	width: 100%;
}

body:not(#home):not(#error) .content table tr {
	border-bottom: 1px solid rgba(4, 0, 0, 0.4);
}

body:not(#home):not(#error) .content table tr > * {
	font-size: 14px;
	line-height: 1.6429;
	padding-bottom: 23px;
	padding-top: 22px;
}

body:not(#home):not(#error) .content table tr th {
	font-weight: 400;
	padding-right: 2.5em;
	text-align: left;
	vertical-align: top;
	width: 16.75%;
}

body:not(#home):not(#error) .content p:not([class]) {
	font-size: 14px;
	margin: 26px auto;
}

body:not(#home):not(#error) .content p.post-img {
	margin: 54px auto;
}

body:not(#home):not(#error) .content p.post-img img {
	display: block;
}

body:not(#home):not(#error) .content p.post-img img.alignright {
	margin-left: auto;
	margin-right: 0;
}

body:not(#home):not(#error) .content p.post-img img.aligncenter {
	margin: auto;
}

body:not(#home):not(#error) .content p.post-img .caption {
	display: block;
	font-size: 10px;
	line-height: 1.7;
	margin: 0.75em auto;
}

body:not(#home):not(#error) .content p.post-img.alignright {
	text-align: right;
}

body:not(#home):not(#error) .content p.post-img.alignright img {
	margin-left: auto;
	margin-right: 0;
}

body:not(#home):not(#error) .content p.post-img.alignright .caption {
	text-align: right;
}

body:not(#home):not(#error) .content p.post-img.aligncenter {
	text-align: center;
}

body:not(#home):not(#error) .content p.post-img.aligncenter img {
	margin: auto;
}

body:not(#home):not(#error) .content p.post-img.aligncenter .caption {
	text-align: center;
}

.page-title .title {
	color: #0c0b0b;
	font-family: "garamond-premier-pro-display", "a-otf-ryumin-pr6n", "Cormorant Garamond", "Noto Serif JP", serif;
	font-size: 53px;
	letter-spacing: 0.05em;
	line-height: 1;
}

.page-title:not(.kv) {
	padding-top: 182px;
}

.page-title:not(.kv) .title {
	margin-bottom: 88px;
}

.page-title.kv {
	-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;
	height: 100%;
	justify-content: center;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.page-title.kv .title {
	font-size: 63px;
	margin-top: 74px;
	position: relative;
	text-indent: 0.05em;
	z-index: 1;
}

.page-title.kv .img {
	bottom: -webkit-calc(70 / 850 * 100%);
	bottom: calc(70 / 850 * 100%);
	left: -webkit-calc(86 / 1400 * 100%);
	left: calc(86 / 1400 * 100%);
	overflow: hidden;
	position: absolute;
	right: -webkit-calc(86 / 1400 * 100%);
	right: calc(86 / 1400 * 100%);
	top: -webkit-calc(89 / 850 * 100%);
	top: calc(89 / 850 * 100%);
	z-index: 0;
}

.page-title.kv .img img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.page-title.kv + .content {
	margin-top: 100vh;
}

.content .notice {
	background-color: rgba(4, 0, 0, 0.27);
	border-radius: 2px;
	color: #FFF;
	font-size: 14px;
	line-height: 1.6154;
	margin: 39px auto;
	padding: 10px 20px 12px;
}

.page-nav-list {
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.page-nav-list li {
	font-family: "garamond-premier-pro-display", "a-otf-ryumin-pr6n", "Cormorant Garamond", "Noto Serif JP", serif;
	font-size: 16px;
	letter-spacing: 0.05em;
}

.page-nav-list li:not(:last-child):after {
	content: "|";
	margin: 0 2.075em;
}

.pagination {
	margin-top: 60px;
}

.pagination ul.page-numbers {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin: -8px;
}

.pagination ul.page-numbers li {
	margin: 8px;
}

.pagination ul.page-numbers li a {
	-webkit-transition: background-color 0.3s, border-color 0.3s, color 0.3s;
	-o-transition: background-color 0.3s, border-color 0.3s, color 0.3s;
	transition: background-color 0.3s, border-color 0.3s, color 0.3s;
}

.desktop .pagination ul.page-numbers li a:hover {
	background-color: #FFF;
	border-color: #FFF;
	color: #040000;
}

.pagination ul.page-numbers .page-numbers {
	border: 1px solid currentColor;
	color: #FFF;
	display: block;
	font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", serif;
	font-size: 14px;
	height: 40px;
	line-height: 35px;
	text-align: center;
	width: 40px;
}

.pagination ul.page-numbers .page-numbers.current {
	background-color: #FFF;
	border-color: #FFF;
	color: #040000;
}

.single .pagination {
	margin-top: 67px;
}

.single .pagination ul {
	-ms-grid-columns: (1fr)[3];
	-ms-grid-rows: 13px;
	border-top: 1px solid rgba(255, 255, 255, 0.6);
	display: -ms-grid;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: 13px;
	padding-bottom: 17px;
	padding-top: 60px;
}

.single .pagination ul > *:nth-child(1) {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
}

.single .pagination ul > *:nth-child(2) {
	-ms-grid-row: 1;
	-ms-grid-column: 2;
}

.single .pagination ul > *:nth-child(3) {
	-ms-grid-row: 1;
	-ms-grid-column: 3;
}

.single .pagination ul li {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 14px;
	height: 38px;
}

.single .pagination ul li a {
	display: inline-block;
	overflow: hidden;
	position: relative;
	text-indent: 200%;
	white-space: nowrap;
}

.single .pagination ul .prev a,
.single .pagination ul .next a {
	background: url("../images/arrow01.svg") no-repeat center/cover;
	height: 20px;
	width: 52px;
}

.single .pagination ul .prev {
	-ms-grid-column: 1;
	-ms-grid-column-span: 1;
	grid-column-end: 2;
	grid-column-start: 1;
}

.single .pagination ul .prev a {
	-webkit-transform: scale(-1);
	-ms-transform: scale(-1);
	transform: scale(-1);
}

.single .pagination ul .index {
	-ms-grid-column: 2;
	-ms-grid-column-span: 1;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	grid-column-end: 3;
	grid-column-start: 2;
	justify-content: center;
}

.single .pagination ul .index a {
	background: url("../images/icon_index01.svg") no-repeat center/cover;
	height: 38px;
	width: 38px;
}

.single .pagination ul .next {
	-ms-grid-column: 3;
	-ms-grid-column-span: 1;
	-webkit-box-pack: end;
	-webkit-justify-content: flex-end;
	-ms-flex-pack: end;
	grid-column-end: 4;
	grid-column-start: 3;
	justify-content: flex-end;
}

.btn:not(.circle) {
	margin: 26px auto;
}

.btn:not(.circle) > * {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-transition: background-color 0.3s, border-color 0.3s, color 0.3s;
	-o-transition: background-color 0.3s, border-color 0.3s, color 0.3s;
	background-color: #040000;
	border: 1px solid #040000;
	border-radius: 2px;
	box-sizing: border-box;
	color: #FFF;
	display: inline-block;
	font-size: 14px;
	line-height: 1;
	max-width: 260px;
	padding: 14px 0 15px;
	text-align: center;
	transition: background-color 0.3s, border-color 0.3s, color 0.3s;
	width: 100%;
}

.desktop .btn:not(.circle) > *:hover {
	background-color: #C1C1C1;
	color: #040000;
}

.btn.circle > * {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-transition: color 0.3s;
	-o-transition: color 0.3s;
	border: 1px solid currentColor;
	border-radius: 100%;
	box-sizing: border-box;
	color: #FFF;
	display: inline-block;
	font-family: "gill-sans-nova", "Open Sans", sans-serif;
	font-size: 15px;
	height: 102px;
	letter-spacing: 0.2em;
	line-height: 99px;
	padding-left: 3px;
	text-align: center;
	transition: color 0.3s;
	width: 167px;
}

.desktop .btn.circle > *:not(.hover-disable):hover {
	color: #040000;
}

.desktop .btn.circle > *:not(.hover-disable):hover .plus:before,
.desktop .btn.circle > *:not(.hover-disable):hover .plus:after {
	background-color: #040000;
}

.btn.circle .plus {
	color: transparent;
	display: inline-block;
	position: relative;
}

.btn.circle .plus:before,
.btn.circle .plus:after {
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-webkit-transition: background-color 0.3s;
	-o-transition: background-color 0.3s;
	background-color: #FFF;
	content: "";
	display: block;
	height: 1px;
	left: 51.5%;
	position: absolute;
	top: 51.5%;
	transform: translate(-50%, -50%);
	transition: background-color 0.3s;
	width: 19px;
}

.btn.circle .plus:after {
	-webkit-transform: translate(-50%, -50%) rotate(90deg);
	-ms-transform: translate(-50%, -50%) rotate(90deg);
	transform: translate(-50%, -50%) rotate(90deg);
}

.btn.circle.big > * {
	height: 195px;
	line-height: 193px;
	padding-left: 0;
	width: 320px;
}

.btn.circle.big .plus {
	margin-left: 0.45em;
	margin-right: 0.35em;
}

.btn.circle.big .plus:before,
.btn.circle.big .plus:after {
	left: 50%;
	top: 50.5%;
}

.btn.sub > * {
	-webkit-transition: -webkit-filter 0.3s;
	-o-transition: filter 0.3s;
	background-color: transparent;
	border-color: #FFF;
	border-radius: 27.5px;
	font-size: 15px;
	max-width: 314px;
	padding: 19px 30px 19px;
	position: relative;
	text-align: left;
	transition: -webkit-filter 0.3s;
	transition: filter 0.3s;
	transition: filter 0.3s, -webkit-filter 0.3s;
}

.desktop .btn.sub > *:hover {
	background-color: transparent;
	color: #FFF;
}

.desktop .btn.sub > *:not(.bg-black):hover {
	-webkit-filter: invert(1);
	filter: invert(1);
}

.btn.sub > *:after {
	background-image: url("../images/arrow01_sp.svg");
	content: "";
	height: 10px;
	position: absolute;
	right: 31px;
	top: -webkit-calc(50% - 5px);
	top: calc(50% - 5px);
	width: 26px;
}

.btn.sub.file > *:after {
	background-image: url("../images/icon_file01.svg");
	height: 25px;
	right: 34px;
	top: -webkit-calc(50% - 13.5px);
	top: calc(50% - 13.5px);
	width: 20px;
}

html,
body {
	overflow-x: hidden;
}

#js-cursor {
	-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.3s 0.2s;
	-o-transition: opacity 0.3s 0.2s;
	align-items: center;
	display: none;
	height: 1px;
	justify-content: center;
	left: 0;
	mix-blend-mode: difference;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	top: 0;
	transition: opacity 0.3s 0.2s;
	width: 1px;
	z-index: 1001;
}

html.desktop #js-cursor {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.wf-active #js-cursor.is-start {
	opacity: 1;
}

#js-follower {
	-webkit-flex-shrink: 0;
	-ms-flex-negative: 0;
	-webkit-transition: width ease 0.1s, height ease 0.1s, -webkit-transform linear 0.2s;
	-o-transition: transform linear 0.2s, width ease 0.1s, height ease 0.1s;
	background: #FFF;
	border-radius: 50%;
	flex-shrink: 0;
	height: 40px;
	transition: width ease 0.1s, height ease 0.1s, -webkit-transform linear 0.2s;
	transition: transform linear 0.2s, width ease 0.1s, height ease 0.1s;
	transition: transform linear 0.2s, width ease 0.1s, height ease 0.1s, -webkit-transform linear 0.2s;
	width: 40px;
}

.is-active #js-follower {
	height: 120px;
	width: 120px;
}

.wpcf7 .wpcf7-form {
	border-top: 1px solid rgba(4, 0, 0, 0.1);
	margin-top: 16px;
}

.wpcf7 .wpcf7-form label {
	display: inline-block;
}

.wpcf7 .wpcf7-form dl {
	border-bottom: 1px solid rgba(4, 0, 0, 0.1);
	padding: 11px 0 13.25px;
}

.wpcf7 .wpcf7-form dl dt label {
	font-size: 14px;
}

.wpcf7 .wpcf7-form dl dd a {
	text-decoration: underline;
}

.wpcf7 .wpcf7-form dl dd input,
.wpcf7 .wpcf7-form dl dd textarea {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-transform: scale(-webkit-calc(14 / 16));
	-ms-transform: scale(calc(14 / 16));
	-webkit-transform-origin: top left;
	-ms-transform-origin: top left;
	-webkit-transition: background-color 0.3s;
	-o-transition: background-color 0.3s;
	background-color: #FFF;
	border-radius: 2px;
	box-sizing: border-box;
	display: block;
	margin-bottom: -7px;
	padding: -webkit-calc(8px * (16 / 14)) -webkit-calc(14px * (16 / 14));
	padding: calc(8px * (16 / 14)) calc(14px * (16 / 14));
	transform: scale(calc(14 / 16));
	transform-origin: top left;
	transition: background-color 0.3s;
	width: -webkit-calc(16 / 14 * 100%);
	width: calc(16 / 14 * 100%);
}

.wpcf7 .wpcf7-form dl dd input::-webkit-input-placeholder,
.wpcf7 .wpcf7-form dl dd textarea::-webkit-input-placeholder {
	color: #B5B5B5;
	opacity: 1;
}

.wpcf7 .wpcf7-form dl dd input::-moz-placeholder,
.wpcf7 .wpcf7-form dl dd textarea::-moz-placeholder {
	color: #B5B5B5;
	opacity: 1;
}

.wpcf7 .wpcf7-form dl dd input:-ms-input-placeholder,
.wpcf7 .wpcf7-form dl dd textarea:-ms-input-placeholder {
	color: #B5B5B5;
	opacity: 1;
}

.wpcf7 .wpcf7-form dl dd input::-ms-input-placeholder,
.wpcf7 .wpcf7-form dl dd textarea::-ms-input-placeholder {
	color: #B5B5B5;
	opacity: 1;
}

.wpcf7 .wpcf7-form dl dd input::placeholder,
.wpcf7 .wpcf7-form dl dd textarea::placeholder {
	color: #B5B5B5;
	opacity: 1;
}

.wpcf7 .wpcf7-form dl dd input:-ms-input-placeholder,
.wpcf7 .wpcf7-form dl dd textarea:-ms-input-placeholder {
	color: #B5B5B5;
}

.wpcf7 .wpcf7-form dl dd input::-ms-input-placeholder,
.wpcf7 .wpcf7-form dl dd textarea::-ms-input-placeholder {
	color: #B5B5B5;
}

.wpcf7 .wpcf7-form dl dd input:focus,
.wpcf7 .wpcf7-form dl dd textarea:focus {
	background-color: #D9D9D9;
}

.wpcf7 .wpcf7-form dl dd textarea {
	height: -webkit-calc(230px * (16 / 14));
	height: calc(230px * (16 / 14));
	margin-bottom: -35px;
}

.wpcf7 .wpcf7-form dl dd .wpcf7-checkbox,
.wpcf7 .wpcf7-form dl dd .wpcf7-radio {
	display: block;
	margin: -2px 0;
}

.wpcf7 .wpcf7-form dl dd .wpcf7-list-item {
	display: block;
	line-height: 1.5;
	margin: 10px 0 8px;
	padding-left: 1.6em;
	position: relative;
}

.wpcf7 .wpcf7-form dl dd .wpcf7-list-item label span {
	font-size: 14px;
}

.wpcf7 .wpcf7-form dl dd .wpcf7-list-item label span:before {
	-webkit-transition: background-color 0.2s;
	-o-transition: background-color 0.2s;
	background-color: #FFF;
	border-radius: 2px;
	content: "";
	display: block;
	height: 16px;
	left: 0;
	position: absolute;
	top: 4px;
	transition: background-color 0.2s;
	width: 16px;
}

.wpcf7 .wpcf7-form dl dd .wpcf7-list-item label input {
	display: none;
}

.wpcf7 .wpcf7-form dl dd .wpcf7-list-item label input:checked + span:before {
	background-color: #040000;
}

.wpcf7 .wpcf7-form dl dd .wpcf7-radio label span:before {
	border-radius: 100%;
}

.wpcf7 .wpcf7-form dl.file {
	padding-bottom: 18px;
}

.wpcf7 .wpcf7-form dl.file #form-file {
	display: none;
}

.wpcf7 .wpcf7-form dl.file .file-message {
	font-size: 14px;
	margin: 9px auto;
}

.wpcf7 .wpcf7-form dl.file .upload {
	margin: 10px 0;
}

.wpcf7 .wpcf7-form dl.file .upload.btn {
	margin-right: 18px;
	max-width: 176px;
	width: 100%;
}

.wpcf7 .wpcf7-form dl.file #file-select {
	display: inline-block;
	font-size: 14px;
	padding-right: 0.75em;
}

.wpcf7 .wpcf7-form dl.file #file-select.js-blank {
	color: #666;
}

.wpcf7 .wpcf7-form dl.file #file-select.js-blank:before {
	content: "ファイルが選択されていません。";
}

.wpcf7 .wpcf7-form dl.file #file-select.js-blank + span {
	display: none;
}

.wpcf7 .wpcf7-form dl.file #file-select-delete {
	cursor: pointer;
	display: inline-block;
	vertical-align: middle;
}

.wpcf7 .wpcf7-form .agree {
	margin: 3.35em auto 2.1em;
	text-align: center;
}

.wpcf7 .wpcf7-form .agree .wpcf7-list-item {
	margin-left: 0;
}

.wpcf7 .wpcf7-form .agree label {
	font-size: 14px;
	line-height: 1;
}

.wpcf7 .wpcf7-form .agree a {
	-webkit-transition: color 0.3s;
	-o-transition: color 0.3s;
	color: #FFF;
	text-decoration: underline;
	transition: color 0.3s;
}

.desktop .wpcf7 .wpcf7-form .agree a:hover {
	color: #040000;
}

.wpcf7 .wpcf7-form .agree input[type="checkbox"] {
	display: none;
}

.wpcf7 .wpcf7-form .agree input[type="checkbox"] + span:before {
	-webkit-transition: background-color 0.2s;
	-o-transition: background-color 0.2s;
	background-color: #FFF;
	border-radius: 2px;
	content: "";
	display: inline-block;
	height: 18px;
	margin-right: 1em;
	position: relative;
	top: 4px;
	transition: background-color 0.2s;
	width: 18px;
}

.wpcf7 .wpcf7-form .agree input[type="checkbox"]:checked + span:before {
	background-color: #040000;
}

.wpcf7 .wpcf7-form .submit {
	margin: 30px 0 40px;
	position: relative;
	text-align: center;
}

.wpcf7 .wpcf7-form .submit > * {
	margin: 20px 10px 0;
}

.wpcf7 .wpcf7-form .wpcf7-not-valid-tip {
	font-size: 12px;
	margin-bottom: -12px;
}

.wpcf7 .wpcf7-form .wpcf7-spinner {
	display: none;
}

.wpcf7 .wpcf7-form.sent .wpcf7-response-output,
.wpcf7 .wpcf7-form.failed .wpcf7-response-output,
.wpcf7 .wpcf7-form.invalid .wpcf7-response-output {
	border-color: rgba(4, 0, 0, 0.1);
	font-size: 13px;
	line-height: 1.35;
	margin-top: 4em;
	padding: 1em 1.5em;
}

.wpcf7 .wpcf7-form.failed .wpcf7-response-output {
	border-color: #040000;
}

#loading {
	-webkit-transition: visibility 1.6s 0.1s, z-index 1.6s 0.1s;
	-o-transition: visibility 1.6s 0.1s, z-index 1.6s 0.1s;
	bottom: 0;
	left: 0;
	overflow: hidden;
	position: fixed;
	right: 0;
	top: 0;
	transition: visibility 1.6s 0.1s, z-index 1.6s 0.1s;
	z-index: 1000;
}

#loading:before,
#loading:after {
	-webkit-transition: opacity 1.6s, -webkit-transform 1.8s;
	-o-transition: opacity 1.6s, transform 1.8s;
	background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEElEQVQIW2M4ePDgfwYQAAAYHAND0iwBhgAAAABJRU5ErkJggg==);
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transition: opacity 1.6s, -webkit-transform 1.8s;
	transition: opacity 1.6s, transform 1.8s;
	transition: opacity 1.6s, transform 1.8s, -webkit-transform 1.8s;
	width: 100%;
}

#loading:after {
	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEElEQVQIW2NgAIGDBw/+BwAH0gNDL3pLRwAAAABJRU5ErkJggg==);
}

#loading .inner {
	-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;
	height: 100%;
	justify-content: center;
	width: 100%;
}

#loading .inner:before,
#loading .inner:after {
	-webkit-transition: opacity 1.6s, -webkit-transform 1.8s;
	-o-transition: opacity 1.6s, transform 1.8s;
	background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAABCAYAAAD0In+KAAAAEUlEQVQIW2M8ePDgf3t7e0YAFxoEArH05B4AAAAASUVORK5CYII=);
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transition: opacity 1.6s, -webkit-transform 1.8s;
	transition: opacity 1.6s, transform 1.8s;
	transition: opacity 1.6s, transform 1.8s, -webkit-transform 1.8s;
	width: 100%;
}

#loading .inner:after {
	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAABCAYAAAD0In+KAAAAEElEQVQIW2NkAIKDBw/+BwAH2gNE5laDywAAAABJRU5ErkJggg==);
}

#loading .inner img {
	-webkit-transition: opacity 1.2s 0.3s;
	-o-transition: opacity 1.2s 0.3s;
	position: relative;
	transition: opacity 1.2s 0.3s;
	z-index: 1;
}

#loading.loaded {
	visibility: hidden;
	z-index: -1;
}

#loading.loaded:before,
#loading.loaded:after {
	opacity: 0;
}

#loading.loaded:before {
	-webkit-transform: translateX(-100%) skewX(20deg);
	-ms-transform: translateX(-100%) skewX(20deg);
	transform: translateX(-100%) skewX(20deg);
}

#loading.loaded:after {
	-webkit-transform: translateX(100%) skewX(20deg);
	-ms-transform: translateX(100%) skewX(20deg);
	transform: translateX(100%) skewX(20deg);
}

#loading.loaded .inner:before,
#loading.loaded .inner:after {
	opacity: 0;
}

#loading.loaded .inner:before {
	-webkit-transform: translateY(-100%) skewY(20deg);
	-ms-transform: translateY(-100%) skewY(20deg);
	transform: translateY(-100%) skewY(20deg);
}

#loading.loaded .inner:after {
	-webkit-transform: translateY(100%) skewY(20deg);
	-ms-transform: translateY(100%) skewY(20deg);
	transform: translateY(100%) skewY(20deg);
}

#loading.loaded .inner img {
	opacity: 0;
}

.news-list {
	width: 100%;
}

.news-list li {
	margin: 28px auto;
}

.news-list li a {
	color: #FFF;
}

.desktop .news-list li a:hover .headline:after {
	right: 0;
}

.news-list li .date {
	display: inline-block;
	font-family: "gill-sans-nova", "Open Sans", sans-serif;
	font-size: 13px;
	letter-spacing: 0.2em;
	margin-bottom: 10px;
}

.news-list li .headline {
	border: 1px solid rgba(255, 255, 255, 0.65);
	border-left: none;
	border-right: none;
	font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", serif;
	font-size: 24px;
	letter-spacing: 0.1em;
	line-height: 1.4375;
	padding: 14px 70px 19px 0;
	position: relative;
}

.news-list li .headline:after {
	-webkit-transition: right 0.3s;
	-o-transition: right 0.3s;
	background: url("../images/arrow01.svg") no-repeat center/cover;
	content: "";
	display: inline-block;
	height: 20px;
	position: absolute;
	right: 10px;
	top: -webkit-calc(50% - 12px);
	top: calc(50% - 12px);
	transition: right 0.3s;
	width: 52px;
}

:root {
	--swiper-pagination-color: #040000;
	--swiper-pagination-bullet-inactive-color: #FFF;
	--swiper-pagination-bullet-size: 10px;
	--swiper-pagination-bullet-width: 10px;
	--swiper-pagination-bullet-height: 10px;
	--swiper-pagination-bullet-inactive-opacity: 1;
	--swiper-pagination-bullet-horizontal-gap: 10px;
}

.swiper-slide {
	cursor: url("../images/cursor_swipe01.svg") 18 25, pointer;
}

.desktop .swiper-slide a:hover {
	cursor: url("../images/cursor_swipe01.svg") 18 25, pointer;
}

#scroll {
	bottom: -161px;
	left: -webkit-calc(50% - 32px);
	left: calc(50% - 32px);
	position: absolute;
	width: 64px;
	z-index: 1;
}

#scroll .bar {
	display: block;
	height: 259px;
	left: -webkit-calc(50% - 0.5px);
	left: calc(50% - 0.5px);
	opacity: 0.65;
	overflow: hidden;
	position: relative;
	width: 1px;
}

#scroll .bar:before {
	background-color: #FFF;
	content: "";
	display: block;
	height: 100%;
	width: 100%;
}

#scroll.start .bar:before {
	-webkit-animation: scroll 2.4s infinite normal;
	-webkit-animation-delay: -1s;
	animation: scroll 2.4s infinite normal;
	animation-delay: -1s;
}

body#home #main #mv .tagline {
	-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;
	height: 100%;
	justify-content: center;
	left: 0;
	padding: 0 7.5%;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

body#home #main #mv .tagline img {
	-webkit-filter: blur(100px);
	-webkit-transition: -webkit-filter 1.6s;
	-o-transition: filter 1.6s;
	filter: blur(100px);
	left: -3px;
	position: relative;
	top: -16px;
	transition: -webkit-filter 1.6s;
	transition: filter 1.6s;
	transition: filter 1.6s, -webkit-filter 1.6s;
}

body#home #main #mv .tagline-sp {
	display: none;
}

body#home #main #mv.start .tagline img {
	-webkit-filter: blur(0);
	filter: blur(0);
}

body#home #main #mv .movie {
	overflow: hidden;
}

body#home #main #mv .info {
	display: none;
}

body#home #main #mv .info li {
	font-size: 11px;
	letter-spacing: 0.075em;
}

body#home #main #mv .info li:after {
	margin: 0 0.875em;
}

body#home #main #contents {
	margin-top: 100vh;
}

body#home #main #contents .title {
	color: #0c0b0b;
	font-family: "garamond-premier-pro-display", "a-otf-ryumin-pr6n", "Cormorant Garamond", "Noto Serif JP", serif;
	font-size: 63px;
	letter-spacing: 0.055em;
	line-height: 1;
}

body#home #main #contents .lead {
	font-family: "garamond-premier-pro-display", "a-otf-ryumin-pr6n", "Cormorant Garamond", "Noto Serif JP", serif;
	font-size: 35px;
	letter-spacing: 0.1em;
	line-height: 1.45;
}

body#home #main #contents .text {
	font-size: 15px;
	letter-spacing: 0.1em;
	line-height: 1.3334;
}

body#home #main .content .kv .img {
	display: block;
	overflow: hidden;
	position: relative;
	width: 100%;
}

body#home #main .content .kv .img:before {
	content: "";
	display: block;
	padding-top: 56.2704%;
}

body#home #main .content .inner {
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: 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;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 99px auto;
	max-width: 928px;
}

body#home #main .content .title {
	margin-bottom: 29px;
	margin-top: 4px;
}

body#home #main .content .text {
	margin-bottom: 5px;
	margin-top: 61px;
	max-width: 424px;
}

body#home #main .content .btn {
	-webkit-align-self: flex-end;
	-ms-flex-item-align: end;
	align-self: flex-end;
	margin-left: auto;
	margin-right: 1px;
}

body#home #main #vision,
body#home #main #work-flow {
	padding: 126px 6.1429% 0;
}

body#home #main #vision .kv,
body#home #main #work-flow .kv {
	margin: auto;
	max-width: 1228px;
	overflow: hidden;
}

body#home #main #vision .kv .img img {
	-o-object-position: 50% 54%;
	object-position: 50% 54%;
}

body#home #main #service {
	margin: auto;
	max-width: 1400px;
	overflow: hidden;
	padding-top: 72px;
}

body#home #main #service .kv .img:nth-child(1) {
	display: block;
	overflow: hidden;
	position: relative;
	width: 100%;
}

body#home #main #service .kv .img:nth-child(1):before {
	content: "";
	display: block;
	padding-top: 133.5295%;
}

body#home #main #service .kv .img:nth-child(2) {
	display: block;
	float: right;
	margin-bottom: 97px;
	max-width: -webkit-calc(607 / 1400 * 100%);
	max-width: calc(607 / 1400 * 100%);
	overflow: hidden;
	position: relative;
	width: 100%;
}

body#home #main #service .kv .img:nth-child(2):before {
	content: "";
	display: block;
	padding-top: 64.2505%;
}

body#home #main #works {
	padding-top: 80px;
}

body#home #main #works .inner {
	margin-top: -23px;
	position: relative;
	z-index: 1;
}

body#home #main #works .swiper-works .img a {
	display: block;
	overflow: hidden;
	position: relative;
	width: 100%;
}

body#home #main #works .swiper-works .img a:before {
	content: "";
	display: block;
	padding-top: 100%;
}

body#home #main #works .lead {
	width: 100%;
}

body#home #main .bg-group {
	background-color: #131314;
	margin-top: 169px;
	overflow: hidden;
}

body#home #main #news {
	padding-left: 6.1429%;
	padding-right: 6.1429%;
	padding-top: 60px;
}

body#home #main #news .inner {
	max-width: 948px;
}

body#home #main #news .title {
	color: #FFF;
	margin-bottom: 15px;
}

body#home #main #news .btn {
	margin-right: 8px;
	margin-top: 98px;
}

body#home #main #company,
body#home #main #faq {
	color: #FFF;
	padding: 0 3.2143%;
}

body#home #main #company .inner,
body#home #main #faq .inner {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
}

body#home #main #company .title,
body#home #main #faq .title {
	color: #FFF;
}

body#home #main #company .text,
body#home #main #faq .text {
	margin-bottom: 49px;
	margin-top: 6px;
}

body#home #main #company {
	margin: auto;
	max-width: 1400px;
	padding-top: 34px;
}

body#home #main #company .kv {
	margin: auto;
	max-width: 1310px;
	width: 100%;
}

body#home #main #company .kv .img:nth-child(1) {
	display: block;
	margin-bottom: -webkit-calc(-309 / (1400 - 90) * 100%);
	margin-bottom: calc(-309 / (1400 - 90) * 100%);
	max-width: -webkit-calc(675 / (1400 - 90) * 100%);
	max-width: calc(675 / (1400 - 90) * 100%);
	overflow: hidden;
	position: relative;
	position: relative;
	width: 100%;
	z-index: 1;
}

body#home #main #company .kv .img:nth-child(1):before {
	content: "";
	display: block;
	padding-top: 133.4075%;
}

body#home #main #company .kv .img:nth-child(2) {
	display: block;
	margin-left: auto;
	max-width: -webkit-calc(725 / (1400 - 90) * 100%);
	max-width: calc(725 / (1400 - 90) * 100%);
	overflow: hidden;
	position: relative;
	width: 100%;
}

body#home #main #company .kv .img:nth-child(2):before {
	content: "";
	display: block;
	padding-top: 74.9656%;
}

body#home #main #faq {
	padding-bottom: 70px;
}

body#home #main #faq .inner {
	padding-left: 14px;
}

#inquiry {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	-webkit-transition: opacity 0.3s;
	-o-transition: opacity 0.3s;
	box-sizing: content-box;
	margin: auto;
	max-width: 890px;
	opacity: 0;
	overflow: hidden;
	padding: 162px 6.1429% 144px;
	transition: opacity 0.3s;
	visibility: hidden;
}

html.wf-active #inquiry {
	opacity: 1;
	visibility: visible;
}

#inquiry .inner {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#inquiry .title-en {
	color: #0c0b0b;
	font-family: "garamond-premier-pro-display", "a-otf-ryumin-pr6n", "Cormorant Garamond", "Noto Serif JP", serif;
	font-size: 57px;
	letter-spacing: 0.0525em;
	line-height: 1;
	margin-bottom: 24px;
	margin-top: 25px;
}

#inquiry .lead-jp {
	font-family: "garamond-premier-pro-display", "a-otf-ryumin-pr6n", "Cormorant Garamond", "Noto Serif JP", serif;
	font-size: 22px;
	letter-spacing: 0.1em;
	line-height: 1.45;
	margin-bottom: 1px;
}

#inquiry .btn {
	margin-top: 25px;
}

body#error #contents {
	text-align: center;
}

body#error .page-title {
	padding-top: 186px;
}

body#error .page-title .title {
	color: #040000;
	font-size: 18px;
	letter-spacing: 0;
	margin-bottom: 35px;
}

body#error .content {
	margin-bottom: 64px;
}

body#error .content .status {
	font-family: "garamond-premier-pro-display", "a-otf-ryumin-pr6n", "Cormorant Garamond", "Noto Serif JP", serif;
	margin-bottom: 46px;
}

body#error .content .status p {
	color: #0c0b0b;
	font-size: 50px;
	letter-spacing: 0.05em;
	line-height: 1;
	text-indent: 0.05em;
}

body#error .content .status .code {
	font-size: 230px;
	letter-spacing: 0.1em;
	margin-bottom: 4px;
	text-indent: 0.05em;
}

body#error .content p {
	font-size: 14px;
	line-height: 2;
}

body#error .content .btn {
	margin-top: 47px;
}

body#company #contents {
	background-color: #131314;
	overflow: hidden;
	padding-bottom: 0;
	padding-top: 160px;
}

body#company #contents .content {
	color: #FFF;
	margin-bottom: 0;
}

body#company #contents .content .inner {
	max-width: none;
}

body#company #contents .content .inner section {
	margin: auto;
}

body#company #contents #greeting {
	max-width: 1228px;
}

body#company #contents #greeting h3.title {
	margin-bottom: 44px;
}

body#company #contents #greeting .text {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	margin: 0 auto;
	max-width: 423px;
}

body#company #contents #greeting .text p {
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 2.5;
	margin: 2.5em 0;
}

body#company #contents #greeting .text p.signature {
	position: relative;
	text-align: right;
}

body#company #contents #greeting .text p.signature:before {
	background-color: currentColor;
	content: "";
	display: block;
	height: 1px;
	left: 0;
	opacity: 0.6;
	position: absolute;
	top: -webkit-calc(50% + 1px);
	top: calc(50% + 1px);
	width: 100%;
}

body#company #contents #greeting .text p.signature span {
	background-color: #131314;
	display: inline-block;
	padding-left: 2.5em;
	position: relative;
}

body#company #contents #greeting .images .img {
	position: relative;
}

body#company #contents #greeting .images .img:nth-child(1) {
	margin-bottom: -webkit-calc(-71 / (1228 / 2) * 100%);
	margin-bottom: calc(-71 / (1228 / 2) * 100%);
	max-width: -webkit-calc(510 / (1228 / 2) * 100%);
	max-width: calc(510 / (1228 / 2) * 100%);
	z-index: 1;
}

body#company #contents #greeting .images .img:nth-child(2) {
	margin-left: auto;
	max-width: -webkit-calc(475 / (1228 / 2) * 100%);
	max-width: calc(475 / (1228 / 2) * 100%);
}

body#company #contents #outline {
	margin: 182px auto 156px;
	max-width: 750px;
}

body#company #contents #outline h3.title {
	margin-bottom: 56px;
}

body#company #contents #outline table.outline {
	border-color: rgba(255, 255, 255, 0.4);
}

body#company #contents #outline table.outline tr {
	border-color: rgba(255, 255, 255, 0.4);
}

body#company #contents #access {
	margin: 0 -7.0033%;
}

body#company #contents #access iframe {
	-webkit-filter: grayscale(1);
	filter: grayscale(1);
	height: 620px;
	vertical-align: top;
	width: 100%;
}

body#contact #contents {
	padding-bottom: 136px;
}

body#contact #contents .hide-placeholder-text {
	display: none;
}

body#contact #contents .required {
	font-size: 13px;
	line-height: 1.9;
	text-align: right;
}

body:not(#contact) .grecaptcha-badge {
	display: none !important;
}

body#faq #contents {
	background-color: #131314;
	overflow: hidden;
	padding-bottom: 180px;
}

body#faq #contents .page-title .title {
	color: #FFF;
}

body#faq #contents .content {
	color: #FFF;
}

body#faq.archive #contents .page-title .inner,
body#faq.archive #contents .content .inner {
	max-width: 924px;
}

body#faq .faq-list {
	width: 100%;
}

body#faq .faq-list li {
	margin: 28px auto;
}

body#faq .faq-list-num {
	display: inline-block;
	font-family: "gill-sans-nova", "Open Sans", sans-serif;
	font-size: 13px;
	letter-spacing: 0.2em;
	margin-bottom: 10px;
}

body#faq .faq-list-qa {
	border: 1px solid rgba(255, 255, 255, 0.65);
	border-left: none;
	border-right: none;
}

body#faq .faq-list-q {
	cursor: pointer;
	font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", serif;
	font-size: 24px;
	letter-spacing: 0.1em;
	line-height: 1.4375;
	padding: 14px 70px 19px 0;
	position: relative;
}

body#faq .faq-list-q:before {
	-webkit-transition: width 0.5s;
	-o-transition: width 0.5s;
	background-color: currentColor;
	bottom: -1px;
	content: "";
	display: block;
	height: 1px;
	left: 0;
	opacity: 0.6;
	position: absolute;
	transition: width 0.5s;
	width: 0;
}

body#faq .faq-list-q .toggle-plus {
	-webkit-transition: -webkit-transform 0.5s;
	-o-transition: transform 0.5s;
	color: transparent;
	display: inline-block;
	height: 30px;
	opacity: 0.6;
	position: absolute;
	right: 17px;
	top: -webkit-calc(50% - 16px);
	top: calc(50% - 16px);
	transition: -webkit-transform 0.5s;
	transition: transform 0.5s;
	transition: transform 0.5s, -webkit-transform 0.5s;
	width: 30px;
}

body#faq .faq-list-q .toggle-plus:before,
body#faq .faq-list-q .toggle-plus:after {
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	background-color: #FFF;
	content: "";
	display: block;
	height: 1px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 30px;
}

body#faq .faq-list-q .toggle-plus:after {
	-webkit-transform: translate(-50%, -50%) rotate(90deg);
	-ms-transform: translate(-50%, -50%) rotate(90deg);
	transform: translate(-50%, -50%) rotate(90deg);
}

body#faq .faq-list-q.is-active .toggle-plus {
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

body#faq .faq-list-q.is-active:before {
	width: 30px;
}

body#faq .faq-list-a {
	display: none;
	overflow: hidden;
	padding-left: 44px;
	position: relative;
}

body#faq .faq-list-a.is-open {
	display: block;
}

body#faq .faq-list .answer {
	display: inline-block;
	font-family: "garamond-premier-pro-display", "a-otf-ryumin-pr6n", "Cormorant Garamond", "Noto Serif JP", serif;
	font-size: 28px;
	left: 0;
	line-height: 1;
	position: absolute;
	top: 25px;
}

body#news #contents {
	background-color: #131314;
	overflow: hidden;
	padding-bottom: 180px;
}

body#news #contents .page-title .title {
	color: #FFF;
}

body#news #contents .content {
	color: #FFF;
}

body#news.archive #contents .page-title .inner,
body#news.archive #contents .content .inner {
	max-width: 924px;
}

body#news.single #contents .content {
	color: #FFF;
}

body#news.single #contents .content .date {
	display: inline-block;
	font-family: "gill-sans-nova", "Open Sans", sans-serif;
	font-size: 13px;
	letter-spacing: 0.2em;
}

body#news.single #contents .content .headline {
	font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", serif;
	font-size: 24px;
	letter-spacing: 0.05em;
	line-height: 1.4375;
	margin: 16px auto 38px;
}

.desktop body#news.single #contents .content .inner a:hover {
	color: #FFF;
}

body#news.single #contents .content hr {
	border-color: rgba(255, 255, 255, 0.6);
}

body#news.single #contents .content table {
	border-top-color: rgba(255, 255, 255, 0.6);
}

body#news.single #contents .content table tr {
	border-bottom-color: rgba(255, 255, 255, 0.6);
}

body#service #contents .content {
	overflow: hidden;
	padding-bottom: 38px;
	padding-top: 290px;
}

body#service #contents .content .inner {
	max-width: 1096px;
}

body#service #contents .content .description {
	padding-top: 108px;
}

body#service #contents .content .description > .title,
body#service #contents .content .description > p {
	text-align: center;
}

body#service #contents .content .description > .title:after {
	background-color: currentColor;
	content: "";
	display: block;
	height: 1px;
	margin: 14px auto;
	opacity: 0.6;
	width: 38px;
}

body#service #contents .content .description > p:not([class]) {
	line-height: 2.5715;
}

body#service .page-nav {
	margin-bottom: 50px;
}

body#service .woven-list {
	margin: 59px auto;
}

body#service .woven-list-item {
	margin: 6px auto;
	overflow: hidden;
	position: relative;
}

body#service .woven-list-item .img {
	display: block;
	overflow: hidden;
	position: relative;
	width: 100%;
}

body#service .woven-list-item .img:before {
	content: "";
	display: block;
	padding-top: 45.2555%;
}

body#service .woven-list-item .structure {
	background-color: rgba(255, 255, 255, 0.4);
	border-radius: 2px;
	text-align: center;
}

body#service .woven-list-item .structure h5 {
	font-size: 13px;
	margin: 6px auto 2px;
}

body#service .woven-list-item .text h4 {
	font-family: "garamond-premier-pro-display", "a-otf-ryumin-pr6n", "Cormorant Garamond", "Noto Serif JP", serif;
	font-size: 28px;
	letter-spacing: 0.05em;
	line-height: 1.56;
	margin-bottom: -6px;
}

body#service .woven-list-item .text p {
	position: relative;
}

body#service .material-list {
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	margin: 56px -3px;
}

body#service .material-list-item {
	padding: 3px;
	position: relative;
	width: 50%;
}

body#service .material-list-item .img {
	display: block;
	overflow: hidden;
	position: relative;
	width: 100%;
}

body#service .material-list-item .img:before {
	content: "";
	display: block;
	padding-top: 45.5046%;
}

body#service .material-list-item .caption {
	bottom: -webkit-calc(36 / 248 * 100%);
	bottom: calc(36 / 248 * 100%);
	font-size: 14px;
	position: absolute;
	text-align: center;
	width: 100%;
	z-index: 1;
}

body#service .material-list-item .caption .separate {
	margin: 0 0.25em;
}

body#service .finishing-list {
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	margin: 55px -4px;
}

body#service .finishing-list-item {
	margin-bottom: 31px;
	padding: 4px;
	width: 33.3333%;
}

body#service .finishing-list-item .img {
	display: block;
	overflow: hidden;
	position: relative;
	width: 100%;
}

body#service .finishing-list-item .img:before {
	content: "";
	display: block;
	padding-top: 75%;
}

body#service .finishing-list-item .title {
	font-family: "garamond-premier-pro-display", "a-otf-ryumin-pr6n", "Cormorant Garamond", "Noto Serif JP", serif;
	font-size: 25px;
	letter-spacing: 0.05em;
	line-height: 1.56;
	margin: 22px auto -15px;
}

body#service .swiper-finishing .swiper-pagination {
	bottom: 3px;
}

body#service .swiper-finishing .swiper-pagination-bullet {
	background-color: #C1C1C1;
	height: 9px;
	margin: 0 8px;
	width: 9px;
}

body#service .swiper-finishing .swiper-pagination-bullet-active {
	background-color: #040000;
}

body#vision #contents .page-title.kv .img img {
	-o-object-position: 50% 54%;
	object-position: 50% 54%;
}

body#vision #contents .content {
	overflow: hidden;
	padding: 0;
}

body#vision #contents .content .inner {
	max-width: 1400px;
}

body#vision #contents .content .inner section {
	margin: 210px auto;
	position: relative;
}

body#vision #contents .content .inner section:first-child {
	margin-top: 170px;
}

body#vision #contents .content .inner section .text {
	margin: 37px auto;
	position: relative;
}

body#vision #contents .content .inner section .text .title {
	font-size: 63px;
}

body#vision #contents .content .inner section .text .lead {
	font-family: "garamond-premier-pro-display", "a-otf-ryumin-pr6n", "Cormorant Garamond", "Noto Serif JP", serif;
	font-size: 35px;
	letter-spacing: 0.05em;
	line-height: 1.5143;
	margin: 38px 0 41px;
}

body#vision #contents .content .inner section .text p {
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 2.5;
}

body#vision #contents .content .inner section .images .img {
	max-width: 510px;
}

body#vision #contents .content .inner .lead.en {
	color: #FFF;
	font-family: "garamond-premier-pro-display", "a-otf-ryumin-pr6n", "Cormorant Garamond", "Noto Serif JP", serif;
	font-size: 63px;
	letter-spacing: 0.05em;
	line-height: 1.2064;
	mix-blend-mode: difference;
	position: absolute;
	z-index: 2;
}

body#vision #contents .content .inner .section-equipment {
	margin-bottom: 148px;
}

body#work-flow #contents .content {
	overflow: hidden;
	padding-bottom: 42px;
	padding-top: 245px;
}

body#work-flow #contents .content .inner {
	max-width: 1080px;
}

body#work-flow #contents .content .intro p {
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 2.5;
	text-align: center;
}

body#work-flow .flow-list {
	margin: 112px auto;
	padding-top: 75px;
	position: relative;
}

body#work-flow .flow-list:before {
	background-color: #FFF;
	bottom: 5%;
	content: "";
	display: block;
	left: 50%;
	opacity: 0.6;
	position: absolute;
	top: 0;
	width: 1px;
}

body#work-flow .flow-list-item {
	list-style: none;
	margin-bottom: 51px;
	position: relative;
}

body#work-flow .flow-list-item:nth-child(odd) .title-en {
	left: -64px;
}

body#work-flow .flow-list-item:nth-child(even) .flow-list-container {
	margin-left: auto;
}

body#work-flow .flow-list-item:nth-child(even) .title-en {
	right: -60px;
}

body#work-flow .flow-list-num {
	background-color: #C1C1C1;
	border-radius: 100%;
	color: #FFF;
	font-family: "garamond-premier-pro-display", "a-otf-ryumin-pr6n", "Cormorant Garamond", "Noto Serif JP", serif;
	font-size: 120px;
	left: -webkit-calc(50% - (270px / 2));
	left: calc(50% - (270px / 2));
	letter-spacing: 0.05em;
	line-height: 1;
	margin-top: -118px;
	padding: 74.5px;
	position: absolute;
	text-align: center;
	text-indent: 0.05em;
	width: 270px;
}

body#work-flow .flow-list-num:after {
	background-color: currentColor;
	content: "";
	display: block;
	height: 1px;
	margin: auto;
	opacity: 0.8;
	position: relative;
	top: -4px;
	width: 78px;
}

body#work-flow .flow-list-container {
	max-width: 420px;
}

body#work-flow .flow-list-container .img {
	margin-bottom: 24px;
}

body#work-flow .flow-list-container .title {
	position: relative;
	text-align: center;
	text-indent: 0.05em;
	z-index: 1;
}

body#work-flow .flow-list-container .title:after {
	background-color: currentColor;
	content: "";
	display: block;
	height: 1px;
	margin: 15px auto 31px;
	opacity: 0.6;
	width: 38px;
}

body#work-flow .flow-list-container .title-en {
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	color: #FFF;
	font-family: "garamond-premier-pro-display", "a-otf-ryumin-pr6n", "Cormorant Garamond", "Noto Serif JP", serif;
	font-size: 44px;
	letter-spacing: 0.05em;
	line-height: 1;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	writing-mode: vertical-rl;
}

body#work-flow .flow-list-container .btn,
body#work-flow .flow-list-container p {
	margin: auto;
	max-width: 340px;
}

body#work-flow .flow-list-container p {
	position: relative;
	z-index: 1;
}

body#work-flow .flow-list-container p a {
	-webkit-transition: color 0.3s;
	-o-transition: color 0.3s;
	color: #FFF;
	text-decoration: underline;
	transition: color 0.3s;
}

.desktop body#work-flow .flow-list-container p a:hover {
	color: #040000;
}

body#work-flow .flow-list-container .btn {
	margin: 21px auto;
	margin-top: 32px;
	text-align: center;
}

body#work-flow .flow-list-container .btn + .btn {
	margin-top: 21px;
}

body#work-flow .flow-list-container .btn:last-child {
	margin-bottom: 58px;
}

body#work-flow .flow-list-images {
	position: relative;
	z-index: 1;
}

body#works #contents {
	padding-bottom: 26px;
}

body#works #contents .page-title .title {
	margin-bottom: 90px;
}

body#works.archive #contents .page-title .inner,
body#works.archive #contents .content .inner {
	max-width: 900px;
}

body#works .works-list {
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	margin: 0 -6px -13px;
}

body#works .works-list li {
	padding: 6px;
	width: 33.3333%;
}

body#works .works-list li .img {
	display: block;
	overflow: hidden;
	position: relative;
	width: 100%;
}

body#works .works-list li .img:before {
	content: "";
	display: block;
	padding-top: 100%;
}

body#works .works-list li a {
	display: block;
	overflow: hidden;
	position: relative;
}

body#works .works-list li a .btn {
	-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-transform: translate(0);
	-ms-transform: translate(0);
	-webkit-transition: opacity 0.3s;
	-o-transition: opacity 0.3s;
	align-items: center;
	background-color: rgba(19, 19, 20, 0.5);
	bottom: 0;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	left: 0;
	opacity: 0;
	position: absolute;
	right: 0;
	top: 0;
	transform: translate(0);
	transition: opacity 0.3s;
	z-index: 1;
}

.desktop body#works .works-list li a:hover .btn {
	opacity: 1;
}

body#works.single #contents {
	padding-bottom: 33px;
}

body#works.single #contents .page-title {
	position: relative;
	z-index: 2;
}

body#works.single #contents .content {
	padding: 0;
}

body#works.single #contents .content .inner {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}

body#works.single #contents .content .swiper-works {
	margin-bottom: 29px;
	margin-top: -115px;
}

body#works.single #contents .content .swiper-works.disabled {
	display: none;
}

body#works.single #contents .content .swiper-works .img {
	display: block;
	overflow: hidden;
	position: relative;
	width: 100%;
}

body#works.single #contents .content .swiper-works .img:before {
	content: "";
	display: block;
	padding-top: 100%;
}

body#works.single #contents .content .swiper-pagination {
	margin-top: 22px;
	position: relative;
	z-index: 0;
}

body#works.single #contents .content .swiper-pagination-bullet {
	background-color: transparent;
	border: 1px solid var(--swiper-pagination-bullet-inactive-color);
}

body#works.single #contents .content .swiper-pagination-bullet-active {
	background-color: var(--swiper-pagination-color);
	border: none;
}

body#works.single #contents .content .part {
	font-family: "garamond-premier-pro-display", "a-otf-ryumin-pr6n", "Cormorant Garamond", "Noto Serif JP", serif;
	font-size: 45px;
	letter-spacing: 0.05em;
	line-height: 1.4375;
	margin-bottom: 28px;
}

body#works.single #contents .content .part .number {
	font-size: 32px;
}

body#works.single #contents .content .works-detail th {
	width: 30%;
}

body#works.single #contents .content .meta {
	margin-top: 31px;
	text-align: right;
}

body#works.single #contents .content .date {
	display: inline-block;
	font-family: "gill-sans-nova", "Open Sans", sans-serif;
	font-size: 13px;
	letter-spacing: 0.2em;
}

body#works.single #contents .content .date .update {
	margin-right: 0.675em;
}

body#works.single #contents .content .pagination {
	margin-top: 74px;
}

body#works.single #contents .content .pagination-list {
	-webkit-filter: invert(1);
	border-color: rgba(255, 255, 255, 0.6);
	filter: invert(1);
	opacity: 0.96;
}

@media (min-width: 351px) and (max-width: 480px) {

body#vision #contents .content .inner .lead.en {
	font-size: 11.4667vw;
}

}

@media (min-width: 376px) and (max-width: 600px) {

body#home #main #mv #scroll {
	top: -webkit-calc(60% + 20vw) !important;
	top: calc(60% + 20vw) !important;
}

}

@media (max-height: 460px), (min-width: 376px) and (max-width: 600px) and (max-height: 540px) {

body#home #main #mv #scroll {
	display: none;
}

}

@media (min-width: 481px) and (max-width: 820px) {

body#home #main #work-flow .text {
	margin-top: 20px;
}

}

@media (min-width: 481px) {

body#faq .faq-list-a {
	padding-right: 7.55%;
}

}

@media (min-width: 741px) {

.wpcf7 .wpcf7-form dl {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.wpcf7 .wpcf7-form dl dt {
	width: 25.4%;
}

.wpcf7 .wpcf7-form dl dt label {
	padding-top: 8px;
}

.wpcf7 .wpcf7-form dl dd {
	width: 74.6%;
}

body#home #main #service .kv .img:nth-child(1) {
	float: left;
	margin-top: 7px;
	max-width: -webkit-calc(680 / 1400 * 100%);
	max-width: calc(680 / 1400 * 100%);
}

body#home #main #service .inner {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	clear: right;
	margin-bottom: 90px;
	margin-left: 0;
	max-width: 444px;
	padding-left: -webkit-calc((1400 - (680 + 607)) / 1400 * 100%);
	padding-left: calc((1400 - (680 + 607)) / 1400 * 100%);
	padding-right: 6.1429%;
}

body#home #main #service .text {
	margin-bottom: 49px;
	margin-top: 15px;
	max-width: 444px;
}

body#home #main #service .btn {
	margin-right: 23px;
}

body#home #main #work-flow .inner {
	margin-top: 76px;
}

body#home #main #works .title {
	margin-bottom: 41px;
}

body#home #main #works .text {
	margin-top: 20px;
}

body#home #main #works .btn {
	margin-top: -40px;
	position: relative;
	top: -3px;
}

body#home #main #company .btn,
body#home #main #faq .btn {
	-webkit-align-self: flex-start;
	-ms-flex-item-align: start;
	align-self: flex-start;
	margin-left: 0;
}

body#home #main #company {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
}

body#home #main #company .kv {
	-webkit-box-ordinal-group: 3;
	-webkit-order: 2;
	-ms-flex-order: 2;
	margin-bottom: -webkit-calc(-194 / (1400 - 90) * 100%);
	margin-bottom: calc(-194 / (1400 - 90) * 100%);
	order: 2;
}

body#home #main #company .inner {
	margin-bottom: -webkit-calc(-399 / (1400 - 90) * 100%);
	margin-bottom: calc(-399 / (1400 - 90) * 100%);
	margin-left: -webkit-calc((675 + 118) / (1400 - 90) * 100%);
	margin-left: calc((675 + 118) / (1400 - 90) * 100%);
	position: relative;
	z-index: 2;
}

body#home #main #company .btn {
	margin-left: 2px;
}

body#service .woven-list-item .text,
body#service .woven-list-item .structure {
	position: absolute;
}

body#service .woven-list-item .structure {
	bottom: -webkit-calc(48 / 496 * 100%);
	bottom: calc(48 / 496 * 100%);
	padding: 4px -webkit-calc(21 / 1096 * 100%);
	padding: 4px calc(21 / 1096 * 100%);
	right: -webkit-calc(47 / 1096 * 100%);
	right: calc(47 / 1096 * 100%);
	width: -webkit-calc(263 / 1096 * 100%);
	width: calc(263 / 1096 * 100%);
}

body#service .woven-list-item .text {
	left: -webkit-calc(48 / 1096 * 100%);
	left: calc(48 / 1096 * 100%);
	max-width: -webkit-calc(300 / 1096 * 100%);
	max-width: calc(300 / 1096 * 100%);
	top: -webkit-calc(45 / 496 * 100%);
	top: calc(45 / 496 * 100%);
}

body#service .woven-list-item .text h4 {
	width: 200%;
}

body#service .finishing-list-item .text p {
	padding-right: 1em;
}

body#work-flow .flow-list-item:nth-child(odd) {
	padding-right: -webkit-calc(50% + (270px / 4));
	padding-right: calc(50% + (270px / 4));
}

body#work-flow .flow-list-item:nth-child(even) {
	padding-left: -webkit-calc(50% + (270px / 4));
	padding-left: calc(50% + (270px / 4));
}

body#work-flow .flow-list-item:last-of-type {
	margin-top: -23px;
}

}

@media (min-width: 741px) and (max-width: 820px) {

body#home #main #work-flow .btn {
	margin-top: -90px;
	position: relative;
	top: -3px;
}

}

@media (min-width: 741px) and (max-width: 960px) {

body#company #contents #greeting .text {
	padding-top: 8%;
}

body#service .woven-list {
	margin: 59px -7%;
}

body#service .woven-list-item .text p {
	font-size: 13px !important;
	line-height: 1.75 !important;
}

body#service .material-list {
	margin: 56px -webkit-calc(-7% - 3px);
	margin: 56px calc(-7% - 3px);
}

body#service .material-list-item .img:before {
	padding-top: 65%;
}

}

@media (min-width: 821px) {

body#home #main #work-flow .text {
	min-height: 100px;
}

}

@media (min-width: 961px) and (min-height: 721px) {

#header .global {
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	height: 100vh;
	justify-content: center;
	left: 32.5px;
	padding-top: 21px;
	top: 0;
	writing-mode: vertical-rl;
}

#header .global .menu {
	-webkit-transition: opacity 0.3s;
	-o-transition: opacity 0.3s;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	opacity: 0;
	transition: opacity 0.3s;
	visibility: hidden;
}

html.wf-active #header .global .menu {
	opacity: 1;
	visibility: visible;
}

#header .global .menu li {
	font-family: "gill-sans-nova", "Open Sans", sans-serif;
	font-size: 13px;
	letter-spacing: 0.2em;
}

#header .global .menu li:not(:first-child) {
	margin-top: 12.5px;
}

#header .global .menu li a {
	display: inline-block;
	line-height: 1;
	position: relative;
}

#header .global .menu li a:before {
	-webkit-transition: opacity 0.5s;
	-o-transition: opacity 0.5s;
	background-color: #FFF;
	bottom: -2px;
	content: "";
	left: -3px;
	opacity: 0;
	position: absolute;
	right: -1.5px;
	top: -3px;
	transition: opacity 0.5s;
}

.desktop #header .global .menu li a:hover:before {
	opacity: 0.1;
}

#header .global .menu li.current a:before {
	opacity: 0.4;
}

}

@media (min-width: 961px) {

body#home #main #vision .inner,
body#home #main #work-flow .inner {
	padding-left: 14px;
}

body#home #main #works .inner {
	padding-left: 14px;
}

body#home #main #news .inner {
	padding-left: 24px;
}

body#company #contents #greeting {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-webkit-flex-direction: row-reverse;
	-ms-flex-direction: row-reverse;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-direction: row-reverse;
}

body#company #contents #greeting > * {
	width: 50%;
}

body#company #contents #greeting .text {
	padding: 8% 0 0 4.8%;
}

body#company #contents #greeting .images {
	margin-top: -4%;
}

body#faq.archive #contents .page-title .inner,
body#faq.archive #contents .content .inner {
	left: 12px;
	position: relative;
}

body#news.archive #contents .page-title .inner,
body#news.archive #contents .content .inner {
	left: 12px;
	position: relative;
}

}

@media (min-width: 1081px) {

body#vision #contents .content .inner section {
	-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;
}

body#vision #contents .content .inner section:nth-child(odd) {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-webkit-flex-direction: row-reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}

body#vision #contents .content .inner section .images .img {
	width: 36.42857vw;
}

body#vision #contents .content .inner .lead.en {
	right: 46.5%;
	top: 23.25%;
}

body#vision #contents .content .inner .section-vision .text {
	right: -6.5%;
}

body#vision #contents .content .inner .section-slogan {
	margin-bottom: -25px;
}

body#vision #contents .content .inner .section-slogan .text {
	margin-right: 0;
	right: -3.5%;
}

body#vision #contents .content .inner .section-slogan .lead.en {
	right: 69.75%;
}

body#vision #contents .content .inner .section-equipment .text {
	right: -2.75%;
}

body#vision #contents .content .inner .section-equipment .lead.en {
	right: 52.55%;
}

}

@media (min-width: 1081px) and (max-width: 1280px) {

body#vision #contents .content .inner .lead.en {
	font-size: 5.125vw;
	right: 49%;
}

body#vision #contents .content .inner .section-slogan .text {
	margin-left: 0;
	margin-right: auto;
	right: 0;
}

body#vision #contents .content .inner .section-slogan .lead.en {
	right: 28%;
}

body#vision #contents .content .inner .section-equipment .lead.en {
	right: 55.5%;
}

}

@media (max-width: 1280px) {

body#home #main #faq .inner {
	padding-left: 6.1429%;
}

}

@media (max-width: 1080px) {

body#vision #contents .content .inner {
	max-width: 720px;
}

body#vision #contents .content .inner section .text {
	margin-bottom: 70px;
	max-width: 680px;
}

body#vision #contents .content .inner section .images {
	padding-right: 13.3334%;
	position: relative;
}

body#vision #contents .content .inner .lead.en {
	right: 1.6%;
	top: 14.25%;
}

}

@media (max-width: 960px), (max-height: 720px) {

#switch-global:checked ~ .btn-menu > span:before {
	-webkit-transform: rotate(-25deg);
	-ms-transform: rotate(-25deg);
	transform: rotate(-25deg);
}

#switch-global:checked ~ .btn-menu > span:after {
	-webkit-transform: rotate(25deg);
	-ms-transform: rotate(25deg);
	transform: rotate(25deg);
}

#switch-global:checked ~ .global {
	-webkit-transition: opacity 0.3s, visibility 0.1s;
	-o-transition: opacity 0.3s, visibility 0.1s;
	opacity: 1;
	transition: opacity 0.3s, visibility 0.1s;
	visibility: visible;
}

.btn-menu {
	display: block;
}

#header .info {
	right: 96px;
	top: 27px;
}

#header .global {
	-webkit-transition: opacity 0.3s, visibility 0.3s 0.1s;
	-o-transition: opacity 0.3s, visibility 0.3s 0.1s;
	background-color: rgba(19, 19, 20, 0.9);
	height: 100%;
	left: 0;
	opacity: 0;
	overflow-y: auto;
	position: fixed;
	top: 0;
	transition: opacity 0.3s, visibility 0.3s 0.1s;
	visibility: hidden;
	width: 100%;
	z-index: 11;
}

#header .global .menu {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	-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;
	flex-direction: column;
	height: 100%;
	justify-content: center;
	min-height: 660px;
}

#header .global .menu li {
	font-family: "garamond-premier-pro-display", "a-otf-ryumin-pr6n", "Cormorant Garamond", "Noto Serif JP", serif;
	font-size: 40px;
	letter-spacing: 0.049em;
	line-height: 1;
}

#header .global .menu li:not(:first-child) {
	margin-top: 30px;
}

}

@media (max-width: 960px) {

#header .info {
	display: none;
}

.news-list li .headline {
	font-size: 20px;
}

body#home #main #mv .info {
	bottom: 22px;
	color: #FFF;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	opacity: 0.75;
	position: absolute;
	width: 100%;
	z-index: 1;
}

body#home #main #mv #scroll {
	bottom: auto;
	top: 77.5%;
}

body#home #main #mv #scroll .bar {
	height: 10vh;
}

body#home #main #contents .title {
	font-size: 54px;
}

body#home #main #contents .lead {
	font-size: 29px;
}

body#home #main #contents .text {
	font-size: 14px;
	line-height: 1.3572;
}

body#home #main .content .inner {
	margin: 69px auto;
}

body#home #main .content .text {
	margin-top: 41px;
}

body#home #main #vision,
body#home #main #work-flow {
	padding-left: 0;
	padding-right: 0;
}

body#home #main #vision .kv,
body#home #main #work-flow .kv {
	padding-left: 6.1429%;
}

body#home #main #vision .inner,
body#home #main #work-flow .inner {
	padding-left: 6.1429%;
	padding-right: 6.1429%;
}

body#home #main #service .kv .img:nth-child(2) {
	margin-bottom: 67px;
}

body#home #main #work-flow {
	padding-top: 43px;
}

body#home #main #works .inner {
	padding-left: 6.1429%;
	padding-right: 6.1429%;
}

body#home #main #news .btn {
	margin-top: 60px;
}

#inquiry .inner {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	flex-direction: column;
	justify-content: center;
	text-align: center;
}

#inquiry .title-en {
	font-size: 54px;
}

body#company #contents #greeting {
	padding-top: 11px;
}

body#company #contents #greeting h3.title {
	margin-bottom: 30px;
}

body#company #contents #greeting .text {
	margin: 0 auto 115px;
}

body#faq .faq-list-q {
	font-size: 20px;
}

body#faq .faq-list-q .toggle-plus {
	width: 25px;
}

body#faq .faq-list-q .toggle-plus:before,
body#faq .faq-list-q .toggle-plus:after {
	width: 25px;
}

body#faq .faq-list-a {
	padding-left: 35px;
}

body#faq .faq-list .answer {
	font-size: 24px;
	top: 28px;
}

body#service .woven-list-item .structure h5 {
	font-size: 12px;
}

body#service .woven-list-item .text h4 {
	font-size: 25px;
}

body#service .finishing-list-item {
	width: 50%;
}

body#work-flow #contents .content .intro p {
	font-size: 15px;
}

}

@media (max-width: 960px) and (orientation: portrait) {

body#home #main #mv .tagline-pc {
	display: none;
}

body#home #main #mv .tagline-sp {
	display: inline-block;
	max-width: 200px;
	min-width: 127px;
	width: 33vw;
}

}

@media (max-width: 820px) {

body#home #main #work-flow .inner {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
}

}

@media (max-width: 740px) {

body:not(#home):not(#error) .page-title,
body:not(#home):not(#error) .content,
body#error .content,
body#vision #contents .content .inner section .text,
body#works.single #contents .content .inner {
	padding-left: 8.2667%;
	padding-right: 8.2667%;
}

.sp {
	display: inherit;
}

.pc {
	display: none;
}

.btn-menu {
	height: 59px;
	line-height: 59px;
	top: 0;
	width: 80px;
}

.btn-menu > span:before,
.btn-menu > span:after {
	left: -webkit-calc(50% - 23.5px);
	left: calc(50% - 23.5px);
	width: 47px;
}

.btn-menu span:before {
	-webkit-transform: translateY(-4.5px);
	-ms-transform: translateY(-4.5px);
	transform: translateY(-4.5px);
}

.btn-menu span:after {
	-webkit-transform: translateY(4.5px);
	-ms-transform: translateY(4.5px);
	transform: translateY(4.5px);
}

.info {
	padding: 0 12.5%;
}

#wrapper .info li:after {
	display: none;
}

#wrapper .info li:first-child:after {
	display: inline-block;
}

#header .logo {
	left: 21px;
	top: 24px;
	width: 102px;
}

#header .global .menu {
	min-height: 560px;
}

#header .global .menu li {
	font-size: 31px;
}

#header .global .menu li:not(:first-child) {
	margin-top: 29px;
}

body:not(#home):not(#error) .content h3.title {
	font-size: 25px;
}

body:not(#home):not(#error) .content h3:not([class]) {
	font-size: 22px;
	margin-top: 71px;
}

body:not(#home):not(#error) .content h3:not([class]) + ol:not([class]),
body:not(#home):not(#error) .content h3:not([class]) + ul:not([class]),
body:not(#home):not(#error) .content h4:not([class]) + ol:not([class]),
body:not(#home):not(#error) .content h4:not([class]) + ul:not([class]) {
	margin: 29px auto;
}

body:not(#home):not(#error) .content ul:not([class]) > li,
body:not(#home):not(#error) .content ol:not([class]) > li {
	font-size: 13px;
	line-height: 1.6154;
	margin: 10px auto;
}

body:not(#home):not(#error) .content ul:not([class]) + h3:not([class]),
body:not(#home):not(#error) .content ol:not([class]) + h3:not([class]) {
	margin-top: 73.5px;
}

body:not(#home):not(#error) .content li > ul:not([class]),
body:not(#home):not(#error) .content li > ol:not([class]) {
	margin: 29px auto -2px;
}

body:not(#home):not(#error) .content table tr > * {
	font-size: 13px;
	line-height: 1.6154;
	padding-bottom: 23px;
	padding-top: 20px;
}

body:not(#home):not(#error) .content table tr th {
	padding-right: 1em;
	width: 31%;
}

body:not(#home):not(#error) .content p:not([class]) {
	font-size: 13px;
	line-height: 2;
}

body:not(#home):not(#error) .content p.post-img {
	margin: 44px auto;
}

.page-title .title {
	font-size: 38px;
}

.page-title:not(.kv) {
	padding-top: 135px;
}

.page-title:not(.kv) .title {
	margin-bottom: 86px;
}

.page-title.kv #scroll {
	bottom: -119px;
}

.page-title.kv .title {
	font-size: 45px;
	margin-top: 12px;
}

.page-title.kv .img {
	bottom: -webkit-calc(64 / 600 * 100%);
	bottom: calc(64 / 600 * 100%);
	left: -webkit-calc(25 / 375 * 100%);
	left: calc(25 / 375 * 100%);
	right: -webkit-calc(25 / 375 * 100%);
	right: calc(25 / 375 * 100%);
	top: -webkit-calc(75 / 600 * 100%);
	top: calc(75 / 600 * 100%);
}

.content .notice {
	font-size: 13px;
	margin: 38px auto;
	padding: 8px 18px 9px;
}

.page-nav-list li {
	font-size: 14px;
}

.page-nav-list li:not(:last-child):after {
	margin: 0 1.8em;
}

.pagination {
	margin-top: 51px;
}

.pagination ul.page-numbers {
	margin: -6px;
}

.pagination ul.page-numbers li {
	margin: 6px;
}

.pagination ul.page-numbers .page-numbers {
	font-size: 12px;
	height: 34px;
	line-height: 31px;
	width: 34px;
}

.single .pagination {
	margin-top: 41px;
}

.single .pagination ul {
	padding-bottom: 19px;
	padding-top: 40px;
}

.single .pagination ul li {
	height: 32px;
}

.single .pagination ul .prev a,
.single .pagination ul .next a {
	background-image: url("../images/arrow01_sp.svg");
	height: 10px;
	width: 26px;
}

.single .pagination ul .index a {
	height: 32px;
	width: 32px;
}

.btn.circle.big > * {
	height: 171px;
	line-height: 167px;
	width: 280px;
}

.wpcf7 .wpcf7-form {
	margin-top: 13px;
}

.wpcf7 .wpcf7-form dl {
	padding: 3px 0 13px;
}

.wpcf7 .wpcf7-form dl dt label {
	font-size: 13px;
	margin-bottom: 6px;
}

.wpcf7 .wpcf7-form dl dd input,
.wpcf7 .wpcf7-form dl dd textarea {
	-webkit-transform: scale(-webkit-calc(13 / 16));
	-ms-transform: scale(calc(13 / 16));
	margin-bottom: -6.75px;
	padding: -webkit-calc(6px * (16 / 13)) -webkit-calc(14px * (16 / 13));
	padding: calc(6px * (16 / 13)) calc(14px * (16 / 13));
	transform: scale(calc(13 / 16));
	width: -webkit-calc(16 / 13 * 100%);
	width: calc(16 / 13 * 100%);
}

.wpcf7 .wpcf7-form dl dd textarea {
	height: -webkit-calc(228px * (16 / 13));
	height: calc(228px * (16 / 13));
	margin-bottom: -50px;
}

.wpcf7 .wpcf7-form dl dd .wpcf7-checkbox,
.wpcf7 .wpcf7-form dl dd .wpcf7-radio {
	margin: -8px 0;
}

.wpcf7 .wpcf7-form dl dd .wpcf7-list-item {
	line-height: 1.35;
}

.wpcf7 .wpcf7-form dl dd .wpcf7-list-item label span {
	font-size: 13px;
}

.wpcf7 .wpcf7-form dl dd .wpcf7-list-item label span:before {
	top: 3px;
}

.wpcf7 .wpcf7-form dl.file {
	padding-bottom: 17.5px;
}

.wpcf7 .wpcf7-form dl.file .file-message {
	font-size: 13px;
	line-height: 2;
	margin: 5px auto;
}

.wpcf7 .wpcf7-form dl.file .upload {
	margin: 12px 0 2.5px;
}

.wpcf7 .wpcf7-form dl.file #file-select {
	font-size: 13px;
}

.wpcf7 .wpcf7-form .agree {
	margin: 1.75em auto 0.75em;
}

.wpcf7 .wpcf7-form .agree label {
	font-size: 13px;
}

.wpcf7 .wpcf7-form .submit {
	margin: 20px 0 40px;
}

.wpcf7 .wpcf7-form .wpcf7-not-valid-tip {
	font-size: 11px;
	margin-bottom: -11px;
}

body#home #main .content .inner {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	margin: 49px auto;
}

body#home #main .content .title {
	margin-bottom: 20px;
}

body#home #main .content .text {
	margin-bottom: 20px;
	margin-top: 20px;
}

body#home #main #vision,
body#home #main #work-flow {
	padding-top: 101px;
}

body#home #main #service .kv {
	padding-right: 6.1429%;
}

body#home #main #service .kv .img:nth-child(1) {
	display: block;
	overflow: hidden;
	position: relative;
	width: 100%;
}

body#home #main #service .kv .img:nth-child(1):before {
	content: "";
	display: block;
	padding-top: 56.2704%;
}

body#home #main #service .kv .img:nth-child(2) {
	display: none;
}

body#home #main #service .inner {
	padding-left: 6.1429%;
	padding-right: 6.1429%;
}

body#home #main .bg-group {
	margin-top: 129px;
}

body#home #main #news .btn {
	margin-top: 30px;
}

body#home #main #company,
body#home #main #faq {
	padding-left: 6%;
	padding-right: 7.4667%;
}

body#home #main #company .inner,
body#home #main #faq .inner {
	margin-top: 37px;
	padding-left: 7.7334%;
	padding-right: -webkit-calc(7.7334% - 15px);
	padding-right: calc(7.7334% - 15px);
}

body#home #main #company .text,
body#home #main #faq .text {
	margin-bottom: 21px;
	margin-top: 5px;
}

body#home #main #company {
	padding-top: 24px;
}

body#home #main #company .kv {
	margin-bottom: 56px;
}

body#home #main #company .kv .img:nth-child(1) {
	margin-bottom: -webkit-calc(-74 / (375 - 50.5) * 100%);
	margin-bottom: calc(-74 / (375 - 50.5) * 100%);
	max-width: -webkit-calc(207.5 / (375 - 50.5) * 100%);
	max-width: calc(207.5 / (375 - 50.5) * 100%);
}

body#home #main #company .kv .img:nth-child(2) {
	max-width: -webkit-calc(277 / (375 - 50.5) * 100%);
	max-width: calc(277 / (375 - 50.5) * 100%);
}

body#home #main #company .title {
	margin-bottom: 2px;
}

body#home #main #company .text {
	margin-bottom: 24px;
	margin-top: 0;
}

#inquiry .title-en {
	font-size: 44px;
}

body#error .page-title {
	padding-top: 137px;
}

body#error .page-title .title {
	font-size: 16px;
	margin-bottom: 31px;
}

body#error .content .status {
	margin-bottom: 34px;
}

body#error .content .status p {
	font-size: 36px;
}

body#error .content .status .code {
	font-size: 180px;
	margin-bottom: 5px;
}

body#error .content p {
	font-size: 13px;
}

body#error .content .btn {
	margin-top: 44px;
}

body#company #contents {
	padding-bottom: 0;
}

body#company #contents #greeting .text p {
	font-size: 14px;
	margin: 2.475em 0;
}

body#company #contents #greeting .text p.signature span {
	padding-right: 0.5em;
}

body#company #contents #outline {
	margin: 150px auto 127px;
}

body#company #contents #outline h3.title {
	margin-bottom: 44px;
}

body#company #contents #access {
	margin: 0 -9.9042%;
}

body#company #contents #access iframe {
	height: 580px;
}

body#contact #contents {
	padding-bottom: 116px;
}

body#faq #contents {
	padding-bottom: 119px;
}

body#faq #contents .page-title .title {
	margin-bottom: 70px;
}

body#faq .faq-list-q.is-active:before {
	width: 17px;
}

body#news #contents {
	padding-bottom: 119px;
}

body#news #contents .page-title .title {
	margin-bottom: 70px;
}

body#news.single #contents .content .date {
	font-size: 11px;
}

body#news.single #contents .content .headline {
	font-size: 22px;
	margin: 12px auto 28px;
}

body#service #contents .content {
	margin-bottom: 24px;
	padding-bottom: 0;
	padding-top: 204px;
}

body#service #contents .content .inner {
	max-width: 480px;
}

body#service #contents .content .description {
	padding-top: 82px;
}

body#service #contents .content .description > .title {
	font-size: 30px;
}

body#service #contents .content .description > .title:after {
	margin: 19px auto 30px;
}

body#service #contents .content .description > p:not([class]) {
	line-height: 2.1539;
	text-align: left;
}

body#service .page-nav {
	margin-bottom: 24px;
}

body#service .woven-list-item {
	margin: 8px auto;
	padding-bottom: 14px;
}

body#service .woven-list-item .img {
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	height: 100%;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 980px;
}

body#service .woven-list-item .img:before {
	padding-top: 100%;
}

body#service .woven-list-item .img img {
	-o-object-position: 50% -340px;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	object-position: 50% -340px;
	top: 0;
	transform: translateX(-50%);
}

body#service .woven-list-item .structure {
	margin: auto;
	margin-bottom: 33px;
	margin-top: 233px;
	padding: 3px 17px;
	position: relative;
	width: 210px;
}

body#service .woven-list-item .structure + .text {
	margin-top: 0;
}

body#service .woven-list-item .structure h5 {
	margin: 5px auto -1px;
}

body#service .woven-list-item .text {
	margin-top: 246px;
	padding-left: 8.2667%;
	padding-right: 8.2667%;
}

body#service .woven-list-item .text h4 {
	position: absolute;
	top: 39px;
}

body#service .material-list-item {
	width: 100%;
}

body#service .material-list-item .caption {
	bottom: 33px;
	font-size: 13px;
}

body#service .finishing-list-item {
	width: 100%;
}

body#vision #contents .page-title.kv .img img {
	-o-object-position: 0 50%;
	object-position: 0 50%;
}

body#vision #contents .content {
	margin-bottom: 0;
	padding: 0;
}

body#vision #contents .content .inner section {
	margin: 151px auto;
}

body#vision #contents .content .inner section:first-child {
	margin-top: 163px;
}

body#vision #contents .content .inner section:last-child {
	margin-bottom: 0;
}

body#vision #contents .content .inner section .text {
	margin: 42px auto;
}

body#vision #contents .content .inner section .text .title {
	font-size: 53px;
	width: 110%;
}

body#vision #contents .content .inner section .text .lead {
	font-size: 30px;
	line-height: 1.56;
	margin: 28px 0 32px;
	width: 110%;
}

body#vision #contents .content .inner section .text p {
	font-size: 15px;
	width: 110%;
}

body#work-flow #contents .page-title.kv .img img {
	-o-object-position: 0 50%;
	-webkit-transform: scale(1.36) translateY(-1%);
	-ms-transform: scale(1.36) translateY(-1%);
	-webkit-transform-origin: left center;
	-ms-transform-origin: left center;
	object-position: 0 50%;
	transform: scale(1.36) translateY(-1%);
	transform-origin: left center;
}

body#work-flow #contents .content {
	margin-bottom: 24px;
	padding-bottom: 22px;
	padding-top: 165px;
}

body#work-flow #contents .content h3.title {
	font-size: 30px;
}

body#work-flow #contents .content {
	padding-left: -webkit-calc(9.3334% / 2);
	padding-left: calc(9.3334% / 2);
	padding-right: -webkit-calc(9.3334% / 2);
	padding-right: calc(9.3334% / 2);
}

body#work-flow #contents .content .intro p {
	font-size: 14px;
	line-height: 2.5;
}

body#work-flow .flow-list {
	margin: 74px auto;
	padding-top: 260px;
}

body#work-flow .flow-list-item {
	background-color: #C1C1C1;
	margin-bottom: 261px;
	padding: 198px 0 50px;
}

body#work-flow .flow-list-item:nth-child(odd) .title-en {
	left: 2px;
}

body#work-flow .flow-list-item:nth-child(even) .title-en {
	right: 6px;
}

body#work-flow .flow-list-item:last-of-type {
	margin-bottom: 0;
	padding-bottom: 0;
}

body#work-flow .flow-list-num {
	font-size: 105px;
	left: -webkit-calc(50% - (186px / 2));
	left: calc(50% - (186px / 2));
	padding: 40px;
	top: 148px;
	width: 186px;
}

body#work-flow .flow-list-container {
	margin-left: auto;
	margin-right: auto;
}

body#work-flow .flow-list-container .title-en {
	font-size: 32px;
	top: -69px;
}

body#work-flow .flow-list-container .btn {
	margin-top: 31px;
}

body#work-flow .flow-list-container .btn:last-child {
	margin-bottom: 33px;
}

body#works #contents {
	padding-bottom: 27px;
}

body#works #contents .page-title .title {
	margin-bottom: 74px;
}

body#works .works-list {
	margin: 0 -1.5px -7px;
}

body#works .works-list li {
	padding: 1.5px;
	width: 50%;
}

body#works.single #contents {
	padding-bottom: 27px;
}

body#works.single #contents .content .swiper-works {
	margin-bottom: 48px;
	margin-top: -39px;
}

body#works.single #contents .content .part {
	font-size: 35px;
	margin-bottom: 30px;
}

body#works.single #contents .content .part .number {
	font-size: 26px;
}

body#works.single #contents .content .works-detail th {
	padding-right: 1em;
	width: 40.5%;
}

body#works.single #contents .content .meta {
	margin-top: 28px;
}

body#works.single #contents .content .date {
	font-size: 11px;
}

body#works.single #contents .content .pagination {
	margin-top: 48px;
}

}

@media (max-width: 480px) {

.info {
	padding: 0 2.5%;
}

#footer {
	padding-bottom: 218px;
	padding-top: 180px;
}

#footer .logo {
	margin-bottom: 20px;
}

#footer .logo img {
	width: 103px;
}

#footer .info li {
	font-size: 11px;
	letter-spacing: 0.075em;
}

#footer .sns li {
	margin: 0 8px;
}

#footer .sns li img {
	width: 28px;
}

#copyright {
	margin: 14px 0 20px;
}

.btn.circle > * {
	height: 100px;
	line-height: 98px;
	padding-left: 2px;
	width: 160px;
}

.btn.circle .plus:before,
.btn.circle .plus:after {
	left: 51%;
	top: 51%;
}

.news-list li {
	margin: 18px auto;
}

.news-list li .date {
	margin-bottom: 2.5px;
}

.news-list li .headline {
	font-size: 16px;
	padding: 4px 38px 8px 0;
}

.news-list li .headline:after {
	background-image: url("../images/arrow01_sp.svg");
	height: 10px;
	right: 4px;
	top: -webkit-calc(50% - 6.5px);
	top: calc(50% - 6.5px);
	width: 26px;
}

body#home #main #contents .title {
	font-size: 45px;
}

body#home #main #contents .lead {
	font-size: 22.5px;
	line-height: 1.475;
}

body#home #main .content .inner {
	margin: 29px auto;
}

body#home #main .content .title {
	margin-bottom: 6px;
}

body#home #main .content .text {
	margin-top: 6px;
}

body#home #main .content .btn {
	margin-right: 4px;
}

body#home #main #vision,
body#home #main #work-flow {
	padding-top: 76px;
}

body#home #main #vision .kv,
body#home #main #work-flow .kv {
	padding-left: 7.7334%;
}

body#home #main #vision .kv .img,
body#home #main #work-flow .kv .img {
	width: 177.7457%;
}

body#home #main #vision .inner,
body#home #main #work-flow .inner {
	padding-left: -webkit-calc(7.7334% + 14px);
	padding-left: calc(7.7334% + 14px);
	padding-right: -webkit-calc(7.7334% + 8px);
	padding-right: calc(7.7334% + 8px);
}

body#home #main #vision .kv .img img {
	-o-object-position: 50% 55%;
	object-position: 50% 55%;
}

body#home #main #vision .text {
	margin-bottom: 26px;
}

body#home #main #service {
	padding-top: 52px;
}

body#home #main #service .kv {
	padding-right: 7.7334%;
}

body#home #main #service .kv .img:nth-child(1) {
	display: block;
	overflow: hidden;
	position: relative;
	width: 100%;
}

body#home #main #service .kv .img:nth-child(1):before {
	content: "";
	display: block;
	padding-top: 100%;
}

body#home #main #service .inner {
	padding-left: -webkit-calc(7.7334% + 14px);
	padding-left: calc(7.7334% + 14px);
	padding-right: -webkit-calc(7.7334% + 8px);
	padding-right: calc(7.7334% + 8px);
}

body#home #main #work-flow {
	padding-top: 59px;
}

body#home #main #work-flow .kv .img {
	width: 140.467%;
}

body#home #main #work-flow .kv .img:before {
	padding-top: 71.1935%;
}

body#home #main #work-flow .kv .img img {
	left: 42.65%;
}

body#home #main #works {
	padding-top: 68px;
}

body#home #main #works .inner {
	margin-top: 32px;
	padding-left: -webkit-calc(7.7334% + 14px);
	padding-left: calc(7.7334% + 14px);
	padding-right: -webkit-calc(7.7334% + 8px);
	padding-right: calc(7.7334% + 8px);
}

body#home #main #news {
	padding-left: -webkit-calc(7.7334% + 12px);
	padding-left: calc(7.7334% + 12px);
	padding-right: -webkit-calc(7.7334% + 12px);
	padding-right: calc(7.7334% + 12px);
	padding-top: 131px;
}

body#home #main #news .title {
	margin-bottom: -1px;
}

body#home #main #news .btn {
	margin-right: 1px;
	margin-top: 15px;
}

body#home #main #faq {
	padding-bottom: 144px;
}

#inquiry {
	padding: 165px 3% 170px;
}

#inquiry .title-en {
	font-size: 34px;
	margin-bottom: 11px;
}

#inquiry .lead-jp {
	font-size: 19.25px;
}

body#company #contents #greeting .images {
	margin: 0 -9.9042%;
}

body#faq #contents .content p:not([class]) {
	line-height: 1.6154;
	margin: 10px 0 8px;
}

body#faq .faq-list li {
	margin: 18px auto;
}

body#faq .faq-list-num {
	margin-bottom: 2.5px;
}

body#faq .faq-list-q {
	font-size: 16px;
	padding: 4px 38px 8px 0;
}

body#faq .faq-list-q .toggle-plus {
	right: 8px;
	width: 20px;
}

body#faq .faq-list-q .toggle-plus:before,
body#faq .faq-list-q .toggle-plus:after {
	width: 20px;
}

body#faq .faq-list-a {
	padding-left: 29px;
}

body#faq .faq-list .answer {
	font-size: 21px;
	top: 11px;
}

body#service .woven-list {
	margin: 52px -9.9042%;
}

body#service .woven-list-item .img {
	width: 921px;
}

body#service .woven-list-item .img img {
	-o-object-position: 50% -306px;
	object-position: 50% -306px;
}

body#service .woven-list-item .text {
	margin-top: 264px;
}

body#service .material-list {
	margin: 50px -webkit-calc(-9.9042% - 4px) 46px;
	margin: 50px calc(-9.9042% - 4px) 46px;
}

body#service .material-list-item {
	padding: 4px;
}

body#service .material-list-item .img {
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	left: 50%;
	transform: translateX(-50%);
	width: 479px;
}

body#service .material-list-item .img:before {
	padding-top: 41.3362%;
}

body#service .material-list-item .img img {
	-o-object-position: 50% -140px;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	object-position: 50% -140px;
	top: 0;
	transform: translateX(-50%);
}

body#service .finishing-list {
	margin: 49px -webkit-calc(-9.9042% - 4px);
	margin: 49px calc(-9.9042% - 4px);
}

body#service .finishing-list-item {
	margin-bottom: 17px;
}

body#service .finishing-list-item .text {
	padding-left: 8.2667%;
	padding-right: 8.2667%;
}

body#service .finishing-list-item .title {
	font-size: 22px;
}

body#vision #contents .content .inner section .text .title {
	font-size: 45px;
}

body#vision #contents .content .inner section .text .lead {
	font-size: 25px;
}

body#vision #contents .content .inner section .text p {
	font-size: 14px;
}

body#work-flow .flow-list-container .img {
	margin-bottom: 22px;
}

body#work-flow .flow-list-container .btn,
body#work-flow .flow-list-container p {
	max-width: 313px;
}

}

@media (max-width: 375px) {

body#home #main #mv #scroll {
	top: 70.5%;
}

}

@media (max-width: 350px) {

body#home #main #contents .title {
	font-size: 40px;
}

body#home #main #contents .lead {
	font-size: 20px;
}

body#home #main #contents .text {
	font-size: 13px;
}

body#vision #contents .content .inner .lead.en {
	font-size: 43px;
}

}

@-webkit-keyframes scroll {

0% {
	-webkit-transform: translate3d(0, -100%, 0);
	transform: translate3d(0, -100%, 0);
}

49% {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

51% {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

100% {
	-webkit-transform: translate3d(0, 100%, 0);
	transform: translate3d(0, 100%, 0);
}

}

@keyframes scroll {

0% {
	-webkit-transform: translate3d(0, -100%, 0);
	transform: translate3d(0, -100%, 0);
}

49% {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

51% {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

100% {
	-webkit-transform: translate3d(0, 100%, 0);
	transform: translate3d(0, 100%, 0);
}

}

