@charset "utf-8";

/* @media screen and (min-width: 855px) {  } */
/* @media screen and (min-width: 641px) and (max-width: 854px) {  } */
/* @media screen and (min-width: 480px) and (max-width: 640px) {  } */
@media screen and (max-width: 1440px) {
  /* chrome確認用 */
}
@media screen and (max-width: 320px) {
  /* chrome確認用 */
}

@media screen and (max-width: 1024px) {
  .container {
    padding: 0 16px;
  }

  .header {
    padding: 24px 0;
  }

  body.input_topics .topics_regist_table .table {
    min-width: unset;
  }
}

@media screen and (max-width: 768px) {
  .scroll {
    overflow-x: auto;
    white-space: nowrap;
  }

  body.admin-users .users_search input[type='text'] {
    width: 65%;
  }

  body.reports .report_table_wrap .flex {
    flex-direction: column;
    align-items: flex-start;
  }

  .sp_off {
    display: none;
  }

  .header_sp.pc_off {
    display: block;
    top: 0;
    z-index: 999;
    width: 100%;
  }

  body.signin:not(.home) h1,
  body.reminder h1,
  body.reminder-set h1,
  body.reminder-done h1 {
    padding: 20px 0 30px;
    max-width: 300px;
  }

  body.signin:not(.home) .main_bg,
  body.reminder .main_bg,
  body.reminder-set .main_bg,
  body.reminder-done .main_bg {
    height: 200px;
  }

  body.signin:not(.home) .main_bg::before,
  body.reminder .main_bg::before,
  body.reminder-set .main_bg::before,
  body.reminder-done .main_bg::before {
    height: 20px;
  }

  body.signin:not(.home) .form_box,
  body.reminder .form_box,
  body.reminder-set .form_box,
  body.reminder-done .form_box {
    padding: 32px 20px;
    margin: -70px auto 24px;
  }

  body.signin:not(.home),
  body.reminder,
  body.reminder-set,
  body.reminder-done {
    min-height: auto;
  }

  body.signin:not(.home) section,
  body.reminder section,
  body.reminder-set section,
  body.reminder-done section {
    padding-top: 0;
  }

  body.signin:not(.home),
  body.reminder,
  body.reminder-set,
  body.reminder-done {
    background: #cce7b2;
  }

  body.signin.home .scroll {
    overflow: visible;
    white-space: normal;
  }

  body.signin.home .home_table {
    display: none;
  }

  body.signin.home .home_topics_list {
    display: block;
    margin-top: 16px;
  }

  body.signin.home .home_topics_item {
    background: #fff;
    padding: 0 16px;
    margin: 8px 16px;
    border-bottom: 1px dotted #116d2c;
  }

  body.form_requests .input_form th {
    width: auto;
  }

  body.form_requests .input_form table.table:not(.equip_table),
  body.form_requests .input_form table.table:not(.equip_table) tbody,
  body.form_requests .input_form table.table:not(.equip_table) tr,
  body.form_requests .input_form table.table:not(.equip_table) th,
  body.form_requests .input_form table.table:not(.equip_table) td {
    display: block;
    width: 100%;
  }

  body.form_requests .input_form table.table:not(.equip_table) tr {
    margin-bottom: 12px;
    border: 1px solid #c1cbcc;
  }

  body.form_requests .input_form table.table:not(.equip_table) th,
  body.form_requests .input_form table.table:not(.equip_table) td {
    border: none;
    padding: 10px;
  }

  body.form_requests .input_form table.table:not(.equip_table) th {
    background: #e6f6ea;
  }

  body.form_requests .input_form table.equip_table {
    border-collapse: separate;
    border-spacing: 0;
  }

  body.form_requests .input_form table.equip_table,
  body.form_requests .input_form table.equip_table tbody,
  body.form_requests .input_form table.equip_table tr,
  body.form_requests .input_form table.equip_table th,
  body.form_requests .input_form table.equip_table td {
    display: block;
    width: 100%;
  }

  body.form_requests .input_form table.equip_table tr {
    margin-bottom: 12px;
    border: 1px solid #c1cbcc;
  }

  body.form_requests
    .input_form
    table.equip_table
    tr.equip_section_start::before {
    content: attr(data-group);
    display: block;
    font-weight: bold;
    padding: 10px;
    background: #f2f2f2;
    border-bottom: 1px solid #c1cbcc;
    text-align: center;
  }

  body.form_requests .input_form table.equip_table th.equip_group {
    display: none;
  }

  body.form_requests .input_form table.equip_table th:not(.equip_group) {
    border: none;
    background: #e6f6ea;
    padding: 10px;
    width: 100% !important;
  }

  body.form_requests .input_form table.equip_table td.equip_check {
    border: none;
    padding: 10px;
    text-align: left;
  }

  body.form_requests .input_form input[type='text'].w-50 {
    width: 100%;
  }

  body.form_requests .input_form input[type='text'].w-140 {
    width: 100%;
  }

  body.signin.home .home_topics_item.emergency {
    /*border: 2px solid #f21237;*/
  }

  body.signin.home .home_topics_meta {
    display: flex;
    align-items: center;
    gap: 10px;
  }

  body.signin.home .home_topics_emergency {
    background: #f21237;
    color: #fff;
    font-weight: bold;
    border-radius: 12px;
    padding: 2px 8px;
    font-size: 1.2rem;
  }

  body.signin.home .home_topics_detail {
    /*margin: 0 0 12px;*/
  }

  body.signin.home .home_topics_files {
    margin: 0;
  }

  body.signin.home .home_topics_empty {
    padding: 12px 0;
  }

  body.payment .scroll {
    overflow: visible;
    white-space: normal;
  }

  body.payment .payment_table {
    display: none;
  }

  body.payment .payment_list {
    display: block;
    margin-top: 16px;
  }

  body.payment .payment_item {
    background: #fff;
    /*border-radius: 12px;*/
    padding: 0 8px 16px 8px;
    /*box-shadow: 6px 6px 12px rgba(1, 34, 10, 0.08);*/
    margin-bottom: 16px;
    border-bottom: 2px solid #116d2c;
  }

  body.payment .payment_block {
    border: 1px solid #116d2c;
  }

  body.payment .payment_label {
    font-weight: bold;
    color: #fff;
    background-color: #116d2c;
    padding-left: 4px;
  }

  body.payment .payment_value {
    text-align: left;
    word-break: break-word;
    padding-left: 4px;
    padding-right: 4px;
  }
  body.payment .payment_block + .payment_block {
    /*margin-top: 10px;*/
  }

  body.reports .scroll {
    overflow: visible;
    white-space: normal;
  }

  body.reports .report_table {
    display: none;
  }

  body.reports .report_list {
    display: block;
    margin-top: 16px;
  }

  body.reports .report_item {
    background: #fff;
    padding: 0 8px 16px 8px;
    margin-bottom: 16px;
    border-bottom: 2px solid #116d2c;
  }

  body.reports .report_row {
    display: flex;
    justify-content: space-between;
    gap: 6px;
    border: 1px solid #116d2c;
  }

  body.reports .report_row + .report_row {
    /*margin-top: 6px;*/
  }

  body.reports .report_row.report_row_header {
    background-color: #116d2c;
  }

  body.reports .report_label {
    font-weight: bold;
    color: #fff;
    background-color: #116d2c;
    padding-left: 4px;
  }

  body.reports .report_value {
    text-align: left;
    word-break: break-word;
    padding-left: 4px;
    padding-right: 4px;
  }

  body.reports .report_row_activity {
    flex-direction: column;
    align-items: flex-start;
  }

  body.reports .report_action {
    display: flex;
    justify-content: flex-end;
  }

  body.reports .report_list a.report_btn {
    display: block;
    color: #fff;
    font-weight: bold;
    background: #5ea11d;
    border-radius: 5px;
    border: 2px solid #5ea11d;
    margin: 4px 4px;
    padding: 0 4px;
  }
  body.reports .report_list a.report_btn.red {
    background: red;
    border: 2px solid red;
  }
  body.reports .report_list .report_btn.none {
    background: #fff;
    border: 2px solid #fff;
    color: #000;
  }

  .header__inner {
    padding: 10px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: inherit;
    position: fixed;
    width: 100%;
    background: rgba(255, 255, 255, 1);
    top: 0;
  }

  /* ヘッダーのナビ部分 */
  .header__nav {
    position: absolute;
    right: 0;
    top: 0;
    width: 110%;
    height: 100vh;
    transform: translateX(100%);
    background-color: rgba(255, 255, 255, 1);
    transition: ease 0.4s;
    z-index: 100;
    padding: 20px;
  }

  .header__nav .logout_btn {
    color: #116d2c;
    font-size: 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    border: 2px solid #116d2c;
    border-radius: 20px;
    width: 35%;
    padding: 5px;
    position: relative;
  }

  .header__nav .logout_btn::before {
    content: '';
    margin-right: 5px;
    width: 28px;
    height: 25px;
    background: url(/assets/images/icon_logout.png) center / contain no-repeat;
  }

  .header__nav .logout_btn:hover {
    color: #fff;
    background: #116d2c;
  }

  .header__nav .logout_btn:hover::before {
    background: url('/assets/images/icon_logout_white.png') center / contain
      no-repeat;
  }

  .header__nav p.login_name {
    margin-top: 10px;
  }

  .nav-items__item {
    margin-top: 10px;
    border-bottom: 2px solid #116d2c;
    padding: 5px;
  }

  .nav-items__item a {
    color: #212121;
  }

  section {
    padding-top: 80px;
  }

  .topics_regist_table .table {
    width: 100%;
  }

  body.input_topics .topics_regist_table .table {
    min-width: none;
  }

  body.input_topics .topics_regist_table th,
  body.input_topics .topics_regist_table td {
    display: block;
    width: 100%;
  }

  body.schedule .schedule_txt {
    margin-right: 0;
    margin-bottom: 30px;
  }

  body.schedule button.schedule_regit.sp_off {
    display: none;
  }

  body.schedule .fixed_btn.pc_off {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    display: block;
  }

  body.schedule .fixed_btn.pc_off button {
    border: 2px solid #fff;
    font-weight: bold;
    background: #f1a020;
    font-size: 2.5rem;
    color: #fff;
    padding: 20px 30px;
    border-radius: 10px;
    margin: 10px auto;
    display: block;
    box-shadow: 8px 8px 15px 1px rgba(1, 34, 10, 0.1);
  }

  body.schedule .fixed_btn.pc_off button:hover {
    border: 2px solid #f1a020;
    background: #fff;
    color: #f1a020;
  }

  body.schedule p.schedule_change_txt {
    margin: 0 auto;
    text-align: center;
  }

  body.schedule .subttl.sp_off {
    display: none;
  }

  body.schedule .fixed_btn.pc_off .schedule_change_txt button {
    font-size: 2rem;
    border: 2px solid #212121;
    background: #fff;
    color: #212121;
    padding: 0px 10px;
    border-radius: 5px;
    display: inline-block;
  }

  body.schedule .schedule_table_wrap {
    padding-bottom: 200px;
  }

  body.schedule .fixed_btn {
    background: rgba(255, 255, 255, 0.8);
  }

  body.schedule .schedule_date {
    display: block;
    width: 100%;
  }

  body.schedule .schedule_ampm {
    display: inline-block;
    width: calc(100% / 3);
  }

  body.schedule .schedule_main_table table td {
    display: block;
    width: 100%;
  }

  body.schedule .schedule_main_table table.table {
    min-width: unset;
  }

  body.reports-detail table.report_info_table th,
  body.reports-detail table.report_time_table th {
    display: block;
    width: 100%;
  }

  body.reports-detail .report_info_table td,
  body.reports-detail table.report_time_table td {
    display: block;
    width: 100%;
    text-align: center;
  }

  body.reports-detail .report_info_table td.status {
    width: 100%;
  }

  body.reports-detail .route_wrap.flex {
    flex-direction: column;
  }

  body.reports-detail .route_list li .route_wrap .route_type {
    width: 100%;
    margin-bottom: 5px;
  }

  body.reports-detail .route_list li .route_wrap .route_money {
    display: block;
    margin: 0;
  }

  body.reports-detail .report_next p {
    margin-bottom: 10px;
  }

  body.reports-detail .report_next p input {
    width: 60%;
  }

  body.reports-detail .report_next div {
    width: 100%;
  }

  body.reports-detail .route_list span {
    margin: 0 10px;
  }

  body.consults table tr td,
  body.consults table tr th {
    width: 100%;
    display: block;
  }

  body.consults table tr:nth-child(even) td,
  body.consults table tr:nth-child(even) th {
    border-bottom: 1px solid #c1cbcc;
  }

/*  body.consults table tr:nth-child(even) td:last-child {
    border-bottom: 2px solid #212121;
  }*/
}

@media screen and (max-width: 667px) {
  body.signin .home_minilink_wrap li {
    width: 100%;
    margin-bottom: 20px;
  }

  body.signin .home_minilink_wrap li a {
    text-align: left;
  }

  .report_table_wrap a.report_search_btn {
    width: 50px;
  }

  body.reports .report_search input {
    margin: 0 5px;
    width: 6em;
  }

  body.payment .payment_search {
    justify-content: flex-start;
  }

  body.payment .payment_search input {
    margin: 0 5px;
    width: 6em;
  }

  .header__nav .logout_btn {
    font-size: 1.5rem;
  }

  .header__nav .logout_btn::before {
    width: 22px;
    height: 22px;
  }

  body.schedule .control div:nth-child(2) {
    width: 50%;
  }

  body.reports-detail .report_content textarea {
    width: 100%;
  }

  .report_content .report_attachments {
    width: 100%;
  }

  body.reports-detail textarea.rereport {
    width: 100%;
    margin-left: 0;
  }
}

@media screen and (max-width: 480px) {
  body.signin .form_box button,
  body.reminder .form_box button,
  body.reminder-set .form_box button,
  body.schedule button.schedule_regit {
    width: 100%;
  }

  body.schedule .control div:nth-child(2) {
    width: 65%;
  }

  body.schedule .schedule_table_wrap {
    padding-bottom: 230px;
  }
}

@media screen and (max-width: 365px) {
}

@media screen and (min-width: 960px) {
  .header__nav {
    position: static;
    transform: initial;
    background-color: inherit;
    height: inherit;
    display: flex;
    justify-content: end;
    width: 50%;
  }
}

/* ハンバーガーメニュー */
.header__hamburger {
  width: 48px;
  height: 100%;
}

.hamburger {
  background-color: transparent;
  border-color: transparent;
  z-index: 9999;
}

@media screen and (min-width: 960px) {
  .hamburger {
    display: none;
  }
}

.hamburger span {
  width: 100%;
  height: 2px;
  background-color: #116d2c;
  position: relative;
  transition: ease 0.4s;
  display: block;
}

.hamburger span:nth-child(1) {
  top: 0;
}

.hamburger span:nth-child(2) {
  margin: 8px 0;
}

.hamburger span:nth-child(3) {
  top: 0;
}

/* ハンバーガーメニュークリック後のスタイル */
.header__nav.active {
  transform: translateX(50%);
}

.hamburger.active span:nth-child(1) {
  top: 5px;
  transform: rotate(45deg);
}

.hamburger.active span:nth-child(2) {
  opacity: 0;
}

.hamburger.active span:nth-child(3) {
  top: -13px;
  transform: rotate(-45deg);
}
