@charset "utf-8";

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

body {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.6rem;
    line-height: 1;
    letter-spacing: 0em;
    color: #141414;
}

/* -----------font-----------*/
.NovaRound {
    font-family: "Nova Round", sans-serif;
    font-weight: 400;
    font-style: normal;
}
.Inter {
    font-family: "Inter", sans-serif;
    font-weight: 400;
    font-style: normal;
}

img {
    width: 100%;
    height: auto;
}

a {
    display: block;
    text-decoration: none;
    color: #141414;
    line-height: 1;
}

.sp {
    display: block;
}

.pc {
    display: none;
}

/* -----------共通-----------*/
.section_inner {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    box-sizing: border-box;
}

.common_contact {
    background: #B10013;
    padding: 7rem 3rem;
    position: relative;
    z-index: 1;
}
.common_contact_title {
    font-size: 4.2rem;
    font-weight: bold;
    color: #FFFFFF;
    margin-bottom: 1rem;
}
.common_contact_subtitle {
    font-size: 1.4rem;
    font-weight: bold;
    color: #FFFFFF;
    letter-spacing: 0.1em;
    margin-bottom: 5rem;
}
.common_contact_text {
    margin: 0 calc(50% - 50vw) 0 auto;
    font-size: clamp(1.25rem, 3.3vw, 1.4rem);
    font-weight: bold;
    color: #FFFFFF;
    letter-spacing: 0.1em;
    line-height: 1.5;
}
.common_contact_btns {
    width: fit-content;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 1.9rem;
    margin-top: 2rem;
}
.common_contact_btn_line {
    width: 100%;
    height: 2px;
    border-radius: 1rem;
    background: #FFFFFF;
}
.common_contact_btns .btn {
    gap: 0.8rem;
}
.common_contact_logo {
    width: 20rem;
    position: absolute;
    bottom: 3rem;
    right: 3rem;
    z-index: -1;
}

.sticky_banner {
    width: 100%;
    height: 5rem;
    display: flex;
    justify-content: space-between;
    position: fixed;
    gap: 1px;
    bottom: 0;
    left: 0;
    z-index: 99;
    background: #FFFFFF;
}
.sticky_banner_item {
    flex-grow: 1;
    font-size: 1.3rem;
    font-weight: bold;
    color: #FFFFFF;
    letter-spacing: 0.1em;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    transition: all 0.3s ease;
}
.sticky_banner_item:nth-of-type(1) {
    background: #727272;
}
.sticky_banner_item:nth-of-type(2) {
    background: #A00718;
}
@media (any-hover: hover) {
    .sticky_banner_item:nth-of-type(1):hover {
        background: #575757;
    }
    .sticky_banner_item:nth-of-type(2):hover {
        background: #89000F;
    }
}
.sticky_banner_item img {
    width: 2.4rem;
}

.btn {
    width: fit-content;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    font-size: 1.3rem;
}
.btn_text {
    font-size: 1.5rem;
    font-weight: bold;
    color: #FFFFFF;
    letter-spacing: 0.1em;
}
.btn_arrow {
    width: 4rem;
    height: 4rem;
    padding: 1.2rem;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #FFFFFF;
    border-radius: 50%;
    box-sizing: border-box;
    transition: all 0.3s ease;
}
.btn_red .btn_arrow {
    background: #B10013;
    color: #141414;
}
.btn_red .btn_arrow path {
    fill: #FFFFFF;
}
@media (any-hover: hover) {
    .btn:hover .btn_arrow {
        transform: rotate(30deg);
    }
}

.section_title {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 3rem;
}
.section_title_main {
    font-size: 4.2rem;
    font-weight: bold;
    line-height: 1;
}
.section_title_sub {
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1;
}

.target {
    opacity: 0;
    transition: all 1s 0.5s ease;
}
.target_in {
    opacity: 1;
}

/* テロップ風に出現 */
.telop{
    display:inline-block;
    /* background: #fff; */
    width: fit-content;
}
.telop.target_in {
    background: #fff;
}
.telop_text {
    display:inline-block;
    width: fit-content;
    color: #141414;
    padding: 0.5rem;
    transition: all 0.4s ease;
    visibility: hidden;
    opacity: 0;
}
.telop_text.ready {
    visibility: visible;
    opacity: 1;
}
.telop_text span {
    opacity: 0;
    display: inline-block;
    transition: opacity 0s ease;
}
.telop_text span.show {
    opacity: 1;
    transform: translateY(0);
}
.recruitment_greeting_formula_item_head.telop_text,
.recruitment_greeting_formula_item_text.telop_text {
    padding: 0rem;
}
.cursor {
    display: inline-block;
    width: 2px;
    height: 1em;
    background: #333;
    margin-left: 2px;
    animation: blink 1s infinite;
    vertical-align: bottom;
  }
  
  @keyframes blink {
    0%, 50%, 100% { opacity: 1; }
    25%, 75% { opacity: 0; }
  }

.appear{
    display:inline-block;
    background: #fff;
}
.appear_text {
    opacity: 0;
    display:inline-block;
    width: fit-content;
    padding: 0.5rem;
    transition: all 1s ease;
}
.appear_in .appear_text {
    opacity: 1;
}

.lower_mv {
    background: #B10013;
    color: #FFFFFF;
    padding: 10rem 0 3rem;
}
.lower_mv_title p {
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    display: flex;
    align-items: center;
    margin-bottom: 0.5rem;
}
.lower_mv_title h2 {
    font-size: 4.2rem;
    font-weight: bold;
}
.lower_mv_title_line {
    display: block;
    width: 4rem;
    height: 1px;
    background: #FFFFFF;
    margin: 0 1rem 0 0;
}

.lower_section_title_sub {
    font-size: 1.4rem;
    font-weight: bold;
    color: #B10013;
    margin-bottom: 1rem;
}
.lower_section_title_main {
    font-size: 3.2rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    margin-bottom: 3rem;
}


/* -----------SP header-----------*/
header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    padding: 3rem 3rem 2rem 2rem;
    box-sizing: border-box;
    transition: all 0.3s ease;
}
.scroll_header {
    background: #fff;
}
.header_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.header_logo a {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 1.6rem;
    color: #FFFFFF;
}
.scroll_header .header_logo a {
    color: #141414;
}
.header_logo_img {
    width: 4rem;
}

.header_nav_list {
    display: flex;
    align-items: center;
    gap: clamp(3rem, 4vw, 5rem);
}
.header_nav_item a {
    font-size: 1.6rem;
    font-weight: bold;
    color: #FFFFFF;
    letter-spacing: 0.1em;
    white-space: nowrap;
}
.scroll_header .header_nav_item a {
    color: #141414;
}
.header_nav_contact a {
    padding: 2rem 3rem;
    border: 2px solid #FFFFFF;
}
.scroll_header .header_nav_contact a {
    border: 2px solid #141414;
}

.header_sp_nav.sp {
    width: 100vw;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 100%;
    z-index: 100;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #B10013;
    transition: all 0.3s ease;
}
.header_sp_nav.open {
    transform: translateX(-100%);
}
.header_sp_nav_close {
    position: absolute;
    top: 3rem;
    right: 3.4rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
    cursor: pointer;
    z-index: 100;
}
.header_sp_nav_close_line {
    width: 3rem;
    height: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.header_sp_nav_close_line span {
    display: block;
    width: 4rem;
    height: 2px;
    background: #FFFFFF;
    position: absolute;
    top: 50%;
    left: 50%;
    transition: all 0.3s ease;
}
.header_sp_nav_close_line span:nth-child(1) {
    transform: translate(-50%, -50%) rotate(45deg);
}
.header_sp_nav_close_line span:nth-child(2) {
    transform: translate(-50%, -50%) rotate(-45deg);
}
.header_sp_nav_close_text {
    font-size: 1rem;
    font-weight: bold;
    color: #FFFFFF;
    letter-spacing: 0.1em;
}

.header_sp_nav_list {
    min-width: 20.6rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.header_sp_nav_item a {
    font-size: 2.8rem;
    font-weight: bold;
    color: #FFFFFF;
    position: relative;
    padding-top: 1.7rem;
}
.header_sp_nav_item a::before {
    content: '';
    display: block;
    width: 20px;
    height: 1px;
    background: #FFFFFF;
    position: absolute;
    top: 6px;
    left: 0;
}
.header_sp_nav_contact:nth-of-type(5) a::before,
.header_sp_nav_contact:nth-of-type(6) a::before,
.header_sp_nav_contact:nth-of-type(7) a::before {
    display: none;
}
.header_sp_nav_item a::after {
    display: block;
    font-size: 1.2rem;
    font-weight: bold;
    position: absolute;
    top: 0;
    left: 30px;
}
.header_sp_nav_item:nth-of-type(1) a::after {
    content: 'トップ';
}
.header_sp_nav_item:nth-of-type(2) a::after {
    content: '会社情報';
}
.header_sp_nav_item:nth-of-type(3) a::after {
    content: '事業紹介';
}
.header_sp_nav_item:nth-of-type(4) a::after {
    content: '採用情報';
}
.header_sp_nav_contact:nth-of-type(5) {
    margin-top: 3rem;
}
.header_sp_nav_contact:nth-of-type(7) {
    margin-top: -1rem;
}
.header_sp_nav_contact a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    font-size: 1.3rem;
    padding: 1.8rem 2rem;
    border: 1px solid #FFFFFF;
}
.header_sp_nav_contact a img {
    width: 2.4rem;
}
.header_sp_nav_text {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-size: 2rem;
    font-weight: bold;
    color: #FFFFFF;
    position: absolute;
    bottom: 3rem;
    right: 1rem;
}

.header_ham {
    width: 4rem;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.6rem;
}
.header_ham_text {
    font-size: 1rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    color: #FFFFFF;
}
.header_ham_line {
    width: 4rem;
    height: 2.4rem;
    position: relative;
    flex-shrink: 0;
}
.header_ham_line span{
    display: block;
    width: 100%;
    height: 0.2rem;
    background: #FFFFFF;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.3s ease;
}
.header_ham_line span:nth-child(1) {
    top: 2px;
    transform: translate(-50%, 0%);
}
.header_ham_line span:nth-child(3) {
    top: unset;
    bottom: 2px;
    transform: translate(-50%, 0);
}
.scroll_header .header_ham_line span {
    background: #141414;
}
.scroll_header .header_ham_text {
    color: #141414;
}

/* -----------footer-----------*/
footer {
    background: #1B1B1B;
    padding: 7rem 3rem;
    color: #fff;
}
.footer_inner {
    max-width: 1240px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 5rem;
}
.footer_logo {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 2rem;
    color: #FFFFFF;
}
.footer_logo_img {
    width: 7rem;
}

.footer_company {
    color: #AEAEAE;
}
.footer_company_name {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 1rem;
}
.footer_company_postcode {
    font-size: 1.4rem;
    margin-bottom: 0.5rem;
    font-weight: 500;
}
.footer_company_address {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.3;
}

.footer_nav {
    width: 100%;
    max-width: 400px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
.footer_nav_list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.footer_nav_label {
    font-size: 1.7rem;
    font-weight: bold;
    padding-bottom: 0.9rem;
    color: #AEAEAE;
    position: relative;
    &::after {
        content: '';
        display: block;
        width: 30px;
        height: 2px;
        background: #D7000F;
        position: absolute;
        bottom: 0;
        left: 0;
    }
}
.footer_nav_item {
    font-size: 1.4rem;
    font-weight: 500;
    color: #fff;
    letter-spacing: 0.05em;
}
.footer_nav_list:nth-of-type(2) .footer_nav_item:nth-of-type(4) {  
    line-height: 1.2;
}

.footer_small {
    font-size: 1.2rem;
    font-weight: bold;
    color: #AEAEAE;
}

/* -----------top-----------*/
.top_mv {
    min-height: calc(100svh - 5rem);
    height: calc(100dvh - 5rem);
    display: flex;
    flex-direction: column;
    justify-content: end;
    background: url(../images/top_mv_bg_sp.webp) no-repeat center center / cover;
    position: relative;
    overflow: hidden;
}
.top_mv::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: url(../images/top_mv_bg_front_sp.webp) no-repeat center center / cover;
}
.top_mv_title {
    font-size: clamp(3.3rem, 8.8vw, 3.6rem);
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: 0.05em;
    color: #FFFFFF;
    margin-bottom: 1rem;
    padding: 0 2rem;
    transform: skewX(-8deg);
    position: relative;
    z-index: 1;
}
.top_mv_text {
    font-size: 1.4rem;
    line-height: 1.8;
    font-weight: bold;
    letter-spacing: 0.05em;
    color: #FFFFFF;
    padding: 0 2rem 4.2rem;
    position: relative;
    z-index: 1;
}
.top_mv_text br {
    display: none;
}
.top_mv_line {
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 160%;
    height: 90%;
    z-index: 0;
}
/* -----------top_concept-----------*/
.top_concept {
    min-height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: baseline;
    box-sizing: border-box;
    padding: 0rem 3rem;
    background: #F8F8F8;
}
.top_concept_inner {
    max-width: 1140px;
}
.top_concept_title {
    font-size: 3.6rem;
    font-weight: bold;
    line-height: 1.5;
    color: #AEAEAE;
}
.top_concept_title span{
    color: #AEAEAE;
    display: inline-block;
    animation: textColor 0.6s forwards;
}
@keyframes textColor{
    to{
        color: #141414;
    }
}
.top_concept_content {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin-top: 3rem;
}
.top_concept_content p {
    font-size: clamp(1.4rem, 3.9vw, 1.5rem);
    line-height: 2;
    font-weight: bold;
    letter-spacing: 0.05em;
}
/* -----------top_about-----------*/
.top_about {
    min-height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: baseline;
    box-sizing: border-box;
    background: #342A2A;
    color: #FFFFFF;
    padding: 7rem 3rem;
}
.top_about_content {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}
.top_about_image {
    width: calc(100% + 3rem);
    height: auto;
    margin-left: calc(50% - 50vw - 9.8vw);
    object-fit: cover;
    flex-shrink: 0;
    display: flex;
}
.top_about_image_item {
    width: 33%;
}
.top_about_image_item:nth-of-type(1) {
    transition: all 1s 0.5s ease;
}
.top_about_image_item:nth-of-type(2) {
    transition: all 1s 1s ease;
}
.top_about_image_item:nth-of-type(3) {
    transition: all 1s 1.5s ease;
}
.top_about_image_item img {
    width: 125%;
}
.top_about_wrap {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    overflow: hidden;
}
.top_about_title {
    font-size: 2.4rem;
    font-weight: bold;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.top_about_text {
    font-size: 1.5rem;
    line-height: 1.8;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.top_about .btn {
    margin: 0 0 0 auto;
}
/* -----------top_service-----------*/
.top_service {
    padding: 7rem 3rem 0;
    background: #F8F8F8;
}
.top_service_head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.top_service .btn {
    gap: clamp(1rem, 1vw, 2rem);
    margin: 0 -1rem 0 0;
}
.top_service .btn_text {
    color: #141414;
}
.top_service_list {
    display: flex;
    flex-direction: column;
    margin: 0 calc(50% - 50vw) 0 3rem;
}
.top_service_item {
    aspect-ratio: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    color: #fff;
    position: relative;
    z-index: 1;
    filter: grayscale(100%);
    transition: all 0.3s ease;
}
.top_service_item::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    z-index: -1;
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
}
@media (any-hover: hover) {
    .top_service_item:hover {
        filter: grayscale(0%);
    }
    .top_service_item:hover::before {
        background: rgba(0, 0, 0, 0);
    }
}
.top_service_item:nth-of-type(1) {
    background: url(../images/top_service_item1.webp) no-repeat center center / cover;
}
.top_service_item:nth-of-type(2) {
    background: url(../images/top_service_item2.webp) no-repeat center center / cover;
}
.top_service_item:nth-of-type(3) {
    background: url(../images/top_service_item3.webp) no-repeat center center / cover;
}
.top_service_item_title {
    font-size: 2.4rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    color: #fff;
    transition: all 0.3s ease;
}
.top_service_item_en {
    font-size: 1.4rem;
    font-weight: bold;
    transition: all 0.3s ease;
}

/* -----------top_recruit-----------*/
.top_recruit {
    padding: 7rem 3rem 3rem;
    background: #B10013;
    color: #fff;
}
.top_recruit_head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.top_recruit .section_title_main,
.top_recruit .section_title_sub {
    color: #FFFFFF;
}
.top_recruit .btn {
    gap: clamp(1rem, 1vw, 2rem);
    margin: 0 -1rem 0 0;
}
.top_recruit_content {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}
.top_recruit_wrap {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    overflow: hidden;
}
.top_recruit_title {
    font-size: 2.4rem;
    font-weight: bold;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.top_recruit_title span{
    color: #B10013;
}
.top_recruit_text {
    font-size: 1.5rem;
    line-height: 1.8;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.top_recruit_image {
    width: calc(100% + (50vw - 50%));
    margin: 0 calc(50% - 50vw) 0 0;
    border-radius: 0;
}

/* -----------top_catchphrase-----------*/
.top_catchphrase {
    background: #B10013;
}
.top_catchphrase_text {
    font-size: clamp(4.2rem, 11.2vw, 8rem);
    font-weight: bold;
    text-align: center;
    opacity: 0.1;
}

/* -----------top_interview-----------*/
.top_interview {
    padding: 3rem 3rem 5rem;
    background: #B10013;
    color: #fff;
}
.top_interview_inner {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}
.top_interview_head {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
}
.top_interview_head .btn {
    align-self: flex-end;
}
.top_interview_content {
    display: flex;
    flex-direction: column;
    gap: 5rem;
    padding: 0 4rem;
}
.top_interview_item {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    position: relative;
    z-index: 1;
}
.top_interview_item_image {
    width: 100%;
    height: auto;
}
.top_interview_item_content {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.top_interview_item_title {
    font-size: clamp(2.4rem, 3.8vw, 3.6rem);
    font-weight: bold;
    display: flex;
    flex-direction: column;
    letter-spacing: 0.05em;
    gap: 1rem;
}
.top_interview_item_title span{
    color: #B10013;
}
.top_interview_item_num {
    font-size: 6rem;
    font-weight: bold;
    opacity: 0.1;
    color: #141414;
    position: absolute;
    bottom: -3rem;
    right: -3rem;
    z-index: -1;
}

/* -----------top_instagram-----------*/
.top_instagram {
    padding: 7rem 3rem;
    background: #F8F8F8;
}
.top_instagram_inner {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}
.top_instagram_title {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}
.top_instagram_title_main {
    font-size: 1.4rem;
    font-weight: bold;
    color: #B10013;
}
.top_instagram_title_sub {
    font-size: 3.2rem;
    font-weight: bold;
    letter-spacing: 0.1em;
}
.top_instagram_text {
    font-size: clamp(1.4rem, 3.8vw, 1.5rem);
    font-weight: bold;
    letter-spacing: 0.05em;
    text-align: center;
}
.top_instagram_list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 2rem;
}
.top_instagram_item {
    width: calc(50% - 1rem);
    aspect-ratio: 167 / 222;
    overflow: hidden;
    height: auto;
}
.top_instagram_item_image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.3s ease;
}
@media (any-hover: hover) {
    .top_instagram_item:hover .top_instagram_item_image {
        filter: brightness(0.9);
    }
}
.top_instagram .btn {
    margin: 0 auto;
}
.top_instagram .btn_text {
    color: #141414;
    letter-spacing: 0.05em;
}
.top_instagram .btn_text span {
    letter-spacing: 0.1em;
    font-weight: bold;
    margin-right: 0.3rem;
}

/* -----------about_page-----------*/
.about_page {
    background: #F8F8F8;
}
/* -----------about_message-----------*/
.about_message {
    padding: 0rem 0rem 7rem 3rem;
    background: #B10013;
    color: #fff;
    /* overflow: hidden; */
    display: flex;
    align-items: flex-start;
    gap: 4rem;
    position: relative;
    z-index: 1;
}
.about_message_sticky {
    position: sticky;
    top: 6rem;
    right: 0;
    z-index: -1;
    padding-top: 4rem;
    overflow: hidden;
    flex-shrink: 0;
}
.about_message_sticky_text {
    display: block;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-size: clamp(6rem, 16vw, 9rem);
    width: clamp(5.6rem, 14vw, 7.6rem);
    font-weight: bold;
    opacity: 0.1;
}
.about_message_inner {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}
.about_message_image {
    width: 100%;
    height: auto;
}
.about_message_title {
    font-size: 2.4rem;
    font-weight: bold;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 3rem;
}
.about_message_title span{
    width: fit-content;
    color: #B10013;
}
.about_message_text {
    font-size: 1.5rem;
    line-height: 1.8;
    font-weight: bold;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
}
.about_message_name {
    font-size: 1.5rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    text-align: right;
}

/* -----------about_philosophy-----------*/
.about_philosophy {
    padding: 7rem 3rem;
    color: #FFFFFF;
    background: url(../images/about_philosophy_bg.webp) no-repeat center center / cover;
}
.about_philosophy_inner {
    display: flex;
    flex-direction: column;
}
.about_philosophy_content {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.about_philosophy_item {
    display: flex;
    flex-direction: column;
    background: linear-gradient(-135deg, #ffffff40 , #ffffff0d);
    padding: 3rem;
}
.about_philosophy_item_title {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 2rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    letter-spacing: 0.1em;
}
.about_philosophy_item_title::before {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    background: #fff;
}
.about_philosophy_item_text {
    font-size: 1.5rem;
    line-height: 1.5;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.about_philosophy_item_text_first {
    padding: 0 0 1rem;
    margin: 0 0 1rem;
    border-bottom: 1px solid #fff;
}

/* -----------about_outline-----------*/
.about_outline {
    padding: 7rem 3rem 0rem;
    color: #141414;
    position: relative;
    z-index: 1;
}
.recruitment_info.about_outline {
    padding: 7rem 3rem;
}
.about_outline_logo_wrap {
    position: sticky;
    top: 0;
    height: 0;
    z-index: -1; 
    opacity: 0.06;
}
.about_outline_logo {
    width: clamp(250px, 50vw, 450px);
    height: auto;
    position: absolute;
    top: 30vh;
    bottom: 30vh;
    left: 50%;
    transform: translateX(-50%);
    pointer-events: none;
    background: url("/images/about_outline_logo.svg") no-repeat center / contain;
}
.about_outline_inner {
    display: flex;
    flex-direction: column;
}
.about_outline .lower_section_title_main {
    color: #141414;
}
.about_outline_content {
    width: 100%;
    max-width: 80rem;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
}
.about_outline_item {
    display: flex;
    gap: 2rem;
}
.about_outline_item:last-of-type .about_outline_item_title,
.about_outline_item:last-of-type .about_outline_item_text {
    border-bottom: none;
}
.about_outline_item_title {
    width: 9.3rem;
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    border-bottom: 1px solid #D9D9D9;
    display: flex;
    align-items: center;
    padding: 2.5rem 0.9rem;
    flex-shrink: 0;
    box-sizing: border-box;
}
.about_outline_item_text {
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    border-bottom: 1px solid #D9D9D9;
    padding: 2.5rem 1rem;
    flex-grow: 1;
    line-height: 1.3;
    box-sizing: border-box;
}

/* -----------about_concept-----------*/
.about_concept {
    padding: 5rem 3rem 0;
    position: relative;
    z-index: 1;
}
.about_concept_title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 10px;
}
.about_concept_title_text {
    width: fit-content;
    font-size: 2rem;
    font-weight: bold;
}
.about_concept_title_text:nth-of-type(2) {
    color: #B10013;
}
.about_concept_text {
    font-size: 1.5rem;
    line-height: 1.5;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.about_concept_text .about_concept_text_en {
    font-weight: bold;
    letter-spacing: 0em;
}
.about_concept_text .about_concept_text_color {
    color: #B10013;
    font-weight: bold;
}
.about_concept_text .about_concept_text_small {
    font-size: 1.3rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    font-weight: bold;
}

/* -----------about_access-----------*/
.about_access {
    padding: 5rem 3rem 7rem;
    color: #141414;
    position: relative;
    z-index: 1;
}
.about_access_inner {
    display: flex;
    flex-direction: column;
}
.about_access .lower_section_title_main {
    color: #141414;
}
.about_access_content {
    width: 100%;
    max-width: 84rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin: 0 auto 3rem;
}
.about_access_content_title {
    width: fit-content;
    font-size: 1.5rem;
    font-weight: 500;
    padding: 0.7rem 3rem;
    border: 1px solid #141414;
}
.about_access_content_text {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.3;
}
.about_access_map {
    width: 100%;
    max-width: 84rem;
    aspect-ratio: 840 / 336;
    overflow: hidden;
    margin: 0 auto;
}
.about_access_map iframe {
    width: 100%;
    height: 100%;
}

/* -----------service_message-----------*/
.service_message {
    padding: 2rem 3rem 7rem;
    color: #fff;
    background: #B10013;
    position: relative;
    z-index: 1;
}
.service_message_inner {
    display: flex;
    flex-direction: column;
}
.service_message_title {
    width: fit-content;
    font-size: 2.4rem;
    font-weight: bold;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 2.5rem;
}
.service_message_title span{
    color: #B10013;
}
.service_message_text {
    font-size: 1.5rem;
    line-height: 1.8;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.service_message_text:nth-of-type(1) {
    margin-bottom: 2rem;
}

/* -----------service_list-----------*/
.service_list {
    padding: 7rem 2.4rem;
    position: relative;
    z-index: 1;
    background: #fff;
}
.service_list_inner {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}
.service_list_item {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    position: relative;
}
.service_list_title {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    color: #fff;
    background: #B10013;
    padding: 3rem 0 4rem;
    position: relative;
}
.service_list_title_main {
    font-size: 2.4rem;
    font-weight: bold;
    letter-spacing: 0.1em;
}
.service_list_title_sub {
    font-size: 1.4rem;
    font-weight: bold;
}
.service_list_item_arrow {
    width: 1.2rem;
    position: absolute;
    bottom: 1.5rem;
    left: 50%;
    transform: translateX(-50%);
}
.service_list_content {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 0 0.2rem;
}
.service_list_content_head {
    font-size: 1.8rem;
    line-height: 1.3;
    font-weight: bold;
    letter-spacing: 0.05em;
    color: #B10013;
}
.service_list_content_text {
    font-size: 1.4rem;
    line-height: 1.5;
    font-weight: 500;
    letter-spacing: 0.05em;
}

#sales_promotion,
#recruitment_agency,
#advertising_agency {
    scroll-margin-top: 80px;
}

/* -----------service_promotion-----------*/
.service_business {
    overflow: hidden;
    padding: 0 3rem 5rem;
    background: #F2F2F2;
}
.service_business_inner {
    display: flex;
    flex-direction: column;
}
.service_business .lower_section_title_main {
    margin-bottom: 0;
}
.service_business_head {
    padding: 2rem 3rem 6rem;
    background: #342A2A;
    position: relative;
    z-index: 1;
    margin: 0 calc(50% - 50vw);
}
.service_business_head::after {
    content: 'SALES PROMOTION';
    display: block;
    font-size: 4.8rem;
    font-weight: bold;
    line-height: 0.9;
    color: #fff;
    white-space: nowrap;
    position: absolute;
    bottom: 0;
    left: 1rem;
    opacity: 0.05;
}
.service_business:nth-of-type(5) .service_business_head::after {
    content: 'RECRUITMENT AGENCY';
}
.service_business:nth-of-type(6) .service_business_head::after {
    content: 'JOB ADVERTISING AGENCY';
}
.service_business_label {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}
.service_business_image {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    margin: 0 auto;
}
.service_business_image_img {
    display: block;
    width: 30rem;
    height: 20rem;
    border-radius: 1rem;
    margin-top: -2rem;
    object-fit: cover;
    position: relative;
    z-index: 1;
}
.service_business_label_wrap {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.service_business_label_title {
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.3;
    letter-spacing: 0.05em;
    color: #B10013;
    position: relative;
    display: flex;
    align-items: center;
    gap: 1rem;
}
.service_business_label_title::before {
    content: '';
    display: block;
    width: 2.6rem;
    height: 4.6rem;
    background: url("/images/service_business_label_title.svg") no-repeat center / contain;
}
.service_business_label_text {
    font-size: 1.4rem;
    line-height: 1.5;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.service_business_content {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    margin-top: 3rem;
}
.service_business_item {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 3rem 2rem;
    background: #fff;
    box-sizing: border-box;
}
.service_business_item_title {
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0 0 0.5rem 1rem;
    border-bottom: 1px solid #141414;
}
.service_business_item_title:before {
    content: '';
    display: block;
    background: #B10013;
    width: 1rem;
    aspect-ratio: 1;
    flex-shrink: 0;
}
.service_business_item_list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.service_business_item_list li {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: 0.05em;
}
.service_business_item_check {
    display: block;
    width: 1.7rem;
}
.service_business_row {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}
.service_business_row_arrow {
    width: 3rem;
}
.service_business_row_arrow.target {
    transition: all 1s 1s ease;
}
.service_business_row_text {
    font-size: 1.4rem;
    line-height: 1.8;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.service_business_row_text.target {
    transition: all 1s 1.5s ease;
}
.service_business_reason_list,
.service_business_recruitment_list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.service_business_reason_item,
.service_business_recruitment_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 2.5rem 2rem;
    background: #F2F2F2;
    position: relative;
    z-index: 1;
}
.service_business_reason_item:nth-of-type(1).target {
    transition: all 1s 0.5s ease;
}
.service_business_reason_item:nth-of-type(2).target {
    transition: all 1s 1s ease;
}
.service_business_reason_item:nth-of-type(3).target {
    transition: all 1s 1.5s ease;
}
.service_business_reason_item::after {
    display: block;
    color: #fff;
    opacity: 0.7;
    font-size: 6rem;
    font-weight: bold;
    line-height: 0.69;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    font-family: 'Inter', sans-serif;
}
.service_business_reason_item:nth-of-type(1)::after {
    content: "#01";
}
.service_business_reason_item:nth-of-type(2)::after {
    content: "#02";
}
.service_business_reason_item:nth-of-type(3)::after {
    content: "#03";
}
.service_business_reason_item_title,
.service_business_recruitment_item_title {
    font-size: 1.8rem;
    font-weight: bold;
    color: #B10013;
    letter-spacing: 0.05em;
}
.service_business_reason_item_text,
.service_business_recruitment_item_text {
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-align: center;
}
.service_business_recruitment_content {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.service_business_recruitment_text {
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.service_business_recruitment_subtitle {
    font-size: 1.5rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    display: flex;
    align-items: center;
    gap: 1rem;
}
.service_business_recruitment_subtitle::before {
    content: '';
    display: block;
    width: 4rem;
    height: 1px;
    background: #141414;
}
.service_business_recruitment_flow_wrap {
    overflow: scroll;
    scrollbar-gutter: stable;
    padding-bottom: 1.3rem;
    margin-right: -2rem;
}
.service_business_recruitment_flow {
    width: auto;
    display: block;
    height: 5.8rem;
    margin-right: 2rem;
}
.service_business_recruitment_flow.pc {
    display: none;
}
.service_business_advertising_content {
    flex-direction: column;
    gap: 3rem;
}
.service_business_column {
    width: 100%;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}
.service_business_column .service_business_item {
    background: transparent;
    padding: 0;
}
.service_business_column_text {
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.service_business_column_arrow {
    width: 3rem;
}
.service_business_column .service_business_item_list {
    padding: 2rem;
    background: #fff;
}
.service_business_range_list {
    width: 100%;
    padding: 2rem;
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    box-sizing: border-box;
}
.service_business_range_item {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding-left: 4rem;
    position: relative;
}
.service_business_range_item::before {
    content: '1';
    display: block;
    width: 3rem;
    aspect-ratio: 1;
    flex-shrink: 0;
    border-radius: 50%;
    font-size: 1.4rem;
    font-weight: bold;
    color: #fff;
    background: #AEAEAE;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
.service_business_range_item:nth-of-type(1)::before {
    content: '1';
}
.service_business_range_item:nth-of-type(2)::before {
    content: '2';
}
.service_business_range_item:nth-of-type(3)::before {
    content: '3';
}
.service_business_range_item:nth-of-type(4)::before {
    content: '4';
}
.service_business_range_item_title {
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.service_business_range_item_text {
    font-size: 1.3rem;
    font-weight: 500;
    letter-spacing: 0.05em;
}
.service_business_range_note {
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-top: 0.5rem;
}
.service_business_item_tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.service_business_item_tag {
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 1.2;
    color: #B10013;
    letter-spacing: 0.1em;
    background: #fff;
    border-radius: 10rem;
    padding: 0.6rem 1.5rem;
}
.service_business_promise {
    padding: 3rem 3rem 7rem;
}
.service_business_promise_text {
    font-size: clamp(1.4rem, 3vw, 2rem);
    font-weight: bold;
    line-height: 1.6;
    letter-spacing: 0.05em;
    color: #B10013;
    text-align: center;
}

/* -----------recruitment greeting-----------*/
.recruitment_greeting {
    padding: 2rem 0rem 7rem 2rem;
    background: #B10013;
    position: relative;
    z-index: 1;
    /* overflow: hidden; */
    display: flex;
    align-items: flex-start;
    gap: 0rem;
    position: relative;
    z-index: 1;
}
.recruitment_greeting_sticky {
    flex-shrink: 0;
    position: sticky;
    top: 6rem;
    right: 0;
    z-index: -1;
    color: #fff;
    padding-top: 15rem;
    overflow: hidden;
    flex-shrink: 0;
}
.recruitment_greeting_sticky_text {
    display: block;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-size: clamp(6rem, 16vw, 9rem);
    width: clamp(5rem, 13vw, 7.6rem);
    font-weight: bold;
    opacity: 0.1;
}
.recruitment_greeting_inner {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.recruitment_greeting_wrap {
    overflow: hidden;
    margin-left: -2rem;
}
.recruitment_greeting_image {
    display: block;
    width: 100%;
    /* margin-left: -3rem; */
    margin-bottom: 3rem;
}
.recruitment_greeting_image.target {
    transform: translateX(50%);
}
.recruitment_greeting_image.target_in {
    transform: translateX(0%);
}
.recruitment_greeting_text {
    font-size: clamp(1.5rem, 2.5vw, 2.4rem);
    line-height: 1.8;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding: 0 0.5rem 0 0;
    color: #fff;
}
.recruitment_greeting_text_accent {
    line-height: 1;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.recruitment_greeting_text_accent .telop_text {
    width: fit-content;
    font-size: clamp(1.5rem, 2.5vw, 2.8rem);
    font-weight: bold;
    letter-spacing: 0.05em;
    background: #fff;
    color: #B10013;
    padding: 0.5rem;
}
.recruitment_greeting_formula {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.6rem;
    margin-top: 3rem;
    padding: 0 2rem 0 0;
}
.recruitment_greeting_formula_item {
    min-width: 11.6rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    background: #fff;
    padding: 1rem 0rem;
}
.recruitment_greeting_formula_item:last-of-type {
    min-width: 17.8rem;
}
.recruitment_greeting_formula_item_head {
    font-size: clamp(1.4rem, 2.2vw, 2.2rem);
    font-weight: bold;
    letter-spacing: 0.05em;
}
.recruitment_greeting_formula_item_text {
    font-size: clamp(2.4rem, 2.8vw, 4.2rem);
    font-weight: bold;
    letter-spacing: 0.1em;
    color: #B10013;
}
.recruitment_greeting_icon {
    display: block;
    width: 2rem;
}

/* -----------recruitment attractions-----------*/
.recruitment_attractions {
    padding: 7rem 3rem 0;
}
.recruitment_attractions .lower_section_title_main {
    color: #141414;
}
.recruitment_attractions_point {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.recruitment_attractions_point_item {
    width: 24rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    padding: 2rem 0rem;
}
.recruitment_attractions_point_item:nth-of-type(2) {
    border-top: 1px solid #141414;
    border-bottom: 1px solid #141414;
}
.recruitment_attractions_point_item_title {
    font-size: clamp(2rem, 2vw, 2.8rem);
    font-weight: bold;
    letter-spacing: 0.1em;
    color: #B10013;
}
.recruitment_attractions_point_item_text {
    font-size: clamp(1.5rem, 1.5vw, 2rem);
    line-height: 1.5;
    font-weight: bold;
    letter-spacing: 0.05em;
    text-align: center;
}

/* -----------recruitment candidates-----------*/
.recruitment_candidates {
    padding: 7rem 3rem 0;
}
.recruitment_candidates_inner {
    padding: 2rem;
    border-radius: 1rem;
    background: #342A2A;
}
.recruitment_candidates_list {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    padding: 2rem 1rem;
    background: linear-gradient(-135deg, #ffffff33, #ffffff0d);
}
.recruitment_candidates_item {
    width: 100%;
    max-width: 52rem;
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}
.recruitment_candidates_item_check {
    width: clamp(2rem, 2vw, 3rem);
    aspect-ratio: 0.9;
}
.recruitment_candidates_item_text {
    font-size: clamp(1.5rem, 2.2vw, 2.4rem);
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: 0.05em;
    color: #fff;
}

/* -----------recruitment inside-----------*/
.recruitment_inside {
    padding: 7rem 3rem 0;
}
.recruitment_inside .lower_section_title_main {
    color: #141414;
}
.recruitment_inside_head {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    background: #B10013;
    padding: 2rem 3rem 5rem;
    margin: 0 calc(50% - 50vw);
    position: relative;
    z-index: 1;
}
.recruitment_inside_head::after {
    content: 'INSIDE REGAPRO';
    font-family: 'Inter', sans-serif;
    display: block;
    font-size: 3.6rem;
    line-height: 0.69;
    font-weight: bold;
    color: #fff;
    opacity: 0.1;
    position: absolute;
    bottom: 0;
    right: clamp(1rem, 2vw, 2rem);
    z-index: -1;
}
.recruitment_inside_head_title {
    font-size: clamp(2rem, 2vw, 2.8rem);
    line-height: 1.3;
    font-weight: bold;
    letter-spacing: 0.1em;
    color: #fff;
}
.recruitment_inside_head_info {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.recruitment_inside_head_info p {
    font-size: clamp(1.4rem, 1.5vw, 2rem);
    letter-spacing: 0.05em;
    font-weight: bold;
}
.recruitment_inside_item {
    display: flex;
    flex-direction: column;
    gap: 5rem;
    padding: 3rem 3rem;
    background: #F2F2F2;
    margin: 0 calc(50% - 50vw) 3rem;
}
.recruitment_inside_item:nth-of-type(4) {
    margin: 0 calc(50% - 50vw) 0rem;
}
.recruitment_inside_item_inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5rem;
}
.recruitment_inside_qa_list {
    display: flex;
    flex-direction: column;
    gap: 5rem;
}
.recruitment_inside_item_image {
    width: calc(100% - 3rem);
    max-width: 40rem;
    margin: 0 auto;
}
.recruitment_inside_qa {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.recruitment_inside_qa_question {
    width: fit-content;
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    background: #B10013;
    font-size: clamp(1.5rem, 1.7vw, 1.8rem);
    font-weight: bold;
    padding: 0.5rem;
    line-height: 1.2;
    color: #fff;
    letter-spacing: 0.05em;
}
.recruitment_inside_qa_question span {
    letter-spacing: 0;
    font-weight: 600;
}
.recruitment_inside_qa_inner {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 0 0 0 1rem;
}
.recruitment_inside_qa_title {
    font-size: clamp(1.6rem, 2vw, 2.4rem);
    font-weight: bold;
    color: #B10013;
    letter-spacing: 0.05em;
    line-height: 1.3;
}
.recruitment_inside_qa_text {
    font-size: clamp(1.4rem, 1.8vw, 1.6rem);
    line-height: 1.5;
    font-weight: 500;
    letter-spacing: 0.05em;
}
.recruitment_inside_qa_title br.pc_only {
    display: none;
}

/* -----------recruitment info-----------*/
.recruitment_info_text span {
    display: inline-block;
    font-size: clamp(1.2rem, 1.5vw, 1.4rem);
    line-height: 1.3;
    font-weight: bold;
    letter-spacing: 0.05em;
    margin-top: 1rem;
}
.recruitment_info_text span:nth-of-type(2) {
    color: #777777;
}

/* -----------recruitment process-----------*/
.recruitment_process {
    padding: 3rem 3rem 6rem;
    background: #B10013;
    position: relative;
    z-index: 1;
    overflow: hidden;
}
.recruitment_process::after {
    content: 'REGARO-PROFESSIONAL';
    font-family: 'Inter', sans-serif;
    display: block;
    font-size: clamp(3.6rem, 10.6vw, 15rem);
    line-height: 0.69;
    font-weight: bold;
    color: #fff;
    opacity: 0.1;
    position: absolute;
    bottom: 0;
    left: 1rem;
    white-space: nowrap;
    z-index: -1;
}
.recruitment_process .lower_section_title_sub {
    color: #141414;
}
.recruitment_process_wrap {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 3rem;
    margin-left: -3rem;
    padding-bottom: 1.3rem;
    scrollbar-gutter: stable;
    overflow: scroll;
}
.recruitment_process_flow_item {
    position: relative;
    flex-shrink: 0;
}
.recruitment_process_flow_item:nth-of-type(2),
.recruitment_process_flow_item:nth-of-type(3),
.recruitment_process_flow_item:nth-of-type(4),
.recruitment_process_flow_item:nth-of-type(5) {
    margin-left: -2rem;
}
.recruitment_process_flow_item::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: all 0.3s ease;
}
.recruitment_process_flow_item:nth-of-type(1):hover::after {
    opacity: 1;
    background: url('/images/recruitment_process_flow1_hover.svg') no-repeat center center / contain;
}
.recruitment_process_flow_item:nth-of-type(2):hover::after {
    opacity: 1;
    background: url('/images/recruitment_process_flow2_hover.svg') no-repeat center center / contain;
}
.recruitment_process_flow_item:nth-of-type(3):hover::after {
    opacity: 1;
    background: url('/images/recruitment_process_flow3_hover.svg') no-repeat center center / contain;
}
.recruitment_process_flow_item:nth-of-type(4):hover::after {
    opacity: 1;
    background: url('/images/recruitment_process_flow4_hover.svg') no-repeat center center / contain;
}
.recruitment_process_flow_item:nth-of-type(5):hover::after {
    opacity: 1;
    background: url('/images/recruitment_process_flow5_hover.svg') no-repeat center center / contain;
}

/* -----------recruitment faq-----------*/
.recruitment_faq {
    padding: 3rem 3rem 7rem;
    background: #fff;
    position: relative;
    z-index: 1;
    overflow: hidden;
}
.recruitment_faq .lower_section_title_main {
    color: #141414;
}
.recruitment_faq_list {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin-top: 2rem;
}
.recruitment_faq_item {
    display: flex;
    flex-direction: column;
    padding: 1rem 2rem;
    background: #F2F2F2;
}
.recruitment_faq_question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
}
.recruitment_faq_question_text,
.recruitment_faq_answer_text {
    font-size: clamp(1.5rem, 2.2vw, 2rem);
    font-weight: bold;
    flex-grow: 1;
}
.recruitment_faq_question_icon,
.recruitment_faq_answer_icon {
    font-size: clamp(2rem, 2.2vw, 3.2rem);
    letter-spacing: 0.05em;
    color: #B10013;
    line-height: 1;
    font-weight: bold;
}
.recruitment_faq_question_arrow {
    width: 1.3rem;
    object-fit: contain;
    transition: transform 0.3s ease-in-out;
}
.open .recruitment_faq_question_arrow {
    transform: rotate(180deg);
}
.recruitment_faq_answer_wrap {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-in-out;
}
.recruitment_faq_answer {
    font-size: clamp(1.4rem, 1.8vw, 1.6rem);
    line-height: 1.5;
    font-weight: 500;
    color: #777777;
    letter-spacing: 0.05em;
    padding: 1rem 0 0;
    display: flex;
    justify-content: space-between;
    gap: 0.5em;
}
.recruitment_faq_answer_icon {
    padding: 0.2rem 0 0;
}

/* -----------privacy policy-----------*/
.privacy_policy {
    padding: 7rem 3rem;
}
.privacy_policy_inner {
    max-width: 104rem;
} 
.privacy_policy_content_head {
    font-size: clamp(1.4rem, 1.6vw, 1.6rem);
    line-height: 1.5;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.privacy_policy_content {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}
.privacy_policy_item {
    display: flex;
    flex-direction: column;
    gap: clamp(1rem, 2vw, 2rem);
}
.privacy_policy_item_title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: clamp(1.8rem, 2vw, 2rem);
    letter-spacing: 0.1em;
    font-weight: bold;
    padding: 0 0 1rem;
    border-bottom: 3px solid #F2F2F2;
}
.privacy_policy_item_title span {
    font-weight: bold;
    padding: 0.5rem 0 0;
}
.privacy_policy_item_text {
    font-size: clamp(1.4rem, 1.6vw, 1.6rem);
    letter-spacing: 0.05em;
    line-height: 1.5;
    font-weight: 500;
}
.privacy_policy_item_inner {
    display: flex;
    flex-direction: column;
    gap: clamp(1rem, 2vw, 2rem);
}
.privacy_policy_item_inner ul {
    display: flex;
    flex-direction: column;
    gap: clamp(0.5rem, 1vw, 1rem);
}
.privacy_policy_item_inner ul li {
    font-size: clamp(1.4rem, 1.6vw, 1.6rem);
    font-weight: 500;
}
.privacy_policy_item_address {
    padding: clamp(1rem, 2vw, 2rem);
    background: #F2F2F2;
}
.privacy_policy .btn_text {
    color: #141414;
}

/* -----------contact form-----------*/
.contact_form {
    padding: 7rem 3rem;
}
.contact_form_inner {
    max-width: 84rem;
}
.contact_form_tabs {
    display: flex;
    justify-content: center;
    margin-bottom: clamp(3rem, 8vw, 10rem);
}
.contact_form_tab_item {
    width: 50%;
    font-size: clamp(1.5rem, 2.4vw, 2.4rem);
    font-weight: bold;
    letter-spacing: 0.05em;
    background: #fff;
    padding: 2rem 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border: 1px solid #B10013;
    color: #B10013;
    transition: all 0.3s ease;
}
.contact_form_tab_item.active {
    background: #B10013;
    color: #FFFFFF;
}
.contact_form_content{
    display:none;
}
.contact_form_content.active{
    display:block;
}
.contact_form_lead {
    font-size: clamp(1.5rem, 1.8vw, 2rem);
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.3;
    margin-bottom: clamp(3rem, 3vw, 5rem);
}
.contact_form_main {
    display: flex;
    flex-direction: column;
    gap: clamp(2rem, 2.5vw, 3rem);
}
.contact_form_item {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.contact_form_item label {
    font-size: clamp(1.5rem, 1.6vw, 1.6rem);
    font-weight: 500;
    letter-spacing: 0.1em;
    display: flex;
    align-items: center;
    gap: 2rem;
}
.contact_form_item.required label::after {
    content: '必須';
    font-size: 1.2rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    color: #fff;
    background: #D7000F;
    padding: 0.3rem 0.6rem;
    border-radius: 0.2rem;
}
.contact_form_item input,
.contact_form_item textarea,
.contact_form_item select {
    width: 100%;
    padding: 1.3rem;
    font-size: clamp(1.5rem, 1.6vw, 1.6rem);
    font-weight: 500;
    letter-spacing: 0.05em;
    border: 1px solid #D9D9D9;
    border-radius: 0.3rem;
    box-sizing: border-box;
}
.contact_form_item input::placeholder,
.contact_form_item textarea::placeholder,
.contact_form_item select::placeholder {
    color: #777777;
}
.contact_form_item textarea {
    height: 22.5rem;
    resize: none;
    line-height: 1.3;
}
.select_box{
    position: relative;
}
.select_box select{
    width: 100%;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: url("/images/select_arrow.svg") no-repeat right 20px center;
    background-size: 13px;
}
.contact_form_privacy label {
    gap: 0rem;
}
.contact_form_privacy label a {
    color: #D7000F;
    text-decoration: underline;
    text-underline-offset: 0.2rem;
}
.contact_form_privacy input {
    width: 1.5rem;
    aspect-ratio: 1;
    flex-shrink: 0;
    margin: 0 clamp(1rem, 1.6vw, 2rem) 0 0;
}
.contact_form_submit button {
    display: block;
    background: #B10013;
    color: #fff;
    padding: 2rem 5rem;
    font-size: clamp(1.5rem, 1.7vw, 2.4rem);
    font-weight: bold;
    font-family: "Noto Sans JP", sans-serif;
    letter-spacing: 0.05em;
    line-height: 1;
    margin:  clamp(1rem, 5vw, 7rem) auto 0;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
}

/* -----------Contact Form 7 オーバーライド-----------*/
/* CF7 のフォームラッパー */
.contact_form_content .wpcf7 {
    width: 100%;
}
.contact_form_content .wpcf7-form {
    display: flex;
    flex-direction: column;
    gap: clamp(2rem, 2.5vw, 3rem);
}
/* CF7 の入力要素にスタイルを適用 */
.contact_form_content .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}
.contact_form_content .wpcf7-form-control-wrap input[type="text"],
.contact_form_content .wpcf7-form-control-wrap input[type="email"],
.contact_form_content .wpcf7-form-control-wrap input[type="tel"],
.contact_form_content .wpcf7-form-control-wrap textarea,
.contact_form_content .wpcf7-form-control-wrap select {
    width: 100%;
    padding: 1.3rem;
    font-size: clamp(1.5rem, 1.6vw, 1.6rem);
    font-weight: 500;
    letter-spacing: 0.05em;
    border: 1px solid #D9D9D9;
    border-radius: 0.3rem;
    box-sizing: border-box;
    font-family: "Noto Sans JP", sans-serif;
}
.contact_form_content .wpcf7-form-control-wrap input::placeholder,
.contact_form_content .wpcf7-form-control-wrap textarea::placeholder {
    color: #777777;
}
.contact_form_content .wpcf7-form-control-wrap textarea {
    height: 22.5rem;
    resize: none;
    line-height: 1.3;
}
.contact_form_content .wpcf7-form-control-wrap select {
    width: 100%;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: #fff url("/images/select_arrow.svg") no-repeat right 20px center;
    background-size: 13px;
}
/* CF7 の acceptance（個人情報同意）チェックボックス */
.contact_form_content .wpcf7-acceptance .wpcf7-list-item {
    margin: 0;
}
.contact_form_content .wpcf7-acceptance .wpcf7-list-item label {
    display: inline-flex;
    align-items: center;
    gap: 0;
    white-space: nowrap;
}
.contact_form_content .wpcf7-acceptance .wpcf7-list-item-label {
    white-space: nowrap;
}
.contact_form_content .wpcf7-acceptance .wpcf7-list-item-label a {
    display: inline;
}
.contact_form_content .wpcf7-acceptance input[type="checkbox"] {
    width: 1.5rem;
    aspect-ratio: 1;
    flex-shrink: 0;
    margin: 0 clamp(1rem, 1.6vw, 2rem) 0 0;
}
/* CF7 の送信ボタン */
.contact_form_content .wpcf7-form input[type="submit"] {
    display: block;
    background: #B10013;
    color: #fff;
    padding: 2rem 5rem;
    font-size: clamp(1.5rem, 1.7vw, 2.4rem);
    font-weight: bold;
    font-family: "Noto Sans JP", sans-serif;
    letter-spacing: 0.05em;
    line-height: 1;
    margin: clamp(1rem, 5vw, 7rem) auto 0;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
}
/* CF7 バリデーションエラー */
.contact_form_content .wpcf7-not-valid-tip {
    color: #D7000F;
    font-size: 1.3rem;
    font-weight: 500;
    margin-top: 0.5rem;
}
.contact_form_content .wpcf7-response-output {
    border: none !important;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 500;
    padding: 1rem 0 !important;
    margin: 1rem 0 0 !important;
}
/* CF7 送信中のスピナーを非表示 */
.contact_form_content .wpcf7-spinner {
    display: none;
}

/* -----------thanks page-----------*/
.thanks_page {
    padding: 7rem 1rem;
}
.thanks_page_inner {
    max-width: 84rem;
}
.thanks_page_text {
    font-size: clamp(1.5rem, 2vw, 2.4rem);
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin-bottom: clamp(3rem, 3vw, 5rem);
    text-align: center;
}
.thanks_page .btn {
    margin: 0 auto;
}
.thanks_page .btn_text {
    color: #141414;
}

/* -----------recaptcha-----------*/
#recaptcha {
    display: flex;
    justify-content: center;
    margin-top: clamp(3rem, 3vw, 5rem);
}

/* -----------iphon5/service-----------*/

@media screen and (min-width:270px) {}

/* -----------iphon6~-----------*/

@media screen and (min-width:330px) {}

/* -----------ipad-----------*/

@media screen and (min-width:640px) {

    .sp {
        display: block;
    }

    .pc {
        display: none;
    }

    /* -----------共通-----------*/
    .section_title_main {
        font-size: 5.6rem;
    }
    .section_title_sub {
        font-size: 1.8rem;
    }

    /* -----------SP header-----------*/


    /* -----------footer-----------*/


    /* -----------top-----------*/
    .top_mv {
        background: url(../images/top_mv_bg.webp) no-repeat center center / cover;
    }
    .top_mv::after {
        background: url(../images/top_mv_bg_front.webp) no-repeat center center / cover;
    }
    .top_mv_title {
        font-size: 4.6rem;
        margin-bottom: 1.5rem;
    }
    .top_mv_text {
        font-size: 1.8rem;
    }
    .top_mv_text br {
        display: block;
    }

    .top_about_wrap {
        gap: 3rem;
    }
    .top_about_title {
        font-size: 4.2rem;
    }
    .top_about_text {
        font-size: 1.6rem;
    }

    .top_recruit_wrap {
        gap: 3rem;
    }
    .top_recruit_title {
        font-size: 4.2rem;
    }
    .top_recruit_text {
        font-size: 1.6rem;
    }

    .top_catchphrase_text {
        font-size: clamp(8rem, 12vw, 17rem);
    }

    .top_interview_inner {
        gap: 4rem;
    }
    .top_interview_content {
        flex-direction: row;
        padding: 0 2rem;
    }
    .top_interview_item_num {
        font-size: clamp(6rem, 9.1vw, 8rem);
    }

    .top_instagram_inner {
        gap: 5rem;
    }
    .top_instagram_title_main {
        font-size: 2rem;
    }
    .top_instagram_title_sub {
        font-size: clamp(2.8rem, 5.8vw, 5.8rem);
    }
    .top_instagram_list {
        flex-wrap: nowrap;
    }
    .top_instagram_item {
        width: calc((100% - 6rem) / 4);
    }

    .recruitment_instagram .top_instagram_title {
        align-items: unset;
    }

    /* -----------about-----------*/
    .about_philosophy_content {
        padding: 0 3rem;
    }

    /* -----------service-----------*/
    .service_business_image_img {
        width: min(36rem, 45vw);
        height: 26rem;
        margin-top: -8rem;
    }

    /* -----------recruitment-----------*/
    .recruitment_attractions .lower_section_title_main br {
        display: none;
    }

    .recruitment_candidates .lower_section_title_main br {
        display: none;
    }

    .recruitment_inside .lower_section_title_main br {
        display: none;
    }

    .recruitment_inside {
        padding: 7rem 3rem 0;
    }
    .recruitment_inside .lower_section_title_main {
        margin-bottom: 5rem;
    }
    .recruitment_inside_head {
        padding: clamp(7rem, 7vw, 10rem) clamp(7rem, 7vw, 10rem) clamp(14rem, 14vw, 20rem) ;
    }
    .recruitment_inside_head::after {
        font-size: clamp(4.2rem, 10.6vw, 15rem);
    }
    .recruitment_inside_head_title {
        font-size: clamp(2.4rem, 4vw, 4.8rem);
    }
    .recruitment_inside_head_info p {
        font-size: clamp(1.4rem, 2.4vw, 2.4rem);
    }

}

@media screen and (min-width:800px) {
    .top_concept {
        padding: 12rem 5rem;
    }
    .top_concept_inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .top_concept_content {
        gap: 3rem;
    }

    .top_service {
        padding: 7rem 3rem 0;
    }
    .top_service_list {
        flex-direction: row;
    }
    .top_service_item {
        width: calc(100% / 3);
        aspect-ratio: 0.75;
    }

    /* -----------about-----------*/
    .about_message_inner {
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
        gap: 3rem;
    }
    .about_message_image {
        width: 45%;
    }
    .about_message_content {
        width: 55%;
    }
    .about_message_title {
        font-size: clamp(3rem, 3.8vw, 4.2rem);
    }
    .about_message_title span {
        background: transparent;
        color: #fff;
    }

    .about_concept {
        padding: 7rem 3rem 0;
        display: flex;
        align-items: center;
    }
    .about_concept_title {
        justify-content: center;
        margin: 0 0 20px;
    }
    .about_concept_title_text {
        font-size: 2.8rem;
    }
    .about_concept_text {
        width: fit-content;
        margin: 0 auto;
        font-size: 1.8rem;
        line-height: 2;
    }
    .about_concept_text .about_concept_text_small {
        font-size: 1.6rem;
    }

    .about_outline {
        padding: 7rem 3rem 7rem;
    }


    /* -----------recruitment-----------*/
    .recruitment_attractions {
        padding: 15rem 5rem 0;
    }
    .recruitment_attractions_point {
        flex-direction: row;
        justify-content: center;
        margin: 5rem 0 0;
    }
    .recruitment_attractions_point_item {
        width: calc(100% / 3);
    }
    .recruitment_attractions_point_item:nth-of-type(2) {
        border: none;
        border-left: 1px solid #141414;
        border-right: 1px solid #141414;
    }
    
    .recruitment_candidates {
        padding: clamp(10rem, 11vw, 15rem) 5rem 0;
    }
    .recruitment_candidates_inner {
        padding: 8rem 10rem;
    }
    .recruitment_candidates_list {
        padding: 5rem 1rem;
    }
    
    .recruitment_inside_item_inner {
        flex-direction: row;
        justify-content: space-between;
        gap: clamp(3rem, 3vw, 5rem);
    }
    .recruitment_inside_item_image {
        width: 38%;
        margin: 0 0 auto 0;
    }
    .recruitment_inside_qa_list {
        gap: 5rem;
        max-width: 74rem;
    }

    .recruitment_inside {
        padding: 15rem 5rem 0rem;
    }
    .recruitment_inside .lower_section_title_main {
        margin-bottom: 7rem;
    }
    .recruitment_inside_item {
        padding: 10rem 5rem;
        margin: 0 calc(50% - 50vw) 7rem;
    }
    .recruitment_inside_qa_inner {
        gap: 2rem;
        padding: 0 0 0 2rem;
    }
    .recruitment_inside_qa_question {
        padding: 1rem;
    }
    .recruitment_inside_qa_title br {
        display: none;
    }
    .recruitment_inside_qa_title br.pc_only {
        display: block;
    }

    .recruitment_faq {
        padding: 15rem 5rem;
    }
    .recruitment_faq_item {
        padding: 2rem 5rem;
    }
    .recruitment_faq_question {
        gap: 1rem;
    }
    .recruitment_faq_question_arrow {
        width: 2rem;
    }
    .recruitment_faq_answer {
        padding: 2rem 0 0;
        gap: 1rem;
    }

    .privacy_policy {
        padding: 15rem 5rem;
    }
    .privacy_policy_content {
        gap: 5rem;
    }

}

/* -----------PC-----------*/

@media screen and (min-width:960px) {


    body {
        font-size: 15px;
    }

    .sp {
        display: none;
    }

    .pc {
        display: block;
    }

    /* -----------共通-----------*/
    .sticky_banner {
        display: none;
    }
    
    .section_title {
        gap: 1rem;
        margin-bottom: 5rem;
    }
    .section_title_main {
        font-size: 6.8rem;
    }

    .btn_text {
        font-size: 1.8rem;
    }
    .btn_arrow {
        width: 5.5rem;
        height: 5.5rem;
        padding: 2rem;
    }

    .common_contact {
        padding: 10rem 5rem;
    }
    .common_contact_title {
        font-size: 9.8rem;
    }
    .common_contact_subtitle {
        font-size: 1.8rem;
    }
    .common_contact_btns {
        flex-direction: row;
        gap: 5rem;
        margin-top: 3.5rem;
    }
    .common_contact_btn_line {
        width: 2px;
        height: 3rem;
    }
    .common_contact_logo {
        width: 44.8rem;
        bottom: 50%;
        transform: translateY(50%);
    }

    .lower_mv {
        padding: clamp(20rem, 20vw, 26.7rem) 0 10rem;
    }
    .lower_mv_title p {
        font-size: clamp(1.6rem, 1.6vw, 2rem);
        margin-bottom: 0;
    }
    .lower_mv_title h2 {
        font-size: clamp(8rem, 9vw, 12.8rem);
    }
    .lower_mv_title_line {
        width: 10rem;
        margin: 0 1rem 0 4rem;
    }

    .lower_section_title_sub {
        font-size: 2rem;
    }
    .lower_section_title_main {
        font-size: clamp(4.2rem, 4.5vw, 5.8rem);
        margin-bottom: 5rem;
    }

    .telop_text {
        padding: 1rem;
    }

    .appear_text {
        padding: 1rem;
    }

    /* -----------PC header-----------*/
    .header {
        padding: 3.3rem 3rem;
    }
    .header_ham {
        display: none;
    }
    .header_logo a {
        font-size: 2.4rem;
    }
    .header_logo_img {
        width: 5.8rem;
    }

    /* -----------footer-----------*/
    .footer_inner {
        flex-wrap: wrap;
        flex-direction: row;
    }

    .footer_logo {
        font-size: 4.4rem;
        gap: 1.5rem;
    }
    .footer_logo_img {
        width: 10rem;
    }

    .footer_nav_item br {
        display: none;
    }

    .footer_nav_list:nth-of-type(2) .footer_nav_item:nth-of-type(4) {  
        line-height: 1;
    }

    .footer_company {
        width: fit-content;
        align-self: end;
    }
    .footer_company_name {
        font-size: 1.8rem;
        margin-bottom: 2rem;
    }
    .footer_company_postcode {
        font-size: 1.6rem;
        margin-bottom: 1rem;
    }
    .footer_company_address {
        font-size: 1.6rem;
    }
    .footer_small {
        margin-top: 7rem;
    }

    /* -----------top-----------*/
    .top_mv {
        height: 100vh;
    }
    .top_mv_title {
        font-size: 6.8rem;
        margin-bottom: 2rem;
        padding: 0 0 0 7rem;
    }
    .top_mv_text {
        padding: 0 0 5rem 7rem;
    }
    .top_mv_line {
        display: block;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 120%;
        height: 100%;
        z-index: 0;
    }
    @keyframes drawLine{
        to{
            stroke-dashoffset: 0;
        }
    }

    .top_concept {
        padding: 23.5rem 5rem;
    }
    .top_concept_title {
        font-size: clamp(4.8rem, 5vw, 6.2rem);
        width: 45%;
    }
    .top_concept_content {
        width: 55%;
        gap: 5rem;
        margin-top: 0;
    }
    .top_concept_content p {
        font-size: clamp(1.6rem, 1.6vw, 2rem);
    }

    .top_about {
        padding: 10rem 5rem;
    }
    .top_about_content {
        flex-direction: row;
        align-items: flex-start;
        gap: clamp(10rem, 10vw, 15rem);
    }
    .top_about_image {
        width: 54vw;
        margin-left: calc(50% - 50vw - 5.8vw);
    }
    .top_about_title {
        font-size: clamp(3.2rem, 3.5vw, 4.2rem);
    }
    .top_about .btn {
        margin: 0;
    }

    .top_service {
        padding: 10rem 5rem 0rem;
    }
    .top_service_inner {
        padding-left: 5rem;
    }
    .top_service_head {
        align-items: flex-end;
    }
    .top_service .btn {
        margin: 0 0 5rem;
    }
    .top_service_list {
        margin:0 -5rem 0 0;
    }
    .top_service_item_title {
        font-size: clamp(2.4rem, 2.5vw, 3.2rem);
    }
    .top_service_item_en {
        font-size: clamp(1.6rem, 1.5vw, 1.8rem);
    }

    .top_recruit {
        padding: 10rem 5rem 5rem;
    }
    .top_recruit_inner {
        padding-left: 5rem;
    }
    .top_recruit_content {
        flex-direction: row;
        align-items: flex-start;
        gap: clamp(5rem, 5vw, 7rem);
    }
    .top_recruit_image {
        width: 45vw;
        flex-grow: 1;
        margin: 0 -5rem 0 0;
    }
    .top_recruit_title {
        font-size: clamp(3.2rem, 3.5vw, 4.2rem);
    }

    .top_interview {
        padding: 5rem 5rem 15rem;
    }

    .top_instagram {
        padding: 15rem 5rem;
    }
    .top_instagram_list {
        gap: 3rem;
    }

    /* -----------about-----------*/
    .about_message {
        padding: 0rem 0rem 10rem 5rem;
    }
    .about_message_sticky {
        top: 10rem;
    }
    .about_message_sticky_text {
        font-size: clamp(8rem, 8.9vw, 12.8rem);
        width: clamp(7rem, 7.6vw, 11rem);
    }
    .about_message_image {
        width: 35%;
    }
    .about_message_content {
        width: 56%;
    }
    .about_message_text {
        font-size: 1.6rem;
        margin: 0 0 2rem;
    }

    .about_philosophy {
        padding: 10rem 5rem;
    }
    .about_philosophy_content {
        padding: 0 7.8rem;
    }
    .about_philosophy_item {
        padding: 5rem;
    }
    .about_philosophy_item_title {
        width: fit-content;
        font-size: 3.6rem;
        margin-bottom: 3rem;
    }
    .about_philosophy_item_text {
        font-size: 2rem;
        width: fit-content;
    }
    .about_philosophy_item_text_first {
        padding: 0 0 2rem;
        margin: 0 0 2rem;
    }

    .recruitment_info.about_outline {
        padding: 15rem 5rem 15rem;
    }
    .about_outline {
        padding: 15rem 5rem 0rem;
    }
    .about_outline_item {
        gap: 5rem;
    }
    .about_outline_item_title {
        width: 14.4rem;
        padding: 4rem 3rem;
        font-size: 1.6rem;
    }
    .about_outline_item_text {
        padding: 4rem 3rem;
        font-size: 1.6rem;
    }
    .about_outline_logo {
        width: 60rem;
        top: 15vh;
    }

    .about_concept {
        padding: 15rem 3rem 0;
    }

    .about_access {
        padding: 15rem 5rem 15rem;
    }
    .about_access_content {
        gap: 2rem;
    }
    .about_access_content_title {
        font-size: 1.6rem;
    }
    .about_access_content_text {
        font-size: 1.6rem;
    }

    /* -----------service-----------*/
    .service_message {
        padding: 0rem 5rem 10rem;
    }
    .service_message_title {
        font-size: clamp(2.4rem, 3.5vw, 4.2rem);
    }
    .service_message_text {
        font-size: 1.6rem;
        line-height: 1.7;
    }
    .service_message_text:nth-of-type(1) br {
        display: none;
    }

    .service_list {
        padding: 10rem 5rem 15rem;
    }
    .service_list_inner {
        flex-direction: row;
        gap: 3rem;
    }
    .service_list_item {
        width: calc((100% - 6rem) / 3);
    }
    .service_list_title {
        padding: 4rem 0 5.7rem;
    }
    .service_list_title_main {
        font-size: clamp(2.4rem, 2.5vw, 3.2rem);
    }
    .service_list_title_sub {
        font-size: clamp(1.4rem, 1.5vw, 1.8rem);
    }
    .service_list_item_arrow {
        width: 2rem;
        bottom: 1.8rem;
    }
    .service_list_content_head {
        font-size: clamp(1.8rem, 1.8vw, 2rem);
    }
    .service_list_content_head br {
        display: none;
    }
    .service_list_content_text {
        font-size: 1.5rem;
    }

    .service_business {
        padding: 0 5rem 10rem;
        margin: 0 0 10rem;
    }
    .service_business_head {
        padding: 10rem 3rem 20rem clamp(10rem, 14vw, 20rem);
    }
    .service_business_head::after {
        font-size: 15rem;
    }
    .service_business_image_img {
        display: block;
        width:  clamp(46rem, 46vw, 60rem);
        height: 40rem;
        margin-top: -18rem;
    }
    .service_business_label {
        flex-direction: row-reverse;
        align-items: flex-end;
    }
    .service_business_label_wrap {
        max-width: 50rem;
        flex-grow: 1;
    }
    .service_business_label_title {
        font-size: clamp(2rem, 2.8vw, 2.8rem);
    }
    .service_business_label_title::before {
        width: 3.8rem;
        height: 6.5rem;
    }
    .service_business_label_text {
        font-size: 1.6rem;
        line-height: 1.8;
    }
    .service_business_content {
        margin-top: 7rem;
        gap: 7rem;
    }
    .service_business_item {
        gap: 3rem;
        padding: 5rem clamp(3rem, 3.5vw, 5rem);
    }
    .service_business_item_title {
        font-size: clamp(1.8rem, 2vw, 2.8rem);
        padding: 0 0 1rem 1rem;
    }
    .service_business_item_title:before {
        width: 1.5rem;
    }
    .service_business_item_list {
        gap: 2rem;
    }
    .service_business_column .service_business_item_list {
        width: 100%;
        box-sizing: border-box;
        padding: clamp(3rem, 4vw, 5rem) 3rem;
    }
    .service_business_item_list li {
        font-size: clamp(1.6rem, 1.3vw, 1.8rem);
    }
    .service_business_item_check {
        width: 2rem;
    }
    .service_business_row {
        flex-direction: row;
        justify-content: space-between;
        gap: 3rem;
    }
    .service_business_row .service_business_item {
        width: clamp(45rem, 45vw, 51.1rem);
        flex-shrink: 0;
    }
    .service_business_row_arrow {
        transform: rotate(-90deg);
        width: clamp(4rem, 4vw, 5rem);
        flex-shrink: 0;
        margin: 0;
    }
    .service_business_row_text {
        width: 45%;
        font-size: 1.6rem;
    }
    .service_business_reason_list {
        flex-direction: row;
        gap: 3rem;
    }
    .service_business_reason_item {
        width: calc((100% - 6rem) / 3);
        padding: 3.2rem 0.6rem;
        gap: 2rem;
    }
    .service_business_reason_item::after {
        font-size: 10rem;
    }
    .service_business_reason_item_title {
        font-size: clamp(1.8rem, 2vw, 2.4rem);
    }
    .service_business_reason_item_text {
        font-size: 1.6rem;
    }
    .service_business_recruitment_text {
        font-size: 1.6rem;
    }
    .service_business_recruitment_list {
        flex-direction: row;
        gap: 3rem;
    }
    .service_business_recruitment_item {
        width: calc((100% - 6rem) / 3);
        padding: 3.2rem 0.6rem;
        gap: 2rem;
    }
    .service_business_recruitment_item_title {
        font-size: clamp(1.8rem, 2vw, 2.4rem);
    }
    .service_business_recruitment_item_text {
        font-size: 1.6rem;
    }
    .service_business_recruitment_content {
        gap: 2rem;
    }
    .service_business_recruitment_subtitle {
        font-size: 2rem;
    }
    .service_business_recruitment_subtitle::before {
        width: 8rem;
    }
    .service_business_recruitment_flow {
        height: 7.2rem;
    }
    .service_business_recruitment_flow.sp {
        display: none;
    }
    .service_business_recruitment_flow.pc {
        display: block;
    }
    .service_business_advertising_content {
        flex-direction: row;
        flex-wrap: wrap;
    }
    .service_business_column {
        width: calc((100% - 7rem) / 2);
        gap: 2rem;
    }
    .service_business_column_text {
        font-size: 1.6rem;
    }
    .service_business_column_arrow {
        width: 5rem;
    }
    .service_business_range_list {
        gap: 2rem;
        padding: clamp(3rem, 4vw, 5rem);
    }
    .service_business_range_item {
        gap: 1rem;
        padding-left: 7rem;
    }
    .service_business_range_item::before {
        width: 5rem;
        font-size: 2rem;
    }
    .service_business_range_item_title {
        font-size: clamp(1.5rem, 1.5vw, 2rem);
    }
    .service_business_range_item_text {
        font-size: clamp(1.4rem, 1.5vw, 1.6rem);
    }
    .service_business_range_note {
        font-size: clamp(1.4rem, 1.5vw, 1.6rem);
    }
    .service_business_item_tags {
        gap: 1rem;
    }
    .service_business_item_tag {
        font-size: clamp(1.4rem, 1.5vw, 1.6rem);
        padding: 0.8rem 3rem;
    }
    .service_business_advertising_item:last-of-type .service_business_item_tag {
        border-radius: 0;
    }
    .service_business_promise {
        padding: 0rem 5rem 20rem;
    }
    .service_business_promise_text {
        font-size: clamp(1.8rem, 1.8vw, 2.4rem);
        line-height: 1.8;
    }

    /* -----------recruitment-----------*/
    .recruitment_greeting {
        padding: 0rem 0rem 10rem 5rem;
    }
    .recruitment_greeting_sticky {
        top: 0rem;
    }
    .recruitment_greeting_sticky_text {
        font-size: clamp(8rem, 8.9vw, 12.8rem);
        width: clamp(7rem, 7.6vw, 11rem);
    }
    .recruitment_greeting_inner {
        gap: 3rem;
    }
    .recruitment_greeting_wrap {
        margin-left: -7rem;
        margin-left: calc(50% - 50vw);
    }
    .recruitment_greeting_image {
        width: 100%;
        margin-bottom: 7rem;
    }
    .recruitment_greeting_text {
        line-height: 2;
    }
    .recruitment_greeting_text_accent {
        line-height: 1;
        gap: 2rem;
    }
    .recruitment_greeting_text_accent .telop {
        padding: 0rem;
    }
    .recruitment_greeting_text_accent .telop_text {
        padding: 1rem;
    }
    .recruitment_greeting_formula {
        flex-wrap: nowrap;
        gap: 3.8rem;
    }
    .recruitment_greeting_formula_item {
        max-width: 20rem;
        padding: 2rem 1rem;
        flex-grow: 1;
    }
    .recruitment_greeting_formula_item:last-of-type {
        max-width: 32.6rem;
    }
    .recruitment_greeting_icon {
        width: 5rem;
    }

    .recruitment_inside_qa_question br {
        display: none;
    }
    
    .recruitment_info .about_outline_item_title {
        width: 17rem;
    }
    .recruitment_info_text span:nth-of-type(2) {
        /* color: #AEAEAE; */
    }

    .recruitment_process {
        padding: 15rem 5rem 20rem;
    }
    .recruitment_process_wrap {
        margin: 0 auto;
        padding: 0;
        justify-content: center;
        overflow: visible;
    }
    .recruitment_process_flow {
        width: 100%;
        margin: 0;
    }
    .recruitment_process_flow_item {
        flex-shrink: 1;
    }

    /* -----------contact form-----------*/
    .contact_form {
        padding: 15rem 5rem 20rem;
    }
    .contact_form_item input,
    .contact_form_item textarea,
    .contact_form_item select {
        padding: 1.3rem 3rem;
    }
    .contact_form_privacy input {
        width: 2rem;
    }
    .contact_form_submit button {
        padding: 3rem 10rem;
    }

    /* -----------thanks page-----------*/
    .thanks_page {
        padding: 15rem 5rem 15rem;
    }
    .thanks_page_text {
        margin-bottom: 7rem;
    }
}


@media screen and (min-width:1025px) {


    .sp {
        display: none;
    }

    .pc {
        display: block;
    }

    /* -----------共通-----------*/

    /* -----------PC header-----------*/


    /* -----------footer-----------*/


    /* -----------top-----------*/
    .top_service_inner {
        padding-left: 10rem;
    }
    .top_service_list {
        margin: 0 calc((50% - 50vw) + 5rem) 0 0;
    }

    .top_recruit_inner {
        padding-left: 10rem;
    }
    .top_recruit_image {
        margin: 0 calc((50% - 50vw) + 5rem) 0 0;
    }

    .top_interview_inner {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
    .top_interview .section_title {
        margin-bottom: 10rem;
    }
    .top_interview_content {
        padding: 0;
        gap: clamp(3rem, 3.6vw, 5rem);
    }
    .top_interview_item {
        max-width: 35rem;
    }
    .top_interview_item_title {
        font-size: clamp(2.4rem, 2.5vw, 3.6rem);
    }
    .top_interview_item_num {
        font-size: clamp(8rem, 9.1vw, 13rem);
        bottom: clamp(-9rem, -6vw, -6rem);
        right: 0;
    }

}

/* reCAPTCHAのバッジ（右下のロゴ）を非表示にする */
.grecaptcha-badge { 
    visibility: hidden; 
}

/* 追加した免責文言のデザイン調整（任意） */
.recaptcha-policy {
    font-size: 12px;
    color: #666;
    line-height: 1.5;
}

.recaptcha-policy a {
    color: #0073aa;
    text-decoration: underline;
	display: inline;
}

/* reCAPTCHAの文言内の改行（br）だけをピンポイントで無効化 */
.recaptcha-policy br {
    display: none !important;
}