@charset "UTF-8";
/* ----------------------------------------------------------------
	#recruit top
---------------------------------------------------------------- */

/* ------------------------------------
 .kv
------------------------------------- */
.kv {
	max-width: 100vw;
  height: 100svh;
	position: relative;
	overflow: hidden;
}
.kv .hero {
  height: calc(100svh - 3.03vw);
  width: 93.94vw;
  margin: 0 auto;
}
.kv .hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0 0 20px 20px;
}
.kv h1 {
  position: absolute;
  bottom: 5.76vw;
  left: 8.79vw;
  z-index: 5;
  font-size: 8vw;
  font-weight: 700;
  color: #fff;
  line-height: 1.15;
  letter-spacing: 0.1em;
}
.kv h1 span {
  display: block;
  font-size: 3.88vw;
  font-weight: 600;
  letter-spacing: 0.01em;
}

/* Smartphone
----------------------------------------------- */
@media print,screen and (max-width: 999px) {
  .kv {
    max-width: inherit;
    width: 100%;
    height: 106.33vw;
  }
  .kv .hero {
    height: 100%;
    width: 94.94%;
  }
  .kv .hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0 0 10px 10px;
  }
  .kv h1 {
    bottom: 5.7vw;
    left: 5.06vw;
    font-size: 15.7vw;
  }
  .kv h1 span {
    font-size: 8.1vw;
  }
}/* Smartphone End */


/* ------------------------------------
 .lead
------------------------------------- */
.lead {
  text-align: center;
  padding: 0 3.03vw;
  margin: 6.36vw 0 13.33vw;
}
.lead h2 {
  display: inline;
  font-size: 2.91vw;
  color: #fff;
  font-weight: 900;
  border-bottom: 4px solid #fff;
  line-height: 2.25;
}

/* Smartphone
----------------------------------------------- */
@media print,screen and (max-width: 999px) {
  .lead {
    padding: 0 5.06vw;
    margin: 11.39vw 0 25.32vw;
  }
  .lead h2 {
    font-size: 6.33vw;
    border-bottom: 1.01vw solid #fff;
    line-height: 2.25;
  }
}/* Smartphone End */


/* ------------------------------------
 .merit
------------------------------------- */
.merit {
  width: 100%;
}
.merit h2 {
  text-align: center;
  font-size: 4.12vw;
  font-weight: 900;
  color: #fff;
  padding-bottom: 1.82vw;
  line-height: 1.1;
}
.merit .cont {
  position: relative;
  width: 100%;
  border-top: 4px solid #fff;
}
.merit .cont ul {
  position: relative;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	flex-wrap: wrap;
	width: 100%;
	margin: 0 auto;
}
.merit .cont ul::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: rgba(255, 255, 255, 0.5);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 6;
}
.merit .cont ul li {
  position: relative;
}
.merit .cont ul:nth-child(odd) li:first-child {
  width: 46.4%;
}
.merit .cont ul:nth-child(even) li:first-child {
  width: 46.4%;
}
.merit .cont ul:nth-child(odd) li:last-child {
  width: 53.6%;
}
.merit .cont ul:nth-child(even) li:last-child {
  width: 53.6%;
}
.merit .cont ul:nth-child(even) {
  display: flex;
  flex-wrap: column;
}
.merit .cont ul:nth-child(even) li:first-child {
  order: 2;
}
.merit .cont ul:nth-child(even) li:last-child {
  order: 1;
}
.merit .cont ul li:last-child {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction:column;
  padding-right: 8.79vw;
  text-align: center;
}
.merit .cont ul:nth-child(even) li:last-child {
  padding-right: 0;
  padding-left: 8.79vw;
}
.merit .cont ul li dl {
  position: relative;
  z-index: 3;
}
.merit .cont ul li dl dt {
  font-size: 2.91vw;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
}
.merit .cont ul li dl dd {
  font-size: 1.94vw;
  font-weight: 700;
  color: #fff;
}
.merit .cont ul li span {
  position: absolute;
  top: 0;
  right: 8.48vw;
  font-size: 19.39vw;
  font-weight: 700;
  opacity: 0.1;
  color: #fff;
  line-height: 1.0;
  z-index: 1;
}
.merit .cont ul:nth-child(even) li span {
  right: inherit;
  left: 8.48vw;
}
.merit .cont .ani {
  position: absolute;
  top: -16.24vw;
  right: 6.52vw;
  width: 14.06vw;
  height: 16vw;
  z-index: -1;
}

/* Smartphone
----------------------------------------------- */
@media print,screen and (max-width: 999px) {
  .merit h2 {
    font-size: 6.84vw;
    line-height: 1.25;
    padding-bottom: 4.43vw;
  }
  .merit .cont {
    border-top: 2px solid #fff;
  }
  .merit .cont ul {
    padding: 12.66vw 0 12.66vw;
  }
  .merit .cont ul::after {
    height: 1px;
  }
  .merit .cont ul li {
    margin: 0 auto;
  }
  .merit .cont ul:nth-child(odd) li:first-child {
    width: 84.81%;
  }
  .merit .cont ul:nth-child(even) li:first-child {
    width: 84.81%;
  }
  .merit .cont ul:nth-child(odd) li:last-child {
    width: 84.81%;
    padding: 15.19vw 0 0;
  }
  .merit .cont ul:nth-child(even) li:last-child {
    width: 84.81%;
    padding: 15.19vw 0 0;
  }
  .merit .cont ul:nth-child(even) {
    display: flex;
    flex-wrap: column;
  }
  .merit .cont ul:nth-child(even) li:first-child {
    order: 1;
  }
  .merit .cont ul:nth-child(even) li:last-child {
    order: 2;
  }
  .merit .cont ul li:last-child {
    display: inherit;
    align-items: flex-start;
    flex-direction:column;
    padding-right: 0;
    text-align: left;
  }
  .merit .cont ul:nth-child(even) li:last-child {
    padding-left: 0;
  }
  .merit .cont ul li dl {
    position: relative;
    z-index: 3;
  }
  .merit .cont ul li dl dt {
    font-size: 6.08vw;
  }
  .merit .cont ul li dl dd {
    font-size: 4.05vw;
  }
  .merit .cont ul li span {
    position: absolute;
    top: 0;
    right: 0vw;
    font-size: 40.51vw;
  }
  .merit .cont ul:nth-child(even) li span {
    right: 0vw;
    left: inherit;
  }
  .merit .cont .ani {
    top: -36.46vw;
    right: 0vw;
    width: 23.42vw;
    height: 36.46vw;
  }
}/* Smartphone End */


/* ------------------------------------
 .message
------------------------------------- */
.message {
  width: 100%;
  position: relative;
  background: #e8f7f9;
  padding: 9.7vw 0 9.7vw;
}
.message h2 {
  text-align: center;
  font-size: 4.12vw;
  font-weight: 900;
  margin-bottom: 2.24vw;
  position: relative;
  z-index: 2;
}
.message .bgtitle {
  position: absolute;
  top: 7.6vw;
  left: 50%;
  margin-left: -36.97vw;
  font-size: 10.91vw;
  font-weight: 700;
  opacity: 0.04;
  z-index: 0;
  color: #0d62aa;
}
.message ul {
	display: flex;
	flex-direction: row;
	justify-content: center;
	flex-wrap: wrap;
	width: 77.58vw;
	margin: 0 auto;
  position: relative;
  z-index: 2;
}
.message ul li {
  width: 45%;
}
.message ul li img {
  border-radius: 10px;
}
.message ul li:last-child {
  width: 55%;
  padding-left: 3.03vw;
}
.message ul li h3 {
  font-size: 2.79vw;
  font-weight: 900;
  line-height: 1.5;
  color: #0d62aa;
  letter-spacing: 0.01em;
  margin-bottom: 1.02vw;
}
.message ul li .name {
  font-size: 1.7vw;
  font-weight: 700;
  color: #0d62aa;
  letter-spacing: 0.01em;
  margin-bottom: 1.82vw;
}

/* Smartphone
----------------------------------------------- */
@media print,screen and (max-width: 999px) {
  .message {
    padding: 13.92vw 0 27.85vw;
  }
  .message h2 {
    font-size: 6.84vw;
    margin-bottom: 9.37vw;
    line-height: 1.1;
  }
  .message .bgtitle {
    top: 9.37vw;
    margin-left: -40vw;
    font-size: 17.72vw;
    text-align: center;
    line-height: 0.7;
  }
  .message ul {
    width: 84.81%;
  }
  .message ul li {
    width: 100%;
    margin-bottom: 6.33vw;
  }
  .message ul li:last-child {
    width: 100%;
    padding-left: 0;
    margin-bottom: 0;
  }
  .message ul li h3 {
    font-size: 6.08vw;
    margin-bottom: 4.05vw;
  }
  .message ul li .name {
    font-size: 4.05vw;
    margin-bottom: 11.65vw;
  }
}/* Smartphone End */


/* ------------------------------------
 .works
------------------------------------- */
.works {
  position: relative;
  width: 100%;
  padding: 4.85vw 0 4.85vw;
}
.works .wrap {
  position: relative;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 82.42vw;
	margin: 0 auto;
}
.works .wrap .box {
  position: relative;
  width: 38.79vw;
  background: #fff;
  padding: 4.85vw;
  border-radius: 10px;
}
.works .wrap .box .bgtitle {
  position: absolute;
  top: -1.82vw;
  left: 0;
  font-size: 8vw;
  font-weight: 700;
  line-height: 1.0;
  color: #0d62aa;
  opacity: 0.03;
  z-index: 1;
}
.works .wrap .box .bgtitle.bgtitle02 {
  top: inherit;
  left: inherit;
  right: 0;
  bottom: -0.91vw;
}
.works .wrap .box .bgtitle.bgtitle03 {
  left: inherit;
  right: 0;
}
.works .wrap .box ul {
  width: 100%;
  position: relative;
  z-index: 3;
}
.works .wrap .box ul li {
  width: 100%;
}
.works .wrap .box ul li img {
  position: relative;
  width: 100%;
  margin-bottom: 2.42vw;
  z-index: 3;
}
.works .wrap .box ul li h3 {
  font-size: 3.27vw;
  font-weight: 900;
  text-align: center;
  line-height: 1.1;
  margin-bottom: 1.82vw;
}
.works .wrap .box ul li .sub2 {
  font-size:max(1.09vw,18px);
  font-weight: 700;
  line-height: 2;
  margin-bottom: 3.03vw;
  color: #0d62aa;
} 
.works .wrap .box ul li .btnR {
  margin: 0 auto;
}
.works .wrap .box:first-child {
  width: 100%;
  margin-bottom: 4.85vw;
}
.works .wrap .box:first-child ul {
  display: flex;
}
.works .wrap .box:first-child ul li:first-child {
  order: 2;
  width: 60%;
}
.works .wrap .box:first-child ul li:last-child {
  order: 1;
  width: 40%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction:column;
}
.works .wrap .box:first-child ul li img {
  margin-bottom: 0;
}
.works .wrap .box:first-child ul li .sub {
  font-size: 2.18vw;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 2.42vw;
  color: #0d62aa;
} 
.works .wrap .box:first-child ul li .ani01 {
  position: absolute;
  width: 14.3vw;
  height: 16.42vw;
  top: -16.02vw;
  right: -1.21vw;
  z-index: 1;
}
.works .ani02 {
  position: absolute;
  width: 20.61vw;
  height: 13.82vw;
  bottom: 0;
  left: 3.03vw;
  z-index: 4;
}

/* Smartphone
----------------------------------------------- */
@media print,screen and (max-width: 999px) {
  .works {
    padding: 11.39vw 0 11.39vw;
  }
  .works .wrap {
    width: 84.81%;
  }
  .works .wrap .box {
    width: 100%;
    padding: 11.39vw 5.06vw;
    margin-bottom: 8.86vw;
  }
  .works .wrap .box .bgtitle {
    top: -3.4vw;
    font-size: 16.71vw;
  }
  .works .wrap .box .bgtitle.bgtitle02 {
    top: -3.4vw;
    left: 0;
    right: inherit;
    bottom: inherit;
  }
  .works .wrap .box .bgtitle.bgtitle03 {
    top: -3.4vw;
    left: 0;
    right: inherit;
  }
  .works .wrap .box ul li img {
    margin-bottom: 10.13vw;
  }
  .works .wrap .box ul li h3 {
    font-size: 6.08vw;
    margin-bottom: 3.8vw;
  }
  .works .wrap .box ul li .sub2 {
    font-size: 3.54vw;
    margin-bottom: 6.08vw;
  } 
  .works .wrap .box:first-child {
    width: 100%;
    margin-bottom: 8.86vw;
  }
  .works .wrap .box:first-child ul {
    display: block;
  }
  .works .wrap .box:first-child ul li:first-child {
    order: 1;
    width: 100%;
  }
  .works .wrap .box:first-child ul li:last-child {
    order: 2;
    width: 100%;
    display: block;
  }
  .works .wrap .box:first-child ul li img {
    margin-bottom: 10.13vw;
  }
  .works .wrap .box:first-child ul li .sub {
    font-size: 4.05vw;
    margin-bottom: 6.08vw;
    text-align: center;
  } 
  .works .wrap .box:first-child ul li .ani01 {
    width: 29.87vw;
    height: 36.46vw;
    top: -35.46vw;
    right: -3.21vw;
  }
  .works .ani02 {
    width: 43.04vw;
    height: 28.86vw;
    bottom: 0;
    left: 1.27vw;
  }
}/* Smartphone End */


/* ------------------------------------
 .contentsBox
------------------------------------- */
.contentsBox {
  position: relative;
  background: #e8f7f9;
  padding: 12.12vw 0 14.55vw;
  overflow-x: hidden;
}
.interview {
  position: relative;
  padding: 4.24vw 0 0;
}
.interview::after {
  content: "";
  display: block;
  width: 84.85vw;
  height: 35.15vw;
  position: absolute;
  top: 0;
  right: 0;
  border-radius: 20px 0 0 20px;
  background: #fff;
  z-index: 2;
}
.interview h2 {
  position: relative;
  font-size: 3.27vw;
  font-weight: 900;
  text-align: center;
  line-height: 1.1;
  margin-bottom: 3.27vw; 
  z-index: 4;
}
.interview .bgtitle {
  position: absolute;
  font-size: 8vw;
  font-weight: 700;
  line-height: 1.1;
  color: #0d62aa;
  opacity: 0.03;
  top: 5.45vw;
  right: -1.21vw;
  z-index: 3;
}
.interview .ani {
  position: absolute;
  width: 20vw;
  height: 11.76vw;
  top: -11.49vw;
  right: 9.45vw;
  z-index: 1;
}
.interview .slider-wrapper {
  display: flex;
  /*overflow: hidden;*/
  position: relative;
  z-index: 4;
  margin-bottom: 5.45vw;
}
.interview .slider {
  animation: scroll-left 40s infinite linear .5s both;
  display: flex;
}
@keyframes scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.interview .slide {
  position: relative;
  width: calc(100vw / 4);
}
.interview .slide img {
  display: block;
  width: 92%;
}
.interview .slide a {
  position: relative;
  display: block;
  width: 92%;
  height: 100%;
}
.interview .slide a::after {
  content: "";
  display: block;
  width: 92%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.interview .slide a:hover {
  opacity: 1;
}
.interview .slide a:hover::after {
  display: none;
}
.interview .slide dl {
  position: absolute;
  left: 0;
  bottom: -1.33vw;
  z-index: 15;
}
.interview .slide dl dt {
  background: #0d62aa;
  text-align: left;
  line-height: 1.0;
  color: #fff;
}
.interview .slide dl dt:first-child {
  display: inline;
  padding: 0.8vw 0.73vw;
  font-size: clamp(10px, 1.09vw, 1.09vw);
}
.interview .slide dl dt:last-child {
  padding: 0.8vw 0.73vw;
  font-size: clamp(18px, 1.7vw, 1.7vw);
  font-weight: 700;
}

.interview p a {
  margin: 0 auto;
}
.faq {
  position: relative;
  padding: 0 0 9.7vw;
  overflow: hidden;
}
.faq .inr {
  position: relative;
  width: 77.58vw;
  height: 30.3vw;
  padding-top: 9.7vw;
  margin: 0 auto;
  overflow: hidden;
}
.faq ul {
  position: relative;
  width: 77.58vw;
  min-height: 20.61vw;
  margin: 0 auto;
  border-radius: 10px;
  background: #0d62aa;
  padding: 4.85vw 0;
  overflow: hidden;
}
.faq ul li {
  text-align: center;
}
.faq ul li h2 {
  font-size: 3.27vw;
  font-weight: 900;
  line-height: 1.1;
  color: #fff;
  margin-bottom: 2.42vw;
}
.faq ul li p a {
  margin: 0 auto;
}
.faq ul li:nth-child(3) {
  position: absolute;
  top: 0;
  left: 1.21vw;
  font-size: 8vw;
  font-weight: 700;
  line-height: 1.0;
  color: #fff;
  opacity: 0.1;
  transition: all 0.3s ease;
}
.faq ul li:nth-child(3).ani01 {
  transform: rotate(-10deg);
  top: -1.52vw;
}
.faq .inr .anime {
  position: absolute;
  right: 6.36vw;
  bottom: -1.82vw;
  width: 15.76vw;
  height: 27.88vw;
  transition: all 0.3s ease;
}
.faq .inr .anime.ani02 {
  bottom: 0;
}
.gallery .slider-wrapper {
  display: flex;
  overflow: hidden;
  position: relative;
  z-index: 4;
  margin-bottom: 1.21vw;
}
.gallery .slider {
  animation: scroll-left2 60s infinite linear .5s both;
  display: flex;
}
@keyframes scroll-left2 {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.gallery .slide {
  position: relative;
  width: calc(100vw / 4);
}
.gallery .slide img {
  display: block;
  width: 96%;
}

/* Smartphone
----------------------------------------------- */
@media print,screen and (max-width: 999px) {
  .contentsBox {
    padding: 30.38vw 0 30.38vw;
  }
  .interview {
    padding: 9.87vw 0 0;
  }
  .interview::after {
    width: 84.81%;
    height: 60.76vw;
    border-radius: 10px 0 0 10px;
  }
  .interview h2 {
    font-size: 6.84vw;
    margin-bottom: 5.7vw; 
  }
  .interview .bgtitle {
    font-size: 13.67vw;
    top: 15.22vw;
    right: 0;
  }
  .interview .ani {
    width: 41.77vw;
    height: 24.56vw;
    top: -24.46vw;
    right: 0;
  }
  .interview .slider-wrapper {
    margin-bottom: 13.92vw;
  }
  .interview .slide {
    width: calc(100vw / 2);
  }
  .interview .slide a::after {
    content: inherit;
    display: none;
  }
  .interview .slide dl {
    bottom: -2.78vw;
  }
  .interview .slide dl dt:first-child {
    padding: 1.9vw 2.53vw;
    font-size: clamp(10px, 2.53vw, 2.53vw);
  }
  .interview .slide dl dt:last-child {
    padding: 1.9vw 2.53vw;
    font-size: clamp(16px, 3.54vw, 3.54vw);
  }
  .faq {
    padding: 0 0 20.25vw;
  }
  .faq .inr {
    width: 100%;
    height: 77.22vw;
    padding-top: 20.25vw;
  }
  .faq ul {
    width: 89.87%;
    min-height: 56.96vw;
    padding: 11.39vw 0;
  }
  .faq ul li h2 {
    font-size: 6.84vw;
    margin-bottom: 6.33vw;
  }
  .faq ul li:nth-child(3) {
    left: 2.53vw;
    font-size: 13.67vw;
    transform: rotate(-10deg);
  }
  .faq ul li:nth-child(3).ani01 {
    transform: rotate(-10deg);
    top: 0;
  }
  .faq .inr .anime {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 23.42vw;
    height: 56.96vw;
  }
  .gallery .slider-wrapper {
    margin-bottom: 2.53vw;
  }
  .gallery .slide {
    position: relative;
    width: calc(100vw / 2);
  }
  .gallery .slide img {
    display: block;
    width: 96%;
  }
}/* Smartphone End */