@charset "utf-8";

/*****************************************************************************
 reset 
 *****************************************************************************/

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {
	margin:0;
	padding:0;
}

address,caption,cite,code,dfn,em,strong,th,var {
	font-style: normal;
}

ul,ol {
	list-style-type: none;
}

em,strong,th,address {
	font-style: normal;
	font-weight: normal;
	text-align: left;
}

h1,h2,h3,h4,h5,h6 {
	font-weight: normal;
	font-size: 100%;
}

img,
object,
embed {
	border: 0;
	vertical-align: top;
}

hr {
	display: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 100%;
}

li {
	list-style-type: none;
}

strong {
	font-weight: bold;
}

/*****************************************************************************
 linkColor 
 *****************************************************************************/

a:link {
	color: #162f5e;
	text-decoration: none;
}

a:visited {
	color: #162f5e;
	text-decoration: none;
}

a:hover,a:active {
	text-decoration: underline;
}

/*****************************************************************************
 clearfix 
 *****************************************************************************/

.cb {
	clear: both;
	font-size: 1%;
	height: 0;
	line-height: 0;
}

.clearfix:after {
	content: ".";
	display: block;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0; 
	clear: both;
	visibility: hidden; 
}

.clearfix {
	display: inline-block;
}

/* Hide from IE-mac \*/

* html .clearfix { height: 1%; }
.clearfix { display:block; }

/* End hide from IE-mac */

/*****************************************************************************
 base
 *****************************************************************************/

body {
	background-color: #FFF;
	font-size: 87.5%;		/* 14px */
	font-family: "メイリオ", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
	line-height: 1.5;
	color: #333333;
	text-align: center;
}

/*****************************************************************************
 header 
 *****************************************************************************/

#header {
	width: 100%;
	height: 100px;
	background: url(/assets/img/common/header_bg.png);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9999;
}
#header .logo {
	position: absolute;
	top: 30px;
	left: 0;
}
#header .language {
	position: absolute;
	top: 20px;
	right: 204px;
}
#header .contact {
	position: absolute;
	top: 10px;
	right: 0;
}
#header nav {
	position: absolute;
	right: 0;
	top: 55px;
}
#header nav ul {
	width: 660px;
	background: url(/assets/img/common/globalNavi_line.png) no-repeat right top;
	*zoom: 1;
}
#header nav ul:after {
	content: '';
	display: block;
	clear: both;
}
#header nav ul li {
	width: 110px;
	float: left;
	background: url(/assets/img/common/globalNavi_line.png) no-repeat left top;
	text-align: center;
}
#header nav ul li a {
	padding: 8px 0 14px;
	color: #333333;
	display: block;
}
#header nav ul li a:hover {
	color: #999999;
	text-decoration: none;
}
#header nav ul li.cr a {
	border-bottom: 2px solid #083388;
	color: #083388;
}


#headerMenu {
	width: 100%;
	height: 47px;
	background: url(/assets/img/common/header_bg.png);
	box-shadow: 0 0 5px rgba(0,0,0,0.2);
    position: fixed;
    top: -50px;
	z-index: 9999;
}
#headerMenu .logo {
	position: absolute;
	top: 11px;
	left: 0;
}
#headerMenu nav {
	position: absolute;
	right: 0;
	top: 0;
}
#headerMenu nav ul {
	*zoom: 1;
}
#headerMenu nav ul:after {
	content: '';
	display: block;
	clear: both;
}
#headerMenu nav ul li {
	width: 100px;
	float: left;
	text-align: center;
}
#headerMenu nav ul li a {
	padding: 14px 0 12px;
	color: #333333;
	display: block;
}
#headerMenu nav ul li a:hover {
	color: #999999;
	text-decoration: none;
}
#headerMenu nav ul li.cr a {
	background: #083388;
	color: #FFFFFF;
}

/*****************************************************************************
 visual
 *****************************************************************************/

#visual01 {
	height: 700px;
	background: url(/assets/img/home/visual01.jpg) no-repeat center top;
	background-size: cover;
}
#visual01 .title {
	margin-left: -600px;
	position: absolute;
	left: 50%;
	top: 528px;
}
#visual02 {
	height: 700px;
	background: url(/assets/img/home/visual02.jpg) no-repeat center top;
	background-size: cover;
}
#visual02 .title {
	margin-left: -62px;
	position: absolute;
	left: 50%;
	bottom: 37px;
}
#visual03 {
	height: 700px;
	background: url(/assets/img/home/visual03.jpg) no-repeat center top;
	background-size: cover;
}
#visual03 .title {
	margin-left: -159px;
	position: absolute;
	left: 50%;
	top: 338px;
}
#visual04 {
	height: 700px;
	background: url(/assets/img/home/visual04.jpg) no-repeat center top;
	background-size: cover;
}
#visual04 .title {
	margin-left: -613px;
	position: absolute;
	left: 50%;
	bottom: 58px;
}
#visual05 {
	height: 700px;
	background: url(/assets/img/home/visual05.jpg) no-repeat center top;
	background-size: cover;
}
#visual05 .title {
	margin-left: 141px;
	position: absolute;
	left: 50%;
	top: 245px;
}


.bx-controls-direction .bx-prev {
	position: absolute;
	top: 380px;
	left: 20px;
	cursor: pointer;
	z-index: 99;
}
.bx-controls-direction .bx-next {
	position: absolute;
	top: 380px;
	right: 20px;
	cursor: pointer;
	z-index: 99;
}

/*****************************************************************************
 contents
 *****************************************************************************/

.homeSection01 {
	height: 260px;
	background: url(/assets/img/home/50th_bg.png) no-repeat center top;
	background-size: cover;
	position: relative;
	overflow: hidden;
}
.homeSection01 .title {
	margin-left: -650px;
	position: absolute;
	top: 0;
	left: 50%;
}
.homeSection01 .btn {
	width: 290px;
	margin: 168px auto 0;
	position: relative;
}
.homeSection01 .btn a {
	background: url(/assets/img/home/bg01.png);
	padding: 17px 0 14px;
	font-size: 114.3%;
	display: block;
}
.homeSection01 .btn a span {
	background: url(/assets/img/common/arrow01.png) no-repeat left 0.45em;
	padding-left: 21px;
}
.homeSection01 .btn a:hover {
	background: #162f5e;
	text-decoration: none;
	color: #FFFFFF;
}
.homeSection01 .btn a:hover span {
	background: url(/assets/img/common/arrow02.png) no-repeat left 0.45em;
}


.homeSection02 {
	padding-bottom: 99px;
}
.homeSection02 .headline {
	padding: 69px 0 36px;
	text-align: center;
}
.homeSection02 .wrapper {
	margin: 0 0 68px -15px;
	*zoom: 1;
}
.homeSection02 .wrapper:after {
	content: '';
	display: block;
	clear: both;
}
.homeSection02 .wrapper article {
	float: left;
	width: 235px;
	background: #FFFFFF;
	margin-left: 20px;
	position: relative;
}
.homeSection02 .wrapper article .new {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 99;
}
.homeSection02 .wrapper article .img {
	text-align: center;
	font-size: 114.3%;
}
.homeSection02 .wrapper article .img img {
	transition: all .2s ease-out;
}
.homeSection02 .wrapper article .img a:hover img {
	opacity: 0.8;
	-webkit-transform: scale(1.05);
	transform: scale(1.05);
}
.homeSection02 .wrapper article .img span {
	height: 235px;
	margin-bottom: 11px;
	overflow: hidden;
	display: block;
}
.homeSection02 .wrapper article p a {
	color: #333333;
}
.homeSection02 .btn {
	*zoom: 1;
}
.homeSection02 .btn:after {
	content: '';
	display: block;
	clear: both;
}
.homeSection02 .btn .lineUp {
	float: left;
	width: 50%;
	text-align: center;
}
.homeSection02 .btn .lineUp .title {
	margin-bottom: 17px;
}
.homeSection02 .btn .lineUp .text {
	margin-bottom: 15px;
	color: #666666;
}
.homeSection02 .btn .lineUp .link {
	width: 350px;
	margin: 0 auto;
	text-align: center;
	font-size: 114.3%;
}
.homeSection02 .btn .lineUp .link a {
	background: #083388;
	padding: 22px 0 19px;
	color: #FFFFFF;
	display: block;
}
.homeSection02 .btn .lineUp .link a span {
	background: url(/assets/img/common/arrow02.png) no-repeat left 0.45em;
	padding-left: 17px;
}
.homeSection02 .btn .lineUp .link a:hover {
	background: #395ca0;
	text-decoration: none;
}
.homeSection02 .btn .download {
	float: right;
	width: 50%;
	text-align: center;
}
.homeSection02 .btn .download .title {
	margin-bottom: 17px;
}
.homeSection02 .btn .download .text {
	margin-bottom: 15px;
	color: #666666;
}
.homeSection02 .btn .download .link {
	width: 350px;
	margin: 0 auto;
	text-align: center;
	font-size: 114.3%;
}
.homeSection02 .btn .download .link a {
	background: #29b7c4;
	padding: 22px 0 19px;
	color: #FFFFFF;
	display: block;
}
.homeSection02 .btn .download .link a span {
	background: url(/assets/img/common/arrow02.png) no-repeat left 0.45em;
	padding-left: 17px;
}
.homeSection02 .btn .download .link a:hover {
	background: #54c5d0;
	text-decoration: none;
}


.homeSection03 {
	height: 705px;
	background: url(/assets/img/home/bg02.png) no-repeat center top;
	background-size: cover;
}
.homeSection03 .headline {
	padding: 59px 0 35px;
	text-align: center;
}
.homeSection03 .wrapper {
	margin: 0 0 46px -15px;
	*zoom: 1;
}
.homeSection03 .wrapper:after {
	content: '';
	display: block;
	clear: both;
}
.homeSection03 .wrapper article {
	float: left;
	width: 240px;
	background: #FFFFFF;
	margin-left: 16px;
	padding-bottom: 9px;
}
.homeSection03 .wrapper article .img {
	height: 240px;
	margin-bottom: 11px;
	overflow: hidden;
}
.homeSection03 .wrapper article .img img {
	transition: all .2s ease-out;
}
.homeSection03 .wrapper article .img a:hover img {
	opacity: 0.8;
	-webkit-transform: scale(1.05);
	transform: scale(1.05);
}
.homeSection03 .wrapper article .category {
	margin: 0 10px 6px;
	font-size: 85.7%;
	color: #666666;
}
.homeSection03 .wrapper article .title {
	margin: 0 10px;
}
.homeSection03 .btn {
	width: 290px;
	margin: 0 auto;
	text-align: center;
}
.homeSection03 .btn a {
	background: url(/assets/img/home/bg01.png);
	padding: 17px 0 14px;
	font-size: 114.3%;
	display: block;
}
.homeSection03 .btn a span {
	background: url(/assets/img/common/arrow01.png) no-repeat left 0.45em;
	padding-left: 21px;
}
.homeSection03 .btn a:hover {
	background: #162f5e;
	text-decoration: none;
	color: #FFFFFF;
}
.homeSection03 .btn a:hover span {
	background: url(/assets/img/common/arrow02.png) no-repeat left 0.45em;
}


.homeSection04 {
	background: #f7f7f7;
	padding-bottom: 91px;
}
.homeSection04 .headline {
	padding: 60px 0 35px;
	text-align: center;
}
#map {
	width: 100%;
	height: 488px;
}
#map .infowindowText {
	text-align: left;
}
.homeSection04 .wrapper {
	padding: 41px 0 43px;
	*zoom: 1;
}
.homeSection04 .wrapper:after {
	content: '';
	display: block;
	clear: both;
}
.homeSection04 .wrapper .box {
	float: left;
	width: 231px;
	border-left: 1px solid #d9d9d9;
	padding-left: 20px;
}
.homeSection04 .wrapper .box .title {
	margin-bottom: 16px;
	font-weight: bold;
	font-size: 128.6%;
	color: #083388;
	display: inline-block;
	cursor: pointer;
}
.homeSection04 .wrapper .box address {
	margin-bottom: 14px;
	line-height: 1.3;
}
.homeSection04 .wrapper .box .tel {
	line-height: 1;
	font-size: 142.9%;
}
.homeSection04 .wrapper .box .fax {
}
.homeSection04 .btn {
	width: 295px;
	margin: 0 auto;
	text-align: center;
	font-size: 114.3%;
}
.homeSection04 .btn a {
	background: #083388;
	padding: 12px 0 9px;
	color: #FFFFFF;
	display: block;
}
.homeSection04 .btn a span {
	background: url(/assets/img/common/arrow02.png) no-repeat left 0.45em;
	padding-left: 21px;
}
.homeSection04 .btn a:hover {
	background: #395ca0;
	text-decoration: none;
}

/*****************************************************************************
 footer
 *****************************************************************************/

#footer {
	background: #083388;
	border-top: 1px solid #e5e5e5;
	padding: 19px 0 13px;
	position: relative;
	z-index: 99;
}
#footer .copyright {
	float: left;
	font-size: 78.6%;
	color: #FFFFFF;
}
#footer nav {
	float: right;
}
#footer nav ul {
	border-right: 1px solid #FFFFFF;
	*zoom: 1;
}
#footer nav ul:after {
	content: '';
	display: block;
	clear: both;
}
#footer nav ul li {
	float: left;
	border-left: 1px solid #FFFFFF;
	padding: 0 20px;
	line-height: 1;
	font-size: 92.9%;
}
#footer nav ul li a {
	color: #FFFFFF;
}

#pageTop {
	text-align: right;
	position: fixed;
	right: 20px;
	bottom: 112px;
	opacity: 0;
	filter: alpha(opacity=0);
}


.button-SpecialRecruitment {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    min-width: 350px;
    margin: 3em auto;
    padding: .9em 2em;
    border: none;
    border-radius: 1px;
    background-color: #083388;
    color: #fff;
    font-weight: 600;
    font-size: 1em;
    animation: anim-button-SpecialRecruitment-bright 1.4s ease-out infinite;
}

.button-SpecialRecruitment:hover {
    background-color: #1579c0;
}

.button-SpecialRecruitment::before,
.button-SpecialRecruitment::after {
    position: absolute;
    top: -1.5em;
    right: -1.5em;
    width: 3em;
    height: 3em;
    content: '';
}

.button-SpecialRecruitment::before {
    border: 1px solid #ffffff33;
    border-radius: 50%;
    animation: anim-button-SpecialRecruitment-circle 1.4s linear infinite;
}

.button-SpecialRecruitment::after {
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20190%20247%22%3E%3Cpath%20d%3D%22M190%2C123.5c-90%2C3.6-92.2%2C6.5-95%2C123.5-2.8-117-5-119.9-95-123.5%2C90-3.6%2C92.2-6.5%2C95-123.5%2C2.8%2C117%2C5%2C119.9%2C95%2C123.5Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E') no-repeat center;
    animation: anim-button-SpecialRecruitment-star 1.4s linear infinite;
    filter: opacity(.8);
}

@keyframes anim-button-SpecialRecruitment-bright{
    75% {
        filter: unset;
    }
    80% {
        filter: brightness(1.1);
    }
}

@keyframes anim-button-SpecialRecruitment-circle {
    0% {
        opacity: 0;
        transform: scale(0);
    }
    75% {
        opacity: 0;
    }
    80% {
        opacity: 1;
        transform: scale(1);
    }
    100% {
        opacity: 0;
        transform: scale(1.5);
    }
}

@keyframes anim-button-SpecialRecruitment-star {
    0% {
        opacity: 0;
        transform: scale(0);
    }
    75% {
        opacity: 0;
        transform: scale(0);
    }
    80% {
        opacity: 1;
    }
    85% {
        opacity: 1;
        transform: scale(1.5) rotate(50deg);
    }
    95% {
        opacity: 0;
        transform: scale(4) rotate(150deg);
    }
    100% {
        opacity: 0;
        transform: scale(0) rotate(80deg);
    }
}
