/*
	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 {
	box-sizing: border-box;
}

*,
*:before,
*:after {
	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-text-size-adjust: 100%;
	box-sizing: border-box;
	tab-size: 4; /* Prevent adjustments of font size after orientation changes in iOS */
	word-break: normal;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

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

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

input {
	border-radius: 0;
}

/* Replace pointer cursor in disabled elements */

[disabled] {
	cursor: default;
}

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

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

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

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

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

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

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

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

/* Apply cursor pointer to button elements */

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

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

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

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

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

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

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

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

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

/* Style select like a standard input */

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

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

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

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

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

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

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

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

progress {
	vertical-align: baseline;
}

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

/* Specify the progress cursor of updating elements */

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

/* Specify the pointer cursor of trigger elements */

[aria-controls] {
	cursor: pointer;
}

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

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

@font-face {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	src: url("../fonts/Roboto-Regular.ttf") format("truetype");
}

@font-face {
	font-family: 'Roboto';
	font-style: italic;
	font-weight: 900;
	src: url("../fonts/Roboto-BlackItalic.ttf") format("truetype");
}

@font-face {
	font-family: '游ゴシック';
	font-style: normal;
	font-weight: 400;
	src: url("../fonts/YuGothM001.TTF") format("truetype");
}

@font-face {
	font-family: '游ゴシック';
	font-style: normal;
	font-weight: 700;
	src: url("../fonts/YuGothB001.TTF") format("truetype");
}

@font-face {
	font-family: 'Gen Jyuu Gothic X';
	font-style: normal;
	font-weight: 600;
	src: url("../fonts/GenJyuuGothicX-Monospace-Bold.ttf") format("truetype");
}

/**
 * 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 {
	flex-direction: column;
}

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

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

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

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

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

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

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

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

.swiper-3d,
.swiper-3d.swiper-css-mode .swiper-wrapper {
	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 {
	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: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
	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: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
	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 {
	scroll-snap-type: x mandatory;
}

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

.swiper-centered > .swiper-wrapper::before {
	content: '';
	flex-shrink: 0;
	order: 9999;
}

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
	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 {
	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 {
	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 {
	position: relative;
	transform: scale(0.33);
}

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

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

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

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

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

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
	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-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 {
	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 {
	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 {
	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 {
	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 {
	transition: .2s transform,.2s left;
}

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

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

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
	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 {
	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;
}

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

.swiper-fade .swiper-slide {
	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;
}

:root {
	--swiper-navigation-size: 44px;
}

.swiper-button-next,
.swiper-button-prev {
	align-items: center;
	color: var(--swiper-navigation-color, var(--swiper-theme-color));
	cursor: pointer;
	display: flex;
	height: var(--swiper-navigation-size);
	justify-content: center;
	margin-top: calc(0px - (var(--swiper-navigation-size)/ 2));
	position: absolute;
	top: 50%;
	width: calc(var(--swiper-navigation-size)/ 44 * 27);
	z-index: 10;
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
	cursor: auto;
	opacity: .35;
	pointer-events: none;
}

.swiper-button-next:after,
.swiper-button-prev:after {
	font-family: swiper-icons;
	font-size: var(--swiper-navigation-size);
	font-variant: initial;
	letter-spacing: 0;
	line-height: 1;
	text-transform: none !important;
	text-transform: none;
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
	left: 10px;
	right: auto;
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
	content: 'prev';
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
	left: auto;
	right: 10px;
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
	content: 'next';
}

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

.inner {
	padding-inline: 40px;
}

.area-halftone,
body#contact .wpcf7 .agree,
#home #magazine,
.editor-area blockquote {
	background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAJ0lEQVQYV2NkIAAYSVEgBVX8DFkTsgkEFWC1jSQ3oJsAthKfCWAFAE65Aj3oMyCFAAAAAElFTkSuQmCC") repeat center/8px 8px;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: #444;
	font-family: "游ゴシック", sans-serif;
	font-variant-ligatures: none;
	height: 100%;
	line-height: 2;
	min-width: 320px;
}

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

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

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

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

input,
textarea,
button {
	color: #444;
	line-height: 2;
	outline: none;
}

hr {
	border-color: #AAA;
}

.sp {
	display: none;
}

span.br {
	display: inline-block;
	font-weight: inherit;
	text-indent: initial;
}

.inner {
	box-sizing: content-box;
	margin-inline: auto;
	max-width: 77.7778em;
}

.inner * {
	box-sizing: border-box;
}

.img.cover {
	overflow: hidden;
	position: relative;
}

.img.cover:before {
	content: "";
	display: block;
	padding-top: 100%;
}

.img.cover .no-image,
.img.cover img {
	bottom: 0;
	height: 100%;
	left: 0;
	object-fit: cover;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
}

.img.cover .no-image {
	background-color: #CCC;
	overflow: hidden;
	text-indent: 200%;
	white-space: nowrap;
}

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

#switch-search:checked ~ .nav-category .btn-search span {
	color: rgba(255, 255, 255, 0);
}

#switch-search:checked ~ .nav-category .btn-search span:before {
	opacity: 0;
}

#switch-search:checked ~ .nav-category .btn-search span:after {
	opacity: 1;
}

#switch-search:checked ~ .search-box {
	transform: translateY(0);
}

ul.menu {
	display: flex;
}

ul.menu.main {
	column-gap: 1.825em;
}

ul.menu.main li a {
	font-size: calc(16 / 18 * 1em);
	font-weight: 700;
	letter-spacing: 0.03em;
	position: relative;
	vertical-align: bottom;
}

ul.menu.main li a:after {
	background-image: linear-gradient(to right, #3694E0, #3694E0 2px, transparent 2px, transparent 4px);
	background-position: center bottom;
	background-repeat: repeat-x;
	background-size: 4px 1px;
	bottom: -0.485em;
	content: "";
	display: block;
	height: 1px;
	opacity: 0;
	position: absolute;
	transition: opacity 0.15s;
	width: 100%;
}

.desktop ul.menu.main li a:hover:after {
	opacity: 1;
}

ul.menu.main-category {
	height: 100%;
	position: relative;
}

ul.menu.main-category > li {
	height: 100%;
}

ul.menu.main-category > li > a {
	align-items: center;
	color: #FFF;
	display: flex;
	font-weight: 700;
	height: 100%;
	justify-content: center;
	letter-spacing: 0.03em;
	min-width: 6em;
	padding-inline: 1.6em;
	transition: background-color 0.3s;
	white-space: nowrap;
}

ul.menu.main-category > li > a:has(+ ul):after {
	aspect-ratio: 1 / 1;
	border: 1px solid currentColor;
	border-left: none;
	border-top: none;
	content: "";
	display: inline-block;
	margin-inline: 0.5em -0.5em;
	position: relative;
	top: calc(-3 / 18 * 1em);
	transform: rotate(45deg);
	width: calc(8 / 18 * 1em);
}

ul.menu.main-category > li > a:hover {
	background-color: #3694E0;
}

ul.menu.main-category > li > ul {
	background-color: #3694E0;
	column-gap: 2.9em;
	height: 100%;
	left: 0;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	top: 0;
	transition: opacity 0.3s, top 0.3s;
	width: 100%;
	z-index: -2;
}

ul.menu.main-category > li > ul:hover {
	opacity: 1;
	pointer-events: fill;
	top: 100%;
	z-index: -1;
}

ul.menu.main-category > li > ul > li > a {
	align-items: center;
	color: #FFF;
	display: flex;
	font-size: calc(16 / 18 * 1em);
	font-weight: 700;
	height: 100%;
	letter-spacing: 0.03em;
	position: relative;
	white-space: nowrap;
}

ul.menu.main-category > li > ul > li > a:before {
	aspect-ratio: 1 / 1;
	border: 1px solid currentColor;
	border-left: none;
	border-top: none;
	content: "";
	display: inline-block;
	margin-inline: -0.25em 0.6em;
	position: relative;
	top: calc(-0.5 / 16 * 1em);
	transform: rotate(-45deg);
	width: calc(9 / 18 * 1em);
}

ul.menu.main-category > li > ul > li > a:after {
	background-image: linear-gradient(to right, #FFF, #FFF 2px, transparent 2px, transparent 4px);
	background-position: center bottom;
	background-repeat: repeat-x;
	background-size: 4px 1px;
	content: "";
	display: block;
	height: 1px;
	margin-top: 1.75em;
	opacity: 0;
	position: absolute;
	transition: opacity 0.15s;
	width: 100%;
}

.desktop ul.menu.main-category > li > ul > li > a:hover:after {
	opacity: 1;
}

.btn-close,
.btn-menu {
	aspect-ratio: 1 / 1;
	display: none;
	position: relative;
	right: 0.2em;
	top: -0.075em;
	width: calc(40 / 16 * 1em);
	z-index: 2;
}

.btn-close:before,
.btn-close span:before,
.btn-close span:after,
.btn-menu:before,
.btn-menu span:before,
.btn-menu span:after {
	background-color: currentColor;
	content: "";
	display: block;
	height: calc(2 / 16 * 1em);
	left: 50%;
	position: absolute;
	top: 50%;
	transition: opacity 0.3s, transform 0.3s;
	width: 100%;
}

.btn-close:before,
.btn-menu:before {
	transform: translate(-50%, 0);
}

.btn-close span,
.btn-menu span {
	display: block;
	height: 100%;
	overflow: hidden;
	text-indent: 200%;
	white-space: nowrap;
	width: 100%;
}

.btn-close span:before,
.btn-menu span:before {
	transform: translate(-50%, calc(-9 / 16 * 1em));
}

.btn-close span:after,
.btn-menu span:after {
	transform: translate(-50%, calc(9 / 16 * 1em));
}

.btn-close {
	color: #FFF;
	display: block;
	position: fixed;
	right: calc(32 / 18 * 1em);
	top: calc(12 / 18 * 1em);
}

.btn-close:before {
	opacity: 0;
}

.btn-close span:before {
	transform: translate(-50%, 0) rotate(30deg);
}

.btn-close span:after {
	transform: translate(-50%, 0) rotate(-30deg);
}

#main {
	margin-top: calc(150 / 18 * 1em);
}

.header {
	background-color: #FFF;
	position: fixed; /****test*/
	top: 0; /****test*/
	width: 100%; /****test*/
	z-index: 9; /****test*/
}

.header .inner {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.header > .inner {
	height: calc(80 / 18 * 1em);
}

.header .logo {
	max-width: calc(298 / 18 * 1em);
	width: 100%;
}

.header .nav-category {
	background-color: #0A222D;
	height: calc(70 / 18 * 1em);
	position: relative;
}

.header .nav-category:before {
	background-color: #3694E0;
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transition: opacity 0.3s, top 0.3s;
	width: 100%;
	z-index: -2;
}

.header .nav-category > .inner {
	height: 100%;
}

.header .nav-category > .inner:nth-child(1) {
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scrollbar-width: none;
}

.header .nav-category > .inner:nth-child(1):after {
	aspect-ratio: 1 / 1;
	content: "";
	display: block;
	flex-shrink: 0;
	width: calc(70 / 18 * 1em);
}

.header .nav-category > .inner:nth-child(2) {
	pointer-events: none;
	position: relative;
	transform: translateY(-100%);
}

.header .nav-category > .inner:nth-child(2):after {
	background: linear-gradient(to right, transparent 5%, #0A222D 20%, #0A222D);
	content: "";
	display: block;
	height: 100%;
	position: absolute;
	right: 0;
	width: calc(140 / 18 * 1em);
}

.header .nav-category > .inner:nth-child(2) > * {
	pointer-events: fill;
}

.header .nav-category .btn-search {
	padding-block: 0.65em 0.35em;
	position: absolute;
	right: 40px;
	top: 0;
	z-index: 1;
}

.header .nav-category .btn-search:before,
.header .nav-category .btn-search:after {
	background-color: currentColor;
	bottom: 0.55em;
	content: "";
	display: block;
	opacity: 0.4;
	position: absolute;
	top: 0.55em;
	width: 1px;
}

.header .nav-category .btn-search:before {
	left: 0;
}

.header .nav-category .btn-search:after {
	right: 0;
}

.header .nav-category .btn-search span {
	position: relative;
	transition: color 0.3s;
}

.header .nav-category .btn-search span:before {
	transition: opacity 0.3s;
}

.header .nav-category .btn-search span:after {
	aspect-ratio: 1 / 1;
	background: url("../images/icon_close01.svg") no-repeat center/cover;
	content: "";
	display: block;
	left: 50%;
	opacity: 0;
	position: absolute;
	top: 45%;
	transform: translate(-50%, -50%);
	transition: opacity 0.3s;
	width: calc(10 / 12 * 1em);
}

.header .search-box {
	background-color: #0A222D;
	height: calc(70 / 18 * 1em);
	left: 0;
	position: absolute;
	transform: translateY(-100%);
	transition: transform 0.3s;
	width: 100%;
	z-index: -1;
}

.header .search-box > .inner {
	height: 100%;
}

.header .search-box form {
	align-items: center;
	display: flex;
	height: 100%;
	margin-left: auto;
}

.header .search-box form input[name="s"] {
	color: #FFF;
	font-size: calc(16 / 18 * 1em);
	font-weight: 700;
	height: 100%;
	letter-spacing: 0.05em;
	padding-left: calc(27 / 16 * 1em);
	transition: background-color 0.3s;
	width: calc(329 / 16 * 1em);
}

.header .search-box form input[name="s"]::placeholder {
	opacity: 0.5;
	transition: opacity 0.3s;
}

.header .search-box form input[name="s"]:focus {
	background-color: #3694E0;
}

.header .search-box form input[name="s"]:focus::placeholder {
	opacity: 1;
}

/* Safari Scrollbar Hidden */

.js-nav-sub-category > .inner::-webkit-scrollbar,
.header .nav-category > .inner::-webkit-scrollbar {
	display: none;
}

.search-select {
	height: 100%;
	position: relative;
	width: calc(313 / 18 * 1em);
}


/* 補完入力した時だけ背景色を変える */
.search-select　input {
	box-shadow: 0px 0px 100px 100px #000 inset;
}
.search-select input:-webkit-autofill{
	box-shadow: 0 0 0px 1000px #3E3E3E inset;
    -webkit-text-fill-color: #000 !important;
}
input:-webkit-autofill {
  transition: background-color 10000s ease-in-out 0s;
}




.search-select-output {
	align-items: center;
	color: #FFF;
	cursor: pointer;
	display: flex;
	font-size: calc(16 / 18 * 1em);
	font-weight: 700;
	height: 100%;
	justify-content: space-between;
	letter-spacing: 0.05em;
	padding-inline: 1.4em;
	transition: background-color 0.3s, color 0.3s;
}

.search-select-output:after {
	aspect-ratio: 1 / 1;
	border: 1px solid #FFF;
	border-left: none;
	border-top: none;
	content: "";
	display: inline-block;
	margin-inline: -0.25em 0.25em;
	position: relative;
	top: calc(-2.5 / 18 * 1em);
	transform: rotate(45deg);
	transition: top 0.3s, transform 0.3s;
	width: calc(10 / 18 * 1em);
}

.search-select-output.is-first {
	color: rgba(255, 255, 255, 0.5);
}

.search-select-output.open + div {
	height: auto;
	padding-bottom: 1.5em;
}

.search-select-output.open:after {
	top: calc(2.5 / 18 * 1em);
	transform: rotate(-135deg);
}

.desktop .search-select-output:hover {
	background-color: #3694E0;
}

.desktop .search-select-output:hover.is-first {
	color: white;
}

.search-select-selector {
	background-color: #0A222D;
	display: none;
	height: 0;
	max-height: calc(500 / 18 * 1em);
	overflow-y: auto !important;
	padding-bottom: 0;
	position: absolute;
	width: 100%;
}

.search-select-selector::-webkit-scrollbar {
	width: 15px;
}

.search-select-selector::-webkit-scrollbar-track {
	background-color: #0A222D;
	border-radius: 0;
	box-shadow: 0;
}

.search-select-selector::-webkit-scrollbar-thumb {
	background: linear-gradient(to left, transparent, transparent 50%, #fff 50%, #fff 70%, transparent 70%);
	border-radius: 0;
}

.search-select-item {
	color: #FFF;
	cursor: pointer;
	letter-spacing: 0.05em;
	line-height: 1.75;
	padding-block: 0.035em;
	padding-left: calc(1.4em * 0.8889);
	padding-right: 0.5em;
}

.search-select-item.level-0 {
	font-weight: 700;
	margin-block: 0.35em -0.1em;
}

.search-select-item.level-1 {
	font-size: calc(16 / 18 * 1em);
	padding-left: 2.65em;
}

.search-select-item:first-child {
	-webkit-user-select: none;
	color: rgba(255, 255, 255, 0);
	font-size: calc(14 / 18 * 1em);
	font-weight: 700;
	padding-right: calc(1.75em - var(--scroll-bar-width));
	pointer-events: none;
	text-align: right;
	user-select: none;
}

.search-select-item:first-child:after {
	color: rgba(255, 255, 255, 0.5);
	content: "リセット ✕";
	pointer-events: fill;
	position: relative;
	top: 0.25em;
	transition: color 0.1s;
}

.desktop .search-select-item:first-child:hover {
	background-color: inherit;
}

.desktop .search-select-item:first-child:hover:after {
	color: white;
}

.desktop .search-select-item:hover {
	background-color: #3694E0;
}

.search-select select {
	display: none;
}

.btn-search {
	align-items: center;
	background-color: #0A222D;
	color: #FFF;
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: center;
	line-height: 1;
	padding-block: 0.4em 0.6em;
	padding-inline: 0.925em;
	position: relative;
	transition: background-color 0.3s;
}

.desktop .btn-search:hover {
	background-color: #3694E0;
}

.btn-search span {
	display: block;
	font-size: calc(12 / 18 * 1em);
	letter-spacing: 0.03em;
	white-space: nowrap;
}

.btn-search span:before {
	aspect-ratio: 1 / 1;
	background: url("../images/icon_search01.svg") no-repeat center/cover;
	content: "";
	display: block;
	margin-bottom: 0.425em;
	margin-inline: auto;
	width: calc(20 / 12 * 1em);
}

ul.sns {
	column-gap: 1.025em;
	display: flex;
	justify-content: center;
	margin-bottom: 0.525em;
}

ul.sns li {
	line-height: 1;
}

ul.sns li:has(img[src*="website"]) {
	padding-right: 0.2em;
}

ul.sns li:has(img[src*="youtube"]) {
	padding-left: 0.2em;
}

.desktop ul.sns li a:hover img {
	filter: brightness(1);
	opacity: 1;
	transition: filter 0.15s, opacity 0.3s;
}

ul.sns li img {
	filter: brightness(0);
	height: calc(25 / 18 * 1em);
	opacity: 0.65;
	transition: filter 0.3s, opacity 0.3s;
}

#footer {
	background-color: #F5F5F5;
	padding-block: calc(62 / 18 * 1em) calc(38 / 18 * 1em);
	text-align: center;
}

#footer .menu {
	column-gap: 2.625em;
	justify-content: center;
	margin-bottom: calc(96 / 18 * 1em);
}

#footer .menu li {
	font-size: calc(16 / 18 * 1em);
}

#footer .menu li a {
	font-weight: 700;
	position: relative;
	transition: color 0.15s;
}

#footer .menu li a:after {
	background-image: linear-gradient(to right, #3694E0, #3694E0 2px, transparent 2px, transparent 4px);
	background-position: center bottom;
	background-repeat: repeat-x;
	background-size: 4px 1px;
	bottom: -0.7em;
	content: "";
	display: block;
	height: 1px;
	left: 0;
	opacity: 0;
	position: absolute;
	transition: opacity 0.15s;
	width: 100%;
}

.desktop #footer .menu li a:hover {
	color: #999;
}

.desktop #footer .menu li a:hover:after {
	opacity: 1;
}

.copyright small {
	color: #999;
	font-family: "Roboto", sans-serif;
	font-size: calc(12 / 18 * 1em);
	letter-spacing: 0.05em;
}

.modal-global {
	background-color: #0A222D;
	height: 100%;
	left: 0;
	opacity: 0;
	overflow: auto;
	position: fixed;
	top: 0;
	transition: opacity 0.3s, visibility 0.3s;
	visibility: hidden;
	width: 100%;
	z-index: 100;
}

.modal-global .container {
	align-items: center;
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: center;
	min-height: calc(760 / 16 * 1em);
	padding-bottom: 11.25%;
	position: relative;
	width: 100%;
}

.modal-global .logo {
	width: calc(222 / 16 * 1em);
}

.modal-global .global {
	display: flex;
	justify-content: space-between;
	margin-top: calc(107 / 16 * 1em);
}

.modal-global ul.menu {
	flex-wrap: wrap;
	gap: calc(36 / 16 * 1em) 3.75%;
}

.modal-global ul.menu li {
	flex-basis: 27.25%;
}

.modal-global ul.menu li a {
	color: #FFF;
	font-size: calc(18 / 16 * 1em);
	transition: opacity 0.3s;
}

.modal-global ul.menu li a:after {
	display: none;
}

.desktop .modal-global ul.menu li a:hover {
	opacity: 0.6;
}

.modal-global .search-box {
	margin-top: calc(8 / 16 * 1em);
}

.modal-global .search-box form {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	margin-left: auto;
	position: relative;
	row-gap: calc(20 / 18 * 1em);
}

.modal-global .search-box form > * {
	flex-basis: 100%;
	font-size: calc(16 / 16 * 1em);
	height: calc(60 / 16 * 1em);
}

.modal-global .search-box form .search-select-output {
	background-color: rgba(255, 255, 255, 0.1);
	font-size: inherit;
}

.modal-global .search-box form .search-select select {
	cursor: pointer;
	display: block;
	height: 100%;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.modal-global .search-box form input[name="s"] {
	background-color: rgba(255, 255, 255, 0.1);
	color: #FFF;
	font-weight: 700;
	letter-spacing: 0.05em;
	padding-left: calc(23 / 16 * 1em);
	transition: background-color 0.3s;
	width: calc(401 / 16 * 1em);
}

.modal-global .search-box form input[name="s"]::placeholder {
	opacity: 0.2;
	transition: opacity 0.3s;
}

.modal-global .search-box form input[name="s"]:focus {
	background-color: #3694E0;
}

.modal-global .search-box form input[name="s"]:focus::placeholder {
	opacity: 1;
}

.modal-global .btn-search {
	background-color: transparent;
	bottom: 0;
	padding-block: 0.5em;
	padding-inline: 0.75em;
	position: absolute;
	right: 0;
}

.modal-global .btn-search span {
	font-size: calc(12 / 16 * 1em);
}

.modal-global .sns {
	column-gap: 1.15em;
	justify-content: flex-start;
	margin-top: calc(106 / 16 * 1em);
}

.desktop .modal-global .sns li a:hover img {
	filter: brightness(0) invert(1);
	opacity: 0.6;
	transition: opacity 0.3s;
}

.modal-global .sns li img {
	filter: brightness(0) invert(1);
	opacity: 1;
	transition: opacity 0.3s;
	width: calc(25 / 16 * 1em);
}

.modal-global .copyright {
	text-align: right;
}

.modal-global .copyright small {
	font-size: calc(12 / 16 * 1em);
}

body:not(#home) .content > article:not([class]),
body:not(#home) .content > section:not([class]) {
	padding-top: calc(60 / 18 * 1em);
}

body:not(#home) .title-main .en {
	margin-bottom: 0.275em;
}

body:not(#home) .title-main .jp {
	margin-top: 0.5em;
}

.wrap:has(> .block + .block) {
	display: flex;
}

.wrap:has(> .block + .block) .block:nth-child(1) {
	flex-basis: calc(300 / 1400 * 100%);
	flex-shrink: 0;
}

.wrap:has(> .block + .block) .block:nth-child(2) {
	flex-grow: 1;
}

.lead {
	font-size: calc(20 / 18 * 1em);
	line-height: 1.8;
	margin-bottom: 10em;
	text-align: center;
}

.tags {
	display: flex;
	gap: 0.4em;
	line-height: 1.35;
	margin-bottom: 0.4em;
	padding-top: calc(1 / 18 * 1em);
}

.tags span {
	background-color: #3694E0;
	color: #FFF;
	display: inline-block;
	font-size: calc(12 / 18 * 1em);
	font-weight: bold;
	letter-spacing: 0.08em;
	padding: 0.4em 1.125em 0.25em;
	vertical-align: top;
}

.tags span.new {
	background-color: #EF8C3A;
}

.editor-area > :first-child,
.text-area > :first-child {
	margin-block-start: 0;
}

.editor-area > :last-child,
.text-area > :last-child {
	margin-block-end: 0;
}

.editor-area h4,
.text-area h4 {
	color: #3694E0;
	font-size: calc(24 / 18 * 1em);
	font-weight: bold;
	line-height: 1.5;
	margin-block: 1.4em;
}

.editor-area p,
.text-area p {
	margin-block: 1.875em;
}

.editor-area table,
.text-area table {
	width: 100%;
}

.editor-area table th,
.editor-area table td,
.text-area table th,
.text-area table td {
	padding-block: calc(1.225em / 2);
}

.editor-area table th,
.text-area table th {
	font-weight: normal;
	text-align: left;
	vertical-align: top;
	width: 24%;
}

.editor-area a,
.text-area a {
	color: #3694E0;
	text-decoration: underline;
}

.desktop .editor-area a:hover,
.desktop
  .text-area a:hover {
	text-decoration: none;
}

.title-main {
	padding-inline: 0.5em;
	text-align: center;
}

.title-main .en {
	color: #0A222D;
	display: block;
	font-family: "Roboto", sans-serif;
	font-size: calc(66 / 18 * 1em);
	font-style: italic;
	font-weight: 900;
	letter-spacing: -0.01em;
	line-height: 1;
	margin-bottom: 0.175em;
}

.title-main .jp {
	align-items: center;
	color: #3694E0;
	column-gap: 0.8em;
	display: flex;
	font-family: "Gen Jyuu Gothic X", sans-serif;
	font-size: calc(16 / 18 * 1em);
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.1em;
	line-height: 1.35;
}

.title-main .jp:before,
.title-main .jp:after {
	background-color: #0A222D;
	content: "";
	display: block;
	height: 1px;
	width: calc(30 / 16 * 1em);
}

.title-main.align-left {
	text-align: left;
}

.title-main.align-left .jp {
	justify-content: flex-start;
}

.title-sub {
	color: #000;
	font-size: calc(24 / 18 * 1em);
	font-weight: bold;
	line-height: 1.35;
}

.title-ul {
	color: #222;
	font-size: calc(36 / 18 * 1em);
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 2.725em;
	text-align: center;
}

.title-ul:after {
	background-color: #3694E0;
	content: "";
	display: block;
	height: 2px;
	margin: 0.65em auto;
	width: calc(150 / 36 * 1em);
}

.title-ul.left {
	text-align: left;
}

.title-ul.left:after {
	margin-left: 0;
}

.list-books {
	grid-gap: calc(89 / 18 * 1em) calc(25 / 1100 * 100%);
	display: grid;
	gap: calc(89 / 18 * 1em) calc(25 / 1100 * 100%);
	grid-template-columns: repeat(auto-fill, minmax(calc(180 / 18 * 1em), 1fr));
	margin-block: calc(57 / 18 * 1em);
	overflow: hidden;
	padding-bottom: calc(36 / 18 * 1em);
	position: relative;
}

.list-books:not(.no-line):after {
	background-image: linear-gradient(to right, #AAA, #AAA 2px, transparent 2px, transparent 4px);
	background-position: center bottom;
	background-repeat: repeat-x;
	background-size: 4px 1px;
	bottom: 0;
	content: "";
	display: block;
	height: 1px;
	left: 0;
	position: absolute;
	width: 100%;
}

.list-books:not(.no-line) li:before {
	background-image: linear-gradient(to right, #AAA, #AAA 2px, transparent 2px, transparent 4px);
	background-position: center bottom;
	background-repeat: repeat-x;
	background-size: 4px 1px;
	content: "";
	display: block;
	height: 1px;
	left: 0;
	position: absolute;
	transform: translateY(calc(-54.5 / 18 * 1em));
	width: 100%;
}

.desktop .list-books li a:hover .img.cover:after {
	border: 3px solid #3694E0;
}

.desktop .list-books li a:hover .title {
	color: #3694E0;
}

.list-books li .img.cover {
	border: calc(13 / 18 * 1em) solid transparent;
	overflow: visible;
}

.list-books li .img.cover:before {
	padding-top: calc(250 / 172 * 100%);
}

.list-books li .img.cover:after {
	border: 1px solid #DDD;
	content: "";
	display: block;
	inset: calc(-13 / 18 * 1em);
	position: absolute;
	transition: border 0.1s;
}

.list-books li .img.cover img {
	object-fit: contain;
}

.list-books li .text {
	margin-top: 0.85em;
	padding-inline: 0.3em;
}

.list-books li .text:not(:has(.release)) {
	margin-top: 0.65em;
}

.list-books li .release {
	color: #3694E0;
	font-family: "Roboto", "游ゴシック", sans-serif;
	font-size: calc(14 / 18 * 1em);
	font-weight: 600;
	margin-bottom: 0.05em;
}

.list-books li .title {
	font-size: calc(16 / 18 * 1em);
	font-weight: bold;
	line-height: 1.625;
	transition: color 0.3s;
}

.list-news li {
	margin-bottom: 1em;
	padding-bottom: 1em;
	position: relative;
}

.list-news li:not(:last-child):after {
	background-image: linear-gradient(to right, #AAA, #AAA 4px, transparent 4px, transparent 8px);
	background-position: center bottom;
	background-repeat: repeat-x;
	background-size: 8px 1px;
	bottom: 0;
	content: "";
	display: block;
	height: 1px;
	left: 0;
	position: absolute;
	width: 100%;
}

.desktop .list-news a:hover .title {
	color: #444;
	text-decoration: none;
}

.list-news a h3 {
	color: #444;
	text-decoration: underline;
}

.list-news a:hover h3 {
	color: #3694E0;
	text-decoration: none;
}

.list-news .date,
.list-news .title {
	font-weight: bold;
}

.list-news .date {
	color: #999;
	display: block;
	font-size: calc(16 / 18 * 1em);
	line-height: 1.1;
}

.list-news .title {
	color: #3694E0;
	line-height: 1.75;
	/*text-decoration: underline;*/
	transition: color 0.3s;
}

.list-news-archive {
	margin-block: 7.4em 6em;
}

.list-news-archive li {
	position: relative;
}

.list-news-archive li.nolink {
	column-gap: 4.25em;
	display: flex;
	line-height: 1.75;
	padding-block: 1.8em 2em;
	transition: color 0.3s;
}

.list-news-archive li:after {
	background-image: linear-gradient(to right, #AAA, #AAA 2px, transparent 2px, transparent 4px);
	background-position: center bottom;
	background-repeat: repeat-x;
	background-size: 4px 1px;
	bottom: 0;
	content: "";
	display: block;
	height: 1px;
	left: 0;
	position: absolute;
	width: 100%;
}

.list-news-archive a {
	column-gap: 4.25em;
	display: flex;
	line-height: 1.75;
	padding-block: 1.8em 2em;
	transition: color 0.3s;
}

.desktop .list-news-archive a:hover {
	color: #3694E0;
}

.list-banner {
	margin-block: calc(66 / 18 * 1em);
}

.list-banner li {
	margin-block: calc(5 / 18 * 1em);
}

.desktop .list-banner a:hover .img.cover:after {
	border: 2px solid #3694E0;
}

.list-banner .img.cover:before {
	padding-top: calc(100 / 400 * 100%);
}

.list-banner .img.cover:after {
	border: 1px solid #DDD;
	content: "";
	display: block;
	inset: 0;
	position: absolute;
	transition: border 0.1s;
}

.list-purchase,
.list-magazine {
	grid-gap: calc(36 / 18 * 1em) calc(25 / 1600 * 100%);
	display: grid;
	gap: calc(36 / 18 * 1em) calc(25 / 1600 * 100%);
	grid-template-columns: repeat(auto-fill, minmax(calc(260 / 18 * 1em), 1fr));
	margin-block: calc(47 / 18 * 1em) calc(25 / 18 * 1em);
}

.desktop .list-purchase a:hover .img:after,
.desktop .list-magazine a:hover .img:after {
	border: 2px solid #3694E0;
}

.list-purchase .img,
.list-magazine .img {
	position: relative;
}

.list-purchase .img.cover:before,
.list-magazine .img.cover:before {
	padding-top: calc(115 / 300 * 100%);
}

.list-purchase .img:after,
.list-magazine .img:after {
	border: 1px solid #DDD;
	content: "";
	display: block;
	inset: 0;
	position: absolute;
	transition: border 0.1s;
}

.list-purchase {
	gap: calc(24 / 18 * 1em) calc(39 / 978 * 100%);
	grid-template-columns: repeat(3, minmax(calc(200 / 18 * 1em), 1fr));
	margin-block: calc(3 / 18 * 1em) calc(81 / 18 * 1em);
}

.list-purchase .img img {
	width: 100%;
}

.list-pdf {
	grid-gap: calc(27.5 / 18 * 1em) calc(25 / 1400 * 100%);
	display: grid;
	gap: calc(27.5 / 18 * 1em) calc(25 / 1400 * 100%);
	grid-template-columns: repeat(auto-fit, minmax(calc(300 / 18 * 1em), 1fr));
	margin-block: calc(47 / 18 * 1em) calc(25 / 18 * 1em);
}

.list-pdf a {
	align-items: center;
	display: flex;
	font-weight: bold;
	justify-content: center;
	line-height: 1.25;
	min-height: calc(80 / 18 * 1em);
	padding: 0.5em 2em;
	position: relative;
	text-align: center;
	width: 100%;
}

.list-pdf a:before {
	border: 1px solid #DDD;
	content: "";
	display: block;
	inset: 0;
	position: absolute;
	transition: border 0.1s;
}

.list-pdf a:after {
	background: url("../images/icon_pdf01.svg") no-repeat center/cover;
	content: "";
	display: block;
	height: calc(19 / 18 * 1em);
	position: absolute;
	right: 0.85em;
	width: calc(14 / 18 * 1em);
}

.desktop .list-pdf a:hover:before {
	border: 2px solid #3694E0;
}

.list-sitemap {
	display: flex;
	line-height: 1.5;
	margin-block: 5.95em;
}

.list-sitemap > ul {
	display: flex;
	flex-direction: column;
	row-gap: 1.95em;
}

.list-sitemap > ul > li {
	letter-spacing: 0.03em;
}

.list-sitemap > ul > li a,
.list-sitemap > ul > li span {
	font-weight: bold;
}

.list-sitemap > ul > li a {
	transition: color 0.3s;
}

.desktop .list-sitemap > ul > li a:hover {
	color: #3694E0;
}

.list-sitemap > ul > li > ul {
	grid-gap: 1.5em;
	display: grid;
	gap: 1.5em;
	grid-auto-flow: column;
	grid-template-rows: repeat(5, auto);
	margin-block: 1.1em;
	max-width: 25.875em;
	padding-inline: 0.55em;
}

.list-sitemap > ul > li > ul > li {
	font-size: calc(16 / 18 * 1em);
}

.list-sitemap > ul > li > ul > li:before {
	content: "-";
	margin-right: 0.25em;
}

.list-sitemap > ul.first {
	flex-basis: 50%;
}

.list-sitemap > ul.main {
	flex-basis: 29.2%;
}

.list-sitemap > ul.sub {
	flex-shrink: 1;
}

body.page .content .inner {
	margin-block: calc(70 / 18 * 1em) calc(140 / 18 * 1em);
}

body.page .lead {
	margin-bottom: 3.125em;
	min-height: calc(97 / 18 * 1em);
}

.area-halftone {
	padding: 2.5em 2.8em 2.8em;
}

.area-halftone a[href^="mailto:"] {
	transition: color 0.3s;
}

.desktop .area-halftone a[href^="mailto:"]:hover {
	color: #3694E0;
}

.area-halftone dl {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25em 1em;
	justify-content: space-between;
}

.area-halftone dl dt {
	flex-basis: 100%;
	margin-bottom: 1.4em;
}

.area-halftone dl dt:not(:first-of-type) {
	margin-top: 2em;
}

.area-halftone dl dt h3 {
	font-size: calc(24 / 18 * 1em);
	font-weight: bold;
	line-height: 1.5;
}

.area-halftone dl dt p {
	color: #000;
	font-size: calc(20 / 18 * 1em);
	line-height: 1.8;
	margin-block: 1.05em 0.775em;
}

.area-halftone dl dd {
	flex-basis: calc(50% - 2.5em);
	font-size: calc(20 / 18 * 1em);
}

.pagination {
	display: flex;
	flex-wrap: wrap;
	gap: calc(20 / 18 * 1em);
	justify-content: center;
	margin-block: 6.05em 7.25em;
}

.pagination li > * {
	align-items: center;
	aspect-ratio: 1 / 1;
	background-color: #0A222D;
	color: #FFF;
	display: flex;
	font-size: calc(16 / 18 * 1em);
	font-weight: bold;
	justify-content: center;
	width: calc(40 / 16 * 1em);
}

.pagination li.number > span {
	background-color: #3694E0;
}

.pagination li.prev > *,
.pagination li.next > * {
	/*overflow: hidden;
	text-indent: 300%;
	white-space: nowrap;*/
	color: transparent;
}

.pagination li.prev > *:before,
.pagination li.next > *:before {
	aspect-ratio: 1 / 1;
	/*border: 1px solid currentColor;*/
	border: 1px solid #FFF;
	border-bottom: none;
	border-right: none;
	content: "";
	display: block;
	margin-right: -0.25em;
	position: absolute;
	transform: rotate(-45deg);
	width: calc(8.5 / 16 * 1em);
}

.pagination li.next {
	transform: scaleX(-1);
}

.pagination li > a {
	transition: background-color 0.3s;
}

.desktop .pagination li > a:hover {
	background-color: #3694E0;
}

.table-data {
	margin-block: 7.8em;
}

.table-data dl {
	border-bottom: 1px solid #BBB;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	padding-block: 2.4325em;
}

.table-data dl dt,
.table-data dl dd {
	padding-inline: 1.6em;
}

.table-data dl dt {
	flex-grow: 1;
	padding-inline-start: 2.8em;
}

.table-data dl dd {
	flex-basis: calc(1000 / 1400 * 100%);
}

.table-data dl dd:not(:first-of-type) {
	margin-top: 2.25em;
	padding-top: 2.25em;
	position: relative;
}

.table-data dl dd:not(:first-of-type):before {
	background-image: linear-gradient(to right, #AAA, #AAA 4px, transparent 4px, transparent 8px);
	background-position: center bottom;
	background-repeat: repeat-x;
	background-size: 8px 1px;
	content: "";
	display: block;
	height: 1px;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.table-data h3,
.table-data h4 {
	font-weight: bold;
}

.table-data h4 + p {
	margin-top: 0.4em;
}

.table-data a {
	transition: color 0.3s;
}

.desktop .table-data a:hover {
	color: #3694E0;
}

.js-seemore {
	position: relative;
}

.js-seemore:after {
	background: linear-gradient(0deg, white 50%, rgba(255, 255, 255, 0) 100%);
	bottom: 0;
	content: "";
	display: block;
	height: calc(100 / 18 * 1em);
	position: absolute;
	transition: opacity 0.3s, visibility 0.3s;
	width: 100%;
}

.js-seemore-container {
	max-height: calc(226 / 18 * 1em);
	overflow: hidden;
}

.js-seemore.is-animated .js-seemore-container,
.js-seemore.is-animate .js-seemore-container {
	max-height: none !important;
}

.js-seemore.is-deactive .btn-seemore,
.js-seemore.is-deactive:after,
.js-seemore.is-animated .btn-seemore,
.js-seemore.is-animated:after {
	opacity: 0;
	visibility: hidden;
}

.js-seemore.is-deactive .btn-seemore,
.js-seemore.is-deactive:after {
	transition: none;
}

.btn-seemore {
	align-items: center;
	bottom: -1.1em;
	display: flex;
	justify-content: center;
	left: 50%;
	line-height: 1;
	padding: calc(10 / 18 * 1em) calc(20 / 18 * 1em);
	position: absolute;
	transform: translateX(-50%);
	transition: opacity 0.3s, visibility 0.3s;
	z-index: 1;
}

.btn-seemore span {
	align-items: center;
	color: #3694E0;
	display: flex;
	font-size: calc(20 / 18 * 1em);
	font-weight: bold;
	padding-left: 1.5em;
	position: relative;
	transition: color 0.1s, opacity 0.2s;
}

.btn-seemore span:after,
.btn-seemore span:before {
	background-color: currentColor;
	content: "";
	display: block;
	height: calc(1.5 / 20 * 1em);
	left: 0;
	position: absolute;
	width: calc(18 / 20 * 1em);
}

.btn-seemore span:after {
	transform: rotate(90deg);
}

.desktop .btn-seemore:hover span {
	opacity: 0.65;
}

.btn-seemore:disabled span {
	color: #999;
}

.nav-category:has(.js-sub-active) + .js-nav-sub-category {
	transform: translateY(100%);
}

.main-category a[data-target].is-active {
	background-color: #3694E0;
}

.js-nav-sub-category {
	background-color: #3694E0;
	height: calc(70 / 18 * 1em);
	margin-top: calc(-70 / 18 * 1em);
	position: relative;
	transition: transform 0.3s;
	z-index: -2;
}

.js-nav-sub-category.is-open {
	transform: translateY(100%);
}

.js-nav-sub-category .inner {
	height: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	position: relative;
	scroll-behavior: smooth;
	scrollbar-width: none;
}

.js-nav-sub-category ul {
	background-color: #3694E0;
	display: none;
	height: 100%;
	position: absolute;
	width: calc(100% - 40px * 2);
}

.js-nav-sub-category ul:hover,
.js-nav-sub-category ul.is-active {
	display: flex;
}

.js-nav-sub-category ul > li {
	padding-right: 2.9em;
}

.js-nav-sub-category ul > li > a {
	align-items: center;
	color: #FFF;
	display: flex;
	font-size: calc(16 / 18 * 1em);
	font-weight: 700;
	height: 100%;
	letter-spacing: 0.03em;
	position: relative;
	white-space: nowrap;
}

.js-nav-sub-category ul > li > a:before {
	aspect-ratio: 1 / 1;
	border: 1px solid currentColor;
	border-left: none;
	border-top: none;
	content: "";
	display: inline-block;
	margin-inline: -0.25em 0.6em;
	position: relative;
	top: calc(-0.5 / 16 * 1em);
	transform: rotate(-45deg);
	width: calc(9 / 18 * 1em);
}

.js-nav-sub-category ul > li > a:after {
	background-image: linear-gradient(to right, #FFF, #FFF 2px, transparent 2px, transparent 4px);
	background-position: center bottom;
	background-repeat: repeat-x;
	background-size: 4px 1px;
	content: "";
	display: block;
	height: 1px;
	margin-top: 1.75em;
	opacity: 0;
	position: absolute;
	transition: opacity 0.15s;
	width: 100%;
}

.desktop .js-nav-sub-category ul > li > a:hover:after {
	opacity: 1;
}

[data-grabbing="true"] * {
	cursor: grabbing;
}

.breadcrumb {
	line-height: 1.5;
	padding-block: 0.95em;
}

.breadcrumb [property="itemListElement"] {
	display: inline-block;
}

.breadcrumb [property="itemListElement"]:not(:last-child):after {
	aspect-ratio: 1 / 1;
	border: 1.5px solid #BBB;
	border-left: none;
	border-top: none;
	content: "";
	display: inline-block;
	margin-inline: 0.45em 0.8em;
	position: relative;
	top: calc(-1.75 / 18 * 1em);
	transform: rotate(-45deg);
	width: calc(6 / 18 * 1em);
}

.breadcrumb [property="itemListElement"] [property="name"] {
	display: inline-block;
	font-size: calc(13.02 / 18 * 1em);
	transform: scaleY(1.07527);
}

.breadcrumb [property="itemListElement"] {
	color: #BBB;
}

.breadcrumb .current-item {
	color: #BBB;
}

.breadcrumb a {
	transition: color 0.3s;
}

.desktop .breadcrumb a:hover {
	color: #BBB;
}

.btn > * {
	align-items: center;
	background-color: #0A222D;
	border-radius: calc(30 / 18 * 1em);
	color: #FFF;
	display: flex;
	font-weight: bold;
	height: calc(60 / 18 * 1em);
	justify-content: center;
	max-width: calc(360 / 18 * 1em);
	padding-inline: 2em;
	transition: background-color 0.3s;
	width: 100%;
}

.desktop .btn > *:hover {
	background-color: #3694E0;
}

.btn.hover-reverse > * {
	background-color: #3694E0;
}

.desktop .btn.hover-reverse > *:hover {
	background-color: #0A222D;
}

.btn.center > * {
	margin-inline: auto;
}

.btn.mid > * {
	border-radius: calc(30 / 16 * 1em);
	font-size: calc(16 / 18 * 1em);
	height: calc(60 / 16 * 1em);
}

.btn.arrow > *:before {
	aspect-ratio: 1 / 1;
	border: 1px solid currentColor;
	border-left: none;
	border-top: none;
	content: "";
	display: inline-block;
	margin-inline: -0.25em 0.925em;
	position: relative;
	top: 0;
	transform: rotate(-45deg);
	width: calc(8.5 / 18 * 1em);
}

.swiper-button-prev,
.swiper-button-next {
	height: calc(60 / 18 * 1em);
	margin-top: calc(-30 / 18 * 1em);
	transition: opacity 0.3s;
	width: calc(24 / 18 * 1em);
}

.swiper-button-prev:before,
.swiper-button-next:before {
	background: url("../images/arrow01.svg") no-repeat center/cover;
	content: "";
	display: block;
	height: 100%;
	width: 100%;
}

.swiper-button-prev:after,
.swiper-button-next:after {
	display: none;
}

.desktop .swiper-button-prev:hover,
.desktop .swiper-button-next:hover {
	opacity: 0.7;
}

.swiper-button-prev {
	left: calc(-10 / 18 * 1em);
}

.swiper-button-prev:before {
	transform: scaleX(-1);
}

.swiper-button-next {
	right: calc(-10 / 18 * 1em);
}

.fslightbox-toolbar-button:nth-child(4),
.fslightbox-toolbar-button:nth-child(3) {
	display: none;
}

body#advertising #documents {
	margin-top: calc(139 / 18 * 1em);
	padding-bottom: calc(12 / 18 * 1em);
}

body#advertising #documents .note {
	color: #000;
	font-size: calc(20 / 18 * 1em);
	line-height: 1.8;
	margin-bottom: 5em;
	text-align: center;
}

body#advertising .magazine-monthly {
	border-top: 1px solid #BBB;
	margin-top: calc(183 / 18 * 1em);
}

body#advertising .magazine-monthly .genre {
	border-bottom: 1px solid #BBB;
	padding-top: calc(66 / 18 * 1em);
}

body#book.archive .content .inner {
	margin-block: calc(128 / 18 * 1em) calc(100 / 18 * 1em);
}

body#book.archive .head {
	margin-block: -0.45em 9.5em;
	text-align: center;
}

body#book.archive .head .title-ul {
	margin-bottom: 0.75em;
}

body#book.archive .head .links h4 {
	font-size: calc(14 / 18 * 1em);
	margin-bottom: 1em;
}

body#book.single #information {
	column-gap: calc(50 / 18 * 1em);
	padding-top: calc(58 / 18 * 1em);
}

body#book.single #information .block:nth-child(1) {
	flex-basis: calc(400 / 18 * 1em);
}

body#book.single #information .img {
	max-width: calc(400 / 18 * 1em);
}

body#book.single #information .img img {
	height: 100%;
	max-height: calc(500 / 18 * 1em);
	object-fit: contain;
	object-position: top center;
	width: 100%;
}

body#book.single #information .title {
	font-size: calc(30 / 18 * 1em);
	font-weight: bold;
	line-height: 1.35;
}

body#book.single #information .release {
	color: #3694E0;
	font-size: calc(16 / 18 * 1em);
	line-height: 1.5;
	margin-block: 0.9em;
}

body#book.single #information .author {
	font-size: calc(20 / 18 * 1em);
	font-weight: bold;
	line-height: 1.5;
	margin-block: 1em;
}

body#book.single #information .price {
	line-height: 1.5;
	margin-block: 1em;
}

body#book.single #information .price .in-tax {
	font-size: calc(20 / 18 * 1em);
	font-weight: bold;
}

body#book.single #information .price .detail {
	font-size: calc(16 / 18 * 1em);
}

body#book.single #information ~ section {
	border-top: 1px solid #BBB;
	margin-top: calc(67 / 18 * 1em);
	padding-top: calc(66 / 18 * 1em);
}

body#book.single .inner:not(:has(#purchase)) + #related {
	margin-top: calc(67 / 18 * 1em);
}

body#book.single #related {
	border-top: 1px solid #BBB;
	padding-block: calc(66 / 18 * 1em) calc(14 / 18 * 1em);
}

body#book.single #information .isbn {
	font-size: calc(16 / 18 * 1em);
	font-weight: bold;
}

body#book.single #footer {
	margin-top: calc(81 / 18 * 1em);
}

body#company .content .inner {
	margin-block: calc(124 / 18 * 1em) calc(152 / 18 * 1em);
}

body#company .content .wrap:not(:first-of-type) {
	border-top: 1px solid #BBB;
	margin-block-end: calc(81 / 18 * 1em);
	margin-block-start: calc(76 / 18 * 1em);
	padding-block-start: calc(75 / 18 * 1em);
}

body#company .content .wrap .block:nth-child(1) {
	flex-basis: calc(306 / 1400 * 100%);
}

body#contact .content .inner {
	margin-block: calc(146 / 18 * 1em) calc(172 / 18 * 1em);
}

body#contact .content .inner .title-ul {
	margin-bottom: 1.5em;
}

body#contact .content .inner > p {
	text-align: center;
}

body#contact .content .inner .btn.back {
	margin-top: 3.5em;
}

body#contact .content .inner .btn.back > * {
	margin-inline: auto;
}

body#contact .wpcf7 {
	margin-block: 2.5em;
}

body#contact .wpcf7 .form-group {
	align-items: center;
	border-bottom: 1px solid #BBB;
	column-gap: calc(61 / 18 * 1em);
	display: flex;
	justify-content: space-between;
	padding-block: calc(34 / 18 * 1em);
}

body#contact .wpcf7 .form-group dt {
	align-items: center;
	display: flex;
	flex-grow: 1;
	font-weight: bold;
	height: calc(57 / 18 * 1em);
	justify-content: space-between;
	margin-bottom: auto;
	padding-left: calc(50 / 1400 * 100%);
}

body#contact .wpcf7 .form-group dt * {
	font-weight: inherit;
}

body#contact .wpcf7 .form-group dt label {
	align-items: center;
	display: flex;
	justify-content: space-between;
	width: 100%;
}

body#contact .wpcf7 .form-group dt .req {
	align-items: center;
	background-color: #3694E0;
	color: #FFF;
	display: flex;
	font-family: "Gen Jyuu Gothic X", sans-serif;
	font-size: 10px;
	height: 20px;
	justify-content: center;
	letter-spacing: 0.1em;
	line-height: 1;
	width: 40px;
}

body#contact .wpcf7 .form-group dd {
	flex-basis: calc(970 / 1400 * 100%);
	padding-right: calc(65 / 1400 * 100%);
}

body#contact .wpcf7 input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
body#contact .wpcf7 textarea:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]) {
	border: 1px solid #BBB;
	height: calc(57 / 18 * 1em);
	line-height: 1.75;
	padding: 0.66em 1em;
	transition: border-color 0.1s;
	width: 100%;
}

body#contact .wpcf7 input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):focus,
body#contact .wpcf7 textarea:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):focus {
	border-color: #3694E0;
}

body#contact .wpcf7 input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	opacity: 0;
	position: absolute;
}

body#contact .wpcf7 input[type="checkbox"] + span {
	align-items: center;
	column-gap: 0.7em;
	display: flex;
	justify-content: center;
}

body#contact .wpcf7 input[type="checkbox"] + span:before {
	background-color: #FFF;
	border: 1px solid #7f7f7f;
	border-radius: calc(3 / 18 * 1em);
	content: "";
	display: inline-block;
	height: calc(20 / 18 * 1em);
	margin-bottom: 0.2em;
	width: calc(20 / 18 * 1em);
}

body#contact .wpcf7 input[type="checkbox"]:checked + span:before {
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpolyline fill='none' stroke='%233694E0' stroke-width='3' points='2,7.3 7.3,12.7 18,2 '/%3E%3C/svg%3E");
	background-position: 0 calc(2 / 18 * 1em);
	background-repeat: no-repeat;
}

body#contact .wpcf7 textarea:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]) {
	height: calc(182 / 18 * 1em);
}

body#contact .wpcf7 .zipcode {
	display: flex;
	padding-top: 0.6em;
}

body#contact .wpcf7 .zipcode a {
	color: #3694E0;
	font-size: calc(16 / 18 * 1em);
	text-decoration: underline;
}

.desktop body#contact .wpcf7 .zipcode a:hover {
	text-decoration: none;
}

body#contact .wpcf7 .zipcode .wpcf7-form-control-wrap {
	margin-inline: 0.8em 1.25em;
	margin-top: -0.6em;
	position: relative;
}

body#contact .wpcf7 .zipcode .wpcf7-form-control-wrap:after {
	content: "（例：1234567）";
	display: block;
	font-size: calc(14 / 18 * 1em);
	left: -0.5em;
	line-height: 1;
	position: absolute;
	top: calc(68 / 14 * 1em);
}

body#contact .wpcf7 .zipcode .wpcf7-form-control-wrap input {
	margin-bottom: 1.5em;
	max-width: calc(300 / 18 * 1em);
}

body#contact .wpcf7 .addr,
body#contact .wpcf7 .addr2 {
	margin-top: calc(23 / 18 * 1em);
}

body#contact .wpcf7 .addr2 {
	padding-bottom: 0.325em;
}

body#contact .wpcf7 .addr2 .wpcf7-form-control-wrap {
	display: block;
	position: relative;
}

body#contact .wpcf7 .addr2 .wpcf7-form-control-wrap:after {
	content: "（番地・建物名・室番）";
	display: block;
	font-size: calc(14 / 18 * 1em);
	left: -0.5em;
	line-height: 1;
	position: absolute;
	top: calc(68 / 14 * 1em);
}

body#contact .wpcf7 .addr2 .wpcf7-form-control-wrap input {
	margin-bottom: 1.5em;
}

body#contact .wpcf7 .btn-zip-search {
	margin-block: 1.325em 2.05em;
}

body#contact .wpcf7 .btn-wrap > *:not(.wpcf7-spinner) {
	align-items: center;
	background-color: #0A222D;
	color: #FFF;
	cursor: pointer;
	display: flex;
	font-size: calc(16 / 18 * 1em);
	height: calc(30 / 16 * 1em);
	justify-content: center;
	text-align: center;
	transition: background-color 0.3s;
	width: calc(300 / 16 * 1em);
	justify-content: center;
}

.desktop body#contact .wpcf7 .btn-zip-search > *:hover {
	background-color: #3694E0;
}

body#contact .wpcf7 .btn-wrap {
	column-gap: calc(32 / 18 * 1em);
	display: flex;
	justify-content: center;
	margin-top: 5em;
}

body#contact .wpcf7 .btn-wrap > *:not(.wpcf7-spinner) {
	background-color: #0A222D;
	color: #FFF;
	display: flex;
	font-size: calc(20 / 18 * 1em);
	font-weight: bold;
	height: calc(81 / 20 * 1em);
	letter-spacing: 0.1em;
	transition: background-color 0.3s;
	width: calc(291 / 20 * 1em);
}

.desktop body#contact .wpcf7 .btn-wrap > *:hover {
	background-color: #3694E0;
}

body#contact .wpcf7 .agree {
	margin-top: 5em;
	padding: 2.9em 1.5em 2.45em;
	text-align: center;
}

body#contact .wpcf7 .agree p:has(a) {
	margin-block: 2em 1.75em;
}

body#contact .wpcf7 .agree a {
	color: #3694E0;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-decoration: underline;
}

.desktop body#contact .wpcf7 .agree a:hover {
	text-decoration: none;
}

body#contact .wpcf7 .agree + .btn-wrap {
	margin-top: calc(63.5 / 18 * 1em);
}

body#contact .wpcf7 .confirm-input {
	line-height: 1.75;
}

body#contact .wpcf7-not-valid-tip {
	color: #EF8C3A;
	font-size: calc(14 / 18 * 1em);
	line-height: 1.5;
	padding: 0.25em 0;
}

body#contact .wpcf7 textarea + .wpcf7-not-valid-tip {
	margin-top: -0.5em;
}

body#contact .wpcf7-response-output {
	border: 1px solid currentColor;
	color: #3694E0;
	margin-top: 5em;
	padding: 1em 1.5em;
	text-align: center;
}

body#contact .wpcf7-spinner {
	display: none;
}

body:not(:has(.wpcf7)) .grecaptcha-badge {
	pointer-events: none;
	visibility: hidden;
}

#home .hero {
	overflow: hidden;
	padding-top: calc(20 / 18 * 1em);
}

#home .hero .kv-swiper {
	margin-inline: auto;
	max-width: calc(1370 / 18 * 1em);
	overflow: visible;
}

#home .hero .kv-swiper:after,
#home .hero .kv-swiper:before {
	content: "";
	display: block;
	height: 100%;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 2;
}

#home .hero .kv-swiper:before {
	left: 100%;
}

#home .hero .kv-swiper:after {
	right: 100%;
}

#home .hero .kv-swiper .swiper-slide {
	margin: 0 calc(35 / 18 * 1em);
	max-width: calc(1300 / 18 * 1em);
}

#home .hero .kv-swiper .swiper-slide a {
	transition: opacity 0.3s;
}

.desktop #home .hero .kv-swiper .swiper-slide a:hover {
	opacity: 0.7;
}

#home .hero .kv-swiper .img.cover:before {
	padding-top: calc(550 / 1300 * 100%);
}

#home .inner:has(#new-books) {
	column-gap: 40px;
	display: flex;
	justify-content: space-between;
	padding-top: calc(106 / 18 * 1em);
}

#home #new-books {
	flex-basis: calc(1100 / 1600 * 100%);
}

#home #new-books > .wrap {
	align-items: flex-end;
	display: flex;
	justify-content: space-between;
}

#home #new-books > .wrap .btn {
	width: calc(250 / 18 * 1em);
}

#home #side {
	flex-basis: calc(400 / 18 * 1em);
}

#home #news .wrap {
	margin-block: calc(57 / 18 * 1em);
}

#home #news .btn {
	margin-top: -0.3em;
}

#home #group-site {
	margin-block: calc(94 / 18 * 1em) calc(57 / 18 * 1em);
}

#home #magazine > .inner {
	margin-top: calc(108 / 18 * 1em);
	padding-block: calc(82 / 18 * 1em) calc(72 / 18 * 1em);
}

#home #magazine .title-main .jp {
	margin-top: 1.175em;
}

body#law .table-data {
	margin-bottom: 11.2em;
}

body#new-books .content .inner {
	margin-block: calc(128 / 18 * 1em) calc(130 / 18 * 1em);
}

body#news.single .head {
	margin-top: 6.95em;
}

body#news.single .head .title-ul {
	margin-bottom: 0;
}

body#news.single .head .date {
	display: block;
	font-size: calc(16 / 18 * 1em);
	margin-top: -0.5em;
}

body#news.single .editor-area {
	margin-block: 6.5em;
}

body#news.single #recent {
	padding-block: calc(30 / 18 * 1em) calc(144 / 18 * 1em);
}

body#news.single #recent .title-ul {
	margin-bottom: 1em;
}

body#news.single #recent .list-news-archive {
	margin-block: 2.5em 3.5em;
}

.editor-area h1,
.editor-area h2,
.editor-area h3,
.editor-area h4 {
	color: #3694E0;
	font-size: calc(30 / 18 * 1em);
	font-weight: bold;
	line-height: 1.5;
	margin-block: 1.875em;
}

.editor-area h5 {
	color: #222;
	font-size: calc(24 / 18 * 1em);
	font-weight: bold;
	line-height: 1.75;
	margin-block: 2em;
}

.editor-area h5:after {
	background-color: #3694E0;
	content: "";
	display: inline-block;
	height: calc(2 / 24 * 1em);
	margin-left: 1em;
	margin-top: -0.25em;
	vertical-align: middle;
	width: calc(50 / 24 * 1em);
}

.editor-area h6 {
	color: #222;
	font-weight: bold;
	margin-block: 1.875em;
}

.editor-area ul,
.editor-area ol {
	margin-block: 1.875em;
}

.editor-area ul li,
.editor-area ol li {
	line-height: 1.5;
	list-style: none;
	margin-block: 1.5em;
	padding-left: 2.75em;
	position: relative;
}

.editor-area ul li:before,
.editor-area ol li:before {
	content: "";
	display: inline-block;
	left: 0.5em;
	position: absolute;
}

.editor-area ul li:before {
	background-color: #3694E0;
	height: calc(2 / 18 * 1em);
	top: 0.65em;
	width: calc(20 / 18 * 1em);
}

.editor-area ol {
	counter-reset: num;
}

.editor-area ol li {
	counter-increment: num;
}

.editor-area ol li:before {
	color: #3694E0;
	content: counter(num) ".";
	font-weight: bold;
}

.editor-area table {
	margin-block: 1.875em 3.5em;
}

.editor-area table th {
	font-size: calc(20 / 18 * 1em);
	font-weight: bold;
}

.editor-area img {
	max-width: 100%;
	width: auto;
}

.editor-area img.alignleft {
	float: left;
	margin: 0.5em calc(50 / 18 * 1em) 1.875em 0;
}

.editor-area img.aligncenter {
	clear: both;
	display: block;
	margin: 0.5em auto 1.875em auto;
}

.editor-area img.alignright {
	float: right;
	margin: 0.5em 0 1.875em calc(50 / 18 * 1em);
}

.editor-area .alignnone {
	margin-block: 1.875em;
}

.editor-area .wp-caption-text {
	font-size: calc(14 / 18 * 1em);
	margin-block: 0.5em;
}

.editor-area blockquote {
	margin-block: 1.875em;
	padding: 0.5em 2em 1em;
}

body#privacy .text-area {
	margin-block: 6.5em;
}

body#privacy .text-area h3 {
	font-size: calc(36 / 18 * 1em);
	font-weight: bold;
	line-height: 1.5;
	margin-top: 2.8em;
}

body#privacy .text-area h3:after {
	background-color: #3694E0;
	content: "";
	display: block;
	height: calc(2 / 36 * 1em);
	margin-top: 0.525em;
	position: relative;
	top: 0.125em;
	width: calc(150 / 36 * 1em);
}

body#privacy .text-area h3:first-of-type {
	margin-top: 2.5em;
}

body#privacy #contact {
	margin-top: 8.1em;
}

body#privacy #contact p {
	font-feature-settings: 'halt';
	width: 101%;
}

body#recruit .content .inner {
	margin-block: calc(128 / 18 * 1em) calc(129 / 18 * 1em);
}

body#recruit .job {
	border: 1px solid #BBB;
	margin-block: calc(75 / 18 * 1em);
	padding-bottom: calc(16 / 18 * 1em);
}

body#recruit .job .head {
	padding: calc(43 / 18 * 1em) calc(49 / 18 * 1em);
}

body#recruit .job .title {
	color: #3694E0;
	font-size: calc(30 / 18 * 1em);
	font-weight: bold;
	line-height: 1.5;
}

body#recruit .job .outline {
	margin-top: 2.375em;
}

body#recruit .job .outline a {
	color: #3694E0;
	text-decoration: underline;
}

body#recruit .job .outline a:hover {
	color: #444;
	text-decoration: none;
}

body#recruit .job .detail dl {
	display: flex;
	padding: calc(30 / 18 * 1em) calc(49 / 18 * 1em);
	position: relative;
}

body#recruit .job .detail dl:before {
	background-color: #3694E0;
	content: "";
	display: block;
	height: calc(2 / 18 * 1em);
	left: 0;
	position: absolute;
	top: 0;
	width: calc(100 / 18 * 1em);
}

body#recruit .job .detail dl dt {
	flex-basis: 20.2%;
}

body#recruit .job .js-seemore:after {
	height: calc(180 / 18 * 1em);
}

body#recruit .job .js-seemore-container {
	max-height: calc(80 / 18 * 1em);
}

body#recruit .job .btn-seemore {
	bottom: 2em;
	left: 50%;
}

body#schedule .content .inner {
	margin-block: calc(70 / 18 * 1em) calc(64 / 18 * 1em);
}

body#schedule .wrap .block:nth-child(1) {
	flex-basis: calc(306 / 1400 * 100%);
}

body#schedule .schedule-monthly {
	margin-top: calc(106 / 18 * 1em);
}

body#schedule .schedule-monthly:not(:last-of-type) {
	border-bottom: 1px solid #BBB;
}

body#schedule .schedule-monthly .title-ul {
	word-break: keep-all;
}

body#schedule .schedule-monthly .genre:not(:last-of-type) {
	border-bottom: 1px solid #BBB;
	margin-bottom: calc(50 / 18 * 1em);
}

body#schedule .schedule-monthly .js-seemore:after {
	background: linear-gradient(0deg, white 55%, rgba(255, 255, 255, 0) 80%);
	height: calc(200 / 18 * 1em);
}

body#schedule .schedule-monthly .btn-seemore {
	bottom: 2.8em;
	left: 50%;
}

body#schedule .schedule-day {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em calc(94 / 1094 * 100%);
	margin-bottom: calc(25.25 / 18 * 1em);
	padding-bottom: calc(26 / 18 * 1em);
	position: relative;
}

body#schedule .schedule-day:not(:last-of-type):after {
	background-image: linear-gradient(to right, #AAA, #AAA 4px, transparent 4px, transparent 8px);
	background-position: center bottom;
	background-repeat: repeat-x;
	background-size: 8px 1px;
	bottom: 0;
	content: "";
	display: block;
	height: 1px;
	left: 0;
	position: absolute;
	width: 100%;
}

body#schedule .schedule-day .date {
	color: #3694E0;
	flex-basis: 100%;
	font-weight: bold;
	margin-bottom: 0.25em;
}

body#schedule .schedule-day .title {
	flex-basis: calc(500 / 1094 * 100%);
}

body#schedule .schedule-day .title a {
	color: #3694E0;
	text-decoration: underline;
}

body#schedule .schedule-day .title a:hover {
	color: #444;
	text-decoration: none;
}

body#search .content .inner {
	margin-block: calc(128 / 18 * 1em) calc(130 / 18 * 1em);
}

body#search .head {
	background-color: #f5f5f5;
	margin-bottom: 3.5em;
	padding: 2.25em 1em;
	text-align: center;
}

body#search .head p {
	font-weight: bold;
}

body#search .head .keyword {
	display: inline-block;
	font-weight: inherit;
	margin-right: 0.5em;
}

body#search .head .keyword:before,
body#search .head .keyword:after {
	content: '"';
}

body#sitemap .list-sitemap {
	margin-bottom: 11.2em;
}

body#to-bookstores #documents {
	margin-top: calc(126 / 18 * 1em);
}

body#to-bookstores #documents .title-ul {
	margin-bottom: 2.5em;
}

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

.modal-global .search-box {
	font-size: 85%;
}

.area-halftone {
	font-size: 90%;
}

}

@media (min-width: 681px) {

.modal-global .inner {
	box-sizing: border-box;
	max-width: calc(1280 / 16 * 1em);
	width: 100%;
}

.modal-global .inner:nth-of-type(2) {
	bottom: calc(110 / 16 * 1em);
	position: absolute;
}

.editor-area > :first-child tr:first-of-type th,
.editor-area > :first-child tr:first-of-type td,
.text-area > :first-child tr:first-of-type th,
.text-area > :first-child tr:first-of-type td {
	padding-block-start: 0;
}

.editor-area > :last-child tr:last-of-type th,
.editor-area > :last-child tr:last-of-type td,
.text-area > :last-child tr:last-of-type th,
.text-area > :last-child tr:last-of-type td {
	padding-block-end: 0;
}

.list-books.no-line {
	margin-block: calc(11 / 18 * 1em);
	row-gap: calc(44 / 16 * 1em);
}

.btn-seemore {
	left: 41.25%;
}

body#advertising .magazine-monthly .list-books {
	margin-block: calc(37 / 18 * 1em);
}

body#contact .wpcf7 .confirm-input {
	padding-block: 0.66em;
}

.editor-area > :first-child tr:first-of-type th,
.editor-area > :first-child tr:first-of-type td {
	padding-block-start: 0;
}

.editor-area > :last-child tr:last-of-type th,
.editor-area > :last-child tr:last-of-type td {
	padding-block-end: 0;
}

.editor-area table th,
.editor-area table td {
	border-bottom: 2px solid #3694E0;
}

.editor-area table th {
	padding-block: calc(24 / 18 * 1em) !important;
	padding-left: 2.5em;
	width: calc(350 / 1400 * 100%);
}

.editor-area table td {
	border-color: #DDD;
	padding-block: calc(28 / 18 * 1em) !important;
	padding-inline: 3.125em;
	width: calc(1050 / 1400 * 100%);
}

}

@media (min-width: 681px) and (max-width: 780px) {

.modal-global .search-box {
	font-size: 85%;
}

}

@media (min-width: 681px) and (max-width: 1080px) {

body#company .content .wrap {
	display: block;
}

body#company .content .wrap .block:nth-child(1) {
	margin-bottom: 2em;
}

}

@media (min-width: 1081px) {

.inner.middle {
	max-width: 66.6667em;
}

.list-books + .pagination {
	margin-block: 7.75em 8em;
}

.list-purchase {
	max-width: calc(978 / 18 * 1em);
}

.area-halftone dl dd {
	min-width: calc(400 / 18 * 1em);
}

#home #news .wrap {
	border: 1px solid #AAA;
	padding: calc(18 / 18 * 1em) calc(19 / 18 * 1em);
}

}

@media (min-width: 1281px) {

.inner.large {
	max-width: 88.8889em;
}

.list-books.w-1400 {
	column-gap: calc(40 / 1400 * 100%);
}

#home .hero .kv-swiper .swiper-slide {
	opacity: 0.5;
	transition: opacity 0.3s;
}

#home .hero .kv-swiper .swiper-slide-active {
	opacity: 1;
}

}

@media (min-width: 1681px) {

body {
	font-size: 112.5%;
}

}

@media (max-width: 1280px) {

ul.menu.main {
	column-gap: 1.125em;
}

#home .hero {
	padding-top: 0;
}

#home .hero .kv-swiper {
	max-width: 100%;
}

#home .hero .kv-swiper .swiper-slide {
	margin: 0;
}

#home .hero .kv-swiper .swiper-button-prev,
#home .hero .kv-swiper .swiper-button-next {
	display: none;
}

}

@media (max-width: 1080px) {

#switch-global:checked ~ .modal-global {
	opacity: 1;
	visibility: visible;
}

ul.menu.main li a {
	font-size: calc(20 / 16 * 1em);
}

.btn-close,
.btn-menu {
	display: block;
}

.header .global {
	display: none;
}

#footer .menu {
	column-gap: 1.5em;
}

.modal-global ul.menu {
	column-gap: 1%;
}

.modal-global ul.menu li {
	flex-basis: 30%;
}

.modal-global ul.menu li a {
	font-size: calc(18 / 16 * 1em);
}

.modal-global .search-box {
	flex-basis: 45%;
}

.modal-global .search-box form input[name="s"] {
	width: 100%;
}

.wrap:has(> .block + .block) .block:nth-child(1) {
	flex-basis: 25%;
}

.list-banner {
	grid-gap: calc(5 / 18 * 1em) calc(25 / 1600 * 100%);
	display: grid;
	gap: calc(5 / 18 * 1em) calc(25 / 1600 * 100%);
	grid-template-columns: repeat(auto-fill, minmax(calc(280 / 18 * 1em), 1fr));
	margin-block: calc(47 / 18 * 1em) calc(25 / 18 * 1em);
}

.list-purchase,
.list-magazine {
	grid-template-columns: repeat(auto-fill, minmax(calc(212 / 18 * 1em), 1fr));
	row-gap: calc(20 / 16 * 1em);
}

.list-purchase {
	column-gap: calc(15 / 750 * 100%);
	grid-template-columns: repeat(auto-fill, minmax(calc(200 / 18 * 1em), 1fr));
}

.list-pdf {
	grid-template-columns: repeat(auto-fit, minmax(calc(260 / 16 * 1em), 1fr));
	row-gap: calc(14 / 16 * 1em);
}

.list-sitemap > ul > li > ul {
	column-gap: 0.5em;
	padding-inline: 0;
}

.list-sitemap > ul.first {
	flex-basis: 40%;
	margin-right: 4%;
}

.list-sitemap > ul.main {
	flex-basis: 25%;
}

body.page .content .inner {
	margin-block: calc(60 / 16 * 1em) calc(100 / 16 * 1em);
}

.area-halftone dl {
	text-align: center;
}

.area-halftone dl dd {
	flex-basis: 100%;
}

.table-data {
	margin-block: calc(60 / 16 * 1em) calc(100 / 16 * 1em);
}

.table-data dl dt,
.table-data dl dd {
	padding-inline: 1em;
}

.table-data dl dd {
	flex-basis: calc(700 / 1000 * 100%);
}

body#book.archive .content .inner {
	margin-block: calc(60 / 16 * 1em) calc(100 / 16 * 1em);
}

body#book.single #information .block:nth-child(1) {
	flex-basis: calc(290 / 16 * 1em);
}

body#book.single #information .img {
	max-width: calc(280 / 16 * 1em);
}

body#company .content .inner {
	margin-block: calc(60 / 16 * 1em) calc(100 / 16 * 1em);
}

body#contact .content .inner {
	margin-block: calc(60 / 16 * 1em) calc(100 / 16 * 1em);
}

body#contact .wpcf7 .form-group {
	column-gap: calc(30 / 16 * 1em);
}

body#contact .wpcf7 .form-group dt {
	padding-left: calc(30 / 1000 * 100%);
}

body#contact .wpcf7 .form-group dd {
	flex-basis: calc(600 / 1000 * 100%);
	padding-right: calc(30 / 1000 * 100%);
}

body#contact .wpcf7 .zipcode .wpcf7-form-control-wrap {
	margin-inline: 0.5em 0.75em;
}

body#contact .wpcf7 .zipcode .wpcf7-form-control-wrap input {
	max-width: calc(210 / 16 * 1em);
}

#home .inner:has(#new-books) {
	flex-wrap: wrap;
}

#home #new-books {
	flex-basis: 100%;
}

#home #side {
	flex-basis: 100%;
}

#home #news {
	padding-top: calc(24 / 16 * 1em);
}

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

#home #news .title-main .jp {
	justify-content: center;
}

#home #news .btn {
	margin-top: 2em;
}

#home #news .btn > * {
	margin-inline: auto;
}

#home #group-site {
	margin-top: calc(128 / 16 * 1em);
}

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

#home #group-site .title-main .jp {
	justify-content: center;
}

body#new-books .content .inner {
	margin-block: calc(60 / 16 * 1em) calc(100 / 16 * 1em);
}

body#news.single .head {
	margin-top: calc(60 / 16 * 1em);
}

body#news.single .editor-area {
	margin-top: calc(60 / 16 * 1em);
}

body#news.single #recent {
	padding-block: 0 calc(100 / 16 * 1em);
}

body#news.single #recent .list-news-archive {
	margin-block: 1.5em 3.5em;
}

body#recruit .content .inner {
	margin-block: calc(60 / 16 * 1em) calc(100 / 16 * 1em);
}

body#recruit .job .detail dl dt {
	flex-basis: 30%;
}

body#schedule .content .inner {
	margin-block: calc(60 / 16 * 1em) calc(60 / 16 * 1em);
}

body#search .content .inner {
	margin-block: calc(60 / 16 * 1em) calc(100 / 16 * 1em);
}

}

@media (max-width: 980px) {

.modal-global ul.menu {
	column-gap: 0;
	flex-basis: 52.5%;
}

.modal-global ul.menu li {
	flex-basis: 50%;
}

}

@media (max-width: 850px) {

.list-purchase {
	grid-template-columns: repeat(auto-fill, minmax(calc(180 / 18 * 1em), 1fr));
}

}

@media (max-width: 680px) {

.inner {
	padding-inline: 25px;
}

.sp {
	display: inherit;
}

.pc {
	display: none;
}

#main {
	margin-top: calc(60 / 16 * 1em);
}

.header > .inner {
	height: calc(60 / 16 * 1em);
}

.header > .inner ~ * {
	display: none;
}

.header .logo {
	left: -0.25em;
	max-width: calc(216 / 16 * 1em);
	position: relative;
	top: 0.125em;
}

#footer {
	padding-block: calc(66 / 16 * 1em) calc(46 / 16 * 1em);
}

#footer .menu {
	column-gap: 0;
	flex-wrap: wrap;
	margin-bottom: calc(70 / 16 * 1em);
	row-gap: 0.975em;
}

#footer .menu li {
	width: 50%;
}

.modal-global .btn-close {
	font-size: calc(16 / 14 * 1em);
	margin-top: -0.05em;
}

.modal-global .container {
	display: block;
	min-height: auto;
	padding: calc(18 / 14 * 1em) calc(15 / 14 * 1em);
}

.modal-global .logo {
	left: calc(-10 / 14 * 1em);
	position: relative;
	width: calc(182 / 14 * 1em);
}

.modal-global .global {
	display: block;
	margin-top: calc(48 / 14 * 1em);
}

.modal-global ul.menu {
	flex-basis: 100%;
	row-gap: calc(16 / 14 * 1em);
}

.modal-global ul.menu li {
	flex-basis: 100%;
}

.modal-global ul.menu li a {
	letter-spacing: 0.05em;
	font-size: calc(16 / 16 * 1em);
}

.modal-global .search-box {
	margin-top: calc(44 / 14 * 1em);
}

.modal-global .search-box form > * {
	height: calc(50 / 14 * 1em);
}

.modal-global .search-box form input[name="s"] {
	padding-left: calc(15 / 14 * 1em);
}

.modal-global .sns {
	column-gap: 1.325em;
	margin-top: calc(46 / 14 * 1em);
}

.modal-global .sns li img {
	width: calc(25 / 14 * 1em);
}

.modal-global .copyright {
	margin-top: calc(72 / 14 * 1em);
	padding-bottom: calc(20 / 14 * 1em);
	text-align: center;
}

.modal-global .copyright small {
	font-size: calc(10 / 14 * 1em);
}

.wrap:has(> .block + .block) {
	display: block;
}

.wrap:has(> .block + .block) .block:nth-child(1) {
	margin-bottom: 2em;
}

.lead {
	font-size: calc(16 / 16 * 1em);
	margin-bottom: 5em;
}

.editor-area table th,
.editor-area table td,
.text-area table th,
.text-area table td {
	display: block;
	line-height: 1.75;
}

.editor-area table th,
.text-area table th {
	color: #3694E0;
	font-size: calc(14 / 16 * 1em);
	font-weight: bold;
	padding-block: 0.5em 0.25em;
	width: 100%;
}

.editor-area table td,
.text-area table td {
	padding-block: 0 0.5em;
}

.title-main .en {
	font-size: calc(40 / 16 * 1em);
}

.title-main .jp {
	font-size: calc(12 / 16 * 1em);
	margin-top: 1.175em;
}

.title-main .jp:before,
.title-main .jp:after {
	width: calc(30 / 12 * 1em);
}

.title-ul {
	font-size: calc(24 / 16 * 1em);
}

.title-ul:after {
	width: calc(100 / 24 * 1em);
}

.list-books {
	gap: calc(89 / 16 * 1em) calc(15 / 630 * 100%);
}

.list-books.no-line {
	row-gap: calc(32 / 16 * 1em);
}

.list-books:not(.no-line) li:before {
	transform: translateY(calc(-46 / 16 * 1em));
}

.list-books li .text {
	margin-top: 0.925em;
}

.list-books li .release {
	font-size: calc(14 / 16 * 1em);
}

.list-books li .title {
	font-size: calc(16 / 16 * 1em);
}

.list-news li {
	margin-bottom: 1.075em;
	padding-bottom: 1.075em;
}

.list-news .date {
	font-size: calc(12 / 16 * 1em);
	margin-bottom: 0.25em;
}

.list-news-archive {
	margin-block: 2.2em 6em;
}

.list-news-archive a {
	flex-direction: column;
}

.list-news-archive .date {
	color: #3694E0;
	font-size: calc(14 / 16 * 1em);
	font-weight: bold;
}

.list-banner {
	gap: calc(10 / 16 * 1em) calc(10 / 630 * 100%);
	grid-template-columns: repeat(auto-fill, minmax(calc(210 / 16 * 1em), 1fr));
	margin-block: calc(38 / 16 * 1em);
}

.list-banner li {
	margin-block: 0;
}

.list-purchase,
.list-magazine {
	gap: calc(10 / 16 * 1em) calc(10 / 630 * 100%);
	grid-template-columns: repeat(auto-fill, minmax(calc(160 / 16 * 1em), 1fr));
	margin-block: calc(47 / 16 * 1em) calc(14 / 16 * 1em);
}

.list-purchase {
	column-gap: calc(15 / 630 * 100%);
	grid-template-columns: repeat(auto-fill, minmax(calc(180 / 18 * 1em), 1fr));
	margin-block: calc(3 / 16 * 1em) calc(81 / 16 * 1em);
}

.list-pdf {
	gap: calc(10 / 16 * 1em);
	margin-block: calc(47 / 16 * 1em) calc(14 / 16 * 1em);
}

.list-sitemap {
	flex-wrap: wrap;
	margin-block: calc(60 / 16 * 1em) 0;
	margin-inline: auto;
	max-width: calc(400 / 16 * 1em);
	row-gap: 2.75em;
}

.list-sitemap > ul > li {
	font-size: calc(18 / 16 * 1em);
}

.list-sitemap > ul > li > ul {
	max-width: none;
}

.list-sitemap > ul > li > ul > li {
	font-size: calc(16 / 18 * 1em);
}

.list-sitemap > ul.first {
	flex-basis: 100%;
	margin-right: 0;
}

.list-sitemap > ul.main {
	flex-basis: 50%;
	margin-bottom: 0.75em;
}

.area-halftone {
	padding: 1.3em;
}

.area-halftone dl dt {
	margin-bottom: 0.5em;
}

.area-halftone dl dt:not(:first-of-type) {
	margin-top: 1em;
}

.area-halftone dl dt h3 {
	font-size: calc(20 / 16 * 1em);
}

.area-halftone dl dt p {
	font-size: calc(16 / 16 * 1em);
}

.area-halftone dl dd {
	font-size: calc(16 / 16 * 1em);
}

.pagination {
	gap: calc(12 / 16 * 1em);
}

.table-data dl:first-of-type {
	padding-block-start: 0;
}

.table-data dl dt,
.table-data dl dd {
	padding-inline: 0;
}

.table-data dl dt + dd:has(h4) {
	margin-top: 1.5em;
}

.table-data dl dd {
	flex-basis: 100%;
}

.table-data h3,
.table-data h4 {
	font-size: calc(14 / 16 * 1em);
}

body#advertising #documents {
	margin-top: 5em;
}

body#advertising #documents .note {
	font-size: calc(16 / 16 * 1em);
}

body#advertising .magazine-monthly {
	margin-top: calc(60 / 16 * 1em);
}

body#advertising .magazine-monthly .genre {
	padding-top: calc(43 / 16 * 1em);
}

body#advertising .magazine-monthly .list-books {
	margin-block: calc(37 / 16 * 1em) calc(43 / 16 * 1em);
	padding-bottom: 0;
}

body#book.archive .head {
	margin-block-end: 5em;
}

body#book.single #information .img {
	margin-bottom: 4em;
	margin-inline: auto;
}

body#book.single #related {
	padding-bottom: 0;
}

body#book.single #related .list-books {
	padding-bottom: 0;
}

body#book.single #footer {
	margin-top: calc(100 / 16 * 1em);
}

body#contact .wpcf7 .form-group {
	align-items: flex-start;
	flex-direction: column;
	padding-block: calc(8 / 16 * 1em) calc(28 / 16 * 1em);
}

body#contact .wpcf7 .form-group dt {
	font-size: calc(15 / 16 * 1em);
	padding-left: 0;
	width: 100%;
}

body#contact .wpcf7 .form-group dd {
	padding-right: 0;
	width: 100%;
}

body#contact .wpcf7 .btn-zip-search {
	margin-block: 1.25em 1.75em;
}

body#contact .wpcf7 .btn-wrap > * {
	font-size: calc(16 / 16 * 1em);
}

body#contact .wpcf7 .agree {
	font-size: calc(15 / 16 * 1em);
	margin-top: 2.5em;
	padding: 1.5em;
}

body#contact .wpcf7 .agree p:has(a) {
	margin-block: 1em;
}

body#contact .wpcf7 .agree + .btn-wrap {
	margin-top: 2.5em;
}

#home .inner:has(#new-books) {
	padding-top: calc(40 / 16 * 1em);
}

#home #new-books > .wrap {
	justify-content: center;
}

#home #new-books > .wrap .btn {
	display: none;
}

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

#home #new-books .title-main .jp {
	justify-content: center;
}

#home #news {
	padding-top: calc(11 / 16 * 1em);
}

#home #news .wrap {
	margin-block: calc(46 / 16 * 1em);
}

#home #news .title-main .jp {
	margin-top: 1.65em;
}

#home #news .btn {
	margin-top: 1.325em;
}

#home #group-site {
	margin-block: calc(136 / 16 * 1em) 0;
}

#home #group-site .title-main .jp {
	margin-top: 1.65em;
}

#home #magazine > .inner {
	margin-top: calc(2 / 16 * 1em);
	padding-block: calc(63 / 16 * 1em) calc(59 / 16 * 1em);
}

#home #magazine .title-main .jp {
	margin-top: 2.15em;
}

body#law .table-data {
	margin-bottom: calc(100 / 16 * 1em);
}

.editor-area blockquote {
	padding: 0.125em 1em 0.25em;
}

body#privacy .text-area {
	margin-block: 3.5em;
}

body#privacy .text-area h3 {
	font-size: calc(24 / 16 * 1em);
	margin-top: 2.5em;
}

body#privacy #contact {
	margin-block: 4.25em;
}

body#recruit .job {
	padding-bottom: 0.125em;
}

body#recruit .job .head {
	padding: 1.5em;
}

body#recruit .job .title {
	font-size: calc(24 / 16 * 1em);
}

body#recruit .job .outline {
	line-height: 1.75;
	margin-top: 1em;
}

body#recruit .job .detail dl {
	display: block;
	padding: 1.5em;
}

body#recruit .job .detail dl dt,
body#recruit .job .detail dl dd {
	line-height: 1.75;
}

body#recruit .job .detail dl dt {
	color: #3694E0;
	font-size: calc(14 / 16 * 1em);
	font-weight: bold;
	margin-bottom: 0.25em;
	width: 100%;
}

body#schedule .schedule-day {
	row-gap: 0.8em;
}

body#schedule .schedule-day .date {
	margin-bottom: 0;
}

body#schedule .schedule-day .title {
	line-height: 1.5;
}

body#search .head {
	padding-block: 1.5em;
}

body#sitemap .list-sitemap {
	margin-bottom: calc(100 / 18 * 1em);
}

body#to-bookstores #documents {
	margin-top: 5em;
}

}

@media (max-width: 480px) {

ul.sns {
	column-gap: 1.2em;
	margin-bottom: 1.7em;
}

ul.sns li img {
	height: calc(25 / 16 * 1em);
}

#footer .menu li {
	font-size: calc(12 / 16 * 1em);
}

.copyright small {
	font-size: calc(12 / 16 * 1em);
}

.lead {
	text-align: left;
}

.list-books {
	gap: calc(72 / 16 * 1em) calc(30 / 430 * 100%);
	grid-template-columns: repeat(auto-fill, minmax(calc(130 / 16 * 1em), 1fr));
	margin-block: calc(44 / 16 * 1em);
}

.list-banner {
	column-gap: calc(10 / 450 * 100%);
	grid-template-columns: repeat(auto-fill, minmax(calc(150 / 16 * 1em), 1fr));
	margin-inline: calc(-10 / 16 * 1em);
}

.list-purchase,
.list-magazine {
	gap: calc(24.5 / 16 * 1em) calc(30 / 430 * 100%);
	grid-template-columns: repeat(auto-fill, minmax(calc(140 / 16 * 1em), 1fr));
}

.list-purchase {
	column-gap: calc(30 / 430 * 100%);
	grid-template-columns: repeat(auto-fill, minmax(calc(130 / 16 * 1em), 1fr));
}

.list-pdf {
	grid-template-columns: 1fr;
}

.list-pdf a {
	aspect-ratio: inherit;
	min-height: calc(70 / 16 * 1em);
}

.area-halftone {
	margin-inline: -25px;
	padding-inline: 25px;
}

.btn > * {
	border-radius: calc(30 / 18 * 1em);
	font-size: calc(18 / 16 * 1em);
	height: calc(60 / 18 * 1em);
	max-width: calc(360 / 18 * 1em);
}

body#advertising #documents .note {
	text-align: left;
}

body#contact .content .inner > p {
	text-align: left;
}

body#contact .wpcf7 .zipcode .wpcf7-form-control-wrap input {
	max-width: calc(180 / 16 * 1em);
}

body#contact .wpcf7 .btn-wrap {
	column-gap: calc(25 / 16 * 1em);
}

body#contact .wpcf7 .agree p {
	text-align: left;
}

#home .inner:has(#new-books) {
	padding-top: calc(29 / 16 * 1em);
}

body#schedule .schedule-day .title {
	flex-basis: 100%;
}

}

@media (max-width: 350px) {

.inner {
	padding-inline: 15px;
}

body {
	font-size: 87.5%;
}

.modal-global .search-box {
	font-size: 95%;
}

.list-purchase,
.list-magazine {
	gap: calc(15 / 16 * 1em) calc(15 / 320 * 100%);
}

body#contact .wpcf7 .btn-wrap {
	column-gap: calc(20 / 16 * 1em);
}

}

