@charset "UTF-8";

/*-----------------------------------------------------------
Reset
-----------------------------------------------------------*/
* {
border:0;
margin:0;
outline:0;
padding:0;
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  -ms-box-sizing:border-box;
  -o-box-sizing:border-box;
  box-sizing:border-box;
font:inherit;
font-family:inherit;
font-size:100%;
font-style:inherit;
font-weight:inherit;
text-decoration:none;
vertical-align:bottom;
}

html {font-size:100%; width:100%; height:100%;}

body {
font-size:100%;
font-size:1.0rem;
position:relative;
  -webkit-text-size-adjust:100%;
  -moz-text-size-adjust:100%;
  -ms-text-size-adjust:100%;
  -o-text-size-adjust:100%;
  text-size-adjust:100%;
-webkit-font-smoothing:antialiased;
font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
width:100%;
height:100%;
font-family: 'ヒラギノ角ゴ Pro W6', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
color: #333333;
}

article, aside, dialog, figure, footer, header, main, menu, nav, section {display:block;}
audio, canvas, video {display:inline-block;}

br,
hr {display:block;}

ol,
ul {list-style:none;}

blockquote, q {quotes:none;}
blockquote:before, blockquote:after, q:before, q:after {content:''; content:none;}

input,
select {vertical-align:middle;}

table {border-collapse:collapse; border-spacing:0; empty-cells:show;}

.clear {clear:both;}
.cf { zoom:1; }
.cf:before,.cf:after { content:""; display:table; }
.cf:after { clear:both; }
img { vertical-align:bottom; }

/*-----------------------------------------------------------
Base
-----------------------------------------------------------*/
a {
	transition: .5s;
	color:#333333;
}
a:hover {
	opacity: .8;
	-webkit-opacity: .8;
	-moz-opacity: .8;
	filter: alpha(opacity=80);	/* IE lt 8 */
	-ms-filter: "alpha(opacity=80)"; /* IE 8 */ }
a:visited {}



@media (min-width: 751px) {
  .hide-pc { display: none !important; }
}

@media (max-width: 750px) {

  body {
    font-size: 16px;
  }
  img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
  }
 .hide-sp { display: none !important; }

}


/*-----------------------------------------------------------
Structure
-----------------------------------------------------------*/


/* header
----------------------------------------*/

header {
	width:100%;
	background:#fff;
	position:relative;
	z-index:999;
}

header .logo {
	margin:8px 20px;
	float:left;
}


header .header_copy {
	float:left;
	font-size:14px;
	margin:12px 15px;
}


ul.btn_home a {
	float:right;
	background:#333333;
	margin:10px 20px;
	padding: 2px 10px;
	font-size:14px;
	color: #fff;
	display:block;
}



@media (max-width: 750px) {
	header .logo {
		width:100%;
		margin-top:5px;
		margin-bottom:5px;
	}

	header .header_copy {
		margin-top:0px;
		margin-bottom:5px;
	}

	ul.btn_home {
		display:none;
	}
}


/* footer
----------------------------------------*/

footer {
	clear:both;
	background:#E1E5E5;
	text-align:center;
	padding:20px;
}

footer nav {
	clear:both;
}

footer nav ul {
	overflow:hidden;
	margin:auto;
}
footer nav ul li {
	display:inline;
	border-right: 1px solid #AFAFAF;
	padding:0 15px;
	text-decoration: none;
	font-size:16px;
}

footer nav ul li a{
	color: #424141;
}

footer nav ul li:last-child {
     border:none;
}

footer copyright {
	font-size:20px;
}

@media (max-width: 750px) {
	
	footer {
		padding:20px 10px;
	}
	
	footer .contact{
		margin:0px auto 10px auto;
	}

	footer copyright {
		font-size:12px;
	}
}


/* container
----------------------------------------*/
#container {
  font-size: 16px;
}

#container p {
  padding:0.5em 0;
}

/* font-size
----------------------------------------*/

.txBold {
	font-weight:bold;
	vertical-align: middle;
}

.txSmall {
	font-size:13px;
}

.tx18 {
	font-size:18px;
	vertical-align: middle;
}

.tx21 {
	font-size:21px;
	vertical-align: middle;
}
.tx30 {
	font-size:30px;
	vertical-align: middle;
}
.tx33 {
	font-size:33px;
	vertical-align: middle;
}
.tx40 {
	font-size:40px;
	vertical-align: middle;
}
.txOlange {
	color:#FFA600;
	vertical-align: middle;
}

.txBlue {
	color:#023894;
	vertical-align: middle;
}

.txRed {
	color:#99043D;
}

.txNumber {
	display: inline-block;
	width: 1.5em;
	height: 1.5em;
	border-radius: 50%;
	background-color: #FFA600;
	color: #fff;
	vertical-align: middle;
	text-align: center;
	line-height: 1.5em;
	margin-right:0.5em;
}

@media (max-width: 750px) {
	.tx33 {
		font-size:28px;
	}
	.tx40 {
		font-size:33px;
	}
}

/*-----------------------------------------------------------
Object
-----------------------------------------------------------*/
.btn_pagetop {
  position: fixed;
  right: 20px;
  bottom: 20px;
}



/*-----------------------------------------------------------
Parts
-----------------------------------------------------------*/



.img_center{
    text-align: center;
	margin: 10px auto;
}

.img_left{
    float:left;
	margin: 10px auto;
}
.img_right{
    float:right;
	margin: 10px auto;
}

.img_in{
	float:right;
	margin:0 0 0 20px;
	width:171px;
	height:171px;
}
.fl_left{
    float:left;
	margin: 10px auto;
}
.fl_box {
	padding-top:10px;
	overflow:hidden;
}

@media (max-width: 750px) {
  .img_left,
  .img_right {
	float:none;
    text-align: center;
	margin: 5px auto;
  }
  
  .fl_left {
	float:none;
  }
  .img_in {
	float:none;
	margin: 0 auto 15px auto;
    width:100%;/* トリミングしたい枠の幅 */
    height: 100px;/* トリミングしたい枠の高さ */
	object-fit: cover;
	object-position:100% 60%;
  }
  .img_in_01 {
	object-position:100% 40%;
  }
  .img_in_03 {
	object-position:100% 85%;
  }
  .img_in_04 {
	object-position:100% 95%;
  }
}

.line_blue {
	border-bottom:2px solid #023894;
	margin-bottom:1em;
}


ul.list_check {
	margin-bottom:30px;}
ul.list_check li {
  margin:6px;
  padding: 0 0 0 35px;
  background: url(../img/list_check.png) no-repeat;
}

ul.list_disk {
	margin: 0.5em 0;
	padding-left: 1.5em;
	list-style-type: disc;
}

ul.list_circle {
	margin: 0.5em 0;
	padding-left: 1.5em;
	list-style-type: disc;
}
ul.list_circle li {
	padding-left: 3em;
	text-indent:-3em;
}

ul.list_text {
	margin:10px 5px;
}

ul.list_text li{
	border-bottom:1px solid #D6D4D4;
	font-size:20px;
	padding:0.2em;
}

ul.list_text a {
	color:#104768;
}


.tag_free {
	flaot:left;
	margin-right: 12px;
	padding: 5px 10px;
	background: #023894;
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	vertical-align: middle;
}


.btn_link a {
	background:#333333;
	padding: 6px 30px;
	color: #fff;
	display:block;
	font-size:23px;
	text-align:center;
	float:right;
}

.mg10_bottom {
	margin-bottom:10px !important;
}
.mg10_top {
	margin-top:10px !important;
}
.mg20_top {
	margin-top:20px !important;
}

@media (max-width: 750px) {
	
	ul.list_text li{
		font-size:16px;
	}
	
	.btn_link a {
		float:none;
		font-size:21px;
	}
}


/* section
----------------------------------------*/

section {
	clear:both;
	position: relative;
	margin: 0 auto;
}
.sec_in {
	width:960px;
	clear:both;
	position: relative;
	margin: 0 auto;
}


@media (max-width: 750px) {
  .sec_in {
    width: 95%;
  }
}

/* contact
----------------------------------------*/

.contact {
	overflow:hidden;
	width:900px;
	border:2px solid #023894;
	background:#fff;
	padding:10px ;
	text-align:center;
	margin:20px auto;
}

.contact p {
  padding:0.2em 0 !important;
}

.contact .cont_01 {
	width:350px;
	margin-left:80px;
	float:left;
}
.contact .cont_02 {
	width:280px;
	margin-right:120px;
	float:right;
}

.contact p.cont_txt{
	font-size:25px;
	font-weight: 900;
}
.contact p.cont_tel{
	font-size:36px;
	font-weight: 900;
	line-height:1em;
}
.contact .cont_teltime{
	font-size:16px;
}


ul.btn_cont a {
	background:#333333;
	margin-top:10px;
	padding: 10px 10px;
	color: #fff;
	display:block;
	font-size:23px;
}

@media (max-width: 750px) {
	.contact {
    	width: 100%;
  	}
  
  
	.contact p.cont_txt{
		font-size:18px;
	}
  
	.contact .cont_01{
		width:100%;
		float:none;
			margin:0px auto;
  }  
	.contact .cont_02{
		width:90%;
		float:none;
		margin:0px auto;
  }
  
	ul.btn_cont a {
		font-size:21px;
	}
}

.bg_grad {
	background: linear-gradient(to top, #e1e6e7 50%, #FFF);
}

/* main
----------------------------------------*/

#main {
	text-align:center;
	width:100%;
}

#main .main_in {
	position:relative;
	width:1280px;
	margin:0 auto;
}

#main .main_01 {
	background:url(../img/main_01bg.png) no-repeat #102d3b;
	background-size:cover;
}

#main .main_02 {
	width:100%;
	background:#1a284b;
}

#main .main_03 {
	margin-bottom:10px;
}

#main .main_03 img {
	vertical-align:top;
}


@media (min-width: 751px) {
	
#main .main_01 .main_btn {
	position:absolute;
	top:20px;
	right:170px;
	z-index:999;
}

#main .main_02 .main_label {
	position:absolute;
	top:0px;
	left:35px;
	z-index:999;
}
}


@media (max-width: 750px) {
	
	#main {
		background:url(../img/main_01bg_sp.png) 0 0 no-repeat;
		background-size:contain;
	}
	
	#main .main_in {
		width:100%;
	}
	
	#main .main_01 {
		background:none;
	}
	
	#main .main_02 {
		background:none;
	}
	#main .main_02 .main_label {
		width:60%;
		text-align:center;
		margin:0px auto;
	}
	#main .main_02 .main_02_img {
		margin-top:-40px;
	}
	
}



/* contents
----------------------------------------*/

#sec01 {
	text-align:center;
}
#sec01 p.text01 {
	padding-bottom:0px;	
}
#sec01 p.text02 {
	padding-top:0px;	
}

#sec01 img{
	vertical-align:middle;
}

#sec02 p.text01 {
	text-align:center;
	font-size:26px;
	font-weight:bold;
	padding:0px;
}
#sec03 {
	padding-bottom:30px;
}

#sec03 .sec03_wrap { 
    display: block;
    position: relative;
	width:930px;
    margin: 20px auto;
    padding: 10px 0;
    background: #ffffff;
	box-shadow: 0 0 4px #666666;
}

#sec03 h2 {
    display: inline-block;
    position: relative;
    box-sizing: border-box;
    padding: 10px 20px ;
    margin: 0 -20px 0 -20px;
    width: calc(100% + 40px);
    font-size: 35px;
    color: #ffffff;
    background: #023894;
	font-weight:900;
}

#sec03 h2:before {
    position: absolute;
    content: '';
    top: 100%;
    left: 0;
    border: none;
    border-bottom: solid 15px transparent;
    border-right: solid 20px #043377;
}
#sec03 h2:after {
    position: absolute;
    content: '';
    top: 100%;
    right: 0;
    border: none;
    border-bottom: solid 15px transparent;
    border-left: solid 20px #043377;
}


@media (max-width: 750px) {
	
	#sec03 .sec03_wrap {
		width: 100%;
	}
	
	#sec03 h2 {
    	font-size: 24px;
		font-weight:900;
    	padding:  10px;
    	margin: 0 ;
		padding-left:50px;
		text-indent:-50px;
    	width: 100%;
	}
	
	#sec03 h2 .txNumber {
		margin-left:10px;
		margin-right:5px;
		text-indent:0px;
	}

	#sec03 h2:before,
	#sec03 h2:after {
    	border:none;
	}
}

/* anchor menu
----------------------------------------*/


ul.anc_menu {
	width:970px;
	margin:30px 0 20px -6px;
	overflow:hidden;
}

ul.anc_menu li {
	width:295px;
    position: relative;
	filter: drop-shadow(0px 0px 2px rgba(0,0,0,0.5));
	text-align:left;
	margin:0px 26px 15px 0;
	float:left;
}

ul.anc_menu li:before {
	position: absolute;
	content: '';
	top: 100%;
	left: 0;
	border: none;
	border-bottom: solid 10px transparent;
	border-right: solid 15px #043377;
}

ul.anc_menu li:after{
	content: "";
    position: absolute;
    top: 0;
    left: 100%;
    border-style: solid;
    border-color: transparent;
    border-left-color: #023793;
    border-width: 22px 20px;
    width: 0;
    height: 0;
}
ul.anc_menu li a {
    width:100%;
    height:100%;
	color:#fff;
    display: block;
    font-size:15px;/*フォントサイズ*/
    padding: 10px 0px 10px 10px;
    background: #023793;/*リボンの色*/
	-webkit-transition: opacity 1s ease-out;
	-moz-transition: opacity 1s ease-out;
	-ms-transition: opacity 1s ease-out;
	transition: opacity 1s ease-out;
}
ul.anc_menu li a:hover{
    background: linear-gradient(to right, #3c6fc8, #023793);
	background: -prefix-linear-gradient(left, #3c6fc8, #023793);
	opacity:1.0;
	-webkit-opacity:1.0;
	-moz-opacity: 1.0;
	filter: alpha(opacity=100);	/* IE lt 8 */
	-ms-filter: "alpha(opacity=100)"; /* IE 8 */
}



@media (max-width: 750px) {
	ul.anchor_menu {
    	width: 100%;
		margin: 20px auto;
  	}
  	ul.anc_menu {
    	width: 95%;
		margin: 20px auto;
  	}
	ul.anc_menu li {
		width:100%;
		margin:0 0 10px 0;
	}
	ul.anc_menu li:before{
		display:none;
	}
	
	ul.anc_menu li:after {
		content: "";
		position: absolute;
		top: 100%;
		left: 50%;
 		margin-left: -15px;
		border: 15px solid transparent;
		border-top: 5px solid #023793;
	}
	
	ul.anc_menu li a:hover{
    	background: linear-gradient(to bottom, #3c6fc8, #023793);
		background: -prefix-linear-gradient(top, #3c6fc8, #023793);
}


}


#sec03 .sec03_btn {
	clear:both;
	text-align:center;
	font-size:21px;
	font-weight:bold;
	margin:10px auto;
}

#sec03 .sec03_01 {
	padding:20px 30px;
	font-size:18px;
	overflow:hidden;
}
#sec03 .sec03_01 .sec03_01wrap {
	padding:10px 60px 0px 60px;
	overflow:hidden;
}

.sec03_01wrap .img_left {
	 margin:0px auto;
 }

#sec03 .sec03_01 h3 {
	font-size:21px;
	font-weight:bold;
}
#sec03 .sec03_02 {
	clear:both;
	overflow:hidden;
	padding:0px 30px;
}
#sec03 .sec03_03 {
	clear:both;
	overflow:hidden;
	padding:0px 30px 30px 30px;
}

#sec03 .sec03_02wrap {
	margin:10px;
}

#sec03 .sec03_02 h3 {
	font-size:21px;
	color:#023894;
	font-weight:bold;
	border-bottom:2px solid #023894;
}
#sec03 .sec03_03 h3 {
	font-size:21px;
	color:#023894;
	font-weight:bold;
}

#sec03 .sec03_table {
	width:49%;
	float:left;
	border-top:1px solid #D6D4D4;
	border-left:1px solid #D6D4D4;
}


#sec03 .sec03_table th,
#sec03 .sec03_table td{
	border-right:1px solid #D6D4D4;
	border-bottom:1px solid #D6D4D4;
	padding:5px;
	font-size:14px;
	vertical-align:middle;
}

#sec03 .sec03_table thead th {
	background:#023894;
	color:#ffffff;
}
#sec03 .sec03_table tbody th {
	background:#E4F4F4;
	text-align:left;
}

#sec03 .sec03_table td.sec03_tdgr {
	background:#EFEFEF;
}

#sec03 .sec03_box{
	width:48%;
	float:right;
	border:2px solid #bdcfdb;
	padding:10px;
}

#sec03 .sec03_box h4{
	background:#023894;
	color:#ffffff;
	text-align:center;
	padding:3px;
	font-weight:bold;
}

#sec03 .sec03_box ul.list_disk li {
	padding: 3px 0;
}

#sec03 .sec03_box ul.list_disk li span {
	color:#b6001b;
	font-weight:bold;
}

#sec03 .sec04_wrap { 
    position: relative;
    margin: 20px auto 0 auto;
	width:930px;
    padding: 10px 0;
    background: #ffffff;
	box-shadow: 0 0 4px #666666;
}

@media (max-width: 750px) {
	
	#sec03 .sec03_01 {
		padding:10px;
	}

	#sec03 .sec03_02,
	#sec03 .sec03_03 {
		padding:5px 10px;
	}
	
	#sec03 .sec03_01 .sec03_01wrap {
		padding:0px;
	}
	#sec03 .sec03_01 .sec03_01wrap .img_in {
		display:none;
	}

 	#sec03 .sec04_wrap {
    	width: 100%;
  	}
	
	#sec03 .sec03_btn {
		font-size:18px;
		margin:0 10px;
	}
  
  	#sec03 .sec03_table,
  	#sec03 .sec03_box {
	  	width:100%;
	  	float:none;
	  	margin-bottom:10px;
  	}
}


#sec03 .sec04_wrap h3{ 
	color:#023894;
	font-size:24px;
	font-weight:bold;
	margin-left:-10px;
	margin-right:-10px;
}
#sec03 .sec04_wrap h4{ 
	padding-top:10px;
	color:#104768;
	font-size:20px;
	font-weight:bold;
}

#sec03 .sec04_wrap .sec01 {
	width:470px;
	float:left;
}
#sec03 .sec04_wrap .sec02 {
	width:300px;
	float:right;
	text-align:center;
}


#sec03 .blog_link {
	position:relative;
	height:2.8rem;
	clear:both;
	overflow:hidden;
}
#sec03 .blog_link_text {
	position:absolute;
	top:0px;
	left:0px;
}
#sec03 .blog_link_btn {
	position:absolute;
	top:0px;
	right:0px;
}


#sec03 .blog_link_btn a {
	background:#333333;
	padding: 5px 20px;
	color: #fff;
	display:block;
	font-size:23px;
	text-align:center;
}



@media (max-width: 750px) {	
	
	#sec03 .sec04_wrap .sec01,
	#sec03 .sec04_wrap .sec02 {
		float:none;
		width:100%;
	}
	
	#sec03 .sec04_wrap h3{ 
		font-size:21px;
		margin:0px;
	}
	#sec03 .blog_link {
		height:auto;
	}
	
	#sec03 .blog_link_text,
	#sec03 .blog_link_btn {
		position:relative;
	}
	#sec03 .blog_link_btn a {
		font-size:21px;
	}
	
	#sec03 .blog_link_text .tag_free {
		vertical-align: top;
	}
}


#sec04 {
	background:#023894;
	padding:20px;
}

#sec04 h2 {
	font-size:24px;
	color:#ffffff;
	text-align:center;
	font-weight:bold;
}
#sec04 h3 {
	font-size:24px;
	color:#ffffff;
	font-weight:bold;
	margin-top:30px;
}
#sec04 .sec_in {
	width:930px;
}

#sec04 .sec04_01 {
	margin:20px auto;
	background:#ffffff;
	padding:30px;
	text-align:center;
	overflow:hidden;
}

@media (max-width: 750px) {
	#sec04 {
		padding:10px;
	}

	#sec04 .sec_in {
    	width: 100%;
  	}
	#sec04 .sec04_01 {
    	width: 100%;
    	padding:10px;
    }
	#sec04 h2,
	#sec04 h3 {
		font-size:21px;
	}
}

#sec04 .sec04_02 {
	margin:20px auto;
	background:#ffffff;
	padding:20px;
}

#sec04 .sec04_flow dt {
	clear:left;
	float:left;
	width:260px;
	padding-top:10px;
}
#sec04 dt.flow_ar {
	float:none;
}
#sec04 .sec04_flow dd {
	padding-top:10px;
	float:left;
	width:300px;
	text-align:left;
}

#sec04 .sec04_flow dd ul{
	padding-left: 40px;
	list-style-type:circle;
}

@media (max-width: 750px) {
	
	#sec04 .grp_01 {
		width:92%;
		margin-right:20px;
	}
	#sec04 .grp_02 {
		width:89%;
	}
	
	#sec04 .sec04_flow dt,
	#sec04 .sec04_flow dt{
		width:100%;
	}
}



/*----- フェードイン -----*/
    .inviewfadeIn {
        opacity: 0;
        transition: .8s;
    }
    
    .fadeIn {
        opacity: 1.0;
    }
 
    
    /*----- フェードインしながら上へスライド -----*/
    .inviewfadeInUp {
        opacity: 0;
        transform: translate(0, 60px);
        -webkit-transform: translate(0, 60px);
        transition: .8s;
    }
    
    .fadeInUp {
        opacity: 1.0;
        transform: translate(0, 0);
        -webkit-transform: translate(0, 0);
    }
	
	
    /*----- フェードインしながら左へスライド -----*/
	.inviewfadeInLeft {
        opacity: 0;
        transform: translate(60px, 0);
        -webkit-transform: translate(60px, 0);
        transition: .8s;
    }
	.fadeInLeft {
        opacity: 1.0;
        transform: translate(0, 0);
        -webkit-transform: translate(0, 0);
    }