@charset "UTF-8";

.sub-title {
	margin:0;
	background:#fafafa;
	position:relative;
	padding:180px 0 0px;
}

.sub-title h2 {
	padding:0;
	line-height:1.8;
	font-size:26px;
	font-weight: 500;
	letter-spacing:10px;
	text-align:center;
	color:#fff;
	position:relative;
	z-index:9;
	text-shadow :2px 2px 100px #0099FF,
-2px 2px 80px #0099FF,
2px -2px 80px #0099FF,
-2px -2px 80px #0099FF;
}

.sub-title h2::before {
  position: absolute;
  top:60px;
  left: calc(50% - 30px);
  width: 60px;
  height: 5px;
  content: '';
  background: #fafafa;
}

.sub-title h2::after {
  position: absolute;
  top:60px;
  left: calc(50% - 30px);
  width: 30px;
  height: 5px;
  content: '';
  background: #3683df;
}

.sub-title h2 span {
	font-size:85px;
	display:block;
	font-weight: 600;
	color:rgba(255,255,255,0.35);
	text-shadow:none!important;
	mix-blend-mode:multiply;
}

@media screen and (max-width:767px){
.sub-title h2 span {
	font-size:50px;
}
}

.sub-title.works:after {
	position:absolute;
	content:"";
	margin:0;
	height:320px;
	width:100%;
	/*z-index:-10;*/
	top:0;
	background:url("../images/works/works-header.webp");
	mix-blend-mode:multiply;
	background-size:cover;
	background-repeat:no-repeat;
}

.sub-title.company:after {
	position:absolute;
	content:"";
	margin:0;
	height:320px;
	width:100%;
	/*z-index:-10;*/
	top:0;
	background:url("../images/company/company-header.webp");
	mix-blend-mode:multiply;
	background-size:cover;
	background-repeat:no-repeat;
}

/*.sub-title.recruit:after {
	position:absolute;
	content:"";
	margin:0;
	height:320px;
	width:100%;
	top:0;
	background:url("../images/recruit/recruit-header.jpg");
	mix-blend-mode:multiply;
	background-size:cover;
	background-repeat:no-repeat;
}*/

.sub-title.service:after {
	position:absolute;
	content:"";
	margin:0;
	height:320px;
	width:100%;
	/*z-index:-10;*/
	top:0;
	background:url("../images/service/service-header.webp");
	mix-blend-mode:multiply;
	background-size:cover;
	background-repeat:no-repeat;
}

.sub-title {
width: 100%;
/*height: 100vh;*/
background-image: linear-gradient(to top, #fafafa 0%, #ace0f9 30%);
/* Chrome 10-25, Safari 5.1-6 */ /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
/*animation: Grad 8s ease infinite;*/
}

/*-----------------------------------------------------------

基本テーブル

------------------------------------------------------------*/
table.basic {
	width:100%;
	border-bottom:1px solid #ddd;
}

table.basic th {
	width:20%;
	color:#2d416b;
	font-weight:600;
}

table.basic th, table.basic td {
	letter-spacing:2px;
	padding:15px;
	border-top:1px solid #ddd;
	font-size:15px;
	line-height:2.5;
}

table.basic td table td {
	border-top:none;
	padding:15px 0;
}

table.basic td table {
	border-bottom:none;
}

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

table.basic th {
	text-align:center;
}
table.basic th,table.basic td {
	display:block;
	padding:15px;
	font-size:14px;
	width:100%;
	line-height:1.7;
}
table.basic th{
	font-size:16px;
}
table.basic td table td {
	display:block;
	padding:0 0;
}
}


/*-----------------------------------------------------------

企業情報

------------------------------------------------------------*/
section#MESSAGE h3,
section#OUTLINE h3,
section#PHILOSOPHY h3,
section#HISTORY h3,
section#ACCESS h3 {
	font-weight:600;
	font-size:60px;
	letter-spacing:8px;
	line-height:1.4;
	margin-top:50px;
}

main#sub-page section#MESSAGE h3 span,
main#sub-page section#OUTLINE h3 span,
main#sub-page section#PHILOSOPHY h3 span,
main#sub-page section#HISTORY h3 span,
main#sub-page section#ACCESS h3 span {
	font-weight:600;
	font-size:18px;
	letter-spacing:5px;
	display:block;
	margin-bottom:50px;
}

@media screen and (max-width:767px){
section#MESSAGE h3,
section#OUTLINE h3,
section#PHILOSOPHY h3,
section#ACCESS h3 {
	font-size:40px;
	letter-spacing:5px;
	text-align:center;
	margin-top:30px;
}

section#MESSAGE h3 span,
section#OUTLINE h3 span,
section#PHILOSOPHY h3 span,
section#ACCESS h3 span {
	font-size:16px;
}
}

/* 代表メッセージ　*/
section#MESSAGE {
	background:url("../images/company/message.webp");
	background-repeat:no-repeat;
	background-size:cover;
	background-position:0 -100px;
	min-height:1200px;
	margin:50px auto 0;
}
section#MESSAGE h3 {
	color:#fff;
	opacity:0.4;
}
section#MESSAGE h3 span {
	margin:0 0 50px;
}
section#MESSAGE h4 {
	color:#fff;
	font-size:28px;
	margin:20px 0 50px;
	line-height:1.7;
	font-weight: 600;
}
.message-content {
	display: flex;flex-wrap:nowrap;gap: 80px;}
.message-content div.message-img {
	min-width: 200px;
}
.message-content img {
	width:150px;
	margin: 0;
	padding: 0;
}
.message-content p {
	margin:15px 0 0;
	line-height:2.2;
	font-size:16px;
	letter-spacing:1px;
	font-weight:400;
	color:#fff;
}
section#MESSAGE p.president {
	line-height:2;
	font-size:14px;
	margin: -10px 0 0 0;
	padding: 0 0 0 0;
}

@media screen and (max-width:993px){
section#MESSAGE .body-container {
	padding: 50px 5vw;
}
section#MESSAGE {
	min-height: 1250px;
	margin:50px auto 0;
}
}

@media screen and (max-width:767px){
section#MESSAGE {
	min-height:1400px;
}
.message-content {flex-wrap:wrap;gap: 30px 0;}
.message-content div.message-txt {
	margin:30px auto 0;
}
.message-content div.message-img {
width:100%;
text-align:center;
}
.message-content img {
	width: 150px;
}
section#MESSAGE h4 {
	font-size:25px;
	text-align: center;
	margin: 20px 0 20px;
}
section#MESSAGE p {
	line-height:2;
	letter-spacing:0px;
}
section#MESSAGE p.president {
	text-align: center;
	margin: -20px 0 0 0;
	}
}


@media screen and (max-width:480px){
section#MESSAGE {
	min-height:1550px;
}
}

/* 会社概要 */
section#OUTLINE h3 {
color:#3683df;
background-image:linear-gradient(to left, #1B85FB 80%, #2d416b);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
section#OUTLINE h3 span {
	color:#1B85FB;
}
@media screen and (max-width:767px){
section#OUTLINE h3 {
background-image:linear-gradient(to left, #1B85FB 20%, #2d416b);
}
section#OUTLINE .body-container {
	padding-top:0px;}
}

/* 企業理念 */
section#PHILOSOPHY {
background:#f7f6f5;
margin:50px auto 0;
padding:50px 0 50px;
}

section#PHILOSOPHY h3 {
background-image:linear-gradient(to left, #1B85FB 30%, #2d416b);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
text-align:center;
opacity:0.8;
}

section#PHILOSOPHY h3 span {
margin:0 0 50px;
}

.philo-box {
display: flex;
gap:0;
justify-content: center;
align-items: center;
max-width:1300px;
margin:auto;
border-top:#2d416b solid 1px;
}

@media screen and (max-width:1400px){
.philo-box {
width:100%;
margin:auto;}
}


.philo-box div {
	width:50%;
	padding:50px;
	min-height:420px;
	position:relative;
}
.philo-box div.many {min-height:600px;}

@media screen and (max-width:1260px){
.philo-box div.many {min-height:650px;}	
}

@media screen and (max-width:850px){
.philo-box div.many {min-height:750px;}	
}

@media screen and (max-width: 767px){
.philo-box {flex-wrap:wrap;border-top:#2d416b solid 1px;}
.philo-box.philo-right {display: flex;flex-direction: column-reverse;}

.philo-box div {
	width:100%;
	padding:0px 50px 50px;
	min-height:auto;
}
.philo-box div.many {min-height:auto;}	
.philo-box div.philo-box-img {
	padding:70px 50px 0!important;
}
.philo-box div.philo-box-img-left {
	padding:70px 50px 0!important;}
}

.philo-box div.philo-box-img {
/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#1e5799+0,7db9e8+100&1+0,0+100;Blue+to+Transparent */
background: linear-gradient(135deg,  rgba(30,87,153,0.08) 0%,rgba(125,185,232,0) 30%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

.philo-box div.philo-box-img-left {
/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#1e5799+0,7db9e8+100&1+0,0+100;Blue+to+Transparent */
background: linear-gradient(-135deg,  rgba(30,87,153,0.08) 0%,rgba(125,185,232,0) 30%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

@media screen and (max-width:767px){
div.philo-box-img001 {
	padding:50px;}
}


.philo-box div h4 {
position: absolute;
color:#2d416b;
background-image:linear-gradient(to left, #4665a6 30%, #2d416b);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
font-size:50px;
letter-spacing:5px;
top: 50%;
left:calc(50% - 20px);
transform: translate(-50%, -50%);
}

.philo-box div h4.first {
font-size:24px;
}

.philo-box div h4 span {
	position: absolute;
	background:#4665a6;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
	top:50%;
	font-weight:600;
	font-size:18px;
	padding-left:20px;
	transform: translateY(-50%);
}

.philo-box div h5 {
	font-size:20px;
	margin:30px 0 5px;
	line-height:1.8;
	letter-spacing:1px;
	font-weight:700;
	color:#2d416b;
}

.philo-box div p {
line-height:2;
width:90%;
margin-left:5%;
font-size:15px;
}

@media screen and (max-width:920px){
.philo-box div p.txt-many {
width:100%;
margin-left:0;}
}

@media screen and (max-width:767px){
.philo-box div h4 {
position:relative;
color:#2d416b;
font-size:40px;
top:auto;
left:auto;
transform:none;
}
.philo-box div h4.first {font-size:24px;transform: none;}
}


/*section#PHILOSOPHY p {
	line-height:2.7;
	text-align:center;
	font-size:18px;
	letter-spacing:1px;
	font-weight:600;
	color:#2d416b;
}

@media screen and (max-width:767px){
section#PHILOSOPHY p {
	line-height:2.5;
	letter-spacing:0px;
}	
}*/



/* 沿革 */
section#HISTORY h3 {
background-image:linear-gradient(to left, #1B85FB 30%, #2d416b);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
margin-bottom:30px;
}

.company-history-outer {
	max-width:1000px;
	margin:0 auto;
}

.company-history {
    z-index: 1;
    position: relative;
    padding-top: clamp(5rem,3.182rem + 9.09vw,10rem);
    padding-bottom: clamp(5rem,3.182rem + 9.09vw,10rem);
    background-color: #e1eaf2;
}
.company-history__itemwrap {
    max-width:1000px;
    margin: 0 auto;
    padding: 0 20px;
}

.company-history__item {
    display: flex;
    font-size:18px;
	color:#2d416b;
}

.company-history__item:last-of-type .company-history__item__body:after {
    content: none;
}

.company-history__item__year {
    flex: 0 0 150px;
    margin-right: 60px;
    text-align: right;
}

.company-history__item__body {
    position: relative;
    top: -3px;
    padding-bottom: 60px;
    padding-left: 80px;
    line-height:1.8;
}

.company-history__item__body:before {
    display: inline-block;
    position: absolute;
    top: 12px;
    left: 1.5px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color:#1B85FB;
    content: "";
}

.company-history__item__body:after {
    display: inline-block;
    position: absolute;
    top: 12px;
    left: 7px;
    width: 1px;
    height: 100%;
    background-color:#e1eaf2;
    content: "";
    z-index:-1;
}

.company-history__button {
    display: flex;
    justify-content: center;
    margin-top: 80px;
}

@media screen and (max-width:767px){
.company-history__item {
    font-size:16px;
}
.company-history__item__year {
    flex:0 0 70px;
    margin-right:20px;
    text-align: right;
}
.company-history__item__body {
    padding-bottom:40px;
    padding-left:40px;
}	
}


section#ACCESS h3 {
text-align:center;
background-image:linear-gradient(to left, #1B85FB 20%, #2d416b);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}



/*　施工実績
-----------------------------------------------------------*/
section.works {
	margin:50px auto 300px;
}

ul.past-works li .slide-items {
  width:100%;
  height:100%;
　object-fit: cover;
}

ul.past-works li .slide-items img {
  width:auto;
}
.slick-dotted.slick-slider {
    margin-bottom: 0;
}

ul.past-works {
	display: flex;
	flex-wrap: wrap;
	justify-content:center;
	position:relative;
	max-width: 1300px;
	margin:auto;
	gap:120px 40px;
}

ul.past-works li.img {
width:calc(33.333333% - 40px);
position:relative;
}

@media screen and (max-width:1400px){
ul.past-works {
	max-width:80%;}	
}

@media screen and (max-width:1300px){
ul.past-works {
	max-width:90%;}	
}

@media screen and (max-width:1200px){
ul.past-works {
	max-width:95%;}	
}

@media screen and (max-width:1024px){
ul.past-works {
	gap:120px 30px;}
}

@media screen and (max-width:820px){
ul.past-works {
	max-width:98%;
}
ul.past-works {
	gap:120px 40px;}
}

@media screen and (max-width:820px){
ul.past-works li.img {
width:calc(50% - 40px);
position:relative;}
}

@media screen and (max-width:767px){
ul.past-works {
	gap:120px 20px;}

ul.past-works li.img {
width:calc(50% - 20px);
position:relative;}
	
ul.past-works li .slide-items img {
  width:auto;
}
}

@media screen and (max-width:680px){
ul.past-works {
	gap:120px 20px;}


ul.past-works li.img {
width:calc(100% - 20px);
position:relative;}
}

.slide-items {width:auto;}
ul.past-works li .slide-items img {
  width: 100%;
　max-height:300px;
  height: 100%;
  object-fit:contain;
}
.slick-prev:before,
.slick-next:before {
  color: #2d416b;
}

.slick-dots li {
    margin: 0 2px 5px;
}

.slick-dots {
    position: absolute;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    bottom: -25px;
    list-style: none;
    text-align: right;
}

.slick-dots li button:before {
    font-size:11px;
    top: 6px;
	color:#2d416b;

}

.slick-dots li.slick-active button:before {
    opacity: .65;
	color:#2d416b;
}

ul.past-works li.img {
position:relative;
}

ul.past-works li.img h2 {
	color:#2d416b;
	font-weight:600;
	position:absolute;
	font-size:16px;
	padding:6px 0;
	letter-spacing:0;
}

ul.past-works li.img p {
	font-size:12px;
	position:absolute;
	top: 0;
	font-weight: 500;
	left: 0;
	padding: 2px 5px 3.2px;
	color:#fff;
	letter-spacing:0;
	background:#1B85FB;
}

@media screen and (max-width:1300px){
ul.past-works li.img h2 {
	font-size:15px;}
}

@media screen and (max-width:820px){
ul.past-works li.img h2 {
	font-size:16px;}
}

@media screen and (max-width: 767px){
ul.past-works li.img h2 {
	font-size:14px;
	padding:28px 5px;}
}

@media screen and (max-width:680px){
ul.past-works li.img h2 {
	font-size:14px;
	padding:0 0;
	margin:22px 0;
}
}

/* もっと見るボタン */
.moreLinkText {
	padding:0;
	box-sizing: border-box;
	margin:80px auto 0;
	width:250px;
	clear:both;
}

.moreLinkText a {
color:#fafafa;
text-decoration:none;
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;

-o-transition: all 0.3s ease;
transition: all  0.3s ease;
position:relative;
}

.moreLinkText a::before {
content:"";
position:absolute;
top:50%;
transform: translateY(-50%);
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all  0.3s ease;
}

.moreLinkText a::before {
height:9px;
width:9px;
border-radius:50%;
right:24px;
z-index:1;
}

.moreLinkText a:hover::before {
right:20px;
-webkit-animation: pulse 2s infinite;
animation: ripple 1.5s infinite;
}


/* 水色 */
.moreLinkText.LB {
	clear:both;
}
.moreLinkText.LB a {
  background: linear-gradient(to right, #1B85FB, #2d416b);
  background-position: 0% 50%;
  background-size: 200% auto;
  transition: all 0.3s ease-out;
font-size:16px;
padding:16px 50px 16px 35px;
box-shadow:0 0 15px rgba(255,255,255,1.0),
0 0 20px rgba(255,255,255,1.0);
}
.moreLinkText.LB a::before {
background:#ddd;	
}
.moreLinkText a:hover::before {
background:#fff;
}
.moreLinkText.LB  a:hover {
background-position: 100% 51%;
}

/*　濃紺枠　白バック */
.moreLinkText.WB {
	width:220px;
	margin:auto;
	clear:both;
}

.moreLinkText.WB a {
color:#2d416b;
font-weight:600;
font-size:17px;
padding:13px 40px 15px 40px;
border:2px solid #2d416b;
box-shadow:0 0 10px rgba(54, 131, 223, 0.4),
0 0 20px rgba(255,255,255,1.0);
}
.moreLinkText.WB a::before {
background:rgba(54, 131, 223, 0.3);	
}
.moreLinkText a:hover::before {
background:#fff;
}
.moreLinkText.WB  a:hover {
background:#2d416b;
color:#fff;
}

/*　濃紺バック */
.moreLinkText.DB {
	width:300px;
	margin:auto;
	clear:both;
}
.moreLinkText.DB a {
background: linear-gradient(to right, #2d416b, #1B85FB);
background-position: 0% 50%;
  background-size: 200% auto;
font-size:17px;
padding:13px 50px 15px 35px;
box-shadow:0 0 15px rgba(255,255,255,1.0),
0 0 20px rgba(255,255,255,1.0);
}
.moreLinkText.DB  a:hover {
background-position: 100% 51%;
}
.moreLinkText.DB a::before {
background:#ddd;	
}
.moreLinkText.DB a:hover::before {
background:#fff;
}

@keyframes ripple {
  0% {box-shadow: 0 0 0 0 #ffffff;}
  70% {box-shadow: 0 0 0 10px rgb(27 133 251 / 0%);}
  100% {box-shadow: 0 0 0 0 rgb(27 133 251 / 0%);}
}

@media screen and (max-width: 767.9px) {
.moreLinkText {
	float: none;
	width: 80%;
	padding:30px 0;
	margin:auto;
	box-sizing: border-box;
	clear:both;}
}

/*-----------------------------------------------------------

採用情報

------------------------------------------------------------*/
.recruit-top {
	background:url("../images/recruit/recruit-main-img.webp");
	background-size: contain;
	background-repeat: no-repeat;
	background-position:top center;
	background-position:0 -130px;
}

.recruit-top h2 {
	text-align:right;
	font-size: 2.3vw;
	font-weight: 700;
	letter-spacing:5px;
	padding:15% 0 0;
	width: 90%;
	margin:0 auto 150px;
	color:#2d416b;
	line-height:1.65;
}

.recruit-top h2 span {
	font-size: 3.6vw;
	padding:0 0 0 0;
	position:relative;
	display: flex;
	gap:0 30px;
	align-items: center;/* 縦位置の調整 */
}
.recruit-top h2 span::before {
  content:'';
  flex-grow: 1;/* 余白を分け与える */
  height:2px;
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&1+0,0+100;White+to+Transparent */
background: linear-gradient(to left,  rgba(255,255,255,1) 0%,rgba(255,255,255,0) 50%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

.recruit-top .picture ul li {
	position:relative;
	flex:1 1 calc(50% - 40px);
	height:280px;
	filter: drop-shadow(25px 25px 10px rgba(54, 131, 223, 0.1));
}

.recruit-top .picture ul li:nth-child(1) {
margin:20px;
}
.recruit-top .picture ul li:nth-child(2) {
	margin:-20px 0 0 0;
}
.recruit-top .picture ul li:nth-child(3) {
	margin:0 0 0 -30px;
}
.recruit-top .picture ul li:nth-child(4) {
	margin:30px;
}

.image {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  opacity: 0;
	border-radius:10px;
  background-size: cover;
  background-position: center center; 
}

/*　写真1番目*/
.pic001 .image {animation: image-switch-animation 25s infinite;}
.pic001 .src1 {background-image: url("../images/recruit/recruit01/001.webp");}
.pic001 .src2 {background-image: url("../images/recruit/recruit01/002.webp");}
.pic001 .src3 {background-image: url("../images/recruit/recruit01/003.webp");}
.pic001 .src4 {background-image: url("../images/recruit/recruit01/004.webp");}
.pic001 .src5 {background-image: url("../images/recruit/recruit01/005.webp");}

@keyframes image-switch-animation {
  0%{ opacity: 0;}
  5%{ opacity: 1;}
  25%{ opacity: 1;}
  30%{ opacity: 0;}
  100%{ opacity: 0;}
}

.pic001 .image:nth-of-type(1) {
  animation-delay: 0s;
}
.pic001 .image:nth-of-type(2) {
  animation-delay: 5s;
}
.pic001 .image:nth-of-type(3) {
  animation-delay: 10s;
}
.pic001 .image:nth-of-type(4) {
  animation-delay: 15s;
}
.pic001 .image:nth-of-type(5) {
  animation-delay:20s;
}

/*　写真2番目*/
.pic002 .image {animation: image-switch-animation 30s infinite;}

.pic002 .src1 {background-image: url("../images/recruit/recruit02/001.webp");}
.pic002 .src2 {background-image: url("../images/recruit/recruit02/002.webp");}
.pic002 .src3 {background-image: url("../images/recruit/recruit02/003.webp");}
.pic002 .src4 {background-image: url("../images/recruit/recruit02/001.webp");}
.pic002 .src5 {background-image: url("../images/recruit/recruit02/003.webp");}

.pic002 .image:nth-of-type(1) {
  animation-delay: 0s;
}
.pic002 .image:nth-of-type(2) {
  animation-delay: 6s;
}
.pic002 .image:nth-of-type(3) {
  animation-delay: 12s;
}
.pic002 .image:nth-of-type(4) {
  animation-delay: 18s;
}
.pic002 .image:nth-of-type(5) {
  animation-delay:24s;
}

/*　写真3番目*/
.pic003 .image {animation: image-switch-animation 15s infinite;}

.pic003 .src1 {background-image: url("../images/recruit/recruit03/001.webp");}
.pic003 .src2 {background-image: url("../images/recruit/recruit03/002.webp");}
.pic003 .src3 {background-image: url("../images/recruit/recruit03/003.webp");}
.pic003 .src4 {background-image: url("../images/recruit/recruit03/001.webp");}
.pic003 .src5 {background-image: url("../images/recruit/recruit03/002.webp");}

.pic003 .image:nth-of-type(1) {
  animation-delay: 0s;
}
.pic003 .image:nth-of-type(2) {
  animation-delay: 3s;
}
.pic003 .image:nth-of-type(3) {
  animation-delay: 6s;
}
.pic003 .image:nth-of-type(4) {
  animation-delay: 9s;
}
.pic003 .image:nth-of-type(5) {
  animation-delay:12s;
}

/*　写真4番目*/
.pic004 .image {animation: image-switch-animation 20s infinite;}

.pic004 .src1 {background-image: url("../images/recruit/recruit04/001.webp");}
.pic004 .src2 {background-image: url("../images/recruit/recruit04/002.webp");}
.pic004 .src3 {background-image: url("../images/recruit/recruit04/003.webp");}
.pic004 .src4 {background-image: url("../images/recruit/recruit04/004.webp");}
.pic004 .src5 {background-image: url("../images/recruit/recruit04/005.webp");}

.pic004 .image:nth-of-type(1) {
  animation-delay: 0s;
}
.pic004 .image:nth-of-type(2) {
  animation-delay: 4s;
}
.pic004 .image:nth-of-type(3) {
  animation-delay: 8s;
}
.pic004 .image:nth-of-type(4) {
  animation-delay: 12s;
}
.pic004 .image:nth-of-type(5) {
  animation-delay:16s;
}




/*-----------------------------------------------------------

採用情報 スライド

------------------------------------------------------------*/
.recruit-top-wrapper {
	display: flex;
	flex-wrap:wrap;
	justify-content:right;
	width: calc(100% - 120px);
	margin:0 50px 0 70px;
}
.recruit-top-wrapper div.picture {
	width:40%;
}
.recruit-top-wrapper div.recruit-top-copy {
	width:100%;
}
.recruit-top .picture ul {
	display: flex;

	flex-wrap:wrap;
	justify-content: center;
	gap:40px 40px;
	margin:0 0 0 0;
}
.recruit-top-wrapper div.recruit-top-copy h4.sub-copy {
	font-size: 35px;
	font-weight: 700;
	color:#1B85FB;
	line-height:1.8;
	margin: -200px 0 0 0;
	position: relative;
	background-image:linear-gradient(to left, #1B85FB 30%, #2d416b);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.recruit-top-wrapper div.recruit-top-copy h4.sub-copy br.br-copy {
	display:none;
}


@media screen and (max-width:1600px) {
.recruit-top-wrapper {
	width: calc(100% - 80px);
	margin:0 40px 0 40px;
}
.recruit-top-wrapper div.picture {
	width:43%;
}
.recruit-top-wrapper div.recruit-top-copy h4.sub-copy {
	font-size: 1.8vw;
	margin: -25vh 0 0 0;
}
.recruit-top .picture ul {
	gap:20px 20px;
	margin:-50px 0 0 0;
}	
.recruit-top .picture ul li {
	height:220px;}
}


@media screen and (max-width:1260px) {
.recruit-top-wrapper {
	width: calc(100% - 80px);
	margin:0 40px 0 40px;
}
.recruit-top-wrapper div.picture {
	width:43%;
}
.recruit-top-wrapper div.recruit-top-copy h4.sub-copy {
	font-size:2.2vw;
	margin: -20vh 0 0 0;
}
.recruit-top-wrapper div.recruit-top-copy h4.sub-copy br.br-copy {
	display:block;
}
.recruit-top-wrapper div.recruit-top-copy h4.sub-copy span {
	padding: 10px 0 0;
	font-size:28px;
	display: block;
}
.recruit-top .picture ul {
	gap:00px 0px;
	margin:-80px 0 0 0;
}	
.recruit-top .picture ul li {
	height:180px;}
}

@media screen and (max-width:1200px) {
.recruit-top {
	background-position:0 -8vh;
}
.recruit-top h2 {
	padding:15% 0 0;}
}


@media screen and (max-width:1024px) {
.recruit-top-wrapper div.recruit-top-copy h4.sub-copy {
	font-size:2.2vw;
	margin: -15vh 0 0 0;
}	
}


@media screen and (max-width:900px) {
.recruit-top {
	background-position: 0 -30px;
}
.recruit-top h2 span {
	font-size:35px;
}
.recruit-top h2 {
	font-size:22px;
}
.recruit-top-wrapper {
	width: calc(100% - 80px);
	margin: 0 40px 0 40px;
}
.recruit-top-wrapper div.picture {
	width:100%;
}
.recruit-top-wrapper div.recruit-top-copy {
	width:100%;
}
.recruit-top-wrapper div.recruit-top-copy h4.sub-copy {
	font-size:24px;
	margin:30px 0 0 0;
	text-align:center;
}
.recruit-top-wrapper div.recruit-top-copy h4.sub-copy span {
	padding: 10px 0 0;
	font-size:24px;
}
.recruit-top .picture ul {
	gap:0px 30px;
	margin:120px 0 0 0;
}	
.recruit-top .picture ul li {
	height:150px;
	flex:1 1 calc(25% - 40px);

}
.recruit-top .picture ul li:nth-child(1) {
margin:0;
}
.recruit-top .picture ul li:nth-child(2) {
	margin:0 0 0 0;
}
.recruit-top .picture ul li:nth-child(3) {
	margin:0 0 0 0;
}
.recruit-top .picture ul li:nth-child(4) {
	margin:0;}
}

@media screen and (max-width: 680px) {
.recruit-top .picture ul {
	gap:0px 30px;
	margin:5vh 0 0 0;}

.recruit-top .picture ul li {
	height:120px;
	flex:1 1 calc(25% - 40px);}

.recruit-top h2 {
	font-size:18px;
	width: 90%;
	height: 40%;
	padding: 10vh 0 20px;
}

.recruit-top h2 span {
	font-size:30px;
	gap:0 30px;
}
.recruit-top h2 span::before {
    content: '';
    flex-grow: 1;
    height:1.5px;
    background:#fff;
}
.recruit-top .picture ul {
	margin:-1vh auto 0;
}
.recruit-top2 h4.sub-copy {
	font-size:24px;
	margin:20vh 0 0 0;}
}

@media screen and (max-width:600px) {
.recruit-top {
	background-position: 0 30px;
}
.recruit-top .picture ul {
	gap:30px 30px;
	margin: 5vh 0 0 0;
}
.recruit-top .picture ul li {
	height:120px;
	flex:1 1 calc(50% - 40px);}
}

@media screen and (max-width:530px) {
.recruit-top {
	background-position: 0 65px;
}
.recruit-top h2 {
	width: 90%;
	height:160px;}
}

@media screen and (max-width:480px) {
.recruit-top-wrapper div.recruit-top-copy h4.sub-copy {
	font-size:22px;
	letter-spacing:1px;
}
.recruit-top-wrapper div.recruit-top-copy h4.sub-copy span {
	padding: 10px 0 0;
	font-size:22px;}
}

@media screen and (max-width:400px) {
.recruit-top-wrapper div.recruit-top-copy h4.sub-copy {
	font-size:20px;
	letter-spacing:0.5px;
}
.recruit-top-wrapper div.recruit-top-copy h4.sub-copy span {
	font-size:20px;}
.recruit-top .picture ul {
	gap:20px 20px;
	margin:1.2vh 0 0 0;}
}


/*@media screen and (max-width:1800px) {
.recruit-top {
	height:100vh;
}
.recruit-top2 h4.sub-copy {
	font-size:30px;
	margin:50px 0 0 1.5%;
}
.recruit-top .picture ul {
	width:43%;
	margin:0 50px 0 0;
}
}

@media screen and (max-width: 1600px) {
.recruit-top {
	height:80vh;}

.recruit-top2 h4.sub-copy {
	font-size:26px;
	padding:30px 0 30px 50px;
	margin:50px 0 0 2%;
}
.recruit-top .picture ul {
	padding:0 0 0 0;

	gap:20px 20px;
	width:40%;
	margin:-80px 50px 0 0;
}
.recruit-top .picture ul li {
	flex:1 1 calc(50% - 30px);
	height:250px;
}
}

@media screen and (max-width: 1460px) {
.recruit-top {height:80vh;}

.recruit-top2 h4.sub-copy {
	font-size:24px;
	padding:30px 0 30px 50px;
	margin:0 0 0 0;
}
.recruit-top .picture ul {
	width:40%;
	margin:-80px 50px 0 0;
}
}

@media screen and (max-width:1280px) {
.recruit-top {
	height:70vh;}

.recruit-top2 h4.sub-copy {
	font-size:24px;
	padding:30px 0 30px 50px;
	margin:0 0 0 0;
}
.recruit-top .picture ul {
	width:41%;
	margin:-80px 50px 0 0;
}	
.recruit-top .picture ul li {
	flex:1 1 calc(50% - 30px);
	height:230px;
}
.recruit-top .picture ul li:nth-child(3) {
	margin:0 0 0 -0px;
}
.recruit-top .picture ul li:nth-child(4) {
	margin:20px;
}
}

@media screen and (max-width:1180px) {
.recruit-top {
	height:70vh;
	background-position: 0 -80px;
}
.recruit-top h2 {
    letter-spacing: 5px;
    padding:120px 0 0;
    width: 90%;
    margin: 0 auto 250px;
}	
.recruit-top2 h4.sub-copy {
	font-size:22px;
	padding: 0 0 30px 50px;
	margin:0 0 0 0;
}
.recruit-top .picture ul {
	gap:30px 10px;
	width:45%;
	margin:-120px 30px 0 0;}
}

@media screen and (max-width:1024px) {
.recruit-top {height:60vh;}
.recruit-top h2 {
	font-size:30px;
	padding:200px 0 0;
}
.recruit-top h2 span {
	font-size:50px;
	gap:0 30px;
}
.recruit-top2 h4.sub-copy {
	font-size:24px;
	padding:0 0 0 0;
	margin:200px 0 0 0;
	text-align:center;
}
.recruit-top .picture ul {
	width:80%;
	margin:-40px auto 0;
	float:none;
	gap:30px;
	justify-content:center;
}
.recruit-top .picture ul li {
	flex:1 1 calc(25% - 30px);
	height:160px;
}
.recruit-top .picture li {

	line-height:0!important;
	margin:0 0 0 0!important;
}
.recruit-top .picture li:nth-child(1) img {
  width:100%;}

}

@media screen and (max-width:1023px) {
.recruit-top {
	height:55vh;
	margin-top:50px;
}

.recruit-top2 h4.sub-copy {
	font-size:24px;
	padding:0 0 0 0;
	margin:15vh 0 0 0;
	text-align:center;
}
.recruit-top .picture ul {
	width:80%;
	margin: 0 auto 0;
	float:none;
	clear: both;
	gap:30px 30px;
	align-items: center;
}
.recruit-top .picture ul li {
	flex:1 1 calc(25% - 30px);
	height:150px;
}
.recruit-top .picture li {
	line-height:0!important;
	margin:0 0 0 0!important;
}
}

@media screen and (max-width:913px) {
.recruit-top {
	height:45vh;
	background-position:0 -10vh;
}
.recruit-top h2 {
	padding:80px 0 0px;
}
.recruit-top .picture ul {
	width:90%;
	margin:-20px auto 0;
	gap:0 25px;
}
.recruit-top2 h4.sub-copy {
	margin:00px 0 0 0;}
}

@media screen and (max-width: 900px) {
.recruit-top {
	height: 50vh;
	background-position:0 -10vh;
}
.recruit-top h2 {
	font-size:24px;
	padding: 150px 0 0px;
}
.recruit-top h2 span {
	font-size:40px;
	gap:0 30px;
}
.recruit-top .picture ul {
	width:90%;
	margin:-110px auto 0;
	gap:0 25px;
}
.recruit-top .picture ul li {
	height:130px;
}
.recruit-top2 h4.sub-copy {
	margin:80px 0 0 0;}
}

@media screen and (max-width:855px) {
.recruit-top {
	height:45vh;
}
.recruit-top2 h4.sub-copy {
	margin:0px 0 0 0;}
}


@media screen and (max-width:840px) {
.recruit-top h2 {
	padding:80px 0 0;
}
.recruit-top .picture ul {
	width:90%;
	margin:-50px auto 0;
	gap:0 25px;
}
.recruit-top2 h4.sub-copy {
	margin:0px 0 0 0;}
}

@media screen and (max-width:768px) {
.recruit-top2 h4.sub-copy {
	font-size:24px;
	margin:40px 0 0 0;}
}


@media screen and (max-width:685px) {
.recruit-top {
	height:40vh;
	background-position:0 -3vh;
}
.recruit-top h2 {
	font-size:18px;
	padding:50px 0 30px;
}
.recruit-top h2 span::before {
height:1.5px;
background:#fff;
}
.recruit-top h2 span {
	font-size:30px;
	gap:0 30px;
}
	
.recruit-top .picture ul {
	margin:-1vh auto 0;
}
.recruit-top2 h4.sub-copy {
	font-size:24px;
	margin:20vh 0 0 0;}
}

@media screen and (max-width:640px) {
.recruit-top {
	height: 50vh;
	background-position:0 1.55vh;
}
.recruit-top h2 {
	font-size:18px;
	padding:50px 0 30px;
}
.recruit-top h2 span {
	font-size:30px;
	gap:0 30px;
}
.recruit-top .picture ul {
	gap:10px 20px;
	width:90%;
	margin:-3vh auto 0;
}
.recruit-top2 h4.sub-copy {
	font-size:22px;
	letter-spacing:1px;
	margin: 8vh 0 0 0;}
}

@media screen and (max-width:540px) {
.recruit-top .picture ul {
	margin:-8vh auto 0;
}
.recruit-top .picture ul li {
	height:105px;
}
.recruit-top2 h4.sub-copy {
	margin:16vh 0 0 0;}
}

@media screen and (max-width: 480px) {
.recruit-top {
	height: 51vh;
	background-position:0 1.55vh;
}
.recruit-top .picture ul {
	width:70%;
	gap:20px;
	margin: -7vh auto 0;
}
.recruit-top .picture ul li {
	height:100px;
	flex:1 1 calc(50% - 20px);
}
.recruit-top2 h4.sub-copy {
	font-size:22px;
	letter-spacing:1px;
	margin:12vh 0 0 0;}
}

@media screen and (max-width:431px) {
.recruit-top .picture ul {
	width:70%;
	gap:20px;
	margin: -7.5vh auto 0;
}
}

@media screen and (max-width:400px) {
.recruit-top .picture ul {
	width:75%;
	gap:15px;
	margin: -11vh auto 0;
}
.recruit-top .picture ul li {
	height:80px;
}
.recruit-top2 h4.sub-copy {
	font-size:22px;
	letter-spacing:1px;
	margin:12vh 0 0 0;}	
}

@media screen and (max-width:376px) {
.recruit-top {
	height:57vh;
	background-position:0 1.8vh;
}
.recruit-top .picture ul {
	width:70%;
	gap:10px;
	margin:-20vh auto 0;
}
.recruit-top2 h4.sub-copy {
	font-size:20px;
	letter-spacing:0.5px;
	margin:12vh 0 0 0;}	
}

@media screen and (max-width:360px) {
.recruit-top .picture ul {
	width:70%;
	gap:10px;
	margin:-13vh auto 0;
}
.recruit-top2 h4.sub-copy {
	font-size:20px;
	letter-spacing:0.5px;
	margin:12vh 0 0 0;}	
}

@media screen and (max-width:345px) {
.recruit-top .picture ul {
	width:70%;
	gap:10px;
	margin:0vh auto 0;
}
.recruit-top2 h4.sub-copy {
	font-size:20px;
	letter-spacing:0.5px;
	margin:12vh 0 0 0;}	
}*/

#recruit h5 {
	background:#2d416b;
	color:#fff;
	padding:20px;
	font-size:20px;
	margin:80px 0 50px;
}

#recruit h5 span {
	background:#fff;
	padding:4px 15px 6px 20px;
	margin-right:15px;
	color:#2d416b;
}

table.basic.recruit th, table.basic.recruit td {
	letter-spacing:1px;
}

/*#recruit .txt-copy {
	line-height:2;
}*/

@media screen and (max-width:1024px) {
#recruit .body-container {
	padding: 0 5vw;
}
	
#recruit h5 {
	text-align:center;
}	
#recruit h5 span {
	display:block;
	padding:2px 15px 3px 20px;
	margin:0 auto 10px;
}
#recruit h4.sub-copy {
	font-size:25px;
	letter-spacing:0;
	line-height:1.7;}
}

@media screen and (max-width:767px) {
#recruit .body-container {
    padding: 2vw 8vw;
}
#recruit h2 {
	font-size:30px;
}
#recruit h2 span {
	font-size:50px;
	gap:0 30px;
}
#recruit h2 span::before {
  content:'';
  flex-grow: 1;/* 余白を分け与える */
  height: 1.2px;
  background:#2d416b;
}
table.basic.recruit th.no-th { display:none;}
}

@media screen and (max-width: 500px) {
#recruit h2 {
	font-size:25px;
	letter-spacing:2px;
	width: calc( 100% + 30px);


	margin: 0 0 50px 0;
}
#recruit h2 span {
	font-size:40px;
	gap:0 20px;
}
#recruit h4.sub-copy {
	font-size:22px;
	line-height:1.6;}
}

@media screen and (max-width:400px) {
#recruit h2 {
	font-size:22px;
}
}

.detail-box ol {
	background:rgba(54, 131, 223, 0.1);
	margin:50px 0;
	padding:0 0 60px;
	/*数字をリセット*//* padding:0.5em; */
	background: #f5faff;
}

.detail-box ol li {
margin:0 0;
position:relative;
}

.detail-box ol li p {
	line-height: 2.2;
	font-size:15.5px;
	margin:20px 60px 0;
}

.detail-box ol li img {
	width:400px;
	margin:0 0 30px 0;
	float:right;
	clear:both;
}

#recruit h3 {
	clear:both;
	font-size:33px;
	font-weight: 700;
	letter-spacing:5px;
	margin: 30px 60px 50px 0;
	color:#2d416b;
	line-height:1.7;
}


@media screen and (max-width:650px) {
.detail-box ol {margin:0 0;padding: 0;}

.detail-box ol li {
text-align: justify;
letter-spacing:0.5px;
margin:0 30px;
text-align:center
}
.detail-box ol li img {
	width:200px;
	margin: 0 auto 0;
	float:none;
	clear:both;
}	
.detail-box ol li p {
	line-height: 1.7;
	font-size: 14px;
	margin: 20px 0 0;
	text-align:left;
	padding: 0 0 35px;
}
	
#recruit h3 {
    font-size: 26px;
    letter-spacing:5px;
    margin: 20px 0 10px 0;
}
}


/*.flow_design10 {
	display: flex;
	justify-content:center;
	align-items:center;
	margin:20px 0 20px;
}

.flow10 { width:100%; }

.flow10 > li {
list-style-type: none;
padding:20px;
color:#2d416b;
background:rgba(54, 131, 223, 0.05);
}

.flow10 > li:not(:last-child) {
  margin-bottom:40px;
  position: relative;
}

.flow10 > li:not(:last-child)::after {
  content:'';
  position:absolute;
  border:20px solid transparent;
  width:0;
  height:0;
  bottom:-53px;
  left:50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  border-top-color: #2d416b;
}

.flow10 > li dl dt {
  font-size:16px;
  font-weight: bold;
}

.flow10 > li .icon10 {
  color: #1B85FB;
  margin-right:1em;
}

.flow10 > li dl dd {
margin:15px 0 0 0;
padding:10px 0 0;
border-top:1px dashed #2d416b;
line-height:1.7;
}*/

ul.recruit-list {
  padding: 0;
}

ul.recruit-list li {
  position: relative;
  list-style-type: none!important;/*ポチ消す*/
  line-height:2;
margin-bottom:5px;
}

ul.recruit-list li:before{ 
  display:inline-block; 
  vertical-align:middle;
  /*以下白丸つくる*/
  content:'';
  width:0.7em;
  height:0.7em;
margin-bottom:2px;
  background: rgba(54, 131, 223, 0.8);
  border-radius: 50%;
  margin-right:8px;
}


/*-----------------------------------------------------------


事業案内

------------------------------------------------------------*/
.service-box {
  display:flex;
  position:relative;
  /*flex-direction: row-reverse;*/
  width:100%;
  margin:50px auto;
}

.service-top h3 {
	color:#3683df;
	font-weight: 700;
	margin:50px auto 10px;
	text-align:center;font-size:35px;
	letter-spacing:10px;
	background-image: linear-gradient(120deg, #3683df 40%, #134178 80%);
	-webkit-text-fill-color: transparent;
	-webkit-background-clip: text;
}

.service-top h4 { 
	text-align:center;
	font-size:20px;
	font-weight:600;
	color:#134178;
}

@media screen and (max-width: 767.9px) {
h3.slogan {
	font-size:28px;
	letter-spacing:3px;}
.service-top h4 { 
	text-align:center;
	font-size:17px;
	font-weight:600;
	color:#134178;
}
}

.service-box-txt div {
	width:100%;
	background:#fff;
	padding:50px 80px 70px;
	margin:80px -50px 0 0;
	position:relative;
	box-shadow: rgba(54, 131, 223, 0.2) 0px 10px 50px;
}

@media screen and (max-width:1400px) {
.service-box-txt div {
	padding:50px 50px 70px;}	
}
@media screen and (max-width:1300px) {
.service-box-txt div {
	padding:50px 40px 50px;}	
}
@media screen and (max-width:1100px) {
.service-box-txt div {
	padding:30px 40px 40px;}	
}
@media screen and (max-width:767px) {
.service-box-txt div {
	padding:30px 50px 40px;}	
}
@media screen and (max-width:480px) {
.service-box-txt div {
	padding:30px 30px 30px;}	
}
@media screen and (max-width:390px) {
.service-box-txt div {
	padding:25px 30px 30px;}	
}


.service-box-img img {
width:100%;
height:650px;
object-fit: cover;
position:relative;
z-index:-1;
margin:-80px 0 80px 0;
}

.service-box-txt h2 {
margin:20px 0 30px;
font-size:24px;
color:#1B85FB;
padding:8px;
border-top:1px solid #1B85FB;
border-bottom:1px solid #1B85FB;
}

@media screen and (max-width:1200px) {
.service-box-txt h2 {
margin:0 0 20px;}
}

@media screen and (max-width:480px) {
.service-box-txt h2 {
	font-size:22px;
	line-height:1.3;
	text-align:center;
}
}


/* 長いタイトル インダストリアル */
.service-box-txt h2 .long {display:none;}
.service-box-txt h2 .long2 {display:block;}

@media screen and (max-width:1200px) {
.service-box-txt h2 .long {display:block;}
.service-box-txt h2 .long2 {display:block;}	
}
@media screen and (max-width:480px) {
.service-box-txt h2 .long {display:block;}
.service-box-txt h2 .long2 {display:block;}	
}

/* 長いタイトル バイオロジカル */
.service-box-txt h2 .bio {display:none;}
.service-box-txt h2 .bio2 {display:block;}

@media screen and (max-width:1150px) {
.service-box-txt h2 .bio {display:block;}
.service-box-txt h2 .bio2 {display:block;}	
}
@media screen and (max-width:480px) {
.service-box-txt h2 .bio {display:block;}
.service-box-txt h2 .bio2 {display:block;}	
}


.service-box-txt p {
line-height:2;
font-weight:400;
font-size:14px;
}

/*　文字左側　*/
.service-box-left {
display:flex;
z-index: 1;
position: relative;
/*flex-direction: row-reverse;*/
width: 100%;
margin:150px auto;
background: rgba(54, 131, 223, 0.10);
}

.service-box-left .service-box-txt {
	width:35%;
	margin:0 -100px 0 100px;
}
.service-box-left .service-box-img {
	width:65%;
	margin:0 0 0 0;
}

@media screen and (max-width:1600px) {
.service-box-left .service-box-txt {
	width:40vw;}
.service-box-left .service-box-img {
	width: calc( 100% - 40vw );}
}

@media screen and (max-width:1200px) {
.service-box-left .service-box-txt {
	width:40vw;
	margin:0 -5vw 0 5vw;
}
.service-box-left .service-box-img {
	width: calc( 100% - 40vw );}
}
@media screen and (max-width:1023px) {
.service-box-left .service-box-txt {
	width:50vw;
	margin:0 -15vw 0 5vw;
}
.service-box-left .service-box-img {
	width: calc( 100% - 40vw );}
}

@media screen and (max-width:767px) {
.service-box-left {
flex-wrap:wrap;
flex-direction:column-reverse;
}
.service-box-left .service-box-txt {
	width:80%;
	margin:-20px auto 50px;
}
.service-box-left .service-box-img {
	width:90%;
	margin:auto;
	height:150px;
}
.service-box-left .service-box-img img {
object-fit:contain;
margin:-240px 0 0 0;}
}

@media screen and (max-width:480px) {
.service-box-left .service-box-txt {
	margin:-80px auto 50px;
	width:90%;
}
.service-box-left .service-box-img {
	margin:auto;
	height:120px;
}
.service-box-left .service-box-img img {
object-fit:contain;
margin:-300px 0 0 0;}	
}


/*　文字右側　*/
.service-box-right {
display:flex;
z-index: 1;
position: relative;
/*flex-direction: row-reverse;*/
width: 100%;
margin:150px auto;
background: rgba(54, 131, 223, 0.25);
}

.service-box-right .service-box-txt {
width:35%;
margin:0 100px 0 -100px;
}

.service-box-right .service-box-img {
width:65%;
margin:0 0 0 0;
}

@media screen and (max-width:1600px) {
.service-box-right .service-box-txt {
	width:40vw;}
.service-box-right .service-box-img {
	width: calc( 100% - 40vw );}
}

@media screen and (max-width:1200px) {
.service-box-right .service-box-txt {
	width:40vw;
	margin:0 5vw 0 -5vw;
}
.service-box-right .service-box-img {
	width: calc( 100% - 40vw );}
}
@media screen and (max-width:1023px) {
.service-box-right .service-box-txt {
	width:50vw;

	margin:0 5vw 0 -15vw;
}
.service-box-right .service-box-img {
	width: calc( 100% - 40vw );}
}

@media screen and (max-width:767px) {
.service-box-right {
flex-wrap:wrap;
}
.service-box-right .service-box-txt {
	width:80%;
	margin:-20px auto 50px;
}
.service-box-right .service-box-img {
	width:90%;
	margin:auto;
	height:150px;
}
.service-box-right .service-box-img img {
object-fit:contain;
margin:-240px 0 0 0;}
}

@media screen and (max-width:480px) {
.service-box-right .service-box-txt {

	margin:-80px auto 50px;
	width:90%;
}
.service-box-right .service-box-img {
	margin:auto;
	height:120px;
}
.service-box-right .service-box-img img {
object-fit:contain;
margin:-300px 0 0 0;}	
}


/*-----------------------------------------------------------

お問合せ

------------------------------------------------------------*/
section.form-wrapper {
	width:80%;
	margin:auto;
}
@media screen and (max-width: 1200px) {
section.form-wrapper {
	width:100%;
	margin:auto;}	
}

section.form-wrapper p {
	font-size:15px;
	line-height:2;
	letter-spacing:1px;
}

section.form-wrapper .body-container {
  padding:50px 5vw;
}

h2.contact {
	font-size:30px;
	font-weight: 700;
	letter-spacing:3px;
	margin:0 0 30px 0;
	color:#2d416b;
	line-height:1.7;
}


/*.form-column {
  display:flex;
  position:relative;
  width:100%;
  margin:50px auto;	
}

.form-column div {
  width: 60%;
}
.form-column div.privacy {
	width: calc( 40% - 30px);
	border: 2px solid rgba(54, 131, 223, 0.5);
	border-radius:10px;
	padding:20px 20px 5px;
	margin: 0 0 0 30px;
}*/

.privacy {
	font-size:14.5px;
	font-weight:400;
}
.privacy p {
	font-size:14.5px;
	line-height:2;
}

.privacy h3 {
	font-size: 18px;
	color:#2d416b;
	border-bottom: 1px solid #2d416b;
	margin: 0 0 20px 0;
	padding: 0 0 5px 0;
}

.privacy ol li ul {
  list-style: none;
  margin:10px 0 10px 0;
}
.privacy ol li ul li {
position: relative;
list-style-type:none;
padding-left:10px;
}
.privacy ul li::before {
content: '';
display: inline-block;
position: absolute;
top:8px;
left:0;
width:6px;
height:6px;
background-color: #2d416b;
border-radius: 5px;
}

.privacy ol { 
margin:1em 0 0 1.5em;}

.privacy ol li {
	position: relative;
	padding:0px 0 0.6em 0;
	list-style-type:decimal;
	line-height: 1.7;
}

.privacy ol li div {
	width: 100%;
	padding: 25px;
	margin:25px auto;
	background:rgba(54, 131, 223, 0.05);
}

.privacy ol li div table th,.privacy ol li div table td {
	padding:3px 0;
}
.privacy ol li div table th {
	font-weight:600;
	width:12em;
	
}

/*フォーム
--------------------------------------------*/
table.form-table {
	width:100%;
	margin: 50px auto 0;
	border-top: solid 1px #2d416b;
	border-bottom: solid 1px #2d416b;
	font-size:14.5px;
}
.form-table th {
	border-bottom: solid 1px #2d416b;
	vertical-align: top;
	color:#2d416b;
	padding:20px;
	letter-spacing: 1px;
	background:rgba(54, 131, 223, 0.07);
	white-space: nowrap;
}
.form-table td {
border-bottom: solid 1px #2d416b;
padding:15px;
}

@media screen and (max-width:767px) {
.form-table {
    width:100%;

  }
.form-table th,
.form-table td {
　　border-bottom: none;
    display: block;
    width: 100%;
  }
.form-table td {
border-bottom: solid 1px #2d416b;
padding:5px 0 20px;
}
}

.form-table input,
.form-table select {
	height : 1.8em;
	border : 1px solid #cccccc;
	border-radius : 3px;
	background : #fff;
	font-size: 16px;
	color: #505050;
	padding:5px;
}

.form-table textarea{
	width: 100%;
	height : 180px;
	resize : vertical;
	border : 1px solid #cccccc;
	border-radius : 3px;
	background : #fff;
	padding: 5px;
	color: #505050;
}
.form-table input:focus,
.form-table textarea:focus{
	box-shadow : 0px 0px 5px #55ccff;
	border : 1px solid #55ccff;
	background : #ffffff;
}

.form-table label:hover{
	cursor : pointer;
}
.form-table input{
	height : auto;
	width: 100%;
	margin-right : 0.5em;
}

.form-table input {
	height : auto;
	width: 100%;
	margin-right : 0.5em;
}
.form-table input[type=radio] {
	margin:10px 0 10px;
	width:auto;
}

.checkbox-privacy {
	margin:20px 0 0;
}

.checkbox-privacy a {
	letter-spacing:1px;
	display: inline-block;
	color:#3683df;
	border-bottom: 1px solid #3683df;
	padding-bottom:0px;
	-webkit-transition: all 0.3s ease;-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all  0.3s ease;}

.checkbox-privacy a:hover {
padding-bottom:1.5px;
}

.form-table td div.experience {
  display:flex;
  width:100%;
  margin:0;	
}
.form-table td div.experience div:nth-of-type(1) {
  width:calc(80% - 10px);
}
.form-table td div.experience div:nth-of-type(2) {
  width:20%;margin:5px 0 0 10px;
}

input.submit_button {
	width : auto;
	height : auto;
	display:inline-block;
	vertical-align : middle;
	border-radius : 3px;
	font-family : inherit;
	border:none;
	padding-top:15px;
	padding-right: 35px;
	padding-bottom:15px;
	padding-left: 35px;
	font-size: 17px;
	line-height: 26px;
	color: #fff;
	background-color: #3683df;
	box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 10px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 10px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 10px 0px;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
	margin: 30px auto;
}
input.submit_button:hover{
	cursor : pointer;
	color:#fff;
	background-color:#1B85FB;
}

.required {
background-color:#1B85FB;
color:#fff;
padding:0.2px 2px 1px;
font-size:10px;
font-weight:500;
border-radius:2px;
margin-right:3px;
}


@media screen and (max-width:767px) {
.form-table input,
.form-table select,.form-table textarea {
	width:100%;
}
input.submit_button {
	margin:15px auto 0;
}
.form-table .form-file { font-size:11px;}
}


/* 確認画面 */

section.form-confirm-wrapper {
	width:80%;
	margin:auto;
}

section.form-confirm-wrapper .body-container {
  padding:80px 5vw;
}

@media screen and (max-width:1200px) {
section.form-confirm-wrapper {
	width:90%;
	margin:auto;}	
}

section.form-confirm-wrapper p {
	font-size:15px;
	line-height:2;
	letter-spacing:1px;
}
section.form-confirm-wrapper .error_messe {
	color:red;
	text-align:center;
}
section.form-confirm-wrapper h4 {
	margin:30px 0 30px;
	font-size:20px;
	text-align:center;
	color:#134178;
}

section.form-confirm-wrapper h3 {
	margin:30px 0 30px;
	font-size:30px;
	text-align:center;
	color:#134178;
}

section.form-confirm-wrapper .formTable {
	width:100%;
	max-width: 1200px;
	margin: 50px auto 30px;
	border-top: solid 1px #2d416b;
	border-bottom: solid 1px #2d416b;
	font-size:14.5px;
}
section.form-confirm-wrapper .formTable th {
	border-bottom: solid 1px #2d416b;
	vertical-align: top;
	color:#2d416b;
	padding:20px;
	letter-spacing: 1px;
	background:rgba(54, 131, 223, 0.07);
	white-space: nowrap;
	width:30%;
}
section.form-confirm-wrapper .formTable td {
border-bottom: solid 1px #2d416b;
padding:15px;
}

@media screen and (max-width:767px) {
section.form-confirm-wrapper .formTable {
    width:100%;
  }
section.form-confirm-wrapper .formTable th,
section.form-confirm-wrapper .formTable td {
　　border-bottom: none;
    display: block;
    width: 100%;
  }
section.form-confirm-wrapper .formTabletd {
border-bottom: solid 1px #2d416b;
padding:5px 0 20px;}
}

.confirm_submit_button input { 
	border:none;
	padding:15px 20px;
	cursor:pointer;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
	margin: 30px auto;
}
.confirm_submit_button input:hover{
	cursor : pointer;
	color:#fff;
	background-color:#1B85FB;
}

.backtop a {
	border:none;
	background:#fafafa;
	padding:15px 20px;
	cursor:pointer;
	display:block;
	width:250px;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
	margin: 30px auto;	
}

.backtop a:hover{
	cursor:pointer;
	background-color:#eee;
}



.animated {
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.animated_first {
  -webkit-animation-duration: 1.3s;
  animation-duration: 1.3s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

/*!------------------------------------*
fadeIn
\*!------------------------------------*/
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}


@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

/*!------------------------------------*
fadeInUp
\*!------------------------------------*/
@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

/*!------------------------------------*
fadeInUp_slow
\*!------------------------------------*/
@-webkit-keyframes fadeInUp_slow {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }
  to {

    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInUp_slow {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.fadeInUp_slow {
  -webkit-animation-name: fadeInUp_slow;
  animation-name: fadeInUp_slow;
}

/*!------------------------------------*
fadeIn_filter
\*!------------------------------------*/
@-webkit-keyframes fadeIn_filter {
  from {
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: grayscale(100%);
  }
  to {
    -webkit-filter: grayscale(0);
    -moz-filter: grayscale(0);
    -ms-filter: grayscale(0);
    -o-filter: grayscale(0);
    filter: grayscale(0);
  }
}

@keyframes fadeIn_filter {
  from {
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: grayscale(100%);
  }
  to {
    -webkit-filter: grayscale(0);
    -moz-filter: grayscale(0);
    -ms-filter: grayscale(0);
    -o-filter: grayscale(0);
    filter: grayscale(0);
  }
}

.fadeIn_filter {
  -webkit-animation-name: fadeIn_filter;
  animation-name: fadeIn_filter;
}