@charset "utf-8";

/* ========== 変数 ========== */
:root {
    --_color-text: #332A05;
    --font-family: "Zen Kaku Gothic New", sans-serif;
    --_global--background-color: #FCFCFA;
    --_global--transition-duration: .4s;
    --font-family_heading: "Darumadrop One", "Zen Kaku Gothic New", sans-serif;
    --font-size_l: clamp(1.75rem, calc(1.155775075987842rem + 1.21580547112462vw), 2.25rem);
    --font-size_m: clamp(1.5rem, calc(0.9057750759878419rem + 1.21580547112462vw), 2rem);
    --font-size_ms: clamp(1.25rem, calc(0.952887537993921rem + 0.60790273556231vw), 1.5rem);
    --font-size_s: clamp(1.125rem, calc(0.9764437689969605rem + 0.303951367781155vw), 1.25rem);
    --color_line: #06C755;
    --color_orange: #FF8D28;
    --border-radius_l: 10px;
    --border-radius_m: 4px;
    --spacing_l: calc(var(--_margin4) * 0.65);
}

/* ========== 基本設定 ========== */
ul {
    padding-left: 0;
}

.wp-block-list>li {
    margin-left: 1.25em;
}

.wp-block-list>li::marker {
    color: var(--accent-color);
}

.p_rel {
    position: relative;
}

.inline_b {
    display: inline-block;
}

.pc_none {
    display: none;
}

/* ========== 共通設定 ========== */
body {
    font-weight: 500;
}

/* 見出し */
.section_heading {
    font-family: var(--font-family_heading);
    font-size: 2rem;
    margin-bottom: var(--_margin2);
}

/* ボタン */
.smb-btn:is(:active, :focus, :hover) {
    filter: brightness(1.0);
}

.smb-buttons {
    margin-top: var(--_margin2);
}

.smb-btn-wrapper:not(.is-style-snow-monkey-143790) .smb-btn {
    padding-block: 1rem;
    padding-inline: 0.75rem 1.5rem;
    border-radius: 1000px;
}

.smb-btn__label:has(.fa-angle-right) {
    display: flex;
    align-items: center;
    gap: 1rem;
    justify-content: space-between;
    width: 100%;
}

.smb-btn__label .fa-angle-right {
    color: var(--accent-color);
    background-color: var(--_global--background-color);
    padding: 8px;
    aspect-ratio: 1;
    border-radius: 50%;
}

/* テーブル */
table,
tbody {
    display: block;
    width: 100%;
}

.wp-block-table tr {
    display: flex;
    flex-wrap: wrap;
}

.wp-block-table td,
.wp-block-table th {
    border: none;
}

.wp-block-table tr td {
    display: block;
    padding-block: 1.25rem;
}

.wp-block-table tr td:first-child {
    width: 30%;
    color: var(--dark-accent-color);
    vertical-align: middle;
    padding-inline: 0.5rem;
}

.wp-block-table tr td:last-child {
    width: 70%;
    border-bottom: dashed 2px var(--accent-color);
}

.wp-block-table a[href^="tel:"] {
    color: inherit;
    text-decoration: none;
    pointer-events: none;
}

/* 投稿 */
.c-meta__item--author,
.c-meta__item--modified {
    display: none;
}

.c-entry-summary__term {
    font-size: 0.875rem !important;
}

.c-entries--simple,
.c-entries--text,
.c-entries--text2 {
    border-top: none;
}

.c-entries--simple .c-entries__item,
.c-entries--text .c-entries__item,
.c-entries--text2 .c-entries__item {
    border-color: var(--light-accent-color);
}


/* 投稿（テキスト） */
.c-entries--text .c-entry-summary__title {
    font-weight: 700;
}

.c-entries--text .c-entry-summary__meta {
    font-weight: 700;
}

/* ヘッダー */
.l-header--sticky-lg {
    box-shadow: none;
}

/* ロゴ */
header .l-1row-header__branding {
    padding-block: 0;
}

header .c-site-branding__title {
    line-height: 1;
    padding-block: 10px;
}

header .c-site-branding__title>a.custom-logo-link {
    display: block;
    width: clamp(180px, calc(151.42857142857142px + 8.928571428571429vw), 280px);
}

header .c-site-branding__title>a.custom-logo-link>img {
    width: 100%;
}

/* グローバルナビ */
.p-global-nav .c-navbar__item>a {
    padding-block: 0.5rem;
    padding-inline: 1.25rem;
}

.p-global-nav .c-navbar__item>a>span {
    gap: 0.5rem;
}

.p-global-nav .g_nav__contact {
    margin-left: 1.25rem;
}

.p-global-nav .g_nav__contact>a {
    color: var(--_global--background-color);
    background-color: var(--sub-accent-color);
    border-radius: 1000px;
    padding-inline: 0.5rem 1rem;
}

.p-global-nav .g_nav__contact>a .svg-inline--fa {
    color: var(--sub-accent-color);
    background-color: var(--_global--background-color);
    padding: 0.5rem;
    border-radius: 50%;
}

.c-navbar__item:has(>.c-navbar__submenu) a span::after {
    content: "";
    display: block;
    width: 0.5rem;
    height: 0.5rem;
    border-top: solid 3px currentColor;
    border-right: solid 3px currentColor;
    rotate: 135deg;
    transition: all var(--_global--transition-duration) ease-in-out;
}

.c-navbar__item:has(>.c-navbar__submenu) a:hover span::after {
    rotate: 315deg;
}

/* ハンバーガーメニュー */
.c-hamburger-btn__bar {
    height: 2px;
}

.c-hamburger-btn__label {
    font-family: var(--font-family_heading);
}

/* ドロワーメニュー */
.c-drawer {
    background: var(--color_orange);
}

#menu-d_nav {
    padding-top: 64px;
}

#menu-d_sub {
    display: flex;
    gap: var(--_padding-1);
    font-size: 1.5rem;
}

#menu-d_nav .c-drawer__item {
    border-bottom: dashed 1px currentColor;
}

.c-drawer__item>a {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

/* フッター */
.l-footer {
    border-color: var(--accent-color);
    position: relative;
}

.l-footer::before {
    content: "";
    display: block;
    width: 100%;
    aspect-ratio: 10 / 1;
    background: url("/wp-content/uploads/2025/12/footer_deco.png") no-repeat center center / cover;
    position: absolute;
    left: 50%;
    bottom: 0;
    translate: -50% 0;
    z-index: -1;
    opacity: 0.5;
}

.l-footer .c-row__col {
    margin-bottom: 0;
}

.l-footer .c-widget {
    font-size: inherit;
}

.footer__column {
    margin-top: var(--_margin1);
}

.footer__sns {
    font-size: 2rem;
}

.footer__sns a {
    color: inherit;
    text-decoration: none;
}

#menu-f_nav {
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--_margin1)/ 2) var(--_margin2);
}

#menu-f_nav .menu-item {
    margin-top: 0;
}

#menu-f_nav .menu-item::before {
    content: "";
    display: inline-block;
    height: 0.75rem;
    aspect-ratio: cos(30deg);
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    background: var(--accent-color);
    margin-right: 0.5rem;
}

.footer__btns .wp-block-button__link {
    font-size: 1.125rem;
    background: var(--sub-accent-color);
    display: flex;
    align-items: center;
    gap: 8px;
    border-radius: 1000px;
    padding-inline: 0.75rem 1.5rem;
    min-width: 198px;
}

.footer__btns .svg-inline--fa {
    color: var(--sub-accent-color);
    background: var(--_global--background-color);
    aspect-ratio: 1;
    padding: 8px;
    border-radius: 50%;
}

.footer__go-top {
    position: absolute;
    right: inherit;
    bottom: 20px;
    right: 35px;
    width: max(5%, 56px);
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 999;
}

.footer__go-top::after {
    content: "Go Top";
    font-family: var(--font-family_heading);
    text-align: center;
    width: 100%;
}

.c-copyright--inverse {
    color: inherit;
    background-color: transparent;
}

/* ========== パターン ========== */
/* pattern_cta */
.pattern_cta {
    padding-top: calc(var(--_padding3) / 2);
}

.pattern_cta__wrapper {
    padding-top: var(--_margin4);
}

.pattern_cta__inner {
    background-color: var(--accent-color);
    border-radius: var(--border-radius_l);
    padding-inline: var(--_margin2);
    padding-block: var(--_margin2);
}

.pattern_cta__inner::before {
    content: "";
    display: block;
    width: max(14.516%, 120px);
    aspect-ratio: 173 / 115;
    background: url("/wp-content/uploads/2025/11/deco_people.png") no-repeat center center / cover;
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% -85%;
}

.pattern_cta__heading {
    font-size: var(--font-size_l);
    font-weight: 900;
    line-height: 1;
}

.pattern_cta__lead {
    font-size: var(--font-size_s);
}

.pattern_cta__btns {
    margin-top: var(--_margin2);
}

.pattern_cta__btns .wp-block-button {
    flex: 1;
    container-type: inline-size;
}

.pattern_cta__btns .wp-block-button__link {
    color: var(--_color-text);
    font-size: min(7.5cqw, 1.25rem);
    padding-block: var(--_margin1);
    padding-inline: var(--_padding-2);
    background-color: var(--_global--background-color);
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.pattern_cta__btns .svg-inline--fa {
    font-size: 1.333em;
}

/* pattern_message */
.pattern_message__copy {
    font-size: var(--font-size_ms);
    padding-bottom: 0.5rem;
    border-bottom: dashed 4px var(--accent-color);
}

/* ========== HOME ========== */
/* LINEリンク */
.home_line-link {
    position: fixed;
    top: 33%;
    right: 0;
    transform: translateY(-50%);
    z-index: 9999;
    width: max-content;
    pointer-events: auto;
}

.home_line-link__wrapper {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    display: flex;
}

.home_line-link__wrapper>a {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--_global--background-color);
    font-size: 1.25rem;
    text-decoration: none;
    background-color: var(--color_line);
    padding-block: 0.5rem;
    padding-inline: 0.75rem;
    border-radius: 10px 0 0 10px;
    white-space: nowrap;
}

.home_line-link__wrapper .fa-line {
    display: grid;
    place-items: center;
    color: var(--color_line);
    padding: 0.5rem;
    background-color: var(--_global--background-color);
    border-radius: 50%;
}

/* home_hero */
.home_hero {
    align-items: start;
    aspect-ratio: 1440 / 710;
}

.home_hero::before {
    content: "";
    display: block;
    width: 100%;
    height: 50%;
    background-color: var(--lighter-accent-color);
    position: absolute;
    left: 0;
    bottom: 0;
}

.home_hero::after {
    content: "";
    display: block;
    width: 13.889%;
    aspect-ratio: 20 / 11;
    background: url("/wp-content/uploads/2025/12/mv_flower.png") no-repeat center center / cover;
    position: absolute;
    right: 24px;
    bottom: 12px;
}

.home_hero :is(.smb-section__inner, .c-container--no-padding, .smb-section__contents-wrapper, .smb-section__body) {
    height: 100%;
}

.home_hero__container {
    height: 50%;
    display: flex;
    align-items: center;
}

.home_hero__copy {
    font-weight: 900;
    font-size: clamp(2rem, calc(1.0208681135225377rem + 2.003338898163606vw), 3.5rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
}

.home_hero__copy--color {
    color: var(--accent-color);
    font-size: 1.167em;
}

.home_hero__list {
    color: var(--color_orange);
    font-size: 1.25rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0 var(--_margin1);
}

.home_hero__list li {
    margin: 0;
    list-style: none;
}

.home_hero__kids {
    width: 20.547%;
}

.home_hero__image {
    position: absolute;
}

.home_hero__image.--image1 {
    bottom: 15.775%;
    left: 0;
    translate: -2% 0;
    rotate: 10deg;
    width: 35.764%;
}

.home_hero__image.--image2 {
    bottom: 15.211%;
    left: 50%;
    translate: -50% 0;
    rotate: -12deg;
    width: 40.667%;
    z-index: 2;
}

.home_hero__image.--image3 {
    bottom: 4.789%;
    right: 0;
    rotate: 10deg;
    width: 36.597%;
    translate: 10% 0;
}

/* home_hero-btn */
.home_hero-btn {
    padding: 32px;
    background-color: var(--_global--background-color);
    clip-path: polygon(9% 5%, 90% 0, 100% 35%, 91% 86%, 18% 100%, 0% 82%, 1% 32%);
    position: absolute;
    bottom: 22px;
    left: 32px;
    z-index: 2;
}

.home_hero-btn__inner {
    gap: calc(var(--_margin1) / 2);
}

.home_hero-btn__car {
    width: 80px;
}

.home_hero-btn__copy {
    font-size: 1.25rem;
    font-weight: 900;
}

.home_hero-btn__lead {
    gap: calc(var(--_margin1) / 2);
}

.home_hero-btn .svg-inline--fa {
    color: var(--_global--background-color);
    background-color: var(--accent-color);
    padding: 2px;
    aspect-ratio: 1;
    border-radius: 50%;
}

/* home_banner */
.home_banner {
    background-color: var(--light-sub-accent-color);
    max-width: 960px;
}

.home_banner__wrap {
    background-color: var(--_global--background-color);
    padding-block: var(--_margin2);
    padding-inline: var(--_padding-1);
    border-radius: var(--border-radius_m);
}

.home_banner__content {
    flex-grow: 1;
    position: relative;
}

.home_banner__content::before {
    content: "";
    display: block;
    background: url("/wp-content/uploads/2025/12/deco_kids1.png") no-repeat center center / cover;
    width: 22%;
    aspect-ratio: 28 / 33;
    position: absolute;
    top: 0;
    left: 0;
    translate: -56% -70%;
}

.home_banner__content::after {
    content: "";
    display: block;
    background: url("/wp-content/uploads/2025/12/deco_kids2.png") no-repeat center center / cover;
    width: 22%;
    aspect-ratio: 4 / 5;
    position: absolute;
    bottom: 0;
    right: 0;
    translate: 0% 61%;
}

.home_banner__text {
    font-size: var(--font-size_ms);
}

.home_banner__action {
    color: var(--_global--background-color);
    background: var(--sub-accent-color);
    padding-block: 1rem;
    padding-inline: 0.75rem 1.5rem;
    border-radius: 1000px;
}

.home_banner__action .svg-inline--fa {
    color: var(--sub-accent-color);
    background-color: var(--_global--background-color);
    padding: 8px;
    aspect-ratio: 1;
    border-radius: 50%;
}

/* home_about */
.home_about {
    padding-top: var(--_margin4);
    padding-bottom: calc(var(--_padding3) / 2);
}

.home_about .smb-section__divider path {
    fill: var(--lighter-accent-color);
}

.home_about__wrap::before {
    content: "";
    display: block;
    position: absolute;
    width: 16%;
    aspect-ratio: 1;
    background: url(/wp-content/uploads/2025/12/deco_sun.png) no-repeat center center / cover;
    top: 0;
    right: 0;
    translate: -100% -50%;
}

.home_about__wrap::after {
    content: "";
    display: block;
    position: absolute;
    width: 15%;
    aspect-ratio: 2/1;
    background: url("/wp-content/uploads/2025/12/deco_butterfly.png") no-repeat center center / cover;
    left: 0;
    bottom: 0;
    translate: 114% 0;
}

.home_about__circle {
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 60%;
    z-index: -1;
    animation: Rotate 20s linear infinite;
}

@keyframes Rotate {
    0% {
        rotate: 0deg;
    }

    100% {
        rotate: 365deg;
    }
}

.home_about__copy {
    font-size: var(--font-size_l);
    font-weight: 900;
}

.home_about__text {
    max-width: 26.5rem;
    line-height: 2.5;
    padding-bottom: 96px;
}

.home_about__text::after {
    content: "";
    display: block;
    width: 45%;
    aspect-ratio: 97/48;
    background: url("/wp-content/uploads/2025/11/home-about_child.png") no-repeat center center / cover;
    position: absolute;
    right: 0;
    bottom: 0;
}

.home_about__slider {
    margin-top: var(--_margin3);
}

.home_about__slider .spider__slide:nth-child(even) {
    margin-top: var(--_margin2);
}

.home_about__slider .smb-spider-slider__figure-wrapper {
    border-radius: var(--border-radius_m);
}

/* home_service */
.home_service {
    background-color: var(--lighter-accent-color);
}

.home_service__column:nth-child(n+2) {
    margin-top: var(--spacing_l);
}

.home_service__heading-cover {
    display: grid;
    justify-content: center;
}

.home_service__heading {
    font-size: var(--font-size_m);
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}

.home_service__body {
    background-color: var(--_global--background-color);
    padding-inline: 2%;
    padding-block: 80px 2%;
    border-radius: var(--border-radius_l);
    position: relative;
}

.home_service__body::before,
.home_service__body::after {
    content: "";
    display: block;
    position: absolute;
}

.home_service__body::before {
    width: 21.321%;
    aspect-ratio: 113 / 34;
    background: url("/wp-content/uploads/2025/12/deco_kazaguruma.png") no-repeat center center / cover;
    top: var(--_margin1);
}

:where(.is-jihatsu) .home_service__body::before {
    left: var(--_margin1);
}

:where(.is-jihatsu) .home_service__body::after {
    width: 15.566%;
    aspect-ratio: 83/46;
    background: url("/wp-content/uploads/2025/12/deco_bird.png") no-repeat center center / cover;
    right: 16px;
    bottom: 16px;
}

:where(.is-houdei) .home_service__body::before {
    right: var(--_margin1);
}

:where(.is-houdei) .home_service__body::after {
    width: 11.509%;
    aspect-ratio: 61/97;
    background: url("/wp-content/uploads/2025/12/deco_robo.png") center center / cover;
    left: 16px;
    bottom: 16px;
}

.home_service__image {
    padding-bottom: 56px;
    flex: 1;
}

.home_service__image img {
    border-radius: var(--border-radius_m);
}

.home_service__content {
    flex: 1;
    align-self: flex-end;
    padding: 8px;
    background-color: var(--_global--background-color);
    border-radius: var(--border-radius_m);
}

:where(.home_service__column:nth-child(odd)) .home_service__content {
    margin-right: calc(var(--_margin3) * -1) !important;
}

:where(.home_service__column:nth-child(even)) .home_service__content {
    margin-left: calc(var(--_margin3) * -1) !important;
}

.home_service__text {
    line-height: 2;
}

/* home_feature */
.home_feature {
    padding-top: calc(var(--_margin4) + 56px);
}

.home_feature .smb-section__divider path {
    fill: var(--lighter-accent-color);
}

.home_fature__content {
    padding-block: var(--_margin1);
    padding-inline: var(--_margin1);
}

.home_feature__sub-heading {
    border-bottom: dashed 4px var(--accent-color);
    padding-bottom: 0.5rem;
}

.home_feature__image-cover {
    position: relative;
}

.home_feature__image-cover::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -20px;
}

:where(.home_fature__column:nth-child(1)) .home_feature__image-cover::after {
    background: url("/wp-content/uploads/2025/12/feature_deco1.png") no-repeat center center / cover;
    width: 30%;
    aspect-ratio: 25/17;
    left: -5%;
}

:where(.home_fature__column:nth-child(2)) .home_feature__image-cover::after {
    background: url("/wp-content/uploads/2025/12/feature_deco2.png") no-repeat center center / cover;
    width: 28.870%;
    aspect-ratio: 59/42;
    right: -5%;
}

:where(.home_fature__column:nth-child(3)) .home_feature__image-cover::after {
    background: url("/wp-content/uploads/2025/12/feature_deco3.png") no-repeat center center / cover;
    width: 25.25%;
    aspect-ratio: 233/217;
    left: -5%;
}


/* home_message */
.home_message {
    padding-bottom: calc(var(--_padding3) * 2);
}

.home_message__btns {
    margin-top: var(--_margin1);
}

/* home_recruit */
.home_recruit {
    background-color: var(--lighter-accent-color);
    border-radius: 0 1000px 1000px 0;
}

.home_recruit .smb-section__body::before,
.home_recruit .smb-section__body::after {
    content: "";
    display: block;
    position: absolute;
}

.home_recruit .smb-section__body::before {
    background: url("/wp-content/uploads/2025/12/deco_flower.png") no-repeat center center / cover;
    width: max(84px, 15.833%);
    aspect-ratio: 60 / 31;
    top: 0;
    right: 0;
    translate: -45% -65%;
}

.home_recruit .smb-section__body::after {
    background: url("/wp-content/uploads/2025/12/deco_flower2.png") no-repeat center center / cover;
    width: max(60px, 10.889%);
    aspect-ratio: 200/157;
    bottom: 0;
    left: 0;
    translate: 0 80%;
}

.home_recruit__image img {
    border-radius: var(--border-radius_l);
}

.home_recruit__copy {
    font-size: var(--font-size_m);
    font-weight: 900;
    display: flex;
    align-items: center;
    gap: calc(var(--_margin1) / 2);
}

.home_recruit__copy::before {
    content: "";
    display: block;
    width: 3em;
    aspect-ratio: 29/25;
    background: url("/wp-content/uploads/2025/12/deco_people2.png") no-repeat center center / cover;
}

.home_recruit__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0 var(--_margin1);
}

.home_recruit__list li {
    margin-top: 0;
}

/* home_blog */
.home_blog {
    padding-top: calc(var(--_padding3) * 2);
}

.home_blog .smb-recent-posts>p {
    text-align: center;
}

.home_blog .c-entry-summary__meta {
    margin-top: 0;
    justify-content: flex-start;
}

/* home_news */
.home_news {
    padding-block: calc(var(--_padding3) / 2);
}

/* ========== 下層ページ ========== */
body.page .l-contents__inner {
    padding-bottom: 0;
    margin-top: 0;
}

/* 下層ページヘッダー */
.c-page-header__bgimage {
    position: relative;
    inset: initial;
    flex-basis: 65%;
    align-self: stretch;
}

.c-page-header__bgimage>img,
.c-page-header__bgimage>picture>img {
    position: relative;
    inset: initial;
}

.c-page-header {
    flex-direction: row-reverse;
}

.c-page-header[data-has-image=true] {
    padding: 0;
}

.c-page-header[data-has-image=true] .c-page-header__content {
    color: unset;
}

.c-page-header__title {
    font-weight: 900;
}

/* ========== つみKidsについて ========== */
/* compnay_concept */
.company_concept__wrap {
    padding-block: var(--_padding2);
}

.compnay_concept__copy {
    font-size: var(--font-size_l);
    font-weight: 900;
}

.compnay_concept__lead {
    font-size: 1.125rem;
    line-height: 2;
}

.compnay_concept__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--_margin1);
}

.compnay_concept__list li {
    list-style: none;
    text-align: center;
    margin-left: 0;
    margin-top: 0;
    font-size: var(--font-size_s);
    aspect-ratio: 1;
    min-width: 5rem;
    display: grid;
    place-items: center;
    padding: 48px;
}

.compnay_concept__list li:nth-child(1) {
    background: url("/wp-content/uploads/2025/12/concept_1.png") no-repeat center center / contain;
}

.compnay_concept__list li:nth-child(2) {
    background: url("/wp-content/uploads/2025/12/concept_2.png") no-repeat center center / contain;
}

.compnay_concept__list li:nth-child(3) {
    background: url("/wp-content/uploads/2025/12/concept_3.png") no-repeat center center / contain;
}

.company_concept__images {
    position: absolute;
    inset: 0;
    height: 100%;
    z-index: -1;
}

.company_concept__image:nth-child(1) {
    width: 20%;
}

.company_concept__image:nth-child(2) {
    width: 20%;
    align-self: flex-end;
}

.company_concept__image img {
    border-radius: var(--border-radius_l);
}

/* compnay_profile */
.compnay_profile__map-cover>div {
    height: 100%;
}

/* company_overview */
.company_overview {
    background-color: var(--lighter-accent-color);
}

.company_overview__inner {
    padding-block: var(--_margin2);
    padding-inline: var(--_margin1);
    background-color: var(--_global--background-color);
    border: solid 2px var(--accent-color);
    border-radius: var(--border-radius_l);
}

.company_overview__table {
    max-width: 960px;
}

/* ========== スタッフ紹介 ========== */
/* member_introduction */
.member_introduction {
    background-color: var(--lighter-accent-color);
    padding-top: calc(var(--_padding3) * 2);
}

.member_introduction .smb-section__divider--top path {
    fill: var(--_global--background-color);
}

.member_introduction__heading {
    font-size: var(--font-size_m);
    font-weight: 900;
}

.member_introduction__heading .color {
    color: var(--color_orange);
}

.member_introduction__text {
    line-height: 2;
}

.member_introduction__grid {
    margin-top: var(--_margin3);
}

.member_introduction__item {
    grid-template-rows: subgrid;
    grid-row: span 4;
    background: var(--_global--background-color);
    border-radius: var(--border-radius_l);
    padding-block: var(--_margin2);
    padding-inline: var(--_margin1);
}

.member_introduction__image {
    width: 50%;
    justify-self: center;
}

.member_introduction__name {
    font-size: var(--font-size_s);
    font-weight: 900;
}

.member_introduction__license-heading {
    color: var(--dark-accent-color);
    flex-basis: 30%;
}

/* ========== サービス ========== */
/* service_intro */
.service_intro__lists {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: var(--_margin2);
    row-gap: var(--_padding-2);
}

.service_intro__lists li {
    list-style: none;
    margin: 0;
    position: relative;
}

.service_intro__lists li:not(:last-child)::after {
    content: "";
    display: block;
    width: 2px;
    height: 1rem;
    background-color: currentColor;
    position: absolute;
    right: 0;
    top: 50%;
    translate: 0 -50%;
}

.service_intro__lists a {
    color: inherit;
    text-decoration: none;
    padding-inline: var(--_margin1);
    display: flex;
    align-items: center;
    gap: var(--_padding-2);
}

.service_intro__lists a::before {
    content: "";
    display: block;
    --r: 2px;
    width: 1rem;
    aspect-ratio: 1/cos(30deg);
    --_g: calc(tan(60deg)*var(--r)) top var(--r), #000 98%, #0000 101%;
    -webkit-mask:
        conic-gradient(from 150deg at 50% calc(3*var(--r)/2 - 100%), #000 60deg, #0000 0) 0 0/100% calc(100% - 3*var(--r)/2) no-repeat,
        radial-gradient(var(--r) at 50% calc(100% - 2*var(--r)), #000 98%, #0000 101%),
        radial-gradient(var(--r) at left var(--_g)),
        radial-gradient(var(--r) at right var(--_g));
    clip-path: polygon(50% 100%, 100% 0, 0 0);
    background: var(--accent-color);
}

/* service_services */
.service_services__wrap {
    padding-block: var(--_padding3);
}

.service_services__header {
    display: flex;
    justify-content: center;
}

.service_services__heading {
    font-size: var(--font-size_m);
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}

.service_services__heading-deco {
    width: 66.667%;
}

/* service_treatment */
.service_treatment {
    background-color: var(--light-accent-color);
    border-radius: var(--border-radius_l);
    padding-block: var(--_margin2);
    padding-inline: var(--_margin1);
    margin-top: var(--_margin2);
}

.service_treatment__slider .spider>.spider__arrows {
    top: auto;
    bottom: calc(var(--_padding-2) * -1);
    translate: 0 100%;
}

.service_treatment__slider .spider__arrow {
    border-radius: 50%;
    background-color: var(--color_orange);
}

.spider__arrow[data-direction=prev]:before,
.spider__arrow[data-direction=next]:before {
    border-width: 2px;
}

.service_treatment__slider .spider__dots:not([data-thumbnails=true]) .spider__dot {
    background-color: var(--_global--background-color);
}

.service_treatment__slider .spider__dots:not([data-thumbnails=true]) .spider__dot[aria-current=true] {
    background-color: var(--color_orange);
}

.service_treatment__slider-inner {
    background-color: var(--_global--background-color) !important;
    border: dashed 4px var(--accent-color);
    padding: var(--_margin1);
    height: 100%;
    border-radius: var(--border-radius_m);
}

.service_treatment__sub-heading {
    margin-bottom: calc(var(--_margin1) / 2);
}

/* service_schedule */
.service_schedule__item {
    background-color: var(--lighter-accent-color);
    border-radius: var(--border-radius_m);
    padding-inline: var(--_padding-2);
    padding-block: var(--_margin1);
    flex-basis: 25%;
    position: relative;
}

.service_schedule__item:not(:last-child)::after {
    content: "";
    display: block;
    --r: 2px;
    height: 1rem;
    aspect-ratio: cos(30deg);
    --_g: calc(tan(60deg)*var(--r)) left var(--r), #000 98%, #0000 101%;
    -webkit-mask:
        conic-gradient(from 60deg at calc(3*var(--r)/2 - 100%), #000 60deg, #0000 0) 0 0/calc(100% - 3*var(--r)/2) 100% no-repeat,
        radial-gradient(var(--r) at calc(100% - 2*var(--r)) 50%, #000 98%, #0000 101%),
        radial-gradient(var(--r) at top var(--_g)),
        radial-gradient(var(--r) at bottom var(--_g));
    clip-path: polygon(100% 50%, 0 100%, 0 0);
    background: var(--accent-color);
    position: absolute;
    right: 0;
    top: 50%;
    translate: calc(50% + var(--_margin1) / 2) -50%;
}

.service_schedule__title {
    font-weight: 900;
    font-size: 1.125rem;
    padding-bottom: 1.25rem;
    border-bottom: dashed 4px var(--accent-color);
}

.service_schedule__text {
    padding-top: 1.25rem;
}

/* service_sub-service */
.service_sub-service {
    background-color: var(--lighter-accent-color);
}

.service_sub-service__column {
    background-color: var(--_global--background-color);
    padding-inline: var(--_margin1);
    padding-block: var(--_margin2);
    border-radius: var(--border-radius_l);
    border: solid 2px var(--accent-color);
}

.service_sub-service__heading {
    font-size: var(--font-size_ms);
}

.service_sub-service__image img {
    border-radius: var(--border-radius_m);
}

/* service_flow */
.service_flow__steps .smb-step__item__title {
    font-size: var(--font-size_s);
}

.service_flow__steps .smb-step__item__number {
    font-weight: 900;
    background-color: var(--accent-color);
}

.service_flow__btns .wp-block-button__link {
    color: var(--_global--background-color);
    background-color: var(--sub-accent-color);
}

/* service_access */
.service_access__column {
    background-color: var(--light-accent-color);
    border-radius: var(--border-radius_l);
    padding-block: var(--_margin2);
    padding-inline: min(5%, var(--_margin1));
    margin-top: var(--_margin2);
}

.service_access__sub-heading {
    gap: calc(var(--_margin1) / 2);
}

.service_access__sub-heading-image {
    width: 3.5rem;
    background: var(--_global--background-color);
    padding: 8px;
    aspect-ratio: 1;
    border-radius: 50%;
    display: grid;
    place-items: center;
}

.service_access__table-cover {
    background-color: var(--_global--background-color);
    border-radius: var(--border-radius_m);
    padding-block: var(--_margin2);
    padding-inline: min(5%, var(--_margin1));
}

/* ========== 採用情報 ========== */
/* recruit_intro */
.recruit_intro__heading {
    font-size: var(--font-size_m);
}

.recruit_intro__heading .color {
    color: var(--color_orange);
}

.recruit_intro__lists {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: var(--_margin2);
    gap: var(--_padding-2) 0;
}

.recruit_intro__lists li {
    list-style: none;
    margin: 0;
    position: relative;
}

.recruit_intro__lists li:not(:last-child)::after {
    content: "";
    display: block;
    width: 2px;
    height: 1rem;
    background-color: currentColor;
    position: absolute;
    right: 0;
    top: 50%;
    translate: 0 -50%;
}

.recruit_intro__lists a {
    color: inherit;
    text-decoration: none;
    padding-inline: var(--_margin1);
    display: flex;
    align-items: center;
    gap: var(--_padding-2);
}

.recruit_intro__lists a::before {
    content: "";
    display: block;
    --r: 2px;
    width: 1rem;
    aspect-ratio: 1/cos(30deg);
    --_g: calc(tan(60deg)*var(--r)) top var(--r), #000 98%, #0000 101%;
    -webkit-mask:
        conic-gradient(from 150deg at 50% calc(3*var(--r)/2 - 100%), #000 60deg, #0000 0) 0 0/100% calc(100% - 3*var(--r)/2) no-repeat,
        radial-gradient(var(--r) at 50% calc(100% - 2*var(--r)), #000 98%, #0000 101%),
        radial-gradient(var(--r) at left var(--_g)),
        radial-gradient(var(--r) at right var(--_g));
    clip-path: polygon(50% 100%, 100% 0, 0 0);
    background: var(--accent-color);
}

/* recruit_job */
.recruit_job {
    background-color: var(--lighter-accent-color);
    padding-bottom: calc(var(--_padding3) * 2);
}

.recruit_job .smb-section__divider path {
    fill: var(--_global--background-color);
}

.recruit_job__item {
    padding-block: var(--_padding3);
}

.recruit_job__heading-deco {
    width: 3rem;
}

.recruit_job__table {
    background-color: var(--_global--background-color);
    padding-block: var(--_margin2);
    padding-inline: var(--_margin1);
    border-radius: var(--border-radius_l);
}

/* ========== お問い合わせ ========== */
/* お問い合わせフォーム */
#autozip {
    display: none !important;
}

.smf-control-description a[href^="tel:"] {
    color: inherit;
    text-decoration: none;
    pointer-events: none;
}

.smf-form--business .smf-item {
    border-color: var(--accent-color);
}

.smf-form--business .smf-item__col--label {
    background-color: var(--lighter-accent-color);
    border-color: var(--accent-color);
}

.smf-item__description {
    color: var(--color_orange);
    width: fit-content;
    padding-inline: 4px;
}

/* プログレスバー */
[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-text);
    font-weight: 700;
    font-family: inherit;
    background-color: var(--accent-color);
    border: 2px solid var(--accent-color);
    width: 100%;
    max-width: 400px;
    padding-block: 1rem;
    background-image: none;
}

/* 戻るボタン */
.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;
}

/* ========== CMS ========== */
.p-related-posts .c-entry-summary__meta {
    margin-top: 0;
    justify-content: flex-start;
}

.single .p-entry-content>:where(p:not(:first-child)) {
    margin-top: 0.5rem;
}

.single .p-entry-content>:where(*:not(p) + p) {
    margin-top: calc(var(--_margin1) * var(--_margin-top));
}

.single .smb-contents-outline {
    margin-top: var(--_margin2);
}

.wpco .contents-outline li:not(:first-child),
.wpco .contents-outline ol {
    border: none;
}

.wpco .contents-outline > ol > li {
    padding-block: 1rem;
}
.wpco .contents-outline > ol > li > a {
    font-weight: 700;
}

.wpco .contents-outline li li>a {
    padding-left: 2.25em;
    font-size: max(0.9em, 0.8125rem);
}

.wpco .contents-outline li li>a:before {
    display: none;
}

.single h2.wp-block-heading {
    padding-bottom: 0.25rem;
    border-bottom: 3px dashed var(--accent-color);
}

.single .wp-block-separator {
    margin-top: var(--_margin2);
    color: var(--lighter-accent-color);
}

/* ========== プライバシーポリシー ========== */
.privacy-policy li {
    list-style: inherit;
}


/* ~~~~~~~~~~~~~~~~~~~~ large-size ~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 1023px) {

    /* ========== HOME ========== */
    .l-front-page-widget-area {
        display: none;
    }

    /* home_recruit */
    .home_recruit__copy::before {
        display: none;
    }

    /* home_blog */
    .home_blog .c-entries {
        --entries--item-width: 33.33333%;
    }
}

@media screen and (orientation: portrait) and (max-width: 1023px) {

    /* ヘッダー */
    .l-header {
        background-color: transparent;
    }

    /* フッター */
    .l-footer--default .l-footer-widget-area {
        padding-bottom: 60px;
        position: relative;
    }

    .footer__go-top {
        bottom: 0;
    }

    .l-footer--default .c-copyright {
        text-align: left;
    }

    /* ========== HOME ========== */
    /* home_line-link */
    .home_line-link {
        inset: auto;
        bottom: 0;
        right: 12px;
        translate: 0 25%;
    }

    .home_line-link__wrapper {
        -ms-writing-mode: inherit;
        writing-mode: inherit;
    }

    .home_line-link__wrapper>a {
        font-size: 0.875rem;
        border-radius: 4px;
    }

    .home_line-link__wrapper .fa-line {
        padding: 0.25rem;
    }

    /* home_hero */
    .home_hero {
        aspect-ratio: 3/4;
    }

    .home_hero::before {
        height: 67%;
    }

    .home_hero__container {
        height: 33%;
    }

    .home_hero__copy {
        font-size: clamp(1.25rem, calc(0.4545454545454546rem + 3.977272727272727vw), 3rem);
    }

    .home_hero__list {
        flex-direction: column;
        font-size: clamp(0.875rem, calc(0.5909090909090909rem + 1.4204545454545454vw), 1.5rem);
    }

    .home_hero__image.--image1 {
        inset: auto;
        rotate: -10deg;
        width: 65%;
        top: 45%;
        left: 0;
    }

    .home_hero__image.--image2 {
        inset: auto;
        right: 0;
        rotate: 8deg;
        width: 72%;
        bottom: 15%;
        translate: 6% 0;
    }

    .home_hero__image.--image3 {
        inset: auto;
        top: 6%;
        right: 0;
        width: 60%;
    }

    .home_hero__kids {
        width: 30%;
    }

    .home_hero-btn {
        width: 95%;
        left: 50%;
        translate: -50% 0;
        bottom: 5%;
    }

    .home_hero-btn__inner {
        justify-content: center;
    }
}

/* ~~~~~~~~~~~~~~~~~~~~ medium-size ~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 781px) {

    /* ボタン */
    .wp-block-snow-monkey-blocks-buttons {
        justify-content: center !important;
    }

    /* ========== パターン ========== */
    /* pattern_message */
    .pattern_message {
        flex-direction: column-reverse;
    }

    .pattern_message__image {
        max-width: 400px;
    }

    /* ========== HOME ========== */
    /* home_banner */
    .home_banner {
        padding: 12px;
    }

    .home_banner__wrap {
        flex-direction: column;
    }

    .home_banner__content {
        width: 100%;
    }

    .home_banner__content::before {
        width: min(33%, 110px);
        translate: -43% -70%;
    }

    .home_banner__content::after {
        width: min(35%, 114px);
        translate: 54% 25%;
    }

    /* home_about */
    .home_about__column-inner.is-copy {
        padding-block: 96px;
    }

    .home_about__column-inner.is-copy::before {
        top: 0;
        right: 0;
        translate: 0 -30%;
    }

    .home_about__column-inner.is-copy::after {
        bottom: 0;
    }

    .home_about__circle {
        max-width: 400px;
    }

    .home_about__column-inner {
        padding-bottom: 96px;
    }

    .home_about__column-inner.is-text::after {
        width: 160px;
    }

    /* home_service */
    .home_service__heading {
        -ms-writing-mode: inherit;
        writing-mode: inherit;
    }

    .home_service__column:nth-child(even) {
        flex-direction: column-reverse;
    }

    :where(.home_service__column:nth-child(odd)) .home_service__inner {
        flex-direction: column-reverse;
    }

    :where(.home_service__column:nth-child(even)) .home_service__inner {
        flex-direction: column;
    }

    :where(.home_service__column:nth-child(odd)) .home_service__content {
        margin-right: 0 !important;
    }

    :where(.home_service__column:nth-child(even)) .home_service__content {
        margin-left: 0 !important;
    }

    :where(.is-houdei) .home_service__body::after {
        bottom: 0;
        translate: 0 31%;
    }

    /* home_fature */
    .home_fature__column:nth-child(even) {
        flex-direction: column-reverse;
    }

    .home_fature__column:nth-child(n+2) {
        margin-top: var(--_margin3);
    }

    .home_fature__content {
        padding: 0;
    }

    :where(.home_fature__column:nth-child(1)) .home_feature__image-cover::after {
        left: -10px;
    }

    :where(.home_fature__column:nth-child(2)) .home_feature__image-cover::after {
        right: -10px;
    }

    :where(.home_fature__column:nth-child(3)) .home_feature__image-cover::after {
        left: -10px;
    }

    /* home_news */
    .home_news__header {
        display: contents;
    }

    .home_news__heading {
        order: 1;
        margin-bottom: 0;
    }

    .home_news__body {
        order: 2;
    }

    .home_news__btns {
        order: 3;
        margin-top: 0;
    }

    /* ========== 下層ページ ========== */
    /* 下層ページヘッダー */
    .c-page-header {
        flex-direction: column-reverse;
    }

    .c-page-header .c-container {
        display: grid;
        place-items: center;
    }

    /* ========== つみKidsについて ========== */
    .company_profile__map {
        height: 400px;
    }

    /* ========== サービス ========== */
    /* service_services */
    .service_services__heading-cover {
        flex-direction: column-reverse !important;
        gap: 8px;
    }

    .service_services__heading {
        -ms-writing-mode: inherit;
        writing-mode: inherit;
    }

    .service_services__heading-deco {
        width: max(12%, 72px);
    }

    /* service_sub-service */
    .service_sub-service__column:nth-child(odd) {
        flex-direction: column-reverse;
    }

    /* servie_access */
    .servie_access__content {
        flex-direction: column;
    }
}

/* ~~~~~~~~~~~~~~~~~~~~ small-size ~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 639px) {

    /* ========== 共通設定 ========== */
    /* テーブル */
    .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;
    }


    /* 投稿(シンプル)*/
    .c-entries--simple .c-entry-summary__content {
        display: block;
    }

    .c-entries--simple .c-entry-summary__figure {
        float: inherit;
        width: 100%;
        margin-bottom: 20px;
    }

    /* フッター */
    .l-footer .c-widget {
        font-size: 0.875rem;
    }

    /* ========== パターン ========== */
    .pattern_cta__btns .wp-block-button {
        flex-basis: 100%;
    }

    /* ========== HOME ========== */
    /* home_hero */
    .home_hero {
        aspect-ratio: 1/2;
    }

    .home_hero::after {
        width: 20%;
    }

    .home_hero__content {
        padding-bottom: 100px;
    }

    .home_hero__image.--image1 {
        width: 85%;
        top: 38%;
        left: 0;
    }

    .home_hero__image.--image2 {
        right: 0;
        bottom: 25%;
        width: 86%;
    }

    .home_hero__image.--image3 {
        top: 10%;
        right: 0;
    }

    .home_hero-btn {
        padding: 24px 32px;
    }

    .home_hero-btn__inner {
        flex-direction: column;
    }

    .home_hero-btn__car {
        width: 20%;
    }

    .home_hero-btn__copy {
        font-size: clamp(1rem, calc(0.5rem + 2.5vw), 1.5rem);
        align-self: center;
    }

    .home_hero-btn__lead {
        font-size: clamp(0.8125rem, calc(0.625rem + 0.9375vw), 1rem);
    }

    /* home_about */
    .home_about__wrap::before {
        width: 35%;
        translate: 0% -58%;
    }

    .home_about__wrap::after {
        width: 25%;
        translate: -7% 5%;
    }

    /* home_blog */
    .home_blog .c-entries {
        --entries--item-width: 100%;
    }

    .home_blog .c-entries__item:nth-child(even) {
        margin-top: 0;
    }

    /* ========== 下層ページ ========== */
    /* ========== つみKidsについて ========== */
    .compnay_concept__list li {
        padding: 32px;
    }

    .company_concept__images {
        position: relative;
        inset: auto;
    }

    .company_concept__image:nth-child(1) {
        width: 48%;
        margin-bottom: 48px;
    }

    .company_concept__image:nth-child(2) {
        width: 48%;
    }

    /* ========== サービス ========== */
    .service_intro__text {
        align-items: flex-start !important;
    }

    .service_intro__text>p {
        text-align: left;
    }

    .service_intro__lists {
        flex-direction: column;
    }

    .service_intro__lists li:not(:last-child)::after {
        display: none;
    }

    .service_schedule__item {
        flex-basis: 100%;
    }

    .service_schedule__item:not(:last-child)::after {
        inset: auto;
        translate: -50% calc(50% + var(--_margin1) / 2);
        bottom: 0;
        left: 50%;
        --r: 2px;
        height: auto;
        width: 1rem;
        aspect-ratio: 1/cos(30deg);
        --_g: calc(tan(60deg)*var(--r)) top var(--r), #000 98%, #0000 101%;
        -webkit-mask:
            conic-gradient(from 150deg at 50% calc(3*var(--r)/2 - 100%), #000 60deg, #0000 0) 0 0/100% calc(100% - 3*var(--r)/2) no-repeat,
            radial-gradient(var(--r) at 50% calc(100% - 2*var(--r)), #000 98%, #0000 101%),
            radial-gradient(var(--r) at left var(--_g)),
            radial-gradient(var(--r) at right var(--_g));
        clip-path: polygon(50% 100%, 100% 0, 0 0);
    }

    /* ========== 採用情報 ========== */
    .recruit_intro__lists {
        flex-direction: column;
    }

    .recruit_intro__lists li:not(:last-child)::after {
        display: none;
    }

    /* ========== お問い合わせ ========== */
    .form_thanks__text p {
        text-align: left;
    }
}