@charset "utf-8";

/*common
----------------------------------------------------------------------------------*/
div.inner{
	margin:0 auto 90px;
	position:relative;
}
div#contents div.inner h2.ttl{
	margin-bottom:30px;
	background-color:#5fbeb4;
}
div#contents div.inner h2.sttl{
	margin-bottom:15px;
	color:#464646;
	border-left:5px #5fbeb4 solid;
}
div#contents div.inner h3.sttl{
	margin-bottom:15px;
	font-size:20px;
	font-weight:bold;
}
div#contents div.inner h3.sttl::before{
	content:"●";
	color:#ffbc76;
}
div#contents div.inner ul li{
	padding-left:1em;
	text-indent:-1em;
}
div#contents div.inner ul li::before{
	content:"●";
	color:#added8;
}
.family_support div#contents a.btn {
	width:100%;
	max-width:280px;
	display:inline-block;
	margin:0;
	color:#fff;
	vertical-align:top;
	border:1px #1968b7 solid;
	background-color:#1968b7;
}
.family_support div#contents a.btn:hover {
	border:1px orange solid;
	background-color:orange;
}

/*outline
----------------------------------------------------------------------------------*/
#index div#outline img{
	width:100%;
	max-width:860px!important;
	display:block;
	margin:0 auto;
}

/*index_card,card_guide,app_guide_card
----------------------------------------------------------------------------------*/
#index div#card{
	overflow:hidden;
}
#index div#card_guide{}

#index div#card_guide h2.ttl:before,
#app_guide div#benefit h2.ttl:before{
	width:280px;
	content:"";
	position:absolute;
	bottom: -35px;
	right:0;
	display:block;
	background-repeat:no-repeat;
	background-position:center top;
	background-size:100% auto;
}
#index div#card_guide h2.ttl:before{
	padding-top:calc(280px /387*559 + 10px);
	background-image:url(../../family_support/img/user_guide.webp);
}
#index div#card_guide ul{
	width:calc(100% - 280px - 30px);
}

#index div#card div.card,
#app_guide div#benefit div.card{
	width:360px;
	margin-left:30px;
	margin-bottom:30px;
	float: right;
}
#index div#card div.card a img,
#app_guide div#benefit div.card a img{
	display:block;
	margin:0 auto 5px;
}
#index div#card div.card p,
#app_guide div#benefit div.card p{
	font-size:14px;
	text-align:right;
	line-height:1.4;
}
@media screen and (max-width:1054px){
	#index div#card div.card,
	#app_guide div#benefit div.card{
		width:280px;
	}
}
@media screen and (max-width:660px){
	#index div#card div.card,
	#app_guide div#benefit div.card{
		width:100%;
		margin-left:auto;
		margin-right:auto;
		margin-bottom:30px;
		float: none;
		text-align:center;
	}
	#index div#card div.card a,
	#app_guide div#benefit div.card a{
		pointer-events: none;
	}
	#index div#card div.card p,
	#app_guide div#benefit div.card p{
		display:none;
	}
}

/*index_poster
----------------------------------------------------------------------------------*/
#index div#poster ul{
	margin-bottom:30px;
}


/*app_guide benefit
----------------------------------------------------------------------------------*/
#app_guide div#benefit ul{
	margin-bottom:30px;
}
#app_guide div#benefit ul li:before{
	content:"★";
	color:#ff6400;
}
/*app_guide apply
----------------------------------------------------------------------------------*/
#app_guide div#apply ul{
	margin-bottom:15px;
}
#app_guide div#apply ul + p + ul.btn{
	margin-top:30px;
	margin-bottom:0;
}
#app_guide div#apply ul.btn li{
	width:280px;
	margin-right:30px;
	padding-left:0;
	text-align:center;
	text-indent:0;
}
#app_guide div#apply ul.btn li:before{
	display:none;
}
#app_guide div#apply ul.btn li a{
	margin-bottom:5px;
}
#app_guide div#apply ul.btn li p{
	text-align:center;
}



/* faq
----------------------------------------------------------------------------------*/
div#faq dl.faq{
	margin-top:-60px;
	margin-bottom:60px;
}
div#faq dl.faq dt,
div#faq dl.faq dd{
	width:100%;
	position:relative;
	padding-left:60px;
}
div#faq dl.faq dt{
	margin-top:30px;
	padding-top:30px;
	color:#007d96;
	font-size:20px;
	text-decoration:underline;
	border-top:1px #ccc solid;
}
div#faq dl.faq dt:nth-child(1){
	border:none;
}
div#faq dl.faq dt:hover{
	color:orange;
	text-decoration:none;
	cursor:pointer;
}
div#faq dl.faq dd{
	display:none;
	margin-top:15px;
	padding-left:calc(60px + 60px);
}
div#faq dl.faq dt:before,
div#faq dl.faq dd:before{
	width:40px;
	height:60px;
	content:"";
	position:absolute;
	top:30px;
	left:0;
	display:block;
	background-image:url(../../family_support/img/q.png);
	background-repeat:no-repeat;
	background-position:center center;
	background-size:100% auto;
}
div#faq dl.faq dd:before{
	top:0;
	left:60px;
	background-image:url(../../family_support/img/a.png);
}
div#faq dl.faq dd h3.ttl{
	margin-bottom:5px;
	padding:5px 0 5px 15px;
	color:#50321e;
	font-weight:bold;
	border-left:10px #50321e solid;
	border-bottom:1px #ccc solid;
}
div#faq dl.faq dd strong{
	font-weight:bold;
}

@media only screen and (max-width: 960px) {
	div#faq {
		width: 95%;
		margin: 0 auto;
	}
}
@media only screen and (max-width: 510px) {
	div#faq dl.faq{
		margin-top:-45px;
		margin-bottom:45px;
	}
	div#faq dl.faq dt{
		margin-top:15px;
		padding-top:15px;
		font-size:16px;
	}
	div#faq dl.faq dd{
		padding-left:60px;
	}
	div#faq dl.faq dt:before,
	div#faq dl.faq dd:before{
		top:15px;
		left:0;
	}
}

/* pass
----------------------------------------------------------------------------------*/
#pass div.inner{}
#pass div#overview img{
	width:100%;
	max-width:800px!important;
	display:block;
	margin:0 auto 30px;
}
#pass div#service h2.ttl + p{
	width:300px;
	max-width:30%;
	float:right;
	margin-left:30px;
	margin-bottom:15px;
}
#pass div#service h2.sttl{
	margin-top:60px;
}
#pass div#procedure img{
	display:block;
	margin:0 auto;
}

/* app_form
----------------------------------------------------------------------------------*/
#app_form.form div#contents h2#pttl + p.outline {
	background-image: url(../../family_support/sponsorship/img/flow1.png);
}
#app_form.form.confirm div#contents h2#pttl + p.outline {
	background-image: url(../../family_support/sponsorship/img/flow2.png);
}
#app_form.form.thanks div#contents h2#pttl + p.outline {
	background-image: url(../../family_support/sponsorship/img/flow3.png);
}
#app_form p.thanks{
	color:red;
	font-size:20px;
	font-weight:bold;
	text-align:center;
}
@media screen and (max-width:660px){
	#app_form.form div#contents h2#pttl + p.outline {
		padding-bottom:calc(12.438% + 15px);
		background-image: url(../../family_support/sponsorship/img/flow1sp.png);
	}
	#app_form.form.confirm div#contents h2#pttl + p.outline{
		background-image:url(../../family_support/sponsorship/img/flow2sp.png);
	}
	#app_form.form.thanks div#contents h2#pttl + p.outline{
		background-image:url(../../family_support/sponsorship/img/flow3sp.png);
	}
}
@media screen and (max-width:510px){
	#app_form p.thanks br{
		display:none;
	}
}