@charset "utf-8";

/*titles
************************************************************************************/
.pagetitle{
    margin: 35px 0 0;
    color: #002060;
    font-size: 2.5em;
}

.lv_h1,
.cms-posts h1{
	font-size: 1.875em;
	font-weight: 600;
	padding: 10px 0 10px 25px;
	position: relative;
	color: #002060;
	
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
.lv_h1:before,
.cms-posts h1:before{
	content: "";
	display: block;
	width: 10px;
	height: 55px;
	background: #002060;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.lv_h1:after,
.cms-posts h1:after{
	content: "";
	display: block;
	width: 98%;
	height: 1px;
	background: #002060;
	position: absolute;
	bottom: 8px;
	left: 2%;
}
.lv_h2,
.cms-posts h2{
	font-size: 1.313em;
	color: #002060;
	padding-left: 20px;
	margin: .5em 0;
    border-left: 5px solid #002060;
	
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

.lv_h3,
.cms-posts h3{
	font-size: 1.188em;
	background: url("../img/common/bg_lv_h3.svg") no-repeat left .2em;
	-moz-background-size: 18px auto;
	-webkit-background-size: 18px auto;
	background-size: 18px auto;

	padding: 0 0 0 30px;
	margin: 1em 0 .5em 0;
	
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

h4{
	padding: .5em 0 .5em !important;
	
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

.copy_title{
	font-size: 18px;
	font-weight: bold;
	padding: 0 0 1em 0;
}

/*article
************************************************************************************/
/*article {
	padding-bottom: 30px;
	margin-bottom: 30px;
}*/
article article.in-article{
	padding: 0;
	margin: 0;
}
/*#main-content article article:nth-child(odd){
	background: #FFF;
}
#main-content article article:nth-child(2n){
	background: #edf4f8;
}
*/

/*section
************************************************************************************/
.section{
	padding: 0px 0 40px;
	text-align: left;
	word-break: break-all;
	margin: auto;
}
section.blue,
section.beige,
section.gray{
	border-radius: 25px;
	-webkit-border-radius: 25px;
	-moz-border-radius: 25px;
	padding: 20px 35px !important;
	word-break: break-all;
	margin-bottom: 25px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
section.blue{
	background: #e9f5ff;
}
section.beige{
	background: #faf6ed;
}
section.gray{
	background: #f1f1f1;
}
.section_box{
	margin: 1em auto;
	background-color: #fafafa;
	border: 1px solid #bcdef6;
	border-radius: 15px;
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	padding: 15px 30px 20px !important;
	word-break: break-all;
	margin-bottom: 30px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
section.section_box{
	margin: 2em auto;
	margin-bottom: 50px;
}

.section:after {
		content: "";
		display: block;
		clear: both;
		height: 1px;
		overflow: hidden;
}
/*\*/
* html .section{
		height: 1em;
}
.section{
		display: block;
}
/* ▲ */
/* for IE7 */
*:first-child+html .section{
	zoom:1;
}

.text{
	padding: 10px;
	line-height: 1.7;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
.text20{
	padding: 20px;
	line-height: 1.7;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
.text p,
.text20 p{
	padding-bottom:1em;
}
.text p:last-child,
.text20 p:last-child{
	padding-bottom: 0;
}
.text:after,
.text20:after{
		content: "";
		display: block;
		clear: both;
		height: 1px;
		overflow: hidden;
}
/*\*/
* html .text,
* html .text20{
		height: 1em;
}
.text,
.text20{
		display: block;
}
/* ▲ */
/* for IE7 */
*:first-child+html .text,
*:first-child+html .text20{
	zoom:1;
}

.box_line{
	border-bottom: 1px solid #ededed;
}


.div_table{
	display: table;
}
.div_table .cell{
	display: table-cell;
}
.div_table .cell.middle{
	vertical-align: middle;
}
.div_table .cell.top{
	vertical-align: top;
}
.div_table .cell.bottom{
	vertical-align: bottom;
}
.bg_gry{
	background: #f1f1f1;
}

.tag-table{
	display: table;
}
.tag-table dt,
.tag-table dd,
.tag-table .th-cell,
.tag-table .td-cell{
	display: table-cell;
	vertical-align: middle;
}
.tag-table dt,
.tag-table .th-cell{
	background: #95daf9;
	font-weight: bold;
	padding: 7px 15px;
}
.tag-table dd,
.tag-table .td-cell{
	padding: 7px 15px;
	background: #f1f1f1;
}
.tag-table .th-cell.white{
	background: #FFF;
    border-bottom:  1px solid #a6a6a6;
    border-right:  1px solid #a6a6a6;
}
.tag-table .td-cell.white{
	background: #FFF;
    border-bottom:  1px solid #a6a6a6;
}



/*table
----------------------------------------------------------------------*/
table.normal,
.cms-posts table{
	margin: 5px auto 15px auto;
	border-collapse:collapse;
	width: 100%;
	border: 1px solid #8294A4;
	border-spacing: 0;
}
table.normal.auto,
.cms-posts table.auto{
	width: auto;
	margin: 5px 0 15px 0;
}
table.normal caption,
.cms-posts table caption{
	padding: 5px 0;
	text-align: left;
	display: block;
	font-weight: bold;
}
table.normal caption:before,
.cms-posts table caption:before{
	content: "■";
}

table.normal thead th,
.cms-posts table thead th,
table.normal tbody th,
.cms-posts table tbody th{
	font-weight:bold;
	text-align: center;
	color: #000;
}
table.normal thead,
.cms-posts table thead{
	border: 1px solid #8294A4;
}

table.normal thead th,
.cms-posts table thead th,
table.normal tbody th,
.cms-posts table tbody th,
table.normal tbody td,
.cms-posts table tbody td{
	border: 1px solid #8294A4;
	padding: 1em;
	word-break: break-all;
	border-radius: 0;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
}

table.normal thead th,
.cms-posts table thead th{
	background-color: #DFDFDF;
}
table.normal thead th a,
.cms-posts table th a{
	color:#000;
}
table.normal tbody th,
.cms-posts table tbody th{
	background-color: #CFE1EF;
}
table.normal tbody th a,
.cms-posts table tbody th a{
	color:#000;
}
table.normal.auto th,
.cms-posts table.auto th{
	padding: 1px 2em;
}

table.normal tbody td,
.cms-posts table tbody td{
	background: #FFF;
}

.cms-posts section.blue table tbody tr td,
.cms-posts section.beige table tbody tr td{
	background: #FFF;
}
table.normal.center td{
	text-align: center;
}

/******************************/
.cms-posts .radius-table table{
	margin: 5px auto 15px auto;
	border-collapse: separate;
	border-spacing: 5px;
	width: 100%;
	border: 0;
}
.cms-posts .radius-table table.auto{
	width: auto;
	margin: 5px 0 15px 0;
}
.cms-posts .radius-table table caption{
	padding: 5px 0;
	text-align: left;
	display: block;
	font-weight: bold;
}
.cms-posts .radius-table table caption:before{
	content: "■";
}

.cms-posts .radius-table table thead th,
.cms-posts .radius-table table tbody th{
	color: #FFF;
	font-weight:bold;
	text-align: center;
}

.cms-posts .radius-table table thead th,
.cms-posts .radius-table table tbody th,
.cms-posts .radius-table table tbody td{
	border: 0;
	border-radius: 15px;
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	padding: .7em 1.5em;
	word-break: break-all;
}

.cms-posts .radius-table table thead th{
	background-color: #5a5b5e;
}
table.normal thead th a,
.cms-posts .radius-table table th a{
	color:#FFF;
}
.cms-posts .radius-table table tbody th{
	background-color: #002060;
}
.cms-posts .radius-table table tbody th a{
	color: #FFF;
}
.cms-posts .radius-table table.auto th{
	padding: 1px 2em;
}
.cms-posts .radius-table table tbody td{
	background: #f3f3f3;
}

/******************************/
table.line_btm{
	margin: 5px auto 45px auto;
	width: 100%;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

table.line_btm th,
table.line_btm td{
	padding: .7em;
	border-bottom: 1px solid #ccc;
}
table.line_btm th{
	font-weight: bold;
	text-align: left;
}

/*スクロール*/

.table_scroll .sp_comment{
	display: none;
}
.table_scroll .scroll_body{}


/*
@media screen and (max-width: 768px) {
	.table_scroll .sp_comment{
		display: block;
		padding: 10px;
		border: 1px solid #ededed;
		margin: 10px 0;
	}
	.table_scroll .sp_comment:after{
		content: "※表が見切れている場合は、横にスクロールしてご覧いただけます";
		color: #666;
		display: block;
	}
	.table_scroll .scroll_body{
		width: 97%;
		margin: auto;
		overflow-x: scroll;
		font-size: 14px !important;
	}
	.table_scroll .scroll_body table{
		width: 950px !important;
		font-size: 14px !important;
	}
	.table_scroll .scroll_body table th,
	.table_scroll .scroll_body table td,
	.table_scroll .scroll_body table.main th,
	.table_scroll .scroll_body table.main td,
	.table_scroll .scroll_body table.normal th,
	.table_scroll .scroll_body table.normal td{
		word-break: break-all;
		font-size: 14px !important;
	}
}


@media screen and (max-width: 768px) {
	table.smartphone{
		display: block;
		width: 100%;
		border: 0;
	}
	table.smartphone thead{
		display: none;
	}
	table.smartphone tbody{
		display: block;
		width: 100%;
	}
	table.smartphone tr{
		display: block;
		width: 100%;
	}
	table.smartphone th,
	table.smartphone td{
		display: list-item;
		width: 100%;
		padding: 5px 10px !important;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-o-box-sizing: border-box;
		-ms-box-sizing: border-box;
		box-sizing: border-box;
		display: block;
		border: 0;
	}
	table.smartphone th{
		list-style-type: none;
		display: block;
		background: #ededed;
	}

	table.smartphone td{
		margin-left: 0;
		list-style-type: none;
		border: 0;
		padding-left: 25px;
	}
}
*/

/*cms-posts
************************************************************************************/
.alignleft {
	float: left;
	margin: 0 10px 10px 0;
}
.alignright {
	float: right;
	margin: 0 0 10px 10px;
}
.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
	clear: both;
}
.cms-posts{
	margin: 30px 0;
}
.cms-posts p{
	padding-bottom: 1em;
}
.cms-posts p:last-child{
	padding-bottom: 0;
}
.cms-posts img{
	max-width: 100%;
	height: auto;
}
.cms-posts ol{
	margin: 0 0 0.9em 0;
	padding: 0;
	counter-reset:number;
	list-style:none;
}

.cms-posts ol > li{
	margin: 0 0 1em 2em;
	background: none;
	line-height: 1.7 !important;
	list-style-type: none;
}
/*.cms-posts ol > li:last-child{
	margin: 0 0 0 2.2em;
}*/
.cms-posts ol > li:before {
	counter-increment: number;
	content: counter(number);
	float: left;
	background: #002060;
	color: #FFF !important;
	width: 1.5em;
	height: 1.5em;
	text-align: center;
	line-height: 1.7 !important;
	margin: 0 .5em 0 -2em;
	border-radius: 2px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
}
.cms-posts ol > li p{
	margin: 0;
	padding: 0;
	zoom: 1;
	overflow: auto;
	text-indent: 0;
}

.cms-posts ol li ul{
	counter-reset: none;
}
.cms-posts ol li ul li:before,
.cms-posts ol li ul li:after{
	counter-increment: none;
	content: "";
	display: none;
}

/*.cms-posts ul li{
	margin: 7px 0;
	padding: 0 0 0 23px;
	line-height: 24px;
	width: auto;
	background: url("../img/common/ar_list_blue.svg") no-repeat left 0.2em;
	-moz-background-size: 18px auto;
	background-size: 18px auto;
	border: 0;
}*/


.cms-posts ul li{
	margin: 7px 0 7px 1.5em;
	padding: 0 0 0 0;
	line-height: 24px;
	width: auto;
	border: 0;
}
.cms-posts ul > li:before{
	margin-left: -1.5em;
	display: marker;
	color:#1c2975;
	font-size: 13px;
	content: "●";
	float: left;
}
.cms-posts ul li ul{
	margin-left: 20px;
}
.cms-posts ul li ol li{
	background: none;
}

.cms-posts ul.ar li,
.cms-posts .ar{
	margin: 7px 0;
	padding: 0 0 0 22px;
	width: auto;
	background: url("../img/common/ar_green.svg") no-repeat left 0.2em;
	-moz-background-size: 17px auto;
	background-size: 17px auto;
	line-height: 24px;
	border: 0;
}
.cms-posts ul.ar li:before{
	display: none;
}
.cms-posts .ar{
	margin-left: 20px;
}
.cms-posts ul.ar{
	padding: 0;
	width: auto;
	background: none;
	margin: 0;
}

.cms-posts blockquote{
    position:relative;
    background:#002060;
    border-radius:10px;
    padding:20px;
	margin: 25px 0;
}
.cms-posts blockquote:before{
    position:absolute;
    left:45%;
    top:-24px;
    background-color:#FFFFFF;
    color:#808080;
    border:2px solid #002060;
    box-sizing:border-box;
    font-family:'FontAwesome';
    content:'\f10e';
    line-height:1;
    padding-top:12px;
    text-align:center;
    width:48px;
    height:48px;
    font-size:20px;
    border-radius:24px;
}
.cms-posts blockquote p {
    color:#808080
}
.cms-posts blockquote cite {
    display: block;
    border-top:1px solid #808080;
    padding-top:10px;
    font-size: 0.8rem;
    text-align: center;
    color: #808080;
}

.cms-posts .memo{
	margin: 2em auto;
	background-color: #fafafa;
	padding:3em 2em 2em;
	position:relative;
	border: 1px solid #bcdef6;
	color: #61737f;
}
.cms-posts .memo p:first-child{
	background-color:#9dcdef;
	font-size: 1em;
	color: #fff;
	padding: 7px 1.5em;
	line-height: 1;
	position:absolute;
	top: -10px;
	left: 20px;
	display: inline-block;
	width: auto !important;
}



/*ページング
----------------------------------------------------------------------*/
.page_navi{
	text-align: center;
}

ul.page_navi li{
	margin: 10px 0 15px 0;
	background: none;
	padding: 0;
	list-style-type: none;
	display: inline-block;
	font-size: 18px;
	font-weight: 600;
}

ul.page_navi li span{
	background: #666565;
	border: 2px solid #666565;
	width: 2.5em;
	height: 2.5em;
	border-radius: 50%;
	color: #fff;
	text-align: center;
	line-height: 2.5;
	margin: 0 5px;
	display: block;
		-webkit-transition: all 0.9s ease-in-out;
		-moz-transition: all 0.9s ease-in-out;
		-o-transition: all 0.9s ease-in-out;
		transition: all 0.9s ease-in-out;
}
ul.page_navi li a{
	background: #c9c9ca;
	border: 2px solid #c9c9ca;
	width: 2.5em;
	height: 2.5em;
	border-radius: 50%;
	color: #fff;
	text-align: center;
	line-height: 2.5;
	margin: 0 5px;
	display: block;
	text-decoration: none;
		-webkit-transition: all 0.9s ease-in-out;
		-moz-transition: all 0.9s ease-in-out;
		-o-transition: all 0.9s ease-in-out;
		transition: all 0.9s ease-in-out;
}

ul.page_navi li:first-child a{
	border: 2px solid #666565;
	background: #FFF url(../img/common/pagenav_prev.png) no-repeat center center;
	-moz-background-size: 20px auto;
	background-size: 20px auto;
	display: block;
	text-indent: -9999px;
}
ul.page_navi li:last-child a{
	border: 2px solid #666565;
	background: #FFF url(../img/common/pagenav_next.png) no-repeat center center;
	-moz-background-size: 20px auto;
	background-size: 20px auto;
	display: block;
	text-indent: -9999px;
}

ul.page_navi li:hover span,
ul.page_navi li:hover a{
	background: #666565;
}
ul.page_navi li:first-child:hover a{
	border: 2px solid #666565;
	background: #FFF url(../img/common/pagenav_prev.png) no-repeat center center;
	-moz-background-size: 20px auto;
	background-size: 20px auto;
}
ul.page_navi li:last-child:hover a{
	border: 2px solid #666565;
	background: #FFF url(../img/common/pagenav_next.png) no-repeat center center;
	-moz-background-size: 20px auto;
	background-size: 20px auto;
}

.screen-reader-response,
.wpcf7-not-valid-tip,
.wpcf7-response-output{
	color: #F00;
	display: block;
	padding: 0.3em 0;
}



/*contents内menu
************************************************************************************/
/*コンテンツトップページ用*/



/*コンテンツページ上部用*/
.page_menu,
.cms-posts ul.page_menu{
	width: 100%;
	margin: 20px auto;
}
.page_menu ul,
.cms-posts ul.page_menu{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-justify-content: center;
	justify-content: center;
}
.page_menu ul li:before,
.cms-posts ul.page_menu li:before{
	display: none;
}
.page_menu ul li,
.cms-posts ul.page_menu li{
	width: 24%;
	margin: .5%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0;
	
	display: block;
	border-radius: 30px;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	color: #FFF;
    font-weight: 600;
	text-decoration: none;
	padding: 25px 30px 25px 25px;
    background: url("../img/common/ar_btn_next.svg") no-repeat right 20px center #2ca8cb;
	color: #FFF;
	-moz-background-size: 15px auto;
	-webkit-background-size: 15px auto;
	background-size: 15px auto;
	font-size: 1.3em;
}
.page_menu ul li a,
.cms-posts ul.page_menu a{
	color: #FFF;
    font-weight: 600;
	text-decoration: none;
	display: table-cell;
	vertical-align: middle;
	line-height: 1.2;
	height: 2.5em;
}


.page_menu ul li,
.cms-posts ul.page_menu li{
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
.page_menu ul li:hover,
.cms-posts ul.page_menu li:hover{
	background-position: right 10px center;
}


/*************************************************************************************/
@media screen and (min-width: 980px) {
}

@media screen and (max-width: 979px) {
}