@charset "UTF-8";

/********************************************
コンポーネント読み込み
//********************************************/

/********************************************
全体共通
********************************************/

html {
  height: 100%;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", Verdana, Meiryo, sans-serif;
  font-weight: 500;
  background-color: #fff;
  color: #000;
  padding-top: 100px;
}

body.login-area {
  background-image: url("/img/common/background.png");
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
  background-color: #464646;
  height: 100%;
  padding-top: 0;
}

a {
  color: #000;
  opacity: 1;
  outline: 0;
  text-decoration: none;
}

a:hover,
a:active {
  opacity: 0.8;
  transition: 0.4s;
  text-decoration: none;
  color: inherit;
}

a.link {
  text-decoration: underline;
}

hr {
  background-color: #d5d5d5;
}

ul.list-notice {
  padding-left: 0;
  list-style: none;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

ul.list-notice li {
  padding-left: 1rem;
  padding-bottom: 0.3rem;
  text-indent: -1rem;
}

ul.list-notice li::before {
  content: "\203B";
}

.text-notice {
  display: inline-block;
  padding-left: 1rem;
  text-indent: -1rem;
}

.text-notice::before {
  content: "\203B";
}

h2.header-title {
  text-align: center;
  color: #4F65AC;
  font-size: 30px;
  font-weight: 600;
  margin-bottom: 30px;
}

@media (max-width: 768px) {
  h2.header-title {
    font-size: 24px;
    margin-bottom: 15px;
  }
}

.member h2.header-title {
  text-align: left;
  color: #000;
  font-size: 30px;
  font-weight: 600;
  margin-bottom: 30px;
}

@media (max-width: 768px) {
  .member h2.header-title {
    margin-bottom: 15px;
  }
}

h3.header-title {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 10px;
}

h3.header-heading {
  font-size: 20px;
  font-weight: 600;
  color: #fff;
  background-color: #4F65AC;
  padding: 10px;
}

h4.header-heading {
  font-size: 18px;
  font-weight: 600;
  color: #fff;
  background-color: #2B3964;
  padding: 10px;
  text-align: center;
}

.header-bar {
  background-color: #FAF5DA;
  padding: 1rem;
  margin-bottom: 1rem;
  font-size: 14px;
}

@media (max-width: 768px) {
  .header-bar {
    padding: 0.5rem;
  }
}

.header-bar ul {
  margin-bottom: 0;
}

.header-bar .search-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  .header-bar .search-box {
    display: block;
  }
}

.header-bar .search-box .form-select {
  display: inline-block;
  width: 250px !important;
}

.complete h2,
.complete h3 {
  margin-top: 40px;
  margin-bottom: 30px;
}

@media (max-width: 768px) {
  .complete h2,
  .complete h3 {
    margin-bottom: 15px;
  }
}

.complete h2.header-complete {
  text-align: center;
  font-size: 40px;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "segoe ui", "\6E38\30B4\30B7\30C3\30AF   Medium", "\30E1\30A4\30EA\30AA", Meiryo, "\FF2D\FF33   \FF30\30B4\30B7\30C3\30AF", "MS PGothic", sans-serif;
  color: #4F65AC;
}

.complete h3.header-complete {
  text-align: left;
  font-size: 24px;
  color: #000;
}

.action-area {
  background-color: #E9ECF5;
  margin-top: 30px;
  padding: 20px 15px;
  text-align: center;
}

.action-area a {
  line-height: 3.3;
}

@media (max-width: 768px) {
  .action-area a {
    width: 50%;
  }

  .action-area a.btn-action-sp {
    width: 100%;
  }
}

.caution-area {
  background-color: #FAF5DA;
  border: 1px solid #B21820;
  color: #B21820;
  padding: 20px 15px;
  font-size: 14px;
  font-weight: 600;
}

.info-area {
  background-color: #FAF5DA;
  padding: 20px 15px;
  font-size: 14px;
  font-weight: 600;
}

.info-area2 {
  background-color: #FAF5DA;
  border: 1px solid #D57E08;
  color: #000;
  padding: 20px 15px;
  font-size: 16px;
  font-weight: 600;
}

.info-area2 .form-check {
  display: flex;
  justify-content: center;
  align-items: center;
}

.info-area2 .form-check .form-check-input {
  float: inherit;
  margin-right: 10px;
}

.complete-area {
  background-color: #FAF5DA;
  padding: 20px 15px;
  font-weight: 500;
  text-align: center;
}

.reserve-complete-area {
  background-color: #e86161;
  padding: 20px 15px;
  font-weight: 600;
  text-align: center;
  color: #fff;
}

.detail-area {
  background-color: #fff;
  color: #707070;
  padding: 20px 15px;
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 20px;
}

.font-weight-light {
  font-weight: 500;
}

.font-weight-regular {
  font-weight: 400;
}

.font-weight-medium {
  font-weight: 500;
}

.font-weight-semibold {
  font-weight: 600;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
}

.font-weight-bold {
  font-weight: 700;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
}

.font-weight-black {
  font-weight: 900;
}

.font-size-12 {
  font-size: 12px;
}

.font-size-14 {
  font-size: 14px;
}

.font-size-normal {
  font-size: 16px;
}

.font-size-18 {
  font-size: 18px;
}

.font-size-20 {
  font-size: 20px;
}

.centered {
  display: flex;
  justify-content: center;
  align-items: center;
}

@media (max-width: 768px) {
  .centered {
    display: block;
  }
}

.pc-none {
  display: none !important;
}

@media (min-width: 1024px) {
  .pc-xl-none {
    display: none;
  }

  .sp-xl-none {
    display: block;
  }
}

@media (max-width: 992px) {
  .pc-lg-none {
    display: block;
  }

  .sp-lg-none {
    display: none;
  }
}

@media (max-width: 768px) {
  .pc-none {
    display: block !important;
  }

  .sp-none {
    display: none !important;
  }
}

.text-blue {
  color: #4F65AC;
}

.text-light-blue {
  color: #446be9;
}

.text-red {
  color: #B21820;
}

.text-light-red {
  color: #ff1022;
}

.text-light-gray {
  color: #BFBCBC;
}

.bg-red {
  background-color: #fff5f5;
}

.bg-light-red {
  background-color: #ff1022 !important;
}

.bg-yellow {
  background-color: #FAF5DA;
}

.bg-blue {
  background-color: #f9fbff;
}

.bg-green {
  background-color: #f8fff7;
}

.bg-light-green {
  background-color: #FAFEE4;
}

.bg-orange {
  background-color: #fffbf6;
}

.bg-gray {
  background-color: #7a7a7a !important;
}

.bg-light-gray {
  background-color: #e0dada !important;
}

.alert {
  padding: 0.5rem 1rem;
}

.alert-message {
  background-color: #ffde6f;
  color: #fff;
  font-weight: 700;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
}

.alert-red {
  background-color: #B21820;
  color: #fff;
  font-weight: 700;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
  border-radius: inherit;
}

.alert-green {
  background-color: #117003;
  color: #fff;
  font-weight: 700;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
  border-radius: inherit;
}

.alert-orange {
  background-color: #D57E08;
  color: #fff;
  font-weight: 700;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
  border-radius: inherit;
}

.alert-blue {
  background-color: #02154E;
  color: #fff;
  font-weight: 700;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
  border-radius: inherit;
}

.alert-white {
  background-color: #fff;
  border: 1px solid #333;
  color: #333;
  font-weight: 700;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
  border-radius: inherit;
}

.img-icon {
  width: 28px;
  vertical-align: bottom;
  margin-right: 10px;
}

.border-red {
  border: 1px solid #B21820;
}

.border-green {
  border: 1px solid #117003;
}

.border-gray {
  border: 1px solid #e0dada;
}

.border-orange {
  border: 1px solid #D57E08;
}

.border-blue {
  border: 1px solid #02154E;
}

.circle {
  display: inline-block;
  width: 24px !important;
  height: 24px !important;
  border-radius: 50%;
  background-color: #D870C0;
  margin-right: 10px;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  color: #F2F2F2;
  padding: 1px;
}

.circle.s-circle {
  background-color: #D870C0;
}

.circle.k-circle {
  background-color: #7EC452;
}

.circle.blue-circle {
  background-color: #4F65AC;
}

.collapsed i {
  transform: rotateX(180deg);
}

.youtube-modal {
  text-align: center;
  position: relative;
  margin: 23px 0;
}

.youtube-modal a i {
  position: absolute;
  top: 50%;
  left: 50%;
  opacity: 0.9;
  transform: translateX(-50%) translateY(-50%);
}

/********************************************
modaal
********************************************/

.modaal-container {
  border-radius: 10px !important;
}

.modaal-close {
  position: absolute !important;
  background-color: #000 !important;
  right: -20px !important;
  top: -20px !important;
}

@media (max-width: 768px) {
  .modaal-content-container {
    padding: 15px !important;
  }
}

.modaal-content-container #modaal-title {
  text-align: center !important;
  font-size: 20px !important;
}

.modaal-content-container .modaal-confirm-btn.modaal-ok {
  border-radius: 3px !important;
  border: 1px solid #555;
}

@media (max-width: 768px) {
  .modaal-content-container .modaal-confirm-btn.modaal-ok {
    margin-bottom: 30px;
  }
}

.modaal-content-container .modaal-confirm-btn.modaal-cancel {
  padding: 10px 15px;
  color: #000;
  background: #fff;
  border-radius: 3px !important;
  transition: background 0.2s ease-in-out;
  border: 1px solid #000;
  text-decoration: none;
}

@media (max-width: 768px) {
  .modaal-content-container .modaal-confirm-btn.modaal-cancel {
    margin-bottom: 30px;
  }
}

.modaal-overlay {
  opacity: 0.6 !important;
}

.swal2-container.swal2-center > .swal2-popup {
  border-radius: 10px;
}

.swal2-styled.swal2-confirm:focus {
  box-shadow: none;
}

/********************************************
スクロール
********************************************/

#scrollUp {
  bottom: 30px;
  right: 30px;
  background-color: #4F65AC;
  color: #fff;
  text-decoration: none;
  text-align: center;
  width: 50px;
  height: 50px;
  padding-top: 10px;
  transition: background 200ms linear;
}

@media (max-width: 768px) {
  #scrollUp {
    bottom: 15px;
    right: 15px;
    width: 25px;
    height: 25px;
    padding-top: 0;
  }
}

.sl-wrapper {
  z-index: 99999999 !important;
}

.sl-overlay {
  z-index: 888888 !important;
}

/********************************************
display mask
********************************************/

.prevention-masked {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3040;
  background-color: #000;
  filter: alpha(opacity=50);
  opacity: 0.5;
}

.bg-load-overlay {
  background: rgba(255, 255, 255, 0.4);
  box-sizing: border-box;
  position: fixed;
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: space-around;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9000;
  opacity: 1;
}

/********************************************
ボタン
********************************************/

.btn {
  font-size: 16px;
  font-weight: 700;
  border-radius: 3px;
}

.btn:hover {
  opacity: 0.8;
  transition: all 0.4s;
  color: #fff;
}

@media (max-width: 768px) {
  .btn {
    display: block;
    width: 100%;
  }
}

.btn-sm {
  font-size: 0.875rem !important;
  font-weight: normal !important;
  width: auto !important;
}

.btn-block {
  width: 100% !important;
}

button:focus {
  outline: 0;
}

.btn-default {
  background-color: #4F65AC;
  color: #FFF;
  width: 135px;
  padding: 5px;
}

.btn-outline-default {
  color: #4F65AC;
  border-color: #4F65AC;
  width: 135px;
  padding: 5px;
}

.btn-outline-default:hover {
  color: #fff;
  background-color: #4F65AC;
}

.btn-action {
  background-color: #486fdc;
  color: #FFF;
  width: 400px;
  padding: 20px 0;
}

@media (max-width: 768px) {
  .btn-action {
    display: block;
    width: 100%;
  }
}

.btn-reserve {
  background-color: #D9820A;
  border: 1px solid #834E04;
  color: #FFF;
}

@media (max-width: 768px) {
  .btn-reserve {
    display: block;
    width: 100%;
  }
}

.btn-search {
  background-color: #4BAC87;
  border: 1px solid #4BAC87;
  color: #FFF;
}

@media (max-width: 768px) {
  .btn-search {
    display: block;
    width: 100%;
  }
}

.btn-black {
  background-color: #000;
  color: #FFF;
}

.btn-white {
  background-color: #fff;
  color: #000;
  border: 1px solid #000;
}

.btn-white:hover {
  color: #000;
}

.btn-red {
  background-color: #B21820;
  color: #fff;
}

.btn-green {
  background-color: #117003;
  color: #fff;
}

.btn-orange {
  background-color: #D57E08;
  color: #fff;
}

.btn-blue {
  background-color: #02154E;
  color: #fff;
}

.btn-gray {
  background-color: #e0dada;
  color: #FFF;
}

.btn-darkgray {
  background-color: #727070;
  color: #FFF;
}

.btn-receipt {
  background-color: #e1b132;
  color: #fff;
  width: 135px;
  padding: 5px;
}

.search-box .btn,
.sp-search-list .btn {
  opacity: 0.5;
}

.btn-check:checked + label {
  opacity: 1;
}

.btn-box {
  margin: 30px 0;
}

.btn-box p {
  display: inline-block;
}

.swal2-styled.swal2-confirm {
  border-radius: 3px;
  background-color: #4F65AC;
}

.swal2-styled.swal2-cancel {
  border-radius: 3px;
}

/********************************************
bootstrap拡張
********************************************/

@media (min-width: 768px) {
  .container {
    max-width: 768px;
  }
}

@media (min-width: 992px) {
  .container {
    max-width: 768px;
  }
}

@media (min-width: 1200px) {
  .container {
    max-width: 1140px;
  }
}

@media (min-width: 1400px) {
  .container {
    max-width: 1320px;
  }
}

/**
 * 5カラム定義
 */

.col-15,
.col-sm-15,
.col-md-15,
.col-lg-15,
.col-xl-15 {
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}

.col-15 {
  flex: 0 0 20%;
  max-width: 20%;
}

@media (min-width: 576px) {
  .col-sm-15 {
    flex: 0 0 20%;
    max-width: 20%;
  }
}

@media (min-width: 768px) {
  .col-md-15 {
    flex: 0 0 20%;
    max-width: 20%;
  }

  .col-md-offset-15 {
    margin-left: 4.3333333%;
  }
}

@media (min-width: 992px) {
  .col-lg-15 {
    flex: 0 0 20%;
    max-width: 20%;
  }
}

@media (min-width: 1200px) {
  .col-xl-15 {
    flex: 0 0 20%;
    max-width: 20%;
  }
}

@media (min-width: 768px) {
  .card-columns {
    -moz-column-count: 4;
         column-count: 4;
  }
}

/* Large devices (desktops, 992px and up) */

@media (min-width: 992px) {
  .card-columns {
    -moz-column-count: 4;
         column-count: 4;
  }
}

.modal-content {
  border-radius: 0;
}

/********************************************
フォーム
********************************************/

input:focus {
  color: #343434;
}

.form-control {
  border: 1px solid #BFBFBF;
  background-color: #fff;
  height: 45px;
}

.form-control:focus {
  color: #343434;
}

.form-control::-moz-placeholder {
  color: #B5B5B5;
  font-size: 16px;
}

.form-control:-ms-input-placeholder {
  color: #B5B5B5;
  font-size: 16px;
}

.form-control::placeholder {
  color: #B5B5B5;
  font-size: 16px;
}

form .col-form-label {
  font-size: 16px;
  font-weight: 600;
  position: relative;
}

form select {
  width: auto !important;
  max-width: 100%;
}

form label span.required {
  display: block;
  position: absolute;
  width: 35px;
  top: 25%;
  right: 10px;
  line-height: 20px;
  padding: 1px;
  background: #B21820;
  color: #fff;
  font-weight: 600;
  font-size: 10px;
  text-align: center;
}

form .form-text {
  font-size: 12px;
  font-weight: 500;
}

form .input-wrap {
  position: relative;
}

form .input-wrap .toggle-password {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}

form .input-wrap #zip-search {
  position: absolute;
  top: 50%;
  left: 120px;
  transform: translateY(-50%);
}

form .input-checkbox {
  display: flex;
  align-items: center;
  background-color: #fff;
  width: 31%;
  padding: 10px;
  position: relative;
  cursor: pointer;
  font-weight: 500;
  border: 2px solid #ddd;
  border-radius: 15px;
  margin: 0 7px;
}

form .input-checkbox:hover {
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.16);
}

form .input-checkbox input {
  width: 20px;
}

form .input-checkbox span {
  width: 80%;
}

form .input-checkbox img {
  max-width: 52px;
  margin-left: 10px;
  margin-right: 10px;
}

form .form-name {
  display: inline-block;
  width: calc((100% - 5px) / 2);
}

@media (max-width: 768px) {
  form .form-name {
    width: 100%;
    margin-bottom: 5px;
  }
}

form #birthyear,
form #birthmonth,
form #birthday,
form #tel1,
form #tel2,
form #tel3,
form #rentel1,
form #rentel2,
form #rentel3,
form .form-year,
form .form-month {
  display: inline-block;
  width: 15%;
  margin-right: 5px;
}

@media (max-width: 768px) {
  form #birthyear,
  form #birthmonth,
  form #birthday,
  form #tel1,
  form #tel2,
  form #tel3,
  form #rentel1,
  form #rentel2,
  form #rentel3,
  form .form-year,
  form .form-month {
    width: 25%;
  }
}

form #birthyear {
  width: 175px !important;
}

form #postno {
  width: 100px;
}

/********************************************
pagination
********************************************/

.pagination .page-item.active .page-link {
  background-color: #4b92fb;
  border-color: #4b92fb;
}

/********************************************
パンくず
********************************************/

#breadcrumb {
  display: none;
  margin-bottom: 30px;
  font-size: 16px;
  color: #000;
}

@media (max-width: 768px) {
  #breadcrumb {
    font-size: 14px;
  }
}

#breadcrumb .breadcrumb-list {
  display: flex;
  align-items: center;
}

#breadcrumb .breadcrumb-list a {
  color: #000;
  text-decoration: none;
  margin-left: 10px;
}

#breadcrumb .breadcrumb-list a:first-child {
  margin-left: 0;
}

#breadcrumb .breadcrumb-list span {
  margin-left: 10px;
}

#breadcrumb .breadcrumb-list span:first-child {
  margin-left: 0;
}

/********************************************
フッター
********************************************/

footer {
  background-color: #000;
  padding: 20px 0;
}

@media (max-width: 768px) {
  footer {
    font-size: 10px;
  }
}

footer .site-name {
  color: #fff;
  font-size: 12px;
  font-weight: 300;
  text-align: center;
  margin-bottom: 0;
}

/********************************************
ヘッダー
********************************************/

header {
  width: 100%;
  background-color: #2B3964;
  padding: 10px 0;
  position: fixed;
  z-index: 999;
  top: 0;
}

header .header-block {
  display: flex;
  justify-content: space-between;
  position: relative;
}

header .header-block .header-logo {
  width: 240px;
  margin-bottom: 0;
}

@media (max-width: 768px) {
  header .header-block .header-right a.btn {
    display: none;
  }
}

header .header-block .header-right a.btn img {
  width: 17px;
  vertical-align: middle;
}

header .header-block .header-right .menu-trigger {
  grid-area: hamburger-menu;
  background-color: #fff;
  display: inline-block;
  width: 64px;
  height: 48px;
  margin-left: auto;
  text-align: center;
  cursor: pointer;
  border-radius: 3px;
  text-decoration: none;
  vertical-align: middle;
}

header .header-block .header-right .menu-button {
  position: relative;
}

header .header-block .header-right .menu-button_text {
  position: relative;
  top: 22px;
  font-size: 8px;
  color: #717171;
  text-align: center;
}

header .header-block .header-right .menu-button_bar {
  position: absolute;
  background: #000;
  display: block;
  height: 2px;
  width: 25px;
  top: 8px;
  left: 18px;
  transform-origin: center center;
  transition: all ease 0.3s;
}

header .header-block .header-right .menu-button_bar:before,
header .header-block .header-right .menu-button_bar:after {
  display: block;
  position: absolute;
  content: "";
  background: #000;
  height: 2px;
  width: 25px;
  top: 16px;
  left: 0;
  transform-origin: center center;
  transition: all ease 0.3s;
}

header .header-block .header-right .menu-button_bar:after {
  top: 8px;
}

header .header-block .header-right .menu-trigger.active .menu-button_bar {
  top: 20px;
  transform: rotateZ(45deg);
}

header .header-block .header-right .menu-trigger.active .menu-button_bar:before {
  left: 0;
  top: 0;
  transform: rotateZ(-90deg);
}

header .header-block .header-right .menu-trigger.active .menu-button_bar:after {
  opacity: 0;
  transform: rotateZ(-45deg);
}

header .header-block .header-right #header-menu {
  display: none;
  position: absolute;
  top: 58px;
  right: 0;
  text-align: left;
  font-size: 18px;
  color: #000;
}

header .header-block .header-right #header-menu.active {
  display: block;
  z-index: 100000;
  background-color: #000;
  color: #fff;
  font-size: 14px;
}

header .header-block .header-right #header-menu.active .header-menu-block {
  height: auto;
  max-height: 80vh;
  width: 200px;
  overflow-y: auto;
}

header .header-block .header-right #header-menu.active .header-menu-block .menu-list {
  max-height: 80vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 0;
}

header .header-block .header-right #header-menu.active .header-menu-block .menu-list li.user-name {
  display: block;
  color: #fff;
  padding: 10px 20px;
}

header .header-block .header-right #header-menu.active .header-menu-block .menu-list li.user-name:hover {
  background-color: inherit;
}

header .header-block .header-right #header-menu.active .header-menu-block .menu-list li:hover {
  background-color: #DDDDE0;
}

header .header-block .header-right #header-menu.active .header-menu-block .menu-list li:hover a {
  color: #000;
}

header .header-block .header-right #header-menu.active .header-menu-block .menu-list li img {
  width: 20px;
}

header .header-block .header-right #header-menu.active .header-menu-block .menu-list li a {
  display: block;
  color: #fff;
  padding: 10px 20px;
}

/********************************************
ラベル
********************************************/

.course-label {
  padding: 5px 15px;
  background-color: #fff;
  color: #000;
  font-weight: 600;
  font-size: 12px;
  border: 1px solid #DDDDE0;
  border-radius: 15px;
  vertical-align: middle;
}

.course-label span {
  display: inline-block;
  background-color: #CEB37F;
  border-radius: 50%;
  width: 5px;
  height: 5px;
  margin-right: 5px;
  margin-bottom: 2px;
}

.course-label .m-course {
  background-color: #CEB37F;
}

.course-label .g-course {
  background-color: #9AC37B;
}

.course-label .t-course {
  background-color: #A889BE;
}

.label {
  font-size: 16px;
  font-weight: 600;
  padding: 5px 15px;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  display: inline-block;
}

.label.label-red {
  background-color: #B21820;
}

.label.label-blue {
  background-color: #4F65AC;
}

.label.label-white {
  background-color: #fff;
  border: 1px solid #bfbfbf;
  color: #717171;
}

.label.label-gray {
  background-color: #EBE9E9;
  border: 1px solid #bfbfbf;
  color: #717171;
}

.label-search {
  border-radius: 15px;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.12);
  padding: 10px 17px;
  text-align: center;
}

.btn-check:checked + .label-search {
  border-radius: 15px;
  background: #c2cded;
  border: 1px solid #4f65ac;
}

.reserve-header {
  background: linear-gradient(rgba(79, 101, 172, 0.1) 0%, rgba(79, 101, 172, 0.2) 100%);
  border: 1px solid rgba(79, 101, 172, 0.1);
  border-radius: 10px;
  padding: 10px 20px;
}

@media (max-width: 768px) {
  .reserve-header {
    padding: 10px;
  }
}

.reserve-header h3 {
  font-size: 24px;
  font-weight: 600;
}

.reserve-label {
  display: flex;
  align-items: center;
  padding: 10px;
  font-size: 16px;
  color: #4F65AC;
  background: linear-gradient(rgba(79, 101, 172, 0.1) 0%, rgba(79, 101, 172, 0.2) 100%);
  border: 1px solid rgba(79, 101, 172, 0.1);
  border-radius: 15px;
}

.reserve-label img {
  width: 70px;
  margin-right: 10px;
}

.reserve-label-detail {
  justify-content: space-between;
}

#apply-section .apply-box {
  margin-top: 20px;
  background-color: #ECECF0;
  padding: 2em;
  border-radius: 10px;
}

@media (max-width: 768px) {
  #apply-section .apply-box {
    padding: 10px;
  }
}

#apply-section .apply-box .apply-form {
  background-color: #fff;
  padding: 2em;
  border-radius: 10px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.16);
}

@media (max-width: 768px) {
  #apply-section .apply-box .apply-form {
    padding: 1em;
  }
}

#apply-section .apply-box .apply-form .row {
  background-color: #F2F2F2;
  border-top: 1px solid #BFBFBF;
}

@media (max-width: 768px) {
  #apply-section .apply-box .apply-form .row {
    background-color: #fff;
    border-top: none;
  }
}

#apply-section .apply-box .apply-form .row .col-12.col-lg-9 {
  background-color: #fff;
  padding: 1.25em;
}

@media (max-width: 768px) {
  #apply-section .apply-box .apply-form .row .col-12.col-lg-9 {
    padding: 0;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
  }
}

#apply-section .complete-box .complete-wrap {
  background-color: #F2F2F2;
  padding: 20px;
}

#apply-section .complete-box .complete-wrap label {
  display: block;
  background-color: #fff;
  color: #4F65AC;
  margin-bottom: 1px;
  padding: 10px;
  text-align: center;
  font-weight: 600;
  border: 1px solid #4F65AC;
  border-radius: 10px;
}

#apply-section .complete-box .complete-wrap i {
  color: #BFBFBF;
}

#attach-section .attach-box {
  margin-top: 20px;
  background-color: #ECECF0;
  padding: 2em;
  border-radius: 10px;
}

@media (max-width: 768px) {
  #attach-section .attach-box {
    padding: 10px;
  }
}

#attach-section .attach-box .attach-form {
  background-color: #fff;
  padding: 2em;
  border-radius: 10px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.16);
}

@media (max-width: 768px) {
  #attach-section .attach-box .attach-form {
    padding: 1em;
  }
}

#attach-section .attach-box .attach-form .upload-box {
  text-align: center;
}

#attach-section .attach-box .attach-form .upload-box .upload-body a {
  width: 100%;
  height: 200px;
}

#attach-section .attach-box .attach-form #thumb li {
  margin-bottom: 10px;
}

#attach-section .attach-box .attach-form .attach-guide tr {
  background-color: #FAF5DA;
  font-size: 14px;
  font-weight: 500;
  border-bottom: 10px solid #fff;
  vertical-align: middle;
}

#attach-section .attach-box .attach-form .attach-guide tr td {
  padding: 20px;
}

#attach-section .attach-box .attach-form .attach-guide tr td:first-child {
  width: 10%;
}

#attach-section .attach-box .attach-form .attach-guide tr .number-label {
  padding: 5px 15px;
  background-color: #f15141;
  color: #fff;
  font-weight: 600;
  vertical-align: middle;
  white-space: nowrap;
}

@media (max-width: 768px) {
  #attach-section .attach-box .attach-form .attach-guide thead {
    display: none;
  }

  #attach-section .attach-box .attach-form .attach-guide tr {
    width: 100%;
  }

  #attach-section .attach-box .attach-form .attach-guide td {
    display: inline-grid;
    text-align: left;
    width: 100%;
    padding: 10px 20px !important;
  }

  #attach-section .attach-box .attach-form .attach-guide td:last-child {
    margin-bottom: 10px;
  }
}

#cancel-section .cancel-box {
  margin-top: 20px;
  background-color: #ECECF0;
  padding: 2em;
  border-radius: 10px;
}

@media (max-width: 768px) {
  #cancel-section .cancel-box {
    padding: 10px;
  }
}

#cancel-section .cancel-box .cancel-form {
  background-color: #fff;
  padding: 2em;
  border-radius: 10px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.16);
}

@media (max-width: 768px) {
  #cancel-section .cancel-box .cancel-form {
    padding: 1em;
  }
}

#cancel-section .cancel-box .cancel-form .row {
  background-color: #F2F2F2;
  border-top: 1px solid #BFBFBF;
}

@media (max-width: 768px) {
  #cancel-section .cancel-box .cancel-form .row {
    background-color: #fff;
    border-top: none;
  }
}

#cancel-section .cancel-box .cancel-form .row .col-12.col-lg-9 {
  background-color: #fff;
  padding: 1.25em;
}

@media (max-width: 768px) {
  #cancel-section .cancel-box .cancel-form .row .col-12.col-lg-9 {
    padding: 0;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
  }
}

#course-section .action-area {
  position: sticky;
  bottom: 0;
}

#course-section .table-course .table-course-box {
  display: flex;
  flex-wrap: wrap;
}

#course-section .table-course .table-course-box span {
  margin-left: 10px;
}

#course-section .table-course tr {
  background-color: #F2F2F2;
  border-bottom: 10px solid #fff;
}

#course-section .table-course tr .course-label {
  font-size: 14px;
}

#course-section .table-course tr.menkyo {
  background-color: #FBF7EF;
}

#course-section .table-course tr.ginou {
  background-color: #F5FBF1;
}

#course-section .table-course tr.tokubetsu {
  background-color: #FAF6FC;
}

#course-section .table-course tr th,
#course-section .table-course tr td {
  padding: 30px 0 10px 0;
}

#course-section .table-course tr th {
  border-radius: 15px 0 0 15px;
  padding: 15px;
}

#course-section .table-course tr td {
  border-radius: 0 15px 15px 0;
}

#course-section .table-course tr td label {
  margin-bottom: 15px;
}

@media (max-width: 768px) {
  #course-section .table-course th,
  #course-section .table-course td {
    display: block;
    width: 100%;
  }

  #course-section .table-course .school-item {
    width: 100%;
  }

  #course-section .table-course .school-item .school-label {
    width: 100%;
  }

  #course-section .table-course .input-checkbox {
    width: 100%;
    text-align: left;
  }
}

#course-section .school-item {
  display: flex;
  flex-wrap: wrap;
  margin: 10px;
}

#course-section .school-item .school-label {
  display: block;
  margin-bottom: 1px;
  width: 300px;
  padding: 20px;
  position: relative;
  cursor: pointer;
  text-align: center;
  font-weight: 500;
  border: 2px solid #ddd;
  border-radius: 15px;
}

#course-section .school-item .school-check {
  display: none;
}

#course-section .school-item .school-label:hover {
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.16);
}

#course-section .school-item .label-select {
  position: absolute;
  right: 20px;
  top: 35%;
  padding: 2px 10px;
  background-color: #BFBFBF;
  color: #fff;
  font-weight: 600;
  font-size: 12px;
}

#course-section .school-item .school-check:checked + .s-school-label {
  border: 2px solid #D870C0;
  color: #D870C0;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.16);
  font-weight: 600;
}

#course-section .school-item .school-check:checked + .s-school-label .label-select {
  background-color: #D870C0;
}

#course-section .school-item .school-check:checked + .k-school-label {
  border: 2px solid #7EC452;
  color: #7EC452;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.16);
  font-weight: 600;
}

#course-section .school-item .school-check:checked + .k-school-label .label-select {
  background-color: #7EC452;
}

#course-section .course-result-box .card-header {
  background-color: #E9ECF5;
}

#course-section .course-result-box .card-header .reserve-label {
  background: inherit;
  border: none;
}

#course-section .course-result-box .course-head {
  background-color: #E9ECF5;
  border-radius: 10px;
  padding: 20px;
  margin-bottom: 15px;
}

#course-section .course-result-box .course-head img {
  width: 80px;
}

#course-section .course-result-box .course-box {
  background-color: #ECECF0;
  border-radius: 10px;
  padding: 20px;
  margin-bottom: 15px;
}

#course-section .course-result-box .course-body {
  background-color: #ECECF0;
  border: 1px solid #DDDDDD;
}

#course-section .course-result-box .course-body .reserve-box {
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.16);
  padding: 20px;
}

#course-section .course-result-box .course-body .reserve-box .reserve-docs {
  border: 1px solid #486AD8;
  border-radius: 10px;
  padding: 20px;
}

#course-section .course-result-box .course-body .reserve-box .reserve-docs ol {
  padding-left: 0;
}

#course-section .course-result-box .course-body .reserve-box .reserve-docs ol li {
  font-weight: 600;
  border-bottom: 1px solid #d5d5d5;
  list-style-position: inside;
  padding: 5px;
}

#course-section .course-result-box .course-body .reserve-box .reserve-docs ol li span {
  font-size: 12px;
}

#course-section .course-result-box .schedule-block .schedule-block-wrap {
  background-color: #FAF5DA;
}

#course-section .course-result-box .schedule-block .calendar-month {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #fff;
  font-size: 14px;
  border: 1px solid #d5d5d5;
}

@media (max-width: 768px) {
  #course-section .course-result-box .schedule-block .calendar-month {
    overflow-x: auto;
  }
}

#course-section .course-result-box .schedule-block .calendar-month a {
  color: #717171;
  width: 16.666666%;
  padding: 15px 0;
  text-align: center;
  text-decoration: none;
  border-right: 1px solid #d5d5d5;
}

@media (max-width: 768px) {
  #course-section .course-result-box .schedule-block .calendar-month a {
    white-space: nowrap;
    padding: 15px 5px;
  }
}

#course-section .course-result-box .schedule-block .calendar-month a:last-child {
  border-right: none;
}

#course-section .course-result-box .schedule-block .calendar-month a.active {
  font-size: 16px;
  font-weight: 600;
  background-color: #4F65AC;
  color: #fff;
}

@media (max-width: 768px) {
  #course-section .course-result-box .schedule-block .calendar-month a.active {
    font-size: 14px;
  }
}

#course-section .course-result-box .schedule-block .schedule-box {
  padding: 15px;
}

#course-section .course-result-box .schedule-block .schedule-box .school-label {
  background-color: #fff;
  display: block;
  margin-bottom: 1px;
  width: 100%;
  padding: 10px;
  position: relative;
  text-align: center;
  border-radius: 15px;
  border: 2px solid #D870C0;
  color: #D870C0;
  font-weight: 600;
}

#course-section .course-result-box .schedule-block .schedule-box .school-label.k-school-label {
  border: 2px solid #7EC452;
  color: #7EC452;
}

#course-section .course-result-box .schedule-block .schedule-box .schedule-box-wrap {
  margin-top: 15px;
  max-height: 300px;
  overflow: auto;
  font-weight: 600;
}

#course-section .course-result-box .schedule-block .schedule-box .schedule-box-wrap p {
  display: flex;
}

#course-section .course-result-box .schedule-block .schedule-box .schedule-box-wrap p span {
  background-color: #E9ECF5;
  color: #4F65AC;
  padding: 10px;
  white-space: nowrap;
  width: 85px;
  text-align: center;
}

#course-section .course-result-box .schedule-block .schedule-box .schedule-box-wrap p a {
  display: block;
  background-color: #fff;
  color: #4F65AC;
  border: 1px solid #DDDDE0;
  width: 100%;
  padding: 10px;
  text-align: left;
}

#course-section .course-result-box .schedule-block .schedule-box .schedule-box-wrap p a.disabled {
  color: #BFBFBF;
}

#course-section .course-result-box .yoyakuwaku span {
  color: #4F65AC;
  font-size: 20px;
  font-weight: 600;
}

#hotel-section .hotel-box {
  margin-top: 20px;
  background-color: #ECECF0;
  padding: 2em;
  border-radius: 10px;
}

@media (max-width: 768px) {
  #hotel-section .hotel-box {
    padding: 10px;
  }
}

#hotel-section .hotel-box .hotel-form {
  background-color: #fff;
  padding: 2em;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.16);
  border-radius: 10px;
}

@media (max-width: 768px) {
  #hotel-section .hotel-box .hotel-form {
    padding: 1em;
  }
}

#hotel-section .hotel-box .hotel-form .row {
  background-color: #F2F2F2;
  border-top: 1px solid #BFBFBF;
}

@media (max-width: 768px) {
  #hotel-section .hotel-box .hotel-form .row {
    background-color: #fff;
    border-top: none;
  }
}

#hotel-section .hotel-box .hotel-form .row .col-12.col-lg-9 {
  background-color: #fff;
  padding: 1.25em;
}

@media (max-width: 768px) {
  #hotel-section .hotel-box .hotel-form .row .col-12.col-lg-9 {
    padding: 0;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
  }
}

#hotel-section .hotel-box .hotel-form .row .shukuhaku-input {
  position: relative;
  background-color: #fff;
  border-radius: 20px;
  padding: 9px 20px;
  margin: 10px 20px;
}

@media (max-width: 768px) {
  #hotel-section .hotel-box .hotel-form .row .shukuhaku-input {
    margin: 10px 0;
  }
}

#hotel-section .hotel-box .hotel-form .row .shukuhaku-input span {
  position: absolute;
  top: 0;
  right: 0;
  background-color: #4F65AC;
  color: #fff;
  padding: 10px 20px;
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
}

#hotel-section .hotel-box .hotel-form .row .shukuhaku-input span.shiken {
  background-color: #4BAC87;
}

#hotel-section .hotel-box .hotel-form .input-addday {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 10px;
  background-color: #DEDEDE;
  margin-top: 10px;
}

#hotel-section .hotel-box .hotel-form .input-addday input {
  width: 200px;
}

#hotel-section .hotel-box .hotel-form .input-addday .btn {
  margin-left: 20px;
}

@media (max-width: 768px) {
  #hotel-section .hotel-box .hotel-form .input-addday .btn {
    margin-left: 0;
    margin-top: 10px;
  }
}

#home-section .reserve {
  margin-top: 20px;
  width: 90%;
  table-layout: fixed;
}

@media (max-width: 768px) {
  #home-section .reserve {
    width: 100%;
  }
}

#home-section .reserve .reserve-title {
  text-align: center;
  padding: 20px;
  white-space: nowrap;
  width: 20% !important;
}

@media (max-width: 768px) {
  #home-section .reserve .reserve-title {
    padding: 5px;
    font-size: 14px;
  }
}

#home-section .reserve .reserve-count {
  text-align: center;
  font-weight: 500;
  font-size: 18px;
  padding: 20px;
  white-space: nowrap;
  width: 15% !important;
}

@media (max-width: 768px) {
  #home-section .reserve .reserve-count {
    padding: 10px;
  }
}

#home-section .reserve .reserve-message {
  padding: 20px;
  width: 65%;
}

@media (max-width: 768px) {
  #home-section .reserve .reserve-message {
    padding: 5px 10px;
    font-size: 14px;
  }
}

#home-section .reserve .status-light-gray {
  background-color: #f5f5f5;
}

#home-section .reserve .status-red {
  background-color: #B21820;
  border: 1px solid #B21820;
  text-align: center;
  color: #fff;
}

#home-section .reserve .border-bottom-red {
  border-bottom: 1px solid #B21820;
}

#home-section .reserve .status-green {
  background-color: #117003;
  border: 1px solid #117003;
  text-align: center;
  color: #fff;
}

#home-section .reserve .border-bottom-green {
  border-bottom: 1px solid #117003;
}

#home-section .reserve .status-gray {
  background-color: #e0dada;
  border: 1px solid #e0dada;
}

#home-section .reserve .border-bottom-gray {
  border-bottom: 1px solid #e0dada;
}

#home-section .reserve .status-orange {
  background-color: #D57E08;
  border: 1px solid #D57E08;
  color: #fff;
}

#home-section .reserve .border-bottom-orange {
  border-bottom: 1px solid #D57E08;
}

#home-section .reserve .status-blue {
  background-color: #02154E;
  border: 1px solid #02154E;
  color: #fff;
}

#home-section .reserve .border-bottom-blue {
  border-bottom: 1px solid #02154E;
}

#invoice-section .invoice-box,
#invoice-section .receipt-box,
#receipt-section .invoice-box,
#receipt-section .receipt-box {
  margin-top: 20px;
  background-color: #ECECF0;
  padding: 2em;
  border-radius: 10px;
}

@media (max-width: 768px) {
  #invoice-section .invoice-box,
  #invoice-section .receipt-box,
  #receipt-section .invoice-box,
  #receipt-section .receipt-box {
    padding: 1em;
  }
}

#invoice-section .invoice-box .invoice-form,
#invoice-section .invoice-box .receipt-form,
#invoice-section .receipt-box .invoice-form,
#invoice-section .receipt-box .receipt-form,
#receipt-section .invoice-box .invoice-form,
#receipt-section .invoice-box .receipt-form,
#receipt-section .receipt-box .invoice-form,
#receipt-section .receipt-box .receipt-form {
  background-color: #fff;
  padding: 2em;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.16);
}

@media (max-width: 768px) {
  #invoice-section .invoice-box .invoice-form,
  #invoice-section .invoice-box .receipt-form,
  #invoice-section .receipt-box .invoice-form,
  #invoice-section .receipt-box .receipt-form,
  #receipt-section .invoice-box .invoice-form,
  #receipt-section .invoice-box .receipt-form,
  #receipt-section .receipt-box .invoice-form,
  #receipt-section .receipt-box .receipt-form {
    padding: 1em;
    overflow-x: auto;
  }

  #invoice-section .invoice-box .invoice-form table .form-control,
  #invoice-section .invoice-box .receipt-form table .form-control,
  #invoice-section .receipt-box .invoice-form table .form-control,
  #invoice-section .receipt-box .receipt-form table .form-control,
  #receipt-section .invoice-box .invoice-form table .form-control,
  #receipt-section .invoice-box .receipt-form table .form-control,
  #receipt-section .receipt-box .invoice-form table .form-control,
  #receipt-section .receipt-box .receipt-form table .form-control {
    width: 200px;
  }
}

#invoice-section .invoice-box .invoice-form .row,
#invoice-section .invoice-box .receipt-form .row,
#invoice-section .receipt-box .invoice-form .row,
#invoice-section .receipt-box .receipt-form .row,
#receipt-section .invoice-box .invoice-form .row,
#receipt-section .invoice-box .receipt-form .row,
#receipt-section .receipt-box .invoice-form .row,
#receipt-section .receipt-box .receipt-form .row {
  background-color: #F2F2F2;
  border-top: 1px solid #BFBFBF;
}

@media (max-width: 768px) {
  #invoice-section .invoice-box .invoice-form .row,
  #invoice-section .invoice-box .receipt-form .row,
  #invoice-section .receipt-box .invoice-form .row,
  #invoice-section .receipt-box .receipt-form .row,
  #receipt-section .invoice-box .invoice-form .row,
  #receipt-section .invoice-box .receipt-form .row,
  #receipt-section .receipt-box .invoice-form .row,
  #receipt-section .receipt-box .receipt-form .row {
    background-color: #fff;
    border-top: none;
  }
}

#invoice-section .invoice-box .invoice-form .row .col-12.col-lg-9,
#invoice-section .invoice-box .receipt-form .row .col-12.col-lg-9,
#invoice-section .receipt-box .invoice-form .row .col-12.col-lg-9,
#invoice-section .receipt-box .receipt-form .row .col-12.col-lg-9,
#receipt-section .invoice-box .invoice-form .row .col-12.col-lg-9,
#receipt-section .invoice-box .receipt-form .row .col-12.col-lg-9,
#receipt-section .receipt-box .invoice-form .row .col-12.col-lg-9,
#receipt-section .receipt-box .receipt-form .row .col-12.col-lg-9 {
  background-color: #fff;
  padding: 1.25em;
}

@media (max-width: 768px) {
  #invoice-section .invoice-box .invoice-form .row .col-12.col-lg-9,
  #invoice-section .invoice-box .receipt-form .row .col-12.col-lg-9,
  #invoice-section .receipt-box .invoice-form .row .col-12.col-lg-9,
  #invoice-section .receipt-box .receipt-form .row .col-12.col-lg-9,
  #receipt-section .invoice-box .invoice-form .row .col-12.col-lg-9,
  #receipt-section .invoice-box .receipt-form .row .col-12.col-lg-9,
  #receipt-section .receipt-box .invoice-form .row .col-12.col-lg-9,
  #receipt-section .receipt-box .receipt-form .row .col-12.col-lg-9 {
    padding: 0;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
  }
}

#invoice-section .invoice-box .invoice-form .invoice-table #message1,
#invoice-section .invoice-box .invoice-form .invoice-table #message2,
#invoice-section .invoice-box .invoice-form .invoice-table #message3,
#invoice-section .invoice-box .invoice-form .invoice-table #message4,
#invoice-section .invoice-box .receipt-form .invoice-table #message1,
#invoice-section .invoice-box .receipt-form .invoice-table #message2,
#invoice-section .invoice-box .receipt-form .invoice-table #message3,
#invoice-section .invoice-box .receipt-form .invoice-table #message4,
#invoice-section .receipt-box .invoice-form .invoice-table #message1,
#invoice-section .receipt-box .invoice-form .invoice-table #message2,
#invoice-section .receipt-box .invoice-form .invoice-table #message3,
#invoice-section .receipt-box .invoice-form .invoice-table #message4,
#invoice-section .receipt-box .receipt-form .invoice-table #message1,
#invoice-section .receipt-box .receipt-form .invoice-table #message2,
#invoice-section .receipt-box .receipt-form .invoice-table #message3,
#invoice-section .receipt-box .receipt-form .invoice-table #message4,
#receipt-section .invoice-box .invoice-form .invoice-table #message1,
#receipt-section .invoice-box .invoice-form .invoice-table #message2,
#receipt-section .invoice-box .invoice-form .invoice-table #message3,
#receipt-section .invoice-box .invoice-form .invoice-table #message4,
#receipt-section .invoice-box .receipt-form .invoice-table #message1,
#receipt-section .invoice-box .receipt-form .invoice-table #message2,
#receipt-section .invoice-box .receipt-form .invoice-table #message3,
#receipt-section .invoice-box .receipt-form .invoice-table #message4,
#receipt-section .receipt-box .invoice-form .invoice-table #message1,
#receipt-section .receipt-box .invoice-form .invoice-table #message2,
#receipt-section .receipt-box .invoice-form .invoice-table #message3,
#receipt-section .receipt-box .invoice-form .invoice-table #message4,
#receipt-section .receipt-box .receipt-form .invoice-table #message1,
#receipt-section .receipt-box .receipt-form .invoice-table #message2,
#receipt-section .receipt-box .receipt-form .invoice-table #message3,
#receipt-section .receipt-box .receipt-form .invoice-table #message4 {
  width: 200px;
}

@media (max-width: 768px) {
  #invoice-section .invoice-box .invoice-form .invoice-table .sp-nowrap,
  #invoice-section .invoice-box .receipt-form .invoice-table .sp-nowrap,
  #invoice-section .receipt-box .invoice-form .invoice-table .sp-nowrap,
  #invoice-section .receipt-box .receipt-form .invoice-table .sp-nowrap,
  #receipt-section .invoice-box .invoice-form .invoice-table .sp-nowrap,
  #receipt-section .invoice-box .receipt-form .invoice-table .sp-nowrap,
  #receipt-section .receipt-box .invoice-form .invoice-table .sp-nowrap,
  #receipt-section .receipt-box .receipt-form .invoice-table .sp-nowrap {
    white-space: nowrap;
  }
}

/********************************************
ログイン
********************************************/

#login-section {
  background: rgba(0, 0, 0, 0.5);
  height: 100%;
  padding-top: 100px;
}

@media (max-width: 768px) {
  #login-section {
    padding-top: 10px;
    height: auto;
  }
}

#login-section figure {
  color: #fff;
  font-size: 28px;
  text-align: center;
}

#login-section figure img {
  width: 285px;
  vertical-align: bottom;
}

#login-section .login-box {
  background-color: #fff;
  padding: 20px;
  border-radius: 10px;
}

#login-section .login-box h2 {
  font-weight: 600;
  font-size: 25px;
  color: #4F65AC;
  text-align: center;
}

#login-section .login-box h3 {
  font-weight: 600;
  font-size: 16px;
  color: #4F65AC;
}

.tooltip-custom .tooltip_center {
  position: absolute;
  top: auto;
  display: none;
  right: 5%;
  text-align: center;
  border-radius: 8px;
  padding: 5px 10px;
  box-shadow: rgba(0, 0, 0, 0.35) 4px 4px 4px;
}

.tooltip-custom .tooltip_center.tooltip-red {
  background-color: #b21820;
  color: white;
}

.tooltip-custom .tooltip_center.tooltip-other {
  background-color: #e0dada;
}

.tooltip-custom:hover .tooltip_center {
  display: block;
}

@media (max-width: 768px) {
  .tooltip-custom:hover .tooltip_center {
    display: none;
  }
}

#member-section input[type=checkbox] {
  transform: scale(1.8);
}

#member-section input[type=radio] {
  transform: scale(1.8);
}

@media (max-width: 768px) {
  #member-section input[type=radio] {
    transform: scale(2.5);
  }
}

#member-section .label-condition {
  background: #fff;
  border: 1px solid #ddd;
  padding: 10px 15px;
  margin-right: 10px;
  cursor: pointer;
}

#member-section .reserve-table {
  font-weight: 500;
  font-size: 14px;
}

@media (max-width: 768px) {
  #member-section .reserve-table {
    font-size: 15px;
    line-height: 1.6;
  }
}

#member-section .reserve-table thead {
  background-color: #f5f5f5;
  text-align: center;
}

#member-section .reserve-table tr {
  cursor: pointer;
}

#member-section .reserve-table th {
  font-size: 12px;
  font-weight: 600;
  color: #717171;
}

#member-section .reserve-table td {
  vertical-align: middle;
}

#member-section .reserve-table td.bg-status {
  text-align: center;
  color: #000;
  font-weight: 700;
}

#member-section .reserve-table td.bg-status.status-light-gray {
  background-color: #f5f5f5;
}

#member-section .reserve-table td.bg-status.status-red {
  background-color: #B21820;
  text-align: center;
  color: #fff;
}

#member-section .reserve-table td.bg-status.status-green {
  background-color: #117003;
  text-align: center;
  color: #fff;
}

#member-section .reserve-table td.bg-status.status-gray {
  background-color: #e0dada;
}

#member-section .reserve-table td.bg-status.status-blue {
  background-color: #02154E;
  color: #fff;
}

#member-section .reserve-table td.bg-status.status-orange {
  background-color: #D57E08;
  color: #fff;
}

#member-section .reserve-table td.yoyaku-check {
  background-color: #fdf8d2 !important;
}

#member-section .reserve-table hr {
  margin: 0.5rem;
  opacity: 0.5;
}

@media (max-width: 768px) {
  #member-section .reserve-table thead {
    display: none;
  }

  #member-section .reserve-table tr {
    width: 100%;
  }

  #member-section .reserve-table tr.status-red td {
    background-color: #fff5f5;
  }

  #member-section .reserve-table tr.status-red td:before {
    background-color: #FCE8E9;
  }

  #member-section .reserve-table tr.status-green td {
    background-color: #f8fff7;
  }

  #member-section .reserve-table tr.status-green td:before {
    background-color: #ECFFEB;
  }

  #member-section .reserve-table tr.status-orange td {
    background-color: #fffbf6;
  }

  #member-section .reserve-table tr.status-orange td:before {
    background-color: #FEF2E2;
  }

  #member-section .reserve-table tr.status-blue td {
    background-color: #f9fbff;
  }

  #member-section .reserve-table tr.status-blue td:before {
    background-color: #F0F3FE;
  }

  #member-section .reserve-table td {
    display: inline-grid;
    text-align: left;
    width: 100%;
    padding: 3px 10px;
  }

  #member-section .reserve-table td:before {
    content: attr(data-label);
    float: left;
    margin-right: 10px;
    font-weight: 600;
    width: 60px;
    padding: 0 7px;
  }

  #member-section .reserve-table td.first-td:before {
    width: 100%;
  }

  #member-section .reserve-table td:last-child {
    margin-bottom: 20px;
    border-bottom: 1px solid #d5d5d5;
  }

  #member-section .reserve-table td.first-td {
    display: table-cell;
    width: 10px;
  }

  #member-section .reserve-table td.last-td {
    margin-bottom: 0;
  }

  #member-section .reserve-table .table-secondary td {
    background-color: #fff !important;
  }

  #member-section .reserve-table .table-secondary .first-td {
    background-color: #e2e3e5 !important;
  }

  #member-section .reserve-table .table-secondary .yoyaku-check {
    background-color: #fdf8d2 !important;
  }

  #member-section .reserve-table hr {
    display: none;
  }
}

#member-section .reserve-detail table th {
  background-color: #efeff7;
  width: 15%;
  font-weight: normal;
  text-align: center;
}

@media (max-width: 768px) {
  #member-section .reserve-detail table th {
    width: 30%;
  }
}

#member-section .reserve-detail dl dt {
  font-weight: normal;
}

#member-section .reserve-detail dl dt.font-weight-bold {
  font-weight: 700;
}

#member-section .reserve-detail .reserve-sidebar {
  background-color: #fff;
  border-radius: 10px;
  border: 1px solid #ececf0;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.16);
  padding: 20px;
}

#member-section .reserve-detail .reserve-sidebar .caution-box-title {
  display: flex;
  align-items: center;
  font-size: 14px;
  font-weight: 600;
  color: #B21820;
}

#member-section .reserve-detail .reserve-sidebar .caution-box-title i {
  margin-right: 10px;
}

#member-section .reserve-detail .reserve-sidebar .caution-box-title .caution-message {
  display: flex;
  align-items: center;
  color: #3ca863;
}

#member-section .reserve-detail .reserve-sidebar dl {
  background-color: #F0F0F0;
  border-radius: 8px;
  padding: 20px 0;
  align-items: center;
}

#member-section .reserve-detail .reserve-sidebar dl dd {
  margin-bottom: 0;
}

#member-section .reserve-detail .reserve-sidebar a {
  display: block;
  border-radius: 4px;
  background-color: #B21820;
  color: #fff;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.16);
  padding: 10px;
  text-align: center;
}

#member-section .reserve-detail .reserve-sidebar a.disabled {
  background-color: #DDDDE0;
}

#member-section .reserve-detail .reserve-sidebar a.ticket {
  background-color: #4F65AC;
}

#member-section .reserve-detail .reserve-sidebar a.joseikin {
  background-color: #5297a3;
}

#member-section .reserve-detail .reserve-sidebar .reserve-hotel {
  border-radius: 8px;
  border: 1px solid #b21820;
  padding: 20px;
}

#member-section .reserve-detail .reserve-sidebar .reserve-hotel .btn-link {
  float: right;
  display: inline;
  border-radius: 4px;
  background-color: inherit;
  color: #000;
  box-shadow: inherit;
  padding: 0;
  font-size: 14px;
}

#member-section .reserve-detail .reserve-sidebar .confirm-btn {
  display: block;
  border-radius: 4px;
  background-color: #ff1022;
  color: #fff;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.16);
  padding: 10px;
  text-align: center;
  font-size: 25px;
}

#member-section .reserve-detail .reserve-sidebar .confirm-btn.disabled {
  background-color: #898989;
}

#member-section .reserve-detail .reserve-sidebar .status-complete p {
  padding-left: 20px;
  padding-right: 20px;
}

#member-section .reserve-detail .reserve-sidebar .status-complete div {
  background-color: #F0F0F0;
  padding: 20px 0;
}

#member-section .footer-sticky {
  position: sticky;
  bottom: 0;
  text-align: center;
}

@media (max-width: 768px) {
  #member-section .footer-sticky {
    padding: 15px;
  }

  #member-section .footer-sticky .btn-action {
    padding: 5px 0;
  }
}

#modify-section .modify-box {
  margin-top: 20px;
  background-color: #ECECF0;
  padding: 2em;
  border-radius: 10px;
}

@media (max-width: 768px) {
  #modify-section .modify-box {
    padding: 10px;
  }
}

#modify-section .modify-box .modify-form {
  background-color: #fff;
  padding: 2em;
  border-radius: 10px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.16);
}

@media (max-width: 768px) {
  #modify-section .modify-box .modify-form {
    padding: 1em;
  }
}

#modify-section .modify-box .modify-form .row .col-12.col-lg-9 {
  background-color: #fff;
  padding: 1.25em;
}

@media (max-width: 768px) {
  #modify-section .modify-box .modify-form .row .col-12.col-lg-9 {
    padding: 0;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
  }
}

#modify-section .modify-box .modify-form .row .modify-label {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: 20px;
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  border: 1px solid rgba(0, 0, 0, 0.2);
}

#modify-section .modify-box .modify-form .row .modify-label:hover {
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.16);
  background-color: #EBEBEB;
}

#modify-section .modify-box .modify-form .row .modify-label:hover .row {
  background-color: inherit;
}

#modify-section .modify-box .modify-form .row .modify-label .modify-check {
  display: none;
}

#modify-section .modify-box .modify-form .row .modify-label .modify-name {
  display: block;
  padding: 40px 15px;
  width: 26%;
  border-radius: 7px;
  background-color: #4F65AC;
  color: #fff;
  text-align: center;
}

@media (max-width: 768px) {
  #modify-section .modify-box .modify-form .row .modify-label .modify-name {
    padding: 15px;
    width: 100%;
  }
}

#modify-section .modify-box .modify-form .row .modify-label .modify-content {
  display: block;
  margin-left: 35px;
  width: 65%;
}

@media (max-width: 768px) {
  #modify-section .modify-box .modify-form .row .modify-label .modify-content {
    margin-left: 0;
    width: 100%;
  }
}

#modify-section .modify-box .modify-form .row .modify-label .row {
  background-color: #fff;
}

/********************************************
新規会員登録
********************************************/

#register-section .privacy {
  overflow: auto;
  width: 100%;
  height: 200px;
  padding: 5px;
  background-color: #ebebeb;
  font-size: 14px;
  text-align: left;
}

#register-section .register-box {
  background-color: #F2F2F2;
  padding: 2em;
  border-radius: 10px;
}

@media (max-width: 768px) {
  #register-section .register-box {
    padding: 1em;
  }
}

#register-section .register-box .register-privacy {
  font-weight: 500;
  font-size: 14px;
  background-color: #fff;
  width: 100%;
  height: 250px;
  padding: 2em;
  overflow: auto;
}

#register-section .register-box .register-form {
  background-color: #fff;
  padding: 2em;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.16);
}

@media (max-width: 768px) {
  #register-section .register-box .register-form {
    padding: 1em;
  }
}

#register-section .register-box .register-form .row {
  background-color: #F2F2F2;
  border-top: 1px solid #BFBFBF;
}

@media (max-width: 768px) {
  #register-section .register-box .register-form .row {
    background-color: #fff;
    border-top: none;
  }
}

#register-section .register-box .register-form .row .col-12.col-lg-9 {
  background-color: #fff;
  padding: 1.25em;
}

@media (max-width: 768px) {
  #register-section .register-box .register-form .row .col-12.col-lg-9 {
    padding: 0;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
  }
}

#register-section .register-box .privacy-form {
  background-color: #FAF5DA;
}

#register-section .register-box .privacy-form label span.required {
  display: block;
  position: absolute;
  right: 20px;
  line-height: 20px;
  padding: 2px 10px;
  background: #B21820;
  color: #fff;
  font-weight: 600;
  font-size: 10px;
  text-align: center;
}

#register-section .register-box .register-complete-box {
  background-color: #FAF5DA;
  padding: 20px;
  text-align: center;
  margin-bottom: 20px;
}

#register-section .register-box .register-complete-box .register-complete-wrap {
  background-color: #fff;
  padding: 20px;
}

#register-section .register-box .register-complete-box .register-complete-wrap .border-block {
  text-align: left;
  padding: 1rem;
  border-top: 1px solid #BFBFBF;
  border-right: 1px solid #BFBFBF;
  border-bottom: 1px solid #BFBFBF;
  border-left: 4px solid #B21820;
}

#reserve-section .reserve-head {
  background-color: #F8F8F8;
  border: 1px solid #C9C9C9;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.16);
  border-radius: 10px;
  padding: 20px;
  margin-top: 10px;
}

@media (max-width: 768px) {
  #reserve-section .reserve-head .btn {
    display: inline-block;
  }
}

#reserve-section .reserve-body {
  border-radius: 10px;
  padding: 20px;
  margin-bottom: 20px;
}

@media (max-width: 768px) {
  #reserve-section .reserve-body {
    padding: 0;
  }
}

#reserve-section .reserve-body .reserve-box {
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.16);
  padding: 20px;
}

@media (max-width: 768px) {
  #reserve-section .reserve-body .reserve-box {
    padding: 20px 10px;
  }
}

#reserve-section .reserve-body .reserve-box .reserve-docs .reserve-info {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: 20px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 10px;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.2);
  background-color: #fff;
  cursor: pointer;
}

@media (max-width: 768px) {
  #reserve-section .reserve-body .reserve-box .reserve-docs .reserve-info {
    margin: unset;
  }
}

#reserve-section .reserve-body .reserve-box .reserve-docs .reserve-info .reserve-name {
  display: block;
  padding: 40px 15px;
  width: 26%;
  border-radius: 7px;
  background-color: #4F65AC;
  color: #fff;
  text-align: center;
}

@media (max-width: 768px) {
  #reserve-section .reserve-body .reserve-box .reserve-docs .reserve-info .reserve-name {
    padding: 15px;
    width: 100%;
    margin-bottom: 10px;
  }
}

#reserve-section .reserve-body .reserve-box .reserve-docs .reserve-info .reserve-content {
  display: block;
  margin-left: 35px;
  width: 65%;
}

@media (max-width: 768px) {
  #reserve-section .reserve-body .reserve-box .reserve-docs .reserve-info .reserve-content {
    margin-left: 0;
    width: 100%;
  }
}

@media (max-width: 768px) {
  #reserve-section .reserve-body .reserve-box .reserve-docs {
    padding: 0;
  }
}

#reserve-section .reserve-body .reserve-box .reserve-docs select {
  cursor: pointer;
  margin-bottom: 20px;
}

#reserve-section .reserve-body .reserve-box .reserve-docs ol {
  padding-left: 0;
}

#reserve-section .reserve-body .reserve-box .reserve-docs ol li {
  font-weight: 600;
  border-bottom: 1px solid #d5d5d5;
  list-style-position: inside;
  padding: 5px;
}

#reserve-section .reserve-body .reserve-box .reserve-docs ol li span {
  font-size: 12px;
}

#reserve-section .reserve-complete .header-title {
  background-color: #D9000B;
  color: #fff;
}

@media (max-width: 768px) {
  #reserve-section .reserve-complete .header-title {
    font-size: 22px;
  }
}

#reserve-section .reserve-complete .reserve-wrap {
  text-align: center;
  margin: 0 auto;
  padding: 30px 0;
  font-weight: 600;
}

#reserve-section .reserve-complete .reserve-wrap .reserve-wrap-message {
  display: inline-block;
  text-align: left;
}

#reserve-section .reserve-complete .reserve-complete-message {
  border: 1px solid #D9000B;
}

#reserve-section .reserve-complete .reserve-complete-message p {
  font-size: 1.5rem;
  text-align: center;
  color: #ff0000;
}

@media (max-width: 768px) {
  #reserve-section .reserve-complete .reserve-complete-message p {
    font-size: 1rem;
  }
}

#reserve-section .complete-box .complete-wrap {
  background-color: #F2F2F2;
  padding: 20px;
}

#reserve-section .complete-box .complete-wrap label {
  display: block;
  background-color: #fff;
  color: #4F65AC;
  margin-bottom: 1px;
  padding: 10px;
  text-align: center;
  font-weight: 600;
  border: 1px solid #4F65AC;
  border-radius: 7px;
}

#reserve-section .complete-box .complete-wrap i {
  color: #BFBFBF;
}

