@charset "UTF-8";
/* ===========================================================

	Title: style.css
	Created: 2018-7-12
	必要に応じて編集。モジュール一覧に準拠

=========================================================== */
/*

	基本スタイル : テキスト
	基本スタイル : コンテンツ間にマージンをとる
	基本スタイル : リンク
	基本スタイル : インデントリスト・注意書き
	基本スタイル : シンプルテーブル
	基本スタイル : テーブル
	基本スタイル : コラム
	基本スタイル : 画像
	コンテンツスタイル : タブモジュール
	コンテンツスタイル : リリースリスト
	コンテンツスタイル : リンクモジュール


=========================================================== */

.global-content { font-size: 1.0em; line-height: 1.8; }

.link-button-parade a { color: #000; border: solid 1px #000; border-radius: 2px; }

.link-button-parade a:hover,
.link-button-parade a.current,
.link-button-parade a.current:hover { background-color: #000; color: #fff; }


/* ===========================================================

	基本スタイル : テキスト

=========================================================== */

/* 超小文字 12px */
.text--x-small { font-size: 1.1rem !important; }
/* 小文字 14px */
.text--small { font-size: 1.2rem!important; }
/* 通常 16px */
.text--medium { font-size: 1.4rem !important; }
/* 大文字 18px */
.text--large { font-size: 1.8rem !important; }
/* 特大文字 20px */
.text--x-large { font-size: 2.4rem !important; }
/* 色文字 */
.contents-style em { color: #3267b1; font-style: normal; }
/* 太文字 */
.contents-style strong { font-weight: bold; }
/* リード文 */
.text--read { font-size: 2.0rem; letter-spacing: 0.05em; line-height: 1.9em; color: #000; }
/* 強調 */
.text--emphasis {
	border: solid 1px #0b3190;
	padding: 1.0em;
	margin: 0 0 1em;
}
.text--emphasis ul { 
	margin-bottom: 0 !important;
}

/* フォントファミリーリセット */
.font-family--reset { font-family: "ＭＳ ゴシック", "MS Gothic", "Osaka－等幅", Osaka-mono, monospace !important; }

/* 赤文字 */
.text--red { color: #f00; }
/* 白文字 */
.text--white { color: #fff; }
.text--blue {color: #5278a7;}


/* ===========================================================

	基本スタイル : コンテンツ間にマージンをとる

=========================================================== */

.contents-style section,
.cont-margin { margin-bottom: 4.0em !important; }

/* ===========================================================

	基本スタイル : リンク

=========================================================== */

a {
	font-style: inherit; font-weight: inherit;
	text-decoration: none; color: #000;
	transition: all 0.5s;
}
a:link,
a:visited { color: #0b3190; text-decoration: none;}
a:hover { color: #111; text-decoration: underline;}


/* リンク色反転 */
.link-reverse a:link,
.link-reverse a:visited,
a.link-reverse:link,
a.link-reverse:visited {
	color: #111;
	text-decoration: underline;
}
.link-reverse a:hover,
a.link-reverse:hover {
	color: #0b3190;
	text-decoration: none;
}

/* 外部リンク */
.link-blank,
.blank {
	display: inline-block;
	padding-right: 15px !important;
	margin: 0;
	background-image: url(../img/common/global/icon_blank_a.png);
	background-repeat: no-repeat;
	background-position: right center;
	background-size: 9px auto;
}



/* 矢印付きリンク（三角） */
a.link-triangle, .link-triangle a,
a.link-triangle--top, .link-triangle--top a,
a.link-triangle--left, .link-triangle--left a,
a.link-triangle--bottom, .link-triangle--bottom a,
a.link-triangle--right, .link-triangle--right a {
	/* Default (Basic form : basicstyle.css)
	padding-left: 0.75em;
	*/
}
a.link-triangle::before, .link-triangle a::before,
a.link-triangle--top::before, .link-triangle--top a::before,
a.link-triangle--left::before, .link-triangle--left a::before,
a.link-triangle--bottom::before, .link-triangle--bottom a::before,
a.link-triangle--right::before, .link-triangle--right a::before {
	/* Default (Basic form : basicstyle.css)
	margin-top: -0.20em;
	border-width: 0.20em 0 0.20em 0.25em;
	border-color: transparent transparent transparent #000;
	*/
	border-color: transparent transparent transparent #285183;
}






/* 矢印付きリンク */
a.link-arrow, .link-arrow a,
a.link-arrow--top, .link-arrow--top a,
a.link-arrow--left, .link-arrow--left a,
a.link-arrow--bottom, .link-arrow--bottom a,
a.link-arrow--right, .link-arrow--right a {
	/* Default (Basic form : basicstyle.css)
	padding-left: 0.75em;
	*/
	padding-left: 12px;
	text-decoration: none;
}
a.link-arrow::before, .link-arrow a::before,
a.link-arrow--top::before, .link-arrow--top a::before,
a.link-arrow--left::before, .link-arrow--left a::before,
a.link-arrow--bottom::before, .link-arrow--bottom a::before,
a.link-arrow--right::before, .link-arrow--right a::before {
	/* Default (Basic form : basicstyle.css)
	width: 0.30em;
	height: 0.30em;
	margin-top: -0.15em;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	*/
	width: 0.4em;
	height: 0.4em;
	border-top: 1px solid #0b3190;
	border-right: 1px solid #0b3190;
}



/* リンクボタン */
a.link-button,
.link-button a {
	display: inline-block;
	padding: 0.5em 1.0em !important;
	text-align: center;
	border: solid 2px #0b3190;
	min-width: 280px;
	background-image: none;
}
a.link-button:hover,
.link-button a:hover {
	background-color: #0b3190;
	color: #fff;
	text-decoration: none;
}
.link-button a.blank {
}
.link-button a.blank::after {
	content: "";
	display: inline-block;
	margin: 0 0 0 5px;
	padding: 0;
	background-image: url(../img/common/global/icon_blank_a.png);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: 9px auto;
	width: 9px;
	height: 8px;
}



/* ===========================================================

	基本スタイル : ヘッドライン

=========================================================== */
.contents-style h2 {
	position: relative;
	font-size: 2.4rem;
	letter-spacing: 0.05em;
	color: #111;
	font-weight: bold;
	margin: 0 0 1.0em;
	padding-top: 1.5em;
	padding-bottom: 0.8em;
	border-bottom: solid 1px #ccc;
	line-height: 1;
}
.contents-style h2::after {
	content: "";
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100px;
	height: 1px;
	background-color: #0b3190;
}
.contents-style > h2:first-child { padding-top: 0; }

.contents-style h3 {
	display: block; padding: 0 0 0.5em 0; margin: 2.0em 0 1.0em 0;
	font-size: 1.8rem;
	font-weight: bold;
	color: #111; position: relative;
	border-bottom: solid 1px #ddd;
}
.contents-style h2 + h3 {
	margin: 1.0em 0 1.0em 0;
}

.contents-style h4 {
	margin: 2.0em 0 1.0em 0;
	font-size: 1.8rem;
	font-weight: bold;
	color: #71be45;
}
.contents-style h5 {
	margin: 2.0em 0 1.0em 0;
	font-size: 1.8rem;
	font-weight: bold;
	color: #2cb5e5;
}
.contents-style h6 {
	display: block; padding: 0; margin: 1.0em 0 0.5em 0;
	font-size: 1.000em;
	color: #333; position: relative;
}


.contents-style p { margin: 0 0 1em; }


.contents-style ul,
.contents-style ol { margin: 0 0 1em; }
.contents-style li { margin: 0.5em 0; }


img { vertical-align: baseline; height: auto;}
.img-margin {
	padding: 2em 0;
	text-align: center;
}

sup, sub { font-size: 1.1rem; font-style: inherit; font-weight: inherit; }
sup { vertical-align: top; top: 0.5em;}
sub { vertical-align: baseline; }

small { font-size: 0.78em; }

.contents-style input,
.contents-style button,
.contents-style textarea,
.contents-style select { transition: all 0.5s; }
.contents-style .input-ui__select {
	/*
	display: block; padding: 0; margin: 0;
	border: solid 1px #ddd; border-radius: 4px;
	position: relative; overflow: hidden;*/
}
.contents-style .input-ui__select select {
	/*
	display: block; width: 100%; padding: 0.5em 2.0em 0.5em 1.0em; margin: 0;
	font-size: 1em; line-height: 28px;
	*/
	padding: 0.5em 3.0em 0.5em 1.0em;
}
.contents-style .input-ui__select::before {
	display: block; padding: 0.5em 0; margin: 0;
	position: absolute;
	content: "\f107";
	font-family: FontAwesome;
	top: 0; right: 0;
	text-align: center;
	width: 3.0em; height: auto;
	line-height: 28px;
	border: none;
	transform: rotate(0);
}

.contents-style input.input-ui__button {
	border: solid 1px #131327;
	background-color: #131327;
	color: #fff;
}
.contents-style input.input-ui__button:hover {
	background-color: #fff;
	color: #131327;
}
.contents-style input.input-ui__button.input-ui__button--sub {
	border: solid 1px #ddd;
	background-color: #fff;
	color: #000;
}
.contents-style input.input-ui__button.input-ui__button--sub:hover {
	background-color: #ddd;
	color: #131327;
}


/* ===========================================================

	time-stamp

=========================================================== */

.time-stamp { text-align: right; color: #666; font-size: 0.875em; }

/* ===========================================================

	基本スタイル : インデントリスト・注意書き

=========================================================== */

.indent-list { }
.indent-list > li { }
.indent-list > li > span {
	/* Default (Basic form : basicstyle.css)
	padding: 0.25em 0 0.25em 0.25em;
	*/
	padding-left: 1.0em;
}
.indent-list > li::before {
	/* Default (Basic form : basicstyle.css)
	padding: 0.25em 0;
	*/
	padding-right: 0.5em;
	vertical-align: inherit;
}
.caution-text,
.caution { font-size: 1.2rem; }
.caution > li { }
.caution > li > span {
	/* Default (Basic form : basicstyle.css)
	padding: 0.25em 0 0.25em 0.25em;
	*/
}
.caution > li::before {
	/* Default (Basic form : basicstyle.css)
	padding: 0.25em 0;
	*/
}


/* ===========================================================

	基本スタイル : シンプルテーブル

=========================================================== */
/* modifyはcontents.cssにて */
/* dl-table  (Basic form : basicstyle.css) */
.dl-table {
	border-top: solid 1px #ddd;
}
.dl-table > dl {
	margin: 0;
	border-bottom: solid 1px #ddd;
}
.dl-table > dl > dt {
	width: 15em;
	padding: 0.5em 1em 0.5em 0;
}
.dl-table > dl > dd {
	padding: 0.5em 1em 0.5em 0;
}

/* ===========================================================

	基本スタイル : テーブル

=========================================================== */
table {
	margin: 1.0em 0;
	line-height: 1.4;
	width: 100%;
}
table caption {
	padding: 1.0em 1.0em; line-height: 1.2;
	background-color: rgba(35, 43, 79, 0.90); border-top: solid 1px #ddd;
	color: #fff; text-align: left;
}
table th,
table td {
	padding: 1.0em;
	border: solid 1px #a1bde2;
	vertical-align: middle;
}
table th:last-child,
table td:last-child {}
table thead th,
table thead td { text-align: center; }
table thead th { color: #fff; background-color: #3267b1; }
table thead td { color: #111; background-color: #e5e9eb;}
table tbody th {
	width: 20%;
}
table tbody th,
table tbody td { }
table tbody th { background-color: #e5e9eb; }
table tbody td { background-color: #fff; }
table tfoot th,
table tfoot td { text-align: center; }
table tfoot th { color: #fff;  background-color: rgba(35, 43, 79, 0.60); }
table tfoot td { color: #111; background-color: rgba(35, 43, 79, 0.10); }

table td ul:last-child,
table td ol:last-child {
	margin-bottom: 0;
}



/* 狹い余白のテーブル */
table.table--narrow-padding { }
table.table--narrow-padding caption,
table.table--narrow-padding th,
table.table--narrow-padding td { padding: 5px; }

}
 
/* responsive-table
----------------------------------------------------------- */
.responsive-table {}
@media screen and (max-width: 1200px) {
	table.responsive-table tr th,
	table.responsive-table tr td {
		display: block;
		width: 100% !important;
		border-bottom: none;
	}
	table {
		border-bottom: solid 1px #a1bde2;
	}
}
 
/* js-scroll-table  js-scroll-graph  js-scroll-area
----------------------------------------------------------- */
.js-scroll-table {
}
.js-scroll-graph {
}
.js-scroll-area {
}
.js-scroll-table__caution {
	display: none;
		margin: 1.5em 0 0 !important;
		font-size: 12px;
		color: #999;
		padding: 0 0 0 45px;
		background-image: url(../img/common/global/ic_scroll_side.png);
		background-size: 40px auto;
		background-position: 0 50%;
		background-repeat: no-repeat;
}
@media screen and (max-width: 1024px) {
	.js-scroll-table__wrap {
		overflow: auto;
		position: relative;
	}
	.js-scroll-table th, .js-scroll-table td {
		white-space: nowrap;
	}
	.js-scroll-table__caution {
		display: block;
	}
    .js-scroll-table.table-layout--fixed {
        table-layout: auto!important;
    }
}


/* ===========================================================

	基本スタイル : コラム

=========================================================== */

.column {
	/* Default (Basic form : basicstyle.css)
	margin: 0 -1em;
	*/
	justify-content: space-between;
}
.column__cell {
	/* Default (Basic form : basicstyle.css)
	padding: 0 1.0em; margin: 0;
	*/
}

/* 等幅コラム */
.column--equal-width {
	/* Default (Basic form : basicstyle.css)
	margin: 0 -1em;
	*/
}
.column--equal-width .column__cell {
	/* Default (Basic form : basicstyle.css)
	padding: 0 1.0em; margin: 0;
	*/
}

/* 3等分コラム */
.column--3 {
	/* Default (Basic form : basicstyle.css)
	margin: 0 -1em;
	*/
}
.column--3 .column__cell--3of1,
.column--3 .column__cell--3of2,
.column--3 .column__cell--3of3 {
	/* Default (Basic form : basicstyle.css)
	padding: 0 1.0em; margin: 0;
	*/
}

/* 4等分コラム */
.column--4 {
	/* Default (Basic form : basicstyle.css)
	margin: 0 -1em;
	*/
}
.column--4 .column__cell--4of1,
.column--4 .column__cell--4of2,
.column--4 .column__cell--4of3,
.column--4 .column__cell--4of4 {
	/* Default (Basic form : basicstyle.css)
	padding: 0 1.0em; margin: 0;
	*/
}
@media screen and (max-width: 1200px) {
	.column,
	.column--equal-width {
		display: block;
		margin-left: 0;
		margin-right: 0;
	}
	.column__cell,
	.column--equal-width .column__cell {
		width: 100% !important;
		padding-left: 0;
		padding-right: 0;
	}
}





/* ===========================================================

	基本スタイル : 画像

=========================================================== */

.img-float--right {
	/* Default (Basic form : basicstyle.css)
	0 0 2.0em 2.0em;
	*/
}
.img-float--left {
	/* Default (Basic form : basicstyle.css)
	margin: 0 2.0em 2.0em 0;
	*/
}
.img-float--none {
	/* Default (Basic form : basicstyle.css)
	margin: 0 0 2.0em 0;
	*/
}


/* ===========================================================

	コンテンツスタイル : タブモジュール

=========================================================== */
.tab-row {
	/* Default (Basic form : basicstyle.css)
	display: flex; flex-wrap: nowrap;
	*/
	margin: 1.0em 0 !important;
}
.tab-row > li {
	/* Default (Basic form : basicstyle.css)
	display: flex; width: 100%; flex-flow: 1;
	*/
	margin: 0;
	border: solid 1px #ccc;
	border-left: none;
	overflow: hidden;
}
.tab-row > li:first-child {
	border-left: solid 1px #ccc;
}
.tab-row > li:last-child {
}
.tab-row > li > a {
	/* Default (Basic form : basicstyle.css)
	display: flex; width: 100%; flex-flow: 1; 
	align-items: center; align-content: center;
	*/
	background-color: #e9e9e9;
	text-decoration: none;
	padding: 20px 25px;
}
.tab-row > li > a:hover {
	color: #fff; background-color: #0b3190;
}
.tab-row > li > a.current,
.tab-row > li > a.active,
.tab-row > li > a.current:hover,
.tab-row > li > a.active:hover {
	color: #fff; background-color: #0b3190;
}
.tab-row > li > a > span {
	/* Default (Basic form : basicstyle.css)
	display: block; width: 100%;
	*/
	padding: 0.50em 1.0em;
}
@media screen and (max-width: 1200px) {
	.tab-row {
		display: block;
	}
	.tab-row > li {
		margin: 0 0 1px;
		border: solid 1px #ccc !important;
	}
	.tab-row > li > a {
		padding: 0.5em 1.0em;
	}
	.tab-row > li > a > span {
		padding: 0;
	}
}


/* ===========================================================

	コンテンツスタイル : リリースリスト

=========================================================== */
/* date-list */
.date-list {}
.date-list > dl { }
.date-list > dl > dt,
.date-list > dl > dd { }
.date-list > dl > dt {
	padding: 1.0em 1em; width: 1%;
	white-space: nowrap;
}
.date-list__date {
	display: inline-block; line-height: 20px;
	font-size: 0.875em;
	padding: 0 1.0em 0 0;
}
.date-list > dl > dd {
	padding: 1.0em 0; line-height: 1.8;
	font-size: 1.0em;
}
.date-list > dl > dd a {
	display: inline;
}
.date-list > dl > dd a[target="_blank"]:after {}

.date-list__text { font-size: 0.875em; }


/* ===========================================================

	コンテンツスタイル : リンクモジュール

=========================================================== */

/* ボタンパレード */

.link-button-parade {
	/* Default (Basic form : basicstyle.css)
	margin-left: -0.25em; margin-right: -0.25em;
	*/
	margin: 0 -0.25em 1.0em -0.25em !important;
}
.link-button-parade li {
	/* Default (Basic form : basicstyle.css)
	padding-left: 0.25em; padding-right: 0.25em;
	*/
	padding: 0 0.25em;
}
.link-button-parade a {
	padding: 0.25em 1.0em;
	font-size: 0.875em; line-height: 1.4;
}
.link-button-parade a:hover,
.link-button-parade a.current,
.link-button-parade a.current:hover { }

/* ページ内リンク */
.link-button-parade.link-button-parade--in-page a {
	padding: 0.25em 1.0em 0.25em 2.0em;
}
.link-button-parade.link-button-parade--in-page a::before { left: 0.75em; }
.link-button-parade.link-button-parade--in-page a:hover {
	background-color: #fff; color: #285183;
}




/* テキストパレード */

.link-text-parade {
	/* Default (Basic form : basicstyle.css)
	margin-left: -1.0em; margin-right: -1.0em;
	*/
	margin-bottom: 1.0em !important;
}
.link-text-parade li {
	/* Default (Basic form : basicstyle.css)
	padding: 0 1.0em;
	*/
	border-right: solid 1px #ddd;
}
.link-text-parade li:first-child {
	border-left: solid 1px #ddd;
}
.link-text-parade a {
	font-size: 0.875em; line-height: 1.4;
	border-bottom: solid 1px transparent;
}
.link-text-parade a:hover,
.link-text-parade a.current,
.link-text-parade a.current:hover {
	border-bottom: solid 1px #285183;
}




/* 関連リンク */
.link-list-box,
.link-list-box--row,
.link-list-box--column { margin: 0 0 1.0em 0; }

.link-list-box > dt,
.link-list-box--row > dt,
.link-list-box--column > dt {
	padding: 0 1.0em;
	background-color: rgba(35, 43, 79, 0.05);
	color: #131327;
	border: solid 1px #ddd;
}
.link-list-box > dt { border-right: none; }
.link-list-box--row > dt { border-right: none; }
.link-list-box--column > dt { padding: 0.5em 1.0em; border-bottom: none; }

.link-list-box > dd,
.link-list-box--row > dd,
.link-list-box--column > dd { border: solid 1px #ddd; }

.link-list-box > dd { padding: 0.25em 1.0em; }
.link-list-box--row > dd { padding: 0.25em 1.0em; }
.link-list-box--column > dd { padding: 0.25em 1.0em; }

.link-list-box ul,
.link-list-box--row ul,
.link-list-box--column ul { margin: 0 -1.0em; }

.link-list-box li,
.link-list-box--row li,
.link-list-box--column li { display: block; padding: 0.25em 1.0em; margin: 0; }















