@charset "utf-8";

/* ========== 変数 ========== */
:root {
    --_color-text: #161F33;
    --font-family: "M PLUS Rounded 1c", "Helvetica", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    --_global--background-color: #F7F9FC;
    --_global--transition-duration: .4s;
    --_margin1: var(--spacing_base);
    /* カスタマイズ */
    --font-family_heading: "Kaisei Opti", "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
    --font-family_en: "Ms Madi", cursive;
    --color_white: #ffffff;
    --color_line: #06C755;
    --color_green: #C2D698;
    --color_pale-green: #EEF4E0;
    --color_pale-blue: #E0E7F4;
    --border-radius_m: 20px;
    --border-radius_l: 40px;
    --gap: 64px;
    --section-padding: 78px;
    --section-padding_l: 156px;
    --spacing_xs: 8px;
    --spacing_s: 16px;
    --spacing_l: 96px;
    --spacing_inner: 24px;
    --spacing_base: 32px;
    --font-size_m: clamp(1.25rem, calc(1.1785714285714286rem + 0.35714285714285715vw), 1.5rem);
    --font-size_l: clamp(1.375rem, calc(1.2678571428571428rem + 0.5357142857142857vw), 1.75rem);
    --font-size_heading-s: clamp(1.625rem, calc(1.5178571428571428rem + 0.5357142857142857vw), 2rem);
    --font-size_heading: clamp(1.5rem, calc(1.2142857142857144rem + 1.4285714285714286vw), 2.5rem);
}

/* ========== 基本設定 ========== */
body {
    font-weight: 500;
}

h2 {
    font-size: var(--font-size_heading);
    font-family: var(--font-family_heading);
    line-height: 1.5;
}

ul {
    padding-left: 0;
}

li {
    list-style: none;
}

.d_flex li {
    margin-top: 0;
}

.p_rel {
    position: relative;
}

.inline_b {
    display: inline-block;
}

.d_flex {
    display: flex;
    flex-wrap: wrap;
}

.d_grid {
    display: grid;
}

.pc_none {
    display: none;
}

.mincho {
    font-family: var(--font-family_serif);
}

.tate {
    writing-mode: vertical-rl;
}

/* ========== 共通設定 ========== */
*:not(.is-layout-flex)>p+p {
    margin-top: var(--spacing_s) !important;
}

.smb-box__background {
    border: none;
}

/* セクション */
.smb-section {
    --smb-section--padding: var(--section-padding);
}

/* 見出し */
.section_heading {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    row-gap: var(--spacing_xs);
    font-size: var(--font-size_heading);
    font-family: var(--font-family_heading);
    line-height: 1.5;
    text-align: center;
}

.section_heading::before {
    content: "";
    display: inline-block;
    width: 2rem;
    aspect-ratio: 32 / 24;
    background: url("/wp-content/uploads/2025/06/heading-deco.png") no-repeat center center / cover;
}

.section_heading+* {
    margin-top: var(--gap);
}

/* ボタン */
.smb-buttons {
    margin-top: 64px;
}

.smb-btn {
    min-width: 280px;
    padding-inline: var(--spacing_base);
    padding-block: var(--spacing_s);
    border-radius: 1000px;
    align-items: center;
    gap: 1rem;
    transition: all var(--_global--transition-duration) ease-in-out;
}

.smb-btn-wrapper:not(.is-style-text) .smb-btn {
    outline: dotted 2px var(--color_white);
    outline-offset: -8px;
}

.smb-btn:is(:active, :focus, :hover) {
    filter: brightness(1.0);
}

.smb-btn-wrapper:not(.is-style-text) .smb-btn:hover {
    outline-style: solid !important;
}

.smb-btn:not(:has(.svg-inline--fa))::after {
    content: "";
    display: inline-block;
    width: 0.5rem;
    height: 0.5rem;
    border-top: solid 2px currentColor;
    border-right: solid 2px currentColor;
    rotate: 45deg;
    justify-self: flex-end;
    transition: all var(--_global--transition-duration) ease-in-out;
}

.smb-btn:not(:has(.svg-inline--fa)):hover::after {
    translate: 4px 0;
}

.smb-btn__label:has(.svg-inline--fa) {
    display: flex;
    align-items: center;
    gap: var(--spacing_xs);
    transition: gap var(--_global--transition-duration) ease-in-out;
}

.smb-btn:hover .smb-btn__label:has(.svg-inline--fa) {
    gap: var(--spacing_s);
}

.cta_btns {
    font-weight: 800;
}

.btn_line .smb-btn {
    background-color: var(--color_line);
}

/* テーブル */
table,
tbody {
    display: block;
    width: 100%;
}

tr {
    display: flex;
    flex-wrap: wrap;
}

.wp-block-table tr {
    border-bottom: dashed 1px var(--accent-color);
}

.wp-block-table tr td,
.wp-block-table tr th {
    border: none;
}

.wp-block-table tr td:first-child {
    width: 25%;
    vertical-align: middle;
    position: relative;
}

.wp-block-table tr td:first-child::before {
    content: "";
    display: inline-block;
    width: 0.5rem;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: var(--color_green);
    margin-right: 1rem;
    translate: 0 -35%;
}

.wp-block-table tr td:last-child {
    width: 75%;
    padding-left: 1.2rem;
}

.wp-block-table tr td {
    display: block;
    padding: 1rem;
}

.wp-block-table a[href^="tel:"] {
    color: inherit;
    text-decoration: none;
    pointer-events: none;
}

/* ヘッダー */
.l-header {
    padding-right: 96px;
    background-color: var(--color_white);
}

/* ロゴ */
header .l-1row-header__branding {
    padding-block: 0;
}

header .c-site-branding__title {
    line-height: 1;
}

header .c-site-branding__title>a.custom-logo-link {
    display: block;
    width: clamp(144px, calc(130.28571428571428px + 4.285714285714286vw), 192px);
}

header .c-site-branding__title>a.custom-logo-link>img {
    width: 100%;
}

/* グローバルナビ */
.l-1row-header .c-fluid-container {
    padding-right: 0;
}

.p-global-nav .c-navbar__item>a {
    font-size: 0.875rem;
    font-weight: 500;
}

.p-global-nav .c-navbar__item>a>span {
    flex-direction: column;
}

.c-navbar__item .svg-inline--fa {
    font-size: 1.25rem;
}

.l-header__content .c-row__col:has(.header_line) {
    color: var(--color_white);
    background-color: var(--color_line);
    position: absolute;
    top: 0;
    right: 0;
    padding: 0;
    border-radius: 0 0 0 var(--border-radius_m);
}

.l-1row-header__content:has(.header_line) {
    padding: 0;
}

.header_line {
    color: var(--color_white);
    font-weight: 800;
    text-decoration: none;
    width: 96px;
    height: 96px;
    display: grid;
    place-items: center;
    padding-left: 0;
}

.header_line>span {
    display: flex;
    flex-direction: column;
}

.header_line>span>.svg-inline--fa {
    font-size: 1.875rem;
}

/* フッター */
.l-footer {
    background: url("/wp-content/uploads/2025/06/footer_bg.png") no-repeat top center / cover;
    border-top: none;
}

.l-footer__body {
    padding-top: 48px;
}

.l-footer .l-footer-widget-area__item {
    margin-bottom: 0;
}

.l-footer-widget-area[data-is-slim-widget-area=true] .c-widget {
    font-size: 1rem;
}

.l-footer-widget-area .c-row--lg-margin-l {
    gap: var(--spacing_base);
}

.l-footer a[href^="tel:"] {
    color: inherit;
    text-decoration: none;
    pointer-events: none;
}

.footer_area {
    padding-inline: var(--spacing_base);
    padding-block: var(--spacing_inner);
    border: dotted 2px var(--color_white);
    border-radius: var(--border-radius_m);
}

.footer_area__title {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.footer_area__title::before {
    content: "";
    display: inline-block;
    width: 0.5rem;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: var(--accent-color);
}

.footer_area__content {
    margin-top: var(--spacing_xs);
}

.footer_area__ps {
    font-size: 0.875rem;
}

.footer_btn {
    row-gap: var(--spacing_s);
}

#menu-footer1 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--spacing_xs) var(--spacing_base);
}

#menu-footer1 .menu-item {
    margin-top: 0;
    display: flex;
    align-items: center;
    gap: var(--spacing_base);
    flex-wrap: wrap;
}

#menu-footer1 .menu-item:not(:last-child)::after {
    content: "";
    display: inline-block;
    width: 2px;
    height: 1rem;
    background-color: var(--accent-color);
}

.l-footer--footer-1 .l-footer__footer {
    background: transparent;
    padding-block: var(--spacing_base) var(--spacing_l);
    text-align: center;
}

/* ページトップ */
#page-top {
    background: url("/wp-content/uploads/2025/06/go-top.png") no-repeat center center / cover;
    width: 72px;
    height: 72px;
    right: 2%;
    bottom: 2%;
}

#page-top>a>.svg-inline--fa {
    display: none;
}

/* 投稿 */
.c-entries--simple,
.c-entries--text,
.c-entries--text2 {
    border-top: none;
}

.c-entries--simple .c-entries__item,
.c-entries--text .c-entries__item,
.c-entries--text2 .c-entries__item {
    border-bottom: dashed 1px currentColor;
}

.c-meta__item--modified,
.c-meta__item--author {
    display: none;
}

.c-entry-summary__term {
    font-size: 0.875rem !important;
}

/* ========== アニメーション ========== */
/* kirakira */
.kirakira {
    display: inline-block;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    margin-top: 0;
    position: absolute;
    animation: twinkle 1.5s infinite;
}

@keyframes twinkle {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

/* loopImage */
.loop-images {
    overflow: hidden;
    gap: 0;
    --loopItem-space: var(--gap);
    --loopItem-number: 4;
    --loop-duration: 18s;
}

.loop-image {
    animation: loopImage var(--loop-duration) infinite linear .5s both;
}

.loop-image__item {
    overflow: hidden;
    flex: 0 0 auto;
    width: calc(100vw / var(--loopItem-number) - var(--loopItem-space));
    margin-right: var(--loopItem-space) !important;
}

@keyframes loopImage {
    0% {
        translate: 0 0;
    }

    100% {
        translate: -100% 0;
    }
}

/* ========== パターン ========== */
/* pattern_cta */
.pattern_cta .smb-section__body {
    box-sizing: initial;
    /* width: min(1280px, 68svw); */
    max-width: calc(100% - 186px);
    padding-inline: var(--spacing_inner);
    padding-block: var(--spacing_l);
    margin-inline: auto;
    position: relative;
}

.pattern_cta .smb-section__body::before,
.pattern_cta .smb-section__body::after {
    content: "";
    display: block;
    width: 100%;
    height: 14px;
    background: url("/wp-content/uploads/2025/06/line_cta.png") repeat-x left center / 35%;
    position: absolute;
    left: 0;
}

.pattern_cta .smb-section__body::before {
    top: 0;
}

.pattern_cta .smb-section__body::after {
    bottom: 0;
}

.pattern_cta__header::before,
.pattern_cta__header::after {
    content: "";
    display: inline-block;
    position: absolute;
}

.pattern_cta__header::before {
    background: url("/wp-content/uploads/2025/06/deco4.png") no-repeat center center / cover;
    width: 8.889%;
    aspect-ratio: 1;
    top: 0;
    left: 0;
    translate: -22% 0;
}

.pattern_cta__header::after {
    background: url("/wp-content/uploads/2025/06/deco5.png") no-repeat center center / cover;
    width: 7.407%;
    aspect-ratio: 1;
    top: 26.923%;
    left: 6.648%;
}

.pattern_cta__wrap {
    margin-top: var(--gap);
}

.pattern_cta__content {
    gap: var(--spacing_xs);
}

.pattern_cta__box {
    background-color: var(--color_pale-green);
    padding-inline: var(--spacing_s);
    padding-block: var(--spacing_base);
    display: flex;
    flex-direction: column;
    gap: var(--spacing_s);
}

.pattern_cta__box>* {
    margin-top: 0;
}

.pattern_cta__box .smb-buttons {
    width: 100%;
}

.pattern_cta__box .smb-btn__label {
    flex-wrap: wrap;
    justify-content: center;
}

.pattern_cta__tel .smb-btn {
    min-width: auto;
    padding-inline: var(--spacing_s);
}

.pattern_cta__tel .smb-btn__label {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--_color-text);
}

.pattern_cta__annotation {
    display: grid;
    place-items: center;
    font-size: 0.75rem;
}

.pattern_cta__btn .smb-btn {
    padding-block: var(--spacing_base);
    padding-inline: var(--spacing_s);
    min-width: auto;
}

.pattern_cta__btn .smb-btn__label {
    font-weight: 800;
    font-size: 1.125rem;
}

.pattern_cta__btn .smb-btn__label .svg-inline--fa {
    font-size: 1.25rem;
}

.pattern_cta__aside {
    position: absolute;
    right: 0;
    top: 0;
    translate: 0 -100%;
}

.pattern_cta__catch {
    font-size: 0.75rem;
    font-weight: 800;
    line-height: 1.35;
    padding-inline: 1.5rem;
    padding-block: 2.75rem;
    background: url("/wp-content/uploads/2025/06/hukidashi_pale.png") no-repeat center center / contain;
    aspect-ratio: 155 / 57;
    position: absolute;
    top: 0;
    right: 0;
    translate: 65% -40%;
}

.pattern_cta__man {
    width: 204px;
}

/* pattern_message */
.pattern_message__title {
    font-size: var(--font-size_m);
    font-weight: 800;
}

.pattern_message__content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.pattern_message__btns {
    width: 100%;
}

/* ========== トップページ ========== */
/* home_hero */
.home_hero::before {
    content: "";
    display: block;
    width: 100%;
    aspect-ratio: 1440 / 408;
    background: url("/wp-content/uploads/2025/06/hero_bg.png") no-repeat center center / cover;
    position: absolute;
    left: 0;
    bottom: -1px;
}

.home_hero-visual {
    width: 95svw;
    height: 95svh;
    min-height: 360px;
    margin-left: auto;
    border-radius: 0 0 0 var(--border-radius_l);
    overflow: hidden;
}

.home_hero-visual::before {
    content: "";
    display: block;
    width: calc(100% - 16px);
    height: calc(100% - 16px);
    border-left: dashed 2px var(--color_white);
    border-bottom: dashed 2px var(--color_white);
    border-radius: 0 calc(var(--border-radius_l) - 16px);
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
}

.home_hero-visual::after {
    content: "";
    display: block;
    width: 48.6svw;
    aspect-ratio: 700 / 95;
    background: url("/wp-content/uploads/2025/06/hero_nami.png") no-repeat center center / cover;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.home_hero-visual__image {
    position: absolute;
    inset: 0;
}

.home_hero-visual__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home_hero-copy {
    position: absolute;
    top: 82px;
    left: 2.22svw;
}

.home_hero-copy__catch {
    color: var(--color_white);
    font-size: max(1.125rem, 1.667svw);
    line-height: 1.35;
    width: fit-content;
    padding-block: 2em;
    padding-inline: 1em;
    background: url("/wp-content/uploads/2025/06/hukidashi.png") no-repeat center center / contain;
    aspect-ratio: 370 / 273;
    margin-left: 0 !important;
    margin-bottom: 20px;
    z-index: 2;
    animation: drop 1s cubic-bezier(0.16, 0.6, 0.58, 1);
}

@keyframes drop {
    0% {
        opacity: 0;
        translate: 0 -150%;
    }

    50% {
        opacity: 1;
        translate: 0 0;
    }

    75% {
        translate: 0 -25%;
    }

    100% {
        translate: 0 0;
    }
}

.home_hero-copy__wrap {
    padding-left: 6.667svw;
    margin-top: -12px;
    z-index: 1;
}

.home_hero-copy__wrap::before {
    content: "";
    display: inline-block;
    width: 172px;
    aspect-ratio: 168 / 180;
    rotate: -5deg;
    background: url("/wp-content/uploads/2025/06/hyogo.png") no-repeat center center / cover;
    opacity: 0.85;
    position: absolute;
    left: 11.111svw;
    top: 50%;
    translate: 0 -50%;
    z-index: -1;
}

.home_hero-copy__sub {
    font-size: max(1rem, 1.389svw);
}

.home_hero-copy__main {
    font-size: max(2.125rem, 3.056svw);
    font-family: var(--font-family_heading);
    font-weight: 700;
    letter-spacing: 0;
}

.home_hero-copy__main .--small {
    font-size: 0.75em;
}

.home_hero__kirakira.--1 {
    background-image: url("/wp-content/uploads/2025/06/hero_kirakira1.png");
    width: 38px;
    aspect-ratio: 38 / 40;
    top: 0;
    right: 0;
    translate: 72% -62%;
}

.home_hero__kirakira.--2 {
    background-image: url("/wp-content/uploads/2025/06/hero_kirakira2.png");
    width: 48px;
    aspect-ratio: 48 / 40;
    bottom: 0;
    left: 96px;
    translate: -100% 100%;
    animation-delay: 0.5s;
}

.home_hero__kirakira.--3 {
    background-image: url("/wp-content/uploads/2025/06/home_kirakira4.png");
    width: 48px;
    aspect-ratio: 48 / 43;
    bottom: 108px;
    left: 54px;
    animation-delay: 0.25s;
}

.home_hero__kirakira.--4 {
    background-image: url("/wp-content/uploads/2025/06/home_kirakira3.png");
    width: 54px;
    aspect-ratio: 54 / 80;
    bottom: 186px;
    left: 11px;
    animation-delay: 0.75s;
}



/* home_service */
.home_service-intro__heading {
    color: var(--color_white);
    padding-block: var(--spacing_l);
    background: url("/wp-content/uploads/2025/06/bg-paper_accent.jpg") repeat center center / 10%;
}

.home_service-intro__heading::after {
    content: "";
    display: block;
    width: 100%;
    aspect-ratio: 1440/ 380;
    background: url("/wp-content/uploads/2025/06/service_nami.png") no-repeat center center / cover;
    position: absolute;
    bottom: 1px;
    left: 0;
    translate: 0 100%;
}

.home_service-intro__title {
    --_container-margin-right: calc(var(--_container-margin) + env(safe-area-inset-right));
    --_container-margin-left: calc(var(--_container-margin) + env(safe-area-inset-left));
    padding-left: var(--_container-margin-left);
    padding-right: var(--_container-margin-right);
    width: fit-content;
}

.home_service-intro__title::after {
    content: "";
    display: block;
    width: 100%;
    height: 10px;
    background: url("/wp-content/uploads/2025/06/line_white.png") repeat-x center center / 75%;
}

.home_service-intro__deco {
    margin-top: 0;
    display: inline-block;
    position: absolute;
}


.home_service-intro__deco.--1 {
    width: 8.889svw;
    aspect-ratio: 128 / 160;
    background: url("/wp-content/uploads/2025/06/deco.png") no-repeat center center / cover;
    left: 12%;
    top: 50%;
    translate: 0 -50%;
}

.home_service-intro__deco.--2 {
    width: 4.167svw;
    aspect-ratio: 60 / 146;
    background: url("/wp-content/uploads/2025/06/deco2.png") no-repeat center center / cover;
    top: 16px;
    right: 23%;
}

.home_service-intro__deco.--3 {
    width: 8.056svw;
    aspect-ratio: 117 / 138;
    background: url("/wp-content/uploads/2025/06/deco3.png") no-repeat center center / cover;
    bottom: 32px;
    right: 12%;
}

.home_service-intro__body {
    --_container-max-width: var(--_global--container-max-width);
    --_container-margin: var(--_global--container-margin);
    --_container-margin-right: calc(var(--_container-margin) + env(safe-area-inset-right));
    --_container-margin-left: calc(var(--_container-margin) + env(safe-area-inset-left));
    margin-left: auto;
    margin-right: auto;
    max-width: var(--_container-max-width);
    padding-left: var(--_container-margin-left);
    padding-right: var(--_container-margin-right);
    padding-top: var(--gap);
}

.home_service-intro__image {
    position: relative;
}

.home_service-intro__image::before {
    content: "";
    display: block;
    border: solid 1px var(--_color-text);
    border-radius: 61% 39% 58% 42% / 43% 51% 49% 57%;
    position: absolute;
    inset: 0;
    animation: borderRotate 10s linear infinite;
}

@keyframes borderRotate {
    0% {
        rotate: 0deg;
    }

    100% {
        rotate: 365deg;
    }
}

.home_service-intro__image img {
    border-radius: 61% 39% 58% 42% / 43% 51% 49% 57%;
}

.home_service-intro__content {
    line-height: 2;
    padding-inline: var(--spacing_inner);
    display: grid;
    place-items: center;
}

.home_service__container {
    margin-top: var(--spacing_l);
}

.home_service-main__title {
    font-size: var(--font-size_heading-s);
    font-family: var(--font-family_heading);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--spacing_s) var(--spacing_base);
}

.home_service-main__title::before,
.home_service-main__title::after {
    content: "";
    display: inline-block;
    width: 8.333%;
}

.home_service-main__title::before {
    background: url("/wp-content/uploads/2025/06/intro_deco.png") no-repeat center center / cover;
    aspect-ratio: 120 / 95;
    animation: swing 1s steps(2, end) infinite;
}

.home_service-main__title::after {
    background: url("/wp-content/uploads/2025/06/intro_deco2.png") no-repeat center center / cover;
    aspect-ratio: 120 / 120;
    animation: swingReverce 1s steps(2, end) infinite;
}

@keyframes swing {
    100% {
        rotate: -25deg;
    }
}

@keyframes swingReverce {
    100% {
        rotate: 25deg;
    }
}

.home_service-main__panels {
    margin-top: var(--gap);
}

.home_service-main__panels>.c-row {
    justify-content: center;
}

.home_service-main__panels>.c-row>.c-row__col {
    padding-inline: var(--spacing_base);
}

.home_service-main__panels .c-row__col>.smb-panels__item {
    box-shadow: none;
}

.home_service-main__panels .c-row__col:nth-child(odd)>.smb-panels__item {
    border-radius: 59% 41% 57% 43% / 45% 70% 30% 55%;
}

.home_service-main__panels .c-row__col:nth-child(even)>.smb-panels__item {
    border-radius: 35% 65% 35% 65% / 68% 39% 61% 32%;
}

.home_service-main__panels .smb-panels__item__body {
    aspect-ratio: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--spacing_s);
    position: relative;
}

.home_service-main__panels .smb-panels__item__body::before {
    content: "→";
    display: grid;
    place-items: center;
    color: var(--color_white);
    background-color: var(--_color-text);
    width: 2rem;
    aspect-ratio: 1;
    border-radius: 50%;
    position: absolute;
    bottom: 10px;
    right: 0;
    transition: translate var(--_global--transition-duration) ease-in-out;
}

.home_service-main__panels .smb-panels__item:hover .smb-panels__item__body::before {
    translate: 25% 0;
}

.home_service-main__icon {
    width: max(64px, 39%);
    transition: scale var(--_global--transition-duration) ease-in-out;
}

.home_service-main__panels .smb-panels__item:hover .home_service-main__icon {
    scale: 0.8;
}

.home_service-aside {
    margin-top: var(--spacing_l);
}

.home_service-aside__content {
    width: 38rem;
    padding: var(--spacing_base);
    background-color: #f8f9fccc;
}

.home_service-aside__title {
    font-size: var(--font-size_heading-s);
    font-family: var(--font-family_heading);
    line-height: 1.5;
}

.home_service-aside__title .--small {
    font-size: 0.75em;
}

.home_service__loop-images {
    /* height: 100%; */
    position: absolute;
    inset: 0;
}

.home_service__loop-item {
    border-radius: 50%;
    aspect-ratio: 1;
}

.home_service-aside__text {
    line-height: 2;
}

/* home_works */
.home_works {
    --smb-section--padding: var(--section-padding_l);
}

.home_works .smb-section__inner {
    background: url("/wp-content/uploads/2025/06/works_bg-scaled.jpg") repeat center center / cover;
}

.home_works .smb-section__inner::before,
.home_works .smb-section__inner::after {
    content: "";
    display: block;
    width: 100%;
    aspect-ratio: 1440 / 156;
    position: absolute;
    left: 0;
}

.home_works .smb-section__inner::before {
    background: url("/wp-content/uploads/2025/06/works_nami1-scaled.png") no-repeat center center / cover;
    top: 1px;
    translate: 0 -100%;
}

.home_works .smb-section__inner::after {
    background: url("/wp-content/uploads/2025/06/works_nami2-scaled.png") no-repeat center center / cover;
    bottom: 1px;
    translate: 0 100%;
}

.home_works__posts .c-entry-summary__figure {
    mask: url("/wp-content/uploads/2025/06/works_mask.png") no-repeat center center / contain;
}

.home_works__posts .c-entry-summary__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing_s);
}

.home_works__posts .c-entry-summary__header::after {
    content: "→";
    display: grid;
    place-items: center;
    width: 2rem;
    aspect-ratio: 1;
    color: var(--color_white);
    background-color: var(--_color-text);
    border-radius: 50%;
}

.home_works__posts .c-entry-summary__title {
    display: grid;
    place-items: center;
    flex-grow: 1;
    font-weight: 500;
}

.home_works__kirakira {
    background-image: url("/wp-content/uploads/2025/06/kirakira.png");
    width: max(1.793%, 16px);
    aspect-ratio: 24 / 27;
}

.home_works__kirakira.--1 {
    top: 24%;
    left: 0;
    animation-delay: 0.25s;
}

.home_works__kirakira.--2 {
    top: 31%;
    left: 4%;
    animation-delay: 0.5s;
}

.home_works__kirakira.--3 {
    top: 34%;
    left: 33%;
    animation-delay: 1s;
}

.home_works__kirakira.--4 {
    top: 29%;
    right: 36%;
    animation-delay: 0.75s;
}

.home_works__kirakira.--5 {
    top: 26%;
    right: 34%;
    animation-delay: 0.5s;
}

.home_works__kirakira.--6 {
    top: 18%;
    right: 0;
    animation-delay: 0.5s;
}

.home_works__kirakira.--7 {
    top: 37%;
    right: -1.5%;
}

.home_works__kirakira.--8 {
    bottom: 5%;
    left: 18%;
    animation-delay: 0.25s;
}

.home_works__kirakira.--9 {
    bottom: 2.5%;
    right: 34%;
    animation-delay: 0.5s;
}

.home_works__kirakira.--10 {
    bottom: 11%;
    right: 3.6%;
}

/* home_voice */
.home_voice__wrap {
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--spacing_base) * 2);
    margin-top: var(--gap);
}

.home_voice__box {
    padding-inline: calc(var(--spacing_base) * 2);
    padding-block: var(--spacing_base);
    background-color: var(--color_white);
    border-radius: var(--border-radius_m);
    border: dashed 2px var(--accent-color);
    width: calc(100% / 2 - var(--spacing_base));
}

.home_voice__image {
    width: 144px;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: var(--color_pale-green);
    overflow: hidden;
}

.home_voice__text::before {
    content: "";
    display: block;
    width: 100%;
    height: 12px;
    background: url("/wp-content/uploads/2025/06/line_nami.png") repeat-x left center / 75%;
    margin-bottom: var(--spacing_base);
}

.home_voice__loop-item {
    border-radius: var(--border-radius_m);
    position: relative;
}

.home_voice__loop-item:nth-child(even) {
    margin-top: 56px;
}

.home_voice__loop-item::before {
    content: "";
    display: block;
    width: calc(100% - 24px);
    aspect-ratio: 658 / 640;
    border-style: dashed;
    border-width: 2px;
    border-radius: var(--border-radius_m);
    position: absolute;
    inset: 50%;
    translate: -50% -50%;
}

.home_voice__loop-item:nth-child(odd)::before {
    border-color: var(--color_green);
}

.home_voice__loop-item:nth-child(even)::before {
    border-color: var(--accent-color);
}

/* home_reason */
.home_reason {
    padding-top: var(--section-padding_l);
}

.home_reason__heading {
    position: relative;
}

.home_reason__heading::after {
    content: "";
    display: block;
    width: clamp(225px, calc(175px + 15.625vw), 400px);
    aspect-ratio: 1;
    border-radius: 50%;
    background: url("/wp-content/uploads/2025/06/bg-paper_sub.jpg") repeat left top / 10%;
    position: absolute;
    bottom: 0;
    left: 50%;
    translate: -50% 50%;
    z-index: -1;
}

.home_reason__heading .--small {
    font-size: 0.7em;
}

.home_reason__wrap {
    background: url("/wp-content/uploads/2025/06/bg-paper_sub.jpg") repeat left top / 10%;
    padding-block: var(--spacing_l);
    border-radius: var(--border-radius_l);
}

.home_reason__wrap .smb-container__body {
    position: relative;
}

.home_reason__box {
    background: url("/wp-content/uploads/2025/06/bg-paper.jpg") repeat left top / 10%;
    border-radius: var(--border-radius_l);
    overflow: hidden;
    position: sticky;
    top: 80px;
    height: calc(100svh - 80px);
}

.home_reason__box:not(:first-child) {
    margin-top: var(--spacing_l);
}

.home_reason__image {
    height: 100%;
}

.home_reason__image>img {
    height: 100% !important;
    object-fit: cover;
}

.home_reason__content {
    display: grid;
    place-items: center;
    padding-inline: var(--spacing_base);
    padding-block: calc(var(--spacing_base) * 2);
    position: relative;
}

.home_reason__content::before,
.home_reason__content::after {
    content: "";
    display: block;
    width: 90%;
    height: 5px;
    background: url("/wp-content/uploads/2025/06/line_green.png") repeat-x left center / 60%;
    position: absolute;
    left: 50%;
    translate: -50% 0;
}

.home_reason__content::before {
    top: 24px;
}

.home_reason__content::after {
    bottom: 24px;
}

.home_reason__en {
    line-height: 1;
    font-size: 3rem;
    color: var(--accent-color);
    font-family: var(--font-family_en);
    rotate: -5deg;
}

.home_reason__en .--num {
    display: inline-block;
    font-size: 1.083em;
    margin-left: 0.25rem;
}

.home_reason__title {
    font-size: var(--font-size_l);
    font-family: var(--font-family_heading);
}

/* home_recruit */
.home_recruit__wrap {
    padding-bottom: var(--gap);
}

.home_recruit__wrap::before {
    content: "";
    display: block;
    width: 100vw;
    height: 100%;
    background-color: var(--sub-accent-color);
    border-radius: var(--border-radius_m) 0 0 var(--border-radius_m);
    position: absolute;
    left: 0;
    top: 0;
}

.home_recruit__content {
    display: grid;
    align-items: center;
    padding-top: var(--spacing_l);
    padding-inline: var(--spacing_inner);
}

.home_recruit__title {
    font-size: var(--font-size_heading-s);
    font-weight: 800;
    line-height: 1.5;
}

.home_recruit__table .smb-information__item {
    margin-top: 0;
    padding-block: 0.5rem;
    border-bottom: dashed 2px var(--color_white);
}

.home_recruit__table li {
    padding-left: 1.125rem;
    position: relative;
}

.home_recruit__table li::before {
    content: "";
    display: inline-block;
    width: 0.5rem;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: var(--accent-color);
    position: absolute;
    top: calc(1rem * 1.75 / 2);
    left: 0;
    translate: 0 -50%;
}

.home_recruit__image-cover {
    margin-top: calc(var(--spacing_base) * -1) !important;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.home_recruit__image-cover .smb-buttons {
    width: 100%;
}

.home_recruit__image {
    width: max(31.389svw, 360px);
    border-radius: var(--border-radius_m);
    overflow: hidden;
    margin-right: 0 !important;
}

/* home_news */
.home_news__posts {
    max-width: 1080px;
}


/* ========== 下層ページ ========== */
body.page .l-contents__inner {
    padding-bottom: 0;
    margin-top: 0;
}

/* ページ遷移 */
body:not(.home) .l-container {
    opacity: 0;
    pointer-events: none;
}

body:not(.home) .l-container.appear {
    animation: pageFade 1s 0.4s cubic-bezier(0.53, 0.78, 0.75, 1.09) forwards;
    pointer-events: auto;
}

@keyframes pageFade {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.move {
    background: var(--accent-color);
    display: block;
    content: "";
    position: fixed;
    width: 100vw;
    height: 100vh;
    inset: 0;
    animation: pageMove 1s ease-in-out forwards;
    z-index: 999;
}

@keyframes pageMove {
    0% {
        transform-origin: top;
        transform: scaleY(0);
    }

    50% {
        transform-origin: top;
        transform: scaleY(1);
    }

    50.001% {
        transform-origin: bottom;
    }

    100% {
        transform-origin: bottom;
        transform: scaleY(0);
    }
}

/* 下層ページヘッダー */
.c-page-header {
    background-color: var(--_global--background-color);
}

.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;
}

body:not(.single) .c-page-header__title {
    display: flex;
    align-items: center;
    gap: 1rem;
}

body:not(.single) .c-page-header__title::before,
body:not(.single) .c-page-header__title::after {
    content: "";
    display: inline-block;
    width: 5rem;
    aspect-ratio: 174 / 25;
    background: url("/wp-content/uploads/2025/06/header_deco.png") no-repeat center center / cover;
}

body:not(.single) .c-page-header__title::after {
    scale: -1 1;
}

/* ========== 会社概要 ========== */
.compnay_message__lisence {
    padding: var(--spacing_base);
    border-radius: var(--border-radius_m);
    background-color: var(--sub-accent-color);
}

.compnay_message__lisence-list {
    gap: var(--spacing_s) var(--gap);
    margin-top: var(--spacing_s);
}

.compnay_message__lisence-list li {
    position: relative;
}

.compnay_message__lisence-list li::before {
    content: "";
    display: inline-block;
    width: 0.5rem;
    aspect-ratio: 1;
    border-radius: 50%;
    background: var(--accent-color);
    margin-right: 0.75rem;
}

/* company_nav */
.company_nav__box {
    aspect-ratio: 2 / 1;
    border-radius: var(--border-radius_m);
    position: relative;
}

.company_nav__box::before {
    content: "→";
    display: grid;
    place-items: center;
    width: 2rem;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: var(--color_white);
    position: absolute;
    right: 16px;
    bottom: 8px;
    transition: translate var(--_global--transition-duration) ease-in-out;
}

.company_nav__box:hover::before {
    translate: 25% 0;
}

.company_nav__box.--business {
    background: url(/wp-content/uploads/2025/06/menu1.jpg) no-repeat center center / cover;
}

.company_nav__box.--works {
    background: url(/wp-content/uploads/2025/06/menu2.jpg) no-repeat center center / cover;
    margin-top: var(--gap);
}

.company_nav__text {
    color: var(--color_white);
    font-size: var(--font-size_m);
    font-weight: 800;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* ========== 事業内容 ========== */
/* business_intro */
.business_intro__content {
    width: fit-content;
    background-color: #f8f9fcf2;
    padding-inline: var(--spacing_inner);
    text-align: center;
    row-gap: var(--gap);
    z-index: 1;
}

.business_intro__copy {
    font-size: var(--font-size_heading-s);
}

.home_service-main__panels.p-business .smb-panels__item__body::before {
    content: "↓";
}

.home_service-main__panels.p-business .smb-panels__item:hover .smb-panels__item__body::before {
    translate: 0 25%;
}

/* business_service */
.business_service__inner {
    margin-top: var(--spacing_l);
}

.business_service__box {
    padding: var(--spacing_base);
    border-radius: var(--border-radius_m);
}

.business_service__box:not(:first-child) {
    margin-top: var(--gap);
}

.business_service__box:nth-child(even) {
    background-color: var(--color_pale-green);
}

.business_service__box:nth-child(odd) {
    background-color: var(--color_pale-blue);
}


.business_service__title {
    font-family: var(--font-family_heading);
    font-size: var(--font-size_m);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--spacing_s);
}

.business_service__title::before {
    content: "";
    width: 3rem;
    aspect-ratio: 1;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.business_service__title.--kitchen::before {
    background-image: url("/wp-content/uploads/2025/06/s_icon1-b.png");
}

.business_service__title.--washbasin::before {
    background-image: url("/wp-content/uploads/2025/06/s_icon2-b.png");
}

.business_service__title.--bath::before {
    background-image: url("/wp-content/uploads/2025/06/s_icon3-b.png");
}

.business_service__title.--wc::before {
    background-image: url("/wp-content/uploads/2025/06/s_icon4-b.png");
}

.business_service__title.--heater::before {
    background-image: url("/wp-content/uploads/2025/06/s_icon5-b.png");
}

.business_service__title.--fauset::before {
    background-image: url("/wp-content/uploads/2025/06/s_icon6-b.png");
}

.business_service__title.--leakage::before {
    background-image: url("/wp-content/uploads/2025/06/s_icon7-b.png");
}

.business_service__title.--reform::before {
    background-image: url("/wp-content/uploads/2025/06/s_icon8-b.png");
}

.business_service__image {
    border-radius: var(--border-radius_m);
    overflow: hidden;
}

.business_service__trouble {
    padding-top: var(--spacing_base);
}

.business_service__trouble::before {
    content: "";
    display: block;
    width: 100%;
    height: 8px;
    position: absolute;
    left: 50%;
    top: 0;
    translate: -50% -50%;
}

.business_service__box:nth-child(even) .business_service__trouble::before {
    background: url("/wp-content/uploads/2025/06/dot_green.png") repeat-x left center / 40%;
}

.business_service__box:nth-child(odd) .business_service__trouble::before {
    background: url("/wp-content/uploads/2025/06/dot_blue.png") repeat-x left center / 40%;
}

.business_service__trouble-title {
    font-weight: 800;
    font-size: 1.125rem;
}

.business_service__trouble-list {
    margin-top: var(--spacing_s);
}

.business_service__trouble-list li {
    padding-left: 1.5rem;
    position: relative;
}

.business_service__trouble-list li::before {
    content: "";
    display: inline-block;
    width: 0.75rem;
    aspect-ratio: 4 / 3;
    border-left: 2px solid;
    border-bottom: 2px solid;
    rotate: -45deg;
    position: absolute;
    top: calc(1em * 1.75 / 2);
    left: 0;
    translate: 0 -75%;
}

.business_service__box:nth-child(odd) .business_service__trouble-list li::before {
    border-color: var(--accent-color);
}

.business_service__box:nth-child(even) .business_service__trouble-list li::before {
    border-color: var(--color_green);
}

.business_maker {
    margin-top: var(--spacing_l);
    border-radius: var(--border-radius_m);
    border: dashed 2px var(--accent-color);
    padding-inline: var(--spacing_base);
    padding-bottom: var(--spacing_base);
}

.business_maker__heading {
    text-align: center;
    translate: 0 -50%;
    background: var(--_global--background-color);
    width: fit-content;
    padding-inline: 2rem;
}


/* business_works */
.business_works__heding {
    padding-bottom: var(--gap);
}

.business_works__container {
    margin-block: var(--spacing_l);
    padding-block: var(--spacing_base);
}

.business_works__container::before {
    content: "";
    display: block;
    width: 100vw;
    aspect-ratio: 1440/ 96;
    mask-image: url("/wp-content/uploads/2025/06/works_up.png");
    mask-repeat: no-repeat;
    mask-size: cover;
    position: absolute;
    top: 1px;
    left: 50%;
    translate: -50% -100%;
}

.business_works__container::after {
    content: "";
    display: block;
    width: 100vw;
    aspect-ratio: 1440/ 96;
    mask-image: url("/wp-content/uploads/2025/06/works_down.png");
    mask-repeat: no-repeat;
    mask-size: cover;
    position: absolute;
    bottom: 1px;
    left: 50%;
    translate: -50% 100%;
}

.business_works__container.--1 {
    background: var(--accent-color) url("/wp-content/uploads/2025/06/bg-paper_accent.jpg") repeat center center / 15%;
    color: var(--color_white);
    padding-bottom: var(--gap);
}

.business_works__container.--1::before,
.business_works__container.--1::after {
    background: url("/wp-content/uploads/2025/06/bg-paper_accent.jpg") repeat center center / 15%;

}

.business_works__container.--2 {
    background: var(--sub-accent-color) url("/wp-content/uploads/2025/06/bg-paper_sub.jpg") repeat center center / 15%;
}

.business_works__container.--2::before,
.business_works__container.--2::after {
    background: url("/wp-content/uploads/2025/06/bg-paper_sub.jpg") repeat center center / 15%;
}

.business_works__content {
    padding-inline: var(--spacing_base);
}

.business_works__image {
    border-radius: var(--border-radius_m);
    overflow: hidden;
    width: 50%;
    outline: dotted 2px;
    outline-offset: -12px;
}

.business_works__image:nth-child(1) {
    margin-left: 0 !important;
    translate: 8% 0;
}

.business_works__image:nth-child(2) {
    margin-top: -134px;
    margin-right: 0 !important;
    translate: -8% 0;
}

.business_works__kirakira {
    background-image: url("/wp-content/uploads/2025/06/kirakira.png");
    width: max(3.85%, 14px);
    aspect-ratio: 24 / 27;
    translate: 100% -100%;
}

.business_works__kirakira.--1 {
    top: 0px;
    right: 40%;
}

.business_works__kirakira.--2 {
    top: 12%;
    right: 11%;
    animation-delay: 0.25s;
}

.business_works__kirakira.--3 {
    top: 18%;
    right: 21%;
    animation-delay: 0.5s;
}

.business_works__kirakira.--4 {
    top: 31%;
    right: 7.7%;
    animation-delay: 0.25s;
}

.business_works__kirakira.--5 {
    bottom: 18%;
    left: 31%;
    animation-delay: 0.75s;
}

.business_works__kirakira.--6 {
    bottom: 12%;
    left: 1.6%;
}

.business_works__kirakira.--7 {
    bottom: 3.7%;
    left: 9%;
    animation-delay: 0.5s;
}

.business_works__title {
    font-family: var(--font-family_heading);
    font-size: var(--font-size_m);
    display: flex;
    align-items: center;
    gap: 1rem;
}

.business_works__title::before {
    content: "";
    width: 2rem;
    aspect-ratio: 1;
}

.business_works__title.--works1::before {
    background: url("/wp-content/uploads/2025/06/icon_kirakira2.png") no-repeat center center / cover;
}

.business_works__title.--works2::before {
    background: url("/wp-content/uploads/2025/06/icon_kirakira1.png") no-repeat center center / cover;
}

/* business_area */
.business_area__content {
    padding-inline: var(--spacing_base);
}

.business_area__title {
    font-size: var(--font-size_heading-s);
}

.business_area__text::before {
    content: "";
    display: block;
    width: 100%;
    height: 12px;
    background: url("/wp-content/uploads/2025/06/line_nami_grren.png") repeat-x left center / 50%;
    margin-bottom: var(--spacing_base);
}

.business_area__map {
    background-color: var(--_global--background-color);
    border-radius: var(--border-radius_m);
    border: dashed 2px var(--accent-color);
    position: relative;
}

.business_area__map::before {
    content: "";
    display: block;
    background-color: var(--color_pale-blue);
    position: absolute;
    inset: 0;
    rotate: -5deg;
    z-index: -1;
    border-radius: var(--border-radius_m);
}

.business_area__map img {
    border-radius: var(--border-radius_m);
}

/* ========== 施工実績 ========== */
.works_heading {
    font-family: var(--font-family);
    color: var(--accent-color);
    display: flex;
    align-items: center;
    gap: var(--spacing_s);
}

.works_heading::after {
    content: "";
    flex-grow: 1;
    height: 12px;
    background: url("/wp-content/uploads/2025/06/line_nami.png") repeat-x left center / 65%;
}

.works_slide .smb-spider-slider__figure-wrapper {
    border-radius: var(--border-radius_m);
}

.works_slide .spider__figure {
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: var(--border-radius_m);
}

.single-works .c-entry-summary__figure {
    mask: url("/wp-content/uploads/2025/06/works_mask.png") no-repeat center center / contain;
}

/* ========== お問い合わせ ========== */
.contact_form__wrap {
    max-width: 1080px;
    padding: var(--gap);
    border-radius: var(--border-radius_l);
    border: dashed 2px var(--accent-color);
}

.smf-progress-tracker {
    margin-bottom: var(--gap);
}

/* お問い合わせフォーム */
.smf-item__col--label {
    font-weight: 800;
}

.smf-item__description {
    color: var(--_color-text);
    background-color: var(--color_green);
    width: fit-content;
    border-radius: 8px;
    padding-inline: 0.5rem;
    padding-block: 0.25rem;
}

#autozip {
    display: none !important;
}

.smf-control-description a[href^="tel:"] {
    color: inherit;
    text-decoration: none;
    pointer-events: none;
}

.form_input__address-item {
    max-width: 100%;
}

/* プログレスバー */
[data-screen=back] .smf-progress-tracker__item--input .smf-progress-tracker__item__number,
[data-screen=complete] .smf-progress-tracker__item--complete .smf-progress-tracker__item__number,
[data-screen=confirm] .smf-progress-tracker__item--confirm .smf-progress-tracker__item__number,
[data-screen=input] .smf-progress-tracker__item--input .smf-progress-tracker__item__number,
[data-screen=invalid] .smf-progress-tracker__item--input .smf-progress-tracker__item__number {
    background-color: var(--accent-color);
}

/* 送信ボタン */
.smf-action .smf-button-control__control {
    background-color: var(--accent-color);
    border: 2px solid var(--accent-color);
    font-family: inherit;
    color: var(--color_white);
    width: 100%;
    max-width: 400px;
    padding-block: var(--spacing_s);
    background-image: none;
    border-radius: 1000px;
    outline: dotted 2px currentColor;
    outline-offset: -8px;
    position: relative;
}

.smf-action .smf-button-control__control[data-action="confirm"]::before,
.smf-action .smf-button-control__control[data-action="complete"]::before {
    content: "";
    display: inline-block;
    width: 0.5rem;
    height: 0.5rem;
    border-top: solid 2px currentColor;
    border-right: solid 2px currentColor;
    rotate: 45deg;
    position: absolute;
    top: 50%;
    right: 32px;
    translate: 0 -50%;
}

/* 戻るボタン */
.smf-action .smf-button-control__control[data-action="back"] {
    color: var(--accent-color);
    background-color: var(--color_white);
}

.smf-action .smf-button-control__control[data-action="back"]::before {
    content: "";
    display: inline-block;
    width: 0.5rem;
    height: 0.5rem;
    border-top: solid 2px currentColor;
    border-left: solid 2px currentColor;
    rotate: -45deg;
    position: absolute;
    top: 50%;
    left: 32px;
    translate: 0 -50%;
}

.smf-button-control {
    margin-left: 0 !important;
}

.smf-action .smf-button-control__control {
    margin-top: 24px;
}

/* form_thanks */
.form_thanks__text {
    text-align: center;
}

/* contact_cta */
.contact_cta .pattern_cta__header::before {
    width: 7.222%;
    left: 5%;
    translate: -22% -58%;
}

.contact_cta .pattern_cta__header::after {
    width: 5.185%;
    left: auto;
    right: 0;
}

.privacy-policy li {
    list-style: inherit;
}

/* ~~~~~~~~~~~~~~~~~~~~ large-size ~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 1023px) {

    /* ========== 共通設定 ========== */
    /* ヘッダー */
    .l-header {
        padding-right: 0;
    }

    .l-1row-header .c-fluid-container {
        padding-inline: var(--spacing_s);
    }

    /* ドロワーメニュー */
    #menu-drawer_sub .c-drawer__item {
        border-radius: 1000px;
        padding-block: var(--spacing_s);
        padding-inline: var(--spacing_inner);
        outline: dotted 2px currentColor;
        outline-offset: -8px;
    }

    .drawer_contact {
        color: var(--accent-color);
        background-color: var(--color_white);
        margin-bottom: var(--spacing_s);
    }

    .drawer_line {
        background-color: var(--color_line);
    }

    #menu-drawer_sub .c-drawer__item>a {
        display: flex;
        align-items: center;
        gap: 0.5rem;

    }

    /* ========== アニメーション ========== */
    /* loopImage */
    .loop-images {
        --loopItem-number: 3;
    }

    /* ========== パターン ========== */
    .pattern_cta .smb-section__body {
        max-width: none;
    }

    .pattern_cta__header::after {
        left: auto;
        right: 0;
    }

    .pattern_cta__content {
        flex-wrap: wrap !important;
    }

    .pattern_cta__box.--tel {
        flex-basis: 100% !important;
    }

    .pattern_cta__aside {
        position: relative;
        translate: -20% 0;
        width: fit-content;
        padding-right: 80px;
    }

    .pattern_cta__catch {
        translate: 40% -25%;
    }

    /* ========== HOME ========== */
    .home_reason__wrap .smb-container__body {
        position: initial;
    }

    .home_reason__box {
        position: inherit;
        height: auto;
    }

    /* ========== 会社概要 ========== */
    .company_overview__wrap {
        flex-wrap: wrap !important;
    }

    .company_overview__wrap>.wp-block-column {
        flex-basis: 100% !important;
    }
}

/* ~~~~~~~~~~~~~~~~~~~~ medium-size ~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 782px) {

    /* ========== パターン ========== */
    .pattern_cta .smb-section__body {
        width: 100%;
        padding-inline: 0;
        padding-bottom: var(--spacing_base);
    }

    .pattern_cta .smb-section__body::before,
    .pattern_cta .smb-section__body::after {
        background-size: 50%;
    }

    .pattern_cta__header::before {
        width: 56px;
        left: 50%;
        translate: -100% -133%;
    }

    .pattern_cta__header::after {
        width: 36px;
        top: 0;
        left: 50%;
        translate: 0 -138%;
    }


    .pattern_cta__tel .smb-btn__label {
        font-size: 1.375rem;
    }

    /* ========== HOME ========== */
    .home_service-intro__heading {
        padding-bottom: var(--spacing_base);
    }

    .home_service-intro__body {
        padding-top: 0;
    }

    .home_voice__box {
        width: 100%;
        padding-inline: var(--spacing_inner);
    }

    .home_voice__custmer {
        flex-direction: column;
    }

    .home_reason__image img {
        aspect-ratio: 4 / 3;
    }

    .home_recruit__content {
        padding-top: var(--gap);
        padding-inline: 0;
        width: 100%;
    }

    .home_recruit__wrap {
        padding-inline: var(--spacing_inner);
    }

    .home_recruit__wrap::before {
        width: 100%;
        border-radius: var(--border-radius_m);
    }

    .home_recruit__image-cover {
        margin-top: 0 !important;
    }

    .home_recruit__image {
        width: 100%;
    }

    .home_recruit__btn .smb-btn {
        min-width: auto;
    }

    /* ========== 下層ページ ========== */
    /* ========== 会社概要 ========== */
    .company_nav__box.--works {
        margin-top: 0;
    }

    /* ========== 事業内容 ========== */
    .business_works__images {
        order: 1;
    }

    .business_works__content {
        order: 2;
    }

    /* ========== お問い合わせ ========== */
    .contact_cta .pattern_cta__header::before {
        width: 56px;
        left: 50%;
        translate: -100% -133%;
    }

    .contact_cta .pattern_cta__header::after {
        width: 36px;
        left: 50%;
    }

}

/* ~~~~~~~~~~~~~~~~~~~~ small-size ~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 639px) {
    :root {
        --section-padding: 56px;
        --section-padding_l: 120px;
    }

    /* ========== 共通設定 ========== */
    .pc_none {
        display: block;
    }

    .sp_none {
        display: none;
    }

    .section_heading::before {
        width: 1.5rem;
    }

    .section_heading+* {
        margin-top: var(--spacing_base);
    }

    /* ボタン */
    .smb-buttons {
        justify-content: center !important;
    }

    /* テーブル */
    .wp-block-table tr td:is(:first-child, :last-child) {
        box-sizing: border-box;
        width: 100%;
    }

    .wp-block-table tr td:first-child {
        text-align: left;
        padding-bottom: 0;
    }

    /* フッター */
    .footer_btn {
        width: 100%;;
    }

    .footer_btn .smb-btn-wrapper {
        width: 100%;
    }


    /* ページトップ */
    #page-top {
        width: 56px;
        height: 56px;
    }

    /* 投稿(シンプル)*/
    .c-entries--simple .c-entry-summary__content {
        display: block;
    }

    .c-entries--simple .c-entry-summary__figure {
        float: inherit;
        width: 100%;
        margin-bottom: 20px;
    }

    /* ========== アニメーション ========== */
    .loop-images {
        --loopItem-number: 1;
    }

    /* ========== HOME ========== */
    .home_hero-visual::before {
        width: calc(100% - 10px);
        height: calc(100% - 10px);
        border-radius: 0 calc(var(--border-radius_l) - 10px);
    }

    .home_hero-copy {
        top: auto;
        bottom: 10%;
        left: 4.267svw;
    }

    .home_hero-copy__wrap {
        align-items: flex-start !important;
    }

    .home_hero-copy__sub {
        width: 15em;
        line-height: 1.5;
    }

    .home_hero-visual::after {
        width: 83svw;
    }

    .home_hero__kirakira.--1 {
        width: 24px;
        translate: 0 -75%;
    }

    .home_hero__kirakira.--2 {
        width: 36px;
        left: 0;
        translate: 40% 100%;
    }

    .home_hero__kirakira.--3,
    .home_hero__kirakira.--4 {
        display: none;
    }

    .home_service-intro__deco.--1 {
        top: 0;
        left: 35%;
        width: 54px;
        translate: -100% 25%;
    }

    .home_service-intro__deco.--2 {
        width: 30px;
        top: 0;
        left: 30%;
        translate: -50% 16%;
    }

    .home_service-intro__deco.--3 {
        width: 52px;
        top: 0;
        bottom: auto;
        right: 35%;
        translate: 100% 35%;
    }

    .home_service-main__panels>.c-row>.c-row__col {
        padding-inline: var(--spacing_s);
    }

    .home_service-intro__content {
        padding-inline: 0;
    }

    .home_service-main__title {
        flex-wrap: wrap;
    }

    .home_service-main__title>span {
        flex-basis: 100%;
        order: 3;
    }

    .home_service-main__title::before,
    .home_service-main__title::after {
        width: 56px;
    }

    .home_service-main__title::before {
        order: 1;
    }

    .home_service-main__title::after {
        order: 2;
    }

    .home_works .c-container {
        padding-block: var(--spacing_base);
    }

    .home_works__kirakira.--1 {
        top: 18%;
        left: 3%;
    }

    .home_works__kirakira.--2 {
        top: 23%;
        left: 8%;
    }

    .home_works__kirakira.--3 {
        top: 24%;
        left: 24%;
    }

    .home_works__kirakira.--4 {
        top: 18%;
        right: 26%;
    }

    .home_works__kirakira.--5 {
        top: 25%;
        right: 17%;
    }

    .home_works__kirakira.--6 {
        top: 28%;
        right: 1%;
    }

    .home_works__kirakira.--8 {
        bottom: 25%;
        left: 5% 18.75px;
    }

    .home_works__kirakira.--9 {
        bottom: 14%;
        right: 90%;
    }

    .home_recruit__table .smb-information__item {
        padding-block: 1.5rem;
    }

    .home_recruit__table .smb-information__item>.c-row>.c-row__col:first-child {
        margin-bottom: 0.5rem;
    }

    /* ========== 下層ページ ========== */
    body:not(.single) .c-page-header__title {
        gap: 0.5rem;
    }

    body:not(.single) .c-page-header__title::before,
    body:not(.single) .c-page-header__title::after {
        width: clamp( 2.75rem, calc( 1.625rem + 5.625vw ), 3.875rem );
    }

    /* ========== 事業内容 ========== */
    .business_intro__content {
        text-align: left;
    }

    .home_service__loop-images.p-business {
        position: relative;
        inset: inherit;
        margin-top: var(--gap);
    }

    .business_service__box {
        padding-inline: var(--spacing_inner);
    }

    .business_service__title {
        flex-direction: column;
        align-items: center;
    }

    .business_works__container {
        padding-block: var(--gap);
    }

    .business_works__content {
        padding-inline: 0;
    }

    .business_works__image {
        width: 56%;
    }

    .business_works__image:nth-child(1),
    .business_works__image:nth-child(2) {
        translate: 0 0;
    }

    .business_works__image:nth-child(2) {
        margin-top: -64px;
    }

    .business_area__content {
        padding-inline: 0;
    }

    .business_area__text::before {
        background-size: 75%;
    }

    /* ========== お問い合わせ ========== */
    .contact_form__wrap {
        padding-inline: var(--spacing_inner);
    }

    .form_thanks__text {
        text-align: left;
    }
}