@charset "utf-8";

/* ========== 変数 ========== */
:root {
    --_color-text: #3e4063;
    --font-family: "M PLUS Rounded 1c", sans-serif;
    --_global--background-color: #f4f4f9;
    --_global--border-radius: 10px;
    --_global--transition-duration: .4s;
    /* カスタマイズ */
    --font-family_en: "Quicksand", sans-serif;
    --font-size_m: 1.5em;
    --font-size_ms: 1.25em;
    --color_white: #fbfbff;
    --color_blue-purple: #8f9fe7;
    --color_pale-purple: #b2a1dd;
    --color_violet: #cf9de3;
    --radial_violet: radial-gradient(var(--color_violet), transparent);
    --radial_blue-purpl: radial-gradient(var(--color_blue-purple), transparent);
    --box-shadow__link: 0 0 10px #57587e26;
    --spacing_base: 32px;
    --spacing_l: 64px;
    --spacing_m: 48px;
    --spacing_s: 16px;
    --spacing-inline: clamp(16px, 1.667svw, 24px);
    --spacing-inline_l: min(64px, 5%);
}

/* ========== 基本設定 ========== */
ul {
    padding-left: 0;
}

li {
    list-style: none;
}

.p_rel {
    position: relative;
}

.inline_b {
    display: inline-block;
}

.pc_none {
    display: none;
}

/* ========== 共通設定 ========== */
body {
    font-feature-settings: "palt";
    font-weight: 500;
    font-size: clamp(1rem, 1.18svw, 1.125rem);
}

.smb-section {
    --smb-section--padding: 88px;
}

:root :where(.is-layout-constrained, .is-layout-flow)>:where(:not(:first-child)) {
    margin-top: var(--spacing_m);
}

/* 見出し */
.section-heading {
    gap: 0;
}

.section-heading__ja {
    font-size: clamp(1.625em, calc(1.5178571428571428em + 0.5357142857142857vw), 2em);
    letter-spacing: 0.1em;
}

.section-heading__en {
    display: flex;
    align-items: center;
    gap: 0.25em;
    color: var(--sub-accent-color);
    font-family: var(--font-family_en);
    font-weight: 700;
    line-height: 1;
}

.section-heading__en::before {
    content: "";
    display: block;
    width: 1em;
    aspect-ratio: 1;
    background: url("/wp-content/uploads/2025/10/heading-deco.png") no-repeat center center / cover;
    translate: 0 10%;
}

/* ボタン */
.smb-btn:is(:active, :focus, :hover) {
    filter: brightness(1.0);
}

:where(.smb-btn-wrapper:not(.is-style-snow-monkey-143790)) .smb-btn {
    padding-block: 1.5rem;
    border-radius: 1000px;
    font-size: 1.125em;
    border: solid 2px var(--accent-color);
    box-shadow: var(--box-shadow__link);
}

:where(.smb-btn-wrapper:not(.is-style-snow-monkey-143790)) .smb-btn:hover {
    color: var(--accent-color);
    background-color: var(--color_white);
}

:where(.smb-btn-wrapper.is-style-snow-monkey-143790) .smb-btn::before {
    border: solid 2px currentColor;
    box-shadow: var(--box-shadow__link);
    transition: all var(--_global--transition-duration) ease-in-out;
}

:where(.smb-btn-wrapper.is-style-snow-monkey-143790) .smb-btn:hover::before {
    background-color: var(--color_white);
}

:where(.smb-btn-wrapper.is-style-snow-monkey-143790) .smb-btn:hover::after {
    background-color: currentColor;
}

.smb-btn__label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 700;
}

.smb-btn__label>.svg-inline--fa {
    display: grid;
    place-items: center;
    aspect-ratio: 1;
    border-radius: 50%;
    color: var(--accent-color);
    background-color: white;
    padding: 0.5rem;
    transition: all var(--_global--transition-duration) ease-in-out;
}

.smb-btn:hover .smb-btn__label>.svg-inline--fa {
    color: var(--color_white);
    background-color: var(--accent-color);
}

/* テーブル */
table,
tbody {
    display: block;
    width: 100%;
}

.wp-block-table tbody {
    border-top: solid 1px var(--sub-accent-color);
}

.wp-block-table tr {
    display: flex;
    flex-wrap: wrap;
    border-bottom: solid 1px var(--sub-accent-color);
}

.wp-block-table tr td {
    display: block;
    padding-block: 1.5rem;
    padding-inline: 1.75rem;
    border: none;
}

.wp-block-table tr td:first-child {
    font-weight: 700;
    width: 30%;
    text-align: center;
    vertical-align: middle;
    background-color: var(--light-sub-accent-color);
}

.wp-block-table tr td:last-child {
    width: 70%;
}

.wp-block-table a[href^="tel:"] {
    color: inherit;
    text-decoration: none;
    pointer-events: none;
}

/* ボックス */
.smb-box {
    overflow: hidden;
}

/* 投稿 */
.c-meta__item--author,
.c-meta__item--modified {
    display: none;
}

.c-entry-summary__title {
    color: var(--accent-color);
}

.c-entry-summary__term {
    font-size: 0.875rem !important;
}

.c-entries--simple,
.c-entries--text,
.c-entries--text2 {
    border-top-color: var(--light-accent-color);
}

.c-entries--simple .c-entries__item,
.c-entries--text .c-entries__item,
.c-entries--text2 .c-entries__item {
    border-bottom-color: var(--light-accent-color);
}

.c-entry-summary__figure {
    border-radius: 6px;
}

/* 投稿（テキスト） */
.c-entries--text .c-entry-summary__title {
    font-weight: 700;
}

/* 投稿（カルーセル） */
.c-entries-carousel__item {
    padding: var(--spacing-inline);
    background-color: var(--color_white);
    border-radius: var(--_global--border-radius);
    box-shadow: var(--box-shadow__link);
}

.c-entries-carousel .c-entry-summary__meta {
    justify-content: flex-start;
}

/* 投稿（リッチメディア） */
body.archive .c-entries--rich-media .c-entry-summary {
    padding: var(--spacing-inline);
    background-color: var(--color_white);
    border-radius: var(--_global--border-radius);
    box-shadow: var(--box-shadow__link);
}

.c-entries--rich-media .c-entry-summary__meta {
    justify-content: flex-start;
}


/* スライダー */
.spider>.spider__arrow {
    background-color: var(--sub-accent-color);
    border-radius: 50%;
    box-shadow: var(--box-shadow__link);
}

.spider__arrow[data-direction=prev]:before {
    border-bottom-width: 2px;
    border-left-width: 2px;
}

.spider__arrow[data-direction=next]:before {
    border-right-width: 2px;
    border-top-width: 2px;
}

.c-entries-carousel .spider__dots {
    margin-top: var(--spacing_s);
}

.spider__dots:not([data-thumbnails=true]) .spider__dot[aria-current=true] {
    background-color: var(--sub-accent-color);
}

.spider__dots:not([data-thumbnails=true]) .spider__dot {
    background-color: var(--light-sub-accent-color);
}

/* ヘッダー */
.l-header {
    border-radius: 0 0 20px 20px;
}

/* ロゴ */
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;
    padding-block: 8px;
    width: clamp(176px, calc(143.42857142857144px + 10.178571428571429vw), 290px);
}

header .c-site-branding__title>a.custom-logo-link>img {
    width: 100%;
}

/* グローバルナビ */
[data-scrolled=false] .l-header--sticky-overlay-colored-lg {
    color: var(--accent-color);
}

.p-global-nav .c-navbar__item>a {
    color: var(--accent-color);
    padding-block: 1rem;
}

.p-global-nav .c-navbar__item.header__cta>a {
    color: white;
    background-color: var(--accent-color);
    padding-inline: 2rem;
    margin-left: var(--_padding-1);
    border-radius: 1000px;
}

.p-global-nav .c-navbar__item>a>span {
    gap: 0.375rem;
}

/* ハンバーガーメニュー */
.l-header .c-hamburger-btn__bar {
    background-color: var(--accent-color);
    height: 2px;
}

.c-hamburger-btn__label {
    color: var(--accent-color);
    font-family: var(--font-family_en);
    font-weight: 700;
}

/* ドロワーナビ */
.c-drawer {
    background-color: var(--light-accent-color);
    padding-top: 80px;
    margin: 10px;
    border-radius: 10px;
}

.c-drawer__item {
    color: var(--accent-color);
    background-color: var(--color_white);
    border-radius: 1000px;
    padding-inline: 0.625rem;
}

.c-drawer__item.drawer__cta {
    color: var(--color_white);
    background-color: var(--accent-color);
    padding-block: 0.75rem;
}

.c-drawer__item:nth-child(n+2) {
    margin-top: 1rem;
}

.c-drawer__item>a {
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 1rem;

}

.c-drawer__item>a>.svg-inline--fa {
    color: var(--color_white);
    font-size: 1.25em;
    padding: 0.375rem;
    background-color: var(--accent-color);
    border-radius: 50%;
    aspect-ratio: 1;
}

.c-drawer__item.drawer__cta>a>.svg-inline--fa {
    color: var(--accent-color);
    background-color: var(--color_white);
    border-radius: 50%;
}

/* フッター */
.l-footer {
    border-top: none;
    background-color: var(--light-sub-accent-color);
    border-radius: 20px 20px 0 0;
}

.menu-footer1-container {
    padding-top: var(--spacing_m);
    position: relative;
}

.menu-footer1-container::before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: var(--accent-color);
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% 0;
}

#menu-footer1 {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
    justify-content: space-between;
    max-width: 1080px;
    margin-inline: auto;
}

#menu-footer1 li {
    margin-top: 0;
}

.c-copyright--inverse {
    color: inherit;
    background-color: transparent;
    padding-block: 10px;
}

/* ========== パターン ========== */
/* pattern_message */
.pattern_message__copy {
    font-size: var(--font-size_m);
    font-weight: 700;
}

/* pattern_cta */
.pattern_cta {
    margin-bottom: -20px;
    padding-bottom: calc(var(--smb-section--padding) + 20px);
}

.pattern_cta::before,
.pattern_cta::after {
    content: "";
    display: block;
    width: 100%;
    height: 70%;
    position: absolute;
    bottom: 0;
    left: 50%;
    translate: -50% 0;
}

.pattern_cta::before {
    background: url("/wp-content/uploads/2025/10/footer_bg.jpg") no-repeat center center / cover;
    z-index: -1;
}

.pattern_cta::after {
    background-image: linear-gradient(180deg, var(--_global--background-color), transparent);
}

.pattern_cta__cover {
    overflow: hidden;
    padding-block: var(--spacing_l);
    padding-inline: var(--spacing-inline_l);
    background-color: var(--light-accent-color);
    border-radius: 40px;
    z-index: 1;
}

.pattern_cta__cover::before {
    content: "";
    display: block;
    width: 100%;
    aspect-ratio: 32/5;
    background: url(/wp-content/uploads/2025/10/footer_deco.png) no-repeat center center / cover;
    position: absolute;
    top: -1px;
    left: 50%;
    translate: -50% 0;
    opacity: 0.4;
}

.pattern_cta__heading {
    color: white;
}

.pattern_cta__item {
    padding-block: 32px;
    padding-inline: var(--spacing-inline);
    background-color: var(--color_white);
    border-radius: var(--_global--border-radius);
}

.pattern_cta__item-inner {
    gap: var(--spacing_s);
}

.pattern_cta__btns {
    width: 100%;
}

/* ========== HOME ========== */
/* home_hero */
.home_hero {
    padding-top: 104px;
    padding-bottom: 48px;
}

.home_hero::before {
    content: "";
    display: block;
    width: 100%;
    aspect-ratio: 867/260;
    background: url("/wp-content/uploads/2025/10/hero-deco.png") no-repeat center center / cover;
    opacity: 0.65;
    position: absolute;
    top: 0;
    left: 0;
}

.home_hero__copy {
    gap: 0.5rem;
    font-size: clamp( 2rem, calc( -0.15384615384615374rem + 3.3653846153846154vw ), 2.875rem );
    font-weight: 700;
}

.home_hero__copy p {
    padding-inline: 1rem;
    background-color: white;
    border-radius: 10px;
}

.home_hero__image-col {
    display: none;
}

.home_hero__image-col img {
    width: 100%;
}

/* home_about */
.home_about::before,
.home_about::after {
    content: "";
    display: block;
    width: 40%;
    aspect-ratio: 1;
    opacity: 0.2;
    filter: blur(40px);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: -1;
}

.home_about::before {
    background-image: var(--radial_blue-purpl);
    translate: -85% -80%;
}

.home_about::after {
    background-image: var(--radial_violet);
    translate: -25% -55%;
}

.home_about__body {
    flex-grow: 1;
}

.home_about__content {
    padding-block: 64px;
    margin-top: 0;
}

.home_about__copy {
    font-size: var(--font-size_m);
    font-weight: 700;
    line-height: 2;
}

.home_about__image-cover {
    flex-basis: 35%;
}

.home_about__image-cover.--left {
    align-self: center;
}

:where(.home_about__image-cover.--right) figure:nth-child(1) {
    padding-right: 6%;
}

:where(.home_about__image-cover.--right) figure:nth-child(2) {
    padding-left: 10%;
}

.home_about__image-cover img {
    border-radius: 20px;
}

/* home_feature */
.home_feature__item {
    background-color: var(--light-sub-accent-color);
    border-radius: var(--_global--border-radius);
    padding-block: var(--spacing_base) var(--spacing_m);
    padding-inline: var(--spacing-inline);
}

.home_feature__heading {
    gap: 0.75rem;
    color: var(--sub-accent-color);
    background-color: var(--color_white);
    border-radius: 10px;
    padding: var(--spacing_s);
}

.home_feature__num {
    display: grid;
    place-items: center;
    color: var(--color_white);
    font-size: 1.125em;
    font-family: var(--font-family_en);
    font-weight: 700;
    background-color: var(--sub-accent-color);
    width: 2.5rem;
    aspect-ratio: 1;
    border-radius: 50%;
}

.home_feature__copy {
    font-size: var(--font-size_ms);
}

/* home_message */
.home_message::before {
    content: "";
    display: block;
    width: 25%;
    aspect-ratio: 5 / 7;
    background: url("/wp-content/uploads/2025/10/page-deco_1.png") no-repeat center center / cover;
    position: absolute;
    top: 0;
    left: 0;
    translate: 0 -62%;
    z-index: -1;
    opacity: 0.4;
}

/* home_service */
.home_service::before {
    content: "";
    display: block;
    width: 25%;
    aspect-ratio: 11/20;
    background: url("/wp-content/uploads/2025/10/page-deco_2.png") no-repeat center center / cover;
    position: absolute;
    right: 0;
    top: 0;
    translate: 25% 0;
    z-index: -1;
    opacity: 0.4;
}

.home_service__box {
    height: 100%;
    padding: 0;
    box-shadow: var(--box-shadow__link);
}

.home_service__box.--service1 {
    background-color: var(--color_pale-purple);
}

.home_service__box.--service2 {
    background-color: var(--color_violet);
}

.home_service__box.--service3 {
    background-color: var(--color_blue-purple);
}

.home_service__box .smb-box__body {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    gap: 48px;
}

.home_service__title {
    gap: 1rem;
    width: 100%;
    padding-block: 24px;
    padding-inline: var(--spacing-inline);
    background-color: var(--color_white);
}

.home_service__icon {
    width: 64px;
    margin-left: 0 !important;
}

.home_service__content {
    color: var(--color_white);
    font-weight: 700;
    gap: 1rem;
    padding-block: 32px;
    padding-inline: var(--spacing-inline);
}

.home_service__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0 1rem;
}

.home_service__list li {
    padding-left: 1.25rem;
    margin-top: 0;
    position: relative;
}

.home_service__list li::before {
    content: "";
    display: block;
    width: 0.375rem;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: var(--color_white);
    position: absolute;
    left: 0;
    top: calc(1em / 2 * 1.8);
    translate: 0 -50%;
}

.home_service__arrow {
    display: grid;
    place-items: center;
    align-self: flex-end;
    aspect-ratio: 1;
    border-radius: 50%;
    padding: 0.375rem;
    border: solid 2px currentColor;
    transition: all var(--_global--transition-duration) ease-in-out;
}

.home_service__box:hover .home_service__arrow {
    background-color: var(--color_white);
}

.home_service__box.--service1:hover .home_service__arrow {
    color: var(--color_pale-purple);
}

.home_service__box.--service2:hover .home_service__arrow {
    color: var(--color_violet);
}

.home_service__box.--service3:hover .home_service__arrow {
    color: var(--color_blue-purple);
}

/* ========== 下層ページ ========== */
body.page .l-contents__inner {
    padding-bottom: 0;
    margin-top: 0;
}

/* 下層ページヘッダー */
.c-page-header {
    padding-top: 0;
    background-color: transparent;
}

.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 {
    font-size: clamp(1.75rem, calc(1.5357142857142856rem + 1.0714285714285714vw), 2.5rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

body:not(.single) .c-page-header__title::before {
    content: "";
    display: block;
    width: 56px;
    aspect-ratio: 285 / 188;
    background: url("/wp-content/uploads/2025/10/page-header-deco.png") no-repeat center center / cover;
}

body:not(.home) .l-contents {
    padding-top: 128px;
}

/* パンくず */
.p-breadcrumbs-wrapper {
    width: fit-content;
    margin-left: 0;
    background: var(--color_white);
    padding-inline: 1rem;
    border-radius: 100px;
}

.c-breadcrumbs__item:nth-child(n+2):before {
    border-color: var(--sub-accent-color);
}

/* ========== 会社概要 ========== */
/* company_lisence */
.company_lisence {
    background-color: var(--color_white);
    border: solid 2px var(--sub-accent-color);
    border-radius: var(--_global--border-radius);
    padding-block: var(--spacing_base);
    padding-inline: var(--spacing-inline_l);
}

.company_lisence__heading {
    margin-bottom: 0;
    position: absolute;
    top: 0;
    left: var(--spacing-inline_l);
    translate: 0 -50%;
    color: var(--sub-accent-color);
    z-index: 1;
}

.company_lisence__heading::before {
    content: "";
    display: block;
    width: 6em;
    height: 5px;
    background-color: var(--color_white);
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    z-index: -1;
}

.company_lisence__list {
    display: flex;
    gap: 1rem 1.5rem;
    margin-top: 0;
}

.company_lisence__list li {
    margin-top: 0;
    padding-left: 1rem;
    position: relative;
}

.company_lisence__list li::before {
    content: "";
    display: block;
    width: 0.5rem;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: var(--sub-accent-color);
    position: absolute;
    top: calc(1em / 2 * 1.8);
    left: 0;
    translate: 0 -50%;
}

/* company_staff */
.company_staff::before {
    content: "";
    display: block;
    width: max(25%, 280px);
    aspect-ratio: 11/20;
    background: url("/wp-content/uploads/2025/10/page-deco_2.png") no-repeat center center / cover;
    position: absolute;
    right: 0;
    top: 0;
    translate: 15% -40%;
    z-index: -1;
    opacity: 0.4;
}

.company_staff__column {
    background-color: var(--light-sub-accent-color);
    padding-block: var(--spacing_m);
    padding-inline: var(--spacing-inline);
    border-radius: var(--_global--border-radius);
}

.company_staff__column:nth-child(n + 2) {
    margin-top: 96px;
}

.company_staff__column::before {
    content: "";
    display: block;
    width: 25%;
    aspect-ratio: 104/95;
    position: absolute;
    bottom: 0;
    opacity: 0.3;
}

.company_staff__column:nth-child(odd)::before {
    background: url("/wp-content/uploads/2025/10/staff_right.png") no-repeat center center / cover;
    right: 0;
}

.company_staff__column:nth-child(even)::before {
    background: url("/wp-content/uploads/2025/10/staff_left.png") no-repeat center center / cover;
    left: 0;
}

.company_staff__image img {
    border-radius: var(--_global--border-radius);
}

.company_staff__title {
    gap: 0;
    background: var(--color_white);
    border-radius: 1000px;
    padding-inline: 2.5rem;
    padding-block: 0.75rem;
}

.company_staff__job {
    color: var(--sub-accent-color);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.company_staff__job::before {
    content: "";
    display: block;
    width: 1.25rem;
    aspect-ratio: 1;
    background: url("/wp-content/uploads/2025/10/staff-title-deco.png") no-repeat center center / cover;
}

.company_staff__name {
    font-size: var(--font-size_m);
    font-weight: 700;
}

.company_staff__content {
    padding-left: 2.5rem;
}

.company_staff__copy {
    font-size: var(--font-size_ms);
    padding-bottom: 1rem;
}

.company_lisence__text {
    padding-top: 1rem;
    border-top: dotted 3px var(--sub-accent-color);
}

/* company_overview */
.company_overview::before {
    content: "";
    display: block;
    width: max(25%, 300px);
    aspect-ratio: 5 / 7;
    background: url("/wp-content/uploads/2025/10/page-deco_1.png") no-repeat center center / cover;
    position: absolute;
    top: 0;
    left: 0;
    translate: -25% -26%;
    z-index: -1;
    opacity: 0.2;
}

.company_overview__table iframe {
    margin-top: 1rem;
}

/* ========== サービス ========== */
/* service_intro */
.service_intro {
    padding-bottom: calc(var(--smb-section--padding) * 1.5);
}

.service_intro::before {
    content: "";
    display: block;
    width: 100%;
    aspect-ratio: 32/5;
    background: url(/wp-content/uploads/2025/10/footer_deco.png) no-repeat center center / cover;
    position: absolute;
    bottom: -40px;
    left: 50%;
    translate: -50% 0;
    opacity: 0.4;
    scale: -1;
}

.service_intro__box {
    padding: 0;
    box-shadow: var(--box-shadow__link);
}

.service_intro__box.--service1 {
    background-color: var(--color_pale-purple);
}

.service_intro__box.--service2 {
    background-color: var(--color_violet);
}

.service_intro__box.--service3 {
    background-color: var(--color_blue-purple);
}

.service_intro__icon-cover {
    width: 100%;
    padding-block: var(--spacing_base);
    padding-inline: var(--spacing_s);
    background-color: var(--color_white);
}

.service_intro__icon {
    width: 64px;
}

.service_intro__text {
    color: var(--color_white);
    font-size: var(--font-size_ms);
    font-weight: 700;
    padding-block: var(--spacing_base);
    padding-inline: var(--spacing_s);
}

.service_intro__arrow {
    font-size: 0.75em;
    display: grid;
    place-items: center;
    align-self: flex-end;
    aspect-ratio: 1;
    border-radius: 50%;
    padding: 0.375rem;
    border: solid 2px currentColor;
    transition: all var(--_global--transition-duration) ease-in-out;
}

.service_intro__box:hover .service_intro__arrow {
    background-color: var(--color_white);
}

.service_intro__box.--service1:hover .service_intro__arrow {
    color: var(--color_pale-purple);
}

.service_intro__box.--service2:hover .service_intro__arrow {
    color: var(--color_violet);
}

.service_intro__box.--service3:hover .service_intro__arrow {
    color: var(--color_blue-purple);
}

/* service_services */
.service_services {
    background-color: var(--light-sub-accent-color);
    border-radius: 40px;
}

.service_services__item {
    border: solid 4px;
    padding-block: var(--spacing_m);
    padding-inline: var(--spacing-inline_l);
    background-color: var(--color_white);
    border-radius: 20px;
}

.service_services__item:nth-child(n+2) {
    margin-top: 96px;
}

:where(#service1).service_services__item {
    border-color: var(--color_pale-purple);
}

:where(#service2).service_services__item {
    border-color: var(--color_violet);
}

:where(#service3).service_services__item {
    border-color: var(--color_blue-purple);
}

.service_services__item:last-child {
    border-color: var(--sub-accent-color);
}

.service_services__title {
    font-size: var(--font-size_m);
    display: flex;
    align-items: center;
    gap: 1rem;
}

:where(#service1) .service_services__title {
    color: var(--color_pale-purple);
}

:where(#service2) .service_services__title {
    color: var(--color_violet);
}

:where(#service3) .service_services__title {
    color: var(--color_blue-purple);
}

:where(.service_services__item:last-child) .service_services__title {
    color: var(--sub-accent-color);
}

.service_services__title::before {
    content: "";
    display: block;
    width: 1.75em;
    aspect-ratio: 1;
}

:where(#service1) .service_services__title::before {
    background: url("/wp-content/uploads/2025/10/service-icon_1.png") no-repeat center center / cover;
}

:where(#service2) .service_services__title::before {
    background: url("/wp-content/uploads/2025/10/service-icon_2.png") no-repeat center center / cover;
}

:where(#service3) .service_services__title::before {
    background: url("/wp-content/uploads/2025/10/service-icon_3.png") no-repeat center center / cover;
}

:where(.service_services__item:last-child) .service_services__title::before {
    background: url("/wp-content/uploads/2025/10/service-icon_other.png") no-repeat center center / cover;
}

.service_services__image {
    overflow: hidden;
    border-radius: var(--_global--border-radius);
}

.service_services__list {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 1.5rem;
}

.service_services__list li {
    margin-top: 0;
    padding-left: 1.25rem;
    position: relative;
}

.service_services__list li:not(:last-child)::before {
    content: "";
    display: block;
    width: 0.5rem;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: var(--sub-accent-color);
    position: absolute;
    left: 0;
    top: calc(1em / 2 * 1.8);
    translate: 0 -50%;
}

/* service_area */
.service_area {
    padding-top: calc(var(--smb-section--padding) * 2);
}

.service_area__copy {
    font-size: var(--font-size_m);
    font-weight: 700;
    padding-bottom: 1rem;
}

.service_area__text {
    padding-top: 1rem;
    border-top: dotted 3px var(--sub-accent-color);
}

/* service_slider */
.service_slider {
    opacity: 0.7;
}

.service_slider .spider__canvas {
    align-items: flex-start;
}

.service_slider .spider__slide:nth-child(even) {
    margin-top: var(--spacing_m);
}

.service_slider .spider__figure {
    border-radius: var(--_global--border-radius);
}

/* ========== お問い合わせ ========== */
/* contact_intro */
.contact_intro__box {
    background-color: var(--light-accent-color);
    padding-inline: var(--spacing-inline_l);
}

.contact_intro__inner {
    padding-block: var(--spacing_base);
    padding-inline: var(--spacing-inline);
    background-color: var(--color_white);
    border-radius: var(--_global--border-radius);
}

.contact_intro__content {
    width: 100%;
}

/* お問い合わせフォーム */
#autozip {
    display: none !important;
}

.smf-control-description a[href^="tel:"] {
    color: inherit;
    text-decoration: none;
    pointer-events: none;
}

.snow-monkey-form {
    background-color: var(--light-accent-color);
    padding-block: var(--spacing_l);
    padding-inline: var(--spacing-inline_l);
    border-radius: 40px;
}

.smf-form {
    background-color: var(--color_white);
    padding-block: var(--spacing_m);
    padding-inline: var(--spacing-inline);
    border-radius: var(--_global--border-radius);
}

.smf-form--letter .smf-item {
    padding-block: 2rem;
    border-bottom: solid 1px var(--light-accent-color);
}

.smf-form--letter .smf-item__col--label {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.smf-item__description {
    color: var(--accent-color);
    margin-top: 0;
}

/* プログレスバー */
[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 {
    color: var(--color_white);
    background-color: var(--accent-color);
}

.smf-progress-tracker__item__number {
    color: var(--accent-color);
    background-color: var(--color_white);
}

.smf-progress-tracker__item__text {
    color: var(--color_white);
}

.smf-progress-tracker__item:after,
.smf-progress-tracker__item:before {
    background-color: var(--color_white);
}

/* 送信ボタン */
.smf-action .smf-button-control__control {
    background-color: var(--accent-color);
    border: 2px solid var(--accent-color);
    font-family: inherit;
    color: white;
    width: 100%;
    max-width: 400px;
    padding-block: 1rem;
    background-image: none;
    border-radius: 1000px;
}

/* 戻るボタン */
.smf-action .smf-button-control__control[data-action="back"] {
    background-color: white;
    color: var(--accent-color);
}

.smf-button-control {
    margin-left: 0 !important;
}

.smf-action .smf-button-control__control {
    margin-top: 24px;
}

/* ========== プライバシーポリシー ========== */
.privacy-policy li {
    list-style: inherit;
}


/* ~~~~~~~~~~~~~~~~~~~~ large-size ~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 1023px) {

    /* ========== 共通設定 ========== */
    /* ヘッダーロゴ */
    header .c-site-branding__title>a.custom-logo-link {
        padding-block: 4px;
    }

    /* ========== HOME ========== */
    /* home_hero */
    .home_hero::before {
        top: -20px;
    }

    /* home_about */
    .home_about__cover {
        flex-wrap: wrap !important;
        column-gap: var(--spacing_s);
    }

    .home_about__body {
        flex-basis: 100%;
        order: 1;
    }

    .home_about__image-cover.--left {
        order: 2;
        flex-basis: 30%;
    }

    .home_about__image-cover.--right {
        display: contents;
    }

    .home_about__image-cover.--right>figure {
        padding: 0;
        flex-basis: 30%;
    }

    .home_about__image-cover.--right>figure:nth-of-type(1) {
        order: 3;
    }

    .home_about__image-cover.--right>figure:nth-of-type(2) {
        order: 4;
    }

    /* home_feature */
    .home_feature {
        flex-direction: column;
    }

    /* home_service */
    .home_service__column {
        flex-direction: column;
        gap: var(--spacing_m);
    }

    .home_service__content {
        width: 100%;
    }
}

@media screen and (orientation: portrait) and (max-width: 1023px) {
    /* home_hero */
    .home_hero {
        padding-top: 40px;
        padding-bottom: 0;
    }

    .home_hero__copy {
        font-size: clamp( 1.25rem, calc( 0.9090909090909092rem + 1.7045454545454544vw ), 2rem );
    }

    .home_hero__image {
        display: none;
    }

    .home_hero__image-col {
        display: block;
    }

}

/* ~~~~~~~~~~~~~~~~~~~~ medium-size ~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 781px) {

    /* ========== 共通設定 ========== */
    /* フッター */
    #menu-footer1 {
        justify-content: flex-start;
    }

    /* ========== パターン ========== */
    /* pattern_message */
    .pattern_message {
        flex-direction: column-reverse;
    }

    .pattern_message__image img {
        width: 80%;
        margin-inline: auto;
    }

    /* ========== HOME ========== */
    /* home_hero */
    .home_hero__image-col {
        margin-top: 16px;
    }

    /* home_about */
    .home_about__content {
        padding-bottom: 0;
    }

    .home_about__image-cover img {
        border-radius: 10px;
    }

    /* home_message */
    .home_message::before {
        width: 45%;
    }

    /* home_service */
    .home_service::before {
        width: 45%;
    }

    /* ========== 下層ページ ========== */
    .c-page-header {
        padding-top: 64px;
    }

    /* ========== 会社概要 ========== */
    /* company_staff */
    .company_staff::before {
        width: 50%;
    }

    .company_staff__column::before {
        width: min(95%, 442px);
    }

    .company_staff__column:nth-child(even) {
        flex-direction: column-reverse;
    }

    .company_staff__content {
        padding-left: 0;
    }

    .company_staff__image {
        width: 80% !important;
    }

    .company_staff__title {
        align-items: center !important;
    }

    /* company_overview */
    .company_overview::before {
        width: 60%;
    }

    /* ========== サービス ========== */
    /* service_intro */
    .service_intro::before {
        width: 150%;
        bottom: -10px;
    }

    /* company_staff */
    .service_services {
        border-radius: 20px;
    }
}

/* ~~~~~~~~~~~~~~~~~~~~ small-size ~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 639px) {

    /* ========== 共通設定 ========== */
    .smb-section {
        --smb-section--padding: 64px;
    }

    /* ボタン */
    :where(.smb-btn-wrapper:not(.is-style-snow-monkey-143790)) .smb-btn {
        font-size: 1em;
    }

    .smb-btn__label {
        flex-direction: column;
        justify-content: center;
    }

    /* テーブル */
    .wp-block-table tr td {
        padding-inline: 1rem;
    }

    .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;
    }


    /* 投稿(シンプル)*/
    .c-entries--simple .c-entry-summary__content {
        display: block;
    }

    .c-entries--simple .c-entry-summary__figure {
        float: inherit;
        width: 100%;
        margin-bottom: 20px;
    }

    /* ========== パターン ========== */
    /* pattern_cta */
    .pattern_cta__cover::before {
        width: 200%;
    }

    /* ========== お問い合わせ ========== */
    .form_thanks__text p {
        text-align: left;
    }

}