html,body,
div.row,
div.container
{
  font-family: 'rounded-mplus-1c', 'ヒラギノ丸ゴ Pro W4', 'ヒラギノ丸ゴ Pro', 'Hiragino Maru Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'HG丸ｺﾞｼｯｸM-PRO', 'HGMaruGothicMPRO';
  font-size: calc(10px + 1vw);
  /*font−weight:bold;*/
}

hr {
  margin-top: 1vw;
  margin-bottom: 1vw;
}

div.error-message{
  color: #ff0000;
  font-size: 1.2vw;
  margin-bottom: 1vw;
  white-space: nowrap;
}

span.confirm_message {
  display: inline-block;
  color: rgb(239, 79, 105);
  font-size: 1.2vw;
  white-space: nowrap;
}

div.message {
  position: absolute;
  width: 100%;
  height: auto;
  top: 0;
  left: 0;
  opacity: 0.7;
  font-size: 1.6vw;
}

div.message:before {
  border-radius: 4vw;
  font-size: 1.6vw;
  top: -0.2vw;
  left: -0.4vw;
  padding: 0.8vw 1vw 0.8vw 0.6vw;
}

div.message.error:before {
  top: -0.1vw;
  left: -0.4vw;
  padding: 0.6vw 1.2vw 1vw 0.4vw;
}
.checkbox {
  margin: 0;
}
.ws_contents{
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 2vw;
  overflow: hidden;
  box-shadow: 0.1vw 0.1vw 0.4vw 0.1vw rgba(0, 0, 0, 0.2);
  margin-bottom: 4px;
}

.ws_contents.maintenance{
  background-color: rgb(137, 173, 217);
  border: 0.5vw solid rgb(156, 186, 224);
  color: rgb(255, 255, 255);
  padding: 2vw 1vw;
}

.ws_contents.confirm_form{
  background-color:  rgb(255, 255, 255);
  border: 0.5vw solid rgb(253, 226, 106);
  padding: 1vw 1vw;
}

.ws_contents.maintenance div.columns{
  padding: 0;
  height: auto;
  min-height: 4vw;
}

.ws_contents.maintenance select,
.ws_contents.maintenance input{
  max-width: calc(100% - 0.5vw);
  height:auto;
  max-height: 100%;
  min-height: 3vw;
  font-size: 1.2vw;
  font-weight: normal;
  line-height: inherit;
  color: rgb(0,0,0);
  padding: 0 0.5vw;
  margin: 0;
  margin-right: 0.5vw;
  border-radius: 1vw;
}

.ws_contents.maintenance select{
  padding-right: 1.8vw;
  background-position: calc(100% - 0.4vw);
  background-size: 0.8vw 100%;
}

@media (max-width: 767px) {
   .ws_contents.maintenance select{
     background-size: 2.4vw 100%;
   }
}

@media all and (-ms-high-contrast:none){
  *::-ms-backdrop,
  .ws_contents.maintenance select {
    background-size: 3vw 0.4vw;
    background-position: 110%;
  }
}

@-moz-document url-prefix() {
  .ws_contents.maintenance select {
    background-size: 3vw 0.4vw;
    background-position: 110%;
  }
}

.ws_contents.maintenance input[type=text]:disabled,
.ws_contents.maintenance input[type=text][disabled],
.ws_contents.maintenance select:disabled,
.ws_contents.maintenance select[disabled],
.ws_contents.maintenance select[disabled]:hover {
  background-color: #ddd;
  background-image: none;
  border-color: #999;
  color: rgb(128, 128, 128);
  opacity: 1;
}

.ws_contents.maintenance label{
  padding-right: 0.5vw;
  display: inline-block;
  color: rgb(255, 255, 255);
  font-size: 1.6vw;
  font-weight: bold;
  text-align: left;
}

.ws_contents.maintenance div.input>label{
  min-height: 3vw;
}

.ws_contents.maintenance label.checkbox{
  width:auto;
  margin-bottom: 0.8vw;
}

.ws_contents.maintenance div.row>div.columns label{
  text-align: left;
}

div#fullOverlay, div#CorrectFullOverlay{
  position: fixed;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(255, 255, 255, .8);
  z-index: 2147483647;
}

div#fullOverlay div, div#fullOverlay button, div#CorrectFullOverlay button{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
  color: rgba(250, 250, 250, 1);
  font-size: 24px;
  text-align: center;
  background: none;
  font-weight: bold;
}

div#fullOverlay .answer_image{
  top: 50%;
}

div#fullOverlay .answer_close, div#CorrectFullOverlay .correct_close{
  top: 95%;
  color: rgb(239, 79, 105);
  outline:0;
}

div#CorrectFullOverlay .correct_close{
  z-index: 101;
  top: 90%;
  color: rgb(255, 255, 255);
  outline:0;
  /* background: rgb(89, 73, 63); */
  /* width: 35%;
  height: 8%; */
  border-radius: 3vw;
}

div#CorrectFullOverlay .img_confetti img{
  z-index: 100;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  max-width: inherit;
}

div#CorrectFullOverlay .img_allcorrect img{
  position: absolute;
  top: 10%;
  left: 0;
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  max-width: inherit;
  object-fit: cover;
}

div#fullOverlay .answer_mean{
  top: 80%;
  color: #4081f9;
  padding: 2%;
  width: 90%;
  border-radius: 10px;
}

div#fullOverlay .answer_text{
  top: 70%;
  color: #4081f9;
}

/* Bootstrap */
div#content{
  /* margin-top: 40px; */
  padding-top: 2px;
  padding-left: 1%;
  padding-right: 1%;
  width: 100%;
}

div.row{
  max-width:none;
  margin: 0;
  /* margin-top: 2px; */
}

nav div.row {
  margin: 0;
}

div.row.top{
  margin: 0;
}

button.ui{
  background: none;
  padding: 0;
  margin: 0;
  outline: none;
}
img.ui_button{
  height: 48px;
  vertical-align: initial;
}
div.container{
  /*overflow: visible;*/
  width: 98%;
  padding: 0;
  margin-left: 1%;
  margin-right: 1%;
}

div.ui_right{
  width: 100%;
  text-align: right;
}

div.ui_left{
  width: 47%;
  margin-top: 70px;
  margin-bottom: 10px;
  float: left;
}
div#practice_title{
  padding-top: 20px;
  font-weight: bold;
  color: #fff;
  text-shadow: 0.1vw 0.1vw 0px rgba(0, 0, 0, 0.2);
}
div#test_title{
  margin-top: 80px;
  font-weight: bold;
  color: #fff;
  text-shadow: 0.1vw 0.1vw 0px rgba(0, 0, 0, 0.2);
}
div#test_title img {
  margin-right: 5px;
}
div#test_title .test_title_text {
  text-shadow: 2px 2px 1px #5f5149, -2px 2px 1px #5f5149, 2px -2px 1px #5f5149, 
  -2px -2px 1px #5f5149, 2px 0px 1px #5f5149, 0px 2px 1px #5f5149, -2px 0px 1px #5f5149, 
  0px -2px 1px #5f5149;
}

/**
* サイト共通スタイルシート
*/
.header_l img{
  width:100%;
  height:auto;
  position:absolute;
  top:0;
  left:0;
  z-index: 92147483647;
  height: 140px;
}
/* ナビゲーション */
.top-bar.expanded .system_name,
.top-bar.expanded .name {
  padding-top: 1%;
}
.top-bar.expanded .system_name {
  display: table;
  padding-left: 0.8vw;
  width: 100%;
  text-align: center;
}
.top-bar.expanded .name {
  padding-right: 0.8vw;
}

.top-bar.expanded .system_name .img_help{
  position: absolute;
  right: 3%;
  width: 15%;
  height: 65%;
}

.top-bar.expanded .system_name .img_help img{
  cursor: pointer;
}

.top-bar.expanded,
.top-bar.expanded a,
.top-bar.expanded .title-area,
.top-bar-section ul li,
.top-bar-section li:not(.has-form) a:not(.button) {
  background: transparent;
  box-shadow: none;
  color: #0291ab;
}
.top-bar.expanded{
  z-index: 92147483659;
  height: 6vw;
  min-height:36px;
}

.top-bar.expanded .system_name>div {
  width: auto;
  height: 2vw;
  font-size: 1.6vw;
  color: #8c8c8c;
  display: table-cell;
  vertical-align: bottom;
  height: 4.5vw;
  font-size: 2.6vw;
}
.top-bar.expanded .system_name>div>div {
  display: inline;
  bottom: -0.3vw;
  position: absolute;
  vertical-align: bottom;
}

.top-bar.expanded .system_name img {
  width: auto;
  height: 100%;
  vertical-align: top;
}

/* ロゴ */
.top-bar.expanded div.logo_big {
  text-align: center;
  height: 100%;
}

.top-bar.expanded div.logo_big>div {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  margin-top: 2.5vw;
  font-size: calc(2% + 2vw);
  color: rgb(106, 191, 234);
}

.top-bar.expanded div.logo_big>img {
  width:60vw;
  height: auto;
}

.top-bar.expanded .name,

.top-bar.expanded .name a {
  height: auto;
  text-align:right;
  font-size: calc(40% + 1vw);
  color: rgb(106, 191, 234);
}

.top-bar.expanded .name img.user_edit {
  width: 56px;
  height: auto;
}
/* 影響なさそうなので一時削除*/

/*div.input{
  width: 100%;
}*/

div.input label.square{
  font-size: 2vw;
  color: #FFF;
  padding-right: 1.5vw
}


.ws_contents.maintenance select,
.ws_contents.maintenance input,
select.square,
input.square{
  display: inline-block;
  border-radius: 1vw;
  box-shadow: 0.1vw 0.1vw 0.2vw 0 rgba(0, 0, 0, 0.22) inset;
}


/* 入力欄 */
div.input input.login{
  display: inline-block;
  border-radius: 4vw;
  text-align: center;
  font-size: calc(20% + 2vw);
  font-weight: bold;
  text-shadow: 0.1vw 0.1vw 0px rgba(0, 0, 0, 0.2);
  box-shadow: 1px 1px 3px 0px rgba(0, 0, 0, 0.3) inset;
}

div.input label.login::before,
div.input label.login::after {
  content: '▼';
}

label.second_label:before{
  content:'　'；
}

div.input label.login{
  width: 100%;
  margin: 0;
  text-shadow: 0.1vw 0.1vw 0px rgba(0, 0, 0, 0.2);
  font-size: inherit;
  color: #FFF;
  background-color: transparent;
  letter-spacing:0.5vw;
}

label.login{
  width: 100%;
  margin: 0;
  font-size: inherit;
  color: #FFF;
  background-color: #0291ab;
  padding: 4px;
}
div.square label{
  padding-right: 1vw;
  color: #fff
}
/* 段落 */
p{
  font-size: inherit;
}

/* サイドバー */
ul,
.side-nav li.heading,
.side-nav li{
  font-size: inherit;
}


/* ヘッダー系 */
div.columns {
  padding: 0;
}
div.columns.tangen {
  border: 1vw solid rgb(89, 73, 63);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 2vw;
  background: #fff;
}
div.columns.help {
  border: none;
  border-radius: 2vw;
  background: #fff;
  padding-top: 3%;
  padding-bottom: 3%;
}
.tangen_banner div.columns {
  padding: 0;
}

div.columns.view_name_frame {
  pointer-events: none;
}

div.row.help div.columns.help {
  margin-bottom: 5%;
}

div.content_tangen {
  margin-top: 80px;
}

div.view_name {
  width:auto;
  padding: 0.8vw 1vw;
  margin-left: 2vw;
  margin-right: 2vw;
  margin-bottom: -4px;
  border-radius: 1vw 1vw 0 0;
  background-color: #60c9ff;
  color: #FFF;
  font-size: 2vw;
  font-weight: bold;
  text-shadow: 0.1vw 0.1vw 0px rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.2);
  text-align: center;
}

div.view_name .title {
  border-width: 0 0 0 0;
  border-bottom-width: 0.3vw;
  border-bottom-style: solid;
  border-bottom-color: #FFF;
  border-style: dotted;
}

div.setting_view_name {
  width: 25vw;
  padding: 0.8vw 1vw;
  margin-bottom: 2vw;
  border-radius: 1vw;
  background-color: rgb(99, 122, 156);
  color: #FFF;
  font-size: 2vw;
  font-weight: bold;
  display: inline-block;
  text-shadow: 0.1vw 0.1vw 0px rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.2);
}
div.setting_view_name.child {
  font-size: 1.7vw;
  width: 80vw;
}

div.guide_top {
  line-height: 3.8vw;
}

div.guide div{
  font-size: 1.5vw;
  margin-bottom: 1.5vw;
}

div.setting_regulation p{
  font-size: 1.5vw;
  margin: 0;
}

div.setting_regulation div.first.row{
  font-weight: bold;
  font-size: 1.8vw;
}

div.setting_regulation div.last.row{
  margin-bottom: 2vw;
}

div.columns.word_col {
  overflow-x: hidden;
  overflow-y: scroll;
  height: 63vh;
  border: 1vw solid rgb(15, 206, 127);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 2vw;
  background: #ffffff;
}

div.columns.word_col::-webkit-scrollbar{
  display:none;
}

/* ボタン系 */
input.button_submit{
  height:48px;
}

button.btn{
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
  border:1px solid #AAA;
  border-top: 0;
}

button.btn,
button.btn:hover{
  padding: 0;
  background-color: rgba(141, 201, 251, 1);
  color: black;
  width: 100%;
  height: 36px;
  text-align: center;
}
button.btn_nml,
button.btn_nml:hover{
  padding: 0;
  background-color: rgba(141, 201, 251, 1);
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
  color: black;
  width: 120px;
  height: 28px;
  text-align: center;
}

button.none{
  background-color: #F0F0F0;
}
button.none:hover{
  background-color: #E0E0E0;
  color: black;
}

button.scroll_button{
  width: auto;
  background: none;
  padding: 0;
  position: fixed;
  outline: none;
  z-index: 100;
  margin-top: calc(3.5vw + 10px);
}

table td{
  word-break: break-all;
}

/* リンク */
a {
  text-decoration: underline;
}

a.none_deco {
  text-decoration: none;
}

/* ローディング */
.loading_bar {
  width: 0px;
  height: 10px;
  background-color: #0F0;
  -webkit-transition: width .1s ease-in-out;
  -moz-transition: width .1s ease-in-out;
  -o-transition: width .1s ease-in-out;
  transition: width .1s ease-in-out;
}
.loadingImage2 {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: table;
  z-index: 10000;
  vertical-align: middle;
  text-align: center;
  color:#FFF
}
.loadingImage2 {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: table;
  z-index: 10000;
  vertical-align: middle;
  text-align: center;
  color:#FFF
}
.loadingImage {
  background-color: rgba(0, 0, 0, 0.5);
  text-align: center;
  z-index: 10000;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  color:#FFF
}
.loadingImage img{
  opacity:0.8;
  margin: auto;
  width:auto;
  height:48px;
}
div.large_and_small>span.large{
  font-weight:bold;
  font-size: 150%;
}

div.large_and_small>span.larger{
  font-weight:bold;
  font-size: 170%;
}

div.large_and_small>span.small{
  font-size: 100%;
}


input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"],
input[type="time"], input[type="url"], input[type="color"], textarea{
  /*font-family: inherit;*/
  font-size: inherit;
  height: inherit;
  margin: 0 0 1rem 0;
  /*padding: 0.5rem;*/
  width: 100%;
}

/* DIVボタン */
div.org_button{
  display: inline;
}
div.org_button>div{
  display: inline-block;
  position: relative;
  width: 101px;
  text-align: center;
}
div.org_button>div>span{
  position: absolute; top:8px; left:0px;width:101px;color:#FFF;font-weight:bold
}
div.org_button a{
  position:absolute;
  top: 0;
  left: 0;
  width:100%;
  height:100%;
}

#default_option{
  background-color: rgb(54, 184, 251);
  color: #FFF;
  border-radius: 2vw;
  font-size: calc(50% + 0.5vw);
  top: 0;
  width: 4.5vw;
  height: auto;
}

div.bread_crumb {
  display: inline-block;
  color: #FFF;
  text-shadow: 0.1vw 0.1vw 0px rgba(0, 0, 0, 0.2);
  margin-top: 1.4vw;
  margin-left: 6vw;
  font-size: 1.2vw;
  position: absolute;
  z-index: 1;
}

div.bread_crumb>a,
div.bread_crumb>a:hover {
  color: #FFF;
  text-decoration: none;
}

div.input_form{
  display: inline-flex;
}
select.required,
input.required{
  background-color:#FFE0E0;
}

.required>label:after{
  content: ''
}
input#password::-webkit-input-placeholder{
  color:#000;
}

div#forgot_link {
  height: 1vw;
  font-size: 1vw;
}

div#forgot_link a {
  display: none;
  color: #F66;
}

a.android br{
  	display:inherit!important;
}

p.page_top_move{
  font-size: 77%;
  position: fixed;
  right: 60px;
  bottom: 60px;
}

button#count_and_time.android,
button#result_list.android{
  width:22vw!important;
}

div.tangen_button {
  background-color: rgb(89, 73, 63);
  border-radius: 0 0 1vw 1vw;
}

div.tangen_button button{
  width: 29%;
  margin-bottom: 10px;
  margin-top: 1%;
  margin-left: 13%;
}
div.tangen_button button img{
  height:auto;
}
div.tangen_button button#word_btn {
  margin-left: 3%;
  margin-right: 2%;
}


/* タブレット(横向き) */
@media screen and (max-width: 1024px){
  .top-bar.expanded .system_name>div {
    height: 7.5vw;
  }
  .top-bar.expanded .system_name .img_help{
    margin-top: 1%;
  }
  div.tangen_button button{
    width: 20%;
  }
  div.tangen_button button#practice_btn {
    margin-right: 15%;
  }
  div.tangen_button button#word_btn {
    margin-right: 15%;
  }
}

/* タブレット(縦向き) */
@media screen and (max-width: 1024px) and (orientation: portrait) {
  div.tangen_button button#practice_btn {
    margin-right: 15%;
  }
  div.tangen_button button#word_btn {
    margin-right: 15%;
  }
  .top-bar.expanded .system_name>div {
    height: 8.5vw;
  }
  .top-bar.expanded .system_name .img_help{
    margin-top: 1%;
  }
  .top-bar.expanded .system_name img {
    margin-top: 2%;
  }
  div.tangen_button button{
    width: 20%;
  }
  div.ui_left{
    margin-top: 35px;
  }
  div#test_title{
    margin-top: 45px;
  }
  div.row{
    margin: 20px 0;
  }
  div.row.ui_area{
    margin-top: 0;
    margin-bottom: 0;
  }
  div.row.main_content{
    margin-bottom: 0;
  }
}
