html {
  font-family: sans-serif;
  min-width: 480px;
}

html[lang=ja] {
  font-family: Verdana, Roboto, 'Droid Sans', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic ProN', sans-serif;
}

body.hidatakayama-wifi {
  margin: 0.8ex;
  background-size: 100% auto;
}

body.hidatakayama-wifi.bg1 {
  background-image: url('../image/bg1.jpg');
}

body.hidatakayama-wifi.bg2 {
  background-image: url('../image/bg2.jpg');
}

body.hidatakayama-wifi.bg3 {
  background-image: url('../image/bg3.jpg');
}

body.hidatakayama-wifi.bg_h1 {
  background-image: url('../image/bg_h1.jpg');
}

body.hidatakayama-wifi.bg_h2 {
  background-image: url('../image/bg_h2.jpg');
}

body.hidatakayama-wifi.bg_h3 {
  background-image: url('../image/bg_h3.jpg');
}

body.hidatakayama-wifi.bg_h4 {
  background-image: url('../image/bg_h4.jpg');
}

.hidatakayama-wifi a.questionnaire-start-button {
  width: 100%;
  height: auto;
  border: none;
  color: white;
  background-color: #1563ac;
  padding: 1ex 0 1ex 0;
  font-size: 190%;
  margin-top: 1ex;
  margin-bottom: 1ex;
  display: block;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  line-height: 150%;
}

.hidatakayama-wifi a.questionnaire-start-button:link {
  color: white;
}

.hidatakayama-wifi a.questionnaire-start-button:visited {
  color: white;
}

.hidatakayama-wifi a.questionnaire-start-button:hover {
  color: white;
}

.hidatakayama-wifi a.questionnaire-start-button:active {
  color: white;
}

.hidatakayama-wifi form.login p {
  color: white;
  font-size: 120%;
  margin: 9ex 0 1ex 0;
}

@media screen and (min-width: 800px){
  .hidatakayama-wifi .container {
    margin-top: 0;
    margin-left: auto;
    margin-right: auto;
    width: 800px;
  }
}

.hidatakayama-wifi .questionnaire-help {
  margin: 0;
  padding: 1ex;
  background-color: rgba(255, 255, 255, 0.7);
  line-height:150%;
}

.hidatakayama-wifi input[type=text] {
  width: 100%;
  border: none;
  background-color: transparent;
  font-size: 120%;
  padding: 1.2ex 1ex 1.2ex 1ex;
  margin: 0;
  text-indent: 0;
  -ms-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.hidatakayama-wifi select {
  background: transparent url("../image/select_arrow.png") no-repeat;
  background-size: auto 5ex;
  background-position: right center;
  border: none;
  color: #878684;
  font-size: 100%;
  margin: 0;
  padding: 1.8ex 1.3ex;
  text-indent: 0;
  width: 100%;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.hidatakayama-wifi select.present {
  color: black;
}

.hidatakayama-wifi input::-webkit-input-placeholder {
  line-height: 140%; /* http://stackoverflow.com/questions/4919680/html5-placeholder-css-padding */
  color: #5c5c5c;
}

.hidatakayama-wifi input:-moz-placeholder { /* FF 4-18 */
  color: #5c5c5c;
}

.hidatakayama-wifi input::-moz-placeholder { /* FF 19+ */
  color: #5c5c5c;
}

.hidatakayama-wifi input:-ms-input-placeholder { /* IE 10+ */
  color: #5c5c5c;
}

.hidatakayama-wifi input[type=submit] {
  width: 100%;
  height: auto;
  border: none;
  color: white;
  background-color: #64cb00;
  padding: 1ex 0 1ex 0;
  margin: 0.5ex 0 2em 0;
  font-size: 190%;
  border-radius: 0; /* iPhone */
  -webkit-appearance: none; /* iPhone */
  line-height: 150%;
}

.hidatakayama-wifi .input-group {
  background-color: rgba(255, 255, 255, 0.7);
  margin-bottom: 1ex;
}

.hidatakayama-wifi .input-group hr {
  width: 95%;
  border: 1px solid #e8e8e8;
  margin: 0 0.5ex 0 0.5ex;
  padding: 0;
}

.hidatakayama-wifi .radios {
  margin: 2.8ex 1ex 1ex 1ex;
  color: white;  
  font-size: 110%;
  text-indent: 0.5ex;
  line-height: 130%;
}

.hidatakayama-wifi .radios table {
  margin: 1ex 0ex 2.1ex 0ex;
  border-collapse: collapse;
}

.hidatakayama-wifi .radios table label {
  text-indent: 0;
  display: block;
  width: 12.5ex;
  padding: 0 0 2px 0;
}

.hidatakayama-wifi a:link {
  color: #83c1ec;
  text-decoration: none;
}

.hidatakayama-wifi a:visited {
  color: #83c1ec;
}

.hidatakayama-wifi a:hover {
  color: #83c1ec;
}

.hidatakayama-wifi a:active {
  color: #83c1ec;
}

.hidatakayama-wifi footer {
  text-align: center;
  color: white;
  margin: 3ex 0 3ex 0;
  font-size: 95%;
}

.hidatakayama-wifi ul.links {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.hidatakayama-wifi ul.links li {
  text-indent: 1ex;
  border-top: solid rgba(255, 255, 255, 0.4) 1px;
  border-bottom: solid rgba(128, 128, 128, 0.6) 1px;
  display: block;
  margin: 0;
  padding: 0;
  background-color: rgba(255, 255, 255, 0.7);
  background-image: url("../image/link_arrow.png");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: auto 48%;
}

.hidatakayama-wifi ul.links li a {
  display: block;
  padding: 1.8ex 0.5ex;
}

.hidatakayama-wifi ul.links li a {
  color: #252525;
  text-decoration: none;
}

.hidatakayama-wifi ul.links li a:link {
  color: #252525;
}

.hidatakayama-wifi ul.links li a:visited {
  color: #252525;
}

.hidatakayama-wifi ul.links li a:hover {
  color: #252525;
}

.hidatakayama-wifi ul.links li a:active {
  color: #252525;
}

.hidatakayama-wifi .information-here-balloon {
  /* ふきだしから文字がはみ出ないように、ピクセル単位で細かく指定する */
  width: 113px;
  height: 32px;
  margin: 0;
  padding: 15px 0 15px 0;
  color: white;
  background: transparent url("../image/information_here_balloon.png") no-repeat;
  background-size: contain;
  text-align: center;
  line-height: 15px;
  font-size: 12px;
}

.hidatakayama-wifi .information-here-balloon_hida {
  /* ふきだしから文字がはみ出ないように、ピクセル単位で細かく指定する */
  width: 113px;
  height: 32px;
  margin: 0;
  padding: 15px 0 15px 0;
  color: black;
  background: transparent url("../image/information_here_balloon_hida.png") no-repeat;
  background-size: contain;
  text-align: center;
  line-height: 15px;
  font-size: 12px;
}

.hidatakayama-wifi table.title {
  margin: 3em auto 4ex auto;
  border-collapse: collapse;
}

.hidatakayama-wifi table.title img.logo {
  width: 7.2ex;
  height: 7.2ex;
  margin-right: 1ex;
}

.hidatakayama-wifi table.title * {
  margin: 0;
  padding: 0;
  border: none;
}

.hidatakayama-wifi table.title td {
  text-align: center;
  line-height: 1;
}

.hidatakayama-wifi table.title .hidatakayama {
  margin-left: 5px;
  letter-spacing: 0.6ex;
}

.hidatakayama-wifi table.title .freewifi {
  margin-top: 5px;
  letter-spacing: 0;
  font-size: 190%;
}

.hidatakayama-wifi img.loading-indicator {
  width: 8ex;
  margin: 5.5ex auto 0 auto;
  display: block;
}

.hidatakayama-wifi .error-title {
  font-size: 180%;
  text-align: center;
  margin: 0;
}

.hidatakayama-wifi .error-title img {
  width: 2.3ex;
  height: 2.3ex;
  vertical-align: text-bottom;
  margin-right: 0.5ex;
}

.hidatakayama-wifi .error-subtitle {
  text-align: center;
  margin: 0;
}

.hidatakayama-wifi .error-message {
  text-align: center;
  margin: 1.5ex 0.8ex 1ex 0.8ex;
  color: white;
  line-height: 110%;
}

.hidatakayama-wifi .questionnaire-introduction {
  text-indent: 1ex;
  color: white;
  margin: 1.6em 1ex 1ex 1ex;
  height: 28ex;
}

.hidatakayama-wifi form.questionnaire .input-group {
  color: #878684;
}

.hidatakayama-wifi form.questionnaire input[type=text] {
  background: transparent;
  background-position: right center;
  background-size: auto 5ex;
  margin: 0;
  padding: 2ex 1.3ex;
  text-indent: 0;
  font-size: 100%;
}

.hidatakayama-wifi form.questionnaire input::-webkit-input-placeholder {
  color: #888;
}

.hidatakayama-wifi form.questionnaire input:-moz-placeholder { /* FF 4-18 */
  color: #888;
}

.hidatakayama-wifi form.questionnaire input::-moz-placeholder { /* FF 19+ */
  color: #333;
}

.hidatakayama-wifi form.questionnaire input:-ms-input-placeholder { /* IE 10+ */
  color: #888;
}

.hidatakayama-wifi form.questionnaire .input-group hr {
  border: 1px solid #aaa;
  margin: 0;
  padding: 0;
}

.hidatakayama-wifi form.questionnaire .email-notice {
  margin: 0.5ex 0 2ex 0;
  padding: 0 2ex 2ex 1ex;
  line-height: 120%;
}

.hidatakayama-wifi .thanks-message {
  text-align: center;
  margin: 2em 1ex 2em 1ex;
  height: 21ex;
}

.hidatakayama-wifi .remove-title {
  text-align: center;
  margin: 3ex 0 0 0;
  font-size: 110%;
}

.hidatakayama-wifi .remove-howto {
  color: white;
  margin: 0.7ex 1ex 1ex 1ex;
  line-height: 110%;
  height: 27ex;
}

.hidatakayama-wifi form.remove input[type=submit] {
  background-color: #df0000;
}

.hidatakayama-wifi .comp-title {
  text-align: center;
  margin: 3ex 0 0 0;
  font-size: 110%;
}

.hidatakayama-wifi .comp-message {
  color: white;
  margin: 0.3ex 1ex 1ex 1ex;
  height: 19.5ex;
  text-align: center;
}

.hidatakayama-wifi .error {
  color: red;
  margin: 0.5ex;
}
.hidatakayama-wifi .error ul,
.hidatakayama-wifi .error ul li {
	margin: 0;
	padding: 0;
	list-style: none;
}
.hidatakayama-wifi .error ul {
	padding: 10px;
}
.hidatakayama-wifi .error-star {
  color: red;
  position: absolute;
  font-size: small;
  margin: 0.1ex;
}

.hidatakayama-wifi .error-star-char {
  color: red;
}

pre {
	background: #CCCCCC;
	padding: 20px;
	margin: 20px auto 0;
}


.login_div{
  margin-top: 5px;
  margin-bottom: 5px;
}

.login_a{
  line-height: inherit;
  text-decoration: none;
  cursor: pointer;
  margin: 10px;
}

.login_img{
  border-style: none;
  display: inline-block;
  vertical-align: middle;
  width: 200px;
  object-fit: contain;
  -ms-interpolation-mode: bicubic;  
}
*.floating{
   float: left;
   width: 49%;
}
