@charset "utf-8";
/*CSS Document　アイコン、ボタン等*/
/*-------------------------------*/
/*右向き矢印*/
.layIconArrowRight {
  position: relative;
}
.layIconArrowRight:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -5px;
  width: 6px;
  height: 10px;
  background: url("../img/ico_arrow.svg") no-repeat 0 0 / 6px 10px;
}
/*-------------------------------*/
/*下向き矢印*/
.layIconArrowDown {
  position: relative;
}
.layIconArrowDown:after {
  content: "";
  display: block;
  position: absolute;
  width: 6px;
  height: 10px;
  background: url("../img/ico_arrow.svg") no-repeat 0 0 / 6px 10px;
  transform: rotate(90deg);
}
/*下向き矢印　入力フォーム*/
.layInput01 .layIconArrowDown select {
  padding-right: 30px;
}
.layInput01 .layIconArrowDown:after {
  top: 50%;
  right: 15px;
  margin-top: -5px;
}
/*下向き矢印　続きを表示する*/
.layBtnMore {
  display: flex;
  justify-content: center;
  position: relative;
  width: 100%;
  border-top: 1px solid #dedede;
}
.layBtnMore .layIconArrowDown {
  padding: 20px 0 25px;
  font-size: 14px;
  color: #656565;
}
.layBtnMore .layIconArrowDown:after {
  bottom: 15px;
  left: 50%;
  margin-left: -5px;
}
.layBtnMore .layIconArrowDown .layTxt02 {
  display: none;
}
.layBtnMore[aria-expanded="true"] .layIconArrowDown .layTxt01 {
  display: none;
}
.layBtnMore[aria-expanded="true"] .layIconArrowDown .layTxt02 {
  display: none;
}
.layBtnMore[aria-expanded="true"] .layIconArrowDown:after {
  bottom: 20px;
  transform: rotate(270deg);
  transition: all 0.2s ease-out;
}
/*-------------------------------*/
/*アイコン　戻るボタン（テキストなし）*/
.btnBack {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 40px;
  background: #ffffff url("../img/ico_arrow_gray.svg") no-repeat 50% 50% / 6px 10px;
  border: 1px solid #ffffff;
  border-radius: 6px;
  pointer-events: all;
  cursor: pointer;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  transition: border 0.2s ease-out;
  z-index: 1;
}
.btnBack:hover {
  border: 1px solid rgba(28, 77, 162, 0.7);
  transition: border 0.2s ease-out;
}
/*アイコン　戻るボタン（テキストなし）　左上に表示する*/
.wrapBtnBackTL {
  position: absolute;
  top: 0;
  left: clamp(15px, 4vw, 20px);
}
.wrapPageHead:not(.layIcoNone) .wrapBtnBackTL {
  top: 50px;
}
.wrapBtnBackTL .btnBack span {
  display: none;
}
/*-------------------------------*/
/*アイコン　強調お知らせ-1*/
.layIconStrong01 {
  position: relative;
  min-height: 12px;
  padding: 0 16px 0 0;
  background: url("../img/ico_attention_02.svg") no-repeat 100% 50% / 14px 12px;
}
/*アイコン　強調お知らせ-2*/
.layIconInfo01 {
  position: relative;
}
.layIconInfo01:after {
  content: "";
  display: block;
  position: absolute;
  width: 15px;
  height: 15px;
  background: url("../img/ico_attention_03.svg") no-repeat 0 0 / 15px 15px;
}
/*アイコン　強調お知らせ-3*/
.layIconInfo02 {
  position: relative;
  padding-left: 20px;
  background: url("../img/ico_attention_03.svg") no-repeat 0 0 / 15px 15px;
}
/*アイコン　お知らせ閉じる*/
.btnLayClose01 {
  position: absolute;
  display: block;
  top: -6px;
  right: -6px;
  width: 15px;
  height: 15px;
  background: url("../img/ico_close_01.svg") no-repeat 0 0 / 15px 15px;
}
/*アイコン　並び替え*/
.layIconSort {
  min-height: 13px;
  padding: 0 10px 0 28px;
  background: url("../img/ico_sort.svg") no-repeat 10px 50% / 14px 13px;
}
/*アイコン　並び替え　掴む*/
.layIconHandle {
  position: relative;
  display: block;
  width: 10px;
  height: 10px;
  background: url("../img/ico_handle.svg") no-repeat 0 0 / 10px 10px;
}
/*アイコン　削除*/
.layIconDel {
  display: flex;
  width: 13px;
  height: 16px;
  background: url("../img/ico_delete.svg") no-repeat 0 0 / 13px 16px;
}
/*アイコン　このお気に入りを削除する*/
.layIconFavDel {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 0 0 20px;
  min-height: 16px;
  background: url("../img/ico_delete.svg") no-repeat 0 50% / 13px 16px;
}
/*アイコン　お気に入り*/
.layIconFavBsc {
  display: flex;
  align-items: center;
  min-height: 30px;
  padding: 0 0 0 40px;
  background: url("../img/ico_favorite.svg") no-repeat 0 50% / 29px 28px;
}
/*アイコン　お気に入り詳細*/
.wrapPageHead.adjFavoStar h1 {
  margin-top: 0;
  margin-bottom: 0;
  transition: all 0.2s ease-out;
}
.layIconFavoTitle {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 40px;
  left: 50%;
  margin-left: -22px;
  width: 45px;
  height: 43px;
  z-index: 1;
  transition: all 0.2s ease-out;
}
.layIconFavoTitle img {
  width: 45px;
  height: 43px;
  transition: all 0.2s ease-out;
}
.wrapPageHead.adjFavoStar.onScroll .layIconFavoTitle {
  top: 10px;
  transition: all 0.2s ease-out;
}
.wrapPageHead.adjFavoStar.onScroll h1 {
  margin-top: -10px;
  margin-bottom: 10px;
  transition: all 0.2s ease-out;
}
.wrapPageHead.adjFavoStar.onScroll .layIconFavoTitle img {
  width: 25px;
  height: auto;
  transition: all 0.2s ease-out;
}
/*アイコン　お気に入りを追加する*/
.layIconFavAdd01 {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 0 0 36px;
  min-height: 23px;
  background: url("../img/ico_favorite_add_white.svg") no-repeat 0 50% / 24px auto;
}
/*アイコン　お気に入り登録*/
.layIconFavAdd02 {
  display: flex;
  align-items: center;
  min-height: 23px;
  padding: 0 0 0 30px;
  background: url("../img/ico_favorite_add.svg") no-repeat 0 50% / 24px 26px;
}
/*アイコン　領収書発行*/
.layIconReceipt {
  display: flex;
  align-items: center;
  min-height: 20px;
  padding: 0 0 0 26px;
  background: url("../img/ico_receipt.svg") no-repeat 0 50% / 20px 20px;
}
/*アイコン　履歴から選択*/
.layIconHistory {
  display: flex;
  align-items: center;
  min-height: 30px;
  padding: 0 0 0 40px;
  background: url("../img/ico_history.svg") no-repeat 0 50% / 32px 28px;
}
/*アイコン　地図から選択*/
.layIconMap {
  display: flex;
  align-items: center;
  min-height: 30px;
  padding: 0 0 0 40px;
  background: url("../img/ico_map.svg") no-repeat 0 50% / 29px 28px;
}
/*アイコン　地点の詳細（付け場所を指定する）*/
.layIconMapOp01 {
  display: flex;
  align-items: center;
  min-height: 20px;
  background: url("../img/ico_pen.svg") no-repeat 0 50% / 18px 18px;
}
/*アイコン　連絡先*/
.layIconContact {
  display: flex;
  align-items: center;
  min-height: 29px;
  padding: 0 0 0 25px;
  background: url("../img/ico_contact.svg") no-repeat 0 50% / 22px 29px;
}
/*アイコン　目（パスワード表示・非表示）*/
.layIconEye {
  display: block;
  position: absolute;
  top: 3px;
  right: 2px;
  width: 36px;
  height: 24px;
  background: #ffffff no-repeat 50% 50% / 28px 18px;
  border-radius: 5px;
  cursor: pointer;
  transition: all 0.2s ease-out;
}
.layIconEye:active {
  background-color: rgba(40, 78, 153, 0.2);
}
.layIconEye.eyeOpen {
  background-image: url("../img/ico_pass_eye_open.svg");
}
.layIconEye.eyeClose {
  background-image: url("../img/ico_pass_eye_close.svg");
}
/*アイコン　CentX webチケット会員と連携*/
.layIconRenkei01 {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 0 0 0 23px;
  min-height: 23px;
  background: url("../img/ico_link_white.svg") no-repeat 0 50% / 18px auto;
}
/*アイコン　CentX webチケット会員と連携*/
.layIconUnlink {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 0 0 0 23px;
  min-height: 23px;
  background: url("../img/ico_unlink.svg") no-repeat 0 50% / 18px auto;
}
/*アイコン　クーポン使用済（履歴詳細）*/
.layIconCoupon01 {
  display: flex;
  align-items: center;
  min-height: 20px;
  padding: 0 0 0 25px;
  font-size: 10px;
  color: #0097a2;
  background: url("../img/ico_coupon_normal.svg") no-repeat 0 50% / 20px 20px;
}
@media screen and (max-width:340px) {
  .layIconCoupon01 {
    min-height: 15px;
    background-size: 15px 15px;
    padding: 0 0 0 20px;
  }
}
/*アイコン　クーポン使用エラー（履歴詳細）*/
.layIconCoupon02 {
  display: flex;
  align-items: center;
  min-height: 20px;
  padding: 0 0 0 25px;
  font-size: 10px;
  color: #d73f3f;
  background: url("../img/ico_coupon_error.svg") no-repeat 0 50% / 20px 20px;
}
/*アイコン　外部リンク（履歴詳細 お問い合わせ）*/
.layIconLinkOut {
  display: flex;
  align-items: center;
  min-height: 8px;
  padding: 0 0 0 12px;
  font-size: 10px;
  color: #d73f3f;
  background: url("../img/ico_link_out.svg") no-repeat 0 50% / 8px 8px;
}
/*アイコン　ネット決済取消（履歴詳細）*/
.layIconPayError {
  display: flex;
  align-items: center;
  min-height: 20px;
  padding: 0 0 0 25px;
  font-size: 10px;
  color: #d73f3f;
  background: url("../img/ico_pay_error.svg") no-repeat 0 50% / 20px 20px;
}
/*-------------------------------*/
/*ボタン　青色*/
.btnTypBlue {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.disp02 .opItemBtn, .disp03 .opItemBtn, .disp04 .opItemBtn {
  margin-top: 20px;
  margin-top: clamp(14px, 2.5vh, 20px);
}
.wrapAll.showMap:not(.disp02) .panelBase > .opItemBtn {
  margin-top: 0;
}
.wrapAll.showMap:not(.disp02) .panelBase > .contAreaTyp01 + .opItemBtn {
  margin-top: clamp(15px, 3vh, 20px);
}
.disp03 .orderInitial .opItemBtn {
  margin-top: 0;
}
/*タクシー配車アカウント削除ボタンで使用*/
.opItemBtn > :first-child {
  margin-top: 0;
}
.opItemBtn > :last-child {
  margin-bottom: 0;
}
.btnTypBlue button, .btnTypBlue a.likeBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: clamp(200px, 100%, 460px);
  height: 50px;
  padding: 0 10px;
  text-align: center;
  font-size: 14px;
  color: #ffffff;
  text-decoration: none;
  background: #284e99;
  border-radius: 50px;
  transition: background 0.2s ease-out;
}
.btnTypBlue button:hover, .btnTypBlue a.likeBtn:hover {
  background: #316fda;
  transition: background 0.2s ease-out;
}
.btnTypBlue button.adjDispBlock, .btnTypBlue a.likeBtn.adjDispBlock {
  display: block;
}
@media screen and (min-width: 800px) {
  .disp03 .panelBase .opItemBtn:first-child {
    margin-top: 0;
  }
}
/*履歴＞再注文*/
.contAreaTopRight .btnTypBlue button, .contAreaTopRight .btnTypBlue a.likeBtn {
  width: clamp(70px, 30vw, 90px);
  height: 40px;
}
.btnTypBlue.reverse button, .btnTypBlue.reverse a.likeBtn {
  height: 45px;
  color: #284e99;
  border: 2px solid #284e99;
  background: #ffffff;
  transition: background 0.2s ease-out;
}
.btnTypBlue.reverse button:hover, .btnTypBlue.reverse a.likeBtn:hover {
  background: #e8f0ff;
  transition: background 0.2s ease-out;
}
.btnTypBlue + .btnTypBlue.reverse.adjWide50, .btnTypYoyaku + .btnTypBlue.reverse.adjWide50 {
  margin-top: 30px;
}
.btnTypBlue.reverse.adjWide50 > button, .btnTypBlue.reverse.adjWide50 > a.likeBtn, .btnTypYoyaku.reverse.adjWide50 > button, .btnTypYoyaku.reverse.adjWide50 > a.likeBtn {
  width: clamp(200px, 50%, 460px);
}
/*タクシー設定＞利用規約ボタン*/
.opItemBtn + .btnTypBlue.reverse.adjWide50 {
  margin-top: 10px;
}
@media screen and (min-height: 900px) {
  .opItemBtn + .btnTypBlue.reverse.adjWide50 {
    margin-top: 20px;
  }
}
.wrapFormTyp02 + .btnTypBlue.reverse.adjWide50 {
  margin-top: 20px;
}
.opItemBtn + .btnTypBlue.reverse.adjWide50 button, .opItemBtn + .btnTypBlue.reverse.adjWide50 a.likeBtn, .wrapFormTyp02 + .btnTypBlue.reverse.adjWide50 button, .wrapFormTyp02 + .btnTypBlue.reverse.adjWide50 a.likeBtn {
  height: 30px;
}
.btnTypBlue.signIn > button, .btnTypBlue.signIn > a.likeBtn {
  background: rgba(22, 185, 51, 1.00);
}
/*お気に入り詳細＞タクシーを呼ぶ*/
.btnTypBlue.favo {
  display: flex;
  justify-content: center;
}
.btnTypBlue.favo dl {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: clamp(200px, 100%, 460px);
}
.btnTypBlue.favo dl dt {
  text-align: center;
  font-size: 14px;
}
.btnTypBlue.favo dl dd {
  margin-top: clamp(5px, 1.5vh, 10px)
}
.btnTypBlue.favo ul {
  display: flex;
  justify-content: space-between;
}
.btnTypBlue.favo ul li {
  width: 48.5%;
}
.btnTypBlue.favo ul button, .btnTypBlue.favo ul a.likeBtn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: clamp(100px, 100%, 460px);
  padding: 0 10px;
  font-size: 14px;
  color: #ffffff;
  background: #284e99;
  border-radius: 50px;
  transition: background 0.2s ease-out;
}
.btnTypBlue.favo ul button:hover, .btnTypBlue.favo ul a.likeBtn:hover {
  background: #316fda;
  transition: background 0.2s ease-out;
}
.btnTypBlue.multiLine button, .btnTypBlue.multiLine a.likeBtn {
  flex-direction: column;
  height: auto;
  min-height: 50px;
  padding: 15px 10px;
}
/*予約（濃い緑色）のボタン*/
.btnTypYoyaku {
  display: flex;
  justify-content: center;
}
.btnTypYoyaku button, .btnTypYoyaku a.likeBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: clamp(200px, 100%, 460px);
  height: 50px;
  padding: 0 10px;
  text-align: center;
  font-size: 14px;
  color: #ffffff;
  text-decoration: none;
  background: #4d840f;
  border-radius: 50px;
}
.btnTypYoyaku button:hover, .btnTypYoyaku a.likeBtn:hover {
  background: #69ab1e;
  transition: background 0.2s ease-out;
}
.btnTypYoyaku.reverse button, .btnTypYoyaku.reverse a.likeBtn {
  height: 45px;
  color: #4d840f;
  border: 2px solid #4d840f;
  background: #ffffff;
  transition: background 0.2s ease-out;
}
.btnTypYoyaku.reverse button:hover, .btnTypYoyaku.reverse a.likeBtn:hover {
  background: #f2fbe8;
  transition: background 0.2s ease-out;
}
/*戻る、キャンセル*/
.btnTypA02 {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.btnTypBlue + .btnTypBlue, .btnTypBlue + .btnTypA02, .btnTypYoyaku + .btnTypA02 {
  margin-top: clamp(10px, 1.5vh, 15px);
}
.btnTypA02 .btnBack {
  display: flex;
  justify-content: center;
  align-items: center;
  width: clamp(175px, 52%, 400px);
  height: clamp(34px, 5vh, 40px);
  padding: 0 10px;
  text-align: center;
  font-size: 14px;
  color: #1c4da2;
  text-decoration: none;
  background: #ffffff;
  border: 1px solid #1c4da2;
  border-radius: 50px;
  pointer-events: all;
  cursor: pointer;
  transition: background 0.2s ease-out;
}
.btnTypA02 .btnBack:hover {
  background: #e8f0ff;
  transition: background 0.2s ease-out;
}
/*配車依頼キャンセル、キャンセルはお電話ください*/
.btnTypBlue .btnCancel, .btnTypYoyaku .btnCancel, .btnTypBlue a.btnCancel.likeBtn, .btnTypYoyaku a.btnCancel.likeBtn {
  width: auto;
  padding: 0 15px;
  height: clamp(28px, 5vh, 45px);
}
.btnTypBlue .btnCancel .layIconClose02, .btnTypYoyaku .btnCancel .layIconClose02 {
  display: flex;
  align-items: center;
  padding: 0 0 0 25px;
  min-height: 19px;
  background: url("../img/ico_cross_blue.svg") no-repeat 0 0 / 19px 19px;
}
.btnTypYoyaku .btnCancel .layIconClose02 {
  background-image: url("../img/ico_cross_green.svg");
}
.btnTypBlue .btnCancel .layIconTel, .btnTypYoyaku .btnCancel .layIconTel {
  display: flex;
  align-items: center;
  padding: 0 0 0 25px;
  min-height: 19px;
  background: url("../img/ico_contact_sub.svg") no-repeat 0 0 / 19px 19px;
}
.layIconTel02 {
  display: flex;
  align-items: center;
  padding: 0 0 0 30px;
  min-height: 22px;
  font-size: 20px;
  background: url("../img/ico_contact_sub_02.svg") no-repeat 0 50% / 22px 22px;
}
.btnCancel + .layTxt {
  margin: 5px 0 0;
  font-size: 12px;
  color: #d73f3f;
}
/*タクシー配車TOPへ戻る*/
.btnTypBlue .btnTaxiOrderTop, .btnTypBlue a.likeBtn.btnTaxiOrderTop {
  width: auto;
  padding: 0 15px;
}
/*テキスト風ボタン*/
.btnTypTxt {
  display: flex;
  justify-content: center;
  margin: 10px 0;
  text-align: center;
}
.btnTypTxt.adjLeft {
  justify-content: flex-start;
}
.btnTypTxt.adjRight {
  justify-content: flex-end;
}
.btnTypTxt.adjRight.adjTop {
  margin-top: 0;
}
@media screen and (min-height: 700px) {
  .btnTypTxt.adjRight.adjTop {
    margin-top: 5px;
  }
}
.btnTypTxt button, .btnTypTxt a {
  padding: 10px;
  font-size: 12px;
  color: #1c4da2;
  text-decoration: none;
}
.btnTypTxt button:hover, .btnTypTxt a:hover {
  text-decoration: underline;
}
/*ボタン　緑色*/
.btnTypGreen {
  display: flex;
  justify-content: center;
}
.btnTypGreen button, .btnTypGreen a.likeBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: clamp(200px, 100%, 460px);
  height: 50px;
  padding: 0 10px;
  text-align: center;
  font-size: 14px;
  color: #ffffff;
  text-decoration: none;
  background: #00a395;
  border-radius: 50px;
  transition: background 0.2s ease-out;
}
.btnTypGreen button:hover, .btnTypGreen a.likeBtn:hover {
  background: #15bfb0;
  transition: background 0.2s ease-out;
}
/*ボタン　赤色*/
.btnTypRed {
  display: flex;
  justify-content: center;
}
.btnTypRed button, .btnTypRed a.likeBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: clamp(200px, 100%, 460px);
  height: 50px;
  padding: 0 10px;
  text-align: center;
  font-size: 14px;
  color: #ffffff;
  text-decoration: none;
  background: #d73f3f;
  border-radius: 50px;
  transition: background 0.2s ease-out;
}
.btnTypRed button:hover, .btnTypRed a.likeBtn:hover {
  background: #fa4949;
  transition: background 0.2s ease-out;
}
.layTopLine {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #d2d2d2;
}
.btnTypTxt + .layTopLine {
  margin-top: 0;
}
/*ボタン　灰色・四角*/
.btnTypGraySquare {
  display: flex;
  justify-content: center;
  border: 1px solid #6e747f;
  padding: 5px;
  border-radius: 5px;
}
.btnTypGraySquare button, .btnTypGraySquare a.likeBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 50px;
  padding: 10px;
  text-align: center;
  font-size: 14px;
  color: #ffffff;
  text-decoration: none;
  background: #6e747f;
  border-radius: 5px;
  transition: background 0.2s ease-out;
}
.btnTypGraySquare button:hover, .btnTypGraySquare a.likeBtn:hover {
  background: #6e747f;
  transition: background 0.2s ease-out;
}
/*ボタン　縦サイズ調整*/
@media screen and (max-height:850px) {
  .btnTypBlue button, .btnTypBlue a.likeBtn, .btnTypYoyaku button, .btnTypYoyaku a.likeBtn, .btnTypRed button, .btnTypRed a.likeBtn {
    height: clamp(36px, 6vh, 50px);
  }
  .btnTypBlue.reverse button, .btnTypBlue.reverse a.likeBtn {
    height: clamp(34px, 5.5vh, 46px);
  }
}
@media screen and (max-width:340px) {
  .btnTypBlue button, .btnTypBlue a.likeBtn, .btnTypYoyaku button, .btnTypYoyaku a.likeBtn, .btnTypRed button, .btnTypRed a.likeBtn {
    height: clamp(36px, 7.5vh, 60px);
  }
}
.btnTypBlue.reverse button.adjCompact, .btnTypBlue.reverse a.likeBtn.adjCompact {
  height: clamp(34px, 3vh, 46px);
}
/*ボタン　ログアウト*/
.btnLogout {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 0 0 23px;
  min-height: 20px;
  background: url("../img/ico_logout.svg") no-repeat 0 50% / 18px 18px;
}
/*ボタン　タクシー配車アカウント削除*/
.btnDelete {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 0 0 20px;
  min-height: 15px;
  color: #d73f3f;
  background: url("../img/ico_delete.svg") no-repeat 0 50% / 14px 15px;
}
a:hover .btnDelete {
  text-decoration: underline;
}
/*ボタン　CentX webチケット会員登録をする場合はこちら*/
.btnSignup {
  display: flex;
  align-items: center;
  padding: 0 0 0 23px;
  min-height: 20px;
  background: url("../img/ico_signup.svg") no-repeat 0 50% / 18px 18px;
}
/*ボタン　四角い形*/
.btnTypSquare {
  position: relative;
  font-size: 14px;
}
/*-------------------------------*/
/*利用規約への同意チェック*/
/*事前確定運賃の注意事項への同意チェック*/
.btnTypCheck {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  margin: 30px 0 0;
  font-size: 12px;
}
.btnTypCheck.adjTop {
  margin-top: 14px;
}
@media (max-height: 800px) {
  .btnTypCheck.adjTop {
    margin-top: clamp(8px, 2.2vh, 14px);
  }
}
.btnTypCheck .layIconArrowRight {
  margin: 0 5px;
  padding-right: 10px;
  color: #1c4da2;
}
.decoInputTyp02 input[type=checkbox] {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}
.decoInputTyp02 input[type=checkbox] + .layBoxCheck {
  position: relative;
  display: block;
  margin: 0 5px 0 0;
  width: 18px;
  height: 18px;
}
.decoInputTyp02 input[type=checkbox] + .layBoxCheck:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
  border: 1px solid #1c4da2;
  border-radius: 4px;
}
.decoInputTyp02 input[type=checkbox]:checked + .layBoxCheck:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
  background: #1c4da2 url("../img/ico_checked.svg") no-repeat 50% 50% / 12px 9px;
  border-radius: 4px;
}
.btnTypCheck label:hover {
  text-decoration: underline;
  cursor: pointer;
}
@media (max-width: 340px) {
  .btnTypCheck .layIconArrowRight {
    margin: 0 2px;
  }
  .decoInputTyp02 input[type=checkbox] + .layBoxCheck {
    margin-right: 2px;
  }
  .wrapLinkModalTermsFare {
    margin-right: -5px;
  }
}
/*-------------------------------*/
/*前へ次へ*/
.layInput01 .navControl-PrevNext {
  display: flex;
  justify-content: space-between;
  width: 85px;
}
.layInput01 .navControl-PrevNext button {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 35px;
  height: 35px;
  background: #ffffff;
  border-radius: 5px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  transition: border 0.2s ease-out;
}
.layInput01 .navControl-PrevNext button:hover {
  border: 1px solid rgba(28, 77, 162, 0.7);
  transition: border 0.2s ease-out;
}
.layInput01 .navControl-PrevNext button.navPrev:after, .navControl-PrevNext button.navNext:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -5px;
  margin-left: -3px;
  width: 6px;
  height: 10px;
  background: url("../img/ico_arrow.svg") no-repeat 0 0 / 6px 10px;
}
.layInput01 .navControl-PrevNext button.navPrev:after {
  transform: rotate(180deg);
}
/*-------------------------------*/
/*ツールチップ*/
.layIconHatena {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 10px;
  padding: 0;
  width: 15px;
  height: 15px;
  color: #ffffff;
  font-size: 10px;
  font-weight: bold;
  background: #1c4da2 url("../img/ico_question.svg") no-repeat 0 0 / 15px 15px;
  border: none;
  border-radius: 100%;
}
.wrapTooltip {
  display: none;
  position: fixed;
  max-width: 340px;
  padding-right: 20px;
  z-index: 99;
}
@media (max-width: 600px) {
  .wrapTooltip {
    max-width: 300px;
  }
}
@media (max-width: 400px) {
  .wrapTooltip {
    max-width: 220px;
  }
}
.wrapTooltip:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -10px;
  left: 0;
  border-top: 10px solid rgba(0, 0, 0, 0.7);
  border-right: 10px solid transparent;
}
.wrapTooltip.left {
  padding-right: 0;
}
.wrapTooltip.left:after {
  left: auto;
  right: 0;
  border-right: none;
  border-left: 10px solid transparent;
}
.tooltipEle {
  display: block;
  padding: 20px;
  font-size: 12px;
  line-height: 1.6;
  color: #ffffff;
  background: rgba(0, 0, 0, 0.7);
  border-radius: 10px;
  border-bottom-left-radius: 0;
}
.wrapTooltip.left .tooltipEle {
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 0;
}
.wrapRenkei {
  position: relative;
}
.wrapRenkei .layIconHatena {
  position: absolute;
  top: -5px;
  right: -5px;
}
/*-------------------------------*/
/*地図内*/
#marker {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 35px;
  height: 50px;
  margin-left: -17px; /* マーカーの中心を正確にするために、マーカーの幅の半分だけ左に移動 */
  margin-top: -50px; /* マーカーの中心を正確にするために、マーカーの高さだけ上に移動 */
}
/*現在地を表示*/
#mapIcoHere {
  position: absolute;
  bottom: 30px;
  right: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 45px;
  height: 45px;
  background: #ffffff url("../img/ico_point_here.svg") no-repeat 50% 50% / 15px 15px;
  border-radius: 100%;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
}
/*-------------------------------*/
/*アクティブ表示*/
a:active {
  background-color: rgba(40, 78, 153, 0.3) !important;
  transition: all 0.2s ease-out;
}
button:active {
  background-color: rgba(40, 78, 153, 0.3) !important;
  transition: all 0.2s ease-out;
}
.contAreaSub01 .btnTR a.layIconSort:active {
  background-color: rgba(40, 78, 153, 0.3) !important;
  transition: all 0.2s ease-out;
}
.wrapInputPoint .layIconChange button:active {
  background-color: rgba(40, 78, 153, 0.3) !important;
  border: 1px solid #284e99;
  transition: all 0.2s ease-out;
}
/*-------------------------------*/
/*タクシー料金　料金の詳細を確認*/
.layLinkTxtTyp01 {
  margin-top: clamp(2px, 0.3vh, 5px);
}
.layLinkTxtTyp01 .layIconArrowRight {
  display: inline-block;
  padding: 2px 10px 2px 0;
  color: #1c4da2;
}
/*-------------------------------*/
/*事前確定運賃とは*/
.boxAboutTyp01 {
  margin: clamp(5px, 1.6vh, 18px) 0;
  padding: clamp(4px, 1.6vh, 14px) 10px;
  background: #ececec;
  border-radius: 10px;
}
.boxAboutTyp01 h2 {
  font-size: 14px;
}
.boxAboutTyp01 p {
  font-size: 12px;
}
.boxAboutTyp01 h2 + p {
  margin-top: 0.4em;
}
@media screen and (max-height:800px) {
  .formFare + .boxAboutTyp01 p {
    line-height: 1.1;
  }
}
/*-------------------------------*/
/*ルート変更時の注意点*/
.layLinkTxtTyp02 {
  justify-content: center;
  align-items: center;
  text-align: center;
  margin-top: clamp(2px, 0.3vh, 5px);
  display: inline-block;
  padding: 2px 0 0 0;
  color: #1c4da2;
  font-size: clamp(13px, 2vw, 14px);
}
/*-------------------------------*/
/*汎用強調表示*/
.notice-text {
  color: #d73f3f;
}
input:disabled + label .notice-text {
  color: #da9b9b;
}
/*-------------------------------*/
/*ローディング、スピナー表示*/
.showSpinner {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width:800px) and (min-height:800px) {
  .showSpinner {
    height: 30vh;
  }
}
@media screen and (max-width:799px) {
  .showSpinner {
    height: 30vh;
  }
}
@media screen and (max-width:799px) and (min-height:600px) {
  .showSpinner {
    height: 40vh;
  }
}
.showSpinner .showSpinnerMsg {
  position: relative;
  padding: 80px 0 0;
  text-align: center;
}
.showSpinner .showSpinnerMsg:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -30px;
  width: 60px;
  height: 60px;
  background: url(../img/spinner.svg) no-repeat 0 0 / 60px 60px;
}
/*-------------------------------*/
/*end*/