@charset "utf-8";


/* HTML5 display definitions */

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; }
[hidden] { display: none; }

/* Base */

html {
	margin: 0;
	padding: 0;
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	overflow-x: hidden;
}
body {
	margin: 0 auto;
	padding: 0;
	margin-bottom: 0px;
	font-size: 16px;
	font-family:'DIN Next W04' sans-serif;
	color: #000;
	background: rgb(0,144,194);
	overflow-x: hidden;
	overflow-y: scroll;
}
section {
	clear: both;
}
div {
	display: block;
}

/*
10px ： 71%
11px ： 78.6%
12px ： 85.7%
13px ： 93%
14px ： 100%
15px ： 107%
16px ： 114.3%
17px ： 121.4%
18px ： 128.6%
19px ： 135.7%
20px ： 142.9%
21px ： 150%
22px ： 157.1%
23px ： 164.3%
24px ： 171.4%
25px ： 178.6%
*/


*{
	line-height:1.3;
	font-family:'DIN Next W04';
	font-style: normal;
	}
p, span {
	margin: 0;
	padding: 0;
}
h1, h2, h3, h4, h5 {
	line-height:1.1;
}
/* Link */

a:link, a:visited {
	color: rgb(0,0,0);
	text-decoration:none;
}
a:hover, a:active {
	color: rgb(0,0,0);
	text-decoration: none;
}
a:active { outline: 0; }

/* Text */

abbr[title] { border-bottom: 1px dotted; }

b, strong { font-weight: bold; }

blockquote { margin: 1em 40px; }

dfn { font-style: italic; }

hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }

ins { background: #ff9; color: #000; text-decoration: none; }

mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }

pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }

q { quotes: none; }
q:before, q:after { content: ""; content: none; }

.invisible {
	display: none;
}
.small {
	font-size: 87.5%;
}
.smaller {
	font-size: 75%;
}
.bold {
	font-weight: 600;
}
.renormal {
	font-weight: normal;
}
.red {
	color: #cc0000;
}
.center {
	text-align: center;
}
.clearfix {
	clear:both;
}
.nospace {
	margin: 0px !important;
	padding: 0px !important;
}



/* 行の高さに影響を与えずに、サブスクリプトおよびスーパースクリプトコンテンツを配置 : h5bp.com/k */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }


/* List */

ul, ol ,dl ,li { list-style: none; list-style-image: none; margin: 0; padding: 0; }
 

/* Content that is embedded */

img { 
	border: 0;
	-ms-interpolation-mode: bicubic;
	vertical-align: middle;
}

/*
 * IE9 で非表示にならないオーバーフローを修正
 */

svg:not(:root) {
	overflow: hidden;
}


/* Figure */

figure { margin: 0; }


/*Table */

table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }

/* ==|== 非セマンティックヘルパークラス ========================================
   このセクションの前にスタイルを定義してください。
   ========================================================================== */

/* イメージの置き換え用 */
.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; }
.ir br { display: none; }

/* スクリーンリーダーとブラウザーの両方で非表示 : h5bp.com/u */
.hidden { display: none !important; visibility: hidden; }

/* 視覚的にのみ非表示にする。ただし、スクリーンリーダーでは使用できるようにする : h5bp.com/v */
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }

/* キーボードを介して移動されたエレメントをフォーカスできるようにするために .visuallyhidden クラスを拡張 : h5bp.com/p */
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }

/* スクリーンリーダーで視覚的に非表示 (ただし、レイアウトは保持) */
.invisible { visibility: hidden; }

/* フロートを含める : h5bp.com/q */ 
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }



/* ==|== General ================== */
.small {
	font-size: 93%;
}
.smaller {
	font-size: 85.7%;
}
.large {
	font-size: 128.6%;
}
.largeer {
	font-size: 150%;
}
.bold {
	font-weight: 600;
}
.renormal {
	font-weight: normal;
}
.red {
	color: #cc0000;
}
.blue, .blue a {
	color: #4cb3ca;
}	
.black, .black a {
	color: #000;
}
.center {
	text-align: center;
}
.invisible {
	display: none;
}

/* =========================== Header =========================== */
#header {
	margin: 0;
	padding: 0 10px;
	width: 100%;
	height: 55px;
	background: rgb(255,255,255)!important;
	border-bottom: solid 1px rgb(204,204,204);
	overflow: auto;
	top: 0;
	left: 0;
	z-index: 10000000;
}
h1 {
	display: block;
	margin: 0;
}
h1 a {
	display: block;
	padding: 8px 0 0 45px;
	width: 220px;
	height: 47px;
	background: url(../icons/h1_other.png) no-repeat;
	background-size:contain;
	background-position: left top;
	font-family:'DIN Next W04';
	font-weight: 500;
	font-style: normal;
	font-size: 20px;
	color: #0060af !important;
	float: left;
}
.h1story {
	font-weight: 500;
	color: #3795d2;
}
@media screen and (max-height: 450px) {
	#header {
		position: inherit;
	}
}
@media screen and (min-width: 980px) {
	h1 a {
		width: 360px;
		font-size: 30px;
	}
	#header {
		position: fixed;
	}
}
/* ==|== Mobile navigaion ================== */
.accordion-container {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	outline: 0;
	cursor: pointer
	z-index: 20000000;
	line-height: 1.2;
}
.accordion-container .article-title {
	display: block;
	margin: 0;
	padding: 4px 10px 6px 10px;
	width: 75px;
	font-size: 18px;
	font-weight: normal;
	color: #fff;
	background: #0060af;
	cursor: pointer;
	float: right;
	border-left: solid 1px #fff;
	border-bottom: solid 1px #fff;
}
.accordion-container .article-title:hover,
.accordion-container .article-title:active,
.accordion-container .content-entry.open .article-title {
	background-color: #3795d2;
	color: white;
}
.accordion-container .article-title:hover i:before,
.accordion-container .article-title:hover i:active,
.accordion-container .content-entry.open i {
	color: white;
}

.article-title{
	position: relative;
}

.article-title:after {
	content: "";
	position: absolute;
	right: 10px;
	top: 25%;
	transition: all 0.2s ease-in-out;
	display: block;
	width: 8px;
	height: 8px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}

.article-title.open:after {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	top: 32%;
}
#togglemenu {
	display: none;
	padding: 0;
	background: rgba(255,255,255,0.9);
	overflow-x: hidden;
	overflow-y: scroll;
	clear: both;
	font-family:'DIN Next W04'; font-weight: 400;  font-style: normal;
}
#togglemenu h4 {
	margin: 0;
	padding: 5px 10px 3px 12px;
	font-size:16px;
	font-weight: 600;
	color: #007CAE;
	float: left;
}
#togglemenu .language {
	margin: 10px 5px 0 0;
	font-size:14px;
	float:right;
}
#togglemenu .copyright {
	font-size:12px;
	padding: 5px 0;
	text-align: center;
	clear: both;
}
#togglemenu ul {
	clear: both;
}
#togglemenu ul li {
	display: block;
	margin:0;
}
#togglemenu ul li a {
	display: block;
	border-bottom: solid 1px #ccc;
	padding: 4px 0 3px 12px;
}
#togglemenu ul li a:hover {
	background: rgba(255,255,255,1);
}
#togglemenu ul li.story a {
	font-size:16px;
	font-weight: 600;
}
#togglemenu ul li.story_sub {
	width:49.7%;
	float:left;
}
#togglemenu ul li.regular {
	font-size:14px;
	width:49.7%;
	float:left;
}
#togglemenu ul li.regular_s {
	font-size:14px;
	width:33.1%;
	float:left;
}

@media screen {
	.accordion-container {
		display: block;
	}
}

/* ==|== Widescreen navigaion ================== */
#col_nav {
	display: none;
}
@media screen and (min-width: 980px) {
	#col_nav {
		display: block;
		margin: 0;
		padding: 5px 10px 0 0;
		float: right;
		overflow: auto;
		font-size:16px;
		font-family:'DIN Next W04'; font-weight: 400;  font-style: normal;
	}
	ul#nav_language {
		float: right;
	}
	ul#nav_language li, ul#nav_language li a {
		display: block;
		margin: 0;
		padding: 0 8px 0 4px;
		text-align: center;
		display:table-cell;
		font-weight: 500;
	}
	ul#navigation {
		margin: 0;
		padding: 0;
		clear: both;
		float: right;
		vertical-align: bottom;
	}
	ul#navigation li, ul#navigation li a {
		margin: 0;
		padding: 0 4px;
		text-align: center;
		display:table-cell;
		font-weight: 500;
	}
	ul#navigation li a:hover, ul#nav_language li a:hover {
		color: rgb(55,149,210);
	}
}

/* ==|== article body ================== */
#col_article {
	margin: 0 auto;
	padding: 0;
	width: 100%;
}
@media screen and (min-width: 980px) {
	#col_article {
		padding: 100px 0 0 0;
		position: absolute;
	}
}

/* ==|== bread crumb ================== */
ul.breadcrumb {
	margin: 0 0 10px 0;
	border-bottom: dotted 1px #FFF;
	clear: both;
}
ul.breadcrumb li {
	display: inline-block;
	font-family:'DIN Next W04'; font-weight: 400;  font-style: normal;
	font-size: 15px;
	color: #FFF;
}
ul.breadcrumb li a {
	color: #FFF;
}
ul.breadcrumb li a:after {
	font-family: 'FontAwesome' ;
	padding: 0 2px 0 4px;
	content: '\f101';
}
@media screen and (min-width: 980px) {
	ul.breadcrumb {
		margin: 0 0 30px 0;
	}
}

/* ==|== Footer ================== */
#footer {
	margin: 0 auto;
	padding: 15px 0 10px 0;
	width: 100%;
	background: #FFFFFF;
	position: absolute;
	text-align: center;
	font-size:13px;
	line-height: 1em !important;
	letter-spacing: 0.1em;
}
#footer p {
	padding:0;
	line-height:1 !important;
}
#col_footer {
	margin: 0 auto;
	width:100%;
	text-align:center;
}
#af a {
	display: block;
	margin: 0 auto;
	margin-bottom:14px;
	width:300px;
	height:26px;
	background:url(../icons/footer_af_en.svg) no-repeat;
}
#bp a {
	display: block;
	margin: 0 auto;
	margin-bottom:15px;
	width:190px;
	height:25px;
	background:url(../icons/footer_bp_en.svg) no-repeat;
}
#af span, #bp span {
	display:none;
}
#copyright {
	clear:both;
}
@media screen and (min-width: 800px){
#col_footer {
	margin: 0 auto;
	width:550px;
}
#af a {
	float:left;
}
#bp a {
	float:right;
}
}
/* ==|== Fonts ================== */
.din1_b {
	font-family:'DIN Next W01'; font-weight: 700; font-style: normal;
}
.din4_r {
	font-family:'DIN Next W04'; font-weight: 400; font-style: normal;
}
.din4_m {
	font-family:'DIN Next W04'; font-weight: 500; font-style: normal;
}
.ax_r {
	font-family:'DIN Next W04'; font-weight: 400;  font-style: normal;
}
.slate_r {
	font-family:'Slate W01'; font-weight: 400; font-style: normal;
}
.slate_ri {
	font-family:'Slate W01'; font-weight: 400; font-style: italic;
}
.slate_m {
	font-family:'Slate W01'; font-weight: 500; font-style: normal;
}
.slate_mi {
	font-family:'Slate W01'; font-weight: 500; font-style: italic;
}
.slate_b {
	font-family:'Slate W01'; font-weight: 700; font-style: normal;
}
.slate_bi {
	font-family:'Slate W01'; font-weight: 700; font-style: italic;
}

/* ==|== Ruby ================== */
ruby rt {
  position: relative;
  top: 0.4ex;
}


/* ==|== Social btn ================== */
.btn_social {
	display: block;
	width:138px;
	overflow: auto;
	float:right;
}
.btn_fb, .btn_tw {
	float:left;
}
.btn_fb a {
	display: block;
	margin: 0 10px 0 0;
	width: 64px;
	height: 22px;
	background: url(../icons/btn_social.png) 0 -100px no-repeat;
}
.btn_tw a {
	display: block;
	margin: 0;
	width: 64px;
	height: 22px;
	background: url(../icons/btn_social.png) -100px -100px no-repeat;
}
.btn_fb a:hover {
	background-position: 0 -140px;
}
.btn_tw a:hover {
	background-position: -100px -140px;
}
.btn_fb span, .btn_tw span {
	display: none;
}
@media screen and (min-width: 800px){
	.btn_social {
		width:210px;
	}
	.btn_fb a {
		width: 100px;
		height: 26px;
		background: url(../icons/btn_social.png) 0 0 no-repeat;
	}
	.btn_tw a {
		width: 100px;
		height: 26px;
		background: url(../icons/btn_social.png) -150px 0 no-repeat;
	}
	.btn_fb a:hover {
		background-position: 0 -50px;
	}
	.btn_tw a:hover {
		background-position: -150px -50px;
	}
}