@charset "UTF-8";

.mainVisual__title {
    position: absolute;
    bottom: 0;
    right: 5%;
    width: 22.7%;
}

.access .container {
    width: calc(100% - 40px);
    max-width: 1300px;
    margin: 0 auto;
}

.flexBox {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
}

.blockTopPage {
    padding: 100px 0;
}

.page__boxTitle {
    margin-bottom: 100px;
}

.blockTopPage li:nth-child(1) {
    width: 51%;
}

.blockTopPage li:nth-child(2) {
    width: 44.35%;
}

.blockTopPage li:nth-child(2) .photo__capIn {
    color: #595757;
}

.blockTopPage .item__content .jp {
    font-size: 30px;
    line-height: 1.8;
    margin-bottom: 20px;
    letter-spacing: 0.1em;
}

.blockTopPage .item__content p {
    margin-bottom: 30px;
}

.blockTopPage .photo + .photo {
    margin-top: 10px;
}

.blockTopPage .photo__capOut {
    padding-top: 3px;
}

.blockAccess {
    padding: 60px 0;
}

.blockAccess .head {
    font-size: 25px;
    line-height: 1;
    text-align: center;
    padding: 15px;
    color: #fff;
    background: url('../imgs/bg.jpg') center center / cover no-repeat;
}

.blockAccess .head span {
    font-size: 18px;
}

.blockAccess .photo {
    padding: 40px 0 80px;
    text-align: center;
}

.trainAccess .photo__capIn {
    color: #595757;
}

.access__head {
    position: relative;
    margin-bottom: 120px;
}

.access__head::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 12%;
    width: 100%;
    height: 1px;
    background: #548e80;
}

.access__head .en {
    font-family: "Bodoni Moda", serif;
    font-size: 50px;
    line-height: 1;
    color: #548e80;
    text-align: right;
}

.access__head .icon {
    width: 14%;
    max-width: 180px;
    position: absolute;
    bottom: -140%;
    z-index: 2;
}

.trainAccess,
.carAccess {
    padding: 60px 0;
}

.trainAccess .flexBox {
    margin-top: 60px;
}

.trainAccess .flexBox li {
    width: 32.8%;
    margin-bottom: 15px;
}

.trainAccess .flexBox .cap-photoList {
    width: 100%;
    font-size: 10px;
    text-align: right;
    line-height: 1.3;
    margin-top: -10px;
}

.carAccess .flexBox {
    align-items: flex-end;
}

.carAccess .flexBox li:nth-child(1) {
    width: 27.8%;
}

.carAccess .flexBox li:nth-child(2) {
    width: 67.2%;
}

.carAccess .photo img {
    display: block;
    margin-bottom: 10px;
}

.carAccess .item__content {
    position: relative;
    z-index: 1;
}

.carAccess .item__content .jp {
    font-size: 30px;
    line-height: 1.8;
    white-space: nowrap;
    margin-bottom: 30px;
}

.carAccess .item__content p {
    white-space: nowrap;
    margin-bottom: 20px;
}

.carAccess .photo__capIn05 {
    right: 0;
    bottom: 0;
    color: #595757;
}

/*.pinch-out {
    width: 80%;
    margin: 0 auto;
    padding: 30px 0 0;
}*/

@media screen and (min-width: 769px) {

    .access__head .icon1 { 
        margin-left: -1%;
    }
    
    .access__head .icon2 {
        margin-left: 180px;
    }

    .blockAccess .photo img {
        width: 70%;
    }
}

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

    .blockTopPage {
        padding: 50px 0;
    }

    .page__boxTitle {
        margin-bottom: 50px;
    }
    
    .blockTopPage li:nth-child(1) {
        width: 100%;
    }

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

    .blockTopPage .item__content .jp {
        font-size: 18px;
        margin-bottom: 10px;
    }

    .blockTopPage .item__content p {
        margin-bottom: 15px;
    }

    .blockTopPage li:nth-child(2) {
        width: 100%;
        margin-top: 40px;
    }

    .blockTopPage li:nth-child(2) .photo {
        text-align: center;
    }

    .access__head .en {
        font-size: min(10vw, 40px);
        text-align: center;
    }

    .access__head .icon {
        width: 40%;
        bottom: -170px;
    }

    .access__head .icon2 {
        right: 20px;
    }

    .access__head {
        margin-bottom: 30px;
    }

    .trainAccess .flexBox li {
        width: 48%;
    }

    .blockAccess {
        padding: 30px 0;
    }

    .blockAccess .head {
        font-size: 16px;
    }

    .blockAccess .head span {
        font-size: 12px;
    }

    .blockAccess .photo {
        padding: 20px 0 0;
    }

    .carAccess .flexBox li:nth-child(1),
    .carAccess .flexBox li:nth-child(2) {
        width: 100%;
    }
    
    .carAccess .flexBox li:nth-child(2) {
        padding-top: 40px;
    }
    
    .carAccess .item__content .jp {
        font-size: 18px;
        margin-bottom: 15px;
        white-space: wrap
    }

    .carAccess .item__content p {
        white-space: wrap
    }

    .mainVisual__title {
        width: 56.6%;
    }

    .trainAccess, .carAccess {
        padding: 30px 0;
    }

    .access .icon {
        width: 48%;
        margin: 0 auto;
        margin-bottom: 30px;
    }

    .trainAccess .flexBox {
        margin-top: 30px;
    }

    .photoFlex img {
        margin-left: auto;
        margin-right: auto;
    }

    .blockTopPage li:nth-child(2) .photo__capIn,
    .carAccess .photo__capIn05,
    .trainAccess .photo__capIn {
        top: 100%;
        padding-top: 5px;
    }
}

.mainVisual__capIn {
    left: 5px;
    right: auto;
}