a,abbr,acronym,address,applet,section,aside,audio,big,blockquote,body,caption,canvas,center,cite,code,dd,del,details,dfn,dialog,div,dl,dt,em,embed,fieldset,figcaption,figure,form,footer,header,hgroup,h1,h2,h3,h4,h5,h6,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,main,small,span,strike,strong,sub,summary,sup,tt,table,tbody,tfoot,thead,time,tr,th,td,u,ul,var,video{font-family:inherit;font-size:100%;font-weight:inherit;font-style:inherit;vertical-align:baseline;white-space:normal;margin:0;padding:0;border:0;outline:0;background:transparent;line-height:1;text-align:left;box-sizing: border-box;}textarea{font-family:inherit;font-size:100%;font-weight:inherit;font-style:inherit;vertical-align:baseline;margin:0;padding:0;border:0;outline:0;background:transparent;line-height:1.6;text-align:left;}section,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,main{display:block}ol,ul{list-style:none}blockquote,q{quotes:none}table{border-collapse:collapse;border-spacing:0}img{vertical-align: bottom;margin: 0;padding: 0;width: 100%;height: auto;}
blockquote, q {
	quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}
.clearfix:after {
	content: "";
	clear: both;
	display: block;
}
*{
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
/*　IE(edge,11)用*/
.object-fit-img {
	object-fit: cover;
	object-position: center;
	font-family: 'object-fit: cover; object-position: center;'
}
table {width: 100%;}
::before,::after {box-sizing: border-box;}
img {width: 100%;max-width: 100%;}
/* ----------------------------------------------

 * タグの設定

---------------------------------------------- */
a {
	display: inline-block;
	outline:none;
	color: #333;
	cursor: pointer;
	text-decoration: none;
	-webkit-tap-highlight-color: transparent;
    transition: all .3s ease;
}
input,
input[type="submit"],
input[type="button"],
input[type="text"],
button {
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	box-sizing: border-box;
	outline: none;
	font-style: normal;
	font-weight: 400;
	cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}
input[type="button"],
input[type="text"],
input[type="submit"],
input[type="image"],
textarea {
   -webkit-appearance: none;
   appearance: none;
}
select {
    -webkit-appearance: none;
	 -moz-appearance: none;
    appearance: none;
}
select::-ms-expand{
	display: none;
}
/*------------------------------------------------*/
html {
	margin: 0;
	padding: 0;
	background: #fff;
	color: #333;
	font-style: normal;
	font-weight: 400;
	font-size: 62.5%;
	line-height: 1.7;
}
body {font-size: clamp(14px, calc(14px + 2 * ((100vw - 375px) / 1545)), 16px);line-height: 1.7;}
h2,h3,h4,h5 {font-size: clamp(14px, calc(14px + 2 * ((100vw - 375px) / 1545)), 16px);line-height: 1.5;}
p {font-size: clamp(14px, calc(14px + 2 * ((100vw - 375px) / 1545)), 16px);line-height: 1.7;}
li,th,td,dt,dd,figcaption {font-size: clamp(14px, calc(14px + 2 * ((100vw - 375px) / 1545)), 16px);line-height: 1.7;}
.inner {width: 90%;max-width: 1000px;margin: 0 auto;}
.blank {
	padding-top: clamp(60px, calc(60px + 20 * ((100vw - 375px) / 1545)), 80px);
	padding-bottom: clamp(60px, calc(60px + 20 * ((100vw - 375px) / 1545)), 80px);
}
.flexbox {display: flex;flex-wrap: wrap;justify-content: space-between;}
.wht_bg {background: #fff;}
.title_wrap {margin-bottom: clamp(40px, calc(40px + 10 * ((100vw - 375px) / 1545)), 50px);}
.title_wrap h2 {
  margin-bottom: 30px;
  color: #0c7b97;
  font-size: clamp(28px, calc(28px + 6 * ((100vw - 375px) / 1545)), 34px);
  letter-spacing: .04em;
  text-align: center;
}
.title_wrap h2.small {margin-bottom: 0;font-size: clamp(22px, calc(22px + 6 * ((100vw - 375px) / 1545)), 28px);}
.title_wrap h2:last-child {margin-bottom: 0;}
.title_wrap h3 {
  position: relative;
  margin-bottom: clamp(40px, calc(40px + 10 * ((100vw - 375px) / 1545)), 50px);
  padding-bottom: 15px;
  border-bottom: 1px solid #3c3c3c;
  font-weight: bold;
  font-size: clamp(16px, calc(16px + 4 * ((100vw - 375px) / 1545)), 20px);
}
.title_wrap h3:after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100px;
  height: 4px;
  background: #0c7b97;
}
.title_wrap p.txt {max-width: 750px;margin: 0 auto clamp(40px, calc(40px + 10 * ((100vw - 375px) / 1545)), 50px);}
.title_wrap p.txt span {display: block;font-weight: bold;line-height: 1.7;}
.title_wrap p.sub_txt {
  color: #0c7b97;
  font-weight: bold;
  font-size: clamp(16px, calc(16px + 4 * ((100vw - 375px) / 1545)), 20px);
  text-align: center;
}
a.here {
  display: block;
  position: relative;
  max-width: 450px;
  margin: 0 auto 60px;
  padding: 20px 20px 20px 0;
  background: #EA8712;
  color: #fff;
  font-weight: 700;
  font-size: clamp(16px, calc(16px + 4 * ((100vw - 375px) / 1545)), 20px);
  letter-spacing: .2em;  
  text-align: center;
}
a.here:hover {background: #0C7B97;color: #fff;}
a.here::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: url(../images/common/arrowR-wht.svg) no-repeat right center / 100%;
}
a[href^="tel:"] {pointer-events: none;}
.pc,.pc2 {display: block;}
.sp,.sp2 {display: none;}
@media only screen and ( max-width : 1024px ) {
	.pc2 {display: none;}
	.sp2 {display: block;}
}
@media only screen and ( max-width : 767px ) {
	a[href^="tel:"] {pointer-events: visible;}
	.pc {display: none;}
	.sp {display: block;}
}
/*-------------------------------------------------

　  EDUCATION & TRAINING │ 教育・研修事業

--------------------------------------------------*/
#education .flex_block {background: #f8f8f8;}
#education .flex_block aside {position: sticky;top: 0;left: 0;float: left;width: 340px;padding: 100px 40px 40px 0;}
#education .flex_block aside h3 {
  margin-bottom: clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 30px);
  color: #5490A9;
  font-weight: bold;
  font-size: clamp(16px, calc(16px + 4 * ((100vw - 375px) / 1545)), 20px);
  text-align: left;
  padding-left: 40px;
}
#education .flex_block aside h3 span {
  display: block;
  font-size: 13px;
  font-weight: 400;
  color: rgb(51, 51, 51);
  margin-top: 4px;
}
#education .flex_block aside nav {display: grid;gap: 20px;}
#education .flex_block aside nav .wrap h4 {margin-bottom: 10px;padding-left: 40px;}
#education .flex_block aside nav .wrap h4 span {border-bottom: 1px solid #707070;font-weight: bold;}
#education .flex_block aside nav .wrap ul li {position: relative;padding-left: 40px;line-height: 2.5;}
#education .flex_block aside nav .wrap ul li::before {
  content: '';
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(-50%, -50%);
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #5490A9;
  transition: .3s;
}
#education .flex_block aside nav .wrap ul li:hover::before {opacity: 1;}
#education .flex_block aside nav .wrap ul li a {
  color: #333;
  font-size: clamp(12px, calc(12px + 2 * ((100vw - 375px) / 1545)), 14px);
  line-height: 1.4;
}
#education .main_contents {margin-left: 340px;}
/*-------------------------------------------------
  志を持つ若手技術者に、より実践的な教育研修を。
--------------------------------------------------*/
#education .main_contents #training figure {max-width: 790px;margin: 0 auto;}
/*-------------------------------------------------
  知識研修と実習を組合わせた実践的な研修カリキュラム
--------------------------------------------------*/
#education .main_contents #curriculum ul {display: grid;grid-template-columns: repeat(3, 1fr);gap: 50px 30px;}
#education .main_contents #curriculum ul li figure {margin-bottom: 10px;}
#education .main_contents #curriculum ul li p {font-weight: 500;}
/*-------------------------------------------------
  保有技術スキル調査の実施
--------------------------------------------------*/
#education .main_contents #skills_survey ul {display: grid;grid-template-columns: repeat(3, 1fr);width: 90%;margin: 0 auto;}
/*-------------------------------------------------
  共通
--------------------------------------------------*/
#education .main_contents .training_wrap {padding: 30px 20px;background: #f8f8f8;}
#education .main_contents .training_wrap h3 {
  margin-bottom: 20px;
  font-weight: bold;
  font-size: clamp(16px, calc(16px + 4 * ((100vw - 375px) / 1545)), 20px);
  letter-spacing: .05em;
  text-align: center;
}
#education .main_contents .training_wrap h3 span {color: #0c7b97;}
#education .main_contents .training_wrap ul.list li.item {padding: 20px;border: 1px solid #3c3c3c;}
#education .main_contents .training_wrap ul.list.flexbox li.item {width: 48.5%;}
#education .main_contents .training_wrap ul.list li.item h4 {margin-bottom: 10px;font-weight: bold;}
#education .main_contents .training_wrap ul.list li.item .content {flex-wrap: nowrap;gap: 10px;}
#education .main_contents .training_wrap ul.list li.item ul li {
  margin-left: 20px;
  list-style-type: disc;
  font-size: clamp(14px, calc(14px + 2 * ((100vw - 375px) / 1545)), 16px);
}
#education .main_contents .arrow {width: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);margin: 20px auto;}
#education .main_contents .final_exam_wrap {
  margin-bottom: clamp(40px, calc(40px + 10 * ((100vw - 375px) / 1545)), 50px);
  padding: 30px 0;
  background: #f8f8f8;
}
#education .main_contents .final_exam_wrap h3 {
  font-weight: bold;
  font-size: clamp(16px, calc(16px + 4 * ((100vw - 375px) / 1545)), 20px);
  letter-spacing: .05em;
  text-align: center;
}
#education .main_contents .final_exam_wrap h3 span {color: #0c7b97;}
#education .main_contents .table_wrap {margin-bottom: clamp(40px, calc(40px + 10 * ((100vw - 375px) / 1545)), 50px);}
#education .main_contents .table_wrap:last-child {margin-bottom: 0;}
#education .main_contents .table_wrap h3 {
  margin-bottom: 10px;
  font-weight: bold;
  font-size: clamp(16px, calc(16px + 4 * ((100vw - 375px) / 1545)), 20px);
  letter-spacing: .05em;
}
#education .main_contents .table_wrap table {width: 100%;}
#education .main_contents .table_wrap table tr th,
#education .main_contents .table_wrap table tr td {
  padding: 10px;
  border: 1px solid #3c3c3c;
  background: #fff;
  font-size: clamp(12px, calc(12px + 2 * ((100vw - 375px) / 1545)), 14px);
  line-height: 1.4;
  text-align: center;
  vertical-align: middle;
}
#education .main_contents .table_wrap table tr th {font-weight: bold;background: #ccc;}
#education .main_contents .table_wrap table tr td.txt-l {text-align: left;}
#education .main_contents .table_wrap table tr:nth-of-type(odd) td {background: hsla(0,0%,50%,.071);}
#education .main_contents .table_wrap dl {display: flex;gap: 20px;margin-top: 20px;}
#education .main_contents .table_wrap dl dt {font-size: clamp(12px, calc(12px + 2 * ((100vw - 375px) / 1545)), 14px);}
#education .main_contents .table_wrap dl dd {flex: 1;font-size: clamp(12px, calc(12px + 2 * ((100vw - 375px) / 1545)), 14px);}
#education .main_contents .table_wrap p {
  margin-top: 20px;
  margin-left: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
  font-size: clamp(12px, calc(12px + 2 * ((100vw - 375px) / 1545)), 14px);
}
#education .main_contents .main_wrap {margin-bottom: clamp(40px, calc(40px + 10 * ((100vw - 375px) / 1545)), 50px);}
#education .main_contents .main_wrap:last-child {margin-bottom: 0;}
#education .main_contents .main_wrap p {margin-bottom: 15px;}
#education .main_contents .main_wrap p:last-child {margin-bottom: 0;}
#education .main_contents .main_wrap p a {color: #00809E;text-decoration: underline;}
#education .main_contents .main_wrap dl {display: flex;gap: 20px;margin-bottom: 20px;}
#education .main_contents .main_wrap dl dt {font-weight: bold;}
#education .main_contents .main_wrap dl dd {flex: 1;}
#education .main_contents .main_wrap dl dd span {display: block;font-weight: bold;line-height: 1.7;}
#education .main_contents .main_wrap ul {display: grid;grid-template-columns: repeat(4, 1fr);gap: 20px;margin-bottom: 20px;}
/*-------------------------------------------------
  コース
--------------------------------------------------*/
#education .main_contents #course .block1 .container1 {margin-bottom: clamp(40px, calc(40px + 20 * ((100vw - 375px) / 1545)), 60px);}
#education .main_contents #course .block1 .container1 h4 {margin-bottom: 15px;}
#education .main_contents #course .block1 .container1 ul {display: grid;grid-template-columns: repeat(4, 1fr);gap: 20px;}
#education .main_contents #course .block2 .container .training_wrap {background: #fff;}
#education .main_contents #course .block2 .container .final_exam_wrap {background: #fff;}
#education .main_contents #course .block4 .container .training_wrap {background: #fff;}
#education .main_contents #course .block4 .container .final_exam_wrap {background: #fff;}
#education .main_contents #course .block7 .container .training_wrap {background: #fff;}
#education .main_contents #course .block7 .container .final_exam_wrap {background: #fff;}
/*-------------------------------------------------
  お申込み・お問い合わせについて
--------------------------------------------------*/
#education .main_contents #form .container .main_wrap a.here {margin-top: 40px;}
#education .main_contents #form .container ul li .wrap {margin-bottom: clamp(30px, calc(30px + 10 * ((100vw - 375px) / 1545)), 40px);}
#education .main_contents #form .container ul li .wrap h3 {
  margin-bottom: 10px;
  font-weight: bold;
  font-size: clamp(16px, calc(16px + 2 * ((100vw - 375px) / 1545)), 18px);
  text-align: center;
}
#education .main_contents #form .container ul li .wrap p {text-align: center;}
#education .main_contents #form .container ul li .map {position: relative;width: 100%;padding-top: 56.25%;}
#education .main_contents #form .container ul li .map iframe {position: absolute;top: 0;right: 0;width: 100%;height: 100%;}
@media only screen and ( max-width : 1024px ) {
  #education .flex_block aside {display: none;}
  #education .main_contents {margin-left: 0;}
}
@media only screen and ( max-width : 767px ) {
  #education .main_contents #curriculum ul {grid-template-columns: repeat(2, 1fr);}
  #education .main_contents #course .block1 .container1 ul {grid-template-columns: repeat(2, 1fr);}
  #education .main_contents .training_wrap ul.list.flexbox {gap: 20px;}
  #education .main_contents .training_wrap ul.list.flexbox li.item {width: 100%;}
  #education .main_contents .training_wrap ul.list li.item .content {display: block;}
  #education .main_contents .main_wrap ul {grid-template-columns: repeat(2, 1fr);}
}