/* =====================
    common
========================= */
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: 1200px;
    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;
    background-color: var(--gray-medium-color);
}
.swiper-container {
    position: relative;
    overflow: hidden;
}

.swiper-wrapper{
    aspect-ratio: 16/9;
}

.swiper-slide img {
    width: 100%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 9s ease-in-out;
}

.swiper-slide-active img {
    transform: scale(1.1); /* 10%拡大 */
}

.slider-title{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -2%);
    text-align: center;
    width: 100%;
    z-index: 1;
    color: #ffffff;
    padding: 0 1em;
}
.jp-title h1{
    font-size: calc(30px + (70 - 30) * ((100vw - 320px) / (1280 - 320)));
    font-weight: 600;
    letter-spacing: 0.13em;
    font-feature-settings: "palt";
    margin-bottom: calc(-10px + ( -15 - -10 ) * ((100vw - 320px) / (1280 - 320)));
}

.jp-title h1 br{
    display: none;
}

.mv-bottom-banner{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  z-index: 50;
}

.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){
    .swiper-wrapper {
        aspect-ratio: 16/16;
    }
    .slider-title{
        top: 35%;
    }
    .jp-title h1{
        line-height: 1.4;
        margin-bottom: 1%;
    }
    .jp-title h1 br{
        display: block;
    }
  .mv-bottom-banner img{ width: min(94vw, 520px); 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;
    }
}
/* =====================
    アーカイブ(タク) 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;
}
.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{
    flex: 0 0 76%;
}
.home .item_column02 .info_titleCol{
    margin-top: 1em;
    flex: 0 0 3%;
    writing-mode: vertical-rl;
    color: var(--gray-dark-color);
    font-weight: 600;
}
@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%;
    }
}

/* =====================
    固定ページ
========================= */
.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{
    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);
    }
}
