/* 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;
	-webkit-animation:btn 0.8s infinite alternate;
	        animation:btn 0.8s infinite alternate;
}
@-webkit-keyframes btn{
from{transform:scale(0.95);}
to{transform:scale(1.02);}
}
@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;
}
}
