/* CSS Document */
/*design*/

@charset "UTF-8";
@import "https://use.fontawesome.com/releases/v5.8.2/css/all.css";


*{
	margin:0;
	padding:0;
	line-height:1.0;
}


/*PC・SP表示非表示*/
.pc{display:none;}
@media screen and (min-width:640px){
.pc{display:inline-block;}
.sp{display:none;}
}


html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video{
	background:transparent;
	border:0;
	font-size:100%;
	font-style:normal;
	font-weight:500;
	line-height:100%;
	list-style:none;
	margin:0;
	padding:0;
	outline:0;
	text-align:left;
	vertical-align:baseline;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section{
	display:block;
}


html,body{
	background-color:#F7F7F7;
	font-size:14px;
	font-family:'Noto Sans JP', sans-serif;
	/* font-family :YuMincho,'Yu Mincho',serif;*/
	color:#000;
	margin:0 auto;
	padding:0;
	height:100%;
	width:100%;
	max-width:640px;
}
@media screen and (max-width:640px) {
body{
font-size:16px;
text-align:center;
}
}
body,h1,h2,h3,h4,p,li{
    letter-spacing:0.1em;
    line-height:1.8;
	margin:0;
}

.main{
 	background:#fff;
}


/*共通*/
figure{
	margin:0;
	padding:0;
}
img{
	display:block;
    width:100%;
    height:auto;
}
p{
    margin:0;
    font-size:24px;
    line-height:1.7;
    padding:0;
}
@media screen and (max-width:640px) {
p{
font-size:16px;
text-align:center;
}
}


/*div.bgLattice*/
.bgLattice{
	background:url("../img/bg01.png") left top repeat-y;
	background-size:100% auto;
	padding:30px 0;
}


/*div.bgBlue*/
.bgBlue{
	background-color:#d9e9f5;
	padding:30px 0;
}


/*section.campaign*/
.campaign{
	background:url("../img/campaign_bottom.png") center bottom no-repeat;
	background-size:98% auto;
	overflow:hidden;
	padding-bottom:250px;
	position:relative;
}
.campaign > figure{
	margin:0 1%;
}
@media screen and (max-width:640px){
.campaign{
background:url("../img/campaign_bottom.png") center bottom no-repeat;
background-size:98% auto;
padding-bottom:33vw;
}
.campaign > figure{
margin:0 1%;
}
}


/*div.btn CVボタン*/
.btn{
	position:absolute;
	animation:btn 0.8s infinite alternate;
}
@keyframes btn{
from{transform:scale(0.95);}
to{transform:scale(1.02);}
}


/*section.faq*/
.faq{
	background:#e4eef6;
	padding:50px 30px 30px;
}
.faq h2{
	width:60%;
	margin:0 auto;
}
.faq__accordion .accordion{
	margin:40px 0;
	position:relative;
	z-index:4;
}
.faq__accordion .accordion__title{
	background:linear-gradient(90deg, #0071ad, #2e3183);
	border-radius:10px;
	color:#fff;
	font-size:28px;
	font-weight:bold;
	line-height:1.5;
	padding:40px 100px 40px 80px;
	position:relative;
	text-align:left;
	transition:.3s;
}
.faq__accordion .open.accordion__title{
	border-radius:10px 10px 0 0;
	transition:.3s;
}
.faq__accordion .accordion__title::before{
	background:url("../img/faq_ic_q.png") left top no-repeat;
	background-size:46px auto;
	background-position:left top;
	content:"";
	width:46px;
	height:46px;
	transform:rotate(0deg);
	transition:.3s;
	position:absolute;
	left:22px;
	top:50px;
	margin-top:-9px;
}
.faq__accordion .accordion__title::after{
	background:url("../img/faq_ic.png") no-repeat;
	background-size:30px 17px;
	content:"";
	width:30px;
	height:17px;
	transform:rotate(0deg);
	transition:.3s;
	position:absolute;
	right:28px;
	top:50%;
	margin-top:-9px;
}
.faq__accordion .accordion__detail{
	background:#fff;
	border-radius:0 0 10px 10px;
	padding:40px 20px;
}
.faq__accordion .accordion__detail p{
	background:url("../img/faq_ic_a.png") left top no-repeat;
	background-size:50px auto;
	padding-left:60px;
	text-align:justify;
	text-justify:inter-ideograph;
}
@media screen and (min-width:640px){
.faq__accordion .accordion__title{
cursor:pointer;
}
}
@media screen and (max-width:640px){
.faq{
padding:6vw 4.2vw 4.2vw;
}
.faq__accordion .accordion{
margin:5vw 0;
}
.faq__accordion .accordion__title{
font-size:3.8vw;
padding:5vw 13vw 5vw 11vw;
}
.faq__accordion .accordion__title::before{
background-size:6vw;
left:3vw;
top:8vw;
}
.faq__accordion .accordion__title::after{
background-size:4.2vw 2.5vw;
content:"";
right:3.8vw;
margin-top:-1vw;
width:4.2vw;
height:2.5vw;
transform:rotate(0deg);
}
.faq__accordion .open.accordion__title::after{
background-size:4.2vw 2.5vw;
content:"";
right:3.8vw;
margin-top:-1vw;
width:4.2vw;
height:2.5vw;
transform:rotate(180deg);
}
.faq__accordion .accordion__detail{
padding:5vw 3vw;
}
.faq__accordion .accordion__detail p{
background-size:6vw;
padding-left:8vw;
}
}


/*figure.freecounseling*/
figure.freecounseling{
	margin:0 2.5vw;
}
@media screen and (min-width:640px){
figure.freecounseling{
margin:0 15px;
}	
}


/*attention*/
.attention{
	background:#d9e9f5;
	color:#2e3183;
	padding:30px 15px 20px;
}
.attention h2{
	font-size:1.3em;
	font-weight:bold;
	padding-bottom:20px;
	text-align:center;
}
.attention h2 .dash{
	letter-spacing:-.2em;
	width:2em;
	margin-right:.5em;
}
.attention p{
	font-size:16px;
	text-align:justify;
	text-justify:inter-ideograph;
}
@media screen and (min-width:640px) {
.attention{
padding:40px 20px 30px;
}
.attention h2{
font-size:20px;
}	
.attention p{
font-size:20px;
}
}


/*footer.footer*/
.footer__inner{
	background: linear-gradient(90deg, #0071ad, #2e3183);
	padding: 45px;
}
.footer__logo img{
	margin:0 auto;
	width:140px;
	height:auto;
}
.footer__link{
	margin-top:50px;
	text-align:center;
}
.footer__link a{
	color:#fff;
	font-size:14px;
	text-decoration:underline;
	text-align:center;
}
.footer__copy{
	padding:30px;
}
.footer__copy p{
	color:#2e3183;
	font-size:14px;
	text-align:center;
}
@media screen and (max-width:640px) {
.footer__inner{
padding:5.6vw;
}
.footer__logo img{
width:40vw;
height:auto;
}
.footer__link{
margin-top:30px;
}
.footer__link a{
font-size:13px;
}
.footer__copy{
padding:4.2vw;
}
.footer__copy p{
font-size:13px;
}
}




/*●●●●●●以下不要●●●●●●*/
/*
.faq__text--point{
	background:linear-gradient(transparent 70%, #cbf7e2 30%);
	color:#1260BC;
	font-weight:bold;
}
*/

/*section.reasons*/
/*
.reasons{
	background:url("../img/bg02.png") left top repeat-y;
	background-size:100% auto;
}
.reasons h2{
	background:#fff;
}
.reasons figure{
	margin:15px 0;
}
*/
/*acordion*/
/*
.accordion{
	margin:0 20px;
	position:relative;
	z-index:4;
}
.accordion section{
	background:rgb(97,194,152);
	background:linear-gradient(90deg, rgba(97,194,152,1) 0%, rgba(94,185,161,1) 100%);
	border-radius:15px;
	border:solid 3px #3fae88;
	cursor:pointer;
	margin:0 auto;
	width:750px;
}
.accordion__label{
	cursor:pointer;
	margin-top:20px;
	position:relative;
	text-align:center;
}
.accordion__content{
	display:none;
	background-color:#ecf7f3;
	background-image:repeating-linear-gradient(-45deg,#fff, #fff 3px,transparent 0, transparent 6px);
	border-radius:0 0 13px 13px;
}
.accordion__iconWrap{
	position:absolute;
	right:5px;
	top:62%;
	transform:translatey(-50%);
	width:54px;
	height:54px;
}
.icon{
	position:relative;
	display:inline-block;
	width:100%;
	height:100%;
}
.icon:before, .icon:after{
	position:absolute;
	content:"";
	display:block;
	transition:all 0.4s;
	background:#fff;
	left:50%;
	top:50%;
	width:50%;
	height:3px;
	transform:translate(-50%, -50%);
}
.icon:before{
	transform:translate(-50%, -50%) rotate(90deg);
}
.icon.open:before{
	transform:translate(-50%, -50%) rotate(0deg);
}
@media screen and (max-width:640px) {
.accordion__label{
margin-top:10px;
}
}
*/

/*about*/
/*
.about p {
	text-align: left;
  }
  .about__inner {
	  margin: 30px 30px 60px;
  }
  .about__title--h3 {
	  font-weight: bold;
	  text-align: center;
	  font-size: 30px;
	  margin: 40px 0;
	padding-bottom: 10px;
	border-bottom: 1px dashed #ffffff;
  }
.width90{
color: #fff;

}
  .about__title--h3:first-child{
	  margin: 0 0 20px;
  
  }
  .about__title--h3sub {
	  font-weight: bold;
	  text-align: center;
	  font-size: 25px;
	  margin: 0 0 10px;
  }
  .block__text{
	  border: 3px solid #152f50;
	  padding: 20px;
  }
  .about__img {
	  margin-bottom: 30px;
  }
  .block__table table {
	  width: 100%;
	  margin-bottom: 30px;
	  border-collapse:collapse
  }
  .block__table th,
  .block__table td {
	  padding: 20px 0;
  }
  .block__table tr {
	  border-bottom: 1px dashed #ffffff ;
  }
  .block__table tr:last-child {
	  border-bottom: 0;
  }
.map{
	background-image: -moz-linear-gradient( 88deg, rgb(60,60,60) 14%, rgb(3,0,0) 39%, rgb(3,0,0) 64%, rgb(60,60,60) 83%);
	background-image: -webkit-linear-gradient( 88deg, rgb(60,60,60) 14%, rgb(3,0,0) 39%, rgb(3,0,0) 64%, rgb(60,60,60) 83%);
	background-image: -ms-linear-gradient( 88deg, rgb(60,60,60) 14%, rgb(3,0,0) 39%, rgb(3,0,0) 64%, rgb(60,60,60) 83%);
	padding:0 0 10px 0;
}
  .about__map {
	  width: 100%;
	  height: 500px;
	  margin-bottom: 30px;
  }
*/
/*accordion*/
/*
.m__counseling {
	background: #fff;
  }
  .m__counseling .triangle{
	padding-bottom: 60px;
  }
  @media screen and (max-width:767px){
  .m__counseling .counseling__title{
	  padding: 44px 0 35px;
	  font-size: 27px;
	}
	.m__counseling .counseling__title .title__border{
	  border-bottom:solid 5px #f9d200;
	}
	.m__counseling .text {
	  padding: 22px 15px;
	  font-size: 16px;
	  text-align: left;
	}
	.counseling__contents img {
	padding: 0;
  }
	.m__counseling .message {
	  padding: 30px 40px;
	  font-size: 18px;
  }
  }
  
  .m__counseling .accordion {
	width: 700px;
	margin: 0 auto;
  }
  
  .m__counseling .accordion__title.open {
	background: linear-gradient(180deg, transparent 0%, transparent 50%, #0c92db 50%, #0c92db 100%);
  }
  
  .m__counseling .accordion__detail {
	width: 700px;
	margin: 0 auto;
	padding: 30px;
	border: 3px #0c92db solid;
	display: none;
  }
  
  .m__counseling .accordion__detail p {
	  margin-bottom: 1em;
	  text-align: left;
  }
  
  .m__counseling .accordion__detail p.mb2em {
	margin-bottom: 2em;
  }
  
  .m__counseling .detailTtl {
	color: #3fae88;
	font-weight: bold;
	font-size: 22px;
	border-left: 3px #3fae88 solid;
	padding-left: 10px;
	margin-bottom: 10px;
	line-height: 1.2;
  }
  
  .m__counseling .detailImg {
	margin-bottom: 1em;
  }
  
  .m__counseling .detailList {
	color: #3fae88;
	font-size: 18px;
	margin-bottom: 1em;
  }
  
  .m__counseling .detailList li {
	list-style-type:none;
	font-weight: bold;
	position: relative;
	padding-left: 1em;
  }
  
  .m__counseling .detailList li::before {
	content: "・";
	color: #3fae88;
	font-size: 18px;
	font-weight: bold;
	position: absolute;
	left: 0;
	top: 0;
  }
  
  
  @media screen and (max-width:767px){
	.m__counseling .accordion {
	  width: 90%;
	}
	
	.m__counseling .accordion__detail {
	  width: 100%;
	  padding:20px 0;
	}
	
	.m__counseling .accordion__iconWrap {
	  width: 25px;
	  height: 25px;
	  top: 8vw;
	}
	
	.m__counseling .detailTtl {
	  margin-bottom: 20px;
	}  
  }
 */

/*section.btn*/
/*
section.btn{
	padding:30px 0 0;
}
.btn_bef{
	text-align:center;
}
.btn_bef p{
	color:#111;
	display:inline-block;
	font-size:16px;
	font-weight:bold;
	margin:0;
	position:relative;
}
.btn_bef p:before{
	background:url("../img/kakko_left.png") no-repeat;
	background-size:100% 100%;
	content:"";
	width:18px;
	height:18px;
	position:absolute;
	left:-20px;
	top:9px;
}
.btn_bef p:after{
	background:url("../img/kakko_right.png") no-repeat;
	background-size:100% 100%;
	content:"";
	width:18px;
	height:18px;
	position:absolute;
	right:-20px;
	top:9px;
}
.btn_img{
	width:96%;
	margin:15px auto 0;
}
p.btn_aft{
	color:#111;
	font-size:18px;
	font-weight:bold;
	margin:15px 0 0;
	text-align:center;
	line-height: 1.6;
}
.green{
	color: #06c755;
	font-weight: bold;
}
@media screen and (min-width:640px){
section.btn{
padding:50px 0 0;
}
.btn_bef p{
font-size:25px;
}
.btn_bef p:before{
width:25px;
height:25px;
left:-35px;
}
.btn_bef p:after{
width:25px;
height:25px;
right:-35px;
}
.btn_img{
width:90%;
margin:20px auto 0;
}
p.btn_aft{
font-size:25px;
margin:30px 0 0;
}
}
*/
/*
.center{
text-align: center;
font-weight: bold;
}
.mini{
font-size:14px;
}
*/

/*section.now*/
/*
.now{
	background:#c8c8c8;
}
*/
/*section.what*/
/*
.what{
	background:#e1faff;
	padding:50px 0 0;
}
@media screen and (max-width:640px) {
section.what{
padding:30px 0 0;
}
}
*/


