@charset "UTF-8";

/* #news
---------------------------------------------------------------------------------------------------------*/
#news #pageTitle{ background-image: url(../img/news/main.jpg); }

/* #news.index
---------------------------------------------------------------------------------------------------------*/
#news.index #newsList{
	border-top: solid thin #DDD;
	margin-top: 80px;
	margin-bottom: 30px;
}
#news.index #newsList li{
	border-bottom: solid thin #DDD;
	font-size: 1.1em;
	padding: 1em 2em;
}
#news.index #newsList li:nth-child(even){ background-color: #F4F8F9; }
#news.index #newsList .date{
	font-family: 'Roboto Condensed', sans-serif;
	float: left;
	width: 8em;
}
#news #newsList .title{
	font-weight: bold;
	margin-left: 8em;
}
#news #newsList .title a.blank:after,
#news #newsList .title a.pdf:after,
#news #newsList .title a.excel:after,
#news #newsList .title a.word:after{
	display: inline-block;
	margin: 0 0 0 0.5em;
	vertical-align: -10%;
}
#news.index #newsList .title a.blank:after{ content: url(../img/common/icon_blank.png); }
#news.index #newsList .title a.pdf:after{ content: url(../img/common/icon_pdf.png); }
#news.index #newsList .title a.excel:after{ content: url(../img/common/icon_excel.png); }
#news.index #newsList .title a.word:after{ content: url(../img/common/icon_word.png); }
@media screen and (max-width: 768px){
	#news.index #newsList{
		margin-top: 0;
		margin-bottom: 10px;
	}
	#news.index #newsList li{ padding: 0.5em 1em; }
	#news.index #newsList .date{ width: 6.5em; }
	#news.index #newsList .title{ margin-left: 6.5em; }
}
@media screen and (max-width: 399px){
	#news.index #newsList .date{ float: none; }
	#news.index #newsList .title{ margin-left: 0; }
}

/* #news.detail
---------------------------------------------------------------------------------------------------------*/
#news.detail #container .contents .title{
	font-size: 2.4em;
	border-bottom: solid 6px #F0F3F7;
	margin-top: 50px;
	margin-bottom: 10px;
}
#news.detail #container .contents .date{
	font-family: 'Roboto Condensed', sans-serif;
	text-align: right;
	font-size: 1.2em;
}
#news.detail #container .contents .entry{ padding: 30px 0; }
#news.detail #listWrap{
	width: 100%;
	background: url(../img/works/bk.gif) repeat left top;
	padding-top: 60px;
	padding-bottom: 10px;
}
#news.detail #listWrap .btn a{
	display: block;
	width: 340px;
	text-align: center;
	background-color: #FFF;
	font-weight: bold;
	letter-spacing: 0.1em;
	box-shadow: 0 5px 0 0 #DDD;
	-webkit-box-shadow: 0 5px 0 0 #DDD;
	-moz-box-shadow: 0 5px 0 0 #DDD;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	padding: 10px;
	margin: 0 auto 20px;
}
#news.detail #listWrap .btn a span{
	display: inline-block;
	background: url(../img/common/btn_menu.png) no-repeat left center;
	-moz-background-size: auto 1.5em;
	background-size: auto 1.5em;
	padding: 5px 5px 5px 2em;
}
@media screen and (max-width: 768px){
	#news.detail #container .contents .title{
		font-size: 1.8em;
		line-height: 1.2em;
		padding-bottom: 0.2em;
		margin-top: 0;
	}
	#news.detail #container .contents .entry{ padding: 20px 0; }
	#news.detail #listWrap{ padding-top: 30px; }
	#news.detail #listWrap .btn a{
		width: 80%;
		max-width: 340px;
	}
}

/* #recruit
---------------------------------------------------------------------------------------------------------*/
#recruit #pageTitle{ background-image: url(../img/recruit/main.jpg); }
#recruit #textWrap h3{
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	color: #324D79;
	text-align: center;
	font-size: 2em;
	margin-top: 1em;
	margin-bottom: 1.5em;
}
@media screen and (max-width: 768px){
#recruit #pageTitle{ background-image: url(../img/recruit/main-sp.jpg); }
	}

#recruit #textWrap h3{
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	color: #324D79;
	text-align: center;
	font-size: 2em;
	margin-top: 1em;
	margin-bottom: 1.5em;
}
#recruit #tabMenu{
	background: url(../img/policy/tabNavi_line.gif) repeat-x left bottom;
	font-size: 1.8em;
	font-weight: bold;
	padding: 0 5%;
	margin-top: 50px;
	margin-bottom: 80px;
}
#recruit #tabMenu li{
	float: left;
	width: 47%;
	text-align: center;
	margin: 0 1.5%;
}
#recruit #tabMenu li a{
	display: block;
	color: #3F526A;
	background-image: url(../img/policy/tabNavi_line.gif);
	background-repeat: repeat-x;
	background-position: left bottom;
	background-color: #F4F7F9;
	border-top: solid thin #DDD;
	border-left: solid thin #DDD;
	border-right: solid thin #DDD;
	-moz-border-radius: 5px 5px 0 0;
	-webkit-border-radius: 5px 5px 0 0;
	border-radius: 5px 5px 0 0;
	padding: 0.5em;
}
#recruit #tabMenu li.navi01.active a,
#recruit #tabMenu li.navi02.active a{
	color: #2A63B7;
	background-image: none;
	background-color: #FFF;
}
#recruit #container .entry table{ font-size: 1.1em; }
#recruit #container .entry table th{ width: 20%; }
#recruit #infoWrap{ padding-top: 0; }
#recruit #infoWrap dl{
	background-color: #F4F8F9;
	font-weight: bold;
	padding: 20px;
	margin-top: 30px;
}
#recruit #infoWrap dl dt{
	float: left;
	width: 18%;
	font-size: 1.4em;
	padding-top: 1em;
	padding-right: 2%;
}
#recruit #infoWrap dl dd{
	border-left: solid thin #DDD;
	padding-left: 4%;
	margin-left: 20%;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
#recruit #infoWrap dl dd .wrapL{
	float: left;
	width: 60%;
}
#recruit #infoWrap dl dd .wrapL strong{
	display: block;
	font-size: 1.8em;
	line-height: 1.2em;
}
#recruit #infoWrap dl dd .wrapR{
	float: left;
	width: 40%;
}
#recruit #infoWrap dl dd .wrapR .btn a{
	display: block;
	max-width: 280px;
	color: #FFF;
	background-color: #265FB3;
	text-align: center;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	padding: 10px;
	margin: auto;
}
#recruit #infoWrap dl dd .wrapR .btn a span{
	display: inline-block;
	background: url(../img/recruit/icon_mail.png) no-repeat left center;
	padding: 5px 10px 5px 40px;
}
#recruit #photoWrap{ margin-top: 50px; }
@media screen and (max-width: 768px){
	#recruit #textWrap h3{
		font-size: 1.6em;
		margin-top: 0;
		margin-bottom: 1.5em;
	}
	#recruit #tabMenu{
		font-size: 1.3em;
		padding: 0;
		margin-top: 0;
		margin-bottom: 30px;
	}
	#recruit #tabMenu li{
		width: 48%;
		margin: 0 1%;
	}
	#recruit #tabMenu li a{ padding: 0.5em 0.2em; }
	#recruit #infoWrap dl{
		padding: 20px 10px 10px;
		margin-top: 0;
	}
	#recruit #infoWrap dl dt{
		float: none;
		width: 100%;
		text-align: center;
		font-size: 1.2em;
		padding: 0;
	}
	#recruit #infoWrap dl dt br{ display: none; }
	#recruit #infoWrap dl dd{
		border-left: none;
		text-align: center;
		padding-top: 1em;
		padding-left: 0;
		margin-left: 0;
	}
	#recruit #infoWrap dl dd .wrapL,
	#recruit #infoWrap dl dd .wrapR{
		float: none;
		width: 100%;
	}
	#recruit #photoWrap{ margin-top: 0; }
}

/* #access
---------------------------------------------------------------------------------------------------------*/
#access #pageTitle{ background-image: url(../img/access/main.jpg); }
#access #container .contents h3{
	color: #2A63B7;
	font-size: 2em;
	margin-top: 1em;
	clear: both;
}
#access #container .contents h3:before{
	display: inline-block;
	width: 20px;
	height: 5px;
	content: "";
	background-color: #2A63B7;
	vertical-align: middle;
	margin-right: 0.5em;
}
#access #container .contents dl{
	border-bottom: solid thin #DDD;
	padding-bottom: 1em;
}
#access #container .contents dl dt{
	float: left;
	width: 4em;
	border-top: solid thin #DDD;
	padding-top: 1em;
	margin-top: 1em;
}
#access #container .contents dl dd{
	border-top: solid thin #DDD;
	padding-top: 1em;
	margin-top: 1em;
	margin-left: 4em;
}
#access #container .contents dl dt:first-child{ margin-top: 0; }
#access #container .contents dl dd a{ color: #333; }
#access #container .contents dl dd strong{ font-size: 1.1em; }
#access #container .contents .btn a{
	display: block;
	text-align: center;
}
#access #container .contents .btn strong{
	display: inline-block;
	background: url(../img/common/icon_arrow2_blue.png) no-repeat right center;
	border-bottom: dotted thin #2A63B7;
	color: #2A63B7;
	font-size: 0.95em;
	padding: 5px 25px 5px 0;
}
#access #honsya .text{
	float: left;
	width: 35%;
}
#access #honsya .text .btn a{
	max-width: 300px;
	box-shadow: 0 5px 0 0 #DDD;
	-webkit-box-shadow: 0 5px 0 0 #DDD;
	-moz-box-shadow: 0 5px 0 0 #DDD;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	padding: 10px;
	margin: 20px auto;
}
#access #honsya .text .btn span{
	display: inline-block;
	background: url(../img/common/contact_access.png) no-repeat left center;
	-moz-background-size: auto 1.5em;
	background-size: auto 1.5em;
	padding: 5px 5px 5px 30px;
}
#access #honsya .map{
	float: right;
	width: 62%;
	position: relative;
	padding-bottom: 35%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}
#access #honsya .map iframe,
#access #honsya .map object,
#access #honsya .map embed{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#access #officeWrap .box{
	float: left;
	width: 48%;
	margin: 2% 0;
}
#access #officeWrap .box:nth-child(even){ float: right; }
#access #officeWrap .box .text{
	float: left;
	width: -webkit-calc(100% - 140px);
	width: calc(100% - 140px);
}
#access #officeWrap .box .btn{
	float: left;
	max-width: 110px;
	margin-left: 30px;
}
#access #officeWrap .box .btn a{
	background-image: url(../img/common/contact_access.png);
	background-repeat: no-repeat;
	background-position: center top;
	padding-top: 50px;
	margin-top: 20px;
}
@media screen and (max-width: 768px){
	#access #container .contents h3{ font-size: 1.6em; }
	#access #honsya .text{
		float: none;
		width: 100%;
	}
	#access #honsya .text .btn a{ margin: 10px auto 20px; }
	#access #honsya .map{
		float: none;
		width: 100%;
		padding-bottom: 45%;
	}
	#access #officeWrap .box{
		float: none;
		width: 100%;
		margin: 2% 0;
	}
	#access #officeWrap .box:nth-child(even){ float: none; }
	#access #officeWrap .box .text{
		float: none;
		width: 100%;
	}
	#access #officeWrap .box .btn{
		float: none;
		margin: 0 auto;
	}
	#access #officeWrap .box .btn a{
		background-position: left center;
		-moz-background-size: auto 90%;
		background-size: auto 90%;
		padding-top: 0;
		padding-left: 30px;
		margin-top: 10px;
	}
}

/* #policy
---------------------------------------------------------------------------------------------------------*/
#policy #pageTitle{ background-image: url(../img/policy/main.jpg); }
#policy #tabNavi{
	background: url(../img/policy/tabNavi_line.gif) repeat-x left bottom;
	font-size: 1.5em;
	font-weight: bold;
	padding: 0 5%;
	margin-top: 30px;
	margin-bottom: 20px;
}
#policy #tabNavi li{
	float: left;
	width: 30.33%;
	text-align: center;
	margin: 0 1.5%;
}
#policy #tabNavi li a{
	display: block;
	color: #3F526A;
	background-color: #F4F7F9;
	background-image: url(../img/common/icon_arrow1_B_black.png), url(../img/policy/tabNavi_line.gif);
	background-repeat: no-repeat, repeat-x;
	background-position: center 90%, left bottom;
	border-top: solid thin #DDD;
	border-left: solid thin #DDD;
	border-right: solid thin #DDD;
	-moz-border-radius: 5px 5px 0 0;
	-webkit-border-radius: 5px 5px 0 0;
	border-radius: 5px 5px 0 0;
	padding: 0.5em 0.5em 0.6em;
}
#policy.index #tabNavi li.navi01 a,
#policy.purpose #tabNavi li.navi02 a,
#policy.disclosure #tabNavi li.navi03 a{
	color: #2A63B7;
	background: #FFF;
}
#policy #textWrap{
	background: url(../img/common/mark_privacy.gif) no-repeat right top;
	padding-top: 110px;
	margin-bottom: 30px;
}
#policy #textWrap .text{ padding-left: 40px; }
@media screen and (max-width: 768px){
	#policy #tabNavi{
		font-size: 1.1em;
		padding: 0;
		margin-top: 0;
	}
	#policy #tabNavi li{
		width: 31.33%;
		margin: 0 1%;
	}
	#policy #tabNavi li a{ padding: 0.2em 0.2em 1em; }
	#policy #textWrap{ margin-bottom: 0; }
	#policy #textWrap .text{ padding-left: 0; }
}

/* #policy.disclosure
---------------------------------------------------------------------------------------------------------*/
#policy.disclosure #textWrap dt{
	float: left;
	width: 4em;
}
#policy.disclosure #textWrap dd{ margin-left: 4em; }

/* #policy.specific
---------------------------------------------------------------------------------------------------------*/
#policy.specific #pageTitle{ background-image: url(../img/specific/main.jpg); }
#policy.specific #pageTitle{ margin-bottom: 30px; }
@media screen and (max-width: 1079px){ #policy.specific #pageTitle{ margin-bottom: 10px; } }

/* #link
---------------------------------------------------------------------------------------------------------*/
#link #pageTitle{ background-image: url(../img/link/main.jpg); }
#link #container .contents .entry{ padding-top: 30px; }
#link #container .contents ul{
	border-top: solid thin #DDD;
	padding: 0;
	margin: 20px 0 50px;
}
#link #container .contents ul li{
	background-image: none;
	border-bottom: solid thin #DDD;
	padding: 1em;
}
@media screen and (max-width: 768px){
	#link #container .contents .entry{ padding-top: 0; }
	#link #container .contents ul{ margin: 20px 0 30px; }
	#link #container .contents ul li{ padding: 1em 0.5em; }
}

/* #sitemap
---------------------------------------------------------------------------------------------------------*/
#sitemap #pageTitle{ background-image: url(../img/news/main.jpg); }
#sitemap #container .contents.entry{ max-width: 800px; }
#sitemap #container .contents.entry h4{ margin-top: 0.5em; }

/* #error
---------------------------------------------------------------------------------------------------------*/
#error #pageTitle{ background-image: url(../img/news/main.jpg); }
#error #container .entry .btn strong{
	display: inline-block;
	background: url(../img/common/icon_arrow2_blue.png) no-repeat right center;
	border-bottom: dotted thin #2A63B7;
	color: #2A63B7;
	padding: 5px 25px 5px 0;
}