@charset "UTF-8";

.rec_areamap {
  margin: 0 auto;
}
.rec_areamap .map_block {
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .rec_areamap .map_block {
    width: 100%;
  }
}
@media screen and (max-width: 1000px) {
  .rec_areamap .map_block .map_division {
    height: 500px;
    overflow: scroll;
  }
}
.rec_areamap .map_images {
  position: relative;
  width: 1000px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .rec_areamap .map_images {
    width: 750px;
  }
}
.rec_areamap .map_images figure {
  width: 100%;
  margin: 0;
}
.rec_areamap .map_images figure img {
  display: block;
  width: 100%;
  height: auto;
}
.rec_areamap .map_pins {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .rec_areamap .map_pins {
    -webkit-transform: scale(0.75);
        -ms-transform: scale(0.75);
            transform: scale(0.75);
    -webkit-transform-origin: left top;
        -ms-transform-origin: left top;
            transform-origin: left top;
  }
}
.rec_areamap .map_pins .pins {
  position: absolute;
  width: 53px;
  height: 76px;
  background-image: url("../../img/recruit/area/ico_pin.png");
  background-size: cover;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  cursor: pointer;
  -webkit-transform-origin: bottom;
      -ms-transform-origin: bottom;
          transform-origin: bottom;
}
@media screen and (min-width: 769px) {
  .rec_areamap .map_pins .pins:hover {
    background-image: url("../../img/recruit/area/ico_pin_active.png");
    -webkit-transform: scale(1.4);
        -ms-transform: scale(1.4);
            transform: scale(1.4);
  }
}
@media screen and (min-width: 769px) {
  .rec_areamap .map_pins .pins:hover .num {
    color: #CE5B31;
  }
}
.rec_areamap .map_pins .pins.active {
  background-image: url("../../img/recruit/area/ico_pin_active.png");
  -webkit-animation-name: pins;
          animation-name: pins;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-transform: translateY(0) scale(1.4);
      -ms-transform: translateY(0) scale(1.4);
          transform: translateY(0) scale(1.4);
}
@-webkit-keyframes pins {
  0% {
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
  }
  50% {
    -webkit-transform: translateY(-15px) scale(1.4);
            transform: translateY(-15px) scale(1.4);
  }
  100% {
    -webkit-transform: translateY(0) scale(1.4);
            transform: translateY(0) scale(1.4);
  }
}
@keyframes pins {
  0% {
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
  }
  50% {
    -webkit-transform: translateY(-15px) scale(1.4);
            transform: translateY(-15px) scale(1.4);
  }
  100% {
    -webkit-transform: translateY(0) scale(1.4);
            transform: translateY(0) scale(1.4);
  }
}
.rec_areamap .map_pins .pins.active .num {
  color: #CE5B31;
}
.rec_areamap .map_pins .pins.num01 {
  top: 314px;
  left: 200px;
  z-index: 5;
}
.rec_areamap .map_pins .pins.num02 {
  top: 370px;
  left: 164px;
  z-index: 10;
}
.rec_areamap .map_pins .pins.num03 {
  top: 337px;
  left: 57px;
  z-index: 10;
}
.rec_areamap .map_pins .pins.num04 {
  top: 180px;
  left: 321px;
  z-index: 10;
}
.rec_areamap .map_pins .pins.num05 {
  top: 538px;
  left: 314px;
  z-index: 10;
}
.rec_areamap .map_pins .pins.num06 {
  top: 166px;
  left: 182px;
  z-index: 10;
}
.rec_areamap .map_pins .pins.num07 {
  top: 496px;
  left: 431px;
  z-index: 10;
}
.rec_areamap .map_pins .pins.num08 {
  top: 201px;
  left: 50px;
  z-index: 10;
}
.rec_areamap .map_pins .pins.num09 {
  top: 211px;
  left: 509px;
  z-index: 10;
}
.rec_areamap .map_pins .pins.num10 {
  top: 129px;
  left: 511px;
  z-index: 5;
}
.rec_areamap .map_pins .pins.num11 {
  top: 351px;
  left: 653px;
  z-index: 10;
}
.rec_areamap .map_pins .pins.num12 {
  top: 375px;
  left: 743px;
  z-index: 10;
}
.rec_areamap .map_pins .pins.num13 {
  top: 382px;
  left: 798px;
  z-index: 15;
}
.rec_areamap .map_pins .pins.num14 {
  top: 306px;
  left: 769px;
  z-index: 5;
}
.rec_areamap .map_pins .pins.num15 {
  top: 173px;
  left: 730px;
  z-index: 10;
}
.rec_areamap .map_pins .pins.num16 {
  top: 479px;
  left: 915px;
  z-index: 10;
}
.rec_areamap .map_pins .pins .num {
  display: block;
  width: 100%;
  padding-top: 11px;
  font-family: "Roboto Condensed";
  font-size: 18px;
  font-weight: 700;
  color: #FA966A;
  text-align: center;
}
.rec_areamap .map_opener {
  position: absolute;
  bottom: 0;
  left: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 160px;
  height: 80px;
  border-radius: 80px;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  cursor: pointer;
  z-index: 160;
}
@media screen and (max-width: 768px) {
  .rec_areamap .map_opener {
    width: 120px;
    height: 60px;
  }
}
.rec_areamap .map_opener::before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 50%;
  width: 160px;
  height: 160px;
  border-radius: 80px;
  background-color: rgba(206, 91, 49, 0.8);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: translate(-50%, 50%);
      -ms-transform: translate(-50%, 50%);
          transform: translate(-50%, 50%);
}
@media screen and (max-width: 1000px) {
  .rec_areamap .map_opener::before {
    width: 120px;
    height: 120px;
  }
}
.rec_areamap .map_opener.opened {
  opacity: 0;
  visibility: hidden;
}
.rec_areamap .map_opener .text {
  position: relative;
  margin-top: 18px;
  font-family: "Roboto Condensed";
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  letter-spacing: 0.07em;
}
@media screen and (max-width: 768px) {
  .rec_areamap .map_opener .text {
    margin-top: 8px;
    font-size: 14px;
  }
}
.rec_areamap .map_opener .text::after {
  position: absolute;
  content: "";
  top: calc(100% + 4px);
  left: 50%;
  width: 24px;
  height: 24px;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  -webkit-transform: translateX(-50%) rotate(45deg);
      -ms-transform: translateX(-50%) rotate(45deg);
          transform: translateX(-50%) rotate(45deg);
}
@media screen and (max-width: 768px) {
  .rec_areamap .map_opener .text::after {
    top: 100%;
    width: 16px;
    height: 16px;
  }
}
.rec_areamap .map_place {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  max-width: 1000px;
  height: 100%;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  opacity: 0;
  visibility: hidden;
  z-index: 25;
}
.rec_areamap .map_place.opened {
  opacity: 1;
  visibility: visible;
}
.rec_areamap .map_place .placebox {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0;
  z-index: 150;
}
@media screen and (max-width: 768px) {
  .rec_areamap .map_place .placebox {
    bottom: inherit;
    top: 0;
    height: 100%;
  }
}
.rec_areamap .map_place .placebox.opened::before {
  opacity: 0;
  visibility: hidden;
}
.rec_areamap .map_place .placebox .placelist {
  position: absolute;
  bottom: 0;
  left: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 4px 15px;
  width: 100%;
  height: auto;
  margin: 0 !important;
  padding: 82px 40px 32px;
  background-color: rgba(206, 91, 49, 0.8);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(20px);
      -ms-transform: translateY(20px);
          transform: translateY(20px);
  z-index: 15;
  counter-reset: place !important;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .rec_areamap .map_place .placebox .placelist {
    bottom: inherit;
    top: 0;
    gap: 8px 15px;
    padding: 32px 24px 32px;
    background-color: rgba(206, 91, 49, 0.8);
    overflow-y: auto;
  }
}
.rec_areamap .map_place .placebox .placelist.opened {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
  visibility: visible;
}
.rec_areamap .map_place .placebox .placelist .closer {
  position: absolute !important;
  top: 28px;
  right: 28px;
  width: 28px;
  height: 28px;
  padding: 0 !important;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  cursor: pointer;
  z-index: 15;
}
@media screen and (max-width: 768px) {
  .rec_areamap .map_place .placebox .placelist .closer {
    z-index: 100;
  }
}
.rec_areamap .map_place .placebox .placelist .closer::before {
  position: absolute !important;
  content: "" !important;
  top: 14px !important;
  left: -4px !important;
  width: 36px;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}
.rec_areamap .map_place .placebox .placelist .closer::after {
  position: absolute;
  content: "";
  top: 14px;
  left: -4px;
  width: 36px;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .rec_areamap .map_place .placebox .placelist .closer {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0;
    right: 0;
    margin-left: auto;
  }
}
.rec_areamap .map_place .placebox .placelist .listitem {
  position: relative;
  width: calc((100% - 30px) / 3);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  z-index: 15;
  padding-left: 0 !important;
  font-size: 16px !important;
  line-height: 27px !important;
}
@media screen and (max-width: 768px) {
  .rec_areamap .map_place .placebox .placelist .listitem {
    width: 100%;
  }
}
.rec_areamap .map_place .placebox .placelist .listitem::before {
  position: static !important;
  counter-increment: place !important;
  content: counter(place, decimal-leading-zero) !important;
  font-family: "Roboto Condensed";
  font-size: 18px;
  color: #fff !important;
  font-weight: 700;
}
.rec_areamap .map_place .placebox .placelist .listitem .text {
  margin-left: 7px;
  font-family: "Noto Sans JP";
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.07em;
  cursor: pointer;
}
.rec_areamap .map_place .placebox .placelist .listitem .text small {
  font-size: 13px;
}
.rec_areamap .map_information {
  width: 100%;
  border: 1px solid #CE5B31;
  margin: 17px auto 55px;
  padding: 8px 16px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.rec_areamap .map_information.upside {
  display: none;
}
@media screen and (max-width: 768px) {
  .rec_areamap .map_information.upside {
    display: block;
    margin: 30px auto 20px;
  }
}
@media screen and (max-width: 768px) {
  .rec_areamap .map_information {
    padding: 8px;
  }
}
.rec_areamap .map_information .text {
  margin: 0 !important;
  font-family: "Noto Sans JP";
  font-size: 20px;
  color: #CE5B31;
  font-weight: 500;
  text-align: left;
  line-height: 32px;
  letter-spacing: 0.07em;
}
@media screen and (max-width: 768px) {
  .rec_areamap .map_information .text {
    font-size: 13px;
    line-height: 22px;
  }
}
.rec_areamap .placedata {
  position: fixed;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100dvh;
  z-index: 200;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 0;
  visibility: hidden;
}
@media screen and (max-width: 768px) {
  .rec_areamap .placedata {
    z-index: 1010;
  }
}
.rec_areamap .placedata.opened {
  opacity: 1;
  visibility: visible;
}
.rec_areamap .placedata .place_screen {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(55, 55, 55, 0.8);
  z-index: 5;
}
.rec_areamap .placedata .dataarea {
  position: relative;
  z-index: 15;
}
.rec_areamap .placedata .dataarea .placemodal_list {
  position: relative;
  display: none;
  width: 100%;
  max-width: 726px;
  margin: 0 auto;
  padding: 86px 100px 61px;
  background-color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .rec_areamap .placedata .dataarea .placemodal_list {
    width: calc(100% - 40px);
    padding: 60px 30px 40px;
  }
}
.rec_areamap .placedata .dataarea .placemodal_list.active {
  display: block;
}
.rec_areamap .placedata .dataarea .placemodal_list .closer {
  position: absolute;
  top: 30px;
  right: 30px;
  width: 28px;
  height: 28px;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .rec_areamap .placedata .dataarea .placemodal_list .closer {
    top: 20px;
    width: 20px;
    height: 20px;
  }
}
.rec_areamap .placedata .dataarea .placemodal_list .closer::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  width: 40px;
  border-top: 1px solid #373737;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
      -ms-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
@media screen and (max-width: 768px) {
  .rec_areamap .placedata .dataarea .placemodal_list .closer::before {
    width: 24px;
  }
}
.rec_areamap .placedata .dataarea .placemodal_list .closer::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  width: 40px;
  border-top: 1px solid #373737;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
      -ms-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .rec_areamap .placedata .dataarea .placemodal_list .closer::after {
    width: 24px;
  }
}
.rec_areamap .placedata .dataarea .placemodal_list .imagebox {
  position: relative;
}
.rec_areamap .placedata .dataarea .placemodal_list .imagebox .image {
  margin: 0;
}
.rec_areamap .placedata .dataarea .placemodal_list .imagebox .image img {
  display: block;
  width: 100%;
  height: auto;
}
.rec_areamap .placedata .dataarea .placemodal_list .imagebox .pins {
  position: absolute;
  bottom: -29px;
  left: 50%;
  width: 53px;
  height: 76px;
  background-image: url("../../img/recruit/area/ico_pin_active.png");
  background-size: cover;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
.rec_areamap .placedata .dataarea .placemodal_list .imagebox .pins .num {
  display: block;
  width: 100%;
  padding-top: 11px;
  font-family: "Roboto Condensed";
  font-size: 18px;
  font-weight: 700;
  color: #CE5B31;
  text-align: center;
}
.rec_areamap .placedata .dataarea .placemodal_list .data {
  margin: 47px 0 0;
}
@media screen and (max-width: 768px) {
  .rec_areamap .placedata .dataarea .placemodal_list .data {
    margin-top: 40px;
  }
}
.rec_areamap .placedata .dataarea .placemodal_list .data .name {
  text-align: center;
}
.rec_areamap .placedata .dataarea .placemodal_list .data .name .text {
  font-family: "Noto Sans JP";
  font-size: 20px;
  font-weight: 500;
  line-height: 32px;
  letter-spacing: 0.07em;
}
@media screen and (max-width: 768px) {
  .rec_areamap .placedata .dataarea .placemodal_list .data .name .text {
    font-size: 18px;
  }
}
.rec_areamap .placedata .dataarea .placemodal_list .data .desc {
  margin: 21px 0 0;
}
@media screen and (max-width: 768px) {
  .rec_areamap .placedata .dataarea .placemodal_list .data .desc {
    margin-top: 12px;
  }
}
.rec_areamap .placedata .dataarea .placemodal_list .data .desc p {
  margin: 0 !important;
  font-family: "Noto Sans JP";
  line-height: 32px;
}
@media screen and (max-width: 768px) {
  .rec_areamap .placedata .dataarea .placemodal_list .data .desc p {
    font-size: 14px;
    line-height: 26px;
  }
}

.rec_postdata {
  margin-top: 70px;
}
@media screen and (max-width: 768px) {
  .rec_postdata {
    margin-top: 40px;
  }
}
.rec_postdata .rec_postlist {
  width: 100%;
  max-width: 1000px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .rec_postdata .rec_postlist {
    gap: 25px !important;
    padding-bottom: 0;
  }
}
.rec_postdata .rec_postlist.basic {
  gap: 40px;
}
.rec_postdata .rec_postlist.basic .postblock {
  width: calc((100% - 40px) / 2);
}
@media screen and (max-width: 768px) {
  .rec_postdata .rec_postlist.basic .postblock {
    width: 100%;
  }
}
.rec_postdata .rec_postlist.basic.rec {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 769px) {
  .rec_postdata .rec_postlist.basic.stairs {
    padding-bottom: 70px;
  }
}
.rec_postdata .rec_postlist.basic.stairs .postblock:nth-child(even) {
  -webkit-transform: translateY(70px);
      -ms-transform: translateY(70px);
          transform: translateY(70px);
}
@media screen and (max-width: 768px) {
  .rec_postdata .rec_postlist.basic.stairs .postblock:nth-child(even) {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
  }
}
.rec_postdata .rec_postlist.triple {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 41px;
}
.rec_postdata .rec_postlist.triple .postblock {
  width: calc((100% - 82px) / 3);
}
@media screen and (max-width: 768px) {
  .rec_postdata .rec_postlist.triple .postblock {
    width: 100%;
  }
}
.rec_postdata .rec_postlist.triple .postblock a .image .imagedata,
.rec_postdata .rec_postlist.triple .postblock .normalbox .image .imagedata {
  background-position: top center !important;
}
.rec_postdata .rec_postlist.triple .postblock a .databox,
.rec_postdata .rec_postlist.triple .postblock .normalbox .databox {
  min-height: 0;
  padding: 26px 36px;
  -webkit-line-clamp: inherit !important;
}
@media screen and (min-width: 769px) {
  .rec_postdata .rec_postlist.triple.stairs {
    padding-bottom: 60px;
  }
}
.rec_postdata .rec_postlist.triple.stairs .postblock:nth-child(3n+2) {
  -webkit-transform: translateY(30px);
      -ms-transform: translateY(30px);
          transform: translateY(30px);
}
@media screen and (max-width: 768px) {
  .rec_postdata .rec_postlist.triple.stairs .postblock:nth-child(3n+2) {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
  }
}
.rec_postdata .rec_postlist.triple.stairs .postblock:nth-child(3n) {
  -webkit-transform: translateY(60px);
      -ms-transform: translateY(60px);
          transform: translateY(60px);
}
@media screen and (max-width: 768px) {
  .rec_postdata .rec_postlist.triple.stairs .postblock:nth-child(3n) {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
  }
}
.rec_postdata .rec_postlist .postblock {
  width: calc((100% - 60px) / 2);
  background-color: #ECECEC;
}
.rec_postdata .rec_postlist .postblock a {
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 769px) {
  .rec_postdata .rec_postlist .postblock a:hover {
    opacity: 0.8;
  }
  .rec_postdata .rec_postlist .postblock a:hover .image .imagedata {
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.rec_postdata .rec_postlist .postblock a,
.rec_postdata .rec_postlist .postblock .normalbox {
  position: relative;
  display: block;
  text-decoration: none !important;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
}
.rec_postdata .rec_postlist .postblock a .point,
.rec_postdata .rec_postlist .postblock .normalbox .point {
  position: absolute;
  top: 0;
  left: 0;
  padding: 6px 23px 4px 29px;
  background-color: #CE5B31;
  z-index: 15;
  -webkit-transform: translateX(-13px) skewX(-24deg);
      -ms-transform: translateX(-13px) skewX(-24deg);
          transform: translateX(-13px) skewX(-24deg);
}
.rec_postdata .rec_postlist .postblock a .point .text,
.rec_postdata .rec_postlist .postblock .normalbox .point .text {
  display: inline-block;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 500;
  color: #fff;
  -webkit-transform: skewX(24deg);
      -ms-transform: skewX(24deg);
          transform: skewX(24deg);
}
.rec_postdata .rec_postlist .postblock a .image,
.rec_postdata .rec_postlist .postblock .normalbox .image {
  width: 100%;
  height: 205px;
  margin: 0;
  overflow: hidden;
  z-index: 5;
}
@media screen and (max-width: 768px) {
  .rec_postdata .rec_postlist .postblock a .image,
  .rec_postdata .rec_postlist .postblock .normalbox .image {
    height: auto;
    aspect-ratio: 3/2;
  }
}
.rec_postdata .rec_postlist .postblock a .image .imagedata,
.rec_postdata .rec_postlist .postblock .normalbox .image .imagedata {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.rec_postdata .rec_postlist .postblock a .databox,
.rec_postdata .rec_postlist .postblock .normalbox .databox {
  position: relative;
  min-height: 149px;
  padding: 26px 51px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .rec_postdata .rec_postlist .postblock a .databox,
  .rec_postdata .rec_postlist .postblock .normalbox .databox {
    padding: 26px 31px;
  }
}
.rec_postdata .rec_postlist .postblock a .databox.recruit_info,
.rec_postdata .rec_postlist .postblock .normalbox .databox.recruit_info {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.rec_postdata .rec_postlist .postblock a .databox .text,
.rec_postdata .rec_postlist .postblock .normalbox .databox .text {
  margin: 0 !important;
  font-family: "Noto Sans JP";
  font-size: 16px;
  color: #373737;
  line-height: 32px;
}
.rec_postdata .rec_postlist .postblock a .databox .recruit_type,
.rec_postdata .rec_postlist .postblock .normalbox .databox .recruit_type {
  margin: 0 !important;
  font-family: "Noto Sans JP";
  font-size: 16px;
  color: #373737;
  font-weight: 700;
  line-height: 32px;
}
.rec_postdata .rec_postlist .postblock a .databox .recruit_job,
.rec_postdata .rec_postlist .postblock .normalbox .databox .recruit_job {
  margin: 0 !important;
  font-family: "Noto Sans JP";
  font-size: 30px;
  color: #373737;
  font-weight: 700;
  line-height: 46px;
}
.rec_postdata .rec_postlist .postblock a .databox .linkbutton,
.rec_postdata .rec_postlist .postblock .normalbox .databox .linkbutton {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 40px;
  height: 40px;
  background-color: #CE5B31;
}
.rec_postdata .rec_postlist .postblock a .databox .linkbutton::before,
.rec_postdata .rec_postlist .postblock .normalbox .databox .linkbutton::before {
  position: absolute;
  content: "";
  top: 19px;
  left: 17px;
  width: 20px;
  height: 7px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: translate(-50%, -50%) skewX(40deg);
      -ms-transform: translate(-50%, -50%) skewX(40deg);
          transform: translate(-50%, -50%) skewX(40deg);
}

.trainmap {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .trainmap {
    margin-top: 55px;
  }
}
.trainmap_content {
  max-width: 1000px;
}
.trainmap_content-block .listbox {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 36px 40px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .trainmap_content-block .listbox {
    gap: 20px;
  }
}
.trainmap_content-block .listbox .route {
  width: 100%;
  margin: 0 auto 4px;
  padding: 10px 16px 9px;
  background-color: #CE5B31;
  text-align: center;
}
.trainmap_content-block .listbox .route .text {
  font-family: "Noto Sans JP";
  font-size: 26px;
  color: #fff;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 0.07em;
}
@media screen and (max-width: 768px) {
  .trainmap_content-block .listbox .route .text {
    font-size: 18px;
  }
}
.trainmap_content-block .listbox .data {
  width: calc((100% - 40px) / 2);
  margin: 0 !important;
  padding: 30px;
  background-color: #ECECEC;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .trainmap_content-block .listbox .data {
    width: 100%;
  }
}
.trainmap_content-block .listbox .data .station {
  margin: 0 !important;
  font-family: "Noto Sans JP";
  font-size: 22px;
  color: #2A0F00;
  font-weight: 700;
  text-align: center;
  line-height: 32px;
  letter-spacing: 0.125em;
}
.trainmap_content-block .listbox .data .times {
  margin: 23px 0 0 !important;
  padding: 10px 16px 8px;
  border-top: 1px solid #CE5B31;
  border-bottom: 1px solid #CE5B31;
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  line-height: 29px;
  letter-spacing: 0.125em;
}
.trainmap_content-block .listbox .data .times .head {
  color: #CE5B31;
}
.trainmap_content-block .listbox .data .times .content {
  color: #373737;
}
.trainmap_content-block .listbox .data .box {
  margin-top: 20px;
}
.trainmap_content-block .listbox .data .box .point {
  text-align: center;
}
.trainmap_content-block .listbox .data .box .point .text {
  position: relative;
  display: inline-block;
  font-family: "Noto Sans JP";
  font-size: 20px;
  color: #CE5B31;
  font-weight: 600;
  line-height: 29px;
  letter-spacing: 0.125em;
}
.trainmap_content-block .listbox .data .box .point .text::before {
  position: absolute;
  content: "";
  top: -2px;
  right: calc(100% + 9px);
  width: 33px;
  height: 33px;
  background-image: url("/assets/img/recruit/area/ico_route_point.png");
  background-size: cover;
}
.trainmap_content-block .listbox .data .box .lead {
  margin: 14px 0 0 !important;
  font-family: "Noto Sans JP";
  line-height: 32px;
}

.columnlist {
  margin-bottom: 75px;
}
@media screen and (max-width: 768px) {
  .columnlist {
    margin-bottom: 40px;
  }
}
.columnlist_content {
  width: 100%;
  max-width: 1000px;
}
.columnlist_content-block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 20px 40px;
}
.columnlist_content-block .imagebox {
  position: relative;
  width: calc((100% - 40px) / 2);
}
@media screen and (max-width: 768px) {
  .columnlist_content-block .imagebox {
    width: 100%;
  }
}
.columnlist_content-block .imagebox .image {
  width: 100%;
  margin: 0 !important;
}
.columnlist_content-block .imagebox .image img {
  display: block;
  width: 100%;
  height: auto;
}
.columnlist_content-block .imagebox .slick-dotted.slick-slider {
  margin-bottom: 0 !important;
}
.columnlist_content-block .imagebox .slick-dots {
  position: absolute;
  bottom: 25px;
  right: 25px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 0 6px;
  width: calc(100% - 50px);
  margin-bottom: 0 !important;
}
.columnlist_content-block .imagebox .slick-dots li {
  width: 40px;
  height: 6px;
  margin: 0;
  background-color: #ECECEC;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.columnlist_content-block .imagebox .slick-dots li::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #CE5B31;
  -webkit-transform: scaleX(0);
      -ms-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: center left;
      -ms-transform-origin: center left;
          transform-origin: center left;
}
.columnlist_content-block .imagebox .slick-dots li.slick-active {
  background-color: #CE5B31;
}
.columnlist_content-block .imagebox .slick-dots li.slick-active.bar::before {
  -webkit-animation: bar 5s linear;
          animation: bar 5s linear;
}
@-webkit-keyframes bar {
  0% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
}
@keyframes bar {
  0% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
}
.columnlist_content-block .imagebox .slick-dots li button {
  display: none;
}
.columnlist_content-block .imagebox .bars {
  position: absolute;
  bottom: 26px;
  right: 26px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0 5px;
}
.columnlist_content-block .imagebox .bars .bar {
  width: 40px;
  height: 6px;
  background-color: #ECECEC;
}
.columnlist_content-block .imagebox .bars .bar.current {
  background-color: #CE5B31;
}
.columnlist_content-block .content {
  width: calc((100% - 40px) / 2);
}
@media screen and (max-width: 768px) {
  .columnlist_content-block .content {
    width: 100%;
  }
}
.columnlist_content-block .content .datalist {
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  counter-reset: columns !important;
}
.columnlist_content-block .content .datalist .listitem {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 30px !important;
  border-bottom: 1px solid #CE5B31;
  background-color: #fff;
  -webkit-transition: 0.1s;
  transition: 0.1s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .columnlist_content-block .content .datalist .listitem {
    height: auto !important;
    padding: 20px !important;
  }
}
.columnlist_content-block .content .datalist .listitem::before {
  position: static !important;
  counter-increment: columns !important;
  content: counter(columns, decimal-leading-zero) !important;
  font-family: "Roboto Condensed";
  font-size: 36px;
  color: #CE5B31 !important;
  font-weight: 700;
  -webkit-transform: translate(2px, 3px);
      -ms-transform: translate(2px, 3px);
          transform: translate(2px, 3px);
}
@media screen and (max-width: 768px) {
  .columnlist_content-block .content .datalist .listitem::before {
    font-size: 28px;
  }
}
.columnlist_content-block .content .datalist .listitem:first-child {
  border-top: 1px solid #CE5B31;
}
.columnlist_content-block .content .datalist .listitem:hover {
  background-color: rgba(206, 91, 49, 0.15);
}
.columnlist_content-block .content .datalist .listitem.current {
  background-color: rgba(206, 91, 49, 0.3);
}
.columnlist_content-block .content .datalist .listitem .text {
  display: inline-block;
  padding-left: 19px;
  font-family: "Noto Sans JP";
  font-size: 20px !important;
  color: #2A0F00 !important;
  font-weight: 700;
  line-height: 35px;
  letter-spacing: 0.07em;
}
@media screen and (max-width: 768px) {
  .columnlist_content-block .content .datalist .listitem .text {
    font-size: 16px !important;
    line-height: 24px;
  }
}

.infodata_content {
  max-width: 1000px;
}
.infodata_content a {
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 769px) {
  .infodata_content a:hover {
    opacity: 0.8;
  }
  .infodata_content a:hover .image img {
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.infodata_content .infoblock {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  text-decoration: none !important;
}
.infodata_content .infoblock .image {
  width: 50%;
  margin: 0 !important;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .infodata_content .infoblock .image {
    width: 100%;
  }
}
.infodata_content .infoblock .image img {
  display: block;
  width: 100%;
  height: auto;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.infodata_content .infoblock .databox {
  position: relative;
  width: 50%;
  padding: 45px 55px 45px 51px;
  background-color: #ECECEC;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .infodata_content .infoblock .databox {
    width: 100%;
    padding: 25px 30px;
  }
}
.infodata_content .infoblock .databox.recruit_info {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.infodata_content .infoblock .databox .text {
  margin: 0 !important;
  font-family: "Noto Sans JP";
  font-size: 16px;
  color: #373737;
  line-height: 32px;
}
@media screen and (max-width: 768px) {
  .infodata_content .infoblock .databox .text {
    font-size: 14px;
    line-height: 30px;
  }
}
.infodata_content .infoblock .databox .recruit_type {
  margin: 0 !important;
  font-family: "Noto Sans JP";
  font-size: 16px;
  color: #373737;
  font-weight: 700;
  line-height: 32px;
}
.infodata_content .infoblock .databox .recruit_job {
  margin: 0 !important;
  font-family: "Noto Sans JP";
  font-size: 30px;
  color: #373737;
  font-weight: 700;
  line-height: 46px;
}
.infodata_content .infoblock .databox .linkbutton {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 40px;
  height: 40px;
  background-color: #CE5B31;
}
.infodata_content .infoblock .databox .linkbutton::before {
  position: absolute;
  content: "";
  top: 19px;
  left: 17px;
  width: 20px;
  height: 7px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: translate(-50%, -50%) skewX(40deg);
      -ms-transform: translate(-50%, -50%) skewX(40deg);
          transform: translate(-50%, -50%) skewX(40deg);
}