@font-face {
  font-family: "Kazesawa-ExtraLight";
  src: url("../../fonts/Kazesawa-ExtraLight.woff"), url("../../fonts/Kazesawa-ExtraLight.ttf");
}
@font-face {
  font-family: "Kazesawa-Light";
  src: url("../../fonts/Kazesawa-Light.woff"), url("../../fonts/Kazesawa-Light.ttf");
}
@font-face {
  font-family: "Kazesawa-Regular";
  src: url("../../fonts/Kazesawa-Regular.woff"), url("../../fonts/Kazesawa-Regular.ttf");
}
@font-face {
  font-family: "Kazesawa-Semibold";
  src: url("../../fonts/Kazesawa-Semibold.woff"), url("../../fonts/Kazesawa-Semibold.ttf");
}
@font-face {
  font-family: "Kazesawa-Bold";
  src: url("../../fonts/Kazesawa-Bold.woff"), url("../../fonts/Kazesawa-Bold.ttf");
}
@font-face {
  font-family: "Kazesawa-Extrabold";
  src: url("../../fonts/Kazesawa-Extrabold.woff"), url("../../fonts/Kazesawa-Extrabold.ttf");
}
@media screen and (max-width: 959px) {
	/* 959px以下に適用されるCSS（タブレット用） */
}
@media screen and (max-width: 480px) {
	/* 480px以下に適用されるCSS（スマホ用） */
	.subject-btn{
		width: 90% !important;
	}
	#title-right-area{
		display: grid !important;
	}
	#Teacher{
		margin: 5px 0 0 0 !important;
	}
}
:root{
	--glyphicon: 'Glyphicons Halflings';
	--theme-color: #386dd7;
	--theme-color-light: #d4e2fd;
	--theme-color-lightest: #eff5ff;
	--theme-border-color: #b5ceff;
	--bg-danger: #ffdcdc;
	--bd-danger: #ff7474;
	--common-red: #ec3232;
	--bg-success: #dff0d8;
	--bg-info: #d9edf7;
	--info-border: #96d2de;
	--proreg-footer-height: 151px;
	--safe-green: #45c3b5;
	--safe-light-green: #b9f2f7;
	--ok-color: #45c3b5;
}

#remember_me{
	margin-left	: 10px;
}
html{
	/*touch-action: manipulation;*/
}
a{
	color: #555;
	/*font-weight: bold;*/
}
a:link{
	/*text-decoration: underline;*/
}
a:hover{
	text-decoration: none;
	color: #555;
}
*{
	/*可能な箇所のみkazesawa*/
	font-family: "Kazesawa-Regular";
}
form{
	/*irohaの95%指定を上書き*/
	width: 100% !important;
}

.m-b-5{
	margin-bottom: 5px;
}
.m-b-10{
	margin-bottom: 10px;
}
.m-b-15{
	margin-bottom: 15px;
}
.m-b-20{
	margin-bottom: 20px;
}
.m-b-30{
	margin-bottom: 30px;
}
.m-t-5{
	margin-top: 5px;
}
.m-t-10{
	margin-top: 10px;
}
.m-t-15{
	margin-top: 15px !important;
}
.m-t-20{
	margin-top: 20px;
}
.m-t-30{
	margin-top: 30px;
}
.m-r-5{
	margin-right: 5px;
}
.m-r-10{
	margin-right: 10px;
}
.m-r-15{
	margin-right: 15px;
}
.m-r-20{
	margin^right: 20px;
}
.m-r-30{
	margin-right: 30px;
}
.m-l-5{
	margin-left: 5px;
}
.m-l-10{
	margin-left: 10px;
}
.m-l-15{
	margin-left: 15px;
}
.m-l-20{
	margin-left: 20px;
}
.m-l-30{
	margin^left: 30px;
}
.p-b-5{
	margin-bottom: 5px;
}
.p-b-10{
	margin-bottom: 10px;
}
.p-b-15{
	margin-bottom: 15px;
}
.p-b-20{
	margin-bottom: 20px;
}
.p-b-30{
	margin-bottom: 30px;
}
.p-t-5{
	margin-top: 5px;
}
.p-t-10{
	margin-top: 10px;
}
.p-t-15{
	margin-top: 15px;
}
.p-t-20{
	margin-top: 20px;
}
.p-t-30{
	margin-top: 30px;
}
.p-r-5{
	margin-right: 5px;
}
.p-r-10{
	margin-right: 10px;
}
.p-r-15{
	margin-right: 15px;
}
.p-r-20{
	margin^right: 20px;
}
.p-r-30{
	margin-right: 30px;
}
.p-l-5{
	margin-left: 5px;
}
.p-l-10{
	margin-left: 10px;
}
.p-l-15{
	margin-left: 15px;
}
.p-l-20{
	margin-left: 20px;
}
.p-l-30{
	margin^left: 30px;
}
.p-5{
	padding: 5px;
}
.p-10{
	padding: 10px;
}
.p-15{
	padding: 15px;
}
.flex{
	display: flex;
}
.bd-rounded-5{
	border-radius: 5px;
}
.font-lg{
	font-size: 35px;
}
.font-md{
	font-size: 18px;
}
.font-std{
	font-size: 16px;
}
.text-center, .center{
	text-align: center;
}
.text-right, .right{
	text-align: right;
}
.underline{
	text-decoration-line: underline !important;
}
.font-bold{
	font-weight: bold;
}
.half-width{
	width: 50% !important;
}
.spc-btwn{
	justify-content: space-between;
}
.border{
	width: 97%;
	height: 1px;
	background-color: #ccc;
	margin: 5px auto;
}
.text-left{
	text-align: left;
}
.text-right{
	text-align: right;
}
.bg-theme-col{
	background-color: var(--theme-color) !important;
}
.bg-theme-col-light{
	background-color: var(--theme-color-light) !important;
}
.bg-theme-col-lightest{
	background-color: var(--theme-color-lightest) !important;
}
.reg-input label:after{
	color: #e32;
	content: '*';
	display: inline;
}
.modal a.close-modal {
    top: 3px !important;
    right: 3px !important;
    width: 25px !important;
    height: 25px !important;
    opacity: .5 !important;
}

#already-label{
	display: none;
}
#complete-icon{
	display: none;
}



.locked-label,.rel-selected{
	opacity: 0.3;
	cursor: not-allowed !important;
}
#selected-units{
	color: var(--common-red);
	padding: 0 5px;
	margin: 0 5px;
	font-weight: bold;
}
#selected-units-area{
	color: var(--theme-color);
	background-color: white;
	padding: 1px 6px;
	border-radius: 8px;
	margin: 7px 3px;
}
#number-of-register-in-year-area{
	color: var(--theme-color);
	background-color: white;
	padding: 1px 6px;
	border-radius: 8px;
	margin: 7px 3px;
}

.modal-subject-header{
	font-size: 1.2em;
	background-color: var(--theme-color);
	text-align: center;
	padding: 4px;
	border-radius: 5px 5px 0 0;
}
.modal-subject-header-bottom{
	background-color: #eee;
	text-align: center;
	padding: 4px;
	font-weight: normal;
	padding: 3px 0;
	/*border-radius: 0 0 5px 5px;*/
}
.bucket{
	font-size: 1.1em;
	padding: 10px;
	border-top-style: none !important;
	border-radius: 0 0 5px 5px;
	border: 1px solid #ccc;
}
.bucket>div:not(:last-of-type){
	margin-bottom: 10px;
}
#first-register{
	cursor: pointer;
}
/* loading modal */
#loading {
  display: table;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.5);
  z-index: 1000;
}
#loading .loadingMsg {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  padding-top: 140px;
  z-index: 1001;
  opacity: 1;
}
/* ------------ */
#proreg-student-info{
	margin: 5px auto 15px auto;
	width: 97%;
}
#grad-aspiration{
	cursor: pointer;
	user-select: none;
	width: auto;
	height: 2.5em;
	background-image:-moz-linear-gradient(top,#fff 0%,#f0f0f0);
	background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f0f0f0));
	text-shadow: 0px -1px 0px rgba(121,121,121,.5);
	border: 1px solid #dedede;
	margin: 0 5px;
	font-size: 1.4em;
	padding-left: 6px;
}

.stand-out-red{
	display: inline-block;
	border-radius: 3px;
    padding: 2px 5px;
    color: red;
    background-color: #ffe0e0;
    text-decoration: underline;
}
.font-red{
	color: var(--common-red);
}
.font-orange{
	color: orange;
}
.font-green{
	color: green;
}
.font-offblack{
	color: #555 !important;
}
.font-white{
	color: white !important;
}
.font-2em{
	font-size: 2em;
}
.font-1_2em{
	font-size: 1.2em !important;
}
.term-info-header{
	font-weight: bold;
	text-align: right;
	width: 110px;
	padding: 5px 0 5px 5px;
}
.b-t{
	border-top: 1px solid #ddd;
}
.span-bg-danger{
	background-color: #fddada;
}
#page-title-wrap{
	width: 97%;
    display: flex;
    margin: 0 auto;
    align-items: center;
    justify-content: space-between;
}
#page-title-wrap h2{
	margin: 0 0 0 5px !important;
	font-weight: bold;
	letter-spacing: 1px;
	color: #555;
}
.registration-title{
	margin: 20px 10px 15px;
	color: #555;
}
#ProvisionalRegistrationForm{
	padding: 0 10px !important;
	width: 100% !important;
}
.timetable{
	padding-bottom: 20px;
}
.infle.nav-select .input.select{
	padding: 5px 3px !important;
}
.result-modal{
	display: none;
}
.bg-gray{
	background-color: #ddd !important;
}
th{
	border-bottom: 1px solid #ddd !important;
}
table{
	border-collapse: separate !important;
	margin-bottom: 15px !important;
}
#subject-table{
	border-collapse: separate !important;
	margin-top: 15px;
}
.modal{
	padding: 15px !important;
}
div#footer-area {
	position: fixed !important;
	bottom: 0;
	left: 0;
	width: 100%;
	/*background-color: #288c66;*/
	color: #fff;
	transition: 0.3s;
	z-index: 1;
}
#unitDiv{
	margin-bottom: 5px;
}
.fixed {
	position: fixed;
	top: 40px;
}
.subject-btn {
	width: 40%;
	height: 7em;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-size: 1em;
	cursor: pointer;
	border: 1px solid #dedede;
	border-radius: 5px;
	margin: 8px 8px;
	padding:5px;
	background-image:-moz-linear-gradient(top,#fff 0%,#f0f0f0);
	background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e5e5e5));
	text-shadow: 0px -1px 0px rgba(121,121,121,.5);
	overflow: hidden;
}
.subject-btn:not(.rel-selected, .locked-label, .unreg, .selected){
	box-shadow: 3px 3px 4px 1px rgb(170 170 170 / 70%);
}
.subject-btn>div{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: normal;
}
.subject-btn.selected {
	background-image: none;
	background-color: #d9edf7;
}
.subject-btn.lock {
	background-image: none;
	background-color: #FFC7CE;
}
.infle{
	display: inline-flex !important;
}
.inblo{
	display: inline-block !important;
}
.border-div{
	height: 1px;
	margin: 8px 8px;
}
.bg-white{
	background-color: white;
}
.infle.nav-select .input.select{
	min-width: 190px;
	max-width: 190px;
}
#copy{
	background-color: #585858;
	text-align: center;
	color: white;
	padding: 5px;
}
#open-conditions{
	width: 25%;
	cursor: pointer;
}
#confirm{
	width: 40%;
	letter-spacing: 1px;
    background-color: #45c3b5;
    color: white;
    font-size: 1.2em;
    color: white !important;
    font-size: 1.2em !important;
    letter-spacing: 3px;
}
#nav-button-area{
	display: flex;
	justify-content: space-evenly;
	align-items: center;
}
#nav-button-area>button{
	font-size: 1.1em;
	color: #555;
	padding: 0;
	height: 3.5em;
}
.resbr{
	display: none;
}
.recommend{
	border: 2px solid var(--common-red);
}
.achievement .achievementSign::before,.registration .registrationSign::before{
	height: 20px;
	content: "●";
}
.achievementSign,.registrationSign{
	font-size: 1em;
}
#sign-div{
	display: flex;
	justify-content: center;
}
.isreq-hidden{
	display: none;
}
.dow-label{
	text-align: center;
	letter-spacing: 15px;
	padding: 10px;
	margin: 8px;
	color: #555;
	border: 1px solid var(--theme-border-color) !important;
	text-shadow: 0px -1px 0px rgba(121,121,121,.5);
}
#block-layer{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0.3;
	z-index: 100;
	display: flex;
	justify-content: center;
	align-items: center;
}
.p-5{
	padding: 5px;
}
.modal-frame{
	border:1px solid #dedede;
	border-radius: 5px;
}
.restrict-label{
	border-radius: 5px 5px 0 0;
	color: red;
	margin-bottom: 10px;
}
.subject-name{
	background-color: #eee;
	border-radius: 5px 5px 0 0;
	padding: 3px;
}
.confirm-modal{
	width: 95%;
	margin: 0 auto;
}
.fee-header{
	font-size: 1.2em;
	background-color: var(--theme-color) !important;
	color: white;
	border-radius: 5px 5px 0 0;
	padding: 7px;
}
.fee-header-bottom{
	font-size: 1.1em;
	border-radius: 0 0 5px 5px;
	padding: 7px;
}
.dow-header{
	background-color: var(--theme-color);
	color: white;
	letter-spacing: 8px;
	padding: 5px 0;
	border-radius: 4px;
	text-align: center;
	/*font-weight: bold;*/
	font-size: 1.2em;
	border: 1px solid #dedede;
}
#container .grade-table td{
	padding: 8px 5px;
}
#container .grade-table th{
	text-align: center;
	padding: 5px;
	height: 3em;
	color: #555 !important;
}
#container .grade-table th:not(:last-of-type){
	border-right: 1px var(--theme-border-color) solid;
}
#container .grade-table td:not(:last-of-type){
	border-right: 1px #cacaca dashed !important;
}
#container .grade-table th:first-of-type,
#container .grade-table td:first-of-type
{
	border-left: 1px #cacaca solid;
}
#container .grade-table th:last-of-type,
#container .grade-table td:last-of-type
{
	border-right: 1px #cacaca solid;
}

#empty-tab-space{
	flex: 1;
	border-bottom: 1px solid #cacaca;
}
.nowrap{
	white-space: nowrap;
}
.l-s-2{
	letter-spacing: 2px;
}
.width-30pct{
	width: 30% !important;
}
.width-40pct{
	width: 40%;
}
.width-45pct{
	width: 45%;
}
.width-70pct{
	width: 70%;
}
.focus-date{
	font-weight: bold;
	border: 1px solid #ccc;
}
.disable-date{
	border-style: none !important;
}
.disabled.focus-date{
	border-style: none !important;
}
#subject-table tr:last-of-type th,
#subject-table tr:last-of-type td{
	border-bottom-style: none !important;
}
#subject-table tbody:last-of-type tr:last-of-type th,
#subject-table tbody:last-of-type tr:last-of-type td{
	border-bottom: 1px solid #ddd !important;
}
#fee-area{
	/*font-weight: bold;*/
	/*color: red;*/
	margin: 7px 0 !important;
}
#fee-area tr td{
	vertical-align: top;
	padding: 1px !important;
	border-style: none !important;
	background-color: white !important;
	/*半角英数の連続でも強制改行*/
	word-break: break-all;
}
#fee-area tr td:nth-child(1){
	width: 50%;
}
.price{
	font-weight: bold;
	color: red;
}
#achieved,#registered{
	display: none;
}
.content-group{
	width: 95%;
	margin: 0 auto;
}
.tab-area{
	align-items: flex-end;
}
.tab-area>div{
	width: 100%;
	justify-content: center;
}
.tab-self{
	display: inline-flex;
	border-radius: 7px 7px 0 0;
	height: 3em;
	align-items: center;
	color: #555;
	padding: 0 10px;
	cursor: pointer;
}
.tab-self.active{
	border-bottom-style: dashed;
	background-color: var(--theme-color) !important;
	border-bottom-color: var(--theme-border-color);
	color: white;
	height: 3.2em;
	background-image: none !important;
}
#container .grade-list td:not(:last-of-type) {
	/*border-right: 1px solid #ddd;*/
}
.title-right-btn{
	display: inline-block;
	padding: 6px 15px;
	border-radius: 7px;
	color: #555;
	cursor: pointer;
}
#viewport-area{
	min-height: 100vh;
	position: relative;
	padding-bottom: 70px;
	box-sizing: border-box;
}
#viewport-area.proreg{
	min-height: calc(100vh + var(--proreg-footer-height)) !important;
	padding-bottom: 180px !important;
}
#copy-wrap{
	width: 100%;
	position: absolute;
	margin-top: 40px;
	z-index: 0;
	bottom: 0;
}
#check-area{
	display: flex;
}
.bg-success{
	background-color: var(--bg-success) !important;
}
.stand-out-btn{
	padding: 6px;
    text-align: center;
    border-radius: .3em;
    font-size: 1.2em;
    letter-spacing: 2px;
    /*background-color: #e00;*/
    box-shadow: 0 4px 4px 0 rgb(0 0 0 / 20%);
	border: 1px solid #d00;
	/*border-radius: 5px;*/
	background-image:-moz-linear-gradient(top,#f99 0%,#d00) !important;
	background-image:-webkit-gradient(linear,left top,left bottom,from(#f99),to(#d00)) !important;
}
.stand-out-btn a{
	color: white;
	text-decoration: none;
}
.stand-out-text{
	color: red;
    font-size: 1.1em;
    background-color: #ffd9d9;
    border-radius: 5px;
    padding: .4em;
    line-height: 1.5em;
    border: 1px solid red;
}
.stand-out-text::before{
	content: "\e107";
	font-size: 1.2em;
}
.period-label{
	width: 15%;
}
.subject-area{
	padding: 10px 0;
	text-align: left;
	height: 70px;
}
.prov-confirm-subject-area{
	margin: 5px;
}
.prov-confirm-period{
	justify-content: center;
	align-items: center;
	display: flex;
	width: 15%;
	font-weight: bold;
	font-size: 1.3em;
	min-height: 40px;
	border-radius: 5px 0 0 5px;
}
.prov-confirm-items{
	width: 85%;
	font-size: 1.2em;
	border-radius: 0 5px 5px 0;
	padding: 5px;
	display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.prov-confirm-item{
	margin: 0 0 5px 0;
	width: 100%;
	border: 1px solid #c7c7c7;
	border-radius: 5px;
	padding: 5px;
	background-color: white;
}
.prov-confirm-item:last-of-type{
	margin-bottom: 0 !important;
}
.indent{
	margin-left: 1em;
}
.timetable-item{
	padding: 10px;
	margin: 0 0 10px 0;
	border-radius: 0 0 5px 5px;
    border-top-style: none !important;
}
.timetable-item.no-class{
    border: 1px solid #999;
}
.timetable-item.class-exists{
    border: 1px solid var(--info-border);
}
.timetable-item.class-exists>div>div:last-of-type{
    margin-bottom: 0px;
}
.lunch{
	padding: 10px;
	border-radius: 5px;
	background-color: #bdf1ee;
	border: 1px solid #92d8e6;
}
.no-class{
	background-color: #dadada;
	color: #999;
}
.class-exists{
	background-color: var(--theme-color-lightest);
}
.num-of-class{
	border-radius: 5px 5px 0 0;
	padding: 5px 10px;
    border-bottom-style: none !important;
}
.no-class.num-of-class{
	background-color: #cacaca;
	border: 1px solid #999;
}
.class-exists.num-of-class{
	background-color: var(--theme-color-light);
	border: 1px solid var(--theme-border-color);
}
.no-class-timetable-date{
	width: 100%;
    height: 682px;
    border: 1px solid #ccc;
    border-radius: 5px;
    background-color: #f7f7f7;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}
#timetable-main{
	display: none;
	padding-top: 15px;
	min-height: 640px;
	overflow: auto;
	scroll-snap-type: x mandatory;
}
#datepicker-area{
    display: flex;
    justify-content: center;
    align-items: center;
}
#datepicker-area>.input.text{
	margin: 0 10px;
	display: inline-block;
	width: 60%;
}
#timetable-date{
	cursor: pointer;
	font-size: 16px;
}
.btn-texture{
	border: 1px solid #cacaca;
	background-image:-moz-linear-gradient(top,#fff 0%,#d0d0d0) !important;
	background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#d0d0d0)) !important;
}
.btn-texture-theme{
	background-image: -moz-linear-gradient(top,#5d93ff 0%,#2752a9) !important;
    background-image: -webkit-gradient(linear,left top,left bottom,from(#5d93ff),to(#2752a9)) !important;
}
.arrow{
	width: 45px;
	height: 34px;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    border-radius: 5px;
    color: #555;
    cursor: pointer;
}
.timetable-each-date{
	margin: 0 5px;
	flex: none;
	scroll-snap-align: start;
}
.timetable-each-date-label{
	display: flex;
	justify-content: space-between;
	font-size: 1.2em;
	font-weight: bold;
	border-radius: 5px;
    padding: 7px;
    color: #fff;
}
@keyframes flash {
  0%,100% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }
}
.prev-timetable, .next-timetable{
	font-family: var(--glyphicon);
	width: 17%;
	animation: flash 1.5s linear infinite;
}
.prev-timetable{
	text-align: right;
}
.next-timetable{
	text-align: left;
}
.prev-timetable::after{
	content: "\e079\e079";
}
.next-timetable::before{
	content: "\e080\e080";
}
.timetable-each-date:first-of-type>.timetable-each-date-label>.prev-timetable::after,
.timetable-each-date:last-of-type>.timetable-each-date-label>.next-timetable::before
{
	content: "" !important;
}
#swipeable-img{
	background-position: center;
	background-image: url("../../img/swipeable.png");
	background-repeat  : no-repeat;
    z-index: 100;
    position: absolute;
    background-color: rgba(255, 255, 255, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
}
.err{
	font-weight: bold;
	color: red;
	margin: 0 5px;
}
.err-input{
	background-color: #ffaaaa !important;
	color: red !important;
}
#reg-decision{
	width: 100%;
	padding: 1.2em 1.2em 2em;
	border-radius: 8px;
}
#reg-decision .btn{
	white-space: normal !important;
}
.student-sub-info-label::before{
	content: "●";
}
form div.input{
	padding: 3px 0 15px 0;
}
.cautionary-note{
	font-size: 0.9em;
	color: red;
}
.invisible{
	visibility: hidden !important;
}
#viewport-area.proreg>#container>#content{
	margin-bottom: 50px !important;
}
#viewport-area:not(.proreg)>#container>#content{
	margin-bottom: 10px !important;
}
#content>.navbar-default{
	margin-bottom: 15px !important;
}
ul.nav.navbar-nav{
	white-space: nowrap;
	overflow-x: auto;
}
#navbar-menu a{
	font-size: 1.2em;
	text-decoration: none !important;
}
#navbar-menu .menu-item::before{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 2px;
	font-family: var(--glyphicon);
}
#menu-item-UsersCourses::before{
	content: "\e021";
}
#menu-item-ProvisionalRegistrations::before{
	content: "\e067";
}
#menu-item-Grades::before{
	content: "\e032";
}
#menu-item-StudyPlans::before{
	content: "\e065";
}
.complete-msgbox::before{
	content: "\e013";
	color: #45c3b5;
}
.nav>li{
	float: none;
}
#toTop{
	width: 20%;
}
#selected-units-area,#achieved-units,#number-of-register-in-year-area{
	font-size: 1.2em;
}
#sel-ng,#sel-ok{
	margin: 5px;
}
.use-glyphicon::before{
	font-family: var(--glyphicon);
	margin-right: 5px;
}
#proreg-student-info .val-td::before{
	content: "：";
	margin-right: 5px;
}
#proreg-student-info .val-td{
	display: flex;
	align-items: center;
	padding: 0 !important;
}
#is-logout{
	text-decoration: underline;
	cursor: pointer;
}
.panel-heading{
	font-size: 1.3em;
}
.info-header::before{
	content: "\e086";
}
.timetable-header::before{
	content: "\e109";
}
#health-check-span{
	display: inline-flex;
	border-radius: 3px;
    padding: 2px 8px;
    letter-spacing: 1px;
}
.submission-ok{
    color: white;
    background-color: var(--ok-color);
}
.submission-ok::before{
	content: "\e089";
}
.submission-ng{
    color: white;
    background-color: #e30a0a;
}
.submission-ng::before{
	content: "\e107";
}
.inline{
	display: inline !important;
}
.search-by-area{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.1em;
	text-align: center;
	width: 93%;
	margin: 8px auto;
	padding: 7px;
	border-radius: 5px;
	cursor: pointer;
	height: 3.5em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
#stdypln-graph{
	display: flex;
	width: 100%;
	margin: 0 auto;
	border: 1px solid var(--theme-border-color);
	border-bottom-style: none;
}
#stdypln-item-name{
	text-align: center;
	font-weight: bold;
}
#stdypln-item-name>div{
	display: flex;
	justify-content: center;
	align-items: center;
	white-space: nowrap;
	padding: 20px 15px;
	margin: 0;
	height: 4em;
	background-color: var(--theme-color-light);
	border-right: 1px solid var(--theme-border-color);
}
#stdypln-item-name>div:first-of-type{
	margin-top: 0;
}
#stdypln-item-name>div:not(:last-of-type),
.stdypln-values>div:first-of-type
{
	border-bottom: 1px solid var(--theme-border-color);
}

#stdypln-grad-asp-wrap{
    display: flex;
    align-items: center;
    padding: 5px 0;
    margin: 10px 0 -1px 0;
    border: 1px solid var(--theme-color);
    border-bottom-style: none;
    border-radius: 7px 7px 0 0;
}
#stdypln-grad-asp-wrap>div:first-of-type{
	font-size: 16px;
}
.stdypln-values{
	width: 100%;
	min-width: 10em;
	/*margin: 0 0px 0 -1px;*/
}
.stdypln-values>div{
	height: 4em;
	/*margin: 1px;*/
}
.stdypln-values>div:last-of-type span.total-limit{
	color: #666;
	letter-spacing: 1px;
}
.stdypln-values:not(:last-of-type)>div:first-of-type{
	border-right: 1px solid var(--theme-border-color);
}
.stdypln-values:not(:last-of-type)>div{
	border-right: 1px dashed #cacaca;
}
.stdypln-values>div:first-of-type{
	background-color: var(--theme-color-light);
	display: flex;
	white-space: nowrap;
	justify-content: center;
	align-items: center;
	margin-top: 0;
	padding: 20px 15px;
}
.stdypln-values>div:last-of-type{
	font-weight: bold;
	margin-bottom: 0;
	background-color: var(--theme-color-lightest);
}
.stdypln-values>div:not(:first-of-type){
	/*background-color: #f9f9f9;*/
	padding: 5px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.stdypln-values>div:not(:first-of-type):not(:last-of-type){
	border-bottom: 1px solid #cacaca;
}
#stdypln-values-wrap{
	background-color: #eee;
	width: 100%;
	overflow-x: overlay;
	display: flex;
}
#stdypln-values-wrap>div>div:not(:first-of-type){
	text-align: right;
}
#stdypln-values-wrap>div>div:not(:first-of-type):nth-of-type(even){
	background-color: #f9f9f9;
}
#stdypln-values-wrap>div>div:first-of-type{
	font-weight: bold;
	text-align: center;
}
.stdypln-div div{
	/*width: 25vw;*/
	font-size: 1.3em;
}
.stdypln-total{

}
#stdypln-footer{
	text-align: right;
	padding: 0 15px 7px;
	border-radius: 0 0 7px 7px;

}
#all-total{
	font-size: 1.3em;
	font-weight: bold;
}
#all-total-wrap{
    padding: 5px 0 0;
    margin: 0 auto;
    font-size: 1.3em;
    width: 97%;
}
#stdypln-save{
	color: #555;
	font-size: 1.3em;
	font-weight: bold;
	width: 90%;
	border-radius: 7px;
	margin: 10px auto;
	padding: 10px;
	user-select: none;
}
#stdypln-save.disabled{
	color: #ccc;
}
#unselected-alert{
	position: inherit;
	margin: auto auto;
}
.editable-wrap>div.input.select,
.editable-wrap>div.input.select>select
{
	width: 100%;
	height: 100%;
	font-size: 1em;
	font-weight: bold;
	text-align: center;
}
.editable{
	padding-left: 24px !important;
}
.each-total{
	font-size: 1.2em;
	color: var(--safe-green);
}
.annotation{
	border-radius: 7px;
	padding: 8px 10px;
}
.annotation>div:not(:last-of-type){
	margin-bottom: 7px;
}
.anno-normal{
	background-color: var(--theme-color-lightest);
	border: 1px solid var(--theme-border-color);
}
.anno-danger{
	background-color: var(--bg-danger);
	border: 1px solid var(--bd-danger);
	color: red;
}
#not-saved{
	position: fixed;
    top: 90vh;
    z-index: 1;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.uneditable{
	background-color: #ddd !important;
}
.justify-center{
	justify-content: center !important;
}
.unit-limit-over{
	background-color: #faa !important;
}
.unit-limit-over .each-total{
	color: red !important;
}
#grad-aspiration-block-layer{
	position: absolute;
	opacity: 0.3;
	width: 130px;
	height: 35px;
}
#not-require{
	width: 90%;
	margin: 10px auto;
}
.dialog-header{
	padding: 8px;
	border-radius: 8px;
	background-color: var(--theme-color-light);
}
.fullsem-item{
	background-color: #d9edf7;
	padding: 5px;
    text-align: center;
    font-size: 1.1em;
    font-weight: bold;
    border: 1px solid #96d7fb;
    border-radius: 7px;
    margin: 5px;
}
.btn-theme{
	background-color: var(--theme-color);
	color: white !important;
}
.btn-theme:hover{
	background-color: #1e51b7;
	color: white !important;
}
.blue-box{
	background-color: var(--theme-color-light);
	border: solid 1px var(--theme-border-color);
}
.gray-box{
	background-color: #eee;
	border: solid 1px #ddd;
}
.yellow-box{
	background-color: #FFFFEE;
	border: solid 1px #ddd;
}

.red-box{
	border: 1px solid red;
	background-color: #ff5252;
	color: white;
}
.back-btn::before{
	content: "\e079";
}
.xy-centering{
	display: flex;
	justify-content: center;
	align-items: center;
}
.first-line-bold:first-line{
	font-weight: bold;
}
.scrl-nav{
	position: absolute;
	z-index: 100;
	top: 0;
	height: 100%;
	background: rgba(70, 70, 70, 0.2);
	display: flex;
	align-items: center;
	padding: 3px;
	color: #444;
	font-size: 0.3em;
	pointer-events: none;
}
.scrl-nav-left{
	left: 0;
}
.scrl-nav-left::before{
	content: "◀";
}
.scrl-nav-right{
	right: 0;
}
.scrl-nav-right::before{
	content: "▶";
}
.moveTo{
	margin: 15px auto;
    padding: 15px;
    text-align: center;
    border-radius: 8px;
    font-size: 2em;
    cursor: pointer;
}

#info-area{
	margin: .6em 0 0;
	border: 1px solid var(--theme-border-color);
	border-radius: .5em;
	padding: 0 1em;
	min-height: 3em;
	max-height: 12em;
	overflow-y: auto;
}
#info-area>div{
    display: flex;
    align-items: center;
	cursor: pointer;
	border-radius: .4em;
	background-color: var(--theme-color-lightest);
	padding: .8em .5em;
	margin: .8em 0;
	font-size: 1.2em;
}
.info-new{
	color: white;
	padding: .2em;
	margin: 0 .3em 0 0;
	border-radius: .3em;
	background-color: var(--common-red);
	font-size: .6em;
}
#info-area>div>.info-title{

}

/*modal強制リサイズ*/
.modal-full-disp{
	padding: 0.5em !important;
}
.modal-full-disp>.modal{
	min-width: 100% !important;
	max-width: 100% !important;
	padding: .5em !important;
}
/*---*/

.info-title{
	padding: .6em;
	border-radius: .4em .4em 0 0;
	border: 1px solid #ccc;
	font-weight: bold;
	background-color: var(--theme-color-light);
}
.info-body-data{
	overflow-y: auto;
	border: 1px solid #ccc;
	border-top-style: none;
	padding: .2em;
}
.info-body-data>div:first-of-type{
	padding: 0 .2em;
	overflow-y: auto;
	max-height: 50vh;
	min-height: 10vh;
}
#info-disp>.info-body-data:not(:last-of-type){
	margin-bottom: 3em;
}

#proreg-books, #proreg-bkdiv{
	display: none;
}

#Teacher{
	margin: 0 0 0 5px;
}

@keyframes blinkAnimationBorder {
	0% {
		border: 4px solid #cc2200;
	}
	100% {
		border: 4px solid #efefef;
	}
}
.blink-border {
	animation: blinkAnimationBorder 1s ease infinite alternate;
}
.sticky-at-top{
	position: sticky;
	top: 0;
}
.fixed-at-bottom{
	display: inline-block;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
}
.border-radius-reset{
	border-radius: 0 !important;
}
.unreg{
	background-image: none;
	background-color: #ccc;
	color: #999 !important;
	text-decoration: line-through !important;
	cursor: not-allowed;
	text-shadow: none !important;
}
#bottom-area{
	z-index: 1000;
}
#bottom-area>div>a{
	display: grid;
}
#bottom-area>div{
	width: 100%;
}
