@charset "UTF-8";



/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
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{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}
body{line-height:1}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
nav ul{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:none}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}
ins{background-color:#ff9;color:#000;text-decoration:none}
mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold}
del{text-decoration:line-through}
abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}
table{border-collapse:collapse;border-spacing:0}
hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}
input,select{vertical-align:middle}

/* --------------------------------------------------------------------------------------------- base */
body{
	font-family: 'メイリオ','Meiryo','Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3','Osaka','ＭＳ Ｐゴシック',Arial,sans-serif;
	-webkit-text-size-adjust: 100%;
}
ul li{
	list-style: none;
}
img{
	width: 100%;
}

/* --------------------------------------------------------------------------------------------- module */
.clearfix:after{
	content:".";
	display:block;
	height:0px;
	clear:both;
	visibility:hidden;
	font-size: 0.1em;
}
.clearfix{
	display:block;
}
.sp{	display: none;	}
@media screen and (max-width:640px){
	.pc{	display: none;	}
	.sp{	display: block;	}
}

/* --------------------------------------------------------------------------------------------- main */
#main{
	padding: 165px 0 0;
	height: 490px;
}
#main .logo{
	position: relative;
	margin: 0 auto;
	width: 200px;
}
#main .logo .box{
	position: relative;
	width: 200px;
	height: 200px;
	overflow: hidden;
}
#main .logo .box p{
	background: url(../images/main_logo_center.png) no-repeat center center;
	background-size: 200px 200px;
	position: absolute;
	left: 50%;
	top: 50%;
	width: 0;
	height: 0;
	text-indent: -9999px;
}
#main .logo .box span{
	background-color: #000000;
	display: block;
	position: absolute;
	text-indent: -9999px;
	font-size: 1px;
}
#main .logo .box span.top,
#main .logo .box span.bottom{
	width: 100%;
	height: 1.5%;
}
#main .logo .box span.right,
#main .logo .box span.left{
	width: 1.5%;
	height: 100%;
}
#main .logo .box span.top{
	left: 100%;
	top: 0;
}
#main .logo .box span.right{
	right: 0;
	top: 100%;
}
#main .logo .box span.bottom{
	left: -100%;
	bottom: 0;
}
#main .logo .box span.left{
	left: 0;
	top: -100%;
}
#main .logo ul{
	margin: 40px 0 0;
}
#main .logo ul li{
	float: left;
	width: 9.6%;
	opacity: 0;
}
#main .logo ul li + li{
	margin: 0 0 0 13%;
}
#main a.enter{
	background: url(../images/main_enter_bg.png) no-repeat center bottom;
	display: block;
	margin: 70px auto 0;
	padding: 0 0 30px;
	width: 200px;
	text-align: center;
	text-decoration: none;
	font-size: 18px;
	opacity: 0;
}
#main a.enter span{
	border: 1px solid #222222;
	display: block;
	padding: 15px;
	color: #222222;
}
#main a.enter:hover span{
	background-color: rgba(255, 255, 255, 0.2);
}
@media screen and (max-width:640px){
	#main{
		padding: 100px 0 0;
		height: 468px;
	}
	#main .logo ul{
		margin: 25px 0 0;
	}
	#main a.enter{
		margin: 95px auto 0;
		width: 80%;
		font-size: 20px;
	}
}

/* --------------------------------------------------------------------------------------------- header */
header{
	display: block;
	box-sizing: border-box;
	background-color: #222222;
	position: absolute;
	left: 0;
	top: 655px;
	padding: 0 20px;
	width: 100%;
	height: 65px;
	z-index: 100;
}
header.clearfix{
	display: none;
}
header a{
	color: #ffffff;
	text-decoration: none;
}
header .logo{
	float: left;
	padding: 12px 0 0;
	width: 187px;
}
header .menu{
	float: right;
	padding: 18px 0 0;
	font-size: 12px;
}
header .menu ul{
	float: left;
	padding: 10px 40px 0 0;
}
header .menu ul li{
	float: left;
	padding: 0 10px;
}
header .menu ul li + li{
	border-left: 1px solid #424242;
}
header .menu ul li a:hover{
	text-decoration: underline;
}
header .menu p{
	float: left;
}
header .menu p.friendlink{
	width: 150px;
	text-align: center;
}
header .menu p.friendlink a{
	background-color: #6a932b;
	display: block;
	padding: 10px;
	border-radius: 2px;
}
header .menu p.friendlink a:hover{
	background-color: #7aaa2f;
}
header .menu p.close{
	display: none;
}
header .menu_open{
	display: none;
}
@media screen and (max-width:640px){
	header{
		top: 570px;
		padding: 0;
		height: 45px;
	}
	header .logo{
		padding: 7px 0 0 10px;
		width: 141px;
	}
	header .menu{
		display: none;
		position: absolute;
		left: 0;
		top: 45px;
		background-color: rgba(34, 34, 34, 0.95);
		float: none;
		width: 100%;
		padding: 0;
		text-align: center;
		z-index: 100;
	}
	header .menu ul{
		float: none;
		padding: 0;
	}
	header .menu ul li{
		float: none;
		border-top: 1px solid #3c3c3c;
		padding: 0;
	}
	header .menu ul li + li{
		border-left: none;
	}
	header .menu ul li a{
		display: block;
		padding: 15px;
	}
	header .menu p{
		border-top: 1px solid #3c3c3c;
		float: none;
	}
	header .menu p.friendlink{
		width: auto;
		padding: 7px;
	}
	header .menu p.close{
		display: block;
		line-height: 2;
	}
	header .menu p.close a{
		display: block;
		padding: 20px;
	}
	header .menu p.close a span{
		background: url(../images/close.png) no-repeat 0 center;
		background-size: 12px 12px;
		display: inline-block;
		padding: 0 0 0 25px;
	}
	header .menu_open{
		float: right;
		display: block;
		padding: 15px 13px;
		width: 19px;
	}
	header .menu_open a{
		display: block;
	}
}

/* --------------------------------------------------------------------------------------------- contents */
#contents{
	display: none;
	padding: 70px 0 0;
}
@media screen and (max-width:640px){
	#contents{
		padding: 50px 0 0;
	}
}

/* ----------------------------------------------------------------------------------- list */
#contents .list-wrap{
	padding: 25px 0 50px;
}
#contents .list-wrap:nth-child(even){
	background-color: #f0f2f3;
}
#contents .list{
	margin: 0 auto;
	padding: 25px 0 0;
	max-width: 940px;
}
#contents .list h2{
	margin: 0 0 40px;
	text-align: center;
	color: #6a932b;
	font-weight: normal;
	line-height: 2;
}
#contents .list h2 span{
	display: inline-block;
	background: url(../images/sep.png) no-repeat 0 center;
	margin: 0 0 0 13px;
	padding: 0 0 0 25px;
	color: #222222;
}
#contents .list li{
	float: left;
	margin: 0 2.1% 25px 0;
	width: 23.4%;
}
#contents .list li:nth-child(4n){
	margin: 0 0 25px;
}
#contents .list li a{
	display: block;
	color: #222222;
	text-decoration: none;
	font-size: 12px;
}
#contents .list li a span{
	display: block;
	padding: 7px 0;
}
@media screen and (max-width:640px){
	#contents .list-wrap{
		padding: 20px 0;
	}
	#contents .list{
		padding: 0;
	}
	#contents .list h2{
		margin: 0 0 23px;
	}
	#contents .list h2 span{
		margin: 0 0 0 10px;
		padding: 0 0 0 20px;
	}
	#contents .list ul{
		padding: 0 10px;
	}
	#contents .list li{
		margin: 0 0 20px;
		width: 48%;
	}
	#contents .list li:nth-child(4n){
		margin: 0 0 20px;
	}
	#contents .list li:nth-child(even){
		float: right;
	}
	#contents .list li a{
		font-size: 14px;
	}
	#contents .list li a span{
		padding: 5px 0;
	}
}

/* ----------------------------------------------------------------------------------- contact */
#contents .contact{
	background: url(../images/contact_bg.png) repeat center 0;
	color: #ffffff;
}
#contents .contact a{
	color: #ffffff;
}
#contents .contact .inner{
	display: table;
	margin: 0 auto;
	max-width: 980px;
}
#contents .contact p.img,
#contents .contact .inner > div{
	box-sizing: border-box;
	display: table-cell;
}
#contents .contact .inner > div{
	padding: 25px 20px 25px 30px;
	vertical-align: top;
	width: 245px;
}
#contents .contact h3,
#contents .contact p.txt{
	line-height: 1.6;
	font-weight: normal;
}
#contents .contact p.img{
	vertical-align: middle;
}
#contents .contact p.txt{
	margin: 15px 0 0;
	font-size: 14px;
	color: #cccccc;
}
@media screen and (max-width:640px){
	#contents .contact .sp{
		display: inline;
	}
	#contents .contact .inner{
		display: block;
		overflow: hidden;
	}
	#contents .contact p.img,
	#contents .contact .inner > div{
		float: left;
		display: block;
		width: 50%;
		height: 200%;
	}
	#contents .contact .inner > div{
		position: relative;
		padding: 50% 0 0;
		width: 50%;
		height: 0;
	}
	#contents .contact h3,
	#contents .contact p.txt{
		position: absolute;
		left: 9%;
		padding: 0 10px 0 0;
		line-height: 1.6;
		font-weight: normal;
	}
	#contents .contact h3{
		top: 13%;
		font-size: 12px;
	}
	#contents .contact p.txt{
		top: 25%;
		font-size: 10px;
	}
	#contents .contact .inner > div + p.img{
		float: right;
	}
}

/* ----------------------------------------------------------------------------------- profile */
#contents .profile{
	margin: 0 auto;
	padding: 40px 0;
	max-width: 625px;
}
#contents .profile a{
	color: #000000;
}
#contents .profile h2{
	background: url(../images/bg_pattern01.png) no-repeat center bottom;
	padding: 30px 0;
	font-weight: normal;
	text-align: center;
}
#contents .profile table{
	margin: 20px 0 0;
	width: 100%;
	text-align: left;
	font-size: 14px;
}
#contents .profile table th,
#contents .profile table td{
	background: url(../images/bg_pattern02.png) repeat-x 0 bottom;
	padding: 25px 15px 15px;
	font-weight: normal;
	vertical-align: middle;
	line-height: 1.3;
}
#contents .profile table th{
	width: 180px;
}
#contents .profile table td{
	border-left: 40px solid #ffffff;
}
@media screen and (max-width:640px){
	#contents .profile{
		margin: 0 auto;
		padding: 20px 10px;
	}
	#contents .profile .sp{
		display: inline;
	}
	#contents .profile h2{
		background-size: 112px 6px;
		padding: 15px 0;
	}
	#contents .profile table{
		margin: 15px 0 0;
		font-size: 11px;
	}
	#contents .profile table th,
	#contents .profile table td{
		background: url(../images/bg_pattern02.png) repeat-x 0 bottom;
		padding: 15px 3px 10px;
	}
	#contents .profile table th{
		width: 98px;
	}
	#contents .profile table td{
		border-left: 20px solid #ffffff;
	}
}


/* --------------------------------------------------------------------------------------------- footer */
footer{
	display: none;
	background-color: #222222;
	margin: 70px 0 0;
	padding: 25px;
	text-align: center;
	font-size: 11px;
	color: #939393;
}
@media screen and (max-width:640px){
	footer{
		margin: 30px 0 0;
		font-size: 10px;
	}
}



/* --------------------------------------------------------------------------------------------- pagetop */
#pagetop{
	display: none;
	position: fixed;
	right: 50px;
	bottom: 80px;
}
#pagetop a{
	background: url(../images/pagetop.png) no-repeat center center #9d9d9d;
	display: block;
	width: 50px;
	height: 50px;
	border-radius: 25px;
	text-indent: -9999px;
}
@media screen and (max-width:640px){
	#pagetop{
		right: 10px;
		bottom: 70px;
	}
	#pagetop a{
		background-size: 12px 8px;
		width: 35px;
		height: 35px;
		border-radius: 17px;
	}
}

/* --------------------------------------------------------------------------------------------- popup */
.popup{
	background-color: #ffffff;
	padding: 40px 0;
}
.popup .slide{
	position: relative;
	margin: 0 auto;
	width: 510px;
}
.popup .slide ul{
	max-height: 400px;
}
.popup .slide ul li > span{
	display: block;
	margin: 0 0 15px;
	font-size: 18px;
}
.popup .slide ul li > span > span{
	display: block;
	margin: 10px 0 0;
	font-size: 12px;
}
.popup .slide .bx-pager{
	text-align: center;
}
.popup .slide .bx-pager .bx-pager-item{
	display: inline-block;
	margin: 0 5px;
}
.popup .slide .bx-pager .bx-pager-link{
	background-color: #000000;
	display: block;
	width: 10px;
	height: 10px;
	border-radius: 5px;
	font-size: 1px;
	text-indent: -9999px;
	text-decoration: none;
}
.popup .slide .bx-pager .bx-pager-link.active{
	background-color: #999999;
}
.popup .slide .bx-prev,
.popup .slide .bx-next{
	background-position: center center;
	background-repeat: no-repeat;
	position: absolute;
	top: 220px;
	display: block;
	width: 17px;
	height: 30px;
	text-indent: -9999px;
}
.popup .slide .bx-prev{
	background-image: url(../images/left2.png);
	left: -40px;
}
.popup .slide .bx-prev.disabled{
	background-image: url(../images/left1.png);
}
.popup .slide .bx-next{
	background-image: url(../images/right2.png);
	right: -40px;
}
.popup .slide .bx-next.disabled{
	background-image: url(../images/right1.png);
}
#cboxClose{
	box-sizing: border-box;
	position:absolute;
	bottom:30px;
	left:50%;
	display:block;
	background:url(../images/close1.png) no-repeat 60px center #6a932b;
	background-size: 10px 10px;
	margin: 0 0 0 -90px;
	padding: 0 0 0 80px;
	width:180px;
	height:50px;
	border-radius: 4px;
	text-align: left;
	color: #ffffff;
}
@media screen and (max-width:640px){
	.popup{
		padding: 20px 0;
	}
	.popup .slide{
		position: relative;
		margin: 0 auto;
		width: 220px;
	}
	.popup .slide ul{
		max-height: 190px;
	}
	.popup .slide ul li span{
		margin: 0 0 15px;
		font-size: 12px;
	}
	.popup .slide .bx-prev,
	.popup .slide .bx-next{
		background-size: 8px 15px;
		top: 45%;
		width: 8px;
		height: 15px;
	}
	.popup .slide .bx-prev{
		left: -20px;
	}
	.popup .slide .bx-next{
		right: -20px;
	}
	#cboxLoadedContent{
		padding: 0 0 105px;
	}
	#cboxClose{
		background-position: 25px center;
		bottom:10px;
		background-size: 5px 5px;
		margin: 0 0 0 -50px;
		padding: 0 0 0 35px;
		width:100px;
		height:30px;
	}
}
