@charset "UTF-8";

/* //////////////////////////////////////////////////

　サイト全般のスタイル

////////////////////////////////////////////////// */


/* FONT
-------------------------------------------------- */
body {
	color: #333;
	font-family: "游ゴシック","Yu Gothic","游ゴシック体","YuGothic",
		"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",
		"Meiryo UI","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-size: 16px;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	line-height: 1;
}
p, li, dt, dd, th, td {
	line-height: 1.8;
}
a {
	color: #333;
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
i, em {
	font-style: normal;
}
.fcB {
}

/* ///////// RESPONSIVE ///////// */
@media screen and (max-width: 768px) {
	body {
		font-size: 85%;
	}
	input, select, textarea {
		font-size: 16px;
	}
}
@media screen and (max-width: 640px) {
	body {
		font-size: 75%;
	}
}




/* LAYOUT
-------------------------------------------------- */
#wrapper {
	position: relative;
	border-bottom: 70px solid #00277a;
}
#main {
	overflow: hidden;
}
#side {
	float: left;
	width: 250px;
	background: #fff;
}
.container {
	margin: auto;
	max-width: 1020px;
	padding-left: 10px;
	padding-right: 10px;
}

/* ///////// RESPONSIVE ///////// */
@media screen and (max-width: 768px) {
	#main {
		padding-top: 60px;
	}
	#side {
		float: none;
		width: 100%;
		position: fixed;
		z-index: 100;
	}
	#wrapper {
		overflow: hidden;
		border: none;
	}
	.container {
		width: auto;
	}
}
@media screen and (max-width: 640px) {
}




/* MODULE
-------------------------------------------------- */
/* title */
.h2 {
	margin: 0 45px;
	padding: 40px 0 25px;
	background: url(../img/common/line_h2.png) no-repeat center;
	text-align: center;
	line-height: 1.2;
	font-size: 18px;
	color: #787a81;
}
.h2 .en {
	color: #10237b;
	font-size: 33px;
}


/* button */
a.btn {
	display: inline-block;
}
a.btn:hover {
	text-decoration: none;
	opacity: 0.7;
}
/* ///////// RESPONSIVE ///////// */
@media screen and (max-width: 768px) {
	.h2 {
		margin: 0 2px;
		padding: 20px 0 15px;
		font-size: 10px;
		background: url(../img/common/line_h2_sp.png) no-repeat center;
	}
	.h2 .en {
		color: #10237b;
		font-size: 19px;
	}
}






/* SIDE（HEADER）
-------------------------------------------------- */
#side .site_logo a {
	display: block;
	margin: 70px auto;
	text-indent: -9999px;
	background: url(../img/common/logo_header.png) no-repeat;
	background-size: 203px;
	width: 203px;
	height: 51px;
}

/* MYPAGE & ENTRY */
#side .buttons a {
	display: block;
	margin: 15px 15px 0;
}
#side .buttons span {
	display: block;
	padding: 5px;
	text-align: center;
	color: #fff;
	font-size: 12px;
	line-height: 1.1;
}
#side .buttons .en {
	font-size: 18px;
}
#side .buttons .mypage {
	background: #00277a;
}
#side .buttons .entry {
	background: #0a86e6;
}

/* SEARCH */
#side .search {
	margin: 15px;
}
#side .search input {
	float: left;
	height: 30px;
	border: 1px solid #bbbec8;
}
#searchBox {
	-webkit-appearance: none;
	width: 190px;
	padding: 8px;
	border-right: none !important;
}
#searchBtn {
	width: 30px;
	background-color: #00277a;
}

/* LINK */
#side .link_about {
	margin: 0 15px;
	font-size: 14px;
}


/* ///////// RESPONSIVE ///////// */
@media screen and (min-width: 769px) {
#side .navi01 .ac_content {
	display: block !important;
}
}
@media screen and (max-width: 768px) {
	#side {
		height: 60px;
	}
	#side .site_logo a {
		float: left;
		margin: 15px 10px;
		background-size: 130px;
		width: 130px;
		height: 35px;
	}
	/*BUTTON*/
	.header_btn {
		float: right;
		text-align: center;
	}
	.header_btn .btn {
		width: 60px;
		height: 60px;
	}
	#entry_btn {
		float: left;
		display: block;
		padding: 8px 0 0;
		background: #d9dfeb;
	}
	#menu_btn {
		background: #dd6b2c;
	}
	#menu_btn .close {
		display: none;
	}
	#menu_btn.active {
		background: #99a9ca;
	}
	#menu_btn.active .open {
		display: none;
	}
	#menu_btn.active .close {
		display: inline-block;
	}

	/* 非表示 */
	#side .buttons,
	#side .search,
	#side .link_about {
		display: none;
	}
}
@media screen and (max-width: 640px) {
}





/* GLOBAL NAVI
-------------------------------------------------- */
.nav_tit {
	background: #00277a;
	padding: 13px;
	color: #fff;
	font-size: 18px;
	text-align: center;
}
.navi_sec li {
	background: #f8f9fb;
}
.navi_sec li:nth-child(even) {
	background: #ecf0f7;
}
.navi_sec a {
	display: table;
	width: 100%;
	border-spacing: 10px;
}
.navi_sec a:hover {
	text-decoration: none;
	opacity: 0.7;
}
.navi_sec a:hover img {
	opacity: 1;
}
.navi_sec li i{
	width: 42px;
	text-align: center;
}
.navi_sec li i,
.navi_sec li span {
	display: table-cell;
	vertical-align: middle;
	line-height: 1.2;
	font-size: 12px;
}
.navi_sec .en {
	font-size: 16px;
	color: #00277a;
	text-transform: uppercase;
}
.navi_sec .nav5 .en {
	font-size: 12px;
}

/* ///////// RESPONSIVE ///////// */
@media screen and (min-width: 769px) {
	#gnavi {
		display: block !important;
	}
}
@media screen and (max-width: 768px) {
	#gnavi {
		display: none;
		position: fixed;
		top: 60px;
		left: 0;
		right: 0;
		bottom: 0;
		background: #00277a;
		overflow-y: auto;
	}
	.gnavi_inner {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
	}
	
	.nav_tit {
		padding: 15px 30px;
		font-size: 15px;
		text-align: left;
		border-bottom: 1px solid #fff;
	}
	.navi_sec li,
	.navi_sec li:nth-child(even) {
		background: #e6eaf2;
		border-bottom: 1px solid #00277a;
	}
	.navi_sec li li {
		border-top: 1px solid #00277a;
		border-bottom: none !important;
		background: #ccd4e4 !important;
	}
	.navi_sec a {
		display: block;
		padding: 15px 30px;
		line-height: 1;
	}
	.navi_sec li li a {
		padding: 15px 30px 15px 50px;
	}
	.navi_sec li i {
		display: none;
	}
	.navi_sec li span {
		display: inline-block;
		font-size: 11px;
	}
	.navi_sec li span br {
		display: none;
	}
	.navi_sec .en {
		padding-right: 10px;
		font-size: 15px;
	}
	.navi_sec .nav5 .en {
		font-size: 15px;
	}
	#gnavi .navi01 li:nth-child(1) .en { color: #314da0}
	#gnavi .navi01 li:nth-child(2) .en { color: #68c74e}
	#gnavi .navi01 li:nth-child(3) .en { color: #dd6b2c}	
	#gnavi .navi01 li:nth-child(4) .en { color: #46c0b0}
	#gnavi .navi01 li:nth-child(5) .en { color: #c84432}
	#gnavi .navi01 li:nth-child(6) .en { color: #e4ad36}

	/* ACCORDION */
	#gnavi .ac_btn {
		position: relative;
	}
	#gnavi .ac_btn::after {
		position: absolute;
		right: 10px;
		top: 50%;
		margin-top: -20px;
		content: url(../img/common/btn_open.png);
		zoom: .5;
	}
	#gnavi .ac_btn.active::after {
		content: url(../img/common/btn_close.png);
	}
	#gnavi li .ac_btn::after {
		content: url(../img/common/btn_open_child.png);
	}
	#gnavi li .ac_btn.active::after {
		content: url(../img/common/btn_close_child.png);
	}
	#gnavi .ac_content {
		display: none;
	}
}
@media screen and (max-width: 640px) {
}




/* INFO
-------------------------------------------------- */
#info {
	background: #e9ecf5;
	padding: 5px 0 30px
}
#info .inner {
	max-width: 1090px;
	padding: 0 45px;
	margin: auto;
}
#info table {
	width: 100%;
	margin-bottom: 1em;
}
#info td {
	padding: 10px 5px 10px 10px;
	line-height: 1.4;
}
#info tr:nth-child(odd) {
	background: #fff;
}
#info td.tag {
	white-space: nowrap;
	width: 70px;
	color: #fff;
	font-size: 0.9em;
}
#info i {
	display: inline-block;
	padding: 3px;
	text-align: center;
	text-transform: uppercase;
}
#info .new { background-color: #314da0}
#info .career { background-color: #46c0b0}
#info .handicap { background-color: #68c74e}
#info .intern { background-color: #dd6b2c}
#info .tit {
	font-size: 1.2em;
}
#info .more a {
	color: #10237b;
	font-size: 1.2em;
}

/* ///////// RESPONSIVE ///////// */
@media screen and (max-width: 768px) {
	#info {
		padding: 5px 0 20px
	}
	#info .inner {
		padding: 0 5px;
	}
	#info td {
		padding: 5px 0px 5px 5px;
	}
	#info td.date {
		font-size: 0.8em;
	}
	#info td.tag {
		width: 60px;
		font-size: 0.8em;
	}
	#info .tit {
		font-size: 1.1em;
	}
}
@media screen and (max-width: 640px) {
	#info td.tag {
		width: 50px;
	}
	#info i {
		padding: 2px;
	}
}




/* CASE STUDIES
-------------------------------------------------- */
#casestudies .cases_wrap {
	padding-left: 1px;
}
#casestudies .case {
	width: 33.333%;
	padding: 0 1px 1px 0;
}

/* ///////// RESPONSIVE ///////// */
@media screen and (max-width: 768px) {
	#casestudies .cases_wrap {
		padding-left: 2px;
	}
	#casestudies .case {
		width: 50%;
		padding: 0 2px 2px 0;
	}
	#casestudies .case:nth-child(2n+1) {
		clear: both;
	}

}
@media screen and (max-width: 640px) {
}






/* FOOTER
-------------------------------------------------- */
#footer {
	max-width: 980px;
	margin: 35px auto;
	font-size: 12px;
	line-height: 1.4;
}
#footer .links {
	width: 530px;
}
#footer .mrk {
	display: inline-block;
	padding: 0 0 0 10px;
	background: url(../img/common/mrk_flink.png) no-repeat 0 50%;
}

#footer .norton {
	margin: 3px 20px 0 0;
}
#footer .flink li {
	margin-right: 20px;
	font-size: 13px;
	line-height: 1.5;
}

#footer .copyright {
	display: block;
	margin: 15px 0 0;
	font-size: 11px;
}
#footer .sns li {
	margin-left: 15px;
}

/* ///////// RESPONSIVE ///////// */
@media screen and (max-width: 768px) {
	#footer {
		background: #00277a;
		margin: 0;
		text-align: center;
		color: #fff;
	}
	#footer .norton,
	#footer .logo,
	#footer .flink,
	#footer .sns {
		display: none;
	}
	#footer .links {
		float: none;
		width: 100%;
		overflow: hidden;
	}
	#footer .copyright {
		float: none;
		margin: 15px;
		text-align: center;
		font-size: 9px;
	}
}
@media screen and (max-width: 640px) {
}
