.login {
  margin-top: -22.5px;
  text-align: right;
}

.btn-border {
  display: inline-block;
  max-width: 180px;
  text-align: center;
  border: 2px solid #ddd;
  color: #ddd;
  text-decoration: none;
  font-weight: bold;
  padding: 5px 5px 1px 5px;
  border-radius: 4px;
  /*transition: .4s;*/
}

@media screen and (max-width: 400px) {
	/* 400px以下に適用されるCSS（スマホ用） */
  .login {
    margin-top: -20px;
  }
  .btn-border {
    border: 1px solid #ddd;
    padding: 4px 2px 1px 4px;
    font-size: 10px;
  }
}

.btn-border:hover {
  border-color: #ddd;
  color: #FF9900;
}



#form{
  width: 400px;
  margin: 30px auto;
  padding: 20px;
  border: 1px solid #555;
}

form p{
  font-size: 14px;
}

.form-title{
  text-align: center;
}



.mail,.pass{ 
  margin-bottom: 20px;
}

input[type="email"],
input[type="mail"],
input[type="password"],
input[type="username"] {
  width: 300px;
  padding: 4px;
  font-size: 14px;
}
#loginForm input[type="submit"]{
  width: 49% !important;
}

.submit_btn{
  text-align: center;
}

/* 成績表 */
#report_tb {
  width: 100%;
}
#report_tb th {
  padding: 1px 3px;
  vertical-align: middle;
}
#report_tb td {
  padding: 5px;
  vertical-align: middle;
}
#report_tb tr:nth-child(even) {
  background: #f7f7f7;
}
#report_tb tr:nth-child(odd) {
  background: white;
}
#report_tb #report_tb_header {
  background: #666;
}
#report_tb th {
  color: #fff;
  border-bottom: solid 1px #666;
}
#report_tb td {
  text-align: center;
  border-bottom: solid 1px #666;
}
#report_tb tr:hover td {
	background-color: #f7dfa5;
}
#report_tb .q_title {
  text-align: left;
  max-width: 445px;
  /*max-width: 100%;*/
}

/* サービス一覧 アンケート一覧*/
table{
  border-collapse: collapse;
  width: 100%;
}
.tb02{
  margin: 0 auto;
  width: 97%;
}
.tb02 .tr-title th{
  background-color: #167F92 !important;
  color: #fff;
}
.tb02 .bottom_line{
  border-bottom: 2px solid #167F92;
}
.tb02 th,
.tb02 td{
  padding: 10px;
  border: solid 1px #ccc;
  text-align:left;
  box-sizing:border-box;
}
.tb02 th {
  /*background: #f8f8f8 !important;*/
  background: #e6f2f5;
  /*color: #fff;*/
}
@media screen and (max-width: 640px) {
  .tb02 {
    width: 100%;
  }
  table.tb02 th,
  table.tb02 td {
    display: block;
    width: 100%;
    border-bottom:none;
  }
  .tb02 tr:last-child{
    border-bottom: solid 1px #ccc;
  }
}
.tb02 td a{
  border: none;
}


/*************** プレミアム会員の比較表 START ***************/
.premium-table {
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  width: 97%;
  table-layout: fixed;
  /*font-weight: bold;*/
}

.premium-table tr {
  padding: .35em;
  border-bottom: 2px solid #fff;
}
.premium-table td {
  text-align: center;
}
.premium-table th,
.premium-table td {
  vertical-align: middle;
  border-right: 2px solid #fff;
}
.premium-table thead tr{
  background-color: #167F92;
  color:#fff;
}
.premium-table tbody th {
  vertical-align: middle;
  text-align: left;
  background: #e6f2f5;
}
.premium-table .text-bold {
  color: blue;
  font-weight: bold;
}
.non{
  background:#fff
}
/*************** プレミアム会員の比較表 END ***************/


/*************** プレミアム会員料金表 START ***************/
.flexbox {
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  width: 97%;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.flexbox table {
  min-width: 220px;
  border-bottom: 1px solid #ddd;
  width: 100%;
  margin-bottom: 15px;
  overflow-y: hidden;
  overflow-x: scroll;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  border: 1px solid #ddd;
  -webkit-overflow-scrolling: touch;
}
.flexbox th,
.flexbox td {
  height: 50px;
  padding: 15px;
  text-align: center;
  vertical-align: middle;
  border-top: 1px solid #ddd;
  border-right: 1px solid #ddd;
  position: relative;
}
.flexbox tr:nth-child(even)>td,
.flexbox tr:nth-child(even)>th {
  background-color: #efefef;
}

.flexbox th,.plan-price {
  color: #fff;
}

.flexbox .plan-price {
  font-size: 2.5rem;
  border-top: 1px solid rgba(255,255,255,.2);
  /* padding: 20px 0 0 20px; */
  padding: 25px 0;
}

.flexbox .plan-price span {
  border: none;
  font-size: 1rem;
}

.flexbox .plan-premium th,
.flexbox .plan-premium .plan-price {
  background-color: #167F92;
}

/* 割引バッジ */
.flexbox  .discount-badge {
  position: absolute;
  top: 0;
  right: 0;
  background-color: #8c4e0d; /* 茶色系 */
  /*background-color: rgba(186,166,127);*/
  color: #fff;
  padding: 5px 8px;
  font-size: 0.7em;
  border-radius: 0 0 0 8px;
}

.flexbox .plan-month {
  padding: 5px 0;
  font-size: 1.5rem;
  color: #fff;
  background-color: #167F92;
  height: 40px;
}

/* 
BUTTON
================================================ */
.flexbox .btn{
  color: #fff !important;
  font-size: 1.2rem;
  text-decoration: none;
  background: -webkit-gradient(linear, left top, left bottom, from(#fba746), to(#e68f30)) !important;
  background: linear-gradient(#fba746, #e68f30) !important;
  border-radius: 5px;
  position: relative;
  display: inline-block;
  /*top: -2px;*/
  padding: 3px !important;
  width: 80%;
  text-align: center;
  margin: 4px 0;
}

/* 
LARGE DISPLAY
================================================ */

@media ( min-width : 700px ){
  .flexbox {
    -webkit-flex-direction: row;
    flex-direction: row;
  }
  .flexbox .plan-table {
    margin-left: 3%;
  }
  /* 一番左側は、左にスペースを空けない*/
  .flexbox .plan-table:first-of-type {
    margin-left: 0%;
  }
}

/*************** プレミアム会員料金表 END ***************/

/*************** 成績表 START ***************/
.report-menu{
  height:14px;
  display: flex;
  justify-content: flex-end; /* 右寄せ */
}
.report-filter{
  margin-right: 5px; /* 要素間のスペースを調整 */
 }
.record-data-delete-button{
  margin-right: 147px; /* 要素間のスペースを調整 */
  white-space: nowrap; /* テキストが折り返されないようにする */
 }
.report-filter-select {
  height: 33px; /* 高さを調整 */
  /*
  font-size: 16px;
  padding: 5px;
  */
}
.report-progress{
  position: absolute;
  margin-top: -50px;
  right: -126px;
  margin-right: 99.5px;
  width: 100px;
}
/*
.report-correct{
  position: absolute;
  margin-top: -50px;
  right: -126px;
  margin-right: 99.5px;
  width: 100px;
}
*/
.report-change{
  position: absolute;
  margin-top: -2px;
  right: -126px;
  margin-right: 99.5px;
  width: 100px;
  z-index:10;
}

/*************** 成績表 END *****************/

/*************** お知らせBOX START ***************/
.notice-box {
  background-color: #f8f9ff;
  border: dashed 1px #4865b2;
  margin: 5px;
  padding: 10px 10px 10px 10px;
}
/*************** お知らせBOX END *****************/

/*************** TOP画面 お知らせ START ***************/
.notice a{
  padding-left: 0px !important;
  padding-right: 0px !important;
}
/*************** TOP画面 お知らせ END *****************/


/*************** レ点箇条書き START ************/
.list202 ul {
  padding: 0.5em 0;
  list-style-type: none;
  border: none;
}
.list202 ul li {
  position:relative;
  padding: 0.3em 0 0.3em 2em;
  line-height: 1.5;
  font-size: x-large;
  font-weight: bold;
  /* color: #0b41a0; */
  color: #FF9900;
}
.list202 .font_nomal{
  font-size:medium;
  font-weight: 400;
  color: black;
}
.list202_small{
  font-size: 13px;
  color: #888888;
  position: relative;
}

.list202 ul li:after, .list202 ul li:before{
  content:''; 
  position:absolute; 
  top: 15px;
  left: 11px;
  height: 18px;
  width:4px; 
  background:#FF9900;
  border-radius:10px;
  transform:rotate(45deg);
  -webkit-transform:rotate(45deg);
  -o-transform:rotate(45deg);
}
.list202 ul li:after {
  top: 22px;
  left: 3px;
  height: 10px;
  transform:rotate(-45deg);
  -webkit-transform:rotate(-45deg);
  -o-transform:rotate(-45deg);
}
/*************** レ点箇条書き END ************/

/*************** コメント START ************/
/* 表示ボタン */
.comment-open-btn {
  cursor: pointer;
  padding: 5px;
  border: 1px solid rgba(0, 0, 0, .2);
  border-left: 10px solid rgba(0, 0, 0, .2);
}

.comment-open-btn:hover {
  opacity: 0.7;
}

/* 説明文 */
.comment-text-area {
  display: none;
  padding: 10px;
  color: #666;
}

/*************** モーダル START ************/
/* モーダルの背景 */
.image_modal {
  display: none; /* 初期は非表示 */
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.9); /* 透過黒 */
}

/* モーダル内の画像 */
.img_modal_content {
  display: block;
  margin: auto;
  margin-top: 10%;
  max-width: 90%;
  max-height: 80%;
}

/* キャプションのスタイル */
#img-caption {
  text-align: center;
  color: #ccc;
  padding: 10px 0;
}

/* 閉じるボタン */
.img_close {
  position: absolute;
  top: 15px;
  right: 35px;
  color: #f1f1f1;
  font-size: 40px;
  font-weight: bold;
  cursor: pointer;
}

.img_close:hover,
.img_close:focus {
  color: #bbb;
  text-decoration: none;
}
/*************** モーダル END ************/
