@charset "utf-8";

/* -------------------------------------------------- */
/*  common
/* -------------------------------------------------- */
html {
  width: 100%;
  height: 100%;
}

body {
  width: 100%;
  font-family: "Noto Sans JP";
  font-size: 15px;
  color: #555;
  background: #fff;
  line-height: 1.6;
}

.min {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.got {
  font-family: "Noto Sans JP";
}

a {
  color: #555;
  word-break: break-all;
}

a:hover {
  opacity: 0.8;
}

a.noUnder {
  text-decoration: none;
}

.material-icons {
  display: inline-flex !important;
  vertical-align: middle;
  margin-right: 0.5em;
  font-size: 19px !important;
}

img {
  vertical-align: bottom;
}

li.noMark {
  list-style: none;
}

@media screen and (min-width:821px) {

  .spOnly {
    display: none !important;
  }

  .cmnWrap {
    max-width: 1080px;
    min-width: 960px;
    margin: 0 auto;
  }

  .cmnWrapIn {
    width: 960px;
    margin: 0 auto;
  }

  .cmnWrapInSmall {
    width: 800px;
    margin: 0 auto;
  }

  .cmnWrapInSmallBg {
    width: 800px;
    margin: 0 auto;
    padding: 3.5em 0 5em;
  }

  .allWidth {
    width: 100%;
    margin: 0 auto;
  }
}

@media screen and (max-width:820px) {

  .pcOnly {
    display: none !important;
  }

  img {
    width: 100%;
  }

  .cmnWrapIn,
  .cmnWrapInSmall,
  .cmnWrapInSmallBg {
    width: 94%;
    margin: 0 auto;
  }

  .cmnWrapInSmallBg {
    padding: 1.5em 0;
  }

  .allWidth {
    width: 100%;
    margin: 0 auto;
  }
}

@keyframes menuIn {
  0% {
    opacity: 0;
    margin-left: 100%;
  }

  100% {
    opacity: 1;
    margin-left: 0;
  }
}

@keyframes radius {
  0% {
    border-radius: 0;
  }

  100% {
    border-radius: 50%;
  }
}

.bold {
  font-weight: bold !important;
}

.weightNormal {
  font-weight: normal !important;
}

.small {
  font-size: 12px !important;
}

.normal {
  font-size: 15px !important;
}

.large {
  font-size: 20px !important;
}

.flexAround {
  display: flex;
  justify-content: space-around;
  align-items: center;
}

.flexBetween {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

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

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

.flexEven {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
}

.addShadow {
  box-shadow: 0 0 4px 4px rgba(0, 0, 0, 0.1);
}

.addRadius {
  border-radius: 4px;
}

.txtLeft {
  text-align: left;
}

.txtCenter {
  text-align: center;
}

.txtRight {
  text-align: right;
}

.coOrange {
  color: #e5991f;
}

.coBrown {
  color: #694a3a;
}

.coGreen {
  color: #34bcb3;
}

.coRed {
  color: #c00;
}

.coBlue {
  color: #4658a8;
}

.coGray {
  color: #999;
}

.bgBlue {
  background: #4658a8;
}

.bgGray {
  background: #f6f6f6;
}

.bgBrown {
  background: #4c352b;
  color: #eee;
}

/* -------------------------------------------------- */
/*  header
/* -------------------------------------------------- */
header {
  width: 100%;
  /*    background: linear-gradient(to bottom, #fff 20%, #f5f5f5) #f5f5f5;*/
}

header > div.cmnWrap {
  padding: 20px 0;
}

header > div.cmnWrap > h1.title img {
  width: 300px;
}

header > div.cmnWrap > div.menu > div.flexEnd {
  height: 100%;
  align-items: center;
}

header > div.cmnWrap > div.menu > div.flexEnd p {
  margin-left: 10px;
}

header > div.cmnWrap > div.menu > div.flexEnd p.typeMenu {
  margin-left: 10px;
  padding: 5px 15px 3px 10px;
  min-width: 7em;
}

header > div.cmnWrap > div.menu > div.flexEnd p.typeMenu.active {
  padding-bottom: 0;
  border-bottom: #efb81c 3px solid;
}

header > div.cmnWrap > div.menu > div.flexEnd p.typeMenu.active.brown {
  border-bottom: #694a3a 3px solid;
}

nav {
  width: 100%;
  font-weight: bold;
  margin-bottom: 2.5em;
}

nav ul a {
  display: block;
  width: calc(100% / 5);
  color: #555;
  line-height: 45px;
  text-align: center;
  border-left: 1px solid #ccc;
  font-size: 14px;
}

nav ul a:last-child {
  border-right: 1px solid #ccc;
}

nav ul a:hover {
  color: #efb81c;
}

nav ul a:not(:hover) li.active {
  color: #efb81c;
  opacity: 1.0;
}

.spMenu > #spMenuChk + label:before {
  font-family: "Material Icons";
  content: "menu";
  display: block;
  position: fixed;
  top: 15px;
  right: 0;
  margin: 0 11.5px 0 0;
  width: 40px;
  height: 40px;
  line-height: 40px;
  font-size: 22px;
  font-weight: bold;
  color: #fff;
  border: #efb81c 1px solid;
  border-radius: 2px;
  box-sizing: border-box;
  -webkit-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
  text-align: center;
  background: #efb81c;
  z-index: 100;
}

.spMenu > #spMenuChk:checked + label:before {
  font-family: "Material Icons";
  content: "clear";
  border-radius: 50%;
  animation: 1s radius;
}

.spMenu > #spMenuChk + label + nav {
  display: none;
}

@media screen and (max-width: 767px) {
  @keyframes menuIn {
    0% {
      opacity: 0;
      margin-left: 100%;
    }

    100% {
      opacity: 1;
      margin-left: 0;
    }
  }
}

.spMenu > #spMenuChk:checked + label + nav {
  display: block;
  padding-top: 7.75em;
  width: 88%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 12%;
  z-index: 99;
  color: #555;
  background: #fff;
  opacity: 1;
  animation: 1s menuIn;
  overflow-y: scroll;
}

.spMenu > #spMenuChk + label + nav ul a:not(:hover) li.active {
  color: #efb81c;
  background: #f9f9f9;
  opacity: 1.0;
}

.spMenu > .modeSelect {
  display: none;
  opacity: 0;
}

.spMenu > #spMenuChk:checked + label + nav + .modeSelect {
  display: block;
  position: fixed;
  top: 4.5em;
  left: 12%;
  z-index: 100;
  opacity: 1;
  animation: 1s menuIn;
  width: 88%;
}

.spMenu > .modeSelect > div > .typeMenu {
  width: 40%;

}

.spMenu > .modeSelect > div > .typeMenu.active {
  padding-bottom: 0;
  border-bottom: #efb81c 3px solid;
}

.spMenu > .modeSelect > div > .typeMenu.active.brown {
  border-bottom: #694a3a 3px solid;
}

@media screen and (max-width:820px) {
  header > div.cmnWrap > h1.title img {
    width: 250px;
    margin-left: 10px;
  }

  nav ul a {
    width: 100%;
  }

  nav ul a li {
    border-bottom: 1px solid #ccc;
    font-size: 14px;
    line-height: 20px;
    padding: 10px 0;
  }

  nav ul div:nth-of-type(1) a li {
    border-top: 1px solid #ccc;
  }

  nav ul a li.white {
    color: #555;
  }

  nav ul a:last-child {
    border-right: 0;
  }
}

/* -------------------------------------------------- */
/*  footer
/* -------------------------------------------------- */
footer {
  width: 100%;
}

footer .footMain {
  padding: 40px 0 80px;
  background: url(../images/footer.png) repeat-x bottom;
}

footer .footMain .logo {
  margin-bottom: 1.5em;
}

footer .footMain .logo > .flexStart div:first-child {
  margin-right: 3.5em;
}

footer .footMain ul {
  margin-bottom: 1.5em;
}

footer .footMain ul li {
  display: inline-block;
  margin-right: 0.7em;
}

footer .footMain ul li:last-child {
  margin-right: 0;
}

footer .footMain ul li a {
  text-decoration: underline;
}

footer .footMain .inquiry {
  margin-bottom: 1.5em;
}

footer .footMain .inquiry > p > span.bgBrown {
  display: inline-block;
  padding: 0.35em 0.65em;
  margin: 0.25em 0 0.5em;
}

footer .copyright {
  text-align: center;
  font-size: 12px !important;
  padding: 10px 0;
}

@media screen and (max-width:820px) {
  footer .footMain {
    padding: 20px 0 80px;
  }

  footer .footMain > .flexBetween {
    flex-direction: column;
  }

  footer .footMain .logo {
    width: 94%;
    margin: 0 auto 1.5em;
  }

  footer .footMain .logo > .flexStart {
    flex-direction: column;
    align-items: flex-start;
  }

  footer .footMain .logo > .flexStart div:first-child {
    margin-right: 0;
  }

  footer .footMain ul {
    width: 94%;
    margin: 0 auto 1.5em;
  }

  footer .footMain .inquiry.flexBetween {
    width: 94%;
    margin: 0 auto;
      flex-direction: column;
      align-items: flex-start;
  }

  footer .footMain .inquiry.flexBetween > p:nth-of-type(2) {
      margin-top: 1em;
      width: 100%;
  }
    
}

/* -------------------------------------------------- */
/*  index
/* -------------------------------------------------- */
.importantInfo {
  border: 1px solid #c00;
  padding: 0.5em 1em;
  color: #c00;
  margin: 0 0 2.75em;
}

.importantInfo.resultInfo {
  border: 1px solid #34bcb3;
  color: #34bcb3;
}

.importantInfo ul {
  padding-left: 1em;
  line-height: 1.7;
}

.importantInfo ul li a {
  color: #c00;
}

.eyecatch,
.search {
  margin-bottom: 5.5em;
}

.infomation {
/*  margin-bottom: 7em;*/
  margin-bottom: 5em;
}

.eyecatch h2 {
  margin-top: 2em;
}

h3 {
  margin-bottom: 1.5em;
  border-bottom: 2px solid #efb81c;
  padding: 0 0.25em 0.2em 0;
}

h3,
h3 span.material-icons {
  font-size: 22px !important;
}

.searchWrap > .flexStart {
  margin-bottom: 3em;
}

.searchWrap > .flexStart > p.title {
  color: #4c352b;
  font-weight: bold;
  border: 1px solid #4c352b;
  padding: 0.5em 0;
  min-width: 13em;
}

.searchWrap > .flexStart > p:not(:last-child) {
  margin-right: 2em;
}
.searchWrap > .flexStart > div > p:not(:last-child) {
  margin-right: 0.5em;
}

.searchWrap > .flexStart > p.date img {
  width: 16px;
  vertical-align: middle;
  margin-left: 0.25em;
  cursor: pointer;
}

.infoWrap {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding: 1em 2em;
}

.infoWrap > ul > li:not(:last-child) {
  border-bottom: 1px dashed rgba(0, 0, 0, 0.1);
  padding-bottom: 1em;
  margin-bottom: 1em;
}

@media screen and (max-width:820px) {
  .importantInfo {
    margin: 0.5em 0 1.5em;
  }

  .eyecatch,
  .search {
    margin-bottom: 2em;
  }

  .infomation {
    margin-bottom: 4em;
  }

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

  h3 {
    margin-bottom: 1.5em;
  }

  h3,
  h3 span.material-icons {
    font-size: 4vw !important;
  }

  .searchWrap {
    padding: 1em 1em 1.5em;
  }

  .searchWrap > .flexStart {
    flex-direction: column;
  }

  .searchWrap > .flexStart > p:not(:last-child) {
    margin-right: 0;
  }

  .searchWrap > .flexStart > p:not(:first-child) {
    margin-top: 1em;
  }
    .searchWrap > .flexStart > div {
        margin-top: 1em;
    }

  .searchWrap > .flexStart > p:nth-child(3) {
    margin-top: 0.75em;
  }

  .infoWrap {
    padding: 1em;
  }
}

/* -------------------------------------------------- */
/*  kensaku系
/* -------------------------------------------------- */
.searchSort.flexEnd > p {
  margin: 1em 0;
}

.searchSort.flexEnd > p:first-child {
  margin-right: 1.5em;
}

h4 {
  border-left: 5px solid #4c352b;
  padding: 0.5em 0.75em;
  background: #f6f6f6;
  margin-bottom: 1.5em;
}

.seacrhResult {
  margin-bottom: 2.5em;
}

.seacrhResult > .flexBetween {
  align-items: flex-start;
}

.seacrhResult > .flexBetween > div > p,
.seacrhResult > .flexBetween > div > div {
  margin-bottom: 1em;
}

.seacrhResult > .flexBetween > div > p.image {
  width: 300px;
  margin-right: 1.5em;
}

.seacrhResult > .flexBetween > div > p.image > img {
  width: calc(100% - 2px);
  border: 1px solid rgba(0, 0, 0, 0.1);
}

h5 {
  position: relative;
  padding-left: 25px;
  padding-bottom: 0.25em;
  margin-bottom: 1em;
}

h5:before {
  position: absolute;
  content: '';
  bottom: -3px;
  left: 0;
  width: 0;
  height: 0;
  border: none;
  border-left: solid 15px transparent;
  border-bottom: solid 15px #ddd;
}

h5:after {
  position: absolute;
  content: '';
  bottom: -3px;
  left: 10px;
  width: calc(100% - 10px);
  border-bottom: solid 3px #ddd;
}

.seacrhResult > .flexBetween > div:nth-child(2) {
  min-width: 65%;
}

.seacrhResult > .flexBetween > div > p.equip > img {
  max-width: 47.5px;
}

.seacrhResult > .flexBetween > div > div.schedule > p {
  display: inline-block;
  padding: 0.25em 0.5em;
}

.seacrhResult > .flexBetween > div > div.schedule > p.dep {
  background: #fee5e3;
}

.seacrhResult > .flexBetween > div > div.schedule > p.arv {
  background: #dddbe7;
}

.seacrhResult > .flexBetween > div > div.plan.flexBetween {
  flex-wrap: wrap;
}

.seacrhResult > .flexBetween > div > div.plan.flexBetween > p {
  display: inline-block;
  width: 25%;
  margin-bottom: 0.5em;
  text-align: center;
}

.seacrhResult > .flexBetween > div.binDetailLeft {
  width: 300px;
  margin-right: 1.5em;
}

.seacrhResult > .flexBetween > div.binDetailLeft > p > img {
  width: calc(100% - 2px);
  border: 1px solid rgba(0, 0, 0, 0.1);
}

.seacrhResult > .flexBetween > div.binDetailLeft + div {
  width: calc(1000px - 300px - 1.5em);
}

table.space th,
table.space td {
  padding: 0.25em;
}

table.border th,
table.border td {
  border: 1px solid #ccc;
}

.searchForKensaku {
  margin-bottom: 1em !important;
}

.detailleft {
  margin: 0.5em 1.5em 0 0;
}

.detailtitle {
  padding: 0.25em 0.5em;
  color: #4c352b;
  cursor: pointer;
    border: 1px solid #4c352b;
}

.detailtext {
  padding: 0.25em 0.5em 0;
}

@media screen and (max-width:820px) {
  .searchSort.flexEnd {
    align-items: flex-end;
    flex-direction: column;
    margin: 0.5em 0 0;
  }

  .searchSort.flexEnd p {
    margin: 0;
  }

  .searchSort.flexEnd > p:first-child {
    margin-right: 0;
  }

  h4 {
    margin-bottom: 1em;
  }

  .seacrhResult {
    margin-bottom: 2em;
  }

  .seacrhResult > .flexBetween {
    flex-wrap: wrap;
  }

  .seacrhResult > .flexBetween > div {
    width: 100%;
  }

  .seacrhResult > .flexBetween > div > p.image {
    width: 100%;
    margin-right: 0;
  }

  .seacrhResult > .flexBetween > div:last-child {
    margin-top: 1em;
  }

  .seacrhResult > .flexBetween > div > div.schedule > p.arv {
    margin-top: 3px;
  }

  .seacrhResult > .flexBetween > div > div.plan.flexBetween {
    align-items: flex-start;
    flex-direction: column;
  }

  .seacrhResult > .flexBetween > div > div.plan.flexBetween > p {
    width: 100%;
    margin: 0.05em 0;
    text-align: left;
  }

  .seacrhResult > .flexBetween > div > div.plan.flexBetween > p:nth-of-type(4n) {
    text-align: center;
    padding-bottom: 1.25em;
    border-bottom: 1px dashed #ccc;
  }

  .seacrhResult > .flexBetween > div > div.plan.flexBetween > p:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }

  .seacrhResult > .flexBetween > div.binDetailLeft {
    width: 100%;
    margin-right: 0;
  }

  .seacrhResult > .flexBetween > div.binDetailLeft + div {
    width: 100%;
  }

    .detailleft {
      margin-right: 0;
    }

    .searchForKensaku {
        margin-top: 0.4em;
    }
}

/* -------------------------------------------------- */
/*  reserve系
/* -------------------------------------------------- */
h3.reserveTitle {
  margin-bottom: 1.5em;
}

.seacrhResult.reserveForm > .flexBetween > div {
  width: 100%;
}

.seacrhResult.reserveForm > .flexBetween > div > div.busImage {
    margin-bottom: 0;
}

.seacrhResult.reserveForm > .flexBetween > div > div.busImage > p {
    width: calc(100% / 3 - 1em);
}

.seacrhResult.reserveForm > .flexBetween > div > div.busImage > p > img {
    width: 100%;
}

p.notisLong {
  border: 1px solid #c00;
  padding: 0.5em 1em;
  color: #c00;
  margin-bottom: 1.5em !important;
}

div > p.passengerTitle {
  display: block;
  margin: 0.25em 0;
}

div > p.passengerTitle + p {
  width: 50%;
  margin-bottom: 0.5em;
}

div.overflowTable {
  width: 100%;
  overflow: auto;
}

div.overflowTable table th,
div.overflowTable table td {
  border: 1px solid #ccc;
  white-space: nowrap;
}

div.overflowTable.space table th,
div.overflowTable.space table td {
  padding: 0.5em 0.25em;
}

div.normalTable {
  width: 100%;
}

div.normalTable table th,
div.normalTable table td {
  border: 1px solid #ccc;
  padding: 0.5em 0.25em;
}

div.sns {
    background: #FEF7F0;
    width: 100%;
    margin-bottom: 4em;
    padding: 2em 0;
}

div.sns .flexEven > div {
    width: 46%;
    font-size: 13px;
}

div.sns .flexEven > div > p:nth-of-type(1) {
    background: #fff;
    border-radius: 50%;
    width: 50px;
    margin: 0 auto 1em;
    padding: 1.5em;
}

@media screen and (max-width:820px) {
  .seacrhResult.reserveForm > h4 {
    margin-bottom: 0.25em;
  }

  .seacrhResult.reserveForm > .flexBetween > div > div.busImage {
    flex-direction: column;
  }

  .seacrhResult.reserveForm > .flexBetween > div > div.busImage > p {
    width: 100%;
  }

  .seacrhResult.reserveForm > .flexBetween > div > div.busImage > p:not(:last-of-type) {
    margin-bottom: 1em;
  }

  .seacrhResult.reserveForm > .flexBetween > div > div.busImage + p {
      font-size: 11px;
  }

  div > p.passengerTitle + p {
    width: 100%;
  }

  div.overflowTable > table {
    min-width: calc(768px - 6% - 4px) !important;
  }

    div.sns {
        margin-bottom: 3.5em;
    }

    div.sns .flexEven {
        flex-direction: column;
    }

    div.sns .flexEven > div {
        width: 100%;
        font-size: 11px;
    }

    div.sns .flexEven > div:nth-of-type(2) {
        margin: 2.5em 0 0.5em;
    }
}

/* -------------------------------------------------- */
/*  mypage系
/* -------------------------------------------------- */
.myReserveDetailBtn {
  display: flex;
  justify-content: space-evenly;
  flex-wrap: wrap;
}

.myReserveDetailBtn > p {
  width: 22%;
  margin-bottom: 1em;
}

.myReserveDetailBtn > p:nth-child(4n) {
  margin-right: 0;
}

.myReserveDetailBtn > p > input {
  width: 100%;
  padding: 0.75em 0;
}

@media screen and (max-width:820px) {
  .myReserveDetailBtn {
    font-size: 84%;
  }

  .myReserveDetailBtn > p {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 1em;
  }

  .myReserveDetailBtn > p:nth-child(2n) {
    margin-right: 0;
  }
}

/* -------------------------------------------------- */
/*  その他ページ
/* -------------------------------------------------- */
.faqmenu {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.faqmenu li {
  list-style: none;
  display: block;
  width: 25%;
}

.faqblock {
  margin-bottom: 1em;
}

.faqtitle {
  border: 1px solid #efb81c;
  padding: 0.5em 1em;
  color: #efb81c;
  cursor: pointer;
}

.faqtext {
  background: #FEF7F0;
  padding: 0.5em 1em;
}

@media screen and (max-width:820px) {
  h3.onlyTitle {
    margin-bottom: 0;
  }

  .faqmenu li {
    width: 50%;
    font-size: 95%;
  }
}

/* -------------------------------------------------- */
/*  company
/* -------------------------------------------------- */
.company.flexStart {
  flex-wrap: wrap;
}
.company.flexStart > div {
  width: 100%;
}
.company.flexStart > div > table {
  width: 100%;
}
.company.flexStart > div > table > tbody > tr > th {
  width: 13em;
  vertical-align: middle;
  background: #efefef;
}
.company.flexStart > div > table > tbody > tr > td {
  vertical-align: middle;
  padding: 0.5em 0.75em;
}
.company.flexStart > div > table .noBorder td {
  border: 0;
  padding: 0.25em 1em 0.25em 0;
}
@media screen and (max-width:820px) {
  .company.flexStart {
    margin-top: 1em;
  }
  .company.flexStart > div > table > tbody > tr > th {
    width: 5.5em;
  }
}





/* -------------------------------------------------- */
/*  tour
/* -------------------------------------------------- */
.tourtype.flexStart {
  flex-wrap: wrap;
  align-items: flex-start;
}

.item_block {
  border: 1px solid #ddd;
  width: calc(32% - 2em - 2px);
  padding: 1em;
  margin-top: 1.3em;
  margin-right: 2%;
}

.item_block:nth-child(1),
.item_block:nth-child(2),
.item_block:nth-child(3) {
  margin-top: 0;
}

.item_block:nth-child(3n) {
  margin-right: 0;
}

.item_block a {
  text-decoration: none;
}

.item_block > a > .title {
  padding: 0.5em;
  font-weight: 900;
  color: #4658a8;
  border: #4658a8 1px solid;
  margin-bottom: 0.75em;
}

.item_block > a > .image {
  margin-bottom: 0.75em;
}

.item_block > a > .image img {
  width: 100%;
  vertical-align: bottom;
}

.item_block > a > .text {
  padding: 0.75em;
  background: #f6f6f6;
  font-size: small;
}

.item_block.item_block_err {
  width: calc(100% - 2px) !important;
  border: 1px solid orangered !important;
  color: orangered !important;
  padding: 0.5em !important;
}

.ttypeTitle {
  background: #efb81c;
  padding: 0.25em 1em;
  color: #fff;
  margin-bottom: 1em;
}

.ttypeTitle + .flexBetween {
  align-items: flex-start;
}

.ttypeTitle + .flexBetween > .image {
  width: calc(40% - 0.75em);
  margin-right: 1.5em;
}

.ttypeTitle + .flexBetween > .image img {
  width: 100%;
}

.ttypeTitle + .flexBetween > .text {
  width: calc(60% - 0.75em);
}

.ttypeTitle + .flexBetween > .text > .title {
  margin-bottom: 1em;
}

.ttypeTitle + .flexBetween > .text > .moji {
  padding: 0.75em;
  background: #f6f6f6;
  font-size: small;
}

.tourDetail.flexBetween {
  align-items: flex-start;
  margin-bottom: 5.5em;
}

.tourDetail .labelTable {
  width: calc(100% - 384px - 1.5em);
}

.tourDetail .labelTable table {
  width: 100%;
}

.tourDetail .labelTable table tr:not(:nth-child(1)) {
  border-bottom: 1px dashed #ccc;
}

.tourDetail .labelTable table th,
.tourDetail .labelTable table td {
  padding: 0.5em 0.75em;
}

.tourDetail .labelTable table th {
  color: #efb81c;
  min-width: 6em;
}

.tourDetail .labelTable table tr:nth-child(1) th,
.tourDetail .labelTable table tr:nth-child(1) td {
  background: #efb81c;
  color: #fff;
}

.tourH6 > h6 + p {
  margin-bottom: 0.75em;
}

.tourH6 > h6 + p img {
  width: auto;
}

@media screen and (max-width:820px) {
  .tourtype.flexStart {
    flex-direction: column;
  }

  .item_block {
    border: 1px solid #ccc;
    width: calc(100% - 2em - 2px);
    padding: 1em;
    margin-top: 1em;
    margin-right: 0;
  }

  .item_block:nth-child(1) {
    margin-top: 0;
  }

  .item_block:nth-child(2),
  .item_block:nth-child(3) {
    margin-top: 1em;
  }

  .item_block.item_block_err {
    width: calc(100% - 1em - 2px) !important;
  }

  .ttypeTitle + .flexBetween {
    flex-wrap: wrap;
  }

  .ttypeTitle + .flexBetween > .image {
    width: 100%;
    margin: 0 0 1em 0;
  }

  .ttypeTitle + .flexBetween > .text {
    width: 100%;
  }

  .tourDetail.flexBetween {
    flex-direction: column;
    flex-wrap: wrap;
    margin-bottom: 2em;
  }

  .tourDetail .image {
    width: 100%;
  }

  .tourDetail .labelTable {
    width: 100%;
    margin-top: 1.75em;
  }
}


/* -------------------------------------------------- */
/*  予約導線のツアーイメージ写真
/* -------------------------------------------------- */
.tourImage {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0 !important;
}

.tourImage > p {
  width: 49%;
}

.tourImage > p > img {
  width: 100%;
}

@media screen and (max-width:820px) {
  .tourImage {
    flex-wrap: wrap;
  }

  .tourImage > p,
  .tourImage > p > img {
    width: 100%;
  }

  .tourImage > p:nth-child(2) {
    margin-top: 0.5em;
  }
}