@charset "UTF-8";

body {
    font-size: 13px;
}

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

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

.m-lb02 {
    margin-bottom: 12px;
}
.m-lb02__main {
    display: block;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin: 0;
}
.m-lb02__sub {
    display: block;
    color: #003b77;
    font-size: 12px;
    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: 80%;
    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 1px #1d428b;
	background: #fff;
	color: #003b77;
	font-weight: 700;
	text-align: center;
    max-width: 100%;
    width: 220px;
    height: 54px;
    line-height: 52px;
}
.m-link02::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    display: block;
    border-top: solid 2px;
    border-right: solid 2px;
    width: 8px;
    height: 8px;
    margin-top: -4px;
}
.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 1px #1d428b;
	background: #fff;
	color: #003b77;
	font-weight: 700;
	text-align: center;
    max-width: 100%;
    width: 180px;
    height: 40px;
    line-height: 38px;
}
.m-link03::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 12px;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
    display: block;
    border-top: solid 2px;
    border-right: solid 2px;
    width: 8px;
    height: 8px;
    margin-top: -4px;
}

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

.m-lead {
    text-align: center;
    padding: 0 2%;
    margin-bottom: 70px;
}

.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: 62px;
}
.m-dlTable01 > dl > dt {
    background: #869bb8;
    color: #fff;
    text-align: center;
    width: 86px;
    padding: 15px 3px;
}
.m-dlTable01 > dl > dd {
    background: #fff;
    padding: 15px;
}

.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: 13px 0;
}
.m-dlTable02 > dl > dt {
    width: 100px;
    padding-right: 5px;
}

/* box */
.area-link {
    text-align: center;
    padding: 30px 0 25px;
}
.area-link ul {
    max-width: 510px;
    margin: 0 auto;
}
.area-link li {
    display: inline-block;
    vertical-align: middle;
    width: 43%;
    margin: 10px 1.5%;
}


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

#header {
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    background: #fff;
    width: 100%;
    height: 60px;
}

.header__logo {
    display: inline-block;
    font-size: 1em;
    padding: 10px;
}
.header__logo img {
    width: 136px;
}

.header__cv {
    position: absolute;
    top: 0;
    right: 60px;
    width: 60px;
    height: 60px;
}
.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: 18px;
}

#toggle-button {
    position: absolute;
    z-index: 102;
    top: 0;
    right: 0;
    display: block;
    background: #ef85a1;
    width: 60px; height: 60px;
    cursor: pointer;
}
#toggle-button span {
    top: 50%;
    left: 50%;
    display: block;
    font-size: 0;
    width: 25px;
    margin: -1px 0 0 -12.5px;
}
#toggle-button span,
#toggle-button span:before,
#toggle-button span:after {
    position: absolute;
    background: #fff;
    height: 2px;
}
#toggle-button span:before,
#toggle-button span:after {
    content: "";
    right: 0;
    -webkit-transition: -webkit-transform .5s;
    transition: -webkit-transform .5s;
    transition: transform .5s;
    transition: transform .5s, -webkit-transform .5s;
}
#toggle-button span:before {
    top: -8px;
    width: 100%;
}
#toggle-button span:after {
    top: 8px;
    width: 72%;
}

#toggle-menu {
    position: fixed;
    z-index: 100;
    top: 0; left: 0;
    background: #ef85a1;
    color: #fff;
    width: 100%;
    height: 100%;
    -webkit-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
            transform: translateY(-100%);
    -webkit-transition: -webkit-transform .7s;
    transition: -webkit-transform .7s;
    transition: transform .7s;
    transition: transform .7s, -webkit-transform .7s;
}
.toggle-menu-inner {
    width: 100%; height: 100%;
    padding: 120px 5% 50px;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

#toggle-menu .gnv {
    text-align: center;
}
#toggle-menu .gnv li {
    position: relative;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 20px;
}

/* menu Open */
.gnvOpen { overflow: hidden; }

.gnvOpen #toggle-button span {
    background: transparent !important;
}
.gnvOpen #toggle-button span:before,
.gnvOpen #toggle-button span:after {
    top: 0;
}
.gnvOpen #toggle-button span:before {
    -webkit-transform: rotate(-45deg) translateY(0px);
    -ms-transform: rotate(-45deg) translateY(0px);
        transform: rotate(-45deg) translateY(0px);
}
.gnvOpen #toggle-button span:after {
    width: 100%;
    -webkit-transform: rotate(45deg) translateY(0px);
    -ms-transform: rotate(45deg) translateY(0px);
        transform: rotate(45deg) translateY(0px);
}

.gnvOpen #toggle-menu {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
}

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

.kv__img {
    overflow: hidden;
}
.kv__img img {
    max-width: none;
    width: 160%;
    margin-left: -30%;
}

.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: 15px;
    font-weight: 400;
    line-height: 1;
    padding-bottom: 30px;
}
.scrollBtn a:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    display: block;
    border-right: solid 1px;
    height: 25px;
}

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

/* breadcrumbs */
.breadcrumbs {
    background: #f4f4f5;
    font-size: 11px;
    padding: 5px 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: 60px 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: 22px;
}
#pagetop a:before,
#pagetop a:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    display: block;
    background: #111;
    width: 1px;
    height: 42px;
    -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: 13px;
    font-weight: 700;
    line-height: 1;
}*/

.footer__img {
    overflow: hidden;
}
.footer__img img {
    max-width: none;
    width: 200%;
    margin-left: -50%;
}

#footer .table,
#footer .table-cell {
    display: block;
}

.footer__logo {
    background: #ef85a1;
    color: #fff;
    text-align: center;
    padding: 12px;
}
.footer__logo img {
    width: 50px;
}

.footer__main {
    background: #212a37;
    color: #fff;
    text-align: center;
    padding: 25px 5% 22px;
}

#footer .gnv {
    margin-bottom: 25px;
}
#footer .gnv li {
    font-weight: 700;
    margin-bottom: 5px;
}

.footer__info {
    display: inline-block;
    font-size: 0.875em;
    line-height: 1.714;
    text-align: left;
}
.footer__info__ttl {
    font-size: 1.429em;
}

.footer__copy {
    background: #1b1b1b;
    color: #fff;
    font-size: 0.875em;
    line-height: 1;
    text-align: center;
    padding: 20px 5px;
}