@charset "UTF-8";

@media screen and (max-width: 768px) {
  /* ==========================================================================
  ベース設定
  =========================================================================== */
  :root {
    /* カラー */
    --black: #141414;
    --grey: #DEDEDE;
    --text: #333;
    --back: #C9C9C9;

    /* フォント */
    --font_NotoSansJP: "NotoSansJP", sans-serif;
    --font_NotoSansJP_vert: "NotoSansJP_vert", sans-serif;
    --font_NotoSerifJP: "NotoSerifJP", serif;
    --font_ShipporiMincho: "ShipporiMincho", serif;
    --font_ShipporiMincho_vert: "ShipporiMincho_vert", serif;
    --font_AlbertSans: "AlbertSans", sans-serif;
  }

  .body {
    overflow-x: hidden;
  }

  a:hover {
    /* filter: none; */
    opacity: 1;
  }

  .forPC {
    display: none;
  }
  
  .forPC-inline {
    display: none;
  }  

  .forSP {
    display: block;
  }
  
  .forSP-inline {
    display: inline;
  }

  a.link {
    width: 10rem;
  }

  .inner {
    width: 100%;
    padding: 0 5.33vw;
  }

  .ttl {
    font-size: 1.5rem;
    line-height: 1.5rem;
    gap: 0.75rem;
  }

  .ttl::after{
    font-size: 1rem;
    line-height: 1.25rem;
    /* white-space: nowrap; */
  }
  

  /* ==========================================================================
  ヘッダー
  =========================================================================== */
  .header {
    justify-content: flex-end;
    padding: 1.25rem 5.33vw;
  }

  .header__logo {
    width: 10.875rem;
    top: 1.25rem;
    left: 5.33vw;
  }

  /* ハンバーガーメニュー */
  .hamburgerBtn {
    width: 2.5rem;
  }

  .hamburgerBtn__wrap {
    height: 1.125rem;
  }

  .hamburgerBtn.is-active {
    width: 2.5rem;
  }

  .hamburgerContent {
    background-position: right -3.125rem bottom -3.75rem;
    background-size: 13.5625rem auto;
    padding: 5.625rem 0;
  }

  .hamburgerContent__wrap {
    flex-direction: column-reverse;
    gap: 2.5rem;
    padding-left: 0;
  }

  .hamburgerContent__nav .menu {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .nav .menu li:nth-of-type(n) {
    grid-column: 1;
  }

  .nav .sub-menu {
    display: none;
  }

  .nav li {
    font-size: 1.25rem;
  }

  .nav li:nth-of-type(n+2) {
    margin-top: 1.25rem;
  }

  .nav li a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 0.0625rem solid #737373;
    padding-bottom: 1.25rem;
  }

  .nav li a::after {
    content: "";
    display: inline-block;
    background: url(../img/arrow_circle_right_white.png) no-repeat center / 100% auto;
    width: 2rem;
    aspect-ratio: 1;
  }

  .hamburgerContent__side {
    margin: 0 auto;
  }

  .hamburgerContent__side-sns {
    margin-top: 0;
  }

  /* トップへ戻る */
  .scrollTopBtn {
    background-size: 1.5rem auto;
    width: 1.875rem;
  }


  /* ==========================================================================
  トップページ
  =========================================================================== */
  .home__grid {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .home__block {
    width: 100%;
  }

  .home__block-txt {
    margin-top: 1.875rem;
  }

  .home__block-links {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
    margin-top: 1.875rem;
  }

  .home__block-links a.link {
    width: 100%;
  }

  /* FV */
  .home__fv-img {
    height: 37.5rem;
  }

  .home__fv-img::before {
    background: linear-gradient(270deg, rgba(0, 0, 0, 0) 0%, rgba(18, 18, 18, 0.6) 60.1%);
    width: 58.67vw;
    right: auto;
    left: 0;
  }

  .home__fv-img-catch {
    gap: 1rem;
    top: 7.25rem;
    right: auto;
    left: 8.00vw;
  }

  .home__fv-img-catch span {
    font-size: 1.875rem;
  }

  .fv__scroll {
    left: 1.25rem;
  }

  .fv__scroll-txt {
    font-size: 0.75rem;
    padding: 0 0 7.1875rem;
  }

  .fv__scroll-bar::after {
    height: 6.5625rem;
  }

  .fv__scroll-bar::before {
    height: 1.875rem;
  }

  @keyframes barmove {
    0% {
      bottom: 4.6875rem;
    }
    100% {
      bottom: 0px;
    }
  }

  .home__fv-img a.btn {
    align-items: flex-start;
    background-position: right 1.25rem top 1.75rem;
    background-size: 1.375rem auto;
    width: 11.25rem;
    height: 3.625rem;
    padding-top: 1.5rem;
  }



  .home__fv-slider {
    margin-top: 1.875rem;
  }

  .home__fv-slider .splide__slide[data-num="1"],
  .home__fv-slider .splide__slide[data-num="3"],
  .home__fv-slider .splide__slide[data-num="5"] {
    padding-top: 1.75rem;
  }

  /* 導入 */
  .home__intro {
    height: auto;
    padding-top: 18rem;
    margin-top: 0;
  }

  .home__intro::before {
    width: 19.375rem;
    height: 19.3125rem;
    top: 3.125rem;
    right: auto;
    left: -5rem;
  }

  .home__intro-catch {
    gap: 0.875rem;
    top: -16.0625rem;
    right: 2.67vw;
  }

  .home__intro-catch span:nth-of-type(1) {
    font-size: 1.75rem;
  }

  .home__intro-catch span:nth-of-type(2) {
    font-size: 2.25rem;
    margin-top: 1.75rem;
  }

  .home__intro .home__block img {
    width: calc(100% + 5.33vw * 2);
    height: 25rem;
    object-fit: cover;
    margin: 0 -5.33vw;
  }

  .home__intro .home__block .ttl {
    margin-top: 3rem;
  }

  .home__intro-message {
    padding: 0;
  }

  .home__intro-about {
    padding: 0;
    margin-top: 3.75rem;
  }

  /* 仕事を知る */
  .home__job {
    padding-top: 3.75rem;
  }

  .home__job .ttl {
    margin-left: 0;
  }

  .home__job-list {
    grid-auto-rows: 18.75rem;
    grid-template-columns: repeat(2, 1fr);
    width: calc(100% + 5.33vw * 2);
    margin: 1.875rem -5.33vw 0;
  }

  .home__job-list-item:nth-of-type(3) a {
    background-image: url(../img/home_job_img_03_sp.jpg);
  }

  .home__job-list-item-ttl {
    font-size: 1.375rem;
    gap: 0.75rem;
    top: 1.25rem;
    right: 1.375rem;
  }

  .home__job-list-item-ttl::after {
    font-size: 0.8125rem;
    margin-top: 0;
  }

  /* 働くスタッフの声 */
  .home__voice {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }

  .voiceSlider {
    margin-left: 0;
  }

  .voiceSlider__side {
    height: auto;
    padding: 0 0 0 5.33vw;
    position: static;
  }

  .voiceSlider__splide {
    padding-top: 1.875rem;
  }

  .voice__list .voiceList__item-img img {
    width: 100%;
    aspect-ratio: 335 / 223;
  }

  .voiceList__item-prof {
    background: transparent;
    padding: 0;
    left: 1rem;
    bottom: 0.75rem;
  }

  .voiceList__item-prof-name {
    font-size: 1.0625rem;
    background: var(--black);
    padding: 0 0.5rem;
  }

  .voiceList__item-prof-dept {
    font-size: 0.8125rem;
    background: var(--black);
    border: none;
    padding: 0 0.5rem;
  }

  .voiceList__item-txt {
    line-height: 1.5;
    white-space: normal;
  }

  .voiceSlider a.link {
    margin: 1.875rem 5.33vw 0 auto;
  }

  /* 成長と環境 */
  .home__environment {
    padding-bottom: 3.75rem;
  }

  .home__environment-img {
    width: calc(100% + 5.33vw * 2);
    height: 25rem;
    margin: 0 -5.33vw;
  }

  .home__environment-img img {
    height: 100%;
    object-fit: cover;
  }

  /* 野口観光の3つのブランド */
  .home__brands {
    /* color: var(--grey);
    background: var(--black); */
    height: auto;
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }

  .home__brands-block {
    padding: 0;
  }

  .home__brands-list {
    margin-top: 3rem;
  }

  .home__brands-list-item:nth-of-type(n+2) {
    margin-top: 3rem;
  }

  .home__brands-list-item > img {
    width: calc(100% + 5.33vw * 2);
    margin: 0 -5.33vw;
  }

  .home__brands-list-item-img {
    margin-top: -3.5rem;
  }

  .home__brands-list-item-img img {
    width: 13.75rem;
  }

  .home__brands-list-item-img-ttl {
    top: auto;
    right: calc(5.33vw + 1rem);
    bottom: 0;
    transform: translateY(0);
  }

  .home__brands-list-item-txt {
    margin-top: 2.375rem;
  }

  .home__brands-block a.link {
    /* color: var(--grey); */
    width: 14.25rem;
    margin: 1.875rem auto 0;
  }


  /* ==========================================================================
  固定ページ
  =========================================================================== */
  .page__top {
    margin-top: 7.5rem;
  }

  .page__top img {
    width: 67.47vw;
    height: 12.5rem;
    object-fit: cover;
  }

  .page__top-ttl {
    right: 5.33vw;
    white-space: nowrap;
    z-index: 1;
  }

  .page__content .inner {
    padding: 0 5.33vw;
  }

  .page__sideMenu {
    display: none;
  }

  .page__content .inner {
    padding: 0 5.33vw;
  }

  .page__voice {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }


  /* ==========================================================================
  野口観光を知る
  =========================================================================== */
  .about .page__content {
    padding-bottom: 3rem;
  }

  /* 野口観光の歩み */
  .about__history {
    padding-top: 3rem;
    padding-bottom: 3.75rem;
  }

  .about__history-timeline {
    margin-top: 1.875rem;
  }

  .about__history-timeline-item {
    height: auto;
  }

  .about__history-timeline-item:nth-of-type(n+2) {
    margin-top: 1.25rem;
  }

  .about__history-timeline-item::before {
    height: calc(100% - 1.25rem - 3.3125rem);
    top: auto;
    bottom: 0;
    left: 0;
    transform: translateX(0);
  }

  .about__history-timeline-item-wrap {
    padding-left: 1.25rem;
    margin-top: 1.25rem;
    position: static;
  }

  .about__history-timeline-item:nth-of-type(2n) .about__history-timeline-item-wrap {
    position: static;
  }

  .about__history-timeline-item-time {
    font-size: 3rem;
    text-align: left;
  }

  .about__history-timeline-item img {
    width: 7.5rem;
    margin-top: 1.25rem;
    margin-left: 1.25rem;
    position: static;
  }

  .about__history-timeline-catch span {
    font-size: 1.125rem;
    padding: 0.125rem 0.625rem;
  }

  .about__history-timeline-item-txt {
    width: 100%;
    margin-top: 1.25rem;
  }

  .about__history-timeline-shape {
    display: none;
  }

  /* 数字で見る野口観光 */
  .about__number {
    background: var(--black);
    padding: 4rem 0 3.75rem;
  }

  .about__number-grid {
    grid-auto-rows: auto;
    grid-template-columns: 1fr;
    gap: 1.25rem;
    margin-top: 1.875rem;
  }

  .about__number-grid-item {
    width: 100%;
    padding: 1.25rem;
  }

  .about__number-grid-item--mf {
    grid-row: 3;
    grid-column: 1;
  }

  .about__number-grid-item-flex {
    flex-direction: column-reverse;
    align-items: center;
    padding: 0;
  }

  .about__number-grid-item-txt {
    padding-bottom: 0;
  }

  .about__number-grid-item-txt-num {
    font-size: 3.5rem;
    line-height: 3.875rem;
  }

  .about__number-grid-item-txt-unit {
    font-size: 1.75rem;
  }

  .about__number-grid-item img {
    width: 12.5rem;
    margin-top: 0.9375rem;
  }

  .about__number-grid-item-txt-ttl {
    font-size: 1.25rem;
  }

  .about__number-grid-item-wrap {
    gap: 0;
  }

  .about__number-grid-item--mf .about__number-grid-item-content {
    display: flex;
    flex-direction: column-reverse;
  }

  .about__number-grid-item--mf img {
    width: 12.5rem;
  }

  .about__number-grid-item--mf .about__number-grid-item-flex {
    flex-direction: row;
    padding: 0;
    margin-top: 0;
  }

  .about__number-grid-item--mf .about__number-grid-item-wrap {
    width: 7.9375rem;
  }

  .about__number-grid-item--mf .about__number-grid-item-txt-num {
    font-size: 3rem;
  }

  /* 想いから生まれた制度 */
  .about__background {
    padding-top: 3.75rem;
  }

  .about__background-block {
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 0;
  }

  .about__background-block + .about__background-block {
    margin-top: 3rem;
  }

  .about__background-block:nth-of-type(1) .ttl {
    grid-row: 1;
  }

  .about__background-block:nth-of-type(1) img {
    grid-row: 2;
    margin-top: 1.875rem;
  }

  .about__background-block:nth-of-type(1) .about__background-block-wrap {
    grid-row: 3;
  }

  .about__background-block:nth-of-type(2) img {
    grid-row: 1;
  }

  .about__background-block:nth-of-type(2) .about__background-block-wrap {
    grid-row: 2;
  }

  .about__background-block-wrap {
    margin-top: 1.25rem;
  }

  .about__background-ttl {
    font-size: 1.125rem;
    padding: 0.125rem 0.625rem;
  }

  .about__background-txt {
    line-height: 1.8;
    margin-top: 1rem;
  }

  /* 企業概要 */
  .about__company {
    padding-top: 3.75rem;
  }

  .about__company .inner {
    padding: 0;
  }

  .about__company .ttl {
    margin-left: 5.33vw;
  }

  .about__company-content {
    padding-left: 5.33vw;
    padding-bottom: 1rem;
    margin-top: 1.875rem;
    overflow-x: auto;
  }

  .about__company-table {
    width: 47.5rem;
    position: relative;
  }

  .about__company-table::after {
    content: "";
    position: absolute;
    top: 0;
    left: 100%;
    width: 5.33vw;
    height: 1px;
  }

  .about__company-table th {
    font-size: 0.9375rem;
    line-height: 1.3;
    width: 6.875rem;
    height: 3.5rem;
  }

  .about__company-table td {
    font-size: 0.875rem;
  }

  .about__company-table td[colspan="4"] {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .about__company-table td[colspan="4"]:has(br) {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }

  .about__company-links {
    flex-direction: column;
    gap: 1.25rem;
    margin-top: 1.875rem;
  }

  .about__company-links .link {
    width: calc(100% - 5.33vw * 2);
  }


  /* ==========================================================================
  仕事を知る
  =========================================================================== */
  .job .page__content {
    padding-bottom: 0;
  }

  .job__content {
    height: auto;
    padding-top: 3rem;
  }

  .body .fixed {
    height: auto;
  }

  .job__content .inner {
    padding-right: 5.33vw;
  }

  .job__grid {
    grid-template-columns: 1fr;
  }

  .job__block {
    min-height: auto;
    padding-bottom: 0;
  }

  .job__block + .job__block {
    margin-top: 3rem;
  }

  .job__block img {
    width: calc(100% + 5.33vw * 2);
    margin: 1.875rem -5.33vw 0;
  }

  .job__block-txt {
    margin-top: 1.875rem;
  }

  .job__block .link {
    margin-top: 1.875rem;
    margin-left: auto;
  }

  .job__block-box {
    padding: 2.5rem 5.33vw;
    margin-top: 2.5rem;
  }

  .job__block-box-ttl {
    font-size: 1.25rem;
  }

  .job__block-box-heading {
    font-size: 1rem;
    line-height: 1.5;
    margin-top: 2.5rem;
  }

  .job__block-box-heading:nth-of-type(n+2) {
    margin-top: 1.875rem;
  }

  .job__pageLinks-list {
    grid-auto-rows: 18.75rem;
    gap: 0.125rem;
    border-bottom: 0.125rem solid #fff;
  }

  .job__pageLinks-list-item-ttl {
    font-size: 1.375rem;
    line-height: 1;
    gap: 0.75rem;
    top: 1.25rem;
    right: 1.25rem;
  }

  .job__pageLinks-list-item-ttl::after {
    font-size: 0.8125rem;
    margin-top: 0;
  }

  .restaurant-cooking .page__content,
  .front-shop .page__content,
  .reservation .page__content,
  .facilities-admin-accounting .page__content {
    padding-bottom: 0;
  }

  .restaurant-cooking .job__content,
  .front-shop .job__content,
  .reservation .job__content,
  .facilities-admin-accounting .job__content {
    padding-top: 8.25rem;
  }

  .restaurant-cooking .job__block .ttl,
  .front-shop .job__block .ttl,
  .reservation .job__block .ttl,
  .facilities-admin-accounting .job__block .ttl {
    margin-top: 3rem;
  }

  .restaurant-cooking .job__block img,
  .front-shop .job__block img,
  .reservation .job__block img,
  .facilities-admin-accounting .job__block img {
    height: 25rem;
    object-fit: cover;
    margin-top: 0;
  }

  .front-shop .job__block:nth-of-type(1) img {
    object-position: center top;
  }

  .reservation .job__block img {
    object-position: center top;
  }

  .facilities-admin-accounting .job__block img {
    object-position: center top;
  }

  .restaurant-cooking .page__voice,
  .front-shop .page__voice,
  .reservation .page__voice,
  .facilities-admin-accounting .page__voice {
    padding-top: 3rem;
  }


  /* ==========================================================================
  成長と環境
  =========================================================================== */
  .environment__ttl {
    line-height: 1.4;
    letter-spacing: 0;
    padding-left: 0.75rem;
    margin-top: 1.875rem;
  }

  .environment__ttl:nth-of-type(n+2) {
    margin-top: 3rem;
  }

  .environment__grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
    margin-top: 1.875rem;
  }

  .environment__grid-item {
    padding: 1.875rem 1.25rem;
  }

  .environment__grid-item-ttl {
    line-height: 1.8;
  }

  .environment__grid-item-txt {
    margin-top: 1rem;
  }

  small.environment__grid-item-note {
    margin-top: 1rem;
  }

  .environment__grid-item-flex {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    margin-top: 1rem;
  }

  .environment__grid-item-flex + small.environment__grid-item-note {
    text-align: left;
    margin-top: 1rem;
  }

  /* 教育制度 */
  .environment__education {
    padding-top: 3rem;
  }

  .environment__table {
    margin-top: 1.875rem;
  }

  .environment__table thead th:nth-of-type(1) {
    width: 5.3125rem;
  }

  .environment__table tbody th {
    font-size: 0.9375rem;
    line-height: 1.5;
    letter-spacing: 0;
  }

  .environment__table tbody td {
    font-size: 0.875rem;
    letter-spacing: 0;
    padding: 1.125rem 1.25rem;
  }

  .environment__grid--aco {
    display: block;
  }

  .environment__grid--aco .environment__grid-item {
    border: 0.0625rem solid transparent;
    padding-top: 0;
    padding-bottom: 0;
  }

  .environment__grid--aco .environment__grid-item:nth-child(n+2) {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: all 0.5s;
  }

  .environment__grid--aco .environment__grid-item:nth-child(n+2).open {
    max-height: 31.25rem;
    margin-top: 1.25rem;
    opacity: 1;
  }

  .environment__grid--aco .environment__grid-item-ttl {
    margin-top: 1.875rem;
  }

  .environment__grid--aco .environment__grid-item-txt {
    margin-bottom: 1.875rem;
  }

  .environment__grid-toggle {
    font-family: var(--font_NotoSansJP);
    font-weight: 700;
    font-size: 1rem;
    line-height: 1;
    color: var(--text);
    letter-spacing: 0.06em;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: none;
    border: none;
    border-bottom: 0.0625rem solid #C9C9C9;
    width: 100%;
    padding-bottom: 1.25rem;
    margin-top: 1.875rem;
  }

  .environment__grid-toggle::after {
    content: "";
    display: inline-block;
    background: url(../img/aco_open_icon.png) no-repeat center / 100% auto;
    width: 2.5rem;
    aspect-ratio: 1;
  }

  .environment__grid-toggle.is-active::after {
    background: url(../img/aco_close_icon.png) no-repeat center / 100% auto;
  }

  /* 画像 */
  .environment__img {
    margin-top: 3rem;
  }

  /* 福利厚生 */
  .environment__benefits {
    padding-top: 3rem;
  }
  
  .environment__benefits .link {
    justify-self: right;
    align-self: end;
    width: 14.25rem;
    margin-top: 0.625rem;
  }

  .environment .page__voice {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }


  /* ==========================================================================
  ブランド一覧
  =========================================================================== */
  .brands .page__content {
    padding: 3rem 0;
  }

  /* 導入 */
  .brands__intro {
    padding-bottom: 18.75rem;
  }

  .brands__intro::before {
    height: 12.375rem;
    bottom: 0;
  }

  .brands__intro .inner {
    padding: 0 5.33vw;
  }

  .brands__intro-txt {
    font-size: 0.9375rem;
    line-height: 1.8;
    letter-spacing: 0.06em;
    width: 100%;
  }

  .brands__intro img:nth-of-type(1) {
    width: 13.25rem;
    top: auto;
    bottom: 6.25rem;
    right: 0;
  }

  .brands__intro img:nth-of-type(2) {
    width: 9.125rem;
    bottom: 3.125rem;
    left: 0;
  }

  /* 一覧 */
  .brands__content {
    padding-top: 1.875rem;
  }

  .brands__sort {
    margin-top: 1.875rem;
  }

  .brands__sort-wrap + .brands__sort-wrap {
    margin-top: 1.25rem;
  }

  .brands__sort-regions {
    justify-content: flex-start;
    gap: 0.875rem;
  }

  .brands__sort-classes {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .brands__sort-ttl {
    font-size: 1rem;
    line-height: 1;
    text-align: left;
    min-width: 4.375rem;
  }

  .brands__sort-select select,
  ::picker(select) {
    appearance: base-select;
  }

  .brands__sort-select select {
    font-family: var(--font_NotoSansJP);
    font-weight: 400;
    font-size: 0.875rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background: url(../img/select_arrow_open.svg) no-repeat right 1.25rem top 1.75rem / 0.625rem auto;
    border: 0.0625rem solid #C6C6C6;
    border-radius: 0.25rem;
    width: 100%;
    height: 3.125rem;
    appearance: none;
    -webkit-appearance: none;
  }

  .brands__sort-select select::picker-icon {
    display: none;
  }

  .brands__sort-select select.option-selected {
    color: var(--text);
  }

  .brands__sort-btns {
    flex-wrap: wrap;
    gap: 0.875rem;
  }

  .brands__sort-btns > button {
    font-size: 0.875rem;
    min-width: 4.375rem;
  }

  .brands__sort-btns > button:hover {
    opacity: 1;
  }

  .brands__count {
    margin-top: 1.25rem;
    position: static;
  }

  .brands__list {
    grid-template-columns: 1fr;
    margin-top: 1.875rem;
  }

  .brands__links {
    flex-direction: column;
    gap: 1.25rem;
    margin-top: 3.75rem;
  }

  .brands__links .link {
    width: 100%;
  }


  /* ==========================================================================
  募集要項
  =========================================================================== */
  .job-description__content {
    padding: 3rem 0 3.75rem;
  }

  .job-description .tab__menu {
    gap: 0.75rem;
  }

  .job-description .tab__menu-item {
    font-size: 1rem;
    width: 100%;
    height: 3.5rem;
  }

  .job-description .tab__content {
    padding: 1.25rem 5.33vw 1.25rem;
  }

  .job-description__list {
    grid-template-columns: 1fr;
  }

  .job-description__list dt {
    font-weight: 700;
    letter-spacing: 0;
    padding: 1.25rem 0 0;
  }

  .job-description__list dd {
    line-height: 1.5;
    letter-spacing: 0;
    padding: 1.25rem 0;
  }

  .job-description__list dd:nth-of-type(n+2) {
    border-top: none;
  }

  .job-description__list-ttl {
    font-weight: 700;
    font-size: 1rem;
  }

  * + .job-description__list-ttl {
    margin-top: calc(1em * 1.5);
  }

  .job-description__list-txt p + p {
    margin-top: calc(1em * 1.5);
  }

  .job-description__list-txt * + ul {
    margin-top: calc(1em * 1.5);
  }


  /* ==========================================================================
  働くスタッフの声
  =========================================================================== */
  /* アーカイブページ */
  .voice__content {
    padding: 3rem 0;
  }

  .voice__list {
    grid-template-columns: 1fr;
    gap: 1.875rem;
    margin-top: 1.875rem;
  }

  /* 個別ページ */
  .single-voice .page__content {
    padding-top: 7.5rem;
    padding-bottom: 3rem;
  }

  .single-voice__content::before {
    width: 22.5625rem;
    height: 22.5rem;
    top: 23.125rem;
    right: -7.0625rem;
  }

  .single-voice__top .inner {
    padding: 0;
  }

  .single-voice__top-img {
    width: 100%;
    height: auto;
    aspect-ratio: 375 / 250;
  }

  .single-voice__top-img-prof {
    gap: 0.375rem;
    background: transparent;
    padding: 0;
    left: 1rem;
    bottom: 0.75rem;
  }

  .single-voice__top-img-prof-name {
    font-size: 1.0625rem;
    background: var(--black);
    padding: 0 0.5rem;
  }

  .single-voice__top-img-prof-dept {
    font-size: 0.8125rem;
    color: #fff;
    background: var(--black);
    border: none;
    padding: 0 0.5rem;
  }

  .single-voice__top-catch {
    gap: 0;
    margin-top: 1.25rem;
    position: static;
  }

  .single-voice__top-catch span {
    font-size: 1.375rem;
    letter-spacing: 0;
    height: 2.625rem;
    padding: 0 0.375rem 0 0.875rem;
  }

  .single-voice__content {
    padding-top: 1.25rem;
  }

  * + .single-voice__block {
    margin-top: 1.875rem;
  }

  .single-voice__ttl {
    font-size: 1.125rem;
    line-height: 1.5;
    display: flex;
    gap: 0.625rem;
  }

  .single-voice__ttl + * {
    margin-top: 1.25rem;
  }

  .single-voice__txt {
    font-size: 0.9375rem;
  }

  .single-voice__block--q2,
  .single-voice__block--q4 {
    flex-direction: column;
    gap: 1.875rem;
  }

  .single-voice__block--q2 img,
  .single-voice__block--q4 img {
    width: 100%;
    aspect-ratio: 335 / 200;
  }

  .single-voice__block--q4 img {
    margin-top: 0;
  }

  .single-voice__schedule {
    grid-template-columns: 1fr;
    gap: 0 1.875rem;
    padding: 2.5rem 5.33vw;
    margin: 2.5rem -5.33vw 0;
  }

  .single-voice__schedule .ttl {
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    font-family: var(--font_NotoSansJP);
    font-size: 1.5rem;
    gap: 0.75rem;
  }

  .single-voice__schedule .ttl::after {
    margin-top: 0;
  }

  .single-voice__schedule-timeline {
    margin-top: 1.875rem;
  }

  .single-voice__schedule-timeline-item {
    grid-template-columns: 8.25rem 1fr;
  }

  .single-voice__schedule-timeline-item::before {
    left: 0.25rem;
  }

  .single-voice__schedule-timeline-item::after {
    width: 0.5rem;
    top: 1.25rem;
  }

  .single-voice__schedule-timeline-item:last-of-type::after {
    top: 50%;
    transform: translateY(-50%);
  }

  .single-voice__schedule-timeline-item:first-of-type::before {
    height: calc(100% - 1.25rem);
    top: 1.75rem;
  }

  .single-voice__schedule-timeline-item:last-of-type::before {
    height: 50%;
  }

  .single-voice__schedule-timeline-item-time {
    font-size: 1rem;
    line-height: 1.5;
    padding-left: 1.125rem;
    margin-top: 0.625rem;
  }

  .single-voice__schedule-timeline-item:last-of-type  .single-voice__schedule-timeline-item-time {
    align-self: center;
    margin-top: 0;
  }

  .single-voice__schedule-timeline-item-txt {
    font-size: 0.9375rem;
    line-height: 1.5;
    padding: 0.75rem 0.875rem;
  }

  .single-voice__schedule-comment {
    grid-column: 1;
    flex-direction: column-reverse;
    gap: 2.1875rem;
    margin-top: 1.875rem;
  }

  .single-voice__schedule-comment.is-start {
    align-items: center;
  }

  .single-voice__schedule-timeline:has(.single-voice__schedule-timeline-note) + .single-voice__schedule-comment {
    margin-top: 2rem;
  }

  .single-voice__schedule-comment-txt {
    padding: 1.25rem;
  }

  .single-voice__schedule-comment-txt::before {
    border-top: 1.375rem solid #EAEAEA;
    border-right: 0.875rem solid transparent;
    border-bottom: none;
    border-left: 0.875rem solid transparent;
    top: auto;
    bottom: -1rem;
    left: 50%;
    transform: translate(-50%, 0);
  }

  .single-voice__schedule-comment.is-start .single-voice__schedule-comment-txt::before {
    top: auto;
  }

  .single-voice__schedule + .single-voice__block {
    margin-top: 2.5rem;
  }

  .single-voice__schedule-timeline-note {
    font-size: 0.9375rem;
    line-height: 1.5;
    text-align: center;
    padding-left: 0;
    margin-top: 2rem;
    margin-left: 0;
  }

  .single-voice__benefits-ttl {
    gap: 0.75rem;
    width: 100%;
  }

  .single-voice__benefits {
    padding-top: 5.25rem;
    margin-top: 2.5rem;
  }

  .single-voice__benefits-ttl-catch {
    font-size: 1.25rem;
  }

  .single-voice__benefits-ttl-balloon {
    font-size: 1.25rem;
    padding: 0.625rem 1rem;
  }

  .single-voice__benefits-ttl-balloon::before {
    bottom: -0.5rem;
  }

  .single-voice__benefits-box {
    font-size: 1rem;
    padding: 2.5rem 5.33vw;
  }

  .single-voice__voice {
    padding-top: 3rem;
  }



  /* ==========================================================================
  フッター
  =========================================================================== */
  .footerRecruit {
    height: auto;
    padding: 3rem 5.33vw;
  }

  .footerRecruit__wrap {
    flex-direction: column;
    gap: 1.875rem;
    width: 100%;
  }

  .footerRecruit__txt {
    font-size: 1.625rem;
    line-height: 1.5;
    text-align: center;
  }

  .footerRecruit-links {
    gap: 1.25rem;
    width: 100%;
  }

  .footerRecruit-links-entry {
    width: 100%;
    height: 5rem;
  }

  .footerRecruit-links-entry::before {
    width: calc(100% - 0.5rem * 2);
    height: 4rem;
  }

  .footerRecruit-links-desc {
    font-size: 1.125rem;
    width: 100%;
    height: 3.75rem;
  }

  .footer__wrap {
    justify-content: center;
    padding: 3rem 0 3.375rem;
  }

  .footer__side-logo {
    width: 15rem;
    margin: 0 auto;
  }

  .footer__side-sns {
    margin-top: 1.25rem;
  }

  .footer__side-info {
    text-align: center;
    margin-top: 1.25rem;
  }

  .footer__side-info-address {
    margin-top: 0.625rem;
  }

  .footer__side-info-links {
    align-items: center;
    gap: 0.75rem;
    margin-top: 1.875rem;
  }

  .footer__side-info-copy {
    margin-top: 1.875rem;
  }


  /* ==========================================================================
  404
  =========================================================================== */
  .error404__ttl {
    font-size: 2rem;
  }
}