*{
    color: black;
    padding: 0;
    margin: 0;
    font-feature-settings: 'pkna';
    --10px: 0.625rem;
    --12px: 0.75rem;
    --14px: 0.875rem;
    --16px: 1rem;
    --18px: 1.125rem;
    --20px: 1.25rem;
    --24px: 1.5rem;
    --30px: 1.875rem;
    --36px: 2.25rem;
    --serif: zen-old-mincho, sans-serif;
    --sans: yu-gothic-pr6n, sans-serif;
    --unica: neue-haas-unica, sans-serif;
    --page-images-mb: 160px;
    --page-images-mb-sp: 72px;
    --shadow: 4px 4px 8px 0px rgb(50 51 56 / 15%), 0px 0px 38px -13px rgb(10 10 10 / 2%);
    --yu-ls: .025em;
}

#terracehouse-blog{
    background: #fdfdfa;
}

.wrapper{
    padding-top: 240px;
}

.hero{
    position: relative;
    width: 100vw;
    height: 100vh;
    margin-bottom: 0;
}

.hero-image img{
    width: 100%;
    margin-top: 140px;
}

.hero-content{
    position: absolute;
    top: 140px;
    left: calc(-511px + 50vw);
}

.hero-content h1{
    width: 355px;
}

.hero-content p{
    width: 405px;

    font-size: var(--16px);
    font-family: var(--sans);
    line-height: 2em;
    letter-spacing: 0.1em;
    font-feature-settings: 'pkna';
    margin-bottom: var(--30px);
    text-rendering: geometricPrecision;
}

.hero-link{
    margin-top: 20px;
    font-size: var(--14px);
    font-family: var(--sans);
}
.sticky-title h1{
    width: 220px;
    margin-bottom: 38px;
}

.sticky-title h1 img{
    width: 100%;
}


.sticky-title li{
    font-size: var(--18px);
    font-family: var(--unica);
    line-height: 1.8em;
    letter-spacing: 0.1em;
    font-feature-settings: 'tnum';
    font-weight: 400;
    color: #193166;
    list-style: none;
    opacity: .25;
}
.sticky-title li:hover,
.sticky-title li.is-active{
    opacity: 1;
    list-style: disc;
    cursor: pointer;
}

.article{
    margin-bottom: 192px;
    margin-left: calc(100% / 7* 3);
    scroll-margin-top: 50px;
}

.article time{
    font-size: var(--16px);
    font-family: var(--unica);
    line-height: 1.8em;
    letter-spacing: 0.1em;
    font-feature-settings: 'tnum';
    font-weight: 400;
    margin-bottom: 20px;
    color: #193166;
}

.article h2{
    font-size: var(--24px);
    line-height: 1.8em;
    letter-spacing: 0.1em;
    margin-bottom: 64px;
}

#page-images .article p{
    font-size: var(--16px);
    font-family: var(--sans);
    line-height: 2em;
    letter-spacing: 0.1em;
    font-feature-settings: 'pkna';
    margin-bottom: 32px;
    margin-left: 0;
    width: 100%;
}

.article .wp-block-image{
    width: 100%;
    margin-top: 64px;
    margin-bottom: 64px;
}

#page-images .wp-block-image img{
    width: 100%;
    height: auto;
    box-shadow: none;
}


.logo{
    opacity: 0;
    transition: opacity 1000ms;
}

.logo a img{
    width: 195px;
}

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

    .wrapper{
        padding: 0;
    }

    .terracehouse-blog{
        padding-top: 0;
    }

    .hero{
        height: auto;
        margin: 0 0 108px;
        padding: 0;
    }

    .hero-image img{
        margin: 0;
    }

    .hero-content{
        position: relative;
        top: auto;
        left: auto;
        padding: 0 2rem;
    }

    .hero-content h1{
        width: 260px;
    }

    .hero-content p{
        width: auto;
        padding-left: 2rem;
        font-size: var(--14px);
        line-height: var(--24px);
    }

    .hero-link{
        width: 189px;
        height: 30px;
        margin-left: 2rem;
    }

    .hero-link .text{
        width: 122px;
        margin-left: 10px;
        margin-right: 20px;
    }

    .hero-link .arrow{
        width: 18px;
        transition: all 500ms;
        margin-bottom: 2px;
    }

    .article{
        margin: 0 0 72px;
    }

    #page-images .article p{
        margin: 0;
    }


    .article time{
        font-size: var(--12px);
        margin-bottom: 18px;
    }

    .article h2{
        font-size: var(--18px);
        margin-bottom: 36px;
        line-height: 1.4em;
    }

    #page-images .article p{
        font-size: var(--14px);
        margin: 0 0 36px;
        padding: 0;
    }

    .article .wp-block-image{
        margin: 0 0 36px;
    }

    .logo{
        display: flex;
        align-items: center;
        justify-content: flex-start;
    }

    .logo a{
        margin: 0;
    }

    .logo a img{
        width: 150px;
        margin-left: 1rem;
    }
}