@charset "UTF-8";
/* CSS Document */
/*
-----------------------------------------------
▼under visual
----------------------------------------------- */
.under_visual{
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	height: 28.57vw;
	margin-top: 100px;
	position: relative;
}
.under_visual#company-profile{
		background-image: url(../img/company-profile/under_main01.jpg);
}
.under_visual#technology{
		background-image: url(../img/technology/under_main02.jpg);
}
.under_visual#hrd{
		background-image: url(../img/hrd/under_main03.jpg);
}
.under_visual#about{
		background-image: url(../img/about/under_main04.jpg);
}
.under_visual#data{
		background-image: url(../img/data/under_main05.jpg);
}
.under_visual#contact{
		background-image: url(../img/contact/under_main06.jpg);
}
.under_vis_box{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.under_vis_box h2{
	color: #ffffff;
	font-size: 5.6rem;
	margin-top: 0.2em;
}
@media screen and (max-width: 1000px){
	.under_vis_box h2{
		font-size: 4.6rem;
	}
}
@media screen and (max-width: 768px){
	.under_visual#company-profile{
		background-image: url(../img/company-profile/sp-under_main01.jpg);
		height: 50vw;
		background-position: center top;
	}
	.under_visual#technology{
		background-image: url(../img/technology/sp-under_main02.jpg);
		height: 50vw;
		background-position: center center;
	}
	.under_visual#hrd{
		background-image: url(../img/hrd/sp-under_main03.jpg);
		height: 50vw;
		background-position: center center;
	}
	.under_visual#about{
		background-image: url(../img/about/sp-under_main04.jpg);
		height: 50vw;
		background-position: center center;
	}
	.under_visual#data{
		background-image: url(../img/data/sp-under_main05.jpg);
		height: 50vw;
		background-position: center center;
	}
	.under_visual#contact{
		background-image: url(../img/contact/sp-under_main06.jpg);
		height: 50vw;
		background-position: center center;
	}
	}
@media screen and (max-width: 767px){
	.under_vis_box h2{
		font-size: 4.0rem;
	}
}
	@media screen and (max-width: 500px){
		.under_visual{
			margin-top: 80px;
		}
		.under_vis_box h2{
			font-size: 7.4vw;
		}
}
/*
-----------------------------------------------
▼パンくず
----------------------------------------------- */
.pankuzu{
	display: flex;
}
.pankuzu li{
	position: relative;
	font-size:1.5rem;
	font-weight: 700;
	color: #333333;
	margin-top: 0.8em;
	margin-bottom: 4em;
}
.pankuzu li a{
	color: #333333;
	text-decoration: none;
	position: relative;
}
.pankuzu li:not(:last-child){
	padding-right: 1.6em;
}
.pankuzu li:not(:last-child)::after{
	position: absolute;
	content: "\03e";
	padding-left: 0.6em;
}
.pankuzu li a::after{
	position: absolute;
	left: 0;
	content: "";
	width: 100%;
	height: 2px;
	background-color: #f8b100;
	bottom: -2px;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: 0.3s;
}
.pankuzu li a:hover::after{
	transform: scale(1, 1);
	transform-origin: left top;
}
@media screen and (max-width: 500px){
	.pankuzu li{
		font-size: 1.4rem;
		margin-bottom: 2em;
	}
}
/*
-----------------------------------------------
▼table
----------------------------------------------- */
.table01{
	width: 100%;
	font-size: 1.8rem;
	font-weight: 500;
	margin-bottom: 35px;
}
.table01 tr{
	border-bottom: dashed 1px #999999;
}
.table01 th{
	width: 25%;
	padding: 1em 0 1em 2em;
}
.table01 td{
	width: 75%;
	padding: 1em 0;
}
.table02{
	width: 100%;
	font-size: 1.8rem;
	margin-top: 20px;
	margin-bottom: 75px;
}
.table02 th{
	font-weight: 700;
	vertical-align: top;
	width: 25%;
	padding-top: 0.4em;
}
.table02 td{
	font-size: 1.6rem;
	width: 75%;
	line-height: 2em;
	padding-bottom: 2em;
}
.td01{
	margin-bottom: 40px;
}
.table02 td.td01{
	padding-bottom: 0.5em;
}
@media screen and (max-width: 767px){
	.table02 th,
	.table02 td{
		display: block;
		width: 100%;
	}
	.td01{
		margin-bottom: 0;
	}
	.table01,
	.table02{
		font-size: 1.6rem;
	}
	.table02 td{
		font-size: 1.5rem;
		padding-bottom: 1em;
	}
	.table02{
		margin-bottom: 20px;
	}
}
@media screen and (max-width: 500px){
	.table01 th{
		padding: 1em 0;
		width: 20%;
	}
	.table01 td{
		width: 80%;
	}
	.table01,
	.table02{
		font-size: 1.5rem;
	}
	.table02 td{
		font-size: 1.4rem;
	}
}
/*
-----------------------------------------------
▼map
----------------------------------------------- */
.g-map{
	margin-top: 20px;
}
.g-map iframe{
    aspect-ratio: 16 / 9;
    max-width: 1000px;
    width: 100%;
    height: auto;
}
@media screen and (max-width: 767px){
	.g-map{
		margin-top: 10px;
	}
}
/*
-----------------------------------------------
▼list
----------------------------------------------- */
.list01_box{
	width: 100%;
	display: flex;
	margin-bottom: 95px;
}
.list01_box > div{
	width: 25%;
}
.list01{
	width: 75%;
}
body{
	counter-reset: number 0;
}
.list01 li{
	font-size: 1.6rem;
	display: flex;
	column-gap: 3%;
	margin-bottom: 30px;
}
.list01 li span::before{
	counter-increment: number 1;
	content: counter(number)".";
}
@media screen and (max-width: 767px){
	.list01_box{
		flex-direction: column;
		margin-bottom: 40px;
	}
	.list01_box > div{
		width: 100%;
	}
	.list01{
		width: 100%;
		margin-top: 20px;
	}
	.list01 li{
		font-size: 1.5rem;
	}
}
@media screen and (max-width: 500px){
	.list01 li{
		font-size: 1.4rem;
	}
}
/*
-----------------------------------------------
▼社長メッセージ
----------------------------------------------- */
.p-message{
	background-color: #f0f0f0;
	padding-top: 45px;
	padding-bottom: 100px;
}

.pm_wrap{
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
}

.pm_img{
width:32%;
}

.pm_img img{
width:auto ;
height:auto;
max-width:100%;
}

.pm_ttl{
	display: flex;
	margin-left: 30px;
	align-items: flex-end;
	margin-bottom: 60px;
}
.pm_ttl h3{
   margin-left: 30px;
}
.pm_txt h4{
	font-size: 4.0rem;
	font-weight: 700;
	margin-bottom: 50px;
}
.pm_txt p{
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.8em;
}
p.pm_name{
	font-size: 2.1rem;
	font-weight: 700;
	margin-top: 65px;
}
p.pm_name span{
	font-size: 2.7rem;
	font-weight: 700;
	margin-bottom: 0;
}
.pm_txt{
	width: 65%;
}

@media screen and (max-width: 1000px){
	.pm_txt h4{
		font-size: 3.5rem;
	}
}
@media screen and (max-width: 768px){
	.pm_txt{
		width: 100%;
	}

.pm_img{
width:60%;
margin:3% auto 6%;
}

}
@media screen and (max-width: 767px){
	.pm_txt h4{
		font-size: 2.6rem;
	}
	.pm_ttl{
		margin-bottom: 25px;
		flex-direction: column;
		align-items: flex-start;
		margin-left: 0;
	}
	.pm_txt h4{
		margin-bottom: 25px;
	}
	.pm_txt p{
		font-size: 1.5rem;
		font-weight: 400;
	}
	p.pm_name{
		font-size: 1.8rem;
		font-weight: 700;
		margin-top: 30px;
	}
	p.pm_name span{
		font-size: 2.5rem;
	}
	.p-message{
		padding-bottom: 60px;
	}
}
@media screen and (max-width: 500px){
	.pm_txt h4{
		font-size: 5.2vw;
		line-height:1.7;
	}
	.pm_ttl{
		margin-bottom: 15px;
	}
	.pm_txt h4{
		margin-bottom: 20px;
	}
	.pm_txt p{
		font-size: 1.4rem;
	}
	p.pm_name{
		font-size: 1.6rem;
		margin-top: 20px;
	}
	p.pm_name span{
		font-size: 2.3rem;
	}
	.p-message{
		padding-top: 35px;
		padding-bottom: 40px;
	}
}
/*
-----------------------------------------------
▼technology
----------------------------------------------- */
.t_box{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 100px;
}
.t_txt{
	width: 60%;
}
.t_p01{
	font-size: 1.8rem;
	line-height: 1.8em;
}
.t_img{
	width: 38%;
}
.t_img img{
	width: 100%;
}
.case{
	background-color: #f0f0f0;
	border: solid 2px #f8b100;
	border-radius: 25px;
	padding-left: 8%;
	padding-right: 8%;
	padding-top: 34px;
	padding-bottom: 70px;
	margin-top: 50px;
	margin-bottom: 135px;
}
.case h4{
	font-size: 2.8rem;
	text-align: center;
	font-weight: 700;
	margin-bottom: 0.8em;
}
.note_list{
	justify-content: center;
	column-gap: 5%;
	grid-row-gap: 2vw;
	max-width: 970px;
	margin-left: auto;
	margin-right: auto;
}
	.note_list li img{
		width: 100%;
	}
@media screen and (max-width: 1400px){
	.note_list li{
		width: 40%;
	}
}
@media screen and (max-width: 1340px){
	.t_txt{
		width: 60%;
	}
	.t_img{
		width: 37%;
	}
}
@media screen and (max-width: 1200px){
	.note_list li{
		width: 45%;
	}
	.note_list li img{
		width: 100%;
	}
	.t_p01{
		font-size: 1.6rem;
	}
	.t_box{
		margin-bottom: 80px;
	}
	.case h4{
		font-size: 2.6rem;
	}
}
@media screen and (max-width: 767px){
	.t_box{
		flex-direction: column;
		grid-row-gap: 30px;
	}
	.t_txt{
		width: 100%;
	}
	.t_img{
		width: 80%;
	}
	.t_p01{
		font-size: 1.5rem;
	}
}
@media screen and (max-width: 500px){
	.case h4{
		font-size: 1.6rem;
	}
	.case{
		padding-top: 27px;
		padding-bottom: 40px;
		margin-top: 20px;
		margin-bottom: 40px;
	}
	.t_p01{
		font-size: 1.4rem;
	}
	.t_img{
		width: 100%;
	}
	.t_box{
		grid-row-gap: 20px;
		margin-bottom: 40px;
	}
	.note_list li{
		width: 100%;
	}
	.note_list{
		grid-row-gap: 4vw;
	}
}
/*
-----------------------------------------------
▼staff voice
----------------------------------------------- */
.staff-voice{
	background-color: #f0f0f0;
	padding-top: 70px;
	padding-bottom: 80px;
}
.vo_box{
	justify-content: space-between;
	align-items: center;
}
.vo_img{
	width: 32%;
}
.vo_img img{
	width: 100%;
}
.vo_txt{
	width: 65%;
}
.vo_name{
	font-size: 2.7rem;
	font-weight: 700;
	margin-top: 5px;
	margin-bottom: 25px;
	display: inline-block;
}
.vo_detail{
	background-color: #ffffff;
	font-size: 1.4rem;
	line-height: 1.7em;
	letter-spacing: 0.04em;
	padding: 1em 2em;
	margin-bottom: 20px;
}
.vo_honbun{
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.8em;
}
@media screen and (max-width: 1000px){
	.vo_box{
		flex-direction: column-reverse;
		grid-row-gap: 4vw;
	}
	.vo_txt{
		width: 100%;
	}
	.vo_img{
		width: 45%;
	}
}
@media screen and (max-width: 767px){
	.vo_honbun{
		font-size: 1.5rem;
	}
}
@media screen and (max-width :500px){
	.vo_img{
		width: 60%;
	}
	.vo_name{
		font-size: 1.7rem;
	}
	.vo_detail{
		padding: 0.8em 1.2em;
	}
	.vo_honbun{
		font-size: 1.4rem;
	}
	.staff-voice{
		padding-top: 40px;
		padding-bottom: 40px;
	}
}

/*
-----------------------------------------------
▼人材育成
----------------------------------------------- */
.ikusei-list{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	grid-row-gap: 5vw;
	margin-bottom: 100px;
}
.ikusei-list li{
	width: 45%;
}
.ikusei-list li p{
	font-size: 1.8rem;
	line-height: 1.7;
}
.ikusei_box{
	display: flex;
	column-gap: 3%;
	background-color: #f0f0f0;
	border: solid 2px #f8b100;
	border-radius: 20px;
	padding: 0 1.5% 3% 1.5%;
	margin-bottom: 95px;
}
.ikusei01,
.ikusei02{
	width: 48.5%;
	margin-top: -1.8%;
}
.circle{
	background-color: #f8b100;
	width: 126px;
	height: 126px;
	border-radius: 126px;
	position: relative;
}
.circle span{
	position: absolute;
	color: #ffffff;
	font-size: 2.6rem;
	font-weight: 700;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: inline-block;
	white-space: nowrap;
}
.ikusei_box_ttl{
	column-gap: 3%;
}
.ikusei_box_ttl h4{
	font-size: 2.8rem;
	font-weight: 700;
}
.ikusei01 ol{
	margin-top: 15px;
	margin-left: 45px;
}
.ikusei01 ol li{
	font-size: 1.7rem;
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: 0.04em;
}
.ikusei02 ul li{
	font-size: 2.1rem;
	font-weight: 500;
	letter-spacing: 0.04em;
}
.ikusei02 ul{
	display: flex;
	flex-wrap: wrap;
	column-gap: 5%;
	grid-row-gap: 10px;
	margin-bottom: 24px;
	margin-top: 10px;
	width: 80%;
	margin-left: 55px;
}
.ikusei_img{
	width: 65%;
	margin-left: auto;
	margin-right: auto;
}
.ikusei_img img{
	width: 100%;
}
@media screen and (max-width: 1200px){
	.ikusei-list li p{
		font-size: 1.6rem;
	}
	.circle span{
		font-size: 2.2rem;
	}
	.ikusei_box_ttl h4{
		font-size: 2.4rem;
	}
	.circle{
		width: 100px;
		height: 100px;
	}
	.ikusei01 ol li{
		font-size: 1.5rem;
	}
	.ikusei01,
	.ikusei02{
		margin-top: 1%;
	}
	.ikusei02 ul li{
		font-size: 1.7rem;
	}
}
@media screen and (max-width: 1000px){
	.ikusei_box{
		flex-direction: column;
	}
	.ikusei01,
	.ikusei02{
		width: 100%;
		margin-top: 20px;
	}
	.ikusei_box{
		padding-bottom: 5%;
	}
	.ikusei-list{
		margin-bottom: 50px;
		grid-row-gap: 4vw;
	}
}
@media screen and (max-width: 767px){
	.ikusei-list{
		flex-direction: column;
	}
	.ikusei-list li{
		width: 100%;
	}
	.ikusei_box{
		margin-bottom: 65px;
	}
}
@media screen and (max-width: 500px){
	.ikusei-list li p{
		font-size: 1.4rem;
		line-height: 1.6;
	}
	.ikusei-list{
		margin-bottom: 40px;
	}
	.circle{
		width: 65px;
		height: 65px;
	}
	.circle span{
		font-size: 1.4rem;
	}
	.ikusei_box_ttl h4{
		font-size: 1.7rem;
	}
	.ikusei01 ol li{
		font-size: 1.4rem;
	}
	.ikusei01 ol,
	.ikusei02 ul{
		margin-left: 20px;
	}
	.ikusei02 ul li{
		font-size: 1.4rem;
	}
	.ikusei_box{
		margin-bottom: 40px;
	}
	.ikusei-list{
		margin-bottom: 25px;
	}
}
/*
-----------------------------------------------
▼about
----------------------------------------------- */
.about_txt{
	width: 51%;
}
.about_img{
	width: 46%;
}
.about_img img{
	width: 100%;
}
.about_box{
	margin-bottom: 50px;
}
.about_txt p{
	font-size: 1.8rem;
	line-height: 1.8em;
}
.about_p01{
	margin-top: 0.7em;
}
.about_txt h3{
	margin-top: 0.2em;
	margin-bottom: 0.4em;
}
@media screen and (max-width: 1000px){
	.about_box{
		flex-direction: column;
		grid-row-gap: 20px;
	}
	.about_txt{
		width: 100%;
	}
	.about_img{
		width: 90%;
	}
}
@media screen and (max-width: 767px){
	.about_txt p{
		font-size: 1.5rem;
	}
}
@media screen and (max-width: 500px){
	.about_txt p{
		font-size: 1.4rem;
	}
}

/*
-----------------------------------------------
▼data
----------------------------------------------- */
.data_box{
	display: flex;
	flex-wrap: wrap;
	column-gap: 5%;
	justify-content: center;
	grid-row-gap: 70px;
	margin-bottom: 80px;
}
.data_box li{
	width: 40%;
}
.data_box li img{
	width: 100%;
}

.data_box li p{
	margin-top:8px;
	font-size:1.6rem;
}
@media screen and (max-width: 1100px){
.data_box li p{
	font-size:1.4rem;
}
}


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

.data_box li p{
	font-size:1.3rem;
}

	.data_box li{
	width: 45%;
}
	.data_box{
		grid-row-gap: 50px;
	}
}
@media screen and (max-width: 600px){
	.data_box{
		grid-row-gap: 30px;
	}
	.data_box li{
		width: 70%;
	}
}
@media screen and (max-width: 500px){
		.data_box li{
		width: 80%;
	}
}
/*
-----------------------------------------------
▼お問い合わせ
----------------------------------------------- */
.contact_lead {
  margin-bottom: 20px;
  margin-top: 55px;
}
.wpcf7-form table tr th {
  width: 220px;
  text-align: left;
  padding: 20px 0 20px 17px;
  vertical-align: top;
  font-size: 1.4rem;
}
.wpcf7-form table tr th p {
  display: flex;
  justify-content: space-between;
}
.wpcf7-form table tr td {
  padding: 20px 25px 20px 25px;
}
.wpcf7-form table tr td input, .wpcf7-form table p textarea {
  border: 1px solid #dddddd;
  background-color: #eeeeee;
  padding: 0.6em;
}
.wpcf7-form table tr {
  border-bottom: 1px solid #ccc;
}
form.wpcf7-form {
  max-width: 900px;
  margin: 0 auto 50px;
}
.wpcf7-form table {
  width: 100%;
}
.wpcf7-form table p input, .wpcf7-form table p textarea {
  width: 100%;
}
.wpcf7-form table tr th span.required {
  color: #ffffff;
  background-color: #f16464;
  padding: 0.5em 0;
  font-size: 1.3rem;
  width: 60px;
  display: inline-block;
  line-height: 1.0rem;
  text-align: center;
}
div.form-btn {
  text-align: center;
  margin: 30px 0;
}
div.form-btn input {
  background-color: #0064c8;
  color: #ffffff;
  display: inline-block;
  font-size: 2.0rem;
  padding: 0.5em 2.8em 0.5em 2.8em;
  border-radius: 100px;
  border: solid 1px #0064c8;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
div.form-btn input:hover {
  background-color: #ffffff;
  color: #0064c8;
  text-decoration: none;
  border: solid 1px #0064c8;
}
.wpcf7-spinner {
  display: none !important;
}
div.confirm-box {
  display: flex;
  justify-content: center;
  column-gap: 3%;
}
div.previous_btn {
  text-align: center;
  margin: 30px 0;
}
div.previous_btn input.wpcf7-form-control {
  display: inline-block !important;
  background-color: #f16464;
  color: #ffffff;
  font-size: 2.0rem;
  padding: 0.5em 2.8em 0.5em 2.8em;
  border-radius: 100px;
  border: solid 1px #f16464;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
div.previous_btn input.wpcf7-form-control:hover {
  background-color: #ffffff;
  color: #f16464;
  text-decoration: none;
  border: solid 1px #f16464;
}
.wpcf7-select {
  width: 50%;
  background-color: #eeeeee;
  padding: 0.5em 0.4em;
}
@media screen and (max-width: 768px) {
  .wpcf7-form table tr {
    display: flex;
    flex-direction: column;
  }
  .wpcf7-form table tr td {
    padding-left: 0;
    padding-right: 0;
    padding-top: 8px;
  }
  .wpcf7 {
    padding-left: 7.14%;
    padding-right: 7.14%;
  }
  .wpcf7-form table tr th {
    width: 100%;
    padding-left: 0;
  }
}
@media screen and (max-width: 500px) {
  .wpcf7 {
    padding-left: 3.5%;
    padding-right: 3.5%;
  }
}

/*
-----------------------------------------------
▼お問い合わせ　完了P
----------------------------------------------- */
.thanks{
max-width:840px;
margin:3% auto 10%;
padding-left:20px;
padding-right:20px;
}

.thanks h3{
font-size:2.2rem;
margin-bottom:30px;
}

.thanks p{
font-size:1.7rem;
line-height:1.8;
}

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

.thanks h3{
font-size:5vw;
line-height:1.6;
}

.thanks p{
font-size:1.4rem;
line-height:1.8;
}
}