/* =====================
    common
========================= */
html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Noto Sans JP', 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.08em;
    word-break: break-word;
    color: var(--main-color);
    background-color: var(--gray-medium-color);
}

.inner {
    padding: 0 0 calc(65px + (130 - 65) * ((100vw - 320px) / (1400 - 320)));
    ;
    width: 85vw;
    max-width: var(--max-width);
    margin: auto;
}

.lead {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.333;
}

.text {
    font-size: 1em;
    line-height: 2;
}

.section {
    padding: 100px 0 0;
    min-height: 25em;
}

.wrap-bg .section {
    padding-top: 50px;
}

.section-header {
    font-size: 70px;
    font-weight: 700;
    line-height: 1;
    display: flex;
    flex-direction: column;
}

.section-header.font--sm {
    font-size: 40px;
}

.section-header .heading2 {
    font-size: 1em;
    line-height: 1.2;
}

.section-header02 {
    margin-bottom: 2em;
}

.section-header02 .heading3 {
    font-size: 22px;
    font-weight: 600;
    position: relative;
    padding-left: 25px;
    margin-bottom: 0.3em;
}

.section-header02 .heading3::before {
    content: 'ー';
    display: block;
    position: absolute;
    top: 0.6em;
    left: 0;
    color: var(--main-color);
    font-size: 20px;
    line-height: 0.5;
}

.section-header .size--sm {
    color: var(--main-color);
    font-size: 0.357em;
    font-weight: 500;
    margin-top: 1.28em;
}

.section-header.font--sm .size--sm {
    font-size: 0.525em;
    margin-top: 0.714em;
}


.btn,
.page-btn .wp-block-button__link,
.smf-action .smf-button-control__control {
    display: block;
    text-align: center;
    font-size: 14px;
    line-height: 1;
    color: var(--gray-medium-color);
    background-color: var(--main-color);
    border: 2px solid var(--main-color);
    border-radius: 3em;
    padding: calc(17px + (19 - 17) * ((100vw - 320px) / (1200 - 320)));
    max-width: 270px;
    min-width: max-content;
    transition: 0.4s ease;
    width: 100%;
    min-width: 250px;
}

@media screen and (max-width: 1024px) {
    body {
        font-size: 16px;
    }

    .section {
        padding-top: 40px;
    }

    .section-header {
        font-size: 55px;
    }

    .section-header.font--sm {
        font-size: 35px;
    }

    .lead {
        font-size: 26px;
    }

    .btn {
        font-size: 17px;
    }

}

@media screen and (max-width: 782px) {
    body {
        font-size: 14px;
    }

    .inner {
        width: 85vw;
    }

    .section-header {
        font-size: 40px;
    }


    .section-header.font--sm {
        font-size: 30px;
    }

    .section-header .size--sm {
        margin-top: 7px;
    }

    .section-header .heading2 {
        font-size: 0.85em;
    }

    .section-header02 {
        margin-bottom: 1em;
    }

    .text {
        line-height: 1.8;
    }

    .btn {
        font-size: 15px;
    }

    .page-numbers {
        font-size: 15px;
        width: 40px;
        height: 40px;
        margin: 0 0.2em;
    }
}

/* =====================
    ストーカー
========================= */
#mouse-stalker {
    pointer-events: none;
    position: fixed;
    top: -10px;
    left: -10px;
    width: 20px;
    height: 20px;
    background: rgba(0, 165, 160, 0.5);
    border-radius: 50%;
    transform: translate(0, 0);
    transition: transform 0.2s;
    transition-timing-function: ease-out;
    z-index: 999;

    &.is_active {
        top: -40px;
        left: -40px;
        width: 80px;
        height: 80px;
        transition: 0.2s;
        background: rgba(255, 200, 0, 0.5);
    }
}

@media screen and (max-width: 782px) {
    #mouse-stalker {
        display: none;
    }
}

/* =====================
    navigation
========================= */
.navigation {
    display: flex;
    justify-content: center;
    margin-top: 84px;
}

.page-numbers {
    font-size: 16px;
    color: var(--main-color);
    width: 3.125em;
    height: 3.125em;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.4s ease;
    margin: 0 0.5px;
}

.page-numbers:hover,
.page-numbers.current {
    color: var(--gray-medium-color);
    background-color: var(--main-color);
}

.page-numbers svg {
    height: calc((14 / 67) * 100%);
}

.page-numbers path {
    transition: 0.4s ease;
}

.page-numbers:hover path {
    fill: var(--gray-medium-color);
}

.page-numbers.prev svg {
    transform: scaleX(-1);
}

@media screen and (max-width: 782px) {
    .page-numbers {
        font-size: 15px;
        width: 40px;
        height: 40px;
        margin: 0 0.2em;
    }
}

/* =====================
    mainvisual
========================= */
main {
    margin-top: calc(0px + (100 - 0) * ((100vw - 320px) / (1280 - 320)));
}

.home main {
    margin-top: 0;
}

.mainvisual {
    position: relative;
}

.mvSwiper {
    position: relative;
    overflow: hidden;
}

/* FV スライド 2カラムレイアウト */
.mvSwiper__list {
    position: relative;
    min-height: calc(340px + (480 - 340) * ((100vw - 375px) / (1280 - 375)));
}

.mv-slide {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.mv-slide__inner {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    max-width: var(--max-width);
    margin: 0 auto;
    padding: calc(1.2 * (40px + (80 - 40) * ((100vw - 375px) / (1280 - 375)))) 2em calc((40px + (80 - 40) * ((100vw - 375px) / (1280 - 375))) / 2) 2em;
    gap: 0;
    min-height: calc(340px + (480 - 340) * ((100vw - 375px) / (1280 - 375)));
    box-sizing: border-box;
}

.mv-slide__text {
    flex: 0 0 50%;
    max-width: 50%;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 1s ease 0.2s, transform 1s ease 0.2s;
}

.mv-slide__title {
    font-size: calc(25px + (40 - 25) * ((100vw - 375px) / (1280 - 375)));
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.04em;
    color: var(--main-color);
    margin-bottom: .6em;
}

.mv-slide__title--sm {
    font-size: calc(18px + (28 - 18) * ((100vw - 375px) / (1280 - 375)));
}

.mv-slide__title--sm span {
    font-size: calc(22px + (36 - 22) * ((100vw - 375px) / (1280 - 375)));
}

.mv-slide__body {
    font-size: calc(12px + (16 - 12) * ((100vw - 375px) / (1280 - 375)));
    line-height: 1.8;
    color: var(--main-color);
    margin-bottom: 2em;
}

.mv-slide__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.6em;
    background-color: var(--accent-color);
    color: #fff;
    font-size: calc(13px + (16 - 13) * ((100vw - 375px) / (1280 - 375)));
    font-weight: 600;
    margin-top: 1em;
    padding: 1em 3em;
    border-radius: 2em;
    text-decoration: none;
    transition: opacity 0.3s;
    min-width: 240px;
    justify-content: center;
}

.mv-slide__btn:hover {
    opacity: 0.8;
}

.mv-slide__btn--dark {
    background-color: var(--main-color);
}

.mv-slide__btn-icon {
    font-size: 1.1em;
}

.mv-slide__img {
    flex: 1;
    min-width: 0;
    text-align: center;
    opacity: 0;
    transform: scale(0.96) translateY(8px);
    transition: opacity 1s ease, transform 1s ease;
}

.swiper-slide-active .mv-slide__img {
    opacity: 1;
    transform: scale(1) translateY(0);
}

.swiper-slide-active .mv-slide__text {
    opacity: 1;
    transform: translateY(0);
}

.mv-slide__img img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

@media screen and (min-width: 782px) {
    .mv-slide__inner {
        max-width: 85%;
    }
}

@media screen and (max-width: 782px) {
    .mv-slide__inner {
        flex-direction: column;
        padding: 0em 1em 2em;
        gap: 1.5em;
        min-height: auto;
    }

    .mv-slide__text {
        flex: none;
        max-width: 100%;
        width: 100%;
    }

    .mv-slide__img {
        flex: none;
        max-width: 100%;
        width: 100%;
        margin: 0 auto;
    }
}

/* mv-bottom-banner: front-page.phpでloop-banner.phpとして独立配置のためリセット */
.mv-bottom-banner {
    position: relative;
    left: auto;
    transform: none;
    bottom: auto;
    z-index: auto;
    width: clamp(300px, 70vw, 1200px);
    aspect-ratio: 1000/182;
    margin: calc(20px + (40 - 20) * ((100vw - 375px) / (1280 - 375))) auto;
}

.loopBanner-prev,
.loopBanner-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--main-color);
    color: #fff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    transition: opacity 0.3s;
    padding: 0;
    line-height: 1;
}

.loopBanner-prev:hover,
.loopBanner-next:hover {
    opacity: 0.7;
}

.loopBanner-prev {
    left: -48px;
}

.loopBanner-next {
    right: -48px;
}

.loopBanner-prev i,
.loopBanner-next i {
    display: block;
}

/* cp_arrowがない場合のフォールバック */
.loopBanner-prev::before {
    content: '‹';
    font-size: 20px;
    line-height: 1;
}

.loopBanner-next::before {
    content: '›';
    font-size: 20px;
    line-height: 1;
}

@media screen and (max-width: 782px) {
    .mv-bottom-banner {
        width: 85vw;
    }

    .loopBanner-prev,
    .loopBanner-next {
        display: none;
    }
}

.loopBannerSwiper__list {
    .swiper-slide {
        height: auto;
    }

    a {
        width: 100%;
    }
}



.under-mainvisual {
    width: 85vw;
    max-width: 1400px;
    margin: auto;
    padding-top: calc(40px + (100 - 40) * ((100vw - 320px) / (1280 - 320)));
}

.under-mainvisual__wrap {
    aspect-ratio: 16 / 9;
    width: 92vw;
    max-height: 400px;
    background-size: cover;
    background-position: center;
}

.under-mainvisual__titleWrap {
    position: relative;
    font-size: calc(36px + (50 - 36) * ((100vw - 320px) / (1280 - 320)));
    color: var(--title-color);
    letter-spacing: 0.1em;
    font-weight: 600;
    line-height: 1.4;
}

.search .under-mainvisual__titleWrap,
.not-found .under-mainvisual__titleWrap,
.archive .under-mainvisual__titleWrap,
.page .under-mainvisual__titleWrap {
    padding-bottom: calc(15px + (25 - 15) * ((100vw - 320px) / (1280 - 320)));
    margin-bottom: calc(10px + (25 - 10) * ((100vw - 320px) / (1280 - 320)));
}

.under-mainvisual__titleWrap::after {
    content: attr(data-eng);
    color: var(--accent-color);
    display: block;
    font-size: calc(15px + (21 - 15) * ((100vw - 320px) / (1280 - 320)));
    padding-top: calc(5px + (12 - 5) * ((100vw - 320px) / (1280 - 320)));
    line-height: 1.2;
    letter-spacing: 0.05em;
}

.search .under-mainvisual__titleWrap,
.not-found .under-mainvisual__titleWrap,
.archive .under-mainvisual__titleWrap,
.no-thumbnail .under-mainvisual__titleWrap {
    border-bottom: 1px solid var(--main-color);
}

.wp-block-image.aligncenter>figcaption,
.wp-block-image.aligncenter {
    display: block;
}

@media screen and (max-width: 782px) {

    .mv-bottom-banner img {
        border-radius: 10px;
    }

    .under-mainvisual {
        width: 100vw;
        padding-left: 2em;
    }
}

/* =====================
    top-page
========================= */
.front-topBlockTitle .smb-section__title,
.front-top_title {
    font-size: clamp(30px, calc(30px + (57 - 30) * ((100vw - 320px) / (1280 - 320))), 57px);
    color: var(--title-color);
    font-weight: 700;
    position: relative;
}

.front-top_title::before {
    content: attr(data-eng);
    font-size: clamp(12px, calc(12px + (15 - 12) * ((100vw - 320px) / (1280 - 320))), 15px);
    color: var(--main-color);
    display: block;
    white-space: nowrap;
    writing-mode: vertical-rl;
    position: absolute;
    top: 20px;
    left: calc(-45px + (-15 - -45) * ((100vw - 768px) / (375 - 768)));
}

.front-topBlockTitle .smb-section__subtitle {
    font-size: clamp(12px, calc(12px + (15 - 12) * ((100vw - 320px) / (1280 - 320))), 15px);
    writing-mode: vertical-rl;
    position: absolute;
    top: 20px;
    left: calc(-45px + (-15 - -45) * ((100vw - 768px) / (375 - 768)));
}

.front-topBlockTitle .c-container {
    padding: 0;
}

.front-top_titleBox {
    display: flex;
    justify-content: space-between;
    margin-bottom: 50px;
}

.front-btn {
    margin-top: 25px;
    display: flex;
}

.front-btn.btn-right {
    justify-content: flex-end;
}

.front-btn.btn-center {
    justify-content: center;
}

.nv_blank {
    display: flex;
    align-items: center;
}

.front-btnTxt {
    font-size: calc(11px + (14 - 11) * ((100vw - 320px) / (1280 - 320)));
    margin-right: .7em;
    font-weight: 600;
}

.nv_blank .more {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--gray-dark-color);
    border-radius: 100%;
    border: 1px solid var(--gray-dark-color);
    width: clamp(35px, calc(35px + (60 - 35) * ((100vw - 320px) / (1280 - 320))), 60px);
    height: clamp(35px, calc(35px + (60 - 35) * ((100vw - 320px) / (1280 - 320))), 60px);
    padding: .6em;
    transform: rotate(55deg);
    transition: .3s;
}

.nv_blank i {
    position: relative;
    vertical-align: middle;
    width: clamp(1.5px, calc(1.5px + (2.5 - 1.5) * ((100vw - 320px) / (1280 - 320))), 2.5px);
    height: clamp(11px, calc(11px + (16 - 11) * ((100vw - 320px) / (1280 - 320))), 16px);
    background: var(--gray-light-color);
    border-radius: 4px;
}

.nv_blank i::before,
.nv_blank i::after {
    position: absolute;
    content: '';
    top: -1.5px;
    width: clamp(1.5px, calc(1.5px + (2.5 - 1.5) * ((100vw - 320px) / (1280 - 320))), 2.5px);
    height: clamp(7px, calc(7px + (11 - 7) * ((100vw - 320px) / (1280 - 320))), 11px);
    background: var(--gray-light-color);
    border-radius: 4px;
    transform: rotate(90deg);
    transition: .3s;
}

.nv_blank i::before {
    left: clamp(2px, calc(2px + (3 - 2) * ((100vw - 320px) / (1280 - 320))), 3px);
    transform: rotate(-45deg);
}

.nv_blank i::after {
    right: clamp(2px, calc(2px + (3 - 2) * ((100vw - 320px) / (1280 - 320))), 3px);
    transform: rotate(45deg);
}

.sustainability-article-item a:hover .nv_blank .more,
.nv_blank:hover .more {
    background: var(--gray-light-color);
}

.sustainability-article-item a:hover .nv_blank i,
.sustainability-article-item a:hover .nv_blank i::before,
.sustainability-article-item a:hover .nv_blank i::after,
.nv_blank:hover i,
.nv_blank:hover i::before,
.nv_blank:hover i::after {
    background: var(--gray-dark-color);
}

.title-with-lines {
    border-top: 2px solid;
    border-bottom: 2px solid;
    padding-top: calc(5px + (10 - 5) * ((100vw - 320px) / (1400 - 320)));
    padding-bottom: calc(5px + (10 - 5) * ((100vw - 320px) / (1400 - 320)));
}

.top_merit_box {
    margin-top: calc(15px + (30 - 15) * ((100vw - 320px) / (1400 - 320)));
    margin-bottom: calc(15px + (30 - 15) * ((100vw - 320px) / (1400 - 320)));
}

.top_merit_box .wp-block-snow-monkey-blocks-items-item-free.c-row__col {
    border: 2px solid var(--main-color);
    margin-right: -1px;
    padding: 10px 0;
}

.top_merit_box .sme-bg-color.has-color-1-background-color {
    padding: 0 8px 0 10px;
    display: inline-block;
    line-height: 1.5;
}

.top_merit_box .wp-block-snow-monkey-blocks-items-item-free.c-row__col:nth-child(1)::before {
    content: "01";
}

.top_merit_box .wp-block-snow-monkey-blocks-items-item-free.c-row__col:nth-child(2)::before {
    content: "02";
}

.top_merit_box .wp-block-snow-monkey-blocks-items-item-free.c-row__col:nth-child(3)::before {
    content: "03";
}

.top_merit_box .wp-block-snow-monkey-blocks-items-item-free.c-row__col:nth-child(4)::before {
    content: "04";
}

.top_merit_box .wp-block-snow-monkey-blocks-items-item-free.c-row__col::before {
    content: attr(data-number);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    background-color: var(--gray-dark-color);
    color: var(--gray-light-color);
    font-size: 1.2rem;
    font-weight: bold;
    border-radius: 50%;
    margin: 0 auto 10px;
}

.gap0 .wp-block-media-text__content {
    padding: 0;
}

.page .top_merit_box .has-medium-font-size {
    font-size: calc(16px + (20 - 16) * ((100vw - 320px) / (1200 - 320))) !important;
}

/* journal */
.top_journal {
    max-width: 1100px;
    margin: auto;
}

/* Service */
.s-child-pages-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    counter-reset: list-counter;
}

.s-child-pages-list li:nth-child(4),
.s-child-pages-list li:nth-child(5) {
    grid-column: span 1;
    display: block;
}

.s-child-page-item {
    height: 330px;
    background-size: cover;
    background-position: bottom;
    position: relative;
}

.s-child-page-item::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    background-color: #00000033;
    pointer-events: none;
    transition: .3s;
}

.s-child-page-item:hover::before {
    background-color: transparent;
}

.s-child-page-item .nv_blank {
    display: block;
    width: 100%;
    height: 100%;
}

.s-child-page-itemTxt {
    position: absolute;
    bottom: 11px;
    right: 15px;
    left: 15px;
    font-size: clamp(17px, 3vw, 19px);
    font-weight: 500;
    line-height: 1.5;
    color: #fff;
}

.s-child-page-itemTxt::before {
    content: counter(list-counter, decimal-leading-zero);
    counter-increment: list-counter;
    position: absolute;
    top: -55px;
    left: 0;
    font-size: clamp(21px, 3vw, 38px);
    color: #fff;
}

.bg-striped-content .has-color-1-background-color,
.bg-striped-content .has-color-2-background-color,
.bg-striped-content .has-color-3-background-color,
.bg-striped-content .has-color-4-background-color,
.bg-striped-content .has-color-5-background-color {
    padding: 0 .5em 2px;
}

@media screen and (max-width: 1024px) {
    .front-topBlockTitle {
        padding-left: 1em;
    }

    .s-child-pages-list {
        grid-template-columns: repeat(2, 1fr);
    }

    .s-child-page-item {
        height: 250px;
    }

    .s-child-page-itemTxt::before {
        top: -35px;
    }
}

@media screen and (max-width: 782px) {
    .front-top_titleBox {
        display: block;
        margin-bottom: 15px;
    }

    .front-topBlockTitle .smb-section__title,
    .front-top_title {
        padding-left: .6em;
    }

    .front-topBlockTitle .smb-section__lede-wrapper {
        padding-left: 1.3em;
    }

    .s-child-pages-list {
        grid-template-columns: 1fr;
    }

    .s-child-page-item {
        height: 170px;
    }

    .s-child-page-itemTxt::before {
        top: -30px;
    }
}

/* others */
.others-widget-area {
    margin-bottom: calc(20px + (40 - 20) * ((100vw - 320px) / (1400 - 320)));
}

/* =====================
    アーカイブ(タク)
========================= */
.post-article-title a {
    width: 100%;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    font-weight: 500;
}

@media (max-width: 768px) {
    .post-article-title a {
        -webkit-line-clamp: 3;
    }
}

.front-news__all {
    font-size: calc(11px + (13 - 11) * ((100vw - 375px) / (1280 - 375)));
    font-weight: 600;
    color: var(--main-color);
    text-decoration: underline;
    text-underline-offset: 4px;
    transition: opacity 0.3s;
}

.front-news__all:hover {
    opacity: 0.6;
}

.front-news-wrap {
    display: flex;
    align-items: center;
    gap: 2em;
}

.front-news-wrap .info_articleCol {
    flex: 1;
    min-width: 0;
}

.front-news-all {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-right: 2em;
}

/* PC：縦書き・左に線 */
.front-news-all .front-news__all {
    writing-mode: vertical-rl;
    letter-spacing: 0.2em;
    text-decoration: none;
    border-left: 1px solid var(--main-color);
    padding-left: 4px;
}

@media screen and (max-width: 782px) {
    .front-news-wrap {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }

    /* SP：横書き・下線あり・右下配置 */
    .front-news-all {
        display: flex;
        justify-content: flex-end;
        padding-right: 1.5em;
        padding-bottom: 1.5em;
        padding-top: 1em;
    }

    .front-news-all .front-news__all {
        writing-mode: horizontal-tb;
        letter-spacing: normal;
        text-decoration: underline;
        text-underline-offset: 4px;
        border-left: none;
        padding-left: 0;
    }

    .post-article-title a {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
        overflow: hidden;
    }
}

/* =====================
    アーカイブ(タク) info
========================= */
.info_articleCol .post-article {
    margin-right: .5em;
    padding: .8em 1em;
    border-bottom: 1px solid var(--title-color);
}

.info_articleCol .post-article:last-child {
    border: none;
}

/* フロントページのみ下線なし・左右padding追加 */
.home .info_articleCol .post-article {
    border-bottom: none;
    padding-left: 2em;
    padding-right: 2em;
    padding-bottom: 0;
}

.home .item_column02 {
    /* padding: 0 2em;
    max-width: 87%;
    margin: auto; */
    background-color: #0000000d;
    display: block;
}

.post-info-date {
    font-size: calc(11px + (13 - 11) * ((100vw - 320px) / (1280 - 320)));
    color: var(--title-color);
    width: 85px;
}

.post-categories .category {
    font-size: calc(10px + (12 - 10) * ((100vw - 320px) / (1280 - 320)));
    margin-left: 1em;
    background-color: var(--accent-color);
    color: var(--gray-medium-color);
    padding: 0 2em 2px;
    font-weight: 500;
    border-radius: 1em;
}

.home .info_articleCol .post-article-title {
    display: inline-grid;
    margin-left: 1em;
    width: 66%;
}

.home .item_column02 .info_articleCol {
    padding: 1em 0 1.7em;
    max-width: 86%;
    margin: auto;
}

@media screen and (max-width: 1024px) {
    .home .item_column02>div {
        flex: 0 0 100%;
    }

    .home .info_articleCol .post-article-title {
        width: 100%;
        margin-left: 0;
    }
}

@media screen and (max-width: 782px) {
    .home .item_column02 .info_articleCol {
        flex: 0 0 92%;
        max-width: 100%;
        padding-top: .5em;
    }
}

/* =====================
    フロントページ STRENGTHS
========================= */
.front-strengths {
    padding: 0 0 calc(60px + (100 - 60) * ((100vw - 375px) / (1280 - 375)));
    overflow: hidden;
    display: flex;
    align-items: center;
}

.front-strengths__inner {
    display: flex;
    align-items: center;
    width: 100%;
    gap: 4em;
}

/* 左カラム */
.front-strengths__left {
    flex: 0 0 42%;
    max-width: 42%;
    padding-left: clamp(1.5em, 7.5vw, 7.5em);
}

.front-strengths__label {
    display: flex;
    align-items: center;
    gap: 0.5em;
    margin-bottom: 0.8em;
}

.front-strengths__icon {
    width: 20px;
    height: auto;
}

.front-strengths__en {
    color: var(--accent-color);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.1em;
}

.front-strengths__sub {
    font-size: calc(16px + (21 - 16) * ((100vw - 375px) / (1280 - 375)));
    color: var(--main-color);
    margin-bottom: 0.6em;
    font-weight: 700;
}

.front-strengths__title {
    font-size: calc(28px + (42 - 28) * ((100vw - 375px) / (1280 - 375)));
    font-weight: 700;
    line-height: 1.4;
    color: var(--main-color);
    margin-bottom: 1.2em;
}

.front-strengths__body {
    font-size: calc(13px + (15 - 13) * ((100vw - 375px) / (1280 - 375)));
    line-height: 1.9;
    color: var(--main-color);
    margin-bottom: 2em;
}

.front-strengths__btn {
    display: inline-flex;
}

/* 右カラム：スクロール画像 */
.front-strengths__right {
    flex: 1;
    overflow: hidden;
    min-width: 0;
}

.front-strengths__scroll-wrap {
    overflow: hidden;
    width: 100%;
}

.front-strengths__scroll-track {
    display: flex;
    width: max-content;
    animation: strengthsScroll 30s linear infinite;
}

.front-strengths__scroll-track img {
    height: calc(300px + (480 - 300) * ((100vw - 375px) / (1280 - 375)));
    width: auto;
    display: block;
    flex-shrink: 0;
}

@keyframes strengthsScroll {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* ホバーで一時停止しない */

@media screen and (max-width: 1024px) {
    .front-strengths__inner {
        flex-direction: column;
        gap: 2.5em;
    }

    .front-strengths__left {
        flex: none;
        max-width: 100%;
        width: 100%;
    }

    .front-strengths__right {
        width: 100%;
    }
    .front-strengths__label{
        margin-bottom: 0.4em;
    }
    .front-strengths__sub{
        margin-bottom: .5em !important;
    }
    .front-strengths__title{
        margin-bottom: .8em;
    }
}

/* =====================
    フロントページ SERVICE
========================= */
.front-service {
    padding: calc(60px + (100 - 60) * ((100vw - 375px) / (1280 - 375))) 0;
    background-color: #ffffff;
}

.front-service__header{
    width: 85vw;
    max-width: var(--max-width);
    margin: 0 auto 2em;
}

.front-service__label {
    display: flex;
    align-items: center;
    gap: 0.5em;
    margin-bottom: 0.6em;
}

.front-service__icon {
    width: 20px;
    height: auto;
}

.front-service__en {
    font-size: 13px;
    font-weight: 600;
    color: var(--accent-color);
    letter-spacing: 0.1em;
}

.front-service__title {
    font-size: calc(22px + (30 - 22) * ((100vw - 375px) / (1280 - 375)));
    font-weight: 700;
    color: var(--main-color);
    margin-bottom: 0.8em;
}

.front-service__lead {
    font-size: calc(13px + (15 - 13) * ((100vw - 375px) / (1280 - 375)));
    line-height: 1.9;
    color: var(--main-color);
}

.front-service__list {
    width: 85vw;
    max-width: var(--max-width);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.front-service__divider {
    border: none;
    border-top: 1px solid var(--gray-medium-color);
    margin: 0;
}

.front-service__item {
    display: flex;
    align-items: center;
    gap: calc(2em + (5 - 2) * ((100vw - 375px) / (1280 - 375)));
    padding: calc(40px + (60 - 40) * ((100vw - 375px) / (1280 - 375))) 0;
}

.front-service__item-body {
    flex: 0 0 48%;
    max-width: 48%;
}

.front-service__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid var(--accent-color);
    color: var(--accent-color);
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 0.8em;
}

.front-service__item-title {
    font-size: calc(24px + (36 - 24) * ((100vw - 375px) / (1280 - 375)));
    font-weight: 700;
    color: var(--main-color);
    margin-bottom: 0.8em;
    line-height: 1.3;
}

.front-service__item-desc {
    font-size: calc(13px + (15 - 13) * ((100vw - 375px) / (1280 - 375)));
    line-height: 1.8;
    color: var(--main-color);
    margin-bottom: 0.8em;
}

.front-service__item-sub {
    font-size: calc(11px + (13 - 11) * ((100vw - 375px) / (1280 - 375)));
    line-height: 1.8;
    color: var(--accent-color);
    margin-bottom: 1.5em;
}

.front-service__btn {
    display: inline-flex;
}

.front-service__item-img {
    flex: 1;
    min-width: 0;
}

.front-service__item-img img {
    width: 100%;
    height: auto;
    object-fit: contain;
    border-radius: 4px;
    aspect-ratio: 4/3;
}

@media screen and (max-width: 782px) {
    .front-service__header{
        margin-bottom: 0;
    }
    .front-service__label{
        margin-bottom: 0;
    }
    .front-service__title{
        margin-bottom: 0.5em;
    }
    .front-service__item {
        flex-direction: column;
    }

    .front-service__item-body {
        flex: none;
        max-width: 100%;
        width: 100%;
    }

    .front-service__item-desc{
        margin-bottom: 0.8em !important;
    }

    .front-service__item-img {
        width: 100%;
    }
}

/* =====================
    固定ページ
========================= */
.page-title .smb-section__title {
    font-family: "Poppins", sans-serif;
    font-size: calc(30px + (65 - 30) * ((100vw - 375px) / (1400 - 375)));
    font-weight: 600;
}

.page-title .smb-section__lede-wrapper {
    margin-top: 10px;
}

.page-title .smb-section__lede {
    font-size: calc(17px + (21 - 17) * ((100vw - 375px) / (1400 - 375)));
    display: inline-block;
    color: var(--gray-light-color);
    background: linear-gradient(45deg, rgba(0, 136, 141, 1) 0%, rgba(26, 144, 134, 1) 61%, rgba(214, 199, 80, 1) 100%);
    padding-left: .6em;
    padding-right: .6em;
}

.concept-box.smb-box {
    margin: auto;
    padding: 2em 3.5em;
    width: 63vw;
    max-width: 950px;
}

.c-container {
    padding: 0;
}

.concept-title {
    line-height: 1.5;
}

.concept-title>span {
    display: block;
    margin-bottom: -5px;
    border-bottom: 1px solid;
}

.concept-title>span>strong:first-of-type {
    font-family: "Noto Serif JP", sans-serif;
    font-size: calc(28px + (45 - 28) * ((100vw - 375px) / (1400 - 375)));
}

.smb-section__lede {
    line-height: 2;
}

/* 下層リンク */
.child-pages-section {
    padding-top: 50px;
    border-top: 1px solid;
    font-weight: 600;
}

.child-pages-title {
    font-size: calc(23px + (35 - 23) * ((100vw - 375px) / (1400 - 375)));
    margin-bottom: calc(10px + (25 - 10) * ((100vw - 375px) / (1400 - 375)));
}

.child-pages-list {
    display: flex;
    flex-wrap: wrap;
}

.child-page-item {
    margin-bottom: 1px;
}

.child-page-item a {
    background-color: var(--gray-light-color);
    display: flex;
    padding-top: calc(10px + (25 - 10) * ((100vw - 375px) / (1400 - 375)));
    padding-bottom: calc(10px + (25 - 10) * ((100vw - 375px) / (1400 - 375)));
    padding-left: calc(30px + (48 - 30) * ((100vw - 375px) / (1400 - 375)));
    padding-right: calc(30px + (48 - 30) * ((100vw - 375px) / (1400 - 375)));
}

.child-page-itemTxt {
    margin-right: calc(5px + (10 - 5) * ((100vw - 375px) / (1400 - 375)));
    font-size: calc(14px + (19 - 14) * ((100vw - 375px) / (1400 - 375)));
}

.child-page-item .nv_blank .more {
    width: clamp(25px, calc(25px + (45 - 25) * ((100vw - 320px) / (1280 - 320))), 45px);
    height: clamp(25px, calc(25px + (45 - 25) * ((100vw - 320px) / (1280 - 320))), 45px);
}

/* 組織図 */
.smb-box .organizationChart-box {
    border: 20px solid var(--gray-medium-color);
    max-width: 960px;
    margin: clamp(25px, 2.5vw, 50px) auto auto;
    padding-top: calc(20px + (40 - 20) * ((100vw - 375px) / (1400 - 375)));
    padding-bottom: calc(20px + (40 - 20) * ((100vw - 375px) / (1400 - 375)));
    padding-left: calc(25px + (50 - 25) * ((100vw - 375px) / (1400 - 375)));
    padding-right: calc(25px + (50 - 25) * ((100vw - 375px) / (1400 - 375)));
}

.organizationChart-box .wp-block-columns {
    margin-top: calc(15px + (30 - 15) * ((100vw - 375px) / (1400 - 375)));
}

.organizationChart-box li {
    list-style: none;
}

.organizationChart-box .wp-block-column:first-child {
    padding-right: 2.8em;
}

.organizationChart-box .wp-block-column:first-child p {
    font-size: calc(15px + (21 - 15) * ((100vw - 375px) / (1400 - 375)));
    color: var(--gray-light-color);
    writing-mode: vertical-rl;
    padding: 1em 0;
}

.organizationChart-box .wp-block-list>li {
    border: .5px solid;
    margin-bottom: -.5px;
    margin-right: -.5px;
    padding-left: calc(5px + (10 - 5) * ((100vw - 375px) / (1400 - 375)));
}

.organizationChart-box ol.wp-block-list>li {
    font-size: calc(12px + (19 - 12) * ((100vw - 375px) / (1400 - 375)));
    background-color: var(--gray-medium-color);
}

.organizationChart-box ul.wp-block-list>li {
    background-color: var(--gray-light-color);
}


@media screen and (max-width: 1350px) {
    .organizationChart-box .wp-block-column:first-child {
        padding-right: 0em;
    }
}

@media screen and (max-width: 782px) {
    .concept-box.smb-box {
        width: 100%;
        padding: 2em 2.5em;
    }

    .page .organizationChart-box ol.wp-block-list {
        padding-left: 0;
    }

    .organizationChart-box .wp-block-column:first-child p {
        writing-mode: lr;
        margin-bottom: -17px;
        padding: 0 1em 2px;
    }

    .organizationChart-box .wp-block-column:first-child {
        padding-bottom: 1.3em;
    }
}

/* 拠点 メディアとテキスト */
.guide_box {
    margin-bottom: calc(20px + (40 - 20) * ((100vw - 375px) / (1400 - 375)));
}

.padding-top_50 {
    padding-top: calc(20px + (50 - 20) * ((100vw - 375px) / (1400 - 375)));
}

.guide_box .wp-block-media-text__content p:first-of-type {
    margin-bottom: calc(5px + (10 - 5) * ((100vw - 375px) / (1400 - 375)));
}

.guide_box .wp-block-media-text__content p:first-of-type .sme-bg-color:first-of-type {
    margin-right: 5px;
    padding: .1em .2em .15em .5em;
}

.guide_box p:nth-of-type(2) span {
    font-size: calc(12px + (14 - 12) * ((100vw - 375px) / (1400 - 375)));
    margin-right: 5px;
    padding: .1em .4em .15em .6em;
    border-radius: 3em;
    white-space: nowrap;
}

.guide_box_access {
    font-size: calc(12px + (14 - 12) * ((100vw - 375px) / (1400 - 375)));
}

.guide_box_access strong {
    border-bottom: 1px solid var(--gray-dark-color);
    display: block;
    margin-bottom: -20px;
}

.wp-block-snow-monkey-blocks-box.smb-box.top-feature-banner.padding30 {
    padding: calc(15px + (30 - 15) * ((100vw - 375px) / (1400 - 375)));
}

/* =====================
    私たちにできること
========================= */
/* ボックスの上下padding */
.wp-block-snow-monkey-blocks-container.smb-container.our-work_subBbox,
.smb-box.our-work_subBbox {
    padding-top: calc(20px + (40 - 20) * ((100vw - 375px) / (1400 - 375)));
    padding-left: calc(12px + (20 - 12) * ((100vw - 375px) / (1400 - 375)));
    padding-right: calc(12px + (20 - 12) * ((100vw - 375px) / (1400 - 375)));
    padding-bottom: calc(25px + (50 - 25) * ((100vw - 375px) / (1400 - 375)));
}

.service_subBbox,
.smb-box.servic_subBbox {
    padding-top: calc(30px + (60 - 30) * ((100vw - 375px) / (1400 - 375)));
    padding-left: calc(20px + (40 - 20) * ((100vw - 375px) / (1400 - 375)));
    padding-right: calc(20px + (40 - 20) * ((100vw - 375px) / (1400 - 375)));
    padding-bottom: calc(40px + (80 - 40) * ((100vw - 375px) / (1400 - 375)));
}

.highlighted-title {
    background-color: var(--accent-color);
    color: #ffffff;
    font-size: calc(19px + (23 - 19) * ((100vw - 375px) / (1400 - 375)));
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 30px;
    padding: calc(5px + (8 - 5) * ((100vw - 375px) / (1400 - 375)));
}

.page h2.wp-block-heading.font-34 {
    font-size: calc(26px + (34 - 26) * ((100vw - 375px) / (1400 - 375)));
}

.wp-block-snow-monkey-blocks-balloon {
    margin-bottom: calc(15px + (30 - 15) * ((100vw - 375px) / (1400 - 375)));
}

.wp-block-table th,
.wp-block-table td {
    text-align: center;
    overflow: hidden;
}

.smb-balloon__figure {
    width: 130px;
    height: 130px;
    border: 1px solid var(--gray-dark-color);
}

.wp-block-table thead {
    border-bottom: none;
}

.width80 {
    width: calc(100% - 10%) !important;
    margin: 0 auto;
}

.outsourcing-card_title {
    position: relative;
    padding-top: 50px;
}

.outsourcing-card_title::before {
    content: url('');
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 40px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.icon01::before {
    background-image: url('/wp-content/themes/html/images/service03/img17-2404.svg');
}

.icon02::before {
    background-image: url('/wp-content/themes/html/images/service03/img18-2404.svg');
}

/* two-table02 全体のデザイン調整 */
.two-table02 {
    margin-bottom: 40px;
}

/* 全体のレイアウトを統一 */
.two-table02 .smb-information__item {
    margin-bottom: -23px;
}

.two-table02 .smb-information__item__label,
.two-table02 .smb-information__item__body {
    padding: 1em !important;
}

/* ラベル部分 */
.two-table02 .smb-information__item__label {
    background-color: #f4f4f4;
    /* margin-right: -23px; */
}

/* データ部分 */
.two-table02 .smb-information__item__body {
    background-color: #ffffff;
}

.two-table02 .smb-information__item>.c-row {
    --_gap: 0
}

.two-table02 .has-background .smb-information__item__label,
.two-table02 .has-background .smb-information__item__body {
    background-color: transparent;
}

/* support-card__box の背景 */
.support-card__box {
    border: none;
    margin-bottom: calc(40px + (80 - 40) * ((100vw - 375px) / (1400 - 375)));
    padding: 20px;
}

/* CASE タイトル */
.support-card__box h3 {
    margin-bottom: 20px;
}

.support-card__box h3 span {
    display: inline-block;
    margin-top: -5px;
    padding: 0 .5em;
}

.support-card__box h4 {
    font-size: 1.25rem;
    font-weight: bold;
    margin-bottom: 15px;
}

.support-card__box h6 {
    font-size: 1.125rem;
    font-weight: bold;
    margin-top: 15px;
}

.support-card__box p {
    font-size: 1rem;
    line-height: 1.6;
}

.support-card__box .smb-items__item__body {
    padding: 15px;
    margin-bottom: 15px;
}

.support-card__box .c-row__col {
    padding: 10px;
    width: 100%;
    background-color: #ffffff;
    border-right: 6px solid #e2f1f3;
    border-left: 6px solid #e2f1f3;
    position: relative;
}

.support-card__box .c-row__col::before {
    content: '';
    background-size: contain;
    background-repeat: no-repeat;
    width: calc(25px + (40 - 25) * ((100vw - 375px) / (1400 - 375)));
    height: calc(25px + (40 - 25) * ((100vw - 375px) / (1400 - 375)));
    position: absolute;
    top: -6px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
}

.support-card__box .c-row__col:nth-child(1)::before {
    background-image: url('/wp-content/themes/html/images/service04/img04-2404.svg');
}

.support-card__box .c-row__col:nth-child(2)::before {
    background-image: url('/wp-content/themes/html/images/service04/img05-2404.svg');
}

.support-card__box .c-row__col:nth-child(3)::before {
    background-image: url('/wp-content/themes/html/images/service04/img06-2404.svg');
}


.support-card__box .smb-items__item__body {
    border-radius: 5px;
}

.support-card__box .c-row__col:not(:last-child)::after {
    content: '';
    background-image: url('/wp-content/themes/html/images/service04/arrow-double.svg');
    background-size: contain;
    background-repeat: no-repeat;
    width: 30px;
    height: 30px;
    position: absolute;
    right: -20px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
}

.page h2.wp-block-heading.creative_title {
    position: relative;
    margin-top: calc(100px + (200 - 100) * ((100vw - 375px) / (1400 - 375)));
}

.creative_title::before {
    content: '';
    position: absolute;
    top: calc(-120px + (-200 - -120) * ((100vw - 375px) / (1400 - 375)));
    left: 50%;
    transform: translateX(-50%);
    width: calc(250px + (400 - 250) * ((100vw - 375px) / (1400 - 375)));
    height: calc(100px + (200 - 100) * ((100vw - 375px) / (1400 - 375)));
    background-image: url('/wp-content/uploads/2025/03/26357.png');
    background-size: contain;
    background-repeat: no-repeat;
}

@media screen and (max-width: 782px) {
    .servic_subBbox02 {
        margin-top: calc(30px + (40 - 30) * ((100vw - 375px) / (782 - 375)));
        padding-top: calc(30px + (40 - 30) * ((100vw - 375px) / (782 - 375)));
        padding-left: calc(20px + (40 - 20) * ((100vw - 375px) / (782 - 375)));
        padding-right: calc(20px + (40 - 20) * ((100vw - 375px) / (782 - 375)));
    }

    .support-card__box .c-row.c-row--margin {
        width: 95%;
        margin: auto;
    }

    .support-card__box h3 span {
        padding: .3em .5em;
        line-height: 1.5;
    }

    .support-card__box .c-row__col:not(:last-child)::after {
        right: 50%;
        top: 100%;
        transform: translateX(35%) translateY(-14px) rotate(90deg);
    }

    .support-card__box .c-row__col {
        border: none;
    }
}

/* =====================
    サービス
========================= */
.wp-2column-list ul {
    column-count: 3;
    column-gap: 50px;
    /* max-width: 800px; */
    margin: auto;
    padding-left: calc(10px + (20 - 10) * ((100vw - 375px) / (782 - 375)));
    font-size: calc(17px + (19 - 17) * ((100vw - 375px) / (1400 - 375)));
}

.wp-2column-list li {
    break-inside: avoid;
    display: flex;
    align-items: center;
    gap: 8px;
}

.outsourcing-card_box h3 {
    width: 100%;
    padding: 0;
}

.outsourcing-card_box img {
    width: 80%;
    display: block;
    margin: auto;
}

@media screen and (max-width: 1200px) {
    .wp-2column-list ul {
        column-count: 2;
    }
}

@media screen and (max-width: 782px) {
    .triangle::after {
        border-right: min(53vw, 450px) solid transparent;
        border-left: min(52vw, 450px) solid transparent;
        border-top: min(26vw, 127px) solid #00a3a8;
    }

    .wp-2column-list ul {
        column-count: 1;
    }
}

/* =====================
    アーカイブ(タク) ジャーナル
========================= */
.item_journal {
    max-width: 1100px;
    margin: auto;
}

.item_journal .post_articleCol {
    display: grid;
    grid-template-columns: repeat(3, calc(33.3% + (2 * (100vw - 767px) / (1430 - 767))));
    place-items: center;
    gap: 0;
}

.item_journal .post-article {
    margin-bottom: 2em;
    padding: 0 1em;
    border-right: .8px solid var(--title-color);
}

.item_journal .post-article:nth-child(3n) {
    border-right: none;
}

.item_journal .post-article-img {
    aspect-ratio: 16/10.6;
    overflow: hidden;
}

.item_journal .post-article-img img {
    -webkit-height: 224px;
    object-fit: cover;
}

.item_journal .date,
.item_journal .categories {
    font-size: 13px;
}

.item_journal .date {
    color: var(--gray-dark-color);
}

.item_journal .categories a {
    margin-left: 8px;
}

.item_journal .post-article-title {
    color: var(--accent-color);
    font-size: calc(17px + (21 - 17) * ((100vw - 375px) / (1400 - 375)));
    font-weight: 600;
}

.journal-category-list {
    background-color: var(--gray-light-color);
    margin-bottom: 50px;
    padding: 20px 25px;
}

.journal-category-title {
    color: var(--title-color);
    font-size: 13px;
    font-weight: 600;
}

.page .journal-category-title {
    margin-bottom: 0;
}

.journal-category-menu {
    display: flex;
    flex-wrap: wrap;
}

.journal-category-menu li {
    margin-right: 15px;
    font-weight: 600;
}

.journal-category-menu li .active {
    color: var(--accent-color);
}

/* iPhone Safari などの WebKit ベースのブラウザ向け */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    .item_journal .post-article-img img {
        height: 224px;
    }
}

/* オプションで @supports を使って、WebKit に対して特殊なスタイルを適用 */
@supports (-webkit-appearance: none) {
    .item_journal .post-article-img img {
        height: 224px;
    }
}

@media screen and (max-width: 1024px) {
    .item_journal .post_articleCol {
        grid-template-columns: repeat(2, 1fr);
    }

    .item_journal .post-article:nth-child(3n) {
        border-right: .8px solid var(--title-color);
    }

    .item_journal .post-article:nth-child(2n) {
        border-right: none;
    }
}

@media screen and (max-width: 782px) {
    .item_journal .post_articleCol {
        grid-template-columns: 1fr;
    }

    .item_journal .post-article:nth-child(3n),
    .item_journal .post-article {
        border-right: none;
    }
}

/* =============================
    投稿コンテンツ sidebar
================================ */
.item_column02 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.item_column02>div {
    flex: 0 0 66%;
    box-sizing: border-box;
    margin-bottom: 20px;
}

.item_column02>aside {
    flex: 0 0 30%;
    box-sizing: border-box;
}

.widget-title {
    padding: 0rem 1rem;
    border-left: 6px solid;
    margin-bottom: 10px;
}

.sidebar a {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #dedede;
    transition: .3s;
}

.widget-img {
    max-width: 120px;
    max-height: 80px;
    object-fit: cover;
    box-sizing: border-box;
}

.widget-infoTitle {
    font-size: 0.9em;
    width: 100%;
    padding: .8em 1em;
    box-sizing: border-box;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media screen and (max-width: 1024px) {
    .widget-ul {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {

    .item_column02>div,
    .item_column02>aside {
        flex: 0 0 100%;
    }

    .widget-ul {
        grid-template-columns: repeat(1, 1fr);
    }
}

/* =====================
    sidebar info
========================= */
.info-widget-ul .widget-li {
    background-color: #ffffff7a;
    margin-bottom: 1px;
}

/* =============================
    投稿コンテンツ single
================================ */

.single__content {
    margin-top: 80px;
    padding-bottom: 80px;
}

.post-template-default .wp-block-heading.blog-ttl-01 {
    position: relative;
    color: var(--accent-color);
    font-size: calc(16px + (19 - 16) * ((100vw - 320px) / (1024 - 320)));
    line-height: 1.65;
    margin-top: calc(25px + (50 - 25) * ((100vw - 320px) / (1024 - 320)));
    padding: .3em .3em .3em .9em;
    font-weight: 600;
    vertical-align: middle;
    background-color: var(--gray-light-color);
}

.blog-ttl-01::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    width: 6px;
    height: 100%;
    background: var(--accent-color);
    transform: translateY(-50%);
}

.single__body {
    margin-top: 50px;
    font-size: 1.7rem;
    font-weight: 400;
}

.single__body .img-wrap {
    width: 80%;
    margin: auto;
}

.single__content .date {
    font-size: 1.5rem;
    font-weight: 300;
    display: inline-block;
    margin-top: 10px;
}

.single__body {
    line-height: 1.65;
}

.single__btn {
    margin: 80px auto 0;
    width: 80%;
    max-width: 210px;
    overflow: hidden;
    border: 2px solid;
    border-radius: 50px;
    transition: .4s ease;
}

.single__btn-link {
    display: block;
    width: 100%;
    height: 100%;
    font-size: 1.5rem;
    font-weight: 500;
    text-align: center;
    padding: 16px 0;
    transition: .4s ease;
}

@media screen and (max-width: 782px) {
    .single__content {
        margin-top: 50px;
    }


    .single__body {
        font-size: 1.4rem;
    }

    .single__body .img-wrap {
        width: 100%;
    }
}

/* =====================
    single もくじ
========================= */
#toc_container {
    padding: 2.4% 3.18%;
    border-radius: 10px;
    margin-left: auto;
    margin-right: auto;
}

#toc_container .toc_list li {
    margin-bottom: 11px;
    line-height: 1.4;
    font-size: calc(10px + (12 - 10) * ((100vw - 320px) / (1024 - 320)));
}

#toc_container .toc_list li a {
    color: var(--main-color);
}

.toc_list span.toc_number {
    background-color: var(--accent-color);
    color: #fff;
    border: 1px solid var(--accent-color);
    width: calc(20px + (23 - 20) * ((100vw - 320px) / (1024 - 320)));
    height: calc(20px + (23 - 20) * ((100vw - 320px) / (1024 - 320)));
    text-align: center;
    display: inline-block;
    border-radius: 5px;
    margin-right: 5px;
    font-size: calc(8px + (10 - 8) * ((100vw - 320px) / (1024 - 320)));
    line-height: calc(18px + (23 - 21) * ((100vw - 320px) / (1024 - 320)));
    transition: .5s;
}

#toc_container .toc_list a:hover {
    text-decoration: none;
}

.toc_list a:hover span.toc_number {
    background-color: #ffffff;
    color: var(--accent-color);
    opacity: 1;
}

/* =====================
    single-article
========================= */
.single-article {
    padding-top: 60px;
}

.single-article .item_column {
    background-color: var(--gray-medium-color);
}

.single-articleCol {
    background-color: #ffffff;
    margin-bottom: calc(22px + (40 - 22) * ((100vw - 320px) / (1024 - 320)));
    padding: calc(20px + (40 - 20) * ((100vw - 320px) / (1024 - 320))) calc(20px + (40 - 20) * ((100vw - 320px) / (1024 - 320))) calc(40px + (60 - 40) * ((100vw - 320px) / (1024 - 320))) calc(20px + (40 - 20) * ((100vw - 320px) / (1024 - 320)));
}

.single-article__info {
    display: flex;
    align-items: center;
}

.single-article__time {
    font-size: 0.9em;
}

.single-article__title {
    font-size: calc(19px + (27 - 19) * ((100vw - 375px) / (1400 - 375)));
    font-weight: 500;
    line-height: 1.9;
    margin-top: 1.1458em;
}

.single-article__body {
    border-top: 1px solid;
    border-bottom: 1px solid;
    padding: 50px 0;
    margin-top: 28.8px;
}

.single-article__body p {
    word-break: break-all;
}

.single-article__body .wp-caption-text {
    font-size: 0.9em;
    margin-top: 0.5em;
}

.single-article__body p a {
    font-weight: 700;
    color: var(--main-color);
    border-bottom: 1px solid;
    transition: .3s;
}

.single-article__body p a:hover {
    opacity: .7;
}

.single-article__body *:first-child {
    margin-top: 0;
}

.single-article__body *+* {
    margin-top: 20px;
}

.single-article__body *+* a {
    margin-top: 0;
}

.single-article .btn {
    margin: calc(30px + (80 - 30) * ((100vw - 320px) / (1400 - 320))) auto 0 auto;
}

.single-article__thumb {
    width: 90%;
    max-width: 735px;
    margin: 0 auto 4.5em;
    box-shadow: 0 10px 25px 0 rgb(90 90 90 / 10%);
}

@media screen and (max-width: 1024px) {
    .single-article__title {
        font-size: 26px;
    }
}

@media screen and (max-width: 782px) {
    .single-article {
        padding: 30px 0;
    }

    .single-article__time {
        font-size: 15px;
    }

    .single-article__body *+* {
        margin-top: 15px;
    }

    .single-article__title {
        font-size: 20px;
        line-height: 1.71;
        margin-top: 20px;
    }

    .single-article__body {
        padding: 20px 0 30px 0;
        margin-top: 10px;
    }

    .single-article__body p {
        line-height: 1.68;
    }
}

/* =====================
    クロストーク
========================= */

.single-cross_talk .post-article,
.post-type-archive-cross_talk .post-article {
    display: flex;
}

.post-type-archive-cross_talk .post-article:nth-child(n+2) {
    margin-top: calc(40px + (80 - 40) * ((100vw - 375px) / (1400 - 375)));
}

.single-cross_talk .post-thumbnail,
.post-type-archive-cross_talk .post-thumbnail {
    width: 60%;
    aspect-ratio: 16/9;
    display: block;
}

.post-type-archive-cross_talk .post-thumbnail a {
    display: block;
    height: 100%;
}

.single-cross_talk .post-thumbnail img,
.post-type-archive-cross_talk .post-thumbnail img {
    height: 100%;
    object-fit: cover;
}

.single-cross_talk .post-content,
.post-type-archive-cross_talk .post-content {
    flex: 1;
    position: relative;
    padding: calc(20px + (35 - 20) * ((100vw - 375px) / (1400 - 375)));
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.single-cross_talk .post-content {
    background-color: var(--gray-light-color);
}

.post-type-archive-cross_talk .post-article.reverse {
    flex-direction: row-reverse;
}

.single-cross_talk .cross__number,
.post-type-archive-cross_talk .cross__number {
    font-size: calc(14px + (16 - 14) * ((100vw - 375px) / (1400 - 375)));
    font-weight: bold;
    color: var(--accent-color);
}

.single-cross_talk .cross__company,
.post-type-archive-cross_talk .cross__company {
    font-size: calc(19px + (27 - 19) * ((100vw - 375px) / (1400 - 375)));
    font-weight: bold;
    margin-bottom: 10px;
    font-weight: 600;
}

.post-type-archive-cross_talk .cross__company .cross__link {
    text-decoration: none;
}

.single-cross_talk .cross__cateList,
.post-type-archive-cross_talk .cross__cateList {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
}

.single-cross_talk .cross__cateItem,
.post-type-archive-cross_talk .cross__cateItem {
    font-size: calc(10px + (14 - 10) * ((100vw - 375px) / (1400 - 375)));
    color: var(--accent-color);
    margin-right: 10px;
}

.post-type-archive-cross_talk .cross__cateItem:last-child {
    margin-right: 0;
}

.post-type-archive-cross_talk .cross__more {
    font-size: calc(10px + (14 - 10) * ((100vw - 375px) / (1400 - 375)));
    position: absolute;
    bottom: 0;
    right: calc(30px + (35 - 20) * ((100vw - 375px) / (1400 - 375)));
}

.post-type-archive-cross_talk .cross__more .cross__link {
    text-decoration: none;
}

.post-type-archive-cross_talk .cross__more .cross__more--line {
    border-bottom: 1px solid var(--accent-color);
    padding-bottom: 5px;
}

.cross_talk-widget-ul {
    display: flex;
}

.cross_talk-widget-ul .widget-li {
    width: 33%;
    padding: 0 calc(10px + (14 - 10) * ((100vw - 375px) / (1400 - 375)));
    ;
}

.cross_talk-widget-ul a {
    display: block;
}

.cross_talk-widget-ul .widget-img {
    max-width: 100%;
    max-height: 100%;
}

.cross_talk-widget-ul .widget-img {
    aspect-ratio: 16/9;
}

.cross_talk-widget-ul .widget-infoTitle {
    font-weight: 600;
    font-size: calc(12px + (16 - 12) * ((100vw - 375px) / (1400 - 375)));
    ;
    padding-left: 0;
    padding-right: 0;
}

.cross_talk-template-default .sidebar,
.item_column01 .sidebar {
    margin-top: calc(50px + (120 - 50) * ((100vw - 375px) / (1400 - 375)));
    ;
    ;
    padding-top: calc(40px + (80 - 40) * ((100vw - 375px) / (1400 - 375)));
    ;
    ;
    border-top: 1px solid;
}

.cross_talk-template-default h2.wp-block-heading {
    font-size: calc(18px + (26 - 18) * ((100vw - 375px) / (1400 - 375)));
    ;
}

.cross_talk-template-default h3.wp-block-heading {
    font-size: calc(16px + (21 - 16) * ((100vw - 375px) / (1400 - 375)));
    ;
    margin-bottom: calc(15px + (30 - 15) * ((100vw - 375px) / (1400 - 375)));
    ;
    ;
}

.crossMember__box {
    padding: 20px max(3.637%, 20px) max(4.55%, 40px);
}

@media screen and (max-width: 1024px) {

    .single-cross_talk .post-article,
    .post-type-archive-cross_talk .post-article {
        flex-wrap: wrap;
    }

    .single-cross_talk .post-article {
        flex-direction: column-reverse;
    }

    .single-cross_talk .post-content {
        padding-top: 45px;
    }

    .single-cross_talk .post-thumbnail,
    .post-type-archive-cross_talk .post-thumbnail {
        width: 100%;
    }

    .post-type-archive-cross_talk .post-content {
        padding-bottom: calc(40px + (40 - 40) * ((100vw - 375px) / (1024 - 375)));
    }

    .cross_talk-widget-ul .widget-li {
        width: 50%;
    }
}


/* =====================
    page top
========================= */
.page-top {
    position: fixed;
    bottom: 55px;
    right: calc((40 / 1600)* 100vw);
    width: 40px;
    z-index: 100;
}

.page-top.js-position {
    position: absolute;
}

.wp-block-snow-monkey-blocks-box.top-feature-banner {
    padding: 0;
}

.page-template-default .top-feature-banner p {
    width: 100%;
}

.page-template-default .top-feature-banner p a {
    position: relative;
    display: inline;
    font-size: min(32px, calc(19px + (32 - 19) * ((100vw - 375px) / (1400 - 375))));
    font-weight: 500;
    letter-spacing: .1em;
    border-bottom: none;
    color: var(--gray-light-color);
}

.page-template-default .top-feature-banner p a::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 100vw;
    height: 100vh;
}

.page-template-default .top-feature-banner p a span {
    padding: 0 1em 5px;
    background-color: var(--gray-dark-color);
}

.top-feature-banner .wp-block-cover {
    margin-bottom: 5em;
}

.page .top-feature-banner01 p:last-child,
.page .top-feature-banner02 p:last-child,
.page .top-feature-banner03 p:last-child {
    position: absolute;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.page .top-feature-banner01 p:last-child {
    top: 50%;
    left: 22%;
}

.page .top-feature-banner02 p:last-child {
    top: 50%;
    left: 64%;
}

.page .top-feature-banner03 p:last-child {
    top: 35%;
    left: 50%;
}

.top-bg-message {
    overflow: hidden;
    white-space: nowrap;
    position: relative;
}

.top-bg-message img,
.top-bg-message span {
    display: inline-block;
    position: relative;
    animation: slide-left 800s -400s linear infinite;
}

.loop_wrap {
    display: flex;
    width: clamp(350vw, 50vw, 180vw);
    height: clamp(150px, 20vw, 300px);
    overflow: hidden;
}

.loop_wrap img:first-child {
    animation: loop 225s -112.5s linear infinite;
}

.loop_wrap img:last-child {
    animation: loop2 225s linear infinite;
}

.loop_margin {
    margin: clamp(30px, 5vw, 60px) 0 clamp(50px, 10vw, 100px);
}

/* スライドアニメーション */
@keyframes loop {
    0% {
        transform: translateX(100%);
    }

    to {
        transform: translateX(-100%);
    }
}

@keyframes loop2 {
    0% {
        transform: translateX(0);
    }

    to {
        transform: translateX(-200%);
    }
}

@media screen and (max-width: 1024px) {
    .page-top {
        right: calc((20 / 1024) * 100vw);
        width: 35px;
    }

    .top-feature-banner .wp-block-cover {
        min-height: 230px !important;
    }
}

@media screen and (max-width: 782px) {
    .page-top {
        width: 20px;
    }

    .top-feature-banner .wp-block-cover {
        margin-bottom: 2.5em;
        min-height: 190px !important;
    }

    .page .top-feature-banner p:last-child {
        line-height: 1.4;
    }

    .page .top-feature-banner01 p:last-child,
    .page .top-feature-banner02 p:last-child {
        left: 50%;
    }

    .page .top-feature-banner03 p:last-child {
        top: 42%;
    }
}

/* =====================
   blocks
========================= */
/* ボックスの幅いっぱい */
.full-width-block {
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.full-width-block .smb-container__body {
    max-width: 80vw;
}

.smb-box,
.full-width-block .c-container {
    padding: 0;
}

@media screen and (max-width: 782px) {
    .full-width-block .smb-container__body {
        max-width: 85vw;
    }
}

/* 主にボックスに使うパディング */
.box-paddingBottom {
    padding-top: calc(15px + (50 - 15) * ((100vw - 320px) / (1280 - 320)));
    padding-left: calc(15px + (50 - 15) * ((100vw - 320px) / (1280 - 320)));
    padding-right: calc(15px + (50 - 15) * ((100vw - 320px) / (1280 - 320)));
    padding-bottom: calc(35px + (85 - 35) * ((100vw - 320px) / (1280 - 320)));
}

/* メディアとテキスト */
@media screen and (max-width: 782px) {

    .wp-block-media-text .wp-block-media-text__media,
    .wp-block-media-text.is-stacked-on-mobile.is-image-fill {
        margin-bottom: calc(15px + (30 - 15) * ((100vw - 320px) / (786 - 320)));
    }
}

.smb-items__item {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.smb-items__item__body {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.qa-block h4 {
    position: relative;
    padding-left: 2.3em;
}

/* 項目をQ&Aに */
.qa-block .wp-block-heading::before {
    font-size: calc(17px + (23 - 17) * ((100vw - 320px) / (1200 - 320)));
    content: "Q.";
    font-weight: bold;
    color: var(--orange-color);
    position: absolute;
    top: -4px;
    left: -3px;
}

/* 小さい説明テキストのスタイル（Qの2行目の位置調整） */
.qa-block .wp-block-heading span.sme-font-size.has-small-font-size {
    font-weight: normal;
    margin-left: 1.6em;
    display: block;
}

.qa-block p {
    position: relative;
    padding-left: 2em;
}

/* Aの疑似要素 */
.qa-block p::before {
    font-size: calc(16px + (19 - 16) * ((100vw - 320px) / (1200 - 320)));
    content: "A.";
    font-weight: bold;
    color: var(--accent-color);
    position: absolute;
    top: -4px;
    left: 0;
}

.bg-white {
    background-color: #ffffff;
}

@media screen and (max-width: 782px) {
    .wp-block-media-text .wp-block-media-text__content {
        /* padding: 0; */
        padding-bottom: 2em;
    }

    .smb-box__body p:first-child,
    .wp-block-media-text__content p:first-child {
        margin-bottom: 0;
    }
}

/* 吹き出し下 幅100％ */
.page .bubble-block-fullwidth {
    width: 100%;
    text-align: center;
    border-radius: 2em;
    margin-bottom: calc(35px + (50 - 35) * ((100vw - 320px) / (1280 - 320))) !important;
}

/* 固定ページ内 h2 装飾 */
.page h2.wp-block-heading {
    font-size: calc(17px + (23 - 17) * ((100vw - 320px) / (1200 - 320)));
    margin: calc(50px) 0 calc(20px);
    padding-bottom: 5px;
    font-weight: 500;
    line-height: 1.6;
}

.page h2.wp-block-heading:first-child {
    margin-top: 0;
}

/* 固定ページ内 h3,h4,h5 */
.page .has-medium-font-size {
    font-size: calc(17px + (20 - 17) * ((100vw - 320px) / (1200 - 320))) !important;
    letter-spacing: .2em;
    line-height: 1.9;
    /* margin-left: auto;
    margin-right: auto; */
}

/* 装飾タイトル 下線 */
.page-third_title {
    font-size: calc(23px + (32 - 23) * ((100vw - 320px) / (1200 - 320)));
    padding-top: calc(40px + (80 - 40) * ((100vw - 480px) / (1920 - 480)));
    margin-bottom: calc(55px + (110 - 55) * ((100vw - 480px) / (1920 - 480)));
    font-weight: 600;
    line-height: 1.4;
    position: relative;
}

.page-third_title::before {
    position: absolute;
    content: '';
    width: 15%;
    max-width: 80px;
    left: 0;
    bottom: -30px;
    border-bottom: 5px solid var(--accent-color);
}

.has-text-align-center.page-third_title::before {
    position: absolute;
    content: '';
    width: 15%;
    max-width: 80px;
    left: 50%;
    bottom: -30px;
    transform: translateX(-50%);
    border-bottom: 5px solid var(--accent-color);
}

.inner_negative_margin {
    margin-bottom: -8em;
}

/* 固定ページ table */
.wp-block-table.is-style-stripes tbody tr {
    padding: .5em;
    display: block;
    line-height: 1.6;
}

.wp-block-table.is-style-stripes tr td:nth-child(1) {
    width: 260px;
    font-weight: 600;
}

/* ページ内段落にaリンクが差し込まれたら自動で太字＆下線 */
.wp-block-table.is-style-stripes tbody tr a,
.page-template-default p a {
    font-weight: 700;
    border-bottom: 1px solid;
}

@media screen and (max-width: 782px) {
    .page h2.wp-block-heading {
        margin: calc(25px) 0 calc(13px);
    }

    .wp-block-table.is-style-stripes tbody tr {
        padding: 1em 0.8em
    }

    .wp-block-table.is-style-stripes td {
        display: block;
        padding: 0 1em;
        width: 100%;
    }
}

.text-bg_padding {
    padding: 0 .5em;
}

/* バナー テキスト */
.koumoku_banner .smb-items__banner__title {
    font-size: calc(21px + (27 - 21) * ((100vw - 320px) / (1200 - 320)));
}

.koumoku_banner .smb-items__banner__lede {
    font-size: calc(15px + (17 - 15) * ((100vw - 320px) / (1200 - 320)));
}

/* アコーディオン */
.smb-accordion__item__title {
    font-size: calc(15px + (17 - 15) * ((100vw - 320px) / (1200 - 320)));
    background-color: transparent;
    padding: 1em 0;
    border-bottom: 1px solid;
}

.smb-accordion__item__title__label {
    font-size: calc(17px + (- 17) * ((100vw - 320px) / (1200 - 320)));
}

.smb-accordion__item__title__label::before {
    content: 'Q.';
    font-family: "Poppins", sans-serif;
    color: var(--accent-color);
    font-size: 1.38em;
    margin-right: 0.3em;
}

.smb-accordion__item__title__icon {
    max-width: 40px;
}

.smb-accordion__item {
    margin-top: 0;
}

.smb-accordion__item__body {
    padding-top: calc(7px + (15 - 7) * ((100vw - 320px) / (1200 - 320)));
    background-color: #ffffff;
}

.wp-block-image .alignright {
    margin: 0;
}

.sme-font-size.has-small-font-size {
    margin-top: -0.5em;
    display: block;
}

.faq_box {
    margin-top: calc(40px + (90 - 40) * ((100vw - 480px) / (1920 - 480)));
}

.has-background.faq_title {
    font-size: calc(16px + (21 - 16) * ((100vw - 320px) / (1200 - 320)));
    margin-bottom: calc(20px + (40 - 20) * ((100vw - 480px) / (1920 - 480)));
    padding: 0.5em 1em;
}

@media screen and (max-width: 782px) {
    .smb-accordion__item__title {
        font-size: 1.15em;
        margin-bottom: 15px;
        line-height: 1.5;
    }

    .faq_box .smb-accordion__item__body {
        padding: 0 5vw 6vw;
    }
}

/* 段落 付箋color */
:root :where(p.is-style-sme-post-it-narrow):after {
    background-color: var(--accent-color);
}

/* 固定ページ p */
.page p {
    margin-bottom: 1.5em;
}

.page p:last-child {
    margin-bottom: 0;
}

.page .wp-block-list {
    list-style: auto;
    padding-left: 1.5em;
}

.page .wp-element-caption {
    margin-bottom: 0;
    font-weight: 700;
}

.page .wp-block-columns {
    margin-bottom: 2em;
}

.page .wp-block-columns:last-child {
    margin-bottom: 0em;
}

/* 情報ブロックをテーブルのように表示 */
.two-table {
    max-width: 960px;
    margin: auto;
}

.two-table .c-row {
    padding: 25px;
}

.two-table .wp-block-snow-monkey-blocks-information-item {
    margin: 0;
}

.two-table .wp-block-snow-monkey-blocks-information-item:nth-child(odd) .c-row {
    background-color: var(--gray-medium-color);
}

.two-table .wp-block-snow-monkey-blocks-information-item:nth-child(even) .c-row {
    background-color: var(--gray-light-color);
}

.two-table .sme-bg-color {
    margin-right: 7px;
    padding-left: 5px;
    padding-bottom: 2px;
}

@media screen and (max-width: 782px) {
    .two-table .c-row {
        padding: 15px 20px 45px;
    }

    .two-table .c-row>.c-row__col {
        margin-bottom: 0;
    }
}

/* プラグインのtable */
.wp-block-flexible-table-block-table th,
.wp-block-flexible-table-block-table td {
    font-size: calc(11px + (13.5 - 11) * ((100vw - 320px) / (1200 - 320)));
    line-height: 1.3;
}

.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr td {
    padding-top: calc(5px + (15 - 5) * ((100vw - 320px) / (1200 - 320)));
    padding-bottom: calc(5px + (15 - 5) * ((100vw - 320px) / (1200 - 320)));
    text-align: center;
    border-color: var(--gray-medium-color);
}

.wp-block-post-featured-image,
.widget_media_image {
    max-width: 650px;
    margin: auto;
}

/* スノーモンキーlist 左の余白 */
.wp-block-snow-monkey-blocks-list li {
    position: relative;
    padding-left: 2em;
    /* display: flex;
    align-items: center; */
}

@supports (transform: translateX(0)) {
    .smb-list ul>li .smb-list__icon {
        top: 0;
        left: 1em;
        transform: translateY(-0%) translateX(-50%);
    }
}


@media screen and (max-width: 782px) {
    .smb-list ul>li {
        padding-left: 1.8em;
    }
}

.cover-button .smb-btn {
    padding-top: calc(5px + (15 - 5) * ((100vw - 320px) / (1200 - 320)));
    padding-bottom: calc(5px + (15 - 5) * ((100vw - 320px) / (1200 - 320)));
}

.cover-button .smb-btn__label {
    font-size: calc(18px + (21 - 18) * ((100vw - 320px) / (1200 - 320)));
    font-weight: 600;
}

/* スノーモンキーブロック - バナーのテキストを中央寄せ */
[data-content-position=center-left] {
    justify-content: center !important;
}

/* ページ下部のマイナスマージン */
.space-correction {
    margin-bottom: calc(-65px + (-130 - -65) * ((100vw - 320px) / (1400 - 320)));
    ;
}

/* =====================
    サステナビリティ
========================= */
.sustainability {
    /* background-color: #ffffff; */
}

.sustainability main .blob-outer-container {
    position: fixed;
}

.sustainability .under-mainvisual {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 60vh;
    margin-bottom: calc(35px + (70 - 35) * ((100vw - 320px) / (1200 - 320)));
    padding: 0;
}

.under-mainvisual__S_titleWrap {
    font-size: calc(28px + (73 - 28) * ((100vw - 320px) / (1200 - 320)));
    color: var(--title-color);
    font-weight: 600;
    letter-spacing: .18em;
    line-height: 1.5;
    white-space: nowrap;
    text-transform: uppercase;
    width: 90%;
    mix-blend-mode: color-dodge;
}

.under-mainvisual__S_titleWrap::after {
    content: attr(data-eng);
    color: var(--accent-color);
    display: block;
    font-size: calc(15px + (21 - 15) * ((100vw - 320px) / (1280 - 320)));
    padding-top: calc(5px + (15 - 5) * ((100vw - 320px) / (1280 - 320)));
    padding-right: 4%;
    line-height: 1.2;
    letter-spacing: 0.05em;
    white-space: normal;
}

.sustainability-articles-list {
    max-width: 65vw;
    margin: auto;
}

.sustainability-article-item {
    position: relative;
    overflow: hidden;
    border-radius: 1em;
    margin-bottom: calc(50px + (50 - 50) * ((100vw - 320px) / (1280 - 320)));
}

.sustainability-article-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(45deg, rgb(153, 210, 203, 1), rgb(230, 255, 194, 1));
    opacity: 0;
    transition: opacity 0.5s ease;
    z-index: 0;
}

.sustainability-article-item a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: calc(20px + (30 - 20) * ((100vw - 320px) / (1280 - 320)));
    z-index: 1;
}

.sustainability-article-item:hover::before {
    opacity: 1;
}

.sustainability-article-image {
    width: 30%;
    max-width: 250px;
    border-radius: 50%;
    overflow: hidden;
    aspect-ratio: 1/1;
}

.sustainability-article-image img {
    height: 100%;
    object-fit: cover;
}

.sustainability-article-info {
    width: 68%;
}

.article-number {
    display: inline-block;
    background-color: var(--accent-color);
    color: #ffffff;
    padding: 0 1em 2px;
    border-radius: .2em;
}

.sustainability-article-info .article-title {
    font-size: calc(19px + (35 - 19) * ((100vw - 320px) / (1280 - 320)));
    color: var(--title-color);
    font-weight: 600;
    /* margin-bottom: calc(7px + (10 - 7) * ((100vw - 320px) / (1280 - 320))); */
}

.sustainability-posts-wrapper {
    background-color: #ffffff;
    border-radius: 1em;
    overflow: hidden;
    padding: calc(20px + (40 - 20) * ((100vw - 320px) / (1280 - 320)));
    max-width: 1100px;
    margin: auto;
}

.info-sustainability_title {
    font-size: calc(15px + (17 - 15) * ((100vw - 320px) / (1280 - 320)));
    font-weight: 600;
    border-bottom: 1px solid;
    margin-bottom: calc(0px + (15 - 0) * ((100vw - 320px) / (1280 - 320)));
    padding-bottom: 5px;
}

.sustainability-posts-list .post-article {
    display: flex;
    align-items: center;
    padding: 1em 0;
    border-bottom: 1px solid var(--gray-medium-color);
}

.sustainability-posts-list .post-info-date {
    width: 9%;
    white-space: nowrap;
}

.sustainability-posts-list .post-categories {
    width: 19%;
    white-space: nowrap;
}

.sustainability-posts-list .post-article-title {
    width: 70%;
    margin-left: 1em;
}

.responsive_images img:last-child {
    display: none;
}

.margin-top30 {
    margin-top: calc(15px + (30 - 15) * ((100vw - 320px) / (1280 - 320)));
}

@media screen and (max-width: 990px) {
    .sustainability-posts-list .post-article {
        flex-wrap: wrap;
    }

    .sustainability-posts-list .post-info-date {
        width: 22%;
    }

    .sustainability-posts-list .post-article-title {
        width: 100%;
        margin-left: 0;
    }
}

@media screen and (max-width: 782px) {

    /* .sustainability .under-mainvisual::before{
        background: url('/wp-content/uploads/2025/03/mb06.jpg') no-repeat center center/cover;
    } */
    .sustainability-article-item a {
        flex-wrap: wrap;
    }

    .sustainability-article-image {
        width: 60%;
        margin: 0 auto 0;
    }

    .sustainability-article-info {
        width: 100%;
    }

    .sustainability-articles-list {
        max-width: 90vw;
        margin-top: 6em;
    }

    .responsive_images img:first-child {
        display: none;
    }

    .responsive_images img:last-child {
        display: block;
    }
}

/* =====================
    サステナビリティ シングル
========================= */
.single-sustainability main {
    margin-top: 0;
}

.single-sustainability .breadcrumb {
    padding-top: calc(95px + (130 - 95) * ((100vw - 320px) / (1400 - 320)));
    margin-bottom: calc(-90px + (-130 - -90) * ((100vw - 320px) / (1400 - 320)));
}

.under-s-mainvisual {
    display: flex;
    align-items: center;
    background-color: #ffffff;
}

.under-mainvisual__left,
.under-mainvisual__right {
    width: 50%;
}

.under-mainvisual__left {
    position: relative;
    aspect-ratio: 4/3.5;
}

.under-mainvisual__left img:nth-child(2) {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    overflow: hidden;
    aspect-ratio: 16/16;
    width: calc(150px + (270 - 150) * ((100vw - 320px) / (1280 - 320)));
    height: calc(150px + (270 - 150) * ((100vw - 320px) / (1280 - 320)));
}

.under-mainvisual__left img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.under-mainvisual__right {
    padding: calc(25px + (50 - 25) * ((100vw - 320px) / (1280 - 320)));
}

.single-sustainability-article__body .image-excerpt-wrapper {
    display: flex;
    align-items: center;
    background-color: var(--gray-light-color);
    margin-bottom: calc(25px + (50 - 25) * ((100vw - 320px) / (1280 - 320)));
    padding: calc(25px + (50 - 25) * ((100vw - 320px) / (1280 - 320)));
    border-radius: 1em;
    overflow: hidden;
}

.single-sustainability-article__body .image-left {
    border-radius: 50%;
    overflow: hidden;
    aspect-ratio: 16/16;
    width: calc(110px + (250 - 110) * ((100vw - 320px) / (1280 - 320)));
    /* height: calc(110px + (230 - 110) * ((100vw - 320px) / (1280 - 320))); */
    margin-right: calc(0px + (50 - 0) * ((100vw - 320px) / (1280 - 320)));
}

.single-sustainability-article__body .image-left img {
    height: 100%;
    object-fit: cover;
}

.single-sustainability-article__body .excerpt-right {
    width: 70%;
}

.box-padding40 {
    padding: calc(25px + (50 - 25) * ((100vw - 320px) / (1280 - 320)));
}

.single-sustainability-title {
    font-size: calc(17px + (21 - 17) * ((100vw - 320px) / (1280 - 320)));
    background-color: var(--gray-dark-color);
    color: #ffffff;
    text-align: center;
    font-weight: 600;
    padding: .5em !important;
    margin-bottom: 0 !important;
}

.section-spacer50 {
    margin-top: calc(30px + (50 - 30) * ((100vw - 320px) / (1280 - 320)));
    margin-bottom: calc(30px + (50 - 30) * ((100vw - 320px) / (1280 - 320)));
}

.section-spacer30 {
    margin-top: calc(10px + (30 - 10) * ((100vw - 320px) / (1280 - 320)));
    margin-bottom: calc(20px + (50 - 20) * ((100vw - 320px) / (1280 - 320)));
}

.sustainability-related {
    background-color: var(--gray-light-color);
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    padding-top: calc(20px + (50 - 20) * ((100vw - 320px) / (1280 - 320)));
    padding-bottom: calc(20px + (40 - 20) * ((100vw - 320px) / (1280 - 320)));
}

.related-inner {
    width: 80vw;
    max-width: 1100px;
    margin: auto;
}

.related-sustainability__heading {
    font-size: calc(15px + (19 - 15) * ((100vw - 320px) / (1280 - 320)));
    font-weight: 600;
    margin-bottom: calc(25px + (50 - 25) * ((100vw - 320px) / (1280 - 320)));
    padding: calc(3px + (5 - 3) * ((100vw - 320px) / (1280 - 320)));
    border-bottom: 1px solid;
}

.sustainability-related__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.sustainability-related__item {
    width: 21%;
    text-align: center;
    margin-right: 2%;
    margin-left: 2%;
    margin-bottom: calc(15px + (50 - 15) * ((100vw - 320px) / (1280 - 320)));
}

.sustainability-related__item .disabled-link {
    color: #999;
    pointer-events: none;
}

.sustainability-related__item .disabled-link .sustainability-related__img img {
    opacity: 0.5;
}

.sustainability-related__item .disabled-link .sustainability-related__title {
    color: #999;
}

.sustainability-related__img {
    border-radius: 50%;
    overflow: hidden;
    aspect-ratio: 16/16;
    margin-bottom: calc(3px + (5 - 3) * ((100vw - 320px) / (1280 - 320)));
}

.sustainability-related__title {
    font-size: calc(13px + (16 - 13) * ((100vw - 320px) / (1280 - 320)));
    line-height: 1.5;
}

.wp-block-columns {
    justify-content: space-between;
}

.has-large-font-size {
    font-size: calc(20px + (29 - 20) * ((100vw - 320px) / (1280 - 320))) !important;
    line-height: 1.5;
    margin-bottom: calc(10px + (10 - 10) * ((100vw - 320px) / (1280 - 320)));
}

.two-column-table th,
.two-column-table td {
    padding: 1em;
    text-align: left;
}

.two-column-table th:first-child,
.two-column-table td:first-child {
    width: 30%;
}

.two-column-table th:last-child,
.two-column-table td:last-child {
    width: 70%;
}

@media screen and (max-width: 1200px) {
    .under-mainvisual__left {
        aspect-ratio: 4/4;
    }

    .sustainability-related__item {
        width: 26%;
        margin-right: 4%;
        margin-left: 4%;
    }
}

@media screen and (max-width: 782px) {
    .single-sustainability main {
        margin-top: calc(-130px + (-140 - -130) * ((100vw - 320px) / (782 - 320)));
    }

    .under-s-mainvisual {
        flex-wrap: wrap;
        flex-flow: column-reverse;
    }

    .under-mainvisual__left,
    .under-mainvisual__right {
        width: 100%;
    }

    .under-mainvisual__right {
        min-height: 250px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        height: 100%;
        text-align: left;
        padding-top: calc(110px + (160 - 110) * ((100vw - 320px) / (782 - 320)));
    }

    .under-mainvisual__left {
        aspect-ratio: 4/3;
    }

    .under-mainvisual__right .article-number {
        margin-top: calc(40px + (30 - 40) * ((100vw - 320px) / (782 - 320)));
        width: 50px;
    }

    .related-inner {
        width: 85vw;
        padding-bottom: 0;
    }

    .single-sustainability-article__body .image-excerpt-wrapper {
        flex-wrap: wrap;
    }

    .single-sustainability-article__body .image-left {
        margin: 0 auto calc(15px + (30 - 15) * ((100vw - 320px) / (782 - 320)));
    }

    .sustainability-related__item {
        width: 35%;
        margin-right: 7%;
        margin-left: 7%;
    }

    .single-sustainability-article__body .excerpt-right {
        width: 100%;
    }

    .wp-block-columns {
        margin-bottom: 0;
    }
}

/* =====================
    採用情報
========================= */

.recruit {
    background-color: #ffffff;
}

.recruit .section {
    padding-top: 0;
}

.recruit .under-mainvisual {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100vh;
}

.recruit .under-mainvisual::before {
    content: '';
    background: url(/wp-content/uploads/2025/02/recruit_main.jpg) no-repeat center right / cover;
    position: absolute;
    width: 100vw;
    height: 100vh;
    z-index: -1;
}

.under-mainvisual__R_titleWrap {
    font-size: clamp(30px, 4vw, 70px);
    color: #ffffff;
    font-weight: 600;
    letter-spacing: .18em;
    line-height: 1.5;
    white-space: nowrap;
    text-transform: uppercase;
    position: absolute;
    left: -9vw;
    bottom: 0;
}

.under-mainvisual__R_titleWrap span {
    background-color: var(--accent-color);
    padding: 0 .5em;
}

.under-mainvisual__R_titleWrap::after {
    content: attr(data-eng);
    color: var(--main-color);
    display: block;
    font-size: calc(15px + (21 - 15) * ((100vw - 320px) / (1280 - 320)));
    padding-top: calc(5px + (15 - 5) * ((100vw - 320px) / (1280 - 320)));
    line-height: 1.2;
    letter-spacing: 0.05em;
}

.smb-section__title {
    letter-spacing: 0.25em;
    /* line-height: 1.7; */
}

.recruit_message .wp-block-image {
    margin-bottom: calc(-10px + (-20 - -10) * ((100vw - 320px) / (1280 - 320)));
    padding-top: calc(40px + (80 - 40) * ((100vw - 320px) / (1280 - 320)));
}

.recruit_message .smb-section__lede {
    margin-top: calc(8px + (15 - 8) * ((100vw - 320px) / (1280 - 320)));
    line-height: 2.5;
}

/* =====================
    サイトマップ
========================= */
.sitemap__menu-list>li {
    margin-bottom: calc(20px + (40 - 20) * ((100vw - 320px) / (1280 - 320)));
}

.sitemap__footer_title,
.sitemap__menu-list>li>a {
    display: block;
    color: #ffffff;
    background-color: var(--title-color);
    padding:
        calc(8px + (16 - 8) * ((100vw - 320px) / (1280 - 320))) calc(8px + (16 - 8) * ((100vw - 320px) / (1280 - 320))) calc(8px + (16 - 8) * ((100vw - 320px) / (1280 - 320))) calc(30px + (48 - 30) * ((100vw - 320px) / (1280 - 320)));
    font-weight: bold;
    text-transform: uppercase;
    text-decoration: none;
    position: relative;
}

.sitemap__footer_title::before,
.sitemap__menu-list>li>a::before {
    content: '';
    width: 8px;
    height: 8px;
    border: 0px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: calc(21px + (33 - 21) * ((100vw - 320px) / (1280 - 320)));
    left: calc(11px + (18 - 11) * ((100vw - 320px) / (1280 - 320)));
    margin-top: -4px;
}

.sitemap__menu-list .sub-menu {
    margin-top: 10px;
    padding-left: 20px;
}

.sitemap__footer_menu-list>li,
.sitemap__menu-list .sub-menu>li {
    display: inline-block;
    margin-right: 50px;
}

.sitemap__footer_menu-list>li>a,
.sitemap__menu-list .sub-menu>li>a {
    font-weight: normal;
    position: relative;
    padding-left: 35px;
}

.sitemap__footer_menu-list>li>a::after,
.sitemap__menu-list .sub-menu>li>a::after {
    content: "";
    display: block;
    background-color: var(--accent-color);
    position: absolute;
    top: 16px;
    left: 0;
    width: 20px;
    height: 1px;
    margin-left: 5px;
}

/* =====================
    404
========================= */
.error-page {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: calc(20px + (40 - 20) * ((100vw - 320px) / (1280 - 320)));
}

.error-page__image {
    width: 30%;
    margin-right: calc(0px + (30 - 0) * ((100vw - 320px) / (1280 - 320)));
}

.error-page__image img {
    height: auto;
}

.error-page__message {
    font-size: calc(16px + (23 - 16) * ((100vw - 320px) / (1280 - 320)));
    width: 40%;
}

.sitemap__footer_title {
    margin-top: 30px;
    font-size: 1.2rem;
}

.sitemap__search {
    position: relative;
    margin: calc(30px + (60 - 30) * ((100vw - 320px) / (1280 - 320))) auto;
    width: 100%;
    max-width: 400px;
}

.sitemap__search input[type="search"] {
    width: 100%;
    padding: 10px 40px 10px 10px;
    border: none;
    border-bottom: 1px solid #333;
    background: transparent;
    outline: none;
    font-size: 16px;
}

.sitemap__search input[type="search"]::placeholder {
    color: #999;
}

.sitemap__search button {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
}

.sitemap__search button svg {
    width: 20px;
    height: 20px;
    fill: #333;
}

@media screen and (max-width: 782px) {
    .error-page {
        flex-wrap: wrap;
    }

    .error-page__image {
        width: 60%;
        margin-bottom: calc(15px + (30 - 15) * ((100vw - 320px) / (782 - 320)));
    }

    .error-page__message {
        width: 100%;
    }
}

/* 全体のスタイル */
.recruit-archive {
    margin: 0 auto;
}

.recruit-category+.recruit-category {
    margin-top: calc(40px + (100 - 40) * ((100vw - 320px) / (1280 - 320)));
}

/* カテゴリタイトル */
.category-title {
    text-align: center;
    font-size: calc(18px + (21 - 18) * ((100vw - 320px) / (1280 - 320)));
    margin-bottom: calc(10px + (20 - 10) * ((100vw - 320px) / (1280 - 320)));
    padding: calc(5px + (10 - 5) * ((100vw - 320px) / (1280 - 320)));
    font-weight: bold;
    color: #fff;
    border-radius: .3em;
}

/* 正社員セクション */
.full-time {
    border-radius: 10px;
    margin-bottom: 30px;
}

/* パートタイム＆アルバイトセクション */
.part-time {
    border-radius: 10px;
}

/* カテゴリ説明 */
.page .category-description {
    margin-bottom: calc(20px + (40 - 20) * ((100vw - 320px) / (1280 - 320)));
}

/* 記事カード */
.category-posts {
    display: flex;
    justify-content: center;
    gap: calc(20px + (40 - 20) * ((100vw - 320px) / (1280 - 320)));
    flex-wrap: wrap;
}

.recruit-card {
    width: 30%;
    background: #fff;
    border-radius: .3em;
    padding: calc(15px + (30 - 15) * ((100vw - 320px) / (1280 - 320)));
    overflow: hidden;
    position: relative;
}

.recruit-card img {
    width: 100%;
    height: auto;
    display: block;
    padding-bottom: calc(20px + (30 - 20) * ((100vw - 320px) / (1280 - 320)));
}

/* カードの情報部分 */
.recruit-info {
    position: relative;
    flex-grow: 1;
}

.job-title {
    font-size: calc(18px + (23 - 18) * ((100vw - 320px) / (1280 - 320)));
    font-weight: 600;
    padding-left: 15px;
    border-left: 5px solid var(--accent-color);
    margin-bottom: calc(5px + (10 - 5) * ((100vw - 320px) / (1280 - 320)));
}

.part-time .job-title {
    border-color: #e366a8;
}

.location {
    font-size: 14px;
    color: #666;
    display: block;
    margin-bottom: 10px;
}

.job-description {
    font-size: 14px;
    color: #333;
    margin-bottom: 15px;
}

/* バッジ（正社員 / パート） */
.card-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    color: #fff;
    font-weight: 600;
    margin-bottom: 0;
    font-size: var(--category);
    min-width: 70px;
    min-height: 70px;
    border-radius: 50%;
    padding: 8px 12px;
    text-align: center;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.full-time .card-badge {
    background: linear-gradient(45deg, rgba(42, 154, 170, 1) 50%, rgba(175, 175, 102, 1) 100%);
}

.part-time .card-badge {
    background: linear-gradient(45deg, rgba(227, 102, 168, 1) 50%, rgba(248, 212, 161, 1) 100%);
}

/* ENTRYボタン */
.entry-button {
    margin: 0 auto;
    color: #ffffff;
    border: none;
}

.entry-button+.entry-button {
    margin-top: calc(5px + (15 - 5) * ((100vw - 320px) / (1280 - 320)));
}

.full-time .entry-button {
    background: linear-gradient(45deg, rgba(42, 154, 170, 1) 50%, rgba(175, 175, 102, 1) 100%);
}

.part-time .entry-button {
    background: linear-gradient(45deg, rgba(227, 102, 168, 1) 50%, rgba(248, 212, 161, 1) 100%);
}

@media screen and (max-width: 782px) {
    .recruit-card {
        width: 90%;
        max-width: 450px;
    }
}

/* 採用メリット */
.recruit-merits {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.merit-category {
    width: 29%;
    margin-right: calc(5px + (15 - 5) * ((100vw - 320px) / (1280 - 320)));
    margin-left: calc(5px + (15 - 5) * ((100vw - 320px) / (1280 - 320)));
    margin-bottom: calc(15px + (30 - 15) * ((100vw - 320px) / (1280 - 320)));
    padding: calc(20px + (40 - 20) * ((100vw - 320px) / (1280 - 320)));
    background-color: var(--gray-light-color);
}

.merit-icon {
    margin-bottom: calc(10px + (15 - 10) * ((100vw - 320px) / (1280 - 320)));
}

.merit-title {
    text-align: center;
    font-size: calc(17px + (21 - 17) * ((100vw - 320px) / (1280 - 320)));
    font-weight: 600;
    margin-bottom: calc(10px + (15 - 10) * ((100vw - 320px) / (1280 - 320)));
}

.merit-list li {
    list-style: disc;
}

.merit-list li::marker {
    color: var(--accent-color);
}

@media screen and (max-width: 782px) {
    .merit-category {
        width: 45%;
    }
}

/* イベントBPO */
.event-content05__price-box {
    margin-top: calc(20px + (40 - 20) * ((100vw - 320px) / (1280 - 320)));
}

.event-content05__price-box:first-child {
    margin-top: 55px;
}

.event-content05__price-pattern {
    text-align: center;
    line-height: calc(55 / 29);
    font-size: 29px;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: 0.2em;
    background-color: var(--accent-color);
    padding: 0.448em 0;
    cursor: pointer;
    position: relative;
}

.event-content05__price-pattern::before,
.event-content05__price-pattern::after {
    content: "";
    display: block;
    width: 35px;
    height: 4px;
    background-color: #ffffff;
    position: absolute;
    top: 50%;
    right: 3%;
}

.event-content05__price-pattern::before {
    transform: translateY(-50%);
}

.event-content05__price-pattern::after {
    transform: translateY(-50%) rotate(90deg);
    transition: 0.4s ease;
}

.event-content05__price-pattern.js-active::after {
    transform: translateY(-50%) rotate(0);
}

.event-content05__price-body {
    background-color: #f5f5f5;
    padding: 50px 4.27% 45px;
}

.event-content05__price-body--top .body__inner {
    display: flex;
}

.event-content05__price-body--top .box {
    width: calc((100% - 23px * 3) / 4);
    max-width: 250px;
    margin-left: 23px;
    border-width: 1px;
    border-style: solid;
    display: flex;
    flex-direction: column;
}

.event-content05__price-body--top .box+.box {
    position: relative;
    z-index: 0;
}

.event-content05__price-body--top .box+.box::before {
    content: "";
    display: block;
    width: 35px;
    height: 35px;
    background: url('../images/event/event_plus.svg') no-repeat;
    background-position: center;
    background-size: 100%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(-85%, -50%);
    z-index: 1;
}

.event-content05__price-body--top .box:nth-child(1) {
    margin: 0;
    border-color: var(--accent-color);
}

.event-content05__price-body--top .box:nth-child(2) {
    border-color: #4c9bd0;
}

.event-content05__price-body--top .box:nth-child(3) {
    border-color: #66aad7;
}

.event-content05__price-body--top .box:nth-child(4) {
    border-color: #7fb8dd;
}

.event-content05__price-body--top .box-title {
    text-align: center;
    font-size: 23px;
    color: #ffffff;
    font-weight: 700;
    line-height: calc(24 / 23);
    letter-spacing: 0.2em;
    min-height: 2.73em;
    display: flex;
    justify-content: center;
    align-items: center;
}

.event-content05__price-body--top .box:nth-child(1) .box-title {
    background-color: var(--accent-color);
}

.event-content05__price-body--top .box:nth-child(2) .box-title {
    background-color: #169397;
}

.event-content05__price-body--top .box:nth-child(3) .box-title {
    background-color: #45a0a3;
}

.event-content05__price-body--top .box:nth-child(4) .box-title {
    background-color: #72b9bb;
}

.event-content05__price-body--top .box-body {
    padding: 0 6% 25px;
    background-color: #ffffff;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.event-content05__price-body--top ul {
    margin: 0 0 auto;
}

.event-content05__price-body--top li {
    font-size: 18px;
    font-weight: 700;
    color: #333333;
    line-height: calc(24 / 18);
    letter-spacing: 0.2em;
    text-align: center;
    display: flex;
    flex-direction: column;
    padding: 0.833em 0;
    border-bottom: 1px solid #333333;
    margin: 0;
}

.event-content05__price-body--top .no-border li:last-child {
    border-bottom: none;
}

.event-content05__price-body--top li .size--sm {
    font-weight: 400;
    font-size: 0.944em;
    line-height: calc(24 / 17);
    letter-spacing: 0.19em;
}

.event-content05__price-body--top .box-body>span {
    margin: 30px auto 0;
    text-align: center;
    font-size: 21px;
    letter-spacing: 0.2em;
    color: #ffffff;
    font-weight: 700;
    border-radius: 50px;
    background-color: var(--accent-color);
    padding: 0.047em 0;
    width: 100%;
    max-width: 220px;
}

.event-content05__price-body--top .days {
    width: calc(100% - 25.51%);
    text-align: center;
    margin-top: 15px;
    position: relative;
    z-index: 0;
}

.event-content05__price-body--top .days::before {
    content: "";
    display: block;
    width: 100%;
    height: 5px;
    background-color: var(--accent-color);
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    z-index: -1;
}

.event-content05__price-body--top .days>span {
    font-size: 21px;
    font-weight: 700;
    color: var(--accent-color);
    letter-spacing: 0.2em;
    padding: 0.095em 1.19em;
    border-radius: 50px;
    border: 2px solid var(--accent-color);
    background-color: #ffffff;
    display: inline-block;
}

.event-content05__price-body--bottom {
    display: flex;
    align-items: flex-start;
    margin-top: 25px;
}

.event-content05__price-body--bottom ul {
    margin: 0;
    flex-grow: 1;
    padding-right: 1.4%;
}

.event-content05__price-body--bottom li {
    margin: 0;
    font-size: 18px;
    line-height: calc(28 / 18);
    letter-spacing: 0.2em;
    font-weight: 400;
}

.event-content05__price-body--bottom .pattern-sum {
    max-width: 378px;
    flex-grow: 1;
    background-color: #ffffff;
    padding: 20px 2.8% 15px;
}

.event-content05__price-body--bottom .pattern-sum>span {
    display: inline-block;
    font-size: 18px;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: 0.2em;
    line-height: calc(36.3 / 18);
    border-radius: 50px;
    background-color: var(--accent-color);
    padding: 0 1.11em;
}

.event-content05__price-body--bottom .pattern-sum>div {
    font-size: 40px;
    font-weight: 700;
    color: #333333;
    line-height: calc(40.33 / 40);
    letter-spacing: 0.2em;
    margin-top: 10px;
}

.event-content05__price-body--bottom .pattern-sum>div .size--sm {
    font-size: 0.45em;
    display: inline-block;
    letter-spacing: 0.19em;
}

@media screen and (max-width: 782px) {
    .event-content05__price-box {
        margin-top: 25px;
    }

    .event-content05__price-body--bottom .pattern-sum>div {
        font-size: 25px;
    }

    .event-content05__price-body--top {
        display: flex;
    }

    .event-content05__price-body--top .body__inner {
        display: block;
        order: 2;
        flex-grow: 1;
    }

    .event-content05__price-body--top .box {
        width: 100%;
        max-width: none;
        margin: 40px 0 0;
    }

    .event-content05__price-body--top .box+.box::before {
        width: 30px;
        height: 30px;
        top: 0;
        left: 50%;
        transform: translate(-50%, -115%);
    }

    .event-content05__price-pattern {
        font-size: 17px;
    }

    .event-content05__price-pattern::before,
    .event-content05__price-pattern::after {
        width: 15px;
        height: 2px;
    }

    .event-content05__price-body--top .days {
        order: 1;
        width: 50px;
        margin: 0;
        position: relative;
    }

    .event-content05__price-body--top .days::before {
        width: 5px;
        height: calc(100% - 282px);
        top: 0;
        left: 50%;
        transform: translateX(-50%);
    }

    .event-content05__price-body--top .days>span {
        writing-mode: vertical-lr;
        padding: 1.19em 0.095em;
        position: absolute;
        top: calc((100% - 282px) / 2);
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .event-content05__price-body--top .box-body>span {
        margin-top: 20px;
    }

    .event-content05__price-body--top .days .slash {
        display: inline-block;
        letter-spacing: 0;
        transform: rotate(-45deg);
    }

    .event-content05__price-body--top .days .num {
        transform: rotate(-90deg);
        display: inline-block;
        letter-spacing: 0;
        padding: 5px 0;
    }

    .event-content05__price-body--bottom {
        flex-direction: column;
    }

    .event-content05__price-body--bottom .pattern-sum {
        order: 1;
        width: 100%;
        margin: auto;
        text-align: center;
    }

    .event-content05__price-body--bottom ul {
        order: 2;
        margin-top: 20px;
        padding: 0;
    }
}

.group_site-widget-area,
.relationship-widget-area {
    margin-bottom: calc(20px + (40 - 20) * ((100vw - 320px) / (1280 - 320)));
}

.additional-links h4.wp-block-heading {
    border-bottom: 1px solid;
    margin-bottom: calc(10px + (20 - 10) * ((100vw - 320px) / (1280 - 320)));
}


/* Snow Monkey Blocks アニメーション共通設定 */
[data-sme-animation-delay],
[data-sme-animation-duration] {
    transition: transform 0.5s cubic-bezier(0.43, 0.06, 0.58, 1);
}

/* 初期状態 - 非表示 */
.wow-item {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

/* アニメーションが適用されたとき */
.wow-item.visible {
    opacity: 1;
    transform: translateY(0);
}

/* アニメーションの定義 */
@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}



/* =====================
    our-work
========================= */
:root {
    --white01: #fff;
    --black01: #000;
    --green01: #008680;
    --green02: rgba(0, 134, 128, 0.1);
    --green03: #3f8e80;
    --yellow01: #ffc43a;
    --yellow02: #ffe900;
    --gray01: #808080;
    --gray02: #838383;
    --pink01: #ff7b83;

    --font17: clamp(13px, calc(13px + 4 * ((100vw - 320px) / 930)), 17px);
    --font19: clamp(14px, 0.45vw + 12.57px, 19px);
    --font20: clamp(15.29px, calc(15.29px + 4.71 * ((100vw - 320px) / 930)), 20px);

    --font21: clamp(16.06px, calc(16.06px + 4.94 * ((100vw - 320px) / 930)), 21px);
    --font24: clamp(18.35px, calc(18.35px + 5.65 * ((100vw - 320px) / 930)), 24px);
    --font26: clamp(19.88px, calc(19.88px + 6.12 * ((100vw - 320px) / 930)), 26px);
    --font27: clamp(20.64px, calc(20.64px + 6.36 * ((100vw - 320px) / 930)), 27px);
    --font28: clamp(21.41px, calc(21.41px + 6.59 * ((100vw - 320px) / 930)), 28px);
    --font32: clamp(24px, 1.16vw + 15.29px, 32px);
    --font34: clamp(26px, calc(26px + 8 * ((100vw - 320px) / 930)), 34px);

    --font38: clamp(25px, calc(25px + 13 * ((100vw - 320px) / 930)), 38px);
    ;
    --font54: clamp(35.53px, calc(35.53px + 18.47 * ((100vw - 320px) / 930)), 54px);
    --font65: clamp(30px, calc(30px + 35 * ((100vw - 320px) / 930)), 65px);




    --lineHight144: 1.447;
    --lineHight152: 1.525;
    --lineHight200: 2.058;

    --fontSpace060: 0.06em;

    --weight500: 500;
    --weight700: 700;

    --borderRadius01: 500px;
    --borderRadius20: 20px;
    --borderRadiusCircle: 50%;

    --transitionBase01: all 0.3s ease-in-out;

    --opacity07: .7;
}

@media screen and (max-width: 768px) {
    :root {
        --opacity07: 1;
    }

}


/* ------------------------------- */
/* ------------------------------- */


.our-work {
    background-color: var(--white);

    .section {
        padding: 25px 0 0 0;
    }
}

.section-our-work__inner {
    width: min(100%, 1250px);
    margin: 0 auto;
    padding: clamp(70px, 12%, 175px) 0 clamp(0px, 23%, 80px);
    font-weight: var(--weight500);

    p {
        margin-bottom: 0;
    }

    .txt {
        p {
            font-size: var(--font17);
            line-height: var(--lineHight200);

            &:last-child {
                margin-bottom: 0;
            }
        }
    }
}

.btn-outer {
    width: min(100%, 340px);
    height: 70px;
    margin: 0 auto;

    .btn {
        position: relative;
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: var(--yellow01);
        color: var(--black01);
        transition: var(--transitionBase01);
        max-width: none;
        min-width: 0;
        padding: 0;
        border: none;

        &:hover {
            opacity: var(--opacity07);
        }
    }
}

.btn__txt {
    display: block;
    position: relative;
    width: fit-content;

    .arrow {
        position: absolute;
        font-size: 1em;
        top: 50%;
        left: 120%;
        transform: translateY(-50%);
    }
}


.iconBox {
    position: relative;

    &::before {
        position: absolute;
        content: "";
        background-image: url(../img/our-work/icon-01.png);
        background-repeat: no-repeat;
        background-size: contain;
        top: 0;
        left: 50%;
        transform: translate(-50%, -120%);
        width: max(9.6%, 50px);
        aspect-ratio: 120/127;
    }
}

.iconBox02 {
    &::before {
        background-image: url(../img/our-work/icon-02.png);
    }
}

.iconBox03 {
    &::before {
        background-image: url(../img/our-work/icon-03.png);
    }
}

.tmplBox01 {
    background-color: var(--green02);
    padding: max(5.6%, 30px) max(4%, 15px) max(2.4%, 20px);
}

.our-work-ttl {
    font-size: var(--font38);
    line-height: var(--lineHight144);
    text-align: center;
    margin-bottom: max(4.35%, 25px);
}

.under-line01 {
    text-decoration: underline;
    text-decoration-thickness: 4px;
    text-underline-offset: 0.3em;
    text-decoration-color: var(--black01);
}


.under-line02 {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.4em;
}

.under-line03 {
    text-decoration: underline;
    text-decoration-thickness: 3px;
    text-underline-offset: 0.4em;
    text-decoration-color: var(--black01);
}

.smallTxt-right {
    display: block;
    text-align: right;
    font-size: var(--font17);
    color: var(--gray01);
    margin-top: clamp(3px, 2%, 15px);
}

.triangle-bottom {
    display: block;
    width: 27px;
    aspect-ratio: 27/19;
    background: var(--yellow01);
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
    margin: 0 auto;
}

.push {
    display: inline-block;
}

.color-green {
    color: var(--green01);
}

.thin {
    letter-spacing: -0.5em;
}


@media screen and (max-width: 1290px) {
    .section-our-work__inner {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}


@media screen and (max-width: 480px) {
    .smallTxt-right {
        font-size: 11px;
    }

    .under-line01 {
        text-decoration-thickness: 2px;
    }
}


/* -------------------
our-workMv
------------------- */

.our-workMv {
    position: relative;
    width: 100%;
    background-color: var(--white01);
}

.our-workMv__ttlBox {
    position: absolute;
    right: 10.41666vw;
    bottom: 4.6vw;
    width: 33.19444444444444vw;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.our-workMv__ttl {
    width: 100%;
}

.our-workMv__txt {
    font-size: 1.458333333333vw;
    margin: 1.3em 0 2em;

    p {
        color: var(--black01);
        margin: 0 0 0.6em 0;
        text-align: center;
        font-weight: var(--weight700);
        line-height: 1.523;
        letter-spacing: var(--fontSpace060);



        &:last-child {
            margin-bottom: 0;
        }
    }
}

.btn-outer-our-workMv {
    width: 16.19em;
    height: auto;
    aspect-ratio: 340/70;
    font-size: 1.458333333333vw;

    .btn {
        font-size: 1em;
        font-weight: var(--weight700);
        letter-spacing: var(--fontSpace060);
    }
}

@media screen and (max-width: 768px) {
    .our-workMv__ttlBox {
        width: 86.66666666666667vw;
        right: 50%;
        bottom: 8%;
        transform: translateX(50%)
    }

    .our-workMv__txt {
        font-size: 4.53333333333vw;
        margin: 1.176em 0 2.647em;

        p {
            margin: 0 0 0.882em 0;
        }
    }

    .btn-outer-our-workMv {
        width: 72.31%;
        height: auto;
        aspect-ratio: 235/48;
        font-size: 4vw;

        .btn {
            font-size: 1em;
        }
    }

}

/* -------------------
our-workAnalysis
------------------- */

.our-workAnalysis {
    border-bottom: 1px solid var(--green01);
}

.our-workAnalysis__flex {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    width: min(100%, 1095px);
    margin: 0 auto;
    padding-bottom: max(4.2%, 25px);
    border-bottom: 1px solid var(--black01);

    .img {
        width: min(53.61%, 587px);
        margin: 0 3% 0 0;
    }

    .txt {
        flex: 1;

        p {
            margin: 0 0 1.9em 0;


        }
    }
}

.our-workAnalysis-aruaru {
    position: relative;
    padding: max(3.478%, 25px) 0 max(3.92%, 30px);
    width: min(100%, 1025px);
    margin: 0 auto;
}

.our-workAnalysis-aruaru__txt {
    width: min(100%, 610px);
    margin: 0 auto;

    .ttl {
        font-size: var(--font26);
        text-align: center;
        margin-bottom: max(6%, 15px);
    }

    .txt {

        p {
            font-size: var(--font24);
            line-height: var(--lineHight152);
            margin-bottom: 0.7em;
            text-align: center;
            font-weight: var(--weight700);

            &:last-child {
                margin-bottom: 0;
            }
        }

    }
}

.our-workAnalysis-aruaru__parts {
    position: absolute;
    bottom: 0;
    width: clamp(80px, 20%, 200px);
}

.our-workAnalysis-aruaru__parts01 {
    left: 0;
}

.our-workAnalysis-aruaru__parts02 {
    right: 0;
}

.our-workAnalysis__map {
    padding: max(6.8%, 30px) 0 max(7%, 35px);

    .imgBox {
        width: min(100%, 870px);
        margin: max(5%, 20px) auto 0;
    }
}

@media screen and (max-width: 1024px) {
    .our-workAnalysis-aruaru__parts {
        width: max(15%, 50px);
    }
}

@media screen and (max-width: 768px) {
    .our-workAnalysis__flex {
        flex-direction: column;

        .img {
            width: min(100%, 350px);
            margin: 0 0 max(3%, 5px) 0;
        }

        .ttx {
            flex: initial;
            width: 100%;
        }
    }

    .our-workAnalysis-aruaru {
        width: 100%;
        padding-bottom: 15%;
    }
}

@media screen and (max-width: 480px) {

    .our-workAnalysis__flex {
        & .txt {
            p {
                margin: 0 0 1em 0;
            }
        }
    }

    .our-workAnalysis-aruaru {
        padding-bottom: max(23%, 70px);
    }
}

/* -------------------
our-workFeatures
------------------- */
.our-workFeatures {
    padding: max(7.6%, 40px) 0;
}

.our-workFeatures__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: min(100%, 1050px);
    margin: 0 auto max(6%, 30px);

    .txtBox {
        width: fit-content;
        font-size: var(--font54);
        line-height: var(--lineHight144);
        border-bottom: 4px solid var(--black01);
        padding-bottom: 15px;
        margin: 0 10px 0 0;

        .txt {
            font-size: 0.667em;
            margin-bottom: 5px;
        }

        .big {
            font-size: 1em;
            font-weight: var(--weight700);
        }
    }
}

.our-workFeatures__doubtList {
    flex: 1;
    width: min(100%, 371px);
    max-width: 371px;

    li {
        width: 100%;
        height: 60px;
        font-size: var(--font28);
        margin-bottom: 20px;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        background-color: var(--yellow01);
        font-weight: var(--weight700);
        border-radius: var(--borderRadius01);
        line-height: 1.2;

        &:last-child {
            margin-bottom: 0;
        }
    }
}

.our-workFeatures__strengths {
    .txt {
        margin-bottom: 10px;
        font-size: var(--font28);
        text-align: center;
    }
}

.our-workFeatures-strength__list {
    margin: 30px auto 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    column-gap: 35px;
    grid-template-rows: auto auto 1fr;
}

.our-workFeatures-strengths__item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
}

.our-workFeatures-strengths__detail {
    display: contents;

    dt {
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        color: var(--green01);
        margin: 15px 0 10px;
        font-size: var(--font28);
        line-height: 1.2;
    }

    dd {
        width: min(100%, 267px);
        margin: 0 auto;
        font-size: var(--font21);
        line-height: var(--lineHight152);
    }
}



.strengthsBox-outer {
    margin: max(13.5%, 70px) 0 0 0;

    .tmplBox01 {
        padding-bottom: max(6%, 40px);
    }
}

.strengthsBox {
    margin: 0 0 max(17.5%, 100px) 0;

    &:last-child {
        margin-bottom: 0;
    }
}

.strengthsBox01__img {
    width: min(100%, 816px);
    margin: max(4%, 20px) auto 0;
}

.strengthsBox__txt {
    .sub {
        color: var(--gray01);
    }
}

.strengths-reasonBox {
    width: min(100%, 922px);
    margin: 10px auto 0;
}

.strengths-reasonSwiper__list {
    justify-content: space-between;

    .swiper-slide {
        width: calc((100% - 50px)/3);
        border-radius: var(--borderRadius20);
        overflow: hidden;
    }
}

.strengthsBox03-flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: min(100%, 1170px);
    margin: 0 auto;

    .map-img {
        width: min(100%, 578px);
    }
}

.strengthsCase {
    flex: 1;
    max-width: 546px;
    padding: 35px 10px;
    background-color: var(--green02);
}

.strengthsCase__ttl {
    font-size: var(--font26);
    text-align: center;
}

.strengthsCase__list {
    width: min(100%, 453px);
    margin: 25px auto 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
}

.strengthsCase__item {
    width: calc((100% - 20px)/2);

    a {
        display: inline-block;
        width: 100%;
        height: 100%;
        transition: var(--transitionBase01);

        &:hover {
            opacity: var(--opacity07);
        }
    }
}

@media screen and (max-width: 1024px) {

    .our-workFeatures-strength__list {
        width: min(100%, 600px);
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }

    .our-workFeatures-strengths__item {
        grid-row: initial;
        display: flex;
        flex-direction: column;
    }

    .strengthsBox03-flex {
        flex-direction: column;
        width: min(100%, 500px);

        .map-img {
            width: min(100%, 578px);
        }
    }

    .strengthsCase {
        flex: initial;
        max-width: initial;
        margin-top: max(10%, 30px);
    }


}


@media screen and (max-width: 768px) {
    .our-workFeatures__top {
        flex-direction: column;

        .txtBox {
            margin: 0 0 max(5%, 15px) 0;
            text-align: center;
        }
    }

    .our-workFeatures__doubtList {
        flex: initial;
    }

    .strengths-reasonBox {
        width: min(100%, 400px);
        margin: max(5%, 20px) auto 0;

        .ttl {
            width: min(100%, 300px);
            margin: 0 auto;
        }
    }

    .strengths-reasonSwiper {
        margin: 25px auto 0;
    }

    .strengths-reasonSwiper__list {
        justify-content: initial;

        .swiper-slide {
            width: auto;
        }
    }
}

@media screen and (max-width: 480px) {

    .our-workFeatures__doubtList {
        width: min(100%, 270px);

        li {
            margin-bottom: 10px;
        }
    }

    .our-workFeatures-strength__list {
        width: min(100%, 300px);
        grid-template-columns: repeat(1, 1fr);
    }

    .our-workFeatures-strengths__detail {
        dd {
            width: 100%;
        }
    }

    .strengthsCase {
        padding: 20px 10px;
    }

    .strengthsCase__list {
        gap: 5px;
    }

    .strengthsCase__item {
        width: calc((100% - 5px)/2);
    }

}


/*******************************************
ページネーション
*******************************************/
.paginationFlex {
    display: none;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin-top: max(10%, 30px);
    gap: 10px;

    .pagiDot {
        width: fit-content !important;

        .swiper-pagination-bullet-active {
            background-color: transparent;
            background-color: var(--green01);
            opacity: 1;
        }
    }

    .pagiBtn {
        position: relative;
        width: 40px;
        aspect-ratio: 1;
        background-color: var(--green01);
        border-radius: var(--borderRadiusCircle);
        cursor: pointer;

        &::before,
        &::after {
            position: absolute;
            content: "";
            top: 50%;
            left: 50%;
            background-color: var(--white01);
            width: 30%;
            height: 2px;
        }

        &::before {
            transform-origin: bottom right;
            transform: translate(-65%, -33%) rotate(45deg);
        }

        &::after {
            transform-origin: top right;
            transform: translate(-65%, -67%) rotate(-45deg);
        }

    }

    .prevBtn {
        transform: rotate(180deg);
    }
}



@media screen and (max-width:768px) {
    .paginationFlex {
        display: flex;
    }
}

/*******************************************
our-workAchievements
*******************************************/
.our-workAchievements {
    width: min(100%, 1100px);
    margin: 0 auto;
}

.our-workAchievementsBox {
    &:nth-child(2) {
        margin: max(7.3%, 40px) auto max(15%, 50px);
    }
}

.our-workAchievement__ttl {
    background-color: var(--green01);
    color: var(--white01);
    font-weight: var(--weight700);
    line-height: 1.2;
    padding: 0.3em 5px 0.4em;
    text-align: center;
    margin-bottom: max(3.7%, 25px);
    font-size: var(--font27);
}



.our-workAchievementsBox01 {
    p {
        font-size: var(--font17);
        text-align: center;
    }
}

.our-workAchievementsBox01__txt01 {
    .big {
        font-size: 1.3em;
        margin-bottom: 10px;
        font-weight: var(--weight700);
        letter-spacing: 0.15em;
    }
}

.our-workAchievementsBox01__img {
    width: min(100%, 790px);
    margin: max(3%, 15px) auto max(5%, 30px);
}

.our-workAchievementsBox01__txt02 {
    padding-bottom: max(6.3%, 30px);
    border-bottom: 2px solid var(--black01);

    .big {
        font-size: 1.8em;
        font-weight: var(--weight700);
        background-image: linear-gradient(0deg, var(--yellow02) 0.5em, transparent 0.5em);
    }
}

.our-workAchievementsBox02__img {
    margin: 0 auto;
    width: min(100%, 904px);
    padding-top: 5.5%;
}

.our-workAchievementsVoice__item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 45px;
    margin-bottom: max(7%, 50px);
    width: min(100%, 1065px);

    &:last-child {
        margin-bottom: 0;
    }

    &:nth-child(even) {
        flex-direction: row-reverse;
    }
}

.our-workAchievementsVoice__img {
    width: min(46%, 500px);
}

.our-workAchievementsVoice__txtBox {
    flex: 1;

    .number {
        display: block;
        width: 4.34em;
        line-height: 1;
        aspect-ratio: 90 / 26;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: var(--yellow01);
        color: var(--green01);
        font-size: var(--font21);
        border-right: 1px solid var(--green01);
        border-bottom: 1px solid var(--green01);
        letter-spacing: -0.01em;
    }
}

.our-workAchievementsVoice__detail {
    margin-top: 20px;
    font-size: var(--font21);
    font-weight: var(--weight700);

    dt {
        font-size: 1.76em;
        color: var(--green01);
        line-height: var(--lineHight144);
        margin-bottom: 20px;
    }

    dd {
        font-size: 1em;
        line-height: var(--lineHight152);
    }
}


@media screen and (max-width:768px) {

    .our-workAchievementsVoice__item {
        flex-direction: column;
        align-items: center;
        gap: 20px;

        &:nth-child(even) {
            flex-direction: column;
        }
    }

    .our-workAchievementsVoice__img {
        width: min(100%, 350px);
    }

    .our-workAchievementsVoice__detail {
        margin-top: max(2.7%, 5px);

        dt {
            font-size: 1.4em;
            margin-bottom: max(3%, 10px);
        }
    }
}

/*******************************************
our-workSummary
*******************************************/
.our-workSummary {
    margin: max(5.2%, 50px) auto 0;
}

.our-workSummaryBox {
    width: min(100%, 1100px);
    margin: 0 auto max(8.4%, 40px);

    &:last-child {
        margin-bottom: 0;
    }
}

.our-workSummary__ttl {
    text-align: center;
    font-size: var(--font26);
    line-height: 2.14;
    margin-bottom: max(3%, 15px);
}

.our-workSummaryBox01 {
    .our-workSummary__ttl {
        .under-line02 {
            width: 13.846em;
            display: inline-block;
            text-decoration: none;
            border-bottom: 1px solid var(--black01);
        }
    }
}

.our-workSummaryList {
    display: flex;
    justify-content: space-between;
}

.our-workSummaryList__item {
    width: calc((100% - 50px)/3);
    font-size: var(--font21);
    padding: 30px 20px;
    background-color: var(--green02);

    dt {
        display: flex;
        justify-content: space-between;
        line-height: var(--lineHight152);
    }

    dd {
        margin-top: 30px;
        line-height: var(--lineHight152);

        .small {
            color: var(--gray01);
            font-size: 0.761em;
        }
    }
}

.our-workSummaryList__ttl {
    font-size: 1em;
    flex: 1;
    display: flex;
    flex-direction: column;

    .color-green {
        font-size: 1.428em;
    }
}

.our-workSummaryList__icon {
    width: min(100%, 67px);
    transform: translateY(10%);
}

.our-workSummaryBox03 {
    background-color: var(--green02);
    width: 100%;
    padding: 45px 55px 60px;

    .our-workSummaryList__item {
        background-color: var(--white01);
    }
}

.our-workSummaryBox02__imgBox {
    position: relative;
    width: min(100%, 696px);
    padding-top: 2%;
    margin: 0 auto;

    .human {
        position: absolute;
        bottom: -2%;
        left: 103%;
        width: 116px;
    }
}

@media screen and (max-width:1024px) {
    .our-workSummaryList {
        flex-direction: column;
        width: min(100%, 500px);
        margin: 0 auto;
        justify-content: flex-start;
        gap: 20px;
    }

    .our-workSummaryList__item {
        width: 100%;
    }

    .our-workSummaryBox02__imgBox {
        .human {
            bottom: 0;
            left: 95%;
            width: max(6vw, 30px);
            transform: translateY(55%);
        }
    }
}

@media screen and (max-width:480px) {
    .our-workSummaryList {
        width: min(100%, 300px);
    }

    .our-workSummaryList__item {
        padding: 20px 15px;

        dd {
            margin-top: 15px;
        }
    }

    .our-workSummaryBox03 {
        padding: 25px 10px;
    }

    .our-workSummaryList__icon {
        width: min(100%, 50px);
    }
}

/*******************************************
トップページ　solution
*******************************************/

.top-solution {

    .top-solution__ttl {
        font-size: var(--font65) !important;
        text-align: left;
        line-height: var(--lineHight152);

        .complement {
            font-size: 0.584em !important;
            color: var(--gray02);
            font-weight: var(--weight700);
            letter-spacing: initial;
        }

        .ttlMain {
            font-size: 1em !important;
            letter-spacing: initial;
            color: var(--black01) !important;
            font-weight: var(--weight700);
        }
    }

    .our-workAchievement__ttl {
        font-weight: var(--weight500);
        font-size: var(--font27);
        margin: 0 0 max(4.4%, 20px) 0;

    }
}

.top-solutionFlex {
    margin: max(4.5%, 20px) auto max(5%, 25px) !important;
}

.top-solutionFlex__txt {
    flex: 1;

    p {
        font-size: var(--font20);
        line-height: var(--lineHight200);
    }

}

.topSolutionSwiper {
    width: min(100%, 317px);
    margin: 0 calc(50% - 50vw) !important;
    width: 100vw;
    overflow: visible !important;
}

.topSolutionSwiper__list {
    transition-timing-function: linear !important;

    /* .swiper-slide {
        max-width: 317px;
    } */
}

.top-solutionBanner {
    margin-top: max(5%, 20px);

    a {
        transition: var(--transitionBase01);

        &:hover {
            opacity: var(--opacity07);
        }
    }
}

@media screen and (max-width:1024px) {
    .top-solutionFlex {
        flex-direction: column;
        align-items: center !important;
    }

    .top-solutionFlex__img {
        flex-basis: initial !important;
        width: min(100%, 385px) !important;
    }
}

@media screen and (max-width:480px) {
    .top-solution {
        .our-workAchievement__ttl {
            font-size: 20px;
        }
    }
}


/*******************************************
新採用ページ 2026.06.03 sakuma
*******************************************/
.btn-recruit {
    position: relative;

    &::before {
        position: absolute;
        content: "";
        background-image: url(../img/common/arrow01.svg);
        background-repeat: no-repeat;
        background-size: contain;
        aspect-ratio: 32/31;
        width: 1.23em;
        top: 50%;
        right: 5%;
        transform: translateY(-50%);
    }

    @media screen and (max-width:768px) {
        &::before {
            width: max(0.7em, 12px);
        }
    }
}

.btn-pink01 {
    background-color: var(--pink01) !important;
    color: var(--white01) !important;
}

.btn-green01 {
    background-color: var(--green03) !important;
    color: var(--white01) !important;
}


.recruit {
    background-color: var(--white);

    @media screen and (max-width:768px) {
        main {
            margin-top: 0;
        }
    }

}


.recruitContainer__inner {
    width: min(100%, 1105px);
    margin: 0 auto;
    padding-bottom: clamp(50px, 13%, 190px);

    @media screen and (max-width:1140px) {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

.recruitMv {
    margin-top: min(3%, 38px);

    @media screen and (max-width:768px) {
        margin-top: 0;
        aspect-ratio: 768/300;
        min-height: 200px;

        img {
            object-fit: cover;
            height: 100%;
            object-position: left;
        }
    }
}

.recruitContents {
    padding-bottom: 70px;

    p {
        font-size: clamp(14px, 0.45vw + 12.57px, 19px);
        line-height: 2;
        letter-spacing: 0.14em;
    }

    @media screen and (max-width:480px) {
        line-height: 1.5;
        letter-spacing: 0.05em;
    }
}

.recruitBtnFlex {
    display: flex;
    justify-content: space-between;
    width: min(100%, 920px);
    margin: 0 auto max(11.3%, 50px);

    .btn-outer {
        width: calc((100% - 40px)/2);
        height: max(3.46em, 50px);
        font-size: var(--font26);
    }

    .btn {
        font-size: 1em;

        &::before {
            transform: translateY(-50%) rotate(90deg);
        }
    }

    @media screen and (max-width:768px) {
        flex-direction: column;
        align-items: center;
        width: min(100%, 300px);
        gap: 20px;

        .btn-outer {
            width: 100%;
            font-size: 15px;
        }
    }
}

.recruitmentBox__item {
    margin: 0 auto max(9.5%, 40px);

    &:last-child {
        margin-bottom: 0;
    }
}

.recruitmentBox__ttl {
    font-size: var(--font32);
    overflow: hidden;
    width: 100%;
    margin-bottom: 1.093em;

    &>span {
        position: relative;
        display: block;
        width: fit-content;
        margin: 0 auto;
        text-align: center;
        padding: 0 0.468em;

        &::before,
        &::after {
            position: absolute;
            content: "";
            top: 50%;
            width: 100vw;
            height: 1px;
            background-color: var(--gray01);
        }

        &::before {
            left: 0;
            transform: translateX(-100%);
        }

        &::after {
            right: 0;
            transform: translateX(100%);
        }
    }

    @media screen and (max-width:480px) {
        font-size: 20px;
        line-height: 1.4;
    }
}

.recruitmentBox__btnList {
    .btn-outer {
        width: 100%;
        height: max(3.157em, 60px);
        font-size: var(--font38);
        margin-bottom: max(4.6%, 20px);

        &:last-child {
            margin-bottom: 0;
        }
    }

    .btn {
        font-size: 1em;
        border-radius: 0;
        justify-content: flex-start;
        padding-left: 1.315em;
        line-height: 1.2;
    }

    @media screen and (max-width:768px) {
        .btn-outer {
            font-size: 17px;
        }
    }

    @media screen and (max-width:480px) {
        .btn {
            padding: 0 20px;
            justify-content: center;
        }
    }
}