/*==================================
    clear
==================================*/
/* clearfix */
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.clearfix {
	display: inline-block;
}
/* hide mac ie \*/
* html .clearfix {
	height: 1%;
}
.clearfix {
	display: block;
}
/* end */

/*----------------------------------------------------------------------
/
/----------------------------------------------------------------------*/
a.link {
	background: url(/files/user/common/images/icon_arrow_b.png) no-repeat 0 6px;
	padding-left: 15px;
	background-size: 6px;
}

/*----------------------------------------------------------------------
/           slider override
/----------------------------------------------------------------------*/
.bx-wrapper .bx-controls-direction a {
	z-index: 100 !important;
}

/*----------------------------------------------------------------------
/           caution
/----------------------------------------------------------------------*/

#caution {
	background: rgba(204, 0, 0, 0.8);
	position: fixed;
	right: 10px;
	z-index: 100;
	box-sizing: border-box;
	color: #cc0000;
	padding: 12px;
	font-size: 90%;
	box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
	width: 280px;
}
#caution:hover {
	background: rgba(204, 0, 0, 1);
}
#caution a {
	color: #fff;
}
#caution dd {
	padding: 0;
	margin: 0;
}
#caution div.close {
	position: absolute;
	cursor: pointer;
	right: 5px;
	top: 5px;
	line-height: 1;
	border-radius: 50%;
	background: #990000;
	color: #fff;
	width: 20px;
	height: 20px;
	text-align: center;
	line-height: 20px;
}

.caution {
	background: rgba(204, 0, 0, 0.8);
	position: fixed;
	right: 10px;
	z-index: 100;
	box-sizing: border-box;
	color: #cc0000;
	padding: 12px;
	font-size: 90%;
	color: #fff;
	box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
	width: inherit;
	width: 280px;
}
/* .caution:hover {
	background: rgba(204, 0, 0, 1);
} */
.caution dd {
	padding: 0;
	margin: 0;
}
.caution div.close2 {
	position: absolute;
	cursor: pointer;
	right: 5px;
	top: 5px;
	line-height: 1;
	border-radius: 50%;
	background: #990000;
	color: #fff;
	width: 20px;
	height: 20px;
	text-align: center;
	line-height: 20px;
}
.caution a {
	color: #fff;
	font-weight: bold;
}

/*==================================
    youtube
==================================*/
.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

/*==================================
    link
==================================*/
a.newWindow {
	background: url(/images/common/icon_window.png) no-repeat 0 5px;
	padding-left: 18px;
}

/*==================================
    btn
==================================*/
.btn {
	display: inline-block;
	background: #000;
	border-radius: 3px;
	color: #fff;
	padding: 4px 20px;
}
a.btn,
.btn a {
	color: #fff;
}

/*==================================
    form
==================================*/
input.tf {
	margin: 0 5px;
	border: 1px solid #ccc;
	background: #fff;
	padding: 3px;
}
textarea {
	border: 1px solid #ccc;
	background: #fff;
	padding: 5px;
	width: 500px;
	height: 200px;
	margin: 0 5px;
}
select {
	font-size: 90%;
	padding: 2px;
}

/*==================================
    grid
==================================*/
ul.grid {
	overflow: hidden;
	background: url(/files/user/common/images/brush-line01.jpg) no-repeat 0 bottom;
	background-size: 96% auto;
	box-sizing: border-box;
	padding: 10px 10px;
}
ul.grid li {
	font-size: 90%;
	line-height: 140%;
	box-sizing: border-box;
	float: left;
}
ul.grid li a.link {
	color: #000;
	display: inline-block;
}
ul.grid li img {
	display: block;
	width: 100%;
}
ul.grid li figcaption {
	padding: 5px 0;
}
ul.cols_2 {
	margin-right: -1%;
}
ul.cols_2 > li {
	width: 49%;
	margin: 0 1% 1% 0;
}
ul.cols_3 > li {
	width: 32%;
	margin: 0 1% 1% 0;
}
ul.cols_4 {
	margin-right: -1.5%;
}
ul.cols_4 > li {
	width: 23.5%;
	margin: 0 1.5% 1.5% 0;
}
ul.cols_5 {
	margin-right: -1.5%;
}
ul.cols_5 > li {
	width: 18.5%;
	margin: 0 1.5% 1.5% 0;
}
ul.cols_6 {
	margin-right: -1%;
}
ul.cols_6 > li {
	width: 15.6%;
	margin: 0 1% 1% 0;
}
ul.has_boxLink li {
	cursor: pointer;
}
ul.has_boxLink li:hover {
	opacity: 0.8;
	transform: scale(1.03, 1.03);
	-webkit-transition-duration: 0.2s;
	-moz-transition-duration: 0.2s;
	-ms-transition-duration: 0.2s;
	-o-transition-duration: 0.2s;
	transition-duration: 0.2s;
	z-index: 10000;
}
ul.has_boxLink li:hover a {
	color: #cc0000;
	background-image: url(/files/user/common/images/icon_arrow.png);
}
/*==================================
    list
==================================*/
ul.list li {
	list-style-type: disc;
}
ul.list {
	padding-left: 30px;
}
ul.imgList {
	overflow: hidden;
}
ul.imgList li {
	float: left;
	width: 24%;
	margin-right: 1%;
}
ul.imgList img {
	display: block;
	width: 100%;
}

/*==================================
    line
==================================*/
ul.line li {
	display: table;
	width: 100%;
	position: relative;
	padding: 0 0 10px 0;
}
ul.line li div.thumb {
	width: 28%;
	display: table-cell;
	vertical-align: top;
}
ul.line li div.thumb img {
	width: 100%;
	display: block;
}
ul.line li div.detail {
	width: 70%;
	padding-left: 15px;
	display: table-cell;
	vertical-align: top;
	line-height: 140%;
}
ul.line li div.detail dd {
	margin: 0;
	padding: 0;
}
ul.line li div.detail dd a {
	color: #000;
}
ul.line li div.detail:hover dt,
ul.line li div.detail:hover dd a {
	color: #cc0000;
}
ul.line li.new::after {
	background-image: url("/files/user/common/images/ico-new01.png");
	background-repeat: no-repeat;
	color: #fff;
	content: "NEW";
	display: block;
	height: 14px;
	line-height: 1;
	position: absolute;
	text-indent: -9999px;
	top: -5px;
	left: 20%;
	width: 47px;
	z-index: 10;
}

/*====================================================================
    history
====================================================================*/

dl.history {
}

dl.history dt {
	font-weight: normal;
	color: #cc0000;
}
dl.history dd {
	margin-bottom: 2%;
}

/*=====================================================
   mainImage
=======================================================*/
div#mainImg {
	margin-bottom: 30px;
}
div#mainImg img {
	width: 100%;
}

/*====================================================================
    newsSection
====================================================================*/
.newsSection {
	margin: 0 0 35px 0;
	overflow: hidden;
}

.newsSection ul.newsList {
	border-bottom: 1px solid #efefef;
	padding-left: 10px;
}
.newsSection ul.newsList li {
	padding: 8px 15px;
	box-sizing: border-box;
}
.newsSection ul.newsList li:hover {
	transform: scale(1.02, 1.02);
	-webkit-transition-duration: 0.2s;
	-moz-transition-duration: 0.2s;
	-ms-transition-duration: 0.2s;
	-o-transition-duration: 0.2s;
	transition-duration: 0.2s;
	z-index: 50;
}
.newsSection ul.newsList li:nth-child(odd) {
	background-color: #efefef;
}
.newsSection ul.newsList dt {
	color: #ad9a58;
}
.newsSection ul.newsList dd {
	padding: 0;
}
.newsSection ul.newsList dd a {
	color: #000;
	font-size: 110%;
	line-height: 140%;
	display: block;
}

.newsSection ul.sideList {
	border-top: 3px solid;
}
.newsSection ul.sideList li {
	border-bottom: 1px dotted #666;
}
.newsSection ul.sideList li a {
	display: block;
	padding: 10px 10px 10px 20px;
	color: #000;
	font-size: 110%;
	line-height: 120%;
	font-weight: bold;
	background: url(/files/user/common/images/icon_arrow_b.png) no-repeat 7px 50%;
	background-size: 6px;
}
.newsSection ul.sideList li a:hover {
	color: #cc0000;
	background-image: url(/files/user/common/images/icon_arrow.png);
}
.newsSection h2 {
	margin: 0 0 35px 0;
}
.newsSection div.newsDetail {
	width: 98%;
	margin: 0 auto;
}
.newsSection ul.navList {
	text-shadow: right;
	background: #efefef;
	padding: 10px 15px;
	text-align: right;
	font-size: 90%;
}
.newsSection ul.navList li {
	display: inline-block;
}
.newsSection ul.navList li a {
	color: #000;
}
.newsSection div.col_80 h3 {
	margin: 0 0 30px 0;
	padding: 0 0 5% 10px;
	font-size: 230%;
	background-size: 90% auto;
}
.newsSection div.col_20 h3 {
	background: none;
	padding: 0;
	margin: 0 0 15px 0;
	font-size: 130%;
	color: #000;
}
.newsSection div.col_80 h4 {
	color: #000;
	font-size: 180%;
	line-height: 150%;
	margin: 0 0 30px 0;
}

body.is_black .newsSection ul.newsList li:nth-child(2n + 1) {
	background-color: #111;
}

/*====================================================================
    table
====================================================================*/

table.grid {
	border-left: 1px solid #ccc;
	border-top: 1px solid #ccc;
	border-collapse: collapse;
	font-size: 100%;
	background-image: none;
	width: 100%;
	margin: 3px 0 3px 0;
}
table.grid tr {
	background-image: none;
}
table.grid td {
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	padding: 7px 7px;
	vertical-align: top;
	line-height: 150%;
}
table.grid th {
	text-align: left;
	padding: 7px 7px;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	vertical-align: top;
	font-weight: bold;
	text-align: left;
	line-height: 140%;
	background: #efefef;
}
table.grid td.center,
table.grid th.center {
	text-align: center;
}
table.grid th.center,
table.grid td.center {
	text-align: center;
}
table.grid th.middle,
table.grid td.middle {
	vertical-align: middle;
}
table.line2 td ul {
	margin-top: 0;
	margin-bottom: 0;
}
table.grid caption {
	position: static;
	display: block;
	background-color: #cc0000;
	text-align: center;
}
table.grid div.caption {
	line-height: 130%;
}

/*====================================================================
    table
====================================================================*/

table.line {
	border-top: 1px solid #ccc;
	margin-bottom: 30px;
	width: 100%;
}
table.line th,
table.line td {
	border-bottom: 1px solid #ccc;
	padding: 5px 5px;
	text-align: left;
	vertical-align: top;
}
table.line th {
	padding-right: 20px;
}
table.line thead th {
	background-color: #f5f5f5;
}

/*====================================================================
    loopSlide
====================================================================*/
div#loopSlide ul {
	height: 50px;
	overflow: hidden;
	margin: 10px auto;
}
div#loopSlide ul li {
	display: inline-block;
	margin-right: 30px;
}
/*====================================================================
    box-improvement01
====================================================================*/
#box-improvement01 {
	border: 1px solid #cc0000;
	padding: 13px;
	border-radius: 5px;
	background: #efeeef;
}
#box-improvement01 a.btn {
	background-color: #cc0000;
	color: #fff;
	margin: 0 0 6px 0;
}
#box-improvement01 dl.desc dt {
	margin: 0 0 5px 0;
}
#box-improvement01 dl.desc dd {
	padding-left: 0;
}
/*====================================================================
    tab groupd
====================================================================*/
div.tabGroup {
}
div.tabGroup ul.tab {
	overflow: hidden;
	/*
    transform: skew(10deg);
    */
}
div.tabGroup ul.tab > li {
	display: inline-block;
	padding: 10px 20px;
	background-color: #ccc;
	margin: 0 1px 0 0px;
	cursor: pointer;
}
div.tabGroup ul.tab > li:hover {
	background-color: #efefef;
}
div.tabGroup ul.tab > li:first-child {
	padding: 10px 30px;
}
div.tabGroup ul.tab li span.label {
	/*
    transform: skew( -10deg);
    */
	display: inline-block;
}

div.tabGroup ul.tab > li.active {
	background-color: #444;
	font-weight: bold;
}

div.tabGroup ul.tab > li.active span.label {
	color: #fff;
}
div.tabGroup ul.tabInner > li.active {
	display: block;
	background-color: #444;
}
div.tabGroup ul.tabInner > li {
	display: none;
	padding: 1.2%;
}
div.tabGroup ul.tabInner > li div.tabDivInner {
	background-color: #fff;
	padding: 1.5%;
}

/*====================================================================
    boxLine
====================================================================*/
div.boxLine {
	box-sizing: border-box;
	border: 4px solid #ddd;
	padding: 20px;
	margin: 10px 0 20px 0;
}
div.boxLine p:last-child {
	margin: 0;
}
/*====================================================================
    media query
====================================================================*/

br.forLarge {
}

/*
    pc
*/
@media screen and (max-width: 1100px) {
	div.wrapper {
		width: auto;
	}
}

/*
    TAB
*/
@media screen and (max-width: 991px) {
	ul.line > li {
		border-bottom: 1px solid #ddd;
		padding: 0 0 10px 0;
		margin: 0 0 10px 0;
	}
	ul.line {
		border-top: 1px solid #ddd;
		padding: 10px 0 0 0;
	}
	ul.has_boxLink li:hover {
		opacity: 1;
		transform: scale(1, 1);
	}
	.newsSection ul.newsList li {
		border: none;
		margin: 0;
	}
	div.tabGroup ul.tabInner > li div.tabDivInner {
		background-color: #fff;
		padding: 4%;
	}
}

/*
    iphone landspcae
*/
@media only screen and (max-width: 736px) {
}

/*
    SP
*/
@media screen and (max-width: 479px) {
	ul.cols_6,
	ul.cols_4 {
		padding: 0;
	}
	ul.cols_6 > li,
	ul.cols_4 > li {
		width: 48%;
		margin: 0 2% 2% 0;
	}
	#caution {
		bottom: 0;
		width: 100%;
		font-size: 90%;
		line-height: 130%;
		right: 0;
	}

	#caution dt {
		font-size: 0.81rem;
	}

	.caution {
		bottom: 72px;
		width: 100%;
		font-size: 90%;
		line-height: 130%;
		right: 0;
	}

	ul.list {
		padding-left: 18px;
	}
	ul.imgList li {
		float: none;
		width: 100%;
		margin-right: 0%;
		margin-bottom: 1%;
	}
	ul.imgList img {
		display: block;
		width: 100%;
	}

	/*
    tab
    */
	div.tabGroup ul.tab > li.active,
	div.tabGroup ul.tab > li {
		padding: 5px;
	}
	.newsSection h2 {
		margin: 0 0 5px 0;
	}
}

.dl-recruit01 {
	box-sizing: border-box;
	margin-bottom: 2em;
	padding: 8px 16px;
	background-color: #f6f8fb;
	border: 1px solid #ccc;
}
.dl-recruit01 dt {
}
.dl-recruit01 dd {
	margin-bottom: 0.5em;
	padding: 0 0 0 1em;
	font-size: 14px;
}

#sec-rec01 h4 + p {
	margin-bottom: 1em;
}
