@charset "UTF-8";

/* 下層ページ共通部分 */
body {
    background: #f7f5ef;
}

.container.under_page {
    line-height: 1.5;
    letter-spacing: 0.16em;
    padding-top: 118px;
}

ul.att {
    margin: 0 auto;
}

.sub_ttl {
    font-size: 26px;
    text-align: center;
}

.center_ttl {
    font-size: 22px;
    text-align: center;
    margin: 100px auto 0;
}

.txt {
    font-size: 18px;
    line-height: 1.7;
    text-align: center;
}

.normal_txt {
    font-size: 16px;
    line-height: 1.7;
    text-align: center;
}

.small_txt {
    font-size: 14px;
    line-height: 1.5;
    text-align: center;
}

.page_ttl {
    background-image: url(../img/copy_img.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    padding-bottom: 15%;
    position: relative;
}

.page_ttl h2 {
    font-size: 30px;
    letter-spacing: 0.2em;
    color: #eae4d1;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.page_ttl h2 span {
    display: block;
    font-size: 15px;
    letter-spacing: 0.08em;
    text-align: center;
}

figcaption {
    font-size: 13px;
    text-align: center;
    margin-top: 8px;
}

.tab {
    display: none;
}

.tab_sp {
    display: none;
}

@media only screen and (max-width: 1180px) {
    .tab_sp {
        display: block;
    }
}

@media only screen and (max-width: 1024px) {
    .container.under_page {
        padding-top: 158px;
    }
}

@media only screen and (max-width: 820px) {
    .tab {
        display: none;
    }

}

@media only screen and (max-width: 767px) {
    .container.under_page {
        padding-top: 0;
    }

    .page_ttl {
        padding: 18% 0;
    }

    .page_ttl h2 {
        font-size: 24px;
    }

    .page_ttl h2 span {
        font-size: 13px;
    }

    .sub_ttl {
        font-size: 16px;
        line-height: 1.8;
        letter-spacing: 0.08em;
    }

    .center_ttl {
        font-size: 16px;
        line-height: 1.8;
        letter-spacing: 0.08em;
        margin: 80px auto 0;
    }

    .normal_txt {
        letter-spacing: 0.08em;
    }

    .small_txt {
        letter-spacing: 0.08em;
    }

    .txt {
        font-size: 14px;
        letter-spacing: 0.08em;
    }

    .tab {
        display: none;
    }

}

/* 下層ページ共通部分ここまで */

#brand p.txt {
    text-align: left;
}

#brand p.txt.center {
    text-align: center;
}

#brand p.normal_txt {
    text-align: left;
    margin-top: 14px;
}

#brand p.small_txt {
    text-align: left;
    margin-top: 14px;
}

.brand_content {
    padding: 100px 0;
}

.big_copy {
    font-size: 50px;
    color: #003668;
    text-align: center;
    letter-spacing: 0.15em;
    padding: 30px 0;
}

h3.business_ttl {
    font-size: 20px;
    color: #003668;
    padding-bottom: 8px;
    margin-bottom: 20px;
    border-bottom: 1px solid #000;
}

.business01 {
    margin: 100px auto 0;
}

.brand_img01 {
    max-width: 1000px;
    /* margin: 60px auto 0; */
    margin: 20px auto 0;
}

.business01 .img_Box {
    flex-wrap: wrap;
    margin-top: 50px;
}

.business01 .img_Box li {
    /* width: calc((100% - 60px) / 4);
    max-width: 235px; */
    width: calc((100% - 20px) / 2);
    max-width: 490px;
    margin-right: 20px;
}

.business01 .img_Box li:last-of-type {
    margin-right: 0;
}

.business02 {
    flex-wrap: wrap;
    margin: 50px auto 0;
    /* margin: 100px auto 0; */
}

.business02 .block01,
.business02 .block02 {
    width: calc((100% - 60px) / 2);
    margin-right: 60px;
}

.business02 .block02 {
    margin-right: 0;
}

.passenger .brand_img06,
.passenger .brand_img07 {
    margin-top: 15px;
}

#brand .bus_terminal p.normal_txt {
    margin-top: 0;
}

.bus_terminal .flex {
    flex-wrap: wrap;
}

.bus_terminal .flex p,
.bus_terminal .flex figure {
    width: calc((100% - 20px) / 2);
    margin-right: 20px;
}

.bus_terminal .flex figure {
    margin-right: 0;
}

.nursing_care {
    margin-top: 80px;
}

.other {
    margin-top: 80px;
}

.business03 {
    margin: 100px auto 0;
}

.company .flex {
    flex-wrap: wrap;
}

.company .flex figure {
    width: 37.2%;
    margin-right: 6%;
}

.company .flex div {
    width: 56.8%;
    align-self: flex-start;
}

.company .flex .company_info figure {
    width: 100%;
    max-width: 421px;
    padding-top: 30px;
}

.company .flex ul {
    padding-bottom: 30px;
    border-bottom: 1px solid #000;
}

.company .flex ul li {
    font-size: 14px;
    text-indent: -1em;
    padding-left: 1em;
}

.company .flex ul li:not(:first-of-type) {
    margin-top: 10px;
}

@media only screen and (max-width: 767px) {
    .brand_content {
        padding: 50px 0 50px 0;
    }

    .big_copy {
        font-size: 30px;
        padding: 18px 0;
    }

    .business01 {
        margin: 50px auto 0;
    }

    h3.business_ttl {
        font-size: 18px;
        margin-bottom: 15px;
    }

    .brand_img01 {
        /* margin: 30px auto 0; */
        margin: 15px auto 0;
    }

    .business01 .img_Box {
        margin-top: 30px;
    }

    #brand figcaption {
        letter-spacing: 0.1em;
    }

    .business01 .img_Box li {
        width: calc((100% - 20px) / 2);
        max-width: 100%;
        margin-right: 20px;
    }

    .business01 .img_Box li:nth-of-type(2n) {
        margin-right: 0;
    }

    .business01 .img_Box li:nth-of-type(n+3) {
        margin-top: 20px;
    }

    .business02 {
        margin: 30px auto 0;
        /* margin: 50px auto 0; */
    }

    .business02 .block01,
    .business02 .block02 {
        width: 100%;
        margin-right: 0;
    }

    .bus_terminal {
        margin-top: 50px;
    }

    .bus_terminal .flex p,
    .bus_terminal .flex figure {
        width: 100%;
        margin-right: 0;
    }

    .bus_terminal .flex p {
        margin-bottom: 20px;
    }

    .nursing_care {
        margin-top: 50px;
    }

    .other {
        margin-top: 50px;
    }

    .business03 {
        margin: 50px auto 0;
    }

    .company .flex figure {
        width: 70%;
        margin: 0 auto 20px;
    }

    .company .flex div {
        width: 100%;
    }

    .company .flex ul {
        padding-bottom: 20px;
    }

    .company .flex ul li {
        letter-spacing: 0.08em;
    }

    .company .flex .company_info figure {
        width: 70%;
        padding-top: 20px;
        margin: 0 auto;
    }
}

@media only screen and (max-width: 450px) {
    .brand_img01 {
        height: 356px;
        overflow-y: hidden !important;
    }

    .brand_img01 img {
        width: 500px;
        height: 356px;
        padding: 0;
    }
}

/* 注釈ないためブロックごと非表示 */
/* .att_area {
    display: none;
} */
#brand .req_res_btn {
    margin-bottom: 0;
}