@charset "UTF-8";

body {
	color: #333;
	font-size: 14px;
	font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	line-height: 2.143;
	outline: none;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	min-width: 1030px;
}

a {
	-webkit-transition: opacity .4s, background .4s, color .4s;
	transition: opacity .4s, background .4s, color .4s;
}

.inner {
	width: 100%;
	max-width: 1154px;
	margin: 0 auto;
	padding: 0 15px;
}

.vis-sp,
.vis-tb {
	display: none;
}

.-en {
	letter-spacing: 0.1em;
}

.-bggray {
	background: #F7F7F7;
}

.cmn_ttl {
	font-size: 60px;
	font-weight: bold;
	line-height: 1;
	position: relative;
	z-index: 1;
	text-align: center;
}

.cmn_ttl.-on {
	width: calc(100% - 30px);
	max-width: 1300px;
	margin: -84px auto 0;
	padding: 80px 10px 70px;
	background: #FFF;
}

.cmn_ttl span.-jp {
	display: block;
	margin-top: 15px;
	font-size: 30px;
	color: #0644A7;
}

.cmn_secttl {
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	position: relative;
}

.cmn_secttl:after {
	position: absolute;
	content: "";
	width: 110px;
	height: 2px;
	background: #83C635;
	bottom: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.pbody {
}

.mainimage {
	position: relative;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.mainimage:before {
	display: block;
	content: "";
	padding-top: 443px;
}

/* ページ内ナビ */
.cmn_pnav {
}

.cmn_pnav_list {
	display: -webkit-box;
	display: flex;
	border: 1px solid #D0D0D0;
}

.cmn_pnav_list a {
	-webkit-box-flex: 1;
	flex: 1;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	-webkit-box-pack: center;
	justify-content: center;
	padding: 12px;
	border-left: 1px solid #D0D0D0;
	text-align: center;
	font-size: 16px;
	font-weight: 500;
	-webkit-transition: color 0.3s, background 0.3s, border-color 0.3s;
	transition: color 0.3s, background 0.3s, border-color 0.3s;
}

.cmn_pnav_list a:hover {
	color: #FFF;
	background: #0644A7;
	border-color: #0644A7;
}

.cmn_pnav_list a:first-child {
	border-left: none;
}

/* ページ遷移アニメーション */
.fade {
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	-webkit-transform: translateX(-100%);
	transform: translateX(-100%);
	-webkit-transition: -webkit-transform .4s;
	transition: -webkit-transform .4s;
	transition: transform .4s;
	transition: transform .4s, -webkit-transform .4s;
}

.fade.-on {
	-webkit-transform: translateX(0%);
	transform: translateX(0%);
}

.fade_item {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.fade_item.-item1 {
	background: rgba(131, 198, 53, 0.5);
}

.fade_item.-item2 {
	background: #0644A7;
	-webkit-transform: translateX(-100%);
	transform: translateX(-100%);
	-webkit-transition: -webkit-transform .4s;
	transition: -webkit-transform .4s;
	transition: transform .4s;
	transition: transform .4s, -webkit-transform .4s;
}

.fade.-on .fade_item {
}

.fade.-on .fade_item.-item1 {
}

.fade.-on .fade_item.-item2 {
	-webkit-transform: translateX(0%);
	transform: translateX(0%);
}

/* ヘッダー・グロナビ */
.head {
	position: relative;
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
}

.head_logo {
	display: inline-block;
}

.head_logo a {
	display: inline-block;
	padding: 30px 40px;
}

.head_logo a:hover {
	opacity: 0.6;
}

.head_gnav a {
	display: -webkit-box;
	display: flex;
	flex-direction: column;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-box-align: center;
	align-items: center;
	-webkit-box-pack: center;
	justify-content: center;
	padding: 0 20px;
	-webkit-transition: background 0.5s;
	transition: background 0.5s;
}

.head_gnav a:hover {
	color: #fff;
	background: #0644A7;
}

/* .head_gnav_cnt {
	display: flex;
	justify-content: flex-start;
	align-items: center;
} */

.head_gnav a span {
	-webkit-transition: color 0.5s;
	transition: color 0.5s;
}

.head_gnav a span.-icon {
	color: #0644A7;
	font-size: 16px;
}

.head_gnav a:hover span.-icon {
	color: #fff;
}

.head_gnav a span.-txt {
	font-weight: 500;
	line-height: 1.3;
	margin-top: 10px;
	text-align: center;
	/* height: 36px; */
}

.head_gnav a.-contact {
	color: #fff;
	background: #83C635;
}

.head_gnav a.-contact:hover {
	background: #0644A7;
}

.head_gnav a.-contact span.-icon {
	color: #fff;
}

.head_gnavbtn {
	position: absolute;
	z-index: 10;
	top: 0;
	right: 0;
	width: 80px;
	height: 80px;
	background: #0644A7;
	cursor: pointer;
	display: none;
}

.head_gnavbtn span {
	position: absolute;
	content: "";
	width: 34px;
	height: 2px;
	background: #fff;
	left: 23px;
	-webkit-transition: top 0.3s, opacity 0.3s, -webkit-transform 0.3s;
	transition: top 0.3s, opacity 0.3s, -webkit-transform 0.3s;
	transition: top 0.3s, transform 0.3s, opacity 0.3s;
	transition: top 0.3s, transform 0.3s, opacity 0.3s, -webkit-transform 0.3s;
}

.head_gnavbtn span:first-child {
	top: 32px;
}

.head_gnavbtn span:nth-child(2) {
	top: 39px;
}

.head_gnavbtn span:last-child {
	top: 46px;
}

.head_gnavbtn.-open span:first-child {
	top: 39px;
	-webkit-transform: rotate(35deg);
	transform: rotate(35deg);
}

.head_gnavbtn.-open span:nth-child(2) {
	opacity: 0;
}

.head_gnavbtn.-open span:last-child {
	top: 39px;
	-webkit-transform: rotate(-35deg);
	transform: rotate(-35deg);
}

/* 会社情報 */
.company {
	position: relative;
	background-image: url("../img/img-company.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	display: -webkit-box;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
	-webkit-box-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	align-items: center;
	text-align: center;
}

.company:before {
	display: block;
	content: "";
	width: 100%;
	padding-top: 435px;
	background: rgba(6, 68, 167, 0.3);
	-webkit-transition: background 0.3s;
	transition: background 0.3s;
}

.company:hover:before {
	background: rgba(6, 68, 167, 0);
}

.company_ttl {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.company_ttl span {
	display: block;
	font-weight: bold;
	line-height: 1;
	color: #FFF;
}

.company_ttl span.-en {
	font-size: 60px;
}

.company_ttl span.-jp {
	font-size: 24px;
	margin-top: 30px;
}

/* お問い合わせ */
.contact {
	color: #fff;
	background: #0644A7;
	padding: 116px 0 126px;
}

.contact_ttl {
	font-size: 40px;
	font-weight: bold;
	line-height: 1;
	text-align: center;
}

.contact_lead {
	text-align: center;
	margin-top: 20px;
}

.contact_row {
	margin: 26px auto 0;
	max-width: 845px;
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	align-items: center;
}

.contact_col.-tel {
}

.contact_col.-tel a {
	display: inline-block;
	line-height: 1;
	position: relative;
	padding: 10px 10px 10px 60px;
}

.contact_col.-tel a:before {
	position: absolute;
	font-family: icomoon;
	content: "\e906";
	font-size: 42px;
	top: 50%;
	left: 10px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.contact_col.-form {
}

.contact_col.-form a {
	display: inline-block;
	padding: 36px 90px;
	line-height: 1;
	text-align: center;
	background: #83C635;
	border: 2px solid #83C635;
}

.contact_col.-form a:hover {
	color: #83C635;
	background: #FFF;
}

.contact_col.-form a span {
	display: inline-block;
	position: relative;
	font-size: 20px;
	padding-left: 36px;
}

.contact_col.-form a span:before {
	position: absolute;
	font-family: icomoon;
	content: "\e903";
	font-size: 28px;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

/* ページトップ・フッター */
.foot {
	padding: 70px 0 80px;
	position: relative;
	text-align: center;
}

.foot_pagetop {
	position: absolute;
	top: 34px;
	right: 34px;
}

.foot_pagetop a {
	display: block;
	-webkit-transition: -webkit-transform 0.3s;
	transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
	transition: transform 0.3s, -webkit-transform 0.3s;
}

.foot_pagetop a:hover {
	-webkit-transform: scale(1.2, 1.2);
	transform: scale(1.2, 1.2)
}

.foot_logo {
}

.foot_logo a {
	display: inline-block;
	padding: 10px;
}

.foot_logo a:hover {
	opacity: 0.6;
}

.foot_group {
	text-align: center;
	margin-top: 20px;
}

.foot_info {
	display: inline-block;
	margin-top: 40px;
	text-align: left;
}

.foot_info_name {
	display: inline-block;
}

.foot_info_add {
	display: inline-block;
	margin-left: 1em;
}

.foot_info_num {
}

.foot_copyright {
	margin-top: 25px;
	font-size: 12px;
	color: #848484;
}

/* All SP & Tablet */
@media screen and (max-width:1400px) {
	img {
		max-width: 100%;
		height: auto;
	}

	.vis-tb {
		display: block;
	}

	.hide-tb {
		display: none;
	}

	.head_logo {
		width: 200px;
	}

	.head_logo a {
		padding: 30px 10px;
	}

	.head_gnav a {
		padding: 0 10px;
	}

}

@media screen and (min-width:641px) {
	.head_gnav {
		display: -webkit-box !important;
		display: flex !important;
		justify-content: space-around;
	}

	.head_gnav a.-sp {
		display: none;
	}

}

/* All SP */
@media screen and (max-width:640px) {
	body {
		min-width: 360px;
		line-height: 1.8;
	}

	.vis-sp {
		display: block;
	}

	.hide-sp {
		display: none;
	}

	.mainimage:before {
		padding-top: 300px;
	}

	.cmn_sec {
		padding: 50px 0 !important;
	}

	.cmn_ttl {
		font-size: 42px;
	}

	.cmn_ttl.-on {
		margin: -30px auto 0;
		padding: 30px 10px 30px;
	}

	.cmn_ttl span.-jp {
		font-size: 20px;
		margin-top: 5px;
	}

	.head {
		height: 80px;
	}

	.head_logo {
		width: 280px;
	}

	.head_logo a {
		display: -webkit-box;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		flex-direction: column;
		-webkit-box-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		align-items: center;
		padding: 0 20px;
		height: 100%;
	}

	.head_gnav {
		position: absolute;
		z-index: 50;
		top: 80px;
		left: 0;
		width: 100%;
		background: #FFF;
		display: none;
	}

	.head_gnav a {
		padding: 10px;
	}

	.head_gnav a {
		border-top: 1px solid #eee;
	}

	.head_gnav a:first-child,
	.head_gnav a:last-child {
		border-top: none;
	}

	.head_gnav a.-sp {
		font-weight: 500;
	}

	.head_gnavbtn {
		display: block;
	}

	/* 会社情報 */
	.company {
	}

	.company:before {
		padding-top: 245px;
	}

	.company_ttl span.-en {
		font-size: 34px;
	}

	.company_ttl span.-jp {
		font-size: 14px;
		margin-top: 15px;
	}

	/* お問い合わせ */
	.contact {
		text-align: center;
		padding: 65px 0 70px;
	}

	.contact_ttl {
		font-size: 22px;
	}

	.contact_lead {
		display: inline-block;
		font-size: 14px;
		line-height: 1.64;
		text-align: left;
	}

	.contact_row {
		display: block;
	}

	.contact_col.-tel {
	}

	.contact_col.-tel a {
		width: 260px;
		padding-left: 46px;
	}

	.contact_col.-tel a:before {
		font-size: 26px;
	}

	.contact_col.-form {
		margin-top: 16px;
	}

	.contact_col.-form a {
		padding: 20px 40px;
	}

	.contact_col.-form a:hover {
	}

	.contact_col.-form a span {
	}

	.contact_col.-form a span:before {
	}

	/* ページトップ・フッター */
	.foot {
		padding: 52px 0 70px;
	}

	.foot_pagetop {
		top: 14px;
		right: 14px;
		width: 30px;
		height: 30px;
	}

	.foot_pagetop a {
	}

	.foot_logo {
	}

	.foot_logo a {
	}

	.foot_info {
	}

	.foot_info_add,
	.foot_info_num {
	}

	.foot_info_num {
	}

	.foot_copyright {
	}

}

/* for Print */
@media print {
}
