/* Recruit CSS */
/* _setting CSS */
/* ___________________UI */
#recruit .cont,
#recruit .cont_inner,
#recruit .lead,
#recruit .contract_type,
#recruit .list,
#recruit .item {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
#recruit .desc,
#recruit .info dt,
#recruit .info dd,
#recruit .name,
#recruit .detail,
#recruit .text_title,
#recruit .s_title {
  overflow-wrap: break-word;
}
#recruit .contract_type .item {
  position: relative;
  min-width: 0;
}
#recruit .contract_type .item > :not(.outline) {
  position: relative;
  z-index: 1;
}
#recruit .contract_type .item .outline {
  overflow: visible;
}
#recruit .contract_type .item .outline .outline__stroke {
  filter: none;
  display: block;
  will-change: auto;
}
#recruit .contract_type .item .outline .outline__stroke-svg {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}

/* Smartphones (portrait and landscape) */
@media print, screen and (max-width: 780px) {
  #recruit .cont_inner {
    padding: 12.82051vw 0;
  }
  #recruit .contract_type .outline_contract {
    display: none;
  }
  #recruit .title {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    align-items: flex-end;
    column-gap: 0.38em;
    padding-bottom: 4.48718vw;
  }
  #recruit .title .title_main,
  #recruit .title .title_sub {
    font-family: "Zen Old Mincho", serif;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
  }
  #recruit .title .title_main {
    font-size: 9.48718vw;
    font-weight: bold;
  }
  #recruit .title .title_sub {
    font-size: 4.48718vw;
    font-weight: bold;
  }
  #recruit .lead {
    width: 80.76923vw;
    margin: 0 auto 11.53846vw;
  }
  #recruit .lead .desc {
    font-size: 3.84615vw;
    font-weight: bold;
    line-height: 1.5;
    padding-bottom: 3.84615vw;
  }
  #recruit .lead .info dt, #recruit .lead .info dd {
    font-size: 3.84615vw;
    font-weight: bold;
    line-height: 1.5;
  }
  #recruit .contract_type {
    width: 80.76923vw;
    margin: 0 auto;
  }
  #recruit .contract_type .s_title {
    width: 100%;
    font-size: 3.84615vw;
    font-weight: bold;
    line-height: 1.8;
    text-align: center;
    border: 0.38462vw solid #231815;
    border-radius: 2.5641vw;
    padding: 0.89744vw 0;
    margin-bottom: 6.41026vw;
  }
  #recruit .contract_type .list {
    width: 100%;
  }
  #recruit .contract_type .item {
    width: 100%;
    margin-bottom: 6.41026vw;
  }
  #recruit .contract_type .item:last-child {
    margin-bottom: 0;
  }
  #recruit .contract_type .item .name {
    font-size: 3.84615vw;
    font-weight: bold;
    line-height: 1.3;
    margin-bottom: 4.48718vw;
  }
  #recruit .contract_type .item .text {
    margin-bottom: 4.48718vw;
  }
  #recruit .contract_type .item .text_title {
    font-size: 3.20513vw;
    font-weight: bold;
    line-height: 1.6;
  }
  #recruit .contract_type .item .detail {
    font-size: 3.20513vw;
    font-weight: bold;
    line-height: 1.6;
  }
  #recruit .contract_type .item .btn {
    width: 100%;
    text-align: center;
  }
  #recruit .contract_type .item .btn a {
    width: 100%;
    display: block;
    box-sizing: border-box;
    font-size: 3.84615vw;
    font-weight: bold;
    color: #231815;
    line-height: 1.8;
    background-color: #f4e44e;
    border: 0.51282vw solid #231815;
    border-radius: 2.5641vw;
    padding: 0.89744vw 0;
  }
}
/* Desktops and laptops */
@media screen and (min-width: 781px) {
  #recruit .cont_inner {
    width: 100%;
    padding: clamp(64px, 8vw, 100px) 0 clamp(48px, 6vw, 80px);
  }
  #recruit .title {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    align-items: flex-end;
    column-gap: 0.38em;
    margin: clamp(24px, 3vw, 40px) 0 clamp(48px, 6vw, 80px);
    font-size: clamp(5.4rem, 5.3vw, 7.4rem);
    font-weight: 900;
    line-height: 1;
  }
  #recruit .title .title_main,
  #recruit .title .title_sub {
    font-family: "Zen Old Mincho", serif;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
  }
  #recruit .title .title_main {
    font-size: 1em;
    letter-spacing: 0.12em;
    margin-bottom: -0.12em;
  }
  #recruit .title .title_sub {
    font-size: 0.44em;
    letter-spacing: 0.06em;
    margin-bottom: -0.06em;
  }
  #recruit .lead {
    padding: 0 clamp(24px, 14.3vw, 200px);
    margin-bottom: clamp(48px, 7vw, 100px);
  }
  #recruit .lead .desc {
    font-size: clamp(2.2rem, 2.15vw, 3rem);
    font-weight: bold;
    line-height: 1.5;
    text-align: justify;
    margin-bottom: clamp(20px, 2.5vw, 35px);
  }
  #recruit .lead .info dt, #recruit .lead .info dd {
    font-size: clamp(2.2rem, 2.15vw, 3rem);
    font-weight: bold;
    line-height: 1.5;
  }
  #recruit .lead .info dd {
    margin-bottom: 10px;
  }
  #recruit .contract_type .s_title {
    width: 88%;
    font-size: clamp(2.2rem, 2.15vw, 3rem);
    font-weight: bold;
    line-height: 1.8;
    text-align: center;
    border: 3px solid #231815;
    border-radius: 20px;
    margin: 0 auto clamp(28px, 4vw, 55px);
    padding: 0 clamp(12px, 2vw, 20px);
    box-sizing: border-box;
  }
  #recruit .contract_type .list {
    --contract-gap: clamp(16px, 3.2vw, 45px);
    width: 94%;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: var(--contract-gap);
    margin: 0 auto;
  }
  #recruit .contract_type .item {
    width: calc((100% - var(--contract-gap)) / 2);
    max-width: calc((100% - var(--contract-gap)) / 2);
    flex: 1 1 calc((100% - var(--contract-gap)) / 2);
    padding: clamp(22px, 2.7vw, 38px) clamp(16px, 2.9vw, 40px);
  }
  #recruit .contract_type .item .name {
    font-size: clamp(2.2rem, 2.15vw, 3rem);
    font-weight: bold;
    line-height: 1.3;
    margin-bottom: clamp(16px, 2vw, 30px);
  }
  #recruit .contract_type .item .text {
    min-height: clamp(140px, 21vw, 280px);
    margin-bottom: clamp(24px, 3vw, 40px);
  }
  #recruit .contract_type .item .text_title {
    font-size: clamp(1.8rem, 1.8vw, 2.5rem);
    font-weight: bold;
    line-height: 1.6;
  }
  #recruit .contract_type .item .detail {
    font-size: clamp(1.8rem, 1.8vw, 2.5rem);
    font-weight: bold;
    line-height: 1.6;
  }
  #recruit .contract_type .item .btn {
    width: 100%;
    text-align: center;
  }
  #recruit .contract_type .item .btn a {
    width: 100%;
    display: block;
    box-sizing: border-box;
    font-size: clamp(2.2rem, 2.15vw, 3rem);
    font-weight: bold;
    color: #231815;
    line-height: 1.8;
    background-color: #f4e44e;
    border: 3px solid #231815;
    border-radius: 20px;
  }
  #recruit .contract_type .item .btn a:hover {
    opacity: .8;
    text-decoration: none;
  }
}
@media screen and (min-width: 781px) and (max-width: 950px) {
  #recruit .contract_type .item .name {
    font-size: 2rem;
    min-height: 5rem;
  }
  #recruit .contract_type .item .text {
    min-height: 24vw;
  }
}
