@charset "UTF-8";
/* CSS Document */
.sp{
    display: none;
}

html{
	overflow-x: hidden;
}

/*
セクション間余白
----------------------------------------------------------- */
section {padding: 100px 0;}
.cta {padding: 100px 0;}
footer {padding: 60px 0;}

/*
色関連
----------------------------------------------------------- */
.bg_cl1{background-color: #f7f7f7;}
.bg_cl2{background-color: #f3f2f2;}
.bg_cl3{
  background-image: -moz-linear-gradient( -45deg, rgb(246,246,246) 0%, rgb(233,233,231) 100%)!important;
  background-image: -webkit-linear-gradient( -45deg, rgb(246,246,246) 0%, rgb(233,233,231) 100%)!important;
  background-image: -ms-linear-gradient( -45deg, rgb(246,246,246) 0%, rgb(233,233,231) 100%)!important;
}
.cl_base{color: #052e66;}
.cl_main{color: #bb0718;}
.cl_accent{color: #4265a1;}
.cl_other1{color: #4265a1;}
.cl_other2{color: #4265a1;}

/*
テキスト関連
----------------------------------------------------------- */
.highlight {
    background: -webkit-linear-gradient(transparent 60%, #f3e613 50%);
    background: -o-linear-gradient(transparent 60%, #f3e613 50%);
    background: linear-gradient(transparent 60%, #f3e613 50%);
    font-weight: bold;
}

/*
リンク色
----------------------------------------------------------- */
a:link,
a:visited {
  color:#162bee;
  text-decoration:none;
}
a:hover {
  text-decoration:underline;
}

/*
はみ出し画像中央
----------------------------------------------------------- */
.wic_wrap { overflow-x: hidden;}
/* wicを使ったセクションのsectionタグに対して.wic_wrapのクラスをつける事 */
.wic img { width: auto; max-width: unset;}
/* 中央に表示したいものにwicとwic1をつける */
.wic1 { margin-left: calc(50% - 1000px);}
/*pxの部分を画像の半分の幅に変えてね！*/
.wic1 img { width: 2000px; max-width: 2000px;}
.wic2 { margin-left: calc(50% - 600px);}
.wic2 img { width: 1200px; max-width: 1200px;}
.wic3 { margin-left: calc(50% - 800px);}
.wic3 img { width: 1600px; max-width: 1600px;}

/*
Page Top
----------------------------------------------------------- */

/*TOPへ戻る*/
.pagetop a {
  background-color: #bb0718;
  filter: drop-shadow(3px 3px 4px rgba(0,0,0,0.3));
}

/*
Header
----------------------------------------------------------- */
header {
	background: #02142c;
	color: #fff;
}
header .logo {
	display: flex;
	align-items: center;
	padding-right: 15px;
}
header .container {
	display: flex;
	justify-content: space-between;
}

header .contact {
	display: flex;
	align-items: center;
	text-align: center;
	vertical-align: middle;
	font-size: 14px;
	line-height: 1;
}
header .contact a{
	background: #17880b;
	color: #fff;
	display: block;
	padding: 20px 30px;
}
header .contact a:hover{
	text-decoration: none;
}
header .contact a:focus{
	text-decoration: none;
}
header .contact a span{
	font-size: 10px;
}
header .gnav{
	font-size: 14px;
	font-weight: bold;
	display: flex;
	align-items: center;
	text-align: right;
	line-height: 1;
}
.gnav li{
	margin-right: 15px;
}
.gnav li a{
	color: #fff;
}
.gnav li a:focus{
	color: #fff;
}

/*
MV
----------------------------------------------------------- */
.mv {
	padding: 0;
}
.mv_1 {
	background-color: #052e66;
	padding: 30px 0;
}
.mv_2 {
	padding: 45px 0 15px;
}
.mv_4 p{
	padding: 60px 0 100px;
}

/*
CTA
----------------------------------------------------------- */
.cta{
	background: url("../img/pc_cta_bg.png");
}
.cta h3{
	margin-top: -70px;
}
.cta_mail{
	font-weight: bold;
	font-size: 22px;
	text-align: center;
	margin-bottom: 10px;
}
.form-control{
    min-height: 80px;
    font-size: 22px;
    border: 3px solid #0045a4;
}
.cta_form input.form-control{
	width: 100%;
	padding: 15px;
	border-radius: 5px;
}
.cta_form .input02{
	border: none;
}
.cta_form .input02:hover{
	border: none;
}
.cta_form .input02:cisited{
	border: none;
}
.cta_form .input02:focus{
	border: none;
}
.privacyarea iframe{
	width: 100%;
}
.privacyarea{
	background: #efefef;
	padding: 0 15px 15px;
}
.cta .indent{
	font-weight: bold;
	font-size: 14px;
}
.require{
	background: #e43624;
	color: #fff;
	padding: 5px;
	font-size: 14px;
}

.line_flash{
	animation: flash 1s linear infinite;
}
@keyframes flash {
  0%,100% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }
}


/*
sec01
----------------------------------------------------------- */
.sec01{
	background: #eaf1fa;
}
.sec01_h2{
	margin-top: -150px;
}
.sec01 .white_box{
	border: 5px solid #052e66;
}
.checkarea{
	font-size: 28px;
	font-weight: bold;
}
.checkarea li{
	text-indent: -1.1em;
	padding-left: 1.1em;
	line-height: 1.3;
	border-bottom: 1px dotted #ccc;
	padding-bottom: 15px;
	margin-bottom: 15px;
}
.checkarea li span{
	color: #bb0718;
}
.checkarea li i{
	display: inline;
	color: #bb0718;
}


/*
sec02
----------------------------------------------------------- */
.prof_big {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.2;
    margin-top: 20px;
    margin-bottom: 30px;
}
.sec02 .fx > li p {
	overflow: hidden;
	max-height: 180px;
    border: 2px solid #0045a4;
    border-radius: 4px;
	background-color: #fff;
}
.sec02 .fx > li p:hover {
	/*overflow: visible;*/
}
.sec02 .fx > li img {
	opacity: 1;
    -webkit-transition: -webkit-transform 0.3s linear;
    transition: -webkit-transform 0.3s linear;
    transition: transform 0.3s linear;
    transition: transform 0.3s linear, -webkit-transform 0.3s linear;
    border: 0;
    overflow: visible;
    padding: 15px;
}
.sec02 .fx > li img:hover {
	/*opacity: 1;
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
    overflow: visible;
    padding: 15px;
	background-color: #fff;
    border: 2px solid #0045a4;
    border-radius: 4px;*/
  
}
.sec02 .fx > li:nth-last-child(-n+2) img:hover {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    position: relative;
    z-index: 2;
}

.sec02 .fx a,
.sec02 .fxa img{transition: all .3s;}
.sec02 .fx a:hover,
.sec02 .fx a img:hover{opacity: 0.7;}
.dib{display: inline-block;}
.m0a{margin:0 auto;}


/*
sec03
----------------------------------------------------------- */
.sec03{
	background: #f7f7f7;
}
.sec05 .white_box{
	background: url("../img/pc_sec05_bg.png");
}
.reason_ul li{
	border-bottom: 2px #000 dotted;
	padding-bottom: 15px;
	margin-bottom: 15px;
}
.reason_ul li:last-child{
	margin-bottom: 0;
}

/*
sec04
----------------------------------------------------------- */
.h2_blue {
	background: #052e66;
	padding-top: 45px;
}

/*
sec05
----------------------------------------------------------- */
.sec05{
	background: #f7f7f7;
}
.text_mincho{
	font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
	color: #bb0718;
	font-size: 160%;
	font-weight: bold;
}
.sec05 .white_box{
	background: #fff;
}

/*
sec06
----------------------------------------------------------- */
.sec06 .white_box{
	background: #f7f7f7;
}

/*
sec07
----------------------------------------------------------- */
.sec07{
	background: #eaf1fa;
}


/*
sec08
----------------------------------------------------------- */
.sec08 .white_box{
	background: #f7f7f7;
}

/*
sec09
----------------------------------------------------------- */
.sec09{
	background: url("../img/pc_bg01.png");
}

/*
sec10
----------------------------------------------------------- */
.sec10 .checkarea{
	font-size: 18px;
	color: #bb0718;
}

.sec10 .white_box{
	padding-top: 0;
	padding-bottom: 0;
}

/*
sec11
----------------------------------------------------------- */
.sec11{
	background: #f7f7f7;
}
.slidearea.swiper-container {
    background: #052e66;
    padding: 30px 0;
}
.swiper-container {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
}

/*
sec12
----------------------------------------------------------- */
.sec12{
	background: #f6f1d9;
}
.sec12 .checkarea li span{
	color: #000;
}
.checkarea .num01{
	background: url("../img/pc_sec12_img01.png") no-repeat left top;
	padding: 0;
	text-indent: 0;
	padding-left: 90px;
	padding-bottom: 15px;
	min-height: 76px;
}
.checkarea .num02{
	background: url("../img/pc_sec12_img02.png") no-repeat left top;
	padding: 0;
	text-indent: 0;
	padding-left: 90px;
	padding-bottom: 15px;
	min-height: 76px;
}
.checkarea .num03{
	background: url("../img/pc_sec12_img03.png") no-repeat left top;
	padding: 0;
	text-indent: 0;
	padding-left: 90px;
	padding-bottom: 15px;
	min-height: 76px;
}
.checkarea .num04{
	background: url("../img/pc_sec12_img04.png") no-repeat left top;
	padding: 0;
	text-indent: 0;
	padding-left: 90px;
	padding-bottom: 15px;
	min-height: 76px;
}
.checkarea .num05{
	background: url("../img/pc_sec12_img05.png") no-repeat left top;
	padding: 0;
	text-indent: 0;
	padding-left: 90px;
	padding-bottom: 15px;
	min-height: 76px;
}
.checkarea .num06{
	background: url("../img/pc_sec12_img06.png") no-repeat left top;
	padding: 0;
	text-indent: 0;
	padding-left: 90px;
	padding-bottom: 15px;
	min-height: 76px;
}
.checkarea .num07{
	background: url("../img/pc_sec12_img07.png") no-repeat left top;
	padding: 0;
	text-indent: 0;
	padding-left: 90px;
	padding-bottom: 15px;
	min-height: 76px;
}
.checkarea .num08{
	background: url("../img/pc_sec12_img08.png") no-repeat left top;
	padding: 0;
	text-indent: 0;
	padding-left: 90px;
	padding-bottom: 15px;
	min-height: 76px;
}
.checkarea .num09{
	background: url("../img/pc_sec12_img09.png") no-repeat left top;
	padding: 0;
	text-indent: 0;
	padding-left: 90px;
	padding-bottom: 15px;
	min-height: 76px;
}
.checkarea .num10{
	background: url("../img/pc_sec12_img10.png") no-repeat left top;
	padding: 0;
	text-indent: 0;
	padding-left: 90px;
	padding-bottom: 15px;
	min-height: 76px;
}
.checkarea li .cl_main{
	color: #bb0718!important;
}
.checkarea li .cl_base{
	color: #052e66!important;
}

/*
sec14
----------------------------------------------------------- */
.sec14{
	background: url("../img/pc_bg02.jpg") no-repeat;
	background-size: cover;
}

/*
sec15
----------------------------------------------------------- */
.sec15 .white_box{
	background: url("../img/pc_bg03.png") ;
}

/*
sec16
----------------------------------------------------------- */
.sec16{
	background: #eaf1fa;
}

/*
sec17
----------------------------------------------------------- */
.sec17 {
	background: #f7f7f7;
}

/*
sec18
----------------------------------------------------------- */
.sec18 .white_box{
	border: 4px solid #052e66;
}
.sec18 h3{
	border-bottom: 2px solid #bb0718;
	padding-bottom: 15px;
	margin-bottom: 15px;
}
.sec18 .white_box_in{
	background: #eaf1fa;
	padding: 30px;
}
.merits{
	margin-bottom: 15px;
	font-size: 20px;
}
.merits dt{
	background: #052e66;
	color: #fff;
	width: 15%;
	text-align: center;
	font-weight: bold;
	float: left;
	margin-right: 2%;
}
.merits dd{
	font-weight: bold;
}
.merits dd span{
	color: #052e66;
}
.merits_txt{
	padding-bottom: 0px;
	border-bottom: 1px dotted #ccc;
	margin-bottom: 20px;
}
.bdr_h4{
	color: #bb0718;
	text-align: center;
	font-weight: bold;
	font-size: 30px;
	line-height: 1.2;
	border-top: 3px solid #bb0718;
	border-bottom: 3px solid #bb0718;
	padding: 15px 0;
	margin-bottom: 30px;
}
.bdr_h4 span{
	font-size: 20px;
}

/*
sec19
----------------------------------------------------------- */
.sec19-0{
    background:#980815;
    margin-bottom: -1em;
}
.sec19-0 .container{
    padding-top: 30px;
}
.sec19{
    background-image: -moz-linear-gradient( rgba(253, 239, 239, 1) 0%, rgba(252, 190, 190, 1) 100%);
    background-image: -webkit-linear-gradient( -90deg, rgba(253, 239, 239, 1) 0%, rgba(252, 190, 190, 1) 100%);
    background-image: -ms-linear-gradient( -90deg, rgba(253, 239, 239, 1) 0%, rgba(252, 190, 190, 1) 100%);
/*  background-image: -moz-linear-gradient( -90deg, rgb(195,157,7) 0%, rgb(150,122,12) 100%);
  background-image: -webkit-linear-gradient( -90deg, rgb(195,157,7) 0%, rgb(150,122,12) 100%);
  background-image: -ms-linear-gradient( -90deg, rgb(195,157,7) 0%, rgb(150,122,12) 100%);
*/    
}
.sec19 .nm_arrow{
	margin-top: -50px;
}
.sec19 .checkarea li span{
	color: #000;
}

/*
sec20
----------------------------------------------------------- */
.sec20{
	background: #052e66;
}
.sec20 .white_box_in{
	padding: 30px;
	background: #eaf1fa;
}
.sec20 .bdr_h4 span{
	font-size: 30px;
}
.sec20 h4.red{
    font-size:2.2rem;
    font-weight: 700;
    background: #FEE7E7;
    border-bottom: 4px solid #CC0404;
    padding: 10px;
    margin-bottom: 15px;
}
.sec20 h4.blue{
    font-size:2.2rem;
    font-weight: 700;
    background: #E2EFFC;
    border-bottom: 4px solid #015FBC;
    padding: 10px;
    margin-bottom: 15px;
}
.sec20 h4 span.red {
    color:#DF0101;
}
.sec20 h4 span.blue {
    color:#08298A;
}

/*
sec21
----------------------------------------------------------- */
.sec21{
	background: url("../img/pc_bg04.png") ;
}
.sec21 .white_box{
	border: 4px solid #052e66;
}

.check_list li:before{
	color: #bb0718;
}
.sec21 .white_box_in{
	padding: 30px;
    background: #eaf1fa;
}
.sec21 .checkarea{
	background: #fff;
	padding: 30px;
}
.sec21 .checkarea li span{
	color: #000;
}
.white_box_in02{
	padding: 30px;
	background: #f9edee;
}
.tdl{
	text-decoration: line-through;
}

/*
sec21
----------------------------------------------------------- */
.cta_bg{
	background: url("../img/pc_bg05.png") ;
}

/*
sec22
----------------------------------------------------------- */
.sec22_arrow{
	margin-bottom: -150px;
}

/*
cta
----------------------------------------------------------- */
.cta_h301{
	background: #052e66;
	padding: 15px;
	color: #fff;
	font-weight: bold;
	font-size: 30px;
}
.cta_h302{
	background: #bb0718;
	padding: 15px;
	color: #fff;
	font-weight: bold;
	font-size: 30px;
}
.cta_h301 span{
	font-size: 70%;
}
.cta_h302 span{
	font-size: 70%;
}
.cautionarea{
	background: #f7f7f7;
	padding: 30px;
}

.qa{
	margin-bottom: 30px;
}
.qa:last-child{
	margin-bottom: 0;
}
.sec10 dt{
	background: url("../img/pc_sec10_img01.png") no-repeat 15px center #0045a4;
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	padding: 25px;
	position: relative;
	padding-left: 85px;
	line-height: 1.2;
}
iframe.frame_kiyaku{
	width:100%;
	height: 200px;
	color:#ccc;
	margin-top: 2em;
	margin-bottom:2em;
	border:1px solid #aaa;
	padding:0.8em;
}
.kiyaku{
	width:100%;
	color:#000;
	font-size:0.8em;
}
.mnaka{
	text-align: center;
}

/*
sec24
----------------------------------------------------------- */
.qa{
	margin-bottom: 30px;
}
.qa:last-child{
	margin-bottom: 0;
}
.sec24 dt{
	background: url("../img/pc_sec24_img01.png") no-repeat 15px center #052e66;
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	padding: 25px;
	position: relative;
	padding-left: 85px;
	line-height: 1.2;
}
.qa_q{
	max-width: 90%;
}
.qa_arrow{
	position: absolute;
	right: 15px;
	top: 15px;
}
.sec24 dd{
	background: url("../img/pc_sec24_img02.png") no-repeat 15px 15px #fff;
	padding: 25px;
	position: relative;
	padding-left: 85px;
	display: none;
}
.qa_btn .qa_arrow img {
	transition: all .3s;
	transform: rotate(0deg);
}
.qa_btn.active .qa_arrow img {
	transition: all .3s;
	transform: rotate(180deg);
}
.slidearea.swiper-container {
	background: #e5effd;
	padding: 30px 0;

}

/*
sec25
----------------------------------------------------------- */
.sec25 .name{
	float: right;
}

/*
Footer
----------------------------------------------------------- */
footer{
	font-size: 14px;
	text-align: center;
	background: #052e66;
	color: #fff;
}
.footer_nav1 {
	font-size: 14px;
	flex-wrap: wrap;
	text-align: center;
	margin-top: -15px;
}
.footer_nav1 li{
	display: inline;
	padding: 0 5px;
}
footer .footer_nav1 li a{
	color: #fff;
}
footer .footer_nav1 li a:focus{
	color: #fff;
}
.footer_nav1 > * {
	padding-top: 15px;
}
.copy {
	background: #02142c;
    font-size: 12px;
    color: #fff;
    padding-top: 15px;
    padding-bottom: 15px;
    font-weight: bold;
	text-align: center;
}

.my-blink-01 {
animation: my-blink 1.2s ease 1s infinite;
-webkit-animation:blink 1.2s ease 1s infinite
}

@-ms-keyframes my-blink {
0% {
-webkit-transform:scale(1);
-moz-transform:scale(1);
-o-transform:scale(1);
-ms-transform:scale(1);
transform:scale(1)
}
50% {
-webkit-transform:scale(0.95);
-moz-transform:scale(0.95);
-o-transform:scale(0.95);
-ms-transform:scale(0.95);
transform:scale(0.95)
}
to {
-webkit-transform:scale(1);
-moz-transform:scale(1);
-o-transform:scale(1);
-ms-transform:scale(1);
transform:scale(1)
}
}

@-webkit-keyframes blink {
0% {
-webkit-transform:scale(1);
-moz-transform:scale(1);
-o-transform:scale(1);
-ms-transform:scale(1);
transform:scale(1)
}
50% {
-webkit-transform:scale(0.95);
-moz-transform:scale(0.95);
-o-transform:scale(0.95);
-ms-transform:scale(0.95);
transform:scale(0.95)
}
to {
-webkit-transform:scale(1);
-moz-transform:scale(1);
-o-transform:scale(1);
-ms-transform:scale(1);
transform:scale(1)
}
}

@-moz-keyframes blink {
0% {
-webkit-transform:scale(1);
-moz-transform:scale(1);
-o-transform:scale(1);
-ms-transform:scale(1);
transform:scale(1)
}
50% {
-webkit-transform:scale(0.95);
-moz-transform:scale(0.95);
-o-transform:scale(0.95);
-ms-transform:scale(0.95);
transform:scale(0.95)
}
to {
-webkit-transform:scale(1);
-moz-transform:scale(1);
-o-transform:scale(1);
-ms-transform:scale(1);
transform:scale(1)
}
}

@keyframes blink {
0% {
-webkit-transform:scale(1);
-moz-transform:scale(1);
-o-transform:scale(1);
-ms-transform:scale(1);
transform:scale(1)
}
50% {
-webkit-transform:scale(0.95);
-moz-transform:scale(0.95);
-o-transform:scale(0.95);
-ms-transform:scale(0.95);
transform:scale(0.95)
}
to {
-webkit-transform:scale(1);
-moz-transform:scale(1);
-o-transform:scale(1);
-ms-transform:scale(1);
transform:scale(1)
}
}
.counter{
	width:100%;
	padding:8px 0;
	display: block;
	background: rgba(0,0,0,.7);
	position: fixed;
	left: 0;
	bottom:0;
	z-index: 9999;
	text-align: center;
	color:#fff;
	font-weight: bold;
}
/* 画像バウンス */
	@keyframes my-bounce {
		0%, 100%, 20%, 50%, 80% {transform: translateY(0px);}
		40% {transform: translateY(-30px);}
		60% {transform: translateY(-15px);}
	}
	@-webkit-keyframes my-bounce {
		0%, 100%, 20%, 50%, 80% {transform: translateY(0px);}
		40% {transform: translateY(-30px);}
		60% {transform: translateY(-15px);}
	}
	.my-bounce01 {
		animation: my-bounce 2s ease infinite normal 0s none running;
		-webkit-animation: my-bounce 2s ease infinite normal 0s none running;
		-ms-animation: my-bounce 2s ease infinite normal 0s none running;
	}
/* 画像バウンス */

/* 画像ぷるぷる */
@keyframes my-anime {
  0% {transform: rotate(3deg);}
  13% {transform: rotate(-3deg);}
  25% {transform: rotate(3deg);}
  33% {transform: rotate(-3deg);}
  34% {transform: rotate(0deg);}
  100% {transform: rotate(0deg);}
}

.my-anime-01 {
  animation: my-anime 1s infinite alternate;
}
/* 画像ぷるぷる */