@charset 'UTF-8';

/*
COLORS
================================================ */
:root {
    --light-blue: #3E88A9;
    --east-bay-dark:#223663;
    --blue: #07466C;
    --gurkha: #A09575;
    --tuna: #313641;
    --light-brown:#A69082;
    --brown:#644F45;
    --light-green: #A5BE7B;
    --green: #0C2015;
    --timberwolf: #D7D5CD;
    --grey: #494E53;
    --grey-0:#f8f8f8;
    --grey-1:#e2e2e2;
    --grey-2:#c6c6c6;
    --grey-3:#ababab;
    --grey-4:#919191;
    --grey-5:#777777;
    --grey-6:#5f5f5f;
    --grey-7:#464646;
    --grey-8:#313131;
    --grey-9:#1b1b1b;
    --black: #000;
    --white: #fff;

    --background:#fff;
    --background2:#f8f8f8;
    --font:#000;
}

html {
    font-size: 100%;
}

body {
    font-family:
        "Helvetica Neue",
        Arial,
        "Hiragino Kaku Gothic ProN",
        "Hiragino Sans",
        "Noto Sans JP",
        "Noto Sans",
        Meiryo,
        sans-serif;
    -webkit-font-smoothing: antialiased;
    /* background-color: #1D2815; */
    background-color: var(--background);
}

h1{
    text-align: center;
    font-size:2vw;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin:10px 0;
}

.breadcrumb {
    margin-left: 1rem;
    display: flex;
    flex-wrap: wrap;
    list-style: none;
}

.breadcrumb li a{
    color: var(--light-blue);
    text-decoration: none;
}
  
.breadcrumb li:not(:last-of-type)::after {
    content: "/";
    margin: 0 .6em;
    color: #777;
}

.blurTrigger{
    opacity: 0;
}

.blur{
    animation-name: blurAnime;
    animation-duration:2.5s;
    animation-fill-mode:forwards;
    animation-delay: 0.8s;
    opacity: 0;
}

a.link {
    padding: 0.2em 0.5em;
    border-radius: 3px;
    transition: background-color 0.3s ease;
    text-decoration: none;
    background-color: #555;
    color: #FFF87E;
    &:hover {
        background-color: #888;
        color: var(--blue);
    }
}

@keyframes blurAnime{
    from {
        filter: blur(10px);
        transform:scale(1.1);
        opacity: 0;
    }
    to {
        filter: blur(0px);
        transform: scale(1);
        opacity: 1;
    }
}

.smoothTrigger{
    opacity: 0;
}

.smooth{
    animation-name: smoothAnime;
    animation-duration:2s;
    animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes smoothAnime{
    from {
        transform:transform3d(0, 100%, 0);
        transform:skewY(12deg);
        transform:rotateX(-45deg);
        opacity: 0;
    }
    to {
        transform:transform3d(0, 0, 0);
        transform:srewY(0);
        transform:rotateX(0);
        opacity: 1;
    }
}

.fadeInTrigger{
    opacity: 0;
}

.fadeIn{
    animation-name:fadeInAnime;
    animation-duration:2s;
    animation-fill-mode:forwards;
    transition: all 2s ease-in-out;
    opacity:0;
}
    
@keyframes fadeInAnime{
    from {
    opacity: 0;
    }

    to {
    opacity: 1;
    }
}

.fadeLeftTrigger{
    opacity: 0;
}

.fadeLeft{
    animation-name:fadeLeftAnime;
    animation-duration:2s;
    animation-fill-mode:forwards;
    transition: all 2s ease-in-out;
    opacity:0;
}

@keyframes fadeLeftAnime{
    from {
    opacity: 0;
    transform: translateX(-50px);
    }

    to {
    opacity: 1;
    transform: translateX(0);
    }
}
    
.fadeRightTrigger{
    opacity: 0;
}

.fadeRight{
    animation-name:fadeRightAnime;
    animation-duration:0.5s;
    animation-fill-mode:forwards;
    opacity:0;
}
    
@keyframes fadeRightAnime{
    from {
        opacity: 0;
        transform: translateX(100px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.fadeDownTrigger{
    opacity: 0;
}

.fadeDown{
    animation-name:fadeDownAnime;
    animation-duration:2s;
    animation-fill-mode:forwards;
    transition: all 2s ease-in-out;
    opacity:0;
}

@keyframes fadeDownAnime{
    from {
    opacity: 0;
    transform: translateY(-50px);
    }

    to {
    opacity: 1;
    transform: translateY(0);
    }
}

.fadeUpTrigger{
    opacity: 0;
}

.fadeUp{
    animation-name:fadeUpAnime;
    animation-duration:2s;
    animation-fill-mode:forwards;
    transition: all 2s ease-in-out;
    opacity:0;
}

@keyframes fadeUpAnime{
    from {
    opacity: 0;
    transform: translateY(50px);
    }

    to {
    opacity: 1;
    transform: translateY(0);
    }
}

h3.title {
    padding: 0.4em 0.5em;
    border-left: solid 5px var(--black);
    font-size:1.3rem;
    margin:1.5rem auto;
}

@media only screen and (max-width: 768px) {
    h1 {
        font-size: 1.5rem;
    }

    /* original table */
    .pc-size {
        display:none;
    }

    .sp-size {
        .title-container {
            max-width: 400px;
            width: 92vw;
            margin: 0 auto;
        }
    
        .title {
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
            background-color: var(--timberwolf);
            color: var(--east-bay-dark);
            padding: 15px 20px;
            margin: 10px 0;
            border-radius: 3px;
            font-size: 18px;
            cursor: pointer;
            transition: background-color 0.3s ease;
            position: relative;
        }

        .title::before {
            top: 50%;
            right: 20px;
            transform: rotate(45deg);
        }

        .title::after {
            top: 50%;
            right: 13px;
            transform: rotate(-45deg);
        }

        .title.active::before {
            transform: rotate(-45deg);
        }

        .title.active::after {
            transform: rotate(45deg);
        }

        .title.active::before,
        .title.active::after {
            background-color: var(--timberwolf);
        }

        .title::before,
        .title::after{
            position:absolute;
            content:'';
            width: 10px;
            height: 1.5px;
            background-color: var(--east-bay-dark);
        }

        /* 
        .title::before {
            top: 50%;
            left: 15px;
            transform:rotate(0deg);
        }
        
        .title::after {
            top: 50%;
            left: 15px;
            transform:rotate(90deg);
        }

        .title.active::after {
            transform:rotate(0deg);
            background-color: var(--white);
        } */

        .table-container {
            display: none;
            margin: 10px 0;
        }

        .table {
            width: 100%;
            border-collapse: collapse;
            background-color: #fff;
            border-radius: 8px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        }

        .table td {
            padding: 10px;
            border: 1px solid #ddd;
            text-align: center;
            color: #333;
        }

        .table tr td:first-child {
            background-color: #f5f5f5;
            font-weight: bold;
        }

        .title.active {
            background-color: var(--east-bay-dark);
            color:var(--timberwolf);
        }

        .title.active + .table-container {
            display: block;
            animation: fadeIn 0.5s ease;
            .btn-container {
                display: flex;
                justify-content: center;
                margin: 10px 50px;
                border-radius: 3px;
                background-color: #555;
                height:40px;
                color:var(--white);
            }
        }

        @keyframes fadeIn {
            from {
                opacity: 0;
                transform: translateY(-10px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
    }
}

@media screen and (min-width: 768px) {
    .sp-size {
        display:none;
    }

    .table-container {
        width: 100%;
        max-width: 1200px;
        margin: auto;
    }
    
    table {
        width: 100%;
        border-collapse: collapse;
        background-color: #ffffff;
        overflow: hidden;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    }

    /* .table-container table:hover{
        cursor: pointer;
    } */

    .flex-reverse {
        flex-direction: row-reverse;
    }

    .home-text {
        width: 70vw;
        margin-bottom: 2rem;
    }

    .table-container {
        thead {
            background-color: var(--black);
            color: #ffffff;
        }
        
        th, td {
            padding: 12px 15px;
            text-align: center;
        }
        
        td {
            color:#000000;
        }
        
        th {
            background-color: var(--black);
            opacity: 0.8;
            color:var(--white);
        }
        
        tbody tr:nth-child(even) {
            background-color: #f2f2f2;
        }
        
        tbody tr:hover {
            background-color: #e0e0e0;
        }
        
        tfoot {
            background-color: #f2f2f2;
        }
        
        tfoot td {
            padding: 12px 15px;
            text-align: right;
            font-weight: bold;
        }
    }
}