@charset "UTF-8";

/*-------------------------------------------------------------------------------common-------------------------------------------------------------------------------*/
/*-------------------------title*/
.title{
	font-size:40px;
	line-height:1.5;
	font-weight:bold;
	letter-spacing:2px;
	margin-bottom:20px;
	text-align:center;
}
.title span{
	display:block;
	font-size:20px;
}
@media screen and (max-width: 739px) {
	.contents > section{padding:15px 0;}
	.title{font-size:20px;padding:10px 0;margin:0;}
	.title span{font-size:14px;}
}
/*-------------------------localnav*/
.navtop{
	padding-top:60px;
}
.localnav{
	background:#000;
	position:absolute;
	top:0;
	width:100%;
}
.localnav li{
	float:left;
	letter-spacing:1px;
}
.localnav a{
	display:block;
	line-height:60px;
	padding:0 30px;
	color:#FFF;
	font-weight:normal;
	white-space:nowrap;
}
.localnav a:hover{
	background:rgba(255,255,255,0.5);
}
.localnav a.current{
	background:rgba(255,255,255,0.3);
}
@media screen and (max-width: 739px) {
	.navtop{padding-top:0;}
	.localnav{padding:15px;position:static;width:auto;}
	.localnav h2{font-size:14px;font-weight:bold;color:#FFF;}
	.localnav li{float:none;border:1px solid #666;margin-top:-1px;text-align:left;}
	.localnav a{line-height:50px;padding:0 15px;}
}
/*-------------------------path*/
#path{
	height:80px;
}
#path p{
	padding:10px 20px;
	font-size:12px;
	line-height:20px;
	letter-spacing:1px;
	color:#666666;
	text-align:right;
}
#path p a:hover{
	text-decoration:underline;
}
#path p strong{
	font-weight:normal;
}
@media screen and (max-width: 739px) {
	#path{display:none;}
}





/*-------------------------------------------------------------------------------item-------------------------------------------------------------------------------*/

/*article
-----------------------------------------------------------------------------------------*/
article{
	text-align:left;
}
article a{
	text-decoration:underline;
}
article a:hover{
	text-decoration:none;
}
article h1{
	border-top:1px solid #797979;
	border-bottom:1px solid #797979;
	margin:0;
	font-size:36px;
	line-height:1.5;
	padding:30px 0;
}
article .data{
	font-size:14px;
	line-height:22px;
	margin:15px 0 30px 0;
	text-align:right;
}
article img{
	display:block;
	margin:30px auto;
}
article h2{
	font-size:24px;
	line-height:1.5;
	margin-top:80px;
	border-left:8px solid #000;
	padding:2px 0 2px 10px;
}
article h3{
	font-size:18px;
	line-height:1.5;
	margin:80px 0 20px 0;
	color:#0071BC;
	font-weight:bold;
}
article p{
	margin-top:30px;
}
article ol,
article ul{
	margin:30px 0;
}
article li{
	line-height:28px;¡
}
article ol li,
article ul li{
	margin:8px 0 8px 25px;
	list-style-type:decimal;
}
article ul li{
	list-style-type:disc;
}
article table{
	width:100%;
}
article th{
	border:1px solid #666;
	border-right:none;
	background:#F1F1F1;
	padding:10px 15px;
	text-align:center;
	width:25%;
}
article td{
	border:1px solid #666;
	border-left:none;
	padding:10px 15px;
	text-align:left;
}
@media screen and (max-width: 739px) {
	article h1{margin:0;font-size:20px;padding:10px 0;}
	article .data{margin:5px 0 15px 0;}
	article img{margin:15px auto;}
	article h2{font-size:18px;margin-top:40px;font-weight:bold;}
	article h3{margin:30px 0 10px 0;}
	article th{padding:10px 5px;}
	article td{padding:10px 5px;}
}
/*-------------------------btn*/
article .btn{
	text-align:center;
	margin-top:20px;
}
article .btn a{
	display:inline-block;
	background:#FBB03B url(images/btn.png) right no-repeat;
	font-size:24px;
	padding:25px 50px 25px 25px;
	border-radius:10px;
	text-decoration:none;
	color:#000;
	font-weight:bold;
	border-bottom:5px solid #BC842C;
}
article .btn a:hover{
	border:none;
	margin-top:5px;
}
@media screen and (max-width: 739px) {
	article .btn a{display:inline-block;background-size:25px;font-size:18px;padding:15px 30px 15px 15px;}
}


/*entrybanner
-----------------------------------------------------------------------------------------*/
.entrybanner{
	margin-bottom:80px;
	padding:0;
}
.entrybanner img{
	border:1px solid #E6E6E6;
}
@media screen and (max-width: 739px) {
	.entrybanner{margin-bottom:30px;}
}

/*message
-----------------------------------------------------------------------------------------*/
#message{
	width:64%;
	float:left;
	padding-bottom:80px;
}
@media screen and (max-width: 739px) {
	#message{width:auto;float:none;padding:0 20px 30px 20px;}
}
/*profile
-----------------------------------------------------------------------------------------*/
#profile{
	width:30%;
	float:right;
	text-align:left;
	padding:20px;
	background:#000;
	color:#FFF;
}
#profile figure{
	margin:-19px -19px 0 -19px;
}
#profile .name{
	font-size:36px;
	line-height:1.5;
	margin:20px 0;
}
#profile .name span{
	font-size:14px;
	display:block;
	letter-spacing:2px;
}
#profile .copy{
	padding:8px 0;
	border-top:1px solid #666;
}
#profile em{
	color:#FAEB21;
	font-weight:normal;
}
#profile dt{
	float:left;
	width:80px;
	padding:8px 0;
	font-size:14px;
}
#profile dd{
	border-top:1px solid #666;
	padding:8px 0 8px 80px;
}
#profile dd span{
	display:block;
}
@media screen and (max-width: 739px) {
	#profile{width:auto;float:none;margin:0 0 40px 0;}
	#profile figure{margin:0 auto;width:200px;height:200px;overflow:hidden;border-radius:100px;}
	#profile .name{font-size:20px;text-align:center;}
	#profile .name span{font-size:12px;}
	#profile .accordionopen::after{content:"詳しいプロフィールを見る";display:block;margin:10px auto 0 auto;background:#666;width:200px;font-size:14px;text-align:center;border-radius:15px;}
	#profile .accordionopen.open::after,
	#profile .accordion{display:none;}
}




/*-------------------------------------------------------------------------------list-------------------------------------------------------------------------------*/
/*-------------------------pager*/
.pager{
	position:relative;
	overflow:hidden;
	margin-top:-80px;
	padding-bottom:50px;
	text-align:center;
}
.pager ul{
	position:relative;
	left:50%;
	float:left;
}
.pager li{
	position:relative;
	left:-50%;
	float:left;
}
.pager li a,
.pager li span{
	display:block;
	color:#4D4D4D;
	background:#F1F1F1;
	width:40px;
	line-height:40px;
	text-align:center;
	margin:2px;
	text-decoration:none;
}
.pager li span{
	color:#FFF;
	background:#4877ab;
}
.pager li span.dots{
	background:none;
	color:#4D4D4D;
	width:auto;
	padding:0;
}
.pager li a:hover{
	background-color:#CCCCCC;
}
@media screen and (max-width: 739px) {
	.pager{padding:20px 0;margin:0;}
}

/*blog
-----------------------------------------------------------------------------------------*/
#blog .frame .bloglist{
	padding-bottom:80px;
}
@media screen and (max-width: 739px) {
	#blog .frame .bloglist{padding-bottom:0;}
}

/*supporter
-----------------------------------------------------------------------------------------*/
/*-------------------------sprtlist*/
.sprtlist{
	padding-bottom:80px;
}
.sprtlist li{
	float:left;
	width:calc(100%/2);
	padding:10px;
	position:relative;
}
.sprtlist li > a{
	display:block;
	padding:10px;
	color:#000;
	background:#F0F0F0;
	height:200px;
	text-align:left;
}
.sprtlist li a:hover{
	background:#CCC;
}
.sprtlist li figure{
	width:180px;
	height:180px;
	border-radius:100px;
	overflow:hidden;
	float:left;
}
.sprtlist li p{
	margin-left:200px;
}	
.sprtlist li .name{
	font-size:24px;
	font-weight:bold;
	padding-top:25px;
}
.sprtlist li .name span{
	font-size:14px;
}
.sprtlist li .toku{
	margin-top:10px;
}
.sprtlist li .toku span + span::before{
	content:"、";
}
.sprtlist li .hensyu a{
	position:absolute;
	left:10px;
	top:10px;
	display:inline-block;
	padding:0 10px;
	background:red;
	color:#FFF;
}
.sprtlist li .hensyu a:hover{
	background:#990000;
}
.sprtlist li.listnone{
	width:auto;
	float:none;
}
@media screen and (max-width: 1200px) {
	.sprtlist li figure{width:150px;height:150px;}
	.sprtlist li p{margin-left:160px;font-size:15px;line-height:25px;}
	.sprtlist li > a{height:170px;}
}
@media screen and (max-width: 739px) {
	.sprtlist{padding-bottom:20px;}
	.sprtlist li{float:none;width:100%;padding:5px 0;}
	.sprtlist li a{height:auto;min-height:100px;}
	.sprtlist li a:hover{background:#CCC;}
	.sprtlist li figure{width:80px;height:80px;}
	.sprtlist li .name{font-size:18px;padding:0;}
	.sprtlist li .name span{font-size:12px;}
	.sprtlist li p{margin-left:90px;font-size:12px;line-height:20px;}
	.sprtlist li .toku{margin:0 -5px 0 90px;}
	.sprtlist li .hensyu{display:none;}
}

/*faq
-----------------------------------------------------------------------------------------*/
#faq{
	background:#337FC5;
}
#faq h2,
#faq #path p,
#faq #path a{
	color:#FFF;
}
/*-------------------------faqlist*/
.faqlist{
	padding-bottom:80px;
}
.faqlist section{
	text-align:left;
	margin:12px 1%;
	background:#FFF;
	border-radius:10px;
	overflow:hidden;
}
.faqlist h3,
.faqlist .accordion{
	text-align:justify;
	text-justify:distribute;
	position:relative;
	padding:20px;
}
.faqlist .accordion{
	display:none;
	border-top:2px dotted rgba(0,0,0,0.1);
}
.faqlist h3::before,
.faqlist .accordion::before{
	content:"Q";
	float:left;
	font-size:200%;
	font-weight:bold;
	margin-top:-5px;
	margin-right:8px;
}
.faqlist .accordion::before{
	content:"A";
}
.faqlist h3::after{
	content:"";
	display:block;
	width:15px;
	height:15px;
	border-top:3px solid rgba(0,0,0,0.2);
	border-left:3px solid rgba(0,0,0,0.2);
	transform:rotate(-135deg); 
	position:absolute;
	right:15px;
	bottom:15px;
}
.faqlist h3:hover{
	background:#FFFFCC;
}
.faqlist h3.open::after{
	transform:rotate(45deg); 
	bottom:5px;
}
@media screen and (max-width: 739px) {
	.faqlist{padding:0 10px;margin-top:-10px;}
	.faqlist section{width:100%;float:none;margin:10px 0;}
}

/*case
-----------------------------------------------------------------------------------------*/
/*-------------------------caselist*/
.caselist{
	padding-bottom:80px;
}
.caselist li{
	float:left;
	width:25%;
	padding:20px 10px;
	text-align:left;
	line-height:1.5;
}
.caselist li > a{
	display:block;
	padding:10px;
	color:#000;
}
.caselist li > a:hover{
	background:rgba(0,0,0,0.1);
}
.caselist strong{
	display:block;
	font-size:20px;
	margin-top:10px;
}
.caselist .copy{
	display:block;
	line-height:1.7;
	margin:5px 0;
}
.caselist .cat{
	display:inline-block;
	font-size:14px;
	line-height:20px;
	background:#000;
	color:#FFF;
	padding:0 10px;
}
@media screen and (max-width: 739px) {
	.caselist{padding:0 10px;}
	.caselist li{float:none;width:auto;padding:0;border-top:1px solid #CCC;}
	.caselist li > a{padding:10px 0 10px 156px;min-height:110px;}
	.caselist figure{width:146px;height:90px;float:left;margin-left:-156px;overflow:hidden;}
	.caselist strong{font-size:14px;line-height:20px;margin:0;}
	.caselist .copy{font-size:12px;line-height:20px;min-height:40px;margin:0;}
	.caselist .cat{font-size:12px;line-height:15px;}
}

/*topics
-----------------------------------------------------------------------------------------*/
/*-------------------------topicslist*/
.topicslist{
	padding-bottom:80px;
}
.topicslist li{
	padding-left:120px;
	margin:15px 0;
	text-align:left;
}
.topicslist time{
	float:left;
	margin-left:-120px;
	color:#969696;
}
.topicslist li a{
	color:#000;
	text-decoration:underline;
}
.topicslist li a:hover{
	text-decoration:none;
}
@media screen and (max-width: 739px) {
	#topics .frame{padding:0 10px;}
	#topics h2.title{position:static;text-align:center;}
	#topics .more{position:static;}
	.topicslist li{padding:10px;margin:10px 0;border-top:1px dashed #CCC;}
	.topicslist time{float:none;margin:0;display:block;font-size:12px;}
}

/*post
-----------------------------------------------------------------------------------------*/
#post{
	max-width:1020px;
	margin:0 auto 80px;
	text-align:left;
}
#post h3{
	font-size:24px;
	line-height:1.5;
	margin:60px 0 15px 0;
	color:#0071BC;
	font-weight:bold;
}
#post h4{
	font-size:18px;
	line-height:1.5;
	margin:60px 0 15px 0;
	font-weight:bold;
}
#post table{
	width:100%;
	margin-top:15px;
}
#post th{
	border:1px solid #666;
	border-right:none;
	background:#F1F1F1;
	padding:10px 15px;
	text-align:left;
	width:25%;
}
#post td{
	border:1px solid #666;
	border-left:none;
	padding:10px 15px;
	text-align:left;
}
@media screen and (max-width: 739px) {
	#post{margin:15px;text-align:left;}
	#post h3{margin:20px 0 10px 0;font-size:20px;}
	#post h4{margin:20px 0 10px 0;}
	#post th{padding:10px 5px;}
	#post td{padding:10px 5px;}
}

/*sitemap
-----------------------------------------------------------------------------------------*/
#sitemap{
	max-width:1020px;
	margin:0 auto 80px;
	text-align:left;
}
#sitemap ul + ul{
	margin-top:20px;
}
#sitemap li{
	float:left;
	width:33.3%;
	padding:3px;
}
#sitemap li a{
	display:block;
	background:#F1F1F1 url(images/more.png) left 7px center no-repeat;
	background-size:20px;
	color:#000;
	text-decoration:none;
	padding:5px;
	padding-left:30px;
}
#sitemap li a:hover{
	background-color:#CCC;
}
#sitemap li:first-child{
	float:none;
	width:auto;
}
#sitemap li:first-child a{
	background:#4977ac url(images/ya_w.png) right no-repeat;
	padding-left:15px;
	color:#FFF;
}
#sitemap li:first-child a:hover{
	background-color:#003366;
}
@media screen and (max-width: 739px) {
	#sitemap{margin:15px;text-align:left;}
	#sitemap nav{width:auto;padding:15px;}
	#sitemap li{float:none;width:auto;padding:1px;}
}
