.main-slide {
    display: flex;
    justify-content: center;
}
.main-slide>div {
    position: relative;
    width: 100%;
    aspect-ratio: 1920/1010;
}
.main-slide-img {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 2s;
    background-position: center center;
    background-size: cover;
}
.main-slide-img:nth-child(1) {
    opacity: 1;
}
@media screen and (max-width: 900px) {
    .main-slide {
        overflow: hidden;
    }
    .main-slide>div {
        min-width: 900px;
    }
}
@media screen and (max-width: 700px) {
    .main-slide>div {
        height: 100vw;
    }
    .main-slide-img {
        background-size: auto 100%;
        height: 100vw;
    }
}

.main-eng-title {
    font-family: "Jost";
    font-weight: 500;
    letter-spacing: 1pt;
    margin-top: 4rem;
}
.main-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.main-section:last-of-type {
    padding-bottom: 4rem;
}
.main-text {
    font-size: 1rem;
    max-width: 48rem;
}
.main-text>p {
    margin: 0 1rem 0 1rem;
    line-height: 1.5rem;
}
.main-text.narrow>p {
    max-width: 30rem;
}
.gray {
    background-color: #f5f5f5;
}

.main-category-grid {
    margin: 4rem 0 4rem 0;
    display: grid;
    grid-template-columns: 420px 420px;
    gap: 4rem 4rem;
}
@media screen and (max-width: 910px) {
    .main-category-grid {
        grid-template-columns: 420px;
    }
}
.main-category-item {
    width: 420px;
    text-decoration: none;
    color: #2a2a2a;
}
@media screen and (max-width: 420px) {
    .main-category-grid {
        grid-template-columns: 100%;
    }
    .main-category-item {
        width: 100%;
    }
}
.main-category-img {
    aspect-ratio: 67/53;
    position: relative;
}
.main-category-photo {
    position: absolute;
    width: 100%;
    height: 100%;
    background-position: center center;
    background-size: cover; 
}
.main-category-design .main-category-photo {
    background-image: url("/assets/photo_design.png");
}
.main-category-art .main-category-photo {
    background-image: url("/assets/photo_art.png");
}
.main-category-renovation .main-category-photo {
    background-image: url("/assets/photo_renovation.png");
}
.main-category-cafe .main-category-photo {
    background-image: url("/assets/photo_cafe.png");
}
.main-category-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.3);
    transition: 0.3s;

    display: flex;
    flex-direction: column;
    align-items: center;
}
.main-category-overlay:hover {
    background-color: rgba(255, 255, 255, 0);
}
.main-category-icon-vertical {
    height: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    text-align: center;
    color: #2a2a2a;
}
.main-category-icon {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.main-category-icon img {
    width: 5.6rem;
    margin: 1.5rem 0 1.2rem 0;
}
.main-category-icon > div:first-of-type {
    font-family: "Jost";
    font-weight: 500;
    font-size: 1rem;
    letter-spacing: 0.1rem;
}
.main-category-icon > div:last-of-type {
    font-size: 0.6rem;
    font-weight: 500;
    letter-spacing: 0.05rem;
}
.main-category-renovation .main-category-icon img {
    width: 5rem;
    margin-top: 2.5rem;
    margin-bottom: 2.2rem;
}
.main-category-cafe .main-category-icon img {
    margin-top: 2.5rem;
    margin-bottom: 2.2rem;
}
.main-category-description {
    display: grid;
    grid-template-columns: max-content auto;
    background-color: white;
}
.main-category-num {
    font-family: "Jost";
    font-weight: 400;
    font-size: 3rem;
    align-self: center;
    letter-spacing: 0rem;
    padding: 0.5rem 1.3rem 0.5rem 1.3rem;
}
.main-category-text {
    font-size: small;
    text-align: left;
    padding: 1.3rem 1.5rem 1.3rem 0;
}

.main-info-list {
    width: 70%;
    max-width: 720px;
    padding: 3rem 3.2rem 3.2rem 3.2rem;
    margin-bottom: 1rem;
    background-color: white;
    list-style-type: none;
}
.main-info-entry {
    display: grid;
    grid-template:
        'category date content' auto /
        6rem 8rem 1fr;
    vertical-align: middle;
    font-size: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: #e5e5e5 solid 1px;
}
.main-info-entry:nth-child(n+2) {
    margin-top: 1.2rem;
}
.main-info-meta {
    white-space: nowrap;
}
.main-info-category {
    grid-area: category;
    display: grid;
    place-items: center;
}
.main-info-category>div {
    background-color: #9b9b9b;
    color: white;
    font-weight: 600;
    font-size: 0.7rem;
    padding-top: 0.1rem;
    padding-bottom: 0.1rem;
    width: 6rem;
}
.main-info-date {
    grid-area: date;
    display: grid;
    place-items: center;
}
.main-info-content {
    grid-area: content;
    display: grid;
    place-items: center start;
    text-align: left;
}
.main-info-content>a {
    text-decoration-line: none;
    color: #2a2a2a;
}
.main-info-content>a[href]:hover {
    text-decoration-line: underline;
}
@media screen and (max-width: 700px) {
    .main-info-entry {
        grid-template:
            'category date    .' auto
            'content  content content' auto /
            6rem 8rem 1fr;
    }
}
.main-company {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 60%;
    max-width: 58rem;
    margin: 4rem auto 2rem auto;
}
.main-company-description {
    text-align: left;
}
.main-company-description p {
    margin: 0;
}
.main-company-illustration {
    width: auto;
    height: 470px;
    padding-left: 2rem;
}
@media screen and (max-width: 500px) {
    .main-company-illustration {
        width: 100%;
        height: auto;
    }
}
.main-company-learn-more {
    margin-top: 1rem;
    border: #2a2a2a solid 1px;
    width: 13rem;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 2rem 1rem 2.5rem;
    font-size: small;
    font-weight: 500;
    color: #2a2a2a;
    text-decoration-line: none;
    transition: 0.3s;
}
.main-company-learn-more:hover {
    background-color: #9b9b9b;
    border-color: #9b9b9b;
    color: white;
}
.main-company-learn-more-eng {
    font-size: 1rem;
    letter-spacing: 0.1rem;
}
.main-company-learn-more-chevron {
    position: relative;
    width: 4.2rem;
    height: 2.8rem;
}
.main-company-learn-more-chevron svg {
    position: absolute;
    height: 100%;
    width: auto;
    transition: padding-left 0.3s;
}
.main-company-learn-more:hover .main-company-learn-more-chevron svg {
    padding-left: 1.4rem;
}
@media screen and (max-width: 900px){
    .main-company {
        flex-direction: column;
    }
    .main-company-illustration {
        padding-left: 0;
        padding-top: 2rem;
    }
}
