@charset "UTF-8";
/* ================================================= *
 *        	price
 * ================================================= */
/* ------------------------------------
 *        	common
------------------------------------ */
/*480px以下で改行させる*/
@media (max-width: 480px) {
  .BReak:before {
    display: inline;
    content: "\A";
    white-space: pre;
  }
}

@media only screen and (min-width: 769px) {
  .container {
    max-width: 1100px;
  }
}

@media (max-width: 1100px) {
  .row {
    padding-left: 4%;
    padding-right: 4%;
  }
}

#price h1 {
  border-bottom: 45px solid #E50012;
}

img {
  vertical-align: bottom;
}

.type_menu {
  max-width: 1112px;
  margin: 45px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media (max-width: 768px) {
  .type_menu {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

.type_menu_item {
  width: 172px;
  margin: 0 6px 12px;
}

@media (max-width: 768px) {
  .type_menu_item {
    width: 112px;
  }
}

@media (max-width: 360px) {
  .type_menu_item {
    width: 90px;
  }
}

.type_menu a:hover {
  opacity: 0.8;
}

/* ------------------------------------
 *        	price
------------------------------------ */
.price_list {
  padding: 80px 0 0;
}

@media (max-width: 480px) {
  .price_list {
    padding: 40px 0 0;
  }
}

.price_list_ttl {
  margin-bottom: 60px;
  color: #00408e;
  font-size: 4.0rem;
  font-weight: bold;
  text-align: center;
}

@media (max-width: 768px) {
  .price_list_ttl {
    font-size: calc(36 / 750 * 100vw);
  }
}

@media (max-width: 480px) {
  .price_list_ttl {
    margin-bottom: 30px;
  }
}

.price_list_wrap {
  margin-bottom: 60px;
}

.price_list_item_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  background-color: #ffed9b;
}

@media (max-width: 1100px) {
  .price_list_item_inner {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

.price_list_item:not(:first-of-type) {
  margin-top: 30px;
}

.price_list_contents {
  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;
  width: 1000px;
  background-color: #ffed9b;
  padding: 15px 20px;
}

@media (max-width: 991px) {
  .price_list_contents {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 4%;
  }
}

@media (max-width: 480px) {
  .price_list_contents {
    padding: 15px;
  }
}

.price_list_car_icon {
  max-width: 186px;
}

@media (max-width: 991px) {
  .price_list_car_icon {
    max-width: 230px;
    width: 47%;
    margin-right: 2%;
  }
}

.price_list_car_name {
  color: #00408e;
  font-size: 1.6rem;
  text-align: center;
}

@media (max-width: 991px) {
  .price_list_car_name {
    width: 49%;
  }
}

@media (max-width: 480px) {
  .price_list_car_name {
    font-size: 1.2rem;
  }
}

.price_list_car_name .type {
  font-size: 3.8rem;
  font-weight: bold;
}

@media (max-width: 991px) {
  .price_list_car_name .type {
    font-size: calc(36 / 750 * 100vw);
  }
}

.price_list_car_detail {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  max-width: 500px;
  padding: 10px;
  background-color: #fff;
  border-radius: 5px;
}

@media (max-width: 991px) {
  .price_list_car_detail {
    max-width: 650px;
    width: 100%;
    margin-top: 5px;
  }
}

.price_list_car_detail .ttl {
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 1.4rem;
}

@media (max-width: 991px) {
  .price_list_car_detail .ttl {
    top: 5px;
  }
}

@media (max-width: 480px) {
  .price_list_car_detail .ttl {
    top: 5px;
    font-size: 1.2rem;
  }
}

.price_list_car_detail .cost {
  font-size: 2.4rem;
  font-weight: bold;
}

@media (max-width: 768px) {
  .price_list_car_detail .cost {
    font-size: 2.1rem;
  }
}

@media (max-width: 480px) {
  .price_list_car_detail .cost {
    font-size: 1.6rem;
  }
}

.price_list_car_detail .cost_ttl {
  display: block;
  margin-left: -15px;
  font-size: 1.7rem;
  font-weight: normal;
  text-align: center;
}

@media (max-width: 480px) {
  .price_list_car_detail .cost_ttl {
    font-size: 1.3rem;
  }
}

.price_list_car_detail .cost .small {
  margin: 0 5px;
  font-size: 70%;
  vertical-align: text-bottom;
}

@media (max-width: 480px) {
  .price_list_car_detail .cost .small {
    margin: 0 2px;
  }
}

.price_list_car_detail .total {
  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-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #e81c24;
  font-size: 3.2rem;
  font-weight: bold;
}

@media (max-width: 768px) {
  .price_list_car_detail .total {
    font-size: 2.6rem;
  }
}

@media (max-width: 480px) {
  .price_list_car_detail .total {
    font-size: 2.1rem;
    line-height: 1.4;
  }
}

@media (max-width: 360px) {
  .price_list_car_detail .total {
    font-size: 1.6rem;
  }
}

.price_list_car_detail .total_ttl {
  display: block;
  font-size: 1.8rem;
  font-weight: normal;
  text-align: center;
}

@media (max-width: 480px) {
  .price_list_car_detail .total_ttl {
    font-size: 1.3rem;
    font-weight: bold;
  }
}

.price_list_car_detail .total .online_reservation {
  display: block;
  font-size: 1.3rem;
  line-height: 1;
}

@media (max-width: 480px) {
  .price_list_car_detail .total .online_reservation {
    font-size: 1.0rem;
  }
}

@media (min-width: 360px) {
  .price_list_car_detail .total .online_reservation br {
    display: none;
  }
}

.price_list_car_detail .total .small {
  font-size: 70%;
}

.price_list_btn {
  width: 100px;
  padding: 15px;
  background-color: #ffdd58;
  color: #00408e;
  font-weight: bold;
  cursor: pointer;
}

@media (max-width: 1100px) {
  .price_list_btn {
    width: 100%;
    padding: 10px;
  }
}

.price_list_btn .txt {
  display: inline-block;
  margin-bottom: 10px;
}

@media (max-width: 1100px) {
  .price_list_btn .txt {
    margin-bottom: 0;
  }
}

.price_list_btn .arrow {
  width: 28px;
  vertical-align: text-bottom;
}

@media (max-width: 1100px) {
  .price_list_btn .arrow {
    display: none;
  }
}

.price_list .contents {
  position: relative;
  padding-top: 35px;
  display: none;
}

.price_list .contents::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 30px 29px 0 29px;
  border-color: #ffed9b transparent transparent transparent;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

@media (max-width: 1100px) {
  .price_list .contents::before {
    border-color: #ffdd58 transparent transparent transparent;
  }
}

.price_list_table {
  position: relative;
  width: 100%;
  margin: auto;
  z-index: 1;
}

@media (max-width: 640px) {
  .price_list_table {
    font-size: 1.0rem;
  }
}

.price_list_table tbody, .price_list_table th, .price_list_table td {
  border: 1px solid #c7c7c7;
  border-collapse: collapse;
}

.price_list_table th, .price_list_table td {
  padding: 10px 5px;
  width: 30px;
  height: 25px;
}

@media (max-width: 640px) {
  .price_list_table th, .price_list_table td {
    padding: 3px;
  }
}

.price_list_table th {
  font-weight: normal;
}

.price_list_table td {
  font-weight: bold;
}

.price_list_table tr:first-of-type th {
  color: #fff;
  font-size: 1.9rem;
  font-weight: bold;
}

@media (max-width: 640px) {
  .price_list_table tr:first-of-type th {
    font-size: 1.2rem;
  }
}

.price_list_table tr:first-of-type th:nth-of-type(2) {
  background-color: #2559b5;
}

.price_list_table tr:first-of-type th:nth-of-type(3) {
  background-color: #c85028;
}

.price_list_table tr:first-of-type th:nth-of-type(4) {
  background-color: #008987;
}

.price_list_table tr:nth-of-type(2),
.price_list_table tr:nth-of-type(3) {
  background-color: #eee;
}

.price_list_table tr:nth-of-type(8),
.price_list_table tr:nth-of-type(9),
.price_list_table tr:nth-of-type(10) {
  color: #dd0010;
}

.price_list_table tr:nth-of-type(8) th,
.price_list_table tr:nth-of-type(9) th,
.price_list_table tr:nth-of-type(10) th {
  font-weight: bold;
  line-height: 1.2;
}

.price_list_table tr:nth-of-type(8) {
  background-color: #ffffc9;
}

.price_list_table tr:nth-of-type(8) td {
  font-size: 125%;
}

@media (max-width: 640px) {
  .price_list_table tr:nth-of-type(8) td {
    font-size: 1.1rem;
  }
}

.price_list_table tr:nth-of-type(9) {
  background-color: #ffec9a;
}

.price_list_table tr:nth-of-type(9) td {
  font-size: 142%;
}

@media (max-width: 640px) {
  .price_list_table tr:nth-of-type(9) td {
    font-size: 1.2rem;
  }
}

.price_list_table tr:nth-of-type(10) {
  background-color: #f5d971;
}

.price_list_table tr:nth-of-type(10) td {
  font-size: 142%;
}

@media (max-width: 640px) {
  .price_list_table tr:nth-of-type(10) td {
    font-size: 1.2rem;
  }
}

.price_list_table tfoot {
  text-align: left;
}

.price_list_table .right_up_border {
  background-image: -webkit-gradient(linear, left bottom, right top, from(transparent), color-stop(49%, transparent), color-stop(49%, #c7c7c7), color-stop(51%, #c7c7c7), color-stop(51%, transparent), to(transparent));
  background-image: linear-gradient(to top right, transparent, transparent 49%, #c7c7c7 49%, #c7c7c7 51%, transparent 51%, transparent);
}

.price_list_table .small {
  font-size: 70%;
  font-weight: normal;
}

.price_list_table .icon {
  display: inline-block;
  max-width: 92px;
  width: 48%;
  margin-right: 4%;
}

.price_list_table .txt {
  display: inline-block;
}

.price_list .contact {
  max-width: 1000px;
  margin: 0 auto 40px;
}

#type01 .contents {
  display: block;
}

/*ネット割、高齢者割、モーダル*/
.modal-body img.campaign_img {
  display: block;
  margin: 0 auto 20px;
  width: 95%;
}

.modal-body p {
  font-size: 1.5rem;
}

/* ------------------------------------
 *        	course
------------------------------------ */
.course_ttl {
  margin: 60px 0 30px;
  color: #00408e;
  font-size: 4.0rem;
  font-weight: bold;
  text-align: center;
}

@media (max-width: 768px) {
  .course_ttl {
    font-size: calc(36 / 750 * 100vw);
  }
}

.course_menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 45px;
}

.course_menu_item {
  position: relative;
}

.course_menu_item:not(:last-of-type) {
  margin-right: 15px;
}

.course_menu_icon {
  position: absolute;
  /* top: 12%; */
  top: 10%;
  right: -4%;
  width: 30%;
}

.course_menu .modalBtn {
  position: absolute;
  width: 90%;
  left: 50%;
  bottom: 8%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  cursor: pointer;
}

.course_list {
  width: 100%;
  border: 1px solid #c6c6c6;
  font-size: 2.2rem;
  line-height: 1.2;
}

@media (max-width: 480px) {
  .course_list {
    font-size: 1.3rem;
  }
}

.course_list thead th {
  color: #fff;
  font-size: 1.9rem;
}

@media (max-width: 480px) {
  .course_list thead th {
    font-size: 1.4rem;
  }
}

.course_list thead th:first-child {
  width: 22%;
  background-color: #666666;
}

.course_list thead th:nth-child(2) {
  width: 26%;
  background-color: #1856bb;
}

.course_list thead th:nth-child(3) {
  width: 26%;
  background-color: #d64611;
}

.course_list thead th:nth-child(4) {
  width: 26%;
  background-color: #008b87;
}

.course_list thead th:not(:first-child) {
  border-left: 2px solid #fff;
}

.course_list tbody th {
  background-color: #f2f2f2;
  font-size: 1.7rem;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}

@media (max-width: 480px) {
  .course_list tbody th {
    font-size: 1.2rem;
  }
}

.course_list tbody td:first-of-type {
  font-size: 1.7rem;
}

@media (max-width: 480px) {
  .course_list tbody td:first-of-type {
    font-size: 1.2rem;
  }
}

.course_list th, .course_list td {
  padding: 5px;
  border: 1px solid #c6c6c6;
  border-collapse: collapse;
}

/* ================================================= *
 *        	inspection
 * ================================================= */
#price.inspection01 h1 {
  border-bottom: 45px solid #1856bb
}

#price.inspection02 h1 {
  border-bottom: 45px solid #d64611;
}

#price.inspection03 h1 {
  border-bottom: 45px solid #008b87;
}

.inspection0_title {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 69px;
  padding: 0;
  box-sizing: content-box;
  font-size: 36px;
  font-weight: bold;
}

@media (max-width: 768px) {
  .inspection0_title {
    font-size: min(calc(100vw / 750 * 36), 36px);
  }
}

.detail_btn {
  display: inline-block;
  min-width: max-content;
  /* color: #4d4d4d; */
}

.inspection_container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.inspection_container::after {
  content: '';
  min-height: inherit;
  font-size: 0;
}

.inspection_inner {
  max-width: 800px;
  width: 100%;
  margin: 60px auto 0;
}

@media (max-width: 768px) {
  .inspection_inner {
    margin-top: 30px;
  }
}

.inspection_content {
  border-radius: 4px;
  background-color: #fff;
}

.inspection_list,
.maintenance_list {
  width: 100%;
  margin-bottom: 30px;
  border: 1px solid #595959;
  font-size: 1.4rem;
}

@media (max-width: 480px) {
  .inspection_list,
  .maintenance_list {
    font-size: 1.2rem;
  }
}

.inspection_list th,
.maintenance_list th {
  color: #fff;
  font-size: 2.4rem;
}

@media (max-width: 480px) {
  .inspection_list th,
  .maintenance_list th {
    font-size: 1.8rem;
  }
}

.inspection_list th, .inspection_list td,
.maintenance_list th,
.maintenance_list td {
  padding: 5px 10px;
  border: 1px solid #595959;
  border-collapse: collapse;
}

.inspection_list th {
  background-color: #2b4eaf;
}

.inspection02 .maintenance_list th {
  background-color: #d64611;
}

.inspection03 .maintenance_list th {
  background-color: #008b87;
}

/* ------------------------------------
 *        	campaign
------------------------------------ */
.campaign_note {
  font-size: 1.2rem;
  text-align: right;
  font-weight: bold;
}