@charset "utf-8";

/* ========== 変数 ========== */
:root {
    --_color-text: #20231f;
    /* --font-family: sans-serif; */
    --_global--background-color: #eaeaea;
    --_global--transition-duration: .3s;
    /* カスタマイズ */
    --font-size_xl: clamp(2rem, calc(1.7142857142857144rem + 1.4285714285714286vw), 3rem);
    --font-size_l: clamp(1.5rem, calc(0.9057750759878419rem + 1.21580547112462vw), 2rem);
    --font-size_m: clamp(1.25rem, calc(0.6557750759878419rem + 1.21580547112462vw), 1.75rem);
    --color_black: #20231f;
    --color_gray: #d4d9d4;
    --gradient: linear-gradient(90deg, #1bc40b, #4ec800, #6dcc00, #86cf00, #9dd200, #b3d503, #c7d816, #dada25);
    --font-family_sans: sans-serif;
    --font-family_serif: serif;
    --font-family_en: "Tektur", sans-serif;
    --spacing_base: 32px;
    --spacing_s: 16px;
    --spacing_m: 48px;
    --spacing_l: 96px;
}

/* ========== 基本設定 ========== */
ul {
    padding-left: 0;
}

li {
    list-style: none;
}

.p_rel {
    position: relative;
}

.inline_b {
    display: inline-block;
}

.pc_none {
    display: none;
}

/* ========== 共通設定 ========== */
body {
    font-feature-settings: "palt";
    font-size: clamp(0.9375rem, calc(0.8632218844984803rem + 0.1519756838905775vw), 1rem);
}

/* セクション */
.smb-section:has(.smb-section__divider--top) {
    padding-top: calc(12svh + 48px);
}

.smb-section:has(.smb-section__divider--bottom) {
    padding-bottom: calc(12svh + 48px);
}

.smb-section__divider svg {
    height: 12svh;
}

/* 見出し */
h3.wp-block-heading {
    font-size: var(--font-size_m);
}

.section-heading {
    gap: 1rem;
}

.section-heading__en {
    font-family: var(--font-family_en);
    font-weight: 700;
    font-size: clamp(2.5rem, calc(2.357142857142857rem + 0.7142857142857143vw), 3rem);
    line-height: 1.25;
}

.section-heading__en::after {
    content: "";
    display: block;
    width: 1rem;
    height: 4px;
    background-color: var(--accent-color);
    margin-top: 1rem;
    pointer-events: none;
}

.section-heading__ja {
    font-size: clamp(0.875rem, calc(0.8035714285714286rem + 0.35714285714285715vw), 1.125rem);
}

.section-heading+* {
    margin-top: var(--spacing_m);
}

/* ボタン */
.smb-btn:is(:active, :focus, :hover) {
    filter: brightness(1.0);
}

.smb-btn {
    min-width: 220px;
    transition: all .2s ease-in-out !important;
    border-radius: 0;
    padding-block: 1rem;
}

.smb-btn:hover {
    background-color: var(--sub-accent-color);
}

.btn-black .smb-btn:hover {
    color: var(--_color-text);
}

.is-style-text .smb-btn:hover {
    background-color: transparent;
}

.smb-btn__label {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

/* テーブル */
table,
tbody {
    display: block;
    width: 100%;
    background-color: var(--_global--background-color);
}

.wp-block-table tr {
    display: flex;
    flex-wrap: wrap;
}

.wp-block-table tr td {
    display: block;
    padding-block: 1.5rem;
    padding-inline: 1.25rem;
    border: none;
}

.wp-block-table tr td:first-child {
    width: 33.333%;
    font-weight: 700;
}

.wp-block-table tr td:last-child {
    width: 66.666%;
    border-top: solid 2px var(--accent-color);
}

.wp-block-table tr:last-child td:last-child {
    border-bottom: solid 2px var(--accent-color);
}

.wp-block-table a[href^="tel:"] {
    color: inherit;
    text-decoration: none;
    pointer-events: none;
}

/* ヘッダー */
.l-header {
    overflow: visible !important;
}

.l-1row-header .c-fluid-container {
    padding-inline: 0;
}

/* ロゴ */
header .l-1row-header__branding {
    padding-block: 0;
}

header .c-site-branding__title {
    line-height: 1;
    position: absolute;
    top: 0;
    left: 0;
    background-color: var(--_global--background-color);
    padding-block: 0.75rem;
    padding-inline: 1.5rem;
    border-radius: 0 0 24px 0;
    box-shadow: 0 1px 2px 1px #0000000d;
}

header .c-site-branding__title>a.custom-logo-link {
    display: block;
    width: clamp(124px, calc(109.34939759036145px + 4.578313253012048vw), 200px);
}

header .c-site-branding__title>a.custom-logo-link>img {
    width: 100%;
}

/* グローバルナビ */
.c-navbar__item:has(.c-navbar__submenu)>a {
    flex-direction: row;
    gap: 0.5rem;
}

.c-navbar__item:has(.c-navbar__submenu)>a::after {
    content: "";
    display: block;
    width: 0.5rem;
    aspect-ratio: 1;
    border-bottom: solid 2px currentColor;
    border-right: solid 2px currentColor;
    rotate: 45deg;
    transition: all var(--_global--transition-duration) ease-in-out;
}

.c-navbar__item:has(.c-navbar__submenu):hover>a::after {
    rotate: -135deg;
}

.p-global-nav .c-navbar__item>a>span {
    gap: 0.25rem;
}

.g_nav__cta {
    background-color: var(--accent-color);
    transition: all var(--_global--transition-duration) ease-in-out;
}

.p-global-nav--hover-text-color .c-navbar__item.g_nav__cta:hover,
.p-global-nav--hover-text-color .c-navbar__item.g_nav__cta:focus-visible,
.p-global-nav--hover-text-color.p-global-nav--current-same-hover-effect .c-navbar__item[data-active-menu].g_nav__cta {
    color: var(--_color-text);
    background-color: var(--sub-accent-color);
}

/* ハンバーガーメニュー */
.l-header .c-hamburger-btn__bar {
    height: 2px;
    background-color: var(--accent-color);
}

.c-hamburger-btn__label {
    display: none;
}

/* ドロワーナビ */
.c-drawer {
    background-color: #292c28;
}

#menu-sp_nav {
    padding-top: 80px;
    padding-bottom: 200px;
}

#menu-sp_nav::before {
    content: "";
    display: block;
    width: 40%;
    aspect-ratio: 140/127;
    background: url(/wp-content/uploads/2025/10/character_5.png) no-repeat center center / cover;
    position: absolute;
    bottom: 0;
    right: 0;
    translate: -12% -15%;
}


.c-drawer__item>a {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.drawer_cta {
    color: #292c28;
    background: var(--accent-color);
    padding-inline: 1rem;
    margin-top: 1rem !important;
}

.drawer_sns {
    font-size: 1.125rem;
    margin-top: 1rem !important;
}

/* フッター */
.l-footer {
    color: white;
    background: var(--gradient);
    position: relative;
    z-index: 1;
}

.l-footer::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--color_black);
    opacity: 0.1;
    mix-blend-mode: multiply;
    position: absolute;
    inset: 0;
    z-index: -1;
}

.footer__cover {
    font-size: 1.125em;
}

.footer__information a[href^="tel:"] {
    text-decoration: none;
    color: inherit;
    pointer-events: none;
}

.footer_links {
    flex-grow: 1;
}

#menu-footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem 1.5rem;
    margin-top: 12px;
}

#menu-footer .menu-item {
    margin-top: 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

#menu-footer .menu-item::before {
    content: "";
    display: block;
    width: 0.375rem;
    height: 2px;
    background-color: currentColor;
}

.footer__btns {
    gap: 1rem;
}

:where(.footer__btns) .smb-btn {
    padding-block: 0.625rem;
    background-color: var(--color_black);
}

.wp-social-link-instagram {
    background-color: transparent;
}

.wp-block-social-links .wp-social-link a {
    padding: 0;
}

.c-copyright--inverse {
    color: var(--_color-text);
    background-color: transparent;
}

/* 投稿 */
.c-meta__item--author,
.c-meta__item--modified {
    display: none;
}

.c-entry-summary__term {
    font-size: 0.875rem !important;
}

.c-entries--simple,
.c-entries--text,
.c-entries--text2 {
    border-top-color: var(--color_black);
}

.c-entries--simple .c-entries__item,
.c-entries--text .c-entries__item,
.c-entries--text2 .c-entries__item {
    border-bottom-color: var(--color_black);
}

.c-entry-summary__title {
    transition: all var(--_global--transition-duration) ease-in-out;
}

.c-entries__item>a:hover .c-entry-summary__title {
    color: var(--accent-color);
}

.c-entries__item>a:hover .c-entry-summary__figure>img {
    filter: none;
}

.c-entries__item>a:hover .c-entry-summary__body {
    opacity: 1;
}

/* 投稿（スタッフ） */
:is(.c-entry-summary--staff, .c-entry-summary--type-staff) {
    position: relative;
}

:is(.c-entry-summary--staff, .c-entry-summary--type-staff)::after {
    content: "";
    display: block;
    width: 1rem;
    aspect-ratio: 1;
    background: url("/wp-content/uploads/2025/09/arrow.png") no-repeat center center / cover;
    position: absolute;
    right: 0;
    bottom: 16px;
}

:is(.c-entry-summary--staff, .c-entry-summary--type-staff) .c-entry-summary__figure {
    background-color: transparent;
}

:is(.c-entry-summary--staff, .c-entry-summary--type-staff) .c-entry-summary__figure::before {
    padding-top: calc(4 / 3 * 100%);
}

:is(.c-entry-summary--staff, .c-entry-summary--type-staff) .c-entry-summary__figure>img {
    mask-image: url(data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%201263%20216%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M1263%200.179688L0.000244141%20216.008V0H1263V0.179688Z%22%2F%3E%0A%3C%2Fsvg%3E), url(data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%201263%20216%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M0.000244141%20215.82L1263%20-0.0078125V216H0.000244141V215.82Z%22%2F%3E%0A%3C%2Fsvg%3E), url(data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2010%2010%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20x%3D%220%22%20y%3D%220%22%20height%3D%2210%22%20width%3D%2210%22%3E%3C%2Frect%3E%3C%2Fsvg%3E);
    mask-repeat: no-repeat, no-repeat, no-repeat;
    mask-position: 0 0, calc(100% + 1px) calc(100% + 1px), 0 0;
    mask-size: 100%, 100%, cover;
    mask-composite: exclude;
    object-position: top center;
}

:is(.c-entry-summary--staff, .c-entry-summary--type-staff) .c-entry-summary__term {
    color: var(--accent-color);
    padding: 0;
    background-color: transparent;
    left: 0;
}

:is(.c-entry-summary--staff, .c-entry-summary--type-staff) .c-entry-summary__body {
    position: absolute;
    top: 28px;
    left: 0;
    z-index: 1;
}

:is(.c-entry-summary--staff, .c-entry-summary--type-staff) .c-entry-summary__title {
    font-family: var(--font-family_en);
    font-size: 2.125rem;
    line-height: 1.25;
    background-color: var(--accent-color);
}

:is(.c-entry-summary--staff, .c-entry-summary--type-staff):hover .c-entry-summary__title {
    color: var(--accent-color);
    background-color: var(--color_black);
}

/* カルーセル */
.spider__dots:not([data-thumbnails=true]) .spider__dot {
    border-radius: 0;
}

.spider__dots:not([data-thumbnails=true]) .spider__dot[aria-current=true] {
    background-color: var(--accent-color);
}

.spider>.spider__arrow {
    top: auto;
    bottom: 0;
    translate: 0 calc(var(--_margin1) + 100%);
}

.spider__arrow[data-direction=prev]:before {
    border-bottom: solid 2px var(--accent-color);
    border-left: solid 2px var(--accent-color);
}

.spider__arrow[data-direction=next]:before {
    border-right: solid 2px var(--accent-color);
    border-top: solid 2px var(--accent-color);
}


/* ========== パターン ========== */
/* pattern_cta */
.pattern_cta__cover {
    margin-top: 16px;
}

.pattern_cta__column {
    color: var(--color_gray);
    background-color: var(--color_black);
    padding-block: var(--spacing_m);
    padding-inline: 5%;
    row-gap: 64px;
}

.pattern_cta__copy {
    font-weight: 700;
    font-size: var(--font-size_m);
}

.pattern_cta__title {
    font-size: 1.125em;
    font-weight: 700;
    text-align: center;
    padding-bottom: 1rem;
}

.pattern_cta__title::after {
    content: "";
    display: block;
    width: 1rem;
    height: 4px;
    background-color: var(--sub-accent-color);
    pointer-events: none;
    position: absolute;
    left: 50%;
    bottom: 0;
    translate: -50% 0;
}

.pattern_cta__btn .smb-btn__label {
    color: var(--_color-text);
    font-size: 1.5rem;
}

.pattern_cta__btn.--tel .smb-btn__label {
    color: var(--color_gray);
    font-family: var(--font-family_en);
    font-weight: 600;
    font-size: 1.75rem;
    transition: all var(--_global--transition-duration) ease-in-out;
}

.pattern_cta__btn.--tel .smb-btn:hover .smb-btn__label {
    color: var(--sub-accent-color);
}

/* pattern_recruit-cta */
.pattern_recruit-cta {
    margin-top: var(--spacing_l);
}

/* pattern_message */
.pattern_message__image-cover {
    position: relative;
}

.pattern_message__image-cover::before {
    content: "";
    display: block;
    width: 40%;
    aspect-ratio: 140/127;
    background: url(/wp-content/uploads/2025/10/character_5.png) no-repeat center center / cover;
    position: absolute;
    bottom: 0;
    left: 0;
    translate: -21% 10%;
    z-index: 1;
}

.pattern_message__copy {
    font-size: var(--font-size_m);
    font-weight: 700;
}

/* ========== HOME ========== */
/* home_hero */
.home_hero {
    background-color: var(--color_black);
    padding-top: 124px;
}

.home_hero__lead {
    color: var(--color_gray);
    font-size: clamp(1rem, calc(0.6785714285714286rem + 1.607142857142857vw), 2.125rem);
    font-weight: 700;
    gap: 0 var(--spacing_base);
}

.home_hero__lead-item {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.home_hero__lead-item::before,
.home_hero__lead-item::after {
    content: "";
    display: block;
    width: 0.5rem;
    height: 1em;
    border-top: solid 4px currentColor;
    border-bottom: solid 4px currentColor;
}

.home_hero__lead-item::before {
    border-left: solid 4px currentColor;
}

.home_hero__lead-item::after {
    border-right: solid 4px currentColor;
}

.home_hero__copy {
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.15;
    margin-top: 1rem;
    gap: 0.5rem;
}

.home_hero__copy-1 {
    color: var(--color_gray);
    font-size: clamp(2rem, calc(0.21732522796352582rem + 3.64741641337386vw), 3.5rem);
}

.home_hero__copy-2 {
    color: var(--color_black);
    background: var(--gradient);
    font-size: clamp(3.5rem, calc(-0.36246200607902734rem + 7.90273556231003vw), 6.75rem);
}

/* home_intro */
.home_intro__copy {
    font-size: var(--font-size_l);
}

.home_intro__text {
    font-size: 1.125em;
    line-height: 2;
    margin-top: var(--spacing_m);
}

.home_intro__image-cover {
    position: relative;
}

.home_intro__image-cover::after {
    content: "";
    display: block;
    width: 33%;
    aspect-ratio: 155/142;
    background: url("/wp-content/uploads/2025/10/home_intro_deco.png") no-repeat center center / cover;
    position: absolute;
    right: 0;
    bottom: 0;
}

.home_intro__image:nth-child(1) {
    padding-left: 10%;
}

.home_intro__image:nth-child(2) {
    padding-right: 50%;
    margin-top: -15.5%;
}

/* home_service */
.home_service {
    color: var(--color_gray);
    background-color: var(--color_black);
}

.home_service::before {
    content: "";
    display: block;
    width: max(13%, 144px);
    aspect-ratio: 33/32;
    background: url("/wp-content/uploads/2025/10/character_2.png") no-repeat center center / cover;
    position: absolute;
    top: 0;
    right: 0;
    translate: -20% -13%;
}

.home_service__cover {
    gap: var(--spacing_base) 0;
}

.home_service__box {
    flex-basis: calc(100% / 3);
    padding: 2.5%;
    --smb-box--border-color: transparent;
    --smb-box--border-width: 0px;

}

.home_service__image {
    position: relative;
}

.home_service__image::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--color_black);
    opacity: 0.4;
    mix-blend-mode: multiply;
    position: absolute;
    inset: 0;
    mask-image: url(data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%201263%20216%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M1263%200.179688L0.000244141%20216.008V0H1263V0.179688Z%22%2F%3E%0A%3C%2Fsvg%3E), url(data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%201263%20216%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M0.000244141%20215.82L1263%20-0.0078125V216H0.000244141V215.82Z%22%2F%3E%0A%3C%2Fsvg%3E), url(data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2010%2010%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20x%3D%220%22%20y%3D%220%22%20height%3D%2210%22%20width%3D%2210%22%3E%3C%2Frect%3E%3C%2Fsvg%3E);
    mask-repeat: no-repeat, no-repeat, no-repeat;
    mask-position: 0 0, calc(100% + 1px) calc(100% + 1px), 0 0;
    mask-size: 100%, 100%, cover;
    mask-composite: exclude;
    z-index: 1;
    transition: all var(--_global--transition-duration) ease-in-out;
}

.home_service__box:hover .home_service__image::before {
    opacity: 0.1;
}

.home_service__title {
    font-weight: 700;
    margin-top: 0;
    width: 1005;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.home_service__title-en {
    font-size: var(--font-size_l);
    font-family: var(--font-family_en);
    line-height: 1;
    opacity: 0.4;
}

.home_service__title-ja {
    margin-top: 0;
    font-size: 1.125em;
}

.home_service__arrow {
    margin-top: 0;
    position: absolute;
    right: 0;
    bottom: 16px;
}

/* home_works */
.home_works::after {
    content: "";
    display: block;
    width: max(13%, 170px);
    aspect-ratio: 139/132;
    background: url("/wp-content/uploads/2025/10/character_3.png") no-repeat center center / cover;
    position: absolute;
    top: 0;
    left: 0;
    translate: 25% -41%;
}


/* home_reason */
.home_reason {
    color: var(--color_gray);
    background-color: var(--color_black);
}

.home_reason__heading::before {
    content: "";
    display: block;
    width: max(14%, 160px);
    aspect-ratio: 145/134;
    background: url("/wp-content/uploads/2025/10/character_4.png") no-repeat center center / cover;
    position: absolute;
    top: 0;
    right: 0;
    translate: 0 -25%;
}

.home_reason__cover {
    border-top: solid 2px currentColor;
}

.home_reason__item {
    border-bottom: solid 2px currentColor;
    padding-block: var(--spacing_m);
}

.home_reason__item::before {
    content: "";
    display: block;
    height: 75%;
    aspect-ratio: 1;
    opacity: 0.15;
    position: absolute;
    right: 32px;
    bottom: 0;
}

.home_reason__item:nth-child(1)::before {
    background: url("/wp-content/uploads/2025/09/reason_1.png") no-repeat center center / cover;
}

.home_reason__item:nth-child(2)::before {
    background: url("/wp-content/uploads/2025/09/reason_2.png") no-repeat center center / cover;
}

.home_reason__item:nth-child(3)::before {
    background: url("/wp-content/uploads/2025/09/reason_3.png") no-repeat center center / cover;
}

.home_reason__catch {
    color: var(--accent-color);
    font-size: var(--font-size_xl);
    line-height: 1;
    gap: 1rem;
}

.home_reason__catch-num {
    font-size: 1.333em;
    font-weight: 700;
    font-family: var(--font-family_en);
}

.home_reason__catch-copy {
    font-weight: 900;
}

/* home_recruit */
.home_recruit__image {
    margin-right: calc(50% - 50vw) !important;
    margin-top: -64px;
}

.home_recruit__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home_recruit__copy {
    font-size: var(--font-size_l);
    font-weight: 700;
    line-height: 1.5;
}

.home_recruit__cover {
    border-top: solid 2px currentColor;
}

.home_recruit__item {
    padding-block: var(--spacing_base);
    border-bottom: solid 2px currentColor;
}

.home_recruit__title {
    font-size: var(--font-size_m);
    font-weight: 700;
    line-height: 1.25;
    background-color: var(--accent-color);
    width: fit-content;
    padding-inline: 0.25rem;
    margin-left: 0 !important;
}

.home_recruit__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.home_recruit__list li {
    margin-top: 0;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.home_recruit__list li::before {
    content: "";
    display: block;
    width: 0.5rem;
    aspect-ratio: 1;
    background-color: var(--accent-color);
}

/* home_faq */
.home_faq__items .smb-accordion__item__title {
    color: var(--color_gray);
    background-color: var(--color_black);
    padding-block: 16px;
}

.home_faq__items .smb-accordion__item__title__label {
    font-weight: 700;
}

.home_faq__items .smb-accordion__item__title__label::before {
    content: "Q.";
    display: inline-block;
    margin-right: 0.25rem;
    color: var(--accent-color);
    font-family: var(--font-family_en);
    font-size: 1.5em;
}


/* ========== 下層ページ ========== */
body.page .l-contents__inner {
    padding-bottom: 0;
    margin-top: 0;
}

/* 下層ページヘッダー */
.c-page-header {
    color: var(--color_gray);
    background-color: var(--color_black);
    padding-top: 136px;
}

.c-page-header[data-has-image=true] {
    height: unset;
}

.c-page-header[data-has-image=true] .c-page-header__content {
    color: unset;
}

.c-page-header__bgimage>img,
.c-page-header__bgimage>picture>img {
    display: none;
}

.c-page-header__title {
    font-size: clamp(1.75rem, calc(1.5357142857142856rem + 1.0714285714285714vw), 2.5rem);
}

.c-page-header__title::after {
    content: "";
    display: block;
    width: 2rem;
    height: 6px;
    background-color: var(--accent-color);
    margin-top: 1.5rem;
}

/* パンくず */
.p-breadcrumbs-wrapper {
    margin-inline: calc(50% - 50vw);
    max-width: none;
    color: var(--color_gray);
    background-color: var(--color_black);
    box-sizing: initial;
    padding-left: var(--_container-margin-left);
    padding-right: var(--_container-margin-right);
}

.c-breadcrumbs {
    max-width: var(--wp--custom--content-width);
    margin-inline: auto;
}

/* ページネーション */
.c-pagination__item-ellipsis,
.c-pagination__item-link {
    color: var(--color_gray);
    background-color: var(--color_black);
}

/* ========== 会社概要 ========== */
/* company_origin */
.company_origin {
    border-top: solid 2px currentColor;
    border-bottom: solid 2px currentColor;
    padding-block: var(--spacing_m);
    margin-top: var(--spacing_m);
}

.company_origin__column {
    row-gap: var(--spacing_m);
}

.company_origin__title {
    line-height: 1.25;
    background-color: var(--accent-color);
    padding-inline: 0.25rem;
    width: fit-content;
    margin-left: 0 !important;
}

/* company_overview */
.company_overview__box {
    color: var(--_global--background-color);
    padding: 0;
}

.company_overview__box-image {
    position: relative;
}

.company_overview__box-image::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--color_black);
    opacity: 0.4;
    mix-blend-mode: multiply;
    position: absolute;
    inset: 0;
    transition: all var(--_global--transition-duration) ease-in-out;
}

.company_overview__box:hover .company_overview__box-image::before {
    opacity: 0;
}

.company_overview__text {
    margin-top: 0;
    position: absolute;
    top: 3%;
    left: 4%;
    font-weight: 700;
    font-size: var(--font-size_m);
}

.company_overview__arrow {
    font-size: 1.5rem;
    margin-top: 0;
    position: absolute;
    bottom: 3%;
    right: 2%;
}

/* ========== 事業内容 ========== */
/* service_intro */
.service_intro__cover {
    column-gap: var(--spacing_s);
}

.service_intro__content {
    padding-block: var(--spacing_m);
}

.service_intro__copy {
    font-size: var(--font-size_l);
}

.service_intro__image {
    flex-basis: 25%;
}

.service_intro__image.--1 {
    align-items: flex-start;
}

.service_intro__image.--2 {
    align-self: flex-end;
}

.service_intro__btns {
    margin-top: var(--spacing_m);
}

/* service_services */
.service_services__item:nth-child(n+2) {
    margin-top: 128px;
}

.service_services__header {
    column-gap: min(5%, 64px);
}

.service_services__title {
    font-size: var(--font-size_l);
}

.service_services__title::after {
    content: "";
    display: block;
    width: 1rem;
    height: 4px;
    background-color: var(--sub-accent-color);
    margin-top: 1rem;
}

.service_services__image-cover {
    position: relative;
}

.service_services__en-title {
    position: absolute;
    margin-top: 0;
    font-family: var(--font-family_en);
    font-weight: 700;
    font-size: clamp(3rem, calc(1.2173252279635258rem + 3.64741641337386vw), 4.5rem);
    line-height: 1;
    opacity: 0.25;
    max-width: 100%;
}

:where(.service_services__item:nth-child(odd)) .service_services__en-title {
    right: 0;
    bottom: 0;
    text-align: right;
}

:where(.service_services__item:nth-child(even)) .service_services__en-title {
    left: 0;
    top: 0;
}

.service_services__list li {
    font-size: 1.125em;
    padding-left: 1.5rem;
    position: relative;
}

.service_services__list li::before {
    content: "";
    display: block;
    width: 0.5rem;
    aspect-ratio: 1;
    background-color: var(--accent-color);
    position: absolute;
    top: calc(1em / 2 * 1.75);
    left: 0;
    translate: 0 -50%;
}

.service_services__sub-image-cover {
    gap: var(--spacing_s);
}

.service_services__body {
    margin-top: var(--spacing_m);
}

/* service_areas */
.service_areas {
    color: var(--color_gray);
    background-color: var(--color_black);
}

.service_areas__copy {
    font-size: var(--font-size_l);
    font-weight: 700;
}

.service_areas__column {
    max-width: 1080px;
    margin-inline: auto;
}

.service_areas__image-cover {
    position: relative;
}

.service_areas__image-cover::after {
    content: "";
    display: block;
    width: 50%;
    aspect-ratio: 139/132;
    background: url("/wp-content/uploads/2025/10/character_3.png") no-repeat center center / cover;
    position: absolute;
    left: 0;
    bottom: 0;
}

.service_areas__map {
    opacity: 0.75;
}

/* ========== 募集情報 ========== */
.recruit__title::after {
    content: "";
    display: block;
    width: 1rem;
    height: 4px;
    background-color: var(--sub-accent-color);
    margin-top: 1rem;
}

.recruit__cover {
    margin-top: var(--spacing_l);
}

/* recruit_intro */
.recruit_intro__copy {
    gap: 1rem;
}

.recruit_intro__sub-copy {
    font-weight: 700;
    background-color: var(--sub-accent-color);
    padding-inline: 0.25rem;
}

.recruit_intro__main-copy {
    font-size: var(--font-size_l);
}

.recruit_intro__column {
    margin-top: var(--spacing_m);
}

.recruit_intro__text {
    font-size: 1.125em;
    line-height: 2;
}

.recruit_intro__image-cover {
    position: relative;
}

.recruit_intro__image {
    margin-right: calc(50% - 50vw) !important;
    margin-top: -64px;
}

.recruit_intro__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* recruit_staff */
.recruit_staff__cover {
    column-gap: var(--spacing_s);
}

.recruit_staff__cover::after {
    content: "";
    display: block;
    width: max(12%, 140px);
    aspect-ratio: 33/32;
    background: url("/wp-content/uploads/2025/10/character_2.png") no-repeat center center / cover;
    position: absolute;
    top: 0;
    right: 0;
    translate: 0 -100%;
}

.recruit_staff__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-block: var(--spacing_m);
}

.recruit_staff__list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.recruit_staff__list li {
    margin-top: 0;
    font-size: 1.125em;
    font-weight: 700;
    background-color: var(--sub-accent-color);
    padding: 0.5rem;
    position: relative;
}

.recruit_staff__list li::after {
    content: "";
    display: block;
    width: 1rem;
    aspect-ratio: 1/cos(30deg);
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
    background-color: var(--sub-accent-color);
    position: absolute;
    left: 50%;
    bottom: 1px;
    translate: -50% 100%;
}

.recruit_staff__image {
    flex-basis: 25%;
}

.recruit_staff__image.--1 {
    align-self: flex-start;
}

.recruit_staff__image.--2 {
    align-self: flex-end;
}

/* ========== メンバー紹介 ========== */
.c-entry-summary--type-staff :is(.c-entry-summary__content, .c-entry-summary__meta) {
    display: none;
}

/* staff_header */
.staff_header__job {
    font-size: 1.125em;
    font-weight: 700;
    color: var(--accent-color);
}

.staff_header__name {
    font-family: var(--font-family_en);
    font-size: var(--font-size_xl);
    font-weight: 700;
    line-height: 1.25;
    background-color: var(--accent-color);
    width: fit-content;
    margin-left: 0 !important;
}

.staff_header__copy {
    font-size: var(--font-size_l);
    font-weight: 700;
    margin-top: var(--spacing_m);
}


/* staff_interview */
.staff_interview__question {
    font-weight: 700;
    padding-block: 2.5rem;
    padding-right: 1rem;
}

.staff_interview__question-q {
    font-family: var(--font-family_en);
    color: var(--accent-color);
    font-size: 1.5em;
    line-height: 1;
    position: absolute;
    top: calc(1em / 2 * 1.75);
    left: 0;
    translate: 0 -80%;
}

.staff_interview__question-text {
    margin-top: 0;
    padding-left: 2em;
}

.staff_interview__answer {
    padding-block: 2.5rem;
    padding-inline: 1rem;
    border-top: solid 2px var(--accent-color);
}

:where(.staff_interview__item:last-child) .staff_interview__answer {
    border-bottom: solid 2px var(--accent-color);
}

.staff_postnation-cover {
    gap: var(--spacing_s);
}

.wp-block-post-navigation-link {
    color: var(--color_gray);
    background-color: var(--color_black);
    width: calc(50% - var(--spacing_s) / 2);
    min-width: fit-content;
}

.wp-block-post-navigation-link a {
    display: flex;
    align-items: center;
    gap: 1rem;
    color: inherit;
    font-family: var(--font-family_en);
    font-weight: 700;
    font-size: 1.25em;
    text-decoration: none;
    padding-block: 1.5rem;
    padding-inline: 1.5rem;
    width: 100%;
}

.post-navigation-link-previous a::before {
    content: "(←)";
}

.post-navigation-link-next a {
    justify-content: flex-end;
}

.post-navigation-link-next a::after {
    content: "(→)";
}

/* ========== お問い合わせ ========== */
/* contact_intro */
.contact_intro__box {
    color: var(--color_gray);
    background-color: var(--color_black);
    padding-block: var(--spacing_base);
}

.contact_intro__box:hover .smb-btn__label {
    color: var(--sub-accent-color);
}

.contact_intro__title {
    font-weight: 700;
    padding-bottom: 1rem;
}

.contact_intro__title::after {
    content: "";
    display: block;
    width: 1rem;
    height: 4px;
    background-color: var(--sub-accent-color);
    pointer-events: none;
    position: absolute;
    left: 50%;
    bottom: 0;
    translate: -50% 0;
}

/* お問い合わせフォーム */
#autozip {
    display: none !important;
}

.smf-form {
    background-color: var(--_global--background-color);
}

.smf-control-description a[href^="tel:"] {
    color: inherit;
    text-decoration: none;
    pointer-events: none;
}

.smf-form--simple-table .smf-item {
    padding-block: var(--spacing_base);
}

.smf-item__label__text {
    font-weight: 700;
}

.smf-item__description {
    color: var(--accent-color);
}

.form_input__address-item {
    max-width: 100%;
}

/* 送信ボタン */
.smf-action .smf-button-control__control {
    background-color: var(--accent-color);
    border: 2px solid var(--accent-color);
    font-family: inherit;
    color: white;
    width: 100%;
    max-width: 400px;
    padding-block: 1rem;
    background-image: none;
    border-radius: 0;
}

/* 戻るボタン */
.smf-action .smf-button-control__control[data-action="back"] {
    background-color: white;
    color: var(--accent-color);
}

.smf-button-control {
    margin-left: 0 !important;
}

.smf-action .smf-button-control__control {
    margin-top: 24px;
}

/* ========== プライバシーポリシー ========== */
.privacy-policy li {
    list-style: inherit;
}


/* ~~~~~~~~~~~~~~~~~~~~ large-size ~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 1023px) {

    /* ========== 共通設定 ========== */
    /* ヘッダー */
    .l-1row-header .c-fluid-container {
        padding-right: var(--_container-margin-right);
    }

    /* フッター */
    .footer__cover {
        flex-wrap: wrap !important;
    }

    #menu-footer {
        justify-content: flex-start;
    }

    .footer__btns {
        justify-content: flex-start !important;
    }


    /* 投稿（スタッフ） */
    .c-entries-carousel:has(:is(.c-entry-summary--staff, .c-entry-summary--type-staff)) .spider__slide {
        max-width: calc(50% - var(--entries--carousel--gap) / 1.5);
    }

    /* ========== HOME ========== */
    .home_hero {
        padding-top: 110px;
    }

    /* ========== 下層ページ ========== */
    /* パンくず */
    .p-breadcrumbs-wrapper {
        max-width: 100%;
    }
}

/* ~~~~~~~~~~~~~~~~~~~~ medium-size ~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 781px) {
    :root {
        --font-size_l: clamp(1.5rem, calc(1.1536796536796536rem + 1.7316017316017316vw), 2rem);
        --font-size_m: clamp(1.25rem, calc(0.9036796536796536rem + 1.7316017316017316vw), 1.75rem);
    }

    /* ==========  共通設定  ========== */
    /* 投稿（スタッフ） */
    .c-entries-carousel:has(:is(.c-entry-summary--staff, .c-entry-summary--type-staff)) .spider__slide {
        max-width: 100%;
    }

    :is(.c-entry-summary--staff, .c-entry-summary--type-staff) .c-entry-summary__figure::before {
        padding-top: calc(3 / 4 * 100%);
    }

    :is(.c-entry-summary--staff, .c-entry-summary--type-staff) .c-entry-summary__title {
        font-size: clamp(1.625rem, calc(0.8457792207792207rem + 3.896103896103896vw), 2.75rem);
    }

    /* ========== パターン ========== */
    /* pattern_cta */
    .pattern_cta__cover {
        margin-top: var(--spacing_m);
    }

    .pattern_cta__btn .smb-btn__label {
        font-size: 1.125rem;
    }

    .pattern_cta__btn.--tel .smb-btn__label {
        font-size: 1.5rem;
    }

    /* .pattern_message */
    .pattern_message__image-cover::before {
        width: 36%;
        translate: -5% 4%;
    }

    /* ========== HOME ========== */
    /* home_hero */
    .home_hero__lead-item::before,
    .home_hero__lead-item::after {
        border-top-width: 3px;
        border-bottom-width: 3px;
    }

    .home_hero__lead-item::before {
        border-left-width: 3px;
    }

    .home_hero__lead-item::after {
        border-right-width: 3px;
    }

    .home_hero__copy-1 {
        font-size: clamp(1.75rem, calc(1.25rem + 2.5vw), 3.5rem);
    }

    .home_hero__copy-2 {
        font-size: clamp(2.375rem, calc(1.125rem + 6.25vw), 6.75rem);
    }

    /* home_service */
    .home_service::before {
        width: min(30%, 180px);
    }

    .home_service__box {
        flex-basis: calc(100% / 2);
    }


    /* home_works */
    .home_works::after {
        width: min(35%, 160px);
        translate: 10% -6%;
    }

    /* home_reason */
    .home_reason__heading::before {
        width: min(35%, 148px);
    }

    .home_reason__item {
        padding-top: 64px;
    }

    .home_reason__item::before {
        height: auto;
        width: max(30%, 200px);
        inset: auto;
        top: 0;
        right: 2%;
    }

    /* ========== 会社概要 ========== */
    .company_overview__box-image img {
        aspect-ratio: 2/1;
        object-fit: cover;
    }

    .company_overview__text {
        top: 50%;
        translate: 0 -50%;
    }

    .company_overview__arrow {
        font-size: 1.25rem;
        right: 4%;
        bottom: 8%;
    }

    /* ========== 事業内容 ========== */
    /* service_intro */
    .service_intro__cover {
        flex-wrap: wrap !important;
    }

    .service_intro__content {
        flex-basis: 100%;
        order: 1;
    }

    .service_intro__image.--1 {
        order: 2;
        flex-basis: 55%;
    }

    .service_intro__image.--2 {
        order: 3;
        flex-basis: 38%;
        align-self: flex-start;
        margin-top: 13%;
    }

    /* service_services */
    :where(.service_services__item:nth-child(odd)) .service_services__header {
        flex-direction: column-reverse;
    }

    :where(.service_services__item:nth-child(odd)) .service_services__body {
        flex-direction: column-reverse;
    }

    .service_services__en-title {
        font-size: clamp(1.75rem, calc(0.19155844155844148rem + 7.792207792207792vw), 4rem);
    }

    /* service_areas */
    .service_areas__content {
        width: 85%;
        margin-left: 0 !important;
    }

    .service_areas__image-cover::after {
        width: min(30%, 140px);
    }

    .service_areas__map {
        width: max(40%, 170px);
        margin-right: 0 !important;
        margin-top: -35% !important;
        opacity: 0.25;
    }

    /* ========== 募集情報 ========== */
    /* recruit_staff */
    .recruit_staff__cover {
        flex-wrap: wrap !important;
    }

    .recruit_staff__cover::after {
        width: min(28%, 140px);
        translate: 0 -78%;
    }

    .recruit_staff__content {
        flex-basis: 100%;
        order: 1;
    }

    .recruit_staff__image.--1 {
        order: 2;
        flex-basis: 40%;
    }

    .recruit_staff__image.--2 {
        order: 3;
        flex-basis: 54%;
        align-self: flex-start;
        margin-top: 6%;
    }

    /* ========== メンバー紹介 ========== */
    .staff_interview__question {
        padding-bottom: 1rem;
    }

    :where(.staff_interview__item:first-child) .staff_interview__question {
        border-top: solid 2px var(--accent-color);
    }

    .staff_interview__answer {
        padding-top: 1rem;
        border-top: none;
        border-bottom: solid 2px var(--accent-color);
    }

}

/* ~~~~~~~~~~~~~~~~~~~~ small-size ~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 639px) {

    /* ========== 共通設定 ========== */
    body {
        font-size: 0.9375rem;
    }

    /* テーブル */
    .wp-block-table tr td:is(:first-child, :last-child) {
        box-sizing: border-box;
        width: 100%;
    }

    .wp-block-table tr:first-child td:first-child {
        border-top: solid 2px var(--accent-color);
    }

    .wp-block-table tr td:first-child {
        padding-bottom: 0.5rem;
    }

    .wp-block-table tr td:last-child {
        padding-top: 0.5rem;
        border-top: none;
        border-bottom: solid 2px var(--accent-color);
    }

    /* 投稿(シンプル)*/
    .c-entries--simple .c-entry-summary__content {
        display: block;
    }

    .c-entries--simple .c-entry-summary__figure {
        float: inherit;
        width: 100%;
        margin-bottom: 20px;
    }

    /* ========== HOME ========== */
    /* home_service */
    .home_service__box {
        flex-basis: 100%;
    }

    /* ========== 事業内容 ========== */
    /* service_intro */
    .service_intro__btns .smb-btn-wrapper {
        flex: 1;
    }

    .service_intro__btns .smb-btn {
        width: 100%;
    }

    /* ========== 募集情報 ========== */
    /* service_intro */
    .recruit_intro__btns .smb-btn-wrapper {
        flex: 1;
    }

    .recruit_intro__btns .smb-btn {
        width: 100%;
    }

    /* ========== メンバー紹介 ========== */
    .wp-block-post-navigation-link {
        width: 100%;
    }
}