btn@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Open+Sans:400,400i,600,600i,700,700i&display=swap");

html {
	line-height: 1.15;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
	margin: 0;

}

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
	display: block;
}


h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
	/* 1 */
	display: block;
}

/**
 * Add the correct margin in IE 8.
 */
figure {
	margin: 0;
	line-height: 0;
}

.section__fig {
	border-radius: 5px;
	overflow: hidden;
	max-width: 910px !important;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	/* 1 */
	height: 0;
	/* 1 */
	overflow: visible;
	/* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	/* 1 */
	font-size: 1em;
	/* 2 */
}

/* Text-level semantics
	 ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
	background-color: transparent;
	/* 1 */
	-webkit-text-decoration-skip: objects;
	/* 2 */

	transition: .3s ease;
}

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

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
	font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: 600;
	font-family: "游明朝", "游明朝体",sans-serif !important;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	/* 1 */
	font-size: 1em;
	/* 2 */
}

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
	font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
	/*background-color: #ff0;
	color: #000;*/
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
	letter-spacing: 0.2em;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 0.9rem;
	line-height: 0;
	position: relative;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
	display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
	display: none;
	height: 0;
}

/**
 * Remove the border on images inside links in IE 10-.
 */
img {
	border-style: none;
	width: 100%;
	height: auto;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
	overflow: hidden;
}

/* Forms
	 ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	/* 1 */
	/*font-size: 100%; /* 1 */
	/*line-height: 1.15; /* 1 */
	/*margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	/* 1 */
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	/* 1 */
	text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
	/* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	/* 1 */
	color: inherit;
	/* 2 */
	display: table;
	/* 1 */
	max-width: 100%;
	/* 1 */
	padding: 0;
	/* 3 */
	white-space: normal;
	/* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	display: inline-block;
	/* 1 */
	vertical-align: baseline;
	/* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
	overflow: auto;
	min-height: 10em;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	/* 1 */
	padding: 0;
	/* 2 */
}

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

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

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

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

/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
	display: block;
}

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

/* Scripting
	 ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
	display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
	display: none;
}

/* Hidden
	 ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
	display: none;
}

@font-face {
	font-family: Yu Mincho;
	src: local("Yu Mincho Medium");
	font-weight: 400;
}
@font-face {
	font-family: Yu Mincho;
	src: local("Yu Mincho Bold");
	font-weight: 700;
}
/* ============================================================================================== */
/* Global                                                                                         */
/* ============================================================================================== */
html {
	font-size: 62.5%;
	color: #333;
}

body {
	margin: 0;
	padding: 0;
	/*scroll-behavior: smooth;*/
}

main {
	width: 100%;
	height: auto;
	overflow: hidden;
}

a {
	text-underline-position: under;
}

a:link {
	color: var(--color-a-link);
}

a:visited {
	color: var(--color-a-visited);
}

a:active {
	color: var(--color-a-active);
}

/* IE Only */
.msie a:link,
.msie a:visited,
.msie a:active {
	color: #333;
}
/**/

/*a:focus {
	outline: 3px solid var(--color-a-focus);
}*/

/* heading */
h1,
h2,
h3,
h4,
h5,
h6 {
	margin-top: 0;
	font-weight: 400;
	line-height: 1.6;
}

h1 {
	font-size: 3.6rem;
}

h2 {
	font-size: 3.0rem;
}

h3 {
	font-size: 2.4rem;
}

h4 {
	font-size: 1.8rem;
}

h5 {
	font-size: 1.4rem;
}

h6 {
	font-size: 1.2rem;
}

h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small {
	font-size: 75%;
	font-weight: 400;
	line-height: 1;
	opacity: 0.7;
}

abbr[title], dfn[title] {
	border: none;
	text-decoration: none;
}

a[href^="tel"] {
	text-decoration: underline;
}

[target="_blank"] {
	display: inline-flex;
	align-items: center;
}

[target="_blank"] i {
	stroke-width: 1;
}

menu {
	margin: 0;
	padding: 0;
}

button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 10px 20px;
	box-sizing: border-box;
	border: 1px solid rgba(0, 0, 0, 0.3);
	border-radius: 3px;
	background-color: transparent;
	cursor: pointer;
	color: inherit;
	transition: all 0.3s ease-out;
}

button:hover {
	border: 1px solid rgba(0, 0, 0, 0.75);
	color: #000;
}

ol {
	list-style: decimal;
	padding-left: 1em;
}

hr {
	height: 0;
	margin: 0;
	border: none;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
}

label {
	/*cursor: pointer;*/
}

use {
	pointer-events: none;
}

/*
.windows h1,
.windows h2,
.windows h3,
.windows h4,
.windows h5,
.windows h6,
.windows p,
.windows td,
.windows th,
.windows blockquote,
.windows li,
.windows dt,
.windows dd {
	transform: rotate(0.029deg);
}
*/
p, ol, ul, dl {
	margin-top: 0;
	margin-bottom: 2em;
}

address {
	font-style: normal;
}

.ofi {
	object-fit: cover;
	font-family: 'object-fit: cover;'
}

.ie11 .ofi {
	object-fit: contain;
	font-family: 'object-fit: contain;'
}


/*
 * Layout / global-header
 *  - logo
 *  - global-navigation
 *  - menu-button
 *  - g-nav Show-hide enent
 *  - site-subheader
 */
/* ============================================================================================== */
/* Layout - header / global-header                                                                */
/* ============================================================================================== */
.gh {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	margin: 0 auto;
	z-index: 100;
	/*border-bottom: 1px dashed rgba(0,0,0,0.4);*/
	font-size: 1.25rem;
	/*overflow: hidden;*/
}

/* Scroll effect */
/* Show event */
.gh.-show {
	pointer-events: auto;
	height: 100vh;
}

@media screen and (min-width: 1280px) {
	.gh {
		box-sizing: border-box;
	}

	.gh:before {
		width: calc(100% - 80px);
	}
}
/* ----------------------------------------------------------------------- */
.gh--inner {
	position: fixed;
	top: 0;
	width: 0;
	height: 100%;
	margin: 0 auto;
	box-sizing: border-box;
	z-index: 100;
	/*transition: transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);*/
	transition: 0.5s cubic-bezier(.17,.84,.44,1);
	z-index: 150;
	padding: 0;
	background: #fff;
	box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
	/*transform: translateX(-100%);*/
	/*overflow-y: auto;*/
	opacity: 0;
}

.gh--inner:before {
	position: fixed;
	display: block;
	bottom: 0;
	width: 100%;
	height: 50px;
	background-image: linear-gradient(0deg, white 20%, rgba(255, 255, 255, 0) 100%);
	content: "";
	z-index: 1;
	pointer-events: none;
}

.gh.-show .gh--inner {
	width: 100%;
	visibility: visible;
	opacity: 1;
	/*transition-duration: 1s;
	transition-delay: 0.5s;
	transform: translateX(0);*/
}

.gh.-hide .gh--inner {
	box-shadow: 0 0 0 transparent;
}

@media screen and (min-width: 1280px) {
	.gh .gh--inner {
		position: relative;
		top: 0;
		width: 100%;
		height: 100%;
		margin: 0;
		padding: 0;
		transition: none;
		box-shadow: none;
		background-color: transparent;
		transform: none;
		opacity: 1;
	}

	.gh--inner:before {
		display: none;
	}
}
/* ----------------------------------------------------------------------- */
.gh a {
	pointer-events: auto;
}

/* ----------------------------------------------------------------------- */
/* Show event */
.-show + .main-wrapper {
	pointer-events: none;
}

/* animation element */
.gh .anm {
	opacity: 0;
	transform: translate3d(0, 20px, 0);
	transition: all 0.5s cubic-bezier(0.17, 0.84, 0.44, 1);
	transition-property: opacity, transform;
}

.gh.-show .anm {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

@media screen and (min-width: 1280px) {
	.gh .anm {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}
/* ----------------------------------------------------------------------- */
/* logo */
.g-logo {
	display: flex;
	align-items: center;
	margin-bottom: 10px;
	padding: 10px 30px;
	box-sizing: border-box;
}

.gh__nav .g-logo {
	padding: 20px;
	margin-right: auto;
	margin-left: auto;
}

.g-logo__mark {
	margin: 0;
}

.g-logo__link {
	display: flex;
	align-items: center;
}

.g-logo__link-text {
	/*position: absolute;*/
	overflow: hidden;
	height: 1px;
	width: 1px;
}

.site-logo {
	width: 30px;
	margin: 0;
	box-sizing: border-box;
}

.gh__nav .site-logo {
	width: 240px;
	margin: 0 auto;
}

.gh__nav .g-logo__mark {
	margin: 0 auto;
}

.site-logo svg {
	width: auto;
	height: auto;
}

.site-logo img {
	display: block;
	width: 100%;
}

@media screen and (min-width: 1280px) {
	.gh__nav .g-logo {
		display: none;
	}

	.g-logo__mark {
		font-size: 1.2rem;
	}

	.site-logo {
		margin: 0 auto;
	}
}
/* ----------------------------------------------------------------------- */
/* global-navigation */
.gh__nav {
	position: relative;
	max-height: 100%;
	padding: 20px 0;
	box-sizing: border-box;
	overflow-y: auto;
	overflow-x: hidden;
	overscroll-behavior: contain;
	vertical-align: middle;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
}

@media screen and (min-width: 1280px) {
	.gh__nav {
		position: relative;
		top: 0;
		display:-ms-flexbox;
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		height: 100%;
		max-height: auto;
		margin: 0;
		padding: 0;
		opacity: 1;
		transition: none;
		box-shadow: none;
		background-color: transparent;
		overflow: visible;
	}

	.gh.-hide .gh__nav {
		visibility: visible;
		overflow: visible;
	}
}
/* ----------------------------------------------------------------------- */
/* global-navigation */
.g-nav {
	width: calc(100% - 60px);
	margin: 0 auto;
	padding: 0 0 30px;
	pointer-events: auto;
}

.g-nav a {
	text-decoration: none;
}

.g-nav a:focus {
	outline: none;
}

@media screen and (min-width: 1280px) {
	.g-nav {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-pack: justify;
		justify-content: space-between;
		width: auto;
		height: 100%;
		margin: 0;
		padding: 0 50px 45px 0;
		flex-direction: row-reverse;
		line-height: 1.75;
		background-color: #fff;
		border-radius: 0 0 10px 0;
		position: relative;
	}

	/* IE,Edge Only */
	.msie .g-nav,
	.edge .g-nav {
		height: 15em;
	}
	/**/

	.g-nav:after {
		position: absolute;
		display: block;
		top: 95px;
		right: -10px;
		width: 10px;
		height: 10px;
		content: "";
		background-size: cover;
/*		background-image: var(--svg-round-out-corners-LT-wt);*/
	}
}

.g-nav__list,
.g-nav__sub-list,
.g-nav__btn-list {
	list-style: none;
}

.g-nav__list a,
.g-nav__sub-list a,
.g-nav__btn-list a {
}

.g-nav__list {
	margin: 0 0 20px;
	padding: 10px 0 0;
	border-top: 1px solid rgba(0, 0, 0, 0.15);
}

.g-nav__sub-list {
	border-top: 1px dashed rgba(0, 0, 0, 0.1);
}

.g-nav__list.main {
	margin-bottom: .5em;
}

.g-nav__list:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}

.g-nav__li {
	padding: 0;
	box-sizing: border-box;
	position: relative;
	/*border-top: 1px dashed rgba(0, 0, 0, 0.1);*/
}

.g-nav__li:first-child {
	border-top: none;
}

.g-nav__li-inner {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
}

.g-nav__li a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	padding: 20px 0 15px;
	box-sizing: border-box;
	font-size: 1.8rem;
	position: relative;
	opacity: 1;
	transition-property: color;
}

.g-nav__sub-li a {
	padding: 10px 0;
	display: block;
}

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

.g-nav__sub-list,
.g-nav__btn-list {
	padding: 0;
}

.g-nav__sub-list {
	padding-top: 1em;
}

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

.g-nav__btn-list .g-nav__btn-li a {
	padding: 12px 6px;
	border: 1px solid rgba(0,0,0,0.3);
	text-align: center;
	border-radius: 2.5px;
	display: inline-block;
}

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

.gnav-child {
	display: flex;
	flex-direction: column;
}

.gnav-child__item {
	display: flex;
	justify-content: flex-start;
	width: 100%;
	font-size: 1.2rem;
}

.gnav-child__item a {
	position: relative;
	display: block;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
	padding: 6px 0 6px 30px;
	box-sizing: border-box;
	border-radius: 3px;
	transition: all 0.3s ease;
	text-align: left;
	font-weight: normal !important;
	font-size: 1.4rem;
}

.gnav-child__item a:hover {
	background-color: #dfdfdf;
}

.gnav-child__item a:before {
	content: "";
	position: absolute;
	background-color: rgba(102,102,102,.2);
	width: 10px;
	height: 1px;
	top: 0;
	bottom: 0;
	left: 10px;
	margin: auto;
}

.gnav-child ul {
	list-style: none;
	padding-left: 0;
	margin-bottom: 1em;
}

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

	/* vertical */
	.g-nav__list,
	.g-nav__sub-list,
	.g-nav__btn-list {
		-ms-flex-direction: row-reverse;
		flex-direction: row-reverse;
	}

	.g-nav__list,
	.g-nav__sub-list {
		/*overflow: hidden;*/
		overflow: visible;
	}

	.g-nav__list {
		display: -ms-inline-flexbox;
		display: inline-flex;
		-ms-flex-align: start;
		align-items: flex-start;
		margin-bottom: 0;
		margin-left: 40px;
		padding-top: 0;
		border-top: none;
	}

	.g-nav__sub-list {
		border-top: none;
		padding-top: 0;
	}

	.g-nav__list:before {
		/*position: absolute;
		left: -5px;
		top: 0;
		bottom: 0;
		right: auto;
		margin: auto;
		display: block;
		width: 5px;
		height: 5px;
		content: "";
		border-radius: 5px;
		background-color: #000;
		opacity: 0.3;*/
	}

	.g-nav__list:first-child:before {
		display: none;
	}

	.g-nav > *:last-child {
		margin-bottom: 0;
		margin-right: 0;
		margin-left: 0;
		padding-left: 45px;
	}

	.g-nav__li {
		margin-right: 10px;
		border-top: none;
		display: block;
		width: 42px;
	}

	.g-nav__li:last-child {
		/*margin-right: 0;*/
	}

	.g-nav__li a,
	.g-nav__sub-li a,
	.g-nav__btn-li a {
		-ms-writing-mode: tb-rl;
		writing-mode: tb-rl;
		writing-mode: vertical-rl;
		font-feature-settings: normal;
	}

	.g-nav__li a {
		-ms-flex-align: start;
		align-items: center;
		font-size: 1.8rem;
		padding: 0;
		display: inline-block;
		border-radius: 0 0 0 5px;
		letter-spacing: 0.2em;
		position: relative;
	}

	.g-nav__li > a,
	.g-nav__sub-li > a {
		position: relative;
		overflow: hidden;
	}

	.g-nav__li > a:hover,
	.g-nav__sub-li > a:hover {
		color: rgba(0,0,0,.75);
	}

	.g-nav__li > a:before,
	.g-nav__sub-li > a:before {
		position: absolute;
		right: 0;
		top: 0;
		display: block;
		height: 100%;
		border-radius: 50px;
		transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
		opacity: 0;
		content: "";
		background-color: rgba(102,102,102,.6);
		transform: translateY(-100%);
	}

	.g-nav__li > a:before {
		width: 2px;
	}

	.g-nav__sub-li > a:before {
		width: 1px;
	}

	.g-nav__li:hover a:before,
	.g-nav__li > a:hover:before,
	.g-nav__sub-li:hover a:before,
	.g-nav__sub-li > a:hover:before {
		opacity: 1;
		transform: translateY(0);
		/*animation: border-extend--vert 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);*/
	}

	/*@keyframes border-extend--vert {
		0% {
			transform: translateY(-100%);
		}
		100% {
			transform: translateY(0);
		}
	}*/

	.g-nav__li.current > a {
		text-decoration: none;
	}

	.g-nav__li.current > a:before {
		/*opacity: 0.5;
		transition: none;*/
	}

	.gnav-child {
		position: absolute;
		top: 5.5em;
		left: 25px;
		/*bottom: 60%;*/
		/*left: 50%;
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		transform: translateX(-50%);*/
		transition: 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
		z-index: 999;
		transition: .3s ease;
		box-sizing: border-box;
		height: auto;
		display: none;
		opacity: 0;
		border-radius: 5px;
		box-shadow: 0 8px 20px 0 rgba(0,0,0,.15)
	}

	/* IE Only */
	.msie .gnav-child {
		height: 300px;
		background-color: #fff;
	}
	/**/

	.child--open .gnav-child {
		display: block;
		opacity: 1;
	}

	.gnav-child__item {
		width: auto;
	}

	.gnav-child__item a:before {
		display: none;
	}

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

	.g-nav__li.has-child.hover > a:after {
		opacity: 0.4;
	}

	.gnav-child-inner {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-direction: column;
		flex-direction: column;
		padding: 25px 20px;
		transition: 0.2s cubic-bezier(0.22, 0.61, 0.36, 1);
		background: white;
		border-radius: 0 0 5px 5px;
		position: relative;
	}

	.gnav-child__list {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-direction: row;
		flex-direction: row;
		width: 100%;
		margin: 0 auto 10px;
		padding: 10px 0 0;
		box-sizing: border-box;
		border-top: 1px dashed rgba(0, 0, 0, 0.4);
	}

	.gnav-child__list:first-child {
		border-top: none;
		padding-top: 0;
	}

	.gnav-child__list:last-child {
		margin-bottom: 0;
	}

	.gnav-child__item {
		width: 35px;
	}

	.gnav-child__item a {
		font-size: 1.5rem;
		padding: 5px 0;
		display: inline-block;
		width: 100%;
		box-sizing: border-box;
		pointer-events: none;
		border-radius: 3px;

	}

	.child--open .gnav-child__item a {
		pointer-events: auto;
		cursor: pointer;
	}

	/* hover state */
	.hover .gnav-child {
		top: 100%;
		padding-top: 15px;
		opacity: 1;
	}

	.hover .gnav-child,
	.hover .gnav-child a {
		pointer-events: auto;
	}

	.gnav-child .section-ttl {
		display: flex;
		align-items: center;
		margin: 0;
		padding: 1em 0;
		font-size: 12px;
		font-weight: bolder;
	}

	/* IE,Edge Only */
	.msie .g-nav__li > a:before,
	.msie .g-nav__sub-li > a:before,
	.edge .g-nav__li > a:before,
	.edge .g-nav__sub-li > a:before {
		transform: none;
	}

	.msie .g-nav__li:hover a:before,
	.msie .g-nav__li > a:hover:before,
	.msie .g-nav__sub-li:hover a:before,
	.msie .g-nav__sub-li > a:hover:before,
	.edge .g-nav__li:hover a:before,
	.edge .g-nav__li > a:hover:before,
	.edge .g-nav__sub-li:hover a:before,
	.edge .g-nav__sub-li > a:hover:before {
		transform: none;
	}
	/**/

	/* -------------------------------- */
	.g-nav__sub-list {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		width: auto;
		padding: 0;
		margin: 0 auto 0 35px;
		text-align: left;
		box-sizing: border-box;
	}

	.g-nav__sub-li {
		margin-bottom: 10px;
		padding: 0;
		width: 35px;
	}

	.g-nav__sub-li a {
		display: inline-block;
		padding: 0;
		box-sizing: border-box;
		font-size: 1.3rem;
	}

	/* -------------------------------- */
	.g-nav__btn-list {
		display: inline-block;
	}

	.g-nav__btn-list .g-nav__btn-li a {
		min-width: 40px;
		box-sizing: border-box;
		width: auto;
	}

	.g-nav__btn-list .g-nav__btn-li a:hover {
		color: #fff;
		border-color: rgba(102,102,102,1);
		background-color: rgba(102,102,102,1);
	}

}
/* ----------------------------------------------------------------------- */
/* overlay */
.gh .overlay,
.gh .overlay_bk {
	position: fixed;
	display: block;
	height: 100vh;
	width: 100%;
	top: 0;
	right: 0;
	opacity: 0;
	pointer-events: none;
}

.gh .overlay {
	background-color: white;
	transition: opacity 0.25s cubic-bezier(0.17, 0.84, 0.44, 1);
	z-index: 1;
}

.gh.-show .overlay {
	opacity: 1;
	transition-delay: 0s;
	transition-duration: 0.25s;
	pointer-events: auto;
}

.gh.-hide .overlay,
.gh.-hide .overlay_bk {
	visibility: hidden;
}

.gh .overlay_bk {
	background-color: rgba(0, 0, 0, 0.5);
	transition: opacity 0.25s cubic-bezier(0.17, 0.84, 0.44, 1);
	opacity: 0;
	z-index: 2;
}

.gh.-show .overlay_bk {
	opacity: 1;
	pointer-events: auto;
}

.gh .menu-button {
	position: fixed;
	top: 0;
	right: 20px;
	z-index: 200;
	padding: 0;
	box-sizing: border-box;
	transition: 0.3s ease-in;
	transition-property: box-shadow, padding;
	/*border-radius: 0 0 5px 5px;
	background-color: #fff;
	box-shadow: 0 0px 15px rgba(0, 0, 0, 0.15);*/
}

.gh .menu-button a {
	box-sizing: content-box;
	padding: 10px 5px 5px;
	transition: 0.3s ease-in;
	transition-property: color, background, padding;
}

.scroll-y-start .gh .menu-button {
	box-shadow: 0 0 0 transparent;
}

.gh .menu-button__txt {
	display: none;
}

@media screen and (min-width: 1280px) {
	.gh .overlay,
	.gh .overlay_bk {
		display: none !important;
	}

	.gh .menu-button {
		display: none;
	}
}

/* ----------------------------------------------------------------------- */
/* home__main-contents */
.home__main-contents {
	position: relative;
}

/* ----------------------------------------------------------------------- */
/* site-subheader */
.site-subheader {
	display: none;
}

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

	/* subheader-navigation */
	.site-subheader {
		width: 80px;
		height: 100%;
		position: fixed;
		top: 40px;
		right: 0;
		z-index: 110;
		display: block;
		transition: opacity .4s ease .2s;
	}

	/* footerまでスクロールしたら */
	.scroll-footer .site-subheader {
		opacity: 0 !important;
		pointer-events: none !important;
	}
	/**/

	.subheader-inner {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: normal;
		height: 100%;
	}

	.subheader-layout-container .g-logo {
		padding: 0;
		margin-bottom: 20px;
		justify-content: center;
	}

	.subheader-layout-container .g-logo__link {
		opacity: 0.8;
	}

	.subheader-layout-container .g-logo__link:hover {
		opacity: 1;
	}

	.parent__anchor-inner {
		display: flex;
		justify-content: center;
	}

	.parent__anchor-inner a {
		text-decoration: none;
		writing-mode: tb-rl;
		writing-mode: vertical-rl;
		font-feature-settings: normal;
		line-height: 1;
		white-space: nowrap;
		display: inline-block;
		color: rgba(102,102,102,.8);
	}

	.parent__anchor-inner a:hover {
		color: rgba(102,102,102,1);
	}

	.subheader-navigation-inner {
		/*position: fixed;
		top: 0;
		bottom: 0;*/
		margin: auto;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.subheader-navigation-container  {
		display: flex;
		justify-content: center;
		align-items: flex-start;
		width: 100%;
	}

	.site-subheader .shortcut__list {
		list-style: none;
		padding: 0;
		width: 100%;
		writing-mode: tb-rl;
		writing-mode: vertical-rl;
		font-feature-settings: normal;
		display: flex;
		flex-wrap: wrap;
	}

	.site-subheader .-vert .shortcut__item {
		writing-mode: tb-rl;
		writing-mode: vertical-rl;
		font-feature-settings: normal;
		margin: 0 auto 20px;
		overflow: hidden;
}

	.site-subheader .-vert .shortcut__item:last-chld {
		margin-bottom: 0;
	}

	.site-subheader .-vert .shortcut__item .shortcut__anchor {
		text-decoration: none;
		font-size: 1.4rem;
		padding-right: 8px;
		border-right: 1px solid rgba(0,0,0,.3);
		position: relative;
		transition: border .3s ease;
		display: inline-block;
	}

	.site-subheader .-vert .shortcut__item .shortcut__anchor:hover {
		border-color: transparent;
		color: rgba(0,0,0,.75);
	}

	.site-subheader .-vert .shortcut__item .shortcut__anchor:before {
		position: absolute;
		right: -1px;
		top: 0;
		display: block;
		width: 1px;
		height: 100%;
		border-radius: 50px;
		transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
		/*opacity: 0;*/
		content: "";
		background-color: rgba(0,0,0,.5);
		transform: translateY(-100%);
	}

	.site-subheader .-vert .shortcut__item .shortcut__anchor:hover:before {
		transform: translateY(0);
	}
}

/* subheader-logo -------------------------------- */
.site-subheader .logo-wrap {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
}

/* scroll effect -------------------------------- */
.site-subheader,
.menu-button {
	color: currentColor;
}

.-show .menu-button {
	color: currentColor;
}

:root {
	--base-color: #333;
	--color-a-link: #333;
	--color-a-visited: #333;
	--color-a-active: #000;
	--color-a-focus: #333;

	/* Round Cut Corners */
	--svg-round-out-corners-LT-wt: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2050%2050%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M50%2C0H0v50C0%2C22.39%2C22.39%2C0%2C50%2C0z%22%2F%3E%3C%2Fsvg%3E");
	--svg-round-out-corners-RT-wt: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2050%2050%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%2C0c27.61%2C0%2C50%2C22.39%2C50%2C50V0H0z%22%2F%3E%3C%2Fsvg%3E");
	--svg-round-out-corners-LB-wt: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2050%2050%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%2C0v50h50C22.39%2C50%2C0%2C27.61%2C0%2C0z%22%2F%3E%3C%2Fsvg%3E");
	--svg-round-out-corners-RB-wt: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2050%2050%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%2C50h50V0C50%2C27.61%2C27.61%2C50%2C0%2C50z%22%2F%3E%3C%2Fsvg%3E");
	/* Round Cut Corners */
	--svg-round-out-corners-LT: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2050%2050%22%3E%3Cpath%20fill%3D%22currentColor%22%20d%3D%22M50%2C0H0v50C0%2C22.39%2C22.39%2C0%2C50%2C0z%22%2F%3E%3C%2Fsvg%3E");
	--svg-round-out-corners-RT: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2050%2050%22%3E%3Cpath%20fill%3D%22currentColor%22%20d%3D%22M0%2C0c27.61%2C0%2C50%2C22.39%2C50%2C50V0H0z%22%2F%3E%3C%2Fsvg%3E");
	--svg-round-out-corners-LB: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2050%2050%22%3E%3Cpath%20fill%3D%22currentColor%22%20d%3D%22M0%2C0v50h50C22.39%2C50%2C0%2C27.61%2C0%2C0z%22%2F%3E%3C%2Fsvg%3E");
	--svg-round-out-corners-RB: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2050%2050%22%3E%3Cpath%20fill%3D%22currentColor%22%20d%3D%22M0%2C50h50V0C50%2C27.61%2C27.61%2C50%2C0%2C50z%22%2F%3E%3C%2Fsvg%3E");
}

/*
 * Layout / inner-container
 * Layout / global-header
 *  - global-navigation
 *  - menu-button
 *  - Gnav Show-hide enent
 * Layout / main-wrapper
 * Layout / part
 *   - part-header
 *   - part-body
 *   - part-footer
 * Layout / chapter
 *   - chapter-header
 *   - chapter-body
 *   - chapter-footer
 * Layout / section
 *   - section-header
 *   - section-body
 *   - section-footer
 * Loading Animations
 */
/* Part(部) -> Chapter(章) -> Section(節) -> Subsection(項) -> Subsubsection */
/* ============================================================================================== */
/* Layout - main / inner-container                                                                */
/* ============================================================================================== */
.w-state {
	width: calc(100% - 60px);
	max-width: 1280px;
	position: static;
	margin-right: auto;
	margin-left: auto;
}

.w-state--s {
	width: calc(100% - 60px);
	max-width: 750px;
	position: static;
	margin-right: auto;
	margin-left: auto;
}

.w-state--max {
	width: 100%;
}

@media screen and (min-width: 768px) {
	.w-state {
		width: calc(100% - 100px);
	}

	.w-state--s {
		width: calc(100% - 160px);
	}
}
@media screen and (min-width: 1280px) {
	.w-state {
		width: calc(100% - 160px);
	}

	.w-state--s {
		width: calc(100% - 240px);
	}
}
/*
.subpage .w-state {
	max-width: 1200px;
}*/
/* ============================================================================================== */
/* Layout - main / main-wrapper                                                                   */
/* ============================================================================================== */
/* 
 * document wrapper
 */
.main-wrapper {
	padding-top: 60px;
	box-sizing: border-box;
}

/* Desktop */
@media screen and (min-width: 1280px) {
	.main-wrapper {
		padding-top: 100px;
	}
}

/* back label --- */
.back-to-index {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding: 5px;
	box-sizing: border-box;
	font-weight: bold;
	border-radius: 5px;
	border: 1px solid currentColor;
	display: none;
}

.back-to-index .icon svg {
	width: 20px;
	height: 20px;
}

.back-to-index .label {
	display: none;
	letter-spacing: 0.15em;
}

@media screen and (min-width: 1280px) {
	.back-to-index {
		display: flex;
		font-size: 1.4rem;
		padding: 0;
		border-top: none;
		border-left: none;
		border-right: none;
		border-radius: 0;
	}

	.back-to-index .icon {
		width: 0;
		overflow: hidden;
		transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
		transform: translateX(5px);
		transition-property: opacity, width, transform;
	}

	.back-to-index:hover .icon {
		transform: translateX(-5px);
		width: 30px;
	}

	.back-to-index .icon svg {
		width: 24px;
		height: 24px;
	}

	.back-to-index .label {
		display: block;
		overflow: hidden;
	}
}

/* ============================================================================================== */
/* Layout - main / chapter                                                                        */
/* ============================================================================================== */
/* 
 * chapter-header
 * chapter-body
 * chapter-footer
 */
/* chapter-header --------------------------------------------------------------- */
.chapter-header {
	margin-bottom: 40px;
	padding-top: 60px;
}

.chapter-header__ttl {
	position: relative;
	margin-bottom: 2em;
	padding-bottom: 1em;
	font-size: 2.2rem;
	font-weight: 400;
	text-align: center;
	color: currentColor;
}

.chapter-header__ttl:before {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	display: block;
	width: 160px;
	height: 1px;
	margin: auto;
	background: currentColor;
	content: "";
	opacity: 0.3;
}

.chapter-header__ttl.-left:before {
	left: 0;
	right: auto;
}

.chapter-header__ttl.-right:before {
	left: auto;
	right: 0;
}

.chapter-header__read {
	margin-bottom: 40px;
	color: rgba(0, 0, 0, 0.7);
	line-height: 2;
}

@media screen and (min-width: 1280px) {
	.chapter-header {
		position: relative;
		display: flex;
		align-items: flex-end;
		min-height: 700px;
		height: 70vh;
		margin: 0 0 60px;
		padding: 0;
	}

	.chapter-header.-subchapter {
		min-height: initial;
		margin: auto;
		padding: 20px 0;
	}

	.chapter-header-inner {
		position: relative;
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		max-width: 500px;
		margin-left: 0;
		box-sizing: border-box;
		padding: 40px;
		bottom: 50px;
		z-index: 1;
		background-color: currentColor;
	}

	.chapter-header-inner:before {
		position: absolute;
		content: "";
		display: block;
		width: 160px;
		height: 160px;
		background-color: currentColor;
		border-radius: 50%;
		right: -20px;
		bottom: -30px;
		mix-blend-mode: multiply;
		opacity: 0.4;
	}

	.chapter-header__ttl {
		position: relative;
		z-index: 1;
		font-size: 3rem;
		line-height: 1.8;
		text-align: left;
		-webkit-text-stroke: 0;
		color: #fff;
	}

	.chapter-header.-subchapter .chapter-header-inner {
		bottom: auto;
		padding: 40px 0;
		max-width: initial;
	}

	.chapter-header.-subchapter .chapter-header-inner:before {
		display: none;
	}

	.chapter-header.-subchapter .chapter-header__ttl {
		color: #000;
	}

	.chapter-header__ttl-inner {
		box-sizing: border-box;
	}

	.chapter-header__ttl:before {
		left: 0;
		margin-left: 0;
	}

	.chapter-header__read {
		position: relative;
		z-index: 1;
		width: 100%;
		margin-bottom: 0;
		font-size: 1.6rem;
		color: #fff;
	}

	.chapter-header__read-inner {
		box-sizing: border-box;
	}

	.chapter-header__kv {
		position: absolute;
		top: 0;
		bottom: 0;
		right: -50px;
		left: auto;
		margin: auto;
		width: 100%;
		height: 100%;
		opacity: 1;
	}

	.chapter-header__kv img {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		left: auto;
		display: block;
		width: 80%;
		max-width: 800px;
		margin: auto;
	}
}
/* chapter-body ----------------------------------------------------------------- */
.chapter-body {
	padding-bottom: 60px;
}

.chapter-body > *:last-child {
	margin-bottom: 0;
}

.-subchapter + .chapter-body {
	padding-top: 40px;
}

@media screen and (min-width: 1280px) {
	.chapter-body {
		padding-bottom: 100px;
	}

	.-subchapter + .chapter-body {
		padding-top: 40px;
	}
}

/* --------------------------------------------------------- */
/* Chapter section outline */

.chapter-section {
	position: relative;
	max-width: 1440px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 60px;
	padding-top: 80px;
	box-sizing: border-box;
}

.chapter-section.section--primary {
	max-width: 1580px;
}

.chapter-section.section--secondary {
	max-width: none;
}

.chapter-section.section--tertiary {
	max-width: 1280px;
}

.chapter-section.section--quaternary {
	max-width: 1280px;
}

.chapter-section-header {
	margin: 0 auto 60px auto;
	box-sizing: border-box;
	text-align: center;
}

.section--secondary .chapter-section-header {
	width: 100%;
}

.section--quaternary .chapter-section-header {
	justify-content: center;
}

.chapter-section-header__ttl {
	display: inline-flex;
	margin-bottom: 10px;
	font-size: 1.8rem;
	font-weight: normal;
	letter-spacing: 0.15em;
}

.chapter-section-header__more {
	display: none;
}

/*.chapter-section-header .more-btn__label {
	font-size: 1.1rem;
}*/

.chapter-section-body {
	max-width: 2030px;
	margin: 0 auto;
	position: relative;
}

.w-state .chapter-section-body {
	width: 100%;
	max-width: none;
}

@media print, screen and (min-width: 768px) {
	.chapter-section {
		margin-bottom: 150px;
	}
}

@media screen and (min-width: 1280px) {
	.chapter-section {
		padding-top: 100px;
		margin-bottom: 120px;
	}
	
	.chapter-section.section--quaternary {
		display: flex;
		align-items: center;
		justify-content: flex-start;
	}

	.chapter-section-header {
		/*display: flex;
		justify-content: space-between;
		align-items: center;*/
		text-align: center;
	}

	.section--secondary .chapter-section-header {
	}
	
	.section--quaternary .chapter-section-header {
		width: 40%;
	}

	.chapter-section-header__more {
		display: block;
	}

	.chapter-section-header .more-btn__label {
		font-size: 1.6rem;
	}
	
	.chapter-section-header > * {
		margin-bottom: 0;
	}
	
	.chapter-section-header__ttl {
		font-size: 2.4rem;
	}

	.-vert .chapter-section-header__ttl {
		writing-mode: tb-rl;
		writing-mode: vertical-rl;
		font-feature-settings: normal;
	}

	.section--quaternary .chapter-section-body {
		width: 60%;
	}

	.section--quaternary .chapter-intro {
		font-size: 1.4rem;
		margin-bottom: 50px;
	}

}

/* --------------------------------------------------------- */
/* extra */
.extra {
	width: 100%;
	text-align: left;
}

.extra__ttl {
	font-size: 2rem;
}

.extra__anchor {
	display: block;
	font-weight: bolder;
}

.extra__img {
	position: relative;
	width: 100%;
	margin-bottom: 30px;
	overflow: hidden;
	border-radius: 5px;
}

.extra__img-inner {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	line-height: 0;
}

.extra__img-inner:first-child {
	position: relative;
}
	
.extra__img img {
	display: block;
	width: 100%;
	/*height: 45vh;
	min-height: 260px;*/
}

.section--primary .extra__img,
.section--secondary .extra__img,
.section--primary .extra__img .extra__img-inner,
.section--secondary .extra__img .extra__img-inner {
	border-radius: 0;
}

.section--secondary .extra__img {
	max-width: none;
}

.section--secondary .extra__body-outer {
	width: calc(100% - 60px);
	margin: auto;
}

.ttl__anchor,
.ttl__anchor > * {
	text-decoration: none;
}

.extra__body {
	flex-direction: column;
	align-items: flex-start;
}

.extra__body > * {
	width: 100%;
	margin: 0 auto;
}

.extra__txt {
	line-height: 2.5;
	margin-bottom: 1em;
}

.extra-chapter__list {
	list-style: none;
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
}
.extra-chapter__list.-sub {
	display: none;
}

.extra-chapter__list li {
	margin-bottom: 0.75em;
}

.extra-chapter__list li:last-child {
	margin-bottom: 0;
}

@media screen and (min-width: 768px) {
	.extra__img img {
		height: auto;
	}
	
	.extra__body {
		width: 50%;
	}

	.section--secondary .extra__body-outer {
		width: calc(100% - 100px);
	}

	.section--primary .extra__img,
	.section--secondary .extra__img {
		width: calc(100% - 100px);
		margin-right: auto;
		margin-left: auto;
	}

	.section--primary .extra__img,
	.section--secondary .extra__img,
	.section--primary .extra__img .extra__img-inner,
	.section--secondary .extra__img .extra__img-inner {
		border-radius: 5px;
	}

}

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

	.extra-outer {
		margin-bottom: 140px;
	}
	
	.extra {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-direction: row-reverse;
	}

	.child .extra {
		align-items: flex-start;
	}
		
	.section--primary .extra {
		width: calc(100% - 160px);
		margin: 0 auto;
	}

	/* 
	   chromeだけ 縦書中に position + padding の同要素指定にバグがある。
	   配置とpaddingは別要素に指定する必要がある。
	 */
	
	.extra__ttl-outer {
		writing-mode: tb-rl;
		writing-mode: vertical-rl;
		font-feature-settings: normal;
		width: 100%;
		height: 100%;
		box-sizing: border-box;
	}

	.section--primary .extra__ttl-outer {
		position: absolute;
		right: 100px;
		top: -70px;
		bottom: auto;
		left: auto;
	}
	
	.extra__ttl {
		width: auto;
		padding: 0;
		/* height: auto; */
		margin: 0;
		font-size: 2.5rem;
		letter-spacing: 0.2em;
	}

	.section--primary .extra__ttl {
		position: absolute;
		left: auto;
	}

	.section--secondary .extra__ttl {
		margin: 0 0 0 90px;
	}

	.extra__img {
		transform: translateX(0);
		margin: 0;
		border-radius: 5px;
		/*min-height: 520px;*/
	}
	
	.section--primary .extra__img {
		width: 100%;
	}

	.section--secondary .extra__img {
		width: 60%;
		max-width: none;
		min-width: auto;
		margin: 0;
		z-index: 1;
		cursor: pointer;
	}
	
	.section--tertiary .extra__img {
		width: 60%;
		max-width: none;
		z-index: 1;
		cursor: pointer;
	}

	.extra__img img {
		object-fit: cover;
		width: 100%;
	}
	
	.extra__body-outer {
		margin: 0;
	}

	.section--primary .extra__body-outer {
		position: absolute;
		top: auto;
		right: auto;
		left: 55px;
		bottom: 55px;
		width: auto;
		height: 380px;
	}
	
	.section--secondary .extra__body-outer,
	.section--tertiary .extra__body-outer {
		position: absolute;
		top: 0;
		right: 0;
		/*height: 520px;*/
		height: auto;
		display: flex;
		align-items: flex-start;
		justify-content: flex-start;
		max-width: 1280px;
		left: 0;
		bottom: 0;
		margin: auto;
	}

	.section--secondary .extra__body-outer {
		width: calc(100% - 240px);
	}

	.section--tertiary .extra__body-outer {
		width: 100%;
	}

	.extra__body {
		position: relative;
		width: auto;
		margin: 0;
		padding: 60px 50px;
		box-sizing: border-box;
	}

	.-vert .extra__body {
		writing-mode: tb-rl;
		writing-mode: vertical-rl;
		font-feature-settings: normal;
	}

	.section--primary .extra__body {
		background-color: #fff;
		border-radius: 5px;
	}

	.section--secondary .extra__body,
	.section--tertiary .extra__body {
		width: calc(40% - 60px);
		height: 100%;
		display: flex;
		max-width: 490px;
		/*justify-content: space-between;
		margin-right: 50px;
		margin-left: 0;*/
	}

	.section--secondary .extra__body {
		padding: 0;
	}

	.extra__body > * {
		width: auto;
	}

	.extra__body .more-btn {
		font-size: 1.6rem;
	}

	.extra__txt {
		font-size: 1.6rem;
	}

	.section--secondary .extra__txt {
		padding: 160px 0 0;
		/*height: 300px;*/
		margin: 0 0 30px;
		box-sizing: border-box;
	}

	/* IE Only */
	.msie .section--secondary .extra__txt {
		height: 100%;
	}
	/**/
	
	.extra-chapter__list {
		display: block;
		margin: 0;
		text-align: right;
		position: absolute;
		bottom: 0;
		left: 0;
	}
	
	.extra-chapter__list li:last-child {
		margin-bottom: 10px;
	}

	.extra-chapter__list.-sub {
		display: block;
		text-align: right;
	}
	
	.extra-chapter__list li {
		display: inline-block;
		margin-right: 30px;
		margin: 0 15px 15px 0;
	}
	
	.extra-chapter__list.-sub li {
		margin: 15px 15px 0 0;
	}
	
	/* reverse */
	.-reverse {
		flex-direction: row !important;
	}

	.section--secondary .extra.-reverse .extra__img {
		border-radius: 0 5px 5px 0;
	}

	.section--secondary .extra.-reverse .extra__body-outer,
	.section--tertiary .extra.-reverse .extra__body-outer {
		justify-content: flex-end;
	}

}

@media screen and (min-width: 1440px) {

	.section--secondary .extra__body-outer {
		width: calc(100% - 320px);
	}

	.section--secondary .extra__ttl {
		margin: 0 100px 0 80px;
	}

	.section--secondary .extra__txt {
		padding: 160px 0 0;
		margin: 0 0 60px;
	}

	/* reverse */
	.section--secondary .extra.-reverse .extra__img {
		transform: translateX(-60px);
	}

}

/* --------------------------------------------------------- */
/* bg */
.bg--gray {
	background-color: #6a6a64;
}

.bg--white {
	background-color: #fff;
}

.bg--biased {
	background-color: #f9f8f7;
	width: calc(100% - 80px);
	height: 100%;
}

.bg--biased:after {
	/*content: "";
	margin: 0 0 auto auto;*/
}

@media screen and (min-width: 1280px) {
	.bg--biased {
		position: absolute;
		z-index: 0;
		margin: 0 0 auto auto;
		right: 0;
		top: 160px;
		border-radius: 0 0 0 5px;
		height: calc(100% - 80px);
	}

	.bg--biased + .extra-outer {
		margin-bottom: 90px;
	}
}

@media screen and (min-width: 1440px) {
	.bg--biased {
		width: calc(100% - 160px);
	}
}

/* pick-up-contents --------------------------------------------------------------- */
@media screen and (min-width: 1280px) {
	
	.pick-up-contents {
		position: relative;
		padding-top: 30px;
	}
	
}

/* --------------------------------------------------------- */
/* chapter-footer */
.chapter-footer {
	padding-bottom: 60px;
}

.chapter-footer-inner {
	display: flex;
	justify-content: space-between;
}

/* --------------------------------------------------------- */
/* child main visual */
.local-kv {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	border-radius: 0;
	width: 100%;
	margin: 0 auto 55px 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* indexページのkv */
.local-kv--index {
	height: 35vh;
}

/* indexページの下層のkv */
.local-kv--detail {
	height: 35vh;
}

/* 下層が無い主要ページkv */
.local-kv--single {
	height: 35vh;
}

/* その他サブ的なページのkv */
.local-kv--lower {
	height: 25vh;
	width: 100% !important;
	border-radius: 0 !important;
	background-color: #f9f8f7;
	margin-bottom: 0 !important;
}

.local-kv-inner {
	margin-top: -2.5em;
}

.lower-wrapper {
	background-color: #f9f8f7;
	overflow: hidden;
}

.lower-inner {
	background-color: #fff;
	overflow: hidden;
	padding: 55px 0 0;
	max-width: 1280px;
}

.local-kv__ttl-outer {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.local-kv__ttl-inner {
	margin-bottom: 0;
	padding-bottom: 0;
	position: relative;
}

.local-kv__ttl-inner:after {
	content: "";
	position: absolute;
	bottom: -44px;
	right: 0;
	left: -90px;
	margin: auto;
	z-index: 10;
	width: 350px;
	height: 350px;
}

.local-kv__ttl {
	padding: 16px;
	line-height: 1;
	font-size: 2rem;
	background-color: #fff;
	text-align: center;
	border-radius: 5px;
	position: relative;
	margin-bottom: 0;
	display: inline-block;
}

/* --------------------------------------------------------- */
/* smoke */
.smoke {
	position: relative;
}

.smoke:after {
	content: "";
	position: absolute;
	top: auto;
	bottom: auto;
	right: auto;
	left: auto;
	margin: auto;
	z-index: 0;
	width: 350px;
	height: 355px;
}

@media screen and (min-width: 768px) {

	/* --------------------------------------------------------- */
	/* child main visual */
	.local-kv {
		margin: 0 auto 80px 0; 
	}

	.local-kv__ttl {
		font-size: 2.5rem;
	}

	.local-kv-inner {
		margin-top: 0;
	}

}

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

	/* --------------------------------------------------------- */
	/* header */
	.gh {
		top: 50px;
	}

	/* --------------------------------------------------------- */
	/* child main visual */

	.local-kv {
		display: block;
		width: calc(100% - 80px);
		margin: 55px auto 110px 0;
		position: relative;
		border-radius: 0 10px 10px 0;
	}

	.local-kv__ttl-outer {
		align-items: normal;
		justify-content: flex-end;
	}

	.local-kv__ttl-inner {
		margin-top: -80px;
		margin-right: 65px;
		width: 100px;
	}

	.local-kv__ttl-inner:after {
		bottom: -35px;
		left: -130px;
	}

	.local-kv__ttl {
		font-size: 3rem;
		padding: 32px;
		border-radius: 10px;
		writing-mode: tb-rl;
		writing-mode: vertical-rl;
		font-feature-settings: normal;
		letter-spacing: 0.15em
	}

	.local-kv__ttl:before,
	.local-kv__ttl:after {
		position: absolute;
		display: block;
		top: 0;
		width: 10px;
		height: 10px;
		content: "";
		background-size: cover;
	}

	.local-kv__ttl:before {
		left: -10px;
		top: 80px;
		background-image: var(--svg-round-out-corners-RT-wt);
	}

	.local-kv__ttl:after {
		right: -10px;
		top: 80px;
		background-image: var(--svg-round-out-corners-LT-wt);
	}

	.local-kv--index {
		height: 300px;
	}

	.local-kv--detail {
		height: 500px;
	}

	.local-kv--single {
		height: 400px;
	}

	.local-kv--lower {
		height: 280px;
	}

	.local-kv-inner {
		width: calc(100% - 30px);
	}

	.local-kv--lower .local-kv-inner {
		width: calc(100% - 110px);
	}

	.lower-inner {
		padding: 110px 0 0;
		width: calc(100% - 240px);
		border-radius: 10px;
		margin: 0 auto;
	}

}

@media screen and (min-width: 1440px) {

	/* --------------------------------------------------------- */
	/* child main visual */
	.local-kv {
		width: calc(100% - 160px);
	}

	.local-kv-inner {
		width: calc(100% - 65px);
	}

	.local-kv--lower .local-kv-inner {
		width: calc(100% - 145px);
	}

}

body.child {
	padding-top: 60px;
}

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

	body.child {
		padding-top: 40px;
	}
}

/* ============================================================================================== */
/* Layout - main / section                                                                        */
/* ============================================================================================== */
/* 
 * section-header
 * section-body
 * section-footer
 */
/* chapter-header --------------------------------------------------------------- */
.section-header {
	margin-bottom: 20px;
}

.section-header__ttl {
	position: relative;
	margin-bottom: 2em;
	padding-bottom: 0;
	font-size: 2.2rem;
	letter-spacing: 0.15em;
}

.child .section-header__ttl,
.child .section-header__ttl.h-underline {
	font-size: 1.8rem;
}

#tbl .section-header {
	text-align: center;
}

.child .section-header__ttl.h-underline {
	width: auto;
	display: inline-block;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}

.section-header__read {
	font-size: 110%;
}

@media screen and (min-width: 768px) {

	.child .section-header__ttl,
	.child .section-header__ttl.h-underline {
		font-size: 2.2rem;
	}

}

@media screen and (min-width: 1280px) {
	.section-header {
		margin-bottom: 0;
	}

	.section-header__ttl {
		line-height: 1.8;
		font-size: 2.4rem;
	}

	.child .section-header__ttl,
	.child .section-header__ttl.h-underline {
		font-size: 2.4rem;
	}

	.section-header-inner {
		position: relative;
		z-index: 1;
	}
}

/* section-body ----------------------------------------------------------------- */
.section-body__ttl {
	position: relative;
	font-weight: normal;
	font-size: 120%;
}

.section-body__subttl {
	font-weight: normal;
	font-size: 120%;
}

@media screen and (min-width: 1280px) {
	.section-body__ttl {
		font-size: 1.8rem;
	}

}

/* ============================================================================================== */
/* Layout - main / document elements                                                              */
/* ============================================================================================== */
/*
 * document elements / headding
 * document elements / footnote
 * document elements / table
 * document elements / divider
 * document elements / base,layout block
 *  - type : border 
 *  - type : card 
 *  - option : connect line 
 *  - option : padding
 *  - grid layout
 */
/* headding / 見出しの装飾 --------------------------------- */
.h-underline {
	position: relative;
	padding-bottom: 1em;
}

.h-underline:before {
	position: absolute;
	display: block;
	left: -20px;
	right: -20px;
	bottom: 0;
	margin: auto;
	width: calc(100% + 40px);
	height: 1px;
	content: "";
	opacity: 0.75;
	background-color: #000;
}

.h-underline-inner {
	position: relative;
	display: inline-block;
	overflow: hidden;
}

/* shown page animation */
/* main-document-module.cscc の body-overlay に記述 */
.h-underline.-left:before {
	left: 0;
	right: auto;
}

.h-underline.-right:before {
	left: auto;
	right: 0;
}

/* --- */
.h-u {
	position: relative;
	padding-bottom: 0.8em;
	text-align: center;
}

.h-u:before {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	display: block;
	width: 50px;
	height: 3px;
	margin: auto;
	content: "";
	opacity: 5;
	border-radius: 2px;
	opacity: 0.75;
}

.h-u.-left:before {
	left: 0;
	right: auto;
}

.h-u.-right:before {
	left: auto;
	right: 0;
}

/* --- */
.h-dot {
	position: relative;
	padding-left: 1.5em;
}

.h-dot:before {
	position: absolute;
	right: auto;
	left: 0;
	top: 0;
	bottom: 0;
	display: block;
	width: 1em;
	height: 1em;
	max-width: 20px;
	max-height: 20px;
	margin: auto;
	border: 6px double rgba(0, 0, 0, 0.5);
	content: "";
	box-sizing: border-box;
	border-radius: 50%;
}

/* footnote / 脚注 --------------------------------- */
.footnote {
	display: flex;
}

.inline-footnote {
	display: inline-flex;
}

.footnote,
.inline-footnote {
	position: relative;
	flex-direction: column;
	margin-top: 0;
	margin-bottom: 40px;
	padding-left: 1.25em;
	font-size: 1.1rem;
	line-height: 1.3;
	color: #777777;
	list-style: none;
}

.footnote li,
.inline-footnote li {
	position: relative;
	margin-bottom: 0.5em;
	display: inline-block;
}

.footnote:last-child,
.footnote li:last-child,
.inline-footnote:last-child,
.inline-footnote li:last-child {
	margin-bottom: 0;
}

.footnote li:before,
.inline-footnote li:before {
	position: absolute;
	right: calc(100% + 3px);
	content: "※ ";
	white-space: nowrap;
}

.order-footnote {
	display: flex;
}

.inline-order-footnote {
	display: inline-flex;
}

.order-footnote,
.inline-order-footnote {
	position: relative;
	flex-direction: column;
	margin-top: 0;
	margin-bottom: 40px;
	padding-left: 2.25em;
	font-size: 1.1rem;
	line-height: 1.3;
	color: #777777;
	list-style: none;
	counter-reset: footnote-num;
}

.order-footnote li,
.inline-order-footnote li {
	position: relative;
	margin-bottom: 0.5em;
	display: inline-block;
}

.order-footnote:last-child,
.order-footnote li:last-child,
.inline-order-footnote:last-child,
.inline-order-footnote li:last-child {
	margin-bottom: 0;
}

.order-footnote li:before,
.inline-order-footnote li:before {
	position: absolute;
	right: calc(100% + 3px);
	counter-increment: footnote-num;
	content: "※" counter(footnote-num) ". ";
	white-space: nowrap;
}

.inline-footnote,
.inline-order-footnote {
	padding-left: 0;
}

.inline-footnote li:before,
.inline-order-footnote li:before {
	position: relative;
	right: 0;
}

/* table / 表 --------------------------------- */
.table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}

.table--d-border th,
.table--d-border td {
	padding: 20px 0;
	border-bottom: 1px dashed rgba(0, 0, 0, 0.15);
	vertical-align: middle;
}

.table--d-border tr:last-child > * {
	border-bottom: none;
}

/* divider / 分割線 --------------------------------- */
.divider {
	border: none;
	border-top: 1px solid rgba(0, 0, 0, 0.15);
	margin: 30px 0;
}

.divider--dotted {
	border-top: 1px dotted rgba(0, 0, 0, 0.15);
}

.divider--dashed {
	border-top: 1px dashed rgba(0, 0, 0, 0.15);
}

.divider--double {
	border-top: 3px double rgba(0, 0, 0, 0.15);
}

.divider--inherit {
	margin: inherit;
}

.divider--0 {
	margin: 0;
}

.divider--xs {
	margin: 10px 0;
}

.divider--s {
	margin: 20px 0;
}

.divider--r {
	margin: 30px 0;
}

.divider--l {
	margin: 40px 0;
}

.divider--xl {
	margin: 50px 0;
}

.divider--xxl {
	margin: 60px 0;
}

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

	.divider--xs {
		margin: 20px 0;
	}

	.divider--s {
		margin: 40px 0;
	}

	.divider--r {
		margin: 60px 0;
	}

	.divider--l {
		margin: 80px 0;
	}

	.divider--xl {
		margin: 100px 0;
	}

	.divider--xxl {
		margin: 120px 0;
	}

}

/* base,layout --------------------------------------------- */
.c-section {
	margin-bottom: 60px;
}

.c-section--sub {
	margin-bottom: 60px;
}

.c-section--primary {
	margin-bottom: 60px;
}

.c-section--secondary {
	margin-bottom: 60px;
}

.c-section--0 {
	margin-bottom: 0;
}

.c-section--xs {
	margin-bottom: 10px;
}

.c-section--s {
	margin-bottom: 20px;
}

.c-section--sm {
	margin-bottom: 25px;
}

.c-section--m {
	margin-bottom: 30px;
}

.c-section--ml {
	margin-bottom: 40px;
}

.c-section--l {
	margin-bottom: 80px;
}

.c-section--xl {
	margin-bottom: 100px;
}

.c-section > *:last-child,
.c-section--sub > *:last-child,
.c-section--primary > *:last-child,
.c-section--secondary > *:last-child,
.c-section--media > *:last-child {
	margin-bottom: 0;
}

@media screen and (min-width: 1280px) {
	.c-section {
		margin-bottom: 100px;
	}

	.c-section--sub {
		margin-bottom: 120px;
	}

	.c-section--primary {
		margin-bottom: 120px;
	}

	.c-section--secondary {
		margin-bottom: 120px;
	}

	.c-section--xs {
		margin-bottom: 20px;
	}

	.c-section--s {
		margin-bottom: 40px;
	}

	.c-section--sm {
		margin-bottom: 50px;
	}

	.c-section--m {
		margin-bottom: 60px;
	}

	.c-section--ml {
		margin-bottom: 80px;
	}

	.c-section--l {
		margin-bottom: 150px;
	}

	.c-section--xl {
		margin-bottom: 200px;
	}
}
/* type : border */
.c-section--border {
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 3px;
}

/* option : padding */
.c-padding--xs {
	padding: 5px;
	box-sizing: border-box;
}

.c-padding--s {
	padding: 10px;
	box-sizing: border-box;
}

.c-padding--m {
	padding: 20px;
	box-sizing: border-box;
}

.c-padding--l {
	padding: 30px;
	box-sizing: border-box;
}

.c-padding--xl {
	padding: 40px;
	box-sizing: border-box;
}

.c-padding--xxl {
	padding: 50px;
	box-sizing: border-box;
}

.c-padding-remove {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/* grid layout --------------------------------------------- */
.l-block {
	display: flex;
	margin: 0 auto 0 -40px;
	padding: 0;
	list-style: none;
}

.l-block > * {
	flex-basis: 100%;
	margin: 0 0 0 40px;
}

.l-block > *:last-child {
	margin-bottom: 0;
}

.l-block > * > *:last-child {
	margin-bottom: 0;
}

/* margin */
.l-block-m--small {
	margin-left: -20px;
}

.l-block-m--small > * {
	margin: 0 0 0 20px;
}

.l-block-m--medium {
	margin-left: -40px;
}

.l-block-m--medium > * {
	margin: 0 0 0 40px;
}

.l-block-m--large {
	margin-left: -60px;
}

.l-block-m--large > * {
	margin: 0 0 0 60px;
}

.l-block-m--collapse {
	margin-left: 0;
}

.l-block-m--collapse > * {
	margin: 0;
}

.box--flex {
	display: flex;
}

.box--flex.box--2 > * {
	width: 50%;
}


/* ============================================================================================== */
/* Layout - main / document layout module                                                         */
/* ============================================================================================== */
/*
 * Loading Animations (body-overlay / headding elements / except part-header)
 * std-table
 * LOCAL KEYVISUAL (.local-kv)
 * NEWS HEADLINE (.news)
 * chapter-index
 * feature-index
 * feature
 * Extra Sitemap (.es)
 * Showed Drower
 */
/* ============================================================================================== */
.body-overlay {
	display: none;
}

.js .body-overlay {
	position: fixed;
	display: block;
	right: 0;
	bottom: 0;
	z-index: 100;
	width: 100%;
	height: 100vh;
	opacity: 1;
	background-color: #fff;
	pointer-events: none;
}

.js .load .body-overlay {
	opacity: 0;
	transition: opacity 0.75s cubic-bezier(0.22, 0.61, 0.36, 1) 0.1s;
}

/* ------------------------------ */
/* パート見出し */
/*
.js .h-underline:before,
.js .h-underline:after {
	width: 0%;
	transition: 0.5s cubic-bezier(.22,.61,.36,1) 0.2s;
	transition-property: width, transform, opacity;
}
*/
.js .h-underline-inner {
	min-width: 200px;
}

.js .h-underline-inner__txt {
	display: inline-block;
	transform: translateY(10%);
	transition: 0.5s cubic-bezier(0.22, 0.61, 0.36, 1) 0.4s;
	transition-property: width, transform, opacity;
	opacity: 0;
}

.js .load .h-underline-inner__txt {
	transform: translateY(0);
	opacity: 1;
}

/* ============================================================================================== */
@media screen and (min-width: 768px) {
}

@media screen and (min-width: 1280px) {
}

/* --------------------------------------------------------- */
/* NEWS */
.news-index {
	padding: 0;
	letter-spacing: 0.1em;
}

.news .feature-index {
	list-style: none;
	padding: 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.news .feature-index__item {
	margin: 0 0 25px;
	width: calc(50% - 10px);
}

.news__anchor {
	border-radius: 10px;
	box-sizing: border-box;
	text-decoration: none;
	outline: none;
}

.news__anchor > *,
.news__anchor-inner > * {
	margin: 0;
}

.news .feature-index__ttl-outer {
	padding: 0;
	position: static;
}

.news .feature-index__ttl {
	width: 100%;
	position: relative;
	margin-bottom: 0;
	padding: 0 !important;
	box-sizing: border-box;
	background-color: transparent !important;
	font-size: 1.4rem;
}

.news .feature-index__img {
	margin-bottom: 15px;
}

.news .feature-index__img-inner {
	margin: 0;
	width: calc(100% - 20px);
	overflow: visible;
	z-index: 0;
}

.news .feature-index__img-inner:before {
	content: '';
	display: block;
	padding-top: 66%;
	position: relative;
	border-radius: 5px;
}

.news .feature-index__img-inner img {
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	object-fit: cover;
	border-radius: 5px;
}

.news__meta {
	display: flex;
	align-items: center;
	font-size: 1.2rem;
	line-height: 1;
	font-size: 90%;
	margin-bottom: .5em;
}

.news__meta > * {
	margin: 0;
}

.news__meta-date {
	margin: 0;
	font-weight: 500;
	font-style: normal;
	font-size: 1.05rem;
	box-sizing: border-box;
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-feature-settings: normal;
	line-height: 1;
	white-space: nowrap;
}

.news__meta-cat {
	white-space: nowrap;
	color: rgba(102,102,102,.8);
	text-align: center;
	font-weight: normal;
	line-height: 1;
	font-size: .8em;
}

.news__meta .new {
	font-size: .85em;
	font-weight: normal;
	margin-right: .8em;
	color: #d9af54;
}

.news__icon {
	width: 40px;
}

.news__txt {
	font-weight: normal;
	margin-bottom: 0 !important;
	line-height: 1.8;
/*	display: none;　*/
}

@media screen and (min-width: 768px) {

	.news .feature-index__item {
		width: calc(33.333% - 20px);
		margin-bottom: 40px;
	}

	.news .feature-index__ttl {
		margin-bottom: 0;
		font-size: 1.6rem;
	}

	.news__meta {
		font-size: inherit;
	}

	.news__meta-date {
		font-size: 1.2rem;
	}

	.news__meta-cat {
	}

	.news__txt {
		display: block;
	}

}

@media screen and (min-width: 1280px) {
	.chapter-section.news {
	}

	.news__anchor {
		padding: 12px;
	}

	.news__anchor:after {
		display: none;
	}

	.news__anchor:hover {
		background-color: #dfdfdf;
	}

	.news .feature-index__ttl {
		font-size: 1.8rem;
	}

	.news__meta-date {

	}

	.news__meta-cat {
		font-size: .75em;
	}

	.news .feature-index__img {
		margin-bottom: 20px;
	}
}
/* ============================================================================================== */
.chapter-index {
	list-style: none;
	padding: 0;
}

.chapter-index .h-underline {
	margin-bottom: 0.4em;
	padding-bottom: 0.4em;
}

.chapter-index .h-underline:before {
	width: 30px;
}

.chapter-index__item {
	padding: 50px 0;
	border-top: 1px dashed rgba(0, 0, 0, 0.5);
}

.chapter-index__item > *:last-child {
	margin-bottom: 0;
}

.chapter-ttl {
	font-size: 1.6rem;
	margin-bottom: 10px;
	font-weight: normal;
	transition: inherit;
}

.chapter-txt {
	margin-bottom: 0.5em;
}

.chapter-index .navigate--more {
	display: flex;
	justify-content: flex-start;
	text-align: left;
}

.chapter__anchor {
	display: inline-block;
	width: auto;
	padding: 7px 0px;
}

.chapter__anchor .icon {
	width: 24px;
	height: 24px;
}

.chapter__anchor svg {
	stroke-width: 1;
}

@media screen and (min-width: 768px) {
	.chapter-index {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding-top: 0;
		border-top: none;
	}

	.chapter-index:before,
	.chapter-index:after {
		display: block;
		content: "";
		width: calc(50% - 20px);
		height: 1px;
		order: 2;
	}

	.chapter-index__item {
		position: relative;
		width: calc(50% - 20px);
		margin-bottom: 0 !important;
		padding: 50px 30px;
		box-sizing: border-box;
		order: 1;
	}

	.chapter-index__item:before {
		position: absolute;
		top: 20px;
		right: -20px;
		display: block;
		width: 0px;
		height: calc(100% - 40px);
		border-right: 1px dashed rgba(0, 0, 0, 0.5);
		content: "";
	}

	.chapter-index__item:nth-child(2n):before {
		display: none;
	}

	.chapter-index__item:nth-child(2n+1):nth-last-child(-n+2),
	.chapter-index__item:nth-child(2n+1):nth-last-child(-n+2) ~ .chapter-index__item {
		margin-bottom: 0;
	}

	.chapter-ttl {
		font-size: 2.2rem;
	}
}
@media screen and (min-width: 1280px) {
	.chapter-header {
		margin-bottom: 80px;
	}

	.chapter-index:before,
	.chapter-index:after {
		width: calc(33.333% - 40px);
		height: auto;
	}

	.chapter-index__item {
		width: calc(33.333% - 40px);
	}

	.chapter-index__item::before {
		right: -30px;
	}

	.chapter-index__item:nth-child(2n):before {
		display: block;
	}

	.chapter-index__item:nth-child(3n):before {
		display: none;
	}

	.chapter-index__item:nth-child(3n+1):nth-last-child(-n+3),
	.chapter-index__item:nth-child(3n+1):nth-last-child(-n+3) ~ .chapter-index__item {
		margin-bottom: 0 !important;
	}

	.chapter-ttl {
		font-size: 2.8rem;
	}
}
/* ============================================================================================== */
.feature__item {
	position: relative;
	margin-bottom: -40px;
}

.feature__item-anchor {
	display: block;
}

.feature__fig {
	position: relative;
	overflow: hidden;
	border-radius: 5px;
	min-height: 250px;
}

.feature__fig .img {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.feature__fig .txt {
	position: relative;
	object-fit: contain;
	object-position: center;
	display: block;
	width: 100%;
	height: 100%;
}

.feature-txt {
	margin-bottom: 1em;
}

.feature__meta {
	position: relative;
	bottom: 0;
	right: 0;
	width: calc(100% - 40px);
	margin: 0 0 0 auto;
	padding: 20px 0 0 20px;
	box-sizing: border-box;
	background-color: #fff;
	border-radius: 5px 0 0 0;
	transform: translateY(-60px);
}

.feature__meta:before, .feature__meta:after {
	position: absolute;
	display: block;
	top: 0;
	width: 5px;
	height: 5px;
	content: "";
	background-size: cover;
}

.feature__meta:before {
	left: -5px;
	top: calc(60px - 5px);
}

.feature__meta:after {
	top: -5px;
	right: 0;
}

.feature__meta--txt {
	font-weight: normal;
}

.feature__meta--more {
	font-weight: bolder;
}

@media print, screen and (min-width: 768px) {
	.feature__meta {
		position: absolute;
		width: 50%;
		max-width: 400px;
		padding: 40px 0 0 40px;
		transform: none;
	}

	.feature__meta:before {
		left: -5px;
		top: auto;
		bottom: 0;
	}
}
@media print, screen and (min-width: 1280px) {
	.feature__fig .txt {
		object-fit: fill;
		height: auto;
	}

	.feature__meta {
		max-width: 33.333%;
	}
}
/* ============================================================================================== */
.feature-index,
.feature-index > ul {
	list-style: none;
	margin-bottom: 0;
	padding: 0;
}

.feature-index .h-underline {
	margin-bottom: 0.4em;
	padding-bottom: 0.4em;
}

.feature-index .h-underline:before {
	width: 30px;
}

.feature-index__item {
	/*width: calc(100% - 60px);*/
	/*width: 85%;*/
	margin: 0 auto 65px;
	max-width: none;
	max-width: initial;
}

.feature-index__head {
	position: relative;
	display: inline-block;
	width: 100%;
	font-weight: bolder;
	margin-bottom: 0;
	text-decoration: none;
}

.feature-index__head .icon svg {
	width: 50px;
	stroke-width: 1;
}

.feature__more-anchor {
	display: inline-block;
}

.feature__more-anchor .icon svg {
	stroke-width: 1;
}

.feature-index__ttl-outer {
	position: relative;
}

.feature-index__ttl {
	/*margin: 0;*/
	font-size: 1.75rem;
	transition: inherit;
	text-align: center;
	text-align: left;
}

.feature-index__ttl.nowrap {
	white-space: nowrap;
	font-size: 1.72rem;
	letter-spacing: .095em !important;
}

.feature-index__ttl .sub-ttl {
	display: block;
	font-size: 1.2rem;
	letter-spacing: 0.12em;
	margin-bottom: 0.5em;
}

.feature-index__ttl rt {
	position: relative;
	top: 0.5em;
	font-size: 0.9rem;
	-webkit-ruby-align: center;
	ruby-align: center;
}

.feature-index__img {
	position: relative;
	width: 100%;
	margin: 0 auto 20px;
	border-radius: 5px;
	/*background-color: rgb(244, 243, 235);*/
}

.feature-index__img img {
	display: block;
	width: 100%;
}

.feature-index__img-inner {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 5px;
}

.feature-index__img-inner:before {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.1);
	content: "";
	z-index: 1;
	opacity: 0;
	transition: all 0.5s cubic-bezier(0.77, 0, 0.18, 1);
}

a:hover .feature-index__img-inner:before {
	opacity: 1;
}

.feature-index__img-icon[data-icon] {
	position: absolute;
	left: -13px;
	bottom: -13px;
	width: 30px;
	height: 30px;
	display: block;
	background-color: #fff;
	border-radius: 0 22px 0 0;
	padding: 8px 8px 0 0;
	z-index: 2;
}

.feature-index__img-icon[data-icon] svg {
	position: relative;
	left: 5px;
	top: 5px;
	width: 20px;
	height: 20px;
	stroke-width: 2;
}

.feature-index__img-icon[data-icon]:before,
.feature-index__img-icon[data-icon]:after {
	position: absolute;
	display: block;
	width: 8px;
	height: 8px;
	content: "";
	background-image: var(--svg-round-out-corners-LB-wt);
	background-size: cover;
}

.feature-index__img-icon[data-icon]:before {
	left: 13px;
	top: -8px;
	bottom: 0;
}

.feature-index__img-icon[data-icon]:after {
	bottom: 13px;
	right: -8px;
}

.feature-index__txt {
	font-size: 1.2rem;
}

.navigate--more {
	text-align: right;
}

@media print, screen and (min-width: 768px) {
	.feature-index {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.feature-index:before,
	.feature-index:after {
		display: block;
		content: "";
		width: calc(33.333% - 20px);
		height: 1px;
		order: 2;
	}

	.feature-index__item {
		position: relative;
		width: calc(33.333% - 20px);
		max-width: none;
		max-width: initial;
		margin-left: 0;
		margin-right: 0;
		margin-bottom: 60px !important;
		padding: 0;
		box-sizing: border-box;
		order: 1;
	}

	.feature-index__item:nth-child(2n+1):nth-last-child(-n+2),
	.feature-index__item:nth-child(2n+1):nth-last-child(-n+2) ~ .feature-index__item {
		margin-bottom: 0 !important;
	}

	.feature-index__item > *:last-child {
		margin-bottom: 0;
	}

	.feature-index__img {
		margin-bottom: 20px;
	}

	.feature-index__img img {
		border-radius: 5px;
		transition: transform 0.5s ease-in;
	}

	.feature-index__item:nth-child(2n+1):nth-last-child(-n+2),
	.feature-index__item:nth-child(2n+1):nth-last-child(-n+2) ~ .feature-index__item {
		margin-bottom: 0;
	}
}
@media screen and (min-width: 1280px) {
	.feature-header {
		width: calc(100% - 120px);
		margin: auto;
		margin-bottom: 80px;
	}

	.feature-index:before,
	.feature-index:after {
		width: calc(33.333% - 40px);
	}

	.feature-index__item {
		width: calc(33.333% - 40px);
		margin-bottom: 80px !important;
	}

	.feature-index__item:nth-child(2n):before {
		display: block;
	}

	.feature-index__item:nth-child(3n):before {
		display: none;
	}

	.feature-index__item:nth-child(3n+1):nth-last-child(-n+3),
	.feature-index__item:nth-child(3n+1):nth-last-child(-n+3) ~ .feature-index__item {
		margin-bottom: 0 !important;
	}

	.feature-index__head {
		margin-bottom: 0;
	}

	.feature-index__ttl-outer {
		position: absolute;
		bottom: 0;
		z-index: 1;
	}

	.feature-index__ttl {
		position: relative;
		bottom: auto;
		left: auto;
		width: auto;
		height: auto;
		margin: 0;
		background-color: #fff;
		padding: 15px 15px 15px 0;
		font-size: 1.8rem;
		border-radius: 0 5px 0 0;
	}

	.feature-index__img {
		margin-bottom: 30px;
	}

	.feature-index__head:hover .feature-index__img:before {
		opacity: 1;
	}

	.feature-txt {
		font-size: 1.4rem;
		margin-bottom: 2em;
	}

	/* vertical */
	.-vert .feature-index__img {
		margin-bottom: 0;
		width: 100%;
	}

	.-vert .feature-index__ttl-outer {
		position: absolute;
		top: 0px;
		right: 0;
		bottom: auto;
		left: auto;
		width: 100%;
		height: 100%;
		writing-mode: tb-rl;
		writing-mode: vertical-rl;
		font-feature-settings: normal;
		z-index: 2;
	}

	.-vert .feature-index__ttl {
		position: absolute;
		top: auto;
		right: -15px;
		top: -30px;
		max-height: 10em;
		margin: 0;
		padding: 15px;
		letter-spacing: 0.2em;
		line-height: 1;
		border-radius: 0 0 0 5px;
	}

	.-vert .feature-index__ttl:before,
	.-vert .feature-index__ttl:after {
		position: absolute;
		display: block;
		top: 0;
		width: 5px;
		height: 5px;
		content: "";
		background-size: cover;
	}

	.-vert .feature-index__ttl:before {
		left: -5px;
		top: 30px;
		bottom: auto;
	}

	.-vert .feature-index__ttl:after {
		right: 15px;
		top: auto;
		bottom: -5px;
	}

	.-vert .feature-index__ttl .sub-ttl {
		margin-left: 0.6em;
	}

	.-vert .feature-index__head {
		margin-bottom: 20px;
	}

}

/* ============================================================================================== */
/* contact */
#contact .chapter-section-header__ttl {
	font-size: 2.0rem;
}

#contact .smoke:after {
	background-image: url(../img/global/decoration-color.png);
	z-index: -1;
	top: -30px;
	right: 0;
	left: 0;
}

#contact .chapter-intro {
	text-align: center;
}

.contact__list {
	list-style: none;
	padding: 0;
	margin-bottom: 0;
}
	
.contact__item {
	margin-bottom: 30px;
}

.contact__item:last-child {
	margin-bottom: 0;
}
	
.contact__item-ttl {
	font-size: 0.85em;
	line-height: 1;
}
	
.tel__num {
	font-weight: 600;
	font-size: 1.6em;
	margin-bottom: 5px;
	line-height: 1;
}

@media screen and (min-width: 768px) {

	.contact__anchor {
		padding: 10px 20px !important;
/*		justify-content: flex-start !important;*/

	}

}

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

	/* ============================================================================================== */
	/* contact */
	#contact .chapter-intro {
		text-align: left;
	}

	.contact__item {
		margin-bottom: 45px;
	}

	.contact__item-ttl {
		font-size: 1.4rem;
	}

	.tel__num {
		font-size: 2.6rem;
		margin-bottom: 15px;
	}

	.tel__info {
		letter-spacing: 0.08rem;
	}

}


/* ============================================================================================== */
/* Showed Drower */
.gf,
.main-wrapper {
	transition: transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media screen and (min-width: 1280px) {
	.gh,
	.gf,
	.main-wrapper {
		transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
	}

	.gh {
		opacity: 0;
		transition-property: transform, opacity;
	}

	.domContentLoaded .gh {
		opacity: 1;
	}
}

/* オンだった場合、ページ遷移のたびに切り替えアニメーションが見えるのでアニメーションは切っておく */
body.mode--setting .input-toggle + label:after {
	transition-duration: 0s !important;
}

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

/* button.scss 内 .more-btn にも記述あり */
/*
 * Layout / global-footer
 */
/* ============================================================================================== */
/* Layout - footer / global-footer                                                                */
/* ============================================================================================== */
.gf {
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
/*	font-size: 1.2rem; */
	letter-spacing: 0.15em;
	position: relative;
}
	
.gf .g-logo {
	justify-content: center;
}
	
.gf-inner {
	position: relative;
	padding-top: 60px;
}
	
.gf-inner:before {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	/*content: "";
	width: 100%;
	height: 100%;
	background-color: rgb(244, 243, 235);
	z-index: 1;
	border-radius: inherit;
	opacity: 0.8;
	pointer-events: none;*/
}


.gf-sitemap__list a:link {
	color: #fff !important;
}

.gf-sitemap__list a:visited {
	color: #dfdfdf !important;

}

.gf-sitemap__list a:active {
	color: #333 !important;

}



.gf__item {
	position: relative;
	margin: 0 auto;
	box-sizing: border-box;
	z-index: 2;
}

.gf__item:before {
	/*position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: auto;
	display: block;
	width: 100%;
	height: 5px;
	margin: auto;
	opacity: 0.5;
	content: "";*/
}

.gf__item-inner {
	position: relative;
	max-width: 1320px;
	margin: 0 auto;
	padding: 40px 30px;
	box-sizing: border-box;
}

.gf__item-inner > * {
	margin-bottom: 20px;
}

.gf__item-inner > *:last-child {
	margin-bottom: 0;
}

.msie .gf__item:before {
	border-bottom: 1px solid #555;
}

.gf .site-logo {
	width: 250px;
	margin: 0 auto;
}

/* copyright */
.gf .copyright .gf-other {
	text-align: center;
}

@media screen and (min-width: 768px) {

	.gf-inner {
		padding-top: 80px;
	}

	/* copyright */
	.gf .copyright .gf-other {
		text-align: center;
	}

}

@media screen and (min-width: 1280px) {
	.gf {
		font-size: 1.3rem;
		padding-top: 0;
	}

	.gf .g-logo {
		margin: 0;
		padding: 0;
		width: 40%;
	}

	.gf .site-logo {
		width: 435px;
	}
	
	.gf__item {
		width: calc(100% - 180px);
		display: flex;
		justify-content: flex-start;
	}

	.gf__item-inner {
		padding: 60px 0;
	}

	/* copyright */
	.gf .copyright {
		width: auto;
		position: absolute;
		left: 0;
		bottom: 130px;
		writing-mode: tb-rl;
		writing-mode: vertical-rl;
		font-feature-settings: normal;
		padding: 0 20px;
	}

	.gf .copyright .gf__item-inner {
		padding: 0;
	}

	.gf .copyright .gf__small {
		margin-bottom: 0;
	}

}
/* ------------------------- */
.gf__nav {
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
}

.gf__nav li {
	margin: 0 0 0.5em;
}

.gf__nav a {
	display: inline-flex;
	align-items: center;
}

.gf__nav .icon {
	flex-shrink: 0;
	display: block;
	width: 24px;
	height: 24px;
	stroke-width: 1.3;
	margin-left: -8px;
}

@media screen and (min-width: 1280px) {
	.gf__nav {
		margin-bottom: 0;
	}
}
/* ------------------------- */
.gf-siteinfo {
	line-height: 2;
	font-size: 1.1rem;
}

.gf-siteinfo > *:last-child {
	margin-bottom: 0;
}

.gf-siteinfo__name {
	margin-bottom: 0.5em;
	font-size: 1.4rem;
	font-weight: bolder;
}

@media screen and (min-width: 1280px) {
	.gf-siteinfo {
		padding-bottom: 0;
	}

	.gf-siteinfo__name {
		font-size: 2rem;
	}
}
/* ------------------------- */
.gf-other {
	position: relative;
	border-top: none;
	font-size: 1.1rem;
}

.gf-other > * {
	position: relative;
	z-index: 2;
}

.gf__small {
	font-size: 1.0rem;
	line-height: 1.5;
}

.gf__small small {
	font-size: inherit;
	letter-spacing: 0.05em;
	opacity: 0.55;
	color: rgba(240,240,240,1);

}

@media screen and (min-width: 1280px) {
	.gf-other .gf__nav {
		display: flex;
		align-items: center;
	}

	.gf-other .gf__nav > * {
		margin-right: 2em;
	}

	.gf__small {
		font-size: 1.1rem;
	}
}


/* ------------------------- */
/* ------------------------- */
/* -------- mobile用定義　詳細を表示する場合はオープンにする-------
.gf-sitemap {
	position: relative;
	display: none;
}--- */
/* ------------------------- */

.gf-sitemap > * {
	margin-bottom: 10px;
}

.gf-sitemap > *:last-child {
	margin-bottom: 0;
}

@media screen and (min-width: 768px) {
	.gf-sitemap {
		display: flex;
		justify-content: space-between;
	}

	.gf .owner-info__txt.gf-address .anchor {
		text-decoration: underline;
	}

	.gf .owner-info__txt.gf-address .anchor:hover {
		text-decoration: none;
	}
}
/* ------------------------- */
.gf-sitemap__list {
	list-style: none;
	margin: 0 0 1em;
	padding: 0;
}

.gf .owner-info {
	margin-bottom: 2em;
	line-height: 1.6;
}

.gf .owner-info__txt {
	margin-bottom: 1em;
}

/* child */
.gf-sitemap__list .gf-sitemap__list {
	font-weight: normal;
}

.gf-sitemap__list .gf-sitemap__list li {
	margin-bottom: 0.5em;
}

.gf-sitemap__list .gf-sitemap__list li:last-child {
	margin-bottom: 0;
}



.gf-sitemap__inner-list {
	padding: 0;
}

.gf-sitemap__list-item {
	margin-bottom: 1em;
	color:#dfdfdf;
	list-style: none;
}

.gf .sitemap-sub .gf-sitemap__list-item {
	margin-bottom: .8em;
}
.gf-sitemap__list-item:last-child {
	margin-bottom: 0;
}
.gf-sitemap__inner-list .gf-sitemap__list-item img {
	width: 16px;
}

.gf-sitemap .anchor {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

.gf-sitemap .has-child > .anchor {
	margin-bottom: 1em;
}

.gf-sitemap .icon {
	flex-shrink: 0;
	display: inline-block;
	width: 24px;
	height: 24px;
	margin-right: 10px;
	stroke-width: 1.3;
}

.gf-sitemap .gf-address .icon {
	margin-right: 0;
}

@media screen and (min-width: 768px) {

	.gf-sitemap > .gf-sitemap__list {
		width: calc(100% - 15px);
	}
	.gf-sitemap__list-item {
		margin-bottom: 5px;
		font-size: 11px;
	}

}

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

	.gf-sitemap {
		display: flex;
		justify-content: space-between;
		width: 60%;
	}

	.gf-sitemap > .gf-sitemap__list {
	}

	.gf-sitemap__list {
		margin-bottom: 0;
	}

	.gf-sitemap__list-item {
		margin-bottom: 5px;
		font-size: 12px;
	}

	.gf .sitemap-sub .gf-sitemap__list-item {
		margin-bottom: 12px;
	}

	.gf-sitemap__child-wrapper {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.gf-sitemap .anchor {
		color: rgba(102,102,102,.8);
	}

	.gf-sitemap .anchor:hover {
		color: rgba(102,102,102,1);
	}

}
/* ------------------------- */
.gf-sitemap__section-ttl {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0.5em 0 20px;
	font-size: 16px;
	font-weight: bolder;
　　　　color:#C8D0D7;
}

.gf-sitemap__inner {
	padding-left: 20px;
}

.section-mark {
	position: relative;
	display: inline-block;
	width: 10px;
	margin-right: 10px;
}

.section-mark:before {
	display: block;
	content: "";
	width: 3px;
	height: 20px;
	margin: 0 auto;
	border-radius: 50px;
	background-color: rgba(0,0,0,.3);
}

@media screen and (min-width: 1280px) {
	.gf-sitemap__section-ttl {
		padding: 0.5em 0 30px;
		footerfont-size: 20px;

	}
}

@media screen and (min-width: 1280px) {
}
/* ============================================================================================== */
/* Module / Alert                                                                                 */
/* ============================================================================================== */
/* ============================================================================================== */
/* Banner                                                                                         */
/* ============================================================================================== */
/*
 * Banner
 * - standard 
 * - primary
 * - hero
 *
 * - relation list
 *  - type : button list
 *  - type : product list
 *  - type : button (side) list
 */

/* 関連サイト */
#relation {
	display: none;
}

/* ============================================================================================== */
/* UI / Button                                                                                    */
/* ============================================================================================== */
/*
 * UI / Button
 * - default style
 *  - primary 
 *  - secondary 
 *  - warning
 *  - disabled 
 *  - decoration
 *
 * - option : sizing
 * - option : width
 * - option : icon
 * - option : levitate
 * 
 * - type : ghost-btn
 * - type : fill-btn
 * - type : fixed(levitate)-btn
 * - type : underline-btn
 * - type : more-btn
 */
/* ------------------------------- */
button {
	font-size: inherit;
}

/* ------------------------------- */
.btn {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	text-decoration: none;
	font-size: inherit;
	transition: 0.3s ease;
	transition-property: border, background, color, box-shadow;
	cursor: pointer;
}

.btn:hover {
	text-decoration: none;
	border: none;
}

.btn svg,
.btn use {
	transition: none;
}

.btn.btn--underline {
	border-bottom: 1px solid rgba(0, 0, 0, 0.5);
	text-decoration: none;
}

a:hover .btn.btn--underline {
	border-bottom: 1px solid black;
}

.btn[target="_blank"]:before {
	content: "";
}

button.btn .btn-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-basis: 100%;
}

.msie button.btn .btn-inner {
	flex-basis: auto;
}

/* ----------------------------------------------------------------------- */
/* default style */
/* ----------------------------------------------------------------------- */
.btn {
	position: relative;
	min-width: 40px;
	min-height: 40px;
	padding: 8px 15px;
	border: none;
	border-radius: 6px 6px 6px 6px / 9px 9px 9px 9px;
	box-sizing: border-box;
	font-weight: 500;
	text-align: center;
	text-decoration: none !important;
	color: inherit;
	white-space: nowrap;
}

.btn:before {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	border-radius: 6px 6px 6px 6px / 9px 9px 9px 9px;
	border: 1px solid currentColor;
	content: "";
	opacity: 0.75;
	backface-visibility: hidden;
	transition: opacity 0.3s ease;
}

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

a:hover .btn:before {
	opacity: 1;
}

/* primary */
.btn.primary {
	color: #333;
}

.btn.primary:before {
	border-width: 2px;
	opacity: 1;
}

a:hover .btn.primary,
.btn.primary:hover {
	color: #fff;
	background-color: var(--color-a-link);
}

a:hover .btn.primary:before,
.btn.primary:hover:before {
	border-color: var(--color-a-link) !important;
}

a:active .btn.primary,
.btn.primary:active {
	color: #fff;
	background-color: #000;
}

/* secondary */
.btn.secondary:before {
	border-width: 2px;
	opacity: 0.7;
}

a:hover .btn.secondary,
.btn.secondary:hover {
	color: #fff;
	background-color: var(--color-a-link);
}

a:hover .btn.secondary:before,
.btn.secondary:hover:before {
	border-color: var(--color-a-link) !important;
}

a:active .btn.secondary,
.btn.secondary:active {
	color: #fff;
	background-color: var(--color-a-link);
}

/* warning */
.btn.warning {
	color: red;
	border-color: rgba(255, 0, 0, 0.4) !important;
}

a:hover .btn.warning,
.btn.warning:hover {
	color: #fff !important;
	background-color: red !important;
}

a:hover .btn.warning:before,
.btn.warning:hover:before {
	border-color: red !important;
}

/* disabled */
.btn.btn[disabled] {
	opacity: 0.3;
	pointer-events: none;
}

/* ----------------------------------------------------------------------- */
/* option : sizing */
/* XS */
.btn.btn--xs {
	min-width: 20px !important;
	min-height: 20px !important;
	padding: 0 8px !important;
	font-size: 1.1rem;
}

/* S */
.btn.btn--s {
	min-width: 30px !important;
	min-height: 30px !important;
	padding: 0px 10px !important;
	font-size: 1.2rem;
}

/* R */
.btn.btn--r {
	min-width: 35px !important;
	min-height: 35px !important;
	padding: 5px 15px !important;
	font-size: 1.4rem;
}

/* L */
.btn.btn--l {
	min-width: 50px !important;
	min-height: 50px !important;
	padding: 5px 15px !important;
	font-size: 1.4rem;
}

/* XL */
.btn.btn--xl {
	min-width: 60px !important;
	min-height: 60px !important;
	padding: 5px 15px !important;
	font-size: 1.6rem;
	text-align: center;
}

/* ----------------------------------------------------------------------- */
/* option : width */
.btn.btn--width-10p {
	width: 10%;
}

.btn.btn--width-20p {
	width: 20%;
}

.btn.btn--width-30p {
	width: 30%;
}

.btn.btn--width-40p {
	width: 40%;
}

.btn.btn--width-50p {
	width: 50%;
}

.btn.btn--width-60p {
	width: 60%;
}

.btn.btn--width-70p {
	width: 70%;
}

.btn.btn--width-80p {
	width: 80%;
}

.btn.btn--width-90p {
	width: 90%;
}

.btn.btn--width-100p {
	width: 100%;
}

.btn.btn--width-10px {
	width: 10px;
}

.btn.btn--width-20px {
	width: 20px;
}

.btn.btn--width-30px {
	width: 30px;
}

.btn.btn--width-40px {
	width: 40px;
}

.btn.btn--width-50px {
	width: 50px;
}

.btn.btn--width-60px {
	width: 60px;
}

.btn.btn--width-70px {
	width: 70px;
}

.btn.btn--width-80px {
	width: 80px;
}

.btn.btn--width-90px {
	width: 90px;
}

.btn.btn--width-100px {
	width: 100px;
}

.btn.btn--width-110px {
	width: 110px;
}

.btn.btn--width-120px {
	width: 120px;
}

.btn.btn--width-130px {
	width: 130px;
}

.btn.btn--width-140px {
	width: 140px;
}

.btn.btn--width-150px {
	width: 150px;
}

.btn.btn--width-160px {
	width: 160px;
}

.btn.btn--width-170px {
	width: 170px;
}

.btn.btn--width-180px {
	width: 180px;
}

.btn.btn--width-190px {
	width: 190px;
}

.btn.btn--width-200px {
	width: 200px;
}

.btn.btn--width-220px {
	width: 220px;
}

.btn.btn--width-240px {
	width: 240px;
}

.btn.btn--width-250px {
	width: 250px;
}

.btn.btn--width-260px {
	width: 260px;
}

.btn.btn--width-270px {
	width: 270px;
}

.btn.btn--width-280px {
	width: 280px;
}

.btn.btn--width-290px {
	width: 290px;
}

.btn.btn--width-300px {
	width: 300px;
}

/* ----------------------------------------------------------------------- */
/* option : icon */
.btn-lbl {
	display: inline-block;
}

.btn .icon {
	/*opacity: inherit;
	width: 2.5em;
	height: 2.5em;*/
	margin-left: -5px;
	margin-right: 3px;
}

/*.btn .icon:first-child {
	margin: -6px 3px -6px -4px;
}

.btn .icon:last-child {
	margin: -6px -4px -6px 3px;
}

.btn .icon:only-child {
	margin: -6px -12px;
}*/

.btn.btn--xs .icon {
	font-size: 70%;
}

.btn.btn--xs .icon:first-child {
	margin: -5px 0 -5px -4px;
}

.btn.btn--xs .icon:last-child {
	margin: -5px -4px -5px 0;
}

.btn.btn--xs .icon:only-child {
	margin: -1rem -0.5rem;
}

.btn.btn--s .icon {
	font-size: 90%;
}

.btn.btn--s .icon:first-child {
	margin: -5px 0 -5px -4px;
}

.btn.btn--s .icon:last-child {
	margin: -5px -4px -5px 0;
}

.btn.btn--s .icon:only-child {
	margin: -1rem;
}

.btn.btn--l .icon:first-child {
	margin: -8px 10px -8px -6px;
}

.btn.btn--l .icon:last-child {
	margin: -8px -6px -8px 10px;
}

.btn.btn--l .icon:only-child {
	margin: -0.5rem -1rem;
	font-size: 1.6rem;
}

.btn.btn--xl .icon:first-child {
	margin: -12px 15px -12px -6px;
}

.btn.btn--xl .icon:last-child {
	margin: -12px -6px -12px 15px;
}

.btn.btn--xl .icon:only-child {
	margin: -0.5rem -1rem;
	font-size: 2.1rem;
}

.msie .btn {
	height: 40px;
}

.msie .btn:before,
.msie .btn:after {
	opacity: 1;
}

.msie .btn.btn--xs {
	height: 20px;
}

.msie .btn.btn--s {
	height: 30px;
}

.msie .btn.btn--l {
	height: 50px;
}

.msie .btn.btn--xl {
	height: 60px;
}

.msie .btn.btn--xs .icon:first-child,
.msie .btn.btn--xs .icon:last-child,
.msie .btn.btn--xs .icon:only-child,
.msie .btn.btn--s .icon:first-child,
.msie .btn.btn--s .icon:last-child,
.msie .btn.btn--s .icon:only-child,
.msie .btn.btn--l .icon:first-child,
.msie .btn.btn--l .icon:last-child,
.msie .btn.btn--l .icon:only-child,
.msie .btn.btn--xl .icon:first-child,
.msie .btn.btn--xl .icon:last-child,
.msie .btn.btn--xl .icon:only-child {
	margin-top: 0;
	margin-bottom: 0;
}

/* ----------------------------------------------------------------------- */
/* option : levitate */
.btn.btn--levitate {
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

/* ----------------------------------------------------------------------- */
/* type : fill-btn */
/* ----------------------------------------------------------------------- */
.btn.btn--fill {
	color: rgba(255, 255, 255, 0.9);
	background-color: var(--color-a-link);
}

a:hover .btn--fill,
.btn--fill:hover {
	color: #fff !important;
	background-color: var(--base-color) !important;
	border-color: var(--base-color) !important;
}

.btn.btn--fill:before {
	display: none;
}

/* primary */
.btn--fill.primary,
.btn--fill.primary {
	color: white;
	background-color: var(--base-color);
	font-weight: 500;
}

a:hover .btn--fill.primary,
.btn--fill.primary:hover {
	font-weight: 500 !important;
	background-color: var(--color-a-link) !important;
	border-color: var(--color-a-link) !important;
	color: white !important;
}

/* secondary */
.btn--fill.secondary {
	background-color: var(--base-color);
	font-weight: 500;
}

a:hover .btn--fill.secondary,
.btn--fill.secondary:hover {
	font-weight: 500 !important;
	background-color: var(--color-a-link) !important;
	border-color: var(--color-a-link) !important;
	color: white !important;
}

/* warning */
.btn--fill.warning {
	background-color: red !important;
}

a:hover .btn--fill.warning,
.btn--fill.warning:hover {
	color: #fff !important;
	background-color: red !important;
	border-color: red !important;
}

/* disabled */
.btn.btn--fill[disabled] {
	background: rgba(0, 0, 0, 0.25);
	color: #fff;
	pointer-events: none;
}

.msie .btn--fill {
	background: black !important;
	color: #fff !important;
}

/* right icon (default) */
.btn.btn--arrow-card {
	position: relative;
	padding: 15px 55px 15px 15px;
	box-sizing: border-box;
}

.btn .btn--arrow-card__arrow {
	position: absolute;
	right: 10px;
	top: 0;
	bottom: 0;
	width: 30px;
	height: 30px;
	margin: auto !important;
}

/* left icon */
.btn.btn--arrow-card-l {
	position: relative;
	padding: 15px 15px 15px 50px;
	box-sizing: border-box;
}

.btn.btn--arrow-card-l .btn--arrow-card__arrow {
	position: absolute;
	left: 10px;
	right: auto;
	top: 0;
	bottom: 0;
	width: 30px;
	height: 30px;
	margin: auto !important;
}

.msie .btn.btn--card,
.msie .btn.btn--arrow-card,
.msie .btn.btn--arrow-card-l {
	height: auto;
}

/* ----------------------------------------------------------------------- */
/* type : text */
/* ----------------------------------------------------------------------- */
.btn--text {
	padding: 0;
	font-weight: inherit;
}

.btn--text:before {
	display: none;
}

.btn--text:before {
	display: none;
}

a.btn--text:hover {
	text-decoration: none;
}

/* ----------------------------------------------------------------------- */
/* type : other */
/* ----------------------------------------------------------------------- */

.btn--shadow {
	box-shadow: 0 8px 20px 0 rgba(0,0,0,.15);
}

.btn--shadow:hover {
	box-shadow: 0 0 10px 0 rgba(0,0,0,.15)
}

.btn__fig {
	overflow: hidden;
}

/* ----------------------------------------------------------------------- */
/* type : anchor */
/* ----------------------------------------------------------------------- */
.btn--anchor[href*="#"] {
	display: inline-flex;
	position: relative;
	min-width: initial;
	min-height: initial;
	padding: 0;
	border: none;
	color: inherit;
	white-space: nowrap;
	color: inherit;
}

.btn--anchor[href*="#"]:before {
	display: none;
}

.btn--anchor[href*="#"]:hover {
	color: inherit;
	opacity: 0.5 !important;
}

.btn--anchor[href*="#"]:after {
	line-height: 1;
}

/* ----------------------------------------------------------------------- */
/* type : underline-btn */
/* ----------------------------------------------------------------------- */
.text--underline {
	position: relative;
	display: inline-block;
}

.text--underline:before {
	position: absolute;
	display: block;
	width: 0%;
	height: 1px;
	bottom: 0;
	left: 0;
	margin: auto;
	background-color: currentColor;
	transition: width 0.2s cubic-bezier(0.17, 0.84, 0.44, 1);
	content: "";
}

a:hover .text--underline:before,
.text--underline:hover:before {
	width: 100%;
}

/* ----------------------------------------------------------------------- */
/* type : more-btn */
/* ----------------------------------------------------------------------- */
.more-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	padding: 3px 0;
}

.more-btn__icon {
	position: relative;
	overflow: hidden;
}

.more-btn__icon:first-child {
	left: -3px;
}

.more-btn__label {
	margin-right: 10px;
}

.more-btn__label:last-child {
	margin-right: 0;
}

.more-btn:before {
	position: absolute;
	bottom: -1px;
	left: 0;
	display: block;
	width: 100%;
	height: 1px;
	background-color: currentColor;
	content: "";
}

@media screen and (min-width: 1280px) {
	.more-btn {
		position: relative;
		padding: 3px 0 3px 50px;
		border: none;
		box-sizing: border-box;
		font-weight: 500;
		text-align: center;
		text-decoration: none !important;
		white-space: nowrap;
		transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
		transition-property: padding, color, background-color;
		font-size: 1.4rem;
		overflow: hidden;
	}

	.more-btn:hover {
		color: rgba(0,0,0,.6) !important;
	}

	.more-btn:before {
		left: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 40px;
		height: 1px;
		background-color: rgba(0,0,0,0.2);
		opacity: 0.5;
		box-sizing: border-box;
		content: "";
		transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
		transition-property: opacity, border-color;
	}

	.more-btn:hover:before {
		opacity: 0 !important;
	}

	.more-btn:after {
		position: absolute;
		left: 0;
		margin: auto;
		top: 0;
		bottom: 0;
		display: block;
		width: 40px;
		height: 1px;
		border-radius: 50px;
		content: "";
		transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
		background-color: rgba(0,0,0,0.5);
		-moz-transform: translateX(-40px);
		transform: translateX(-40px);
	}

	.more-btn:hover:after {
		-moz-transform: translateX(0px) !important;
		transform: translateX(0px) !important;
	}

	.more-btn__label {
		margin-right: 0;
	}

	.more-btn-trgr:hover .more-btn,
	.more-btn-trgr:hover + * .more-btn,
	.more-btn:hover {
		/*color: #fff;
		background-color: var(--color-a-link);
		padding-bottom: 36px;*/
	}

	.more-btn-trgr:hover + * .more-btn .more-btn__icon,
	.more-btn:hover .more-btn__icon {
		opacity: 1 !important;
		/*animation: more-btn-arrow-in 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);*/
	}

	.more-btn-trgr:hover .more-btn:before,
	.more-btn-trgr:hover + * .more-btn:before {
		opacity: 0 !important;
	}

	.more-btn-trgr:hover .more-btn:after,
	.more-btn-trgr:hover + * .more-btn:after {
		transform: translateX(0) !important;
	}

	.-vert .more-btn__label {
		margin-right: 0;
	}

	.-vert .chapter__anchor.more-btn {
		padding: 80px 3px 0;
		overflow: hidden;
	}

	.-vert .chapter__anchor.more-btn:before {
		width: 1px;
		height: 60px;
		top: 0;
		bottom: auto;
		right: 0;
		opacity: 1;
	}

	.-vert .chapter__anchor.more-btn:after {
		right: 0;
		left: 0;
		top: 0;
		bottom: auto;
		margin: auto;
		width: 1px;
		height: 60px;
		transform: translateY(-60px);
	}

	.-vert .chapter__anchor.more-btn:hover:before {
		opacity: 0;
	}

	.-vert .chapter__anchor.more-btn:hover:after {
		transform: translateY(0);
	}

}

@keyframes more-btn-arrow-in {
	0% {
		transform: translateX(-10px);
	}
	100% {
		transform: translateX(0px);
	}
}

/* ============================================================================================== */
/* Module / document container                                                                    */
/* ============================================================================================== */
/* Article free area */
/* CMSを利用した投稿記事部分など、プレーンなタグで整形を行う場合 */
.document-container {
	font-feature-settings: normal;
	letter-spacing: 0.12em;
}

.document-container section > *:last-child {
	margin-bottom: 0;
}

/* h1 - h5 */
.document-container h1,
.document-container h2,
.document-container h3,
.document-container h4,
.document-container h5,
.document-container h6 {
	margin: 0 0 0.5em;
	line-height: 1.3;
	font-feature-settings: "palt" 1;
}

.document-container h1 {
	font-size: 220%;
	font-weight: 300;
}

.document-container h2 {
	font-size: 180%;
	font-weight: 300;
	padding: 0;
}

.document-container h3 {
	font-size: 140%;
	font-weight: 400;
}

.document-container h4 {
	font-size: 120%;
	font-weight: 500;
}

.document-container h5,
.document-container h6 {
	font-size: 110%;
	font-family: TsukuBRdGothicStd-D, 'Yu Mincho', "游明朝", 'YuMincho', "游明朝体",sans-serif !important;
}

/* p */
.document-container p {
	line-height: 2;
	margin: 2em 0;
	/*word-break: break-all;*/
}

.document-container p:first-child {
	margin-top: 0;
}

.document-container iframe {
	width: 100%;
}

.document-container hr {
	margin: 2em 0;
}

/* ----------------------------------------------------------------------- */
/* LIST */
/* ul, ol */
.document-container ol,
.document-container ul {
	margin: 1.5em 0;
	padding-left: 1em;
	box-sizing: border-box;
}

.document-container ol {
	list-style-type: decimal;
}

.document-container ul {
	list-style-type: disc;
}

.document-container ul ul,
.document-container ul ol,
.document-container ol ul,
.document-container ol ul {
	margin-top: 0.5em;
}

.document-container li {
	line-height: 1.5;
	margin-bottom: 0.5em;
}

.document-container li:last-child {
	margin-bottom: 0;
}

/* dl */
.document-container dl {
	margin: 1.5em 0;
}

.document-container dt {
	font-family: TsukuBRdGothicStd-D, 'Yu Mincho', "游明朝", 'YuMincho', "游明朝体",sans-serif !important;
	margin-bottom: 0.5em;
}

.document-container dd {
	margin-left: 20px;
	margin-bottom: 0.5em;
}

.document-container dd + dt {
	margin-top: 1.5em;
}

/* ----------------------------------------------------------------------- */
/* TABLE */
.document-container table {
	width: 100%;
	margin: 1.5em 0;
	border: 1px solid rgba(0, 0, 0, 0.1);
}

.document-container tr {
	border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.document-container tr:first-child {
	border-top: none;
}

.document-container th {
	padding: 1em;
	border-right: 1px solid rgba(0, 0, 0, 0.1);
}

.document-container td {
	padding: 1em;
}

/* ----------------------------------------------------------------------- */
/* TEXT */
.document-container img {
	width: auto;
	height: auto;
	max-width: 100%;
	vertical-align: bottom;
	margin: 1.5em 0;
}

.document-container .aligncenter {
	display: block !important;
	margin: 0 auto !important;
	text-align: center;
}

.document-container .alignright {
	float: right !important;
	text-align: right;
}

.document-container .alignleft {
	float: left !important;
}

/* quotation */
.document-container blockquote {
	position: relative;
	margin: 1.5em 0;
	padding: 2em;
	box-sizing: border-box;
}

.document-container blockquote:before {
	position: absolute;
	content: "\201C";
	left: 0;
	top: -0.25em;
	font-size: 3em;
	opacity: 0.3;
}

.document-container q {
	margin: 1.5em 0.5em;
	quotes: "\201C" "\201D";
}

.document-container q:before {
	content: open-quote;
}

.document-container q:after {
	content: close-quote;
}

/*  */
.document-container em {
	font-style: italic;
}

.document-container a {
	display: inline-block;
	text-decoration: underline;
}

.document-container pre {
	margin: 2em 0;
}

/* ----------------------------------------------------------------------- */
/* DIVIDER */
.document-container hr {
	border: none;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

/* ----------------------------------------------------------------------- */
/* FILES */
/*.document-container a[href$=".pdf"] {
	display: inline-flex;
	align-items: center;
}

.document-container a[href$=".pdf"] [data-icon$="pdf"] {
	stroke-width: 1 !important;
	margin-right: 0.25em;
	color: red;
}*/

.document-container a[target="_blank"] {
	display: inline-flex;
	align-items: center;
}

.document-container a[target="_blank"] [data-icon] {
	stroke-width: 1 !important;
}

.paging {
	display: flex;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.paging .btn .icon {
	width: 30px;
	height: 30px;
}

.paging__item {
	display: flex;
	align-items: center;
	margin: 0 20px;
}

.paging > *:first-child {
	margin-left: 0;
}

.paging > *:last-child {
	margin-right: 0;
}

/* ============================================================================================== */
/* Icon                                                                                           */
/* ============================================================================================== */
/* SVG icon --------------------------------- */
.active .icon img,
.active .icon svg,
a:hover .icon img,
a:hover .icon svg {
	opacity: 1;
}

[data-icon],
.icon {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	letter-spacing: 0;
	line-height: 0;
	fill: currentColor;
	stroke-width: 1;
}

svg,
.icon svg {
	width: 24px;
	height: 24px;
}

/* Color */
/* Inline svg default styles */
/*線のみ*/
.inline-svg--line {
	fill: none;
	stroke: currentColor;
	stroke-width: inherit;
	stroke-miterlimit: 10;
}

/*線 丸キャップ 丸角 */
.inline-svg--line-round {
	fill: none;
	stroke: currentColor;
	stroke-width: inherit;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-miterlimit: 10;
}

/*線あり塗あり*/
.inline-svg--line-fill {
	fill: currentColor;
	stroke: currentColor;
	stroke-width: inherit;
	stroke-miterlimit: 10;
}

/*線 キャップ無し 角 */
.inline-svg--line-edge {
	fill: none;
	stroke: currentColor;
	stroke-width: inherit;
	stroke-linejoin: round;
	stroke-miterlimit: 10;
}

/*塗のみ */
.inline-svg--fill-only {
	fill: currentColor;
}

/*塗無し */
.inline-svg--fill-none {
	fill: none !important;
}

/* weight */
.icon--100 svg,
.icon--100 use {
	stroke-width: 0.3 !important;
}

.icon--200 svg,
.icon--200 use {
	stroke-width: 0.4 !important;
}

.icon--300 svg,
.icon--300 use {
	stroke-width: 0.5 !important;
}

.icon--400 svg,
.icon--400 use {
	stroke-width: 0.6 !important;
}

.icon--500 svg,
.icon--500 use {
	stroke-width: 0.7 !important;
}

.icon--600 svg,
.icon--600 use {
	stroke-width: 0.8 !important;
}

.icon--700 svg,
.icon--700 use {
	stroke-width: 0.9 !important;
}

.icon--800 svg,
.icon--800 use {
	stroke-width: 1.0 !important;
}

.icon--900 svg,
.icon--900 use {
	stroke-width: 1.1 !important;
}

.icon--1000 svg,
.icon--1000 use {
	stroke-width: 1.2 !important;
}

.icon--1100 svg,
.icon--1100 use {
	stroke-width: 1.3 !important;
}

.icon--1200 svg,
.icon--1200 use {
	stroke-width: 1.4 !important;
}

.icon--1300 svg,
.icon--1300 use {
	stroke-width: 1.5 !important;
}

.icon--1400 svg,
.icon--1400 use {
	stroke-width: 1.6 !important;
}

.icon--1500 svg,
.icon--1500 use {
	stroke-width: 1.7 !important;
}

.icon--1600 svg,
.icon--1600 use {
	stroke-width: 1.8 !important;
}

.icon--1700 svg,
.icon--1700 use {
	stroke-width: 1.9 !important;
}

.icon--1800 svg,
.icon--1800 use {
	stroke-width: 2.0 !important;
}

/* inside */
svg.icon--xxs,
.icon--xxs svg {
	width: 12px !important;
	height: 12px !important;
}

svg.icon--xs,
.icon--xs svg {
	width: 18px !important;
	height: 18px !important;
}

svg.icon--s,
.icon--s svg {
	width: 24px !important;
	height: 24px !important;
}

svg.icon--m,
.icon--m svg {
	width: 36px !important;
	height: 36px !important;
}

svg.icon--l,
.icon--l svg {
	width: 48px !important;
	height: 48px !important;
}

svg.icon--xl,
.icon--xl svg {
	width: 60px !important;
	height: 60px !important;
}

svg.icon--xxl,
.icon--xxl svg {
	width: 70px !important;
	height: 70px !important;
}

/* ============================================================================================== */
/* Icon Menu                                                                                      */
/* ============================================================================================== */
.menu-button {
	position: relative;
	right: -5px;
	margin: 0;
	pointer-events: auto;
	z-index: 201;
	font-weight: bolder;
	text-align: center;
	white-space: nowrap;
}

.menu-button a {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 50px;
	min-height: 40px;
	padding: 0;
	box-sizing: border-box;
	transition: none;
	cursor: pointer;
}

.menu-button__icon-wrap {
	position: relative;
	display: block;
	width: 50px;
	height: 25px;
}

.menu-button .menu-button__icon {
	transition: 0.3s ease;
	transition-property: background;
}

.menu-button .menu-button__icon:before,
.menu-button .menu-button__icon:after {
	transition: 0.3s ease;
	transition-property: background, top, left, width, transform;
	/*border: 1px solid transparent;*/
	/* 反転モード用 */
	box-sizing: border-box;
}

.menu-button .menu-button__icon,
.menu-button .menu-button__icon:before,
.menu-button .menu-button__icon:after {
	position: absolute;
	display: block;
	height: 1px;
	width: 28px;
	padding: 0;
	background: currentColor;
	text-indent: -200px;
	border-radius: 2px;
}

.menu-button .menu-button__icon:before {
	width: 18px;
}

.menu-button .menu-button__icon:after {
	width: 35px;
}

.menu-button .menu-button__icon {
	position: relative;
}

.menu-button .menu-button__icon {
	top: 10px;
	left: 0;
	right: 0;
	margin: 0 auto;
	transform-origin: center 15px;
}

.menu-button .menu-button__icon:before {
	top: -6px;
	content: "";
	transform-origin: center center;
}

.menu-button .menu-button__icon:after {
	top: 6px;
	content: "";
	transform-origin: center center;
}

.menu-button a:hover {
	color: currentColor;
}

.-show .menu-button .menu-button__icon,
.-show .menu-button .menu-button__icon:before,
.-show .menu-button .menu-button__icon:after {
	left: 0px;
	width: 20px;
}

.-show .menu-button .menu-button__icon {
	left: -10px;
	transform: translateX(10px);
	background-color: rgba(255, 255, 255, 0);
}

.-show .menu-button .menu-button__icon:before {
	transform: rotate(45deg) translate(4.5px, 4.5px);
}

.-show .menu-button .menu-button__icon:after {
	transform: rotate(-45deg) translate(4px, -4px);
}

/* ------------------------------------------------------------------- */
.menu-button__txt {
	position: relative;
	bottom: 2px;
	display: block;
	width: 100%;
	font-size: 0.9rem;
}

/* ============================================================================================== */
/* Indicator                                                                                      */
/* ============================================================================================== */
.indicator {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: calc(100%);
	height: 100vh;
	line-height: 0;
	z-index: 1000;
	background: rgba(255, 255, 255, 0);
	opacity: 1;
	pointer-events: none;
	-webkit-transition: opacity 0.5s ease;
	transition: opacity 0.5s ease;
}

.indicator.show {
	opacity: 1;
	pointer-events: auto;
}

.indicator.hide {
	opacity: 0;
}

.onloadstart .indicator {
	opacity: 1;
}

.onloadcomplete .indicator {
	opacity: 0;
	pointer-events: none;
	/*display: none;*/
}

.indicator img {
	position: absolute;
	top: 0%;
	vertical-align: middle;
}

.indicator span {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 25px;
	height: 25px;
	display: block;
	margin: auto;
	z-index: 9999;
	background-image: url(../img/global/indicator_k.png);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 25px 300px;
	animation: indicatorAnimation 1s steps(12) infinite;
}

.indicator#indMC {
	z-index: 9999;
}

@keyframes indicatorAnimation {
	from {
		background-position: 0px 0px;
	}
	to {
		background-position: 0px -300px;
	}
}
@only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (-webkit-min-device-pixel-ratio: 3) {
	@keyframes indicatorAnimation2 {
		from {
			background-position: 0px 0px;
		}
		to {
			background-position: 0px -150px;
		}
	}
}

/* error */
.error {
	color: red;
	line-height: 1.4;
}

/*
 * Layout / global-footer
 *  - Text align
 *  - Break
 *  - Attribute
 */
/* ============================================================================================== */
/* Letter, glyph                                                                                  */
/* ============================================================================================== */
body {
	font-family: "游明朝", 'YuMincho', "游明朝体",sans-serif;
	font-weight: normal;
}

main {
	width: 100%;
	height: auto;
	font-size: 1.25rem;
	line-height: 2;
	letter-spacing:0.1em;
	opacity: 0;
	transition: opacity .75s ease 0s;
}

.domContentLoaded main {
	opacity: 1;
}

@media screen and (min-width: 1280px) {
	main {
		font-size: 1.5rem;
		display: flex;
	}

	.main--inner {
		width: 100%;
	}
}
/* 縦中横 */
.tcu {
	-webkit-text-combine: horizontal;
	-ms-text-combine-horizontal: all;
	text-combine-upright: all;
}

.windows body {
	/*-webkit-text-stroke: 0.15px currentColor;*/
}

.windows pre,
.windows code {
	-webkit-text-stroke: 0;
}

.ib {
	display: inline-block;
}

/* text-transform */
.uppercase {
	text-transform: uppercase;
}

.lowercase {
	text-transform: lowercase;
}

.capitalize {
	text-transform: capitalize;
}

.overflow-ellipsis {
	white-space: nowrap;
	text-overflow: ellipsis;
	display: inline-block;
	overflow: hidden;
	/*overflow-y: visible;*/
	width: 100%;
}

/* Serif - 欧文フォント優先 */
.text-en.-serif,
.text-en-100.-serif,
.text-en-200.-serif,
.text-en-300.-serif,
.text-en-400.-serif,
.text-en-500.-serif,
.text-en-600.-serif,
.text-en-700.-serif,
.text-en-800.-serif,
.text-en-900.-serif {
	font-family: Garamond, TsukuBRdGothicStd-M, 'Yu Mincho', 'YuMincho', "MS PMincho", serif;
}

.text-en-100.-serif {
	font-weight: 100;
}

.text-en-200.-serif {
	font-weight: 200;
}

.text-en-300.-serif {
	font-weight: 300;
}

.text-en-400.-serif {
	font-weight: 400;
}

.text-en-500.-serif {
	font-weight: 500;
}

.text-en-600.-serif {
	font-weight: 600;
}

.text-en-700.-serif {
	font-weight: 700;
}

.text-en-800.-serif {
	font-weight: 800;
}

.text-en-900.-serif {
	font-weight: 800;
}

.text--italic {
	font-style: italic !important;
}

/* Sans-serif - 欧文フォント優先 */
.en {
	font-family: 'Open Sans', sans-serif;
	letter-spacing: 0.05em;
}

.text-en-100 {
	font-weight: 100;
}

.text-en-200 {
	font-weight: 200;
}

.text-en-300 {
	font-weight: 300;
}

.text-en-400 {
	font-weight: 400;
}

.text-en-500 {
	font-weight: 500;
}

.text-en-600 {
	font-weight: 600;
}

.text-en-700 {
	font-weight: 700;
}

.text-en-800 {
	font-weight: 800;
}

.text-en-900 {
	font-weight: 800;
}

/* Sans-serif - 和文フォント優先 */
.text-ja-200 {
	font-weight: 200;
}

.text-ja-300 {
	font-weight: 300;
}

.text-ja-400 {
	font-weight: 400;
}

.text-ja-500 {
	font-weight: 500;
}

.text-ja-600 {
	font-weight: 600;
}

.text-ja-700 {
	font-weight: 700;
}

.text-ja-800 {
	font-weight: 800;
}

.text-ja-900 {
	font-weight: 900;
}

/*
.windows .text-serif,
.windows .text-serif-100,
.windows .text-serif-200,
.windows .text-serif-300,
.windows .text-serif-400,
.windows .text-serif-500,
.windows .text-serif-600,
.windows .text-serif-700,
.windows .text-serif-800,
.windows .text-serif-900 {
	transform: rotate(0.029deg);
}
*/
/* ----------------------------------------------------------------------- */
/* Text align */
.text--center {
	text-align: center;
}

.text--right {
	text-align: right;
}

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

.text--justify {
	text-align: justify;
}

.text--vertical {
	-webkit-writing-mode: inherit;
	writing-mode: inherit;
}

/* ----------------------------------------------------------------------- */
/* Break */
.tbbr {
	display: none;
}

.pcbr {
	display: none;
}

.spbr {
	display: inline-block;
}

/* ----------------------------------------------------------------------- */
/* display */
.following--tab {
	display: block;
}

/* ----------------------------------------------------------------------- */
/* Attribute */
.color--default {
	color: #333;
	color: rgba(0, 0, 0, 0.8) !important;
}

.color--h-default {
	color: #555;
	color: rgba(0, 0, 0, 0.665) !important;
}

.color--weak {
	color: #777 !important;
}

.color--disable {
	color: #999 !important;
}

.color--primary {
	color: #2f609a !important;
}

.color--secondary {
	color: #000 !important;
}

.color--important {
	color: #ea6182 !important;
}

.color--warning {
	color: red !important;
}

.color--current {
	color: #4d9400 !important;
}

.color--inherit {
	color: inherit !important;
}

.color--a {
	color: var(--ob-color--a);
}

.color--b {
	color: var(--ob-color--b);
}

.color--c {
	color: var(--ob-color--c);
}

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

.size--weak {
	font-size: 75%;
	letter-spacing: 0.1em;
	line-height: 1.6;
	display: inline-block;
}

/* ============================================================================================== */
/* Media query                                                                                    */
/* ============================================================================================== */
@media screen and (min-width: 374px) {
	.tbbr {
		display: none;
	}

	.pcbr {
		display: none;
	}

	.spbr {
		display: inline-block;
	}

	.spcenter {
		text-align: center;
	}
}
@media screen and (min-width: 541px) {
	.spbr {
		display: none;
	}
}
@media screen and (min-width: 768px) {
	.spbr {
		display: none;
	}

	.tbbr {
		display: inline-block;
	}

	.tbcenter {
		text-align: center;
	}

	/* ----------------------------------------------------------------------- */
	/* display */
	.following--tab {
		display: block;
	}
}
@media screen and (min-width: 1280px) {
	.spbr {
		display: none;
	}

	.tbbr {
		display: none;
	}

	.pcbr {
		display: inline-block;
	}

	.pccenter {
		text-align: center;
	}
}
/* ============================================================================================== */
/* Module / Modal                                                                                 */
/* ============================================================================================== */
/* UIkit
 * https://getuikit.com/docs/modal*/
/* ========================================================================
 * Component: Modal */
/*
 * 1. Hide by default
 * 2. Set position
 * 3. Allow scrolling for the modal dialog
 * 4. Horizontal padding
 * 5. Mask the background page
 * 6. Fade-in transition
 */
 .uk-scroll__wrapper {
	margin-top: -105px;
	padding-top: 105px;
}

.fadein {
	opacity: .1;
	transform : translate(0, 50px);
	transition-property: opacity,transform;
	transition-duration: .5s,1s;
	transition-timing-function: cubic-bezier(.22,.61,.36,1);
}

.fadein.scrollin {
	opacity: 1;
	transform : translate(0, 0);
}

/* Safari Only */
/*.safari .fadein {
	opacity: 1 !important;
}*/
/**/

/*
 * Loading Progress bar
 * Progress
 * Scroll indicator
 * Parallax
 * UI Popup Menus
 * Slide show
 * UI Carousel
 * UI Accordion
 * UI Inline sider navigation
 * UI Tooltip
 * UI Top of page
 */
/* ----------------------------------------------------------------------- */
/* Clearfix */
.cf:before,
.cf:after {
	content: " ";
	display: table;
}

.cf:after {
	clear: both;
}

.cf {
	*zoom: 1;
}

/* ============================================================================================== */
/* Scroll navigate                                                                                */
/* ============================================================================================== */
.scroll-navigate {
	position: absolute;
	left: 0;
	right: auto;
	display: flex;
	z-index: 100;
	color: #fff;
	mix-blend-mode: exclusion;
}

.scroll-navigate,
.scroll-navigate:before,
.scroll-navigate:after {
	width: 1px;
	height: 40px;
	margin: auto;
}

.scroll-navigate:before,
.scroll-navigate:after {
	position: absolute;
	right: 0;
	left: 0;
	top: 0;
	bottom: auto;
	content: "";
	background-color: currentColor;
}

.scroll-navigate:before {
	opacity: 0.2;
	animation: ScrollnavigateAnimation 2s infinite cubic-bezier(0.79, 0.14, 0.15, 0.86) 0.5s;
}

.scroll-navigate:after {
	animation: ScrollnavigateAnimation 2s infinite cubic-bezier(0.77, 0, 0.18, 1);
}

.scroll-navigate.-up {
	top: 0;
	bottom: auto;
	transform: scale(-1);
}

.scroll-navigate.-down {
	top: auto;
	bottom: 0;
}

@media screen and (min-width: 1280px) {
	.scroll-navigate,
	.scroll-navigate:before,
	.scroll-navigate:after {
		height: 80px;
	}
}
@keyframes ScrollnavigateAnimation {
	0% {
		height: 0;
	}
	45% {
		height: 100%;
	}
	55% {
		height: 100%;
		top: 0;
	}
	100% {
		height: 0;
		top: 100%;
	}
}
/* ============================================================================================== */
/* Parallax                                                                                       */
/* ============================================================================================== */
[data-bg-parallax] {
	background-size: cover;
	background-repeat: no-repeat !important;
	background-position-x: center !important;
}

/* ============================================================================================== */
/* Slide show                                                                                     */
/* ============================================================================================== */
.slideshow {
	position: absolute;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	margin: auto;
	padding: 0;
	list-style: none;
	overflow: hidden;
	position: absolute;
	top: 0;
}

.slideshow-cell {
	position: absolute;
	top: 0;
	margin: 0;
	padding: 0;
	height: 100%;
	width: 100%;
	opacity: 0;
	pointer-events: none;
	transition: opacity 2s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.slideshow-cell.current {
	opacity: 1;
	z-index: 1;
	overflow: hidden;
	pointer-events: auto;
}

.slideshow .kv-fit-img {
	position: absolute;
}

/* ============================================================================================== */
/* UI Tooltip                                                                                     */
/* ============================================================================================== */
/*
 * 1. Hide by default
 * 2. Position
 * 3. Dimensions
 * 4. Style
 */
.uk-tooltip {
	display: none;
	position: absolute;
	z-index: 1030;
	box-sizing: border-box;
	max-width: 200px;
	padding: 3px 6px;
	background: #666;
	border-radius: 3px;
	color: #fff;
	font-size: 12px;
}

/* Show */
.uk-tooltip.uk-active {
	display: block;
}

/* Direction */
[class*='uk-tooltip-top'] {
	margin-top: -10px;
}

[class*='uk-tooltip-bottom'] {
	margin-top: 10px;
}

[class*='uk-tooltip-left'] {
	margin-left: -10px;
}

[class*='uk-tooltip-right'] {
	margin-left: 10px;
}

/* ============================================================================================== */
/* UI Top of page                                                                                 */
/* ============================================================================================== */
.top-of-page {
	position: absolute;
	top: 0;
	right: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	margin: 0;
	z-index: 115;
	cursor: pointer;
	color: #000;
	box-sizing: border-box;
	transition: all 0.3s ease;
	opacity: 1;
	padding-top: 75px;
	overflow: hidden;
	/*display: none;*/
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-feature-settings: normal;
	color: rgba(240,240,240,1);
}

.top-of-page:before {
	opacity: 1;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: auto;
	margin: auto;
	display: block;
	width: 1px;
	height: 60px;
	background-color: rgba(240,240,240,1);
	content: "";
}

.top-of-page:hover:before {
	opacity: 1;
}

.top-of-page:after {
	position: absolute;
	right: 0;
	left: 0;
	top: 0;
	bottom: auto;
	margin: auto;
	display: block;
	width: 1px;
	height: 60px;
	border-radius: 50px;
	content: "";
	transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
	background-color: rgba(0,0,0,0.5);
	transform: translateY(-60px);
}

.top-of-page:hover:after {
	transform: translateY(0);
}

.top-of-page .icon {
	margin-right: 0;
	width: 24px;
}

.top-of-page > * {
}

@media screen and (min-width: 1280px) {
	.top-of-page {
		margin-right: 0;
		right: 30px;
	}

	.top-of-page:hover {
	}
}

/* ============================================================================================== */
/* Module / Topic path                                                                            */
/* ============================================================================================== */
.topic-path {
	position: relative;
	z-index: 1;
	width: 100%;
	margin: 60px auto 0;
	padding: 0;
	box-sizing: border-box;
	font-size: 1.05rem;
	pointer-events: none;
}

.topic-path:before,
.topic-path:after {
	position: absolute;
	display: block;
	content: "";
	width: 20px;
	height: 100%;
	z-index: 2;
}

.topic-path:before {
	pointer-events: none;
	left: 0;
	top: 0;
	background: linear-gradient(90deg, white, rgba(255, 255, 255, 0) 100%);
}

.topic-path:after {
	pointer-events: none;
	right: 0;
	top: 0;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0), white 100%);
}

.topic-path-inner {
	overflow-x: auto;
	overflow-y: hidden;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
}

.topic-path__list {
	list-style: none;
	display: flex;
	align-items: center;
	margin: 0;
	padding: 15px 25px;
	height: 100%;
}

.topic-path__list li {
	position: relative;
	display: flex;
	align-items: center;
	height: 100%;
	margin-right: 1.5em;
	padding-right: 1em;
	line-height: 1;
	white-space: nowrap;
	pointer-events: auto;
}

.topic-path__list li:last-child {
	margin-right: 0;
}

.topic-path__list li:before {
	position: absolute;
	right: -10px;
	display: block;
	width: 18px;
	height: 18px;
	content: "";
	background-image: var(--svg-icon_more_horiz);
	background-size: cover;
}

.topic-path__list li:last-child:before {
	display: none;
}

@media screen and (min-width: 1280px) {
	.topic-path {
		position: fixed;
		left: 30px;
		top: 0;
		bottom: 0;
		right: auto;
		display: block;
		width: auto;
		height: auto;
		margin: auto;
		overflow: auto;
		writing-mode: tb-rl;
		writing-mode: vertical-rl;
		font-feature-settings: normal;
	}

	.topic-path:before,
	.topic-path:after {
		display: none;
	}

	.topic-path__list {
		justify-content: center;
		height: auto;
		margin: 0 auto;
		padding: 0;
	}

	.topic-path__list li {
		height: auto;
		margin: 20px 0;
		padding: 0;
	}

	.topic-path__list li:before {
		right: 0;
		left: 0;
		top: calc(100% + 8px);
		width: 24px;
		height: 24px;
		margin: auto;
		transform: rotate(90deg);
	}

	.topic-path__list a {
		padding: 0 0.5em;
	}

	.topic-path__list .current {
		display: inline-block;
		overflow-x: auto;
		overflow-y: hidden;
		max-height: 15em;
		padding: 0 0.5em;
	}
}
/* -------------------------------------------------------------- */

.msie .topic-path {
	display: none;
}

/**
 * Swiper 4.5.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://www.idangero.us/swiper/
 *
 * Copyright 2014-2019 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: February 22, 2019
 */
.swiper-container {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

.swiper-container-no-flexbox .swiper-slide {
  float: left;
}

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

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

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

.swiper-container-multirow > .swiper-wrapper {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.swiper-container-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  margin: 0 auto;
}

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

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

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

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

.swiper-container-3d {
  -webkit-perspective: 1200px;
  perspective: 1200px;
}

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

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

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

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

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

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

.swiper-container-wp8-horizontal, .swiper-container-wp8-horizontal > .swiper-wrapper {
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}

.swiper-container-wp8-vertical, .swiper-container-wp8-vertical > .swiper-wrapper {
  -ms-touch-action: pan-x;
  touch-action: pan-x;
}

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: 50%;
  width: 27px;
  height: 44px;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  background-size: 27px 44px;
  background-position: center;
  background-repeat: no-repeat;
}

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

.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  left: 10px;
  right: auto;
}

.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  right: 10px;
  left: auto;
}

.swiper-button-prev.swiper-button-white, .swiper-container-rtl .swiper-button-next.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-next.swiper-button-white, .swiper-container-rtl .swiper-button-prev.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-prev.swiper-button-black, .swiper-container-rtl .swiper-button-next.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-next.swiper-button-black, .swiper-container-rtl .swiper-button-prev.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}

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

.swiper-pagination {
  position: absolute;
  text-align: center;
  -webkit-transition: .3s opacity;
  -o-transition: .3s opacity;
  transition: .3s opacity;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

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

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

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

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

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

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

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

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

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

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

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: .2;
}

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

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

.swiper-pagination-bullet-active {
  opacity: 1;
  background: #007aff;
}

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

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block;
}

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

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

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px;
}

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

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

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

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

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: #007aff;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top;
}

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

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

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

.swiper-pagination-white .swiper-pagination-bullet-active {
  background: #fff;
}

.swiper-pagination-progressbar.swiper-pagination-white {
  background: rgba(255, 255, 255, 0.25);
}

.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
  background: #fff;
}

.swiper-pagination-black .swiper-pagination-bullet-active {
  background: #000;
}

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

.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
  background: #000;
}

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

.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1);
}

.swiper-container-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%;
}

.swiper-container-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%;
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

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

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
  -ms-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
  animation: swiper-preloader-spin 1s steps(12, end) infinite;
}

.swiper-lazy-preloader:after {
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-position: 50%;
  background-size: 100%;
  background-repeat: no-repeat;
}

.swiper-lazy-preloader-white:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}

@-webkit-keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

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

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

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

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

.swiper-container-cube {
  overflow: visible;
}

.swiper-container-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-container-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  -webkit-transform-origin: 100% 0;
  -ms-transform-origin: 100% 0;
  transform-origin: 100% 0;
}

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

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-next + .swiper-slide, .swiper-container-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right, .swiper-container-cube .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0;
}

.swiper-container-flip {
  overflow: visible;
}

.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

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

.swiper-container-flip .swiper-slide-shadow-bottom, .swiper-container-flip .swiper-slide-shadow-left, .swiper-container-flip .swiper-slide-shadow-right, .swiper-container-flip .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-container-coverflow .swiper-wrapper {
  -ms-perspective: 1200px;
}

/* --------------------------------------------------------- */
/* swiper Original */
.swiper-container {
	margin-bottom: 20px;
}

.swiper-slide figure {
	border-radius: 5px;
	overflow: hidden;
}

.swiper-button-next,
.swiper-button-prev {
	position: relative;
	top: 0;
	bottom: 0;
	margin: auto 0;
	width: 30px;
	height: 30px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	outline: none;
	opacity: 0.8;
	transition: .3s ease;
}

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

.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
	background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!----%3E%3Csvg version='1.1' id='' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 200 200' style='enable-background:new 0 0 200 200;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;%7D .st1%7Bfill:none;stroke:%23000000;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;%7D%0A%3C/style%3E%3Crect class='st0' width='200' height='200'/%3E%3Cg%3E%3Cpath class='st1' d='M129.67,66.24c0.24,0,0.48,0.38,0.72,0.38c0.24,0,0.5-0.62,0.74-0.61c0.24,0.01,0.47,0.4,0.71,0.41 c0.24,0.01,0.47,0.3,0.71,0.31c0.24,0.02,0.48,0.02,0.72,0.04c0.24,0.02,0.52-0.33,0.76-0.3c0.24,0.03,0.5-0.1,0.74-0.06 c0.24,0.03,0.5-0.04,0.74-0.01c0.24,0.04,0.38,0.68,0.62,0.72c0.24,0.04,0.48,0.06,0.71,0.11c0.24,0.05,0.52-0.13,0.75-0.07 c0.24,0.05,0.58-0.34,0.81-0.29c0.24,0.06,0.38,0.5,0.61,0.56c0.23,0.06,0.55-0.16,0.78-0.09c0.23,0.07,0.35,0.52,0.58,0.59 c0.23,0.07,0.44,0.2,0.67,0.28c0.23,0.08,0.46,0.13,0.69,0.22c0.23,0.08,0.4,0.31,0.62,0.4c0.23,0.09,0.56-0.11,0.78-0.02 c0.22,0.09,0.45,0.18,0.67,0.28c0.22,0.1,0.54,0,0.75,0.1c0.22,0.1,0.26,0.59,0.47,0.69c0.22,0.11,0.63-0.18,0.85-0.07 c0.21,0.11,0.24,0.58,0.46,0.69c0.21,0.11,0.58-0.06,0.79,0.06c0.21,0.12,0.19,0.64,0.39,0.76c0.21,0.12,0.35,0.34,0.56,0.47 c0.21,0.13,0.64-0.11,0.84,0.02c0.2,0.13,0.53,0.07,0.74,0.21c0.2,0.13,0.25,0.49,0.45,0.63c0.2,0.14,0.41,0.26,0.61,0.4 c0.2,0.14,0.39,0.29,0.58,0.43c0.19,0.14,0.33,0.37,0.52,0.52c0.19,0.15,0.4,0.27,0.59,0.42c0.19,0.15,0.24,0.47,0.43,0.62 c0.19,0.15,0.45,0.21,0.63,0.37c0.19,0.15,0.58,0.06,0.76,0.21c0.18,0.16,0.25,0.45,0.43,0.61c0.18,0.16,0.25,0.44,0.43,0.6 c0.18,0.16,0.55,0.11,0.73,0.27c0.18,0.16,0.1,0.61,0.28,0.77c0.18,0.16,0.67-0.02,0.85,0.14c0.18,0.16,0.37,0.31,0.55,0.47 c0.18,0.16-0.04,0.75,0.13,0.91c0.17,0.17,0.3,0.38,0.47,0.55c0.17,0.17,0.74-0.08,0.91,0.09c0.17,0.17,0.29,0.39,0.46,0.56 c0.17,0.17,0.02,0.67,0.19,0.84c0.17,0.17,0.87-0.2,1.04-0.03c0.17,0.17-0.12,0.81,0.05,0.98c0.17,0.17,0.27,0.41,0.44,0.58 c0.17,0.17,0.53,0.15,0.7,0.32c0.17,0.17,0.27,0.41,0.44,0.58c0.17,0.17,0.66,0.01,0.83,0.18c0.17,0.17,0.03,0.66,0.2,0.83 c0.17,0.17,0.24,0.44,0.42,0.61c0.17,0.17,0.83-0.17,1.01,0c0.17,0.17,0.17,0.52,0.34,0.68c0.17,0.17,0.44,0.23,0.62,0.4 c0.18,0.16-0.1,0.81,0.08,0.98c0.18,0.16,0.95-0.32,1.12-0.15c0.18,0.16,0.26,0.43,0.44,0.59c0.18,0.16-0.13,0.87,0.05,1.03 c0.18,0.16,0.58,0.07,0.76,0.23c0.18,0.16,0.19,0.52,0.37,0.68c0.18,0.16,0.38,0.3,0.57,0.46c0.18,0.15,0.4,0.28,0.59,0.43 c0.19,0.15,0.45,0.22,0.63,0.37c0.19,0.15,0.53,0.11,0.72,0.25c0.19,0.15,0.37,0.31,0.56,0.45c0.19,0.14,0.17,0.58,0.37,0.72 c0.19,0.14,0.49,0.15,0.69,0.28c0.2,0.14,0.7-0.17,0.9-0.03c0.2,0.14,0.39,0.27,0.59,0.4c0.2,0.13,0.3,0.41,0.5,0.54 c0.2,0.13,0.08,0.78,0.28,0.91c0.2,0.13,0.45,0.2,0.65,0.33c0.21,0.12,0.57-0.02,0.78,0.1c0.21,0.12,0.64-0.17,0.85-0.06 c0.21,0.11,0.13,0.76,0.35,0.88c0.21,0.11,0.72-0.37,0.94-0.26c0.21,0.11,0.11,0.88,0.32,0.98c0.22,0.1,0.62-0.2,0.84-0.1 c0.22,0.1,0.51,0.01,0.74,0.11c0.22,0.09,0.13,0.94,0.36,1.03c0.22,0.09,0.59-0.18,0.82-0.09c0.22,0.09,0.6-0.24,0.82-0.16 c0.22,0.08,0.45,0.15,0.67,0.23c0.23,0.08,0.34,0.48,0.57,0.55c0.23,0.07,0.34,0.55,0.57,0.62c0.23,0.07,0.54-0.15,0.78-0.09 c0.23,0.06,0.55-0.22,0.79-0.17c0.23,0.06,0.32,0.75,0.55,0.8c0.23,0.05,0.51-0.06,0.75-0.01c0.23,0.05,0.51-0.09,0.75-0.04 c0.24,0.04,0.48,0.07,0.72,0.11c0.24,0.04,0.5-0.06,0.74-0.02c0.24,0.04,0.5-0.18,0.74-0.15c0.24,0.03,0.45,0.25,0.69,0.27 c0.24,0.03,0.43,0.48,0.67,0.51c0.24,0.02,0.49-0.08,0.74-0.06c0.24,0.02,0.48,0.13,0.72,0.14c0.24,0.02,0.49-0.07,0.73-0.06 c0.24,0.01,0.49-0.32,0.74-0.32c0.24,0.01,0.47,0.32,0.72,0.32c0.24,0,0.49-0.45,0.74-0.45c-0.36,0-0.36,0.03-0.72,0.03 c-0.36,0-0.36,0.39-0.72,0.39c-0.36,0-0.36,0.21-0.72,0.21c-0.36,0-0.36-0.51-0.72-0.51c-0.36,0-0.36,0.41-0.72,0.41 c-0.36,0-0.36-0.2-0.72-0.2c-0.36,0-0.36,0.48-0.72,0.48c-0.36,0-0.36-0.79-0.72-0.79s-0.36,0.57-0.72,0.57 c-0.36,0-0.36,0.07-0.72,0.07c-0.36,0-0.36,0.07-0.72,0.07s-0.36-0.69-0.72-0.69c-0.36,0-0.36-0.03-0.72-0.03s-0.36,0.07-0.72,0.07 s-0.36,0.15-0.72,0.15s-0.36,0.03-0.72,0.03s-0.36,0.04-0.72,0.04s-0.36,0.14-0.72,0.14s-0.36,0.35-0.72,0.35 c-0.36,0-0.36-0.38-0.72-0.38s-0.36,0.23-0.72,0.23s-0.36-0.26-0.72-0.26c-0.36,0-0.36-0.37-0.72-0.37c-0.36,0-0.36,0.26-0.72,0.26 c-0.36,0-0.36-0.2-0.72-0.2c-0.36,0-0.36,0.13-0.72,0.13c-0.36,0-0.36,0.67-0.72,0.67c-0.36,0-0.36-0.54-0.72-0.54 c-0.36,0-0.36,0.17-0.72,0.17c-0.36,0-0.36,0.27-0.72,0.27c-0.36,0-0.36-0.26-0.72-0.26c-0.36,0-0.36-0.55-0.72-0.55 c-0.36,0-0.36,0.52-0.72,0.52c-0.36,0-0.36-0.49-0.72-0.49c-0.36,0-0.36-0.04-0.72-0.04c-0.36,0-0.36,0.83-0.72,0.83 c-0.36,0-0.36-0.72-0.72-0.72c-0.36,0-0.36-0.04-0.72-0.04c-0.36,0-0.36,0.32-0.72,0.32c-0.36,0-0.36-0.39-0.72-0.39 c-0.36,0-0.36,0.21-0.72,0.21c-0.36,0-0.36,0.03-0.72,0.03c-0.36,0-0.36,0.06-0.72,0.06c-0.36,0-0.36-0.09-0.72-0.09 c-0.36,0-0.36,0.17-0.72,0.17c-0.36,0-0.36-0.06-0.72-0.06c-0.36,0-0.36-0.23-0.72-0.23c-0.36,0-0.36,0.06-0.72,0.06 c-0.36,0-0.36,0.36-0.72,0.36c-0.36,0-0.36-0.01-0.72-0.01c-0.36,0-0.36,0.29-0.72,0.29c-0.36,0-0.36-0.1-0.72-0.1 c-0.36,0-0.36,0.07-0.72,0.07c-0.36,0-0.36,0.1-0.72,0.1c-0.36,0-0.36-0.06-0.72-0.06c-0.36,0-0.36-0.55-0.72-0.55 c-0.36,0-0.36,0.12-0.72,0.12c-0.36,0-0.36,0.45-0.72,0.45c-0.36,0-0.36,0.07-0.72,0.07c-0.36,0-0.36-0.65-0.72-0.65 c-0.36,0-0.36,0.14-0.72,0.14c-0.36,0-0.36,0.27-0.72,0.27c-0.36,0-0.36-0.13-0.72-0.13c-0.36,0-0.36,0.16-0.72,0.16 c-0.36,0-0.36-0.44-0.72-0.44c-0.36,0-0.36,0.4-0.72,0.4c-0.36,0-0.36,0.24-0.72,0.24c-0.36,0-0.36-0.75-0.72-0.75 c-0.36,0-0.36,0.81-0.72,0.81c-0.36,0-0.36-0.09-0.72-0.09c-0.36,0-0.36-0.29-0.72-0.29c-0.36,0-0.36-0.2-0.72-0.2 c-0.36,0-0.36-0.35-0.72-0.35c-0.36,0-0.36,0.1-0.72,0.1c-0.36,0-0.36-0.06-0.72-0.06c-0.36,0-0.36-0.04-0.72-0.04 s-0.36,0.54-0.72,0.54c-0.36,0-0.36,0.35-0.72,0.35c-0.36,0-0.36-0.66-0.72-0.66c-0.36,0-0.36,0.43-0.72,0.43 c-0.36,0-0.36-0.29-0.72-0.29c-0.36,0-0.36,0.16-0.72,0.16c-0.36,0-0.36-0.21-0.72-0.21c-0.36,0-0.36-0.28-0.72-0.28 c-0.36,0-0.36,0.72-0.72,0.72c-0.36,0-0.36-0.36-0.72-0.36c-0.36,0-0.36,0.3-0.72,0.3c-0.36,0-0.36-0.02-0.72-0.02 c-0.36,0-0.36-0.68-0.72-0.68c-0.36,0-0.36,0.02-0.72,0.02c-0.36,0-0.36,0.71-0.72,0.71c-0.36,0-0.36,0.18-0.72,0.18 c-0.36,0-0.36-0.32-0.72-0.32c-0.36,0-0.36-0.44-0.72-0.44c-0.36,0-0.36,0.59-0.72,0.59c-0.36,0-0.36-0.38-0.72-0.38 c-0.36,0-0.36-0.35-0.72-0.35c-0.36,0-0.36,0.84-0.72,0.84c-0.36,0-0.36-0.55-0.72-0.55c-0.36,0-0.36,0.11-0.72,0.11 c-0.36,0-0.36,0.45-0.72,0.45c-0.36,0-0.36-0.41-0.72-0.41c-0.36,0-0.36,0.45-0.72,0.45c-0.36,0-0.36-0.02-0.72-0.02 c-0.36,0-0.36-0.45-0.72-0.45c-0.36,0-0.36,0.21-0.72,0.21c-0.36,0-0.36-0.13-0.72-0.13c-0.36,0-0.36,0-0.72,0 c-0.36,0-0.36-0.03-0.72-0.03c-0.36,0-0.36-0.01-0.72-0.01c-0.36,0-0.36,0.01-0.72,0.01c-0.36,0-0.36-0.16-0.72-0.16 c-0.36,0-0.36-0.19-0.72-0.19c-0.36,0-0.36,0.77-0.72,0.77c-0.36,0-0.36-0.17-0.72-0.17c-0.36,0-0.36-0.43-0.72-0.43 c-0.36,0-0.36-0.26-0.72-0.26c-0.36,0-0.36,0.61-0.72,0.61c-0.36,0-0.36-0.67-0.72-0.67c-0.36,0-0.36,0.06-0.72,0.06 c-0.36,0-0.36,0.17-0.72,0.17c-0.36,0-0.36,0.12-0.72,0.12c-0.36,0-0.36,0.54-0.72,0.54c-0.36,0-0.36-0.47-0.72-0.47 c-0.36,0-0.36-0.21-0.72-0.21c-0.36,0-0.36,0.16-0.72,0.16c-0.36,0-0.36-0.09-0.72-0.09c-0.36,0-0.36,0.32-0.72,0.32 c-0.36,0-0.36-0.21-0.72-0.21c-0.36,0-0.36,0.41-0.72,0.41s-0.36-0.78-0.72-0.78c-0.36,0-0.36,0.01-0.72,0.01 c-0.36,0-0.36,0.73-0.72,0.73c-0.36,0-0.36-0.24-0.72-0.24c-0.36,0-0.36-0.09-0.72-0.09c-0.36,0-0.36,0.21-0.72,0.21 c-0.36,0-0.36-0.03-0.72-0.03c-0.36,0-0.36,0.13-0.72,0.13c-0.36,0-0.36-0.58-0.72-0.58c-0.36,0-0.36,0.43-0.72,0.43 c-0.36,0-0.36-0.34-0.72-0.34c-0.36,0-0.36,0.32-0.72,0.32c-0.36,0-0.36-0.52-0.72-0.52c-0.36,0-0.36,0.75-0.72,0.75 c-0.36,0-0.36-0.17-0.72-0.17c-0.36,0-0.36-0.11-0.72-0.11c-0.36,0-0.36-0.18-0.72-0.18c-0.36,0-0.36-0.16-0.72-0.16 c-0.36,0-0.36-0.16-0.72-0.16c-0.36,0-0.36,0.37-0.72,0.37c-0.36,0-0.36-0.15-0.72-0.15c-0.36,0-0.36,0.66-0.72,0.66 c-0.36,0-0.36,0.02-0.72,0.02c-0.36,0-0.36,0.01-0.72,0.01c-0.36,0-0.36-0.21-0.72-0.21c-0.36,0-0.36-0.33-0.72-0.33 c-0.36,0-0.36-0.09-0.72-0.09c-0.36,0-0.36,0.08-0.72,0.08c-0.36,0-0.36,0.01-0.72,0.01c-0.36,0-0.36-0.15-0.72-0.15 c-0.36,0-0.36,0.3-0.72,0.3c-0.36,0-0.36-0.47-0.72-0.47c-0.36,0-0.36,0.59-0.72,0.59c-0.36,0-0.36,0.23-0.72,0.23 c-0.36,0-0.36-0.25-0.72-0.25c-0.36,0-0.36,0.09-0.72,0.09c-0.36,0-0.36-0.36-0.72-0.36c-0.36,0-0.36,0.43-0.72,0.43 c-0.36,0-0.36-0.6-0.72-0.6c-0.36,0-0.36,0.49-0.72,0.49c-0.36,0-0.36-0.53-0.72-0.53c-0.36,0-0.36,0.58-0.72,0.58 c-0.36,0-0.36,0.17-0.72,0.17c-0.36,0-0.36-0.2-0.72-0.2c-0.36,0-0.36-0.36-0.72-0.36c-0.36,0-0.36-0.3-0.72-0.3 c-0.36,0-0.36,0.28-0.72,0.28c-0.36,0-0.36,0.28-0.72,0.28c-0.36,0-0.36-0.44-0.72-0.44c-0.36,0-0.36-0.17-0.72-0.17 c-0.36,0-0.36,0.26-0.72,0.26c-0.36,0-0.36-0.03-0.72-0.03c-0.36,0-0.36,0.24-0.72,0.24c-0.36,0-0.36-0.25-0.72-0.25 c-0.36,0-0.36,0.43-0.72,0.43c-0.36,0-0.36-0.22-0.72-0.22c-0.36,0-0.36,0-0.72,0c-0.36,0-0.36-0.12-0.72-0.12 c-0.36,0-0.36-0.15-0.72-0.15c-0.36,0-0.36,0.13-0.72,0.13c-0.36,0-0.36,0.57-0.72,0.57c-0.36,0-0.36-0.51-0.72-0.51 c-0.36,0-0.36-0.05-0.72-0.05c-0.36,0-0.36,0.41-0.72,0.41c-0.36,0-0.36,0.15-0.72,0.15c-0.36,0-0.36,0.03-0.72,0.03 c-0.36,0-0.36-0.22-0.72-0.22c-0.36,0-0.36,0.16-0.72,0.16c-0.36,0-0.36-0.34-0.72-0.34c-0.36,0-0.36-0.48-0.72-0.48 c-0.36,0-0.36,0.54-0.72,0.54c-0.36,0-0.36-0.12-0.72-0.12c-0.36,0-0.36,0.32-0.72,0.32c-0.36,0-0.36-0.32-0.72-0.32 c-0.36,0-0.36-0.42-0.72-0.42c-0.36,0-0.36,0.58-0.72,0.58c-0.36,0-0.36-0.12-0.72-0.12c-0.36,0-0.36-0.16-0.72-0.16 c-0.36,0-0.36,0.11-0.72,0.11c-0.36,0-0.36-0.21-0.72-0.21c-0.36,0-0.36,0.12-0.72,0.12c-0.36,0-0.36-0.31-0.72-0.31 c-0.36,0-0.36,0.57-0.72,0.57c-0.36,0-0.36-0.59-0.72-0.59c-0.36,0-0.36,0.21-0.72,0.21c-0.36,0-0.36-0.04-0.72-0.04 c-0.36,0-0.36,0.42-0.72,0.42c-0.36,0-0.36,0.34-0.72,0.34c-0.36,0-0.36-0.76-0.72-0.76c-0.36,0-0.36,0.27-0.72,0.27 c-0.36,0-0.36-0.24-0.72-0.24c-0.36,0-0.36,0.01-0.72,0.01c-0.36,0-0.36,0.65-0.72,0.65c-0.36,0-0.36-0.54-0.72-0.54 c-0.36,0-0.36-0.22-0.72-0.22c-0.36,0-0.36,0.37-0.73,0.37c-0.36,0-0.36-0.32-0.73-0.32c-0.36,0-0.36,0.43-0.72,0.43 c-0.36,0-0.36-0.36-0.72-0.36c-0.36,0-0.36,0.36-0.72,0.36c-0.36,0-0.36,0.32-0.72,0.32c-0.36,0-0.36-0.9-0.72-0.9 c-0.36,0-0.36,0.67-0.72,0.67c-0.36,0-0.36-0.34-0.72-0.34c-0.36,0-0.36-0.27-0.72-0.27c-0.36,0-0.36,0.64-0.73,0.64 c-0.36,0-0.36,0.13-0.73,0.13c-0.36,0-0.36-0.05-0.73-0.05c-0.36,0-0.36-0.09-0.73-0.09c-0.36,0-0.36-0.57-0.72-0.57 c-0.36,0-0.36,0.54-0.72,0.54c-0.36,0-0.36-0.04-0.73-0.04c-0.36,0-0.36,0.09-0.73,0.09c-0.36,0-0.36-0.58-0.73-0.58 c-0.36,0-0.36,0.73-0.73,0.73c-0.36,0-0.36-0.5-0.73-0.5c-0.36,0-0.36-0.18-0.73-0.18c-0.36,0-0.36-0.01-0.72-0.01 c-0.36,0-0.36,0.36-0.72,0.36c-0.36,0-0.36-0.36-0.72-0.36c-0.36,0-0.36-0.21-0.73-0.21c-0.36,0-0.36,0.83-0.73,0.83 c-0.36,0-0.36-0.79-0.73-0.79c-0.36,0-0.36,0.29-0.73,0.29c-0.36,0-0.36-0.3-0.73-0.3c-0.36,0-0.36,0.83-0.73,0.83 c-0.36,0-0.36-0.71-0.73-0.71c-0.36,0-0.36,0.41-0.73,0.41c-0.37,0-0.37,0.31-0.73,0.31c-0.36,0-0.36-0.52-0.73-0.52 c-0.36,0-0.36,0.42-0.73,0.42c-0.36,0-0.36,0.03-0.73,0.03c-0.37,0-0.37-0.53-0.73-0.53c-0.37,0-0.37,0.67-0.73,0.67 c-0.37,0-0.37-0.61-0.73-0.61S4.37,99.95,4,99.95'/%3E%3C/g%3E%3C/svg%3E%0A"););
	left: 10px;
	right: auto;
	transform: scale(-1,1);
}

.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
	background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!----%3E%3Csvg version='1.1' id='' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 200 200' style='enable-background:new 0 0 200 200;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;%7D .st1%7Bfill:none;stroke:%23000000;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;%7D%0A%3C/style%3E%3Crect class='st0' width='200' height='200'/%3E%3Cg%3E%3Cpath class='st1' d='M129.67,66.24c0.24,0,0.48,0.38,0.72,0.38c0.24,0,0.5-0.62,0.74-0.61c0.24,0.01,0.47,0.4,0.71,0.41 c0.24,0.01,0.47,0.3,0.71,0.31c0.24,0.02,0.48,0.02,0.72,0.04c0.24,0.02,0.52-0.33,0.76-0.3c0.24,0.03,0.5-0.1,0.74-0.06 c0.24,0.03,0.5-0.04,0.74-0.01c0.24,0.04,0.38,0.68,0.62,0.72c0.24,0.04,0.48,0.06,0.71,0.11c0.24,0.05,0.52-0.13,0.75-0.07 c0.24,0.05,0.58-0.34,0.81-0.29c0.24,0.06,0.38,0.5,0.61,0.56c0.23,0.06,0.55-0.16,0.78-0.09c0.23,0.07,0.35,0.52,0.58,0.59 c0.23,0.07,0.44,0.2,0.67,0.28c0.23,0.08,0.46,0.13,0.69,0.22c0.23,0.08,0.4,0.31,0.62,0.4c0.23,0.09,0.56-0.11,0.78-0.02 c0.22,0.09,0.45,0.18,0.67,0.28c0.22,0.1,0.54,0,0.75,0.1c0.22,0.1,0.26,0.59,0.47,0.69c0.22,0.11,0.63-0.18,0.85-0.07 c0.21,0.11,0.24,0.58,0.46,0.69c0.21,0.11,0.58-0.06,0.79,0.06c0.21,0.12,0.19,0.64,0.39,0.76c0.21,0.12,0.35,0.34,0.56,0.47 c0.21,0.13,0.64-0.11,0.84,0.02c0.2,0.13,0.53,0.07,0.74,0.21c0.2,0.13,0.25,0.49,0.45,0.63c0.2,0.14,0.41,0.26,0.61,0.4 c0.2,0.14,0.39,0.29,0.58,0.43c0.19,0.14,0.33,0.37,0.52,0.52c0.19,0.15,0.4,0.27,0.59,0.42c0.19,0.15,0.24,0.47,0.43,0.62 c0.19,0.15,0.45,0.21,0.63,0.37c0.19,0.15,0.58,0.06,0.76,0.21c0.18,0.16,0.25,0.45,0.43,0.61c0.18,0.16,0.25,0.44,0.43,0.6 c0.18,0.16,0.55,0.11,0.73,0.27c0.18,0.16,0.1,0.61,0.28,0.77c0.18,0.16,0.67-0.02,0.85,0.14c0.18,0.16,0.37,0.31,0.55,0.47 c0.18,0.16-0.04,0.75,0.13,0.91c0.17,0.17,0.3,0.38,0.47,0.55c0.17,0.17,0.74-0.08,0.91,0.09c0.17,0.17,0.29,0.39,0.46,0.56 c0.17,0.17,0.02,0.67,0.19,0.84c0.17,0.17,0.87-0.2,1.04-0.03c0.17,0.17-0.12,0.81,0.05,0.98c0.17,0.17,0.27,0.41,0.44,0.58 c0.17,0.17,0.53,0.15,0.7,0.32c0.17,0.17,0.27,0.41,0.44,0.58c0.17,0.17,0.66,0.01,0.83,0.18c0.17,0.17,0.03,0.66,0.2,0.83 c0.17,0.17,0.24,0.44,0.42,0.61c0.17,0.17,0.83-0.17,1.01,0c0.17,0.17,0.17,0.52,0.34,0.68c0.17,0.17,0.44,0.23,0.62,0.4 c0.18,0.16-0.1,0.81,0.08,0.98c0.18,0.16,0.95-0.32,1.12-0.15c0.18,0.16,0.26,0.43,0.44,0.59c0.18,0.16-0.13,0.87,0.05,1.03 c0.18,0.16,0.58,0.07,0.76,0.23c0.18,0.16,0.19,0.52,0.37,0.68c0.18,0.16,0.38,0.3,0.57,0.46c0.18,0.15,0.4,0.28,0.59,0.43 c0.19,0.15,0.45,0.22,0.63,0.37c0.19,0.15,0.53,0.11,0.72,0.25c0.19,0.15,0.37,0.31,0.56,0.45c0.19,0.14,0.17,0.58,0.37,0.72 c0.19,0.14,0.49,0.15,0.69,0.28c0.2,0.14,0.7-0.17,0.9-0.03c0.2,0.14,0.39,0.27,0.59,0.4c0.2,0.13,0.3,0.41,0.5,0.54 c0.2,0.13,0.08,0.78,0.28,0.91c0.2,0.13,0.45,0.2,0.65,0.33c0.21,0.12,0.57-0.02,0.78,0.1c0.21,0.12,0.64-0.17,0.85-0.06 c0.21,0.11,0.13,0.76,0.35,0.88c0.21,0.11,0.72-0.37,0.94-0.26c0.21,0.11,0.11,0.88,0.32,0.98c0.22,0.1,0.62-0.2,0.84-0.1 c0.22,0.1,0.51,0.01,0.74,0.11c0.22,0.09,0.13,0.94,0.36,1.03c0.22,0.09,0.59-0.18,0.82-0.09c0.22,0.09,0.6-0.24,0.82-0.16 c0.22,0.08,0.45,0.15,0.67,0.23c0.23,0.08,0.34,0.48,0.57,0.55c0.23,0.07,0.34,0.55,0.57,0.62c0.23,0.07,0.54-0.15,0.78-0.09 c0.23,0.06,0.55-0.22,0.79-0.17c0.23,0.06,0.32,0.75,0.55,0.8c0.23,0.05,0.51-0.06,0.75-0.01c0.23,0.05,0.51-0.09,0.75-0.04 c0.24,0.04,0.48,0.07,0.72,0.11c0.24,0.04,0.5-0.06,0.74-0.02c0.24,0.04,0.5-0.18,0.74-0.15c0.24,0.03,0.45,0.25,0.69,0.27 c0.24,0.03,0.43,0.48,0.67,0.51c0.24,0.02,0.49-0.08,0.74-0.06c0.24,0.02,0.48,0.13,0.72,0.14c0.24,0.02,0.49-0.07,0.73-0.06 c0.24,0.01,0.49-0.32,0.74-0.32c0.24,0.01,0.47,0.32,0.72,0.32c0.24,0,0.49-0.45,0.74-0.45c-0.36,0-0.36,0.03-0.72,0.03 c-0.36,0-0.36,0.39-0.72,0.39c-0.36,0-0.36,0.21-0.72,0.21c-0.36,0-0.36-0.51-0.72-0.51c-0.36,0-0.36,0.41-0.72,0.41 c-0.36,0-0.36-0.2-0.72-0.2c-0.36,0-0.36,0.48-0.72,0.48c-0.36,0-0.36-0.79-0.72-0.79s-0.36,0.57-0.72,0.57 c-0.36,0-0.36,0.07-0.72,0.07c-0.36,0-0.36,0.07-0.72,0.07s-0.36-0.69-0.72-0.69c-0.36,0-0.36-0.03-0.72-0.03s-0.36,0.07-0.72,0.07 s-0.36,0.15-0.72,0.15s-0.36,0.03-0.72,0.03s-0.36,0.04-0.72,0.04s-0.36,0.14-0.72,0.14s-0.36,0.35-0.72,0.35 c-0.36,0-0.36-0.38-0.72-0.38s-0.36,0.23-0.72,0.23s-0.36-0.26-0.72-0.26c-0.36,0-0.36-0.37-0.72-0.37c-0.36,0-0.36,0.26-0.72,0.26 c-0.36,0-0.36-0.2-0.72-0.2c-0.36,0-0.36,0.13-0.72,0.13c-0.36,0-0.36,0.67-0.72,0.67c-0.36,0-0.36-0.54-0.72-0.54 c-0.36,0-0.36,0.17-0.72,0.17c-0.36,0-0.36,0.27-0.72,0.27c-0.36,0-0.36-0.26-0.72-0.26c-0.36,0-0.36-0.55-0.72-0.55 c-0.36,0-0.36,0.52-0.72,0.52c-0.36,0-0.36-0.49-0.72-0.49c-0.36,0-0.36-0.04-0.72-0.04c-0.36,0-0.36,0.83-0.72,0.83 c-0.36,0-0.36-0.72-0.72-0.72c-0.36,0-0.36-0.04-0.72-0.04c-0.36,0-0.36,0.32-0.72,0.32c-0.36,0-0.36-0.39-0.72-0.39 c-0.36,0-0.36,0.21-0.72,0.21c-0.36,0-0.36,0.03-0.72,0.03c-0.36,0-0.36,0.06-0.72,0.06c-0.36,0-0.36-0.09-0.72-0.09 c-0.36,0-0.36,0.17-0.72,0.17c-0.36,0-0.36-0.06-0.72-0.06c-0.36,0-0.36-0.23-0.72-0.23c-0.36,0-0.36,0.06-0.72,0.06 c-0.36,0-0.36,0.36-0.72,0.36c-0.36,0-0.36-0.01-0.72-0.01c-0.36,0-0.36,0.29-0.72,0.29c-0.36,0-0.36-0.1-0.72-0.1 c-0.36,0-0.36,0.07-0.72,0.07c-0.36,0-0.36,0.1-0.72,0.1c-0.36,0-0.36-0.06-0.72-0.06c-0.36,0-0.36-0.55-0.72-0.55 c-0.36,0-0.36,0.12-0.72,0.12c-0.36,0-0.36,0.45-0.72,0.45c-0.36,0-0.36,0.07-0.72,0.07c-0.36,0-0.36-0.65-0.72-0.65 c-0.36,0-0.36,0.14-0.72,0.14c-0.36,0-0.36,0.27-0.72,0.27c-0.36,0-0.36-0.13-0.72-0.13c-0.36,0-0.36,0.16-0.72,0.16 c-0.36,0-0.36-0.44-0.72-0.44c-0.36,0-0.36,0.4-0.72,0.4c-0.36,0-0.36,0.24-0.72,0.24c-0.36,0-0.36-0.75-0.72-0.75 c-0.36,0-0.36,0.81-0.72,0.81c-0.36,0-0.36-0.09-0.72-0.09c-0.36,0-0.36-0.29-0.72-0.29c-0.36,0-0.36-0.2-0.72-0.2 c-0.36,0-0.36-0.35-0.72-0.35c-0.36,0-0.36,0.1-0.72,0.1c-0.36,0-0.36-0.06-0.72-0.06c-0.36,0-0.36-0.04-0.72-0.04 s-0.36,0.54-0.72,0.54c-0.36,0-0.36,0.35-0.72,0.35c-0.36,0-0.36-0.66-0.72-0.66c-0.36,0-0.36,0.43-0.72,0.43 c-0.36,0-0.36-0.29-0.72-0.29c-0.36,0-0.36,0.16-0.72,0.16c-0.36,0-0.36-0.21-0.72-0.21c-0.36,0-0.36-0.28-0.72-0.28 c-0.36,0-0.36,0.72-0.72,0.72c-0.36,0-0.36-0.36-0.72-0.36c-0.36,0-0.36,0.3-0.72,0.3c-0.36,0-0.36-0.02-0.72-0.02 c-0.36,0-0.36-0.68-0.72-0.68c-0.36,0-0.36,0.02-0.72,0.02c-0.36,0-0.36,0.71-0.72,0.71c-0.36,0-0.36,0.18-0.72,0.18 c-0.36,0-0.36-0.32-0.72-0.32c-0.36,0-0.36-0.44-0.72-0.44c-0.36,0-0.36,0.59-0.72,0.59c-0.36,0-0.36-0.38-0.72-0.38 c-0.36,0-0.36-0.35-0.72-0.35c-0.36,0-0.36,0.84-0.72,0.84c-0.36,0-0.36-0.55-0.72-0.55c-0.36,0-0.36,0.11-0.72,0.11 c-0.36,0-0.36,0.45-0.72,0.45c-0.36,0-0.36-0.41-0.72-0.41c-0.36,0-0.36,0.45-0.72,0.45c-0.36,0-0.36-0.02-0.72-0.02 c-0.36,0-0.36-0.45-0.72-0.45c-0.36,0-0.36,0.21-0.72,0.21c-0.36,0-0.36-0.13-0.72-0.13c-0.36,0-0.36,0-0.72,0 c-0.36,0-0.36-0.03-0.72-0.03c-0.36,0-0.36-0.01-0.72-0.01c-0.36,0-0.36,0.01-0.72,0.01c-0.36,0-0.36-0.16-0.72-0.16 c-0.36,0-0.36-0.19-0.72-0.19c-0.36,0-0.36,0.77-0.72,0.77c-0.36,0-0.36-0.17-0.72-0.17c-0.36,0-0.36-0.43-0.72-0.43 c-0.36,0-0.36-0.26-0.72-0.26c-0.36,0-0.36,0.61-0.72,0.61c-0.36,0-0.36-0.67-0.72-0.67c-0.36,0-0.36,0.06-0.72,0.06 c-0.36,0-0.36,0.17-0.72,0.17c-0.36,0-0.36,0.12-0.72,0.12c-0.36,0-0.36,0.54-0.72,0.54c-0.36,0-0.36-0.47-0.72-0.47 c-0.36,0-0.36-0.21-0.72-0.21c-0.36,0-0.36,0.16-0.72,0.16c-0.36,0-0.36-0.09-0.72-0.09c-0.36,0-0.36,0.32-0.72,0.32 c-0.36,0-0.36-0.21-0.72-0.21c-0.36,0-0.36,0.41-0.72,0.41s-0.36-0.78-0.72-0.78c-0.36,0-0.36,0.01-0.72,0.01 c-0.36,0-0.36,0.73-0.72,0.73c-0.36,0-0.36-0.24-0.72-0.24c-0.36,0-0.36-0.09-0.72-0.09c-0.36,0-0.36,0.21-0.72,0.21 c-0.36,0-0.36-0.03-0.72-0.03c-0.36,0-0.36,0.13-0.72,0.13c-0.36,0-0.36-0.58-0.72-0.58c-0.36,0-0.36,0.43-0.72,0.43 c-0.36,0-0.36-0.34-0.72-0.34c-0.36,0-0.36,0.32-0.72,0.32c-0.36,0-0.36-0.52-0.72-0.52c-0.36,0-0.36,0.75-0.72,0.75 c-0.36,0-0.36-0.17-0.72-0.17c-0.36,0-0.36-0.11-0.72-0.11c-0.36,0-0.36-0.18-0.72-0.18c-0.36,0-0.36-0.16-0.72-0.16 c-0.36,0-0.36-0.16-0.72-0.16c-0.36,0-0.36,0.37-0.72,0.37c-0.36,0-0.36-0.15-0.72-0.15c-0.36,0-0.36,0.66-0.72,0.66 c-0.36,0-0.36,0.02-0.72,0.02c-0.36,0-0.36,0.01-0.72,0.01c-0.36,0-0.36-0.21-0.72-0.21c-0.36,0-0.36-0.33-0.72-0.33 c-0.36,0-0.36-0.09-0.72-0.09c-0.36,0-0.36,0.08-0.72,0.08c-0.36,0-0.36,0.01-0.72,0.01c-0.36,0-0.36-0.15-0.72-0.15 c-0.36,0-0.36,0.3-0.72,0.3c-0.36,0-0.36-0.47-0.72-0.47c-0.36,0-0.36,0.59-0.72,0.59c-0.36,0-0.36,0.23-0.72,0.23 c-0.36,0-0.36-0.25-0.72-0.25c-0.36,0-0.36,0.09-0.72,0.09c-0.36,0-0.36-0.36-0.72-0.36c-0.36,0-0.36,0.43-0.72,0.43 c-0.36,0-0.36-0.6-0.72-0.6c-0.36,0-0.36,0.49-0.72,0.49c-0.36,0-0.36-0.53-0.72-0.53c-0.36,0-0.36,0.58-0.72,0.58 c-0.36,0-0.36,0.17-0.72,0.17c-0.36,0-0.36-0.2-0.72-0.2c-0.36,0-0.36-0.36-0.72-0.36c-0.36,0-0.36-0.3-0.72-0.3 c-0.36,0-0.36,0.28-0.72,0.28c-0.36,0-0.36,0.28-0.72,0.28c-0.36,0-0.36-0.44-0.72-0.44c-0.36,0-0.36-0.17-0.72-0.17 c-0.36,0-0.36,0.26-0.72,0.26c-0.36,0-0.36-0.03-0.72-0.03c-0.36,0-0.36,0.24-0.72,0.24c-0.36,0-0.36-0.25-0.72-0.25 c-0.36,0-0.36,0.43-0.72,0.43c-0.36,0-0.36-0.22-0.72-0.22c-0.36,0-0.36,0-0.72,0c-0.36,0-0.36-0.12-0.72-0.12 c-0.36,0-0.36-0.15-0.72-0.15c-0.36,0-0.36,0.13-0.72,0.13c-0.36,0-0.36,0.57-0.72,0.57c-0.36,0-0.36-0.51-0.72-0.51 c-0.36,0-0.36-0.05-0.72-0.05c-0.36,0-0.36,0.41-0.72,0.41c-0.36,0-0.36,0.15-0.72,0.15c-0.36,0-0.36,0.03-0.72,0.03 c-0.36,0-0.36-0.22-0.72-0.22c-0.36,0-0.36,0.16-0.72,0.16c-0.36,0-0.36-0.34-0.72-0.34c-0.36,0-0.36-0.48-0.72-0.48 c-0.36,0-0.36,0.54-0.72,0.54c-0.36,0-0.36-0.12-0.72-0.12c-0.36,0-0.36,0.32-0.72,0.32c-0.36,0-0.36-0.32-0.72-0.32 c-0.36,0-0.36-0.42-0.72-0.42c-0.36,0-0.36,0.58-0.72,0.58c-0.36,0-0.36-0.12-0.72-0.12c-0.36,0-0.36-0.16-0.72-0.16 c-0.36,0-0.36,0.11-0.72,0.11c-0.36,0-0.36-0.21-0.72-0.21c-0.36,0-0.36,0.12-0.72,0.12c-0.36,0-0.36-0.31-0.72-0.31 c-0.36,0-0.36,0.57-0.72,0.57c-0.36,0-0.36-0.59-0.72-0.59c-0.36,0-0.36,0.21-0.72,0.21c-0.36,0-0.36-0.04-0.72-0.04 c-0.36,0-0.36,0.42-0.72,0.42c-0.36,0-0.36,0.34-0.72,0.34c-0.36,0-0.36-0.76-0.72-0.76c-0.36,0-0.36,0.27-0.72,0.27 c-0.36,0-0.36-0.24-0.72-0.24c-0.36,0-0.36,0.01-0.72,0.01c-0.36,0-0.36,0.65-0.72,0.65c-0.36,0-0.36-0.54-0.72-0.54 c-0.36,0-0.36-0.22-0.72-0.22c-0.36,0-0.36,0.37-0.73,0.37c-0.36,0-0.36-0.32-0.73-0.32c-0.36,0-0.36,0.43-0.72,0.43 c-0.36,0-0.36-0.36-0.72-0.36c-0.36,0-0.36,0.36-0.72,0.36c-0.36,0-0.36,0.32-0.72,0.32c-0.36,0-0.36-0.9-0.72-0.9 c-0.36,0-0.36,0.67-0.72,0.67c-0.36,0-0.36-0.34-0.72-0.34c-0.36,0-0.36-0.27-0.72-0.27c-0.36,0-0.36,0.64-0.73,0.64 c-0.36,0-0.36,0.13-0.73,0.13c-0.36,0-0.36-0.05-0.73-0.05c-0.36,0-0.36-0.09-0.73-0.09c-0.36,0-0.36-0.57-0.72-0.57 c-0.36,0-0.36,0.54-0.72,0.54c-0.36,0-0.36-0.04-0.73-0.04c-0.36,0-0.36,0.09-0.73,0.09c-0.36,0-0.36-0.58-0.73-0.58 c-0.36,0-0.36,0.73-0.73,0.73c-0.36,0-0.36-0.5-0.73-0.5c-0.36,0-0.36-0.18-0.73-0.18c-0.36,0-0.36-0.01-0.72-0.01 c-0.36,0-0.36,0.36-0.72,0.36c-0.36,0-0.36-0.36-0.72-0.36c-0.36,0-0.36-0.21-0.73-0.21c-0.36,0-0.36,0.83-0.73,0.83 c-0.36,0-0.36-0.79-0.73-0.79c-0.36,0-0.36,0.29-0.73,0.29c-0.36,0-0.36-0.3-0.73-0.3c-0.36,0-0.36,0.83-0.73,0.83 c-0.36,0-0.36-0.71-0.73-0.71c-0.36,0-0.36,0.41-0.73,0.41c-0.37,0-0.37,0.31-0.73,0.31c-0.36,0-0.36-0.52-0.73-0.52 c-0.36,0-0.36,0.42-0.73,0.42c-0.36,0-0.36,0.03-0.73,0.03c-0.37,0-0.37-0.53-0.73-0.53c-0.37,0-0.37,0.67-0.73,0.67 c-0.37,0-0.37-0.61-0.73-0.61S4.37,99.95,4,99.95'/%3E%3C/g%3E%3C/svg%3E%0A"););
	right: 10px;
	left: auto;
}

.swiper-button-prev {
	margin-left: 0
}

.swiper-button-next {
	margin-right: 0;
}

.swiper-pagination {
	height: 40px;
	right: 0;
	left: 0;
	margin: 0 20px;
	width: auto;
	position: relative;
}

.swiper-pagination-bullet {
	width: 10px;
	height: 2px;
	display: inline-block;
	border-radius: 50px;
	background: #666;
	opacity: .2;
	margin: 0 2px;
}

.swiper-pagination-bullet-active {
	background: #666;
	opacity: 1;
}

@media screen and (min-width: 1280px) {
	.swiper-container {
		margin-bottom: 40px;
	}

	.swiper-pagination {
		margin: 0 40px;
	}

	.swiper-button-next,
	.swiper-button-prev {
		width: 40px;
		height: 40px;
	}

	.swiper-pagination-bullet {
		width: 40px;
		margin: 0 5px;
	}
}

/* --------------------------------------------------------- */
/* gallery */
#gallery {
	position: relative;
}

#gallery .c-section {
	padding-bottom: 50px;
}

#gallery .indicator-wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
	height: 40px;
}

.gallery__cap.-vert {
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-feature-settings: normal;
	background-color: #fff;
	border-radius: 5px 0 0 0;
	position: absolute;
	right: 0;
	bottom: 0;
	line-height: 0;
	z-index: 1;
}

.gallery__cap.-vert {
	padding: .6em .3em .1em .3em;
}

/* IE Only */
.msie .gallery__cap.-vert {
	width: 3%;
	height: 5em;
}
/**/

.gallery__cap span {
	font-size: 1.0rem;
	display: inline-block;
	line-height: 1.5;
}

@media screen and (min-width: 768px) {
	.gallery__cap.-vert {
		padding: 1em .3em .1em .8em;
	}
}

@media screen and (min-width: 1280px) {
	#gallery .c-section {
		padding-bottom: 80px;
	}

	.gallery__cap.-vert {
		padding: 1em .3em .1em .8em;
	}

	.gallery__cap span {
		font-size: 1.2rem;
	}
}

/*--------------------- Partner Section One ------------------*/

#partners_banner img {
  width: 200px;
  height:100px;
}

[rb] {
    position: relative;
}
[rb]::after {
	content: attr(rb);
	position: absolute;
	top: -0.9em;
	left: -0.2em;
	right: -0.2em;
	font-size: 0.5em;
	text-align: center;
	white-space: nowrap;
	line-height: 1;
	text-indent: 0;
	letter-spacing: -0.02rem;
	 color: #333;
}

span[rb] {
    white-space: nowrap;
}

.sp-only {
  display: none; /* 基本は隠す */
}

@media (max-width: 768px) {
  .sp-only {
    display: inline; /* スマホの時だけ改行を有効にする */
  }
}

/**
======================================================
<-- End Section Css -->
======================================================**/
.end-section {
    position: relative;
    z-index: 1;
    overflow: hidden;
    height: 138px;
    top: 0;

}

.end-section:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    left: 0;
    background: url(../../assets/img/global/footer-shape.png);
    background-repeat: no-repeat;
    background-position: center center;
    z-index: -1;
}