@charset "UTF-8";
/* トップページスタイル */
:root {
    --primary-main: #009B70;
    --primary-sub1: #DFEADD;
    --primary-sub2: #E4F1E2;
    --primary-sub3: #F2F8F1;
    --grayscale-main: #333333;
    --grayscale-sub1: #666666;
    --grayscale-sub2: #D7D7D7;
    --grayscale-sub3: #ffffff;
    --accent-color: #E64C20;
    --bg-base: #F2F8F1;
    --bg-gradient: linear-gradient(90deg, #f2f8f199, #93b38e33);
    --bg-gradient-reverse: linear-gradient(-90deg, #f2f8f199, #93b38e33);
    --container-narrow: 970px;
    --container-wide: 1210px;
    --container-padding: 16px;
}
/*--------------------------------
 全体
---------------------------------*/
/*--------------------------------
 CTA
---------------------------------*/
.double-content {
    /* font-size: 78-100px; */
    font-size: clamp(4.875rem, 2.799rem + 5.53vw, 6.25rem);
}
.c-cta {
    padding: 17vw 0 10vw;
}
.c-cta .p-text {
    margin-bottom: 5vw;
}
.c-cta::before {
    background-size: auto 100%;
}
/*--------------------------------
 footer
---------------------------------*/
footer .logo {
    width: clamp(15.625rem, 9.207rem + 17.09vw, 19.875rem);
    margin-bottom: 5vw;
}
@media screen and (max-width: 670px) {
    footer .c-footer-main {
        flex-direction: column;
        row-gap: 1rem;
    }
    .c-footer-nav {
        /* row-gap: 5rem; */
    }
    .c-footer-under {
        flex-direction: column;
        row-gap: 1rem;
    }
    .c-footer-under>div {
        order: 2;
    }
}
/*--------------------------------
 レイアウト
---------------------------------*/
.p-text {
    /* margin-bottom: 38px; */
    line-height: 2.2;
}
/*--------------------------------
 見出し
---------------------------------*/
.c-heading {
    /* 601-999  row-gap: 14-18px; */
    row-gap: clamp(0.875rem, 0.497rem + 1.01vw, 1.125rem);
    /* 601-999  margin-bottom: 30-38px; */
    margin-bottom: clamp(1.875rem, 1.12rem + 2.01vw, 2.375rem);
}
.c-heading .main {
    /* 601-999  font-size: 36-48px; */
    font-size: clamp(2.25rem, 1.117rem + 3.02vw, 3rem);
}
.c-heading .sub {
    /* 601-999  font-size: 18-20px; */
    font-size: clamp(1.125rem, 0.936rem + 0.5vw, 1.25rem);
}
/*--------------------------------
 header
---------------------------------*/
header .logo {
    /* max-width: 213px; */
    /* 601-999  font-size: 250-318px; */
    width: clamp(15.625rem, 9.207rem + 17.09vw, 19.875rem);
}
/*--------------------------------
 ハンバーガーメニュー
---------------------------------*/
/* #navi {
    display: none;
} */
/*--------------------------------
 トップページ
---------------------------------*/
.t-mv .catch-copy {
    /* 601-999  font-size: 50-36px; */
    font-size: clamp(2.25rem, 0.929rem + 3.52vw, 3.125rem);
}
.circle-anime {
    width: 130px;
    height: 130px;
    top: 26%;
    right: 12%;
}
@media screen and (max-width: 900px) {
    .t-message .flex {
        flex-direction: column;
    }
    .t-message .main-title {
        width: 100%;
    }
    .t-message .img-over {
        margin-left: auto;
    }
    .t-message .img-over img {
        aspect-ratio: 9 / 5;
    }
    .t-message .main-text {
        width: 100%;
    }
    .t-message::before {
        top: 40%;
    }
    .t-message .main-text .img-right img {
        width: 400px;
    }
}
.t-message {
    /* 601-999  padding-top: 150-200px; */
    padding-top: clamp(9.375rem, 4.656rem + 12.56vw, 12.5rem);
}
.t-message .c-heading {
    /* 601-999  margin-bottom: 30-38px; */
    margin-bottom: clamp(1.875rem, 1.12rem + 2.01vw, 2.375rem);
}
.t-message .main-text h3 {
    /* 601-999  margin-bottom: 46-60px; */
    margin-bottom: clamp(2.875rem, 1.554rem + 3.52vw, 3.75rem);
}
.t-message::before {
    /* 601-999  font-size: 130-170px; */
    font-size: clamp(8.125rem, 4.35rem + 10.05vw, 10.625rem);
}
.t-message .main-text .img-right img {
    /* 601-999  width : 300-400px; */
    width: clamp(18.75rem, 9.312rem + 25.13vw, 25rem);
}
@media screen and (max-width: 700px) {
    .t-about .t-about-main {
        padding: 100px 50px;
    }
}
.t-traditional {
    padding: 100px 0 160px 0;
}
.t-traditional .flex {
    display: flex;
    flex-direction: column;
}
.t-traditional-text {
    display: contents;
}
.t-traditional .c-heading,
.t-traditional .p-text,
.t-traditional .t-traditional-btn {
    order: 1;
    width: 100%;
}
.t-traditional-img {
    order: 2;
    width: 100%;
    margin-left: 0;
}
.thumbnail {
    padding-bottom: 55px;
}
.thumbnail-area {
    order: 3;
    width: 100%;
}
.t-traditional-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 1 / 1;
    margin-bottom: 4vw;
}
.thumbnail .thumbnail-img {
    width: calc(100% / 3);
    padding: 0 1.5vw;
    height: auto;
}
.thumbnail .thumbnail-img img {
    width: 100%;
    height: 100%;
}
.t-ourjob {
    padding-top: 100px;
    /* padding-bottom: 300px; */
    /* 601-999  padding-bottom : 200-300px; */
    padding-bottom: clamp(12.5rem, 3.062rem + 25.13vw, 18.75rem);
}
.t-ourjob::after {
    border-bottom: 110px solid var(--grayscale-sub3);
}
.t-ourjob-entext::before {
    font-size: 195px;
}
.t-ourjob .c-heading {
    width: 95%;
}
.t-ourjob-contents {
    width: 90%;
    margin: auto;
    position: relative;
    border-radius: 30px;
}
.t-ourjob-entext {
    width: 0;
}
.t-ourjob .c-heading {
    position: relative;
    z-index: 1;
}
.t-ourjob-item-img figcaption {
    width: 60%;
    padding-top: 15px;
}
@media screen and (max-width: 860px) {
    .t-ourjob-contents {
        grid-template-columns: repeat(1, 1fr);
    }
    .t-ourjob-item a {
        padding: 8vw 6vw;
    }
    .t-ourjob-item:nth-of-type(odd) {
        border-right: none;
    }
    .t-ourjob-item:nth-of-type(3) {
        border-bottom: 1px solid var(--grayscale-sub2);
    }
    .t-ourjob-entext::before {
        content: "";
    }
}
.t-welfare {
    padding-top: 100px;
    padding-bottom: 150px;
}
.card-container {
    gap: 1rem;
}
@media screen and (max-width: 860px) {
    .card-container {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }
    .card-container>li:nth-of-type(1) {
        grid-area: 1 / 1 / 2 / 2;
    }
    .card-container>li:nth-of-type(2) {
        grid-area: 1 / 2 / 2 / 3;
    }
    .card-container>li:nth-of-type(3) {
        grid-area: 2 / 1 / 3 / 3;
    }
    .card-container .card {
        padding: 5vw 4vw;
    }
    .card-container {
        margin-bottom: 6vw;
    }
    .t-welfare::after {
        bottom: -8%;
    }
}
.card-container .card img {
    width: 100px;
}
.card-container .card h3 {
    /* font-size: 24px; */
    /* 601-999  font-size : 33-24px; */
    font-size: clamp(1.375rem, 1.186rem + 0.5vw, 1.5rem);
}
.t-welfare::after {
    bottom: -24%;
}
.t-carrers-text,
.t-carrers-img {
    flex: auto;
}
.t-careers .flex {
    align-items: flex-end;
    column-gap: 3vw;
}
@media screen and (max-width: 860px) {
    .t-careers .flex {
        flex-direction: column;
        align-items: flex-start;
        row-gap: 5vw;
    }
    .t-carrers-img img {
        max-width: 100%;
        aspect-ratio: 6 / 3;
    }
}
/*--------------------------------
 下層_共通_main-visual
---------------------------------*/
.l-heading {
    row-gap: 12px;
    /* 601-999  24-38*/
    margin-bottom: clamp(1.5rem, 0.179rem + 3.52vw, 2.375rem);
    /* 601-999  50-70*/
    margin-top: clamp(3.125rem, 1.237rem + 5.03vw, 4.375rem);
}
.l-heading .main {
    /* 601-999  18-20*/
    font-size: clamp(1.125rem, 0.936rem + 0.5vw, 1.25rem);
}
.l-heading .sub {
    /* 601-999  55-77*/
    font-size: clamp(3.438rem, 1.361rem + 5.53vw, 4.813rem);
}
/* アンカーリンクボタン */
.anchor-list {
    width: 100%;
    padding: 0;
}
.c-btn-anchor {
    width: 230px;
}
@media screen and (max-width: 800px) {
    .c-btn-anchor {
        width: 200px;
    }
}
@media screen and (max-width: 720px) {
    .c-btn-anchor {
        width: 180px;
        font-size: 13px;
        padding: 0 5px;
    }
}
/* 下層_パンくずリスト */
.breadcrumb {
    /* 601-999  40-58*/
    margin-bottom: clamp(3rem, 2.056rem + 2.51vw, 3.625rem);
}
/*--------------------------------
 下層_共通_table
---------------------------------*/
@media screen and (max-width: 700px) {
    .table1 {
        border-spacing: 0;
    }
    .table1 tr {
        display: flex;
        flex-direction: column;
    }
    .table1 th {
        color: var(--primary-main);
        width: 100%;
        border-bottom: none;
        padding: 20px 10px 0px 0px
    }
    .table1 td {
        padding: 0px 10px 20px 0px;
    }
    .dl-grid {
        row-gap: 3px;
    }
}
/*--------------------------------
 下層_aboutページ
---------------------------------*/
.l-about-message-img {
    max-width: 40vw;
}
.l-about-message .flex {
    flex-wrap: wrap;
}
.l-about-about {
    padding-bottom: 150px;
}
/*--------------------------------
 下層_entryページ
---------------------------------*/
.l-entry-flow {
    padding-bottom: 150px;
}
.flow-step {
    font-size: 30px;
}
.flow-title {
    font-size: 22px;
    width: 30%;
}
@media screen and (max-width: 700px) {
    .flow-step {
        font-size: 26px;
        margin-right: 0.4em;
    }
    .flow-title {
        font-size: 18px;
        width: 27%;
    }
}
.l-entry-form {
    padding-top: 150px;
}
/* form */
.form__label-wrap {
    width: 280px;
}
.form__content .form__select {
    width: 60px;
}
@media screen and (max-width: 800px) {
    .form__label-wrap {
        width: 250px;
    }
    .form__item {
        column-gap: 20px;
    }
}
@media screen and (max-width: 750px) {
    .form__item {
        flex-direction: column;
        row-gap: 0.8em;
    }
    .form__label-wrap {
        width: 100%;
        column-gap: 2em;
        justify-content: flex-start;
    }
    .form__radio-group,
    .select_wrapper,
    .form__input-wrapper,
    /* .form__content, */
    .h-adr {
        width: 100%;
    }
}
/*--------------------------------
 our job
---------------------------------*/
.job-list>h3 {
    /* 601-999 28-40px */
    font-size: clamp(1.75rem, 0.617rem + 3.02vw, 2.5rem);
    margin-bottom: 15px;
}
.job-list>.p-text {
    /* 601-999 30-50px */
    margin-bottom: clamp(1.875rem, -0.013rem + 5.03vw, 3.125rem);
}
@media screen and (max-width: 800px) {
    .placement-boxes {
        gap: 10px;
    }
    .l-box-small .flex-center {
        flex-direction: column;
        gap: 10px;
    }
}
.l-job-placement {
    padding-bottom: 150px;
}
.l-job-alignment,
.l-job-job {
    padding: 160px 0;
}
@media screen and (max-width: 700px) {
    .tab-container {
        gap: 6px;
        margin: 0 0 40px;
    }
    .tab {
        font-size: 16px;
    }
}
/*--------------------------------
 welfare
---------------------------------*/
.l-welfare .l-box-medium {
    padding: 5vw 6vw;
}
.welfare-flex img {
    width: 37%;
}
.l-welfare-growth .welfare-flex img {
    width: 36%;
}
@media screen and (max-width: 750px) {
    .welfare-flex {
        flex-direction: column;
        gap: 10px;
        margin-bottom: 1.5em;
    }
    .welfare-flex .ul-list {
        width: 100%;
    }
}
.l-welfare .l-box-small {
    padding: 3vw 2vw;
}
@media screen and (max-width: 750px) {
    .benefit-box {
        grid-template-columns: repeat(1, 1fr);
    }
    .l-welfare .l-box-small {
        padding: 6vw 8vw;
    }
}
.comfort-box>.p-text,
.l-welfare-benefit .container_narrow>.p-text {
    margin-bottom: clamp(1.875rem, -0.013rem + 5.03vw, 3.125rem);
}
.l-welfare-growth ,
.l-welfare-comfort,
.l-welfare-benefit {
    padding: 150px 0;
}