@import url('https://fonts.googleapis.com/css2?family=Lexend+Deca:wght@100;400;500;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Train+One&display=swap');

body {
    font-size: 1.2rem;
}

body,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6,
#ball,
.tt-main-menu,
.ph-caption-title-ghost,
.ph-caption-subtitle,
.scroll-down-circle,
.made-with-love,
.tt-ol-menu-toggle-btn-text,
.tt-m-menu-toggle-btn-text,
.tt-ol-menu-list,
.tt-heading,
.tt-btn,
.social-buttons,
.footer-social,
.tt-ps-nav-pagination,
.tt-pc-navigation,
.tt-cc-pagination,
.pli-counter,
.ttgr-cat-trigger-wrap,
.ttgr-cat-list,
.portfolio-interactive-item,
.tt-copyright,
.project-info-list,
.tt-pn-link,
.tt-pn-subtitle,
.ph-share-ghost,
.tt-pagination,
.tt-scrolling-text,
#blog-list.bli-compact .bli-info::before,
.blog-interactive-item::before {
    font-family: "Zen Kaku Gothic New", 'Lexend Deca', sans-serif;
}

.single-project .ph-caption-title {
    font-family: 'Lexend Deca', sans-serif;
    font-size: clamp(24px, 3.5vw, 55px);
}

.project-category .ph-caption-title {
    font-family: 'Train One', cursive;
}

#portfolio-grid.pgi-cap-inside .pgi-caption {
    padding: 0 6%;
}

.ttgr-layout-creative-2 .pgi-title {
    font-size: calc(14px + 0.4vw);
}

.tt-heading.tt-heading-lg .tt-heading-subtitle {
    font-size: calc(18px + 0.1vw);
}

.tt-accordion.tt-ac-xlg .tt-ac-head-title {
    font-size: calc(18px + 0.8vw);
}

.portfolio-interactive.pi-compact .pi-item-title,
.portfolio-interactive.pi-compact .pi-item-hover-title {
    font-size: calc(14px + 1.2vw);
}

.tt-heading.tt-heading-lg .tt-heading-title {
    font-size: calc(24px + 1.2vw);
}

#page-header.ph-cap-xxlg .ph-caption-title {
    font-size: clamp(20px, 4vw, 70px);
}


.width-100 {
    width: 100% !important;
}

.tt-heading.tt-heading-xsm .tt-heading-subtitle {
    font-size: calc(14px + 0.3vw);
}

.long-text {
    word-wrap: break-all;
    word-break: break-all;
    white-space: pre-wrap;
}

figcaption {
    font-style: normal;
}

.portfolio-interactive.pi-compact .portfolio-interactive-item::before {
    font-family: 'Train One', cursive;
    font-style: normal;
}

#tt-ol-menu-toggle-btn-wrap-pc {
    position: relative;
    display: flex;
    align-items: center;
    pointer-events: initial;
    cursor: pointer;
    z-index: 9;
}

.pc-nav {
    list-style: none;
    display: flex;
    height: 46px;
    align-items: center;
    margin: 0;
}

.pc-nav>li {
    display: flex;
    position: relative;
}

.pc-nav>li:not(:last-of-type) {
    margin-right: 60px;
}

.pc-nav>li>a {
    color: #fff;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    line-height: 1;
    position: relative;
}

.pc-nav>li>a span:first-of-type {
    margin-bottom: 5px;
    font-weight: 500;
    font-size: 1rem;
}

.pc-nav>li>a span:last-of-type {
    font-size: 10px;
    opacity: 0.8;
}

.pc-nav>li>a::after {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    bottom: -15px;
    transition: 0.25s ease-out;
    width: 0;
    border-bottom: 1px solid;
    width: 0;
}

.pc-nav>li>ul {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    /* background-color: rgba(255, 255, 255, 1); */
    border: 1px solid rgba(255, 255, 255, 0.9);
    padding: 10px 0 10px 10px;
    border-radius: 0;
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.1);
    list-style: none;
    transition: 0.25s ease-out;
    opacity: 0;
    z-index: -1;
    width: 100%;
}


.pc-nav>li:not(:last-of-type)::after {
    content: "";
    display: block;
    position: absolute;
    background-color: #fff;
    width: 1px;
    height: 18px;
    right: -30px;
    top: 50%;
    transform: translateY(-50%);
}

@media (max-width: 1260px) {
    #tt-ol-menu-toggle-btn-wrap-pc {
        display: none !important;
    }
}

@media (min-width: 1261px) {
    #tt-ol-menu-toggle-btn-wrap {
        display: none !important;
    }
}

@media (max-width: 768px) {

    body,
    .tt-accordion-subtext {
        font-size: 1.1rem;
        line-height: 1.5;
    }

    .tt-heading.tt-heading-xsm .tt-heading-title {
        font-size: 1.35rem;
    }

    .pc {
        display: none !important;
    }
}

@media (min-width: 769px) {
    .sp {
        display: none !important;
    }
}