@charset "utf-8"; 

form { margin:1em 0.2em; }

fieldset { margin:1em 0; padding:2em; border:1px solid #999; border-radius:5px; }
legend { font-size:16px; padding:0.5em; font-weight:bold; }

label { margin:0.5em 0; display:inline-block; }
label span { color:#c00; margin: 0 0.3em; font-size:0.8em; }
label.ib { display:block; float:left; width:15em; }
label.b { display:block; }

input[type="file"], input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], 
textarea, select { font-size:16px; padding:0.3em; font-family: 'ＭＳ ゴシック', 'Osaka-等幅';
margin:0.5em; border-radius:2px; clear:both; box-shadow: inset 1px 3px 6px -6px rgba(0,0,0,0.5); border:1px solid #ccc; }

select, option { font-size:16px; padding:0.3em; line-height:1.5; font-family: 'ＭＳ ゴシック', 'Osaka-等幅'; }

input[type=checkbox], input[type=radio]{ display:inline; clear:none; margin:0 0.5em; }

button, input[type=button], input[type=submit], input[type=reset] { font-size:16px; background-color:#36a; margin:1em; padding:0.5em 3em; color:#fff; border:solid 1px #ccc; border-radius:3px; font-weight:bold; -webkit-appearance: none; }

button:hover, input[type=button]:hover, input[type=submit]:hover, input[type=reset]:hover { background-color:#47a; }

input:focus { border:solid 1px #abc; }

textarea {
 font-family: 'ＭＳ ゴシック', 'Osaka-等幅';
 resize: none;
 overflow: hidden;
 white-space: break-spaces;
 line-break: anywhere;
 line-height:1.5;
}

form div { clear:left; overflow:hidden; }

form dl { margin:1em; }
form dt { float:left; width:12em; clear:left; font-weight:bold; }
form dd { margin:0 0 2em 10em; }

@media only screen and (max-width:480px) { 
form dl { margin:1em 0.5em; }
form dt { float:none; font-weight:bold; }
form dd { margin:0 0 2em 0; }
}
