@charset "UTF-8";
/*!
global > mixin
------------------------------
*/

/* .p_top_mv-ttl-en {
    font-size: 1.5rem;
} */

/* 250912追加 */
/* .p_top_mv-ttl span:nth-of-type(2) {
    font-size: 0.85rem;
} */
.p_top_mv-ttl-ja {
    font-size: 2.1875rem;
}
.p_top_mv {
    overflow: hidden;
    position: relative;
    z-index: 0;
}
.p_top_mv-video {
    margin: 0;
}
.p_top_mv-video video {
    width: 100%;
    height: calc(50vh - 60px);
    max-height: 350px;
    min-height: 250px;
    -o-object-fit: cover;
    object-fit: cover;
    display: block;
}
.p_top_mv-ttl {
    align-items: center;
    display: flex;
    flex-direction: column;
    inset: 0;
    justify-content: center;
    padding: 0 20px;
    position: absolute;
}
.p_top_mv-ttl-ja {
    color: #fff;
    font-size: clamp(1.875rem, 3.9024390244vw + 0.9603658537rem, 4.375rem);
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.2857142857;
}
.p_top_mv-ttl-en {
    color: hsla(0, 0%, 100%, 0.5);
    /* 250922修正 */
    font-size: clamp(0.85rem, 1.9512195122vw + 0.7926829268rem, 1.5rem);
    font-style: italic;
    font-weight: 600;
    line-height: 1.3333333333;
}
.p_top_caution {
    padding-bottom: 20px;
    padding-top: 60px;
    position: relative;
    z-index: 0;
}
.p_top_caution > .container {
    max-width: 1240px;
}
.p_top_caution-btn {
    background-color: #fff;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
    cursor: pointer;
    padding: 20px;
    transition: 0.3s ease-in-out;
}
.p_top_caution-btn:hover .p_top_caution-ttl span {
    text-decoration-color: transparent;
}
.p_top_caution-info {
    align-items: center;
    color: var(--cl_red_sweet);
    display: flex;
    font-size: clamp(1rem, 0.3902439024vw + 0.9085365854rem, 1.25rem);
    font-weight: 700;
    gap: 9px;
    line-height: 1.5;
    position: relative;
}
.p_top_caution-info:before {
    background: url(../images/common/icon_caution.svg) no-repeat 50%;
    background-size: contain;
    content: "";
    display: inline-block;
    height: 33px;
    width: clamp(1.6875rem, 1.5748031496vw + 0.9345472441rem, 2.3125rem);
}
.p_top_caution-ttl {
    font-size: clamp(1rem, 0.3902439024vw + 0.9085365854rem, 1.25rem);
    font-weight: 400;
    line-height: 1.5;
}
.p_top_caution-ttl span {
    display: inline-block;
    position: relative;
    text-decoration: underline;
    text-decoration-thickness: 0.5px;
    text-underline-offset: 3px;
    transition: 0.4s ease-in-out;
}
.p_top_business {
    padding-top: 40px;
    position: relative;
    z-index: 0;
}
.p_top_business_ttl {
    align-self: start;
    grid-area: ttl;
}
.p_top_business_txt {
    align-self: start;
    grid-area: txt;
    line-height: 1.8;
    margin-top: 10px;
}
.p_top_business_btn {
    align-self: start;
    grid-area: btn;
    margin-top: 20px;
    margin-inline: auto;
}
.p_top_business_catcy {
    align-items: center;
    aspect-ratio: 1/1;
    background: linear-gradient(180deg, #00af7f, #007b77);
    display: flex;
    grid-area: catcy;
    margin-top: 20px;
    margin-inline: auto;
    max-width: 380px;
    padding: 20px 10px 20px 20px;
    position: relative;
    width: 60%;
    z-index: 1;
}
.p_top_business_catcy:after {
    aspect-ratio: 324/236;
    background: url(../images/top/icon_business.svg) no-repeat;
    background-size: contain;
    bottom: 0;
    content: "";
    display: inline-block;
    position: absolute;
    right: 0;
    width: clamp(12.5rem, 8.0258899676vw + 10.6189320388rem, 20.25rem);
}
.p_top_business_catcy_txt {
    color: #fff;
    font-size: clamp(1.25rem, 3.164556962vw + -0.2689873418rem, 2.5rem);
    font-weight: 700;
    line-height: 1.5;
}
.p_top_business-list {
    gap: 10px;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-top: 20px;
}
.p_top_business-item a {
    display: block;
    position: relative;
    z-index: 0;
}
.p_top_business-item-ttl {
    align-items: center;
    display: flex;
    flex-direction: column;
    inset: 0;
    justify-content: center;
    position: absolute;
    z-index: 1;
}
.p_top_business-item-ttl-ja {
    color: #fff;
    font-size: clamp(1.5rem, 2.5196850394vw + 0.2952755906rem, 2.5rem);
    font-weight: 700;
    line-height: 1.3333333333;
}
.p_top_business-item-ttl-en {
    color: hsla(0, 0%, 100%, 0.5);
    font-family: Segoe UI, sans-serif;
    font-size: clamp(0.875rem, 0.6299212598vw + 0.5738188976rem, 1.125rem);
    font-style: italic;
    font-weight: 600;
    line-height: 1.6666666667;
}
.p_top_business-item-img {
    position: relative;
    z-index: 0;
}
.p_top_business-item-img:before {
    background: linear-gradient(180deg, #003cc6, #000c5b);
    content: "";
    display: block;
    inset: 0;
    opacity: 0.5;
    position: absolute;
}
.p_top_about {
    padding-top: 40px;
    position: relative;
    z-index: 0;
}
.p_top_about_ttl {
    align-self: start;
    gap: clamp(1.25rem, 0vw + 1.25rem, 1.25rem);
    grid-area: ttl;
}
.p_top_about_lead-txt {
    align-self: start;
    grid-area: lead;
    margin-top: 10px;
}
.p_top_about_txt {
    grid-area: txt;
    line-height: 1.625;
    margin-top: 10px;
}
.p_top_about_btn {
    align-self: start;
    grid-area: btn;
}
.p_top_about_btn,
.p_top_about_img {
    margin-top: 20px;
    margin-inline: auto;
}
.p_top_about_img {
    align-items: center;
    display: flex;
    grid-area: img;
    position: relative;
    width: 70%;
    z-index: 1;
}
.p_top_about-data {
    margin-top: 30px;
    padding-bottom: 40px;
    padding-top: 40px;
    position: relative;
    z-index: 0;
}
.p_top_about-data:after {
    background: url(../images/top/bk_data01.svg) no-repeat 50% / cover,
        linear-gradient(-90deg, #003cc6, #000c5b);
    content: "";
    display: block;
    inset: 0;
    left: calc(50% - 50vw);
    position: absolute;
    right: calc(50% - 50vw);
    z-index: -2;
}
.p_top_about-data-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 40px;
}
.p_top_about-data-item {
    align-items: center;
    color: #fff;
    display: flex;
    flex-direction: column;
    width: calc(50% - 10px);
}
.p_top_about-data-item-name {
    font-size: clamp(1rem, 1.2658227848vw + 0.3924050633rem, 1.5rem);
    font-weight: 700;
    line-height: 2;
}
.p_top_about-data-item-value {
    align-items: baseline;
    display: flex;
}
.p_top_about-data-item-value01 {
    font-family: Segoe UI, sans-serif;
    font-size: clamp(2.5rem, 6.3291139241vw + -0.5379746835rem, 5rem);
    font-weight: 700;
}
.p_top_about-data-item-value02 {
    font-size: clamp(1.25rem, 1.582278481vw + 0.4905063291rem, 1.875rem);
    font-weight: 700;
}
.p_top_about-data-btn {
    background-color: #fff;
    color: var(--cl_main);
    margin-inline: auto;
    margin-top: 30px;
    transition: 0.4s;
}
.p_top_about-data-btn:hover {
    background-color: #ccc;
    opacity: 1;
}
.p_top_news {
    padding-bottom: 20px;
    padding-top: 60px;
    position: relative;
    z-index: 0;
}
.p_top_news_ttl {
    gap: clamp(1.25rem, 0.7911392405vw + 0.8702531646rem, 1.5625rem);
}
.p_top_news-content-item {
    padding-bottom: 24px;
    padding-top: 24px;
}
.p_top_news-content-item + .p_top_news-content-item {
    margin-top: 5px;
}
/* 250922ニュース記事１件のみのため修正 */
/* .p_top_news-content-item:not(:last-of-type)  */
.p_top_news-content-item {
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
.p_top_news-content-item > a {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.p_top_news-content-item > a:hover .p_top_news-content-item-ttl span {
    text-decoration-color: transparent;
}
.p_top_news-content-item-date {
    color: var(--cl_main);
    font-family: Segoe UI, sans-serif;
}
.p_top_news-content-item-date,
.p_top_news-content-item-ttl {
    font-size: clamp(0.875rem, 0.1951219512vw + 0.8292682927rem, 1rem);
    font-weight: 700;
}
.p_top_news-content-item-ttl {
    line-height: 1.5;
    margin-left: 30px;
}
.p_top_news-content-item-ttl span {
    position: relative;
    /* text-decoration: underline; 250922修正*/
    transition: 0.5s;
}
.p_top_recruit {
    padding-top: 40px;
    position: relative;
    z-index: 0;
}
.p_top_recruit_content {
    background: url(../images/top/img_recruit01.webp) no-repeat 50%;
    background-size: cover;
    padding: 20px;
    position: relative;
    z-index: 0;
}
.p_top_recruit_content:before {
    background-color: hsla(0, 0%, 100%, 0.2);
    content: "";
    display: inline-block;
    inset: 0;
    position: absolute;
    z-index: -1;
}
.p_top_recruit_lead-txt {
    color: #fff;
    font-size: 1.125rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.4;
    margin-top: 10px;
}
.p_top_recruit_txt {
    line-height: 1.625;
    margin-top: 10px;
}
.p_top_recruit_txt p + p {
    margin-top: 10px;
}
.p_top_recruit_btn {
    margin-top: 20px;
}
.p_top_company {
    background-color: #f5f5f5;
    margin-top: 40px;
    padding-bottom: 30px;
    padding-top: 40px;
    position: relative;
    z-index: 0;
}
.p_top_company_ttl {
    gap: clamp(1.25rem, 0.7911392405vw + 0.8702531646rem, 1.5625rem);
}
.p_top_company_content {
    margin-top: 20px;
}
.p_top_company_slider {
    display: flex;
    margin-right: calc(50% - 50vw);
}
.p_top_company_slider-item {
    position: relative;
    width: clamp(17.5rem, 5.0890585242vw + 16.3072519084rem, 18.75rem);
    z-index: 0;
}
.p_top_company_slider-item > a {
    display: block;
    position: relative;
    width: calc(100% - 20px);
}
.p_top_company_slider-item-ttl {
    bottom: 14px;
    color: #fff;
    font-size: clamp(1.125rem, 2.8481012658vw + -0.2420886076rem, 2.25rem);
    font-weight: 700;
    left: 0;
    line-height: 1.3333333333;
    position: absolute;
    right: 0;
    text-align: center;
    z-index: 1;
}
.p_top_company_slider-item-btn {
    bottom: 0;
    position: absolute;
    right: 0;
    z-index: 1;
}
.p_top_company_slider-item-img {
    overflow: hidden;
}
.p_top_company_slider-item-img img {
    aspect-ratio: 1/1;
    min-height: 180px;
    -o-object-fit: cover;
    object-fit: cover;
}
.p_top_company_bottom {
    display: flex;
    flex-direction: column;
    margin-top: 20px;
}
.p_top_company_pagenation {
    align-items: center;
    display: flex;
    gap: clamp(0.625rem, 0.5870841487vw + 0.4863013699rem, 1rem);
}
.p_top_company_pagenation .slick-next {
    rotate: 180deg;
}
.p_top_company_btn {
    margin-top: 20px;
    margin-inline: auto;
}
.p_top_csr {
    margin-top: 40px;
    position: relative;
    z-index: 0;
}
.p_top_csr a {
    background: url(../images/top/bk_csr.webp) no-repeat 50%;
    background-size: cover;
    display: block;
    padding-bottom: 30px;
    padding-top: 30px;
}
.p_top_csr_ttl {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 0;
}
.p_top_csr_ttl-ja {
    color: #fff;
}
.p_top_csr_ttl-en {
    color: var(--cl_green);
}
.p_top_csr_txt {
    color: #fff;
    font-size: clamp(0.875rem, 1.2658227848vw + 0.2674050633rem, 1.375rem);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.9545454545;
    margin-top: 20px;
    text-align: center;
}
.p_top_csr-btn {
    margin-top: 20px;
    margin-inline: auto;
}
@media screen and (min-width: 768px) {
    .p_top_mv-ttl-en {
        /* 250922修正 */
        font-size: 1.5rem;
    }
    /* 0912追加 */
    /* .p_top_mv-ttl span:nth-of-type(2) {
        font-size: 1.5rem;
    } */
    .p_top_mv-ttl-ja {
        font-size: 4.375rem;
    }
    .p_top_mv-video video {
        aspect-ratio: 1920/962;
        height: auto;
        min-height: 962px;
    }
    .p_top_mv-ttl {
        margin-top: -89px;
    }
    .p_top_caution {
        padding-bottom: 100px;
        padding-top: 100px;
    }
    .p_top_caution-btn {
        align-items: center;
        display: grid;
        gap: clamp(1.25rem, 5.1968503937vw + -1.2347440945rem, 3.3125rem);
        grid-template-columns: 200px 1fr;
        padding: 24px 20px 24px
            clamp(1.25rem, 9.1954022989vw + -3.1465517241rem, 3.75rem);
    }
    .p_top_caution-ttl span {
        text-underline-offset: auto;
    }
    .p_top_business {
        padding-top: 50px;
    }
    .p_top_business-top {
        display: grid;
        grid-template-areas: "ttl catcy" "txt  catcy" "btn  catcy";
        grid-template-columns: minmax(435px, 1fr) minmax(200px, 435px);
        grid-template-rows: auto auto auto;
        justify-content: space-between;
    }
    .p_top_business_txt {
        margin-top: -84px;
    }
    .p_top_business_btn {
        margin-left: 0;
        margin-top: -68px;
    }
    .p_top_business_catcy {
        align-self: start;
        display: inline-block;
        justify-self: end;
        margin-top: -32px;
        margin-inline: 0;
        max-width: none;
        padding-left: clamp(1.25rem, 4.6829268293vw + 0.1524390244rem, 4.25rem);
        padding-top: clamp(
            1.25rem,
            6.3414634146vw + -0.2362804878rem,
            5.3125rem
        );
        width: clamp(18.75rem, 21.2598425197vw + 8.5851377953rem, 27.1875rem);
    }
    .p_top_business_catcy:after {
        background-size: 100%;
        width: 74.4827586207%;
    }
    .p_top_business-list {
        display: flex;
        gap: 22px;
        margin-top: -39px;
    }
    .p_top_business-item-ttl {
        margin-top: -19px;
    }
    .p_top_about {
        padding-top: 160px;
    }
    .p_top_about-top {
        display: grid;
        grid-template-areas: "ttl img" "lead img" "txt img" "btn img";
        grid-template-columns: minmax(435px, 714px) 1fr;
        grid-template-rows: auto;
        justify-content: space-between;
    }
    .p_top_about_txt {
        width: clamp(25rem, 49.4488188976vw + 1.3572834646rem, 44.625rem);
    }
    .p_top_about_btn {
        margin-left: 0;
    }
    .p_top_about_img {
        display: inline-block;
        justify-self: end;
        margin-top: -50px;
        width: clamp(18.75rem, 52.125984252vw + -6.1727362205rem, 39.4375rem);
    }
    .p_top_about-data {
        margin-top: 70px;
        padding-bottom: 50px;
        padding-top: 80px;
    }
    .p_top_about-data-list {
        gap: 20px;
    }
    .p_top_about-data-item {
        justify-content: center;
        width: auto;
    }
    .p_top_about-data-item:not(:last-of-type) {
        margin-right: clamp(
            1.25rem,
            8.7025316456vw + -2.9272151899rem,
            4.6875rem
        );
    }
    .p_top_about-data-item:nth-of-type(2) {
        margin-right: clamp(
            1.25rem,
            16.9303797468vw + -6.8765822785rem,
            7.9375rem
        );
    }
    .p_top_about-data-btn {
        margin-top: 73px;
    }
    .p_top_news {
        padding-top: 108px;
    }
    .p_top_news > .container {
        display: grid;
        gap: clamp(1.25rem, 12.6582278481vw + -4.8259493671rem, 6.25rem);
        grid-template-columns: minmax(200px, 300px) minmax(500px, 1000px);
    }
    .p_top_news-content-item > a {
        align-items: center;
        display: grid;
        gap: clamp(0.25rem, 2.1463414634vw + -0.2530487805rem, 1.625rem);
        grid-template-columns: 90px 1fr;
    }
    .p_top_recruit {
        padding-top: 106px;
    }
    .p_top_recruit_content {
        padding-bottom: clamp(
            1.25rem,
            3.7974683544vw + -0.5727848101rem,
            2.75rem
        );
        padding-left: clamp(
            1.25rem,
            12.6582278481vw + -4.8259493671rem,
            6.25rem
        );
        padding-top: clamp(1.25rem, 5.6962025316vw + -1.4841772152rem, 3.5rem);
    }
    .p_top_recruit_content:before {
        background-color: transparent;
    }
    .p_top_recruit_lead-txt {
        font-size: clamp(1.25rem, 4.746835443vw + -1.0284810127rem, 3.125rem);
    }
    .p_top_recruit_txt {
        margin-top: 15px;
    }
    .p_top_recruit_txt p + p {
        margin-top: 26px;
    }
    .p_top_recruit_btn {
        margin-top: 30px;
    }
    .p_top_company {
        margin-top: 125px;
        padding-bottom: 65px;
        padding-top: 102px;
    }
    .p_top_company_content {
        margin-top: 34px;
    }
    .p_top_company_slider-item {
        width: clamp(18.75rem, 50.6329113924vw + -5.5537974684rem, 38.75rem);
    }
    .p_top_company_slider-item > a {
        width: calc(100% - 38px);
    }
    .p_top_company_slider-item-img img {
        aspect-ratio: 620/380;
        min-height: 280px;
    }
    .p_top_company_bottom {
        flex-direction: row;
        justify-content: space-between;
        margin-top: clamp(1.25rem, 5.6585365854vw + -0.0762195122rem, 4.875rem);
    }
    .p_top_company_btn {
        margin-right: 0;
        margin-top: 0;
    }
    .p_top_csr {
        margin-top: 113px;
    }
    .p_top_csr a {
        padding-bottom: 52px;
        padding-top: 60px;
    }
    .p_top_csr_txt {
        margin-top: clamp(1.25rem, 3.6097560976vw + 0.4039634146rem, 3.5625rem);
    }
    .p_top_csr-btn {
        margin-top: 28px;
    }
}
@media screen and (min-width: 1024px) {
    .p_top_about_lead-txt {
        margin-top: -35px;
    }
    .p_top_about_txt {
        margin-top: -38px;
    }
    .p_top_about_btn {
        margin-top: -15px;
    }
}
/* 250922追加 */
@media (max-width: 768px) {
  .p_top_mv-ttl-en {
    font-size: clamp(0.75rem, 1.9512195122vw + 0.7926829268rem, 1.0rem);
  }
}
/* 250922追加 */
@media (max-width: 500px) {
  .p_top_mv-ttl-en {
    font-size: clamp(0.65rem, 1.9512195122vw + 0.2rem, 0.9rem);
  }
}