@charset 'UTF-8';

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,700,900&display=swap&subset=japanese');

@import url('https://fonts.googleapis.com/css?family=Overpass:300,400,600,700,800&display=swap');

/*----------------------------------------
	Fonts
----------------------------------------*/

/*----------------------------------------
	Common
----------------------------------------*/

body
{
    font-family: 'Noto Sans JP', '游ゴシック体', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;

    overflow-x: hidden;

    color: #333;
    background-color: #fff;

    -webkit-font-smoothing: antialiased;
}

a
{
    font-weight: 500;

    -webkit-transition: all .3s ease;
            transition: all .3s ease;
    text-decoration: underline;

    color: #004ea2;
}

a:hover
{
    text-decoration: none;
}

img
{
    vertical-align: bottom;
}

/*----------------------------------------
	Reset CSS
----------------------------------------*/

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
dialog,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
time,
mark,
audio,
video
{
    margin: 0;
    padding: 0;

    vertical-align: baseline;

    border: 0;
    outline: 0;
}

header,
footer,
article,
section,
aside,
hgroup,
nav,
menu,
figure,
figcaption,
time
{
    display: block;
}

li
{
    list-style: none;
}

ol li
{
    list-style: decimal;
}

img
{
    font-size: 0;
    line-height: 0;

    vertical-align: top;

    border: 0;
}

table
{
    border-spacing: 0;
    border-collapse: collapse;
}

caption,
th
{
    text-align: left;
}

hr
{
    display: block;

    height: 1px;
    margin: 1em 0;
    padding: 0;

    border: 0;
    border-top: 1px solid #ccc;
}

input,
select
{
    vertical-align: middle;
}

input,
textarea
{
    margin: 0;
    padding: 0;
}

.l-footer
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    padding: 60px 0;

    background-color: #004ea2;
}

.l-header
{
    width: 100%;
}

.l-main
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    width: 1200px;
    margin: 0 auto;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

.l-primary
{
    width: 900px;
}

.l-sidebar
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 300px;
    padding-left: 20px;
}

/*----------------------------------------
	コンテンツブロック フルサイズ
----------------------------------------*/

.c-block-full
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    margin: 0 auto 80px;
    padding: 60px;

    border-radius: 3px;
    background-color: #fff;
}

/*----------------------------------------
	コンテンツブロック ハーフサイズ
----------------------------------------*/

.c-block-half
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: calc(50% - 20px);
    margin: 0 40px 40px 0;
    padding: 30px;

    border-radius: 3px;
    background-color: #fff;
}

.c-block-half:nth-of-type(even)
{
    margin-right: 0;
}

/*----------------------------------------
	コンテンツブロック CMS用2列
----------------------------------------*/

.c-block-2row-cms
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

.c-block-2row-cms__left,
.c-block-2row-cms__right
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: calc(50% - 20px);
    margin: 0 40px 40px 0;

    border-radius: 3px;
    background-color: #fff;
}

.c-block-2row-cms__left .c-heading-cms-lg,
.c-block-2row-cms__right .c-heading-cms-lg
{
    width: 100%;
}

.c-block-2row-cms__right
{
    margin-right: 0;
}

/*----------------------------------------
	パンくずリスト
----------------------------------------*/

.c-breadcrumbs
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    background-color: #0e355d;
}

.c-breadcrumbs ul
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 1200px;
    margin: 0 auto;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

.c-breadcrumbs ul li
{
    font-size: 12px;
    font-size: .75rem;
    font-weight: 500;
    line-height: 30px;

    position: relative;

    padding-right: 20px;

    letter-spacing: .05em;

    color: #fff;
}

.c-breadcrumbs ul li:after
{
    position: absolute;
    top: 13px;
    right: 7px;

    width: 5px;
    height: 5px;

    content: '';
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);

    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}

.c-breadcrumbs ul li:last-child:after
{
    display: none;
}

.c-breadcrumbs ul li a
{
    text-decoration: none;

    color: #fff;
}

.c-breadcrumbs ul li a:hover
{
    text-decoration: underline;
}

/*----------------------------------------
	VIEWMOREボタン
----------------------------------------*/

.c-viewmore-btn a
{
    line-height: 60px;

    display: block;

    text-align: center;
    text-decoration: none;

    border-radius: 3px;
    background-color: #004ea2;
}

.c-viewmore-btn a:hover
{
    opacity: .8;
}

.c-viewmore-btn a span
{
    font-size: 16px;
    font-size: 1rem;
    font-weight: 600;

    position: relative;

    color: #fff;
}

.c-viewmore-btn a span:after
{
    position: absolute;
    top: 50%;
    right: -10px;

    width: 0;
    height: 0;

    content: '';
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);

    border-width: 6px 0 6px 5px;
    border-style: solid;
    border-color: transparent transparent transparent #fff;
}

/*----------------------------------------
	汎用リンクボタン
----------------------------------------*/

.c-link-btn
{
    line-height: 56px;

    display: inline-block;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;

    -webkit-transition: all .3s ease;
            transition: all .3s ease;
    text-align: center;
    text-decoration: none;

    border: 2px solid #004ea2;
    border-radius: 3px;
    background-color: #fff;
}

.c-link-btn:hover
{
    background-color: #004ea2;
}

.c-link-btn:hover span
{
    color: #fff;
}

.c-link-btn:hover span:after
{
    border-color: transparent transparent transparent #fff;
}

.c-link-btn span
{
    font-size: 16px;
    font-size: 1rem;
    font-weight: 600;

    position: relative;

    color: #004ea2;
}

.c-link-btn span:after
{
    position: absolute;
    top: 50%;
    right: -10px;

    width: 0;
    height: 0;

    content: '';
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);

    border-width: 6px 0 6px 5px;
    border-style: solid;
    border-color: transparent transparent transparent #004ea2;
}

.c-link-btn.pdf span:before
{
    position: absolute;
    top: 50%;
    left: -25px;

    width: 16.5px;
    height: 22px;

    content: '';
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);

    background: transparent url('../../assets/images/common/icon_pdf.svg') 0 0 no-repeat;
    background-size: 16.5px 22px;
}

.c-link-btn.pdf:hover span:before
{
    background-image: url('../../assets/images/common/icon_pdf_white.svg');
}

.c-link-btn.pdf span:before
{
    position: absolute;
    top: 50%;
    left: -25px;

    width: 16.5px;
    height: 22px;

    content: '';
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);

    background: transparent url('../../assets/images/common/icon_pdf.svg') 0 0 no-repeat;
    background-size: 16.5px 22px;
}

.c-link-btn.pdf:hover span:before
{
    background-image: url('../../assets/images/common/icon_pdf_white.svg');
}

.c-link-btn.print span:before
{
    position: absolute;
    top: 50%;
    left: -25px;

    width: 16.5px;
    height: 22px;

    content: '';
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);

    background: transparent url('../../assets/images/common/icon_print_blue.svg') 0 0 no-repeat;
    background-size: 16.5px 22px;
}

.c-link-btn.print span:after
{
    display: none;
}

.c-link-btn.print:hover span:before
{
    background-image: url('../../assets/images/common/icon_print.svg');
}

.c-link-btn.mini
{
    line-height: 45px;

    display: inline-block;

    width: auto;
    margin: 0 0 20px;
    padding: 0 50px 0 40px;
}

.c-link-btn.ext span:before
{
    position: absolute;
    top: 50%;
    right: -25px;

    width: 16.5px;
    height: 22px;

    content: '';
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);

    background: transparent url('../../assets/images/common/icon_external.svg') 0 0 no-repeat;
    background-size: 16.5px 22px;
}

.c-link-btn.ext span:after
{
    display: none;
}

.c-link-btn.ext:hover span:before
{
    background-image: url('../../assets/images/common/icon_external_white.svg');
}

/*----------------------------------------
	検索ボタン
----------------------------------------*/

.c-search-btn
{
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 60px;

    width: 100%;

    cursor: pointer;
    -webkit-transition: all .3s ease;
            transition: all .3s ease;
    text-decoration: none;
    letter-spacing: .05em;

    color: #fff;
    border: none;
    border-radius: 3px;
    outline: none;
    background-color: #004ea1;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

.c-search-btn:hover
{
    opacity: .8;
}

/*----------------------------------------
	PREV/NEXT
----------------------------------------*/

.bx-prev,
.bx-next
{
    font-size: 0;
    font-size: 0rem;

    position: absolute;

    display: block;

    width: 25px;
    height: 25px;

    border-radius: 50%;
    background-color: #004ea2;
}

.bx-prev:before,
.bx-next:before
{
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;

    width: 0;
    height: 0;

    content: '';
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);

    border-style: solid;
}

.bx-prev
{
    left: -40px;
}

.bx-prev:before
{
    border-width: 3.5px 5px 3.5px 0;
    border-color: transparent #fff transparent transparent;
}

.bx-next
{
    right: -40px;
}

.bx-next:before
{
    border-width: 3.5px 0 3.5px 5px;
    border-color: transparent transparent transparent #fff;
}

/*----------------------------------------
	ページーネーション
----------------------------------------*/

.bx-pager
{
    line-height: 1;

    width: 100%;

    text-align: center;
}

.bx-pager .bx-pager-item
{
    display: inline-block;

    margin: 0 8px;

    vertical-align: middle;
}

.bx-pager .bx-pager-item a
{
    font-size: 0;
    font-size: 0rem;

    display: block;

    width: 10px;
    height: 10px;

    border: 1px solid #014ea2;
    border-radius: 50%;
    background-color: #fff;
}

.bx-pager .bx-pager-item a.active
{
    border: 3px solid #014ea2;
    background-color: #014ea2;
}

/*----------------------------------------
	チェックボックス
----------------------------------------*/

.c-checkbox
{
    font-size: 16px;
    font-size: 1rem;
    font-weight: 600;
    line-height: 20px;

    position: relative;

    display: block;

    padding-left: 25px;

    cursor: pointer;
    letter-spacing: .05em;

    color: #666;
}

.c-checkbox input
{
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;

    opacity: 0;
}

.c-checkbox input:checked ~ .indicator:after
{
    display: block;
}

.c-checkbox input:checked ~ .indicator
{
    border: none;
    background-color: #004ea2;
}

.c-checkbox input:checked ~ .frame
{
    display: block;
}

.c-checkbox .indicator
{
    position: absolute;
    top: 0;
    left: 0;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 20px;
    height: 20px;

    -webkit-transition: all .3s ease;
            transition: all .3s ease;

    border: 2px solid #c3c3c3;
}

.c-checkbox .indicator:after
{
    position: absolute;
    top: 4px;
    left: 8px;

    display: none;

    width: 3px;
    height: 8px;

    content: '';
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);

    border: solid #fff;
    border-width: 0 2px 2px 0;
}

/*----------------------------------------
	セクション見出し Sサイズ
----------------------------------------*/

.c-heading-sm
{
    font-size: 24px;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1;

    margin-bottom: 50px;

    text-align: center;

    color: #333;
}

.c-heading-sm .en
{
    font-family: 'Overpass', sans-serif;
    font-size: 14px;
    font-size: .875rem;

    display: block;

    margin-top: 10px;

    color: #004ea2;
}

/*----------------------------------------
	セクション見出し Lサイズ
----------------------------------------*/

.c-heading-lg
{
    font-size: 32px;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1;

    margin-bottom: 50px;

    text-align: center;

    color: #333;
}

.c-heading-lg .icon
{
    display: inline-block;

    margin-right: 10px;
}

.c-heading-lg .en
{
    font-family: 'Overpass', sans-serif;
    font-size: 16px;
    font-size: 1rem;

    display: block;

    margin-top: 15px;

    letter-spacing: .05em;

    color: #004ea2;
}

/*----------------------------------------
	第３階層見出し
----------------------------------------*/

.c-heading-lv3
{
    font-size: 28px;
    font-size: 1.75rem;
    line-height: 1;

    position: relative;

    margin-bottom: 60px;

    text-align: center;

    color: #333;
}

.c-heading-lv3.sm
{
    font-size: 24px;
    font-size: 1.5rem;
}

.c-heading-lv3.lg
{
    font-size: 32px;
    font-size: 2rem;
}

.c-heading-lv3:after
{
    position: absolute;
    bottom: -25px;
    left: 50%;

    width: 30px;
    height: 5px;

    content: '';
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);

    border-radius: 3px;
    background-color: #004ea2;
}

.c-heading-lv3 .icon
{
    display: block;

    margin-bottom: 25px;
}

.c-heading-lv3 .icon img
{
    width: auto;
    height: 50px;
}

/*----------------------------------------
	CMSコンポーネント見出し大
----------------------------------------*/

.c-heading-cms-lg
{
    font-size: 26px;
    font-size: 1.625rem;
    font-weight: 600;
    line-height: 1.6;

    position: relative;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 0 auto 20px;
    padding-left: 20px;
}

.c-heading-cms-lg:before
{
    position: absolute;
    top: 5px;
    left: 0;

    width: 5px;
    height: 30px;

    content: '';

    border-radius: 3px;
    background-color: #004ea2;
}

/*----------------------------------------
	CMSコンポーネント見出し中
----------------------------------------*/

.c-heading-cms-md
{
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.6;

    position: relative;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 0 auto 20px;
    padding-bottom: 10px;

    border-bottom: 2px solid #dadcdc;
}

.c-heading-cms-md:before
{
    position: absolute;
    bottom: -2px;
    left: 0;

    width: 50px;
    height: 2px;

    content: '';

    border-radius: 3px;
    background-color: #004ea2;
}

.c-heading-cms-md .icon
{
    padding: 0 10px;
}

.c-heading-cms-md .icon img
{
    width: 22px;

    vertical-align: middle;
}

/*----------------------------------------
	CMSコンポーネント見出し小
----------------------------------------*/

.c-heading-cms-sm
{
    font-size: 15px;
    font-size: .9375rem;
    font-weight: 600;
    line-height: 1.6;

    position: relative;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 0 auto 20px;
    padding: 10px 10px 10px 35px;

    border-radius: 3px;
    background-color: #f6f7f8;
}

.c-heading-cms-sm:before
{
    position: absolute;
    top: 15px;
    left: 10px;

    width: 14px;
    height: 14px;

    content: '';

    border-radius: 3px;
    background-color: #004ea2;
}

/*----------------------------------------
	CMSコンポーネント見出し最小
----------------------------------------*/

.c-heading-cms-xsm
{
    font-size: 14px;
    font-size: .875rem;
    font-weight: 600;
    line-height: 1.6;

    position: relative;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 0 auto 20px;
    padding: 0 0 0 25px;

    border-radius: 3px;
}

.c-heading-cms-xsm:before
{
    position: absolute;
    top: 5px;
    left: 0;

    width: 14px;
    height: 14px;

    content: '';

    border-radius: 3px;
    background-color: #333;
}

/*----------------------------------------
	CMSコンポーネント イメージボックス
----------------------------------------*/

.c-imgbox-cms
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 0 auto 30px;
    padding: 0 40px;

    text-align: center;
}

.c-imgbox-cms img
{
    width: auto;
    max-width: 100%;
    height: auto;
}

.c-imgbox-cms figcaption
{
    font-size: 13px;
    font-size: .8125rem;
    font-weight: 500;
    line-height: 1.6;

    margin-top: 5px;

    color: #666;
}

/*----------------------------------------
	CMSコンポーネント イメージ+テキスト
----------------------------------------*/

.c-imgbox-combo-cms
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 0 auto 30px;

    text-align: left;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
            align-items: flex-start;
}

.c-imgbox-combo-cms figure
{
    position: relative;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 40%;
    padding: 20px;

    text-align: center;

    border: 1px solid #ccc;
}

.c-imgbox-combo-cms figure img
{
    width: auto;
    max-width: 100%;
    height: auto;
}

.c-imgbox-combo-cms .text
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 60%;
    padding-left: 5%;
}

.c-imgbox-combo-cms .text p
{
    font-size: 15px;
    font-size: .9375rem;
    font-weight: 500;
    line-height: 1.6;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 0 0 20px;

    color: #666;
}

.c-imgbox-flex-cms
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
}

.c-imgbox-flex-cms .c-imgbox-cms
{
    padding: 0 20px;
}

/*----------------------------------------
	テキストインプット
----------------------------------------*/

.c-header-search
{
    position: relative;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 480px;
    height: 50px;
    margin-right: 40px;
    padding-top: 5px;
}

.c-header-search input
{
    font-size: 16px;
    font-size: 1rem;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    height: 40px;
    padding: 0 15px;

    -webkit-transition: all .3s ease;
            transition: all .3s ease;

    border: 1px solid #ecedef;
    border-radius: 20px;
    background-color: #ecedef;

       -moz-appearance: none;
    -webkit-appearance: none;
            appearance: none;
}

.c-header-search input::-ms-clear
{
    visibility: hidden;
}

.c-header-search input:focus
{
    border-color: #004ea1;
    outline: none;
    background-color: #fff;
}

.c-header-search button
{
    position: absolute;
    top: 50%;
    right: 15px;

    padding: 0;

    cursor: pointer;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);

    border: none;
    outline: none;
    background-color: transparent;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

/*----------------------------------------
	汎用テキストインプット
----------------------------------------*/

.c-input input
{
    font-size: 16px;
    font-size: 1rem;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    height: 55px;
    padding: 0 15px;

    -webkit-transition: all .3s ease;
            transition: all .3s ease;

    border: 1px solid #ecedef;
    border-radius: 3px;
    background-color: #ecedef;

       -moz-appearance: none;
    -webkit-appearance: none;
            appearance: none;
}

.c-input input::-ms-clear
{
    visibility: hidden;
}

.c-input input:focus
{
    border-color: #004ea1;
    outline: none;
    background-color: #fff;
}

.c-input.mini input
{
    font-size: 15px;
    font-size: .9375rem;
    font-weight: 600;

    width: 220px;
    height: 35px;

    color: #333;
}

.c-input.label
{
    position: relative;
    /*
		.icon{
			position: absolute;
			top: 10px;
			left: 10px;
			@include tablet{
				top: .781vw;
				left: .781vw;
				
				img{
					width: 2.81vw;
					height: 2.81vw;
				}//img
			}//tablet
			@include sp{
				top: 2vw;
				left: 2vw;
				
				img{
					width: 9.33vw;
					height: 9.33vw;
				}//img
			}//sp
		}//.icon
		*/
}

.c-input.label.is_active input
{
    border: 2px solid #004ea1;
}

.c-input.label.busstop input
{
    background-image: url(../img/icon_bus_frame.svg);
}

.c-input.label.community input
{
    background-image: url(../img/icon_com_bus_stop_frame.svg);
}

.c-input.label.station input
{
    background-image: url(../img/icon_train_frame.svg);
}

.c-input.label.landmark input
{
    background-image: url(../img/icon_land_mark_frame.svg);
}

.c-input.label input
{
    font-size: 22px;
    font-size: 1.375rem;
    font-weight: 600;

    padding: 0 0 0 60px;

    border-width: 2px;
    background-repeat: no-repeat;
    background-position: 10px 50%;
}

.c-input.label input::-ms-clear
{
    visibility: hidden;
}

.c-input.label input:focus
{
    background-color: #ecedef;
}

/*----------------------------------------
	汎用テキストリンク
----------------------------------------*/

.c-text-link
{
    line-height: 1;

    position: relative;

    display: block;

    margin: 0 0 20px;
}

.c-text-link a
{
    font-size: 16px;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1;

    text-decoration: underline;

    color: #004ea2;
}

.c-text-link a:hover
{
    text-decoration: none;
}

.c-text-link.pdf:before
{
    display: inline-block;

    width: 16.5px;
    height: 22px;
    margin-right: 7px;

    content: '';
    vertical-align: middle;

    background: transparent url('../../assets/images/common/icon_pdf.svg') 0 0 no-repeat;
    background-size: 16.5px 22px;
}

/*----------------------------------------
	CMSコンポーネント スタンダードリスト
----------------------------------------*/

.c-list-cms-std
{
    margin: 0 auto 60px;
}

.c-list-cms-std li
{
    font-size: 15px;
    font-size: .9375rem;
    font-weight: 500;
    line-height: 1.6;

    position: relative;

    margin-bottom: 5px;
    padding: 0 0 0 20px;

    color: #666;
}

.c-list-cms-std li:before
{
    position: absolute;
    top: 8px;
    left: 0;

    width: 12px;
    height: 12px;

    content: '';

    border-radius: 3px;
    background-color: #004ea2;
}

/*----------------------------------------
	CMSコンポーネント 番号付きリスト
----------------------------------------*/

.c-list-cms-num
{
    margin: 0 auto 60px;
}

.c-list-cms-num li
{
    font-size: 15px;
    font-size: .9375rem;
    font-weight: 500;
    line-height: 1.6;

    position: relative;

    margin-bottom: 5px;
    padding: 0 0 0 25px;

    color: #666;
}

.c-list-cms-num li:before
{
    font-family: 'Overpass', sans-serif;
    font-size: 12px;
    font-size: .75rem;
    font-weight: 600;
    line-height: 16px;

    position: absolute;
    top: 5px;
    left: 0;

    width: 16px;
    height: 16px;

    content: '1';
    text-align: center;

    color: #004ea2;
    border: 1px solid #004ea2;
    border-radius: 3px;
}

.c-list-cms-num li:nth-child(2):before
{
    content: '2';
}

.c-list-cms-num li:nth-child(3):before
{
    content: '3';
}

.c-list-cms-num li:nth-child(4):before
{
    content: '4';
}

.c-list-cms-num li:nth-child(5):before
{
    content: '5';
}

.c-list-cms-num li:nth-child(6):before
{
    content: '6';
}

.c-list-cms-num li:nth-child(7):before
{
    content: '7';
}

.c-list-cms-num li:nth-child(8):before
{
    content: '8';
}

.c-list-cms-num li:nth-child(9):before
{
    content: '9';
}

.c-list-cms-num li:nth-child(10):before
{
    content: '10';
}

/*----------------------------------------
	CMSコンポーネント シンプル番号付きリスト
----------------------------------------*/

.c-list-cms-num-simple
{
    margin: 0 0 40px 20px;
}

.c-list-cms-num-simple li
{
    font-size: 15px;
    font-size: .9375rem;
    font-weight: 500;
    line-height: 1.6;

    position: relative;

    margin-bottom: 5px;

    color: #666;
}

/*----------------------------------------
	モーダル
----------------------------------------*/

.c-modal
{
    position: relative;
    z-index: 1000;

    display: none;
}

.c-modal__bg
{
    position: fixed;
    top: 0;
    left: 0;

    width: 100%;
    height: 90vh;

    background: rgba(0, 0, 0, .8);
}

.c-modal__container
{
    position: relative;
    top: 50%;
    left: 50%;

    width: 800px;

    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);

    background-color: #fff;
}

.c-modal__container h4
{
    font-size: 26px;
    font-size: 1.625rem;
    line-height: 1.4;

    padding: 20px 40px;

    background-color: #ffec05;
}

.c-modal__container__inner
{
    padding: 30px 40px;
}

.c-modal__container__inner p
{
    font-size: 15px;
    font-size: .9375rem;
    line-height: 1.8;

    margin-bottom: 20px;

    color: #666;
    
	overflow-y: auto;
	height: 50vh;
}

.c-modal__container__inner .close-btn a
{
    line-height: 56px;

    display: block;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    text-align: center;
    text-decoration: none;

    border: 2px solid #004ea2;
    border-radius: 5px;
    background-color: #fff;
}

.c-modal__container__inner .close-btn a:hover
{
    opacity: .8;
}

.c-modal__container__inner .close-btn a span
{
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 600;

    position: relative;

    color: #004ea2;
}

.c-modal__container__inner .btns
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    margin-top: 40px;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
}

.c-modal__container__inner .btns li
{
    width: 330px;
    margin: 0 10px;
}

/*----------------------------------------
	ニュース一覧
----------------------------------------*/

.c-news-list dl
{
    margin-bottom: 50px;
}

.c-news-list dl dt
{
    font-family: 'Overpass', sans-serif;
    font-size: 14px;
    font-size: .875rem;
    line-height: 1;

    margin-bottom: 10px;

    letter-spacing: .05em;

    color: #666;
}

.c-news-list dl dt .cat
{
    font-size: 11px;
    font-size: .6875rem;
    font-weight: 500;
    line-height: 1;

    display: inline-block;

    margin-left: 10px;
    padding: 6px 4px 4px;

    -webkit-transition: all .3s ease;
            transition: all .3s ease;
    text-decoration: none;

    color: #004ea2;
    border: 1px solid #004ea2;
    border-radius: 3px;
}

.c-news-list dl dt .cat:hover
{
    color: #fff;
    background-color: #004ea2;
}

.c-news-list dl dd
{
    margin-bottom: 30px;
    padding-bottom: 30px;

    border-bottom: 1px solid #dadcdc;
}

.c-news-list dl dd.release
{
    position: relative;

    padding-left: 30px;
}

.c-news-list dl dd.release:before
{
    position: absolute;
    top: 0;
    left: 0;

    content: url(../img/icon_pdf.svg);
}

.c-news-list dl dd a
{
    font-size: 16px;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.6;

    text-decoration: none;

    color: #333;
}

.c-news-list dl dd a:hover
{
    opacity: .6;
}

/*----------------------------------------
	簡易ニュース一覧
----------------------------------------*/

.c-news-list-simple ul li
{
    margin-bottom: 20px;
    padding-bottom: 20px;

    border-bottom: 1px solid #dadcdc;
}

.c-news-list-simple ul li dl
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

.c-news-list-simple ul li dl dt
{
    font-size: 15px;
    font-size: .9375rem;
    font-weight: 600;

    margin-right: 20px;

    letter-spacing: .05em;

    color: #666;
}

.c-news-list-simple ul li dl dd a
{
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.4;

    text-decoration: none;
    letter-spacing: .05em;

    color: #333;
}

.c-news-list-simple ul li dl dd a:hover
{
    text-decoration: underline;
}

/*----------------------------------------
	ページネーション 
----------------------------------------*/

.c-pagination ul
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
}

.c-pagination ul li
{
    margin: 0 10px 0 0;

    text-align: center;
}

.c-pagination ul li:last-child
{
    margin-right: 0;
}

.c-pagination ul li a
{
    font-size: 14px;
    font-size: .875rem;
    line-height: 30px;

    display: block;

    width: 30px;
    height: 30px;

    text-decoration: none;

    color: #004ea2;
    border: 1px solid #004ea2;
    border-radius: 3px;
}

.c-pagination ul li a:hover,
.c-pagination ul li a.active
{
    color: #fff;
    background-color: #004ea2;
}

.c-pagination ul li.prev a,
.c-pagination ul li.next a
{
    width: 50px;
}

/*----------------------------------------
	ラジオボタン
----------------------------------------*/

.c-radio
{
    position: relative;

    width: 100%;
}

.c-radio input[type='radio']
{
    position: absolute;

    opacity: 0;
}

.c-radio input[type='radio'] + label
{
    font-size: 16px;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1;

    position: relative;

    padding-left: 25px;

    cursor: pointer;
    letter-spacing: .05em;

    color: #333;
}

.c-radio input[type='radio'] + label:before
{
    position: absolute;
    top: 50%;
    left: 0;

    display: inline-block;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 20px;
    height: 20px;

    content: '';
    cursor: pointer;
    -webkit-transition: all .25s ease;
            transition: all .25s ease;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    text-align: center;

    border: 1px solid #c3c3c3;
    border-radius: 100%;
    background-color: #fff;
}

.c-radio input[type='radio']:checked + label:before
{
    border-color: #004ea2;
    background-color: #004ea2;
    -webkit-box-shadow: inset 0 0 0 4px #fff;
            box-shadow: inset 0 0 0 4px #fff;
}

/*----------------------------------------
	ラジオボタン 太め
----------------------------------------*/

.c-radio-thick
{
    position: relative;

    width: 100%;
}

.c-radio-thick input[type='radio']
{
    width: 100%;
    height: 55px;

    cursor: pointer;

    opacity: 0;
}

.c-radio-thick input[type='radio']:checked + label
{
    color: #fff;
    background-color: #004ea1;
}

.c-radio-thick input[type='radio']:disabled + label
{
    color: #fff;
    background-color: #ecedef;
}

.c-radio-thick label
{
    font-size: 15px;
    font-size: .9375rem;
    font-weight: 600;
    line-height: 55px;

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    -webkit-transition: all .3s ease;
            transition: all .3s ease;
    text-align: center;
    pointer-events: none;

    color: #333;
    background: #ecedef;
}

.c-radio-thick label:hover
{
    background-color: #d9d9d9;
}

.c-radio-thick.mini input[type='radio']
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    height: 38px;

    cursor: pointer;

    opacity: 0;
}

.c-radio-thick.mini label
{
    font-size: 16px;
    font-size: 1rem;
    line-height: 37px;

    height: 100%;

    color: #666;
}

/*----------------------------------------
	CMSコンポーネント シンプル路線図
----------------------------------------*/

.c-routemap-cms
{
    margin-bottom: 40px;
}

.c-routemap-cms ul li
{
    font-size: 16px;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1;

    position: relative;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin-bottom: 20px;
    padding: 15px 20px;

    border: 2px solid #dadcdc;
    border-radius: 3px;
    background-color: #f6f7f8;
}

.c-routemap-cms ul li:after
{
    position: absolute;
    bottom: -22px;
    left: 20px;

    width: 10px;
    height: 20px;

    content: '';

    background-color: #0e355d;
}

.c-routemap-cms ul li:last-child:after
{
    display: none;
}

/*----------------------------------------
	スクロールトップ
----------------------------------------*/

.c-scroll-top
{
    position: fixed;
    z-index: 10;
    right: 20px;
    bottom: 20px;

    width: 50px;
    height: 50px;
}

.c-scroll-top img
{
    width: 100%;
    height: auto;
}

/*----------------------------------------
	CMSコンポーネント 路線検索
----------------------------------------*/

.c-search-cms
{
    width: 660px;
    margin-bottom: 50px;
}

.c-search-cms form
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

.c-search-cms form dl
{
    width: 300px;
}

.c-search-cms form dl dt
{
    font-size: 16px;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;

    margin-bottom: 10px;

    letter-spacing: .05em;

    color: #333;
}

.c-search-cms form dl dt .icon
{
    margin-right: 5px;
}

.c-search-cms form dl dt .icon img
{
    vertical-align: middle;
}

.c-search-cms form dl dt a
{
    font-size: 13px;
    font-size: .8125rem;
    font-weight: 600;
    line-height: 1;

    display: inline-block;

    margin-left: 10px;
    padding: 7px 10px;

    -webkit-transition: all .3s ease;
            transition: all .3s ease;
    text-decoration: none;
    letter-spacing: .05em;

    color: #004ea1;
    border: 1px solid #004ea1;
    border-radius: 3px;
    background-color: #fff;
}

.c-search-cms form dl dt a:hover
{
    color: #fff;
    background-color: #004ea1;
}

.c-search-cms form .trade
{
    line-height: 50px;

    width: 60px;
    height: 50px;
    margin: 35px 0 0;

    cursor: pointer;
    text-align: center;
}

.c-search-cms form .trade img
{
    width: 25px;
    height: auto;

    vertical-align: middle;
}

.c-search-cms form .c-search-btn
{
    line-height: 50px;

    margin-top: 15px;
}

/*----------------------------------------
	セレクトボックス
----------------------------------------*/

.c-select
{
    font-size: 16px;
    font-size: 1rem;
    line-height: 25px;

    display: inline-block;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 0;
    padding: 14px 55px 14px 15px;

    cursor: pointer;

    color: #333;
    border: none;
    border-radius: 4px;
    background-color: #ebedef;
    background-image: linear-gradient(45deg, transparent 50%, #fff 50%), linear-gradient(135deg, #fff 50%, transparent 50%), linear-gradient(to right, #004ea2, #004ea2);
    background-repeat: no-repeat;
    background-position: calc(100% - 20px) 50%, calc(100% - 15px) 50%, 100% 0;
    background-size: 5px 5px, 5px 5px, 40px 55px;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

.c-select::-ms-expand
{
    display: none;
}

.c-select:focus
{
    outline: 0;
}

.c-select:disabled
{
    pointer-events: none;

    color: #fff !important;
    background-image: linear-gradient(45deg, transparent 50%, #fff 50%), linear-gradient(135deg, #fff 50%, transparent 50%), linear-gradient(to right, #dedede, #dedede);
}

.c-select::-moz-focusring
{
    color: transparent;
    text-shadow: 0 0 0 #000;
}

.c-select::-ms-expand
{
    display: none;
}

.c-select.mini
{
    font-size: 18px;
    font-size: 1.125rem;

    padding: 5px 30px 5px 10px;

    background-position: calc(100% - 10px) 50%, calc(100% - 5px) 50%, 100% 0;
    background-size: 5px 5px, 5px 5px, 20px 35px;
}

.c-select-cms
{
    position: relative;
}

.c-select-cms:before
{
    position: absolute;
    z-index: 1;
    top: 42%;
    right: 10px;

    width: 0;
    height: 0;

    content: '';
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);

    border-width: 0 4.5px 6px 4.5px;
    border-style: solid;
    border-color: transparent transparent #666 transparent;
}

.c-select-cms.label
{
    position: relative;
}

.c-select-cms.label.is_active select
{
    border: 2px solid #004ea1;
}

.c-select-cms.label.busstop select
{
    background-image: url(../img/icon_bus_frame.svg);
}

.c-select-cms.label.community select
{
    background-image: url(../img/icon_com_bus_stop_frame.svg);
}

.c-select-cms.label.station select
{
    background-image: url(../img/icon_train_frame.svg);
}

.c-select-cms.label.landmark select
{
    background-image: url(../img/icon_land_mark_frame.svg);
}

.c-select-cms.label select
{
    font-size: 22px;
    font-size: 1.375rem;
    font-weight: 600;

    padding: 12px 65px 12px 60px;

    color: #333;
    border: 2px solid #ebedef;
    background-repeat: no-repeat;
    background-position: 10px 50%;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

.c-select-cms.label select:focus
{
    background-color: #ecedef;
}

.c-select-cms.label:before
{
    right: 45px;
}

.c-select-cms.label:after
{
    right: 45px;
}

.c-select-cms:after
{
    position: absolute;
    top: 58%;
    right: 10px;

    width: 0;
    height: 0;

    content: '';
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);

    border-width: 6px 4.5px 0 4.5px;
    border-style: solid;
    border-color: #666 transparent transparent transparent;
}

.c-select-cms select
{
    font-size: 16px;
    font-size: 1rem;
    line-height: 25px;

    position: relative;

    display: inline-block;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 14px 55px 14px 15px;

    cursor: pointer;
    -webkit-transition: all .3s ease;
            transition: all .3s ease;

    color: #666;
    border: none;
    border-radius: 4px;
    background-color: #ebedef;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

.c-select-cms select::-ms-expand
{
    display: none;
}

.c-select-cms select:focus
{
    outline: 0;
}

.c-select-cms select:disabled
{
    pointer-events: none;

    color: #fff !important;
}

/*----------------------------------------
	CMSコンポーネント 表バーティカル
----------------------------------------*/

.c-table-cms-vtcl
{
    width: 100%;
    margin: 0 auto 60px;
}

.c-table-cms-vtcl th
{
    font-size: 15px;
    font-size: .9375rem;
    font-weight: 600;
    line-height: 1.6;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    max-width: 160px;
    padding: 10px 20px;

    vertical-align: middle;

    color: #333;
    border: 1px solid #dadcdc;
    background-color: #f6f7f8;
}

.c-table-cms-vtcl td
{
    font-size: 14px;
    font-size: .875rem;
    font-weight: 500;
    line-height: 1.6;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 10px 20px;

    vertical-align: middle;

    color: #666;
    border: 1px solid #dadcdc;
}

/*----------------------------------------
	CMSコンポーネント 表ホライゾナル
----------------------------------------*/

.c-table-cms-hrzn
{
    width: 100%;
    margin: 0 auto 60px;
}

.c-table-cms-hrzn th
{
    font-size: 15px;
    font-size: .9375rem;
    font-weight: 600;
    line-height: 1.6;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 15px 20px;

    text-align: center;
    vertical-align: middle;

    color: #333;
    border: 1px solid #dadcdc;
    background-color: #f6f7f8;
}

.c-table-cms-hrzn td
{
    font-size: 14px;
    font-size: .875rem;
    font-weight: 500;
    line-height: 1.6;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 15px 20px;

    vertical-align: middle;

    color: #666;
    border: 1px solid #dadcdc;
}

.c-table-cms-wrap
{
    overflow-x: scroll;

    width: 100%;
}

/*----------------------------------------
	CMSコンポーネント タブ
----------------------------------------*/

.c-tabs-cms
{
    overflow: hidden;

    margin-bottom: 40px;
}

.c-tabs-cms__selector
{
    position: relative;
    z-index: 5;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: calc(100% - 80px);
    margin: 0 auto;

    -webkit-transform: translateY(2px);
        -ms-transform: translateY(2px);
            transform: translateY(2px);
}

.c-tabs-cms__selector .prev,
.c-tabs-cms__selector .next
{
    position: absolute;
    z-index: 1;
    top: 25px;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 25px;
    height: 25px;

    cursor: pointer;
    -webkit-transition: opacity .3s ease;
            transition: opacity .3s ease;

    opacity: 1;
    border-radius: 50%;
    background-color: #999;
}

.c-tabs-cms__selector .prev:before,
.c-tabs-cms__selector .next:before
{
    position: absolute;
    top: 10px;

    width: 5px;
    height: 5px;

    content: '';
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);

    border: 2px solid #fff;
}

.c-tabs-cms__selector .prev.swiper-button-disabled,
.c-tabs-cms__selector .next.swiper-button-disabled
{
    opacity: 0;
}

.c-tabs-cms__selector .prev
{
    left: -30px;
}

.c-tabs-cms__selector .prev:before
{
    left: 10px;

    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);

    border-right: none;
    border-bottom: none;
}

.c-tabs-cms__selector .next
{
    right: -30px;
}

.c-tabs-cms__selector .next:before
{
    right: 10px;

    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);

    border-bottom: none;
    border-left: none;
}

.c-tabs-cms__selector ul
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    margin: 0 auto;
}

.c-tabs-cms__selector ul li
{
    position: relative;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: auto;
    padding: 15px 20px;

    cursor: pointer;
    text-align: center;
    /* 選択されている */
}

.c-tabs-cms__selector ul li:hover p
{
    opacity: .8;
}

.c-tabs-cms__selector ul li p
{
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 15px 40px;

    -webkit-transition: all .3s ease;
            transition: all .3s ease;

    color: #fff;
    border-radius: 3px;
    background-color: #004ea2;
}

.c-tabs-cms__selector ul li.is_select
{
    border: 2px solid #dadcdc;
    border-bottom: none;
    background-color: #fff;
}

.c-tabs-cms__selector ul li.is_select p
{
    color: #333;
    background-color: transparent;
}

.c-tabs-cms__content
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 30px 40px;

    border: 2px solid #dadcdc;
}

.c-tabs-cms__content__tab
{
    display: none;
}

.c-tabs-cms__content__tab:nth-of-type(1)
{
    display: block;
}

/*----------------------------------------
	CMSコンポーネント テキスト
----------------------------------------*/

.c-text-cms
{
    font-size: 15px;
    font-size: .9375rem;
    font-weight: 500;
    line-height: 1.6;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 0 auto 20px;

    color: #666;
}

.c-text-cms .c-text-link
{
    display: inline;

    margin-bottom: 0;
}

/*----------------------------------------
	CMSコンポーネント テキストボックス
----------------------------------------*/

.c-textbox-cms
{
    margin-bottom: 30px;
}

.c-textbox-cms dl
{
    padding: 20px;

    border-radius: 3px;
    background-color: #f6f7f8;
}

.c-textbox-cms dl dt
{
    font-size: 15px;
    font-size: .9375rem;
    font-weight: 600;
    line-height: 1.4;

    position: relative;

    margin-bottom: 20px;
    padding: 0 0 15px 20px;

    color: #333;
    border-bottom: 1px solid #dadcdc;
}

.c-textbox-cms dl dt:before
{
    position: absolute;
    top: 5px;
    left: 0;

    width: 12px;
    height: 12px;

    content: '';

    border-radius: 3px;
    background-color: #004ea2;
}

.c-textbox-cms dl dd p
{
    font-size: 15px;
    font-size: .9375rem;
    font-weight: 500;
    line-height: 1.6;

    margin-bottom: 20px;

    color: #666;
}

.c-textbox-cms dl dd p:last-of-type
{
    margin-bottom: 0;
}

/*----------------------------------------
	ティッカー
----------------------------------------*/

.c-ticker
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    overflow: hidden;

    width: 100%;
    margin-bottom: 5px;

    border-radius: 3px;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    /* オレンジカラー */
    /* 重要 */
}

.c-ticker dt
{
    font-size: 16px;
    font-size: 1rem;
    font-weight: 600;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    width: 135px;

    text-align: center;

    color: #fff;
    background-color: #e83820;

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
}

.c-ticker dd
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: calc(100% - 135px);
    min-height: 40px;
    padding: 10px 30px;

    background-color: #555;

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}

.c-ticker dd a
{
    font-size: 15px;
    font-size: .9375rem;
    font-weight: 600;

    text-decoration: none;

    color: #fff;
}

.c-ticker dd a:hover
{
    opacity: .6;
}

.c-ticker.ora dt
{
    background-color: #f5a100;
}

.c-ticker.ora dd
{
    background-color: #f6f7f8;
}

.c-ticker.ora dd a
{
    color: #333;
}

.c-ticker.important dt
{
    font-size: 24px;
    font-size: 1.5rem;

    color: #333;
    background-color: #ffec05;
}

.c-ticker.important dd
{
    padding: 20px 30px;

    background-color: #ffec05;
}

.c-ticker.important dd a
{
    font-size: 24px;
    font-size: 1.5rem;

    color: #333;
}

.c-youtube-cms
{
    position: relative;

    width: 100%;
    margin-bottom: 60px;
    padding-top: 56.25%;
}

.c-youtube-cms iframe
{
    position: absolute;
    top: 0;
    right: 0;
    left: 0;

    height: 100% !important;
    margin: 0 auto;
}

.u-align-l
{
    text-align: left;
}

.u-align-c
{
    text-align: center;
}

.u-align-r
{
    text-align: right;
}

.u-color-red
{
    color: #f00;
}

.u-color-blue
{
    color: #0078d8;
}

.u-sp-display
{
    display: none;
}

.u-pc-display
{
    display: block;
}

.u-flex
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
}

/* マージンボトム0 */

.u-mb0
{
    margin-bottom: 0;
}

/*----------------------------------------
	ヘッダー上部
----------------------------------------*/

.p-header-above
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    width: 1200px;
    margin: 0 auto;
    padding: 15px 0;
}

.p-header-above__logo
{
    margin: 0 50px 0 0;
}

.p-header-above__logo a
{
    display: block;
}

.p-header-above__snavi
{
    padding: 15px 0;
}

.p-header-above__snavi.lang
{
    margin-left: auto;
    /*
			@include tablet{
				padding-left: 40.625vw;
			}//tablet
			@include sp{
				padding-left: 0;
			}//sp
			*/
}

.p-header-above__snavi ul
{
    font-size: 0;
    font-size: 0rem;

    vertical-align: middle;
}

.p-header-above__snavi ul li
{
    line-height: 1;

    position: relative;

    display: inline-block;

    min-width: 100px;
    margin-right: 40px;
}

.p-header-above__snavi ul li:last-child
{
    margin-right: 0;
}

.p-header-above__snavi ul li a
{
    font-size: 16px;
    font-size: 1rem;
    font-weight: 600;

    display: block;

    text-decoration: none;
}

.p-header-above__snavi ul li a:hover
{
    opacity: .6;
}

.p-header-above__snavi ul li a .icon
{
    margin-right: 10px;
}

.p-header-above__snavi ul li a .icon img
{
    width: auto;
    height: 18px;

    vertical-align: top;
}

.p-header-above__snavi ul li.global
{
    position: relative;
}

.p-header-above__snavi ul li.global a.is_active:after
{
    -webkit-transform: translate(-50%, -50%) rotate(180deg);
        -ms-transform: translate(-50%, -50%) rotate(180deg);
            transform: translate(-50%, -50%) rotate(180deg);
}

.p-header-above__snavi ul li.global a:after
{
    position: absolute;
    top: 45%;
    right: -14px;

    width: 0;
    height: 0;

    content: '';
    -webkit-transition: border .3s ease;
            transition: border .3s ease;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);

    border-width: 5px 5px 0 5px;
    border-style: solid;
    border-color: #004ea2 transparent transparent transparent;
}

.p-header-above__snavi ul li.global ul
{
    position: absolute;
    z-index: 101;
    top: 30px;
    left: 60%;

    display: none;

    padding: 15px 20px;

    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    text-align: center;

    border: 2px solid #004ea2;
    background-color: #fff;
}

.p-header-above__snavi ul li.global ul li
{
    line-height: 1;

    width: 130px;
    margin: 0 0 15px;
    padding: 0 0 15px;

    border-bottom: 2px solid #004ea2;
}

.p-header-above__snavi ul li.global ul li:last-child
{
    margin-bottom: 0;
    padding-bottom: 0;

    border: none;
}

.p-header-above__snavi ul li.global ul li a
{
    font-size: 18px;
    font-size: 1.125rem;

    text-decoration: none;
    letter-spacing: .05em;

    color: #004ea2;
}

.p-header-above__snavi ul li.global ul li a:after
{
    display: none;
}

/*----------------------------------------
	ヘッダーグロナビ
----------------------------------------*/

.p-header-global
{
    padding: 10px 0;

    background-color: #004ea1;
    /* 多言語対応 */
}

.p-header-global.is_fixed
{
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;

    width: 100%;
}

.p-header-global__gnavi
{
    width: 1200px;
    margin: 0 auto;
}

.p-header-global__gnavi ul
{
    position: relative;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
}

.p-header-global__gnavi ul.no-arrow li a:after
{
    display: none;
}

.p-header-global__gnavi ul li
{
    border-right: 1px solid #fff;
}

.p-header-global__gnavi ul li:first-child a
{
    padding-left: 0;
}

.p-header-global__gnavi ul li:last-child
{
    padding-left: 30px;

    border-right: none;
}

.p-header-global__gnavi ul li:last-child a
{
    padding: 0 1.953vw;

    -webkit-transition: all .3s ease;
            transition: all .3s ease;
    text-decoration: none;

    color: #004ea1;
    border-radius: 3px;
    background-color: #fff;
}

.p-header-global__gnavi ul li:last-child a:after
{
    display: none;
}

.p-header-global__gnavi ul li:hover a
{
    color: #f5a100;
}

.p-header-global__gnavi ul li:hover a:after
{
    border-color: #f5a100 transparent transparent transparent;
}

.p-header-global__gnavi ul li:hover a svg path
{
    -webkit-transition: all .3s ease;
            transition: all .3s ease;

    fill: #f5a100;
}

.p-header-global__gnavi ul li:hover .children
{
    pointer-events: auto;

    opacity: 1;
}

.p-header-global__gnavi ul li a
{
    font-size: 15px;
    font-size: .9375rem;
    font-weight: 600;
    line-height: 50px;

    position: relative;

    display: block;

    padding: 0 40px;

    text-decoration: none;

    color: #fff;
}

.p-header-global__gnavi ul li a:after
{
    position: absolute;
    top: 43px;
    left: 50%;

    width: 0;
    height: 0;

    content: '';
    -webkit-transition: border .3s ease;
            transition: border .3s ease;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);

    border-width: 5px 5px 0 5px;
    border-style: solid;
    border-color: #3382d1 transparent transparent transparent;
}

.p-header-global__gnavi ul li a .icon
{
    padding-right: 10px;
}

.p-header-global__gnavi ul li a .icon svg
{
    vertical-align: middle;
}

.p-header-global__gnavi ul li .children
{
    position: absolute;
    z-index: 10;
    top: 50px;
    left: 50%;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 1240px;
    padding: 40px 20px 20px;

    -webkit-transition: all .3s ease;
            transition: all .3s ease;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    pointer-events: none;

    opacity: 0;
    border-radius: 0 0 3px 3px;
    background-color: #004ea1;
}

.p-header-global__gnavi ul li .children.pict
{
    padding: 30px 20px 20px;
}

.p-header-global__gnavi ul li .children.pict li a
{
    padding: 10px 0;

    -webkit-transition: all .3s ease;
            transition: all .3s ease;

    border-radius: 3px;
    background-color: #fff;
}

.p-header-global__gnavi ul li .children.pict li a:hover
{
    opacity: .8;
}

.p-header-global__gnavi ul li .children.pict li a dl
{
    position: static;

    -webkit-transform: translate(0);
        -ms-transform: translate(0);
            transform: translate(0);
}

.p-header-global__gnavi ul li .children.pict li a dl dt
{
    margin-bottom: 0;
}

.p-header-global__gnavi ul li .children.pict li a dl dt img
{
    width: auto;
    height: 23px;
}

.p-header-global__gnavi ul li .children.pict li a dl dd
{
    font-size: 14px;
    font-size: .875rem;

    color: #004ea1;
}

.p-header-global__gnavi ul li .children.pict li:last-child
{
    margin-right: 0;
    padding-left: 0;
}

.p-header-global__gnavi ul li .children.pict li:last-child a
{
    background-color: #fff;
}

.p-header-global__gnavi ul li .children li
{
    width: 224px;
    margin-right: 20px;

    border-right: none;
}

.p-header-global__gnavi ul li .children li:last-child
{
    margin-right: 0;
    padding-left: 0;
}

.p-header-global__gnavi ul li .children li:last-child a
{
    background-color: transparent;
}

.p-header-global__gnavi ul li .children li a
{
    position: relative;

    display: block;

    padding: 0;
}

.p-header-global__gnavi ul li .children li a:hover figure img
{
    opacity: .4;
}

.p-header-global__gnavi ul li .children li a:after
{
    display: none;
}

.p-header-global__gnavi ul li .children li a figure
{
    overflow: hidden;

    border-radius: 3px;
    background-color: #000;
}

.p-header-global__gnavi ul li .children li a figure img
{
    width: 100%;
    height: auto;

    -webkit-transition: opacity .3s ease;
            transition: opacity .3s ease;

    opacity: .8;
}

.p-header-global__gnavi ul li .children li a dl
{
    position: absolute;
    top: 50%;
    left: 50%;

    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    text-align: center;
}

.p-header-global__gnavi ul li .children li a dl dt
{
    font-size: 32px;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1;

    margin-bottom: 10px;

    color: #fff;
}

.p-header-global__gnavi ul li .children li a dl dd
{
    font-family: 'Overpass', sans-serif;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1;

    letter-spacing: .05em;

    color: #fff;
}

.p-header-global.lang
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 20px 0;
}

.p-header-global.lang ul li
{
    letter-spacing: .05em;
}

.p-header-global.lang ul li:last-child
{
    padding-left: 20px;
}

.p-header-global.lang ul li:last-child a
{
    padding: 0;

    text-decoration: none;

    color: #fff;
    border-radius: 0;
    background-color: transparent;
}

.p-header-global.lang ul li:last-child a:hover
{
    color: #f5a100;
}

.p-header-global.lang ul li a
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 20px;
}

.p-header-global.lang ul li a:after
{
    display: none;
}

.p-header-global.lang ul li a .icon
{
    display: none;

    margin-bottom: 1.4vw;
}

.p-header-global.lang ul li a .icon img
{
    width: auto;
    height: 4.667vw;
}

.p-header-global.lang ul li a .pc-inline
{
    display: inline;
}

/*----------------------------------------
	ヘッダー SP
----------------------------------------*/

.p-header-sp
{
    display: none;
}

.p-header-sp__search
{
    position: absolute;
    z-index: 50;
    top: 0;
    left: 0;

    display: block;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 21.3333vw;
    height: 17.3333vw;
    padding-top: 5.333vw;

    text-align: center;
}

.p-header-sp__search.is_active
{
    background-color: #004ea2;
}

.p-header-sp__search.is_active svg path
{
    fill: #fff;
}

.p-header-sp__search svg
{
    width: 6.6666vw;
    height: 6.6666vw;
}

.p-header-sp__text-btn
{
    line-height: 1;

    position: absolute;
    top: 6vw;
    left: 4vw;
}

.p-header-sp__text-btn a
{
    font-size: 2.933vw;
    font-weight: 600;
    line-height: 1;

    text-decoration: none;

    color: #333;
}

.p-header-sp__text-btn a .icon
{
    display: inline-block;

    margin-right: 1.333vw;
}

.p-header-sp__text-btn a .icon img
{
    width: 4vw;
    height: 4vw;

    vertical-align: middle;
}

.p-header-sp__global
{
    position: absolute;
    top: 4.6vw;
    right: 20vw;

    display: block;

    cursor: pointer;
}

.p-header-sp__global .trg img
{
    width: 8vw;
    height: auto;
}

.p-header-sp__global ul
{
    position: absolute;
    z-index: 101;
    top: 10.667vw;
    left: 50%;

    display: none;

    padding: 4vw 5.333vw;

    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    text-align: center;

    border: .533vw solid #004ea2;
    background-color: #fff;
}

.p-header-sp__global ul li
{
    line-height: 1;

    width: 34.667vw;
    margin: 0 0 4vw;
    padding: 0 0 4vw;

    border-bottom: .533vw solid #004ea2;
}

.p-header-sp__global ul li:last-child
{
    margin-bottom: 0;
    padding-bottom: 0;

    border: none;
}

.p-header-sp__global ul li a
{
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 600;

    text-decoration: none;
    letter-spacing: .05em;

    color: #004ea2;
}

.p-header-sp__menu-btn
{
    position: absolute;
    top: 0;
    right: 5vw;

    display: block;

    width: 10vw;
    height: 17.3333vw;

    cursor: pointer;
}

.p-header-sp__menu-btn.is_active span
{
    left: 45%;
}

.p-header-sp__menu-btn.is_active span:nth-of-type(1)
{
    top: 11.6vw;

    -webkit-transform: rotate(45deg) translateX(-50%);
        -ms-transform: rotate(45deg) translateX(-50%);
            transform: rotate(45deg) translateX(-50%);
}

.p-header-sp__menu-btn.is_active span:nth-of-type(2)
{
    -webkit-transform: translateX(200%);
        -ms-transform: translateX(200%);
            transform: translateX(200%);
}

.p-header-sp__menu-btn.is_active span:nth-of-type(3)
{
    top: 5.2vw;

    -webkit-transform: rotate(-45deg) translateX(-50%);
        -ms-transform: rotate(-45deg) translateX(-50%);
            transform: rotate(-45deg) translateX(-50%);
}

.p-header-sp__menu-btn span
{
    line-height: 1;

    position: absolute;
    left: 50%;

    display: block;

    width: 9.3333vw;
    height: .9333vw;

    -webkit-transition: all .3s ease;
            transition: all .3s ease;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    -webkit-transform-origin: center;
        -ms-transform-origin: center;
            transform-origin: center;

    background-color: #004ea1;
}

.p-header-sp__menu-btn span:nth-of-type(1)
{
    top: 5.7333vw;
}

.p-header-sp__menu-btn span:nth-of-type(2)
{
    top: 8.2666vw;
}

.p-header-sp__menu-btn span:nth-of-type(3)
{
    top: 10.8888vw;
}

.p-header-sp__gnavi
{
    position: absolute;
    z-index: 50;
    top: 17.3333vw;
    left: 0;

    display: none;
    overflow-y: scroll;

    width: 100%;

    background-color: #fff;
}

.p-header-sp__gnavi .list
{
    border-top: .2666vw solid #004ea2;
}

.p-header-sp__gnavi .list .item
{
    border-bottom: .2666vw solid #004ea2;
}

.p-header-sp__gnavi .list .item dl dt
{
    position: relative;
}

.p-header-sp__gnavi .list .item dl dt a
{
    font-size: 4.8vw;
    font-weight: 600;
    line-height: 1;

    display: block;

    padding: 6vw 5.3333vw;

    text-decoration: none;

    color: #004ea2;
}

.p-header-sp__gnavi .list .item dl dt a .icon
{
    margin-right: 2.6666vw;
}

.p-header-sp__gnavi .list .item dl dt a .icon img
{
    width: 5.3333vw;
    height: auto;

    vertical-align: middle;
}

.p-header-sp__gnavi .list .item dl dt .trig
{
    position: absolute;
    position: absolute;
    top: 50%;
    right: 5.3333vw;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 7.3333vw;
    height: 7.3333vw;

    cursor: pointer;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);

    border: 1px solid #004ea2;
    border-radius: 50%;
}

.p-header-sp__gnavi .list .item dl dt .trig.is_active span:nth-of-type(2)
{
    display: none;
}

.p-header-sp__gnavi .list .item dl dt .trig span:nth-of-type(1)
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 4vw;
    height: .5333vw;

    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);

    background-color: #004ea2;
}

.p-header-sp__gnavi .list .item dl dt .trig span:nth-of-type(2)
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: .5333vw;
    height: 4vw;

    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);

    background-color: #004ea2;
}

.p-header-sp__gnavi .list .item dl dd
{
    display: none;
}

.p-header-sp__gnavi .list .item dl dd ul li
{
    margin-bottom: .2666vw;
}

.p-header-sp__gnavi .list .item dl dd ul li a
{
    font-size: 4.2666vw;
    font-weight: 600;
    line-height: 1;

    display: block;

    padding: 4vw 13.3333vw;

    text-decoration: none;

    color: #004ea2;
    background-color: #f6f7f8;
}

.p-header-sp__gnavi .list .item dl dd ul li a .icon
{
    margin-right: 2.6666vw;
}

.p-header-sp__gnavi .list .item dl dd ul li a .icon img
{
    max-width: 5.3333vw;
    max-height: 5.3333vw;

    vertical-align: middle;
}

.p-header-sp__gnavi .bnr
{
    padding: 5.3333vw 2.6666vw;
}

.p-header-sp__gnavi .bnr img
{
    width: 100%;
    height: auto;
}

.p-header-sp__gnavi .info-navi
{
    margin-bottom: 80px;
}

.p-header-sp__gnavi .info-navi ul
{
    font-size: 0;
    font-size: 0rem;

    text-align: center;
}

.p-header-sp__gnavi .info-navi ul li
{
    position: relative;

    display: inline-block;
    overflow: hidden;

    margin: 0 10px;

    vertical-align: top;

    border-radius: 3px;
}

.p-header-sp__gnavi .info-navi ul li a
{
    display: block;

    width: 280px;
    padding: 30px 0;

    -webkit-transition: all .3s ease;
            transition: all .3s ease;
    text-decoration: none;

    border-radius: 3px;
    background-color: #fafafa;
}

.p-header-sp__gnavi .info-navi ul li a:hover
{
    background-color: #efefef;
}

.p-header-sp__gnavi .info-navi ul li a .icon
{
    display: block;

    margin-bottom: 20px;
}

.p-header-sp__gnavi .info-navi ul li a dl dt
{
    font-size: 24px;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1;

    position: relative;

    color: #004ea2;
}

.p-header-sp__gnavi .info-navi ul li a dl dt span
{
    font-family: 'Overpass', sans-serif;
    font-size: 12px;
    font-size: .75rem;

    display: block;

    margin-top: 10px;

    letter-spacing: .1em;

    color: #004ea2;
}

.p-header-sp__gnavi .info-navi ul li a dl dd
{
    font-size: 15px;
    font-size: .9375rem;
    font-weight: 400;
    line-height: 1.6;

    color: #fff;
}

/*----------------------------------------
	フッター上部
----------------------------------------*/

.p-footer-above
{
    position: relative;

    width: 1200px;
    margin: 0 auto;
    /* フッターナビ */
    /* ロゴ */
    /* ソーシャルナビ */
}

.p-footer-above h2
{
    font-family: 'Overpass', sans-serif;
    font-size: 32px;
    font-size: 2rem;
    line-height: 1;

    margin-bottom: 40px;

    letter-spacing: .05em;

    color: #fff;
}

.p-footer-above__fnavi
{
    width: 100%;
    margin-bottom: 35px;
}

.p-footer-above__fnavi ul
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

.p-footer-above__fnavi ul:nth-child(2)
{
    margin-top: 20px;
}

.p-footer-above__fnavi ul li
{
    margin-right: 35px;
}

.p-footer-above__fnavi ul li a
{
    font-size: 16px;
    font-size: 1rem;
    font-weight: 600;

    position: relative;

    display: block;

    text-decoration: none;

    color: #fff;
}

.p-footer-above__fnavi ul li a:hover
{
    color: #f5a100;
}

.p-footer-above__fnavi ul li a:hover svg path
{
    -webkit-transition: all .3s ease;
            transition: all .3s ease;

    fill: #f5a100;
}

.p-footer-above__fnavi ul li a .icon
{
    padding-right: 10px;
}

.p-footer-above__fnavi ul li a .icon svg
{
    vertical-align: middle;
}

.p-footer-above__logo
{
    font-size: 14px;
    font-size: .875rem;
    font-weight: 600;
    line-height: 1;

    color: #fff;
}

.p-footer-above__logo .icon
{
    padding-right: 15px;
}

.p-footer-above__logo .icon img
{
    vertical-align: middle;
}

.p-footer-above__social
{
    position: absolute;
    top: -20px;
    right: 0;

    width: 186px;
}

.p-footer-above__social h4
{
    font-size: 20px;
    font-size: 1.25rem;
    font-weight: 600;

    margin-bottom: 5px;

    text-align: center;

    color: #fff;
    border-radius: 3px;
}

.p-footer-above__social ul
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

.p-footer-above__social ul li
{
    width: 90px;
    margin: 0 3px 3px 0;
}

.p-footer-above__social ul li a
{
    display: block;

    padding: 15px 15px;

    text-align: center;
    text-decoration: none;

    color: #004ea2;
    border-radius: 3px;
    background-color: #fff;
}

.p-footer-above__social ul li a:hover
{
    opacity: .8;
}

.p-footer-above__social ul li a .icon svg path
{
    fill: #004ea2;
}

.p-footer-above__social ul li a .icon.mid
{
    display: inline-block;

    padding: 10px 0;
}

.p-footer-above__social ul li a .icon.mid svg
{
    width: 40px;
    height: 30px;
}

.p-footer-above__social ul li a p
{
    font-size: 13px;
    font-size: .8125rem;
    font-weight: 600;
    line-height: 1;

    color: #004ea2;
}

.p-footer-above__social ul li a p span
{
    font-size: 12px;
    font-size: .75rem;

    display: block;

    margin-top: 5px;
    padding: 3px 0;

    text-align: center;

    color: #fff;
    border-radius: 3px;
    background-color: #004ea2;
}

/*----------------------------------------
	フッター上部
----------------------------------------*/

.p-footer-above
{
    position: relative;

    width: 1200px;
    margin: 0 auto;
    /* フッターナビ */
    /* ロゴ */
    /* ソーシャルナビ */
}

.p-footer-above h2
{
    font-family: 'Overpass', sans-serif;
    font-size: 32px;
    font-size: 2rem;
    line-height: 1;

    margin-bottom: 40px;

    letter-spacing: .05em;

    color: #fff;
}

.p-footer-above__fnavi
{
    width: 100%;
    margin-bottom: 35px;
}

.p-footer-above__fnavi ul
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

.p-footer-above__fnavi ul:nth-child(2)
{
    margin-top: 20px;
}

.p-footer-above__fnavi ul li
{
    margin-right: 35px;
}

.p-footer-above__fnavi ul li a
{
    font-size: 16px;
    font-size: 1rem;
    font-weight: 600;

    position: relative;

    display: block;

    text-decoration: none;

    color: #fff;
}

.p-footer-above__fnavi ul li a:hover
{
    color: #f5a100;
}

.p-footer-above__fnavi ul li a:hover svg path
{
    -webkit-transition: all .3s ease;
            transition: all .3s ease;

    fill: #f5a100;
}

.p-footer-above__fnavi ul li a .icon
{
    padding-right: 10px;
}

.p-footer-above__fnavi ul li a .icon svg
{
    vertical-align: middle;
}

.p-footer-above__logo
{
    font-size: 14px;
    font-size: .875rem;
    font-weight: 600;
    line-height: 1;

    color: #fff;
}

.p-footer-above__logo .icon
{
    padding-right: 15px;
}

.p-footer-above__logo .icon img
{
    vertical-align: middle;
}

.p-footer-above__social
{
    position: absolute;
    top: -20px;
    right: 0;

    width: 186px;
}

.p-footer-above__social h4
{
    font-size: 20px;
    font-size: 1.25rem;
    font-weight: 600;

    margin-bottom: 5px;

    text-align: center;

    color: #fff;
    border-radius: 3px;
}

.p-footer-above__social ul
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

.p-footer-above__social ul li
{
    width: 90px;
    margin: 0 3px 3px 0;
}

.p-footer-above__social ul li a
{
    display: block;

    padding: 15px 15px;

    text-align: center;
    text-decoration: none;

    color: #004ea2;
    border-radius: 3px;
    background-color: #fff;
}

.p-footer-above__social ul li a:hover
{
    opacity: .8;
}

.p-footer-above__social ul li a .icon svg path
{
    fill: #004ea2;
}

.p-footer-above__social ul li a .icon.mid
{
    display: inline-block;

    padding: 10px 0;
}

.p-footer-above__social ul li a .icon.mid svg
{
    width: 40px;
    height: 30px;
}

.p-footer-above__social ul li a p
{
    font-size: 13px;
    font-size: .8125rem;
    font-weight: 600;
    line-height: 1;

    color: #004ea2;
}

.p-footer-above__social ul li a p span
{
    font-size: 12px;
    font-size: .75rem;

    display: block;

    margin-top: 5px;
    padding: 3px 0;

    text-align: center;

    color: #fff;
    border-radius: 3px;
    background-color: #004ea2;
}

/*----------------------------------------
	フッター下部
----------------------------------------*/

.p-footer-under
{
    width: 1200px;
    margin: 0 auto;
    padding-top: 30px;
    /* サブナビ */
    /* コピーライト */
}

.p-footer-under__snavi
{
    margin-bottom: 30px;
}

.p-footer-under__snavi ul
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

.p-footer-under__snavi ul li
{
    margin-right: 25px;
}

.p-footer-under__snavi ul li a
{
    font-size: 14px;
    font-size: .875rem;
    font-weight: 600;
    line-height: 1;

    text-decoration: none;
    letter-spacing: .05em;

    color: #fff;
}

.p-footer-under__snavi ul li a:hover
{
    opacity: .6;
}

.p-footer-under__copyright
{
    font-family: 'Overpass', sans-serif;
    font-size: 12px;
    font-size: .75rem;
    font-weight: 600;
    line-height: 1;

    color: #fff;
}

/*----------------------------------------
	第2階層 タイトル部分
----------------------------------------*/

.p-page-title-lv2
{
    position: relative;

    margin-bottom: 80px;
    /* くらし */
}

.p-page-title-lv2.life
{
    margin-bottom: 0;
}

.p-page-title-lv2__visual
{
    position: relative;

    overflow: hidden;

    width: 100%;
    height: 500px;

    background-color: #000;
    /* くらし */
}

.p-page-title-lv2__visual.life
{
    height: 340px;
}

.p-page-title-lv2__visual img
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 100%;
    height: auto;

    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);

    opacity: .6;
}

.p-page-title-lv2__visual:before,
.p-page-title-lv2__visual:after
{
    position: absolute;
    z-index: 1;

    content: '';

    background-repeat: no-repeat;
}

.p-page-title-lv2__visual:before
{
    bottom: 0;
    left: 0;

    width: 100px;
    height: 80px;

    background-image: url(../img/deco_red.svg);
    background-size: 100px 80px;
}

.p-page-title-lv2__visual:after
{
    top: -1px;
    right: 0;

    width: 125px;
    height: 100px;

    content: '';

    background-image: url(../img/deco_yellow.svg);
    background-size: 125px 100px;
}

.p-page-title-lv2__heading
{
    font-size: 44px;
    font-size: 2.75rem;
    font-weight: 600;

    position: absolute;
    top: 140px;
    left: 0;

    width: 100%;

    text-align: center;
    letter-spacing: .05em;

    color: #fff;
    text-shadow: 1px 1px 10px rgba(0, 0, 0, .8);
    /* くらし */
}

.p-page-title-lv2__heading .en
{
    font-family: 'Overpass', sans-serif;
    font-size: 20px;
    font-size: 1.25rem;
    font-weight: 800;

    display: block;

    color: #fff;
}

.p-page-title-lv2__heading.life
{
    top: 80px;
}

.p-page-title-lv2__navi
{
    position: relative;
    z-index: 1;

    width: 1200px;
    margin: -140px auto 0;

    background-color: #fff;
}

.p-page-title-lv2__navi ul
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    padding: 30px;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

.p-page-title-lv2__navi ul li
{
    width: 360px;
    height: 240px;
    margin: 0 30px 30px 0;

    border-radius: 3px;
    background-color: #004ea2;
}

.p-page-title-lv2__navi ul li:nth-child(3n)
{
    margin-right: 0;
}

.p-page-title-lv2__navi ul li a
{
    position: relative;

    display: block;

    height: 100%;
}

.p-page-title-lv2__navi ul li a:hover
{
    opacity: .8;
}

.p-page-title-lv2__navi ul li a dl
{
    position: absolute;
    top: 50%;
    left: 50%;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;

    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    text-align: center;
}

.p-page-title-lv2__navi ul li a dl dt
{
    margin-bottom: 15px;
}

.p-page-title-lv2__navi ul li a dl dt .icon
{
    margin-bottom: 15px;
}

.p-page-title-lv2__navi ul li a dl dt .icon img
{
    width: auto;
    height: 45px;
}

.p-page-title-lv2__navi ul li a dl dt span
{
    font-size: 24px;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 45px;

    display: inline-block;

    width: 320px;

    letter-spacing: .05em;

    color: #004ea2;
    border-radius: 3px;
    background-color: #fff;
}

.p-page-title-lv2__navi ul li a dl dd
{
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.6;

    letter-spacing: .05em;

    color: #fff;
}

.p-page-title-lv2__bnr
{
    width: 1140px;
    margin: 0 auto;
}

.p-page-title-lv2__bnr a:hover
{
    opacity: .6;
}

.p-page-title-lv2__bnr a img
{
    width: 100%;
    height: auto;
}

/*----------------------------------------
	第3階層 タイトル部分
----------------------------------------*/

.p-page-title-lv3
{
    padding: 60px 0 90px;

    text-align: center;

    background-color: #fff;
}

.p-page-title-lv3.mini
{
    padding: 15px 0 35px;
}

.p-page-title-lv3__heading
{
    font-size: 44px;
    font-size: 2.75rem;
    line-height: 1;

    position: relative;

    letter-spacing: .05em;
}

.p-page-title-lv3__heading:after
{
    position: absolute;
    bottom: -30px;
    left: 50%;

    width: 60px;
    height: 6px;

    content: '';
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);

    border-radius: 3px;
    background-color: #004ea2;
}

.p-page-title-lv3__heading.mini
{
    font-size: 28px;
    font-size: 1.75rem;
}

.p-page-title-lv3__heading.mini:after
{
    bottom: -15px;

    height: 4px;

    border-radius: 2px;
}

/*----------------------------------------
	ニュース 詳細
----------------------------------------*/

.p-news-detail h4
{
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.6;

    position: relative;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 0 auto 10px;
    padding-bottom: 10px;

    border-bottom: 2px solid #dadcdc;
}

.p-news-detail h4:before
{
    position: absolute;
    bottom: -2px;
    left: 0;

    width: 50px;
    height: 2px;

    content: '';

    border-radius: 3px;
    background-color: #004ea2;
}

.p-news-detail .post-date
{
    font-family: 'Overpass', sans-serif;
    font-size: 15px;
    font-size: .9375rem;
    font-weight: 600;

    margin-bottom: 30px;

    letter-spacing: .05em;

    color: #666;
}

.p-news-detail p
{
    font-size: 15px;
    font-size: .9375rem;
    font-weight: 500;
    line-height: 1.6;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin-bottom: 20px;

    color: #666;
}

.p-news-detail .back-btn
{
    margin-top: 60px;
}

.p-news-detail .back-btn a
{
    line-height: 56px;

    display: block;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 330px;
    margin: 0 auto;

    text-align: center;
    text-decoration: none;

    border: 2px solid #004ea2;
    border-radius: 5px;
    background-color: #fff;
}

.p-news-detail .back-btn a:hover
{
    opacity: .8;
}

.p-news-detail .back-btn a span
{
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 600;

    position: relative;

    color: #004ea2;
}

/*----------------------------------------
	路線図
----------------------------------------*/

.p-page-routemap
{
    padding: 80px 0;
    /* 停車駅のご案内 */
    /* セレクター */
    /* 一覧 */
}

.p-page-routemap__guide
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 1200px;
    margin: 0 auto 40px;
    padding: 30px;

    background-color: #fff;
}

.p-page-routemap__guide .heading
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    margin-bottom: 30px;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}

.p-page-routemap__guide .heading h3
{
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1;

    margin-right: 20px;

    color: #333;
}

.p-page-routemap__guide figure
{
    display: block;

    margin-bottom: 20px;
}

.p-page-routemap__guide figure img
{
    width: 100%;
    height: auto;
}

.p-page-routemap__guide .c-link-btn
{
    display: block;

    width: 330px;
    margin: 0 auto;
}

.p-page-routemap__selector
{
    width: 1200px;
    margin: 0 auto;
}

.p-page-routemap__selector ul
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 1000px;
    margin: 0 auto;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

.p-page-routemap__selector ul li
{
    position: relative;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: calc(100%/5);
    height: 100px;

    cursor: pointer;
    -webkit-transform: translateY(2px);
        -ms-transform: translateY(2px);
            transform: translateY(2px);
    text-align: center;
}

.p-page-routemap__selector ul li:hover dl
{
    opacity: .8;
}

.p-page-routemap__selector ul li.is_select
{
    padding: 0;

    -webkit-transform: translateY(2px);
        -ms-transform: translateY(2px);
            transform: translateY(2px);

    background-color: #fff;
}

.p-page-routemap__selector ul li.is_select dl
{
    width: 100%;
    padding-top: 10px;

    background-color: transparent;
}

.p-page-routemap__selector ul li.is_select dl dt
{
    font-size: 24px;
    font-size: 1.5rem;

    padding-top: 0;

    color: #333;
}

.p-page-routemap__selector ul li.is_select dl dd.en
{
    margin-top: 8px;

    color: #004ea2;
}

.p-page-routemap__selector ul li dl
{
    position: absolute;
    top: 50%;
    left: 50%;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: calc(100% - 40px);
    height: 65px;
    padding-top: 15px;

    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);

    border-radius: 3px;
    background-color: #004ea2;
}

.p-page-routemap__selector ul li dl dt
{
    font-size: 20px;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1;

    letter-spacing: .05em;

    color: #fff;
}

.p-page-routemap__selector ul li dl dd.en
{
    font-family: 'Overpass', sans-serif;
    font-size: 11px;
    font-size: .6875rem;
    font-weight: 600;

    display: block;

    margin-top: 3px;

    color: #fff;
}

.p-page-routemap__content
{
    position: relative;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 1200px;
    margin: 0 auto;
    padding: 25px 95px 55px;

    background-color: #fff;
}

.p-page-routemap__content__type
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    margin-bottom: 30px;
}

.p-page-routemap__content__type li
{
    font-size: 16px;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1;

    margin-right: 20px;

    letter-spacing: .05em;
}

.p-page-routemap__content__type li:last-child
{
    margin-right: 0;
}

.p-page-routemap__content__type li:before
{
    display: inline-block;

    width: 30px;
    height: 8px;
    margin-right: 10px;

    content: '';
    vertical-align: middle;

    border-radius: 3px;
    background-color: #dadcdc;
}

.p-page-routemap__content__type li:nth-child(1):before
{
    background-color: #e85577;
}

.p-page-routemap__content__type li:nth-child(2):before
{
    background-color: #85d685;
}

.p-page-routemap__content__type.mb0
{
    margin-bottom: 0;
}

.p-page-routemap__content__path
{
    position: relative;

    display: none;

    padding: 30px 40px;

    background-color: #f6f7f8;
}

.p-page-routemap__content__path:nth-of-type(1)
{
    display: block;
}

.p-page-routemap__content__path ul
{
    position: relative;
}

.p-page-routemap__content__path ul .station
{
    font-size: 0;
    font-size: 0rem;

    position: relative;
    z-index: 5;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    margin: 0 0 20px;
    padding: 15px;

    color: #fff;
    border: 2px solid #e85577;
    border-radius: 3px;
    background-color: #e85577;
}

.p-page-routemap__content__path ul .station .label
{
    display: inline-block;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin-right: 15px;
    padding: 6px 6px 5px 6px;

    vertical-align: middle;

    border: 2px solid #fff;
    border-radius: 3px;
    background-color: #fff;
}

.p-page-routemap__content__path ul .station .label .mark
{
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1;

    display: inline-block;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin-right: 5px;
    padding: 0 4px;

    text-align: center;

    color: #f5a100;
    border: 2px solid #f5a100;
    border-radius: 3px;
}

.p-page-routemap__content__path ul .station .label .num
{
    font-size: 20px;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1;

    color: #004ea2;
}

.p-page-routemap__content__path ul .station h3
{
    font-size: 26px;
    font-size: 1.625rem;
    font-weight: 600;
    line-height: 1;

    display: inline-block;

    width: 220px;

    vertical-align: middle;
    letter-spacing: .05em;
}

.p-page-routemap__content__path ul .station h3 span
{
    font-size: 16px;
    font-size: 1rem;

    letter-spacing: 0;
}

.p-page-routemap__content__path ul .station .transfer
{
    font-size: 14px;
    font-size: .875rem;
    font-weight: 500;
    line-height: 40px;

    display: inline-block;

    height: 40px;
    padding: 0 0 0 20px;

    vertical-align: middle;

    border-left: 2px solid #dadcdc;
}

.p-page-routemap__content__path ul .station .transfer .icon
{
    margin-right: 10px;
}

.p-page-routemap__content__path ul .station .transfer .icon img
{
    width: auto;
    height: 20px;

    vertical-align: middle;
}

.p-page-routemap__content__path ul .station .transfer .txt
{
    display: inline-block;

    margin-right: 10px;
}

.p-page-routemap__content__path ul .station .transfer a
{
    line-height: 40px;

    display: inline-block;

    margin-right: 5px;
    padding: 0 25px 0 15px;

    text-align: center;
    text-decoration: none;

    color: #fff;
    border-radius: 5px;
    background-color: #004ea2;
}

.p-page-routemap__content__path ul .station .transfer a:hover
{
    opacity: .8;
}

.p-page-routemap__content__path ul .station .transfer a span
{
    font-size: 14px;
    font-size: .875rem;
    font-weight: 600;

    position: relative;

    color: #fff;
}

.p-page-routemap__content__path ul .station .transfer a span:after
{
    position: absolute;
    top: 50%;
    right: -10px;

    width: 0;
    height: 0;

    content: '';
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);

    border-width: 6px 0 6px 5px;
    border-style: solid;
    border-color: transparent transparent transparent #fff;
}

.p-page-routemap__content__path ul .station .links
{
    position: absolute;
    top: 50%;
    right: 20px;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

.p-page-routemap__content__path ul .station .links li
{
    margin-left: 10px;
}

.p-page-routemap__content__path ul .station .links li a
{
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1;

    display: block;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 12px 20px;

    text-align: center;
    text-decoration: none;

    color: #fff;
    border-radius: 3px;
    background-color: #004ea2;
}

.p-page-routemap__content__path ul .station .links li a:hover
{
    opacity: .6;
}

.p-page-routemap__content__path ul .station .links li a .icon
{
    padding-right: 5px;
}

.p-page-routemap__content__path ul .station .links li a .icon img
{
    width: auto;
    height: 18px;

    vertical-align: top;
}

.p-page-routemap__content__path ul .station.step1
{
    width: calc(100% - 60px);
    margin: 0 0 20px 60px;

    border-color: #85d685;
    background-color: #85d685;
}

.p-page-routemap__content__path ul .station.step2
{
    width: calc(100% - 120px);
    margin: 0 0 20px 120px;

    color: #666;
    border-color: #dadcdc;
    background-color: #fff;
}

.p-page-routemap__content__path ul .station.step2 .label
{
    border-color: #dadcdc;
}

.p-page-routemap__content__path ul .station.step3
{
    margin: 0 0 20px;

    color: #666;
    border-color: #dadcdc;
    background-color: #fff;
}

.p-page-routemap__content__path ul .station.step3 .label
{
    border-color: #dadcdc;
}

.p-page-routemap__content__path__lines
{
    position: absolute;
    z-index: 1;
    top: 80px;
    left: 70px;

    display: block;

    width: 10px;
    height: calc(100% - 130px);

    background-color: #dadcdc;
}

.p-page-routemap__content__path__lines.full
{
    left: 190px;
}

.p-page-routemap__content__path__lines.full:before,
.p-page-routemap__content__path__lines.full:after
{
    position: absolute;
    top: 0;

    display: none;

    width: 10px;
    height: 100%;

    content: '';
}

.p-page-routemap__content__path__lines.full:before
{
    left: -60px;

    display: block;

    background-color: #85d685;
}

.p-page-routemap__content__path__lines.full:after
{
    left: -120px;

    display: block;

    background-color: #e85577;
}

/*----------------------------------------
	運行状況ティッカー
----------------------------------------*/

.p-ticker-status
{
    position: relative;

    padding: 5px 5px 0;
}

.p-ticker-status.train
{
    min-height: 95px;
}

.p-ticker-status__btn
{
    position: absolute;
    top: 0;
    right: 0;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    height: 100%;
    padding: 5px;

    background-color: #fff;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

.p-ticker-status__btn li
{
    margin-right: 5px;
}

.p-ticker-status__btn li:last-child
{
    margin-right: 0;
}

.p-ticker-status__btn li a
{
    position: relative;

    display: block;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 90px;
    height: 90px;

    text-align: center;
    text-decoration: none;

    color: #fff;
    border-radius: 3px;
}

.p-ticker-status__btn li a:hover
{
    opacity: .8;
}

.p-ticker-status__btn li a .inner
{
    line-height: 1;

    position: absolute;
    top: 50%;
    left: 50%;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    padding: 10px;

    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
}

.p-ticker-status__btn li a .inner .icon svg
{
    width: auto;
    height: 22px;
    margin-bottom: 5px;
}

.p-ticker-status__btn li a .inner .icon svg path
{
    fill: #fff;
}

.p-ticker-status__btn li a .inner p
{
    font-size: 13px;
    font-size: .8125rem;
    font-weight: 600;
    line-height: 1;

    color: #fff;
}

.p-ticker-status__btn li a .inner p span
{
    font-size: 12px;
    font-size: .75rem;

    display: block;

    margin-top: 5px;
    padding: 3px 0;

    text-align: center;

    color: #004ea2;
    border-radius: 3px;
    background-color: #fff;
}

.p-ticker-status__btn li.blue a
{
    background-color: #004ea2;
}

.p-ticker-status__btn li.red a
{
    background-color: #e83820;
}

/*----------------------------------------
	お知らせティッカー
----------------------------------------*/

.p-ticker-news
{
    width: 100%;
    padding: 20px 0;
}

/*----------------------------------------
	第３階層ラッパー
----------------------------------------*/

.p-wrapper-lv3
{
    background-color: #eff4f8;
}

.p-wrapper-lv3__wrapper
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 80px 100px;
}

.p-wrapper-lv3__wrapper--mini
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 40px 0;
}

@media (max-width: 767px)
{
    .l-footer
    {
        padding: 6.6666vw 0;
    }

    .l-main
    {
        width: auto;
        padding: 0 4vw;
    }

    .l-primary
    {
        width: 100%;
    }

    .l-sidebar
    {
        width: 100%;
        padding-left: 0;
    }

    .c-block-full
    {
        width: 100%;
        margin: 0 0 8.6666vw;
        padding: 6.3333vw;
    }

    .c-block-half
    {
        width: 100%;
        margin: 0 0 8.6666vw;
        padding: 6.3333vw;
    }

    .c-block-2row-cms__left,
    .c-block-2row-cms__right
    {
        width: 100%;
        margin: 0 0 8.6666vw;
    }

    .c-breadcrumbs ul
    {
        width: 100%;
        padding: 0 2.6666vw;
    }

    .c-breadcrumbs ul li
    {
        font-size: 2.9333vw;
        line-height: 8vw;

        padding-right: 5.333vw;
    }

    .c-breadcrumbs ul li:after
    {
        top: 3.467vw;
        right: 1.867vw;

        width: 1.333vw;
        height: 1.333vw;

        border-width: .267vw;
    }

    .c-viewmore-btn
    {
        padding: 0 8vw;
    }

    .c-viewmore-btn a
    {
        line-height: 13.3333vw;
    }

    .c-viewmore-btn a span
    {
        font-size: 3.7333vw;
    }

    .c-link-btn
    {
        line-height: 14.6666vw;
    }

    .c-link-btn span
    {
        font-size: 3.7333vw;
    }

    .c-link-btn span:after
    {
        right: -2.667vw;

        border-width: 1.6vw 0 1.6vw 1.333vw;
    }

    .c-link-btn.pdf span:before
    {
        left: -6.667vw;

        width: 4.4vw;
        height: 5.867vw;

        background-size: 4.4vw 5.867vw;
    }

    .c-link-btn.pdf span:before
    {
        left: -6.667vw;

        width: 4.4vw;
        height: 5.867vw;

        background-size: 4.4vw 5.867vw;
    }

    .c-link-btn.print span:before
    {
        left: -6.667vw;

        width: 4.4vw;
        height: 5.867vw;

        background-size: 4.4vw 5.867vw;
    }

    .c-link-btn.mini
    {
        line-height: 12vw;

        width: 100%;
        margin-bottom: 5.333vw;
        padding: 0 13.333vw 0 10.667vw;
    }

    .c-link-btn.ext span:before
    {
        right: -6.667vw;

        width: 4.4vw;
        height: 5.867vw;

        background-size: 4.4vw 5.867vw;
    }

    .c-search-btn
    {
        font-size: 4.8vw;
        line-height: 13.3333vw;
    }

    .c-checkbox
    {
        font-size: 3.733vw;
        line-height: 1.4;

        display: block;

        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        padding: 2.66vw 4vw 2.66vw 10.66vw;

        letter-spacing: 0;

        border: .267vw solid #dadcdc;
        border-radius: 3px;
        background-color: #fff;
    }

    .c-checkbox .frame
    {
        position: absolute;
        top: 0;
        left: 0;

        display: none;

        width: 100%;
        height: 100%;

        pointer-events: none;

        border: 1px solid #004ea2;
        border-width: .267vw;
        border-radius: 3px;
    }

    .c-checkbox .indicator
    {
        top: 3vw;
        left: 4vw;

        width: 4.66vw;
        height: 4.66vw;
    }

    .c-checkbox .indicator:after
    {
        top: .8vw;
        left: 1.6vw;

        width: .8vw;
        height: 2.133vw;

        border-width: 0 .533vw .533vw 0;
    }

    .c-heading-lg
    {
        font-size: 4.8vw;

        margin-bottom: 5.3333vw;
    }

    .c-heading-lg .icon img
    {
        width: auto;
        height: 5.3333vw;
    }

    .c-heading-lg .en
    {
        font-size: 3.4666vw;

        margin-top: 2.6666vw;
    }

    .c-heading-lv3
    {
        font-size: 6.4vw;
        line-height: 1.6;

        margin-bottom: 12vw;
    }

    .c-heading-lv3.sm
    {
        font-size: 5.3333vw;
    }

    .c-heading-lv3.lg
    {
        font-size: 6.4vw;
    }

    .c-heading-lv3:after
    {
        bottom: -5.3333vw;

        width: 8vw;
        height: 1.0666vw;
    }

    .c-heading-lv3 .icon
    {
        margin-bottom: 3.3333vw;
    }

    .c-heading-lv3 .icon img
    {
        height: 9vw;
    }

    .c-heading-cms-lg
    {
        font-size: 4.8vw;

        margin-bottom: 4vw;
        padding-left: 4vw;
    }

    .c-heading-cms-lg:before
    {
        top: 1.333vw;

        width: 1.333vw;
        height: 5.333vw;

        border-radius: .8vw;
    }

    .c-heading-cms-md
    {
        font-size: 4.267vw;

        margin-bottom: 5.333vw;
        padding-bottom: 1.333vw;

        border-width: .533vw;
    }

    .c-heading-cms-md:before
    {
        bottom: -.533vw;

        width: 13.333vw;
        height: .533vw;

        border-radius: .8vw;
    }

    .c-heading-cms-md .icon
    {
        padding: 0 2.667vw;
    }

    .c-heading-cms-md .icon img
    {
        width: 5.333vw;
    }

    .c-heading-cms-sm
    {
        font-size: 3.733vw;

        margin-bottom: 5.333vw;
        padding: 1.333vw 4vw 1.333vw 8vw;

        border-radius: .8vw;
    }

    .c-heading-cms-sm:before
    {
        top: 2.933vw;
        left: 2.667vw;

        width: 3.2vw;
        height: 3.2vw;
    }

    .c-heading-cms-xsm
    {
        font-size: 3.467vw;

        margin-bottom: 5.333vw;
        padding: 0 0 0 5.333vw;

        border-radius: .8vw;
    }

    .c-heading-cms-xsm:before
    {
        top: 1.067vw;

        width: 3.2vw;
        height: 3.2vw;

        border-radius: .8vw;
    }

    .c-imgbox-cms
    {
        margin-bottom: 5.333vw;
        padding: 0;
    }

    .c-imgbox-cms img
    {
        width: 100%;
        height: auto;
    }

    .c-imgbox-cms figcaption
    {
        font-size: 2.933vw;
    }

    .c-imgbox-combo-cms
    {
        margin-bottom: 5.333vw;
    }

    .c-imgbox-combo-cms figure
    {
        width: 100%;
        margin-bottom: 5.333vw;
    }

    .c-imgbox-combo-cms .text
    {
        width: 100%;
        padding-left: 0;
    }

    .c-imgbox-combo-cms .text p
    {
        font-size: 3.733vw;

        margin-bottom: 5.333vw;
    }

    .c-imgbox-flex-cms .c-imgbox-cms
    {
        margin-bottom: 5.333vw;
        padding: 0 2.064vw;
    }

    .c-header-search
    {
        position: absolute;
        z-index: 10;
        top: 17.3333vw;
        left: 0;

        display: none;

        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 100%;
        height: auto;
        margin-right: 0;
        padding: 4vw 4.6666vw;

        background-color: #004ea2;
    }

    .c-header-search button
    {
        right: 8vw;
    }

    .c-input input
    {
        font-size: 4vw;

        height: 12vw;
    }

    .c-input.mini input
    {
        font-size: 4vw;

        width: 100%;
        height: 13.33vw;
    }

    .c-input.label input
    {
        font-size: 5.3333vw;

        height: 13.33vw;
        padding: 0 0 0 13.33vw;

        background-position: 1.781vw 50%;
        background-size: 8.667vw;
    }

    .c-text-link
    {
        margin: 0 0 5.333vw;
    }

    .c-text-link a
    {
        font-size: 3.733vw;
    }

    .c-text-link.pdf:before
    {
        width: 4.4vw;
        height: 5.867vw;

        background-size: 4.4vw 5.867vw;
    }

    .c-list-cms-std
    {
        margin-bottom: 8vw;
    }

    .c-list-cms-std li
    {
        font-size: 3.733vw;

        margin-bottom: 1.333vw;
        padding: 0 0 0 5.333vw;
    }

    .c-list-cms-std li:before
    {
        top: 2.133vw;

        width: 3.2vw;
        height: 3.2vw;
    }

    .c-list-cms-num
    {
        margin-bottom: 8vw;
    }

    .c-list-cms-num li
    {
        font-size: 3.733vw;

        margin-bottom: 1.333vw;
        padding: 0 0 0 6.667vw;
    }

    .c-list-cms-num li:before
    {
        font-size: 3.2vw;
        line-height: 4.5vw;

        top: .8vw;

        width: 4vw;
        height: 4vw;

        border-width: .267vw;
        border-radius: .8vw;
    }

    .c-list-cms-num-simple
    {
        margin-bottom: 8vw;
    }

    .c-list-cms-num-simple li
    {
        font-size: 3.733vw;

        margin-bottom: 1.333vw;
    }

    .c-modal__container
    {
        width: 89.333vw;
    }

    .c-modal__container h4
    {
        font-size: 4.8vw;

        padding: 2.667vw 4vw;
    }

    .c-modal__container__inner
    {
        font-size: 4.8vw;

        padding: 4vw;
    }

    .c-modal__container__inner p
    {
        font-size: 3.467vw;

        margin-bottom: 2.667vw;
    }

    .c-modal__container__inner .close-btn a
    {
        line-height: 13.3333vw;
    }

    .c-modal__container__inner .close-btn a span
    {
        font-size: 3.7333vw;
    }

    .c-modal__container__inner .btns
    {
        margin-top: 5.333vw;
    }

    .c-modal__container__inner .btns li
    {
        width: 100%;
        margin: 0;
    }

    .c-modal__container__inner .btns li:first-child
    {
        margin-bottom: 2.667vw;
    }

    .c-modal__container__inner .btns li .c-viewmore-btn
    {
        padding: 0;
    }

    .c-news-list dl
    {
        margin-bottom: 8vw;
    }

    .c-news-list dl dt
    {
        padding: 0 5.3333vw;
    }

    .c-news-list dl dd
    {
        margin-bottom: 5.3333vw;
        padding: 0 5.3333vw 5.3333vw;
    }

    .c-news-list dl dd a
    {
        font-size: 3.7333vw;
        line-height: 1.4;
    }

    .c-news-list-simple ul li
    {
        margin-bottom: 4vw;
        padding-bottom: 4vw;
    }

    .c-news-list-simple ul li dl
    {
        display: block;
    }

    .c-news-list-simple ul li dl dt
    {
        font-size: 3.467vw;
    }

    .c-news-list-simple ul li dl dd a
    {
        font-size: 3.733vw;
    }

    .c-pagination ul li
    {
        margin: 0 2.667vw 2.667vw 0;
    }

    .c-pagination ul li a
    {
        font-size: 3.733vw;
        line-height: 8vw;

        width: 8vw;
        height: 8vw;

        border-width: .267vw;
        border-radius: .8vw;
    }

    .c-pagination ul li.prev a,
    .c-pagination ul li.next a
    {
        width: 13.333vw;
    }

    .c-radio input[type='radio'] + label
    {
        font-size: 3.733vw;

        padding-left: 6.667vw;
    }

    .c-radio input[type='radio'] + label:before
    {
        width: 5.333vw;
        height: 5.333vw;

        border-width: .267vw;
    }

    .c-radio input[type='radio']:checked + label:before
    {
        -webkit-box-shadow: inset 0 0 0 1.067vw #fff;
                box-shadow: inset 0 0 0 1.067vw #fff;
    }

    .c-radio-thick input[type='radio']
    {
        width: 100%;
        height: 12vw;
    }

    .c-radio-thick label
    {
        line-height: 12vw;

        width: 100%;
    }

    .c-radio-thick.mini input[type='radio']
    {
        height: 10.66vw;
    }

    .c-radio-thick.mini label
    {
        font-size: 4.266vw;
        line-height: 10.133vw;
    }

    .c-routemap-cms
    {
        margin-bottom: 5.333vw;
    }

    .c-routemap-cms ul li
    {
        font-size: 3.733vw;

        margin-bottom: 2.667vw;
        padding: 2vw 2.667vw;

        border-width: .267vw;
    }

    .c-scroll-top
    {
        right: 5.333vw;
        bottom: 10.667vw;

        width: 10.667vw;
        height: 10.667vw;
    }

    .c-search-cms
    {
        width: 100%;
    }

    .c-search-cms form dl
    {
        width: 100%;
    }

    .c-search-cms form dl dt
    {
        font-size: 4.8vw;

        margin-bottom: 5.333vw;
    }

    .c-search-cms form dl dt .icon img
    {
        width: 3.6vw;
    }

    .c-search-cms form .trade
    {
        line-height: 13.333vw;

        height: 13.333vw;
        margin: 0;
    }

    .c-search-cms form .trade img
    {
        width: 9.333vw;
    }

    .c-search-cms form .c-search-btn
    {
        line-height: 13.3333vw;

        margin-top: 5.333vw;
    }

    .c-select
    {
        font-size: 3.7333vw;
        line-height: 1.6;

        padding: 3vw 8.5vw 3vw 3vw;

        background-position: calc(100% - 2.6vw) calc(3vw + 2.7vw), calc(100% - 1.4vw) calc(3vw + 2.7vw), 100% 0;
        background-size: 1.3333vw 1.3333vw, 1.3333vw 1.3333vw, 6vw 12vw;
    }

    .c-select.mini
    {
        font-size: 5.6vw;
        font-weight: 600;

        padding: 2.3vw 8.5vw 2.3vw 4vw;

        color: #333;
        background-position: calc(100% - 2.667vw) 50%, calc(100% - 1.333vw) 50%, 100% 0;
        background-size: 1.33vw 1.33vw, 1.33vw 1.33vw, 6vw 14vw;
    }

    .c-select-cms:before
    {
        right: 2.667vw;

        border-width: 0 1.2vw 1.6vw 1.2vw;
    }

    .c-select-cms.label select
    {
        font-size: 5.3333vw;

        height: 13.33vw;
        padding: 0 16vw 0 13.33vw;

        background-position: 1.781vw 50%;
        background-size: 8.667vw;
    }

    .c-select-cms.label:before
    {
        right: 10.667vw;
    }

    .c-select-cms.label:after
    {
        right: 10.667vw;
    }

    .c-select-cms:after
    {
        right: 2.667vw;

        border-width: 1.6vw 1.2vw 0 1.2vw;
    }

    .c-select-cms select
    {
        font-size: 4.267vw;
        line-height: 6.667vw;

        padding: 3.733vw 14.667vw 3.733vw 4vw;

        border-radius: 1.067vw;
    }

    .c-table-cms-vtcl
    {
        margin-bottom: 8vw;
    }

    .c-table-cms-vtcl th
    {
        font-size: 3.733vw;

        display: block;

        max-width: 100%;
        padding: 2.667vw;

        border-width: .267vw;
        border-bottom: none;
    }

    .c-table-cms-vtcl td
    {
        font-size: 3.467vw;

        display: block;

        padding: 2.667vw;

        border-width: .267vw;
    }

    .c-table-cms-hrzn
    {
        margin-bottom: 8vw;
    }

    .c-table-cms-hrzn th
    {
        font-size: 3.733vw;

        max-width: 100%;
        padding: 2.667vw;

        border-width: .267vw;
    }

    .c-table-cms-hrzn td
    {
        font-size: 3.467vw;

        padding: 2.667vw;

        border-width: .267vw;
    }

    .c-tabs-cms__selector
    {
        overflow-x: scroll;

        width: 100%;

        -webkit-transform: translateY(0);
            -ms-transform: translateY(0);
                transform: translateY(0);

        border: 2px solid #dadcdc;
        border-bottom: none;
    }

    .c-tabs-cms__selector .prev,
    .c-tabs-cms__selector .next
    {
        display: none;
    }

    .c-tabs-cms__selector ul
    {
        padding: 0;
    }

    .c-tabs-cms__selector ul li
    {
        padding: 0;
    }

    .c-tabs-cms__selector ul li p
    {
        font-size: 4.667vw;

        width: 100%;
        padding: 5.333vw 10.667vw;

        border-radius: 0;
    }

    .c-tabs-cms__selector ul li.is_select
    {
        -webkit-transform: translateY(0);
            -ms-transform: translateY(0);
                transform: translateY(0);

        border: none;
    }

    .c-tabs-cms__content
    {
        padding: 4vw;

        border-top: none;
    }

    .c-text-cms
    {
        font-size: 3.733vw;

        margin-bottom: 5.333vw;
    }

    .c-text-cms .c-text-link
    {
        margin-bottom: 0;
    }

    .c-textbox-cms dl
    {
        padding: 2.667vw;
    }

    .c-textbox-cms dl dt
    {
        font-size: 3.733vw;

        margin-bottom: 4vw;
        padding: 0 0 1.333vw 5.333vw;
    }

    .c-textbox-cms dl dt:before
    {
        top: 1.133vw;

        width: 3.2vw;
        height: 3.2vw;
    }

    .c-textbox-cms dl dd p
    {
        font-size: 3.733vw;
    }

    .c-ticker
    {
        margin-bottom: 1.333vw;

        border-radius: .8vw;
    }

    .c-ticker dt
    {
        font-size: 2.9333vw;

        width: 17.3333vw;
    }

    .c-ticker dd
    {
        width: calc(100% - 17.3333vw);
        padding: 2.6666vw 4vw;
    }

    .c-ticker dd a
    {
        font-size: 3.4666vw;
    }

    .c-ticker.important dt
    {
        font-size: 3.467vw;
    }

    .c-ticker.important dd
    {
        padding: 2.6666vw 4vw;
    }

    .c-ticker.important dd a
    {
        font-size: 3.733vw;
    }

    .c-youtube-cms
    {
        margin-bottom: 8vw;
    }

    .c-youtube-cms iframe
    {
        width: 100% !important;
    }

    .u-sp-display
    {
        display: block;
    }

    .u-pc-display
    {
        display: none;
    }

    .p-header-above
    {
        position: relative;

        display: block;

        width: auto;
        padding: 2.6666vw 0;
    }

    .p-header-above__logo
    {
        margin: 0;

        text-align: center;
    }

    .p-header-above__logo a
    {
        display: inline-block;
    }

    .p-header-above__logo a img
    {
        width: auto;
        height: 12vw;
    }

    .p-header-above__snavi
    {
        display: none;
    }

    .p-header-global
    {
        padding: 2.6666vw 0 1.3333vw;
    }

    .p-header-global__gnavi
    {
        width: 100%;
        margin: 0 auto;
    }

    .p-header-global__gnavi ul li
    {
        width: 25vw;

        border-right: none;
    }

    .p-header-global__gnavi ul li:last-child
    {
        display: none;
    }

    .p-header-global__gnavi ul li a
    {
        font-size: 2.6666vw;
        line-height: 6.6666vw;

        width: 100%;
        padding: 0;

        text-align: center;
    }

    .p-header-global__gnavi ul li a:after
    {
        display: none;
    }

    .p-header-global__gnavi ul li a .icon
    {
        display: block;

        padding-right: 0;
    }

    .p-header-global__gnavi ul li a .icon svg
    {
        height: 5.3333vw;
    }

    .p-header-global__gnavi ul li .children
    {
        display: none;
    }

    .p-header-global.lang
    {
        padding: 2.667vw 3vw;
    }

    .p-header-global.lang ul li
    {
        text-align: center;
    }

    .p-header-global.lang ul li:nth-child(1),
    .p-header-global.lang ul li:nth-child(4),
    .p-header-global.lang ul li:nth-child(5)
    {
        display: none;
    }

    .p-header-global.lang ul li:last-child
    {
        display: block;

        padding-left: 0;
    }

    .p-header-global.lang ul li a
    {
        font-size: 3.2vw;
        line-height: 1;

        padding: 0;

        letter-spacing: 0;
    }

    .p-header-global.lang ul li a .icon
    {
        display: block;
    }

    .p-header-global.lang ul li a .pc-inline
    {
        display: none;
    }

    .p-header-sp
    {
        display: block;
    }

    .p-header-sp__gnavi .info-navi
    {
        margin-bottom: 10.6666vw;
        padding: 4vw 0;
    }

    .p-header-sp__gnavi .info-navi ul li
    {
        margin: 0 5.3333vw;

        border-radius: 0;
    }

    .p-header-sp__gnavi .info-navi ul li a
    {
        width: auto;
        padding: 0;

        background-color: transparent;
    }

    .p-header-sp__gnavi .info-navi ul li a:hover
    {
        background-color: transparent;
    }

    .p-header-sp__gnavi .info-navi ul li a .icon
    {
        margin-bottom: 2.6666vw;
    }

    .p-header-sp__gnavi .info-navi ul li a .icon img
    {
        width: auto;
        height: 6.6666vw;
    }

    .p-header-sp__gnavi .info-navi ul li a dl dt
    {
        font-size: 4.8vw;
    }

    .p-header-sp__gnavi .info-navi ul li a dl dt span
    {
        font-size: 3.2vw;

        letter-spacing: .05em;
    }

    .p-header-sp__gnavi .info-navi ul li a dl dd
    {
        display: none;
    }

    .p-footer-above
    {
        width: auto;
        padding: 0 5vw;
    }

    .p-footer-above h2
    {
        display: none;
    }

    .p-footer-above__fnavi
    {
        display: none;
    }

    .p-footer-above__logo
    {
        font-size: 12px;
        font-size: .75rem;

        text-align: center;
    }

    .p-footer-above__logo .icon
    {
        display: block;

        padding-right: 0;
    }

    .p-footer-above__logo .icon img
    {
        width: 42.6666vw;
        margin-bottom: 2.6666vw;

        vertical-align: bottom;
    }

    .p-footer-above__social
    {
        position: static;
        top: auto;
        right: auto;

        width: 100%;
        margin-bottom: 5.3333vw;

        text-align: center;
    }

    .p-footer-above__social h4
    {
        font-size: 15px;
        font-size: .9375rem;
        font-size: 4vw;
        line-height: 9.3333vw;

        margin: 0 auto 1.3333vw;
    }

    .p-footer-above__social ul
    {
        display: block;
    }

    .p-footer-above__social ul li
    {
        display: inline-block;
        float: none;

        width: 20vw;
        margin: 0 .5333vw 0 0;

        vertical-align: top;
    }

    .p-footer-above__social ul li a
    {
        padding: 2.6666vw 1.3333vw;
    }

    .p-footer-above__social ul li a .icon.mid
    {
        padding: 3.2vw 0;
    }

    .p-footer-above__social ul li a p
    {
        font-size: 3.2vw;
    }

    .p-footer-above
    {
        width: auto;
        padding: 0 5vw;
    }

    .p-footer-above h2
    {
        display: none;
    }

    .p-footer-above__fnavi
    {
        display: none;
    }

    .p-footer-above__logo
    {
        font-size: 12px;
        font-size: .75rem;

        text-align: center;
    }

    .p-footer-above__logo .icon
    {
        display: block;

        padding-right: 0;
    }

    .p-footer-above__logo .icon img
    {
        width: 42.6666vw;
        margin-bottom: 2.6666vw;

        vertical-align: bottom;
    }

    .p-footer-above__social
    {
        position: static;
        top: auto;
        right: auto;

        width: 100%;
        margin-bottom: 5.3333vw;

        text-align: center;
    }

    .p-footer-above__social h4
    {
        font-size: 15px;
        font-size: .9375rem;
        font-size: 4vw;
        line-height: 9.3333vw;

        margin: 0 auto 1.3333vw;
    }

    .p-footer-above__social ul
    {
        display: block;
    }

    .p-footer-above__social ul li
    {
        display: inline-block;
        float: none;

        width: 20vw;
        margin: 0 .5333vw 0 0;

        vertical-align: top;
    }

    .p-footer-above__social ul li a
    {
        padding: 2.6666vw 1.3333vw;
    }

    .p-footer-above__social ul li a .icon.mid
    {
        padding: 3.2vw 0;
    }

    .p-footer-above__social ul li a p
    {
        font-size: 3.2vw;
    }

    .p-footer-under
    {
        width: auto;
        padding: 30px 5vw 0;
    }

    .p-footer-under__snavi ul
    {
        display: block;

        margin-bottom: 30px;

        text-align: center;
    }

    .p-footer-under__snavi ul li
    {
        display: inline-block;

        margin-right: 0;
    }

    .p-footer-under__snavi ul li:after
    {
        content: ' / ';

        color: #fff;
    }

    .p-footer-under__snavi ul li:last-child:after
    {
        display: none;
    }

    .p-footer-under__snavi ul li a
    {
        font-size: 12px;
        font-size: .75rem;
    }

    .p-footer-under__copyright
    {
        text-align: center;
    }

    .p-page-title-lv2
    {
        margin-bottom: 5.3333vw;
    }

    .p-page-title-lv2__visual
    {
        height: 42.6666vw;
    }

    .p-page-title-lv2__visual.life
    {
        height: 42.6666vw;
    }

    .p-page-title-lv2__visual img
    {
        width: auto;
        height: 100%;
    }

    .p-page-title-lv2__visual:before
    {
        width: 13.3333vw;
        height: 10.6666vw;

        background-size: 13.3333vw 10.6666vw;
    }

    .p-page-title-lv2__visual:after
    {
        width: 16.6666vw;
        height: 13.3333vw;

        background-size: 16.6666vw 13.3333vw;
    }

    .p-page-title-lv2__heading
    {
        font-size: 8.5333vw;

        top: 12.3333vw;
    }

    .p-page-title-lv2__heading .en
    {
        font-size: 3.7333vw;
    }

    .p-page-title-lv2__heading.life
    {
        top: 12.3333vw;
    }

    .p-page-title-lv2__navi
    {
        width: 100%;
        margin: 0 auto;
    }

    .p-page-title-lv2__navi ul
    {
        padding: 2.6666vw;
    }

    .p-page-title-lv2__navi ul li
    {
        width: calc(50% - 1.3333vw);
        height: 48vw;
        margin: 0 2.6666vw 2.6666vw 0;
    }

    .p-page-title-lv2__navi ul li:nth-child(3n)
    {
        margin-right: 2.6666vw;
    }

    .p-page-title-lv2__navi ul li:nth-child(even)
    {
        margin-right: 0;
    }

    .p-page-title-lv2__navi ul li a dl
    {
        top: 2vw;

        padding: 4vw;

        -webkit-transform: translate(-50%, 0);
            -ms-transform: translate(-50%, 0);
                transform: translate(-50%, 0);
    }

    .p-page-title-lv2__navi ul li a dl dt
    {
        margin-bottom: 2.6666vw;
    }

    .p-page-title-lv2__navi ul li a dl dt .icon img
    {
        height: 9.3333vw;
    }

    .p-page-title-lv2__navi ul li a dl dt span
    {
        font-size: 3.4666vw;
        line-height: 2;

        width: 38vw;
    }

    .p-page-title-lv2__navi ul li a dl dd
    {
        font-size: 3.2vw;
        line-height: 1.4;
    }

    .p-page-title-lv2__navi ul li a dl dd br
    {
        display: none;
    }

    .p-page-title-lv2__bnr
    {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 100%;
        padding: 0 4vw;
    }

    .p-page-title-lv3
    {
        padding: 8.6666vw 0 14vw;
    }

    .p-page-title-lv3.mini
    {
        padding: 4vw 0 9.333vw;
    }

    .p-page-title-lv3__heading
    {
        font-size: 4.8vw;
    }

    .p-page-title-lv3__heading:after
    {
        bottom: -5.3333vw;

        width: 10.6666vw;
        height: 1.0666vw;
    }

    .p-page-title-lv3__heading.mini
    {
        font-size: 5.333vw;
    }

    .p-page-title-lv3__heading.mini:after
    {
        bottom: -4vw;

        height: 1.067vw;

        border-radius: .533vw;
    }

    .p-news-detail h4
    {
        font-size: 4.267vw;

        margin-bottom: 5.333vw;
        padding-bottom: 1.333vw;

        border-width: .533vw;
    }

    .p-news-detail h4:before
    {
        bottom: -.533vw;

        width: 13.333vw;
        height: .533vw;

        border-radius: .8vw;
    }

    .p-news-detail p
    {
        font-size: 3.733vw;

        margin-bottom: 4vw;
    }

    .p-news-detail .back-btn
    {
        margin-top: 10.667vw;
    }

    .p-news-detail .back-btn a
    {
        line-height: 13.3333vw;

        width: 100%;
    }

    .p-news-detail .back-btn a span
    {
        font-size: 3.7333vw;
    }

    .p-page-routemap
    {
        padding: 0;

        border-top: 1px solid #dadada;
    }

    .p-page-routemap__guide
    {
        width: 100%;
        margin: 0;
        padding: 4vw 4vw 9.333vw;

        border-bottom: 1px solid #dadcdc;
    }

    .p-page-routemap__guide .heading
    {
        display: block;

        margin-bottom: 4vw;
    }

    .p-page-routemap__guide .heading h3
    {
        font-size: 4.267vw;

        margin: 0 0 5.333vw;
    }

    .p-page-routemap__guide figure
    {
        margin-bottom: 2.667vw;
    }

    .p-page-routemap__guide .c-link-btn
    {
        width: 100%;
    }

    .p-page-routemap__selector
    {
        overflow-x: scroll;

        width: 100%;

        border-bottom: none;
    }

    .p-page-routemap__selector ul
    {
        width: 170.6666vw;
        padding: 0;
    }

    .p-page-routemap__selector ul li
    {
        height: 16vw;

        -webkit-transform: translateY(0);
            -ms-transform: translateY(0);
                transform: translateY(0);
    }

    .p-page-routemap__selector ul li:hover dl
    {
        opacity: 1;
    }

    .p-page-routemap__selector ul li.is_select
    {
        -webkit-transform: translateY(0);
            -ms-transform: translateY(0);
                transform: translateY(0);

        border: none;
    }

    .p-page-routemap__selector ul li.is_select dl
    {
        height: 16vw;
        padding-top: 4vw;
    }

    .p-page-routemap__selector ul li.is_select dl dt
    {
        font-size: 3.7333vw;
    }

    .p-page-routemap__selector ul li.is_select dl dd.en
    {
        font-size: 2.6666vw;

        margin-top: 3px;
    }

    .p-page-routemap__selector ul li dl
    {
        font-size: 4.2666vw;

        width: 100%;
        height: 16vw;
        padding-top: 4vw;

        border-radius: 0;
    }

    .p-page-routemap__selector ul li dl dt
    {
        font-size: 3.7333vw;
    }

    .p-page-routemap__selector ul li dl dd.en
    {
        font-size: 2.6666vw;
    }

    .p-page-routemap__content
    {
        width: auto;
        padding: 4vw 0 0;
    }

    .p-page-routemap__content__type
    {
        margin-bottom: 5.33vw;
    }

    .p-page-routemap__content__type li
    {
        font-size: 4.266vw;

        margin-right: 5.33vw;
    }

    .p-page-routemap__content__type li:before
    {
        width: 10.66vw;
        height: 2.4vw;
        margin-right: 1.3333vw;

        border-radius: 8vw;
    }

    .p-page-routemap__content__path
    {
        padding: 5.33vw 4vw;
    }

    .p-page-routemap__content__path ul .station
    {
        margin: 0 0 4vw;
        padding: 2.6666vw;

        border-width: .5333vw;
        border-radius: .8vw;
    }

    .p-page-routemap__content__path ul .station .label
    {
        margin-right: 2.6677vw;
        padding: .8vw;

        border-width: .5333vw;
        border-radius: .8vw;
    }

    .p-page-routemap__content__path ul .station .label .mark
    {
        font-size: 3.7333vw;

        margin-right: .533vw;
        padding: 0 1.067vw;

        border-width: .5333vw;
        border-radius: .8vw;
    }

    .p-page-routemap__content__path ul .station .label .num
    {
        font-size: 3.7333vw;
    }

    .p-page-routemap__content__path ul .station h3
    {
        font-size: 4.2666vw;

        width: auto;
    }

    .p-page-routemap__content__path ul .station h3 span
    {
        font-size: 2.4vw;
    }

    .p-page-routemap__content__path ul .station .transfer
    {
        font-size: 3.2vw;
        line-height: 1.4;

        display: block;

        height: auto;
        margin-top: 2.6666vw;
        padding: 2.6666vw 0 0;

        vertical-align: bottom;

        border-top: 1px dashed #dadada;
        border-left: none;
    }

    .p-page-routemap__content__path ul .station .transfer .icon
    {
        margin-right: 1.3333vw;
    }

    .p-page-routemap__content__path ul .station .transfer .icon img
    {
        height: 4vw;
    }

    .p-page-routemap__content__path ul .station .transfer .txt
    {
        margin-right: 1.3333vw;
    }

    .p-page-routemap__content__path ul .station .transfer a
    {
        line-height: 1;

        margin-right: 1.3333vw;
        padding: 1.6vw 4.8vw 1.6vw 2.133vw;

        border-radius: .8vw;
    }

    .p-page-routemap__content__path ul .station .transfer a span
    {
        font-size: 3.2vw;
    }

    .p-page-routemap__content__path ul .station .transfer a span:after
    {
        right: -1.333vw;

        border-width: .8vw 0 .8vw .667vw;
    }

    .p-page-routemap__content__path ul .station .links
    {
        top: 1.3333vw;
        right: 2.667vw;

        -webkit-transform: translateY(0);
            -ms-transform: translateY(0);
                transform: translateY(0);
    }

    .p-page-routemap__content__path ul .station .links li
    {
        margin-left: 1.333vw;
    }

    .p-page-routemap__content__path ul .station .links li a
    {
        font-size: 2.667vw;

        min-width: 8vw;
        padding: 1.333vw;

        text-align: center;
    }

    .p-page-routemap__content__path ul .station .links li a .icon
    {
        display: block;

        margin: 0 0 1.333vw;
        padding-right: 0;
    }

    .p-page-routemap__content__path ul .station .links li a .icon img
    {
        height: 3.2vw;
    }

    .p-page-routemap__content__path ul .station.step1
    {
        width: calc(100% - 8vw);
        margin: 0 0 4vw 8vw;
    }

    .p-page-routemap__content__path ul .station.step2
    {
        width: calc(100% - 16vw);
        margin: 0 0 4vw 16vw;
    }

    .p-page-routemap__content__path ul .station.step3
    {
        margin: 0 0 4vw;
    }

    .p-page-routemap__content__path__lines
    {
        top: 15vw;
        left: 6.66vw;

        width: 2.66vw;
        height: calc(100% - 25.333vw);
    }

    .p-page-routemap__content__path__lines.full
    {
        left: 22.66vw;
    }

    .p-page-routemap__content__path__lines.full:before,
    .p-page-routemap__content__path__lines.full:after
    {
        width: 2.66vw;
    }

    .p-page-routemap__content__path__lines.full:before
    {
        left: -8vw;
    }

    .p-page-routemap__content__path__lines.full:after
    {
        left: -16vw;
    }

    .p-ticker-status
    {
        padding: 1.3333vw 1.3333vw 0;
    }

    .p-ticker-status.train
    {
        min-height: auto;
    }

    .p-ticker-status__btn
    {
        position: static;
        top: auto;
        right: auto;

        margin-bottom: 1.3333vw;
        padding: 0;
    }

    .p-ticker-status__btn li
    {
        margin-right: 1.3333vw;
    }

    .p-ticker-status__btn li a
    {
        width: 48vw;
        height: 16vw;
    }

    .p-ticker-status__btn li a .inner
    {
        left: auto;

        padding: 1.3333vw;

        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
    }

    .p-ticker-status__btn li a .inner .icon svg
    {
        height: 3.2vw;
        margin-bottom: .5333vw;
    }

    .p-ticker-status__btn li a .inner p
    {
        font-size: 2.933vw;
    }

    .p-ticker-status__btn li a .inner p span
    {
        font-size: 2.666vw;
    }

    .p-ticker-news
    {
        padding: 9.3333vw 0;
    }

    .p-wrapper-lv3__wrapper
    {
        padding: 8vw 4vw;
    }

    .p-wrapper-lv3__wrapper--mini
    {
        padding: 10.667vw 4vw;
    }
}

@media (min-width: 768px) and (max-width: 1280px)
{
    .l-footer
    {
        padding: 4.688vw 0;
    }

    .l-main
    {
        width: 93.75vw;
    }

    .l-primary
    {
        width: 70.313vw;
    }

    .l-sidebar
    {
        width: 23.438vw;
        padding-left: 1.563vw;
    }

    .c-block-full
    {
        margin: 0 auto 6.25vw;
        padding: 4.688vw;

        border-radius: .234vw;
    }

    .c-block-half
    {
        width: calc(50% - 1.563vw);
        margin: 0 3.125vw 3.125vw 0;
        padding: 2.344vw;

        border-radius: .234vw;
    }

    .c-block-2row-cms__left,
    .c-block-2row-cms__right
    {
        margin: 0 3.125vw 3.125vw 0;

        border-radius: .234vw;
    }

    .c-block-2row-cms__right
    {
        margin-right: 0;
    }

    .c-breadcrumbs ul
    {
        width: 93.75vw;
    }

    .c-breadcrumbs ul li
    {
        font-size: .938vw;
        line-height: 2.344vw;

        padding-right: 1.563vw;
    }

    .c-breadcrumbs ul li:after
    {
        top: 1.016vw;
        right: .547vw;

        width: .391vw;
        height: .391vw;

        border-width: .078vw;
    }

    .c-viewmore-btn a
    {
        line-height: 4.688vw;

        border-radius: .391vw;
    }

    .c-viewmore-btn a span
    {
        font-size: 1.25vw;
    }

    .c-viewmore-btn a span:after
    {
        right: -.781vw;

        border-width: .469vw 0 .469vw .391vw;
    }

    .c-link-btn
    {
        line-height: 4.375vw;

        border-width: .156vw;
        border-radius: .234vw;
    }

    .c-link-btn span
    {
        font-size: 1.25vw;
    }

    .c-link-btn span:after
    {
        right: -.781vw;

        border-width: .469vw 0 .469vw .391vw;
    }

    .c-link-btn.pdf span:before
    {
        left: -1.953vw;

        width: 1.289vw;
        height: 1.719vw;

        background-size: 1.289vw 1.719vw;
    }

    .c-link-btn.pdf span:before
    {
        left: -1.953vw;

        width: 1.289vw;
        height: 1.719vw;

        background-size: 1.289vw 1.719vw;
    }

    .c-link-btn.print span:before
    {
        left: -1.953vw;

        width: 1.289vw;
        height: 1.719vw;

        background-size: 1.289vw 1.719vw;
    }

    .c-link-btn.mini
    {
        line-height: 3.516vw;

        margin-bottom: 1.563vw;
        padding: 0 3.906vw 0 3.125vw;
    }

    .c-link-btn.ext span:before
    {
        right: -1.953vw;

        width: 1.289vw;
        height: 1.719vw;

        background-size: 1.289vw 1.719vw;
    }

    .c-search-btn
    {
        font-size: 1.406vw;
        line-height: 4.688vw;

        border-radius: .391vw;
    }

    .bx-prev,
    .bx-next
    {
        width: 1.953vw;
        height: 1.953vw;
    }

    .bx-prev
    {
        left: -3.125vw;
    }

    .bx-prev:before
    {
        border-width: .273vw .391vw .273vw 0;
    }

    .bx-next
    {
        right: -3.125vw;
    }

    .bx-next:before
    {
        border-width: .273vw 0 .273vw .391vw;
    }

    .bx-pager .bx-pager-item
    {
        margin: 0 .625vw;
    }

    .bx-pager .bx-pager-item a
    {
        width: .781vw;
        height: .781vw;

        border-width: .078vw;
    }

    .bx-pager .bx-pager-item a.active
    {
        border-width: .234vw;
    }

    .c-checkbox
    {
        font-size: 1.25vw;
        line-height: 1.563vw;

        padding-left: 1.953vw;
    }

    .c-checkbox .indicator
    {
        width: 1.563vw;
        height: 1.563vw;

        border-width: .156vw;
    }

    .c-checkbox .indicator:after
    {
        top: .313vw;
        left: .625vw;

        width: .234vw;
        height: .625vw;

        border-width: 0 .156vw .156vw 0;
    }

    .c-heading-sm
    {
        font-size: 1.875vw;

        margin-bottom: 3.906vw;
    }

    .c-heading-sm .en
    {
        font-size: 1.094vw;

        margin-top: .781vw;
    }

    .c-heading-lg
    {
        font-size: 2.5vw;

        margin-bottom: 3.906vw;
    }

    .c-heading-lg .icon
    {
        margin-right: .781vw;
    }

    .c-heading-lg .en
    {
        font-size: 1.25vw;

        margin-top: 1.172vw;
    }

    .c-heading-lv3
    {
        font-size: 2.188vw;

        margin-bottom: 4.688vw;
    }

    .c-heading-lv3.sm
    {
        font-size: 1.875vw;
    }

    .c-heading-lv3.lg
    {
        font-size: 2.5vw;
    }

    .c-heading-lv3:after
    {
        bottom: -1.953vw;

        width: 2.344vw;
        height: .391vw;

        border-radius: .234vw;
    }

    .c-heading-lv3 .icon
    {
        margin-bottom: 1.953vw;
    }

    .c-heading-lv3 .icon img
    {
        height: 3.906vw;
    }

    .c-heading-cms-lg
    {
        font-size: 2.031vw;

        margin-bottom: 20px;
        padding-left: 20px;
    }

    .c-heading-cms-lg:before
    {
        top: .391vw;

        width: 5px;
        height: 30px;

        border-radius: .234vw;
    }

    .c-heading-cms-md
    {
        font-size: 1.406vw;

        margin-bottom: 1.5625vw;
        padding-bottom: .781vw;

        border-width: .156vw;
    }

    .c-heading-cms-md:before
    {
        bottom: -.156vw;

        width: 3.906vw;
        height: .156vw;

        border-radius: .234vw;
    }

    .c-heading-cms-md .icon
    {
        padding: 0 .781vw;
    }

    .c-heading-cms-md .icon img
    {
        width: 1.719vw;
    }

    .c-heading-cms-sm
    {
        font-size: 1.172vw;

        margin-bottom: 1.563vw;
        padding: .781vw .781vw .781vw 2.734vw;

        border-radius: .234vw;
    }

    .c-heading-cms-sm:before
    {
        top: 1.172vw;
        left: .781vw;

        width: 1.094vw;
        height: 1.094vw;

        border-radius: .234vw;
    }

    .c-heading-cms-xsm
    {
        font-size: 1.094vw;

        margin-bottom: 1.563vw;
        padding: 0 0 0 1.953vw;

        border-radius: .234vw;
    }

    .c-heading-cms-xsm:before
    {
        top: .391vw;

        width: 1.094vw;
        height: 1.094vw;

        border-radius: .234vw;
    }

    .c-imgbox-cms
    {
        margin-bottom: 2.343vw;
        padding: 0 3.125vw;
    }

    .c-imgbox-cms img
    {
        max-width: 100%;
    }

    .c-imgbox-cms figcaption
    {
        font-size: 1.01vw;

        margin-top: .39vw;
    }

    .c-imgbox-combo-cms
    {
        margin-bottom: 2.343vw;
    }

    .c-imgbox-combo-cms figure
    {
        padding: 1.563vw;

        border-width: .078vw;
    }

    .c-imgbox-combo-cms .text p
    {
        font-size: 1.17vw;

        margin-bottom: 1.563vw;
    }

    .c-imgbox-flex-cms .c-imgbox-cms
    {
        margin-bottom: 2.343vw;
        padding: 0 1.563vw;
    }

    .c-header-search
    {
        width: 37.5vw;
        height: 3.906vw;
        margin-right: 3.125vw;
        padding-top: .391vw;
    }

    .c-header-search input
    {
        font-size: 1.25vw;

        height: 3.125vw;
        padding: 0 1.172vw;

        border: .078vw solid #ecedef;
        border-radius: 1.563vw;
    }

    .c-header-search button
    {
        right: 1.172vw;
    }

    .c-header-search button img
    {
        width: 1.328vw;
        height: auto;
    }

    .c-input input
    {
        font-size: 1.25vw;

        height: 4.297vw;
        padding: 0 1.172vw;

        border-width: .078vw;
        border-radius: .234vw;
    }

    .c-input.mini input
    {
        font-size: 1.172vw;

        width: 17.188vw;
        height: 2.734vw;
    }

    .c-input.label input
    {
        font-size: 1.719vw;

        padding: 0 0 0 4.688vw;

        border-width: .156vw;
        background-position: .781vw 50%;
        background-size: 2.813vw;
    }

    .c-text-link
    {
        margin: 0 0 1.563vw;
    }

    .c-text-link a
    {
        font-size: 1.25vw;
    }

    .c-text-link.pdf:before
    {
        width: 1.289vw;
        height: 1.719vw;

        background-size: 1.289vw 1.719vw;
    }

    .c-list-cms-std
    {
        margin-bottom: 4.688vw;
    }

    .c-list-cms-std li
    {
        font-size: 1.172vw;

        margin-bottom: .391vw;
        padding: 0 0 0 1.563vw;
    }

    .c-list-cms-std li:before
    {
        top: .625vw;

        width: .938vw;
        height: .938vw;

        border-radius: .234vw;
    }

    .c-list-cms-num
    {
        margin-bottom: 4.688vw;
    }

    .c-list-cms-num li
    {
        font-size: 1.172vw;

        margin-bottom: .391vw;
        padding: 0 0 0 1.953vw;
    }

    .c-list-cms-num li:before
    {
        font-size: .938vw;
        line-height: 1.25vw;

        top: .391vw;

        width: 1.25vw;
        height: 1.25vw;

        border-width: .078vw;
        border-radius: .234vw;
    }

    .c-list-cms-num-simple
    {
        margin-bottom: 4.688vw;
    }

    .c-list-cms-num-simple li
    {
        font-size: 1.172vw;

        margin-bottom: .391vw;
    }

    .c-modal__container
    {
        width: 62.5vw;
    }

    .c-modal__container h4
    {
        font-size: 2.031vw;

        padding: 1.563vw 3.125vw;
    }

    .c-modal__container__inner
    {
        padding: 2.344vw 3.125vw;
    }

    .c-modal__container__inner p
    {
        font-size: 1.172vw;

        margin-bottom: 1.563vw;
    }

    .c-modal__container__inner .close-btn a
    {
        line-height: 4.688vw;

        border-radius: .391vw;
    }

    .c-modal__container__inner .close-btn a span
    {
        font-size: 1.25vw;
    }

    .c-modal__container__inner .btns
    {
        margin-top: 3.125vw;
    }

    .c-modal__container__inner .btns li
    {
        width: 25.781vw;
        margin: 0 .781vw;
    }

    .c-news-list dl
    {
        margin-bottom: 3.906vw;
    }

    .c-news-list dl dt
    {
        font-size: 1.094vw;

        margin-bottom: .781vw;
    }

    .c-news-list dl dt .cat
    {
        font-size: .859vw;

        margin-left: .781vw;
        padding: .469vw .313vw .313vw;

        border-width: .078vw;
        border-radius: .234vw;
    }

    .c-news-list dl dd
    {
        margin-bottom: 2.344vw;
        padding-bottom: 2.344vw;
    }

    .c-news-list dl dd.release
    {
        padding-left: 2.344vw;
    }

    .c-news-list dl dd a
    {
        font-size: 1.25vw;
    }

    .c-news-list-simple ul li
    {
        margin-bottom: 1.563vw;
        padding-bottom: 1.563vw;

        border-width: .078vw;
    }

    .c-news-list-simple ul li dl dt
    {
        font-size: 1.172vw;

        margin-right: 1.563vw;
    }

    .c-news-list-simple ul li dl dd a
    {
        font-size: 1.25vw;
    }

    .c-pagination ul li
    {
        margin: 0 .781vw 0 0;
    }

    .c-pagination ul li a
    {
        font-size: 1.094vw;
        line-height: 2.344vw;

        width: 2.344vw;
        height: 2.344vw;

        border-width: .078vw;
        border-radius: .234vw;
    }

    .c-pagination ul li.prev a,
    .c-pagination ul li.next a
    {
        width: 3.906vw;
    }

    .c-radio input[type='radio'] + label
    {
        font-size: 1.25vw;

        padding-left: 1.953vw;
    }

    .c-radio input[type='radio'] + label:before
    {
        width: 1.563vw;
        height: 1.563vw;

        border-width: .078vw;
    }

    .c-radio input[type='radio']:checked + label:before
    {
        -webkit-box-shadow: inset 0 0 0 .313vw #fff;
                box-shadow: inset 0 0 0 .313vw #fff;
    }

    .c-radio-thick input[type='radio']
    {
        height: 4.297vw;
    }

    .c-radio-thick label
    {
        font-size: 1.172vw;
        line-height: 4.297vw;
    }

    .c-radio-thick.mini input[type='radio']
    {
        height: 3.125vw;
    }

    .c-radio-thick.mini label
    {
        font-size: 1.25vw;
        line-height: 2.891vw;
    }

    .c-routemap-cms
    {
        margin-bottom: 3.125vw;
    }

    .c-routemap-cms ul li
    {
        font-size: 1.25vw;

        margin-bottom: 1.563vw;
        padding: 1.172vw 1.563vw;

        border-width: .156vw;
    }

    .c-routemap-cms ul li:after
    {
        bottom: -1.719vw;
        left: 1.563vw;

        width: .781vw;
        height: 1.563vw;
    }

    .c-scroll-top
    {
        right: 3.125vw;
        bottom: 3.906vw;

        width: 4.688vw;
        height: 4.688vw;
    }

    .c-search-cms
    {
        width: 51.563vw;
        margin-bottom: 3.906vw;
    }

    .c-search-cms form dl
    {
        width: 23.438vw;
    }

    .c-search-cms form dl dt
    {
        font-size: 1.25vw;

        margin-bottom: .781vw;
    }

    .c-search-cms form dl dt .icon
    {
        margin-right: .391vw;
    }

    .c-search-cms form dl dt .icon img
    {
        width: 1.289vw;
    }

    .c-search-cms form dl dt a
    {
        font-size: 1.016vw;

        margin-left: .781vw;
        padding: .547vw .781vw;

        border-width: .078vw;
        border-radius: .234vw;
    }

    .c-search-cms form .trade
    {
        line-height: 3.906vw;

        width: 4.688vw;
        height: 3.906vw;
        margin: 2.734vw 0 0;
    }

    .c-search-cms form .trade img
    {
        width: 1.953vw;
    }

    .c-search-cms form .c-search-btn
    {
        line-height: 3.906vw;

        margin-top: 1.172vw;
    }

    .c-select
    {
        font-size: 1.25vw;
        line-height: 1.953vw;

        padding: 1.094vw 4.297vw 1.094vw 1.172vw;

        border-radius: .313vw;
        background-position: calc(100% - 1.563vw) 50%, calc(100% - 1.172vw) 50%, 100% 0;
        background-size: .391vw .391vw, .391vw .391vw, 3.125vw 4.297vw;
    }

    .c-select.mini
    {
        font-size: 1.406vw;

        padding: .391vw 2.344vw .391vw .781vw;

        background-position: calc(100% - .781vw) 50%, calc(100% - .391vw) 50%, 100% 0;
        background-size: .391vw .391vw, .391vw .391vw, 1.563vw 2.734vw;
    }

    .c-select-cms:before
    {
        right: .781vw;

        border-width: 0 .352vw .469vw .352vw;
    }

    .c-select-cms.label select
    {
        font-size: 1.719vw;

        padding: .938vw 5.078vw .938vw 4.688vw;

        border-width: .156vw;
        background-position: .781vw 50%;
        background-size: 2.813vw;
    }

    .c-select-cms.label:before
    {
        right: 3.516vw;
    }

    .c-select-cms.label:after
    {
        right: 3.516vw;
    }

    .c-select-cms:after
    {
        right: .781vw;

        border-width: .469vw .352vw 0 .352vw;
    }

    .c-select-cms select
    {
        font-size: 1.25vw;
        line-height: 1.953vw;

        padding: 1.094vw 4.297vw 1.094vw 1.172vw;

        border-radius: .313vw;
    }

    .c-table-cms-vtcl
    {
        margin-bottom: 4.688vw;
    }

    .c-table-cms-vtcl th
    {
        font-size: 1.172vw;

        max-width: 12.5vw;
        padding: .781vw 1.563vw;

        border-width: .078vw;
    }

    .c-table-cms-vtcl td
    {
        font-size: 1.094vw;

        padding: .781vw 1.563vw;

        border-width: .078vw;
    }

    .c-table-cms-hrzn
    {
        margin-bottom: 4.688vw;
    }

    .c-table-cms-hrzn th
    {
        font-size: 1.172vw;

        padding: 1.172vw 1.563vw;

        border-width: .078vw;
    }

    .c-table-cms-hrzn td
    {
        font-size: 1.094vw;

        padding: 1.172vw 1.563vw;

        border-width: .078vw;
    }

    .c-tabs-cms__selector
    {
        width: calc(100% - 6.25vw);

        -webkit-transform: translateY(.156vw);
            -ms-transform: translateY(.156vw);
                transform: translateY(.156vw);

        border-width: .156vw;
    }

    .c-tabs-cms__selector .prev,
    .c-tabs-cms__selector .next
    {
        top: 1.953vw;

        width: 1.953vw;
        height: 1.953vw;
    }

    .c-tabs-cms__selector .prev:before,
    .c-tabs-cms__selector .next:before
    {
        top: .781vw;

        width: .391vw;
        height: .391vw;

        border-width: .156vw;
    }

    .c-tabs-cms__selector .prev
    {
        left: -2.344vw;
    }

    .c-tabs-cms__selector .prev:before
    {
        left: .781vw;
    }

    .c-tabs-cms__selector .next
    {
        right: -2.344vw;
    }

    .c-tabs-cms__selector .next:before
    {
        right: .781vw;
    }

    .c-tabs-cms__selector ul li
    {
        padding: 1.172vw 1.563vw;

        -webkit-transform: translateY(.156vw);
            -ms-transform: translateY(.156vw);
                transform: translateY(.156vw);
    }

    .c-tabs-cms__selector ul li p
    {
        font-size: 1.406vw;

        padding: 1.172vw 3.125vw;
    }

    .c-tabs-cms__selector ul li.is_select
    {
        border-width: .156vw;
    }

    .c-tabs-cms__content
    {
        padding: 2.344vw 3.125vw;

        border-width: .156vw;
    }

    .c-text-cms
    {
        font-size: 1.17vw;

        margin-bottom: 1.563vw;

        border-radius: .234vw;
    }

    .c-text-cms .c-text-link
    {
        margin-bottom: 0;
    }

    .c-textbox-cms
    {
        margin-bottom: 2.344vw;
    }

    .c-textbox-cms dl
    {
        padding: 1.563vw;
    }

    .c-textbox-cms dl dt
    {
        font-size: 1.172vw;

        margin-bottom: 1.563vw;
        padding: 0 0 1.172vw 1.563vw;

        border-width: .078vw;
    }

    .c-textbox-cms dl dt:before
    {
        top: .391vw;

        width: .938vw;
        height: .938vw;

        border-radius: .234vw;
    }

    .c-textbox-cms dl dd p
    {
        font-size: 1.172vw;

        margin-bottom: 1.563vw;
    }

    .c-ticker
    {
        margin-bottom: .39vw;

        border-radius: .234vw;
    }

    .c-ticker dt
    {
        font-size: 1.25vw;

        width: 10.547vw;
    }

    .c-ticker dd
    {
        width: calc(100% - 10.547vw);
        min-height: 3.125vw;
        padding: .781vw 2.344vw;
    }

    .c-ticker dd a
    {
        font-size: 1.172vw;
    }

    .c-ticker.important dt
    {
        font-size: 1.875vw;
    }

    .c-ticker.important dd
    {
        padding: 1.563vw 2.344vw;
    }

    .c-ticker.important dd a
    {
        font-size: 1.875vw;
    }

    .c-youtube-cms
    {
        margin-bottom: 4.688vw;
    }

    .c-youtube-cms iframe
    {
        width: 100% !important;
    }

    .p-header-above
    {
        width: 93.75%;
        padding: 1.1718vw 0;
    }

    .p-header-above__logo
    {
        margin: 0 3.906vw 0 0;
    }

    .p-header-above__logo img
    {
        width: auto;
        height: 3.906vw;
    }

    .p-header-above__snavi
    {
        padding: 1.172vw 0;
    }

    .p-header-above__snavi ul li
    {
        min-width: 7.813vw;
        margin-right: 3.125vw;
    }

    .p-header-above__snavi ul li a
    {
        font-size: 1.25vw;
    }

    .p-header-above__snavi ul li a .icon
    {
        margin-right: .781vw;
    }

    .p-header-above__snavi ul li a .icon img
    {
        height: 1.406vw;
    }

    .p-header-above__snavi ul li.global a:after
    {
        right: -1.094vw;

        border-width: .391vw .391vw 0 .391vw;
    }

    .p-header-above__snavi ul li.global ul
    {
        top: 2.344vw;

        padding: 1.172vw 1.563vw;

        border-width: .156vw;
    }

    .p-header-above__snavi ul li.global ul li
    {
        width: 10.156vw;
        margin: 0 0 1.172vw;
        padding: 0 0 1.172vw;

        border-width: .156vw;
    }

    .p-header-above__snavi ul li.global ul li a
    {
        font-size: 1.406vw;
    }

    .p-header-global
    {
        padding: .781vw 0;
    }

    .p-header-global__gnavi
    {
        width: 93.75vw;
    }

    .p-header-global__gnavi ul li
    {
        border-width: .078vw;
    }

    .p-header-global__gnavi ul li:last-child
    {
        padding-left: 2.34vw;
    }

    .p-header-global__gnavi ul li:last-child a
    {
        padding-left: 2.34vw;
    }

    .p-header-global__gnavi ul li a
    {
        font-size: 1.172vw;
        line-height: 3.906vw;

        padding: 0 3.125vw;
    }

    .p-header-global__gnavi ul li a:after
    {
        top: 3.359vw;

        border-width: .391vw .391vw 0 .391vw;
    }

    .p-header-global__gnavi ul li a .icon
    {
        padding-right: .781vw;
    }

    .p-header-global__gnavi ul li a .icon svg
    {
        height: 1.953vw;
    }

    .p-header-global__gnavi ul li .children
    {
        top: 3.906vw;

        width: 96.875vw;
        padding: 3.125vw 1.563vw 1.563vw;
    }

    .p-header-global__gnavi ul li .children.pict
    {
        padding: 2.344vw 1.563vw 1.563vw;
    }

    .p-header-global__gnavi ul li .children.pict li a
    {
        padding: .781vw 0;

        border-radius: .234vw;
    }

    .p-header-global__gnavi ul li .children.pict li a dl dt img
    {
        height: 1.797vw;
    }

    .p-header-global__gnavi ul li .children.pict li a dl dd
    {
        font-size: 1.094vw;
    }

    .p-header-global__gnavi ul li .children li
    {
        width: 17.5vw;
        margin-right: 1.563vw;
    }

    .p-header-global__gnavi ul li .children li a figure
    {
        border-radius: .234vw;
    }

    .p-header-global__gnavi ul li .children li a dl dt
    {
        font-size: 2.5vw;

        margin-bottom: .781vw;
    }

    .p-header-global__gnavi ul li .children li a dl dd
    {
        font-size: 1.25vw;
    }

    .p-header-global.lang
    {
        padding: 1.563vw 0;
    }

    .p-header-global.lang ul li:last-child
    {
        padding-left: 1.563vw;
    }

    .p-header-global.lang ul li a
    {
        padding: 0 1.563vw;
    }

    .p-header-sp__gnavi .info-navi
    {
        margin-bottom: 6.25vw;
    }

    .p-header-sp__gnavi .info-navi ul li
    {
        margin: 0 .781vw;

        border-radius: .234vw;
    }

    .p-header-sp__gnavi .info-navi ul li a
    {
        width: 21.875vw;
        padding: 2.344vw 0;

        border-radius: .234vw;
    }

    .p-header-sp__gnavi .info-navi ul li a .icon
    {
        margin-bottom: 1.563vw;
    }

    .p-header-sp__gnavi .info-navi ul li a dl dt
    {
        font-size: 1.875vw;
    }

    .p-header-sp__gnavi .info-navi ul li a dl dt span
    {
        font-size: .938vw;

        margin-top: .781vw;
    }

    .p-header-sp__gnavi .info-navi ul li a dl dd
    {
        font-size: 1.172vw;
    }

    .p-footer-above
    {
        width: 93.75vw;
    }

    .p-footer-above h2
    {
        font-size: 2.5vw;

        margin-bottom: 3.125vw;
    }

    .p-footer-above__fnavi
    {
        margin-bottom: 2.734vw;
    }

    .p-footer-above__fnavi ul:nth-child(2)
    {
        margin-top: 1.563vw;
    }

    .p-footer-above__fnavi ul li
    {
        margin-right: 2.734vw;
    }

    .p-footer-above__fnavi ul li a
    {
        font-size: 1.25vw;
    }

    .p-footer-above__fnavi ul li a .icon
    {
        padding-right: .781vw;
    }

    .p-footer-above__logo
    {
        font-size: 1.094vw;
    }

    .p-footer-above__logo .icon
    {
        padding-right: 1.172vw;
    }

    .p-footer-above__social
    {
        top: -1.562vw;

        width: 14.531vw;
    }

    .p-footer-above__social h4
    {
        font-size: 1.563vw;

        margin-bottom: .391vw;

        border-radius: .234vw;
    }

    .p-footer-above__social ul li
    {
        width: 7.031vw;
        margin: 0 .234vw .234vw 0;
    }

    .p-footer-above__social ul li a
    {
        padding: 1.172vw 1.172vw;

        border-radius: .234vw;
    }

    .p-footer-above__social ul li a .icon.mid
    {
        padding: .781vw 0;
    }

    .p-footer-above__social ul li a .icon.mid svg
    {
        width: 3.125vw;
        height: 2.344vw;
    }

    .p-footer-above__social ul li a p
    {
        font-size: 1.016vw;
    }

    .p-footer-above__social ul li a p span
    {
        font-size: .938vw;

        margin-top: .391vw;
        padding: .234vw 0;

        border-radius: .234vw;
    }

    .p-footer-above
    {
        width: 93.75vw;
    }

    .p-footer-above h2
    {
        font-size: 2.5vw;

        margin-bottom: 3.125vw;
    }

    .p-footer-above__fnavi
    {
        margin-bottom: 2.734vw;
    }

    .p-footer-above__fnavi ul:nth-child(2)
    {
        margin-top: 1.563vw;
    }

    .p-footer-above__fnavi ul li
    {
        margin-right: 2.734vw;
    }

    .p-footer-above__fnavi ul li a
    {
        font-size: 1.25vw;
    }

    .p-footer-above__fnavi ul li a .icon
    {
        padding-right: .781vw;
    }

    .p-footer-above__logo
    {
        font-size: 1.094vw;
    }

    .p-footer-above__logo .icon
    {
        padding-right: 1.172vw;
    }

    .p-footer-above__social
    {
        top: -1.562vw;

        width: 14.531vw;
    }

    .p-footer-above__social h4
    {
        font-size: 1.563vw;

        margin-bottom: .391vw;

        border-radius: .234vw;
    }

    .p-footer-above__social ul li
    {
        width: 7.031vw;
        margin: 0 .234vw .234vw 0;
    }

    .p-footer-above__social ul li a
    {
        padding: 1.172vw 1.172vw;

        border-radius: .234vw;
    }

    .p-footer-above__social ul li a .icon.mid
    {
        padding: .781vw 0;
    }

    .p-footer-above__social ul li a .icon.mid svg
    {
        width: 3.125vw;
        height: 2.344vw;
    }

    .p-footer-above__social ul li a p
    {
        font-size: 1.016vw;
    }

    .p-footer-above__social ul li a p span
    {
        font-size: .938vw;

        margin-top: .391vw;
        padding: .234vw 0;

        border-radius: .234vw;
    }

    .p-footer-under
    {
        width: 93.75vw;
        padding-top: 2.344vw;
    }

    .p-footer-under__snavi
    {
        margin-bottom: 2.344vw;
    }

    .p-footer-under__snavi ul li
    {
        margin-right: 1.953vw;
    }

    .p-footer-under__snavi ul li a
    {
        font-size: 1.094vw;
    }

    .p-footer-under__copyright
    {
        font-size: .938vw;
    }

    .p-page-title-lv2
    {
        margin-bottom: 6.25vw;
    }

    .p-page-title-lv2__visual
    {
        height: 39.063vw;
    }

    .p-page-title-lv2__visual.life
    {
        height: 26.563vw;
    }

    .p-page-title-lv2__visual:before
    {
        width: 7.813vw;
        height: 6.25vw;
    }

    .p-page-title-lv2__visual:after
    {
        top: -.078vw;

        width: 9.766vw;
        height: 7.813vw;

        background-size: 9.766vw 7.813vw;
    }

    .p-page-title-lv2__heading
    {
        font-size: 3.438vw;

        top: 10.938vw;
    }

    .p-page-title-lv2__heading .en
    {
        font-size: 1.563vw;
    }

    .p-page-title-lv2__heading.life
    {
        top: 6.25vw;
    }

    .p-page-title-lv2__navi
    {
        width: 93.75vw;
        margin: -10.938vw auto 0;
    }

    .p-page-title-lv2__navi ul
    {
        padding: 2.344vw;
    }

    .p-page-title-lv2__navi ul li
    {
        width: 28.125vw;
        height: 18.75vw;
        margin: 0 2.344vw 2.344vw 0;
    }

    .p-page-title-lv2__navi ul li a dl dt
    {
        margin-bottom: 1.172vw;
    }

    .p-page-title-lv2__navi ul li a dl dt .icon
    {
        margin-bottom: 1.172vw;
    }

    .p-page-title-lv2__navi ul li a dl dt .icon img
    {
        height: 3.516vw;
    }

    .p-page-title-lv2__navi ul li a dl dt span
    {
        font-size: 1.875vw;
        line-height: 3.516vw;

        width: 25vw;

        border-radius: .234vw;
    }

    .p-page-title-lv2__navi ul li a dl dd
    {
        font-size: 1.406vw;
    }

    .p-page-title-lv2__bnr
    {
        width: 89.063vw;
    }

    .p-page-title-lv3
    {
        padding: 4.688vw 0 7.031vw;
    }

    .p-page-title-lv3.mini
    {
        padding: 1.172vw 0 2.734vw;
    }

    .p-page-title-lv3__heading
    {
        font-size: 3.438vw;
    }

    .p-page-title-lv3__heading:after
    {
        bottom: -2.344vw;

        width: 4.688vw;
        height: .469vw;

        border-radius: .234vw;
    }

    .p-page-title-lv3__heading.mini
    {
        font-size: 2.188vw;
    }

    .p-page-title-lv3__heading.mini:after
    {
        bottom: -1.172vw;

        height: .313vw;

        border-radius: .156vw;
    }

    .p-news-detail h4
    {
        font-size: 1.406vw;

        margin-bottom: 1.5625vw;
        padding-bottom: .781vw;

        border-width: .156vw;
    }

    .p-news-detail h4:before
    {
        bottom: -.156vw;

        width: 3.906vw;
        height: .156vw;

        border-radius: .234vw;
    }

    .p-news-detail .post-date
    {
        font-size: 1.172vw;

        margin-bottom: 2.344vw;
    }

    .p-news-detail p
    {
        font-size: 1.17vw;

        margin-bottom: 1.563vw;
    }

    .p-news-detail .back-btn
    {
        margin-top: 4.688vw;
    }

    .p-news-detail .back-btn a
    {
        line-height: 4.688vw;

        width: 25.781vw;

        border-radius: .391vw;
    }

    .p-news-detail .back-btn a span
    {
        font-size: 1.25vw;
    }

    .p-page-routemap
    {
        padding: 6.25vw 0;
    }

    .p-page-routemap__guide
    {
        width: 93.75vw;
        margin: 0 auto 3.125vw;
        padding: 2.344vw;
    }

    .p-page-routemap__guide .heading
    {
        margin-bottom: 2.344vw;
    }

    .p-page-routemap__guide .heading h3
    {
        font-size: 1.875vw;

        margin-right: 1.563vw;
    }

    .p-page-routemap__guide figure
    {
        margin-bottom: 1.563vw;
    }

    .p-page-routemap__guide .c-link-btn
    {
        width: 25.781vw;
    }

    .p-page-routemap__selector
    {
        width: 93.75vw;
    }

    .p-page-routemap__selector ul
    {
        width: 83.594vw;
    }

    .p-page-routemap__selector ul li
    {
        height: 7.1825vw;

        -webkit-transform: translateY(.156vw);
            -ms-transform: translateY(.156vw);
                transform: translateY(.156vw);
    }

    .p-page-routemap__selector ul li.is_select
    {
        -webkit-transform: translateY(.156vw);
            -ms-transform: translateY(.156vw);
                transform: translateY(.156vw);
    }

    .p-page-routemap__selector ul li.is_select dl
    {
        padding-top: .781vw;
    }

    .p-page-routemap__selector ul li.is_select dl dt
    {
        font-size: 1.875vw;
    }

    .p-page-routemap__selector ul li.is_select dl dd.en
    {
        margin-top: .625vw;
    }

    .p-page-routemap__selector ul li dl
    {
        width: calc(100% - 4.688vw);
        height: 5.078vw;
        padding-top: 1.172vw;

        border-radius: .234vw;
    }

    .p-page-routemap__selector ul li dl dt
    {
        font-size: 1.563vw;
    }

    .p-page-routemap__selector ul li dl dd.en
    {
        font-size: .859vw;

        margin-top: .234vw;
    }

    .p-page-routemap__content
    {
        width: 93.75vw;
        padding: 1.953vw 7.422vw 4.297vw;
    }

    .p-page-routemap__content__type
    {
        margin-bottom: 1.563vw;
    }

    .p-page-routemap__content__type li
    {
        font-size: 1.406vw;

        margin-right: 1.563vw;
    }

    .p-page-routemap__content__type li:before
    {
        width: 2.34vw;
        height: .625vw;
        margin-right: .781vw;

        border-radius: .234vw;
    }

    .p-page-routemap__content__path
    {
        padding: 2.34vw 3.12vw;
    }

    .p-page-routemap__content__path ul .station
    {
        margin: 0 0 1.56vw;
        padding: 1.172vw;

        border-width: .156vw;
        border-radius: .234vw;
    }

    .p-page-routemap__content__path ul .station .label
    {
        margin-right: 1.172vw;
        padding: .469vw .469vw .391vw .469vw;

        border-width: .156vw;
        border-radius: .234vw;
    }

    .p-page-routemap__content__path ul .station .label .mark
    {
        font-size: 1.406vw;

        margin-right: .391vw;
        padding: 0 .313vw;

        border-width: .156vw;
        border-radius: .234vw;
    }

    .p-page-routemap__content__path ul .station .label .num
    {
        font-size: 1.563vw;
    }

    .p-page-routemap__content__path ul .station h3
    {
        font-size: 2.031vw;

        width: 17.188vw;
    }

    .p-page-routemap__content__path ul .station h3 span
    {
        font-size: 1.25vw;
    }

    .p-page-routemap__content__path ul .station .transfer
    {
        font-size: 1.094vw;
        line-height: 3.125vw;

        height: 3.125vw;
        padding: 0 0 0 1.563vw;

        border-width: .156vw;
    }

    .p-page-routemap__content__path ul .station .transfer .icon
    {
        margin-right: .781vw;
    }

    .p-page-routemap__content__path ul .station .transfer .icon img
    {
        height: 1.563vw;
    }

    .p-page-routemap__content__path ul .station .transfer .txt
    {
        margin-right: .781vw;
    }

    .p-page-routemap__content__path ul .station .transfer a
    {
        line-height: 3.125vw;

        margin-right: .391vw;
        padding: 0 1.953vw 0 1.172vw;

        border-radius: .391vw;
    }

    .p-page-routemap__content__path ul .station .transfer a span
    {
        font-size: 1.094vw;
    }

    .p-page-routemap__content__path ul .station .transfer a span:after
    {
        right: -.781vw;

        border-width: .469vw 0 .469vw .391vw;
    }

    .p-page-routemap__content__path ul .station .links
    {
        right: 1.563vw;
    }

    .p-page-routemap__content__path ul .station .links li
    {
        margin-left: .781vw;
    }

    .p-page-routemap__content__path ul .station .links li a
    {
        font-size: 1.406vw;

        padding: .938vw 1.563vw;

        border-radius: .234vw;
    }

    .p-page-routemap__content__path ul .station .links li a .icon
    {
        padding-right: .391vw;
    }

    .p-page-routemap__content__path ul .station .links li a .icon img
    {
        height: 1.406vw;
    }

    .p-page-routemap__content__path ul .station.step1
    {
        width: calc(100% - 4.68vw);
        margin: 0 0 1.56vw 4.68vw;
    }

    .p-page-routemap__content__path ul .station.step2
    {
        width: calc(100% - 9.375vw);
        margin: 0 0 1.563vw 9.375vw;
    }

    .p-page-routemap__content__path ul .station.step3
    {
        margin: 0 0 1.563vw;
    }

    .p-page-routemap__content__path__lines
    {
        top: 6.25vw;
        left: 14.84vw;

        width: .781vw;
        height: calc(100% - 11.719vw);
    }

    .p-page-routemap__content__path__lines.full
    {
        left: 14.84vw;
    }

    .p-page-routemap__content__path__lines.full:before,
    .p-page-routemap__content__path__lines.full:after
    {
        width: .781vw;
    }

    .p-page-routemap__content__path__lines.full:before
    {
        left: -4.68vw;
    }

    .p-page-routemap__content__path__lines.full:after
    {
        left: -9.37vw;
    }

    .p-ticker-status
    {
        padding: .391vw .391vw 0;
    }

    .p-ticker-status.train
    {
        min-height: 7.421vw;
    }

    .p-ticker-status__btn
    {
        padding: .391vw;
    }

    .p-ticker-status__btn li
    {
        margin-right: .391vw;
    }

    .p-ticker-status__btn li a
    {
        width: 7.03vw;
        height: 7.03vw;

        border-radius: .234vw;
    }

    .p-ticker-status__btn li a .inner
    {
        padding: .781vw;
    }

    .p-ticker-status__btn li a .inner .icon svg
    {
        height: 1.718vw;
        margin-bottom: .39vw;
    }

    .p-ticker-status__btn li a .inner p
    {
        font-size: 1.016vw;
    }

    .p-ticker-status__btn li a .inner p span
    {
        font-size: .938vw;

        margin-top: .391vw;
        padding: .234vw 0;

        border-radius: .234vw;
    }

    .p-ticker-news
    {
        padding: 1.563vw 0;
    }

    .p-wrapper-lv3__wrapper
    {
        padding: 6.25vw 7.813vw;
    }

    .p-wrapper-lv3__wrapper--mini
    {
        padding: 3.125vw 0;
    }
}
