/*=== ログイン画面 ===*/
body#login {
    background: #3482BC;
}

body#login .wrapper {
    width: 1024px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
}

body#login h3 {
    color: #fff;
    text-align: center;
    margin-bottom: 20px;
    border: none;
}

body#login .modal h3 {
    color: #444;
    margin-bottom: 0;
    border-bottom: 1px #ccc solid;
    position: relative;
    padding-bottom: 15px;
}

body#login img.logo {
    display: block;
    margin: 0 auto;
    margin-bottom: 10px;
}

.login_form {
    background: #fff;
    padding: 60px 80px;
    border-radius: 10px;
    box-sizing: border-box;
    width: 600px;
    margin: 0 auto;
}

.login_form h3 {
    font-size: 18px;
    text-align: center;
    margin-bottom: 20px;
}

.login_form dd {
    padding-bottom: 25px;
}

.login_form dt {
    padding-bottom: 5px;
}

.modal .pw_forgot {
    padding: 20px;
}

.modal .inner .pw_forgot p {
    font-size: 13px;
    padding-bottom: 5px;
}

input[type="text"],
input[type="number"],
input#login_pw {
    font-size: 14px;
    width: 100%;
    padding: 10px;
    border-radius: 5px;
    border: 1px #ccc solid;
    box-sizing: border-box;
}
input[type="number"].short {
    width: 60px;
    margin-right: 10px;
}

span#buttonEye {
    position: absolute;
    right: 15px;
    top: 23px;
    color: gray;
}

dd.pw_input {
    position: relative;
}

button.login_btn {
    width: 100%;
    border: none;
    background: #D9D9D9;
    color: #fff;
    padding: 10px 0;
    border-radius: 6px;
    margin: 20px 0;
    font-size: 18px;
}

button.login_btn.active {
    background: #3482bc;
}

a.add_login {
    text-align: center;
    display: block;
    width: 100%;
    border-top: 1px #ccc solid;
    margin-top: 30px;
    padding-top: 15px;
    box-sizing: border-box;
    color: gray;
}

.attention,
.attention a {
    color: gray;
}

#login .attention {
    margin-top: 20px;
}

/*=== //ログイン画面 ===*/
/*=== ダッシュボード ===*/
header {
    background: #3482BC;
    padding: 5px 20px;
    color: #fff;
    position: relative;
    height: 70px;
    box-sizing: border-box;
}

header .logo {
    padding: 17px 0;
}

header .logo img {
    width: 80px;
    vertical-align: bottom;
    margin-right: 20px;
}

header a.logout {
    position: absolute;
    right: 25px;
    top: 50%;
    color: #fff;
    transform: translateY(-50%);
}

.main_wrapper {
    display: flex;
    height: calc(100vh - 70px);
}

/*--- サイドバー ---*/
.sidebar {
    width: 200px;
    border-right: 1px #ccc solid;
    box-sizing: border-box;
    background: #f2f2f2;
    position: relative;
}

.sidebar .inner {
    padding: 20px 10px;
}

.sidebar dt {
    color: lightslategray;
    padding: 20px;
}

.sidebar ul li a,
a.contact {
    padding: 10px 15px;
    display: block;
    color: #636363;
    font-weight: bold;
}

.sidebar ul li a i,
.sidebar .logout i {
    font-size: 17px;
    position: relative;
    top: 1px;
    margin-right: 15px;
}

.sidebar ul li a:hover {
    background: rgb(234 250 251 / 50%);
}

.sidebar ul li.active a {
    color: #3482BC;
}

.sidebar ul li.active {
    background: #D6E6F2;
}

.sidebar a.contact {
    padding: 20px;
    border-top: 1px #ccc solid;
    margin: 0 15px;
    margin-top: 30px;
}

.sidebar a.contact i {
    margin-right: 5px;
    font-size: 16px;
    position: relative;
    top: 1px;
}

.sidebar a.logout {
    padding: 20px;
    border-top: 1px #ccc solid;
    position: absolute;
    bottom: 0;
    width: 100%;
    box-sizing: border-box;
}

/*--- //サイドバー ---*/
/*--- コンテンツ ---*/
h2 {
    margin-bottom: 20px;
}

.content {
    box-sizing: border-box;
    padding: 30px;
    position: relative;
    width: calc(100% - 200px);
    overflow-y: scroll;
    position: relative;
}

.view_period.top {
    position: absolute;
    top: 30px;
    right: 30px;
}

.view_period.top i {
    color: #b8b8b8;
    margin-right: 5px;
}

.search {
    margin-bottom: 20px;
}

.search p {
    display: inline-block;
    margin-right: 10px;
}

.search.top,
.btn_area.top {
    border: none;
    position: absolute;
    top: 30px;
    right: 30px;
}

.search.top i {
    margin-left: 15px;
}

.search div i {
    color: #b8b8b8;
    margin-right: 5px;
}

.search div {
    display: inline-block;
}

.search div select {
    margin-left: 5px;
    min-width: 200px;
}

.search div i,
.filter i {
    color: #b8b8b8;
    margin-right: 5px;
}

.btn_area.top .btn {
    padding: 5px 15px;
}

a.orange.btn {
    background: #e7a600;
    border-color: #e7a600;
}

a.orange.btn.top {
    position: absolute;
    right: 30px;
    top: 40px;
    border: none;
    padding: 10px 25px;
}

.top_content {
    display: flex;
}

.top_content>div,
.bottom_content {
    border-radius: 10px;
    padding: 20px;
    box-sizing: border-box;
    margin: 0 10px;
    margin-bottom: 20px;
}

.bottom_content {
    background: #ebf2f8;
}

.top_content .doctor_nums {
    width: 30%;
    text-align: center;
    background: #3482bc;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
}

.top_content .doctor_nums img {
    display: block;
    margin: 15px auto;
}

.top_content .rt_analytics {
    width: 100%;
    background: #ebf2f8;
}

.top_content .rt_analytics h4 ,
.bottom_content .access_data {
    font-size: 20px;
    margin-bottom: 15px;
}

.top_content p.data {
    font-size: 24px;
    font-weight: bold;
}

.top_content p.data span {
    font-size: 14px;
    margin-left: 3px;
}

.d_flex {
    display: flex;
}

.d_flex>div {
    flex: 1;
    border: 1px #ccc solid;
    border-radius: 8px;
    padding: 10px 20px;
    margin: 0 10px;
    text-align: center;
    background: #fff;
}

.bottom_content.recruitment {
    background: #e4e8e9;
    margin: 0 0 20px 0;
}

.bottom_content.recruitment .data_list {
    background: #fff;
    border-radius: 8px;
    padding: 15px 10px;
    margin-bottom: 20px;
}

.bottom_content.recruitment .data_list .day:last-child {
    border: none;
}
.bottom_content .access_data {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    border: 1px #ccc solid;
    margin: 15px auto;
}
.search.word_search div {
    margin-right: 10px;
}

.search.word_search .btn {
    margin: 0;
}

.search.word_search {
    border: none;
    margin: 0;
    padding: 0;
}

.filter div {
    background: #d3dada;
    display: inline-block;
    padding: 10px;
    border-radius: 5px;
    margin-top: 10px;
}

.filter {
    margin-top: 20px;
}

.top_content .code_count {
    padding: 0;
    background: transparent;
    border: none;
}

.top_content .code_count {
    display: flex;
    flex-flow: column;
}

.top_content .code_count div {
    margin: 0;
}

.top_content .code_count div:first-child {
    margin-bottom: 10px;
}

p.title {
    color: gray;
}

p.count_data {
    font-size: 24px;
    font-weight: bold;
}

.top_content .count_all {
    padding: 30px 50px;
}

.top_content .count_all img,
.top_content .count_all p.count_data {
    display: inline-block;
    vertical-align: middle;
    margin-top: 20px;
    margin-right: 15px;
}

.top_content .code_count div {
    margin: 0;
    padding: 30px 50px;
}

.billing p.data {
    background: #eee;
    padding: 10px;
    font-size: 24px;
    font-weight: bold;
    text-align: right;
}

.billing p.data span {
    font-size: 16px;
    margin-left: 10px;
}

.billing p.data {
    background: #eee;
    padding: 10px;
    font-size: 24px;
    font-weight: bold;
    text-align: right;
    margin-top: 10px;
}

.bottom_content .data_list {
    display: flex;
}

.bottom_content .data_list>div {
    width: 100%;
}

.data_list.flow a {
    color: #0072db;
    text-decoration: underline;
}

.data_list.flow span {
    font-size: 14px;
}

.data_list.month div:first-child {
    border: none;
}

.data_list.month div {
    text-align: center;
    font-size: 12px;
    padding: 10px 0px;
    border-right: 1px #ccc solid;
}

.hos_code,
.remote_code {
    background: #EFFAFF;
    display: inline-block;
    border-radius: 10px;
    padding: 30px;
    text-align: center;
    color: #42B3FF;
    margin-top: 10px;
    width: 100%;
    box-sizing: border-box;
}

.hos_code {
    margin-right: 10px;
}

.remote_code {
    background: #FFF3EF;
    color: #FD8B50;
}

.data_list .count {
    font-size: 22px;
    font-weight: bold;
    color: darkslategray;
    margin-top: 5px;
}

.bottom_content h3 {
    margin-bottom: 20px;
}

.day .title {
    font-weight: normal;
    font-size: 14px;
    color: gray;
    margin-bottom: 20px;
}

.day {
    font-weight: bold;
    font-size: 18px;
    text-align: center;
    border-right: 1px #ccc solid;
    padding-bottom: 10px;
    position: relative;
    padding: 10px 0;
}

.day.active {
    background: #e9fbff;
}

.apply .day p {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
}

.bottom_content .data_list .label p {
    background: #43d263;
    border-radius: 5px;
    padding: 10px 10px;
    margin-bottom: 12px;
    color: #fff;
}

.bottom_content .data_list .label p.label_blue {
    background: #1c7eaa;
}

.flex_box {
    display: flex;
}

footer {
    background: #fff;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 30px;
    box-sizing: border-box;
    border-top: 1px #ccc solid;
    text-align: center;
}

input[type="date"],
input[type="time"] {
    padding: 8px 10px;
    border: 1px #ccc solid;
    margin: 0 0px;
    border-radius: 5px;
}

input[type="datetime-local"] {
    padding: 8px 10px;
    border: 1px #ccc solid;
    margin: 0 0px;
    border-radius: 5px;
}

footer p,
footer a.download_btn {
    display: inline-block;
    margin: ;
}

footer a.download_btn {
    background: #3582bc;
    padding: 10px 20px;
    color: #fff;
    border-radius: 5px;
    margin-left: 30px;
}

/*--- //コンテンツ ---*/
/*=== //ダッシュボード ===*/
/*===  ===*/
.pager ul li a {
    background: #fff;
    border: 1px #ddd solid;
    border-radius: 5px;
    padding: 4px 9px;
    display: inline-block;
    font-size: 12px;
    font-weight: bold;
    color: gray;
    margin: 0 4px;
}

.pager ul li {
    display: inline-block;
}

.pager.number {
    text-align: center;
}

.pager.number ul {
    margin-bottom: 5px;
}

.pager.number.top {
    text-align: left;
    margin: 0;
    margin-bottom: 10px;
}

.pager.number.top p {
    font-size: 12px;
}

.pager.number.top p,
.pager.number.top ul {
    display: inline-block;
}

.sort.top {
    position: absolute;
    right: 0;
    top: 0;
}

.table_area {
    position: relative;
    margin-bottom: 20px;
    background: #f1f1f1;
    padding: 20px 20px 0px 20px;
    border-radius: 5px;
    padding-bottom: 10px;
}

table {
    border-collapse: collapse;
    width: 100%;
}

td.time {
    font-size: 12px;
}

table.recruitment_list td.active:before {
    content: "";
    display: block;
    height: 7px;
    width: 7px;
    background: #239d63;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateX(-50%);
    -webkit- transform: translateX(-50%);
}

table.recruitment_list td.active {
    position: relative;
}

.table_area .expired_sort {
    position: absolute;
    top: -32px;
    right: -18px;
}

table span.active:before,
table span.expired:before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50px;
    background: #259D63;
    margin-right: 8px;
    position: relative;
    top: -1px;
}

.table_area .pager {
    margin: 15px 15px;
}

table span.expired {
    color: #EC0000;
}

table th {
    text-align: left;
    white-space: nowrap;
    word-break: break-all;
}

th.table_edit {
    width: 5%;
}

tbody td {
    border-bottom: 1px #ccc solid;
    vertical-align: top;
    word-break: break-all;
}

tbody tr>* {
    border-bottom: 1px #ddd solid;
    padding: 10px;
}

table span.expired:before {
    background-color: #EC0000;
}

img.qr_code {
    width: 20px;
    height: 20px;
    vertical-align: middle;
    margin: 0 10px;
    position: relative;
    top: -2px;
}

td.login_code {
    text-align: center;
}

span.code_hos,
span.code_remote,
span.code_unc {
    background: #EFFAFF;
    width: 50px;
    display: inline-block;
    border-radius: 30px;
    padding: 2px 0px;
    color: #42B3FF;
}

span.code_unc {
    background: #F1F1F1;
    color: gray;
}

span.code_remote {
    background: #FFF3EF;
    color: #FD8B50;
}

button.btn_check,
button.btn_delete {
    background: #fff;
    border: 1px gray solid;
    border-radius: 5px;
    color: gray;
    padding: 2px 6px;
}

button.btn_delete {
    background: #EC0000;
    color: #fff;
    border-color: #EC0000;
}

.pager ul li a.now {
    background: #3582bc;
    border-color: #3582bc;
    color: #fff;
}

.btn {
    background: #3582bc;
    border: 1px #3582bc solid;
    border-radius: 3px;
    padding: 2px 10px;
    color: #fff;
    display: inline-block;
    white-space: nowrap;
}

.btn.search_btn{
    padding: 5px 10px;
    min-width: 70px;
    text-align: center;
    margin: 0 10px 0 7px;
}

.btn.add_btn {
    background: #19759c;
    font-size: 12px;
    padding: 0 6px;
    margin-left: 10px;
    border-color: #19759c;
}

.btn.sd_btn {
    background: #fff;
    color: #514f4f;
    border-color: #c1c1c1;
    box-shadow: 1px 1px 1px #ccc;
    font-size: 13px;
    font-weight: bold;
    line-height: 1;
    padding: 5px 10px;
}

.btn.sd_btn i {
    margin: 0;
}

.btn.sd_btn.fav i {
    color: #e7b80f;
}

select {
    border: 1px #ccc solid;
    border-radius: 5px;
    padding: 11px 8px;
    display: inline-block;
    vertical-align: middle;
    font-size: 14px;
}
select[name="category"] option:disabled {
    color: lightgray;
}
.search select {
    padding: 8px 8px;
}

.form_table select {
    font-size: 14px;
}

.search input {
    width: 300px;
    padding: 5px 5px;
}

.keyword {
    position: relative;
}

.keyword input {
    padding-left: 30px;
}

.keyword:before {
    content: "\f002";
    font-family: "Font Awesome 6 Free";
    font-weight: bold;
    position: absolute;
    top: 10px;
    left: 10px;
    color: #91989a;
}

.table_edit {
    text-align: center;
}

.btn.edit {
    margin-bottom: 0;
    background: #fff;
    color: #3582bc;
}

tr.expired>* {
    color: #ccc;
}

p.name a span {
    display: block;
    font-size: 12px;
    letter-spacing: 0;
    font-weight: normal;
}

p.name a {
    color: #06f;
    font-size: 16px;
    font-weight: bold;
    border-bottom: 1px #06f solid;
}

table.recruitment_list p {
    font-size: 12px;
}

table.recruitment_list p.election_type {
    font-size: 16px;
    font-weight: bold;
    color: #000;
    margin-bottom: 10px;
}

table.recruitment_list p.election_type {
    font-size: 14px;
    font-weight: bold;
}

a.td_btn {
    display: block;
    border: 1px #dcdcdc solid;
    border-radius: 8px;
    box-shadow: 1px 1px 1px #dcdcdc;
    padding: 5px 10px;
    margin-bottom: 5px;
    color: #000;
}

table.recruitment_list textarea {
    height: 80px;
    display: block;
    margin-bottom: 5px;
}

a.deco_u {
    color: #06f;
    text-decoration: underline;
}

td.status {
    text-align: center;
}

td.status select {
    border: 1px #127a82 solid;
    padding: 8px 10px;
    margin-bottom: 5px;
}

table.recruitment_list p.date {
    /* text-align: center; */
    font-size: 14px;
    font-weight: bold;
    color: #1893d9;
    margin-bottom: 5px;
}

td.status button {
    background: #f1f0f0;
    border: 1px #ccc solid;
    border-radius: 8px;
    padding: 0 5px;
    box-shadow: 1px 1px 1px #dcdcdc;
}

td.status button i {
    color: #ccc;
    margin-right: 3px;
}

td.status button.passed {
    background: #e6f2fd;
}

td.status button.passed i {
    color: #a5d5f0;
}

td.schedule p {
    font-size: 14px;
    color: #c6c6c6;
}

a.td_btn.fav i {
    color: #e7b80f;
}

.content_inner.form_table {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    border: 1px #ddd solid;
}

.content_inner.form_table {
    max-width: 900px;
    margin: 0 auto;
}

.content_inner.form_table th {
    width: 20%;
    text-align: left;
}

.content_inner.form_table table {
    width: 98%;
    margin: 0 auto;
    margin-bottom: 10px;
}

.content_inner.form_table.white th,
.content_inner.form_table.white td {
    background: transparent;
    vertical-align: top;
}

.content_inner.form_table .view_period i {
    color: #b8b8b8;
    margin-right: 5px;
}

.content_inner.form_table .view_period>* {
    display: inline-block;
    margin-right: 10px;
}

.content_inner.form_table .view_period .btn {
    padding: 10px;
}

.content_inner.form_table .view_period input[type="date"] {
    font-size: 16px;
    border-radius: 5px;
    margin: 0;
    padding: 10px;
    margin-top: 5px;
}

.content_inner.form_table .view_period input {
    margin-top: 5px;
}

.userrole_custom {
    background: #f2f2f2;
    border-radius: 8px;
    padding: 20px;
}

.userrole_custom ul {
    display: inline-block;
    vertical-align: top;
    margin-right: 20px;
}

.userrole_custom ul li {
    margin-bottom: 13px;
}

.userrole_custom .checkbox:checked+.checkbox-p::before {
    background: #292a2c;
    border-color: #292a2c;
}

span.req {
    color: #f0456e;
    font-weight: normal;
    font-size: 12px;
    margin-left: 10px;
    white-space: nowrap;
}

caption {
    text-align: left;
    font-weight: bold;
    margin-bottom: 5px;
}

.form_table th {
    background: #f1f1f1;
    width: 25%;
    white-space: break-spaces;
}

.form_table td {
    background: #f1f1f1;
}

.form_table tr>* {
    border: none;
}

.form_table table {
    margin-bottom: 10px;
}

.form_table table tr:first-child>*:first-child {
    border-radius: 5px 0 0 0;
}

.form_table table tr:first-child>*:last-child {
    border-radius: 0 5px 0 0;
}

.form_table table tr:last-child>*:first-child {
    border-radius: 0 0 0 5px;
}

.form_table table tr:last-child>*:last-child {
    border-radius: 0 0 5px 0;
}

.form_table.news {
    max-width: 800px;
}

ul.tag_list li {
    display: inline-block;
    border: 1px #ccc solid;
    border-radius: 5px;
    padding: 3px 5px;
    padding-right: 40px;
    position: relative;
}

ul.tag_list li:after {
    content: "\f056";
    font-family: "Font Awesome 6 Free";
    font-weight: bold;
    position: absolute;
    right: 0;
    top: 6px;
    right: 3px;
    color: #dd0e0e;
}

.radio-p {
    /* color: #009a9a; */
    background: #f1f0f0;
    border-radius: 5px;
    padding: 8px 10px;
    border: 1px #ccc solid;
    box-shadow: 1px 1px 1px #ccc;
}

.radio-p::before,
.radio:checked+.radio-p::after {
    display: none;
}

.radio:checked+.radio-p {
    color: #009a9a;
    background: #e6f2fd;
}

.submit_btn {
    text-align: center;
    margin-top: 20px;
}

.submit_btn .btn {
    width: 180px;
    display: inline-block;
    padding: 10px 0;
    margin: 0 10px;
}

.u_line {
    border-bottom: 1px #ddd solid;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

/*=== // ===*/
/*===  ===*/
.content_inner.form {
    background: #fff;
    border-radius: 5px;
    border: 1px #ccc solid;
    width: 80%;
}

.form table tr>* {
    border: none;
    padding: 20px;
}

.form table th {
    color: #444;
    font-size: 14px;
}

.form table input[type="date"] {
    padding: 5px 10px;
    border: 1px #ccc solid;
    margin: 0 5px;
    border-radius: 5px;
    /* color: gray; */
}

textarea {
    width: 100%;
    height: 150px;
    border: 1px #ccc solid;
    border-radius: 5px;
    padding: 10px;
    box-sizing: border-box;
}

.form table th span.req {
    background: #EE2A59;
    color: #fff;
    font-size: 11px;
    padding: 2px 5px;
    display: inline-block;
    border-radius: 5px;
    margin-left: 10px;
}

p.length_count span {
    color: #444;
}

p.length_count {
    text-align: right;
    color: gray;
}

.sbmit_btn .btn {
    width: 230px;
    display: inline-block;
    padding: 11px 0;
    font-size: 16px;
    margin: 0 5px;
    margin-bottom: 30px;
}

.sbmit_btn {
    text-align: center;
}

.confirmed_btn .btn {
    width: 200px;
    display: inline-block;
    padding: 11px 0;
    font-size: 16px;
    margin: 0 5px;
    margin-bottom: 30px;
}

.confirmed_btn {
    text-align: center;
}

.btn.white {
    background: #fff;
    color: gray;
    border-color: gray;
}

.btn.red {
    background: #ec0001;
    border-color: #ec0001;
}

.btn.green {
    background: #02831c;
    border-color: #02831c;
}

.content_inner.form table {
    margin-bottom: 30px;
}

td.edit .btn {
    margin: 0 3px;
}

/*=== // ===*/
/*===  ===*/
table.simple {
    width: 80%;
}

table.simple tr>* {
    border: none;
    padding: 10px;
}

table.simple th {
    font-size: 14px;
    font-weight: normal;
}

.content_inner.mypage table th {
    width: 30%;
}

.content_inner.mypage table {
    margin-bottom: 40px;
    border: 1px #ccc solid;
    padding: 30px;
}

.content_inner.mypage .sbmit_btn {
    width: 80%;
}

table.white_table {
    border-collapse: separate;
    border-spacing: 0px;
}

table.white_table>* {
    background: #fff;
    font-weight: bold;
}

table.white_table th {
    background: #f7f7f7;
    border-top: 1px #ddd solid;
}

table.white_table tr>*:first-child {
    border-left: 1px #ddd solid;
    padding-left: 50px;
}

table.white_table tr>*:last-child {
    border-right: 1px #ddd solid;
}

table.white_table tr:first-child>*:first-child {
    border-radius: 5px 0 0 0;
}

table.white_table tr:first-child>*:last-child {
    border-radius: 0 5px 0 0;
}

table.white_table tr:last-child>*:first-child {
    border-radius: 0 0 0 5px;
}

table.white_table tr:last-child>*:last-child {
    border-radius: 0 0 5px 0;
}

table.white_table .unread td {
    background: #d6e5f2;
}

table.analytics_table>* {
    background: #fff;
    font-weight: bold;
}

table.analytics_table th {
    background: #f7f7f7;
    border-top: 1px #ddd solid;
}

table.analytics_table tr>*:first-child {
    border-left: 1px #ddd solid;
    padding-left: 50px;
}

table.analytics_table tr>*:last-child {
    border-right: 1px #ddd solid;
    text-align: right;
    padding-right: 50px;
}

table.analytics_table tr:first-child>*:first-child {
    border-radius: 5px 0 0 0;
}

table.analytics_table tr:first-child>*:last-child {
    border-radius: 0 5px 0 0;
}

table.analytics_table tr:last-child>*:first-child {
    border-radius: 0 0 0 5px;
}

table.analytics_table tr:last-child>*:last-child {
    border-radius: 0 0 5px 0;
}

/*=== //マイページ ===*/
/*=== モーダル ===*/
.modal {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: none;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 2;
}

.modal .inner {
    position: fixed;
    z-index: 2;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 560px;
    background: #fff;
    padding: 30px;
    border-radius: 5px;
    padding-top: 20px;
    text-align: center;
}


.modal .inner p {
    font-size: 16px;
    padding: 20px 0;
}

.modal .inner .sbmit_btn .btn {
    margin: 0 20px;
    margin-top: 30px;
}
.modal .inner .confirmed_btn .btn {
    margin: 0 20px;
    margin-top: 0px;
}

.modal .inner a.close {
    color: #c6c6c6;
    font-size: 24px;
    position: absolute;
    right: 11px;
    top: 0px;
}

.modal .inner a.close_txt {
    display: block;
    width: 100%;
    color: gray;
    margin-top: 30px;
}

.modal .inner table {
    width: 500px;
    margin: 0 auto;
    text-align: left;
}

.modal .inner.add_user {
    padding: 0;
    padding-top: 20px;
}

.modal .inner.add_user table tr>* {
    border: none;
}

.modal .inner.add_user th {
    width: 30%;
    vertical-align: top;
}

.modal .inner.add_user .sbmit_btn .btn {
    margin: 0;
}

.modal .inner.add_user .sbmit_btn p {
    padding-bottom: 10px;
    padding-top: 0;
}

.modal .inner.add_user .sbmit_btn {
    border-top: 1px #ccc solid;
    margin-top: 30px;
    padding: 0 30px;
    padding-bottom: 30px;
    padding-top: 20px;
}
.modal .inner.add_user .confirmed_btn .btn {
    margin: 0;
}

.modal .inner.add_user .confirmed_btn p {
    padding-bottom: 10px;
    padding-top: 0;
}

.modal .inner.add_user .confirmed_btn {
    margin-top: 0px;
    padding: 0 30px;
    padding-bottom: 30px;
    padding-top: 20px;
}

.modal .inner.add_user h3 {
    margin-bottom: 30px;
}

.modal .inner p.attention {
    font-size: 12px;
    color: #ec0000;
    padding: 5px 0;
}

.modal .inner p.attention:before {
    content: "\f071";
    font-family: "Font Awesome 6 Free";
    font-weight: bold;
    margin-right: 3px;
}

.modal .inner input[type="file"] {
    text-align: left;
    display: block;
    margin-top: 10px;
}

.modal .inner img {
    max-width: 100px;
}
.modal .inner .btn.orange {
    background: #E7A600;
    border-color: #E7A600;
}

/*=== //モーダル ===*/
/*===  ===*/
table#sortable-table tbody tr>* {
    padding: 10px 10px;
    border-bottom: none;
    vertical-align: middle;
}

table#sortable-table tbody tr {
    border-bottom: 10px #f6f6f6 solid;
}

table#sortable-table tbody tr td:first-child {
    border-radius: 10px 0 0 10px;
}

table#sortable-table tbody tr td:last-child {
    border-radius: 0 10px 10px 0;
}

table#sortable-table {
    border-collapse: separate;
    border-spacing: 0 8px;
}

table#sortable-table thead th {
    border: none;
}

table#sortable-table thead:after {
    display: none;
}

td.sort_btn:hover {
    cursor: all-scroll;
}

.contact_view {
    padding: 50px;
    border: 1px #ddd solid;
    border-radius: 5px;
    margin-top: 20px;
}

/*=== // ===*/

/*===  ===*/
img.preview-image {
    width: 100%;
    max-width: 300px;
}
.file-upload {
    width: 45%;
    display: inline-block;
    margin-bottom: 20px;
    position: relative;
}
.file-upload input[type="text"] {
    margin-top: 10px;
    max-width: 200px;
}
.file-preview-container {
    position: relative;
    max-width: 250px;
    width: 100%;
    height: 180px;
    padding: 0px;
    background: #fff;
    border: 1px #ccc solid;
    margin-bottom: 10px;
}
.file-preview-container button {
    background: transparent;
    border: none;
    font-size: 20px;
    position: absolute;
    top: 0px;
    right: -27px;
    width: 20px;
    height: 20px;
    background: #000;
    border-radius: 50px;
}
.file-preview-container button:before {
    content: "\f00d";
    font-family: "Font Awesome 6 Free";
    font-weight: bold;
    color: #fff;
    font-size: 13px;
    position: relative;
    top: -8px;
    right: -1px;
}

.form_table.assignment ul li input {
    width: 75%;
    margin-bottom: 10px;
}

.file-preview-container img.preview-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    text-align: center;
    display: block;
    padding: 0;
}
/*=== // ===*/


#overlay {
    position: fixed;
    display: none;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 10000;
    cursor: pointer;
    text-align: center;
}

#overlay img {
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 60px;
    height: 60px;
}

.loader,
.loader:after {
    border-radius: 50%;
    width: 7em;
    height: 7em;
}

.loader {
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    font-size: 10px;
    text-indent: -9999em;
    border-top: 1.1em solid rgba(255, 255, 255, 0.2);
    border-right: 1.1em solid rgba(255, 255, 255, 0.2);
    border-bottom: 1.1em solid rgba(255, 255, 255, 0.2);
    border-left: 1.1em solid #ffffff;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation: load8 1.1s infinite linear;
    animation: load8 1.1s infinite linear;
}

@-webkit-keyframes load8 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes load8 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

a,i{
    cursor: pointer;
}

.no_confirmation{
    color: red;
}

#smartphone_area{
    background: #eee;
    padding: 10px 0;
}
#smartphone{
    margin: 0 auto;
    border: 2px solid #aaa;
    width: 360px;
    height: 620px;
    background: #fff;
}

#smartphone .header {
    background-color: #fff;
    height: 27px;
    display: flex;
    align-items: center;
    padding: 10px 20px;
    border-bottom: 1px solid #e0e0e0;
    justify-content: center;
    position: relative;
}

#smartphone .back-button {
    background: none;
    border: none;
    font-size: 14px;
    cursor: pointer;
    color: #0066ff;
    position: absolute;
    left: 12px;
}

#smartphone .title-text {
    width: 100%;
    text-align: center;
    margin-left: auto;
    font-size: 16px;
    font-weight: bold;
    color: #0066ff;
}

#smartphone .smartphone-body {
    background-color: #fff;
    margin-top: 0px;
    padding: 10px 0;
    max-height: calc(100% - 80px); /* #smartphone の高さからヘッダーの高さを引いた値に設定します。 */
    overflow-y: auto;
    padding-bottom: 20px;
}

.smartphone-body .body-item {
    padding: 10px 20px;
    border-bottom: 1px solid #0066ff;
    word-break: break-all;
}

/* 最後の項目のボーダーを取り除く */
.smartphone-body .body-item:last-child {
    border-bottom: none;
    border-bottom: 1px solid #0066ff;
}

#smartphone .sp_announce_detail{
    text-align: left;
    padding: 10px;
}

.itemname_area th,.itemname_area td{
    padding: 10px;
}

#smartphone .smartphone-body2 {
    background-color: #fff;
    margin-top: 0px;
    padding: 0px 0 10px 0;
    max-height: calc(100% - 80px); /* #smartphone の高さからヘッダーの高さを引いた値に設定します。 */
    overflow-y: auto;
    padding-bottom: 20px;
}
.smartphone-body2 .body-item-title {
    background-color: #3cb1f7;
    color: white;
    padding: 5px;
    word-break: break-all;
    text-align: left;
}
.smartphone-body2 .body-item-contents {
    margin: 0 5px;
    height: 100px;
    word-break: break-all;
    text-align: left;
    overflow: hidden; /* はみ出した内容を非表示にする */
}

#smartphone .smartphone-body3 {
    background-color: #fff;
    margin-top: 0px;
    padding: 0px 15px 0px 15px;
    max-height: calc(100% - 80px); /* #smartphone の高さからヘッダーの高さを引いた値に設定します。 */
    overflow-y: auto;
    padding-bottom: 20px;
}
.modal .inner .smartphone-body3 p{
    font-size: 16px;
    padding: 10px 0;
}

.image-text-container {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
    margin-bottom: 10px;
}

.image-text {
    text-align: center;
    width: calc(33.33% - 10px); /* 3列の際の横幅を均等にし、間隔を考慮 */
}

.image-text .image-box {
    width: 100%;
    height: 65px;
}
.image-text img {
    object-fit: contain;
    width: 100%;
    height: 100%;
}

.question-text{
    text-align: left;
    margin-bottom: 10px;
}

.radio-text-container {
    display: flex;
    align-items: center;
    padding: 10px 0;
}

.radio-text {
    text-align: left;
    flex: 1;
    border-bottom: 1px solid #3cb1f7;
    margin-left: 10px;
    padding: 5px 0;
}

.radio-input {
    margin-right: 10px;
}