@charset "UTF-8";

.fweight300{font-weight:300;}

h1.pageTitleEN{
	margin: 0 0 20px;
	padding: 0;
	/*font-size: clamp(最小値, 基準値, 最大値);*/
	font-size: clamp(36px,8.928571428571429vw,150px);/*（基準となる文字サイズ）÷（基準となる幅）× 100*//*100px ÷ 1680px × 100*/ 
	line-height: 100%;
	font-weight: 900;
	text-shadow: 2px 1px 0px rgba(0, 0, 0, 1);
	z-index: 0;
}
h1.pageTitleJP{
	margin: 0;
	padding: 0 0 0 20px;
	/*font-size: clamp(最小値, 基準値, 最大値);*/
	font-size: clamp(16px,1.7857142857142856vw,30px);/*（基準となる文字サイズ）÷（基準となる幅）× 100*//*100px ÷ 1680px × 100*/ 
	line-height: 100%;
	font-weight: 700;
	text-shadow: 2px 1px 0px rgba(0, 0, 0, 1);
	z-index: 0;
}
@media screen and (max-width: 767px) {/*スマホ対応*/
h1.pageTitleEN{
	margin: 0 0 10px;
	text-shadow: 1px 1px 0px rgba(0, 0, 0, 1);
}
h1.pageTitleJP{
	padding: 0;
	text-shadow: 1px 1px 0px rgba(0, 0, 0, 1);
}
}

.bgGradationPageTitle{
	position: relative;
	z-index: 0;
	margin: 0;
	padding: 0px;
	background: linear-gradient(45deg, rgba(250,119,12,1) 0%, rgba(255,251,238,1) 100%);
	
	display: block;
	background-size: 200% 200%;
	animation: gradient 30s ease infinite;
	
	color: #FFFFFF;
}

.H2bgBlue, .H2bgOrang{
	position: relative;
	margin: 0;
	padding: 10px 20px;
	color: #FFFFFF;
}
.H2bgBlue{background-color: #1e3c72;}
.H2bgOrang{background-color: #ef8418;}
@media screen and (max-width: 767px) {/*スマホ対応*/
.H2bgBlue, .H2bgOrang{
	padding: 5px 5px;
}
}


/* 点滅 */
.blinking{
	-webkit-animation:blink 1.5s ease-in-out infinite alternate;
	-moz-animation:blink 1.5s ease-in-out infinite alternate;
	animation:blink 1.5s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
	0% {opacity:0.1;}
	100% {opacity:1;}
}
@-moz-keyframes blink{
	0% {opacity:0.1;}
	100% {opacity:1;}
}
@keyframes blink{
	0% {opacity:0.1;}
	100% {opacity:1;}
}


table{
	width:100%;
	margin:0 auto;
	padding:0;
	border-collapse:collapse;
}
th,td{
	vertical-align:top;
	margin:0;
	padding:0;
	font-weight: normal;
}
th{
	white-space: nowrap;
}
td{
}
@media screen and (max-width: 767px) {/*スマホ対応*/
}


/*flexbox*/
.flexcontainer{/*親*/
	width: 100%;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-content: stretch;
	text-align: left;
}
.flexitem{/*子*/
	position: relative;
	z-index: 0;
	margin: 0 0px 0px;
	padding: 0 0px 0px;
}
.flexitemInner{/*子inner*/
	position: relative;
	margin: 10px 15px;
	padding: 0 0 5px;
}
.flexitem img{
	width: 100%;
}
.flexitem1of2{flex-basis: calc(50%);}
.flexitem1of3{flex-basis: calc(33.333%);}
.flexitem1of4{flex-basis: calc(25%);}
.flexitem1of5{flex-basis: calc(20%);}
.flexitem1of6{flex-basis: calc(16.666%);}

@media screen and (max-width: 767px) {/*スマホ対応*/
	.flexitem1of2{flex-basis: calc(100%);}
	.flexitem1of3{flex-basis: calc(100%);}
	.flexitem1of4{flex-basis: calc(50%);}
	.flexitem1of5{flex-basis: calc(50%);}
	.flexitem1of6{flex-basis: calc(50%);}
}


.indexMain
, .bg000
, .bgEEE
, .bgFFF
, .bgF2F
, .bgDBL

, .bgReadCommon

, .bgReadCareer
, .bgCareerMain1

, .bgReadTraining
, .bgTrainingMain1

, .bgReadPhilosophy
, .bgPhilosophyMain1

, .bgInfoMain1
, .bgPolicyMain1
, .bgMailMain1
{
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    z-index: 0;
    background-size: cover;
    background-position: center center;
}
.bg000{background-color: #000000;}
.bgF2F{background-color: #F2F2F2;}
.bgEEE{background-color: #EEEEEE;}
.bgFFF{background-color: #FFFFFF;}
.bgDBL{background-color: #05041d;}

.bgReadCommon
, .bgReadCareer
, .bgReadTraining
, .bgReadTraining2
, .bgReadPhilosophy
{
	color: #FFFFFF;
}

.bgReadCommon{background-image: url("../images/pages/bg_mainRead.jpg");}
.bgReadCareer{background-image: url("../images/pages/bg_career.jpg");}
.bgReadCareer2{background-image: url("../images/pages/bg_career2.jpg");}
.bgCareerMain1{
background-image: url("../images/pages/bg_career_01.jpg");
background-position: bottom center;
}
.bgReadTraining{background-image: url("../images/pages/bg_training.jpg");}
.bgReadTraining2{
	background-image: url("../images/pages/bg_training2.jpg?20240502");
background-position: bottom center;
}
.bgTrainingMain1{
background-image: url("../images/pages/bg_training_01.jpg?20240502");
background-position: bottom center;
}

.bgReadPhilosophy{background-image: url("../images/pages/bg_philosophy.jpg");}
.bgPhilosophyMain1{
background-image: url("../images/pages/bg_philosophy_01.jpg");
background-position: bottom center;
}

.bgInfoMain1
, .bgPolicyMain1
, .bgMailMain1
{
background-repeat: repeat-y;
background-size: 50%;
background-position: 0 0;
}
.bgInfoMain1{background-image: url("../images/pages/bg_info_01.png");}
.bgPolicyMain1{background-image: url("../images/pages/bg_policy_01.png");}
.bgMailMain1{background-image: url("../images/pages/bg_mail_01.png");}

@media screen and (max-width: 767px) {/*スマホ対応*/
.bgInfoMain1
, .bgPolicyMain1
, .bgMailMain1
{
background-size: 70%;
}
}

@media screen and (max-width: 767px) {/*スマホ対応*/
.bgReadCommon{background-position: right 25% center;}
}

.bgReadCommon::before
, .bgReadCareer::before
, .bgReadCareer2::before
, .bgReadTraining::before
, .bgReadTraining2::before
, .bgReadPhilosophy::before
{
  /* 透過した黒を上から重ねるイメージ */
  background-color: rgba(5,9,18,0.85);
  /* 自由に位置指定 */
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: ' ';
}
.bgReadPhilosophy::before{background-color: rgba(5,9,18,0.2);}


.read{
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    z-index: 0;
}

#readCopy{
	position: relative;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	z-index: 0;
	width: 100%;
	min-height: 100vh;
}


.readItem{/*子*/
	position: relative;
	z-index: 0;
	margin: 0 0px 0px;
	padding: 0 0px 0px;
	flex-basis: calc(50%);
}
.readItem.readTxt{
	margin-top: 200px;
}
@media screen and (max-width: 767px) {/*スマホ対応*/
.readItem{/*子*/
	flex-basis: calc(100%);
}
.readItem.readTxt{
	margin-top: 100px;
}
}

.readItemInner{/*子inner*/
	position: relative;
	margin: 10px 15px;
	padding: 0 0 5px;
}
h2.readTxt{
	text-align: center;
	font-size: 36px;
	line-height: 200%;
	margin: 0 auto;
	padding: 0 0 40px;
	background-image: url("../images/common/line_or.png");
	background-repeat: no-repeat;
	background-position: bottom 0 center;
	background-size: 300px;
}
p.readTxt{
	margin: 0 0 40px;
	padding: 0;
	letter-spacing: 2px;
}
.readTxtHead{
	font-size: 18px;
	font-weight: 700;
}
@media screen and (max-width: 767px) {/*スマホ対応*/
h2.readTxt{
	font-size: 22px;
	background-size: 240px;
}
}

.readItem img{
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
}



.commonSlide01
, .careerSlide01
, .careerSlide01L
, .careerSlide02
, .careerSlide02L
, .careerSlide03
, .trainingSlide01
, .trainingSlide01L
, .trainingSlide02
, .infoSlide01
{
    position: absolute;
	z-index: 0;
	top: -100px;
    margin: 0;
    padding: 50px 0px;
	width: 50%;
	min-height: 100px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.commonSlide01{
	left: 0;
	background-image: url("../images/pages/common01.jpg");
}
.careerSlide01, .careerSlide01L{
	right: 0;
	background-image: url("../images/pages/carrer01.jpg");
}
.careerSlide01L{
	left: 0;
}
.careerSlide02, .careerSlide02L{
	left: 0;
	background-image: url("../images/pages/carrer02.jpg");
}
.careerSlide02L{
	right: 0;
}
.careerSlide03{
	right: 0;
	background-image: url("../images/pages/carrer03.jpg");
}
.trainingSlide01, .trainingSlide01L{
	right: 0;
	background-image: url("../images/pages/training01.jpg?20240502");
}
.trainingSlide01L{
	left: 0;
}
.trainingSlide02{
	left: 0;
	background-image: url("../images/pages/training02.jpg?20240502");
}
.infoSlide01{
	box-sizing: border-box;
    padding: 40px 50px;
	left: 0;
	background-color: #0082f1;
	color: #FFFFFF;
	font-size: clamp(16px,1.4285714285714286vw,24px);/*（基準となる文字サイズ）÷（基準となる幅）× 100*//*100px ÷ 1680px × 100*/ 
	font-weight: 500;
}

@media screen and (max-width: 767px) {/*スマホ対応*/
.commonSlide01
, .careerSlide01
, .careerSlide01L
, .careerSlide02
, .careerSlide02L
, .careerSlide03
, .trainingSlide01
, .trainingSlide01L
, .trainingSlide02
, .infoSlide01
{
	top: -50px;
    padding: 25px 0px;
	width: 80%;
	min-height: 50px;
}
.infoSlide01{
    padding: 15px 10px;
}
}

.grayscale100{
	filter:grayscale(100%);
}
.bgFilterDark{
	/*background: url() no-repeat center;*/
	/*background-size: cover;*/
	/*position: relative;*/
	/*height:100%;*/
}
.bgFilterDark::before{
	/* 透過した黒を上から重ねるイメージ */
	background-color: rgba(0,0,0,0.4);
	/* 自由に位置指定 */
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	content: ' ';
}


.bgSubBl{background: linear-gradient(30deg, rgba(2,0,36,1) 0%, rgba(3,16,80,1) 23%, rgba(0,151,255,1) 100%);}
.bgSubOr{background: linear-gradient(30deg, rgba(225,77,60,1) 0%, rgba(242,193,38,1) 100%);}
.bgSubBl, .bgSubOr{
	position: relative;
	display: block;
	box-sizing: border-box;
	width: 100%;
	/*overflow-x: hidden;*/
	margin: 0;
	padding: 120px 20px 100px;
	z-index: 0;
	background-size: 200% 200%;/*サイズを大きくひきのばす*/
	animation: bggradient1 10s ease infinite;
}
@keyframes bggradient1{
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}






.linkBT{/*中央*/
	margin: 0 auto;
	padding: 0;
	max-width: 300px;
}



/*---------------------------------------------------------------------------------------------------------- index.html _____*/
.indexHcopy{
	position: absolute;
	top: 20%;
	right: 100px;
	text-align: center;
}
.indexHcopy h1.ja{
	color: #FFFFFF;
	margin: 0 0 20px;
	padding: 0;
	font-size: 35px;
	font-weight: 700;
	line-height: 50px;
	text-shadow: 2px 1px 0px rgba(0, 0, 0, 1);
}
.indexHcopy h1.en{
	color: #FFFFFF;
	margin: 0;
	padding: 0;
	font-size: 100px;
	line-height: 100px;
	font-weight: 900;
	text-shadow: 3px 2px 0px rgba(0, 0, 0, 1);
}
@media screen and (max-width: 767px) {/*スマホ対応*/
.indexHcopy{
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	width: 100%;
}
.indexHcopy h1.ja{
	font-size: 18px;
	font-weight: 700;
	line-height: 27px;
	text-shadow: 2px 1px 0px rgba(0, 0, 0, 1);
}
.indexHcopy h1.en{
	font-size: 50px;
	line-height: 50px;
	font-weight: 900;
	text-shadow: 3px 2px 0px rgba(0, 0, 0, 1);
}
}


.bgGradationIndex{
	position: relative;
	z-index: 0;
	margin: 0;
	padding: 0px;
	background: linear-gradient(45deg, rgba(255,251,238,1) 0%, rgba(250,119,12,1) 100%);
	
	display: block;
	background-size: 200% 200%;
	animation: gradient 30s ease infinite;
	
	color: #FFFFFF;
}

@keyframes gradient {
0% {
background-position: 0% 100%
}
50% {
background-position: 100% 0%
}
100% {
background-position: 0% 100%
}
}

/*スクロールダウン全体の場所*/
.scrolldown1{
	/*描画位置※位置は適宜調整してください*/
	position:absolute;
	left:50%;
	bottom:10px;
	bottom:50px;
	/*全体の高さ*/
	height:50px;
	height:250px;
}

/*Scrollテキストの描写*/
.scrolldown1 span{
	display: none;/*文字は表示なし*/

	/*描画位置*/
	position: absolute;
	left:-15px;
	top: -15px;
	/*テキストの形状*/
	color: #eee;
	font-size: 0.7rem;
	letter-spacing: 0.05em;
}

/* 線の描写 */
.scrolldown1::after{
	content: "";
	/*描画位置*/
	position: absolute;
	top: 0;
	/*線の形状*/
	width: 2px;
	height: 30px;
	height: 230px;
	background: #FFFFFF;
	animation: pathmove 1.4s ease-in-out infinite;/*線の動き1.4秒かけて動く。永遠にループ*/
	animation: pathmove 3.4s ease-in-out infinite;/*線の動き3.4秒かけて動く。永遠にループ*/
	opacity:0;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
  0%{
    height:0;
    top:0;
    opacity: 0;
  }
  50%{
    height:30px;
    height:200px;
    opacity: 1;
  }
  100%{
    height:0;
    top:50px;
    top:250px;
    opacity: 0;
  }
}

.hCopyright{
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	writing-mode: vertical-rl;
	color: #FFFFFF;
	font-size: 13px;
}





.area{
  overflow: hidden;
}
.wrap{
	width: 200%;/*gsap.set(wrap,  { width: num * 50 + "%" });*/
	margin: 0;
	padding: 15vh 0;

	display: flex;
}
a.item{
	position: relative;
	z-index: 0;
	width: 25%;/*gsap.set(items, { width: 100 / num + "%" });*/

	height: 70vh;
	display: flex;
	/*justify-content: center;*/
	/*align-items: center;*/
	color: #fff;
	
	box-sizing: border-box;
	margin: 0 15px;
	padding: 0;
	padding: 100px 0 0 50px;
	text-decoration: none;
}
a.item::before{
	background-color: rgba(0,0,0,0.6);
	background-size: cover;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	content: ' ';
	z-index: -1;
}
a.item:hover::before{
	background-color: rgba(0,0,0,0);
}
@media screen and (max-width: 767px) {/*スマホ対応*/
a.item{
	padding: 30px 0 0 30px;
}
}

a.philosophy, a.career, a.training, a.information{
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	z-index: 0;
}
a.philosophy:hover, a.career:hover, a.training:hover, a.information:hover{
	opacity: 1 !important;
	cursor: pointer;
}

a.philosophy{
	margin-left: 25vh;
	background-image: url("../images/pages/bg_philosophy.jpg");
}
a.career{background-image: url("../images/pages/bg_career.jpg");}
a.training{background-image: url("../images/pages/bg_training.jpg?20240502");}
a.information{background-image: url("../images/pages/bg_information.jpg");}

a.item span{
	margin: 50px 0 0 30px;
	margin: 0;
	padding: 0;
	/*font-size: clamp(最小値, 基準値, 最大値);*/
	font-size: clamp(36px,5.952380952380952vw,100px);/*（基準となる文字サイズ）÷（基準となる幅）× 100*//*100px ÷ 1680px × 100*/ 
	font-weight: 900;
	text-shadow: 2px 1px 0px rgba(0, 0, 0, 0);
	z-index: 0;
}
a.item:hover span{
	text-shadow: 2px 2px 0px rgba(0, 0, 0, 1);
}

@media screen and (max-width: 767px) {/*スマホ対応*/
.wrap{
	width: 100%;
	margin: 0;
	padding: 0;
	display: block;
}
a.item{
	width: 100%;
	height: 300px;
	display: block;
	margin: 0;
}
}





/*---------------------------------------------------------------------------------------------------------- philosophy.html _____*/
.readPhilosophy{padding-top: 200px;}
@media screen and (max-width: 767px) {/*スマホ対応*/
.readPhilosophy{padding-top: 100px;}
}

h2.vision{
	position: relative;
	margin: 0 0 200px;
	padding: 0;
	text-align: center;
	font-size: clamp(36px,4.166666666666666vw,70px);/*（基準となる文字サイズ）÷（基準となる幅）× 100*//*100px ÷ 1680px × 100*/
	font-weight: 900;
}
@media screen and (max-width: 767px) {/*スマホ対応*/
h2.vision{
	margin: 0 0 100px;
}
}

.visionJP, .visionImg{
	position: relative;
	display: block;
	margin: 0 auto 100px;
	padding: 0;
	width: 100%;
	max-width: 750px;
}
.visionImg{
	margin: 0 auto 0px;
	max-width: 750px;
}
.visionImg img{
	width: 100%;
}
@media screen and (max-width: 767px) {/*スマホ対応*/
.visionImg{
	max-width: 100%;
}
}

h2.visionJP1, h2.visionJP2{
	position: relative;
	margin: 0;
	margin-left: auto;
	margin-right: auto;
	padding: 0;
	font-size: 30px;
	font-weight: 700;
	line-height: 100%;
}
h2.visionJP2{
	text-indent: 5em;
	line-height: 150%;
}
@media screen and (max-width: 1023px) {
h2.visionJP1, h2.visionJP2{
	font-size: 20px;
	text-align: center;
}
h2.visionJP2{
	text-indent: 0em;
}
}





/*---------------------------------------------------------------------------------------------------------- career.html _____*/

#careerMain1, #careerMain2, #careerMain3{
	position: relative;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	z-index: 0;
	width: 100%;
	/*min-height: 100vh;*/
}


.careerItemLeft, .careerItemRight{/*子*/
	position: relative;
	z-index: 0;
	margin: 0 0px 100px;
	padding: 0 0px 0px;
}
.careerItemLeft{
	flex-basis: calc(20%);
}
.careerItemRight{
	flex-basis: calc(80%);
	margin: 0 0px 0px;
}

h2.career1{
	position: relative;
	margin: 0;
	margin-left: auto;
	margin-right: auto;
	padding: 0;
	font-size: clamp(30px,3.571428571428571vw,60px);/*（基準となる文字サイズ）÷（基準となる幅）× 100*//*100px ÷ 1680px × 100*/ 
	font-weight: 700;
	line-height: 100%;
	writing-mode: vertical-rl;
}
h2.careerManegement, h2.careerFullStack{
	position: relative;
	margin: 0 0 50px;
	padding: 0px;
	font-size: clamp(20px,2.857142857142857vw,48px);/*（基準となる文字サイズ）÷（基準となる幅）× 100*//*100px ÷ 1680px × 100*/ 
	font-weight: 700;
	line-height: 100%;
}

@media screen and (max-width: 767px) {/*スマホ対応*/
.careerItemLeft, .careerItemRight{/*子*/
	flex-basis: calc(100%);
}

h2.career1{
	writing-mode: horizontal-tb;
	font-size: clamp(40px,2.857142857142857vw,48px);/*（基準となる文字サイズ）÷（基準となる幅）× 100*//*100px ÷ 1680px × 100*/ 
}

}

.careerMain1box1, .careerMain1box2{
	position: relative;
	display: block;
	max-width: 80%;
	margin: 20px 0 0px;
	padding: 0 0 100px;
	left: 0;
}
.careerMain1box2{
	left: 10%;
}
@media screen and (max-width: 767px) {/*スマホ対応*/
.careerMain1box1{
	padding: 0 0 50px;
}
.careerMain1box1, .careerMain1box2{
	max-width: 100%;
}
.careerMain1box2{
	left: 0%;
}
}

p.careerMainTxt, p.careerMainHead{
	margin: 0;
	padding: 0 0 0 20px;
	font-size: 18px;
	font-weight: 700;
}
p.careerMainHead{
	margin-bottom: 20px;
	font-size: 20px;
	font-weight: 900;
}


h3.specialty{
	position: relative;
	margin: 0;
	padding: 0;
	font-size: 16px;
	font-weight: 700;
	color: #FFFFFF;
}
h3.specialty span{
	margin: 0;
	padding: 5px 10px;
	background-color: #ef8418;
}
ul.specialty{
	margin: 10px 0 30px;
	padding: 0 0 0 20px;
}
ul.specialty li{
	margin: 0;
	padding: 0;
	font-size: 13px;
	list-style-type: disc;
}







.service, .curriculum{
	position: relative;
	margin: 100px 0 0;
	padding: 0 0 30px;
	width: 100%;
	border-bottom: 1px solid #000b90;
}
.curriculum{
	border-bottom: 0px;
}
@media screen and (max-width: 767px) {/*スマホ対応*/
.curriculum{
	border-bottom: 1px solid #000b90;
}
}

.serviceTitle, .serviceData, .curriculumTitle, .curriculumData{
	position: relative;
	float: left;
	width: 50%;
	margin: 0;
	padding: 0;
}
.curriculumData{
	width: calc(50% - 51px);
	padding-left: 50px;
	border-left: 1px solid #ef8418;
}
@media screen and (max-width: 767px) {/*スマホ対応*/
.serviceTitle, .serviceData, .curriculumTitle, .curriculumData{
	float: none;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
}
}
.serviceNo{
	position: relative;
	display: flex;
	align-items: center;
	margin: 0 0 30px;
	padding: 0 50% 0 0;
	font-size: 50px;
	font-weight: 900;
	color: #000b90;
}
.serviceNo:after{
	content: "";
	flex-grow: 1;
	height: 1px;
	display: block;
	margin-left: .1em;
	background: #000000;
}
.serviceName{
	position: relative;
	margin: 0;
	padding: 0;
	font-size: clamp(20px,1.9047619047619049vw,32px);/*（基準となる文字サイズ）÷（基準となる幅）× 100*//*100px ÷ 1680px × 100*/ 
	font-weight: 700;
}
.serviceNameJP{
	font-size: 13px;
	color: #555555;
	font-weight: 400;
}
@media screen and (max-width: 767px) {/*スマホ対応*/
.serviceName{
	margin: 0 0 30px;
}
}

.serviceData p{
	position: relative;
	margin: 0 0 20px;
	padding: 0;
}
p.serviceDataTxt1{
	font-size: clamp(20px,1.4285714285714286vw,24px);/*（基準となる文字サイズ）÷（基準となる幅）× 100*//*100px ÷ 1680px × 100*/ 
	font-weight: 700;
}
.serviceData table{
	position: relative;
	margin: 0;
	padding: 0;
	width: auto;
}
.serviceData th, .serviceData td{
	position: relative;
	margin: 0;
	padding: 0 0 10px;
	text-align: left;
}
.serviceData span{
	display: inline-block;
	margin: 0 10px 10px 0;
	padding: 3px 10px;
	background-color: #ef8418;
	white-space: nowrap;
	font-weight: 700;
	color: #FFFFFF;
}






/*---------------------------------------------------------------------------------------------------------- training.html _____*/

#trainingMain1, #trainingMain2, #trainingMain3{
	position: relative;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	z-index: 0;
	width: 100%;
	/*min-height: 100vh;*/
}


.trainingItemLeft, .trainingCenter, .trainingRight{/*子*/
	position: relative;
	box-sizing: border-box;
	z-index: 0;
	margin: 0 0px 100px;
	padding: 0 0px 0px;
}
.trainingItemLeft{
	flex-basis: calc(20%);
}
.trainingCenter{
	flex-basis: calc(38%);
}
.trainingRight{
	flex-basis: calc(42%);
	margin: 0 0px 0px;
	padding: 300px 0 0;
}
@media screen and (max-width: 1023px) {
.trainingItemLeft{flex-basis: calc(20%);}
.trainingCenter{flex-basis: calc(80%);}
.trainingRight{
	flex-basis: calc(100%);
	padding: 0px 150px 0;
}
}
@media screen and (max-width: 767px) {/*スマホ対応*/
.trainingItemLeft{flex-basis: calc(100%);}
.trainingCenter{flex-basis: calc(100%);}
.trainingRight{
	flex-basis: calc(100%);
	padding: 0px;
}
}

h2.training1{
	position: relative;
	margin: 0;
	margin-left: auto;
	margin-right: auto;
	padding: 0;
	font-size: clamp(30px,3.571428571428571vw,60px);/*（基準となる文字サイズ）÷（基準となる幅）× 100*//*100px ÷ 1680px × 100*/ 
	font-weight: 700;
	line-height: 100%;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.training1Txt{
	display: inline-block;
	text-indent: 3em;
	white-space: nowrap;
}

p.trainingMainTxt, p.trainingMainHead{
	margin: 0;
	padding: 0 0 0 0px;
}
p.trainingMainTxt{
	margin-bottom: 50px;
}
p.trainingMainHead{
	margin-bottom: 80px;
	font-size: 20px;
	font-weight: 900;
}

h2.trainingMain{
	position: relative;
	margin: 0 0 50px;
	padding: 0px;
	font-size: 20px;
	font-weight: 700;
	line-height: 100%;
}

.curriculumData ul{
	margin: 0 0 0 20px;
	padding: 0;
}
.curriculumData ul li{
	margin: 0;
	padding: 0;
	list-style-type: disc;
	font-weight: 700;
}




/*---------------------------------------------------------------------------------------------------------- 採用情報 ----------------*/
#infoList1, #infoMain1{
	position: relative;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	z-index: 0;
	width: 100%;
}

h1.infoNM{
	position: relative;
	margin: 0;
	padding: 30px 0;
	width: 100%;
	text-align: center;
	background-color: #0082f1;
	color: #FFFFFF;
	font-size: clamp(16px,2.976190476190476vw,50px);/*（基準となる文字サイズ）÷（基準となる幅）× 100*//*100px ÷ 1680px × 100*/ 
}
h2.infoDescH2{
	position: relative;
	margin: 0 0 50px;
	padding: 0;
	font-size: clamp(16px,1.4285714285714286vw,24px);/*（基準となる文字サイズ）÷（基準となる幅）× 100*//*100px ÷ 1680px × 100*/ 
}
.infoDesc{
	position: relative;
	margin: 0 0 50px;
	padding: 50px;
	background-color: rgba(216,216,216,0.3);
}
@media screen and (max-width: 767px) {/*スマホ対応*/
.infoDesc{
	padding: 30px 20px;
}
}


a.informationNM{
	position: relative;
	display: flex;
	align-items: center;
	margin: 0 0 30px;
	padding: 0 10% 0 0;
	font-weight: 900;
	color: #000b90;
	font-size: clamp(16px,1.9047619047619049vw,32px);/*（基準となる文字サイズ）÷（基準となる幅）× 100*//*100px ÷ 1680px × 100*/ 
}
a.informationNM:hover{
	cursor: pointer;
}
a.informationNM:visited{
	color: #000000;
}

.bgBTdetail{
	position: relative;
	margin: 30px 0 0;
	padding: 0;
	width: 200px;
}
.bgBinfoEntry{
	position: relative;
	margin: 30px auto 0;
	padding: 0;
	max-width: 600px;
}
a.btDetail{
	display:block;
	width:100% !important;
	border:0px;
	border-radius: 2px;
	margin:0px 0px 0px;
	padding: 10px 0px 10px;
	text-shadow: -1px -1px 0 rgba(0,0,0,0.3);
	font-size:20px;
	letter-spacing:2px;
	text-decoration: none;
	font-weight:normal;
	text-align: center;
	color: #FFFFFF;
	background-color: #f08e2b;
}

.flexcontainer.info{/*親*/
	margin-bottom: 100px;
	align-items: stretch;
}
.infoItem, .infoData{
	margin: 0;
	padding: 30px;
	box-sizing: border-box;
}
.infoItem{
	flex-basis: 33.333%;
	background-color: rgba(21,40,77,0.9);
	color: #FFFFFF;
	text-align: center;
	border-bottom: 1px solid #FFFFFF;
}
.infoData{
	flex-basis: 66.667%;
	border-bottom: 1px solid #000000;
}
@media screen and (max-width: 767px) {/*スマホ対応*/
.infoItem, .infoData{
	flex-basis: 100%;
	padding: 30px 0;
	border: 0;
}
}



/*---------------------------------------------------------------------------------------------------------- プライバシーポリシー ----------------*/
#policy{
}

h3.ppolicy{
	position: relative;
	text-align: center;
	margin: 0 0 80px;
	padding: 10px 0;
	background-color: #1e3c72;
	color: #FFFFFF;
}

#policy p{
	margin:80px 0px 0px 0px;
	padding:0px;
	line-height: 180%;
}
#policy ol{
	margin:40px 0px 0px 25px;
	padding:0px;
}
#policy ol li{
	margin:0px 0px 40px;
	padding:0px;
	list-style-type: decimal;
    line-height: 180%;
}
#policy ol li ol{
	margin-top:25px;
	margin-left:43px;
}
#policy ol li ul li{
	margin:0px 0px 15px 20px;
	padding:0px 0 0 0px;
	list-style-type: disc;
    line-height: 180%;
}

#policy ol li ol li{
    text-indent: -43px;
	margin:0px 0px 25px;
	padding:0px;
    list-style-type: none !important;
    counter-increment: cnt;
}
#policy ol li ol li::before{
    content: "(" counter(cnt)")　";
}




/*------------------------------------------------------------------------------ footer ----------------*/
.bgFooter1, .bgFooter2{
	position:relative;
	margin: 0;
	padding: 0;
	width:100%;
	box-sizing: border-box;
}
.bgFooter1{
	background: linear-gradient(45deg, rgba(60, 163, 229, 1) 0%, rgba(7, 39, 110, 1) 100%);
    display: block;
    background-size: 200% 200%;
    animation: gradient 20s ease infinite;
    color: #FFFFFF;
}
.bgFooter2{
	padding: 0px 0;
	background-color: #FFFFFF;
	font-size: 13px;
}

.footer{
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: 1536px;
	margin: 0 auto;
	padding: 100px 20px;
}
.footer a{
	color: #fff;
	text-decoration: none;
}
.footer a:hover{
}
.footer p{
	margin: 0;
	padding: 0;
	text-align: center;
	line-height: 180%;
}

.footerLeftBottom{
}
@media screen and (max-width: 767px) {/*スマホ対応*/
.footerLeftBottom{
	margin-bottom: 100px;
}
}
.catchFooter{
	position: relative;
	margin: 0 0 30px;
	padding: 0;
	font-size: 30px;
	font-weight: 900;
}
@media screen and (max-width: 767px) {/*スマホ対応*/
.catchFooter{
	text-align: center;
}
}
.corpLogo{
	position: relative;
	margin: 0 0 30px;
	padding: 0;
	width: 200px;
}
.corpLogo img{
	width: 100%;
}
@media screen and (max-width: 767px) {/*スマホ対応*/
.corpLogo{
	margin: 0 auto 30px;
}
}
.corpAdd{
	position: relative;
	margin: 0 0 30px;
	padding: 0;
	font-size: 16px;
	line-height: 180%;
}
.corpLink{
	position: relative;
	margin: 0;
	padding: 0 0 0 12px;
	background-image: url("../images/common/arrow_wh7.png");
	background-repeat: no-repeat;
	background-position: 0 center;
	background-size: 7px;
	font-size: 13px;
}
.icoLink{
	position: relative;
	top: 2px;
	left: 5px;
	right: 0;
	margin: 0;
	padding: 0;
	width: 13px !important;
}


.footer ul{
	margin-block-start: 0;
}
.footer ul li{
	margin-bottom: 10px;
}
@media screen and (max-width: 767px) {/*スマホ対応*/
.footer ul li{
	margin-bottom: 10px;
}
}



.fMark{
	position: relative;
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 100px;
	padding: 0 20px;
}
.fMark p{
	margin: 0;
	padding: 0 20px 0 100px;
	display: table-cell;
	height: 100px;
	text-align: left;
	vertical-align: middle;
}
@media screen and (max-width: 767px) {/*スマホ対応*/
.fMark p{
	padding-right: 0;
}
}
.fMark.pmark, .fMark.nosports, .fMark.savechildren{
	background-repeat: no-repeat;
	background-size: 100px;
	background-position: left center;
}
.fMark.pmark{background-image: url("../images/common/10824725_200_EN.png");}
.fMark.nosports{background-image: url("../images/common/img_nosports.png");}
.fMark.savechildren{background-image: url("../images/common/img_savechildren.png");}



/*------------------------------------------------------------------------------ フォーム ----------------*/
.policytitle{
	margin: 0;
	padding: 10px;
	text-align: center;
	color: #FFFFFF;
	background-color: #1e3c72;
	border: 1px solid #CCCCCC;
	border-bottom: 0px;
}
.policytxt{
	margin: 0 0 30px;
	padding: 20px;
	border: 1px solid #CCCCCC;
	height: 300px;
	overflow-y: scroll;
	background-color: #FFFFFF;
}

.cboxLeft{
	float: left;
	margin-bottom: 10px;
}
.front_radio{
	margin: 0 30px 0 0;
	padding: 0 0 0px;
	line-height: 180%;
}
.front_checkbox{
	margin: 0 30px 0 0;
	padding: 0 0 0px;
	line-height: 180%;
}
.dataitem_half{
	float: left;
	margin: 30px 0 0;
	padding: 0px 0 0;
	text-align: left;
	letter-spacing: 1px !important;
	width: 40%;
	vertical-align: top;
	font-size: 16px;
}
.datadata_half{
	float: left;
	margin: 30px 0 0;
	padding: 0;
	text-align: left;
	letter-spacing: 1px !important;
	width: 60%;
	vertical-align: top;
	font-size: 16px;
}
.datamail{
	margin: 0 auto;
	padding: 0;
	width: 98%;
}
.line_gy {
    clear: both;
    border-bottom: 1px dotted #666666;
}
.age{
	display: inline-block;
}

input[type=text], textarea, select{
	border:0; 
	padding:10px 1%; 
	color:#000; 
	border:solid 1px #ccc; 
	margin:0; 
	font-size:16px;
}
input[type=text], textarea{
	width:98%;
}
input:focus, textarea:focus, select:focus {
    border:solid 1px #0B19E7;
}
textarea{
	height:300px;
}
select{
	height: 44px;
}
@media screen and (max-width: 767px) {/*スマホ対応*/
.dataitem_half{
	float:none;
	margin: 20px 0 0;
	width: 100%;
}
.datadata_half{
	float:none;
	margin: 0px 0 0;
	padding: 10px 0 0;
	width: 100%;
}
}


ul.mailPolicy li{
	margin-bottom: 40px !important;
}
ol.mailPolicy{
	margin-top: 10px !important;
}
ol.mailPolicy li{
	margin-bottom: 10px !important;
}





@media screen and (max-width: 1023px) {/*タブレット対応*/
.pc{
	display:none;
}
.tablet{
	display:block;
}
}



