@charset "UTF-8";
/********************************************************* reset*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	border: none;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}
main, article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ul, ol {
	list-style: none;
}
img {
	vertical-align: bottom;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
input, select, textarea, button {
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}
/********************************************************* base*/
* {
	box-sizing: border-box;
}
html {
	background-color: #022c5a;
}
body {
	background-color: #fff;
	color: #000;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Verdana, Arial, Helvetica, sans-serif;
	font-size: 100%;
	width: 100%;
	min-width: 1000px;
}
body.en {
	font-family: Arial, Helvetica, sans-serif;
}
a:link {
	color: #00479d;
	text-decoration: underline;
}
a:visited {
	color: #006a91;
}
a:hover {
	color: #00479d;
	text-decoration: none;
}
a[href*="pdf"]:after {
	background: url(../images/icon_pdf.png) no-repeat 0 0/100% auto;
	content: "";
	display: inline-block;
	height: 20px;
	margin-left: 3px;
	vertical-align: middle;
	width: 20px;
}
a.no_link {
	cursor: pointer;
	pointer-events: none;
}
.inner {
	margin: 0 auto;
	width: 1000px;
}
hr {
	border: none;
	border-top: 1px #ccc solid;
	height: 1px;
	margin: 40px 0;
}
sup {
	font-size: 82%;
	vertical-align: super;
}
/********************************************************* header*/
#g_header {
	border-bottom: 2px solid #00479d;
	padding: 20px 0;
}
#g_header > .inner {
	display: table;
}
#g_header > .inner > div {
	display: table-cell;
}
#g_header .header_sub {
	text-align: right;
	vertical-align: bottom;
}
/********************************************************* main*/
#g_main {
	background: url(../images/bg_tile.png);
	padding: 25px 0 0 0;
}
#contents {
	padding: 40px;
	font-size: 88%;
}
/********************************************************* right*/
#g_right {
	background-color: #fff;
	float: right;
	line-height: 1.5;
	min-height: 550px;
	width: 750px;
}
/********************************************************* left*/
#g_left {
	float: left;
	padding-bottom: 40px;
	width: 250px;
}
/********************************************************* side navi*/
/************** 注意喚起 ナビ*/
#attention #nav_attention:before {
	transform: scaleX(1);
}
#attention #nav_attention .nav_side_sub {
	left: 0;
	opacity: 1;
	position: relative;
	width: auto;
	z-index: 1;
}
#attention #nav_attention .nav_side_sub li:first-child {
	border-top: 1px dotted #fff;
}
#attention #nav_attention .nav_side_sub li > a {
	padding-left: 35px;
}
#attention.er .nav_attention_er > a {
	background-color: rgba(255, 255, 255, .3);
}
#attention.sideMenu .nav_attention_er_page > a {
	background-color: rgba(255, 255, 255, .3);
}
/************** CRYPTREC概要 ナビ*/
#outline #nav_outline:before {
	transform: scaleX(1);
}
#outline #nav_outline .nav_side_sub {
	left: 0;
	opacity: 1;
	position: relative;
	width: auto;
	z-index: 1;
}
#outline #nav_outline .nav_side_sub li:first-child {
	border-top: 1px dotted #fff;
}
#outline #nav_outline .nav_side_sub li > a {
	padding-left: 35px;
}
.about .nav_outline_about > a {
	background-color: rgba(255, 255, 255, .3);
}
.system .nav_outline_system > a {
	background-color: rgba(255, 255, 255, .3);
}
.adv_board_members .nav_outline_adv_board_members > a {
	background-color: rgba(255, 255, 255, .3);
}
.committees .nav_outline_committees > a {
	background-color: rgba(255, 255, 255, .3);
}
.development .nav_outline_development > a {
	background-color: rgba(255, 255, 255, .3);
}
/************** CRYPTREC暗号 ナビ*/
#encrypt #nav_cipher:before {
	transform: scaleX(1);
}
#encrypt #nav_cipher .nav_side_sub {
	left: 0;
	opacity: 1;
	position: relative;
	width: auto;
	z-index: 1;
}
#encrypt #nav_cipher .nav_side_sub li:first-child {
	border-top: 1px dotted #fff;
}
#encrypt #nav_cipher .nav_side_sub li > a {
	padding-left: 35px;
}
.list .nav_cipher_list > a {
	background-color: rgba(255, 255, 255, .3);
}
.method .nav_cipher_method > a {
	background-color: rgba(255, 255, 255, .3);
}
/************** CRYPTREC報告書 ナビ*/
#report #nav_report:before {
	transform: scaleX(1);
}
#report #nav_report .nav_side_sub {
	left: 0;
	opacity: 1;
	position: relative;
	width: auto;
	z-index: 1;
}
#report #nav_report .nav_side_sub li:first-child {
	border-top: 1px dotted #fff;
}
#report #nav_report .nav_side_sub li > a {
	padding-left: 35px;
}
.adv_board .nav_report_adv_board > a {
	background-color: rgba(255, 255, 255, .3);
}
.eval_cmte .nav_report_eval_cmte > a {
	background-color: rgba(255, 255, 255, .3);
}
.scheme_cmte .nav_report_scheme_cmte > a {
	background-color: rgba(255, 255, 255, .3);
}
.mon_cmte .nav_report_mon_cmte > a {
	background-color: rgba(255, 255, 255, .3);
}
/* 委員会資料で、現行の委員会と過去の委員会との仕切りを太くする */
.nav_side_sub li.nav_report_scheme_cmte {
	border-top: 2px solid #fff;
}
.rande_cmte .nav_report_rande_cmte > a {
	background-color: rgba(255, 255, 255, .3);
}
.promo_cmte .nav_report_promo_cmte > a {
	background-color: rgba(255, 255, 255, .3);
}
.op_cmte .nav_report_op_cmte > a {
	background-color: rgba(255, 255, 255, .3);
}
.module_cmte .nav_report_module_cmte > a {
	background-color: rgba(255, 255, 255, .3);
}
.module_subcmte .nav_report_module_subcmte > a {
	background-color: rgba(255, 255, 255, .3);
}
/************** ガイドライン ナビ*/
#guideline #nav_guideline:before {
	transform: scaleX(1);
}
#guideline #nav_guideline .nav_side_sub {
	left: 0;
	opacity: 1;
	position: relative;
	width: auto;
	z-index: 1;
}
#guideline #nav_guideline .nav_side_sub li:first-child {
	border-top: 1px dotted #fff;
}
#guideline #nav_guideline .nav_side_sub li > a {
	padding-left: 35px;
}
.tech_guidelines .nav_guideline_tech_guidelines > a {
	background-color: rgba(255, 255, 255, .3);
}
.op_guidelines .nav_guideline_op_guidelines > a {
	background-color: rgba(255, 255, 255, .3);
}
.tech_guidelines .nav_guideline_tech_guidelines > a {
	background-color: rgba(255, 255, 255, .3);
}
.archives .nav_guideline_archives > a {
	background-color: rgba(255, 255, 255, .3);
}
/************** 技術報告書 ナビ*/
#techreport #nav_techreport:before {
	transform: scaleX(1);
}
#techreport #nav_techreport .nav_side_sub {
	left: 0;
	opacity: 1;
	position: relative;
	width: auto;
	z-index: 1;
}
#techreport #nav_techreport .nav_side_sub li:first-child {
	border-top: 1px dotted #fff;
}
#techreport #nav_techreport .nav_side_sub li > a {
	padding-left: 35px;
}
.tech_reports .nav_techreport_tech_reports > a {
	background-color: rgba(255, 255, 255, .3);
}
.ex_reports .nav_techreport_ex_reports > a {
	background-color: rgba(255, 255, 255, .3);
}
/************** 会議資料 ナビ*/
#material #nav_material:before {
	transform: scaleX(1);
}
#material #nav_material .nav_side_sub {
	left: 0;
	opacity: 1;
	position: relative;
	width: auto;
	z-index: 1;
}
#material #nav_material .nav_side_sub li:first-child {
	border-top: 1px dotted #fff;
}
#material #nav_material .nav_side_sub li > a {
	padding-left: 35px;
}
.board_materials .nav_material_board_materials > a {
	background-color: rgba(255, 255, 255, .3);
}
.board_wg_materials .nav_material_board_wg_materials > a {
	background-color: rgba(255, 255, 255, .3);
}
/************** イベント ナビ*/
#event #nav_event:before {
	transform: scaleX(1);
}
/************** 関連機関等のご案内 ナビ*/
#link #nav_link:before {
	transform: scaleX(1);
}
.nav_side {
	background: linear-gradient(to right, #005c97 0%, #0071bb 100%);
	background: #005c97;
	line-height: 1.4;
}
.nav_side > li {
	border-bottom: 2px solid #0072bc;
	position: relative;
}
.nav_side > li:before {
	background-color: #00aeed;
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	transform: scaleX(0);
	transform-origin: 0 50%;
	transition: transform .1s ease-out;
}
.nav_side > li:last-child {
	border-bottom: none;
}
.nav_side > li:hover .nav_side_sub {
	max-height: none;
	opacity: 1;
	z-index: 100;
}
.nav_side > li:hover:before {
	transform: scaleX(1);
}
.nav_side > li > a {
	background: url(../images/icon_cube01.png) no-repeat 15px 22px;
	color: #fff;
	display: block;
	font-size: 94%;
	font-weight: bold;
	letter-spacing: .2px;
	padding: 16px 25px 12px 35px;
	position: relative;
	text-decoration: none;
	transition: .15s ease;
}
.en .nav_side > li > a {
	padding: 14px 25px 14px 35px;
}
.has_sub > a:after {
	border-right: 1px solid #fff;
	border-top: 1px solid #fff;
	bottom: 0;
	content: "";
	height: 10px;
	margin: auto;
	position: absolute;
	right: 15px;
	top: 0;
	transform: rotate(45deg);
	width: 10px;
}
.nav_side_sub {
	background-color: rgba(0, 174, 237, .9);
	left: 100%;
	opacity: 0;
	position: absolute;
	top: 0;
	transition: opacity .2s cubic-bezier(.445, .05, .55, .95);
	width: 320px;
	z-index: -1;
}
.nav_side_sub li {
	border-top: 1px dotted #fff;
}
.nav_side_sub li:first-child {
	border-top: none;
}
.nav_side_sub li > a {
	color: #fff;
	display: block;
	font-size: 82%;
	padding: 10px 25px 10px 15px;
	position: relative;
	text-decoration: none;
	transition: .15s ease;
}
.nav_side_sub li > a:hover {
	background-color: rgba(255, 255, 255, .3);
}
.nav_side_sub li > a:after {
	border-right: 1px solid #fff;
	border-top: 1px solid #fff;
	bottom: 0;
	content: "";
	height: 10px;
	margin: auto;
	position: absolute;
	right: 15px;
	top: 0;
	transform: rotate(45deg);
	width: 10px;
}
/********************************************************* footer*/
#g_footer {
	background-image: linear-gradient(#0f58a9 0%, #022c5a 100%);
	clear: both;
	color: #fff;
	padding: 25px 0;
}
#g_footer a {
	color: #fff;
}
.footer_l {
	float: left;
	font-size: 88%;
}
.footer_l p:not(:last-child) {
	margin-bottom: 20px;
}
.footer_r {
	float: right;
}
.nav_footer {
	margin-bottom: 18px;
}
.nav_footer > li {
	display: inline-block;
	font-size: 94%;
	margin-left: 20px;
	vertical-align: top;
}
.nav_footer a {
	background: url(../images/icon_arrow01.png) no-repeat 0 1px/12px auto;
	display: inline-block;
	padding-bottom: 5px;
	padding-left: 20px;
	position: relative;
	text-decoration: none;
}
.nav_footer a:hover:after {
	width: 100%;
}
.nav_footer a:after {
	background-color: #fff;
	bottom: 0;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	transition: width .2s ease;
	width: 0;
}
.copyright {
	clear: both;
	float: right;
	font-size: 82%;
	text-align: right;
}
/********************************************************* top*/
/********************************************************* section*/
.sect_base {
	margin-bottom: 40px;
}
.sect_base p {
	margin-bottom: 1.5em;
	line-height: 1.5em;
	font-size: 100%;
}
.sect_base p.reportSummary {
	font-size: 88%;
}
.en .sect_base p.reportSummary {
	line-height: 1.3;
}
/********************************************************* title*/
.ttl_level01 {
	background-color: #44a0c2;
	color: #fff;
	font-size: 150%;
	font-weight: bold;
	line-height: 1.2;
	padding: 16px 40px;
}
.ttl_level01 .icon {
	background: url(../images/icon_cube02.png) no-repeat;
	background-position:left 7px;
	padding-left: 30px;
}
.en .ttl_level01 .icon {
	background-position:left center;
}
#contents .ttl_level01, #contents .ttl_level01_page {
	margin: -40px -40px 40px -40px;
}
/*.ttl_level01_page {
	font-size: $fs28;
	font-weight: bold;
	margin-bottom: 40px;
	line-height: 1.2;
	border-left: 7px solid #00479d;
	padding: 10px 0 10px 15px;
	position: relative;
	&:before {
		position: absolute;
		left: 2px;
		top: 0;
		width: 1px;
		height: 100%;
		background-color: #00479d;
		content: '';
	}
}*/
.ttl_level01_page {
	background-image: url(../images/bg_title.png);
	border-top: 7px solid #65cbd4;
	color: #fff;
	font-size: 190%;
	font-weight: bold;
	line-height: 1.3;
	overflow: hidden;
	padding: 20px 60px 20px 40px;
	position: relative;
}
.ttl_level01_page:after {
	background-color: #fff;
	bottom: 0;
	content: "";
	height: 30px;
	position: absolute;
	right: -15px;
	transform: skewX(-45deg);
	width: 80px;
}
.ttl_level02 {
	border-left: 7px solid #00479d;
	font-size: 137%;
	line-height: 1.4;
	margin-bottom: 15px;
	padding: 5px 0 5px 10px;
}
.ttl_level02_topics {
	font-size: 125%;
	line-height: 1.4;
	margin-bottom: 15px;
	text-align: center;
}
.ttl_level03 {
	border-bottom: 1px dotted #333;
	font-size: 125%;
	line-height: 1.4;
	margin-bottom: 10px;
	padding-bottom: 10px;
}
/********************************************************* list*/
ul + h2, ul + h3, ul + h4, ol + h2, ol + h3, ol + h4 {
	margin-top: 2em;
}
.list_news > li {
	margin-bottom: 25px;
	overflow: hidden;
}
.list_news .date {
	background-color: #898989;
	color: #fff;
	float: left;
	margin-right: 15px;
	min-width: 120px;
	padding: 0 5px;
	text-align: center;
}
.en .list_news .date {
	line-height: 1.6em;
}
.list_news .txt {
	overflow: hidden;
}
.list-num {
	list-style-type: decimal;
	margin-left: 1.5em;
}
.list-num > li {
	margin-bottom: .7em;
}
.list_num_roman {
	list-style-type: upper-roman;
	margin-left: 1.5em;
}
.list_num_roman > li {
	margin-bottom: .7em;
}
.list_num_brkt > li {
	counter-increment: count;
	margin-bottom: .7em;
	padding-left: 2em;
	position: relative;
}
.list_num_brkt > li:before {
	content: "[" counter(count) "]";
	left: 0;
	position: absolute;
	top: 0;
}
.list_num_paren > li {
	counter-increment: count;
	margin-bottom: .7em;
	padding-left: 2em;
	position: relative;
}
.list_num_paren > li:before {
	content: "(" counter(count) ")";
	left: 0;
	position: absolute;
	top: 0;
}
.list_alpha {
	list-style-type: lower-alpha;
	margin-left: 1.5em;
}
.list_alpha > li {
	margin-bottom: .7em;
}
.list_kana {
	list-style-type: katakana;
	margin-left: 1.5em;
}
.list_kana > li {
	margin-bottom: .7em;
}
.list_disc {
	list-style-type: disc;
	margin-left: 1.5em;
}
.list_disc li {
	margin-bottom: .7em;
}
.list_disc .list_disc {
	list-style-type: circle;
	margin-left: 1.5em;
}
.list_anchor {
	margin-bottom: 1.5em;
}
.list_anchor > li {
	border-right: 1px solid #666;
	display: inline-block;
	line-height: 1.3;
	margin-right: 10px;
	padding-right: 10px;
	vertical-align: top;
}
.list_anchor > li:last-child {
	border-right: none;
	margin-right: 0;
	padding-right: 0;
}
.list_indent01 > li {
	padding-left: 1em;
	text-indent: -1em;
}
/********************************************************* table*/
.tb_base {
	table-layout: fixed;
	width: 100%;
}
.tb_base caption {
	font-weight: bold;
	font-size: 122%;
	line-height: 1.2em;
	margin-bottom: 0.5em;
}
.tb_base th {
	background-color: #b2e7fa;
	border: 1px solid #ccc;
	font-weight: normal;
	padding: 10px;
	text-align: left;
	vertical-align: middle;
	word-wrap: break-word;
	line-height: 1.2em;
}
.tb_base td {
	border: 1px solid #ccc;
	padding: 5px 10px 5px 10px;
	vertical-align: middle;
	word-wrap: break-word;
}
.tb_base td p:last-child {
	margin-bottom: 0;
}
.tb_base thead th {
	background-color: rgba(0, 71, 157, .8);
	color: #fff;
	text-align: center;
}
.tb_base .zebra tr:nth-child(even) {
	background-color: #eee;
}
.tb_base + p, .tb_base + ul, .tb_base + ol {
	margin-top: 10px;
}
.bg_cell01 {
	background-color: #7fb8dd;
}
.bg_cell02 {
	background-color: #cbeaff;
}
/********************************************************* dl*/
.requiDoc dt {
	width: 14%;
	float: left;
}
.requiDoc dd {
	float: left;
	width: 75%;
	margin-bottom: 10px;
}
.requiDoc dd li {
	text-indent: -1em;
	padding-left: 1em;
}
.requiDoc dt.noSide, .requiDoc dd.noSide {
	margin-bottom: 10px;
	float: none;
	margin-bottom: 0;
	width:100%;
	clear: both;
}
/********************************************************* box*/
.box_border {
	border: 1px solid #666;
	margin-bottom: 30px;
	padding: 15px;
}
.box_border p:last-child {
	margin-bottom: 0;
}
/********************************************************* position*/
.txt_c {
	text-align: center !important;
}
.txt_r {
	text-align: right !important;
}
.txt_l {
	text-align: left !important;
}
.v_middle {
	vertical-align: middle !important;
}
/********************************************************* btn*/
a.btn_head {
	border: 1px solid #00479d;
	color: #00479d;
	display: inline-block;
	font-family: Arial, Helvetica, "sans-serif";
	font-size: 94%;
	padding: 5px 10px;
	text-align: center;
	text-decoration: none;/* transition: .3s ease; */
}
a.btn_head:hover {
	background-color: #00479d;
	color: #fff;
}
a.btn_head.no_link {
	opacity: .3;
	border-color: #000;
	color: #000;
}
a.btn_next {
	background: url(../images/icon_arrow02.png) no-repeat right 5px/12px auto;
	color: #545457;
	display: inline-block;
	padding-right: 15px;
	position: relative;
	text-decoration: none;
}
a.btn_next:hover:after {
	width: 100%;
}
a.btn_next:after {
	background-color: #545457;
	bottom: 0;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	transition: width .2s ease;
	width: 0;
}
.btn_pagetop_wrap {
	border-top: 1px dotted #999;
	margin-bottom: 40px;
	padding-top: 15px;
	text-align: right;
}
a.btn_pagetop {
	color: #333;
	display: inline-block;
	position: relative;
	text-decoration: none;
}
a.btn_pagetop:before {
	background: url(../images/icon_arrow02.png) no-repeat 0 0/100% auto;
	content: "";
	display: inline-block;
	height: 15px;
	margin-right: 5px;
	position: relative;
	top: 0;
	transform: rotate(-90deg);
	transition: top .3s ease;
	width: 15px;
}
a.btn_pagetop:after {
	background-color: #333;
	bottom: 0;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	transition: width .2s ease;
	width: 0;
}
a.btn_pagetop:hover:before {
	top: -3px;
}
a.btn_pagetop:hover:after {
	width: 100%;
}
/*********************
個別装飾
**********************/
/********************************************************* 関連記事リスト*/
.kanrenList {
	margin: 1.5em 0;
}
.kanrenList p {
	margin-bottom: .5em;
}
.kanrenList ul:not(:last-child) {
	margin-bottom: 1em;
}
/********************************************************* font*/
/*赤文字*/
#contents span.textRed {
	color:#ff0000;
}
/*青文字*/
#contents span.textBlue {
	color:#0044cc;
}
#contents span.textGreen {
	color: #008000;
}
/*下線*/
#contents span.textUnderLine {
	text-decoration: underline;
}
/*打消し二本線*/
#contents span.textthroughDouble {
	text-decoration: line-through;
	text-decoration-style: double;
}
/*太文字*/
.textBold {
	font-weight: bold;
}
/*(文字サイズ)*/
.fs12 {
	font-size: 88%;
}
.fs14 {
	font-size: 100%;
}
.fs16 {
	font-size: 113%;
}
/********************************************************* margin（下余白）*/
.mb0 {
	margin-bottom: 0 !important;
}
.mb20 {
	margin-bottom: 20px !important;
}
.mb40 {
	margin-bottom: 40px !important;
}
/********************************************************* clearfix */
.cf:before, .cf:after {
	content: "";
	display: table;
}
.cf:after {
	clear: both;
}
.cf {
	zoom: 1;
}
/********************************************************* チェックボックスを横ならび*/
.chackBoxFloat {
	padding: 5px 10px;
	background-color: #cccccc;
	margin-bottom: 1.5em;
}
.chackBoxFloat p, .chackBoxFloat input {
	float: left;
}
.chackBoxFloat p {
	width: 550px;
	margin-left: 10px;
	margin-bottom: 0;
}
.chackBoxFloat input {
	width: 17px;
	height: 17px;
	margin-top: 14px;
}

/* イメージ配置用td要素 */
td.imgframe {
	padding: 0px 0px 0px 0px;
}
/* 注意喚起 */
.caution {
    color: #ff0000;
}

/* ワークショッププログラム用スタイル */
.ws_program th {
    font-weight: bold;
}

td.ws_session {
    background-color: #d8f3fc;
    font-weight: bold;
}
td.ws_subsession {
    background-color: #ecf9fe;
}

dt {
    font-weight: bold;
}