@media print {
 a[href]:after {
 content: "" !important;
 }

 abbr[title]:after {
 content: "" !important;
 }
}


body{
  background-color:white;
  font-size: 0.9rem;
}



div {
  border: 0px solid gray;
}
li.top-menu {
  margin: 0.8rem;
}
li.top-menu a {
  font-size: 1.2rem;
}

p.kome {
    text-indent: -1em;
    margin-left: 1em;
    margin-bottom: 0.2rem;
}
p.kome:before {
    content: '※ ';
}

div.message {
    text-align: center;
    cursor: pointer;
    display: block;
    font-weight: normal;
    transition: height 300ms ease-out 0s;
    background-color: #a0d3e8;
    color: #626262;
    top: 15px;
    right: 15px;
    z-index: 999;
    overflow: hidden;
    box-radius: 5px;
    line-height: 2rem;
    border-radius: 5px;
    margin: 4px;
}

div.message:before {
    line-height: 0px;
    font-size: 20px;
    height: 12px;
    width: 12px;
    border-radius: 15px;
    text-align: center;
    vertical-align: middle;
    display: inline-block;
    position: relative;
    left: -11px;
    background-color: #FFF;
    padding: 12px 14px 12px 10px;
    content: "i";
    color: #a0d3e8;
}

div.message.error {
    background-color: #C3232D;
    color: #FFF;
}

div.message.error:before {
    padding: 11px 16px 14px 7px;
    color: #C3232D;
    content: "x";
}
div.message.hidden {
    height: 0;
}


[type='text'],
[type='password'],
[type='date'],
[type='datetime'],
[type='datetime-local'],
[type='month'], [type='week'],
[type='email'],
[type='number'],
[type='search'],
[type='tel'],
[type='time'],
[type='url'],
[type='color'],
textarea {
  padding: 2px 4px;
  font-size: 0.8rem;
  height: 1.6rem;
  margin: 0;
}


label > [type='checkbox'], label > [type='radio'] {
  margin-right: 0;
}

[type='file'], [type='checkbox'], [type='radio'] {
  margin: 0;
}

select {
  margin: 0;
  font-size: 100%;
  height: 1.7rem;
  padding: 0px 24px 0px 4px ;
}

.input-group {
  margin-bottom: 0;
}

.accordion-content {
  padding: 0rem;
}
.accordion-title {
  font-size: 100%;
  padding: 0.6rem;
  color: white;
  background-color: #006aaa;
}
.accordion-title::before {
    top: initial;
    margin-top: initial;
}
.accordion-title:hover,
.accordion-title:focus {
    background-color: #006aaa;
    color: white;
}


.accordion-title-gray {
  background-color: #d3d3d3;
  color: black;
  text-align: left;
  font-size: 1rem;
}

.accordion-title-gray:hover,
.accordion-title-gray:focus {
    background-color: #c0c0c0;
    color: black;
}

.accordion-title-orange {
  background-color: #ffc993;
  color: black;
  text-align: left;
  font-size: 1rem;
}

.accordion-title-orange:hover,
.accordion-title-orange:focus {
    background-color: #ffbf7f;
    color: black;
}

.accordion-title-red {
  background-color: #ff9393;
  color: black;
  text-align: left;
  font-size: 1rem;
}

.accordion-title-red:hover,
.accordion-title-red:focus {
    background-color: #ff7f7f;
    color: black;
}

.accordion-title-blue {
  background-color: #93c9ff;
  color: black;
  text-align: left;
  font-size: 1rem;
}

.accordion-title-blue:hover,
.accordion-title-blue:focus {
    background-color: #7fbfff;
    color: black;
}


.row .row {
  margin-right: 0rem;
  margin-left: 0rem; }


.header {
  line-height: 1.2;
  font-size: 3rem;
  margin-top: 0.5rem;
  margin-bottom: 1rem;
  text-align: center;
  padding: 4px;
}

.footer {
  margin-top: 1.5rem;
  margin-bottom: 1rem;
  text-align: center;
  font-size: 0.8rem;
  padding: 10px;
}

.flash {
  padding-top: 10px;
  padding-bottom: 10px;
}

.main-title a {
  font-size: 1.5rem;
}

.header a {
  color: #005991;
}

.mypage a {
  font-size: 1.1rem;
  color: #005991;
}

.mypage a:hover {
  color: #003859;
}

.mypage .is-active > a {
  background-color: #005991;
  color: #fefefe;
}

.manager a {
  font-size: 1.1rem;
  color: #005991;
}

.manager a:hover {
  color: #003859;
}

.manager .is-active > a {
  background-color: #005991;
  color: #fefefe;
}

.input-label {
  padding-top:0.2rem;
  padding-left:0.2rem;
  padding-right:0.2rem;
  text-align: right;
  background-color: #ececec;
}

.box-title {
  padding-left: 0.5rem;
  background-color: #006aaa;
  color: white;
  text-align: left;
  font-size: 1rem;
}

.input-form {
  padding-top:0.2rem;
  padding-left:0.2rem;
  padding-right:0.2rem;
  padding: 0.1rem;
}

.form_required::after {
  content: "★";
  color: red;
}

.no-padding {
  padding: 0;
}

.padding {
  padding: 0.2rem 0.2rem;
}
.padding_LR {
  padding-left: 0.2rem;
  padding-right: 0.2rem;
}
.padding_TB {
  padding-top: 0.2rem;
  padding-bottom: 0.2rem;
}

.nowrap {
  white-space: nowrap;
}

.border {
  border: 1px solid #cecece;
}

.list_menu{
  color:rgb(23, 152, 165);
  margin:0.5rem 0 0 0;
  cursor:pointer;
  text-decoration-line:underline;
  text-decoration-style:solid;
}

.line-title {
  background-color: #bdd2ea;
  font-size: 125%;
  padding-left: 0.3rem;
  padding-top: 0.1rem;
  padding-bottom: 0.1rem;
  /*font-weight: bold;*/
  border-radius: 5px;
}

.form-error {
    display: unset;
    margin-top: unset;
    margin-bottom: unset;
    font-size: unset;
    font-weight: unset;
    color: unset;
}

.error-message {
  color: #FF0000;
  background-color: #fdd;
  padding: 2px 0.5rem;
}

.total-price {
  font-size: 120%;
  font-weight: bold;
}

.back-button {
  margin: 0.5rem;
}

.route-active {
  background-color: #afedf8;
  border-radius: 5px;
}
.route-inactive {
  background-color: #dfdfdf;
  border-radius: 5px;
}
.route-header {
  margin: 0.2rem;
  margin-bottom: 0.5rem;
  display: inline-block;
  padding: 0 1.0rem;
  padding-top: 0.2rem;
  padding-bottom: 0.2rem;
  font-size:110%;
}

.mypage-contents {
  padding: 10px;
  /*background-color: whitesmoke;*/
}

.contents-menu {
  box-sizing: content-box;
  margin-bottom: 0.5rem;
  font-size: 1rem;
  border-bottom: black solid 1px;
}

.contents-subtitle {
    background-color: #bdd2ea;
    font-size: 1.05rem;
    margin: 2px 0px;
    padding: 6px 4px;
    border-radius: 3px;
}

.video-box {
  margin: 0.5rem;
  padding: 0.5rem;
}

.instructor-image {
  width: 100%;
  max-width: 200px;
}

.instructor-image-mini {
  width: 100px;
}

.lecture_box {
  font-size: 110%;
  padding: 1rem 0.5rem;
  margin: 0.5rem;
  border: 1px solid #005991;
  border-radius: 5px;
  background: lightsteelblue;
  color: black;
}
.past_lecture_box {
  font-size: 110%;
  padding: 1rem 0.5rem;
  margin: 0.5rem;
  border: 1px solid #005991;
  border-radius: 5px;
  background: lightsteelblue;
  color: black;
}
.lecture_title {
  padding: 0.2rem;
  margin: 0.5rem 0rem;
  font-size: 150%;
  text-align: center;
  background: #005991;
  color: white;
}


/* 検索結果 */
div.search_result_count {
    border-bottom: solid;
}

div.search_result_count span.disabled {
  color:#CCCCCC;
}

table {
  margin-bottom: 0rem;
}

table thead {
  padding: 0.3rem;
  background: #0092c9;
  color: white; }
table thead th,
table tbody th,
table tfoot th {
  padding: 0.3rem;
  border: solid 1px lightgray;
  text-align: center; }
table tbody th {
  padding: 0.3rem;
  background: #0092c9;
  color: white; }
table thead td,
table tbody td,
table tfoot td {
  padding: 0.3rem;
  border: solid 1px lightgray;
  text-align: left; }

table.noborder thead td,
table.noborder tbody td,
table.noborder tfoot td {
  border: solid 0px;
}


table thead.video_view {
    background: #ffffff;
    color: #000000;
    text-align: center;
}
table.video_view>thead>tr>th {
    text-align: center;
  }

table.video_view>thead>tr>th,
table.video_view>thead>tr>td,
table.video_view>tbody>tr>th,
table.video_view>tbody>tr>td {
  padding:2pt 4pt;
  border:1px solid grey;
  white-space: nowrap;
}


table.video_view>tbody>tr>td.video_view_red {
  background-color:#ff9393;
}
table.video_view>tbody>tr>td.video_view_blue {
  background-color:#93c9ff;
}

table.video_view>tbody>tr>td.operate_button {
  text-align:center;
}



table.list_table thead {
    background: #339999;
    color: #ffffff;
    text-align: center;
}

table.list_table>thead>tr>th {
    text-align: center;
  }

table.list_table>thead>tr>th,
table.list_table>thead>tr>td,
table.list_table>tbody>tr>th,
table.list_table>tbody>tr>td {
  padding:2pt 4pt;
  border:1px solid grey;
  white-space: nowrap;
}
table.list_table>tbody:nth-of-type(2n+1)>tr>td {
  background-color:#FFFFCC;
  text-align:left;
}
table.list_table>tbody:nth-of-type(2n)>tr>td {
  background-color:#FFFFFF;
  text-align:left;
}
table.list_table>tbody>tr>td.operate_button {
  text-align:center;
}

table > thead > tr > th > a{
  color:white;
  text-decoration:underline;
}

table > thead > tr > th > a:hover, table > thead > tr > th > a:focus{
  color:#e9e9e9;
}

