
/* ----------------------------------------------------------------

  j_bus Modules modify

----------------------------------------------------------------- */
/* ----------------------------------------------------------------
  .form-search-index
----------------------------------------------------------------- */
/* .form-search-index-index-item
----------------------------------------------------------------- */
.lp-form-search .form-search-index-item.date{
width:388px;
}

.lp-form-search .form-search-index-item.picky{
max-width:550px;
}

.lp-form-search .form-search-index-item > .form-search-index-item-cell::before{
display:none;
}

.lp-form-search .form-search-index-item > .form-search-index-item-cell:first-child{
min-height:24px;
}


/* .form-search-index-index-item-col
----------------------------------------------------------------- */
.lp-form-search .form-search-index-item-col{
gap:0 26px;
}

/* .form-search-index-hdg
----------------------------------------------------------------- */
.lp-form-search .form-search-index-hdg{
padding:0 18px 0 0;
color:var(--cmn-font-color-base);
background-color:#fff;
}

.lp-form-search .form-search-index-hdg > h2{
font-weight:bold;
}

.lp-form-search .form-search-index-item.picky .form-search-index-hdg{
height:auto;
}

/* .form-search-index-list-line
----------------------------------------------------------------- */
.lp-form-search .form-search-index-list-line{
margin-left:0;
}

/* .form-search-index-date-btn
----------------------------------------------------------------- */
.lp-form-search .form-search-index-date-btn{
width:140px;
}

/* .form-search-index-date-list
----------------------------------------------------------------- */
.lp-form-search .form-search-index-date-list{
margin-left:8px;
display:-webkit-box;
display:flex;
-webkit-box-align:center;
align-items:center;
gap:4px;
}

.lp-form-search .form-search-index-date-list button{
padding:0;
border:1px solid #bebebe;
border-radius:4px;
color: var(--cmn-font-color-base);
width:48px;
height:28px;
background-color:#fff;
font-size:12px;
}

/* .form-search-index-time
----------------------------------------------------------------- */
.lp-form-search .form-search-index-time{
padding-left:0;
}

/* .form-search-index-time-list
----------------------------------------------------------------- */
.lp-form-search .form-search-index-time-list{
padding:8px 12px;
display:block;
background-color:#eee;
}

.lp-form-search .form-search-index-time-list > li:not(:first-child){
margin-top:4px;
}

.lp-form-search .form-search-index-time-list::before{
right:28px;
opacity:.65;
}

.lp-form-search .form-search-index-time-list .form-search-index-select{
width:98px;
}

/* .form-search-index-btn-reset
----------------------------------------------------------------- */
.lp-form-search .form-search-index-btn-reset{
top:-8px;
right:0;
}

/* .form-search-index-error
----------------------------------------------------------------- */
.lp-form-search-exec .form-search-index-error{
margin-bottom:12px;
}

.lp-form-search-exec .form-search-index-error > li{
margin-right:0;
margin-left:auto;
width:fit-content;
}


/* ----------------------------------------------------------------
  .seo
----------------------------------------------------------------- */
.lp .seo{
margin-top:36px;
padding-top:0;
border-image:none;
background-color:transparent;
}






/* ----------------------------------------------------------------

  LP Layout

----------------------------------------------------------------- */
/* ----------------------------------------------------------------
  .lp / .lp-bg
----------------------------------------------------------------- */
.lp-bg{
padding:20px 20px 40px;
background-color:#eee;
}


/* ----------------------------------------------------------------
  .lp-panel
----------------------------------------------------------------- */
.lp-panel{
padding:20px;
border-radius:6px;
box-shadow:0 0 6px rgba(0,0,0,.3);
background-color:#fff;
}

.lp-panel > :first-child{
margin-top:0;
}

.lp-panel > :last-child{
margin-bottom:0;
}

.lp-panel:has(> .lp-cheapest){
padding-bottom:12px;
}



/* ----------------------------------------------------------------

  LP Common Modules

----------------------------------------------------------------- */
/* ----------------------------------------------------------------
  .lp-hdg-l1
----------------------------------------------------------------- */
.lp-hdg-l1{
margin:28px 0 28px;
font-size:20px;
font-weight:bold;
}

.lp-hdg-l1:has(+ .lp-bg){
margin-bottom:20px;
}


/* ----------------------------------------------------------------
  .lp-hdg-l2
----------------------------------------------------------------- */
.lp-hdg-l2{
margin:36px 0 8px;
font-size:16px;
font-weight:bold;
}

.lp-tab-list + .lp-hdg-l2{
margin-top:24px;
}


/* ----------------------------------------------------------------
  .lp-list-line
----------------------------------------------------------------- */
.lp-list-line{
display:-webkit-box;
display:flex;
gap:12px 24px;
flex-wrap:wrap;
overflow:hidden;
line-height:1.25;
font-size:16px;
}

.lp-list-line > li{
margin-left:-13px;
padding-left:12px;
border-left:1px solid #bbb;
}

.lp-list-line a{
color:var(--cmn-font-color-base);
}


/* ----------------------------------------------------------------
  .lp-notice
----------------------------------------------------------------- */
.lp-notice{
margin:8px 0 0;
color:var(--cmn-font-color-gray);
font-size:12px;
}

.lp-notice > li{
display:-webkit-box;
display:flex;
}

.lp-notice > li:not(:first-child){
margin-top:4px;
}

.lp-notice > li > span{
margin-right:4px;
}

.lp-notice > li > div{
-webkit-box-flex:1;
flex:1;
}

/*  .lp-transport-tbl > .lp-notice
-------------------------------------------- */
.lp-transport-tbl .lp-notice{
margin:4px auto 0;
width:fit-content;
}

/*  .lp-notice.inline
----------------------------------------------------------------- */
.lp-notice.inline{
margin-top:12px;
display:-webkit-box;
display:flex;
flex-wrap: wrap;
gap: 0 16px;
}

.lp-notice.inline > li{
margin:0;
}




/* ----------------------------------------------------------------
  .lp-image-col
----------------------------------------------------------------- */
.lp-image-col{
margin-bottom:36px;
padding:20px;
display:-webkit-box;
display:flex;
gap:20px;
background-color:#fff;
font-size:16px;
}

.lp-image-col > .col{
-webkit-box-flex:1;
flex:1;
}

.lp-image-col > .image{
width:400px;
height:240px;
}

.lp-image-col > .image img{
width:100%;
height:100%;
object-fit:cover;
}

.lp-image-col .lp-image-col-hdg{
margin-bottom:4px;
font-size:16px;
}


/* ----------------------------------------------------------------
  .lp-tab-list
----------------------------------------------------------------- */
.lp-tab-list{
margin:0;
border-bottom:1px solid #ccc;
display:flex;
align-items:stretch;
gap:40px;
text-align:center;
}

.lp-tab-list a{
padding:0 0 8px;
color:var(--cmn-font-color-base);
border-bottom: 2px solid transparent;
box-sizing:border-box;
display:block;
width:100%;
height:100%;
line-height:1.2;
background-color:transparent;
font-size:16px;
text-decoration:none;
}

.lp-tab-list > .is-active a{
font-weight:bold;
border-bottom-color:var(--cmn-font-color-base);
}




/* ----------------------------------------------------------------

  LP Form Modules

----------------------------------------------------------------- */
/* ----------------------------------------------------------------
  .lp-form-search
----------------------------------------------------------------- */
.lp .lp-form-search{
margin-top:-12px;
padding:0;
position:relative;
background-color:transparent;
}


/* ----------------------------------------------------------------
  .lp-form-search-note
----------------------------------------------------------------- */
.lp-form-search .lp-form-search-note{
margin-top:12px;
}

/* ----------------------------------------------------------------
  .lp-form-search-lyt
----------------------------------------------------------------- */
.lp-form-search .lp-form-search-lyt{
display:-webkit-box;
display:flex;
gap:40px;
}

.lp-form-search .lp-form-search-lyt > .lp-form-search-lyt-cell:first-child{
width:400px;
}

.lp-form-search .lp-form-search-lyt > .lp-form-search-lyt-cell:last-child{
-webkit-box-flex:1;
flex:1;
}


/* ----------------------------------------------------------------
  .lp-form-search-exec
----------------------------------------------------------------- */
.lp-form-search .lp-form-search-exec{
margin-top:16px;
position: absolute;
bottom:0;
right:0;
text-align:right;
max-width:234px;
}

.lp-form-search-toggle.is-active + .lp-form-search-exec{
position:static;
}

/* .lp-form-search-exec-btn
----------------------------------------------------------------- */
.lp-form-search .lp-form-search-exec .lp-form-search-exec-btn{
padding:8px 4px;
border:none;
border-radius:6px;
color:#fff;
min-width:170px;
font-size:20px;
font-weight:bold;
background-color:var(--button-color);
}

.lp-form-search .lp-form-search-exec .lp-form-search-exec-btn:active,
.lp-form-search .lp-form-search-exec .lp-form-search-exec-btn:hover,
.lp-form-search .lp-form-search-exec .lp-form-search-exec-btn:focus{
background-color:var(--button-color-hover);
}

.lp-form-search .lp-form-search-exec .lp-form-search-exec-btn:disabled{
opacity:.33;
}






/* ----------------------------------------------------------------

  LP Cheapest Modules

----------------------------------------------------------------- */
/* ----------------------------------------------------------------
  .lp-cheapest
----------------------------------------------------------------- */
.lp-cheapest{
position:relative;
font-size:14px;
}

.lp-cheapest::before{
content:'';
display:block;
width:100%;
height:1px;
background-color:#fff;
overflow:hidden;
position:absolute;
bottom:0;
left:0;
}

.lp-cheapest > :first-child{
margin-top:0;
}


/* ----------------------------------------------------------------
  .lp-cheapest-hdg
----------------------------------------------------------------- */
.lp-cheapest-hdg{
margin-top:20px;
padding-bottom:5px;
border-bottom:1px solid #ddd;
font-size:14px;
}

.lp-cheapest-hdg a{
color:var(--cmn-font-color-base);
text-decoration:none;
}


/* ----------------------------------------------------------------
  .lp-cheapest-col
----------------------------------------------------------------- */
.lp-cheapest-col{
display:-webkit-box;
display:flex;
gap:0 32px;
}

.lp-cheapest-col > div{
-webkit-box-flex:1;
flex:1;
}



/* ----------------------------------------------------------------
  .lp-cheapest-tbl
----------------------------------------------------------------- */
.lp-cheapest-tbl{
border-collapse:collapse;
text-align:center;
width:100%;
table-layout:fixed;
font-size:14px;
}

.lp-cheapest-tbl th,
.lp-cheapest-tbl td{
padding:8px 0;
border-bottom:1px solid #ddd;
font-weight:normal;
}

.lp-cheapest-tbl thead th{
padding:6px 0 4px;
}

.lp-cheapest-tbl thead th:first-child{
width:13em;
text-align:left;
}

.lp-cheapest-tbl tbody th{
text-align:left;
}

.lp-cheapest-tbl td > span{
display:inline-block;
min-width:64px;
text-align:right;
}


/* .lp-cheapest > .lp-cheapest-tbl
----------------------------------------------------------------- */
.lp-cheapest > .lp-cheapest-tbl thead th:first-child{
width:20em;
}

.lp-cheapest > .lp-cheapest-tbl:first-child{
margin-top:-4px;
}


/* ----------------------------------------------------------------
  .lp-cheapest-nav
----------------------------------------------------------------- */
.lp-cheapest .lp-cheapest-nav{
margin-bottom:12px;
border-bottom: 1px solid #ddd;
display:flex;
gap:20px;
}

.lp-cheapest-nav button{
padding:0 0 8px;
border:none;
background-color:transparent;
font-size:14px;
}

.lp-cheapest-nav > .is-active > button{
font-weight:bold;
box-shadow:0 -2px 0 var(--cmn-font-color-base) inset;
}




/* ----------------------------------------------------------------
  .lp-cheapest-nav-area
----------------------------------------------------------------- */
.lp-cheapest .lp-cheapest-nav-area{
margin-bottom:28px;
display:none;
flex-wrap:wrap;
gap:4px;
font-size:12px;
}

.lp-cheapest-nav-area.is-active{
display:flex;
}

.lp-cheapest-nav-area a{
padding:8px 12px;
border: 1px solid #ccc;
border-radius:50px;
color:var(--cmn-font-color-base);
display:block;
text-decoration: none;
}

.lp-cheapest-nav-area > .is-active > a{
border-color:var(--cmn-font-color-base);
}




/* ----------------------------------------------------------------

  .lp-location Modules

----------------------------------------------------------------- */
/* ----------------------------------------------------------------
  .lp-location
----------------------------------------------------------------- */
.lp-location > :first-child{
margin-top:0;
}


/* ----------------------------------------------------------------
  .lp-location-col
----------------------------------------------------------------- */
.lp-location-col{
margin-top:16px;
padding-top:16px;
border-top:1px solid #ddd;
display:-webkit-box;
display:flex;
flex-wrap:wrap;
gap:20px;
}

.lp-location-col > div{
width:calc(50% - 10px);
}

.lp-location > .lp-location-col:first-child{
border-top:none;
padding-top:0;
}


/* ----------------------------------------------------------------
  .lp-location-hdg
----------------------------------------------------------------- */
.lp-location-hdg{
margin-bottom:8px;
font-size:14px;
}


/* ----------------------------------------------------------------
  .lp-location-map
----------------------------------------------------------------- */
.lp-location-map{
aspect-ratio:880 / 354;
height:auto;
overflow:hidden;
background-color:#acdafd;
}

/* .lp-location-col > .lp-location-map
----------------------------------------------------------------- */
.lp-location-col .lp-location-map{
aspect-ratio:430 / 354;
}




/* ----------------------------------------------------------------

  .lp-transport-tbl Modules

----------------------------------------------------------------- */
/* ----------------------------------------------------------------
  .lp-transport
----------------------------------------------------------------- */
.lp-transport > :first-child{
margin-top:0;
}

.lp-transport > :last-child{
margin-bottom:0;
}


/* ----------------------------------------------------------------
  .lp-transport-hdg
----------------------------------------------------------------- */
.lp-transport-hdg{
margin-bottom:12px;
}


/* ----------------------------------------------------------------
  .lp-transport-tbl > table
----------------------------------------------------------------- */
.lp-transport-tbl table{
margin:12px 0;
border-spacing:0;
border-collapse:collapse;
border-width:1px 0 0 1px;
border-style:solid;
border-color:#ccc;
width:100%;
font-size:14px;
}

.lp-transport-tbl table th{
padding:8px;
border-width:0 1px 1px 0;
border-style:solid;
border-color:#ccc;
background-color:#f5f5f5;
font-weight:normal;
}

.lp-transport-tbl table thead th{
width:240px;
box-sizing:border-box;
font-weight:bold;
font-size:16px;
}

.lp-transport-tbl table thead th:first-child{
width:auto;
}

.lp-transport-tbl table th > span{
display:block;
}

.lp-transport-tbl table td{
padding:12px 8px;
border-width:0 1px 1px 0;
border-style:solid;
border-color:#ccc;
text-align:center;
vertical-align:top;
}

.lp-transport-tbl table td > span,
.lp-transport-tbl table td > span > span{
display:block;
}

.lp-transport-tbl table td > span + span{
margin-top:4px;
}

.lp-transport-tbl table td b{
display:inline-block;
font-size:16px;
}


/* ----------------------------------------------------------------
  .lp-transport-tbl-route
----------------------------------------------------------------- */
.lp-transport-tbl-route{
font-size:12px;
}


/* ----------------------------------------------------------------
  .lp-transport-tbl-ok
----------------------------------------------------------------- */
.lp-transport-tbl-ok{
margin:auto;
color:rgba(0,0,0,0);
display:block;
width:26px;
height:26px;
overflow:hidden;
background:url(/element/j_bus/lp/images/icon-ok.svg) 50% 50% no-repeat;
background-size:16px;
text-indent:-100px;
}


/* ----------------------------------------------------------------
  .lp-transport-tbl-ng
----------------------------------------------------------------- */
.lp-transport-tbl-ng{
margin:auto;
color:rgba(0,0,0,0);
display:block;
width:26px;
height:26px;
overflow:hidden;
background:url(/element/j_bus/lp/images/icon-ng.svg) 50% 50% no-repeat;
background-size:16px;
text-indent:-100px;
}


/* ----------------------------------------------------------------
  .lp-transport-tbl-notbad
----------------------------------------------------------------- */
.lp-transport-tbl-notbad{
margin:auto;
color:rgba(0,0,0,0);
display:block;
width:26px;
height:26px;
overflow:hidden;
background:url(/element/j_bus/lp/images/icon-notbad.svg) 50% 50% no-repeat;
background-size:16px;
text-indent:-100px;
}


/* ----------------------------------------------------------------
  .lp-transport-tbl-list
----------------------------------------------------------------- */
.lp-transport-tbl-list{
text-align:left;
}

.lp-transport-tbl-list > li{
padding-left:8px;
position:relative;
}

.lp-transport-tbl-list > li::before{
content:'';
border-radius:50%;
display:block;
width:2px;
height:2px;
overflow:hidden;
position:absolute;
top:5px;
left:0;
background-color:var(--cmn-font-color-base);
}

.lp-transport-tbl-list > li:not(:first-child){
margin-top:4px;
}





/* ----------------------------------------------------------------

  .lp-tips Modules

----------------------------------------------------------------- */
/* ----------------------------------------------------------------
  .lp-tips
----------------------------------------------------------------- */
.lp-tips{
font-size:14px;
}

.lp-tips > :first-child{
margin-top:0;
}

.lp-tips > :last-child{
margin-bottom:0;
}


/* ----------------------------------------------------------------
  .lp-tips-col
----------------------------------------------------------------- */
.lp-tips-col{
margin:12px 0;
display:-webkit-box;
display:flex;
flex-wrap:wrap;
gap:12px;
}

.lp-tips-col > div{
padding:12px;
border:1px solid #ccc;
border-radius:6px;
width:calc(50% - 6px);
box-sizing:border-box;
}

.lp-tips-col > div > :first-child{
margin-top:0;
}

.lp-tips-hdg + .lp-tips-col{
margin-top:0;
}


/* ----------------------------------------------------------------
  .lp-tips-hdg
----------------------------------------------------------------- */
.lp-tips-hdg{
margin:28px 0 8px;
display:-webkit-box;
display:flex;
-webkit-box-align:start;
align-items:flex-start;
gap:0 8px;
line-height:1.25;
font-size:16px;
}

.lp-tips-hdg .tag{
padding:4px 8px;
border-radius:4px;
color:#fff;
line-height:1;
background-color:#444;
font-family:Arial;
}

.lp-tips-hdg > span:last-child{
-webkit-box-flex:1;
flex:1;
}

.lp-tips-hdg .tag + span{
margin-top:3px;
}


/* ----------------------------------------------------------------
  .lp-tips-hdg-01
----------------------------------------------------------------- */
.lp-tips-hdg-01{
margin:16px 0 4px;
display:-webkit-box;
display:flex;
-webkit-box-align:start;
align-items:flex-start;
gap:0 4px;
line-height:1.35;
font-size:14px;
}

.lp-tips-hdg-01 .tag{
margin-right:4px;
padding:4px 6px;
border-radius:3px;
line-height:1;
background-color:#e3f2fc;
font-size:12px;
}

.lp-tips-hdg-01 > span:last-child{
-webkit-box-flex:1;
flex:1;
}

.lp-tips-hdg-01 .tag + span{
margin-top:2px;
}


/* ----------------------------------------------------------------
  .lp-tips-link-more
----------------------------------------------------------------- */
.lp-tips-link-more{
margin-top:8px;
text-align:right;
}
