@charset "UTF-8";

/*
==========================================
リセット＆ベースセッティング
==========================================
*/
html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,main,nav,section,summary{display:block}canvas,video{display:inline-block;vertical-align:baseline}a{background-color:transparent}a:active,a:hover{outline:0}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,pre{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-ms-clear{display:none}::-ms-reveal{display:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}

*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
* { margin: 0; padding: 0; }

/* 
==========================================
base
==========================================
---fonts
https://www.google.com/fonts/specimen/Roboto
<link href="https://fonts.googleapis.com/css?family=Roboto:700,700i,900,900i" rel="stylesheet">
font-family: 'Roboto', sans-serif;
https://fonts.google.com/specimen/Roboto+Condensed
<link href="https://fonts.googleapis.com/css?family=Roboto+Condensed:400,400i,700,700i" rel="stylesheet">
font-family: 'Roboto Condensed', sans-serif;
---size setting
28px: 2.153846153rem	1
26px: 2rem	0
24px: 1.846153846rem	2
22px: 1.692307692rem	2
20px: 1.538461538rem	4
18px: 1.384615384rem	7
16px: 1.230769230rem	14
15px: 1.153846153rem6
14px: 1.076923076rem17
13px: 1rem
12px: 0.923076923rem
11px: 0.846153846rem
10px: 0.769230769rem
*/
:root {
	/*font size*/
	--fontsize-base: 1.6rem;
	--fontsize-xxxxl: 3rem;
	--fontsize-xxxl: 2.8rem;
	--fontsize-xxl: 2.4rem;
	--fontsize-xl: 2.2rem;
	--fontsize-lg: 2rem;
	--fontsize-md: 1.8rem;
	--fontsize-sm: 1.5rem;
	--fontsize-xs: 1.4rem;
	--fontsize-xxs: 1.3rem;
	
	/*color*/
	--color-link-txt: #386dc5;
	--color-link-visited: #5959ab;
	--color-link-hover: #9b9835;
	--color-base-red: #7b0000;
	--color-base-blue: #12152d;
	--color-base-blue-grd-end: #1a274c;
	--color-jnlblue: #0a1245;
	--color-jnlred: #9a0019;
	
	/*width*/
	--width-structure-contents: 945px;
}
html {
	width: 100%;
	font-size: 62.5%;
	overflow-y: scroll; /*常時スクロールバー表示*/
}
body {
	color: #444;
	background: #fff; /*13162f*/
	font-size: var(--fontsize-base);
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Osaka","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic", Roboto, Helvetica, Arial, sans-serif;
	text-align: center;
}
a:link {
	text-decoration: none;
	color: var(--color-link-txt);
	background-color: transparent;
	transition: all 0.3s ease 0s;
	-webkit-transition: all 0.3s ease 0s;
}
a:visited {
	text-decoration: none;
	color: var(--color-link-visited);
	background-color: transparent;
}
a:hover {
	text-decoration: underline;
	color: var(--color-link-hover);
	background-color: transparent;
}
a.tp07:hover {
	opacity: .7; /* Standard: FF gt 1.5, Opera, Safari */
}
a:active {
	text-decoration: underline;
}

/* ---------------------------------------------------------------
general
----------------------------------------------------------------*/
hr {
	display: none;
}
form {
}
input, textarea, select {
	padding: 3px 6px;
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Osaka",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
	border: 1px solid #ccc;
}
input:hover,
textarea:hover,
select:hover {
	border: 1px solid #999;
}
input:focus,
textarea:focus,
select:focus {
	background-color: #fbfbf3;
	border: 1px solid #000;
}
input[type="button"] {
	background: #fefefe;
	background: linear-gradient(to bottom,#fefefe,#dddddd);
	box-shadow: 0px 2px 1px -1px rgba(0,0,0,0.1);
	border-radius: 4px;
	cursor: pointer;
}

img {
	border: none;
}

.visible {
	display: block;
}
.invisible {
	display: none;
}

/* ---------------------------------------------------------------
PC & mobile
----------------------------------------------------------------*/
.pc {/* 〜601まで。display: block;はここでは指定しない */
}
.tblt,
.tblt-inline {/* 820以下 */
	display: none;
}
/*
.sp-wide: 600以下
.sp: 450以下
*/
.sp,
.sp-inline,
.sp-wide,
.sp-wide-inline,
.sp-narrow,
.sp-narrow-inline {
	display: none;
}
.br-pc,
.br-pc.br-tblt,
.br-pc.br-sp-wide,
.br-pc.br-sp {
	display: inline;
}
.br-tblt {/*820以下で表示*/
	display: none;
}
.br-sp-wide {/*600以下で表示*/
	display: none;
}
.br-sp {/*450以下で表示*/
	display: none;
}
.br-sp-narrow {/*374以下で表示*/
	display: none;
}
.br-off-pc {/*768以上で解除*/
	display: none;
}
.br-off-tblt {/*820以下で解除*/
}
.br-off-sp-wide {/*600以下で解除*/
}
.br-off-sp {/*450以下で解除*/
}
.br-off-sp-narrow {/*375以下で解除*/
}

/* 
==========================================
main structure
==========================================
*/
#wrap:after,
#wrapmainly3:after,
#wrapfooterly2:after,
#wrapgnavi__main:after,
.gnavi__main_primary ul:after,
.gnavi__main_secondary ul:after,
#warppgtopnavi:after,
.wrapfooter:after {
	clear: both;
	display: block;
	content: "";
}
#wrap {
	min-width: 985px;
	overflow: hidden;
}
#header {
	position: relative;
	width: 100%;
	height: 115px;
	background: #fff;
}
#header:before {
	/*position: fixed;*/
	content: "";
	margin-left: -400%;
	top: 0;
	left: 50%;
	width: 800%;
	height: 88px;
	background: #fff;
	z-index: 10;
}
@media only screen and (min-width: 980px) {
	#header:before {
		position: fixed;
	}
}
#wrapheader {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
}
@media only screen and (min-width: 980px) {
	#wrapheader {
		position: fixed;
	}
	.scrolling #wrapheader {
		background-color: rgba(255,255,255,1);
		box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.2);
	}
}
#wrapheaderly2 {
	position: relative;
}
#wrapheaderly3 {
	position: relative;
	margin: 0 auto;
	width: var(--width-structure-contents);
}
#main {
	clear: both;
	width: 100%;
	background: #fff;
}
#wrapmain {
}
#wrapmainly2 {
}
#wrapmainly3 {
	margin: 0 auto;
	width: var(--width-structure-contents);
	text-align: left;
}
#pgtopnavi {
	clear: both;
	position: relative;
	background: #fff;
}
#footer {
	position: relative;
	background: #f7f7f7;
}
#wrapfooter {
}
#wrapfooterly2 {
}

/* 
==========================================
sub structure　& style
==========================================
*/ 
/* ---------------------------------------------------------------
textstyle - heading & fontsize & lineheight & color
----------------------------------------------------------------*/ 
/* ========= heading & fontsize ========= */
h1, h2, h3, h4, h5 {
	color: #000;
	line-height: 1;
}
h1 > a[name]:hover, h2 > a[name]:hover, h3 > a[name]:hover, h4 > a[name]:hover, h5 > a[name]:hover {
	color: #000;
	text-decoration: none;
	cursor: default;
}
h1 {
	font-size: var(--fontsize-xxxl);
}
#body h1 {
	font-size: var(--fontsize-xxl);
}
h2 {
	font-size: var(--fontsize-xl);
}
h2.en {
	font-size: var(--fontsize-xl);
}
h3 {
	font-size: var(--fontsize-lg);
}
h3.en {
	font-size: var(--fontsize-lg);
}
h4 {
	font-size: var(--fontsize-md);
}
h4.en {
	font-size: var(--fontsize-md);
}
h5, h6 {
	font-size: var(--fontsize-base);
}

.txtxxxl {/*28*/
	font-size: var(--fontsize-xxxl) !important;
}
.txtxxl {/*24*/
	font-size: var(--fontsize-xxl) !important;
}
.txtxl {/*20*/
	font-size: var(--fontsize-xl) !important;
}
.txtl {/*18*/
	font-size: var(--fontsize-lg) !important;
}
.txtm {/*16*/
	font-size: var(--fontsize-base) !important;
}
.txts {/*14*/
	font-size: var(--fontsize-sm) !important;
}
.txtxs {/*13*/
	font-size: var(--fontsize-xs) !important;
}
.txtxxs {/*12*/
	font-size: var(--fontsize-xxs) !important;
}

/* ========= lineheight ========= */
.lh180 {
	line-height: 1.8 !important;
}
.lh150 {
	line-height: 1.5 !important;
}
.lh135 {
	line-height: 1.35 !important;
}
.lh115 {
	line-height: 1.15 !important;
}
.lh100 {
	line-height: 1 !important;
}

/* ========= color ========= */
.black {
	color: #000;
}
.jnlblue {
	color: var(--color-jnlblue);/*262858*/
}
.jnlred, .caution {
	color: var(--color-jnlred);
}
.red {
	color: var(--color-base-red) !important;
}
.gray {
	color: #999;
}

/* ========= basic ========= */
p {
	margin: 2em 0;
	line-height: 1.8;
}
ul {
	margin: 1em 0;
}
ol {
	margin: 1em 0;
}
b {
}
strong {
}
em {
	font-style: normal;
	font-weight: bold;
}
.italic {
	font-style: italic;
}
.fw-nml {
	font-weight: normal !important;
}
.fw-bold {
	font-weight: bold !important;
}

/* ========= other ========= */
.caption {
	color: #777;
	font-size: var(--fontsize-xs);
	line-height: 1.2em;
}

.metadata {
	color: #777;
	line-height: 1.2;
}

.txt-upper {
	text-transform: uppercase;
}

.serif {
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif !important;
}
.en,
.title-en {
	font-family: 'Roboto Condensed', sans-serif;
}

.author {
}

.title-ja,
.title-en {
	display: inline-block;
	color: var(--color-base-red);
}
h2 > .title-ja,
h2 > .title-en {
	position: relative;
	padding: 0 0 0 10px;
	font-size: var(--fontsize-md);
	font-style: italic;
}

.ctgytitle {
}
.ctgytitle > span {
	display: inline-block;
	padding: 2px 8px;
	color: #fff;
	background: #17295a;
	font-size: var(--fontsize-md);
}

.required {
}
span.required {
	padding: 2px 4px;
	color: #fff;
	background: #9a0019;
	font-size: var(--fontsize-sm);
	white-space: nowrap;
}

.status-full {
	padding: 2px 4px;
	color: #fff;
	background: #9a0019;
	font-size: var(--fontsize-sm);
	white-space: nowrap;
}


/* ---------------------------------------------------------------
header
----------------------------------------------------------------*/
/* ========= siteid ========= */
#siteid {
	width: 550px;
	height: 74px;
	text-align: left;
	float: left;
}
#siteid h1,#siteid p {
	margin: 0;
	padding: 26px 0 0 18px;	
}
#siteid img {
	width: 259px;
	height: auto;
}

/* ========= globalnavi ========= */
#gnavi {
}
#gnavi ul {
	margin: 0;
	list-style-type: none;
}
#gnavi li {
	margin: 0;
}
#gnavi a {
	display: block;
	text-decoration: none;
}

/*------- sub -------*/
#gnavi__sub {
	width: 190px;
	text-align: right;
	float: right;
	transform: skewx(-30deg);
}
#gnavi__sub ul {
	margin: 26px 0 0 0;
	display: flex;
	justify-content: flex-end;
}
#gnavi__sub li {
	font-size: var(--fontsize-xs);
}
.nav-contact a {
	padding: 0.2em;
}
#gnavi__sub span {
	display: inline-block;
	transform: skewx(30deg);
}
#gnavi__sub a span {
	position: relative;
	padding: 0 0 0 14px;
}
#gnavi__sub a span::before {
	position: absolute;
	content: "";
	top: calc(50% - 3px);
	left: 0;
	width: 6px;
	height: 6px;
	background-color: transparent;
	border-top: 2px solid var(--color-base-red);
	border-right: 2px solid var(--color-base-red);
	transform: rotate(45deg);
}
#gnavi__sub a:link,
#gnavi__sub a:visited {
	color: #000;
}
#gnavi__sub a:hover {
	color: var(--color-link-hover);
	transition: all 0.3s ease 0s;
	-webkit-transition: all 0.3s ease 0s;
}

/*------- main -------*/
#gnavi__main {
	clear: both;
	position: relative;
	height: 41px;
}
#gnavi__main:before {
	position: absolute;
	content: "";
	top: 0;
	left: calc(-300% - 1px);
	width: calc(400% + 12px);
	height: 41px;
	background: #13162f;
	transform: skewx(-30deg);
	z-index: -1;
}
#gnavi__main:after {
	position: absolute;
	content: "";
	top: 0;
	right: 0;
	width: 44px;
	height: 41px;
	background: var(--color-base-blue-grd-end);
	transform: skewx(-30deg);
	z-index: -10;
	transition: all 1.0s ease 0s;
	-webkit-transition: all 1.0s ease 0s;
}
@media only screen and (min-width: 980px) {
	.scrolling #gnavi__main:after {
		left: 95%;
		width: 300%;
	}
}
#wrapgnavi__main {
	position: relative;
	width: calc(100% + 12px);
	height: 41px;
	background: #13162f;
	background: linear-gradient(to right,#13162f,var(--color-base-blue-grd-end));
	transform: skewx(-30deg);
}
.offscrolling #wrapgnavi__main:after {
}
.gnavi__main__primary {
	position: absolute;
	top: 0;
	left: -1px;
	width: 100%;
	background: #13162f;
	background: linear-gradient(to right,#13162f,var(--color-base-blue-grd-end));
	transform: skewx(0deg);
	z-index: 1;
}
.gnavi__main__primary ul {
	position: absolute;
	display: flex;
	top: 0;
	left: 2px;
	width: 100%;
}
.gnavi__main__primary li {
	width: 25%;
}
.gnavi__main__primary a {
	position: relative;
	width: 100%;
	height: 41px;
	font-size: var(--fontsize-sm);
	line-height: 41px;
	border-left: 1px solid #242744;
	overflow: hidden;
}
.gnavi__main__primary a:before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 0;
	height: 41px;
	background: transparent;
}
.gnavi__main__primary a:link,
.gnavi__main__primary a:visited,
.gnavi__main__secondary a:link,
.gnavi__main__secondary a:visited {
	color: #fff;
	transition: all 0.3s ease 0s;
	-webkit-transition: all 0.3s ease 0s;
}
.gnavi__main__primary a:hover {
	color: var(--color-link-hover);
	background: #f4f4ea;
}
.gnavi__main__primary a > span {
	display: inline-block;
	transform: skewx(30deg);
}

/* ---------------------------------------------------------------
footer
----------------------------------------------------------------*/
.wrapfootergnavi,
.wrapfooter {
	position: relative;
	margin: 0 auto;
	width: var(--width-structure-contents);
	text-align: left;
}
/* ========= 共通 ========= */
#footer ul {
	margin: 0;
}
#footer h2 {
	position: absolute;
	width: 95%;
	right: 200%;
}
#footer li {
	display: inline-block;
	list-style-type: none;
}

/* ========= footergnavi ========= */
.footergnavi {
	color: #000;
	background: #f7f7f7 url("../images/bg_ft.png") right top no-repeat;
	font-size: var(--fontsize-sm);
}
.wrapfootergnavi {
	position: relative;
	padding: 35px 0 40px 20px;
}
.footergnavi a:link,
.footergnavi a:visited {
	color: #000;
}
.footergnavi a:hover {
	color: #bebb4b;
}

.footergnavi__main,
.footergnavi__sub {
	margin: 10px 0;
}
.footergnavi li {
	margin: 0;
}
.footergnavi li a {
	display: inline-block;
	margin: 0 10px 0 0;
	padding: 0 0 0 14px;
	position: relative;
}
.footergnavi li a::before {
	position: absolute;
	content: "";
	top: calc(50% - 3px);
	left: 0;
	width: 6px;
	height: 6px;
	background-color: transparent;
	border-top: 2px solid var(--color-base-red);
	border-right: 2px solid var(--color-base-red);
	transform: rotate(45deg);
}

/* == siteid == */
.footergnavi .siteid {
}
.footergnavi .siteid h3 {
	margin: 20px 0;
	font-size: var(--fontsize-md);
}
.footergnavi .siteid h3 .en {
	margin-left: 1em;
	font-size: var(--fontsize-xs);
}

/* == main == */
.footergnavi__main {
	line-height: 1.35;
}
.footergnavi__main li {
	margin-right: 15px;
}

/* ========= footer ========= */
.footer {
	position: relative;
	margin-top: 4px;
	background: #13162f;
}
.footer:before {
	position: absolute;
	content: "";
	top: -4px;
	left: 0;
	width: 100%;
	height: 4px;
	background: var(--color-base-red);
	background: linear-gradient(to right,#3b4683,var(--color-base-red));
}
.wrapfooter {
	padding: 20px 0 20px 20px;
	color: #fff;
	font-size: var(--fontsize-xxs);
}
.footer a:link,
.footer a:visited {
	color: #fff;
}
.footer ul {
	margin: 0 0 0 10px;
	list-style-type: none;
	float: left;
}
.footer li {
	margin: 0 15px 0 0;
}

/* ========= copyright ========= */
#copyright {
	margin: 0;
	font-family: "Verdana","Arial","Helvetica",sans-serif;
	line-height: 1;
	text-align: right;
	float: right;
}

/* ---------------------------------------------------------------
sidebar
----------------------------------------------------------------*/
#sidebar h2 .title-en {
	margin-left: 10px;
	font-size: var(--fontsize-xs);
	font-style: italic;
}

/* ========= コラム ========= */
#sdcolumn {
	margin: 36px 0;
	padding: 0 10px;
	width: 160px;
}
#sdcolumn div.head {
}
#sdcolumn h2 {
	position: relative;
	margin: 30px 0 0;
	font-size: var(--fontsize-xxl);
	border-top: 3px solid var(--color-base-blue);
}
#sdcolumn h2 > a:link,
#sdcolumn h2 > a:visited{
	display: block;
	padding-top: 15px;
	padding-bottom: 15px;
	color: #000;
}
#sdcolumn h2 > a:hover {
	color: var(--color-link-hover);
	text-decoration: none;
}
#sdcolumn div.body {
	padding: 0;
}
#sdcolumn .body p {
	margin: 0;
}
.sdcolumn__author {
	position: relative;
	margin: 12px 0;
	border-top: 1px solid #dadce3; /*dadce3*/
}
.sdcolumn__author__head {
	padding: 10px 0 0 0;
}
.sdcolumn__author__body {
	background: #fff;
}
.sdcolumn__author h3 {
	position: relative;
	display: table;
	font-size: var(--fontsize-md);
	line-height: 1.3;
}
.sdcolumn__author h3 .author {
	display: table-cell;
	padding: 0 5px 0 0;
	width: 90px;
	text-align: left;
	vertical-align: middle;
}
.sdcolumn__author h3 .meta-position {
	font-size: var(--fontsize-xs);
}
.sdcolumn__author h3 > img {
	display: table-cell;
	width: 50px;
	height: 50px;
	border: 1px solid #f4f5f7;
}
.sdcolumn__author .article {
	border-bottom: 1px dotted #dadce3;
}
.sdcolumn__author p.link {
	margin: 0;
	line-height: 1.3;
}
.sdcolumn__author .article a {
	display: block;
	padding: 12px 5px 12px 15px;
	background-position: 5px 15px;
}
.sdcolumn__author p.right {
	padding: 6px 0;
	font-size: var(--fontsize-sm);
}

.sdcolumn__ranking {
	margin: 36px 0 0 0;
}
.sdcolumn__ranking h3 {
	padding: 0 0 6px;
}
.sdcolumn__ranking ol,
.sdcolumn__ranking li {
	margin: 0;
}
.sdcolumn__ranking .rankinglist li {
	/*border-bottom: 1px dotted #dadce3;*/
}
.sdcolumn__ranking .rankinglist li:first-child {
	/*border-top: 1px dotted #dadce3;*/
}

/* ========= verisign ========= */
.vsseal {
	background: none !important;
	text-align: center;
}
.vsseal table {
	margin: 0 auto;
}
.vsseal a {
	font-size: 10px !important;
	font-weight: normal !important;
}

/* ---------------------------------------------------------------
list
----------------------------------------------------------------*/ 
ul, ol, dl {
	margin: 1em 0 ;
	padding-left: 0;
	line-height: 1.3em;
}
li {
	margin-left: 1.8em;
}
.lmgn-s li {
	margin-bottom: 2px !important;
}
.lmgn-m li {
	margin-bottom: 4px !important;
}
.lmgn-l li {
	margin-bottom: 6px !important;
}

/* ========= 　マーカー ========= */
.list-nomk {
	list-style-type: none;
}
.list-ktkn {
	counter-reset: num-list-ktkn;
	list-style-type: none;
}
.list-ktkn > li {
	margin-left: 2em;
}
.list-ktkn > li:before {
	display: inline-block;
	margin-left: -2em;
	width: 2em;
	content: counter(num-list-ktkn,katakana)"．";
	counter-increment: num-list-ktkn;
}

/* ========= 　実線 ========= */
.list {
	line-height: 1.35em;
	list-style-type: none;
	border-top: solid 1px #dfdfe6;
}
.list li {
	margin-left: 0;
	padding: 8px 4px;
	border-bottom: solid 1px #dfdfe6;
}

/* ========= 　点線 ========= */
.dotlist {
	list-style-type: none;
}
.dotlist li {
	margin-left: 0;
	padding: 8px 2px;
	border-bottom: 1px dotted #dadce3;
}

/* ========= 　表形式 ========= */
dl.list {
	line-height: 1.5;
	border-top: none;
}
dl.list:after {
	clear: both;
	display: block;
	content: "";
}
dl.list dt {
	clear: both;
	margin: 0;
	padding: 6px 0 4px;
	width: 4em;
	font-weight: bold;
	float: left;
}
dl.list dd {
	margin: 0;
	padding: 6px 0 4px 5em;
}
dl.list-w5 dt {
	width: 5em;
}
dl.list-w5 dd {
	padding-left: 6em;
}

/* ========= 　目次リスト ========= */
.indexlist {
	list-style-type: none;	
}
.indexlist li {
	padding: 4px 0;
	list-style-position: inside;
	border-bottom: solid 1px #dfdfe6;
}
.indexlist li ul {
	margin: 2px 0 0 0;
	padding: 4px 0 0 24px;
	border-top: solid 1px #dfdfe6;
}
.indexlist li ul li{
	border-bottom: 1px dotted #dadce3;
	list-style-position: outside;
}
.indexlist li ul li.last {
	background: none;
	border-bottom: none;
}

/* ========= 　仕切り線リスト ========= */
.brdrlist {
	border-top: solid 1px #dfdfe6;
}
.brdrlist li {
	margin-left: 0;
	padding: 10px 0;
	line-height: 1.5;
	border-bottom: solid 1px #dfdfe6;
	list-style-position: inside;
	list-style-type: none;	
}

/* ========= 　赤ーリスト ========= */
.linelist li {
	position: relative;
	margin-bottom: 0.5em;
}
.linelist li:before {
	
}

/* ========= 　チェックリスト ========= */
.chklist li {
	position: relative;
	margin-left: 0;
	margin-bottom: 4px;
	padding: 0 0 0 1.4em;
	list-style-type: none;
}
.chklist li:before {
	position: absolute;
	content: "✓";
	margin-left: -1.4em;
	color: var(--color-base-red);
	font-weight: bold;
}
	
/* ========= 　ランキング用リスト ========= */
.rankinglist {
	list-style-type: none;
	counter-reset: ranking-num;
}
.rankinglist li {
	position: relative;
	background-position: 2px 0;
	background-repeat: no-repeat;
	counter-increment : ranking-num;
	border-bottom: 1px solid #ececf1;
}
.rankinglist li:first-child {
	border-top: 1px solid #ececf1;
}
.rankinglist li > a {
	display: block;
	padding: 12px 0 12px 30px;
}
.rankinglist li > a:before {
	position: absolute;
	display: block;
	content : counter(ranking-num);
	padding: 4px 6px;
	top: 9px;
	left: 0;
	color: #151835;
	background: #f4f4f7;
	line-height: 1;
	transition: all 0.3s ease 0s;
	-webkit-transition: all 0.3s ease 0s;
}
.rankinglist > .no1 > a:before {
	color: #fff;
	background: var(--color-base-red);
}
.rankinglist > .no2 > a:before {
	color: #fff;
	background: #14234c;
}
.rankinglist > .no3 > a:before {
	color: #fff;
	background: #b6bbc7;
}
.rankinglist li > a:hover:before {
	color: #fff;
	background: var(--color-link-hover);
}

/* ---------------------------------------------------------------
link&linklist
----------------------------------------------------------------*/ 
/* ========= 　リンクリスト ========= */
.relatedlink-ex {
}

ul.linklist li,
#sdrelatedlink li,
#sbrelatedlink li,
.relatedlink-in li,
.relatedlink-ex li,
.relatedlink li {
	margin-left: 0;
	margin-bottom: 4px;
	list-style-type: none;
}
ul.linklist li a,
#sdrelatedlink li a,
#sbrelatedlink li a,
.relatedlink-in li a,
.relatedlink-ex li a,
.relatedlink li a {
	display: block;
	margin: 0;
	padding: 0 0 0 10px;
	background: url("../images/icon_arrow.png") 2px 0.4em no-repeat;
}
ul.linklist li a:hover,
#sdrelatedlink li a:hover,
#sbrelatedlink li a:hover,
.relatedlink-in li a:hover,
.relatedlink-ex li a:hover,
.relatedlink li a:hover {
	background-image: url("../images/icon_arrow_linkylw.png");
}

li.nolink {
	padding-left: 10px !important;
	background: none !important;
}

/* ========= 　リンク一般 ========= */
div.linklist a,
h3.link a,
p.link a,
div.link a,
a.link {
	position: relative;
	padding: 0.2em 0 0 15px;
}
div.linklist a::before,
h3.link a::before,
p.link a::before,
div.link a::before,
a.link::before {
	position: absolute;
	content: "";
	top: 50%;
	left: 0;
	width: 6px;
	height: 6px;
	background-color: transparent;
	border-top: 1px solid var(--color-base-red);
	border-right: 1px solid var(--color-base-red);
	transform: rotate(45deg) translateY(-50%);
}
div.linklist a:hover::before,
h3.link a:hover::before,
p.link a:hover::before,
div.link a:hover::before,
a.link:hover::before {
	border-top-color: var(--color-link-hover);
	border-right-color: var(--color-link-hover);
}

a.inpage {
	padding: 0 0 0 12px;
	background: url("../images/icon_2inpage.png") 2px 0.5em no-repeat;
}

.imglink .img {
	position: relative;
	display: block;
	margin-bottom: 16px;
	width: 257px;
	height: 145px;
	background: var(--color-base-blue);
	text-decoration: none;
	overflow: hidden;
}
.imglink .img:before {
	position: absolute;
	content: "";
	top: 0;
	left: -50px;
	width: 350px;
	height: 145px;
	background: rgba(13,15,50,0.3);
	transform: skewx(-30deg);
	transition: all 0.4s ease 0s;
	-webkit-transition: all 0.4s ease 0s;
	z-index: 1;
}
a.imglink:hover .img:before {
	left: 280px;
	background: rgba(13,15,50,0.0);
}

.nav-link {
	position: relative;
	display: inline-block;
	padding: 0;
	line-height: 1;
}
.nav-link::after {
	position: absolute;
	content: "";
	margin-top: -4px;
	top: 50%;
	right: -18px;
	width: 8px;
	height: 8px;
	background-color: transparent;
	border-top: 2px solid var(--color-base-red);
	border-right: 2px solid var(--color-base-red);
	transform: rotate(45deg);
}
a.nav-link:hover,
a:hover .nav-link {
	color: var(--color-link-hover);
	/*background-image: url("../images/icon_arrow_linkylw.png");*/
	transition: all 0.3s ease 0s;
	-webkit-transition: all 0.3s ease 0s;
}
a.nav-link:hover::after,
a:hover .nav-link::after {
	border-top-color: var(--color-link-hover);
	border-right-color: var(--color-link-hover);
}

.nav-frlink {
	position: relative;
	display: inline-block;
	padding: 1em 3.8rem 1em 1.8rem;
	color: #fff;
	/*background: url("../images/icon_arrow.png") 10px center no-repeat;*/
	background: var(--color-base-blue);
	background: linear-gradient(to right,var(--color-base-blue),var(--color-base-blue-grd-end));
	min-width: 300px;
	line-height: 1;
	border: 1px solid transparent;
	text-decoration: none;
}
.nav-frlink:link,
.nav-frlink:visited {
	color: #fff;
	background: var(--color-base-blue);
	background: linear-gradient(to right,var(--color-base-blue),var(--color-base-blue-grd-end));
}
.nav-frlink:before {
	position: absolute;
	content: "";
	margin-top: -3.5px;
	top: 50%;
	right: 16px;
	width: 7px;
	height: 7px;
	background-color: transparent;
	border-top: 2px solid var(--color-base-red);
	border-right: 2px solid var(--color-base-red);
	transform: rotate(45deg);
	transition: all 0.3s ease 0s;
	-webkit-transition: all 0.3s ease 0s;
}
.nav-frlink:hover {
	color: var(--color-link-hover);
	background: #f4f4ea;
	text-decoration: none;
	/*border-color: #f4f4ea;*/
	border-color: var(--color-link-hover);
}
.nav-frlink.__off:hover {
	color: #000;
	border-color: #000;
}
.nav-frlink:hover:before {
	border-top-color: var(--color-link-hover);
	border-right-color: var(--color-link-hover);
}
.nav-frlink.__off:hover:before,
.nav-frlink.__wh.__off:hover:before,
.nav-frlink.__red.__off:hover:before {
	border-top-color: #fff;
	border-right-color: #fff;
}
.nav-frlink.__wh {
	color: #fff;
	border-color: #fff;
}
.nav-frlink.__wh:before {
	border-top-color: #fff;
	border-right-color: #fff;
}
.nav-frlink.__wh:hover {
	color: var(--color-link-hover);
	background: #f4f4ea;
	/*border-color: #f4f4ea;*/
	border-color: var(--color-link-hover);
}
.nav-frlink.__wh.__off:hover {
	color: #fff;
	background: transparent;
	border-color: #fff;
}
.nav-frlink.__wh:hover:before {
	border-top-color: var(--color-link-hover);
	border-right-color: var(--color-link-hover);
}
.nav-frlink.__red {
	color: var(--color-base-red);
	border-color: var(--color-base-red);
}
.nav-frlink.__red:hover {
	color: var(--color-link-hover);
	background: #f4f4ea;
	border-color: var(--color-link-hover);
}
.nav-frlink.__red.__off:hover {
	color: var(--color-link-hover);
	background: transparent;
	border-color: var(--color-link-hover);
}
.nav-frlink.__red:hover:before {
	border-top-color: var(--color-link-hover);
	border-right-color: var(--color-link-hover);
}
.nav-frlink.__red.__filled {
	color: #fff;
	background: var(--color-base-red);
	border-color: var(--color-base-red);
}
.nav-frlink.__red.__filled:before {
	border-top-color: #fff;
	border-right-color: #fff;
}
.nav-frlink.__red.__filled:hover {
	color: var(--color-link-hover);
	background: #f4f4ea;
	border-color: var(--color-link-hover);
}
.nav-frlink.__red.__filled:hover:before {
	border-top-color: var(--color-link-hover);
	border-right-color: var(--color-link-hover);
}

/* ========= 　強調リンクボタン ========= */
/* == 一般＆印刷 == */
.linkst {
	margin: 28px 0 18px;
	line-height: 1;
}
.linkprint {
	margin: 18px 0;
	line-height: 1;
}
.linkst a,
.linkprint a {
	position: relative;
	display: inline-block;
	padding: 10px 22px 10px 14px;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
}
.linkst a {
	color: var(--color-base-red);
	border: 1px solid var(--color-base-red);
}
.linkprint a {
	padding: 10px 14px 10px 30px;
	color: #000;
	border: 1px solid #d4d4d4;
}
.linkst a:before {
	position: absolute;
	content: "";
	margin-top: -3px;
	top: 50%;
	right: 10px;
	width: 3px;
	height: 5px;
	background-image: url("../images/icon_arrow.png");
	background-repeat: no-repeat;
	transition: all 0.3s ease 0s;
	-webkit-transition: all 0.3s ease 0s;
}
.linkprint a:before {
	position: absolute;
	content: "";
	margin-top: -7px;
	top: 50%;
	left: 10px;
	width: 12px;
	height: 13px;
	background-image: url("../images/icon_print_gray.png");
	background-repeat: no-repeat;
	transition: all 0.3s ease 0s;
	-webkit-transition: all 0.3s ease 0s;
}
.linkst a:hover,
.linkprint a:hover {
	color: var(--color-link-hover);
	background: #f4f4ea none;
	border-color: var(--color-link-hover);
	text-decoration: none;
}
.linkst a:hover:before {
	background-image: url("../images/icon_arrow_linkylw.png");
}
.linkprint a:hover:before {
	background-image: url("../images/icon_print_linkylw.png");
}

/* == 読む == */
div.linkread a, p.linkread a, li.linkread a, a.linkread {
	margin: 0.3em 0 0.8em 0;
	padding: 0 0 0 24px;
	background: url("../images/icon_read.gif") 2px 0.2em no-repeat;
}

/* ========= ナビゲーション ========= */
div.linknext, p.linknext {
	margin-top: 5em;
	color: #666;
	line-height: 1.35;
}
div.linknext + div.linknext, p.linknext + p.linknext {
	margin-top: 2em;
}
div.linknext a, p.linknext a {
	display: inline-block;
	margin: 8px 0 0;
}

/* ========= 1階層上へ&ページトップへ ========= */
.linkback2top,
.linkback2pgtop {
	line-height: 1.35;
}
.linkback2top a {
	position: relative;
	padding: 0 0 0 12px;
	background-position: 0 40%;
	background-repeat: no-repeat;
}
.linkback2top a::before {
	position: absolute;
	content: "";
	margin-top: -3.5px;
	top: 50%;
	left: 0;
	width: 7px;
	height: 7px;
	background-color: transparent;
	border-top: 2px solid var(--color-base-red);
	border-right: 2px solid var(--color-base-red);
	transform: rotate(-135deg);
	transition: all 0.3s ease 0s;
	-webkit-transition: all 0.3s ease 0s;
}
.linkback2top a:hover::before {
	border-top-color: var(--color-link-hover);
	border-right-color: var(--color-link-hover);
}
.linkback2pgtop a {
	padding: 0 8px 0 0;
	background-position: 100% 40%;
	background-repeat: no-repeat;
}
.linkback2pgtop a {
	background-image: url("../images/icon_2top.png");
}
.linkback2pgtop a:hover {
	background-image: url("../images/icon_2top_linkylw.png");
}


/* ========= ページトップへ（フッター） ========= */
#warppgtopnavi {
	position: relative;
	margin: 0 auto;
	width: 905px;
}
#warppgtopnavi a {
	position: relative;
	display: block;
	padding: 0;
	width: 60px;
	height: 54px;
	background: #f7f7f7;
	text-indent: -9999px;
	float: right;
	border: 1px solid transparent;
	z-index: 1;
}
#warppgtopnavi a:hover {
	color: var(--color-link-hover);
	/*background: #f4f4ea;*/
	text-decoration: none;
}
#warppgtopnavi a:before {
	position: absolute;
	content: "";
	top: 26px;
	left: calc(50% - 5px);
	/*border: 12px solid transparent;
	border-top-color: #000;
	border-right-width: 0px;*/
	width: 10px;
	height: 10px;
	background-color: transparent;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	transform: rotate(-45deg);
}
#warppgtopnavi a:hover:before {
	border-top-color: var(--color-link-hover);
	border-right-color: var(--color-link-hover);
}
#warppgtopnavi a:after {
	position: absolute;
	content: "";
	top: 18px;
	left: calc(50% - 7px);
	width: 14px;
	height: 1px;
	background: #000;
}
#warppgtopnavi a:hover:after {
	background: var(--color-link-hover);
}

/* ---------------------------------------------------------------
table
----------------------------------------------------------------*/
.table-wrap {
	clear: both;
	margin: 2em 0;
}
table {
	border-collapse: collapse;
}
th, td {
	line-height: 1.5;
}

/* ========= 各種スタイル========= */
/* == 一般枠あり == */
.listtable,
.listtable-v {
	border-top: 1px solid #dadce4;
	border-left: 1px solid #dadce4;
}
.listtable th {
	padding: 20px;
	width: 7em;
	background: #f7f7f8;
	vertical-align: top;
	text-align: left;
	white-space: nowrap;
	border-right: 1px solid #dadce4;
	border-bottom: 1px solid #dadce4;
}
.listtable td {
	padding: 20px;
	background: #fff;
	vertical-align: top;
	border-right: 1px solid #dadce4;
	border-bottom: 1px solid #dadce4;
}

/* 縦 */
.listtable-v th {
	padding: 20px;
	background: #f7f7f8;
	text-align: center;
	border-right: 1px solid #dadce4;
	border-bottom: 1px solid #dadce4;
}
.listtable-v td {
	padding: 20px;
	background: #fff;
	vertical-align: top;
	border-right: 1px solid #dadce4;
	border-bottom: 1px solid #dadce4;
}

/* == 一般枠なし == */
.listtable-nb {
}
.listtable-nb th {
	padding: 20px;
	background: #f7f7f8;
	vertical-align: top;
	text-align: left;
}
.listtable-nb td {
	padding: 20px;
	background: #fff;
	vertical-align: top;
}

/* == 上下線（沿革） == */
.listtable02 {
	border-top: 1px solid #dadce4;
}
.listtable02 th {
	padding: 20px 20px 20px 0;
	vertical-align: top;
	white-space: nowrap;
	border-bottom: 1px solid #dadce4;
}
.listtable02 td {
	padding: 20px;
	vertical-align: top;
	border-bottom: 1px solid #dadce4;
}

/* == 上下線 == */
.listtable03 {
	line-height: 1.15em;
	border-top: solid 1px #dadce4;
}
.listtable03 th {
	padding: 20px;
	width: 6em;
	color: #666;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
	border-bottom: solid 1px #dadce4;
}
.listtable03 td {
	padding: 20px 20px 20px 0;
	border-bottom: solid 1px #dadce4;
}

/* == 上下線（通常） == */
.listtable03-2 {
	line-height: 1.15em;
	border-top: solid 1px #dadce4;
}
.listtable03-2 th {
	padding: 8px 8px;
	width: 6em;
	color: #666;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
	border-bottom: solid 1px #dadce4;
}
.listtable03-2 td {
	padding: 8px 8px;
	vertical-align: top;
	border-bottom: solid 1px #dadce4;
}

/* == 上下線（活動実績） == */
.listtable04 {
	line-height: 1.15em;
}
.listtable04 th {
	padding: 10px 8px;
	color: #000;
	font-weight: normal;
	text-align: center;
	background: url("../images/bg_ly3h2.gif") left top repeat-x;
}
.listtable04 td {
	padding: 10px 0 10px 0;
	vertical-align: top;
	border-bottom: solid 1px #dadce4;
}

/* == インラインtable == */
.inline-listtable01,
td .inline-listtable01,
.listtable .inline-listtable01 {
	border: none;
}
.inline-listtable01 th,
td .inline-listtable01 th,
.listtable .inline-listtable01 th {
	padding: 0 24px 0 2px;
	color: #444 ;
	background: #fff;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
	white-space: nowrap;
	border: none;
}
.inline-listtable01 td,
td .inline-listtable01 td,
.listtable .inline-listtable01 td {
	padding: 0 2px;
	vertical-align: top;
	border: none;
}

/* ========= table内 ========= */
/* == table == */
.listtable table th, .listtable table td {
	padding: 0.2em 0.2em 0.2em 0;
	background: none;
	border: none;
}

td p {
	margin: 0;
}
table.layouttable td p {
	margin: 1em 0;
}
table.layouttable td p.linknext {
	margin: 2em 0 1em 0;
}
.listtable td p.link {
	margin: 1em 0 0 0;
}

.listtable td a img[align="absmiddle"],
.listtable-v td a img[align="absmiddle"] {
	vertical-align: baseline;
}


/* ---------------------------------------------------------------
frame
----------------------------------------------------------------*/
.attention {
	margin: 1em 0;
	padding: 0 1.5em;
	background: #fff;
	border: solid 3px #f2e5e8;
} 
.framegrwh1pxsolid {
	margin: 1em 0;
	padding: 0 1.5em;
	color: #666;
	background: #fff;
	border: solid 1px #e5e5e5;
}
.framegr {
	margin: 1em 0;
	padding: 1em 1.5em;
	color: #444;
	background: #fafafa;
}
.framegrlgr1pxsolid {
	margin: 1em 0;
	padding: 1em 1.5em;
	color: #444;
	background: #fafafa;
	border: solid 1px #e5e5e5;
}
.framegrnwh1pxsolid {
	margin: 1em 0;
	padding: 0.2em 1.5em 0.1em 1.5em;
	color: #2d8157;
	background: #fff;
	border: solid 1px #b4d3c4;
}
.framegrwh1pxsolid > h3 {
	margin-top: 2em !important;
}
.attention p,
.framegrwh1pxsolid p,
.framegrlgr1pxsolid p {
	margin: 1em 0;
	line-height: 1.5;
}
.framegrwh1pxsolid ul,
.framegrlgr1pxsolid ul {/*ieバグ用再定義*/
	margin: 1em 0;
}
.framegrwh1pxsolid ol,
.framegrlgr1pxsolid ol {/*ieバグ用再定義*/
 	margin: 1em 0 1em 1em;
 }

/* ---------------------------------------------------------------
layout
----------------------------------------------------------------*/ 
/* ========= margin ========= */
.mgn0 {
	margin: 0 !important;
}
.mgn1010 {
	margin: 1em 0 !important;
}
.mgn0004 {
	margin: 0 0 0 4em !important;
}
.mgn-t0 {
	margin-top: 0 !important;
}
.mgn-t1 {
	margin-top: 1em !important;
}
.mgn-t2 {
	margin-top: 2em !important;
}
.mgn-t3 {
	margin-top: 3em !important;
}
.mgn-t4 {
	margin-top: 4em !important;
}
.mgn-b0 {
	margin-bottom: 0 !important;
}
.mgn-b1 {
	margin-bottom: 1em !important;
}
.mgn-l1 {
	margin-left: 1em !important;
}

/* ========= position ========= */
.left {
	text-align: left;
}
.center {
	text-align: center;
}
.right {
	text-align: right;
}

.top {
	vertical-align: top;
}
.middle {
	vertical-align: middle;
}
.bottom {
	vertical-align: bottom;
}

/* ========= float ========= */
.fleft {
	float: left;
}
.fright {
	float: right;
}
.clear-both {
	clear: both;
}
img.fright {
	margin: 0 0 12px 12px;
	float: right;
}
table.fright,
div.fright {
	margin: 0 0 12px 18px;
	float: right;
}
img.fleft {
	margin: 0 12px 12px 0;
	float: left;
}
table.fleft,
div.fleft {
	margin: 0 18px 12px 0;
	float: left;
}

/* ========= column ========= */
.clearfix:after,
.table:after,
.c-box:after,
.c-box2:after,
.c-box2-1-2:after,
.c-box2-1-6:after,
.c-box-consulintro:after,
.c-box3:after { /* ie8over */
	clear: both;
	display: block;
	content: "";
}
.table {
	display: table;
}
.cell {
	display: table-cell;
}

.c-box2 > .item1,
.c-box2-1-2 > .item1,
.c-box2-1-6 > .item1,
.c-box-consulintro > .item1,
.c-box3 > .item1,
.c-box2 .c-box3 > .item2,
.c-box3 > .item2 {
	float: left;
}
.c-box2 > .item2,
.c-box2-1-2 > .item2,
.c-box2-1-6 > .item2,
.c-box-consulintro > .item2,
.c-box3 > .item3 {
	float: right;
}


/* ---------------------------------------------------------------
misc
----------------------------------------------------------------*/ 
.heading {
}
.subtitle {
	font-size: smaller;
}
.first {
	margin-top: 0 !important;
}
.last {
	margin-bottom: 0;
}
.catch {
}
.lead {
	margin-top: 0;
	line-height: 1.5em;
}
.summary {
	line-height: 1.5em;
}

.thumbnail {
}
.photo {
	/*padding: 3px;
	border: solid 1px #e5e5e5;*/
}

.icon-new {
	display: inline-block;
	margin: 0 4px 2px;
	padding: 2px 4px;
	color: #fff;
	background: var(--color-base-red);
	font-size: var(--fontsize-xxs);
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-weight: normal;
	line-height: 1em;
	vertical-align: middle;
}
.icon-new.__pos-right {
	margin-right: 0;
}
.icon-new.__pos-left {
	margin-left: 0;
}

.normal {
}
.deco {
}
.decobegin {
}
p.desc,
.contentspage #contents p.desc {
	line-height: 1.35em;
}
.log {
	margin: 0;
}
.logimg {
	width:1px;
	height:1px;
	float: left;
}

/* ベリサイン */
.center table {
	margin: 0 auto;
}

