/* --------------------
 Spiral Tube
-------------------- */
.msg {
    margin: 0 0 32vw;
}

@media (min-width: 768px) {
    .msg {
        margin: 0 0 100px;
    }
}

.msg-container {
    margin: 0 auto;
    max-width: calc(860px + var(--c-pad)*2);
    padding: 0 var(--c-pad);
    width: 100%;
}

.msg__title {
    color: var(--color-navy);
    font-size: var(--fs28);
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 13.3333333333vw;
    text-align: center;
}

@media (min-width: 768px) {
    .msg__title {
        font-size: var(--fs40);
        margin: 0 0 50px;
    }
}

.msg__content {
    margin: 0 0 5.3333333333vw;
}

@media (min-width: 768px) {
    .msg__content {
        margin: 0 0 20px;
    }
}

.msg__content p {
    font-size: var(--fs14);
    line-height: 1.75;
    margin: 0;
}

@media (min-width: 768px) {
    .msg__content p {
        font-size: var(--fs16);
    }
}

.msg__name {
    font-size: var(--fs14);
    font-weight: 500;
    line-height: 1.75;
    margin: 0;
    text-align: right;
}

@media (min-width: 768px) {
    .msg__name {
        font-size: var(--fs16);
    }
}

.about {
    margin: 0 0 32vw;
}

@media (min-width: 768px) {
    .about {
        margin: 0 0 140px;
    }
}

.about-container {
    margin: 0 auto;
    max-width: calc(860px + var(--c-pad)*2);
    padding: 0 var(--c-pad);
    width: 100%;
}

.about__table {
    border: none;
    border-collapse: collapse;
    border-spacing: 0;
    margin: 0;
    width: 100%;
}

.about__table > tbody > tr > th, .about__table > tbody > tr > td {
    font-size: var(--fs14);
    font-weight: 400;
    line-height: 1.4;
    text-align: left;
    vertical-align: middle;
    width: auto;
}

@media (min-width: 768px) {
    .about__table > tbody > tr > th, .about__table > tbody > tr > td {
        font-size: var(--fs16);
    }
}

.about__table > tbody > tr > th {
    border-bottom: 1px solid var(--color-navy);
    min-width: 29.3333333333vw;
    padding: 3.2vw 0 3.2vw 2.1333333333vw;
    width: 29.3333333333vw;
}

@media (min-width: 768px) {
    .about__table > tbody > tr > th {
        min-width: 240px;
        padding: 20px;
        width: 240px;
    }
}

.about__table > tbody > tr > td {
    border-bottom: 1px solid #DDDDDD;
    padding: 3.2vw 0 3.2vw 4.2666666667vw;
}

@media (min-width: 768px) {
    .about__table > tbody > tr > td {
        padding: 20px;
    }
}

.about__table > tbody > tr > td a {
    color: #9A0018;
    text-decoration: underline;
    transition: -webkit-text-decoration-color var(--duration) var(--cubic) 0s;
    transition: text-decoration-color var(--duration) var(--cubic) 0s;
    transition: text-decoration-color var(--duration) var(--cubic) 0s, -webkit-text-decoration-color var(--duration) var(--cubic) 0s;
}

.about__table > tbody > tr > td a:focus {
    -webkit-text-decoration-color: transparent;
    text-decoration-color: transparent;
}

@media (hover: hover) and (pointer: fine) {
    .about__table > tbody > tr > td a:hover {
        -webkit-text-decoration-color: transparent;
        text-decoration-color: transparent;
    }
}

.access {
    margin: 0 0 32vw;
}

@media (min-width: 768px) {
    .access {
        margin: 0 0 140px;
    }
}

.access-container {
    margin: 0 auto;
    max-width: calc(860px + var(--c-pad)*2);
    padding: 0 var(--c-pad);
    width: 100%;
}

.access__address {
    font-size: var(--fs14);
    line-height: 1.75;
    margin: 0 0 5.3333333333vw;
}

@media (min-width: 768px) {
    .access__address {
        font-size: var(--fs16);
        margin: 0 0 20px;
    }
}

.access__route {
    margin: 0 0 5.3333333333vw;
}

@media (min-width: 768px) {
    .access__route {
        margin: 0 0 20px;
    }
}

.access__route__item__title {
    color: var(--color-navy);
    font-size: var(--fs14);
    font-weight: 500;
    line-height: 1.4;
    margin: 0;
}

@media (min-width: 768px) {
    .access__route__item__title {
        font-size: var(--fs16);
    }
}

.access__route__item p {
    font-size: var(--fs14);
    line-height: 1.75;
    margin: 0;
}

@media (min-width: 768px) {
    .access__route__item p {
        font-size: var(--fs16);
    }
}

.access__map iframe {
    border: none;
    display: block;
    height: 64vw;
    width: 100%;
}

@media (min-width: 768px) {
    .access__map iframe {
        height: 360px;
    }
}