@charset "UTF-8";



/* ----------------------------------------------------------------------------------------------------
*  共通パーツ
* --------------------------------------------------------------------------------------------------*/

/* テキスト */
.txt{
	line-height: 1.8;
}
.f14{
	font-size: 1.4rem;
}
.f38{
	font-size: 3.8rem;
}
.f32{
	font-size: 3.2rem;
}
.f30{
	font-size: 3.0rem;
}
.f28{
	font-size: 2.8rem;
}
.f22{
	font-size: 2.2rem;
}
.f20{
	font-size: 2.0rem;
}
.f19{
	font-size: 1.9rem;
}
.f18{
	font-size: 1.8rem;
}
.f14{
	font-size: 1.4rem;
}
ul.list li{
	padding-left: 1em;
	text-indent: -1em;
	line-height: 1.5;
}
ul.list li + li{
	margin-top: 0.3em;
}
.upper{
	text-transform: uppercase;
}
.upper_none{
	text-transform: none !important;
}

.white{
	color: #fff;
}

.red{
	color: #9A2A01;
}

.blue{
	color:#01439A;
}
.blue02{
	color: #EDF4F6;
}

.green{
	color: #309A01;
}
.gray{
	color: #898989;
}
.bold{
	font-weight: bold;
}

.mid{
	font-weight: 500;
}
.reg{
	font-weight: normal;
}
.italic{
	font-style: italic;
}

.center{
	text-align: center;
}

.right{
	text-align: right;
}



.marker{
	background: linear-gradient(transparent 60%, #FFFF8B 0%);
	display: inline;
}

@media screen and (max-width: 768px) {
	
	.f14{
		font-size: 1.2rem;
	}
	.f38{
		font-size: 2.7rem;
	}
	.f37{
		font-size: 3.5rem;
	}
	.f30{
		font-size: 2.1rem;
	}
	.f28{
		font-size: 1.9rem;
	}
	.f22{
		font-size: 1.6rem;
	}
	.f20{
		font-size: 1.6rem;
	}
	.f19{
		font-size: 1.6rem;
	}
	.f18{
		font-size: 1.6rem;
	}
	.sp_f20{
		font-size: 2.0rem;
	}

	.img img{
		margin: auto;
	}

}




/* box */
.flex{
	display: flex;
	justify-content: space-between;
}

.f_start{
	justify-content: flex-start;
}

.f_wrap{
	flex-wrap: wrap;
}

.p_space{
	padding: 65px 0;
}

.pt_space{
	padding: 65px 0 0;
}

.w24{
	width: 24%;
}

.w30{
	width: 30%;
}

.w31{
	width: 31%;
}

.w32{
	width: 32%;
}

.w49{
	width: 49%;
}

.w50{
	width: 50%;
}

.w74{
	width: 74%;
}

.w100{
	width: 100%;
}

.img_flex{
	display: flex;
	justify-content: space-between;
}

.txt + .img_flex{
	margin-top: 35px;
}

.border_box{
	padding: 40px 0;
	border-top: 1px solid #C7C7C7;
}
.border_box:last-of-type{
	border-bottom: 1px solid #C7C7C7;
}

.border_box .ttl{
	margin-bottom: 15px;
}


@media screen and (max-width: 768px) {
	.flex{
		flex-wrap: wrap;
	}

	.p_space{
		padding: 35px 0;
	}
	.pt_space{
		padding-top: 35px;
	}

	.w30,
	.w31,
	.w32,
	.w49,
	.w50{
		width: 100%;
	}

	.img_flex{
		flex-wrap: wrap;
	}

	.img_flex .img{
		width: 100%;
	}
	.img_flex .img img{
		width: 100%;
	}

	.txt + .img_flex{
		margin-top: 20px;
	}

	.txt + .img_flex .img + .img{
		margin-top: 15px;
	}

	.border_box{
		padding: 25px 0;
	}
	.border_box .f20{
		font-size: 1.4rem;
	}
}



/* ボタン */
.btn{
	width: 238px;
	height: 54px;
}
.btn.wide{
	width: 278px;
}
.btn.shadow{
	box-shadow: 2px 2px 10px rgba(0,0,0,.16);
	
}

.btn.blue{
	height: 55px;
}

.btn a{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
/*	border: 1px solid #101010;*/
	line-height: 1;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
	background-color: #282C3C;
	color: #fff;
	font-weight: bold;
}
.btn span{
	position: relative;
	z-index: 2;
}

.btn a::before{
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #01439A;
	opacity: 0;
	-webkit-transition: all .5s cubic-bezier(.19,1,.22,1);
	transition: all .5s cubic-bezier(.19,1,.22,1);
	-webkit-transition-timing-function: cubic-bezier(.19,1,.22,1);
	transition-timing-function: cubic-bezier(.19,1,.22,1);
	-webkit-transform: scale(.8);
	transform: scale(.8);
	z-index: -1;
}

.btn a:hover{
	opacity: 1;
	background-color: transparent;
}
.btn a:hover:before{
	opacity: 1;
	-webkit-transform: scale(1);
	transform: scale(1);
}
.btn a:hover{
	border-color: transparent !important;
}

.btn a:hover{
	color: #fff;
}
.btn.wh a{
	background-color: transparent;
	border: 1px solid #fff;
}
.link_pdf::after{
	content: "";
	width: 13px;
	height: 16px;
	background-image: url("../images/pdf.png");
	background-size: contain;
	background-repeat: no-repeat;
	display: inline-block;
	margin-left: 10px;
	
}
.link_blank::after{
	content: "";
	width: 8px;
	height: 8px;
	background-image: url("../images/link_blank.png");
	background-size: contain;
	background-repeat: no-repeat;
	display: inline-block;
	margin-left: 10px;
}
.link_blank_w::after{
	content: "";
	width: 8px;
	height: 8px;
	background-image: url("../images/link_blank_w.png");
	background-size: contain;
	background-repeat: no-repeat;
	display: inline-block;
	margin-left: 10px;
}
.link_blank_blue::after{
	content: "";
	width: 8px;
	height: 8px;
	background-image: url("../images/link_blank_blue.png");
	background-size: contain;
	background-repeat: no-repeat;
	display: inline-block;
	margin-left: 10px;
}
.arrow{
    position: relative;
    display: inline-block;
    padding: 0 0 0 0;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
    font-size: 1.6rem;
}
.arrow::before,
.arrow::after{
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
	z-index: 1;
}
.arrow::before{
    right: 0px;
    width: 20px;
    height: 2px;
    background: #282C3C;
}
.arrow::after{
    right:0px;
    width: 12px;
    height: 12px;
    border-top: 2px solid #282C3C;
    border-right: 2px solid #282C3C;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.arrow_w{
	color: #fff;
}
.arrow_w::before{
    background: #fff;
}
.arrow_w::after{
	border-color: #fff;
}
.arrow_blue::before{
    background:#01439A;
}
.arrow_blue::after{
	border-color: #01439A;
}
.btn.arrow::before{
	right: 20px;
}
.btn.arrow::after{
	right: 20px;
}

.btn_wrap{
	display: flex;
	flex-wrap: wrap;
}



@media screen and (max-width: 768px) {
	.btn,
	.btn.wide{
		width: 77%;
		height: 58px;
		margin: auto;
		display: block;
	}


	.btn a{
		font-size: 1.5rem;
	}

}

/*----------- ページ内リンク　-----------*/

.page_link{
	display: flex;
	flex-wrap: wrap;
/*	border: 1px solid #898989;*/
	margin: 50px 0 0;
}
.page_link li{
	width: 25%;
	height: 50px;
	border: 1px solid #898989;
	border-top: none;
	border-left: none;
}
.page_link li:first-of-type{
	border-left: 1px solid #898989;
	border-top: 1px solid #898989;
}
.page_link.link2 li{
	width: 50%;
}
.page_link.link2 li:nth-child(-n+2){
	border-top: 1px solid #898989;
}
.page_link.link3 li{
	width: 33.3333%;
}
.page_link.link3 li:nth-of-type(3n+1){
	border-left: 1px solid #898989;
}
.page_link.link3 li:nth-child(-n+3){
	border-top: 1px solid #898989;
}
.page_link.link4 li:nth-of-type(4n+1){
	border-left: 1px solid #898989;
}
.page_link.link4 li:nth-child(-n+4){
	border-top: 1px solid #898989;
}
.page_link.link5 li{
	width: 20%;
}
.page_link.link5 li:nth-of-type(5n+1){
	border-left: 1px solid #898989;
}
.page_link.link5 li:nth-child(-n+5){
	border-top: 1px solid #898989;
}

.page_link a{
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.6rem;
	width: 100%;
	height: 100%;
	font-weight: bold;
	position: relative;
	text-align: center;
}
.page_link li > span{
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.6rem;
	width: 100%;
	height: 100%;
	font-weight: bold;
	text-align: center;
}
.page_link li.current > span{
	background-color: #01439A;
	color: #fff;
}
.page_link a:hover{
	opacity: 1;
}
@media screen and (min-width: 769px) {
.page_link a:hover{
	color: #fff;
}
}
@media screen and (min-width: 769px) {
.page_link a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #01439A;
    opacity: 0;
    -webkit-transition: all .5s cubic-bezier(.19,1,.22,1);
    transition: all .5s cubic-bezier(.19,1,.22,1);
    -webkit-transition-timing-function: cubic-bezier(.19,1,.22,1);
    transition-timing-function: cubic-bezier(.19,1,.22,1);
    -webkit-transform: scale(.8);
    transform: scale(.8);
    z-index: -1;
}
.page_link a:hover::before {
	opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
}
}


@media screen and (max-width: 768px) {
	
	.page_link{
		display: block;
		margin-top: 25px;
	}
	.page_link li,
	.page_link.link4 li,
	.page_link.link2 li,
	.page_link.link3 li,
	.page_link.link5 li{
		width: 100%;
		height: 35px;
		border: 1px solid #898989;
	}
	.page_link li + li{
		border-top:none !important;
	}
	.page_link.link4 li:nth-child(-n+3),
	.page_link.link4 li:nth-child(-n+4),
	.page_link.link4 li:nth-child(-n+5){

	}
	
	.page_link a{
		font-size: 1.4rem;
	}
}




.count_ol li{
	padding-left: 1.7em;
	text-indent: -1.7em;
	line-height: 1.8;
}

.count_ol li::before{
	display: inline-block;
	min-width: 1.7em;
	text-indent: 0;
	counter-increment: number 1;
	content: counter(number);
}

.count_set{
	counter-reset: number 0;
}

.count_ol.ico li{
	position: relative;
	text-indent: 0;
	padding-left: 55px;
	padding-top: 3px;
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 1.5;
}

.count_ol.ico li + li{
	margin-top: 25px;
}

.count_ol.ico li::before{
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	width: 40px;
	height: 40px;
	background-color: #00146E;
	border-radius: 5px;
	text-align: center;
	font-family: 'brandon-grotesque', sans-serif;
	color: #fff;
	font-size: 3.2rem;
	font-weight: 500;
	line-height: 1;
}


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


	.count_ol.ico li{
		padding-left: 45px;
		font-size: 1.6rem;
	}
	.count_ol.ico li.f18{
		font-size: 1.6rem;
	}

	.count_ol.ico li::before{
		width: 35px;
		height: 35px;
		border-radius: 3px;
		font-size: 2.5rem;
	}
}



/* 装飾 */

/*---------　背景色　----------*/



.bg_blue{
	background-color: #EDF4F6;
}

.bg_white{
	background-color: #FFF;
}


.bg_box01{
	position: absolute;
	right: 0;
	bottom: 0;
	width: 40%;
	padding-top: 73%;

	background-size: 100%;
}

.bg_box02{
	position: absolute;
	top: 0;
	left: 0;
	width: 40%;
	padding-top: 73%;
	background-size: 100%;
}

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

}



/* 動作 */
.fadein{
	opacity : 0;
	-webkit-transform: translateY(20px) scale(.98);
	transform: translateY(20px) scale(.98);
	-webkit-transition: all 1s cubic-bezier(.19,.1,.22,1);
	transition: all 1s cubic-bezier(.19,.1,.22,1);
	-webkit-transition-timing-function: cubic-bezier(.19,.1,.22,1);
	transition-timing-function: cubic-bezier(.19,.1,.22,1);
	-webkit-transition-property: opacity,transform;
	-webkit-transition-property: opacity,-webkit-transform;
	transition-property: opacity,-webkit-transform;
	transition-property: opacity,transform;
	transition-property: opacity,transform,-webkit-transform;
}

.fadein.scrollin{
	opacity : 1;
	-webkit-transform: translateY(0) scale(1);
	transform: translateY(0) scale(1);
}


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



/* slider */
.slider li,
.dot_slider li,
.arw_slider li{
	outline: 0;
}

.slider li .img img,
.dot_slider li .img img,
.arw_slider li .img img{
	width: 100%;
}

.slider li .img .sp,
.dot_slider li .img .sp,
.arw_slider li .img .sp{
	display: none;
}

.slider.right .slick-dots,
.dot_slider.right .slick-dots{
	text-align: right;
}

.slick-dots{
	position: absolute;
	z-index: 2;
	right: 0;
	left: 0;
	bottom: 25px;
	margin: auto;
	max-width: 1200px;
}

.slick-dotted.slick-slider{
	margin: 0;
	font-size: 0;
}

.slick-dots li{
	height: auto;
	width: auto;
	margin: auto;
}

.slick-dots li + li{
	margin-left: 10px;
}

.slick-dots li button{
	width: 66px;
	height: 3px;
	padding: 0;
	background-color: #fff;
	cursor: pointer;
}

.slick-dots li.slick-active button{
	background-color: #0164bb;
}

.slick-dots li button:before{
	display: none;
}

.slick-arrow{
	position: absolute;
	z-index: 3;
	top: 0;
	bottom: 0;
	margin: auto;
	border-radius: 50%;
	width: 50px;
	height: 50px;
	background-color: rgba(16,16,16, 0.8);
	cursor: pointer;
	-webkit-transition: opacity .4s ease;
	transition: opacity .4s ease;
}
@media screen and (min-width: 769px) {
	.slick-arrow:hover{
		opacity: 0.8;
	}
}

.slick-arrow.prev_arrow{
	left: 0;
	background: rgba(16,16,16, 0.8) url(../img/common/ico_arw_wh03.png) no-repeat center 45%;
	background-size: 29px;
}
.slick-arrow.next_arrow{
	right: 0;
	background: rgba(16,16,16, 0.8) url(../img/common/ico_arw_wh01.png) no-repeat center 45%;
	background-size: 29px;
}


@media screen and (max-width: 768px) {
	.slick-dots{
		bottom: 20px;
	}

	.slider li .img .sp,
	.dot_slider li .img .sp,
	.arw_slider li .img .sp{
		display: block;
	}

	.slick-dots li button{
		width: 55px;
	}

	.slider.right .slick-dots,
	.dot_slider.right .slick-dots{
		text-align: center;
	}

	.slick-arrow.prev_arrow,
	.slick-arrow.next_arrow{
		background-size: 22px;
	}
	.slick-arrow.prev_arrow{
		left: -3%;
	}
	.slick-arrow.next_arrow{
		right: -3%;
	}
}



/* video */
.video_box{
	position: relative;
	margin: 0 auto;
	overflow: hidden;
}

.video_box video{
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	object-fit: cover;
	cursor: pointer;
}

.video_box .video_play_btn{
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background-color: rgba(187,187,187, 0.6);
	cursor: pointer;
}
.video_box .video_play_btn.play{
	display: none;
}

.video_box .video_play_btn p{
	padding-right: 40px;
	background: url(../img/common/ico_video_play.png) no-repeat right center;
	color: #093697;
	font-size: 2.8rem;
	font-style: italic;
	letter-spacing: 0.05em;
}


@media screen and (max-width: 768px) {
	.video_box .video_play_btn p{
		min-height: 25px;
		padding-right: 35px;
		font-size: 2.4rem;
		background-size: 25px;
	}
}




/* 見出し パンくず　ページタイトル セクションタイトル下層 */


.ttl_box{
	position: relative;
}
.ttl_box::before{
	content: "";
	width: 2px;
	height: 85px;
	background-color: #01439A;
	transform: skewX(-18deg);
	position: absolute;
	left: -30px;
	top: -24px;
}

.page_ttl{}

.pankz ul{
	display: flex;
	height: 45px;
	overflow: hidden;
}
.pankz ul li{
	font-size: 1.4rem;
	font-weight: bold;
	height: 100%;
    display: flex;
    align-items: center;
}
.pankz ul li{
	padding: 0 0 0 17px;	
}
.pankz ul li::after{
	content: "";
    width: 1px;
    height: 45px;
    background-color: #AABDC3;
    transform: skewX(-18deg);
	margin-left: 17px;
}
.pankz ul li:first-of-type a{
	color: #01439A;
}
.pankz ul li span,
.pankz ul li a{
	color: #898989;
}
.pankz ul li.current span{
	color: #282C3C;
}
.page_cate{
	background-color: #282C3C;
	padding: 15px 0;
}
.page_cate .wrap{
	display: flex;
	align-items: center;
}
.page_cate .emblem{
	width: 49px;
	margin-right: 15px;
}
.page_cate p{
	color: #fff;
	font-size: 2.8rem;
	font-weight: bold;
}

.page_ttl{
	position: relative;
	margin-top: 12px;
}
.page_ttl .wrap{
	display: flex;
	align-items: center;

}
.page_ttl .page_ttl_img{
	position: absolute;
	right: 0;
	top: 0;
}
.page_ttl_box{
	margin: 50px 0 0;
	padding: 0 0 0 55px;
}
.page_ttl_box::before {
    height: 145px;
    left: 17px;
    top: -42px;
}
.page_ttl_jp{
	font-size: 3.6rem;
	font-weight: bold;
	color: #01439A;
}
.page_ttl_en{
	font-size: 2.8rem;
	font-weight: 500;
	margin: 16px 0 0;
}


.under_sec_ttl{
	font-size: 2.2rem;
	font-weight: bold;
	position: relative;
	padding: 0;
	margin: 0 0 35px;
	display: flex;
	align-items: center;
}
.under_sec_ttl::before{
	width: 9px;
	height: 50px;
	border-radius: 7px;
	background-color: #01439A;
	display: block;
	content: "";
	margin-right: 25px;
}
.under_sec_ttl02{
	font-size: 1.8rem;
	font-weight: bold;
	padding: 11px 15px;
	background-color: #EDF4F6;
	margin: 0 0 25px;
}
.under_sec_ttl03{
	font-size: 1.8rem;
	font-weight: bold;
	margin: 0 0 15px;
}
.under_sec_ttl03.bgblue{
	background-color: #01439A;
	color: #fff;
	text-align: center;
	margin-bottom: 12px;
	padding: 11px 15px;
}

@media screen and (max-width: 768px) {
	
	.pankz .wrap{
		padding: 0 3%;
	}
	
	.pankz ul{
		height: auto;
		flex-wrap: wrap;
		overflow-y: hidden;
	}
	.pankz ul li{
		font-size: 1.0rem;
		min-height: 33px;
		padding:0 0 0 5px;
	}
	.pankz ul li:first-of-type{
		padding-left: 0;
	}
	.pankz ul li::after{
		margin-left: 5px;
		height: 33px;
	}
	.pankz ul li{
		max-width: calc( 100% - 5px );
	}
	.pankz ul li a,
	.pankz ul li span{
		line-height: 1.3;
		padding: 1px 0 2px;
	}
	.page_cate{
		padding: 10px 0;
	}
	.page_cate p{
		font-size: 1.8rem;
	}
	.page_cate .emblem{
		width: 25px;
	}

	.page_ttl{
		margin: 0;
	}
	.page_ttl .wrap{
		display: block;
	}
	.page_ttl_box {
		margin: 20px 0 0;
		padding: 10px 0 0 30px;
	}
	.page_ttl_box::before {
		height: 65px;
		left: 0px;
		top: 0px;
	}
	.page_ttl .page_ttl_img{
		position: static;
		margin-bottom: 10px;
		display: none;
	}
	.page_ttl_jp{
		font-size: 2rem;
	}
	.page_ttl_en {
		font-size: 1.8rem;
		margin: 10px 0 0;
	}
	
	.under_sec_ttl{
		font-size: 1.6rem;
		padding: 0;
		margin: 0 0 15px;
		display: flex;
		align-items: center;
		line-height: 1.4;
	}
	.under_sec_ttl::before{
		width: 5px;
		height: 30px;
		border-radius: 5px;
		margin-right:  10px;
	}
	
	.under_sec_ttl02{
		font-size: 1.5rem;
		margin-bottom: 15px;
	}
	.under_sec_ttl03{
		font-size: 1.5rem;
		margin-bottom: 10px;
	}
}

.deco{
	position: relative;
	text-align: center;
}
.deco::before,
.deco::after{
	content: "";
	width: 2px;
	height: 30px;
	background-color: #282C3C;
	display: inline-block;
	position: relative;
	top: 4px;
}
.deco::before{
	transform: skewX(25deg);
	margin-right: 23px;
}	
.deco::after{
	transform: skewX(-25deg);
	margin-left: 20px;
}
@media screen and (max-width: 768px) {
	
	.deco::before,
	.deco::after{
		width: 1px;
		height: 22px;
		top: 4px;
	}
	.deco::before{
		margin-right: 13px;
	}	
	.deco::after{
		margin-left: 10px;
	}
	
}
/*--------- ページ概要　--------------*/
.about_page{
	padding: 55px 0 0;
	
}
.main_ttl{
	font-size: 3rem;
	font-weight: bold;
	border-bottom: 1px dotted #01439A;
	padding: 0 0 23px 0;
	margin: 0 0 30px;
}

.about_page .btn{
	margin: 25px 0 0;
}
.about_page .btn a{
	font-weight: bold;
}

@media screen and (max-width: 768px) {
	
	.about_page{
		padding: 30px 0 0;
	}
	.about_page .txt.center{
		text-align: left;
	}
	.about_page .btn{
		margin: 15px auto auto;
	}
	.main_ttl {
		font-size: 1.8rem;
		padding: 0 0 10px 0;
		margin: 0 0 20px;
		line-height: 1.4;
	}
}


/*------------ ボックス関連　--------------*/

.blue_bdr{
	border: 1px solid #01439A;
    border-radius: 6px;
	padding: 25px;
	overflow: hidden;
}
.blue_bdr.black{
	border-color: #282C3C;
}
.w_bg_bdr{
	background-color: #fff;
    border-radius: 6px;
	padding: 25px;
}
.blue_bg_box{
	background-color: #01439A;
    border: 14px solid rgba(0,171,235,.24);
}
.blue_bg_box *{
	color: #fff;
}
.blue_bg_box .deco::before,
.blue_bg_box .deco::after{
	background-color: #fff;
}
@media screen and (max-width: 768px){
	.blue_bg_box{
		border-width: 7px;
	}
	.blue_bdr,
	.w_bg_bdr{
		padding: 15px;
	}
}

/*--------- メリット・デメリット　-----------*/
.merit_box{
	position: relative;
	padding: 27px 0 0 35px;
	margin: 35px 0 0;
}
.merit_box + .merit_box{
	margin-top: 25px;
}
.merit_icon{
	position: absolute;
	width: 87px;
	top: 0;
	left: 0;
}
.merit_box .blue_bdr{
	padding: 13px 15px 16px 60px;
}
.merit_box.demerit .blue_bdr{
	border-color: #282C3C;
}
@media screen and (max-width: 768px){
	
	.merit_box {
		padding: 15px 0 0 15px;
		margin: 15px 0 0;
	}
	.merit_icon{
		width: 60px;
	}
	.merit_box .blue_bdr {
		padding: 15px 15px 15px 50px;
	}
	.merit_box + .merit_box{
		margin-top: 15px;
	}

}
/*------------- コンテンツボックス　-----------*/

.contents_box{}

.contents_box + .contents_box{
	margin-top: 70px;
}
@media screen and (max-width: 768px){
	.contents_box + .contents_box{
		margin-top: 35px;
	}
}

/*-------------- 左右　画像+テキスト　***-------*/

.cnt_box_area{
	display: flex;
	justify-content: space-between;
}
.cnt_box_area .box{
	width: 485px;
	max-width: 100%;
}
.cnt_box_area .img_cnt{
	margin-bottom: 30px;
}
@media screen and (max-width: 768px){
	
	.cnt_box_area{
		display: block;
	}
	.cnt_box_area .box{
		margin: auto;
	}
	.cnt_box_area .box + .box{
		margin-top: 15px;
	}
	.cnt_box_area .img_cnt{
		margin-bottom: 15px;
	}
}
/*---------------- 左右テキスト画像　------------*/

.img_box_area{
	display: flex;
	justify-content: space-between;
}
.img_box_area .txt_cnt{
	width:calc( 100% - 350px);
	max-width: 100%;
	padding: 0 20px 0 0;
}
.img_box_area .img_cnt{
	width: 350px;
	max-width: 100%;
}
.img_box_area.imgbox200 .img_cnt{
	width: 200px;
}
.img_box_area.imgbox200 .txt_cnt{
	width:calc( 100% - 200px);
}
.img_box_area.imgbox300 .img_cnt{
	width: 300px;
}
.img_box_area.imgbox300 .txt_cnt{
	width:calc( 100% - 300px);
}
.img_box_area.imgbox50 .img_cnt,
.img_box_area.imgbox50 .txt_cnt{
	width: 49%;
}
@media screen and (max-width: 768px){
	
	.img_box_area{
		display: block;
	}
	.img_box_area .txt_cnt,
	.img_box_area.imgbox200 .txt_cnt,
	.img_box_area.imgbox300 .txt_cnt,
	.img_box_area.imgbox50 .img_cnt,
	.img_box_area.imgbox50 .txt_cnt{
		margin: auto;
		width: 100%;
		padding: 0;
	}	
	
	.img_box_area .img_cnt,
	.img_box_area.imgbox50 .img_cnt{
		margin: 15px auto auto;
	}
	.img_box_area .img_cnt img{
		margin: auto;
	}
	
	
}

/* ----------------------------------------------------------------------------------------------------
*  各コンテンツ
* --------------------------------------------------------------------------------------------------*/

/*------------------------ contact_info ----------------*/

.contact_info{
	padding: 70px 0 ;
	position: relative;
	z-index: 2;
}

.contact_info .sec_ttl{
	text-align: center;
	font-size: 2.8rem;
	font-weight: bold;
}
.contact_btn a{
	background-color: #01439A;
}
@media screen and (min-width: 769px) {
	.contact_btn{
		width: 416px;
		height: 95px;
	}
	.contact_btn a{
		font-size: 2.2rem;
	}
}

.contact_btn a:hover::before{
	background-color: #282C3C;
}
.contact_info .contact_box{
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 45px 0 0;
}
.contact_info .contact_tel{
	border-right: 1px solid #C8DCE2;
	padding: 13px 42px 15px 0 ;
	margin: 0 60px 0 0;
}
.contact_info .contact_tel_no{
	font-size: 5.5rem;
	font-weight: 500;
}
.contact_info .contact_tel_no::before{
	content: "";
	width: 49px;
	height: 49px;
	background-image: url("../images/spnav_tel.png");
	background-size: contain;
	background-repeat: no-repeat;
	display: inline-block;
	margin-right: 15px;
	position: relative;
	top: 8px;
}
.contact_info .contact_tel_txt{
	font-size: 1.8rem;
	font-weight: bold;
	padding-left: 65px;
	margin: 12px 0 0;
}

@media screen and (max-width: 768px) {
	
	.contact_info {
		padding: 40px 0 35px;
	}
	
	.contact_info .sec_ttl{
		font-size: 1.6rem;
	}
	.contact_info .contact_box{
		display: block;
	}
	.contact_info .contact_tel{
		border: none;
		background-color: #fff;
		padding: 0;
		margin: auto;
		margin: 15px 0 28px;
		padding: 11px 0 17px;
	}
	.contact_info .contact_tel_no{
		font-size: 4rem;
		text-align: center;
	}
	.contact_info .contact_tel_no::before {
		width: 37px;
		height: 37px;
		margin-right: 10px;
		top: 7px;
	}
	.contact_info .contact_tel_txt {
		font-size: 1.3rem;
		font-weight: bold;
		line-height: 1;
		text-align: center;
		margin-top: 10px;
		padding-left: 30px;
	}
}


/*--------------- accordion ----------------------*/

.accordion{
	border-bottom: 1px solid #898989;
}

.ac_btn{
	font-size: 1.6rem;
	font-weight: bold;
	border: 1px solid #898989;
	border-bottom: none;
	padding: 0 20px;
	cursor: pointer;
	height: 73px;
	position: relative;
	transition: 0.4s ease;
	display: flex;
	align-items: center;
}
.ac_btn.ac{
	border-bottom:1px dotted #898989;
}
.ac_btn .arrow{
	width: 73px;
	height: 73px;
	background-color: #01439A;
	position: absolute;
	right: 0;
	top: 0;
}
.ac_btn .arrow::before{
	left: 50%;
	right: auto;
	transform: translateX(-50%);
	width: 2px;
	height: 20px;
}
.ac_btn .arrow::after {
    right: auto;
    top: 35px;
    bottom: auto;
    left: 50%;
    transform: translateX(-50%) rotate(135deg);
}
.ac_btn.ac .arrow{
	background-color: #282C3C
}
.ac_btn.ac .arrow::after {
	-webkit-transform: translateX(-50%) rotate(-45deg);
    transform: translateX(-50%) rotate(-45deg);
    top: 27px;
}
.ac_btn:hover{
	opacity: 0.7;
}
.ac_cnt{
	border: 1px solid #898989;
	border-top: none;
	padding: 30px 23px;
	border-bottom: none;
}
@media screen and (max-width: 768px){
	
	.ac_btn{
		font-size: 1.4rem;
		height: 50px;
	}
	.ac_btn:hover{
		opacity: 1;
	}
	.ac_btn .arrow{
		width: 50px;
		height: 49px;
	}
	.ac_btn .arrow::after {
		top: 22px;
	}
	.ac_btn.ac .arrow::after {
		top: 15px;
	}
	.ac_cnt {
		padding: 10px;
	}
}
/*-----------　Table ----------------*/


.tbl_style01{
	width: 100%;
	border-collapse: collapse;
	border-bottom: 1px solid rgba(137,137,137,.3);
}
.tbl_style01 th{
	font-size: 1.4rem;
	font-weight: bold;
	background-color: #EDF4F6;
	border-top: 1px solid rgba(137,137,137,.3);
	padding: 15px 12px ;
	width: 145px;
	vertical-align: top;
	line-height: 1.7;
}

.tbl_style01 td{
	font-size: 1.4rem;
	border-top: 1px solid rgba(137,137,137,.3);
	padding: 15px 25px;
	line-height: 1.7;
	vertical-align: top;	
}

.tbl_style02{
	width: 100%;
	border-collapse: collapse;
	border-bottom: 1px solid rgba(137,137,137,.3);
	table-layout: fixed;
}
.tbl_style02 thead th{
	font-size: 1.4rem;
	font-weight: bold;
	background-color: #EDF4F6;
	border: 1px solid rgba(137,137,137,.3);
	padding: 10px 24px ;
	vertical-align: top;
	line-height: 1.7;	
}
.tbl_style02 tbody th{
	font-size: 1.4rem;
	font-weight: bold;
	border: 1px solid rgba(137,137,137,.3);
	padding: 10px 24px ;
	vertical-align: top;
	line-height: 1.7;	
}
.tbl_style02 tbody td{
	font-size: 1.4rem;
	border: 1px solid rgba(137,137,137,.3);
	padding: 10px 10px ;
	vertical-align: top;
	line-height: 1.7;	
}
@media screen and (max-width: 768px){

	.tbl_style01 th,
	.tbl_style01 td{
		display: block;
		width: 100%;
		padding: 10px;
	}
}

/*---------------- 動画リスト　----------------*/

.movie_list{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.movie_list li{
	width: 450px;
	max-width: 100%;
}
.movie_list li:nth-of-type(n+3){
	margin-top: 60px;
}
.movie_list li .ttl_box{
	display: flex;
	line-height: 1.2;
	font-size: 2rem;
}
.movie_list li .ttl_box::before{
	background-color: #282C3C;
	height: 25px;
	position: static;
	margin-right: 18px;
	position: relative;
	top: 0px;
	left: auto;
}

/*-------- youtube ---------*/

.youtube_box {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube_box iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.movie_list .youtube_box{
	margin-bottom: 20px;
}


/*--------- video -----------*/

.movie_list video{
	max-width: 100%;
	margin-bottom: 20px;
}
@media screen and (max-width: 768px){

	.movie_list .youtube_box{
		margin-bottom: 15px;
	}
	.movie_list li + li{
		margin-top: 30px;
	}
	.movie_list li:nth-of-type(n+3){
		margin-top: 30px;
	}
	.movie_list li .ttl_box{
		font-size: 1.4rem;
	}
	
}
@media screen and (orientation: landscape) and (max-width: 768px){
	
	.movie_list li{
		margin: auto;
	}
}
/*----------　流れ flow -------------*/

.flow{
	display: flex;
	justify-content: center;
}
.flow li.flow_arr{
	width: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.flow li.flow_arr::before{
	content: "";
	width:100%;
	height: 35px;
	background-image: url("../images/flow_arr.png");
	background-size: contain;
	background-repeat: no-repeat;
	display: block;
}
.flow li.flow_arr_btm{
	width: 35px;
}
.flow li.flow_arr_btm::before{
	background-image: url( "../images/flow_arr_btm.png");
	background-size: contain;
	height: 30px;
}
@media screen and (max-width: 768px){
	.flow{
		display: block;
	}
	
	.flow li.flow_arr{
		width: 100%;
		height: 30px;
	}
	.flow li.flow_arr::before{
		background-image: url("../images/flow_arr_btm.png");
		width: 35px;
		margin: auto;
	}
}
/*--------------- hyspeed_bnr --------------*/

.hyspeed_bnr_box{
	margin: 50px 0 0;
	padding: 30px 0 35px;
}

.hyspeed_bnr_ttl{
	font-size: 2.2rem;
	font-weight: bold;
	margin-bottom: 12px;
}
.hyspeed_bnr_ttl span{
	font-size: 5rem;
	font-weight: 500;
}

.hyspeed_bnr{
	display: flex;
	justify-content: center;
}
.hyspeed_bnr li{
	width: 425px;
	max-width: 100%;
}
.hyspeed_bnr li + li{
	margin-left: 30px;
}
.hyspeed_bnr li .txt{
	text-align: right;
	position: relative;
	margin-top: -22px;
	margin-right: 10px;
}
.hyspeed_bnr li a img{
	transition: 0.4s ease;
}
.hyspeed_bnr li a:hover img{
	opacity: 0.7;
}

@media screen and (max-width: 768px){
	
	.hyspeed_bnr_box {
		margin: 25px 0 0;
		padding: 20px 0 20px;
	}
	.hyspeed_bnr_ttl{
		font-size: 1.6rem;
	}
	.hyspeed_bnr_ttl span{
		font-size: 1.8rem;
	}
	
	.hyspeed_bnr{
		display: block;
	}
	.hyspeed_bnr li{
		margin: auto;
	}
	.hyspeed_bnr li + li{
		margin-top: 20px;
		margin-left: auto;
	}
	.hyspeed_bnr li .txt{
		font-size: 1.2rem;
	}

}



/* ------------------------------
	.new_news
------------------------------ */
.new_news{
/*	background-color: #fff;*/
}

.new_news .arw_btn{
	margin-top: 25px;
	font-size: 1.4rem;
}

.new_news .news_list li + li{
	margin-top: 30px;
}

.new_news .news_list li a{
	display: flex;
	align-items: center;
}

.new_news .news_list li .nolink{
	display: flex;
	align-items: center;
}

.new_news .news_list .news_inner{
	display: flex;
	align-items: center;
}

.new_news .news_list .date{
	color: #676767;
	font-weight: bold;
	font-size: 1.4rem;
}

.new_news .news_list .cate{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 74px;
	height: 17px;
	margin-left: 10px;
	margin-right: 27px;
	text-align: center;
	color: #fff;
	font-size: 1.2rem;
	font-weight: bold;
	background-color: #ccc;
	line-height: 1;
	padding: 0 0 1px;
}
.new_news .news_list .cate.oshirase{
	background-color: #9A2A01;
}
.new_news .news_list .cate.media{
	background-color: #309A01;
}
.new_news .news_list .cate.houkoku{
	background-color: #01439A;
}
.new_news .news_list .txt{
	text-decoration: underline;
}
.new_news .news_list a:hover .txt{
	text-decoration: none;
}


@media screen and (max-width: 768px){
	
	.new_news .flex{
		display: block;
	}
	.new_news .news_list li + li{
		margin-top: 20px;
	}
	.new_news .news_list .txt{
		margin-top: 6px;
	}
	.new_news .news_list li a{
		display: block;
	}
}


/*--------------記事一覧　-------------*/


.column_list .column_ttl{
	font-size: 1.8rem;
	margin: 0 0 14px;
	line-height: 1.67;
	text-decoration: underline;
}

.column_list .cate_area{
	border-top: 1px solid #898989;
	margin: 13px 0 0;
	padding: 14px 0 0;
}
.cate_area{
	display: flex;
}
.cate_icn{
	color: #fff;
	display: inline-block;
	background-color: #01439A;
	font-size: 1.3rem;
	font-weight: bold;
	padding: 7px 12px 7px;
}
.cate_name{
	font-size: 1.4rem;
	font-weight: bold;
	padding: 7px 12px 7px;
	color: #676767;
}
.column_list a{
	transition: 0.4s ease;
	display: block;
}
.column_list a:hover{
	opacity: 0.7;
}
@media screen and (max-width: 768px){
	.column_list .column_ttl{
		font-size: 1.4rem;
	}
	.cate_icn{
		font-size: 1.1rem;
		padding: 3px 9px 2px;
	}
	.cate_name{
		font-size: 1.3rem;
		padding: 3px 9px 2px;
	}
}
/*----------------　記事詳細　-----------------*/


.column_detail{

}
.column_detail .column_head{
	border-bottom: 1px dotted #898989;
	padding-bottom: 25px;
	margin-bottom: 25px;
}

.column_detail .column_ttl{
	font-size: 2.2rem;
	font-weight: bold;
}
.column_detail .column_detail_cnt{
	border-bottom: 1px dotted #898989;
	padding-bottom: 60px;
}
.column_detail .column_detail_cnt p{
	font-size: 1.6rem;
	line-height: 1.87;
}
.column_detail .column_detail_cnt p + p{
	margin-top: 2.5em;
}
#column_main .btn{
	display: block;
	margin: 40px auto auto;
}
@media screen and (max-width: 768px){

	.column_detail .column_head {
		padding-bottom: 15px;
		margin-bottom: 15px;
	}
	.column_detail .column_ttl{
		font-size: 1.6rem;
	}
	.column_detail .column_detail_cnt {
		padding-bottom: 30px;
	}
	.column_detail .column_detail_cnt p{
		font-size: 1.4rem;
		line-height: 1.7;
	}
	.column_detail .column_detail_cnt p + p{
		margin-top: 2em;
	}
	#column_main .btn {
		margin: 20px auto auto;
	}
}

/*----------------------- two_column ------------*/

#two_column{
	padding-top: 75px;
}
#two_column .wrap{
	display: flex;
	justify-content: space-between;
}
#column_main{
	width: 720px;
	max-width: 100%;
	padding-bottom: 65px;
}
#column_side{
	width: 250px;
	max-width: 100%;
	padding-bottom: 65px;
}

.side_box{
	padding: 17px 13px 2px;
}
.side_box + .side_box{
	margin-top: 25px;
}
.side_box .side_ttl{
	color: #01439A;
	font-weight: 500;
	font-size: 1.8rem;
	border-bottom: 2px solid #01439A;
	padding:0 2px 15px;
}
.side_box .side_list li{
	border-bottom: 1px dotted #898989;
	padding: 20px 2px 19px;
}
.side_box .side_list li:last-of-type{
	border-bottom: none;
}



@media screen and (max-width: 768px){
	
	#two_column{
		padding-top: 30px;
	}
	
	#two_column .wrap{
		display: block;
	}
	#column_main{
		width: 100%;
		padding-bottom: 35px;
	}
	#column_side{
		width: 100%;
		padding-bottom: 35px;
	}
	.side_box + .side_box{
		margin-top: 15px;
	}
}
/*---------- pagenation ----------------*/

.pagenation{
	margin-top: 48px;
	display: flex;
	justify-content: center;
}
.pagenation li{
	width: 34px;
	height: 34px;
}
.pagenation li + li{
	margin-left: 8px;
}
.pagenation li a,
.pagenation li span{
	border: 1px solid #01439A;
	color: #01439A;
	font-weight: bold;
	font-size: 1.6rem;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}
.pagenation li a{
	transition: 0.4s ease;
}
.pagenation li a:hover,
.pagenation li span{
	color: #fff;
	background-color: #01439A;
	opacity: 1;
}

.pagenation.detail li{
	width: auto;
	height: auto;
}
.pagenation.detail li.prev{
	padding-left: 30px;
}
.pagenation.detail li.next{
	padding-right: 30px;
}
.pagenation.detail li.prev.arrow::before{
	right: auto;
	left: 0;
}
.pagenation.detail li.prev.arrow::after{
	right: auto;
	left: 0;
	transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
}
.pagenation.detail li + li{
	margin-left: 60px;
}
.pagenation.detail li a{
	color: #282C3C;
	text-decoration: underline;
	font-size: 1.8rem;
	font-weight: normal;
	border: none;
}
.pagenation.detail li a:hover{
	background-color: transparent;
	color: #282C3C;
	opacity: 0.7;
	text-decoration: none;
}

@media screen and (max-width: 768px){
	
	.pagenation{
		margin-top: 25px;
	}
	
}

/*------------------------- readmore -------------------*/



.more_area .show-text{
	margin-top: -95px;
	padding-top: 95px;
}
.more_area .hide-text {
}
 
.more_area .readmore {
	background-color: #01439A;
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
    position: relative;
    display: block;
    border: none;
    outline: 0;
    transition: .5s;
    -erbkit-transition: .5s;
	cursor: pointer;
	display: flex;
	justify-content: center;
	padding: 17px 10px 19px;
	margin: 25px 0 0;
}

.more_area .readmore:hover{
	opacity:1;
	background-color: #282C3C;
}
.more_area .readmore .more_btn{
	position: static;
	display: inline-block;
}
.more_area .readmore .more_btn::after{
	content: "詳しく見る";
	
}
.more_area .readmore .arrow{
	display: inline-block;
	width: 20px;
}
.more_area .readmore .arrow::before,
.more_area .readmore .arrow::after{
	
}
.more_area .readmore .arrow::before {
    width: 2px;
    height: 20px;
	right: 5px;
}
.more_area .readmore .arrow::after{
-webkit-transform: rotate(135deg);
    transform: rotate(135deg);	
	bottom: -5px;
}
 
.more_area .on-click.readmore {
	background-color: #282C3C;
}
.more_area .on-click.readmore:hover{
	background-color: #01439A;
}
.more_area .on-click.readmore .more_btn::after{
	content: "閉じる";
}
.more_area .on-click.readmore .arrow::after{
-webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);	
	bottom: auto;
	top:0px;
}

@media screen and (max-width: 768px) {
	
	.more_area .show-text{
		margin-top: -60px;
		padding-top: 60px;
	}
	.more_area .readmore {
		font-size: 1.4rem;
		padding: 12px 10px 12px;
		margin: 15px 0 0;
	}
}
.column_detail_cnt .list_style01{
	margin: 1.5em 0;
}
.column_detail_cnt .list_style01 li{
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.87;
  display: flex;
  align-items: baseline;
}
.column_detail_cnt .list_style01 li::before{
	content: "●";
	display: inline-block;
}
.column_detail_cnt .list_style02{
	margin: 1.5em 0;
}
.column_detail_cnt .list_style02 li{
	color: #01439A;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.87;
	padding-left: 29px;
	position: relative;

}
.column_detail_cnt .list_style02 li::before{
	content: "";
	display: block;
	width: 14px;
	height: 2px;
	background-color:  #01439A;
	position: absolute;
	left: 4px;
	top: 0.8em;
}
.column_detail_cnt .list_style02 li + li{
	margin-top: 7px
}


.column_detail_cnt ul{
	margin: 1.5em 0;
}
.column_detail_cnt ul li{
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.87;
  display: flex;
  align-items: baseline;
}
.column_detail_cnt ul li::before{
	content: "●";
	display: inline-block;
}
.column_detail_cnt ol{
	margin: 1.5em 0;
}
.column_detail_cnt ol li{
	color: #01439A;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.87;
	padding-left: 29px;
	position: relative;

}
.column_detail_cnt ol li::before{
	content: "";
	display: block;
	width: 14px;
	height: 2px;
	background-color:  #01439A;
	position: absolute;
	left: 4px;
	top: 0.8em;
}
.column_detail_cnt ol li + li{
	margin-top: 7px
}

.column_detail_cnt a {
	color: #01439A;
	text-decoration: underline;
}

.column_detail_cnt a:hover {
	color: #093697;
	text-decoration: none;
}

.column_detail_cnt h2{
	font-size: 3rem;
	font-weight: bold;
	letter-spacing: 0.045em;
	border-bottom: 1px dotted #01439A;
	padding-bottom: 24px;
	padding-left: 4px;
	margin: 45px 0;
}

.column_detail_cnt h3{
	font-size: 2.2rem;
	font-weight: bold;
	position: relative;
	padding: 0;
	margin: 40px 0 40px;
	display: flex;
	align-items: center;
}
.column_detail_cnt h3::before{
	width: 9px;
	height: 50px;
	border-radius: 7px;
	background-color: #01439A;
	display: block;
	content: "";
	margin-right: 18px;
}
.column_detail_cnt h4{
	font-size: 1.8rem;
	font-weight: bold;
	padding: 11px 15px;
	background-color: #EDF4F6;
	margin: 30px 0 30px;
}
.column_detail_cnt h5{
	font-size: 1.8rem;
	font-weight: bold;
	margin: 20px 0 20px;
	color: #01439A;
}
