@charset "UTF-8";
.inner {
    width: calc(100% - 30px);
    max-width: 1000px;
    margin: 0 auto;
}
.cap-image .cap.cap-shadow {
    text-shadow: 0 0 10px rgba(0,0,0,.75),0 0 10px rgba(0,0,0,.75),0 0 10px rgba(0,0,0,.75),0 0 10px rgba(0,0,0,.75),0 0 10px rgba(0,0,0,.75),0 0 10px rgba(0,0,0,.75),0 0 10px rgba(0,0,0,.75),0 0 10px rgba(0,0,0,.75),0 0 10px rgba(0,0,0,.75),0 0 10px rgba(0,0,0,.75),0 0 10px rgba(0,0,0,.75),0 0 10px rgba(0,0,0,.75),0 0 10px rgba(0,0,0,.75),0 0 10px rgba(0,0,0,.75);
}
.full { width: 100%;}
.notes {
    font-size: 10px;
    margin-bottom: 0;
}
.ttl-jp {
    font-size: 31px;
    line-height: 1.5;
    margin-bottom: 10px;
    color: #231F20;
}
.txt-sm {
    font-size: 14px;
    letter-spacing: 0.04em;
    line-height: 2;
    margin-bottom: 0;
    color: #231F20;
}
.access-bnr { position: relative;}
.access-bnr .ttl-en {
    width: 100%;
    text-align: center;
    position: absolute;
    top: 46%;
    transform: translateY(-50%);
    z-index: 1;
}
.access-bnr .ttl-en img { width: 18%;}
.access-bnr .list {
    display: grid;
    grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 1023px){
    .ttl-jp { font-size: 23px;}
    .txt-sm {
        font-size: 10.5px;
        letter-spacing: 0;
    }
}
@media screen and (max-width: 767px){
    .access-bnr .ttl-en { top: 46%;}
    .access-bnr .ttl-en img { width: 41%;}
}
/* sec-train */
.sec-train { padding: 55px 0 75px;}
.train-block {
    display: grid;
    column-gap: 3.5%;
    grid-template-columns: 25.5% auto;
    grid-template-rows: auto 1fr;
    margin-bottom: 70px;
}
.train-block .ttl-en img  { height: 14px;}
.train-block .train-txt {
    margin: 25px 0 10px;
    padding-bottom: 25px;
    position: relative;
}
.train-block .train-txt::after {
    content: "";
    background-color: #231F20;
    width: calc(100% + 40px);
    height: 1px;
    position: absolute;
    left: -40px;
    bottom: 0;   
}
.train-block .train-txt img { height: 63px;}
.train-block .img {
    grid-row: 1/3;
    grid-column: 1/2;
    position: relative;
    z-index: 1;
}
.train-img {
    max-width: 860px;
    margin: 0 auto 70px;
}
.train-office .topic {
    font-size: 25px;
    text-align: center;
    margin-bottom: 15px;
    color: #231F20;
}
.train-office .list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    padding: 0;
    margin: 0;
}
.train-office .list .item {
    position: relative;
    overflow: hidden;
}
.train-office .list .ttl {
    position: absolute;
    z-index: 2;
    width: 100%;
    text-align: center;
    top: -6%;
}
.train-office .list .txt {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0;
    z-index: 1;
}
@media screen and (max-width: 1023px){
    .train-block .ttl-en img  { height: 10px;}
    .train-block .train-txt img { height: 46px;}
    .train-office .topic { font-size: 18px;}
    .train-office .list .cap-image .cap { font-size: 7px;}
}
@media screen and (max-width: 767px){
    .sec-train { padding: 45px 0;}
    .train-block {
        display: block;
        margin-bottom: 25px;
    }
    .train-block .head-box { margin-bottom: 15px;}
    .train-block .ttl-en { margin-bottom: 10px;}
    .train-block .img {
        width: 55%;
        margin: auto;
    }
    .train-block .train-txt {
        margin: 10px 0 10px;
        padding-bottom: 15px;
    }
    .train-block .train-txt::after {
        left: 0;
        width: 100%;
    }
    .train-block .train-txt img {
        height: 90px;
        margin: auto;
    }
    .train-img { margin: 0 auto 25px;}
    .train-office .list { grid-template-columns: repeat(2, 1fr);}
}
/* sec-car */
.sec-car {
    background: -o-linear-gradient(315deg,  #dbd5d4 0%,#ffffff 47%,#dbd5d4 100%);background: linear-gradient(-60deg,  #dbd5d4 0%,#ffffff 47%,#dbd5d4 100%);
}
.car-body { padding: 40px 0 85px;}
.car-txt {
    margin: 30px auto 60px;
    text-align: center;
}
.car-txt img {
    height: 48px;
    margin: auto;
}
.car-img {
    max-width: 930px;
    margin: 0 auto 80px;
}
.car-ic {
    max-width: 895px;
    margin: 0 auto 40px;
}
.car-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    max-width: 800px;
    margin: auto;
    padding: 0;
    gap: 1%;
}
.car-list .item {
    display: grid;
    grid-template-columns: 53% auto;
    gap: 10px;
    align-items: flex-end;
}
.car-list .desc { margin-bottom: -5px;}
.car-list .ttl  {
    font-size: 20px;
    margin-bottom: 0;
    line-height: 1.3;
    color: #241A16;
}
.car-list .ttl .sm  { font-size: 70%;}
.car-list .ttl .lg  {
    font-size: 105%;
    line-height: 1;
}
.car-list .ttl .md  { font-size: 80%;}
.car-list .ttl .xl  {
    font-size: 130%;
    line-height: 1;
}
@media screen and (max-width: 1023px){
    .car-txt img { height: 35px;}
    .car-list .ttl  { font-size: 15px;}
}
@media screen and (max-width: 767px){
    .car-body { padding: 30px 0 40px;}
    .car-list {
        grid-template-columns: 1fr;
        gap: 20px;
        max-width: 300px;
    }
    .car-txt { margin: 15px auto 35px;}
    .car-txt img { height: 68px;}
    .car-img { margin: 0 auto 25px;}
    .car-ic { margin: 0 auto 35px;}
    .car-list .item { grid-template-columns: 52% auto;}
}
/* sec-bus */
.sec-bus { background-color: #2A2B2C;}
.sec-bus .txt-sm,
.sec-bus .ttl-jp { color: #fff;}
.bus-body {
    color: #fff;
    padding: 25px 0 40px;
}
.bus-txt {
    margin: 35px auto 0;
    text-align: center;
}
.bus-txt img {
    height: 23px;
    margin: auto;
} 
@media screen and (max-width: 1023px){
    .bus-txt img {  height: 16px;} 
}
@media screen and (max-width: 767px){
    .bus-txt {  margin: 10px auto 0;}
}

@media screen and (min-width: 768px){
    .mv-cap { text-align : right;  width : 25%; }
    .mvcap1 { right : calc(75% + 5px); }
    .mvcap2 { right : calc(50% + 5px); }
    .mvcap3 { right : calc(25% + 5px); }
    .mvcap4 { right : calc(0% + 5px); }
}