@charset "UTF-8";

/* ----------------------------------------------------------------------------------------------------
  settings
* --------------------------------------------------------------------------------------------------*/
html{
    font-size: 62.5%;
}
body {
	font-family:dnp-shuei-gothic-kin-std, sans-serif, "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3";
	color: #343434;
	font-size: 1.041vw;
	line-height: 1.8;
	letter-spacing: 0.1em;
	border-left: 0.781vw solid #03004c;
}

@media screen and (max-width: 768px){
	body {
		border-left: none;
		font-size: 3.2vw;
	}
}


/* ----------------------------------------------------------------------------------------------------
  common layout
* --------------------------------------------------------------------------------------------------*/
a:link,
a:visited{
    color:inherit;
    text-decoration:none;
    outline: none;
}
a:hover {
    outline: none;
}
a:hover img {
	opacity: 0.6;
	filter: alpha(opacity=60);
}
a:hover img.opa100 {
	opacity: 1.0;
	filter: alpha(opacity=100);
}
img{
	vertical-align: bottom;
	height:auto;
}


/* ----------------------------------------------------------------------------------------------------
*  header
* --------------------------------------------------------------------------------------------------*/
header{
	position:fixed;
	top:0;
	left: 0;
	z-index: 10;
	height: 51.979vw;
}



/* ----------------------------------------------------------------------------------------------------
*  gNavi
* --------------------------------------------------------------------------------------------------*/
.menuToggle{
	position: absolute;
	top:0;
	left: 0;
	width: 3.385vw;
	border-left: 0.781vw solid #03004c;
	height: inherit;
	text-align: center;
	cursor: pointer;
	background-color: #03004c;
}
.menuToggle img{
	position: absolute;
	width: 1.71vw;
	top:0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
.menuTogglePClose{
	position: absolute;
	top:0;
	bottom: 0;
	left: 1.718vw;
	margin: auto 0;
	height: inherit;
}
.menuTogglePClose img{
	position: absolute;
	width: 1.71vw;
	top:0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
.mainNavi{
	width: 30.989vw;
	height:inherit;
	position: absolute;
	top:0;
	left: -31.25vw;
	background-color:rgba(3,0,76,0.8);
	color: #fff;
	z-index: 100;
}
.mainNavi > ul{
	margin: 0;
	padding: 0;
	font-size: 0.937vw;
	list-style: none;
	position: absolute;
	right: 2.083vw;
	bottom: 3.125vw;
	line-height: 2.3;
	border-left: 1px solid #fff;
	padding-left: 0.8em;
}
ul.secondLayer{
	margin: 0;
	padding: 0;
	font-size: 0.937vw;
	list-style: none;
	padding-left: 1em;
}
.mainNavi ul.subUlStyle{
	margin: 0;
	padding: 0;
	font-size: 0.729vw;
	padding-left: 1em;
}
.menuToggleSp{
	display: none;
}
.menuToggleSpClose{
	display: none;
}

@media screen and (max-width: 768px){
	.menuToggle{
		display: none;
	}
	.menuTogglePClose{
		display: none;
	}
	.mainNavi{
		position: fixed;
		width: 89.33vw;
		height: auto;
		max-height: 100vh;
		left: -100vw;
		padding-top: 6vw;
		padding-bottom: 6.66vw;
	}
	.mainNavi > ul{
		font-size: 3.2vw;
		position:static;
		float: right;
		margin-right: 4vw;
		line-height: 2.6;
		padding-left:0.5em;
	}
	ul.secondLayer{
		font-size: 3.2vw;
	}
	.mainNavi ul.subUlStyle{
		font-size: 1.8vw;
	}
	
	.menuToggleSp{
		display: block;
		position:fixed;
		top:4.66vw;
		left: 5.33vw;
		width: 9.6vw;
		z-index: 5;
	}
	.menuToggleSp img{
		width: 100%;
	}
	.menuToggleSpClose{
		display: block;
		width: 7.2vw;
		margin-left: 5.6vw;
		margin-bottom: 5.6vw;
	}
	.menuToggleSpClose img{
		width: 100%;
	}
}
@media screen and (max-width: 450px){
	.mainNavi > ul{
		font-size: 4.26vw;
	}
	ul.secondLayer{
		font-size: 4.26vw;
	}
	.mainNavi ul.subUlStyle{
		font-size: 3vw;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  contents
* --------------------------------------------------------------------------------------------------*/
.wrapper{
	border-left: 3.385vw solid #03004c;
	background-color: #F7F7F7;
}
.secContainer{
	max-width: 89.583vw;
	margin-left: 1.041vw;
}

@media screen and (max-width: 768px){
	.wrapper{
		border-left: none;
	}
	.secContainer{
		max-width:none;
		margin-left:0;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  Heading elements
* --------------------------------------------------------------------------------------------------*/
.h3Style01{
	font-size: 1.562vw;
	font-weight: 600;
	color: #100964;
	border-bottom: 1px solid #100964;
	margin-bottom: 1.25vw;
}

@media screen and (max-width: 768px){
	.h3Style01{
		font-size: 4vw;
		margin-bottom: 2.66vw;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  footer
* --------------------------------------------------------------------------------------------------*/
footer{
	background-color: #03004c;
	color: #fff;
	font-size: 0.729vw;
}
.footerIn{
	max-width: 72.345vw;
	margin: 0 auto;
}
.footerCol{
	height: 6.562vw;
	width: 100%;
	position: relative;
}
.copy{
	font-size: 0.625vw;
	position: absolute;
	bottom: 1.041vw;
}
.col02In{
	position: absolute;
	bottom: 1.041vw;
	right: 0;
}
.col02In p{
	margin-bottom: 0.625vw;
}
.footerNav ul{
	margin: 0;
	padding: 0;
	list-style: none;
	
	display: flex;
}
.footerNav ul li a{
	display: block;
	padding: 0 1em;
	border-left:1px solid #fff;
	line-height: 1;
}
.footerNav ul li:first-child a{
	padding: 0 1em 0 0;
	border-left: none;
}
.butToTop{
	text-align: center;
	margin-bottom:1.302vw;
}
.butToTop img{
	text-align: center;
	width: 3.385vw;
	cursor: pointer;
}
.spContact{
	display: none;
}

@media screen and (max-width: 768px){
	footer{
		padding: 4.53vw 0;
	}
	.footerIn{
		max-width:none;
	}
	.footerCol{
		height:auto;
	}
	.copy{
		font-size: 3.2vw;
		position:static;
		text-align: center;
	}
	.col02In{
		display: none;
	}
	.butToTop{
		margin-bottom:1.33vw;
	}
	.butToTop img{
		width: 8.66vw;
	}
	.spContact{
		display: block;
		margin-bottom: 6.06vw;
	}
	.spContact h2{
		text-align: center;
		color: #03004c;
		font-size: 5.33vw;
		letter-spacing: 0.15em;
		margin-bottom: 3vw;
	}
	.spContactBox01{
		background-color: #03004c;
		text-align: center;
		color: #fff;
		padding: 4vw 0;
		margin-bottom: 2.66vw;
	}
	.spContactText01{
		font-size: 4.66vw;
		letter-spacing: 0.15em;
		margin-bottom: 2.66vw;
	}
	.spContactText01 a{
		text-decoration: none;
   		border-bottom: 1px solid #fff;
  		padding-bottom: 2px;
	}
	.spContactText02{
		font-size: 2.93vw;
	}
	.spContactText03{
		font-size: 3.73vw;
		margin: 0 10.66vw;
	}
}


/**** sec01 ****/
.sec01{
	background-image: url("../images/sec01_bg.jpg");
	background-repeat:repeat-x;
	background-position: center top;
	background-color: #091431;
	color: #fff;
	min-height: 51.979vw;
	height: auto;
}
.sec01 > .secContainer{
	position: relative;
}
.sec01Title{
	width: 19.218vw;
	position: absolute;
	top: 3.437vw;
	left: 13.541vw;
}
.sec01Title img{
	width: 100%;
}
.sec01TextLine{
	position: absolute;
	width: 67.395vw;
	top: 11.458vw;
	left: 23.593vw;
	mix-blend-mode: overlay;
}
.sec01Text01{
	font-weight: 600;
	font-size: 1.354vw;
	position: absolute;
	top: 14.375vw;
	left: 34.218vw;
	letter-spacing: 0.25em;
}
.companyProfile{
	padding-top:  29.687vw;
	padding-left: 44.791vw;
}
.companyProfile h2{
	font-size: 1.562vw;
	font-weight: normal;
}
.sec01Table01{
	font-size: 0.833vw;
	font-weight: 400;
	margin-top: 0.25em;
}
.sec01Table01 th{
	font-weight: normal;
	text-align: left;
	vertical-align: top;
	width: 8em;
	padding: 0.25em 0;
}
.sec01Table01 td{
	vertical-align: top;
	padding: 0.25em 0;
}

@media screen and (max-width: 768px){
	.sec01{
		background-image: url("../images/sec01_bg_sp.jpg");
		background-color: #070e21;
		background-repeat:no-repeat;
		background-size: contain;
		min-height: 0;
		overflow-x:auto;
	}
	.sec01Title{
		width: 48.93vw;
		top: 18.66vw;
		left: 45.73vw;
	}
	.sec01Title img{
		width: 100%;
	}
	.sec01Text01{
		font-size: 4.53vw;
		top: 59.46vw;
		left: 9.33vw;
		letter-spacing: 0.25em;
	}
	.companyProfile{
		padding-top:  122.53vw;
		padding-left: 0;
		margin: 0 9.33vw;
	}
	.companyProfile h2{
		font-size: 4.53vw;
		position: relative;
	}
	.sec01TextLineSp{
		position: absolute;
		top: 1.5em;
		left: -9.33vw;
		height: 1px;
		width: 89.33vw;
		mix-blend-mode: overlay;
	}
	.sec01Table01{
		font-size: 2.93vw;
		margin-top: 4.5vw;
		margin-bottom: 5.33vw;
	}
}


/**** sec02 ****/
.sec02{
}
.sec02 > .secContainer{
	position: relative;
}
.sec02Title{
	padding-top: 9.375vw;
}
.sec02h2Box{
	background-color: #b3e4fc;
	min-height: 14.583vw;
	
	position: absolute;
	width: 60.937vw;
	right: 0;
	padding-left: 1.822vw;
}
.sec02Titlebg{
	width: 60.937vw;
	position: absolute;
	top:0px;
	left:0px;
}
.sec02Title01{
	position: absolute;
	width: 31.927vw;
	top:-4.687vw;
	left:9.895vw;
	mix-blend-mode:multiply;
}
.sec02h2Box h2{
	font-size: 2.5vw;
	font-weight: 600;
	position: relative;
	margin-top: 7.708vw;
}
.sec02h2Box p{
	font-size: 0.781vw;
	font-weight: 600;
	position: relative;
	margin-bottom: 1.562vw;
}

@media screen and (max-width: 768px){
	.sec02{
		margin-bottom: 23.73vw;
	}
	.sec02Title{
		padding-top: 0;
		margin-top: 28vw;
	}
	.sec02h2Box{
		background-image: url("../images/sec02_title_bg_sp.jpg");
		background-repeat: no-repeat;
		background-size:contain;		
		width: 100%;
		min-height: 53.33vw;
		left: 0;
		padding-left: 0;
	}
	.sec02Titlebg{
		display: none;
	}
	.sec02Title01{
		width: 80.8vw;
		position: absolute;
		top:-18.4vw;
		left:auto;
		right:0;
		mix-blend-mode:multiply;
	}
	.sec02h2Box h2{
		font-size: 6.4vw;
		margin-top: 5.33vw;
		margin-left: 22.66vw;
		line-height: 1.2;
	}
	.sec02h2Box p{
		font-size: 3.73vw;
		margin: 1em 9.33vw ;
		letter-spacing: 0.08em;
		margin-bottom: 0;
	}

}

.sec02Contents{
	background-image:url("../images/sec02_bg.jpg");
	background-repeat:no-repeat;
	background-position: left top;
	background-size: 39.218vw auto;
	
	padding-top: 2.604vw;
}

@media screen and (max-width: 768px){
	.sec02Contents{
		background-image:url("../images/sec02_bg_sp.jpg");
		background-position: left top 34.66vw;
		background-size: contain;
		padding-top: 8vw;
	}
}

/**** sec02 研修サービス ****/
.sec02Kensyu{
	max-width: 41.666vw;
	float: right;
	margin-right: 14.895vw;
	padding-left: 6.25vw;
}
.sec02KensyuIn{
	padding: 1.041vw 1.562vw;
}
.sec02KensyuBox{
	background-color: #fff;
}
.sec02KensyuBox h4{
	color: #fff;
	font-size: 1.458vw;
	font-weight: 600;
	padding: 0 1.562vw;
}
.sec02KensyuText01{
	margin-bottom: 3.333vw;
}
.sec02KensyuBox .ulStyle01{
	/*padding-left: 1em;*/
	font-size: 0.937vw;
	list-style: none;
}
.sec02KensyuBox .ulStyle01 li{
    position: relative;
    padding-left: 1em;
  }
.sec02KensyuBox .ulStyle01 li:before {
    content: "・";
    position: absolute;
    left: 0;
 }
.sec02Kensyu01{
	border: 3px solid #00b3e3;
	border-radius: 8px 8px 0 0;
	margin-bottom: 1.770vw;
}
.sec02Kensyu01 h4{
	background-color: #00b3e3;
}
.sec02Kensyu01Text01{
	color: #00b3e3;
	margin-bottom: 1.25vw;
}
.sec02Kensyu01Text02{
	font-size: 0.937vw;
}
.sec02Kensyu02{
	border: 3px solid #eb6877;
	border-radius: 8px 8px 0 0;
	margin-bottom: 1.770vw;
}
.sec02Kensyu02 h4{
	background-color: #eb6877;
}
.sec02Kensyu02Text01{
	color: #eb6877;
	margin-bottom: 1.25vw;
}
.sec02Kensyu02Text02{
	font-size: 0.937vw;
}
.sec02Kensyu03{
	border: 3px solid #a8cd50;
	border-radius: 8px 8px 0 0;
	margin-bottom: 7.291vw;
}
.sec02Kensyu03 h4{
	background-color: #a8cd50;
}

@media screen and (max-width: 768px){
	.sec02Kensyu{
		max-width:none;
		float:none;
		margin-right: 0;
		padding-left: 0;
		padding: 0 10.53vw;
	}
	.sec02KensyuIn{
		padding: 4.66vw 2.4vw 2.66vw;
	}
	.sec02KensyuBox{
		background-color: #fff;
	}
	.sec02KensyuBox h4{
		font-size: 4vw;
		padding: 0 4vw;
	}
	.sec02KensyuText01{
		font-size: 3.2vw;
		margin-bottom: 10.66vw;
	}
	.sec02KensyuBox .ulStyle01{
		font-size: 2.93vw;
	}
	.sec02Kensyu01{
		border: 0.4vw solid #00b3e3;
		margin-bottom: 4.53vw;
	}
	.sec02Kensyu01Text01{
		font-size: 3.2vw;
		margin-bottom: 4.8vw;
	}
	.sec02Kensyu01Text02{
		font-size: 2.93vw;
	}

	.sec02Kensyu02{
		border:  0.4vw solid #eb6877;
		margin-bottom: 4.53vw;
	}
	.sec02Kensyu02Text01{
		font-size: 3.2vw;
		margin-bottom: 4.8vw;
	}
	.sec02Kensyu02Text02{
		font-size: 2.93vw;
	}

	.sec02Kensyu03{
		border: 0.4vw solid #a8cd50;
		margin-bottom: 36vw;
	}
}

/**** sec02 翻訳サービス ****/
.sec02Honyaku{
	clear: both;
	position: relative;
	margin-bottom: 3.645vw;
	margin-left: 8.333vw;
}
.sec02HonyakuIn{
	clear: both;
	background-color:rgba(255,255,255,0.9);
	width:100%;
	position: absolute;
	top:0;
	left: 0;
}
.sec02HonyakuIn > div{
	padding: 2.083vw 5.208vw;
	max-width: 31.25vw;
}
.sec02HonyakuImg02{
	position:relative;
	width: 37.708vw;
	margin-top: 14.583vw;
	margin-left: 37.5vw;
}
.sec02HonyakuImg01{
	width: 33.020vw;
	position:absolute;
	top: -3.385vw;
	left: 47.916vw;
}
.sec02HonyakuText01{
	margin-bottom: 2.604vw;
}
.sec02HonyakuBox01{
	border-left: 0.260vw solid #88abda;
	padding-left: 0.937vw;
	padding-bottom: 2.083vw;
}
.sec02HonyakuBox01 h4{
	font-size: 1.302vw;
	color: #88abda;
	margin-bottom: 1.041vw;
}
.sec02HonyakuBox01 ul{
	padding-left: 0;
	font-size: 0.937vw;
	margin-bottom: 2.083vw;
	list-style: none;
}
.sec02HonyakuBox01 ul li{
    position: relative;
    padding-left: 1em;
  }
.sec02HonyakuBox01 ul li:before {
    content: "・";
    position: absolute;
    left: 0;
 }
.sec02HonyakuBox01 p{
	font-size: 0.937vw;
}

@media screen and (max-width: 768px){
	.sec02Honyaku{
		margin-bottom: 0;
		margin-left: 0;
		padding:16.66vw 0 24.53vw;
		background-image: url("../images/sec02_img_01_sp.jpg");
		background-repeat: no-repeat;
		background-position: right top;
		background-size: 74vw auto;
	}
	.sec02HonyakuIn{
		margin: 0 6.66vw;
		padding: 2vw 4vw;
		width:auto;
		position:static;
	}
	.sec02HonyakuIn > div{
		max-width:none;
		padding-right: 0;
	}
	.sec02HonyakuImg02{
		display: none;
	}
	.sec02HonyakuImg01{
		display: none;
	}
	.sec02HonyakuText01{
		margin-bottom: 4.8vw;
	}
	.sec02HonyakuBox01{
		border-left: 0.66vw solid #88abda;
		padding-left: 1.06vw;
		padding-bottom: 0;
	}
	.sec02HonyakuBox01 h4{
		font-size: 3.33vw;
		margin-bottom: 1.6vw;
	}
	.sec02HonyakuBox01 ul{
		font-size: 2.4vw;
		margin-bottom: 4.8vw;
	}
	.sec02HonyakuBox01 p{
		font-size: 2.4vw;
	}
}

/**** sec02 コンサルティングサービス ****/
.sec02Consulting{
	display: flex;
	justify-content: flex-start;
	padding-bottom: 8.854vw;
	margin-left: 10.416vw;
}
.sec02ConsultingImg01{
	width: 32.812vw;
}

.sec02ConsultingBox01{
	width: 32.812vw;
	padding: 2.291vw 1.562vw 0 2.083vw;
}
.sec02ConsultingBox01 img{
	width: 100%;
}
.sec02ConsultingBox02{
	max-width: 31.25vw;
}
.sec02ConsultingBox02 h4{
	font-size: 1.302vw;
	color: #00758d;
	border-bottom: 3px solid #00758d;
	margin-bottom: 0.520vw;
	
	position: relative;
}
.sec02h4Circle{
	position: absolute;
	top: -3.854vw;
	left: -5.416vw;
	mix-blend-mode:multiply;
}
.sec02ConsultingText01{
	margin-bottom: 5.208vw;
}
.sec02ConsultingText02{
	font-size: 0.937vw;
}

@media screen and (max-width: 768px){
	.sec02Consulting{
		flex-direction:column-reverse;
		padding-bottom: 0;
		margin-left: 0;
	}
	.sec02ConsultingImg01{
		width: 84vw;
	}
	.sec02ConsultingBox01{
		width:auto;
		padding: 0;
	}
	.sec02ConsultingBox02{
		max-width:none;
		padding: 0 10.53vw;
	}
	.sec02ConsultingBox02 h4{
		font-size: 3.33vw;
		border-bottom: 0.4vw solid #00758d;
		margin-bottom: 1.33vw;
	}
	.sec02h4Circle{
		width: 33.33vw;
		top: -9.06vw;
		left: -14vw;
	}
	.sec02ConsultingText01{
		margin-bottom: 6.8vw;
	}
	.sec02ConsultingText02{
		font-size: 2.4vw;
		margin-bottom: 4vw;
	}
}


/**** sec03 ****/
.sec03{
}
.sec03 > .secContainer{
	clear: both;
	position: relative;
}
.sec03Title01{
	width: 71.718vw;
	float: right;
}
.sec03Title01 img{
	width: 71.718vw;
}
.sec03 h2{
	max-width: 43.333vw;
	padding-left:13.437vw;
	margin-bottom: 1.875vw;
}
.sec03 h2 img{
	width: 100%;
}
.sec03Box01{
	padding: 0 0 0 13.437vw;
	margin-bottom: 3.385vw;
	display: flex;
	justify-content: flex-start;
}
.sec03Ul01{
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	max-width: 46.875vw;
	justify-content: space-between;
	z-index: 5;
}
.sec03Ul01 li{
	width: 100%;
}
.sec03Ul01 li img{
	width: 100%;
}
.sec03TextBox{
	border: 0.260vw solid #9c0000;
	padding: 1.562vw 4.166vw 1.562vw 2.083vw;
	max-width: 18.020vw;
	min-height: 20.312vw;
	margin-left: -0.260vw;
	margin-top: 1.562vw;
}
.sec03Text01{
	font-size: 0.937vw;
	color: #9c0000;
	margin-bottom: 1.5em;
}
.sec03Text02{
	font-size: 0.833vw;
	text-align: justify;
}

@media screen and (max-width: 768px){
	.sec03{
		background-image: url("../images/sec03_title_01_sp.png");
		background-repeat: no-repeat;
		background-position: left top;
		background-size:18vw auto;
	}
	.sec03 > .secContainer{
		padding-top: 0px;
	}
	.sec03 h2{
		max-width:none;
		width: 24vw;
		padding-left:0;
		margin: 0 auto 4vw;
	}
	.sec03Box01{
		padding: 0;
		margin-bottom: 0;
		flex-direction: column-reverse;
	}
	.sec03Ul01{
		margin: 0 0 10vw 12.53vw;
		max-width: none;
		justify-content:flex-start;
		flex-direction: column;
	}
	.sec03TextBox{
		border: 0.66vw solid #9c0000;
		padding: 8.26vw 5.33vw;
		max-width:none;
		min-height:none;
		margin: 0 14vw 4vw;
		text-align: center;
	}
	.sec03Text01{
		font-size: 4vw;
		margin-bottom: 7.2vw;
	}
	.sec03Text02{
		font-size: 3.2vw;
		text-align: left;
	}
}

/**** banner ****/
.bannerBox{
	margin-bottom: 7.812vw;
}
.bannerBox ul{
	margin-left: 18.75vw;
	padding: 0;
	list-style: none;
	
	display: flex;
	justify-content:flex-start;
	max-width: 62.5vw;
}
.bannerBox ul li{
	width: 100%;
}
.bannerBox ul li img{
	width: 100%;
}

@media screen and (max-width: 768px){
	.bannerBox{
		margin-bottom: 18.66vw;
	}
	.bannerBox ul{
		margin: 0 3.2vw;
		max-width: none;
		flex-wrap: wrap;
	}
	.bannerBox ul li{
		width: 50%;
	}
}





