:root,
::before,
::after {
    /* max width */
    --celseo-medatsu-narrow-max-width: 52.5rem;     /* 840px */
    --celseo-medatsu-max-width: 63rem;              /* 1008px */
    --celseo-medatsu-wide-max-width: 96rem;         /* 1536px */

    /* font sizes */
    --celseo-font-size-xs: .875rem;
    --celseo-font-size-s: 1rem;
    --celseo-font-size-normal: 1.25rem;
    --celseo-font-size-m: 1.25rem;
    --celseo-font-size-l: 1.5rem;
    --celseo-font-size-xl: 1.75rem;
    --celseo-font-size-xxl: 2rem;
    --celseo-font-size-xxxl: 2.5rem;
    --celseo-font-size-xxxxl: 3.125rem;
    --celseo-font-size-xxxxxl: 3.5rem;

    /* icons */
    --celseo-medatsu-headline-check-icon-path: url("../../Icons/icon-tick.svg");
    --celseo-medatsu-headline-check-icon-size: 4rem;

    --celseo-medatsu-teaser-image-aspect-ratio: 16 / 9;

    --celseo-chapter-fullwidth-width: 96rem;

    --celseo-medatsu-aspect-ratio-default: 3 / 2;

    --celseo-medatsu-very-light-grey: #eee;
    --celseo-medatsu-form-field-background: #f7f7f8;
    --celseo-medatsu-form-field-border: #d9d9d9;
    --celseo-medatsu-topbar-icon-size: 32px;

    /* durations */
    --celseo-medatsu-duration-normal: .5s;
    --celseo-medatsu-duration-short: .25s;
}

@media screen and (prefers-reduced-motion: reduce) {
    :root,
    ::before,
    ::after {
        --celseo-medatsu-duration-normal: 0;
        --celseo-medatsu-duration-short: 0;
    }
}

@media screen and (min-width: 840px) {
    :root,
    ::before,
    ::after {
        /* font sizes */
        --celseo-font-size-xs: 1rem;
        --celseo-font-size-s: 1.25rem;
        --celseo-font-size-normal: 1.25rem;
        --celseo-font-size-m: 1.75rem;
        --celseo-font-size-l: 2rem;
        --celseo-font-size-xl: 2.5rem;
        --celseo-font-size-xxl: 3rem;
        --celseo-font-size-xxxl: 3.5rem;
        --celseo-font-size-xxxxl: 4.25rem;
        --celseo-font-size-xxxxxl: 5rem;
    }
}

/* Elements */

.a11y-info {
    --a11y-info-position: fixed;
    --a11y-info-top: 0;
    --a11y-info-left: 0;
    --a11y-info-width: 100%;
    --a11y-info-padding: 1rem;
    --a11y-info-background-color: var(--primary-color);
    --a11y-info-transform: translateY(-100%);
    --a11y-info-transition: transform .25s ease-in-out;
    --a11y-info-overflow: hidden;
    --a11y-info-box-shadow: none;
    --a11y-info-outline: none;
    --a11y-info-z-index: 2000;

    /* content */
    --a11y-info-content-display: block;
    --a11y-info-content-width: 100%;
    --a11y-info-content-max-width: var(--celseo-medatsu-max-width);
    --a11y-info-content-margin: 1rem auto;

    /* headline */
    --a11y-info-headline-color: var(--bg-color);
    --a11y-info-headline-margin-top: 0;

    /* description */
    --a11y-info-description-color: var(--bg-color);
    --a11y-info-description-font-size: 1rem;

    /* list */
    --a11y-info-list-list-style: none;
    --a11y-info-list-margin: 0;
    --a11y-info-list-padding: 0;
    --a11y-info-list-flex-display: flex;
    --a11y-info-list-direction: column;
    --a11y-info-list-gap: .5rem;

    /* list item */
    --a11y-info-item-font-family: var(--paragraph__family);
    --a11y-info-item-font-weight: var(--paragraph__normal);
    --a11y-info-item-font-size: 1rem;
    --a11y-info-item-color: var(--bg-color);

    /* key */
    --a11y-info-key-font-family: var(--paragraph__family);
    --a11y-info-key-font-weight: var(--paragraph__bold);
    --a11y-info-key-font-size: 1rem;
    --a11y-info-key-color: var(--bg-color);

    position: var(--a11y-info-position);
    top: var(--a11y-info-top);
    left: var(--a11y-info-left);
    width: var(--a11y-info-width);
    padding: var(--a11y-info-padding);
    background-color: var(--a11y-info-background-color);
    transform: var(--a11y-info-transform);
    transition: var(--a11y-info-transition);
    overflow: var(--a11y-info-overflow);
    box-shadow: var(--a11y-info-box-shadow);
    outline: var(--a11y-info-outline);
    z-index: var(--a11y-info-z-index);
}

.a11y-info:focus-visible {
    --a11y-info-transform: translateY(0);
}

.a11y-info__content {
    display: var(--a11y-info-content-display);
    width: var(--a11y-info-content-width);
    max-width: var(--a11y-info-content-max-width);
    margin: var(--a11y-info-content-margin);
}

.a11y-info__headline {
    color: var(--a11y-info-headline-color);
    margin-top: var(--a11y-info-headline-margin-top);
}

.a11y-info__description {
    color: var(--a11y-info-description-color);
    font-size: var(--a11y-info-description-font-size);
}

.a11y-info__list {
    list-style: var(--a11y-info-list-list-style);
    margin: var(--a11y-info-list-margin);
    padding: var(--a11y-info-list-padding);
    display: var(--a11y-info-list-flex-display);
    flex-direction: var(--a11y-info-list-direction);
    gap: var(--a11y-info-list-gap);
}

.a11y-info__item {
    font-family: var(--a11y-info-item-font-family);
    font-weight: var(--a11y-info-item-font-weight);
    font-size: var(--a11y-info-item-font-size);
    color: var(--a11y-info-item-color);
}

.a11y-info__key {
    font-family: var(--a11y-info-key-font-family);
    font-weight: var(--a11y-info-key-font-weight);
    font-size: var(--a11y-info-key-font-size);
    color: var(--a11y-info-key-color);
}

@media (prefers-reduced-motion: reduce) {
    .a11y-info {
        --a11y-info-transition: none;
    }
}

@media screen and (min-width: 840px) {
    .a11y-info {
        --a11y-info-content-margin: 2rem auto;
    }
}

.accordion {
    margin: 0 auto 4rem;
    display: block;
    max-width: var(--celseo-medatsu-wide-max-width);
}

.accordion .textpic {
    border: none;
    background: #f8f8f8;
}

.accordion .textpic__image {
    margin-top: 32px !important;
}

.accordion .textpic__text {
    padding: 2rem;
    margin: 0;
    width: 100%;
}

.accordion .textpic__image + .textpic__text {
    padding: 0 2rem 2rem;
}

.accordion__chevron {
    width: 48px;
    height: 48px;
}

.accordion__chevron::after {
    color: var(--bg-color);
    background: currentColor;
    opacity: 1;
    width: 48px;
    height: 48px;
}

.accordion__panel {
    border-bottom: 2px solid rgb(255 255 255 / 100%);
    padding: 1rem 3rem 1rem 2rem;
}

.accordion__panel:focus-visible {
    outline: var(--toujou-focus-outline);
}

.accordion__title,
.accordion__subtitle {
    font-size: var(--celseo-font-size-normal);
}

.accordion__subtitle,
.accordion__title-separator {
    color: var(--primary-color--light);
}

.accordion .textpic .textpic__image {
    margin: 2rem;
}

/* DEFAULT */

.accordion--design-default .accordion__panel {
    background: var(--background-color);
    border-bottom: 2px solid var(--primary-color);
}

.accordion--design-default .accordion__title {
    color: var(--primary-color);
}

.accordion--design-default .accordion__chevron::after {
    color: var(--primary-color);
}

.accordion--design-default .accordion__content.accordion__content--active {
    border-bottom: 2px solid var(--primary-color);
}

@media screen and (min-width: 720px) {
    .accordion .textpic__image + .textpic__text {
        padding: 2rem;
    }
}

@media screen and (min-width: 840px) {
    .accordion .textpic--left.textpic--inside .textpic__image,
    .accordion .textpic--right.textpic--inside .textpic__image {
        margin-bottom: 2rem;
    }
}

footer p.average-rating__rating-text {
    color: var(--font-color);
}

footer p.average-rating__count {
    color: var(--font-color);
}

p.blockquote__author {
    max-width: var(--celseo-medatsu-wide-max-width) !important;
    background: var(--background-color);
    color: var(--font-color);
    border-left: 10px solid var(--primary-color);
    padding: 24px 132px 58px;
    font-size: var(--celseo-font-size-normal);
}

.blockquote__author {
    font-size: var(--celseo-font-size-normal);
}

.blockquotes .blockquote__caption {
    font-size: var(--celseo-font-size-m);
    line-height: 28px;
    padding: 0;
    margin: 0 0 9px;
}

.blockquote img {
    border: none;
    border-radius: 0;
    align-self: flex-start;
}

.blockquotes .blockquote__author {
    text-align: left;
    font-weight: var(--paragraph__bold);
    color: var(--font-color);
}

.blockquotes.blockquotes--horizontal .blockquote__caption,
.blockquotes.blockquotes--vertical .blockquote__caption {
    margin: 24px 0 9px;
}

@media only screen and (min-width: 840px) {
    .blockquotes--horizontal.blockquotes--1 .blockquote--image {
        grid-gap: 84px;
    }
}

@media only screen and (max-width: 839px) {
    .blockquotes--horizontal .blockquote--image {
        grid-template-columns: 1fr;
    }

    blockquote,
    p.blockquote__author {
        padding: 58px;
    }

    .grid__column > blockquote:not(.blockquote) {
        padding: 38px 62px;
    }

    .grid__column > blockquote:not(.blockquote) + .blockquote__author {
        padding-top: 0;
        padding-bottom: 38px;
    }
}

blockquote {
    max-width: var(--celseo-medatsu-wide-max-width) !important;
    background: var(--background-color);
    color: var(--font-color);
    border-left: 10px solid var(--primary-color);
    padding: 58px 132px 58px 0;
}

blockquote p,
:is(.chapter--primary,
.chapter--secondary,
.chapter--inverted) blockquote p {
    color: var(--font-color) !important;
    font-style: normal;
}

/* HORIZONTAL/VERTICAL */

blockquote.blockquote__content {
    border: none;
}

.blockquotes::before {
    width: 120px;
    height: 120px;
    left: initial;
    right: 32px;
    top: -24px;
    opacity: 1;
    -webkit-mask-image: url("../../Icons/icon-blockquote-round.svg");
            mask-image: url("../../Icons/icon-blockquote-round.svg");
    content: "";
}

.blockquotes.blockquotes--horizontal,
.blockquotes.blockquotes--vertical {
    max-width: var(--celseo-medatsu-wide-max-width);
    margin: 0 auto 85px;
    border-top: 8px solid var(--primary-color);
    background: var(--background-color);
}

.blockquotes.blockquotes--2.blockquotes--horizontal,
.blockquotes.blockquotes--3.blockquotes--horizontal,
.blockquotes.blockquotes--2.blockquotes--vertical,
.blockquotes.blockquotes--3.blockquotes--vertical {
    background: none;
    border: none;
    padding: 0;
}

.blockquotes.blockquotes--2.blockquotes--horizontal .blockquotes__container,
.blockquotes.blockquotes--3.blockquotes--horizontal .blockquotes__container,
.blockquotes.blockquotes--2.blockquotes--vertical .blockquotes__container,
.blockquotes.blockquotes--3.blockquotes--vertical .blockquotes__container {
    width: 100%;
}

.blockquotes--horizontal .blockquotes__column,
.blockquotes--vertical .blockquotes__column {
    padding: 0;
}

.blockquotes.blockquotes--2.blockquotes--horizontal::before,
.blockquotes.blockquotes--3.blockquotes--horizontal::before,
.blockquotes.blockquotes--2.blockquotes--vertical::before,
.blockquotes.blockquotes--3.blockquotes--vertical::before {
    display: none;
}

.blockquotes--horizontal.blockquotes--2 .blockquotes__column::before,
.blockquotes--horizontal.blockquotes--3 .blockquotes__column::before,
.blockquotes--vertical.blockquotes--2 .blockquotes__column::before,
.blockquotes--vertical.blockquotes--3 .blockquotes__column::before {
    display: block;
    content: "";
    position: absolute;
    top: -24px;
    -webkit-mask-image: url("../../Icons/icon-blockquote-round.svg");
            mask-image: url("../../Icons/icon-blockquote-round.svg");
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-position: center;
            mask-position: center;
    opacity: 1;
    right: 32px;
    left: initial;
    transform: translate(0, -.6rem);
    width: 120px;
    height: 120px;
    color: var(--primary-color--dark);
    background-color: currentColor;
}

.blockquotes--horizontal.blockquotes--2 .blockquotes__column,
.blockquotes--horizontal.blockquotes--3 .blockquotes__column,
.blockquotes--vertical.blockquotes--2 .blockquotes__column,
.blockquotes--vertical.blockquotes--3 .blockquotes__column {
    background: var(--background-color);
    border-top: 8px solid var(--primary-color);
    position: relative;
}

.blockquotes.blockquotes--horizontal.blockquotes--1 {
    padding-top: 48px;
}

.blockquotes--horizontal.blockquotes--1 p {
    max-width: var(--celseo-medatsu-narrow-max-width);
    margin: 0 auto 0 0;
}

/* HORIZONTAL 2/3 */

.blockquotes--horizontal.blockquotes--2 .blockquotes__column,
.blockquotes--horizontal.blockquotes--3 .blockquotes__column {
    padding: 99px 48px 48px 58px;
}

/* VERTICAL */

.blockquotes.blockquotes--vertical {
    padding: 48px;
}

.blockquotes--vertical.blockquotes--2 .blockquotes__column,
.blockquotes--vertical.blockquotes--3 .blockquotes__column {
    padding: 48px;
}

.blockquotes.blockquotes--vertical.blockquotes--1::before {
    right: initial;
    left: 114px;
}

@media only screen and (min-width: 840px) {
    .blockquotes.blockquotes--1::before {
        width: 160px;
        height: 160px;
        right: 114px;
        top: -2rem;
    }

    .blockquotes--horizontal.blockquotes--3 .blockquotes__container {
        display: flex;
        flex-flow: wrap row;
        justify-content: center;
    }

    .blockquotes--horizontal.blockquotes--3 .blockquotes__container .blockquotes__column {
        width: calc(50% - 32px);
        flex: 0 0 calc(50% - 32px);
        max-width: calc(50% - 32px);
    }

    .blockquotes--vertical.blockquotes--2 .blockquotes__column::before {
        right: initial;
        left: 62px;
    }

    .blockquotes--vertical.blockquotes--3 .blockquotes__column::before {
        right: initial;
        left: 34px;
        width: 80px;
        height: 80px;
        top: -12px;
    }

    .blockquotes--vertical.blockquotes--2 .blockquotes__column {
        padding: 48px 84px;
    }
}

@media only screen and (max-width: 839px) {
    .blockquotes--horizontal.blockquotes--1 {
        padding: 99px 48px 48px 58px;
    }

    .blockquotes.blockquotes--vertical.blockquotes--1::before {
        left: 48px;
    }

    .blockquotes--vertical.blockquotes--2 .blockquotes__column::before,
    .blockquotes--vertical.blockquotes--3 .blockquotes__column::before {
        right: initial;
        left: 32px;
    }

    .blockquotes.blockquotes--horizontal:not(.blockquotes--text),
    .blockquotes.blockquotes--vertical:not(.blockquotes--text) {
        width: calc(100% - 2rem);
    }

    .blockquotes--horizontal.blockquotes--2 .blockquotes__column,
    .blockquotes--horizontal.blockquotes--3 .blockquotes__column,
    .blockquotes--vertical.blockquotes--2 .blockquotes__column,
    .blockquotes--vertical.blockquotes--3 .blockquotes__column {
        padding: 99px 48px 48px;
    }
}

html[page-designation="blog"] .indexedsearch-form__input-group {
    width: var(--medatsu-content-max-width);
    margin: 0 auto;
}

html[page-designation="blog"] .indexedsearch-form__input-group .indexedsearch-form__input {
    height: 100%;
    font-size: var(--celseo-font-size-normal);
}

html[page-designation="blog"] .indexedsearch-form__input-group .indexedsearch-form__button {
    margin: 0;
    padding-right: 17px;
}

html[page-designation="blog"] .indexedsearch-form__input-group .indexedsearch-form__button::after {
    display: none;
}

.blog-card {
    padding: 32px;
    background: var(--background-color);
    grid-template-columns: 1fr;
    position: relative;
}

.blog-card__image::after,
.blog-card__category::before {
    display: none;
}

.card-grid--blog .card-grid__column:nth-child(even) .blog-card__image {
    grid-column: auto;
}

.blog-card__image {
    height: auto;
}

.blog-card__image img {
    height: 100%;
}

.blog-card__content {
    padding: 24px 0 0;
}

.blog-card__cta,
a.blog-card:is(:hover, :focus, :focus-visible) .blog-card__cta {
    background: var(--primary-color);
    color: #fff;
    border-radius: 0;
    padding: 13px 51px 12px 17px;
    font-size: var(--celseo-font-size-s);
    line-height: 19px;
    position: absolute;
    bottom: 22px;
    right: 22px;
}

a.blog-card:hover .blog-card__cta {
    background-color: var(--primary-color--dark);
}

.blog-card__cta::after,
a.blog-card:hover .blog-card__cta::after {
    color: var(--bg-color);
    background-color: currentColor;
}

.blog-card__text {
    font-size: var(--celseo-font-size-normal);
    line-height: 30px;
    margin-bottom: 32px;
    margin-top: 1rem;
}

.blog-card__title {
    margin: 0;
    font-size: var(--celseo-font-size-xl);
    line-height: 38px;
}

.blog-card--primary .blog-card__title {
    color: var(--font-color);
}

.blog-card__date {
    position: relative;
    font-size: var(--celseo-font-size-m);
    opacity: 1;
    font-style: italic;
    text-align: left;
}

.blog-card__category {
    background: var(--primary-color);
    opacity: 1;
    font-size: var(--celseo-font-size-normal);
    padding: 5px 15px 5px 8px;
    height: 32px;
    width: -moz-fit-content;
    width: fit-content;
}

@media only screen and (min-width: 600px) {
    .card-grid.card-grid--horizontal.card-grid--blog {
        grid-template-columns: 1fr 1fr;
        grid-gap: 4px;
    }

    .card-grid.card-grid--horizontal.card-grid--blog .card-grid__column {
        padding: 0;
    }
}

@media only screen and (min-width: 720px) {
    .blog-text--one-third.blog-text--right .blog-card__image {
        grid-column: auto;
    }

    .blog-text--one-third.blog-text--right .blog-card__content {
        grid-row: auto;
    }

    .blog-text .card-grid {
        margin-top: 0;
    }
}

@media only screen and (min-width: 840px) {
    .blog-text .card-grid.card-grid--horizontal.card-grid--blog {
        grid-template-columns: 1fr 1fr;
    }

    .blog-text.blog-text--two-thirds .card-grid.card-grid--horizontal.card-grid--blog {
        grid-template-columns: 1fr;
    }

    .blog-card__title {
        font-size: var(--celseo-font-size-m);
    }

    .blog-card__date {
        font-size: var(--celseo-font-size-normal);
    }

    .blog-card__text {
        font-size: var(--celseo-font-size-normal);
        margin-top: 1rem;
    }
}

@media only screen and (min-width: 1024px) {
    .card-grid.card-grid--horizontal.card-grid--blog {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }

    .blog-text--one-third .blog-card {
        display: block;
    }
}

@media only screen and (max-width: 1279px) {
    .blog-list .card-collection {
        grid-gap: 4px;
    }
}

@media only screen and (max-width: 719px) {
    .blog-card__image img {
        height: 58vw;
    }
}

main .blog-data {
    justify-content: flex-start;
    background: none;
    padding: 1rem 2rem;
}

main .blog-data span.blog-data__date {
    display: flex;
}

main .blog-data .blog-data__date svg,
main .blog-data .blog-category::before,
main .blog-data .blog-widgets__category::before,
main .blog-data .blog-widgets__tag::before {
    display: none;
}

main .blog-data .blog-data__date::before {
    top: 0;
}

.blog-sidebar__widget:first-of-type a {
    color: var(--font-color);
}

@media only screen and (min-width: 600px) {
    .page--type-137 .blog-sidebar__widget:first-of-type {
        border: none;
    }
}

.blog-text {
    width: calc(100% - 2rem);
    margin: 0 auto;
}

@media only screen and (min-width: 840px) {
    .blog-text {
        width: calc(100% - 8rem);
    }
}

@media only screen and (min-width: 1280px) {
    .blog-text {
        width: calc(100% - 12rem);
    }
}

.burger {
    color: var(--nav-color-icon);
}

.burger__line {
    background-color: currentColor;
}

.top-bar:is(.top-bar--light) .burger[aria-pressed="true"] .burger__line {
    background-color: currentColor !important;
}

.burger:focus-visible {
    outline-offset: calc(3 * var(--toujou-focus-outline-offset));
}

.top-bar .burger[aria-pressed="true"] .burger__line--top {
    animation: burger-span-one-activate .75s ease-in-out 1 normal forwards;
}

.top-bar .burger[aria-pressed="true"] .burger__line--middle {
    animation: burger-span-two-activate .75s ease-in-out 1 normal forwards;
}

.top-bar .burger[aria-pressed="true"] .burger__line--bottom {
    animation: burger-span-three-activate .75s ease-in-out 1 normal forwards;
}

@media only screen and (prefers-reduced-motion: reduce) {
    .burger__line {
        animation: none !important;
        transition: none !important;
    }

    .burger[aria-pressed="true"] .burger__line--top {
        transform: rotate(315deg);
        top: 10px;
    }

    .burger[aria-pressed="true"] .burger__line--middle {
        transform: translateY(-50%) rotate(0);
        opacity: 0;
    }

    .burger[aria-pressed="true"] .burger__line--bottom {
        transform: rotate(405deg);
        bottom: 10px;
    }
}

/* stylelint-disable max-line-length */

.button {
    border-radius: 0;
    padding: 13px 51px 12px 17px;
    font-weight: var(--paragraph__bold);
}

.button::after {
    right: 1rem;
}

:is(.button--font, .button--primary, .button-secondary)::after {
    background-color: currentColor;
}

.button--primary.button--shadow::after {
    background-color: currentColor !important;
}

:is(.chapter--primary, .chapter--secondary, .chapter--inverted) .button.button--shadow {
    border: 2px solid var(--bg-color);
    color: var(--bg-color);
    background-color: transparent;
}

:is(.chapter--primary, .chapter--secondary, .chapter--inverted) .button.button--shadow::after {
    background-color: var(--bg-color);
}

:is(.chapter--primary, .chapter--secondary, .chapter--inverted) .button.button--shadow:is(:hover, :focus-visible) {
    border: 2px solid var(--bg-color);
    background-color: var(--bg-color);
}

:is(.chapter--primary, .chapter--secondary, .chapter--inverted) .button.button--shadow:focus-visible {
    outline-color: var(--bg-color);
}

:is(.chapter--primary, .chapter--secondary, .chapter--inverted) .button.button--shadow.button--primary:is(:hover, :focus-visible) {
    color: var(--primary-color);
}

:is(.chapter--primary, .chapter--secondary, .chapter--inverted) .button.button--shadow.button--secondary:is(:hover, :focus-visible) {
    color: var(--secondary-color);
}

:is(.chapter--primary, .chapter--secondary, .chapter--inverted) .button.button--shadow.button--font:is(:hover, :focus-visible) {
    color: var(--font-color);
}

:is(.chapter--primary, .chapter--secondary, .chapter--inverted) .button.button--shadow.button--primary:is(:hover, :focus-visible)::after {
    background-color: var(--primary-color);
}

:is(.chapter--primary, .chapter--secondary, .chapter--inverted) .button.button--shadow.button--secondary:is(:hover, :focus-visible)::after {
    background-color: var(--secondary-color);
}

:is(.chapter--primary, .chapter--secondary, .chapter--inverted) .button.button--shadow.button--font:is(:hover, :focus-visible)::after {
    background-color: var(--font-color);
}

/* stylelint-enable max-line-length */

.card-collection,
.grid__column > ul.card-collection {
    max-width: var(--celseo-medatsu-wide-max-width);
    grid-gap: 4px;
}

.blog-list .card-collection {
    width: 100%;
}

.grid__column > .card-collection {
    display: flex !important;
    justify-content: center;
    flex-flow: row wrap;
    gap: 0;
}

.grid__column > .card-collection .card-collection__item--pages {
    width: 100%;
    flex: 0 0 100%;
    padding: 0 5px;
}

@media only screen and (min-width: 640px) {
    .grid__column > .card-collection .card-collection__item--pages {
        width: 50%;
        flex: 0 0 calc(50% - 3px);
    }
}

@media only screen and (min-width: 960px) {
    .grid__column > .card-collection .card-collection__item--pages {
        width: 33.333%;
        flex: 0 0 calc(33.333% - 3px);
    }
}

@media only screen and (min-width: 1280px) {
    .card-collection {
        --toujou-card-collection-number-of-cols: 3;
    }

    .blog-text {
        width: calc(100% - 12rem);
    }

    .grid__column > .card-collection .card-collection__item--pages {
        width: 25%;
        flex: 0 0 calc(25% - 3px);
    }
}

@media screen and (min-width: 840px) {
    .card-text__text {
        padding: 1rem 4rem;
    }
}

@media screen and (min-width: 1024px) {
    .card-text__text {
        padding: 2rem 4rem;
    }
}

@media screen and (min-width: 1280px) {
    .card-text__text {
        padding: 2rem 6rem;
    }
}

.categories.list li {
    border-radius: 0;
    padding-left: 14px !important;
}

.categories > li > a::before {
    display: none;
}

.navigation-breadcrumb + span + .chapter--default {
    padding: 2.5rem 0 !important;
}

.chapter--no-padding {
    padding: 0 16px !important;
}

@media only screen and (min-width: 840px) {
    .navigation-breadcrumb + span + .chapter--default {
        padding: 4.5rem 0 !important;
    }
}

/* UNAVAILABLE CHAPTER IN THIS THEME */

.toujou-chapter--background,
.toujou-chapter--arrow,
.toujou-chapter--textpic-round,
.hissu-chapter--negative-margin-top {
    padding: 0;
}

.chapter--96 .grid--1,
.chapter--96 .grid--1 .grid__column > h1,
.chapter--96 .grid--1 .grid__column > h2,
.chapter--96 .grid--1 .grid__column > h3,
.chapter--96 .grid--1 .grid__column > h4,
.chapter--96 .grid--1 .grid__column > h5,
.chapter--96 .grid--1 .grid__column > p,
.chapter--96 .grid--1 .grid__column > ul,
.chapter--96 .grid--1 .grid__column > ol,
.chapter--96 .textpic--single {
    max-width: 96rem;
    width: 100%;
    margin: 0 auto;
}

.chapter--configuration {
    position: relative;
}

.chapter--configuration .text-columns--2 .text-columns__column:last-child .text-columns__text {
    padding: 2rem;
}

@media only screen and (min-width: 600px) {
    .chapter--configuration .text-columns--2 .text-columns__column:last-child {
        padding-top: 0;
    }
}

@media only screen and (min-width: 840px) {
    .chapter--configuration::after {
        display: block;
        content: "";
        background: #f8f8f8;
        width: 50%;
        position: absolute;
        height: 100%;
        right: 0;
        top: 0;
        z-index: 0;
    }

    .chapter--configuration * {
        z-index: 1;
    }
}

@media only screen and (max-width: 839px) {
    .chapter--configuration .text-columns {
        width: 100%;
    }

    .chapter--configuration .text-columns .text-columns__column:first-child {
        width: var(--medatsu-content-max-width);
    }
}

.chapter--counter {
    --celseo-medatsu-chapter-counter-icon-size: 5rem;
    --celseo-medatsu-chapter-counter-number-color: var(--primary-color);
}

.chapter--counter.chapter--primary {
    --celseo-medatsu-chapter-counter-number-color: var(--primary-color--light);
}

.chapter--counter .text-columns__column {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 1rem;
    width: -moz-fit-content;
    width: fit-content;
}

.chapter--counter .text-columns__column:not(:first-child) {
    margin-top: 4rem;
}

.chapter--counter .text-columns__image img {
    height: var(--celseo-medatsu-chapter-counter-icon-size);
    width: var(--celseo-medatsu-chapter-counter-icon-size);
    -o-object-fit: contain;
       object-fit: contain;
    flex-shrink: 0;
}

.chapter--counter .text-columns__text {
    border-top: 2px solid var(--font-color--light);
    padding: 1rem 0 0 !important;
}

.chapter--counter .text-columns__text p {
    margin: 0;
    text-align: center;
}

.chapter--counter .font--alpha {
    color: var(--celseo-medatsu-chapter-counter-number-color);
    font-weight: var(--paragraph__bold);
    font-size: 3rem;
}

/* Single counter */

.chapter--counter:not(:has(.text-columns)) .grid__column {
    border-top: 2px solid var(--font-color--light);
    padding: 1rem 0 0 !important;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
}

.chapter--counter:not(:has(.text-columns)) .grid__column p {
    width: -moz-fit-content;
    width: fit-content;
}

@media screeen and (min-width: 640px) {
    .chapter--counter .text-columns__text .font--alpha {
        font-size: 3rem;
    }
}

@media screen and (min-width: 840px) {
    .chapter--counter .text-columns__column {
        margin-top: 0 !important;
    }
}

@media screen and (min-width: 1024px) {
    .chapter--counter {
        --celseo-medatsu-chapter-counter-icon-size: 9rem;
    }

    .chapter--counter .text-columns__column {
        flex-direction: row;
        gap: 1.5rem;
    }

    .chapter--counter .font--alpha {
        font-size: 4.5rem;
    }

    .chapter--counter .text-columns__text {
        border-top: none;
        border-left: 2px solid var(--font-color--light);
        padding: 0 0 0 1.5rem !important;
    }

    .chapter--counter .text-columns__text p {
        text-align: left;
    }

    .chapter--counter:not(:has(.text-columns)) .grid__column {
        border-top: unset;
        border-left: 2px solid var(--font-color--light);
        padding: 0 0 0 1.5rem !important;
    }

    .chapter--counter:not(:has(.text-columns)) .grid__column p:last-child {
        margin-bottom: 0;
        padding-bottom: 0;
    }
}

@media only screen and (width < 98rem) {
    .chapter--fullwidth .grid--1 .grid__column > :is(h1, h2, h3, h4, h5, p, ol, ul),
    .chapter--fullwidth .textpic--single {
        max-width: var(--celseo-medatsu-wide-max-width);
        width: calc(100% - 2rem);
    }
}

.chapter--steps li::before {
    content: counter(custom-counter) !important;
    counter-increment: custom-counter !important;
    border-radius: 0 !important;
}

.chapter--steps li:not(:last-child)::after {
    margin: .5rem auto;
}

.medatsu-chapter--text-elements,
.medatsu-chapter--text-elements--grey {
    --chapter-text-elements-icon-size: 5rem;
}

.medatsu-chapter--text-elements .text-columns--2 .text-columns__column:first-child,
.medatsu-chapter--text-elements--grey .text-columns--2 .text-columns__column:first-child {
    position: relative;
    z-index: 1;
    padding: 2rem 0;
    height: -moz-fit-content;
    height: fit-content;
}

/* stylelint-disable-next-line max-line-length */

.medatsu-chapter--text-elements .text-columns--2 .text-columns__column:first-child::before,
.medatsu-chapter--text-elements--grey .text-columns--2 .text-columns__column:first-child::before {
    content: "";
    top: 0;
    left: -1rem;
    height: 100%;
    width: calc(100% + 2rem);
    background: var(--primary-gradient);
    position: absolute;
    z-index: -1;
}

.medatsu-chapter--text-elements--grey .text-columns__column .text-columns__text {
    padding: 2rem 0 4rem;
}

/* stylelint-disable-next-line max-line-length */

.medatsu-chapter--text-elements .text-columns--2 .text-columns__column:first-child .text-columns__image img,
.medatsu-chapter--text-elements--grey .text-columns--2 .text-columns__column:first-child .text-columns__image img {
    height: var(--chapter-text-elements-icon-size);
    width: var(--chapter-text-elements-icon-size);
    -o-object-fit: contain;
       object-fit: contain;
}

/* stylelint-disable-next-line max-line-length */

.medatsu-chapter--text-elements .text-columns--2 .text-columns__column:first-child :is(h1, h2, h3, h4),
.medatsu-chapter--text-elements--grey .text-columns--2 .text-columns__column:first-child :is(h1, h2, h3, h4) {
    color: var(--bg-color) !important;
    margin-bottom: 0;
}

.medatsu-chapter--text-elements--grey .text-columns--2 .text-columns__column:last-child {
    position: relative;
    z-index: 1;
}

.medatsu-chapter--text-elements .text-columns--2 .text-columns__column:last-child {
    padding: 2rem 0;
}

.medatsu-chapter--text-elements--grey .text-columns--2 .text-columns__column:last-child::before {
    content: "";
    top: 0;
    left: -1rem;
    height: 100%;
    width: calc(100% + 2rem);
    background-color: var(--background-color);
    position: absolute;
    z-index: -1;
}

.medatsu-chapter--text-elements .text-columns--2 .text-columns__column:not(:first-child) .text-columns__image {
    display: none;
}

@media screen and (min-width: 840px) {
    /* stylelint-disable-next-line max-line-length */
    .medatsu-chapter--text-elements .text-columns--2 .text-columns__column:first-child::before,
    .medatsu-chapter--text-elements--grey .text-columns--2 .text-columns__column:first-child::before {
        top: 0;
        width: calc(100% + 4rem);
        left: unset;
        right: 0;
    }

    .medatsu-chapter--text-elements--grey .text-columns--2 .text-columns__column:first-child {
        padding: 3rem 3rem 2rem 0;
    }

    .medatsu-chapter--text-elements--grey .text-columns--2 .text-columns__column:last-child {
        margin-top: 7rem;
        left: -2rem;
        background-color: var(--background-color);
        padding: 2rem;
        width: calc(100% + 2rem);
    }

    /* stylelint-disable-next-line max-line-length */
    .medatsu-chapter--text-elements--grey .text-columns--2 .text-columns__column:last-child::before {
        display: none;
    }

    .medatsu-chapter--text-elements .text-columns--2 .text-columns__column:first-child {
        padding-right: 2rem;
    }

    .medatsu-chapter--text-elements .text-columns--2 .text-columns__column:last-child {
        padding-left: 2rem;
    }
}

@media screen and (min-width: 1024px) {
    .medatsu-chapter--text-elements--grey .text-columns--2 .text-columns__column:first-child {
        padding-right: 4rem;
    }

    .medatsu-chapter--text-elements--grey .text-columns--2 .text-columns__column:last-child {
        margin-top: 5rem;
        left: -4rem;
        padding: 2rem 4rem;
        width: calc(100% + 4rem);
    }
}

@media screen and (min-width: 1240px) {
    .medatsu-chapter--text-elements--grey .text-columns--2 .text-columns__column:first-child {
        padding: 4rem 8rem 3rem 0;
    }

    .medatsu-chapter--text-elements--grey .text-columns--2 .text-columns__column:last-child {
        left: -7rem;
        width: calc(100% + 7rem);
    }
}

.chapter--text-slider {
    max-width: 100%;
    padding-top: 0;
}

.chapter--text-slider .slider__control {
    background: var(--primary-color);
    top: unset;
    bottom: 32px;
}

.chapter--text-slider .glider-dot {
    background-color: var(--primary-color--light);
    opacity: 1;
    width: 3rem;
    height: .25rem;
    border-radius: 0;
    margin: 0 .125rem;
}

.chapter--text-slider .slider__control--next::after,
.chapter--text-slider .slider__control--prev::after {
    -webkit-mask-size: 40%;
            mask-size: 40%;
}

.chapter--text-slider .glider-dot.active,
.chapter--text-slider .glider-dot:hover {
    background-color: var(--primary-color);
}

.chapter--text-slider .slider-wrapper {
    height: -moz-fit-content;
    height: fit-content;
}

.chapter--text-slider .slider-wrapper .content-card {
    align-self: flex-start;
    padding-bottom: 3rem;
}

@media screen and (max-width: 839px) {
    .chapter--text-slider .slider__control {
        display: none !important;
    }
}

@media screen and (min-width: 840px) {
    .chapter--text-slider .slider-wrapper {
        position: relative;
        margin-right: 3rem;
    }

    .chapter--text-slider .slider-wrapper .content-card {
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 5rem;
    }

    .chapter--text-slider .slider__control.slider__control--prev {
        left: 3rem !important;
    }

    .chapter--text-slider .slider__control.slider__control--next {
        right: 3rem !important;
    }
}

@media screen and (min-width: 1280px) {
    .chapter--text-slider .slider-wrapper {
        margin-right: 6rem;
    }
}

@media screen and (min-width: 1680px) {
    .chapter--text-slider {
        padding-left: calc(calc(100vw - 96rem) / 2);
        padding-right: calc(calc(100vw - 96rem) / 2);
    }

    .chapter--text-slider > .grid {
        padding-right: 3rem;
    }

    .chapter--text-slider > .slider-wrapper {
        margin-left: 3rem;
        margin-right: 0;
    }

    .chapter--text-slider .grid__column > :is(h2, p) {
        width: 100%;
        max-width: 100%;
    }
}

.medatsu-chapter--textmedia-full {
    padding: 5rem 0;
}

.medatsu-chapter--textmedia-full .textpic.textpic--beside {
    padding: 0;
    max-width: none;
    width: 100%;
}

.medatsu-chapter--textmedia-full .textpic__text {
    width: calc(100% - 2rem);
    margin: 0 auto;
}

@media screen and (min-width: 840px) {
    .medatsu-chapter--textmedia-full .textpic__text {
        width: calc(100% + 1rem) !important;
        margin-left: 0;
    }
}

@media screen and (min-width: 1280px) {
    .medatsu-chapter--textmedia-full .textpic__text {
        width: calc(100% - 1rem) !important;
        left: -88px !important;
    }
}

@media screen and (min-width: 1800px) {
    .medatsu-chapter--textmedia-full .textpic__text {
        left: -80px !important;
        max-width: 53rem;
    }
}

dialog.contact-dialog {
    --contact-dialog-close-button-icon-size: 1.5rem;

    background-color: var(--bg-color);
    border-radius: 0;
    border: none;
    box-shadow: var(--celseo-toujou-box-shadow-normal);
    opacity: 0;
    padding: 2.5rem 2rem 2rem;
    transition: opacity var(--celseo-medatsu-duration-short) ease-in-out;
    max-width: calc(100% - 1rem);
    width: 26rem;
    height: -moz-fit-content;
    height: fit-content;
    left: unset;
    right: .5rem;
    top: 5rem;
    position: fixed;
    transform: none;
}

dialog.contact-dialog[open] {
    opacity: 1;

    @starting-style {
        opacity: 0;
    }
}

dialog.contact-dialog::backdrop {
    display: none;
}

button.contact-dialog__close {
    background-color: transparent;
    color: var(--font-color);
    display: block;
    height: 1.5rem;
    width: 1.5rem;
    position: absolute;
    top: 1rem;
    right: 1rem;
    padding: 0;
}

button.contact-dialog__close::after {
    background-color: currentColor;
    -webkit-mask-size: cover;
            mask-size: cover;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-image: var(--medatsu-icon-close-x);
            mask-image: var(--medatsu-icon-close-x);
}

button.contact-dialog__close:is(:hover, :focus-visible) {
    background-color: transparent;
    color: var(--primary-color);
}

h4.contact-dialog__headline {
    margin-block: 1rem 1.5rem;
    font-size: var(--celseo-font-size-m) !important;
    font-weight: var(--paragraph__bold);
}

a.contact-dialog__item-link {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 1rem;
    color: var(--font-color);
    line-height: 1;
}

a.contact-dialog__item-link:is(:hover, :focus-visible) {
    color: var(--primary-color);
}

a.contact-dialog__item-link::before {
    background-color: currentColor;
    content: "";
    display: block;
    height: 1.5rem;
    width: 1.5rem;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
}

a.contact-dialog__item-link[href*="tel:"]::before {
    -webkit-mask-image: var(--celseo-icon-telephone);
            mask-image: var(--celseo-icon-telephone);
}

a.contact-dialog__item-link[href*="mailto:"]::before {
    -webkit-mask-image: var(--celseo-icon-email);
            mask-image: var(--celseo-icon-email);
}

a.contact-dialog__cta {
    display: block;
    margin-block: 1rem 0;
    padding: .8125rem 2.875rem .75rem 1.0625rem;
    text-align: center;
}

a.contact-dialog__cta:focus {
    color: var(--bg-color);
}

a.contact-dialog__cta:focus-visible {
    outline: var(--toujou-focus-outline);
    outline-offset: var(--toujou-focus-outline-offset);
}

@media only screen and (width < 600px) {
    dialog.contact-dialog {
        left: 5vw;
        right: auto;
        max-width: 90vw;
        padding: 2.5rem .75rem 1rem;
    }
}

@media only screen and (width >= 840px) {
    dialog.contact-dialog {
        right: 7rem;
    }
}

@media only screen and (width >= 1280px) {
    dialog.contact-dialog {
        right: 10rem;
    }
}

.card-grid,
.card-wrapper {
    --content-card-grid-gap: 4px;

    width: 100%;
    grid-gap: var(--content-card-grid-gap);
    margin: 48px 0;
}

.card-grid.card-grid--blog .card-grid__column {
    padding: 0;
}

.content-card {
    padding: 32px;
    background: var(--background-color);
}

a.content-card:focus-visible {
    outline: var(--toujou-focus-outline);
    outline-offset: var(--toujou-focus-outline-offset);
}

.content-card__image {
    height: auto;
    aspect-ratio: var(--celseo-medatsu-aspect-ratio-default);
}

.content-card__image::after {
    display: none;
}

.content-card__content {
    width: 100%;
}

.content-card__cta {
    border-radius: 0;
    padding: 13px 51px 12px 17px;
    font-size: var(--celseo-font-size-normal);
    line-height: 19px;
    border: 2px solid var(--primary-color);
}

.content-card__cta:hover {
    border: 2px solid var(--primary-color);
    background-color: #fff;
    color: var(--primary-color);
}

a.content-card:focus-within .content-card__cta {
    border: 2px solid var(--primary-color);
    background-color: #fff;
    color: var(--primary-color);
    outline: 3px solid blue;
    outline-offset: 2px;
}

.content-card__cta:hover::after {
    background-color: var(--primary-color);
}

a.content-card:focus-within .content-card__cta::after {
    background-color: var(--primary-color);
}

.card-grid--horizontal .content-card__content {
    padding: 16px 32px 16px 64px;
}

.card-grid--horizontal .content-card:nth-child(even) .content-card__content {
    padding: 16px 64px 16px 32px;
}

@media screen and (max-width: 719px) {
    .content-card {
        margin-bottom: 16px;
    }

    .card-grid--horizontal .content-card__content,
    .card-grid--horizontal .content-card:nth-child(2n) .content-card__content {
        padding: 32px 0 16px;
    }
}

@media screen and (min-width: 840px) {
    .content-card {
        padding: 2rem 2rem 4rem;
    }
}

@media only screen and (min-width: 1024px) {
    .card-grid--4 {
        grid-template-columns: repeat(4, calc(25% - var(--content-card-grid-gap)));
    }

    .card-grid--4 .content-card__image {
        height: auto;
    }
}

/* Change content-card__content headline styles. Card: https://app.clickup.com/t/86c5d9bu8 */

.content-card__content :is(h2, h3, h4) {
    margin-top: 0 !important;
}

@media screen and (min-width: 840px) {
    .content-card__content h2 {
        font-size: var(--celseo-font-size-l);
        line-height: 2.25rem;
    }

    .card-grid--4 .content-card__content h2 {
        font-size: var(--celseo-font-size-m);
        line-height: 2rem;
    }

    .content-card__content h3 {
        font-size: var(--celseo-font-size-m);
        line-height: 2rem;
    }

    .content-card__content h4 {
        font-size: var(--celseo-font-size-m);
        line-height: 2rem;
    }
}

@media screen and (min-width: 1024px) {
    .content-card__content h2 {
        font-size: var(--celseo-font-size-xl);
        line-height: 2.75rem;
    }

    .card-grid--4 .content-card__content h2 {
        font-size: var(--celseo-font-size-l);
        line-height: 2.5rem;
    }

    .content-card__content h3 {
        font-size: var(--celseo-font-size-l);
        line-height: 2.5rem;
    }

    .content-card__content h4 {
        font-size: var(--celseo-font-size-m);
        line-height: 2rem;
    }
}

@media screen and (min-width: 1440px) {
    .content-card__content h2 {
        font-size: var(--celseo-font-size-xxl);
        line-height: 3.25rem;
    }

    .card-grid--4 .content-card__content h2 {
        font-size: var(--celseo-font-size-xl);
        line-height: 2.75rem;
    }

    .content-card__content h3 {
        font-size: var(--celseo-font-size-xl);
        line-height: 2.75rem;
    }

    .content-card__content h4 {
        font-size: var(--celseo-font-size-l);
        line-height: 2.5rem;
    }
}

.counter {
    width: 100%;
    padding: 1rem 0;
}

.counter__number {
    color: var(--primary-color);
    font-size: 3rem;
    font-weight: var(--paragraph__bold);
    line-height: 1;
}

.chapter--primary .counter__number {
    color: var(--bg-color);
}

@media screen and (min-width: 1024px) {
    .counter {
        padding: 0 1rem;
        align-items: flex-start;
    }

    .counter__number {
        font-size: 4.5rem;
    }
}

.counter-grid {
    list-style: none;
    display: grid !important;
    grid-template-columns: 1fr;
    grid-gap: 2rem;
    padding: 0;
}

li.counter-grid__item {
    width: -moz-fit-content;
    width: fit-content;
    display: block;
    border-top: 2px solid var(--font-color--light);
    margin: 0 auto;
}

@media screen and (min-width: 840px) {
    .counter-grid {
        display: grid;
        max-width: var(--celseo-medatsu-wide-max-width) !important;
    }

    .counter-grid[data-number-of-items="2"] {
        grid-template-columns: 1fr 1fr;
    }

    .counter-grid[data-number-of-items="3"] {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .counter-grid[data-number-of-items="4"] {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }

    li.counter-grid__item {
        max-width: 100%;
    }
}

@media screen and (min-width: 1024px) {
    li.counter-grid__item {
        border-top: none;
        border-left: 2px solid var(--font-color--light);
    }
}

.event__title {
    line-height: 1.4;
}

.event p {
    font-size: 1rem;
    line-height: 1.4;
}

.event p.event__subtitle {
    font-size: 1.125rem;
}

.event__image::after {
    display: none;
}

.event__location > span {
    font-size: 1rem;
}

.event__date {
    display: none;
}

@media screen and (max-width: 839px) {
    .event {
        --medatsu-event-image-aspect-ratio: auto;
    }
}

@media screen and (min-width: 840px) {
    .event {
        grid-template-columns: 50% 50%;
    }
}

.facet-dropdown {
    border: 1px solid var(--celseo-medatsu-form-field-border);
    max-height: 75vh;
    height: 56px;
    padding: 1rem;
    overflow: hidden;
    background-color: var(--celseo-medatsu-form-field-background);
}

.facet-dropdown[open] {
    height: -moz-fit-content;
    height: fit-content;
    overflow: auto;
}

.facet-dropdown__summary {
    padding: var(--spacing-s) 0;
    position: relative;
    cursor: pointer;
    font-size: var(--celseo-font-size-normal);
    color: var(--font-color);
    margin-bottom: 1rem;
}

.facet-dropdown__summary::after {
    background-color: var(--font-color--light);
    content: "";
    height: var(--toujou-solr-summary-chevron-size);
    -webkit-mask-image: var(--toujou-icon-chevron-left);
            mask-image: var(--toujou-icon-chevron-left);
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    position: absolute;
    right: 0;
    top: var(--spacing-s);
    transform: rotate(-90deg);
    transition: transform .25s ease-in-out;
    width: var(--toujou-solr-summary-chevron-size);
}

.facet-dropdown[open] > .facet-dropdown__summary::after {
    transform: rotate(90deg);
}

.facet-dropdown :is(.facet-option, .input-group) {
    padding: 0;
}

.facet-dropdown .checkbox-group__label {
    height: -moz-fit-content;
    height: fit-content;
    padding: 0;
}

@media (hover: hover) {
    .facet-dropdown__summary:hover {
        color: var(--primary-color);
    }

    .facet-dropdown__summary:hover::after {
        background-color: var(--primary-color);
    }
}

.footer .text-columns__column p {
    margin-bottom: .5rem;
}

footer .socialmediabar {
    padding: 0;
}

.footer__content--custom a {
    opacity: 1;
}

footer a:is(:hover, :focus) {
    color: var(--primary-color--light);
}

footer a,
footer p > a {
    display: inline-flex;
    align-items: center;
    flex-flow: row nowrap;
}

footer a::after,
footer p > a::after {
    background-color: currentColor !important;
    height: .75em;
    width: .75em;
}

footer .html-multicolumn__html toujou-third-party-content a.third-party__privacy-policy-link {
    padding-right: 30px;
}

footer toujou-third-party-content a::after {
    background-color: var(--primary-color) !important;
}

footer toujou-third-party-content a:is(:hover, :focus-visible)::after {
    background-color: var(--primary-color) !important;
}

.four-col-footer {
    padding-block: 2rem;
}

.four-col-footer__intro,
.four-col-footer__content,
.four-col-footer__end {
    width: calc(100% - 2rem);
    max-width: 2200px;
    margin-inline: auto;
}

.four-col-footer :is(p, ul, ol) {
    color: var(--bg-color);
}

@media screen and (min-width: 840px) {
    .four-col-footer {
        padding: 4rem 4rem 6rem;
        gap: 4rem;
    }
}

@media screen and (min-width: 1280px) {
    .four-col-footer {
        padding: 4rem 6rem 6rem;
    }
}

.form {
    width: calc(100% - 2rem);
}

.form__row {
    grid-gap: .5rem;
}

.form__row .input-group {
    margin-top: 0;
}

fieldset.form-group {
    margin: 0;
}

.input__description {
    padding: 0;
}

.form__row + .form__static-text-container {
    margin: 3rem 0 0;
}

.form-group + .form__static-text-container {
    margin: 3rem 0 -10px;
}

.input,
.input--date,
.input--date-part,
.input--text,
.input--textarea {
    border-radius: 0;
    height: 56px;
    background: var(--celseo-medatsu-form-field-background);
    border: 1px solid var(--celseo-medatsu-form-field-border);
}

input[type="file"] {
    padding-top: 12px;
}

.input-label {
    font-size: var(--celseo-font-size-xs);
    padding: 0;
    font-weight: var(--paragraph__normal);
    color: var(--primary-color);
    line-height: 11px;
    background: none;
}

.input::-moz-placeholder {
    color: #314047;
    font-size: var(--celseo-font-size-normal);
    line-height: 24px;
}

.input::placeholder {
    color: #314047;
    font-size: var(--celseo-font-size-normal);
    line-height: 24px;
}

.input:hover {
    border-bottom: none;
}

.input:active,
.input:focus {
    border-bottom: 2px solid var(--primary-color);
}

.input-group--has-error .input--date,
.input-group--has-error .input--date-part,
.input-group--has-error .input--text,
.input-group--has-error .input--textarea,
.input-group--has-error .select {
    border-bottom: 2px solid var(--error-color);
}

.input-group--has-success .input--date,
.input-group--has-success .input--date-part,
.input-group--has-success .input--text,
.input-group--has-success .input--textarea,
.input-group--has-success .select {
    border-bottom: 2px solid var(--success-color);
}

.multi-select option:checked {
    color: #fff;
}

.form-navigation .form-navigation__submit:only-child {
    width: 100%;
}

.form-step__title {
    font-size: var(--celseo-font-size-l);
    line-height: 1.875rem;
}

.checkbox__description,
.input-label,
legend,
.input,
.input--date,
.input--date-part,
.input--text,
.input--textarea,
.radio__label,
.form .button,
.form button,
.form button.button,
.form__static-text,
.form__static-text-header {
    font-size: var(--celseo-font-size-normal);
    line-height: 1.875rem;
}

.form-navigation__previous .button.button--outline.button--primary {
    padding: 13px 17px 12px 51px;
    border: 2px solid var(--primary-color);
}

.form-navigation__previous .button.button--outline.button--primary::after {
    top: 50%;
    transform: rotate(180deg) translateY(50%);
    left: 1rem;
}

.form-navigation__previous .button.button--outline.button--primary:hover {
    border: 2px solid var(--primary-color--dark);
    background-color: var(--bg-color);
    color: var(--primary-color--dark);
}

.form-navigation__previous .button.button--outline.button--primary:hover::after {
    background-color: var(--primary-color--dark);
}

.form__static-text-header {
    margin-bottom: 10px;
    font-family: var(--paragraph__family);
}

.form__static-text,
.form__static-text-header {
    color: var(--primary-color);
}

.radio__label {
    cursor: pointer;
}

.radio-group {
    text-indent: -2.5rem;
}

.input-group--captcha .input__description {
    padding: 0;
}

.checkbox-group input {
    width: 15px;
    flex: 0 0 15px;
    top: 5px !important;
    border-color: var(--primary-color);
    background-color: var(--celseo-medatsu-form-field-background);
}

.checkbox-group__label {
    padding: 0;
    display: flex;
    flex-direction: row;
}

.radio {
    border-color: var(--primary-color);
    background-color: var(--celseo-medatsu-form-field-background);
}

.radio:checked,
.radio:checked:hover {
    color: var(--success-color);
    background-color: currentColor;
}

.repeatable-container__buttons .button.button--primary {
    border: none;
}

:is(.chapter--primary, .chapter--secondary, .chapter--inverted) .form .repeatable-container__buttons .button {
    border: none;
    background-color: transparent;
    color: var(--bg-color);
}

/* stylelint-disable-next-line max-line-length */

:is(.chapter--primary, .chapter--secondary, .chapter--inverted) .form .repeatable-container__buttons .button:is(:hover, :focus-visible) {
    border: none;
    background-color: transparent;
    color: var(--bg-color);
    opacity: .75;
}

.repeatable-container__buttons .button.button--primary::after {
    display: none;
}

:is(.chapter--primary,
.chapter--secondary,
.chapter--inverted) :is(.radio,
.checkbox) {
    background: rgb(255 255 255 / 50%);
}

:is(.chapter--primary,
.chapter--secondary,
.chapter--inverted) .checkbox__description {
    color: var(--font-color);
}

@media only screen and (max-width: 599px) {
    .input-group__captcha-wrapper {
        flex-wrap: wrap;
    }
}

@media only screen and (min-width: 840px) {
    .form-step__title {
        font-size: var(--celseo-font-size-l);
        line-height: 2.5rem;
    }

    .form__row {
        grid-gap: 1.5rem;
        margin-top: 1.5rem;
    }
}

.radio-fieldset {
    border: none;
    margin: 2rem 0 0;
    padding: 0;
}

.radio-fieldset__description {
    margin-top: 0;
}

@media only screen and (width < 840px) {
    .radio-fieldset {
        margin-top: 10px;
    }
}

.gallery {
    --celseo-gallery-image-format: 3 / 2;
    --celseo-gallery-column-number: 1;

    display: grid;
    grid-template-columns: repeat(var(--celseo-gallery-column-number), 1fr);
    gap: 0;
    width: 100% !important;
    margin: 0;
}

.gallery__grid-sizer {
    display: none !important;
}

.gallery__item {
    position: relative !important;
    padding: 0 !important;
    width: 100% !important;
    height: auto !important;
    left: unset !important;
    top: unset !important;
    aspect-ratio: var(--celseo-gallery-image-format);
}

.gallery__item__content {
    margin: 0;
    position: relative;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: var(--celseo-gallery-image-format);
}

@media screen and (min-width: 480px) {
    .gallery {
        --celseo-gallery-column-number: 2;
    }
}

@media screen and (min-width: 840px) {
    .gallery {
        --celseo-gallery-column-number: 3;
    }
}

.page--type-137 .grid--4,
.page--type-137 .grid--3,
.page--type-137 .grid--3 .sidebar.sidebar--blog {
    width: 100%;
    max-width: 90rem;
    margin: 0 auto;
}

.page--type-137 .grid--3 .grid__column {
    padding: 0 1rem;
}

.page--type-137 .grid--3 .grid__column :is(h1,h2,h3,h4,h5,p,ul,ol) {
    width: 100%;
}

@media only screen and (width < 720px) {
    .grid {
        display: block;
    }
}

@media only screen and (min-width: 600px) {
    .page--type-137 .grid--3 {
        display: flex;
        flex-flow: row wrap;
        place-content: flex-start center;
    }

    .page--type-137 .grid--3 > .grid__column {
        flex: 1 0 33.3333%;
        width: 33.3333%;
        max-width: 33.3333%;
    }

    .page--type-137 .grid--3 > .grid__column.grid__column--colspan-2 {
        flex: 1 0 66.6667%;
        width: 66.6667%;
        max-width: 66.6667%;
    }
}

.header {
    --header-vertical-position: center;
    --header-horizontal-position: center;
    --header-min-height: calc(80dvh - var(--header-height-offset));
    --header-padding-top: 0;
    --header-padding-sides: 1rem;
    --header-padding-bottom: 2rem;
    --header-height-offset: 6rem;

    height: auto;
    max-height: -moz-fit-content;
    max-height: fit-content;
    display: flex;
    flex-direction: column;
    min-height: var(--header-min-height);
    padding: var(--header-padding-top) var(--header-padding-sides) var(--header-padding-bottom);
    border: none;
}

.header--content-slider {
    --header-padding-bottom: 4rem;

    padding: 0;
}

.header__content:has(.header-content--left),
.header__slider-item:has(.header-content--left) {
    --header-horizontal-position: flex-start;
}

.header__content:has(.header-content--right),
.header__slider-item:has(.header-content--right) {
    --header-horizontal-position: flex-end;
}

.header__content:has(.header-content--top),
.header__slider-item:has(.header-content--top) {
    --header-vertical-position: flex-start;
}

.header__content:has(.header-content--bottom),
.header__slider-item:has(.header-content--bottom) {
    --header-vertical-position: flex-end;
}

.header__content:has(.header-content--mid),
.header__slider-item:has(.header-content--mid) {
    --header-vertical-position: center;
}

.header--quarter {
    --header-min-height: 25dvh;
}

.header--half {
    --header-min-height: calc(50dvh - var(--header-height-offset));
}

.header--full {
    --header-min-height: calc(100dvh - var(--header-height-offset));
}

.header::after {
    content: unset;
    display: none;
}

.header--content-slider :is(.slider, .slider__frame) {
    position: relative !important;
    margin: 0;
}

.header__content {
    position: relative;
    top: unset;
    left: unset;
    transform: unset;
    margin: 0 auto;
    display: flex;
    align-items: var(--header-vertical-position);
    justify-content: var(--header-horizontal-position);
    width: 100%;
    height: 100%;
    flex: 1;
}

.header__copyright {
    padding-inline: var(--header-padding-sides);
}

.header__slider-item {
    padding: var(--header-padding-top) var(--header-padding-sides) var(--header-padding-bottom);
    min-height: var(--header-min-height);
    display: flex;
    align-items: var(--header-vertical-position);
    justify-content: var(--header-horizontal-position);
}

.header__slider-image {
    position: absolute;
    top: 0;
    left: 0;
}

.header .slider--headercontent .header__content {
    padding: calc(var(--top-bar-height) + 1rem) 1rem 6rem;
}

.header .slider .header-content {
    position: relative;
    left: unset !important;
    top: unset !important;
    right: unset !important;
    bottom: unset !important;
    transform: unset !important;
}

.header .content-card {
    padding: 0;
}

.header-content .content-card__content {
    background: white;
    padding: 48px;
}

.header-content .content-card--primary .content-card__content {
    border-top: 8px solid var(--primary-color);
}

.header-content .content-card--secondary .content-card__content {
    border-top: 8px solid var(--secondary-color);
}

.header-content .content-card--grey .content-card__content {
    border-top: 8px solid grey;
}

.header-content .content-card__title {
    background: none;
    color: var(--font-color);
    padding: 0;
    font-size: var(--celseo-font-size-xxxl);
}

.header-content .content-card__text-inner {
    background: none;
    color: var(--font-color);
}

.header--slider .header-content--bottom {
    bottom: 4rem;
}

.header .content-card .content-card__cta,
.header .content-card--primary .content-card__cta {
    color: var(--primary-color);
    padding-right: 17px;
}

.header .content-card .content-card__cta:is(:hover, :focus-visible),
.header .content-card--primary .content-card__cta:is(:hover, :focus-visible) {
    color: var(--primary-color--dark);
}

.header .content-card.content-card--secondary .content-card__cta {
    color: var(--secondary-color);
}

.header .content-card.content-card--secondary .content-card__cta:is(:hover, :focus-visible) {
    color: var(--secondary-color--dark);
}

.header .content-card.content-card--grey .content-card__cta {
    color: var(--font-color);
}

.header .content-card.content-card--grey .content-card__cta:is(:hover, :focus-visible) {
    color: var(--font-color--dark);
}

.header .content-card .content-card__cta.button.button--primary {
    color: var(--bg-color);
}

.header .content-card .content-card__cta.button.button--primary:is(:hover, :focus-visible) {
    background-color: var(--primary-color--dark);
    color: var(--bg-color);
    border: 2px solid var(--primary-color--dark);
}

.header .content-card__cta::after {
    display: none;
}

@media only screen and (min-width: 840px) {
    .header--content-slider {
        --header-padding-sides: calc(1rem + 2rem);
    }

    .header-content .content-card__title {
        font-size: var(--celseo-font-size-xxxxl);
        line-height: var(--celseo-font-size-xxxl);
    }

    .header-content .content-card__text {
        font-size: var(--celseo-font-size-normal);
        line-height: 30px;
    }

    .header-content .content-card__text-inner {
        padding: 0;
    }
}

@media only screen and (max-height: 900px) {
    .header-content h1.content-teaser__title {
        font-size: var(--celseo-font-size-xl);
        line-height: var(--celseo-font-size-xl);
    }

    .header-content .content-card__text {
        font-size: var(--celseo-font-size-s);
        line-height: 20px;
    }

    .header-content .content-card__content {
        padding: 20px;
    }

    .header-content .content-card__cta {
        font-size: var(--celseo-font-size-s);
    }
}

@media only screen and (max-height: 700px) {
    .header-content h1.content-teaser__title {
        font-size: var(--celseo-font-size-l);
        line-height: var(--celseo-font-size-l);
    }

    .header-content .content-card__cta {
        font-size: var(--celseo-font-size-xs);
    }
}

@media only screen and (max-width: 599px) {
    .header {
        display: flex;
        flex-direction: column;
        height: auto !important;
        padding-inline: 0;
    }

    .header:not(:has(.slider)) {
        min-height: -moz-fit-content;
        min-height: fit-content;
    }

    .header__image {
        position: relative;
        display: block;
        aspect-ratio: 1;
    }

    .header__content {
        position: relative;
        transform: none;
        left: 0;
        max-height: -moz-fit-content;
        max-height: fit-content;
    }

    .header-content {
        position: relative;
        left: 50%;
        transform: translateX(-50%);
        max-width: none !important;
    }
}

.header.header--ratio-3-1 {
    --header-min-height: 33vw;

    min-height: var(--header-min-height);
    height: -moz-fit-content;
    height: fit-content;
    max-height: -moz-fit-content;
    max-height: fit-content;
}

.header.header--ratio-3-1::after {
    display: none;
}

.header--ratio-3-1 .content-card .content-card__content .content-card__title {
    background-color: transparent;
}

.header--ratio-3-1 .content-card__content {
    padding: 1rem 2rem !important;
    line-height: 1 !important;
}

.header--ratio-3-1 .content-card__content > * {
    margin: 0 !important;
    display: contents;
    font-size: var(--celseo-font-size-xxl);
    line-height: 1 !important;
}

@media screen and (min-width: 480px) {
    .header--ratio-3-1 .content-card__content {
        padding: 2rem 2rem 2.5rem !important;
    }
}

@media screen and (min-width: 840px) {
    .header--ratio-3-1 .content-card__content {
        padding: 2.5rem 3rem 3rem !important;
    }

    .header--ratio-3-1 .content-card__content > * {
        font-size: var(--celseo-font-size-xxxl);
    }
}

@media screen and (max-width: 590px) {
    .header.header--ratio-3-1 {
        padding-top: var(--header-padding-top);
    }
}

.card-wrapper--3 .image-card__title,
.card-wrapper--4 .image-card__title,
.image-card__title {
    left: 0 !important;
    width: 100%;
    max-width: none;
    background: var(--font-color);
    top: initial;
    bottom: 0;
    transform: translateY(0);
    margin: 0;
    position: relative;
}

.image-card--design-default .image-card__title-text {
    color: #fff;
}

.image-card.image-card--square,
.image-card.image-card--cinema {
    height: 100%;
    margin-bottom: .25rem;
}

.image-card.image-card--square img,
.image-card.image-card--cinema img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

.image-card.image-card--cinema figure {
    aspect-ratio: 16/9;
    height: auto;
}

.image-card.image-card--square figure {
    aspect-ratio: 1/1;
    height: auto;
}

.image-card__title,
.card-text .image-card__title {
    max-width: 100%;
    padding: 16px 48px;
}

.image-card__title-text {
    font-size: var(--celseo-font-size-m);
    text-transform: none;
    padding: 0;
}

@media screen and (max-width: 639px) {
    .image-card__title {
        padding: 16px 24px;
    }

    .image-card__title-text {
        font-size: var(--celseo-font-size-l);
    }
}

.image-row {
    max-width: var(--celseo-medatsu-wide-max-width);
}

.image-row:has(+.grid--1, + span + p) {
    margin-bottom: 2rem;
}

.image-row__image:not(:first-child) {
    margin-top: 2rem;
}

.image-row__image,
.image-row__image img {
    -o-object-fit: contain;
       object-fit: contain;
    aspect-ratio: var(--celseo-medatsu-aspect-ratio-default);
}

.page--type-26 .image-row.image-row--3:has(.image-row__image:only-child) {
    grid-template-columns: auto;
    max-width: 33vw;
    margin-bottom: 2rem;
}

.page--type-26 .image-row.image-row--3 .image-row__image:only-child,
.page--type-26 .image-row.image-row--3 .image-row__image:only-child img {
    aspect-ratio: initial;
}

@media screen and (min-width: 840px) {
    .image-row__image:not(:first-child) {
        margin-top: 0;
    }
}

.imagecard-cover__slide {
    margin: 0 4px;
}

.imagecard-cover__figure {
    padding-top: 100%;
}

.imagecard-cover .slider__control {
    background: var(--primary-color);
}

.imagecard-cover .slider__control::after {
    -webkit-mask-size: 40%;
            mask-size: 40%;
}

.imagecard-cover__slide::before {
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    background: #000;
    z-index: 1;
    opacity: 0;
}

.imagecard-cover__title {
    z-index: 1;
    opacity: 0;
}

.imagecard-cover__title-text {
    padding: 0;
    color: #fff;
    text-transform: none;
    font-size: var(--celseo-font-size-m);
    line-height: 38px;
    width: 100%;
    text-align: center;
    display: block;
}

@media (hover: hover) {
    a.imagecard-cover__slide:hover .imagecard-cover__title-text {
        color: #fff;
    }

    .imagecard-cover__slide:hover::before {
        opacity: .4;
    }

    .imagecard-cover__slide:hover .imagecard-cover__title {
        opacity: 1;
    }
}

.wrap--iframe .indexedsearch-form__container {
    padding: 0;
    background-color: transparent;
}

.wrap--iframe .indexedsearch-form__form {
    width: 100%;
}

.wrap--iframe .indexedsearch-form__input-group {
    width: 100%;
    max-width: 100%;
    margin: 0;
}

.wrap--iframe .indexedsearch-form__input {
    background-color: var(--bg-color);
    border-bottom: none !important;
    color: var(--font-color);
}

.wrap--iframe .indexedsearch-form__button {
    background-color: var(--primary-color);
    color: var(--bg-color);
    width: -moz-fit-content;
    width: fit-content;
    margin: 1rem auto 0;
    padding: .5rem 1rem;
}

.wrap--iframe .indexedsearch-form__button::after {
    display: none;
}

.indexedsearch-form__input-group ::-moz-placeholder {
    color: var(--font-color);
}

.indexedsearch-form__input-group ::placeholder {
    color: var(--font-color);
}

.sidebar-wrap .indexedsearch-form__button {
    margin-bottom: 0;
    padding-right: 17px;
}

.sidebar-wrap .indexedsearch-form__input {
    height: 100%;
}

.sidebar-wrap .indexedsearch-form__button::after {
    display: none;
}

.indexedsearch-form__label {
    display: contents;
}

.indexedsearch-form__input {
    background-color: var(--bg-color);
    color: var(--font-color);
    border-bottom: 2px solid var(--font-color);
    height: auto;
}

.indexedsearch-form__button {
    margin: 0;
}

@media screen and (min-width: 520px) {
    .wrap--iframe .indexedsearch-form__input-group {
        display: grid;
        grid-template-columns: 1fr auto;
        grid-gap: 0 !important;
        max-width: 640px;
        margin: 0 auto;
        padding: 0;
    }

    .wrap--iframe .indexedsearch-form__button {
        margin: 0;
    }
}

@media only screen and (min-width: 64rem) {
    .indexedsearch-result {
        width: calc(100% - 8rem);
        margin: 0 auto;
    }
}

.inpage-nav[is-sticky],
.inpage-nav {
    max-width: var(--celseo-medatsu-wide-max-width);
    border: none;
    padding: 0;
}

.inpage-nav[fullwidth] {
    max-width: none;
    padding: 0 2rem;
}

.inpage-nav[ismobile] {
    padding: 0 0 0 4rem;
    grid-template-columns: minmax(0, 1fr);
}

.inpage-nav[ismobile][mobileopen] {
    padding-right: 1rem;
    grid-template-columns: 1fr 0;
}

.inpage-nav[ismobile][mobileopen] .inpage-nav__cta {
    display: none;
}

.inpage-nav--design-default .inpage-nav__link,
.inpage-nav__link {
    color: var(--font-color);
    font-size: var(--celseo-font-size-m);
    line-height: 28px;
}

.inpage-nav__item {
    padding: 0 20px;
}

.inpage-nav__item:first-child {
    padding-left: 20px;
}

.inpage-nav__item:not(:last-child),
.inpage-nav[ismobile] .inpage-nav__item:not(:last-child),
.inpage-nav__item:last-child {
    padding-right: 20px;
}

.inpage-nav__item[active],
.inpage-nav__item:hover,
.inpage-nav[ismobile] .inpage-nav__item[active]:hover {
    background: var(--primary-color);
}

.inpage-nav__item[active] .inpage-nav__link,
.inpage-nav--design-default .inpage-nav__item[active] .inpage-nav__link,
.inpage-nav__item:hover .inpage-nav__link,
.inpage-nav--design-default .inpage-nav__item:hover .inpage-nav__link,
.inpage-nav[ismobile] .inpage-nav__item[active]:hover .inpage-nav__link {
    color: #fff;
}

.inpage-nav[ismobile] .inpage-nav__item:hover {
    background: none;
}

.inpage-nav[ismobile] .inpage-nav__item:hover .inpage-nav__link {
    color: var(--primary-color);
    text-decoration: underline;
}

.inpage-nav__link {
    font-size: var(--celseo-font-size-normal) !important;
}

.inpage-nav__label {
    color: var(--primary-color);
    font-family: var(--paragraph__family);
    font-size: var(--celseo-font-size-normal);
}

.inpage-nav__cta::after {
    content: "";
    height: 1rem;
    width: 1rem;
    display: block;
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translateY(-50%);
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-image: var(--medatsu-icon-arrow-right);
            mask-image: var(--medatsu-icon-arrow-right);
    background-color: var(--bg-color);
}

.inpage-nav--design-primary .inpage-nav__cta::after {
    background-color: currentColor;
}

.inpage-nav--design-primary .inpage-nav__cta:focus-visible {
    outline: var(--toujou-focus-outline);
    outline-offset: var(--toujou-focus-outline-offset);
    outline-color: var(--bg-color);
}

.inpage-nav--design-primary .inpage-nav__item {
    padding-block: .5rem;
    top: 0;
}

.inpage-nav--design-primary .inpage-nav__item > .inpage-nav__link {
    height: 100%;
}

.inpage-nav--design-primary .inpage-nav__item > .inpage-nav__link:focus-visible {
    outline: var(--toujou-focus-outline);
    outline-offset: var(--toujou-focus-outline-offset);
    outline-color: var(--bg-color);
}

@media only screen and (max-width: 599px) {
    .inpage-nav[ismobile] {
        padding: 0 .5rem 0 2rem;
        width: 100%;
        grid-gap: 8px;
    }

    .inpage-nav[ismobile] .inpage-nav__toggle {
        width: 2rem;
    }
}

.input-group[group-display-type="list"] :is(.checkbox-group, .radio-group) {
    background-color: var(--celseo-medatsu-form-field-background);
    border: 1px solid var(--celseo-medatsu-form-field-border);
}

.input-group[group-display-type="list"] .checkbox-group:has(.checkbox:checked),
.input-group[group-display-type="list"] .radio-group:has(.radio:checked) {
    border: 1px solid var(--primary-color);
    background-color: var(--primary-color);
}

.input-group[group-display-type="list"] .checkbox-group:has(.checkbox:checked) .checkbox-group__label,
.input-group[group-display-type="list"] .radio-group:has(.radio:checked) .radio__label {
    color: var(--bg-color);
}

.input-group[group-display-type="list"] .checkbox-group:has(.checkbox:checked) .icon::before,
.input-group[group-display-type="list"] .radio-group:has(.radio:checked) .icon::before {
    background-color: var(--bg-color);
}

.input-group[group-display-type="list"] .radio:checked {
    background-color: var(--primary-color);
    border: 1px solid var(--bg-color) !important;
}

.input-group[group-display-type="list"] .radio:checked::after {
    background-color: var(--bg-color);
}

.input-group[group-display-type="list"] .checkbox:checked {
    background-color: var(--bg-color);
    border: 1px solid var(--bg-color) !important;
}

.input-group[group-display-type="list"] .checkbox:checked::after {
    background-color: var(--primary-color);
}

.input-group[group-display-type="panel"] :is(.checkbox-group, .radio-group) {
    background-color: var(--celseo-medatsu-form-field-background);
    border: 1px solid var(--celseo-medatsu-form-field-border);
    height: 100%;
}

.input-group[group-display-type="panel"] .checkbox-group:has(.checkbox:checked),
.input-group[group-display-type="panel"] .radio-group:has(.radio:checked) {
    border: 1px solid var(--primary-color);
    background-color: var(--primary-color);
}

.input-group[group-display-type="panel"] .checkbox-group:has(.checkbox:checked) .checkbox-group__label,
.input-group[group-display-type="panel"] .radio-group:has(.radio:checked) .radio__label {
    color: var(--bg-color);
}

.input-group[group-display-type="panel"] .checkbox-group:has(.checkbox:checked) .icon::before,
.input-group[group-display-type="panel"] .radio-group:has(.radio:checked) .icon::before {
    background-color: var(--bg-color);
}

.input-group[group-display-type="panel"] :is(.radio, .checkbox) {
    top: 0 !important;
}

.input-group[group-display-type="panel"] .radio:checked {
    background-color: var(--primary-color);
    border: 1px solid var(--bg-color) !important;
}

.input-group[group-display-type="panel"] .radio:checked::after {
    background-color: var(--bg-color);
}

.input-group[group-display-type="panel"] .checkbox:checked {
    background-color: var(--bg-color);
    border: 1px solid var(--bg-color) !important;
}

.input-group[group-display-type="panel"] .checkbox:checked::after {
    background-color: var(--primary-color);
}

.input-group[group-display-type="panel"] :is(.radio__label,.checkbox-group__label) {
    height: 100%;
}

.item-list__item {
    border-bottom: none !important;
}

.map-contact {
    margin-bottom: 48px;
}

.map-contact__image::after {
    display: none;
}

.map-contact__content {
    background: var(--background-color);
    padding: 2rem 1rem 3rem;
}

.map-contact__content > h2 {
    margin-top: 0;
}

.map-contact__headline {
    background-color: transparent;
    color: var(--font-color);
    margin-top: 0;
}

.map-contact__socials {
    width: 100%;
}

.map-contact__social-link .fa::before {
    border-radius: 0;
}

.map-contact__social-link:hover .fa::before {
    background-color: var(--bg-color);
}

@media screen and (min-width: 420px) {
    .map-contact__content {
        padding: 2rem 2rem 3rem;
    }
}

@media screen and (min-width: 700px) {
    .map-contact__content {
        padding: 2rem 3rem 3rem;
    }
}

@media screen and (min-width: 1440px) {
    .map-contact__content {
        padding: 2rem 6rem 3rem;
    }
}

.wrap--navigation:not([data-is-open]),
.navigation-item:not([data-is-open]) > .navigation,
.navigation-item:not([data-is-open]) > .navigation > .navigation-item {
    display: none;
}

.wrap--navigation::before {
    transition: transform var(--celseo-medatsu-duration-normal) ease-in-out;
}

.wrap--navigation[data-is-open]::before {
    transform: translate(-50%,-50%) scale(1.5);
}

.wrap--navigation {
    overflow: hidden auto;
}

.navigation-item[data-is-open] > .navigation {
    max-height: unset;
    margin-bottom: 2rem;
}

.navigation--third-level {
    overflow: hidden;
    height: auto;
    max-height: 0;
    grid-column: 1/-1;
    margin: 0;
}

.page--type-70 .navigation-breadcrumb {
    display: none;
}

.navigation-item[data-has-subnav] {
    color: var(--nav-color-item);
}

.navigation-item:is(:hover) {
    color: var(--nav-color-item);
    opacity: .8;
}

.navigation-item--first-level:nth-child(1) { --nav-item-transition-delay: .5s; }

.navigation-item--first-level:nth-child(2) { --nav-item-transition-delay: .6s; }

.navigation-item--first-level:nth-child(3) { --nav-item-transition-delay: .7s; }

.navigation-item--first-level:nth-child(4) { --nav-item-transition-delay: .8s; }

.navigation-item--first-level:nth-child(5) { --nav-item-transition-delay: .9s; }

.navigation-item--first-level:nth-child(6) { --nav-item-transition-delay: 1s; }

.navigation-item--first-level:nth-child(7) { --nav-item-transition-delay: 1.1s; }

.navigation-item--first-level:nth-child(8) { --nav-item-transition-delay: 1.2s; }

.navigation-item--first-level:nth-child(9) { --nav-item-transition-delay: 1.3s; }

.navigation-item--first-level:nth-child(10) { --nav-item-transition-delay: 1.4s; }

.navigation-item--first-level:nth-child(11) { --nav-item-transition-delay: 1.5s; }

.navigation-item--first-level:nth-child(12) { --nav-item-transition-delay: 1.6s; }

.navigation-item--first-level:nth-child(13) { --nav-item-transition-delay: 1.7s; }

.navigation-item--first-level:nth-child(14) { --nav-item-transition-delay: 1.8s; }

.navigation-item--first-level:nth-child(15) { --nav-item-transition-delay: 1.9s; }

.navigation-item--first-level:nth-child(16) { --nav-item-transition-delay: 2s; }

.navigation-item--first-level:nth-child(17) { --nav-item-transition-delay: 2.1s; }

.navigation-item--first-level:nth-child(18) { --nav-item-transition-delay: 2.2s; }

.navigation-item--first-level:nth-child(19) { --nav-item-transition-delay: 2.3s; }

.navigation-item--first-level:nth-child(20) { --nav-item-transition-delay: 2.4s; }

.wrap--navigation[data-is-open] .navigation-item--first-level {
    transition: opacity var(--celseo-medatsu-duration-short) ease-in-out var(--nav-item-transition-delay);
}

.wrap--navigation[data-is-open] .navigation-item {
    opacity: 1;
    pointer-events: all;
}

.wrap--navigation[data-is-open] :is(.navigation-item__link, .navigation-item__toggle-state):focus-visible {
    outline-color: var(--nav-color-item);
}

.navigation-item__toggle-state {
    --medatsu-main-navigation-chevron-size: 2rem;

    -webkit-appearance: none;

       -moz-appearance: none;

            appearance: none;
    border: none;
    background-color: transparent !important;
    color: currentColor;
    width: var(--medatsu-main-navigation-chevron-size);
    height: var(--medatsu-main-navigation-chevron-size);
    padding: 0;
    position: absolute;
    right: .25rem;
}

.navigation-item__toggle-state:focus-visible {
    outline: var(--toujou-focus-outline);
    outline-offset: var(--toujou-focus-outline-offset);
}

.navigation-item__toggle-state::after {
    --medatsu-main-navigation-chevron-size: 2rem;

    content: "";
    display: block;
    height: var(--medatsu-main-navigation-chevron-size);
    width: var(--medatsu-main-navigation-chevron-size);
    background-color: currentColor;
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-image: var(--medatsu-icon-chevron-down);
            mask-image: var(--medatsu-icon-chevron-down);
    transform: rotate(0);
    transition: none;
}

.navigation--animated .navigation-item__toggle-state::after {
    transition: transform var(--celseo-medatsu-duration-short) ease-in-out;
}

.navigation-item__toggle-state:hover::after {
    opacity: .8;
}

.navigation-item[data-is-open] > .navigation-item__toggle-state::after {
    transform: rotate(180deg);
}

.navigation-item--second-level {
    position: relative;
}

.navigation-item--third-level {
    margin-top: 1rem;
    display: block;
    opacity: 0;
}

.top-bar--light ~ .wrap--navigation .navigation-item--second-level > .navigation-item__toggle-state:hover {
    background-color: var(--primary-color--dark);
}

.navigation-item[data-is-active] > .navigation-item__link {
    text-decoration: underline;
}

@media only screen and (width >= 64rem) {
    .navigation--main .navigation-item {
        --medatsu-main-navigation-item-max-width: 36rem;
    }
}

.navigation-service {
    display: flex;
    right: 4rem;
    height: var(--celseo-medatsu-topbar-icon-size);
}

.navigation-service__link,
a.navigation-service__link,
.navigation-service__icon {
    width: var(--celseo-medatsu-topbar-icon-size);
    height: var(--celseo-medatsu-topbar-icon-size);
}

.navigation-service__link,
a.navigation-service__link {
    color: var(--nav-color-icon);
}

.navigation-service__icon {
    fill: currentColor;
}

.top-bar:has(~ .wrap--navigation[data-is-open]) .navigation-service {
    opacity: 1;
    pointer-events: auto;
}

.top-bar:not(.top-bar--with-background):has(~ .wrap--navigation[data-is-open]) .navigation-service__icon {
    fill: var(--bg-color);
}

@media only screen and (min-width: 840px) {
    .navigation-service {
        right: 6.25rem;
    }
}

@media only screen and (min-width: 80rem) {
    .navigation-service {
        right: 8.5rem;
    }
}

.portfolio-gallery__button:is(:focus, :focus-visible) {
    background-color: var(--primary-color--dark) !important;
    border-color: var(--primary-color--dark) !important;
    color: var(--bg-color) !important;
}

@media (hover: hover) {
    .button.portfolio-gallery__button:hover {
        border-color: var(--primary-color--dark);
    }

    .button.portfolio-gallery__button:hover .portfolio-gallery__button-icon {
        border: none;
    }

    .portfolio-gallery__button:focus .portfolio-gallery__button-text {
        color: var(--bg-color);
    }
}

.product-grid {
    grid-gap: 16px;
    width: var(--medatsu-content-max-width);
    margin-inline: auto;
    margin-bottom: 2rem;
}

.product-grid .product-grid__item--square {
    padding-bottom: 100%;
}

.product-grid .image-card__image img,
.product-grid .image-card__image picture {
    top: 0 !important;
    transform: none;
}

.product-grid .image-card__image picture,
.product-grid .product-grid__image,
.product-grid .video-embed video,
.product-grid picture img,
.product-grid picture source {
    -o-object-fit: contain;
       object-fit: contain;
}

@media screen and (min-width: 560px) {
    .product-grid .image-card {
        margin: 0;
    }

    .product-grid__item--cinema .product-grid__figure {
        height: 25vw;
    }
}

@media screen and (min-width: 840px) {
    .product-grid__item--cinema .product-grid__figure {
        height: 12.5vw;
    }
}

@media screen and (min-width: 1280px) {
    .product-grid__item--cinema .product-grid__figure {
        height: 10vw;
    }
}

.review {
    grid-template-areas:
        "reviewMedia"
        "reviewRating"
        "reviewHead"
        "reviewSubtitle"
        "reviewDescription"
        "reviewComment";
    grid-template-rows: auto auto auto auto 1fr;
}

.review:not(:has(.review__image)) {
    padding-block: 1rem;
}

.review__comment {
    grid-area: reviewComment;
    display: block !important;
    border-left: 4px solid var(--primary-color);
    width: calc(100% - 2rem);
    margin: 1rem auto 2rem;
    padding-left: 1rem;
    height: -moz-fit-content;
    height: fit-content;
}

.review__comment > p {
    margin: 0;
}

@media screen and (min-width: 840px) {
    .review:has(.review__image) {
        grid-template-areas:
            "reviewMedia reviewRating"
            "reviewMedia reviewHead"
            "reviewMedia reviewSubtitle"
            "reviewMedia reviewDescription"
            "reviewMedia reviewComment";
    }

    .review__comment {
        width: calc(100% - 4rem);
    }
}

@media screen and (min-width: 1280px) {
    .review__comment {
        width: calc(100% - 6rem);
    }
}

.sidebar.sidebar--blog {
    width: var(--medatsu-content-max-width);
    margin: 0 auto;
    padding-bottom: 2rem;
}

.header .slider__pagination {
    z-index: 1;
}

@media screen and (max-width: 639px) {
    .slider.slider--logo:has(.glider-slide:nth-child(-n+2):last-child) {
        margin-bottom: 1rem;
    }

    .slider.slider--logo:has(.glider-slide:nth-child(-n+2):last-child) .glider-track {
        width: 100% !important;
        display: flex;
        justify-content: center;
    }

    .slider.slider--logo:has(.glider-slide:nth-child(-n+2):last-child) .slider__pagination {
        display: none;
    }
}

@media screen and (min-width: 640px) and (max-width: 839px) {
    .slider.slider--logo:has(.glider-slide:nth-child(-n+3):last-child) {
        margin-bottom: 1rem;
    }

    .slider.slider--logo:has(.glider-slide:nth-child(-n+3):last-child) .glider-track {
        width: 100% !important;
        display: flex;
        justify-content: center;
    }

    .slider.slider--logo:has(.glider-slide:nth-child(-n+3):last-child) .slider__pagination {
        display: none;
    }
}

@media screen and (min-width: 840px) {
    .slider__control--prev {
        left: 0;
        top: 50%;
        bottom: unset;
        transform: translateY(-50%);
    }

    .slider__control--next {
        right: 0;
        top: 50%;
        bottom: unset;
        transform: translateY(-50%);
    }
}

@media screen and (min-width: 840px) and (max-width: 1023px) {
    .slider.slider--logo:has(.glider-slide:nth-child(-n+4):last-child) {
        margin-bottom: 1rem;
    }

    .slider.slider--logo:has(.glider-slide:nth-child(-n+4):last-child) .glider-track {
        width: 100% !important;
        display: flex;
        justify-content: center;
    }

    .slider.slider--logo:has(.glider-slide:nth-child(-n+4):last-child) .slider__pagination {
        display: none;
    }
}

@media screen and (min-width: 1024px) {
    .slider .glider-dot {
        margin: 0 2px;
    }

    .slider__control--prev::after,
    .slider__control--next::after {
        -webkit-mask-size: 40%;
                mask-size: 40%;
    }
}

@media screen and (min-width: 1024px) and (max-width: 1239px) {
    .slider.slider--logo:has(.glider-slide:nth-child(-n+5):last-child) {
        margin-bottom: 1rem;
    }

    .slider.slider--logo:has(.glider-slide:nth-child(-n+5):last-child) .glider-track {
        width: 100% !important;
        display: flex;
        justify-content: center;
    }

    .slider.slider--logo:has(.glider-slide:nth-child(-n+5):last-child) .slider__pagination {
        display: none;
    }
}

@media screen and (min-width: 1240px) {
    .slider.slider--logo:has(.glider-slide:nth-child(-n+6):last-child) {
        margin-bottom: 1rem;
    }

    .slider.slider--logo:has(.glider-slide:nth-child(-n+6):last-child) .glider-track {
        width: 100% !important;
        display: flex;
        justify-content: center;
    }

    .slider.slider--logo:has(.glider-slide:nth-child(-n+6):last-child) .slider__pagination {
        display: none;
    }
}

.slider.slider--logo {
    max-height: -moz-fit-content;
    max-height: fit-content;
    margin: 2rem auto;
}

.slider--logo .slider__control {
    display: none;
}

.slider--logo .glider-slide {
    padding: 0 10px;
}

.slider--logo .glider-dots {
    display: block;
    width: 100%;
}

@media screen and (min-width: 840px) {
    .slider.slider--logo {
        padding: 0 4rem;
        margin: 3rem auto;
    }
}

.slider-with-previews {
    /* stylelint-disable-next-line length-zero-no-unit */
    --slider-with-previews-gap: 0px; /* we need the unit so the splide width calculation works correctly */

    width: 100%;
    max-width: var(--celseo-medatsu-wide-max-width);
}

.slider-with-previews .splide__arrow {
    top: unset;
    bottom: 0;
    background-color: var(--primary-color);
    border-radius: 0;
    transform: none;
}

.slider-with-previews .splide__arrow:not(:disabled):hover,
.slider-with-previews .splide__arrow:not(:disabled):focus {
    opacity: 1;
    background-color: var(--primary-color--dark);
}

.slider-with-previews .splide__arrow--prev {
    left: 50%;
    transform: translateX(calc(-3rem - 1px));
}

.slider-with-previews .splide__arrow--next {
    right: 50%;
    transform: translateX(calc(3rem + 1px));
}

.slider-with-previews .splide__arrow::after {
    -webkit-mask-size: 50%;
            mask-size: 50%;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-image: var(--medatsu-icon-arrow-right);
            mask-image: var(--medatsu-icon-arrow-right);
    background-color: var(--bg-color);
}

.slider-with-previews__thumbs {
    top: -1px;
}

@media screen and (min-width: 840px) {
    .slider-with-previews .splide__arrow::after {
        -webkit-mask-size: 40%;
                mask-size: 40%;
    }

    .slider-with-previews .splide__arrow--prev {
        left: 0;
        top: 50%;
        transform: translateY(-50%);
    }

    .slider-with-previews .splide__arrow--next {
        right: 0;
        top: 50%;
        transform: translateY(-50%);
    }
}

.solr {
    margin-top: 6rem !important;
}

@media screen and (min-width: 840px) {
    .solr {
        margin-top: 10rem !important;
    }
}

.solr-search__input-label {
    font-family: var(--headline__family);
    font-weight: var(--paragraph__bold);
    line-height: 3rem;
}

.solr-search__input-cancel-button {
    top: 75px;
    right: .75rem;
}

@media screen and (min-width: 840px) {
    .solr-search__input-cancel-button {
        top: 68px;
    }
}

.teaser .teaser__image::after {
    display: none;
}

.teaser--cinema .teaser__image {
    height: auto;
    width: 100%;
    aspect-ratio: var(--celseo-medatsu-teaser-image-aspect-ratio);
}

.teaser--cinema .teaser__image img {
    aspect-ratio: var(--celseo-medatsu-teaser-image-aspect-ratio);
}

.teaser h1 span,
.teaser h2 span,
.teaser h3 span,
.teaser h4 span,
.teaser h5 span {
    background: none;
    color: var(--font-color);
}

.teaser h2 span {
    color: var(--primary-color);
}

.teaser h3 span {
    color: var(--secondary-color);
}

:is(.teaser--design-primary,
.teaser--design-secondary) :is(h2 span,a) {
    color: var(--bg-color);
}

.text-columns {
    max-width: var(--celseo-medatsu-wide-max-width);
}

.text-columns__column .text-columns__text {
    padding: 0 0 2rem;
}

.text-columns__column .text-columns__image + .text-columns__text {
    padding: 1rem 0 3rem;
}

.text-columns--above .text-columns__column .text-columns__text:first-child {
    padding-top: 0;
}

.text-columns__text :is(h1, h2, h3, h4, h5) {
    margin-top: 0;
    margin-bottom: 1rem;
}

.text-columns__text > *:last-child {
    margin-bottom: 0;
}

@media screen and (min-width: 840px) {
    .text-columns:is(.text-columns--2, .text-columns--3, .text-columns--4) {
        gap: 2rem;
    }
}

.chapter--text-slider .text-wrapper .content-card {
    max-width: 100%;
    min-width: 100%;
}

.chapter--text-slider .slider__control::before {
    display: none;
}

.chapter--text-slider .slider__control.slider__control--prev {
    left: 64px;
}

.chapter--text-slider .slider__control.slider__control--next {
    right: 64px;
}

@media screen and (min-width: 1024px) {
    .chapter--text-slider .slider__control.slider__control--prev {
        left: 32px;
    }

    .chapter--text-slider .slider__control.slider__control--next {
        right: 32px;
    }
}

@media screen and (min-width: 1024px) {
    .chapter--text-slider .slider__control.slider__control {
        bottom: 8px;
    }
}

.textpic.textpic--beside,
.textpic.textpic--inside {
    max-width: var(--celseo-medatsu-wide-max-width);
    padding: 3rem 0;
}

.accordion :is(.textpic.textpic--inside, .textpic.textpic--beside) {
    padding: 0;
}

.medatsu-chapter--textpic-border .textpic--beside .textpic__text {
    border-top: 8px solid var(--primary-color);
}

.medatsu-chapter--textpic-white-bg .textpic--beside .textpic__text {
    background-color: white;
}

.textpic--beside .textpic__text {
    padding: 30px 0;
    margin-top: 0;
}

.detail-page-textpic__figure.textpic__image > picture {
    display: contents;
}

@media only screen and (min-width: 840px) {
    .textpic--beside .textpic__text {
        position: relative;
        top: 5rem;
        left: -80px;
        background: var(--background-color);
        padding: 80px !important;
        width: calc(100% + 80px);
        margin-bottom: 7rem;
    }

    .textpic--beside.textpic--right .textpic__text {
        left: initial;
    }

    .detail-page-textpic__figure.textpic__image {
        height: 100%;
    }

    .textpic--beside .detail-page-textpic__text.textpic__text {
        top: 0;
        margin: 0;
        width: 100%;
    }

    .detail-page-textpic__image {
        height: 100% !important;
        -o-object-fit: cover;
           object-fit: cover;
    }
}

@media only screen and (min-width: 920px) {
    .textpic--beside,
    .textpic--beside.textpic--right {
        grid-template-columns: 1fr 1fr;
    }
}

toujou-cookie-script-third-party-content[showingcontent] {
    background: none;
    background-color: transparent;
    background-image: none !important;
}

.cookie-script-third-party-content--location-finder {
    position: relative;
}

.cookie-script-third-party-content__placeholder {
    height: initial;
    width: 100%;
    background-color: #eaeaea;
    color: white;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.cookie-script-third-party-content__placeholder--transparent {
    background-color: rgb(234 234 234 / 85%);
}

p.cookie-script-third-party-content__message {
    border-radius: .25rem;
    margin-bottom: 1rem;
    max-width: 90%;
    text-align: center;
    font-size: 90%;
    color: var(--font-color);
}

toujou-cookie-script-third-party-content .cookie-script-third-party-content__message a {
    display: inline;
    color: var(--primary-color);
}

toujou-cookie-script-third-party-content .cookie-script-third-party-content__message a::after {
    display: none;
}

.cookie-script-third-party-content__button-container {
    display: flex;
    justify-content: space-evenly;
}

.button.cookie-script-third-party-content__button {
    font-size: 80%;
    outline: none;
    margin: 0 .5rem;
    padding-inline: 1rem;
}

.button.cookie-script-third-party-content__button::after {
    display: none;
}

/* We need to style the placeholder this way so it also works in IE and Edge */

toujou-cookie-script-third-party-content[showingcontent] .cookie-script-third-party-content__placeholder {
    display: none;
}

toujou-cookie-script-third-party-content[showingcontent] .toujou-cookie-script-third-party-content__templated-content {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
}

toujou-cookie-script-third-party-content {
    background-color: #eaeaea;
}

.toujou-cookie-script-third-party-content__templated-content iframe {
    min-height: 100%;
}

.map-contact__image > toujou-cookie-script-third-party-content:not([showingcontent]) {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

/* stylelint-disable-next-line max-line-length */

.map-contact__image > toujou-cookie-script-third-party-content:not([showingcontent]) .cookie-script-third-party-content__message {
    width: 100%;
    max-width: calc(100% - 4rem);
}

.timeline {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.timeline-legend {
    background-color: var(--celseo-medatsu-very-light-grey);
    transition: top .25s ease-in-out;
}

.top-bar--with-background.top-bar--large ~ .wrap--content .timeline-legend {
    top: 7.5rem;
}

.top-bar--with-background.top-bar--scroll-hidden ~ .wrap--content .timeline-legend {
    top: 1rem;
}

.timeline-item__card {
    background-color: var(--celseo-medatsu-very-light-grey);
    padding: 1rem;
    border: none;
}

.timeline-item__content {
    padding: 1rem 0 0;
}

.timeline-item__title {
    font-size: var(--celseo-font-size-m);
}

.timeline-item__subtitle {
    color: var(--primary-color);
    line-height: 1;
}

.timeline-item__year {
    background-color: var(--primary-color);
}

.timeline-item__figure::after {
    border-bottom: 20px solid var(--celseo-medatsu-very-light-grey);
}

.timeline__container::before,
.timeline__line-start::before,
.timeline__line-end::before,
.timeline-item__card::before,
.timeline-item__card::after {
    background-color: var(--primary-color);
}

.timeline-item__card::after {
    border: none !important;
}

@media screen and (min-width: 840px) {
    .timeline[timeline-show-legend][timeline-direction="vertical"] .timeline-legend {
        margin-top: 12.35rem;
    }
}

.top-bar {
    width: 100vw;
}

.top-bar,
.top-bar__logo-container,
.top-bar__logo {
    transition-duration: var(--celseo-medatsu-duration-short) !important;
}

.top-bar.top-bar--scroll-hidden {
    transform: translateY(-130%);
}

.top-bar.top-bar--scroll-hidden:focus-within {
    transform: unset !important;
}

/* stylelint-disable-next-line max-line-length */

body[data-menuopen] .top-bar:not(.top-bar--with-background) :is(.burger, a.navigation-service__link, a.top-bar__logo-container, .topbar-contact__toggle, .topbar-contact__phone, .hb-wrapper .hb-main-container button):focus-visible {
    outline-color: var(--nav-color-item);
}

.top-bar.top-bar--with-background:is(.top-bar--large, .top-bar--medium) .top-bar__logo {
    height: var(--top-bar-logo-height-medium);
}

.top-bar--with-background .top-bar__logo-container {
    padding: 8px !important;
}

@media screen and (min-width: 840px) {
    .top-bar--large {
        height: 128px;
    }

    .top-bar__logo-container {
        max-width: 300px;
        height: var(--top-bar-height);
    }

    .top-bar--large .top-bar__logo-container {
        height: calc(var(--top-bar-height) + 1.5rem);
        max-width: 360px;
    }

    .top-bar--small .top-bar__logo-container {
        height: var(--top-bar-height);
    }

    .top-bar.top-bar--light .top-bar__logo {
        width: 100%;
        height: 100%;
        -o-object-fit: contain;
           object-fit: contain;
    }

    .top-bar__logo-container,
    .top-bar--small .top-bar__logo-container,
    .top-bar--small.top-bar--with-background .top-bar__logo-container {
        padding: 8px;
    }
}

@media only screen and (max-width: 479px) {
    .top-bar__logo-container {
        max-width: calc(100% - 10rem);
    }

    .top-bar--medium .top-bar__logo {
        -o-object-fit: contain;
           object-fit: contain;
    }
}

@media (hover: hover) {
    .top-bar--light ~ .wrap--navigation .navigation-item--hasSubNav .navigation-item__link:hover,
    .top-bar--light ~ .wrap--navigation a.navigation-item__link:hover {
        color: var(--primary-color--light);
    }
}

.topbar-contact {
    --topbar-contact-icon-size: var(--celseo-medatsu-topbar-icon-size) !important;
    --topbar-contact-toggle-width: 2rem !important;
}

a.topbar-contact__phone,
button.topbar-contact__toggle {
    height: var(--topbar-contact-toggle-width);
    width: var(--topbar-contact-toggle-width);
    padding: 0;
    display: flex;
}

a.topbar-contact__phone::before {
    content: "";
    margin: auto;
}

a.topbar-contact__phone::before,
span.topbar-contact__toggle-icon {
    color: var(--nav-color-icon);
    background-color: currentColor;
    display: block;
    width: var(--topbar-contact-icon-size);
    height: var(--topbar-contact-icon-size);
    -webkit-mask-image: var(--celseo-icon-telephone);
            mask-image: var(--celseo-icon-telephone);
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
}

a.topbar-contact__phone:is(:hover, :focus-visible),
button.topbar-contact__toggle:is(:hover, :focus-visible) {
    background-color: transparent;
}

a.topbar-contact__phone:hover,
button.topbar-contact__toggle:hover {
    opacity: .75;
}

a.topbar-contact__phone span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

@media only screen and (width >= 840px) {
    div.topbar-contact {
        background-color: transparent;
        position: unset;
        padding: 0 1.5rem;
    }

    a.topbar-contact__phone,
    button.topbar-contact__toggle {
        background-color: transparent;
        color: var(--nav-color-icon);
    }

    a.topbar-contact__phone::before
    span.topbar-contact__toggle-icon {
        color: var(--nav-color-icon);
        background-color: currentColor;
        display: block;
        height: var(--topbar-contact-icon-size);
        width: var(--topbar-contact-icon-size);
        -webkit-mask-image: var(--celseo-icon-telephone);
                mask-image: var(--celseo-icon-telephone);
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: contain;
                mask-size: contain;
    }

    span.topbar-contact__toggle-text {
        display: none;
    }
}

body[data-menuopen] .topbutton {
    z-index: 0;
}

.topbutton:focus-visible {
    outline: var(--toujou-focus-outline);
    outline-offset: var(--toujou-focus-outline-offset);
    outline-color: var(--secondary-color--dark);
}

.topbutton {
    color: var(--secondary-color);
    background-color: currentColor;
}

.topbutton:is(:active, :focus, :hover) {
    color: var(--secondary-color--dark);
    background-color: currentColor;
}

.toujou-card:not(.toujou-card--people) {
    background-color: var(--background-color);
    grid-gap: 1rem;
}

.toujou-card__subtitle-link::after {
    display: none;
}

.toujou-card__subtitles {
    margin-top: .5rem;
}

.toujou-card__subtitle {
    display: inline;
    padding: 0;
}

.toujou-card__subtitle-link {
    display: inline;
    padding: 0;
}

.toujou-card__figure::after {
    display: none;
}

.button.toujou-card__cta::after {
    color: var(--toujou-card-button-color);
    background-color: currentColor;
}

.toujou-card.toujou-card--person .toujou-card__title {
    font-size: 1.5rem;
}

.toujou-card--person .toujou-card__contact-link,
.toujou-card--person .toujou-card__position {
    font-size: 1.25rem;
}

.toujou-card.toujou-card--blog {
    padding: 32px;
    background: var(--background-color);
    grid-gap: 24px;
}

.toujou-card.toujou-card--blog .toujou-card__figure::after {
    display: none;
}

.toujou-card.toujou-card--blog .toujou-card__image {
    filter: brightness(.8);
}

.toujou-card.toujou-card--blog .toujou-card__image::after {
    display: none;
}

.toujou-card.toujou-card--blog .toujou-card__chips {
    gap: 8px;
    margin-bottom: 8px;
}

.toujou-card.toujou-card--blog .toujou-chip.toujou-chip--has-icon {
    background: var(--primary-color--light);
    margin: 0;
    font-size: var(--celseo-font-size-normal);
    padding: 10px 15px;
    height: 32px;
}

.toujou-card.toujou-card--blog .toujou-chip__link.toujou-chip__text {
    font-family: MulishSemibold, sans-serif;
}

.toujou-card.toujou-card--blog .toujou-chip__icon {
    left: 10px;
}

.toujou-card.toujou-card--blog .toujou-card__header,
.toujou-card.toujou-card--blog .toujou-card__content,
.toujou-card.toujou-card--blog .toujou-card__bottom {
    padding: 0;
}

.toujou-card.toujou-card--blog .toujou-card__header .toujou-card__icon {
    display: none;
}

.toujou-card.toujou-card--blog .toujou-card__header {
    grid-template-columns: 1fr;
    margin: 0;
    grid-template-areas:
        "categories"
        "title"
        "subtitles";
}

.toujou-card.toujou-card--blog .toujou-card__title {
    margin-top: 8px;
    font-size: var(--celseo-font-size-m);
}

.toujou-card.toujou-card--blog .toujou-card__title a {
    color: var(--font-color);
}

.toujou-card.toujou-card--blog .toujou-card__subtitle.toujou-card__subtitle--date,
.toujou-card.toujou-card--blog .toujou-card__subtitle:not(:first-child) {
    font-weight: var(--paragraph__normal);
    opacity: 1;
    font-style: italic;
    font-size: var(--celseo-font-size-s);
}

.toujou-card.toujou-card--blog p.toujou-card__abstract {
    font-size: var(--celseo-font-size-normal);
}

.toujou-card.toujou-card--blog .toujou-card__subtitle:not(:first-child)::before {
    content: "–";
}

.toujou-card.toujou-card--blog .toujou-card__subtitle:not(:first-child) {
    padding-left: 24px;
}

.toujou-card.toujou-card--blog .button.toujou-card__cta,
.toujou-card__cta {
    font-size: var(--celseo-font-size-normal);
    font-weight: var(--paragraph__bold);
    letter-spacing: .05rem;
    padding: 13px 51px 12px 17px;
}

@media (hover: hover) {
    .toujou-card.toujou-card--blog:hover .toujou-card__image {
        filter: brightness(1);
    }

    .toujou-card.toujou-card--blog:hover .button.button--primary.toujou-card__cta,
    .button.button--primary.toujou-card__cta:hover {
        color: var(--bg-color);
        border: 2px solid var(--primary-color--dark);
        background-color: var(--primary-color--dark);
    }

    .toujou-card.toujou-card--blog:hover .button.button--primary.toujou-card__cta::after,
    .button.button--primary.toujou-card__cta:hover::after {
        color: var(--bg-color);
        background-color: currentColor;
    }
}

@media only screen and (max-width: 719px) {
    .toujou-card--blog .toujou-card__figure,
    .toujou-card--blog .toujou-card__figure-link,
    .toujou-card--blog .toujou-card__image {
        aspect-ratio: 3/2;
    }
}

.toujou-card--person .toujou-card__header,
.toujou-card--person .toujou-card__content,
.toujou-card--person > p {
    padding: 0 var(--toujou-card--horizontal-padding);
}

.toujou-card--person .toujou-card__image,
.toujou-card--person .toujou-card__figure,
.toujou-card--person .toujou-card__figure-link {
    aspect-ratio: auto;
    height: auto;
    position: relative;
}

.toujou-list-item {
    background-color: var(--background-color);
    grid-gap: 1rem;
}

.toujou-list-item__header {
    padding-top: .5rem;
}

.toujou-list-item > .toujou-list-item__content {
    padding-bottom: .5rem;
}

.toujou-list-item__subtitle-link::after {
    display: none;
}

.toujou-list-item__subtitles {
    margin-top: .5rem;
}

.toujou-list-item__subtitle {
    display: inline;
    padding: 0;
}

.toujou-list-item__subtitle-link {
    display: inline;
    padding: 0;
}

/* JOB POSTING */

.toujou-list-item--job-posting {
    padding: 16px;
}

.toujou-list-item--job-posting .toujou-list-item__subtitles {
    margin-top: 0;
}

.toujou-list-item.toujou-list-item--job-posting > .toujou-list-item__content {
    padding: 0;
}

/* FONTS */

@font-face {
    font-family: MulishSemibold;
    src: url("../../Fonts//Mulish_600.woff");
    src: url("../../Fonts//Mulish_600.woff") format("woff");
}

ul,
ol,
p {
    font-size: var(--celseo-font-size-normal);
    line-height: 1.875rem;
}

ul.list li::before {
    border-radius: 0;
}

p {
    line-height: 30px;
}

h1,
.font--alpha {
    font-size: var(--celseo-font-size-xxxl);
    line-height: 3rem;
}

h2,
.font--beta {
    font-size: var(--celseo-font-size-xxl);
    line-height: 2.5rem;
}

h3,
.font--gamma {
    font-size: var(--celseo-font-size-xl);
    line-height: 2.125rem;
}

h4,
.font--delta {
    font-size: var(--celseo-font-size-l);
    line-height: 1.875rem;
}

h5,
.font--epsilon {
    font-size: var(--celseo-font-size-m);
    line-height: 1.5rem;
}

p > a {
    text-decoration: none;
    position: relative;
    padding-right: 14px;
}

p > a::after {
    content: "";
    height: 1rem;
    width: 1rem;
    display: inline-block;
    position: relative;
    right: -8px;
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-image: var(--medatsu-icon-arrow-right);
            mask-image: var(--medatsu-icon-arrow-right);
    background-color: var(--primary-color);
}

p > a:not(.button):hover::after,
p > a:not(.button):focus::after {
    background: var(--primary-color--dark);
}

.chapter--primary a::after,
.chapter--secondary a::after {
    background-color: #fff;
}

.chapter--primary a:focus,
.chapter--primary a:hover {
    color: var(--primary-color--light);
}

.chapter--primary p > a:not(.button):hover::after,
.chapter--primary p > a:not(.button):focus::after {
    background-color: var(--primary-color--light);
}

.chapter--primary a:not(.button):focus-visible {
    outline: var(--toujou-focus-outline);
    outline-offset: var(--toujou-focus-outline-offset);
    outline-color: currentColor;
}

.border-top {
    border-top: 8px solid var(--primary-color);
    padding-top: 32px;
}

.font--alpha,
.font--gamma,
h1,
h3 {
    color: var(--font-color);
}

ol.list li::before {
    line-height: 34px;
}

.grid__column > h1,
.grid__column > h2,
.grid__column > h3,
.grid__column > h4,
.grid__column > h5,
.grid__column > ol,
.grid__column > p,
.grid__column > ul,
main > a,
main > h1,
main > h2,
main > h3,
main > h4,
main > h5,
main > h6,
main > ol,
main > p,
main > ul,
.html__wrapper {
    max-width: var(--celseo-medatsu-max-width);
}

.html__wrapper {
    margin-bottom: 2rem;
}

.table-container {
    max-width: var(--celseo-medatsu-wide-max-width);
}

.page[page-designation*="no-link-arrows"] p > a {
    padding-right: 0;
}

.page[page-designation*="no-link-arrows"] p > a::after {
    display: none;
}

@media only screen and (min-width: 840px) {
    h1,
    h2,
    h3,
    h4,
    h5,
    .font--alpha,
    .font--beta,
    .font--gamma,
    .font--delta,
    .font--epsilon {
        margin-bottom: 24px;
    }

    h1,
    .font--alpha {
        font-size: var(--celseo-font-size-xxl);
        line-height: 3.75rem;
    }

    h2,
    .font--beta {
        font-size: var(--celseo-font-size-xl);
        line-height: 3.25rem;
    }

    h3,
    .font--gamma {
        font-size: var(--celseo-font-size-l);
        line-height: 2.855rem;
    }

    h4,
    .font--delta {
        font-size: var(--celseo-font-size-m);
        line-height: 2.5rem;
    }

    h5,
    .font--epsilon {
        font-size: var(--celseo-font-size-m);
        line-height: 2.25rem;
    }

    .infotext {
        font-size: var(--celseo-font-size-m);
        line-height: var(--celseo-font-size-xl);
    }
}

@media only screen and (min-width: 1024px) {
    h1,
    .font--alpha {
        font-size: var(--celseo-font-size-xxxl);
    }

    h2,
    .font--beta {
        font-size: var(--celseo-font-size-xxl);
    }

    h3,
    .font--gamma {
        font-size: var(--celseo-font-size-xl);
    }

    h4,
    .font--delta {
        font-size: var(--celseo-font-size-l);
    }
}

.wrap--service,
.wrap--service:has(~ .wrap--navigation[data-is-open]) {
    pointer-events: all;
    display: block;
    position: fixed;
    top: 24px;
    right: 50px;
    height: auto;
    z-index: 11;
    opacity: 1;
    transform: translateY(0);
    transition: opacity var(--celseo-medatsu-duration-normal) ease-in-out .75s, transform var(--celseo-medatsu-duration-short) ease-in-out 0s;
}

.top-bar--small ~ .wrap--service:has(~ .wrap--navigation[data-is-open]) {
    top: 24px;
}

.top-bar--medium ~ .wrap--service,
.top-bar--medium ~ .wrap--service:has(~ .wrap--navigation[data-is-open]) {
    top: 33px;
}

.top-bar--large ~ .wrap--service,
.top-bar--large ~ .wrap--service:has(~ .wrap--navigation[data-is-open]) {
    top: 33px;
}

.top-bar--scroll-hidden ~ .wrap--service {
    transform: translateY(-5rem);
    transition: opacity var(--celseo-medatsu-duration-normal) ease-in-out .75s, transform --celseo-medatsu-duration-short ease-in-out 0s;
}

@media only screen and (min-width: 840px) {
    .wrap--service,
    .wrap--service:has(~ .wrap--navigation[data-is-open]) {
        right: 100px;
    }

    .top-bar--small ~ .wrap--service:has(~ .wrap--navigation[data-is-open]) {
        top: 24px;
    }

    .top-bar--large ~ .wrap--service,
    .top-bar--large ~ .wrap--service:has(~ .wrap--navigation[data-is-open]) {
        top: 48px;
    }

    .top-bar--large.top-bar--scroll-hidden ~ .wrap--service {
        transform: translateY(-8rem);
    }
}

@media only screen and (min-width: 1280px) {
    .wrap--service,
    .wrap--service:has(~ .wrap--navigation[data-is-open]) {
        right: 140px;
    }
}
