@charset "UTF-8";

figure {
    position: relative;
}

figcaption {
    font-size: 12px !important;
    position: absolute;
    bottom: 5px;
    font-size: 10px;
    line-height: 1;
    z-index: 1;
}

/* access */
#main {
    background-image: url(../img/main.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 24% 0;
    position: relative;
}

#main .page_ttl {
    width: 100%;
    position: absolute;
    top: 20%;
    left: 50%;
    transform: translateX(-50%);
}

#main .page_ttl h2 {
    /* width: 60%; */
    width: 30%;
    margin: 0 auto 30px;
}

#main .page_ttl p {
    font-size: 20px;
    letter-spacing: 4.4px;
    line-height: 1.5;
    text-align: center;
    color: #412514;
}

.bg {
    background-image: url(../img/bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 100px 0 0 0;
    position: relative;
}

p {
    font-feature-settings: "palt";
    letter-spacing: 0.1em;
}

.description {
    font-size: 12px;
    margin-top: 10px;
    position: relative;
    z-index: 8;
}

.f-60 {
    font-size: 60%;
}

.f-80 {
    font-size: 80%;
}

.f-140 {
    font-size: 140%;
}

.f-180 {
    font-size: 180%;
}

.f-240 {
    font-size: 240%;
}

.gold {
    color: #b4a86d;
}

.sub_ttl {
    position: relative;
    text-align: center;
    margin: 0 auto 60px;
    padding: 20px 0;
}

.sub_ttl::before,
.sub_ttl::after {
    content: "";
    position: absolute;
    display: block;
    width: 55%;
    height: 1px;
    background: #412414;
}

.sub_ttl::before {
    top: 0;
    left: 0;
}

.sub_ttl::after {
    top: 100%;
    right: 0;
}

.sub_ttl h3 {
    max-width: 540px;
    margin: 0 auto;
}

.sub_copy {
    text-align: center;
    margin: 0 auto 60px;
}

.sub_copy p {
    font-size: 22px;
    letter-spacing: 0.08em;
    line-height: 1.5;
}

.access {
    width: 90%;
    max-width: 1200px;
    background: #fff;
    /* margin: 0 auto 100px; */
    margin: 0 auto 140px;
    padding: 20px;
}

.access figure {
    margin: 0 auto;
}

.bus_access {
    /* margin: 0 auto 100px; */
    margin: 0 auto 140px;
}

.bus_box01,
.bus_box01_2 {
    width: 90%;
    max-width: 1000px;
    display: flex;
    margin: 0 auto 70px;
}

.bus_box01 {
    justify-content: space-between;
}

.bus_box01_2 {
    justify-content: center;

}


.bus_box01 li {}

/* .bus_box01 li:nth-child(1) {
width: 54%;
}
.bus_box01 li:nth-child(2) {
width: 46%;
padding: 2% 0 0 6%;
} */
.bus_box01 li:nth-child(1) {
    /* display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center; */
    width: 48%;
    /* padding: 2% 6% 0 0; */
}

.bus_box01 li:nth-child(2) {
    /* width: 54%; */
    width: 48%;
}

.bus_box01_2 li:nth-child(1) {
    width: 54%;
}

.bus_box01_2 li:nth-child(2) {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 46%;
    padding: 2% 0 0 6%;
}

.bus_box01 figure {}

.bus_box01 h4,
.bus_box01_2 h4 {
    font-size: 22px;
    letter-spacing: 0.08em;
}


.bus_box01 p,
.bus_box01_2 p,
.bus_box02 p {
    font-size: 20px;
    letter-spacing: 0.08em;
}

.bus_box02 {
    width: 94%;
    max-width: 1316px;
    display: flex;
    justify-content: space-between;
    margin: 0 auto 30px;
}

.bus_box02 li {
    text-align: center;
    width: 31.306990881458967%;
}


.shinkansen_access {
    position: relative;
    /* margin: 0 auto 100px; */
    margin: 0 auto 140px;
}

.shinkansen_access .sub_copy {
    position: relative;
    width: fit-content;
}

.shinkansen_access .sub_copy p {}

.shinkansen_box {
    width: 94%;
    max-width: 1316px;
    display: flex;
    justify-content: space-between;
    margin: 0 auto 30px;
}

.shinkansen_box li {
    text-align: center;
    width: 23.860182370820669%
}

.shinkansen_box li p {
    font-size: 22px;
    line-height: 1.2;
    padding: 0 0 20px;
}

.taxi_access {
    /* margin: 0 auto 100px; */
    margin: 0 auto 140px;
}

.taxi_box {
    width: 90%;
    max-width: 1000px;
    display: flex;
    justify-content: center;
    margin: 0 auto;
}

.taxi_box li {}

.taxi_box>li:nth-child(1) {
    width: 54%;
}

.taxi_box>li:nth-child(2) {
    width: 46%;
    padding: 2% 0 0 6%;
}

.taxi_box figure {}

.taxi_box h4 {
    font-size: 22px;
    letter-spacing: 0.08em;
}

.taxi_box p {
    font-size: 20px;
    letter-spacing: 0.08em;
}

.taxi_box ul {}

.taxi_box ul li {
    display: flex;

}

.taxi_box ul li figure {
    width: 43.5%;
    max-width: 156px;
    margin-right: 20px;
}

.taxi_box ul li:nth-child(2) {
    margin-top: 20px;
}

.taxi_box ul li p {
    width: 61%;
}

.taxi_box p.notes {
    font-size: 10px;
}

.car_access {
    position: relative;
    margin: 0 auto 100px;
}

.car_access .sub_copy {
    position: relative;
    width: fit-content;
}

.car_access .sub_copy p {}

.car_box {
    width: 90%;
    max-width: 1000px;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
}

.car_box li {
    width: 48%;
}

.car_box figure {}

.car_box p {
    width: fit-content;
    font-size: 20px;
    letter-spacing: 0.08em;
    line-height: 1;
    margin: 10px auto 0;
}

.path01,
.path02,
.path03 {
    position: absolute;
}

.path01 {
    top: 50%;
    left: 0;
    transform: translate(-130%, -50%);
    width: 15.589887640449438%;
}

.path02 {
    top: 50%;
    left: 0;
    transform: translate(-120%, -50%);
    width: 23.018292682926829%;
}

.path03 {
    top: 50%;
    right: 0;
    transform: translate(120%, -50%);
    width: 23.018292682926829%;
}

.path01 img,
.path02 img,
.path03 img {
    width: 100%;
}

/*イラストイメージ調整用*/
@media screen and (max-width: 1020px) {
    .path01 {
        top: -20%;
        left: 0;
        transform: translate(-60%, -50%);
    }
}

@media screen and (max-width: 990px) {
    .path02 {
        top: -110%;
        left: 0;
        transform: translate(-80%, 0);
    }

    .path03 {
        top: 0;
        right: 0;
        transform: translate(100%, 110%);
    }
}

@media screen and (max-width: 820px) {
    .path01 {
        top: 5%;
        left: 0;
        transform: translate(-10%, -50%);
    }

    .path02 {
        top: -50%;
        left: 0;
        transform: translate(-40%, 0);
    }

    .path03 {
        top: 0;
        /* right: 0; */
        right: 18px;
        transform: translate(90%, 320%);
    }
}


@media screen and (max-width: 1180px) {
    .bus_box01 p, .bus_box01_2 p, .bus_box02 p {
        font-size: 16px;
    }

    .f-240 {
        font-size: 200%;
    }
}


@media screen and (max-width: 1000px) {}

@media screen and (max-width: 820px) {
    #main {
        padding: 30% 0;
    }

    #main .page_ttl {
        width: 100%;
    }

    #main .page_ttl h2 {
        width: 80%;
    }

    #main .page_ttl p {
        font-size: 16px;
        text-shadow: 0px 0px 7px rgba(255, 255, 255, 1), 0px 0px 7px rgba(255, 255, 255, 1), 0px 0px 7px rgba(255, 255, 255, 1), 0px 0px 7px rgba(255, 255, 255, 1), 0px 0px 7px rgba(255, 255, 255, 1), 0px 0px 7px rgba(255, 255, 255, 1), 0px 0px 7px rgba(255, 255, 255, 1), 0px 0px 7px rgba(255, 255, 255, 1), 0px 0px 7px rgba(255, 255, 255, 1);
    }

    .description {
        font-size: 11px;
    }

    .bg {
        padding: 60px 0 0 0;
    }

    .sub_ttl {
        margin: 0 auto 40px;
        padding: 14px 0;
    }

    .sub_copy {
        width: 90%;
        margin: 0 auto 30px;
    }

    .sub_copy p {
        font-size: 16px;
        letter-spacing: 0.08em;
    }

    .bus_access {
        /* margin: 0 auto 60px; */
        margin: 0 auto 80px;
    }

    .bus_box01,
    .bus_box01_2 {
        flex-wrap: wrap;
        /* margin: 0 auto 30px; */
        margin: 0 auto 40px;
    }

    .bus_box01 h4,
    .bus_box01_2 h4 {
        font-size: 18px;
        letter-spacing: 0.08em;
    }

    .bus_box01 li:nth-child(1) {
        width: 100%;
    }

    .bus_box01 li:nth-child(2) {
        text-align: center;
        width: 100%;
        padding: 2% 0 0 0;
        margin-top: 20px;
    }

    .bus_box01_2 li:nth-child(1) {
        text-align: center;
        width: 100%;
        padding: 2% 0 0 0;
        margin-bottom: 10px;
    }

    .bus_box01_2 li:nth-child(2) {
        width: 100%;
        padding: 0;
    }

    .bus_box02 {
        flex-wrap: wrap;
    }

    .bus_box02 li {
        width: 100%;
    }

    .bus_box02 li:not(:last-child) {
        margin: 0 auto 20px;
    }

    .bus_box01 p,
    .bus_box01_2 p,
    .bus_box02 p {
        font-size: 16px;
        letter-spacing: 0.08em;
    }

    .shinkansen_access {
        /* margin: 0 auto 60px; */
        margin: 0 auto 80px;
    }

    .shinkansen_box {
        flex-wrap: wrap;
    }

    .shinkansen_box li {
        width: 100%;
    }

    .shinkansen_box li:not(:last-child) {
        margin: 0 auto 20px;
    }

    .taxi_access {
        /* margin: 0 auto 60px; */
        margin: 0 auto 80px;
    }

    .taxi_box {
        flex-wrap: wrap;
    }

    .taxi_box>li:nth-child(1) {
        width: 100%;
    }

    .taxi_box>li:nth-child(2) {
        width: 100%;
        padding: 2% 0 0 0;
    }

    .taxi_box h4 {
        font-size: 18px;
        letter-spacing: 0.08em;
    }

    .taxi_box ul {
        margin: 20px 0 0;
    }

    .car_access {
        /* margin: 0 auto 60px; */
        margin: 0 auto 80px;
    }

    .car_box {
        flex-wrap: wrap;
    }

    .car_box li {
        width: 100%;
    }

    .car_box li:not(:last-child) {
        margin: 0 auto 20px;
    }

    .car_box p {
        font-size: 16px;
    }
}

@media screen and (max-width: 499px) {}


/* 追加修正_20231128 */
h4 {
    font-size: 22px;
    letter-spacing: 0.08em;
    text-align: center;
    margin-bottom: 30px;
}

.bus_box01 p {
    text-align: center;
}

@media screen and (max-width: 820px) {
    h4 {
        font-size: 18px;
        letter-spacing: 0.08em;
    }
}