
/* default */
/*Table用クラス*/
.TableParent {
    border: none;
    width: 100%;
    table-layout: fixed;
}

/*tBodyとtr用クラス*/
.TableNorm {
    border: none;
    padding-bottom: 30px;
}

/*分類名用*/
.DetailSec-C {
    display: inline-block;
    width: 70%;
    font-size: large;
}

/*分類合計数字用*/
.DetailSec-N {
    display: inline-block;
    width: 22%;
    font-size: 14pt;
    text-align: right;
}

/*td スポット名用*/
.SpotTableEx-Name {
    border: none;
    font-size: large;
    width: 70%;
    padding: 10px,20px;
}

/*td スポットの数字用*/
.SpotTableEx-Num {
    border: none;
    font-size: large;
    text-align: right;
    width: 30%;
    padding: 10px,20px;
}

/*スマホ用*/
@media screen and (min-width:300px) {

    /*td 上の合計文字用*/
    .UpperSumC {
        width: 65%;
        font-size: x-large;
        padding: 0px;
    }

    /*td 上の合計数字用*/
    .UpperSumN {
        width: 30%;
        font-size: x-large;
        text-align: right;
        padding: 0px;
    }

    .row-col-graphparent {
        margin-bottom:1.5em;
        padding-bottom: 1.5em;
        height: 800px;
    }

    .row-graph {
        display: inline-block;
        width: 100%;
        height: 100%;
        top:inherit;
        left: -2em;
        position:static;
        margin-bottom:2em;
    }
}

@media screen and (min-width:1000px) {

    /*td 上の合計文字用*/
    .UpperSumC {
        width: 70%;
        font-size: x-large;
        padding: 0px;
    }

    /*td 上の合計数字用*/
    .UpperSumN {
        width: 22%;
        font-size: 16pt;
        text-align: right;
        padding: 0px;
    }

    .row-col-graphparent {
        margin-bottom:3em;
        padding-bottom: 2em;
        height: 500px;
    }
    .row-graph {
        display: inline-block;
        margin-bottom:1em;
        width: 100%;
        height: 100%;
        top:0em;
        left:-4em;
    }
}

.cussum {
    position: relative;
    display: block; /* 矢印を消す */
    padding: 30px 10px 10px 30px;
    cursor: pointer;
    height: 35px;
    width: 100%;
    font-weight: bold;
    background-color: hsl(143, 65%, 81%);
    transition: 0.2s;
}

.cussum:hover {
    background-color: #ccebfb;
}

.cussum::-webkit-details-marker {
    display: none;
}

/* 疑似要素でアイコンを表示 */
.cussum:before,
.cussum:after {
    content: "";
    margin: auto 0 auto 10px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
}

.cussum:before {
    width: 16px;
    height: 16px;
    border-radius: 4px;
    background-color: #1da1ff;
}

.cussum:after {
    left: 6px;
    width: 5px;
    height: 5px;
    border: 4px solid transparent;
    border-left: 5px solid #fff;
    box-sizing: border-box;
    transition: .1s;
}

/* オープン時のスタイル */
details[open] .cussum {
    background-color: hsl(143, 65%, 81%);
}

    details[open] .cussum:after {
        transform: rotate(90deg); /* アイコンを回転 */
        left: 4px; /* 位置を調整 */
        top: 5px; /* 位置を調整 */
    }

/* アニメーション */
details[open] .details-content {
    animation: fadeIn 0.5s ease;
}

@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: translateY(-10px);
    }

    100% {
        opacity: 1;
        transform: none;
    }
}
