@import url("https://fonts.googleapis.com/css2?family=Bellefair&family=Shippori+Mincho:wght@500%3b700&display=swap");

/*
	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-fade.swiper-free-mode .swiper-slide {
	-webkit-transition-timing-function: ease-out;
	-o-transition-timing-function: ease-out;
	transition-timing-function: ease-out;
}

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

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

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

#header,
#footer,
#main,
#home #main .photo {
	padding-left: 50px;
	padding-right: 50px;
}

html {
	height: 100%;
}

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

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

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

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

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

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

hr {
	border-color: #b1b1b2;
}

.sp {
	display: none;
}

span.br {
	display: inline-block;
}

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

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

.btn-menu {
	color: #231815;
	display: none;
	font-size: 13px;
	height: 30px;
	line-height: 30px;
	overflow: hidden;
	position: absolute;
	right: -17.5px;
	text-indent: 200%;
	top: -12.5px;
	white-space: nowrap;
	width: 40px;
	z-index: 10;
}

.btn-menu:before,
.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% - 11px);
	left: calc(50% - 11px);
	position: absolute;
	top: -webkit-calc(50% - 0.5px);
	top: calc(50% - 0.5px);
	transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
	transition: transform 0.3s, -webkit-transform 0.3s;
	width: 22px;
}

.btn-menu:before {
	-webkit-transition: opacity 0.2s;
	-o-transition: opacity 0.2s;
	transition: opacity 0.2s;
}

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

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

.logo {
	line-height: 1;
}

.logo a {
	display: block;
}

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

#footer .menu,
.global .menu {
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
}

#footer .menu li,
.global .menu li {
	font-family: "Bellefair", "Shippori Mincho", serif;
	font-size: 12px;
	line-height: 1;
}

#footer .menu li a,
.global .menu li a {
	letter-spacing: 0.1em;
	position: relative;
}

#footer .menu li a:after,
.global .menu li a:after {
	-webkit-transform: scale(0, 1);
	-ms-transform: scale(0, 1);
	-webkit-transform-origin: left top;
	-ms-transform-origin: left top;
	-webkit-transition: -webkit-transform 0.3s;
	-o-transition: transform 0.3s;
	border-bottom: 1px solid currentColor;
	bottom: -4px;
	content: "";
	display: block;
	left: 1px;
	position: absolute;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
	transition: transform 0.3s, -webkit-transform 0.3s;
	width: -webkit-calc(100% - 2.5px);
	width: calc(100% - 2.5px);
}

.desktop #footer .menu li a:hover:after,
.desktop
      .global .menu li a:hover:after {
	-webkit-transform: scale(1, 1);
	-ms-transform: scale(1, 1);
	transform: scale(1, 1);
}

.desktop body:not(#home) #footer .menu li.current-menu-item a:after,
.desktop #footer .menu li.current-menu-item a.current:after,
.desktop body:not(#home)
    .global .menu li.current-menu-item a:after,
.desktop
    .global .menu li.current-menu-item a.current:after {
	-webkit-transform: scale(1, 1);
	-ms-transform: scale(1, 1);
	transform: scale(1, 1);
}

#footer .sns,
.global .sns {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

#footer .sns li a,
.global .sns li a {
	-webkit-transition: opacity 0.3s;
	-o-transition: opacity 0.3s;
	display: block;
	line-height: 1;
	transition: opacity 0.3s;
}

.desktop #footer .sns li a:hover,
.desktop
    .global .sns li a:hover {
	opacity: 0.6;
}

#header {
	background-color: #FFF;
	left: 0;
	padding-bottom: 5px;
	padding-top: 21px;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 11;
}

#header .inner {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	-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;
	justify-content: space-between;
	max-width: 1180px;
	position: relative;
}

#header .logo {
	margin: 20px 0;
	max-width: 256px;
	position: relative;
	z-index: 1;
}

#header .global {
	-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;
	margin-top: 6px;
}

#header .global .menu {
	margin-top: 4px;
}

#footer {
	overflow: hidden;
	padding-bottom: 44px;
	padding-top: 69px;
}

#footer .inner {
	-webkit-box-pack: end;
	-webkit-justify-content: flex-end;
	-ms-flex-pack: end;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: flex-end;
	max-width: 1180px;
}

#copyright {
	font-family: "Bellefair", "Shippori Mincho", serif;
	letter-spacing: 0.1em;
	line-height: 1;
	margin-right: -2px;
	margin-top: 4px;
}

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

#main {
	overflow: hidden;
}

#main .inner {
	margin-top: 106px;
	max-width: 1180px;
}

.page-title .title {
	font-family: "Bellefair", "Shippori Mincho", serif;
	font-size: 16px;
	letter-spacing: 0.2em;
	line-height: 1;
}

.no-image {
	-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;
	background-color: #F3F3F3;
	color: rgba(35, 24, 21, 0.5);
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-family: "Bellefair", "Shippori Mincho", serif;
	font-size: 14px;
	height: 100%;
	justify-content: center;
	letter-spacing: 0.1em;
	width: 100%;
}

.news-list li .headline {
	font-size: 14px;
	line-height: 1.75;
}

.news-list li .date {
	font-family: "Bellefair", "Shippori Mincho", serif;
	font-size: 12px;
	letter-spacing: 0.2em;
	line-height: 1;
}

.news-list.thumb a {
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	border-bottom: 1px solid #b1b1b2;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	padding: 29px 0 18.5px;
}

.news-list.thumb .header .date {
	display: block;
	margin-bottom: 16px;
}

.news-list.thumb .thumbnail {
	width: 100%;
}

.news-list.thumb .img {
	aspect-ratio: 1/0.618;
}

.photo-list {
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.photo-list li {
	width: -webkit-calc(50% - 7px);
	width: calc(50% - 7px);
}

#main .photo-list li a {
	-webkit-transition: none;
	-o-transition: none;
	transition: none;
}

.desktop #main .photo-list li a:hover {
	opacity: 1;
}

.desktop #main .photo-list li a:hover .img:after {
	opacity: 1;
}

.photo-list li .img {
	aspect-ratio: 1/0.615;
	position: relative;
}

.photo-list li .img:after {
	-webkit-transition: opacity 0.3s;
	-o-transition: opacity 0.3s;
	background-color: rgba(35, 24, 21, 0.7);
	content: "";
	display: block;
	height: 100%;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	transition: opacity 0.3s;
	width: 100%;
	z-index: 1;
}

.photo-list li .img img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

#static.page #main .inner {
	max-width: 1000px;
	padding-top: 66px;
}

#static.page .page-title {
	padding-bottom: 30px;
}

#archive #main .inner {
	-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;
	margin-bottom: 24px;
	padding-top: 80px;
}

#archive #main .inner .content {
	width: 731px;
}

.date-archive {
	margin-left: auto;
	margin-right: auto;
	width: 21.25%;
}

.date-archive .archive-list li {
	font-family: "Bellefair", "Shippori Mincho", serif;
	font-size: 13px;
	letter-spacing: 0.2em;
	line-height: 1.25;
	margin-bottom: 12.75px;
}

.date-archive .archive-list li a {
	-webkit-transition: opacity 0.2s;
	-o-transition: opacity 0.2s;
	transition: opacity 0.2s;
}

.desktop .date-archive .archive-list li a:hover {
	opacity: 0.6;
}

.archive-select {
	border-bottom: 1px solid #b1b1b2;
	display: none;
	margin: 30px auto;
	position: relative;
}

.archive-select:after {
	border-color: #231815 transparent transparent transparent;
	border-style: solid;
	border-width: 5px 4.5px 0 4.5px;
	content: "";
	display: block;
	pointer-events: none;
	position: absolute;
	right: 8.75px;
	top: -webkit-calc(50% - 1.75px);
	top: calc(50% - 1.75px);
}

.archive-select #archive-select-label,
.archive-select select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	color: #231815;
	display: block;
	font-family: "Bellefair", "Shippori Mincho", serif;
	font-size: 13px;
	letter-spacing: 0.2em;
	line-height: 1.25;
	outline: none;
	padding: 7px 0;
	text-align: center;
	width: 100%;
}

.archive-select select {
	margin-top: -30.25px;
	opacity: 0;
}

#single #main .inner {
	max-width: 1000px;
	padding-top: 80px;
}

#single .page-title {
	padding-bottom: 72px;
}

#single .content .article > *:first-child {
	margin-top: 0;
}

#single .content .headline {
	font-size: 14px;
	letter-spacing: 0.1em;
	line-height: 1.75;
}

#single .content .date {
	display: block;
	font-family: "Bellefair", "Shippori Mincho", serif;
	font-size: 12px;
	letter-spacing: 0.2em;
	line-height: 1;
	margin-bottom: 16px;
	position: relative;
	width: 100%;
}

#single .content .date:after {
	background-color: #b1b1b2;
	bottom: 2px;
	content: "";
	display: block;
	height: 1px;
	position: absolute;
	right: 0;
	width: -webkit-calc(100% - 90px);
	width: calc(100% - 90px);
}

#main .content {
	margin-bottom: 30px;
}

#main .content h4 {
	font-size: 16px;
	line-height: 1.75;
	margin: 1.55em 0 0;
}

#main .content h4 + p {
	margin-top: 0.85em;
}

#main .content p {
	font-size: 13px;
	margin: 1.75em 0;
}

#main .content a {
	-webkit-transition: opacity 0.2s;
	-o-transition: opacity 0.2s;
	transition: opacity 0.2s;
}

.desktop #main .content a:hover {
	opacity: 0.6;
}

#main .content ol:not([class]),
#main .content ul:not([class]) {
	list-style: none;
	margin: 2.15em 0;
}

#main .content ol:not([class]) li,
#main .content ul:not([class]) li {
	font-size: 14px;
	letter-spacing: 0.1em;
	margin: 0.35em 0;
	padding-left: 1.65em;
	position: relative;
}

#main .content ol:not([class]) li:before,
#main .content ul:not([class]) li:before {
	content: "・";
	left: 0;
	position: absolute;
	top: 0;
}

#main .content ol:not([class]) {
	counter-reset: num;
}

#main .content ol:not([class]) > li {
	counter-increment: num;
}

#main .content ol:not([class]) > li:before {
	content: counter(num) ".";
}

#main .content table:not([class]) {
	border-collapse: collapse;
	border-top: 1px solid #b1b1b2;
	margin: 2.25em 0;
	width: 100%;
}

#main .content table:not([class]) tr {
	border-bottom: 1px solid #b1b1b2;
}

#main .content table:not([class]) td,
#main .content table:not([class]) th {
	font-size: 14px;
	font-weight: normal;
	letter-spacing: 0.1em;
	line-height: 1.7693;
	padding-bottom: 23px;
	padding-top: 21px;
	text-align: left;
	vertical-align: top;
}

#main .content table:not([class]) th {
	width: 25%;
}

#main .content table:not([class]) thead th {
	text-align: center;
}

#main .content table:not([class]) tbody th {
	width: 30%;
}

#main .content table:not([class]) tbody td {
	text-align: center;
}

.pagination,
.post-navigation {
	margin: 82px auto 116px;
	padding: 0 16px;
}

.pagination .screen-reader-text,
.post-navigation .screen-reader-text {
	display: none;
}

.pagination .page-numbers.generic,
.pagination .nav-links,
.post-navigation .page-numbers.generic,
.post-navigation .nav-links {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	-webkit-box-pack: end;
	-webkit-justify-content: flex-end;
	-ms-flex-pack: end;
	align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 40px;
	justify-content: flex-end;
}

.pagination .page-numbers.generic .nav-previous,
.pagination .page-numbers.generic .nav-next,
.pagination .nav-links .nav-previous,
.pagination .nav-links .nav-next,
.post-navigation .page-numbers.generic .nav-previous,
.post-navigation .page-numbers.generic .nav-next,
.post-navigation .nav-links .nav-previous,
.post-navigation .nav-links .nav-next {
	display: block;
	height: 7.5px;
	overflow: hidden;
	position: relative;
	text-indent: 200%;
	white-space: nowrap;
	width: 49px;
}

.pagination .page-numbers.generic .nav-previous a:after,
.pagination .page-numbers.generic .nav-next a:after,
.pagination .nav-links .nav-previous a:after,
.pagination .nav-links .nav-next a:after,
.post-navigation .page-numbers.generic .nav-previous a:after,
.post-navigation .page-numbers.generic .nav-next a:after,
.post-navigation .nav-links .nav-previous a:after,
.post-navigation .nav-links .nav-next a:after {
	background: url("../images/arrow01.svg") no-repeat center/cover;
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.pagination .page-numbers.generic .nav-previous a:after,
.pagination .nav-links .nav-previous a:after,
.post-navigation .page-numbers.generic .nav-previous a:after,
.post-navigation .nav-links .nav-previous a:after {
	-webkit-transform: scaleX(-1);
	-ms-transform: scaleX(-1);
	transform: scaleX(-1);
}

.pagination .page-numbers.generic,
.post-navigation .page-numbers.generic {
	font-family: "Bellefair", "Shippori Mincho", serif;
}

.pagination .page-numbers.generic .current,
.post-navigation .page-numbers.generic .current {
	text-decoration: underline;
}

.pagination .page-numbers.generic .prev,
.pagination .page-numbers.generic .next,
.post-navigation .page-numbers.generic .prev,
.post-navigation .page-numbers.generic .next {
	display: block;
	height: 7.5px;
	overflow: hidden;
	position: relative;
	text-indent: 200%;
	white-space: nowrap;
	width: 49px;
}

.pagination .page-numbers.generic .prev:after,
.pagination .page-numbers.generic .next:after,
.post-navigation .page-numbers.generic .prev:after,
.post-navigation .page-numbers.generic .next:after {
	background: url("../images/arrow01.svg") no-repeat center/cover;
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.pagination .page-numbers.generic .prev:after,
.post-navigation .page-numbers.generic .prev:after {
	-webkit-transform: scaleX(-1);
	-ms-transform: scaleX(-1);
	transform: scaleX(-1);
}

.wpcf7-form {
	margin-bottom: 30px;
}

.wpcf7-form label {
	display: block;
}

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

.wpcf7-form dl dt label {
	font-family: "Bellefair", "Shippori Mincho", serif;
	font-size: 14px;
	letter-spacing: 0.2em;
	padding-right: 25px;
	padding-top: 11px;
	text-align: right;
}

.wpcf7-form dl dd .wpcf7-form-control-wrap {
	display: block;
}

.wpcf7-form dl dd input,
.wpcf7-form dl dd textarea {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-transform: scale(0.8125);
	-ms-transform: scale(0.8125);
	-webkit-transform-origin: top left;
	-ms-transform-origin: top left;
	-webkit-transition: background-color 0.3s;
	-o-transition: background-color 0.3s;
	border: 1px solid #b1b1b2;
	border-right: none;
	border-top: none;
	box-sizing: border-box;
	display: block;
	letter-spacing: 0.1em;
	margin-bottom: -9px;
	padding: -webkit-calc(11px * 1.23077) -webkit-calc(11px * 1.23077) -webkit-calc(5px * 1.23077);
	padding: calc(11px * 1.23077) calc(11px * 1.23077) calc(5px * 1.23077);
	transform: scale(0.8125);
	transform-origin: top left;
	transition: background-color 0.3s;
	width: 123.077%;
}

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

.wpcf7-form dl dd textarea {
	height: -webkit-calc(256px * 1.23077);
	height: calc(256px * 1.23077);
	margin-bottom: -60px;
}

.wpcf7-form dl dd .wpcf7-not-valid-tip {
	color: #231815;
	font-size: 11px;
	line-height: 1.5 !important;
	margin-bottom: -16.5px;
	margin-top: -7px;
	opacity: 0.75;
	padding: 0 2px 1px;
}

.wpcf7-form .submit {
	margin: 26px 0 -1px;
	margin-right: 16px;
	position: relative;
	text-align: right;
}

.wpcf7-form .submit input {
	-webkit-transition: opacity 0.2s;
	-o-transition: opacity 0.2s;
	background: url("../images/arrow01.svg") no-repeat center right;
	font-family: "Bellefair", "Shippori Mincho", serif;
	font-size: 18px;
	letter-spacing: 0.2em;
	padding-right: 55px;
	transition: opacity 0.2s;
}

.desktop .wpcf7-form .submit input:hover {
	opacity: 0.6;
}

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

.wpcf7 form.wpcf7-form div.wpcf7-response-output {
	border: 1px solid #b1b1b2;
	color: #231815;
	font-size: 13px;
	margin: 20px auto;
	padding: 11px 15px 10px;
}

body .fslightbox-container {
	background: rgba(35, 24, 21, 0.7);
}

body .fslightbox-toolbar-button:not(:last-child),
body .fslightbox-slide-number-container,
body .fslightbox-slide-btn-container {
	display: none;
}

body .fslightbox-toolbar {
	background-color: transparent;
}

body .fslightbox-toolbar-button:last-child {
	height: 50px;
	position: relative;
	right: 27.5px;
	top: 22px;
	width: 50px;
}

body .fslightbox-toolbar-button:last-child:before,
body .fslightbox-toolbar-button:last-child:after {
	-webkit-transform: translate(-50%) rotate(45deg);
	-ms-transform: translate(-50%) rotate(45deg);
	background-color: #FFF;
	content: "";
	display: block;
	height: 1px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%) rotate(45deg);
	width: 63px;
}

body .fslightbox-toolbar-button:last-child:after {
	-webkit-transform: translate(-50%) rotate(-45deg);
	-ms-transform: translate(-50%) rotate(-45deg);
	transform: translate(-50%) rotate(-45deg);
}

body .fslightbox-toolbar-button:last-child svg {
	display: none;
}

#home #main {
	padding: 0;
}

#home #main .swiper {
	margin-bottom: 100px;
	margin-top: 106px;
}

#home #main .swiper .img {
	aspect-ratio: 1.81 / 1;
}

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

#home #main .news-list {
	margin-left: auto;
	max-width: 1026px;
	padding-left: 50px;
}

#home #main .news-list li {
	margin: 34px 0 44px;
}

#home #main .news-list li .headline {
	padding-right: 1em;
}

#home #main .news-list li .date {
	display: block;
	margin-bottom: 16px;
	position: relative;
	width: 100%;
}

#home #main .news-list li .date:after {
	background-color: #b1b1b2;
	bottom: 2px;
	content: "";
	display: block;
	height: 1px;
	position: absolute;
	right: 0;
	width: -webkit-calc(100% - 90px);
	width: calc(100% - 90px);
}

#home #main .photo {
	margin-top: -83px;
	padding-top: 140px;
}

#home #main .photo-list {
	margin-top: 41px;
}

#home #main .page-title {
	text-align: center;
}

#home #main .page-title .title {
	text-indent: 0.2em;
}

#home .pagination .page-numbers.generic {
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
}

#error #main .inner {
	padding-top: 88px;
}

#error .page-title {
	text-align: center;
}

#error .page-title .title.en {
	font-size: 140%;
	margin-top: 2.5em;
	opacity: 0.4;
}

#error .content {
	text-align: center;
}

#error .content .code {
	font-family: "Bellefair", "Shippori Mincho", serif;
	font-size: 200px;
	letter-spacing: 0.01em;
	line-height: 1;
	margin: 0;
	opacity: 0.35;
}

#error .content .btn {
	margin-bottom: 60px;
}

#error .content .btn a:before {
	-webkit-transform: scaleX(-1);
	-ms-transform: scaleX(-1);
	background: url("../images/arrow01.svg") no-repeat center/cover;
	content: "";
	display: inline-block;
	height: 7.5px;
	margin-right: 10px;
	position: relative;
	transform: scaleX(-1);
	width: 49px;
}

@media (min-width: 481px) {

.wpcf7 form.wpcf7-form div.wpcf7-response-output {
	text-align: center;
}

}

@media (min-width: 681px) {

#footer .menu li:not(:last-child),
.global .menu li:not(:last-child) {
	margin-right: 1.75em;
}

#footer .sns li,
.global .sns li {
	margin-left: 1.5em;
}

#header .logo {
	top: 4px;
}

#header .global .menu li:first-child {
	display: none;
}

.news-list.thumb .header {
	padding-right: 5%;
}

.news-list.thumb .thumbnail {
	max-width: 259px;
}

#static.page #main .inner {
	-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;
}

#static.page #main .inner .content {
	width: 100%;
}

#static.page .page-title {
	padding-top: 14px;
}

#single .content {
	-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;
}

#single .content .header {
	width: 35.1%;
}

#single .content .article {
	width: 60%;
}

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

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

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

}

@media (min-width: 961px) {

#footer .menu li:not(:last-child),
.global .menu li:not(:last-child) {
	margin-right: 3.25em;
}

#footer .sns li,
.global .sns li {
	margin-left: 2.75em;
}

#header .logo {
	left: 29px;
}

}

@media (min-width: 1281px) {

#home #main .photo {
	padding-left: 0;
	padding-right: 0;
}

}

@media (max-width: 1280px) {

#header,
#footer,
#main,
#home #main .photo {
	padding-left: 35px;
	padding-right: 35px;
}

}

@media (max-width: 680px) {

#header,
#footer,
#main,
#home #main .photo {
	padding-left: 25px;
	padding-right: 25px;
}

.sp {
	display: inherit;
}

.pc {
	display: none;
}

#switch-global:checked ~ .btn-menu:before {
	opacity: 0;
}

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

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

#switch-global:checked ~ .global {
	opacity: 1;
	pointer-events: fill;
}

.btn-menu {
	display: block;
}

#header {
	padding-bottom: 12px;
	padding-top: 24px;
}

#header .logo {
	margin: 1px 0;
	max-width: 180px;
}

#header .global {
	-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;
	-webkit-transition: opacity 0.3s, pointer-events 0.3s;
	-o-transition: opacity 0.3s, pointer-events 0.3s;
	background-color: #FFF;
	flex-direction: column;
	height: 100vh;
	justify-content: center;
	margin: 0;
	opacity: 0;
	overflow-y: auto;
	pointer-events: none;
	position: fixed;
	right: 0;
	top: 0;
	transition: opacity 0.3s, pointer-events 0.3s;
	width: 100%;
}

#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;
	align-items: center;
	flex-direction: column;
}

#header .global .menu li {
	font-size: 13px;
	margin-bottom: 5.125em;
}

#header .global .sns {
	margin-top: 1.375em;
}

#footer {
	padding-bottom: 26px;
	padding-top: 17px;
}

#footer .inner {
	display: block;
	text-align: center;
}

#main .inner {
	margin-top: 55px;
}

.news-list.thumb a {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	padding: 20px 0 25px;
}

.news-list.thumb .header .headline {
	margin-bottom: 20px;
}

.news-list.thumb .header .date {
	margin-bottom: 13px;
}

.photo-list {
	gap: 4px;
}

.photo-list li {
	width: -webkit-calc(50% - 2px);
	width: calc(50% - 2px);
}

#static.page #main .inner {
	padding-top: 41px;
}

#archive #main .inner {
	padding-top: 41px;
}

#archive #main .inner .content {
	margin-bottom: 6px;
	width: 100%;
}

.date-archive {
	display: none;
}

.archive-select {
	display: block;
}

#single #main .inner {
	padding-top: 41px;
}

#single .page-title {
	padding-bottom: 46px;
}

#single .content .headline {
	margin-bottom: 20px;
}

#single .content .date {
	margin-bottom: 13px;
}

#main .content h4 {
	line-height: 1.45;
	margin: 1.75em 0 0;
}

#main .content p {
	margin: 1.25em 0;
}

#main .content ol:not([class]) li,
#main .content ul:not([class]) li {
	font-size: 12px;
}

#main .content table:not([class]) tr > td:first-child {
	padding-top: 18px;
}

#main .content table:not([class]) tr > td:first-child ~ td {
	padding-top: 0;
}

#main .content table:not([class]) td,
#main .content table:not([class]) th {
	display: block;
	font-size: 12px;
	padding-bottom: 17px;
	padding-top: 14px;
}

#main .content table:not([class]) th {
	padding-bottom: 2px;
	width: 100%;
}

#main .content table:not([class]) td {
	padding-top: 2px;
}

.pagination,
.post-navigation {
	margin: 46px auto 45px;
}

.pagination .page-numbers.generic,
.pagination .nav-links,
.post-navigation .page-numbers.generic,
.post-navigation .nav-links {
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.wpcf7-form {
	margin-bottom: 64px;
}

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

.wpcf7-form dl dt label {
	font-size: 13px;
	padding-bottom: 5px;
	text-align: left;
}

.wpcf7-form dl dd textarea {
	margin-top: 2px;
}

.wpcf7-form dl dd .wpcf7-not-valid-tip {
	font-size: 10px;
	margin-bottom: -14.125px;
	margin-top: -10px;
}

.wpcf7-form .submit {
	margin: 18px 0 34px;
}

.wpcf7-form .submit input {
	font-size: 16px;
}

.wpcf7 form.wpcf7-form div.wpcf7-response-output {
	font-size: 12px;
}

body .fslightbox-toolbar-button:last-child {
	bottom: 21.5%;
	position: fixed;
	right: -webkit-calc(50% - 25px);
	right: calc(50% - 25px);
	top: auto;
}

#home #main .swiper {
	margin-bottom: 37px;
	margin-top: 0;
}

#home #main .news-list {
	padding-left: 25px;
}

#home #main .news-list li .date {
	margin-bottom: 13px;
}

#home #main .photo {
	margin-top: -47px;
	padding-top: 83px;
}

#home #main .photo-list {
	margin-top: 26px;
}

#error #main .inner {
	padding-top: 41px;
}

}

@media (max-width: 480px) {

#error .page-title .title {
	font-size: 16px;
}

#error .content .code {
	font-size: 160px;
}

}

