:where(.btn-list){
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-rows: max-content;
    gap: calc(30 / var(--vw) * var(--base));
}

:where(.btn-list-column){
    display: block;
}

.btn,
.btn-high,
.btn-back{
    display: inline-block;
    align-content: center;
    box-sizing: border-box;
    position: relative;
    border: 1px solid #000;
    background-color: transparent;
    width: 100%;
    height: 100%;
    max-width: calc(720 / var(--vw) * var(--base));
    max-height: calc(100 / var(--vw) * var(--base));
    min-height: calc(70 / var(--vw) * var(--base));
    padding-block-start: calc(13 / var(--vw) * var(--base));
    padding-block-end: calc(10 / var(--vw) * var(--base));
    padding-inline-start: calc(24 / var(--vw) * var(--base));
    padding-inline-end: calc(74 / var(--vw) * var(--base));
    line-height: calc(32/23);
    text-align: left;
}

.btn-high {
    min-height: calc(100 / var(--vw) * var(--base));
    line-height: 1.1;
}

.btn-high small{
    font-size: calc(18 / var(--vw) * var(--base));
}

.c-btn-contact .btn-high{
    min-height: calc(118 / var(--vw) * var(--base));
    max-height: inherit;
    font-size: calc(28 / var(--vw) * var(--base));
}

.btn-back{
    max-width: calc(400 / var(--vw) * var(--base));
    min-height: calc(78 / var(--vw) * var(--base));
    padding-inline: calc(24 / var(--vw) * var(--base));
    text-align: center;
}

.btn date,
.btn-high date{
    display: inline-block;
    font-size: calc(17 / var(--vw) * var(--base));
    letter-spacing: 0.07em;
}

.btn:after,
.btn-high:after,
.btn-back:after{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: calc(20 / var(--vw) * var(--base));
    transform: translateY(-50%);
    background: url("../img/arrow-bk.svg") no-repeat center/contain;
    border-radius: 50%;
    border: 1px solid var(--bk);
    transition: 0.6s ease;
}

.btn:after,
.btn-back:after{
    width: calc(39/23*1rem);
    height: calc(39/23*1rem);
}

.btn-high:after {
    width: calc(45/23*1rem);
    height: calc(45/23*1rem);
}

@media (min-width: 769px) {
    .btn{
        max-width: calc(480 / var(--vw) * var(--base));
        font-size: calc(16 / var(--vw) * var(--base));
    }

    .btn date {
        font-size: calc(14 / var(--vw) * var(--base));
    }

    .btn:after{
        width: calc(37 / var(--vw) * var(--base));
        height: calc(37 / var(--vw) * var(--base));
    }

    .btn-high {
        font-size: calc(23 / var(--vw) * var(--base));
        line-height: 1.2;
    }

    .btn-high small{
        font-size: calc(14 / var(--vw) * var(--base));
    }

    .c-btn-contact .btn-high{
        min-height: calc(118 / var(--vw) * var(--base));
        max-height: inherit;
        font-size: calc(25 / var(--vw) * var(--base));
    }

    .btn-high:after {
        width: calc(45 / var(--vw) * var(--base));
        height: calc(45 / var(--vw) * var(--base));
    }

    .btn-back {
        max-width: calc(400 / var(--vw) * var(--base));
        font-size: calc(20 / var(--vw) * var(--base));
    }

    .btn-back:after {
        width: calc(37 / var(--vw) * var(--base));
        height: calc(37 / var(--vw) * var(--base));
    }

    .btn:hover,
    .btn-high:hover,
    .btn-back:hover {
        opacity: 1;
        background-color: var(--gr);
        border-color: var(--gr);
        color: #fff;
        text-decoration: none;
    }

    .btn:hover:after,
    .btn-high:hover:after,
    .btn-back:hover:after {
        border-color: #fff;
        background-image: url("../img/arrow-wh.svg");
        animation-duration: 0.4s;
        animation-name: arrow;
        animation-fill-mode: forwards;
        animation-timing-function: cubic-bezier(.19, 1, .22);
    }
}

@media (min-width: 1600px) {
    .btn:after,
    .btn-high:after,
    .btn-back:after {
        right: calc(33 / var(--vw) * var(--base));
    }
}

.link-to-page,
.link-to-list{
    display: inline-flex;
    align-items: center;
    gap: calc(30 / var(--vw) * var(--base));
    width: max-content;
    height: auto;
    line-height: calc(32/23);
    text-decoration: underline;
}

.link-to-page:after,
.link-to-list:after{
    content: "";
    display: inline-block;
    flex-shrink: 0;
    background: url("../img/arrow-bk.svg") no-repeat center/contain;
    border-radius: 50%;
    border: 1px solid var(--bk);
    transition: 0.3s ease;
}

.link-to-page:after{
    width: calc(39 / var(--vw) * var(--base));
    height: calc(39 / var(--vw) * var(--base));
}

.link-to-list:after {
    width: calc(39 / var(--vw) * var(--base));
    height: calc(39 / var(--vw) * var(--base));
}

@media (min-width: 769px) {
    .link-to-page,
    .link-to-list {
        line-height: calc(41/23);
    }

    .link-to-page:after {
        width: calc(37 / var(--vw) * var(--base));
        height: calc(37 / var(--vw) * var(--base));
    }

    .link-to-list:after {
        width: calc(37 / var(--vw) * var(--base));
        height: calc(37 / var(--vw) * var(--base));
    }

    .link-to-page:hover:after,
    .link-to-list:hover:after {
        animation-duration: 0.4s;
        animation-name: arrow;
        animation-fill-mode: forwards;
        animation-timing-function: cubic-bezier(.19, 1, .22);
    }

    @keyframes arrow {
        0%{
            background-position-x: center;
        }
        50%{
            background-position-x: right;
        }
        100% {
            background-position-x: center;
        }
    }
}

.label{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--gr);
    box-sizing: border-box;
    width: calc(200 / var(--vw) * var(--base));
    height: calc(32 / var(--vw) * var(--base));
    padding-block-start: calc(3 / var(--vw) * var(--base));
    color: #fff;
    font-size: calc(18 / var(--vw) * var(--base));
    letter-spacing: 0.14em;
    text-indent: 0.14em;
}

@media (min-width: 769px) {
    .label {
        background-color: var(--lg);
        width: calc(218 / var(--vw) * var(--base));
        height: calc(32 / var(--vw) * var(--base));
        font-size: calc(18 / var(--vw) * var(--base));
    }
}

:where(.h-lead, .h-lead-s) {
    margin-block-start: calc(20 / var(--vw) * var(--base));
    margin-block-end: calc(20 / var(--vw) * var(--base));
    font-size: calc(28 / var(--vw) * var(--base));
    line-height: calc(46/28);
    letter-spacing: 0.15em;
}

@media (min-width: 769px) {
    :where(.h-lead-s) {
        font-size: calc(20 / var(--vw) * var(--base));
    }
}

.h-lead+p,
.h-lead+ul,
.h-lead+ol {
    margin-block-start: 0;
}

.h-lead-s+p,
.h-lead-s+ul,
.h-lead-s+ol {
    margin-block-start: 0;
}

@media (min-width: 769px) {
    :where(a.underline) {
        display: inline;
        position: relative;
        text-decoration: none;
    }

    a.underline:before {
        content: "";
        display: inline-block;
        width: 0%;
        height: 1px;
        background-color: currentColor;
        position: absolute;
        bottom: 0;
        right: 0;
        transition: 0.3s ease;
    }

    a.underline:hover{
        opacity: 1;
        text-decoration: none;
    }

    a.underline:hover:before {
        width: 100%;
        left: 0;
        right: inherit;
    }
}

@media (max-width: 768px) {
    .c-tab{
        position: relative;
    }

    .c-tab-list{
        overflow: hidden;
        position: absolute;
        top: calc(70 / var(--vw) * var(--base));
        left: 0;
        box-sizing: border-box;
        transition: 0.6s ease;
        width: 100%;
        height: 0;
        margin-block-start: 0;
    }

    .c-tab-header.active+.c-tab-list{
        height: auto;
    }

    .c-tab-list-item,
    .c-tab-header{
        position: relative;
        background-color: #fff;
        box-sizing: border-box;
        transition: 0.6s ease;
        height: calc(70 / var(--vw) * var(--base));
        padding-block-start: calc(3 / var(--vw) * var(--base));
        padding-inline: 1.0em;
        align-content: center;
        font-size: calc(25 / var(--vw) * var(--base));
        text-align: left;
    }

    .c-tab-list-item{
        padding-inline-start: 1.5em;
        border-left: 1px solid var(--bk);
        border-right: 1px solid var(--bk);
        box-sizing: border-box;
    }

    .c-tab-list-item:not(:last-child) {
        border-bottom: 1px solid #ccc;
    }
    .c-tab-list-item:last-child{
        border-bottom: 1px solid var(--bk);
    }

    .c-tab-header {
        border: 1px solid var(--bk);
        box-sizing: border-box;
    }

    .c-tab-header:after {
        content: "";
        display: inline-block;
        transform: translateY(-50%);
        position: absolute;
        top: 50%;
        right: 0;
        background: url("../img/icon-open-bk.svg") no-repeat center/contain;
        width: calc(41 / var(--vw) * var(--base));
        height: calc(41 / var(--vw) * var(--base));
        margin-right: calc(14 / var(--vw) * var(--base));
    }

    .c-tab-header.active:after {
        background: url("../img/icon-close-bk.svg") no-repeat center/contain;
    }
    
}

@media (min-width: 769px) {
    .c-tab-header{
        display: none;
    }

    .c-tab-list {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        grid-gap: calc(10 / var(--vw) * var(--base));
        width: 100%;
    }

    .c-tab-list-item {
        transition: 0.6s ease;
        align-content: center;
        border: 1px solid var(--bk);
        box-sizing: border-box;
        height: calc(46 / var(--vw) * var(--base));
        padding-block-start: calc(2 / var(--vw) * var(--base));
        text-align: center;
    }

    .c-tab-list-item:hover,
    .c-tab-list-item.current {
        background-color: var(--gr);
        border-color: var(--gr);
        color: #fff;
    }

    .c-tab-list-item:not(.current){
        cursor: pointer;
    }
}

.c-search-list {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    column-gap: calc(20 / var(--vw) * var(--base));
    row-gap: calc(27 / var(--vw) * var(--base));
    width: 100%;
}

.c-search-label{
    display: block;
    background-color: transparent;
    height: 100%;
    min-height: calc(60 / var(--vw) * var(--base));
    padding-block-start: calc(3 / var(--vw) * var(--base));
    padding-inline: 0.5em;
    align-content: center;
    border: 1px solid var(--bk);
    box-sizing: border-box;
    font-size: calc(21 / var(--vw) * var(--base));
    letter-spacing: 0.02em;
    text-align: center;
    line-height: 1.5;
}

.c-search-label:hover,
.c-search-label.current {
    opacity: 1;
    background-color: var(--gr);
    border-color: var(--gr);
    color: #fff;
    text-decoration: none;
}

.c-search-label input {
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
}

.c-search-label:has(input:checked) {
    background: var(--gr);
    border-color: var(--gr);
    color: #fff;
}

@media (min-width: 769px) {
    .c-search-list {
        display: flex;
        flex-wrap: wrap;
        column-gap: calc(29 / var(--vw) * var(--base));
        row-gap: calc(23 / var(--vw) * var(--base));
        width: 100%;
    }

    .c-search-list:has(+ .c-search-headline){
        margin-block-end: calc(85 / var(--vw) * var(--base));
    }

    .c-search-label {
        display: inline-block;
        transition: 0.6s ease;
        min-height: calc(46 / var(--vw) * var(--base));
        padding-block-start: calc(2 / var(--vw) * var(--base));
        padding-inline: 2.0em;
        font-size: calc(16 / var(--vw) * var(--base));
        letter-spacing: 0.1em;
    }
   
    .c-search-label:not(.current) {
        cursor: pointer;
    }
}

.c-search-scroll {
    overflow: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--gr) #cccccc;
    max-height: calc(324 / var(--vw) * var(--base));
    padding-block: calc(30 / var(--vw) * var(--base));
}

.c-search-scroll::-webkit-scrollbar-thumb {
    border-radius: 0px;
}

@media (min-width: 769px) {
    .c-search-scroll {
        max-height: calc(286 / var(--vw) * var(--base));
        padding-block: 0;
    }
}

@media (max-width: 768px) {
    .c-search-tab{
        overflow: hidden;
        transition: 0.6s ease;
        height: calc(384 / var(--vw) * var(--base));
    }

    .c-search-tab.current{
        border-top: 1px solid var(--bk);
    }

    .c-search-tab:last-child {
        border-bottom: 1px solid var(--bk);
    }

    .c-search-tab:not(.current) {
        height: 0;
    }
}

@media (min-width: 769px) {
    .c-search-tab:not(.current) {
        display: none;
    }
}

@media (max-width: 768px) {
    .c-search-headline {
        margin-block-start: 0;
        margin-block-end: calc(25 / var(--vw) * var(--base));
        color: var(--gr);
        font-size: calc(23 / var(--vw) * var(--base));
        font-weight: 500;
        line-height: 1;
    }

    .c-search-headline + .c-search-list{
        margin-block-start: 0;
    }
}

@media (min-width: 769px) {
    .c-search-headline {
        margin-block-start: 0;
        margin-block-end: calc(32 / var(--vw) * var(--base));
        color: var(--gr);
        font-size: calc(20 / var(--vw) * var(--base));
        font-weight: 400;
        line-height: 1;
    }
}

/* .c-category */

.c-category-label input {
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
}

@media (max-width: 768px) {
    .c-category {
        position: relative;
        z-index: 10;
    }

    .c-category-list {
        overflow: hidden;
        position: absolute;
        top: calc(70 / var(--vw) * var(--base));
        left: 0;
        background-color: #fff;
        box-sizing: border-box;
        transition: 0.6s ease;
        width: 100%;
        height: 0;
        margin-block-start: 0;
    }

    .c-category-header.active+.c-category-list {
        height: auto;
    }

    .c-category-list-item .c-category-label,
    .c-category-header {
        display: block;
        position: relative;
        background-color: #fff;
        box-sizing: border-box;
        transition: 0.6s ease;
        height: calc(70 / var(--vw) * var(--base));
        padding-inline: 1.0em;
        padding-block-start: calc(2 / var(--vw) * var(--base));
        align-content: center;
        font-size: calc(25 / var(--vw) * var(--base));
        text-align: left;
    }

    .c-category-list-item .c-category-label {
        padding-inline-start: 1.5em;
    }

    .c-category-list-item{
        border-left: 1px solid var(--bk);
        border-right: 1px solid var(--bk);
        box-sizing: border-box;
    }

    .c-category-list-item:not(:last-child) {
        border-bottom: 1px solid #ccc;
    }

    .c-category-list-item:last-child {
        border-bottom: 1px solid var(--bk);
    }

    .c-category-header {
        border: 1px solid var(--bk);
        box-sizing: border-box;
    }

    .c-category-header:after {
        content: "";
        display: inline-block;
        transform: translateY(-50%);
        position: absolute;
        top: 50%;
        right: 0;
        background: url("../img/icon-open-bk.svg") no-repeat center/contain;
        width: calc(41 / var(--vw) * var(--base));
        height: calc(41 / var(--vw) * var(--base));
        margin-right: calc(14 / var(--vw) * var(--base));
    }

    .c-category-header.active:after {
        background: url("../img/icon-close-bk.svg") no-repeat center/contain;
    }

}

@media (min-width: 769px) {
    .c-category-list {
        display: flex;
        flex-wrap: wrap;
        column-gap: calc(32 / var(--vw) * var(--base));
        row-gap: calc(24 / var(--vw) * var(--base));
        margin-block-start: 0;
    }

    .c-category-list:not(:last-child) {
        margin-block-end: calc(84 / var(--vw) * var(--base));
    }

    .c-category-label {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        position: relative;
        background: transparent;
        border: 1px solid var(--bk);
        box-sizing: border-box;
        transition: 0.6s ease;
        height: calc(43 / var(--vw) * var(--base));
        padding-inline: 2.0em;
        padding-block-start: calc(2 / var(--vw) * var(--base));
        cursor: pointer;
    }
    
    .c-category-label:has(input:checked),
    .c-category-label.current,
    .c-category-label:hover {
        background: var(--gr);
        border-color: var(--gr);
        color: #fff;
        text-decoration: none;
    }

    .c-category-list-item a:not(.current) {
        cursor: pointer;
    }

    .c-category-header{
        display: none;
    }
}

.c-cases {
    background: var(--bg);
}

.c-cases .page-section-inner {
    padding-block-start: calc(90 / var(--vw) * var(--base));
    padding-block-end: calc(150 / var(--vw) * var(--base));
}

.c-cases-headline {
    margin-block-start: 0;
    margin-block-end: calc(54 / var(--vw) * var(--base));
    font-size: calc(28 / var(--vw) * var(--base));
    font-weight: 600;
    letter-spacing: 0.2em;
    line-height: 1;
}

.c-cases-list {
    width: 80%;
    margin-block-end: calc(100 / var(--vw) * var(--base));
}

.c-cases-list-column {
    width: 100%;
    margin-block: 0;
}

.c-cases-list-column a:hover {
    text-decoration: none;
}

@media (min-width: 769px) {
    .c-cases-list {
        width:auto;
    }

    .c-cases-list-column {
        width: calc(654 / var(--vw) * var(--base));
    }

    .c-cases-list .swiper-controll{
        display: none;
    }
}

.c-accordion-list{
    border-bottom: 1px solid var(--bk);
}

.c-accordion-list-header{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    column-gap: calc(35 / var(--vw) * var(--base));
    position: relative;
    border-top: 1px solid var(--bk);
    height: calc(86 / var(--vw) * var(--base));
}

.c-accordion-list-header:after {
    content: "";
    display: inline-block;
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    right: 0;
    background: url("../img/icon-open-bk.svg") no-repeat center/contain;
    width: calc(41 / var(--vw) * var(--base));
    height: calc(41 / var(--vw) * var(--base));
    margin-right: calc(14 / var(--vw) * var(--base));
}

.c-accordion-list-header.active:after {
    background: url("../img/icon-close-bk.svg") no-repeat center/contain;
}

.c-accordion-list-header-title{
    margin-block-end: 0;
    padding-block-start: 2px;
    font-size: calc(25 / var(--vw) * var(--base));
    font-weight: 500;
    letter-spacing: 0.14em;
}

.c-accordion-list-toggle{
    overflow: hidden;
    transition: 0.6s ease;
    height: 0;
}

.c-accordion-list-inner{
    border-top: 1px solid var(--border);
}
@media (min-width: 769px) {
    .c-accordion-list-header {
        column-gap: calc(70 / var(--vw) * var(--base));
        height: calc(80 / var(--vw) * var(--base));
        padding-inline: calc(50 / var(--vw) * var(--base));
        cursor: pointer;
    }

    .c-accordion-list-header:after{
        width: calc(37 / var(--vw) * var(--base));
        height: calc(37 / var(--vw) * var(--base));
        margin-right: calc(50 / var(--vw) * var(--base));
    }

    .c-accordion-list-header-title {
        font-size: calc(20 / var(--vw) * var(--base));
        letter-spacing: 0.1em;
    }

}