@charset "UTF-8";

body {
    font-size: 16px;
}

body, #header { min-width: 1024px; }

/*====== Common Style =====*/
.for_sp { display: none !important; }

/* module */
.m-lb01 {
    text-align: center;
    margin-bottom: 65px;
}
.m-lb01__sub {
    display: block;
    color: #003b77;
    font-size: 20px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1;
    margin-bottom: 5px;
}
.m-lb01__main {
    display: block;
    font-size: 30px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.6;
    margin-bottom: 17px;
}

.m-lb02 {
    margin-bottom: 15px;
}
.m-lb02__main {
    display: block;
    font-size: 26px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin: 0;
}
.m-lb02__sub {
    display: block;
    color: #003b77;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1;
    margin: 5px 0 0;
}

.m-link01 {
    position: relative;
    display: inline-block;
    background: #ef85a1;
    color: #fff;
    font-weight: 700;
    text-align: center;
    max-width: 100%;
    width: 340px;
    height: 62px;
    line-height: 62px;
}
.m-link01::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 25px;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
    display: block;
    border-top: solid 3px;
    border-right: solid 3px;
    width: 10px;
    height: 10px;
    margin-top: -5px;
}

.m-link02 {
	position: relative;
	display: inline-block;
	border: solid 2px #1d428b;
	background: #fff;
	color: #003b77;
	font-weight: 700;
	text-align: center;
    max-width: 100%;
    width: 272px;
    height: 62px;
    line-height: 58px;
}
.m-link02::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 25px;
    display: block;
    border-top: solid 3px;
    border-right: solid 3px;
    width: 10px;
    height: 10px;
    margin-top: -5px;
}
.m-link02.is-b::after {
    -webkit-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
            transform: rotate(135deg);
}
.m-link02.is-r::after {
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
}

.m-link03 {
	position: relative;
	display: inline-block;
	border: solid 2px #1d428b;
	background: #fff;
	color: #003b77;
	font-weight: 700;
	text-align: center;
    max-width: 100%;
    width: 204px;
    height: 40px;
    line-height: 36px;
}
.m-link03::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 16px;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
    display: block;
    border-top: solid 3px;
    border-right: solid 3px;
    width: 10px;
    height: 10px;
    margin-top: -5px;
}

.m-catch {
    font-size: 30px;
    letter-spacing: 0.05em;
    line-height: 1.47;
    margin-bottom: 28px;
}

.m-lead {
    text-align: center;
    margin-bottom: 105px;
}

.m-para p + p {
    margin-top: 2em;
}

.m-dlTable01 {
    display: table;
    border-collapse: collapse;
    width: 100%;
}
.m-dlTable01 > dl {
    display: table-row;
}
.m-dlTable01 > dl > dt,
.m-dlTable01 > dl > dd {
    display: table-cell;
    vertical-align: middle;
    border: solid 1px #e2e7ef;
    line-height: 1.75;
    height: 76px;
}
.m-dlTable01 > dl > dt {
    background: #869bb8;
    color: #fff;
    text-align: center;
    width: 180px;
    padding: 23px 5px;
}
.m-dlTable01 > dl > dd {
    background: #fff;
    padding: 23px 45px;
}

.m-dlTable02 {
    display: table;
    border-collapse: collapse;
    width: 100%;
}
.m-dlTable02 > dl {
    display: table-row;
}
.m-dlTable02 > dl > dt,
.m-dlTable02 > dl > dd {
    display: table-cell;
    border-bottom: solid 1px #e2e7ef;
    line-height: 1.75;
    padding: 20px 0;
}
.m-dlTable02 > dl > dt {
    width: 140px;
    padding-right: 10px;
}

/* box */
.flex-lr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}
.flex-lr.is-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
}
.flex-lr.is-vcenter {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.area-link {
    text-align: center;
    padding: 85px 0 80px;
}
.area-link ul,
.area-link li {
    display: inline-block;
    vertical-align: middle;
}
.area-link li {
    margin: 15px;
}


/*====== header =====*/
.area-anchor {
    padding-top: 80px;
    margin-top: -80px;
}

#header {
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    background: #fff;
    width: 100%;
    height: 80px;
    padding-right: 80px;
}
#header > .flex-lr {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
}

.header__logo {
    font-size: 1em;
    margin: 0 22px;
}

#header .gnv {
    margin: 0 15px;
}
#header .gnv li {
    position: relative;
    display: inline-block;
    font-weight: 700;
    padding: 0 25px 0 10px;
}
#header .gnv li::after {
    content: "/";
    font-weight: 500;
    position: absolute;
    right: 0;
}
#header .gnv li:last-child::after {
    display: none;
}

.header__cv {
    position: absolute;
    top: 0;
    right: 0;
    width: 80px;
    height: 80px;
}
.header__cv a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: #212a37;
    color: #fff;
    width: 100%;
    height: 100%;
}
.header__cv i {
    font-size: 20px;
}

#toggle-button {
    display: none;
}

/* kv */
.area-kv {
    position: relative;
}

.scrollBtn {
	position: absolute;
	left: 0;
    bottom: 0;
    color: #fff;
    text-align: center;
    width: 100%;
    -webkit-animation: .8s ease-in 0s infinite scrollBtn;
            animation: .8s ease-in 0s infinite scrollBtn;
}
.scrollBtn a {
    position: relative;
    display: inline-block;
    color: #003b77;
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
    padding-bottom: 47px;
}
.scrollBtn a:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    display: block;
    border-right: solid 1px;
    height: 38px;
}

/* Page Header */
#page-title {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 0;
    text-align: center;
    width: 100%;
}

/* breadcrumbs */
.breadcrumbs {
    background: #f4f4f5;
    font-size: 12px;
    padding: 8px 0;
}
.breadcrumbs li {
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
}
.breadcrumbs a {
    color: #003b77;
    font-size: 1.167em;
}
.breadcrumbs i {
    margin: 0 .5em 0 .8em;
}
.breadcrumbs h2 {
    font-weight: 500;
}

/* Page Content */
#sub .article {
    padding: 95px 0;
}


/*====== footer =====*/

/*#footer {
    position: relative;
}

#pagetop {
	position: absolute;
    right: 0;
    bottom: 100%;
    padding: 15px 33px;
}
#pagetop a {
    position: relative;
    display: inline-block;
    text-decoration: none;
    padding-top: 12px;
}
#pagetop a:before,
#pagetop a:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    display: block;
    background: #111;
    width: 1px;
    height: 35px;
    -webkit-transform-origin: 50% 0;
        -ms-transform-origin: 50% 0;
            transform-origin: 50% 0;
}
#pagetop a:before {
    -webkit-transform: rotate(60deg);
        -ms-transform: rotate(60deg);
            transform: rotate(60deg);
}
#pagetop a:after {
    -webkit-transform: rotate(-60deg);
        -ms-transform: rotate(-60deg);
            transform: rotate(-60deg);
}
#pagetop .font-en {
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}*/

.footer__logo {
    background: #ef85a1;
    color: #fff;
    text-align: center;
    width: 426px;
    height: 378px;
}

.footer__main {
    background: #212a37;
    color: #fff;
    padding-left: 5%;
}

#footer .gnv {
    margin-bottom: 40px;
}
#footer .gnv li {
    display: inline-block;
    font-weight: 700;
    margin-right: 40px;
}

.footer__info {
    font-size: 0.875em;
    line-height: 1.714;
}
.footer__info__ttl {
    font-size: 1.429em;
}

.footer__copy {
    background: #1b1b1b;
    color: #fff;
    font-size: 0.875em;
    line-height: 1;
    text-align: right;
    padding: 40px 12.4% 30px;
}



@media screen and (min-width: 1600px) {

    

}






@media all and (-ms-high-contrast:none) { /*IE*/

    

}