:root {
--blue: rgba(14, 50, 147, 0.9);
--red: rgba(221, 0, 0, 1);
--black: rgba(0, 0, 0, 0.82);
--gray: rgba(136, 136, 136, 1);
}

/* common */
html {
scroll-padding-top: 170px;
}
body {
font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
.bold {
font-weight: bold;
}
.blue {
color: var(--blue);
}
.red {
color: var(--red);
}
.red a {
color: var(--red);
}
.gray {
color: var(--gray);
}
.white {
color: #fff;
}
.bg-blue {
background-color: var(--blue);
}
.bg-sky {
background-color: #7cc7ef;
}
.bg-white {
background-color: #fff;
}
.bg-gray {
background-color: #eee;
}
.bg-dark-gray {
background-color: #ccc;
}
.bg-red {
background-color: var(--red);
}
.border-red {
border: 1px solid var(--red);
}
.border-white {
border: 1px solid #fff;
}
.title-border-red {
border-bottom: 3px solid var(--red);
}
.title-border-blue {
border-bottom: 3px solid var(--blue);
}
.radius {
border-radius: 10px;
}
.radius-5 {
border-radius: 5px;
}
.border-none {
border: none;
}
.palt {
font-feature-settings: "palt";
}
hr {
border: 2px solid #898989;
}
input[type=text] {
border: 1px solid #999;
}
input[type=textarea] {
border: 1px solid #999;
}
input[type=password] {
border: 1px solid #999;
}
input[type=checkbox] {
-ms-transform: scale(1.5, 1.5);
-webkit-transform: scale(1.5, 1.5);
transform: scale(1.5, 1.5);
border: 1px solid #999;
}
input[type=radio] {
-ms-transform: scale(1.3, 1.3);
-webkit-transform: scale(1.3, 1.3);
transform: scale(1.3, 1.3);
border: 1px solid #999;
}
.gray-radio {
accent-color: #666;
}
input[type="radio"]:disabled {
opacity: 1;
accent-color: #333;
}
.vertical-center {
display: flex;
align-items: center;
}
.header-sticky {
position: sticky;
top: 0;
z-index: 10;
}
.header-item-center {
display: flex;
align-items: center;
height: 100%;
}
.logout {
color: #fff;
text-decoration: none;
}
.logout:hover {
opacity: 0.7;
}
.each-tab {
min-width: 6em;
border-right: 3px solid var(--black);
}
.each-tab-end {
border-right: none;
}
.custom-nav {
overflow-x: scroll;
overflow-y: hidden;
flex-wrap: nowrap;
overflow-scrolling: touch;
-webkit-overflow-scrolling: touch;
border-top: 10px solid var(--black);
border-bottom: 10px solid var(--black);
border-left: 10px solid var(--black);
border-right: 10px solid var(--black);
scrollbar-width: none;
-ms-overflow-style: none;
}
.custom-nav::-webkit-scrollbar {
display: none;
}
@media (max-width: 991.98px) {
.table-900 {
width: 992px
}
}
@media (max-width: 767.98px) {
.table-700 {
width: 768px
}
}
@media (max-width: 575.98px) {
.table-500 {
width: 576px
}
}
a.nav-link {
font-weight: bold;
align-items: center;
display: flex;
height: 100%;
justify-content: center;
width: 100%;
background-color: #666;
color: #fff;
border-radius: 0!important;
transition: 0.5s;
}
@media (max-width: 767.97px) {
a.nav-link {
font-size: 90%;
line-height: 1.4;
}
}
@media (min-width: 768px) {
a.nav-link:hover {
background-color: #eee;
color: var(--blue);
transition: 0.5s;
}
}
@media (max-width: 767.97px) {
a.nav-link:hover {
background-color: #666;
color: #fff;
}
}
a.nav-link-active {
background-color: #eee!important;
color: var(--blue)!important;
}
main {
border-left: 10px solid var(--black);
border-right: 10px solid var(--black);
}
.hero {
background-image: linear-gradient(rgba(0,0,0,0.6),rgba(0,0,0,0.6)),url(../img/bg-title.jpg);
background-size: cover;
background-position: center bottom;
position: relative;
}
.btn-blue {
background-color: var(--blue);
border-color: var(--blue);
color: #fff;
transition: 0.5s;
}
.btn-blue:hover {
background-color: var(--blue);
border-color: var(--blue);
color: #fff;
opacity: 0.8!important;
transition: 0.5s;
}
.btn-red {
background-color: var(--red);
border-color: var(--red);
color: #fff;
transition: 0.5s;
}
.btn-red:hover {
background-color: var(--red);
border-color: var(--red);
color: #fff;
opacity: 0.8!important;
transition: 0.5s;
}
.btn-gray {
background-color: var(--gray);
border-color: var(--gray);
color: #fff;
transition: 0.5s;
}
.btn-gray:hover {
background-color: var(--gray);
border-color: var(--gray);
color: #fff;
opacity: 0.8!important;
transition: 0.5s;
}
.btn-green {
background-color: #65a7c8;
border-color : #65a7c8;
color: #fff;
transition: 0.5s;
}
.btn-green:hover {
background-color: #65a7c8;
border-color : #65a7c8;
color: #fff;
opacity: 0.8!important;
transition: 0.5s;
}
.btn-sky {
background-color: #005ddf;
border-color : #005ddf;
color: #fff;
transition: 0.5s;
}
.btn-sky:hover {
background-color: #005ddf;
border-color : #005ddf;
color: #fff;
opacity: 0.8!important;
transition: 0.5s;
}
.pointer-none {
pointer-events: none;
}
.table {
border-top: 3px solid var(--black);
border-bottom: 3px solid var(--black);
}
table.bottom td {
vertical-align: bottom;
}
.table td {
vertical-align: middle;
}
table.table td.right {
border-right: 2px solid #fff;
}
table.table td.right span {
font-size: 150%;
font-weight: bold;
}
td.color-1 {
background-color: #bfdae5;
}
td.color-2 {
background-color: #d1dae5;
}
td.color-3 {
background-color: #fcd3dc;
}
table.top-table-2 td {
background-color: var(--blue);
color: #fff;
}
@media (max-width: 767.97px) {
.sp-bottom-border-1 {
border-bottom: 1px solid var(--black);
}
.sp-top-border-none {
border-top: none;
}
}
footer {
background-color: var(--black);
}
a.logo {
font-family: 'Khand', 'Noto', sans-serif;
line-height: 1;
font-weight: 700;
letter-spacing: 0.05em;
font-size: 2rem;
text-decoration: none;
color: #ccc;
transition: 0.5s;
}
a.logo:hover {
color: #fff;
transition: 0.5s;
}
a.arrow {
position: relative;
}
a.arrow::after {
content: "\f054";
font-family: "Font Awesome 5 Free";
font-weight: 900;
-webkit-font-smoothing: antialiased;
display: inline-block;
font-style: normal;
font-variant: normal;
text-rendering: auto;
position: absolute;
top: 50%;
transform: translateY(-50%);
right: 1.5rem;
}
a.plus::after {
content: "\2b";
font-family: "Font Awesome 5 Free";
font-weight: 900;
-webkit-font-smoothing: antialiased;
display: inline-block;
font-style: normal;
font-variant: normal;
text-rendering: auto;
float: right;
}

.note-right-border {
border-right: none;
border-bottom: 1px solid #898989;
margin-bottom: 20px;
}
@media (min-width: 767.98px) {
.note-right-border {
border-right: 1px solid #898989;
border-bottom: none;
}
}
.note-scroll {
height: auto;
}
@media (min-width: 767.98px) {
.note-scroll {
height: 200px;
overflow-y: scroll;
}
}
.accordion_container {
margin-bottom: 1.5rem;
}
.accordion_title {
background-color: #005ddf;
color: #fff;
font-size: 1.25rem;
padding-left: 1.5rem;
padding-right: 1.5rem;
padding-top: 0.7rem;
padding-bottom: 0.7rem;
text-align: left;
position: relative;
z-index: +1;
cursor: pointer;
transition-duration: 0.2s;
}
.accordion_title:hover {
opacity: 0.8;
}
.icon_wrap {
display: flex;
justify-content: center;
align-items: center;
position: absolute;
top: 50%;
right: 2%;
width: 40px;
height: 40px;
margin-top: -20px;
box-sizing: border-box;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
transform-origin: center center;
transition-duration: 0.2s;
}
.icon {
display: block;
width: 18px;
height: 18px;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
transform-origin: center center;
transition-duration: 0.2s;
position: relative;
}
.accordion_title.open 
.icon_wrap {
-webkit-transform: rotate(-360deg);
transform: rotate(-360deg);
}
.icon:before, .icon:after {
display: flex;
content: '';
background-color: #fff;
border-radius: 10px;
width: 18px;
height: 4px;
position: absolute;
top: 7px;
left: 0;
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
transform-origin: center center;
}
.icon:before {
width: 4px;
height: 18px;
top: 0;
left: 7px;
}
.accordion_title.open 
.icon_wrap .icon:before {
content: none;
}
.accordion_title.open 
.icon_wrap .icon:after {
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}
.accordion_inner {
display: none;
padding: 1rem 1.5rem;
border-left: 2px solid #005ddf;
border-right: 2px solid #005ddf;
border-bottom: 2px solid #005ddf;
box-sizing: border-box;
background-color: #fff;
}
.border-bottom-3 {
border-bottom: 3px solid var(--black);
}
ul.arrow {
font-size: .875em;
}
ul.arrow li {
list-style: none;
position: relative;
padding-left: 1.2em;
}
ul.arrow li::before {
content: "\f0da";
font-family: "Font Awesome 5 Free";
font-weight: 900;
-webkit-font-smoothing: antialiased;
display: inline-block;
font-style: normal;
font-variant: normal;
text-rendering: auto;
position: absolute;
left: 0;
}

.TrHead01 {
border-left: solid 1px black;
border-top: solid 1px black;
border-bottom: solid 1px black;
text-align: center; 
font-size: Small;
}
.TrHead02 {
border-left: solid 1px black;
border-top: solid 1px black;
border-bottom: solid 1px black;
border-right: solid 1px black;
text-align: center;
font-size: Small;
 }
.TrDetail04 {
border-left: solid 1px black;
border-right: solid 1px black;
border-bottom: solid 1px black;
text-align: center;
font-size: Small;
}
.TrDetail01 {
border-left: solid 1px black; 
height: 20px;
border-bottom: solid 1px black;
text-align: center;
font-size: Small;
}
.TrDetail03 {
border-left: dotted 1px gray;
border-right: solid 1px black;
border-bottom: solid 1px black;
text-align: center;
font-size: Small;
}
.TrDetail02 {
border-left: dotted 1px gray;
border-bottom: solid 1px black;
text-align: center; 
font-size: Small;
}
.TrAki01 {
border-bottom: solid 1px black;
border-left: solid 1px black;
border-top: solid 1px black;
text-align: center;
}
.TrAki02 {
border-bottom: solid 1px black;
border-left: dotted 1px gray;
border-top: solid 1px black;
text-align: center;
}
.TrAki03 {
border-bottom: solid 1px black;
border-left: dotted 1px gray;
border-top: solid 1px black;
border-right: solid 1px black;
text-align: center;
}
.TrFoot01 {
border-top: none;
text-align: center;
}
.NORMAL {
background-color: #FFFFFF;
font-size: Small;
width: 6px;
text-align: center;
}
.DATE {
background-color: #FFFFFF;
font-size: Small;
width: 30px;
text-align: center
}
.DATES {
background-color: #E0FFFF;
font-size: Small;
width: 30px;
text-align: center
}
.DATEH {
background-color: #F08080;
font-size: Small;
width: 30px;
text-align: center
}