@charset "UTF-8";


/*  CSS Index
--------------------------------------------------------------
1 : text
 	  : tx
 	  : tx_sen
 	  : tx_kiji
 	  : tx_belt
 	  : tx_line
 	  : tx_bar
 	  : tx_check
 	  : tx_deco
 	  : tx_kage
 	  : tx_kage_w
 	  : tx_maru
 	  : tx_icon
 	  : tx_link
 	  : tx_ya
 	  : title1
 	  : title2
 	  : title3
2 : table
 	  : zebra
 	  : line_x
 	  : td_r/td_c/td_no
 	  : th_r/th_c/th_no/th_bg_no
 	  : size(スマホ表示で幅100％以上を横スクロール)
 	  : time
3 : btn(aタグ)
4 : area
5 : parts
 	  : linkfile
 	  : ol
 	  : dot
 	  : kome (used / p / ul / ol)
 	  : hensyu
-----------------------------------------------------------------------------------------*/


/*text
-----------------------------------------------------------------------------------------*/
/*-------------------------tx*/
.tx,
.tx p{
	line-height:1.75;
}
.tx a{
	text-decoration:underline;
	color:#0038AD;
}
.tx a:hover{
	text-decoration:none;
}
/*-------------------------tx_sen*/
.tx_sen{
	text-align:center;
}
.tx_sen::after{
	content:"";
	display:block;
	width:5em;
	margin:0 auto;
	height:0.3em;
	border-bottom:2px solid #000;
}
.tx_w .tx_sen::after,
.tx_w.tx_sen::after{border-color:#FFF;}
/*-------------------------tx_kiji*/
.tx_kiji{
	font-weight:bold;
	padding:0.8em 0;
	border-top:2px solid #000;
	border-bottom:1px solid #000;
}
/*-------------------------tx_belt*/
.tx_belt{
	font-weight:bold;
	background:#000;
	color:#FFF;
	padding:0.5em 0.8em;
}
/*-------------------------tx_line*/
.tx_line{
	font-weight:bold;
	border-bottom:2px solid #000;
	padding-bottom:0.3em;
}
/*-------------------------tx_bar*/
.tx_bar{
	font-weight:bold;
	border-left:0.3em solid #000;
	padding-left:0.5em;
}
/*-------------------------tx_check*/
.tx_check{
	font-size:inherit;
	font-weight:inherit;
	line-height:1.5;
	background:url(images/check.svg) left top 0.4em no-repeat;
	background-size:1.4em;
	padding:0.4em 0 0.4em 1.8em;
	border-bottom:1px solid rgba(0,0,0,0.3);
}
.tx_check.sen_none,
.sen_none{
	border:none;
}
/*-------------------------tx_deco*/
.tx_deco{
	font-size:inherit;
	font-weight:inherit;
	line-height:1.5;
	background:url(images/deco.svg) left top 0.125em no-repeat;
	background-size:1.25em;
	padding-left:1.5em;
}
/*-------------------------tx_kage*/
.tx_kage{
	text-shadow:#000 0 0 6px;
}
/*-------------------------tx_kage_w*/
.tx_kage_w{
	text-shadow:#FFF 0 0 6px;
}
/*-------------------------tx_maru*/
.tx_maru li{
	display:inline-block;
	padding:5px;
}
a.tx_maru,
.tx_maru a{
	display:inline-block;
	position:relative;
	background:#797979;
	color:#FFF;
	border-radius:1.5em;
	padding:0.4em 1em;
	line-height:1.5;
	text-decoration:none;
	box-shadow: 0 3px 5px rgba(0,0,0,0.2);
}
span.tx_maru{
	display:inline-block;
	position:relative;
	border-radius:1.5em;
	padding:0 1em;
	background:rgba(0,0,0,0.1);
}
.tx_maru a{
	display:block;
}
a.tx_maru:hover,.tx_maru a:hover{
	top:2px;
	box-shadow: 0 0 2px rgba(0,0,0,0.2);
	filter: brightness(75%);
	-webkit-filter: brightness(75%);
	-moz-filter: brightness(75%);
}
/*.tx_maru.sen_w*/
span.tx_maru.sen_w,
a.tx_maru.sen_w,
.tx_maru.sen_w a{
	background:none;
	border:2px solid #FFF;
}
/*-------------------------tx_icon*/
.tx_icon img{
	vertical-align:middle;
	height:2em;
	margin-right:0.5em;
}
/*-------------------------tx_link*/
.tx_link a,a.tx_link{
	text-decoration:underline;
	color:#0038AD;
}
.tx_link a:hover,
a.tx_link:hover{
	text-decoration:none;
}
/*-------------------------tx_ya*/
.tx_ya{
	color:#2483CB;
	padding:0.5em;
}
.tx_ya::before{
	content:"";
	display:inline-block;
	position:relative;
	width:0px;
	height:0px;
	left:-5px;
	border-top: 0.3em solid transparent;
	border-bottom: 0.3em solid transparent;
	border-left: 0.5em solid #2483CB;
	vertical-align:3%;
}
a:hover .tx_ya,
.tx_ya:hover{
	color:#00477E;
}
a:hover .tx_ya::before,
.tx_ya:hover::before{
	left:-0;
}
/*-------------------------title1*/
.title1{
	font-size:3.0rem;
	letter-spacing:1px;
	position:relative;
	margin-bottom:3rem;
}
@media screen and (max-width: 767px) {.title1{font-size:2.2rem;letter-spacing:0;margin-bottom:1rem;}}
/*-------------------------title2*/
.title2{
	font-size:2.4rem;
	position:relative;
	margin-top:5rem;
	margin-bottom:2rem;
}
figure + .title2,
.title2:first-child{margin-top:0;}
@media screen and (max-width: 767px) {.title2{font-size:2rem;}}
/*-------------------------title3*/
.title3{
	font-size:2rem;
	position:relative;
	margin-top:5rem;
	margin-bottom:1rem;
}
figure + .title3,
.title3:first-child{margin-top:0;}
@media screen and (max-width: 767px) {.title3{font-size:1.8rem;}}


/*table
-----------------------------------------------------------------------------------------*/
table{
	empty-cells:show; 
	border-collapse:collapse; 
	border-spacing:0;
	width:100%;
	background:#FFF;
	font-size:1.6rem;
	line-height:1.5;
}
table th,
table td{
	padding:10px 15px;
	border:1px solid #999;
	text-align:left;
	width:auto;
}
@media screen and (max-width: 767px) {
	table th,
	table td{padding:10px;}
}
table th{
	background-color:#E5F3FE;
}
/*-------------------------zebra*/
table.zebra tr:nth-child(odd){
	background-color:rgba(0,0,0,0.05);
}
/*-------------------------line_x*/
table.line_x th,
table.line_x td{
	border-left:none;
	border-right:none;
}
/*-------------------------td */
table.td_r td{text-align:right;}
table.td_c td{text-align:center;}
table.td_no td{white-space:nowrap;}
@media print, screen and (min-width: 768px) {
table.pc_td_no td{white-space:nowrap;}
}
/*-------------------------th */
table.th_r th{text-align:right;}
table.th_c th{text-align:center;}
table.th_b th{font-weight:bold;}
table.th_no th{white-space:nowrap;}
table.th_bg_no th{background:none;}
@media print, screen and (min-width: 768px) {
table.pc_th_no th{white-space:nowrap;}
}
/*-------------------------size(スマホのときに横スクロール) */
@media screen and (max-width: 767px) {
	table.size{display:block; overflow-x:scroll; white-space:nowrap; -webkit-overflow-scrolling:touch;}
}
/*-------------------------time*/
table.time{margin-top:10px;}
table.time th,
table.time td{text-align:center;padding:10px 15px;}
table.time td{font-family: Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;;}
table.time + p{margin-top:10px}
table.time td:first-child{background:#E5F3FE;}
table.time td:first-child.bg_w{background:#FFF;}
table.time caption{text-align:left;font-weight:bold;color:#FFF;background:#2483CB;margin-bottom:-1px;position:relative;padding:8px 10px;}
@media screen and (max-width: 599px) {
	table.time th,table.time td{padding:5px;font-size:1.5rem}
	table.time td:first-child{width:7em;padding:5px;}
}

/*btn (aタグ)
-----------------------------------------------------------------------------------------*/
body .btn{
	display:inline-block;
	min-width:30rem;
	max-width:100%;
	padding:0.5em;
	font-size:2rem;
	background:right no-repeat;
	text-align:center;
	border-radius:5px;
	font-weight:bold;
	border:none;
	color:#FFF;
	text-decoration:none;
}
body a[target].btn::before{
	display:none;
}
body .btn:hover{
	background:#000;
}
.btn.bg_k:hover{
	opacity:0.75;
}
@media screen and (max-width: 767px) {
	.btn{font-size:1.8rem;min-width:25rem;}
}


/*area
-----------------------------------------------------------------------------------------*/
.area{
	position:relative;
	padding-top:60px;
	padding-bottom:60px;
}
.area::before{
	content:"";
	display:block;
	position:absolute;
	width:100vw;
	height:100%;
	top:0;
	z-index:-1;
	left:50%;
	margin-left:-50vw;
}
.area::after{
	display: block;
	clear: both;
	content: "";
}
.area figure img{
	display:block;
	margin:0 auto;
}
.area figure.default img + img{
	margin-top:1px;
}
@media print, screen and (max-width:1200px) and (min-width: 768px){.area::before{width:1200px;margin-left:-600px;}}
@media screen and (max-width: 767px) {
	.area{padding-top:30px;padding-bottom:30px;}
}
@media screen and (max-width: 480px) {
	.area::before{width:480px;margin-left:-240px;}
}



/*parts
-----------------------------------------------------------------------------------------*/
/*-------------------------linkfile*/
.linkfile a::before,
a .linkfile::after{
	width:16px;
	height:16px;
	display:inline-block;
	vertical-align:middle;
	margin:-3px 3px 0 3px;
}
.linkfile a[target]:before,
a[target] .linkfile:after{
	content:"";
	background:url(images/icon_blank.svg);
}
.linkfile a[href$='.pdf']::before,
a[href$='.pdf'] .linkfile::after{
	content:"";
	background:url(images/icon_pdf.png);
}
.linkfile a[href$='.xls']::before,
.linkfile a[href$='.xlsx']::before,
a[href$='.xls'] .linkfile::after,
a[href$='.xlsx'] .linkfile::after{
	content:"";
	background:url(images/icon_excel.png);
}
.linkfile a[href$='.docx']::before,
.linkfile a[href$='.doc']::before,
a[href$='.docx'] .linkfile::after,
a[href$='.doc'] .linkfile::after{
	content:"";
	background:url(images/icon_word.png);
}
/*アイコン非表示はnoicon---aタグにつけるか、上の階層の要素につける*/
a.noicon::before,
.noicon a::before{
	display:none;
}
/*-------------------------ol*/
ol li{
	font-size:inherit;
	list-style-type:decimal;
	margin-left:1.5em;
	margin-bottom:0.5em;
}
ol li:last-child{
	margin-bottom:0;
}
/*-------------------------dot*/
.dot li{
	font-size:inherit;
	margin-left:1.5em;
	margin-bottom:0.5em;
}
.dot li:before{ 
	display:inline-block; 
	content:'';
	width:0.75em;
	height:0.75em;
	background:rgba(0,0,0,0.8);
	border-radius:50%;
	margin-left:-1.1em;
	margin-right:0.35em;
}
.dot.tx_w li:before{ 
	background:rgba(255,255,255,0.7);
}
.dot li:last-child{
	margin-bottom:0;
}
/*-------------------------kome(used / p / ul / ol)*/
.kome{
	font-size:1.4rem;
}
.kome li{
	font-size:inherit;
}
p.kome,
.kome li{
	margin-left:1em;
	text-indent: -1em;
	list-style-type:none;
	margin-bottom:0.5em;
}
p.kome:before,
.kome li:before {
	content: "※";
	font-family:sans-serif;
}
ol.kome{
	counter-reset: number;
}
ol.kome li{
	margin-left:2em;
	text-indent:-2em;
}
ol.kome li:before {
	counter-increment: number;
	content: "※"counter(number)" ";
}
/*-------------------------hensyu*/
.hensyu{
	position:absolute;
}
.hensyu a{
	display:block;
	background:rgba(0,0,0,0.5);
	color:#FFF;
	padding:10px 0;
	text-align:center;
	font-size:15px;
	line-height:1;
}
.hensyu a::after{
	content:"する";
}
.hensyu a:hover{
	background:#FF0000;
}