@charset "utf-8";
body{opacity:0;}
body.active{
  animation: fadebody 1.5s 0s forwards;
}
@keyframes fadebody {
  0% {
	  opacity : 0;
  }
  100% {
	  opacity : 1;
  }
}
.subPbody .footer-area{
	margin-top: 0;
}
/* about */
.about-fst{
	padding-bottom: 80px;
}
.about-fst::before{
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100vw;
	height: 100vh;
	background: url(../images/about/about-bg1sp.jpg) no-repeat center top 40vw;
	background-size: 100% auto;
}
.subP{
  padding-top: 40px;
}
.subP.subP-recruit{
	padding-top: 20vw;
}
.subP-title{
	text-align: center;
	font-size: 24px;
  letter-spacing: 2px;
  line-height: 1.8;
}
.subP-title span{
	font-size: 16px;
  font-weight: 500;
  display: block;
  letter-spacing: 3px;
}
.about-list li{
	background: rgba(255, 255, 255, 0.9);
  padding: 30px 23px;
  width: 100%;
  display: block;
  margin-top: 40px;
}
.about-list-wrap{
	flex-direction: column;
  border-bottom: 8px solid #fff000;
  padding-bottom: 15px;
  align-items: center;
}
.point-icon{
	width: 18%;
  max-width: 55px;
}
.point-title{
	font-size: 19px;
  line-height: 1.4;
  margin-top: 20px;
  text-align: center;
}
.point-text{
	font-size: 13px;
	margin-top: 10px;
	padding: 5px;
	letter-spacing: 2px;
	line-height: 2;
	font-weight: 400;
}
.about-sec{
	position: relative;
	padding-top: 130px;
	background: #fff;
}
.about-sec-bg{
	width: 100%;
	height: auto;
}
.about-sec-bg img{
	width: 100%;
}
.about-sec-text{
	position: absolute;
  top: 70px;
  left: 5%;
}
.about-sec-text h2{
	font-size: 20px;
	line-height: 1;
}
.about-sec-text p{
	margin-top: 20px;
	font-size: 13px;
	line-height: 2;
	letter-spacing: 2px;
	font-weight: 400;
}



/* service */
.service-fst{
	background: url(../images/service/service-bg.svg) no-repeat left top 13vw;
	background-size: 100% auto;
	padding-bottom: 40px;
}
.service-wrap{
	position: relative;
	margin-top: 15px;
  padding: 15px 4%;
}
.service-wrap::after{
	content: "";
	background: rgba(227, 223, 161, 0.8);
	mix-blend-mode: multiply;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.service-list{
	position: relative;
	z-index: 10;
}
.service-li{
	background: #fff;
  padding: 30px 5%;
  margin: 0 auto;
}
.service-li:nth-child(n+2){
	margin-top: 40px;
}
.service-icon{
	width: 60px;
	margin: 0 auto;
}
.service-title{
	font-size: 20px;
	line-height: 1.4;
	text-align: center;
	margin-top: 20px;
}
.service-title::after{
	content: "";
  background: #fff000;
  width: 95%;
  height: 6px;
  display: block;
  margin: 10px auto 0;
}
.service-text{
	margin: 15px auto 0;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.8;
  padding: 0 2%;
}
.service-itemlist1,
.service-itemlist2{
	flex-direction: column;
  background: #c1d1de;
  padding: 20px 5%;
  margin-top: 15px;
  border-radius: 5px;
}
.service-itemlist1 li,
.service-itemlist2 li{
	width: 100%;
	display: flex;
	background: #c1d1de;
	padding: 0;
	align-items: center;
	line-height: 1.4;
	border-bottom: 1px dashed #fff;
  padding-bottom: 15px;
}
.service-itemlist1 li:last-child,
.service-itemlist2 li:last-child{
	border-bottom: none;
	padding-bottom: 0;
}

.service-itemlist1 li:nth-child(n+2),
.service-itemlist2 li:nth-child(n+2){
	margin-top: 15px;
}
.item-icon{
	width: 45px;
	margin-right: 15px;
}
.item-name{
	flex: 1;
	font-size: 12px;
}
.item-name span{
	display: block;
  font-size: 16px;
  letter-spacing: .05em;
}
.item-sns{
	margin: 20px auto 0;
	width: 100%;
}
.btn-price a{
/*
	display: block;
  width: 90%;
*/
  margin: 40px auto 0;
/*
  text-align: center;
  border: 4px solid #000;
  padding: 15px 0;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: .3em;
	transition: .5s;
*/
}
/*
.btn-price a::after{
	content: "";
	background: url(../images/common/btn-arrow.svg) no-repeat;
	background-size: contain;
	width: 34px;
	height: 9px;
	display: inline-block;
	margin-left: .3em;
	vertical-align: middle;
	transition: .5s;
}
.btn-price a:hover::after{
	background: url(../images/common/btn-arrow-w.svg) no-repeat;
	background-size: contain;
	transition: .5s;
}
.btn-price a:hover{
	background: #000;
	color: #fff;
	transition: .5s;
}
*/
/* SDGs */
.adgs-top{
	background: url(../images/sdgs/top-sdgs-sp.jpg?0811) no-repeat center center;
	background-size: cover;
}
.adgs-top .inner{
	position: relative;
	height: 100%;
	padding: 60px 0;
}
.adgs-top .subP-title{
	color: #fff;
}
.adgs-top .subP-title span{
	font-size: 14px;
  letter-spacing: .5em;
  line-height: 1.3;
}
.sdgs-logo{
	margin: 30px auto 0;
  width: 35%;
  max-width: 130px;
}
.sdgs-catch{
	padding: 0 10% 20px;
  font-size: 13px;
  letter-spacing: 2px;
  line-height: 2;
  font-weight: 500;
/*   background: #c5d2de; */
}
.sdgs-snd{
	margin-top: 	50px;
	padding-bottom: 20px;
}
.sdgs-snd h2{
	text-align: center;
	font-size: 24px;
  letter-spacing: .1em;
  border-bottom: 2px solid;
  padding-bottom: 10px;
}
.sdgs-snd h2 span{
	display: block;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .3em;
}
.sdgs-list li{
	padding: 40px 0;
	border-bottom: 1px dashed #ccc;
	flex-direction: column;
}
.sdgs-list li:last-child{
	border-bottom: none;
	padding-bottom: 0;
}
.sdgs-img{
	width: 140px;
  display: block;
  margin: 0 auto;
}
.sdgs-text-wrap{
	margin: 20px 0 0;
}
.sdgs-title{
	font-size: 20px;
	letter-spacing: .1em;
	text-align: center;
}
.sdgs-text{
	margin-top: 15px;
	font-size: 14px;
	letter-spacing: .1em;
	line-height: 1.8;
	background: #eee;
  padding: 20px;
  border-radius: 5px;
}
.sdgs-text2,
.paper-wrap{
	margin-top: 30px;
}
.sdgs-text2-img{
	width: 60px;
	margin-right: 3%;
}
.sdgs-text2-text{
	flex: 1;
}
.sdgs-text2 span{
	font-size: 12px;
	letter-spacing: .1em;
	line-height: 1.8;
	vertical-align: text-bottom;
}
.paper-p{
	width: 100%;
	margin-bottom: 30px;
}
.paper-wrap{
	flex-direction: column;
}
.paper-img{
	width: 90px;
	margin-right: 4%;
}
.paper-text-wrap{
	flex: 1;
	letter-spacing: .1em;
	line-height: 1.7;
}
.paper-name{
	font-size: 13px;
  line-height: 1.3;
}
.paper-name span{
	font-size: 11px;
}
.paper-text{
	margin-top: 5px;
	font-size: 11px;
}
/* company */
.company-fst{
	background:#c4d3de;
	margin-top: -30px;
	padding:20px 0;
	margin-bottom: 80px;
}
.com-list {
}
.com-list li{
	margin:30px 0;
	background:#fff;
	padding:28px;
}

.com-title{
	text-align: center;
  font-size: 24px;
  letter-spacing: .1em;
  margin-top: 0px;
  border-bottom: 2px solid;
  padding-bottom: 10px;
  position: relative;
}
.com-title span{
	display: block;
  font-size: 14px;
  font-weight: 500;
}
.com-list .com-title:before{
	content:"";
	background:#fff000;
	width:180px;
	height:4px;
	position: absolute;
	bottom:-7px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}
.com-text {
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 2px;
  line-height: 2;
  text-align: left;
  padding: 23px 3% 0;
  border-radius: 4px;
}
.bnr {
  width: 90%;
  margin: 0 auto;
}
.message-box{
	margin-top: 30px;
	position: relative;
	flex-direction: column;
}
.message-text {
  padding: 30px 0;
  width: 92%;
  margin: 0 auto;
  letter-spacing: .1em;
  line-height: 2;
  font-size: 14px;
  font-weight: 400;
}
.message-text__name{
	text-align: right;
}
.message-text span{
	font-size: 20px;
	display: block;
}
.com-detail{
	margin: 30px auto 0;
  width: 100%;
  font-size: 14px;
}
.com-detail th{
	width: 100%;
  display: block;
  padding: 10px 1em;
  line-height: 1;
  text-align: left;
  font-weight: 600;
  background: #eee;
}
.com-detail td{
  padding: 10px 1em;
	line-height: 2;
  width: 100%;
  display: block;
  font-weight: 300;  
}
.t-line td{
	display: none;
}
.com-detail td a{
	color: #9fb3c3;
	font-weight: 500;
}
.com-detail td a:hover{
	color: #e4e1a2;
}
.gmap-link a::before{
	content: "";
	background: url(../images/company/icon-gmap.svg) no-repeat;
	background-size: contain;
	display: inline-block;
	width: 13px;
	height: 18px;
	margin-right: .5em;
	vertical-align: text-bottom;
}
.unei a {
  line-height: 2.3;
}
.com-enkaku{
	margin: 30px auto 0;
  width: 90%;
  flex-wrap: wrap;
  font-size: 12px;
  line-height: 1.8;
}
.com-enkaku dt{
	width: 25%;
	padding: 10px 2em 10px 0;
	text-align: right;
  font-size: 12px;
  position: relative;
}
.line-hide::after {
  content: "";
  display: inline-block;
  background: #fff;
  width: 4px;
  height: 25px;
  position: absolute;
  right: -3px;
  top: 0;
  z-index: 1;
}
.com-enkaku dd{
	width: 75%;
  padding: 10px 0 10px 2em;
  border-left: 2px solid #ccc;
  position: relative;
}
.com-enkaku dd::before{
	content: "●";
	position: absolute;
	left: -8px;
	top: 10px;
	color: #c1d1de;
	font-size: 15px;
	z-index: 2;
}
.com-enkaku dd a{
	color: #9fb3c3;
	font-weight: 500;
}
.com-enkaku dd a:hover{
	color: #e4e1a2;
}
.gmap{
	margin: 30px auto 50px;
  width: 90%;
}
.gmap iframe{
	vertical-align: bottom;
	height: 240px;
}
/* contact */
.contact-bg {
  background: url(../images/contact/contact-bg.svg) no-repeat left top 13vw;
  background-size: cover;
  padding-bottom: 50px;
}
.contact-bg-inner {
  background: #fff;
  padding: 30px 5%;
  margin-top: 30px;
}
.contact-catch{
  text-align: center;
  font-size: 20px;
  letter-spacing: .1em;
  font-weight: bold;
}
.con-list{
	flex-direction: column;
  margin-top: 20px;
}
.con-list li{
	width: 100%;
}
.con-list li:nth-child(n+2){
	margin-top: 20px;
}
.contact-tel{
	border: 1px solid #000;
}
.contact-mail{
	background: #e4e1a2;
	transition: .5s;
}
.contact-tel a,
.contact-mail a {
  display: block;
  padding: 20px 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.contact-mail a{
  padding: 30px 0;
}
.contact-mai a:hover{
	background: #eee;
	transition: .5s;
}
.con-text{
  font-size: 16px;
  letter-spacing: .15em;
  font-weight: 600;
}
/*
.con-text span::before{
	content: "";
	background: url(../images/common/btn-arrow.svg) no-repeat;
	background-size: contain;
	width: 26px;
	height: 6px;
	display: inline-block;
	margin-right: .3em;
	vertical-align: middle;
	padding-bottom: 5px;
}
*/
.con-tel {
  font-size: 30px;
  letter-spacing: .05em;
  line-height: 1;
  margin-top: 5px;
}
.con-tel:before {
  margin-right: 10px;
  content: "";
  background: url(../images/common/under-tel.png) no-repeat;
  background-size: contain;
  width: 27px;
  height: 25px;
  display: inline-block;
  vertical-align: text-bottom;
  padding-bottom: 2px;
}
.tel-open {
  margin-top: 5px;
  font-size: 16px;
  letter-spacing: .05em;
}
.con-mail {
  margin-top: 10px;
  font-size: 24px;
  font-weight: 300;
  letter-spacing: .05em;
  line-height: 1;
}
.con-mail:before {
  margin-right: 10px;
  content: "";
  background: url(../images/common/under-mail.png) no-repeat;
  background-size: contain;
  width: 28px;
  height: 20px;
  display: inline-block;
}
.about-meet{
	margin-top: 30px;
	flex-direction: column;
}
.about-meet-wrap{
	width: 94%;
  margin: 0 auto;
}
.about-meet-title{
	font-size: 24px;
  letter-spacing: .1em;
  margin-top: -30px;
  border-bottom: 2px solid;
  padding-bottom: 10px;
}
.about-meet-title span {
  display: block;
  font-size: 14px;
  font-weight: 500;
}
.about-meet-text.noto {
  margin-top: 20px;
  font-size: 14px;
  letter-spacing: .1em;
  line-height: 2;
}
.about-meet-img{
	width: 66%;
  margin-left: auto;
  order: -1;
}
.meet-img-area{
	margin-top: 60px;
	position: relative;
}
.meet-img1{
	width: 80%;
	margin-left: auto;
}
.meet-img2{
	width: 75%;
  position: absolute;
  top: 110px;
}
.contact-snd {
  margin-top: 45vw;
}
.contact-snd .about-meet-title{
	width: 94%;
	margin: 0 auto;
}
.location-list{
	margin: 30px auto 0;
	width: 94%;
  flex-direction: column;
}
.location-list li{
	width: 100%;
}
.location-list li:nth-child(n+2){
	margin-top: 60px;
}
.lacation-img img{
	width: 100%;
}
.location-name{
	margin-top: 10px;
	font-size: 16px;
	border-bottom: 8px solid #fff000;
	padding-bottom: 5px;
}
.location-text{
	margin-top: 10px;
	font-size: 14px;
}
.gmap-link a{
	display: block;
	margin-top: 5px;
	color: #9fb3c3;
	font-weight: 500;
}
.gmap-link a:hover{
	color: #e4e1a2;
}
@media screen and (max-width: 320px){
.contact-catch {
  font-size: 18px;
}
.con-text {
  font-size: 14px;
}
.con-tel {
  font-size: 26px;
}
.con-tel:before {
  width: 23px;
  height: 21px;
}
.con-mail {
  font-size: 22px;
}
.con-mail:before {
  margin-right: 5px;
  width: 24px;
  height: 16px;
}
}
.contact-bg-inner .title {
  letter-spacing: 2px;
  font-size: 16px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
/* recruit */
.recruit-fst{
	background: #e4e1a2;
	padding-bottom: 5vw;
	position: relative;
}
.recruit-topimg{
	margin: 0 0 0 auto;
	width: 85%;
}
.recruit-topimg img{
	object-fit: cover;
	object-position: top;
	width: 100%;
	height: 105vw;
}
.recruit-top-text{
	position: absolute;
	left: 5%;
	top: 3%;
	width: 6%;
}
.recruit-top-text2{
	margin: -10% auto 0;
	width: 90%;
}
.rec-inner {
	padding: 50px 7%;
  background: #eee;
}
.recruit-title,
.recruit-subtitle{
	text-align: center;
  font-size: 24px;
  letter-spacing: .1em;
  border-bottom: 2px solid;
  padding-bottom: 10px;
  line-height: 1.4;
}
.recruit-title{
	line-height: 1.8;
}
.recruit-title span{
	display: block;
  font-size: 14px;
  font-weight: 500;
}
.recruit-toptitle {
  border-bottom: none;
}
.recruit-catch{
  font-size: 14px;
  letter-spacing: .1em;
  line-height: 2;
  font-weight: bold;
  padding: 20px 3%;
  background: #eee;
  border-radius: 4px;
}
.recruit-subtitle{
	margin-top: 60px
}
.recruit-point-list{
	margin: 40px auto 0;
  flex-direction: column;
}
.recruit-point-list li:nth-child(n+2){
	margin-top: 40px;
}
.recruit-point{
	display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.recruit-point img{
	width: 100%;
}
.recruit-point-no{
	width: 25%;
  max-width: 90px;
  margin: 0 5%;
}
.recruit-point-img{
	width: 55%;
  max-width: 240px;
  padding: 0 5%;
}
.recruit-point-title{
	text-align: center;
  font-size: 22px;
  letter-spacing: .2em;
}
.recruit-point-text{
	width: 90%;
  margin: 15px auto 0;
  font-size: 14px;
  letter-spacing: .1em;
  line-height: 1.8;
  background: rgba(227, 223, 161, 0.7);
  padding: 15px 5%;
  border-radius: 4px;
}
.feature-list{
	margin: 60px auto 0;
	justify-content: center;
	flex-wrap: wrap;
}
.feature-list li{
	width: 40%;
  max-width: 170px;
  margin: 0 5%;
}
.feature-list li:nth-child(n+3){
	margin-top: 20px;
}
.tenmin-title{
	margin: 15px auto 0;
  text-align: center;
  width: 90%;
  max-width: 400px;
}
.motomeru-list{
	margin-top: 40px;
}
.motomeru-text{
	width: 90%;
  margin: 10px auto 0;
  font-size: 14px;
  letter-spacing: .1em;
  background: rgba(197, 210, 222, 0.7);
  padding: 15px 5%;
  border-radius: 4px;
}
.wantimg{
	width: 100%;
	margin: 80px auto 0;
}
.boshu-title span {
  font-size: 22px;
	background:linear-gradient(transparent 50%, #ebe8bd 50%);
}
.boshu-list{
	margin: 10px auto 0;
	justify-content: space-between;
}
.boshu-list li{
	width: 30%;
}
.btn-recruit span{
	font-size: 24px
}
.btn-recruit a {
  margin-top: 20px;
}
.recruit-thrd{
	padding-bottom: 50px;
}
.recruit-staff-title {
  font-size: 28px;
  margin-top: 80px;
  letter-spacing: .05em;
}
.recruit-staff-title .mgn{
	margin-left: 20px;
	display: inline-block;
}
.recruit-staff-list{
	margin: 40px auto 0;
	flex-wrap: wrap;
	justify-content: space-between;
}
.recruit-staff-list li{
	width: 46%;
	position: relative;
}
.recruit-staff-list li:nth-child(n+3){
	margin-top: 45px;
}
.recruit-staff-list li img{
	border-radius: 50%;
}
.recruit-staff-text{	
  position: absolute;
  bottom: 0;
  right: 0;  
}
.recruit-staff-text a{
	display: block;
	font-size: 13px;
  padding: 5px 0;
  width: 135px;
  text-align: center;
	background: #fff;
  border: 2px solid #0c0c0c;
  position: relative;
}
.recruit-staff-text a:after{
	content: "";
  background: url(../images/top/arrow-right.png) no-repeat;
  background-size: contain;
  width: 145px;
  height: 15px;
  display: block;
  position: absolute;
  left: 0;
  bottom: -25px;
}
.bdnon{
	border-bottom: none;
	padding-bottom: 0;
}
@media screen and (max-width: 320px){
.recruit-staff-title {
	letter-spacing: 0;
}
}
/* recruit-s */
.subP-recruit-s {
  padding-bottom: 50px;
}
.recruit-stitle{
	margin-top: 50px;
	text-align: center;
	font-size: 24px;
	font-weight: 500;
	letter-spacing: .1em;
}
.recruit-stitle::after{
	content: "";
	display: block;
	margin: 5px auto 0;
	background: #000;
	width: 120px;
	height: 2px;
}
.about-work-box{
	background: #e2dfa0;
	margin-top: 40px;
	padding: 40px 10%;
}
.about-work-box h2{
	text-align: center;
	font-size: 20px;
	letter-spacing: .05em;
}
.about-work-list{
	flex-direction: column;
}
.about-work-list li{
	display: flex;
	justify-content: space-between;
	margin-top: 30px;
	align-items: center;
}
.about-work-icon {
  width: 23%;
  margin-right: 5%;
}
.about-work-text{
	width: 72%;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: .1em;
}
.work-imp-box{
	margin-top: 60px;
}
.work-imp-box h2{
	text-align: center;
  font-size: 22px;
  letter-spacing: .05em;
}
.imp-list{
	flex-direction: column;
}
.imp-list li{
	margin-top: 30px;
	text-align: center;
	background: #c3d0dc;
	padding: 20px 5%;
	display: flex;
	align-items: center;
}
.imp-list li:nth-child(n+2){
	margin-top:	15px;
}
.imp-icon{
	width: 18%;
  max-width: 70px;
  margin-right: 5%;
}
.imp-icon img{
	width: 100%;
}
.imp-text{
	width: 77%;
	font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: .05em;
  text-align: left;
}
.oneday-title{
	margin-top: 60px;
	font-size: 24px;
	letter-spacing: .1em;
}
.oneday-title span{
	border-bottom: 10px solid #ffee00;
	padding-bottom: 3px;
}
.oneday-timeline{
	flex-wrap: wrap;
	width: 95%;
	margin: 40px auto 0;
}
.oneday-timeline dt{
	width: 25%;
	margin-right: 5%;
	font-size: 22px;
	text-align: right;
	position: relative;
	border-left: 2px solid #000;
	line-height: 1;
}
.oneday-timeline dt::before{
	content: "●";
	position: absolute;
	top: 6px;
	left: -9px;
	font-size: 15px;
	color: #bfcfdc;
	z-index: 2;
}
.oneday-timeline dt:first-child::after{
	content: "";
	position: absolute;
	top: 0;
	left: -5px;
	background: #fff;
	display: inline-block;
	width: 8px;
	height: 18px;
	z-index: 1;
}
.oneday-timeline dt:last-of-type::after{
	content: "";
  position: absolute;
  top: 15px;
  left: -5px;
  background: #fff;
  display: inline-block;
  width: 8px;
  height: 100%;
  z-index: 1;
}
.oneday-timeline dd{
	width: 70%;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: .05em;
	position: relative;
}
.oneday-timeline dd:nth-child(n+2){
	padding-bottom: 40px;
}
.oneday-img1{
	margin: 40px 0 0 auto;
	text-align: right;
	position: relative;
	width: 80%;
}
.oneday-img1 img{
	width: 100%;
}
.oneday-img1 span{
	max-width: 200px;
  position: absolute;
  bottom: 10px;
  left: -18%;
  width: 60%;
}
.oneday-text{
	margin-top: 30px;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 2px;
	line-height: 2;
	text-align: left;
}
.oneday-img2{
	margin: 60px auto 0;
}

/*  */
@media screen and (min-width: 415px){
.subP {
    padding-top: 120px;
}
.about-fst{
	background: url(../images/about/about-bg1sp.jpg) no-repeat center top 50px;
}
.contact-bg {
  background: url(../images/contact/contact-bg.svg) no-repeat left top 50px;
  background-size: cover;
}
.service-fst{
	background: url(../images/service/service-bg.svg) no-repeat left top 50px;
	background-size: 100% auto;
}

.point-title {
  font-size: 22px;
}
}

.more-btn.entry-btn a span{
	font-size: 16px;
}