@charset "UTF-8";

/*　共通　*/
.dp-container {
  display: flex;
}

.dp-margin-topbottom-auto{
 margin: auto 0;
}

/*　PC　*/
@media (min-width: 768px) {
  .dp-container {
    display: flex;          
    flex-direction: row;
    align-items: center;    
    padding-top: 16px;
    gap: 15px;
    margin: 0px auto 8px;
  }

  .dp-label-group {
    display: flex;          
    align-items: center;    
    gap: 8px;               
  }

  .dp-font1 {
    font-size: 16px;
    line-height: 1;         
    margin-right: 0px;
    color:#0F0A64;
  }

  .dp-toggle-wrapper {
    display: flex;          
    align-items: center;
  }

  .dp-logo-group {
    margin-left: 16px;
    display: flex;
    align-items: center;    
    gap: 10px;
  }
}

/* スマホ */
@media (max-width: 767px) {

  .dp-container {
    flex-direction: column; 
    padding: 16px 8px;      
    position: relative;
    gap: 2px;               
    border: 1px solid #C6C6C6;
    margin: 0px 16px 8px 16px;
  }
  .sp-border {
    border: 1px solid #C6C6C6;
    width:343px;
    height:88px;
    margin:8px 16px;
    padding:16px;    
  }

  .dp-label-group {
    display: flex;
    color: #000080;
    font-weight: bold;
    font-size: 12px;
    align-items: center;
  }

  .dp-logo-group {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
  }

  /* トグルを中央に配置（上下に食い込ませる） */
  .dp-toggle-wrapper {
    position: absolute;
    right: 8px;
    top: 56%;
    transform: translateY(-50%);
    z-index: 5;
  }
}

/* toggle */
.dp-toggle1 {
    display: inline-block;
    position: relative;
    width: 58px;
    height: 32px;
    border-radius: 32px;
    background-color: #B3B3B3;
    cursor: pointer;
}
.dp-toggle1:has(:checked) {
    background-color: #0f0a64;
}
.dp-toggle1::after {
    position: absolute;
    top: 4px;
    left: 4px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: #fff;
    content: '';
}
.dp-toggle1:has(:checked)::after {
    left: 30px;
}
.dp-toggle1 input {
    display: none;
}

.dp-toggle-disabled {
  cursor: default;
  pointer-events: none;
  background-color: #F5F5F5;
}

.dp-toggle-disabled::after {
    background-color: #C6C6C6;
}

.dp-font1-disabled{
  color: #C6C6C6;
  letter-spacing: 0em;
}

.dp-icon-disabled{
  filter: invert(89%) sepia(0%) saturate(1%) hue-rotate(185deg) brightness(89%) contrast(85%);
}

.dp-mt-6 {
  margin-top: 6px !important;
}

.dp-ml-6 {
  margin-left: 6px !important;
}

.dp-mr-6 {
  margin-right: 6px !important;
}

@media (min-width: 768px) {
.searchBoxArea {
    top: 510px;
  }
}

.airline-panel-container {
    overflow: visible !important;
}
.airline-panel-entire {
    visibility: hidden;
    position: absolute;
    top: 120%;
    background-color: #fff;
    color: #333;
    gap: 10px;
    border: 1px solid #EBEBEB;
    border-radius: 8px;
    transform: none; 
    box-shadow: 0 8px 24px 0 rgba(0, 0, 0, 0.20);
    opacity: 0;
    z-index: 10 !important;
}
.airline-panel-title{
  text-align: left;
  font-weight: 700;
  margin-bottom: 10px;
}
.airline-panel-companies{
  margin-bottom: 10px;
  line-height: 180%;
  letter-spacing: 1px;
}
.airline-panel-notice{
  letter-spacing: 0px; 
  line-height: 150%;
  font-weight: 400;
  }
.airline-panel-container:hover .airline-panel-entire {
    visibility: visible;
    opacity: 1;
}
@media (min-width: 768px) {
  .airline-panel-container {
    position: relative;  
  }
  .airline-panel-container > :first-child {
    margin-top:8px;
  }
  .airline-panel-entire {
    width: 480px;
    height:315px;
    top: 30px;
    left: -334px;
    border: 1px solid #EBEBEB;
    padding: 24px; 
    z-index: 14 !important;  
  }
  .airline-panel-title{
    font-size:16px;
  }
  .airline-panel-companies{
    display: flex;
    flex-wrap: wrap;
    text-align: left;
    justify-content: flex-start;
    align-items: flex-start;
    font-size:14px;
  }
  .airline-panel-companies > div {
    width: 50%;         
    box-sizing: border-box;
  }
  .airline-panel-notice{
    font-size:12px;
    text-align: left;
  }
}

@media (max-width: 767px) {
  .airline-panel-container {
    flex-wrap: nowrap;
  }

  .dp-mt-2{
    margin-top: 2px;
  }

  .airline-panel-container > :first-child {
    transform: translateY(2px);
  }

  .airline-panel-entire {
    width: 343px;
    height: 425px;
    top: 58px; 
    margin: 8px auto; 
    padding:16px;
    right: calc(50dvw);
    transform: translateX(50%);
  }
  .airline-panel-title{
    height:25px;
    font-size:14px;
    letter-spacing: 1px;
  }
  .airline-panel-companies{
    text-align: left;
    line-height: 21.6px;
    font-size:12px;
  }
  .airline-panel-notice{
    height:18px;
    font-size:12px;
    text-align: left;
  }
  .airline-panel-container:hover .airline-panel-entire {
    visibility: hidden;
    opacity: 0;
  }
  .airline-panel-container:hover .airline-panel-entire.is-show {
    visibility: visible;
    opacity: 1;
  }
}

.index .anchor-bar-ticket {
  display: flex;
  position: absolute;
  top: 310px;
  left: 0;
  width: 100%;
  padding: 0 16px 10px;
  overflow-x: auto;
  align-items: center;
  white-space: nowrap;
}

.index .anchor-bar {
  display: flex;
  position: absolute;
  top: 76px;
  left: 0;
  width: 100%;
  padding: 0 16px 10px;
  overflow-x: auto;
  align-items: center;
  white-space: nowrap;
}

.search-box-col2 {
  top: inherit;
  bottom: 40px;
  text-align: left;
}

@media (min-width: 768px) {
  .index .anchor-bar {
    display: flex;
    justify-content: center;
    max-width: 800px;
    left: 50%;
    transform: translateX(-50%);
    padding: 0 0 10px;
    overflow: visible;
    transform-style: preserve-3d;
    z-index: 15 !important;
  }
  .index .fixed .anchor-bar {
    display: flex;
    top: 48px;
  }
  .float-search-box {
        z-index: 15;
  }

}

@media (max-width: 767px) {
  .searchBoxArea.modal-on {
    background: #fff;
    position: fixed;
    top: 0 !important;
    padding: 32px 0 0;
    z-index: 41;
  }

  .index .searchBoxArea {
    width: 100%;
    top:260px;
  }

  .index .anchor-bar {
    max-width: 100%;
    top: auto;
    bottom: -160px;
    padding-top: 8px;
    padding-bottom: 8px;
    background: #0F0A64;
  }
}

@media (max-width: 767px) {
  .carousel-wrap {
    height: 120px;
    overflow: hidden;
    margin-top: 0px;
  }
}

.index .js-slick-slider .hotel-info2 {
  opacity: 0;
  width: 100%;
  height: auto;
  position: absolute;
  bottom: 101px;
}

@media screen and (max-width: 767px) {
  .index .js-slick-slider .hotel-info2 {
    bottom: 48px;
  }
}

@media (min-width: 768px) {
  .index .key-visual .js-slick-slider .slick-counter {
    bottom: 75px;
  }
}

@media (max-width: 767px) {
  .index .searchBoxArea.fixed {
    top: 0;
    background: #fff;
    padding: 0;
    left: 0;
    right: 0;
    -webkit-transform: none;
            transform: none;
    -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.15);
            box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.15);
  }

  .index .js-slick-slider .slick-counter {
    bottom: 28px;
  }
}

@media (min-width: 768px) {
  .frame-wrap {
    margin: 0 auto 16px;
    max-width: 1120px;
  }
}

@media screen and (max-width: 767px) {
  .search-from-area .result-list .wrap {
    margin: 0px;
    padding-top: 0px;
  }
  .search-from-area .result-hotel-list {
    padding-bottom: 0px;
    width: 100%;
    margin: 0;
  }
}

.result-hotel-none .result-hotel-none-dp {
  font-weight: 400;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0;
  color: #757575;
}