@charset "utf-8";
/* CSS Document */

@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);

@font-face {/* bug-fix for FireFox */
    font-family: 'arial-black';
    src: local('Arial Black');
}

/* common */
html, body {
    font-size: 100.01%;
}
body {
    background: #ecf4f7;/* footer background color */
    color: #626262;
    font-family: /*'Noto Sans Japanese', */'メイリオ', Meiryo, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', sans-serif;
    line-height: 1.4;
}

#base {
    font-size: 75%;
}

noscript p {
    background: #fff;
    border: 1px solid #f30;
    color: #f30;
    display: inline-block;
    font-size: 16px;
    left: 0;
    margin: 0 auto;
    padding: 1em;
    position: absolute;
    right: 0;
    top: 20px;
    max-width: 740px;
    z-index: 9999;
}

a {
    color: #006da6;
    text-decoration: underline;
    cursor: pointer;
}
a:hover,
a:focus {
    color: #006da6;
    text-decoration: none;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-weight: bold;
}

.d-table,
.list-table,
.dl-table {
    display: table;
    *display: block;
}
.d-table-row {
    display: table-row;
    *display: block;
}
.d-table-cell,
.list-table > li,
.dl-table > dt,
.dl-table > dd {
    display: table-cell;
    *display: inline;
    *zoom: 1;
    vertical-align: middle;
}

.section {
    padding: 30px 0;
}

.two-color-border {
    border-bottom-color: #c0d2db;
    border-bottom-style: solid;
	position: relative;
	margin: 2em 0 1em;
}
.two-color-border .title {
	color: #006ea5;
    border-bottom-color: #2d87b5;
    border-bottom-style: solid;
	display: inline-block;
	position: absolute;
	padding: .25em .5em .5em 0;
}
h2.two-color-border {
	border-bottom-width: 4px;
}
h2.two-color-border .title {
	border-bottom-width: 4px;
	bottom: -4px;
}
h3.two-color-border {
	border-bottom-width: 1px;
}
h3.two-color-border .title {
	border-bottom-width: 1px;
	bottom: -1px;
}


/*** GlobalHeader ***/

#GlobalHeader {
    background: #fff;
}
#GlobalHeader > .container-wrapper {
    background: url(../images/header_brand_bg.png) left bottom repeat-x;
    border-bottom: 1px solid #1a688e;
    border-top: 9px solid #2c87b4;
    padding: 12px 0 25px;
}

/* ロゴ */
#Brand {
    margin-top: 1.75em;
}
#Brand > ul {
    margin-top: 5px;
}
.nifty-logo a {
    display: block;
    margin: 0 7px -15px -7px;
}

/* タグライン */
#GlobalHeader .row {
    position: relative;
}
.tag-line {
    bottom: -.5em;
    font-size: 1em;
    font-weight: normal;
    margin: 0;
    position: absolute;
    text-align: right;
    z-index: 1;
}

/* サイト内検索 */
#SearchBox {
    width: 50%;
}
#SearchBox .input-group {
    width: 100%;
}
#SearchBox .input-group-btn {
    width: 1%;
}
#SearchBox .btn {
    border-radius: 0;
    padding-left: 8px;
    padding-right: 8px;
}
#SearchBox .text {
	background: #e2eaed;
    border-color: #e2eaed;
    border-radius: 0;
	color: #63899c;
}
#SearchBox .text::-webkit-input-placeholder{ color:#63899c; }
#SearchBox .text:-ms-input-placeholder{ color:#63899c; }
#SearchBox .text::-moz-placeholder{ color:#63899c; }
#SearchBox .text:focus {
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
}

/* 文字サイズ変更機能 */
#FontSizeSwitch .dl-table {
    border-right: 1px solid #ccc;
    padding-right: 20px;
    margin-right: 20px;
}
#FontSizeSwitch dt {
    padding-right: 1em;
}
#FontSizeSwitch .btn {
    background: #eee;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #eee), color-stop(0.00, #fff));
    background: -webkit-linear-gradient(#fff, #eee);
    background: -moz-linear-gradient(#fff, #eee);
    background: -o-linear-gradient(#fff, #eee);
    background: -ms-linear-gradient(#fff, #eee);
    background: linear-gradient(#fff, #eee);
    border-radius: 0;
}
#FontSizeSwitch .btn:hover,
#FontSizeSwitch .btn:focus,
#FontSizeSwitch .btn.focus,
#FontSizeSwitch .btn:active,
#FontSizeSwitch .btn.active {
    color: #fff;
    background: #00508f;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #00508f), color-stop(0.00, #006ea5));
    background: -webkit-linear-gradient(#006ea5, #00508f);
    background: -moz-linear-gradient(#006ea5, #00508f);
    background: -o-linear-gradient(#006ea5, #00508f);
    background: -ms-linear-gradient(#006ea5, #00508f);
    background: linear-gradient(#006ea5, #00508f);
}


/*** Breadcrumbs ***/
#Breadcrumbs > .container-wrapper {
    background: #005c8b;
}
.breadcrumb {
    background: #005c8b;
    border-radius: none;
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
}
.breadcrumb li,
.breadcrumb li a {
    color: #fff;
    text-shadow: 0 1px 0 rgba(0,0,0,.05);
}
.breadcrumb > li + li:before {
    content: "\f105";
    font-family: 'FontAwesome';
    font-size: 1.33333em;
    line-height: 1;
    vertical-align: middle;
}

/*** Main ***/
main {
    background: #fff;
}
main > .container-wrapper {
    background: url(../images/main_bg.png) left top repeat-x;
    padding: 30px 0;
}

.page-header {
    background: #00b2c4;
    border-bottom: 1px solid #2d87b5;
    margin: 0;
    overflow: hidden;
    padding: 30px 0;
}
.page-header h1,
.page-header h1 + .cta-button-box,
.page-header h2,
.page-header h2 + .cta-button-box {
    display: inline-block;
    *display: inline;
    *zoom: 1;
}
.page-header h1,
.page-header h2 {
    color: #f6ff00;
    margin: 0;
}
.page-header h1 + .cta-button-box,
.page-header h2 + .cta-button-box {
    float: right;
}

.border-bg-box {
    background: #f4f7f9;
    border: 1px solid #cfdce3;
    padding: 24px;
}

.box {
    background: #fff;
    border: 1px solid #eaeaea;
    box-shadow: 0 0 5px rgba(0,0,0,.05);
}


/*** GlobalFooter ***/
#GlobalFooter {
    background: #fff;
}
#GlobalFooter > .container-wrapper {
    background: #ecf4f7;
    border-top: 1px solid #c0d3da;
    padding-bottom: 2.5em;
    padding-top: 2.5em;
}
#GlobalFooter .list-inline li {
    padding-left: 0;
    padding-right: 0;
}
#GlobalFooter .list-inline li:before {
    content: "｜";
}
#GlobalFooter .list-inline li:first-child:before {
    content: "";
}
#GlobalFooter .list-inline li a {
    margin-left: .25em;
}
#GlobalFooter .list-inline li:first-child a {
    margin-left: 0;
}
.nifty-link .list-inline {
    display: inline;
    /*margin-left: .25em;*/
}
.nifty-link .list-inline:before {
    content: "（";
}
.nifty-link .list-inline:after {
    content: "）";
}
.footer-link {
    text-align: right;
}

/* GoToPageTop */
#GoToPageTop {
    display: none;
}
#GoToPageTop .col-xs-12 {
    min-height: auto;
}
#GoToPageTop a {
    background: #ccc;
    bottom: 30px;
    color: #fff;
    display: block;
    padding: .5em .75em .75em;
    position: fixed;
    right: 17px;
    text-align: center;
    text-shadow: 0 1px 0 rgba(0,0,0,.5);
    transition: all .5s ease 0s; 
}
#GoToPageTop a:hover {
    background: #005c8b;
}
html.touch #GoToPageTop a {
    display: none !important;
}