/* PC・スマホ共通スタイル */
body{
    font-family: 'M PLUS Rounded 1c', sans-serif;
    color: #3d3d3d;
}

/* PC用スタイル */

@media screen and (min-width: 768px) {
    
    body{
        max-width: 1080px;
        min-width: 768px;
        margin: 0 auto 0 auto;
    }

    /* ページタイトル */
    h1{
        text-align: center;
        font-size: 50px;
        font-weight: bold;
        margin: 50px 0 0 0;
    }

    /* メイン画面 */
    #mainGame{
        margin: 50px auto 0 auto;
        text-align: center;
    }

    /* レベルボタン */
    #button > button{
        width: 100px;
        height: 50px;
        color: #ffffff;
        font-size: 30px;
        border: none;
    }

    #button > button:active{
        opacity: 0.5;
    }

    #blueButton{
        background-color: #6495ED;
    }

    #blueButton:hover{
        background-color: #5b88db;
    }

    #greenButton{
        background-color: #0eec93;
        margin-right: 20px;
        margin-left: 20px;
    }

    #greenButton:hover{
        background-color: #15dd8d;
    }

    #redButton{
        background-color: #f30f3d;
    }

    #redButton:hover{
        background-color: #dd163e;
    }

    /* タイマー */
    #time{
        margin: 30px auto 0 auto;
        width: 350px;
        height: 350px;
        background-color: #6495ED;
        border-radius: 50%;
        color: #ffffff;
        font-size: 100px;
        line-height: 350px;
    }

    .hidden{
        display: none;
    }

    /* スタート・ストップボタン */
    #start{
        margin: 30px 10px 0  auto;
        width: 100px;
        height: 50px;
        font-size: 18px;
    }

    #stop{
        margin: 30px auto 0 10px;
        width: 100px;
        height: 50px;
        font-size: 18px;
    }

    /* リザルト */
    #result{
        margin: 20px auto 0 auto;
        width: 400px;
        height: 130px;
        border: dotted 5px;
        border-color: #ffd700;
        border-radius: 15px;
        background-color: #ffffe1;
        display : none;
    }

    #result > p{
        margin: 15px auto 10px auto;
        font-size: 20px;
    }

    #result > p > span{
        font-size: 40px;
        color: #f30f3d;
    }

    .br-sp{
        display: none;
    }

    /* ルール説明 */
    #rule{
        margin: 50px auto 0 auto;
    }

    h2{
        color: #ee4469;
        margin-top: 0;
        margin-bottom: 0;
    }

    ol{
        margin: 10px auto 0 auto;
        list-style-position: inside;
        padding-left: 0;
    }

    /* レベル説明 */
    #different{
        margin: 30px auto 0 auto;
    }

    #different > p{
        margin-top: 10px;
    }

    /* ランク説明 */
    #rank{
        margin: 30px auto 0 auto;
    }

    #rank > p{
        margin-top: 10px;
        margin-bottom: 0;
    }

    #rank > table{
        margin-top: 10px;
    }

    .rankLevel{
        text-align: center;
    }

    .info{
        padding-left: 1em;
    }

    /* フッター */
    footer{
        margin: 30px auto 0 auto;
        width: 100vw;
        height: 30px;
        margin-left: calc(-50vw + 50%);
        background-color: #3d3d3d;
        color: #ffffff;
        text-align: center;
    }
}

/* スマホ用スタイル */

@media screen and (max-width: 767px) {

    body{
        min-width: 375px;
        margin: 0 15px 0 15px;
    }

    /* ページタイトル */
    h1{
        text-align: center;
        font-size: 30px;
        font-weight: bold;
        margin: 50px 0 0 0;
    }

    /* メイン画面 */
    #mainGame{
        margin: 30px auto 0 auto;
        text-align: center;
    }

    /* レベルボタン */
    #button > button{
        width: 80px;
        height: 50px;
        color: #ffffff;
        font-size: 30px;
        border: none;
    }

    #button > button:active{
        opacity: 0.5;
    }

    #blueButton{
        background-color: #6495ED;
    }

    #greenButton{
        background-color: #0eec93;
        margin-right: 20px;
        margin-left: 20px;
    }

    #redButton{
        background-color: #f30f3d;
    }

    /* タイマー */
    #time{
        margin: 30px auto 0 auto;
        width: 350px;
        height: 350px;
        background-color: #6495ED;
        border-radius: 50%;
        color: #ffffff;
        font-size: 100px;
        line-height: 350px;
    }

    .hidden{
        display: none;
    }

    /* スタート・ストップボタン */
    #start{
        margin: 30px 10px 0  auto;
        width: 100px;
        height: 50px;
        font-size: 18px;
    }

    #stop{
        margin: 30px auto 0 10px;
        width: 100px;
        height: 50px;
        font-size: 18px;
    }

    /* リザルト */
    #result{
        margin: 40px auto 0 auto;
        width: 350px;
        height: 180px;
        border: dotted 5px;
        border-color: #ffd700;
        border-radius: 15px;
        background-color: #ffffe1;
        display : none;
    }

    #result > p{
        margin: 15px auto 10px auto;
        font-size: 20px;
    }

    #result > p > span{
        font-size: 50px;
        color: #f30f3d;
    }

    /* ルール説明 */
    #rule{
        margin: 50px auto 0 auto;
        width: 350px;
    }

    h2{
        color: #ee4469;
        margin-top: 0;
        margin-bottom: 0;
        font-size: 22px;
    }

    ol{
        margin: 10px auto 0 auto;
        list-style-position: inside;
        padding-left: 0;
    }

    /* レベル説明 */
    #different{
        margin: 30px auto 0 auto;
        width: 350px;
    }

    #different > p{
        margin-top: 10px;
    }

    /* ランク説明 */
    #rank{
        margin: 30px auto 0 auto;
        width: 350px;
    }

    #rank > p{
        margin-top: 10px;
        margin-bottom: 0;
    }

    #rank > table{
        margin-top: 10px;
    }

    .rankLevel{
        text-align: center;
    }

    .info{
        padding-left: 1em;
    }

    /* フッター */
    footer{
        margin: 30px auto 0 auto;
        width: 100vw;
        height: 30px;
        margin-left: calc(-50vw + 50%);
        background-color: #3d3d3d;
        color: #ffffff;
        text-align: center;
    }

}