@charset "utf-8";
/* CSS Document */



/* ========================================

mousecursor

======================================== */
.cursor_02{
	/* position */
    position: fixed;
    top: 0;
    left: 0;
	/* display */
    opacity: 0;
    z-index: 400;
	/* box */
    width: 140px;
    height: 140px;
	/* font */
    color: #000;
	/* border */
    border-radius: 50%;
    border: solid 1px #fff;
	/* background */
    background-color: rgba( 255, 255, 255, 0.5);
	/* animation */
    transition: .1s;
	/* etc */
    pointer-events: none;
    mix-blend-mode: screen;
}
.mouse__txt{
	/* position */
    position: absolute;
    top: 50%;
    left: 50%;
	/* display */
    transform: translate(-50%, -50%);
	/* box */
    width: 100%;
	/* font */
    font-family: "Murecho", sans-serif;
    font-size: 1.8rem;
    color: #fff;
    text-align: center;
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.cursor_02.show {
    opacity: 1;
}



/* ========================================

position/index
location

======================================== */
.location {
	/* position */
    position: relative;
	/* display */
    z-index: 100;
	/* box */
    width: 100%;
    margin: 0 0 12.8rem 0;
    padding: 0;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
@media screen and ( max-width: 930px ){
    .location {
        margin: 0 0 6.4rem 0;
    }
}
/*
location_container
*/
.location .location_container {
	/* position */
    position: relative;
	/* display */
    z-index: 200;
	/* box */
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 0;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
@media screen and ( max-width: 930px ){
    .location .location_container {
        width: 100%;
        margin: 0;
        padding: 0 15px;
    }
}



/*
section_title
*/
.location .location_container .section_title {
	/* position */
	/* display */
	/* box */
    width: 197px;
    margin: 95px auto;
    padding: 0;
	/* font */
    text-align: center;
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.location .location_container .section_title img {
    width: 100%;
}
@media screen and ( max-width: 768px ){
    .location .location_container .section_title {
        /* position */
        /* display */
        /* box */
        width: 98.5px;
        margin: 35px auto;
        padding: 0;
        /* font */
        text-align: center;
        /* border */
        /* background */
        /* animation */
        /* etc */
    }
    .location .location_container .section_title img {
        width: 100%;
    }
}



/*
lead
*/
.location .location_container .lead {
	/* position */
	/* display */
	/* box */
    margin: 0 auto 4.8rem auto;
    padding: 0;
	/* font */
    text-align: center;
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.location .location_container .lead h2 {
	/* position */
	/* display */
    display: inline-block;
	/* box */
    padding: 0;
	/* font */
    font-family: "Murecho", sans-serif;
    font-size: 3.2rem;
    line-height: 1.5em;
    text-align: center;
	/* border */
	/* background */
    background: linear-gradient( to right ,#1f3a6d , #4babd0 );
    background: -webkit-linear-gradient( to right ,#1f3a6d , #4babd0 );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
	/* animation */
	/* etc */
}
@media screen and ( max-width: 768px ){
    .location .location_container .lead h2 {
        font-size: 2.0rem;
    }
}
/*
location_flexbox
*/
.location .location_container .location_flexbox {
	/* position */
	/* display */
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
	/* box */
    width: 100%;
    margin: 0 0 4.8rem 0;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
@media screen and ( max-width: 768px ){
    .location .location_container .location_flexbox {
        display: block;
        background-color: #fff;
    }
}
/*
text
*/
.location .location_container .location_flexbox .text {
	/* position */
	/* display */
	/* box */
    width: 65%;
    max-width: 585px;
    padding: 0 0 0 25px;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.location .location_container .location_flexbox .text p {
	/* position */
	/* display */
	/* box */
    margin: 0 0 3.2rem 0;
	/* font */
    font-family: "Murecho", sans-serif;
    font-size: 1.6rem;
    line-height: 2.0em;
    text-align: justify;
	/* border */
	/* background */
	/* animation */
	/* etc */
}
@media screen and ( max-width: 768px ){
    .location .location_container .location_flexbox .text {
        width: 100%;
        max-width: none;
        padding: 0;
    }
    .location .location_container .location_flexbox .text p {
        line-height: 1.5em;
        text-align: center;
    }
}
/*
logo
*/
.location .location_container .location_flexbox .logo {
	/* position */
	/* display */
	/* box */
    width: 35%;
    max-width: 315px;
    margin: 0;
    padding: 0;
	/* font */
    text-align: right;
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.location .location_container .location_flexbox .logo img {
	/* position */
    display: inline-block;
	/* display */
	/* box */
    width: 100%;
    max-width: 306px;
    margin: 0;
    padding: 0;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
@media screen and ( max-width: 768px ){
    .location .location_container .location_flexbox .logo {
        width: 100%;
        max-width: 216.5px;
        margin: 0 auto;
    }
    .location .location_container .location_flexbox .logo img {
        display: inline-block;
        width: 100%;
        max-width: none;
    }
}
.location .location_container .map {
	/* position */
    position: relative;
	/* display */
	/* box */
    width: 100%;
    margin: 0;
    padding: 0 25px;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.location .location_container .map::before {
    display: none;
}
.location .location_container .map img {
    width: 100%;
}
@media screen and ( max-width: 768px ){
    .location .location_container .map {
        margin: 0 0 32px 0;
        padding: 0;
    }
    .location .location_container .map::before {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        content: '';
        width: 100%;
        height: 100%;
        background-image: url( '../img/common/icon_zoom.png' );
        background-repeat: no-repeat;
        background-position: center;
        opacity: 1;
        transition: opacity 1s;
    }
    .location .location_container .map.active::before {
        opacity: 0;
    }
}
/*
location_bg_line
*/
.location .location_bg_line {
	/* position */
    position: absolute;
    left: calc( 50% - 960px );
    bottom: 100px;
	/* display */
    z-index: 1;
    overflow: hidden;
	/* box */
    width: 100%;
    max-width: 1920px;
    margin: 0 auto 0 auto;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.location .location_bg_line svg {
	/* position */
	/* display */
	/* box */
    width: 1986.08px;
    height: 493.91px;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.location .location_bg_line .svg_path_line_01 {
	/* position */
	/* display */
	/* box */
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
    stroke-dasharray: 2100px;
    stroke-dashoffset: 2100px;
}
.location .location_bg_line .svg_path_line_01.active {
	/* position */
	/* display */
	/* box */
	/* font */
	/* border */
	/* background */
	/* animation */
    animation: move_line_01 5s;
    animation-fill-mode: forwards;
	/* etc */
    stroke-dasharray: 2100px;
}
@keyframes move_line_01 {
    0% {
        stroke-dashoffset: 2100px;
    }
    to {
        stroke-dashoffset: 0px;
    }
}
@media screen and ( max-width: 1920px ){
    .location .location_bg_line {
        left: 0;
    }
}
@media screen and ( max-width: 768px ){
    .location .location_bg_line {
        display: none;
    }
    .location .location_bg_line svg {
        width: 100%;
        height: auto;
    }
    .location .location_bg_line .svg_path_line_01 {
        stroke-dasharray: none;
        stroke-dashoffset: 0;
    }
    .location .location_bg_line .svg_path_line_01.active {
        stroke-dasharray: none;
        stroke-dashoffset: 0;
        animation: none;
    }
}



/* ========================================

position/index
river

======================================== */
.river {
	/* position */
    position: relative;
	/* display */
    z-index: 100;
	/* box */
    width: 100%;
    margin: 0 0 0 0;
    padding: 0;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
@media screen and ( max-width: 930px ){
    .river {
        margin: 0;
    }
}
/*
river_container
*/
.river .river_container {
	/* position */
    position: relative;
	/* display */
    z-index: 200;
	/* box */
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 0;
	/* font */
	/* border */
	/* background */
    background-color: #fff;
	/* animation */
	/* etc */
}
@media screen and ( max-width: 930px ){
    .river .river_container {
        width: 100%;
        margin: 0;
        padding: 0 15px;
    }
}
/*
lead
*/
.river .river_container .lead {
	/* position */
	/* display */
	/* box */
    margin: 0 auto 4.8rem auto;
    padding: 0;
	/* font */
    text-align: center;
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.river .river_container .lead h2 {
	/* position */
	/* display */
    display: inline-block;
	/* box */
    padding: 0;
	/* font */
    font-family: "Murecho", sans-serif;
    font-size: 2.4rem;
    color: #1f3a6d;
    text-align: center;
	/* border */
	/* background */
	/* animation */
	/* etc */
}
@media screen and ( max-width: 768px ){
    .river .river_container .lead h2 {
        font-size: 1.8rem;
    }
}
/*
text
*/
.river .river_container .text {
	/* position */
	/* display */
	/* box */
    margin: 0 auto;
    padding: 0 0 3.0em 0;
	/* font */
    text-align: center;
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.river .river_container .text p {
	/* position */
	/* display */
    display: inline-block;
	/* box */
    padding: 0;
	/* font */
    font-family: "Murecho", sans-serif;
    font-size: 1.6rem;
    line-height: 1.5em;
    text-align: center;
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.river .river_container .text p span.sup {
	/* position */
	/* display */
	/* box */
	/* font */
    font-family: "Murecho", sans-serif;
    font-size: 1.2rem;
    vertical-align: super; /*テキストを上付きに*/
	/* background */
	/* animation */
	/* etc */
}
@media screen and ( max-width: 768px ){
    .river .river_container .text p {
        line-height: 1.5em;
    }
}
/*
river_flexbox
*/
.river .river_flexbox {
	/* position */
	/* display */
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
    z-index: 200;
	/* box */
    width: 100%;
    margin: 0 0 0 0;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.river .river_flexbox .flexitem {
	/* position */
	/* display */
    z-index: 200;
	/* box */
    width: 50%;
    margin: 0;
    padding: 0;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.river .river_flexbox .flexitem img {
	/* position */
	/* display */
    display: inline-block;
	/* box */
    width: 100%;
    margin: 0;
    padding: 0;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
@media screen and ( max-width: 768px ){
    .river .river_flexbox {
        display: block;
    }
    .river .river_flexbox .flexitem {
        width: 100%;
    }
}
/*
river_bg_line
*/
.river .river_bg_line {
	/* position */
    position: absolute;
    left: calc( 50% - 960px );
    bottom: 0;
	/* display */
    z-index: 1;
    overflow: hidden;
	/* box */
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
	/* font */
    text-align: right;
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.river .river_bg_line svg {
	/* position */
	/* display */
	/* box */
    width: 1966.86px;
    height: 677.65px;
    float: right;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.river .river_bg_line .svg_path_line_02 {
	/* position */
	/* display */
	/* box */
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
    stroke-dasharray: 2100px;
    stroke-dashoffset: 2100px;
}
.river .river_bg_line .svg_path_line_02.active {
	/* position */
	/* display */
	/* box */
	/* font */
	/* border */
	/* background */
	/* animation */
    animation: move_line_02 5s;
    animation-fill-mode: forwards;
	/* etc */
    stroke-dasharray: 2100px;
}
@keyframes move_line_02 {
    0% {
        stroke-dashoffset: 2100px;
    }
    to {
        stroke-dashoffset: 0px;
    }
}
@media screen and ( max-width: 1920px ){
    .river .river_bg_line {
        left: 0;
    }
}
@media screen and ( max-width: 768px ){
    .river .river_bg_line {
        display: none;
    }
    .river .river_bg_line svg {
        width: 100%;
        height: auto;
    }
    .river .river_bg_line .svg_path_line_02 {
        stroke-dasharray: none;
        stroke-dashoffset: 0;
    }
    .river .river_bg_line .svg_path_line_02.active {
        stroke-dasharray: none;
        stroke-dashoffset: 0;
        animation: none;
    }
}
/*
river_bg_line_bottom_sp
*/
.river .river_bg_line_bottom_sp {
	/* position */
    position: relative;
	/* display */
    display: none;
    z-index: 1;
    overflow: hidden;
	/* box */
    width: 100%;
    max-width: 1920px;
    margin: -129.19px auto 0 auto;
	/* font */
    text-align: right;
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.river .river_bg_line_bottom_sp img {
    width: 100%;
}
@media screen and ( max-width: 768px ){
    .river .river_bg_line_bottom_sp {
        /* position */
        position: absolute;
        bottom: calc( 100vw * 129 / 375 * -1 );
        right: 0;
        /* display */
        display: block;
        z-index: 1;
        overflow: hidden;
        /* box */
        width: 100%;
        max-width: 1920px;
        margin: -129.19px auto 0 auto;
        /* font */
        text-align: right;
        /* border */
        /* background */
        /* animation */
        /* etc */
    }
}



/* ========================================

position/index
access

======================================== */
.access {
	/* position */
    position: relative;
	/* display */
    overflow: hidden;
    z-index: 100;
	/* box */
    width: 100%;
    margin: 0 0 12.8rem 0;
    padding: 9.6rem 0 0 0;
    padding: 14.6rem 0 0 0;
    /* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
@media screen and ( max-width: 930px ){
    .access {
        margin: 0 0 6.4rem 0;
    }
}
@media screen and ( max-width: 768px ){
    .access {
        margin: 0 0 4.8rem 0;
        padding: 9.6rem 0 0 0;
    }
}
/*
access_container
*/
.access .access_container {
	/* position */
    position: relative;
	/* display */
    z-index: 200;
	/* box */
    width: 100%;
    max-width: 900px;
    margin: 0 auto 4.8rem auto;
    padding: 0;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
@media screen and ( max-width: 930px ){
    .access .access_container {
        width: 100%;
        margin: 0;
        padding: 0 15px;
    }
}
/*
section_title
*/
.access .access_container .section_title {
	/* position */
	/* display */
	/* box */
    width: 150px;
    margin: 95px auto;
    padding: 0;
	/* font */
    text-align: center;
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.access .access_container .section_title img {
    width: 100%;
}
@media screen and ( max-width: 768px ){
    .access .access_container .section_title {
        /* position */
        /* display */
        /* box */
        width: 75px;
        margin: 35px auto;
        padding: 0;
        /* font */
        text-align: center;
        /* border */
        /* background */
        /* animation */
        /* etc */
    }
    .access .access_container .section_title img {
        width: 100%;
    }
}
/*
lead
*/
.access .access_container .lead {
	/* position */
	/* display */
	/* box */
    margin: 0 auto 4.8rem auto;
    padding: 0;
	/* font */
    text-align: center;
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.access .access_container .lead h2 {
	/* position */
	/* display */
    display: inline-block;
	/* box */
    padding: 0;
	/* font */
    font-family: "Murecho", sans-serif;
    font-size: 3.2rem;
    line-height: 1.5em;
    text-align: center;
	/* border */
	/* background */
    background: linear-gradient( to right ,#1f3a6d , #4babd0 );
    background: -webkit-linear-gradient( to right ,#1f3a6d , #4babd0 );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
	/* animation */
	/* etc */
}
@media screen and ( max-width: 768px ){
    .access .access_container .lead {
        margin: 0 auto 2.4rem auto;
    }
    .access .access_container .lead h2 {
        font-size: 2.0rem;
    }
}
/*
caption
*/
.access .access_container .caption {
	/* position */
	/* display */
	/* box */
    margin: 0 auto;
    padding: 0 0 2.0em 0;
	/* font */
    text-align: center;
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.access .access_container .caption p {
	/* position */
	/* display */
    display: inline-block;
	/* box */
    padding: 0;
	/* font */
    font-family: "Murecho", sans-serif;
    font-size: 2.0rem;
    color: #1f3a6d;
    line-height: 1.5em;
    text-align: center;
	/* border */
	/* background */
	/* animation */
	/* etc */
}
@media screen and ( max-width: 768px ){
    .access .access_container .caption {
        margin: 0 auto 1.6rem auto;
    }
    .access .access_container .caption p {
        font-size: 1.8rem;
        line-height: 1.5em;
    }
}
/*
text
*/
.access .access_container .text {
	/* position */
	/* display */
	/* box */
    width: 100%;
    max-width: 623px;
    margin: 0 auto;
    padding: 0 0 3.0em 0;
	/* font */
    text-align: center;
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.access .access_container .text p {
	/* position */
	/* display */
    display: inline-block;
	/* box */
    padding: 0;
	/* font */
    font-family: "Murecho", sans-serif;
    font-size: 1.6rem;
    line-height: 1.5em;
    text-align: center;
	/* border */
	/* background */
	/* animation */
	/* etc */
}
@media screen and ( max-width: 768px ){
    .access .access_container .text {
        max-width: 310px;
    }
    .access .access_container .text p {
        line-height: 1.5em;
    }
}
/*
map_container
*/
.access .map_container {
	/* position */
    position: relative;
	/* display */
    z-index: 200;
	/* box */
    width: 100%;
    max-width: 1920px;
    height: 794px;
    margin: 0 auto;
    padding: 0;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.access .map_container .map {
	/* position */
    position: relative;
	/* display */
    z-index: 250;
	/* box */
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
	/* font */
	/* border */
	/* background */
    background-color: #fff;
	/* animation */
	/* etc */
}
.access .map_container .map img {
	/* position */
    position: relative;
	/* display */
    display: block;
    z-index: 250;
	/* box */
    width: 100%;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
@media screen and ( max-width: 1200px ){
    .access .map_container {
        height: calc( 100vw * 0.662 );
    }
}
@media screen and ( max-width: 768px ){
    .access .map_container {
        max-width: none;
        height: auto;
    }
}
/*
access_bg_line
*/
.access .access_bg_line {
	/* position */
    position: absolute;
    top: -9.6rem;
    top: -19.2rem;
    left: 0;
	/* display */
    z-index: 200;
    overflow: hidden;
	/* box */
    width: 100%;
    max-width: 1920px;
    margin: 0 auto 0 auto;
	/* font */
    text-align: right;
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.access .access_bg_line svg {
	/* position */
	/* display */
	/* box */
    width: 1966.86px;
    height: 677.65px;
    float: right;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.access .access_bg_line .svg_path_line_05 {
	/* position */
	/* display */
	/* box */
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
    stroke-dasharray: 2100px;
    stroke-dashoffset: 2100px;
}
.access .access_bg_line .svg_path_line_05.active {
	/* position */
	/* display */
	/* box */
	/* font */
	/* border */
	/* background */
	/* animation */
    animation: move_line_02 5s;
    animation-fill-mode: forwards;
	/* etc */
    stroke-dasharray: 2100px;
}
@keyframes move_line_02 {
    0% {
        stroke-dashoffset: 2100px;
    }
    to {
        stroke-dashoffset: 0px;
    }
}
@media screen and ( max-width: 768px ){
    .access .access_bg_line {
        display: none;
    }
}



/* ========================================

access/index
route_map

======================================== */
.route_map {
	/* position */
    position: relative;
	/* display */
    z-index: 100;
	/* box */
    width: 100%;
    margin: 0 0 9.6rem 0;
    padding: 6.0em 0;
	/* font */
	/* border */
	/* background */
    background-color: #ececec;
	/* animation */
	/* etc */
}
@media screen and ( max-width: 768px ){
    .route_map {
        padding: 3.0em 0;
    }
}
/*
route_map
*/
.route_map_bg_line {
	/* position */
    position: absolute;
    top: 15%;
    left: calc( 50% - 960px );
	/* display */
    z-index: 1;
    overflow: hidden;
	/* box */
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.route_map_bg_line svg {
	/* position */
	/* display */
	/* box */
    width: 1986.08px;
    height: 493.91px;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.route_map_bg_line .svg_path_line_01 {
	/* position */
	/* display */
	/* box */
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
    stroke-dasharray: 2100px;
    stroke-dashoffset: 2100px;
}
.route_map_bg_line .svg_path_line_01.active {
	/* position */
	/* display */
	/* box */
	/* font */
	/* border */
	/* background */
	/* animation */
    animation: move_line_01 5s;
    animation-fill-mode: forwards;
	/* etc */
    stroke-dasharray: 2100px;
}
@keyframes move_line_01 {
    0% {
        stroke-dashoffset: 2100px;
    }
    to {
        stroke-dashoffset: 0px;
    }
}
@media screen and ( max-width: 1920px ){
    .route_map_bg_line {
        left: 0;
    }
}
@media screen and ( max-width: 768px ){
    .route_map_bg_line {
        display: none;
    }
    .route_map_bg_line svg {
        width: 100%;
        height: auto;
    }
    .route_map_bg_line .svg_path_line_01 {
        stroke-dasharray: none;
        stroke-dashoffset: 0;
    }
    .route_map_bg_line .svg_path_line_01.active {
        stroke-dasharray: none;
        stroke-dashoffset: 0;
        animation: none;
    }
}
/*
lead
*/
.route_map .lead {
	/* position */
	/* display */
	/* box */
    margin: 0 auto 3.2rem auto;
    padding: 0;
	/* font */
    text-align: center;
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.route_map .lead h2 {
	/* position */
	/* display */
    display: inline-block;
	/* box */
    padding: 0;
	/* font */
    font-family: "Murecho", sans-serif;
    font-size: 2.4rem;
    color: #1f3a6d;
    text-align: center;
	/* border */
	/* background */
	/* animation */
	/* etc */
}
@media screen and ( max-width: 768px ){
    .route_map .lead {
        margin: 0 auto 1.6rem auto;
    }
    .route_map .lead h2 {
        font-size: 1.8rem;
    }
}
/*
map_container
*/
.route_map .map_container {
	/* position */
    position: relative;
	/* display */
    z-index: 200;
	/* box */
    width: 100%;
    max-width: 800px;
    margin: 0 auto 9.6rem auto;
    padding: 0 15px;
	/* font */
	/* border */
	/* background */
    background-color: #ececec;
	/* animation */
	/* etc */
}
.route_map .map_container img {
	/* position */
	/* display */
    display: block;
	/* box */
    height: calc( 100vh * 0.75 );
    max-height: 750px;
    margin: 0 auto;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
@media screen and ( max-width: 768px ){
    .route_map .map_container {
        margin: 0 0 2.4rem 0;
    }
    .route_map .map_container img {
        width: 100%;
        height: auto;
        max-height: none;
    }
}
/*
rosen_container
*/
.route_map .rosen_container {
	/* position */
    position: relative;
	/* display */
    z-index: 200;
	/* box */
    width: 100%;
    max-width: 1230px;
    margin: 0 auto;
    padding: 0 25px;
	/* font */
    text-align: left;
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.route_map .rosen_container .rosen_flexbox {
	/* position */
	/* display */
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
	/* box */
    width: 100%;
    margin: 0 auto;
    padding: 0;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.route_map .rosen_container .rosen_flexbox .flexitem_left, 
.route_map .rosen_container .rosen_flexbox .flexitem_right {
    width: 49%;
}
.route_map .rosen_container .rosen_flexbox .each_station {
	/* position */
	/* display */
	/* box */
    width: 100%;
    margin: 0 0 35px 0;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.route_map .rosen_container .rosen_flexbox .each_station .station_title {
	/* position */
	/* display */
	/* box */
    width: 100%;
    margin: 0 0 20px 0;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.route_map .rosen_container .rosen_flexbox .each_station .station_title p {
	/* position */
	/* display */
	/* box */
	/* font */
    font-size: 3.2rem;
    color: #1f3a6d;
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type {
	/* position */
	/* display */
	/* box */
    width: 100%;
    margin: 0 0 35px 0;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type .line_type_title {
	/* position */
	/* display */
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
	/* box */
    width: 100%;
    margin: 0 0 15px 0;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type .line_type_title .icon {
}
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type .line_type_title .name {
	/* position */
	/* display */
	/* box */
    padding: 3px 0 0 0;
	/* font */
    font-size: 2.0rem;
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type.express .line_type_title .icon {
	/* position */
	/* display */
	/* box */
    width: 80px;
    height: 25px;
	/* font */
	/* border */
	/* background */
    background-image: url( '../img/position/index/route_map__rosen_container__rosen_flexbox__each_station__line_type_title__icon_express.png' );
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
	/* animation */
	/* etc */
}
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type.jr .line_type_title .icon {
	/* position */
	/* display */
	/* box */
    width: 52px;
    height: 40px;
	/* font */
	/* border */
	/* background */
    background-image: url( '../img/position/index/route_map__rosen_container__rosen_flexbox__each_station__line_type_title__icon_jr.png' );
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
	/* animation */
	/* etc */
}
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type.express .line_type_title .name {
    width: calc( 100% - 80px - 15px );
}
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type.jr .line_type_title .name {
    width: calc( 100% - 52px - 15px );
}
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type .line_flexbox {
	/* position */
	/* display */
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
	/* box */
    width: 100%;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type .line_flexbox .each_line {
	/* position */
	/* display */
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
	/* box */
    width: auto;
    margin: 0 5px 5px 0;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type .line_flexbox .each_line .icon {
	/* position */
	/* display */
	/* box */
    width: 16px;
    height: 16px;
    margin-right: 2px;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type.express .line_flexbox .each_line .icon {
	/* position */
	/* display */
	/* box */
	/* font */
	/* border */
    border-radius: 50%;
	/* background */
    background-color: #c9caca;
	/* animation */
	/* etc */
}
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type.jr .line_flexbox .each_line .icon {
    border-radius: 50%;
}
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type.jr .line_flexbox .each_line.yamanote .icon { background-color: #b3be00; }
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type.jr .line_flexbox .each_line.keihintohoku .icon { background-color: #0085cb; }
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type.jr .line_flexbox .each_line.chuuou .icon { background-color: #e87927; }
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type.jr .line_flexbox .each_line.toukaido .icon { background-color: #f0a322; }
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type.jr .line_flexbox .each_line.takasaki .icon { background-color: #f0a322; }
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type.jr .line_flexbox .each_line.utsunomiya .icon { background-color: #f0a322; }
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type.jr .line_flexbox .each_line.musashino .icon { background-color: #ec6500; }
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type.jr .line_flexbox .each_line.keiyou .icon { background-color: #c9432c; }
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type.jr .line_flexbox .each_line.soubu .icon { background-color: #0066a6; }
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type.jr .line_flexbox .each_line.yokosuka .icon { background-color: #0066a6; }
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type.jr .line_flexbox .each_line.jyouban .icon { background-color: #005b9d; }
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type.jr .line_flexbox .each_line.uenotokyo .icon { background-color: #91004f; }
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type.jr .line_flexbox .each_line.narita .icon { background-color: #9e70a8; }
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type.subway .line_flexbox .each_line .icon {
    border: solid 3px;
    border-radius: 50%;
}
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type.subway .line_flexbox .each_line.marunouchi .icon { border-color: #e62d36; }
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type.subway .line_flexbox .each_line.touzai .icon { border-color: #1c94c4; }
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type.subway .line_flexbox .each_line.ginza .icon { border-color: #f29019; }
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type.subway .line_flexbox .each_line.asakusa .icon { border-color: #d47da0; }
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type.subway .line_flexbox .each_line.hanzoumon .icon { border-color: #8472b2; }
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type.subway .line_flexbox .each_line.yuurakuchou .icon { border-color: #bfa05b; }
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type.subway .line_flexbox .each_line.chiyoda .icon { border-color: #24b180; }
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type.subway .line_flexbox .each_line.mita .icon { border-color: #0c72b5; }
.route_map .rosen_container .rosen_flexbox .each_station .each_line_type .line_flexbox .each_line .name {
    font-size: 1.6rem;
    padding: 3px 0 0 0;
}
@media screen and ( max-width: 768px ){
    .route_map .rosen_container .rosen_flexbox {
        display: block;
    }
    .route_map .rosen_container .rosen_flexbox .flexitem_left, 
    .route_map .rosen_container .rosen_flexbox .flexitem_right {
        width: 100%;
    }
    .route_map .rosen_container .rosen_flexbox .each_station {
        margin: 0 0 35px 0;
    }
    .route_map .rosen_container .rosen_flexbox .each_station .station_title {
        margin: 0 0 15px 0;
    }
    .route_map .rosen_container .rosen_flexbox .each_station .station_title p {
        font-size: 2.4rem;
    }
    .route_map .rosen_container .rosen_flexbox .each_station .each_line_type {
        margin: 0 0 17.5px 0;
    }
    .route_map .rosen_container .rosen_flexbox .each_station .each_line_type .line_type_title {
        margin: 0 0 7.5px 0;
    }
    .route_map .rosen_container .rosen_flexbox .each_station .each_line_type.express .line_type_title .icon {
        width: 51.2px;
        height: 16px;
    }
    .route_map .rosen_container .rosen_flexbox .each_station .each_line_type.jr .line_type_title .icon {
        width: 31.2px;
        height: 24px;
    }
    .route_map .rosen_container .rosen_flexbox .each_station .each_line_type .line_type_title .name {
        font-size: 1.6rem;
    }
    .route_map .rosen_container .rosen_flexbox .each_station .each_line_type.express .line_type_title .name {
        width: calc( 100% - 51.2px - 5px );
    }
    .route_map .rosen_container .rosen_flexbox .each_station .each_line_type.jr .line_type_title .name {
        width: calc( 100% - 31.2px - 5px );
    }
    .route_map .rosen_container .rosen_flexbox .each_station .each_line_type .line_flexbox .each_line .icon {
        width: 14px;
        height: 14px;
    }
    .route_map .rosen_container .rosen_flexbox .each_station .each_line_type .line_flexbox .each_line .name {
        font-family: "Murecho", sans-serif;
        font-size: 1.4rem;
        padding: 3px 0 0 0;
    }
}


/* ========================================

access/index
required_time

======================================== */
.required_time {
	/* position */
    position: relative;
	/* display */
    z-index: 100;
	/* box */
    width: 100%;
    margin: 0 0 150px 0;
    padding: 0;
	/* font */
	/* border */
	/* background */
    background-color: #fff;
	/* animation */
	/* etc */
}
/*
required_time
*/
.required_time .time_container {
	/* position */
    position: relative;
	/* display */
    z-index: 200;
	/* box */
    width: 100%;
    max-width: 1124px;
    margin: 0 auto;
    padding: 0;
	/* font */
    text-align: left;
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.required_time .time_container::before {
    display: none;
}
.required_time .time_container .time {
	/* position */
	/* display */
	/* box */
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    z-index: 200;
}
.required_time .time_container .time img {
    width: 100%;
}
@media screen and ( max-width: 1154px ){
    .required_time .time_container {
        width: 100%;
        margin: 0;
        padding: 0 15px;
    }
}
@media screen and ( max-width: 768px ){
    .required_time {
        width: 100%;
        height: 220px;
        margin: 0 0 4.8rem 0;
    }
    .required_time .time_container {
        width: 100%;
        height: 100%;
        overflow-x: auto;
    }
    .required_time .time_container .time {
        width: 562px;
        height: 220px;
    }
    .required_time .time_container::before {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        content: '';
        width: 100%;
        height: 100%;
        background-image: url( '../img/common/icon_swipe.png' );
        background-repeat: no-repeat;
        background-position: center;
        opacity: 1;
        transition: opacity 1s;
        z-index: 250;
    }
    .required_time .time_container.active::before {
        opacity: 0;
    }
    .required_time .time_container .time img {
        display: block;
        width: 562px;
        height: 220px;
        overflow-x: auto;
    }
}



/* ========================================

access/index
related_page

======================================== */
.related_page {
	/* position */
    position: relative;
	/* display */
    z-index: 100;
	/* box */
    width: 100%;
    margin: 0 0 12.8rem 0;
    padding: 0;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
@media screen and ( max-width: 768px ){
    .related_page {
        margin: 0 0 4.8rem 0;
    }
}
/*
related_page_container
*/
.related_page .related_page_container {
	/* position */
    position: relative;
	/* display */
    z-index: 200;
	/* box */
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
@media screen and ( max-width: 1230px ){
    .related_page .related_page_container {
        width: 100%;
        margin: 0;
        padding: 0 15px;
    }
}
@media screen and ( max-width: 768px ){
}
/*
related_page_flexbox
*/
.related_page .related_page_container .related_page_flexbox {
	/* position */
	/* display */
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
	/* box */
    width: 100%;
    margin: 0 0 9.6rem 0;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
@media screen and ( max-width: 768px ){
    .related_page .related_page_container .related_page_flexbox {
        display: block;
        margin: 0 0 4.8rem 0;
    }
}
/*
flexitem
*/
.related_page .related_page_container .related_page_flexbox .flexitem {
	/* position */
	/* display */
	/* box */
    width: 46.66%;
    max-width: 560px;
    height: 109px;
    margin: 0;
    padding: 0;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
@media screen and ( max-width: 768px ){
    .related_page .related_page_container .related_page_flexbox .flexitem {
        width: 100%;
        height: 65px;
        margin: 0 0 2.4rem 0;
    }
}
/*
flexitem a
*/
.related_page .related_page_container .related_page_flexbox .flexitem a {
	/* position */
    position: relative;
	/* display */
    display: block;
	/* box */
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
	/* font */
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.related_page .related_page_container .related_page_flexbox .flexitem a.btn_location {
	/* position */
	/* display */
	/* box */
	/* font */
	/* border */
	/* background */
    background-image: url( '../img/common/related_page__related_page_container__related_page_flexbox__btn_location_bg.jpg' );
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
	/* animation */
	/* etc */
}
.related_page .related_page_container .related_page_flexbox .flexitem a.btn_entrance {
	/* position */
	/* display */
	/* box */
	/* font */
	/* border */
	/* background */
    background-image: url( '../img/common/related_page__related_page_container__related_page_flexbox__btn_entrance_bg.jpg' );
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
	/* animation */
	/* etc */
}
.related_page .related_page_container .related_page_flexbox .flexitem a div {
    padding: 41.5px 0 0 0;
}
.related_page .related_page_container .related_page_flexbox .flexitem a.comingsoon div {
    padding: 25.22px 0 0 0;
}
.related_page .related_page_container .related_page_flexbox .flexitem a div span {
	/* position */
	/* display */
    display: block;
	/* box */
    width: 250px;
    margin: 0 auto;
	/* font */
    text-align: center;
    font-size: 2.0rem;
    color: #fff;
	/* border */
	/* background */
	/* animation */
	/* etc */
}
.related_page .related_page_container .related_page_flexbox .flexitem a.comingsoon div span {
    opacity: 0.6;
}
.related_page .related_page_container .related_page_flexbox .flexitem a div span.icon {
	/* position */
	/* display */
    display: none;
    opacity: 0.6;
	/* box */
    width: 125px;
    margin: 0 auto 0.2em auto;
    padding: 0.2em 0.8em;
	/* font */
    text-align: center;
    font-size: 1.6rem;
    color: #fff;
	/* border */
    border: solid 1px #fff;
	/* background */
	/* animation */
	/* etc */
}
.related_page .related_page_container .related_page_flexbox .flexitem a.comingsoon div span.icon {
    display: block;
}
@media screen and ( max-width: 768px ){
    .related_page .related_page_container .related_page_flexbox .flexitem a div {
        padding: 23.5px 0 0 0;
    }
    .related_page .related_page_container .related_page_flexbox .flexitem a.comingsoon div {
        padding: 12.22px 0 0 0;
    }
    .related_page .related_page_container .related_page_flexbox .flexitem a div span {
        width: 200px;
        font-size: 1.4rem;
    }
    .related_page .related_page_container .related_page_flexbox .flexitem a div span.icon {
        width: 85px;
        font-size: 1.1rem;
    }
}
.related_page .related_page_container .annotation {
	/* position */
	/* display */
	/* box */
	/* font */
    font-family: "Murecho", sans-serif;
    font-size: 1.2rem;
    color: #999;
	/* border */
	/* background */
	/* animation */
	/* etc */
}


