@charset "utf-8";
/*  ===========================================================

	LEC水戸校【提携校】 
	
			Last Update 2023/09/06
			
			Written by O.K.

===========================================================  */

/*==================================

	common

==================================*/

* {
	box-sizing: border-box;
}
html {
	/*font-size : 75%;*/
	font-size : 62.5%;/* 16px x 0.625 = 10px(=1rem) */
}
/*@font-face {
	font-family: 'LogoTG';
	src: url('/font/LogoTypeGothic-subset.woff') format('woff');
}*/
html {
	max-width: 1260px;
	width: 100%;
	margin: 0 auto;
}
body {	
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1.5;
	color: #333;
	background-color: #fff;
	/*font-size: 16px;*/
	font-size: 1.6rem;/* 16px */
	-webkit-text-size-adjust: 100%;
}

/*==================================

	header

==================================*/

header {
	width: 100%;
    max-width: 100%;
    /* padding: 0 3%; */
    line-height: 1.2;
    /*border-bottom: 1px solid #c8000b;*/
    padding: 0.5em;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 10px;
    position: fixed;
    top: 0;
    left: 0;
	height: 64px;
	background: #c8000b;
	color: #fff;
	z-index: 999;
}
header h1 {
    /* background-color: #c8000b; */
    /* color: #fff; */
    font-size: 1.2rem;
    /* text-indent: 1%; */
    line-height: 1.2;
    display: flex;
    justify-content: space-between;
}
header #logo {
    width: 110px;
    display: inline-block;
}
header #g_navi {
    display: none;
}
header .h1_fr {
    display: inline-block;
    width: 70%;
    line-height: 2;
	text-align: right;
}
header .h1_fr.login,
header .h1_fr.register {
    width: 140px;
}
span.person,
span.logout {
    display: block;
	line-height: 1.6;
}
#info_head {
	display:none;
}
#logo a,
#contact_head a,
#info_head a {
	display: block;
}
#logo a:hover,
#contact_head a:hover,
#info_head a:hover {
	opacity: 0.7;
}
#contact_head a:hover {
	opacity:0.5;
}
#contact_head {
	display:none;
}
#logo img,
.h1_fr img,
p.desc img,
.book_consul img,
.license .bnr_img img,
#f_tab li img,
.new_record img,
#l_data_tbl img{
	width: 100%;
	vertical-align: middle;
}
#l_data_tbl .h_str00 img{
	width: auto;
	height: 100%;
	vertical-align: middle;
}
#pct {
	display: none;
}

#top_silde {
	width:100%;	
	padding:0 3%;
}
#top_silde a:hover {
	opacity: 0.7;
}
a.h_logout {
    background: #00f;
    border-radius: 2px;
    padding: 0 0.5em;
    text-decoration: none;
    color: #fff;
    line-height: 2.3;
    height: 30px;
    display: inline-block;
}

/*==================================

	main Contents

==================================*/

#main_contents {
    max-width: 100%;
    margin-bottom: 2em;
    height: auto;
    padding: 74px 3% 30px;
	padding-bottom: 2em;
}
#main_contents.login {
    padding: 84px 3% 30px;
}
h2 {
	color: #fff;
	font-size: 2rem;
	padding: 0.5em;
	text-indent:0.5em;
	border-top:2px solid #c8000b;
	border-bottom:2px solid #c8000b;
	line-height:1.2;
	background-color: #c8000b;
}
dl#update a {
	color:#333;
	text-decoration: underline;
}
dl#update a:before {
    content: "\f0c1\0020";
    position: relative;
    font-family: FontAwesome;
	color: #c8000b;
}
dl#update a:hover {
	color:#c8000b;
	text-decoration: none;
}
dl#update,
dl#teikeikou_top,
p.desc,
dl#flow_top,
ul.pri_ul {
	margin-top:1em;
	margin-bottom:3em;
	padding: 0 1em;
}
p.desc_b{
	margin-top:1em;
	margin-bottom:1em;
	padding: 0 1em;
}
p.booth_desc {
	margin-top:1em;
	margin-bottom:0.5em;
	padding: 0 1em;
    text-align :center;
}
.point_h{
	clear:both;
}
#kaikou ul#point_top{
	display: grid;
	width:100%;
	grid-template-rows: auto auto;
	grid-template-columns: repeat(2, 48%);
	margin-top: 1em;
	margin-bottom: 5em;
    gap: 2% 4%;
}

p.desc_last{
	margin-top:1em;
	margin-bottom:3em;
	padding: 0 2em;
	padding-bottom:3em;
	border-bottom:1px solid #ddd;
}

p.desc.p0{
	padding: 0;
}
p.desc.mb1e {
	margin-bottom:1em;
}
p.desc.mb0 {
	margin-bottom:0;
}
p.test_park {
	margin: 0.5em auto 0;
}
p.test_park.mw500 {
	max-width: 500px;
}
p.test_park.mw650 {
	max-width: 650px;
}
p.test_park.mw750 {
	max-width: 750px;
}
dl dt {
	font-weight:bold;
}
dl dd {
    padding: 0.2em 0.9em 0.9em;
	margin-bottom:1em;
}
.bnr_main a:hover {
	opacity:0.5;
}
.book_consul {
    max-width: 760px;
    margin: 0 auto 5em;
}
.book_consul a {
    display: block;
    width: 100%;
}
.book_consul a:hover {
	opacity: 0.7;
}
p.err_login_msg,
p.err_register_msg {
    background: #f00;
    color: #fff;
    padding: 0.2em 1em;
}
.form_login {
    margin: 1em auto;
}
p.login_p {
	font-size: 1.2rem;
}
p.login_sys {
    /*width: calc( 100% - 5.5em );*/
}
.login_sys_submit {
    width: 60%;
    margin: 1em auto;
}
input.login_form {
    border: none;
    border-bottom: 1px solid #ccc;
}
input.login_form:focus,
input.register_form:focus {	
    outline: none;
}
input.login_form.submit,
input.register_form.submit {
    background: #080;
    background: linear-gradient(#29cd29, #00cd00);
    color: #fff;
    border-radius: 3em;
    width: 6em;
    padding: 0.5em;
    margin: 0 auto;
    display: block;
}
input.register_form.submit {
    border: none;
}
/*登録フォーム*/
form.registerform {
    width: 20em;
    margin: 0 auto;
    font-size: 1.5rem;
}
.form_register {
    margin: 0.5em auto;
    display: flex;
    gap: 0.5em;
}
p.register_p {
	font-size: 1.2rem;
}
p.register_sys {
    margin: 0;
    width: 100%;
}
p.register_sys.mail {
    margin: 0.5em auto;
}
span.mail {
    font-weight: bold;
    color: #f00;
}
p.comp {
    margin: 2em 1em;
}
p.register_sys label {
    color: #666;
}
p.register_sys input[type="text"],
p.register_sys input[type="email"],
p.register_sys input[type="password"] {
    border: solid 2px #333;
    padding: 0.3em;
}
.register_sys_submit {
    margin-top: 1em;
}

/*==================================

	side area

==================================*/

#side_contents {
	width: 100%;
	margin: 0 auto;
	height: auto;
	padding: 0 3%;
	margin-bottom: 50px;
}
#side_contents a {
	opacity: 1;
	transition: opacity .5s;
}
#side_contents a:hover {
	opacity: 0.5;
	transition: opacity .5s;
}
.bnr_side{
	margin-bottom:20px;
	text-align: center;
}
.fb-like-box {
	margin-bottom: 5%;
	text-align: center;
}
.twitter-box{
	text-align: center;	
}

.twitter-timeline{
    margin: 0 auto;
}


/*==================================

	footer

==================================*/

footer {
	font-size : 1rem;
	color: #fff;
	text-align: center;
	width: 100%;
	height: auto;
	background-color: #c8000b;
	position: fixed;
	bottom: 0;
	padding: 0.7em;
	height: 61px;	
	z-index: 998;
}
ul#f_tab {
    display: flex;
    padding: 0 5%;
}
ul#f_tab li {
	margin: auto auto auto 0;
	width: 10%;
}
ul#f_tab li:last-child {
	margin-right: 0;
}
ul#f_tab li a {
    display: block;
	opacity: 0.7;
}
ul#f_tab li a.active {
	opacity: 1;
}
ul#f_tab li a img {
	width: 36px;
	height: 47px;
	text-align: center;
	margin: auto;
}
footer #copyright a {
	color: #fff;
	text-decoration: underline;
}
footer #copyright a:hover {
	color: #fff;
	text-decoration: none;
}

/*==================================

    index

==================================*/

.select_certi {
    display: flex;
	margin-top: 0.25em;
	text-align: center;
	/*line-height: 1.8;*/
}
.search_sel {
	/*padding: 0.25em;*/
	font-size: 1.6rem;
}
.search_certi {
    width: calc( 100% - 6em );
}

/*タブ切り替え全体のスタイル*/
.tabs {
	padding-bottom: 40px;
	background-color: #fff;
	margin: 0.5em auto;}
  
  /*タブのスタイル*/
  .tab_item {
	width: calc( 100% / 5 );
	height: 40px;
	background-color: #d9d9d9;
	line-height: 40px;
	font-size: 1.6rem;
	text-align: center;
	color: #565656;
	display: block;
	float: left;
	text-align: center;
	font-weight: bold;
	transition: all 0.2s ease;
  }
  /*タブのスタイル*/
  .tab_item.contract {
	width: calc( 100% / 2 );
  }
  .tab_item.this {
	border-bottom: 5px solid #090;
  }
  .tab_item.last {
	border-bottom: 5px solid #00c;
  }  
  .tab_item.al {
	border-bottom: 5px solid #f60;
  }
  .tab_item.ttl_al {
	border-bottom: 5px solid #f00;
  }
  .tab_item.perc {
	border-bottom: 5px solid #03f;
  }
  .tab_item.perd {
	border-bottom: 5px solid #999;
  }
  
  /*ラジオボタンを全て消す*/
  input[name="tab_item"] {
	display: none;
  }
  
  /*タブ切り替えの中身のスタイル*/
  .tab_content {
    display: none;
    clear: both;
    overflow: hidden;
    padding-top: 0.3em;
}
  
  /*選択されているタブのコンテンツのみを表示*/
  #this_month:checked ~ #this_month_content,
  #last_month:checked ~ #last_month_content,
  #total:checked ~ #total_content,
  #total_all:checked ~ #total_all_content,
  #personalc:checked ~ #personal_content,
  #personald:checked ~ #personal_data {
	display: block;
  }
  
  /*選択されているタブのスタイルを変える*/
  .tabs input:checked + .tab_item {
	background-color: #f00;
	color: #fff;
  }
  .tabs input:checked + .tab_item.this {
	background-color: #090;
	color: #fff;
  }
  .tabs input:checked + .tab_item.last {
	background-color: #009;
	color: #fff;
  }
  .tabs input:checked + .tab_item.al {
	background-color: #f60;
	color: #fff;
  }
  .tabs input:checked + .tab_item.ttl_al {
	background-color: #f00;
	color: #fff;
  }
  .tabs input:checked + .tab_item.perc {
	background-color: #03f;
	color: #fff;
  }
  .tabs input:checked + .tab_item.perd {
	background-color: #999;
	color: #fff;
  }

table.home_tbl {
  width: 100%;
  margin: 0 auto;
}
table.home_tbl th {
    color: #fff;
    padding: 0.1em;
    border: 1px solid #fff;
    width: 6.5em;
}
table.home_tbl td {
  padding: 0.1em 0.5em;
}

table.home_tbl.tbl01a {
	border: 3px solid #090;
}
table.home_tbl.tbl01a th {
    background: #090;
	border-right: 3px solid #090;
}
table.home_tbl.tbl01a td {
	border: 1px solid #090;
}

table.home_tbl.tbl01b {
	border: 3px solid #009;
}
table.home_tbl.tbl01b th {
    background: #009;
	border-right: 3px solid #009;
}
table.home_tbl.tbl01b td {
	border: 1px solid #009;
}

table.home_tbl.tbl01c {
	border: 3px solid #f60;
}
table.home_tbl.tbl01c th {
    background: #f60;
	border-right: 3px solid #f60;
}
table.home_tbl.tbl01c td {
	border: 1px solid #f00;
}
table.home_tbl.tbl01c2 {
	border: 3px solid #f00;
}
table.home_tbl.tbl01c2 th {
    background: #f00;
	border-right: 3px solid #f00;
}
table.home_tbl.tbl01c2 td {
	border: 1px solid #f00;
}

table.home_tbl.tbl01d {
	border: 3px solid #03f;
}
table.home_tbl.tbl01d:not(:nth-of-type(1)) {
	margin-top: 0.5em;
}
table.home_tbl.tbl01d th {
    background: #03f;
	border-right: 3px solid #03f;
}
table.home_tbl.tbl01d th.d1 {
    width: 1.5em;
    border: 1px solid #fff;
    padding: 0;
	vertical-align: middle;
}
table.home_tbl.tbl01d th.d1 span {
    writing-mode: vertical-rl;
	display: inline-block;	
	white-space: pre;
}
table.home_tbl.tbl01d th.d2 {
    width: 4.5em;
}
table.home_tbl.tbl01d td {
	border: 1px solid #03f;
}

table.home_tbl.tbl01e {
	border: 3px solid #999;
}
table.home_tbl.tbl01e th {
    background: #999;
	border-right: 3px solid #999;
}
table.home_tbl.tbl01e td {
	border: 1px solid #999;
}

.star5_rating{
    position: relative;
    z-index: 0;
    display: inline-block;
    white-space: nowrap;
    color: #CCCCCC; /* グレーカラー 自由に設定化 */
}

.star5_rating:before,
.star5_rating:after{
    content: '★★★★★';
}

.star5_rating:after{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    overflow: hidden;
    white-space: nowrap;
}

.star5_rating.co:after{
    color: #f00; /* イエローカラー 自由に設定化 */
}
.star5_rating.ef:after{
    color: #00f; /* イエローカラー 自由に設定化 */
}
.star5_rating.sr:after{
    color: #ffc300; /* イエローカラー 自由に設定化 */
}

.star5_rating[data-rate="5"]:after{ width: 100%; } /* 星5 */
.star5_rating[data-rate="4.9"]:after{ width: 98%; } /* 星4.9 */
.star5_rating[data-rate="4.8"]:after{ width: 96%; } /* 星4.8 */
.star5_rating[data-rate="4.7"]:after{ width: 94%; } /* 星4.7 */
.star5_rating[data-rate="4.6"]:after{ width: 92%; } /* 星4.6 */
.star5_rating[data-rate="4.5"]:after{ width: 90%; } /* 星4.5 */
.star5_rating[data-rate="4.4"]:after{ width: 88%; } /* 星4.4 */
.star5_rating[data-rate="4.3"]:after{ width: 87%; } /* 星4.3 */
.star5_rating[data-rate="4.2"]:after{ width: 85%; } /* 星4.2 */
.star5_rating[data-rate="4.1"]:after{ width: 83%; } /* 星4.1 */
.star5_rating[data-rate="4"]:after{ width: 80%; } /* 星4 */
.star5_rating[data-rate="3.9"]:after{ width: 78%; } /* 星3.9 */
.star5_rating[data-rate="3.8"]:after{ width: 76%; } /* 星3.8 */
.star5_rating[data-rate="3.7"]:after{ width: 74%; } /* 星3.7 */
.star5_rating[data-rate="3.6"]:after{ width: 72%; } /* 星3.6 */
.star5_rating[data-rate="3.5"]:after{ width: 70%; } /* 星3.5 */
.star5_rating[data-rate="3.4"]:after{ width: 68%; } /* 星3.4 */
.star5_rating[data-rate="3.3"]:after{ width: 67%; } /* 星3.3 */
.star5_rating[data-rate="3.2"]:after{ width: 65%; } /* 星3.2 */
.star5_rating[data-rate="3.1"]:after{ width: 63%; } /* 星3.1 */
.star5_rating[data-rate="3"]:after{ width: 60%; } /* 星3 */
.star5_rating[data-rate="2.9"]:after{ width: 58%; } /* 星2.9 */
.star5_rating[data-rate="2.8"]:after{ width: 56%; } /* 星2.8 */
.star5_rating[data-rate="2.7"]:after{ width: 54%; } /* 星2.7 */
.star5_rating[data-rate="2.6"]:after{ width: 52%; } /* 星2.6 */
.star5_rating[data-rate="2.5"]:after{ width: 50%; } /* 星2.5 */
.star5_rating[data-rate="2.4"]:after{ width: 48%; } /* 星2.4 */
.star5_rating[data-rate="2.3"]:after{ width: 47%; } /* 星2.3 */
.star5_rating[data-rate="2.2"]:after{ width: 45%; } /* 星2.2 */
.star5_rating[data-rate="2.1"]:after{ width: 43%; } /* 星2.1 */
.star5_rating[data-rate="2"]:after{ width: 40%; } /* 星2 */
.star5_rating[data-rate="1.9"]:after{ width: 38%; } /* 星1.9 */
.star5_rating[data-rate="1.8"]:after{ width: 36%; } /* 星1.8 */
.star5_rating[data-rate="1.7"]:after{ width: 34%; } /* 星1.7 */
.star5_rating[data-rate="1.6"]:after{ width: 32%; } /* 星1.6 */
.star5_rating[data-rate="1.5"]:after{ width: 30%; } /* 星1.5 */
.star5_rating[data-rate="1.4"]:after{ width: 28%; } /* 星1.4 */
.star5_rating[data-rate="1.3"]:after{ width: 27%; } /* 星1.3 */
.star5_rating[data-rate="1.2"]:after{ width: 25%; } /* 星1.2 */
.star5_rating[data-rate="1.1"]:after{ width: 23%; } /* 星1.1 */
.star5_rating[data-rate="1"]:after{ width: 20%; } /* 星1 */
.star5_rating[data-rate="0.9"]:after{ width: 18%; } /* 星0.9 */
.star5_rating[data-rate="0.8"]:after{ width: 16%; } /* 星0.8 */
.star5_rating[data-rate="0.7"]:after{ width: 14%; } /* 星0.7 */
.star5_rating[data-rate="0.6"]:after{ width: 12%; } /* 星0.6 */
.star5_rating[data-rate="0.5"]:after{ width: 10%; } /* 星0.5 */
.star5_rating[data-rate="0.4"]:after{ width: 8%; } /* 星0.4 */
.star5_rating[data-rate="0.3"]:after{ width: 7%; } /* 星0.3 */
.star5_rating[data-rate="0.2"]:after{ width: 5%; } /* 星0.2 */
.star5_rating[data-rate="0.1"]:after{ width: 3%; } /* 星0.1 */
.star5_rating[data-rate="0"]:after{ width: 0%; } /* 星0 */




/*==================================

    body#learning	
	section#learning_data
	section#booking

==================================*/

table#l_data_tbl {
	border: solid 1px #333;
	width: 100%;
	margin-top: 0.25em;
	margin-bottom: 2em;
}
table#l_data_tbl th {
    border: solid 1px #333;
    line-height: 1;
    font-size: 1.2rem;
    padding: 0.25em 0.5em;
    vertical-align: middle;
    text-align: left;
    text-indent: 0.2em;
    background: #ddd;
}
table#l_data_tbl span.flex {
    display: flex;
    flex-wrap: wrap;
    gap: 1%;
}
table#l_data_tbl span.connect_e {
    background: #333;
    color: #fff;
    display: block;
    padding: 0.2em;
    text-align: center;
    font-size: 1.25rem;
}
table#l_data_tbl span.pass7days {
    background: #333;
    color: #fff;
    display: block;
    padding: 0.2em;
    text-align: center;
    font-size: 1.25rem;
}
table#l_data_tbl span.btn_edit {
    width: calc(99%/2);
}
table#l_data_tbl.book th {
	padding: 0.5em 0.2em;
}
table#l_data_tbl td {
	border: solid 1px #333;
}
table#l_data_tbl td.btnon {
    border-top: none;
}
table#l_data_tbl td.bbnon {
    border-bottom: none;
}
table#l_data_tbl .year{
	font-size: 1.4rem;
    letter-spacing: -0.05em;
}
table#l_data_tbl .month {
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: -0.05em;
}
table#l_data_tbl .day{
	font-size: 1.6rem;
	font-weight: bold;
    letter-spacing: -0.05em;
}
table#l_data_tbl .wday{
	font-size: 1.2rem;
	font-weight: bold;
    letter-spacing: -0.05em;
}
table#l_data_tbl .wday.w0{
	color: #f00;
}
table#l_data_tbl .wday.w6{
	color: #00f;
}

/*行ごとの縞模様ここから*/
table#l_data_tbl td.cel_a1,
table#l_data_tbl td.cel_b1,
table#l_data_tbl td.cel_c1,
table#l_data_tbl td.cel_d1,
table#l_data_tbl td.cel_e1 {
	background: #fee;
}
table#l_data_tbl td.cel_a2,
table#l_data_tbl td.cel_b2,
table#l_data_tbl td.cel_c2,
table#l_data_tbl td.cel_d2,
table#l_data_tbl td.cel_e2 {
	background: #efe;
}
table#l_data_tbl td.cel_a0,
table#l_data_tbl td.cel_b0,
table#l_data_tbl td.cel_c0,
table#l_data_tbl td.cel_d0,
table#l_data_tbl td.cel_e0 {
	background: #eef;
}
/*行ごとの縞模様ここまで*/

td.l_date {
    min-width: 9em;
    padding: 0.2em;
    line-height: 1.2;
    /*text-align: center;
    vertical-align: middle;*/
}
td.l_time {
    min-width: 6.5em;
    padding: 0.2em;
    /*vertical-align: middle;
	text-align: center;*/
}
td.l_review {
    /*min-width: 6em;*/
	width: auto;
    padding: 0.2em;
    /*text-align: center;
	vertical-align: middle;*/
}
td.e_date {
    width: 8em;
    padding: 0.2em;
    line-height: 1.2;
    /*text-align: center;
    vertical-align: middle;*/
}

td.e_subject {
    width: 8em;
    padding: 0.2em;
    /*vertical-align: middle;*/
}
span.date_times {
    padding-top: 0.1em;
	padding-left: 0.1em;
} 
span.date_lrn {
    padding-top: 0.1em;
	padding-left: 0.1em;
} 
span.date_exam {
    padding: 0;
    border-radius: 2px;
}
span.date_exam_time {
    padding: 0.16em 0 0;
    border-radius: 2px;
}
span.logo {
	width: 7%;
}
/*
span.date_ymdw {
    display: block;
    line-height: 1.5;
}*/
span.date_start,
span.date_ending {
    padding-top: 0.1em;
}

span.e_certi {
    background: #f00;
    color: #fff;
    padding: 0.1em 0.5em 0.2em;
    border-radius: 2px;
}
span.e_name {
    background: #080;
    color: #fff;
    padding: 0.25em;
    border-radius: 2px;
}
span.e_times {
    background: #0b0;
    color: #fff;
    padding: 0.25em;
    border-radius: 2px;
}
span.e_kind {
    background: #00f;
    color: #fff;
    padding: 0.1em 0.5em 0.2em;
    border-radius: 2px;
}
span.e_no {
    background: #000;
	color: #fff;
    padding: 0.1em 0.5em 0.2em;
}
span.time_learn,
span.time_input,
span.time_output,
span.l_point {
    display: block;
    /*line-height: 1.7;*/
}
span.time_learn {
	color: #f00;
	font-weight: bold;
	padding-left: 0.2em;
	font-size: 1.8rem;
}
span.time_input {
	color: #0a0;
	font-weight: bold;
	padding-left: 0.2em;
	font-size: 1.8rem;
}
span.time_output {
	color: #00f;
	font-weight: bold;
	padding-left: 0.2em;
	font-size: 1.8rem;
}
td.l_content,
td.l_comment {
    line-height: 1.2;
    font-size: 1.4rem;
	padding: 0.5em 0.2em;
}

span.exam_sub {
	font-weight: bold;
	padding-left: 0.2em;
}
span.exam_score {
	color: #f00;
	font-weight: bold;
	padding-left: 0.2em;
	font-size: 1.6rem;
}
span.exam_score_p {
	font-size: 1.2rem;
}

span.exam_full_score {
	font-weight: bold;	
	font-size: 1.6rem;
}
span.exam_percent {
	font-weight: bold;
	color: #f00;
	font-size: 1.6rem;
}
span.exam_full {
    border-radius: 50%;
    font-size: 1.2rem;
    background: #0a0;
    padding: 0.2em;
    color: #fff;
	display: inline-block;
}
span.h_wrap {
    display: flex;
	width: auto;
	line-height: 1.5;
}
span.h_logo {
	width: 18px;
}
span.h_logo3 {
	width: 18px;
}

span.h_txt {
    display: block;
    /*padding-left: 0.1em;*/
    padding-top: 0.1em;
	letter-spacing: -0.1em;
}
span.h_txt3 {
    display: block;
    padding-left: 0.15em;
    padding-top: 0.2em;
}
span.date_uno,
span.date_ymdw,
span.date_str,
span.date_end,
span.l_point {
    width: 100%;
    display: flex;
    line-height: 1;
}

span.e_date_wrap {
    width: 100%;
    display: flex;
    gap: 0.2em;
    line-height: 1;
    margin-top: 0.3em;
}
span.e_name_wrap {
    width: 100%;
    display: flex;
	gap: 0.2em;
    line-height: 1;
}
span.e_sub_wrap {
    width: 100%;
    display: flex;
    gap: 0.2em;
    line-height: 1;
    margin-top: 0.2em;
    place-items: flex-end;
}
span.l_point2 {
    width: auto;
    display: flex;
    line-height: 1.5;
}
span.time_wrap {
    display: flex;
}
span.lp_logo {
    width: 1.2em;
}
/*
.time_wrap span.lp_logo {
    width: 1.2em;
}
span.lp_logo2 {
    width: 20%;
	margin: auto 0;
}
span.lp_logo3 {
    width: 20%;
}*/
span.e_l_point2 {
    width: calc( 100% / 3);
    display: flex;
    line-height: 1.5;
    margin-top: 0.3em;
}
span.e_lp_logo3 {
    width: 1.2em;
    display: inline-block;
}
span.lp_point {
    font-size: 1.6rem;
    text-align: center;
    display: block;
}
td.error_td {
    padding-top: 0.5em;
}
span.error {
    font-size: 1.2rem;
    background: #fcc;
    color: #f00;
    padding: 0.2em 1em;
    line-height: 1.3;
    font-weight: bold;
    border-radius: 3px;
	display: block;
}
table#l_data_tbl th.noindent {
	text-indent: 0;
}
td.b_date {
    width: 7em;
    padding: 0.2em;
    line-height: 1.2;
    vertical-align: middle;
}
td.b_content {
    padding: 0.5em 0.2em;
    line-height: 1.2;
    vertical-align: middle;
    height: 1em;
    background: #fee;
}
td.b_comment {
    padding: 0.5em 0.2em;
    line-height: 1.2;
    vertical-align: middle;
}
td.b_confirm {
    width: 4em;
    padding: 0.5em 0.2em;
    line-height: 1.2;
    text-align: center;
    vertical-align: middle;
}
span.book_status {
    display: flex;
    gap: 2%;
	margin-top: 0.2em;
}
span.book {
	width: 49%;
    display: inline-block;
    color: #fff;
    border-radius: 2px;
    font-size: 1.2rem;
	padding: 0.2em 0.2em 0.25em;
    text-align: center;
	line-height: 1.5;
}
span.book.no{
    background: #f00;
}
span.book.yes {
    background: #0c0;
}

span.comment {
    font-size: 1.2rem;
    line-height: 1.5;
}
span.comment.no{
    color: #333;
}
span.comment.yes{
	font-weight: bold;
    color: #f00;
}
span.content_tit {
    background: #00f;
    color: #fff;
    padding: 0.15em 0.5em 0.2em;
    border-radius: 3px;
    margin-bottom: 0.2em;
    display: block;
}
span.comment_tit {
    background: #f00;
    color: #fff;
    padding: 0.15em 0.5em 0.2em;
    border-radius: 3px;
    margin-bottom: 0.2em;
    display: block;
}


/*==================================

	---Recording---

==================================*/

p.form_attention {
    margin: 1em auto 0.5em;
    padding: 0.3em 10%;
    text-align: center;
    background: #fdd;
}
p.form_attention.confirm {
    background: #cfc;
}
p.form_attention.complete {
    background: #cfc;
}
form#start_record {
    margin: 1em 0;
}
form#start_booking {
    margin: 0;
}
button#s_time {
    margin: 0 auto;
    display: block;
}
/* table ここから */
table.new_record {
	margin: 0 auto;
    width: 19em;
    width: 100%;
}
table.new_record.booking {
	line-height: 2;
}
table.new_record.str {
    line-height: 2;
}
table.new_record.end {
    line-height: 2;
}
table.new_record.out {
    line-height: 1.2;
}
table.new_record.out2 {
    line-height: 2;
    margin-top: 0.5em;
}
table.new_record.subject {
    line-height: 1.2;
}
table.new_record.subject2 {
    line-height: 2;
    margin-top: 1em;
}
table.new_record.subject3 {
    line-height: 1.5;
    width: 19em;
    margin-top: 0.5em;
}
table.new_record.review {
    line-height: 2;
    width: 19em;
}
table.new_record.review2 {
    line-height: 1.2;
	margin-top: 0.5em;
}
table.new_record.review3 {
    line-height: 2;
    margin-top: 0.5em;
}
table.new_record.last2 {
    line-height: 1.2;
	margin-top: 0.5em;
}
table.new_record.last3 {
    line-height: 1.2;
    width: 19em;
	width: 100%;
    margin-top: 0.5em;
}
table.new_record.last4 {
    margin-top: 0.5em;
}
table.new_record.booking.confirm {
	width: 100%;
}
/* table ここまで */

/* th td ここから */
table.new_record td.desc {
	padding-left: 0.5em;
}
table.new_record td.nw0a {
    text-align: center;
    background: #fee;
}
table.new_record td.nw1a {
    width: 5.5em;
	background: #eee;
	text-align: right;
}
table.new_record td.nw1b {
    width: 5em;
	background: #eee;
	text-align: right;
}
table.new_record td.nw1c {
    width: 3em;
	background: #eee;
	text-align: right;
}
table.new_record td.nw1a.pr05em,
table.new_record td.nw1b.pr05em,
table.new_record td.nw1c.pr05em {
	padding-right: 0.5em;
	border-bottom: 1px solid #ccc;
}
table.new_record td.nw2a {
	background: #efe;
	border-bottom: 1px solid #ccc;
	padding: 0.2em;
}
table.new_record td.nw3a {
	background: #efe;
	padding: 0.2em;
    width: 6.5em;
}

table.new_record td.nw11a {
	background: #eee;
	text-align: right;
}
table.new_record td.nw12a {
	background: #efe;
	border-bottom: 1px solid #ccc;
	padding: 0.2em;
}
table.new_record td.nw11a,
table.new_record td.nw13a {
	width: 6em;
}
table.new_record td.nw11b {
	width: 3em;
	text-align: right;
}
table.new_record td.nw13b {
	width: 3.5em;
	text-align: right;
}
table.new_record td.nw11c {
    width: 5.5em;
    vertical-align: middle;
    background: #eee;
	border-bottom: 1px solid #ccc;
	text-align: right;
}
table.new_record td.nw11a.pr05em,
table.new_record td.nw11c.pr05em {
	padding-right: 0.5em;
}
table.new_record td.nw11c.ta_c {
	text-align: center;
}
table.new_record td.nw11d {
    width: 5em;
    vertical-align: middle;
    background: #eee;
	border-bottom: 1px solid #ccc;
	text-align: center;
}
table.new_record td.nw11c.ta_l,
table.new_record td.nw11d.ta_l {
	text-align: left;
}
table.new_record td.nw11d.bgfnb {
    background: #fff;
	border: none;
}
table.new_record td.nw11e {
    width: 4em;
    vertical-align: middle;
    background: #eee;
	border-bottom: 1px solid #ccc;
	text-align: right;
}
table.new_record td.nw11f {
    width: calc( 100% / 4 );
    vertical-align: middle;
    background: #eee;
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
	text-align: center;
}
table.new_record td.nw11g {
    width: calc( 100% / 3 );
    vertical-align: middle;
    background: #eee;
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
	text-align: center;
}
table.new_record td.nw11h {
	background: #efe;
	border-bottom: 1px solid #ccc;
	padding: 0.2em;
}
table.new_record td.nw11f:last-child {
	border-right: none;
}
table.new_record td.nw11e.pr05em{
	padding-right: 0.5em;
}
table.new_record td.nw22 {
    background: #efe;
	padding: 0.2em;
}
table.new_record td.nw22b {
    background: #efe;
    padding: 0.2em;
	text-align: center;
}
table.new_record td.nw22c {
    width: calc( 100% / 4 );
    vertical-align: middle;
    background: #efe;
	border-right: 1px solid #ccc;
}
table.new_record td.nw22d {
    width: calc( 100% / 3 );
    vertical-align: middle;
    background: #efe;
	border-right: 1px solid #ccc;
}
table.new_record td.nw22.bb,
table.new_record td.nw22c.bb,
table.new_record td.nw22d.bb {
	border-bottom: 1px solid #ccc;
	vertical-align: middle;
}
table.new_record td.nw22c:last-child {
	border-right: none;
}
table.new_record.out2 td.nw11b  {
	width: 5em;
	padding-right: 0.5em;
}
table.new_record.last4 td {
	padding: 0 1em;
}
table.new_record.complete4 {
	margin-top: 0.5em;
}
table.new_record.complete4 td.nw11d {
	width: 6em;
}
table.new_record.booking.confirm th,
table.new_record.booking.confirm td {
	border: 3px solid #fff;
}
table.new_record.booking.confirm th {
    background: #cfc;
}
table.new_record.booking.confirm td {
    background: #efe;
	padding: 0 0.3em;
}
/* th td ここまで */

span.break_t {
    font-size: 1.2rem;
	color: #00f;
}
table.new_record.complete4 span.fs {
    font-size: 1.4rem;
    display: inline-block;
    line-height: 1.2;
	padding: 0.5em;
}
button.nowtime, 
button.nowtime2 {
    font-size: 1.4rem;
    vertical-align: middle;
    padding: 0.2em 0.5em 0;
    line-height: 1.5;
}
span.star {
    width: 55%;
    display: inline-block;
}
span.star.last {
    width: 100%;
    display: inline-block;
}
span.star2 {
	/*
    display: flex;*/
	max-width: 6em;
    display: block;
    line-height: 1;
    margin: 0;
}
span.e_star_wrap {
    display: flex;
    gap: 0.2em;
}
span.e_star2 {
    width: calc( 100% / 5);
    display: block;
    line-height: 1.2;
}
span.e_self_review,
span.e_concentration,
span.e_efficiency,
span.e_difficulty,
span.e_lp {
    color: #fff;
    width: 100%;
    display: inline-block;
    border-radius: 2px;
    line-height: 1;
	padding: 0.15em 0.5em 0.25em;
}
span.e_self_review {
    background: #fc8c20;
}
span.e_concentration {
    background: #f00;
}
span.e_efficiency {
    background: #00f;
}
span.e_difficulty {
    background: #090;
}
span.e_lp {
    background: #ffbb00;
}
p.no_record {
	margin-top: 0.5em;
    text-align: center;
    background: #ccc;
    padding: 0.5em;
}
p.no_recording {
	margin-top: 0.5em;
    text-align: center;
    background: #cfc;
    padding: 0.5em;
}
p.yes_recording {
	margin-top: 0.5em;
    text-align: center;
    background: #fcc;
    padding: 0.5em;
}
p.err_recording {
	margin-top: 0.5em;
    text-align: center;
    background: #fcc;
    padding: 0.5em;
}

p.no_data {
    margin-top: 0.5em;
    text-align: center;
    background: #fcc;
    padding: 0.5em;
}


input {
    font-family: "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3";
    width: 100%;
    font-size: 1.6rem;
    padding: 0.1em 0.2em;
    border: 1px solid #999;
    border-radius: 2px;
}
input[type="text"] {
	background: #fff;
}
input[type="date"] {
    width: 8.5em;
    padding: 0 0.25em;
    font-size: 1.6rem;
	background: #fff;
}
input[type="time"] {
    width: 6em;
    padding: 0 0.25em;
    font-size: 1.6rem;
	background: #fff;
}
input[type="number"] {
	background: #fff;
}
input.hourtime,
input#exam_times,
input.num_subject {
    width: 2.5em;
	text-align: center;
}
input.exam_score {
	font-size: 1.4rem;
    width: 3em;
}
input.exam_subject {
	font-size: 1.4rem;
}
input.hourtime,
input#exam_name,
input#exam_times {
    font-size: 1.4rem;
}
select {
    font-size: 1.6rem;
    width: 100%;
    max-width: 100%;
    padding: 0.4em 0em;
    border: 1px solid #999;
    border-radius: 2px;
	background: #fff;
}
select#certi_id,
select#kind_exam_id,
select#learn_date {
    font-size: 1.6rem;
    padding: 0.3em 0.1em;

}
select#certi_id,
select#kind_exam_id{
    width: auto;
	min-width: 4em;
}
select#learn_date {
    width: 7em;
}
select#b_content {
    font-size: 1.6rem;
    width: auto;
    max-width: 15em;
    padding: 0.3em 0.1em;
}
select#b_date {
    font-size: 1.6rem;
    width: auto;
    max-width: 11em;
    padding: 0.3em 0.1em;
}
select#s_time {
    font-size: 1.6rem;
    width: auto;
    max-width: 6em;
    padding: 0.3em 0.1em;
}

textarea {
    font-size: 1.6rem;
    width: 100%;
	padding: 0.2em;
}

button#sub_str {
    margin: 0 auto;
    display: block;
    width: 75%;
    font-size: 1.6rem;
    line-height: 2;
	margin-top: 0.5em;
}

/*　レビュー★　ここから　*/
.rate_form {
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
    gap: 0.2em;
  }
  .rate_form input[type=radio] {
	display: none;
  }
  .rate_form label {
    position: relative;
    padding: 0;
    color: #ccc;
    cursor: pointer;
    font-size: 4rem;
	line-height: 1;
}
  .rate_form label:hover {
	color: #ffcc00;
  }
  .rate_form label:hover ~ label {
	color: #ffcc00;
  }
  .rate_form input[type=radio]:checked ~ label {
	color: #ffcc00;
  }
  .rate_form .self_review_star label:hover {
	color: #fc8c20;
  }
  .rate_form .self_review_star label:hover ~ label {
	color: #fc8c20;
  }
  .rate_form input[type=radio].self_review_star:checked ~ label {
	color: #fc8c20;
  }
  .rate_form .concentration_star label:hover {
	color: #f00;
  }
  .rate_form .concentration_star label:hover ~ label {
	color: #f00;
  }
  .rate_form input[type=radio].concentration_star:checked ~ label {
	color: #f00;
  }
  .rate_form .efficiency_star label:hover {
	color: #00f;
  }
  .rate_form .efficiency_star label:hover ~ label {
	color: #00f;
  }
  .rate_form input[type=radio].efficiency_star:checked ~ label {
	color: #00f;
  }
  .rate_form .difficulty_star label:hover {
	color: #090;
  }
  .rate_form .difficulty_star label:hover ~ label {
	color: #090;
  }
  .rate_form input[type=radio].difficulty_star:checked ~ label {
	color: #090;
  }

/*　レビュー★　ここまで　*/






a.button,
button#sub_str,
button#button,
button#send,
button.send,
button.to_edit {
	border: none;
	position: relative;
	color: #fff;
    background: linear-gradient(#29cd29, #00cd00);
    margin: 0.5em auto;
	overflow: hidden;
	box-shadow: 1px 2px 3px #ccc;
	display: block;
	font-size: 1.6rem;
    text-align: center;
    text-decoration: none;
    border-radius: 3.5em;
    padding: 0.5em;
	height: auto;
}
a.button.delete,
button#sub_str.delete,
button#button.delete,
button#send.delete,
button.send.delete,
button.to_edit.delete {
    background: linear-gradient(#cd2929, #cd0000);
}
a.button::before,
button#sub_str::before,
button#button::before,
button#send::before,
button.send::before,
button.to_edit::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    animation: shinybtn 3s ease-in-out 0s infinite normal;
}

a.button:hover,
button#sub_str:hover,
button#button:hover,
button#send:hover,
button.send:hover,
button#backto:hover,
a#backto:hover,
button.to_edit:hover {
text-decoration: none;
box-shadow: none;
transform: translateY(2px);
}

@keyframes shinybtn {
    0% { transform: scale(0) rotate(45deg); opacity: 0; }
    80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { transform: scale(4) rotate(45deg); opacity: 1; }
    100% { transform: scale(50) rotate(45deg); opacity: 0; }
}
a.button:hover,
button#sub_str:hover,
button#button:hover,
button#send:hover,
button.send:hover,
button.to_edit:hover {
	opacity: 0.7;
	cursor: pointer;
}
button#sub_str:disabled,
button#button:disabled,
button#send:disabled,
button.send:disabled,
button.to_edit:disabled {
	background: #999;
}
button#sub_str:disabled:hover,
button#button:disabled:hover,
button#send:disabled:hover,
button.send:disabled:hover,
button.to_edit:disabled:hover {
	opacity: 1;
	cursor: auto;
	box-shadow: 1px 2px 3px #ccc;
	transform: none;
}

/*サブミット、戻るボタンの幅設定*/
.t07{
    width: 12em;
}
.t08{
    width: 13em;
}
.t09{
    width: 14em;
}
.t10{
    width: 15em;
}
.t11{
    width: 16em;
}
/*ここまでサブミット、戻るボタンの幅設定*/


a.button.to_page {
    width: 15em;
    line-height: 2;
	height: auto;
}
a.button.to_page.booking {
    width: 9em;
    margin: 0.5em auto;
    border-radius: 3.5em;
    padding: 0.5em;
}

a.button.to_page.mb1em{
	margin-bottom: 1em;
}

a.button.to_recording {
    width: 18em;
    height: auto;
    margin: 0.5em auto;
    border-radius: 3.5em;
    padding: 0.5em;
}
a.button.to_recording.booking {
    width: 10em;
}
a.button.to_recording.t07 {
    width: 12em;
}
a.button.to_recording.t10 {
    width: 15em;
}

span.msg {
    display: block;
    line-height: 2;
}
button#back_btn,
a#back_btn {
    width: 75%;
    margin: 0.5em auto 0;
    display: block;
    height: 2em;
    background: #eee;
    border: 1px solid #ddd;
    box-shadow: 1px 2px 3px #eee;
    text-align: center;
    text-decoration: none;
    line-height: 1.8;
    border-radius: 3.5em;
}
a.to_page {
    display: block;
    margin: 0 auto;
    width: 15em;
    text-align: center;
    text-decoration: none;
    background: #c8000b;
    color: #fff;
    line-height: 2;
    margin-top: 1em;
    border-radius: 3.5em;
    padding: 0.5em;
	font-size: 1.6rem;
}
a.to_page.learn {
    width: 12em;
}
a.to_page.t07 {
    width: 12em;
}
a.to_page.t10 {
    width: 15em;
}


button.to_edit.learnning {
    width: 100%;
    height: auto;
    font-size: 1.4rem;
    margin: 0.2em 0;
    border-radius: 3px;
    padding: 0.2em;
	line-height: 1.5;
}




/*==================================

	---Web_booth---

==================================*/
/*
#web_booth .booth_ul{
	margin-bottom:2em;
	line-height:2;
	text-align: center;
}
#web_booth h3{
	margin-bottom:0.5em
}
.img_f3{
	float: left;
	width:32%;
	height:auto;
	margin-right:2%;
}
.img_f3:last-child{
	margin-right: 0;
}
.img_about{
	margin-top:0;
	margin-bottom:3em;
}

ul.img_about.mb1e {
	margin-bottom:1em;
}
*/

/*==================================

	---common style---

==================================*/

.catch {
	color: #1A459D;
	font-weight: bold;
	font-size: 1.2rem;
	line-height: 1.6;
	padding: 10px;
	border: 1px solid #1A459D;
	margin: 20px;
}
.cf {
}
.cf:before,
.cf:after {
	content: "";
	display: table;
	clear: both;
}
.bold {
	font-weight: bold;
}
.marker_ye {
    background:linear-gradient(transparent 60%, #ff6 60%);
	font-weight:bold; 
}
.marker_re {
    background:linear-gradient(transparent 75%, #ffadad 75%);
	font-weight:bold; 
}
.red {
	color: #F00;
}
.blue {
	color: #00F;
}
.center {
	text-align: center;
}
.red_bold {
	font-weight: bold;
	color: #F00;
}
.blue_bold {
	font-weight: bold;
	color: #00F;
}
.white {
	color: #fff;
}
.white_bold {
	font-weight: bold;
	color: #fff;
}
.both {
	clear: both;
}
#hidden {
	display: none;
}
.left20 {
	margin-left: 20px;
}
.homepage_img {
	margin-right: auto;
	margin-left: auto;
	width: 500px;
}
.txt_l {
	text-align: left;
}
.text_l {
	text-align: left;
}
.text_r {
	text-align: right;
}
.f1 {
    font-size: 1rem;
}
.f14r {
	font-size: 1.4rem;
}
.f75{
	font-size: 75%;
	}
.f88 {
	font-size: 88%;
}
.f125 {
	font-size: 125%;
}
.f150 {
	font-size: 150%;
}
.f188 {
	font-size: 188%;
}
.f30 {
	font-size: 30px;
}
.float_r {
	float: right;
}
.float_l {
	float: left;
}
.f_l50 {
	width: 50%;
	float: left;
}
.lh120{
    margin-top: 0.5em;
    line-height: 1.2;
    display: block;
}
.l_through{
    text-decoration: line-through;
}
.bnon{
    border:none !important;
}
.btn_s {
    display: inline-block;
    background-color: #0c0;
    color: #fff;
    padding: 0.15em 0.3em 0.3em;
    margin: 0 0.3em 0.3em;
    border-radius: 3px;
    font-weight: bold;
}
a.btn_privacy {
    font-size: 1rem;
    display: inline-block;
    background-color: #00c;
    color: #fff;
    margin: 0 0.3em;
    padding: 0 0.5em;
    /*border-radius: 3px;*/
    text-decoration: underline;
}
a:hover.btn_privacy {
    background-color: #009;
    text-decoration: none;
}
a.link {
	background-image: url(../images/bk_li_arrow.png);
	background-repeat: no-repeat;
	display: inline-block;
	padding-left: 18px;
	background-position: 0px 5px;
}
img.img_l10 {
	float: right;
	padding-left: 10px;
}
img.img_lb10 {
	float: right;
	padding-left: 10px;
	padding-bottom: 10px;
}
img.img_tb10 {
	margin-top: 10px;
	margin-bottom: 10px;
}
img.img_tb20 {
	margin-top: 20px;
	margin-bottom: 20px;
}
img.img_b30 {
	margin-bottom: 30px;
}
.mb0{
	margin-bottom: 0;
}
.mb1em{
	margin-bottom: 1em;
}
.litype li{
	list-style-type:disc;
	margin-left:2em;
}
.shadow {
	box-shadow: 3px 3px 3px #ccc;
}
.f_r {
	float: right;
}
.f_l{
	float: left;
}
.ts_fff{
	text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
}
.ls_01em{
	letter-spacing: -0.1em;
}

/*==================================

	---error---

==================================*/
/*
#error #error_h {
	font-size:175%
}
#error #error_p {
	margin-bottom: 10em;
}
*/