@charset "utf-8";

span.ethna-error {
    color: #ff0000;
}
p.info {
    color: #0000ff;
    font-weight: bold;
    font-size: 1.2rem;
}

/* -------------------- */
/* フロント側スタイル Start */
/* -------------------- */
.disnone {
    display:none;
}

div#frontMenu {
    margin: 0 auto 10px;
    text-align: right;
    width: 80%;
}
div#frontWrap {
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

table.tblFrontLogin {
    margin: 0 auto;
    border-collapse: collapse;
    text-align: left;
    line-height: 1.5;
    margin-bottom: 20px;
    width: 80%;
    height:160px;
}
table.tblFrontLogin th {
    padding: 10px;
    font-weight: bold;
    vertical-align: middle;
    border: 1px solid #ccc;
    background-color: #EEEEEE;
    text-align: center;
    width: 20%;
}
table.tblFrontLogin td {
    padding: 10px;
    vertical-align: middle;
    border: 1px solid #ccc;
}
div#loginFormWrap {
    margin: 0 auto;
}
div.frontLoginSubmit {
    margin: 0 auto;
    width: 80%;
}

a.manualBtn {
    font-weight:bold;
    border:solid 1px #b00;
    padding:12px;
    border-radius: 5px;
    color:#b00;
}

.map {
    margin: 0 auto;
    width: 100%;
    height: 600px;
}

.site-header-sub .contact-txt {
    line-height: 1.8em;
}
.contact-txt .contact-txt-tel {
    font-size: 1.0rem;
    font-weight: normal;
    color: #000000;
}


div.tcardList {
    margin: 0 auto;
    border-collapse: collapse;
    text-align: left;
    line-height: 1.5;
    width: 100%;
    margin-bottom: 30px;
}
table.tcardListTable {
    margin: 0 auto;
    border-collapse: collapse;
    text-align: left;
    line-height: 1.5;
    width: 100%;
    margin-bottom: 10px;
}
table.tcardListTable caption {
    text-align: right;
    padding: 10px;
}
table.tcardListTable th {
    padding: 10px 5px;
    font-weight: normal;
    vertical-align: middle;
    text-align: center;
    border: 1px solid #BDBDBD;
    background-color: #E4F9F5;
    font-size: 0.8rem;
    white-space: nowrap;
}
table.tcardListTable td {
    padding: 10px 5px;
    vertical-align: middle;
    border: 1px solid #BDBDBD;
    font-size: 0.8rem;
}


table.tcardDetailTable {
    margin: 0 auto;
    border-collapse: collapse;
    text-align: left;
    line-height: 1.5;
    margin-bottom: 20px;
    width: 80%;
    height:160px;
}
table.tcardDetailTable th {
    padding: 10px;
    font-weight: bold;
    vertical-align: middle;
    border: 1px solid #ccc;
    background-color: #EEEEEE;
    text-align: center;
    width: 40%;
}
table.tcardDetailTable td {
    padding: 10px;
    vertical-align: middle;
    border: 1px solid #ccc;
}

.required-srt {
    font-size: 8pt;
    padding: 5px;
    background: #ce0000;
    color: #fff;
    border-radius: 3px;
    margin-left: 10px;
    vertical-align: middle;
}

@media (max-width: 991px){
    .site-header-sub {
        display: flex;
        text-align:right;
        margin:5px 0 20px;
    }
    p.contact-txt {
        display:none;
    }

    table.tcardDetailTable th {
        width: 100%;
        display: block;
        border-top: none;
    }
    table.tcardDetailTable td {
        width: 100%;
        display: block;
        border-top: none;
    }
}

/* Flatpckr */
/* 日曜日：赤 */
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-weekdays .flatpickr-weekday:nth-child(7n + 1),
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-days .flatpickr-day:not(.flatpickr-disabled):not(.prevMonthDay):not(.nextMonthDay):nth-child(7n + 1) {
  color: #f00;
}

/* 土曜日：青 */
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-weekdays .flatpickr-weekday:nth-child(7),
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-days .flatpickr-day:not(.flatpickr-disabled):not(.prevMonthDay):not(.nextMonthDay):nth-child(7n) {
  color: #25bdcf;
}

/* 祝日 */
.flatpickr-day.is-holiday{
  background: lighten(#f00, 40%) !important;
}

/* 入力欄の文字列を選択させないようにしておく  */
.flatpickr-calendar .numInput{
  user-select: none;
}

/* common */
.tac {
    text-align: center;
}

div#searchMoreToggle {
    border:1px solid #BBBBBB;
    padding:5px;
    margin-bottom:10px;
}
div#searchMoreToggle:hover {
    background-color:#EEEEEE;
    cursor:pointer;
}
div#searchDetail {
    margin-bottom:20px;
}






table.eventDetailTable {
    margin: 0 auto;
    border-collapse: collapse;
    text-align: left;
    line-height: 1.5;
    margin-bottom: 20px;
    width: 100%;
}
table.eventDetailTable th {
    padding: 10px;
    font-weight: bold;
    vertical-align: middle;
    border: 1px solid #ccc;
    background-color: #EEEEEE;
    text-align: center;
    width: 30%;
}
table.eventDetailTable td {
    padding: 10px;
    vertical-align: middle;
    border: 1px solid #ccc;
}



@media (max-width: 991px){
    table.eventDetailTable {
        border-top: 1px solid #ccc;
    }
    table.eventDetailTable th {
        width: 100%;
        display: block;
        border-top: none;
    }
    table.eventDetailTable td {
        width: 100%;
        display: block;
        border-top: none;
    }
}


input[type=button].clearBtn {
    font-size: 1rem;
    border: 1px solid #0000FF;
    background-color: #0000FF;
    color: #fff;
    padding: .5em 2em;
    border-radius: var(--vk-size-radius);
}

input[type=button].clearBtn:hover {
    border: 1px solid #000091;
    background-color: #000091;
    cursor: pointer;
}

input[type=button].prBtn {
    font-size: 1rem;
    border: 1px solid #e2ac2d;
    background-color: #e2ac2d;
    color: #fff;
    padding: .5em 2em;
    border-radius: var(--vk-size-radius);
}

input[type=button].prBtn:hover {
    border: 1px solid #dfbe70;
    background-color: #dfbe70;
    cursor: pointer;
}

.floatRight {
    float:right;
}

/* 個人情報保護方針 */
div#privacyWrap {
    margin-bottom:50px;
    border:solid 1px #999999;
    padding:20px;
    box-sizing: border-box;
    height: 260px;
    overflow-y: scroll;
}

/* 署名 */
#startRecord {
    display: block;
    margin: 0 auto;
    width: 70%;
    text-align: center;
    background-color: #4DC1B7;
    border-radius: 20px;
    color:#FFFFFF;
    padding: 15px;
    cursor: pointer;
    font-weight: bold;
}
#startRecord:hover {
    opacity: 0.7;
}
#signaturePopup {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1000;
}
#signaturePopupContent {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: white;
    padding: 20px;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}
#signatureArea {
    border: 1px solid #000;
}

div.membersWrap input[type=radio].memberRadio {
    display: none; /* ラジオボタンを非表示にする */
}
div.membersWrap label {
    display: block; /* ブロックレベル要素化する */
    float: left; /* 要素の左寄せ・回り込を指定する */
    margin: 5px; /* ボックス外側の余白を指定する */
    padding: 15px 25px; /* ボックス内左側の余白を指定する */
    color: #ffffff; /* フォントの色を指定 */
    text-align: center; /* テキストのセンタリングを指定する */
    cursor: pointer; /* マウスカーソルの形（リンクカーソル）を指定する */
    border-radius: 10px; /* 角丸を指定する */
    background: #67aa75;/* マウス選択時の背景色を指定する */
    font-weight: bold; /* フォントの太さを指定する */
    font-size: 1.2rem; /* フォントサイズを指定する */
}
div.membersWrap input[type="radio"]:checked + label {
    background: #017c1a; /* マウス選択時の透明度を指定する */
    color: #ffffff; /* マウス選択時のフォント色を指定する */
}

@media (max-width: 991px){
    div.membersWrap::before {
        content: "";
        display: block;
        clear: both;
        padding-top: 1%;
    }
}

::placeholder {
    color: #acacac;
}



table.enqueteTable {
    margin: 0 auto;
    border-collapse: collapse;
    text-align: left;
    line-height: 1.5;
    margin-bottom: 20px;
    width: 80%;
    height:160px;
}
table.enqueteTable caption {
    text-align: left;
    caption-side: top;
    padding: 5px;
    font-size: 1.2rem;
}
table.enqueteTable label {
    padding-right: 30px;
}
table.enqueteTable th {
    padding: 10px;
    font-weight: bold;
    vertical-align: middle;
    border: 1px solid #ccc;
    background-color: #EEEEEE;
    text-align: center;
    width: 20%;
}
table.enqueteTable td {
    padding: 10px;
    vertical-align: middle;
    border: 1px solid #ccc;
}

#privacyPopup {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.9);
    z-index: 2000;
}
#protectionContent {
    position: absolute;
    top: 50%;
    left: 50%;
    width:90%;
    height:90%;
    transform: translate(-50%, -50%);
    background-color: rgb(189, 189, 189);
    padding: 20px;
    border-radius: 10px;
    display: table;
}
#innerContent {
        display: table-cell;
        vertical-align: middle;
        text-align: center;
}
#privacyTitle {
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 20px;
}

#inputStartButton {
    margin:50px auto;
    border: 1px solid #3fa129;
    background-color: #3fa129;
    color: #fff;
    padding: 1em 4em;
    font-size: 2.1rem;
    border-radius: 10px;
}

img#recordedImage {
    border:solid 1px #eeeeee;
    margin:10px auto 0;
}