@charset "UTF-8";
/*********************************
　不動産仲介　業務システム用　仲介業者
*********************************/
/*---------------------------------------
共通項目
------------------------------------------*/
html {
  width: 100%;
  height: 100%;
  font-size: 62.5%;
  margin: 0; }

*, :before, :after {
  box-sizing: border-box; }

body {
  font-family: "Noto Sans Japanese", sans-serif;
  color: #515255;
  font-size: 1rem;
  line-height: 1.6;
  margin: 0;
  padding: 0; }

ul, ol {
  list-style: none;
  margin: 0;
  padding: 0; }

input, textarea, select, button {
  font-size: inherit;
  font-family: "Noto Sans Japanese", sans-serif;
  color: #515255;
  padding: 0; }

a {
  color: inherit;
  text-decoration: none; }
  a:hover {
    color: inherit;
    text-decoration: none; }

p {
  margin: 0; }

i {
  font-style: normal; }

input::placeholder, textarea::placeholder {
  font-size: 1.4rem;
  color: #B3B3B3;
  font-weight: normal; }

textarea {
  resize: none; }

select::-ms-expand {
  display: none; }

table {
  width: 100%;
  border: 0;
  border-collapse: collapse;
  font-size: 1.4rem;
  background: #fff;
  margin-bottom: 20px;
  table-layout: fixed; }
  table:last-child {
    margin-bottom: 0; }
  table td, table th {
    height: 50px;
    padding: 10px; }
  table td {
    border-top: 1px solid rgba(128, 128, 128, 0.3);
    border-right: 1px solid rgba(128, 128, 128, 0.3);
    position: relative; }
  table th {
    width: 180px;
    color: #fff;
    font-weight: normal;
    background: #515255;
    text-align: left;
    border-top: 1px solid rgba(128, 128, 128, 0.3);
    position: -webkit-sticky;
    position: sticky;
    left: 0;
    z-index: 1; }
  table tr:first-child td, table tr:first-child th {
    /*border-top: none;*/
  }
  table p {
    white-space: normal; }

.w50 {
  width: 50px; }

.w60 {
  width: 60px; }

.w70 {
  width: 70px; }

.w80 {
  width: 80px; }

.w90 {
  width: 90px; }

.w100 {
  width: 100px;
}
.w110 {
  width: 110px;
}
.w120 {
  width: 120px;
}
.w130 {
  width: 130px;
}
.w140 {
  width: 140px;
}
.w150 {
  width: 150px;
}
.w160 {
  width: 160px;
}
.w170 {
  width: 170px;
}
.w180 {
  width: 180px;
}
.w190 {
  width: 190px;
}
.w200 {
  width: 200px; }

.w220 {
  width: 220px; }

.w250 {
  width: 250px; }

.w260 {
  width: 260px; }

.w280 {
  width: 280px; }

.w300 {
  width: 300px; }

.w330 {
  width: 330px; }

.w340 {
  width: 340px; }

.w345 {
  width: 345px; }

.w350 {
  width: 350px; }

.w400 {
  width: 400px; }

.w450 {
  width: 450px; }

.w500 {
  width: 500px; }

.w600 {
  width: 600px; }

button {
  margin: 0;
  padding: 0;
  border: none;
  background: none; }

.disable {
  pointer-events: none;
  opacity: 0.5;
  background: #eee; }

table.hide, table.hide, table .hide {
  display: none; }

.table_content.start {
  overflow: visible; }

.mb10 {
  margin-bottom: 10px; }

*:focus {
  outline: none; }

::-webkit-scrollbar {
  display: none; }

/*---------------------------------------
ヘッダー
------------------------------------------*/
header {
  width: 100%;
  height: 100px;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 3; }

a#logo {
  width: 257px;
  height: 50px;
  display: block;
  margin-left: 20px; }

.login-user {
  display: flex;
  align-items: center;
  font-size: 14px;
  letter-spacing: 0.1em;
  margin-right: 30px; }

.accbox {
  height: 30px; }
  .accbox span img {
    vertical-align: middle; }

/*ログインユーザ名*/
.login-userName {
  min-width: 120px;
  margin-left: 10px;
  color: #515255;
  text-decoration: none;
  margin-bottom: 0;
  position: relative; }
  .login-userName:after {
    content: "";
    width: 6px;
    height: 6px;
    border-right: 1px solid #515255;
    border-bottom: 1px solid #515255;
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    transform: rotate(45deg) translate(-50%, -50%); }
  .login-userName:hover {
    color: #515255;
    text-decoration: none; }

/* チェックボックスを非表示 */
#my_modal1 {
  display: none; }

/* モーダル */
.my_modal_body1 {
  display: none;
  position: fixed;
  z-index: 1000;
  top: 20px;
  right: 0;
  text-align: left;
  padding: 20px 0 0 20px; }
  .my_modal_body1 ul {
    padding: 0;
    list-style: none;
    position: relative;
    z-index: 1; }
    .my_modal_body1 ul li {
      font-size: 1.4rem;
      line-height: 1;
      margin-bottom: 15px; }
      .my_modal_body1 ul li:last-child {
        margin-bottom: 0; }

/* 背景を暗くする */
.my_modal_overlay {
  display: none;
  position: fixed;
  z-index: 100;
  right: 0;
  bottom: 0;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto; }

/* チェック時オーバーレイとコンテンツを表示 */
#my_modal1:checked ~ .my_modal_body1, #my_modal1:checked ~ .my_modal_overlay {
  display: block; }

/*********************
バルーン型モーダル
**********************/
.balloon {
  width: 150px;
  height: 110px;
  position: absolute;
  top: 75px;
  right: 30px; }
  .balloon:before {
    content: "";
    width: 20px;
    height: 10px;
    background: url(../img/top/bubble.svg) no-repeat center center;
    background-size: 20px 10px;
    position: absolute;
    top: -10px;
    left: 56px;
    filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.3)); }
  .balloon:after {
    content: "";
    width: 150px;
    height: 80px;
    background: #fff;
    border-radius: 5px;
    box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
    position: absolute;
    top: 0;
    left: 0; }

.my_modal_btn {
  cursor: pointer; }

/*---------------------------------------
サイドメニュー
------------------------------------------*/
.sidemenu {
  width: 150px;
  height: calc(100vh - 100px);
  background: #62AFE2;
  overflow-y: scroll;
  position: fixed;
  top: 100px;
  left: 0;
  z-index: 1; }
  .sidemenu ul {
    width: 100%;
    margin: 0;
    padding: 0; }
    .sidemenu ul li {
      width: 100%;
      height: 95px;
      font-size: 1.3rem;
      color: #fff;
      list-style: none;
      text-align: center;
      border-bottom: 1px solid rgba(255, 255, 255, 0.3);}
      .sidemenu ul li a {
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center;
      }
      .sidemenu ul li a.active {
        background: #032274;
      }
      .sidemenu ul li img {
        padding: 10px 0;
      }
      .sidemenu ul li i {
        padding: 0 10px;
      }
      .sidemenu ul.sub {
        margin: 50px 0 20px 0;
      }
      .sidemenu ul.sub li {
        border-bottom: none;
        height: 80px;
      }

/*---------------------------------------
見出し
------------------------------------------*/
.title_content {
  width: 100%;
  display: flex;
  align-items: center;
  position: relative;
  margin-bottom: 15px;
  letter-spacing: 0.1em; }
  .title_content h1 {
    font-size: 1.8rem;
    line-height: 1.6;
    font-weight: bold;
    color: #515255;
    margin: 0; }
  .title_content.under {
    display: block;
    text-align: center;
    margin: 50px auto; }
  .title_content.db {
    display: block;
    margin-bottom: 5px; }
    .title_content.db .sub_menu {
      flex-wrap: wrap;
      margin-top: 25px; }
      .title_content.db .sub_menu li {
        margin: 0 15px 10px 0; }
        .title_content.db .sub_menu li:last-child {
          margin: 0 0 10px auto; }
    .title_content.db span {
      margin-right: 10px; }
    .title_content.db input {
      height: 30px;
      line-height: 30px;
      border: 1px solid #515255;
      border-radius: 3px;
      padding: 5px 10px; }
      .title_content.db input:focus {
        outline: none;
        border: 1px solid #62AFE2; }
    .title_content.db .selectbox {
      margin-left: 0; }
    .title_content.db button {
      width: 135px;
      height: 30px;
      color: #032274;
      text-align: center;
      background: #fff;
      border: 1px solid #032274;
      border-radius: 15px;
      margin-left: 10px; }
      .title_content.db button.update {
        width: 50px;
        height: 26px;
        border-radius: 5px;
        text-align: center;
        color: #fff;
        background: #032274;
        border: none;
        padding: 0;
        margin: 0;
        box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
        cursor: pointer; }

.register {
  line-height: 2;
  margin: 0 0 0 25px;
  color: #515255;
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  text-decoration: none; }
  .register img {
    margin-right: 5px;
    display: inline-block; }
  .register:hover {
    color: #515255;
    text-decoration: none; }

/*---------------------------------------
レイアウト（全体）
------------------------------------------*/
.container {
  width: 100%;
  margin: 0;
  padding: 100px 0 0 0;
  -ms-overflow-style: none;
  scrollbar-width: none; }
  .container.login {
    padding-top: 0; }
    .container.login main {
      padding-left: 0; }
    .container.login .content {
      height: 100vh;
      background: url("../img/login/bg_logo.svg") no-repeat left center, #052275;
      background-size: cover;
      justify-content: center;
      align-items: center; }
    .container.login h1 {
      margin: 0 auto; }
    .container.login img {
      display: block;
      margin: 0 auto; }
      .container.login img.mt60 {
        margin-top: 60px; }
    .container.login p {
      font-size: 1.6rem;
      color: #fff;
      letter-spacing: 0.1em;
      margin: 10px auto 30px auto;
      text-align: center; }
    .container.login ul li {
      margin-bottom: 20px;
      position: relative; }
      .container.login ul li:last-child {
        margin-top: 50px;
        margin-bottom: 0; }
      .container.login ul li .input_content {
        position: relative; }
        .container.login ul li .input_content:before {
          content: "";
          width: 16px;
          height: 20px;
          position: absolute;
          top: 15px;
          left: 20px; }
        .container.login ul li .input_content.name:before {
          background: url(../img/login/username.svg) no-repeat center center;
          background-size: 16px 20px; }
        .container.login ul li .input_content.pass:before {
          background: url(../img/login/password.svg) no-repeat center center;
          background-size: 16px 20px; }
        .container.login ul li .input_content.mail:before {
          width: 20px;
          height: 14px;
          background: url(../img/login/mail.svg) no-repeat center center;
          background-size: 20px 14px;
          top: 18px; }
      .container.login ul li input {
        width: 400px;
        height: 50px;
        font-size: 1.4rem;
        letter-spacing: 0.1em;
        border: none;
        padding: 10px 20px 10px 50px;
        border-radius: 25px;
        box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3); }
        .container.login ul li input[type="submit"] {
          font-size: 1.8rem;
          font-weight: bold;
          text-align: center;
          color: #fff;
          text-align: center;
          background: #62AFE2;
          padding: 0; }
        .container.login ul li input:focus {
          outline: none;
          border: 1px solid #62AFE2; }
      .container.login ul li label {
        margin-top: 10px;
        display: block; }
      .container.login ul li p.error {
        font-size: 1.2rem;
        color: #F00;
        text-align: center;
        margin: 10px auto 0 auto;
        display: none; }
      .container.login ul li .forget {
        font-size: 1.2rem;
        margin: 15px 0 0 0; }
      .container.login ul li .register {
        font-size: 1.2rem;
        display: block;
        margin: 5px 0 0 0; }
      .container.login ul li .forget a, .container.login ul li .register a {
        text-decoration: underline; }
      .container.login ul li .register a {
        margin-left: 5px; }
      .container.login ul li .red {
        font-size: 1.2rem;
        color: #F00; }
      .container.login ul li span {
        display: block;
        font-size: 1.4rem;
        letter-spacing: 0.1em;
        color: #fff;
        margin-bottom: 10px; }
    .container.login .message {
      margin-top: 100px; }
    .container.login a.next {
      width: 400px;
      height: 50px;
      border-radius: 25px;
      font-size: 1.6rem;
      line-height: 50px;
      text-align: center;
      color: #fff;
      letter-spacing: 0.1em;
      margin: 60px auto 0 auto;
      background: #62AFE2;
      box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3);
      display: block; }

main {
  padding-left: 150px; }

.content {
  width: 100%;
  min-height: calc(100vh - 100px);
  background-color: #f2f2f2;
  padding: 20px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center; }

/*---------------------------------------
管理者トップ
------------------------------------------*/
.top {
  height: 100vh; }
  .top main {
    height: 100%;
    background: #F2F2F2;
    position: relative; }
    .top main:before {
      content: "";
      width: 150px;
      height: 100%;
      background: #fff;
      position: absolute;
      top: 0;
      left: 0; }
    .top main .wrapper {
      margin: 0 150px 40px 0; }

.mv {
  height: 45%;
  min-height: 300px;
  background: #052275;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center; }
  .mv img {
    display: block;
    margin: 0 auto 15px auto; }
  .mv p {
    color: #fff;
    text-align: center;
    font-size: 1.8rem; }
  .mv i {
    margin-right: 10px; }

.topmenu {
  background: #fff;
  padding-bottom: 40px;
  margin-top: -75px; }
  .topmenu ul {
    display: flex;
    justify-content: center;
    margin-right: 150px; }
    .topmenu ul li {
      font-size: 1.4rem;
      box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3);
      position: relative; }
    .topmenu ul.main li {
      background: #fff;
      width: 150px;
      height: 150px;
      margin: 0 35px; }
    .topmenu ul.main img {
      position: absolute;
      top: calc(50% - 20px);
      left: 50%;
      transform: translate(-50%, -50%) scale(1.2); }
    .topmenu ul.main span {
      width: 100%;
      text-align: center;
      position: absolute;
      bottom: 30px; }
    .topmenu ul.sub {
      margin-top: 40px; }
      .topmenu ul.sub li {
        width: 200px;
        height: 50px;
        border-radius: 0;
        margin: 0 15px;
        box-shadow: none; }
      .topmenu ul.sub span {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); }
      .topmenu ul.sub img {
        margin-right: 10px;
        transform: scale(1.2); }
    .topmenu ul a {
      width: 100%;
      height: 100%;
      display: block; }

.topics_content {
  background: #F2F2F2;
  padding: 30px 0; }
  .topics_content .wrap {
    display: flex;
    align-items: baseline;
    justify-content: center;
    margin-right: 150px; }
  .topics_content p {
    width: 8em;
    min-width: 8em;
    font-size: 1.6rem;
    position: relative; }
    .topics_content p:after {
      content: "";
      width: 8px;
      height: 8px;
      border-top: 2px solid #62AFE2;
      border-right: 2px solid #62AFE2;
      display: block;
      position: absolute;
      top: 50%;
      right: 2em;
      transform: translate(-50%, -50%) rotate(45deg); }
  .topics_content ul li {
    display: flex;
    font-size: 1.4rem;
    margin-bottom: 1em; }
    .topics_content ul li:last-child {
      margin-bottom: 0; }
    .topics_content ul li div {
      margin-right: 8px;
    }
    .topics_content ul li div:last-child {
      margin-right: 0;
    }
/*---------------------------------------
物件/ニーズ登録
------------------------------------------*/
.table_content {
  width: 100%;
  display: block;
  overflow: scroll;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch; }
  .table_content.noscroll {
    overflow: auto;
    white-space: normal; }
    .table_content.noscroll table {
      table-layout: auto; }

table.needs th {
  min-width: 180px;
  position: relative; }

table.needs td {
  white-space: normal;
  border-right: none; }

table.needs.list {
  table-layout: auto; }
  table.needs.list td {
    border-right: 1px solid rgba(128, 128, 128, 0.3); }
    table.needs.list td:last-child {
      border-right: none; }

table .required {
  width: 40px;
  height: 20px;
  font-size: 12px;
  line-height: 20px;
  text-align: center;
  background: #C1272D;
  border-radius: 5px;
  position: absolute;
  top: 0;
  right: 10px;
  bottom: 0;
  margin: auto; }

table input[type="date"], table input[type="text"] {
  height: 30px;
  border: 1px solid #515255;
  border-radius: 3px;
  padding: 5px 10px; }
  table input[type="date"]::placeholder, table input[type="text"]::placeholder {
    color: #B3B3B3; }
  table input[type="date"]:focus, table input[type="text"]:focus {
    outline: none;
    border: 1px solid #62AFE2; }

table input[type="radio"] {
  margin-right: 5px; }

table img {
  display: inline-block;
  margin-left: 10px;
  vertical-align: top; }

  table ol {
    display: flex;
    /*flex-wrap: wrap;*/
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    margin-top: 10px;
  }
  table ol:first-child {
    margin-top: 0;
  }
  table ol li {
    display: flex;
    align-items: center;
    margin-right: 10px;
    position: relative; }
    table ol li label {
      margin-bottom: 0;
      display: flex;
      align-items: center; }
      table ol li label + label {
        margin-left: 10px; }
      table ol li label + span {
        margin-right: 0; }
    table ol li span {
      display: inline-block;
      margin-right: 15px; }
    table ol li .city_names {
      margin-left: 15px;
      white-space: normal;
      border: none;
    }
  table ol.area {
    display: block; }
  table ol .ml15 {
    vertical-align: baseline;
    margin-right: 0; }
  table ol i {
    font-style: normal;
    margin: 0 10px; }
  table ol.d_list {
    display: list-item; }
    table ol.d_list li {
      margin-bottom: 10px; }
      table ol.d_list li:last-child {
        margin-bottom: 0; }
      table ol.d_list li .wa {
        width: auto; }
      table ol.d_list li span {
        width: 5em; }
      table ol.d_list li input {
        margin-right: 5px; }
      table ol.d_list li label {
        display: inline-block;
        vertical-align: middle;
        margin-left: 6em; }
      table ol.d_list li .ml0 {
        margin-left: 0; }
      table ol.d_list li.area-city {
        display: block; }
        table ol.d_list li.area-city > label {
          margin-left: 0; }
      table ol.d_list li .area-block {
        display: flex;
        align-items: center; }

table div.use_select {
  display: flex;
  align-items: center; }
  table div.use_select .zoning_names {
    margin-left: 15px;
    white-space: normal;
    border: none;
  }

table button {
  width: 150px;
  height: 30px;
  text-align: center;
  line-height: 28px;
  margin: 0;
  padding: 0;
  display: block;
  color: #515255;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
  background: none;
  border: 1px solid #515255;
  border-radius: 15px; }
  table button.bl {
    color: #62AFE2;
    border-color: #62AFE2; }
  table button.area_select, table button.use_select {
    min-width: 150px; }

table .selectbox {
  display: inline;
  position: relative; }
  table .selectbox:after {
    content: "";
    width: 6px;
    height: 6px;
    border-right: 1px solid #515255;
    border-bottom: 1px solid #515255;
    transform: rotate(45deg) translate(-50%, -50%);
    position: absolute;
    top: 50%;
    right: 10px; }
  table .selectbox select {
    height: 30px;
    border-radius: 3px;
    padding: 0 10px;
    border: 1px solid #515255;
    color: #515255;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    -o-appearance: none;
    -ms-appearance: none; }
    table .selectbox select:-ms-expand {
      display: none; }
    table .selectbox select:focus {
      outline: none; }

table .number input[type="number"] {
  height: 30px;
  border-radius: 3px;
  padding: 0 10px;
  border: 1px solid #515255;
  color: #515255;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -o-appearance: none;
  -ms-appearance: none; }
  table .number input[type="number"]:-ms-expand {
    display: none; }
  table .number input[type="number"]:focus {
    outline: none; }
  table .number input[type="number"]::-webkit-outer-spin-button, table .number input[type="number"]::-webkit-inner-spin-button {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    -o-appearance: none;
    -ms-appearance: none;
    margin: 0; }

table .ml15 {
  margin-left: 15px;
  display: inline-block;
  vertical-align: middle; }

table .upload_content {
  display: flex;
  align-items: center; }
  table .upload_content span {
  /*margin-left: 15px;*/ }

table .upload_content {
  display: flex;
  align-items: center; }
  table .upload_content input[type="file"] {
    display: none; }
  table .upload_content label {
    width: 150px;
    height: 30px;
    line-height: 28px;
    text-align: center;
    margin: 0;
    padding: 0;
    color: #515255;
    box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
    background: none;
    border: 1px solid #515255;
    margin-right: 15px;
    border-radius: 15px; }
    table .upload_content label.chnaged:after {
      content: ""; }
  table .upload_content span {
  }
  table .upload_content .filename {
    font-size: 1.4rem; }
  table .upload_content .attached_pdf,
  table .upload_content .detached_pdf {
    align-items: center;
  }
  table .upload_content .attached_pdf button {
    width: inherit;
    padding: 0 25px;
    width: 150px;
    border-color: blue;
    margin-right: 10px;
  }

table .upload {
  width: 150px;
  height: 30px;
  line-height: 28px;
  text-align: center;
  margin: 0;
  padding: 0;
  color: #515255;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
  background: none;
  border: 1px solid #515255;
  border-radius: 15px; }

table .vt {
  vertical-align: top; }

table textarea {
  width: 100%;
  height: 80px;
  line-height: 1.4;
  padding: 5px 10px;
  border: 1px solid #515255;
  border-radius: 3px;
  vertical-align: middle; }
  table textarea:focus {
    outline: none; }

table .m15 {
  display: inline-block;
  vertical-align: middle;
  margin: 0 15px; }

.button_area {
  display: flex;
  justify-content: center;
  font-size: 1.4rem;
  padding: 0 0 20px 0; }
  .button_area.pb10 {
    padding-bottom: 10px; }
  .button_area button, .button_area .back, .button_area .confirm {
    width: 250px;
    height: 50px;
    line-height: 50px;
    color: #032274;
    text-align: center;
    border-radius: 25px;
    border: 1px solid #032274;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3);
    background: #fff;
    margin: 0 15px; }
    .button_area .confirm, .button_area .back.confirm, .button_area .confirm {
      color: #fff;
      background: #62AFE2;
      border-color: #62AFE2; }
      /*
    .button_area button.back, .button_area .back.back, .button_area .confirm.back {
      color: #032274;
      border-color: #032274; }
      */
    .button_area .confirm[disabled], .button_area .back.confirm[disabled], .button_area .confirm[disabled], .before_login_button_area .btn-default-disabled.confirm[disabled]{
      color: #999;
      background: #ccc;
      border-color: #ccc; }
  .button_area button, .button_area a {
    cursor: pointer; }
  .button_area button[disabled], .button_area a[disabled] {
    cursor: not-allowed; }
  .button_area .confirm {
    padding: 0;
    cursor: pointer; }
  .button_area.bgwh {
    width: 100%;
    background: #fff;
    padding-bottom: 80px; }
  .button_area .next {
    width: 250px;
    height: 50px;
    line-height: 50px;
    color: #fff;
    text-align: center;
    border: none;
    border-radius: 25px;
    background: #62AFE2;
    display: block;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3);
    margin: 0 15px; }

.before_login_button_area .btn-default-disabled.confirm[disabled] {
  color: #999;
  background: #ccc;
  border-color: #ccc;
  cursor: not-allowed; }

.needs_modal {
  width: 280px;
  font-size: 1.2rem;
  line-height: 1.7;
  text-align: justify;
  color: #fff;
  padding: 20px;
  background: rgba(81, 82, 85, 0.8);
  border-radius: 5px;
  position: absolute;
  top: 40px;
  right: -245px;
  z-index: 1;
  display: none; }
  .needs_modal:before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 10px 15px 10px;
    border-color: transparent transparent #515255 transparent;
    position: absolute;
    top: -15px;
    left: 15px;
    opacity: 0.8; }

.units_txt {
  margin-left: .5em; }

.needs ._2lines ol li {
  margin-bottom: 10px; }
  .needs ._2lines ol li:last-child {
    margin-bottom: 0; }
  .needs ._2lines ol li li {
    margin-bottom: 0; }

.needs ._2lines textarea {
  min-height: 150px; }

/*---------------------------------------
物件/ニーズ一覧
------------------------------------------*/
.sub_menu {
  display: flex;
  align-items: center;
  margin: 0 0 0 auto; }
  .sub_menu li {
    font-size: 1.4rem;
    margin-right: 15px;
    display: flex;
    align-items: center; }
  .sub_menu label {
    display: flex;
    align-items: center;
  }
    .sub_menu li span {
      position: relative;
      display: flex;
      align-items: center; }
      .sub_menu li span i {
        width: 10px;
        height: 1px;
        background: #515255;
        margin-right: 3px;
        display: inline-block;
        vertical-align: middle;
        position: relative; }
        .sub_menu li span i:before, .sub_menu li span i:after {
          content: "";
          width: 100%;
          height: 1px;
          background: #515255;
          position: absolute; }
        .sub_menu li span i:before {
          top: -4px; }
        .sub_menu li span i:after {
          bottom: -4px; }
    .sub_menu li:last-child {
      margin-right: 0; }
  .sub_menu a {
    line-height: 28px;
    display: block;
    color: #515255; }
    .sub_menu a img {
      vertical-align: middle;
      margin-right: 10px; }
  .sub_menu .selectbox {
    display: inline-block;
    margin: 0 10px;
    position: relative; }
    .sub_menu .selectbox:after {
      content: "";
      width: 6px;
      height: 6px;
      border-right: 1px solid #515255;
      border-bottom: 1px solid #515255;
      transform: rotate(45deg) translate(-50%, -50%);
      position: absolute;
      top: 50%;
      right: 10px; }
    .sub_menu .selectbox select {
      width: 100px;
      height: 26px;
      border: 1px solid #515255;
      border-radius: 13px;
      padding: 0 10px;
      color: #515255;
      background: none;
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      -o-appearance: none;
      -ms-appearance: none; }
      .sub_menu .selectbox select:-ms-expand {
        display: none; }
      .sub_menu .selectbox select:focus {
        outline: none; }
  .sub_menu button {
    width: 50px;
    height: 26px;
    border-radius: 5px;
    text-align: center;
    color: #fff;
    background: #62AFE2;
    border: none;
    padding: 0;
    margin: 0;
    box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
    cursor: pointer; }

.list {
  border: none; }
  .list thead td {
    color: #fff;
    background: #515255; }
  .list tr:first-child th {
    border-right: 1px solid rgba(128, 128, 128, 0.3); }
    .list tr:first-child th:last-child {
      border-right: none; }
  .list tr:first-child td {
    border-right: 1px solid rgba(128, 128, 128, 0.3); }
    .list tr:first-child td:last-child {
      border-right: none; }
  .list tr:last-child td {
    border-bottom: 1px solid rgba(128, 128, 128, 0.3); }
    .list tr:last-child td:last-child {
      border-right: none; }
  .list th {
    min-width: 70px;
    text-align: center;
    position: relative; }
    .list th input[type="checkbox"] {
      margin-left: 5px; }
  .list td {
    text-align: center; }
    .list td.gy {
      background: #F2F2F2; }
    .list td.tl {
      text-align: left; }
    .list td.tr {
      text-align: right; }
    .list td:last-child {
      border-right: none; }
    .list td.sticky01, .list td.sticky02, .list td.sticky03, .list td.sticky04, .list td.sticky05, .list td.sticky06, .list td.sticky07, .list td.sticky001, .list td.sticky002, .list td.sticky003, .list td.sticky004, .list td.sticky005 {
      height: 100%;
      position: -webkit-sticky;
      position: sticky;
      z-index: 1;
      border-right: none !important; }
      .list td.sticky01:after, .list td.sticky02:after, .list td.sticky03:after, .list td.sticky04:after, .list td.sticky05:after, .list td.sticky06:after, .list td.sticky07:after, .list td.sticky001:after, .list td.sticky002:after, .list td.sticky003:after, .list td.sticky004:after, .list td.sticky005:after {
        content: "";
        width: 1px;
        height: 100%;
        border-right: 1px solid rgba(128, 128, 128, 0.3);
        position: absolute;
        top: 0;
        right: 0;
        z-index: 1; }
    .list td.sticky01.dot:after {
      border-right: 1px dashed rgba(128, 128, 128, 0.3); }
    .list td.brn:after {
      content: none; }
  .list button {
    width: 50px;
    height: 26px;
    background: #fff;
    border-radius: 13px;
    box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
    margin: 0 auto;
    display: block; }
    .list button.bl2 {
      color: #5976BA;
      border-color: #5976BA; }
      .list button.bl2:hover {
        color: #5976BA; }
    .list button.gr {
      color: #35B597;
      border-color: #35B597; }
  .list a.copy {
    width: 50px;
    height: 26px;
    line-height: 26px;
    color: #35B597;
    border: 1px solid #35B597;
    border-radius: 13px;
    box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
    margin: 0 auto;
    display: block; }
  .list input[type="checkbox"] {
    width: 12px;
    height: 12px;
    border-radius: 0;
    background: #fff;
    border: 1px solid #515255;
    cursor: pointer; }
  .list .arrow:after {
    content: "";
    width: 6px;
    height: 6px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    display: inline-block;
    margin: 0 0 5px 10px;
    transform: rotate(45deg); }
  .list .select:after {
    content: "";
    width: 8px;
    height: 9px;
    background: url(../img/common/select.svg) center center;
    background-size: 8px 9px;
    display: inline-block;
    margin-left: 10px; }
  .list .pdf {
    width: 80px;
    height: 26px;
    color: #A0A3AA;
    font-size: 14px;
    font-weight: normal;
    text-align: center;
    text-decoration: none;
    border-radius: 3px;
    border: 1px solid #A0A3AA;
    display: block;
    box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
    pointer-events: none; }
    .list .pdf.on {
      color: #C1272D;
      border: 1px solid #C1272D;
      pointer-events: auto; }

.foot_menu {
  width: 100%;
  background: #fff;
  padding: 30px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center; }
  .foot_menu div {
    display: flex;
    margin-left: 40px; }
    .foot_menu div .delete {
      font-size: 1.4rem;
      line-height: 1.6;
      font-family: "Noto Sans Japanese", sans-serif;
      color: #515255;
      margin: 0;
      padding: 0;
      border: none;
      background: none;
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      -o-appearance: none;
      -ms-appearance: none;
      cursor: pointer; }
    .foot_menu div img {
      margin-right: 10px;
      vertical-align: middle; }
  .foot_menu.ar {
    justify-content: flex-end;
    padding-right: 0;
    padding-left: 0; }
  .foot_menu.mt10 {
    margin-top: 10px; }
  .foot_menu .pagenavi {
    display: flex;
    margin-right: 25px; }
    .foot_menu .pagenavi li {
      width: 25px;
      font-size: 14px;
      line-height: 25px;
      text-align: center;
      margin: 0 5px;
      color: #515255; }
      .foot_menu .pagenavi li span {
        width: 25px;
        height: 25px;
        display: inline-block;
        border: 1px solid #515255; }
      .foot_menu .pagenavi li a {
        height: 25px;
        display: block;
        background: #515255;
        color: #fff;
        text-decoration: none; }
        .foot_menu .pagenavi li a img {
          vertical-align: middle; }

button.match {
  width: 60px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  color: #fff;
  background: #C1272D;
  margin: 0 auto;
  border-radius: 15px;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
  border: none; }

a.match {
  width: 60px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  color: #fff;
  background: #C1272D;
  margin: 0 auto;
  border-radius: 15px;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
  border: none;
  display: block; }
  a.match:hover {
    color: #fff; }

.detail, .edit {
  width: 50px;
  height: 26px;
  color: #5976BA;
  text-align: center;
  border: 1px solid #5976BA;
  background: #fff;
  border-radius: 13px;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
  margin: 0 auto;
  display: block;
  text-decoration: none; }
  .detail:hover, .edit:hover {
    color: #5976BA; }
  .detail.bl, .edit.bl {
    color: #62AFE2;
    border-color: #62AFE2; }
    .detail.bl:hover, .edit.bl:hover {
      color: #62AFE2;
      border-color: #62AFE2; }

.button_area.need {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  margin-bottom: 15px; }
  .button_area.need li {
    margin-right: 10px; }
    .button_area.need li:last-child {
      margin-right: 0; }
  .button_area.need .match {
    width: 200px;
    margin: 0 10px 0 0;
    box-shadow: none;
    border-radius: 0; }
  .button_area.need a.match {
    line-height: 30px;
    display: block;
    margin-right: 0; }
    .button_area.need a.match:hover {
      color: #fff; }
  .button_area.need .pdf {
    width: 80px;
    height: 26px;
    color: #C1272D;
    line-height: 26px;
    border: 1px solid #C1272D;
    background: #fff;
    display: block;
    text-align: center;
    border-radius: 3px;
    box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); }
  .button_area.need .edit {
    width: 80px;
    color: #62AFE2;
    border-color: #62AFE2; }
    .button_area.need .edit:hover {
      color: #62AFE2; }
    .button_area.need .edit.copy {
      color: #35B597;
      border-color: #35B597; }
  .button_area.need .data {
    margin: 0 0 0 auto; }

.needs.propety {
  margin-bottom: 30px;
  white-space: normal; }
  .needs.propety p {
    white-space: normal; }
  .needs.propety td {
    border-right: none; }
  .needs.propety .vt {
    vertical-align: top; }

.memo {
  width: 100%;
  height: 100px;
  display: flex;
  align-items: center; }
  .memo.mb20 {
    margin-bottom: 20px; }
  .memo p {
    width: 180px;
    height: 100px;
    line-height: 100px;
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center;
    color: #fff;
    background: #062572;
    border-radius: 10px 0 0 10px; }
  .memo ul {
    width: calc(100% - (180px + 200px));
    height: 100px;
    background: #fff;
    padding: 15px 20px; }
    .memo ul li {
      font-size: 1.4rem;
      line-height: 1.7;
      display: flex; }
      .memo ul li span {
        margin-right: 30px; }
  .memo textarea {
    width: calc(100% - (180px + 200px));
    height: 100px;
    font-size: 1.4rem;
    background: #fff;
    padding: 15px 20px;
    border: none; }
    .memo textarea:focus {
      outline: none; }
  .memo button {
    width: 170px;
    height: 50px;
    font-size: 1.4rem;
    color: #062572;
    border: 1px solid #062572;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3);
    margin-left: 20px;
    background: #fff;
    border-radius: 10px; }

.list label.arrow {
  position: relative; }
  .list label.arrow:after {
    content: "";
    width: 6px;
    height: 6px;
    margin: 0;
    display: block;
    border-right: 1px solid #515255;
    border-bottom: 1px solid #515255;
    transform: translate(-50%, -50%) rotate(45deg);
    position: absolute;
    top: calc(50% - 3px);
    right: 10px; }

.list tr td.dot {
  border-right-style: dashed; }

select.status {
  width: 110px;
  height: 30px;
  border: 1px solid #B3B3B3;
  padding: 5px 10px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -o-appearance: none;
  -ms-appearance: none; }
  select.status:focus {
    outline: none; }

button.status {
  width: 110px;
  height: 25px;
  font-size: 1.4rem;
  line-height: 25px;
  color: #fff;
  background: #032274;
  border-radius: 5px; }

.matching_info {
  width: 100%;
  height: 50px;
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  margin: 0;
  white-space: nowrap;
  overflow-x: scroll;
  border-radius: 0 25px 25px 0; }
  .matching_info p {
    width: 130px;
    line-height: 50px;
    color: #fff;
    text-align: center;
    background: #032274;
    border-radius: 25px 0 0 25px; }
  .matching_info ul {
    width: calc(100% - 130px);
    background: #fff;
    display: flex;
    align-items: center;
    border-radius: 25px 0 0 25px; }
    .matching_info ul li:last-child {
      display: flex; }
    .matching_info ul li ol {
      display: flex;
      align-content: center;
      background: #fff; }
      .matching_info ul li ol li {
        padding: 0 10px; }
        .matching_info ul li ol li:first-child {
          padding-left: 10px; }
        .matching_info ul li ol li:last-child {
          align-items: center; }
        .matching_info ul li ol li .selectbox {
          position: relative; }
          .matching_info ul li ol li .selectbox:after {
            content: "";
            width: 6px;
            height: 6px;
            margin: 0;
            display: block;
            border-right: 1px solid #515255;
            border-bottom: 1px solid #515255;
            transform: translate(-50%, -50%) rotate(45deg);
            position: absolute;
            top: calc(50% - 3px);
            right: 10px; }
        .matching_info ul li ol li select {
          width: 80px;
          height: 30px;
          border: 1px solid #B3B3B3;
          padding: 5px 10px;
          appearance: none;
          -webkit-appearance: none;
          -moz-appearance: none;
          -o-appearance: none;
          -ms-appearance: none; }
          .matching_info ul li ol li select:focus {
            outline: none; }
      .matching_info ul li ol span {
        min-width: 0;
        background: none;
        padding: 0; }
      .matching_info ul li ol label {
        margin: 0; }
    .matching_info ul li button {
      width: 50px;
      height: 26px;
      border-radius: 5px;
      text-align: center;
      color: #fff;
      background: #032274;
      border: none;
      padding: 0;
      margin: 0;
      box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); }
  .matching_info span {
    min-width: 70px;
    height: 50px;
    padding: 0 10px;
    text-align: center;
    display: inline-grid;
    align-items: center;
    background: #E6E6E6; }
  .matching_info label {
    margin: 0 15px 0 10px; }
    .matching_info label input[type="checkbox"] {
      margin-right: 5px; }
  .matching_info + .sub_menu {
    width: 100%;
    justify-content: space-between;
    margin: 10px auto; }
    .matching_info + .sub_menu .match {
      width: 200px;
      line-height: 30px;
      margin: 0;
      color: #fff;
      text-align: center;
      border-radius: 0;
      box-shadow: none;
      display: block;
      background: #C1272D; }

/* 外枠 */
form.nostyle {
  width: 100%;
  overflow: hidden; }

form.matching_form {
  width: 100%; }

.x_data_area {
  width: 100%;
  display: flex;
  overflow-y: scroll;
  overflow-x: scroll;

  /* floatさせた要素を内包しているため指定 */
  background: #fff;
  /* 表の最大値を設定 */
  max-height: calc(100vh - 300px);
  /* 横スクロール部分 */
  /* IE6 */
  /* IE7 */ }
  .x_data_area .lock_box {
    float: left;
    width: 300px;
    position: relative;
    z-index: 1; }
    .x_data_area .lock_box table {
      background: #F2F2F2;
      /* ロック部分 */ }
      .x_data_area .lock_box table tr {
      }
      .x_data_area .lock_box table th {
        color: #fff;
        background: #515255;
        text-align: center;
        position: static;
        border-right: 1px solid rgba(128, 128, 128, 0.3);
      }
        .x_data_area .lock_box table th:first-child {
          border-left: 1px solid rgba(128, 128, 128, 0.3); }
        .x_data_area .lock_box table th:last-child {
          border-right: 1px solid rgba(128, 128, 128, 0.3); }
      .x_data_area .lock_box table td {
        border-top: none;
        border-bottom: 1px solid rgba(128, 128, 128, 0.3); }
        .x_data_area .lock_box table td:first-child {
          border-left: 1px solid rgba(128, 128, 128, 0.3); }
      .x_data_area .lock_box table.data {
        table-layout: fixed; }
        .x_data_area .lock_box table.data th {
          position: static;
          border-right: 1px solid rgba(128, 128, 128, 0.3); }
        .x_data_area .lock_box table.data td {
          border-right: 1px solid rgba(128, 128, 128, 0.3);
          border-bottom: 1px solid rgba(128, 128, 128, 0.3);
        }
        .x_data_area .lock_box table.data th, .x_data_area .lock_box table.data td {
          overflow: auto;
          white-space: nowrap;
          border-top: 0;
          padding: 0 10px; }
        .x_data_area .lock_box table.data p {
          width: 150px;
          overflow: hidden;
          white-space: nowrap;
          text-overflow: ellipsis; }
  .x_data_area.matching .lock_box {
    width: 830px; }
  .x_data_area.matching .lock_box table td:first-child {
    border-left: none; }
  .x_data_area.matching .x_scroll_box {
    width: calc(100% - 830px); }
  .x_data_area .x_scroll_box {
    float: left;
    width: calc(100% - 420px);
    overflow-y: overlay;
    /* 縦スクロール非表示 */
    overflow-x: overlay;
    /* 横スクロール */
    -ms-overflow-style: auto;
    scrollbar-width: thin; }
    .x_data_area .x_scroll_box::-webkit-scrollbar {
      height: 10px;
      width:10px;
      display: block; }
    .x_data_area .x_scroll_box::-webkit-scrollbar-track {
      margin-top: 10px; }
    .x_data_area .x_scroll_box::-webkit-scrollbar-thumb {
      background: #aaa;
      border-radius: 5px; }
      .x_data_area .x_scroll_box.table1::-webkit-scrollbar-thumb {
      display: none; }
    .x_data_area .x_scroll_box.w140 {
      width: 140px;
      -ms-overflow-style: none;
      scrollbar-width: 0; }
      .x_data_area .x_scroll_box.w140::-webkit-scrollbar {
        display: none; }
      .x_data_area .x_scroll_box.w140 .data th {
        text-align: center;
        border-right: none; }
        .x_data_area .x_scroll_box.w140 .data th:first-child {
          border-left: none;
          border-right: 1px solid rgba(128, 128, 128, 0.3); }
      .x_data_area .x_scroll_box.w140 .data td {
        text-align: center;
        border-bottom: 1px solid rgba(128, 128, 128, 0.3); }
        .x_data_area .x_scroll_box.w140 .data td:first-child {
          border-left: none; }
    .x_data_area .x_scroll_box table {
      /* ロック部分 */ }
      .x_data_area .x_scroll_box table.check td {
        border-top: none;
        border-right: none;
        border-bottom: 1px solid rgba(128, 128, 128, 0.3); }
      .x_data_area .x_scroll_box table.data {
        table-layout: fixed; }
        .x_data_area .x_scroll_box table.data th {
          text-align: center;
          position: static;
          border-right: 1px solid rgba(128, 128, 128, 0.3); }
          .x_data_area .x_scroll_box table.data th:first-child {
            border-left: 1px solid #515255; }
          .x_data_area .x_scroll_box table.data th:last-child {
            border-right: none; }
        .x_data_area .x_scroll_box table.data td {
          border-right: 1px solid rgba(128, 128, 128, 0.3);
          border-bottom: 1px solid rgba(128, 128, 128, 0.3); }
          .x_data_area .x_scroll_box table.data td:last-child {
            border-right: none; }
        .x_data_area .x_scroll_box table.data th, .x_data_area .x_scroll_box table.data td {
          overflow: auto;
          white-space: nowrap;
          border-top: none;
          padding: 0 10px; }
  .x_data_area .status_area {
    display: flex;
    align-items: center;
    position: relative; }
    .x_data_area .status_area label.arrow {
      position: relative;
      margin-right: 20px; }
      .x_data_area .status_area label.arrow:before {
        content: "";
        width: 6px;
        height: 6px;
        margin: 0;
        display: block;
        border-right: 1px solid #515255;
        border-bottom: 1px solid #515255;
        transform: translate(-50%, -50%) rotate(45deg);
        position: absolute;
        top: calc(50% - 3px);
        right: 10px; }
      .x_data_area .status_area label.arrow:after {
        content: "";
        width: 1px;
        height: 50px;
        display: block;
        border-left: 1px dashed #808080;
        position: absolute;
        top: -10px;
        right: -10px; }
  .x_data_area span.arrow:after {
    content: "";
    width: 6px;
    height: 6px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    display: inline-block;
    margin: 0 0 5px 10px;
    transform: rotate(45deg); }
  .x_data_area .select:after {
    content: "";
    width: 8px;
    height: 9px;
    background: url(../img/common/select.svg) center center;
    background-size: 8px 9px;
    display: inline-block;
    margin-left: 10px; }
  .x_data_area .pdf {
    width: 80px;
    height: 26px;
    color: #A0A3AA;
    font-size: 14px;
    font-weight: normal;
    text-align: center;
    text-decoration: none;
    border-radius: 3px;
    border: 1px solid #A0A3AA;
    display: block;
    box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
    pointer-events: none; }
    .x_data_area .pdf.on {
      background: #fff;
      color: #C1272D;
      border: 1px solid #C1272D;
      pointer-events: auto; }
  .x_data_area .copy {
    background: #fff;
    width: 50px;
    height: 26px;
    text-align: center;
    color: #35B597;
    border: 1px solid #35B597;
    border-radius: 13px;
    box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
    margin: 0 auto;
    display: block; }
  .x_data_area .tac {
    text-align: center; }
  .x_data_area .tar {
    text-align: right; }
  .x_data_area table.data {
    _border-collapse: collapse;
    /* IE6がborder-spacing: 0;に対応していないので */ }
  .x_data_area *:first-child + html table.data {
    border-collapse: collapse;
    /* IE7がborder-spacing: 0;に対応していないので */ }

  table .gray {
    background: #C2C2C2;
  }
  table .blue {
    background: lightcyan;
  }
  table .red {
    background: lightpink;
  }
  table .text-gray {
    color: #C2C2C2;
  }
  table .text-blue {
    color: #032274;
  }
  table .text-red {
    color: #C1272D;
  }

/*---------------------------------------
物件ニーズ一括登録
------------------------------------------*/
.lump .under {
  width: 80%;
  margin: 80px 0 0 0; }
  .lump .under.mb25 {
    margin-bottom: 25px; }

.lump .wrapper {
  width: 80%;
  min-height: 500px;
  padding: 0 30px 30px 30px;
  margin: 0 auto; }
  .lump .wrapper h2 {
    font-size: 1.8rem;
    text-align: center;
    margin: 0 0 50px 0; }
  .lump .wrapper .inner {
    width: 100%;
    min-height: 350px;
    padding: 30px 30px 50px 30px;
    border: 1px solid #515255;
    background: #fff;
    position: relative; }
  .lump .wrapper img {
    display: block;
    margin: 0 auto; }
    .lump .wrapper img.mt30 {
      margin-top: 30px; }
    .lump .wrapper img.mt100 {
      margin-top: 100px; }
  .lump .wrapper p {
    font-size: 1.4rem;
    line-height: 1.8;
    text-align: center;
    margin: 15px auto 30px auto;
    letter-spacing: 0.1em; }
    .lump .wrapper p.red {
      color: #C1272D;
      margin-bottom: 0; }
    .lump .wrapper p strong {
      font-size: 2.4rem; }
    .lump .wrapper p.error {
      font-size: 1.8rem; }
    .lump .wrapper p.success {
      font-size: 1.6rem; }
    .lump .wrapper p.done {
      font-size: 1.8rem;
      font-weight: bold;
      margin-bottom: 80px; }
  .lump .wrapper .upload {
    width: 250px;
    height: 50px;
    font-size: 1.4rem;
    line-height: 48px;
    text-align: center;
    font-weight: bold;
    color: #032274;
    border: 1px solid #032274;
    border-radius: 25px;
    margin: 0 auto;
    display: block;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3);
    cursor: pointer; }
  .lump .wrapper input {
    display: none; }
  .lump .wrapper .button_area {
    padding-top: 50px; }
    .lump .wrapper .button_area.pt20 {
      padding-top: 20px; }
    .lump .wrapper .button_area button {
      border: none;
      text-align: center;
      box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3); }
      .lump .wrapper .button_area button.off {
        color: #999;
        background: #CCC; }
      .lump .wrapper .button_area button.on {
        color: #fff;
        background: #62AFE2; }
      .lump .wrapper .button_area button.back {
        border: 1px solid #62AFE2; }
    .lump .wrapper .button_area .next {
      width: 250px;
      height: 50px;
      line-height: 50px;
      color: #fff;
      text-align: center;
      border-radius: 25px;
      background: #62AFE2;
      display: block;
      box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3); }

    .csv_dl{
      margin-bottom: 10px;
    }
    .csv_dl div, .csv_dl span {
      font-size: 1.4rem;
      vertical-align: bottom;
      display: inline-block;
      height: 26px;
    }
    .csv_dl img {
      margin: 0 10px !important;
      vertical-align: text-bottom;
      display: inline-block !important;
      height: 26px;
    }

.dropArea {
  background: #f6f6f6;
  max-width: 600px;
  margin: 0 auto 30px auto;
  padding: 20px 0;
  border: 2px dotted #515255;
  border-radius: 10px; }
  .dropArea.dragover {
    background: rgba(0, 133, 255, 0.16); }
  .dropArea img {
    margin-bottom: 10px !important; }
  .dropArea p {
    margin: 0 !important; }

@keyframes loading {
  0% {
    transform: rotateY(0); }
  100% {
    transform: rotateY(180deg); } }

#fileUploadBox .loading, #fileUploadBox .success {
  display: none; }

#fileUploadBox .loading img {
  display: block;
  transition-timing-function: linear; }

#fileUploadBox .loading p {
  margin-bottom: 0; }

#fileUploadBox[data-state="loading"] h2, #fileUploadBox[data-state="loading"] .start, #fileUploadBox[data-state="loading"] .upload_content, #fileUploadBox[data-state="loading"] .red {
  display: none; }

#fileUploadBox[data-state="loading"] .loading {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); }
  #fileUploadBox[data-state="loading"] .loading img {
    -webkit-animation: 1s infinite alternate loading; }

#fileUploadBox[data-state="success"] .start {
  display: none; }

#fileUploadBox[data-state="success"] .success {
  display: block; }

#fileUploadBox .filename {
  font-size: 1.4rem;
  text-align: center;
  margin-top: 15px;
  display: block; }

/*---------------------------------------
マッチング
------------------------------------------*/
.matching tr:first-child th, .negotiation tr:first-child th, .intuser tr:first-child th, .ccreb tr:first-child th {
  border-right: 1px solid rgba(128, 128, 128, 0.3); }
  .matching tr:first-child th:last-child, .negotiation tr:first-child th:last-child, .intuser tr:first-child th:last-child, .ccreb tr:first-child th:last-child {
    border-right: none; }

.matching tr:last-child td, .negotiation tr:last-child td, .intuser tr:last-child td, .ccreb tr:last-child td {
  border-bottom: 1px solid rgba(128, 128, 128, 0.3); }
  .matching tr:last-child td:last-child, .negotiation tr:last-child td:last-child, .intuser tr:last-child td:last-child, .ccreb tr:last-child td:last-child {
    border-right: none; }

.matching th, .negotiation th, .intuser th, .ccreb th {
  text-align: center;
  border-right: 1px solid rgba(128, 128, 128, 0.3); }

.matching td:last-child, .negotiation td:last-child, .intuser td:last-child, .ccreb td:last-child {
  border-right: none; }

.matching .tc, .negotiation .tc, .intuser .tc, .ccreb .tc {
  text-align: center; }

.matching th, .negotiation th {
  position: relative; }

/*---------------------------------------
商談中一覧
------------------------------------------*/
.negotiation tr:last-child td {
  border-bottom: none; }

.negotiation td {
  border-top: none;
  border-right: 1px solid rgba(128, 128, 128, 0.3); }
  .negotiation td:last-child {
    border-right: none; }

.negotiation .tc {
  text-align: center; }

.negotiation .spacer {
  height: 10px;
  font-size: 0;
  padding: 0;
  background: #f2f2f2;
  border-top: none; }

.negotiation .bt {
  border-top: 1px solid rgba(128, 128, 128, 0.3); }

.negotiation.list th {
  text-align: left;
  padding-right: 20px;
  padding-left: 20px; }

.negotiation.list td {
  border-bottom: 1px solid rgba(128, 128, 128, 0.3);
  text-align: left;
  padding-right: 20px;
  padding-left: 20px; }

.negotiation.list tr:last-child td {
  border-bottom: 1px solid rgba(128, 128, 128, 0.3); }

.negotiation.list p {
  white-space: normal; }

.negotiation.list .pdf {
  width: 120px;
  margin: 0; }

.negotiation.list .detail {
  width: 80px;
  margin: 0; }

.negotiation .detail {
  width: 80px; }

.detail, .status_detail {
  width: 50px;
  height: 26px;
  color: #5976BA;
  font-size: 14px;
  line-height: 26px;
  text-align: center;
  border: 1px solid #5976BA;
  background: #fff;
  border-radius: 13px;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
  margin: 0 auto;
  display: block;
  text-decoration: none; }
  .detail:hover, .status_detail:hover {
    color: #5976BA;
    text-decoration: none; }
  .detail.compleed, .detail.canceled, .status_detail.compleed, .status_detail.canceled {
    color: #35B597 !important;
    border-color: #35B597 !important;
    pointer-events: auto !important; }

.status_detail, .processing {
  color: #A0A3AA;
  border-color: #A0A3AA;
  pointer-events: none; }
  .status_detail:hover, .processing:hover {
    color: #A0A3AA; }

.user_res {
  width: 100%;
  height: 50px;
  font-size: 1.4rem;
  line-height: 50px;
  padding-left: 20px;
  border-radius: 25px;
  border: 1px solid #515255;
  margin-bottom: 20px; }

/*---------------------------------------
ユーザー一覧 / 管理画ユーザー一覧
------------------------------------------*/
.intuser, .ccreb {
  min-width: 0; }
  .intuser input, .ccreb input {
    margin: 0 auto;
    display: block; }
  .intuser .ta, .ccreb .ta {
    text-align: center; }
    .intuser .ta input, .ccreb .ta input {
      text-align: center; }
  .intuser .edit, .ccreb .edit {
    width: 80px;
    color: #62AFE2;
    border-color: #62AFE2; }
  .intuser th label, .ccreb th label {
    display: flex;
    justify-content: center;
    align-items: center; }
    .intuser th label input, .ccreb th label input {
      display: inline;
      margin: 0 0 0 5px; }
  .intuser th, .ccreb th {
    position: relative; }

.foot_menu .list {
  font-size: 1.4rem;
  display: flex;
  align-items: center; }
  .foot_menu .list li {
    margin-right: 30px; }
    .foot_menu .list li .delete {
      font-family: "Noto Sans Japanese", sans-serif;
      line-height: 1.6;
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      -o-appearance: none;
      -ms-appearance: none;
      border: none;
      background: none;
      margin: 0;
      padding: 0;
      cursor: pointer; }
    .foot_menu .list li a {
      display: block; }
  .foot_menu .list img {
    vertical-align: middle;
    margin-right: 10px; }

.ccreb input[type="text"] {
  width: 100%;
  line-height: 1.6;
  border: none;
  border-radius: 0;
  padding: 0;
  margin: 0;
  background: none;
  word-break: break-word;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -o-appearance: none;
  -ms-appearance: none; }
  .ccreb input[type="text"]:focus {
    border: none; }
  .ccreb input[type="text"].is_admin_disp {
    text-align: center; }

.ccreb input[type="submit"] {
  cursor: pointer; }

/*---------------------------------------
アカウント系/管理側ユーザー登録
------------------------------------------*/
.account ul {
  margin-bottom: 40px; }
  .account ul li {
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px; }
    .account ul li:last-child {
      margin-bottom: 0; }
    .account ul li span {
      width: 100px;
      height: 50px;
      line-height: 50px;
      font-size: 1.4rem;
      margin-right: 40px; }
      .account ul li span.w180 {
        width: 180px;
        display: flex;
        align-items: center; }
      .account ul li span.lh16 {
        line-height: 1.6; }
    .account ul li i {
      width: 40px;
      height: 20px;
      font-size: 1.2rem;
      line-height: 20px;
      color: #fff;
      text-align: center;
      background: #C1272D;
      border-radius: 5px;
      margin: 0 0 0 auto; }
    .account ul li .input_content {
      position: relative; }
      .account ul li .input_content.select:after {
        content: "";
        width: 10px;
        height: 10px;
        border-right: 2px solid #62AFE2;
        border-bottom: 2px solid #62AFE2;
        position: absolute;
        top: 50%;
        right: 40px;
        transform: translate(-50%, -50%) rotate(45deg); }
    .account ul li input {
      font-size: 1.4rem;
      padding: 15px 20px;
      margin: 0;
      border: none; }
      .account ul li input:focus {
        outline: none;
        border: 1px solid #62AFE2; }
      .account ul li input.field {
        width: 500px;
        height: 50px;
        border-radius: 25px; }
        .account ul li input.field.info {
          background: none;
          border-radius: 0;
          border-bottom: 1px solid #515255; }
          .account ul li input.field.info:focus {
            border: none;
            border-bottom: 1px solid #515255; }
      .account ul li input.bt {
        width: 80px;
        height: 26px;
        text-align: center;
        color: #62AFE2;
        border: 1px solid #62AFE2;
        padding: 0;
        background: #fff;
        box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
        border-radius: 13px;
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translate(0, -50%); }
    .account ul li select {
      width: 500px;
      height: 50px;
      font-size: 14px;
      padding: 15px 20px;
      border: none;
      border-radius: 25px;
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      -o-appearance: none;
      -ms-appearance: none; }
      .account ul li select.read {
        border-radius: 0;
        background: none;
        border: none;
        border-bottom: 1px solid #515255; }
        .account ul li select.read:focus {
          border: none; }
      .account ul li select:focus {
        outline: none;
        border: 1px solid #62AFE2; }
      .account ul li select option {
        font-size: 1.4rem; }
    .account ul li button {
      font-size: 1.4rem; }
      .account ul li button.bt {
        width: 80px;
        height: 26px;
        text-align: center;
        color: #62AFE2;
        border: 1px solid #62AFE2;
        padding: 0;
        background: #fff;
        box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
        border-radius: 13px;
        position: absolute;
        top: 12px;
        right: 10px;
        cursor: pointer; }
      .account ul li button.arrow {
        width: 10px;
        height: 10px;
        border-right: 2px solid #62AFE2;
        border-bottom: 2px solid #62AFE2;
        position: absolute;
        top: 50%;
        right: 40px;
        transform: translate(-50%, -50%) rotate(45deg);
        cursor: pointer; }
    .account ul li p.field.info {
      width: 500px;
      height: 50px;
      line-height: 50px;
      border-bottom: 1px solid #515255;
      text-align: left;
      padding: 0 20px; }
  .account ul.ccreb_form label.error {
    margin-top: 10px;
    display: block; }

.account img {
  display: block;
  margin: 0 auto; }
  .account img.mt80 {
    margin-top: 80px; }
  .account img.mt150 {
    margin-top: 150px; }

.account p {
  font-size: 1.4rem;
  line-height: 2;
  text-align: center;
  letter-spacing: 0.1em; }
  .account p.red {
    color: #C1272D; }
  .account p strong {
    font-size: 1.8rem;
    margin: 20px 0 50px 0;
    display: block; }

.account .button_area {
  padding: 40px 0 50px 0; }
  .account .button_area.p20 {
    padding: 20px 0; }
  .account .button_area.pb0 {
    padding-bottom: 0; }
  .account .button_area.pt100 {
    padding-top: 100px; }
  .account .button_area a.next {
    width: 250px;
    height: 50px;
    line-height: 50px;
    color: #fff;
    text-align: center;
    border-radius: 25px;
    border: 1px solid #62AFE2;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3);
    background: #62AFE2;
    margin: 0 15px; }

.account .delete {
  margin: 20px 0;
  text-align: center; }
  .account .delete a {
    font-size: 1.2rem;
    letter-spacing: 0.1em;
    text-decoration: underline;
    text-align: center;
    margin: 0 auto; }

.account .account_delete {
  text-align: center;
  margin-top: 10px;
  font-size: 1.2rem;
  display: block;
}
.account .account_delete button{
  text-decoration: underline;
  cursor: pointer;
}

/*---------------------------------------
エラーメッセージ
------------------------------------------*/
.page_error {
  /*margin-top: 30px;*/
}
.page_error .error_msg {
  width: 100%;
  font-size: 1.2rem;
  line-height: 1.6;
  text-align: center;
  color: #C1272D;
  margin-bottom: 5px;
}

label.error {
  font-size: 1.2rem;
  color: #C1272D; }

#table_1 label.error, #table_2 label.error, #table_3 label.error {
  display: block;
  margin-top: 5px; }
  #table_1 label.error + label, #table_2 label.error + label, #table_3 label.error + label {
    margin-top: 0; }

/*---------------------------------------
メンテナンス
------------------------------------------*/
.maintenance .logo {
  margin-left: 20px; }

.maintenance main {
  padding-left: 0; }

.maintenance .content {
  color: #fff;
  background: #62AFE2;
  display: flex;
  justify-content: center; }

.maintenance strong {
  margin: 20px 0 !important; }
  .maintenance strong.sorry {
    font-size: 2.4rem;
    line-height: 1; }

/*---------------------------------------
モーダル/商談詳細
------------------------------------------*/
/*モーダルマスク*/
#mask {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 3;
  overflow: hidden; }
  #mask.hidden {
    display: none; }

.modal_dlg {
  width: 700px;
  height: 300px;
  background: rgba(81, 82, 85, 0.9);
  padding: 80px 0 50px 0;
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 50%;
  left: calc(50% + 75px);
  transform: translate(-50%, -50%);
  z-index: 4; }
  .modal_dlg .msg {
    font-size: 1.4rem;
    line-height: 1.75;
    color: #fff;
    text-align: center; }
  .modal_dlg .button_area {
    padding: 0;
    position: absolute;
    right: 0;
    bottom: 50px;
    left: 0;
    margin: auto; }

#modal_success.hidden {
  display: none; }

#modal_cancel.hidden {
  display: none; }

.modal_dlg > .title {
  font-size: 18px; }

#mdl_cancel {
  background-color: transparent;
  border: solid 1px #fff;
  color: #fff; }

#mdl_cancel2 {
  background-color: transparent;
  border: solid 1px #fff;
  color: #fff; }

/*-----------------------------------
物件/ニーズ登録　リセットモーダル
-------------------------------------*/
#modal_reset.hidden {
  display: none; }

/*-----------------------------------
物件/ニーズ登録　物件終了モーダル
-------------------------------------*/
/*モーダルマスク*/
#mask2, .mask {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 3;
  overflow: hidden; }
  #mask2.hidden, .mask.hidden {
    display: none; }

.modal_dlg2 {
  width: 700px;
  height: 300px;
  background: rgba(81, 82, 85, 0.9);
  padding: 80px 0 50px 0;
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 50%;
  left: calc(50% + 75px);
  transform: translate(-50%, -50%);
  z-index: 4; }
  .modal_dlg2 .msg {
    font-size: 1.4rem;
    line-height: 1.75;
    color: #fff;
    text-align: center; }
  .modal_dlg2 .button_area {
    padding: 0;
    position: absolute;
    right: 0;
    bottom: 25px;
    left: 0;
    margin: auto; }

#modal_needs_close.hidden {
  display: none; }

.mask .back {
  background-color: transparent;
  border: solid 1px #fff;
  color: #fff; }

  .modal_dlg2 .msg.title {
    font-size: 3rem;
    line-height: 1.75;
    color: #fff;
    text-align: center;
  }
  .modal_dlg2 .file_list {
    font-size: 1.4rem;
    line-height: 1.75;
    color: #fff;
    text-align: center;
    overflow: scroll;
    height: 140px;
  }

.modal_dlg2.pdf_dlg2{
  padding: 30px 0 50px 0;
}
/*-----------------------------------
物件/ニーズ検索　モーダル
-------------------------------------*/
.modal_bg {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 3;
  display: none; }
  .modal_bg.on {
    display: block; }
  .modal_bg .modal {
    width: calc(100% - 150px);
    height: calc(100% - 100px);
    background: rgba(81, 82, 85, 0.85);
    margin: 100px 0 0 150px; }
    .modal_bg .modal .wrap {
      position: absolute;
      top: calc(50% + 50px);
      left: calc(50% + 75px);
      transform: translate(-50%, -50%); }
    .modal_bg .modal .close {
      width: 50px;
      height: 50px;
      border-radius: 50%;
      border: 1px solid #fff;
      position: absolute;
      top: 130px;
      right: 30px;
      cursor: pointer; }
      .modal_bg .modal .close:before {
        content: "";
        width: 15px;
        height: 1px;
        background: #fff;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%) rotate(45deg); }
      .modal_bg .modal .close:after {
        content: "";
        width: 15px;
        height: 1px;
        background: #fff;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%) rotate(-45deg); }
    .modal_bg .modal .area_content {
      display: flex;
      align-items: center;
      margin-bottom: 5px; }
      .modal_bg .modal .area_content p {
        width: 120px;
        height: 40px;
        font-size: 1.4rem;
        line-height: 40px;
        padding-left: 10px;
        margin-right: 20px;
        color: #fff;
        background: #515255; }
      .modal_bg .modal .area_content ul {
        display: flex;
        align-items: center; }
        .modal_bg .modal .area_content ul li {
          font-size: 1.4rem;
          color: #fff;
          margin-right: 15px;
          white-space: nowrap; }
          .modal_bg .modal .area_content ul li:last-child {
            margin-right: 0; }
        .modal_bg .modal .area_content ul input {
          margin-right: 5px; }
    .modal_bg .modal .button_area {
      padding: 45px 0 0 0; }
      .modal_bg .modal .button_area button {
        line-height: 48px; }
      .modal_bg .modal .button_area .back {
        color: #fff;
        border-color: #fff;
        background: transparent; }
      .modal_bg .modal .button_area .confirm {
        background: #515255;
        border-color: #fff; }
    .modal_bg .modal .use_content {
      display: flex;
      margin-bottom: 15px; }
      .modal_bg .modal .use_content:last-child {
        margin-bottom: 0; }
      .modal_bg .modal .use_content p {
        width: 150px;
        height: 40px;
        font-size: 1.4rem;
        line-height: 1.75;
        color: #fff;
        padding-left: 10px;
        margin-right: 20px;
        background: #515255;
        display: flex;
        align-items: center; }
      .modal_bg .modal .use_content input {
        margin-right: 5px; }
      .modal_bg .modal .use_content ul {
        width: 650px;
        display: flex;
        flex-wrap: wrap; }
        .modal_bg .modal .use_content ul li {
          width: 15em;
          height: 40px;
          font-size: 1.4rem;
          line-height: 40px;
          color: #fff;
          white-space: nowrap; }
  .modal_bg.update .modal, .modal_bg.transition .modal {
    width: 700px;
    height: 300px;
    background: rgba(81, 82, 85, 0.9);
    padding: 80px 0 50px 0;
    margin: 0;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
    position: absolute;
    top: 50%;
    left: calc(50% + 75px);
    transform: translate(-50%, -50%);
    display: block; }
    .modal_bg.update .modal p, .modal_bg.transition .modal p {
      font-size: 1.4rem;
      line-height: 1.75;
      color: #fff;
      text-align: center; }
    .modal_bg.update .modal .button_area, .modal_bg.transition .modal .button_area {
      padding: 0;
      position: absolute;
      right: 0;
      bottom: 50px;
      left: 0;
      margin: auto; }
    .modal_bg.update .modal .confirm, .modal_bg.transition .modal .confirm {
      background: #62AFE2;
      border-color: #62AFE2; }

/*-----------------------------------
カレンダー
-------------------------------------*/
#ui-datepicker-div {
  width: 350px;
  font-size: 1.4rem;
  text-align: center;
  padding: 30px;
  margin: 15px 0 0 185px;
  display: none; }
  #ui-datepicker-div:before {
    content: "";
    width: 20px;
    height: 15px;
    display: block;
    background: url(../img/common/arrow_wh.svg) no-repeat center center;
    background-size: 20px 15px;
    filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.3));
    position: absolute;
    left: 30px;
    top: -15px;
    z-index: -2; }
  #ui-datepicker-div:after {
    content: "";
    width: 100%;
    height: 100%;
    background: #fff;
    border-radius: 5px;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1; }
  #ui-datepicker-div .ui-datepicker-header {
    height: 30px;
    margin-bottom: 10px;
    position: relative; }
    #ui-datepicker-div .ui-datepicker-header a {
      width: 10px;
      height: 10px;
      position: absolute;
      top: 0;
      bottom: 0;
      margin: auto; }
      #ui-datepicker-div .ui-datepicker-header a:before {
        content: "";
        width: 10px;
        height: 10px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%) rotate(45deg); }
      #ui-datepicker-div .ui-datepicker-header a.ui-datepicker-prev {
        left: 0; }
        #ui-datepicker-div .ui-datepicker-header a.ui-datepicker-prev:before {
          border-left: 1px solid #515255;
          border-bottom: 1px solid #515255; }
      #ui-datepicker-div .ui-datepicker-header a.ui-datepicker-next {
        right: 0; }
        #ui-datepicker-div .ui-datepicker-header a.ui-datepicker-next:before {
          border-top: 1px solid #515255;
          border-right: 1px solid #515255; }
      #ui-datepicker-div .ui-datepicker-header a span {
        font-size: 0; }
    #ui-datepicker-div .ui-datepicker-header .ui-datepicker-title {
      height: 30px;
      line-height: 30px; }
      #ui-datepicker-div .ui-datepicker-header .ui-datepicker-title select {
        height: 25px;
        border: 1px solid #515255;
        border-radius: 3px;
        padding: 5px 10px;
        margin: 0;
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        -o-appearance: none;
        -ms-appearance: none;
        position: relative; }
        #ui-datepicker-div .ui-datepicker-header .ui-datepicker-title select.ui-datepicker-year {
          width: 100px;
          margin-right: 5px; }
        #ui-datepicker-div .ui-datepicker-header .ui-datepicker-title select.ui-datepicker-month {
          width: 50px;
          margin-left: 5px; }
        #ui-datepicker-div .ui-datepicker-header .ui-datepicker-title select:after {
          content: "";
          width: 6px;
          height: 6px;
          border-right: 1px solid #515255;
          border-bottom: 1px solid #515255;
          transform: rotate(45deg) translate(-50%, -50%);
          position: absolute;
          top: 50%;
          right: 10px; }
  #ui-datepicker-div table {
    table-layout: auto; }
    #ui-datepicker-div table th {
      width: auto;
      height: 30px;
      color: #515255;
      text-align: center;
      padding: 0;
      background: none;
      position: static; }
      #ui-datepicker-div table th:last-child {
        color: #515255; }
    #ui-datepicker-div table td {
      height: 30px;
      padding: 0;
      border: none; }
      #ui-datepicker-div table td:last-child {
        color: #515255; }
    #ui-datepicker-div table .ui-datepicker-week-end {
      color: #C1272D; }
    #ui-datepicker-div table .ui-datepicker-other-month {
      color: #B3B3B3 !important; }
    #ui-datepicker-div table a {
      height: 30px;
      line-height: 30px;
      display: block; }
    #ui-datepicker-div table span.ui-state-default {
      color: #eee; }

/*************************************************************
エリア：市町村選択モーダルウィンドウ
*************************************************************/
.modal_city {
  font-size: 1.4rem;
  line-height: 2;
  color: #fff;
  display: none; }
  .modal_city.show {
    display: block; }
  .modal_city .prefset {
    display: flex; }
  .modal_city .preff {
    width: 100px;
    padding: 15px;
    background: #333;
    border-right: 1px solid #fff; }
    .modal_city .preff.only {
      width: 250px; }
  .modal_city .city_box {
    border-bottom: 1px solid #fff;
    display: flex; }
    .modal_city .city_box:last-child {
      border-bottom: none; }
  .modal_city .city_area {
    width: 150px;
    padding: 15px;
    background: #515255;
    border-right: 1px solid #fff; }
    .modal_city .city_area:last-of-type {
      border-bottom: none; }
  .modal_city .city {
    width: 800px;
    padding: 15px;
    background: rgba(81, 82, 85, 0.4);
    display: flex;
    flex-wrap: wrap; }
    .modal_city .city li {
      margin-right: 15px; }
    .modal_city .city input {
      margin: 0 5px 0 0; }

#city_select_btn_area_owner, #city_select_btn_area {
  font-size: 0;
  text-align: center;
  padding-top: 30px; }
  #city_select_btn_area_owner .modal_pref_close, #city_select_btn_area .modal_pref_close {
    width: 250px;
    height: 50px;
    margin: 0 15px;
    display: inline-block; }
    #city_select_btn_area_owner .modal_pref_close .btn_cancel, #city_select_btn_area .modal_pref_close .btn_cancel {
      font-size: 1.4rem;
      color: #fff;
      border-color: #fff;
      background: transparent;
      margin: 0; }
  #city_select_btn_area_owner .btn_decision_city, #city_select_btn_area .btn_decision_city {
    font-size: 1.4rem;
    color: #fff;
    background: #515255;
    border-color: #fff; }

.show {
  display: block;
  border-bottom: double 3px;}

#modal_city_customer, #modal_city_owner {
  max-height: calc(100vh - 280px);
  overflow: scroll; }

.date-wrap {
  display: flex;
  align-items: center; }
  .date-wrap .calender-label {
    display: inline; }

.calender-label {
  position: relative;
  display: flex; }
  .calender-label > input {
    color: transparent; }

.calender-date {
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translate(0, -50%); }

/*---------------------------------------
お問い合わせ
------------------------------------------*/
.contact ul li.vt {
  align-items: flex-start; }

.contact ul li input.field, .contact ul li textarea {
  width: 680px; }

.contact ul li input.field {
  background: none;
  border-bottom: 1px solid #515255;
  border-radius: 0; }
  .contact ul li input.field:focus {
    border: none;
    border-bottom: 1px solid #62AFE2; }

.contact ul li input:read-only:focus {
  border-bottom: 1px solid #515255; }

.contact ul li input[readonly]:focus {
  border-bottom: 1px solid #515255; }

.contact ul.comp li input.field:focus {
  border-bottom: 1px solid #515255; }

.contact ul.comp textarea {
  height: auto;
  min-height: 100px;
  border-bottom: 1px solid #515255;
  background: none;
  padding: 15px 20px;
  border-radius: 0;}
  .contact ul.comp textarea:focus {
    border: none;
    border-bottom: 1px solid #515255; }

.contact textarea {
  height: 250px;
  font-size: 1.4rem;
  line-height: 1.6;
  border-radius: 24px;
  padding: 15px 20px;
  border: none; }
  .contact textarea:focus {
    border: 1px solid #62AFE2; }

/*---------------------------------------
プライバシーポリシー/利用規約/アカウント削除/ユーザー登録
------------------------------------------*/
.privacypolicy, .guide, .done, .registration {
  color: #707070; }
  .privacypolicy main, .guide main, .done main, .registration main {
    padding-left: 0; }
  .privacypolicy .content, .guide .content, .done .content, .registration .content {
    width: 100%;
    padding: 30px 80px 50px 80px;
    display: block; }
  .privacypolicy p, .guide p, .done p, .registration p {
    font-size: 1.4rem;
    text-align: justify;
    margin-bottom: 1em; }
  .privacypolicy .sec, .guide .sec, .done .sec, .registration .sec {
    margin-top: 30px; }
    .privacypolicy .sec h2, .guide .sec h2, .done .sec h2, .registration .sec h2 {
      font-size: 1.4rem;
      margin: 0 0 10px 0; }
    .privacypolicy .sec ul li, .guide .sec ul li, .done .sec ul li, .registration .sec ul li {
      font-size: 1.4rem;
      text-align: justify;
      display: flex;
      align-items: flex-start; }
    .privacypolicy .sec p, .guide .sec p, .done .sec p, .registration .sec p {
      margin-bottom: 0; }
      .privacypolicy .sec p.mb1em, .guide .sec p.mb1em, .done .sec p.mb1em, .registration .sec p.mb1em {
        margin-bottom: 1em; }
    .privacypolicy .sec span, .guide .sec span, .done .sec span, .registration .sec span {
      min-width: 3.5em;
      font-size: 1.4rem; }
    .privacypolicy .sec h3, .guide .sec h3, .done .sec h3, .registration .sec h3 {
      font-size: 1.4rem;
      font-weight: normal;
      margin: 2em 0 0 0;
      font-weight: normal; }

.registration .wrapper {
  display: flex;
  justify-content: center; }
  .registration .wrapper.done {
    display: block; }

.registration ul li span {
  width: 180px;
  display: flex;
  align-items: center;
  line-height: 24px;
  margin-right: 10px; }

.registration ul.check input.field {
  border: none;
  border-bottom: 1px solid #515255;
  background: none;
  border-radius: 0; }

.registration p {
  text-align: center;
  margin-bottom: 0; }
  .registration p a {
    text-decoration: underline; }
  .registration p.red {
    margin-bottom: 10px; }
  .registration p.mb40 {
    margin-bottom: 40px; }

.done header img {
  margin-left: 30px; }

.done p {
  text-align: center; }

.guide p {
  margin-bottom: 0; }

.guide .sec + p {
  margin-top: 2em; }

.guide ul {
  margin: 1em 0 1em 1em; }

.header{
  position: sticky;
  top: 0;
  left: 0;
  z-index: 1;
}

.table1,.table2,.table3{
    overflow: scroll;
}

.wrapper.is-loading::before {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: none;
  pointer-events: auto;
  padding-top: 200px;
  background-color: rgba(255, 255, 255, 0.8);
  font-size: 2rem;
  z-index: 9998;
  content: "loading…";
}

.wrapper.is-loading::after {
  display: block;
  position: fixed;
  left: 50%;
  top: 0;
  width: 100px;
  height: 100%;
  margin-left: -50px;
  background-image: url(../img/logo_ccreb_mark.svg);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 100% auto;
  z-index: 9999;
  -webkit-animation: loading 1.5s infinite;
  animation: loading 1.5s infinite;
  content: "";
}

button.area_select.-cancel {
  margin-left: 30px;
}

.pager_count {
  margin-left: 30px;
}

.icon-pdf{
  height:22px;
  margin-left:3px
}

.pdf-link{
  text-decoration: underline;
}

.high_score{
  /* 赤 */
  background-color: #FF0000;
}

.middle_score{
  /* 薄めの赤 */
  background-color: #FFB6C1;
}

.low_score{
  /* すごく薄い赤 */
  background-color: #FFC0CB;
}

.multi_area_hidden{
  display: none;
}

.update_data{
  background-color: #FFFF00;
}

/* スコア管理画面ワーニング */
.zubari_total_score::before{
  content: "ズバリの合計スコア: "
}

.account ul .setting li .input_content::after,
.zubari_total_score::after{
  content: "点"
}

.zubari_total_score{
  font-weight: bold;
  font-size: medium;
  text-align: center;
  margin: 10px 30px 30px 30px;
}

.matching-red{
  color: red;
}

.score-warning{
  color: red;
  font-size: small;
}

/* data-href属性が存在するところをcursor:pointerにする */
[data-href] {
  cursor: pointer;
}
