@media screen and (min-width: 769px), print {
  .recruit {
    padding-bottom: 150px;
  }
  .recruit .ttl_in {
    padding-left: 4px;
  }
  .recruit .ttl_in h2 {
    font-family: 'Black Ops One', cursive;
    font-weight: 400;
    font-size: 8rem;
    letter-spacing: 8px;
    margin-bottom: 0;
  }
  .recruit .ttl_in span {
    line-height: 24px;
    margin-bottom: 17px;
  }
  .recruit .ttl_in p {
    background: #85c367;
    padding: 0 28px;
    -webkit-transform: skewX(-14deg);
       -moz-transform: skewX(-14deg);
        -ms-transform: skewX(-14deg);
            transform: skewX(-14deg);
    margin-left: -18px;
  }
  .recruit .ttl_in p small {
    display: block;
    font-weight: bold;
    font-size: 2rem;
    line-height: 40px;
    color: #fff;
    letter-spacing: 2px;
    padding-left: 18px;
    -webkit-transform: skewX(14deg);
       -moz-transform: skewX(14deg);
        -ms-transform: skewX(14deg);
            transform: skewX(14deg);
  }
  .recruit img {
    max-width: 100%;
  }
  .ttlm {
    text-align: center;
  }
  .ttlm .en {
    display: block;
    font-family: 'Teko', sans-serif;
    font-weight: 500;
    font-size: 7rem;
    line-height: 70px;
    letter-spacing: 7px;
  }
  .ttlm .jp {
    display: block;
    font-weight: bold;
    font-size: 2rem;
    line-height: 20px;
    letter-spacing: 2px;
  }
  .ttlm .part {
    display: inline-block;
    background: #85c367;
    padding: 0 65px;
    -webkit-transform: skewX(-14deg);
       -moz-transform: skewX(-14deg);
        -ms-transform: skewX(-14deg);
            transform: skewX(-14deg);
    margin-top: 20px;
  }
  .ttlm .part small {
    display: block;
    font-weight: bold;
    font-size: 2rem;
    line-height: 40px;
    color: #fff;
    letter-spacing: 2px;
    -webkit-transform: skewX(14deg);
       -moz-transform: skewX(14deg);
        -ms-transform: skewX(14deg);
            transform: skewX(14deg);
  }
  .ttls {
    text-align: center;
    margin-bottom: 36px;
  }
  .ttls .en {
    display: block;
    font-family: 'Teko', sans-serif;
    font-weight: 500;
    font-size: 5rem;
    line-height: 50px;
    letter-spacing: 5px;
  }
  .ttls .jp {
    display: block;
    font-weight: bold;
    font-size: 1.8rem;
    line-height: 20px;
    letter-spacing: 2px;
    margin-top: 5px;
  }
  .message {
    width: 100%;
    background: url("../images/bg.png") repeat;
    padding: 63px 0;
    text-align: center;
  }
  .message .ttlm {
    margin-bottom: 53px;
  }
  .message p {
    font-size: 1.6rem;
    line-height: 26px;
    letter-spacing: .8px;
  }
  .workdeta {
    padding: 93px 0 0;
  }
  .workdeta .ttlm {
    margin-bottom: 69px;
  }
  .workdeta .info {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 91px;
  }
  .workdeta .info .order_01 {
    -webkit-box-ordinal-group: 2;
       -moz-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .workdeta .info .order_02 {
    -webkit-box-ordinal-group: 3;
       -moz-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .workdeta .info figure {
    width: 50%;
  }
  .workdeta .info figure img {
    width: 100%;
  }
  .workdeta .info .txt {
    width: 50%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .workdeta .info .txt.lf {
    -webkit-box-pack: end;
       -moz-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .workdeta .info .txt.lf .detail {
    padding-right: 60px;
  }
  .workdeta .info .txt.rg .detail {
    padding-left: 60px;
  }
  .workdeta .info .txt .detail {
    width: 550px;
  }
  .workdeta .info .txt h4 {
    font-weight: bold;
    font-size: 2.8rem;
    line-height: 30px;
    letter-spacing: 2.5px;
    margin-bottom: 40px;
  }
  .workdeta .info .txt p {
    font-size: 1.6rem;
    line-height: 26px;
    letter-spacing: .8px;
  }
  .workdeta .cycle {
    width: 100%;
    background: url("../images/bg.png") repeat;
    padding: 56px 0 72px;
  }
  .workdeta .cycle .fieldwork {
    background: #fff;
    padding: 40px 50px;
  }
  .workdeta .cycle .fieldwork li {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-left: 32px;
    position: relative;
  }
  .workdeta .cycle .fieldwork li:not(:last-of-type) {
    padding-bottom: 27px;
  }
  .workdeta .cycle .fieldwork li:not(:last-of-type)::after {
    content: "";
    display: block;
    width: 1px;
    background: #85c367;
    position: absolute;
    left: 5px;
    top: 5px;
    bottom: -5px;
  }
  .workdeta .cycle .fieldwork li::before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    background: #85c367;
    -moz-border-radius: 50%;
         border-radius: 50%;
    position: absolute;
    left: 0;
    top: 5px;
  }
  .workdeta .cycle .fieldwork li span {
    width: 185px;
    font-weight: bold;
    font-size: 2rem;
    line-height: 20px;
  }
  .workdeta .cycle .fieldwork li p {
    width: -webkit-calc(100% - 185px);
    width: -moz-calc(100% - 185px);
    width: calc(100% - 185px);
    font-size: 1.8rem;
    line-height: 20px;
    letter-spacing: 1.7px;
  }
  .workdeta .interview {
    width: 100%;
    padding: 56px 0 72px;
  }
  .workdeta .interview .video_wrap > video {
    width: 100%;
  }
  .banner {
    width: 100%;
  }
  .banner img {
    width: 100%;
  }
  .recruitment {
    padding: 90px 0 0;
  }
  .recruitment .ttlm {
    margin-bottom: 49px;
  }
  .recruitment .box:not(:last-of-type) {
    margin-bottom: 100px;
  }
  .recruitment .box h4 {
    background: #85c367;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
       -moz-box-orient: horizontal;
       -moz-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    color: #fff;
    padding: 35px 0 25px;
    margin-bottom: 30px;
  }
  .recruitment .box h4 .en {
    font-family: 'Teko', sans-serif;
    font-weight: 500;
    font-size: 6.4rem;
    line-height: 30px;
    letter-spacing: 7px;
  }
  .recruitment .box h4 .jp {
    font-weight: bold;
    font-size: 3rem;
    line-height: 30px;
    padding-left: 17px;
    letter-spacing: 3px;
    margin-top: -5px;
  }
  .recruitment .box dl {
    font-size: 1.6rem;
    line-height: 26px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 5px;
  }
  .recruitment .box dl dt {
    width: 190px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background: #414145;
    font-weight: bold;
    color: #fff;
    letter-spacing: 1px;
    padding: 20px 10px 19px;
  }
  .recruitment .box dl dd {
    width: -webkit-calc(100% - 195px);
    width: -moz-calc(100% - 195px);
    width: calc(100% - 195px);
    background: #f6f6f6;
    color: #000;
    letter-spacing: .7px;
    padding: 20px 25px 19px;
  }
  .recruitment .box .par-Btn {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0 25px;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 50px;
  }
  .recruitment .box .par-Btn .lgBtn {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 78px;
    width: 250px;
    border: 1px solid #acacac;
    overflow: hidden;
    -webkit-transition: opacity .3s;
    -moz-transition: opacity .3s;
    transition: opacity .3s;
  }
  .recruitment .box .par-Btn .lgBtn:hover {
    opacity: 0.7;
  }
  .recruitment .box .par-Btn .lgBtn img {
    max-height: 100%;
  }
  .recruitment .box strong {
    display: block;
    font-size: 2rem;
    line-height: 30px;
    letter-spacing: 1px;
    margin: 42px 0 11px;
  }
  .recruitment .box strong small {
    font-size: 1.6rem;
    display: block;
  }
  .recruitment .box a.btn {
    margin-top: 50px;
    width: 368px;
    height: 60px;
  }
  .recruitment .box a.btn span {
    font-size: 2rem;
  }
  .recruitment .box a.btn span.jp {
    letter-spacing: 0;
  }
  .recruitment .link {
    color: #85c367;
    border-bottom: 1px solid #85c367;
  }
  .recruitment .link:hover {
    border-bottom: none;
  }
}

@media screen and (max-width: 768px) {
  .recruit {
    padding-bottom: 13.02083vw;
  }
  .recruit .ttl_in {
    width: 100%;
    padding-top: 1.30208vw;
    padding-left: 7.16146vw;
  }
  .recruit .ttl_in h2 {
    font-family: 'Black Ops One', cursive;
    font-weight: 400;
    font-size: 11.71875vw;
    letter-spacing: 1.17188vw;
    margin-bottom: 0;
  }
  .recruit .ttl_in span {
    margin: 1.30208vw 0 3.90625vw;
  }
  .recruit .ttl_in p {
    background: #85c367;
    padding: 0 3.90625vw;
    -webkit-transform: skewX(-14deg);
       -moz-transform: skewX(-14deg);
        -ms-transform: skewX(-14deg);
            transform: skewX(-14deg);
    margin-left: -2.34375vw;
  }
  .recruit .ttl_in p small {
    display: block;
    font-weight: bold;
    font-size: 4.16667vw;
    line-height: 7.8125vw;
    color: #fff;
    letter-spacing: 0.39062vw;
    padding-left: 2.34375vw;
    -webkit-transform: skewX(14deg);
       -moz-transform: skewX(14deg);
        -ms-transform: skewX(14deg);
            transform: skewX(14deg);
  }
  .recruit img {
    max-width: 100%;
  }
  .ttlm {
    text-align: center;
  }
  .ttlm .en {
    display: block;
    font-family: 'Teko', sans-serif;
    font-weight: 500;
    font-size: 10.41667vw;
    line-height: 10.41667vw;
    letter-spacing: 1.04167vw;
  }
  .ttlm .jp {
    display: block;
    font-weight: bold;
    font-size: 4.16667vw;
    line-height: 4.16667vw;
    letter-spacing: 0.39062vw;
    margin-top: 1.5625vw;
  }
  .ttlm .part {
    display: inline-block;
    background: #85c367;
    padding: 0 10.41667vw;
    -webkit-transform: skewX(-14deg);
       -moz-transform: skewX(-14deg);
        -ms-transform: skewX(-14deg);
            transform: skewX(-14deg);
    margin-top: 3.90625vw;
  }
  .ttlm .part small {
    display: block;
    font-weight: bold;
    font-size: 4.16667vw;
    line-height: 7.8125vw;
    color: #fff;
    letter-spacing: 0.39062vw;
    -webkit-transform: skewX(14deg);
       -moz-transform: skewX(14deg);
        -ms-transform: skewX(14deg);
            transform: skewX(14deg);
  }
  .ttls {
    text-align: center;
    margin-bottom: 9.11458vw;
  }
  .ttls .en {
    display: block;
    font-family: 'Teko', sans-serif;
    font-weight: 500;
    font-size: 10.41667vw;
    line-height: 10.41667vw;
    letter-spacing: 1.04167vw;
    padding-left: 1.30208vw;
  }
  .ttls .jp {
    display: block;
    font-weight: bold;
    font-size: 4.16667vw;
    line-height: 4.16667vw;
    letter-spacing: 0.39062vw;
    margin-top: 1.17188vw;
  }
  .message {
    width: 100%;
    background: url("../images/bg_sp.png") repeat;
    padding: 12.10938vw 0 11.84896vw;
    text-align: center;
  }
  .message .ttlm {
    margin-bottom: 6.51042vw;
  }
  .message p {
    font-size: 4.16667vw;
    line-height: 6.25vw;
    letter-spacing: 0.19531vw;
    margin: 0 -1.30208vw;
  }
  .workdeta {
    padding: 8.98438vw 0 0;
  }
  .workdeta .ttlm {
    margin-bottom: 13.41146vw;
  }
  .workdeta .ttlm .en {
    font-size: 11.71875vw;
    line-height: 11.71875vw;
    letter-spacing: 1.17188vw;
    padding-left: 1.30208vw;
  }
  .workdeta .ttlm .jp {
    margin-top: 0.65104vw;
  }
  .workdeta .info {
    margin-bottom: 0;
  }
  .workdeta .info figure {
    width: 100%;
  }
  .workdeta .info figure img {
    width: 100%;
  }
  .workdeta .info .txt {
    padding: 8.46354vw 3.90625vw 11.71875vw;
  }
  .workdeta .info .txt h4 {
    font-weight: bold;
    font-size: 5.72917vw;
    line-height: 1;
    letter-spacing: 0.58594vw;
    margin-bottom: 5.20833vw;
  }
  .workdeta .info .txt p {
    font-size: 4.16667vw;
    line-height: 6.25vw;
    letter-spacing: 0.20833vw;
  }
  .workdeta .cycle {
    width: 100%;
    background: url("../images/bg_sp.png") repeat;
    padding: 12.89062vw 0;
  }
  .workdeta .cycle .fieldwork {
    background: #fff;
    padding: 5.98958vw 3.90625vw 5.33854vw;
    margin: 0 -3.90625vw;
  }
  .workdeta .cycle .fieldwork li {
    padding-left: 5.20833vw;
    position: relative;
  }
  .workdeta .cycle .fieldwork li:not(:last-of-type) {
    padding-bottom: 4.94792vw;
  }
  .workdeta .cycle .fieldwork li:not(:last-of-type)::after {
    content: "";
    display: block;
    width: 1px;
    background: #85c367;
    position: absolute;
    left: -webkit-calc(1.30208vw - 0.5px);
    left: -moz-calc(1.30208vw - 0.5px);
    left: calc(1.30208vw - 0.5px);
    top: 0.91146vw;
    bottom: -0.91146vw;
  }
  .workdeta .cycle .fieldwork li::before {
    content: "";
    display: block;
    width: 2.60417vw;
    height: 2.60417vw;
    background: #85c367;
    -moz-border-radius: 50%;
         border-radius: 50%;
    position: absolute;
    left: 0;
    top: 0.91146vw;
  }
  .workdeta .cycle .fieldwork li span {
    display: block;
    font-weight: bold;
    font-size: 4.16667vw;
    line-height: 4.16667vw;
    margin-bottom: 0.91146vw;
  }
  .workdeta .cycle .fieldwork li p {
    font-size: 4.16667vw;
    line-height: 6.25vw;
    letter-spacing: 0.26042vw;
  }
  .workdeta .interview {
    width: 100%;
    padding: 12.89062vw 0;
  }
  .workdeta .interview .video_wrap > video {
    width: 100%;
  }
  .banner {
    width: 100%;
    margin-bottom: 2.73438vw;
  }
  .banner img {
    width: 100%;
  }
  .recruitment {
    padding: 9.24479vw 0 0;
  }
  .recruitment .ttlm {
    margin-bottom: 9.11458vw;
  }
  .recruitment .box {
    margin-left: -3.90625vw;
    margin-right: -3.90625vw;
  }
  .recruitment .box:not(:last-of-type) {
    margin-bottom: 12.76042vw;
  }
  .recruitment .box h4 {
    background: #85c367;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
       -moz-box-orient: horizontal;
       -moz-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    color: #fff;
    padding: 5.98958vw 0 4.6875vw;
    margin-bottom: 3.90625vw;
  }
  .recruitment .box h4 .en {
    font-family: 'Teko', sans-serif;
    font-weight: 500;
    font-size: 9.89583vw;
    line-height: 6.25vw;
    letter-spacing: 1.04167vw;
  }
  .recruitment .box h4 .jp {
    font-weight: bold;
    font-size: 4.94792vw;
    line-height: 6.25vw;
    padding-left: 2.34375vw;
    letter-spacing: 0.39062vw;
    margin-top: -1.17188vw;
  }
  .recruitment .box dl {
    font-size: 3.64583vw;
    line-height: 5.72917vw;
    padding: 0 3.90625vw;
    margin-bottom: 0.65104vw;
  }
  .recruitment .box dl dt {
    width: 100%;
    background: #414145;
    font-weight: bold;
    color: #fff;
    letter-spacing: 1px;
    text-align: center;
    padding: 2.86458vw 3.90625vw;
    margin-bottom: 0.65104vw;
  }
  .recruitment .box dl dd {
    background: #f6f6f6;
    color: #000;
    letter-spacing: 0.16927vw;
    padding: 2.86458vw 3.90625vw;
  }
  .recruitment .box .par-Btn {
    margin-top: 6.64062vw;
  }
  .recruitment .box .par-Btn .lgBtn {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 74.21875vw;
    height: 23.17708vw;
    border: 1px solid #acacac;
    overflow: hidden;
    margin-inline: auto;
  }
  .recruitment .box .par-Btn .lgBtn:not(:first-of-type) {
    margin-top: 6.64062vw;
  }
  .recruitment .box .par-Btn .lgBtn img {
    max-height: 100%;
  }
  .recruitment .box strong {
    display: block;
    font-size: 5.20833vw;
    line-height: 5.72917vw;
    letter-spacing: 0.22135vw;
    padding: 14.58333vw 3.90625vw 2.99479vw;
  }
  .recruitment .box strong small {
    font-size: 4.16667vw;
    display: block;
    margin-top: 1.17188vw;
  }
  .recruitment .box a.btn {
    margin-top: 8.85417vw;
    width: 84.11458vw;
    height: 13.02083vw;
  }
  .recruitment .box a.btn span {
    font-size: 4.16667vw;
  }
  .recruitment .box a.btn span.jp {
    letter-spacing: 0;
  }
  .recruitment .link {
    color: #85c367;
    border-bottom: 1px solid #85c367;
  }
}
