/* CSS Document */

.jumpContents{

	display: none;

}

.main{

  color: #002341;

  overflow: hidden;

}

.main_nav_ico{

  margin-right: 0.5em;

}

.nw{

  display: inline-block;

}

@media (max-width: 767px){

  body{

    font-size: 14px;

    font-size: 0.875rem;

  }

  .btn{

    font-size: 12px;

    font-size: 0.75rem;

  }

  .main_nav_ico{

    display: none;

  }

}

/*-----------------------

local_nav

-------------------------*/

.local_nav{

  border-bottom: 1px solid #ccc;

}

.local_nav_inner{

  display: flex;

  justify-content: space-between;

  align-items: center;

  height: 50px;

}

.local_nav_head a{

  display: inline-block;

  padding: 5px 20px;

	text-decoration: none;

  font-size: 14px;

  font-size: 0.875rem;

	color: #039;

  letter-spacing : 0.06em;

  font-weight: 500;

}

.local_nav_head span.active{

  display: inline-block;

  padding: 5px 20px;

	text-decoration:underline;

	color: #333;

  font-size: 14px;

  font-size: 0.875rem;

  letter-spacing : 0.06em;

  font-weight: 500;

}

.local_nav_head a:visited,

.local_nav_head a:active {

	color: #039;

}

.local_nav_head a:hover {

	color: #48afea;	

}





.local_nav_body{

  display: flex;

  align-items: center;

}

.local_nav_links{

  display: flex;

  align-items: center;

  margin-bottom: 0;

  margin-right: 10px;

  padding-left: 0;

  list-style: none;

}

.local_nav_links li:not(:last-child)::after{

  content: "";

  border-right: 1px solid #0064d2;

  display: inline-block;

  width: 5px;

  height: 10px;

  transform: skewX(-30deg);

}

.local_nav_links span.active{

  display: inline-block;

  padding: 5px 20px;

 	text-decoration:underline;

 	color: #333;

  font-size: 14px;

  font-size: 0.875rem;

  letter-spacing : 0.06em;

  font-weight: 500;

}



.local_nav_links li a{

  display: inline-block;

  padding: 5px 20px;

	 text-decoration: none;

  font-size: 14px;

  font-size: 0.875rem;

	 color: #039;

  letter-spacing : 0.06em;

  font-weight: 500;

}

@media (max-width: 900px){

.local_nav_links li a{

  padding: 5px 10px;

  font-size: 0.75rem;

 }

}

.local_nav_links li a:visited,

.local_nav_links li a:active {

	color: #039;

}

.local_nav_links li a:hover {

	color: #48afea;	

}



.local_nav_links li a:hover{

  text-decoration: none;

}

.local_nav_btn span.active,

.local_nav_btn a{

  display: inline-block;

  width: 100px;

  height: 34px;

  color: #fff;

  font-size: 14px;

  font-size: 0.875rem;

  text-align: center;

  background-color: #0064d2;

  transition: .3s opacity;

  line-height: 34px;

  letter-spacing : 0.06em;

  font-weight: 500;

}

.local_nav_btn a:hover{

  opacity: 0.7;

  text-decoration: none;

}

@media (max-width: 767px){

  .local_nav .container{

    padding-left: 5px;

    padding-right: 0;

  }

  .local_nav_head span.active,

  .local_nav_head a{

    padding: 0;

    font-size: 12px;

    font-size: 0.75rem;

  }

  .local_nav_links{

    position: absolute;

    left: 0;

    top: 96px;

    display: none;

    width: 100%;

    margin-right: 0;

    z-index: 100;

    background: #fff;

  }

  .local_nav_links li{

    border-bottom: 1px solid #ccc;

  }

  .local_nav_links li:not(:last-child)::after{

    content: none;

  }

  .local_nav_links span.active,

  .local_nav_links li a{

    display: block;

    padding: 10px 15px;

    font-size: 12px;

    font-size: 0.75rem;

  }

  .local_nav_humberger{

    height: 44px;

    margin-left: 10px;

  }

  .local_nav_humberger a{

    position: relative;

    width: 44px;

    height: 44px;

  }

  .local_nav_humberger a,

  .local_nav_humberger a span{

    display: inline-block;

    transition: all .4s;

    text-decoration: none;

  }

  .local_nav_humberger a span{

    position: absolute;

    left: 50%;

    width: 16px;

    height: 2px;

    background-color: #505054;

  }

  .local_nav_humberger a span:nth-of-type(1){

    top: 50%;

    transform: translate(-50%,-50%)rotate(90deg);

  }

  .local_nav_humberger a span:nth-of-type(2){

    top: 50%;

    transform: translate(-50%,-50%);

  }

  .local_nav_humberger a.active span:nth-of-type(1){

    transform: translateY(-50%) rotate(225deg);

  }

  .local_nav_humberger a.active span:nth-of-type(2){

    transform: translateY(-50%) rotate(135deg);

  }

  .local_nav_btn span.active,

  .local_nav_btn a{

    width: 85px;

    font-size: 12px;

    font-size: 0.75rem;

  }

}

@media (min-width: 768px){

  .local_nav_humberger{

    display: none;

  }

}



/*-----------------------

mv_top

-------------------------*/

.mv_top{

  position: relative;

  height: 670px;

  background: url(../../recruit/images/top/img_mv_01.jpg) no-repeat top right/cover;

}

.mv_top_text{

  position: absolute;

  top: 330px;

  right: 21%;

}

.mv_top_ttl{

  font-size: 36px;

  font-size: 2.25rem;

  font-weight: 400;

  line-height: 1.7;

  letter-spacing: 0.2em;

  overflow: hidden;

}

.mv_top_ttl > span{

  position: relative;

  display: inline-block;

  color: #002341;

  background: #fff;

  font-weight: 300;

  line-height: 1.1;

  visibility: hidden;

  overflow: hidden;

}

.mv_top_ttl > span > span{

  position: absolute;

  top: 0;

  left: 0;

  display: block;

  width: 100%;

  height: 100%;

  background: #002341;

  transition: transform 0.8s cubic-bezier(0.9,0,0.1,1);

}

.mv_top_lead{

  margin-bottom: 0;

  font-weight: 400;

  line-height: 2;

  overflow: hidden;

}

.mv_top_lead > span{

  position: relative;

  display: inline-block;

  padding-bottom: 0.2em;

  color: #fff;

  background: #002341;

  line-height: 1.1;

  visibility: hidden;

  overflow: hidden;

  font-weight: 300;

}

.mv_top_lead > span > span{

  position: absolute;

  top: 0;

  left: 0;

  display: block;

  width: 100%;

  height: 100%;

  background: #002341;

  transition: transform 0.7s cubic-bezier(0.9,0,0.1,1);

}

@media (max-width: 767px){

  .mv_top{

    height: auto;

    padding-top: calc((724 / 641) * 100%);

    background: url(../../recruit/images/top/img_mv_01_sp.jpg) no-repeat top right/cover;

  }

  .mv_top_text{

    top: 50%;

    right: auto;

    transform: translateY(-50%);

    width: 100%;

    padding: 0 15px;

  }

  .mv_top_ttl{

    font-size: 22px;

    font-size: 1.375rem;

  }

  .mv_top_lead{

    font-size: 12px;

    font-size: 0.75rem;

  }

}



/*-----------------------

mv_voice 配下

-------------------------*/

.mv_voice_text{

  position: absolute;

	bottom: 40px;

	right: calc(50% - 480px);

  padding-left: 15px;

  padding-right: 15px;

  color: #fff;

}.mv_voice_crosstalk_text{

  color: #fff;

  position: absolute;

  bottom: 45px;

}

.mv_voice_ttl{

  margin-bottom: 40px;

	font-size: 30px;

	font-size: 1.875rem;

  font-weight: 400;

  line-height: 1.83;

  letter-spacing: 0.25em;

}



.mv_voice_ttl_sub{

	display: inline-block;

  margin-bottom: 10px;

	padding-bottom: 5px;

  font-size: 16px;

  font-size: 1rem;

	border-bottom: 1px solid #FFF;

  letter-spacing: 0.1em;

}

.mv_voice_ttl_career{

  font-size: 26px;

}

.mv_voice_keyword{

  position: absolute;

	top: 100%;;

	left: 50%;

	transform: translate(-50%,-25px);

	width: 960px;

	padding: 30px 40px;

	background-color:#F3EEF7;

	color: #644080;

}

.image_recognition .mv_voice_keyword,

.fpga .mv_voice_keyword,

.automobile .mv_voice_keyword,

.medical .mv_voice_keyword{

	background-color:#feefdf;

	color: #b94b00;

}

.railroad .mv_voice_keyword,

.v_fa .mv_voice_keyword{

	background-color:#fef9e1;

	color: #916e00;

}

.mv_voice_keyword .key{

  font-size: 16px;

  font-size: 1rem;

  font-style: italic;

  letter-spacing: 0.05em;

}

.mv_voice_keyword .num{

  margin-left: 3px;

  font-size: 24px;

  font-size: 1.5rem;

  font-style: italic;

}

.mv_voice_keyword .title{

  font-size: 30px;

  font-size: 1.875rem;

  font-weight: bold;

  letter-spacing: 0.1em;

}

.mv_voice_keyword .title::before{

  content: "|";

  transform: translateY(-18%);

  display: inline-block;

  margin-left: 20px;

  margin-right: 20px;

  font-size: 18px;

  font-size: 1.125rem;

  font-weight: 300;

}

.mv_voice_keyword .subtitle{

  margin-left: 5px;

  font-size: 16px;

  font-size: 1rem;

  font-weight: 300;

  letter-spacing: 0.1em;

}

@media (max-width: 959px){

  .mv_voice_keyword{

    width: calc(100% - 30px);

  }

}

@media (min-width: 768px){

  .analysis .mv_voice_text,

  .fpga .mv_voice_text,

  .automobile .mv_voice_text,

  .railroad .mv_voice_text,

  .v_fa .mv_voice_text,

  .image_recognition .mv_voice_text,

  .person01 .mv_voice_text,

  .person02 .mv_voice_text,

  .person03 .mv_voice_text{

    left: 15px;

    right: auto;

  }

}

@media (min-width: 960px){

  .analysis .mv_voice_text,

  .fpga .mv_voice_text,

  .automobile .mv_voice_text,

  .railroad .mv_voice_text,

  .v_fa .mv_voice_text,

  .image_recognition .mv_voice_text,

  .person01 .mv_voice_text,

  .person03 .mv_voice_text{

    left: calc(50% - 450px);

    right: auto;

  }

}

@media (min-width: 960px){

  .person02 .mv_voice_text{

    left: calc(50% - 90px);

    right: auto;

  }

}

@media (max-width: 767px){

  .mv_voice_text{

    position: absolute;

    bottom: 10%;

    left: 0;

    right: auto;

    width: 100%;

    color: #fff;

  }

  .mv_voice_ttl{

    font-size: 20px;

    font-size: 1.25rem;

		letter-spacing: 0.20em;

  }

  .mv_voice_ttl_sub{

    display: inline-block;

    padding-bottom: 5px;

    font-size: 16px;

    font-size: 1rem;

    border-bottom: 1px solid #FFF;

  }

  .mv_voice_text img{

    width: 200px;

  }

  .mv_voice_keyword{

    transform: translate(-50%,-15px);

    padding: 15px;

  }

  .mv_voice_keyword .key{

    font-size: 12px;

    font-size: 0.75rem;

  }

  .mv_voice_keyword .num{

    font-size: 16px;

    font-size: 1rem;

  }

  .mv_voice_keyword .title{

    font-size: 20px;

    font-size: 1.25rem;

  }

  .mv_voice_keyword .title::before{

    margin-left: 8px;

    margin-right: 8px;

    font-size: 12px;

    font-size: 0.75rem;

  }

  .mv_voice_keyword .subtitle{

    margin-left: 2.5px;

    font-size: 12px;

    font-size: 0.75rem;

  }

}

.zadankai_wrap {

	margin-bottom: 130px;

}

.zadankai_top_img {

	margin-bottom: 40px;

}

.zadankai_top_img img {

	width: 100%;

}

.zadankai_voice_img {

	max-width: 100%;

	margin-bottom: 140px;

}

.swiper-slide img, .zadankai_voice_img img {

	width: 100%;

}

@media (max-width: 767px){

  .zadankai_wrap {

    margin-bottom: 45px;

  }

  .zadankai_voice_img {

    object-fit: cover;

    margin-bottom: 50px;

  }

}

/*-----------------------

mv

-------------------------*/

.mv{

  position: relative;

  height: 535px;

  margin-bottom: 150px;

  background-repeat: no-repeat;

  background-position: top;

  background-size: cover;

}

.mv.about{

  background-image: url(../../recruit/images/about/img_mv_01.jpg);

}

.mv.business{

  background-image: url(../../recruit/images/business/img_mv_01.jpg);

}

.mv.voice1{

  background-image: url(../../recruit/images/voice/img_mv_01.jpg);

}

.mv.voice2{

  background-image: url(../../recruit/images/voice/img_mv_02.png);

}

.mv.voice3{

  background-image: url(../../recruit/images/work_life_balance/img_mv_03.png);

}

.mv.recruit{

  background-image: url(../../recruit/images/recruit/img_mv_01.jpg);

}

.mv.gpgpu{

  background-image: url("../../recruit/images/voice/gpgpu/img_mv_01.jpg");

}

.mv.analysis{

  background-image: url("../../recruit/images/voice/analysis/img_mv_01.jpg");

}

.mv.fpga{

  background-image: url("../../recruit/images/voice/fpga/img_mv_01.jpg");

}

.mv.automobile{

  background-image: url("../../recruit/images/voice/automobile/img_mv_01.jpg");

}

.mv.medical{

  background-image: url("../../recruit/images/voice/medical/img_mv_01.jpg");

}

.mv.railroad{

  background-image: url("../../recruit/images/voice/railroad/img_mv_01.jpg");

}

.mv.v_fa{

  background-image: url("../../recruit/images/voice/fa/img_mv_01.jpg");

}

.mv.image_recognition{

  background-image: url("../../recruit/images/voice/image_recognition/img_mv_01.jpg");

}

.mv.crosstalk{

  min-height: 670px;

  background-image: url("../../recruit/images/voice/crosstalk/img_mv_01.png");

  margin-bottom: 45px;

}

.mv.crosstalk2{

  min-height: 670px;

  background-image: url("../../recruit/images/work_life_balance/crosstalk2/img_mv_01.png");

  margin-bottom: 45px;

}

.mv.worklife{

  background-image: url("../../recruit/images/work_life_balance/img_mv_01.jpg");

}

.mv.person01{

  background-image: url("../../recruit/images/work_life_balance/person_01/img_mv_01.jpg");

}

.mv.person02{

  background-image: url("../../recruit/images/work_life_balance/person_02/img_mv_02.jpg");

}

.mv.person03{

  background-image: url("../../recruit/images/work_life_balance/person_03/img_mv_03.jpg");

}

.mv.gpgpu,

.mv.analysis,

.mv.fpga,

.mv.automobile,

.mv.medical,

.mv.railroad,

.mv.v_fa,

.mv.image_recognition{

  height: 715px;

  margin-bottom: 225px;

}



.mv_text{

  position: absolute;

  top: 50%;

  transform: translateY(-50%);

  width: 100%;

  padding-left: 15px;

  padding-right: 15px;

  color: #fff;

  text-align: center;

}

.mv_ttl{

  margin-bottom: 0;

  font-size: 60px;

  font-size: 3.75rem;

  letter-spacing: 0.1em;

}

.mv_ttl_sub{

  margin-bottom: 5px;

  font-size: 16px;

  font-size: 1rem;

}

@media (max-width: 767px){

  .mv{

    margin-bottom: 50px;

    height: auto;

    padding-top: calc((537 / 640) * 100%);

  }

  .mv.about{

    background-image: url(../../recruit/images/about/img_mv_01_sp.jpg);

  }

  .mv.business{

    background-image: url(../../recruit/images/business/img_mv_01_sp.jpg);

  }

  .mv.recruit{

    background-image: url(../../recruit/images/recruit/img_mv_01_sp.jpg);

  }

  .mv.gpgpu,

  .mv.analysis,

  .mv.fpga,

  .mv.automobile,

  .mv.medical,

  .mv.railroad,

  .mv.v_fa,

  .mv.image_recognition{

    height: auto;

    margin-bottom: 100px;

    padding-top: calc((715 / 640) * 100%);

  }

  .mv.person01,

  .mv.person02,

  .mv.person03{

    height: auto;

    margin-bottom: 50px;

    padding-top: calc((715 / 640) * 100%);

  }

  .mv.crosstalk {

    min-height: 314px;

    background-image: url(../../recruit/images/voice/crosstalk/img_mv_01_sp.png);

  }

  .mv.crosstalk2 {

    min-height: 314px;

    background-image: url(../../recruit/images/work_life_balance/crosstalk2/img_mv_01_sp.png);

  }

  .mv.gpgpu{

    background-image: url("../../recruit/images/voice/gpgpu/img_mv_01_sp.jpg");

  }

  .mv.analysis{

    background-image: url("../../recruit/images/voice/analysis/img_mv_01_sp.jpg");

  }

  .mv.fpga{

    background-image: url("../../recruit/images/voice/fpga/img_mv_01_sp.jpg");

  }

  .mv.automobile{

    background-image: url("../../recruit/images/voice/automobile/img_mv_01_sp.jpg");

  }

  .mv.medical{

    background-image: url("../../recruit/images/voice/medical/img_mv_01_sp.jpg");

  }

  .mv.railroad{

    background-image: url("../../recruit/images/voice/railroad/img_mv_01_sp.jpg");

  }

  .mv.v_fa{

    background-image: url("../../recruit/images/voice/fa/img_mv_01_sp.jpg");

  }

  .mv.image_recognition{

   background-image: url("../../recruit/images/voice/image_recognition/img_mv_01_sp.jpg");

  }

/*



.mv.worklife{

  background-image: url("../images/work_life_balance/img_mv_01.jpg");

}

.mv.person01{

  background-image: url("../images/work_life_balance/person_01/img_mv_01.jpg");

}

.mv.person02{

  background-image: url("../images/work_life_balance/person_02/img_mv_02.jpg");

}

.mv.person03{

  background-image: url("../images/work_life_balance/person_03/img_mv_03.jpg");

}

  */

  .mv_ttl{

    font-size: 30px;

    font-size: 1.875rem;

  }

  .mv_ttl_sub{

    font-size: 12px;

    font-size: 0.75rem;

  }

}





/*-----------------------

mv(voice)

-------------------------*/

@media (max-width: 1599px){

  .mv.voice1{

    background-image: url(../../recruit/images/voice/img_mv_01_large.jpg);

    padding-top: calc((600 / 1260) * 100%);

  }

  .mv.voice2{

    background-image: url(../../recruit/images/voice/img_mv_02_large.png);

    padding-top: calc((600 / 1260) * 100%);

  }

  .mv.voice3{

    background-image: url(../../recruit/images/work_life_balance/img_mv_03_large.png);

    padding-top: calc((600 / 1260) * 100%);

  }

}

@media (max-width: 1199px){

  .mv.voice1{

    background-image: url(../../recruit/images/voice/img_mv_01_middle.jpg);

    padding-top: calc((600 / 960) * 100%);

  }

  .mv.voice2{

    background-image: url(../../recruit/images/voice/img_mv_02_middle.png);

    padding-top: calc((600 / 960) * 100%);

  }

  .mv.voice3{

    background-image: url(../../recruit/images/work_life_balance/img_mv_03_middle.png);

    padding-top: calc((600 / 960) * 100%);

  }

}

@media (max-width: 959px){

  .mv.voice1{

    margin-bottom: 50px;

    height: auto;

    padding-top: calc((535 / 640) * 100%);

    background-image: url(../../recruit/images/voice/img_mv_01_sp.jpg);

  }

  .mv.voice2{

    margin-bottom: 50px;

    height: auto;

    padding-top: calc((535 / 640) * 100%);

    background-image: url(../../recruit/images/voice/img_mv_02_sp.png)

  }

  .mv.voice3{

    margin-bottom: 50px;

    height: auto;

    padding-top: calc((535 / 640) * 100%);

    background-image: url(../../recruit/images/work_life_balance/img_mv_03_sp.png)

  }

}

/*-----------------------

crosstalk

-------------------------*/

.sp-only {

  display: none;

}

.sec_01.crosstalk {

  color: #002341;

  margin-bottom: 86px;

}

.voice_crosstalk_intro>p{

  line-height: 1.625;

  margin-bottom: 50px;

}

.voice_crosstalk_intro_list {

  display: flex;

  flex-wrap: wrap;

  justify-content: space-between;

  list-style: none;

  padding: 0;

  margin-bottom: 12px;

}

@media (min-width: 768px){

  .voice_crosstalk_intro_item {

    max-width: 33%;

  }

}

.voice_crosstalk_intro_text {

  margin-top: 10px;

}

.voice_crosstalk_intro_name {

  font-size: 20px;

  line-height: 1.25;

  margin: 0;

}

.voice_crosstalk_intro_career {

  font-size: 14px;

  line-height: 1.8;

}

.sec_02.crosstalk {

  color: #002341;

  margin-bottom: 80px;

  background-color: #E8F3FB;

  padding: 52px 0;

}

.voice_crosstalk_mokuji {

  color: #000;

  padding: 0;

  list-style: none;

  line-height: 2.5;

  font-size: 20px;

  letter-spacing: 0.34em;

}

.voice_crosstalk_mokuji_content>a {

  border-bottom: 1px solid;

  color: #002341;;

}

.voice_crosstalk_mokuji_content>a:hover {

  text-decoration: none;

  opacity: 0.7;

}

.voice_crosstalk_mokuji_content {

  padding-bottom: 10px;

}

.voice_crosstalk_content {

  color: #002341;

  margin-bottom: 40px;

  letter-spacing: 0.1em;

}

.ttl_crosstalk {

  font-size: 35px;

  font-weight: bold;

  display: inline-block;

  padding-right: 60px;

  margin-bottom: 0px;

}

.ttl_crosstalk span {

  background: linear-gradient(transparent 80%, #FBE373 0%);

}

.crosstalk_grid {

  display: flex;

  margin-top: 50px;

}



.mt50 {

  margin-top: 50px;

}

.mb100 {

  margin-bottom: 100px;

}

.no-br {

  white-space: nowrap;

}

.col-pl {

  padding-left: 50px;

}

.col-pr {

  padding-right: 50px;

}

.col-pl>.voice_crosstalk_theme {

  margin-top: 0;

}

.voice_crosstalk_theme {

  display: flex;

  align-items: center;

  margin-top: 54px;

  margin-left: 80px;

  margin-bottom: 87px;

  position: relative;

}

.voice_crosstalk_theme::before {

  content: "";

  position: absolute;

  width: 70px;

  height: 1px;

  background-color: #002341;

  left: -80px;

}

.background-yellow {

  background: center 440px repeat-y, linear-gradient(to right, #FEF9E1 calc(336px + 65%), transparent calc(35% - 256px));

  padding: 100px 0;

}

.background-orange {

  background: center 440px repeat-y, linear-gradient(to left, #FEEFDF calc(336px + 65%), transparent calc(35% - 256px));

  padding: 100px 0;

}

.background-yellow>.container-chat-wrap {

  max-width: 1040px;

  background-color: #fff;

  padding-top: 50px;

  padding-bottom: 55px;

  margin: 0 auto;

  transform: translateX(-40px);

}

.background-orange>.container-chat-wrap {

  max-width: 1040px;

  background-color: #fff;

  padding-top: 50px;

  padding-bottom: 55px;

  margin: 0 auto;

  transform: translateX(40px);

}

.container-chat{

  max-width: 880px;

  margin: 0 auto;

}

.voice_crosstalk_icon {

  display: flex;

  align-items: center;

}

.voice_crosstalk_icon p {

  margin-bottom: 0;

  margin-left: 10px;

}

.voice_crosstalk_icon + p {

  margin-top: 22px;

  color: #002341;

  line-height: 2.31;

  margin-bottom: 50px;

  letter-spacing: 0.1em;

}

.voice_crosstalk_appearance,.voice_crosstalk_appearance_left,.voice_crosstalk_appearance_right {

  flex-shrink: 0;

  text-align: center;

}

.voice_crosstalk_appearance img{

  width: 100%;

}

.voice_crosstalk_appearance p {

  margin-top: 22px;

}

.voice_crosstalk_edit {

  padding: 0 15px;

  margin-top: 40px;

}

.voice_crosstalk_edit_wrap {

  max-width: 1120px;

  margin: 0 auto 80px;

  border: 1px solid #002341;

  display: flex;

  align-items: flex-end;

  position: relative;

  letter-spacing: 0.1em;

}

.voice_crosstalk_edit_content {

  max-width: 960px;

  margin: 0 auto;

}

.voice_crosstalk_edit_title {

  font-size: 30px;

  font-weight: bold;

  margin-top: 33px;

}

.voice_crosstalk_edit_title span{

  font-size: 16px;

  font-weight: bold; 

}

.voice_crosstalk_edit_wrap p {

  width: 768px;

  margin-top: 22px;

  margin-bottom: 30px;

}

.voice_crosstalk_edit_wrap p::after {

  content: url("../../recruit/images/voice/crosstalk/edit_illust.png");

  position: absolute;

  right: 35px;

  bottom: 30px;

}

.voice_crosstalk_profile {

  background: #E8F3FB url(../../recruit/images/work_life_balance/bg_01.png) no-repeat;

  background-position: calc(60% + 480px) 0px;

  padding-bottom: 100px;

}

.voice_crosstalk_profile h2{

  font-size: 35px;

  padding-top: 103px;

  text-align: center;

  margin-bottom: 70px;

}

.voice_crosstalk_profile h2 span{

  font-size: 16px;

}

.voice_crosstalk_profile_wrap {

  max-width: 960px;

  margin: 0 auto;

}

.voice_crosstalk_profile_content:not(:last-child) {

  margin-bottom: 50px;

}

.voice_crosstalk_profile_img {

  max-width: 500px;

  margin: 0 0 0 auto;

  position: relative;

  z-index: 10;

}

.voice_crosstalk_profile_img_rev {

  max-width: 500px;

  margin: 0 auto 0 0;

  position: relative;

  z-index: 10;

}

.voice_crosstalk_profile_text {

  background-color: #fff;

  max-width: 500px;

  margin: 0 auto -255px 0;

  padding: 30px 70px 30px 30px;

  position: relative;

  box-shadow: 0px 3px 6px rgb(0 0 0 / 16%);

  z-index: 5;

  top: -255px;

  font-size: 14px;

}

.voice_crosstalk_profile_text.voice_crosstalk_profile_text_kouda {

  margin: 0 auto -355px 0;

  top: -355px;

}

.voice_crosstalk_profile_text_rev {

  background-color: #fff;

  max-width: 500px;

  margin: 0 0 -255px auto;

  padding: 30px 30px 30px 70px;

  position: relative;

  box-shadow: 0px 3px 6px rgb(0 0 0 / 16%);

  z-index: 5;

  top: -255px;

  font-size: 14px;

}

.voice_crosstalk_profile_name {

  font-size: 20px;

}

.voice_crosstalk_profile_future {

  font-weight: bold;

}

.crosstalk_totoplink {

  margin: 50px 0 100px 0;

}

@media (max-width: 767px){

  .mv_voice_crosstalk_text {

    bottom: 10px;

  }

  .mv_voice_ttl {

    line-height: 1.75;

    margin-bottom: 28px;

    letter-spacing: 0.21em;

  }

  .mv_voice_ttl_career {

    font-size: 1.125rem;

    margin-bottom: 0;



  }

  .sec_01.crosstalk {

    margin-bottom: 40px;

  }

  .sec_02.crosstalk {

    margin-bottom: 40px;

  }

  .sec_02.crosstalk h2 {

    font-size: 1.25rem;

  }

  .voice_crosstalk_mokuji {

    font-size: 0.875rem;

    letter-spacing: 0.15em;

    line-height: calc(15 / 7);

  }

  .voice_crosstalk_intro_img img {

    width: 150px;

  }

  .voice_crosstalk_intro_name {

    font-size: 14px;

  }

  .voice_crosstalk_intro_career {

    font-size: 10px;

  }

  .background-yellow, .background-orange {

    padding: 60px 0;

  }

  .background-yellow>.container-chat-wrap, .background-orange>.container-chat-wrap {

    transform: none;

    margin: 0 15px;

    padding: 40px 15px;

  }

  .container-chat-wrap {

    padding: 0 15px;

  }

  .ttl_crosstalk {

    font-size: 22px;

    padding-right: 0px

  }

  .voice_crosstalk_theme {

    margin-top: 40px;

    margin-bottom: 40px;

  }

  .no-br {

    white-space: normal;

  }

  .col-pl {

    padding-left: 0;

    width: calc(100% - 155px)

  }

  .col-pr {

    padding-right: 0;

    width: calc(100% - 155px)

  }

  .voice_crosstalk_appearance_left,.voice_crosstalk_appearance_right {

    flex-shrink: initial;

    width: 150px;

  }

  .voice_crosstalk_appearance_left {

    transform: translateX(-15px);

  }

  .voice_crosstalk_appearance_right {

    transform: translateX(20px);

  }

  .voice_crosstalk_appearance_left img,.voice_crosstalk_appearance_right img {

    width: 100%;

  }

  .voice_crosstalk_edit {

    margin-bottom: 40px;

  }

  .voice_crosstalk_edit_wrap {

    margin: 0 15px;

  }

  .voice_crosstalk_edit_content {

    margin: 0 15px;

  }

  .voice_crosstalk_edit_wrap p {

    line-height: 1.785;

    width: 100%;

  }

  .voice_crosstalk_edit_wrap p:last-child {

    margin-bottom: 132px;

  }

  .voice_crosstalk_edit_wrap p::after {

    bottom: 20px;

  }

  .voice_crosstalk_profile {

    background: #E8F3FB url(../../recruit/images/voice/crosstalk/bg_sp.png);

    background-repeat: repeat-y;

    background-position: 170% -10px;

  }

  .voice_crosstalk_profile h2 {

    padding-top: 62px;

    font-size: 22px;

    margin-bottom: 40px;

  }

  .voice_crosstalk_profile h2 span {

    font-size: 14px;

    font-weight: normal;

  }

  .voice_crosstalk_profile_content {

    margin: 0 15px;

  }

  .voice_crosstalk_profile_img, .voice_crosstalk_profile_img_rev {

    width: 100%;

    position: initial;

    margin: 0 auto;

  }

  .voice_crosstalk_profile_img img, .voice_crosstalk_profile_img_rev img {

    width: 100%;

  }

  .voice_crosstalk_profile_text, .voice_crosstalk_profile_text_rev {

    position: initial;

    padding: 20px 15px;

    margin: 0 auto;

  }

  .voice_crosstalk_profile_text.voice_crosstalk_profile_text_kouda {

    position: initial;

    padding: 20px 15px;

    margin: 0 auto;

  }

  .crosstalk_totoplink {

    margin: 40px 0;

  }

}

/*-----------------------

title

-------------------------*/

.ttl_01{

  margin-bottom: 25px;

  font-size: 54px;

  font-size: 3.375rem;

  font-weight: bold;

  letter-spacing: 0.05em;

  line-height: 1;

  text-align: center;

}

.ttl_sub_01{

  margin-bottom: 25px;

  font-size: 16px;

  font-size: 1rem;

  font-weight: 500;

  letter-spacing: 0.01em;

  text-align: center;

}

.ttl_01 .ttl_sub_01{

  display: inline-block;

  margin-left: 2em;

  margin-bottom: 10px;

  text-align: inherit;

  vertical-align: middle;

}

.ttl_02{

  font-size: 30px;

  font-size: 1.875rem;

  font-weight: 400;

  letter-spacing: 0.25em;

}

.ttl_sub_02{

  margin-bottom: 10px;

  font-size: 18px;

  font-size: 1.125rem;

  letter-spacing: 0.23em;

}

.ttl_03{

  margin-bottom: 35px;

  font-size: 34px;

  font-size: 2.125rem;

  letter-spacing: 0.1em;

  line-height: 1.2;

}

.ttl_03 span{

  display: inline-block;

  margin-bottom: 5px;

  font-size: 18px;

  font-size: 1.125rem;

  font-weight: 400;

  letter-spacing: 0;

  vertical-align: middle;

}

.ttl_04{

  margin-bottom: 24px;

  font-size: 64px;

  font-size: 4rem;

  font-weight: bold;

  line-height: 1.2;

  letter-spacing: 0.1em;

}

.ttl_04 span{

  font-size: 24px;

  font-size: 1.5rem;

  font-weight: 400;

  letter-spacing: 0.1em;

}

.ttl_sub_04{

  font-size: 20px;

  font-size: 1.25rem;

  font-style: italic;

}

.ttl_sub_04 span{

  font-size: 36px;

  font-size: 2.25rem;

}

.ttl_05{

  position: relative;

  margin-bottom: 50px;

  padding-bottom: 25px;

  font-size: 16px;

  font-size: 1rem;

  font-weight: 400;

  border-bottom: 1px solid #002341;

  letter-spacing: 0.25em;

}

.ttl_05::before,

.ttl_05::after{

  content: "";

  position: absolute;

  bottom: -1.5px;

  display: block;

  width: 3px;

  height: 3px;

  background: #002341;

}

.ttl_05::before{

  left: 0;

}

.ttl_05::after{

  right: 0;

}

.ttl_05 span{

  font-size: 36px;

  font-size: 2.25rem;

  letter-spacing: 0.15em;

  font-weight: 500;

}

.ttl_06{

  position: relative;

  margin-bottom: 50px;

  font-size: 30px;

  font-size: 1.875rem;

  font-weight: 400;

  letter-spacing: 0.2em;

  text-align: center;

}

.ttl_06 span{

  padding-left: 15px;

  padding-right: 15px;

  background: linear-gradient(transparent 70%, #ffed3c 70%);

}

.ttl_07{

  display: inline-block;

  margin-bottom: 60px;

  font-size: 30px;

  font-size: 1.875rem;

  font-weight: 300;

  line-height: 1.8;

  letter-spacing: 0.25em;

  text-align: left;

}

.ttl_07_wrapper{

  text-align: right;

}

.ttl_08{

  margin-bottom: 35px;

  font-size: 26px;

  font-size: 1.625rem;

  letter-spacing: 0.1em;

  line-height: 1.2;

}

.ttl_09{

  margin-bottom: 70px;

  font-size: 30px;

  font-size: 1.875rem;

  font-weight: 300;

  line-height: 1.8;

  letter-spacing: 0.3em;

  text-align: center;

}

.ttl_10{

  margin-bottom: 90px;

  font-size: 35px;

  font-size: 2.1875rem;

  font-weight: 400;

  letter-spacing: 0.2em;

  text-align: center;

}

.ttl_10 span{

  padding-left: 15px;

  padding-right: 15px;

  background: linear-gradient(transparent 70%, #ffed3c 70%);

}



.lead_01{

  margin-bottom: 50px;

  font-size: 30px;

  font-size: 1.875rem;

  font-weight: 300;

  letter-spacing: 0.34em;

  text-align: center;

  line-height: 1.67;

}

.lead_02{

  margin-bottom: 50px;

  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";

  line-height: 2.5;

  letter-spacing: 0.15em;

}

.lead_03{

  font-size: 18px;

  font-size: 1.125rem;

  line-height: 2;

  margin-bottom: 95px;

  letter-spacing: 0.3em;

}

.lead_04{

  margin-bottom: 50px;

  font-size: 25px;

  font-size: 1.5625rem;

  line-height: 2;

  letter-spacing: 0.25em;

}

.lead_05{

  line-height: 2.5;

  letter-spacing: 0.1em;

}

.lead_06{

  margin-bottom: 100px;

  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";

  line-height: 2.5;

  letter-spacing: 0.15em;

}

.lead_07{

  margin-bottom: 85px;

  font-size: 30px;

  font-size: 1.875rem;

  font-weight: 300;

  letter-spacing: 0.34em;

  text-align: center;

  line-height: 1.84;

}

.lead_08{

  margin-bottom: 80px;

  font-size: 30px;

  font-size: 1.875rem;

  font-weight: 300;

  letter-spacing: 0.34em;

  line-height: 1.67;

}

.lead_09{

  display: inline-block;

  margin: 0;

  padding: 20px;

  font-weight: bold;

  font-size: 18px;

  font-size: 1.125rem;

  border: 1px solid #002341;

  letter-spacing: 0.38em;

}

@media (max-width:1220px) {

  .voice_crosstalk_edit_wrap p::after {

    right: 20px;

  }

}

@media (max-width: 767px){

  .pc-only {

    display: none;

  }

  .sp-only {

    display: block;

  }

  .ttl_01{

    margin-bottom: 20px;

    font-size: 26px;

    font-size: 1.625rem;

  }

  .ttl_02{

    margin-bottom: 15px;

    font-size: 18px;

    font-size: 1.125rem;

  }

  .ttl_sub_01{

    margin-bottom: 5px;

  }

  .ttl_01 .ttl_sub_01{

    margin-left: 2em;

    margin-bottom: 3px;

  }

  .ttl_sub_02{

    margin-bottom: 16px;

    font-size: 12px;

    font-size: 0.75rem;

  }

  .ttl_03{

    margin-bottom: 25px;

    font-size: 24px;

    font-size: 1.5rem;

  }

  .ttl_03 span{

    margin-bottom: 3px;

    font-size: 12px;

    font-size: 0.75rem;

  }

  .ttl_04{

    font-size: 30px;

    font-size: 1.875rem;

  }

  .ttl_04 span{

    font-size: 16px;

    font-size: 1rem;

  }

  .ttl_sub_04{

    font-size: 16px;

    font-size: 1rem;

  }

  .ttl_sub_04 span{

    font-size: 18px;

    font-size: 1.125rem;

  }

  .ttl_05{

    margin-bottom: 20px;

    padding-bottom: 8px;

    font-size: 12px;

    font-size: 0.75rem;

    font-weight: 400;

    letter-spacing: 0.2em;

  }

  .ttl_05 span{

    font-size: 22px;

    font-size: 1.375rem;

  }

  .ttl_06{

    margin-bottom: 20px;

    font-size: 18px;

    font-size: 1.125rem;

  }

  .ttl_07{

    margin-bottom: 30px;

    font-size: 18px;

    font-size: 1.125rem;

  }

  .ttl_07_wrapper{

    text-align: left;

  }

	.ttl_08{

    font-size: 18px;

    font-size: 1.125rem;

	}

  .ttl_09{

    margin-bottom: 35px;

    font-size: 18px;

    font-size: 1.125rem;

  }

  .ttl_10{

    margin-bottom: 45px;

    font-size: 22px;

    font-size: 1.375rem;

  }

  .ttl_10 span{

    padding-left: 7.5px;

    padding-right: 7.5px;

  }

	

  .lead_01{

    margin-bottom: 20px;

    font-size: 20px;

    font-size: 1.25rem;

    letter-spacing: 0.2em;

  }

  .lead_02{

    margin-bottom: 30px;

    font-size: 14px;

    font-size: 0.875rem;

    line-height: 2;

  }

  .lead_03{

    margin-bottom: 40px;

    font-size: 16px;

    font-size: 1rem;

    letter-spacing: 0.1em;

  }

  .lead_04{

    margin-bottom: 15px;

    font-size: 18px;

    font-size: 1.125rem;

    line-height: 1.8;

    letter-spacing: 0.2em;

  }

  .lead_06{

    margin-bottom: 35px;

    font-size: 14px;

    font-size: 0.875rem;

    line-height: 2;

  }

  .lead_07{

    margin-bottom: 25px;

    font-size: 18px;

    font-size: 1.125rem;

  }

  .lead_08{

    margin-bottom: 20px;

    font-size: 18px;

    font-size: 1.125rem;

  }

}



/*-----------------------

btn

-------------------------*/

.btn-link{

  position: relative;

  width: 100%;

  max-width: 280px;

  padding: 20px 25px;

  color: #002341;

  font-weight: bold;

  letter-spacing: 0.1em;

  border: 1px solid #002341;

  border-radius: 0;

}

.btn-link:hover{

  color: #fff;

  text-decoration: none;

}

.btn-link::before{

  content: "";

  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

  transform: scale(.8);

  transition: all .5s cubic-bezier(.19,1,.22,1);

  transition-timing-function: cubic-bezier(.19,1,.22,1);

  background: #002341;

  opacity: 0;

}

.btn-link:hover::before{

  opacity: 1;

  transform: scale(1);

}

.btn-link:hover::after{

  background: url(../../recruit/images/common/ico_right_02.png) no-repeat;

}

.btn-link::after{

  content: "";

  position: absolute;

  top: 50%;

  right: 15px;

  transform: translateY(-50%);

  display: block;

  width: 8px;

  height: 14px;

  background: url(../../recruit/images/common/ico_right_01.png) no-repeat;

}

.btn-link span{

  position: relative;

  z-index: 2;

}

.btn-link .ico-all::before{

  content: "";

  display: inline-block;

  width: 12px;

  height: 12px;

  margin-right: 10px;

  background: url(../../recruit/images/common/ico_all_02.png) no-repeat;

}

.btn-link:hover .ico-all::before{

  background: url(../../recruit/images/common/ico_all_01.png) no-repeat;

}

.btn-link.btn-link-white .ico-all::before{

  background: url(../../recruit/images/common/ico_all_01.png) no-repeat;

}

.btn-link.btn-link-white:hover .ico-all::before{

  background: url(../../recruit/images/common/ico_all_02.png) no-repeat;

}

.btn-link .ico-window{

  position: absolute;

  top: 5px;

  left: 5px;

  display: inline-block;

  width: 16px;

  height: 12px;

  background: url(../../recruit/images/common/ico-window-small.png) no-repeat;

}

/*.btn-link:hover .ico-all{

  background: url(../images/common/ico_all_02.png) no-repeat;

}*/

.btn-link-white{

  color: #fff;

  border: 1px solid #fff;

}

.btn-link-white::before{

  background: #fff;

}

.btn-link-white::after{

  background: url(../../recruit/images/common/ico_right_02.png) no-repeat;

}

.btn-link-white:hover{

  color: #002341;

}

.btn-link-white:hover::after{

  background: url(../../recruit/images/common/ico_right_01.png) no-repeat;

}



.btn-link-wide{

  position: relative;

  width: 100%;

  max-width: 400px;

  padding: 30px 20px;

}

.btn-window{

  position: absolute;

  top: 5px;

  left: 5px;

}



/*recruit*/

@media (max-width: 767px){

  .mb_sp_5{

   margin-bottom: 5rem !important;

  }

}

/*view_list*/

#view_list span.active {

display: block;

opacity: 0.6;

}





/*-----------------------

box

-------------------------*/

.box_btn_01{

  margin-left: -80px;

  margin-right: -80px;

  padding: 60px 80px;

  background: #002341;

  color: #fff;

}

@media (min-width: 768px){

  .box_btn_01 .btn-link{

    width: 280px;

  }

}

@media (max-width: 767px){

  .box_btn_01{

    margin-left: -15px;

    margin-right: -15px;

    padding: 25px 15px;

    text-align: center;

  }

}



/*-----------------------

jumbotron

-------------------------*/

.jumbotron{

  position: relative;

  margin-bottom: 150px;

  padding: 115px 0;

  background: transparent;

  overflow: hidden;

  border-radius: 0;

}

.jumbotron.about{

  padding-top: 140px;

  padding-bottom: 140px;

  background: url(../../recruit/images/about/bg_jumbotron_01.jpg) no-repeat center/cover;

}

.jumbotron-bg{

  position: absolute;

  top: 0;

  left: 0;

  display: block;

  width: 100%;

  height: 100%;

  opacity: 0.3;



  z-index: -1;

  overflow: hidden;

  transition: .3s opacity;

}

.jumbotron-bg.about{

  background:  url(../../recruit/images/top/bg_jumbotron_01.jpg) no-repeat center/cover;

}

.jumbotron-bg.business{

  background:  url(../../recruit/images/top/bg_jumbotron_02.jpg) no-repeat center/cover;

}

.jumbotron-bg.wlb-bg{

  background: url(../../recruit/images/top/bg_work_life_balance.jpg) no-repeat center/cover;

  }

.jumbotron:hover .jumbotron-bg{

  opacity: 0.75;

}

.jumbotron .lead_01{

  text-shadow: 0px 0px 5px #fff,0px 0px 10px #fff,0px 0px 15px #fff,0px 0px 15px #fff;

}





/*-----------------------

KV

-------------------------*/

.message{

  padding-top: 140px;

  padding-bottom: 140px;

  background: url("../../recruit/images/about/bg_message_01.png") no-repeat center/cover;

}

.ourcompany{

  padding-top: 140px;

  padding-bottom: 250px;

  background: url("../../recruit/images/about/bg_ourcompany.png") no-repeat bottom/cover;

}

.ValueCreation{

  padding-top: 140px;

  padding-bottom: 140px;

  background: url("../../recruit/images/about/bg_ValueCreation.png") no-repeat center/cover;

}

.EngineerTraining{

  padding-top: 140px;

  padding-bottom: 140px;

  background: url("../../recruit/images/about/bg_EngineerTraining.png") no-repeat center/cover;

}

.OurBusinessDomains {

  padding-top: 140px;

  padding-bottom: 140px;

  border-top: 1px solid #ccc;

}





@media (max-width: 767px){

  .jumbotron{

    margin-bottom: 50px;

    padding: 45px 0;

  }

  .jumbotron.about{

    padding-top: 60px;

    padding-bottom: 60px;

  }

  .jumbotron-bg.about{

    padding: 45px 0;

    background:  url("../../recruit/images/top/bg_jumbotron_01_sp.jpg") no-repeat center/cover;

  }

  .jumbotron-bg.business{

    background:  url(../../recruit/images/top/bg_jumbotron_02_sp.jpg) no-repeat center/cover;

  }

	



.message{

  padding-top: 50px;

  padding-bottom: 50px;

  background: url("../../recruit/images/about/bg_message_01.png") no-repeat center/cover;

}

.ourcompany{

  padding-top: 50px;

  padding-bottom: 250px;

  background: url("../../recruit/images/about/bg_ourcompany.png") no-repeat bottom/cover;

}

.ValueCreation{

  padding-top: 50px;

  padding-bottom: 50px;

  background: url("../../recruit/images/about/bg_ValueCreation.png") no-repeat center/cover;

}

.EngineerTraining{

  padding-top: 50px;

  padding-bottom: 50px;

  background: url("../../recruit/images/about/bg_EngineerTraining.png") no-repeat center/cover;

}

.OurBusinessDomains {

  padding-top: 50px;

  padding-bottom: 50px;

  border-top: 1px solid #ccc;

}

}

/*-----------------------

section

-------------------------*/

.sec_01{

  margin-bottom: 130px;

}

.sec_01[class*="bg"]{

  padding-top: 140px;

  padding-bottom: 140px;

}

.sec_02{

  margin-bottom: 70px;

  padding: 85px 0 150px;

}

.sec_02.adapt{

  background: url(../../recruit/images/voice/bg_adapt_01.png) center 440px repeat-y,

    linear-gradient(to right, #f3eef7 calc(336px + 65%), transparent calc(35% - 256px));

}

.sec_02.technical{

  background: url(../../recruit/images/voice/bg_technical_01.png) center 440px repeat-y,

    linear-gradient(to left, #feefdf calc(336px + 65%), transparent calc(35% - 256px));

}

.sec_02.influence{

  background: url(../../recruit/images/voice/bg_influence_01.png) center 440px repeat-y,

    linear-gradient(to right, #fef9e1 calc(336px + 65%), transparent calc(35% - 256px));

}

.sec_03{

  transform: translateX(-80px);

  padding: 50px 80px;

  background: #fff;

}

.sec_03_head{

  padding-right: 80px;

}

.sec_04{

  transform: translateX(80px);

  padding: 60px 80px;

  background: #fff;

}

.sec_04_head{

  padding-left: 80px;

}

@media (max-width: 959px){

  .sec_02.adapt{

    background: url(../../recruit/images/voice/bg_adapt_01.png) center 415px/960px repeat-y,#f3eef7;

  }

  .sec_02.technical{

    background: url(../../recruit/images/voice/bg_technical_01.png) center 415px/960px repeat-y,#feefdf;

  }

  .sec_02.influence{

    background: url(../../recruit/images/voice/bg_influence_01.png) center 415px/960px repeat-y,#fef9e1;

  }

  .sec_03{

    transform: translateX(0);

    padding: 60px 15px;

  }

  .sec_03_head{

    padding-right: 0;

  }

  .sec_04{

    transform: translateX(0);

    padding: 30px 15px;

  }

  .sec_04_head{

    padding-left: 0;

  }

}

@media (max-width: 767px){

  .sec_01{

    margin-bottom: 50px;

  }

  .sec_01[class*="bg"]{

    padding-top: 50px;

    padding-bottom: 50px;

  }

  .sec_02{

    margin-bottom: 30px;

    padding: 50px 0;

  }

   .sec_02.adapt{

    background: url(../../recruit/images/voice/bg_adapt_01.png) center 260px/768px repeat-y,#f3eef7;

  }

  .sec_02.technical{

    background: url(../../recruit/images/voice/bg_technical_01.png) center 260px/768px repeat-y,#feefdf;

  }

  .sec_02.influence{

    background: url(../../recruit/images/voice/bg_influence_01.png) center 260px/768px repeat-y,#fef9e1;

  }

  .sec_03{

    padding: 30px 15px;

  }

}



/*-----------------------

background

-------------------------*/

.bg_gray{

  border-top: 1px solid #ccc;

  border-bottom: 1px solid #ccc;

  background: #f5f6f7;

}





/*-----------------------

slider

-------------------------*/

.slider_01{

  margin-bottom: 85px;

}

.slider_01 a{

  position: relative;

  display: block;

  color: #fff;

  overflow: hidden;

  border-radius: 10px;

}

.slider_01 a > img{

  width: 100%;

  transition: all .8s cubic-bezier(.19,1,.22,1);

  transition-timing-function: cubic-bezier(.19,1,.22,1);

}

.slider_01 a:hover > img{

  transform: scale(1.08);



}

.slider_01_text{

  position: absolute;

  left: 20px;

  bottom: 20px;

}

.swiper-parent{

  position: relative;

  margin-bottom: 140px;

}

@media (max-width: 767px){

  .swiper-parent {

    margin-bottom: 50px;

  }

}

.swiper-button-prev,

.swiper-button-next{

  width: 50px;

  height: 50px;

}

.swiper-button-prev::after,

.swiper-button-next::after{

  content: none;

}

.swiper-button-prev{

  left: auto;

  right: calc(100% + 30px);

}

.swiper-button-next{

  left: calc(100% + 30px);

  right: auto;

}

.swiper-button-prev2 {

  position: absolute;

  top: 50%;

  left: 0;

  z-index: 1;

  transform: translateY(-50%);

}

.swiper-button-prev2:hover,.swiper-button-next2:hover {

  opacity: 0.7;

  cursor: pointer;

}

.swiper-button-next2 {

  position: absolute;

  top: 50%;

  right: 0;

  z-index: 1;

  transform: translateY(-50%);

}

.swiper-pagination-bullet {

  position: relative;

  display: inline-block;

  position: relative;

  display: inline-block;

  width: 26px;

  height: 26px;

  margin: 0 10px;

  text-align: center;

  border: 3px solid #fff;

}

.stopbtn {

  cursor: pointer;

  position: absolute;

  bottom: 20px;

  right: 20px;

  z-index: 100;

  width: 26px;

  height: 26px;

  text-align: center;

  line-height: 26px;

  opacity: 0.85;

  color: #fff;

  margin-bottom: 0;

}

.stopbtn.stop::before {

  display: block;

  content: url(../../recruit/images/voice/stop-btn.svg);

  font-size: 30px;

  font-weight: bold;

}

.stopbtn.start::before {

  content: url(../../recruit/images/voice/start-btn.svg);

}

@media (max-width: 959px){

  .swiper-button-prev{

    left: -15px;

    right: auto;

  }

  .swiper-button-next{

    left: auto;

    right: -15px;

  }

}

@media (max-width: 767px){

  .slider_01{

    margin-bottom: 45px;

    padding-left: 0;

    padding-right: 0;

  }

  .swiper-button-prev,

  .swiper-button-next{

    display: none;

  }

}

.swiper-pagination2 {

	display: flex;

    justify-content: center;

    align-items: center;

    bottom: 20px;

	position: absolute;

    width: 100%;

    padding: 0;

    margin: 0;

    list-style: none;

    text-align: center;

	z-index: 1;

}

/*-----------------------

box_layout_01

-------------------------*/

.box_layout_01{

  position: relative;

  padding-top: 130px;

}

.box_layout_01 .box_layout_img{

  position: absolute;

  top: 0;

  left: -185px;

  width: 800px;

}

.box_layout_01 .box_layout_img img{

  width: 100%;

}

.box_layout_01 .box_layout_inner{

  position: relative;

  width: 650px;

  margin-left: auto;

  margin-right: 0;

  background: #fff;

  padding: 75px 0 75px 85px;

  z-index: 2;

}

.box_layout_01 .box_layout_inner::after{

  content: "";

  position: absolute;

  top: 0;

  left: 100%;

  display: block;

  width: 150px;

  height: 100%;

  background: #fff;

}

@media (max-width: 767px){

  .box_layout_01{

    padding-top: 0;

  }

  .box_layout_01 .box_layout_img{

    position: static;

    width: auto;

    max-width: none;

    margin-left: -15px;

    margin-right: -15px;

    margin-bottom: 15px;

  }

  .box_layout_01 .box_layout_inner{

    width: 100%;

    margin-right: auto;

    padding: 0;

    background: transparent;

  }

  .box_layout_01 .box_layout_inner::after{

    content: none;

  }

}





/*-----------------------

.box_layout_02

-------------------------*/

.box_layout_02{

  margin: 0;

  padding: 0;

  list-style: none;

}

.box_layout_02 .box_layout_head{

  margin: 0;

  padding: 10px 16px;

  text-align: center;

  font-size: 16px;

  font-size: 1rem;

  color: #fff;

  line-height: 2;

}

.box_layout_02 .box_layout_head span{

  position: relative;

  display: inline-block;

}

.box_layout_02 .box_layout_head span::after{

  content: "";

  position: absolute;

  left: 50%;

  bottom: 2px;

  transform: translateX(-50%);

  display: block;

  width: 1.3rem;

  height: 1px;

  background: #fff;

}

.box_layout_02 .box_layout_body{

  padding: 16px;

  background: #fff;

}

.box_layout_02 li:not(:last-child){

  margin-bottom: 30px;

}

.box_layout_02 li:nth-child(1) .box_layout_head{

  background: linear-gradient(#b94b00, #b94b00),

    linear-gradient(135deg, transparent 24px, #b94b00 10px),

    linear-gradient(225deg, transparent 24px, #b94b00 10px),

    linear-gradient(#b94b00, #b94b00);

  background-position: bottom left, top left, top right, bottom right;

  background-size: 50% 50%;

  background-repeat: no-repeat;

}

.box_layout_02 li:nth-child(2) .box_layout_head{

  background: linear-gradient(#007580, #007580),

    linear-gradient(135deg, transparent 24px, #007580 10px),

    linear-gradient(225deg, transparent 24px, #007580 10px),

    linear-gradient(#007580, #007580);

  background-position: bottom left, top left, top right, bottom right;

  background-size: 50% 50%;

  background-repeat: no-repeat;

}

.box_layout_02 li:nth-child(1) .box_layout_body{

  color: #b94b00;

}

.box_layout_02 li:nth-child(2) .box_layout_body{

  color: #007580;

}



/*-----------------------

box_layout_03

-------------------------*/

.box_layout_03{

  margin-bottom: 50px;

}

.box_layout_03 .box_layout_head{

  margin-bottom: 16px;

  font-size: 20px;

  font-size: 1.25rem;

  font-weight: 500;

  letter-spacing: 0.2em;

}

.box_layout_03 .box_layout_body{

  padding: 40px;

  line-height: 2;

  background: #f5f6f7;

  letter-spacing: 0.31em;

}

@media (max-width: 767px){

  .box_layout_03{

    margin-bottom: 30px;

  }

  .box_layout_03 .box_layout_head{

    margin-bottom: 10px;

    font-size: 16px;

    font-size: 1rem;

    letter-spacing: 0.1em;

  }

  .box_layout_03 .box_layout_body{

    padding: 16px;

    letter-spacing: 0.2em;

  }

}





/*-----------------------

box_layout_04

-------------------------*/

.box_layout_04{

  margin-left: -80px;

  margin-bottom: 135px;

}

.box_layout_text_04{

  padding-top: 60px;

}

@media (max-width: 959px){

  .box_layout_04{

    margin-left: 0;

    margin-bottom: 50px;

  }

  .box_layout_text_04{

    padding-top: 0;

  }

}



/*-----------------------

box_layout_05

-------------------------*/

.box_layout_05{

  margin-right: -80px;

  margin-bottom: 135px;

}

.box_layout_text_05{

  padding-top: 60px;

}

@media (max-width: 959px){

  .box_layout_05{

    margin-right: 0;

    margin-bottom: 50px;

  }

  .box_layout_text_05{

    padding-top: 0;

  }

}





/*-----------------------

box_layout_06

-------------------------*/

.box_layout_06{

  margin-bottom: 100px;

}

.box_layout_06 .box_layout_head,

.box_layout_06 .box_layout_body{

  position: relative;

  width: calc(50% + 30px);

  max-width: 500px;

}

.box_layout_06 .box_layout_head{

  z-index: 10;

}

.box_layout_06 .box_layout_head img{

  width: 100%;

}

.box_layout_06 .box_layout_body{

 top: -274px;

  z-index: 1;

  margin: 0 0 -274px auto;

  padding: 20px 20px 20px 80px;

  background: #fff;

  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);

}

.box_layout_06 .box_layout_body .lead{

  font-size: 22px;

  font-size: 1.375rem;

  font-weight: bold;

  line-height: 2;

  letter-spacing: 0.25em;

}

@media (max-width: 767px){

  .box_layout_06{

    margin-bottom: 60px;

  }

  .box_layout_06 .box_layout_head,

  .box_layout_06 .box_layout_body{

    max-width: none;

  }

  .box_layout_06 .box_layout_head{

    width: 100%;

    z-index: 1;

  }

  .box_layout_06 .box_layout_body{

    top: -20px;

    left: 5%;

    width: 90%;

    margin: 0;

    padding: 20px;

    z-index: 10;

  }

}



@media (min-width: 769px){

  .box_layout_06:nth-child(2n+1) .box_layout_head{

    margin: 0 0 0 auto;

  }

  .box_layout_06:nth-child(2n+1) .box_layout_body{

    margin: 0 auto -274px 0;

  padding: 20px 80px 20px 20px;

  }

}



/*-----------------------

text

-------------------------*/

.text-shadow{

  text-shadow: 0 0 5px #002341!important;

}

.text-underline{

  text-decoration: underline!important;

}

.text-undermaker-yellow{

  font-weight: bold;

  background: linear-gradient(transparent 70%, #ffed3c 70%);

}



@media (max-width: 767px){

  .text-center-sp{

    text-align: center!important;

  }

  .text-left-sp{

    text-align: left!important;

  }

  .text-right-sp{

    text-align: right!important;

  }

}



/*-----------------------

img

-------------------------*/

.img_containerFull{

  margin-left: -15px;

  margin-right: -15px;

}

.img_containerFull img{

  width: 100%;

}

.img_box_01{

  margin-bottom: 170px;

  text-align: center;

}

.img_box_01 figcaption{

  margin-bottom: 35px;

  padding-bottom: 1em;

  font-size: 24px;

  font-size: 1.5rem;

  border-bottom: 1px solid #002341;

}

@media (max-width: 959px){

  .img-fluid-md{

    max-width: 100%;

    height: auto;

  }

}

@media (max-width: 767px){

  .img_box_01{

    margin-bottom: 50px;

  }

  .img_box_01 figcaption{

    font-size: 16px;

    font-size: 1rem;;

  }

}



/*-----------------------

color

-------------------------*/

.color_adapt{

  color: #644080!important;

}

.color_technical{

  color: #b94b00!important;

}

.color_influence{

  color: #926d02!important;

}





/*-----------------------

animation

-------------------------*/

.js-fadeIn-01,

.js-fadeIn-02,

.js-fadeIn-03,

.js-fadeIn-04,

.js-fadeIn-05{

  opacity: 0;

  visibility: hidden;

  transform: translateY(30px);

  transition: opacity 0.8s cubic-bezier(0.645, 0.045, 0.355, 1), transform 0.8s cubic-bezier(0.645, 0.045, 0.355, 1);

}

.js-fadeIn-02{

  transition-delay: .2s;

}

.js-fadeIn-03{

  transition-delay: .4s;

}

.js-fadeIn-04{

  transition-delay: .6s;

}

.js-fadeIn-05{

  transition-delay: .8s;

}





/*-----------------------

table_01

-------------------------*/

.table_01{

  margin-bottom: 0;

  padding-top: 50px;

  padding-bottom: 50px;

  border-bottom: 1px solid #002341;

  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";

  line-height: 2;

}

.table_01 dt{

  font-weight: 400;

}

.table_01 dd{

  margin-bottom: 0;

}

@media (max-width: 767px){

  .table_01{

    margin-left: 0;

    margin-right: 0;

    padding-top: 30px;

    padding-bottom: 30px;

    line-height: 1.6;

  }

  .table_01 dt{

     text-align: center;

     margin-bottom: 15px;;

  }

}



/*-----------------------

hr

-------------------------*/

.hr_01{

  margin-top: 85px;

  margin-bottom: 85px;

  border-top: 1px solid #d8d8d8;

}

.hr_02{

  margin-top: 30px;

  margin-bottom: 20px;

  border-top: 1px solid #d8d8d8;

}

@media (max-width: 767px){

  .hr_01{

    margin-top: 50px;

    margin-bottom: 50px;

  }

}



/*-----------------------

list

-------------------------*/

.list_note_01{

  margin: 0;

  padding: 0;

  list-style: none;

}

.list_note_01 li{

  display: flex;

  font-size: 12px;

  font-size: 0.75rem;

}

.list_note_01 .num{

  padding-right: 1em;

}



/*-----------------------

modal_entry

-------------------------*/

#modal_entry .modal-dialog{

  -webkit-transform: translate(0, 0);

  transform: translate(0, 0);

  max-width: 900px;

  width: calc(100% - 30px);

  margin-left: auto;

  margin-right: auto;

}

#modal_entry .modal-content{

  border: none;

  border-radius: 0;

  color: #002341;

}

#modal_entry .modal-header{

  justify-content: center;

  padding: 10px 0;

  background: #0064d2;

  border: none;

  border-radius: 0;

}

#modal_entry .modal-body{

  padding: 20px 30px;

}

#modal_entry .modal-title{

  color: #fff;

  font-size: 32px;

  font-size: 2rem;

}

#modal_entry .close{

  float: none;

  position: absolute;

  top: 0;

  right: 0;

  padding: 10px;

  color: #0064d2;

  background-color: #fff;

  opacity: 1;

}

@media (max-width: 767px){

  #modal_entry .modal-body{

    padding: 20px 15px;

  }

  #modal_entry .modal-title{

    font-size: 24px;

    font-size: 1.5rem;

  }

}





.bg_work{

  background: url("../../recruit/images/work_life_balance/bg_01.png") no-repeat;

  background-position: calc(50% + 480px) 200px;

}

@media (max-width: 767px){

  .bg_work{

    background-position: 60vw 200px;

  }

}



.footer_links_box .inner{

  width: auto;

}

