#main {
    padding-top: 80px;
}
@media screen and (max-width: 1299px) {
    #main {
        padding-top: 67px;
    }
}
@media screen and (max-width: 639px) {
    #main {
        padding-top: 54px;
    }
}
#main .fv {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100vw;
    height: 280px;
    position: relative;
}
@media screen and (max-width: 1299px) {
    #main .fv {
        height: 240px;
    }
}
@media screen and (max-width: 1079px) {
    #main .fv {
        height: 210px;
    }
}
@media screen and (max-width: 859px) {
    #main .fv {
        height: 180px;
    }
}
@media screen and (max-width: 639px) {
    #main .fv {
        height: 150px;
    }
}
#main .fv .fv_bg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
#main .fv .fv_bg .photo {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
#main .fv .fv_bg .photo .photo_container {
    background-color: #c9c9c9;
    background-image: url("../img/fv.jpg");
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
@media screen and (max-width: 859px) {
    #main .fv .fv_bg .photo .photo_container {
        background-image: url("../img/fv_mb.jpg");
        background-repeat: no-repeat;
        background-position: 50% 50%;
        background-size: cover;
    }
}
#main .fv .fv_bg .photo::after {
    content: "";
    display: inline-block;
    opacity: 0.35;
    background-color: #000000;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
#main .fv .fv_bg.fadeElem .photo::after {
    opacity: 0;
}
#main .fv .fv_bg.fadeIn .photo::after {
    -webkit-transition: opacity 1s;
    transition: opacity 1s;
    opacity: 0.35;
}
#main .fv .page_title {
    position: relative;
}
#main .fv .page_title h1 {
    margin-block: calc((1em - 1lh) / 2);
    font-size: 36px;
    line-height: 49px;
    letter-spacing: 0em;
    font-weight: 700;
    text-align: center;
    color: #ffffff;
}
#main .fv .page_title h1 span {
    font-weight: 700;
}
@media screen and (max-width: 1299px) {
    #main .fv .page_title h1 {
        font-size: 27px;
        line-height: 36.5px;
    }
}
@media screen and (max-width: 639px) {
    #main .fv .page_title h1 {
        font-size: 18px;
        line-height: 24px;
    }
}
#main .fv .section_bg {
    position: absolute;
    top: 100%;
    bottom: 0;
    left: 0;
    right: 0;
}
#main .fv .section_bg img {
    width: 100%;
    height: auto;
}
#main .section {
    margin: 20px auto 0;
    padding-top: 50px;
    width: 1200px;
    position: relative;
}
@media screen and (max-width: 1299px) {
    #main .section {
        margin-top: 15px;
        padding-top: 40px;
        width: 92vw;
    }
}
@media screen and (max-width: 639px) {
    #main .section {
        margin-top: 10px;
        padding-top: 30px;
    }
}
@media screen and (max-width: 639px) {
    #main .section .section_title {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }
}
#main .section .section_title h2 {
    margin-block: calc((1em - 1lh) / 2);
    font-size: 30px;
    line-height: 45px;
    letter-spacing: 0em;
    font-weight: 700;
    color: #c6171e;
}
#main .section .section_title h2 span {
    font-weight: 700;
}
@media screen and (max-width: 1299px) {
    #main .section .section_title h2 {
        font-size: 25px;
        line-height: 35.5px;
    }
}
@media screen and (max-width: 639px) {
    #main .section .section_title h2 {
        font-size: 20px;
        line-height: 26px;
        text-align: center;
    }
}
#main .section .section_title::after {
    content: "";
    display: inline-block;
    margin-top: 12px;
    width: 100px;
    height: 4px;
    background: -webkit-gradient(linear, left top, right top, from(#fa1f0c), to(#ffe200));
    background: linear-gradient(to right, #fa1f0c, #ffe200);
}
@media screen and (max-width: 1299px) {
    #main .section .section_title::after {
        width: 85px;
        height: 3px;
    }
}
@media screen and (max-width: 639px) {
    #main .section .section_title::after {
        margin-top: 15px;
        width: 70px;
        height: 2px;
    }
}
#main .section .section_title.fadeElem h2 {
    opacity: 0;
    -webkit-transform: translateX(20px);
            transform: translateX(20px);
}
#main .section .section_title.fadeElem::after {
    width: 0;
}
#main .section .section_title.fadeIn h2 {
    -webkit-transition: opacity 1s, -webkit-transform 1s cubic-bezier(0.25, 1, 0.5, 1);
    transition: opacity 1s, -webkit-transform 1s cubic-bezier(0.25, 1, 0.5, 1);
    transition: opacity 1s, transform 1s cubic-bezier(0.25, 1, 0.5, 1);
    transition: opacity 1s, transform 1s cubic-bezier(0.25, 1, 0.5, 1), -webkit-transform 1s cubic-bezier(0.25, 1, 0.5, 1);
    opacity: 1;
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
}
#main .section .section_title.fadeIn::after {
    -webkit-transition: width 1s cubic-bezier(0.25, 1, 0.5, 1) 0.25s;
    transition: width 1s cubic-bezier(0.25, 1, 0.5, 1) 0.25s;
    width: 100px;
}
#main .section .section_title_sub {
    margin-top: 30px;
}
@media screen and (max-width: 1299px) {
    #main .section .section_title_sub {
        margin-top: 25px;
    }
}
@media screen and (max-width: 639px) {
    #main .section .section_title_sub {
        margin-top: 20px;
    }
}
#main .section .section_title_sub p {
    margin-block: calc((1em - 1lh) / 2);
    font-size: 14px;
    line-height: 28px;
    letter-spacing: 0em;
    font-weight: 500;
}
#main .section .section_title_sub p span {
    font-weight: 500;
}
@media screen and (max-width: 1299px) {
    #main .section .section_title_sub p {
        font-size: 13.5px;
        line-height: 1.7em;
    }
}
@media screen and (max-width: 639px) {
    #main .section .section_title_sub p {
        font-size: 13px;
        text-align: center;
    }
}
#main .section .section_content {
    margin-top: 50px;
}
@media screen and (max-width: 1299px) {
    #main .section .section_content {
        margin-top: 40px;
    }
}
@media screen and (max-width: 639px) {
    #main .section .section_content {
        margin-top: 30px;
    }
}
#main .section.section_access .section_content .access_ul {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    row-gap: 20px;
}
@media screen and (max-width: 639px) {
    #main .section.section_access .section_content .access_ul {
        row-gap: 25px;
        margin-left: auto;
        margin-right: auto;
        width: 84vw;
    }
}
#main .section.section_access .section_content .access_ul li {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 250px 60px 1fr;
    grid-template-columns: 250px 1fr;
    -webkit-column-gap: 60px;
       -moz-column-gap: 60px;
            column-gap: 60px;
}
@media screen and (max-width: 1299px) {
    #main .section.section_access .section_content .access_ul li {
        -ms-grid-columns: 220px 45px 1fr;
        grid-template-columns: 220px 1fr;
        -webkit-column-gap: 45px;
           -moz-column-gap: 45px;
                column-gap: 45px;
    }
}
@media screen and (max-width: 859px) {
    #main .section.section_access .section_content .access_ul li {
        -ms-grid-columns: 200px 30px 1fr;
        grid-template-columns: 200px 1fr;
        -webkit-column-gap: 30px;
           -moz-column-gap: 30px;
                column-gap: 30px;
    }
}
@media screen and (max-width: 639px) {
    #main .section.section_access .section_content .access_ul li {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    }
}
#main .section.section_access .section_content .access_ul li .title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    height: 50px;
    position: relative;
}
@media screen and (max-width: 1299px) {
    #main .section.section_access .section_content .access_ul li .title {
        height: 40px;
    }
}
@media screen and (max-width: 639px) {
    #main .section.section_access .section_content .access_ul li .title {
        height: 32px;
    }
}
#main .section.section_access .section_content .access_ul li .title::before {
    content: "";
    display: inline-block;
    background-image: url("../img/access_bg.jpg");
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
#main .section.section_access .section_content .access_ul li .title .text {
    margin-block: calc((1em - 1lh) / 2);
    font-size: 15px;
    line-height: 1.3em;
    letter-spacing: 0em;
    font-weight: 500;
    position: relative;
}
#main .section.section_access .section_content .access_ul li .title .text span {
    font-weight: 500;
}
@media screen and (max-width: 1299px) {
    #main .section.section_access .section_content .access_ul li .title .text {
        font-size: 14.5px;
    }
}
@media screen and (max-width: 639px) {
    #main .section.section_access .section_content .access_ul li .title .text {
        font-size: 14px;
    }
}
#main .section.section_access .section_content .access_ul li .content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 800px;
}
@media screen and (max-width: 1299px) {
    #main .section.section_access .section_content .access_ul li .content {
        width: auto;
    }
}
@media screen and (max-width: 859px) {
    #main .section.section_access .section_content .access_ul li .content {
        margin-top: 20px;
    }
}
@media screen and (max-width: 639px) {
    #main .section.section_access .section_content .access_ul li .content {
        margin-top: 15px;
    }
}
#main .section.section_access .section_content .access_ul li .content p {
    margin-block: calc((1em - 1lh) / 2);
    font-size: 15px;
    line-height: 26px;
    letter-spacing: 0em;
    font-weight: 500;
}
#main .section.section_access .section_content .access_ul li .content p span {
    font-weight: 500;
}
@media screen and (max-width: 1299px) {
    #main .section.section_access .section_content .access_ul li .content p {
        font-size: 14px;
        line-height: 23px;
    }
}
@media screen and (max-width: 639px) {
    #main .section.section_access .section_content .access_ul li .content p {
        font-size: 13px;
        line-height: 20px;
    }
}
#main .section.section_access .section_content .access_ul li .content p.grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: auto 5px 1fr;
    grid-template-columns: auto 1fr;
    -webkit-column-gap: 5px;
       -moz-column-gap: 5px;
            column-gap: 5px;
    padding-top: 11px;
}
@media screen and (max-width: 1299px) {
    #main .section.section_access .section_content .access_ul li .content p.grid {
        padding-top: 9px;
    }
}
@media screen and (max-width: 639px) {
    #main .section.section_access .section_content .access_ul li .content p.grid {
        padding-top: 7px;
    }
}
#main .section.section_access .section_content .access_ul li .content p.grid span {
    display: inline-block;
    font-size: 15px;
    line-height: 26px;
    letter-spacing: 0em;
    font-weight: 500;
}
#main .section.section_access .section_content .access_ul li .content p.grid span span {
    font-weight: 500;
}
@media screen and (max-width: 1299px) {
    #main .section.section_access .section_content .access_ul li .content p.grid span {
        font-size: 14px;
        line-height: 23px;
    }
}
@media screen and (max-width: 639px) {
    #main .section.section_access .section_content .access_ul li .content p.grid span {
        font-size: 13px;
        line-height: 20px;
    }
}
#main .section.section_access .section_content .access_ul li .content p.grid.grid_first {
    padding-top: 0;
}
#main .section.section_access .section_content .place {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: auto 40px 1fr;
    grid-template-columns: auto 1fr;
    -webkit-column-gap: 40px;
       -moz-column-gap: 40px;
            column-gap: 40px;
    margin-top: 50px;
}
@media screen and (max-width: 1299px) {
    #main .section.section_access .section_content .place {
        -webkit-column-gap: 3vw;
           -moz-column-gap: 3vw;
                column-gap: 3vw;
        margin-top: 40px;
    }
}
@media screen and (max-width: 639px) {
    #main .section.section_access .section_content .place {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        margin-top: 30px;
        margin-left: auto;
        margin-right: auto;
        width: 84vw;
    }
}
#main .section.section_access .section_content .place .map {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    grid-row: 1/3;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    row-gap: 15px;
}
@media screen and (max-width: 639px) {
    #main .section.section_access .section_content .place .map {
        -ms-grid-row: 1;
        -ms-grid-row-span: 1;
        grid-row: 1/2;
    }
}
#main .section.section_access .section_content .place .map .map_container {
    width: 600px;
    height: 360px;
}
@media screen and (max-width: 1299px) {
    #main .section.section_access .section_content .place .map .map_container {
        width: 45vw;
        height: 27vw;
    }
}
@media screen and (max-width: 639px) {
    #main .section.section_access .section_content .place .map .map_container {
        width: 84vw;
        height: 50.4vw;
    }
}
#main .section.section_access .section_content .place .map .map_container iframe {
    width: 100%;
    height: 100%;
}
#main .section.section_access .section_content .place .map .btn {
    -ms-grid-column-align: end;
        justify-self: end;
}
#main .section.section_access .section_content .place .map .btn a {
    -webkit-transition: background-color 0.3s;
    transition: background-color 0.3s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 116px;
    height: 20px;
    background-color: #ffffff;
    border: 1px solid #c6171e;
    border-radius: 10px;
}
#main .section.section_access .section_content .place .map .btn a .text {
    -webkit-transition: color 0.3s;
    transition: color 0.3s;
    font-size: 10px;
    line-height: 1em;
    letter-spacing: 0em;
    font-weight: 600;
    color: #c6171e;
}
#main .section.section_access .section_content .place .map .btn a .text span {
    font-weight: 600;
}
@media screen and (min-width: 1079px) {
    #main .section.section_access .section_content .place .map .btn a:hover {
        background-color: #c6171e;
    }
}
@media screen and (min-width: 1079px) {
    #main .section.section_access .section_content .place .map .btn a:hover .text {
        color: #ffffff;
    }
}
#main .section.section_access .section_content .place .photo {
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
    width: 340px;
    height: 226.6666666667px;
    position: relative;
}
@media screen and (max-width: 1299px) {
    #main .section.section_access .section_content .place .photo {
        width: 26vw;
        height: 17.3333333333vw;
    }
}
@media screen and (max-width: 639px) {
    #main .section.section_access .section_content .place .photo {
        -ms-grid-column: 1;
        -ms-grid-column-span: 1;
        grid-column: 1/2;
        -ms-grid-row: 2;
        -ms-grid-row-span: 1;
        grid-row: 2/3;
        margin-top: 30px;
        width: 84vw;
        height: 56vw;
    }
}
#main .section.section_access .section_content .place .photo .photo_container {
    background-image: url("../img/place.jpg");
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
#main .section.section_access .section_content .place .info {
    -ms-grid-row-align: end;
        align-self: end;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
    margin-bottom: 35px;
}
@media screen and (max-width: 1079px) {
    #main .section.section_access .section_content .place .info {
        -ms-flex-item-align: start;
            -ms-grid-row-align: start;
            align-self: start;
        margin-bottom: 0;
    }
}
@media screen and (max-width: 639px) {
    #main .section.section_access .section_content .place .info {
        -ms-grid-column: 1;
        -ms-grid-column-span: 1;
        grid-column: 1/2;
        -ms-grid-row: 3;
        -ms-grid-row-span: 1;
        grid-row: 3/4;
        margin-top: 15px;
    }
}
#main .section.section_access .section_content .place .info .name {
    margin-block: calc((1em - 1lh) / 2);
    font-size: 20px;
    line-height: 1.3em;
    letter-spacing: 0em;
    font-weight: 700;
}
#main .section.section_access .section_content .place .info .name span {
    font-weight: 700;
}
@media screen and (max-width: 1299px) {
    #main .section.section_access .section_content .place .info .name {
        font-size: 18px;
    }
}
@media screen and (max-width: 639px) {
    #main .section.section_access .section_content .place .info .name {
        font-size: 16px;
    }
}
@media screen and (max-width: 1079px) {
    #main .section.section_access .section_content .place .info .name span.t_sub {
        font-size: 15px;
    }
}
@media screen and (max-width: 639px) {
    #main .section.section_access .section_content .place .info .name span.t_sub {
        font-size: 13px;
    }
}
#main .section.section_access .section_content .place .info .address {
    margin-block: calc((1em - 1lh) / 2);
    padding-top: 10px;
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 0em;
    font-weight: 500;
}
#main .section.section_access .section_content .place .info .address span {
    font-weight: 500;
}
#main .section.section_access .section_content .place .info .address a {
    -webkit-transition: color 0.3s;
    transition: color 0.3s;
}
@media screen and (min-width: 1079px) {
    #main .section.section_access .section_content .place .info .address a:hover {
        color: #c6171e;
    }
}
/*# sourceMappingURL=style.css.map */