@charset "UTF-8";

/* =============================
Foundation
全体を通した基本的な設定内容
============================== */

/* font */

@font-face {
    font-family: YuGothicMedium;
    src: local("Yu Gothic Medium");
}

@font-face {
    font-family: "Helvetica Neue";
    src: local("Helvetica Neue Regular");
    font-weight: 100;
}

@font-face {
    font-family: "Helvetica Neue";
    src: local("Helvetica Neue Regular");
    font-weight: 200;
}

/* property */

:root {
    --border-radius-semicircle: calc(1px / 0);

    --content-copy: '\F759';
    --content-chevron-right: '\F285';
    --content-chevron-top: '\F286';
    --content-out: '\F1C5';

    --color-default: #000000;
    --color-default-rgb: 51 51 51;
    --color-eneos: #df0515;
    --color-eneos-rgb: 223 5 21;
    --color-gray: #cccccc;
    --color-gray-rgb: 204 204 204;
    --color-pale-gray: #eeeeee;
    --color-pale-gray-rgb: 238 238 238;
    --color-primary: #f48e1a;
    --color-primary-rgb: 244 142 26;
    --color-primary-hover: #c17116;

    --font-size-menudefault: 1.8rem;
    --font-size-default: 1.8rem;

    --font-weight-normal: 400;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;

    --height-header: 8rem;

    --letter-spacing-wide: 0.1em;

    --line-height-default: 1.5;
    --line-height-paragraph: 2;

    --responsive-xxl: 1400 * 1000 * 1vw;
    --responsive-xl: 1200 * 1000 * 1vw;
    --responsive-lg: 991 * 1000 * 1vw;
    --responsive-md: 767 * 1000 * 1vw;
    --responsive-sm: 575 * 1000 * 1vw;
    --responsive-xsm: 375 * 1000 * 1vw;

    --transition-hover: 0.3s ease;
    --transition-scroll: 0.3s ease;

    --width-container: 1600px;
}

@media (max-width: 767.98px) {
    :root {
        --font-size-default: 1.6rem;
    }
}

@media (max-width: 575.98px) {
    :root {
        --font-size-default: 1.4rem;
    }
}

/* base */

*,
*::before,
*::after {
    box-sizing: border-box;
    min-inline-size: 0;
}

html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}

body {
    color: var(--color-default);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "游ゴシック Medium", "Yu Gothic", YuGothic, YuGothicMedium, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-size: var(--font-size-default);
    font-weight: var(--font-weight-normal);
    line-height: var(--line-height-default);
    overflow-x: hidden;
}

img {
    max-width: 100%;
}

dd {
    margin-bottom: 0;
}

a {
    color: #000000 !important;
    text-decoration: none !important;
    transition: color .1s;
}

a:hover {
    color: #EC6C00 !important;
}

.active a {
    color: #EC6C00 !important;
}

.col-lg-3 {
    padding-right: 6px !important;
    padding-left: 6px !important;
}

/* ヘッダー */

.l-header {
    height: var(--height-header);
    left: 50%;
    position: fixed;
    top: 2rem;
    translate: -50% 0;
    width: calc(100% - 4rem);
    z-index: 9999;
    font-size: var(--font-size-menudefault);
}

/* コンテナ */

.l-container {
    margin-inline: auto;
    padding-inline: 7%;
    max-width: calc(var(--width-container) + 8rem);
}

.l-container02 {
    background-color: white;
    padding: 8% 7%;
    margin-inline: auto;
    max-width: calc(var(--width-container) + 8rem);
}

.l-container-process {
    padding-left: 30.5vw;
}

.l-containerrec-left {
    margin-inline: auto;
    padding-left: 7%;
    width: 23%;
}

.l-containerrec-right {
    margin-inline: auto;
    padding-right: 7%;
    width: 72%;
}

@media (max-width: 767.98px) {
    .l-container-process {
        padding-left: 7%;
    }
}

@media (max-width: 575.98px) {
    .l-container02 {
        padding: 5rem 3rem;
    }
}

/* 大見出し */

.c-heading-large__main {
    font-size: 6rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--letter-spacing-wide);
    line-height: 1;
    text-wrap: balance;
}

.c-heading-large__main--color-white {
    color: #ffffff;
    text-shadow: 1px 1px 3px #9d9d9d;
}

.c-heading-large__lead {
    color: var(--color-primary);
    font-size: 3rem;
    font-weight: var(--font-weight-semibold);
    letter-spacing: var(--letter-spacing-wide);
    text-wrap: balance;
    text-shadow: 1px 1px 1px #9d9d9d;
}

.p-message-content__jobtop {
    font-size: 2.1rem;
    font-weight: var(--font-weight-semibold);
    letter-spacing: var(--letter-spacing-wide);
    text-wrap: balance;
    margin-top: 1rem;
}

@media (max-width: 1200px) {
    .c-heading-large__main {
        font-size: max(calc(6 / var(--responsive-xxl)), 3rem);
    }

    .c-heading-large__lead,
    .p-message-content__jobtop {
        font-size: max(calc(3 / var(--responsive-xxl)), 1.5rem);
    }
}

/* 中見出し */

.c-heading-middle {
    font-size: 3rem;
    font-weight: var(--font-weight-bold);
    position: relative;
    /* text-wrap: balance; */
    word-break: auto-phrase;
}

.c-heading-middle--border-left {
    padding-left: 2rem;
}

.c-heading-middle--border-left::before {
    background-color: var(--color-primary);
    height: 100%;
    content: '';
    left: 0;
    position: absolute;
    top: 0;
    width: 6px;
}

.p-message-content__dec {
    padding: 2% 7% 1%;
    margin-bottom: 2%;
}

@media (max-width: 1200px) {
    .c-heading-middle {
        font-size: max(calc(3 / var(--responsive-xxl)), 2rem);
    }
}

/* 小見出し */

.c-heading-small {
    font-size: 19px;
    font-weight: var(--font-weight-bold);
    position: relative;
}

.c-heading-smallveh {
    padding-block: 2rem;
}

.c-heading-small--border-left {
    padding-left: 4rem;
}

.c-heading-small--border-left::before {
    background-color: var(--color-primary);
    height: 6px;
    content: '';
    left: 0;
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    width: 2.5rem;
}

@media (max-width: 1200px) {
    .c-heading-small {
        font-size: max(calc(2.4 / var(--responsive-xxl)), 1.8rem);
    }
}

/* ボタン - 半円 */

.c-button-semicircle {
    background-color: #ffffff;
    border: 1px solid #cccccc;
    border-radius: var(--border-radius-semicircle);
    color: var(--color-primary) !important;
    display: block;
    font-weight: var(--font-weight-semibold);
    padding: 1.5rem 2.5rem;
    position: relative;
    width: 28rem;
}

.arrowframe {
    background-color: #ffffff;
    border: 1px solid #cccccc;
    border-radius: var(--border-radius-semicircle);
    color: var(--color-primary) !important;
    display: block;
    font-weight: var(--font-weight-semibold);
    padding: 1.5rem 2.5rem;
    position: relative;
    width: 28rem;
}

.arrowframe02 {
    margin-top: 2rem;
}

.c-button-semicircle02 {
    margin-top: 2rem;
}

.c-button-semicircle::before {
    aspect-ratio: 1 / 1;
    background-color: var(--color-primary);
    border-radius: 50%;
    content: '';
    position: absolute;
    right: 1rem;
    translate: 0 -50%;
    top: 50%;
    width: 4rem;
}

.arrowframe::before {
    aspect-ratio: 1 / 1;
    background-color: var(--color-primary);
    border-radius: 50%;
    content: '';
    position: absolute;
    right: 1rem;
    translate: 0 -50%;
    top: 50%;
    width: 4rem;
}

.c-button-semicircle::after {
    color: #ffffff;
    content: var(--content-chevron-right);
    font-family: bootstrap-icons;
    font-weight: 700;
    font-size: 2rem;
    position: absolute;
    right: 2rem;
    translate: 0 -50%;
    top: 50%;
}

.arrow {
  overflow: hidden;
  position: absolute;
  top: 10%;
  right: 0;
  bottom: 0;
  width: 28px;
  margin-right: 1.5rem;
  line-height: 1;
}
.arrow:before {
  content: var(--content-chevron-right);
  font-family: bootstrap-icons;
  position: absolute;
  top: 30%;
  right: 23%;
  animation-fill-mode: forwards;
  animation-duration: 0.6s;
  color: white;
  padding-left: 1rem;
}

.arrow:after {
  content: var(--content-chevron-right);
  font-family: bootstrap-icons;
  position: absolute;
  top: 30%;
  right: 20%;
  animation-fill-mode: forwards;
  animation-duration: 0.6s;
  color: white;
  padding-right: 0.1rem;
}

.arrow:after {
  transform: translateX(-100%);
}
.arrowframe:hover .arrow:before {
  animation-name: transformRightLeft; /* 修正: hover時のアニメーションを指定 */
  animation-delay: 0s;
}
.arrowframe:hover .arrow:after {
  animation-name: transformLeftRight; /* 修正: hover時のアニメーションを指定 */
  animation-delay: 0.2s;
}

@keyframes transformLeftRight {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes transformRightLeft {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(100%);
  }
}

.buttonframe a {
  text-decoration: none;
  font-size: 17px;
}

/* パンくずリスト */

.c-breadcrumb {
    padding-block: 0.5rem;
}

.c-breadcrumb__list {
    display: flex;
    flex-wrap: wrap;
    gap: 3rem;
}

.c-breadcrumb__item {
    font-size: 1.4rem;
    position: relative;
}

.c-breadcrumb__item:has(a)::after {
    content: var(--content-chevron-right);
    font-family: bootstrap-icons;
    font-weight: 400;
    position: absolute;
    right: -2.5rem;
    top: 50%;
    translate: 0 -50%;
}

.c-breadcrumb__link {
    text-decoration: underline;
}

@media (max-width: 576.98px) {
    .c-breadcrumb__item:has(a)::after {
        right: -1.7rem;
    }

    .c-breadcrumb__list {
        gap: 2rem;
    }
}

/* トップに戻るボタン */

.c-page-top {
    aspect-ratio: 1;
    position: fixed;
    bottom: 5rem;
    right: 5rem;
    width: 6rem;
    background-color: orange;
    border-radius: 50%;
    opacity: 0;
    visibility: hidden;
    z-index: 200;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.c-page-top.is-show {
    opacity: 1;
    visibility: visible;
}

.c-page-top__button {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}

.c-page-top__button::after {
    content: var(--content-chevron-top);
    font-family: bootstrap-icons;
    font-weight: 700;
    font-size: 3rem;
    position: absolute;
    top: 50%;
    right: 1.5rem;
    translate: 0 -50%;
    color: white;
}

@media (hover: hover) {
    .c-page-top:hover {
        opacity: 0.8;
    }
}


/* =============================
Project
.p-<ページ名>-<セクション名>
※一部例外有（Layoutの中身等）
============================== */

/* ヘッダー */
.l-header {
    height: var(--height-header);
    left: 50%;
    position: fixed;
    top: 2rem;
    translate: -50% 0;
    width: calc(100% - 4rem);
    z-index: 9999;
}


.p-header {
    align-items: center;
    background-color: white;
    display: flex;
    justify-content: space-between;
    padding-inline: 2rem;
    position: relative;
    transition: box-shadow var(--transition-scroll);
    border-radius: 1rem;
}

.p-header.is-shadow,
.p-header:has(.is-open) {
    box-shadow: 0 5px 5px 0 rgba(0 0 0 / 0.1);
}

.p-header__inner {
    display: flex;
    justify-content: space-between;
    position: relative;
}

.p-header__link {
    display: inline-block;
}

.p-header__logo {
    display: flex;
    height: var(--height-header);
}

.p-header__recruit {
    color: var(--color-primary);
    display: block;
    font-weight: var(--font-weight-semibold);
    margin-top: -1rem;
}

.p-header__body {
    align-items: center;
    display: flex;
}

.p-header .company-only {
    margin-bottom: 0 !important;
}

@media (min-width: 1201px) {
    .p-header__gnav {
        height: 80px;
    }
}

@media (max-width: 1400px) {
    .p-header__logo {
        width: 26rem;
    }
}

@media (max-width: 1200px) {
    .p-header {
        align-items: center;
        display: block;
        justify-content: space-between;
        position: relative;
    }

    .p-header__inner {
        align-items: unset;
        flex-direction: column;
    }
}

/* グローバルナビゲーション */

.p-gnav.is-open {
    grid-template-rows: 1fr;
}

.p-gnav__list {
    display: flex;
}

.p-gnav__item {
    position: relative;
}

.p-gnav__item::after {
    background-color: var(--color-primary);
    bottom: 1rem;
    content: '';
    height: 3px;
    left: 0;
    position: absolute;
    transition: width var(--transition-hover);
    width: 0;
}

.p-gnav__itemsp {
    display: none;
}

.p-gnav__link {
    display: block;
    font-weight: var(--font-weight-semibold);
    height: 100%;
    line-height: var(--height-header);
    padding-inline: 2rem;
}

.p-gnav__link--entry {
    background-color: var(--color-primary);
    clip-path: polygon(20% 0, 100% 0, 80% 100%, 0 100%);
    color: #ffffff !important;
    margin-right: calc(-3.2rem - 1px);
    padding: 0 4rem;
}

.p-gnav__link--entry:hover {
    color: #ffffff !important;
}

.p-gnav__link--midentry {
    border-radius: 0 1rem 1rem 0;
    background-color: var(--color-eneos);
    clip-path: polygon(23% 0, 100% 0, 100% 100%, 0 100%);
    color: #ffffff !important;
    margin-right: calc(-2rem - 1px);
    padding: 0 2.5rem 0 3.7rem;
}

.p-gnav__link--midentry:hover {
    color: #ffffff !important;
}

@media (hover: hover) {
    .p-gnav__item:not(:has(.p-gnav__link--entry, .p-gnav__link--midentry)):hover::after {
        width: 100%;
    }
}

@media (hover: hover) and (max-width: 1200px) {
    .p-gnav__item:not(:has(.p-gnav__link--entry, .p-gnav__link--midentry)):hover::after {
        width: 0;
    }
}

@media (max-width: 1200px) {
    .p-gnav {
        display: grid;
        grid-template-rows: 0fr;
        overflow: hidden;
        transition: grid-template-rows 0.5s ease;
        width: 100%;
    }

    .p-gnav__list {
        flex-direction: column;
        overflow: hidden;
    }

    .p-gnav__item {
        border-bottom: 1px solid var(--color-gray);
    }

    .p-gnav__item:nth-child(9) {
        border-bottom: unset;
        margin-block: 2rem 1rem;
    }

    .p-gnav__item:last-child {
        border-bottom: unset;
        margin-block: 1rem 2rem;
    }

    .p-gnav__item:hover::after,
    .p-gnav__item.is-active::after {
        width: 0;
    }

    .p-gnav__itemsp {
        display: block;
    }

    .p-gnav__itempc {
        display: none;
    }

    .p-gnav__link {
        line-height: inherit;
        padding: 1.7rem;
    }

    .p-gnav__link--entry {
        border-radius: var(--border-radius-semicircle);
        clip-path: unset;
        padding-inline: 2rem;
        margin-right: unset;
    }

    .p-gnav__link--midentry {
        border-radius: var(--border-radius-semicircle);
        clip-path: unset;
        padding-inline: 2rem;
        margin-right: unset;
    }
}

/* メガメニュー */

.p-megamenu {
    background-color: rgb(244 142 26 / 0.8);
    left: 0;
    opacity: 0;
    position: absolute;
    transition: opacity var(--transition-hover), visibility var(--transition-hover);
    top: 85px;
    visibility: hidden;
    border-radius: 1rem;
}

.megame {
    left: 42.5%;
    width: 15%;
}

.megare {
    left: 76%;
    width: 20%;
}

.p-megamenu.is-show {
    opacity: 1;
    visibility: visible;
}

.p-megamenu__inner {
    padding-block: 2rem;
}

.p-megamenu__header {
    flex-shrink: 0;
    position: relative;
    width: 18.65%;
}

.p-megamenu__header::after {
    background-color: white;
    content: '';
    height: 100%;
    right: -3rem;
    position: absolute;
    top: 0;
    width: 1px;
}

.p-megamenu-heading__sub,
.p-megamenu-heading__main {
    color: white;
    font-weight: var(--font-weight-bold);
}

.p-megamenu-heading__sub {
    font-size: 1.6rem;
}

.p-megamenu-heading__main {
    font-size: 3rem;
    letter-spacing: 0.1em;
}

.p-megamenu__body {
    flex: 1;
}


.p-megamenu-grid__link {
    display: block;
}

.p-megamenu-grid__image {
    width: 100%;
}

.p-megamenu-grid__title {
    color: white;
    font-size: 1.6rem;
    font-weight: var(--font-weight-semibold);
}

.p-megamenu-grid__cell {
    padding-bottom: 1rem;
    border-bottom: 1.75px solid white;
}

.p-megamenu-grid__cell:nth-child(2) {
    padding: 1rem 0;
    border-bottom: 1.75px solid white;
}

.p-megamenu-grid__cell:last-child {
    padding-top: 1rem;
    padding-bottom: 0;
    border-bottom: none;
}

@media (max-width: 1400px) {
    .megame {
        left: 28%;
        width: 18%;
    }

    .megare {
        left: 70%;
        width: 25%;
    }
}

@media (max-width: 1200px) {
    .p-megamenu {
        display: none;
    }
}

/* ハンバーガーメニュー */

.p-hamburger {
    display: none;
}

@media (max-width: 1400px) {
    .p-logo__link {
        padding-top: 10px;
    }
}

@media (max-width: 1200px) {
    .p-hamburger {
        display: block;
        position: absolute;
        right: 2rem;
        top: 2.75rem;
    }

    .p-hamburger__wrapper {
        cursor: pointer;
        height: 2.4rem;
        margin: auto;
        width: 3rem;
        display: block;
    }

    .p-hamburger__border {
        background-color: currentColor;
        border-radius: var(--border-radius-semicircle);
        height: 5px;
        position: relative;
        translate: 0 1rem;
        transition: background-color 0.01s 0.3s ease;
        width: 100%;
    }

    .p-hamburger__border::before,
    .p-hamburger__border::after {
        background-color: currentColor;
        border-radius: 4px;
        content: '';
        height: 5px;
        position: absolute;
        transition: top 0.3s 0.35s ease, rotate 0.3s 0.05s ease;
        width: 100%;
    }

    .p-hamburger__border::before {
        top: -1rem;
    }

    .p-hamburger__border::after {
        top: 1rem;
    }

    .p-hamburger__trigger {
        display: none;
    }

    .p-hamburger__trigger:checked~.p-hamburger__wrapper .p-hamburger__border {
        background-color: transparent;
    }

    .p-hamburger__trigger:checked~.p-hamburger__wrapper .p-hamburger__border::before,
    .p-hamburger__trigger:checked~.p-hamburger__wrapper .p-hamburger__border::after {
        top: 0;
        transition: top 0.3s 0.05s ease, rotate 0.3s 0.35s ease;
    }

    .p-hamburger__trigger:checked~.p-hamburger__wrapper .p-hamburger__border::before {
        rotate: 45deg;
    }

    .p-hamburger__trigger:checked~.p-hamburger__wrapper .p-hamburger__border::after {
        rotate: -45deg;
    }

    .p-logo__link {
        padding-top: 14px;
    }
}

/* フッター */

.p-footer {
    background-color: #000000;
}

.p-footer__copyright {
    color: #ffffff;
    font-size: 1.2rem;
    text-align: center;
    padding-block: 1rem;
    margin-bottom: 0%;
}

/* フッター */
.l-footer-eneossky {
    background-color: var(--color-white);
}

.l-footer-eneossky__inner {
    display: flex;
    padding: 5rem 0 5rem;
}

.l-footer-eneossky__header {
    flex-basis: 50%;
    display: flex;
    flex-direction: column;
    row-gap: 3rem;
}

.l-footer-eneossky__corporate-link {
    position: relative;
    padding-left: 3rem;
    font-size: 1.6rem;
    font-weight: var(--font-weight-semibold);
}

.l-footer-eneossky__corporate-link::before {
    content: '\F759';
    font-family: bootstrap-icons;
    font-weight: 700;
    font-size: 1.4rem;
    position: absolute;
    top: 50%;
    left: 0;
    translate: 0 -50%;
    padding: 0.2rem 0.5rem 0 0.625rem;
    border-radius: 50%;
}

.l-footer-eneossky__body {
    flex-basis: 50%;
}

.l-footer-eneossky-nav {
    display: flex;
}

.l-footer-eneossky-nav__menu {
    flex-basis: 50%;
}

.l-footer-eneossky-nav__item {
    font-size: 1.6rem;
    font-weight: var(--font-weight-semibold);
    margin-bottom: 2rem;
}

.l-footer-eneossky-nav__item a {
    text-shadow: 0 0 0.3px #000;
}

.l-footer-eneossky-nav__itemred {
    color: var(--color-eneos);
}

.l-footer-eneossky-nav__itemprimary {
    color: var(--color-primary);
}

.l-footer-eneossky-nav__sub-menu {
    margin-top: -2rem;
    margin-bottom: 2rem;
}

.l-footer-eneossky-nav__sub-menu a {
    font-weight: bold;
    color: #3d3d3d !important;
}

.l-footer-eneossky-nav__sub-item {
    font-size: 1.4rem;
}

@media (hover: hover) {

    .l-footer-eneossky__corporate-link:hover,
    .l-footer-eneossky-nav__link:hover {
        text-decoration: underline !important;
        color: #4D4D4D !important;
    }
}

@media (max-width: 991.98px) {
    .l-footer-eneossky__inner {
        flex-direction: column;
        row-gap: 5rem;
    }
}

@media (max-width: 767.98px) {
    .l-footer-eneossky__inner {
        padding: 5rem 2rem;
    }
}

@media (max-width: 576.98px) {
    .l-footer-eneossky-nav {
        column-gap: 2rem;
    }

    .l-footer-eneossky-nav__menu {
        flex-basis: unset;
    }

    .l-footer-eneossky-nav__menu__left {
        flex-basis: 40%;
    }

    .l-footer-eneossky-nav__menu__right {
        flex-basis: auto;

    }

    .l-footer-eneossky-nav__item {
        font-size: 1.4rem;
    }

    .l-footer-eneossky-nav__sub-item {
        font-size: 1.2rem;
    }
}

/* フッターナビゲーション */

.p-fnav {
    border-bottom: 1px solid rgb(var(--color-pale-gray-rgb) / 0.3);
    padding-block: 2rem;
}

.p-fnav__list {
    display: flex;
    justify-content: center;
    gap: 3rem;
}

.p-fnav__link {
    color: #ffffff !important;
    font-size: var(--font-size-menudefault);
}

@media (hover: hover) {
    .p-fnav__link:hover {
        text-decoration: underline !important;
        color: white !important;
    }
}

/* グループ */
.p-group {
    align-items: center;
    display: flex;
    padding: 5rem 2rem;
    gap: 3rem;
}

.p-group__description {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.p-group__row {
    display: flex;
    gap: 3rem;
}

.p-group__link {
    padding-right: 3rem;
    position: relative;
}

.p-group__link::after {
    color: #ffffff;
    content: var(--content-out);
    font-family: bootstrap-icons;
    font-weight: 400;
    position: absolute;
    right: 0;
    top: 50%;
    translate: 0 -50%;
}

@media (max-width: 1200px) {
    .p-group {
        align-items: start;
        flex-direction: column;
    }
}

@media (max-width: 767.98px) {
    .p-group__row {
        flex-direction: column;
        gap: 1rem;
    }
}

/* ヒーロー */

.p-hero {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-block: 30rem 16rem;
}

.p-midhero {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-block: 30rem 16rem;
}

.p-midtop-fv {
    height: 83svh;
    background-image: url(../images/top-mid.jpg);

    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.p-hero--message {
    background-image: url("../images/message.jpg");
    background-position: 30% center;
}

.p-hero--company {
    background-image: url("../images/about.jpg");
}

.p-hero--requirements {
    background-image: url("../images/about.jpg");
}

.p-hero--midrequirements {
    background-image: url("../images/top-mid.jpg");
}

.p-hero--interview01 {
    background-image: url("../images/top-interview01.jpg");
}

.p-hero--interview02 {
    background-image: url("../images/top-interview02.jpg");
}

.p-hero--interview03 {
    background-image: url("../images/top-interview03.jpg");
}

.p-hero--interview04 {
    background-image: url("../images/top-interview04.jpg");
}

.p-hero--interview05 {
    background-image: url("../images/top-interview05.jpg");
}

.p-hero--midinterview01 {
    background-image: url("../images/top-midinterview01.jpg");
}

.p-hero--crosstalk {
    background-image: url("../images/top-crosstalk.jpg");
}

.p-hero--university {
    background-image: url("../images/university-wide.jpg");
}

.p-hero--high-school {
    background-image: url("../images/high-school-wide.jpg");
}

.p-hero--high-vocational {
    background-image: url("../images/high-vocational-wide.jpg");
}

.p-hero--work {
    background-image: url("../images/truck.jpg");
    background-position: right center;
}

.p-hero--vehicle {
    background-image: url("../images/top-vehicle.jpg");
}

.p-hero--qm {
    background-image: url("../images/top-qm.jpg");
}

.p-hero__heading {
    color: #ffffff;
    font-size: 6rem;
    font-weight: bold;
    text-wrap: balance;
}

/* トップ画面 - ファーストビュー */

.p-top-fv {
    height: 100svh;
    background-image: url(../images/first-view.jpg);

    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.p-top-fv__image {
    height: 100%;
    width: 100%;
    position: relative;
}

.p-top-fv__catch {
    color: #ffffff;
    font-size: clamp(3rem, 6vw, 8rem);
    font-weight: var(--font-weight-bold);
    left: 50%;
    letter-spacing: var(--letter-spacing-wide);
    position: absolute;
    text-align: center;
    text-wrap: balance;
    translate: -50% -50%;
    top: 58%;
    width: 100%;
    text-shadow: 2px 2px 1px gray;
}


.p-midtop-fv__catch {
    color: #ffffff;
    font-size: clamp(3rem, 7vw, 7rem);
    font-weight: var(--font-weight-bold);
    left: 31%;
    letter-spacing: var(--letter-spacing-wide);
    position: absolute;
    text-align: center;
    text-wrap: balance;
    translate: -50% -50%;
    top: 50%;
    width: 100%;
    line-height: 1.2;
}

.p-midtop-fv__detail {
    color: #005BAC;
    font-weight: 900;
}

@media (max-width: 575.98px) {
    .p-top-fv {
        background-image: url(../images/first-viewsp.jpg);
    }

    .lg-none {
        display: none;
    }

    .p-top-fv__catch {
        font-size: clamp(5rem, 6vw, 8rem);
        font-family: Noto Sans JP;
    }

    .p-hero--company {
        background-position: 20% 50%;
    }

}

@media (max-width: 425px) {
    .p-midtop-fv__catch {
        left: 39%;
    }
}

/* トップ画面 - メッセージ */

.p-top-message {
    padding-block: 12rem;
}

.p-top-message__inner {
    align-items: center;
    display: grid;
    gap: 3rem;
    grid-template-columns: repeat(2, 1fr);
}

.p-top-message__header {
    display: flex;
    flex-direction: column;
    gap: 5rem;
}

.p-top-message__paragraph {
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-paragraph);
    text-wrap: balance;
}

.p-top-message__image {
    object-fit: cover;
    object-position: center;
    width: 100%;
}

@media (max-width: 991.98px) {
    .p-top-message__header {
        gap: 3rem;
    }
}

@media (max-width: 767.98px) {
    .p-top-message__inner {
        grid-template-columns: 1fr;
    }

    .p-top-message__header {
        order: 1;
    }

    .p-top-message__body {
        order: 0;
    }

    .p-top-message__image {
        height: 30rem;
        object-position: center 80%;
    }
}

@media (max-width: 575.98px) {
    .p-top-message__image {
        height: 20rem;
    }

    .p-top-message {
        padding-block: 8rem;
    }
}

/* トップ画面 - 会社情報 */

.p-top-company {
    background-color: var(--color-pale-gray);
    padding-block: 12rem;
}

.p-top-company__inner {
    align-items: center;
    display: grid;
    gap: 3rem;
    grid-template-columns: repeat(2, 1fr);
}

.p-top-company__header {
    display: flex;
    flex-direction: column;
    gap: 5rem;
}

.p-top-company__paragraph {
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-paragraph);
    /* text-wrap: balance; */
    word-break: auto-phrase;
}

.p-top-company__body {
    overflow: hidden;
}

.p-top-company__body img {
    transition: transform .6s ease;
}

.p-top-company__body:hover img {
    transform: scale(1.04);
}

.p-top-company__image {
    aspect-ratio: 1;
    object-fit: cover;
    object-position: center;
    width: 100%;
}

@media (max-width: 991.98px) {
    .p-top-company__header {
        gap: 3rem;
    }
}

@media (max-width: 767.98px) {
    .p-top-company__inner {
        grid-template-columns: 1fr;
    }

    .p-top-company__header {
        order: 1;
    }

    .p-top-company__body {
        order: 0;
    }

    .p-top-company__image {
        height: 30rem;
    }
}

@media (max-width: 575.98px) {
    .p-top-company__image {
        height: 20rem;
    }

    .p-top-company {
        padding-block: 8rem;
    }
}

/* TOP動画モーダルの背景 */
.modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.6);
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

/* モーダル本体 */
.modal-content {
    background: #fff;
    padding: 0;
    overflow: hidden;
    max-width: 100%;
    max-height: 100%;
}

/* 閉じるボタン */
.modal-close {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 24px;
    color: #fff;
    cursor: pointer;
    z-index: 1001;
}

video {
    display: block;
    width: 100%;
    height: auto;
    cursor: pointer;
}

.p-top-company__body button:hover {
    opacity: 0.7;
}

/* トップ画面 - 事業内容 */

.p-top-business {
    padding-block: 12rem;
}

.p-top-business__inner {
    align-items: center;
    display: grid;
    gap: 3rem;
    grid-template-columns: repeat(2, 1fr);
}

.p-top-business__header {
    display: flex;
    flex-direction: column;
    gap: 5rem;
}

.p-top-business__paragraph {
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-paragraph);
    word-break: auto-phrase;
}

.p-top-business__item {
    border-bottom: 1px solid var(--color-gray);
    display: block;
    font-weight: var(--font-weight-semibold);
    padding-block: 4rem;
    position: relative;
}

.p-top-business__item:first-child {
    border-top: 1px solid var(--color-gray);
}

.p-top-business__item::after {
    color: inherit;
    content: var(--content-chevron-right);
    font-family: bootstrap-icons;
    font-weight: 700;
    font-size: 2rem;
    position: absolute;
    right: 2rem;
    translate: 0 -50%;
    top: 50%;
}

.p-top-business__image {
    object-fit: cover;
    object-position: right center;
    width: 100%;
}

@media (max-width: 991.98px) {
    .p-top-business__header {
        gap: 3rem;
    }
}

@media (max-width: 767.98px) {
    .p-top-business__inner {
        grid-template-columns: 1fr;
    }

    .p-top-business__header {
        order: 1;
    }

    .p-top-business__body {
        order: 0;
    }

    .p-top-business__image {
        height: 30rem;
    }
}

@media (max-width: 575.98px) {
    .p-top-business__image {
        height: 20rem;
    }

    .p-top-business {
        padding-block: 8rem;
    }
}

.p-top-interview {
    padding-block: 10rem;
    position: relative;
    overflow: hidden;
}

.p-top-interview::after {
    content: '';
    position: absolute;
    background-color: #eeeeee;
    border-radius: 65% 65% 0% 0% / 30% 30% 0% 0%;
    bottom: 0;
    left: 0;
    margin-inline: -25rem;
    padding: 24rem 20rem 8rem 20rem;
    right: 0;
    top: 50%;
    z-index: -1;
}

.p-top-interview__heading {
    margin-bottom: 3rem;
}

.p-top-interview__paragraph {
    font-weight: var(--font-weight-semibold);
    line-height: 2;
    margin-bottom: 3rem;
    word-break: auto-phrase;
}

.p-top-interview-grid {
    display: grid;
    gap: 0.5rem;
    grid-template-columns: repeat(3, 1fr);
}

.p-top-interview-grid__card {
    aspect-ratio: 4 / 4;
    margin-bottom: 4rem;
    position: relative;
}

.p-top-interview-grid__topcard {
    margin-bottom: 0.8rem;
}

.p-top-interview-grid__card:hover {
    opacity: .7;
}

.p-top-interview-grid__image {
    object-fit: cover;
    object-position: center;
    width: 100%;
}

.p-top-interview-grid__job {
    background-color: var(--color-primary);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 80%);
    color: white;
    font-weight: var(--font-weight-semibold);
    letter-spacing: var(--letter-spacing-wide);
    padding: 2rem 1rem 7rem;
    position: absolute;
    right: 0;
    top: 0;
    writing-mode: vertical-lr;
}

.p-top-crosstalk-grid__job {
    background-color: var(--color-eneos);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 80%);
    color: white;
    font-weight: var(--font-weight-semibold);
    letter-spacing: var(--letter-spacing-wide);
    padding: 2rem 1rem 7rem;
    position: absolute;
    right: 0;
    top: 0;
    writing-mode: vertical-lr;
}

.p-top-interview-grid__content {
    bottom: 0;
    color: white;
    font-weight: var(--font-weight-semibold);
    padding: 0 2rem 3rem;
    position: absolute;
    width: 100%;
}

.p-top-interview-grid__contentcross {
    padding: 0 2rem 1.5rem;
}

.p-top-interview-grid__text {
    font-size: 2rem;
    margin-bottom: 1rem;
    word-break: auto-phrase;
}

.p-top-midinterview-grid__text {
    font-size: 2.4rem;
    margin: 0 3rem 1.3rem;
    text-align: right;
    word-break: auto-phrase;
}

.p-top-midinterview-grid__text p {
    display: inline-block;
    text-align: left;
}

.p-top-interview-grid__lead {
    text-align: end;
    padding-right: 3rem;
    position: relative;
}

.p-top-interview-grid__lead::after {
    color: #ffffff;
    content: var(--content-chevron-right);
    font-family: bootstrap-icons;
    font-weight: 700;
    font-size: 2rem;
    position: absolute;
    right: 0;
    translate: 0 -50%;
    top: 50%;
}

.p-top-interview__button {
    margin-left: auto;
}

.p-top-interview-crosstalk {
    display: flex;
    margin-bottom: 1rem;
}

.p-top-interview-crosstalkend {
    margin: 0 2rem 0 auto;
}

@media (max-width: 767.98px) {
    .p-top-interview-grid {
        grid-template-columns: max(100%, 30rem);
        justify-content: center;
    }

    .p-top-interview-grid__imageframe {
        margin: 0 auto;
    }

    .p-top-interview-grid__contentcross {
        padding: 0 2rem 1.5rem;
    }
}

@media (max-width: 575.98px) {
    .p-top-interview {
        padding-block: 8rem;
    }

    .p-top-midinterview-grid__text {
        display: none;
    }

    .p-top-interview-grid__lead {
        font-size: 12px;
    }
}

/* トップ画面 - 募集要項 */

.p-top-requirements {
    background-image: url(../images/worker-back.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-block: 6rem 8rem;
}

.p-top-requirements__header {
    margin-bottom: 5rem;
}

.p-top-requirements__body {
    display: flex;
    flex-direction: column;
    gap: 5rem;
}

.p-top-requirements__catch {
    color: white;
    font-size: 4.8rem;
    font-weight: bold;
    letter-spacing: var(--letter-spacing-wide);
    line-height: 1.25;
}

.p-top-requirements__list {
    display: flex;
    gap: 3rem;
    justify-content: space-between;
}

.p-top-requirements__item {
    background-color: transparent;
    border: 2px solid #ffffff;
    color: #ffffff !important;
    font-size: 2.4rem;
    padding: 2rem 5rem;
    width: 40vw;
}

.blank .p-top-requirements__item {
    border: none;
}

.blank .c-button-semicircle::after {
    color: transparent;
}

.p-top-requirements__item::before {
    display: none;
}

@media (max-width: 1200px) {
    .p-top-requirements__catch {
        font-size: max(calc(6 / var(--responsive-xxl)), 2.4rem);
    }

    .p-top-requirements__item {
        font-size: max(calc(2.4 / var(--responsive-xxl)), 1.8rem);
    }
}

@media (max-width: 767.98px) {
    .p-top-requirements__list {
        flex-wrap: wrap;
    }

    .p-top-requirements__list:last-child {
        margin-top: -17px;
    }

    .p-top-requirements__item {
        width: 40rem;
    }

    .blank {
        display: none;
    }
}

@media (max-width: 576.98px) {
    .p-top-requirements {
        padding-block: 12rem 8rem;
    }
}

/* フッター上サイトリンク */
.p-top-footer-sky {
    padding: 3rem 0 3rem;
}

.p-footer__recruit {
    font-weight: var(--font-weight-semibold);
    flex-basis: 50%;
    padding-top: 2rem;
}

.p-footer-sky {
    display: flex;
}

.p-footer-sky__link {
    position: relative;
    padding-right: 3rem;
    font-weight: var(--font-weight-semibold);
}

.p-footer-sky__link::after {
    content: '\F759';
    font-family: bootstrap-icons;
    font-weight: 700;
    font-size: 1.4rem;
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    padding: 0.2rem 0.5rem 0 0.625rem;
    border-radius: 50%;
}

.p-footer-sky__header {
    flex-basis: 43%;
}

.p-footer-sky__body {
    flex-basis: 45%;
    display: flex;
}

@media (max-width: 767.98px) {
    .p-footer-sky {
        display: block;
    }

    .p-footer__recruit {
        padding-top: 0;
    }
}

/* メッセージ */

.p-message-content {
    padding-block: 8rem;
    background-color: #f5f5f5;
    padding-inline: 7%;
}

.p-message-contentw {
    padding-bottom: 16rem;
    background-color: #f5f5f5;
    padding-inline: 7%;
}

.p-message-content__heading {
    margin-bottom: 5rem;
}

.p-message-content__headingcross {
    margin: 5rem 0;
}

.p-message-content__text {
    margin-bottom: 5rem;
}

.p-message-content__paragraph {
    line-height: 1.9;
    margin-bottom: 3rem;
    text-shadow: 0 0 0.85px #000;
}

.p-message-content__paragraphnum {
    line-height: 2;
    margin-bottom: 0.5rem;
    text-shadow: 0 0 0.85px #000;
}

.p-message-content__job,
.p-message-content__sign {
    font-weight: var(--font-weight-semibold);
    text-align: end;
}

.p-message-content__sign {
    font-size: 2.4rem;
}

.p-message-content__signdm {
    margin-bottom: 4rem;
}

@media (max-width: 1200px) {
    .p-message-content__sign {
        font-size: max(calc(2.4 / var(--responsive-xxl)), 1.8rem);
    }
}

@media (max-width: 576.98px) {
    .p-message-content {
        padding-block: 5rem 7rem;
    }

    .p-message-content__paragraph {
        margin-bottom: 3rem;
    }

    .p-message-content__heading {
        margin-bottom: 2.5rem;
    }
}

/* 会社紹介 - どんな会社？ */

.p-company-about {
    padding-block: 8rem 10rem;
}

.p-company-about__heading {
    margin-bottom: 5rem;
}

.p-company-about__text {
    margin-bottom: 1rem;
    font-size: 2.1rem;
}

.p-company-about__paragraph {
    margin-bottom: 3rem;
    font-size: var(--font-size-default);
    text-shadow: 0 0 0.85px #000;
}

.p-company-about__imagepc {
    margin-bottom: 5rem;
}

.p-company-about__image {
    margin-bottom: 5rem;
    display: none;
}

.p-company-about__detail {
    display: flex;
    justify-content: center;
    gap: 2rem;
}

.p-company-about__text {
    padding-top: 1rem;
}

.p-company-about__textmark {
    color: var(--color-primary);
}

.p-company-about--border-left {
    color: #9d9d9d;
    padding-top: 5%;
    font-size: xx-large;
}

.p-company-about__dec {
    width: 460px;
    background-color: rgba(244, 142, 26, 0.07);
    text-align: center;
}

.p-company-about__dec p:last-child {
    padding-bottom: 5%;
}

@media (max-width: 576.98px) {
    .p-company-about {
        padding-block: 5rem 7rem;
    }

    .p-company-about__detail {
        gap: 1rem;
        display: grid;
        grid-template-columns: repeat(1, 1fr);
    }

    .p-company-about__text {
        padding-top: 1rem;
        font-size: 1.5rem;
    }

    .p-company-about--border-left {
        font-size: 2.25rem;
    }

    .p-company-about--border-left::before {
        top: 20%;
        left: auto;
    }

    .p-company-about__dec {
        width: 100%;
    }

    .p-company-about__imagepc {
        display: none;
    }

    .p-company-about__image {
        display: block;
    }
}

/* 会社紹介 - 数字で見る */

.p-company-data {
    background-color: rgb(var(--color-primary-rgb) / 0.1);
    padding-block: 10rem;
}

.p-company-data .card {
    border: none;
    border-radius: 0%;
}

.p-company-data-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(8, 1fr);
    grid-template-rows: repeat(4, 15rem);
}

.p-company-data-grid__title {
    font-size: 2.4rem;
    font-weight: var(--font-weight-semibold);
}

.p-company-data-grid__description {
    font-weight: var(--font-weight-semibold);
    font-size: 1.7rem;
}

.p-company-data-grid__annotationabout {
    font-size: 1.7rem;
}

.p-company-data-grid__annotation {
    font-size: 1.4rem;
}

.p-company-data-grid__annotationhouse {
    font-size: 1.4rem;
}

.p-company-data-grid__datamid {
    color: var(--color-primary);
    font-size: 1.5rem;
    font-weight: bold;
    margin: 1rem;
    margin: 0rem 1rem 0rem;
    line-height: 1;
}

.p-company-data-grid__data {
    color: var(--color-primary);
    font-size: 4rem;
    font-weight: bold;
}

.p-company-data-grid__datanumber {
    line-height: 1.1;
    margin-top: 7%;
}

.p-company-data-grid__datachildcarenumber {
    line-height: 1.1;
}

.p-company-data-grid__datasm {
    color: var(--color-primary);
    font-size: 2rem;
    font-weight: bold;
}

.p-company-data-grid__unit {
    font-size: 2.5rem;
    color: var(--color-primary);
}

.p-company-data-grid__unitpercent {
    font-size: 3rem;
}

.p-company-data-grid__cell {
    background-color: #ffffff;
    padding: 2.5rem;
}

.p-company-data-grid__cellgraph {
    padding-bottom: 1rem;
}

.p-company-data-grid-cell-age {
    display: grid;
    gap: 1rem;
    grid-column: 3 / 4;
    grid-row: 3 / 5;
    grid-template-columns: 1fr;
}

@media (max-width:991.98px) {

    .company-data,
    .card-content {
        height: 438px;
    }
}

@media (max-width: 767.98px) {
    .company-data {
        padding-bottom: 10px;
        padding-left: 0px !important;
        padding-right: 0px !important;
    }

}

@media (max-width: 576.98px) {
    .p-company-data-grid {
        grid-template-rows: repeat(1, 15rem);
    }

    .p-company-data-grid-cell-age {
        gap: 1rem;
        grid-column: 1 / 4;
        grid-row: 1 / 3;
    }

    .p-company-data {
        padding-block: 7rem;
    }

    .p-company-data-grid__annotationhouse {
        margin-top: 1rem;
    }

    .p-company-data-grid__datamid {
        margin: 0;
    }

    .p-company-data-grid__annotationabout {
        font-size: 1.5rem;
    }

    .card-content {
        margin: 0px -9px;
    }

    .p-company-data-grid__datanumber {
        margin-top: 0;
    }
    .p-company-data-grid__description {
        font-size: 1.5rem;
    }
}

.p-company-data-grid-cell-age__title,
.p-company-data-grid-cell-holiday,
.p-company-data-grid-cell-overtime,
.p-company-data-grid-cell-house {
    text-align: center;
}

.p-company-data-grid-cell-age__image,
.p-company-data-grid__image,
.p-company-data-grid__imagehouse,
.p-company-data-grid__imagesales,
.p-company-data-grid__imagesystem,
.p-company-data-grid__imagesystempc {
    margin-inline: auto;
    text-align: center;
}

.p-company-data-grid-cell-age__description {
    text-align: center;
}

.p-company-data-grid-cell-age__annotation {
    text-align: center;
}

.p-company-data-grid-cell-employee {
    grid-column: 1 / 3;
    grid-row: 6 / 9;
    text-align: center;
}

.p-company-data-grid-cell-employee__title {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    margin-top: 1.7rem;
}

.p-company-data-grid-cell-employee__data {
    grid-column: 2 / 3;
    grid-row: 1 / 4;
    margin-top: 1rem;
}

.p-company-data-grid-cell-employee__annotation {
    grid-column: 1 / 2;
    grid-row: 3 / 4;
}

.p-company-data-grid-cell-employee__description {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
}

.p-company-data-grid-cell-employee__image {
    grid-column: 3 / 4;
    grid-row: 1 / 4;
}

@media (max-width: 1200px) {
    .p-company-data-grid-cell-employee {
        grid-column: 1 / 5;
    }
}

@media (max-width: 576.98px) {
    .p-company-data-grid-cell-employee {
        grid-column: 1 / 9;
        grid-row: 5 / 6;
        display: initial;
    }

    .p-company-data-grid-cell-employee__data {
        line-height: 1;
    }

    .p-company-data-grid-cell-employee__image {
        display: none;
    }

    .p-company-data-grid-cell-employee__title,
    .p-company-data-grid-cell-employee__annotation,
    .p-company-data-grid-cell-employee__description,
    .p-company-data-grid-cell-employee__data {
        text-align: center;
    }

    .p-company-data-grid-cell-employee__title,
    .p-company-data-grid-cell-employee__data {
        margin-top: 0;
        margin-left: 0;
    }
}

.p-company-data-grid-cell-childcare {
    grid-column: 3 / 5;
    grid-row: 6 / 9;
    text-align: center;
}

.p-company-data-grid-cell-place__description {
    margin-top: 1rem;
}

.p-company-data-grid-cell-place__description param {
    display: inline;
    height: 10px;
}

@media (max-width: 1200px) {
    .p-company-data-grid-cell-childcare {
        grid-column: 5 / 9;
    }
}

@media (max-width: 576.98px) {
    .p-company-data-grid-cell-childcare {
        grid-column: 1 / 9;
        grid-row: 6 / 7;
        display: initial;
    }

    .p-company-data-grid-cell-childcare__data {
        line-height: 1;
    }

    .p-company-data-grid-cell-childcare__title,
    .p-company-data-grid-cell-childcare__datamid,
    .p-company-data-grid-cell-childcare__data,
    .p-company-data-grid-cell-childcare__datasm,
    .p-company-data-grid-cell-childcare__annotation,
    .p-company-data-grid-cell-childcare__description {
        text-align: center;
    }

    .p-company-data-grid-cell-childcare__title {
        margin-top: 1rem;
    }

    .p-company-data-grid-cell-place__description {
        margin-top: 1rem;
    }

}

.p-company-data-grid-cell-holiday {
    grid-column: 5 / 7;
    grid-row: 6 / 9;
}

@media (max-width: 1200px) {
    .p-company-data-grid-cell-holiday {
        grid-column: 1 / 5;
        grid-row: 9 / 10;
    }
}

@media (max-width: 576.98px) {
    .p-company-data-grid-cell-holiday {
        grid-column: 1 / 9;
        grid-row: 7 / 8;
    }

}

.p-company-data-grid-cell-overtime {
    grid-column: 7 / 9;
    grid-row: 6 / 9;
}

@media (max-width: 1200px) {
    .p-company-data-grid-cell-overtime {
        grid-column: 5 / 9;
        grid-row: 9 / 10;
    }

}

@media (max-width: 576.98px) {
    .p-company-data-grid-cell-overtime {
        grid-column: 1 / 9;
        grid-row: 8 / 9;
    }

}

.p-company-data-grid-cell-sales {
    grid-column: 1 / 5;
    grid-row: 3 / 6;
    text-align: center;
}

.p-company-data-grid-cell-system {
    grid-column: 5 / 9;
    grid-row: 3 / 6;
    text-align: center;
}

.p-company-data-grid-cell-place {
    grid-column: 1 / 9;
    grid-row: 1 / 3;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, auto);
    grid-template-rows: 3fr 3fr 1fr;
}

.p-company-data-grid-cell-place__title {
    grid-column: 1 / 2;
    grid-row: 1 / 4;
    margin: auto;
}

.p-company-data-grid-cell-place__image {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
}

.p-company-data-grid-cell-place__annotation {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
}

.p-company-data-grid-cell-place__description {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
}

@media (max-width: 576.98px) {
    .p-company-data-grid-cell-place {
        display: block;
        text-align: center;
    }

    .p-company-data-grid-cell-house {
        grid-column: 1 / 9;
        grid-row: 1 / 3;
    }

    .p-company-data-grid-cell-sales {
        grid-column: 1 / 9;
        grid-row: 3 / 4;
    }

    .p-company-data-grid-cell-system {
        grid-column: 1 / 9;
        grid-row: 4 / 5;
    }

}

.p-company-data-grid__pointimage {
    max-width: 50%;
}

.p-company-data-grid__image {
    max-width: 11rem;
    margin: 13px;
}

@media (max-width: 425px) {
    .p-company-data-grid__image {
        padding-top: 10px;
    }
}

.p-company-data-grid__imagehouse {
    display: block;
    max-width: 38rem;
}

.p-company-data-grid__imagesystempc {
    display: block;
    max-width: 40rem;
}

.p-company-data-grid__imagesystem {
    display: none;
    max-width: 20rem;
}

.p-company-data-grid__imagesales {
    display: block;
    max-width: 30rem;
}

@media (max-width: 767.98px) {
    .p-company-data-grid__imagehous {
        max-width: 30rem;
    }

    .p-company-data-grid__imagehouse {
        max-width: 25rem;
    }
    .p-company-data-grid__imagesales {
        max-width: 25rem;
    }
    .p-company-data-grid__imagesystempc {
        display: none;
    }

    .p-company-data-grid__imagesystem {
        display: block;
    }
}

@media (max-width: 576.98px) {
    .p-company-data-grid__imagehouse {
        max-width: 26rem;
        margin-top: 1.2rem;
    }

    .p-company-data-grid__imageemployee {
        margin: 0;
    }
}

/* インタビュー */
.p-interview-summary {
    padding-block: 8rem 16rem;
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid #484848;
}

.p-hero__innername {
    background-color: rgb(var(--color-primary-rgb) / 0.7);
    width: 24%;
    padding: 2rem 4rem;
    position: absolute;
    color: white;
    font-weight: var(--font-weight-semibold);
    right: 8rem;
}

.p-hero__innername02 {
    background-color: rgb(var(--color-primary-rgb) / 0.7);
    width: 26%;
    padding: 2rem 4rem;
    position: absolute;
    color: white;
    font-weight: var(--font-weight-semibold);
    right: 12rem;
}

.p-hero__innername03 {
    background-color: rgb(var(--color-primary-rgb) / 0.7);
    width: 21%;
    padding: 2rem 3rem;
    position: absolute;
    color: white;
    font-weight: var(--font-weight-semibold);
    left: 9rem;
    margin-top: 2.5rem;
}

.p-hero__innername04 {
    background-color: rgb(var(--color-primary-rgb) / 0.7);
    width: 21%;
    padding: 2rem 3rem;
    position: absolute;
    color: white;
    font-weight: var(--font-weight-semibold);
    right: 9rem;
    margin-top: 2.5rem;
}

@media (max-width: 1400px) {
    .p-hero__innername {
        width: 27%;
    }
}

@media (max-width:767.98px) {

    .p-hero__innername03,
    .p-hero__innername04 {
        width: 22%;
    }
}

@media (max-width: 576.98px) {
    .p-interview-summary {
        padding-block: 5rem 7rem;
    }

    .p-hero__innername02,
    .p-hero__innername {
        width: 67%;
        right: auto;
    }

    .p-hero__innername03 {
        left: 3rem;
        width: 32%;
        padding: 1rem 1rem;
    }

    .p-hero__innername04 {
        right: 3rem;
        width: 32%;
        padding: 1rem 1rem;
    }
}

/* インタビュー - 本体 */
.p-interview-qa-box__inner {
    display: flex;
    column-gap: 2rem;
    padding: 16rem 0 3rem 0;
}

.underline {
    background-color: rgba(236, 108, 0, 0.5);
    background: linear-gradient(transparent 60%, #fad996 60%);
}

.p-interview-qa-box__midinner {
    display: flex;
    align-items: center;
    column-gap: 2rem;
    padding: 3rem 0;
}

.p-interview-qa-box--reverse {
    flex-direction: row-reverse;
}

.p-interview-qa-box--gray {
    background-color: var(--color-gray);
}

.p-interview-qa__left {
    width: 50%;
}

.p-interview-qa__question {
    margin-bottom: 1rem;
    font-size: 2.5rem;
    font-weight: var(--font-weight-bold);
}

.p-interview-qa__midquestion {
    margin: 2rem 0 1.2rem;
    font-size: 2rem;
    font-weight: var(--font-weight-bold);
}

.p-interview-qa__detail {
    font-size: var(--font-size-default);
    line-height: 2;
    margin-bottom: 2rem;
    text-shadow: 0 0 0.85px #000;
}

.p-interview-qa__right {
    flex: 1;
}

.p-interview-qa__image {
    width: 100%;
}

.p-interview-qa__midimage {
    height: 500px;
    width: auto;
    object-fit: cover;
}

.p-interview-qa__midimage01 {
    object-position: 58% 50%;
}

.p-interview-qa__midimage02 {
    object-position: 40% 50%;
}

.p-interview-midqa__left {
    width: 29%;
}

.p-interview-midqa__lefttext {
    width: 70%;
}

.p-imterview-middetail {
    font-size: 1.7rem;
    line-height: 2;
    text-shadow: 0 0 0.85px #000;
}

.p-imterview-middetailbold {
    font-size: 1.7rem;
    line-height: 2;
    font-weight: var(--font-weight-semibold);
}

@media (max-width: 1200px) {
    .p-interview-qa__question {
        font-size: calc(2.5 / var(--responsive-xl));
        margin-bottom: 1rem;
    }

    .p-interview-qa__detail {
        font-size: calc(2 / var(--responsive-xl));
    }

    .p-interview-qa__midimage {
        width: 100%;
        height: auto;
    }

    .p-interview-qa-box__inner {
        display: block;
    }

    .p-interview-midqa__lefttext,
    .p-interview-qa__left {
        width: 100%;
    }
}

@media (min-width:991.98px) {
    .reverse {
        flex-direction: row-reverse;
    }
}

@media (max-width: 991.98px) {
    .p-interview-qa-box__inner {
        flex-direction: column-reverse;
        padding-top: 40px;
    }

    .p-interview-qa__left {
        width: 89%;
    }

    .p-interview-qa__right {
        margin-right: 0;
        margin-left: 0;
    }

    .p-interview-qa__detail {
        font-size: 1.6rem;
    }
}

@media (min-width: 576.99px) and (max-width: 991.98px) {
    .p-interview-qa__right {
        width: 89%;
    }
}

@media (max-width: 576.98px) {
    .p-interview-qa-box__inner {
        padding: 3rem 0 0;
    }

    .p-interview-qa__detail {
        margin-bottom: 1rem;
    }

    .p-interview-qa__detailbottom {
        margin-bottom: 3rem;
    }

    .p-imterview-middetail {
        line-height: 1.75;
    }

    .p-interview-qa__midquestion {
        margin: 5rem 0 1.2rem;
    }
}

@media (max-width: 767.98px) {
    .p-interview-qa__question {
        font-size: min(2.4rem, 5vw);
    }

    .p-interview-qa__body {
        padding-top: 20px;
    }

    .p-interview-qa__bodyright {
        padding-top: 20px;
    }
}

@media (max-width: 576.98px) {
    .p-interview-qa__question {
        margin-top: 1.5rem;
        margin-bottom: 1rem;
    }

    .qa02 {
        line-height: 1.4;
    }

    .p-interview-qa__left {
        width: 100%;
    }

    .p-interview-qa__bodyright,
    .p-interview-qa__body {
        padding-top: 0px;
    }
}

/* クロストーク */
.p-crosstalk__inner {
    padding-top: 12rem;
}

.p-crosstalk__answer {
    display: flex;
    align-items: center;
    column-gap: 3rem;
    padding: 1rem 0 2rem;
}

.p-crosstalk__answerbottom {
    margin-bottom: 8rem;
}

.p-crosstalk__answerbottom02 {
    padding-bottom: 10rem;
}

.p-crosstalk__right {
    width: 100%;
}

.p-crosstalk__left {
    width: 11%;
}

.p-crosstalk-box__inner {
    margin: 0 6rem;
}

.p-crosstalk__question {
    margin: 3rem 0 2rem;
    font-size: 2.5rem;
    font-weight: var(--font-weight-bold);
}

.p-crosstalk__detail {
    font-size: 1.8rem;
    line-height: 2.2;
}

.p-crosstalk__detailsmbold {
    font-weight: var(--font-weight-semibold);
}

.interview-crosstalk img {
    border: 1px solid var(--color-primary);
}

@media (max-width: 1200px) {
    .p-crosstalk__question {
        font-size: calc(2.5 / var(--responsive-xl));
    }

    .p-crosstalk__detail {
        font-size: calc(2 / var(--responsive-xl));
    }
}

@media (max-width: 991.98px) {
    .p-crosstalk__detail {
        font-size: 1.6rem;
    }
}

@media (max-width: 767.98px) {
    .p-crosstalk-box__inner {
        margin: 0;
    }

    .p-crosstalk__question {
        font-size: min(2.4rem, 5vw);
    }
}

@media (max-width: 576.98px) {
    .p-crosstalk__question {
        margin-bottom: 1rem;
        margin-top: 6rem;
    }

    .p-crosstalk__detail {
        margin-bottom: 1rem;
        line-height: 1.75;
    }

    .p-crosstalk__answer {
        display: block;
        position: relative;
    }

    .p-crosstalk__left {
        width: 27%;
    }

    .p-crosstalk__leftsm {
        margin: 0 1.5rem 0 auto;
    }

    .p-crosstalk__detailsmbold {
        position: absolute;
        left: 32%;
        top: 10%;
        width: 70%;
    }

    .p-crosstalk__detailsmboldsm {
        left: 0;
    }

    .p-crosstalk__detailsmbold1 {
        top: 5%;
    }

    .p-crosstalk__detailtext {
        padding-top: 1rem;
    }

    .p-crosstalk__inner {
        padding-top: 4rem;
    }

    .p-crosstalk__answerbottom {
        margin-bottom: 4rem;
    }

}

/* 募集要項 - 一覧 */

.p-requirements-content {
    padding-block: 8rem 16rem;
    border-bottom: 1px solid #484848;
}

.p-requirements-content__heading {
    margin-bottom: 5rem;
}

.p-requirements-content__headingmid {
    margin: 5rem 0 5rem;
}

.p-requirements-nav__list {
    display: grid;
    gap: 3rem;
    grid-template-columns: repeat(3, 1fr);
}

.p-requirements-nav__item {
    position: relative;
}

.p-requirements-nav__link {
    display: block;
}

.p-requirements-nav__image {
    aspect-ratio: 16 / 9;
    filter: brightness(80%);
    object-fit: cover;
    object-position: center;
    width: 100%;
}

.p-requirements-nav__title {
    bottom: 1rem;
    color: white;
    font-size: 2.4rem;
    font-weight: var(--font-weight-semibold);
    left: 1rem;
    position: absolute;
}

@media (max-width: 1200px) {
    .p-requirements-nav__title {
        font-size: max(calc(2.4 / var(--responsive-xxl)), 1.8rem);
    }
}

@media (max-width: 767px) {
    .p-requirements-nav__list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 576.98px) {
    .p-requirements-content {
        padding-block: 5rem 7rem;
    }
}


/*よくある質問*/
.p-requirements-qa__list dl {
    position: relative;
    margin: 0;
    padding: 2rem;
    cursor: pointer;
    border: 1px solid #bfbfbf;
    margin-bottom: 1rem;
}

.p-requirements-qa__list dt {
    padding-left: 2rem;
}

.p-requirements-qa__list dl::before {
    position: absolute;
    top: 30px;
    right: 35px;
    display: block;
    width: 7px;
    height: 7px;
    margin: auto;
    content: '';
    transform: rotate(135deg);
    border-top: 2px solid #000;
    border-right: 2px solid #000;
}

.p-requirements-qa__list .open::before {
    transform: rotate(-45deg);
}

.p-requirements-qa__list dl dd {
    margin: 20px 0 0;
    padding: 2.5rem;
    line-height: 2;
    background-color: #f1f1f1;
}

.p-requirements-qa__list dl dd p {
    text-indent: -2.5rem;
    padding-left: 2.5rem;
}

@media (max-width: 576.98px) {
    .p-requirements-qa__list dt {
        padding-left: 3.25rem;
        width: 85%;
        text-indent: -2.25rem;
    }

    .p-requirements-qa__list dl dd {
        padding: 2.5rem 1.5rem;
    }

    .p-requirements-qa__list dl dd p {
        text-indent: -2rem;
        padding-left: 2rem;
    }
}

/* ウェルカムバック制度 */
.p-requirements-backframe {
    margin-bottom: 6rem;
}

.p-requirements-backframe p {
    margin-bottom: 1.5rem;
}

.p-requirements-back {
    font-weight: var(--font-weight-semibold);
}

/* 募集要項 - 情報 */
.p-requirements-informationframe {
    display: flex;
    left: 0;
    position: relative;
    margin-left: -30%;
    z-index: -10;
    padding-inline: 0 7%;
}

.p-requirements-information__inneruni,
.p-requirements-information__innerhv {
    padding-left: 30.5vw;
}

.p-requirements-information {
    padding-block: 8rem 16rem;
}

.p-requirements-informationu {
    padding-block: 8rem 0;
}

.p-requirements-informationdisplayfx {
    display: flex;
}

.p-requirements-index {
    width: 25vw;
    padding-left: 7%;
    margin-bottom: 50rem;
}

.p-requirements-indexdeco {
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    font-size: 2.5rem;
}

.p-requirements-listdeco {
    color: #484848;
}


.p-requirements-sticky {
    position: sticky;
    top: 150px;
}


.p-requirements-informationdetail {
    border-bottom: 1px solid #484848;
}

.p-requirements-information__heading {
    margin-bottom: 5rem;
}

.p-requirements-table {
    width: 100%;
}

.p-requirements-table__row {
    border-bottom: 1px solid var(--color-gray);
}

.p-requirements-table__row:first-child {
    border-top: 1px solid var(--color-gray);
}

.p-requirements-table__header {
    padding-block: 2.5rem;
    width: 20rem;
}

.p-requirements-table__data {
    padding-block: 2rem;
    line-height: 2;
}

.p-requirements-table__border {
    border-bottom: 1px solid var(--color-gray);
    padding-left: 1rem;
}

.p-requirements-table__top {
    padding-top: 1rem;
}

.p-requirements-table__bordermc {
    border-bottom: 1px solid var(--color-gray);
    padding-left: 9.2rem;
}

@media (max-width: 767.98px) {

    .p-requirements-table__header,
    .p-requirements-table__data {
        display: block;
        width: 100%;
    }

    .p-requirements-table__header {
        border-bottom: 1px solid var(--color-gray);
    }

    .p-requirements-informationdisplayfx {
        display: block;
    }

    .p-requirements-index {
        width: 50vw;
        margin-bottom: 4rem;
    }

    .p-requirements-information__inneruni,
    .p-requirements-information__innerhv {
        padding-left: 7%;
    }

    .p-requirements-informationframe {
        position: static;
        margin-left: 0;
    }
}

@media (max-width: 576.98px) {
    .p-requirements-table__border {
        padding-left: 0;
    }

    .p-requirements-information {
        padding-block: 5rem 7rem;
    }

    .p-requirements-table__borderhv {
        padding-left: 0;
    }

}

/* 募集要項 - プロセス */

.p-reqruitments-process {
    background-color: rgb(var(--color-primary-rgb) / 0.1);
    left: 0;
    padding-block: 13rem 0;
    position: relative;
    margin-left: -30%;
    z-index: -10;
}

.p-reqruitments-process02 {
    margin-top: 5rem;
}

.p-requirements-process__heading {
    margin-bottom: 5rem;
}

.p-requirements-process__image {
    width: 100%;
}

.p-requirements-process__imagesp {
    display: none;
}

@media (max-width: 767.98px) {

    .p-reqruitments-process {
        position: static;
        margin-left: 0;
    }
}

@media (max-width: 576.98px) {
    .p-reqruitments-process {
        padding-block: 7rem 5rem;
    }

    .p-requirements-process__image {
        display: none;
    }

    .p-requirements-process__imagesp {
        display: block;
        width: 100%;
    }
}

/* 募集要項 - エントリー */

.p-requirements-entry {
    padding-block: 16rem;
    border-bottom: 1px solid #484848;
}

.p-requirements-entryinter {
    padding-block: 0rem 16rem;
    border-bottom: 1px solid #484848;
}

.p-requirements-entryhs {
    border-bottom: 1px solid #484848;
}

.p-requirements-entrymc {
    padding-block: 0 8rem;
    border-bottom: 1px solid #484848;
}

.p-requirement-banner {
    background-color: var(--color-primary);
    display: block;
    margin-inline: auto;
    width: 80%;
}

.p-requirement-bannerwork {
    display: block;
    margin-inline: auto;
    width: 80%;
    position: relative;
    overflow: hidden;
}

.p-requirement-bannerwork img {
    height: auto;
    transition: transform .6s ease;
    width: 100%;
}

.p-requirement-bannerwork:hover img {
  transform: scale(1.08);
}

.p-requirement-banner02 {
    width: 100%;
}

.p-requirement-banner__entry02 {
    color: #ffffff;
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
    padding-block: 2rem;
    padding-left: 2rem;
    position: absolute;
    bottom: 18%;
}

.p-requirement-banner__entrysm {
    bottom: 90%;
}

.bannerwork::after {
    content: var(--content-chevron-top);
    font-family: bootstrap-icons;
    font-weight: 900;
    font-size: 1.2rem;
    position: absolute;
    margin: 0.3rem 0 0 0.3rem;
    transform: rotate(90deg);
    background-color: white;
    color: #f48e1a;
    border-radius: 50%;
    padding: 0.4rem 0.7rem;
}

.bt {
    border-top: 1px solid var(--color-gray);
}

.p-entry-nav__list {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: 2fr 3fr 3fr;
    border-bottom: 1px solid var(--color-gray);
    padding: 2rem;
}

.p-entry-nav__list2 {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: 2fr 6fr;
    border-bottom: 1px solid var(--color-gray);
    padding: 2rem;
    height: 130px;
}

.p-entry-nav__frame {
    position: relative;
}

.p-entry-nav__title {
    position: relative;
    height: 100%;
    min-height: 100px;
    overflow: hidden;
}

.p-entry-nav__title img {
    height: auto;
    transition: transform .6s ease;
    width: 100%;
}

.p-entry-nav__title:hover img {
    transform: scale(1.1);
}

.p-entry-nav__titleent {
    position: relative;
    background-color: var(--color-primary);
    height: 100%;
    min-height: 100px;
}

.p-entry-nav__titledec {
    font-size: 2rem;
    font-weight: var(--font-weight-semibold);
    color: #ffffff;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    padding: 0 1rem 0 4rem;
}

.p-entry-nav__midtitledec {
    font-size: 2rem;
    font-weight: var(--font-weight-semibold);
    color: #ffffff;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    padding: 0 1rem 0 4rem;
}

.p-work-navdetail {
    font-size: 2.5rem;
    font-weight: var(--font-weight-semibold);
    color: #ffffff;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    padding: 0 1rem 0 4rem;
}

.p-entry-nav__titledec::after {
    content: var(--content-chevron-top);
    font-family: bootstrap-icons;
    font-weight: 900;
    font-size: 1.2rem;
    position: absolute;
    top: 50%;
    right: -3rem;
    transform: rotate(90deg);
    translate: 0 -50%;
    background-color: #f48e1a;
    color: white;
    border-radius: 50%;
    padding: 0.4rem 0.7rem;
}

.p-entry-nav__midtitledec::after {
    content: var(--content-chevron-top);
    font-family: bootstrap-icons;
    font-weight: 900;
    font-size: 1.2rem;
    position: absolute;
    top: 50%;
    right: -3rem;
    transform: rotate(90deg);
    translate: 0 -50%;
    background-color: white;
    color: #f48e1a;
    border-radius: 50%;
    padding: 0.4rem 0.7rem;
}

.p-work-navdetail::after {
    content: var(--content-chevron-top);
    font-family: bootstrap-icons;
    font-weight: 900;
    font-size: 1.2rem;
    position: absolute;
    top: 50%;
    right: -3rem;
    transform: rotate(90deg);
    translate: 0 -50%;
    background-color: white;
    color: #f48e1a;
    border-radius: 50%;
    padding: 0.4rem 0.7rem;
}

.p-entryhs-nav__title {
    font-size: 2.4rem;
    left: 3rem;
    margin-top: 1rem;
}

.p-entryhs-nav__titlemid {
    position: relative;
    font-size: 2rem;
    font-weight: var(--font-weight-semibold);
}

.p-entryhs-nav__titlemiddetail {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.p-entryhs-nav__detail {
    font-size: 1.8rem;
}

.p-entryhs-nav__detailsmcontainer {
    margin-top: 1rem;
}

.p-entryhs-nav__detailsm {
    font-size: 1.6rem;
}

.p-recruit-nav__image {
    aspect-ratio: 16 / 6;
    filter: brightness(80%);
    object-fit: cover;
    object-position: center;
    width: 100%;
}

.p-crosstalk-box__wrapper02 {
    border-bottom: 1px solid #484848;
}

.requbanner {
    margin-inline: auto;
    justify-content: center;
    width: 50%;
    overflow: hidden;
}

.requbanner img {
    height: auto;
    transition: transform .6s ease;
    width: 100%;
}

.requbanner:hover img {
  transform: scale(1.08);
}

.requbannerleft {
    margin-right: 0.5rem;

}

.requbannerright {
    margin-left: 0.5rem;
}

.p-requirements-workbanner {
    display: flex;
    width: 80%;
    margin: 0 auto;
    margin-top: 1rem;
}

@media (max-width: 1200px) {
    .p-requirement-banner__entry02 {
        font-size: max(calc(3 / var(--responsive-xxl)), 1.5rem);
    }
}

@media (max-width: 767px) {
    .p-crosstalk-box__inner {
        margin: 0;
    }

    .p-requirement-banner__entry02 {
        bottom: 10%;
        padding-left: 1rem;
        padding-block: 1rem;
    }

    .bannerwork::after {
        font-size: 0.8rem;
        margin: 0.2rem 0 0 0.2rem;
        padding: 0.3rem 0.5rem;
    }
}

@media (min-width: 575.99px) and (max-width: 768px) {
    .p-entry-nav__titledec {
        top: 33%;
    }

    .p-entry-nav__midtitledec {
        top: 33%;
        padding: 0 0 0 1rem;
        font-size: 14px;
    }

    .p-entry-nav__midtitledec::after {
        font-size: 7px;
    }

    .p-top-midinterview-grid__text {
        margin: 0 0 1rem;
        font-size: 2rem;
    }
}

@media (max-width: 575.98px) {
    .p-requirements-entry {
        padding-block: 7rem;
    }

    .p-entry-nav__list {
        grid-template-columns: repeat(1, 1fr);
        height: auto;
    }

    .p-entry-nav__list2 {
        height: auto;
        display: block;
    }

    .p-entry-nav__title {
        font-size: 1.8rem;
    }

    .p-entry-nav__title img {
        object-fit: cover;
        width: auto;
        height: 100px;
    }

    .p-entry-nav__titledec {
        padding: 0 1rem;
        top: 47%;
    }

    .p-entry-nav__midtitledec {
        padding: 0 1rem;
        top: 47%;
    }

    .p-entryhs-nav__titlemid {
        font-size: 1.8rem;
    }

    .p-entryhs-nav__titlemiddetail {
        position: static;
        line-height: 60px;
    }

    .p-entryhs-nav__detail {
        font-size: 1.6rem;
    }

    .p-entryhs-nav__detailsm {
        font-size: 1.4rem;
    }

    .p-entry-nav__titledec::after {
        font-size: 1rem;
        right: -1.7rem;
        padding: 0.2rem 0.4rem;
    }

    .p-entry-nav__midtitledec::after {
        font-size: 1rem;
        right: -1.7rem;
        padding: 0.2rem 0.4rem;
    }

    .p-requirement-banner {
        width: 100%;
    }

    .p-requirement-bannerwork {
        width: 100%;
    }

    .p-requirement-bannerwork img {
        object-fit: cover;
        width: auto;
        height: 100px;
    }

    .p-requirements-workbanner {
        width: 100%;
    }

    .p-requirement-banner__entry02 {
        text-align: left;
    }
}

/* 募集要項 - エントリー */

.p-requirements-entryform {
    padding-block: 0 16rem;
    border-bottom: 1px solid #484848;
}

.p-requirement-midbannerpc {
    text-align: center;
    display: block;
}

.p-requirement-midbannersm {
    text-align: center;
    display: none;
}

.p-requirement-form {
    background-color: var(--color-primary);
    display: block;
    margin-inline: auto;
    width: 70%;
}

.p-requirement-banner img {
    width: 70%;
}

.p-requirement-banner__entry {
    color: #ffffff;
    font-size: 3rem;
    font-weight: bold;
    text-align: center;
    padding-block: 2rem;
}

.p-requirement-banner__entry .bannerwork::after {
    content: var(--content-chevron-top);
    font-family: bootstrap-icons;
    font-weight: 900;
    font-size: 1.2rem;
    position: absolute;
    margin: 1rem 0 0 0.3rem;
    transform: rotate(90deg);
    background-color: white;
    color: #f48e1a;
    border-radius: 50%;
    padding: 0.4rem 0.7rem;
    
}

@media (max-width: 1200px) {
    .p-requirement-banner__entry {
        font-size: max(calc(5 / var(--responsive-xxl)), 2rem);
    }
}

@media (max-width: 767px) {
    .p-requirement-banner__entry .bannerwork::after {
        margin: 0.6rem 0 0 0.3rem;
    }
}

@media (max-width: 576.98px) {
    .p-requirement-banner__entry .bannerwork::after {
        margin: 0.2rem 0 0 0.3rem;
    }
    .p-requirement-midbannerpc {
        display: none;
    }

    .p-requirement-midbannersm {
        display: block;
    }
}



/* 募集要項リストお問い合わせ */
.p-requirements_contact__header {
    background-color: rgb(var(--color-primary-rgb) / 0.1);
    width: 75%;
    padding: 5rem 5rem;
    text-align: center;
    margin: 0 auto;
    position: relative;
}

.mailicon {
    font-size: 2.6rem;
    font-weight: var(--font-weight-bold);
    color: white;
    background-color: #f48e1a;
    padding: 2.5rem 0rem 2.5rem 6.2rem;
    width: 30vw;
    margin: 0 auto;
    border-radius: 100vmax;
}

.mailicon::before {
    content: '\F32F';
    font-family: bootstrap-icons;
    font-weight: 100;
    font-size: 4rem;
    background-color: white;
    padding: 1.1rem 2rem;
    color: #f48e1a;
    border-radius: 50%;
    margin-right: 1.3rem;
    position: absolute;
    top: 56.8%;
    left: 25.3%;
}

.p-requirements-mail__titlemid {
    position: relative;
    font-size: 2rem;
    margin: 2rem 0 3rem;
}

.p-contact__img {
    display: flex;
}

@media (max-width: 1400px) {
    .mailicon {
        width: 33vw;
    }

    .mailicon::before {
        left: 23%;
    }
}

@media (max-width: 576.98px) {
    .p-requirements_contact__header {
        width: 100%;
        margin: 0;
        padding: 5rem 3rem;
    }

    .mailicon {
        width: 100%;
        padding: 2rem 0rem 2rem 6.2rem;
        font-size: 1.8rem;
    }

    .mailicon::before {
        left: 10%;
        top: 62%;
        font-size: 2.5rem;
        padding: 1.1rem 1.8rem;
    }

    .p-requirements-mail__titlemid {
        font-size: 1.7rem;
    }

    .p-contact__img {
        display: block;
    }

    .p-contact__imgsp {
        margin-bottom: 0.5rem;
    }
}

/* 新卒採用 */
.p-requirements-interview-grid {
    display: grid;
    gap: 0.5rem;
    grid-template-columns: repeat(3, 1fr);
}

.newgbanner {
    width: 16vw;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: transform .5s ease;
}

.p-entry-nav__titlepri:hover .newgbanner {
    transform: translate(-50%, -50%) scale(1.1);
}

@media (max-width: 767px) {
    .newgbanner {
        width: 75%;
    }
}

/* 中途採用 */
.midbanner {
    width: 30vW;
}

@media (max-width: 767px) {
    .midbanner {
        width: 100%;
    }
}

/* 仕事紹介 - 一覧 */

.p-work-content {
    padding-block: 8rem 16rem;
}

.p-work-content02 {
    border-bottom: 1px solid #484848;
}

.p-work-content-dm {
    padding-block: 8rem 0;
}

.p-work-content__heading {
    margin-bottom: 5rem;
}

.p-work-content__body {
    margin-top: 3rem;
}

.p-work-content__image {
    position: relative;
}

.p-work-content__imagetext {
    position: absolute;
    display: flex;
    color: white;
    top: 20%;
    left: 13%;
    gap: 20vw;
    font-weight: var(--border-radius-semicircle);
}

.p-work-content__imagetext p {
    background-color: rgb(244 142 26 / 0.6);
    padding: 2rem;
    border-radius: 2rem;
}

.p-work-nav__list {
    display: grid;
    gap: 3rem;
    grid-template-columns: repeat(3, 1fr);
}

.p-work-nav__item {
    position: relative;
}

.p-work-nav__link {
    display: block;
    overflow: hidden;
}

.p-work-nav__link img {
    height: auto;
    transition: transform .6s ease;
    width: 100%;
}

.p-work-nav__link:hover img {
    transform: scale(1.1);
}

.p-work-nav__image {
    aspect-ratio: 16 / 9;
    filter: brightness(80%);
    object-fit: cover;
    object-position: center;
    width: 100%;
}

.p-work-nav__title {
    bottom: 1rem;
    color: white;
    font-size: 2.4rem;
    font-weight: var(--font-weight-semibold);
    left: 1rem;
    position: absolute;
}

.worknumber {
    font-size: 3.5rem;
    margin-right: 0.5rem;
}

@media (max-width: 1200px) {
    .p-work-nav__title {
        font-size: max(calc(2.4 / var(--responsive-xxl)), 1.8rem);
    }
}

@media (max-width: 767px) {
    .p-work-nav__list {
        grid-template-columns: 1fr;
    }

    .p-work-content__heading {
        margin-bottom: 3rem;
    }
}

@media (max-width: 576.98px) {
    .p-work-content {
        padding-block: 5rem 7rem;
    }
}

/* 仕事紹介 - 詳細 */

.p-work-content__text {
    margin-bottom: 2rem;
}

.p-work-content__text02 {
    margin-bottom: 5rem;
}

.p-work-content__paragraph {
    line-height: 2;
    font-weight: bold;
}

.p-work-content__row {
    display: grid;
    gap: 5rem;
    grid-template-columns: min(60rem, 28%) 1fr;
    grid-template-rows: auto;
}

.p-work-content__row02 {
    display: grid;
    gap: 5rem;
    grid-template-columns: min(60rem, 50%) 1fr;
    grid-template-rows: auto;
}

.p-work-content-gallery {
    display: grid;
    gap: 2rem;
}

.p-work-content-gallery__image {
    width: 100%;
    margin: auto;
}

.p-work-content-flow__heading { 
    padding-block: 2rem;
    border-bottom: 1px solid var(--color-gray);
}

.p-work-content-flow__headingdec {
    color: var(--color-primary);
}

.p-work-content-flow__blockflu {
    border-bottom: 1px solid var(--color-gray);
    padding-block: 2rem;
}

.p-work-content-flow__blockvhi {
    border-top: 1px solid var(--color-gray);
    padding-block: 2rem;
}

.p-work-content-flow__blockvhi02 {
    border-bottom: 1px solid var(--color-gray);
    border-top: 1px solid var(--color-gray);
    padding-block: 2rem;
}

.p-work-content-flow__blockqm {
    border-bottom: 1px solid var(--color-gray) !important;
    padding-block: 2rem;
}

.p-work-content-flow__sequence {
    color: var(--color-primary);
    font-size: 3rem;
    font-weight: var(--font-weight-semibold);
    position: relative;
    margin-right: 1rem;
}

.p-work-content-flow__title {
    font-weight: var(--font-weight-semibold);
}

.p-work-content-flow__detail {
    margin-top: 1rem;
    padding-right: 3rem;
    font-size: var(--font-size-default);
}

@media (max-width: 767.98px) {
    .p-work-content__row {
        grid-template-columns: 1fr;
    }

    .p-work-content-gallery {
        gap: 1rem;
        grid-template-columns: repeat(1, 1fr);
        order: 1;
    }

    .p-work-content-flow {
        order: 0;
    }

    .p-work-content-flow__detail {
        font-size: 1.4rem;
        padding: 0 0 0 3rem;
    }

    .p-work-content-flow__block {
        border-bottom: none;
        padding-block: 3rem 3rem;
    }

    .p-work-content-gallery {
        padding-bottom: 5rem;
    }

    .p-work-content-flow__blockqm {
        border-bottom: none;
        padding-block: 2.2rem;
    }

    .p-work-content__row02 {
        display: block;
    }
}

@media (max-width: 575.98px) {
    .p-work-content-gallery {
        grid-template-columns: 1fr;
    }

    .p-work-content__row {
        gap: 0;
    }

    .p-work-content-flow__title,
    .p-work-content-flow__detail {
        padding-left: 0;
    }
}

/* =============================
Utility
.u-<プロパティ名>-<値>
============================== */

.u-color-primary {
    color: var(--color-primary);
}

.u-font-size-3 {
    font-size: 3rem;
}

.u-font-weight-bold {
    font-weight: bold;
}

.qaa {
    font-size: 2rem;
    font-weight: bold
}

.u-d-block {
    display: block;
}

.u-d-block-sm {
    display: block;
}

.u-d-none-sm {
    display: none;
}

@media (max-width: 575.98px) {
    .u-d-block-sm {
        display: none;
    }

    .u-d-none-sm {
        display: block;
    }
}




.mt-10 {
    margin-top: 10rem;
}

.entrysm {
    font-size: 1.5rem;
}

@media (max-width: 575.98px) {

    .p-company-data-grid-cell-holiday,
    .p-company-data-grid-cell-overtime {
        padding: 3rem;
    }
}

.video-wrap {
    position: relative;
}

.video-btn {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 40px;
    cursor: pointer;
}

video {
    width: 100%;
    cursor: pointer;
}

.intdetail {
    font-size: 2.1rem;
}

@media (max-width: 767.98px) {
    .intdetail {
        display: none;
    }
}

.number-work {
    background-color: #EC6C00;
    width: 110px;
    height: 110px;
    text-align: center;
    color: white;
    font-weight: bold;
    border-radius: 50%;
    padding-top: 20px;

}

.worktext {
    font-size: var(--font-size-default);
    position: absolute;
    padding: 0.5rem 0.7rem;
}

.numberwork1 {
    position: absolute;
    z-index: 100;
    margin-top: 40px;
    right: 50%;
}

.numberwork2 {
    position: absolute;
    z-index: 100;
    margin-top: 60px;
    right: 15%;
}

.numberwork3 {
    position: absolute;
    z-index: 100;
    margin-top: 70px;
    left: 20%;
}

@media (max-width: 890px) {
    .worktext {
        position: static;
    }

    .p-work-nav__title {
        bottom: 9rem;
    }
}

@media (max-width: 575.98px) {

    .number-work {
        width: 40px;
        height: 40px;
        padding-top: 10px;
    }

    .spn {
        display: none;
    }

    .numberwork1 {
        margin-top: 20px;
        right: 45%;
    }

    .numberwork2 {
        right: 15%;
        margin-top: 20px;
    }

    .numberwork3 {
        margin-top: 20px;
    }

    .worktext {
        position: static;
    }

    .p-work-nav__title {
        bottom: 9rem;
    }
}

.df {
    display: flex;
    column-gap: 3rem;
}

.w50 {
    width: 50%;
}

.dmtext {
    flex: 1;
}

.dmimage {
    width: 50%;
    max-width: 30vw;
}

.dmimage img {
    width: 100%;
}

.dmmt {
    margin-top: 3rem;
}

.p-message-dm {
    max-width: 50vw;
}

.hdmimg {
    width: auto;
    height: 200%;
}

.p-dm__imageh {
    height: 910px;
    width: auto;
    object-fit: cover;
}

.p-dm__imagek {
    height: 700px;
    width: auto;
    object-fit: cover;
}

.pcn {
    display: none;
}

.pcmt {
    margin-top: 9rem;
    object-position: 55% 50%;
}

@media (max-width: 1200px) {
    .df {
        display: block;
    }

    .dmimage {
        width: 100%;
        max-width: 100vw;
    }

    .p-dm__image {
        height: 300px;
    }

    .p-message-dm {
        max-width: 100vw;
    }

    .smn {
        display: none;
    }

    .pcn {
        display: block;
        margin-bottom: 2rem;
    }

    .p-interview-midqa__left {
        width: 100%;
    }
}

/*フェードイン*/
.fadein {
    opacity: 0;
    transform: translate(0, 50px);
    transition: all 0.8s ease;
}

.fadein.scrollin {
    opacity: 1;
    transform: translate(0, 0);
}

@keyframes fadein-bottom {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* トップメッセージ　アニメーション */

.fade-in-char {
    display: inline-block;
    position: relative;
    opacity: 0;
    transform: translateX(-20px);
    animation: fadeInLeft 0.5s ease-out forwards;
}

.fade-in-char {
    display: inline-block;
    position: relative;
    opacity: 0;
    transform: translateY(10px);
    animation: fadeInUp 0.5s ease-out forwards;
    animation-delay: var(--char-delay);
}

.fade-in-char::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
    width: 100%;
    background: linear-gradient(90deg, transparent, #ffd517, transparent);
    transform: scaleX(0);
    transform-origin: left;
    opacity: 0;
    animation: sparkle-line 0.5s ease-out forwards;
    animation-delay: var(--underline-delay);
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(10px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes sparkle-line {
    0% {
        transform: scaleX(0);
        opacity: 1;
    }

    70% {
        transform: scaleX(1);
        opacity: 1;
    }

    100% {
        transform: scaleX(1);
        opacity: 0;
    }
}

/* トップメッセージ　改行 */
.p-top-fv__catch {
    display: block;
    white-space: normal;
    line-height: 1.6;
    /* お好みで */
}

.p-top-fv__sp_br{
    display:none;
}

.br-when-narrow {
    display: inline-block;
}

@media screen and (max-width: 1636px) {
    .br-when-narrow {
        display: inline;
    }

    .br-when-narrow::after {
        content: "\A";
        /* 改行コード */
        white-space: pre;
    }
}

@media (max-width: 575.98px){
    .p-top-fv__sp_br{
        display:block;
    }
}

@media (max-width: 383px) {
    .p-top-fv__catch {
        font-size: clamp(4.5rem, 6vw, 8rem);
    }
}

.smbr {
    display: none;
}

@media (max-width: 575.98px){
    .smbr {
        display: block;
    }
}