@charset "utf-8";


/*structure
----------------------------------------------------------- */
div#contents{
	margin-bottom:0;
	overflow:hidden;
}
div.inner{
	width:100%;
	position:relative;
	margin:0 auto 120px;
}
div.inner h2.ttl{
	margin-bottom:60px;
	text-align:center;
}
div.inner img{
	display:block;
	margin:0 auto;
}
@media screen and (max-width:720px){
	div.inner h2.ttl{
		margin-bottom:30px;
	}
}
/*line
----------------------------------------------------------- */
div#concept{
	width:100vw;
	position:relative;
	margin-left:calc(-50vw + 50%);
	margin-bottom:120px;
}
a#line {
	width:18vw;
	max-width: 200px;
	position:absolute;
	bottom:-100px;
	right:30px;
	display:block;
}
@media screen and (min-width:1422px){
	a#line {
		right:calc(50vw - 711px + 30px);
	}
}
@media screen and (max-width:1054px){
	a#line {
		bottom:-9vw;
	}
}
@media screen and (max-width:720px){
	div#concept{
		margin-bottom:90px;
	}
}

/*about
----------------------------------------------------------- */
div#about p {
	margin-bottom:30px;
	text-align:center;
}
/*profile
----------------------------------------------------------- */
div#profile p {
	margin-bottom:60px;
}
div#profile span {
	display:block;
	text-align:right;
}

/*eligibility
----------------------------------------------------------- */
div#eligibility p {
	text-align:center;
	line-height:2;
}
div#eligibility img.note {
	position:absolute;
	top:0;
	right:0;
}
@media screen and (max-width:960px){
	div#eligibility img.note {
		position: static;
		margin-top:30px;
	}
}
/*reason
----------------------------------------------------------- */
div#reason p {
	margin-top:30px;
	text-align:center;
}
@media screen and (max-width:760px){
	div#reason{    
		padding-bottom: 0;
		background-image: url(../img/sp_reason1.png),url(../img/sp_reason2.png);
		background-repeat: no-repeat;
		background-position: center top 21vw ,center top 60vw;
		background-size: 80% auto;
	}
	div#reason img:not(.ttl img){
		display:none;
	}
	div#reason h2.ttl{
		margin-bottom: 85vw;
	}	
}
@media screen and (max-width:540px){
	div#reason{    
		background-image: url(../img/sp_reason1.png),url(../img/sp_reason2.png);
		background-repeat: no-repeat;
		background-position: center top 21vw ,center top 67vw;
		background-size: 100% auto;
	}
	div#reason h2.ttl{
		margin-bottom: 100vw;
	}	
}
/*faq
----------------------------------------------------------- */

dl#faq_list dt,
dl#faq_list dd{
	position:relative;
	margin-bottom:15px;
}
dl#faq_list dt{
	margin-top:10px;
	padding-left:55px;
	color:#ef8575;
	text-decoration:underline;
	cursor:pointer;
}
dl#faq_list dd{
	display:none;
	padding-left:110px;
}
dl#faq_list dt:before,
dl#faq_list dd:before{
	width:36px;
	height:36px;
	content:"";
	position:absolute;
	top:0;
	left:0;
	display:block;
	margin-right:15px;
	vertical-align:top;
	background:url(../img/top/q.png) no-repeat center center;
}
dl#faq_list dd:before{
	left:55px;
	background:url(../img/top/a.png) no-repeat center center;
}
/*voice
----------------------------------------------------------- */
div#voice　p{
	margin-top:30px;
	text-align:center;
}
@media screen and (max-width:760px){
	div#voice{
		padding-bottom: 47vw;
		background-image: url(../img/sp_voice1.png),url(../img/sp_voice2.png);
		background-repeat: no-repeat;
		background-position: center top 21vw ,center top 45vw;
		background-size: 90% auto , 45% auto;
	}
	div#voice img:not(.ttl img){
		display:none;
	}
}
@media screen and (max-width:760px){
	div#voice{
		padding-bottom: 51vw;
		background-size: 100% auto , 47.5% auto;
	}
}
/*inquiry
----------------------------------------------------------- */
div#inquiry p.outline{
	margin-bottom:90px;
	text-align:center;
}

dl#form{
	max-width:1024px;
	margin:0 auto 30px;
}
dl#form dt,
dl#form dd{
	width:calc(100% - 640px - 30px - 5em);
	position: relative;
	padding:10px 0;
}
dl#form dt{
	padding-left:5em;
}
dl#form dd{
	width:640px;
}
dl#form dd input[type="text"],
dl#form dd textarea,
dl#form dd select{
	width:calc(100% - 21px);
	border:none;
	border-radius:10px;
	-webkit-border-radius:10px;
	-moz-border-radius:10px;
	-mz-border-radius:10px;
}
dl#form dd select{
	max-width:15em;
}
div#contents dl#form dt::before {
	content:"必須";
	width: 3em;
	position: absolute;
	top: 10px;
	left: 0;
	display: block;
	margin-right: 5px;
	padding: 0 0.5em;
	color: #fff;
	text-align: center;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-ms-border-radius: 5px;
	background-color: #ef8575;
}
div#contents dl dt.option::before {
	content: "任意";
	background-color: #ccc;
}
span.radio label::before {
	border: 2px solid #efeded;
	background-color:#efeded;
}
div#btn_submit{
	margin:0 auto 60px;
	text-aline:center;
}
div#contents .btn{
	max-width:calc(640px - 30px);
	margin:0 auto 10px;
	padding:25px 15px;
	color:#fff;
	font-size:20px;
	font-weight:bold;
	text-align:center;
	border:none;
	border-radius:10px;
	-webkit-border-radius:10px;
	-moz-border-radius:10px;
	-ms-border-radius:10px;
	background-color:#ef8575;
}
div#contents .btn.guide{
	background-color:#9bcb55;
}
div#contents .btn:hover{
	background-color:orange;
}
div#btn_submit p.note{
	padding:0;
	text-align:center;
	text-indent:0;
}
@media screen and (max-width:1054px){
	dl#form dt{
		width: calc(40% - 8em);
		margin-right:3em;
	}
	dl#form dd{
		width:60%;
	}
}
@media screen and (max-width:540px){
	div#inquiry p.outline{
		text-align:left;
	}
	dl#form dt,
	dl#form dd{
		width:100%;
	}
	div#contents .btn{
		font-size:16px;
	}
}

/*contact
----------------------------------------------------------- */
div#contact{
	width: 100vw;
	height:107px;
	position:relative;
	margin:0 auto 0 calc(-50vw + 640px);
	letter-spacing:-0.4em;
	z-index:50;
}
div#contact div.inner{
	max-width: 1024px;
	position:fixed;
	bottom:0;
	margin-bottom:0;
	padding:15px calc(50vw - 512px) 5px;
	background-color:rgba(255,255,255,0.8);
	transition:all 0.3s linear;
}
div#contact.release{
	position:relative;
}
div#contact.release div.inner{
	position:relative;
}
@media screen and (max-width:1424px){
	div#contact{
		margin: 0 auto;
	}
	div#contact div.inner{
		left:0;
	}
	div#contact.release{
		margin: 0 auto 0 -5.55%;
	}
}
div#contact h2.ttl,
div#contact strong,
div#contact a.btn{
	display:inline-block;
	margin:0 30px 0 0;
	vertical-align:top;
	letter-spacing:normal;
}

div#contact h2.ttl{
	width:220px;
	padding:10px 0;
	font-size:24px;
	font-weight:bold;
	letter-spacing:0.1em;
	text-align:center;
	border-top:5px #ef8575 solid;
	border-bottom:5px #ef8575 solid;
}
div#contact strong{
	width:400px;
	margin-top:5px;
	line-height:0.5;
}
div#contact strong a{
	color:#ef8575;
	font-size:42px;
	font-weight:bold;
}
div#contact a.btn{
	width:calc(1024px - 220px - 400px - 60px);
	margin-top:5px;
	margin-right:0;
	padding:15px 0;
	border-radius:calc(1.2em + 15px);
}
@media screen and (max-width:1084px){
	div#contact div.inner {
		padding: 15px 30px 5px;
	}
	div#contact h2.ttl{
		width:calc(35.5vw - 120px);
		padding:0.55vw 0;
	}
	div#contact strong{
		width:39.5vw;
	}
	div#contact strong a{
		font-size:4.1vw;
	}
	div#contact a.btn{
		width:25vw;
		padding:1.5vw 0;
	}
}
@media screen and (max-width:860px){
	div#contact h2.ttl{
		font-size:20px;
	}
	div#contact a.btn{
		margin-top:0;
	}
}
@media screen and (max-width:720px){
	div#contact h2.ttl{
		font-size:18px;
	}
	div#contact a.btn{
		font-size:18px;
	}
}
@media screen and (max-width:680px){
	div#footer{
		margin-bottom:80px;
	}
	div#contact,
	div#contact.release{
		height:60px;
		position:fixed;
		bottom:0;
		left:0;
		margin: 0 auto;
		padding-bottom:20px;
		background-color:#ee8575;
	}
	div#contact div.inner{
		width:400px;
		position:static;
		margin:0 auto;
		background-color:transparent;
	}
	div#contact.release div.inner{
		position:static;
	}
	div#contact h2.ttl{
		width:240px;
		height:50px;
		border-top: none;
		border-bottom: none;
		background:url(../img/sp_logo.png) no-repeat left center / 200px auto;
	}
	div#contact h2.ttl span{
		display:none;
	}
	div#contact strong{
		width:50px;
		margin-top:0;
		padding:0;
	}
	div#contact strong span{
		display:none;
	} 
	div#contact strong a{
		width:50px;
		height:50px;
		display:block;
		padding:0;
		background:url(../img/sp_phone.png) no-repeat center center / 100% auto;
	}
	div#contact a.btn{
		width:50px;
		height:50px;
		padding:0;
		border-radius:0;
		background:url(../img/sp_mail.png) no-repeat center center / 100% auto;
	}
	div#contact a.btn:hover{
		background-color:#ee8575;
	}
	div#contact a.btn span{
		display:none;
	}
}
@media screen and (max-width:460px){
	div#footer{
		margin-bottom:65px;
	}
	div#contact,
	div#contact.release{
		height:50px;
	}
	div#contact div.inner{
		width:calc(100vw - 30px);
		padding: 10px 15px 5px;
	}
	div#contact h2.ttl, div#contact strong{
		margin-right: 15px;
	}
	div#contact h2.ttl{
		width:200px;
	}
	div#contact strong a{
		width:50px;
	}
	div#contact a.btn{
		width:50px;
		margin-right:0!important;
	}
}
@media screen and (max-width:420px){
	div#contact div.inner{
		width:330px;
		padding: 10px 5px 5px;
	}
	div#contact h2.ttl, div#contact strong {
		margin-right: 15px;
	}
	div#contact h2.ttl{
		width:200px;
	}
	div#contact strong a{
		width:50px;
	}
	div#contact a.btn{
		width:50px;
	}
}
@media screen and (max-width:370px){
	div#contact div.inner{
		width:270px;
		padding: 10px 0 5px;
	}
	div#contact h2.ttl, div#contact strong{
		margin-right: 5px;
	}
	div#contact h2.ttl{
		width:160px;
		background-size:100% auto;
	}
}