@charset "utf-8";

/* ==================================================================

    company.css

=================================================================== */

/* --------------------------------
■共通
-------------------------------- */

/* ◇ accent
-------------------------------- */
.contents .accent{
    background-image: url("../../images/information/access/accent.jpg");
    background-position: 50% 50%;
}


/* --------------------------------
■map
-------------------------------- */ 

.map {
    max-width: 1228px;
    margin-inline: auto;
    text-align: left;
    box-sizing: border-box;
}
.map iframe {
    max-width: 100%;
}

@media (max-width: 1300px) and (min-width: 768px) {

    .map {
        width:auto;
        margin-left:4%;
        margin-right:4%;
    }
}

@media only screen and
(max-width : 767px) {

    .map {
        width:auto;
        margin-left: 2vw;
        margin-right: 2vw;
    }
    .map iframe {
        max-width: 100%;
        aspect-ratio: 1 / 1;
        height: auto;
    }
}


/* --------------------------------
■about
-------------------------------- */ 

#about {
    margin-top: 72px;
}

main .container > *{
    flex-shrink: 0;
}
    main .container > .explain{
        flex-shrink: 0;
        flex-grow: 1;
        max-width: 43%;
    }
    main .container > .explain > div{
        width: fit-content;
        margin: 0 auto;
    }
    main .container > .explain p{
        margin-bottom: 0;
        font-size: 1.5rem;
        line-height: 2;
    }
    main .container > .explain p.tel{
        margin: 30px 0 4px 0;
        font-size: 2.8rem;
        line-height: 1.2;
    }
    main .container > .explain p.tel a{
        color: #B72B2F;
    }
    main .container > .explain p.tel a::before {
        content: "";
        display: inline-block;
        width: 22px;
        height: 22px;
        margin-right: 5px;
        margin-bottom: -3px;
        background: url(../../images/common/icon/tel_r.svg) no-repeat left center;
        background-size: contain;
    }
    main .container > .explain p.hours{
        font-size: 1.3rem;
        line-height: 1.2;
    }
    main .container > .explain .navigation{
        margin-top: 28px;
        font-size: 1.4rem;
        gap:0 24px;
    }

    main .container > .image{
        max-width: 51%;
    }

@media only screen and
(max-width : 767px) {

    #about {
        margin-top: 7vw;
    }
    #about .container.flex_box.sp_column {
        flex-direction: column-reverse;
        gap: 7vw 0;
    }
    main .container > .explain {
        max-width: 100%;
    }
    main .container > .image {
        max-width: revert;
        width: 100%;
    }
}


/* --------------------------------
■shuttle_bus
-------------------------------- */ 

#shuttle_bus{
    padding: 76px 0 0;
}
#shuttle_bus > section{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row-reverse;
    gap: 0 24px;
}
#shuttle_bus > section .explain{
    position:relative;
    max-width: 526px;
}
    #shuttle_bus > section .explain::after {
        position: absolute;
        content: "";
        top: 27px;
        right: -70%;
        width: 100vw;
        height: calc(100% + (27px * 2));
        background:#F6F6F6;
        z-index: -1;
    }
#shuttle_bus > section .explain .frame {
    background-color: #fff;
    margin-top: 20px;
}
#shuttle_bus > section .explain .title._lv2 + * {
    margin-top: 12px;
}
#shuttle_bus > section figure{
    position: relative;
    z-index: 2;
    flex-shrink: 0;
    max-width: 51%;
}
#shuttle_bus > section figure img{
    max-width: 100%;
    height: auto;
}

@media only screen and
(max-width : 767px) {

    #shuttle_bus{
        padding: 48px 0 45px;
    }
    #shuttle_bus > section{
        display: block;
    }

    #shuttle_bus > section .explain{
        position:relative;
    }
        #shuttle_bus > section .explain::after {
            display: none;
        }
    #shuttle_bus > section .explain .frame {
        background-color: var(--bg-color-gray);
    }
    #shuttle_bus > section figure{
        max-width: revert;
        text-align: center;
        margin-bottom: 23px;
    }
    #shuttle_bus > section figure img{
        max-width: 100%;
        height: auto;
    }
}


/* --------------------------------
■faq
-------------------------------- */ 
#faq {
    padding: 76px 0 0;
}

/* ◇ accordion
-------------------------------- */
.accordion{
    border-top: 1px solid #BFBFBF;
}

.accordion > li{
    border-bottom: 1px solid #BFBFBF;
    padding: 40px 0;
}
    .accordion > li > dl > dt,
    .accordion > li > dl > dd{
        position: relative;
        padding-left: 50px;
    }
    .accordion > li > dl > dt{
        cursor: pointer;
        font-size: 2.0rem;
    }
    .accordion > li > dl > dt::before{
        content:"Q";
        position: absolute;
        left: 0;
        top: 0;
        display: inline-block;
        color: #fff;
        background: #B72B2F;
        padding: 0;
        width: 33px;
        height: 33px;
        line-height: 33px;
        text-align: center;
        border-radius: 50%;
    }
    .accordion > li > dl > dd{
        margin-top: 34px;
    }

        .accordion .toggle {
            display: inline-block;
            width: 20px;
            height: 20px;
            position: absolute;
            right: 20px;
            top: 0px;
        }
        .accordion .toggle::before,
        .toggle::after {
            content: "";
            width: 100%;
            height: 2px;
            background: #1F1F1F;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
            transition: .2s;
        }
        .accordion .toggle::before {
            transform: translate(-50%, -50%) rotate(90deg);
            -webkit-transform: translate(-50%, -50%) rotate(90deg);
            -ms-transform: translate(-50%, -50%) rotate(90deg);
        }
        .accordion .open .toggle::before {
            transform: translate(-50%, -50%) rotate(0deg);
            -webkit-transform: translate(-50%, -50%) rotate(0deg);
            -ms-transform: translate(-50%, -50%) rotate(0deg);
        }

        .accordion > li > dl > dt + dd{
            display: none;
        }
        .accordion > li > dl > dt.open + dd{
            display: block;
        }

@media only screen and
(max-width : 767px) {

    #faq {
        padding: 0;
    }
    .accordion > li{
        padding: 5vw 0;
    }
    .accordion > li > dl > dt{
        font-size: 1.6rem;
        padding-right: 45px;
    }
    .accordion > li > dl > dd{
        margin-top: 5vw;
        padding-left: 3vw;
    }
}