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

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

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

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


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

	リスト

=========================================================== */
/* リスト調整 */

[class^="list-style--"],
[class*=" list-style--"] {
/* Default (Basic form : basicstyle.css)
	margin-left: 2em;
*/
}
/* リスト調整(peculiar) */
[class^="list-style__peculiar"],
[class*=" list-style__peculiar"] {
/* Default (Basic form : basicstyle.css)
	margin-left: 2em !important;
*/
	margin-left: 2.5em !important;
}
[class^="list-style__peculiar"] > li,
[class*=" list-style__peculiar"] > li {
/* Default (Basic form : basicstyle.css)
	text-indent: -2em !important;
*/
	text-indent: -2.5em !important;
}
[class^="list-style__peculiar"] > li::before,
[class*=" list-style__peculiar"] > li::before {
/* Default (Basic form : basicstyle.css)
	width: 2em !important;
*/
	width: 2.5em !important;
}
/* ===========================================================

	基本スタイル : テキスト

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

/* 超小文字 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: #131327; font-style: normal; }
/* 太文字 */
.contents-style strong { font-weight: bold; }
/* リード文 */
.text--read {
	font-size: 3.0rem;
	letter-spacing: 0.05em;
	line-height: 1.4 !important;
	color: #c7000d;
}
/* 強調 */
.text--emphasis {
	border: solid 1px #ddd;
    background-color: #f3f3f3;
	padding: 2.0em;
	text-align: center;
	font-size: 1.6rem;
}
/* フォントファミリーリセット */
.font-family--reset { font-family: "ＭＳ ゴシック", "MS Gothic", "Osaka－等幅", Osaka-mono, monospace !important; }

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


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

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

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

.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: #c7000d; text-decoration: none;}
a:hover { color: #333; text-decoration: underline;}


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

/* 外部リンク */
.link-blank,
.blank {
	display: inline-block;
	padding-right: 15px !important;
	margin: 0;
	background-image: url(../img/common/global/icon_blank_b.png);
	background-repeat: no-repeat;
	background-position: right center;
	background-size: 11px 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;
}s

/* 矢印付きリンク */
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;
	*/
	text-decoration: none;
	background-color: #edd9e5;
	display: inline-block;
	padding: 2px 8px 2px 15px;
	border-radius: 3px;
}
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;
	height: 0;
	border: none;
	border-style: solid;
	border-width: 3px 0 3px 4px;
	border-color: transparent transparent transparent #b60081;
	transform: rotate(0);
	left: 5px;
}



/* リンクボタン */
.link-button {
	display: inline-block; padding: 0.25em 2.0em;
	background-color: #131327; color: #fff !important;
}
.link-button:hover { background-color: #285183; }



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

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

=========================================================== */
main{
	font-size: 1.4rem;
}
main h1 {
	position: relative;
	line-height: 1.4;
    padding: 0 0 20px;
    margin: 0 0 40px;
	text-align: center;
	font-size: 3.6rem;
    color: #c7000d;
}
main h1::after {
    position: absolute;
    content: "";
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
    width: 200px;
    height: 1px;
    background-color: #92846e;
}
.contents-style h2 {
	position: relative;
	line-height: 1.4;
	margin: 2em 0 1.5em;
    padding: 0 0 10px;
	text-align: left;
	font-size: 2.8rem;
    color: #4f3b1a;
    border-bottom: solid 1px #4f3b1a;
}
.contents-style > h2:first-child { margin-top: 0; }

.contents-style h3 {
	position: relative;
	line-height: 1.4;
	margin: 2em 0 1.5em;
    padding: 0 0 0 20px;
	text-align: left;
	font-size: 2.4rem;
    color: #111;
    border-left: solid 2px #c7000d;
}
.contents-style h4 {
	display: block;
	padding: 0.5em 1em;
	margin: 0.5em 0 1.0em 0;
	font-size: 1.7rem;
	color: #111;
	position: relative;
	background-color: #f9f9f9;
}
.contents-style h5 {
	border: solid 1px #ddd;
	font-size: 1.6rem;
	padding: 0.5em 1em;
	margin: 1.5em 0 1em;
	font-weight: bold;
	color: #111;
}
.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;
	line-height: 1.8;
	letter-spacing: 0.05em;
}
.contents-style > p:first-child { margin: 0 0 0.5em 0; }


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


img { vertical-align: baseline; height: auto;}

sup, sub { font-size: 0.78em; font-style: inherit; font-weight: inherit; }
sup { vertical-align: top; }
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.3rem; }
.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;
	margin-bottom: 4em;
	width: 100%;
}
.dl-table > dl {
	border-bottom: solid 1px #ddd;
	margin: 0;
	padding: 0.2em 0;
	display: block;
}
.dl-table > dl > dt,
.dl-table > dl > dd {
	padding: 1em 1em;
}
.dl-table > dl > dt {
	white-space: nowrap;
	background-color: #f2f9fc;
	text-align: center;
	width: 15em;
	vertical-align: middle;
}
.dl-table > dl > dd { }

@media screen and (max-width: 767px) {
	.dl-table > dl > dt {
		width: 100%;
		display: block;
		text-align: left;
	}
	.dl-table > dl > dd {
		display: block;
	}
}

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

	基本スタイル : テーブル

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

table { margin: 0 0 1.5em; line-height: 1.4; width: 100%; }
table caption {
	padding: 1.0em 1.0em; line-height: 1.2;
	background-color: #0f94c6;
	color: #fff; text-align: left;
}
table th,
table td {
	padding: 1.0em;
	border-top: solid 1px #ddd;
	border-bottom: solid 1px #ddd;
	vertical-align: middle;
}
table th:last-child,
table td:last-child { border-right: none; }
table thead th { color: #fff; background-color: #333; }
table thead td { background-color: rgba(35, 43, 79, 0.80); }
table tbody th {
	width: 20%;
}
table tbody th,
table tbody td { }
table tbody th { color: #c7000d; 
	border-top: solid 1px #c7000d;
	border-bottom: solid 1px #c7000d;
}
table tbody td { background-color: #fff; }
table tfoot th,
table tfoot td { text-align: center; }
table tfoot th { color: #111;  background-color: rgba(35, 43, 79, 0.60); }
table tfoot td { color: #111; background-color: rgba(35, 43, 79, 0.10); }
.th-secondary {
	background-color: #F2F2F2;
	padding: 0.5em 1.0em;
}
.th-secondary br {
	display: none;
}
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 {
}
@media screen and (max-width: 1200px) {
	table { border-top: solid 1px #ddd; }
	.responsive-table th {
		display: block;
		width: 100%;
		border-bottom: none !important;
		border-right: none !important;
	}
	.responsive-table td {
		display: block;
		width: 100%;
		border-bottom: none !important;
		border-right: none !important;
	}
	.responsive-table tr:last-child td {
		border-bottom: solid 1px #ddd !important;
	}
}


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

	基本スタイル : コラム

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

.column {
	/* Default (Basic form : basicstyle.css)
	margin: 0 -1em;
	*/
}
.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;
	*/
}
@media screen and (max-width: 1200px) {
	.column--equal-width {
		display: block;
		margin: 0;
	}
	.column--equal-width .column__cell {
		padding: 0;
		margin: 0 0 1em;
	}
}

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





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

	基本スタイル : 画像

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

.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: #c7000d;
}
.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: #c7000d;
}
.tab-row > li > a > span {
	/* Default (Basic form : basicstyle.css)
	display: block; width: 100%;
	*/
	padding: 0.50em 1.0em;
}
.character-hub li a:after {
	position: absolute;
	content: "";
	vertical-align: middle;
	top: 22px;
	right: 20px;
	width: 12px;
	height: 12px;
	border-top: 2px solid #c7000d;
	border-right: 2px solid #c7000d;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.character-hub li a:hover:after {
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}



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

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

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















