@charset "utf-8";
/*------------------------------------*\
 * ブレークポイント一覧（モバイルファースト）
 * max-width: 29.9375em ･･･ スマホ調整用
 * min-width: 46.875em ･･･ タブレット以上
 * min-width: 71.875em ･･･ PC・大型タブレット
\*------------------------------------*/


/*============================================================================*\
    $Foundation
\*============================================================================*/
html { font-size: 62.5%; }
.header-is-active { overflow: hidden; }
body {
	background: #fff;
	color: #333;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Roboto, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-size: 1.6em;
	line-height: 1.625;
}
a {
	color: #1b4090;
	transition: color .2s;
}
a:focus,
a:hover { text-decoration: none; }
.no-link {
	color: inherit;
	text-decoration: none;
	pointer-events: none;
	cursor: default; /* IE用 */
}
img { transition: opacity .2s; }
a:focus img,
a:hover img { opacity: .87; }
a.no-link:focus img,
a.no-link:hover img,
a.no-link-action:focus img,
a.no-link-action:hover img { opacity: 1; }




/*============================================================================*\
    $Layout
\*============================================================================*/
/* Wrapper */
.wrapper {
	position: relative;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	padding-right: 2rem;
	padding-left: 2rem;
}

/* Section */
.section-1 { margin-bottom: 3rem; }
.section-2 { margin-bottom: 2rem; }
.section-fill-1 {
	padding-top: 3rem;
	padding-bottom: 3rem;
}
.section-fill-2 {
	padding-top: 2rem;
	padding-bottom: 2rem;
}

@media (min-width:46.875em) {
	/* Wrapper */
	.wrapper {
		padding-right: 7.5rem;
		padding-left: 7.5rem;
	}
	.wrapper--w-m { max-width: 75rem; }
	.wrapper--w-l { max-width: 115rem; }

	/* Section */
	.section-1 { margin-bottom: 5rem; }
	.section-2 { margin-bottom: 3rem; }
	.section-fill-1 {
		padding-top: 5rem;
		padding-bottom: 5rem;
	}
	.section-fill-2 {
		padding-top: 3rem;
		padding-bottom: 3rem;
	}
}


/*------------------------------------*\
    Header
\*------------------------------------*/
.js .header {
	position: absolute;
	z-index: 1;
	-webkit-overflow-scrolling: touch;
	width: 100%;
}
.header-is-active .header,
.header-is-disabled-delay .header { position: fixed; }
.header-is-active .header { overflow-y: scroll; }
.header-inner {
	display: table;
	position: relative;
	width: 100%;
	min-height: 100%;
	padding-top: 8.7rem; /* 3rem + 5.7rem */
	padding-bottom: 3rem;
}
.header-inner::before { /*iOS Safari用（下のコンテンツがスクロールされるのを防ぐ） */
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.header-wrapper {
	display: table-cell;
	vertical-align: middle;
}
.js .header-next { padding-top: 5.8rem; } /* 5.8rem */

/* Logo */
.header-logo {
	position: absolute;
	z-index: 1; /* JS効かない時用 */
	top: 0;
	width: 100%;
	padding-top: 1.5rem;
	padding-right: 2rem;
	padding-left: 2rem;
}
.js .header-logo { padding-right: 8rem; }
.header-logo img { width: 16.9rem; }

/* Global navigation button */
.header-gnav-btn {
	position: fixed;
	z-index: 2;
	top: 0;
	right: 0;
	width: 6.5rem;
	height: 6.5rem;
	padding: 3.7rem 0 0;
	border: none;
	background-color: #002448;
	color: #fff;
	line-height: 1;
	letter-spacing: .1em;
	font-size: 1rem;
	transition-property: background-color, color;
	transition-duration: .2s;
}
.header-gnav-btn:not(:disabled) { cursor: pointer; }
.header-gnav-btn::before,
.header-gnav-btn::after,
.header-gnav-btn__inner::before {
	content: "";
	position: absolute;
	top: 2.6rem;
	right: 0;
	left: 0;
	width: 3rem;
	border-top: .3rem solid;
	margin-right: auto;
	margin-left: auto;
	background-color: #fff;
	transition: .2s transform;
}
.header-gnav-btn::before { transform: translateY(-1.2rem); }
.header-gnav-btn::after { transform: translateY(1.2rem); }
.header-gnav-btn:focus,
.header-gnav-btn:hover,
.header-is-active .header-gnav-btn {
	background-color: #fff;
	color: #1b4090;
}
.header-is-active .header-gnav-btn { position: absolute; }
.header-is-active .header-gnav-btn::before { transform: rotate(45deg) scaleY(.333333); }
.header-is-active .header-gnav-btn::after { transform: rotate(-45deg) scaleY(.333333); }
.header-is-active .header-gnav-btn .header-gnav-btn__inner::before { transform: scaleX(0); }

@media (min-width:46.875em) {
	.header-inner { padding-top: 11.7rem; } /* 3rem + 8.7rem */
	.js .header-next { padding-top: 8.7rem; }
	
	/* Logo */
	.header-logo {
		padding-top: 3rem;
		padding-right: 3rem;
		padding-left: 3rem;
	}
	.js .header-logo { padding-right: 9.5rem; }
	.header-logo img { width: 22.5rem; }
}

/*------------------------------------*\
    Main
\*------------------------------------*/
.main { margin-bottom: 8rem; }

/* Heading */
h1,h2,h3,h4,h5,h6 {
	margin: 0;
	font-size: inherit;
}
/* @note: line-heightをremで指定するとIEで崩れる */
.h1 {
	font-size: 2.4rem;
	line-height: 1.4;
}
.h1-icon-inner-before::before {
	content: "";
	display: inline-block;
	margin-right: .5rem;
	background: url(../img/icon.svg) no-repeat;
	background-size: 7.2rem 13.5rem;
}
.h1-icon-inner-before--stone-white:before,
.h1-icon-inner-before--stone-primary:before {
	width: 3.6rem;
	height: 2.4rem;
	vertical-align: -.4rem;
}
.h1-icon-inner-before--stone-primary:before { background-position: -3.6rem 0; }
.h1-icon-inner-before--doc-white::before,
.h1-icon-inner-before--doc-primary::before {
	width: 2.32rem;
	height: 2.88rem;
	vertical-align: -.56rem;
}
.h1-icon-inner-before--doc-white::before { background-position: 0 -2.4rem; }
.h1-icon-inner-before--doc-primary::before { background-position: -2.32rem -2.4rem; }
.h1-icon-inner-before--list-white::before,
.h1-icon-inner-before--list-primary::before {
	width: 2.24rem;
	height: 2.8rem;
	vertical-align: -.56rem;
}
.h1-icon-inner-before--list-white::before { background-position: 0 -5.28rem; }
.h1-icon-inner-before--list-primary::before { background-position: -2.24rem -5.28rem; }
.h1-icon-inner-before--building-white::before,
.h1-icon-inner-before--building-primary::before {
	width: 3.12rem;
	height: 2.72rem;
	vertical-align: -.4rem;
}
.h1-icon-inner-before--building-white::before { background-position: 0 -8.08rem; }
.h1-icon-inner-before--building-primary::before { background-position: -3.12rem -8.08rem; }
.h1-icon-inner-before--tool-white::before,
.h1-icon-inner-before--tool-primary::before {
	width: 2.72rem;
	height: 2.72rem;
	vertical-align: -.4rem;
}
.h1-icon-inner-before--tool-white::before { background-position: 0 -10.8rem; }
.h1-icon-inner-before--tool-primary::before { background-position: -2.72rem -10.8rem; }
.h1--line-l {
	padding-top: .8rem;
	padding-bottom: .8rem;
	padding-left: 1rem;
	border-left: .3rem solid;
}

@media (min-width:46.875em) {
	.main { margin-bottom: 10rem; }
	.js .hero { padding-top: 3rem; }

	/* Heading */
	.h1 { font-size: 3rem; }
	.h1-icon-inner-before::before {
		margin-right: 1rem;
		background-size: 9rem 16.9rem;
	}
	.h1-icon-inner-before--stone-white:before,
	.h1-icon-inner-before--stone-primary:before {
		width: 4.5rem;
		height: 3rem;
		vertical-align: -.5rem;
	}
	.h1-icon-inner-before--stone-primary:before { background-position: -4.5rem 0; }
	.h1-icon-inner-before--doc-white::before,
	.h1-icon-inner-before--doc-primary::before {
		width: 2.9rem;
		height: 3.6rem;
		vertical-align: -.7rem;
	}
	.h1-icon-inner-before--doc-white::before { background-position: 0 -3rem; }
	.h1-icon-inner-before--doc-primary::before { background-position: -2.9rem -3rem; }
	.h1-icon-inner-before--list-white::before,
	.h1-icon-inner-before--list-primary::before {
		width: 2.8rem;
		height: 3.5rem;
		vertical-align: -.7rem;
	}
	.h1-icon-inner-before--list-white::before { background-position: 0 -6.6rem; }
	.h1-icon-inner-before--list-primary::before { background-position: -2.8rem -6.6rem; }
	.h1-icon-inner-before--building-white::before,
	.h1-icon-inner-before--building-primary::before {
		width: 3.9rem;
		height: 3.4rem;
		vertical-align: -.5rem;
	}
	.h1-icon-inner-before--building-white::before { background-position: 0 -10.1rem; }
	.h1-icon-inner-before--building-primary::before { background-position: -3.9rem -10.1rem; }
	.h1-icon-inner-before--tool-white::before,
	.h1-icon-inner-before--tool-primary::before {
		width: 3.4rem;
		height: 3.4rem;
		vertical-align: -.5rem;
	}
	.h1-icon-inner-before--tool-white::before { background-position: 0 -13.5rem; }
	.h1-icon-inner-before--tool-primary::before { background-position: -3.4rem -13.5rem; }
}


/*------------------------------------*\
    Footer
\*------------------------------------*/
.footer {
	background-color: #002448;
	color: #fff;
}

@media (min-width:46.875em) {
	.footer-copyright { margin-right: -6.5rem; }
}




/*============================================================================*\
    $Object -- Component
\*============================================================================*/

/*------------------------------------*\
    Tables
\*------------------------------------*/
.table {
	width: 100%;
	max-width: 100%;
}
.table th,
.table td {
	padding: 1.2rem 1.4rem;
	border-style: solid;
	border-color: #1b4090;
	border-width: .1rem 0;
}

/* Caption */
.table-caption {
	margin-bottom: 1rem;
	font-size: .875em;
	font-size: calc(1em - .2rem);
}
.table-caption[data-position="top"] { caption-side: top; }
.table-caption[data-position="bottom"] {
	caption-side: bottom;
	margin-top: 1rem;
	margin-bottom: 0;
}

/* Bordered */
.table--bordered th,
.table--bordered td {
	border-right-width: .1rem;
	border-left-width: .1rem;
}

/* Borderless */
.table--borderless th,
.table--borderless td {
	border: none!important;
	background-color: transparent;
}

/* Overflow */
.table-overflow-auto {
	display: block;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	width: 100%;
	margin-bottom: 1em;
}
.table-overflow-auto table { margin-bottom: 0; }
.table-overflow-auto th,
.table-overflow-auto td { white-space: nowrap; }
.table-overflow-auto::-webkit-scrollbar { height: 2.5rem; }
.table-overflow-auto::-webkit-scrollbar-track {
	box-shadow : none;
	background-color: #eee;
}
.table-overflow-auto::-webkit-scrollbar-thumb {
	border: .4rem solid #eee;
	background-color: #7994a5;
	border-radius: 2.5rem;
}

@media (min-width:46.875em) {
	.table-overflow-md-visible { overflow-x: visible; } 
	.table-overflow-md-visible th,
	.table-overflow-md-visible td { white-space: normal; }
}


/*------------------------------------*\
    Buttons
\*------------------------------------*/
.btn {
	display: inline-block;
	overflow: visible;
	position: relative;
	max-width: 100%;
	margin: 0;
	padding: 1.3rem 2.2rem;
	border: .2rem solid transparent;
	border-radius: 0;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.3;
	vertical-align: middle;
	text-align: center;
	text-decoration: none!important;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	transition: background-color .2s;
}
.btn:not(:disabled) { cursor: pointer; }

/* Widths */
.btn--w-s { width: 28rem; }
.btn--w-m { width: 32rem; }

/* Sizes */
.btn--size-xxs,
.btn--size-xs {
	padding-top: .6rem;
	padding-bottom: .6rem;
}
.btn--size-xxs { font-size: 1.2rem; }
.btn--size-xs,
.btn--size-s { font-size: 1.4rem; }
.btn--size-s,
.btn--size-l {
	padding-top: .9rem;
	padding-bottom: .9rem;
}
.btn--size-l,
.btn--size-xl { font-size: 2.2rem; }
.btn--size-xl {
	padding-top: 1.6rem;
	padding-bottom: 1.6rem;
}

/* Themes */
.btn--primary,
.btn--secondary,
.btn--tertiary,
.btn--transparent,
.btn--outline-transparent { color: #fff; }
.btn--primary { background-color: #1b4090; }
.btn--primary:focus,
.btn--primary:hover { background-color: #0e3383; } /* 5%暗く */
.btn--primary:active { background-color: #022777; } /* 10%暗く */
.btn--secondary { background-color: #ff9600; }
.btn--secondary:focus,
.btn--secondary:hover { background-color: #f28900; }
.btn--secondary:active { background-color: #e67d00; }
.btn--tertiary { background-color: #3fa9f5; }
.btn--tertiary:focus,
.btn--tertiary:hover { background-color: #329ce8; }
.btn--tertiary:active { background-color: #2690dc; }
.btn--white {
	background-color: #fff;
	color: #333;
}
.btn--outline-primary,
.btn--outline-transparent { border-color: currentColor; }
.btn--outline-primary { color: #0e3383; }
.btn--outline-transparent { border-color: currentColor; }
.btn--white:focus,
.btn--white:hover { background-color: #f2f2f2; }
.btn--white:active { background-color:#e5e5e5; }
.btn--outline-primary:focus,
.btn--outline-primary:hover { background-color: rgba(27,64,144,.05); }
.btn--outline-primary:active { background-color: rgba(27,64,144,.1); }
.btn--transparent:focus,
.btn--transparent:hover,
.btn--outline-transparent:focus,
.btn--outline-transparent:hover { background-color: rgba(0,0,0,.05); }
.btn--transparent:active,
.btn--outline-transparent:active { background-color: rgba(0,0,0,.1); }
.btn--disabled,
.btn:disabled {
	opacity: .38;
	pointer-events: none;
}

/* Icons */
.btn-icon-fixed-l,
.btn-icon-fixed-r {
	padding-left: 4.5rem; /* 2.4rem + .9rem + 1.2rem */
	padding-right: 4.5rem;
}
.btn-icon-fixed-l--arrow02-l::after, /* 配置: 左, 矢印の向き: 左 */
.btn-icon-fixed-r--arrow02-r::after, /* 配置: 右, 矢印の向き: 右 */
.btn-icon-fixed-l--arrow01-l::after,
.btn-icon-fixed-r--arrow01-r::after {
	content: "";
	position: absolute;
	top: 50%;
	transition: .2s transform;
}
.btn-icon-fixed-l--arrow01-l::after,
.btn-icon-fixed-r--arrow01-r::after {
	width: 1rem;
	height: 1rem;
	border-style: solid;
	border-width: 0 .2rem .2rem 0;
	margin-top: -.5rem;
}
.btn-icon-fixed-l--arrow02-l::after,
.btn-icon-fixed-r--arrow02-r::after {
	width: .9rem;
	height: .6rem;
	margin-top: -.3rem;
	background: url(../img/btn-icon.svg) no-repeat -5.8rem 0/6.7rem 2.9rem;
}
.btn-icon-fixed-l--arrow01-l:after,
.btn-icon-fixed-l--arrow02-l:after { left: 2.4rem; }
.btn-icon-fixed-r--arrow01-r::after,
.btn-icon-fixed-r--arrow02-r::after { right: 2.4rem; }
.btn-icon-fixed-l--arrow01-l::after { transform: scaleY(.75) rotate(135deg); }
.btn-icon-fixed-r--arrow01-r::after { transform: scaleY(.75) rotate(-45deg); }
.btn-icon-fixed-r--arrow02-r::after { transform: rotate(180deg); }
.btn-icon-fixed-l--arrow01-l:focus::after,
.btn-icon-fixed-l--arrow01-l:hover::after { transform: scaleY(.75) translateX(-.2rem) rotate(135deg); }
.btn-icon-fixed-l--arrow01-l:active::after { transform: scaleY(.75) translateX(-.3rem) rotate(135deg); }
.btn-icon-fixed-r--arrow01-r:focus::after,
.btn-icon-fixed-r--arrow01-r:hover::after { transform: scaleY(.75) translateX(.2rem) rotate(-45deg); }
.btn-icon-fixed-r--arrow01-r:active::after { transform: scaleY(.75) translateX(.3rem) rotate(-45deg); }
.btn-icon-fixed-l--arrow02-l:focus::after,
.btn-icon-fixed-l--arrow02-l:hover::after { transform: translateX(-.2rem); }
.btn-icon-fixed-l--arrow02-l:active::after { transform: translateX(-.3rem); }
.btn-icon-fixed-r--arrow02-r:focus::after,
.btn-icon-fixed-r--arrow02-r:hover::after { transform: translateX(.2rem) rotate(180deg); }
.btn-icon-fixed-r--arrow02-r:active::after { transform: translateX(.3rem) rotate(180deg); }

/* Icons (inner) */
.btn-icon-inner,
.btn-icon-inner-before {
	padding-top: 1rem;
	padding-bottom: 1rem;
}
.btn-icon-inner.btn--square,
.btn-icon-inner.btn--square {
	padding-right: 1rem;
	padding-left: 1rem;
}
.btn-icon-inner.btn--size-xs,
.btn-icon-inner-before.btn--size-xs {
	padding-top: .5rem;
	padding-bottom: .5rem;
}
.btn-icon-inner.btn--size-xs.btn--square,
.btn-icon-inner-before.btn--size-xs.btn--square {
	padding-right: .5rem;
	padding-left: .5rem;
}
.btn-icon-inner.btn--size-l,
.btn-icon-inner-before.btn--size-l {
	padding-top: .8rem;
	padding-bottom: .8rem;
}
.btn-icon-inner.btn--size-l.btn--square,
.btn-icon-inner-before.btn--size-l.btn--square {
	padding-right: .8rem;
	padding-left: .8rem;
}
.btn-icon-inner.btn--size-xl,
.btn-icon-inner-before.btn--size-xl {
	padding-top: 1.2rem;
	padding-bottom: 1.2rem;
}
.btn-icon-inner.btn--size-xl.btn--square,
.btn-icon-inner-before.btn--size-xl.btn--square {
	padding-right: 1.2rem;
	padding-left: 1.2rem;
}
.btn-icon-inner::before,
.btn-icon-inner-before::before {
	content: "";
	display: inline-block;
	vertical-align: -.7rem;
}
.btn-icon-inner.btn--size-xs::before,
.btn-icon-inner-before.btn--size-xs::before { vertical-align: -.3rem; }
.btn-icon-inner.btn--size-xl::before,
.btn-icon-inner-before.btn--size-xl::before { vertical-align: -1rem; }
.btn-icon-inner-before::before { margin-right: .9rem; }
.btn-icon-inner--search::before,
.btn-icon-inner-before--search::before,
.btn-icon-inner--login::before,
.btn-icon-inner-before--login::before {
	width: 2.6rem;
	height: 2.6rem;
	padding-top: 2.6rem;
	background: url(../img/btn-icon.svg) no-repeat;
	background-size: 6rem 2.6rem;
}
.btn-icon-inner--login::before,
.btn-icon-inner-before--login::before { background-position: -2.6rem 0; }
.btn-icon-inner--search.btn--size-xs::before,
.btn-icon-inner-before--search.btn--size-xs::before,
.btn-icon-inner--login.btn--size-xs::before,
.btn-icon-inner-before--login.btn--size-xs::before {
	width: 2rem;
	height: 2rem;
	padding-top: 2rem;
	background-size: 4.6rem 2rem;
}
.btn-icon-inner--login.btn--size-xs::before,
.btn-icon-inner-before--login.btn--size-xs::before { background-position: -2rem 0; }
.btn-icon-inner--search.btn--size-l::before,
.btn-icon-inner-before--search.btn--size-l::before,
.btn-icon-inner--login.btn--size-l::before,
.btn-icon-inner-before--login.btn--size-l::before {
	width: 2.9rem;
	height: 2.9rem;
	padding-top: 2.9rem;
	background-size: 6.7rem 2.9rem;
}
.btn-icon-inner--login.btn--size-l::before,
.btn-icon-inner-before--login.btn--size-l::before { background-position: -2.9rem 0; }
.btn-icon-inner--search.btn--size-xl::before,
.btn-icon-inner-before--search.btn--size-xl::before,
.btn-icon-inner--login.btn--size-xl::before,
.btn-icon-inner-before--login.btn--size-xl::before {
	width: 3.6rem;
	height: 3.6rem;
	padding-top: 3.6rem;
	background-size: 8.3rem 3.6rem;
}
.btn-icon-inner--login.btn--size-xl::before,
.btn-icon-inner-before--login.btn--size-xl::before { background-position: -3.6rem 0; }
.btn-icon-inner--arrow03-t::before,
.btn-icon-inner-before--arrow03-t::before,
.btn-icon-inner--arrow03-r::before,
.btn-icon-inner-before--arrow03-r::before,
.btn-icon-inner--arrow03-l::before,
.btn-icon-inner-before--arrow03-l::before {
	width: 1.4rem;
	height: 1.4rem;
	margin: .6rem;
	border-style: solid;
	border-width: 0 .2rem .2rem 0;
	transition: .2s transform;
}
.btn-icon-inner--arrow03-t::before,
.btn-icon-inner-before--arrow03-t::before { transform: translateY(.35rem) rotate(-135deg); } /* translateYはheightの25% */
.btn-icon-inner--arrow03-r::before,
.btn-icon-inner-before--arrow03-r::before { transform: translateX(-.35rem) rotate(-45deg); }
.btn-icon-inner--arrow03-l::before,
.btn-icon-inner-before--arrow03-l::before { transform: translateX(.35rem) rotate(135deg); }
.btn-icon-inner--arrow03-t.btn--size-xs::before,
.btn-icon-inner-before--arrow03-t.btn--size-xs::before,
.btn-icon-inner--arrow03-r.btn--size-xs::before,
.btn-icon-inner-before--arrow03-r.btn--size-xs::before,
.btn-icon-inner--arrow03-l.btn--size-xs::before,
.btn-icon-inner-before--arrow03-l.btn--size-xs::before {
	width: 1.3rem;
	height: 1.3rem;
	margin: .35rem;
}
.btn-icon-inner--arrow03-t.btn--size-xs::before,
.btn-icon-inner-before--arrow03-t.btn--size-xs::before { transform: translateY(.32rem) rotate(-135deg); }
.btn-icon-inner--arrow03-r.btn--size-xs::before,
.btn-icon-inner-before--arrow03-r.btn--size-xs::before { transform: translateX(-.32rem) rotate(-45deg); }
.btn-icon-inner--arrow03-l.btn--size-xs::before,
.btn-icon-inner-before--arrow03-l.btn--size-xs::before { transform: translateX(.32rem) rotate(135deg); }
.btn-icon-inner--arrow03-t.btn--size-l::before,
.btn-icon-inner-before--arrow03-t.btn--size-l::before,
.btn-icon-inner--arrow03-r.btn--size-l::before,
.btn-icon-inner-before--arrow03-r.btn--size-l::before,
.btn-icon-inner--arrow03-l.btn--size-l::before,
.btn-icon-inner-before--arrow03-l.btn--size-l::before {
	width: 1.7rem;
	height: 1.7rem;
}
.btn-icon-inner--arrow03-t.btn--size-l::before,
.btn-icon-inner-before--arrow03-t.btn--size-l::before { transform: translateY(.425rem) rotate(-135deg); }
.btn-icon-inner--arrow03-r.btn--size-l::before,
.btn-icon-inner-before--arrow03-r.btn--size-l::before { transform: translateX(-.425rem) rotate(-45deg); }
.btn-icon-inner--arrow03-l.btn--size-l::before,
.btn-icon-inner-before--arrow03-l.btn--size-l::before { transform: translateX(.425rem) rotate(135deg); }
.btn-icon-inner--arrow03-t.btn--size-xl::before,
.btn-icon-inner-before--arrow03-t.btn--size-xl::before,
.btn-icon-inner--arrow03-r.btn--size-xl::before,
.btn-icon-inner-before--arrow03-r.btn--size-xl::before,
.btn-icon-inner--arrow03-l.btn--size-xl::before,
.btn-icon-inner-before--arrow03-l.btn--size-xl::before {
	width: 2.7rem;
	height: 2.7rem;
	margin: .5rem;
}
.btn-icon-inner--arrow03-t.btn--size-xl::before,
.btn-icon-inner-before--arrow03-t.btn--size-xl::before { transform: translateY(.675rem) rotate(-135deg); }
.btn-icon-inner--arrow03-r.btn--size-xl::before,
.btn-icon-inner-before--arrow03-r.btn--size-xl::before { transform: translateX(-.675rem) rotate(-45deg); }
.btn-icon-inner--arrow03-l.btn--size-xl::before,
.btn-icon-inner-before--arrow03-l.btn--size-xl::before { transform: translateX(.675rem) rotate(135deg); }
.btn-icon-inner-before--arrow03-t::before,
.btn-icon-inner-before--arrow03-t.btn--size-xs::before,
.btn-icon-inner-before--arrow03-r::before,
.btn-icon-inner-before--arrow03-r.btn--size-xs::before,
.btn-icon-inner-before--arrow03-l::before,
.btn-icon-inner-before--arrow03-l.btn--size-xs::before { margin-right: 1.2rem; }
.btn-icon-inner-before--arrow03-t.btn--size-xl::before,
.btn-icon-inner-before--arrow03-r.btn--size-xl::before,
.btn-icon-inner-before--arrow03-l.btn--size-xl::before { margin-right: 1.4rem; }
.btn-icon-inner--arrow03-t:focus::before,
.btn-icon-inner-before--arrow03-t:focus::before,
.btn-icon-inner--arrow03-t:hover::before,
.btn-icon-inner-before--arrow03-t:hover::before { transform: translateY(.15rem) rotate(-135deg); } /* translateYは通常-.2rem */
.btn-icon-inner--arrow03-t:active::before,
.btn-icon-inner-before--arrow03-t:active::before { transform: translateY(.05rem) rotate(-135deg); } /* translateYは通常-.3rem */
.btn-icon-inner--arrow03-t.btn--size-xs:focus::before,
.btn-icon-inner-before--arrow03-t.btn--size-xs:focus::before,
.btn-icon-inner--arrow03-t.btn--size-xl:hover::before,
.btn-icon-inner-before--arrow03-t.btn--size-xs:hover::before { transform: translateY(.12rem) rotate(-135deg); }
.btn-icon-inner--arrow03-t.btn--size-xl:active::before,
.btn-icon-inner-before--arrow03-t.btn--size-xs:active::before { transform: translateY(.02rem) rotate(-135deg); }
.btn-icon-inner--arrow03-t.btn--size-l:focus::before,
.btn-icon-inner-before--arrow03-t.btn--size-l:focus::before,
.btn-icon-inner--arrow03-t.btn--size-l:hover::before,
.btn-icon-inner-before--arrow03-t.btn--size-l:hover::before { transform: translateY(.225rem) rotate(-135deg); }
.btn-icon-inner--arrow03-t.btn--size-xl:active::before,
.btn-icon-inner-before--arrow03-t.btn--size-l:active::before { transform: translateY(.125rem) rotate(-135deg); }
.btn-icon-inner--arrow03-t.btn--size-xl:focus::before,
.btn-icon-inner-before--arrow03-t.btn--size-xl:focus::before,
.btn-icon-inner--arrow03-t.btn--size-xl:hover::before,
.btn-icon-inner-before--arrow03-t.btn--size-xl:hover::before { transform: translateY(.475rem) rotate(-135deg); }
.btn-icon-inner--arrow03-t.btn--size-xl:active::before,
.btn-icon-inner-before--arrow03-t.btn--size-xl:active::before { transform: translateY(.375rem) rotate(-135deg); }
.btn-icon-inner--arrow03-r:focus::before,
.btn-icon-inner-before--arrow03-r:focus::before,
.btn-icon-inner--arrow03-r:hover::before,
.btn-icon-inner-before--arrow03-r:hover::before { transform: translateX(-.15rem) rotate(-45deg); }
.btn-icon-inner--arrow03-r:active::before,
.btn-icon-inner-before--arrow03-r:active::before { transform: translateX(-.05rem) rotate(-45deg); }
.btn-icon-inner--arrow03-r.btn--size-xs:focus::before,
.btn-icon-inner-before--arrow03-r.btn--size-xs:focus::before,
.btn-icon-inner--arrow03-r.btn--size-xl:hover::before,
.btn-icon-inner-before--arrow03-r.btn--size-xs:hover::before { transform: translateX(-.12rem) rotate(-45deg); }
.btn-icon-inner--arrow03-r.btn--size-xl:active::before,
.btn-icon-inner-before--arrow03-r.btn--size-xs:active::before { transform: translateX(-.02rem) rotate(-45deg); }
.btn-icon-inner--arrow03-r.btn--size-l:focus::before,
.btn-icon-inner-before--arrow03-r.btn--size-l:focus::before,
.btn-icon-inner--arrow03-r.btn--size-l:hover::before,
.btn-icon-inner-before--arrow03-r.btn--size-l:hover::before { transform: translateX(-.225rem) rotate(-45deg); }
.btn-icon-inner--arrow03-r.btn--size-xl:active::before,
.btn-icon-inner-before--arrow03-r.btn--size-l:active::before { transform: translateX(-.125rem) rotate(-45deg); }
.btn-icon-inner--arrow03-r.btn--size-xl:focus::before,
.btn-icon-inner-before--arrow03-r.btn--size-xl:focus::before,
.btn-icon-inner--arrow03-r.btn--size-xl:hover::before,
.btn-icon-inner-before--arrow03-r.btn--size-xl:hover::before { transform: translateX(-.475rem) rotate(-45deg); }
.btn-icon-inner--arrow03-r.btn--size-xl:active::before,
.btn-icon-inner-before--arrow03-r.btn--size-xl:active::before { transform: translateX(-.375rem) rotate(-45deg); }
.btn-icon-inner--arrow03-l:focus::before,
.btn-icon-inner-before--arrow03-l:focus::before,
.btn-icon-inner--arrow03-l:hover::before,
.btn-icon-inner-before--arrow03-l:hover::before { transform: translateX(.15rem) rotate(135deg); }
.btn-icon-inner--arrow03-l:active::before,
.btn-icon-inner-before--arrow03-l:active::before { transform: translateX(.05rem) rotate(135deg); }
.btn-icon-inner--arrow03-l.btn--size-xs:focus::before,
.btn-icon-inner-before--arrow03-l.btn--size-xs:focus::before,
.btn-icon-inner--arrow03-l.btn--size-xl:hover::before,
.btn-icon-inner-before--arrow03-l.btn--size-xs:hover::before { transform: translateX(.12rem) rotate(135deg); }
.btn-icon-inner--arrow03-l.btn--size-xl:active::before,
.btn-icon-inner-before--arrow03-l.btn--size-xs:active::before { transform: translateX(.02rem) rotate(135deg); }
.btn-icon-inner--arrow03-l.btn--size-l:focus::before,
.btn-icon-inner-before--arrow03-l.btn--size-l:focus::before,
.btn-icon-inner--arrow03-l.btn--size-l:hover::before,
.btn-icon-inner-before--arrow03-l.btn--size-l:hover::before { transform: translateX(.225rem) rotate(135deg); }
.btn-icon-inner--arrow03-l.btn--size-xl:active::before,
.btn-icon-inner-before--arrow03-l.btn--size-l:active::before { transform: translateX(.125rem) rotate(135deg); }
.btn-icon-inner--arrow03-l.btn--size-xl:focus::before,
.btn-icon-inner-before--arrow03-l.btn--size-xl:focus::before,
.btn-icon-inner--arrow03-l.btn--size-xl:hover::before,
.btn-icon-inner-before--arrow03-l.btn--size-xl:hover::before { transform: translateX(.475rem) rotate(135deg); }
.btn-icon-inner--arrow03-l.btn--size-xl:active::before,
.btn-icon-inner-before--arrow03-l.btn--size-xl:active::before { transform: translateX(.375rem) rotate(135deg); }

/* Page */
.btn-page {
	min-width: 3rem;
	padding: .5rem .2rem;
	border-width: .1rem;
	font-size: 1.8rem;
	font-weight: normal;
	line-height: 1;
}
.btn-page.btn--outline-primary {
	border-color: #1b4090;
	color: inherit;
}
.btn-page-icon-inner::before,
.btn-page-icon-inner--arrow01-double-l::after,
.btn-page-icon-inner--arrow01-double-r::after {
	content: "";
	display: inline-block;
}
.btn-page-icon-inner--arrow01-l::before,
.btn-page-icon-inner--arrow01-double-l::before,
.btn-page-icon-inner--arrow01-r::before,
.btn-page-icon-inner--arrow01-double-r::before,
.btn-page-icon-inner--arrow01-l::after,
.btn-page-icon-inner--arrow01-double-l::after,
.btn-page-icon-inner--arrow01-double-r::after {
	width: 1rem;
	height: 1rem;
	border-style: solid;
	border-width: 0 .1rem .1rem 0;
	vertical-align: .2rem;
	transition: .2s transform;
}
.btn-page-icon-inner--arrow01-l::before,
.btn-page-icon-inner--arrow01-double-l::before,
.btn-page-icon-inner--arrow01-double-l::after { transform: scaleY(.75) rotate(135deg); }
.btn-page-icon-inner--arrow01-r::before,
.btn-page-icon-inner--arrow01-double-r::before,
.btn-page-icon-inner--arrow01-double-r::after { transform: scaleY(.75) rotate(-45deg); }
.btn-page-icon-inner--arrow01-l::before { margin-left: .25rem; }
.btn-page-icon-inner--arrow01-double-l::before { margin-left: .25rem; }
.btn-page-icon-inner--arrow01-double-l::after { margin-right: -.25rem; }
.btn-page-icon-inner--arrow01-r::before { margin-left: -.25rem; }
.btn-page-icon-inner--arrow01-double-l::after,
.btn-page-icon-inner--arrow01-double-r::after { margin-left: -.375rem; }
.btn-page-icon-inner--arrow01-double-r::before { margin-left: -.25rem; }
.btn-page-icon-inner--arrow01-double-r::after { margin-right: .25rem; }
.btn-page-icon-inner--arrow01-l:focus::before,
.btn-page-icon-inner--arrow01-double-l:focus::before,
.btn-page-icon-inner--arrow01-double-l:focus::after,
.btn-page-icon-inner--arrow01-l:hover::before,
.btn-page-icon-inner--arrow01-double-l:hover::before,
.btn-page-icon-inner--arrow01-double-l:hover::after { transform: translateX(-.1rem) scaleY(.75) rotate(135deg); }
.btn-page-icon-inner--arrow01-r:focus::before,
.btn-page-icon-inner--arrow01-double-r:focus::before,
.btn-page-icon-inner--arrow01-double-r:focus::after,
.btn-page-icon-inner--arrow01-r:hover::before,
.btn-page-icon-inner--arrow01-double-r:hover::before,
.btn-page-icon-inner--arrow01-double-r:hover::after { transform: translateX(.1rem) scaleY(.75) rotate(-45deg); }
.btn-page-icon-inner--arrow01-l:active::before,
.btn-page-icon-inner--arrow01-double-l:active::before,
.btn-page-icon-inner--arrow01-double-l:active::after { transform: translateX(-.2rem) scaleY(.75) rotate(135deg); }
.btn-page-icon-inner--arrow01-r:active::before,
.btn-page-icon-inner--arrow01-double-r:active::before,
.btn-page-icon-inner--arrow01-double-r:active::after { transform: translateX(.2rem) scaleY(.75) rotate(-45deg); }

@media (min-width:46.875em) {
	.btn--size-xs,
	.btn--size-s { font-size: 1.6rem; }
	.btn--size-xs {
		padding-top: .5rem;
		padding-bottom: .5rem;
	}
	.btn--size-s {
		padding-top: .8rem;
		padding-bottom: .8rem;
	}
}


/*------------------------------------*\
    Images
\*------------------------------------*/
/* Link Action */
.img-focus-hover-zoom img { transition: .2s transform; }
a.img-focus-hover-zoom:focus img,
a.img-focus-hover-zoom:hover img {
	transform: scale(1.1);
	image-rendering: -webkit-optimize-contrast;
}

/* Shadow */
.img-shadow { box-shadow: 0 0 0 .1rem rgba(0,0,0,.3) inset; }
.img-shadow img {
	position: relative;
	z-index: -1;
}




/*============================================================================*\
    $Object -- Project
\*============================================================================*/

/*------------------------------------*\
    Form
\*------------------------------------*/
::-webkit-input-placeholder { color: #b7b7b7; }
::-moz-placeholder { opacity: 1; color: #b7b7b7; }
:-ms-input-placeholder { color: #b7b7b7!important; }
:placeholder-shown { color: #b7b7b7; }
.form-input,
.form-textarea,
.form-select,
.form-select option {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.form-input,
.form-textarea,
.form-select {
	width: 100%;
	padding: 0 1.5rem;
	border: .1rem solid #999;
	background-color: #fff;
	color: inherit;
	transition-property: border-color, box-shadow, background-color;
	transition-duration: .2s;
	outline: 0;
	-webkit-tap-highlight-color: transparent;
}
.form-input.rounded-pill,
.form-textarea.rounded-pill,
.form-select.rounded-pill {
	padding-right: 2.5rem;
	padding-left: 2.5rem;
}
.form-input,
.form-select:not([multiple]) {
	height: 5rem;
	vertical-align: middle;
}
.form-input {
	display: inline-block;
	line-height: 1;
}
.form-input::-ms-clear,
.form-input::-ms-reveal { /* IE10以上用 */
	height: 2rem;
	margin-right: -.6rem;
	color: #999;
}
.form-textarea {
	height: auto;
	min-height: 10rem;
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
	vertical-align: top;
}
.form-select-wrap { position: relative; }
.form-select-wrap::before,
.form-select-wrap::after {
	content: "";
	position: absolute;
	pointer-events: none;
}
.form-select-wrap::before {
	top: .1rem;
	right: .1rem;
	bottom: .1rem;
	width: 5rem;
	border-left: .1rem solid #999;
	background-color: #ff9600;
}
.form-select-wrap.rounded::before {
	border-top-right-radius: .2rem;
	border-bottom-right-radius: .2rem;
}
.form-select-wrap::after {
	top: 50%;
	right: 1.65rem;
	transform: translateY(-75%) rotate(45deg); /* translateYはheightの25% */
	width: 1.7rem;
	height: 1.7rem;
	border-style: solid;
	border-color: #fff;
	border-width: 0 .2rem .2rem 0;
}
.form-select {
	display: block;
	padding: 0;
}
.form-select:not([multiple]) { padding: 0 6rem 0 1rem; }
.form-select::-ms-expand { display: none; } /* IE10以上用 */
.form-select option { padding: .8rem 1.5rem; }

/* Widths */
.form-w-l { width: 52rem; }
.form-w-m { width: 32rem; }
.form-max-w-l { max-width: 52rem; }
.form-max-w-m { max-width: 32rem; }

/* Sizes */
.form-size-l { height: 5.5rem; }
.form-size-l.form-input.rounded-pill,
.form-size-l.form-textarea.rounded-pill,
.form-size-l.form-select.rounded-pill {
	padding-right: 3rem;
	padding-left: 3rem;
}
.form-size-s { height: 4rem; }
.form-size-s .form-select {
	height: 100%;
	padding-right: 5rem;
}
.form-size-s.form-select-wrap::before { width: 4rem; }
.form-size-s.form-select-wrap::after {
	right: 1.35rem;
	width: 1.3rem;
	height: 1.3rem;
}

/* Checkbox Radio */
.form-checkbox,
.form-radio {
	display: block;
	position: relative;
	z-index: 0;
	padding-left: 4.7rem;
}
.form-checkbox input,
.form-radio input {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	clip: rect(1px,1px,1px,1px);
	width: 1px;
	height: 1px;
}
.form-checkbox .form__icon,
.form-radio .form__icon {
	position: absolute;
	top: -.2rem;
	left: 0;
	width: 3rem;
	height: 3rem;
	border: .2rem solid #c6c6c6;
	background-color: #fff;
	color: transparent;
	transition-property: background-color, border-color, box-shadow, color;
	transition-duration: .2s;
}
.form-checkbox input:not([disabled]) + .form__icon,
.form-radio input:not([disabled]) + .form__icon { cursor: pointer; }
.form-checkbox .form__icon::before {
	content: "";
	display: block;
	position: absolute;
	top: .3rem;
	left: .7rem;
	transform: rotate(48deg);
	width: 1.1rem;
	height: 1.6rem;
	border-style: solid;
	border-width: 0 .4rem .4rem 0;
	border-color: currentColor;
}
.form-radio .form__icon::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: .6rem;
	height: .6rem;
	background-color: currentColor;
}
.form__icon.rounded-circle::before { border-radius: 50%; }
.form-checkbox input:checked + .form__icon,
.form-radio input:checked + .form__icon {
	background-color: #ff9600;
	border-color: transparent;
	color: #fff;
}
.form-checkbox input:checked:focus + .form__icon,
.form-radio input:checked:focus + .form__icon { background-color: #d67500; }

/* Confirm */
.confirm .form-checkbox,
.confirm .form-radio { cursor: default; }
.confirm .form-checkbox .form__icon,
.confirm .form-radio .form__icon {
	border-color: transparent;
	background-color: #eee;
}
.confirm .form-checkbox input:checked + .form__icon,
.confirm .form-radio input:checked + .form__icon {
	background-color: #666;
	color: #eee;
}

/* State */
.form-input:disabled,
.form-textarea:disabled,
.form-input[readonly],
.form-textarea[readonly],
.form-checkbox input:disabled + .form__icon,
.form-radio input[readonly] + .form__icon { background-color: #f5f5f7; }
.form-input:disabled,
.form-textarea:disabled,
.form-input[readonly],
.form-textarea[readonly] { color: #808080; }
.form-input:focus,
.form-textarea:focus,
.form-select:focus,
.form-checkbox input:focus + .form__icon,
.form-radio input:focus + .form__icon {
	border-color: #1b4090;
	box-shadow: 0 0 0 .2rem rgba(27,64,144,.3);
}

/* Bootstrap Validation */
.valid-feedback,
.invalid-feedback {
	display: none;
	margin-top: 1rem;
	font-size: 1.4rem;
}
.form-checkbox .valid-feedback,
.form-radio .valid-feedback,
.form-checkbox .invalid-feedback,
.form-radio .invalid-feedback { margin-top: .5em; }
.invalid-feedback { color: #dc3545; }
.valid-feedback { color: #28a745; }

/* Validation Result */
.was-validated [class*="form-"]:valid ~ .valid-feedback,
.was-validated .form-checkbox input:valid ~ .valid-feedback,
.was-validated .form-radio input:valid ~ .valid-feedback,
.was-validated [class*="form-"]:invalid ~ .invalid-feedback,
.was-validated .form-checkbox input:invalid ~ .invalid-feedback,
.was-validated .form-radio input:invalid ~ .invalid-feedback { display: block; }
form:not([novalidate]) .form-input:invalid,
form:not([novalidate]) .form-textarea:invalid,
form:not([novalidate]) .form-select:invalid,
form:not([novalidate]) .form-checkbox input:invalid + .form__icon,
form:not([novalidate]) .form-radio input:invalid + .form__icon,
.was-validated .form-input:invalid,
.was-validated .form-textarea:invalid,
.was-validated .form-select:invalid,
.was-validated .form-checkbox input:invalid + .form__icon,
.was-validated .form-radio input:invalid + .form__icon { border-color: #dc3545; }
.was-validated .form-input:valid,
.was-validated .form-textarea:valid,
.was-validated .form-select:valid { border-color: #28a745; }

form:not([novalidate]) .form-input:invalid:focus,
form:not([novalidate]) .form-textarea:invalid:focus,
form:not([novalidate]) .form-select:invalid:focus,
form:not([novalidate]) .form-checkbox input:invalid:focus + .form__icon,
form:not([novalidate]) .form-radio input:invalid:focus + .form__icon,
.was-validated .form-input:invalid:focus,
.was-validated .form-textarea:invalid:focus,
.was-validated .form-select:invalid:focus,
.was-validated .form-checkbox input:invalid:focus + .form__icon,
.was-validated .form-radio input:invalid:focus + .form__icon { box-shadow: 0 0 0 .2rem rgba(220,53,69,.3); }

/* Group */
.form-group > :not(:first-child) { /* .fx-rowと併用 */
	margin-left: -.1rem;
	border-left-color: transparent;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}
.form-group > :not(:last-child) {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}
.form-group .form-input.rounded-pill::-ms-clear,
.form-group .form-input.rounded-pill::-ms-reveal { margin-right: -1.6rem; } /* IE10以上用 */
.form-group .form-input.rounded-pill.rounded-pill::-ms-clear,
.form-group .form-input.rounded-pill.rounded-pill::-ms-reveal { margin-right: -2.1rem; }
.form-group .form-input.rounded-pill::-webkit-search-cancel-button {
	position: relative; /* safari用 */
	margin-right: -.7rem;
}
.form-group .form-input.form-size-l.rounded-pill::-webkit-search-cancel-button { margin-right: -1.2rem; }

/* Layout */
.form-label {
	display: block;
	margin-bottom: 1rem;
	font-weight: bold;
}

@media (min-width:30em) {
	/* Widths */
	.form-w-sm-l { width: 52rem; }
	.form-w-sm-m { width: 32rem; }
	.form-max-w-sm-l { max-width: 52rem; }
	.form-max-w-sm-m { max-width: 32rem; }
}

@media (min-width:46.875em) {
	/* Sizes */
	.form-size-l { height: 6rem; }
	
	/* Widths */
	.form-w-md-l { width: 52rem; }
	.form-w-md-m { width: 32rem; }
	.form-max-w-md-l { max-width: 52rem; }
	.form-max-w-md-m { max-width: 32rem; }

	/* Layout */
	.form-horizontal .form-label {
		float: left;
		width: 10rem;
		margin-top: 1.2rem;
		padding-right: 3rem;
	}
	.form-horizontal .form-controls { margin-left: 10rem; }
}


/*------------------------------------*\
    Search
\*------------------------------------*/
/* Box */
.search-box {
	margin-right: -2rem;
	margin-left: -2rem;
	padding: 2rem;
}

/* Keyword Button */
.search-keyword-btn {
	padding-left: 2rem;
	padding-right: 2.5rem;
}

@media (min-width:46.875em) {
	/* Box */
	.search-box {
		margin-right: 0;
		margin-left: 0;
		padding: 3rem 2.5rem;
		border-radius: 1rem;
	}

	/* Keyword Button */
	.search-keyword-btn {
		padding-left: 2.2rem;
		padding-right: 2.9rem;
	}
}


/*------------------------------------*\
    Slick
\*------------------------------------*/
.slick-dots {
	display: flex;
	justify-content: center;
	list-style: none;
	margin-top: -.2rem;
	margin-right: -.1rem;
	margin-left: -.1rem;
	padding-left: 0;
	margin-bottom: 0;
}
.slick-dots li {
	margin-top: .2rem;
	padding-right: .1rem;
	padding-left: .1rem;
}
.slick-dots button {
	overflow: hidden;
	display: block;
	position: relative;
	width: 1.6rem;
	height: 1.6rem;
	padding: 1.4rem 0 0;
	border: none;
	background-color: transparent;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
}
.slick-dots button::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 1.2rem;
	height: 1.2rem;
	margin: auto;
	border: .1rem solid #333;
	border-radius: 50%;
	background-color: transparent;
}
.slick-active button::before { background-color: #333; }




/*============================================================================*\
    $Object -- Utilities（原則編集禁止）
\*============================================================================*/

/* Display */
.d-none { display: none; }
.d-block { display: block; }
.d-inline { display: inline; }
.d-inline-block { display: inline-block; }
.js .d-js-block { display: block; }

@media (min-width:30em) {
	.d-sm-none { display: none!important; }
	.d-sm-block { display: block!important; }
	.d-sm-inline { display: inline!important; }
	.d-sm-inline-block { display: inline-block!important; }
	.js .d-sm-js-block { display: block!important; }
}

@media (min-width:46.875em) {
	.d-md-none { display: none!important; }
	.d-md-block { display: block!important; }
	.d-md-inline { display: inline!important; }
	.d-md-inline-block { display: inline-block!important; }
	.js .d-md-js-block { display: block!important; }
}

@media (min-width:71.875em) {
	.d-lg-none { display: none!important; }
	.d-lg-block { display: block!important; }
	.d-lg-inline { display: inline!important; }
	.d-lg-inline-block { display: inline-block!important; }
	.js .d-lg-js-block { display: block!important; }
}

@media print {
	.d-print-none { display: none!important; }
	.d-print-block { display: inline!important; }
	.d-print-inline { display: inline!important; }
	.d-print-inline-block { display: inline-block!important; }
}

/* Overflow */
.overflow-hidden { overflow: hidden; }

/* Visually hidden */
.visually-hidden,
.visually-hidden-focusable {
	overflow: hidden;
	position: absolute;
	clip: rect(1px,1px,1px,1px);
	width: 1px;
	height: 1px;
	margin: -1px;
}
.visually-hidden-focusable:focus {
	overflow: visible;
	position: static;
	clip: auto;
	width: auto;
	height: auto;
	margin: 0;
}

/* Clearing */
.clr { clear: both; }
.clearfix::after { content: ""; display: block; clear: both; }

/* Float */
.float-start { float: left; }
.float-end { float: right; }
.float-none { float: none; }

/* Lists */
.list-unstyled,
.list-inline { list-style: none; padding-left: 0; }
.list-inline-item { display: inline; }
.list-inline-item:not(:last-of-type) { margin-right: .75em; }
.list-unstyled dt { font-weight: normal; }
.list-unstyled dd { margin-left: 0; }

/* Widths */
.w-100 { width: 100%; }
.w-90 { width: 90%; }
.w-80 { width: 80%; }
.w-75 { width: 75%; }
.w-70 { width: 70%; }
.w-66 { width: 66%; }
.w-60 { width: 60%; }
.w-50 { width: 50%; }
.w-40 { width: 40%; }
.w-33 { width: 33%; }
.w-30 { width: 30%; }
.w-25 { width: 25%; }
.w-20 { width: 20%; }
.w-15 { width: 15%; }
.w-10 { width: 10%; }
.w-auto { width: auto; }

/* Height */
.min-h-100vh { min-height: 100vh; }

/* Margins */
.m-0 { margin: 0!important; }
.mt-0,.my-0 { margin-top: 0!important; }
.mb-0,.my-0 { margin-bottom: 0!important; }
.me-0,.mx-0 { margin-right: 0!important; }
.ms-0,.mx-0 { margin-left: 0!important; }
.m-1 { margin: .5rem!important; }
.mt-1,.my-1 { margin-top: .5rem!important; }
.me-1,.mx-1 { margin-right: .5rem!important; }
.mb-1,.my-1 { margin-bottom: .5rem!important; }
.ms-1,.mx-1 { margin-left: .5rem!important; }
.m-2 { margin: 1rem!important; }
.mt-2,.my-2 { margin-top: 1rem!important; }
.me-2,.mx-2 { margin-right: 1rem!important; }
.mb-2,.my-2 { margin-bottom: 1rem!important; }
.ms-2,.mx-2 { margin-left: 1rem!important; }
.m-3 { margin: 1.4rem!important; }
.mt-3,.my-3 { margin-top: 1.4rem!important; }
.me-3,.mx-3 { margin-right: 1.4rem!important; }
.mb-3,.my-3 { margin-bottom: 1.4rem!important; }
.ms-3,.mx-3 { margin-left: 1.4rem!important; }
.m-4 { margin: 1.5rem!important; }
.mt-4,.my-4 { margin-top: 1.5rem!important; }
.me-4,.mx-4 { margin-right: 1.5rem!important; }
.mb-4,.my-4 { margin-bottom: 1.5rem!important; }
.ms-4,.mx-4 { margin-left: 1.5rem!important; }
.m-5 { margin: 1.6rem!important; }
.mt-5,.my-5 { margin-top: 1.6rem!important; }
.me-5,.mx-5 { margin-right: 1.6rem!important; }
.mb-5,.my-5 { margin-bottom: 1.6rem!important; }
.ms-5,.mx-5 { margin-left: 1.6rem!important; }
.m-6 { margin: 2rem!important; }
.mt-6,.my-6 { margin-top: 2rem!important; }
.me-6,.mx-6 { margin-right: 2rem!important; }
.mb-6,.my-6 { margin-bottom: 2rem!important; }
.ms-6,.mx-6 { margin-left: 2rem!important; }
.m-6 { margin: 2.5rem!important; }
.mt-7,.my-7 { margin-top: 2.5rem!important; }
.me-7,.mx-7 { margin-right: 2.5rem!important; }
.mb-7,.my-7 { margin-bottom: 2.5rem!important; }
.ms-7,.mx-7 { margin-left: 2.5rem!important; }
.m-8 { margin: 3rem!important; }
.mt-8,.my-8 { margin-top: 3rem!important; }
.me-8,.mx-8 { margin-right: 3rem!important; }
.mb-8,.my-8 { margin-bottom: 3rem!important; }
.ms-8,.mx-8 { margin-left: 3rem!important; }
.m-9 { margin: 3.5rem!important; }
.mt-9,.my-9 { margin-top: 3.5rem!important; }
.me-9,.mx-9 { margin-right: 3.5rem!important; }
.mb-9,.my-9 { margin-bottom: 3.5rem!important; }
.ms-9,.mx-9 { margin-left: 3.5rem!important; }
.m-10 { margin: 4rem!important; }
.mt-10,.my-10 { margin-top: 4rem!important; }
.me-10,.mx-10 { margin-right: 4rem!important; }
.mb-10,.my-10 { margin-bottom: 4rem!important; }
.ms-10,.mx-10 { margin-left: 4rem!important; }
.m-11 { margin: 4.5rem!important; }
.mt-11,.my-11 { margin-top: 4.5rem!important; }
.me-11,.mx-11 { margin-right: 4.5rem!important; }
.mb-11,.my-11 { margin-bottom: 4.5rem!important; }
.ms-11,.mx-11 { margin-left: 4.5rem!important; }
.m-12 { margin: 5rem!important; }
.mt-12,.my-12 { margin-top: 5rem!important; }
.me-12,.mx-12 { margin-right: 5rem!important; }
.mb-12,.my-12 { margin-bottom: 5rem!important; }
.ms-12,.mx-12 { margin-left: 5rem!important; }
.me-auto,.mx-auto { margin-right: auto!important; }
.ms-auto,.mx-auto { margin-left: auto!important; }

/* Paddings */
.p-0 { padding: 0!important; }
.pt-0,.py-0 { padding-top: 0!important; }
.pb-0,.py-0 { padding-bottom: 0!important; }
.pe-0,.px-0 { padding-right: 0!important; }
.ps-0,.px-0 { padding-left: 0!important; }
.p-1 { padding: .5rem!important; }
.pt-1,.py-1 { padding-top: .5rem!important; }
.pe-1,.px-1 { padding-right: .5rem!important; }
.pb-1,.py-1 { padding-bottom: .5rem!important; }
.ps-1,.px-1 { padding-left: .5rem!important; }
.p-2 { padding: 1rem!important; }
.pt-2,.py-2 { padding-top: 1rem!important; }
.pe-2,.px-2 { padding-right: 1rem!important; }
.pb-2,.py-2 { padding-bottom: 1rem!important; }
.ps-2,.px-2 { padding-left: 1rem!important; }
.p-3 { padding: 1.4rem!important; }
.pt-3,.py-3 { padding-top: 1.4rem!important; }
.pe-3,.px-3 { padding-right: 1.4rem!important; }
.pb-3,.py-3 { padding-bottom: 1.4rem!important; }
.ps-3,.px-3 { padding-left: 1.4rem!important; }
.p-4 { padding: 1.5rem!important; }
.pt-4,.py-4 { padding-top: 1.5rem!important; }
.pe-4,.px-4 { padding-right: 1.5rem!important; }
.pb-4,.py-4 { padding-bottom: 1.5rem!important; }
.ps-4,.px-4 { padding-left: 1.5rem!important; }
.p-5 { padding: 1.6rem!important; }
.pt-5,.py-5 { padding-top: 1.6rem!important; }
.pe-5,.px-5 { padding-right: 1.6rem!important; }
.pb-5,.py-5 { padding-bottom: 1.6rem!important; }
.ps-5,.px-5 { padding-left: 1.6rem!important; }
.p-6 { padding: 2rem!important; }
.pt-6,.py-6 { padding-top: 2rem!important; }
.pe-6,.px-6 { padding-right: 2rem!important; }
.pb-6,.py-6 { padding-bottom: 2rem!important; }
.ps-6,.px-6 { padding-left: 2rem!important; }
.p-6 { padding: 2.5rem!important; }
.pt-7,.py-7 { padding-top: 2.5rem!important; }
.pe-7,.px-7 { padding-right: 2.5rem!important; }
.pb-7,.py-7 { padding-bottom: 2.5rem!important; }
.ps-7,.px-7 { padding-left: 2.5rem!important; }
.p-8 { padding: 3rem!important; }
.pt-8,.py-8 { padding-top: 3rem!important; }
.pe-8,.px-8 { padding-right: 3rem!important; }
.pb-8,.py-8 { padding-bottom: 3rem!important; }
.ps-8,.px-8 { padding-left: 3rem!important; }
.p-9 { padding: 3.5rem!important; }
.pt-9,.py-9 { padding-top: 3.5rem!important; }
.pe-9,.px-9 { padding-right: 3.5rem!important; }
.pb-9,.py-9 { padding-bottom: 3.5rem!important; }
.ps-9,.px-9 { padding-left: 3.5rem!important; }
.p-10 { padding: 4rem!important; }
.pt-10,.py-10 { padding-top: 4rem!important; }
.pe-10,.px-10 { padding-right: 4rem!important; }
.pb-10,.py-10 { padding-bottom: 4rem!important; }
.ps-10,.px-10 { padding-left: 4rem!important; }
.p-11 { padding: 4.5rem!important; }
.pt-11,.py-11 { padding-top: 4.5rem!important; }
.pe-11,.px-11 { padding-right: 4.5rem!important; }
.pb-11,.py-11 { padding-bottom: 4.5rem!important; }
.ps-11,.px-11 { padding-left: 4.5rem!important; }
.p-12 { padding: 5rem!important; }
.pt-12,.py-12 { padding-top: 5rem!important; }
.pe-12,.px-12 { padding-right: 5rem!important; }
.pb-12,.py-12 { padding-bottom: 5rem!important; }
.ps-12,.px-12 { padding-left: 5rem!important; }

/* Borders */
.border-bottom { border-bottom: .1rem solid; }
.border-primary { border-color: #1b4090; }
.border-transparent { border-color: transparent; }
 
/* Border-radius */
.rounded,
.rounded-1 { border-radius: .3rem; }
.rounded-2 { border-radius: .5rem; }
.rounded-3 { border-radius: 1rem; }
.rounded-circle { border-radius: 50%; }
.rounded-pill { border-radius: 10rem; }

/* Background */
.bg-quaternary { background-color: #f0f3f5; }
.bg-white { background-color: #fff; }
.bg-earth { background: #1b4090 url(../img/bg-earth.jpg) no-repeat center top/cover; }

/* Shadow */
.shadow { box-shadow: 0 .5rem .5rem rgba(0,0,0,.2); }

/* Color */
.text-primary { color: #1b4090; }
.text-body { color: #333; }
.text-white { color: #fff; }
.text-danger { color: #dc3545; }

/* Text wrapping */
.text-nowrap { white-space: nowrap; }

/* Font size */
.fs-l { font-size: 1.8rem; }
.fs-m { font-size: 1.6rem; }
.fs-s { font-size: 1.4rem; }

/* Font weights */
.fw-bold { font-weight: bold; }
.fw-normal { font-weight: normal; }

/* Font italic */
.fst-italic { font-style: italic; }

/* Text indents */
.text-indent-1,
li.text-indent-1,
ul.text-indent-1 > li { padding-left: 1em; text-indent: -1em; }
ul.text-indent-1 { list-style: none; padding-left: 0; text-indent: 0; }

/* Text alignment */
.text-start { text-align: left; }
.text-center { text-align: center; }
.text-end { text-align: right; }
.text-justify { text-align: justify; }

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

/* Pointer events */
.pe-none { pointer-events: none!important; }
