body {
    font-size: 1rem;
    max-width: 100%;
    margin: 0;
    box-sizing: border-box;
    background-color: #F5F5F5; /*背景色（両サイド余白）*/
}

.container {
    width: 48em;
    max-width: 100%;
    height: auto;
    min-height: 100vh;
    margin: 0 auto; 
    background-color: #FFF; /*背景色（メイン背景）*/
    box-sizing: border-box;
    box-shadow: 0 2px 4px #D3D3D3;
}

.main-contents {
    width: 29em;
    max-width: 100%;
    padding: 1em 0.5em;
    margin: 0 auto; 
    box-sizing: border-box;
}

.mb05 {
    margin-bottom: 0.5em;
}

.mt05 {
    margin-top: 0.5em;
}

#msgbox {
    display: none;
}

.flex-container {
    width: 28em;
    max-width: 100%;
    display: flex;
    margin-bottom: 2em;
    flex-wrap: wrap;
}

.w30 {
    flex-basis: 30%;
}

.w40 {
    flex-basis: 40%;
}

.w50 {
    flex-basis: 50%;
}

.w100 {
     flex-basis: 100%;
}

.input1 {
    display: inline-block;
    text-align: center;  
    pointer-events: none;
    padding: 4px 6px;
    margin: 5px 0;
    border: 1px solid black;
    border-radius: 4px;
    font-size: 15px;
    height: 27px;
    width: 70px;
    box-sizing: border-box;
    line-height: 17px;
    vertical-align: middle;
}

.input2 {
    display: inline-block;
    text-align: center;
    padding: 4px 6px;
    margin: 5px 0;
    border: 1px solid black;
    border-radius: 4px;
    font-size: 15px;
    height: 27px;
    width: 59px;
    box-sizing: border-box;
    line-height: 17px;
    vertical-align: middle;
}

.button1 {
    display: inline-block;
    text-align: center;
    padding: 3px 6px;
    margin: 5px 0;
    background-color: #EFEFEF;
    border: 1px solid black;
    border-radius: 4px;
    font-size: 13px;
    cursor: pointer;
    height: 27px;
    box-sizing: border-box;
    line-height: 19px;
    vertical-align: middle;
}

.button2 {
    display: inline-block;
    text-align: center;
    padding: 3px 17px;
    margin: 5px 0;
    background-color: #EFEFEF;
    border: 1px solid black;
    border-radius: 4px;
    font-size: 13px;
    cursor: pointer;
    height: 27px;
    box-sizing: border-box;
    line-height: 19px;
    vertical-align: middle;
}

.log-container {
    width: 28em;
    max-width: 100%;
}

#logs {
    font-size: 15px;
}

.fs14 {
    font-size: 14px;
}

.mobile-break {
    display: none;
}

.inactive-button {
    opacity: 0.3;
    color: inherit;
}

.mobile-spacer {
    display: none;
}

.spacer1 {
    height: 37px;
}

@media (max-width: 480px) {
    .mobile-break {
        display: inline;
    }

    .mobile-spacer {
        height: 1em;
        display: block;
    }

    .button2 {
        padding: 3px 13px;;
    }

    .input2 {
        width: 51px;
    }
}
