@charset "utf-8";
.contents h3 {
  color: var(--dark-gray);
}
.contents h3 strong {
  font-family: Poppins,"游ゴシック体","游ゴシック",YuGothic,"Yu Gothic","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ Pro W3","Hiragino Sans","メイリオ",sans-serif;
  font-size: 5rem;
  display: inline-block;
  padding-right: 0.25em;
}
.contents h3 strong::first-letter {
  color: var(--red);
}
.contents h3 span {
  font-size: 2rem;
}
.contents h3 + p {
  margin-top: 0.5em;
}
.contents .main_image {
  width: 100%;
}
.contents .main_image img {
  width: 1574px;;
  object-fit: cover;
}
.contents .about {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
  max-width: var(--pc-contents-max-width);
  width: var(--pc-contents-width);
}
.contents .about > div {
  width: 100%;
  margin: 0 0 3rem 0;
}
.contents .about ul li a {
  align-items: flex-end;
  background-color: #000;
  color: #FFF;
  display: flex;
  overflow: hidden;
  position: relative;
  text-decoration: none;
  width: 100%;
}
.contents .about ul li a img {
  height: auto;
  object-fit: cover;
  opacity: 1;
  width: 100%;
}
.contents .about ul li a:hover img {
  opacity: 0.6;
  transform: scale(1.05);
}
.contents .about ul li dl {
  background: -webkit-linear-gradient(rgba(27,33,42,0) 0%, rgba(27,33,42,0.9) 28%, rgba(27,33,42,0.9) 100%);
  background: -o-linear-gradient(rgba(27,33,42,0) 0%, rgba(27,33,42,0.9) 28%, rgba(27,33,42,0.9) 100%);
  background: linear-gradient(rgba(27,33,42,0) 0%, rgba(27,33,42,0.9) 28%, rgba(27,33,42,0.9) 100%);
  bottom: 0;
  box-sizing: border-box;
  display: block;
  left: 0;
  position: absolute;
  text-align: left;
  z-index: 1;
  padding: 1.5em 1em 0.75em 1em;
  width: 100%;
}
.contents .about ul li dt {
  font-size: 2rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.contents .about ul li dd {
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 1.5;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.contents .department > div:nth-of-type(1) {
  align-items: flex-end;
  display: flex;
  justify-content: space-between;
  margin: 0 auto 4rem auto;
  max-width: var(--pc-contents-max-width);
  width: var(--pc-contents-width);
}
.contents .department > div:nth-of-type(1) > div {
  width: calc(var(--block-03-width) * 2);
}
.contents .department > div:nth-of-type(1) .link_btn_01 {
  width: var(--block-03-width);
}
.contents .attraction {
  background-color: var(--light-gray);
  padding: 2em 0;
}
.contents .attraction > div {
  margin: 0 auto 3rem auto;
  max-width: var(--pc-contents-max-width);
  width: var(--pc-contents-width);
}
.contents .attraction h3 {
  text-align: center;
  font-size: clamp(18px, 5vw, 5.1rem);
}
.contents .attraction h3 strong {
  font-size: clamp(18px, 8vw, 13.3rem);
  font-weight: normal;
  padding: 0 0.1rem;
  vertical-align: middle;
}
.contents .attraction .block {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.contents .attraction .block > div {
  width: 53%;
}
.contents .attraction .block dl {
  display: flex;
  flex-wrap: wrap;
}
.contents .attraction .block dt {
  border-bottom: solid 10px var(--red);
  color: var(--dark-gray);
  font-family: Poppins,"游ゴシック体","游ゴシック",YuGothic,"Yu Gothic","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ Pro W3","Hiragino Sans","メイリオ",sans-serif;
  font-size: clamp(18px, 6vw, 13.3rem);
  line-height: 1;
}
.contents .attraction .block dd {
  color: var(--dark-gray);
  font-size: clamp(18px, 3vw, 5.0rem);
  font-weight: bold;
  line-height: 1.3;
  padding: 0 0 0 0.75em;
}
.contents .attraction .block dl + p {
  margin-top: 2.5em;
}
.contents .attraction .block > img {
  display: block;
  width: 43%;
}
.contents .attraction .block:nth-of-type(even) {
  margin: 7rem 0;
}
.contents .attraction .block:nth-of-type(even) > div {
  order: 2;
}
.contents .attraction .block:nth-of-type(even) >img {
  order: 1;
}
.contents .training > div,
.contents .welfare > div {
  align-items: flex-end;
  display: flex;
  justify-content: space-between;
  margin: 0 auto 3rem auto;
  max-width: var(--pc-contents-max-width);
  width: var(--pc-contents-width);
}
.contents .welfare > div > div {
  order: 2;
}
.contents .welfare > div > div + img {
  order: 1;
}
.contents .training .link_btn_01,
.contents .welfare .link_btn_01 {
  margin-top: 1em;
  width: var(--block-02-width);
}
.contents .people {
  background-color: var(--light-gray);
  padding: 2em 0;
}
.contents .people > div:nth-of-type(1) {
  margin: 0 auto 3rem auto;
  max-width: var(--pc-contents-max-width);
  width: var(--pc-contents-width);
}
.contents .recruit > div {
  margin: 0 auto 3rem auto;
  max-width: var(--pc-contents-max-width);
  text-align: center;
  width: var(--pc-contents-width);
}
.contents .recruit h3 {
  text-align: center;
}
.contents .recruit h3 strong {
  padding: 0;
}
.contents .recruit h3 * {
  display: block;
}
.contents .recruit h3 + div p {
  width: var(--block-02-width);
}
.contents .recruit h3 + div {
  margin: 2em 0;
}
.contents .recruit h3 + div > div {
  display: flex;
  justify-content: space-between;
  margin-bottom: 2em;
}
.contents .recruit h3 + div > p {
  margin: 0 auto;
}
@media screen and (max-width: 1574px) {
  .contents .main_image img {
    width: 100%;
  }
}
@media screen and (max-width: 1152px) {
  .contents h3 strong {
    font-size: clamp(35px, 6vw, 5rem);
    font-weight: normal;
  }
  .contents .about {
    width: 92%;
    margin-left: auto;
    margin-right: auto;
  }
  .contents .department > div:nth-of-type(1) {
    width: 92%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 1101px) {
  .contents .main_image {
    background: rgb(211,231,239);
    background: -moz-linear-gradient(0deg, rgba(211,231,239,1) 0%, rgba(158,209,239,1) 90%);
    background: -webkit-linear-gradient(0deg, rgba(211,231,239,1) 0%, rgba(158,209,239,1) 90%);
    background: linear-gradient(0deg, rgba(211,231,239,1) 0%, rgba(158,209,239,1) 90%);
  }
  .contents .main_image h2 {
    display: flex;
    justify-content: center;
    margin: 0 auto;
    max-width: 1720px;
    overflow: hidden;
  }
  .contents .main_image .mobile {
    display: none;
  }
}
@media screen and (max-width: 1100px) {
  .contents .main_image .pc {
    display: none;
  }
  .contents .training .link_btn_01,
  .contents .welfare .link_btn_01 {
    width: 70%;
  }
}
@media screen and (max-width: 767px) {
  .contents .about > div {
    margin-bottom: 1em;
  }
  .contents .about ul {
    display: block;
  }
  .contents .about ul li {
    display: flex;
    margin: 1em 0;
    width: 100%;
  }
  .contents .about ul li a {
    align-items: center;
    background-color: transparent;
    color: #000;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .contents .about ul li a img {
    opacity: 1;
    width: 30%;
  }
  .contents .about ul li a:hover img {
    transform: scale(1);
  }
  .contents .about ul li dl {
    background: initial;
    margin: 0;
    padding: 0;
    position: relative;
    width: 67%;
  }
  .contents .about ul li dl dt {
    color: var(--dark-gray);
    font-weight: bold;
  }
  .contents .about ul li dl dd {
    color: #000;
    display: block;
    font-size: 1.5rem;
    overflow: auto;
  }
  .contents .department > div:nth-of-type(1) {
    display: block;
  }
  .contents .department > div:nth-of-type(1) > div {
    width: 100%;
  }
  .contents .department > div:nth-of-type(1) .link_btn_01 {
    margin-top: 1em;
    width: 70%;
  }
  .contents .attraction > div {
    margin: 0 auto;
    width: 92%;
  }
  .contents .attraction h3 {
    font-size: 6.5vw;
    margin-bottom: 1em;
  }
  .contents .attraction h3 strong {
    font-size: 1.25em;
    padding: 0;
  }
  .contents .attraction .block {
    display: block;
    margin: 2em 0;
  }
  .contents .attraction .block:first-of-type {
    margin-top: 0;
  }
  .contents .attraction .block:last-of-type {
    margin-bottom: 0;
  }
  .contents .attraction .block:nth-of-type(even) {
    margin: 2em 0;
  }
  .contents .attraction .block > div {
    width: 100%;
  }
  .contents .attraction .block dl {
    align-items: center;
  }
  .contents .attraction .block dt {
    border-bottom: solid 5px var(--red);
    font-size: 3.5rem;
  }
  .contents .attraction .block dd {
    font-size: 2rem;
  }
  .contents .attraction .block dd br {
    display: none;
  }
  .contents .attraction .block dl + p {
    margin-top: 1em;
  }
  .contents .attraction .block > img {
    margin: 1em auto;
    width: 80%;
  }
  .contents .training > div,
  .contents .welfare > div {
    display: block;
    margin: 0 auto 2em auto;
    width: 92%;
  }
  .contents .training > div > div,
  .contents .welfare > div > div {
    width: 100%;
  }
  .contents .training .link_btn_01,
  .contents .welfare .link_btn_01 {
    margin-top: 1em;
    width: 70%;
  }
  .contents .training > div > img,
  .contents .welfare > div > img {
    display: block;
    margin-top: 1em;
    width: 80%;
  }
  .contents .people > div:nth-of-type(1) {
    margin-left: auto;
    margin-right: auto;
    width: 92%;
  }
}