/* [ MEMO ] ---------------------------------

  @ PeachTravel 新春大感謝祭SALE用CSS

---------------------------------------------------　*/  

.pt__mv-dateBox{
  background: #040002;
  color: #fff;
  padding: 16px 24px 32px;
}

.pt__mv-dateBox b{
    font-size: 20px;
}
.ptt_AreaName{
    background-image: linear-gradient(90deg, #ce2028, #cb1f27);
    text-align: center;
    padding: 8px 0;
    margin-bottom: 16px;
    color: #fff;
    border-bottom: 1px solid #dfc779;
    border-top: 1px solid #bbb489;
    box-shadow: 0 0px 0px 2px #ce2028;
}

.pt__special {
    background: var(--clr-sec8) url(/upload/tenant_1/pt2026_bg1_pc.webp) no-repeat bottom;
    background-size: 100% auto;
    padding: 56px 32px 72px;
    line-height: 180%;
    color: #fff;
}
.pt__special--btn {
    background: #963887 url(/upload/tenant_1/peachtravel_bg3.webp) no-repeat;
    background-size: 100% auto;
    padding: 16px 0;
    border-radius: 8px;
    text-align: center;
    margin: 32px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #fff;
    box-shadow: 0 0 0px 2px #963888;
}
.pt__special--btn p{
  display: flex;
  flex-wrap: wrap;
}
.pt__special--btn::after{
  font-weight: 900;
  font-family: 'Font Awesome 5 Free';
  content: "\f067";
}
.pt__special--btn.open::after{
  font-weight: 900;
  font-family: 'Font Awesome 5 Free';
  content: "\f068";
}

.pt__special--btn span {
    display: block;
    width: 100%;
}
.pt__special--btn span:nth-of-type(1){
  font-size:16px;
}
.pt__special--btn span:nth-of-type(2){
  font-size:20px;
}
.pt__sp-ttl{
    font-size: 20px;
    font-weight: 600;
    border-left: 2px solid #f3ecbe;
    padding-left: 16px;
    line-height: 180%;
    margin-bottom: 24px;
}
.pt__sp-txt{
  font-size:18px;
}

.pt__medama{
  background:url(/upload/tenant_1/peachtravel_2026sale_bg1.webp);
  background-size:300% auto;
}
.pt__ttl {
    padding:0;
    margin: 0 24px;
    position: relative;
}
.pt__ttl-inr {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    top: 52.5%;
    left: 50%;
    position: absolute;
    transform: translate(-50%, -50%);
    width: 100%;
    text-align: center;
}
.pt__ttl span{
  display: block;
  width: 100%;
  color:#F0E1C4;
}
.pt__ttl b {
    color: #fff;
    font-size: 20px;
      width: 100%;
}
.pt__medama .splide__slide {
    border: 4px solid #fff;
    background: url(/upload/tenant_1/hatsuyume2024_bg_medama.webp) top left repeat;
    padding: 16px;
    border-radius: 8px;
}
.pt__medama .pt__areaIco {
    position: absolute;
    background: none !important;
    top: -50px;
    right: -15px;
    display: inline-block;
    width: auto;
    width: 40%;
    height: auto;
}
.splide__track{
  /* overflow:inherit; */
}
.pt__medama .splide__slide > div{
  background: #fff;
      border-radius: 4px;
      height:100%;
}
.pt__medama .ptt-btn {
    background: #c6000a;
}
.slide_medama {
    margin: 24px 24px 160px !important;
}

.pt__medama .pt__ttl {
    margin: 0 24px;
}
.pt__area-dom {
    background: var(--clr-sec8);
}
.pt__area-dom::before{
    content: "";
    width: 100%;
    height: 140px;
    display: block;
    background: url(/upload/tenant_1/peachtravel_deco2.webp) no-repeat;
    position: absolute;
    top: -61px;
    left: -25%;
    background-size: 60% auto;
    z-index: 1;
}
.pt__area-world {
    background: var(--clr-sec1);
}
.pt__area-world::before{
    content: "";
    width: 100%;
    height: 140px;
    display: block;
    background: url(/upload/tenant_1/peachtravel_deco2.webp) no-repeat 133% top;
    position: absolute;
    top: -105px;
    right: 0;
    background-size: 60% auto;
    z-index: 1;
}

.pt__searchbox {
    background: url(/upload/tenant_1/peachtravel_2026sale_bg2.webp) no-repeat #EEE6C3;
    background-size: auto 100%;
    padding: 56px 0 100px;
}
.pt__area-world .ptt-btn {
    color:#000;
    background: var(--clr-sec6);
}
.pt__selDep,
.pt__selArea{
    background: var(--clr-prm) url(/upload/tenant_1/peachtravel_bg3.webp) no-repeat;
    padding: 64px 24px 40px;
    width: calc(100% - 24px);
    border-radius: 8px;
    background-size: 100% auto;
    position: fixed;
    z-index: 100;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
[class*=pt__sel] .pt__switch label:has(:checked) {
    background-color: var(--clr-sec2);
}
[class*=pt__sel] .pt__switch label:has(:checked)::after {
    background-color: var(--clr-sec2);
}
.pt__selDep-ttl2{
    font-size: 20px;
    font-weight: 600;
    color: #fff;
    border-left: 8px solid var(--clr-sec2);
    padding: 8px 0 8px 16px;
    margin: 16px 0;
}
.pt__selDep-ttl{
    font-size: 28px;
    color: #fff;
    font-weight: 800;
    text-align: center;
}
[class*=pt__sel] .pt__switch{
  margin:0;
}
.pt__selDep-Box,
.pt__selArea-Box{
    background: #fff;
    overflow: hidden;
    border-radius: 8px;
    overflow-y: scroll;
    max-height: 35dvh;
}
.pt__selDep-Box p,
.pt__selArea-Box p,
.pt__selArea-Box a{
  padding:16px;
  font-size:18px;
    width: 100%;
    display: block;
  
}
.pt__selDep-Box p.sel,
.pt__selArea-Box p.sel{
  font-weight: bold;
  background: var(--clr-sec6);
}
.pt__selDep-Box p + p,
.pt__selArea-Box p + p,
.pt__selArea-Box a + a{
  border-top:1px solid #ccc;
}
.pt__clsBtn{
    background: #111;
    color: #fff;
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: center;
    padding: 16px 0;
    border-radius: 8px;
    margin-top: 40px;
}
[class*=pt__sel] img{
    width: 35%;
    margin: 0 auto;
}
[class*=pt__sel] .dom{
  margin: 0 -24px;
}
.dom .pt__area-ttl::before {
    content: "";
    width: 100%;
    height: 100px;
    display: block;
    background: url(/upload/tenant_1/peachtravel_maru.webp) no-repeat;
    position: absolute;
      top: -92px;
    left: 0;
    background-size: 100% auto;
}
.world .pt__area-ttl::before {
    content: "";
    width: 100%;
    height: 100px;
    display: block;
    background: url(/upload/tenant_1/peachtravel_maru2.webp) no-repeat;
    position: absolute;
    top: -68px;
    left: 0;
    background-size: 100% auto;
}
.pt__nv {
    background: #000 url(/upload/tenant_1/peachtravel_bg3.webp) no-repeat;
    background-size: 100% auto;
}
#pt__depBtn{
    background: #000;
    opacity: 1;
    color: #fff;
    padding: 16px;
    border: 1px solid #42381F;
    box-shadow: 0 0 0px 3px #000;
    border-radius: 8px;
    position: fixed;
    bottom: 96px;
    right: 16px;
    z-index: 3;
    font-size: 14px;
}
.kokunaiBox,
.kaigaiBox{
    background: #f6e6f1;
    border-radius: 8px;
    padding: 24px 16px 16px;
    color: #000;
    font-size: 16px;
    margin-top: 24px;
}
.kokunaiBox h5,
.kaigaiBox h5{
    font-size: 18px;
    text-align: center;
    margin-bottom: 24px;
}
.kokunaiBox h5::before,
.kaigaiBox h5::before{
  content:"＼　";
}
.kokunaiBox h5::after,
.kaigaiBox h5::after{
  content:"　／";
}
.pt__special-box{
  display: none;
}
.pt__special-box li {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid #9a308b4f;
}
.pt__special-box li:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 8px;
}
.pt__special-box li .new{
    background:var(--clr-sec7);
    display: inline-block;
    padding: 8px 16px;
    border-radius: 8px;
    margin-bottom: 8px;
}
.pt__special-box li .img{
  width: 15%;
}
.pt__special-box li .small{
    font-size: 14px;
    line-height: 160%;
    display: block;
}
.pt__special-box li .txt {
    width: calc(100% - 15% - 16px);
}
.hoken a {
    color:#fff;
    background: #01a0b7;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 16px;
    border-radius: 54px;
    margin: 24px 0;
    width: 100%;
    position: relative;
}
.hoken a::after {
      right: 24px;
    position: absolute;
    font-weight: 900;
    font-family: 'Font Awesome 5 Free';
    content: "\f35d";
}
.hoken a div{
  text-align: center;
}
.hoken a span{
  display: block;
}
.pt__area-dom-box,
.pt__area-world-box{
    background: #fff url(/upload/tenant_1/hatsuyume2024_bg_tour.webp) bottom left no-repeat;
    padding: 40px 24px 24px;
    border-radius: 16px;
}
.pt__area-dom-box .splide__slide,
.pt__area-world-box .splide__slide{
    background: #fff;
    border: 2px solid #000000;
    border-radius: 0;
}
.pt__area-dom-box .splide__slide > div{
      background: #fff;
      border-radius: 4px;
}
.pt__area-dom--btn{
  background:#000;
  color:#fff;
}
.splide__arrow:disabled{
  opacity: 1;
}
.pt__area-ttl2 span:nth-of-type(1){
    display: block;
    color: #f0e1c2;
    font-size: 16px;
}
.pt__area-ttl2 span:nth-of-type(2){
    display: block;
    font-size:20px;
}
.pt__selArea .pt__switch {
    margin-bottom: 24px;
}

@media (min-width: 768px){
  .pt__selDep,
  .pt__selArea{
    width: 600px;
  }
  .pt__selArea .pt__switch{
    width: 100%;
  }
  .pt__selArea .pt__switch label {
      padding: 16px;
  }
  .pt__mv{
    background: #d8c093;
  }
  .pt__mv-on{
    position: absolute;
    width: 800px;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  .peach2026_top .pt__mv-on{
        width: 590px;
        top: 50%;
  }
  .pt__sp-ttl {
        font-size: 32px;
        text-align: center;
        border: none;
        color: #f6ea9a;
  }
  .pt__sp-ttl span{
    display: inline-block;
  }
  .pt__sp-txt {
    text-align: center;
      font-size: 22px;
      line-height: 180%;
  }  
    .pt__special > div {
        width: 700px;
        margin: 0 auto;
        padding: 64px 0 160px;
    }
  .pt__special-box{
    gap: 24px;
    align-items: flex-start;
  }
   .pt__special-box.on{
      display: flex !important;
   }
   .pt__medama > div,
   .pt__area--inr,
   .pt__area-world-inr,
   .pt__searchbox-inr,
   .pt__faqWrap{
        width: 1100px;
        margin: 0 auto !important;
    }
    .pt__ttl-inr{
      top: 49.5%;
    }
    .pt__ttl img{
      width: 100%;
      margin: 0 auto;
    }
    .pt__ttl b{font-size:30px;}
    .pt__ttl span{font-size:20px;}
    .pt__medama .pt__ttl {
        margin: 0 auto;
    }   
  .pt__area-dom::before {
      content: "";
      width: 50%;
      height: 240px;
      display: block;
      background: url(/upload/tenant_1/peachtravel_deco2.webp) no-repeat;
      position: absolute;
        top: -2%;
        left: -50px;
        background-size: 60% auto;
        z-index: 0;
    }   
  .pt__area-world::before {
      content: "";
      width: 50%;
      height: 240px;
      display: block;
      background: url(/upload/tenant_1/peachtravel_deco2.webp) no-repeat 133% top;
      position: absolute;
      top: -65px;
      right: 0px;
      background-size: 60% auto;
      z-index: 0;
  }
  .dom .pt__area-ttl::before,
  .world .pt__area-ttl::before{
    content:none;
  }
  .pt__area-ttl b {
      font-size: 50px;
  }    
  .pt__area-ttl span {
      font-size: 25px;
  }
  .dom .pt__area-ttl {
      background: url(/upload/tenant_1/peachtravel_2026sale_jp.webp) no-repeat top center;
      background-size: 15% auto;
  }
  .pt__area-dom {
      padding: 80px 0;
      background: inherit;
  }
  .pt__area-world{
      padding: 80px 0;
      background:inherit;
  }
  .world .pt__area-ttl {
      background: url(/upload/tenant_1/peachtravel_2026sale_os.webp) no-repeat top center;
      text-shadow: 0 1px 3px #02273d99;
      background-size: 16% auto;
  }
  .pt__area-dom-box{
    padding:80px;
    background: #8e599e url(/upload/tenant_1/hatsuyume2024_bg_tour.webp) bottom left no-repeat;
  }
   .pt__area-world-box{
    padding:80px;
    background: #2469aa url(/upload/tenant_1/hatsuyume2024_bg_tour.webp) bottom left no-repeat;
  }
  .pt__area-dom--btn {
      background: #000;
      color: #fff;
      font-size: 24px;
      padding: 32px 0;
      border-radius: 64px;
      width: 60%;
      margin: 80px auto 0;
  }  
  .pt__special--btn span:nth-of-type(1) {
      font-size: 20px;
  }
  .pt__special--btn span:nth-of-type(2) {
      font-size: 26px;
  }  
  .pt__special--btn{
    padding: 24px 0;
  }
  .pt__switch{
    width: 700px;
    margin: 56px auto;
    font-size: 22px;
  }
  .pt__switch span {
      text-align: center;
  }
  .pt__switch label{
    padding: 26px 16px;
  }
  .searchBox_wbf{
    width: 700px;
  }
  .pt__medama {
      background-image:none;
      padding-bottom:0;
  }  
  .pt__medama .splide__slide{
    padding:0;
  }
  .slide_medama {
      background: url(/upload/tenant_1/hatsuyume2024_bg_medama.webp) top left repeat;
      padding:80px 40px 40px;
      border-radius: 24px;
  }
  .pt-allWrap{
        background: #F5F3EA url(/upload/tenant_1/pt2026_bg2_pc.webp) repeat-y;
        background-size: 100%;
  }
  .pt__ttl {
      width: 1100px;
      margin: 0 auto;
  }
  .pt__area-world .pt__ttl-inr,
  .pt__area-dom .pt__ttl-inr{
    top: 52.5%;
  }
  .pt__searchbox {
      width: 1100px;
      margin: 0 auto;
      background: #932c854d;
      border-radius: 40px;
      padding: 40px;
  }
  .pt__searchbox .pt__ttl{
    width: 100%;
  }
  .pt__faq{
    background:inherit;
  }
  .pt__area-ttl2 span:nth-of-type(1){
    font-size:18px;
  }
  .pt__area-ttl2 span:nth-of-type(2) {
      font-size: 24px;
  }
  .peach2026_area .pt__area-dom-box {
    padding: 80px 80px 120px;
  }
  .peach2026_area .pt__area-os-box {
    padding: 80px 80px 120px;
  }
  
}
@media (max-width: 768px){
  .pt__area-dom {
      padding-top: 92px;
  }
  .peach2026_area .splide__arrow {
      bottom: -100px;
      top: inherit;
  }
  .peach2026_area .splide__arrow {
      bottom: -100px;
      top: inherit;
  }
  .peach2026_area .splide__pagination {
      bottom: -75px;
  }  
  .peach2026_area .pt__area-world{
      padding-top: 92px;
      background:#8c5a9c;
  }
  .peach2026_area .dom .pt__area-ttl{display: none;}
  
}
