@charset "UTF-8";
/**************************************************
Brakpoint
***************************************************/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-style: normal;
  font-size: 100%;
  vertical-align: baseline;
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after {
  content: '';
  content: none;
}
q:before, q:after {
  content: '';
  content: none;
}
input, textarea {
  margin: 0;
  padding: 0;
}
ol, ul {
  list-style-image: none;
  list-style-type: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
caption, th {
  text-align: left;
}
a {
  text-decoration: none;
}
a:focus {
  outline: none;
}
.clearfix {
  min-height: 1px;
}
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
* html .clearfix {
  height: 1px;
}
.both {
  clear: both;
}
.inline_block {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}
/* Helper */
.valign_top {
  vertical-align: top;
}
img {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
/* COMMON
--------------------------------------------------- */
html {
  background: #1D1D1D;
  font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-style: normal;
  height: 100%;
  color: #fff;
  font-size: .6944444444vw !important;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "palt";
  letter-spacing: 0.10em;
}

@media screen and (min-width:768px) and (max-width:1024px) {
  html {
    font-size: 0.75vw !important;
  }
}


@media screen and (min-width: 1600px) {
  html {
    font-size: 0.625vw !important;
  }
}

@media screen and (min-width: 1800px) {
  html {
    font-size: 0.556vw !important;
  }
}

@media screen and (min-width: 2000px) {
  html {
    font-size: 0.5vw !important;
  }
}

@media screen and (min-width: 2200px) {
  html {
    font-size: 0.4545vw !important;
  }
}

@media screen and (min-width: 2400px) {
  html {
    font-size: 0.4167vw !important;
  }
}

@media screen and (min-width: 2600px) {
  html {
    font-size: 0.3846vw !important;
  }
}

.bebas{
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
}
a {
  color: #000;
  -webkit-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  cursor: pointer;
}
.pc {
  display: block;
  margin: auto;
}
.sp {
  display: none;
}


.common_btn {
  background-color: #FFE613;
  border-radius: 100px;
  display: flex;
  font-size: 1.6rem;
  align-items: center;
  justify-content: center;
  color: #0EA4DF;
  font-weight: 600;
  padding: 1.1rem 3rem;
  line-height: 1.0;
  position: relative;
}
.common_btn.plus {
  padding: 1.1rem 2.8rem;
}
.common_btn.plus::after {
  content: "";
  position: relative;
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  top: 0px;
  margin-left: 0.4rem;
  vertical-align: middle;
  background-size: contain;
  background: url(/recruit/assets/img/icon_plus.svg) no-repeat center center;
}


.inner1100 {
  max-width: 114rem;
  padding: 0 2rem;
  position: relative;
  margin: 0 auto;
  text-align: center;
}


.skew_both {
    clip-path: polygon(12% 0, 100% 0%, 88% 100%, 0% 100%);
}
.skew_left {
  clip-path: polygon(12% 0, 100% 0%, 100% 100%, 0% 100%);
}
.flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.common_txt_link {
  display: block;
  font-size: 2.0rem;
  font-weight: 900;
}
.common_txt_link::after {
  content: "";
  position: relative;
  display: inline-block;
  width: 4rem;
  height: 4rem;
  top: -2px;
  margin-left: 0.8rem;
  vertical-align: middle;
  background: url(/assets/img/icon_arrow_link.svg) no-repeat center center;
  background-size: contain;
}
.common_txt_link:hover {
  color: #951E27;
}

.common_ttlarea{
  color: #fff;
  text-align: center;
  line-height: 1.3;
  margin-bottom: 5.5rem;
  font-weight: 900;
}
.common_ttl_big{
  font-size: 7.0rem;
}
.common_ttl_normal{
  font-size: 5.4rem;
}
.common_ttl_small{
  font-size: 4.0rem;
}
.common_ttl_border {
  position: relative;
  font-weight: 900;
}
.common_ttl_border::after {
  content: "";
  display: block;
  height: 0.6rem;
  background-color: #951E27;
  width: 9rem;
  margin: 2.5rem auto 0;
  -webkit-transform: skew(-40deg);
  -moz-transform: skew(-40deg);
  -ms-transform: skew(-40deg);
  -o-transform: skew(-40deg);
  transform: skew(-40deg);
}
.common_lead{
  font-size: 3.0rem;
  background-color:  #951E27;
  color: #fff;
  display: inline;
  padding: 0.5rem 1.5rem;
  font-weight: 900;
}
.common_lead_detail{
  font-size: 2.0rem;
 text-align: left;
 font-weight: 500;
 margin-top: 4rem;
}
.common_fin_message{
   font-size: 4.6rem;
   border-top: 0.6rem solid #951E27;
    border-bottom: 0.6rem solid #951E27;
    padding: 2.5rem ;
    line-height: 1.4;
    font-weight: 900;
}

.bg_gray{
  background-color: #393939;
}

.common_second_ttl {
    font-size: 3.6rem;
    font-weight: 900;
    position: relative;
    padding-left: 2.3rem;
    text-align: left;
    line-height: 1.3;
}
.common_second_ttl::before {
    content: '';
    position: absolute;
    top: -0.0rem;
    left: 0;
    border-top: 2rem solid #951E27;
    border-right: 2rem solid transparent;
}

.yellow_marker {
    background: linear-gradient(transparent 92%, #FFDE27 92%);
}


.common_cta_list{
  display: flex;
  justify-content: center;
  margin-top: 7rem;
}
.common_cta_item{
  
  margin: 0 1rem;
}
.common_cta_item a{
 background-color:#FF6C00;
 width: 40rem;
 height: 10rem;
 text-align: center;
 color: #fff;
 display: block;
 border-radius: 1rem;
}

.common_cta_item a.cta_line {
    background-color: #06C755;
}
.common_cta_item a:hover{
opacity: 0.7;
}


.common_cta_sub{
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.0;
  color: #FF6C00;
  padding-top: 2.0rem;
}
.common_cta_item a.cta_line .common_cta_sub{
  color: #06C755;
}
.common_cta_sub span{
  background-color: #fff;
  border-radius: 6rem;
  padding: 0.4rem 1.3rem;
}
.common_cta_name{
  font-size: 3.0rem;
  font-weight: 900;
  line-height: 1.0;
  margin-top: 1.5rem;
  letter-spacing: 0.1em;
  position: relative;
}
.common_cta_name::before{
 content: "";
    position: relative;
    display: inline-block;
    width: 3.3rem;
    height: 2.7rem;
    top: -0.3rem;
    margin-right: 1rem;
    vertical-align: middle;
    background: url(/recruit/assets/img/icon_entry.svg) no-repeat center center;
    background-size: contain;
}
.common_cta_item a.cta_line .common_cta_name::before{
 content: "";
    position: relative;
    display: inline-block;
    width: 3.0rem;
    height: 2.9rem;
    top: -0.2rem;
    margin-right: 0.8rem;
    vertical-align: middle;
    background: url(/recruit/assets/img/icon_line.svg) no-repeat center center;
    background-size: contain;
}


@media screen and (max-width:768px) {
  html {
    font-size: 2.5vw !important;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  body {
    line-height: 1.7;
  }
  .inner1100 {
    max-width: 100%;
    padding: 0 2.5rem;
  }

  .common_ttlarea{
  line-height: 1.3;
  margin-bottom: 3.5rem;
}
.common_ttl_big{
  font-size: 3.3rem;
  letter-spacing: 0;
}
.common_ttl_normal{
  font-size: 2.6rem;
  letter-spacing: 0;
}
.common_ttl_small{
  font-size: 2.2rem;
  letter-spacing: 0;
}


  .common_ttl_border::after {
    height: 0.4rem;
    width: 6rem;
    margin: 2.0rem auto 0;
  }

  .common_lead{
  font-size: 1.8rem;
  line-height: 1.3;
  display: block;
  text-align: left;
  padding: 0.8rem 1.2rem;
  letter-spacing: 0;
}
.common_lead_detail{
  font-size: 1.5rem;
 margin-top: 2.0rem;
}
.common_fin_message{
   font-size: 2.3rem;
   border-top: 0.4rem solid #951E27;
    border-bottom: 0.4rem solid #951E27;
    padding: 2.0rem 0;
    line-height: 1.4;
    letter-spacing: 0;
}


  .common_txt_link {
    font-size: 1.6rem;
  }
  .common_txt_link::after {
    width: 2.5rem;
    height: 2.5rem;
    margin-left: 0.6rem;
  }
  a {
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
  }
  a:hover {
    opacity: 1.0;
    filter: alpha(opacity=100);
  }

 


  .common_second_ttl {
    font-size: 2.2rem;
    padding-left: 1.6rem;
    line-height: 1.4;
  }
  .common_second_ttl::before {
    border-top: 1.5rem solid #951E27;
    border-right: 1.5rem solid transparent;
  }

  .common_cta_list{
  display: block;
  margin-top: 5rem;
}
.common_cta_item{
  
  margin: 1.5rem 0;
}
.common_cta_item a{
 width: 100%;
 height: 8rem;
}


.common_cta_item a:hover{
opacity: 1.0;
}


.common_cta_sub{
  font-size: 1.3rem;
  padding-top: 1.7rem;
}

.common_cta_sub span{
  padding: 0.3rem 1.3rem;
}
.common_cta_name{
  font-size: 2.2rem;
  margin-top: 1.3rem;
}
.common_cta_name::before{
    width: 2.4rem;
    height: 2.1rem;
    top: -0.2rem;
    margin-right: 0.7rem;
}
.common_cta_item a.cta_line .common_cta_name::before{
 content: "";
    position: relative;
    display: inline-block;
    width: 2.5rem;
    height: 2.3rem;
    top: -0.2rem;
    margin-right: 0.6rem;
}



}
/* HEADER
--------------------------------------------------- */
header {
  padding: 0px 4rem;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 11rem;
  z-index: 1001;
}
header .header_inner {
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  justify-content: space-between;
}
header .header_inner .head_logo {
  width: 22rem;
  margin-top: -1rem;
}
header .header_inner .head_logo_copy {
  text-align: center;
  color: #000;
  font-size: 1.4rem;
  letter-spacing: 0;
  margin-top: -1.3rem;
  margin-left: 5rem;
  font-weight: 900;
}


header nav ul.main-nav li a {
  line-height: 1.4;
  display: block;
  font-weight: 600;
}
header nav ul.main-nav li:last-child a {
  border-right: none;
  padding-right: 10px;
}



header .header_inner .global-nav {
    display: block;
  }
  header nav ul {
    display: block;
  }
  header nav ul.main-nav {
    padding-right: 0;
  }

  header nav ul.main-nav li a {
    margin-left: 0;
    padding-right: 0;
    line-height: 1.4;
    font-size: 2.0rem;
    border-right: none;
    padding-top: 1.2rem;
    color: #fff;
    border-bottom: 1px solid #A74D54;
    padding-bottom: 1.5rem;
    padding-top:1.5rem;
  }
 



  .global-nav-wrap {
    background-color: #951E27;
    min-height: 100vh;
    overflow: scroll;
    padding: 3rem 4rem 0;
    position: fixed;
    right: -100vw;
    top: 0;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    width: 25vw;
    z-index: 1000;

  }
  .global-nav-wrap.show {
    bottom: 0;
    right: 0;
    top: 0rem;
  }
  .menu-trigger {
    display: block;
    width: 6rem;
    height: 6rem;
    position: fixed;
    right: 0rem;
    top: 0rem;
    -webkit-transition: background 0.5s ease;
    transition: background 0.5s ease;
    z-index:1001;
    background-color:  #951E27;
 
  
  }

  .menu-trigger .trigger-inner {
    bottom: 0;
    height: 1.3rem;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 3rem;

  }
  .menu-trigger .trigger-inner span {
    background-color: #fff;
    border-radius: 50px;
    height: 2px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    -webkit-transition: All 0.3s ease;
    transition: All 0.3s ease;
    width: 3rem;
    
  
  }
  .menu-trigger .trigger-inner span:first-child {
    top: 1px;
  }
  .menu-trigger .trigger-inner span:nth-child(2) {
    background-color: transparent;
  }
  .menu-trigger .trigger-inner span:nth-child(3) {
    bottom: 0;
  }
  .menu-trigger.active {
    background: transparent;
  }
  .menu-trigger.active:after {
    display: none;
 
  }
  .menu-trigger.active .trigger-inner span:first-child {
    -webkit-transform: translateY(7px) rotate(45deg);
    transform: translateY(7px) rotate(45deg);
    mix-blend-mode: none;
    background-color: #fff;
  }
  .menu-trigger.active .trigger-inner span:nth-child(2) {
    opacity: 0;
  }
  .menu-trigger.active .trigger-inner span:nth-child(3) {
    -webkit-transform: translateY(-3px) rotate(-45deg);
    transform: translateY(-3px) rotate(-45deg);
    mix-blend-mode: none;
    background-color: #fff;
  }
  .overlay {
    background-color: rgba(0, 0, 0, 0.8);
    bottom: 0;
    display: none;
    left: 0;
    overflow: hidden;
    -webkit-overflow-scrolling: touch;
    overflow-y: auto;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 500;
  }



@media screen and (max-width:768px) {
  header {
    padding: 0px 1.5rem;
    height: 7rem;
  }

  header .header_inner .head_logo {
    width: 16rem;
    margin-top: -0.5rem;
  }
  header .header_inner .head_logo_copy {
    font-size: 1.2rem;
    margin-top: -1.0rem;
    margin-left: 4rem;
}

 .menu-trigger {
    width: 5rem;
    height: 5rem;
  
 
  
  }

  .menu-trigger .trigger-inner {
    height: 1.2rem;
    width: 2.5rem;

  }
  .menu-trigger .trigger-inner span {
    width: 2.5rem;
  }
    .menu-trigger.active .trigger-inner span:first-child {
    -webkit-transform: translateY(0.5rem) rotate(45deg);
    transform: translateY(0.5rem) rotate(45deg);
  }
  .menu-trigger.active .trigger-inner span:nth-child(2) {
    opacity: 0;
  }
  .menu-trigger.active .trigger-inner span:nth-child(3) {
    -webkit-transform: translateY(-0.4rem) rotate(-45deg);
    transform: translateY(-0.4rem) rotate(-45deg);
  }

  header nav ul.main-nav li a {

    line-height: 1.4;
    font-size: 1.6rem;
    padding-bottom: 1.3rem;
    padding-top:1.3rem;
  }
 



  .global-nav-wrap {
    padding: 2rem 2.5rem 0;
    width: 75vw;


  }

  .global-nav .common_cta_list{
    margin-top: 2.5rem;

  }
    .global-nav .common_cta_item {
          margin: 1.0rem 0;

  }
    .global-nav .common_cta_item a {
    height: 6.5rem;

  }
    .global-nav .common_cta_sub {
        font-size: 1.2rem;
        padding-top: 1.3rem;
    }
      .global-nav .common_cta_name {
        font-size: 1.8rem;
        margin-top: 1.0rem;
    }
 
}
/* KV
--------------------------------------------------- */
.kv {
  width: 100%;
  padding-bottom: 10rem;
  position: relative;
  margin-bottom: 3rem;
}
.kv_img {
  position: relative;
}
.kv_txt {
 position: absolute;
  top: 44%;
  left: 9rem;
  transform: translate(-0%, -50%);
  color: #000;
  z-index: 1;
}

.kv_copy_en{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 3rem;
  width: 85%;
}
.kv_ttl{
  font-size: 7.0rem;
  font-weight: 900;
  text-align: center;
  line-height: 1.1;
   letter-spacing: 0.03em;
}
.kv_ttl span{
  font-size: 4.0rem;
}
.kv_ttl_sub{
  font-size: 3.0rem;
  font-weight: 900;
  text-align: center;
  line-height: 1.2;
  letter-spacing: 0.09em;
  margin-bottom: 1.3rem;
}
.kv_subttl{
  font-size: 2.6rem;
  font-weight: 900;
  text-align: center;
  border-top: 0.4rem solid #951E27;
  border-bottom: 0.4rem solid #951E27;
  padding: 0.0rem 0;
  max-width: 50rem;
  margin: 0 auto;
}

.kv_point_list{
  display: flex;
  justify-content: center;
  margin-top: 2.3rem;
}
.kv_point_item{
margin: 0 -0.8rem;
width: 19.5rem;
}

.kv_cta .common_cta_list{
margin-top: 2.5rem;


}
.kv_cta .common_cta_item {
  margin: 0 0.5rem;

}
.kv_cta .common_cta_item a {
    width: 26rem;
    height: 7.5rem;
    text-align: center;

}
.kv_cta .common_cta_sub {
   font-size: 1.2rem;
   padding-top: 1.7rem;
}
.kv_cta .common_cta_sub span{
       padding: 0.2rem 1.3rem;
}
.kv_cta .common_cta_name {
    margin-top: 0.8rem;
        font-size: 2.0rem;
}
.kv_cta .common_cta_name:before {
  transform: scale(0.7);
      margin-right: 0.2rem;
}
.kv_cta .common_cta_item a.cta_line .common_cta_name::before {
   margin-right: 0.2rem;
}

.kv_bottom_point_list{
  position: absolute;
  left: 0;
  bottom: 4rem;
  padding: 0 9rem;
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.kv_bottom_point_item{
  width: 23.5%;
  text-align: center;
  background-color: #fff;
  border: 3px solid #951E27;
  font-size:2.2rem ;
  font-weight: 900;
  position: relative;
  padding: 3.3rem 0 1.5rem;
}
.kv_bottom_point_item:last-child{
  padding: 2.4rem 0 1.5rem;
}
.kv_bottom_point_number{
  position: absolute;
   left: 50%;
  transform: translateX(-50%);
  top: -2.3rem;
}
.kv_bottom_point_number span{
  text-align: center;
 background-color:#951E27;
  font-size:1.5rem ;
  font-weight: 700;
  line-height: 1.3;
  padding: 0.3rem 1.5rem;
}
.kv_bottom_point_name{
  text-align: center;
  color: #000;
  font-size:2.2rem ;
  font-weight: 900;
  line-height: 1.3;
}
.kv_bottom_point_name span{
  display: block;
  font-size:1.3rem ;
  line-height: 1.2;
  margin-top: 0.3rem;
}
@media screen and (max-width:768px) {
  .kv {
  padding-bottom: 0rem;
  margin-bottom: 0;
}

.kv_txt {
  top: 9.0rem;
  left: 50%;
  transform: translateX(-50%);
  width: 86%;
}

.kv_copy_en{
  bottom: 3rem;
  width: 95%;
}
.kv_ttl{
  font-size: 4.2rem;
  line-height: 1.2;
  letter-spacing: 0;
  margin-bottom: 0.0rem;
}
.kv_ttl span{
  font-size: 3.0rem;
   letter-spacing: 0;
}
.kv_ttl_sub {
    font-size: 2.0rem;
    line-height: 1.1;
    letter-spacing: 0em;
  
    margin: 0 auto 1.3rem;;
}


.kv_subttl{
  font-size: 1.8rem;
  border-top: 0.3rem solid #951E27;
  border-bottom: 0.3rem solid #951E27;
  padding: 0.0rem 0;
    width: 85.5%;
}

.kv_point_list{
  display: flex;
  justify-content: center;
  margin-top: 1.2rem;
}
.kv_point_item{
margin: 0 -0.5rem;
width: 50%;
}


.kv_cta .common_cta_list{
margin-top: 1rem;


}
.kv_cta .common_cta_item a {
    width: 100%;
    height: 5rem;
   
}
.kv_cta .common_cta_name {
    margin-top: 0rem;
     font-size: 2.0rem;
}

.kv_bottom_point_list{
  position: absolute;
  left: 0;
  bottom: 4.5rem;
  padding: 0 2rem;
  width: 100%;
  flex-wrap: wrap;
}
.kv_bottom_point_item{
  width: 48.5%;
  border: 2px solid #951E27;
  font-size:2.0rem ;
  padding: 1.6rem 0 1.1rem;
  margin-top: 5%;
}
.kv_bottom_point_item:last-child{
  padding: 1.6rem 0 1.1rem;
}
.kv_bottom_point_item:nth-child(3){
  padding: 2.2rem 0 1.1rem;
}
.kv_bottom_point_number{
  top: -2.3rem;
  width: 100%;
}
.kv_bottom_point_number span{
  font-size:1.2rem ;
  padding: 0.2rem 1.0rem;
}
.kv_bottom_point_name{
  font-size:1.5rem ;
  letter-spacing: 0;
  line-height: 1.3;
}
.kv_bottom_point_name span{
  font-size:1.1rem ;
  margin-top: 0.3rem;
}


}

/* trouble
--------------------------------------------------- */
#trouble{
  padding: 11rem 0 14rem;
}

.trouble_list_box{
position: relative;
height: 29rem;
max-width: 96rem;
margin: 0 auto;
}
.trouble_list_img{
width: 24rem;
position: absolute;
bottom: 0;
left: 11rem;
z-index: 1;
}
.trouble_list_txt{
left: 37rem;
top: 3.7rem;
text-align: left;
font-size: 2.8rem;
font-weight: 700;
position: absolute;
z-index: 1;
}
.trouble_box{
background-color: #555555;
height: 29rem;
width: 96rem;
display: flex;
justify-content: center;
position: relative;

}
.trouble_item{
  position: relative;
  padding-left: 3.5rem;
  line-height: 1.4;
  margin-top: 1.2rem;
}
.trouble_item::before{
  content: "";
    position: absolute;
    left: 0;
    width: 2.8rem;
    height: 2.3rem;
    top: 0.8rem;
    vertical-align: middle;
    background: url(/recruit/assets/img/icon_check.svg) no-repeat center center;
    background-size: contain;
}

.trouble_triangle{
  display: inline-block;
  vertical-align: middle;
  color: #951E27;
  line-height: 1;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  border-width:2rem 4.5em;
  border-top-color: currentColor;
  border-bottom: 0;
  margin: 4rem 0 3rem;
}

@media screen and (max-width:768px) {
  #trouble{
  padding: 7rem 0 9rem;
}

.trouble_list_box{
height: 39rem;
max-width: 100%;
}
.trouble_list_img{
width: 15rem;
position: absolute;
bottom: 0;
left: 10rem;
z-index: 1;
}
.trouble_list_txt{
left: 2rem;
top: 2.0rem;
font-size: 1.8rem;
letter-spacing: 0;
}
.trouble_box{
height: 39rem;
width: 100%;

}
.trouble_box.skew_both {
clip-path:none;
}


.trouble_item{
  position: relative;
  padding-left: 2.6rem;
  line-height: 1.4;
  margin-top: 1.2rem;
}
.trouble_item::before{
    width: 2.0rem;
    height: 1.8rem;
    top: 0.6rem;
    vertical-align: middle;
    background: url(/recruit/assets/img/icon_check.svg) no-repeat center center;
    background-size: contain;
}

.trouble_triangle{
  border-width:1.5rem 3em;
  border-top-color: currentColor;
  border-bottom: 0;
  margin: 2rem 0 2rem;
}
}


/* lead
--------------------------------------------------- */

#lead{
  padding: 11rem 0 14rem;
}
.lead_big_img{
margin: 8rem calc(50% - 50vw) 8rem;
width: 100vw;
}

.sp_menu_list {
  display: flex;
  flex-wrap: wrap;
  /* margin-bottom: 4rem; */
  justify-content: center;
  border-top:1px solid #555;
   border-bottom:1px solid #555;
/*   justify-content: space-between; */
}

.sp_menu_item {

}
.sp_menu_item a {
  color: #fff;
  font-size: 1.6rem;
  font-weight: 900;

  display: flex;
  align-items: center;
  width: 100%;
  padding: 1.8rem 2.5rem;
  position: relative;
flex: 1;
}

.sp_menu_item a::after {
 content: "";
 background-color: #555;
 position: absolute;
 right: 0rem;
 top: 1.7rem;
 width: 0.1rem;
 height: 3rem;
}
.sp_menu_item:first-child a::before{
content: "";
 background-color: #555;
 position: absolute;
 right: auto;
 left: 0;
  top: 1.7rem;
 width: 0.1rem;
 height: 3rem;


}

.sp_menu_item a:hover {
opacity: 0.7;
}


.icon_anchor{
 
   display: inline-block;
  width: 1rem;
  height: 1rem;
  vertical-align: -0.3rem;
  border-right: 3px solid #951E27;
  border-bottom: 3px solid #951E27;
  transform: rotate(45deg);
  margin-left: 0.7rem;
  margin-top: -0.3rem;
}
@media screen and (max-width:768px) {
 #lead{
  padding: 7rem 0 9rem;
}
.lead_big_img{
margin: 4rem calc(50% - 50vw) 4.5rem;
}
.sp_menu_list {
  margin-bottom: 0rem;
  border-bottom: none;
}

.sp_menu_item {
  width: 50%;
}
.sp_menu_item a {
  font-size: 1.4rem;
  border-right:1px solid #555;
  border-bottom:1px solid #555;
  display: flex;
  width: 100%;
  padding: 1.5rem;
}
.sp_menu_item:nth-child(even) a {
  border-right:none;

}


.icon_anchor{
  position: absolute;
  top: 50%;
  right: 1.5rem;
   display: inline-block;
  width: 1rem;
  height: 1rem;
  border-right: 3px solid #951E27;
  border-bottom: 3px solid #951E27;
  transform: rotate(45deg);
  margin-top: -0.7rem;
}

.sp_menu_item a::after {
display: none;
}
.sp_menu_item:first-child a::before{
display: none;


}

.sp_menu_item a:hover {
opacity: 1.0;
}


}
/* reason
--------------------------------------------------- */
#reason {
  padding: 11rem 0 14rem;
}
.reason_list{
  margin-top: 6rem;
}
.reason_item{
  display: flex;
  align-items: center;
  margin-top: 8rem;
}
.reason_item:nth-child(even){
  flex-direction: row-reverse;
}
.reason_img{
  width: 55%;
}
.reason_txt{
  width: 45%;
  text-align: left;
  padding-left: 6rem;
}
.reason_item:nth-child(even) .reason_txt{
  padding-left: 0rem;
    padding-right: 6rem;
}

.reason_number{
  margin-bottom: 1.2rem;
}
.reason_number span{
  background-color:  #951E27;
  color:  #fff;
  font-size: 1.5rem;
  font-weight: 700;
  padding: 0.4rem 0.6rem;
}
.reason_name{
   font-size: 3.4rem;
   line-height: 1.3;
   font-weight: 900;
}
.reason_detail{
   font-size: 1.8rem;
   font-weight: 500;
   margin-top: 2rem;
}

@media screen and (max-width:768px) {
  #reason {
  padding: 7rem 0 9rem;
}
.reason_list{
  margin-top: -1rem;
}
.reason_item{
  display:block;
  margin-top: 5rem;
}

.reason_img{
  width: 100%;
}
.reason_txt{
  width: 100%;
  padding-left: 0rem;
  margin-top: 2rem;
}
.reason_item:nth-child(even) .reason_txt{
  padding-left: 0rem;
    padding-right: 0rem;
}

.reason_number{
  margin-bottom: 1rem;
}
.reason_number span{
  font-size: 1.3rem;
  padding: 0.4rem 0.6rem;
}

.reason_name{
   font-size: 2.2rem;
   line-height: 1.3;
}
.reason_detail{
   font-size: 1.5rem;
   margin-top: 0.8rem;
}

 
}
/* job
--------------------------------------------------- */
#job {
  padding: 11rem 0 14rem;
}
.job_project_wrap{
  position: relative;
  margin-top: 5rem;
}
.job_project_txt{
  position: absolute;
  left: 16rem;
  top:5rem;
  text-align: left;
  color: #000;
}
.job_project_item{
  font-size: 2.2rem;
  font-weight: 700!important;
position: relative;
padding-left: 2.5rem;
margin-bottom: 0.5rem;
}
.job_project_item::before{
  content: "◆";
  color:  #951E27;
  position: absolute;
  left: 0;
  top: 0;
}

.job_flow{
  margin-top: 5rem;
}
.job_result {
  margin-top: 10rem;
}
.job_result .lead_big_img{
  margin-top: 3rem!important;
}

.job_result_list{
margin-top: -3rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  text-align: left;
  padding-bottom: 6rem;
}
.job_result_item{
  width: 50%;
    font-size: 2.2rem;
  font-weight: 700!important;
  margin-bottom: 1.3rem;
  position: relative;
  padding-left: 2.7rem;
}
.job_result_item::before{
  content: "●";
  color:  #951E27;
  position: absolute;
  left: 0;
  top: 0.2rem;
}


@media screen and (max-width:768px) {
  #job {
  padding: 7rem 0 9rem;
}
.job_project_wrap{
  position: relative;
  margin-top: 3rem;
}
.job_project_txt{
  position: relative;
  left: 0rem;
  top:0;
  color: #fff;
  margin-top: 1.5rem;
}
.job_project_item{
  font-size: 1.6rem;
padding-left: 2.0rem;
margin-bottom: 0.0rem;
}


.job_flow{
  margin-top: 3rem;
}
.job_result {
  margin-top: 5.5rem;
}
.job_result .lead_big_img{
  margin-top: 2rem!important;
}

.job_result_list{
margin-top: -1.5rem;
  display: block;
  padding-bottom: 4rem;
}
.job_result_item{
  width: 100%;
    font-size: 1.6rem;
  margin-bottom: 0.3rem;
  padding-left: 2.0rem;
}

}


/* salary
--------------------------------------------------- */
#salary {
  padding: 11rem 0 14rem;
}
.salary_point_list{
  display: flex;
  justify-content: center;
  margin-top: 4rem;
} 
.salary_point_item{
  width: 32rem;
  margin: 0 -0.8rem;
} 

.salary_voice{
  margin-top: 7rem;
}
.salary_voice_list{
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}
.salary_voice_item{
 width: 48.5%;
 background-color: #555555;
 padding: 2.5rem;
 margin-top: 3%;
}

.salary_voice_head{
  display: flex;
  align-items: center;
  text-align: left;
}
.salary_voice_icon{
  width: 16%;
}
.salary_voice_ttl_wrap{
  width: 84%;
  margin-top: -0.5rem;
  padding-left: 1.5rem;
}
.salary_voice_ttl{
  font-size: 2.2rem;
  line-height: 1.4;
   font-weight: 700;
}
.salary_voice_name{
  font-size: 1.5rem;
  font-weight: 500;
}
.salary_voice_bottom{
  display: flex;
   align-items: center;
   justify-content: space-between;
   margin-top: 1.5rem;
}
.salary_voice_common_box{
  background-color: #EEEEEE;
  width: 47%;
  color: #666666;
  position: relative;
 min-height: 8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  
}
.salary_voice_common_box.after{
  background-color: #F7E4E5;
  color:  #951E27;
}
.salary_voice_common_arrow{
  width: 6%;
 width: 0;
  height: 0;
  border-style: solid;
  border-top: 1.5rem solid transparent;
  border-bottom: 1.5rem solid transparent;
  border-left: 1.2rem solid  #951E27;
  border-right: 0;
  margin-left: 0.2rem;
}

.salary_voice_common_label{
  background-color: #666666;
  font-size: 1.2rem;
  font-weight: 500;
  display: inline-block;
  position: absolute;
  left: 0;
  color: #fff;
  top: 0;
  padding: 0.2rem 0.8rem;
}
.salary_voice_common_box.after .salary_voice_common_label{
  background-color:  #951E27;
}
.salary_voice_common_small{
    font-size: 2.0rem;
  font-weight: 800;
  line-height: 1.0;
   letter-spacing: 0;
}
.salary_voice_common_big{
 font-size: 5.5rem;
  font-weight: 400;
  letter-spacing: 0;
   line-height: 1.0;
  vertical-align: -0.2rem;
}
.salary_voice_common_normal{
 font-size: 2.6rem;
 font-weight: 800;
  line-height: 1.0;
   letter-spacing: 0;
}

.salary_allowance{
  margin-top: 8rem;
}
.salary_pickup_list{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 2.5rem;
}
.salary_pickup_item{
  width: 46%;
  text-align: left;
    font-size: 2.4rem;
    font-weight: 900 !important;
    position: relative;
    padding-left:3rem;
    margin-top:0.8rem;
    text-align: left;
    line-height: 1.5;
}
.salary_pickup_item::before {
    content: "◆";
    color: #951E27;
    position: absolute;
    left: 0;
    top: 0;
}

@media screen and (max-width:768px) {
  #salary {
  padding: 7rem 0 9rem;
}
.salary_point_list{
  margin-top: 3rem;
  flex-wrap: wrap;
} 
.salary_point_item{
  width: 50%;
  margin: 0 -0.5rem 1.2rem;
} 
.salary_point_item:last-child{
  width: 59.4%;
  margin: 0 0 1.2rem;
} 

.salary_voice{
  margin-top: 2.5rem;
}
/* .salary_voice_list{
  margin: 1.5rem calc(50% - 50vw) 0;
width: 100vw;
 display: flex;
 flex-wrap:nowrap;
 justify-content:flex-start;
   overflow-x: scroll;
padding-bottom: 1rem;
}
.salary_voice_item{
 width:75%;
 padding: 2rem 1.5rem 1.5rem;
 margin-top: 0;
 flex-shrink: 0;
 margin-right: 1.0rem;
 box-sizing: border-box;
 word-wrap: break-word;
} */

.salary_voice_list{

 display: block;
padding-bottom: 1rem;
}
.salary_voice_item{
 width:100%;
 padding: 2rem 1.5rem 1.5rem;
 margin-top: 1.0rem;
 margin-right: 0;
 box-sizing: border-box;
 word-wrap: break-word;
}


.salary_voice_item:first-child{
 margin-left: 0;
}

.salary_voice_head{
 align-items: flex-start;
  box-sizing: border-box;
}
.salary_voice_icon{
  width: 18%;

}
.salary_voice_ttl_wrap{
  width: 82%;
  margin-top: 0rem;
  padding-left: 0.8rem;
 
}
.salary_voice_ttl{
  font-size: 1.6rem;
  line-height: 1.35;
   margin-top: -0.3rem;
 
}
.salary_voice_name{
  font-size: 1.2rem;
  letter-spacing: 0;
}
.salary_voice_bottom{
   margin-top: 1.5rem;
}
.salary_voice_common_box{
  width: 47%;
 min-height: 6.2rem;
  
}

.salary_voice_common_arrow{
  border-top: 0.7rem solid transparent;
  border-bottom: 0.7rem solid transparent;
  border-left: 0.6rem solid  #951E27;
  margin-left: 0.2rem;
}

.salary_voice_common_label{
  font-size: 1.1rem;
  padding: 0.0rem 0.6rem;
}
.salary_voice_common_number{
  padding-top: 0.6rem;
}
.salary_voice_common_small{
    font-size: 1.4rem;
}
.salary_voice_common_big{
 font-size: 4.0rem;
  vertical-align: -0.2rem;
  margin: 0 -0.2rem;
}
.salary_voice_common_normal{
 font-size: 1.6rem;
 font-weight: 800;
  line-height: 1.0;
   letter-spacing: 0;
}

.salary_allowance{
  margin-top: 4rem;
}

.salary_pickup_list{
  display: block;
 
  margin-top: 2rem;
}
.salary_pickup_item{
  width: 100%;
   font-size: 1.8rem;
  margin-top: 2%;
  padding-left: 2.2rem;
  letter-spacing: 0;
  line-height: 1.5;
}



}

/* training
--------------------------------------------------- */
#training{
padding: 0rem 0 14rem;

}
.training_ttlarea{
  position: relative;
  margin-bottom: 7rem;
}
.training_ttlarea_bg{
  position: relative;
  background-color: #000;
}
.training_ttlarea_bg img{
  opacity: 0.7;
}
.training_ttlarea_txt{
 position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.training_ttlarea_txt .common_ttlarea{
    margin-bottom: 0rem;
}

.training_list{
  display: flex;
  justify-content: space-between;
  margin-top: 5rem;
}
.training_item{
  width: 33.3333%;
  padding: 0 4rem;
}
.training_number{
  color:  #951E27;
  font-size:2.0rem ;
  font-weight: 700;
}
.training_icon{
  width: 12rem;
  margin: 0.5rem auto 2rem;
}
.training_ttl{
  font-size: 2.4rem;
  line-height: 1.4;
}
.training_detail{
  font-size: 1.6rem;
  text-align: left;
   font-weight: 500;
   margin-top: 1.5rem;

}

.training_program{
  margin-top: 8rem;
}
.training_program_flex{
  display: flex;
  margin-top: 3rem;
}
.training_program_img{
 width: 50%;
}
.training_program_txt{
 width: 50%;
 padding-left: 5rem;
 text-align: left;
 font-size: 1.8rem;
 font-weight: 500;
}

@media screen and (max-width:768px) {
  #training{
padding: 0rem 0 9rem;

}
.training_ttlarea{
  margin-bottom: 4rem;
}

.training_ttlarea_bg img{
  opacity: 0.7;
  object-fit: cover;
  height: 24rem;
}
.training_ttlarea_txt{
  width: 100%;
}


.training_list{
  display: block;
  justify-content: space-between;
  margin-top: 0rem;
}
.training_item{
  width: 100%;
  padding: 0 0rem;
  margin-top: 3.0rem;
}
.training_number{
  font-size:1.6rem ;
}
.training_icon{
  width: 9rem;
  margin: 0.5rem auto 2rem;
}
.training_ttl{
  font-size: 2.0rem;
}
.training_detail{
  font-size: 1.5rem;
  text-align: left;
   margin-top: 1.5rem;

}

.training_program{
  margin-top: 5rem;
}
.training_program_flex{
  display: block;
  margin-top: 1.5rem;
}
.training_program_img{
 width: 100%;
}
.training_program_txt{
 width: 100%;
 padding-left: 0rem;
 margin-top: 2rem;
 font-size: 1.5rem;
}
}


/* voice
--------------------------------------------------- */
#voice{
padding: 11rem 0 14rem;

}

.voice_item{
background-color: #555555;
padding: 3rem;
display: flex;
margin-top: 1.5rem;
text-align: left;

}
.voice_icon{
width: 12%;
}
.voice_txt{
  width: 88%;
  padding-left: 2rem;
}
.voice_name{
  font-size: 2.2rem;
  line-height: 1.4;
  font-weight: 900;
}
.voice_name span{
  background-color:  #951E27;
  font-size: 1.6rem;
  padding: 0.4rem 1rem;
  font-weight: 700;
  margin-left: 0.8rem;
  vertical-align: 0.25rem;
}
.voice_detail{
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.8;
  margin-top: 1.2rem;
}
@media screen and (max-width:768px) {
  #voice{
padding: 7rem 0 9rem;

}

.voice_list{
  margin: 1.5rem calc(50% - 50vw) 0;
width: 100vw;
 display: flex;
 flex-wrap:nowrap;
 justify-content:flex-start;
 overflow-x: scroll;
  -webkit-overflow-scrolling: touch;  /* スクロールを滑らかにする */
padding-bottom: 1rem;
}



.voice_item{
 width:75%;
 padding: 2rem 1.5rem 1.5rem;
 margin-top: 0;
 flex-shrink: 0;
 margin-right: 1.0rem;
 box-sizing: border-box;
 word-wrap: break-word;
 display: block;

}
.voice_item:first-child{
margin-left: 2.5rem;

}
.voice_icon{
width: 22%;
}
.voice_txt{
  width: 100%;
  padding-left: 0rem;
  margin-top: 1.3rem;
}
.voice_name{
  font-size: 1.8rem;
  line-height: 1.4;
}
.voice_name span{
  font-size: 1.4rem;
  padding: 0.4rem 1rem;
  margin-left: 0.5rem;
  vertical-align: 0.25rem;
  margin-top: 0.5rem;
}
.voice_detail{
  font-size: 1.5rem;
  line-height: 1.6;
  margin-top: 0.8rem;
}

}

/* career
--------------------------------------------------- */
#career{
padding: 11rem 0 0rem;

}
.career_list{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: -3rem;
}
.career_item{
  width: 31%;
  background-color: #333333;
  padding: 5rem 2.5rem 2.5rem;
  margin-top: 3.5%;
  position: relative;
}
.career_item::after{
  content: "";
  position: absolute;
  right: -8%;
  top: 50%;
  margin-top: -1.2rem;
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 1.5rem solid transparent;
    border-bottom: 1.5rem solid transparent;
    border-left: 1.2rem solid #fff;
    border-right: 0;
    margin-left: 0.2rem;
}
.career_item:nth-child(3n):after,
.career_item:last-child:after{
 display: none;
}


.career_item.full{
  width: 100%;
   padding: 3.0rem 2.5rem 3.5rem;
}
.career_number{
  position: absolute;
  left: 0;
  top: 0;
  background-color:  #951E27;
  font-weight: 700;
  font-size: 1.6rem;
  padding: 0.2rem 1.2rem;
  
}
.career_name{
  font-size: 2.4rem;
  line-height: 1.4;
  margin-bottom: 0.8rem;
}
.career_detail{
  font-size: 1.5rem;
  line-height: 1.6;
  text-align: left;
  font-weight: 500;
}
.career_item.full .career_name{
font-size: 3.4rem;
}
.career_item.full .career_detail{
 text-align: center;
}

.career_bg{
  margin-top: 10rem;
  position: relative;
  margin-bottom: 8rem;
}
.career_bg_img{
  position: relative;
}
.career_bg_txt{
   position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
.career_fin_list{
  margin-top: 3rem;
}

.career_fin_item{
font-size: 1.8rem;
    font-weight: 700 !important;
    position: relative;
    padding-left: 2.2rem;
    margin-top: 1.5rem;
    text-align: left;
    line-height: 1.5;
}
.career_fin_item::before{
  content: "◆";
    color: #951E27;
    position: absolute;
    left: 0;
    top: 0;

}

.career_fin_flex{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 4rem;
}
.career_fin_flex_img{
  width: 45%;
}
.career_fin_flex_txt{
  width: 55%;
  padding-left: 5rem;
}
.career_fin_flex_txt .common_lead_detail{
      margin-top: 0rem;
}
@media screen and (max-width:768px) {
  #career{
padding: 7rem 0 0rem;

}
.career_list{
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
   overflow-x: scroll;
  margin: 0 calc(50% - 50vw);
width: 100vw;
padding-bottom: 1rem;
}
.career_item{
  width: 60%;
  background-color: #333333;
  padding: 4.5rem 1.5rem 2.0rem;
  margin-top: 0%;
  position: relative;
  margin-right: 1rem;
  flex-shrink: 0;
}
.career_item:first-child{
  margin-left: 2.5rem;
}
.career_item::after{
 display: none;
}



.career_item.full{
  width: 60%;
 padding: 4.5rem 1.5rem 2.0rem;
}
.career_number{

  font-size: 1.3rem;
  
}
.career_name{
  font-size: 2.0rem;
  letter-spacing: 0;
  line-height: 1.4;
  margin-bottom: 1rem;
}
.career_detail{
  font-size: 1.5rem;
  line-height: 1.6;
  text-align: left;
  font-weight: 500;
}
.career_item.full .career_name{
 font-size: 2.0rem;
}
.career_item.full .career_detail{
 text-align: left;
}

.career_bg{
  margin-top: 5rem;
  margin-bottom:3rem;
}
.career_bg_img{
  position: relative;
}
.career_bg_img img{
  object-fit: cover;
  height: 30rem;
}


.career_fin_list{
  margin-top: 2rem;
}

.career_fin_item{
font-size: 1.6rem;
    padding-left: 1.5rem;
}
.career_fin_flex{
  display:block;
  margin-top: 3rem;
}
.career_fin_flex_img{
  width: 100%;
}
.career_fin_flex_txt{
  width: 100%;
  padding-left: 0rem;
  margin-top: 2rem;
}
.career_fin_flex_txt .common_lead_detail{
      margin-top: 0rem;
}
}


/* recruit
--------------------------------------------------- */
#recruit{
padding: 11rem 0 14rem;

}
.recruit_item{
display: flex;
text-align: left;
  font-size: 1.6rem;
  border-top: 1px solid #555555;
}
.recruit_item:last-child{
  border-bottom: 1px solid #555555;
}
.recruit_ttl{
width: 20%;
background-color: #333333;
padding: 3rem;
font-weight: 900;
}
.recruit_detail{
width: 80%;
font-weight: 500;
padding: 3rem 4rem;
}


@media screen and (max-width:768px) {
 #recruit{
padding: 7rem 0 9rem;

}
.recruit_item{
display: block;
text-align: left;
  font-size: 1.5rem;
  border-top: none;
}
.recruit_item:last-child{
  border-bottom: 1px solid #555555;
}
.recruit_ttl{
width: 100%;
padding: 1.0rem 1.5rem;

}
.recruit_detail{
width: 100%;
padding: 2rem;
}
}


/* 流用
--------------------------------------------------- */

.appeal01_dx_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-bottom: 4rem;
  margin-top: 1rem;
}
.appeal01_dx_list .appeal01_dx_item {
  width: 33.3333%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 4rem;
}
.appeal01_dx_list .appeal01_dx_item .appeal01_dx_img {
  position: relative;
}
.appeal01_dx_list .appeal01_dx_item .appeal01_dx_name {
  position: absolute;
  color: #fff;
  font-size: 3.0rem;
    font-weight: 700;
}
.appeal01_merit {
  margin: 14rem 0 14rem;
}
.appeal01_merit_list {
  margin-top: 3rem;
}
.appeal01_merit_list .appeal01_merit_item {
  border-bottom: 1px solid #ddd;
  padding: 4.5rem 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.appeal01_merit_list .appeal01_merit_item .appeal01_merit_icon {
  width: 16%;
}
.appeal01_merit_list .appeal01_merit_item .appeal01_merit_txt {
  width: 84%;
  padding-left: 4rem;
  text-align: left;
  font-size: 1.8rem;
}
.appeal01_merit_list .appeal01_merit_item .appeal01_merit_txt .appeal01_merit_ttl {
  font-size: 2.4rem;
  font-weight: 900;
}
.appeal01_merit_list .appeal01_merit_item .appeal01_merit_txt .appeal01_merit_detail {
  padding-top: 0.6rem;
  line-height: 1.8;
}

 
.appeal04_license_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(5, 1fr);
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  border-top: 1px solid #777777;
  margin-top: 2.5rem;
}
.appeal04_license_list .appeal04_license_item {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #777777;
  box-sizing: border-box;
  text-align: left;
  background-color: #555555;
  vertical-align: middle;
}
.appeal04_license_list .appeal04_license_item:first-child {}
.appeal04_license_list .appeal04_license_item:nth-child(1) {
  grid-area: 1 / 1 / 2 / 2;
}
.appeal04_license_list .appeal04_license_item:nth-child(2) {
  grid-area: 2 / 1 / 3 / 2;
}
.appeal04_license_list .appeal04_license_item:nth-child(3) {
  grid-area: 3 / 1 / 4 / 2;
}
.appeal04_license_list .appeal04_license_item:nth-child(4) {
  grid-area: 4 / 1 / 5 / 2;
}
.appeal04_license_list .appeal04_license_item:nth-child(5) {
  grid-area: 5 / 1 / 6 / 2;
}
.appeal04_license_list .appeal04_license_item:nth-child(6) {
  grid-area: 1 / 2 / 2 / 3;
}
.appeal04_license_list .appeal04_license_item:nth-child(7) {
  grid-area: 2 / 2 / 3 / 3;
}
.appeal04_license_list .appeal04_license_item:nth-child(8) {
  grid-area: 3 / 2 / 4 / 3;
}
.appeal04_license_list .appeal04_license_item:nth-child(9) {
  grid-area: 4 / 2 / 5 / 3;
}
.appeal04_license_list .appeal04_license_item:nth-child(10) {
  grid-area: 5 / 2 / 6 / 3;
}
.appeal04_license_list .appeal04_license_item .appeal04_license_name {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.3;
  width: 36%;
  letter-spacing: 0.05em;
  height: 8rem;
  vertical-align: middle;
  padding: 0 2.5rem;
  display: flex;
  align-items: center;
}
.appeal04_license_list .appeal04_license_item .appeal04_license_detail {
  font-size: 1.8rem;
  line-height: 1.3;
   font-weight: 500;
  width: 64%;
  letter-spacing: 0.05em;
  vertical-align: middle;
  background-color: #393939;
  height: 8rem;
  padding: 0 2.5rem;
  display: flex;
  align-items: center;
}


@media screen and (max-width:768px) {

  .appeal01_dx_list {
    padding-bottom: 2rem;
    margin-top: 1rem;
  }
  .appeal01_dx_list .appeal01_dx_item {
    width: 50%;
    margin-top: 2rem;
  }
  .appeal01_dx_list .appeal01_dx_item .appeal01_dx_name {
    font-size: 1.8rem;
  }
  .appeal01_merit {
    margin: 8rem 0 9rem;
  }
  .appeal01_merit_list {
    margin-top: 0rem;
  }
  .appeal01_merit_list .appeal01_merit_item {
    padding: 3.5rem 0;
  }
  .appeal01_merit_list .appeal01_merit_item .appeal01_merit_icon {
    width: 22%;
  }
  .appeal01_merit_list .appeal01_merit_item .appeal01_merit_txt {
    width: 78%;
    padding-left: 2rem;
    font-size: 1.5rem;
  }
  .appeal01_merit_list .appeal01_merit_item .appeal01_merit_txt .appeal01_merit_ttl {
    font-size: 2.0rem;
  }
  .appeal01_merit_list .appeal01_merit_item .appeal01_merit_txt .appeal01_merit_detail {
    padding-top: 0.6rem;
    line-height: 1.7;
    text-align: justify;
  }
  
  .appeal04_program_list {
    display: block;
    margin-top: 2.5rem;
  }
  .appeal04_program_item {
    margin-bottom: 2.5rem;
  }
  .appeal04_program_txt {
    font-size: 1.5rem;
    margin-top: 3.0rem;
    line-height: 1.7;
  }
  .appeal04_license {
    margin-bottom: 8rem;
  }
  .appeal04_license_txt {
    font-size: 1.5rem;
    margin-top: 2.0rem;
    line-height: 1.7;
  }
  .appeal04_license_wrap {
    margin-top: 2.5rem;
  }
  .appeal04_license_list {
    display: block;
        margin-top: 1.5rem;
  }
  .appeal04_license_list .appeal04_license_item {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    text-align: left;
    vertical-align: middle;
  }
  .appeal04_license_list .appeal04_license_item .appeal04_license_name {
    font-size: 1.4rem;
    width: 40%;
    height: auto;
    padding: 2.0rem;
  }

  .appeal04_license_list .appeal04_license_item .appeal04_license_detail {
    font-size: 1.4rem;
    line-height: 1.3;
    width: 60%;
    height: auto;
    padding: 2.0rem;
  }
 
}



/* FOOTER
--------------------------------------------------- */
footer {
  background-color: #262626;
  width: 100%;
  padding: 7rem 0 25rem;
  color: #fff;
}
footer a {
  color: #fff;
}

.footer_logo {
  width: 22rem;
}

.footer_company_list{
  text-align: left;
  margin-top: 2rem;
}
.footer_company_item{
  display: flex;
  border-top: 1px solid #383838;
  padding: 2rem 0;
  font-size: 1.5rem;
  line-height: 1.5;
}
.footer_company_item:last-child{
  border-bottom: 1px solid #383838;
}
.footer_company_ttl{
  width: 12%;
   font-weight: 700;
}
.footer_company_detail{
  width: 88%;
  padding-left: 2rem;
    font-weight: 500;
}


footer a:hover {
  text-decoration: underline;
}

.footer_bottom {
  padding: 3rem 0;
  font-size: 1.4rem;
  position: relative;
  
}

.footer_bottom .footer_cr {
  font-size: 1.2rem;
  font-weight: 500;
}
.footer_bottom .footer_pp a {
  font-size: 1.3rem;
  font-weight: 500;
}
#pageTop {
  width: 5rem;
  height: 5rem;
  text-align: center;
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 5;
}
.fixed_cv {
  position: fixed;
  right: 0;
  top: 20rem;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  line-height: 1.0;
  letter-spacing: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}
.fixed_cv a {
  background: transparent linear-gradient(162deg, #46C9E8 0%, #25ADB9 47%, #08C9B3 100%) 0% 0% no-repeat padding-box;
  border-radius: 5px 0px 0px 5px;
  color: #fff;
  font-size: 2.2rem;
  font-weight: 900;
  padding: 4.5rem 2.2rem 4.5rem 2.5rem;
  box-sizing: border-box;
}
.fixed_cv a span {
  position: relative;
}
.fixed_cv a span::before {
  content: "";
  position: relative;
  display: inline-block;
  width: 2.7rem;
  height: 2.2rem;
  margin-bottom: 0.7rem;
  margin-left: -0.7rem;
  vertical-align: middle;
  background: url(/recruit/assets/img/icon_entry.svg) no-repeat center center;
  background-size: contain;
}
.fixed_cv a:hover {
  opacity: 0.8;
}

#page_top {
  position: fixed;
  left: 2rem;
  bottom: 2rem;
  z-index: 100;
}

#page_top a {
  position: relative;
  text-decoration: none;
  padding-top: 0.2rem;
  display: block;
  width: 5.0rem;
  height: 5.0rem;
  border-radius: 500px;
  background: #666;
  display: flex;
  justify-content: center;
  align-items: center;
}



#page_top a span::after {
  content: '';
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  border-top: 0.2rem solid #fff;
  /* 矢印の太さの指定 */
  border-left: 0.2rem solid #fff;
  /* 矢印の太さの指定 */
  transform: rotate(45deg);
}

#side_fixed_cta {
    position: fixed;
    right: 2rem;
    width: 28rem;
    z-index: 100;
}
.side_fixed_cta_item {
    margin-top: 1.0rem;
}
.side_fixed_cta_item a:hover{
   opacity: 0.8;
}

@media screen and (max-width:768px) {
  footer {
    padding: 6rem 0 8rem;
  }

  .footer_logo {
  width: 18rem;
}


.footer_company_item{
  display: flex;
  padding: 1.5rem 0;
  font-size: 1.4rem;
}

.footer_company_ttl{
  width: 18%;
}
.footer_company_detail{
  width: 82%;
  padding-left: 1.5rem;
}




  .footer_bottom {
    margin-top: 0rem;
    padding: 3rem 0;
    font-size: 1.3rem;
  }
  .footer_bottom::before {
    display: none;
  }
  .footer_bottom .footer_cr {
    font-size: 1.0rem;
    padding-top: 2rem;
  }
  #pageTop {
    width: 4rem;
    height: 4rem;
    bottom: 1.5rem;
    right: 1.5rem;
  }
  .fixed_cv {
    right: 0;
    top: auto;
    bottom: 0;
    left: 0;
    writing-mode: horizontal-tb;
   width: 100%;
    z-index: 2;
  }
  .fixed_cv a {
    width: 100%;
    border-radius: 5px 5px 0px 0;
    font-size: 1.8rem;
    text-align: center;
    padding: 1.8rem 0;
  }
  .fixed_cv a span::before {
    content: "";
    position: relative;
    display: inline-block;
    width: 2.7rem;
    height: 2.2rem;
    margin-bottom: 0rem;
    margin-left: 0;
    margin-top: -0.3rem;
    margin-right: 0.8rem;
    vertical-align: middle;
    background: url(/assets/img/icon_entry.svg) no-repeat center center;
    background-size: contain;
  }
  .fixed_cv a:hover {
    opacity: 0.8;
  }

    #page_top {
      left: auto;
    right: 1.0rem;
    bottom: 8rem;
    z-index: 100;
  }

  #page_top a {
    padding-top: 0.2rem;
    width: 3.5rem;
    height: 3.5rem;
  }



  #page_top a span::after {
    width: 0.6rem;
    height: 0.6rem;
  }
#side_fixed_cta {
  display: none;
}

}

/* form
--------------------------------------------------- */
.common_form_wrap{
    text-align: left;
    font-size: 1.8rem;
    margin-bottom: 14rem;
}

.form_confirm_caution{
        color: #eb6a7a;
    border: 2px solid #eb6a7a;
    font-size: 1.8rem;
    padding: 1rem 2rem;
    text-align: center;
    font-weight: 700;
    margin-bottom: 2rem;
}
.form_confirm_caution_txt{
      font-size: 1.6rem;
    margin-bottom: 5rem;
}
.form_area {
  padding: 0 0 12rem;
}
.form_area dl {
  margin-bottom: 4rem;
}
.form_area dl.thanks dt {
  font-size: 2.8rem;
font-weight: 900;
  padding-bottom: 3rem;
}
.form_area dt {
  font-size: 1.8rem;
  font-weight: 900;
  padding-bottom:0.5rem;
}
.form_area dt span.blue {
  color: #951E27;
}
.form_area dt span.hissu {
  color: #eb6a7a;
  font-size: 1.1rem;
  padding-left: 0.5rem;
}
.form_area dd {
  font-size: 1.6rem;
}
.form_area dd li {
  width: 48%;
  display: inline-table;
}
.form_area input {
  border: #CCCCCC 1px solid;
  box-sizing: border-box;
  max-width: 600px;
  width: 100%;
  padding: 1.3rem;
  font-size: 1.6rem;
}
.form_area textarea {
  border: #CCCCCC 1px solid;
  box-sizing: border-box;
  max-width: 600px;
  width: 100%;
  height: 150px;
  padding: 8px;
  font-size: 14px;
}
.form_area select {
  box-sizing: border-box;
  width: 100%;
  border: #CCCCCC 1px solid;
  max-width: 600px;
  padding: 1.3rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;

  border-radius: 0;
  background-color: #fff;
  font-size: 1.6rem;
}
.form_area .radio_css {
  -webkit-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear;
  position: relative;
  display: inline-block;
  padding: 0 0 0 27px;
  vertical-align: middle;
  cursor: pointer;
  text-align: left;
}
.form_area input[type=radio],
.form_area input[type=checkbox] {
  display: none;
}
.form_area .radio_css:hover:after {
  border-color:#951E27;
}
.form_area .radio_css:after {
  -webkit-transition: border-color 0.2s linear;
  transition: border-color 0.2s linear;
  position: absolute;
  top: 50%;
  left: 0px;
  display: block;
  margin-top: -10px;
  width: 16px;
  height: 16px;
  border: 2px solid #ccc;
  border-radius: 3px;
  content: '';
}
.form_area .radio_css:before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: 7px;
  display: block;
  margin-top: -7px;
  width: 5px;
  height: 9px;
  border-right: 2px solid  #951E27;
  border-bottom: 2px solid #951E27;
  content: '';
  opacity: 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.form_area input[type=radio]:checked + .radio_css:before,
.form_area input[type=checkbox]:checked + .radio_css:before  {
  opacity: 1;
}
.doui {
  background-color: #EEEEEE;
  margin-bottom: 10px;
  font-size: 14px;
  text-align: center;
  padding: 20px;
}
.doui p {
  font-size: 14px;
  margin-top: 0px;
}
.doui a {
  text-decoration: underline;
  color: #951E27;
}
.form_area input[type=checkbox] {
  display: none;
}
.check_css {
  -webkit-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear;
  position: relative;
  display: inline-block;
  padding: 0 0 0 27px;
  vertical-align: middle;
  cursor: pointer;
  text-align: left;

}
.check_css:hover:after {
  border-color: #951E27;
}
.check_css:after {
  -webkit-transition: border-color 0.2s linear;
  transition: border-color 0.2s linear;
  position: absolute;
  top: 50%;
  left: 0px;
  display: block;
  margin-top: -10px;
  width: 16px;
  height: 16px;
  border: 2px solid #ccc;
  border-radius: 3px;
  content: '';
}
.check_css:before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: 7px;
  display: block;
  margin-top: -7px;
  width: 5px;
  height: 9px;
  border-right: 2px solid #951E27;
  border-bottom: 2px solid #951E27;
  content: '';
  opacity: 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.form_area input[type=checkbox]:checked + .check_css:before {
  opacity: 1;
}

.more_btn_form{
    background-color: #951E27;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 900;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2rem 0;
    max-width: 40rem;
    border-radius: 5px;
    margin: 0 auto;
}

.more_btn_form_back{
    background-color: #666;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 900;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1.5rem 0;
    max-width: 30rem;
    border-radius: 5px;
    margin: 2rem auto 0;
}


.done_area {
  margin: 6rem auto 1rem;
  text-align: center;
}
.form_head_txt {
 font-size: 1.6rem;
  line-height: 1.8;
  padding-bottom: 45px;
}.form_head_txt a{
text-decoration: underline;
    color: #951E27;
}

#agrAlart,.error_message{
    font-size: 1.6rem;
    font-weight: 900;
        color: #eb6a7a;
}
@media screen and (max-width:768px) {
  .form_area {
    padding: 0 0 8rem;
  }
  .form_area dl.thanks dt {
    font-size: 2.0rem;
    padding-bottom: 25px;
  }
    .form_area dt {
  font-size: 1.5rem;
}
    
  .form_area dl.thanks dd {
    font-size: 1.5rem;
  }
    
    .done_area {
  margin: 3rem auto 1rem;
  text-align: center;
}
    #agrAlart,.error_message{
    font-size: 1.4rem;
 
}
    
  .form_area input, .form_area button, .form_area textarea, .form_area select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0;
  }

  #sp_fixed_cta{
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
  }

    #sp_fixed_cta .common_cta_list{
      display: flex;

  }
    #sp_fixed_cta .common_cta_item{
    width: 50%;
    margin: 0;

  }
    #sp_fixed_cta .common_cta_item a{
       border-radius: 0;
       height: 7rem;

  }
      #sp_fixed_cta .common_cta_sub {
        font-size: 1.2rem;
        padding-top: 1.5rem;
    }


       #sp_fixed_cta .common_cta_name {
        font-size: 1.8rem;
        margin-top: 1.2rem;
        letter-spacing: 0;
    }
    #sp_fixed_cta .common_cta_name::before {
        width: 2.2rem;
        height: 1.9rem;
        top: -0.2rem;
        margin-right: 0.7rem;
    }
    #sp_fixed_cta .common_cta_item a.cta_line .common_cta_name::before {

        width: 2.0rem;
        height: 1.9rem;
        top: -0.2rem;
        margin-right: 0.6rem;
    }




}


/* ANIMETION
--------------------------------------------------- */
.fadein {
  -webkit-transition: .6s;
  -o-transition: .6s;
  transition: .6s !important;
  opacity: 0;
  -ms-transform: translate(0, 40px);
  transform: translate(0, 40px);
  -webkit-transform: translate(0, 40px);
}
.fadein_af {
  opacity: 1.0;
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
}
.del_01 {
  -webkit-transition-delay: 0.2s !important;
  -o-transition-delay: 0.2s !important;
  transition-delay: 0.2s !important;
}
.del_02 {
  -webkit-transition-delay: 0.4s !important;
  -o-transition-delay: 0.4s !important;
  transition-delay: 0.4s !important;
}
.del_03 {
  -webkit-transition-delay: 0.6s !important;
  -o-transition-delay: 0.6s !important;
  transition-delay: 0.6s !important;
}
@media only screen and (max-width: 768px) {
  .del_01 {
    -webkit-transition-delay: 0s !important;
    -o-transition-delay: 0s !important;
    transition-delay: 0s !important;
  }
  .del_02 {
    -webkit-transition-delay: 0s !important;
    -o-transition-delay: 0s !important;
    transition-delay: 0s !important;
  }
  .del_03 {
    -webkit-transition-delay: 0s !important;
    -o-transition-delay: 0s !important;
    transition-delay: 0s !important;
  }
}
.dummy-space {
  height: 50vh;
}
.modal-link-items {
  display: none;
}



/*離脱POPUP
------------*/
#modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.6);
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
#modalContent {
  background: #fff;
  padding: 35px 80px;
  border: 8px solid #06c755;
  text-align: center;
  max-width: 450px;
  position: relative;
}
.modal_subttl{
  font-size: 18px;
  text-align: center;
  padding-bottom: 5px;
  color: #000;
   font-weight: 700;
}
.modal_logo{
  max-width: 26rem;
  margin: 0 auto 25px;
 
}

.modal_line_ttl{
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  color: #06c755;
  border-top: 2px solid #06c755;
  border-bottom: 2px solid #06c755;
  padding: 5px 0;
  margin-bottom: 15px;
}

.modal_line_qr{
  max-width: 160px;
  margin: 0 auto;
}

.modal_close{
  position: absolute;
  right: -13px;
  top: -55px;
}

.modal_icon_close{
  display: block;
  position: relative;
  width: 40px;
  height: 40px;
}
.modal_icon_close::before, .modal_icon_close::after { 
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3px; /* 棒の幅（太さ） */
  height: 40px;; /* 棒の高さ */
  background: #fff;
}
 
.modal_icon_close::before {
  transform: translate(-50%,-50%) rotate(45deg);
}
 
.modal_icon_close::after {
  transform: translate(-50%,-50%) rotate(-45deg);
}

#modal button{
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}
.modal_line_btn{
  display: none;
}
@media screen and (max-width:767px) {

  #modalContent {
    padding: 25px 25px;
    border: 4px solid #06c755;
    max-width: 85%;
    width: 85%;
    box-sizing: border-box;
  }
  .modal_subttl{
    font-size: 15px;
    padding-bottom: 3px;
  }
  .modal_logo{
    max-width: 70%;
    margin: 0 auto 20px;
  }
  
  .modal_line_ttl{
    font-size: 18px;
    border-top: none;
    border-bottom: none;
    padding: 0px 0;
    margin-bottom: 8px;
  }
  
  .modal_line_qr{
   display: none;
  }
  
  .modal_close{
    position: absolute;
    right: -13px;
    top: -50px;
  }
  

  .modal_line_btn{
   width: 90%;
   margin: 0 auto;
   display: block;
  }

}

/* /lp/ad/用の重複class
--------------------------------------------------- */
.lp-ad{
  
}

.lp-ad .common_cta_item a {
width: 60rem;
}

.lp-ad .kv_cta .common_cta_item a {
    width: 53rem;
    height: 7.5rem;
    text-align: center;
}


@media screen and (max-width:768px) {
  .lp-ad .common_cta_item a {
width: 100%;
}

   .lp-ad #sp_fixed_cta .common_cta_item {
        width: 100%;
        margin: 0;
    }


}
