@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=Roboto);
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

/* ============================================================================================== */
/* Module / Alert                                                                                 */
/* ============================================================================================== */
.alert {
	border: 1px solid currentColor;
	margin-bottom: 20px;
	padding: 20px;
	box-sizing: border-box;
	border-radius: 5px;
	font-weight: 500;
}

.alert > *:first-child {
	margin-top: 0;
}

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

.alert--primary {
	color: #1458a7;
}

.alert--inportant {
	color: #c50000;
}

.alert--success {
	color: #4d9400;
}

.alert--warning {
	color: #c50000;
	background-color: rgba(197, 0, 0, 0.05);
}

.alert--danger {
	color: #fff;
	background-color: red;
	border-color: red;
}

.alert--error {
	color: #ff0000;
	background-color: rgba(255, 0, 0, 0.1);
	border: none;
	border-radius: 0;
}

/* elements */
.alert-box {
	border: 1px solid currentColor;
	margin-bottom: 20px;
	padding: 20px;
	box-sizing: border-box;
	border-radius: 5px;
	font-weight: 500;
	background: transparent;
	margin-bottom: 40px;
	padding: 0;
	box-sizing: border-box;
}

.alert-box__header {
	background-color: rgba(0, 0, 0, 0.1);
}

.alert-box__ttl {
	margin: 0;
	padding: 10px 20px;
}

.alert-box__body {
	padding: 10px 20px;
	box-sizing: border-box;
}

/* primary */
.alert-box.alert--primary .alert-box__header {
	color: #fff;
	background-color: #1458a7;
}

/* success */
.alert-box.alert--success .alert-box__header {
	color: #fff;
	background-color: #4d9400;
}

/* warning / danger */
.alert-box.alert--warning,
.alert-box.alert--danger {
	border-color: #f00;
	background-color: rgba(255, 0, 0, 0.1);
}

.alert-box.alert--warning .alert-box__body,
.alert-box.alert--danger .alert-box__body {
	color: #f00;
}

.alert-box.alert--warning .alert-box__header,
.alert-box.alert--danger .alert-box__header {
	color: #fff;
	background-color: red;
}

/* error */
.alert-box.alert--important,
.alert-box.alert--error {
	color: #ff0000;
}

.alert-box.alert--important .alert-box__body,
.alert-box.alert--error .alert-box__body {
	color: #ff0000;
}

.alert-box.alert--important .alert-box__header,
.alert-box.alert--error .alert-box__header {
	color: #ff0000;
	background-color: rgba(255, 0, 0, 0.1);
}

.alert-box__message-list {
}

.alert-box__message-list li {
	list-style: inside disc;
}


/* ============================================================================================== */
/* Module / Animation                                                                             */
/* ============================================================================================== */
[class*='uk-animation-'] {
	-webkit-animation-duration: 0.5s;
	animation-duration: 0.5s;
	-webkit-animation-timing-function: ease-out;
	animation-timing-function: ease-out;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}

/* Direction modifier */
.uk-animation-reverse {
	-webkit-animation-direction: reverse;
	animation-direction: reverse;
	-webkit-animation-timing-function: ease-in;
	animation-timing-function: ease-in;
}

/* Animations for scrollspy */
/*
 * Fade
 */
.uk-animation-fade {
	-webkit-animation-name: uk-fade;
	animation-name: uk-fade;
	-webkit-animation-duration: 0.8s;
	animation-duration: 0.8s;
	-webkit-animation-timing-function: linear;
	animation-timing-function: linear;
}

/*
 * Scale
 */
.uk-animation-scale-up {
	-webkit-animation-name: uk-fade-scale-02;
	animation-name: uk-fade-scale-02;
}

.uk-animation-scale-down {
	-webkit-animation-name: uk-fade-scale-18;
	animation-name: uk-fade-scale-18;
}

/*
 * Slide
 */
.uk-animation-slide-top {
	-webkit-animation-name: uk-fade-top;
	animation-name: uk-fade-top;
}

.uk-animation-slide-bottom {
	-webkit-animation-name: uk-fade-bottom;
	animation-name: uk-fade-bottom;
}

.uk-animation-slide-left {
	-webkit-animation-name: uk-fade-left;
	animation-name: uk-fade-left;
}

.uk-animation-slide-right {
	-webkit-animation-name: uk-fade-right;
	animation-name: uk-fade-right;
}

/*
 * Slide Small
 */
.uk-animation-slide-top-small {
	-webkit-animation-name: uk-fade-top-small;
	animation-name: uk-fade-top-small;
}

.uk-animation-slide-bottom-small {
	-webkit-animation-name: uk-fade-bottom-small;
	animation-name: uk-fade-bottom-small;
}

.uk-animation-slide-left-small {
	-webkit-animation-name: uk-fade-left-small;
	animation-name: uk-fade-left-small;
}

.uk-animation-slide-right-small {
	-webkit-animation-name: uk-fade-right-small;
	animation-name: uk-fade-right-small;
}

/*
 * Slide Medium
 */
.uk-animation-slide-top-medium {
	-webkit-animation-name: uk-fade-top-medium;
	animation-name: uk-fade-top-medium;
}

.uk-animation-slide-bottom-medium {
	-webkit-animation-name: uk-fade-bottom-medium;
	animation-name: uk-fade-bottom-medium;
}

.uk-animation-slide-left-medium {
	-webkit-animation-name: uk-fade-left-medium;
	animation-name: uk-fade-left-medium;
}

.uk-animation-slide-right-medium {
	-webkit-animation-name: uk-fade-right-medium;
	animation-name: uk-fade-right-medium;
}

/*
 * Kenburns
 */
.uk-animation-kenburns {
	-webkit-animation-name: uk-scale-kenburns;
	animation-name: uk-scale-kenburns;
	-webkit-animation-duration: 15s;
	animation-duration: 15s;
}

/*
 * Shake
 */
.uk-animation-shake {
	-webkit-animation-name: uk-shake;
	animation-name: uk-shake;
}

/* Duration modifier
 ========================================================================== */
.uk-animation-fast {
	-webkit-animation-duration: 0.1s;
	animation-duration: 0.1s;
}

/* Enable animation only on hover
========================================================================== */
/*
 * Note: Firefox and IE needs this because animations are not triggered when switching between display `none` and `block`
 */
.uk-animation-toggle:not(:hover):not(.uk-hover) [class*='uk-animation-'] {
	-webkit-animation-name: none;
	animation-name: none;
}

/* Keyframes used by animation classes
 ========================================================================== */
/*
 * Fade
 */
@-webkit-keyframes uk-fade {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes uk-fade {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
/*
 * Slide Top
 */
@-webkit-keyframes uk-fade-top {
	0% {
		opacity: 0;
		-webkit-transform: translateY(-100%);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
	}
}
@keyframes uk-fade-top {
	0% {
		opacity: 0;
		transform: translateY(-100%);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
/*
 * Slide Bottom
 */
@-webkit-keyframes uk-fade-bottom {
	0% {
		opacity: 0;
		-webkit-transform: translateY(100%);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
	}
}
@keyframes uk-fade-bottom {
	0% {
		opacity: 0;
		transform: translateY(100%);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
/*
 * Slide Left
 */
@-webkit-keyframes uk-fade-left {
	0% {
		opacity: 0;
		-webkit-transform: translateX(-100%);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateX(0);
	}
}
@keyframes uk-fade-left {
	0% {
		opacity: 0;
		transform: translateX(-100%);
	}
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}
/*
 * Slide Right
 */
@-webkit-keyframes uk-fade-right {
	0% {
		opacity: 0;
		-webkit-transform: translateX(100%);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateX(0);
	}
}
@keyframes uk-fade-right {
	0% {
		opacity: 0;
		transform: translateX(100%);
	}
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}
/*
 * Slide Top Small
 */
@-webkit-keyframes uk-fade-top-small {
	0% {
		opacity: 0;
		-webkit-transform: translateY(-10px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
	}
}
@keyframes uk-fade-top-small {
	0% {
		opacity: 0;
		transform: translateY(-10px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
/*
 * Slide Bottom Small
 */
@-webkit-keyframes uk-fade-bottom-small {
	0% {
		opacity: 0;
		-webkit-transform: translateY(10px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
	}
}
@keyframes uk-fade-bottom-small {
	0% {
		opacity: 0;
		transform: translateY(10px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
/*
 * Slide Left Small
 */
@-webkit-keyframes uk-fade-left-small {
	0% {
		opacity: 0;
		-webkit-transform: translateX(-10px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateX(0);
	}
}
@keyframes uk-fade-left-small {
	0% {
		opacity: 0;
		transform: translateX(-10px);
	}
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}
/*
 * Slide Right Small
 */
@-webkit-keyframes uk-fade-right-small {
	0% {
		opacity: 0;
		-webkit-transform: translateX(10px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateX(0);
	}
}
@keyframes uk-fade-right-small {
	0% {
		opacity: 0;
		transform: translateX(10px);
	}
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}
/*
 * Slide Top Medium
 */
@-webkit-keyframes uk-fade-top-medium {
	0% {
		opacity: 0;
		-webkit-transform: translateY(-50px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
	}
}
@keyframes uk-fade-top-medium {
	0% {
		opacity: 0;
		transform: translateY(-50px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
/*
 * Slide Bottom Medium
 */
@-webkit-keyframes uk-fade-bottom-medium {
	0% {
		opacity: 0;
		-webkit-transform: translateY(50px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
	}
}
@keyframes uk-fade-bottom-medium {
	0% {
		opacity: 0;
		transform: translateY(50px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
/*
 * Slide Left Medium
 */
@-webkit-keyframes uk-fade-left-medium {
	0% {
		opacity: 0;
		-webkit-transform: translateX(-50px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateX(0);
	}
}
@keyframes uk-fade-left-medium {
	0% {
		opacity: 0;
		transform: translateX(-50px);
	}
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}
/*
 * Slide Right Medium
 */
@-webkit-keyframes uk-fade-right-medium {
	0% {
		opacity: 0;
		-webkit-transform: translateX(50px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateX(0);
	}
}
@keyframes uk-fade-right-medium {
	0% {
		opacity: 0;
		transform: translateX(50px);
	}
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}
/*
 * Scale Up
 */
@-webkit-keyframes uk-fade-scale-02 {
	0% {
		opacity: 0;
		-webkit-transform: scale(0.2);
	}
	100% {
		opacity: 1;
		-webkit-transform: scale(1);
	}
}
@keyframes uk-fade-scale-02 {
	0% {
		opacity: 0;
		transform: scale(0.2);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}
/*
 * Scale Down
 */
@-webkit-keyframes uk-fade-scale-18 {
	0% {
		opacity: 0;
		-webkit-transform: scale(1.8);
	}
	100% {
		opacity: 1;
		-webkit-transform: scale(1);
	}
}
@keyframes uk-fade-scale-18 {
	0% {
		opacity: 0;
		transform: scale(1.8);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}
/*
 * Kenburns
 */
@-webkit-keyframes uk-scale-kenburns {
	0% {
		-webkit-transform: scale(1);
	}
	100% {
		-webkit-transform: scale(1.2);
	}
}
@keyframes uk-scale-kenburns {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.2);
	}
}
/*
 * Shake
 */
@-webkit-keyframes uk-shake {
	0%,
	100% {
		-webkit-transform: translateX(0);
	}
	10% {
		-webkit-transform: translateX(-9px);
	}
	20% {
		-webkit-transform: translateX(8px);
	}
	30% {
		-webkit-transform: translateX(-7px);
	}
	40% {
		-webkit-transform: translateX(6px);
	}
	50% {
		-webkit-transform: translateX(-5px);
	}
	60% {
		-webkit-transform: translateX(4px);
	}
	70% {
		-webkit-transform: translateX(-3px);
	}
	80% {
		-webkit-transform: translateX(2px);
	}
	90% {
		-webkit-transform: translateX(-1px);
	}
}
@keyframes uk-shake {
	0%,
	100% {
		transform: translateX(0);
	}
	10% {
		transform: translateX(-9px);
	}
	20% {
		transform: translateX(8px);
	}
	30% {
		transform: translateX(-7px);
	}
	40% {
		transform: translateX(6px);
	}
	50% {
		transform: translateX(-5px);
	}
	60% {
		transform: translateX(4px);
	}
	70% {
		transform: translateX(-3px);
	}
	80% {
		transform: translateX(2px);
	}
	90% {
		transform: translateX(-1px);
	}
}
/* ----------------------------------------------------------------------- */
/* Article free area */
.style--entry-body {
	font-weight: 400;
}

/* h1 - h5 */
.style--entry-body h1,
.style--entry-body h2,
.style--entry-body h3,
.style--entry-body h4,
.style--entry-body h5,
.style--entry-body h6 {
	margin: 20px 0 1em;
	line-height: 1.3;
}

.style--entry-body h1 {
	font-size: 2.4rem;
	font-weight: 300;
}

.style--entry-body h2 {
	font-size: 2.2rem;
	padding: 0;
	font-weight: 400;
}

.style--entry-body h3 {
	font-size: 2.0rem;
	font-weight: normal;
	font-weight: 500;
}

.style--entry-body h4 {
	font-size: 1.6rem;
	font-weight: 700;
}

.style--entry-body h5,
.style--entry-body h6 {
	font-size: 1.4rem;
	font-weight: 700;
}

/* p */
.style--entry-body p {
	line-height: 2;
	margin: 1.25em 0;
	word-break: break-all;
}

.style--entry-body p:first-child {
	margin-top: 0;
}

.style--entry-body address {
	font-style: normal;
}

.style--entry-body hr {
	margin: 2em 0;
}

.style--entry-body figure {
	line-height: 1.85
}

/* ----------------------------------------------------------------------- */
/* LIST */
/* ul, ol */
.style--entry-body ol,
.style--entry-body ul {
	margin: 1.5em 0;
	padding-left: 1.25em;
	box-sizing: border-box;
}

.style--entry-body ol {
	list-style-type: decimal;
}

.style--entry-body ul {
	list-style-type: disc;
}

.style--entry-body ul li {
	list-style-type: disc;
}

.style--entry-body li {
	line-height: 1.4;
	margin-bottom: 0.5em;
}

.style--entry-body li:last-child {
	margin-bottom: 0;
}

/* dl */
.style--entry-body dl {
	margin: 1.5em 0;
	line-height: 1.5;
}

.style--entry-body dt {
	font-weight: 700;
	margin-bottom: 0.5em;
}

.style--entry-body dd {
	margin-left: 20px;
	margin-bottom: 0.5em;
}

.style--entry-body dd + dt {
	margin-top: 1.5em;
}

.style--entry-body .footnote,
.style--entry-body .inline-footnote {
	padding-left: 1.25em;
}

.style--entry-body .order-footnote,
.style--entry-body .inline-order-footnote {
	padding-left: 2.25em;
}

/* ----------------------------------------------------------------------- */
/* TABLE */
.style--entry-body table {
	width: 100%;
	margin: 1.5em 0;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-spacing: 0;
}

.style--entry-body tr {
	border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.style--entry-body tr:first-child {
	border-top: none;
}

.style--entry-body th {
	padding: 1em;
	border-right: 1px solid rgba(0, 0, 0, 0.1);
}

.style--entry-body td {
	padding: 1em;
}

/* ----------------------------------------------------------------------- */
/* TEXT */

small {
	font-size: 90%;
}

.style--entry-body img {
	width: 100%;
	height: auto;
	max-width: 100%;
}

.style--entry-body img.default {
	width: auto;
	height: auto;
	max-width: initial;
}

/* quotation */
.style--entry-body blockquote {
	position: relative;
	margin: 1.5em 0;
	padding: 2em;
	box-sizing: border-box;
}

.style--entry-body blockquote:before {
	position: absolute;
	content: "\201C";
	left: 0;
	top: -0.25em;
	font-size: 3em;
	opacity: 0.3;
}

.style--entry-body q {
	margin: 1.5em 0.5em;
	quotes: "\201C" "\201D";
}

.style--entry-body q:before {
	content: open-quote;
}

.style--entry-body q:after {
	content: close-quote;
}

.style--entry-body em {
	font-style: italic;
}

.style--entry-body mark {
	padding-left: 2px;
	padding-right: 2px;
	background-color: rgb(242,92,71,0.8);
	color: black;
}

.style--entry-body pre {
	margin: 2em 0;
}

.style--entry-body rt {
	line-height: 1;
	position: relative;
	top: 5px;
}

.style--entry-body small {
	line-height: 1.4;
	display: inline-block;
}

/* ----------------------------------------------------------------------- */
/* A */
.style--entry-body a {
	display: inline-block;
	text-decoration: underline;
}

.style--entry-body a[target="_blank"]:after {
	position: relative;
	top: 3px;
	display: inline-block;
	width: 17px;
	height: 17px;
	margin: 0 2px;
	content: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+DQoJPHN0eWxlPi5pbmxpbmUtc3ZnLS1saW5lIHsgZmlsbDogbm9uZTsgc3Ryb2tlOiBjdXJyZW50Q29sb3I7IHN0cm9rZS13aWR0aDogaW5oZXJpdDsgc3Ryb2tlLW1pdGVybGltaXQ6IDEwOyB9PC9zdHlsZT4NCgk8cGF0aCBjbGFzcz0iaW5saW5lLXN2Zy0tbGluZSIgZD0iTTE3LjksMTEuOXY0LjZjMCwwLjYtMC40LDEtMSwxSDcuMWMtMC42LDAtMS0wLjQtMS0xVjcuNGMwLTAuNiwwLjQtMSwxLTFoNC43Ii8+PGxpbmUgY2xhc3M9ImlubGluZS1zdmctLWxpbmUiIHgxPSIxMS45IiB5MT0iMTIiIHgyPSIxOC40IiB5Mj0iNS41Ii8+PHBvbHlsaW5lIGNsYXNzPSJpbmxpbmUtc3ZnLS1saW5lIiBwb2ludHM9IjE4LjQsOS4zIDE4LjQsNS41IDE0LjYsNS41ICIvPg0KPC9zdmc+");
}

/* ----------------------------------------------------------------------- */
/* DIVIDER */
.style--entry-body hr {
	border: none;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

/* ============================================================================================== */
/* Banner                                                                                         */
/* ============================================================================================== */
/*
 * Banner
 * - standard 
 * - primary
 * - hero
 *
 * - relation list
 *  - type : button list
 *  - type : product list
 *  - type : button (side) list
 */
/* ============================================================================================== */
/* 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 : navigate-btn
 */
.btn {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: -webkit-inline-flex;
	display: inline-flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	box-sizing: border-box;
	text-decoration: none;
	/*transition: 0.2s ease;*/
	transition: 0.1s ease;
	transition-property: border, background, color;
	font-weight: 700;
}

.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: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: 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: 3px;
	box-sizing: border-box;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	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: inherit;
	border: 1px solid #000;
	content: "";
	backface-visibility: hidden;
	transition: opacity 0.2s ease;
}

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

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

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

/* input */

input.btn {
	border: 1px solid rgba(0,0,0,0.4) !important;
}

input.btn.weak:hover {
	border: 1px solid rgba(0,0,0,1) !important;
	background-color: transparent;
}

/* weak */

.btn.weak {
	color: rgba(0,0,0,0.6);
	background-color: transparent !important;
}

.btn.weak:before {
	border-width: 1px;
	border: 1px solid rgba(0,0,0,0.4);
	opacity: 1;
}

a:hover .btn.weak,
.btn.weak:hover {
	color: #555;
	background-color: transparent;
}

a:hover .btn.weak:before,
.btn.weak:hover:before {
	border: 1px solid rgba(0,0,0,1);
}

a:active .btn.weak,
.btn.weak:active {
	color: #fff;
	background-color: #555;
}

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

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

a:hover .btn.primary,
.btn.primary:hover {
	color: #fff;
	/*
	background-color: #000;
	*/
	background-color: #f25c47
}

a:hover .btn.primary:before,
.btn.primary:hover:before {
	border-color: #f25c47;
}

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

/* secondary */

.btn.secondary {
	border-color: #766d52;
	color: #766d52;
}

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

a:hover .btn.secondary,
.btn.secondary:hover {
	color: #fff;
	background-color: #766d52;
}

a:hover .btn.secondary:before,
.btn.secondary:hover:before {
	border-color: #766d52;
}

a:active .btn.secondary,
.btn.secondary:active {
	color: #fff;
	background-color: #766d52;
}

/* warning */
.btn.warning {
	color: #c50000;
	border-color: rgba(197,0,0,0.4);
}

a:hover .btn.warning,
.btn.warning:hover {
	color: #fff;
	background-color: #c50000;
}

a:hover .btn.warning:before,
.btn.warning:hover:before {
	border-color: #c50000;
}

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

/* decoration */
.no-deco a,
.no-deco {
	text-decoration: none;
}

.no-deco a:hover,
.no-deco:hover {
	text-decoration: none;
}

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

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

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

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

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

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



@media screen and (min-width: 400px) {
	
	.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;
	}
	
}

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

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

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

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



/* ----------------------------------------------------------------------- */
/* 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--size-xs .icon {
	font-size: 70%;
}

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

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

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

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

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

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

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

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

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

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

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

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

.btn.btn--size-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--size-xs {
	height: 20px;
}

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

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

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

.msie .btn.btn--size-xs .icon:first-child,
.msie .btn.btn--size-xs .icon:last-child,
.msie .btn.btn--size-xs .icon:only-child,
.msie .btn.btn--size-s .icon:first-child,
.msie .btn.btn--size-s .icon:last-child,
.msie .btn.btn--size-s .icon:only-child,
.msie .btn.btn--size-l .icon:first-child,
.msie .btn.btn--size-l .icon:last-child,
.msie .btn.btn--size-l .icon:only-child,
.msie .btn.btn--size-xl .icon:first-child,
.msie .btn.btn--size-xl .icon:last-child,
.msie .btn.btn--size-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: #000;
	border: 1px solid #000;
}

a:hover .btn--fill,
.btn--fill:hover {
	color: #000 !important;
	background-color: transparent !important;
	/*box-shadow: 0 0 10px rgba(0, 0, 0, 0.2) !important;*/
}

a:active .btn--fill,
.btn--fill:active {
	box-shadow: 0 0 0 rgba(0, 0, 0, 0.15);
}

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

/* weak */

a .btn--fill.weak,
.btn--fill.weak {
	background-color: #555 !important;
	color: white;
	border: none;
	border: 1px solid #555 !important;
}

a:hover .btn--fill.weak,
.btn--fill.weak:hover {
	background-color: transparent !important;
}

/* primary */
a .btn--fill.primary,
.btn--fill.primary {
	color: white;
	background-color: #f25c47;
	border: 1px solid #f25c47 !important;
	/*
	font-weight: 500;
	*/
}

a:hover .btn--fill.primary,
.btn--fill.primary:hover {
	background-color: transparent; !important;
	/*
	border-color: #f25c47 !important;
	font-weight: 500 !important;
	*/
	border: 1px solid #f25c47 !important;
	color: #f25c47 !important;
}

/* secondary */
.btn--fill.secondary,
.btn--fill.secondary {
	background-color: #766d52 !important;
	color: white !important;
	border: none;
	border: 1px solid #766d52 !important;
}

a:hover .btn--fill.secondary,
.btn--fill.secondary:hover {
	background-color: transparent !important;
	color: #766d52 !important;
}

/* warning */
.btn--fill.warning {
	background-color: #c50000 !important;
	border: 1px solid #c50000 !important;
}

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

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


/* ----------------------------------------------------------------------- */
/* type : free-btn */
/* ----------------------------------------------------------------------- */
/*.btn.btn--free {
	color: #000;
	background-color: rgba(255, 255, 255, 0.9);
}

a:hover .btn--free,
.btn--free:hover {
}*/


/* ----------------------------------------------------------------------- */
/* type : card-btn */
/* ----------------------------------------------------------------------- */
.btn.btn--card,
.btn.btn--arrow-card,
.btn.btn--arrow-card-l {
	display: inline-block;
	border-bottom: none;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2), 0 1px 0 rgba(0, 0, 0, 0.05);
	background-color: #fff;
	border-radius: 5px;
	text-align: left;
	white-space: normal;
}

.btn.btn--card:before,
.btn.btn--arrow-card:before,
.btn.btn--arrow-card-l:before {
	display: none;
}

a.btn.btn--card:hover,
a.btn.btn--arrow-card:hover,
a.btn.btn--arrow-card-l:hover {
	box-shadow: 0 4px 10px rgba(0, 49, 114, 0.2), 0 1px 0 rgba(0, 0, 0, 0.05);
	text-decoration: none;
}

/* 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 : list item */
/* ----------------------------------------------------------------------- */

.btn.list__item {
	border: none;
	box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.1);
	background-color: #fff;
	text-align: left;
	white-space: normal;
	position: relative;
	overflow: hidden;
	border-radius: none;
	letter-spacing: 0.1rem;
	padding: 0;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	-webkit-transition: all .2s ease;
	-moz-transition: all .2s ease;
	-o-transition: all .2s ease;
	transition: all .2s ease;
}

.btn.list__item a,
a.btn.list__item {
	text-decoration: none !important;
	line-height: 0;
	height: 100%;
	width: 100%;
}

.btn.list__item:before {
	display: none;
}

.btn.list__item:hover {
	box-shadow: 0px 6px 12px 0px rgba(0, 0, 0, 0.1);
	/*
	box-shadow: 0 4px 10px rgba(0, 49, 114, 0.2), 0 1px 0 rgba(0, 0, 0, 0.05);
	*/
}

.list__item.list__item--s {
	width: 180px;
}

.list__item.list__item--m {
	width: 230px;
}

.list__item.list__item--l {
	width: 300px;
}

.radius--s {
	border-radius: 2px;
}

.radius--m {
	border-radius: 3px;
}

.radius--l {
	border-radius: 4px;
}

.radius--xl {
	border-radius: 5px;
}

.radius--max {
	border-radius: 50px;
}

/* ----------------------------------------------------------------------- */
/* type : text */
/* ----------------------------------------------------------------------- */
.btn.btn--txt {
	padding: 2px;
	font-weight: inherit;
	line-height: 1;
	min-height: auto;
	height: auto;
	/*
	display: inline-block;
	*/
}

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

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

/* ----------------------------------------------------------------------- */
/* type : text anchor */
/* ----------------------------------------------------------------------- */

.link--txt--underline {
	text-decoration: underline !important;
}

.link--txt--underline:hover {
	text-decoration: none !important;
}

.current.link--txt--underline {
	text-decoration: none !important;
}

/* ----------------------------------------------------------------------- */
/* 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 {
	content: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPg0KPHN0eWxlPi5pbmxpbmUtc3ZnLS1saW5lLXJvdW5kIHsgZmlsbDogbm9uZTsgc3Ryb2tlOiBjdXJyZW50Q29sb3I7IHN0cm9rZS13aWR0aDogaW5oZXJpdDsgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kOyBzdHJva2UtbGluZWpvaW46IHJvdW5kOyBzdHJva2UtbWl0ZXJsaW1pdDogMTA7IH08L3N0eWxlPg0KPGNpcmNsZSBjbGFzcz0iaW5saW5lLXN2Zy0tbGluZS1yb3VuZCIgY3g9IjEyIiBjeT0iMTIiIHI9IjcuNiIvPjxwb2x5bGluZSBjbGFzcz0iaW5saW5lLXN2Zy0tbGluZS1yb3VuZCIgcG9pbnRzPSIxNS4yLDEwLjQgMTIsMTQgOC44LDEwLjQgIi8+DQo8L3N2Zz4=");
	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 : navigate-btn */
/* ----------------------------------------------------------------------- */
.navigate-btn {
	position: relative;
	display: inline-flex;
	padding-left: calc(50px + 1.5em);
	text-decoration: none;
	text-transform: uppercase;
}

.navigate-btn:before,
.navigate-btn:after {
	position: absolute;
	right: auto;
	left: 0;
	top: 0;
	bottom: 0;
	content: "";
	width: 50px;
	height: 1px;
	margin: auto;
	background-color: currentColor;
}

.navigate-btn:before {
	opacity: 0.1;
	transition: 0.25s ease;
}

.navigate-btn:after {
	opacity: 0.75;
	animation: navigateHorizonDefaultForward 2s infinite cubic-bezier(0.77, 0, 0.18, 1);
}

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

.navigate-btn:hover:after {
	opacity: 1;
	text-decoration: none;
}

.navigate-btn--inner {
	position: relative;
	overflow: hidden;
}

.navigate-btn--inner:before {
	position: absolute;
	left: 0;
	right: auto;
	top: auto;
	bottom: 0.3em;
	display: block;
	width: 0%;
	height: 25%;
	content: "";
	opacity: 0.5;
	background-color: currentColor;
}

a:hover .navigate-btn .navigate-btn--inner:before,
.navigate-btn:hover .navigate-btn--inner:before {
	animation: navigateBaseBg 0.5s 1 ease;
}

@keyframes navigateBaseBg {
	0% {
		width: 0;
	}
	45% {
		width: 100%;
	}
	55% {
		width: 100%;
		left: 0;
	}
	100% {
		width: 0%;
		left: 100%;
	}
}
/* Default */
@keyframes navigateBaseBgReverse {
	0% {
		width: 0;
		right: auto;
	}
	45% {
		width: 100%;
	}
	55% {
		width: 100%;
		left: 0;
	}
	100% {
		width: 0%;
		right: auto;
		left: 100%;
	}
}
@keyframes navigateHorizonDefaultForward {
	0% {
		width: 0;
	}
	45% {
		width: 50px;
	}
	55% {
		width: 50px;
		left: 0;
	}
	100% {
		width: 0;
		left: 50px;
	}
}
/* -------------------------------------- */
.navigate-btn--back:after {
	animation: navigateHorizonBack 2s infinite cubic-bezier(0.77, 0, 0.18, 1);
}

.navigate-btn--back:hover:before,
.navigate-btn--back:hover:after {
	height: 1px;
}

a:hover .navigate-btn--back .navigate-btn--inner:before,
.navigate-btn--back:hover .navigate-btn--inner:before {
	left: auto;
	right: 0;
	animation-name: navigateBaseBgReverse;
}

@keyframes navigateHorizonBack {
	0% {
		width: 0;
		left: 50px;
	}
	45% {
		width: 50px;
		left: 0;
	}
	55% {
		width: 50px;
	}
	100% {
		width: 0;
	}
}
/* -------------------------------------- */
.navigate-btn--forward {
	padding-left: 0;
	padding-right: calc(50px + 1.5em);
}

.navigate-btn--forward:before,
.navigate-btn--forward:after {
	right: 0;
	left: auto;
}

.navigate-btn--forward:after {
	animation: navigateHorizonForward 2s infinite cubic-bezier(0.77, 0, 0.18, 1);
}

.navigate-btn--forward:hover:before,
.navigate-btn--forward:hover:after {
	height: 1px;
}

@keyframes navigateHorizonForward {
	0% {
		width: 0;
		right: 50px;
	}
	45% {
		width: 50px;
		right: 0;
	}
	55% {
		width: 50px;
	}
	100% {
		width: 0;
	}
}
/* -------------------------------------- */
.navigate-btn--up {
	padding-left: 0;
	padding-right: 1.5em;
}

.navigate-btn--up:before,
.navigate-btn--up:after {
	top: auto;
	bottom: 0.5em;
	right: 0;
	left: auto;
	height: 1em;
	width: 1px;
}

.navigate-btn--up:after {
	animation: navigateVirticalUp 2s infinite cubic-bezier(0.77, 0, 0.18, 1);
}

.navigate-btn--up:hover:before,
.navigate-btn--up:hover:after {
	width: 1px;
}

@keyframes navigateVirticalUp {
	0% {
		height: 0;
	}
	45% {
		height: 1em;
	}
	55% {
		height: 1em;
		bottom: 0.5em;
	}
	100% {
		height: 0;
		bottom: calc(1em + 0.5em);
	}
}
/* -------------------------------------- */
.navigate-btn--down {
	padding-left: 0;
	padding-right: 1.5em;
}

.navigate-btn--down:before,
.navigate-btn--down:after {
	top: 0.5em;
	bottom: auto;
	right: 0;
	left: auto;
	height: 25px;
	width: 1px;
}

.navigate-btn--down:after {
	animation: navigateVirticalDown 2s infinite cubic-bezier(0.77, 0, 0.18, 1);
}

.navigate-btn--down:hover:before,
.navigate-btn--down:hover:after {
	width: 1px;
}

@keyframes navigateVirticalDown {
	0% {
		height: 0;
	}
	45% {
		height: 25px;
	}
	55% {
		height: 25px;
		top: 0.5em;
	}
	100% {
		height: 0;
		top: calc(25px + 0.5em);
	}
}
/*
 * Module / admin
 */
/* ============================================================================================== */
/* Module / document container                                                                    */
/* ============================================================================================== */
/* Article free area */
/* CMSを利用した投稿記事部分など、プレーンなタグで整形を行う場合 */
.document-container {
	font-size: 1.3rem;
}

.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;
}

.document-container h1 {
	font-size: 2.8rem;
	font-weight: 300;
}

.document-container h2 {
	font-size: 2.2rem;
	font-weight: 300;
	padding: 0;
}

.document-container h3 {
	font-size: 2.0rem;
	font-weight: 400;
}

.document-container h4 {
	font-size: 1.6rem;
	font-weight: 500;
}

.document-container h5,
.document-container h6 {
	font-size: 1.4rem;
	font-weight: 700;
}

/* p */
.document-container p {
	line-height: 2;
	margin: 1.5em 0;
	/*word-break: break-all;*/
}

.document-container p:first-child {
	margin-top: 0;
}

.document-container hr {
	margin: 2em 0;
}

@media screen and (min-width: 768px) {
	.document-container {
		font-size: 1.45rem;
	}

	.document-container h1 {
		font-size: 3.4rem;
	}

	.document-container h2 {
		font-size: 3.0rem;
	}

	.document-container h3 {
		font-size: 2.6rem;
	}

	.document-container h4 {
		font-size: 2.2rem;
	}

	.document-container h5,
	.document-container h6 {
		font-size: 1.8rem;
	}
}
/* ----------------------------------------------------------------------- */
/* 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-weight: 700;
	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%;
}

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

/* ============================================================================================== */
/* Module / Form                                                                                  */
/* ============================================================================================== */
/* ----------------------------------------------- */
/* form layout */
/*.mp-form-header {
	margin-bottom: 40px;
	font-size: 1.4rem;
}
*/

/* ------------------------------- */
/*.mp-input-container {
	margin-bottom: 30px;
}
*/

/* --- or --- */
.mp-input-table {
	/*display: flex;*/
	/*justify-content: space-between;*/
	/*margin-bottom: 30px;*/
	/*padding-bottom: 10px;*/
}

.mp-input-table-cell {
	margin-bottom: 10px;
}

.mp-input-table-cell:last-child {
	margin-bottom: 0;
}

.flex--left .mp-input-table {
	margin: 0 0 10px;
}

/* ------------------------------- */
/*modal*/

.mp-input-list {
	border-top: 1px solid rgba(0, 0, 0, 0.1);
	margin-bottom: 25px;
}

.mp-input-list li {
	padding: 15px 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.mp-input-list-item {
	display: flex;
	flex-wrap: wrap;
}

/* ------------------------------- */
/*.input-lbl {
	font-weight: 500;
	padding-bottom: 5px;
}

.required .input-lbl:after {
	content: "【必須】";
	color: #f00;
	text-indent: -2px;
	margin-right: -8px;
}

.mp-input-container .input-lbl {
	display: block;
}
*/

.required {
	color: #c50000;
	font-size: 80%;
}

/* ------------------------------- */
.mp-input-table > .input-lbl,
.mp-input-table-cell > .input-lbl {
	/*display: flex;
	flex-shrink: 0;
	align-items: baseline;
	justify-content: flex-end;*/
	/*width: 180px;*/
	padding-left: 2px;
	padding-top: 7px;
	padding-right: 2px;
	box-sizing: border-box;
}

.mp-input-table > .input-lbl + .input-elm,
.mp-input-table-cell > .input-lbl + .input-elm {
	/*flex-grow: 1;
	width: 100%;*/
	padding-right: 10px;
	padding-left: 0;
}

.mp-input-table > .input-lbl:first-child,
.mp-input-table-cell > .input-lbl:first-child {
	padding-left: 0;
}

.input-elm > *:first-child {
	margin-top: 0;
}

.input-elm > .error:first-child {
	padding-top: 7px;
	margin-top: 0;
}

.mp-input-table-block {
	margin-bottom: 10px;
}

.mp-input-table-block > .input-lbl {
	display: block;
	margin-bottom: 10px;
}

.flex--left {
	-webkit-justify-content: flex-start !important;
	justify-content: flex-start !important;
}

.flex--left .input-elm {
	margin-right: 15px;
}

.flex--left .check-elm {
	margin-left: 20px;
}

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

.input-note {
	margin: 10px 0;
	color: #777;
	font-size: 1.1rem;
	font-weight: 200;
	line-height: 1.5;
}

/*
.mp-input-table-block .mp-input-unit {
	padding-left: 2px;
	padding-top: 7px;
	padding-right: 2px;
}
*/

/* ------------------------------- */
/*
.input-grp {
	margin: 0 0 10px;
	padding-left: 0;
	display: flex;
	align-items: center;
}

.input-grp:last-child {
	margin-bottom: 0;
}
*/

/* horizontal direction */
/*.input-grp--list {
	display: flex;
	flex-wrap: wrap;
}

.input-grp--list > * {
	width: 150px;
	width: calc(25% - 20px);
	min-width: 150px;
	max-width: 190px;
}
*/

/* vertical direction */
/*
.input-grp--v-list > * {
	border-top: 1px dashed rgba(0, 0, 0, 0.1);
}
*/

/* ------------------------------- */
.input--large-control {
	font-size: 1.4rem;
}

.input--large-control .control-item > label {
	display: flex;
	align-items: center;
	padding: 20px 0;
}

.input--large-control .control-item .control {
	margin-right: 20px;
	margin-left: 20px;
}

.input--large-control .lbl {
	flex-basis: calc(100% - 180px);
}

.input--large-control .control-item:not(.current) label {
	font-weight: 400;
}

.input--large-control .current-item {
	flex-basis: 120px;
	margin: 0;
	font-size: 1.25rem;
	text-align: right;
}

.input--large-control .current-item .icon {
	width: 36px;
	height: 36px;
}

.input--large-control .input-grp__aside {
	width: 630px;
	margin: 0 0 0 auto;
	padding: 10px 0;
	box-sizing: border-box;
}

.input--large-control label + .input-grp__aside {
	width: 630px;
	margin: 0 0 0 auto;
}

.input--large-control .input-grp__aside .mp-input-container {
	margin-bottom: 20px;
}

.input--large-control .input-grp__aside .control {
	margin-left: 0 !important;
}

/* ------------------------------- */
.mp-input {
	margin-right: 10px;
}

.mp-input:last-child {
	margin-right: 0;
}

/*
.mp-input-unit {
	padding-left: 2px;
	padding-top: 7px;
	padding-right: 2px;
}
*/

/*
.mp-input-unit:first-child {
	padding-left: 0;
}
*/

.mp-input--10px {
	width: 10px;
}

.mp-input--20px {
	width: 20px;
}

.mp-input--30px {
	width: 30px;
}

.mp-input--40px {
	width: 40px;
}

.mp-input--50px {
	width: 50px;
}

.mp-input--60px {
	width: 60px;
}

.mp-input--70px {
	width: 70px;
}

.mp-input--80px {
	width: 80px;
}

.mp-input--90px {
	width: 90px;
}

.mp-input--100px {
	width: 100px;
}

.mp-input--110px {
	width: 110px;
}

.mp-input--120px {
	width: 120px;
}

.mp-input--130px {
	width: 130px;
}

.mp-input--140px {
	width: 140px;
}

.mp-input--150px {
	width: 150px;
}

.mp-input--160px {
	width: 160px;
}

.mp-input--170px {
	width: 170px;
}

.mp-input--180px {
	width: 180px;
}

.mp-input--190px {
	width: 190px;
}

.mp-input--200px {
	width: 200px;
}

.mp-input--220px {
	width: 220px;
}

.mp-input--240px {
	width: 240px;
}

.mp-input--250px {
	width: 250px;
}

.mp-input--260px {
	width: 260px;
}

.mp-input--270px {
	width: 270px;
}

.mp-input--280px {
	width: 280px;
}

.mp-input--290px {
	width: 290px;
}

.mp-input--300px {
	width: 300px;
}

.mp-input--10p,
.mp-input--20p,
.mp-input--30p,
.mp-input--40p,
.mp-input--50p,
.mp-input--60p,
.mp-input--70p,
.mp-input--80p,
.mp-input--90p,
.mp-input--100p {
	width: 100%;
}

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

	.mp-input--10p {
		width: 10%;
	}
	
	.mp-input--20p {
		width: 20%;
	}
	
	.mp-input--30p {
		width: 30%;
	}
	
	.mp-input--40p {
		width: 40%;
	}
	
	.mp-input--50p {
		width: 50%;
	}
	
	.mp-input--60p {
		width: 60%;
	}
	
	.mp-input--70p {
		width: 70%;
	}
	
	.mp-input--80p {
		width: 80%;
	}
	
	.mp-input--90p {
		width: 90%;
	}
	
	.mp-input--100p {
		width: 100%;
	}
}


.mp-input--1em {
	width: 1em;
}

.mp-input--2em {
	width: 2em;
}

.mp-input--3em {
	width: 3em;
}

.mp-input--4em {
	width: 4em;
}

.mp-input--5em {
	width: 5em;
}

.mp-input--6em {
	width: 6em;
}

.mp-input--7em {
	width: 7em;
}

.mp-input--8em {
	width: 8em;
}

.mp-input--9em {
	width: 9em;
}

.mp-input--10em {
	width: 10em;
}

.mp-input-sup {
	font-size: 1.2rem;
	padding-top: 10px;
}

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

	/* --- or --- */
	.mp-input-table {
		display: flex;
		/*padding-bottom: 10px;*/
	}

	/*#modal-select-stay .mp-input-table label {
		padding-right: 20px;
	}*/
/*
	#modal-select-room .mp-input-list {
		border-top: 0;
	}
*/
	.confirm .mp-input-table {
		padding-bottom: 0;
	}
	
	.mp-input-table-cell {
		margin-bottom: 0;
		margin-right: 15px;
	}
	
	.mp-input-table > .input-lbl,
	.mp-input-table-cell > .input-lbl {
		padding-left: 10px;
		padding-right: 15px;
	}

	/*
	.mp-input-unit {
		padding-left: 10px;
		padding-right: 15px;
	}
	*/

	.mp-input-sup {
	 font-size: 1.2rem;
	}

	/* ------------------------------- */
	/*.mp-input-table > .input-lbl {
		display: flex;
		flex-shrink: 0;
		align-items: baseline;
		justify-content: flex-end;
	}*/
	
	.mp-input-table-block:last-child {
		margin-bottom: 0;
	}

	.mp-input-table-block > .input-lbl {
		display: inline;
		padding-right: 10px;
		margin-bottom: 0;
	}

	/*.mp-input-table-block .mp-input-unit {
		padding-left: 10px;
		padding-right: 10px;
	}*/

	/* ------------------------------- */
	
	.mp-input-list-item {
		-webkit-display: flex;
		display: flex;
		flex-wrap: wrap;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		-webkit-align-items: center;
		align-items: center;
	}

}

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

	.mp-input-table > .input-lbl,
	.mp-input-table-cell > .input-lbl {
		padding-left: 10px;
		padding-right: 10px;
	}

}

/* ---------------------------------------------------------------------------------------------- */
/* Desktop                                                                                        */
/* ============================================================================================== */
/* Icon                                                                                           */
/* ============================================================================================== */
/* SVG icon --------------------------------- */
a .icon img,
a .icon svg {
	opacity: 0.8;
	/*transition: inherit;*/
}

.active .icon img,
.active .icon svg,
a:hover .icon img,
a:hover .icon svg {
	opacity: 1;
}

svg.defaults {
	display: none;
}

.useSVG {
	height: 0;
	width: 0;
	position: absolute;
	top: 0;
}

.i-svg {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	letter-spacing: 0;
	line-height: 0;
	fill: currentColor;
	stroke-width: 0.8;
	/*-webkit-transition: all 0.25s ease;
	transition: all 0.25s ease;*/
	-webkit-transition: all 0.1s ease;
	transition: all 0.1s ease;
	margin-right: 10px;
}

svg,
.i-svg svg {
	/*-webkit-transition: all 0.25s ease;
	transition: all 0.25s ease;*/
	-webkit-transition: all 0.1s ease;
	transition: all 0.1s ease;
}

.information-rel__more .i-svg svg {
	margin-right: 0;
}

.pulldown .i-svg {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
	fill: rgba(0,0,0,0.3);
}

/* 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 */
.i-svg--100 use {
	stroke-width: 0.3;
}

.i-svg--200 use {
	stroke-width: 0.4;
}

.i-svg--300 use {
	stroke-width: 0.5;
}

.i-svg--400 use {
	stroke-width: 0.6;
}

.i-svg--500 use {
	stroke-width: 0.7;
}

.i-svg--600 use {
	stroke-width: 0.8;
}

.i-svg--700 use {
	stroke-width: 0.9;
}

.i-svg--800 use {
	stroke-width: 1.0;
}

.i-svg--900 use {
	stroke-width: 1.1;
}

.i-svg--1000 use {
	stroke-width: 1.2;
}

.i-svg--1100 use {
	stroke-width: 1.3;
}

.i-svg--1200 use {
	stroke-width: 1.4;
}

.i-svg--1300 use {
	stroke-width: 1.5;
}

.i-svg--1400 use {
	stroke-width: 1.6;
}

.i-svg--1500 use {
	stroke-width: 1.7;
}

.i-svg--1600 use {
	stroke-width: 1.8;
}

.i-svg--1700 use {
	stroke-width: 1.9;
}

.i-svg--1800 use {
	stroke-width: 2.0;
}

/* inside */
svg.i-svg--xxs,
.i-svg--xxs svg {
	width: 12px !important;
	height: 12px !important;
}

svg.i-svg--xs,
.i-svg--xs svg {
	width: 18px !important;
	height: 18px !important;
}

svg.i-svg--s,
.i-svg--s svg {
	width: 24px !important;
	height: 24px !important;
}

svg.i-svg--m,
.i-svg--m svg {
	width: 36px !important;
	height: 36px !important;
}

svg.i-svg--l,
.i-svg--l svg {
	width: 48px !important;
	height: 48px !important;
}

svg.i-svg--xl,
.i-svg--xl svg {
	width: 60px !important;
	height: 60px !important;
}

svg.i-svg--xxl,
.i-svg--xxl svg {
	width: 70px !important;
	height: 70px !important;
}

/* ============================================================================================== */
/* UI / Input(text fields & controls)                                                             */
/* ============================================================================================== */
input,
textarea,
select,
button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 0;
	outline: 0;
	padding: 7px;
	box-sizing: border-box;
	border: 1px solid rgba(0, 0, 0, 0.15);
	background: transparent;
	font-family: inherit;
	font-size: 105%;
	transition: 0.2s ease;
}

input:hover,
textarea:hover,
select:hover {
	border-color: rgba(0, 0, 0, 0.3);
}

input:focus,
textarea:focus,
select:focus {
	border-color: #000;
}

input:disabled,
textarea:disabled,
option:disabled,
optgroup:disabled,
select:disabled:disabled {
	background: #f5f5f5;
}

::-webkit-input-placeholder {
	color: #999;
}

::-moz-placeholder {
	color: #999;
}

:-ms-input-placeholder {
	color: #999;
}

input:focus::-webkit-input-placeholder,
textarea:focus::-webkit-input-placeholder {
	color: transparent;
}

input:focus::-moz-placeholder,
textarea:focus::-moz-placeholder {
	color: transparent;
}

input:focus:-ms-input-placeholder
textarea:focus:-ms-input-placeholder {
	color: transparent;
}

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

select{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

select::-ms-expand {
	display: none;
}

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

.input--text,
.input--textarea,
.input--select {
	box-sizing: border-box;
	transition: all 0.1s ease;
	outline: none;
	margin: 2px;
}

.input--text.input--w-max,
.input--textarea.input--w-max,
.input--select.input--w-max {
	width: 100%;
}

.input--textarea {
	font-size: 1.6rem;
}

.input--text:focus,
.input--textarea:focus,
.input--select:focus {
	background: #fff;
}

.control-group {
	padding: 0;
	/*
	margin-bottom: 30px;
	margin: 7px 0;
	border-top: solid 1px rgba(0, 0, 0, 0.1);
	padding-top: 20px;
	margin-top: 30px;
	*/
}

.control-group .control-item {
	display: inline-block;
	margin-right: 10px;
	margin-bottom: 10px;
	/*white-space: nowrap;*/
}

.control-group .control-item:last-child {
	margin-right: 0;
	margin-bottom: 0;
}

.input--control {
	display: none;
}

.input--control + label {
	position: relative;
	/*font-weight: 700;*/
	font-size: 1.3rem;
	/*white-space: nowrap;*/
	margin-right: 20px;
}

.input--control + label .control {
	position: relative;
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-right: 10px;
	border: 2px solid rgba(0, 0, 0, 0.4);
	box-sizing: border-box;
	vertical-align: middle;
}

/* ラジオボタン置き換え */

.send-complete .input--control-box {
	pointer-events: none;
}

.send-complete .input--control + label .control {
	border: 0;
}

.send-complete .input--control + label .control::after {
	content: "済" !important;
	font-weight: 700;
	text-align: center;
	color: #999;
	display: inline-block;
	font-size: 1.7rem;
	line-height: 1;
	width: 100% !important;
	height: 100% !important;
	border-radius: 0 !important;
	background-color: transparent !important;
	transform: none !important;
	margin: 0 auto;
}

.send-complete .control-txt {
	color: #999;
}

.input--control + label .control {
	transition: all 0.2s ease;
}

.input--control + label:hover {
	color: #000;
}

.input--control + label:hover .control {
	border: 2px solid #000;
}

.input--control:checked + label .control {
	border: 2px solid #000;
	opacity: 1;
}

.input--control + label .control:before,
.input--control + label .control:after {
	position: absolute;
	content: "";
	display: inline-block;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	margin: auto;
	box-sizing: border-box;
	transition: all 0.2s ease;
}

.input--control + label .control:before {
	display: none;
}

/* disabled */
.input--control[disabled] + label:hover {
	color: inherit;
}

.input--control[disabled] + label .control {
	border: 2px solid rgba(0, 0, 0, 0.1);
}

.input--control[disabled] + label:hover .control {
	border: 2px solid rgba(0, 0, 0, 0.1);
}

.input--control[disabled] + label .control:before {
	display: block;
	background: black;
	width: 30px;
	height: 1px;
	transform: rotate(-22.5deg) translate(-7px, -3px);
}

.input--control:checked + label .control,
.input--control:checked + label .control:after {
	color: #000;
	opacity: 1;
}

.input--control[type="radio"] + label .control,
.input--control[type="radio"] + label .control:after {
	border-radius: 50%;
}

.input--control[type="radio"] + label .control:after {
	width: 62.5%;
	height: 62.5%;
	background: #000;
	transform: scale(0, 0);
}

.input--control[type="radio"]:checked + label .control:after {
	background: #000;
	transform: scale(1, 1);
}

.input--control[type="checkbox"] + label .control {
	border-radius: 2px;
}

.input--control[type="checkbox"] + label .control:after {
	top: -10%;
	width: 40%;
	height: 70%;
	border-right: 2px solid #FFF;
	border-bottom: 2px solid #FFF;
	transform: scale(0, 0) rotate(45deg);
}

.input--control[type="checkbox"]:checked + label .control {
	background: #000;
}

.input--control[type="checkbox"]:checked + label .control:after {
	transform: scale(1, 1) rotate(45deg);
}

.input--control-box {
	display: flex;
}

.control-txt span {
	display: block;
	font-size: 1.2rem;
	padding-top:5px;
}

/* error */
.error {
	color: #c50000;
	line-height: 1.4;
}

input.error,
select.error,
textarea.error,
.error input,
.error select,
.error textarea {
	background: rgba(255, 0, 0, 0.05);
	color: red;
	border-color: red;
}

/* --------------------------------- */
.input-toggle[type=checkbox] {
	display: none;
}

.input-toggle + label {
	position: relative;
	width: 50px;
	height: 20px;
	background: #aeaeae;
	border-radius: 10px;
	text-align: left;
	cursor: pointer;
	display: block;
	transition: 0.3s cubic-bezier(0.03, 0.48, 0.43, 1.18);
	-webkit-tap-highlight-color: transparent;
	tap-highlight-color: transparent;
}

.input-toggle + label:after {
	position: absolute;
	display: inline-block;
	width: 20px;
	height: 20px;
	background: #fff;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.25);
	border-radius: 100%;
	-webkit-transform: translateX(0) scale(1.5);
	-ms-transform: translateX(0) scale(1.5);
	transform: translateX(0) scale(1.5);
	transition: 0.3s cubic-bezier(0.65, 0.05, 0.36, 1);
	transition-property: background, transform;
	content: '';
}

.input-toggle[type=checkbox]:checked + label {
	background: rgba(49, 102, 173, 0.5);
}

.input-toggle[type=checkbox]:checked + label:after {
	background: #146bcf;
	transform: translateX(30px) scale(1.5);
}

/* --------------------------------- */
.input--qty {
	display: inline-block;
	width: 4em;
	padding: 3px 5px;
	font-size: 1.6rem;
	vertical-align: text-bottom;
	text-align: center;
	-moz-appearance: textfield;
}

.input--qty[type="number"]::-webkit-outer-spin-button,
.input--qty[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* --------------------------------- */
.input--select-wrap {
	position: relative;
}

.input--select-wrap:before {
	content: "▼";
	position: absolute;
	display: inline-block;
	right: 12px;
	top: 50%;
	transform: translateY(-50%) scale(0.75);
	color: rgba(0, 0, 0, 0.3);
	font-size: 9px;
	z-index: 2;
	transition: 0.2s ease;
	pointer-events: none;
}

.input--select-wrap:hover:before {
	color: black;
}

.input--select-wrap select,
.input--select {
	position: relative;
	z-index: 1;
	padding-right: 30px;
}

.msie .input--select-wrap:before {
	display: none;
}

.msie .input--select-wrap select {
	padding-right: 10px;
}

.input--textarea::-webkit-input-placeholder,
.input--text::-webkit-input-placeholder {
	color: #777;
}

.input--textarea::-moz-placeholder,
.input--text::-moz-placeholder {
	color: #777;
}

.input--textarea::placeholder,
.input--text::placeholder {
	color: #777;
}

/*
.input-form-step__confirm .page-header__page-title {
	font-size: 1.6rem;
	font-weight: bold;
}

.input-form-step__confirm tr {
	border-bottom: 1px solid rgba(0,0,0,0.1);
}

.input-form-step__confirm th {
	color: #999;
}

.input-form-step__confirm td {
	color: #000;
	font-size: 2.5rem;
}

.input-form-step__confirm .input-textarea td {
	font-size: 1.5rem;
}

.input-form-step__confirm .control-group li:after {
	content: ", ";
}

.input-form-step__confirm .control-group li:last-child:after {
	content: "";
}

.input-form-step__confirm .control-group li {
	display: inline-block;
}



.input-form-step__finish {
	margin: 50px auto;
}

.input-form-step__finish.inner-container.container-style--card {
	padding: 50px 0px;
	margin-bottom: 50px;
	height: 50vh;
	min-height: 300px;
}

.input-form-step__finish .apply-intro__title {
	font-size: 3.5rem;
	line-height: 4.5rem;
	font-weight: normal;
	letter-spacing: -0.1rem;
}
*/
/* --------------------------------- */
/* password strength */
.pw-strength-outer {
	position: relative;
}

.pw-strength-label {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.pw-strength-result {
	position: relative;
	right: 0;
	top: 0;
	height: 3px;
	width: 80px;
	background: #ddd;
	border-radius: 5px;
	overflow: hidden;
}

.pw-strength-result:before {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	content: "";
	width: 0%;
	height: 100%;
	background: #999;
	transition: 0.2s ease-out;
}

.pw-strength-result.score1:before {
	width: 25%;
	background: #ff5656;
}

.pw-strength-result.score2:before {
	width: 50%;
	background: #ffa200;
}

.pw-strength-result.score3:before {
	width: 75%;
	background: #56b7ff;
}

.pw-strength-result.score4:before {
	width: 100%;
	background: #62bd00;
}

/* width */
.input--width-10px {
	width: 10px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.input--width-10p {
	width: 10%;
}

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

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

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

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

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

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

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

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

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

.input--width-1em {
	width: 1em;
}

.input--width-2em {
	width: 2em;
}

.input--width-3em {
	width: 3em;
}

.input--width-4em {
	width: 4em;
}

.input--width-5em {
	width: 5em;
}

.input--width-6em {
	width: 6em;
}

.input--width-7em {
	width: 7em;
}

.input--width-8em {
	width: 8em;
}

.input--width-9em {
	width: 9em;
}

.input--width-10em {
	width: 10em;
}

/*
 * Layout / global-footer
 *  - Text align
 *  - Break
 *  - Attribute
 */
/* ============================================================================================== */
/* Letter, glyph                                                                                  */
/* ============================================================================================== */

body {
	color: rgba(0,0,0,0.8);
	font: normal 400 1.2rem/1 'Roboto', 'Noto Sans JP', 'Yu Gothic', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Meiryo', sans-serif;
	font-feature-settings: normal;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-feature-settings: 'palt' 1;
	color: #000;
}

.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;
	*/
	position: relative;
	width: 100%;
}

.information-rel__txt.overflow-ellipsis {
	height: 6rem;
}

.information-rel__ttl.overflow-ellipsis {
	height: 4rem;
}

.overflow-ellipsis:before {
	content: "";
	position: absolute;
	width: 100%;
	height: 20px;
	right: 0;
	left: 0;
	bottom: 0;
	margin: auto;
	z-index: 10;
	background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,1));
}


/* 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: 'Playfair Display', Garamond, Baskerville, Baskerville Old Face, Hoefler Text, Times New Roman, 'HiraMinProN-W3', "Hiragino Mincho ProN", "Yu Mincho", 'YuMincho', 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: 700;
}

.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 - 欧文フォント優先 */
.text-en,
.text-en-100,
.text-en-200,
.text-en-300,
.text-en-400,
.text-en-500,
.text-en-600,
.text-en-700,
.text-en-800,
.text-en-900 {
	font-family: 'Roboto', sans-serif;
}

.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: 700;
}

.text-en-700 {
	font-weight: 700;
}

.text-en-800 {
	font-weight: 800;
}

.text-en-900 {
	font-weight: 800;
}

/* Sans-serif - 和文フォント優先 */
.text-ja,
.text-ja-200,
.text-ja-200,
.text-ja-300,
.text-ja-400,
.text-ja-500,
.text-ja-600,
.text-ja-700,
.text-ja-800,
.text-ja-900 {
	font-family: 'Noto Sans JP', 'Yu Gothic', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Meiryo', 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-ja,
.windows .text-ja-100,
.windows .text-ja-200,
.windows .text-ja-300,
.windows .text-ja-400,
.windows .text-ja-500,
.windows .text-ja-600,
.windows .text-ja-700,
.windows .text-ja-800,
.windows .text-ja-900 {
	transform: rotate(0.029deg);
}

/* Condensed */
.text-en.-condensed,
.text-en-200.-condensed,
.text-en-200.-condensed,
.text-en-300.-condensed,
.text-en-400.-condensed,
.text-en-500.-condensed,
.text-en-600.-condensed,
.text-en-700.-condensed,
.text-en-800.-condensed,
.text-en-900.-condensed {
	font-family: 'Roboto Condensed', 'Noto Sans JP', sans-serif;
}

.text-en-200.-condensed {
	font-weight: 200;
}

.text-en-300.-condensed {
	font-weight: 300;
}

.text-en-400.-condensed {
	font-weight: 400;
}

.text-en-500.-condensed {
	font-weight: 500;
}

.text-en-600.-condensed {
	font-weight: 700;
}

.text-en-700.-condensed {
	font-weight: 700;
}

.text-en-800.-condensed {
	font-weight: 800;
}

.text-en-900.-condensed {
	font-weight: 900;
}

/*

特定のフォーマットを使いまわすページについては
そのページのcssファイルにフォントを指定する

それ以外のイレギュラーなレイアウトなどを行う
必要があるページに関しては以下のクラスなどを付与する。

*/
/* serif */
.text-serif-100,
.text-serif-200 {
	font-family: 'Playfair Display', 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', YuMincho, "Meiryo", serif;
	letter-spacing: 0.15em;
}

.text-serif-300 {
	font-family: 'Playfair Display', 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', YuMincho, "Meiryo", serif;
	letter-spacing: 0.15em;
}

.text-serif-400 {
	font-family: 'Playfair Display', 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', YuMincho, "Meiryo", serif;
	letter-spacing: 0.15em;
}

.text-serif,
.text-serif-500,
.text-serif-600 {
	font-family: 'Playfair Display', 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', YuMincho, "Meiryo", serif;
	letter-spacing: 0.15em;
}

.text-serif-700,
.text-serif-800,
.text-serif-900 {
	font-family: 'Playfair Display', 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', YuMincho, "Meiryo", serif;
	letter-spacing: 0.15em;
}

.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;
}

/* ----------------------------------------------------------------------- */
/* 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: #000 !important;
}

.color--secondary {
	color: #000 !important;
}

.color--important {
	color: #f25c47 !important;
}

.color--warning {
	color: #c50000 !important;
}

.color--current {
	color: #4d9400 !important;
}

.color--inherit {
	color: inherit !important;
}

/* ============================================================================================== */
/* Media query                                                                                    */
/* ============================================================================================== */
/* ---------------------------------------------------------------------------------------------- */
/* SmartPhone                                                                                     */
/* iPhone 6 over */
@media screen and (min-width: 374px) {
	.tbbr {
		display: none;
	}

	.pcbr {
		display: none;
	}

	.spbr {
		display: inline-block;
	}

	.spcenter {
		text-align: center;
	}
}
/* ---------------------------------------------------------------------------------------------- */
/* Tablet                                                                                         */
@media screen and (min-width: 541px) {
	.spbr {
		display: none;
	}

	.tbbr {
		display: inline-block;
	}

	.tbcenter {
		text-align: center;
	}
}
/* iPad (768px) */
@media screen and (min-width: 768px) {
	.spbr {
		display: none;
	}

	.tbbr {
		display: inline-block;
	}

	.tbcenter {
		text-align: center;
	}
}
/* ---------------------------------------------------------------------------------------------- */
/* Desktop                                                                                        */
@media screen and (min-width: 1024px) {
	.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-modal {
	/* 1 */
	display: none;
	/* 2 */
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1060;
	/* 3 */
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	/* 4 */
	padding: 15px 15px;
	/* 5 */
	background: rgba(0, 0, 0, 0.2);
	/* 6 */
	opacity: 0;
	-webkit-transition: opacity 0.15s linear;
	transition: opacity 0.15s linear;
}

/* Phone landscape and bigger */
@media (min-width: 640px) {
	.uk-modal {
		padding: 50px 30px;
	}
}
/* Tablet landscape and bigger */
@media (min-width: 960px) {
	.uk-modal {
		padding-left: 40px;
		padding-right: 40px;
	}
}
/* Open */
.uk-modal.uk-open {
	opacity: 1;
}

/* ========================================================================
 * Page */
/* Prevent scrollbars */
.uk-modal-page {
	/*overflow: hidden;*/
}

/*.g-header,*/
/*.g-footer,*/
.main-wrapper {
	transition: filter 0.2s ease;
}

.uk-modal-page .g-header,
.uk-modal-page .g-footer,
.uk-modal-page .main-wrapper,
.uk-modal-page .inner-wrap {
	filter: blur(2px);
}

/* ========================================================================
 * Dialog */
/*
 * 1. Create position context for spinner and close button
 * 2. Dimensions
 * 3. Style
 * 4. Slide-in transition
 */
.uk-modal-dialog {
	/* 1 */
	position: relative;
	/* 2 */
	box-sizing: border-box;
	margin: 0 auto;
	width: 640px;
	max-width: 100%;
	background: #fff;
	/* 3 */
	background: #fff;
	/* 4 */
	opacity: 0;
	border-radius: 5px;
	transform: translateY(10px);
	transition: 0.2s cubic-bezier(0.65, 0.05, 0.36, 1);
	transition-property: opacity, transform;
	box-shadow: 0 15px 20px rgba(0, 0, 0, 0.2);
}

/* Open */
.uk-open > .uk-modal-dialog {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

/* ========================================================================
 * Size modifier */
/*
 * Container size
 * Take the same size as the Container component
 */
.uk-modal-container .uk-modal-dialog {
	width: 1200px;
}

/*
 * Full size
 * 1. Remove padding and background from modal
 * 2. Reset all default declarations from modal dialog
 */
/* 1 */
.uk-modal-full {
	padding: 0;
	background: none;
}

/* 2 */
.uk-modal-full .uk-modal-dialog {
	margin: 0;
	width: 100%;
	max-width: 100%;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

/* ========================================================================
 * Sections */

.uk-modal-body {
	padding: 30px 30px 20px
}

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

	.uk-modal-body {
		padding: 40px 40px 30px;
	}

}

.uk-modal-header {
	padding: 25px 30px;
	border-bottom: 1px solid #e5e5e5;
}

.uk-modal-footer {
	padding: 0;
	padding: 20px 30px;
	border-top: 1px solid #e5e5e5;
}

/* Micro clearfix */
.uk-modal-body::before,
.uk-modal-body::after,
.uk-modal-header::before,
.uk-modal-header::after,
.uk-modal-footer::before,
.uk-modal-footer::after {
	content: "";
	display: table;
}

.uk-modal-body::after,
.uk-modal-header::after,
.uk-modal-footer::after {
	clear: both;
}

/*
 * Remove margin from the last-child
 */
.uk-modal-body > :last-child,
.uk-modal-header > :last-child,
.uk-modal-footer > :last-child {
	margin-bottom: 0;
}

/* ========================================================================
 * Title */
.uk-modal-title {
	font-size: 2rem;
	line-height: 1.3;
}

/* ========================================================================
 * Title */
.uk-modal-subtxt {
	font-size:1.3rem;
	padding-bottom: 28px;
}

/* ========================================================================
 * pulldown ttl */

.pulldown__ttl {
	font-size: 1.5rem;
}

/* ========================================================================
 * Close
 * Adopts `uk-close`
 * ======================================================================== */
[class*='uk-modal-close-'] {
	position: absolute;
	z-index: 1010;
	top: 10px;
	right: 10px;
	padding: 5px;
}

/*
 * Remove margin from adjacent element
 */
[class*='uk-modal-close-']:first-child + * {
	margin-top: 0;
}

/* Hover */
/* Default */
/* Outside */
.uk-modal-close-outside {
	top: 0;
	right: 0;
	-webkit-transform: translate(100%, -100%);
	transform: translate(100%, -100%);
	color: #ffffff;
}

.uk-modal-close-outside:hover {
	color: #fff;
}

/* Full */
.uk-modal-close-full {
	top: 0;
	right: 0;
	padding: 20px;
	background: #fff;
}

/* ---------------------------------------------------- */
.uk-margin-auto-vertical {
	margin-top: auto !important;
	margin-bottom: auto !important;
	align-self: center;
}

/* ---------------------------------------------------- */
.uk-modal {
	color: #555;
	font-weight: 300;
	line-height: 1.5;
}

.uk-modal-title {
	font-size: 1.5rem;
	font-weight: 500;
	color: #333;
	/*
	padding-bottom: 25px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);;
	*/
	margin-bottom: 15px;
}

.uk-modal-subtitle {
	font-size: 1.2rem;
	font-weight: 500;
	color: #333;
}

.modal-2c {
	display: flex;
	justify-content: space-between;
}

.modal-2c__item {
	width: calc(50% - 20px);
}

.modal-2c img {
	display: block;
	width: 100%;
}

.uk-modal-footer {
	display: flex;
	justify-content: flex-end;
}

.uk-modal-footer > * {
	margin-right: 10px;
}

.uk-modal-footer > *:last-child {
	margin-right: 0;
}

.uk-modal-footer .btn {
	min-width: 100px;
}

.uk-modal .input--large-control .control-item .control {
	margin-right: 20px;
	margin-left: 30px;
}

.uk-modal .input-grp--v-list > *:first-of-type {
	border-top: none;
}

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

/* iframe */
.mdl-wrap.mdl-wrap-ios {
	position: fixed;
	left: 0;
	top: 50px;
	width: 100%;
	height: 100%;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}


/* ========================================================================
 Component: Flex
 ========================================================================== */
.uk-flex {
	display: flex;
}

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

/*
 * Remove pseudo elements created by micro clearfix as precaution
 */
.uk-flex::before,
.uk-flex::after,
.uk-flex-inline::before,
.uk-flex-inline::after {
	display: none;
}

.uk-flex-top {
	-ms-flex-align: start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}

/* ========================================================================
	 Component: Utility
 ========================================================================== */
/* Overfow  */
.uk-overflow-hidden {
	overflow: hidden;
}

/*
 * Enable scrollbars if content is clipped
 */
.uk-overflow-auto {
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

.uk-overflow-auto > :last-child {
	margin-bottom: 0;
}

/* ============================================================================================== */
/* Module / Modal sitemap                                                                         */
/* ============================================================================================== */
.menu-button {
	position: relative;
	margin-right: 10px;
	z-index: 201;
}

.menu-button.close-only {
	position: static;
	top: initial;
	right: initial;
	margin: 0 auto;
	padding: 15px 0;
}

.menu-button.close-only a {
	margin: auto;
}

.menu-button a {
	position: relative;
	height: 40px;
	width: 25px;
	display: block;
	padding: 0;
	overflow: hidden;
	box-sizing: border-box;
	transition: all 0.5s ease;
}

.menu-button a span,
.menu-button a span:before,
.menu-button a span:after {
	position: absolute;
	display: block;
	height: 1px;
	width: 25px;
	padding: 0;
	background: black;
	text-indent: -200px;
	border-radius: 2px;
	transition: all 0.25s ease;
}

.menu-button a span,
.close-menu-button a span {
	top: 20px;
	left: 0px;
	margin-left: 0px;
	transform-origin: center 15px;
}

.menu-button a span:before,
.close-menu-button a span:before {
	top: -7px;
	content: "";
	transform-origin: center center;
}

.menu-button a span:after,
.close-menu-button a span:after {
	top: 7px;
	content: "";
	transform-origin: center center;
}

/*
.menu-button a:hover span,
.menu-button a:hover span:before,
.menu-button a:hover span:after {
	background: rgba(0,0,0,1);
}
*/
.-show .menu-button a span,
.-show .menu-button a span:before,
.-show .menu-button a span:after {
	/*background: rgba(0,0,0,1);*/
	left: 0px;
}

.-show .menu-button a:hover span:before,
.-show .menu-button a:hover span:after {
	/*background: rgba(0,0,0,1);*/
}

.-show .menu-button a span {
	/*background: rgba(0,0,0,0) !important;*/
	width: 0;
	left: -10px;
	transform: translateX(10px);
	transition: all 0.2s ease;
}

.-show .menu-button a span:before {
	transition: all 0.2s ease 0s;
	transform: rotate(45deg) translate(6px, 6px);
}

.-show .menu-button a span:after {
	transition: all 0.2s ease;
	transform: rotate(-45deg) translate(4px, -4px);
}

/* ----------------------------------------------------------------------- */
/* G-nav Show-hide enent */
.-show + .main-wrapper {
	pointer-events: none;
}

/* wrap */
.modal-sitemap {
	position: fixed;
	left: 0;
	top: 60px;
	width: 100%;
	height: calc(100vh - 60px);
	pointer-events: none;
	z-index: 1;
}

.modal-sitemap.-show {
	pointer-events: auto;
}

.modal-sitemap .wrap {
	position: relative;
	width: 100%;
	height: 100%;
	max-width: 1200px;
	min-height: calc(100vh - 100px);
	margin: 0 auto;
	padding-bottom: 60px;
	box-sizing: border-box;
	z-index: 100;
	overflow-y: auto;
	vertical-align: middle;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
	opacity: 0;
	transition: opacity 0.25s cubic-bezier(0.17, 0.84, 0.44, 1);
	z-index: 200;
}

.modal-sitemap .anm {
	opacity: 0;
	transform: translateY(-20px);
	transition: all 0.3s cubic-bezier(0.17, 0.84, 0.44, 1);
}

.modal-sitemap.-show .anm {
	opacity: 1;
	transform: translateY(0);
}

.modal-sitemap.-show .wrap {
	visibility: visible;
	opacity: 1;
	transition-duration: 0.5s;
}

.modal-sitemap.-hide .wrap {
	visibility: hidden;
}

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

.modal-sitemap .overlay {
	/*height: 0;*/
	background-color: white;
	transition: height 0.4s cubic-bezier(0.22, 0.61, 0.36, 1) 0s, opacity 0.2s linear 0.2s;
	/* ease-in */
	z-index: 99;
}

.modal-sitemap.-show .overlay {
	opacity: 1;
	/*height: 100%;*/
	transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
	/* ease-out */
	transition-delay: 0.2s,   0s;
	transition-duration: 0.3s, 0.1s;
}

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

.modal-sitemap .overlay_bk {
	background-color: transparent;
	transition: opacity 0.5s ease-in-out;
	opacity: 0;
	z-index: 98;
}

.modal-sitemap.-show .overlay_bk {
	opacity: 1;
}

/* scroll effect */
.site-subheader,
.menu-button {
	/*transform: translateY(0px); transition: all 0.5s cubic-bezier(.65,.05,.36,1);*/
}

.scroll-down .site-subheader,
.scroll-down .menu-button {
	/*transform: translateY(-60px);*/
}

.scroll-y-end .site-subheader,
.scroll-y-end .menu-button {
	/*transform: translateY(0);*/
}

.-show .menu-button {
	/*transform: translateY(0) !important; transition: none !important;*/
}

/* --------------------------------------------------- */
.sitemap-container {
	width: calc(100% - 40px);
	margin: 0 auto;
	padding-top: 60px;
}

.sitemap-navs {
	padding: 40px 0;
}

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

.sitemap-navs__dl {
	margin-top: 0;
	margin-bottom: 2.5rem;
	opacity: 0;
}

.sitemap-navs__dl dt {
	font-size: 2rem;
	font-weight: 400;
}

.sitemap-navs__dl dt a {
	text-decoration: none;
	display: block;
}

.sitemap-navs__dl .en {
	display: inline-block;
	margin-bottom: 0.5em;
	margin-right: 0.25em;
}

.sitemap-navs__dl .ja {
	display: inline-block;
	font-size: 1.1rem;
	color: rgba(0, 0, 0, 0.5);
}

.sitemap-navs__dl dd {
	margin-left: 0;
}

.sitemap-navs__ul {
	padding-left: 0;
	list-style: none;
	display: none;
}

.sitemap-navs__ul li {
	margin-bottom: 1.5rem;
	line-height: 1.35;
}

.sitemap-navs__ul a {
	text-decoration: none;
	color: rgba(0, 0, 0, 0.5);
}

/* ------------------------------- */
.sitemap-headline {
	display: flex;
	flex-direction: column;
	padding-top: 40px;
	padding-bottom: 20px;
	line-height: 1.5;
}

.sitemap-headline a {
	text-decoration: none;
}

.sitemap-headline__header {
	margin-bottom: 2em;
}

.sitemap-headline__header-ttl {
	display: block;
	font-size: 1.5rem;
}

.sitemap-headline__header-more {
	position: relative;
	display: inline-block;
	font-size: 1.1rem;
	padding-right: calc(30px + 0.5em);
}

.sitemap-headline__header-more:after {
	position: absolute;
	top: 0.75em;
	bottom: auto;
	right: 0;
	left: auto;
	width: 30px;
	height: 1px;
	background: currentColor;
	opacity: 0.2;
	content: "";
}

.sitemap-headline__ul {
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.sitemap-headline__ul li {
	margin-bottom: 2em;
}

.sitemap-headline__ul a {
	display: flex;
	flex-direction: column;
	color: rgba(0, 0, 0, 0.5);
}

.sitemap-headline__info {
	position: relative;
	margin-bottom: 0.5em;
	font-size: 1.2rem;
}

.sitemap-headline__ttl {
	font-size: 1.2rem;
}

.sitemap-headline__figure {
	display: none;
	margin-bottom: 20px;
}

.sitemap-headline__figure img {
	display: block;
	width: 100%;
}

/* ---------------------------------------------------------------------------------------------- */
/* SmartPhone                                                                                     */
/* iPhone 6 over */
/* ---------------------------------------------------------------------------------------------- */
/* Tablet                                                                                         */
@media screen and (min-width: 541px) {
	.sitemap-headline__ul li {
		margin-bottom: 1em;
	}

	.sitemap-headline__ul a {
		flex-direction: row;
	}

	.sitemap-headline__info {
		position: relative;
		min-width: 160px;
		padding-right: 60px;
	}

	.sitemap-headline__info:after {
		position: absolute;
		right: 25px;
		top: 0.75em;
		bottom: auto;
		left: auto;
		display: block;
		width: 15px;
		height: 1px;
		margin: auto;
		background-color: rgba(0, 0, 0, 0.2);
		content: "";
	}
}
/* iPad */
/* ---------------------------------------------------------------------------------------------- */
/* Desktop                                                                                        */
@media screen and (min-width: 1024px) {
	.modal-sitemap {
		top: 100px;
		height: calc(100vh - 100px);
	}

	.modal-sitemap hr {
		width: calc(100% - 80px);
		max-width: 1200px;
		margin-left: auto;
		margin-right: auto;
	}

	.sitemap-container {
		width: calc(100% - 120px);
		max-width: 1200px;
		margin-bottom: 40px;
	}

	.modal-sitemap .wrap {
		width: 100%;
		min-height: calc(100vh - 100px);
		max-width: initial;
	}

	.sitemap-navs {
		display: flex;
		padding-top: 80px;
	}

	.sitemap-navs__dl {
		width: 20%;
		margin-right: 20px;
	}

	.sitemap-navs__dl:last-child {
		margin-right: 0;
	}

	.sitemap-navs__dl dt {
		position: relative;
		padding-bottom: 1.5em;
		margin-bottom: 1.5em;
	}

	.sitemap-navs__dl .en {
		display: block;
		margin-right: 0;
	}

	.sitemap-navs__dl .ja {
		display: block;
	}

	.sitemap-navs__dl dt:before {
		position: absolute;
		display: block;
		left: 0;
		bottom: 0;
		width: 15px;
		height: 1px;
		background-color: rgba(0, 0, 0, 0.2);
		content: "";
	}

	.sitemap-navs__dl dt a {
		display: inline-block;
	}

	.sitemap-navs__ul {
		display: block;
	}

	/* ---------- */
	.sitemap-headline {
		flex-direction: row;
		margin-bottom: 0;
		padding-top: 60px;
		padding-bottom: 60px;
	}

	.sitemap-headline > * {
		margin-right: 20px;
	}

	.sitemap-headline__header {
		width: 20%;
		margin-bottom: 0;
	}

	.sitemap-headline__header-ttl {
		font-size: 2.0rem;
	}

	.sitemap-headline__info {
		min-width: 230px;
		margin-bottom: 0;
		box-sizing: border-box;
	}

	.sitemap-headline__ul a {
		flex-direction: row;
	}

	.sitemap-headline__ul {
		width: calc(20% * 3);
		margin-right: calc(20px * 2);
	}

	.sitemap-headline__ttl {
		font-size: 1.3rem;
	}

	.sitemap-headline__figure {
		display: block;
		width: 20%;
		margin-bottom: 0;
		padding-right: 20px;
		box-sizing: border-box;
	}
}
/*
 * Progress bar
 * Scroll indicator
 * UI Popup Menus
 * Slide show
 * UI Carousel
 * UI Accordion
 */
/* ----------------------------------------------------------------------- */
/* Clearfix */
.cf:before,
.cf:after {
	content: " ";
	display: table;
}

.cf:after {
	clear: both;
}

.cf {
	*zoom: 1;
}

/* ============================================================================================== */
/* Progress bar                                                                                   */
/* ============================================================================================== */
.progress {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	transition: all .25s ease-out 0.5s;
	z-index: 10000;
}

.progress--inner {
	display: block;
	width: 0;
	height: 3px;
	transition: all 3s cubic-bezier(0.22, 0.61, 0.36, 1);
	background-color: #000;
	background-image: linear-gradient(90deg, #fff, black 100%);
}

.progress.progress-complete {
	top: -3px;
}

.progress.progress-complete .progress--inner {
	transition-duration: .5s;
}

.progress.progress-complete + .indicator span {
	opacity: 0;
}

/* ============================================================================================== */
/* Scroll navigate                                                                                */
/* ============================================================================================== */
.scroll-navigate {
	position: absolute;
	left: 0;
	right: 0;
	display: flex;
	z-index: 100;
	color: #fff;
	mix-blend-mode: exclusion;
}

.scroll-navigate,
.scroll-navigate:before,
.scroll-navigate:after {
	width: 1px;
	height: 30px;
	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;
}

@keyframes ScrollnavigateAnimation {
	0% {
		height: 0;
	}
	45% {
		height: 100%;
	}
	55% {
		height: 100%;
		top: 0;
	}
	100% {
		height: 0;
		top: 100%;
	}
}

/* ============================================================================================== */
/* UI Popup Menus                                                                                 */
/* ============================================================================================== */
.more-information__item a:not(.popup-element__trigger) {
	position: relative;
	display: inline-block;
	padding-bottom: 1px;
	color: rgba(0, 0, 0, 0.5);
}

.more-information__item a:not(.popup-element__trigger):before {
	position: absolute;
	display: block;
	content: "";
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background: currentColor;
}

.more-information__item a:hover {
	color: black;
}

.popup-element {
	position: relative;
}

.popup-element__trigger {
	display: inline-block;
	position: relative;
	z-index: 105;
	color: rgba(0, 0, 0, 0.5);
	border-bottom: 1px solid rgba(0, 0, 0, 0.2);
	cursor: pointer;
	font-size: 1.6rem;
	padding: 8px 4px;
	text-decoration: none;
	line-height: 1;
}

.popup-element__trigger:hover {
	border-color: black;
	text-decoration: none;
}

.popup-element__target {
	position: absolute;
	display: none;
	z-index: 110;
	top: calc(100% - 5px);
	right: 0;
	left: 50%;
	margin-right: -50%;
	transform: translate(-50%, 0);
	transform-origin: center 0%;
	width: 100%;
	min-width: 260px;
	text-align: left;
	border-radius: 1px;
	color: #555;
	background-color: #fff;
	box-sizing: border-box;
	box-shadow: 0 0 1px rgba(0, 0, 0, 0.5);
	transition: transform 0.2s cubic-bezier(0.17, 0.84, 0.44, 1);
}

.hairline .popup-element__target {
	box-shadow: none;
	border: 0.6px solid rgba(0, 0, 0, 0.8);
}

.popup-element.show .popup-element__target {
	display: block;
}

.popup-element__target--title {
	font-size: 1.4rem;
	padding: 10px 15px;
	color: #fff;
	background-color: #000;
	border-radius: 0;
}

.popup-element__target--items {
	min-width: initial;
}

.popup-element__target .item {
	padding: 20px 0;
}

.popup-element__target .item:first-child {
	border-top: none;
}

.popup-element__target a,
.popup-element__target .label {
	padding: 10px 10px;
	display: inline-block;
	width: 100%;
	box-sizing: border-box;
	line-height: 1.25;
}

.popup-element__target .title {
	margin-bottom: 5px;
	letter-spacing: 0.05em;
}

.popup-element__target .item a {
	color: #555 !important;
}

.popup-element__target .item:last-child a {
	border-radius: 0;
}

.popup-element__target .item:first-child a {
	border-radius: 0;
}

.popup-element__target .item a:hover {
	color: #000 !important;
	background-color: rgba(0, 0, 0, 0.05);
}

.popup-element__target .ui--icon {
	position: absolute;
	right: 10px;
	left: auto;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 12px;
	height: 12px;
}

.popup-element__target .ui--icon:before,
.popup-element__target .ui--icon:after {
	position: absolute;
	display: block;
	content: "";
	width: 8px;
	height: 1px;
	background-color: #000;
	transform-origin: 50% 50%;
	background-color: currentColor;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	transition: transform 0.15s cubic-bezier(0.77, 0, 0.18, 1);
}

.popup-element__target .ui--icon:before {
	transform: translateX(-1.75px) rotate(60deg);
}

.popup-element__target .ui--icon:after {
	transform: translateX(1.75px) rotate(-60deg);
}

.popup-element.show .ui--icon:before {
	transform: translateX(-1.75px) rotate(-60deg);
}

.popup-element.show .ui--icon:after {
	transform: translateX(1.75px) rotate(60deg);
}

/* ============================================================================================== */
/* 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 Carousel                                                                                    */
/* ============================================================================================== */
.carousel {
	position: relative;
}

/*
.carousel-images {
	position: relative;
	overflow: hidden;
}

.carousel-images ul {
	position: relative;
	overflow: hidden;
	padding-left: 0;
	list-style: none;
}

*/
.carousel-cell {
	width: 100%;
	padding: 0;
}

.carousel-cell.current {
	z-index: 2;
}

.carousel-images .img-wrap {
	display: block;
	height: 100%;
}

.carousel-images img {
	display: block;
	width: 100%;
	height: auto;
}

/* ---------------------------------------- */
.carousel-controller {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	pointer-events: none;
	z-index: 3;
}

.carousel-controller .right,
.carousel-controller .left {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	top: 0;
	bottom: 0;
	width: 36px;
	height: 36px;
	margin: auto;
	cursor: pointer;
	pointer-events: auto;
	transition: all 0.2s ease;
	z-index: 3;
}

.carousel-controller .right {
	right: 30px;
}

.carousel-controller .left {
	left: 30px;
}

.carousel-controller .right span,
.carousel-controller .left span {
	position: relative;
	z-index: 3;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 5px;
	box-sizing: border-box;
	opacity: 1;
	border-radius: 50%;
	line-height: 0;
	transition: all 0.2s ease;
	background-color: rgba(255, 255, 255, 0.5);
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}

.msie .carousel-controller .right,
.msie .carousel-controller .left {
	width: 36px;
}

.carousel-controller .right .icon,
.carousel-controller .left .icon {
	width: 24px;
	height: 24px;
}

.carousel-controller .right:hover span,
.carousel-controller .left:hover span {
	box-shadow: 0 6px 12px rgba(0, 49, 114, 0.4);
	background-color: white;
	color: #3166ad;
}

.carousel-controller .none {
	cursor: default;
	opacity: 0;
}

/* ---------------------------------------- */
.carousel-page-indicator {
	top: 100%;
	z-index: 3;
	width: 100%;
}

.carousel-page-indicator ul {
	display: flex;
	justify-content: center;
	margin: 0 0 20px;
	list-style: none;
	padding: 0;
}

.carousel-page-indicator li {
	margin: 5px 10px;
	padding: 5px;
	cursor: auto;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	tap-highlight-color: transparent;
}

.carousel-page-indicator li:hover span {
	background: black;
}

.carousel-page-indicator li span {
	display: block;
	width: 9px;
	height: 9px;
	background: #999;
	transition: all 0.3s ease;
	border-radius: 50%;
	opacity: 0.8;
}

.carousel-page-indicator li.current {
	cursor: auto;
}

.carousel-page-indicator li.current span {
	background: #1458a7;
	opacity: 1;
}

/* ---------------------------------------- */
.page__link {
	text-decoration: none;
}

/* ============================================================================================== */
/* UI Accordion                                                                                   */
/* ============================================================================================== */
/* UIkit */
.accordion {
	-webkit-tap-highlight-color: transparent;
	tap-highlight-color: transparent;
}

.accordion__item {
	border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.accordion__item > *:first-child {
	margin-top: 0;
}

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

.uk-accordion-title {
	position: relative;
	cursor: pointer;
	transition: 0.3s ease;
	padding: 30px 0 30px 30px;
}

.uk-accordion-title > * {
	margin-bottom: 0;
}

.uk-accordion-title:hover {
	font-weight: 700;
}

.uk-accordion-content {
	padding-bottom: 30px;
}

.uk-accordion-content > *:first-child {
	margin-top: 0;
}

.uk-accordion-content > *:last-child {
	margin-bottom: 0;
}

.accordion .ui--icon {
	position: absolute;
	right: auto;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 14px;
	height: 14px;
}

.accordion .ui--icon:before,
.accordion .ui--icon:after {
	position: absolute;
	display: block;
	content: "";
	width: 10px;
	height: 1px;
	background-color: #000;
	transform-origin: 50% 50%;
	background-color: currentColor;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	transition: transform 0.3s cubic-bezier(1, 0, 0, 1);
}

.accordion .ui--icon:before {
	transform: translateX(-3.25px) rotate(45deg);
}

.accordion .ui--icon:after {
	transform: translateX(3.25px) rotate(-45deg);
}

/* show */
.uk-open.ui-accordion--item {
	border-top-color: #000;
}

.uk-open .uk-accordion-title {
	border-top-color: #1458a7;
	background-color: #fff;
}

.accordion .uk-open .ui--icon:before {
	transform: translateX(-3.25px) rotate(-45deg);
}

.accordion .uk-open .ui--icon:after {
	transform: translateX(3.25px) rotate(45deg);
}

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

/* ----------------------------------------------- */
/* progress */
/* ----------------------------------------------- */
/* header */
.inside-prog-header {
	display: block;
	margin-bottom: 35px;
}

.inside-prog-header-inner:last-child {
	flex-shrink: 0;
}

.inside-prog-header__ttl {
	margin: 0;
	font-size: 2.4rem;
	line-height: 1.3;
}

/* progress */
.prog {
	display: block;
	padding-left: 0;
	counter-reset: section;
	font-size: 1.2rem;
	margin-bottom: 35px;
}

.prog__section {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	list-style: none;
	color: #777;
	margin-bottom: 8px;
}

.prog__section:before {
	counter-increment: section;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.7em;
	height: 1.7em;
	color: #fff;
	margin-right: 10px;
	padding: 5px;
	background-color: #b2b2b2;
	border-radius: 50%;
	content: counter(section);
}

.prog__section:after {
	display: none;
	right: 0;
	top: 0;
	width: 40px;
	height: 1px;
	margin: 0 10px;
	background-color: rgba(0, 0, 0, 0.2);
	content: "";
}

.prog__section:last-child:after {
	display: none;
}

.prog__section.current {
	color: #000;
	font-weight: 700;
}

.prog__section.current:before {
	background-color: #000;
}

.prog__section.complete {
	color: #555;
}

.prog__section.complete:before {
	background-color: #000;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbDpzcGFjZT0icHJlc2VydmUiIHZpZXdCb3g9IjAgMCAyNCAyNCI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5zdDB7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPjxwb2x5bGluZSBjbGFzcz0ic3QwIiBwb2ludHM9IjE5LjUsNi41IDcuNiwxOC43IDIuNCwxMy41ICIvPjwvc3ZnPg0K");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 20px;
	content: "";
}

.prog__section.complete:after {
	background-color: #000;
}

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

	/* progress */
	.prog {
		display: inline-flex;
		align-items: center;
	}

	.prog__section {
		margin: 0 15px 0 0;
	}

}

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

	.prog__section::after {
		display: block;
		width: 30px;
	}

}

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

	.inside-prog-header.flow-wrap {
		margin-bottom: 60px;
	}

	.inside-prog-header.flow-wrap {
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: flex-start;
		align-items: flex-start;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		-webkit-flex-direction: row-reverse;
		flex-direction: row-reverse;
	}

	.prog {
		margin-bottom: 0;
	}

	.prog__section {
		margin-right: 0;
	}

	.prog__section::after {
		display: block;
		width: 40px;
	}

	.inside-prog-header__ttl {
		font-size: 2.8rem;
	}


}

/* ============================================================================================== */
/* UI / Popup menu                                                                                */
/* ============================================================================================== */
/* container */
.popup {
	position: relative;
}

/* trigger */
.popup__trigger {
	display: inline-block;
	position: relative;
	-webkit-tap-highlight-color: transparent;
	tap-highlight-color: transparent;
}

.active .popup__trigger {
	text-decoration-color: inherit;
	text-decoration: underline;
	color: #3166ad;
	opacity: 1 !important;
}

.popup__trigger label {
	cursor: pointer;
}

/* target */
.popup__target {
	position: absolute;
	top: 100%;
	display: none;
	width: 100%;
	min-width: 200px;
	text-align: left;
	border-radius: 5px;
	background-color: #fff;
	box-sizing: border-box;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1), 0 0 1px rgba(0, 0, 0, 0.2);
	transition: ease-out;
	transition-property: box-shadow, transform;
	transition-duration: 1.5s, 0.25s;
	z-index: 100;
}

.active .popup__target {
	/*box-shadow: 0 3px 10px rgba(0,0,0,0.1);*/
}

.active-end .popup__target {
	display: block;
}

/* container arrow */
.popup--arrow .popup__trigger:before,
.popup--arrow .popup__trigger:after {
	position: absolute;
	bottom: 0;
	left: 50%;
	height: 0;
	width: 0;
	transform: translateX(-50%);
	border-color: transparent;
	border-style: dashed dashed solid;
	border-width: 0 8.5px 8.5px;
	transition: all 0.15s ease-out;
	opacity: 0;
	content: "";
}

.popup--arrow .popup__trigger:before {
	border-bottom-color: rgba(0, 0, 0, 0.1);
	z-index: 1;
	filter: blur(1px);
}

.popup--arrow.active .popup__trigger:before {
	opacity: 1;
	transition-duration: 0.15s;
}

.popup--arrow .popup__trigger:after {
	bottom: -1px;
	z-index: 101;
}

.popup--arrow.active .popup__trigger:after {
	border-bottom-color: #fff;
	opacity: 1;
	transition-duration: 0s;
}

/* ============================================================================================== */
/* Module / Tooltip                                                                               */
/* ============================================================================================== */
.uk-tooltip {
	display: none;
	position: absolute;
	z-index: 1030;
	box-sizing: border-box;
	max-width: 300px;
	padding: 20px;
	box-shadow: 0 3px 9px rgba(0, 0, 0, 0.2);
	background: rgba(255, 255, 255, 0.8);
	border-radius: 3px;
	font-size: 12px;
	line-height: 1.5;
	color: #555;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}

.uk-tooltip *:first-child {
	margin-top: 0;
}

.uk-tooltip *:last-child {
	margin-bottom: 0;
}

.no-backdropfilter .uk-tooltip {
	background-color: white;
}

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

/*! Flickity v2.0.10
http://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
	position: relative;
}

.flickity-enabled:focus {
	outline: none;
}

.flickity-viewport {
	overflow: hidden;
	position: relative;
	height: 100%;
	border-radius: 5px;
}

.flickity-slider {
	position: absolute;
	width: 100%;
	height: 100%;
}

/* draggable */
.flickity-enabled.is-draggable {
	-webkit-tap-highlight-color: transparent;
	tap-highlight-color: transparent;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
	cursor: move;
	cursor: -webkit-grab;
	cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
	cursor: -webkit-grabbing;
	cursor: grabbing;
}

/* cells */
.carousel-cell {
	position: relative;
	overflow: hidden;
	margin-right: 40px;
	border-radius: 5px;
}

/* ---- previous/next buttons ---- */
.flickity-prev-next-button {
	position: absolute;
	top: 50%;
	width: 70px;
	height: 70px;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	outline: none;
	/* vertically center */
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.flickity-prev-next-button:hover {
	border: none;
}

.flickity-prev-next-button:focus {
	outline: none;
}

.flickity-prev-next-button:active {
	opacity: 0.6;
}

.flickity-prev-next-button.previous {
	left: 10px;
}

.flickity-prev-next-button.next {
	right: 10px;
}

/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
	left: auto;
	right: 10px;
}

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

.flickity-prev-next-button:disabled {
	opacity: 0;
	cursor: auto;
}

.flickity-prev-next-button svg {
	position: absolute;
	left: 35%;
	top: 35%;
	width: 30%;
	height: 30%;
}

.flickity-prev-next-button .arrow {
	fill: #333;
}

/* ---- page dots ---- */
.flickity-page-dots {
	position: absolute;
	width: 100%;
	bottom: -40px;
	padding: 0;
	margin: 0;
	list-style: none;
	text-align: right;
	line-height: 1;
}

.flickity-rtl .flickity-page-dots {
	direction: rtl;
}

.flickity-page-dots .dot {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 6px;
	height: 6px;
	margin: 0 10px;
	padding: 4px;
	opacity: 0.25;
	box-sizing: border-box;
	cursor: pointer;
	transition: opacity 0.3s ease;
	background-color: #000;
	border-radius: 50%;
}

.flickity-page-dots .dot.is-selected {
	opacity: 1;
}

.flickity-prev-next-button {
	width: 30px;
	height: 30px;
	padding: 10px;
	border: none;
}

.flickity-prev-next-button:before {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	margin: auto;
	background: white;
	box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12);
	border-radius: 50%;
	content: "";
	transition: all 0.2s ease;
	transform: scale(1);
}

.flickity-prev-next-button svg {
	left: 30%;
	top: 30%;
	width: 40%;
	height: 40%;
}

.flickity-page-dots {
	bottom: -20px;
}

.flickity-page-dots .dot {
	width: 3px;
	height: 3px;
	margin: 0 5px;
	padding: 3px;
}

/* iPad */
@media screen and (min-width: 1024px) {
	.flickity-prev-next-button {
		top: 50%;
		width: 50px;
		height: 50px;
	}

	.flickity-prev-next-button.next {
		right: -15px;
	}

	.flickity-prev-next-button.previous {
		left: -15px;
	}
}
@media screen and (min-width: 1399px) {
	.flickity-page-dots {
		bottom: -40px;
	}

	.flickity-page-dots .dot {
		width: 6px;
		height: 6px;
		margin: 0 10px;
		padding: 4px;
		opacity: 0.25;
	}

	.flickity-page-dots .dot.is-selected {
		opacity: 1;
	}

	.flickity-prev-next-button {
		width: 60px;
		height: 60px;
		background: transparent;
		border: none;
	}

	.flickity-prev-next-button:before {
		opacity: 0;
		transform: scale(0);
		box-shadow: 0 2px 4px 0 transparent;
	}

	.flickity-prev-next-button svg {
		left: 35%;
		top: 35%;
		width: 30%;
		height: 30%;
	}

	.flickity-prev-next-button.previous {
		left: -55px;
	}

	.flickity-prev-next-button.next {
		right: -55px;
	}

	.flickity-prev-next-button:hover {
		border: none;
	}

	.flickity-prev-next-button:hover:before {
		background: white;
		border: none;
		box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12);
		transform: scale(1);
		opacity: 1;
	}
}

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

a {
	font-weight: inherit;
	color: inherit;
	text-decoration: underline;
	-webkit-transition: all .2s ease;
	-moz-transition: all .2s ease;
	-o-transition: all .2s ease;
	transition: all .2s ease;
	box-sizing: border-box;
	display: inline-block;
	cursor: pointer;
	outline: none;
}

a:hover {
	text-decoration: none;
}

.sp-tel a {
	pointer-events: auto;
}

.topic-path-inner {
	padding: 4px 0;
	font-weight: 700;
}

ul li {
	list-style: none;
	box-sizing: border-box;
}

h1,h2,h3,h4,h5,h6 {
	font-family: inherit;
	font-weight: 700;
	font-size: 2.0rem;
	color: rgba(0,0,0,1);
	box-sizing: border-box;
}

p,
td,
th,
blockquote {
	font-family: inherit;
	font-weight: inherit;
	box-sizing: border-box;
}

strong,
em {
	font-weight: 700;
}

button {
	-webkit-transition: all .2s ease;
	-moz-transition: all .2s ease;
	-o-transition: all .2s ease;
	transition: all .2s ease;
}

.defaults {
	display: none;
}

img {
	width: 100%;
}

.material-icons {
	vertical-align: middle;
	-webkit-transition: all .2s;
	transition: all .2s;
}

.en {
	text-transform: capitalize;
}


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

	.topic-path-inner {
		padding: 0;
	}

}

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

	.sp-tel {
		pointer-events: none;
		text-decoration: none;
	}

}
