@charset "UTF-8";
@import url("common.css");
@import url("//fonts.googleapis.com/css?family=Noto+Sans+JP:100,200,300,400,500,700,900&subset=japanese");
.conditions-h3, .modal .modal-body h3, .conditions .container-xl h3 {
  color: #7b0000;
  font-size: 2rem;
  background: url(../images/line.gif) bottom repeat-x;
  padding: 1.2rem 0.6rem 1.8rem;
  margin-top: 0;
  margin-bottom: 2.4rem;
  text-align: center;
}

html {
  font-size: 62.5%;
}

body {
  font-size: 1.4rem;
  font-weight: 400;
  color: #444;
  line-height: 1.5;
}

main {
  display: block;
}

div, dl, dt, dd, h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
}

h4, p {
  margin: 0.6rem 0;
}

h2 {
  font-size: 2.8rem;
  font-weight: bold;
}

h3 {
  font-size: 2.4rem;
  font-weight: bold;
}

h4 {
  font-size: 1.6rem;
  font-weight: bold;
}

b {
  font-weight: bold;
}

ul.number,
ul.disc,
ul.kome {
  padding-left: 20px;
  margin: 0.6rem 0;
}

section {
  margin: 50px 0;
}

a {
  word-break: break-all;
}

a:link, a:hover, a:visited {
  color: #125687;
}

h2.index {
  font-size: 2.8rem;
  font-weight: 900;
  letter-spacing: 3px;
  margin: 3.0rem 0;
  text-align: center;
}

/* モーダル設定 */
.modal {
  z-index: 9999;
}

.modal .modal-dialog {
  margin: 5.4rem auto !important;
}

.modal .modal-body {
  padding: 30px 15px;
}

.modal .modal-body .transport {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 1.2rem 0;
  border: 1px solid #ccc;
}

.modal .modal-body .transport dt {
  width: 200px;
  padding: 0.6rem;
  background-color: #eee;
  text-align: center;
  border-right: 1px solid #ccc;
}

.modal .modal-body .transport dd {
  padding: 0.6rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

@media screen and (max-width: 768px) {
  .modal .modal-body .transport {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .modal .modal-body .transport dt {
    width: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    border-right: none;
    border-bottom: 1px solid #ccc;
  }
  .modal .modal-body .transport dd {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.modal .modal-body .reference {
  width: 60%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 1.2rem 0;
  text-align: center;
  border: 1px solid #ccc;
}

.modal .modal-body .reference dt {
  width: 200px;
  padding: 0.6rem;
  background-color: #eee;
  border-right: 1px solid #ccc;
}

.modal .modal-body .reference dd {
  padding: 0.6rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

@media screen and (max-width: 768px) {
  .modal .modal-body .reference {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .modal .modal-body .reference dt {
    width: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    border-right: none;
    border-bottom: 1px solid #ccc;
  }
  .modal .modal-body .reference dd {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

@media screen and (max-width: 768px) {
  .modal .modal-body .list.sp dt, .modal .modal-body .list.sp dd {
    display: block;
  }
}

.modal .modal-lg-980 {
  width: 980px;
  min-width: 980px;
}

.modal .modal-footer {
  padding: 8px 25px !important;
}

/* ページトップへ戻るボタン設定 */
a.page-top {
  position: fixed;
  bottom: 25px;
  right: 40px;
  font-size: 3.2rem;
  color: #444;
  text-decoration: none;
  z-index: 8888;
}

a.page-top:hover {
  color: #444;
  opacity: 0.8;
}

/* fontawesome for windows  */
.fa-chevron-up:before,
.fa-chevron-down:before,
.fa-download:before {
  font-weight: 900 !important;
}

@media screen and (max-width: 768px) {
  section {
    margin: 30px 0;
  }
  h2.index {
    font-size: 2.4rem;
    margin: 2.4rem 0;
  }
  .list.column dl dt,
  .list.column dl dd {
    display: block;
  }
  .xscroll {
    overflow: scroll;
  }
  .xscroll th, .xscroll td {
    white-space: nowrap;
  }
  .scroll-hint-icon {
    top: calc(50% - 28px);
    left: calc(50% - 35px);
    width: 80px !important;
    height: 56px !important;
    padding: 16px 10px 10px 10px !important;
  }
  .scroll-hint-icon:before {
    width: 20px !important;
    height: 20px !important;
  }
  .scroll-hint-icon::after {
    content: "";
    width: 34px;
    height: 10px;
    top: 6px;
    left: 50%;
    margin-left: -18px;
  }
  .scroll-hint-text {
    margin-top: 3px;
  }
  .modal-lg-980 {
    width: 95% !important;
    min-width: 95% !important;
  }
}

/* PCナビゲーション */
nav#pc_nav {
  display: block;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  position: fixed;
  z-index: 1000;
}

nav#pc_nav ul {
  margin-bottom: 0;
}

nav#pc_nav ul li {
  list-style-type: none;
  text-align: center;
  height: 50px;
  line-height: 50px;
  font-size: 1.6rem;
  padding: 0 1.2rem;
}

nav#pc_nav ul li a {
  color: white;
}

nav#pc_nav ul li a:hover {
  opacity: .8;
}

nav#pc_nav ul li a:link {
  color: white;
  text-decoration: none;
}

/* SPナビゲーション */
#sp_nav {
  position: fixed;
  top: 10px;
  right: 10px;
  display: inline-block;
  z-index: 999;
}

#sp_nav #sp_toggle {
  position: absolute;
  display: none;
  opacity: 0;
}

#sp_nav #sp_toggle:checked ~ .menu {
  -webkit-transform: translateX(-100vw);
          transform: translateX(-100vw);
}

#sp_nav #sp_toggle ~ label {
  display: block;
  padding: 0.5em;
  cursor: pointer;
  -webkit-transition: 0.5s -webkit-transform;
  transition: 0.5s -webkit-transform;
  transition: 0.5s transform;
  transition: 0.5s transform, 0.5s -webkit-transform;
  text-align: center;
  color: white;
}

#sp_nav #sp_toggle ~ label::before {
  font-family: 'Font Awesome 5 Free';
  content: '\f0c9';
  font-size: 3.2rem;
  font-weight: bold;
  text-shadow: 1px 1px 3px #444;
}

#sp_nav #sp_toggle:checked ~ label {
  -webkit-transform: translateX(-220px);
          transform: translateX(-220px);
  width: 100vw;
  height: 100vh;
}

#sp_nav #sp_toggle:checked ~ label::before {
  font-family: 'Font Awesome 5 Free';
  content: '\f00d';
  font-size: 3.2rem;
  font-weight: bold;
  text-shadow: 1px 1px 3px #444;
  position: absolute;
  right: 0px;
}

#sp_nav .menu {
  position: fixed;
  top: 0;
  right: -100vw;
  width: 220px;
  height: 100%;
  cursor: pointer;
  -webkit-transition-timing-function: cubic-bezier(0.38, 0.52, 0.23, 0.99);
          transition-timing-function: cubic-bezier(0.38, 0.52, 0.23, 0.99);
  background-color: #222;
  opacity: 0.9;
  z-index: 9999;
}

#sp_nav .menu ul {
  margin: 0;
  padding: 0;
}

#sp_nav .menu ul li {
  list-style: none;
  width: 100%;
}

#sp_nav .menu ul li a {
  display: block;
  padding: 20px;
  text-decoration: none;
  color: white;
  border-bottom: 1px solid white;
  font-size: 1.6rem;
}

/* ヘッダーの設定 START */
header {
  display: block;
  padding-top: 50px;
}

@media screen and (max-width: 768px) {
  header {
    padding-top: 0px;
  }
}

header h1.default {
  font-size: 3.2rem;
  color: white;
  font-weight: 900;
  text-align: center;
  background-color: #444;
  padding: 50px;
  margin: 0;
}

@media screen and (max-width: 576px) {
  header h1.default {
    font-size: 2.4rem;
    padding: 300px 15px;
  }
}

/* イベント情報の設定 */
.event dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  border: 1px solid #ccc;
}

.event dl:not(:last-child) {
  border-bottom: none;
}

.event dl dt {
  width: 120px;
  background-color: #666;
  color: white;
  padding: 0.6rem;
  text-align: center;
}

.event dl dd {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  background-color: white;
  padding: 0.6rem;
  background-color: white;
  margin-bottom: 0;
}

.event dl dd ul.kome, .event dl dd ul.number {
  margin: 0;
}

@media screen and (max-width: 576px) {
  .event dl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .event dl dt {
    width: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

/* 申し込みフローの設定 START */
.flow {
  background-color: white;
  padding: 15px 30px;
  /* 申し込みフロー開閉の設定 */
}

@media screen and (max-width: 576px) {
  .flow {
    padding: 30px  15px 15px;
  }
}

.flow .container-xl {
  padding: 30px 15px 15px;
}

@media screen and (max-width: 768px) {
  .flow .container-xl {
    padding: 30px 0;
  }
}

.flow .nav-tabs {
  margin-bottom: 30px;
}

.flow .nav-tabs .nav-item {
  margin-bottom: −1px;
}

.flow .nav-tabs .nav-link, .flow .nav-tabs .nav-link.active {
  padding: 1.2rem;
  font-size: 2rem;
  font-weight: bold;
  color: #CCC;
  letter-spacing: 3px;
  text-align: center;
}

@media screen and (max-width: 576px) {
  .flow .nav-tabs .nav-link, .flow .nav-tabs .nav-link.active {
    font-size: 1.6rem;
    padding: 0.6rem;
  }
}

.flow .nav-tabs .active.nav-link {
  color: #444;
}

.flow .nav-item.w1 {
  width: 100%;
}

.flow .nav-item.w2 {
  width: 50%;
}

.flow .nav-item.w3 {
  width: 33.3%;
}

.flow .nav-item.w4 {
  width: 25%;
}

.flow .nav-item.w5 {
  width: 20%;
}

.flow .nav-item.w6 {
  width: 16.6%;
}

.flow .nav-item.w7 {
  width: 14.2%;
}

.flow .nav-item.w8 {
  width: 12.5%;
}

.flow .nav-item.w9 {
  width: 11.1%;
}

.flow .nav-item.w10 {
  width: 10%;
}

.flow .tab-content .msg-top, .flow .tab-content .msg-done, .flow .tab-content .msg-middle, .flow .tab-content .msg-bottom {
  font-size: 2rem;
  font-weight: bold;
  color: #FF3300;
  text-align: center;
  margin-bottom: 1.2rem;
}

.flow .tab-content .msg-done {
  font-size: 1.6rem;
}

.flow .tab-content .term .day {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 2px;
  text-align: center;
  color: #7b0000;
}

.flow .tab-content .term .day .md {
  font-size: 2.8rem;
  font-weight: bold;
}

.flow .tab-content .term .day .lg {
  font-size: 3.6rem;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .flow .tab-content .term .day {
    font-size: 2rem;
  }
  .flow .tab-content .term .day .md {
    font-size: 2.4rem;
  }
  .flow .tab-content .term .day .lg {
    font-size: 2.8rem;
  }
  .flow .tab-content .term .day .kara {
    display: block;
    margin: 0.6rem auto -0.6rem;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    text-align: center;
    padding: 0px;
  }
}

.flow .tab-content .term .done, .flow .tab-content .term .touraku.done {
  color: #CCC;
}

.flow .tab-content ul.note {
  list-style: none;
}

.flow .tab-content ul.note li {
  display: inline-block;
  margin: 0.6rem;
}

.flow .tab-content .stepbox {
  border-left: 1px solid #666;
  border-right: 1px solid #666;
}

.flow .tab-content .stepbox:last-child {
  border-bottom: 1px solid #666;
}

.flow .tab-content .stepbox h3 {
  background-color: #666;
  border-top: 1px solid #666;
  border-bottom: 1px solid #666;
  color: white;
  font-size: 2rem;
  font-weight: bold;
  margin: 0;
}

.flow .tab-content .stepbox h3 span:first-child {
  display: inline-block;
  background-color: white;
  color: #666;
  padding: 1.2rem;
  width: 150px;
  text-align: center;
}

.flow .tab-content .stepbox h3 span:nth-child(2) {
  padding: 1.2rem;
  display: inline-block;
  width: calc(100% - 150px);
}

.flow .tab-content .stepbox h3.index {
  background-color: #666;
  color: white;
  font-weight: 900;
  padding: 1.2rem;
}

@media screen and (max-width: 576px) {
  .flow .tab-content .stepbox h3 {
    text-align: center;
    background-color: white;
    color: #666;
  }
  .flow .tab-content .stepbox h3 span:first-child {
    background-color: #666;
    color: white;
    display: block;
    font-weight: bold;
    width: 100%;
  }
  .flow .tab-content .stepbox h3 span:nth-child(2) {
    background-color: white;
    color: #666;
    display: inline-block;
    text-align: center;
    border: none;
    font-weight: bold;
    width: 100%;
  }
  .flow .tab-content .stepbox h3.index {
    font-weight: bold;
  }
}

.flow .tab-content .stepbox .inner {
  padding: 1.2rem;
}

.flow .tab-content .stepbox .inner p:first-child {
  font-weight: bold;
}

.flow .tab-content .stepbox dl.payment {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  border: 1px solid #CCC;
}

.flow .tab-content .stepbox dl.payment:not(:first-child) {
  border-top: none;
}

.flow .tab-content .stepbox dl.payment dt {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 170px;
          flex: 0 0 170px;
  text-align: center;
  padding: 0.6rem;
  background-color: #EEE;
  border-right: 1px solid #CCC;
}

.flow .tab-content .stepbox dl.payment dd {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 0.6rem;
}

.flow .tab-content .stepbox dl.payment dl.account dt {
  text-align: left;
  border: none;
}

.flow .tab-content .stepbox dl.payment dl.account li {
  display: inline-block;
  margin-right: 1.2rem;
}

@media screen and (max-width: 576px) {
  .flow .tab-content .stepbox dl.payment {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .flow .tab-content .stepbox dl.payment dt {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    border-right: none;
    border-bottom: 1px solid #CCC;
  }
  .flow .tab-content .stepbox dl.payment dl.account li {
    display: block;
  }
}

.flow .grad-wrap {
  position: relative;
}

.flow .grad-btn {
  z-index: 99;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  font-size: 1.6rem;
  text-align: center;
  cursor: pointer;
  -webkit-transition: .1s ease;
  transition: .1s ease;
  font-weight: bold;
  color: #125687;
  padding-top: 10px;
  padding-bottom: 10px;
}

.flow .grad-btn::after {
  content: "さらに表示する";
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(50%, rgba(255, 255, 255, 0.9)), color-stop(50%, rgba(255, 255, 255, 0.9)), to(white));
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, white 100%);
}

.flow .grad-btn:hover > i {
  opacity: 0.8;
}

.flow i {
  color: #444;
}

.flow .fa {
  margin-right: .5em;
}

.flow .grad-item {
  position: relative;
  overflow: hidden;
  height: 160px;
  padding-bottom: 50px;
}

.flow .grad-item::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 160px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(50%, rgba(255, 255, 255, 0.9)), color-stop(50%, rgba(255, 255, 255, 0.9)), to(white));
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, white 100%);
}

.flow .grad-item::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 160px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(50%, rgba(255, 255, 255, 0.9)), color-stop(50%, rgba(255, 255, 255, 0.9)), to(white));
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, white 100%);
}

.flow .grad-trigger {
  display: none;
}

.flow .grad-trigger:checked ~ .grad-btn {
  bottom: -5px;
}

.flow .grad-trigger:checked ~ .grad-btn::after {
  content: "閉じる";
}

.flow .grad-trigger:checked ~ .grad-btn .fa {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.flow .grad-trigger:checked ~ .grad-item {
  height: auto;
}

.flow .grad-trigger:checked ~ .grad-item::before {
  display: none;
}

/* プランボックスの設定 START */
.planBox {
  margin-bottom: 30px;
  background: white;
  padding: 15px 30px;
  border-radius: 3px 3px 3px 3px;
  /* プランタイトルの設定 */
  /* 国内用の行程表の設定 */
  /* 国内用の行程表の設定 */
  /* 海外用の行程表の設定 */
  /* 料金表の設定 */
  /* プラン開閉の設定 */
}

@media screen and (max-width: 576px) {
  .planBox {
    padding: 15px;
  }
}

.planBox .ticket_txt {
  font-weight: bold;
  color: #FF3300;
  margin-bottom: 1.2rem;
}

.planBox .copy {
  font-weight: bold;
  color: #666;
}

.planBox .planTitle {
  margin: 0.6rem 0;
}

.planBox .planTitle span.planId {
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.2;
  display: inline-block;
  margin-right: 5px;
  min-width: 30px;
  border: 2px solid #444;
  text-align: center;
}

.planBox .planTitle h3 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.5;
  display: inline;
}

@media screen and (max-width: 576px) {
  .planBox .planTitle span.planId {
    font-size: 2.0rem;
  }
  .planBox .planTitle h3 {
    font-size: 2rem;
  }
}

.planBox .planheader {
  /* アイコンの設定 */
  /* SNSボタンの設定 */
}

.planBox .planheader .list dl dt,
.planBox .planheader .list dl dd {
  font-size: 1.6rem;
  font-weight: bold;
}

.planBox .planheader .price {
  text-align: right;
  font-size: 1.6rem;
  font-weight: bold;
}

.planBox .planheader .price p:not(:first-child) {
  font-size: 2.4rem;
}

.planBox .planheader ul.transport_icon li {
  display: inline-block;
  border: 1px solid #999;
  color: #999;
  font-size: 1.2rem;
  padding: 0 0.6rem;
  border-radius: 2px;
  margin: 0.6rem 0;
}

.planBox .planheader ul.snslist {
  list-style-type: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.planBox .planheader ul.snslist li {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 1;
          flex: 1 0 1;
  margin: 0.3rem;
}

.planBox .planheader ul.snslist li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: white;
  display: block;
  font-size: 1.2rem;
  padding: 0 0.6rem;
  text-decoration: none;
  border-radius: 2px;
  line-height: 1.8;
}

.planBox .planheader ul.snslist li a:hover {
  opacity: 0.8;
}

.planBox .planheader ul.snslist li a.fb {
  background: #3B5998;
}

.planBox .planheader ul.snslist li a.tw {
  background: #1DA1F2;
}

.planBox .planheader ul.snslist li a.ln {
  background: #1dcd00;
}

.planBox .kouteiBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.planBox .kouteiBox h4 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 1;
          flex: 1 0 1;
}

.planBox .kouteiBox ul.example {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.planBox .kouteiBox ul.example li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 1;
          flex: 1 0 1;
  color: #999;
  font-size: 1.2rem;
  font-weight: bold;
  margin: 0.3rem 0.6rem;
}

.planBox .kokunai {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%;
}

.planBox .kokunai dl {
  position: relative;
  display: table;
  width: 1050px;
  border-collapse: collapse;
  font-size: 1.2rem;
  border: 1px solid #CCC;
}

.planBox .kokunai dl:not(:first-child) {
  border-top: none;
}

.planBox .kokunai dl dt {
  display: table-cell;
  vertical-align: middle;
  min-width: 100px;
  text-align: center;
  font-weight: bold;
  background: #EEE;
}

.planBox .kokunai dl dt.index,
.planBox .kokunai dl dl.index {
  background: #EEE;
  padding: 0.6rem;
  text-align: center;
  font-weight: bold;
}

.planBox .kokunai dl dl {
  display: table-cell;
  padding: 3.0rem 1.2rem 0.6rem 1.2rem;
  overflow: hidden;
  vertical-align: middle;
}

.planBox .kokunai line {
  display: table;
  width: auto;
  position: relative;
  overflow: hidden;
  vertical-align: middle;
  min-height: 50px;
}

.planBox .kokunai place, .planBox .kokunai move, .planBox .kokunai event, .planBox .kokunai spacer {
  display: table-cell;
  width: auto;
  text-align: center;
  vertical-align: middle;
  position: relative;
  min-height: 50px;
  font-size: 13px;
  overflow: visible;
  white-space: nowrap;
}

.planBox .kokunai event {
  padding-left: 6px;
  padding-right: 7px;
}

.planBox .kokunai move bus {
  color: #666;
  font-size: 12px;
  position: absolute;
  left: 0;
  top: calc(50% - 25px);
  white-space: nowrap;
  text-align: center;
  font-weight: 300;
  width: 100%;
}

.planBox .kokunai move start {
  color: #999;
  font-size: 12px;
  position: absolute;
  left: 3px;
  top: calc(50% - 25px);
  white-space: nowrap;
  text-align: center;
  font-weight: 300;
}

.planBox .kokunai move mid {
  color: #999;
  font-size: 12px;
  position: absolute;
  left: 0;
  top: calc(50% - 25px);
  white-space: nowrap;
  text-align: center;
  font-weight: 300;
  width: 100%;
}

.planBox .kokunai move end {
  color: #999;
  font-size: 12px;
  position: absolute;
  right: 3px;
  top: calc(50% - 25px);
  white-space: nowrap;
  text-align: center;
  font-weight: 300;
}

.planBox .kokunai move i {
  color: #999;
  margin-left: -1px;
}

.planBox .kokunai .bus:before,
.planBox .kokunai .bus:after {
  content: "＞＞＞";
  font-size: 10px;
  color: #999;
  vertical-align: middle;
  padding: 5px;
  font-weight: bold;
}

.planBox .kokunai .bus-m:before,
.planBox .kokunai .bus-m:after {
  content: "＞＞＞＞＞";
  font-size: 10px;
  color: #999;
  vertical-align: middle;
  padding: 5px;
  font-weight: bold;
}

.planBox .kokunai .bus-l:before,
.planBox .kokunai .bus-l:after {
  content: "＞＞＞＞＞＞＞";
  font-size: 10px;
  color: #999;
  vertical-align: middle;
  padding: 5px;
  font-weight: bold;
}

.planBox .kokunai .train:before,
.planBox .kokunai .train:after {
  content: "〓 〓 〓";
  font-size: 9px;
  color: #999;
  vertical-align: middle;
  padding: 5px;
}

.planBox .kokunai .train-m:before,
.planBox .kokunai .train-m:after {
  content: "〓 〓 〓 〓 〓";
  font-size: 9px;
  color: #999;
  vertical-align: middle;
  padding: 5px;
}

.planBox .kokunai .train-l:before,
.planBox .kokunai .train-l:after {
  content: "〓 〓 〓 〓 〓 〓 〓";
  font-size: 9px;
  color: #999;
  vertical-align: middle;
  padding: 5px;
}

.planBox .kokunai .plane:before,
.planBox .kokunai .plane:after {
  content: "＋＋＋";
  font-size: 9px;
  color: #999;
  vertical-align: middle;
  padding: 5px;
  font-weight: 900;
}

.planBox .kokunai .plane-m:before,
.planBox .kokunai .plane-m:after {
  content: "＋＋＋＋＋＋＋";
  font-size: 9px;
  color: #999;
  vertical-align: middle;
  padding: 5px;
  font-weight: 900;
}

.planBox .kokunai .plane-l:before,
.planBox .kokunai .plane-l:after {
  content: "＋＋＋＋＋＋＋＋＋";
  font-size: 9px;
  color: #999;
  vertical-align: middle;
  padding: 5px;
  font-weight: 900;
}

.planBox .kokunai .ship:before,
.planBox .kokunai .ship:after {
  content: "〜〜〜";
  font-size: 9px;
  color: #999;
  vertical-align: middle;
  padding: 5px;
  font-weight: 900;
}

.planBox .kokunai .ship-s:before,
.planBox .kokunai .ship-s:after {
  content: "〜〜〜〜〜〜";
  font-size: 9px;
  color: #999;
  vertical-align: middle;
  padding: 5px;
  font-weight: 900;
}

.planBox .kokunai .ship-l:before,
.planBox .kokunai .ship-l:after {
  content: "〜〜〜〜〜〜〜〜〜";
  font-size: 9px;
  color: #999;
  vertical-align: middle;
  padding: 5px;
  font-weight: 900;
}

.planBox .kokunai .kakuji:before,
.planBox .kokunai .kakuji:after {
  content: "・・・";
  font-size: 10px;
  color: #999;
  vertical-align: middle;
  padding: 5px;
  font-weight: 900;
}

.planBox .kokunai .kakuji-s:before,
.planBox .kokunai .kakuji-s:after {
  content: "・・・・・";
  font-size: 10px;
  color: #999;
  vertical-align: middle;
  padding: 5px;
  font-weight: 900;
}

.planBox .kokunai .kakuji-l:before,
.planBox .kokunai .kakuji-l:after {
  content: "・・・・・・・";
  font-size: 10px;
  color: #999;
  vertical-align: middle;
  padding: 5px;
  font-weight: 900;
}

.planBox .kokunai t-l,
.planBox .kokunai .tl {
  position: absolute;
  left: 0;
  top: calc(50% - 25px);
  white-space: nowrap;
  text-align: center;
  font-weight: 300;
  font-size: 12px;
  color: #666;
}

.planBox .kokunai t-r,
.planBox .kokunai .tr {
  position: absolute;
  right: 3px;
  top: calc(50% - 25px);
  white-space: nowrap;
  text-align: center;
  font-weight: 300;
  font-size: 12px;
  color: #666;
}

.planBox .kokunai t-c,
.planBox .kokunai .tc {
  position: absolute;
  left: calc(25%);
  top: calc(50% - 25px);
  white-space: nowrap;
  text-align: center;
  font-weight: 300;
  font-size: 12px;
  color: #666;
}

.planBox .kokunai b-l,
.planBox .kokunai .bl {
  position: absolute;
  left: 0;
  top: calc(50% + 8px);
  white-space: nowrap;
  text-align: center;
  font-weight: 300;
  font-size: 12px;
  color: #666;
  margin: 0;
}

.planBox .kokunai b-r,
.planBox .kokunai .br {
  position: absolute;
  right: 3px;
  top: calc(50% + 8px);
  white-space: nowrap;
  text-align: center;
  font-weight: 300;
  font-size: 12px;
  color: #666;
}

.planBox .kokunai b-c,
.planBox .kokunai .bc {
  position: absolute;
  left: calc(25%);
  top: calc(50% + 8px);
  white-space: nowrap;
  text-align: center;
  font-weight: 300;
  font-size: 12px;
  color: #666;
}

.planBox .kokunai dl dl place {
  font-weight: 400;
}

.planBox .kokunai event {
  padding: 3px 8px;
  height: 100%;
  vertical-align: middle;
  border-left: 8px solid white;
  border-right: 8px solid white;
}

.planBox .kokunai info {
  position: absolute;
  font-size: 12px;
  top: -1px;
  right: -1px;
}

.planBox .kokunai info meal {
  display: table-cell;
  padding: 2px 3px 2px 8px;
  background: white;
  border: 1px solid #CCC;
}

.planBox .kokunai info meal:before {
  content: "[食事]";
  padding-right: 10px;
  font-weight: 400;
}

.planBox .kokunai info meal span {
  margin-right: 5px;
}

.planBox .kokunai info stay {
  display: table-cell;
  padding: 2px 8px 2px 8px;
  background: #001b5f;
  color: white;
  z-index: 2;
}

.planBox .kokunai note {
  display: block;
  width: 100%;
  font-size: 12px;
  color: #666;
}

.planBox .kokunai note left {
  width: 50%;
  float: left;
  text-align: left;
}

.planBox .kokunai note right {
  width: 50%;
  float: right;
  text-align: right;
}

.planBox p.accept_msg {
  font-weight: bold;
  color: #ff3300;
  text-align: right;
}

@media screen and (max-width: 576px) {
  .planBox p.accept_msg {
    text-align: left;
  }
}

.planBox .kaigai table {
  border: 1px solid #CCC;
  border-collapse: collapse;
  width: 100%;
  width: 1050px;
}

.planBox .kaigai table tr {
  border: 1px solid #CCC;
  border-collapse: collapse;
}

.planBox .kaigai table tr th.date {
  width: 93px;
}

.planBox .kaigai table tr th.place, .planBox .kaigai table tr td line place {
  width: 220px;
}

.planBox .kaigai table tr th.trans, .planBox .kaigai table tr td line trans {
  width: 100px;
}

.planBox .kaigai table tr th.time, .planBox .kaigai table tr td line time {
  width: 128px;
}

.planBox .kaigai table tr th {
  text-align: center;
  background: #EFEFEF;
  font-weight: bold;
  padding: 0.6rem;
  border: 1px solid #CCC;
  border-collapse: collapse;
}

.planBox .kaigai table tr td {
  position: relative;
  border: 1px solid #CCC;
  border-collapse: collapse;
}

.planBox .kaigai table tr td date {
  position: absolute;
  padding: 0.6rem;
  width: 89px;
}

.planBox .kaigai table tr td p {
  margin: 0;
  text-align: center;
}

.planBox .kaigai table line {
  display: block;
  width: calc(100% - 89px);
  margin-left: 89px;
  margin-top: -5px;
  padding: 0;
}

.planBox .kaigai table line change {
  padding: 0px 0px 0px 0px;
  display: block;
  text-align: center;
  width: 100%;
  color: #CCC;
  margin: 0;
  overflow-x: hidden;
  white-space: nowrap;
}

.planBox .kaigai table line schedule {
  width: 505px;
  text-align: left;
}

.planBox .kaigai table line schedule event {
  width: 100%;
  padding: 1px 0;
  margin: 3px 0 3px 0;
  text-align: center;
  font-weight: 400;
  display: block;
  color: white;
  background-color: #ff6b6b;
}

.planBox .kaigai table line schedule p {
  width: 100%;
  padding: 0;
  margin: 0;
  display: block;
  text-align: left;
}

.planBox .kaigai table line schedule p .stay {
  text-align: right;
  display: inline-block;
  background: #003286;
  color: white;
  font-size: 1.2rem;
  padding: 0.3rem 0.6rem;
  margin-top: 8px !important;
  margin-bottom: 2px !important;
}

.planBox .kaigai table line time, .planBox .kaigai table td line trans,
.planBox .kaigai table td line place, .planBox .kaigai table td line schedule {
  display: table-cell;
  padding: 2px 8px 2px 8px;
  border-left: 1px solid #CCC;
  margin: 0 0 0 0px !important;
  text-align: center;
}

.planBox .kaigai table line.first time,
.planBox .kaigai table td line.first trans,
.planBox .kaigai table td line.first place,
.planBox .kaigai table td line.first schedule {
  padding-top: 10px;
}

.planBox .kaigai table line.first trans i {
  font-size: 12px;
}

.planBox .kaigai table line.last time,
.planBox .kaigai table line.last trans, .planBox .kaigai table l ine.last place,
.planBox .kaigai table line.last schedule {
  padding-bottom: 6px;
}

.planBox .kaigai .apply_btn .accept_msg {
  text-align: center;
  font-weight: bold;
  color: #ff3300;
}

.planBox .kaigai .apply_btn .btn-active {
  color: white;
  background-color: #dc3545;
  border-color: #dc3545;
}

.planBox .kaigai .apply_btn .btn-active:hover {
  color: white;
  background-color: #c82333;
  border-color: #bd2130;
}

.planBox .kaigai .apply_btn .btn-done, .planBox .kaigai .apply_btn .btn-done:hover, .planBox .kaigai .apply_btn .btn-wait,
.planBox .kaigai .apply_btn .btn-wait:hover {
  color: white !important;
  background-color: #CCC;
  border-color: #CCC;
}

.planBox .kaigai .timetable {
  margin: 0.6rem 0;
  width: 700px;
}

.planBox .priceBox table.excel {
  width: 1050px;
}

.planBox .priceBox table.excel thead td, .planBox .priceBox table.excel thead th, .planBox .priceBox table.excel tbody td, .planBox .priceBox table.excel tbody th {
  font-family: 'Noto Sans JP', sans-serif !important;
  border: 1px solid #CCC !important;
  padding: 0.6rem;
}

.planBox .priceBox table.excel thead td .done, .planBox .priceBox table.excel thead td .soldout, .planBox .priceBox table.excel thead th .done, .planBox .priceBox table.excel thead th .soldout, .planBox .priceBox table.excel tbody td .done, .planBox .priceBox table.excel tbody td .soldout, .planBox .priceBox table.excel tbody th .done, .planBox .priceBox table.excel tbody th .soldout {
  text-align: center;
  margin: auto;
  color: #FF3300;
}

.planBox .priceBox table.excel .btn-apply, .planBox .priceBox table.excel .btn-wait,
.planBox .priceBox table.excel .btn-wait:visited,
.planBox .priceBox table.excel .btn-apply:visited,
.planBox .priceBox table.excel .btn-wait:visited {
  display: block;
  text-align: center;
  min-width: 75px;
  width: 100%;
  padding: 0.6rem;
  margin: auto;
  text-decoration: none !important;
  color: white;
  cursor: pointer;
  opacity: 0.8;
  font-size: 1.2rem;
  background: #ff8500;
}

.planBox .priceBox table.excel .btn-apply:hover, .planBox .priceBox table.excel .btn-wait:hover,
.planBox .priceBox table.excel .btn-apply:visited:hover,
.planBox .priceBox table.excel .btn-wait:visited:hover {
  opacity: 1;
}

.planBox .priceBox table.excel .btn-wait,
.planBox .priceBox table.excel .btn-wait:visited {
  cursor: no-drop;
  background: #CCC;
}

.planBox .planfooter {
  /* アイコンの設定 */
  /* SNSボタンの設定 */
}

.planBox .planfooter dl dt {
  font-size: 1.6rem;
  font-weight: bold;
}

.planBox .planfooter dl dd {
  font-size: 1.6rem;
  font-weight: normal;
}

.planBox .planfooter ul.transport_icon li {
  display: inline-block;
  border: 1px solid #999;
  color: #999;
  font-size: 1.2rem;
  padding: 0 0.6rem;
  border-radius: 2px;
  margin: 0.6rem 0;
}

.planBox .planfooter ul.snslist {
  text-align: right;
}

.planBox .planfooter ul.snslist li {
  display: inline-block;
  margin-left: 3px;
}

.planBox .planfooter ul.snslist li a {
  text-align: center;
  color: white;
  font-size: 1.2rem;
  padding: 0 0.6rem;
  text-decoration: none;
}

.planBox .planfooter ul.snslist li a:hover {
  opacity: 0.8;
}

.planBox .planfooter ul.snslist li a.fb {
  background: #3B5998;
}

.planBox .planfooter ul.snslist li a.tw {
  background: #1DA1F2;
}

.planBox .planfooter ul.snslist li a.ln {
  background: #1dcd00;
}

.planBox .grad-btn {
  display: block;
  text-align: center;
  margin: 0.6rem 0;
  padding: 1.2rem 0;
  font-weight: bold;
  background-color: white;
  color: #125687;
}

.planBox .grad-btn:hover {
  opacity: 0.8;
}

.planBox .grad-item {
  display: none;
}

.planBox .grad-trigger {
  display: none;
}

.planBox .grad-trigger:checked ~ .grad-item {
  display: block;
}

.planBox .grad-trigger:checked ~ .grad-btn.upper {
  display: none;
}

/* 必ずお読み下さいの設定 START */
.conditions > .container-xl {
  padding: 0 30px;
}

@media screen and (max-width: 768px) {
  .conditions > .container-xl {
    padding: 0 15px;
  }
}

.conditions .head.container-xl {
  background-color: #7b0000;
  color: white;
  text-align: center;
  padding: 0.6rem;
}

.conditions .head.container-xl h2 {
  font-size: 2.4rem;
}

@media screen and (max-width: 576px) {
  .conditions .head.container-xl h2 {
    font-size: 2rem;
  }
}

.conditions .container-xl {
  background-color: white;
}

.conditions .container-xl h3#info {
  margin-top: -1.8rem;
}

.conditions .container-xl .termBox {
  border-bottom: #999 1px dashed;
  margin-bottom: 25px;
}

.conditions .container-xl .termBox h4 {
  font-size: 1.6rem;
}

.conditions .container-xl .termBox .inner {
  padding-bottom: 15px;
}

.conditions .container-xl .termBox .inner .transport {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 1.2rem 0;
  border: 1px solid #ccc;
}

.conditions .container-xl .termBox .inner .transport dt {
  width: 200px;
  padding: 0.6rem;
  background-color: #eee;
  text-align: center;
  border-right: 1px solid #ccc;
}

.conditions .container-xl .termBox .inner .transport dd {
  padding: 0.6rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

@media screen and (max-width: 768px) {
  .conditions .container-xl .termBox .inner .transport {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .conditions .container-xl .termBox .inner .transport dt {
    width: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    border-right: none;
    border-bottom: 1px solid #ccc;
  }
  .conditions .container-xl .termBox .inner .transport dd {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.conditions .container-xl .termBox .inner .reference {
  width: 60%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 1.2rem 0;
  text-align: center;
  border: 1px solid #ccc;
}

.conditions .container-xl .termBox .inner .reference dt {
  width: 200px;
  padding: 0.6rem;
  background-color: #eee;
  border-right: 1px solid #ccc;
}

.conditions .container-xl .termBox .inner .reference dd {
  padding: 0.6rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

@media screen and (max-width: 768px) {
  .conditions .container-xl .termBox .inner .reference {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .conditions .container-xl .termBox .inner .reference dt {
    width: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    border-right: none;
    border-bottom: 1px solid #ccc;
  }
  .conditions .container-xl .termBox .inner .reference dd {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.conditions .container-xl .termBox .inner .condition-table {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border: 1px solid #ccc;
}

.conditions .container-xl .termBox .inner .condition-table:not(:first-child) {
  border-top: none;
}

.conditions .container-xl .termBox .inner .condition-table dt {
  width: 200px;
  padding: 0.6rem;
  background-color: #eee;
  border-right: 1px solid #ccc;
  text-align: center;
}

.conditions .container-xl .termBox .inner .condition-table dd {
  padding: 0.6rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

@media screen and (max-width: 768px) {
  .conditions .container-xl .termBox .inner .condition-table {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .conditions .container-xl .termBox .inner .condition-table dt {
    width: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    border-right: none;
    border-bottom: 1px solid #ccc;
  }
  .conditions .container-xl .termBox .inner .condition-table dd {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

@media screen and (max-width: 768px) {
  .conditions .container-xl .termBox .inner .list.sp dt, .conditions .container-xl .termBox .inner .list.sp dd {
    display: block;
  }
}

.conditions .container-xl .termBox .inner table.procedure {
  border: 1px solid #CCC;
  border-collapse: collapse;
}

.conditions .container-xl .termBox .inner table.procedure tr th {
  border: 1px solid #CCC;
  border-collapse: collapse;
  background-color: #EEE;
  padding: 0.6rem;
  text-align: center;
  font-weight: bold;
}

.conditions .container-xl .termBox .inner table.procedure tr td {
  border: 1px solid #CCC;
  border-collapse: collapse;
  padding: 0.6rem;
}

.conditions .container-xl .termBox .inner table.cancel {
  max-width: 1050px;
  width: 100%;
  border: 1px solid #CCC;
  border-collapse: collapse;
}

.conditions .container-xl .termBox .inner table.cancel tr th {
  border: 1px solid #CCC;
  border-collapse: collapse;
  background-color: #EEE;
  padding: 0.6rem;
  text-align: center;
  font-weight: bold;
}

.conditions .container-xl .termBox .inner table.cancel tr td {
  border: 1px solid #CCC;
  border-collapse: collapse;
  padding: 0.6rem;
}

.conditions .container-xl .termBox .inner table.cancel tr td:first-child {
  width: 50px;
  font-weight: bold;
  text-align: center;
}

.conditions .container-xl .termBox .inner table.cancel tr td:nth-child(3) {
  text-align: center;
}

/*クレジットの設定 START */
.credit {
  border-radius: 3px;
  padding: 1.8rem 3.0rem 0;
  background-color: white;
}

.credit h2 {
  font-size: 2rem;
  margin: 0 0 0.6rem 0;
  padding-bottom: 0.6rem;
  border-bottom: 1px solid #333;
}

.credit h3 {
  font-size: 1.6rem;
  margin: 0.6rem 0;
}

.credit ul.contact {
  list-style: none;
  padding: 0;
  margin: 0;
}

.credit ul.contact li {
  display: inline-block;
  margin-right: 0.6rem;
}

.credit .row div {
  margin-bottom: 1.8rem;
}

@media screen and (max-width: 576px) {
  .credit {
    padding: 1.8rem 1.8rem 0;
  }
  .credit h2 {
    font-size: 1.6rem;
  }
  .credit h3 {
    font-size: 1.4rem;
  }
  .credit .row div {
    margin-bottom: 1.2rem;
  }
}

/* フッターの設定 START */
footer {
  text-align: center;
}

footer .menu {
  background: white;
  padding: 1.2rem;
  text-align: center;
  border-top: 1px solid #e1e1e1;
  border-bottom: 1px solid #e1e1e1;
}

footer .menu ul {
  padding: 0;
  margin: 0;
}

footer .menu ul li {
  display: inline-block;
  padding: 0.6rem;
}

footer .copy {
  padding-top: 1.2rem;
}

footer .admission {
  text-align: right;
  padding: 10px 10px 20px;
}

@media screen and (max-width: 576px) {
  footer .admission {
    text-align: center;
  }
}

footer .admission span {
  display: inline-block;
  border: 1px solid #999;
  padding: 0 0.6rem;
  font-size: 12px;
  color: #999;
}

/****************************
印刷レイアウトの設定 START
****************************/
@media print {
  header {
    padding-top: 0px;
  }
  .wrapper {
    background-color: #f5f5f5;
    display: block;
    width: 100%;
    min-width: 100%;
    overflow: hidden;
  }
  main {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: auto;
    padding: 30px 0px;
  }
  block {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: auto;
    padding: 0px 0px;
  }
  gnav, #gnav {
    display: none !important;
  }
  .planBox div.kaigai table td line schedule {
    width: 473px;
  }
  .planBox .grad-item, conditions .grad-item {
    height: auto !important;
  }
}

/****************************
印刷レイアウトの設定 END
****************************/
/*# sourceMappingURL=default.css.map */