:root{
    --section_py: 8.25rem;
    --pc_narrow_padding: 4.29vw;
    --pc_more_narrow_padding: 10.71vw;
    @media screen and (max-width: 999px){
        --pc_narrow_padding: 0;
        --pc_more_narrow_padding: 0;
    }
}
h1{
    & .en{
        @media screen and (max-width: 999px){
            display: inline-grid;
            gap: 0;
        }
    }
}
:where(.hentry){
    & .wp-block-paragraph{
        line-height: 2.25;
        @media screen and (max-width: 999px){
            font-size: .886rem;
            line-height: 2.15;
        }
    }
    & h2{
        font-size: 1.65rem;
        margin-bottom: 2.82vw;
        @media screen and (max-width: 999px){
            font-size: 1.5rem;
        }
    }
    & .alignfull.wp-block-cover, & .alignfull.wp-block-group.has-background{
        @media screen and (max-width: 999px){
            padding-left: 0;
            padding-right: 0;
        }
    }
}
@media screen and (min-width: 1000px) {
    .hentry .pcNarrow {
        padding-left: var(--pc_narrow_padding);
    }
}
.partners-gridBlock1{
    align-items: center;
    grid-template-columns: 1fr 1fr;
    margin-bottom: var(--section_py);
    @media screen and (max-width: 999px){
        grid-template-columns: 1fr !important;
        gap: 9.09vw;
        margin-bottom: 13.63vw;
    }
    & .group1{
        max-width: 29rem;
    }
    & .wp-block-image {
        padding-right: var(--pc_narrow_padding);
        @media screen and (max-width: 999px) {
            padding-right: 0;
            margin-left: calc(var(--ark-padding--container) * -1);
            margin-right: calc(var(--ark-padding--container) * -1);
            order: -1;
        }
    }
    & .mb-l{
        margin-bottom: 2.91vw;
    }
}
.sctTsunagaru{
    &.alignfull {
        overflow: hidden;
        padding-top: var(--section_py);
        padding-bottom: var(--section_py);
        @media screen and (max-width: 999px){
            padding-top: 10.23vw;
            padding-bottom: 12.27vw;
        }
    }
}
.partners-gridBlock2{
    grid-template-columns: 1fr 1fr;
    @media screen and (max-width: 999px){
        grid-template-columns: 1fr !important;
        gap: 9.09vw;
    }
    & .leftBox{
        padding-left: var(--pc_narrow_padding);
    }
    & .wp-block-paragraph{
        max-width: 27em;
        @media screen and (max-width: 999px){
            max-width: 100%;
        }
    }
    & .wp-block-image{
        margin-right: -6.94vw;
        @media screen and (max-width: 999px){
            margin-right: 0;
        }
    }
}
.partners-gridBlock2-list1{
    display: grid;
    grid-template-columns: auto auto;
    justify-content: flex-start;
    gap: 1.375rem;
    padding: 0;
    @media screen and (max-width: 999px){
        gap:4.54vw;
        grid-template-columns: 1fr 1fr;
    }
    & li{
        text-align: center;
        display: grid;
        align-content: center;
        color: var(--green);
        border: solid 1px currentColor;
        min-width: 11.25em;
        height: 3.125em;
        border-radius: 1.56em;
        margin: 0;
    }
}
.sctKatsuyo{
    &.alignfull {
        padding-top: var(--section_py);
        padding-bottom: var(--section_py);
        @media screen and (max-width: 999px){
            padding-top: 9.09vw;
            padding-bottom: 9.6vw;
        }
    }

    & h2{
        font-size: 1.875;
        line-height: 1.2;
        text-align: center;
        @media screen and (max-width: 999px){
            font-size: 1.376rem;
            line-height: 1.8;
            word-break: keep-all;
        }
    }
    & .tab_set{
        padding-left: var(--pc_narrow_padding);
        padding-right: var(--pc_narrow_padding);
    }
    & .tab-labels{
        display: grid;
        grid-template-columns: 1fr 1fr;
        min-height: 10rem;
        line-height: 1.1;
        @media screen and (max-width: 999px){
            min-height: inherit;
        }
        & strong{
            font-size: 1.5em;
            line-height: 1.1;
            display: block;
            margin-top: 1.5rem;
            @media screen and (max-width: 999px){
                font-size: 1.125rem;
                line-height: 1.55;
                margin-top: .5rem;
                word-break: keep-all;
            }
        }
        & .en{
            letter-spacing: .3em;
        }
    }
    & .tab-label{
        color: #a49e98;
        padding-left: 1.875rem;
        display: grid;
        align-content: center;
        cursor: pointer;
        @media screen and (max-width: 999px){
            padding: .5rem .5rem .75rem;
        }
    }
    & .tab-label-2{
        & strong{
            @media screen and (max-width: 999px){
                letter-spacing: .07em;
                padding-right: .5em;
            }
        }
    }
    & .tab-containers{
        border-top: solid 1px #e7dfd4;
        padding-top: 2rem;
        min-height: 41.31rem;
        margin-top: 0;
        display: grid;
        grid-template-columns: 1fr;
        @media screen and (max-width: 999px){
            min-height: inherit;
            padding-top: 0;
        }
    }
    & .tab-container{
        visibility:hidden;
        grid-column: 1/2;
        grid-row: 1/2;
        padding-top: 2rem;

        & h3{
            font-size: 1.5rem;
            line-height: 1.91;
            margin-bottom: 1.75rem;
            @media screen and (max-width: 999px){
                font-size: 1.25rem;
                margin-bottom: 1em;
                line-height: 1.8;
                &+.wp-block-paragraph{
                    margin-top: 0;
                }
            }
        }
        & ul{
            margin-top: 1.6rem;
            margin-bottom: 1.75rem;
            display: grid;
            gap: 1.5rem;
            padding: 0;
            @media screen and (max-width: 999px){
                font-size: .8125rem;
                line-height: 2.15;
                gap: 1.4em;
                margin-top: 1.75rem;
                margin-bottom: 1.5rem;
            }
        }
        & li{
            margin: 0;
            list-style: none;
            position: relative;
            padding-left: 3rem;
            line-height: 2.5;
            @media screen and (max-width: 999px){
                word-break: keep-all;
                font-size: .88rem;
            }
            &:before{
                content: '';
                width: 2.5rem;
                height: 1px;
                background: currentColor;
                position: absolute;
                left: 0;
                top: .5em;
            }
            & strong{
                font-size: 1.56em;
                @media screen and (max-width: 999px){
                    font-size: 1.3em;
                }
            }
            &:has(strong:first-child){
                &:before{
                    top: 1.75em;
                    @media screen and (max-width: 999px){
                        top: 1.5em;
                    }
                }
            }
        }
        & .arrowBtn{
            font-size: 1rem;
            height: 2.5em;
            border-radius: 1.25em;
            color:var(--green);
            min-width: 11.25em;
            margin-left: 3rem;
            @media screen and (max-width: 999px){
                font-size: .75rem;
            }
        }
    }
    & #content-land{
        & .lead{
            max-width: 44rem;
        }
        & ul{
            max-width: 26rem;
        }
    }
    & #content-partner{
        background: url("https://allbeans.jp/wp/wp-content/uploads/2026/06/partners_japan.svg") right top/42rem no-repeat;
        padding-bottom: 2.8rem;
        @media screen and (max-width: 999px){
            padding-top: 0;
            padding-bottom: 0;
            margin-left: calc(var(--ark-padding--container) * -1);
            padding-left: var(--ark-padding--container);
            margin-right: calc(var(--ark-padding--container) * -1);
            padding-right: var(--ark-padding--container);
            background: url("https://allbeans.jp/wp/wp-content/uploads/2026/06/partners_japan.svg") left center/contain no-repeat;
        }
        & .lead{
            max-width: 44rem;
            margin-top: 1.2rem;
        }
        & ul{
            gap: 0;
            margin-bottom: 4rem;
        }
        @media screen and (max-width: 999px) {
            > .wp-block-group__inner-container {
                display: flex;
                flex-direction: column;
                height: 100%;
            }
            & .arrowBtn {
                justify-self: flex-end;
                align-self: flex-start;
                margin-top:auto;
                margin-bottom: 0;
            }
        }
    }
    & input{
        display: none;
    }
    &:has(#tab-land:checked){
        & .tab-label[for="tab-land"]{
            color: #e7dfd4;
            background: #4f5c4e;
        }
        & #content-land{
            visibility: visible;
        }
    }
    &:has(#tab-partner:checked){
        & .tab-label[for="tab-partner"]{
            color: #e7dfd4;
            background: #4f5c4e;
        }
        & #content-partner{
            visibility: visible;
            margin-top: 0;
        }
    }
}
.sctPromise{
    margin-top: var(--section_py);
    margin-bottom: 6.625rem;
    @media screen and (max-width: 999px){
        margin-top: 11.09vw;
        margin-bottom: 12.18vw;
    }
    & h2{
        font-size: 1.875rem;
        margin-bottom: 6.25rem;
        @media screen and (max-width: 999px){
            font-size: 1.375rem;
            line-height: 1.81;
            margin-bottom: 1em;
        }
    }
    & .partners-promisebox{
        grid-template-columns: 1fr 1fr;
        margin: 0 var(--pc_narrow_padding);
        gap: 0 6.25vw;
        min-height: 17.625rem;
        align-items: center;
        border-top: solid 1px #c8c1b9;
        @media screen and (max-width: 999px){
            grid-template-columns: 1fr;
            min-height: inherit;
            padding-top: 3.2vw;
            padding-bottom: 6.21vw;
            gap: 0;
        }
        &:last-child{
            border-bottom: solid 1px #c8c1b9;
        }
        & .is-layout-grid{
            grid-template-columns: 6.875rem 1fr;
            gap: 0 4.17vw;
            align-items: center;
            @media screen and (max-width: 999px){
                grid-template-columns: 3.13rem 1fr;
                gap: 0 4.54vw
            }
        }
        & h3{
            font-size: 1.5rem;
            line-height: 1.66;
            margin: 0;
            @media screen and (max-width: 999px){
                font-size: 1.25rem;
                line-height: 1.8;
            }
        }
    }
}
.sctLand{
    &.alignfull {
        padding-top: 7.5rem;
        padding-bottom: 7.5rem;
        @media screen and (max-width: 999px){
            padding-top: 13.63vw;
            padding-bottom: 13.63vw;
        }
    }
    & h2{
        padding-left: var(--pc_narrow_padding);
        margin-bottom: 6.94vw;
        font-size: 1.875rem;
        @media screen and (max-width: 999px){
            font-size: 1.25rem;
            line-height: 1.8;
            margin-bottom: 1em;
        }
    }
    & .partners-landGrid{
        grid-template-columns: auto auto;
        justify-content: space-between;
        margin-left: var(--pc_more_narrow_padding);
        margin-right: var(--pc_more_narrow_padding);
        margin-top: 0;
        padding-top: 6.94vw;
        padding-bottom: 6.94vw;
        align-items: center;
        border-bottom: solid 1px var(--beige);
        @media screen and (max-width: 999px){
            grid-template-columns: 1fr;
            border: none;
            margin-top: 13.63vw;
            padding-top: 0;
            padding-bottom: 0;
        }
        &:nth-of-type(1){
            padding-top: 0;
            @media screen and (max-width: 999px){
                margin-top: 0;
            }
        }
        >.wp-block-image{
            width: 30vw;
            @media screen and (max-width: 999px){
                order: -1;
                width: auto;
                margin-bottom: 1rem;
            }
        }
        >.wp-block-group{
            width: 27.14vw;
            @media screen and (max-width: 999px){
                width: auto;
            }
        }
        & h3{
            font-size: 1.5rem;
            & .en{
                font-size: 1rem;
                display: inline-block;
                margin-bottom: .75em;
                letter-spacing: .4em;
            }
            +.wp-block-paragraph{
                margin-top: 1.6rem;
                @media screen and (max-width: 999px){
                    margin-top: 1.4rem;
                }
            }
        }
    }
    & .last_message{
        padding-left: var(--pc_more_narrow_padding);
        padding-right: var(--pc_more_narrow_padding);
        @media screen and (max-width: 999px){
            border-top: solid 1px var(--beige);
            margin-top: 13.63vw;
            padding-top: 9.09vw;
            font-size: 1.125rem;
            line-height: 2;
        }
    }
}
& .sctCase{
    &.alignfull {
        padding-top: var(--section_py);
        padding-bottom: var(--section_py);
        @media screen and (max-width: 999px){
            padding-top: 8.32vw;
            padding-bottom: 17.04vw;
        }
    }
    & .catch1{
        font-size: 1.875rem;
        line-height: 2;
        padding-left: var(--pc_more_narrow_padding);
        margin-bottom: 4.75rem;
        @media screen and (max-width: 999px){
            font-size: 1.25rem;
            line-height: 1.8;
            margin-bottom: 15.9vw;
        }
    }
    & .sctCase-grid1{
        grid-template-columns: repeat(4,1fr);
        gap: 1rem;
        @media screen and (max-width: 999px){
            overflow: auto;
            width: 100%;
            >.wp-block-group{
                width: 64.09vw;
                padding-bottom: 3vw;
            }
        }
        & .wp-block-paragraph{
            font-size: .94rem;
            line-height: 2;
        }
    }
    & .catch2{
        margin-left: var(--pc_narrow_padding);
        margin-right: var(--pc_narrow_padding);
        margin-top: 6.96vw;
        margin-bottom: 3.75rem;
        padding-top: 4.12vw;
        border-top: solid 2px var(--green);
        font-size: 2.08vw;
        line-height: 2;
        @media screen and (max-width: 999px){
            font-size: 1.31rem;
            line-height: 1.9;
            padding-top: 7.5vw;
            margin-bottom: 1.5rem;
            text-align: left;
            word-break: keep-all;
        }
    }
    & h2{
        padding-left: var(--pc_narrow_padding);
        & .en {
            font-size: 3.125rem;
            display: inline-block;
            margin-bottom: .2em;
        }
    }
}
.partnerCasesWrapper{
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: flex-start;
    gap: 6.53vw;
    padding-left: var(--pc_narrow_padding);
    padding-right: var(--pc_narrow_padding);
    @media screen and (max-width: 999px){
        grid-template-columns: 1fr;
        gap: 0;
        margin-top: 8.6vw !important;
    }
    & .case_selector{
        display: flex;
        align-items: center;
        gap: .5em;
        cursor: pointer;
        input{
            display: none;
        }
        &:before{
            content: '';
            display: inline-block;
            width: 1.2em;
            height: 1.2em;
            background: url("../imgs/cmn/slide-next-green.svg") center/contain no-repeat;
        }
        &:has(input:checked),&:hover{
            &:before{
                background-image: url("../imgs/cmn/slide-next-sand.svg");
            }
        }
    }
    & .labels{
        font-size: 1.5rem;
        display: grid;
        gap: 1em;
        margin-top: 5rem;
        line-height: 1.1;
        @media screen and (max-width: 999px){
            display: none;
        }
    }
    & .tab_contents{
        @media screen and (max-width: 999px){
            display: grid;
            grid-template-columns: 1fr;
            gap: 18.18vw;
        }
    }
    & .tab_content {
        display: none;
        grid-template-columns: 25vw 1fr;
        gap: 0 3.57vw;
        overflow: hidden;
        @media screen and (max-width: 999px){
            display: grid;
            grid-template-columns: 1fr;
            gap: 0;
            overflow: visible;
        }
        & .case_info{
            grid-column: 1/-1;
        }
        & .case_count{
            font-size: 1.25rem;
        }
        & img{
            display: block;
        }
        &.active{
            display: grid;
            order: -1;
            @media screen and (max-width: 999px){
                order: 0;
            }
        }
    }
    & h3{
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 1rem .5rem;
        align-items: center;
        margin-bottom: 2.25rem;
        letter-spacing: 0;
        & .copy{
            grid-column: 1/-1;
            font-size: 1.5rem;
            line-height: 1.66;
            display: block;
        }
    }
    & .images{
        display: grid;
        grid-template-rows: 1fr 1fr;
        gap: 2.08vw;
        & input{
            display: none;
        }
        & figure{
            margin-top: 0;
            margin-bottom: 0;
        }
        @media screen and (max-width: 999px){
            display: grid;
            grid-template-columns: 9.09vw 1fr;
            grid-template-rows: auto;
            align-items: flex-start;
            gap: 1rem;
            & figure{
                display: none;
                margin-top: 0;
                margin-bottom: 0;
                margin-right: calc(var(--ark-padding--container) * -1);
            }
        }
        & input:checked + figure{
            display: block;
        }
    }
    & .image_selectors{
        display: none;
        @media screen and (max-width: 999px){
            display: grid;
            padding-top: 32.73vw;
            gap: .75rem;
        }
        & .before{
            transform: scaleX(-1);
        }
    }
    & figcaption{
        font-family: var(--f-gothic);
        font-size: .93rem;
        line-height: 1.1;
        margin: .8em 0 0;
        display: block;
        text-align: center;
    }
    & img{
        width: 25.71vw;
        @media screen and (max-width: 999px){
            width: auto;
        }
    }
    .text_group{
        display: grid;
        grid-template-rows: 1fr 1fr;
        gap: 2.08vw;
        @media screen and (max-width: 999px){
            margin-top: 10vw;
        }
    }
    & .meta{
        font-size: 1.25rem;
        line-height: 1.1;
        margin-bottom: 2.65rem;
        display: flex;
        align-items: center;
        gap: .5em;
        letter-spacing: 0;
        padding-left: .5rem;
        @media screen and (max-width: 999px){
            font-size: 1.06rem;
        }
        &:before{
            content: '';
            display: inline-block;
            width: 2.5em;
            height: 1px;
            overflow: hidden;
            background: currentColor;
        }
    }
    & .details{
        line-height: 2.25;
        letter-spacing: 0;
        @media screen and (max-width: 999px){
            margin-top: 1.5rem;
            margin-bottom: 1.25rem;
            font-size: .813rem;
            line-height: 2.15;
        }
    }
    & .owner_box{
        /*margin-top: 2.08vw;*/
        background: var(--green);
        color: var(--beige);
        border-radius: .63rem;
        padding: 1.75rem 1.25rem 1.25rem;
        font-size: .94rem;
        line-height: 2;
        & h4{
            font-size: 1.25rem;
            line-height: 1.1;
            margin-bottom: 1.2em;
            @media screen and (max-width: 999px){
                font-size: 1.06rem;
            }
        }
        & p{
            font-family: var(--f-gothic);
            @media screen and (max-width: 999px){
                font-size: .813rem;
                line-height: 2.15;
            }
        }
    }
}
.sctContact{
    &.alignfull {
        padding-top: 6.94vw;
        padding-bottom: 9.03vw;
    }
    & .narrow_container{
        padding-left: var(--pc_narrow_padding);
        padding-right: var(--pc_narrow_padding);
        @media screen and (max-width: 999px){
            padding-top: 1.14vw;
            padding-bottom: 36.36vw;
        }
    }
    & .gothic{
        font-family: var(--f-gothic);
    }
    & h2{
        font-size: 1.875rem;
        margin-bottom: 1.4em;
        @media screen and (max-width: 999px){
            font-size: 1.31rem;
        }
    }
    & .grid1{
        margin-top: 5.55vw;
        @media screen and (max-width: 999px){
            margin-top: 3vw;
        }
        & .wp-block-column{
            padding: 4.375rem 3.125rem 3.75rem;
            @media screen and (max-width: 999px){
                padding: 3.13rem 1.56rem 2.5rem;
            }
        }
        & h3{
            text-align: center;
            font-size: 1.875rem;
            line-height: 1.1;
            margin-bottom: .8em;
            @media screen and (max-width: 999px){
                font-size: 1.4rem;
            }
        }
    }
    & .button_line{
        margin-top: 0;
        & img {
            display: block;
            width: 12.5rem;
            @media screen and (max-width: 999px){
                width: 33.86vw;
            }
        }
    }
    & .qr_line{
        margin-top: 2rem;
        margin-bottom: 3.5rem;
        & img {
            display: block;
            width: 12.5rem;
            @media screen and (max-width: 999px){
                width: 33.86vw;
            }
        }
    }
    & .grid1-item1{
        & strong{
            font-size: 1.125rem;
        }
    }
    & .grid1-item2{
        .button_area{
            margin-top: 4.75rem;
            text-align: center;
        }
        & .button{
            background: var(--green);
            color: var(--beige);
            text-decoration: none;
            font-size: 1.375rem;
            display: inline-grid;
            font-family: var(--f-gothic);
            align-content: center;
            min-width: 14.55em;
            min-height: 4.55em;
        }
    }
    & .grid2{
        gap: 3.47vw;
        align-items: center;
        @media screen and (max-width: 999px){
            flex-direction: column;
            align-items: flex-start;
            gap: 2.3vw;
        }
        & a{
            display: inline-block;
        }
        & img{
            display: block;
        }
    }
}