@charset "utf-8";

/* ------------------------------
 リセット
------------------------------ */
* {
	border: 0;
	margin: 0;
	/* outline:0; */
	padding: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
	font: inherit;
	font-family: inherit;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	text-decoration: none;
	vertical-align: baseline;
}
html {font-size: 62.5%; width: 100%; height: 100%;}
body {
	font-size: 10px;
	font-size: 1.0rem;
	line-height: 1;
	position: relative;
	text-align: center;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	width: 100%;
	height: 100%;
}
article,aside,dialog,figure,footer,header,main,menu,nav,section {display: block;}
audio,canvas,video {display: inline-block;}
hr {display: block;}
ol,ul {list-style: none;}
blockquote,q {quotes: none;}
blockquote:before, blockquote:after, q:before, q:after {content: ""; content: none;}
input,select {vertical-align: middle;}
table {border-collapse: collapse; border-spacing: 0; empty-cells: show;}
/* ------------------------------
 サイト全体
------------------------------ */
html,body {
	margin: 0 auto;
	background-color: #fff;
	color: #1A1A1A;
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.75;
	font-weight: 500;
	word-wrap: break-word;
	-webkit-text-size-adjust: 100%;
}
.site {
	overflow: hidden;
	width: 100%;
	margin: 0;
	padding: 0;
	font-size: 1.6rem;
	text-align: left;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
.cf:after {
	content: "";
	clear: both;
	display: block;
}
.fl {float: left;}
.fr {float: right;}
.tal {text-align: left !important;}
.tac {text-align: center !important;}
.tar {text-align: right !important;}
.vat {vertical-align: top;}
.vam {vertical-align: middle;}
.vab {vertical-align: bottom;}
strong,.bold {font-weight: 600;}
.nobold {font-weight: 400 !important;}
.auto {
	margin-left: auto;
	margin-right: auto;
}
input.none {display: none;}
/* 行スペース */
.t1 {margin-top: 1.75em;}
.b1 {margin-bottom: 1.75em;}
.b2 {margin-bottom: 3.5em;}
.b3 {margin-bottom: 5.25em;}
/* スペース */
.mt5 {margin-top: 5px !important;}
.mt10 {margin-top: 10px !important;}
.mt15 {margin-top: 15px !important;}
.mt20 {margin-top: 20px !important;}
.mt25 {margin-top: 25px !important;}
.mt80 {margin-top: 80px !important;}
.mb0 {margin-bottom: 0 !important;}
.mb5 {margin-bottom: 5px !important;}
.mb10 {margin-bottom: 10px !important;}
.mb15 {margin-bottom: 15px !important;}
.mb20 {margin-bottom: 20px !important;}
.mb25 {margin-bottom: 25px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb35 {margin-bottom: 35px !important;}
.mb40 {margin-bottom: 40px !important;}
.mb50 {margin-bottom: 50px !important;}
.mb60 {margin-bottom: 60px !important;}
.mb70 {margin-bottom: 70px !important;}
.mb80 {margin-bottom: 80px !important;}
.mb90 {margin-bottom: 90px !important;}
.mb100 {margin-bottom: 100px !important;}
.mb120 {margin-bottom: 120px !important;}
.mb130 {margin-bottom: 130px !important;}
.mb150 {margin-bottom: 150px !important;}
.mb200 {margin-bottom: 200px !important;}
.ml0 {margin-left: 0 !important;}
.ml5 {margin-left: 5px !important;}
.ml10 {margin-left: 10px !important;}
.ml20 {margin-left: 20px !important;}
.ml50 {margin-left: 50px !important;}
.ml1em {margin-left: 1em !important;}
.ml2rem {margin-left: 2rem !important;}
.mr0 {margin-right: 0 !important;}
.mr5 {margin-right: 5px !important;}
.mr10 {margin-right: 10px !important;}
.mr20 {margin-right: 20px !important;}
.nopd {padding: 0 !important;}
/* リンク */
a {
	color: #1A1A1A;
	text-decoration: none;
	transition: opacity .3s ease-in-out;
}
@media screen and (min-width: 768px) {
	a:hover {
		opacity: .7;
	}
}
a:focus {
	outline: 0;
}
a.cms_link {
	color: #ff8d70;
	text-decoration: underline;
}
.cms_link a {
	text-decoration: none;
}
.contents a,
.contentsWide a {
	color: #1A1A1A;
}
a .img_hover {
	overflow: hidden;
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
}
a .img_hover img {
	display: block;
	transition-duration: 0.3s;
	overflow: hidden;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
a:hover .img_hover img {
	opacity: 1;
	overflow: hidden;
	transform: scale(1.03);
	transition-duration: 0.3s;
}
@media screen and (min-width: 768px) {
	.contents a,
	.contentsWide a {
		transition: .3s ease-in-out;
	}
	.contents a:hover,
	.contentsWide a:hover {
		opacity: .5;
	}
}
/* カラー */
.pink {
	color: #ff8d70;
}
.red {
	color: #e60012;
}
.blue {
	color: #0000ff;
}
.navy {
	color: #0d2c4f;
}
.gray {
	color: #8a8a90;
}
/* フォントサイズ */
.f11 {font-size: 1.1rem;}
.f12 {font-size: 1.2rem;}
.f13 {font-size: 1.3rem;}
.small,small,
.f14 {font-size: 1.4rem;}
.f15 {font-size: 1.5rem;}
.f16 {font-size: 1.6rem;}
.big,
.f18 {font-size: 1.8rem;}
.f19 {font-size: 1.9rem;}
.f20 {font-size: 2rem;}
.f21 {font-size: 2.1rem;}
.f22 {font-size: 2.2rem;}
.f24 {font-size: 2.4rem;}
.f25 {font-size: 2.5rem;}
.f26 {font-size: 2.6rem;}
.f27 {font-size: 2.7rem;}
.f28 {font-size: 2.8rem;}
.f31 {font-size: 3.1rem;}
.f32 {font-size: 3.2rem;}
.f48 {font-size: 4.8rem;}
/* 上付き */
sup {
	font-size: 70%;
	vertical-align: top;
}
/* 下付き */
sub {
	font-size: 70%;
	vertical-align: bottom;
}
/* 強調 */
em {font-style: italic;}
/* 打消し */
del, s {text-decoration: line-through;}
/* 引用・転用 */
blockquote {margin: 1em 3em;}
/* 非表示 */
.hide {display: none;}
/* インラインブロック */
.inline-block {display: inline-block;}
/* インデント */
.ti1c {
	padding-left: 1em;
	text-indent: -1em;
}
.ti1hc {
	padding-left: 1.6em;
	text-indent: -1.6em;
}
.ti2c {
	padding-left: 2em;
	text-indent: -2em;
}
.ti3c {
	padding-left: 3em;
	text-indent: -3em;
}
.ti4c {
	padding-left: 4em;
	text-indent: -4em;
}
.ti5c {
	padding-left: 5em;
	text-indent: -5em;
}
.ti2hc {
	padding-left: 2.5em;
	text-indent: -2.5em;
}
/* 下線 */
u {text-decoration: underline;}
/* ルビ */
ruby rt {font-size: 50%;}
/* ------------------------------
 サイト全体（PC）
------------------------------ */
@media print,screen and (min-width: 768px) {
	.pc {display: block !important;}
	.sp {display: none !important;}
	.pc_tal {text-align: left !important;}
	.pc_tac {text-align: center !important;}
	.pc_tar {text-align: right !important;}
	.pc_bold {font-weight: bold;}
	.pc_nobr br {display: none;}
	/* スペース */
	.pc_mt20 {margin-top: 20px !important}
	.pc_mt10 {margin-top: 10px !important}
	.pc_mt5 {margin-top: 5px !important}
	.pc_mb0 {margin-bottom: 0 !important}
	.pc_mb10 {margin-bottom: 10px !important;}
	.pc_mb20 {margin-bottom: 20px !important;}
	.pc_mb25 {margin-bottom: 25px !important;}
	.pc_mb30 {margin-bottom: 30px !important;}
	.pc_mb40 {margin-bottom: 40px !important;}
	.pc_mb50 {margin-bottom: 50px !important;}
	.pc_mb60 {margin-bottom: 60px !important;}
	.pc_mb70 {margin-bottom: 70px !important;}
	.pc_mb80 {margin-bottom: 80px !important;}
	.pc_mb100 {margin-bottom: 100px !important;}
	.pc_mr0 {margin-right: 0 !important;}
	.pc_mr10 {margin-right: 10px !important;}
	.pc_ml20 {margin-left: 20px !important;}
	/* TEL Link */
	a[href^="tel:"] {
		color: #00327b;
		text-decoration: none;
		pointer-events: none;
		cursor: default;
	}
	/* PCのみブロック */
	.pc_block {
		display: block;
	}
	/* PCのみインラインブロック */
	.pc_inline-block {
		display: inline-block;
	}
	/* 別ページからのアンカーリンクの頭出し調整 */
	:is(.contentsHome, .contentsTop, .contents) [id] {
		scroll-margin-top: 100px;
	}
}
/* ------------------------------
 サイト全体（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	html,body {
		min-width: 100%;
		max-width: 100%;
	}
	.site {min-width: 0;}
	.pc {display: none !important;}
	.sp {display: block !important;}
	.sp_db {display: block !important;}
	.sp_tac {text-align: center !important;}
	.sp_tal {text-align: left !important;}
	.sp_nobr br {display: none;}
	.fl, .fr {float: none;}
	/* スペース */
	.mt25 {margin-top: 20px !important;}
	.mt80 {margin-top: 50px !important;}
	.mb15 {margin-bottom: 10px !important;}
	.mb20 {margin-bottom: 15px !important;}
	.mb25 {margin-bottom: 15px !important;}
	.mb30 {margin-bottom: 20px !important;}
	.mb35 {margin-bottom: 20px !important;}
	.mb40 {margin-bottom: 25px !important;}
	.mb50 {margin-bottom: 30px !important;}
	.mb60 {margin-bottom: 40px !important;}
	.mb70 {margin-bottom: 45px !important;}
	.mb80 {margin-bottom: 50px !important;}
	.mb90 {margin-bottom: 55px !important;}
	.mb100 {margin-bottom: 60px !important;}
	.mb120 {margin-bottom: 60px !important;}
	.mb130 {margin-bottom: 60px !important;}
	.mb150 {margin-bottom: 60px !important;}
	.mb200 {margin-bottom: 80px !important;}
	.sp_mt10 {margin-top: 10px !important;}
	.sp_mt30 {margin-top: 30px !important;}
	.sp_mt60 {margin-top: 60px !important;}
	.sb_mt-30 {margin-top: -30px !important;}
	.sp_mb0 {margin-bottom: 0 !important;}
	.sp_mb5 {margin-bottom: 5px !important;}
	.sp_mb10 {margin-bottom: 10px !important;}
	.sp_mb15 {margin-bottom: 15px !important;}
	.sp_mb20 {margin-bottom: 20px !important;}
	.sp_mb25 {margin-bottom: 25px !important;}
	.sp_mb30 {margin-bottom: 30px !important;}
	.sp_mb40,
	.mb10.sp_mb40 {margin-bottom: 40px !important;}
	.sp_mb50 {margin-bottom: 50px !important;}
	.sp_mb60 {margin-bottom: 60px !important;}
	.sp_mb80 {margin-bottom: 80px !important;}
	.sp_ml2em {margin-left: 2rem !important;}
	.sp_ml_auto {margin-left: auto !important;}
	.sp_mr0 {margin-right: 0 !important;}
	/* フォントサイズ */
	.f11 {font-size: 1rem;}
	.f12 {font-size: 1.1rem;}
	.f13 {font-size: 1.2rem;}
	.small,
	.f14 {font-size: 1.3rem;}
	.f15 {font-size: 1.4rem;}
	.f16 {font-size: 1.5rem;}
	.big,
	.f18 {font-size: 1.7rem;}
	.f19 {font-size: 1.8rem;}
	.f20 {font-size: 1.9rem;}
	.f21 {font-size: 2rem;}
	.f25 {font-size: 2.3rem;}
	.f26 {font-size: 2.4rem;}
	.f27 {font-size: 2.5rem;}
	.f28 {font-size: 2.6rem;}
	.f48 {font-size: 3rem;}
	.nobr br {display: none;}
	/* PCのみインラインブロックのスマホ表示 */
	.pc_inline-block {
		display: block;
		margin-bottom: 5px;
	}
	/* spのみインラインブロック */
	.sp_inline-block {
		display: inline-block;
	}
	/* 別ページからのアンカーリンクの頭出し調整 */
	:is(.contentsHome, .contentsTop, .contents) [id] {
		scroll-margin-top: 60px;
	}
}
/* ------------------------------
 ヘッダー
------------------------------ */
.header-area {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	top: 0;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	text-align: center;
	background: #fff;
	z-index: 1000;
}

.header-block {
	margin: 0 auto;
	text-align: left;
}

.header-block a {
	color: #1A1A1A;
}

/* -- ロゴ -- */
.header-block_logo a {
	position: relative;
	display: flex;
	align-items: center;
	text-decoration: none;
}

.header-block_logo a::before {
	transition: 0.3s ease-in-out;
}

.header-block_logo img {
	vertical-align: middle;
}

.header-block_logo:hover img {
	opacity: 1;
}

.header-block_logo p {
	font-family: 'Roboto';
	font-weight: 500;
}

.visually-hidden {
	position: fixed !important;
	top: 0px !important;
	left: 0px !important;
	width: 0px !important;
	height: 0px !important;
	opacity: 0 !important;
	overflow: hidden !important;
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: block !important;
	visibility: visible !important;
}

/* 採用情報・お問合せボタン */
.header-navigation .btnBox {
	display: flex;
	gap: 10px;
	align-items: center;
}

.header-navigation .btnBox a {
	display: block;
	padding: 10px 0;
	font-weight: bold;
	text-align: center;
	color: #fff;
	border-radius: 5px;
}

.header-navigation .btnBox .inquiry {
	background-color: #00327b;
}

.header-navigation .btnBox .recruit {
	background: linear-gradient(45deg, #00327b, #5df0fe);
}

/* ------------------------------
 PC用限定CSS
------------------------------ */
@media print,screen and (min-width: 768px) {
	.header-area {
		max-width: 100%;
	}

	.header-area a:hover {
		color: #fff;
	}

	.slidemenu-btn,
	.btn-submenu-toggle {
		display: none !important;
	}

	.header-block {
		position: relative;
		width: 100%;
		height: 100px;
		margin: 0 auto;
		background-color: #fff;
	}

	/*-- ロゴ --*/
	.header-box {
		position: relative;
		display: flex;
		justify-content: space-between;
		height: 100px;
		margin: auto;
		background: #fff;
	}

	.header-block_logo {
		display: flex;
		align-items: center;
		width: 200px;
		margin-left: 20px;
	}

	.header-block_logo img {
		width: 100%;
	}

	/*-- グローバルナビ --*/
	.gnav {
		width: 100%;
		display: flex;
	}

	.gnav .inBlock {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	.gnav .inBlock::after {
		content: none;
	}

	.gnav .inBlock > p {
		font-size: 1.7rem;
		font-weight: bold;
		color: #1A1A1A;
	}

	.header-block .gnav .header-menu {
		display: flex;
		justify-content: center;
		height: 100px;
		visibility: visible;
		margin-right: 10px;
	}

	.header-block .gnav .header-menu > li {
		position: relative;
		display: flex;
		align-items: center;
		font-size: 1.5rem;
		font-weight: bold;
	}

	.header-block .gnav .header-menu > li:not(:first-child) {
		padding: 0 5px;
	}

	.header-block .gnav .header-menu > li:not(:last-child) {
		padding: 0 5px;
	}

	.header-block .gnav .header-menu > li:last-child {
		padding-right: 5px;
	}

	.header-block .gnav .header-menu > li > p {
		display: flex;
		align-items: center;
		height: 100%;
	}

	.header-block .gnav .header-menu > li > p a {
		position: relative;
		display: flex;
		align-items: center;
		height: 100%;
		color: #1A1A1A;
		line-height: 1;
		text-decoration: none;
		-webkit-transform: perspective(1px) translateZ(0);
		transform: perspective(1px) translateZ(0);
		transition: 0.3s ease-in-out;
	}

	.header-block .gnav .header-menu > li > p a:hover,
	.header-block .gnav .header-menu > li > p a:focus,
	.header-block .gnav .header-menu > li:hover > p a,
	.header-block .gnav .header-menu > li.on > p a {
		color: #0a7fd3 !important;
		opacity: 1;
	}

	.header-block .gnav .header-menu > li:focus > p a::after,
	.header-block .gnav .header-menu > li:hover > p a::after,
	.header-block .gnav .header-menu > li.on > p a::after {
		opacity: 1;
	}

	.header-block .gnav .header-menu > li > a::after,
	.header-block .gnav .header-menu > li > p > a::after {
		content: "";
		position: absolute;
		top: 40px;
		left: 0;
		right: 0;
		margin: auto;
		height: 6px;
		width: 6px;
		background: #0a7fd3;
		border-radius: 50%;
		-webkit-transition-duration: 0.3s;
		transition-duration: 0.3s;
		opacity: 0;
		z-index: -1;
	}

	.header-block .gnav .header-menu > li:hover a::after,
	.header-block .gnav .header-menu > li.on a::after,
	.header-block .gnav .header-menu > li a:focus::after {
		top: 30px;
		opacity: 1;
	}

	.header-navigation .btnBox {
		margin-right: 15px;
	}

	.header-navigation .btnBox a {
		font-size: 1.5rem;
		width: 100px;
	}

	.header-navigation {
		display: flex;
	}

	/* プルダウン */
	.pulldown.on {
		overflow-y: auto;
		max-height: calc(100vh - 126px);
	}

	.pulldown+.header-overlay {
		position: fixed;
		display: block;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100vw;
		height: 100vh;
		background-color: rgba(0, 0, 0, 0);
		transition-duration: 0.4s;
		transition-timing-function: ease-in-out;
		transition-delay: 0.3s;
		pointer-events: none;
		z-index: -5;
	}

	.pulldown.on+.header-overlay {
		background-color: rgba(0, 0, 0, 0.5);
		cursor: pointer;
	}
}

@media print,screen and (min-width: 1010px) {
	.header-block_logo {
		width: 250px;
		margin-left: 25px;
	}

	.header-block .gnav .header-menu {
		margin-right: 20px;
	}

	.header-block .gnav .header-menu > li {
		font-size: 1.7rem;
	}

	.header-block .gnav .header-menu > li:not(:first-child) {
		padding: 0 15px;
	}

	.header-block .gnav .header-menu > li:not(:last-child) {
		padding: 0 15px;
	}

	.header-block .gnav .header-menu > li:last-child {
		padding-right: 15px;
	}

	.header-navigation .btnBox {
		margin-right: 30px;
	}

	.header-navigation .btnBox a {
		font-size: 1.7rem;
		width: 116px;
	}
}
/* safari(iOS)ハック */
@media print,screen and (min-width:1240px) and (max-width:1600px) {
	_::-webkit-full-page-media,
	_:future,
	:root .header-block .gnav .header-menu > li:not(:first-child) {
		margin-left: 10px;
	}

	_::-webkit-full-page-media,
	_:future,
	:root .header-block .gnav .header-menu > li:not(:last-child) {
		margin-right: 10px;
	}
}

/* ------------------------------
 PC用限定CSS プルダウンメニュー部分
------------------------------ */
@media print,screen and (min-width: 768px) {
	.header-block .gnav .header-menu > li > .pulldown {
		position: absolute;
		top: 100px;
		left: 0;
		display: flex;
		flex-direction: column;
		width: fit-content;
		min-width: 214px;
		height: auto;
		visibility: hidden;
		opacity: 0;
		background-color: rgba(255, 255, 255, 0.9);
		border-radius: 0 0 5px 5px;
		padding: 20px 50px 20px 25px;
		transition: .3s ease-in-out;
	}

	.header-block .gnav .header-menu > li > .pulldown li:not(:last-child) {
		margin-bottom: 10px;
	}

	.header-block .gnav .header-menu > li > .pulldown li a {
		position: relative;
		display: block;
		width: 100%;
		height: 100%;
		font-size: 1.5rem;
		font-weight: 500;
		white-space: nowrap;
	}

	.header-block .gnav .header-menu > li > .pulldown li a::before {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		right: -30px;
		width: 19px;
		height: 9px;
		background: url(../img/arrow_menu.svg) no-repeat;
		margin: auto;
	}

	.header-block .gnav .header-menu > li > .pulldown li a:hover {
		opacity: 1;
		color: #00327b;
	}

	.header-block .gnav .header-menu > li:hover > .pulldown,
	.header-block .gnav .header-menu > li:hover > .pulldown > ul {
		visibility: visible;
		opacity: 1;
	}
}

/* ------------------------------
 スマホ用コード（ヘッダ）
------------------------------ */
@media screen and (max-width: 767px) {
	.header-area {
		position: fixed;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		min-width: 100%;
		z-index: 1000;
	}

	.header-block {
		width: 100%;
		height: 60px;
		margin: 0 auto;
		background: #fff;
		transition: 0s all !important;
	}

	/* ロゴ */
	.header-box {
		position: relative;
		top: 0;
		width: 100%;
		z-index: 10;
	}

	.header-block_logo {
		position: relative;
		display: flex;
		align-items: center;
		height: 60px;
		background-color: #fff;
		padding: 0 5%;
		z-index: 99;
	}

	.header-block_logo img {
		width: 175px;
	}

	.header-block_logo p {
		font-size: 1.3rem;
	}

	/* 開閉メニューボタン */
	.slidemenu-btn {
		position: absolute;
		right: 0;
		top: 0;
		display: block;
		width: 60px;
		height: 60px;
		background-color: #00327b;
		border-radius: 0 0 0 5px;
		cursor: pointer;
		transition: 0.3s ease-in-out;
		z-index: 100;
	}

	.menu-icon,
	.menu-icon:before,
	.menu-icon:after {
		position: absolute;
		display: block;
		width: 32px;
		height: 3px;
		background-color: #fff;
	}

	.menu-icon:before,
	.menu-icon:after {
		-webkit-transition: color .25s ease;
		transition: color .25s ease;
	}

	body.page-open-slidemenu {
		height: 100%;
		overflow: hidden;
	}

	.page-open-slidemenu .menu-icon::before,
	.page-open-slidemenu .menu-icon::after {
		background-color: #fff;
	}

	.page-open-slidemenu .header-block_logo {
		background: #fff;
	}

	.menu-icon:before,
	.menu-icon:after {
		content: '';
		-webkit-transform-origin: 50% 50%;
		-o-transform-origin: 50% 50%;
		-ms-transform-origin: 50% 50%;
		-moz-transform-origin: 50% 50%;
		transform-origin: 50% 50%;
	}

	.menu-icon {
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
	}

	.menu-icon:before {
		top: -9px;
		-webkit-transition: -webkit-transform .3s ease-out;
		transition: -webkit-transform .3s ease-out;
		transition: transform .3s ease-out;
		transition: transform .3s ease-out, -webkit-transform .3s ease-out;
	}

	.menu-icon:after {
		bottom: -9px;
		-webkit-transition: -webkit-transform .3s ease-out;
		transition: -webkit-transform .3s ease-out;
		transition: transform .3s ease-out;
		transition: transform .3s ease-out, -webkit-transform .3s ease-out;
	}

	.page-open-slidemenu .menu-icon {
		background-color: transparent;
	}

	.page-open-slidemenu .menu-icon:before {
		-webkit-transform: translateY(9px) rotate(45deg);
		transform: translateY(9px) rotate(45deg);
	}

	.page-open-slidemenu .menu-icon:after {
		-webkit-transform: translateY(-9px) rotate(-45deg);
		transform: translateY(-9px) rotate(-45deg);
	}

	/* グローバルナビ */
	.header-block .gnav {
		position: fixed;
		top: -100vh;
		display: flex;
		flex-flow: column;
		width: 100%;
		background: #fff;
		visibility: hidden;
		padding: 0;
		-webkit-transition: 0.3s ease-in-out;
		transition: 0.3s ease-in-out;
	}

	/* 開いたら固定 */
	.page-open-slidemenu .header-block {
		position: fixed;
		top: 0;
		background: #fff;
	}

	.page-open-slidemenu .header-block.is-before-scrolled {
		top: 0;
	}

	.page-open-slidemenu .header-block .gnav {
		top: 60px;
		max-height: 100vh;
		height: 100vh;
		max-height: -webkit-calc(100vh - 60px);
		max-height: calc(100vh - 60px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		opacity: 1;
		visibility: visible;
		-webkit-transition: 0.3s ease-in-out;
		transition: 0.3s ease-in-out;
	}

	.page-open-slidemenu .header-block.is-before-scrolled .gnav {
		max-height: -webkit-calc(100vh - 60px);
		max-height: calc(100vh - 60px);
	}

	.page-open-slidemenu .header-block .gnav .header-menu > li {
		position: relative;
		text-align: left;
		border-bottom: 1px solid #dddddd;
		z-index: 1;
	}

	.header-block .gnav .header-menu {
		padding: 40px 0;
	}

	.header-block .gnav .header-menu > li > p {
		position: relative;
		width: 85%;
		margin: 0 auto;
	}

	.header-block .gnav .header-menu > li > p a {
		color: #1A1A1A;
		font-size: 1.6rem !important;
		font-weight: bold;
		padding: 20px
	}

	.header-block .navigation-block {
		margin-left: 5%;
		margin-right: 5%;
	}


	/* 開閉ボタン 開く処理 */
	.header-block .gnav > .inBlock > p {
		display: none;
	}

	.header-block .gnav .header-menu > li a:not(.btn-submenu-toggle) {
		position: relative;
		display: block;
		width: 100%;
		padding: 20px 0;
		font-size: 1.5rem;
		line-height: 1.5;
		text-decoration: none;
	}

	/* ------------------------------
	 プルダウンメニュー部分
	------------------------------ */
	.header-block .header-navigation .gnav > ul > li > .pulldown {
		position: relative;
		display: none;
		background-color: #f5f5f5;
		overflow: hidden;
		transition: none;
	}

	.header-block .header-navigation .gnav > ul > li > .pulldown > li {
		width: 85%;
		margin: 0 auto;
	}

	.header-block .header-navigation .gnav > ul > li > .pulldown > li:not(:last-child) {
		border-bottom: solid 1px rgba(201, 208, 212, 0.5);
	}

	.header-block .header-navigation .gnav > ul > li > .pulldown > li > a {
		position: relative;
		display: block;
		width: 100%;
		padding: 17px 0;
		font-size: 1.5rem;
		font-weight: bold;
		color: #333333;
	}

	.header-block .gnav .header-menu > li > .pulldown li a::before {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		right: 3px;
		margin: auto;
		width: 14px;
		height: 9px;
		background: url(../img/arrow_menu.svg) no-repeat;
	}

	/* トグルボタン */
	.btn-submenu-toggle {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		display: block;
		width: 24px;
		height: 24px;
		margin: auto;
		cursor: pointer;
		background: #00327b;
		border-radius: 6px;
		z-index: 10;
	}

	.btn-submenu-toggle::before,
	.btn-submenu-toggle::after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		display: block;
		margin: auto;
		background-color: #fff;
		-webkit-transition: background-color .2s ease-in-out;
		transition: background-color .2s ease-in-out;
	}

	.btn-submenu-toggle::before {
		width: 2px;
		height: 10px;
	}

	.btn-submenu-toggle::after {
		width: 10px;
		height: 2px;
	}

	.is-open .btn-submenu-toggle::before {
		background-color: transparent;
	}

	/* 採用情報・お問合せボタン */
	.header-block .header-navigation .btnBox {
		width: 85%;
		height: auto;
		margin: 0 auto;
		gap: 0 12px;
		padding-right: 0;
	}

	.header-block .header-navigation .btnBox>a {
		width: 100%;
		font-size: 1.6rem;
		padding: 22px 0;
		border-radius: 5px;
	}
}

/* ------------------------------
 コンテンツ
------------------------------ */
.menu-layer {
	display: none;
}

.contentsHome,
.contentsTop,
.contents {
	position: relative;
	width: 100%;
	text-align: left;
	z-index: 1;
}

/* 横幅1140px */
.inBlock {
	text-align: left;
}

.contentsTop .inBlock,
.contents .inBlock {
	margin: 0 auto;
}

/* 背景あり */
.bgBlock {
	background-color: #f5f3ee;
}

/* 入力 */
.contents>.inBlock {
	position: relative;
}

.contents>.inBlock>*:last-child {
	margin-bottom: 0;
}

/* ------------------------------
 コンテンツ（PC）
------------------------------ */
@media print,screen and (min-width: 768px) {
	html,
	body {
		background-color: #fff;
	}

	.site {
		min-width: 1240px;
		margin: 0 auto;
		background-color: #fff;
	}

	.contentsHome,
	.contentsTop {
		min-width: 1240px;
	}

	.contentsTop,
	.contents {
		margin-top: 100px;
		padding-bottom: 100px;
	}

	/* 横幅1140px */
	.inBlock {
		width: 1140px;
		margin-left: auto;
		margin-right: auto;
	}

	.contents .inBlock::after {
		content: "";
		display: block;
		clear: both;
	}

	.cms_block {
		width: 1140px;
		margin-left: auto;
		margin-right: auto;
	}

	.cms_block.wide {
		width: 100%;
	}

	.cms_block.wide .cms_text {
		width: 1140px;
		margin-left: auto;
		margin-right: auto;
	}
}

/* ------------------------------
 コンテンツ（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.site {
		min-width: 320px;
	}

	#bggr {
		position: relative;
		z-index: 1;
	}

	.menu-layer {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: transparent;
		z-index: 10;
	}

	.page-open-slidemenu .menu-layer {
		display: block;
	}

	.page-open-slidemenu {
		overflow: hidden;
	}

	.contentsHome,
	.contentsTop,
	.contents {
		min-width: 320px;
	}

	.contentsTop,
	.contents {
		margin: 60px 0 0;
		padding-bottom: 60px;
	}

	.contentsTop .inBlock,
	.contents .inBlock {
		margin: 0 8%;
	}
}
/* ------------------------------
 お問い合わせ
------------------------------ */
.contactBlock {
	position: absolute;
	top: -342px;
	left: 0;
	right: 0;
	padding: 70px 60px;
	background: url('/img/contact_img.jpg') no-repeat;
	border-radius: 20px;
	z-index: 1;
}

.contactBlock .flexBox {
	justify-content: space-between;
}

.contactBlock .flexBox p {
	font-size: 1.8rem;
	font-weight: 500;
}

.contactBlock .mailbtn {
	margin-bottom: 40px;
}

.contactBlock .mailbtn a {
	width: 434px;
	max-width: 100%;
}

.contactBlock h2 .en {
	display: block;
	font-family: "Oswald", sans-serif;
	line-height: 1;
}

.contactBlock h2 .ja {
	display: block;
	color: #00327b;
	margin-bottom: 40px;
	line-height: 1;
	font-weight: 700;
}

.contactBlock h2 .ja::before {
	display: inline-block;
	content: "●";
	color: #0a7fd3;
	font-size: 40%;
	vertical-align: middle;
	margin-right: 6px;
	margin-bottom: 6px;
}

.contactBlock .flexBox .contactform p{
	font-weight: 700;
}

.contactBlock .flexBox .contactform a.tel,
.contactBlock .flexBox .contactform p.fax {
	font-size: 2.8rem;
	font-family: "Oswald", sans-serif;
	font-weight: 400;
	color: #00327b;
	line-height: 1;
	letter-spacing: 0.2px;
}

/* ------------------------------
 PC用
------------------------------ */
@media print,screen and (min-width:768px) {
	.contactBlock .contactarea {
		width: 500px;
	}

	.contactBlock h2 .en {
		font-size: 5.8rem;
	}

	.contactBlock h2 .ja {
		font-size: 2.1rem;
	}

	.contactBlock .sp-only {
		display: none;
	}

	.contactBlock .flexBox .contactform p {
		font-size: 2rem;
		line-height: 1;
	}

	.contactBlock .contactform a.tel span {
		margin: 0 12px;
	}

	.contactBlock .contactform .telfax {
		display: flex;
	}

	.contactBlock .mailbtn a {
		font-size: 2rem;
		padding: 33px 100px 33px 30px;
		width: 100%;
	}
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.contactBlock {
		top: -569px;
		margin: 0 8%;
		padding: 54px 8% 48px;
		background: url('/img/contact_img_sp.jpg') no-repeat center;
		background-size: cover;
		border-radius: 10px;
	}

	.contactBlock .flexBox {
		display: block !important;
	}

	.contactBlock .flexBox p {
		font-size: 1.6rem;
	}

	.contactBlock h2 {
		width: 100%;
	}

	.contactBlock h2::before {
		width: 66px;
		height: 66px;
	}

	.contactBlock h2 .en {
		font-size: 3.6rem;
		margin-bottom: 15px;
	}

	.contactBlock h2 .ja {
		font-size: 1.9rem;
		margin-bottom: 30px;
	}

	.contactBlock p {
		margin-bottom: 35px;
		font-weight: 400;
	}

	.contactBlock .contactform .telfax {
		display: block;
		text-align: center;
	}

	.contactBlock .flexBox .contactform p {
		text-align: center;
		text-align-last: center;
	}

	.contactBlock .contactform h2 {
		text-align: center;
	}

	.contactBlock .contactform p.fax {
		margin-bottom: 0;
	}

	.contactBlock .flexBox .contactform a.tel {
		line-height: 1.5;
		display: block;
		margin-bottom: 10px;
	}

	.contactBlock .contactform a.tel span {
		display: none;
	}

	.contactBlock .mailbtn {
		margin-bottom: 37px;
	}

	.contactBlock .mailbtn a,
	a .mailbtn {
		display: block;
		width: 100%;
	}
}
/* ------------------------------
 フッター
------------------------------ */
.footer {
	background: #f4f5f6;
}

.footerBox {
	position: relative;
	width: 1140px;
	margin-left: auto;
	margin-right: auto;
}

/*ロゴと住所*/
.footerAdd {
	font-size: 1.5rem;
	line-height: 1.8;
}

/*フッターナビ*/
.footerNav > ul {
	line-height: 2;
}

/* コピーライト */
.copyright {
	font-size: 1.2rem;
	font-family: "Oswald", sans-serif;
	font-weight: 400;
	color: #a5a5a5;
}

/* ------------------------------
 フッター（PC）
------------------------------ */
@media print,screen and (min-width: 768px) {
	.footer {
		margin-top: 172px;
		padding-top: 170px;
	}

	.footerBox {
		padding: 80px 0 70px;
	}

	.footerBox .inBlock {
		display: flex;
		justify-content: space-between;
		width: 1140px;
		margin: auto;
	}

	/*ロゴと住所*/
	.footerInfoBlock {
		width: 340px;
	}

	.footerLogo {
		width: 250px;
		margin-bottom: 30px;
	}

	.footerAdd {
		margin-bottom: 20px;
	}

	/*フッターナビ*/
	.footerNav,
	.footerNav.pc {
		display: flex !important;
		justify-content: flex-end;
	}

	.footerNav .footernav-sp {
		display: none !important;
	}

	.footerNav > ul:not(:last-child) {
		margin-right: 40px;
	}

	.footerNav > ul > li:not(:last-child) {
		margin-bottom: 4px;
	}

	.footerNav > ul > li > p a {
		position: relative;
		font-size: 1.6rem;
		font-weight: 700;
	}

	.footerNav > ul > li > p a::before {
		display: inline-block;
		content: "●";
		color: #0a7fd3;
		vertical-align: middle;
		margin-right: 5px;
		margin-top: -2px;
		font-size: 40%;
	}

	.footerNav > ul > li > p a[target="_blank"]::after {
		content: "";
		position: absolute;
		top: -9px;
		right: -36px;
		display: inline-block;
		width: 44px;
		height: 44px;
		background: url('../img/icon_blank.svg') no-repeat;
	}

	.footerNav > ul > li > ul {
		font-size: 1.5rem;
		padding-left: 1rem;
	}

	.footerNav > ul > li > ul > li > a {
		color: #444444;
	}

	/* コピーライト */
	.copyright {
		width: 1140px;
		margin: auto;
	}

	.copyright.sp {
		display: none;
	}
}
/* ------------------------------
 フッター（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.footer {
		margin-top: 280px;
		padding-top: 289px;
	}

	.footerBox {
		max-width: 100%;
		padding-top: 40px;
	}

	/*ロゴと住所*/
	.footerLogo {
		width: 200px;
		height: 41px;
		margin: 0 auto;
	}

	.footerAdd {
		width: fit-content;
		margin: 0 auto;
		padding: 25px 0;
		text-box-trim: trim-both;
	}

	/*フッターナビ*/
	.footerNav ul {
		text-align: center;
		font-weight: 700;
	}

	.footerNav > ul {
		line-height: 1;
	}

	.footerNav li {
		display: inline-block;
		font-size: 1.3rem;
		line-height: 1;
	}

	.footerNav ul .pc,
	.footerNav li .pc {
		display: none;
	}

	.footerNav li:not(:last-child) {
		margin-right: 10px;
		padding-right: 15px;
		border-right: 1px solid #1A1A1A;
	}

	/* コピーライト */
	.copyright {
		font-size: 1.1rem;
		text-align: center;
		padding: 26px 0 33px;
	}

	.copyright.pc {
		display: none;
	}
}

/* 製品紹介準備中 */
.preparation{
	font-size: 2.2rem;
	text-align: center;
	margin-top: 100px;
}


/* ------------------------------
 ページトップ（PC）
------------------------------ */
/* -- PAGE TOP -- */
.js-btn-pagetop {
	display: block;
	position: fixed;
	bottom: 40px;
	right: 40px;
	width: 60px;
	height: 60px;
	cursor: pointer;
	background-color: #00327b;
	border-radius: 5px;
	transition: background-color 0.3s ease 0s;
	z-index: 1000;
}

.js-btn-pagetop span {
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	width: 60px;
	height: 60px;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	color: #fff;
}

.js-btn-pagetop span::before {
	content: "";
	display: inline-block;
	width: 16px;
	height: 22px;
	background: url('../img/icon_arrow_w.svg') no-repeat;
	vertical-align: middle;
}

/* ------------------------------
 ページトップ（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	/* -- PAGE TOP -- */
	.js-btn-pagetop {
		right: 3%;
		bottom: 20px;
		width: 40px;
		height: 40px;
	}

	.js-btn-pagetop span {
		width: 40px;
		height: 40px;
	}

	.js-btn-pagetop span::before {
		width: 12px;
		height: 16px;
		background-size: cover;
	}
}
/* ------------------------------
 印刷用コード
------------------------------ */
@media print {
	.header-area {
		position: relative;
	}
	.contentsTop,
	.contents {
		margin-top: 0;
	}
	.contentsTop .mainimg img {
		height: 700px;
	}
}
@media print {
	body {
		-webkit-print-color-adjust: exact;
	}
	html,
	body {
		width: 1600px;
		margin: 0;
	}
	@page {
		margin: 0;
	}
	@page :left {
		margin: 0;
	}
	@page :right {
		margin: 0;
	}
	@page :first {
		margin-top: 0;
	}
}