@charset "utf-8";

@import url(//fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url('https://fonts.googleapis.com/css?family=Oswald');

/* ----------------------------------------------------------------------- */
/* ! layout ! */
/* ----------------------------------------------------------------------- */
/*
 * Layout / global-header
 *  - global-navigation
 */
/* ============================================================================================== */
/* Layout - header / global-header                                                                */
/* ============================================================================================== */
.g-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	/*height: 60px;*/
	background: rgba(255,255,255,0.8);
	z-index: 100;
}

.g-header a {
	text-decoration: none;
	outline: none;
}

.g-header--inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: calc(100% - 40px);
	height: 60px;
	margin: auto;
	max-width: 1300px;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
}

/* scroll effect */
.g-header {
	transform: translateY(0px);
	transition: all 0.25s cubic-bezier(0.65, 0.05, 0.36, 1);
}

.scroll-down .g-header:not(.-show) {
	transform: translateY(-60px);
}

.scroll-y-end .g-header:not(.-show) {
	transform: translateY(0);
}

/* ----------------------------------------------------------------------- */
/* logo */
.g-logo {
	display: flex;
	align-items: center;
	/*height: 100%;*/
	box-sizing: border-box;
	/*float: left;*/
	z-index: 15;
}

.g-logo__mark {
	width: 190px;
	margin: 0;
}

.gf-logo__mark {
	width: 175px;
}

.g-logo__mark figure {
	line-height: 0;
}

.g-logo__link {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	line-height: 0;
}

.g-logo__link-text {
	position: absolute;
	overflow: hidden;
	height: 1px;
	width: 1px;
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(0px 0px 99.9% 99.9%);
	clip-path: inset(0px 0px 99.9% 99.9%);
}

/* ----------------------------------------------------------------------- */
/* global-navigation */
.g-nav {
	align-items: center;
	margin: 0;
}

.g-nav a {
	color: rgba(0, 0, 0, 0.5);
}

.g-nav__list {
	display: none;
	align-items: center;
	height: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.g-nav__li {
	display: flex;
	align-items: center;
	margin: 0 15px;
	font-size: 1.3rem;
}

/*.g-nav__li.current a {
	color: #143c78;
}*/

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

.g-nav__li-inner.current a {
	color: #000;
}

.g-nav__li a {
	padding: 10px 5px;
}

.g-nav__contact {
	display: none;
}

/* ---------------------------------------------------------------------------------------------- */
/* SmartPhone                                                                                     */
/* iPhone 6 over */
/* ---------------------------------------------------------------------------------------------- */
/* Tablet                                                                                         */
/* iPad */

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

}

/* ---------------------------------------------------------------------------------------------- */
/* Desktop                                                                                        */
@media screen and (min-width: 1024px) {

	.g-header {
		height: 100px;
	}

	.g-logo__mark {
		width: 265px;
	}

	.g-nav__li:first-child {
		margin-left: 0;
	}

	.scroll-down .g-header {
		transform: translateY(-100px);
	}

	.scroll-y-end .g-header {
		transform: translateY(0);
	}

	.g-header--inner {
		height: 100px;
		width: calc(100% - 50px);
	}

	.scroll-down .g-header:not(.-show) {
		transform: translateY(-100px);
	}

	.scroll-y-end .g-header:not(.-show) {
		transform: translateY(0);
	}

	.g-header.-show {
		transform: translateY(0) !important;
	}

	.g-nav {
		display: inline-flex;
		align-items: center;
		height: 100%;
		margin: 0;
	}

	.g-nav__list {
		position: relative;
		display: flex;
		z-index: 2;
	}

	.g-nav__li {
		overflow: hidden;
	}

	.g-nav__li:last-child a {
		padding-right: 0;
	}

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

	.g-nav__li-inner {
		transition: transform 0.3s ease;
	}

	.g-nav__contact {
		position: absolute;
		display: flex;
		align-items: center;
		overflow: hidden;
		top: 0;
		right: 70px;
		height: 100%;
		z-index: 1;
	}

	.g-nav__contact-button-inner {
		transform: translateY(80px);
		transition: transform 0.3s ease;
	}

	.g-nav__contact .btn {
		width: 165px;
	}

	/* サイトマップが表示されたら */
	.-show .g-nav__list {
		z-index: 1;
	}

	.-show .g-nav__contact {
		z-index: 2;
	}

	.-show .g-nav__li-inner {
		margin: 0;
		transform: translateY(2em);
	}

	.-show .g-nav__contact-button-inner {
		transform: translateY(0%);
	}
}
/*
 * Layout / inner-container
 * Layout / global-header
 *  - global-navigation
 *  - menu-button
 *  - Gnav Show-hide enent
 * Layout / main-wrapper
 * Layout / part-header
 * Layout / chapter-header
 * Layout / part-footer
 * Transition / container
 * Indicator
 */
/* Part(部) -> Chapter(章) -> Section(節) -> Subsection(項) -> Subsubsection */
/* ============================================================================================== */
/* Layout - main / inner-container                                                                */
/* ============================================================================================== */
.w-state--reg {
	width: calc(100% - 50px);
	max-width: 1200px;
	position: static;
	margin-right: auto;
	margin-left: auto;
}

.w-state--small {
	width: calc(100% - 80px);
	max-width: 1000px;
	position: static;
	margin-right: auto;
	margin-left: auto;
}

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

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

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

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

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

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

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

.order-footnote {
	display: flex;
}

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

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

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

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

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

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

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

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

	/* ============================================================================================== */
	/* Layout - main / inner-container                                                                */
	/* ============================================================================================== */
	.w-state--reg {
		width: calc(100% - 100px);
	}

	/* ----- */

	.order-footnote,
	.inline-order-footnote {
		margin-bottom: 40px;
	}

	.footnote li,
	.inline-footnote li {
		text-align: center;
	}

}

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

	.footnote,
	.inline-footnote {
		font-size: 1.3rem;
	}

}

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

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

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

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

.divider--inherit {
	margin: inherit;
}

.divider--0 {
	margin: 0;
}

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

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

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

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

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

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

/* Outline -------------------------------------------------------------------------------------- */
/*.layout-2col {
	background-color: #f2f2f2;
}*/

.layout-2col-inner {
	display: flex;
	align-items: flex-start;
	flex-direction: column-reverse;
}

.layout-2col-inner.w-state--reg {
	width: 100%;
}

/* Body ----------------------------------------------------------------------------------------- */
.layout-2col .chapter-body {
	padding-bottom: 0;
	background: #fff;
}

.layout-2col .chapter-header {
	margin-bottom: 80px;
}

.layout-2col .chapter-body .subsection {
	margin-bottom: 60px;
	font-size: 1.4rem;
}

.layout-2col .chapter-body .subsection:last-child {
	margin-bottom: 0;
}

.layout-2col .chapter-body .title {
	font-size: 1.6rem;
	font-weight: 600;
}

.layout-2col .chapter-body .subtitle {
	font-size: 1.5rem;
	color: #000;
	font-weight: 400;
}

/* ---------------------------------------------------------------------------------------------- */
@media screen and (min-width: 541px) {
	.layout-2col-inner.w-state--reg {
		width: calc(100% - 50px);
	}

	.chapter-localnav {
		width: auto;
		margin: 0;
	}
}

@media screen and (min-width: 1024px) {
	.layout-2col-inner {
		position: relative;
		flex-direction: row-reverse;
		align-items: center;
		justify-content: space-between;
	}

	/* -------------------- */
	.layout-2col-inner .chapter-localnav-inner {
		width: 30%;
		max-width: 300px;
	}

	.layout-2col-inner .chapter-localnav-inner {
		position: -webkit-sticky;
		position: sticky;
		top: 140px;
		width: 100%;
		transition: all 0.25s cubic-bezier(0.65, 0.05, 0.36, 1);
	}

	.scroll-down .layout-2col-inner .chapter-localnav-inner {
		top: 40px;
	}

	.scroll-y-end .layout-2col-inner .chapter-localnav-inner {
		top: 140px;
	}

	/* -------------------- */
	.layout-2col-inner .chapter-body {
		width: 70%;
		max-width: 1000px;
		padding: 40px;
		box-sizing: border-box;
	}
}
/*
 * Layout / global-footer
 */
/* ============================================================================================== */
/* Layout - footer / global-footer                                                                */
/* ============================================================================================== */
.g-footer {
	background: #fff;
}

.g-footer--inner {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	/*width: calc(100% - 60px);
	max-width: 1300px;*/
	margin: 0 auto;
	padding: 35px 0;
	box-sizing: border-box;
}

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

.gf-logo {
	margin-bottom: 20px;
	justify-content: flex-start;
	/*width: 300px;
	padding-left: 20px;*/
}

.gf-logo__link {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}

.gf-logo__link-text {
	position: absolute;
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(0px 0px 99.9% 99.9%);
	clip-path: inset(0px 0px 99.9% 99.9%);
	overflow: hidden;
	height: 1px;
	width: 1px;
}

.footer__link-related .g-footer__list-ttl {
	margin-bottom: 25px;
}

/* ---------------------------------------------------------------------------------------------- */
/* SmartPhone                                                                                     */
/* iPhone 6 over */
/* ---------------------------------------------------------------------------------------------- */
/* Tablet                                                                                         */
/* iPad */

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

	.g-footer--inner {
		flex-direction: row;
		padding: 45px 0;
	}

	.gf-logo {
		justify-content: flex-start;
	}

}

/* ---------------------------------------------------------------------------------------------- */
/* Desktop                                                                                        */
@media screen and (min-width: 1024px) {

	.g-footer--inner {
		flex-direction: row;
		padding: 60px 0;
	}

	.gf-logo {
		margin-bottom: 30px;
	}

}

/* ----------------------------------------------------------------------- */
/* ! module ! */
/* ----------------------------------------------------------------------- */

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

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

/* p */
.style--entry-body p {
	line-height: 1.85;
	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;
}

/* ----------------------------------------------------------------------- */
/* 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 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: 600;
	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 */
.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: #38dcff;
	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);
}

/* ----------------------------------------------------------------------- */
/* button */

.btn {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	text-decoration: none;
	transition: 0.2s ease;
	transition-property: border, background, color;
}

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

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

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

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

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

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

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

/* ----------------------------------------------------------------------- */
/* default style */
/* ----------------------------------------------------------------------- */
.btn {
	position: relative;
	min-width: 80px;
	min-height: 30px;
	padding: 8px 10px;
	border: none;
	border-radius: 0px;
	box-sizing: border-box;
	font-weight: 500;
	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 currentColor;
	content: "";
	opacity: 0.3;
	backface-visibility: hidden;
	transition: opacity 0.2s ease;
}

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

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

/* ----------------------------------------------------------------------- */
/* 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: 0px 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-100p {
	width: 100%;
}

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

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

a:hover .btn--fill,
.btn--fill:hover {
	color: #fff !important;
	background-color: #000 !important;
	box-shadow: 0 0 10px rgba(101, 129, 192, 0.2) !important;
	border-color: #000 !important;
}

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

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

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

/* 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: 600;
	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;
	max-width: 100%;
}

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

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

/* ============================================================================================== */
/* Module / Form                                                                                  */
/* ============================================================================================== */

.input-lbl {
	font-weight: 600;
	padding-bottom: 5px;
}

.required .input-lbl:after {
	content: "※必須";
	font-size: 0.8em;
	font-weight: 600;
	color: rgba(51,51,51,0.5);
	text-indent: -2px;
	margin-left: 5px;
}

/* ============================================================================================== */
/* Icon                                                                                           */
/* ============================================================================================== */

.i-svg {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	letter-spacing: 0;
	line-height: 0;
	fill: currentColor;
	stroke-width: 0.8;
}

svg.defaults {
	display: none;
}

svg,
.i-svg svg {
	transition: all 0.25s ease;
}

/* 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 {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 0;
	outline: 0;
	padding: 7px;
	box-sizing: border-box;
	border: 1px solid transparent;
	background: #FFF;
	font-family: inherit;
	font-size: 105%;
	transition: 0.2s ease;
}

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

input:hover,
textarea:hover,
select:hover {
	/*border-color: rgba(0, 0, 0, 0.3);*/
	box-shadow: 0px 0px 5px rgba(0,0,0,0.08);
}

input:focus,
textarea:focus,
select:focus {
	/*border-color: #333;*/
}

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

/* ------------------- */
.input--text,
.input--textarea,
.input--select {
	border: none;
	border: 1px solid transparent;
	/*border-top: 1px solid transparent;
	border-bottom: 1px solid transparent;*/
	box-sizing: border-box;
	transition: all 0.1s ease;
	outline: none;
	width: 100%;
	padding: 0.8em;
}

.input--text {
	height: 45px;
}

.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 {
	/*border-color: #333;*/
}

.control-group {
	margin: 7px 0;
	padding: 0;
}

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

.input--control {
	display: none;
}

.input--control + label {
	position: relative;
	font-weight: 600;
}

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

.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 #438bec;
	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;
}

/* ----------------------------------------------------------------------- */
/* over ipad landscape */

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

	input,
	textarea,
	select {

	}

	.input--text,
	.input--textarea,
	.input--select {
		padding: 0 1em;
		height: 60px;
		max-width: 500px;
	}

	.input--text {
		height: 60px;
	}

	.input--textarea {
		padding: 1em;
	}

}

/* 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: #438bec;
	transform: scale(0, 0);
}

.input--control[type="radio"]:checked + label .control:after {
	background: #438bec;
	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: #438bec;
}

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

/* error */
.error {
	color: red;
	/*line-height: 1.4;*/
	margin: 0;
}

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

.form-error {
	margin: 0 auto 50px;
	padding: 10px;
	max-width: 700px;
	border: 1px solid #f00;
	box-sizing: border-box;
}

.form-error ul {
	margin: 0;
}

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

	.form-error {
		padding: 20px;
	}

}

/* --------------------------------- */
.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(20, 60, 120, 0.3);
	font-size: 10px;
	z-index: 2;
	transition: 0.2s ease;
	pointer-events: none;
}

.input--select-wrap:hover:before {
	color: rgba(20, 60, 120, 1);
}

.input--select-wrap select,
.input--select {
	position: relative;
	z-index: 1;
}

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

/* width */

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

/*
 * Layout / global-footer
 *  - Text align
 *  - Break
 *  - Attribute
 */
/* ============================================================================================== */
/* Letter, glyph                                                                                  */
/* ============================================================================================== */
/*body {
	color: rgba(51,51,51,1);
	font: normal 400 1.35rem/1 'Roboto', 'FP-HiraKakuStdN-W1', '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;
}*/

body {
	height: 100%;
	margin: 0;
	padding: 0;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-size:1.35rem;
	line-height: 1;
	font-feature-settings: normal;
	color: rgba(0,0,0,.8);
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.ja__txt {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}

.ja__txt .child-section__txt,
.ja__txt.child-section__txt {
	text-align: justify;
}


b, strong, .bold {
	color: inherit;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-weight: 600;
}

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

/* ellipsis */

.overflow-ellipsis {
	/*white-space: nowrap;
	overflow-y: visible;*/
	position: relative;
	text-overflow: ellipsis;
	display: block;
	overflow: hidden;
	width: 100%;
}

.overflow-ellipsis {
	height: 7.5em;
}

.overflow-ellipsis:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 30px;
	right: 0;
	left: 0;
	bottom: 0;
	margin: auto;
	z-index: 10;
	background: linear-gradient(180deg, rgba(243,245,248,0), rgba(243,245,248,1));
	transition: opacity .2s ease;
	opacity: 1;
}

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

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

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

.color--warning {
	color: red !important;
}

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

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

/* ============================================================================================== */
/* 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: 769px) {
	.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 sitemap                                                                         */
/* ============================================================================================== */

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

.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 {
	top: 20px;
	left: 0px;
	margin-left: 0px;
	transform-origin: center 15px;
}

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

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

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

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



/* ============================================================================================== */
/* Global                                                                                         */
/* ============================================================================================== */

.all-wrap {
	min-width: 320px;
}

.child .main-contents {
	opacity: 0;
	transition: opacity 0.5s ease 0.5s;
}

.child.onload .main-contents {
	opacity: 1;
}

ol,ul {
	list-style: none;
	padding-left: 0;
}

/* list-style disc */

.list-style--disc {
	list-style-type: disc;
	padding-left: 20px;
}

/* list-style--line */

.list-style--line li {
	position: relative;
	padding-left: 12px;
}

.list-style--line li:before {
	content: "";
	position: absolute;
	top: 10px;
	left: 0px;
	margin: auto;
	background-color: #ccc;
	width: 6px;
	height: 1px;
}

dt,dd {
	margin-left: 0;
}

figure {
	line-height: 1;
}

img {
	width: 100%;
}

.ofi {
	object-fit: cover;
	/*font-family: 'object-fit: cover; object-position: 50% 50%;';*/
	font-family: 'object-fit: cover;'
}

.en {
	font-family: 'Oswald', sans-serif;
}

.translation--en,
p.translation--en,
.translation--en p,
.translation--en dd {
	text-align: start;
}

.translation--en {
	line-height: 1.6;
}

/* Arrow */

.arrow {
	background-color: #FFF;
	border-radius: 50%;
	background-image: none;
	width: 35px;
	height: 35px;
	position: relative;
	display: inline-block;
	margin: 0;
	background-size: 0;
	box-shadow: 0px 0px 10px rgba(0,0,0,0.05);
	z-index: 9;
	font-size: 0;
	border: 0;
	line-height: 0;
	padding: 0;
}

.arrow:hover {
	box-shadow: none;
	border: none;
}

.arrow:before {
	content: "";
	position: absolute;
	top: 10px;
	bottom: 0;
	right: auto;
	left: 12px;
	background-color: transparent;
	width: 0;
	height: 0;
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
	border-right: 9px solid #143c78;
	border-left: 7px solid transparent;
	margin: auto;
}

/*.arrow.arrow--right:before {
	border-left: 9px solid #143c78;
	right: 12px;
	left: auto;
}*/

/* ----- */

.section-contents {
	margin: 0 auto 110px;
}

.call {
	text-decoration: underline;
	pointer-events: auto;
	font-size: inherit;
	color: inherit;
}

/* Child Background = gray */

.bg--color-inner {
	background-color: rgba(20,60,120,0.05);
	padding: 70px 0;
}

/* ============================================================================================== */
/* global-header                                                                                  */
/* ============================================================================================== */

/* ----------------------------------------------------------------------- */
/* g-header */

.g-header {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 50;
	transition: .3s ease;
	transition-delay: .3s;
}

.g-header__main-outer:after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	filter: blur(10px);
	background-color: rgba(255,255,255,0.2)
}

.g-header a {
	border: none;
	outline: none;
}

.g-header__main-outer {
	padding: 30px 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

/* ----------------------------------------------------------------------- */
/* menu-button */

.menu-button {
	/*position: absolute;
	right: 25px;
	top: 15px;*/
	z-index: 30;
	cursor: pointer;
}

.menu-button p {
	position: relative;
	height: 40px;
	width: 25px;
	display: block;
	overflow: hidden;
	transition: all 0.5s ease;
	margin: 0 auto;
}

.menu-button p span,
.menu-button p span:before,
.menu-button p span:after {
	position: absolute;
	display: block;
	height: 1px;
	width: 25px;
	background: #000;
	text-indent: -200px;
	transition: all 0.25s ease;
}

.menu-button p span {
	top: 20px;
	left: 0px;
	transform-origin: center 15px;
}

.menu-button p span:before {
	top: -8px;
	content: "";
	transform-origin: center center;
}

.menu-button p span:after {
	top: 8px;
	content: "";
	transform-origin: center center;
}

.-show .menu-button p span,
.-show .menu-button p span:before,
.-show .menu-button p span:after {
	background-color: #FFF;
}

.-show .menu-button p span {
	width: 0;
	left: -10px;
	transform: translateX(10px);
	transition: all 0.2s ease;
}

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

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

/* ----------------------------------------------------------------------- */
/* global-navigation */

.-fixed .g-header  {
	transform: translateY(-100%);
}

.-show #main {
	pointer-events: none;
}

.-show .g-navigation {
	pointer-events: auto;
}

.g-navigation {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100vh;
	box-sizing: border-box;
	pointer-events: none;
	z-index: 20;
}

.g-navigation__inner {
	/*position: absolute;
	left: 0;
	top: 0;*/
	/*height: calc(100vh - 80px);*/
	width: 100%;
	height: 100%;
	/*argin-top: 80px;*/
	box-sizing: border-box;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	        overflow-scrolling: touch;
	opacity: 0;
	transition: all 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.sp .g-navigation__inner {
	display: flex;
	align-items: center;
	justify-content: center;

}

.sp.-show .g-navigation__inner {
	opacity: 1;
}

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

.-show .g-navigation .anm {
	opacity: 1;
	transform: translateY(0);
	transition: all 0.3s cubic-bezier(0.17, 0.84, 0.44, 1);
}

.g-navigation .back-btn__outer {
	display: none;
	align-items: center;
	height: 80px;
	padding: 0 25px;
	background: rgba(225,245,245,1);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

.-show .g-navigation .back-btn__outer {
	display: flex;
}

.g-navigation .back-btn {
	font-size: 1em;
	color: rgba(0,175,185,1);
}

/* ----------------------------------------------------------------------- */
/* overlay */

.overlay {
	position: fixed;
	height: 100vh;
	width: 100%;
	top: 0;
	right: 0;
	opacity: 0;
	pointer-events: none;
	transition: all 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
	background: url(../images/common/img-bg.jpg) repeat-y center center / cover;
	/*background-repeat: repeat-y;
	background-size: cover;*/
	/*background-color: #143c78;*/
	z-index: 15;
}

.-show .overlay {
	opacity: 1;
}

/* ----------------------------------------------------------------------- */
/* g-nav */

.g-nav {
	margin: 0 25px;
	padding: 0 30px 25px;
	position: relative;
}

.g-nav .g-nav__list {
	display: block;
}

.g-nav .g-nav__li {
	display: block;
}

.g-nav .g-nav__link {
	font-size: 2.5rem;
	font-weight: 400;
	color: #FFF;
	display: block;
	text-align: center;
	letter-spacing: 0.06rem;
	position: relative;
}

/*.sp .g-nav .g-nav__link:hover {
	color: #FFF;
}*/

.g-nav .ja__txt {
	padding-top: 0;
	color: #FFF;
	font-weight: 400;
	display: block;
	font-size: 1.3rem;
	line-height: 1;
}

@-webkit-keyframes ac__anm {
	0%   { opacity: 0.0; transform: translateY(-5px); }
	50%  { transform: translateY(0); }
	100% { opacity: 1.0;}
}

@keyframes ac__anm {
	0%   { opacity: 0.0; transform: translateY(-5px); }
	50%  { transform: translateY(0); }
	100% { opacity: 1.0;}
}

/* ============================================================================================== */
/* body                                                                                           */
/* ============================================================================================== */

.main-contents {
	padding-top: 120px;
}

.bg--color {
	margin-bottom: 50px;
}

/* ============================================================================================== */
/* global-footer                                                                                  */
/* ============================================================================================== */

.g-footer {
}

.g-footer--inner {
	font-size: 1.3rem;
	line-height: 1.85;
}

.g-footer--inner a,
.g-footer__aside-wrap a {
	text-decoration: none;
}

.g-footer--inner hr {
	border-color: #000;
	margin-bottom: 30px;
}

.g-footer-maincontents hr {
	border-color: #000;
}

.office__list-wrap {
	text-align: center;
}

.office__list-wrap .g-footer__list {
	margin: 0 auto 40px;
	text-align: left;
	width: auto;
	display: inline-block;
}

.office__list-wrap .g-footer__item {
	margin-bottom: 10px;
}

.office__list-wrap .g-footer__item:last-child {
	margin-bottom: 0;
}

.office__list-wrap .g-footer__item dt {
	font-weight: 600;
	font-size: 1.3rem;
	display: block;
}

.office__list-wrap .g-footer__item dd p {
	margin: 0;
}

.num-wrap {
	display: inline-block;
}

.link-related-wrap {
	text-align: left;
}

.footer__link-related {
	position: relative;
	padding: 40px 0 0;
	border-top: 1px solid rgba(0,0,0,0.1);
	box-sizing: border-box;
}

.footer__link-related .g-footer__list-ttl {
	text-align: center;
	font-size: 1.6rem;
	font-weight: 400;
}

.footer__link-related .g-footer__list {
	width: 100%;
	margin: 0 auto;
	position: relative;
	display: inline-flex;
	flex-wrap: wrap;
	font-size: 0;
}

/*.footer__link-related:before {
	content: "";
	width: calc(100% - 50px);
	display: block;
}*/

.footer__link-related .g-footer__item {
	display: inline-block;
	margin-bottom: 20px;
	width: 50%;
	text-align: center;
}

.footer__link-related .g-footer__item figure {
	width: auto;
	height: 30px;
	margin-bottom: 8px;
}

.footer__link-related .g-footer__item figcaption {
	font-size: 1.0rem;
	display: block;
	line-height: 1.4;
	letter-spacing: -0.04rem;
}

.footer__link-related .g-footer__item img {
	height: 100%;
	width: auto;
}

.footer__link-related .g-footer__item.img--weak img {
	filter: saturate(0%);
	opacity: 0.5;
}

.footer__link-related .g-footer__item a img {
	opacity: 0.8;
}

.footer__link-related .g-footer__item a:hover img {
	opacity: 1;
}

.g-footer__aside-wrap {
	padding: 40px 0;
}

.g-footer__aside-wrap .en {
	font-weight: 500;
}

.g-footer__aside__link {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin: 0;
}

.g-footer__aside-wrap .aside-link__list li {
	display: inline-block;
	margin-right: 20px;
}

.copy {
	font-size: 1.1rem;
	color: rgba(0,0,0,0.5);
}

/* Page top */

.page--top_btn {
	display: inline-block;
	width: 12px;
	height: 10px;
	margin-top: 5px;
}

.page--top_btn a {
	width: 0;
	height: 0;
	background-color: transparent;
	border-top: 10px solid transparent;
	border-right: 8px solid transparent;
	border-bottom: 10px solid #143c78;
	border-left: 8px solid transparent;
	display: inline-block;
}

/* Key Visual Title */

.kv-inner__ttl {
	/*font-size: 3.5rem;*/
	font-size: 2.8rem;
	line-height: 1;
	letter-spacing: 0.2rem;
}

/* Home = Child */

.section__ttl {
	font-size: 3.0rem;
	letter-spacing: 0.08rem;
	text-align: center;
}

.pc .g-nav .g-nav__link:hover,
.pc .child-nav__item a:hover {
	color: #143c78;
}

.pc .g-nav .g-nav__link:after,
.pc .child-nav__item a:after {
	opacity: 0;
	content: "";
	position: absolute;
	bottom: 15px;
	right: 0;
	left: 0;
	margin: auto;
	width: 0;
	height: 0;
	background-color: transparent;
	transition: .2s ease;
}

.pc .g-nav .g-nav__link:after {
	border-bottom: 8px solid #143c78;
	border-top: 5px solid transparent;
	border-right: 5px solid transparent;
	border-left: 5px solid transparent;
}

.pc .child-nav__item a:after {
	bottom: 0;
	border-bottom: 7px solid rgba(20,60,120,0.8);
	border-top: 4px solid transparent;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent;
}

.pc .g-nav .g-nav__link:hover:after,
.pc .child-nav__item a:hover:after,
.pc .g-nav__li.current a:after {
	opacity: 1;
}

/* Button */

.section__btn .btn {
	line-height: 1;
	font-size: 1.3rem;
	letter-spacing: 0.08rem;
	padding: 8px 10px 10px;
	min-height: 35px;
}

/* ============================================================================================== */
/* Child Page common                                                                              */
/* ============================================================================================== */

.child-section {
	margin: 0 auto 80px; 
}

.bg--color .child-section:last-child {
	margin-bottom: 0;
}

.child-section-inner__ttl {
	font-size: 2.5rem;
}

.child-section__kv-img figure {
	height: 34vh;
	overflow: hidden;
}

.child-section__kv-img .ofi {
	object-position: center;
	height: 100%;
}

.child-section__txt-wrap.ja {
	position: relative;
	margin-bottom: 25px;
}

.child-section__kv-txt {
	display: inline-block;
	position: absolute;
	bottom: -1em;
	z-index: 10;
	max-width: 1200px;
	margin: auto;
	right: 0;
	left: 0;
}

.child-section__ttl {
	line-height: 1.1;
	margin: 0 auto;
}

.child-page__ttl {
	text-align: center;
	margin: 0 auto 45px;
}

.child .section__ttl .ja__txt {
	display: block;
	font-size: 1.3rem;
}

.child-section__lede {
	font-size: 1.5rem;
	line-height: 1.2;
}

.child-nav__list {
	overflow: hidden;
	margin: 0 auto;
	position: relative;
}

.child-nav__item {
	display: inline-block;
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
}

.child-nav__item a {
	position: relative;
}

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

.child-nav__item:after {
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	width: 1px;
	height: 100%;
	background-color: rgba(51,51,51,0.1);
}

.child-nav__list a {
	text-decoration: none;
	font-size: 1.4rem;
	line-height: 1;
	display: inline-block;
}

.col3__nav .child-nav__list a {
	padding: 10px 15px;
}

.child-section__contents {
	overflow: hidden;
}

.child-section__txt:last-child,
.translation--en,
.translation--en p {
	margin-bottom: 0;
}

.child__txt {
	margin: 0 auto;
}

.lede-message {
	background-color: #FFF;
	display: inline-block;
	padding: 5px 10px;
}

/* contents内 小contents */

.child-section__sub-contents {
	padding-top: 60px;
}

/* 小title */
.child-section__sub-contents .en {
	text-align: center;
	margin-bottom: 30px;
}

/* ============================================================================================== */
/* Media query                                                                                    */
/* ============================================================================================== */

/* ----------------------------------------------------------------------- */
/* SmartPhone */

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

	.g-nav .g-nav__link {
		font-size: 3rem;
	}

	/* Key Visual Title */

	.kv-inner__ttl {
		font-size: 3.6rem;
		line-height: 1;
	}

	/* global footer */

	.footer__link-related .g-footer__item {
		margin-bottom: 30px;
	}

	.footer__link-related .g-footer__item figure {
		height: 35px;
	}

	/* child common */

	.child-section__kv-txt {
		bottom: -18px;
	}

}

/* ---------------------------------------------------------------------------------------------- */
/* Tablet                                                                                         */

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

	.g-nav .g-nav__link {
		font-size: 3rem;
		line-height: 1.85;
	}

	/* Key Visual Title */

	.kv-inner__ttl {
		font-size: 6rem;
		line-height: 1;
	}

	/* global footer */

	.office__list-wrap .g-footer__item dt {
		margin-bottom: 6px;
	}

	.g-footer-contents.footer__info-office {
		width: 60%;
	}

	.g-footer-contents.footer__link-related {
		width: 40%;
		padding: 0 15px;
		border-top: none;
	}

	.office__list-wrap {
		padding-right: 15px;
		text-align: left;
	}

	.footer__link-related .g-footer__list {
		text-align: center;
	}

	.footer__link-related .g-footer__item {
		width: 100%;
	}

	#global-footer .call {
		margin-right: 10px;
	}

	/* footer 分割線（縦） */

	.footer__link-related:after {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
		width: 1px;
		height: 100%;
		background-color: rgba(0,0,0,0.1);
	}

	/* Home = Child */

	.section__ttl {
		font-size: 3.8rem;
	}

}

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

	.call {
		text-decoration: none;
		pointer-events: none;
	}

	/* global header */

	.g-header {
		height: 110px;
	}

	/* global footer */

	.g-footer-contents.footer__info-office {
		width: calc(100% - 280px);
	}

	.g-footer-contents.footer__link-related {
		width: 280px;
		max-width: 280px;
		padding-left: 35px;
	}

	.office__list-wrap {
		padding-right: 35px;
	}

	.footer__link-related .g-footer__list {
		text-align: left;
		display: flex;
		flex-wrap: wrap;
	}

	.footer__link-related .g-footer__item figure {
		height: 40px;
	}

	.footer__link-related .g-footer__list-ttl {
		font-size: 1.8rem;
	}

	/* footer aside */

	.g-footer__aside-wrap {
		padding: 60px 0;
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-direction: row-reverse;
	}

	.g-footer__aside__link {
		justify-content: flex-start;
	}

	/* Child common */

	.child .main-contents {
		/*padding-top: 100px;*/
		padding-top: 110px;
	}

	.child-section {
		margin: 0 auto 120px; 
	}

	.child-section__txt-wrap.ja {
		margin-bottom: 35px;
	}

	.child-page__ttl {
		margin: 0 auto 70px;
	}

	.child-section__lede {
		font-size: 2rem;
	}

	.col3__nav .child-nav__list a {
		padding: 15px 30px;
	}

	.child-section__kv-txt {
		bottom: -27px;
	}

	.child-section__kv-img figure {
		height: 40vh;
	}

	/* contents内 小contents */

	.child-section__sub-contents {
		padding-top: 140px;
	}

	.office__list-wrap .g-footer__item {
		margin-bottom: 20px;
	}

}

/* ----------------------------------------------------------------------- */
/* over ipad landscape */

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

	/* global */

	.child .main-contents {
		padding-top: 140px;
	}

	.section-contents {
		margin: 0 auto 160px;
	}

	.bg--color {
		margin-bottom: 100px;
	}

	/* body */

	.main-contents {
		padding-top: 140px;
	}

	/* g-header */

	.g-header {
		/*width: calc(100% - 20px);
		height: 80px;
		top: 10px;
		left: 10px;*/
		/*padding-top: 20px;*/
		height: 140px;
		display: flex;
		justify-content: space-between;
	}

	/* menu-button */

	.menu-button {
		display: none;
	}

	/* global-navigation */

	.g-navigation {
		position: relative;
		/*width: auto;*/
		width: 100%;
		height: auto;
		pointer-events: auto;
		text-align: right;
	}

	.g-navigation__inner {
		position: relative;
		height: auto;
		width: auto;
		overflow-y: visible;
		opacity: 1;
		margin-top: 0;
	}

	.g-navigation .anm {
		opacity: 1;
		transform: translateY(0);
	}

	.g-navigation .back-btn__outer {
		display: none;
	}

	/* overlay */

	.g-header__main-outer .overlay {
		display: none;
	}

	/* g-nav */

	.g-nav {
		margin: 0;
		padding: 0;
	}

	.g-nav .g-nav__list {
		display: flex;
	}

	.g-nav .g-nav__li {
		margin-bottom: 0;
		margin-left: 20px;
		position: relative;
	}

	.g-nav .g-nav__li:last-child {
		margin-bottom: 0;
	}

	.g-nav .g-nav__link {
		font-size: 1.5rem;
		height: 60px;
		color: #000;
		display: flex;
		align-items: center;
	}

	.g-nav .ja__txt {
		display: none;
	}

	/* global footer */

	.g-footer {
	}

	.g-footer-maincontents hr {
	}

	.g-footer-contents.footer__link-related {
		padding: 0 35px;
	}

	.office__list-wrap {
		padding-right: 35px;
	}

	.office__list-wrap .g-footer__item dl {
		display: flex;
		align-items: flex-start;
		justify-content: flex-start;
	}

	.office__list-wrap .g-footer__item dt {
		width: 110px;
	}

	/* Home = Child */

	.kv-inner__ttl {
		font-size: 8rem;
	}

	.section__ttl {
		font-size: 4.5rem;
	}

	/* Child common */

	.child .main-contents {
		padding-top: 170px;
	}

	/* Child Background = gray */

	.bg--color-inner {
		padding: 90px 0;
	}

	/*  Child Key visual */

	.child-section__kv {
		width: calc(100% - 100px);
		max-width: 1200px;
		margin: 0 auto;
	}

	.child-section__kv-img figure {
		height: auto;
	}

	.child-section__kv-img .ofi {
		object-fit: unset;
		object-position: unset;
		height: auto;
	}

	/* ----- */

	.child-section-inner__ttl {
		font-size: 3rem;
	}

	.col3__nav .child-nav__list a {
		padding: 20px 65px;
		font-size: 1.8rem;
	}

	.child__txt {
		max-width: 700px;
	}

	.child .section__ttl .ja__txt {
		font-size: 1.6rem;
	}

	.child-section {
		margin: 0 auto 200px; 
	}

	/* contents内 小title */

	.child-section__sub-contents .en {
		margin-bottom: 45px;
	}

}

/* ----------------------------------------------------------------------- */
/* Desktop */

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

	/* global footer */

	.g-footer-contents.footer__info-office {
		width: calc(100% - 450px);
	}

	.g-footer-contents.footer__link-related {
		width: 450px;
		max-width: 450px;
	}

	.footer__link-related .g-footer__item {
		width: 50%;
	}

}

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

}





