@charset "UTF-8";
/*!----------------------------------------------------------------------------------------------------------------------
●● Font
*/
*, *::after, *::before {
	box-sizing: border-box;
}
@font-face {
	font-family: "Original Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 100 !important;
}
@font-face {
	font-family: "Original Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 200 !important;
}
@font-face {
	font-family: "Original Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 300 !important;
}
@font-face {
	font-family: "Original Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 400 !important;
}
@font-face {
	font-family: "Original Yu Gothic";
	src: local("Yu Gothic Bold");
	font-weight: bold !important;
}
html, body {
	width: 100% !important;
	overflow-x: hidden !important;
	overflow: -moz-scrollbars-none !important;
}
body {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Sans", "Noto Sans CJK JP", "Original Yu Gothic", "Yu Gothic", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Sans Emoji" !important;
	color: #151515 !important;
	/*background-color: #ffffff;*/
	overfrow: hidden;
	line-height: 1.5;
	display: flex;
	/*	justify-content: center;*/
	/*align-items: center;*/
	width: 100% !important;
	height: 100% !important;
	scrollbar-width: none !important;
}
* {
	letter-spacing: 0.05em !important;
}
* {
	text-align: justify !important;
}
/*!------------------------------------------------------------------
[ 背景斜めループスライドアニメーション ]
*/
.bg {
	animation: slide 5s ease-in-out infinite alternate;
	background-image: linear-gradient(-60deg, #ffffff 50%, #fff2d0 50%);
	bottom: 0;
	left: -50%;
	opacity: 0.5;
	position: fixed;
	right: -50%;
	top: 0;
	z-index: -1;
}
.bg2 {
	animation-direction: alternate-reverse;
	animation-duration: 6s;
}
.bg3 {
	animation-duration: 7s;
}
@keyframes slide {
	0% {
		transform: translateX(-25%);
	}
	100% {
		transform: translateX(25%);
	}
}
/*!----------------------------------------------------------------------------------------------------------------------
●● nav
*/
/*!------------------------------★
 992px以上
----------------------------------*/
@media screen and (min-width: 992px) {
	#menu {
		line-height: 1.2 !important;
		font-weight: bold !important;
	}
	#menu a {
		position: relative;
		display: inline-block;
		text-decoration: none;
		font-weight: bold !important;
	}
	#menu a::after {
		color: #ffb52f !important;
		position: absolute;
		top: -2px;
		left: 0;
		content: '';
		width: 100%;
		height: 2px;
		background: #ffb52f;
		transform: scale(0, 2);
		transform-origin: center top;
		transition: transform .3s;
	}
	#menu a:hover {
		color: #ffb52f !important;
	}
	#menu a:hover::after {
		color: #ffb52f !important;
		transform: scale(1, 2);
	}
	body.home a.nav_home, body.brand a.nav_brand, body.company a.nav_company, body.recruit a.nav_recruit, body.contact a.nav_contact {
		color: #ffb52f !important;
		top: -2px !important;
		content: '' !important;
		/*height: 2px !important;*/
		border-top: #ffb52f 4px solid !important;
		padding: 6px 16px 8px 16px !important;
	}
	body.home a.nav_home::after, body.brand a.nav_brand::after, body.company a.nav_company::after, body.recruit a.nav_recruit::after, body.contact a.nav_contact::after {
		background: none !important;
		transform: none !important;
		transform-origin: none !important;
		transition: none !important;
	}
}
/*!------------------------------
 991px以下
----------------------------------*/
@media screen and (max-width: 991px) {
	.nbtn {
		background: transparent url("../img/h_navbtn1.png") no-repeat 0 0;
		display: block;
		width: 51px;
		height: 51px;
		position: fixed !important; /*absolute*/
		top: 10px;
		left: 10px;
		cursor: pointer;
		z-index: 200 !important;
	}
	.peke {
		background-position: -51px 0;
	}
	#topmain {
		z-index: 999 !important;
	}
	.drawr {
		display: none;
		background-color: rgba(0, 0, 0, 0.85);
		position: fixed !important;
		top: 0;
		left: 0;
		width: 200px;
		padding: 80px 0 100% 0 !important;
		z-index: 100 !important;
		height: 100% !important;
		flex-flow: column nowrap;
	}
	#menu li {
		width: 200px !important;
	}
	#menu a {
		display: block;
		padding: 14px 0 !important;
		font-size: 105%;
		white-space: nowrap;
	}
	#menu a::after {
		color: #ffb52f !important;
		position: absolute;
		top: -2px;
		left: 0;
		content: '';
		width: 100%;
		height: 2px;
	}
	#menu a:link {
		color: #ffffff !important;
		text-decoration: none !important;
	}
	#menu a:visited {
		color: #ffffff;
		text-decoration: none !important;
	}
	#menu li a:hover {
		color: #ffb52f !important;
		text-decoration: none !important;
	}
	body.home a.nav_home, body.brand a.nav_brand, body.company a.nav_company, body.recruit a.nav_recruit, body.contact a.nav_contact {
		height: 100% !important;
		padding: 14px 0 !important;
		color: #ffb52f !important;
		top: -2px !important;
		bottom: -2px !important;
		content: '' !important;
		border-top: #ffb52f 2px solid !important;
		border-bottom: #ffb52f 2px solid !important;
	}
	body.home a.nav_home,
	body.home a.nav_home::after {
		color: #ffb52f !important;
	}
}
/*!----------------------------------------------------------------------------------------------------------------------
●● パンくず
*/
.breadcrumb {
	background-color: rgba(0, 0, 0, 0) !important;
	margin-bottom: 60px !important;
}
/*!----------------------------------------------------------------------------------------------------------------------
●● FOOTER
*/
#footer {
	border-top: 1px solid #D5D5D5;
	margin-top: 7em;
	padding-bottom: 0 !important;
	overflow: hidden;
}
#footer a {
	text-decoration: none;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
	transition: 0.3s;
}
#footer a:hover {
	color: #ffb52f;
	text-decoration: underline;
}
#footerfix {
	overflow: hidden;
	position: fixed !important;
	bottom: 0 !important;
	width: 100% !important;
	background-color: rgba(37, 37, 37, 0.9) !important;
	transition: 1.5s !important;
	z-index: 999 !important;
}
#footerfix li {
	padding: 0 !important;
	margin: 0 1rem !important;
}
#footerfix img {
	overflow: hidden !important;
	max-width: 100% !important;
	height: auto;
}
#footerfix .flogo1 img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}
@media screen and (max-width: 576px) {
	#footerfix li {
		padding: 0.5rem 0.3rem !important;
	}
	#footerfix li {
		padding: 0 !important;
		margin: 0 0.3rem !important;
	}
	#footer3 {
		border-top: 1px solid #D5D5D5 !important;
		margin-top: 1em;
		padding-top: 0.5em;
		padding-bottom: 1em;
	}
	.fimg {
		text-align: center !important;
	}
}
@media screen and (max-width: 991px) {
	#footer2 {
		padding: 0 0 3rem 0;
		display: block;
	}
	#footer3 {
		border-top: 1px solid #D5D5D5;
		margin-top: 1em;
		padding-top: 0.5em;
		padding-bottom: 4.5em;
	}
}
@media screen and (min-width: 992px) {
	.fimg {
		text-align: left !important;
	}
	#footer3 {
		border-top: 1px solid #D5D5D5;
		margin-top: 1em;
		padding-top: 0.5em;
		padding-bottom: 5em;
	}
}
/*!----------------------------------------------------------------------------------------------------------------------
●● ページTOPに戻る
*/
#pageTop {
	position: fixed;
	z-index: 9999;
	bottom: 70px !important;
	right: 5px !important;
}
#pageTop a {
	display: block;
	text-decoration: none;
	color: #515151;
	padding: 6px;
	font-weight: bold;
	/* background-color: #47c79d;*/
}
#pageTop a:hover {
	color: #000000;
}
@media screen and (min-width: 992px) {
	#pageTop {
		position: fixed;
		z-index: 9999;
		bottom: 80px !important;
		right: 20px !important;
	}
}
/*!----------------------------------------------------------------------------------------------------------------------
●● ボタンアニメーション(斜めから切り替わり)
*/
a.animated-button:link, a.animated-button:visited {
	position: relative;
	/*display: block;*/
	/*margin: 30px auto 0;*/
	padding: 8px 20px;
	/*color: #fff;*/
	/*font-size:14px;*/
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	/*text-transform: uppercase;*/
	overflow: hidden;
	letter-spacing: .08em;
	border-radius: 0;
	/* text-shadow: 0 0 1px rgba(0, 0, 0, 0.2), 0 1px 0 rgba(0, 0, 0, 0.2);*/
	-webkit-transition: all 1s ease !important;
	-moz-transition: all 1s ease !important;
	-o-transition: all 1s ease !important;
	transition: all 1s ease !important;
}
a.animated-button:link:after, a.animated-button:visited:after {
	content: "";
	position: absolute;
	height: 0%;
	left: 50%;
	top: 50%;
	width: 150%;
	z-index: -1;
	-webkit-transition: all 0.5s ease 0s;
	-moz-transition: all 0.5s ease 0s;
	-o-transition: all 0.5s ease 0s;
	transition: all 0.5s ease 0s;
}
a.animated-button:link:hover, a.animated-button:visited:hover {
	color: #ffffff;
	/*text-shadow: none;*/
	border: 1px solid #151515;
}
a.animated-button:link:hover:after, a.animated-button:visited:hover:after {
	height: 450%;
}
a.animated-button.victoria-one {
	border: 1px solid #151515;
}
a.animated-button.victoria-one:after {
	background: #151515;
	-moz-transform: translateX(-50%) translateY(-50%) rotate(-25deg);
	-ms-transform: translateX(-50%) translateY(-50%) rotate(-25deg);
	-webkit-transform: translateX(-50%) translateY(-50%) rotate(-25deg);
	transform: translateX(-50%) translateY(-50%) rotate(-25deg);
}
/*!----------------------------------------------------------------------------------------------------------------------
●● 背景カラー※主に傾斜の背景カラー
*/
/*ベーシックオレンジ*/
.slopebox {
	position: relative;
	overflow: hidden;
	margin: -5% 0;
	padding: 10px 0;
}
.slopebox:before {
	background: #ffb52f;
	content: '';
	position: absolute;
	transform-origin: center;
	transform: rotate(-6deg);
	width: 200vw;
	height: calc(100% - 0.11 * (0.11 * 50% + 50vw) * 2);
	top: calc(0.11 * (0.11 * 50% + 50vw));
	left: -50vw;
	z-index: -1;
}

/*ダークオレンジ*/
.slopebox, .slopebox_overseas {
	overflow: hidden;
	padding: calc(100vw * 0.1) 0;
	position: relative;
	margin: -8% 0 0 0;
}
.slopebox_overseas:before {
	background: #ff912f;
	content: '';
	position: absolute;
	transform-origin: center;
	transform: rotate(-6deg);
	width: 200vw;
	height: calc(100% - 0.11 * (0.11 * 50% + 50vw) * 2);
	top: calc(0.11 * (0.11 * 50% + 50vw));
	left: -50vw;
	z-index: -1;
}
/*グレイ*/
.slopebox, .slopebox_gray {
	overflow: hidden;
	padding: calc(100vw * 0.1) 0;
	position: relative;
	margin: -8% 0 0 0;
}
.slopebox_gray:before {
	background: #ECECEC;
	content: '';
	position: absolute;
	transform-origin: center;
	transform: rotate(-6deg);
	width: 200vw;
	height: calc(100% - 0.11 * (0.11 * 50% + 50vw) * 2);
	top: calc(0.11 * (0.11 * 50% + 50vw));
	left: -50vw;
	z-index: -1;
}

/*!----------------------------------------------------------------------------------------------------------------------
●● 背景カラー※主に傾斜の背景カラーのタイプ
*/
.bgorange {
	background-color: #ffb52f; /*ベーシックオレンジ*/
}
.bgdarkorange {
	background-color: #ff912f; /*ダークオレンジ*/
}
.gray {
	background-color: #ff912f; /*グレイ*/
}
/*!----------------------------------------------------------------------------------------------------------------------
●● ALL ITEM（全ページ利用可）
*/
/*テキスト左のインデント合わせ*/
.txtindents {
	text-indent: -1em;
	padding-left: 1em;
	list-style: none;
	margin: 0 0 12px 0;
}
/*ページ内外リンクの上部余白を作る*/
.anchor {
	display: block;
	margin-top: -70px;
	padding-top: 70px;

}
h1 {
	letter-spacing: 0.008em !important;
	line-height: 0.8 !important;
	font-weight: 700 !important;
}
h2 {
	letter-spacing: 0.008em !important;
	font-weight: 700 !important;
}