@charset "UTF-8";
/* --------------------------------------------------------------
 common
-------------------------------------------------------------- */
html {
  font-size: 62.5%; /* 16px x 0.625 = 10px(=1rem) */
}

body {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
  font-family: "メイリオ", "Meiryo", sans-serif;
  color: #444;
  width: 100%;
  scroll-behavior: smooth;
  background-color: #F0F4F7;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; /* フレックスボックスに有効に */
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column; /* 要素を縦に並べる */
  min-height: 100vh; /* 最小でも画面の高さ分のbodyの高さを担保する */
}

html.wait,
html.wait * {
  cursor: wait !important;
}

a {
  text-decoration: none;
  color: #444;
}

p {
  color: #444;
}

main {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  z-index: 1;
}
@media screen and (max-width: 780px) {
  main {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

.wrapper {
  position: relative;
  max-width: 500px;
  margin: 0 auto;
}
@media screen and (max-width: 780px) {
  .wrapper {
    padding: 0 20px;
  }
}

ul {
  list-style: none;
}

input,
select,
textarea {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 7px 10px;
  border: 1px solid #CED4DA;
  border-radius: 3px;
  font-size: 1.6rem;
}

button {
  cursor: pointer;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type=number] {
  -moz-appearance: textfield;
}

input {
  opacity: 1;
  -webkit-text-fill-color: #686868;
}
input:disabled {
  background-color: #E9E9E9;
  color: #686868;
  opacity: 1;
  -webkit-text-fill-color: #686868;
}
input::-webkit-input-placeholder {
  color: #CED4DA !important;
  -webkit-text-fill-color: #CED4DA;
}
input::-moz-placeholder {
  color: #CED4DA !important;
  -webkit-text-fill-color: #CED4DA;
}
input:-ms-input-placeholder {
  color: #CED4DA !important;
  -webkit-text-fill-color: #CED4DA;
}
input::-ms-input-placeholder {
  color: #CED4DA !important;
  -webkit-text-fill-color: #CED4DA;
}
input::placeholder {
  color: #CED4DA !important;
  -webkit-text-fill-color: #CED4DA;
}

input:focus::-webkit-input-placeholder {
  color: transparent;
  -webkit-text-fill-color: transparent;
}

input:focus::-moz-placeholder {
  color: transparent;
  -webkit-text-fill-color: transparent;
}

input:focus:-ms-input-placeholder {
  color: transparent;
  -webkit-text-fill-color: transparent;
}

input:focus::-ms-input-placeholder {
  color: transparent;
  -webkit-text-fill-color: transparent;
}

input:focus::placeholder {
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.select_wrap {
  position: relative;
  border: 1px solid #CED4DA;
  border-radius: 3px;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  line-height: 1;
}
.select_wrap.error {
  border: 2px solid #dc3545;
  background: rgba(220, 53, 69, 0.2);
}
.select_wrap::after {
  content: "";
  display: inline-block;
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  color: #888888;
  pointer-events: none;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  border-color: #888888 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
}
.select_wrap select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 3px;
  border: 0;
  margin: 0;
  padding: 9px;
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  width: 100%;
  cursor: pointer;
}
.select_wrap select option {
  font-size: 1.6rem;
  line-height: 3;
}
.select_wrap .red {
  color: red;
}

.checkbox_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.3em 2em;
  border: none;
}
.checkbox_wrap input[type=checkbox] {
  opacity: 0;
  position: absolute;
  width: 20px;
  height: 20px;
}
.checkbox_wrap label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.5em;
  position: relative;
  cursor: pointer;
}
.checkbox_wrap label:before {
  content: "";
  width: 20px;
  height: 20px;
  border: 1px solid #CED4DA;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.checkbox_wrap label::after {
  position: absolute;
  content: "✓";
  top: 50%;
  left: 2px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 16px;
  color: #fff;
  font-weight: 700;
  font-family: "メイリオ";
}
.checkbox_wrap label:has(> input:checked)::after {
  color: #143653;
}
.checkbox_wrap label span {
  padding-left: 10px;
}

.radioItem {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 4px;
     -moz-column-gap: 4px;
          column-gap: 4px;
  line-height: 1;
  cursor: pointer;
}

.radioItem:not(:last-of-type) {
  margin-right: 16px;
}

.radioButton {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  width: 20px;
  height: 20px;
  border: 1px solid #CED4DA;
  border-radius: 9999px;
  cursor: pointer;
  padding: 10px;
}

.radioButton:checked {
  border: 1px solid #2C92DB;
}

.radioButton:checked::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 12px;
  height: 12px;
  margin: auto;
  border-radius: 9999px;
  background-color: #2C92DB;
}

.dropdown {
  width: 100%;
  height: 34px;
  display: inline-block;
  background-color: #fff;
  border-radius: 3px;
  position: relative;
  font-size: 1.6rem;
  color: #474747;
  text-align: left;
  border: 1px solid #CED4DA;
}
.dropdown.active {
  border: 1px solid #2C92DB;
}
.dropdown.error {
  border: 2px solid #dc3545;
  background: rgba(220, 53, 69, 0.2);
}
.dropdown::after {
  content: "";
  display: inline-block;
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  color: #888888;
  pointer-events: none;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  border-color: #888888 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
}
.dropdown .select {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px;
  height: 34px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.dropdown .dropdown-menu {
  position: absolute;
  background-color: #fff;
  width: 100%;
  left: -1px;
  margin-top: 1px;
  border-radius: 0 1px 2px 2px;
  overflow: hidden;
  display: none;
  max-height: 144px;
  overflow-y: auto;
  z-index: 9;
  border: 1px solid #CED4DA;
  padding: 0;
  list-style: none;
  border-radius: 3px;
}
.dropdown .dropdown-menu.date li {
  display: none;
}
.dropdown .dropdown-menu.date li.unselectable {
  background-color: none;
  display: none;
}
.dropdown .dropdown-menu.time li {
  display: none;
}
.dropdown .dropdown-menu li {
  padding: 5px 10px;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}
.dropdown .dropdown-menu li .data {
  max-width: 300px;
}
.dropdown .dropdown-menu li .red {
  color: red;
  margin-left: 8px;
}
.dropdown .dropdown-menu li:hover {
  background-color: #f2f2f2;
}
.dropdown .dropdown-menu li:active {
  background-color: #e2e2e2;
}
.dropdown .dropdown-menu .unselectable {
  background-color: #ced4da;
  cursor: default;
}
.dropdown .dropdown-menu .unselectable:hover {
  background-color: #ced4da;
}
.dropdown .dropdown-menu .unselectable:active {
  background-color: #ced4da;
}

.togglePassword {
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 7px 10px;
  border: 1px solid #CED4DA;
  border-radius: 3px;
  font-size: 1.6rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.togglePassword input {
  border: none !important;
  outline: none !important;
  padding: 0 !important;
  width: 100%;
}

.gic-on,
.gic-off {
  color: #505050;
  cursor: pointer;
}

/* --------------------------------------------------------------
header
-------------------------------------------------------------- */
.header {
  width: 100%;
  padding: 10px 0;
  background-color: #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border-bottom: 3px solid #2C92DB;
}
.header .wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}
.header .wrapper h1 {
  color: #409CE3;
  font-size: 1.9rem;
  font-weight: bold;
}
.header .wrapper .logout_btn {
  font-size: 1.5rem;
  padding: 5px 5px 5px;
  border: 1px solid #2C92DB;
  background-color: #2C92DB;
  border-radius: 6px;
  color: #fff;
  text-align: center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  width: 80px;
  height: 56px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1rem;
  line-height: 1;
}
.header .wrapper .logout_btn .nav-icon {
  font-size: 26px;
}
.header .wrapper .logout_btn:hover {
  background-color: #fff;
  color: #2C92DB;
}

/* --------------------------------------------------------------
footer
-------------------------------------------------------------- */
.footer {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  z-index: 0;
  position: relative;
  background-image: linear-gradient(135deg, #aec6d8 0%, #3682bc 77.46%, #409ce3 100%);
}
.footer .wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding: 20px;
  font-size: 1.6rem;
}
.footer .copyright {
  color: #fff;
  font-weight: bold;
  width: 100%;
  text-align: right;
}
.footer .list {
  display: block;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  font-weight: bold;
  width: 100%;
  padding-top: 0px;
  padding-bottom: 0px;
  margin-bottom: 20px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  line-height: 27px;
}
.footer .list a {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  color: #fff;
  transition: all 0.3s;
}
.footer .list a:hover {
  color: #e6e6e6;
}

/* --------------------------------------------------------------

    共通部品

-------------------------------------------------------------- */
.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
.row.align-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.row.space-between {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.row-eq-height {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.column {
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: column !important;
          flex-direction: column !important;
}

.justify-content-center {
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
}

.justify-content-space-evenly {
  -webkit-box-pack: space-evenly !important;
      -ms-flex-pack: space-evenly !important;
          justify-content: space-evenly !important;
}

.nowrap {
  white-space: nowrap;
}

.status {
  padding: 3px 0;
  width: 150px;
  color: #fff;
  text-align: center;
  font-weight: bold;
}
.status.fixed {
  background-color: #66D691;
}
.status.cancel {
  background-color: #817971;
}
.status.unfixed {
  background-color: #d67019;
}

.btn {
  padding: 12px 0;
  max-width: 400px;
  width: 100%;
  text-align: center;
  color: #fff;
  font-weight: bold;
  border: none;
  border-radius: 7px;
  display: block;
  font-size: 1.8rem;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.btn.change {
  background-color: #3989C7;
}
.btn.change.go {
  background-color: #C95858;
}
.btn.change.go:hover {
  background-color: #e2a5a5;
}
.btn.change:hover {
  background-color: #6db4e6;
}
.btn.cancel {
  background-color: #C95858;
}
.btn.cancel:hover {
  background-color: #e2a5a5;
}
.btn.back {
  background-color: #e9e9e9;
  color: #444444;
  font-weight: normal;
  width: 195px;
}
.btn.back:hover {
  background-color: #f6f6f6;
  color: #444444;
}
.btn:disabled {
  background-color: #c4c4c4;
  cursor: not-allowed;
}
.btn:disabled:hover {
  background-color: #c4c4c4;
}
.btn.mypage {
  background-color: #ecac81;
}
.btn.mypage:hover {
  background-color: #f6d8c3;
}

.back {
  margin: 0 auto;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  color: #2C92DB;
  font-weight: bold;
  font-size: 1.6rem;
}
.back i {
  left: -10px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  position: relative;
}
.back:hover {
  color: #6db4e6;
}
.back:hover i {
  left: -15px;
}

.selectbox {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.selectbox.w_full {
  width: 100%;
}
.selectbox.w_full select {
  width: 100%;
}

.selectbox::after {
  position: absolute;
  right: 15px;
  width: 10px;
  height: 7px;
  background-color: #535353;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
  pointer-events: none;
}

.selectbox select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  height: 2em;
  padding: 0.4em calc(0.8em + 15px) 0.4em 0.8em;
  border: 1px solid #d0d0d0;
  border-radius: 3px;
  background-color: #fff;
  color: #333333;
  font-size: 1em;
  cursor: pointer;
}
.selectbox select:disabled {
  background-color: #CED4DA;
  cursor: not-allowed;
}

.err_area {
  background-color: #C95858;
  padding: 15px;
  display: none;
  margin-bottom: 20px;
}
.err_area.show {
  display: block;
}
.err_area p {
  color: #fff;
}
.err_area .err_title {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 20px;
  line-height: 1.5;
}
.err_area .err_title span {
  font-size: 2rem;
  margin-right: 10px;
}
.err_area .err_texr li {
  list-style: disc;
  margin-left: 2rem;
  color: #fff;
}

.error_msg {
  display: none;
  color: #dc3545;
  margin-top: 5px;
  margin-bottom: 20px;
  font-size: 1.5rem;
}
.error_msg p {
  color: #dc3545;
}
.error_msg.show {
  display: block;
}

.reserved_area {
  border: 2px solid #2c73aa;
  padding: 20px;
  color: #2c73aa;
  margin-bottom: 30px;
}
.reserved_area .reserved_title {
  color: #2c73aa;
  margin-bottom: 20px;
  font-weight: bold;
}
.reserved_area .reserved_title span {
  font-size: 2.2rem;
  margin-right: 10px;
}
.reserved_area ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: 5px;
  color: #0a4064;
}
.reserved_area ul li span {
  font-size: 2.2rem;
  margin-right: 5px;
}

.attention {
  margin: 30px auto 30px auto;
  padding: 25px 20px;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #2C92DB;
  font-size: 1.5rem;
}
.attention .title {
  margin-bottom: 5px;
  font-size: 1.5rem;
}
.attention .attention_list {
  list-style: disc;
  margin-left: 2.5rem;
}
.attention .attention_list li {
  margin-top: 5px;
}

.scroll_area {
  height: 235px;
  scroll-behavior: smooth;
  overflow-y: scroll;
  border: 1px solid #CED4DA;
  padding: 20px;
  margin-bottom: 20px;
}
.scroll_area p {
  font-size: 1.3rem;
  margin-bottom: 15px;
  color: #444;
}
.scroll_area .right {
  text-align: right;
}
.scroll_area .bold {
  text-align: center;
  font-size: 1.7rem;
  font-weight: bold;
}
.scroll_area .contact {
  text-align: center;
  font-size: 1.7rem;
  margin-top: 60px;
}
.scroll_area .list {
  margin-left: 1.5rem;
  font-size: 1.3rem;
}

.req {
  background-color: #C75F5F;
  color: #fff;
  font-weight: bold;
  font-size: 1.4rem;
  padding: 0 12px;
  border-radius: 15px;
  line-height: 1;
  margin-left: 5px;
}

/* --------------------------------------------------------------

ログインページ

-------------------------------------------------------------- */
#login {
  background-image: linear-gradient(135deg, #aec6d8 0%, #3682bc 77.46%, #409ce3 100%);
}
#login main {
  margin: 0;
}
#login main .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#login main .inner .login-box {
  max-width: 500px;
  width: 100%;
  background-color: #fff;
  border-radius: 15px;
  padding: 35px 15px;
  margin-top: 60px;
}
#login main .inner .login-box .login-logo {
  margin-bottom: 15px;
}
#login main .inner .login-box .login-logo .title {
  color: #2C92DB;
  font-weight: bold;
  font-size: 2.2rem;
  text-align: center;
}
#login main .inner .login-box .login-card-body {
  padding: 0 10px;
}
#login main .inner .login-box .login-card-body .login-box-msg {
  margin-bottom: 15px;
}
#login main .inner .login-box .login-card-body .login-box-msg .link_area {
  margin-top: 5px;
  display: block;
}
#login main .inner .login-box .login-card-body .login-box-msg .link_area .form_link {
  font-weight: bold;
  color: #2C92DB;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  font-size: 1.4rem;
}
#login main .inner .login-box .login-card-body .login-box-msg .link_area .form_link:hover {
  color: #6db4e6;
}
#login main .inner .login-box .login-card-body .title {
  display: block;
  font-weight: bold;
  color: #0A4064;
  font-size: 1.6rem;
  margin-bottom: 3px;
}
#login main .inner .login-box .login-card-body .guide {
  font-size: 1.4rem;
}
#login main .inner .login-box .login-card-body .input-group {
  position: relative;
  width: 100%;
}
#login main .inner .login-box .login-card-body .input-group i {
  position: absolute;
  right: 15px;
  top: 13px;
  width: 20px;
  text-align: center;
  font-size: 2rem;
}
#login main .inner .login-box .login-card-body .input {
  width: 100%;
  border-radius: 3px;
  padding: 5px;
  font-size: 1.6rem;
  font-family: "メイリオ", "Meiryo", sans-serif;
}
#login main .inner .login-box .login-card-body .btn {
  display: block;
  margin: 0 auto;
  padding: 10px 20px;
  border: 1px solid #3989C7;
  background-color: #3989C7;
  border-radius: 6px;
  color: #fff;
  text-align: center;
  font-size: 1.8rem;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  cursor: pointer;
  width: 250px;
}
#login main .inner .login-box .login-card-body .btn:hover {
  background-color: #fff;
  color: #3989C7;
}
#login .login-footer {
  padding-top: 20px;
}
#login .login-footer .list {
  display: block;
  font-weight: bold;
  width: 100%;
  padding-top: 0px;
  padding-bottom: 0px;
  margin-bottom: 20px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  line-height: 27px;
}
#login .login-footer .list a {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  color: #fff;
  transition: all 0.3s;
  display: block;
}
#login .login-footer .list a:hover {
  color: #e6e6e6;
}
#login .login-footer .copyright {
  color: #fff;
  font-weight: bold;
  width: 100%;
  text-align: right;
  padding-bottom: 10px;
}

/* --------------------------------------------------------------

その他ページ共通

-------------------------------------------------------------- */
.main {
  margin-top: 30px;
  margin-bottom: 50px;
  position: relative;
  width: 100%;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.main .h2 {
  font-size: 2.4rem;
  color: #2C73AA;
  text-align: center;
}
.main .h2_inner {
  font-size: 2.2rem;
  color: #2C73AA;
  text-align: center;
  margin-bottom: 15px;
}
.main .h3 {
  font-size: 2rem;
  color: #8e1010;
  text-align: center;
  margin-bottom: 10px;
}
.main .inner {
  margin: 0 auto;
}
.main .inner .box {
  background-color: #fff;
  padding: 30px 0px;
  padding-left: 5%;
  padding-right: 5%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 13px;
}
.main .inner .box .frame {
  padding-bottom: 30px;
}
.main .inner .box .frame .title_data {
  margin-bottom: 20px;
}
.main .inner .box .frame .title {
  font-weight: bold;
  color: #0A4064;
  margin-bottom: 5px;
  font-size: 1.5rem;
}
.main .inner .box .frame .data {
  font-size: 1.7rem;
}
.main .inner .btn_area {
  width: 100%;
}
.main .inner .btn_area .btn {
  margin: 0 auto 15px auto;
}
.main .boder_box {
  border: 1px solid #2C92DB;
  padding: 25px 20px;
  font-size: 1.5rem;
}
.main .boder_box span {
  font-weight: bold;
}

.arrow {
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 40px solid transparent;
  border-left: 40px solid transparent;
  border-top: 30px solid #444444;
  border-bottom: 0;
  position: relative;
  margin: 30px auto 10px auto;
}
.arrow:before {
  position: absolute;
  top: -55px;
  right: -20px;
  content: "";
  width: 40px;
  height: 25px;
  background-color: #444;
}

.start_txt {
  font-size: 1.8rem;
  margin-bottom: 20px;
  text-align: center;
  border: 1px solid #2c92db;
  padding: 10px 15px;
}
.start_txt span {
  color: #dc3545;
  font-weight: bold;
}

.colorectal_txt {
  margin-bottom: 20px;
  border: 1px solid #dc3545;
  padding: 10px 15px;
  color: #dc3545;
}

/* ==============================

　　　　空メール送信画面

============================== */
#blank_mail .main .frame {
  margin-bottom: 0;
}
#blank_mail .main p {
  margin-bottom: 20px;
}
#blank_mail .main .input {
  width: 100%;
}
#blank_mail .main .btn {
  margin-bottom: 0;
}
#blank_mail .main .att_txt {
  padding: 15px;
  color: #dc3545;
  background: #ffebeb;
  border-radius: 10px;
}
#blank_mail .main .note_area {
  padding: 15px;
  margin: 30px 0;
  border-radius: 10px;
  border: 2px solid #2C92DB;
  border-radius: 10px;
}
#blank_mail .main .note_area .note_title {
  color: #2C92DB;
  font-weight: bold;
  text-align: center;
  margin-bottom: 10px;
  font-size: 2rem;
  line-height: 1.6;
}
#blank_mail .main .note_area p {
  margin-bottom: 0;
}
#blank_mail .wait_page h3 {
  color: #2c92db;
  font-size: 2.6rem;
}
#blank_mail .wait_page p {
  margin-top: 40px;
  text-align: center;
}
#blank_mail .start_txt {
  margin-top: 40px;
}

/* ==============================

　　　　パスワード設定画面

============================== */
#set_password .main .frame {
  margin-bottom: 0;
}
#set_password .main .msg {
  margin-bottom: 20px;
}
#set_password .main .guide {
  font-size: 1.5rem;
}
#set_password .main .input {
  width: 100%;
}
#set_password .main .btn {
  margin-bottom: 0;
}

/* ==============================

　　　　受診者情報確認
　　　　最終確認ページ画面共通

============================== */
#entry .h2_inner,
#confirm .h2_inner {
  margin-bottom: 20px;
}
#entry .main .frame,
#confirm .main .frame {
  margin-bottom: 0;
}
#entry .main .guide,
#confirm .main .guide {
  font-size: 1.5rem;
}
#entry .main .input,
#confirm .main .input {
  width: 100%;
}
#entry .main .birthday_group label,
#confirm .main .birthday_group label {
  font-size: 1.5rem;
}
#entry .main .birthday_group .input,
#confirm .main .birthday_group .input {
  padding: 5px;
}

/* ==============================

　　　　受診者情報確認画面

============================== */
#entry .main .frame {
  padding-bottom: 0;
}
#entry .main .msg {
  margin-bottom: 15px;
}
#entry .main .msg a {
  color: #409CE3;
  cursor: pointer;
}

/* ==============================

　　　　最終確認ページ画面共通

============================== */
#confirm .main .btn.change {
  margin-bottom: 20px;
}
#confirm .main .btn.back {
  margin-bottom: 0;
}
#confirm .main .msg {
  margin-bottom: 15px;
}
#confirm .main .frame {
  padding-bottom: 0;
}

/* ==============================

　　　　申し込み完了ページ画面

============================== */
#complete .h2_inner {
  margin-bottom: 20px;
}

/* ==============================

　　　　プライバシーポリシーページ画面

============================== */
#policy h2 {
  font-size: 2.2rem;
  color: #2c73aa;
  text-align: center;
  margin-bottom: 15px;
}
#policy .text_area p {
  margin-bottom: 10px;
  font-size: 1.3rem;
}
#policy .text_area p.right {
  text-align: right;
}
#policy .text_area p.center {
  text-align: center;
}
#policy .text_area p.bold {
  font-weight: 600;
  text-align: center;
  margin: 10px 0;
  font-size: 1.6rem;
}
#policy .text_area p.contact {
  margin: 40px 0 10px;
  font-size: 1.6rem;
}
#policy .text_area ul,
#policy .text_area ol {
  margin: 20px;
}
#policy .text_area ul li,
#policy .text_area ol li {
  margin-bottom: 10px;
  font-size: 1.3rem;
}
#policy .back {
  margin-top: 30px;
}

/* ==============================

　　　　お問い合わせページ画面

============================== */
#contact h2 {
  font-size: 2.2rem;
  color: #2c73aa;
  text-align: center;
  margin-bottom: 15px;
}
#contact h3 {
  font-weight: 600;
  text-align: center;
  margin: 10px 0;
  font-size: 1.6rem;
  text-align: left;
  color: #C75F5F;
  margin-top: 30px;
}
#contact p {
  margin-bottom: 0;
  font-size: 1.4rem;
}
#contact .frame_data_area a {
  text-decoration: underline;
  color: #2C92DB;
}
#contact .back {
  margin-top: 30px;
  text-decoration: none !important;
}

/* ==============================

　　　　調整用

============================== */
/* ------------------------------
　幅
------------------------------- */
/* width 10〜500 */
.w_10 {
  width: 10px !important;
}

.w_20 {
  width: 20px !important;
}

.w_30 {
  width: 30px !important;
}

.w_40 {
  width: 40px !important;
}

.w_50 {
  width: 50px !important;
}

.w_60 {
  width: 60px !important;
}

.w_70 {
  width: 70px !important;
}

.w_80 {
  width: 80px !important;
}

.w_90 {
  width: 90px !important;
}

.w_100 {
  width: 100px !important;
}

.w_110 {
  width: 110px !important;
}

.w_120 {
  width: 120px !important;
}

.w_130 {
  width: 130px !important;
}

.w_140 {
  width: 140px !important;
}

.w_150 {
  width: 150px !important;
}

.w_160 {
  width: 160px !important;
}

.w_170 {
  width: 170px !important;
}

.w_180 {
  width: 180px !important;
}

.w_190 {
  width: 190px !important;
}

.w_200 {
  width: 200px !important;
}

.w_210 {
  width: 210px !important;
}

.w_220 {
  width: 220px !important;
}

.w_230 {
  width: 230px !important;
}

.w_240 {
  width: 240px !important;
}

.w_250 {
  width: 250px !important;
}

.w_260 {
  width: 260px !important;
}

.w_270 {
  width: 270px !important;
}

.w_280 {
  width: 280px !important;
}

.w_290 {
  width: 290px !important;
}

.w_300 {
  width: 300px !important;
}

.w_310 {
  width: 310px !important;
}

.w_320 {
  width: 320px !important;
}

.w_330 {
  width: 330px !important;
}

.w_340 {
  width: 340px !important;
}

.w_350 {
  width: 350px !important;
}

.w_360 {
  width: 360px !important;
}

.w_370 {
  width: 370px !important;
}

.w_380 {
  width: 380px !important;
}

.w_390 {
  width: 390px !important;
}

.w_400 {
  width: 400px !important;
}

.w_410 {
  width: 410px !important;
}

.w_420 {
  width: 420px !important;
}

.w_430 {
  width: 430px !important;
}

.w_440 {
  width: 440px !important;
}

.w_450 {
  width: 450px !important;
}

.w_460 {
  width: 460px !important;
}

.w_470 {
  width: 470px !important;
}

.w_480 {
  width: 480px !important;
}

.w_490 {
  width: 490px !important;
}

.w_500 {
  width: 500px !important;
}

.w_100p {
  width: 100%;
}

.w_auto {
  width: auto;
}

.min_width_fit {
  min-width: -webkit-max-content;
  min-width: -moz-max-content;
  min-width: max-content;
}

/* ------------------------------
　margin
------------------------------- */
/* margin 0〜10 */
.m_0 {
  margin: 0px !important;
}

.mt_0 {
  margin-top: 0px !important;
}

.mb_0 {
  margin-bottom: 0px !important;
}

.ml_0 {
  margin-left: 0px !important;
}

.mr_0 {
  margin-right: 0px !important;
}

.m_1 {
  margin: 1px !important;
}

.mt_1 {
  margin-top: 1px !important;
}

.mb_1 {
  margin-bottom: 1px !important;
}

.ml_1 {
  margin-left: 1px !important;
}

.mr_1 {
  margin-right: 1px !important;
}

.m_2 {
  margin: 2px !important;
}

.mt_2 {
  margin-top: 2px !important;
}

.mb_2 {
  margin-bottom: 2px !important;
}

.ml_2 {
  margin-left: 2px !important;
}

.mr_2 {
  margin-right: 2px !important;
}

.m_3 {
  margin: 3px !important;
}

.mt_3 {
  margin-top: 3px !important;
}

.mb_3 {
  margin-bottom: 3px !important;
}

.ml_3 {
  margin-left: 3px !important;
}

.mr_3 {
  margin-right: 3px !important;
}

.m_4 {
  margin: 4px !important;
}

.mt_4 {
  margin-top: 4px !important;
}

.mb_4 {
  margin-bottom: 4px !important;
}

.ml_4 {
  margin-left: 4px !important;
}

.mr_4 {
  margin-right: 4px !important;
}

.m_5 {
  margin: 5px !important;
}

.mt_5 {
  margin-top: 5px !important;
}

.mb_5 {
  margin-bottom: 5px !important;
}

.ml_5 {
  margin-left: 5px !important;
}

.mr_5 {
  margin-right: 5px !important;
}

.m_6 {
  margin: 6px !important;
}

.mt_6 {
  margin-top: 6px !important;
}

.mb_6 {
  margin-bottom: 6px !important;
}

.ml_6 {
  margin-left: 6px !important;
}

.mr_6 {
  margin-right: 6px !important;
}

.m_7 {
  margin: 7px !important;
}

.mt_7 {
  margin-top: 7px !important;
}

.mb_7 {
  margin-bottom: 7px !important;
}

.ml_7 {
  margin-left: 7px !important;
}

.mr_7 {
  margin-right: 7px !important;
}

.m_8 {
  margin: 8px !important;
}

.mt_8 {
  margin-top: 8px !important;
}

.mb_8 {
  margin-bottom: 8px !important;
}

.ml_8 {
  margin-left: 8px !important;
}

.mr_8 {
  margin-right: 8px !important;
}

.m_9 {
  margin: 9px !important;
}

.mt_9 {
  margin-top: 9px !important;
}

.mb_9 {
  margin-bottom: 9px !important;
}

.ml_9 {
  margin-left: 9px !important;
}

.mr_9 {
  margin-right: 9px !important;
}

.m_10 {
  margin: 10px !important;
}

.mt_10 {
  margin-top: 10px !important;
}

.mb_10 {
  margin-bottom: 10px !important;
}

.ml_10 {
  margin-left: 10px !important;
}

.mr_10 {
  margin-right: 10px !important;
}

/* margin 15〜50 */
.m_15 {
  margin: 15px !important;
}

.mt_15 {
  margin-top: 15px !important;
}

.mb_15 {
  margin-bottom: 15px !important;
}

.ml_15 {
  margin-left: 15px !important;
}

.mr_15 {
  margin-right: 15px !important;
}

.m_20 {
  margin: 20px !important;
}

.mt_20 {
  margin-top: 20px !important;
}

.mb_20 {
  margin-bottom: 20px !important;
}

.ml_20 {
  margin-left: 20px !important;
}

.mr_20 {
  margin-right: 20px !important;
}

.m_25 {
  margin: 25px !important;
}

.mt_25 {
  margin-top: 25px !important;
}

.mb_25 {
  margin-bottom: 25px !important;
}

.ml_25 {
  margin-left: 25px !important;
}

.mr_25 {
  margin-right: 25px !important;
}

.m_30 {
  margin: 30px !important;
}

.mt_30 {
  margin-top: 30px !important;
}

.mb_30 {
  margin-bottom: 30px !important;
}

.ml_30 {
  margin-left: 30px !important;
}

.mr_30 {
  margin-right: 30px !important;
}

.m_35 {
  margin: 35px !important;
}

.mt_35 {
  margin-top: 35px !important;
}

.mb_35 {
  margin-bottom: 35px !important;
}

.ml_35 {
  margin-left: 35px !important;
}

.mr_35 {
  margin-right: 35px !important;
}

.m_40 {
  margin: 40px !important;
}

.mt_40 {
  margin-top: 40px !important;
}

.mb_40 {
  margin-bottom: 40px !important;
}

.ml_40 {
  margin-left: 40px !important;
}

.mr_40 {
  margin-right: 40px !important;
}

.m_45 {
  margin: 45px !important;
}

.mt_45 {
  margin-top: 45px !important;
}

.mb_45 {
  margin-bottom: 45px !important;
}

.ml_45 {
  margin-left: 45px !important;
}

.mr_45 {
  margin-right: 45px !important;
}

.m_50 {
  margin: 50px !important;
}

.mt_50 {
  margin-top: 50px !important;
}

.mb_50 {
  margin-bottom: 50px !important;
}

.ml_50 {
  margin-left: 50px !important;
}

.mr_50 {
  margin-right: 50px !important;
}

/* margin -10〜-1 */
.m_-1 {
  margin: -1px !important;
}

.mt_-1 {
  margin-top: -1px !important;
}

.mb_-1 {
  margin-bottom: -1px !important;
}

.ml_-1 {
  margin-left: -1px !important;
}

.mr_-1 {
  margin-right: -1px !important;
}

.m_-2 {
  margin: -2px !important;
}

.mt_-2 {
  margin-top: -2px !important;
}

.mb_-2 {
  margin-bottom: -2px !important;
}

.ml_-2 {
  margin-left: -2px !important;
}

.mr_-2 {
  margin-right: -2px !important;
}

.m_-3 {
  margin: -3px !important;
}

.mt_-3 {
  margin-top: -3px !important;
}

.mb_-3 {
  margin-bottom: -3px !important;
}

.ml_-3 {
  margin-left: -3px !important;
}

.mr_-3 {
  margin-right: -3px !important;
}

.m_-4 {
  margin: -4px !important;
}

.mt_-4 {
  margin-top: -4px !important;
}

.mb_-4 {
  margin-bottom: -4px !important;
}

.ml_-4 {
  margin-left: -4px !important;
}

.mr_-4 {
  margin-right: -4px !important;
}

.m_-5 {
  margin: -5px !important;
}

.mt_-5 {
  margin-top: -5px !important;
}

.mb_-5 {
  margin-bottom: -5px !important;
}

.ml_-5 {
  margin-left: -5px !important;
}

.mr_-5 {
  margin-right: -5px !important;
}

.m_-6 {
  margin: -6px !important;
}

.mt_-6 {
  margin-top: -6px !important;
}

.mb_-6 {
  margin-bottom: -6px !important;
}

.ml_-6 {
  margin-left: -6px !important;
}

.mr_-6 {
  margin-right: -6px !important;
}

.m_-7 {
  margin: -7px !important;
}

.mt_-7 {
  margin-top: -7px !important;
}

.mb_-7 {
  margin-bottom: -7px !important;
}

.ml_-7 {
  margin-left: -7px !important;
}

.mr_-7 {
  margin-right: -7px !important;
}

.m_-8 {
  margin: -8px !important;
}

.mt_-8 {
  margin-top: -8px !important;
}

.mb_-8 {
  margin-bottom: -8px !important;
}

.ml_-8 {
  margin-left: -8px !important;
}

.mr_-8 {
  margin-right: -8px !important;
}

.m_-9 {
  margin: -9px !important;
}

.mt_-9 {
  margin-top: -9px !important;
}

.mb_-9 {
  margin-bottom: -9px !important;
}

.ml_-9 {
  margin-left: -9px !important;
}

.mr_-9 {
  margin-right: -9px !important;
}

.m_-10 {
  margin: -10px !important;
}

.mt_-10 {
  margin-top: -10px !important;
}

.mb_-10 {
  margin-bottom: -10px !important;
}

.ml_-10 {
  margin-left: -10px !important;
}

.mr_-10 {
  margin-right: -10px !important;
}

/* ------------------------------
　padding
------------------------------- */
/* padding 0〜10 */
.p_0 {
  padding: 0px !important;
}

.pt_0 {
  padding-top: 0px !important;
}

.pb_0 {
  padding-bottom: 0px !important;
}

.pl_0 {
  padding-left: 0px !important;
}

.pr_0 {
  padding-right: 0px !important;
}

.p_1 {
  padding: 1px !important;
}

.pt_1 {
  padding-top: 1px !important;
}

.pb_1 {
  padding-bottom: 1px !important;
}

.pl_1 {
  padding-left: 1px !important;
}

.pr_1 {
  padding-right: 1px !important;
}

.p_2 {
  padding: 2px !important;
}

.pt_2 {
  padding-top: 2px !important;
}

.pb_2 {
  padding-bottom: 2px !important;
}

.pl_2 {
  padding-left: 2px !important;
}

.pr_2 {
  padding-right: 2px !important;
}

.p_3 {
  padding: 3px !important;
}

.pt_3 {
  padding-top: 3px !important;
}

.pb_3 {
  padding-bottom: 3px !important;
}

.pl_3 {
  padding-left: 3px !important;
}

.pr_3 {
  padding-right: 3px !important;
}

.p_4 {
  padding: 4px !important;
}

.pt_4 {
  padding-top: 4px !important;
}

.pb_4 {
  padding-bottom: 4px !important;
}

.pl_4 {
  padding-left: 4px !important;
}

.pr_4 {
  padding-right: 4px !important;
}

.p_5 {
  padding: 5px !important;
}

.pt_5 {
  padding-top: 5px !important;
}

.pb_5 {
  padding-bottom: 5px !important;
}

.pl_5 {
  padding-left: 5px !important;
}

.pr_5 {
  padding-right: 5px !important;
}

.p_6 {
  padding: 6px !important;
}

.pt_6 {
  padding-top: 6px !important;
}

.pb_6 {
  padding-bottom: 6px !important;
}

.pl_6 {
  padding-left: 6px !important;
}

.pr_6 {
  padding-right: 6px !important;
}

.p_7 {
  padding: 7px !important;
}

.pt_7 {
  padding-top: 7px !important;
}

.pb_7 {
  padding-bottom: 7px !important;
}

.pl_7 {
  padding-left: 7px !important;
}

.pr_7 {
  padding-right: 7px !important;
}

.p_8 {
  padding: 8px !important;
}

.pt_8 {
  padding-top: 8px !important;
}

.pb_8 {
  padding-bottom: 8px !important;
}

.pl_8 {
  padding-left: 8px !important;
}

.pr_8 {
  padding-right: 8px !important;
}

.p_9 {
  padding: 9px !important;
}

.pt_9 {
  padding-top: 9px !important;
}

.pb_9 {
  padding-bottom: 9px !important;
}

.pl_9 {
  padding-left: 9px !important;
}

.pr_9 {
  padding-right: 9px !important;
}

.p_10 {
  padding: 10px !important;
}

.pt_10 {
  padding-top: 10px !important;
}

.pb_10 {
  padding-bottom: 10px !important;
}

.pl_10 {
  padding-left: 10px !important;
}

.pr_10 {
  padding-right: 10px !important;
}

/* padding 15〜50 */
.p_15 {
  padding: 15px !important;
}

.pt_15 {
  padding-top: 15px !important;
}

.pb_15 {
  padding-bottom: 15px !important;
}

.pl_15 {
  padding-left: 15px !important;
}

.pr_15 {
  padding-right: 15px !important;
}

.p_20 {
  padding: 20px !important;
}

.pt_20 {
  padding-top: 20px !important;
}

.pb_20 {
  padding-bottom: 20px !important;
}

.pl_20 {
  padding-left: 20px !important;
}

.pr_20 {
  padding-right: 20px !important;
}

.p_25 {
  padding: 25px !important;
}

.pt_25 {
  padding-top: 25px !important;
}

.pb_25 {
  padding-bottom: 25px !important;
}

.pl_25 {
  padding-left: 25px !important;
}

.pr_25 {
  padding-right: 25px !important;
}

.p_30 {
  padding: 30px !important;
}

.pt_30 {
  padding-top: 30px !important;
}

.pb_30 {
  padding-bottom: 30px !important;
}

.pl_30 {
  padding-left: 30px !important;
}

.pr_30 {
  padding-right: 30px !important;
}

.p_35 {
  padding: 35px !important;
}

.pt_35 {
  padding-top: 35px !important;
}

.pb_35 {
  padding-bottom: 35px !important;
}

.pl_35 {
  padding-left: 35px !important;
}

.pr_35 {
  padding-right: 35px !important;
}

.p_40 {
  padding: 40px !important;
}

.pt_40 {
  padding-top: 40px !important;
}

.pb_40 {
  padding-bottom: 40px !important;
}

.pl_40 {
  padding-left: 40px !important;
}

.pr_40 {
  padding-right: 40px !important;
}

.p_45 {
  padding: 45px !important;
}

.pt_45 {
  padding-top: 45px !important;
}

.pb_45 {
  padding-bottom: 45px !important;
}

.pl_45 {
  padding-left: 45px !important;
}

.pr_45 {
  padding-right: 45px !important;
}

.p_50 {
  padding: 50px !important;
}

.pt_50 {
  padding-top: 50px !important;
}

.pb_50 {
  padding-bottom: 50px !important;
}

.pl_50 {
  padding-left: 50px !important;
}

.pr_50 {
  padding-right: 50px !important;
}/*# sourceMappingURL=layout.css.map */