@charset "utf-8";

body,p,td,li, h5,h6 {
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-weight: 400;
	font-size:1rem;
}
h1,h2,h3,h4,.h1,.h2,.h3,.h4,.h5,.h6 {
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-weight:500;
}

.font-g {
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}

.font-m {
	font-family: "ヒラギノ明朝 Pro W3","Hiragino Mincho Pro",source-han-serif-japanese,"游明朝","Yu Mincho","游明朝体",YuMincho,"HGS明朝E","ＭＳ Ｐ明朝","MS PMincho",serif;
}

.font-Karla {
	font-family: 'Karla', sans-serif;
	font-size:1.2rm;
	letter-space: 1px;
}

.font-Noto {
	font-family: 'Noto Sans JP', sans-serif;
	font-size:1.2rm;
	letter-space: 1px;
}

.wf-sawarabimincho {
	font-family: "Sawarabi Mincho";
}

.wf-sawarabigothic {
	font-family: "Sawarabi Gothic";
}

body {
overflow-x: hidden;
padding-top: 120px;
}

/* ページ内リンク　ヘッダー固定分調整
==================================================== */
#about {
   margin-top:-130px;
  padding-top:130px;
}

#map {
   margin-top:-130px;
  padding-top:130px;
}

#aisatsu {
   margin-top:-130px;
  padding-top:130px;
}

#symbol {
   margin-top:-130px;
  padding-top:130px;
}

/* マージン設定
==================================================== */
.np { padding-left:0; padding-right:0; }
.margin0 { margin-left:-30px; margin-right:-30px; }
.mt-50 { margin-top:50px; }
.mb-50 { margin-bottom:50px; }
.pt-50 { padding-top:50px; }
.pb-50 { padding-bottom:50px; }
.mt-75 { margin-top:75px; }
.mb-75 { margin-bottom:75px; }
.pt-75 { padding-top:75px; }
.pb-75 { padding-bottom:75px; }
.mt-100 { margin-top:100px; }
.mb-100 { margin-bottom:100px; }
.pt-100 { padding-top:100px; }
.pb-100 { padding-bottom:100px; }
.mr-30 { margin-right:30px; }


.m-50 { margin-top:50px; margin-bottom:50px; }
.m-75 { margin-top:75px; margin-bottom:75px; }
.m-100 { margin-top:100px; margin-bottom:100px; }
.p-50 { padding-top:50px; padding-bottom:50px; }
.p-75 { padding-top:75px; padding-bottom:75px; }
.p-100 { padding-top:100px; padding-bottom:100px; }


@media (max-width: 767.98px) {
	.mt-50 { margin-top:25px; }
	.mb-50 { margin-bottom:25px; }
	.mt-75, .mt-100 { margin-top:50px; }
	.mb-75, .mb-100 { margin-bottom:50px; }
	.pt-75, .pt-100 { padding-top:50px; }
	.pb-75, .pb-100 { padding-bottom:50px; }
	.pt-50 { padding-top:25px; }
	.pb-50 { padding-bottom:25px; }
	.m-50 { margin-top:25px; margin-bottom:25px; }
	.m-75, .m-100 { margin-top:50px; margin-bottom:50px; }
	.p-50 { padding-top:25px; padding-bottom:25px; }
	.p-75, .p-100 { padding-top:50px; padding-bottom:50px; }
}


/* 背景色
==================================================== */
body {
/*	background-color:#f2f2f2; */
}
header {
	background-color:#fff;
}


/* 文字サイズ、体裁
==================================================== */
.lh-2 { line-height:2em; }
.lh-2_5 { line-height:2.5em; }
.lh-3 { line-height:3em; }
.ls-1 { letter-spacing: 1px; }
.ls-2 { letter-spacing: 2px; }
.ls-3 { letter-spacing: 3px; }

h1,h1.font-Karla, h1.font-Noto {
	font-size: 2rem;
	line-height: 2em;
	font-weight:300;
	margin-bottom: 0;	
}


h2, h2.font-Noto {
	font-size: 1.5rem;
	line-height: 2em;
	font-weight:bold;
}
h3, h3.font-Noto {
	font-size: 1.2rem;
	line-height: 2em;
	font-weight:bold;
}

h1.bold {
	font-size:1em;
}

p {
	margin:0;
	padding:0;
}

/* 見出し
==================================================== */

h1.font-Noto {
  position: relative;
  display: inline-block;
  margin-bottom: 1em;
}
h1.font-Noto:before {
  content: '';
  position: absolute;
  bottom: -15px;
  display: inline-block;
  width: 60px;
  height: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: black;
  border-radius: 2px;
}

/* 見出し　背景あり
==================================================== */

h1.font-Noto_bg {
  position: relative;
  display: inline-block;
  margin-bottom: 1em;
}
h1.font-Noto_bg:before {
  content: '';
  position: absolute;
  bottom: -15px;
  display: inline-block;
  width: 60px;
  height: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #fff;
  border-radius: 2px;
}

/* お問い合わせ
==================================================== */
h5.modal-title {
	font-size:18px;
	font-weight:bold;
}


/* リンク
==================================================== */
a {
	color: #898989; 
}
a:hover { color: #333; }
footer a {
	color: #fff !important;
}
footer a:hover {
	color: #ddf !important;
}
a.nav-link {
	color:#000 !important;
	padding: 15px 0 15px 0;
}

a.header-link:hover {
	color: #004098;
	
}

a.header-link {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
a.header-link::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #004098;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform .3s;
  color: #113171;
}
a.header-link:hover::after {
  transform: scale(1, 1);
}


/* ボタン
==================================================== */
.arrow_btn {
	display: inline-block;
	position: relative;
	width: 200px;
	padding: 0.8em;
	text-align: center;
	text-decoration: none;
	color: #fff;
	background: #004098;
	border-radius: 10px;
	transition: transform ease .3s;
}
.arrow_btn:hover {
	 cursor: pointer;
	 color: #fff;
	 text-decoration: none;
}
.arrow_btn span {
	display: inline-block;
	text-decoration: none;	
	transition: transform ease .3s;
}
.arrow_btn:hover span{
	cursor: pointer;
	text-decoration: none;
	transform: translateX(6px);
	color: #fff;
}

/* ナビバー
==================================================== */
@media (max-width: 767.98px) {
	body { padding-top:49px; }
	
}
nav.navbar-dark {
	background-color:#000;
}
.navbar-brand {
	padding:0;
	margin:0;
}
@media (max-width: 340.98px) {
	.navbar { padding-right:5px; }
	.navbar-brand img {
		height:28px!important;
	}
}

.navbar-toggler { 
	position:relative;
	border:none;
	color:#000;
	padding-bottom:0;
}
.navbar-toggler .text {
	position:absolute;
	font-family:Arial;
	font-size:8px;
	top:0;
	left:auto;
	right:auto;
}
.navbar-light .navbar-toggler .navbar-toggler-icon {
	position:relative;
	margin-top:-2px;
}
.navbar-light .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M6 6L 24 24M24 6L6 24'/%3E%3C/svg%3E");
}


/* スライド
==================================================== */
@media (max-width: 1199.98px) {
	.slide-svg {
		position: absolute;
		top:0;
		left:0;
		animation: anime_from_left 0.5s ease 1s forwards;
		opacity:0;
	}
}
@media (min-width: 1200px) {
	.slide-headline {
		position: absolute;
		width:314px;
		top:90px;
		left:80px;
		animation: anime_from_left 0.5s ease 0.5s forwards;
		opacity:0;
	}

	.slide-headline2 {
		position: absolute;
		width:404px;
		top:110px;
		left:80px;
		animation: anime_from_left 0.5s ease 0.5s forwards;
		opacity:0;
	}
	.slide-headline3 {
		position: absolute;
		width:635px;
		top:130px;
		left:80px;
		animation: anime_from_left 0.5s ease 1s forwards;
		opacity:0;
	}

	.slide-text {
		position: absolute;
		top:210px;
		left:80px;
		animation: anime_from_left 0.5s ease 1.5s forwards;
		opacity:0;
	}
	.slide-text2 {
		position: absolute;
		top:210px;
		left:80px;
		animation: anime_from_left 0.5s ease 2s forwards;
		opacity:0;
	}

	.text1 { width:389px; }
	.text2 { width:341px; }
	.text3 { width:456px; }

	.slide-line {
		position: absolute;
		height:10px;
		top:190px;
		left:0px;
		animation: anime_from_left 0.5s ease 1s forwards;
		opacity:0;
	}
	.slide-line2 {
		position: absolute;
		height:10px;
		top:190px;
		left:0px;
		animation: anime_from_left 0.5s ease 1.5s forwards;
		opacity:0;
	}

	.line1 { width:740px; }
}




.title-text {
	position:absolute;
	bottom:0;
	left:0;
	max-width:1140px;
}
@media (min-width: 2000px) {
	.title-text { top:330px; }
}




/* トップ
==================================================== */
.top-kasane {background-color:#fff;

}


@media (min-width: 768px) {
	.top-kasane {
		height:100%;margin-right:-10%;
		box-shadow: 0 0px 20px rgba(0,0,0,0.2);

	}
}
.top-kasane-left {background-color:#fff;}
@media (min-width: 768px) {
	.top-kasane-left {
		height:100%;margin-left:-10%;
		box-shadow: 0 0px 20px rgba(0,0,0,0.2);

	}
}



/* アニメーション
==================================================== */
@keyframes fadein {
  0% {
	opacity: 0;
  }
  100% {
	opacity: 1;
  }
}
@keyframes anime_from_top {
  0% {
	opacity: 0;
	-webkit-transform: translate(0, -200%);
  }
  100% {
	opacity: 1;
	-webkit-transform: translate(0, 0);
  }
}
@keyframes anime_from_left {
  0% {
	opacity: 0;
	-webkit-transform: translate(-200%, 0);
  }
  100% {
	opacity: 1;
	-webkit-transform: translate(0, 0);
  }
}

.imgZoom {
	overflow: hidden;	/*拡大時にはみ出た部分を隠す*/
}
.imgZoom img {
	display: block;
	transition-duration: 0.3s;	/*変化に掛かる時間*/
}
.imgZoom:hover img {
	transform: scale(1.05);	/*画像の拡大率*/
	transition-duration: 0.3s;	/*変化に掛かる時間*/
}


.slidein-1s {
	animation: anime_from_left 1s ease 1s forwards;
	opacity:0;
	visibility:visible;
}
.slidein-2s {
	animation: anime_from_right 1s ease 0.5s forwards;
	opacity:0;
	visibility:visible;
}


@keyframes fadein {
  0% {
	opacity: 0;
  }
  100% {
	opacity: 1;
  }
}
@keyframes anime_from_left {
  0% {
	opacity: 0;
	-webkit-transform: translate(-200%, 0);
  }
  100% {
	opacity: 1;
	-webkit-transform: translate(0, 0);
  }
}
@keyframes anime_from_right {
  0% {
	opacity: 0;
	-webkit-transform: translate(200%, 0);
  }
  100% {
	opacity: 1;
	-webkit-transform: translate(0, 0);
  }
}
@keyframes slide_from_right {
  0% {
	opacity: 0;
	-webkit-transform: translate(400%, 0);
  }
  100% {
	opacity: 1;
	-webkit-transform: translate(0, 0);
  }
}


/* コピーライト
==================================================== */
#copyright {
	font-size:13px;
	padding-bottom:10px;
}


/* トップへ戻る
==================================================== */
a.page-top {
	position:fixed;
	bottom:60px;
	right:10px;
	opacity:0.5;
	color:#0064f2;
	display:block;
}
a.page-top:hover {
	opacity:0.7;
}
@media (max-width: 767.98px) {
	a.page-top {
		font-size:14px;
		bottom:0;
		right:0;
	}
}


/* 沿革
==================================================== */
.tbl-enkaku {
	border: 1px #666666 solid;
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 120%;
}
.td-jigyou {
	background-color: #005293;
	color: #fff;
	text-align: center !important;
}

.td-enkaku {
	background-color: #7195c1;
	color: #000;
	text-align: center !important;
}

.tbl-enkaku td {
	border: 1px #666666 solid;
	padding: 5px;
	text-align: left;
}

.tbl-enkaku th {
	background-color: #e3e3e3;
	text-align: center;
	font-weight: bold;
	vertical-align: middle;
	border: 1px #666666 solid;
	padding: 5px;
	font-size: 90%;
}

.tbl-data {
	border: 1px #666666 solid;
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 120%;
}
.td-jigyou {
	background-color: #005293;
	color: #fff;
	text-align: center !important;
}

.td-data {
	background-color: #7195c1;
	color: #000;
	text-align: center !important;
}

.tbl-data td {
	border: 1px #666666 solid;
	padding: 5px;
	text-align: center;
}

.tbl-data th {
	background-color: #e3e3e3;
	text-align: center;
	font-weight: bold;
	vertical-align: middle;
	border: 1px #666666 solid;
	padding: 5px;
	font-size: 90%;
}


/* レスポンシブテーブル
==================================================== */
@media (max-width: 767.98px) {
	table.responsive td {
		display:block;
	}
	table.spec td:first-child {
		border-bottom: 1px solid #ccc;
		font-weight:bold;
		width:100%;
	}


/* 沿革　*/
	.scroll {
		overflow-x: auto;
	}
	.tbl-enkaku {
		min-width: 640px;
		margin: 0 10px 50px;
	}
	.tbl-enkaku td {
		border-top: solid 1px #ccc;
		border-bottom: solid 1px #ccc;
	}
  
  
}




 


/* 
==================================================== */
@media (min-width: 576px) {
}
@media (min-width: 768px) {
}
@media (min-width: 1200px) {
}
/* ナビゲーション　フォントサイズ変更
==================================================== */

@media (min-width: 992px) and (max-width: 1125px) {

body {
overflow-x: hidden;
padding-top: 115px;
}

	.header-link {
		font-size: 0.8rem;
	}
}


/* ナビゲーションメニューのドロップダウン
==================================================== */
#menu div {
  position: relative;
}

.cmenu {
  display: none;
  position: absolute;
  padding: 5px;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;  
  border-radius: 0px;
  background: #16326b;
  color: #fff;
}

.cmenu:after {
  position: absolute;
  bottom: 100%;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -15px;
  border: solid transparent;
  border-color: rgba(17, 49, 113, 0);
  border-bottom-color: #16326b;
  border-width: 15px;
  pointer-events: none;
  content: " ";
}

.cmenu a {
 color: #fff;
}


.dropdown-wrap:hover .dropdown-menu {
    display: block;
}

.dropdown-menu {
    z-index:100000!important;
   display: none;
  position: absolute;
  padding: 5px;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;  
  border-radius: 0px;
  background: #16326b;
  color: #fff;
  width: 200px;
  font-size: 0.9rem;
}

.dropdown-menu:after {
  position: absolute;
  bottom: 100%;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -15px;
  border: solid transparent;
  border-color: rgba(17, 49, 113, 0);
  border-bottom-color: #16326b;
  border-width: 15px;
  pointer-events: none;
  content: " ";
}

.dropdown-menu a {
 color: #fff;
 padding: 5px 0px;
}

@media (min-width: 992px) and (max-width: 1200px) {

.dropdown-menu {
	width: 180px;

}

}


/* ボタン
==================================================== */

.btn {
    line-height: 150%;
    text-align: center;
    width: 100%;
    cursor: pointer;
    margin-top: 5px;
    padding: 20px 0px;
}

.btn-one {
    color: #fff;
    transition: all 0.3s;
    position: relative;
    background-color: #16326b;
}
.btn-one span {
    transition: all 0.3s;
}
.btn-one::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    opacity: 0;
    transition: all 0.3s;
    border-top-width: 1px;
    border-bottom-width: 1px;
    border-top-style: solid;
    border-bottom-style: solid;
    border-top-color: #fff;
    border-bottom-color: #fff;
    transform: scale(0.1, 1);
    color:#fff;

}
.btn-one:hover span {
    letter-spacing: 1px;
    color:#fff;
}
.btn-one:hover::before {
    opacity: 1; 
    transform: scale(1, 1); 
        color:#fff;

}
.btn-one::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    transition: all 0.3s;
    background-color: rgba(255,255,255,0.1);
    color:#fff;
}
.btn-one:hover::after {
    opacity: 0; 
    transform: scale(0.1, 1);
    color:#fff;
}


/* トップページ　採用情報
==================================================== */
#recruit_bg {
    position: relative;
    background: url(/img/top/top_recruit_bg.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 50px 0;
}

.top-recruit_text {
    background-color: rgba(255,255,255,0.7);
    padding: 50px 10px;
    margin: 0 auto;
    width: 90%;
    font-size: 1rem;
    line-height: 1.7;
}

/* 採用情報
==================================================== */
#recruit_yoko_bg {
    position: relative;
    background: url(/img/recruit/bk_recruit.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
}

.recruit_yoko_text {
    margin: 0 auto;
    width: 90%;
    font-size: 1rem;
    line-height: 1.7;
}
 