@charset "UTF-8";
/*============================================================
	Sub
============================================================*/
/*  mv
-------------------------------------------------*/
#mv__sub {
  padding: 0;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #mv__sub figure {
    height: 15.3846153846rem;
    position: relative;
    overflow: hidden;
  }
  #mv__sub figure img {
    position: absolute;
    width: 200%;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    top: 0;
  }
}
#mv__sub .inner {
  position: absolute;
  height: 100%;
  left: 50%;
  top: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
     -moz-box-orient: vertical;
     -moz-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#mv__sub .inner h1 {
  color: #fff;
  text-align: center;
  font-size: 3rem;
  font-weight: 600;
  margin-top: 1em;
}
@media only screen and (max-width: 767px) {
  #mv__sub .inner h1 {
    font-size: 1.8461538462rem;
    line-height: 1.4;
  }
}

/*  注釈
-------------------------------------------------*/
.box {
  background: rgba(191, 151, 61, 0.1);
  padding: 1.875rem;
  margin-top: 1.25rem;
}
@media only screen and (max-width: 767px) {
  .box {
    padding: 1.1538461538rem;
    margin-top: 0.7692307692rem;
  }
}
.box h3 {
  font-size: 1.125rem;
  font-weight: 600;
  color: #bf973d;
  margin-bottom: 0.3em;
  padding-left: 1em;
  text-indent: -1em;
}
.box h3::before {
  content: "■";
}
@media only screen and (max-width: 767px) {
  .box h3 {
    font-size: 1.2307692308rem;
    line-height: 1.2;
  }
}
.box p {
  line-height: 1.8;
}
@media print, screen and (min-width: 768px) {
  .box p span {
    display: inline-block;
    width: 7.75em;
  }
}
@media print, screen and (min-width: 768px) {
  .box p span.en {
    width: 4.5em;
  }
}
.box small {
  display: block;
  font-size: 90%;
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.8;
  text-align: justify;
}
.box small.en {
  padding-left: 3.5em;
  text-indent: -3.5em;
}
.box__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .box__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .box__inner > div:not(:last-child) {
    margin-bottom: 1.1538461538rem;
  }
}

/*  料金表
-------------------------------------------------*/
.fare {
  width: 100%;
}
.fare th, .fare td {
  vertical-align: middle;
  padding: 1.25rem;
}
@media only screen and (max-width: 767px) {
  .fare th, .fare td {
    padding: 0.7692307692rem;
  }
}
.fare thead th {
  background: #000;
  color: #fff;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 600;
}
@media only screen and (max-width: 767px) {
  .fare thead th {
    padding: 0.7692307692rem 0;
    font-size: 1.0769230769rem;
    line-height: 1.2;
  }
}
.fare thead th a {
  color: #bf973d;
  display: inline-block;
  font-size: 1rem;
  margin-top: 0.5em;
  padding-left: 0.625rem;
  position: relative;
}
.fare thead th a::before {
  position: absolute;
  content: "";
  background: #bf973d;
  width: 0.3125rem;
  height: 0.625rem;
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.fare thead th:first-child {
  width: 13.75rem;
}
@media only screen and (max-width: 767px) {
  .fare thead th:first-child {
    width: 7.6923076923rem;
  }
}
.fare thead th:nth-child(2) {
  width: calc((100% - 13.75rem) / 2);
  border-left: solid 1px #ccc;
  border-right: solid 1px #ccc;
}
@media only screen and (max-width: 767px) {
  .fare thead th:nth-child(2) {
    width: calc((100% - 7.6923076923rem) / 2);
  }
}
.fare tbody {
  font-size: 1.125rem;
}
.fare tbody tr th {
  font-weight: 400;
}
@media only screen and (max-width: 767px) {
  .fare tbody tr th {
    font-size: 0.9038461538rem;
  }
}
.fare tbody tr td {
  text-align: right;
}
.fare tbody tr td:first-of-type {
  border-left: solid 1px #ccc;
  border-right: solid 1px #ccc;
}
.fare tbody tr:nth-child(even) {
  background: #f2f2f2;
}
.fare + ul {
  margin-top: 1.875rem;
}
@media only screen and (max-width: 767px) {
  .fare + ul {
    margin-top: 1.1538461538rem;
  }
}
.fare + ul li {
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.4;
  text-align: justify;
}
.fare + ul li:not(:last-child) {
  margin-bottom: 0.5em;
}
.fare + ul li::before {
  content: "※";
}
.fare + ul li.en {
  padding-left: 3.5em;
  text-indent: -3.5em;
}
.fare + ul li.en::before {
  content: "Notes: ";
}

/*  タブ
-------------------------------------------------*/
.tab__wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
     -moz-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 0.125rem;
}
@media only screen and (max-width: 767px) {
  .tab__wrap {
    gap: 0.0769230769rem;
  }
}
.tab__wrap .tab {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
     -moz-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.tab__wrap .tab a {
  display: block;
  height: 3.75rem;
  border-radius: 1.875rem 1.875rem 0 0;
  background: #000;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .tab__wrap .tab a {
    border-radius: 1.5384615385rem 1.5384615385rem 0 0;
    height: 3.0769230769rem;
  }
}
.tab__wrap .tab a span {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: #fff;
  font-size: 1.5rem;
  font-weight: 600;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .tab__wrap .tab a span {
    font-size: 0.9230769231rem;
    line-height: 1.2;
    text-align: center;
  }
}
.tab__wrap .tab a:hover {
  opacity: 1;
}
.tab__wrap .tab a:hover span {
  color: #bf973d;
}
.tab__wrap .tab a.selected {
  height: 5rem;
  background: transparent;
  border-top: solid 1px #000;
  border-right: solid 1px #000;
  border-left: solid 1px #000;
}
@media only screen and (max-width: 767px) {
  .tab__wrap .tab a.selected {
    height: 3.8461538462rem;
  }
}
.tab__wrap .tab a.selected span {
  color: #000;
}
.tab__wrap.bottom {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
     -moz-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: 3.125rem;
}
@media only screen and (max-width: 767px) {
  .tab__wrap.bottom {
    margin-top: 2.3076923077rem;
  }
}
.tab__wrap.bottom .tab a {
  border-radius: 0 0 1.875rem 1.875rem;
}
@media only screen and (max-width: 767px) {
  .tab__wrap.bottom .tab a {
    border-radius: 0 0 1.5384615385rem 1.5384615385rem;
  }
}
.tab__wrap.bottom .tab a.selected {
  border-top: none;
  border-bottom: solid 1px #000;
}

.contents {
  padding-top: 3.125rem;
}
@media only screen and (max-width: 767px) {
  .contents {
    padding-top: 2.3076923077rem;
  }
}
.contents .tab__main {
  display: none;
}
.contents .tab__main.active {
  display: block;
}

/*  404
-------------------------------------------------*/
#not_found p {
  text-align: center;
  line-height: 1.8;
}
#not_found .back {
  border-color: #000;
  background: transparent;
  color: #000;
  margin: 1.875rem auto 0;
}
#not_found .back::after {
  border-right-color: #000;
  border-bottom-color: #000;
  right: unset;
  left: 1.875rem;
  -webkit-transform: translateY(-50%) rotate(135deg);
          transform: translateY(-50%) rotate(135deg);
}
#not_found .back:hover {
  background: #000;
  color: #fff;
}
#not_found .back:hover::after {
  border-right-color: #fff;
  border-bottom-color: #fff;
  left: 1.25rem;
}