/* CSS Document */
@charset "utf-8";
/*路線から検索　レイアウト*/
.searchMapLay {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}
.searchLay1 {
  /* PCでは地図が枠のサイズと一致するよう、枠のサイズを正方形にする */
  width: 600px;
  height: 600px;
}
.searchLay1 img {
  width: 100%;
  height: auto;
}
.searchLay2 {
  width: 430px;
}
/*エリアから検索　レイアウト*/
.searchAreaLay {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}
.searchAreaLay1 {
  width: 650px;
  height: 650px;
}
.searchAreaLay2 {
  width: 430px;
}
.checkBoxListNarrow {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: -5px 0;
}
.checkBoxListNarrow li {
  width: 30%;
  padding: 5px 10px;
  font-size: 0.9rem;
}
/* Search form */
hr.arrow1 {
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-top-color: #84bc61;
  border-bottom-width: 0;
  margin: 15px auto;
}
.searchTabContent select {
  flex-grow: 1;
  font-family: inherit;
  border: 1px solid #e6e6e6;
  border-radius: 5px;
  width: 100%;
  padding: 8px;
  text-align: left;
}
.searchSubmitWrapper {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}
#wrapContents .btnSearch, #wrapContents .btnReset {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  color: #ffffff;
  margin: 0 20px;
  width: 100%;
  max-width: 430px;
  padding: 15px;
  font-family: inherit;
  font-size: inherit;
  cursor: pointer;
  border-radius: 4px;
  outline: 0;
  transition: background 0.2s ease-out;
}
#wrapContents .btnSearch {
  background: #68c14c;
}
#wrapContents .btnReset {
  background: #a5a5a5;
}
#wrapContents .searchLay2 .btnSearch {
  margin: 0;
  max-width: inherit;
}
#wrapContents .btnSearch:hover {
  background: #004ea2;
}
#wrapContents .btnReset:hover {
  background: #7b7b7b;
}
@media screen and (max-width:991px) {
  .searchMapLay, .searchAreaLay {
    display: block;
  }
  .searchLay1 {
    width: 100%;
    height: 300px;
  }
  .searchAreaLay .searchLay1 {
    height: auto;
  }
  .searchLay2 {
    margin: 15px 0 0;
    width: 100%;
  }
  .searchLay2 .selectDecoTyp01 {
    display: block;
  }
  .checkBoxListNarrow li {
    width: 50%;
  }
  hr.arrow1 {
    margin: 10px auto;
  }
  .searchSubmitWrapper {
    display: block;
    text-align: center;
  }
  #wrapContents .btnSearch, #wrapContents .btnReset {
    margin: 0;
  }
  #wrapContents .btnReset {
    margin: 20px auto 0;
    width: 70%;
    max-width: 300px;
  }
}
/*-------------------------------*/
/*路線から検索*/
#mapSizer {
  /* PCでは画像を枠のサイズに合わせる (スクロールしない) */
  width: 100%;
  position: relative;
}
@media screen and (min-width:992px) {
  /* スクロール動作を確実に無効化する (IE11で必要) */
  #mapWrapper .simplebar-content-wrapper {
    overflow-x: hidden !important;
    overflow-y: hidden !important;
  }
  #mapWrapper .simplebar-track {
    display: none !important;
  }
}
@media screen and (max-width:991px) {
  #mapSizer {
    /* SPでは固定サイズにする (スクロールする) */
    width: 800px;
  }
}
#mapPlaceholder {
  /* 高さをcontaining block (#mapSizer)の幅との比で指定する
	 * (IE11ではsvgに "height: auto" を指定する方法は機能しない。)*/
  padding-bottom: 100%;
  position: relative;
}
#mapPlaceholder svg {
  /* containing block (#mapPlaceholder)を埋める */
  width: 100%;
  height: 100%;
  position: absolute;
}
#mapPlaceholder a {
  text-decoration: none;
}
.scroll-container {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  border: 1px solid #e6e6e6;
}
/* simplebarと画像が読み込まれたら路線図を表示 */
.scroll-container > * {
  opacity: 0;
  transition: 400ms opacity;
}
.scroll-container > *[data-simplebar=init].ready {
  opacity: 1;
}
/*エリアから検索*/
#mapPlaceholder2 {
  /* 高さをcontaining block (#mapWrapper2)の幅との比で指定する*/
  padding-bottom: 100%;
  position: relative;
}
#mapPlaceholder2 svg {
  /* containing block (#mapPlaceholder2)を埋める */
  width: 100%;
  height: 100%;
  position: absolute;
}
#mapPlaceholder2 a {
  text-decoration: none;
}
/* 画像が読み込まれたらエリアマップを表示 */
#mapWrapper2 {
  opacity: 0;
  transition: 400ms opacity;
}
#mapWrapper2.ready {
  opacity: 1;
}
/* Subtle adjustments to our custom scrollbar */
.scroll-container .simplebar-track {
  border-radius: 100px;
  overflow: hidden;
}
.scroll-container .simplebar-track.simplebar-horizontal {
  left: 2px !important;
  right: 11px;
  height: 7px !important;
  bottom: 2px;
}
.scroll-container .simplebar-track.simplebar-vertical {
  top: 2px !important;
  bottom: 11px;
  width: 7px !important;
  right: 2px;
}
.scroll-container .simplebar-track.simplebar-horizontal .simplebar-scrollbar {
  top: 0 !important;
}
.scroll-container .simplebar-scrollbar:before {
  background: rgba(0, 0, 0, 0.6) !important;
  left: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
}
.scroll-container > div {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}
/*-------------------------------*/
/*ジャンルから検索*/
.searchLay3 {}
.searchLay3 .rosenSearch, .searchLay3 .areaSearch, .searchLay3 .freeSearch {
  margin: 30px 0 0;
}
.searchLay3 dl {
  display: flex;
  justify-content: space-between;
}
.searchLay3 dt {
  margin: 0;
  width: 20%;
}
.searchLay3 dt.subtitle1 {
  text-align: left;
}
.searchLay3 dd {
  width: 75%;
}
.searchLay3 .rosenSearch dt label, .searchLay3 .areaSearch dt label {
  display: block;
  cursor: pointer;
}
.areaSearch .searchItemLay1 {
  margin: -5px 0;
}
.areaSearch .searchItemLay1 li {
  padding: 5px 10px;
}
.dropdownContent .searchLay3 .freeSearch .layInputTxt[type="text"] {
  margin: 0;
}
@media screen and (max-width:991px) {
  .searchLay3 dl {
    display: block;
  }
  .searchLay3 dt {
    width: 100%;
  }
  .searchLay3 dd {
    margin-top: 10px;
    width: 100%;
  }
  .searchLay3 dt.subtitle1 {
    text-align: center;
  }
}
/*-------------------------------*/
/*検索ツール内要素*/
.subtitle1 {
  margin: 20px 0 10px;
  text-align: center;
  color: #858585;
}
.subtitle2, .allCheckBtn, .grpSelectChk {
  margin: 20px 0 15px;
  padding: 5px 10px;
  color: #555555;
  background: #f0f0f0;
}
.subtitle2 {
  text-align: center;
}
.allCheckBtn {
  text-align: left;
}
.allCheckBtn label {
  display: block;
}
.grpSelectChk {
  text-align: left;
}
p.subtitle1 + p.subtitle2, #genreSearchTab p.subtitle2:first-child, .searchLay2 p.allCheckBtn:first-child, .areaSearch p.allCheckBtn:first-child {
  margin-top: 0;
}
.searchItemLay1 {
  display: flex;
  flex-wrap: wrap;
  margin: 5px -5px;
}
.searchItemLay1 li {
  width: 25%;
  padding: 5px 10px 5px 5px;
  font-size: 0.9rem;
}
.searchNear {
  margin-top: 10px;
}
.dropdownContent .layInputTxt[type="text"] {
  display: block;
  margin: 0 auto;
  max-width: 400px;
}
/*ジャンルから検索　絞り込む*/
#genreSearchTab dl.rosenSearch:not(.searchModeActive), #genreSearchTab dl.areaSearch:not(.searchModeActive) {
  opacity: 0.3; /* 選択されていない検索方法を淡色表示 */
}
@media screen and (max-width:991px) {
  .searchItemLay1 li {
    width: 50%;
  }
}
.searchItemLay2 {
  display: flex;
  flex-wrap: wrap;
  margin: 5px -5px;
}
.searchItemLay2 li {
  width: 50%;
  padding: 5px 10px 5px 5px;
  font-size: 0.9rem;
}
@media screen and (max-width:991px) {
  .searchLay3 .selectDecoTyp01, .searchLay4 .selectDecoTyp01 {
    display: block;
  }
}
/*-------------------------------*/
.searchItemLay1 li, .searchItemLay2 li {
  display: flex;
  align-items: flex-start;
}
.searchItemLay1 li input, .searchItemLay2 li input {
  margin: 0.4rem 5px 0 0;
}
@media screen and (max-width:991px) {
  .searchItemLay1 li input, .searchItemLay2 li input {
    margin-top: 0.2rem;
  }
}
/*-------------------------------*/
/*検索結果*/
.resultMsg {
  font-weight: 500;
}
.resultMsg strong {
  padding: 0 5px;
  font-family: 'Heebo';
  font-size: 1.8rem;
  font-weight: 500;
  color: #00a496;
}
/*検索結果　路線から検索*/
.searchLay4 {
  display: flex;
}
.searchLay4 .searchLay4Item {
  width: 42%;
}
.searchLay4 .searchLay4Item + .searchLay4Item {
  margin-left: 30px;
}
.searchLay4 .arrow1 {
  display: none;
}
@media screen and (max-width:991px) {
  .searchLay4 {
    display: block;
  }
  .searchLay4 .searchLay4Item {
    width: 100%;
  }
  .searchLay4 .searchLay4Item + .searchLay4Item {
    margin: 0;
  }
  .searchLay4 .arrow1 {
    display: block;
  }
}
/*検索結果　目的・誰と行く*/
.searchLay5 {
  margin: 40px -20px;
  padding: 30px;
  background: #fafafa;
}
.searchLay5 .subtitle1 {
  margin-top: 30px;
  border-top: 1px solid #ececec;
  padding-top: 30px;
}
.searchLay5 .subtitle1:first-child {
  margin-top: 0;
  border-top: none;
  padding-top: 0;
}
@media screen and (max-width:991px) {
  .searchLay5 {
    margin: 20px -20px;
    padding: 20px;
  }
  .searchLay5 .subtitle1 {
    margin-top: 20px;
    padding-top: 20px;
  }
}
/*検索結果　エリアから検索*/
.searchLay6 {
  display: flex;
  justify-content: space-between;
}
.searchLay6Item {
  width: 48%;
}
@media screen and (max-width:991px) {
  .searchLay6 {
    display: block;
  }
  .searchLay6Item {
    width: 100%;
  }
}
/*-------------------------------*/
/*フェイスブックガジェット表示とリンクバナー（6点までの想定）*/
.wrapAppealTyp01 {
  margin: 70px 0;
  padding: 100px 0 280px;
  background: #d9f6fa url("/img/search_bg_01.jpg") no-repeat 50% 100% / 100% auto;
}
.wrapAppealTyp01 .layWidTyp01 {
  display: flex;
  justify-content: space-between;
}
.AppealTyp01Lay1 {
  width: 500px;
}
.AppealTyp01Lay2 {
  width: 520px;
}
.AppealTyp01Lay2 .bnrTyp01 {
  width: 100%;
}
.AppealTyp01Lay2 .bnrTyp01 li {
  margin-bottom: 30px;
  width: 245px;
}
.AppealTyp01Lay2 .bnrTyp01 li img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width:991px) {
  .wrapAppealTyp01 {
    background-image: url("/img/search_bg_02.jpg");
  }
  .wrapAppealTyp01 .layWidTyp01 {
    display: block;
  }
  .wrapAppealTyp01 {
    margin: 40px 0;
    padding: 40px 0 100px;
  }
  .AppealTyp01Lay1 {
    width: 100%;
  }
  .fb_iframe_widget {
    width: 100%;
  }
  .AppealTyp01Lay2 {
    margin-top: calc(40px - 6%);
    width: 100%;
  }
  .AppealTyp01Lay2 .bnrTyp01 li {
    margin: 6% 0 0;
    width: 47%;
    padding: 0;
  }
}
/*-------------------------------*/
/*検索結果　地図表示*/
#resulMap {
  margin: 20px 0 0;
  width: 100%;
  height: 500px;
  padding: 1px;
  background: #e6e6e6;
  border-radius: 6px 6px 0 0;
}
body#search.result .layDropdown {
  border-radius: 0 0 6px 6px;
}
@media screen and (max-width:991px) {
  #resulMap {
    height: 200px;
  }
}
/*-------------------------------*/
/*end*/