/*------------------------
        header
------------------------*/
header#pagetop {
	position: absolute;
	top: 20px;
	left: 0;
	right: 0;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
	z-index: 200;
	min-height: 50px;
}
header#pagetop .logo {
	float: left;
	width: 50%;
	padding: 10px 0;
}



/*------------------------
        main
------------------------*/
#main-area {position: relative; line-height:1;}
#main-area figure {
	width: 100%;
	position: relative;
	z-index: 0;
	background-color: #1b1b1b;
	}
	#main-area figure > img {
		width: 100%;
		vertical-align: bottom;
		}
		#main-area figure figcaption {
			position: absolute;
			top: 35%;
			left: 0;
			right: 0;
			width: 94%;
			margin-left: auto;
			margin-right: auto;
			}
			#main-area.sub figure figcaption {top: 45%;}
		#main-area figure figcaption h2 {
			font-family:'Oswald', sans-serif;
			font-size: 3.2rem;
			color: #fff;
			text-align: center;
			line-height: 1.2;
			margin-bottom: 2em;
		}
		#main-area figure figcaption h2 span {display: block;}

#main-area .bottom {
	position: absolute;
	bottom: 0;
	width: 100%;
}
#main-area .bottom img {width: 100%; vertical-align: bottom;}



/*------------------------
        footer
------------------------*/
footer#footer {
	background-color: #1b1b1b;
	padding: 40px 0 0;
	color: #fff;
}
footer#footer .f-logo {
	width: 40%;
	margin:auto;
}
footer#footer .foot-nav {
	width: 80%;
	margin: 3em auto;
	}
	footer#footer .foot-nav li {
		display: inline-block;
		margin: 7px 8px 7px;
	}
	footer#footer .foot-nav li a,.other-link ul li a {color: #fff;}

.other-link {
	background-color: #232323;
	padding: 10px 0;
	margin: 4em 0 0;
	text-align: center;
	}
	.other-link ul li {
		display: inline-block;
		padding: 0 8px;
		border-right: 1px solid #fff;
		line-height: 1.1;
		text-transform: uppercase;
	}
	.other-link ul li:last-child {border-right: none;}

.copy {padding: 15px 0; text-align: center;}
.copy small {font-size: 1rem; color: #fff;}

/*------------------------
        pagetop
------------------------*/
.pagetop {
	background-color: #b40000;
	text-align: center;
	padding: 20px 0 12px;
	}
	.pagetop a {display: block;}
	.pagetop img {width: 5% !important;}



/*------------------------
        common-style
------------------------*/
#wrapper {position: relative;}
#wrapper img:not(.block-img) {width: 100%;}

.inner_block {
	width: 90%;
	color: #fff;
	margin-left: auto;
	margin-right: auto;
}

/* ttl-style */
.h2_ttl--center {
	font-family:'Oswald', sans-serif;
	text-align: center;
	font-size: 3.2rem;
	line-height: 1.4;
	margin-bottom: 25px;
	text-transform: uppercase;
	font-weight: 500;
	}
	.h2_ttl--center span {
		display: block;
		font-size: 1.4rem;
		color: #b4b4b4;
	}
.h3_ttl--left {
	font-size: 1.7rem;
	margin-bottom: 10px;
	padding-top: .5em;
	position: relative;
}
.h3_ttl--left::after {
  position: absolute;
  top: -2px;
  left: 0;
  z-index: 2;
  content: '';
  width: 8%;
  height: 2px;
  background-color: #fff;
}


/* font-style */
.text-center {text-align: center;}
.text-left {text-align: left;}
.text-right {text-align: right;}


.red {color: #b40000;}
.white {color: #fff !important;}
.b-txt {font-weight: 600;}


/* table-style */
.table, .recruit table {width: 100%;}

.table-border, .recruit table {
	border-collapse: separate;
	border-spacing: 0 15px;
}
.table-border th, .recruit table th {
	width: 24%;
	border-right: 1px solid #e40101;
	color: #9d9d9d;
	padding: 2px 5px;
	font-weight: 500;
}
.table-border td, .recruit table td {
	padding: 2px 0 2px 15px;
}

.table-form {}
.table-form th {color: #9d9d9d; padding-top: 15px; border-top:1px solid #2e2e2e; font-size: 1.1em;}
.table-form td {padding: 5px 0 15px; font-size: 1.2em;}


/* button-style */
.contact-btn a {
	display: block;
	width: 50%;
	margin-left: auto;
	margin-right: auto;
	padding: 2% 7% 1.5%;
	box-sizing: border-box;
	border: 2px solid #fff;
	border-radius: 8px;
	line-height: 1;
}
.contact-btn a img {width: 100%;}

.bd-btn a {
	font-family:'Oswald', sans-serif;
	text-align: center;
	display: block;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	padding: 1.5% 7% 2%;
	box-sizing: border-box;
	border: 1px solid #fff;
	font-size: 1.8rem;
	color: #fff;
	background: url(../images/common/w_arw_r.png) no-repeat 90% center;
	background-size: auto 40%;
}

/* list-style */
.disc-list li {
	margin: 8px 0 0 20px;
	list-style: disc outside;
}



/*------------------------
        index-style
------------------------*/
#information {
	background-color: #1b1b1b;
	padding: 40px 0 60px;
}
#information h2 {color: #fff;}
#information ul {margin-bottom: 3.5em;}
	#information ul li {
		overflow: hidden;
		margin-bottom: 10px;
	}
	#information ul li span.date {
		float: left;
		width: 22%;
		border-right: 1px solid #e40101;
		color: #9d9d9d;
		font-size: 1.1rem;
		padding: 5px 0;
	}
	#information ul li a {
		font-size: 1.1rem;
		display: block;
		margin-left: 28%;
		color: #fff;
		text-align: left;
	}

#service {
	background: url(../images/common/poribg.png) no-repeat;
	background-size: cover;
	position: relative;
	padding: 80px 0;
}
#service .top {
	position: absolute;
	top: 0;
}
#service .bottom {
	position: absolute;
	bottom: 0;
	line-height: 0;
}
#service h2 {color: #1b1b1b;}
#service h2 span {color: #616161;}
#service .r-box {
	border-radius: 6px;
	background-color: #fff;
	padding: 1px;
	margin-bottom: 2.5em;
	box-shadow: 0px 0px 3px rgba(0,0,0,0.2);
  	overflow: hidden;
	}
	#service .r-box a {display: block;}
#service .r-box figure {position: relative; line-height: 0;}
#service .r-box figure img {
	border-top-left-radius:6px;
	border-top-right-radius:6px;
}
#service .r-box figure figcaption {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	padding-top: 25%;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.6);
	-webkit-transition: .3s;
	transition: .3s;
	filter:alpha(opacity=0);
	opacity: 0;
	}
	#service .r-box a {color: #000;}
	#service .r-box a.hover figure figcaption, #service .r-box a:hover figure figcaption {
		filter:alpha(opacity=100);
		opacity: 1;
	}
	#service .r-box figure figcaption h3 {
		font-size: 2.2rem;
		font-weight: 500;
		text-decoration: underline;
		text-align: center;
		color: #fff;
		line-height: 1;
	}
#service .r-box .textarea {
	padding: 12px 60px 12px 12px;
	background: url(../images/common/r_arw_r.png) no-repeat 95% center;
	background-size: auto 25%;
}

#access {
	background-color: #1b1b1b;
	padding: 40px 0 60px;
	border-bottom: 1px solid #676767;
}
#access h2 {color: #fff;}
.ggmap {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
	margin-bottom: 10px;
	}
	.ggmap iframe,
	.ggmap object,
	.ggmap embed {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
#access .bd-btn {margin-top: 2em;}

/*------------------------
        subpage-style
------------------------*/
main#sub-containar .h2_ttl--center {
	margin-bottom: 1em;
}

/* about */
.about {
	background-color: #1b1b1b;
	color: #fff;
	padding: 25px 0 50px;
	border-bottom: 1px solid #676767;
}
.about-txt {
	margin-bottom: 5em;
	padding: 0 5%;
}
.about-txt figure {
	background-color: #fff;
}
.about-txt figure figcaption {
	color: #111;
	padding: 6% 4% 4%;
	font-size: 1.05em;
	line-height: 1.8;
}
.about-txt figure figcaption p {margin-bottom: 1em;}

.about ul {overflow: hidden; margin: 1.5em 1.25% 0;}
.about ul li {padding: 1.25% 1.25%; float: left; width: 50%; box-sizing: border-box; line-height: 0; font-size: 0rem;}
.about ul li figure {max-width: 245px; margin: auto; line-height: 0; font-size: 0rem; box-sizing: inherit;}
.about ul li img { line-height: 0; font-size: 0rem; vertical-align: bottom;}

/* games */
.games {
	background-color: #1b1b1b;
	color: #fff;
	padding: 25px 0 50px;
	border-bottom: 1px solid #676767;
}
.games article {
	border-bottom: 1px solid #2e2e2e;
	padding: 0 10px 1.5em;
}
.games article figure {
	width: 80%;
	margin: 0 auto 1em;
}
.games article h3 {
	font-size: 1.6rem;
	margin-bottom: 8px;
}
.games article .textarea {
	margin-bottom: 2em;
}
.games article ul.inline-list {margin-top: 1em;}
.games article ul.inline-list li {
	width: 46%;
	display: inline-block;
}
.games article ul.inline-list li:first-child {margin-right: 8%;}

/* works */
.works {
	background-color: #1b1b1b;
	color: #fff;
	padding: 25px 0 50px;
	border-bottom: 1px solid #676767;
}
.works .works-block {
	width: 86%;
	background-color: #282828;
	padding: 6% 0 2%;
	margin: 2em auto 2em;
	box-sizing:border-box;
}
.works article {
	width: 100%;
	padding: 1%;
	box-sizing: border-box;
}
.works article .thumb {width: 100%; margin: auto;}
.works article h3 {
	font-size: 1.6rem;
	margin-top: 1.25em;
	padding-top: .25em;
	position: relative;
	font-weight: 500;
	}
	.works article h3::after {
		position: absolute;
		top: -2px;
		left: 0;
		z-index: 2;
		content: '';
		width: 8%;
		height: 2px;
		background-color: #f6ff00;
	}

/* comapany */
.company {
	background-color: #1b1b1b;
	color: #fff;
	padding: 25px 0 50px;
	border-bottom: 1px solid #676767;
}

/* recruit */
.recruit {
	background-color: #1b1b1b;
	color: #fff;
	padding: 25px 0 50px;
	border-bottom: 1px solid #676767;
}

/* contact */
.contact {
	background-color: #1b1b1b;
	color: #fff;
	padding: 25px 0 50px;
	border-bottom: 1px solid #676767;
}
.contact .red {font-size:1.2rem; font-style: normal;}

.contact dl {margin-top: 1.5em;}
.contact dt {
	font-size: 1.15em;
	margin-bottom: .5em;
	}
	.contact dt em.red {font-size:1.4rem; font-style: normal;}
.contact dd {
	padding-bottom: 1.75em;
	margin-bottom: 1.75em;
	border-bottom: 1px solid #2e2e2e;
	}
	.contact dd p.small {font-size: 1.1rem;}

.contact .submit-btn {
	margin:1.5em auto; 
	text-align: center;
	display: block;
	width: 80%;
	padding: 1.75% 7% 2%;
	box-sizing: border-box;
	border: 1px solid #fff;
	font-size: 1.7rem;
	color: #fff;
	background: url(../images/common/w_arw_r.png) no-repeat 90% center;
	background-size: auto 35%;
	}

input[type="text"], textarea {padding: 7px 5px; font-size: 16px; background-color: #fff;}

.ws {width: 25%;}
.wm {width: 80%;}
.wl, textarea {width: 95%;}


/* privacy */
.privacy {
	background-color: #1b1b1b;
	color: #fff;
	padding: 25px 0 50px;
	border-bottom: 1px solid #676767;
}
.privacy .col {
	border-bottom: 1px solid #2e2e2e;
	padding-bottom: 3em;
	margin-bottom: 3.5em;
}
.privacy .col.end {border-bottom: none; padding-bottom: 0; margin-bottom: 0;}


/* sitemap */
.sitemap {
	background-color: #1b1b1b;
	color: #fff;
	padding: 25px 0 50px;
	border-bottom: 1px solid #676767;
}
.sitemap ul li {margin-top: 1em;}
	.sitemap ul li a {
		display: block;
		padding: 12px 0;
		border: 1px solid #444;
		color: #fff;
		text-align: center;
		font-size: 1.05em;
		-webkit-transition: all .3s;
	  	transition: all .3s;
		}
		.sitemap ul li a.hover, .sitemap ul li a:hover {
			border-color: #b40000;
			color: #b40000;
			}

/* information */
.information {
	background-color: #1b1b1b;
	color: #fff;
	padding: 25px 0 50px;
	border-bottom: 1px solid #676767;
}
.information ul {margin-bottom: 3em;}
.information ul li {
	padding: 0 .5em 1.5em;
	margin-bottom: 1.5em;
	border-bottom: 1px solid #2e2e2e;
}
.information ul li span.date {
	display: block;
	color: #9d9d9d;
	margin-bottom: 5px;
}
.information ul li a {text-decoration: underline;}

.information .newsTime {margin-bottom: .5em; color: #9d9d9d;}










