@charset "utf-8";

/* ========== 変数 ========== */
:root {
    --_color-text: #2C3131;
    --font-family: "Zen Kaku Gothic New", sans-serif;
    --_global--background-color: #EDF2F2;
    --_global--transition-duration: .4s;
    /* カスタマイズ */
    --font-family_en: "Reem Kufi", "Zen Kaku Gothic New", sans-serif;
    --font-family_script: "Hurricane", "Zen Kaku Gothic New", cursive;
    --font-size_m: clamp(1.375rem, calc(0.9293313069908815rem + 0.911854103343465vw), 1.75rem);
    --color_white: #ffffff;
    --color_mint: #DAEDE0;
    --gradient_blue: linear-gradient(90deg, #72c7c7, #6cc9c2, #67cabc, #65cbb4, #65ccac, #67cda2, #6bcd98, #72cd8d);
    --gradient_red: linear-gradient(90deg, #E92A7D, #FF6928 35%, #FF7E1B 70%, #FFD600);
    --stripe_white: repeating-linear-gradient(45deg, #ffffff, #ffffff 7px, transparent 7px, transparent 14px);
    --stripe_accent: repeating-linear-gradient(45deg, var(--accent-color), var(--accent-color) 7px, transparent 7px, transparent 14px);
    --btn-shadow: 0 0 12px rgba(68, 110, 110, 0.25);
    --spacing_base: 32px;
    --spacing_s: 16px;
    --spacing_m: 48px;
    --spacing_l: 96px;
    --spacing_ll: 128px;
}

/* ========== 基本設定 ========== */
ul {
    padding-left: 0;
}

li {
    list-style: none;
}

.d_flex li {
    margin-top: 0;
}

.inline_b {
    display: inline-block;
}

.d_flex {
    display: flex;
}

.d_grid {
    display: grid;
}

.pc_none {
    display: none;
}

.en {
    font-family: var(--font-family_en);
}

.script {
    font-family: var(--font-family_script);
}

.tate {
    writing-mode: vertical-rl;
}

.p_0 {
    margin: 0 !important;
}

.pt_0 {
    padding-top: 0 !important;
}

.pt_10 {
    padding-top: 10px !important;
}

.pb_0 {
    padding-bottom: 0 !important;
}

.pb_10 {
    padding-bottom: 10px !important;
}

.mt_0 {
    margin-top: 0 !important;
}

.mb_0 {
    margin-bottom: 0 !important;
}

.mr_0 {
    margin-right: 0 !important;
}

.ml_0 {
    margin-left: 0 !important;
}

.mt_10 {
    margin-top: 10px !important;
}

.mb_10 {
    margin-bottom: 10px !important;
}

.z_0 {
    z-index: 0;
}

.z_1 {
    z-index: 1;
}

.p_ab {
    position: absolute;
}

.p_rel {
    position: relative;
}

/* ========== 共通設定 ========== */
body {
    font-size: clamp(0.9375rem, calc(0.8632218844984803rem + 0.1519756838905775vw), 1rem);
    font-weight: 500;
    font-feature-settings: "palt";
    cursor: url("/wp-content/uploads/2025/08/cursor.png"), auto;
}

h3.wp-block-heading {
    font-size: var(--font-size_m);
}

.wp-block-columns.is-layout-flex {
    column-gap: min(64px, 4.44vw);
}

/* ボタン */
.smb-buttons {
    margin-top: var(--spacing_m);
}

.smb-btn:is(:active, :focus, :hover) {
    filter: brightness(1.0);
}

.smb-btn {
    font-weight: 700;
    background: var(--gradient_blue);
    border-radius: 0;
    padding-inline: 2rem;
    padding-block: 1rem;
    min-width: 15rem;
    box-shadow: var(--btn-shadow);
}

.btn-instagram .smb-btn {
    background: var(--gradient_red)
}

.smb-btn__label {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.smb-btn__label::after {
    content: "";
    display: inline-block;
    background-color: currentColor;
    height: 0.75rem;
    aspect-ratio: 6 / 7;
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    transition: all var(--_global--transition-duration) ease-in-out;
}

.smb-btn:hover .smb-btn__label::after {
    translate: 0.5rem 0;
}

/* テーブル */
table,
tbody {
    display: block;
    width: 100%;
}

tr {
    display: flex;
    flex-wrap: wrap;
}

.wp-block-table tr td:first-child {
    width: 30%;
    text-align: center;
    vertical-align: middle;
}

.wp-block-table tr td:last-child {
    width: 70%;
    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;
}

/* 投稿 */
.c-entry-summary__figure {
    box-shadow: var(--btn-shadow);
    background: var(--gradient_blue);
    transition: all var(--_global--transition-duration) ease-in-out;
}

:is(.c-entries__item, .c-entries-carousel__item):hover .c-entry-summary__figure {
    border-radius: 28px;
}

:is(.c-entries__item, .c-entries-carousel__item)>a .c-entry-summary__figure>img {
    display: block;
    clip-path: inset(0% round 0);
    transition: all var(--_global--transition-duration) ease-in-out;
}

:is(.c-entries__item, .c-entries-carousel__item):hover .c-entry-summary__figure>img {
    clip-path: inset(10px 10px round 20px 20px 20px 20px);
}

.c-entries-carousel .c-entry-summary__title {
    font-size: clamp(1rem, calc(0.9rem + 0.25vw), 1.125rem);
}

.c-entry-summary__meta {
    color: var(--accent-color);
    font-size: 1rem;
    justify-content: flex-start;
    margin-top: 0;
}

:is(.c-entries--rich-media, .c-entries-carousel) .c-entry-summary__header {
    margin-bottom: 0;
}

.c-entries-carousel {
    --entries--carousel--gap: max(2.5%, 12px);
}

.c-entries-carousel .spider {
    padding-inline: 24px;
}

.spider__arrow {
    background-color: var(--sub-accent-color);
    border-radius: 50%;
    box-shadow: var(--btn-shadow);
}

.spider__arrow[data-direction=next]:before,
.spider__arrow[data-direction=prev]:before {
    border-width: 2px;
}

.c-entries-carousel .spider__dots {
    padding-inline: 24px;
    margin-top: 0;
    justify-content: flex-end;
}

.spider__dots:not([data-thumbnails=true]) .spider__dot[aria-current=true] {
    background-color: var(--sub-accent-color);
}

.c-entry-summary__term {
    font-size: 0.875rem !important;
}

.c-meta__item--author,
.c-meta__item--modified {
    display: none;
}

/* ヘッダー */
[data-scrolled=true] .l-header--sticky-overlay-colored-lg {
    box-shadow: var(--btn-shadow);
}

/* 下層ページヘッダー */
.l-contents__inner {
    margin-top: 0 !important;
}

.c-page-header {
    padding: 130px 0 50px;
    background-color: #72c7c733;
}

.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;
}

/* ロゴ */
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(172px, calc(129.71428571428572px + 13.214285714285715vw), 320px);
}

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: 1rem;
    padding-inline: 2rem;
}

.c-navbar__item span {
    gap: 0.5rem;
}

/* ハンバーガーメニュー */
.c-hamburger-btn__label {
    font-family: var(--font-family_en);
}

/* ドロワー */
.c-drawer {
    color: var(--accent-color);
    font-family: var(--font-family_en);
    font-size: 1.125rem;
    font-weight: 600;
    background-color: var(--color_mint);
    padding-top: 40px;
}

.c-drawer a {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

/* フッター */
.l-footer {
    color: var(--color_white);
    background-color: var(--accent-color);
    border: none;
    position: relative;
}

.l-footer::before,
.l-footer::after {
    content: "";
    display: block;
    width: max(4.444svw, 32px);
    height: 100%;
    border: solid 1px currentColor;
    border-bottom: none;
    position: absolute;
    top: 0;
}

.l-footer::before {
    left: 0;
}

.l-footer::after {
    right: 0;
}

.l-footer--default .l-footer-widget-area {
    padding-top: var(--spacing_ll);
}

.l-footer-widget-area::before {
    content: "";
    display: block;
    width: 100%;
    height: 64px;
    border: solid 1px currentColor;
    position: absolute;
    top: 0;
    left: 0;
}

.l-footer [data-is-slim-widget-area=true] .c-widget {
    font-size: 1em;
}

.footer__inner {
    max-width: 1080px;
    padding-inline: var(--spacing_base);
    margin-inline: auto;
}

.footer__logo img {
    max-width: min(380px, 100%);
}

#menu-footer1 {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing_s) calc(var(--spacing_base) * 2);
    margin-top: var(--spacing_m);
}

#menu-footer1>li {
    margin-top: 0;
}

.wp-block-social-links {
    margin-top: 24px;
}

.wp-block-social-links .wp-block-social-link {
    background-color: transparent;
}

.wp-block-social-link-anchor {
    padding: 0;
}

.footer__pagetop>a {
    color: inherit;
    font-family: var(--font-family_en);
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
    display: grid;
    gap: 0.5rem;
    justify-items: center;
    padding: 1.25rem;
    width: 112px;
    aspect-ratio: 1;
    border: solid 2px currentColor;
    border-radius: 50%;

}

.footer__pagetop>a::before {
    content: "";
    display: inline-block;
    width: 22px;
    aspect-ratio: 22 / 42;
    background: url("/wp-content/uploads/2025/08/kote.png") no-repeat center center / cover;
}

.footer__pagetop>a:hover::before {
    animation: pagetopHover var(--_global--transition-duration) ease-in-out;
}

@keyframes pagetopHover {
    30% {
        translate: 0 -1em;
        opacity: 0;
    }

    60% {
        translate: 0 1em;
        opacity: 0;
    }
}

.c-copyright--inverse {
    background-color: transparent;
    padding-block: 10px;
}

/* 見出し */
.section_heading {
    gap: 0 0.5rem;
}

.section_heading+* {
    margin-top: calc(var(--spacing_base) * 2);
}

.section_heading__en {
    color: var(--accent-color);
    font-family: var(--font-family_en);
    font-size: clamp(3.25rem, calc(1.0499999999999998rem + 5.5vw), 6rem);
    line-height: 1;
}

.section_heading__ja {
    color: var(--sub-accent-color);
    font-size: clamp(0.8125rem, calc(0.6625rem + 0.375vw), 1rem);
}

/* ライン */
.line {
    width: min(94svw, 1356px);
    max-width: none;
    padding-block: 16px;
    position: relative;
    margin-top: 0;
}

.line::before,
.line::after {
    content: "";
    display: block;
    width: 2px;
    height: 100%;
    background-color: var(--accent-color);
    position: absolute;
    top: 50%;
    translate: 0 -50%;
}

.line::before {
    left: 0;
}

.line::after {
    right: 0;
}

.line__body {
    height: 40px;
    border-top: solid 2px var(--accent-color);
    border-bottom: solid 2px var(--accent-color);
}

.line__body::before,
.line__body::after {
    content: "";
    display: block;
    width: 24px;
    aspect-ratio: 1;
    border-radius: 50%;
    border: solid 2px var(--accent-color);
    position: absolute;
    top: 50%;
    translate: 0 -50%;
}

.line__body::before {
    right: 32px;
}

.line__body::after {
    right: 72px;
}

.line__body.cirlce-left::before {
    left: 32px;
}

.line__body.cirlce-left::after {
    left: 72px;
}

/* ========== アニメーション ========== */
.loopText {
    overflow: hidden;
    font-family: var(--font-family_en);
    font-size: 5rem;
    font-weight: 600;
    line-height: 1;
    color: var(--accent-color);
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 1px var(--accent-color);
}

.loopText__item {
    display: flex;
    align-items: center;
    animation: loopText infinite linear 20s;
}

.loopText__item>li {
    display: inline-block;
    white-space: nowrap;
    padding-inline: 1.75rem;
    margin-top: 0;
}

@keyframes loopText {
    0% {
        translate: 0 0;
    }

    100% {
        translate: -100% 0;
    }
}

/* ========== パターン ========== */
/* pattern_contact */
.pattern_contact {
    padding-block: var(--spacing_l) var(--spacing_ll);
}

.pattern_contact::before {
    content: "";
    width: 100%;
    height: 65%;
    background: url("/wp-content/uploads/2025/08/contact-scaled.jpg") no-repeat center center / cover;
    position: absolute;
    left: 0;
    bottom: 0;
}

.pattern_contact__box {
    color: var(--color_white);
    background: var(--gradient_blue);
    border-radius: 0px;
    padding-block: var(--spacing_l);
    box-shadow: var(--btn-shadow);
}

.pattern_contact__box .smb-box__background {
    border: none;
}

.pattern_contact__box .smb-box__body {
    max-width: 960px;
    margin-inline: auto;
}

.pattern_contact__heading-en {
    font-size: clamp(2.375rem, calc(1.875rem + 1.25vw), 3rem);
    font-weight: 700;
    line-height: 1;
}

.pattern_contact__heading-ja {
    font-size: var(--font-size_m);
}

.pattern_contact__text {
    margin-top: calc(var(--spacing_base) * 2);
}

.pattern_contact__icon {
    flex-shrink: 0;
}

.pattern_contact__icon-cover {
    display: grid;
    place-items: center;
    border: solid 2px currentColor;
    border-radius: 50%;
    padding: clamp(2rem, calc(1.2rem + 2vw), 3rem);
    aspect-ratio: 1;
    transition: all var(--_global--transition-duration) ease-in-out;
}

.pattern_contact__box:hover .pattern_contact__icon-cover {
    scale: 1.1;
    background-color: var(--color_white);
}

.pattern_contact__icon .svg-inline--fa {
    font-size: clamp(1.75rem, calc(1.15rem + 1.5vw), 2.5rem);
    transition: all var(--_global--transition-duration) ease-in-out;
}

.pattern_contact__box:hover .svg-inline--fa {
    color: var(--accent-color);
}

/* ========== HOME ========== */
/* home_hero */
.home_hero {
    overflow: hidden;
}

.home_hero .smb-section__contents-wrapper {
    position: relative;
}

.home_hero .smb-section__background::before,
.home_hero .smb-section__background::after {
    content: "";
    display: block;
    width: 84px;
    aspect-ratio: 1;
    border-radius: 50%;
    border: solid 1px var(--color_white);
    position: absolute;
    top: 32px;
}

.home_hero .smb-section__background::before {
    left: var(--_container-margin-left);
}

.home_hero .smb-section__background::after {
    left: calc(var(--_container-margin-left) * 2 + 84px);
}

.home_hero__slider {
    padding-inline: 10% max(1.667svw, 12px);
    padding-bottom: max(1.667svw, 12px);
}

.home_hero__slider .spider {
    background: var(--gradient_blue);
}

.home_hero__slider .spider::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: var(--stripe_white);
    position: absolute;
    bottom: calc(max(1.667svw, 12px) * -1);
    right: calc(max(1.667svw, 12px) * -1);
}

.home_hero__slider .smb-spider-slider__figure-wrapper {
    min-height: 480px;
    max-height: 85svh;
}

.home_hero__copy {
    margin-top: 0;
    position: absolute;
    left: 0;
    bottom: 24px;
    z-index: 1;
}

.home_hero__copy-main {
    color: var(--accent-color);
    font-size: clamp(2.75rem, calc(0.33995815899581583rem + 3.765690376569038vw), 5rem);
    font-weight: 700;
    line-height: 1;
}

.home_hero__copy-main>span {
    display: inline-block;
    background-color: var(--color_white);
    padding-block: 0.25rem;
}

.home_hero__copy-main>span:nth-child(n+2) {
    margin-top: 0.75rem;
}

.home_hero__copy-sub {
    color: var(--color_white);
    font-weight: 700;
    font-size: clamp(1rem, calc(0.598326359832636rem + 0.6276150627615062vw), 1.375rem);
    margin-top: var(--spacing_s);
}

.home_hero__copy-company {
    color: var(--color_white);
    font-family: var(--font-family_script);
    font-size: clamp(5rem, calc(0.44769874476987415rem + 7.112970711297072vw), 9.25rem);
    rotate: -6deg;
    margin-top: -10px;
}

/* home_service */
.home_service .smb-section__inner>.c-container {
    overflow: hidden;
}

.home_service .smb-section__body {
    position: relative;
}

.home_service .smb-section__body::before {
    content: "";
    display: block;
    width: 17.8125%;
    aspect-ratio: 456 / 270;
    background: url("/wp-content/uploads/2025/08/service_deco.png") no-repeat center center / cover;
    position: absolute;
    top: 0;
    right: 0;
}

.home_service__content {
    flex-basis: 22%;
}

.home_service__text {
    font-size: 0.875rem;
    line-height: 2;
}

.home_service__column {
    flex-basis: 78%;
    gap: var(--spacing_m) var(--spacing_base);
}

.home_service__box {
    padding: 0;
    box-shadow: var(--btn-shadow);
}

.home_service__box.--sakan {
    margin-top: var(--spacing_ll);
}

.home_service__image {
    position: relative;
    overflow: hidden;
}

.home_service__image::before,
.home_service__image::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
}

.home_service__image::before {
    background-color: #3f3f3f;
    mix-blend-mode: color;
}

.--kutai .home_service__image::after {
    background: linear-gradient(rgba(114, 205, 141, 0), rgba(114, 205, 141, 0.5) 60%, var(--accent-color));
}

.--sakan .home_service__image::after {
    background: linear-gradient(rgba(114, 199, 199, 0), rgba(114, 199, 199, 0.5) 60%, var(--sub-accent-color));
}

.home_service__image>img {
    transition: all var(--_global--transition-duration) ease-in-out;
}

.home_service__box:hover .home_service__image>img {
    scale: 1.05;
}

.home_service__link {
    color: var(--color_white);
    font-size: var(--font-size_m);
    font-weight: 700;
    padding-inline: 2rem;
    padding-block: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.--kutai .home_service__link {
    background-color: var(--accent-color);
}

.--sakan .home_service__link {
    background-color: var(--sub-accent-color);
}

.home_service__link::after {
    content: "";
    display: inline-block;
    background-color: currentColor;
    height: 1rem;
    aspect-ratio: 6 / 7;
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    transition: all var(--_global--transition-duration) ease-in-out;
}

.home_service__box:hover .home_service__link::after {
    translate: 0.75rem 0;
}

.home_loopText {
    position: absolute;
    bottom: 0;
    z-index: -1;
}

/* home_big-image */
.home_big-image {
    padding-block: 40px;
}

/* home_commit */
.home_commit {
    padding-bottom: calc(var(--smb-section--padding) * 2);
}

.home_commit__column:nth-child(n+2) {
    margin-top: var(--spacing_ll);
}

.home_commit__content {
    display: flex;
    flex-direction: column;
    gap: var(--spacing_m);
}

.home_commit__heading {
    width: 100%;
}

.home_commit__num {
    color: var(--sub-accent-color);
    font-family: var(--font-family_en);
    font-size: clamp(2rem, calc(1.5543313069908815rem + 0.911854103343465vw), 2.375rem);
    font-weight: 400;
    line-height: 1;
}

.home_commit__title {
    line-height: 1.5;
}

.home_commit__title>span {
    color: var(--accent-color);
    font-size: 0.6em;
    display: block;
    margin-top: 0.5rem;
}

.home_commit__text {
    margin-top: 0;
}

.home_commit__image {
    position: relative;
}

.home_commit__image::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: var(--stripe_accent);
    z-index: -1;
    position: absolute;
    bottom: calc(clamp(8px, 1.111svw, 16px) * -1);
}

.home_commit__column:nth-child(odd) .home_commit__image::before {
    right: calc(clamp(8px, 1.111svw, 16px) * -1);
}

.home_commit__column:nth-child(even) .home_commit__image::before {
    left: calc(clamp(8px, 1.111svw, 16px) * -1);
}

.home_commit__image figcaption {
    position: absolute;
    bottom: 0;
    right: 10px;
    color: white;
}

/* home_message */
.home_message {
    background-color: var(--color_mint);
}

.home_message__column {
    justify-content: space-between;
}

.home_message__copy {
    font-weight: 700;
    font-size: var(--font-size_m);
}

.home_message__text {
    margin-top: var(--spacing_m);
}

.home_message__image {
    position: relative;
    z-index: 1;
}

.home_message__image::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: var(--stripe_white);
    position: absolute;
    bottom: calc(clamp(8px, 1.111svw, 16px) * -1);
    right: calc(clamp(8px, 1.111svw, 16px) * -1);
    z-index: -1;
}

.home_message__image img {
    width: 100%;
}

/* home_instagram */
.home_instagram {
    padding-top: calc(var(--smb-section--padding) * 2);
}

#sb_instagram {
    margin-top: calc(var(--spacing_base) * 2);
}


/* ========== 下層ページ ========== */
body.page .l-contents__inner {
    padding-bottom: 0;
    margin-top: 0;
}

/* --- 事業内容 --- */
.page-id-21 h2.n_ttl {
    color: var(--accent-color);
    font-size: 2.3rem;
    margin-top: 0 !important;
    border-bottom: solid 2px;
    padding-bottom: 5px;
}

.s_sub-ttl {
    color: var(--sub-accent-color);
    font-size: clamp(0.8125rem, calc(0.6625rem + 0.375vw), 1rem);
    font-weight: 700;
}

.service_btn .smb-btn {
    position: relative;
}

.service_t_p {
    background-color: var(--_global--background-color);
    padding: 55px 35px;
    position: relative;
    gap: 35px !important;
}

.service_t_p::before {
    width: 100%;
    height: 100%;
    border: solid 2px var(--_global--background-color);
    content: "";
    position: absolute;
    top: 10px;
    right: -10px;
}

.home_service__btn.service_btn .smb-btn__label::after {
    content: "";
    display: inline-block;
    background-color: currentColor;
    height: 0.75rem;
    aspect-ratio: 7 / 6;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    transition: all var(--_global--transition-duration) ease-in-out;
    position: absolute;
    right: 10%;
}

.service_btn .smb-btn:hover .smb-btn__label::after {
    translate: 0 0.2rem !important;
}

.service_parent {
    gap: 20px !important;
}

.service_column {
    border: solid 2px var(--accent-color);
    padding: 25px;
}

.ser_sub-ttl {
    border-bottom: solid 2px var(--accent-color);
    padding-bottom: 5px;
    font-weight: 600;
    font-size: 1.1rem;
}

/* loop */
#loop {
    padding: 70px 0 70px !important;
}

.loop_box .loop_img_02 {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 320px;
    background-image: url(https://cf-nakano.co.jp/wp-content/uploads/2025/08/img__loop-1.png);
    background-position: center bottom;
    background-size: cover;
    background-repeat: repeat-x;
    animation: loop_img 90s linear infinite;
}

.loop_box {
    position: relative;
    width: 100%;
    margin: 0 !important;
}

@keyframes loop_img {
    0% {
        background-position: 0 0;
    }

    100% {
        background-position: -4000px 0;
    }
}

.sp325.top-l {
    height: 300px !important;
}

/* --- 会社概要 --- */
/* 会社概要 */
.wp-block-table tr {
    border-bottom: solid 1px var(--accent-color) !important;
}

.wp-block-table td,
.wp-block-table th {
    padding: 20px !important;
    border: none !important;
}

figure.wp-block-table tr td:first-child,
figure.wp-block-table tr td:first-child {
    width: 30%;
    font-weight: 500;
}

@media screen and (max-width: 435px) {

    figure.wp-block-table tr td:first-child,
    figure.wp-block-table tr td:first-child {
        width: 30%;
        padding-right: 0 !important;
        padding-left: 0 !important;
        font-size: 1rem !important;
    }

    figure.wp-block-table tr td:last-child,
    figure.wp-block-table tr td:last-child {
        padding-right: 0 !important;
    }
}

/* ========== お問い合わせ ========== */
/* お問い合わせフォーム */
/* placeholder */
.smf-text-control__control::placeholder {
    color: #cccccc !important;
}

.wp-block-snow-monkey-forms-item.smf-item {
    margin-bottom: 30px !important;
}

.smf-form .smf-text-control__control,
.smf-form .smf-textarea-control__control {
    border: none !important;
    border-radius: 0;
}

/* 必須の文字 */
.smf-item__col.smf-item__col--label {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.smf-item__description {
    width: fit-content;
    margin-top: 0;
    margin-left: 20px;
    padding: 0 .5em;
    border-radius: 50px;
    background-color: #cd2b43;
    color: #ffffff !important;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
}

/* ボックス */
.wp-block-snow-monkey-blocks-box.smb-box.contact-form_box {
    padding: 50px !important;
}

.wp-block-snow-monkey-blocks-box.smb-box.contact-form_box .smb-box__background {
    border: none;
    border-radius: 0;
    background-color: #f8f7f7;
}

.smf-item__label {
    font-weight: 600;
}

.smf-form .smf-text-control__control {
    width: 100%;
    border-radius: 0;
}

/* 項目の幅 */
.snow-monkey-form .smf-form.smf-form--simple-table .smf-item .smf-item__col--label {
    flex: 0 0 18em !important;
    max-width: 18em !important;
}

.snow-monkey-form .smf-form.smf-form--simple-table .smf-item .smf-item__col--controls {
    flex: 1 1 calc(100% - 18em) !important;
    max-width: calc(100% - 18em) !important;
}

.smf-radio-buttons-control__control .smf-label {
    margin-bottom: 7px !important;
}

/* 確認ボタン */
.smf-action {
    margin-bottom: 0 !important;
    display: flex;
    justify-content: center;
    gap: 30px;
}

.smf-action .smf-button-control__control {
    position: relative;
    margin-top: 20px;
    padding-top: 1rem;
    padding-bottom: 1rem;
    border: solid 2px var(--wp--preset--color--sm-accent) !important;
    border-radius: 0;
    background: var(--wp--preset--color--sm-accent);
    color: #ffffff;
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: 3px;
}

.smf-action .smf-button-control__control:hover {
    border: solid 2px var(--wp--preset--color--sm-accent) !important;
    background: #ffffff;
    color: var(--wp--preset--color--sm-accent);
}

.smf-action .smf-button-control+.smf-button-control {
    margin-left: 0 !important;
}

.smf-action .smf-button-control__control {
    margin-bottom: 20px;
}

#contact-form svg {
    margin-right: 7px;
}

#autozip {
    display: none !important;
}

.smf-control-description a[href^="tel:"] {
    color: inherit;
    text-decoration: none;
    pointer-events: none;
}

/* プログレスバー */
[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 {
    color: var(--color_white);
    font-family: inherit;
    background-color: var(--accent-color);
    background-image: none;
    border-radius: 0px;
    width: 100%;
    max-width: 400px;
    padding-block: 1rem;
}

/* 戻るボタン */
.smf-action .smf-button-control__control[data-action="back"] {
    color: var(--accent-color);
    background-color: var(--color_white);
}

.smf-button-control {
    margin-left: 0 !important;
    width: 400px
}

.smf-action .smf-button-control__control {
    margin-top: 24px;
}

@media screen and (max-width: 550px) {
    .smf-action {
        flex-direction: column;
        align-items: center;
        gap: 0;
    }

    .smf-action .smf-button-control__control {
        margin-top: 10px;
    }

    .smf-button-control {
        width: 280px;
    }
}

/* プライバシーポリシー */
#privacy h3 {
    margin-bottom: 5px !important;
    padding-left: 10px;
    border-left: solid 3px var(--wp--preset--color--sm-accent);
    font-weight: 700;
    margin-top: 30px !important;
}

#privacy .wp-block-list {
    margin-top: 5px;
}

#privacy h3 {
    margin-bottom: 10px !important;
    padding-left: 10px;
    border-left: solid 3px var(--wp--preset--color--sm-accent);
    font-weight: 700;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
            large-size 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 1023px) {

    /* ========== 共通設定 ========== */
    /* ヘッダー */
    .l-1row-header .c-fluid-container {
        padding-right: var(--_container-margin-right);
    }

    /* ========== HOME ========== */
    /* home_service */
    .home_service__body {
        flex-direction: column;
        row-gap: 0;
    }

    .home_service__content {
        display: contents;
    }

    .home_service__text {
        order: 1;
    }

    .home_service__btn {
        order: 3;
        width: 100%;
    }

    .home_service__column {
        order: 2;
        margin-top: var(--spacing_m) !important;
    }

    .home_loopText {
        bottom: 120px;
    }

    #overview .home_loopText {
        bottom: 0;
    }
}

@media screen and (orientation: portrait) and (max-width: 1023px) {

    /* home_hero */
    .home_hero {
        padding-top: 72px;
    }

    .home_hero .smb-section__inner>.c-container {
        padding-inline: 12px;
    }

    .home_hero .smb-section__background::before,
    .home_hero .smb-section__background::after {
        width: 40px;
        inset: auto;
        bottom: 25%;
    }

    .home_hero .smb-section__background::before {
        right: 12px;
    }

    .home_hero .smb-section__background::after {
        right: 64px;
    }

    .home_hero__slider {
        padding-left: 5%;
    }

    .home_hero__slider .smb-spider-slider__figure-wrapper {
        min-height: auto;
        max-height: none;
    }

    .home_hero__slider .smb-spider-slider__figure-wrapper:before {
        padding-top: 66.667%;
    }

    .home_hero__copy {
        position: relative;
        inset: auto;
        margin-top: -32px;
    }

    .home_hero__copy-main {
        font-size: clamp(2rem, calc(1.0909090909090908rem + 4.545454545454546vw), 4rem);
    }

    .home_hero__copy-sub {
        font-size: clamp(0.875rem, calc(0.6477272727272727rem + 1.1363636363636365vw), 1.375rem);
    }

    .home_hero__copy-company {
        font-size: clamp(3.125rem, calc(1.7045454545454544rem + 7.1022727272727275vw), 6.25rem);
        margin-top: 0;
    }
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            medium-size
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  */
@media screen and (max-width: 781px) {

    /* ========== 共通設定 ========== */
    /* ボタン */
    .smb-buttons {
        justify-content: center !important;
    }

    .smb-btn {
        min-width: 14rem;
        padding-block: 0.75rem;
        padding-inline: 1.5rem;
    }

    /* フッター */
    .l-footer::before,
    .l-footer::after {
        width: 16px;
    }

    .l-footer-widget-area::before {
        height: 40px;
    }

    .footer__inner {
        padding-inline: var(--spacing_s);
    }

    .footer__pagetop>a {
        font-size: 0.875rem;
        padding: 0.75rem;
        width: 88px;
    }

    .footer__pagetop>a::before {
        width: 18px;
    }

    /* ライン */
    .line {
        padding-block: 8px;
        max-width: 100%;
    }

    .line::before,
    .line::after {
        width: 1px;
    }

    .line__body {
        height: 24px;
        border-width: 1px;
    }

    .line__body::before,
    .line__body::after {
        width: 12px;
        border-width: 1px;
    }

    .line__body::before {
        right: 24px;
    }

    .line__body::after {
        right: 48px;
    }

    .line__body.cirlce-left::before {
        left: 24px;
    }

    .line__body.cirlce-left::after {
        left: 48px;
    }

    /* ========== アニメーション ========== */
    /* loopText */
    .loopText {
        font-size: 3.75rem;
    }

    /* ========== HOME ========== */
    /* home_hero */
    .home_hero__copy {
        position: relative;
        inset: auto;
        margin-top: -32px;
    }

    /* home_service */
    .home_service .smb-section__body::before {
        width: min(27%, 140px);
    }

    .home_service__box.--sakan {
        margin-top: 0;
    }

    .home_loopText {
        padding-top: var(--spacing_m);
        position: relative;
        inset: auto;
    }

    /* home_commit */
    .home_commit__column:nth-child(even) {
        flex-direction: column-reverse;
    }

    /* home_message */
    .home_message__image {
        max-width: 360px;
    }

    #overview .o_spacer {
        height: 0 !important;
    }
}


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            small-size
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  */
@media screen and (max-width: 639px) {

    /* 変数 */
    :root {
        --spider--arrow-button-size: 40px;
        --stripe_white: repeating-linear-gradient(45deg, #ffffff, #ffffff 4px, transparent 4px, transparent 8px);
        --stripe_accent: repeating-linear-gradient(45deg, var(--accent-color), var(--accent-color) 4px, transparent 4px, transparent 8px);
        --spacing_base: 24px;
        --spacing_s: 12px;
        --spacing_m: 40px;
        --spacing_l: 80px;
        --spacing_ll: 104px;
    }

    /* ========== 共通設定 ========== */
    /* 投稿*/
    .c-entries--simple .c-entry-summary__content {
        display: block;
    }

    .c-entries--simple .c-entry-summary__figure {
        float: inherit;
        width: 100%;
        margin-bottom: 20px;
    }

    .c-entries-carousel .spider {
        padding-inline: 16px;
    }

    .c-entries-carousel .spider__dots {
        padding-inline: 16px;
        justify-content: center;
    }

    /* 見出し */
    .section_heading {
        flex-direction: column;
    }

    .section_heading__en {
        font-size: clamp(2.625rem, calc(2rem + 3.125vw), 3.25rem);
    }

    /* ========== パターン ========== */
    .pattern_contact__inner {
        flex-direction: column;
    }

    .pattern_contact__heading-en {
        font-size: 2rem;
    }

    .pattern_contact__icon {
        align-self: flex-end;
    }

    .pattern_contact__icon-cover {
        padding: 1.5rem;
    }

    .pattern_contact__icon .svg-inline--fa {
        font-size: 1.75rem;
    }

    /* ========== HOME ========== */
    /* .home_big-image {
        padding-block: 0;
    } */

    .home_big-image img {
        aspect-ratio: 4 / 3;
        object-fit: cover;
    }
}

@media screen and (max-width: 435px) {
    .service_column {
        padding: 20px;
    }

    .service_t_p {
        padding: 45px 25px;
    }

    .ser_sub-ttl {
        font-size: 1rem;
    }
}