@charset "utf-8";

html {
  font-size:62.5%;
  line-height:1.6;
}
body {
  color:#333;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W6", HiraMinProN-W6, 'Noto Serif JP', serif;
}
.-sp {
  display: block;
}
.-pc {
  display: none;
}
.-mincho {
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W6", HiraMinProN-W6, 'Noto Serif JP', serif;
}
.-gothic {
  font-family: 游ゴシック, YuGothic, "ヒラギノ角ゴ ProN W6", HiraKakuProN-W6, sans-serif;
}
.-arial {
  font-family: Helvetica, Arial, sans-serif;
}
p {
  font-size:4.267vw;
  margin-bottom:0;
  text-align:justify;
  line-height:1.8;
}
dt, dd {
  font-size:4.267vw;
  margin:0;
}
dd {
  line-height:1.8;
}
a {
  font-size:4.267vw;
  text-decoration: underline;
  color:#333;
}
img {
  height:auto;
}
h2 {
  font-size:7.467vw;
}
h3 {
  font-size:6.4vw;
  letter-spacing:.05em;
}
h4 {
  font-size:5.333vw;
}
dl, ol, ul {
  margin:0;
  padding:0;
}
ol, ul {
  list-style:none;
}
li {
  font-size:4.267vw;
  line-height:1.8;
}
h1, h2, h3, h4 {
  font-weight:normal;
}
h1, h2, h3, h4, .img {
  margin-bottom:3rem;
}
p + p {
  margin-top:3rem;
}
dl + dl {
  margin-top:3rem;
}
.pht-shadow {
  box-shadow:4px 4px 0 rgba(0,0,0,.9);
}
._vertical {
  writing-mode: vertical-rl;
}

/* header */
.header_menu {
  width:100%;
  padding:2.667vw 0;
  position:fixed;
  top:0;
  background:#fff;
  z-index:10000;
  backface-visibility:hidden;
}
.header_menu_inner {
  padding:0 2.667vw;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.header_menu_logo {
  margin:0 2.667vw 0 0;
  display:flex;
  align-items:center;
}
.header_menu_logo a {
  display:flex;
  align-items:center;
  text-decoration:none;
}
.header_menu_logo h1,
.header_menu_logo > a > div {
  margin:0 0 0 1.333vw;
  font-size:4.8vw;
  line-height:1.4;
  letter-spacing:.05em;
}
.header_menu_logo h1 span,
.header_menu_logo > a > div span {
  display:block;
  font-size:2.667vw;
  letter-spacing:0;
}
/* nav */
.nav {
  width:12vw;
  height:10vw;
}
.nav-button {
  width:30px;
  height:20px;
  color:#252525;
  position:fixed;
  top:3.5vw;
  right:4.8vw;
  display:block;
  z-index:10001;
}
.nav-button:before {
  content:'';
  width:100%;
  height:0px;
  display:block;
  border-top:2px solid;
  position:absolute;
  -moz-transition:all .3s;
  -o-transition:all .3s;
  -webkit-transition:all .3s;
  transition:all .2s;
  top:0;
}
.nav-button:after {
  content:'';
  width:100%;
  height:0px;
  display:block;
  border-top:2px solid;
  position:absolute;
  -moz-transition:all .3s;
  -o-transition:all .3s;
  -webkit-transition:all .3s;
  transition:all .3s;
  bottom:0;
}
.nav-button span {
  width:100%;
  height:1px;
  margin:auto;
  position:absolute;
  top:0;
  bottom:0;
  border-top:2px solid #252525;
  -moz-transition:all .3s;
  -o-transition:all .3s;
  -webkit-transition:all .3s;
  transition:all .3s;
}
.is-open .nav-button {
  color:#fff;
}
.is-open .nav-button:before {
  -moz-transform:rotate(45deg);
  -o-transform:rotate(45deg);
  -webkit-transform:rotate(45deg);
  transform:rotate(45deg);
  margin:auto;
  position:absolute;
  top:0;
  bottom:0;
}
.is-open .nav-button:after {
  -moz-transform:rotate(-45deg);
  -o-transform:rotate(-45deg);
  -webkit-transform:rotate(-45deg);
  transform:rotate(-45deg);
  margin:auto;
  position:absolute;
  top:0;
  bottom:0;
}
.is-open .nav-button span {
  opacity:0;
}
.nav-title {
  position:absolute;
  right:4vw;
  bottom:.5vw;
  font-size:3.733vw;
}
.nav-sp {
  pointer-events:none;
  width:100%;
  height:0;
  position:absolute;
  top:0;
  left:0;
  z-index:99;
  background:rgba(1,25,77,.9);
  -moz-transition:all .3s;
  -o-transition:all .3s;
  -webkit-transition:all .3s;
  transition:all .3s;
}
.is-open .nav-sp {
  pointer-events:auto;
  height:100vh;
  overflow:hidden;
}
.nav-list {
  padding:16vw 5.333vw 0;
  display:none;
}
.is-open .nav-list {
  display:block;
}
body.is-fix {
  overflow-y:hidden;
}
.nav-item {
  padding:4vw 2.667vw;
  text-align:center;
}
.nav-item:nth-child(n+2) {
  border-top:1px solid #fff;
}
.nav-item:last-child {
  padding-top:8vw;
}
.nav-item a {
  display:block;
  color:#fff;
  font-size:4.267vw;
  text-decoration:none;
}
.nav-item a img {
  width:36vw;
}

/* footer */
.footer {
  border-top:8px solid #004376;
  position:relative;
}
.footer_cont {
  padding:8vw 2.667vw;
}
.footer_logo,
.footer_info {
  text-align:center;
}
.footer_logo {
  margin:0 0 5.333vw;
}
.footer_logo img {
  width:48vw;
}
.footer_info_title {
  margin:0 0 4vw;
}
.footer_info_title span {
  display:block;
  font-size:5.333vw;
  font-weight:bold;
  letter-spacing:.05em;
}
.footer_info_address {
  margin:0 0 4vw;
}
.footer_menu {
  padding:0 2.667vw;
  margin:8vw 0 0;
}
.footer_menu_list {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
}
.footer_menu_item {
  width:47.5%;
  padding:2.667vw 0 8vw;
  border-top:1px solid #004376;
}
.footer_menu_item a {
  color:#333;
  text-decoration:none;
}
.footer_float {
  position:fixed;
  bottom:4vh;
  right:2.667vw;
  z-index:9999;
}
.footer_float_btn {
  display:flex;
  align-items: center;
  justify-content: center;
  width:16vw;
  height:16vw;
  background:#004376;
  border:1px solid #fff;
  border-radius:100%;
}
.footer_float_btn._mail {
  margin:4vw 0 0;
}
.footer_float_btn a {
  color:#fff;
  font-size:6.4vw;
}
._recruit .footer_float_btn a {
  line-height:1.2;
  text-align:center;
  text-decoration: none;
}
._recruit .footer_float_btn a span {
  font-size:3.2vw;
  display:block;
  text-align:center;
}
._recruit .footer_float_btn._line {
  margin:4vw 0 0;
}
.copyright {
  background:#004376;
  color:#fff;
  text-align:center;
}
small {
  font-size:3.733vw;
  line-height:2.4;
}
/* mv */
.mv {
  background:url(../images/bg-mv.webp) no-repeat 25% 0%;
  background-size:cover;
  height:92.655vh;
  width:100%;
  padding:0;
  margin:7.345vh 0 0;
  display:flex;
  flex-direction:column-reverse;
  position:relative;
}
.mv-fil {
  width:100%;
  height:100%;
  background:rgba(10,30,136,.2);
}
.mv_content {
  padding:40vh 5.333vw 24vw;
  height:100%;
  display:flex;
  align-items:end;
  justify-content:center;
  flex-wrap:wrap;
}
.mv_content_title {
  background:rgba(255,255,255,.8);
  padding:4vw;
}
.mv_content::after {
  font: var(--fa-font-solid);
  content:"\f103";
  display:block;
  text-align:center;
  color:#fff;
  width:100%;
  font-size:8vw;
  animation: scroll 2s infinite;
}
@keyframes scroll {
  0% {
    transform: translate(0, 0);
  }
  75% {
    transform: translate(0, 10px);
  }
}
.mv_content_title h2 {
  text-align:center;
  margin:0;
  font-size:5.333vw;
  line-height:1.4;
  letter-spacing:.05em;
}
.mv_content_title h2 img {
  width:27vw;
  margin:0 0 4vw;
}
.mv_content_copy {
  font-size:6.933vw;
  text-align:center;
  margin:0 0 8vw;
}
.mv_content_image {
  margin:5.333vw 0 2.667vw;
}
/*.mv_title {
  font-size:4.267vw;
  line-height:1.4;
  text-align:center;
  margin:0 0 4vw;
}*/
.mv_content_sub {
  text-align:center;
  padding:0 30.333vw;
}
.mv_content_logo {
  position:absolute;
  bottom:1.333vw;
  right:1.333vw;
}
.mv_content_logo ul {
  display:flex;
}
.mv_content_logo ul li {
  width:18vw;
}
.mv_content_logo ul li:nth-child(2) {
  margin:0 0 0 1.333vw;
}
.mv_recruit {
  position:absolute;
  top:0;
  right:0;
  width:18vw;
}
.content._sec01 {
  margin:0;
  padding:0;
  position:relative;
}
.cont_sec01_bg {
  width:50%;
  height:100%;
  position:absolute;
}
.cont_sec01_bg._bg-left {
  left:0;
  background:url(../images/bg-mv-sub01.webp) no-repeat bottom right;
  background-size:cover;
}
.cont_sec01_bg._bg-right {
  right:0;
  background:url(../images/bg-mv-sub02.webp) no-repeat bottom right;
  background-size:cover;
}
.cont_bg {
  background:url(../images/bg-content.webp) no-repeat top right;
  background-size:cover;
  background-attachment:fixed;
  padding:24vw 0;
}
.cont-fill {
  width:100%;
  height:100%;
  background:rgba(255,255,257,.9);
}
.content{
  margin:0 0 16vw;
}
.lower .content._low01 {
  margin:0 0 12vw;
}
.content_inner {
  padding:0 2.667vw;
}
.cont_sec05Pht_list {
  display:flex;
  flex-wrap:wrap;
}
.cont_sec05Pht_item {
  width:50vw;
  height:50vw;
  background:url(../images/img-sec05-pht01.webp) center center / cover no-repeat;
}
.cont_sec05Pht_item:nth-child(2) {
  background:url(../images/img-sec05-pht02.webp) center center / cover no-repeat;
}
.cont_sec05Pht_item:nth-child(3) {
  background:url(../images/img-sec05-pht03.webp) center center / cover no-repeat;
}
.cont_sec05Pht_item:nth-child(4) {
  background:url(../images/img-sec05-pht04.webp) center center / cover no-repeat;
}
.cont_sec05Pht_item:nth-child(5) {
  background:url(../images/img-sec05-pht05.webp) center center / cover no-repeat;
}
.cont_sec05Pht_item:nth-child(6) {
  background:url(../images/img-sec05-pht06.webp) center center / cover no-repeat;
}
._sec06 .content_inner {
  height:100%;
  padding:0 4vw 4vw;
  display:flex;
  justify-content:center;
  align-items:end;
}
._sec06 .content_inner._bg {
  padding:0 4vw;
}
.cont_full {
  padding:4vw;
  background:rgba(255,255,255,.8);
}
._sec06 ._bg .cont_full {
  padding:5.333vw 2.667vw;
}
._sec07 .cont_full {
  background:none;
}
.cont_header {
  background:rgba(1,25,77,.8);
  padding:2.667vw;
  min-width:0;
  margin:0 auto;
}
.cont_header._vertical {
  color:#fff;
}
._sec06 .cont_header {
  background:none;
  padding:0;
  font-size:6.4vw;
  text-align:center;
  margin:0;
}
._sec07 .cont_header {
  background:none;
  padding:0;
  font-size:6.4vw;
  margin:0 0 8vw;
}
._sec08 .cont_header {
  background:none;
  padding:0 0 4vw;
  margin:0 0 4vw;
  font-size:6.4vw;
  border-bottom:1px solid #808080;
}
.cont_head_title {
  height:75%;
  min-width:0;
  flex-basis:50%;
}
.cont_head_deco {
  width:100%;
  height:auto;
  padding:0 4vw;
}
.cont_subHead {
  margin:0 0 8vw;
  font-size:5.333vw;
}
.cont_image {
  margin:8vw 0;
}
.cont_text {
  margin:0 0 8vw;
}
.cont_dl {
  border:1px solid #808080;
  padding:2.667vw;
  margin:3rem 0;
}
.cont_dl dt {
  margin:0 0 2.667vw;
  border-bottom: 1px solid #808080;
}
.cont_dl dd {
  display:flex;
}
.cont_dl dd::before {
  display:block;
  content:"●"
}
.cont_sns .cont_image {
  padding:0 5.333vw;
}
.cont_sns .cont_image img {
  border-radius:10px;
}
.cont_list {
  margin:8vw 0;
}
.cont_list._disc {
  list-style-type:disc;
  background:#f4f4f4;
  padding:4vw 4vw 4vw 8vw;
}
.cont_list._num {
  background:#f4f4f4;
  padding:4vw;
  counter-reset: my-counter;
}
.cont_list._num li {
  font-size:5.333vw;
  padding:0 0 .5rem 8vw;
  margin:0 0 .5rem;
  border-bottom:1px solid #8f8d8e;
  position: relative;
  line-height:1.4;
}
.cont_list._num li::before {
  content: counter(my-counter);
  counter-increment: my-counter;
  background-color: #333;
  border: 1px solid;
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 7.467vw;
  width: 7.467vw;
  color: #ffffff;
  font-size: 85%;
  line-height: 1;
  position: absolute;
  top: 0;
  left: 0;
}
.cont_list._special li {
  font-size:5.333vw;
  padding:0 0 .5rem;
  margin:0 0 .5rem;
  border-bottom:1px dashed #8f8d8e;
}
.cont_list._special li:last-child {
  border-bottom:none;
}
.cont_list._special li::before {
  content:"●";
}
.cont_list._special li:last-child::before {
  content:none;
}
.cont_list li + li {
  margin:2rem 0 0;
}
.cont_list._special li + li {
  margin:1rem 0 0;
}
.cont_list._num li + li {
  margin-top:2rem;
}
.cont_sns {
  padding:0 5.333vw;
}
.cont_sns p {
  font-size:5.333vw;
}
.separate {
  padding:0 24vw;
}
.separate::after {
  content:"";
  display:block;
  margin:12vw 0 16vw;
  padding-top:1vw;
  border-top:1px solid #8f8d8e;
  border-bottom:1px solid #d2d2d2;
  transform:rotate(-22deg);
}

.cont_btn {
  border:1px solid #004376;
  position: relative; 
  overflow: hidden;
  z-index: 0;
}
.cont_btn a {
  color:#004376;
  text-decoration:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:5.333vw 2.667vw;
  position: relative; 
  z-index: 1;
}
/* ボタンの矢印 */
.arrow {
  position: relative;
  display: inline-block;
  width:16vw;
  height: 2px;
  border-radius: 9999px;
  background-color: #004376;
}
.arrow::before {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  right: 0;
  width: 8px;
  height: 2px;
  border-radius: 9999px;
  background-color: #004376;
  transform: rotate(24deg);
  transform-origin: calc(100% - 2px) 50%;
}

._sec01 .cont_header {
  text-align:center;
  font-size:6.4vw;
  font-feature-settings:"palt";
  padding:0;
  background:none;
}
._sec01 .content_inner {
  padding:32vw 8vw;
  position:relative;
  z-index:2;
}
.cont_sec01_box {
  padding:5.333vw 0;
  background:rgba(255,255,255,.8);
}
.cont_sec01_add {
  color:#fff;
  text-align:center;
  font-size:32vw;
  line-height:.7;
  margin:16vw 0 0;
}
._sec01 .cont_text {
  padding:2.667vw;
}
._sec01 .cont_text p {
  text-align:center;
  font-size:4.8vw;
}

._sec02 ._pht {
  background:url(../images/img-sec02-image.webp) center center / cover no-repeat;
}
._sec03 ._pht {
  background:url(../images/img-sec03-image.webp) center center / cover no-repeat;
}
._sec04 ._pht {
  background:url(../images/img-sec04-image.webp) center center / cover no-repeat;
}
._sec05 ._pht {
  background:url(../images/img-sec05-image.webp) right center / cover no-repeat;
}
._sec06 ._bg {
  height:25vh;
  background:url(../images/img-sec06-image.webp) center bottom / cover no-repeat;
}
._sec07 {
  background:#E2E8EB;
}
._head {
  display:flex;
  justify-content:end;
  align-items:baseline;
  flex-wrap:wrap;
  padding:4vw 0 10vh;
}
._detail {
  padding:4vw;
}
.cont_detail_box {
  padding:4vw;
  background:#fff;
  margin:-12.5vh 0 0;
}
._head._pht {
  height:auto;
}
.cont_news_item:nth-child(n+2) {
  margin:3rem 0 0;
}
.cont_news_item:nth-child(n+2)::before {
  content:"";
  display:block;
  margin:0 auto 3rem;
  width:12vw;
  border-top:1px solid #333;
}
.cont_news_item span {
  display:block;
  font-weight:bold;
}
.cont_news_link {
  margin:8vw 0;
}
._sec08 {
  background:#fff;
}
._map._pht {
  width:100%;
  height:25vh;
  background:url(../images/img-sec08-image.webp) center center / auto 100% no-repeat;
}
.cont_map_img {
  height:40vh;
  background:url(../images/img-map-image.webp) center center / cover no-repeat;
}
.cont_map {
  border:1px solid #808080;
  padding:2.667vw;
  background:#fff;
}
.cont_map_info dl + dl {
  margin-top:2rem;
}
.cont_map_link {
  margin:4vw 0 0;
  text-align:right;
}

@media only screen and (min-width: 751px) {
  ._pht {
    height:90vh;
  }
  .cont_detail_box {
    margin:-16vw 0 0;
  }
}

@media screen and (min-width: 769px), screen and (orientation: landscape) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
  .-sp {
    display: none;
  }
  .-pc {
    display: block;
  }
  .pc-only.spacer {
    display:inline;
  }
  .flex-pc {
    display:flex;
    justify-content:space-between;
  }
  p {
    font-size:1.8rem;
  }
  dt, dd {
    font-size:1.8rem;
  }
  li {
    font-size:1.8rem;
  }
  a {
    font-size:1.8rem;
  }
  h2 {
    font-size:3.6rem;
  }
  h3 {
    font-size:2.8rem;
  }
  h4 {
    font-size:2rem;
  }
  h2, h3, h4,.img {
    margin-bottom:2rem;
  }
  /* header */
  .header_menu {
    width:100%;
    padding:0;
    position:relative;
    background:#fff;
    border-top:1px solid #ccc;
    border-bottom:1px solid #ccc;
  }
  .header_menu.fixed {
    position:fixed;
    top:0;
    z-index:9999;
    min-width:1000px;
  }
  .header_menu.fixed + .content,
  .lower .header_menu.fixed + .breadcrumb {
    margin-top:93px;
  }
  .header_menu_inner {
    max-width:1200px;
    margin:0 auto;
    padding:0 10px;
    display:flex;
    justify-content:space-between;
    align-items:center;
  }
  .header_menu_logo {
    margin:0 16px 0 0;
    padding:20px 0;
    display:flex;
    align-items:center;
  }
  .header_menu_logo a {
    display:flex;
    align-items:center;
    text-decoration:none;
  }
  .header_menu_logo a:hover img {
    opacity:.8;
  }
  .header_menu_logo h2 {
    margin:0 0 0 8px;
    font-size:2.4rem;
    line-height:1.4;
    letter-spacing:.05em;
  }
  .header_menu_logo h2 span {
    display:block;
    font-size:1.4rem;
    letter-spacing:0;
  }
  .header_menu_logo img {
    height:100%;
  }
  .header_menu_list {
    display:flex;
    justify-content:center;
  }
  .header_menu_item {
    font-size:1.7rem;
    line-height:1.4;
  }
  .header_menu_item:nth-child(n+2) {
    margin:0 0 0 1vw;
    padding:0 0 0 1vw;
    border-left:1px solid #ccc;
  }
  .header_menu_item a {
    font-size:1.6rem;
  }
  .header_menu_contact {
    margin:0 0 6px;
  }
  .recruit .header_menu_contact,
  .requirements .header_menu_contact {
    margin:10px 0 0;
  }
  .header_contact_list {
    display:flex;
    justify-content: flex-end;
    align-items: center;
  }
  .header_menu_contact .common_contact_phone {
    font-size:2.2rem;
    line-height:1.1;
  }
  .header_menu_contact .common_contact_phone a {
    font-size:2.5rem;
  }
  .header_menu_contact .common_contact_note {
    font-size:1.3rem;
    font-weight:normal;
  }
  .header_contact_item:nth-child(n+2) {
    margin:0 0 0 20px;
  }
  .header_menu_contact .cont_btn a {
    font-size:1.6rem;
    padding:4px 12px;
  }
  .header_contact_item._recBtn {
    background:#004376;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), calc(100% - 30px) 100%, 0 100%);
    transition: .2s ease;
  }
  .header_contact_item._recBtn:hover {
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 0px), calc(100% - 0px) 100%, 0 100%);
  }
  .header_contact_item._recBtn a {
    color:#fff;
    padding:4px 28px 4px 20px;
  }
  .header_contact_item._recBtn .cont_btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: -1;
    transition: left .2s ease-in-out; 
  }
  .header_contact_item._recBtn .cont_btn:hover::before {
    left: 0;
  }
  .header_contact_item._recBtn .cont_btn:hover {
    background: transparent;
  }
  .header_contact_item._recBtn .cont_btn a {
    transition: color .2s ease-in-out;
  }
  .header_contact_item._recBtn .cont_btn:hover a {
    color:#004376;
  }
  .footer_cont {
    padding:80px 20px;
    margin:0 auto;
    width:auto;
    max-width:1080px;
  }
  .footer_company {
    width:35%;
    padding:0 20px 0 0;
  }
  .footer_logo,
  .footer_info {
    text-align:left;
  }
  .footer_logo {
    margin:0 0 20px
  }
  .footer_logo img {
    width:195px;
  }
  .footer_info_title {
    margin:0 0 30px;
  }
  .footer_info_title span {
    font-size:2.8rem;
  }
  .footer_info_address {
    margin:0 0 20px;
  }
  .footer_menu {
    width:65%;
    padding:0;
    margin:0;
  }
  .footer_menu_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(4, 1fr);
    grid-column-gap: 20px;
    grid-row-gap: 40px;
  }
  .footer_menu_item {
    width:100%;
    padding:10px 0 0;
  }
  .footer_menu_item a {
    font-size:1.6rem;
  }
  .footer_menu_item a:hover {
    text-decoration:underline;
  }
  .footer_float {
    display:none;
  }
  small {
    font-size:1.4rem;
  }
  .main {
    min-width:1200px;
    margin:0 auto;
  }
  .mv {
    background:url(../images/bg-mv.webp) no-repeat bottom center;
    background-size:cover;
    height:100vh;
    position:relative;
    margin:0;
  }
  .mv_content {
    padding:0;
    position:absolute;
    left:56.6vw;
    align-items:center;
  }
  .mv_content::after {
    display:none;
  }
  .mv_content_title {
    padding:0;
    background:none;
  }
  .mv_content_title h2 {
    font-size:4.2rem;
    color:#333;
  }
  .mv_content_title h2 img {
    width:214px;
    margin:0 0 20px;
  }
  .mv_content_copy {
    font-size:4rem;
  }
  .mv_content_image {
    margin:40px 0 20px;
  }
  .mv_title {
    font-size:2rem;
    margin:10px 0 60px;
  }
  .mv_content_sub {
    text-align:center;
    padding:0;
  }
  .mv_content_sub > img {
    width:110px;
  }
  .mv_content_logo {
    bottom:10px;
    right:10px;
  }
  .mv_content_logo ul li {
    width:100px;
  }
  .mv_content_logo ul li:nth-child(2) {
    margin:0 0 0 10px;
  }
  .mv_recruit {
    width:127px;
  }
  .mv_recruit a:hover {
    opacity:.8;
  }
  .content{
    margin:0;
  }
  .content._sec01,
  .content._sec08 {
    margin:0;
  }
  .cont_bg {
    padding:160px 0;
  }
  .content_inner {
    display:flex;
    /*align-items:center;*/
    align-items:stretch;
    justify-content:center;
    padding:0;
  }
  .content_inner._rev {
    flex-direction:row-reverse;
  } 
  ._sec01 .content_inner {
    padding:300px 0;
    flex-wrap:wrap;
    flex-flow:column;
    align-items:center;
  }
  .cont_left {
    width:50%;
    height:auto;
  }
  ._sec02 ._pht {
    background:url(../images/img-sec02-image.webp) right center / cover no-repeat;
  }
  ._sec03 ._pht {
    background:url(../images/img-sec03-image.webp) left center / cover no-repeat;
  }
  ._sec04 ._pht {
    background:url(../images/img-sec04-image.webp) right center / cover no-repeat;
  }
  ._sec05 ._pht {
    background:url(../images/img-sec05-image.webp) right center / cover no-repeat;
  }
  ._sec06 ._bg {
    height:654px;
    background:url(../images/img-sec06-image.webp) center bottom / cover no-repeat;
  }
  ._head {
    padding:40px 0;
    align-items:center;
    position:relative;
  }
  .cont_right._head {
    justify-content:flex-start;
  }
  .cont_right {
    width:50%;
    height:auto;
  }
  .cont_left ._detail {
    padding:40px 0 40px 40px;
  }
  .cont_right ._detail {
    padding:40px 40px 40px 0;
  }
  .cont-fill._detail {
    display:flex;
    align-items:center;
  }
  .cont_detail_box {
    padding:7.5%;
    margin:0;
  }
  ._pht,
  ._head._pht {
    height:auto;
    min-height:882px;
  }
  .cont_sec05Pht_list {
    flex-wrap:nowrap;
  }
  .cont_sec05Pht_item {
    width:16.7vw;
    height:16.7vw;
  }
  ._sec06 .content_inner {
    align-items:center;
    padding:0 20px;
  }
  ._sec07 .content_inner {
    padding:0 40px;
  }
  ._sec06 .content_inner._bg {
    position:relative;
  }
  ._sec08 .content_inner {
    position:relative;
  }
  .cont_full {
    width:auto;
    max-width:1080px;
    margin:0 auto;
    padding:40px;
  }
  ._sec06 ._bg .cont_full {
    width:auto;
    margin:0;
    padding:40px;
  }
  ._sec06 .cont_full.flex-pc {
    align-items:center;
  }
  ._sec07 .cont_full{
    width:100%;
  }
  ._sec08 .cont_full{
    padding:0;
  }
  .cont_header {
    font-size:4.8rem;
    padding:20px;
  }
  ._sec06 .cont_header {
    font-size:4.8rem;
    padding:120px 0 40px;
  }
  ._sec07 .cont_header {
    font-size:3.6rem;
    margin:0 0 3rem;
  }
  ._sec08 .cont_header {
    padding:0 0 20px;
    margin:0 0 20px;
    font-size:2.4rem;
  }
  .cont_head_title {
    height:100%;
    position:relative;
    z-index:1;
  }
  .cont_head_deco {
    position:absolute;
    bottom:0;
    padding:0 5%;
    margin-top:0;
  }
  ._sec06 .cont_head_deco {
    padding:0;
    width:800px;
  }
  .cont_subHead {
    font-size:3.6rem;
    margin:0 0 3rem;
    padding:0;
  }
  .cont_dl {
    padding:20px;
  }
  .cont_dl._half {
    width:48%;
  }
  .cont_dl dt {
    margin:0 0 20px;
  }
  .cont_image {
    margin:40px 0;
  }
  .cont_sns .cont_image {
    padding:0 20px;
  }
  .cont_text {
    margin:0 0 40px;
  }
  .cont_list {
    margin:40px 0;
  }
  .cont_list._disc {
    padding:20px 20px 20px 30px;
  }
  .cont_list._num {
    padding:20px;
  }
  .cont_list._num li {
    font-size:2rem;
    padding:0 0 .5rem 30px;
  }
  .cont_list._num li::before {
    height: 28px;
    width: 28px;
  }
  .cont_list._special li {
    font-size:2rem;
  }
  .cont_list li + li {
    margin:2rem 0 0;
  }
  .cont_list._special li + li {
    margin:1rem 0 0;
  }
  .cont_list._num li + li {
    margin-top:2rem;
  }
  .sec04 .content_inner {
    display:grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .cont_sns {
    padding:0 20px;
    display:flex;
    flex-wrap:wrap;
    align-items:flex-end;
  }
  .cont_sns p {
    font-size:2rem;
  }
  .separate {
    padding:0 200px;
  }
  .separate::after {
    margin:60px 0 90px;
    padding-top:4px;
  }

  .cont_btn {
    width:100%;
    max-width:360px;
  }
  .cont_btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: #004376;
    z-index: -1;
    transition: left .2s ease-in-out; 
  }
  .cont_btn:hover::before {
    left: 0;
  }
  .cont_btn:hover {
    background: transparent;
  }
  .cont_btn a {
    font-size:2rem;
    padding:20px;
    transition: color .2s ease-in-out;
  }
  .cont_btn:hover a {
    color:#fff;
  }
  /* ボタンの矢印 */
  .arrow {
    width:calc(95% - 180px);
    height: 2px;
    transition: background-color .2s ease-in-out;
  }
  .arrow::before {
    top: calc(50% - 2px);
    width: 8px;
    height: 2px;
    transform-origin: calc(100% - 2px) 50%;
    transition: background-color .2s ease-in-out;
  }
  .cont_btn:hover a .arrow,
  .cont_btn:hover a .arrow::before {
    background-color: #fff;
  }

  ._sec01 .cont_header {
    font-size:3.6rem;
    background:none;
    margin:20px 0;
  }
  .cont_sec01_box {
    width:680px;
    padding:20px;
  }
  .cont_sec01_add {
    font-size:28rem;
    margin:70px 0 0;
  }
  ._sec01 .cont_text {
    padding:0;
  }
  ._sec01 .cont_text p  {
    font-size:2.4rem;
  }
  .cont_sec06_box {
    width:48%;
  }
  .cont_sec06_box .cont_btn {
    margin:0 auto;
  }
  .cont_news_item:nth-child(n+2) {
    margin:4rem 0 0;
  }
  .cont_news_item:nth-child(n+2)::before {
    width:80px;
    margin:0 auto 4rem;
  }
  .cont_news_item .flex-pc {
    justify-content:flex-start;
  }
  .cont_news_item span {
    padding:0 30px 0 0;
  }
  .cont_news_link {
    display:flex;
    justify-content:flex-end;
    margin:80px 0 0;
  }
  ._map {
    width:40%;
    height:500px;
    position:relative;
  }
  ._map._pht {
    width:60%;
    height:500px;
    min-height:500px;
    background:url(../images/img-sec08-image.webp) center center / auto 100% no-repeat;
  }
  .cont_map_img {
    height:500px;
    background:url(../images/img-map-image.webp) right center / cover no-repeat;
  }
  .cont_map {
    padding:20px;
    position:absolute;
    top:30px;
    right:5%;
  }
  .cont_map_link {
    margin:30px 0 0;
  }
}

/* フェードアニメーション */
.fade-in {
  opacity: 0;
  animation: fadeIn 1.2s ease-in forwards;
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.fade-in-up {
  opacity: 0;
  transform: translateY(30px);
  animation: fadeInUp 2s ease-out forwards;
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-in-loazy {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1.2s ease, transform 1.2s ease;
}
.fade-in-loazy.-sideR {
  opacity: 0;
  transform: translateX(20px);
  transition: opacity .8s ease, transform .8s ease;
}
.fade-in-loazy.-sideL {
  opacity: 0;
  transform: translateX(-20px);
  transition: opacity .8s ease, transform .8s ease;
}
.fade-in-loazy.-flip {
  opacity: 0;
  transform: rotateY(90deg);
  transform-origin: center;
  animation: flipFadeIn 1.2s ease-out forwards;
  backface-visibility: hidden;
}
.fade-in-loazy.active {
  opacity: 1;
  transform: translateY(0);
}
.fade-in-loazy.-sideR.active,
.fade-in-loazy.-sideL.active {
  transform: translateX(0);
}
.fade-in-loazy.-flip.active {
  transform: rotateY(0deg);
}

/* 下層共通 */
.lower_title {
  height:36vh;
  width:100%;
  margin:18.1vw 0 0;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.lower_title_content {
  width:100%;
  background:rgba(255,255,255,.8);
}
.lower_title_head h1 {
  width:100%;
  font-size:7.267vw;
  line-height:2;
  margin:0;
  font-weight:normal;
  color:#333;
  text-align:center;
}
.lower_title_sub {
  width:100%;
}
.lower_title_deco {
  width:100%;
  height:25%;
  padding:0 4vw;
}
.lower .content._low04 {
  margin:0;
}
.lower .cont_full {
  background:none;
}
.lower ._head._pht {
  height:30vh;
  padding:0;
  align-items:end;
}
.lower .content_inner {
  padding:0 4vw;
}
.lower ._detail {
  padding:0;
}
._low01 .content_inner {
  padding:12vw 0 0;
}
.lower_header {
  font-size:6.4vw;
  text-align:center;
  margin:0 0 12vw;
}
._low01 .cont_text {
  padding:0 5.333vw;
}
.lower .cont_detail_box {
  margin:0;
  padding:0 4vw;
}
.-triangle {
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 13.95vw solid transparent;
  border-left: 13.95vw solid transparent;
  border-top: 13.95vw solid #144474;
  border-bottom: 0;
}

/* 下層共通CTA */
.common_cta {
  padding:0 4vw;
}
.common_cta_inner {
  background:#F2F5F7;
  padding:12vw 4vw;
}
.common_cta_contact {
  margin:0 0 12vw;
}
.common_contact_head {
  margin:0 0 8vw;
}
.common_contact_head h3 {
  font-size:4.267vw;
}
.common_contact_info h4 {
  font-weight:bold;
  margin:0;
}
.common_contact_phone,
.common_contact_phone a {
  font-size:8.533vw;
  font-weight:bold;
  color:#004376;
}
.common_contact_phone i {
  margin-right:.2em;
}
.common_contact_phone a {
  text-decoration:none;
}
.common_contact_note {
  font-weight:bold;
}
.common_contact_form {
  margin:5.333vw 0 0;
  padding:5.333vw 0 0;
  border-top:1px solid #004376;
}
.common_contact_form .cont_btn {
  margin:5.333vw 0 0;
  font-weight:bold;
  background:#fff;
}
.common_cta_handling h3 {
  margin:0 0 5.333vw;
  padding:0 0 5.333vw;
  border-bottom:1px solid #004376;
  font-weight:bold;
}
.common_handling_item:nth-child(n+2) {
  margin:5.333vw 0 0;
}
.common_handling_item h4 {
  font-weight:bold;
  margin:0 0 2.667vw;
  font-size:4.8vw;
}

/* パンくず */
.breadcrumb {
  padding:2.667vw;
  border-bottom:1px solid #ccc;
}
.bread_list {
  display:flex;
  flex-wrap:wrap;
}
.bread_item,
.bread_item a {
  font-size:3.2vw;
}
.bread_item + .bread_item::before {
  content:">";
  margin:0 1.333vw;
}

@media screen and (min-width: 769px), screen and (orientation: landscape) {
  .lower_title {
    height:500px;
    position:relative;
    margin:0;
  }
  .lower_title_content {
    width:100%;
    margin:0 auto;
  }
  .lower_title_head h1 {
    font-size:4.8rem;
    line-height:1.8;
  }
  .lower_title_sub {
    max-width:1200px;
    margin:0 auto;
  }
  .lower_title_deco {
    width:800px;
    padding:0;
  }
  .lower .content {
    margin:0 0 80px;
  }
  .lower .content._low01 {
    margin:0;
  }
  .lower .content._low04 {
    margin:0 0 100px;
  }
  .lower .content_inner {
    padding:0 20px;
  }
  ._low01 .content_inner {
    display:block;
    padding:90px 20px;
  }
  .lower .cont_left,
  .lower .cont_right {
    max-width:600px;
    padding:0;
  }
  .lower .cont_left {
    border:1px solid #ccc;
  }
  .lower_header {
    font-size:4rem;
    margin:0;
  }
  ._low01 .cont_text {
    max-width:1080px;
    margin:40px auto 0;
    padding:0;
  }
  ._low01 .cont_text p {
    text-align:center;
  }
  .lower .cont_detail_box {
    padding:0 60px;
  }
  .-triangle {
    border-right: 180px solid transparent;
    border-left: 180px solid transparent;
    border-top: 60px solid #144474;
  }

  /* パンくず */
  .breadcrumb {
    padding:10px 0;
    border-bottom:1px solid #ccc;
  }
  .bread_list {
    max-width:1200px;
    margin:0 auto;
    padding:0 10px;
  }
  .bread_item,
  .bread_item a {
    font-size:1.4rem;
  }

  /* 下層共通CTA */
  .common_cta {
    padding:0;
  }
  .common_cta_inner {
    max-width:1200px;
    margin:0 auto;
    padding:40px 60px;
  }
  .common_cta_contact {
    display:flex;
    justify-content:space-between;
    margin:0 0 40px;
  }
  .common_contact_head {
    width:530px;
    margin:0;
    padding:0 20px 0 0
  }
  .common_contact_head h3 {
    font-size:2.6rem;
  }
  .common_contact_info {
    width:530px;
    padding:0 0 0 20px;
  }
  .common_contact_phone {
    font-size:5rem;
    line-height:1.4;
  }
  .common_contact_phone a {
    font-size:5.4rem;
  }
  .common_contact_form {
    margin:30px 0 0;
    padding:30px 0 0;
  }
  .common_contact_form .cont_btn {
    margin:20px 0 0;
    max-width:510px;
  }
  /*.common_contact_form .cont_btn a:hover {
    background:#144474;
  }*/
  .common_contact_form .cont_btn .arrow {
    margin:0;
    width: calc(80% - 225px);
    min-width:24px;
  }
  .common_cta_handling h3 {
    margin:0 0 20px;
    padding:0 0 20px;
  }
  .common_handling_item {
    display:flex;
  }
  .common_handling_item:nth-child(n+2) {
    margin:16px 0 0;
  }
  .common_handling_item h4 {
    margin:0;
    font-size:1.8rem;
    min-width:108px;
  }
}

/* 重量物はおまかせください */
.heavy .lower_title {
  background:url(../images/bg-heavy-title_sp.webp) no-repeat center center / cover;
}
.heavy ._low02 ._head._pht {
  background:url(../images/img-heavy-01.webp) center center / cover no-repeat;
}
.heavy ._low03 ._head._pht {
  background:url(../images/img-heavy-02.webp) center center / cover no-repeat;
}
.heavy ._low04 ._head._pht {
  background:url(../images/img-heavy-03.webp) center center / cover no-repeat;
}
.heavy_sub {
  padding:8vw 40vw 8vw 4vw;
}
.heavy .content_inner.heavy04 {
  padding:0;
  margin:0 0 8vw;
}
.heavy04 {
  position:relative;
}
.heavy04_bg {
  width:100%;
  height:30vh;
  padding:0;
}
.heavy04_bg_box {
  width:100%;
  height:100%;
  background:url(../images/bg-heavy-04_sp.webp) center center / cover no-repeat;
}
.heavy04_img {
  width:100%;
  height:47.4vh;
  background:url(../images/img-heavy-04.webp) center center / auto 100% no-repeat;
  margin-top:-11vh;
}
@media screen and (min-width: 769px), screen and (orientation: landscape) {
  .heavy .lower_title {
    background:url(../images/bg-heavy-title_pc.webp) no-repeat 90% bottom / cover;
  }
  .heavy .content_inner.heavy04 {
    padding:0;
    margin:0;
  }
  .heavy .cont_right._pht {
    height:auto;
    min-height:600px;
  }
  .heavy_sub {
    padding:40px 60px;
  }
  .heavy_sub::before {
    border-bottom:130px solid transparent;
    border-left:130px solid #134373;
  }
  .heavy_sub_text {
    position:absolute;
    top:16px;
    left:12px;
    font-size:2.8rem;
  }
  .heavy .cont_subHead {
    font-size:3rem;
  }
  .heavy .heavy05 .cont_subHead {
    font-size:4rem;
    text-align:center;
  }
  .heavy04_bg {
    max-width:100%;
    height:400px;
    padding:102px 0; 
  }
  .heavy04_bg_box {
    width:100%;
    height:100%;
    background:url(../images/bg-heavy-04.webp) center center / auto 100% no-repeat;
  }
  .heavy04_img {
    width:auto;
    height:auto;
    padding:0;
    position:absolute;
    top:0;
    background:none;
    margin-top:0;
  }
  .heavy05 .cont_full {
    padding:80px 0 0;
  }
  .heavy05 .cont_full p {
    text-align:center;
  }
}

/* 業務内容・施工実績 */
#achievements {
  margin-top:-7.5vw;
  padding-top:7.5vw;
}
.business .lower_title {
  background:url(../images/bg-business-title_sp.webp) no-repeat center center / cover;
}
.business-content-item:nth-child(n+2) {
  margin-top:8vw;
}
.business-content-head {
  background:#F2F5F7;
  font-weight:bold;
  font-size:5.333vw;
  text-align:center;
  padding:5.333vw 0;
  margin:0;
  font-feature-settings:"palt";
}
.business-content-head span {
  display:block;
  font-weight:normal;
  font-size:4.267vw;
}
.business-content-separate {
  display:flex;
  justify-content:center;
  margin:8vw 0;
}
.business-content-answer {
  background:#7A3A39;
  font-size:6.4vw;
  text-align:center;
  padding:5.333vw 0;
  color:#fff;
  font-weight:bold;
}
.business-message-detail {
  padding:8vw 5.333vw 0;
}
._business03 .content_inner {
  display:block;
  background:#F2F5F7;
  padding:12vw 5.333vw;
}
.business-equip-head {
  text-align:center;
}
.business-equip-item dt {
  background:#015092;
  color:#fff;
  font-size:5.333vw;
  padding:4vw 0;
  text-align:center;
  font-weight:normal;
}
.business-equip-item dd {
  padding:5.333vw;
  background:#fff;
}
.business-plan {
  margin:8vw 0 0;
}
.business-plan-detail {
  background:#fff;
  padding:5.333vw;
}
.business-plan-detail h4 {
  text-align:center;
  margin-bottom:5.333vw;
}
.business-achiev-detail {
  padding:8vw 5.333vw 12vw;
}
.business-achiev-content {
  background:#F2F5F7;
  padding:5.333vw;
}
.business-achiev-item:nth-child(n+2) {
  margin-top:1px;
}
.business-achiev-item dl {
  display:flex;
}
.business-achiev-item dt,
.business-achiev-item dd {
  width:50%;
  padding:2.667vw;
  line-height:1.4;
  font-size:3.733vw;
}
.business-achiev-item dt {
  display:flex;
  align-items:center;
  background:#F1E9E9;
}
.business-achiev-item dd {
  display:flex;
  align-items:center;
  background:#fff;
}
.business-achiev-item.-head dt,
.business-achiev-item.-head dd {
  background:#015092;
  color:#fff;
  font-size:4.267vw;
  font-weight:normal;
  padding:4vw 2.667vw;
}
.business-achiev-item.-head dd {
  border-left:1px solid #fff;
}
.business-content-images {
  margin:8vw 0 0;
}
.business-images-list {
  display:flex;
  flex-wrap:wrap;
  justify-content: center;
}
.business-images-list li {
  width:50%;
  padding:1.333vw;
}
@media screen and (min-width: 769px), screen and (orientation: landscape) {
  #achievements {
    margin-top:-90px;
    padding-top:90px;
  }
  .business .content_inner {
    display:block;
  }
  .business ._low01 .content_inner {
    padding:90px 20px 60px;
  }
  .business .lower_title {
    background:url(../images/bg-business-title_pc.webp) no-repeat center bottom / cover;
  }
  .business .lower_header {
    margin-bottom:0;
  }
  .business-content-desc {
    width:1000px;
    margin:0 auto;
  }
  .business-content-list {
    max-width:1200px;
    margin:0 auto;
    display:grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 60px;
    grid-row-gap: 60px;
  }
  .business-content-item {
    max-width:570px;
  }
  .business-content-item:nth-child(n+2) {
    margin-top:0;
  }
  .business-content-detail {
    display:flex;
    align-items:center;
    background:#F2F5F7;
  }
  .business-content-image {
    width:50%;
  }
  .business-content-head {
    width:50%;
    font-size:2.5rem;
    padding:0 20px;
  }
  .business-content-head span {
    font-size:1.6rem;
  }
  .business-content-separate {
    margin:60px 0;
  }
  .business-content-answer {
    max-width:1200px;
    margin:0 auto;
    font-size:4rem;
    padding:20px 0;
  }
  .business-message-image {
    display:none;
  }
  .business-message-detail {
    width:100%;
    max-width:1200px;
    height:600px;
    margin:0 auto;
    padding:60px 0 0 60px;
    border:1px solid #ccc;
    background:url(../images/bg-business-content05.webp) right center / auto 100% no-repeat;
  }
  .business-message-head {
    font-size:4rem;
    margin-bottom:30px;
  }
  .business-message-detail p {
    max-width:480px;
  }
  ._business03 .content_inner {
    max-width:1200px;
    margin:0 auto;
    padding:60px;
  }
  .business-equip-head {
    font-size:2.8rem;
  }
  .business-equip-item:nth-child(n+2) {
    border-top:1px solid #E2E8EB;
  }
  .business-equip-item dl {
    display:flex;
    align-items:stretch;
  }
  .business-equip-item dt {
    width:33%;
    background:#015092;
    font-size:2.4rem;
    padding:20px 0;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .business-equip-item dd {
    width:67%;
    padding:20px;
  }
  .business-plan {
    margin:40px 0 0;
    display:flex;
    flex-direction:row-reverse;
    background:#fff;
    align-items:center;
  }
  .business-plan-image {
    width:50%;
    max-width:540px;
  }
  .business-plan-detail {
    width:50%;
    max-width:540px;
    padding:0 60px;
  }
  .business-plan-detail h4 {
    margin-bottom:30px;
    text-align:left;
    font-size:2.4rem;
  }
  .business-achiev {
    width:100%;
    max-width:1200px;
    height:600px;
    margin:0 auto;
    padding:0 0 0 60px;
    border:1px solid #ccc;
    background:url(../images/bg-business-achiev.webp) right center / auto 100% no-repeat;
    display:flex;
    align-items:center;
  }
  .business-achiev-image {
    display:none;
  }
  .business-achiev-detail {
    padding:0;
  }
  .business-achiev-detail h3 {
    font-size:4rem;
    margin-bottom:30px;
  }
  .business-achiev-detail p {
    max-width:480px;
  }
  .business-achiev-content {
    max-width:1200px;
    margin:0 auto;
    padding:60px;
    display:grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 60px;
  }
  .business-achiev-item dt,
  .business-achiev-item dd {
    padding:0 20px;
    height:90px;
    display:flex;
    align-items:center;
    font-size:1.8rem;
  }
  .business-achiev-item.-head dt,
  .business-achiev-item.-head dd {
    font-size:2rem;
    padding:0 20px;
  }
  .business-content-images {
    width:1000px;
    margin:60px auto 0;
  }
  .business-images-list {
    display:flex;
    flex-wrap:wrap;
    justify-content: center;
  }
  .business-images-list li {
    width:33%;
    padding:0;
  }
  .business-images-list li:nth-child(n+4) {
    margin-top:10px;
  }
}

/* 作業の流れ・様子 */
.flow .lower_title {
  background:url(../images/bg-flow-title_sp.webp) no-repeat center center / cover;
}
.content._flow02 {
  margin:0;
}
.flow-message-detail {
  padding:8vw 5.333vw 0;
}
.flow-flow-separate span {
  display:block;
  margin:8vw auto;
}
.flow-content-flow {
  background:#F2F5F7;
  padding:12vw 5.333vw;
}
.flow-content-flow h4 {
  text-align:center;
}
.flow-flow-image {
  background:#fff;
}
.flow-flow-text {
  padding:5.333vw;
  background:#fff;
}
.flow-flow-text dt {
  font-size:5.867vw;
  margin:0 0 5.333vw;
  font-weight:normal;
}
.flow-flow-text dd p + p {
  margin-top:2rem;
}
.flow-close-detail {
  padding:5.333vw;
}
.flow-close-head {
  margin:0 0 5.333vw;
}
.flow-content-scene {
  background:#F2F5F7;
  padding:8vw 5.333vw;
}
.flow-scene-item {
  padding:5.333vw;
  background:#fff;
}
.flow-scene-item:nth-child(n+2) {
  margin-top:8vw;
}
.flow-scene-head {
  font-size:5.333vw;
  font-weight:bold;
  margin-bottom:5.333vw;
}
.flow-scene-item p {
  margin:5.333vw 0 0;
}
.flow-scene-item dt {
  margin:0 0 2.667vw;
}
@media screen and (min-width: 769px), screen and (orientation: landscape) {
  .flow .lower_title {
    background:url(../images/bg-flow-title_pc.webp) no-repeat center bottom / cover;
  }
  .content._flow01 {
    margin:0;
  }
  .flow ._low01 {
    margin:0 0 40px;
  }
  .flow-content-message {
    display:flex;
    align-items:center;
    max-width:1200px;
    height:600px;
    margin:0 auto;
    background:url(../images/bg-flow-message.webp) right center / auto 100% no-repeat;
    border:1px solid #ccc;
  }
  .flow-message-image {
    display:none;
  }
  .flow-message-detail {
    width:100%;
    max-width:1200px;
    padding:0 0 0 60px;
  }
  .flow-message-head {
    font-size:4rem;
    margin-bottom:30px;
  }
  .flow-message-detail p {
    max-width:480px;
  }
  .flow-content-item {
    display:flex;
    align-items:stretch;
    flex-direction:row-reverse;
    flex-wrap:wrap;
  }
  .flow-flow-separate {
    width:100%;
  }
  .flow-flow-separate span {
    margin:40px auto;
  }
  .flow-content-flow {
    max-width:1200px;
    margin:0 auto;
    padding:20px 20px 80px;
  }
  .flow-content-flow h4 {
    font-size:3.2rem;
    margin:0 0 60px;
  }
  .flow-flow-image {
    width:50%;
    max-width:600px;
  }
  .flow-flow-text {
    width:50%;
    max-width:600px;
    padding:0 30px;
    display:flex;
    align-items:center;
  }
  .flow-flow-text dt {
    font-size:2.8rem;
    margin:0 0 10px;
  }
  .flow-content-close {
    display:flex;
    align-items:center;
    max-width:1200px;
    height:600px;
    margin:0 auto;
    background:url(../images/bg-flow-close.webp) right center / auto 100% no-repeat;
    border:1px solid #ccc;
  }
  .flow-close-image {
    display:none;
  }
  .flow-close-detail {
    width:100%;
    max-width:1200px;
    padding:0 0 0 60px;
  }
  .flow-close-head {
    font-size:4rem;
    margin-bottom:30px;
  }
  .flow-close-detail p {
    max-width:480px;
  }
  .flow-content-scene {
    max-width:1200px;
    margin:0 auto;
    padding:60px;
  }
  .flow-scene-list {
    display:grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 60px;
    grid-row-gap: 60px;
  }
  .flow-scene-item {
    padding:20px;
  }
  .flow-scene-item:nth-child(n+2) {
    margin-top:0;
  }
  .flow-scene-head {
    font-size:2.4rem;
    margin-bottom:20px;
  }
  .flow-scene-item p {
    margin:20px 0 0;
  }
  .flow-scene-item dt {
    margin:0 0 10px;
  }
}

/* 職人・車両紹介 */
.staff .lower_title {
  background:url(../images/bg-staff-title_sp.webp) no-repeat center center / cover;
}
.staff-list-item {
  border:1px solid #ccc;
  padding:5.333vw 8vw;
}
.staff-list-item:nth-child(n+2) {
  margin-top:8vw;
}
.staff-item-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:5.867vw;
  font-weight:bold;
  margin-bottom:5.333vw;
}
.staff-item-head span {
  font-size:4.267vw;
  font-weight:normal;
}
.staff-item-certi {
  margin:5.333vw 0 0;
  padding:0 0 0 1.5em;
  list-style-type:disc;
}
.staff-certi-list {
  background:#015092;
  padding:5.333vw;
}
.staff-certi-head {
  color:#fff;
  font-size:5.867vw;
  text-align:center;
  margin-bottom:5.333vw;
  font-weight:normal;
}
.staff-certi-list p {
  font-size:4.267vw;
  color:#fff;
  margin-bottom:5.333vw;
}
.certi-list-item {
  font-size:4.8vw;
  background:#fff;
  padding:4vw 2.667vw;
}
.certi-list-item:nth-child(n+2) {
  border-top:1px solid #015092;
}
.staff-car-box {
  border:1px solid #ccc;
}
.staff-car-box:nth-child(n+2) {
  margin-top:8vw;
}
.staff-car-detail {
  padding:5.333vw;
  font-feature-settings:"palt";
}
.car-detail-head {
  font-size:5.867vw;
  text-align:center;
  margin-bottom:5.333vw;
}
.car-detail-list {
  padding:0 0 0 1.5em;
  list-style-type:disc;
}
@media screen and (min-width: 769px), screen and (orientation: landscape) {
  .staff .lower_title {
    background:url(../images/bg-staff-title_pc.webp) no-repeat 90% bottom / cover;
  }
  .staff-list {
    max-width:1200px;
    margin:0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(4, 1fr);
    grid-column-gap: 60px;
    grid-row-gap: 60px;
  }
  .staff-list-item {
    padding:20px 60px;
  }
  .staff-list-item:nth-child(n+2) {
    margin-top:0;
  }
  .staff-item-head {
    font-size:2.8rem;
    margin-bottom:20px;
  }
  .staff-item-head span {
    font-size:1.8rem;
  }
  .staff-item-certi {
    margin:20px 0 0;
  }
  .staff-certi-list {
    max-width:1200px;
    padding:60px;
  }
  .staff-certi-head {
    font-size:2.5rem;
    text-align:left;
    margin-bottom:20px;
  }
  .staff-certi-list p {
    font-size:1.8rem;
    margin-bottom:20px;
  }
  .certi-list {
    display:flex;
    flex-wrap:wrap;
  }
  .certi-list-item {
    width:25%;
    font-size:1.6rem;
    padding:20px 10px;
    border-right:1px solid #015092;
    display:flex;
    align-items:center;
  }
  .certi-list-item:nth-child(n+2) {
    border-top:none;
  }
  .certi-list-item:nth-child(n+5) {
    border-top:1px solid #015092;
  }
  .certi-list-item:nth-child(4n) {
    border-right:none;
  }
  ._staff03 .content_inner {
    display:block;
  }
  .staff-car-box {
    display:flex;
    flex-direction:row-reverse;
    align-items:center;
    max-width:1200px;
    margin:0 auto;
  }
  .staff-car-box:nth-child(n+2) {
    margin-top:60px;
  }
  .staff-car-image {
    width:50%;
    max-width:600px;
  }
  .staff-car-detail {
    width:50%;
    max-width:600px;
    padding:0 60px;
  }
  .car-detail-head {
    font-size:4rem;
    text-align:left;
    margin-bottom:30px;
  }
}

/* 採用情報 */
/*.recruit .lower_title {
  background:url(../images/bg-recruit-title_sp01.webp) no-repeat right center / cover;
  align-items:flex-end;
  padding:0 0 4vw;
  height:60vh;
}*/
/* ベーススタイル */
.recruit .lower_title {
  position: relative;
  align-items: flex-end;
  padding: 0 0 4vw;
  height: 60vh;
  overflow: hidden;
}

/* 各スライド（疑似要素の代わりにspan要素を使用） */
.recruit .content {
  font-family: 游ゴシック, YuGothic, "ヒラギノ角ゴ ProN W6", HiraKakuProN-W6, sans-serif;
}
.recruit .lower_title .slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  animation: slideshow 32s infinite;
}

.recruit .lower_title .slide:nth-child(1) {
  background: url(../images/bg-recruit-title_sp01.webp) no-repeat right center / cover;
  animation-delay: 0s;
}

.recruit .lower_title .slide:nth-child(2) {
  background: url(../images/bg-recruit-title_sp02.webp) no-repeat center center / cover;
  animation-delay: 8s;
}

.recruit .lower_title .slide:nth-child(3) {
  background: url(../images/bg-recruit-title_sp03.webp) no-repeat center center / cover;
  animation-delay: 16s;
}

.recruit .lower_title .slide:nth-child(4) {
  background: url(../images/bg-recruit-title_sp04.webp) no-repeat center center / cover;
  animation-delay: 24s;
}

@keyframes slideshow {
  0%       { opacity: 0; }
  3%       { opacity: 1; }   /* フェードイン */
  22%      { opacity: 1; }   /* 表示維持 */
  28%      { opacity: 0; }   /* フェードアウト（次のスライドと重なる） */
  100%     { opacity: 0; }
}
.recruit .lower_title_content {
  background:none;
  position: relative;
  z-index: 1;
}
.recruit .lower_title_head h1 {
  font-size:16vw;
  color:#fff;
  mix-blend-mode:normal;
  line-height:1;
  margin:0;
  font-weight:bold;
  letter-spacing:.05em;
  text-align:center;
  transform:scaleY(1.1);
}
.recruit .lower_title_head h1 span {
  border-top:1px solid #fff;
  display: block;
  font-size: 4.8vw;
  margin: 0;
  padding: 2.667vw 0 0 1.333vw;
  letter-spacing: .05em;
  transform: scaleY(.9);
}
._rec-slogan .content_inner {
  padding:16vw 0 0;
}
.recruit .lower ._head._pht {
  height:auto;
  padding:0;
  align-items:end;
}
.recruit_appeal_content {
  border:8px solid #B2CCE5;
}
.rec_appeal_label {
  width:61.5vw;
  margin:-8px auto 0;
  text-align:center;
  line-height:2;
  font-weight:bold;
  background:#EAB661;
  font-size:4.8vw;
  border-radius:0 0 10px 10px;
}
.rec_appeal_number {
  color:#7B92A8;
  text-align:center;
  line-height:1;
  font-size:21.333vw;
  font-weight:bold;
  margin:8vw 0;
}
._feature .cont_subHead {
  color:#4F6E8B;
  font-weight:bold;
  font-size:7.267vw;
  line-height:1.4;
}
.lower_sub_tri {
  position:relative;
  background:#fff;
  padding:16vw;
  width:100%;
  margin:0 0 5.333vw;
  overflow:hidden;
}
.lower_sub_tri::before {
  content:"";
  position:absolute;
  top:50%;
  left:0;
  transform:translateY(-50%);
  width:0;
  height:0;
  border-top:0 solid transparent;
  border-bottom:33vw solid transparent;
  border-left:33vw solid #134373;
}
.lower_sub_tri_text {
  position:absolute;
  top:4.5vw;
  left:2.667vw;
  color:#fff;
  font-size:6.4vw;
  pointer-events:none;
  line-height:1.2;
}
._feature .cont_left._detail {
  border:1px solid #ccc;
}
.recruit_feat05_head {
  display:flex;
  align-items:stretch;
  padding:0 4vw;
}
.recruit_feat05_head h3 {
  width:59.7%;
  transform: translateY(50%);
  color:#4F6E8B;
  font-weight:bold;
}
.recruit_feat05_head div {
  width:41.3%;
}
.recruit_feat05_detail {
  margin:0 0 8vw;
}
.recruit_feat05_item {
  text-align:center;
  background:#CDE5FF;
  line-height:2.8;
  border-radius:10px;
}
.recruit_feat05_item:nth-child(n+2) {
  margin-top:4vw;
}
._benefit .cont_full {
  border:3px solid #B3CBE4;
  border-radius:10px;
  padding:8vw 4vw;
}
._benefit h3 {
  color:#7B92A8;
  font-weight:bold;
  text-align:center;
  font-size:7.467vw;
}
.rec_benefit_tag {
  display:flex;
  flex-wrap:wrap;
  margin:0 0 8vw;
}
.rec_benefit_tag li {
  background:#FDDCA6;
  border-radius:50px;
  font-weight:bold;
  padding:0 2.667vw;
  line-height:2;
  margin-right:2.667vw;
}
.rec_benefit_tag li:nth-child(n+4) {
  margin-top:4vw;
}
.rec_benefit_detail._separate {
  border-top:1px solid #7B92A8;
  padding-top:8vw;
  margin-top:8vw;
}
.rec_benefit_detail dt {
  color:#7B92A8;
  font-size:5.333vw;
  margin:0 0 4vw;
}
.rec_benefit_detail dd li:nth-child(n+2),
.rec_benefit_lower ul + ul,
.rec_benefit_lower ul li:nth-child(n+2) {
  margin-top:1rem;
}
.rec_benefit_lower {
  margin-top:8vw;
}
.rec_benefit_lower ul:nth-child(n+3) {
  border-top:1px solid #7B92A8;
  padding-top:8vw;
  margin-top:8vw;
}
.rec_benefit_bullet::before {
  content:"■";
  color:#7B92A8;
}
/*.benefit_text_right {
  margin:8vw 0 0;
}*/
._rec-data {
  padding:8vw 0 0;
  margin:0;
  background:#DCEEFF;
}
._rec-data .cont_full {
  padding:0 0 8vw;
}
._rec-data h3 {
  margin:-8vw 0 8vw;
  background:#EAB661;
  text-align:center;
  font-size:5.333vw;
  font-weight:bold;
  line-height:2.8;
  border-radius:0 0 10px 10px;
}
._rec-type {
  background:#F2F5F7;
  margin:0;
}
._rec-type .cont_full {
  background:#fff;
  padding:12vw 4vw 8vw;
}
._rec-type h3 {
  text-align:center;
  margin:0 0 12vw;
  color:#7B92A8;
  font-weight:bold;
}
.recruit-type-detail {
  border-top:1px solid #333;
  padding:12vw 0;
}
.recruit-type-detail h4 {
  font-weight:bold;
}
.recruit-type-detail h4::before {
  content:"■";
  color:#7B92A8;
}
.recruit-type-work {
  margin:0 0 8vw;
}
.recruit-type-work li {
  background:#DCEEFF;
  padding:4vw;
  border-radius:10px;
}
.recruit-type-work li:nth-child(n+2) {
  margin-top:4vw;
}
.recruit-type-desc-image {
  margin:8vw 0;
}
._rec-type .cont_btn {
  border:3px solid #B3CBE3;
  border-radius:50px;
}
._rec-type .cont_btn a {
  color:#7B92A8;
  padding: 5.333vw 2.667vw 5.333vw 4vw;
  font-weight:bold;
  font-size:4.8vw;
}
._rec-type .cont_btn a i {
  font-size:8vw;
}
._rec-senior {
  margin:0;
}
.recruit-senior-head {
  height:100vw;
  background:url(../images/img-recruit-senior-head_sp.webp) no-repeat center center / cover;
  display:flex;
  align-items:center;
}
.recruit-senior-head h3 {
  width:100%;
  margin:0;
  text-align:center;
  color:#fff;
  font-size:8vw;
  font-weight:bold;
}
.recruit-senior-list {
  margin:8vw 0;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
}
.recruit-senior-item {
  width:48%;
}
.recruit-senior-item:nth-child(n+3) {
  margin:8vw 0 0;
  padding:8vw 0 0;
  border-top:1px solid #333;
}
.recruit-senior-item dl {
  margin:4vw 0 0;
}
.recruit-senior-item dt {
  font-weight:normal;
}
.recruit-senior-item dd {
  font-size:3.733vw;
}
._rec-flow {
  background:#F2F5F7;
  margin:0;
}
._rec-flow .cont_full {
  background:#fff;
  padding:12vw 4vw 16vw;
}
._rec-flow h3 {
  border-top:1px solid #333;
  border-bottom:1px solid #333;
  text-align:center;
  padding:12vw 0;
  font-weight:bold;
  color:#7B92A8;
}
.recruit-flow-item dt {
  background:#7B92A8;
  text-align:center;
  line-height:3;
  color:#fff;
  font-size:4.8vw;
  border-radius:10px 10px 0 0;
}
.recruit-flow-item dd {
  background:#DCEEFF;
  padding:5.333vw 4vw;
  border-radius:0 0 10px 10px;
}
.recruit-flow-item:nth-child(n+2)::before {
  content:"↓";
  display:block;
  text-align:center;
  margin:2.667vw 0;
  font-size:7.467vw;
}
.recruit ._rec-entry.content {
  margin-bottom:20vw;
}
.recruit-entry-message {
  margin:16vw 0 12vw;
}
.recruit-entry-message p {
  text-align:center;
  font-size:6.4vw;
  font-weight:bold;
}
.recruit-entry-button {
  padding:0 4vw;
}
.recruit-entry-button .cont_btn:nth-child(n+2) {
  margin:12vw 0 0;
}
.recruit-entry-button .cont_btn {
  border:3px solid #B3CBE3;
  border-radius:50px;
}
.recruit-entry-button .cont_btn a {
  padding:5.333vw 2.667vw 5.333vw 4vw;
  font-size:5.333vw;
  color:#7B92A8;
  font-weight:bold;
}
.recruit-entry-button .cont_btn a > i {
  font-size:8vw;
}
.recruit-interview {
  margin:4vw 0 20vw;
}
.lower .cont_full.recruit-interview {
  padding:0;
}
.recruit-interview-item {
  border:3px solid #ccc;
}
.recruit-interview-item:nth-child(n+2) {
  margin:8vw 0 0;
}
.recruit-interview-title {
  background:#FDDCA5;
}
.recruit-interview-head {
  padding:0 4vw;
  display:flex;
  justify-content: space-between;
  align-items: center;
}
.recruit-interview-head > div:nth-child(1) {
  width:77.5%;
}
.recruit-interview-sub {
  font-style: italic;
  font-weight:bold;
  font-size:5.867vw;
  border-bottom:1px solid #333;
  padding:0 0 1.333vw;
  margin:-5.333vw 0 2.667vw;
  line-height:1;
}
.recruit-interview-sub span {
  font-size:20vw;
  font-style:normal;
  margin:0 0 0 3rem;
  color:#fff;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: black;
}
.recruit-interview-name {
  font-size:5.867vw;
  font-weight:bold;
  margin-bottom:4vw;
}
.recruit-interview-name span {
  display:block;
  font-size:4.8vw;
  font-weight:normal;
  line-height:1.6;
}
.recruit-interview-btn span {
  background:#fff;
  color:#FDDCA5;
  border-radius:100px;
  font-size:12vw;
  font-weight:bold;
  padding:1vw;
}
.recruit-interview-btn {
  transition: transform 0.3s ease;
}
.recruit-interview-btn.is-open {
  transform: rotateZ(135deg);
}
.recruit-interview-detail {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  padding:0 4vw;
}
.recruit-interview-detail.is-open {
  max-height: 1000px; /* コンテンツの最大高さより大きい値 */
}
.recruit-qanda-list {
  padding:12vw 0;
}
.recruit-qanda-item:nth-child(n+2) {
  margin:10.667vw 0 0;
}
.recruit-qanda-item dt {
  display:flex;
  justify-content:space-between;
  align-items: center;
  border-bottom:1px solid #333;
  padding:0 0 5.333vw;
  margin:0 0 5.333vw;
  font-size:5.867vw;
  font-weight:normal;
  line-height:1.4;
}
.recruit-qanda-item:last-child dt {
  font-weight:bold;
}
.recruit-qanda-item dt span:nth-child(2) {
  font-size:5.333vw;
  font-weight:bold;
  width:89.5%;
}
.recruit-qanda-item dt span:nth-child(1) {
  width:8%;
  line-height:1;
}
.recruit-qanda-item dd {
  font-size:5.333vw;
  line-height:1.4;
}
._message .cont_full {
  padding:0;
}
._message h3 {
  color:#4F6E8B;
  font-size:7.467vw;
  font-weight:bold;
  border-bottom:1px solid #333;
  margin-bottom:4vw;
  padding-bottom:4vw;
  text-align:center;
}
.recruit_president_message {
  padding:0 4vw 4vw;
  border-bottom:1px solid #333;
}
.recruit_president_message h5 {
  font-size:4.267vw;
  margin:2em 0;
}
.recruit_president_message h5::after {
  content:"";
  display:block;
  height:12px;
  background:rgba(221,238,255,.9);
  margin-top:-12px;
}
.rec_message_sub {
  font-weight:bold;
  font-size:6.4vw;
}
.rec_message_sub strong::after {
  content:"";
  display:block;
  height:16px;
  background:rgba(221,238,255,.9);
  margin-top:-18px;
}
.rec_message_sub span {
  display:block;
  font-weight:normal;
  font-size:5.333vw;
  line-height:1.4;
  margin-top:2.667vw;
}
.rec_message_sign {
  text-align:right;
  font-size:4.8vw;
  margin:4vw 0 0;
}
.rec_message_sign > img {
  width:26.667vw;
}
.rec_message_sign span {
  display:block;
  padding:2.667vw 0 0 50vw;
}

/* 募集要項 */
.requirements .lower_title {
  background:url(../images/bg-requirements-title_sp.webp) no-repeat center center / cover;
}
.content._job {
  padding:12vw 0 0;
}
._job h2 {
  font-size:6.4vw;
  border-left:4px solid #333;
  border-bottom:1px solid #333;
  padding:0 0 0 .25em;
  line-height:1.4;
}
.job-desc-contents dt,
.job-desc-contents dd {
  font-size:4.8vw;
}
.job-desc-contents dt {
  background:#F2F5F7;
  padding:4vw 2.667vw;
}
.job-desc-contents dd {
  padding:4vw 2.667vw;
}
.requirements ._rec-flow {
  background:#fff;
}
.requirements ._rec-flow h3 {
  font-size:5.867vw;
  padding:8vw 0;
}
.requirements ._rec-flow .cont_full {
  padding:0 0 12vw;
}
.requirements .recruit-entry-message h3 {
  font-size:6.4vw;
  text-align:center;
  padding:8vw 0;
  border-top:1px solid #333;
  border-bottom:1px solid #333;
}
@media screen and (min-width: 769px), screen and (orientation: landscape) {
  :root {
    --vw: 1vw;
    min-width:1080px;
  }
  .recruit .lower_title {
    padding:0 0 30px;
    height:80vh;
  }
  .recruit .lower_title .slide:nth-child(1) {
    background: url(../images/bg-recruit-title_pc01.webp) no-repeat right center / cover;
  }

  .recruit .lower_title .slide:nth-child(2) {
    background: url(../images/bg-recruit-title_pc02.webp) no-repeat center 70% / cover;
  }

  .recruit .lower_title .slide:nth-child(3) {
    background: url(../images/bg-recruit-title_pc03.webp) no-repeat center bottom / cover;
  }

  .recruit .lower_title .slide:nth-child(4) {
    background: url(../images/bg-recruit-title_pc04.webp) no-repeat center center / cover;
  }
  .recruit .lower_title_content {
    max-width:1200px;
  }
  .recruit .lower_title_head {
    padding:0;
    width:100%;
  }
  .recruit .lower_title_head h1 {
    font-size:18rem;
  }
  .recruit .lower_title_head h1 span {
    font-size:3.8rem;
    margin:0 22%;
    padding:20px 0 0;
    border-top:3px solid #fff;
  }
  .recruit .content._rec-slogan {
    margin:0 0 100px;
  }
  .recruit .content._feature {
    margin:0;
  }
  ._rec-slogan .content_inner {
    padding:100px 0 0;
  }
  .recruit .lower_header {
    margin:0;
  }
  .recruit_appeal_content {
    border:24px solid #B2CCE5;
  }
  .rec_appeal_label {
    width:314px;
    margin:-24px auto 0;
    font-size:2.6rem;
  }
  .rec_appeal_number {
    font-size:8.4rem;
    font-weight:bold;
    margin:30px 0;
  }
  ._feature  .cont_detail_box {
    padding:0 24px;
  }
  ._feature .cont_subHead {
    font-size:3rem;
  }
  ._feature .cont_text {
    margin-bottom:0;
  }
  ._feature .cont_text p + p {
    margin-top:2rem;
  }
  .lower_sub_tri {
    padding:65px 0;
    margin:0;
  }
  .lower_sub_tri::before {
    border-bottom:130px solid transparent;
    border-left:130px solid #134373;
  }
  .lower_sub_tri_text {
    position:absolute;
    top:16px;
    left:12px;
    font-size:2.8rem;
  }
  ._pht,
  ._head._pht {
    min-height:600px;
  }
  .lower.recruit ._head._pht {
    height:auto;
  }
  ._feature .content_inner {
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    grid-column-gap:0px;
    grid-row-gap:0px;
    place-items:center;
    padding:0;
    overflow:hidden;
  }
  ._feature .cont_left,
  ._feature .cont_right {
    width:100%;
    min-height:600px;
    display:flex;
    max-width:100%;
    flex-wrap:nowrap;
  }
  ._feature .cont_left > div,
  ._feature .cont_right > div {
    width:600px;
    min-width:0;
  }
  ._feature .cont_left._detail {
    border:none;
  }
  /*._feature .cont_left._detail > div {
    border-top:1px solid #ccc;
    border-bottom:1px solid #ccc;
  }*/
  .-feat01 .cont_left,
  .-feat03 .cont_left,
  .-feat05 .cont_left {
    order:1;
  }
  .-feat01 .cont_left::before,
  .-feat03 .cont_left::before,
  .-feat05 .cont_left::before {
    content:"";
    width:calc((var(--vw) * 100 - 1080px) / 2);
  }
  .-feat01 .cont_left::before {
    background:url(../images/bg-recruit-feature_l01.webp) 70% center / auto 100% no-repeat;
  }
  .-feat03 .cont_left::before {
    background:url(../images/bg-recruit-feature_l03.webp) 80% center / auto 100% no-repeat;
  }
  .-feat05 .cont_left::before {
    background:url(../images/bg-recruit-feature_l05.webp) right center / auto 100% no-repeat;
  }
  .-feat01 .cont_right,
  .-feat03 .cont_right,
  .-feat05 .cont_right {
    order:2;
  }
  .-feat01 .cont_right::after,
  .-feat03 .cont_right::after,
  .-feat05 .cont_right::after {
    content:"";
    width:calc((var(--vw) * 100 - 1080px) / 2);
    min-height:600px;
  }
  .-feat01 .cont_right::after {
    background:url(../images/bg-recruit-feature_r01.webp) left center / auto 100% no-repeat;
  }
  .-feat03 .cont_right::after {
    background:url(../images/bg-recruit-feature_r03.webp) left center / auto 100% no-repeat;
  }
  .-feat05 .cont_right::after {
    background:url(../images/bg-recruit-feature_r05.webp) left center / auto 100% no-repeat;
  }
  .-feat02 .cont_left,
  .-feat04 .cont_left {
    order:2;
  }
  .-feat02 .cont_left::after,
  .-feat04 .cont_left::after {
    content:"";
    width:calc((var(--vw) * 100 - 1080px) / 2);
  }
  .-feat02 .cont_left::after {
    background:url(../images/bg-recruit-feature_l02.webp) right center / auto 100% no-repeat;
  }
  .-feat04 .cont_left::after {
    background:url(../images/bg-recruit-feature_l04.webp) 70% center / auto 100% no-repeat;
  }
  .-feat02 .cont_right,
  .-feat04 .cont_right {
    order:1;
  }
  .-feat02 .cont_right::before,
  .-feat04 .cont_right::before {
    content:"";
    width:calc((var(--vw) * 100 - 1080px) / 2);
    min-height:600px;
  }
  .-feat02 .cont_right::before {
    background:url(../images/bg-recruit-feature_r02.webp) left center / auto 100% no-repeat;
  }
  .-feat04 .cont_right::before {
    background:url(../images/bg-recruit-feature_r04.webp) 90% center / auto 100% no-repeat;
  }
  .-feat05 .cont_left {
    position:relative;
  }
  .recruit_feat05_head {
    padding:40px 0 40px 24px;
  }
  .recruit_feat05_head div.recruit_feat05_hImg {
    width:276px;
    height:600px;
    position:absolute;
    z-index:10;
    right:0;
    bottom:0;
  }
  .recruit_feat05_hImg > img {
    height:100%;
    width:auto;
  }
  .recruit_feat05_item {
    padding:20px 20px;
    text-align:left;
    line-height:1;
    font-size:1.8rem;
    font-weight:bold;
  }
  .recruit_feat05_item:nth-child(n+2) {
    margin-top:30px;
  }
  .recruit_feat05_detail {
    margin:0;
  }
  .recruit ._benefit {
    margin:0;
  }
  ._benefit .content_inner {
    display:block;
    padding:80px 0;
  }
  ._benefit .cont_full {
    padding:30px 60px;
    max-width:1200px;
  }
  ._benefit h3 {
    font-size:4rem;
    margin-bottom:3rem;
  }
  .rec_benefit_tag {
    flex-wrap:nowrap;
    justify-content: space-between;
    margin:0 0 40px;
  }
  .rec_benefit_tag li {
    padding:0 20px;
    margin-right:0;
    font-size:2.2rem;
  }
  .rec_benefit_tag li:nth-child(n+4) {
    margin-top:0;
  }
  .rec_benefit_notes {
    display:flex;
    justify-content: space-between;
  }
  .rec_benefit_detail,
  .rec_benefit_notes > ul {
    width:480px;
  }
  .rec_benefit_detail._separate {
    padding-top:30px;
    margin-top:30px;
  }
  .rec_benefit_detail._etc._separate {
    padding-top:0;
    margin-top:0;
    border-top:none;
  }
  .rec_benefit_detail dt {
    font-size:2.2rem;
    margin:0 0 2rem;
  }
  .rec_benefit_lower {
    margin-top:60px;
  }
  .rec_benefit_lower ul:nth-child(n+3) {
    border-top:none;
    padding-top:0;
    margin-top:0;
  }
  .rec_benefit_lower ul + ul {
    margin-top:0;
  }
  /*.benefit_text {
    display:flex;
    align-items:stretch;
  }
  .benefit_text_left{
    padding:80px 40px 80px 0;
    width:540px;
  }
  .benefit_text_right {
    width:540px;
    margin:0;
    padding:80px 0 80px 40px;
    border-left:1px solid #ccc;
  }*/
  .recruit .content._rec-data {
    margin:0;
    padding:0;
  }
  ._rec-data .cont_full {
    max-width:1200px;
    padding:40px 0;
  }
  ._rec-data h3 {
    width:660px;
    font-size:3rem;
    margin:-40px auto 40px;
  }
  .recruit .content._rec-type {
    margin:0;
  }
  ._rec-type .cont_full {
    padding:80px 60px 0;
    max-width:1200px;
  }
  ._rec-type h3 {
    text-align:left;
    margin:0 0 80px;
    font-size:4rem;
  }
  .recruit-type-detail {
    padding:40px 0 80px;
  }
  .recruit-type-detail h4 {
    font-size:2.4rem;
  }
  .recruit-type-work {
    margin:0 0 40px;
  }
  .recruit-type-work li {
    padding:30px 20px;
  }
  .recruit-type-work li:nth-child(n+2) {
    margin:30px 0 0;
  }
  .recruit-type-desc-box {
    display:flex;
    align-items:center;
  }
  .recruit-type-desc-text {
    width:540px;
    padding:0 40px 0 0;
  }
  .recruit-type-desc-image {
    width:540px;
    margin:0;
  }
  .recruit-type-desc .cont_btn {
    max-width:640px;
    margin:80px auto 0;
  }
  .recruit-type-desc .cont_btn .arrow {
    width: calc(95% - 480px);
  }
  ._rec-type .cont_btn a {
    font-size:3.2rem;
    padding:20px 20px 20px 40px;
  }
  ._rec-type .cont_btn:hover a {
    color:#fff;
  }
  ._rec-type .cont_btn a i {
    font-size:5.6rem;
  }
  .recruit-senior-head {
    height:334px;
    background:url(../images/img-recruit-senior-head_pc.webp) no-repeat center center / auto 100%;
  }
  .recruit-senior-head h3 {
    font-size:4rem;
  }
  .recruit .content._rec-senior {
    margin:0;
  }
  ._rec-senior .cont_full {
    padding:80px 0 40px;
  }
  .recruit-senior-list {
    width:1200px;
    margin:0 auto;
    justify-content:center;
  }
  .recruit-senior-item {
    width:24%;
    padding:0;
    border-bottom:1px solid #333;
  }
  .recruit-senior-item:nth-child(n+2) {
    margin-left:1.333%;
    margin-top:0;
    padding:0;
    border-top:none;
  }
  .recruit-senior-item:nth-child(n+3) {
    margin-top:0;
    padding:0;
  }
  .recruit-senior-item:nth-child(5) {
    margin-left:0;
  }
  .recruit-senior-item:nth-child(n+5) {
    margin-top:60px;
  }
  .recruit-senior-item dl {
    margin:20px 0 0;
  }
  .recruit-senior-item dd {
    font-size:1.6rem;
  }
  .recruit .content._rec-flow {
    margin:0;
  }
  ._rec-flow .cont_full {
    padding:80px 60px;
    max-width:1200px;
  }
  ._rec-flow h3 {
    border-top:none;
    padding:0 0 80px;
    margin:0 0 40px;
    font-size:4rem;
    text-align:left;
  }
  .recruit-flow-item dl {
    width:100%;
    display:flex;
    flex-wrap:wrap;
    align-items:stretch;
  }
  .recruit-flow-item dt {
    width:165px;
    padding:20px 0;
    font-size:1.6rem;
    line-height:1.8;
    border-radius:10px 0 0 10px;
  }
  .recruit-flow-item dd {
    padding:20px;
    width:915px;
    font-size:1.6rem;
    border-radius:0 10px 10px 0;
  }
  .recruit-flow-item:nth-child(n+2)::before {
    width:100%;
    margin:10px 0;
    font-size:4rem
  }
  .recruit-entry-message {
    margin:80px 0;
  }
  .recruit-entry-message p {
    font-size:3rem;
  }
  .recruit ._rec-entry.content {
    margin-bottom:160px;
  }
  .recruit-entry-button {
    display:flex;
    padding:0;
    justify-content:space-between;
  }
  .recruit-entry-button .cont_btn {
    max-width:480px;
  }
  .recruit-entry-button .cont_btn:nth-child(n+2) {
    margin:0;
  }
  .recruit-entry-button .cont_btn a {
    padding:20px;
    font-size:2.8rem;
  }
  .recruit-entry-button .cont_btn:hover a {
    color:#fff;
  }
  .recruit-entry-button .cont_btn a > i {
    font-size:5.6rem;
  }
  .recruit-entry-button .cont_btn .arrow {
    width: calc(95% - 320px);
  }
  .recruit-interview {
    width:1200px;
    max-width:1200px;
    margin:40px 0 120px;
  }
  .recruit-interview-item {
    padding:0;
  }
  .recruit-interview-item:nth-child(n+2) {
    margin-top:40px;
  }
  .recruit-interview-title {
    display:flex;
    align-items: center;
  }
  .recruit-interview-img {
    width:374px;
  }
  .recruit-interview-head {
    width:820px;
    height:250px;
    padding:0 40px;
  }
  .recruit-interview-sub {
    width:580px;
    padding:0 0 10px 0;
    font-size:3.2rem;
    margin:0 0 10px;
  }
  .recruit-interview-sub span {
    font-size:10rem;
    margin:0 0 0 2rem;
  }
  .recruit-interview-name {
    padding:0 0 10px;
    font-size:4rem;
    margin:0;
  }
  .recruit-interview-name span {
    font-size:2rem;
    line-height:1.4;
  }
  .recruit-interview-name span em {
    font-style: normal;
  }
  .recruit-interview-name span em::before {
    content:"｜";
  }
  .recruit-interview-btn:hover {
    cursor: pointer;
  }
  .recruit-interview-btn span {
    font-size:8rem;
    padding:10px;
  }
  .recruit-interview-detail {
    padding:0 60px;
  }
  .recruit-qanda-list {
    padding:40px 0;
  }
  .recruit-qanda-item:nth-child(n+2) {
    margin:50px 0 0;
  }
  .recruit-qanda-item dt {
    align-items: center;
    justify-content: space-between;
    padding:0 0 10px;
    margin:0 0 10px;
    font-size:2.8rem;
  }
  .recruit-qanda-item:last-child dt {
    font-size:2.8rem;
  }
  .recruit-qanda-item dt span:nth-child(2) {
    font-size:2.8rem;
    width:1034px;
  }
  .recruit-qanda-item dt span:nth-child(1) {
    width:28px;
    padding:0;
  }
  .recruit-qanda-item dd {
    font-size:2.8rem;
    line-height:1.6;
  }
  ._message .cont_full {
    max-width:1200px;
    padding:80px 0 0;
  }
  ._message h3 {
    font-size:4rem;
    margin-bottom:30px;
    padding-bottom:10px;
    text-align:left;
  }
  .recruit_president_message {
    padding:0 60px 40px;
  }
  .recruit_president_message h5 {
    font-size:2rem;
    margin:4rem 0;
    width:50%;
  }
  .recruit_president_message h5::after {
    content:"";
    display:block;
    height:12px;
    background:rgba(221,238,255,.9);
    margin-top:-12px;
  }
  .rec_message_sub {
    font-size:3rem;
    margin-bottom:4rem;
  }
  .rec_message_sub strong::after {
    content:"";
    display:block;
    height:16px;
    background:rgba(221,238,255,.9);
    margin-top:-18px;
  }
  .rec_message_sub span {
    font-size:2.4rem;
    margin-top:10px;
  }
  .rec_message_sign {
    text-align:right;
    font-size:2rem;
    margin:40px 0 0;
  }
  .rec_message_sign > img {
    width:120px;
  }
  .rec_message_sign span {
    padding:10px 0 0;
  }
  
  /* 募集要項 */
  .requirements .lower_title {
    background:url(../images/bg-requirements-title_pc.webp) no-repeat center center / auto 100%;
    height:360px;
  }
  .content._job {
    padding:60px 20px 0;
  }
  .content._job .content_inner {
    max-width:1200px;
    margin:0 auto;
    display:block;
    padding:0;
  }
  ._job h2 {
    font-size:2.8rem;
    margin:0 0 40px;
  }
  .job-description {
    margin:0 0 80px;
  }
  .job-desc-contents dl {
    display:flex;
    align-items:center;
  }
  .job-desc-contents dt,
  .job-desc-contents dd {
    font-size:1.8rem;
  }
  .job-desc-contents dt {
    padding:20px 10px;
    width:300px;
  }
  .job-desc-contents dd {
    padding:20px 10px 20px 30px;
    width:780px;
  }
  .requirements .benefit_text_left,
  .requirements .benefit_text_right {
    max-width:600px;
    width:50%;
    padding:60px 40px;
  }
  .requirements ._rec-flow .content_inner {
    display:block;
  }
  .requirements ._rec-flow h3 {
    font-size:2.4rem;
    padding:0;
  }
  .requirements ._rec-flow .cont_full {
    padding:0;
  }
  .requirements .recruit-flow-item dt {
    width:200px;
  }
  .requirements .recruit-flow-item dd {
    width:1000px;
  }
  .requirements ._rec-entry {
    padding:0 20px;
  }
  .requirements ._rec-entry .content_inner {
    max-width:1200px;
    margin:0 auto;
    padding:0;
    display:block;
  }
  .requirements .recruit-entry-message h3 {
    font-size:2.8rem;
    padding:40px 0;
  }
  .requirements .recruit-entry-button {
    justify-content:space-around;
  }
}

/* 会社案内 */
.company .lower_title {
  background:url(../images/bg-company-title_sp.webp) no-repeat center center / cover;
}
.company-profile-list {
  border:1px solid #E2E7EB;
}
.company-profile-item dt {
  background:#134373;
  color:#fff;
  padding:4vw;
  font-size:5.333vw;
  font-weight:normal;
}
.company-profile-item dd {
  padding:5.333vw 4vw 8vw;
  font-size:4.8vw;
}
.company-profile-item dd ul {
  list-style-type:disc;
  padding:0 0 0 1em;
}
.company-profile-item dd ul li {
  font-size:4.8vw;
}
.company-history-head {
  width:100%;
  height:36vh;
  background:url(../images/bg-company-history_sp.webp) no-repeat center center / cover;
}
.company-history-chart {
  border-left:20px solid #F2F5F7;
}
.company-history-list {
  padding:20vw 0;
}
.company-history-item dt {
  font-weight:normal;
}
.company-history-year {
  display:flex;
  align-items:flex-end;
  font-size:26.667vw;
  line-height:.7;
  color:#004376;
  transform:translateX(-20px);
}
.company-history-year span {
  font-size:12vw;
}
.company-history-year::before {
  content:"";
  width:8vw;
  border-bottom:2px solid #004376;
}
.company-history-sub {
  font-size:7.267vw;
  color:#004376;
  line-height:2.4;
}
.company-history-item:nth-child(n+2) {
  margin:20vw 0 0;
}
.company-history-item dd {
  padding:0 0 0 4vw;
}
.company-history-item div {
  margin:4vw 0 0;
  padding:0 0 0 4vw;
}
@media only screen and (min-width: 751px) {
  .company .lower_title {
    background:url(../images/bg-company-title_pc.webp) no-repeat center bottom / cover;
  }
  .company-profile-list {
    max-width:1200px;
    width:100%;
    margin:0 auto;
  }
  .company-profile-item dl {
    display:flex;
  }
  .company-profile-item:nth-child(n+2) dl {
    border-top:1px solid #E2E7EB;
  }
  .company-profile-item dt {
    padding:30px 20px;
    font-size:2rem;
    width:20%;
  }
  .company-profile-item dd {
    padding:30px 20px;
    font-size:1.8rem;
    width:80%;
  }
  .company-profile-item dd ul li {
    font-size:1.8rem;
  }
  .company-history-head {
    height:300px;
    background:url(../images/bg-company-history_pc.webp) no-repeat center center / auto 100%;
  }
  .company-history-chart {
    width:100%;
    max-width:1200px;
    margin:0 auto;
  }
  .company-history-list {
    padding:100px 0;
  }
  .company-history-item {
    display:flex;
    justify-content:space-between;
    align-items:center;
  }
  .company-history-item dl {
    width:67.5%;
    display:flex;
    flex-wrap:wrap;
    align-items:flex-end;
  }
  .company-history-year {
    font-size:12.4rem;
    line-height:.7;
    transform:translateX(-20px);
  }
  .company-history-year span {
    font-size:6.4rem;
  }
  .company-history-year::before {
    width:90px;
    border-bottom:3px solid #004376;
  }
  .company-history-sub {
    font-size:2.8rem;
    line-height:2.4;
  }
  .company-history-item:nth-child(n+2) {
    margin:100px 0 0;
  }
  .company-history-item dt:nth-child(2) {
    line-height:1;
  }
  .company-history-item dd {
    width:100%;
    padding:40px 0 0 60px;
  }
  .company-history-item div {
    width:32.5%;
    margin:0;
    padding:0;
  }
}

/* 会社概要サンプル */
.comapny-sample img {
  width:100%;
}
@media only screen and (min-width: 751px) {
  .comapny-sample {
    height:6580px;
    background:url(../../company/bg-company-sample.webp) center top / auto 100% no-repeat;
  }
  .comapny-sample img {
    display:none;
  }
}

/* 環境への取り組み */
.pelp .lower_title {
  height:auto;
  align-items:flex-end;
  flex-wrap:wrap;
}
.pelp-mv {
  padding:0 5.333vw 4vw;
}
.pelp-content-section {
  padding:0 4vw;
}
._pelp04 .pelp-content-section {
  padding:0 4vw 8vw;
}
.pelp-detail-left ul {
  display:flex;
  margin:8vw 0;
}
._pelp01 .pelp-detail-right > div {
  padding:0 16vw;
  margin:0 0 8vw;
}
._pelp01 .pelp-detail-right li:nth-child(2) {
  margin-top:1em;
}
._pelp01 .pelp-detail-right .cont_btn {
  border-radius:16px;
}
._pelp03 .pelp-detail-left > div div {
  margin-top:1.5em;
}
._pelp03 .pelp-detail-right div:nth-child(2) {
  margin:1.5em 0 0;
}
._pelp04 .pelp-content-section ul {
  display:flex;
  align-items:center;
}
._pelp04 .pelp-content-section li {
  width:50%;
  padding:0 5.333vw 0 0;
}
._pelp04 .pelp-content-section li:nth-child(2) {
  padding:0 0 0 5.333vw;
  border-left:1px solid #333;
}
._pelp04 h3 {
  text-align:center;
  font-size:4.8vw;
  margin:8vw 0 0;
}
@media only screen and (min-width: 751px) {
  .pelp .lower_title {
    height:500px;
    background:url(../images/bg-pelp-title_pc.webp) no-repeat center 30% / 984px 123px;
    padding:0;
  }
  .pelp-mv {
    display:none;
  }
  .pelp-content-section {
    max-width:1200px;
    margin:0 auto;
    padding:0;
  }
  ._pelp04 .pelp-content-section {
    padding:40px 0 80px;
  }
  .pelp-section-detail {
    display:flex;
  }
  .pelp-detail-left {
    width:65%;
    padding:0 40px 0 0;
  }
  .pelp-detail-left ul {
    margin:40px 0 0;
  }
  ._pelp01 .pelp-detail-right {
    width:35%;
    padding:0 60px;
  }
  ._pelp01 .pelp-detail-right > div {
    padding:0 40px;
    margin:0 0 20px;
  }
  ._pelp02 .pelp-detail-right {
    width:35%;
  }
  ._pelp03 .pelp-detail-left > div {
    display:flex;
  }
  ._pelp03 .pelp-detail-left > div div {
    width:40%;
    margin-top:0;
  }
  ._pelp03 .pelp-detail-left > div p {
    width:60%;
    padding:0 20px 0 0;
  }
  ._pelp03 .pelp-detail-right {
    width:35%;
  }
  ._pelp04 .pelp-content-section ul {
    padding:0 300px;
  }
  ._pelp04 .pelp-content-section li {
    width:50%;
    padding:0 40px 0 0;
  }
  ._pelp04 .pelp-content-section li:nth-child(2) {
    padding:0 0 0 40px;
  }
  ._pelp04 h3 {
    font-size:2rem;
    margin:40px 0 0;
  }
}

/* よくある質問 */
.faq .lower_title {
  background:url(../images/bg-faq-title_sp.webp) no-repeat center center / cover;
}
.faq-content-item {
  background:#F2F5F7;
  padding:8vw 4vw;
}
.faq-content-item:nth-child(n+2) {
  margin-top:3rem;
}
.faq-text {
  display:flex;
}
.faq-text.-que {
  font-weight:bold;
}
.faq-text.-ans {
  align-items:flex-start;
  margin-top:1.5rem;
  padding-top:1.5rem;
  border-top:2px solid #fff;
}
.faq-text dt {
  width:12.5%;
  font-weight:bold;
  font-size:6.4vw;
  line-height:1.4;
}
.faq-text.-que dt {
  color:#004376;
}
.faq-text.-ans dt {
  color:#793a38;
}
.faq-text dd {
  width:87.5%;
}
.faq-text.-que dd {
  font-size:4.8vw;
}
@media only screen and (min-width: 751px) {
  .faq .lower_title {
    background:url(../images/bg-faq-title_pc.webp) no-repeat center center / auto 100%;
  }
  .faq ._low01 .content_inner {
    padding:60px 0;
  }
 .faq ._low01 .cont_text {
    margin-top:0;
  }
  .faq-content-list {
    max-width:1200px;
    margin:0 auto;
  }
  .faq-content-item {
    padding:20px 60px;
  }
  .faq-text dt {
    width:5.556%;
    max-width:60px;
    font-size:3.6rem;
    line-height:1.2;
  }
  .faq-text dd {
    width:94.444%;
    max-width:1020px;
  }
  .faq-text.-que {
    align-items:center;
  }
  .faq-text.-que dd {
    font-size:2rem;
  }
}

/* お問い合わせフォーム */
.contact .footer_float,
.contact .header_menu_contact,
.thanks .footer_float,
.thanks .header_menu_contact {
  display:none;
}
.contact .lower_title,
.thanks .lower_title {
  height:18vh;
  background:url(../images/bg-contact-title_sp.webp) no-repeat center center / cover;
}
.contact .content._contact01,
.thanks .content._contact01,
.complete .content._contact01 {
  padding:8vw 0 0;
}
.contact .content h2,
.thanks .content h2,
.complete .content h2 {
  font-size:6.4vw;
  margin:0 0 4vw;
  text-align:center;
}
.contact_content_tel {
  padding:4vw;
  background:#F2F5F7;
  font-feature-settings: "palt";
  text-align:center;
}
.contact_tel_fax {
  font-size:5.867vw;
  border-top:1px solid #004376;
  margin:2.667vw 0 0;
  padding:2.667vw 0 0;
}
.contact_content_form {
  padding:5.333vw 0;
  border-top:3px solid #004376;
  border-bottom:3px solid #004376;
}
.form > div:nth-child(n+2) {
  margin:5.333vw 0 0;
  padding:5.333vw 0 0;
  border-top:1px solid #ccc;
}
.form_item input,
.form_item textarea {
  border: 1px solid #ddd;
  border-radius: 5px;
  padding:1.333vw 2.667vw;
  font-size:4.267vw;
}
.form_item input[type="text"],
.form_item input[type="email"],
.form_item textarea {
  width:100%;
}
.form_item input[type="tel"] {
  width:50%;
}
.form_item input[type="radio"] {
  transform: scale(1.5);
  margin:0 .5em 0 0;
}
.form_item textarea {
  line-height:1.6;
}
.form_item label {
  margin:0;
}
.form_item dt {
  font-size:4.8vw;
  margin:0 0 4vw;
}
.form_item._overview dd span.wpcf7-form-control {
  display:block;
  padding:0 0 0 2.667vw;
}
.form_item._overview dd span.wpcf7-list-item {
  display:block;
  font-size:4.8vw;
  line-height:2;
}
.form_item .form_address_num input {
  width:50%;
}
.form_address_txt {
  margin:4vw 0 0;
  padding:4vw 0 0;
  border-top:1px dashed #ccc;
}
.form > div.form_policy_check {
  margin:12vw 0 0;
  padding:4vw;
  border-top:1px solid #333;
  border-bottom:1px solid #333;
}
.confirm {
  margin:12vw 0;
  text-align:center;
}
.confirm-turnstile {
  margin:0 0 8vw;
}
.wpcf7 .wpcf7-submit:disabled {
  background: #ccc;
}
.button-confirm {
  background: #004376;
  padding: 5% 0;
  color: #fff;
  border: none;
  font-size: 4.266vw;
  display: block;
  margin: 0 auto;
  width: 80%;
  border-radius:40px;
}
.hissu::after {
  content:"必須";
  margin:0 0 0 .5em;
  background:rgb(180, 0, 0);
  color:#fff;
  font-size:3.733vw;
  padding:1.333vw;
  font-weight:normal;
  font-family: 游ゴシック, YuGothic, "ヒラギノ角ゴ ProN W6", HiraKakuProN-W6, sans-serif;
  border-radius:4px;
}
.ninni::after {
  content:"任意";
  margin:0 0 0 .5em;
  background:rgb(0, 0, 180);
  color:#fff;
  font-size:3.733vw;
  padding:1.333vw;
  font-weight:normal;
  font-family: 游ゴシック, YuGothic, "ヒラギノ角ゴ ProN W6", HiraKakuProN-W6, sans-serif;
  border-radius:4px;
}
.cf7-error {
  border: 2px solid red !important;
  background-color: #ffeaea;
}
.confirm-list {
  margin:5.333vw 0 0;
  border-top:1px solid #ccc;
}
.confirm-list dt {
  padding:5.333vw 0 1.333vw;
}
.confirm-list dt:nth-child(n+3) {
  border-top:1px dashed #ccc;
}
.confirm-list dd {
  min-height:1.8em;
}
.confirm-buttons {
  margin:1.333vw 0 0;
  padding:12vw 0 0;
  border-top:1px solid #ccc;
}
.button-confirm._back {
  width:auto;
  background:none;
  padding:0;
  color:#666;
  text-decoration:underline;
  margin:8vw auto 0;
}
.contact_thanks_txt {
  border-top:1px solid #ccc;
  border-bottom:1px solid #ccc;
  padding:5.333vw 0;
}
@media only screen and (min-width: 751px) {
  .contact .lower_title,
  .thanks .lower_title {
    height:250px;
    background:url(../images/bg-contact-title_pc.webp) no-repeat center center / cover;
  }
  .contact .content,
  .thanks .content,
  .complete .content {
    width:720px;
    margin:0 auto;
  }
  .thanks .content,
  .complete .content {
    margin:0 auto 160px;
  }
  .contact .content._contact01,
  .thanks .content._contact01,
  .complete .content._contact01 {
    padding:40px 0 0;
  }
  .contact .content._contact02 {
    margin:60px auto 160px;
  }
  .contact .lower .content_inner,
  .thanks .lower .content_inner,
  .complete .lower .content_inner {
    padding:0;
    display:block;
  }
  .contact .content._contact01 .content_inner {
    padding:0 60px;
  }
  .contact .content h2,
  .thanks .content h2,
  .complete .content h2 {
    font-size:3.6rem;
    margin:0 0 20px;
  }
  .contact_content_tel {
    padding:20px 40px;
  }
  .contact_content_tel .common_contact_phone {
    font-size:4.2rem;
  }
  .contact_content_tel .common_contact_phone a {
    font-size:4.8rem;
  }
  .contact_content_tel .common_contact_note {
    font-size:2rem;
  }
  .contact_tel_fax {
    font-size:3.2rem;
    margin:20px 0 0;
    padding:20px 0 0;
  }
  .contact_content_form {
    padding:40px 0;
  }
  .form > div:nth-child(n+2) {
    margin:40px 0 0;
    padding:40px 0 0;
  }
  .form_item input,
  .form_item textarea {
    padding:10px 20px;
    font-size:1.6rem;
  }
  .form_item input[type="text"],
  .form_item input[type="email"],
  .form_item textarea {
    width:100%;
  }
  .form_item input[type="tel"] {
    width:50%;
  }
  .form_item input[type="radio"] {
    transform: scale(1.5);
    margin:0 .5em 0 0;
  }
  .form_item textarea {
    line-height:1.6;
  }
  .form_item dt {
    font-size:2.2rem;
    margin:0 0 20px;
  }
  .form_item._overview dd span.wpcf7-form-control {
    display:flex;
    padding:0 0 0 20px;
    flex-wrap:wrap;
    justify-content: space-between;
  }
  .form_item._overview dd span.wpcf7-list-item {
    width:50%;
    font-size:1.8rem;
  }
  .form_item._policy-check {
    padding:0 20px;
    justify-content: center;
    align-items: center;
  }
  .form_item._policy-check dt {
    margin:0 20px 0 0;
  }
  .form_item._policy-check dt input[type="checkbox"] {
    box-sizing: border-box;
    padding: 0;
    transform: scale(2);
  }
  .form_item .form_address_num input {
    width:50%;
  }
  .form_address_txt {
    margin:30px 0 0;
    padding:30px 0 0;
  }
  .form > div.form_policy_check {
    margin:80px 0;
    padding:20px 40px;
  }
  .confirm {
    margin:80px 0;
  }
  .button-confirm {
    width: 60%;
    font-size: 2rem;
    padding: 20px 0;
    border-radius:50px;
  }
  .hissu,
  .ninni {
    display:flex;
    align-items: center;
  }
  .hissu::after,
  .ninni::after {
    font-size:1.6rem;
    padding:3px 6px;
  }
  .confirm-turnstile {
    margin:0 0 30px;
  }
  .form-confirm-text {
    font-size:2rem;
  }
  .confirm-list {
    margin:30px 0 0;
  }
  .confirm-list dt {
    padding:30px 0 10px;
  }
  .confirm-buttons {
    margin:10px 0 0;
    padding:80px 0 0;
  }
  .button-confirm:hover {
    opacity:.8;
  }
  .button-confirm._back {
    margin:60px auto 0;
    font-size:2rem;
  }
  .contact_thanks_txt {
    padding:40px 0;
  }
}

/* エントリーフォーム */
.entry .header_menu_links,
.entry .common_cta,
.entry .footer_float,
.complete .footer_float {
  display:none;
}
.entry .lower_title,
.complete .lower_title {
  height:18vh;
  background:url(../images/bg-entry-title_sp.webp) no-repeat center center / cover;
}
.entry .content._entry01 {
  padding:12vw 0 0;
  margin:0 0 8vw;
}
.entry-message-note {
  font-size:3.733vw;
}
.entry_complete_link {
  line-height:2.8;
}
@media only screen and (min-width: 751px) {
  .complete .header_menu_contact {
    display:none;
  }
  .entry .lower_title,
  .complete .lower_title {
    height:250px;
    background:url(../images/bg-entry-title_pc.webp) no-repeat center center / cover;
  }
  .entry .content {
    width:720px;
    margin:0 auto;
  }
  .entry .lower .content_inner {
    padding:0;
    display:block;
  }
  .entry .content._entry01 {
    padding:40px 0 0;
    margin:0 auto;
  }
  .entry .content._entry01 .cont_text {
    margin:0 0 20px;
  }
  .entry-message-note {
    font-size:1.6rem;
  }
  .entry .content._entry02 {
    margin:0 auto 160px;
  }
}

/* 新着情報 */
.news .lower_title {
  background:url(../images/bg-news-title_sp.webp) no-repeat center center / cover;
}
.news-content-list {
  padding:8vw 0 0;
}
.news-content-item {
  background:#F2F5F7;
  padding:8vw 4vw;
}
.news-content-item:nth-child(n+2) {
  margin-top:3rem;
}
.news-text dt {
  font-weight:bold;
}
.news-text dd span {
  display:block;
  margin-bottom:1.5em;
  font-weight:bold;
  border-bottom:2px solid #fff;
}
@media only screen and (min-width: 751px) {
  .news .lower_title {
    background:url(../images/bg-news-title_pc.webp) no-repeat 20% center / auto 100%;
  }
  .news-content-list {
    max-width:1200px;
    margin:0 auto;
    padding:60px 0 0
  }
  .news-content-item {
    padding:20px 60px;
  }
}

/* プライバシーポリシー */
.privacy .lower_title {
  height:auto;
  padding:5.333vw 0;
  align-items:center;
  border-bottom:1px solid #ccc;
}
.privacy-content {
  margin:12vw 0;
}
.privacy-content h2 {
  font-size:6.4vw;
  margin:5.333vw 0;
  font-weight:bold;
}
.privacy-content h3 {
  font-size:4.8vw;
  margin:5.333w 0;
  font-weight:bold;
}
.privacy-content p {
  margin:5.333vw 0;
}
.privacy-content p a {
  word-break: break-all;
}
.privacy-content ul {
  margin:8vw 0;
  list-style-type:disc;
  padding:4vw 2.667vw 4vw 1.75em;
  background:#F2F5F7;
}
@media only screen and (min-width: 751px) {
  .privacy .lower_title {
    padding:60px 0;
    border-bottom:none;
  }
  ._privacy01 .content_inner {
    max-width:1080px;
    margin:0 auto;
    display:block;
  }
  .privacy-content {
    margin:60px 0;
  }
  .privacy-content h2 {
    font-size:2.8rem;
    margin:20px 0;
  }
  .privacy-content h3 {
    font-size:2rem;
    margin:20px 0;
  }
  .privacy-content p {
    margin:20px 0;
  }
  .privacy-content ul {
    margin:30px 0;
    padding:20px 10px 20px 2em;
  }
}

/* 404 */
.error404 .lower_title {
  height:0;
  background:none;
}
.notfound_content {
  padding:8vw 0 0;
}
.notfound_content ul {
  padding:8vw 0 0;
}
.notfound_content ul li {
  line-height:2.4;
}
@media only screen and (min-width: 751px) {
  .error404 .mv_recruit.-pc {
    display:none;
  }
  .error404 .lower_title {
    height:0;
  }
  .notfound_content {
    padding:60px 0 0;
  }
  .notfound_content ul {
    padding:30px 0 0;
  }
}

/* cookie許可ポップアップ */
.cookie-consent {
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-direction:column;
  position:fixed;
  bottom:-200px;
  left:0;
  width:100%;
  font-size:3.2vw;
  background:rgba(0,0,0,.65);
  padding:2.667vw;
  box-sizing:border-box;
  visibility:visible;
  transition:.5s;
  color:#fff;
  z-index:12000;
}
.cookie-consent.is-show {
  bottom:0px;
}
.cookie-text {
  width:100%;
  margin-bottom:2.667vw;
}
.cookie-text a {
  color:#fff;
  font-size:3.2vw;
}
.cookie-agree {
  color:#fff;
  background:#004376;
  padding:.5em 1.5em;
}
.cookie-agree:hover {
  cursor:pointer;
}
/* パッと消える */
.cc-hide1 {
  display:none;
}
/* ゆっくり消える */
.cc-hide2 {
  animation:hide 1s linear 0s;
  animation-fill-mode:forwards;
}
@keyframes hide {
  from {
    opacity:1;
  }
  to {
    opacity:0;
    visibility:hidden;
  }
}
@media only screen and (min-width: 751px) {
  .cookie-consent {
    font-size:1.4rem;
    padding:1em 2em;
    text-align:center;
  }
  .cookie-text {
    margin-bottom:1em;
  }
  .cookie-text a {
    font-size:1.4rem;
  }
}