h1, h2 {
    font-weight: bold;
    color: #00008b;
    font-size: 20px;
}

.title-reserve {
    padding-left: 32px;
    line-height: 32px;
    background: url("/static/images/reserve_blue.png") no-repeat;
    padding-bottom: 3px;
    margin-top: 3px;
    margin-bottom: 10px;
    border-bottom: solid 3px #00008b;
}

.title-survey {
    padding-left: 32px;
    line-height: 31px;
    background: url("/static/images/iconmonstr-clipboard-6-32.png") no-repeat;
    padding-bottom: 3px;
    margin-top: 3px;
    margin-bottom: 10px;
    border-bottom: solid 3px #00008b;
}

.title-home {
    padding-left: 32px;
    line-height: 31px;
    background: url("/static/images/home_blue.png") no-repeat;
    padding-bottom: 3px;
    margin-top: 3px;
    margin-bottom: 10px;
    border-bottom: solid 3px #00008b;
}

.title-history {
    padding-left: 32px;
    line-height: 31px;
    background: url("/static/images/histroy_blue.png") no-repeat;
    padding-bottom: 3px;
    margin-top: 3px;
    margin-bottom: 10px;
    border-bottom: solid 3px #00008b;
}

.title-announcement {
    padding-left: 32px;
    line-height: 31px;
    background: url("/static/images/announcement_blue.png") no-repeat;
    padding-bottom: 3px;
    margin-top: 3px;
    margin-bottom: 10px;
    border-bottom: solid 3px #00008b;
}

.title-schedule {
    padding-left: 32px;
    line-height: 32px;
    background: url("/static/images/schedule_blue.png") no-repeat;
    padding-bottom: 3px;
    margin-top: 3px;
    margin-bottom: 10px;
    border-bottom: solid 3px #00008b;
}

.calendar-control{
    margin-top: 5px;
    margin-bottom: 5px;
}

.current_month {
    font-weight: bold;
}

.btn-move-month {
    width: 60px;
}

.navbar{
    background-color:#00008b;
    box-shadow: 0 2px 2px rgba(0,0,0,.5)!important;
}

.navbar-dark .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.nav-li-home {
    margin-top: 3px;
    margin-bottom: 3px;
    padding-left: 35px;
    margin-right: 15px;
    line-height: 20px;
    background: url("/static/images/home_white.png") no-repeat;
}

.nav-li-announcement {
    margin-top: 3px;
    margin-bottom: 3px;
    padding-left: 35px;
    margin-right: 15px;
    line-height: 20px;
    background: url("/static/images/announcement_white.png") no-repeat;
}

.nav-li-reserve {
    margin-top: 3px;
    margin-bottom: 3px;
    padding-left: 35px;
    margin-right: 15px;
    line-height: 20px;
    background: url("/static/images/reserve_white.png") no-repeat;
}

.nav-li-setting {
    margin-top: 3px;
    margin-bottom: 3px;
    padding-left: 35px;
    margin-right: 15px;
    line-height: 20px;
    background: url("/static/images/setting_white.png") no-repeat;
}


.help-text{
    font-size: 90%;
    color: grey;
}

.help-text-mini{
    font-size: 80%;
    color: grey;
}

.home-reservation-list-item{
    padding-top: 0.3em;
    padding-bottom: 0.3em;
    border-bottom: solid 1px lightgrey;
}

.p-no-margin{
    margin-block-start: 0em;
    margin-block-end: 0em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
}

.breadcrumb{
    background-color: white;
    padding: 0px;
    margin-bottom: 0.3em;
}

h1, h2 {
    font-weight: bold;
    color: #00008b;
    font-size: 20px;
}

.calendar-day-race{
    background: url("/static/images/boat32.png") no-repeat;
    background-position: right bottom;
}

.red {
    filter: invert(15%) sepia(95%) saturate(6932%) hue-rotate(358deg) brightness(95%) contrast(112%);
}

.green {
    filter: invert(17%) sepia(91%) saturate(7085%) hue-rotate(128deg) brightness(100%) contrast(106%);
}

.blue {
    filter: invert(8%) sepia(99%) saturate(7044%) hue-rotate(247deg) brightness(100%) contrast(145%);
}

.white {
    filter: invert(88%) sepia(61%) saturate(0%) hue-rotate(229deg) brightness(107%) contrast(101%);
}

.window_rect {
    border-width:2px !important;
    padding: 12px 12px 12px 12px !important;
}

.table > tbody > tr > td {
    vertical-align: middle;
    border-bottom: solid 1px #dee2e6;
}

.table > tbody > tr > th{
    vertical-align: middle;
    border-bottom: solid 1px #dee2e6;
}

.table.calendar > tbody > tr > td {
    vertical-align: top;
}

.table.data-table th{
    background: #eee;
    border-bottom: 0px;
    font-size: 13px;
}

.a-block{
    display: block;
    width:100%;
    height:100%
}

.btn-sm-more{
    line-height: 1.1;
}

body{
    margin-bottom: 100px;
}

.table td.table-fit,
.table th.table-fit {
    white-space: nowrap;
    width: 1%;
}


.table td.table-padding,
.table th.table-padding {
    padding-right: 10px;
    padding-left: 10px;
}

.margin-left-15{
    margin-left: 15px;
}

.margin-left-5{
    margin-left: 5px;
}

.margin-right-5{
    margin-right: 5px;
}

.margin-right-button{
    margin-right: 15px;
}

.margin-top{
    margin-top: 10px;
}

.margin-bottom{
    margin-bottom: 10px;
}

.bg-calendar-header{
    background-color: #7abaff;
}

.bg-disabled{
    background-color: #eeeeee;
}

.no-bottom-margin{
    margin-bottom: 0rem;
}

.hidden{
    display:none;
}

td > p, td > a > p {
    margin-bottom: 0px;
}

.string-red{
    color: red;
}

.string-blue{
    color: #007bff;
}

.string-grey{
    color: grey;
}

.string-green{
    color: darkgreen;
}

.string-black{
    color: black;
}

.w-50-a{
    width: 50px;
}

.w-75-a{
    width: 75px;
}

.w-100-a{
    width: 100px;
}

.w-125-a{
    width: 125px;
}

.w-150-a{
    width: 150px;
}

.w-200-a{
    width: 200px;
}

.login-user-display{
    border-radius: 3px;
    border: 1px solid #dee2e6;
}

.login-user-display a{
    height: 100%;
    display: block;
    color: white !important;
    padding: 3px 6px;
    font-size: 0.9rem;
}

.nav-link{
    font-weight: 500;
    font-size: 1rem;
}

.insurance-tool-box{

}



.insurance-section{
    border: 3px solid #ccccff;
    padding: 10px;
    margin-top: 10px;
    margin-bottom: 30px;
    border-radius: 12px;
}

.insurance-entity{
    font-weight: bold;
}

.insurance-entity-has-right:before{
    content: "⭕️️";
    padding-right: 5px;
}

.insurance-entity-has-chance:before{
    content: "🔺";
    padding-right: 5px;
}

.insurance-entity-has-no-chance:before{
    content: "❌";
    padding-right: 5px;
}

.insurance-subject-title-box{
    margin-bottom: 10px;
    background-color: #ccccff;
    border-left: 5px solid #3333ff;
    border-radius: 3px;
}

.insurance-subject-title{
    font-weight: bold;
    font-size: 1.2em;
    padding: 5px;
}

.insurance-entity-detail{
    font-size: 95%;
    color: #7a7a99;
}

.insurance-top-menu-box{
    /*
    padding: 10px;
    margin-top: 10px;
    margin-bottom: 30px;
    border-radius: 12px;
     */
}

.insurance-top-menu-item-box{
    border: 1px solid lightgrey;
    background-color: #ffffff;
    padding: 3px;
}

.insurance-top-menu-item-help-text{
    color: grey;
    font-size: 0.9em;
}

.insurance-section-has-title{
    border-left: 3px solid #ccccff;
    border-right: 3px solid #ccccff;
    border-bottom: 3px solid #ccccff;
    padding: 8px;
    margin-bottom: 20px;
    border-radius: 0 0 12px 12px;
}

.insurance-section-title{
    padding: 8px;
    margin-top: 5px;
    border: 3px solid #ccccff;
    border-radius: 12px 12px 0 0;
    font-weight: bold;
    font-size: 1.1em;
    background-color: #ccccff;
}

.window_rect {
    border-width:2px !important;
    padding: 12px 12px 12px 12px !important;
}

.training-list-outline-training {
    border-width: 2px !important;
    padding: 12px 12px 12px 12px !important;
    border-color: #00008b !important;
}

.training-list-outline-other {
    border-width:2px !important;
    padding: 12px 12px 12px 12px !important;
    border-color: forestgreen !important;
}

.title-reserve-other {
    font-weight: bold !important;
    color: forestgreen;
    font-size: 18px !important;

    padding-left: 32px;
    line-height: 32px;
    background: url("/static/images/reserve_green.png") no-repeat;
    padding-bottom: 3px;
    margin-top: 3px;
    margin-bottom: 10px;
    border-bottom: solid 3px forestgreen;
}

.title-reserve-training {
    padding-left: 32px;
    line-height: 32px;
    background: url("/static/images/reserve_blue.png") no-repeat;
    padding-bottom: 3px;
    margin-top: 3px;
    margin-bottom: 10px;
    border-bottom: solid 3px #00008b;
}

.btn-secondary{
    color: white !important;
}

.text-additional-description{
    color: #333333;
    font-size: 0.9em;
}

.help-text-strong{
    font-weight: bold;
    color: grey;
    font-size: 0.9em;
}

.th-additional-description-training{
    background-color: lightskyblue !important;
}

.th-additional-description-other{
    background-color: lightgreen !important;
}

.mini-hr {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  border-color: gray;
}

.image-container {
    overflow: hidden;
    margin-bottom: 1rem;
}

.image-container img {
    max-width: 100%;
    height: auto;
}

.bordered-image {
    border: 2px solid darkgrey; /* 外枠の設定 */
}

.training-sub-admin-not-training-mark {
    font-size: 0.8em;
    background-color: lightgreen;
    border-radius: 2px;
    padding: 1px 3px;
    margin: 2px;
    display: inline-block;
}

.training-sub-admin-reserve-list-item {
    font-size: 0.8em;
    background-color: #e0e0e0;
    border-radius: 2px;
    padding: 1px 3px;
    margin: 2px;
    display: inline-block;
}

.training-sub-admin-reserve-list-item-supervisor {
    font-size: 0.8em;
    background-color: lightpink;
    border-radius: 2px;
    padding: 1px 3px;
    margin: 2px;
    display: inline-block;
}

.fake-table-header {
    background-color: #eee;
    font-size: 0.82em;
    padding: .3rem;
    font-weight: bold;
    border-top: 1px solid #dee2e6;
    border-right: 1px solid #dee2e6;
    border-left: 1px solid #dee2e6;
}

/* 開閉式テーブル 初期閉じエリア */
.accordion-row {
    display:none;
}

.hidden-item {
    display: none;
}

.btn-extra-sm {
  padding: 2px 6px;
  line-height: 1.2;
}

/* トップナビのアイコン */
.nav-link{
    padding: .3rem .7rem!important;
}

/* トップナビのアイコンセクションの横スクロール */
@media (max-width: 768px) {
    .icon-scroll-container {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch; /* iOSでのスムーズなスクロールのため */
    }

    .icon-scroll-container ul.d-flex.flex-row.list-unstyled {
        white-space: nowrap;
    }
}

/* sortable-tableでテーブルヘッダに自動的に付与されるクラスです */
.tablesorter-header{
    background-color: #eeeeee !important;
}

.table-no-margin{
    margin-bottom: 0 !important;
    margin-top: 0 !important;
}

/* sortable-tableでテーブルで自動的にbgが白になるのを打ち消します */
.tablesorter-default td {
    background-color: transparent !important;
}