@charset "utf-8";

/*----------------------------------------------------------------------------------------------------

  共通部分
  
----------------------------------------------------------------------------------------------------*/
.section-head {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  line-height: 1;
}

@media screen and (max-width:1280px) {
	.section-head {line-height: 1.4;}
}

@media screen and (max-width:1000px) {
	.section-head {line-height: 1;}
}

.section-head .ff-en {
  font-size: 20px;
}

.section-head h2 {
  width: 50%;
  font-size: 60px;
}

@media screen and (max-width:1000px) {
  .section-head {
    -ms-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
  }

  .section-head h2 {
    width: 100%;
    margin-top: 12px;
  }
}

@media screen and (max-width:750px) {
  .ua-sp .section-head .ff-en {
    font-size: 28px;
  }

  .ua-sp .section-head h2 {
    font-size: 74px;
  }
}

#top h2 {
  color: #4aa6db;
  font-size: 48px;
  text-align: center;
  display: block;
  margin: 0;
  padding: 0;
}

#top h2 span {
  display: block;
  font-size: 24px;
  color: #4aa6db;
  margin-bottom: 40px;
}


/*----------------------------------------------------------------------------------------------------

  main visual
  
----------------------------------------------------------------------------------------------------*/
.mv-area-wrap {
  position: relative;
  width: 100%;
  height: 800px;
  overflow: hidden;
  margin-bottom: 80px;
}

.mv-area-wrap:before {
  content: "";
  display: block;
  padding-top: 44.271%;
}

.mv-area {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
}

.mv-pc-img,
.mv-sp-img {
  position: relative;
  width: 100%;
}

#top .mv-pc-img,
#top .mv-sp-img {
  position: relative;
  width: 1920px;
}

.mv-sp-img {
  display: none;
}

.mv-area .mv-pc-img .mv-img01 {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  width: 57.135%;
}

.mv-area .mv-pc-img .mv-img02 {
  position: absolute;
  top: 0;
  left: 25%;
  z-index: 1;
  width: 63.437%;
}

.mv-area .mv-pc-img .mv-img03 {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  width: 34.792%;
}

#top .mv-area .mv-pc-img .mv-img01, #top .mv-area .mv-pc-img .mv-img02, #top .mv-area .mv-pc-img .mv-img03 {
  height: 800px !important;
  top: -4px !important;
}

.mv-area .mv-pc-img .mv-desc {
  position: absolute;
  top: 0;
  left: 2%;
  z-index: 4;
  width: 120%;
  margin-top: 19%;
  color: #fff;
  font-size: 74px;
  text-align: left;
  letter-spacing: 2pt;
  line-height: 1.6;
}

@media screen and (max-width:1700px) {
  .mv-area .mv-pc-img .mv-desc {
    font-size: 60px;
  }

  .mv-area .mv-pc-img .mv-img02 {
    top: 10px;
  }
}


@media screen and (max-width:1600px) {
  .mv-area .mv-pc-img .mv-img02 {
    top: 15px;
  }
}


@media screen and (max-width:1400px) {
  .mv-area .mv-pc-img .mv-desc {
    margin-top: 16%;
    font-size: 45px;
  }

  .mv-area .mv-pc-img .mv-img02 {
    top: 25px;
  }
}

@media screen and (max-width:1260px) {
  .mv-area .mv-pc-img .mv-img02 {
    top: 20px;
  }
}

@media screen and (max-width:1160px) {
  .mv-area .mv-pc-img .mv-img02 {
    top: 28px;
  }
}

@media screen and (max-width:1000px) {
  .mv-area-wrap:before {
    padding-top: 100%;
  }

  .mv-pc-img {
    display: none;
  }

  .mv-sp-img {
    display: block;
    height: 100%;
  }

  .mv-area .mv-sp-img .mv-img01 {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 73.067%;
  }

  .mv-area .mv-sp-img .mv-img02 {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    width: 48.5333%;
  }

  .mv-area .mv-sp-img .mv-img03 {
    position: absolute;
    top: 52%;
    right: 0;
    z-index: 1;
    width: 65.333%;
  }


@media screen and (max-width:1000px) {
  .mv-area .mv-sp-img .mv-img01 {
    top: 0;
    left: -146px;
  }

  .mv-area .mv-sp-img .mv-img02 {
    top: -11px;
    right: 544px;
  }

  .mv-area .mv-sp-img .mv-img03 {
    top: 52%;
    right: 346px;
  }
}


  .mv-area .mv-sp-img .mv-desc {
    position: absolute;
    top: 37%;
    left: 4%;
    z-index: 4;
    width: 120%;
    color: #fff;
    font-size: 55px;
    text-align: left;
    letter-spacing: 2pt;
    line-height: 1.6;
  }
}


@media screen and (max-width:750px) {
  .mv-area .mv-sp-img .mv-img01 {
    top: 0;
    left: -270px;
  }

  .mv-area .mv-sp-img .mv-img02 {
    top: -11px;
    right: 668px;
  }

  .mv-area .mv-sp-img .mv-img03 {
    top: 52%;
    right: 471px;
  }
}

.recruit-button {
  position: absolute;
  right: -15px;
  bottom: 100px;
  z-index: 10;
  transition: 0.2s;
}

.recruit-button:hover {
  right: 0;
}

@media screen and (max-width:1000px) {
  .recruit-button {
    bottom: 30px;
  }
}

#movie-gallery {
	width: 100%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 50px;
}

#movie-gallery .list {
	padding-left: 10px;
	padding-right: 10px;
	box-sizing: border-box;
}

#movie-gallery .list .thum {
	margin-bottom: 15px;
	position: relative;
}

#movie-gallery .list .thum a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition: 0.2s;
	background-repeat: no-repeat;
	background-position: center;
}

#movie-gallery .list .thum a:hover {
	background-color: rgba(0,0,0,0.4);
	background-image: url("../image/work/play.png");
	background-repeat: no-repeat;
	background-position: center;
}

#movie-gallery .list .thum img {
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}

#movie-gallery .list .title {
	color: #1999ff;
	font-weight: bold;
}

@media screen and (max-width:750px) {
	#movie-gallery .list .title {
		font-size: 20px;
	}
}

#movie-gallery .slick-dots {
	list-style: none;
	text-align: center;
	padding-top: 30px;
}

#movie-gallery .slick-dots li {
	display: inline-block;
	margin-left: 8px;
	margin-right: 8px;
	width: 16px;
	height: 16px;
	border-radius: 8px;
	background-color: #eeeeee;
}

#movie-gallery .slick-dots li:only-child {
	display: none;
}

#movie-gallery .slick-dots li:hover {
	cursor: pointer;
}

#movie-gallery .slick-dots li button {
	display: none;
}

#movie-gallery .slick-dots li.slick-active {
	background-color: #1999ff;
}

/*----------------------------------------------------------------------------------------------------

  お知らせ
  
----------------------------------------------------------------------------------------------------*/
#news {
  position: relative;
  width: 100%;
}

#news .news-contents-wrap {
  position: absolute;
  top: -130px;
  right: 0;
  z-index: 4;
  /*width: 61.5625%;*/
  min-width: 61.5625%;
  padding: 0 30px 0 55px;
  /*
  width: 100%;
  max-width: 1182px;
  padding: 0 55px;
  */
  box-sizing: border-box;
  background-color: rgb(var(--cl_main), 1);
  border-top-left-radius: 15px;
  border-bottom-left-radius: 15px;
  display: flex;
  justify-content: space-between;
}





#news .news-contents {
  padding: 36px 0 20px;
  width: calc(100% - 90px);
  /* width: 100%; */
  max-width: 972px;
}

#news .news-hd {
  color: #fff;
  font-size: 45px;
  margin: 0;
  padding: 0;
  line-height: 1;
  letter-spacing: 2pt;
}

#news .news-list {
  display: flex;
  /*justify-content: space-between;*/
  width: calc(100% + 36px);
  margin-top: 36px;
  box-sizing: border-box;
}

#news .news-list-box {
  width: calc(33.33% - 35px);
  color: #fff;
  text-decoration: none;
  transition: .2s all;
  margin-right: 35px;
}

#news .news-list-box:hover {
  filter: brightness(1.2);
}


#news .news-list-box.no-link:hover {
  filter:none;
}

#news .news-list-img {
  display: block;
  margin-bottom: .5em;
  text-align: center;
  position: relative;
  width: 100%;
  overflow: hidden;
}

#news .news-list-img::before {
    content: "";
    display: block;
    padding-top: 60%;
}
#news .news-list-img div {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	text-align: center;
	background-color: #f0f0f0;
}

#news .news-list-img img{
	width: 100%;
    height: 100%;
    object-fit: cover;

}


#news .news-list-title {
  overflow: hidden;
  text-overflow: ellipsis;
/*  white-space: nowrap;*/
}

/*#news .news-list-title::before {
  content: "ー";
}*/

#news .news-list-btn {
  padding: 0 1em;
  border-left: 2px solid #fff;
  border-right: 2px solid #fff;
  background-image: url("../image/top/news-btn-arrow.png");
  background-position: center 80%;
  background-color: #5eb0df;
  color: #fff;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  line-height: 1;
  transition: .2s all;
}

#news .news-list-btn:hover {
  background-position: center 85%;
  background-color: #6bbceb;
}

#news .scroll-ap {
  display: none;
}



@media screen and (max-width:1300px) {
	  #news .news-contents-wrap {
	  width: calc(100% - 150px);
	   padding: 0 30px 0 30px;
	  }

	#news .news-list {
		width: calc(100% + 30px);
	}

	#news .news-list-box {
		width: calc(33.33% - 30px);
		margin-right: 30px;
	}
	
	#news .news-list-title {
	  font-size: 95%;
	}
}

@media screen and (max-width:1100px) {
	
	
/*	#news .news-list-box {
	width: calc(33.33% - 15px);
	}
	*/
	
	#news .news-list {
		width: calc(100% + 20px);
	}

	#news .news-list-box {
		width: calc(33.33% - 20px);
		margin-right: 20px;
	}	
	
	
	#news .news-list-title{
	font-size: 90%;
	}
	
}

@media screen and (max-width:1000px) {
  #news {
    width: 100%;
    top: -40px;
    z-index: 4;
  }

  #news .news-contents-wrap {
    position: static;
    width: 100%;
    padding: 0 30px;
    margin-left: 0;
    border-radius: 0;
    flex-wrap: wrap;
  }

  #news .news-contents {
      width: 100%;
    padding: 25px 0;
    margin-right: 0;
  }

  #news .news-hd {
    font-size: 38px;
  }

  #news .news-list {
    margin-top: 25px;
  }

	#news .news-list {
		width: calc(100% + 15px);
	}

	#news .news-list-box {
		width: calc(33.33% - 15px);
		margin-right: 15px;
	}		

/*	
	#news .news-list-box {
    width: calc(33.33% - 10px);
  }	*/

  	#news .news-list-title{
	/*white-space: normal;*/
		line-height: 1.6;
		font-size: 95%;
	}	
	
  #news .news-list-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 165px;
    height: 50px;
    border: 1px solid #fff;
    margin: 0 0 25px auto;
    background-image: none;
    -ms-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
  }
	
	

}

@media screen and (max-width:750px) {
  #news .news-contents-wrap {
    padding: 0;
    position: relative;
  }

  #news .news-hd {
    margin-left: 30px;
  }

  #news .news-list {
    justify-content: flex-start;
    width: calc(100% - 30px);
    padding-bottom: 10px;
    margin-left: 30px;
    overflow-x: auto;
  }

  #news .news-list::-webkit-scrollbar {
    height: 10px;
  }

  #news .news-list::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, .8);
    border-radius: 7px;
  }

  #news .news-list::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, .5);
    border-radius: 7px;
  }

  #news .news-list-box {
    display: block;
    width: 300px;
    margin-right: 23px;
  }


  #news .news-list-box img {
    width: 300px;
  }

  #news .news-list-btn {
    margin-right: 30px;
  }

  #news .scroll-ap {
    display: block;
    position: absolute;
    top: 30px;
    right: 80px;
    color: #cdd6e2;
  }

  #news .scroll-ap img {
    position: absolute;
    top: 10px;
    right: -50px;
    animation: arrowmove 1s ease-in-out infinite;
  }

  .ua-sp #news .news-hd {
    font-size: 48px;
  }

  .ua-sp #news .news-list-btn {
    width: 200px;
    height: 70px;
  }

  .ua-sp #news .news-list::-webkit-scrollbar {
    display: none;
  }

  .ua-sp #news .scroll-ap img {
    top: 18px;
  }
}

@keyframes arrowmove {
  0% {
    right: -50px;
  }

  50% {
    right: -60px;
  }

  100% {
    right: -50px;
  }
}

/*----------------------------------------------------------------------------------------------------

  私たちの目指す姿
  
----------------------------------------------------------------------------------------------------*/
#about-us {
  padding-top: 80px;
  padding-bottom: 100px;
  position: relative;
}

#about-us .about-us-wrap {
  width: 89.0625%;
  display: flex;
  justify-content: space-between;
  margin-left: auto;
  margin-right: 0;
}

#about-us .section-head {
  width: 150px;
  padding-right: 60px;
  box-sizing: border-box;
}

#about-us .about-us-content {
  position: relative;
  width: calc(100% - 150px);
  height: 690px;
  background-image: url("../image/top/about-us-img.jpg");
  background-repeat: no-repeat;
  background-position: 164px top;
}

#about-us .about-us-desc {
  position: absolute;
  top: 35%;
  left: 0;
  z-index: 2;
}

#about-us .about-us-desc .about-us-catch {
  margin-bottom: 74px;
}

#about-us .about-us-desc .about-us-catch span {
  display: inline-block;
  background-color: #202020;
  line-height: 1;
  padding: 1.5rem 2.5rem;
  margin-top: 1rem;
  font-size: 49px;
}

#about-us .about-us-desc .p-btn {
  margin-left: 114px;
}

@media screen and (max-width:1500px) {
  #about-us .about-us-wrap {
    width: calc(100% - 40px);
    margin-left: 40px;
  }
}

@media screen and (max-width:1000px) {
  #about-us {
    padding-top: 75px;
    padding-bottom: 0;
  }

  #about-us .about-us-wrap {
    width: calc(100% - 25px);
    margin-left: 25px;
    flex-wrap: wrap;
  }

  #about-us .section-head {
    width: 100%;
    padding-right: 0;
  }

  #about-us .about-us-content {
    width: 100%;
    background-position: 115px center;
    margin-top: 75px;
  }

  #about-us .about-us-desc {
    top: 15%;
    left: 0;
  }

  #about-us .about-us-desc .about-us-catch span {
    font-size: 40px;
  }

  #about-us .about-us-desc .p-btn {
    margin-left: 0;
  }
}

@media screen and (max-width:750px) {
  .ua-sp #about-us .about-us-desc .about-us-catch span {
    font-size: 49px;
  }
}

#top-company {
  margin-bottom: 120px;
}

#top-company a img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

#top-company .mv {
  background-image: url("../image/top/company_button.png");
  background-position: center top;
  background-repeat: no-repeat;
  height: 470px;
  position: relative;
}

@media screen and (max-width:1040px) {
  #top-company .mv {
    background-position: top right;
  }
}

#top-company .mv .button a {
  width: 473px;
  height: 80px;
  display: block;
  line-height: 78px;
  color: #ffffff;
  text-align: center;
  text-indent: -15px;
  font-size: 36px;
  border-radius: 40px;
  text-decoration: none;
  background-color: #1999ff;
  position: absolute;
  left: 50%;
  margin-left: -236px;
  bottom: -38px;
  overflow: hidden;
}

#top-company .mv .button a:hover {
  background-color: #48aeff;
}

#top-company .mv .button a:after {
  content: "";
  background-color: #ffffff;
  width: 50px;
  height: 3px;
  display: block;
  position: absolute;
  right: 0;
  top: 38px;
  transition: 0.2s;
}


#top-company .mv .button a:hover:after {
  right: -10px;
}



#top-philosophy {
  margin-bottom: 120px;
}

#top-philosophy .mv {
  background-image: url("../image/top/philosophy-back.jpg");
  background-position: center top;
  background-repeat: no-repeat;
  height: 582px;
  display: block;
  position: relative;
}

#top-philosophy .mv .button a {
  width: 473px;
  height: 80px;
  display: block;
  line-height: 78px;
  color: #ffffff;
  text-align: center;
  text-indent: -15px;
  font-size: 36px;
  border-radius: 40px;
  text-decoration: none;
  background-color: #1999ff;
  position: absolute;
  left: 50%;
  margin-left: -236px;
  bottom: -38px;
  overflow: hidden;
}

#top-philosophy .mv .button a:hover {
  background-color: #48aeff;
}

#top-philosophy .mv .button a:after {
  content: "";
  background-color: #ffffff;
  width: 50px;
  height: 3px;
  display: block;
  position: absolute;
  right: 0;
  top: 38px;
  transition: 0.2s;
}


#top-philosophy .mv .button a:hover:after {
  right: -10px;
}

/*----------------------------------------------------------------------------------------------------

  業務紹介
  
----------------------------------------------------------------------------------------------------*/
#business {
  width: 100%;
}

#business.renewal {
  padding-top: 118px;
  background-color: #dcebf4;
  padding-bottom: 30px;
}

#business .business-wrap {
  display: flex;
  justify-content: flex-end;
  width: calc(100% - 90px);
  padding: 45px 70px;
  box-sizing: border-box;
  background-color: #dcebf4;
  border-top-right-radius: 15px;
  border-bottom-right-radius: 15px;
}

#business.renewal .business-wrap {
  width: 100%;
  max-width: 1440px;
  display: block;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
}

@media screen and (max-width:1450px) {
  #business.renewal .business-wrap {
    box-sizing: border-box;
    padding-left: 30px;
    padding-right: 30px;
  }
}

#business .section-head {
  order: 2;
  width: 150px;
}

#business .business-list-wrap {
  order: 1;
  display: flex;
  justify-content: space-between;
  width: calc(100% - 150px);
}

#business.renewal .business-list-wrap {
  display: block;
  width: calc(100% + 50px);
}

@media screen and (max-width:1450px) {
  #business.renewal .business-list-wrap {
    width: calc(100% + 30px);
  }
}

@media screen and (max-width:850px) {
  #business.renewal .business-list-wrap {
    display: block;
    width: 100%;
  }
}

#business.renewal .business-list-wrap:after {
  content: "";
  clear: both;
  display: block;
}

#business .business-list {
  position: relative;
  width: calc(33.33% - 33px);
  color: #202020;
  text-decoration: none;
  transition: .2s ease-in;
}

#business.renewal .business-list-wrap .business-list {
  width: calc(33.333% - 50px);
  margin-right: 50px;
  margin-bottom: 50px;
  float: left;
}

@media screen and (max-width:1450px) {
  #business.renewal .business-list-wrap .business-list {
    width: calc(33.333% - 30px);
    margin-right: 30px;
    margin-bottom: 30px;
  }
}

@media screen and (max-width:850px) {
  #business.renewal .business-list-wrap .business-list {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    float: none;
  }
}

#business .grayscale {
  filter: grayscale(100);
}

#business .business-list-title {
  position: absolute;
  left: 0;
  top: 50%;
  padding: 10px 20px;
  margin: 0;
  color: #fff;
  background-color: rgba(38, 38, 38, 1);
  line-height: 1.2;
  transition: .6s;
}

#business .grayscale .business-list-title {
  color: #202020;
  background-color: rgba(38, 38, 38, 0);
}

#business .business-list-title .ff-en {
  font-size: 20px;
  font-weight: 500;
}

#business .business-list-title .ff-kazesawa {
  display: block;
  margin-right: -1em;
  font-size: 40px;
}

@media screen and (max-width:1500px) {
  #business .business-wrap {
    width: calc(100% - 40px);
    padding: 30px 40px;
  }

  #business .section-head {
    width: 110px;
  }

  #business .business-list-wrap {
    width: calc(100% - 110px);
  }

  #business .business-list {
    width: calc(33.33% - 20px);
  }

  #business .business-list-title .ff-kazesawa {
    font-size: 36px;
  }
}

@media screen and (max-width:1000px) {

  #business .business-wrap {
    width: calc(100% - 100px);
    border-radius: 15px;
    padding: 60px 30px;
    margin: 0 auto;
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  #business .section-head {
    order: 1;
    width: 100%;
  }

  #business .section-head h2 {
    width: 100%;
  }

  #business .business-list-wrap {
    order: 2;
    width: 100%;
    margin-top: 55px;
  }

  #business .business-list {
    width: calc(33.33% - 14px);
  }

  #business .business-list-title .ff-en {
    font-size: 15px;
  }

  #business .business-list-title .ff-kazesawa {
    font-size: 30px;
  }
}

@media screen and (max-width:800px) {
  #business .business-list-wrap {
    flex-wrap: wrap;
    align-items: center;
    max-width: 550px;
    margin-left: auto;
    margin-right: auto;
  }

  #business .business-list {
    width: 100%;
    margin-top: 35px;
  }

  #business .business-list:first-child {
    margin-top: 0;
  }

  #business .business-list-title {
    top: 50%;
  }

  #business .business-list-title .ff-en {
    font-size: 20px;
  }

  #business .business-list-title .ff-kazesawa {
    font-size: 40px;
    width: 130%;
  }
}

@media screen and (max-width:750px) {
  .ua-sp #business .business-list-title .ff-en {
    font-size: 26px;
  }

  .ua-sp #business .business-list-title .ff-kazesawa {
    font-size: 49px;
  }
}


/*----------------------------------------------------------------------------------------------------

  会社概要
  
----------------------------------------------------------------------------------------------------*/
#company {
  width: 100%;
  margin-top: 90px;
  position: relative;
}

#company .company-bg {
  position: absolute;
  left: 40%;
  top: 0;
  z-index: 1;
  width: 60%;
  height: 824px;
  background-color: #f0f0f0;
  border-top-left-radius: 15px;
  border-bottom-left-radius: 15px;
}

#company .company-bg::before {
  content: "";
  display: block;
  padding-top: 91.555%;
}

#recruit .recruit-contents-inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#company .inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 75px 0 120px;
}

#company .section-head {
  position: absolute;
  left: -150px;
}

#company .company-guide {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 30px;
}

#company .company-guide-link {
  position: relative;
  text-decoration: none;
  transition: .2s all;
  overflow: hidden;
}

#company .company-guide-link:hover {
  filter: brightness(1.1);
}

#company .company-guide-link .company-guide-namebg {
  background-color: rgb(var(--cl_main), .9);
  mix-blend-mode: multiply;
}

#company .company-guide-link .company-guide-name {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 3pt;
}

#company .company-guide-link .company-guide-name::after {
  content: "";
  position: absolute;
  top: calc(50% + 1em);
  left: calc(50% - 15px);
  display: block;
  width: 30px;
  height: 2px;
  background-color: #d43f63;
}

#company .company-guide-link01 {
  grid-column: 1/3;
  grid-row: 1/2;
}

#company .company-guide-link01 .company-guide-namebg,
#company .company-guide-link01 .company-guide-name {
  position: absolute;
  top: 0;
  right: 0;
  width: 384px;
  height: 100%;
}

#company .company-guide-link02 {
  grid-column: 1/2;
  grid-row: 2/3;
}

#company .company-guide-link02 .company-guide-namebg,
#company .company-guide-link02 .company-guide-name {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 110px;
}

#company .company-guide-link03 {
  grid-column: 2/3;
  grid-row: 2/3;
}

#company .company-guide-link03 .company-guide-namebg,
#company .company-guide-link03 .company-guide-name {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 110px;
}

@media screen and (max-width:1640px) {
  #company .inner {
    width: calc(100% - 140px);
    max-width: 1350px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
  }

  #company .section-head {
    position: static;
    width: 150px;
    padding-right: 60px;
    box-sizing: border-box;
  }

  #company .company-guide {
    width: calc(100% - 150px);
  }
}

@media screen and (max-width:1500px) {
  #company .company-bg {
    height: auto;
  }
}

@media screen and (max-width:1000px) {
  #company {
    background-color: #f0f0f0;
    margin-top: 80px;
  }

  #company .company-bg {
    display: none;
  }

  #company .inner {
    flex-wrap: wrap;
    width: calc(100% - 100px);
    padding: 45px 0 65px;
  }

  #company .section-head {
    width: 100%;
    padding-right: 0;
  }

  #company .company-guide {
    width: 100%;
    padding: 0;
    margin-top: 50px;
    gap: 30px;
  }

  #company .company-guide-link .company-guide-name {
    font-size: 24px;
  }

  #company .company-guide-link01 .company-guide-namebg,
  #company .company-guide-link01 .company-guide-name {
    width: 50%;
  }

  #company .company-guide-link02 .company-guide-namebg,
  #company .company-guide-link02 .company-guide-name {
    height: 50%;
  }

  #company .company-guide-link03 .company-guide-namebg,
  #company .company-guide-link03 .company-guide-name {
    height: 50%;
  }
}

@media screen and (max-width:750px) {
  .ua-sp #company .company-guide-link .company-guide-name {
    font-size: 30px;
  }
}


/*----------------------------------------------------------------------------------------------------

  採用情報
  
----------------------------------------------------------------------------------------------------*/
#recruit {
  width: 100%;
  margin: 100px 0;
}

#recruit .recruit-wrap {
  width: 100%;
  max-width: 1700px;
  display: flex;
  justify-content: space-between;
}

#recruit.renewal .recruit-wrap {
  display: block;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  height: 600px;
}

@media screen and (max-width:1200px) {
  #recruit.renewal .recruit-wrap {
    height: inherit;
  }
}

#recruit .section-head {
  order: 2;
  width: 140px;
}

#recruit .recruit-contents {
  order: 1;
  width: calc(100% - 140px);
  position: relative;
}

#recruit.renewal .recruit-contents {
  width: calc(100% - 140px);
  margin-left: auto;
  margin-right: auto;
  height: 600px;
}

@media screen and (max-width:1200px) {
  #recruit.renewal .recruit-contents {
    height: 1000px;
  }
}

#recruit .recruit-contents::before {
  content: "";
  display: block;
  padding-top: 45.128%;
}

#recruit .recruit-contents-inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

#recruit .recruit-pc-img {
  position: relative;
  width: 1465px;
  height: 100%;
  background-color: #2A6DAF;
}

#recruit .recruit-pc-img01 {
  position: absolute;
  top: 0%;
  left: 0%;
  width: 66.539%;
  z-index: 1;
}

#recruit .recruit-pc-img02 {
  position: absolute;
  top: 0%;
  right: 0%;
  width: 46.154%;
}

#recruit .recruit-pc-img03 {
  position: absolute;
  bottom: 0%;
  left: 0%;
  width: 54.103%;
  z-index: 3;
}

#recruit .recruit-pc-img04 {
  position: absolute;
  bottom: 0%;
  right: 0%;
  width: 58.269%;
  z-index: 2;
}

#recruit .recruit-pc-img05 {
  position: absolute;
  top: -16.5%;
  left: 0%;
  width: 48.077%;
  z-index: 2;
}

#recruit .recruit-pc-img06 {
  position: absolute;
  top: 0%;
  right: 0%;
  width: 56.025%;
  z-index: 3;
}

#recruit .recruit-pc-img07 {
  position: absolute;
  bottom: 0%;
  left: 0%;
  width: 36.346%;
  z-index: 4;
}

#recruit .recruit-pc-img08 {
  position: absolute;
  bottom: 0%;
  /*right: 3%;*/
  right: 2.3%;
  width: 43.718%;
  z-index: 3;
}

#recruit .recruit-pc-img09 {
  position: absolute;
  bottom: 0%;
  right: 0%;
  width: 24.551%;
  z-index: 4;
}

#recruit .recruit-sp-img {
  display: none;
}

#recruit .recruit-catch {
  position: absolute;
  top: 25%;
  left: 10%;
  z-index: 5;
  list-style: none;
  display: flex;
  justify-content: space-between;
  width: 360px;
}

#recruit .recruit-catch li {
  width: calc(25% - 30px);
}

#recruit .recruit-catch li:last-child {
  margin-right: 0;
}

#recruit .recruit-btn {
  position: absolute;
  bottom: 35px;
  right: -120px;
  z-index: 5;
}

#recruit.renewal .recruit-btn {
  left: 50%;
  bottom: 75px;
  margin-left: -193px;
}

@media screen and (max-width:1500px) {
  #recruit.renewal .recruit-btn {
    top: auto;
    bottom: 50px;
  }
}

@media screen and (max-width:1000px) {
  #recruit.renewal .recruit-btn {
    margin-left: 0;
    left: 60px;
  }
}

@media screen and (max-width:850px) {
  #recruit.renewal .recruit-btn {
    bottom: 180px;
  }
}

.recruit_flag {
  position: absolute;
  left: 60px;
  bottom: 80px;
  z-index: 10;
}

@media screen and (max-width:1200px) {
  .recruit_flag {
    bottom: 180px;
  }
}

@media screen and (max-width:850px) {
  .recruit_flag {
    bottom: 310px;
  }
}

@media screen and (max-width:1780px) {
  #recruit .recruit-wrap {
    width: calc(100% - 80px);
    max-width: inherit;
    margin-right: 80px;
  }
}

@media screen and (max-width:1300px) {
  #recruit .recruit-catch {
    width: 260px;
  }

  #recruit .recruit-catch li {
    width: calc(25% - 20px);
  }
}

@media screen and (max-width:1200px) {
  #recruit {
    margin-top: 70px;
  }

  #recruit .recruit-wrap {
    display: block;
    position: relative;
    width: 100%;
    margin-right: 0;
  }

  #recruit .section-head {
    width: calc(100% - 50px);
    margin-left: 50px;
  }

  #recruit .recruit-contents {
    width: 100%;
    position: relative;
  }

  #recruit .recruit-contents::before {
    padding-top: 122%;
  }

  #recruit .recruit-pc-img {
    display: none;
  }

  #recruit .recruit-sp-img {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    background-color: #2A6DAF;
    margin-top: 15%;
  }

@media screen and (max-width:1200px) {
  #recruit .recruit-sp-img {
    width: 820px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media screen and (max-width:900px) {
  #recruit .recruit-sp-img {
    transform-origin: left top;
    transform: scale(0.8, 0.8);
  }
}

  #recruit .recruit-sp-img01 {
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    z-index: 1;
  }

  #recruit .recruit-sp-img02 {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 47.111%;
  }

  #recruit .recruit-sp-img03 {
    position: absolute;
    top: 11.4%;
    right: 0;
    width: 53.155%;
    z-index: 3;
  }

  #recruit .recruit-sp-img04 {
    position: absolute;
    bottom: 0%;
    left: 0%;
    width: 100%;
    z-index: 4;
  }

  #recruit .recruit-sp-img05 {
    position: absolute;
    top: -10.9%;
    left: 0%;
    width: 75.555%;
    z-index: 1;
  }

  #recruit .recruit-sp-img06 {
    position: absolute;
    bottom: 0%;
    /*right: 5%;*/
	right: 0;
    width: 71.911%;
    z-index: 5;
  }

  #recruit .recruit-sp-img07 {
    position: absolute;
    top: 0%;
    right: 0%;
    width: 25.688%;
    z-index: 4;
  }

  #recruit .recruit-sp-img08 {
    position: absolute;
    bottom: 0%;
    left: 0%;
    width: 75.555%;
    z-index: 5;
  }

  #recruit .recruit-catch {
    position: absolute;
    top: 33%;
    left: 13%;
    width: 30.666%;
  }

  #recruit .recruit-catch li {
    width: 21%;
  }

  #recruit .recruit-btn {
    position: absolute;
    bottom: auto;
    top: -65px;
    right: 30px;
  }
}