@charset "utf-8";
:root{
  --saira: "Saira", sans-serif;
}
html {
  scroll-behavior: auto;
}

body{
  font-size: 1.6rem;
  line-height: 2;
  font-weight: normal;
  font-weight: 400;
  font-family: "Hiragino Sans","Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  color: #333;
}

.gf {
  font-family: "Saira", sans-serif;
}

.sp{ display: none !important;}
.pc{ display: block !important;}

@media only screen and (max-width: 1024px) {
  .sp{ display: block !important;}
  .pc{ display: none !important;}
}

.sp2{ display: none !important;}
.pc2{ display: block !important;}

@media only screen and (max-width: 768px) {
  .sp2{ display: block !important;}
  .pc2{ display: none !important;}
}

.wrap_l{
  max-width: 1512px;
  padding: 0 36px;
  width: 100%;
  margin: 0 auto;
}

.wrap{
  max-width: 1372px;
  padding: 0 36px;
  width: 100%;
  margin: 0 auto;
}

.wrap_s{
  max-width: 1160px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .wrap,
  .wrap_l{
    padding: 0 20px;
  }
  
}

.flex_c{
  display: flex;
  justify-content: center;
  width: 100%;
}

h1,h2,h3{
  font-weight: 500;
}

img{
  width: 100%;
  height: auto;
}

button,
a{
  cursor: pointer;
  transition: opacity 0.2s ease;
}

a:hover{
  opacity: 0.5;
}

.marker{
    color:darkgreen;
}

@media screen and (max-width: 1024px) {
  a:hover{
    opacity: 1;
  }
}

img{
  width: 100%;
}

a.zm_img{
  display: block;
}
a.zm_img figure{
  overflow: hidden;
}
a.zm_img figure img{
  display: block;
  transition: transform 0.4s ease;
}

a.blank{
  position: relative;
}

a.blank::after{
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: 0.5em;
  margin-bottom: -0.1em;
  background-size: 100%;
  background-repeat: no-repeat;
  background-image: url(../svg/icon_blank.svg);
}

@media screen and (min-device-width: 768px) {
  .hover_an .hover_t{
    position: relative;
    overflow: hidden;
  }
  
  .hover_an .hover_t::after{
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    left:0;
    top:0;
    background: #22AC38;
    z-index: 2;
    transform-origin: 0 0;
    transform: rotateY(90deg);
    transition: all 0.2s ease-in-out;
  }
  
  .hover_an:hover{
    opacity: 1;
  }

  .hover_an:hover .hover_t::after{
    transform: rotateY(0deg);
  }
  
}


.table1{
  width: 100%;
  border-top: 1px dotted #CCCCCC;
}

.table1 .va_top{
  vertical-align: top;
  padding-top: 32px;
}

.table1 tr{
  border-bottom: 1px dotted #CCCCCC;
}

.table1 tr th{
  width: 268px;
  text-align: left;
  vertical-align: top;
  padding: 30px 24px;
}

.table1 tr th sup{
  color: #FF0808;
}

.table1 tr td{
  padding: 30px 0px;
  width: calc(100% - 268px);
}

.table1 .name_box{
  align-items: center;
  display: flex;
  gap: 20px;
}

.table1 .name_box>li{
  display: flex;
  align-items: center;
}

.table1 .name_box>li>span{
  width: 45px;
  display: block;
  white-space: nowrap;
  text-align: left;
}

.error{
  color: #f10;
}


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

  .table1,
  .table1 tbody,
  .table1 tr,
  .table1 tr th,
  .table1 tr td{
    display: block;
    width: 100%;
  }

  .table1 tr th {
    text-align: left;
    vertical-align: middle;
    padding: 25px 0 20px;
    font-weight: bold;
    font-size: 2rem;
    line-height: 1.5;
  }

  .table1 tr td{
    padding: 0em 15px 25px;
    vertical-align: top;
  }

  .table1 .name_box>li{
    margin-bottom: 20px;
  }

}

@media screen and (max-width: 768px) {
  .table1 .name_box{
    display: block;
  }
}

header{
  position:fixed;
  left:0;
  top:0;
  background:#fff;
  height: 100px;
  width: 100%;
  display: flex;
  align-items: center;
  padding-left: 25px;
  z-index: 10010;;
}

/*▼2025/03/10更新*/
header .logo{
  display: block;
  position: relative;
  z-index: 2;
}

header .logo:hover{
  opacity: 0.5;
}
@media screen and (max-width: 768px) {
  header .logo:hover{
    opacity: 1;
  }  
}
/*▲2025/03/10更新*/



header .menu{
  position: absolute;
  display: flex;
  right:250px;
  top: auto;
  width: 100%;
  justify-content: flex-end;
}
header .menu>li{
  margin-left: 70px;
  font-size: 1.6rem;
}
header .menu>li>a{
  font-weight: bold;
}

header .catch{
  padding-left: 30px;
  font-weight: normal;
  font-size: 1.4rem;
  line-height: 1.75;
  text-align: left;
  color: #333;
}

header .entry_button{
  position: absolute;
  right: 100px;
  width: 100px;
  height: 100px;
  background: #22AC38;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.6rem;
  line-height: 1.75;
  text-align: left;
  color: #fff;
}

header nav {
  position: fixed;
  top: 100px;
  height: calc(100vh - 100px);
  height: calc(100dvh - 100px);
  width: 100%;
  left:auto;
  right: 0;
  text-align: left;
  -webkit-overflow-scrolling: touch;
  padding: 0px;
  overflow: auto;
  visibility: hidden;
  background: #fff;
  transition: all 0.2s ease-in-out;
  opacity: 0;
  display: none;
  z-index: 1000;
}

header.block nav.slide{
  display: block;
  right: -300px;
}

header.block.active nav{ 
  opacity: 1;
  visibility: visible;
}

header.block nav.slide{
  display: block;
  opacity: 1;
}

header.block.active nav.slide{ 
  opacity: 1;
  right: 0px;
  visibility: visible;
}

header.block nav.fade_in{
  display: block;
  right: 0px;
  width: 100%;
}

header.block.active nav.fade_in{ 
  opacity: 1;
  right: 0px;
  visibility: visible;
}

header nav .row{
  padding: 0 60px;
}

header nav .row .row1 {
  display: flex;
  text-align: left;
}

header nav .ttl{
  text-align: left;
}

header nav .ttl .jp{
  position: relative;
  font-size: 1.6rem;
  display: inline-block;
  padding-right: 2em;
  text-align: left;
}

header nav .ttl .jp::after {
  content: '';
  position: absolute;
  right: 0;
  top: 13px;
  width: 0.5em;
  height: 0.5em;
  border-top: 2px solid #8E8E8E;
  border-right: 2px solid #8E8E8E;
  transform: rotate(45deg);
}

header nav .ttl .en {
  display: block;
  font-size: 3.6rem;
  line-height: 1.2;
  margin-bottom: 0px;
  text-align: left;
  font-weight: 200;
}

header nav .row{
  display: flex;
  max-width: 1560px;
  margin: 50px auto;
  padding: 0 60px;
}

header nav .row .row1{
  display: flex;
  justify-content: space-between;
  padding-right: 5%;
}

header nav .row .row1 .menu1>li{
  margin-bottom: 60px;
}

header nav .row .row1 .col1{
  width: 300px;
}
header nav .row .row1 .col2{
  width: 400px
}

header nav .row .row2{
  padding-right: 10px;
}

header nav .row .row2 .col3{
  width: 225px
}

header nav .row .row2 .col4{
  width: 235px
}

header nav .row .row2 .col4 .menu3>li>a {
  display: inline-block;
  position: relative;
  padding-right: 50px;
  white-space: nowrap;
}

header nav .row .row2 .col4 .menu3>li>a::after{
  content: '';
  position: absolute;
  background-image: url(../svg/blank.svg);
  background-size: 12px;
  background-repeat: no-repeat;
  top: 10px;
  right: 0;
  width: 12px;
  height: 12px;
  display: block;
}

header nav .row .row2{
  display: flex;
  justify-content: space-between;
  width: 41%;
}

header nav .row  .menu2>li{
  margin-bottom: 40px;
}

header nav .row  .job_menu{
  display: flex;
  flex-wrap: wrap;
  gap:34px 20px;
  margin-top: 38px;
}

header nav .row .job_menu>li{
  width: calc( (100% - 40px) / 3);
}

header nav .row .recruit_menu>li:nth-child(1)>a{
  background: #004EA2;
}

header nav .row .recruit_menu>li:nth-child(2)>a{
  background: #004EA2;
}

header nav .row .recruit_menu>li{
  margin-bottom: 20px;
}

header nav .row .recruit_menu>li>a{
  font-size: 1.8rem;
  color:#fff;
  background: #23AB39;
  line-height: 78px;
  padding: 0 26px;
  border-radius: 6px;
  display: block;
}

@media screen and (max-width: 1500px) {
  header .menu>li{
    margin-left: 3vw;
    font-size: 1.1vw;
  }

  header .menu {
    right: 224px;
  }
}
@media screen and (max-width: 1350px) {

  header nav .row{
    padding: 0 36px;
    justify-content: space-between;
  }
  
  header nav .ttl .en {
    display: block;
    font-size: 2.5vw;
  }

  header nav .row .row1{
    padding-right: 0;
    width: 53%;
  }

  header nav .row .row1 .col1 {
    width: 240px;
  }

  header nav .row .row1 .col2{
    width: calc(100% - 240px);
  }

  header nav .row .job_menu {
    display: flex;
    flex-wrap: wrap;
    gap: 34px 20px;
    margin-top: 38px;
  }

  header nav .row .job_menu>li p{
    font-size: 1.11vw;
      line-height: 140%;
      margin-top: 10px;
  }

  header nav .row .row2{
    width: 42%;
  }

  header nav .row .row2 .col3{
    width: 42%
  }
  
  header nav .row .row2 .col4{
    width: 48%;
  }

  header nav .row .recruit_menu>li>a{
    font-size: 1.6rem;
    line-height: 78px;
    padding: 0 1em;
    border-radius: 6px;
    display: block;
  }
}
@media screen and (max-width: 1300px) {
  header .logo{
    width: 210px;
    margin-top: -15px;
  }
  header .catch {
    padding-left: 20px;
    font-size: 1.2rem;
    line-height: 1.75;
  }
  header nav .row .row1 .col1 {
    width: 220px;
  }

  header nav .row .row1 .col2{
    width: calc(100% - 220px);
  }
  header nav .row .row1{
    width: 53%;
  }
  header nav .row .row2{
    width: 44%;
  }

  header .menu>li {
    margin-left: 2.5vw;
  }
}

@media screen and (max-width: 1024px) {
  header .menu{
    display: none;
  }

  header nav .row {
    margin: 20px auto;
    padding: 0 36px;
    display: block;
    justify-content: space-between;
  }

  header nav .row .job_menu>li p{
    font-size: 1.6rem;
  }

  header nav .row .row1 .menu1>li {
    margin-bottom: 30px;
  }

  header nav .row .row1 {
    width: 100%;
    margin-bottom: 60px;
    display: block;
  }

  header nav .row .row2{
    width: 100%;
  }

  header nav .row .row1 .col1 {
    width: 100%;
  }

  header nav .row .row1 .col2 {
    width: 100%;
  }

  header nav .row .row2 {
    width: 100%;
    display: block;
  }

  header nav .row .row2 .col3{
    width: 100%;
  }

  header nav .ttl .en {
    display: block;
    font-size: 3.6rem;
  }
}


@media screen and (max-width: 768px) {
  header {
    position: fixed;
    left: 0;
    top: 0;
    background: #fff;
    height: 50px;
    width: 100%;
    padding-left: 10px;
    z-index: 100;
  }

  header .logo{
    width: 140px;
    margin-top: -3px;
  }

  header .logo img{
    width: 100%;
    vertical-align: middle;
  }

  header .catch {
    padding-left: 10px;
    font-size: 1rem;
  }

  header .entry_button {
    right: 50px;
    width: 50px;
    height: 50px;
    font-size: 1.1rem;
  }

  header nav {
    top: 50px;
    height: calc(100vh - 50px);
    height: calc(100dvh - 50px);
  }

  header nav .row .job_menu {
    margin-top: 20px;
  }
    
    header nav .row .row2 .col4{
    width: 100%;
  }

}
@media screen and (max-width: 425px) {
  header nav .row .job_menu>li p {
    font-size: 3vw;
  }

  header .catch {
    padding-left: 5px;
    font-size: 1rem;
  }
}

  /*メニューボタン*/
  header #menu_button {
    position: fixed;
    display: block;
    right: 0px;
    top: 0px;
    cursor: pointer;
    height: 100px;
    width: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
  }

  header #menu_button>.inr{
    position: relative;
    width: 48px;
    height: 22px;
    cursor: pointer;
    margin-top: 0px;
    transition: all 0.3s ease;
    transform: rotate(0deg);
    z-index: 2;
  }

  header.active #menu_button>.inr {
    margin-left: -10px;
  }

  header #menu_button>.inr>div {
    width: 90%;
    height: 2px;
    background: #000000;
    position: absolute;
    transition: all 0.3s;
    z-index: 11;
  }

  header #menu_button>.inr>div:nth-child(1) {
    top: 0%;
    left: 10%;
    -webkit-transform: translate(0%, 0%);
    transform: translate(0%, 0%);
  }

  header #menu_button>.inr>div:nth-child(2) {
    top: 50%;
    left: 0px;
  }

  header #menu_button>.inr>div:nth-child(3) {
    top: 100%;
    left: 10%;
    transform: translate(0%, 0%);
  }

  header.active #menu_button>.inr>div {
    position: absolute;
    transition: all 0.3s;
    width: 100%;
  }

  header.active #menu_button>.inr>div:nth-child(1) {
    top: 50%;
    margin-left: 0px;
    width: 100%;
    transform: translate(0, -50%) rotate(45deg);
  }

  header.active #menu_button>.inr>div:nth-child(2) {
    display: none;
  }

  header.active #menu_button>.inr>div:nth-child(3) {
    top: 50%;
    margin-left: 0px;
    width: 100%;
    transform: translate(0, -50%) rotate(-45deg);
  }
  @media screen and (max-width: 768px) {
    header #menu_button {
      right: 0px;
      top: 0px;
      height: 50px;
      width: 50px;
      z-index: 10;
    }
  
    header #menu_button>.inr {
      position: relative;
      width: 26px;
      height: 16px;
    }

    header #menu_button>.inr>div {
      height: 1px;
    }

    header.active #menu_button>.inr {
      margin-left: -5px;
    }
  
  }

  .footer_buttons {
    height: 280px;
    display: flex;
    justify-content:center;
    align-items: center;
    padding: 0 36px;
    background-image: linear-gradient(to bottom right, #B6DDF3, #ACE3A2);
  }

  .footer_buttons ul{
    display: flex;
    justify-content: center;
    max-width: 1280px;
    gap:40px;
    width: 100%;
    text-align: center;
  }

  .footer_buttons ul>li{
    width: calc((100% - 80px) / 3);
  }
  .footer_buttons ul>li>a{
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 118px;
    width: 100%;
    background: #fff;
    border-radius: 12px;
  }
  .footer_buttons ul>li>a span{
    font-family: Saira;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.33;
    color: #8e8e8e;
    display: block;
  }
  .footer_buttons ul>li>a strong{
    font-weight: normal;
    font-size: 24px;
    line-height: 1;
    color: #23ab39;
    display: block;
  }

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

    .footer_buttons {
      display: block;
      padding: 30px 36px 0px;
      height: auto;
      overflow: hidden;
    }
    .footer_buttons ul{
      display: block;
    }

    .footer_buttons ul>li{
      width: 100%;
      margin-bottom: 30px;
    }
  
  }
  @media screen and (max-width: 768px) {
    .footer_buttons {
      padding: 30px 20px 0px;
    }
  }

  footer{
    padding: 60px 0;
    background: #F5F5F5;
  }

  footer .block{
    display: flex;
    max-width: 1340px;
    margin:0 auto;
    padding: 0 10px 0 20px;
  }
  footer .block .box1{
    width: 400px;
  }
  footer .block .box1 p.logo{
    width: 306px;
    margin-bottom: 60px;
  }
  footer .block .box1 p.logo a{
    display: block;
  }

  footer .block .box1 p.fax{
    margin-bottom: 35px;
  }
  footer .block .box1 .corp{
    padding-right: 58px;
    display: inline-block;
    background-image: url(../svg/blank.svg);
    background-size: 15px;
    background-repeat: no-repeat;
    background-position: right center;
  }

  footer .block .box1 .privacy{
    padding-right: 58px;
    display: inline-block;
    background-image: url(../svg/blank.svg);
    background-size: 15px;
    background-repeat: no-repeat;
    background-position: right center;
  }
  
  footer .block .box1 p.copy{
    font-size: 1.4rem;
    font-weight: 500;
  }

  footer .block .box2{
    width: calc(100% - 400px);
  }

  footer .block .box2 .row{
    display: flex;
  }

  footer .block .box2 .row>.col {
    width: 236px;
  }

  footer .block .box2 .row>.col1{
    padding-left: 0;
    width: 152px;
      margin-right: 10px
  }

  footer .block .box2 .row>.col ul.menu>li {
    margin-bottom: 20px;
  }

  footer .block .box2 .row>.col ul.menu>li>a{
    font-weight: 600;
    white-space: nowrap;
  }

  footer .block .box2 .row>.col ul.menu2{
    margin-top: -15px;
  }

  footer .block .box2 .row>.col ul.menu2>li>a{
    font-weight: 600;
    white-space: nowrap;
  }

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

    footer .block .box1{
      width: 100%;
    }
    footer .block .box2{
      width: 100%;
      display: none;
    }
  }
  /*パーツ：トグル */
  .drw_list>li{
    margin-bottom: 24px;
  }

  .drw_box{
    border: 1px solid #22AC38;
    border-radius: 4px;
  }
  .drw_head{
    position: relative;
    font-size: 2.2rem;
    padding: 20px 30px;
    font-weight: bold;
    padding-right: 50px;
    color: #22AC38;
  }
  .drw_head::after{
    content: '';
    position: absolute;
    right: 30px;
    top: 33px;
    width: 0.7em;
    height: 0.7em;
    border-bottom: 1px solid #22AC38;
    border-right: 1px solid #22AC38;
    transform: rotate(45deg);
  }

  .open .drw_head::after{
    transform: rotate(-135deg);
    top: 34px;
  }

  .drw_body{
    padding: 0 30px 30px;
    display: none;
  }
  @media screen and (max-width: 1024px) {
    .drw_head {
      font-size: 2rem;
      padding: 20px 20px;
    }
  .drw_body {
    padding: 0 20px 20px;
    display: none;
  }
  }

  /*パーツ：見出し m*/
  .headline_m{
    font-size: 2.8rem;
    padding-left: 35px;
    background: url(../svg/pin.svg) no-repeat 0 10px / 24px;
    margin-bottom: 50px;
    font-weight: bold;
  }
  @media screen and (max-width: 1024px) {
    .headline_m{
      font-size: 2.4rem;
      padding-left: 30px;
      margin-bottom: 30px;
    }
    .drw_head {
    position: relative;
    font-size: 2.2rem;
    padding: 20px 20px;
    font-weight: bold;
    padding-right: 50px;
    color: #22AC38;
}
  }

  /*パーツ：ボタン*/
  .button1{
    font-weight: normal;
    font-size: 2.2rem;
    line-height: 86px;
    color: #fff;
    width: 456px;
    height: 86px;
    background: #22ac38;
    text-align: center;
  }

  .button2{
    display: block;
    font-weight: normal;
    font-size: 1.8rem;
    line-height: 86px;
    color: #fff;
    width: 374px;
    height: 82px;
    background: #22AC38;
    text-align: center;
  }


  .button3{
    display: block;
    font-weight: bold;
    font-size: 2.4rem;
    line-height: 78px;
    color: #23AB39;
    width: 400px;
    height: 78px;
    border: 1px solid #70A879;
    text-align: center;
    border-radius: 12px;
  }
  
  .button3.active{
    background: #22AC38;
    color: #fff;
  }

  .local_buttons{
    display: flex;
    justify-content: center;
    gap:40px;
    margin-top: 20px;
    margin-bottom: 106px;
  }
  @media screen and (max-width: 768px) {
    .button3{
      font-size: 2rem;
      height: 70px;
      width: 100%;
      max-width: 400px;
      line-height: 70px;
      border-radius: 10px;
      margin: 0 auto;
    }
    
    .button3.active{
      background: #22AC38;
      color: #fff;
    }
  
    .local_buttons{
      gap:20px;
      flex-direction: column;
      margin-top: 10px;
      margin-bottom: 60px;
    }
  }


  .dot_list{
    margin-bottom: 20px;
  }
  
  .dot_list>li{
    position: relative;
    padding-left: 1.5em;
  }
  .dot_list>li::after{
    content: '';
    position: absolute;
    top: 13px;
    left: 5px;
    width: 6px;
    height: 6px;
    font-size: 1.2rem;
    background-color:#22AC38;
    border-radius: 50%;
    font-weight: normal;
  }


  @media screen and (max-width: 768px) {
    .button1 {
        font-size: 2rem;
        width: 350px;
    }
    .button2{
      width: 320px;
      height: 82px;
    }
  }
  @media screen and (max-width: 375px) {
    .button1 {
        width: 320px;
    }
  }


/* @media screen and (max-width: 768px) {
  .button2 {
    width: 50vw;
    font-size: 3.5vw;
    padding-left: 10%;
    height: 15vw;
  }

  .button2 .arw {
    position: absolute;
    right: 5%;
    top: 50%;
    transform: translateY(-50%);
    width: 9vw;
  }

  .button2 .arw_right{
    position: absolute;
    left: 5%;
    top: 50%;
    transform: translateY(-50%);
    width: 9vw;
  }

} */


  /*レイアウト*/
  #container{
    padding-top: 100px;
  }
  @media screen and (max-width: 768px) {
    #container {
      padding-top: 50px;
    }
  }

/*
jobs
*/
.index_nav{ 
  margin-bottom: 50px;
}

.index_nav .box{
  display:inherit;
}
.index_nav .box>.head{
  width: 87px;
  color: #22AC38;
    margin-left: 20px;
}

.index_nav ul{
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: 10px;
}

.index_nav ul>li{
  margin-right: 10px;
     -webkit-flex-grow: 1;
    flex-grow: 1;
    width: 33.3333%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.index_nav ul>li>a {
  position: relative;
  padding-left: 20px;
  display: block;
  line-height: 1.8;
  white-space: nowrap;
}

.index_nav ul>li>a::before{
  content: '';
  position: absolute;
  left: 4px;
  top: 7px;
  width: 0.7em;
  height: 0.7em;
  border-bottom: 1px solid #22AC38;
  border-right: 1px solid #22AC38;
  transform: rotate(45deg);
}

.page_jobs_index
.index_nav {
  margin-bottom: 0px;
}

@media screen and (max-width: 1024px) {
  .index_nav{ 
    padding-left: 20px;
    margin-bottom: 50px;
  }

  .index_nav .box{
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 768px) {
  .index_nav {
    padding-left: 0px;
  }

  .index_nav .box{
    display: block;
  }

  .index_nav ul>li>a{
    font-size: 1.3rem;
  }
/*   .jobs_index_head {
    padding: 0;
    margin-bottom: 0;
  } */
}
@media screen and (max-width: 500px) {
  .jobs_article .index_nav ul {
    flex-wrap: wrap;
      padding-left: 20px;
  }

  .jobs_article .index_nav ul>li{
    width: 35%;
  }
  .jobs_article  .index_nav {
    margin-bottom: 5vw;
  }
}


/*jobs_message*/

.message_section1{
  margin-bottom: 110px;
}

.message_section1>.row{
  display: flex;
  justify-content: space-between;
}

.message_section1>.row .box1{
  width: calc(100% - 490px - 70px);
}

.message_section1>.row .box2{
  width: 490px;
}

.message_section2 .row{
  margin-bottom: 60px;
}

.message_section3{
  margin-bottom: 0px;
}

.message_section3 .row .msg{
  margin-bottom: 58px;
}

.message_section3 .row .img{
  text-align: center;
  display: flex;
  justify-content: center;
}

.message_section3 .row .img figure{
  font-size: 1.5rem;
}

.message_section3 .list{
  display: flex;
  flex-wrap:nowrap;
  gap:28px;
}

.message_section3 .list>li> p{
  font-size: 1.5rem;
  line-height: 1.2;
  margin-top: 10px;
}

@media screen and (max-width: 1200px) {
  .message_section1>.row .box1{
    width: 52%;
  }
  .message_section1>.row .box2{
    width: 45%;
  }
}
@media screen and (max-width: 1024px) {
  .message_section1{
    margin-bottom: 50px;
  }

  .message_section1>.row{
    display: block;
    margin-top: 0px;
  }

  .message_section1>.row .box1{
    width: 100%;
  }

  .message_section1>.row .box2{
    width: 100%;
  }

  .message_section3 .list>li> p{
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 768px) {
  .message_section3 .list{
    gap:20px 3%;
  }

  .message_section3 .list>li{
    width: 48.5%;
  }
}
.jobs_message .row{
  display: flex;
}

.jobs_message .row .img {
  position: relative;
  max-width: 748px;
  aspect-ratio: 748 / 565;
  width: 100%;
}

.jobs_message .row .img .pic {
  position: absolute;
  right: 6%;
  top: 9%;
  transform: rotate(-9deg);
  z-index: 1;
}

.jobs_message .row .img .pic::before{
  content: '';
  position: absolute;
  top: -8px;
  left: -8px;
  width: calc(100% + 16px);
  height: calc(100% + 16px);
  z-index: -1;
  background: #fff;
  box-shadow: 0 12px 13px rgba(169,182,183,0.6);
}

.jobs_message .row .text {
  width: calc(100% - 748px);
  padding-left: 18px;
  padding-right: 18px;
  padding-top: 5%;
}

.jobs_message .row .text h3.ttl{
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 1.25;
  text-align: left;
  color: #22ac38;
  margin-bottom: 10px;

}
.jobs_message .row .text .msg{
  font-size: 2rem;
  line-height: 1.75;
  margin-bottom: 45px;
}
@media screen and (max-width: 1440px) {
  .jobs_message .row{
    display: flex;
  }
  
  .jobs_message .row .img {
    position: relative;
    max-width: 748px;
    aspect-ratio: 748 / 565;
    width: 51.9%;
  }
  
  .jobs_message .row .img .pic {
    position: absolute;
    right: 6%;
    top: 9%;
    transform: rotate(-9deg);
    z-index: 1;
  }
  
  .jobs_message .row .img .pic::before{
    content: '';
    position: absolute;
    top: -8px;
    left: -8px;
    width: calc(100% + 16px);
    height: calc(100% + 16px);
    z-index: -1;
    background: #fff;
    box-shadow: 0, 12px, 13px, rgba(169,182,183,0.6);
  }
  
  .jobs_message .row .text{
    width: 48.1%;
    padding-left: 18px;
    padding-right: 18px;
  }
  
  .jobs_message .row .text h3.ttl{
    font-weight: 500;
    font-size: 2.4rem;
    line-height: 1.25;
    text-align: left;
    color: #22ac38;
    margin-bottom: 10px;
  
  }
  .jobs_message .row .text .msg{
    font-size: 2rem;
    line-height: 1.75;
    margin-bottom: 45px;
  }
}
@media screen and (max-width: 1024px) {
  .jobs_message .row{
    flex-direction: column-reverse;
  }

  .jobs_message .row .text .catch{
    margin-bottom: 30px;
  }

  .jobs_message .row .text{
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  .jobs_message .row .img {
    position: relative;
    max-width: none;
    width: 100%;
    margin: 0 auto;
  }

  .jobs_message .row .img .pic {
    position: absolute;
    right: 5%;
    top: 10%;
    transform: rotate(-9deg);
    width: 90%;
  }
}



/*slider*/
.jobs_slider .wrap{
  position: relative;
  padding: 0 60px;
}

.jobs_slider .swiper {
  width: 100%;
  padding: 20px 0px;
  margin-bottom: 100px;
}

.jobs_slider_text {
  margin-top: 10px;
}

.jobs_slider_text .role {
  font-size: 1.4rem;
  display: block;
  font-weight: 600;
  color: #fff;
  background-color: #448ACA;
  width: 100%;
  line-height: 28px;
  display: inline-block;
  margin-bottom: 5px;
  text-align: center;
}

.jobs_slider_text .role.short{
  width: 160px;
}

.jobs_slider_text .role.p_blue{
  background-color: #00a0e9;
}
.jobs_slider_text .role.p_green{
  background-color: #8fc31f;
}
.jobs_slider_text .role.p_orange{
  background-color: #e55e00;
}
.jobs_slider_text .role.d_green{
  background-color: #1f8134;
}
.jobs_slider_text .role.d_red{
  background-color: #d70034;
}
.jobs_slider_text .role.d_blue{
  background-color: #003ca0;
}
.jobs_slider_text .role.woody{
  background-color: #956134;
}


.jobs_slider_text .name {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 0;
}

.jobs_slider .details {
  font-size: 1.6rem;
  line-height: 1.3;
}

.jobs_slider .details2 {
  font-size: 1.4rem;
  line-height: 1.3;
  font-weight:normal;
}

.jobs_slider .swiper-button-next, 
.jobs_slider .swiper-button-prev {
  color: #8E8E8E;
}

.jobs_slider .swiper-button-next::after, 
.jobs_slider .swiper-button-prev::after {
  font-size: 30px;
}

.jobs_slider .swiepr-slide img{
  max-width: 283px;
}



@media screen and (max-width: 1024px) {
  .jobs_slider .swiper {
    margin-bottom: 50px;
  }
}

@media screen and (max-width: 425px) {
  .jobs_slider .details {
    font-size: 1.4rem;
  }
}

.page_jobs .button_area{
  text-align: center;
  display: flex;
  margin: 80px 0;
  justify-content: center;
}

.contents_row2,
.contents_row{
  display: flex;
  position: relative;
}

.contents_row2{
  margin-bottom: 0px;
}

.contents_row aside{
  position: relative;
  width: 160px;
}

.contents_row2 aside{
  width: 200px;
}


.contents_row>.main{
  position: relative;
  width: calc(100% - 140px);
  padding-left: 60px;
  overflow: hidden;
}

.contents_row2>.main{
  width: calc(100% - 200px);
}

.contents_row>.main.mgn{
  position: relative;
  padding-left: 0;
}

.side_nav ul {
  width: 100%;
  position: sticky;
  left: 0;
  top: 120px;
}

.side_nav ul>li{
  position: relative;
  padding-left: 1.5em;
  margin-bottom: 20px;
  font-size: 1.4rem;
}

.side_nav ul>li.active::after {
  content: '';
  position: absolute;
  top: 10px;
  left: 0;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #23AB39;
}

.ytb_wrap {
  max-width: 860px;
  margin: 0 auto;
  width: 100%;
  padding-bottom: 76px;
}

.ytb_wrap .box{
  aspect-ratio: 860 / 483;
  position: relative;
}

.ytb_wrap .box iframe{
  position: absolute;
  left:0;
  top:0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 1200px) {
  .contents_row2 aside{
    width: 140px;
  }
  
  .contents_row2>.main{
    width: calc(100% - 140px);
  }
  
}
@media screen and (max-width: 1024px) {
  .contents_row2 aside,
  .contents_row aside{
    display: none;
  }
  
  .contents_row2>.main,
  .contents_row>.main{
    width: 100%;
    padding-left: 0;
  }

  .ytb_wrap {
    max-width: none;
    margin: 0 auto;
    width: 100%;
    padding-bottom: 6%;
  }

  .jobs_article .ytb_wrap {
    padding: 0 20px;
    margin-bottom: 4vw;
  }
}

.main_visual{
  position: relative;
  margin-bottom: 80px;
  overflow: hidden;
}


.main_visual .block{
  display: flex;
}

.main_visual .block .col1{
  position: relative;
  width:25.69%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 100%;
  padding-left: 4.16vw;
}

.main_visual .block .img_box{
  position: absolute;
  bottom:0;
  left:4.16vw;
  width:19vw;
}

.main_visual .block .job{
  margin-bottom: 2vw;
}
.main_visual .block .location{
  aspect-ratio: 21/23;
  position: relative;
}

.main_visual .block .location img{
  position: absolute;
  left:0;
  top:0;
  width: 100%;
}

.main_visual .block .col1 .ttl{
  position: absolute;
  left:0;
  top:8%;
  padding-left: 4.16vw;
}

.main_visual .block .col1 .ttl .en{
  font-size: 3.47vw;
  line-height:1;
  font-weight: 300;
  color: #333333;
    margin-bottom: 10px;
}

.main_visual .block .col1 .ttl .jp{
  font-size: 1.11vw;
  line-height: 1;
  color: #333333;
}

.main_visual .block .col2{
  width:74.44%;
}

.main_visual .block .col2 .img{
  margin-bottom: 1.8vw;
  text-align: left;
}

.main_visual .block .col2 .catch{
  margin-bottom: 1.5vw;
  font-size: 2.5vw;
  line-height: 1.44;
  display: inline-block;
}

.main_visual .block .col2 .catch_img{
  height: 7vw;
}

.main_visual .block .col2 .text_box{
  display: flex;
  align-items: center;
}

.main_visual .block .col2 .text_box{
  display: flex;
  align-items: center;
}

.main_visual .block .col2 .text_box .role{
  font-size: 1.6rem;
  font-weight: 600;
  color: #fff;
  background-color: #448ACA;
  /* width: 10em; */
  line-height: 1.5;
  display: inline-block;
  margin-bottom: 5px;
  text-align: center;
  padding: 6px 20px;
}

.main_visual .block .col2 .text_box .role.location1{
  background-color: #00a0e9;
}

.main_visual .block .col2 .text_box .role.location2{
  background-color: #8fc31f;
}

.main_visual .block .col2 .text_box .role.location3{
  background-color: #e55e00;
}

.main_visual .block .col2 .text_box .role.location4{
  background-color: #1f8134;
}

.main_visual .block .col2 .text_box .role.location5{
  background-color: #d70034;
}

.main_visual .block .col2 .text_box .role.location6{
  background-color: #d70034;
}

.main_visual .block .col2 .text_box .role.location7{
  background-color: #003ca0;
}

.main_visual .block .col2 .text_box .role.location8{
  background-color: #956134;
}



.main_visual .block .col2 .text_box .name {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 0;
  margin-left: 34px;
}

.main_visual .block .col2 .text_box .details {
  font-size: 1.6rem;
  padding-left: 20px;
}

.main_visual .block .col1 .img{
  position: absolute;
  left:4.16vw;
  bottom:0;
  width: 19vw;
}
@media screen and (max-width: 1024px) {

  .main_visual{
    margin-bottom: 80px;
  }

  .main_visual .block{
    display: block;
    padding-top: 30px;
  }

  .main_visual .block .col1{
    position: relative;
    width:100%;
    display: block;
    min-height: 0%;
    padding-left:36px;
  }

  .main_visual .block .col1 .img{
    position: static;
    width: 100%;
    aspect-ratio: 732 / 650;
  }

  .main_visual .block .col1 .img img{
    position: absolute;
    left:0;
    top:0;
    width: 100%;
    height: 100%;
  }

  .main_visual .block .col1 .ttl{
    position:static;
    padding-left: 0;
    margin-bottom: 38px;
  }

  .main_visual .block .col1 .ttl .en{
    font-size: 5rem;
    line-height:1;
    font-weight: 300;
    color: #333333;
  }

  .main_visual .block .col1 .ttl .jp{
    font-size: 1.6rem;
    line-height: 1;
    color: #333333;
  }

  .main_visual .block .col2 {
      width: 100%;
      padding-left:36px;
      background: #fff;
  }

  .main_visual .block .col2 .img {
    position: relative;
    margin-bottom: 20px;
    text-align: left;
    aspect-ratio: 732 / 650;

  }

  .main_visual .block .col2 .img img{
    object-fit: cover;
    position: absolute;
    left:0;
    top:0;
    width: 100%;
    height: 100%;
    background-position: 50% 60%;
  }

  .main_visual .block .col2 .catch {
    font-size: 3.6rem;
  }

  .main_visual .block .col2 .text_box{
    display: flex;
    align-items: center;
    margin-bottom: 30px;
    background: #fff;
  }

  .main_visual .block .col2 .text_box .role{
    font-size: 1.6rem;
    margin-bottom: 0px;
    text-align: center;
  }

  .main_visual .block .col2 .text_box .name {
    font-size: 2.4rem;
    font-weight: bold;
    margin-bottom: 0;
    margin-left: 34px;
  }

  .main_visual .block .col2 .text_box .details {
    font-size: 1.6rem;
    padding-left: 20px;
  }

  .main_visual .block .col1 .img{
    position: absolute;
    left:4.16vw;
    bottom:0;
    width: 19vw;
  }

  .main_visual .block .img_box{
    text-align: left;
    display: flex;
    position: static;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0 36px;
  }

  .main_visual .block .job {
    margin-bottom: 2vw;
    width: 36%;
  }
  
  .main_visual .block .location {
    aspect-ratio: 370 / 231;
    position: relative;
    width: 50%;
  }

  .main_visual .block .col2 .catch_img {
    height: 11vw;
  }
}
@media screen and (max-width: 768px) {

  .main_visual {
    margin-bottom: 50px;
  }

  .main_visual .block .col1 {
    padding-left: 20px;
  }
  
  .main_visual .block .col2 {
    width: 100%;
    padding-left:20px;
  }

  .main_visual .block .col2 .catch {
    font-size: 5vw;
  }

  .main_visual .block .col2 .text_box {
    display: flex;
    align-items: center;
    margin-bottom: 25px;
    flex-wrap: wrap;
  }

  .main_visual .block .col2 .text_box .role{
    font-size: 1.6rem;
    margin-bottom: 0px;
    text-align: center;
  }

  .main_visual .block .col2 .text_box .name {
    font-size: 2.4rem;
    font-weight: bold;
    margin-bottom: 0;
    margin-left: 34px;
  }

  .main_visual .block .col2 .text_box .details {
    font-size: 1.6rem;
    padding-left: 0px;
    width: 100%;
  }

  .main_visual .block .col1 .img{
    position: absolute;
    left:4.16vw;
    bottom:0;
    width: 19vw;
  }

  .main_visual .block .img_box {
    text-align: left;
    display: flex;
    position: static;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0 20px;
  }

  .main_visual .block .job {
    margin-bottom: 0vw;
    width: 46%;
  }
  
  .main_visual .block .location {
    aspect-ratio: 370 / 231;
    position: relative;
    width: 50%;
  }
}



@keyframes draw {
  0% {
    d: "M10,10";
  }
  100% {
    d: "M10,10 C40,110, 130,10, 190,190";
  }
}

#myPath {
  animation: draw 5s forwards;
}

@keyframes fill {
  0% {
    stroke-dashoffset: 167;
    fill-opacity: 0;
    fill: transparent;
  }
  70% {
    stroke-dashoffset: 0;
    fill-opacity: 1;
    fill: transparent;
  }
  85% {
    stroke-dashoffset: 0;
    fill-opacity: 1;
    fill: lightyellow;
  }
  100% {
    stroke-dashoffset: 0;
    fill-opacity: 1;
    fill: yellow;
  }
}


.main_visual .road .job{
  position: absolute;
  left:0;
  top:0;
}

.main_visual .road {
  width: 31.8%;
  position: absolute;
  left: 0;
  top: 22%;
  z-index: -1;
}

.main_visual .road>.img{
  width: 100%;
}

.main_visual .road svg{
  width: 100%;
}

.main_visual .road .point {
  position: absolute;
  left: 42.1%;
  top: 13%;
  width: 2.916vw;
}

@media screen and (max-width: 1024px) {
    
  .main_visual .road .point {
    position: absolute;
    right: 24%;
    left: auto;
    top: 3%;
    width: 42px;
    z-index: 1;
  }

  .main_visual .road {
    position: absolute;
    right: 0%;
    top: -1px;
    z-index: -1;
    width: 100%;
    max-width: none;
    aspect-ratio: 1;
    aspect-ratio: 768 / 575;
  }

  .line1_sp {
    position: absolute;
    right: -9%;
    top: 0;
    width: 768px;
  }

  .line1_sp>div{
    width: 100%;
  }

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

  .main_visual .road .point {
    position: absolute;
    right: 28%;
    left: auto;
    top: 26px;
    width: 24px;
    z-index: 1;
  }

  .line1_sp {
    position: absolute;
    right: -21%;
    top: -57px;
    width: 616px;
  }
  
}

.jobs_article{
  display: flex;
}


.jobs_article_section1,
.jobs_article_section2,
.jobs_article_section3,
.jobs_article_section4{
  position: relative;
}

.jobs_article .jobs_row {
  display: flex;
  padding-bottom: 71px;
  padding-right: 0px;
}

.jobs_row .head{
  position: relative;
}

.jobs_article .jobs_row.revs{
  flex-direction: row-reverse;
}

.jobs_article .jobs_row .img{
  position: relative;
  width: 450px;
  aspect-ratio: 450 / 420;
  display: flex;
  justify-content: center;
  align-items: center;
}

.jobs_article .jobs_row .img img{
  width: 100%;
  height: 100%;
  position: relative;
  left:0;
  top:0;
  object-fit: cover;
}

.jobs_article .jobs_row .text {
  width: calc(100% - 450px);
  padding-left: 5%;
  padding-right: 60px;
}

.jobs_article .jobs_row.revs .text{
  padding-right: 8%;
  padding-left: 0;
}

.jobs_article .jobs_row .text .ttl {
  font-size: 1.4rem;
  padding-left: 0;
  display: flex;
  align-items: center;
  margin-bottom: 5px;
}

.jobs_article .jobs_row .text .ttl i{
  margin-right: 10px;
  display: flex;
  width: 24px;
  height: 34px;
  background-image: url(../img/point.png);
  background-size: 24px;
  background-repeat: no-repeat;
}

.jobs_article .jobs_row .text .ttl i img{
  vertical-align: middle;
}

.jobs_article .jobs_row .text .catch {
  font-size: 3rem;
  line-height: 1.53;
  margin-bottom: 20px;
}


.jobs_article .job_img{
  margin-bottom: 80px;
  position: relative;
  z-index: 10;
}

.jobs_article .group{
  position: relative;
}


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

  .jobs_article .wrap{
    padding: 0;
  }

  .jobs_article .jobs_row .text .catch img {
    height: 7vw;
    width: auto;
  }
}


@media screen and (max-width: 1350px) {
  .jobs_article .jobs_row {
    display: flex;
    padding-bottom: 71px;
    padding-right: 0px;
  }

  .jobs_article .jobs_row.revs{
    flex-direction: row-reverse;
  }

  .jobs_article .jobs_row .img{
    position: relative;
    width: 41.5%;
  }

  .jobs_article .jobs_row .text {
    width: 58.5%;
    padding-left: 5%;
    padding-right: 6%;
  }

  .jobs_article .jobs_row.revs .text{
    padding-right: 8%;
    padding-left: 0;
  }

  .jobs_article .jobs_row .text .ttl {
    font-size: 1.4rem;
    padding-left: 0;
    display: flex;
    align-items: center;
    margin-bottom: 5px;
  }

  .jobs_article .jobs_row .text .ttl i{
    margin-right: 10px;
    display: flex;
    width: 24px;
    height: 34px;
    background-image: url(../img/point.png);
    background-size: 24px;
    background-repeat: no-repeat;
  }

  .jobs_article .jobs_row .text .ttl i img{
    vertical-align: middle;
  }

  .jobs_article .jobs_row .text .catch {
    font-size: 1.9vw;
    line-height: 1.53;
    margin-bottom: 20px;
  }
  .jobs_article .jobs_row .text .msg{
    font-size: 1.3vw;
  }

  .jobs_article .job_img{
    margin-bottom: 80px;
    position: relative;
    z-index: 10;
  }

  .jobs_article .group{
    position: relative;
  }

}


@media screen and (max-width: 1024px) {
  .jobs_article{
    overflow: hidden;
  }

  .jobs_article .jobs_row{
   padding: 0 20px;
  }

/*   .jobs_article .jobs_row .text .msg{
    font-size: 1.8rem;
  } */

  .jobs_article .jobs_row .text .msg {
    font-size: 2vw;
    padding-right: 3em;
    margin-bottom: 1.5em;
  }
  
  .jobs_article_section1 .jobs_row .text .msg {
    padding-right: 5em;
  }
  
  .jobs_article_section3 .jobs_row .text .msg {
    margin-bottom: 4em;
  }
  

  .jobs_article .jobs_row.revs,
  .jobs_article .jobs_row {
    flex-direction: column;
    padding-bottom: 8vw;
}

  .jobs_article .jobs_row .img{
    position: relative;
    width: 100%;
    aspect-ratio: 696 / 420;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 0px;
    order:2;
  }

  .jobs_article .jobs_row .img img{
    width: 100%;
    height: 100%;
    position: relative;
    left:0;
    top:0;
    object-fit: cover;
  }

  .jobs_article .jobs_row .text {
    width: 100%;
    padding-left: 0;
    margin-bottom: 60px;
    padding-right: 0;
    order:1;
  }

  .jobs_article .jobs_row.revs .text{
    padding-right: 0;
    padding-left: 0;
  }

  .jobs_article .jobs_row .text .ttl {
    font-size: 1.4rem;
    padding-left: 0;
    display: flex;
    align-items: center;
    margin-bottom: 10px;
  }

  .jobs_article .jobs_row .text .ttl i{
    margin-right: 10px;
    display: flex;
    width: 24px;
    height: 34px;
    background-image: url(../img/point.png);
    background-size: 24px;
    background-repeat: no-repeat;
  }

  .jobs_article .jobs_row .text .ttl i img{
    vertical-align: middle;
  }

  .jobs_article .jobs_row .text .catch{
    font-size: 2rem;
    line-height: 1.53;
    margin-bottom: 38px;
  }

  .jobs_article .job_img {
    margin-bottom: 80px;
    min-width: calc(100% + 72px);
    margin-left: -36px;
  }
}
@media screen and (max-width: 1024px) {
  .jobs_article .jobs_row .text {
    width: 100%;
    padding-left: 0;
    margin-bottom: 2%;
    padding-right: 0;
  }
}


@media screen and (max-width: 768px) {
  .jobs_article .jobs_row .text .catch {
    font-size: 4.3vw;
    margin-bottom: 3vw;
  }

  .jobs_article .job_img {
    margin-bottom: 40px;
    min-width: calc(100% + 40px);
    margin-left: -20px;
  }
}

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


  .jobs_article .jobs_row .text .catch img {
    height: 10.5vw;
    width: auto;
  }

  .jobs_article .jobs_row{
    padding: 0px;
  }

  .jobs_article .jobs_row.revs .text, 
  .jobs_article .jobs_row .text {
    padding: 3vw 20px;
  }

  .jobs_article .jobs_article_section2 .jobs_row .text{
    padding-top: 21vw;
  }

}



.line2 {
  position: absolute;
  left: -230px;
  top: -83px;
  z-index: -1;
}

.line3 {
  position: absolute;
  left: -201px;
  top: -136px;
  z-index: -1;
}

.line6_sp {
  display: none;
}

@media screen and (max-width: 1024px) { 
   
  .line2_sp {
    position: absolute;
    right: 0;
    top: 8.1%;
    width: 32%;
    z-index: -1;
  }

  .line2_sp svg,
  .line3_sp svg,
  .line4_sp svg,
  .line5_sp svg,
  .line6_sp svg{
    width: 100%;
    height: auto;
  }

  .line3_sp {
    position: absolute;
    left: -6%;
    right: auto;
    top: 83%;
    width: 106%;
    z-index: -1;
  }
  
  .line4_sp {
    position: absolute;
    right: -2%;
    top: 4%;
    width: 106%;
    z-index: -1;
  }

  .line5_sp {
    position: absolute;
    right: -1%;
    top: -10%;
    width: 106%;
    z-index: -1;
  }
}
@media screen and (max-width: 500px) {
  .line6_sp {
    display: block;
    position: absolute;
  }

  .line6_sp {
    position: absolute;
    right: -8%;
    top: 9%;
    width: 120%;
    z-index: 0;
    overflow: hidden;
    z-index: -1;
  }

  .jobs_article .jobs_row .text .msg {
    font-size: 3.2vw;
    padding-right: 3em;
    margin-bottom: 0;
  }


  .line2_sp {
    position: absolute;
    right: -6%;
    top: 5%;
    width: 40%;
  }

  .line3_sp {
    position: absolute;
    left: auto;
    right: 0%;
    top: 97%;
    width: 125%;
    z-index: -1;
  }
  
  .line4_sp {
    position: absolute;
    right: -2%;
    top: 15%;
    width: 125%;
    z-index: -1;
  }

  .line5_sp {
    position: absolute;
    right: -1%;
    top: -5%;
    width: 125%;
    z-index: -1;
  }
}

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

  
  .line2_sp ,
  .line3_sp ,
  .line5_sp {
    width: 133%;
  }

  .line2_sp {
    top: 7%;
  }

  .line4_sp {
    width: 110%;
  }
  
  .line5_sp {
    top: -14%;
  }

}

 */
 .contents_block{
  background: #fff;
 }


 .contents_block2 {
  padding-top: 60px;
  padding-bottom: 90px;
}

.contents_block1 {
  background: #EDEDED;
  padding-top: 60px;
  padding-bottom: 90px;
}

.jobs_index_head{
  padding: 0 30px;
  margin-bottom: 55px;
}

.jobs_index_head .msg{
  max-width: 1080px;
  margin: 0 auto;
}

.page_jobs_index .contents_row{
  margin-bottom: 90px;
}

@media screen and (max-width: 1024px) {
  .jobs_index_head {
    padding: 0;
    margin-top: 40px;
    margin-bottom: 40px;
  }

  .contents_block1 {
    background: #EDEDED;
    padding-top: 40px;
    padding-bottom: 60px;
  }
}

/*
job index
*/
/*.jobs:インデックス*/
.jobs_index_visual{
  position: relative;
  height: 460px;
}
.jobs_index_visual>img{
  object-fit: cover;
  position: absolute;
  left:0;
  top:0;
  width: 100%;
  height: 100%;
}
.jobs_index_visual .text{
  content: '';
  position: absolute;
  top: 50%;
  left: 0%;
  width: 100%;
  transform: translateY(-50%);
}

.jobs_index_visual .text .ttl{
  margin: 0 auto;
  max-width: 1340px;
  padding: 0 30px;
  color: #FFFFFF;
  line-height: 1.5;
}

.jobs_index_visual .text .en{
  font-size: 5rem;
  font-weight: 200;
  font-family: var(--saira);
}

.jobs_index_visual .text .jp{
  font-size: 2.8rem;
  font-weight: 400;
}

@media screen and (max-width: 1024px) {
  
  .jobs_index_visual{
    position: relative;
    height: 280px;
  }

  .jobs_index_visual .text .en{
    font-size: 4rem;
    font-weight: 200;
  }
  
  .jobs_index_visual .text .jp{
    font-size: 2.4rem;
    font-weight: 400;
  }

  .jobs_index_visual .text .ttl{
    padding: 0 20px;
  }
}

/*.jobs:インデックス*/
.jobs_index_block{
  background: #FFFFFF;
  padding: 44px 30px 90px;
  position: relative;
  z-index: 1;
  margin-bottom: 0px;
}

.jobs_index_inner{
  max-width: 1080px;
  margin: 0 auto 0px;
}

.jobs_index_block .head{
  margin-bottom: 55px;
}

.jobs_index_ttl{
  display: flex;
  align-items: center;
  color: #057C45;
  margin-bottom: 35px;
}

.location1 .jobs_index_ttl{
  color: #00a0e9;
}

.location2 .jobs_index_ttl{
  color: #8fc31f;
}

.location3 .jobs_index_ttl{
  color: #e55e00;
}

.location4 .jobs_index_ttl{
  color: #1f8134;
}

.location5 .jobs_index_ttl{
  color: #d70034;
}

.location6 .jobs_index_ttl{
  color: #d70034;
}
.location7 .jobs_index_ttl{
  color: #003ca0;
}
.location8 .jobs_index_ttl{
  color: #956134;
}


.jobs_index_ttl i{
  font-size: 3.8rem;
  padding-right: 0.1em;
  font-weight: 400;
}
.jobs_index_ttl em{
  font-size: 7.5rem;
  font-weight: 400;
  line-height: 1;
}
.jobs_index_ttl span{
  font-size: 3rem;
  font-weight: 400;
  padding-left: 0.2em;
}

.jobs_index_group{
  padding-bottom: 54px;
}

.jobs_slider_index {
  overflow-x: auto; 
  white-space: nowrap;
  padding-bottom: 20px;
}

.jobs_slider_row{
  display: flex;
  gap:13px;
}

.jobs_slider_slide{
  min-width: 260px;
  width: 260px;
  /* width: calc((100% - 39px) / 4); */
}

.gallery_slider .swiper-pagination {
  position: static;
}
.gallery_slider
.swiper-pagination-clickable .swiper-pagination-bullet{
  width: 10px;
  height: 10px;
  background: #fff;
  opacity: 1;
  border:1px solid #707070;
}

.gallery_slider
.swiper-pagination-clickable .swiper-pagination-bullet-active{
  background: #707070;
}

.jobs_nav{
  background: #fff;
  padding: 82px 0;
  margin-top: 0px;
}

.jobs_nav ul{
  display: flex;
  flex-wrap:wrap;
  gap:40px;
}

.jobs_nav ul>li{
  width: calc((100% - 80px) / 3);
}

.jobs_nav ul>li p{
  font-size: 1.6rem;
  color: #333333;
  margin-top: 0px;
}
@media screen and (max-width: 1024px) {
  .jobs_nav {
    padding: 40px 0 20px;
    margin-top: 0px;
  }

  .jobs_nav ul{
    display: flex;
    flex-wrap:wrap;
    gap:4%;
    justify-content: space-between;
  }
  
  .jobs_nav ul>li{
    width: 48%;
    margin-bottom: 10px;
  }
  
  .jobs_nav ul>li p{
    font-size: 1.3rem;
  }

}

@media screen and (max-width: 1024px) {
  .jobs_index_block {
    padding: 20px 10px 30px;
  }

  .jobs_index_group {
    padding-bottom: 30px;
  }

  .jobs_index_ttl {
    display: flex;
    margin-bottom: 20px;
  }

  .jobs_index_ttl i{
    font-size: 2.8rem;
    padding-right: 0.1em;
    font-weight: 400;
  }

  .jobs_index_ttl em{
    font-size: 5rem;
    font-weight: 400;
    line-height: 1;
  }

  .jobs_index_ttl span{
    font-size: 2.6rem;
    font-weight: 400;
    padding-left: 0.5em;
  }

}


.lower_visual{
  position: relative;
}

.lower_visual .ttl{
  position: absolute;
  left:60px;
  top:60px
}


.lower_visual .ttl .en{
  font-size: 5rem;
  line-height: 1;
  font-family: var(--saira);
  font-weight: 100;
}

.lower_visual .ttl .jp{
  font-size: 1.6rem;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .lower_visual .ttl{
    position: absolute;
    left:20px;
    top:20px
  }
  .lower_visual .ttl .en {
    font-size: 6vw;
      line-height: 110%;
  }
}

/*
.lower_visual2
*/

.lower_visual2{
  position: relative;
}

.lower_visual2 .ttl{
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translateY(-50%);
  color: #fff;
  z-index: 2;
}


.lower_visual2 .ttl .en{
  font-size: 5rem;
  line-height: 1;
  font-family: var(--saira);
  font-weight: 100;
  display: block;
}

.lower_visual2 .ttl .jp{
  font-size: 2.8rem;
  font-weight: 400;
}
@media screen and (max-width: 768px) {

  .lower_visual2{
    aspect-ratio: 1110 / 460;
  }
  .lower_visual2 img{
    position: absolute;
    left:0;
    top:0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .lower_visual2 .ttl .en {
    font-size: 8vw;
      margin-bottom: 0.2em;
  }
  .lower_visual2 .ttl .jp{
    font-size: 2.8rem;
    font-weight: 400;
      line-height: 120%;
      
  }
}


.contents_head{
  text-align: center;
  margin-bottom: 70px;
}

.contents_head p.catch{
  text-align: center;
  font-size: 3.2rem;
  line-height: 1.875;
  font-weight: 400;
  margin-bottom: 40px;
}

.contents_head p.corp{
  font-size: 2.1rem;
  line-height: 1;
  margin-bottom: 15px;
}
.contents_head p.post{
  font-size: 1.8rem;
  line-height: 1;
  margin-bottom: 15px;
}
.contents_head p.name{
  font-size: 2.1rem;
  line-height: 1;
  margin-bottom: 15px;
}
.contents_head p.roma{
  font-size: 1.8rem;
  font-family: var(--saira);
  color: #9F9F9F;
  margin-bottom: 60px;
}

@media screen and (max-width: 1024px) {
  .contents_head{
    text-align: center;
    margin-bottom: 0px;
  }
  
  .contents_head p.catch {
    text-align: center;
    font-size: 3.2rem;
    line-height: 1.875;
    font-weight: 400;
    margin-bottom: 40px;
    text-align: left;
    display: flex;
    justify-content: center;
  }
  .contents_head{
    text-align: right;
  }
}
@media screen and (max-width: 768px) {

  
  .contents_head p.catch {
    font-size: 4.7vw;
    margin-bottom: 30px;
  }
  
  .contents_head p.corp{
    font-size: 1.8rem;
    line-height: 1;
    margin-bottom: 10px;
  }
  .contents_head p.post{
    font-size: 1.6rem;
    line-height: 1;
    margin-bottom: 10px;
  }
  .contents_head p.name{
    font-size: 1.8rem;
    line-height: 1;
    margin-bottom: 10px;
  }
  .contents_head p.roma{
    font-size: 1.6rem;
    margin-bottom: 40px;
  }
  

}

/*message*/

.loop_slider{
  margin-top: 60px;
}

.loop_slider .swiper {
  width: 100%;
  overflow: hidden;
}


.loop_slider .swiper-slide{
  width: 440px;
}

.loop_slider .swiper-wrapper {
  display: flex;
}

/* スライドの動き等速 */
.loop_slider .swiper-wrapper {
  transition-timing-function: linear;
}
/* 画像のサイズ調整 */
.loop_slider .swiper-slide img {
  height: auto;
  width: 100%;
}

.page_message p.msg{
  text-align:justify;
}

.page_message .img_list{
  display: flex;
  flex-direction: column;
  gap: 46px;
}
@media screen and (max-width: 1024px) {
  .page_message .img_list{
    width: 100%;
    margin-top: 40px;
  }
  
  .page_message .img_list{
    gap: 30px;
  }
}

.message_row{
  display: flex;
  justify-content: space-between;
  gap:30px;
}

.message_row .box1{
  position: relative;
  width: 440px;
  min-height: 200vh;
}

.message_row .box1 .bg{
  position: absolute;
  left:0;
  top:0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.message_row .box1 .bg .line{
  position: absolute;
  left:38%;
  top:0;
  width: 22.72%;
}
.message_row .box1 .bg .line svg{
  width: 100%;
  height: auto;
}


.message_row .box1 .history_img{
  position: relative;
  z-index: 2;
}

.message_row .box1 .history_img>li{
  display: flex;
}

.message_row .box1 .history_img>li p {
  line-height: 1.3;
  font-size: 1.5rem;
  margin-top: 0.3em;
}

.message_row .box1 .history_img>li:nth-child(even){
  justify-content: flex-end;
  text-align: right;
}

.message_row .box2{
  width: calc(100% - 440px - 64px);
}

.message_row .box1 .history_img> li{
  margin-bottom: 8%;
}
.message_row .box1 .history_img> .li1 .box p{
  position: relative;
}

.message_row .box1 .history_img> .li1 .box{
  width: calc((215 / 440 ) * 100% );
}
.message_row .box1 .history_img> .li2 .box{
  width: calc((245 / 440 ) * 100% );
}
.message_row .box1 .history_img> .li3 .box{
  width: calc((215 / 440 ) * 100% );
}
.message_row .box1 .history_img> .li4 .box{
  width: calc((245 / 440 ) * 100% );
}
.message_row .box1 .history_img> .li5 .box{
  width: calc((222 / 440 ) * 100% );
}
.message_row .box1 .history_img> .li6 .box{
  width: calc((245 / 440 ) * 100% );
}
.message_row .box1 .history_img> .li7 .box{
  width: calc((245 / 440 ) * 100% );
}
.message_row .box1 .history_img> .li8 .box{
  width: calc((245 / 440 ) * 100% );
}

.history_list>li{
  margin-bottom: 85px;
}

.history_list>li .head{
  display: flex;
  margin-bottom: 20px;
  align-items: center;
}

.history_list>li .head .ttl{
  font-size: 2.8rem;
  padding-left: 35px;
  height: 66px;
  background-image: url(../img/point.png);
  background-size: 25px;
  background-position: 0 50%;
  background-repeat: no-repeat;
  padding-top: 5px;
}

.history_list>li .head p.period{
  padding-left: 43px;
  font-size: 4rem;
  font-family: var(--saira);
  font-weight: 100;
  font-style: italic;
  line-height: 1;
}

.history_list>li .msg{
  font-size: 1.6rem;
  line-height: 2;
}

.history_img_sp {
  visibility: hidden; /* 要素は非表示だが、DOMには残る */
  opacity: 0;
  height: 0; /* レイアウト的には高さを0にする */
  pointer-events: none; /* ユーザー操作を無効化 */
  position: absolute;
}

.history_img_pc {
  visibility: visible; 
  opacity: 1;
}

@media screen and (max-width: 1024px) {
  .history_img_sp {
    visibility: visible; 
    opacity: 1;
    width: auto;
    height: auto;
    position: relative;
  }

  .history_img_pc {
    visibility: hidden; /* 要素は非表示だが、DOMには残る */
    opacity: 0;
    height: 0; /* レイアウト的には高さを0にする */
    pointer-events: none; /* ユーザー操作を無効化 */
    position: absolute;
    width: 0 !important;
  }
}

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

  .message_row{
    display: flex;
    justify-content: space-between;
    gap:30px;
  }
  
  .message_row .box1{
    position: relative;
    width: 45%;
    min-height: 200vh;
  }
  
  .message_row .box2{
    width: calc(55% - 30px);
  }

  .message_row .box1 .history_img>li p {
    position: relative;
    font-size: 1.38vw;
    white-space: nowrap;
  }

  .message_row .box1 .history_img> .li1 .box{
    width: calc((215 / 440 ) * 100% );
  }
  .message_row .box1 .history_img> .li2 .box{
    width: calc((245 / 440 ) * 100% );
  }
  .message_row .box1 .history_img> .li3 .box{
    width: calc((215 / 440 ) * 100% );
  }
  .message_row .box1 .history_img> .li4 .box{
    width: calc((245 / 440 ) * 100% );
  }
  .message_row .box1 .history_img> .li5 .box{
    width: calc((222 / 440 ) * 100% );
  }
  .message_row .box1 .history_img> .li6 .box{
    width: calc((245 / 440 ) * 100% );
  }
  .message_row .box1 .history_img> .li7 .box{
    width: calc((245 / 440 ) * 100% );
  }
  .message_row .box1 .history_img> .li8 .box{
    width: calc((245 / 440 ) * 100% );
  }
  
  .history_list>li{
    margin-bottom: 5vw;
  }
  
  .history_list>li .head{
    display: flex;
    margin-bottom: 20px;
    align-items: center;
  }

  .history_list>li .msg{
    font-size: 1.3vw;
    line-height: 2;
  }

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

  .history_list>li {
    margin-bottom: 0;
  }
  .history_list>li .head{
    display: block;;
  }

  .history_list>li .head .ttl{
    font-size: 2rem;
    padding-left: 35px;
    height: 50px;
    background-image: url(../img/point.png);
    background-size: 25px;
    background-position: 0 50%;
    background-repeat: no-repeat;
    padding-top: 5px;
    margin-bottom: 10px;
  }

  .history_list>li .head p.period{
    padding-left: 0px;
    font-size: 4rem;
    font-family: var(--saira);
    font-weight: 100;
    font-style: italic;
    line-height: 1;
  }

  .message_row .box2{
    width: 100%;
  }

  .history_list>li .msg{
    margin-bottom: 30px;
    font-size: 1.6rem;
  }

  .history_img_sp{
    position: relative;
    max-width: 461px;
    margin: 0 auto;
    z-index: 2;
  }

  .history_img_sp .bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
  }

  .history_img_sp .bg .line{
    position: absolute;
    left:38%;
    top:0;
    width: 21.73%;
  }

  .history_img_sp .bg .line svg{
    width: 100% !important;
    height: auto;
  }


  .history_img_sp ul> li{
    display: flex;
  }
  .history_img_sp ul> li:nth-child(even){
    justify-content: flex-end;
    text-align: right;
  }

  .history_img_sp ul> li{
    margin-bottom: 8%;
  }

  .history_img_sp ul> li .box p {
    position: relative;
    font-size: 1.2rem;
    white-space: nowrap;
  }

  .history_img_sp ul> .li1 .box{
    width: calc((215 / 461 ) * 100% );
  }
  .history_img_sp ul> .li2 .box{
    width: calc((245 / 461 ) * 100% );
  }
  .history_img_sp ul> .li3 .box{
    width: calc((215 / 461 ) * 100% );
  }
  .history_img_sp ul> .li4 .box{
    width: calc((245 / 461 ) * 100% );
  }
  .history_img_sp ul> .li5 .box{
    width: calc((222 / 461 ) * 100% );
  }
  .history_img_sp ul> .li6 .box{
    width: calc((245 / 461 ) * 100% );
  }
  .history_img_sp ul> .li7 .box{
    width: calc((245 / 461 ) * 100% );
  }
  .history_img_sp ul> .li8 .box{
    width: calc((245 / 461 ) * 100% );
  }
}


.message_section_row{
  display: flex;
  gap:30px;
  justify-content: space-between;
}

.message_section_row .img{
  width: 440px;
}

.message_section_row .text{
  width: calc(100% - 440px - 64px);
}

.message_section_row .text .head .ttl{
  font-size: 2.8rem;
  padding-left: 35px;
  height: 66px;
  background-image: url(../img/point.png);
  background-size: 25px;
  background-position: 0 50%;
  background-repeat: no-repeat;
  padding-top: 5px;
}

.message_section_row .text .head p.period{
  padding-left: 43px;
  font-size: 4rem;
  font-family: var(--saira);
  font-weight: 100;
  font-style: italic;
  line-height: 1;
}


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

  .message_row{
    display: flex;
    justify-content: space-between;
    gap:30px;
  }
  
  .message_section_row .img{
    width: 45%;
  }
  
  .message_section_row .text{
    width: calc(55% - 30px);
  }
}

@media screen and (max-width: 1024px) {
  .message_section_row{
    display: block;
    margin-top:30px;
  }

  .message_section_row .img{
    width: 100%;
    margin-bottom: 40px;
  }
  
  .message_section_row .text{
    width: 100%;
  }
  
  .message_section_row .text .head .ttl{
    font-size: 2rem;
    padding-left: 35px;
    height: 50px;
    background-image: url(../img/point.png);
    background-size: 25px;
    background-position: 0 50%;
    background-repeat: no-repeat;
    padding-top: 5px;
    margin-bottom: 10px;
  }

  .history_list>li .head p.period{
    padding-left: 0px;
    font-size: 4rem;
    font-family: var(--saira);
    font-weight: 100;
    font-style: italic;
    line-height: 1;
  }

}

/*
jobs top
*/
.jobs_top_block{
  padding: 54px 80px 50px;
}

.jobs_top_block_soumu{
  padding: 54px 80px 0px;
}

.jobs_top_ttl {
  font-weight: 700;
  font-size: 3rem;
  color: #24AA39;
  line-height: 1.3;
  margin-bottom: 30px;
}

.jobs_top_group .msg{
  margin-bottom: 30px;
  font-size: 1.6rem;
}

.jobs_top_group .figure1{
  width: 100%;
  overflow-x: auto;
}

.jobs_top_group .figure1 img{
  width: 3000px;
}

.jobs_top_group .figure2{
  margin: 0 auto 60px;
  max-width: 860px;
  transform: translateX(30px);
}

.jobs_top_group .map_list{
  display: flex;
  flex-wrap:wrap;
  gap:8px;
    padding-bottom: 50px;
}

.jobs_top_group .map_list>li{
  width: calc((100% - 24px) / 2);
}

.jobs_top_group .map_list>li>a{
  display: block;
  position: relative;
}

.jobs_top_group .map_list>li>a .num{
  position: absolute;
  background: #22AC38;
  color: #fff;
  line-height: 28px;
  padding: 0 8px;
  left:0;
  top:0;
  font-size: 1.8rem;
  font-weight: 500;
  font-family: var(--saira);
}

.jobs_top_group{
  padding-bottom: 10px;
}

#section2.jobs_top_group{
  padding-bottom: 0;
}
  
.jobs_top_inner .jobs_top_group:last-child{
  padding-bottom: 0px;
}

.jobs_top_group .msg2{
  margin-bottom: 60px;
}

.jobs_top_group .leaders_voice_list{
  display: flex;
  gap:18px;
}

.jobs_top_group .leaders_voice_list>li{
  width: calc((100% - 54px) / 4);
}

.jobs_top_group .leaders_voice_list>li>a{
  display: block;
}

.jobs_top_group .leaders_voice_list>li>a .msg{
  font-size: 1.6rem;
  line-height: 1.8;
  color:#333;
  margin-top: 5px;
}

@media screen and (max-width: 1400px) {
  .jobs_top_group .leaders_voice_list>li>a .msg {
      font-size: 1.2vw;
  }
}
@media screen and (max-width: 1024px) {
  .jobs_top_group .leaders_voice_list>li>a .msg {
    font-size: 1.4rem;
}
  .jobs_top_group{
    padding-bottom: 80px;
  }

  #section2.jobs_top_group{
    padding-bottom: 0px;
  }

  .jobs_top_block{
    padding: 40px 30px;
  }
    
 .jobs_top_block_soumu{
    padding: 40px 30px 0px;
  }
  
  .jobs_top_group .map_list{
    display: flex;
    flex-wrap:wrap;
    gap:18px;
  }

  .jobs_top_group .map_list>li{
    width: calc((100% - 18px) / 2);
  }

  .jobs_top_group .map_list>li>a{
    display: block;
    position: relative;
  }

  .jobs_top_group .map_list>li>a .num{
    padding: 0 8px;
    font-size: 1.8rem;
  }

  .jobs_top_group .leaders_voice_list{
    display: flex;
    flex-wrap: wrap;
    gap:18px;
  }
  
  .jobs_top_group .leaders_voice_list>li{
    width: calc((100% - 18px) / 2);
  }
  
  .jobs_top_group .figure2{
    margin: 0 auto 40px;
    transform: translateX(0px);
  }
}

@media screen and (max-width: 768px) {
  .jobs_top_block {
    padding: 30px 15px;
  }

  .jobs_top_block_soumu {
    padding: 30px 15px 0px;;
  }

  .jobs_top_ttl {
    font-size: 2.7rem;
  }

  .jobs_top_group .leaders_voice_list>li>a .msg {
    font-size: 1.2rem;
  }
  .jobs_top_group .msg2 {
    margin-bottom: 20px;
  }
}

/* モーダル全体 */
.modal_overlay {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  justify-content: center;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  z-index: 10000;
  padding-top: 70px;
  padding-bottom: 70px;
  overflow-y: auto;
}

.modal_overlay_bg{
  position: fixed;
  left:0;
  top:0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: rgba(0, 0, 0, 0.8);
}

/* モーダルがアクティブなとき */
.modal_overlay.active {
  visibility: visible;
  opacity: 1;
}

.modal_content {
  background:#3F3F3F;
  padding: 20px 70px;
  position: relative;
  max-width: 1160px;
  margin: 0 auto;
  width: 100%;
}

.modal_content .close {
  position: absolute;
  top: -58px;
  right: 10px;
}

/* スクロールロック用 */
.scroll_lock {
  overflow: hidden;
}

.modal_article .ttl{
  display: flex;
  font-family: var(--saira);
  margin-bottom: 30px;
  align-items: center;
  color: #24AA39;
}

.modal_article .ttl span{
  font-size: 4rem;
  font-style: italic;
  line-height: 1;
  font-weight: 500;
}

.modal_article .ttl strong{
  font-size: 7.1rem;
  font-style: italic;
  margin-left: 35px;
  line-height: 1;
  font-weight: 500;
}

.modal_article .profile{
  display: flex;
  justify-content: center;
  gap:30px;
  align-items: center;
  margin-bottom: 40px;
    color: white;
}

.modal_article .profile .box1 p.location{
  font-size: 2rem;
}

.modal_article .profile .box2 p.post{
  font-size: 2rem;
}

.modal_article .profile .box2 p.name{
  font-size: 2.8rem;
  line-height: 1;
  font-weight: bold;
}

.modal_article .ytb_wrap{
  padding-bottom: 10px;
}

.modal_article .ttl2{
  display: flex;
  margin-bottom: 28px;
}

.modal_article .ttl2 em{
  font-size: 4rem;
  font-style: italic;
  line-height: 1;
  color: #24AA39;
}

.modal_article .ttl2 span {
  font-size: 2rem;
  font-style: italic;
  padding-left: 20px;
  padding-top: 2px;
}

.modal_article .location_list{
  margin-bottom: 60px;
  display: flex;
  gap:6px;
}

.modal_article .location_list>li {
  width: calc( (100% - 6px) / 3 );
}

.modal_article .location_list>li>a{
  position: relative;
  display: block;
}

.modal_article .location_list>li>a::after{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  pointer-events: none;
}
.modal_article .location_list>li>a::before {
  content: '';
  position: absolute;
  right: 15px;
  bottom: 10px;
  width: 1em;
  height: 1em;
  border-top: 2px solid #FFFFFF;
  border-right: 2px solid #FFFFFF;
  transform: rotate(45deg);
  z-index: 3;
}

.modal_article .location_list>li>a span{
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translateY(-50%);
  z-index: 3;
  color:#fff;
  text-align: center;
  font-size: 2rem;
}

/*jobs_message*/
.modal_article .jobs_message .row{
  display: flex;
  margin-bottom: 60px;
}

.modal_article .jobs_message .row .img {
  position: relative;
  max-width: 748px;
  aspect-ratio: 748 / 565;
  width: 56.61%;
}

.modal_article .jobs_message.type2 .row .img {
  transform: translateX(5%);
}

.modal_article .jobs_message .row .img .pic {
  position: absolute;
  right: 6%;
  top: 9%;
  transform: rotate(-9deg);
  z-index: 1;
}

.modal_article .jobs_message .row .img .pic::before{
  content: '';
  position: absolute;
  top: -8px;
  left: -8px;
  width: calc(100% + 16px);
  height: calc(100% + 16px);
  z-index: -1;
  background: #fff;
  box-shadow: 0 12px 13px rgba(169,182,183,0.6);
}

.modal_article .jobs_message .row .text {
  width: 43.39%;
  padding-left: 18px;
  padding-right: 18px;
  padding-top: 0;
}

.modal_article .jobs_message .row .text h3.ttl{
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 1.25;
  text-align: left;
  color: #22ac38;
  margin-bottom: 10px;
}
.modal_article .jobs_message .row .text .msg{
  font-size: 2rem;
  line-height: 1.75;
  margin-bottom: 45px;
}

.modal_article .button_area{
  display: flex;
  justify-content: center;
}

.modal_article ul.row1{
  display: flex;
  justify-content: space-between;
}

.modal_article ul.row1>li{
  width: calc((100% - 24px) / 2)
}

.modal_article ul.row1>li .profile{
  justify-content: flex-start;
}

.modal_article ul.row1>li .ytb_wrap{
  padding-bottom: 0;
}

.modal_article .row2{
  display: flex;
  justify-content: center;
}


.modal_article ul.row3{
  display: flex;
  justify-content: space-between;
  gap:5%;
  margin-bottom: 60px;
}

.modal_article ul.row3>li{
  width: 48%;
}

.modal_article ul.row3>li>p{
  text-align: right;
  font-size: 2rem;
}

.modal_article .jobs_message.type2 .row{
  margin-top: 80px;
  margin-bottom: 120px;
  display: flex;
  flex-direction: column-reverse;
}

.modal_article .jobs_message.type2 .row .img{
  margin: 0 auto;
}

.modal_article .jobs_message.type2 .row .img {
  width: 100%;
}

.modal_article .jobs_message.type2 .row .img .pic {
  width: 100%;
}

.modal_article .jobs_message.type2 .row {
  margin-bottom: 60px;
}

@media screen and (max-width: 1200px) {
  .modal_article .location_list>li>a span {
    font-size: 2vw;
  }
}
@media screen and (max-width: 1024px) {

  .modal_content .close {
    top: -40px;
    right: 10px;
    width: 30px;
  }
  
  .modal_article .jobs_message .row .text {
    width: 100%;
    padding-left: 18px;
    padding-right: 18px;
    padding-top: 0;
  }

  .modal_article .ttl {
    display: flex;
    margin-bottom: 20px;
  }

  .modal_article .ttl span {
    font-size: 2.6rem;
  }

  .modal_article .ttl strong {
    font-size: 5rem;
    margin-left: 20px;
  }

  .modal_content {
    padding: 20px 40px;
  }
  .modal_overlay {
    padding: 50px 20px;
  }

  .modal_article .profile{
    display: flex;
    justify-content: center;
    gap:30px;
    align-items: center;
    margin-bottom: 40px;
  }

  .modal_article .profile .box1 p.location{
    font-size: 1.8rem;
  }

  .modal_article .profile .box2 p.post{
    font-size: 1.8rem;
  }

  .modal_article .profile .box2 p.name{
    font-size: 2.4rem;
  }

  .modal_article .ttl2 em{
    font-size: 3.2rem;
  }

  .modal_article .ttl2 span {
    font-size: 1.8rem;
  }

  .modal_article .location_list{
    margin-bottom: 40px;
  }

  .modal_article .location_list {
    gap:1%;
  }

  .modal_article .location_list>li {
    width: 49%;
  }

  .modal_article .jobs_message .row {
    display: block;
    margin-bottom: 30px;
  }

  .modal_article .jobs_message.type2 .row .img ,
  .modal_article .jobs_message .row .img {
    position: relative;
    max-width: 748px;
    aspect-ratio: 748 / 565;
    width: 100%;
    margin-bottom: 30px;
  }

  .modal_article .jobs_message.type2 .row {
    margin-top: 40px;
    margin-bottom: 60px;
    display: flex;
    flex-direction: column-reverse;
  }
  .modal_article .jobs_message.type2 .row .img {
    transform: translateX(0%);
  }

  .modal_article .jobs_message.type2 .row .img .pic {
    width: 90%;
  }
  .modal_article .jobs_message.type2  .row .img .pic {
    position: absolute;
    right: 6%;
    top: 9%;
  }

}

@media screen and (max-width: 768px) {
  .modal_content {
    padding: 20px 20px;
  }

  .modal_overlay {
    padding: 50px 10px;
  }

  .modal_article .location_list {
    display: block;
  }

  .modal_article .location_list>li {
    width: 100%;
    margin-bottom: 10px;
  }

  .modal_article .location_list>li>a span {
    font-size: 2rem;
  }
  
  .modal_article ul.row1 {
    flex-direction: column;
    gap:20px;
  }

  .modal_article ul.row1 li{
    width: 100%;
  }

  .modal_article ul.row3 {
    display: flex;
    flex-direction: column;
    gap: 5%;
  }

  .modal_article ul.row3 {
    display: block;
    margin-bottom: 30px;
  }
  .modal_article ul.row3>li{
    width: 100%;
  }

  .modal_article ul.row1>li .profile {
    justify-content: center;
  }

}


.description_block .button_area{
  display: flex;
  margin-top: 60px;
  justify-content: center;
}

/*news*/
table.table1 tr th.news_date {
    width: 220px;
    text-align: left;
    vertical-align: top;
    padding: 20px 24px;
  font-weight: 500;
  font-size: 2rem;
  color: #23AB39;
  line-height: 1.3;
}
table.table1 tr td.news_cont {
    width: calc(100% - 220px);
    vertical-align: top;
    padding: 20px 0px;
}
p.news_ttl {
  font-weight: 600;
  font-size: 2rem;
  color: #000;
  line-height: 1.3;
  margin-bottom: 10px;
}
table.table1 tr td.news_cont a{
    color: blue;
}



