@charset "UTF-8";

/* ===============MEXTロードマップ定義============= */

nav.before {
	font-size: 14px;
	margin: 6px 0px 12px 2px;
	letter-spacing: 0px;
	}

nav.before_rm {
	margin: 6px 0px 12px 0px;
	font-size: 14px;
	letter-spacing: 0px;
	}

#content .rm_timeline { 
	visibility: hidden !important;
	display: none !important;
	}

#content .roadmap img { 
	max-width: 98%;
	width: 98%;
	height: auto;
	margin: 5px auto;
	text-align: center !important;
	clear: both;
	}

#content .rmL {
	max-width: 98%;
	margin: 0px 0px 10px 0px;
	float: none !important;
	}

#content .rmR {
	max-width: 98%;
	float: none !important;
	clear: both;
	}

#content .rmLL {
	max-width: 96%;
	width: 96%;
	margin: 9px;
	float: none !important;
	}

#content .rmLR {
	max-width: 96%;
	width: 96%;
	margin: 9px;
	padding: 0px;
	border: none !important;
	float: none !important;
	}

#content .rmLBL {
	max-width: 96%;
	width: 96%;
	margin: 10px 0px;
	float: none !important;
	}

#content .rmLBR {
	max-width: 96%;
	width: 96%;
	margin: 0px;
	float: none !important;
	}

#content .rm_arrowL { 
	visibility: hidden !important;
	display: none !important;
	}

#content .rmLB .rmLBL p {
	font-size: 13px;
	line-height: 1.6em;
	}

#content .roadmap .rm11 {
	font-size: 12px;
	line-height: 1.5em;
	}

#content .roadmap h4 {
	font-size: 15px;
}

#content .roadmap h5 {
	font-size: 16px;
}

#content .roadmap blockquote p {
	font-size: 14px;
	line-height: 1.7em;
	}

#content .roadmap .goal {
	margin: 10px 5px 20px 5px;
	}

#content .roadmap .strategy {
	margin: 0px 15px;
	}

#content .roadmap .strategy2 {
	width: 240px;
	margin: 9px 9px 9px 36px;
	padding: 0px;
	text-align: center;
	float: none !important;
	}

#content .rmRL {
	max-width: 96%;
	width: 96%;
	margin: 9px auto;
	float: none !important;
	}

#content .rmRR {
	max-width: 96%;
	width: 96%;
	margin: 9px auto;
	padding: 9px 0px;
	border-top: solid 3px #1d2157;
	border-left: none;
	float: none !important;
	}

/* ===============全体定義============= */

#container {
	max-width: 99%;
	margin: 0px 0px 0px 5px;
	padding: 0px;
	line-height: 1em;
	}

#container h1 {
	margin: 0px;
	padding: 0px;
	font-family: "Avenir Next", "Avenir", "Century Gothic",  "Droid Sans", "Arial", sans-serif;
	font-size: 24px !important;
	font-weight: bold;
	color: #000;
	text-decoration: none;
	letter-spacing: 1px !important;
	line-height: 1em;
	clear: both;
	}

#container h1 a { color: #000; text-decoration: none; }
#container h1 .color_ura { letter-spacing: 3px; }
#container h1 a:hover { background-color: #dee; color: #213491; text-decoration: underline; }

#container .jp1 {
	margin: 0px;
	padding: 5px 0px 0px 0px;
	font-size: 21px;
	font-weight: 500;
	color: #213491;
	letter-spacing: 1px;
	line-height: 1.2em;
	text-align: left !important;
	float: none !important;
	}

#container .jp1 a { color: #213491; text-decoration: none; }
#container .jp1 a.jp1_mext { color: #54aec2; }
#container .jp1 a:hover { background-color: #dee; color: #213491; text-decoration: underline; }

#container .jp1 .position {
	margin: 10px 0px 0px 0px;
	padding: 4px 8px;
	font-size: 12px;
	font-weight: normal;
	color: #000;
	letter-spacing: 0px;
	line-height: 1.2em;
	float: left;
	}

#container .jp1 .position a {
	background-color: #eee;
	color: #000;
	text-decoration: none;
	}
#container .jp1 .position a:hover { background-color: #dee; color: #213491; text-decoration: underline; }

#container .imgtitle {
	margin: 0px;
	padding: 0px;
	font-size: 14px;
	font-weight: 300;
	line-height: 1em;
	display: block;
	}

#container .navi_cat {
	margin: -4px 0px 10px 0px;
	padding: 0px;
	float: right;
	}

#container .navi_cat ul {
	margin: 0px;
	padding: 0px;
	list-style-type: none; 
	}

#container .navi_cat ul li {
	margin: 0px 3px;
	padding: 0px;
	font-size: 13px;
	float: left;
	}

#container .navi_cat ul li a {
	margin: 0px;
	padding: 4px 8px;
	-webkit-border-radius: 0px 0px 4px 4px;
	-moz-border-radius: 0px 0px 4px 4px;
	-ms-border-radius: 0px 0px 4px 4px;
	-o-border-radius: 0px 0px 4px 4px;
	border-radius: 0px 0px 4px 4px;
	background-color: #dfdfdf;
	color: #555;
	text-decoration: none;
	display: block;
	}

#container .navi_cat ul li a:hover { background-color: #cde2f1; color: #213491; text-decoration: underline; }

.left { float: left; }
.center { text-align: center; }
.right { float: right; }

#container .hide_sp {
	visibility: hidden !important;
	display: none !important;
	}

#container .hidetext {
	visibility: hidden !important;
	display: none !important;
	}

/* ===============ヘッダ定義============= */

header {
	max-width: 100%;
	margin: 0px auto;
	padding: 0px;
	text-align: left !important;
	position: static;
}

header .title {
	max-width: 85%;
	margin: 0px 0px 5px 5px !important;
	padding: 0px;
	line-height: 1em;
	text-align: left !important;
	float: none !important;
	}

header .title h1 {
	margin: 0px;
	padding: 0px;
	text-align: left !important;
	}

header .title h1 a {
	padding: 2px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	-ms-border-radius: 6px;
	-o-border-radius: 6px;
	border-radius: 6px;
	text-decoration: none;
	display: block;
	}
	
header .title h1 a:hover {
	background-color: rgba(170,187,221,0.5);
	-webkit-transition: 1s ease-in-out;
	-moz-transition: 1s ease-in-out;
	-ms-transition: 1s ease-in-out;
	-o-transition: 1s ease-in-out;
	transition: 1s ease-in-out;
	}

header .title h1 img {
	max-width: 100%;
	height: auto;
	}

header .info {
	margin: 5px 0px 5px 0px;
	padding: 0px;
	font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Meiryo", "メイリオ", "MS PGothic", sans-serif;
	line-height: 1em;
	white-space: nowrap;
	text-align: left !important;
	float: none !important;
	clear: both;
	}

header .info figure {
	width: 0px;
	height: 0px;
	margin: 0px;
	padding: 0px;
	visibility: hidden;
	display:none;
	}

header .info nav {
	margin: 5px 0px;
	padding: 0px;
	color: #999;
	font-family: "Avenir Next", "Avenir", "Arial", sans-serif;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0px;
	text-align: right;
	}

header .info nav a {
	margin: 0px;
	padding: 3px 2px 3px 3px !important;
	color: #213491;
	text-decoration: none;
	}

header .search {
	width: 0px;
	height: 0px;
	margin: 0px;
	padding: 0px;
	visibility: hidden;
	display: none;
}
	
header nav.g-nav {	
	width: 0px;
	height: 0px;
	margin: 0px;
	padding: 0px;
	visibility: hidden;
	display: none;
	}

/* ===============ネットワーク図定義============= */

#network {
	max-width: 100%;
	margin: 0px auto;
	padding: 0px;
	line-height: 1em;
	}

#network img {
	width: 0px;
	height: 0px;
	margin: 0px;
	padding: 0px;
	visibility: hidden;
	display: none;
	}

#network .org_network {
	width: 0px;
	height: 0px;
	margin: 0px;
	padding: 0px;
	visibility: hidden;
	display: none;
	z-index: 0;
	}

#network .org_left {
	width: 48%;
	margin: 0px 0px 0px 5px;
	padding: 0px;
	line-height: 1em;
	text-align: left;
	float: left;
	position: static;
	z-index: 5;
	}

#network .org_right {
	width: 48%;
	margin: 0px 5px 0px 0px;
	padding: 0px;
	line-height: 1em;
	text-align: left;
	float: right;
	position: static;
	z-index: 6;
	}

#network figure.banner_r {
	visibility: hidden;
	display: none;
	}

#network .column {
	margin: 0px 0px 5px 0px !important;
	padding: 0px;
	line-height: 1em;
	}

#network .org_right .column {
	margin: 0px 0px 5px 0px !important;
	}

#network h3 {
	font-size: 13.5px;
	letter-spacing: 0px;
	}

#network a h3 { padding: 0px 0px 0px 0px; background-image: none; background-repeat: no-repeat; background-position: right; }

#network p {
	margin: 5px 0px;
	font-size: 12.5px;
	letter-spacing: 0px;
	}

#network p.short { font-size: 11.4px; }

/* ===============タブメニュー定義============= */

#content .all_area { 
	margin: 5px 0px 0px 5px;
	padding: 0px;
	overflow: hidden;
	}

#content .all_area .more {
	margin: 2px 0px 0px 0px;
	padding: 0px;
	font-size: 13px;
	letter-spacing: 1px;
	line-height: 1.2em;
	text-align: right;
	letter-spacing: 1px;
	float: right;
	clear: both;
	}

#content .all_area .more a { 
	margin: 0px;
	padding: 4px;
	-webkit-border-radius: 9px 9px 0px 0px;
	-moz-border-radius: 9px 9px 0px 0px;
	-ms-border-radius: 9px 9px 0px 0px;
	-o-border-radius: 9px 9px 0px 0px;
	border-radius: 9px 9px 0px 0px;
	-webkit-transition: 0.7s ease-in-out;
	-moz-transition: 0.7s ease-in-out;
	-o-transition: 0.7s ease-in-out;
	-ms-transition: 0.7s ease-in-out;
	transition: 0.7s ease-in-out;
	border: solid 1px #8ac;
	background-color: #d0d9df;
	color: #000; 
	text-decoration: none;
	display: block;
	}

#content .all_area .more a:hover {
	background-color: #213491;
	color: #fff;
	text-decoration: none;
	}
	
#content .all_area div.content_area{
	/*Tabの内容を表示するエリアの装飾*/
	margin: 0px;
	background:#fff; 
	padding: 0px;  
	border: solid 1px #8ac;
	}

#content .tab_area {
	overflow: hidden;
	display: table;
	margin: 0px;
	padding: 0px;
	}

#content .all_area ul.tab_area {
	margin: 0px;
	padding: 0px;
	list-style-type: none;
	}
	
#content .tab_area li {
	/*Tabの装飾*/
	height: 21px; 
	margin: 0px;
	padding: 0px 3px;
	text-align:left;
	border-top: solid 1px #ccc;
	border-right: 1px solid #ddd;
	border-left: 1px solid #abc;
	border-collapse: collapse;
	cursor: pointer; 
	vertical-align:middle; 
	display:table-cell;
	list-style-type: none;
	font-size: 14px;
	background-color: #eee;
	color:#222;
	font-weight: bold;
	}

#content .tab_area li.select{
	/*アクティブタブの装飾*/
	margin: 0px;
	background-color:#fff; 
	background-image:none;
	border-collapse: collapse;
	color: #333;
	border-top:3px solid #213491;
	}
	
#content .hide { display:none; }

#content ul.list_area {
	margin: 0px;
	padding: 0px;
	color: #333;
	list-style-type: none;
	}

#content ul.list_area li {
	margin: 0px;
	padding: 0px;
	border-bottom: solid 1px #d0d9df;
	font-family: "Arial"; 
	font-size: 14px;
	letter-spacing: 1px;
	line-height: 1.4em;
	list-style-type: none;
	}

#content ul.list_area li a { padding: 5px; color: #222; text-decoration: none; display: block; }

/* ===============レーン定義============= */

#container .main {
	max-width: 100% !important;
	margin: 0px 0px 0px 0px;
	float: none !important;
}

#content .lane2L {
	width: 98%;
	margin: 0px;
	padding: 0px;
	border: none;
	float: none;
	}

#content .entry .lane2L p {
	margin:  0px 0px 10px 0px;
	padding: 0px;
	font-size: 12px;
	font-weight: 400;
	color: #222;
	letter-spacing: 0.5px;
	line-height: 1.6em;
	text-align: left;
	}

#content .lane2R {
	width: 98%;
	margin: 0px;
	padding: 0px;
	border: none;
	float: none;
	clear: both !important;
	}

#content .entry .lane2R p {
	margin:  0px 0px 10px 0px;
	padding: 0px;
	font-size: 9px;
	font-weight: 400;
	color: #222;
	letter-spacing: 0.5px;
	line-height: 1.6em;
	text-align: left;
	}

#content .lane2R img {
	visibility: hidden;
	display:none;
	}

#content .lane3L {
	width: 300px;
	margin: 0px;
	padding: 0px 4px;
	border: none;
	float: none;
	clear: both !important;
	}

#content .lane3C {
	width: 300px;
	margin: 0px -1px;
	padding: 0px 4px;
	border: none;
	float: none;
	clear: both !important;
	}

#content .lane3R {
	width: 300px;
	margin: 0px;
	padding: 0px 4pxx;
	border: none;
	float: none;
	clear: both !important;
	}

.lane3L {
	width: 300px;
	margin: 0px;
	padding: 0px 4px;
	border: none;
	float: none;
	clear: both !important;
	}

.lane3C {
	width: 300px;
	margin: 0px -1px;
	padding: 0px 4px;
	border: none;
	float: none;
	clear: both !important;
	}

.lane3R {
	width: 300px;
	margin: 0px;
	padding: 0px 4pxx;
	border: none;
	float: none;
	clear: both !important;
	}

.laneWL {
	width: 655px;
	margin: 0px;
	float: left;
	}

.lane3R {
	width: 320px;
	margin: 0px !important;
	float: right;
	}

/* ===============本文定義============= */

#content {
	margin: 3px 0px;
	padding: 0px;
	line-height: 1em;
	text-align: left;	
	}

#content .left2 { margin: 0px; float: left; }
#content .right2 { margin: 0px; float: right; }

#content .entry h2 {
	margin: 10px 0px;
	padding: 0px;
	font-size: 20px;
	font-weight: 600;
	color: #000;
	line-height: 1.3em;
	letter-spacing: 2px;
	}

#content .entry h2.en {
	margin: 10px 0px 0px 0px;
	padding: 0px;
	font-family: "Avenir Next", "Avenir", "Verdana", "Arial", sans-serif;
	font-size: 18px;
	font-weight: 600;
	color: #000;
	line-height: 1.3em;
	letter-spacing: 1px;
	}

#content .entry h2.english {
	margin: 10px 0px;
	padding: 0px;
	font-family: "Avenir Next", "Avenir", "Verdana", "Arial", sans-serif;
	font-size: 36px;
	font-weight: 700;
	color: #000;
	line-height: 1.2em;
	letter-spacing: 12px;
	}

	#content .entry h2.mincho { margin: 15px 0px 10px 0px; line-height: 1.2em; font-family: "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN W3", "HanaMin", "HG明朝E", "Meiryo", "メイリオ", serif; font-size: 28px; font-weight: 600; letter-spacing: 5px; text-shadow: 1px 1px 2px #ccc; }
	#content .entry h2.mincho1 { margin: -5px 0px 15px 0px; font-family: "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN W3", "HanaMin", "HG明朝E", "Meiryo", "メイリオ", serif; font-size: 26px; font-weight: 600; letter-spacing: 5px; text-shadow: 1px 1px 2px #ccc; }
	#content .entry h2.mincho2 { font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN W3", "YuMincho", "游明朝", "HanaMin", "HG明朝E", "Meiryo", "メイリオ", serif; font-size: 23px; font-weight: 600; letter-spacing: 4px; text-shadow: 1px 1px 2px #ccc; }
	#content .entry .category h2 { margin: 10px 0px 0px 0px; font-size: 18px; letter-spacing: 1px; }
	#content .entry .category h2 .sub { margin: 5px 0px; font-size: 16px; letter-spacing: 1px; }
	#content .entry h2 .en { margin: 5px 0px; font-family: "Avenir Next", "Avenir", "Verdana", "Arial", sans-serif; font-size: 16px; font-weight: 600; letter-spacing: 1px; line-height: 1.3em; }
	#content .entry h2 .enrole { font-size: 14px; font-weight: 600; letter-spacing: 1px; line-height: 1.3em; }

#content .entry h2 .sub {
		margin: 10px 0px;
		font-size: 16px;
		letter-spacing: 1px;
		line-height: 1.4em;
		}

#content .entry h2 .sum {
		margin: 10px 0px 5px 0px;
		font-family: "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN W3", "HanaMin", "HG明朝E", "Meiryo", "メイリオ", serif;
		font-size: 16px;
		letter-spacing: 1px;
		line-height: 1.4em;
		}

#content .entry h5 {
		font-size: 18px;
		clear: both;
	}

#content iframe {
	max-width: 99%;
	height: auto;
	}

/* ===============画像定義============= */


#content .entry .box-right img {
	margin: 6px 6px 15px 15px;
	padding: 0px;
	border: solid 1px #fff;
	-webkit-box-shadow: #bbb 1px 1px 2px;
    -moz-box-shadow: #bbb 1px 1px 2px;
	box-shadow: #bbb 1px 1px 2px;
	line-height: 0em;
	float: right;
	}

#content .entry img {
	max-width: 100%;
	height: auto;
	}

/* ===============MEXT定義============= */

#content .gather  {
	visibility: hidden;
	display: none;
}

#content .total  {
	visibility: hidden;
	display: none;
}

#content .amenu {
	width: 60px;
	margin: 5px auto;
	padding: 20px;
	background-color: #044ea2;
	border-radius: 50%;
	text-align: center;
	float: none;
	clear: both;
}

#content .amenu img {
	width: 60px;
	height: 60px;
}

#content .bmenu {
	width: 60px;
	margin: 15px auto;
	padding: 20px;
	background-color: #52b8ca;
	border-radius: 50%;
	text-align: center;
	float: none;
	clear: both;
}

#content .bmenu img {
	width: 60px;
	height: 60px;
}

#content .latter {
	float: none;
	clear: both;
}

#content .latter h3 {
	margin: 10px 5px;
	font-size: 18px;
	line-height: 1.4em;
}

/* ===============グリッド定義============= */

#grid-content {
	overflow: hidden;
	margin: 0px 0px 20px 0px;
	padding: 0px;
	clear: both;
	}

#grid-content .column {
	width: 98%;
	height: auto;
	margin: 5px 0px 5px 4px;
	padding: 0px;
	border: solid 1px #d0d9df;
	line-height: 1em;
	position: static;
	}

#grid-content .column5 {
	width: 150px;
	height: 320px;
	margin: 0px 3px 6px 3px;
	padding: 0px;
	border: solid 1px #d0d9df;
	line-height: 1em;
	position: relative;
	}

#grid-content .column5 img {
	width: 144px !important;
	height: 180px !important;
	margin: 2px;
	padding: 0px;
	border: solid 1px #d0d9df;
	line-height: 1em;
	position: static;
	clear: both;
	}

#grid-content .column5 .dialin {
	visibility: hidden;
	display:none;
	}

#grid-content a.block img {
	margin: 0px;
	padding: 0px;
	border-bottom: solid 1px #fff;
	box-shadow: 0px 1px 2px #ddd;
	line-height: 0em;
	display: block;
	position: static;
	}

#grid-content .column2 img.mt-image-right {
	margin: 6px 6px 15px 15px;
	padding: 0px;
	border: solid 1px #fff;
	-webkit-box-shadow: #bbb 1px 1px 2px;
    -moz-box-shadow: #bbb 1px 1px 2px;
	box-shadow: #bbb 1px 1px 2px;
	line-height: 0em;
	float: right;
	}

#content .choice {
	margin: 5px 0px 0px 5px;
	padding: 3px 0px;
	border-bottom: solid 3px #213491;
	font-family: "Avenir Next", "Avenir", "Century Gothic",  "Droid Sans", "Verdana", "Arial", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Meiryo", "メイリオ", sans-serif;
	font-size: 21px;
	font-weight: bold;
	color: #000;
	text-decoration: none;
	letter-spacing: 1px;
	vertical-align: bottom;
	}
	
#content .choice .past {
	width: 0px;
	height: 0px;
	margin: 0px;
	padding: 0px;
	visibility: hidden;
	display:none;
	}

#content .choice .future {
	width: 0px;
	height: 0px;
	margin: 0px;
	padding: 0px;
	visibility: hidden;
	display:none;
	}

/* ===============２カラム定義============= */

#content .column2 {
	width: 98%;
	height: auto;
	margin: 9px 0px;
	padding: 0px;
	border: none;
	}

#content .archives h3 a {
	padding: 1px 3px;
	font-family: "Avenir Next", "Avenir", "Century Gothic",  "Droid Sans", "Verdana", "Arial", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Meiryo", "メイリオ", sans-serif;
	font-size: 18px;
	font-weight: bold;
	color: #000;
	text-decoration: none;
	letter-spacing: 1px;
	}

#content .archives h3 .jp {
	margin: 0px;
	padding: 0px;
	color: #213491;
	font-family: "Noto Sans JP", "Yu Gothic", "游ゴシック体", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Meiryo", "メイリオ", "MS PGothic", sans-serif;
	font-size: 15px;
	font-weight: bold;
	line-height: 1.3em;
	letter-spacing: 0.5px;
	float: none;
	}

#content .archives h3 .jp_mext {
	margin: 0px;
	padding: 0px;
	color: #54aec2;
	font-family: "Noto Sans JP", "Yu Gothic", "游ゴシック体", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Meiryo", "メイリオ", "MS PGothic", sans-serif;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.3em;
	letter-spacing: 0.5px;
	float: none;
	}

#container .navi_cat ul li a {
	margin: 6px 6px 4px 0px  !important;
	padding: 4px 8px;
	-webkit-border-radius: 4px !important;
	-moz-border-radius: 4px !important;
	-ms-border-radius: 4px !important;
	-o-border-radius: 4px !important;
	border-radius: 4px !important;
	background-color: #dfdfdf;
	color: #555;
	text-decoration: none;
	display: block;
	}

/* ===============サイド定義============= */

aside {
	width: 98% !important;
	margin: 15px 0px !important;
	padding: 0px;
	line-height: 1em;
	text-align: left !important;
	float: none !important;
	clear: both;
	}

aside .column {
	margin: 5px 0px 10px 5px;
	padding: 10px;
	border: solid 1px #cde;
	background: -webkit-gradient(linear, left top, left bottom, from(#f0f0f0), to(#e0e0e0));
	background: -webkit-linear-gradient(top, #f0f0f0, #e0e0e0);
	background: -moz-linear-gradient(top, #f0f0f0, #e0e0e0);
	background: -ms-linear-gradient(top, #f0f0f0, #e0e0e0);
	background: -o-linear-gradient(top, #f0f0f0, #e0e0e0);
	background: linear-gradient(top, #f0f0f0, #e0e0e0);
	background-color: #ddd;
	font-size: 13px;
	line-height: 1em;
	}

aside .twitter-timeline {
	width: 0px;
	height: 0px;
	margin: 0px;
	padding: 0px;
	visibility: hidden !important;
	display:none !important;
	}

/* ===============フッタ定義============= */

footer h1 img {
	max-width: 90%;
	height: auto;
}

footer nav {
	visibility: hidden;
	display:none;
	}