@charset 'UTF-8';

/*
GENERAL STYLING
================================================ */

body {
	color: #555;
}
p {
    line-height: 1.7;
}

main {
    padding-top: 10vh;
    /* color:var(--white); */
    /* color:#323E27; */
    /* color:#1E3D41; */
    color:var(--font);
}

h2.title {
    margin-top: 2rem;
    font-size: 1.5rem;
    line-height: 1.5;
}
h2.title::after {
    content: '';
    display: block;
    height: 5px;
    width: 10rem;
    background: #d0bea2;
    margin: 1rem 1rem 1rem 0;
}

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

section .wrapper {
    width: 100%;
    margin: 0 auto;
    padding: 0 1rem;
}

/* Contents */
.sub-bg {
    /* background-color: var(--background2); */
}

.content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 4rem 1rem;
}

.home-text,
.home-chart {
    margin: 2rem;
}

.home-text .only {
    width:100%;
}

.flex-reverse .home-chart {
    margin: 0 2vw 0 0;
}
.home-chart p {
    text-align: center;
}

table.company-info {
    width: 100%;
    border-collapse: collapse;
    margin: 2rem 0;
    opacity: 1;
}

.company-info th {
    background: var(--grey-0);
    border: solid 1px var(--grey-1);
    border-left:solid 1px var(--white);
    border-right:solid 1px var(--white);
    padding: 10px;
    font-weight: normal;
}

.company-info td {
    background: #ffffff;
    border: solid 1px var(--grey-1);
    border-left:solid 1px var(--white);
    border-right:solid 1px var(--white);
    padding: 10px;
    font-weight: normal;
}

/* Styling for mobile devices */
@media (max-width: 600px) {

    .content {
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
        .home-text.only {
            flex-direction: column;
            align-items: center;
            padding:20px 10px;
            margin: 0 auto;
            #company-pdf-1,
            #company-pdf-2 {
                display: none;
            }
            #company-pdf-1-sp,
            #company-pdf-2-sp {
                img {
                    object-fit: cover;
                    object-position: center center;
                    width: 100%;
                    height:100%;
                }
            }
        }

        .home-chart {
            width: 100%;
            margin-left:0;
            margin-top:1vh;
            img {
                width: 100%;
            }
        }
    }

    .company-img {
        width:50%;
        margin:0 auto;
    }

    .company-info {
        width: 80%;
    }

    .company-info th,
    .company-info td {
        border-bottom: none;
        display: block;
        width: 100%;
    }

    .company-hist {
        width: 100%;
        align-items: start;
        .home-text {
            width: 100%;
            margin: 1vh auto 0;
        }
        .home-text.only {
            width: 100%;
            margin: 1vh auto;
        }
        .home-chart {
            width: 100%;
            margin-left: 0;
            margin-top: 1vh;
            img {
                width: 100%;
            }
        }
        h4 {
            display: inline-block;
            font-weight: bold;
            border-bottom: solid 3px #000;
            margin: 0 auto 20px;
            padding: 0 0 5px 0;
            font-size: small;
        }
        table {
            width: 100%;
            border-collapse: collapse;
            border: 2px solid var(--white);
            font-size: x-small;
            margin: 0 auto;
        }
        thead {
            color: var(--white);
            background-color: var(--grey-7);
        }
        tbody {
            color: var(--black);
        }
        tbody tr:nth-child(odd) {
            background-color: var(--grey-1);
        }
        tbody tr:nth-child(even) {
            background-color: var(--grey-1);
        }
        th, td {
            border: 2px solid var(--white);
            padding: 5px;
        }
        /* 名称列が空白の行のスタイル */
        tbody tr td:first-child:empty,
        tbody tr td:first-child:empty ~ td {
            background-color: var(--white) !important;
        }
    }
}

/*
DESKTOP SIZE
================================================ */
@media (min-width: 600px) {

    .title {
        font-size: 1.875rem;
    }

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

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

    .home-text.only {
        width: 100vw;
        #company-pdf-1-sp,
        #company-pdf-2-sp{
            display: none;
        }
        #company-pdf-1,
        #company-pdf-2 {
            img {
                object-fit: cover;
                object-position: center center;
                width: 100%;
                height:100%;
            }
        }
    }

    .home-text.title {
        width: 100vw;
        padding:0;
        margin-bottom: 0;
    }
    
    .home-chart {
        width: 30vw;
        margin-top:1vh;
    }

    .company-hist {
        width: 100vw;
        align-items: start;
        .home-text {
            width: 50%;
            margin-top:1vh;
        }
        .home-text.only {
            width: 100%;
            margin:1vh auto;
        }
        .home-chart {
            width: 50%;
            margin-left:0;
            margin-top:1vh;
            img {
                width: 100%;
            }
        }
        h4 {
            display: inline-block;
            font-weight:bold;
            border-bottom: solid 3px #000;
            margin: 0 auto 50px;
            padding: 0 0 5px 0;
            font-size: small;
        }
        table {
            width: 100%;
            border-collapse: collapse;
            border: 2px solid var(--white);
            font-size:x-small;
        }
        thead {
            color: var(--white);
            background-color: var(--grey-7);
        }

        tbody {
            color: var(--black);
        }

        tbody tr:nth-child(odd) {
            background-color: var(--grey-1);
        }

        tbody tr:nth-child(even) {
            background-color: var(--grey-1);
        }

        th, td {
            border: 2px solid var(--white);
            padding: 5px;
        }

        /* 名称列が空白の行のスタイル */
        tbody tr td:first-child:empty,
        tbody tr td:first-child:empty ~ td {
            background-color: var(--white) !important;
        }
    }
}