@charset "UTF-8";
/* CSS Document */

/* CSS 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;
}
html, body {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
fieldset, img {
	border: 0;
}
address, caption, cite, code, dfn, th, var {
	font-style: normal;
	font-weight: normal;
}
ol, ul {
	list-style: none;
}
caption, th {
	text-align: left;
}
h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	font-family: 'Noto Sans JP','ヒラギノ角ゴシック','メイリオ', sans-serif;
}
q:before, q:after {
	content: '';
}
abbr, acronym {
	border: 0;
}

body {
	font-family: 'Noto Sans JP','ヒラギノ角ゴシック','メイリオ', sans-serif;
	font-size: 15px;
	color: #002034;
	background-color: #FFF;
	max-width: 100%;
}


a {
	color: inherit;
	text-decoration: none;
}
a:link {color:#fff;} /*未訪問のリンクの色*/
a:visited {color:#fff;} /*訪問済みのリンクの色*/
a:hover {color:#fff;} /*カーソルが乗っているリンクの色*/
a:active {color:#fff;} /*クリック中のリンクの色*/

figure{
margin:0;
}

main {
	display:block;
	max-width: 100%;
}

.flex {
	display: flex;
	flex-wrap: wrap;
}

.cb{
  /* floatを解除 */
  clear: both;
}

.sp_none {
	display: block;
}
.pc_none {
    display: none;
  }
.sp {
	display: none;
}

/* 共通部分 */

#top {
	position: relative;
}

body {
    display: block;
    width: 100%;
    font-size: 15px;
    position: relative;
	line-height: 1.6em
}


#page-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 80px;
  height: 80px;
  z-index: 50;
  cursor: pointer;
}
#page-top a:hover {
  opacity: 0.5;
  text-decoration: none;
}


/*title*/

.title {
	position: relative;
	display: block;
	max-width: 250px;
	margin: 0 auto;
	font-size: 18px;
	padding-bottom: 40px;
	letter-spacing: 0.15em;
	text-align: center;
}
.title::before {
	content: '';
    position: absolute;
	border-left: solid 2px #002034;
	border-right: solid 2px #002034;
	top: 34px;
	left: 0;
	width: 250px;
	height: 18px;
}
.title__wh {
	position: relative;
	display: block;
	max-width: 250px;
	margin: 0 auto;
	font-size: 18px;
	padding-bottom: 40px;
	letter-spacing: 0.15em;
}
.title__wh::before {
	content: '';
    position: absolute;
	border-left: solid 2px #fff;
	border-right: solid 2px #fff;
	top: 34px;
	left: 0;
	width: 250px;
	height: 18px;
}
.title-en {
	display: block;
	padding-bottom: 18px;
	font-size: 40px;
	font-family: 'Lato', sans-serif;
	font-style: italic;
	border-bottom: solid 2px #002034;
}
.title-en__wh {
	display: block;
	padding-bottom: 18px;
	font-size: 40px;
	font-family: 'Lato', sans-serif;
	font-style: italic;
	border-bottom: solid 2px #fff;
}
.title-jp {
	display: block;
	padding-top: 12px;
}


.page-title {
	width: 100%;
	height: 280px;
	background-repeat: no-repeat;
	background-position: 50%;
	object-fit: cover;
	font-family: 'object-fit: cover;'; 
}
.page-title__inner {
	position: relative;
	max-width: 100%;
	height: 280px;
	margin: 0 auto;
	text-align: center;
}
.page-title__contents {
	position: absolute;
	color: #fff;
	top: 50%;
	left: 0;
	right: 0;
	margin: auto;
}
.page-title-jp {
	font-size: 18px;
	padding-bottom: 40px;
	letter-spacing: 0.15em;
}
.page-title-en {
	display: block;
	padding-bottom: 18px;
	letter-spacing: 0.08em;
	font-size: 40px;
	font-family: 'Lato', sans-serif;
	font-style: italic;
}

/*btn*/

.form-btn {
	position: relative;
	display: block;
    padding: 20px 0 20px 10px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    font-weight: bold;
    text-align: center;
    max-width: 350px;
    background-color: #002034;
	border: solid 2px #002034;
    color: #FFF;
    font-size: 20px;
	margin-bottom: 170px;
}
.form-btn::before {
	position: absolute;
	margin: auto;
	right: 60px;
	top: 32px;
	content: '';
	background-image: url("../images/form_arrow.svg");
	background-repeat: no-repeat;
	width: 8px;
	height: 12px;
	-webkit-transition: all .1s;
    transition: all 1s;
}
/* マウスオーバー時 */
.form-btn:hover::before {
    position: absolute;
	margin: auto;
	right: 50px;
	top: 32px;
	content: '';
	background-image: url("../images/form_arrow.svg");
	background-repeat: no-repeat;
	width: 8px;
	height: 12px;
}
.form-btn__last {
	margin-bottom: 70px;
}
.form-btn_text {
	font-size: 18px;
	font-weight: bold;
    text-align: center;
    max-width: 350px;
    background-color: #002034;
    color: #FFF;
	border: none;
	outline: 0;
	cursor: pointer;

}

input[type="submit"] {
  -webkit-appearance: none;
}

input.submit-btn {
	position: relative;
	display: block;
    padding: 20px 0 20px 10px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    max-width: 350px;
    background-color: #002034;
	border: solid 2px #002034;
    color: #FFF;
	margin-bottom: 170px;
	font-size: 18px;
    font-weight: bold;
	outline: 0;
	cursor: pointer;
	-webkit-transition: all .1s;
    transition: all 1s;
}

input.submit-btn:hover {
    background-color: #fff;
	border: solid 2px #002034;
    color: #002034;
}

/* header */

header {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 100;
	font-family: 'Noto Sans JP','ヒラギノ角ゴシック','メイリオ', sans-serif;
}
header:before {
	content: '';
    width: 100%;
    height: 90px;
	z-index: -5;
    position: fixed;
    top: 0;
    left: 0;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.0), rgba(0, 32, 52, 0.7) ) 
}
header::after {
	content: '';
	position: absolute;
	top: 66px;
	width: 100%;
	height: 2px;
	border-bottom: solid 2px #fff;
}

.header__inner {
	margin: 0 auto;
	z-index: 10;
	font-family: 'Noto Sans JP','ヒラギノ角ゴシック','メイリオ', sans-serif;
}

.header__logo {
	 padding: 6px;
}

.kv__recruit-btn__text {
	color: #fff;
}

.gnav {
	position: absolute;
	right: 40px;
	z-index: 0;
}

.gnav__list {
	margin: 0 auto;
	font-size: 17px;
	text-align: center;
	letter-spacing: 0.1em;
}
.gnav__list::after {
	content: '';
	position: absolute;
	top: 61px;
	width: 100%;
	height: 14px;
	border-left: solid 2px #fff;
}
.gnav__item :hover{
	border-top: solid 3px #fff;
	-webkit-transition: all .1s;
    transition: all 1s;
}
.gnav__item a {
	width: 150px;
	padding: 20px 0;
	color: #fff;
	margin: 0 auto;
	display:block;
	border-top: solid 3px rgba(0, 32, 52, 0.7);
}
.gnav__item::before {
	content: '';
	position: absolute;
	margin-left: 74px;
	top: 62px;
	width: 2px;
	height: 14px;
	border-left: solid 2px #fff;
}

/* recruit btn */
.kv__recruit-btn {
	position: fixed;
	right: 0;
	top: 15%;
	z-index: 10;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	width: 60px;
	height: 500px;
}
.kv__recruit-btn::before {
	position: absolute;
	display: inline-block;
	right: 0;
	top: 0;
	content: '';
	background-image: url("../images/recruit-btn-bg.png");
	background-repeat: no-repeat;
	width: 60px;
	height: 500px;
	-webkit-transition: all .1s;
    transition: all 1s;
}
.kv__recruit-btn:hover::before {
	opacity: 0.8;
	-webkit-transition: all .1s;
    transition: all 1s;
}
.kv__recruit-btn__text {
	position: relative;
	display: block;
	padding: 85px 15px 0;
	font-size: 24px;
	font-weight: bold;
}
.kv__recruit-btn__text::before {
	position: absolute;
	margin: auto;
	left: 16px;
	top: 55px;
	content: '';
	background-image: url("../images/recruit-icon.svg");
	background-repeat: no-repeat;
	width: 60px;
	height: 60px;
}

/* footer */

footer {
	width: 100%;
	text-align: left;
	background-image: url("../images/footer-bg.png");
	background-repeat: no-repeat;
	object-fit: cover;
	font-family: 'object-fit: cover;'; 
	font-family: 'Noto Sans JP','ヒラギノ角ゴシック','メイリオ', sans-serif;
	color: #fff;
}
.footer__inner {
	max-width: 1024px;
	margin: 0 auto;
	padding: 0 4%;
}
.footer__nav-item :hover{
	color: rgba(255, 255, 255, 0.5);
}
.footer__nav-item a {
	width: 130px;
	padding: 30px 0;
	color: #fff;
	margin-right: 15px;
	display:block;
	-webkit-transition: all .1s;
    transition: all 1s;
}
.footer-company {
	padding-bottom: 30px;
}
.footer-company__conteiner {
	padding-bottom: 20px;
}
.footer-company__text {
	padding: 12px 0 0 20px;
}
.footer-company__name {
	display: block;
	padding-top: 16px;
	font-size: 40px;
}
.footer-address__office {
	padding-right: 20px;
}
.footer-address__name {
	display: block;
	font-size: 16px;
	font-weight: bold;
}
.copyright {
	display: block;
	text-align: center;
	width: 100%;
	color: #002034;
	padding: 6px;
	background-color: #eee;
	box-sizing: border-box;
}


@media screen and (max-width:768px){

	.sp {
	display: inline;
}
	.sp_none {
    display: none;
}
	.pc_none {
    display: block;
  }
	
	.header__logo {
		width: 200px;
		padding: 10px;
	}
header::after {
	top: 54px;
}
	
	.kv__recruit-btn {
	position: fixed;
	left: 0;
	right: auto;
	top: auto;
	bottom: 0;
	z-index: 10;
	-ms-writing-mode: tb-rl;
	writing-mode: horizontal-tb;
	width: 255px;
	height: 60px;
	text-align: left;
}
	.kv__recruit-btn::before {
	position: absolute;
	display: inline-block;
	right: 0;
	top: 0;
	content: '';
	background-image: url("../images/recruit-btn-bg_sp.png");
	background-repeat: no-repeat;
	width: 255px;
	height: 60px;
}
	.kv__recruit-btn__text {
	position: relative;
	display: block;
	padding: 18px 0 0 60px;
	font-size: 18px;
	font-weight: bold;
}
	.kv__recruit-btn__text::before {
	position: absolute;
	margin: auto;
	left: 20px;
	top: 22px;
	content: '';
	background-image: url("../images/recruit-icon.svg");
	background-repeat: no-repeat;
	width: 60px;
	height: 60px;
}
	
footer {
	background-image: url("../images/footer-bg-sp@2x.png");
	background-position: 50%;
}
	.footer__nav-item a {
	width: auto;
	padding: 20px 4px;
}
	.footer-company__name {
		font-size: 25px;
		font-weight: bold;
}
	
}
