/* 再読み込み防止 */
/*
html {
  visibility: hidden;
}
html.wf-active {
  visibility: visible;
}
*/





/* キービジュアル　背景　上書き */
@media screen and (max-width: 647px) {
	body.dr_serviceCate .un_mainvis_type2 .un_mainvis_ttl,
	body.dr_serviceCate .un_mainvis_type2 .un_mainvis_ttl [class^="el_ttlLv"] {
		background: transparent;
		color: #fff;
	}
}



/* キービジュアル　タイトル周り */
body.dr_serviceCate .un_mainvis_type2 .un_mainvis_ttl h1.un_longName {
	font-size: 54px!important;
	padding: 0 6.4%;
}

@media screen and (max-width: 647px) {
	body.dr_serviceCate .un_mainvis_type2 .un_mainvis_ttl h1.un_longName {
		font-size: 36px!important;
		padding: 0 6.4%;
	}

}

body.dr_serviceCate .un_mainvis_type2 .un_mainvis_ttl .un_cateName_sub {
	font-size:30px!important;
	margin-bottom:0;
}

@media screen and (max-width: 647px) {
	body.dr_serviceCate .un_mainvis_type2 .un_mainvis_ttl .un_cateName_sub {
		font-size:20px!important;
		margin-bottom:0;
	}
}





/* ブロック要素　ヘルパー */
.hp_blcAlnR {
	margin-right: auto;
}

.hp_blcAlnC {
	margin-left: auto; margin-right: auto;
}

.hp_blcAlnL {
	margin-left: auto;
}

.hp_shiftBlock {
	display: block;
}

.hp_shiftInline {
	display: inline;
}

.hp_mgnSSS {
	margin: 10px 0 !important;
}

.hp_mgnTopSSS {
	margin-top: 10px !important;
}

.hp_mgnBtmSSS {
	margin-bottom: 10px !important;
}

.hp_indSSS {
	margin-left: 1em;
}

.hp_indSS {
	margin-left: 2em;
}

/* max-width: 1459px */
.hp_pcBlock_wide {
	display: block !important;
}
.hp_pcInline_wide {
	display: inline-block !important;
}

@media screen and (max-width: 1459px) {
	.hp_pcBlock_wide, .hp_pcInline_wide {
		display: none !important;
	}
}

/* 古いサイズの小さいスマホのみでNone */
@media screen and (max-width: 320px) {
	.hp_smallSpNone {
		display: none !important;
	}
}

/* スマホのみでNone */
@media screen and (max-width: 647px) {
	.hp_spNone {
		display: none !important;
	}
}

/* スマホのみで表示（ブロック要素） */
@media screen and (max-width: 647px) {
	.hp_spBlock {
		display: block !important;
	}
}

/* スマホのみで表示（インラインブロック要素） */
@media screen and (max-width: 647px) {
	.hp_spInline {
		display: inline-block !important;
	}
}

/* タブレット、スマホでNone */
@media screen and (max-width: 1007px) {
	.hp_tbSpNone {
		display: none !important;
	}
}

/* タブレット、スマホで表示（ブロック要素） */
@media screen and (max-width: 1007px) {
	.hp_tbSpBlock {
		display: block !important;
	}
}

/* タブレット、スマホで表示（インラインブロック要素） */
@media screen and (max-width: 1007px) {
	.hp_tbSpInline {
		display: inline-block !important;
	}
}

/* PCフルウィンドウのみで表示 */
.only_fullWidth {
	display: none;
}

@media screen and (min-width: 1460px) {
	.only_fullWidth {
		display: block !important;
	}
}

/* PCフルウィンドウ未満で表示 */
.not_only_fullWidth {
	display :none;
}

@media screen and (max-width: 1459px) {
	.not_only_fullWidth {
		display: block !important;
	}
}





/* カラム */
@media screen and (min-width: 648px) and (max-width: 1007px) {
	.el_colUnitArea_2lines .el_txtCap {
		min-height: 42px;
	}
	.el_colUnitArea_3lines .el_txtCap {
		min-height: 63px;
	}
}

.el_colUnitArea > [class*="el_col"]:nth-child(3n+4):not(.el_colOne) {
	margin-left: 0px;
	margin-top: 48px;
}

@media screen and (min-width: 648px) and (max-width: 1007px) {
	.el_colUnitArea > [class*="el_col"]:nth-child(3n+4):not(.el_colOne) {
		margin-left: 24px;
		margin-top: 24px;
	}
}

@media screen and (max-width: 647px) {
	.el_colUnitArea > [class*="el_col"]:nth-child(3n+4):not(.el_colOne) {
		margin: 6.4% 0 0;
	}
}





/* アンカーリスト（ページ内リンク） */
.el_anchorList_noZoom {
	font-size:16px;
}





/* テーブル */
/*
.el_tableBlock table {
	width:100%;
}
*/

.el_tableBlock th.widthL,
.el_tableBlock td.widthL {
	width:80%!important;
}

.el_tableBlock th.widthThreeQtr,
.el_tableBlock td.widthThreeQtr {
	width:75%!important;
}

.el_tableBlock th.widthXML,
.el_tableBlock td.widthXML {
	width:70%!important;
}

.el_tableBlock th.widthML,
.el_tableBlock td.widthML {
	width:60%!important;
}

.el_tableBlock th.widthM,
.el_tableBlock td.widthM {
	width:50%!important;
}

.el_tableBlock th.widthSM,
.el_tableBlock td.widthSM {
	width:40%!important;
}

.el_tableBlock th.widthS,
.el_tableBlock td.widthS {
	width:30%!important;
}

.el_tableBlock th.widthSS,
.el_tableBlock td.widthSS {
	width:20%!important;
}

.el_tableBlock th.widthSSSM,
.el_tableBlock td.widthSSSM {
	width:15%!important;
}

.el_tableBlock th.widthSSS,
.el_tableBlock td.widthSSS {
	width:10%!important;
}

.el_tableBlock_simple table {
	width:100%;
}

.el_tableBlock_simple th.widthL,
.el_tableBlock_simple td.widthL {
	width:80%;
}

.el_tableBlock_simple th.widthThreeQtr,
.el_tableBlock_simple td.widthThreeQtr {
	width:75%;
}

.el_tableBlock_simple th.widthXML,
.el_tableBlock_simple td.widthXML {
	width:70%;
}

.el_tableBlock_simple th.widthML,
.el_tableBlock_simple td.widthML {
	width:60%;
}

.el_tableBlock_simple th.widthM,
.el_tableBlock_simple td.widthM {
	width:50%;
}

.el_tableBlock_simple th.widthSM,
.el_tableBlock_simple td.widthSM {
	width:40%;
}

.el_tableBlock_simple th.widthS,
.el_tableBlock_simple td.widthS {
	width:30%;
}

.el_tableBlock_simple th.widthSS,
.el_tableBlock_simple td.widthSS {
	width:20%;
}

.el_tableBlock_simple th.widthSSS,
.el_tableBlock_simple td.widthSSS {
	width:10%;
}

@media screen and (max-width: 1007px) {
	.el_tableBlock_simple {
		overflow-x: auto;
	}
	.el_tableBlock_simple table {
		width: 800px;
	}
}

@media screen and (max-width: 1007px) {
	.el_tableBlock_noOverflow {
		overflow-x: hidden;
	}
	.el_tableBlock_noOverflow table {
		width: 100%;
	}
	.el_tableBlock_noOverflow table tr td {
		display: block;
		width: 100%!important;
	}
	.el_tableBlock_noOverflow table tr td:last-child {
		margin-bottom:0.5em;
	}
}

table.bgColor_gray {
	border-collapse: separate;
	border-spacing: 1px;
	background-color:#d0d2d3;
}

.el_tableBlock table tr th.hp_th_style,
.el_tableBlock table tr td.hp_th_style {
	background-color: #00489e;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.35;
	vertical-align: middle;
	padding: 20px 20px!important;
}

.el_tableBlock table tr th.hp_td_style,
.el_tableBlock table tr td.hp_td_style {
	color: #fff;
	background: #004283;
	font-size: 16px;
	font-weight: bold;	
}

/* 青ボーダー */
table.bgColor_blue {
	background-color: #0051a4;
	border-collapse: separate;
	border-spacing: 1px;
}

.el_tableBlock table.bgColor_blue tbody tr {
	background: #fff none repeat scroll 0 0;
}

.el_tableBlock table.bgColor_blue tbody tr:nth-child(2n) {
	background: #fff none repeat scroll 0 0;
}

/* 白ボーダー */
table.bgColor_white {
	background-color: #fff;
	border-collapse: separate;
	border-spacing: 1px;
}

table.bgColor_white_zero {
	background-color: #fff;
	border-collapse: separate;
	border-spacing: 18px;
}

.el_tableBlock table.bgColor_white tbody tr {
	background: #fff none repeat scroll 0 0;
}

.el_tableBlock table.bgColor_white tbody tr:nth-child(2n) {
	background: #fff none repeat scroll 0 0;
}

table tr th.bgColor_blue,
table tr td.bgColor_blue {
	background-color: #00489e;
}





/* リスト */
.el_ulList_noMgn ul,
.el_ulList_noMgn ul li,
.el_ulList_noMgn ul li ul,
.el_ulList_noMgn ul li ul li,
.el_ulList_noMgn ol,
.el_ulList_noMgn ol li,
.el_ulList_noMgn ol li ol,
.el_ulList_noMgn ol li ol li {
	margin-top:0!important;
}

.el_listBlock ul.el_ulList_discBlue li ul.el_ulList_child li::before {
	background: transparent;
	border-radius: 50%;
	content: "-";
	height: 6px;
	left: 0;
	position: absolute;
	top: 0;
	width: 6px;
	color: #2e5e7c;
	font-weight: bold;
}



/* 定義リスト */
.el_dlList_overview dl {
	display: table;
}

.el_dlList_overview dl dt {
	display: table-cell;
}

.el_dlList_overview dl dd {
	display: table-cell;
}

@media screen and (max-width: 647px) {
	.el_dlList_overview dl {
		display: table;
	}

	.el_dlList_overview dl dt {
		display: block;
	}

	.el_dlList_overview dl dd {
		display: block;
	}
}



/* かっこ付きリスト */
.el_listBlock ol.el_olList_type1_paren {
	counter-reset: section;
}

.el_listBlock ol.el_olList_type1_paren li {
	padding-left: 48px;
}
.el_listBlock ol.el_olList_type1_paren li:before {
	counter-increment: section;
	content: "（"counters(section,"-") "）";
	/*font-weight: bold;*/
	position: absolute;
	left: 0;
}



/* シンプルリスト */
ul.hp_ulList_simpleDisc {
	list-style-type: disc;
	padding-left: 1.4em;
}





/* 囲み罫 */
.el_borderGray {
	border: 1px solid #a7a7a7;
}

.el_borderGray_offset {
	outline: 1px solid #a7a7a7;
	outline-offset: -1px;
}

.el_borderLightGray_offset {
	outline: 1px solid #d0d2d3;
	outline-offset: -1px;
}

.el_simpleBlock_gray {
	border: 1px solid #a7a7a7;
	display: table;
	padding: 28px 33px;
	position: relative;
}

.el_simpleBlock_blue {
	border: 1px solid #0b52a4;
	display: table;
	padding: 28px 33px;
	position: relative;
}

.el_simpleInlineBlock_blue {
	border: 1px solid #0b52a4;
	display: inline-block;
	padding: 28px 33px;
	position: relative;
}

.el_simpleBlock_lightBlue {
    border: 1px solid #00b7f8;
    display: table;
    padding: 28px 33px;
    position: relative;
}

.el_block_lightBlue {
	display: block;
	border: solid 1px #dce6f0;
	background-color: #f9fbfd;padding:20px;
}





/*　囲み罫　セミナーボックス */
.el_seminarBlock:hover .el_simpleBlock_blue {
	background-color:#f3f6fa;
}
.el_seminarBlock:hover {
	text-decoration:none;
}
.el_seminarBlock:hover .hp_txtBlue {
	text-decoration:underline;
}
.el_seminarBlock .el_simpleBlock_blue {
	width:100%;
}
.el_seminarBlock .el_logoColBox .el_txtBlock {
	width:100%;
	line-height:inherit;	
}
.el_seminarBlock .el_release {
	margin:0;
	font-size:12px;
	margin-bottom:5px;
}
.el_seminarThemeBlock > div {
	position: absolute;
	top: 28px;
	right: 33px;
	background-color: #0051a4;
	width: 135px;
	height: 135px;
	text-align: center;
	color: #fff;
}
.el_seminarThemeBlock > div > p:first-child {
	display:table-cell;
	width:135px;
	height:75px;
	vertical-align:bottom;
	font-size:80%;
	padding-bottom:15px;
}
.el_seminarThemeBlock > div > p:first-child > span {		
	border:solid 1px #fff;
	padding:2px 8px;
}
@media only screen and (max-width: 848px) {
	.el_seminarThemeBlock {
		display:none;	
	}
}





/*　水平線 */
.el_hrGray {
	height:0px;
	border:none;
	border-top: 1px solid #e3e3e1;	
}

.el_hrLightBlue {
	height:0px;
	border:none;
	border-top: 1px solid #dce6f0;
}

.el_hrLightBlueBold {
	height:0px;
	border:none;
	border-top: 3px solid #dce6f0;
}





/* 背景 */
.el_bgColor_blue {
	background-color: #00489e;
	padding: 20px;
}

.el_bgColor_lightBlue {
	background-color: #4486f9;
	padding: 20px;
}

.el_bgColor_gray {
	background-color: #d0d2d3;
	padding: 20px;
}

.el_bgColor_lightGray {
	background-color: #f0f0f0;
	padding: 20px;
}

.el_bgColor_ultraLightGray {
	background-color: #fafafa;
	padding: 20px;
}





/* テキストサイズ */
/* 強制上書き */
h2.un_txtLead {
	font-size: 34px !important;
	line-height: 1.7em !important;
}

.hp_txtSizeLLL {
	font-size: 300% !important;
}

.hp_txtSizeLL {
	font-size: 200% !important;
}

.hp_txtSizeL {
	font-size: 150% !important;
}

.hp_txtSizeReset {
	font-size: 100% !important;
}

.hp_txtSizeMS {
	font-size: 95% !important;
}

.hp_txtSizeS {
	font-size: 90% !important;
}

.hp_txtSizeMSS {
	font-size: 85% !important;
}

.hp_txtSizeSS {
	font-size: 80% !important;
}

.el_ttlLv3half {
	font-size: 18px !important;
}





/* テキストカラー */
.hp_txtWhite {
	color: #fff!important;
}

.hp_txtBlue2 {
    color: #0068af !important;
}

.hp_txtLightBlue {
	color: #00b7f8 !important;
}

.hp_txtRelease {
	color: #5a646e!important;
}

/* 太さ */
.hp_fontWtReset {
	font-weight: normal!important;
}

.el_listBlock.hp_fontWtReset ol.el_olList_type1 li:before {
	font-weight: normal!important;	
}

/* スタイル */
.hp_txtPrice {
	font-style: italic;
	font-family: "futura-pt", sans-serif;
}

/* 字詰め　カーニング　*/
.hp_yakuHalfWidth {
	font-feature-settings: 'palt';
	letter-spacing: 1.5px!important;
}

.hp_yakuHalfWidthSS {
	font-feature-settings: 'palt';
	letter-spacing: 0.5px!important;
}

.hp_yakuHalfWidthS {
	font-feature-settings: 'palt';
	letter-spacing: 1.0px!important;
}

body.press-yakuHalfWidth article .el_ttlLv1 {
	font-feature-settings: 'palt';
	letter-spacing: 2.5px!important;
}

body.press-yakuHalfWidth article .el_ttlLv2 {
	font-feature-settings: 'palt';
	letter-spacing: 1px!important;	
}

body.press-yakuHalfWidth article .el_ttlLv3,
body.press-yakuHalfWidth article .el_ttlLv4,
body.press-yakuHalfWidth article .el_ttlLv5,
body.press-yakuHalfWidth article .el_ttlLv6 {
	font-feature-settings: 'palt';
	letter-spacing: 0.5px!important;
}

/* 字詰め　ジャスティファイ　*/
body.hp_txtJustify article {
	text-align: justify;
	text-justify: inter-ideograph;
}

body.hp_txtJustify p {
	text-align: justify;
	text-justify: inter-ideograph;
}





/* ソーシャルボタン */
.un_soclialButtons {
	line-height:0;
	display:table;
}

.un_soclialButtons li {
	display:inline-block;
	vertical-align:middle;
	padding-right:1em;
}

.un_soclialButtons li img {
	width:32px;
	height:32px;
}




/* ダウンロードボタン */
.el_btn_download_skin {
    transition: all 0.3s ease 0s;
}

.el_btn_download .el_btn_download_skin {
    background: #0b52a4 none repeat scroll 0 0;
    border: 1px solid #0b52a4;
    color: #ffffff!important;
    display: inline-block;
    font-size: 14px;
    line-height: 1.4;
    padding: 16px 20px;
    text-align: center;
    text-decoration: none;
}

.el_btn_download .el_btn_download_skin:before {
    background: rgba(0, 0, 0, 0) url("/assets/images/icon_download_white.png") no-repeat scroll 0 0 / 100% auto;
    content: "";
    display: inline-block;
    height: 20px;
    margin: -5px 10px 0 0;
    vertical-align: middle;
    width: 17px;
}

.el_btn_download .el_btn_download_skin:hover {
    background: #ffffff none repeat scroll 0 0;
    color: #0b52a4!important;
    cursor: pointer;
}

.el_btn_download .el_btn_download_skin:hover:before {
    background-image: url("/assets/images/icon_download.png");
}

@media screen and (max-width: 647px) {
.el_btn_download .el_btn_download_skin {
    background: #0f82be none repeat scroll 0 0;
    border-color: #0f82be;
    border-radius: 3px;
    display: block;
    font-weight: bold;
    padding: 3% 3% 3% 12%;
    position: relative;
    text-align: left;

}

.el_btn_download .el_btn_download_skin:before {
    left: 4%;
    margin-top: -3px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
}





/* /advantage/ */
.un_serviceBlock_link:hover {
	opacity: 0.6;
	text-decoration: none;
}





/* /data_and_insights/ */
body.pg_dataInDetail.data_in article {
	text-align: justify;
	text-justify: inter-ideograph;
}

@media screen and (max-width: 647px) {
	body.pg_dataInDetail.data_in .un_entry_area .un_entryBody {
		padding: 0 0 12%;
	}
}



/* タイトル周り */
.data_in .un_entry_ttl h1 {
	font-weight: ;
}

body.pg_dataInDetail .un_entry_area .un_entryHead .un_entry_ttl .h2_style {
	background: rgba(0, 0, 0, 0.4) none repeat scroll 0 0;
	box-shadow: 12px 0 0 rgba(0, 0, 0, 0.4), -12px 0 0 rgba(0, 0, 0, 0.4);
	display: inline;
	font-family: "a-otf-midashi-go-mb31-pr6n",sans-serif;
	font-size: 36px;
	line-height: 1.5;
}

@media screen and (max-width: 1007px) {
	body.pg_dataInDetail .un_entry_area .un_entryHead .un_entry_ttl .h2_style {
		font-size: 26px;
	}
}



/* SNSボタン周り */
body.data_in .un_snsBlock.un_snsBlock_top {
	text-align: right;
}

body.data_in .un_snsBlock li {
	display: inline-block;
	font-size: 13px;
	margin-right: 18px;
	vertical-align: top;
}

body.data_in .un_snsBlock li:last-child {
	margin-right: 0;
}

body.data_in .un_snsBlock_top {
	display: table-cell;
}

@media screen and (max-width: 1007px) {
	body.data_in .un_snsBlock_top {
		display: block;
	}
	body.data_in .un_snsBlock.un_snsBlock_top {
		margin-top: 1em;
		text-align: center;
	}
}

.un_authorBlock {
	display: table;
	width: 100%;
	background-color: #f0f2f3;
	padding: 26px 52px 22px;
}

.un_authorBlock_inner {
	display: table-cell;
	font-size: 14px;
	color: #001e3c;
	vertical-align: middle;
}

.un_authorBlock_inner a {
	color: #001e3c;
}

@media screen and (max-width: 1007px) {
	.un_authorBlock_inner {
		display: block;
	}
}



/* お知らせエリア */
.el_notice {
    background: #fdeee7;
    border: #ec5514 solid 0px;
}

.el_material_fix {
    font-size: 28px!important;
    position: relative;
    top: 0.12em;
    margin-right: 0.1em;
}