@charset "UTF-8";
/* CSS Document */
.common_sub_contents .column {
    background-color: #f8f8f8;
}
.wrapper{
    margin-bottom: 12rem;
    scroll-margin-top: 10rem;
}
.wrapper>.inner{
    width: min(80%,1400px);
    margin: 0 auto;
}
.wrapper>.inner .column{
    display: flex;
}
.wrapper>.inner .column .section_title{
    width: 28%;
}
.wrapper>.inner .column .container{
    width: 72%;
}
.title_image{
    margin-bottom: 12rem;
}
.main .bg{
    border-radius: 120px 0 0 0;
    overflow: hidden;
    background-color: #f8f8f8;
    padding-top: 12rem;
}


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

  ページ内リンク

---------------------------------*/
.scroll_link{
    margin-bottom: 12rem;
}
.scroll_link ul{
    display: flex;
    flex-wrap: wrap;
    gap: 4%;
}
.scroll_link ul li{
    width: calc(25% - 3%);
    margin-bottom: 2rem;
}
.scroll_link .scroll_link_btn{
    display: block;
    font-size: clamp(14px,1.8rem,17px);
    padding: 1.8rem 0;
    position: relative;
    border-bottom: solid 2px #01d765;
    transition: 0.35s;
}
.scroll_link .scroll_link_btn:hover{
    border-bottom: solid 2px #04ed70;
}
.scroll_link .scroll_link_btn .arrow{
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: min(3.7rem,38px);
    height: min(3.7rem,38px);
    border-radius: 50%;
    background-color: #01d765;
    transition: 0.35s;
}
.scroll_link .scroll_link_btn:hover .arrow{
    background-color: #04ed70;
}
.scroll_link .scroll_link_btn .arrow::before{
    content: '';
    width: min(1.7rem,16px);
    height: min(1.7rem,16px);
    display: block;
    overflow: hidden;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    transition: 0.35s;
    background: url("../img/taxi/arrow_down.svg")center top/100% auto no-repeat;
}
.scroll_link .scroll_link_btn .arrow::after{
    content: '';
    width: min(1.7rem,16px);
    height: min(1.7rem,16px);
    display: block;
    overflow: hidden;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    transition: 0.35s;
    background: url("../img/taxi/arrow_down.svg")center top -4rem/100% auto no-repeat;
}
.scroll_link .scroll_link_btn:hover .arrow::before{
    background: url("../img/taxi/arrow_down.svg")center top 4rem/auto no-repeat;
}
.scroll_link .scroll_link_btn:hover .arrow::after{
    background: url("../img/taxi/arrow_down.svg")center top/100% auto no-repeat;
}
@media print, screen and (max-width: 1200px){
    .scroll_link ul li:nth-of-type(3) .scroll_link_btn,
    .scroll_link ul li:last-of-type .scroll_link_btn{
        font-size: clamp(12px,1.7rem,17px);
    }
}
@media print, screen and (max-width: 1024px){
    .scroll_link ul{
        gap: 3%;
    }
    .scroll_link ul li{
        width: calc(33.333% - 2%);
    }
    .scroll_link .scroll_link_btn{
        padding: 2rem 0;
    }
    .scroll_link ul li:nth-of-type(3) .scroll_link_btn,
    .scroll_link ul li:last-of-type .scroll_link_btn{
        font-size: clamp(14px,1.8rem,17px);
    }
}


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

  お申し込み方法

---------------------------------*/
.wrapper.apply .container .image{
    border-radius: 30px;
    overflow: hidden;
    margin-bottom: 3rem;
}
.wrapper.apply .container .text{
    font-size: clamp(15px,1.8rem,18px);
    margin-bottom: 3rem;
}
.wrapper.apply .container .text p{
    padding-bottom: 1.6rem;
}
.wrapper.apply .container .text p:last-of-type{
    padding-bottom: 0;
}
.wrapper.apply .container .require{
    padding-bottom: 1.6rem;
}
.wrapper.apply .container .require li{
    margin-bottom: 1rem;
}
.wrapper.apply .container .require li:first-of-type{
    display: flex;
    gap: 1rem;
}
.wrapper.apply .container .require li:first-of-type div{
    width: calc(50% - 0.5rem);
}
.wrapper.apply .container .require li:last-of-type{
    margin-bottom: 0;
}
.wrapper.apply .container .require li div{
    background-color: #F6FAEF;
    border-radius: 10px;
    padding: 2rem 2rem 2rem 35px;
    line-height: 1;
    position: relative;
}
.wrapper.apply .container .require li div::before{
    content: '';
    position: absolute;
    left: 17px;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    background-color: #01d765;
    border-radius: 50%;
}
.wrapper.apply .tel_callsenter{
    display: block;
    background-color: #F7F7F7;
    border-radius: 30px;
    padding: 3rem;
    text-align: center;
}
.wrapper.apply .tel_callsenter h4{
    font-size: clamp(16px,2rem,22px);
    font-weight: 700;
    line-height: 1.5;
    width: fit-content;
    margin: 0 auto;
    padding-left: 3rem;
    background: url(../img/common/tel.png)left center/2rem auto no-repeat;
    margin-bottom: 1rem;
}
.wrapper.apply .tel_callsenter p{
    font-size: clamp(22px,4rem,38px);
    color: #01d765;
    line-height: 1;
    padding-bottom: 1.3rem;
}
.wrapper.apply .tel_callsenter span{
    line-height: 1;
    font-size: clamp(12px,1.5rem,14px);
    color: #747474;
    padding: 3px 0;
    display: block;
    border: solid 1px #747474;
    width: min(100%,250px);
    margin: 0 auto;
    border-radius: 20px;
    background-color: #fff;
}


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

  料金案内

---------------------------------*/
.wrapper.price .container .fee{
    margin-bottom: 3rem;
}
.wrapper.price .container .fee h4{
    background-color: #01d765;
    color: #fff;
    font-weight: 700;
    font-size: clamp(15px,2rem,20px);
    padding: 1rem 2.5rem;
    border-radius: 5rem;
    margin-bottom: 1.5rem;
}
.wrapper.price .container .fee table{
    width: 100%;
    font-size: clamp(15px,1.8rem,18px);
}
.wrapper.price .container .fee table tr th,.wrapper.price .container .fee table tr td{
    width: 50%;
    border-collapse: collapse;
    border: 1px solid #01d765;
    padding: 1.8rem 2rem;
    line-height: 1.4;
}
.wrapper.price .container .fee table tr th{
    text-align: left;
    background-color: #F7F7F7;
}
.wrapper.price .container .fee table tr:first-of-type th{
    font-weight: 700;
    text-align: center;
}
.wrapper.price .container .fee table tr:last-of-type th{
    font-weight: 700;
}
.wrapper.price .container .fee table tr th span{
    font-size: clamp(13px,1.3rem,15px);
    line-height: 2rem;
}
.wrapper.price .container .fee table tr td{
    text-align: center;
}
.wrapper.price .container .extra{
    font-size: clamp(15px,1.8rem,17px);
}
.wrapper.price .container .extra .plus{
    padding-left: 25px;
    margin-bottom: 1rem;
    background: url("../img/bus/plus_icon.png")left center/15px auto no-repeat;
}
.wrapper.price .container .extra ul{
    padding-left: 25px;
}
.wrapper.price .container .extra ul li{
    margin-bottom: 0.4rem;
    padding-left: 16px;
    position: relative;
}
.wrapper.price .container .extra ul li::before{
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #01d765;
}


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

  送迎バス・シャトルバス

---------------------------------*/
.wrapper.shuttlebus .section_title h3{
    font-size: clamp(17px,2.2rem,24px);
}
.wrapper.shuttlebus .section_title h3>span{
    line-height: 1.5;
}
.wrapper.shuttlebus .container .text{
    margin-bottom: 3rem;
    font-size: clamp(15px,1.8rem,18px);
}
.wrapper.shuttlebus .container .example .box{
    background-color: #F7F7F7;
    border-radius: 30px;
    padding: 3rem 4rem;
    font-size: clamp(15px,1.8rem,18px);
    margin-bottom: 3rem;
}
.wrapper.shuttlebus .container .example .box:last-of-type{
    margin-bottom: 0;
}
.wrapper.shuttlebus .container .example .box h4{
    font-size: clamp(15px,1.9rem,20px);
    font-weight: 700;
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid #01d765;
}


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

  ロケバスレンタル

---------------------------------*/
.wrapper.locationbus .container{
    font-size: clamp(15px,1.8rem,18px);
}


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

  路線バス

---------------------------------*/
.wrapper.localbus .container .text{
    font-size: clamp(15px,1.8rem,18px);
    padding-bottom: 2rem;
}
.wrapper.localbus .container .link a{
    display: block;
    width: fit-content;
    font-size: clamp(15px,1.8rem,18px);
    color: #01d765;
    padding-right: 22px;
    padding-bottom: 5px;
    border-bottom: solid 1px #01d765;
    background: url(../img/common/external.png)right center/14px auto no-repeat;
}
.wrapper.localbus .container .link a:hover{
    opacity: 0.6;
}
.wrapper.localbus .container .link a:first-of-type{
    margin-bottom: 2rem;
}


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

  輸送の安全に関する基本の方針

---------------------------------*/
.wrapper.safety{
    margin-bottom: 14rem;
}
.wrapper.safety .section_title h3 span {
    line-height: 1.4;
}
.wrapper.safety .container .policy_01{
    margin-bottom: 5rem;
}
.wrapper.safety .container h4{
    font-size: clamp(15px,2rem,20px);
    font-weight: 700;
    color: #01d765;
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid #01d765;
    line-height: 1;
}
.wrapper.safety .container .text{
    font-size: clamp(15px,1.8rem,18px);
}
.wrapper.safety .container .policy_01 .text,.wrapper.safety .container .policy_02 .text p{
    padding-bottom: 1.5rem;
}
.wrapper.safety .container .policy_01 ul{
    border-left: solid 1px #dbdbdb;
    padding-left: 2rem;
}
.wrapper.safety .container .policy_01 ul li{
    padding-left: 40px;
    position: relative;
    margin-bottom: 1rem;
    font-size: clamp(15px,1.8rem,18px);
}
.wrapper.safety .container .policy_01 ul li::before{
    content: '1';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    text-align: center;
    line-height: 24px;
    border-radius: 50%;
    background-color: #01d765;
    font-family: 'Mulish', sans-serif;
    font-weight: 800;
    color: #fff;
    font-size: 16px;
}
.wrapper.safety .container .policy_01 ul li:nth-of-type(2)::before{
    content: '2';
}
.wrapper.safety .container .policy_01 ul li:nth-of-type(3)::before{
    content: '3';
}


@media print, screen and (max-width: 1100px) {
    .wrapper>.inner .column{
        display: block;
    }
    .wrapper>.inner .column .section_title{
        margin-bottom: 5rem;
        width: 100%;
    }
    .wrapper>.inner .column .container{
        width: 100%;
    }
}


@media print, screen and (max-width: 760px) {
    .wrapper{
        margin-bottom: 14rem;
    }
    .wrapper>.inner{
        width: 100%;
        padding: 0 5rem;
    }
    .wrapper>.inner .column .section_title{
        margin-bottom: 6rem;
    }
    .main .bg{
        border-radius: 12rem 0 0 0;
        padding-top: 14rem;
    }
    
    
    /*---------------------------------

      ページ内リンク

    ---------------------------------*/
    .scroll_link ul{
        gap: 6%;
        align-items: flex-end;
    }
    .scroll_link ul li{
        width: calc(50% - 3%);
        margin-bottom: 2.8rem;
    }
    .scroll_link .scroll_link_btn{
        font-size: 3.1rem;
        padding: 2.5rem 0;
        font-weight: 600;
    }
    .scroll_link ul li:last-of-type .scroll_link_btn{
        line-height: 1.3;
        font-size: 3rem;
    }
    .scroll_link .scroll_link_btn .arrow{
        width: 5.2rem;
        height: 5.2rem;
    }
    .scroll_link .scroll_link_btn .arrow::before,
    .scroll_link .scroll_link_btn .arrow::after{
        width: 2.4rem;
        height: 2.4rem;
    }
    .scroll_link ul li:nth-of-type(3) .scroll_link_btn,
    .scroll_link ul li:last-of-type .scroll_link_btn{
        font-size: 3.1rem;
        line-height: 1.3;
    }
    
    
    /*---------------------------------

      お申し込み方法

    ---------------------------------*/
    .wrapper.apply .container .image{
        border-radius: 20px;
    }
    .wrapper.apply .container .text p{
        font-size: 3.2rem;
        padding-bottom: 3rem;
    }
    .wrapper.apply .container .require{
        padding-bottom: 3rem;
    }
    .wrapper.apply .container .require li div{
        border-radius: 6px;
        padding: 3rem 3rem 3rem 35px;
        line-height: 1.4;
    }
    .wrapper.apply .container .require li div::before{
        top: 23px;
        transform: none;
    }
    .wrapper.apply .tel_callsenter{
        border-radius: 25px;
        padding: 5rem 0;
    }
    .wrapper.apply .tel_callsenter h4{
        font-size: clamp(14px,3.4rem,22px);
        padding-left: 1.5em;
        background: url(../img/common/tel.png)left center/1em no-repeat;
        margin-bottom: 2rem;
    }
    .wrapper.apply .tel_callsenter p{
        font-size: clamp(22px,6rem,38px);
        padding-bottom: 2.4rem;
    }
    
    
    /*---------------------------------

      料金案内

    ---------------------------------*/
    .wrapper.price .container .fee{
        margin-bottom: 4rem;
    }
    .wrapper.price .container .fee h4{
        font-size: 3.8rem;
        padding: 2rem 4rem;
        border-radius: 10rem;
        margin-bottom: 2rem;
    }
    .wrapper.price .container .fee table{
        font-size: 3.4rem;
    }
    .wrapper.price .container .fee table tr th,
    .wrapper.price .container .fee table tr td{
        padding: 3rem;
    }
    .wrapper.price .container .fee table tr th{
        width: 65%;
    }
    .wrapper.price .container .fee table tr td{
        width: 35%;
    }
    .wrapper.price .container .fee table tr th span{
        font-size: 2.8rem;
        display: inline-block;
    }
    .wrapper.price .container .extra{
        font-size: 3.2rem;
    }


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

      送迎バス・シャトルバス

    ---------------------------------*/
    .wrapper.shuttlebus>.inner .column .section_title{
        margin-bottom: 5rem;
    }
    .wrapper.shuttlebus .section_title h3{
        font-size: 4.4rem;
    }
    .wrapper.shuttlebus .container .text{
        font-size: 3.2rem;
    }
    .wrapper.shuttlebus .container .example .box {
        border-radius: 20px;
        padding: 5rem;
        line-height: 1.8;
        font-size: 3.1rem;
    }
    .wrapper.shuttlebus .container .example .box h4{
        font-size: 3.4rem;
        line-height: 1.6;
        padding-bottom: 2rem;
        margin-bottom: 2rem;
    }
    
    
    /*---------------------------------

      ロケバス

    ---------------------------------*/
    .wrapper.locationbus .container{
        font-size: 3.2rem;
    }
    
    
    /*---------------------------------

      路線バス

    ---------------------------------*/
    .wrapper.localbus .container .text{
        font-size: 3.2rem;
        padding-bottom: 4rem;
    }
    .wrapper.localbus .container .link a{
        font-size: 3rem;
        font-weight: 600;
        background: url(../img/common/external.png)right top 4px/14px auto no-repeat;
    }
    .wrapper.localbus .container .link a:first-of-type{
        margin-bottom: 3rem;
    }
    
    
    /*---------------------------------

      基本方針

    ---------------------------------*/
    .wrapper.safety .container .policy_01{
        margin-bottom: 7rem;
    }
    .wrapper.safety .container h4{
        font-size: 3.4rem;
        padding-bottom: 2rem;
        margin-bottom: 2rem;
    }
    .wrapper.safety .container .policy_01 .text,
    .wrapper.safety .container .policy_02 .text p{
        font-size: 3.2rem;
        padding-bottom: 3.4rem;
    }
    .wrapper.safety .container .policy_02 .text p:last-of-type{
        padding-bottom: 0;
    }
    .wrapper.safety .container .policy_01 ul{
        padding-left: 0;
        border-left: none;
    }
    .wrapper.safety .container .policy_01 ul li{
        font-size: 3.2rem;
        line-height: 1.6;
        margin-bottom: 2rem;
        padding-left: 34px;
    }
    .wrapper.safety .container .policy_01 ul li::before{
        top: 0;
        transform: none;
    }
}