/* ローディングインジケーターのスタイル */
/* スピナーのスタイル */
.spinner-container {
    display: none;
    /* 初期状態では非表示 */
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.spinner {
    width: 50px;
    height: 50px;
    border: 5px solid lightgray;
    border-top: 5px solid blue;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: 10px;
}

/* スピナーのアニメーション */
@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* JavaScriptが無効な場合の警告メッセージ */
.noscript-warning {
    color: red;
    font-weight: bold;
    padding: 10px;
    background-color: #fdd;
    text-align: center;
    margin-top: 20px;
}

/* ページのコンテンツを隠すための初期設定 */
#content {
    display: none;
}

/* 隠す場合のスタイル */
.hidden {
    display: none;
}


body,
input[type="text"],
input[type="email"],
select {
	color: #111;
	font-size: 1.2rem;
	font-family: "Noto Sans JP","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.7;
}



#formWrap {
    width: 580px;
    margin: 0 auto;
    color: #555;
    line-height: 120%;
    font-size: 90%;
    border-top: 10px solid #FFFF01;
}

.logo {
    margin-top: 20px;
}

#maintable {
    width: 100%;
    margin: 0 auto;
}


#frm1,#frm2 {
    width: 100%;
    margin: 0 auto;
    border-collapse: seprate;
    border-spacing: 0px;
}

#frm1 td,#frm2 td {
    border: 1px solid #ccc;
    padding: 20px;
}

table.formTable th {
    width: 50%;
    font-weight: bold;
    background: #FFF8E1;
    text-align: left;
    padding: 20px;
    border: 1px solid #ccc;
}

td.theme {
    background: #CCFFFF;
}

p.infobox {
    height: 6.8em;
    overflow: auto;
    border: grey 1px dashed;
    background-color: #FFFFFF;
}

input[id=studentID] {
    width: 8em;
}

input[id=studentID_2] {
    width: 8em;
}

.required {
    margin-left: .1em;
    color: #f33;
    font-size: .8em;
    padding: 1px;
    background-color: #fee;
    font-weight: bold;
}
.attention_red {
   color: #FF007F;
   font-size: .7em;
}
.attention_gray {
   color: #999;
   font-size: .7em;
}

td.center {
    text-align: center;
}

h1 {
    font-size: 24px;
}

input::-webkit-input-placeholder {
    color: #C0C0C0;
}

input:-ms-input-placeholder {
    color: #C0C0C0;
}

input::-moz-placeholder {
    color: #C0C0C0;
}

.center-text {
    text-align: center;
}

input[type=email] {
    width: 60%;
}
/*input.submit, input.reset, button {
	font-size: small;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, "メイリオ", "ＭＳ Ｐゴシック", arial, helvetica, sans-serif;
	overflow: visible;
	padding: 0em 0.5em 0em 0.5em;
	height: 2.2em;
}*/

input[type="submit"]
{
	width: 100%;
	font-size:100%;
	padding: 5px;
	background: -webkit-gradient(linear, left top, left bottom, from(#FFAA33), to(#FF8800));
	border: 1px #F27300 solid;
	color: #FFF;
	-webkit-appearance: none;
	-webkit-border-radius: 10px;
	-webkit-box-shadow: 0 2px 2px #CCC;
	text-shadow: 1px 2px 3px #C45C00;
	margin-top: 0;
	margin-right: 0;
	margin-bottom: 10px;
	margin-left: 0;
}

/*　簡易版レスポンシブ用CSS（必要最低限のみ）　*/
@media screen and (max-width:580px) {
    #formWrap {
        width: 100%;
        margin: 0 auto;
    }

    table.formTable th {
        margin-top: 0px;
        border-bottom: 0;
    }

    input[type=text] {
        width: 50%;
        padding: 5px;
        font-size: 110%;
        display: block;
    }

    input[type=submit],
    input[type=reset] {
        display: block;
        width: 100%;
        height: 40px;
    }

    input[type=email] {
        width: 70%;
        padding: 5px;
        font-size: 110%;
        display: block;
    }
}