@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,700;1,14..32,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700&subset=japanese");
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap');

/* ****************************************************************************

　目次

-------------------------------------------------------------------------------

　01. 基本
　02.ヘッダー（サブ）

******************************************************************************* */
body {
	font-family: 'Noto Sans JP', "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", Arial, Helvetica, sans-serif;
}
/* ==

　01. 基本

=============================================================================== */
#main .topicPath {
	background-color: #fff;
	color: #333;
}
#main .topicPath li a{
	color: #333;
}
#footerPagetop .pageTop {
	z-index: 6;
}

.container{
	min-width:950px;
	font-size:1rem;
	overflow: hidden;
}
/* arrow */
.arrow{
	position:relative;
	display: inline-block;
	padding-right:45px;
}
.arrow::after{
  content: '';
  position: absolute;
  right: 15px;
  top: 50%;
	transform: translateY(-50%) ;
  width: 20px;
  height: 14.15px;
	background:url(/business/factory/common/images/ico_arw.svg) no-repeat;
	background-size:20px 14.15px;
}
.fnFade{transition: opacity 0.4s ease, transform 0.4s ease;	}
.fnFade:hover{opacity: 0.7;}
/* ==

　02.ヘッダー（サブ）

=============================================================================== */
/* headerSub
------------------------------------------------------------------------------- */
#headerSub {
	min-width:950px;
	width: 100%;
	height: 55px;
	top: 0;
	background: #fff;
	border-bottom: 1px solid #e6e6e6;
	box-sizing: border-box;
	padding: 0 0 0 10px;
}
#headerSub.fix {
	width: 100%;
	height: 55px;	
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
}
#headerSub.fix ~ .container {
	padding-top: 55px;
}
.spNavTrigger {
	display: none;
}
#headerSub .navHeading {
	display: none;
}
#headerSub .nav {
	max-width: 1240px;
	height: 100%;
	margin: 0 auto;
	box-shadow: none;
	box-sizing: border-box;
	position: relative;
	display: flex;
	align-items: center;
}
#headerSub.headerSub_factory .nav .nav01 {
	list-style: none;
	display: flex;
	align-items: center;
	height: 100%;
	width: 100%;
	justify-content: flex-start;
	gap: 0;
}
#headerSub .nav .nav01 > li {
	display: flex;
	align-items: center;
	height: 100%;
	position: relative;
}
#headerSub .nav .nav01 > li:nth-of-type(1) {
	margin-right: 4%;
	flex-shrink: 0;
	width: auto;
}
#headerSub .nav .nav01 > li:nth-of-type(2),
#headerSub .nav .nav01 > li:nth-of-type(3),
#headerSub .nav .nav01 > li:nth-of-type(4),
#headerSub .nav .nav01 > li:nth-of-type(5),
#headerSub .nav .nav01 > li:nth-of-type(6) {
	margin-right: 2%;
	width: auto;
}
#headerSub .nav .nav01 > li > a,
#headerSub .nav .nav01 > li > span.fnAcTrg {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	border-bottom: 2px solid transparent;
	color: #000;
	text-decoration: none;
	cursor: pointer;
	font-weight:500;
	font-size:15px;
}
#headerSub .nav .nav01 > li > a:hover{
	color:#062A5E;
}
#headerSub .nav .nav01 > li > span.fnAcTrg{
	padding: 0 20px 0 2px;
}
#headerSub .nav .nav01 > li > span.fnAcTrg::after{
  content: '';
	position: absolute;
  display: inline-block;
	right:0;
  width: 7px;
  height: 7px;
  border-right: 2px solid #b6b6b6;
  border-bottom: 2px solid #b6b6b6;
  transform: rotate(45deg);
}
#headerSub .nav .nav01 > li:nth-of-type(1) > a {
	font-size: 24px;
	font-weight: 700;
	color: #111;
}

#headerSub .nav .nav02 {
	float:right;
	width: 200px;
	height: 100%;
}
#headerSub .nav .nav02Soudan {
	height: 100%;
}
#headerSub .nav .nav02Soudan > a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	background: #062A5E;
	color: #fff;
	text-decoration: none;
	font-size: 16px;
	font-weight: bold;
	white-space: nowrap;
	width:200px;
}
.nav01 > li:nth-child(-n+4) > a {
	border-bottom: 1px solid #ccc;
}
#headerSub .nav .nav02Soudan > a:link span, #headerSub .nav .nav02Soudan > a:visited span{
	color:#fff;
}


/* ドロップダウン
------------------------------------------------------------------------------- */
#headerSub .nav .nav01 > li.headerSubTenant {
	position: relative;
}
.dropArea {
	position: absolute;
	top: 45px;
	left: 0;
	z-index: 200;
	display:none;
	white-space: nowrap;
	block:inline-block;
	background: rgba(255, 255, 255, 0.7);
	border:1px solid #ccc;
	padding:5px 0;
}
.dropAreaBlc {
	padding: 0;
}
.dropAreaInner ul {
	list-style: none;
	padding: 0;
	margin: 0;
	min-width:180px;
}

.dropAreaInner ul li a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 5px 50px 5px 10px;
	font-size: 15px;
	font-weight: 500;
	color: #333;
	text-decoration: none;
	background: transparent;
	transition: background 0.2s;
}
.dropAreaInner ul li a:hover {
	background: rgba(0, 0, 0, 0.2);
}
.dropAreaInner ul li a::after {
  content: '';
  position: absolute;
  right: 15px;
  top: 50%;
	transform: translateY(-50%) ;
  width: 20px;
  height: 14.15px;
	background:url(/business/factory/common/images/ico_arw.svg) no-repeat;
	background-size:20px 14.15px;
}



/* topicPath
------------------------------------------------------------------------------- */
.container .topicPath{
	background:#fff;
	padding:0;
}
.container .topicPath p {top: 15px;}
.container .topicPath ul {
	display: flex;
	align-items: center;
	max-width: 1240px;
	height: 43px;
	margin: 0 auto;
	padding: 0 10px;
}
.container .topicPath ul li,
.container .topicPath ul li a {
	font-size:0.75rem;
	color:#333;
	background-image:none;
	padding-right:0;
}
.container .topicPath ul li+li::before {
	content: "　＞　";
	font-size:0.5rem;
}

/* category-nav
------------------------------------------------------------------------------- */
.category-nav{padding:0 10px;}
.category-nav_inner{
	max-width:950px;
	margin:0 auto;
}
.category_tit{
	font-size:2.5rem;
	color:#000;
	text-align:center;
	line-height:1.2;
	margin-bottom:30px;
}
.category_tit span{
	font-size:1.25rem;
	color:#8E8E8E;
	display:block;
	margin-top:10px;
}
.category-nav nav{
	background:#f5f5f5;
	margin-bottom:20px;
	padding:20px;
	box-sizing: border-box;
}
.category-nav__top {
  margin-top: 14px;

}
.category-nav__top a {
  font-size: 16px;
  font-weight: bold;
	text-decoration: none;
	color:#1f1f1f;
}
.category-nav__list {
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
  list-style: none;
  padding: 15px 0;
}
.category-nav__list a{
  font-size: 14px;
	text-decoration: none;
	color:#1f1f1f;	
}
.category-nav__banners {
  display: flex;
  gap: 20px;
  margin-top: 32px;
}
.category-nav__banner {
  position: relative;
  flex: 1;
  height: 160px;
  overflow: hidden;
  background: #ccc;
	min-width: 0;
}
.category-nav__banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.category-nav__banner a {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
  font-size: 112%;
  font-weight: bold;
	text-decoration: none;
}

.category-nav__banner a span{
	position: relative;
	display: inline-block;
	padding:10px 45px 10px 20px;
	background: rgba(255, 255, 255, 0.7);
}
.category-nav__banner a span::after{
  content: '';
  position: absolute;
  right: 15px;
  top: 50%;
	transform: translateY(-50%) ;
  width: 20px;
  height: 14.15px;
	background:url(/business/factory/common/images/ico_arw.svg) no-repeat;
	background-size:20px 14.15px;
}


/* cta
------------------------------------------------------------------------------- */
.contact_cta {
  padding: 70px 0;
	background:#efefef url(/business/factory/common/images/bg01.png) no-repeat 0 0;
	background-size:cover;
}
.contact_inner{
	max-width:950px;
	margin:0 auto;
}
.contact-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
	width:100%;
  max-width: 470px;
  background: #000;
  color: #fff;
	font-size:150%;
  border-radius: 10px;
	margin:0 auto;
  padding: 20px 10px;
	text-decoration: none;
	box-sizing: border-box;
}
.contact-btn::after {
  content: '';
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  border-top: 2px solid #ccc;
  border-right: 2px solid #ccc;
}



