@charset "utf-8";

.under-body {
  font-weight: 400;
  letter-spacing: 0.4px;
}

.under-body a:hover {
  opacity: 0.7;
}

.under-f18 {
  font-size: 1.125em;
}

.br-480 {
  display: none;
}

.box1100 {
  max-width: 1100px;
  margin-right: auto;
  margin-left: auto;
  padding: 0 clamp(1rem, 2vw, 2rem);
}

.under-row {
  display: flex;
  flex-direction: row;
}

.under-center {
  text-align: center;
}

.under-flex {
   display: flex;
   display: -webkit-flex;
   justify-content: center;
   /*align-items: center;*/
}
.under-item {
    padding: .5rem;
    width: 100%;
}
[class*="col-"] { flex-basis: var(--col-width, 100%); }
.col-1 { --col-width: calc(100% / 12); }    /*  8.33% */
.col-2 { --col-width: calc(100% / 6); }     /* 16.67% */
.col-3 { --col-width: 25%; }                /* 25% */
.col-4 { --col-width: calc(100% / 3); }     /* 33.33% */
.col-5 { --col-width: calc(100% * 5/12); }  /* 41.67% */
.col-6 { --col-width: 50%; }                /* 50% */
.col-7 { --col-width: calc(100% * 7/12); }  /* 58.33% */
.col-8 { --col-width: calc(100% * 2/3); }   /* 66.67% */
.col-9 { --col-width: 75%; }                /* 75% */
.col-10 { --col-width: calc(100% * 5/6); }  /* 83.33% */
.col-11 { --col-width: calc(100% * 11/12); }/* 91.67% */
.col-12 { --col-width: 100%; }              /* 100% */

/* Flexbox配置
   -------------------------------------------- */
[class*="fl-align-"] { align-items: var(--align, stretch); }
.fl-align-top { --align: flex-start; }
.fl-align-base { --align: baseline; }
.fl-align-end { --align: flex-end; }
.fl-align-center { --align: center; }
.fl-align-str { --align: stretch; }

[class*="fl-con-"] { justify-content: var(--justify, flex-start); }
.fl-con-bet { --justify: space-between; }
.fl-con-start { --justify: flex-start; }
.fl-con-end { --justify: flex-end; }
.fl-con-center { --justify: center; }


.gap5 { gap: 0.5rem; }
.gap10 { gap: 1rem; }
.gap20 { gap: 2rem; }

@media screen and (max-width: 1024px) {
	.flex1024 { flex-direction: column; }
}
@media screen and (max-width: 960px) {
	.flex960 { flex-direction: column; }
}
@media screen and (max-width: 768px) {
	.flex768 { flex-direction: column; }
   .flex768.reverse { flex-direction: column-reverse; }
}
@media screen and (max-width: 560px) {
	.flex560 { flex-direction: column; }
   .flex560.reverse { flex-direction: column-reverse; }
}


.about-table .under-flex {flex-direction: column;}

.font-18 {font-size: 18px;}


#header-under {
    background-color: rgba(255, 255, 255, 0.8);
    position: fixed;
	top: 0;
	left: 0;
    width: 100%;
    z-index: 100;
}

#header-under .under-header-area {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding: 1em 3vw;
  gap: 3em;
  align-items: center;
	max-width: 1800px;
    margin: 0 auto;
}

#header-under .under-header-area.noactive {
  display: none;
}


@media screen and (max-width: 1024px) {
  #header-under .under-header-area nav {
    display: none;
  }
}

#header-under .under-header-area h1 {
  max-width: 100px;
  line-height: 1;
}

#header-under .under-header-area ul {
  display: flex;
  flex-direction: row;
  gap: clamp(2em, 3vw, 4em);
  align-items: center;
}

#header-under .under-header-area ul li {
  font-size: clamp(14px, 2vw, 18px);
  position: relative;
  font-weight: 400;
  white-space: nowrap;
}

.nav-menu-li a::before {
  content: "";
  background: url(../images/common/icon_nav.svg) no-repeat center / contain;
  position: absolute;
  width: 1em;
  height: 1em;
  top: 50%;
  transform: translateY(-50%);
  left: -1.2em;
}

.nav-menu-tel p,
.nav-menu-mail p {
  font-size: clamp(12px, 1vw, 15px);
  position: relative;
  margin-left: 48px;
  line-height: 1.2;

}

.nav-menu-mail p {
  margin-left: 35px;
}

.nav-menu-tel p span {
  font-size: 2.1em;
}

.nav-menu-mail p span {
  font-size: 1.4em;
}


.nav-menu-tel p::before,
.nav-menu-mail p::before {
  content: "";
  background: url(../images/common/icon_tel_b55.svg) no-repeat center / contain;
  position: absolute;
  width: clamp(40px,3.5vw,55px);
  height: clamp(40px,3.5vw,55px);
  top: 50%;
  transform: translateY(-50%);
  left: -55px;

}

.nav-menu-mail p::before {
  background: url(../images/common/icon_mail_b55.svg) no-repeat center / contain;
}

.under-body .openbtn .openbtn-area span {
  background: #6b99b4;
}

.under-body .openbtn.active .openbtn-area span {
  background: #fff;
}


.under-topview {
  padding: 100px 3vw 0;
  position: relative;
  line-height: 1;

}

.under-topview img {
  border-radius: 10px;
  object-fit: cover;
  max-height: 450px;
  height: 60vw;
  object-position: left 10% top 100%;
}

.under-ttl-area {
  position: absolute;
	bottom: 0;
  left: 1rem;
    right: 1rem;
    max-width: 420px;
    margin: 0 auto;
}

.under-ttl {
  font-size: clamp(24px, 4vw, 30px);
	font-weight: 400;
  text-align: center;
  margin: 0;
  background-color: #fff;
  padding: 0.75em 1em 0;
  border-radius: 20px 20px 0 0;
  position: relative;
}

.under-ttl::before {
  display: block;
  position: absolute;
  left: -9px;
  bottom: 0;
  width: 10px;
  height: 10px;
  background: url(../images/common/triangle-w-l.svg) no-repeat center / cover;
  content: "";
}

.under-ttl::after {
  display: block;
  position: absolute;
  right: -9px;
  bottom: 0;
  width: 10px;
  height: 10px;
  background: url(../images/common/triangle-w-r.svg) no-repeat center / cover;
  content: "";
}

.under-en-ttl {
  margin: clamp(3rem, 7vw, 6rem) auto clamp(5rem, 14vw, 10rem);
  text-align: center;
  padding: 0 2em;
}

.under-en-ttl img {
  max-height: clamp(32px,5vw,68px);
  object-fit: contain;
}

.under-subttl {
  text-align: center;
  margin-bottom: clamp(1rem, 3.5vw, 3rem);
}

.under-subttl h3 {
  display: inline-block;
  font-size: clamp(20px, 3vw, 30px);
  text-align: center;
  margin: 0 auto;
  /*padding: 0.5em 0.5em 0;*/
  border-bottom: 3px solid #92c3d3;
	font-weight: 400;
    letter-spacing: .1em;
    padding-bottom: .5rem;
}

.sec-under {
  margin-bottom: clamp(8rem, 18vw, 14rem);
}

.job-row {
  gap: 2em;
  align-items: end;
}

.job-blue-txt {
  display: inline-block;
  background-color: #6b99b4;
  font-size: clamp(13px,2vw,21px);
  color: #fff;
  padding: 10px 1em;
  margin-bottom: 14px;
  white-space: nowrap;
}

.job-img {
  width: 90%;
  text-align: right;
  margin-left: auto;
  margin-top: -2em;
  position: relative;
  z-index: -1;
}

.job-img img {
  border-radius: 20px;
}

.under-g-ttl {
  display: inline-block;
  background-color: #f0f5f7;
  border-radius: 20px 20px 0 0;
  margin: 0 auto;
  position: relative;
  padding: 0.5em 3em;
}

.under-g-ttl::before {
  display: block;
  position: absolute;
  left: -9px;
  bottom: 0;
  width: 10px;
  height: 10px;
  background: url(../images/common/triangle-g-l.svg) no-repeat center / cover;
  content: "";
}

.under-g-ttl::after {
  display: block;
  position: absolute;
  right: -9px;
  bottom: 0;
  width: 10px;
  height: 10px;
  background: url(../images/common/triangle-g-r.svg) no-repeat center / cover;
  content: "";
}

.bg-gray {
  background-color: #f0f5f7;
  padding: clamp(2rem, 5.5vw, 4rem) 0;
}

#recruit-form .bg-gray,#contact-sec-form .bg-gray {
	padding-bottom: clamp(8rem, 18vw, 14rem);
}

#recruit-features a {
  display: inline-block;
  color: #333;
  margin-top: 5em;
  text-align: center;

}

#recruit-features a p {
  font-size: 18px;
  position: relative;
  display: inline-block;
}

#recruit-features a p::after {
  content: "";
  display: block;
  background: url(../images/common/arrow_b.svg) no-repeat center / contain;
  width: 30px;
  height: 30px;
  position: absolute;
  right: -2.5em;
  top: 3px;
}

#recruit-features a:hover p::after {
  background: url(../images/common/arrow_b_h.svg) no-repeat center / contain;
}

.requirements-table {
  max-width: 750px;
  margin: 4em auto;
  width: 100%;
  border-collapse: collapse;
}

.requirements-table tr {
  border-bottom: 1px #999 dotted;
}

.requirements-table tr:first-child {
  border-top: 1px #999 dotted;
}


.requirements-table tr th {
  text-align: left;
	font-size: 18px;
    font-weight: 500;
  width: 11em;
  padding: 16px 1em 16px 2em;
}

.requirements-table tr th::before {
  content: "●";
  color: #6b99b4;
  padding-right: 3px;
}

.requirements-table tr td {
  padding: 16px 1em 16px 0;
}


.entry-form {
  background-color: #fff;
  border-radius: 30px;
  padding: 2em 4em;
  margin-bottom: 60px;
}

.entry-form .full-width {
  width: 100%;
}

.entry-form th {
  text-align: right;
  vertical-align: top;
  padding-top: 0.8em;
  width: 14em;
}

.entry-form th label span {
  color: #c1272d;
}


.entry-form th,
.entry-form td {
  padding: 15px;
}

.name-width:first-child {
  margin-right: 1em;
}

input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
  height: 38px;
  padding: 6px 10px;
  background-color: #fff;
  border: 1px solid #535354;
  box-shadow: none;
  box-sizing: border-box;
  font-size: 16px;
}

.name-width {
  width: 40%;
  min-width: 6em;
}

.submit-btn {
  background-color: #6b99b4;
  border-radius: 50px;
  font-size: clamp(18px,2vw,21px);
  color: #fff;
	width: 100%;
  max-width: 200px;
    padding: .5rem;
	margin: 0 auto;
}

.reset-btn {
  background-color: #868686;
  border-radius: 50px;
  font-size: clamp(18px,2vw,21px);
  color: #fff;
	width: 100%;
  max-width: 200px;
    padding: .5rem;
	margin: 0 auto;
}

.submit-btn:hover,.reset-btn:hover {
	opacity: .8;
}

/******************/
/*    CONTACT     */
/******************/

.contact-tel-box {
  border: 2px solid #75a9bd;
  border-radius: 20px;
  padding: 0.7em clamp(1em, 3vw, 3em);
}

.contact-tel {
  position: relative;
  padding-left: 55px;
  line-height: 1.3;
}

.contact-tel::before {
  content: "";
  background: url(../images/common/icon_tel_b55.svg) no-repeat center / contain;
  position: absolute;
  width: 55px;
  height: 55px;
  top: 50%;
  transform: translateY(-50%);
  left: -0.5em;
}

.contact-tel span {
  font-size: 2em;
}


/******************/
/*    SERVICE    */
/******************/

#service-sec-about h4 {
  background-color: #6b99b4;
  font-size: clamp(20px,3vw,30px);
  padding: 1em;
  display: inline-block;
  color: #fff;
  border-radius: 20px;
  position: relative;
  z-index: 2;
	width: 100%;
  max-width: 12.5em;
  text-align: center;
	font-weight: 400;
    margin-top: clamp(3rem, 7.75vw, 6rem);
}
.service-about-b-container {
	padding: 0 clamp(.5rem,2vw,2rem);
}
.service-about-b-box {
  background-color: #92c3d3;
  border-radius: 20px;
  padding: 2em;
  max-width: 960px;
  margin: -40px auto 6em;
}

.service-about-b-box .under-row {
  gap: 2em;
  justify-content: center;
}


.service-about-b-box .slide-area {
  flex: 1 1 45%;
  margin: 0;
  width: 45%;
}

#service-sec-about .slide-area .service-slider {
  /* width: 100%; */
  max-width: 480px;
	padding: 0px 40px;
	margin: 0 auto;
}

#service-sec-about .slide-area .service-slider .slick-dots {
  margin: 10px 0 0 0;
  line-height: 0;
}

#service-sec-about .slide-area .service-slider li {
  /* max-width: 420px; */
	border-radius: 20px;

}

#service-sec-about .slide-area .service-slider li img {
  border-radius: 20px;
}

.service-about-b-box ol {
  list-style: none;
  counter-reset: number;
}

.service-about-b-box ol li {
  position: relative;
  padding-left: 1.5em;
  color: #fff;
  border-bottom: 1px dotted #fff;
  padding: 0.9em 1em 0.9em 4.5em;
}

.service-about-b-box ol li:last-child {
  border: none;
}

.service-about-b-box ol li::before {
  counter-increment: number;
  content: counter(number);
  position: absolute;
  color: #92c3d3;
  font-size: 2.625em;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 1.5em;
  height: 1.5em;
  background-color: #fff;
  border-radius: 50%;
  text-align: center;
  line-height: 1.4;
}

.service-about-b-box ol li span {
  display: block;
  font-size: 1.5em;

}

.service-reverce>div:first-child {
  order: 1;
}

.service-reverce>div:last-child {
  order: 0;
}

#service-sec-about .service-about-2 {
  /*margin-bottom: 270px;*/
	padding-bottom: clamp(5rem, 26vw, 16rem);
}

#service-sec-about .service-about-2 .slide-area {
  margin: 0;
  margin-top: -40px;
}

#service-sec-about .service-about-2 .under-row>div {
  flex: 1 1 50%;
}

#service-sec-about .service-about-2 .under-flex > div:last-child {
  transform: translateY(30%);
}

.service-safety-box {
  background-color: #fff;
  max-width: 1015px;
  margin: 2em auto;
  border-radius: 20px;
  padding: 3em 4em;
}

.service-safety-box li {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  position: relative;
  padding: 5px 0;
  gap: 0 1em;
  letter-spacing: 0.3px;
}

.service-safety-box li span {
  background-color: #fff;
  z-index: 1;
  padding: 0 0.5em;
}

.service-safety-box li .item-value {
text-align: left;
width: 70%;
max-width: 37em;
}


.service-safety-box li .item-name::before {
  content: "●";
  color: #6b99b4;
  padding-right: 3px;
}
.service-safety-box li::after {
  content: "";
  position: absolute;
  border-bottom: 1px dotted #808080;
  width: 100%;
  max-width: 360px;
  top: 1em;
  left: 0;
}

.service-slider2 p {
  padding: 2em 0.5em;
}

.service-slider2 .slick-slide {
  margin-right: 1.3em!important;
  margin-left: 1.3em!important;
}


@media screen and (max-width:1024px) {
	#service-sec-about .service-about-2 .under-flex > div:last-child {
		transform: none;
	}
}

@media screen and (max-width:1000px) {
  .service-safety-box {
    padding: 2em 1em;
}
  .service-safety-box li {
    flex-direction: column;
    width: 100%;
  }

  .service-safety-box li .item-name {
    margin-bottom: 0.5em;
  }
  
  .service-safety-box li .item-value {
margin-bottom: 1em;  
width: 100%;
padding-left: 1.5em;
	  max-width: 100%;
}
	
  
  
  
  
  
}





@media screen and (max-width:768px) {
  .under-row {
    flex-direction: column;
    align-items: center;
  }
	.under-ttl {padding: 1em 1em 0;}
  .under-ttl,
  .under-subttl h3 {
    /*font-size: 20px;*/
  }

  .job-blue-txt {
    padding: 5px 8px;
  }

  .requirements-table {
    max-width: 560px;
  }

  .requirements-table tr th {
    display: block;
    padding: 14px 0;
  }

  .requirements-table tr td {
    display: block;
    padding: 0 0 1em calc(1.125em + 3px);
  }

  .entry-form {
    padding: 1em;
    padding-bottom: 3em;
  }

  .entry-table th,
  .entry-table td {
    display: block;
    text-align: left;
    padding: 0 0 5px;
  }

  .entry-table td {
    padding-top: 0;
    padding-left: 0;
    padding-bottom: 0;
    margin-bottom: 2em;
  }

  .name-width {
    width: 100%;
    margin-bottom: 0.5em;
  }


  .service-reverce>div:first-child {
    order: 0;
  }
  
  .service-reverce>div:last-child {
    order: 1;
  }

  .service-about-b-box .slide-area {
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
  }
	
	#service-sec-about .service-about-2 .under-row>div:last-child {
		transform: none;
	}
	#service-sec-about .service-about-2 {
		padding-bottom: clamp(2rem, 5vw, 16rem);
	}
  
	.about-table .under-flex {flex-direction: row;}
	.about-table .under-flex.flex560 .flex-outer {
		flex-basis: 50%;
		text-align: center;
	}
	.about-table .under-flex.flex560 .flex-outer .flex60 {
		text-align: left;
    max-width: 250px;
        margin: 0 auto .54rem;
	}

  
  
  

}

@media screen and (max-width:560px) {
	.about-table .under-flex {flex-direction: column;}
}

@media screen and (max-width:480px) {
  .br-480 {
    display: block;
  }
}