:root {
   --key-color:#E84567;
   color:#333;
   font-size:16px;
}
main{
    font-size:16px;
}
section{
    padding:60px 0;
}
.d-flex{display: flex;flex-wrap:wrap;}
.content-width{
    max-width: 1100px;
    margin:auto;
}

main{
    background:#EDE6D8;
}
.main-title img {
    width: 100%;
}
.lead-text{
    text-align: center;
    margin:24px auto 0;
    line-height: 170%;
}

.fb-ttl-header {
    margin-bottom: 40px;
    font-weight: 700;
    color:var(--key-color);
}

.wowride h2{
    font-size:30px;
    font-weight:700;
    margin-bottom:30px;
}

@media screen and (max-width:768px){
    section{
        padding:30px 0;
    }
    .content-width{
        padding:0 20px;
    }
    .PC{
        display: none;
    }
    .lead-text{
        width:100%;
        font-size: 14px;
        text-align: left;
    }
    .wowride h2{
        font-size:20px;
        margin-bottom: 16px;
    }
}
@media screen and (min-width:769px){
    .SP{
        display: none;
    }
}
.introduction .content-width{
    position:relative;
}
.intro-img{
    width:48%;
}
.slider-for{
    margin-bottom:12px;
}
.slider-nav img{
    margin:0 4px;
    cursor: pointer;
}
.intro-text{
    position:absolute;
    width:58%;
    border-radius: 21px;
    border: 3px solid #524A61;
    background: #FFF;
    padding:26px;
    right: 0;
    top:10%;
}
.intro-text h2{
    color: #9CC813;
}

@media screen and (max-width:768px){
    .intro-img,.intro-text{
        position:relative;
        width:100%;
    }
    .intro-text{
        padding:20px;
        margin-top:16px;
    }
}
.tour-time{
    background:#9CC813;
}
.tour-time h2{
    text-align: center;
}
.tour-time h2,.tour-time-lead{
    color:#FFF;
    text-align: center;
}
.tour-time-wrap{
    border-radius: 21px;
    border: 3px solid #524A61;
    background: #FFF;
    padding:26px;
    margin-top:30px;
}
.tour-price{
    justify-content: center;
    font-weight: 700;
    font-size: 20px;
    gap:20px;
    margin-bottom:30px;
}
.tour-price p{
    padding:8px 30px;
}
.tour-price p:first-child{
    border-right:1px solid #999;
}
.tour-price span{
    font-size:16px;
    display: block;
    text-align: center;
}
.tour-schedule{
    justify-content: space-between;
}
.tour-schedule-cont{
    flex:0 0 48%;
}
.tour-schedule-cont h3{
    text-align: center;
    background: #595472;
    color:#FFF;
    font-size:18px;
    padding:8px 0;
    font-weight: 600;
}
.tour-schedule-cont h3 span{
    border:1px solid #FFF;
    padding:0 4px;
    margin-right:8px;
}
.tour-schedule-inner{
    background: #F4F4F4;
    padding:20px;
}
.tour-schedule-inner h4{
    font-weight: bold;
    margin-bottom:8px;
}
.tour-schedule-inner ul{
    display: flex;
    flex-wrap:wrap;
    gap:16px;
}
.tour-schedule-inner ul li{
    flex:0 0 calc((100% - 32px) / 3);
}
.tour-schedule-inner ul a{
    background: #FF6B6B;
    border:1px solid #FF6B6B;
    color:#FFF;
    font-weight: 700;
    position:relative;
    padding:8px 16px;
    display: block;
    text-align: center;
    transition:all .5s ease-in-out;
}
.tour-schedule-inner ul a:hover{
    color:#FF6B6B;
    background:#FFF;
}
.tour-schedule-inner ul a::before{
    position:absolute;
    content:'';
    border-top:2px solid #FFF;
    border-right: 2px solid #FFF;
    width: 8px;
    height: 8px;
    transform:rotate(45deg);
    top:0;
    bottom:0;
    right:8px;
    margin:auto;
}
.tour-schedule-list:last-child{
    margin-top:20px;
}
@media screen and (max-width:768px){
    .tour-price{
        font-size: inherit;
    }
    .tour-time-wrap{
        padding:10px;
    }
    .tour-price p{
        padding:0 8px;
    }
    .tour-price span{
        font-size: 12px;
    }
    .tour-schedule {
        flex-direction: column;
    }
    .tour-schedule-cont h3{
        font-size:16px;
    }
    .tour-schedule-inner{
        padding:10px;
    }
    .tour-schedule-inner ul{
        gap: 8px;
    }
    .tour-schedule-inner ul li {
        flex: 0 0 calc((100% - 16px) / 3);
    }
    .tour-schedule-inner ul a{
        padding: 8px 14px 8px 8px;
    }
    .tour-schedule-cont:last-child{
        margin-top:16px;
    }
}
.route h2{
    text-align: center;
}

.faq h2{
    text-align: center;
}
.faq-cont{
    background:#FFF;
    border-radius: 20px;
    border: 3px solid #595472;
}
.faq-cont dl{
    border-bottom:3px solid #595472;
    padding:20px;
}
.faq-cont dl:last-child{
    border-bottom:none;
}
.faq-cont dt{
    font-size: 18px;
    font-weight: 700;
    margin-bottom:8px;
}
.faq-cont dt,.faq-cont dd{
    position:relative;
    padding-left:24px;
}
.faq-cont dt::before,.faq-cont dd::before{
    position:absolute;
    left:0;
}
.faq-cont dt::before{
    content:'Q.';
}
.faq-cont dd::before{
    content:'A.';
    font-weight: bold;
    font-size:18px;
}
.bus-stop h2{
    text-align: center;
}
.bus-stop-wrap{
    justify-content: space-between;
}
.bus-stop-cont{
    background:#FFF;
    flex:0 0 48%;
    padding:20px;
    border-radius: 20px;
    border: 3px solid #595472;
}
.bus-stop-cont img{
    width: 100%;
}
.bus-stop-cont h3{
    text-align: center;
    font-weight: 700;
    margin-bottom:8px;
    font-size:1.2em;
}
@media screen and (max-width:768px){
    .bus-stop-wrap{
        flex-direction: column;
    }
    .bus-stop-cont:last-child{
        margin-top:16px;
    }
}