@charset "utf-8";
/***************************************
common.css
***************************************/

/***************************************
reset
***************************************/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
	font-weight: normal;
	font-size: 100%;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
div, article, section {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
html {
	overflow-y: scroll;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}
input, textarea {
	margin: 0;
	padding: 0;
}
ol, ul {
	list-style: none;
}
ol.default {
	list-style-type: decimal;
}
ol.default > li {
	margin-left: 2em;
}
table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
	font-size: 0;
}
caption, th {
	text-align: left;
}
a {
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	text-decoration: none;
	color: #fff;
}
a:focus {
	outline: none;
}
a:hover {
	color: #fff;
	text-decoration: none;
}
a:visited {
	color: #fff;
}
.clearfix {
	width: 0;
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
	width: 0;
	height: 0;
}
* html .clearfix {
	height: 1px;/*¥*//*/
	height: auto;
	overflow: hidden;
	/**/
}
html {
	color: #333;
	font-size: 10px;
	font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	letter-spacing: 0.16em;
}
body {
	-webkit-text-size-adjust: 100%;
	font-size: 1.5rem;
	background: #fff;
	letter-spacing: 0.1em;
	animation:start 2.0s ease 1;
}

@keyframes start {
    0% { opacity:0.0; }
    100% { opacity:1.0; }
}

.noto {
	font-family: 'Noto Sans Japanese';
}
.roboto {
	letter-spacing: 0.4em;
	font-family: 'Roboto';
	font-weight: normal;
}
.pb20{
	padding-bottom:20px;
}
.pb30{
	padding-bottom:30px;
}
.pb40{
	padding-bottom:40px;
}
.pb50{
	padding-bottom:50px;
}
.pb60{
	padding-bottom:60px;
}
.pb70{
	padding-bottom:70px;
}
.pb80{
	padding-bottom:80px;
}

.bold{
	font-weight: bold;
}
/***************************************
common settings
***************************************/
.sp {
	display: none !important;
}
#viewWrapper {
	overflow: hidden;
	width: 100%;
	min-width: 1200px;
}
.centerBox {
	padding: 40px 0 20px 0;
	text-align: center;
}
.centerBox2 {
	padding: 10px 0 20px 0;
	text-align: center;
}
.centerBox.high {
	padding:60px 10px 50px 10px;
}
.insetWrapper {
	display: block;
	width: 1050px;
	margin: auto;
}

.spaceWrapper {
	padding: 50px 0;
}
/******* button *******/
.button-white {
	display: inline-block;
	line-height: 40px;
	padding: 0 45px;
	text-align: center;
	letter-spacing: 0.3em;
	font-family: 'Roboto';
	border: 1px solid #fff;
	background: none;
	font-weight: 400;
	font-size: 1.4rem;
}
.button-white.hvr-shutter-out-horizontal:hover {
	color: #302681;
}
.button-white.hvr-shutter-out-horizontal:before {
	background: #fff;
}
.button-white i {
	padding-right: 5px;
	font-size: 1.8rem;
}
.button-ash {
	display: inline-block;
	line-height: 45px;
	padding: 0 30px;
	text-align: center;
	letter-spacing: 0.3em;
	font-family: 'Roboto';
	background: #333;
	font-weight: 400;
	font-size: 1.4rem;
}
.button-ash.long {
	padding: 0 100px;
}
.button-ash.hvr-shutter-out-horizontal:before {
	background: #302681;
}
.button-ash i {
	padding-right: 5px;
	font-size: 1.8rem;
}
.button-ash2 {
	display: inline-block;
	line-height: 40px;
	padding: 0 45px;
	text-align: center;
	letter-spacing: 0.3em;
	font-family: 'Roboto';
	background: #333;
	font-weight: 400;
	font-size: 1.4rem;
	margin-top: 5px;
}
.button-ash2.hvr-shutter-out-horizontal:before {
	background: #302681;
}
.button-ash2 i {
	padding-right: 5px;
	font-size: 1.8rem;
}
.button-blue {
	display: inline-block;
	line-height: 60px;
	padding: 0 45px;
	text-align: center;
	color: #fff;
	border: 1px solid #302681;
	background: #302681;
	font-weight: 400;
	font-size: 1.8rem;
}
.button-blue.large {
	width: 450px;
	padding: 0;
}
.button-blue.hvr-shutter-out-horizontal:hover {
	color: #302681;
}
.button-blue.hvr-shutter-out-horizontal:before {
	background: #fff;
}
.button-blue i {
	padding-right: 5px;
	font-size: 1.8rem;
}
.button-entry {
	display: inline-block;
	line-height: 60px;
	padding: 0 45px;
	text-align: center;
	color: #fff;
	background: #f29e20;
	font-weight: 400;
	font-size: 1.8rem;
}
.button-entry.large {
	width: 450px;
	padding: 0;
}
.button-entry.hvr-shutter-out-horizontal:before {
	background: #e89000;
}
.button-entry i {
	padding-right: 5px;
	font-size: 1.8rem;
}

.button-back {
	display: inline-block;
	line-height: 45px;
	padding: 0 45px;
	text-align: center;
	color: #fff;
	background: #444;
	font-weight: 400;
	font-size: 1.4rem;
}
.button-back .hvr-shutter-out-horizontal:hover {
	background: #666;
}
.button-back i {
	padding-right: 5px;
	font-size: 1.7rem;
}
/***************************************
header
***************************************/
header {
}
header a:hover {
	text-decoration: underline;
}
#headWrapper {
	position: fixed;
	z-index: 5;
	width: 100%;
	height: 60px;
	top: 0;
	left: 0;
	background: #302681;
}
#headWrapper .innerWrapper {
	display: table;
	width: 100%;
	min-width: 1200px;
	height: 60px;
	table-layout: fixed;
	margin: auto;
}
#headWrapper .innerWrapper > * {
	display: table-cell;
	width: 100%;
	vertical-align: middle;
	color: #fff;
}
/******* logoBox *******/
#headWrapper .innerWrapper > #logoBox {
	width: 300px;
	padding: 0 18px 0 25px;
	border-right: 1px solid #4f4694;
	box-sizing: border-box;
}
#logoBox > * {
	display: inline-block;
	line-height: 60px;
	vertical-align: middle;
	font-size: 1.2rem;
}
#logoBox > a img {
	vertical-align: -7px;
}
#logoBox h1 {
	padding-left: 10px;
}
/******* globalNavi *******/
#headWrapper .innerWrapper > #globalNaviSp {
	display: none;
}
#globalNavi ul {
	text-align: right;
	letter-spacing: 0em;
	font-size: 0;
	box-sizing: border-box;
}
#globalNavi ul li {
	display: inline-block;
	padding: 0 6px;
	vertical-align: middle;
	font-size: 1.4rem;
}
#globalNavi ul li a:hover {
	text-decoration: none;
}
#globalNavi ul li.entry {
	padding: 0;
	margin-left: 10px;
}
#globalNavi ul li.entry a {
	padding: 0 30px;
	font-size: 1.6rem;
	background: #f29e20;
}
#globalNavi ul li.entry a.hvr-shutter-out-horizontal:hover {
}
#globalNavi ul li.entry a.hvr-shutter-out-horizontal:before {
	background: #E89000;
}
#globalNavi ul li.entry i {
	padding-right: 10px;
}
#globalNavi ul li a {
	display: block;
	line-height: 60px;
	padding: 0 15px;
}
#globalNavi dl {
	position: relative;
	overflow: hidden;
}
#globalNavi dl dt {
	cursor: pointer;
	line-height: 60px;
	padding: 0 15px;
}
#globalNavi dl dd {
	position: absolute;
	display: none;
	width: 240px;
	background: rgba(48,38,129,.95);
}
#globalNavi dl dd ul li {
	display: block;
	text-align: left;
	border-bottom: 1px solid #6056a0;
	font-size: 1.2rem;
}
#globalNavi dl dd ul li a {
	line-height: 40px;
}
#globalNavi dl:hover {
	overflow: visible;
}
#globalNavi dl:hover dt {
	text-decoration: none
}
#globalNavi dl:hover dt + dd {
	display: block;
}
/***************************************
footer
***************************************/
footer a:hover {
	text-decoration: underline;
}
#footWrapper {
	width: 100%;
	padding-top: 0px;
	text-align: center;
	background: #333;
}
/******* platinum partner *******/
#platinum_partner {
	border-top: #EEEEEE 1px solid;
	padding: 30px 0;
	width: 100%;
	text-align: center;
}
#platinum_partner dt {
	padding-bottom: 10px;
}
#platinum_partner dd {
	font-size: 1.2rem;
}
/******* goToTop *******/
#goToTop {
	background: #EEEEEE;
}
#goToTop a {
	display: block;
	width: 150px;
	line-height: 60px;
	margin: auto;
	text-align: center;
	color: #333;
	font-size: 2.4rem;
	background: #ddd;
}
#goToTop a.hvr-shutter-out-horizontal:hover {
}
#goToTop a.hvr-shutter-out-horizontal:before {
	background: #CCC;
}
/******* linkBox *******/
.linkBox {
	padding: 10px 0;
	text-align: center;
}
.linkBox section {
	display: inline-block;
	padding: 0 30px 20px;
	text-align: left;
	vertical-align: top;
	letter-spacing:0;
	font-size: 1.4rem;
}
.linkBox li a {
	color: #b9b9b9;
	font-size: 1.2rem;
}
.linkBox li a:hover, .linkBox li a:visited {
	color: #b9b9b9;
}
.linkBox dl dt {
	padding-top: 25px;
	color:#FFF;
}
.linkBox dl dd {
	padding-top: 5px;
}
.linkBox dl dd li a {
	position: relative;
	line-height: 1.8;
}
.linkBox dl dd li a:before {
	content: "・";
	display: inline-block;
	vertical-align: middle;
}
/******* compBox *******/
.compBox {
	padding: 18px 0;
	text-align: center;
	letter-spacing: 0em;
	font-size: 0;
	border-top: 1px solid #4e4e4e;
	border-bottom: 1px solid #4e4e4e;
}
.compBox section {
	display: inline-block;
	padding: 5px 20px;
	text-align: left;
	vertical-align: middle;
	color: #fff;
	font-size: 1.2rem;
}
.compBox section:first-child {
	border-right: 1px solid #fff;
}
/******* copyRight *******/
#copyRight {
	padding: 10px 0;
	letter-spacing: 0.1em;
	color: #fff;
	font-family: 'Roboto';
	font-size: 1.2rem;
	background: #4e4e4e;
}



/***************************************
breadCrumb
***************************************/
#breadCrumb {
	border-bottom: 1px solid #eee;
}
#breadCrumb ul {
	padding: 8px 10px;
	font-size: 0;
}
#breadCrumb ul li {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	color: #999;
	font-size: 1.2rem;
}
#breadCrumb ul li:before {
	content: "／";
	display: inline-block;
	padding: 0 10px;
}
#breadCrumb ul li:first-child:before {
	content: "";
	display: none;
}
#breadCrumb ul li a {
	color: inherit;
}
#breadCrumb ul li a:hover {
	text-decoration: underline;
}
/***************************************
mainVisual
***************************************/
#mainVisual {
	position: relative;
	height: 724px;
	height: 100vh;
	text-align: center;
	background: url(../img/mv_top.jpg) no-repeat center center;
	background-size: cover;
}
#mainVisual section {
	position: absolute;
	line-height: 2;
	top: 55%;
	left: 0;
	right: 0;
	margin: -160px auto 0;
	font-size: 1.8rem;
	font-weight: bold;
}
#mainVisual section .title {
	letter-spacing: .3em;
	color: #301f83;
	font-size: 5.2rem;
	font-weight: bold;
}
#mainVisual section .imgBox {
	padding-bottom: 30px;
}
#mainVisual section .txtBox {
	padding-bottom: 30px;
}
#mainVisual section .btnBox {
	padding-top: 30px;
}
#mainVisual > p {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	font-size: 5.0rem;
}
#mainVisual > p a {
	padding: 20px;
	color: #5D5B5B;
}
#notFound #mainVisual {
	background: none;
}
#notFound #mainVisual section {
	margin-top: -200px;
}
/***************************************
mainVisual2nd
***************************************/
#mainVisual2nd {
	position: relative;
	text-align: center;
}
#mainVisual2nd img {
	width: 100%;
	height: auto;
}
#mainVisual2nd .insetWrapper {
	position: absolute;
	height: 100%;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
}
#mainVisual2nd .insetWrapper .profBox {
	position: absolute;
	display: table;
	table-layout: fixed;
	width: 200px;
	height: 200px;
	right: 0;
	bottom: 0;
	text-align: center;
	background: #301f83;
}
#mainVisual2nd .insetWrapper .profBox.career {
	background: #1090b4;
}
#mainVisual2nd .insetWrapper .profBox.fresh {
	background: #254881;
}
#mainVisual2nd .insetWrapper .profBox section {
	display: table-cell;
	vertical-align: middle;
	color: #fff;
}
#mainVisual2nd .insetWrapper .profBox section span {
	display: block;
	font-size: 1.2rem;
	padding-bottom:4px;
}
#mainVisual2nd .insetWrapper .profBox section span.txtIcon {
	display: inline-block;
	padding: 2px 10px;
	font-size: 1.1rem;
	border: 1px solid #fff;
}
#mainVisual2nd .insetWrapper .profBox section span + span {
	padding-top: 15px;
}
#mainVisual2nd .insetWrapper .profBox section p {
	font-size: 2.2rem;
	font-weight: bold;
	letter-spacing:0.1em;
	line-height:30px;
}
#mainVisual2nd .insetWrapper .profBox.career section p,
#mainVisual2nd .insetWrapper .profBox.fresh section p {
	letter-spacing:0.3em;
}
#mainVisual2nd .insetWrapper .profBox section p small {
	display: block;
	font-size: 1.1rem;
	letter-spacing:0.2em;
}
/***************************************
floatWrapper
***************************************/
.floatWrapper {
	position: relative;
	overflow: hidden;
	padding-top: 70px;
}
.floatWrapper.type-2 {
	padding:30px 0;
}
.floatWrapper.type-2:last-child {
	padding-bottom:50px;
}
/******* titleBox *******/
.floatWrapper.type-2 > .titleBox {
	padding:10px;
}
.floatWrapper.type-2 > .titleBox h4 {
	color: #302681;
	font-size: 2.4rem;
	font-weight: bold;
	border-bottom: 2px solid #302681;
}
/******* imgBox *******/
.floatWrapper > .imgBox {
}
.floatWrapper > .imgBox img {
	width: 100%;
	height: auto;
}
/******* txtBox *******/
.floatWrapper > .txtBox {
	font-size: 1.6rem;
	line-height:180%;
}
.floatWrapper > .txtBox h4 {
	padding-left:15px;
	line-height:35px;
	color: #302681;
	font-size: 2.5rem;
	font-weight: bold;
	border-left: 2px solid #302681;
}
.floatWrapper > .txtBox p {
	text-align:justify;
	padding-top: 10px;
}
.floatWrapper > .txtBox p + p {
	padding-top: 20px;
}
.floatWrapper > .txtBox p em {
	font-weight:bold;
}
.floatWrapper > .txtBox .list3c{
	padding-top:30px;
	letter-spacing:0;
	font-size:0;
}
.floatWrapper > .txtBox .list3c li{
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	display:inline-block;
	width:33.33333%;
	padding:0 15px;
	vertical-align:top;
	font-size:1.5rem;
}
.floatWrapper > .txtBox .list3c li p{
	line-height:1.3;
	padding-top:10px;
}
.floatWrapper > .txtBox .list3c li p em{
	display:block;
	padding:10px 0;
}
.floatWrapper > .txtBox .list4c{
	letter-spacing:0;
	font-size:0;
}
.floatWrapper > .txtBox .list4c li{
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	display:inline-block;
	width:25%;
	padding:20px 10px 0;
	vertical-align:top;
	font-size:1.5rem;
}
.floatWrapper > .txtBox .list4c li p{
	padding-top:10px;
	font-size:1.4rem;
}
.floatWrapper > .txtBox .list4c li p em{
	display:block;
	padding:5px 0 3px;
	color:#30267f;
	font-size:1.5rem;
	font-weight:normal;
	font-weight:bold;
}
.floatWrapper > .txtBox .list4c li a:hover{
	opacity:.7;
}
.floatWrapper > .txtBox .list4c li img{
	border:1px solid #ccc;
}
/******* leftTxt *******/
.floatWrapper.left > .txtBox {
	float: left;
	width: 550px;
	padding-right: 40px;
}
.floatWrapper.left > .imgBox {
	margin-left: 550px;
}
/******* rightTxt *******/
.floatWrapper.right > .txtBox {
	float: right;
	width: 550px;
	padding-left: 40px;
}
.floatWrapper.right > .imgBox {
	margin-right: 550px;
}
/***************************************
serviceSection
***************************************/
.serviceSection:nth-child(odd){
	background:#f4f4f4;
}
.serviceSection .floatWrapper{
	padding:50px 0;
}
.serviceSection .floatWrapper .pointBox{
	position:absolute;
	z-index:3;
	width:120px;
	height:120px;
	margin-left:5px;
	padding-top:25px;
	text-align:center;
	color:#fff;
	font-size:1.6rem;
	font-weight:bold;
	background:#9791c2;
}
.serviceSection .floatWrapper .pointBox:before{
	content:"";
	position:absolute;
	z-index:-1;
	width:120px;
	height:120px;
	top:-5px;
	left:-5px;
	background:#302083;
}
.serviceSection .floatWrapper .pointBox em{
	display:block;
	font-size:4.5rem;
}
.serviceSection .floatWrapper .titleBox{
	padding:15px 0;
	padding-left:150px;
}
.serviceSection .floatWrapper .titleBox h4{
	color:#30267f;
	font-size:2.5rem;
	font-weight:bold;
}
.serviceSection .floatWrapper .titleBox p{
	padding-top:10px;
	font-size:1.5rem;
}
.serviceSection .floatWrapper > .txtBox p + p {
	padding-top: 20px;
}
.serviceSection .floatWrapper > .txtBox p .subTitle{
	display:block;
	margin-bottom:10px;
	padding:5px 0;
	font-size:1.6rem;
	font-weight:bold;
}
.serviceSection .floatWrapper > .txtBox p .subTitle.gold{
	border-bottom:2px solid #b28500;
}
.serviceSection .floatWrapper > .txtBox p .subTitle.gold:first-letter{
	color:#b28500;
}
.serviceSection .floatWrapper > .txtBox p .subTitle.silver{
	border-bottom:2px solid #aaa;
}
.serviceSection .floatWrapper > .txtBox p .subTitle.silver:first-letter{
	color:#aaa;
}
/******* leftImg *******/
.serviceSection .floatWrapper.left > .txtBox {
	float: none;
	width: auto;
	margin-left: 550px;
	padding-left: 40px;
	padding-right: 0;
}
.serviceSection .floatWrapper.left > .txtBox p {
	padding-top:0;
}
.serviceSection .floatWrapper.left > .txtBox p  + p {
	padding-top:20px;
}
.serviceSection .floatWrapper.left > .imgBox {
	float: left;
	width: 550px;
	margin-left: 0;
}
/******* rightImg *******/
.serviceSection .floatWrapper.right .titleBox{
	padding-left:0;
}
.serviceSection .floatWrapper.right > .txtBox p {
	padding-top:0;
}
.serviceSection .floatWrapper.right > .txtBox p + p {
	padding-top:20px;
}
.serviceSection .floatWrapper.right .pointBox{
	right:0;
}
.serviceSection .floatWrapper.right > .txtBox {
	float: none;
	width: auto;
	margin-right: 550px;
	padding-left: 0;
	padding-right: 40px;
}
.serviceSection .floatWrapper.right > .imgBox {
	float: right;
	width: 550px;
	margin-right: 0;
}
/***************************************
tableWrapper
***************************************/
.tableWrapper {
	display: table;
	table-layout: fixed;
	width: 100%;
	padding-top: 10px;
}
.tableWrapper > * {
	display: table-cell;
	width: 100%;
	vertical-align: top;
}
/******* block *******/
.tableWrapper.block {
	display: block;
	font-size: 0;
	letter-spacing: 0em;
}
.tableWrapper.block.type-2 {
	padding-bottom:50px;
}
.tableWrapper.block > * {
	display: inline-block;
	width: auto;
	font-size: 1.4rem;
}
/******* imgBox *******/
.tableWrapper > .imgBox {
	width: 680px;
	height: 400px;
}
.tableWrapper > .imgBox img {
	width: auto;
	height: 100%;
}
/******* txtBox *******/
.tableWrapper > .txtBox {
	padding: 40px 50px;
	color: #fff;
	background: #302681;
}
.tableWrapper > .txtBox h3 {
	padding-top: 10px;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: 0.1em;
}
.tableWrapper > .txtBox p {
	line-height: 2;
	padding-top: 20px;
	text-align: justify;
}
/******* memberBox *******/
.tableWrapper > .memberBox {
	position: relative;
	width: 25%;
}
.tableWrapper > .memberBox .imgBox {
	overflow: hidden;
	height: 300px;
	border: 1px solid #fff;
}
.tableWrapper > .memberBox .imgBox img {
	width: 100%;
}
.tableWrapper > .memberBox .overWrapInfo {
	position: absolute;
	display: none;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	text-align: center;
}
.tableWrapper > .memberBox .overWrapInfo.hvr-sweep-to-right:before {
	background: rgba(48,38,129,.85);
}
.tableWrapper > .memberBox:hover .overWrapInfo {
	display: block;
}
.tableWrapper > .memberBox .overWrapInfo p.txtBox {
	position: absolute;
	top: 48%;
	left: 0;
	right: 0;
	bottom: 0;
	margin: -50px auto 0;
	color: #fff;
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 145%;
}
.tableWrapper > .memberBox .overWrapInfo p.txtBox small {
	display: block;
	font-size: 1.3rem;
	font-weight: normal;
}
.tableWrapper > .memberBox .overWrapInfo p.btnWrapper {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 40px;
	margin: auto;
}
/******* cliantBox *******/
.tableWrapper > .cliantBox {
	position: relative;
	width: 33.33333%;
	padding-bottom: 30px;
}
.tableWrapper > .cliantBox.type-2 {
	padding-top:40px;
}
.tableWrapper > .cliantBox .imgBox {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	position:relative;
	width:100%;
	height: 300px;
	border: 1px solid #fff;
	background:#f4f4f9;
}
.tableWrapper > .cliantBox .imgBox.hvr-shutter-out-horizontal:hover{
}
.tableWrapper > .cliantBox .imgBox.hvr-shutter-out-horizontal:before{
	border:1px solid #f4f4f9;
	background:#fff;
}
.tableWrapper > .cliantBox .imgBox img {
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	margin:auto;
}
.tableWrapper > .cliantBox .overWrapInfo {
	position:relative;
	z-index:1;
	margin: -30px 10%;
	padding: 35px;
	box-shadow: 0 1px 2px rgba(0,0,0,.2);
	background: #fff;
}
.tableWrapper > .cliantBox.type-2 .overWrapInfo {
	height:320px;
}
.tableWrapper > .cliantBox .overWrapInfo h3 {
	color: #302681;
	font-size: 1.8rem;
	font-weight: bold;
}
.tableWrapper > .cliantBox .overWrapInfo h3 a {
	color:inherit;
	font-weight:bold;
}
.tableWrapper > .cliantBox .overWrapInfo h3 a:hover {
	text-decoration:underline;
}
.tableWrapper > .cliantBox .overWrapInfo p {
	padding-top: 10px;
	text-align: justify;
}
.tableWrapper > .cliantBox .overWrapInfo .svIcon {
	padding-top:15px;
	letter-spacing: 0em;
	font-size: 0;
}
.tableWrapper > .cliantBox .overWrapInfo .svIcon li {
	display: inline-block;
	margin: 5px 5px 0 0;
	padding: 3px 10px;
	vertical-align: top;
	color: #999;
	font-size: 1.1rem;
	border: 1px solid #999;
}
/******* bigBtn *******/
.tableWrapper > .bigBtn{
	height:300px;
	text-align:center;
	vertical-align:middle;
	background:#27497f;
	line-height:200%;
}
.tableWrapper > .bigBtn.hvr-shutter-out-horizontal:hover{
	
}
.tableWrapper > .bigBtn.hvr-shutter-out-horizontal:before{
	background:#203F73;
}
.tableWrapper > .bigBtn.light{
	background:#1e90b2;
}
.tableWrapper > .bigBtn.light.hvr-shutter-out-horizontal:hover{
	
}
.tableWrapper > .bigBtn.light.hvr-shutter-out-horizontal:before{
	background:#0E80A0;
}
.tableWrapper > .bigBtn em{
	display:block;
	letter-spacing:0.3em;
	font-family: 'Roboto';
	font-size:2.5rem;
	font-weight:500;
}

/***************************************
top-contentsBox
***************************************/
.top-contentsBox {
}
.top-contentsBox h2 {
	padding-top: 45px;
	text-align: center;
	font-size: 1.4rem;
	margin-bottom: 11px;
}
.top-contentsBox h2 em {
	display: block;
	padding-bottom: 2px;
	color: #302283;
	font-family: 'Roboto';
	font-size: 2.5rem;
	font-weight: 700;
	letter-spacing: 0.3em;
}
/******* about *******/
.top-contentsBox.about {
	margin-top: 50px;
	padding-top: 10px;
	text-align: center;
	letter-spacing: 0em;
	font-size: 0;
	background: url(../img/bg_top_about.jpg) no-repeat center center;
	background-size: cover;
	height: 420px;
}
.top-contentsBox.about h2 {
	font-size: 1.5rem;
}
.top-contentsBox.about section {
	display: inline-block;
	width: 510px;
	margin: 15px 10px;
	padding: 30px 35px;
	text-align: left;
	font-size: 1.5rem;
	border: 2px solid #6c62a6;
	background: rgba(255,255,255,.8);
}
.top-contentsBox.about section h3 {
	padding-left: 10px;
	color: #302681;
	font-size: 1.8rem;
	font-weight: bold;
	border-left: 3px solid #302681;
}
.top-contentsBox.about section p {
	padding-top: 10px;
	text-align: justify;
}
/***************************************
pageTitle
***************************************/
.pageTitle {
	margin-top: 60px;
	padding: 33px 0 30px;
	text-align: center;
	font-size: 1.3rem;
	font-weight: bold;
}
.pageTitle em {
	display: block;
	color: #302681;
	font-size: 2.5rem;
	font-weight: bold;
}
/***************************************
privacyBox
***************************************/
.privacyBox {
	padding: 0 10px;
}
.privacyBox + .privacyBox {
	padding-bottom: 50px;
}
.privacyBox h3 {
	padding: 40px 0 10px;
	letter-spacing: 0.1em;
	color: #302681;
	font-size: 2.0rem;
	font-weight: bold;
	border-bottom: 2px solid #302681;
}
.privacyBox dl {
	
}
.privacyBox dl dt {
	padding-top: 20px;
	font-weight: bold;
}
.privacyBox dl dd {
	padding-top: 10px;
	margin-bottom:14px;
}
.privacyBox .txtBox {
	padding-top: 20px;
	
}
.privacyBox .txtBox em {
	font-weight: bold;
}
.privacyBox .txtBox a {
	color: inherit;
}
.privacyBox .txtBox a:hover {
	text-decoration: underline;
}
/***************************************
leadMessage
***************************************/
.leadMessage {
	padding: 70px 0 10px;
	text-align: center;
}
.leadMessage p {
	display: inline-block;
	padding: 20px 0;
	color: #302681;
	font-size: 3.2rem;
	font-weight: bold;
	border-top: 5px solid #eae8f2;
	border-bottom: 5px solid #eae8f2;
}
/***************************************
offTime
***************************************/
.offTime {
	margin-top: 70px;
	padding: 25px 0;
	background: #302681;
}
.offTime dl {
	display: table;
	table-layout: fixed;
	width: 100%;
}
.offTime dl > * {
	display: table-cell;
	width: 100%;
	vertical-align: middle;
}
.offTime dl > dt {
	width: 150px;
}
.offTime dl > dt img {
	border-radius: 50%;
}
.offTime dl > dd {
	padding-left: 30px;
	color: #fff;
	font-size: 1.5rem;
}
.offTime dl > dd em {
	display: inline-block;
	padding: 5px 15px;
	color: #302681;
	font-size: 1.8rem;
	font-weight: bold;
	background: #fff;
}
.offTime dl > dd p {
	padding-top: 15px;
	text-align:justify;
}
/***************************************
bigBtnList
***************************************/
.bigBtnList {
	padding:50px 0;
}
.bigBtnList ul {
	letter-spacing:0;
	font-size:0;
}
.bigBtnList .caution{
	padding:0px 10px 10px 10px;
}

.bigBtnList ul li {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	display:inline-block;
	width:50%;
	padding:10px;
	vertical-align:top;
}
.bigBtnList ul li a {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	display:table;
	table-layout:fixed;
	width:100%;
	height:150px;
	font-size:1.8rem;
	font-weight:bold;
	background:#fff;
}
.bigBtnList ul li a.hvr-shutter-out-horizontal:hover {
	color: #fff;
}
.bigBtnList.career ul li a {
	color:#1090b3;
	border:2px solid #1090b3;
}
.bigBtnList.career ul li a.hvr-shutter-out-horizontal:before {
	background: #1090b3;
}
.bigBtnList.fresh ul li a {
	color:#224585;
	border:2px solid #224585;
}
.bigBtnList.fresh ul li a.hvr-shutter-out-horizontal:before {
	background: #224585;
}
.bigBtnList ul li a p {
	display:table-cell;
	width:100%;
	text-align:center;
	vertical-align:middle;
}
/***************************************
stepNavi
***************************************/
.stepNavi{
	padding:50px 0 30px;
	text-align:center;
	letter-spacing:0;
	font-size:0;
}
.stepNavi li{
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	position:relative;
	display:inline-block;
	width:200px;
	height: 50px;
	margin:0 40px;
	padding:13px 0;
	vertical-align:middle;
	text-align:center;
	font-size:1.5rem;
	background:#eee;
}
.stepNavi li:before{
	content:"";
	position:absolute;
	width:80px;
	height:3px;
	top:0;
	right:-80px;
	bottom:0;
	margin:auto;
	background:#eee;
}
.stepNavi li em{
	margin-right:10px;
	padding-right:10px;
	border-right:2px solid #bfbfbf;
}
/******* active *******/
.stepNavi li.active{
	width:180px;
	padding-left:10px;
	color:#fff;
	background:#302681;
}
.stepNavi li.active:before{
	content:"";
	z-index:-1;
	width:100px;
	right:-100px;
	background:#302681;
}
.stepNavi li.active:after{
	content:"";
	position:absolute;
	width:0;
	height:0;
	top:0;
	right:-20px;
	bottom:0;
	border-top:25px solid transparent;
	border-left:20px solid #302681;
	border-bottom:25px solid transparent;
}
/******* last-child *******/
.stepNavi li:last-child{
	width:200px;
	padding-left:0;
}
.stepNavi li:last-child:before{
	display:none;
}
.stepNavi li:last-child:after{
	display:none;
}

/***************************************
infoTable
***************************************/
.infoTable {
	padding:50px 0;
}
.infoTable h2 {
	padding-left:10px;
	font-size:2rem;
	font-weight:bold;
}
.infoTable.career h2 {
	color:#008eb6;
	border-left:2px solid #008eb6;
}
.infoTable.fresh h2 {
	color:#224585;
	border-left:2px solid #224585;
}
.infoTable .infoWrapper {
	padding-top:20px;
}
.infoTable .infoWrapper p.thanks_ttl{
	color:#302681;
	text-align:center;
	padding-top:10px;
	font-size:5.5rem;
	padding-bottom:15px;
}
.infoTable .infoWrapper p.thanks_detail{
font-size:1.7rem;
	text-align:center;
	padding-bottom:35px;	
}
.infoTable .infoWrapper dl {
	display:table;
	table-layout:fixed;
	width:100%;
	border:1px solid #e4ebef;
	border-top:none;
	border-left:none;
}
.infoTable .infoWrapper dl:first-of-type {
	border-top:1px solid #e4ebef;
}
.infoTable .infoWrapper dl > dt,
.infoTable .infoWrapper dl > dd {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	display:table-cell;
	width:100%;
	padding:25px;
	vertical-align:top;
	font-size:1.5rem;
	border-bottom:1px solid #fff;
}
.infoTable .infoWrapper dl > dt {
	width:215px;
	background:#e4ebef;
}
.infoTable.form .infoWrapper dl > dt {
	background:#f1f0f5;
}
.infoTable .infoWrapper dl > dd p + p {
	padding-top:15px;
}
/******* form *******/
.infoTable .txtBox a {
	color:inherit;
	text-decoration:underline;
}
.infoTable .infoWrapper .memo {
	font-size:1.2rem;
}
.infoTable .infoWrapper .memo .red{
	color:#f00;
}
.infoTable .infoWrapper .memo + dl {
	margin-top:20px;
}
.infoTable.form .infoWrapper dl > dt {
	font-weight:bold;
	background:#f1f0f5;
}
.infoTable.form .infoWrapper dl > dt.require {
	position:relative;
}
.infoTable.form .infoWrapper dl > dt.require:after {
	content:"※";
	display:inline-block;
	padding-left:2px;
	font-size:1.2rem;
	vertical-align:top;
	color:#f00;
}
.infoTable.form .infoWrapper dl > dd section + section{
	padding-top:10px;
}
.infoTable.form .infoWrapper dl > dd .comment{
	display:inline-block;
	line-height:45px;
	padding-left:5px;
	font-size:1.3rem;
}
.infoTable.form .infoWrapper dl > dd .caution{
	display:block;
	padding-top:5px;
	color:#999;
	font-size:1.3rem;
}
.infoTable.form .infoWrapper dl > dd label{
	position:relative;
	display:inline-block;
}
.infoTable.form .infoWrapper dl > dd label.list{
	display:inline-block;
	margin-left:30px;
	vertical-align:middle;
}
.infoTable.form .infoWrapper dl > dd label.list:first-child{
	margin-left:0;
}
.infoTable.form .infoWrapper dl > dd label span.pullDown{
	position:absolute;
	pointer-events:none;
	z-index:-1;
	width:45px;
	height:45px;
	line-height:45px;
	top:0;
	right:0;
	text-align:center;
	background:#444;
}
.infoTable.form .infoWrapper dl > dd label span.pullDown i{
	color:#fff;
	font-size:2rem;
}
/***************************************
form parts
***************************************/
input[type="text"],
input[type="tel"],
input[type="password"],
select{
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	height:45px;
	line-height:45px;
	padding:0 5px;
	border:1px solid #ccc;
	background:none;
}
select{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius:0;
}
select::-ms-expand {
	display: none;
}
textarea{
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	width:100%;
	padding:5px;
	border:1px solid #ccc;
	background:none;
}
.ss{
	width:150px;
}
.s{
	width:200px;
}
.m{
	width:350px;
}
.l{
	width:500px;
}
/***************************************
faqList
***************************************/
.faqList {
	padding:50px 0;
}
.faqList li:last-child dl {
	border-bottom:1px solid #f1f0f5;
}
.faqList dl dt {
	display:table;
	table-layout:fixed;
	width:100%;
}
.faqList dl dt p {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	display:table-cell;
	width:100%;
	height:80px;
	vertical-align:middle;
	border-top:1px solid #f1f0f5;
}
.faqList dl dt p.qTxt {
	position:relative;
	padding:0 10px 0 50px;
	font-weight:bold;
}
.faqList dl dt p.qTxt:before {
	content:"Q";
	position:absolute;
	display:inline-block;
	top:22px;
	left:20px;
	color:#302681;
	font-family: 'Roboto';
	font-size:2.5rem;
	font-weight:bold;
}
.faqList dl dt p.iconBox {
	cursor:pointer;
	width:80px;
	text-align:center;
	border-top:1px solid #fff;
	background:#f1f0f5;
}
.faqList dl dt p.iconBox.hvr-shutter-out-horizontal:hover {
}
.faqList dl dt p.iconBox.hvr-shutter-out-horizontal:before {
	background:#aaa;
}
.faqList dl dt p.iconBox i {
	font-size:2rem;
	-weibkit-transition:all .5s 0 ease-out;
	-moz-transition:all .5s 0 ease-out;
	transition:all .5s 0 ease-out;
}
.faqList dl dd {
	position:relative;
	display:none;
	padding:20px 10px 20px 50px;
}
.faqList dl dd:before {
	content:"A";
	position:absolute;
	display:inline-block;
	top:16px;
	left:20px;
	color:#d97099;
	font-family: 'Roboto';
	font-size:2.5rem;
	font-weight:bold;
}
/******* open *******/
.faqList dl.open dt p.qTxt {
	background:#f1f0f5;
	font-weight:bold;
}
.faqList dl.open dt p.iconBox,
.faqList li:first-child dl dt p.iconBox {
	border-top:1px solid #f1f0f5;
}
.faqList dl.open dt p.iconBox i {
	-webkit-transform:rotate(180deg);
	-moz-transform:rotate(180deg);
	transform:rotate(180deg);
}
/***************************************
walfareList
***************************************/
.walfareList {
	padding:50px 0;
}
.walfareList .txtBox {
	padding:0 10px;
	font-size:1.5rem;
}
.walfareList ul {
	padding-top:30px;
	letter-spacing:0;
	font-size:0;
}
.walfareList ul li {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	display:inline-block;
	width:25%;
	padding:10px;
	font-size:1.6rem;
}
.walfareList ul li .walfareBox{
	display:table;
	table-layout:fixed;
	width:100%;
}
.walfareList ul li .walfareBox section{
	position:relative;
	display:table-cell;
	width:100%;
	height:250px;
	vertical-align:middle;
	text-align:center;
	background:#f1f0f5;
}
.walfareList ul li .walfareBox section span{
	position:absolute;
	z-index:2;
	display:block;
	width:30px;
	height:30px;
	line-height:30px;
	top:0;
	left:0;
	text-align:center;
	letter-spacing:0;
	color:#fff;
	font-weight:bold;
	background:#302681;
}
.walfareList ul li .walfareBox section span:before{
	content:"";
	position:absolute;
	z-index:-1;
	width:0;
	height:0;
	top:0;
	left:0;
	border-top:30px solid #302681;
	border-left:30px solid #302681;
	border-right:30px solid transparent;
	border-bottom:30px solid transparent;
}
.walfareList ul li .walfareBox section .imgBox{
	width:130px;
	height:130px;
	margin:auto;
	vertical-align:middle;
	border-radius:50%;
	background:#fff;
}
.walfareList ul li .walfareBox section .titleText{
	padding-top:10px;
	letter-spacing:.2em;
	font-weight:bold;
}
/***************************************
galleryList
***************************************/
.galleryList {
	padding:20px 0 50px;
}
.galleryList ul {
	padding-top: 10px;
	letter-spacing:0;
	font-size: 0;
}
.galleryList ul li {
	position: relative;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: inline-block;
	width: 33.33333%;
	margin-top: 30px;
	padding: 0 15px;
	vertical-align: top;
	font-size: 1.4rem;
}
.galleryList ul li .itemWrapper {
	position: relative;
	overflow: hidden;
	display: block;
	max-width: 330px;
	margin: auto;
	color: inherit;
}
.galleryList ul li .itemWrapper:before {
	content: "";
	display: block;
	padding-bottom: 100%;
}
.galleryList ul li a.itemWrapper:hover {
	opacity: .7;
}
.galleryList ul li .itemWrapper .thumbBox {
	position: absolute;
	overflow: hidden;
	width: 100%;
	height: 100%;
	max-height: 330px;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
.galleryList ul li .itemWrapper .thumbBox img {
	position: relative;
	width: auto;
	max-width: none;
	height: 100%;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.galleryList ul li .hiddenBox{
	display:none;
}
.galleryList ul li .infoBox {
	padding-top: 10px;
}
.galleryList ul li .infoBox h3 {
	overflow: hidden;
	font-size: 1.5rem;
}
#boxer .boxer-close:before{
	letter-spacing:0;
}
/***************************************
caseStudyArea
***************************************/
.caseStudyArea{
	padding:50px 0;
}
.caseStudyArea h2{
	margin-top:50px;
	padding-left:18px;
	color:#30267f;
	font-size:2.8rem;
	font-weight:bold;
	border-left:2px solid #30267f;
}
.caseStudyArea .txtBox{
	font-size:1.5rem;
}
.caseStudyArea .comBox{
	display:table;
	table-layout:fixed;
	width:100%;
	margin-top:30px;
	padding:20px 0;
	border:3px solid #eee;
}
.caseStudyArea .comBox > div{
	display:table-cell;
	width:100%;
	vertical-align:middle;
}
.caseStudyArea .comBox .imgBox{
	width:210px;
	text-align:center;
	border-right:3px solid #eee;
}
.caseStudyArea .comBox .txtBox{
	padding:0 20px;
	font-size:1.3rem;
}
.caseStudyArea .comBox .txtBox em{
	display:block;
	padding:5px 0;
	font-size:1.5rem;
	font-weight:bold;
}

table.case {
	width: 100%;
	margin-bottom: 20px;
	box-sizing: border-box;
	border: 1px solid #ccc;
	font-size:1.4rem;
}
table.case th {
	background: #ededed;
	border: 1px solid #ccc;
	padding: 10px;
	width: 22%;
}
table.case td.left {
	width: 30%;
	border: 1px solid #ccc;
	padding: 10px;
}
table.case td.right {
	width: 48%;
	border: 1px solid #ccc;
	padding: 10px;
}


/******* interviewArea *******/
.caseStudyArea .interviewArea{
	overflow:hidden;
	padding-top:20px;
}
.caseStudyArea .interviewArea .qaBox{
}
.caseStudyArea .interviewArea .qaBox em{
	display:block;
	padding:10px 0;
	padding-left:1em;
	text-indent:-1em;
	font-size:1.6rem;
	font-weight:bold;
}
.caseStudyArea .interviewArea .qaBox p + p{
	padding-top:20px;
}
.caseStudyArea .interviewArea .qaBox p a{
	color:#30267F;
	text-decoration:underline;
	font-weight:bold;
}

.caseStudyArea .interviewArea .imgBox{
	text-align:center;
	padding-top:10px;
	padding-bottom:15px;
}


/******* interviewArea left*******/
.caseStudyArea .interviewArea.left .imgBox{
	float:left;
	padding-top:10px;
}
.caseStudyArea .interviewArea.left .qaBox{
	margin-left:230px;
}
/******* interviewArea right*******/
.caseStudyArea .interviewArea.right .imgBox{
	float:right;
	padding-top:10px;
}
.caseStudyArea .interviewArea.right .qaBox{
	margin-right:230px;
}
/***************************************
floatBtSp
***************************************/
#floatBtSp {
	display: none;
}
 @media screen and (max-width:767px) {
/***************************************
reset
***************************************/
html {
	font-size: 8px;
}
/***************************************
common settings
***************************************/
.sp {
	display: block !important;
}
.pc {
	display: none !important;
}
#viewWrapper {
	min-width: auto;
}
.insetWrapper {
	width: auto;
}
.spaceWrapper {
	padding: 30px 0;
}
/******* button *******/
.button-white {
	display: block;
	line-height: 55px;
	font-size: 1.8rem;
	margin-top: 5px;
	margin-bottom: 4px;
}
.button-ash.long {
	display: block;
	margin: 0 25px;
	line-height: 55px;
	padding: 0;
	font-size: 1.8rem;
}
.button-ash2 {
	display: block;
	margin-top: 8px;
	line-height: 45px;
	padding: 0;
	font-size: 1.8rem;
}
.button-blue {
	display: block;
	line-height: 55px;
	font-size: 1.8rem;
	margin-top: 5px;
	margin-bottom: 4px;
}
.button-blue.large {
	width: auto;
}
.button-entry {
	display: block;
	line-height: 55px;
	font-size: 1.8rem;
	margin-top: 5px;
	margin-bottom: 4px;
}
.button-entry.large {
	width: auto;
}
.button-white i, .button-ash.long i, .button-ash2 i, .button-blue i {
	font-size: 2.2rem;
}
.centerBox {
	padding: 25px 0 20px 0;
	text-align: center;
}
.centerBox.high {
	padding: 35px 10px 30px 10px;
}
.pb80{
	padding-bottom:40px;
}
/***************************************
top-contentsBox
***************************************/
.top-contentsBox {
}
.top-contentsBox h2 {
	padding-top: 30px;
	text-align: center;
	font-size: 1.6rem;
	margin-bottom: 6px;
}
.top-contentsBox h2 em {
	display: block;
	padding-bottom: 2px;
	color: #302283;
	font-family: 'Roboto';
	font-size: 3.0rem;
	font-weight: 700;
	letter-spacing: 0.24em;
}
/******* txtBox *******/

.tableWrapper > .txtBox h3 {
	padding-top: 0px;
	font-size: 2.2rem;
}
.tableWrapper > .txtBox p {
	line-height: 2;
	padding-top: 14px;
	text-align: justify;
	font-size: 1.7rem;
}
/***************************************
header
***************************************/
header {
}
#headWrapper, #headWrapper .innerWrapper {
	min-width: auto;
	height: 50px;
}
#headWrapper .innerWrapper {
	display: table;
	table-layout: fixed;
	width: 100%;
}
/******* logoBox *******/
#headWrapper .innerWrapper > #logoBox {
	display: table-cell;
	width: 100%;
	padding: 0 10px;
	vertical-align: middle;
}
#logoBox > * {
	line-height: 50px;
}
#logoBox > a img {
	vertical-align: -9px;
}
#logoBox h1 {
	position: relative;
	padding-left: 10px;
	font-size: 1.6rem;
}
/******* globalNavi *******/
#globalNavi {
	display: none !important;
}
#headWrapper .innerWrapper > #globalNaviSp {
	display: table-cell;
	width: 50px;
	vertical-align: middle;
}
#globalNaviSp dl {
}
#globalNaviSp dl dt {
	height: 50px;
	background: url(../img/bt_spMenu.png)no-repeat 0 0;
	background-size: 50px auto;
}
#globalNaviSp.open dl dt {
	background-position: 0 -50px;
}
#globalNaviSp dl dd {
	position: absolute;
	display: none;
	width: 100%;
	top: 50px;
	right: 0;
	background: rgba(48,38,129,.95);
}
#globalNaviSp ul {
	letter-spacing: 0em;
	font-size: 0;
}
#globalNaviSp ul li {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: inline-block;
	width: 50%;
	vertical-align: top;
	text-align: left;
	border-bottom: 1px solid #6056A0;
}
#globalNaviSp ul li:nth-child(even) {
	border-left: 1px solid #6056A0;
}
#globalNaviSp ul li a {
	display: block;
	line-height: 50px;
	padding: 0 10px;
	color: #fff;
	font-size: 1.7rem;
}
#globalNaviSp ul li.wide {
	width: 100%;
	text-align: center;
}
#globalNaviSp ul li.wide a {
	line-height: 45px;
}
#globalNaviSp ul li.entry {
	width: 100%;
	padding: 20px;
	border-left: none;
}
#globalNaviSp ul li.entry a {
	display: block;
	line-height: 55px;
	text-align: center;
	letter-spacing: 0.2em;
	font-size: 2.0rem;
	background: #f29e20;
}
#globalNaviSp ul li.entry i {
	padding-right: 5px;
	font-size: 2.2rem;
}
/***************************************
footer
***************************************/
#footWrapper {
	padding-top: 0;
	padding-bottom: 50px;
}
/******* platinum partner *******/
#platinum_partner {
	padding: 20px 0;
}
#platinum_partner dt img {
	width: 200px;
}
#platinum_partner dd {
}
/******* goToTop *******/
#goToTop a {
	width: 90px;
	line-height: 45px;
}
/******* linkBox *******/
.linkBox.sp {
	padding-top: 0;
}
.linkBox.sp ul {
	letter-spacing: 0em;
	font-size: 0;
}
.linkBox.sp ul li {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: inline-block;
	width: 50%;
	vertical-align: top;
	text-align: left;
	border-bottom: 1px solid #4e4e4e;
}
.linkBox.sp ul li:nth-child(even) {
	border-left: 1px solid #4e4e4e;
}
.linkBox.sp ul li a {
	display: block;
	line-height: 45px;
	padding: 0 10px;
	color: #fff;
	font-size: 1.6rem;
}
.linkBox li a {
	font-size: 1.5rem;
}
#copyRight {
	font-size: 1.6rem;
}
/******* compBox *******/
.compBox {
	border-top: none;
}
.compBox section {
	width: 50%;
	font-size: 1.4rem;
}
.compBox section img {
	text-align: right;
}
/***************************************
breadCrumb
***************************************/
#breadCrumb {
	overflow-x: auto;
}
#breadCrumb ul {
	padding: 6px 15px;
	white-space: nowrap;
}
/***************************************
mainVisual
***************************************/
#mainVisual {
	height: 610px;
	height: 100vh;
}
#mainVisual section {
	line-height: 1.8;
	margin-top: -120px;
	padding: 0 10px;
	white-space: nowrap;
}
#mainVisual section .imgBox {
	padding: 0 25px 20px;
}
#notFound #mainVisual section {
	margin-top: -140px;
}
#notFound #mainVisual section .title {
	font-size: 3rem;
}
#notFound #mainVisual section .txtBox {
	font-size: 1.2rem;
}
/***************************************
mainVisual2nd
***************************************/
#mainVisual2nd.pickUp {
	position: relative;
}
#mainVisual2nd.pickUp img {
	position: relative;
	width: 960px;
	max-width: none;
	height: 300px;
	left: 50%;
	margin-left: -480px;
}
#mainVisual2nd .insetWrapper {
	position: relative;
	top: 0;
	left: 0;
	padding: 0;
}
#mainVisual2nd .insetWrapper .profBox {
	position: relative;
	width: 100%;
	height: auto;
	top: 0;
	left: 0;
	right: auto;
	bottom: auto;
	padding: 14px 0;
}


#mainVisual2nd .insetWrapper .profBox section span {
	font-size: 1.7rem;
	padding-bottom:2px;
}
#mainVisual2nd .insetWrapper .profBox section span.txtIcon {
	display: inline-block;
	padding: 2px 5px;
	font-size: 1.1rem;
	border: 1px solid #fff;
}
#mainVisual2nd .insetWrapper .profBox section span + span {
	padding-top: 10px;
}
#mainVisual2nd .insetWrapper .profBox section p {
	font-size: 2.2rem;
	line-height:24px;
}
#mainVisual2nd .insetWrapper .profBox section p small {
	display: block;
	font-size: 1.2rem;
	letter-spacing:0.3em;
}
/***************************************
floatWrapper
***************************************/
.floatWrapper {
	padding: 30px 10px 0;
}
.floatWrapper.type-2 {
	padding-top:0;
}
/******* txtBox *******/
.floatWrapper > .txtBox {
	padding: 5px;
}
.floatWrapper > .txtBox h4 {
	font-size: 2.2rem;
}
.floatWrapper > .txtBox p {
	font-size: 1.7rem;
}
.floatWrapper > .txtBox .list3c{
	padding-top:20px;
}
.floatWrapper > .txtBox .list3c li{
	width:100%;
	padding:0 ;
}
.floatWrapper > .txtBox .list3c li + li{
	padding-top:30px;
}
.floatWrapper > .txtBox .list4c li{
	width:50%;
	padding:20px 5px 0;
}
.floatWrapper > .txtBox .list4c li p em{
	padding-top:0;
}
/******* leftTxt *******/
.floatWrapper.left > .txtBox {
	float: none;
	width: auto;
	padding: 5px;
}
.floatWrapper.left > .imgBox {
	margin-left: 0;
}
/******* rightTxt *******/
.floatWrapper.right > .txtBox {
	float: none;
	width: auto;
	padding: 5px;
}
.floatWrapper.right > .imgBox {
	margin-right: 0;
}
/***************************************
serviceSection
***************************************/
.serviceSection .floatWrapper {
	padding:120px 10px 30px;
}
.serviceSection:first-of-type .floatWrapper {
	padding-top:30px;
}
.serviceSection .floatWrapper .pointBox{
	width:80px;
	height:80px;
	top:30px;
	left:0;
	right:0;
	margin:auto;
	padding-top:15px;
	text-indent:-5px;
}
.serviceSection .floatWrapper .pointBox:before{
	content:"";
	position:absolute;
	z-index:-1;
	width:80px;
	height:80px;
	top:-5px;
	left:-5px;
	background:#302083;
}
.serviceSection .floatWrapper .pointBox em{
	font-size:3rem;
}
.serviceSection .floatWrapper .titleBox{
	padding:10px 0;
}
/******* leftTxt *******/
.serviceSection .floatWrapper.left > .txtBox {
	float: none;
	width: auto;
	margin-left: 0;
	padding: 5px;
}
.serviceSection .floatWrapper.left > .imgBox {
	float: none;
	width: auto;
}
/******* rightTxt *******/
.serviceSection .floatWrapper.right > .txtBox {
	float: none;
	width: auto;
	margin-right: 0;
	padding: 5px;
}
.serviceSection .floatWrapper.right > .imgBox {
	float: none;
	width: auto;
}
/***************************************
tableWrapper
***************************************/
.tableWrapper {
	display: block;
	table-layout: initial;
}
.tableWrapper > * {
	display: block;
}
/******* imgBox *******/
.tableWrapper > .imgBox {
	width: 100%;
	height: auto;
}
.tableWrapper > .imgBox img {
	width: 100%;
	height: auto;
}
/******* txtBox *******/
.tableWrapper > .txtBox {
	padding: 25px;
}
/******* memberBox *******/
.tableWrapper > .memberBox {
	width: 30%;
}
/******* cliantBox *******/
.tableWrapper > .cliantBox + .cliantBox {
	padding-top: 30px;
}
.tableWrapper > .cliantBox {
	width: 100%;
}
.tableWrapper > .cliantBox .imgBox {
	height: 265px;
}
/******* bigBtn *******/
.tableWrapper > .bigBtn {
	height: auto;
	padding: 75px 0;
}
/***************************************
top-contentsBox
***************************************/
.top-contentsBox.about {
	height: auto;
	padding-bottom: 40px;
}
.top-contentsBox.about section {
	width: auto;
	margin: 14px 25px;
	padding: 20px;
}
.top-contentsBox.about section p:last-child {
	text-align: center;
}
.top-contentsBox.about section h3 {
	padding-left: 10px;
	font-size: 2.2rem;
}
.top-contentsBox.about section p {
	padding-top: 6px;
	font-size: 1.7rem;
}
/***************************************
memberList
***************************************/
.memberList {
	padding-top: 10px;
}
.memberList ul {
	border-top: 1px dotted #ccc;
}
.memberList ul li {
	border-bottom: 1px dotted #ccc;
}
.memberList ul li a {
	position: relative;
	display: table;
	table-layout: fixed;
	width: 100%;
}
.memberList ul li a > div {
	display: table-cell;
	width: 100%;
	vertical-align: middle;
}
.memberList ul li a > .imgBox {
	width: 130px;
	height: 130px;
}
.memberList ul li a > .txtBox {
	padding-left: 25px;
	font-size: 1.4rem;
}
.memberList ul li a > .txtBox .icon {
	display: inline-block;
	padding: 3px 6px;
	letter-spacing: 0em;
	color: #fff;
	background: #302681;
	font-size: 1.3rem;
	margin-bottom: 3px;
}
.memberList ul li a > .txtBox em {
	display: block;
	padding: 3px 0;
	color: #333;
	font-size: 2.4rem;
	font-weight: bold;
}
.memberList ul li a > .txtBox small {
	color: #999;
}
.memberList ul li a > i {
	position: absolute;
	width: 30px;
	height: 30px;
	top: 0;
	right: 10px;
	bottom: 0;
	margin: auto;
	text-align: center;
	color: #302681;
	font-size: 3.6rem;
}
/******* cliantBox *******/

.tableWrapper > .cliantBox .overWrapInfo {
	margin: -30px 7%;
	padding: 25px;
}
.tableWrapper > .cliantBox.type-2 .overWrapInfo {
	height:auto;
}
.tableWrapper > .cliantBox .overWrapInfo h3 {
	font-size: 2.2rem;
}
.tableWrapper > .cliantBox .overWrapInfo p {
	padding-top: 6px;
	text-align: justify;
	font-size: 1.7rem;
}
.tableWrapper > .cliantBox .overWrapInfo .svIcon {
	padding-top:15px;
	letter-spacing: 0em;
	font-size: 0;
}
.tableWrapper > .cliantBox .overWrapInfo .svIcon li {
	display: inline-block;
	margin: 5px 5px 0 0;
	padding: 1px 5px;
	vertical-align: top;
	color: #999;
	font-size: 1.2rem;
	border: 1px solid #999;
}
/******* about *******/
.top-contentsBox.about {
	margin-top: 32px;
}
/***************************************
pageTitle
***************************************/
.pageTitle {
	margin-top: 55px;
	padding: 20px 0;
	font-size: 1.5rem;
}
.pageTitle em {
	font-size: 2.6rem;
}
/***************************************
privacyBox
***************************************/
.privacyBox h3 {
	padding: 30px 0 10px;
	letter-spacing: 0;
}

.privacyBox {
	padding: 0 10px;
}
.privacyBox + .privacyBox {
	padding-bottom: 50px;
}

.privacyBox dl {
	font-size: 1.7rem;
}
.privacyBox dl dt {
	padding-top: 15px;
}
.privacyBox dl dd {
	padding-top: 7px;
	margin-bottom:10px;
}
.privacyBox .txtBox {
	font-size: 1.7rem;
	
}
/***************************************
leadMessage
***************************************/
.leadMessage {
	padding: 30px 15px 0;
}
.leadMessage p {
	display: block;
}
/***************************************
offTime
***************************************/
.offTime {
	margin-top: 30px;
	padding: 25px 15px;
}
.offTime dl > dt {
	width: 80px;
	vertical-align: top;
}
.offTime dl > dd em {
	margin-top: 5px;
}
/***************************************
bigBtnList
***************************************/
.bigBtnList ul li {
	width:100%;
}
.bigBtnList ul li a {
	height:100px;
}
/***************************************
stepNavi
***************************************/
.stepNavi{
	padding:20px 0;
}
.stepNavi li{
	width:80px;
	height: 40px;
	margin:0 10px;
	padding-top:7px;
	text-align:center;
	font-size:1.3rem;
}
.stepNavi li:before{
	content:"";
	width:20px;
	right:-20px;
}
.stepNavi li em{
	display:block;
	margin-right:0;
	padding-right:0;
	border-right:none;
}
/******* active *******/
.stepNavi li.active{
	width:80px;
	padding-left:10px;
}
.stepNavi li.active:before{
	display:none;
}
.stepNavi li.active:after{
	content:"";
	border-top:20px solid transparent;
	border-bottom:20px solid transparent;
}
/******* last-child *******/
.stepNavi li:last-child{
	width:80px;
}
.stepNavi li:last-child.active{
	padding-left:0;
}
/***************************************
infoTable
***************************************/
.infoTable {
	padding:30px 10px;
}
.infoTable .infoWrapper dl {
	display:block;
	table-layout:initial;
	width:auto;
	border:none;
	
}
.infoTable .infoWrapper dl:first-child {
	border-top:none;
}
.infoTable .infoWrapper dl > dt,
.infoTable .infoWrapper dl > dd {
	display:block;
	width:auto;
	padding:10px 10px;
	border-bottom:none;
	font-size:1.7rem;
}
.infoTable .infoWrapper dl > dt {
	width:auto;
}
/******* form *******/
.infoTable .infoWrapper .memo + dl {
	margin-top:10px;
}
.infoTable.form .infoWrapper dl > dd .comment{
	display:block;
	line-height:1.3;
	padding-top:5px;
	padding-left:0;
}
.infoTable.form .infoWrapper dl > dd .caution{
	display:block;
	padding-top:5px;
	color:#999;
	font-size:1.3rem;
}
.infoTable.form .infoWrapper dl > dd label.list{
	margin-left:5px;
}
.infoTable.form .infoWrapper dl > dd label span.pullDown{
	width:30px;
	height:30px;
	line-height:30px;
}
/***************************************
form parts
***************************************/
input[type="text"],
input[type="tel"],
input[type="password"],
select{
	height:30px;
	line-height:30px;
}
.ss{
	width:80px;
}
.s{
	width:150px;
}
.m,
.l{
	width:250px;
}
/***************************************
faqList
***************************************/
.faqList dl dt p.qTxt {
	padding:0 10px 0 30px;
	font-size: 1.7rem;
}
.faqList dl dt p.qTxt:before {
	top:26px;
	left:10px;
	
}
.faqList dl dt p.iconBox {
	width:60px;
}
.faqList dl dd {
	padding:15px 10px 15px 30px;
	font-size: 1.7rem;
}
.faqList dl dd:before {
	top:12px;
	left:10px;
}
/***************************************
walfareList
***************************************/
.walfareList {
	padding:30px 0;
}
.walfareList ul li {
	width:50%;
	padding:5px;
}
.walfareList ul li .walfareBox section{
	height:150px;
}
.walfareList ul li .walfareBox section span{
	width:20px;
	height:20px;
	line-height:20px;
}
.walfareList ul li .walfareBox section span:before{
	border-top:20px solid #302681;
	border-left:20px solid #302681;
	border-right:20px solid transparent;
	border-bottom:20px solid transparent;
}
.walfareList ul li .walfareBox section .imgBox{
	width:75px;
	height:75px;
}
/***************************************
galleryList
***************************************/
.galleryList {
	padding:0 0 30px;
}
.galleryList ul li {
	width: 50%;
	padding: 0 10px;
}
/***************************************
caseStudyArea
***************************************/
.caseStudyArea{
	padding:30px 10px;
}
.caseStudyArea h2{
	margin-top:30px;
	font-size:1.8em;
}
.caseStudyArea .comBox{
	display:block;
	table-layout:initial;
	margin-top:20px;
	padding:10px 0;
	border:3px solid #eee;
}
.caseStudyArea .comBox > div{
	display:block;
	margin:0 10px;
	padding:0;
}
.caseStudyArea .comBox .imgBox{
	width:auto;
	border-right:none;
	border-bottom:3px solid #eee;
}
.caseStudyArea .comBox .txtBox{
	width:auto;
	padding:0;
}
/******* interviewArea *******/
.caseStudyArea .interviewArea{
	padding-top:10px;
}
.caseStudyArea .interviewArea .imgBox{
	width:110px;
}
/******* interviewArea left*******/
.caseStudyArea .interviewArea.left .imgBox{
	padding-right:10px;
}
.caseStudyArea .interviewArea.left .qaBox{
	margin-left:0;
}
.caseStudyArea .interviewArea.left .qaBox em{
	margin-left:120px;
}
/******* interviewArea right*******/
.caseStudyArea .interviewArea.right .imgBox{
	padding-left:10px;
}
.caseStudyArea .interviewArea.right .qaBox{
	margin-right:0;
}
/***************************************
floatBtSp
***************************************/
#floatBtSp {
	position: fixed;
	z-index: 50;
	display: none;
	width: 100%;
	left: 0;
	bottom: 0;
	background-color: #FFF;
}
#floatBtSp a {
	display: block;
	line-height: 55px;
	text-align: center;
	letter-spacing: 0.2em;
	font-size: 1.8rem;
	background: #f29e20;
}
#floatBtSp i {
	padding-right: 5px;
	font-size: 2.2rem;
}
}


/***************************************
privacy_en add css
***************************************/
@media (min-width: 600px){
    #copyRight {position: relative;}
    #copyRight a{position: absolute; left: 1em; text-decoration: underline;}
}
@media (max-width: 600px){
    #copyRight a{display: block; text-decoration: underline; margin-bottom: 0.5em;}
}

.pp_title{width: 1000px; margin: 60px auto 0; text-align: left;}
.wrap90{
    width: 1000px;
    margin: 0 auto;
}
@media (max-width: 600px){
.wrap90 {
    width: 90%;
    margin: 0 auto;
    overflow: hidden;}
}

.title {
    font-size: 20px;
    color: #294A7D;
    font-weight: bold;
    letter-spacing: -0.05em;
    margin-bottom: 30px;
    padding: 12px 0;
    border-top: 4px double #999;
    border-bottom: 1px dotted #999;
    
}
    
.pp_contenst p{margin-bottom: 10px;}
.pp_contenst dl{margin: 20px auto 30px;}
.pp_contenst dl dt{font-size: 1.15em; margin-bottom: 0.4em; font-weight: bold; text-indent: -1.6em; padding-left: 1.6em;}
.pp_contenst dl dd{padding-left: 2em;}

.pp_contenst dl dd h4{font-weight: bold;}

.pp_contenst .dl_num {
    counter-reset: number 0;
}
.pp_contenst .dl_num dl dt:before {
    counter-increment: number 1;
    content: counter(number) ". ";
}

/*-- マージン --*/
.btm0 { margin-bottom: 0px!important; }
.btm10 { margin-bottom: 10px!important; }
.btm15 { margin-bottom: 15px!important; }
.btm20 { margin-bottom: 20px!important; }
.btm30 { margin-bottom: 30px!important; }
.btm40 { margin-bottom: 40px!important; }
.btm50 { margin-bottom: 50px!important; }
.btm60 { margin-bottom: 60px!important; }
.btm70 { margin-bottom: 70px!important; }
.btm80 { margin-bottom: 80px!important; }
.btm90 { margin-bottom: 90px!important; }
.btm100 { margin-bottom: 100px!important; }

@media (max-width: 600px) {
	.btm0_sp { margin-bottom: 0px!important; }
	.btm10_sp { margin-bottom: 10px!important; }
	.btm15_sp { margin-bottom: 15px!important; }
	.btm20_sp { margin-bottom: 20px!important; }
	.btm30_sp { margin-bottom: 30px!important; }
	.btm40_sp { margin-bottom: 40px!important; }
	.btm50_sp { margin-bottom: 50px!important; }
	.btm60_sp { margin-bottom: 60px!important; }
	.btm70_sp { margin-bottom: 70px!important; }
	.btm80_sp { margin-bottom: 80px!important; }
	.btm90_sp { margin-bottom: 90px!important; }
	.btm100_sp { margin-bottom: 100px!important; }
}

.m_top10 { margin-top: 10px!important; }
.m_top20 { margin-top: 20px!important; }
.m_top30 { margin-top: 30px!important; }
.m_top40 { margin-top: 40px!important; }
.m_top50 { margin-top: 50px!important; }
.m_top60 { margin-top: 60px!important; }
.m_top70 { margin-top: 70px!important; }

@media (max-width: 600px) {
	.m_top0_sp { margin-top: 0px!important; }
}

.m_left10 { margin-left: 10px!important; }
.m_left20 { margin-left: 20px!important; }
.m_left30 { margin-left: 30px!important; }
.m_left40 { margin-left: 40px!important; }
.m_left50 { margin-left: 50px!important; }
.m_left60 { margin-left: 60px!important; }

.m_right10 { margin-right: 10px!important; }
.m_right20 { margin-right: 20px!important; }
.m_right30 { margin-right: 30px!important; }

.p_top10{ padding-top: 10px!important; }
.p_top20{ padding-top: 20px!important; }
.p_top30{ padding-top: 30px!important; }

.pp_contenst colgroup { display: table-column-group; }
@media (min-width: 600px) {
	.pp_contenst .col50 { width: 50%; }
}
/*==============================*/
/* table */
/*==============================*/
.pp_contenst table{
    width: 100%;
    margin-bottom: 20px;
	/*font-size: 13px;*/
	box-sizing: border-box;
}
.pp_contenst table , td, th {
    border: 1px solid #ccc;
    border-collapse: collapse;
}
.pp_contenst td, th{ padding: 4px 10px; }
.pp_contenst th { background: #ededed; }

@media (max-width: 600px) {
    /*-- スマホ：スクロール
    ------------------------- */
    .pp_contenst table.overflow_x{
        display: block;
        width: auto;
        position: relative; 
        overflow-x: scroll;
    }
    .pp_contenst table.overflow_x::-webkit-scrollbar {
      height: 5px;
    }
    .pp_contenst table.overflow_x::-webkit-scrollbar-track {
      border-radius: 5px;
      background: #eee;
    }
    .pp_contenst table.overflow_x::-webkit-scrollbar-thumb {
      border-radius: 5px;
      background: #666;
    }

    /*-- スマホ：縦表示
    ------------------------- */
    .pp_contenst table.res{
        border: none;
    }
    .pp_contenst table.res tr{
        display: block;
        margin-bottom: 20px;
    }
    .pp_contenst table.res th,
    .pp_contenst table.res td{
        display: block;
        border-bottom: none;
    }
    .pp_contenst table.res td:last-child{
        border-bottom: 1px solid #ccc;
    }
}

.pp_contenst ul.disc > li { list-style: disc inside!important; padding-left: 1em; text-indent: -1em; }
.pp_contenst ul.circle > li { list-style: circle inside!important; padding-left: 1em; text-indent: -1em; }
.pp_contenst ul.square > li { list-style: square inside!important; padding-left: 1em; text-indent: -1em; }
.pp_contenst ul.decimal > li,
.pp_contenst ol.decimal > li { list-style: decimal inside!important; padding-left: 1.3em; text-indent: -1.3em; }

.pp_contenst ol.alpha{}
.pp_contenst ol.alpha > li{list-style-type: lower-alpha;}


.pp_contenst .text_link a{
	text-decoration: underline;
	color: #294A7D;
}

.pp_contenst .box_letter {
    background: url(/common/img/share/bg_white.jpg) repeat;
	margin: 10px;
    padding: 20px;
    border: 1px dashed #ccc;
    box-shadow: 0 0 0 10px #FBFBFB;
    -moz-box-shadow: 0 0 0 10px #FBFBFB;
    -webkit-box-shadow: 0 0 0 10px #FBFBFB;
}
.pp_contenst .box_letter a{ z-index: 10000;}

.pp_contenst .box_letter dl dd{padding-left:0;}