@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Zen+Maru+Gothic:wght@300;400;500;700&display=swap');
@charset "UTF-8";

/*-----------------------------------------------------------
	base
-----------------------------------------------------------*/
body,html {
	font-size: 16px;
	font-family: "Noto Sans JP", sans-serif;
	line-height: 1.8;
	color:#000000;
}

* {
	box-sizing: border-box;
}

img {
	max-width: 100%;
}

a {
	text-decoration: none;
	color: #000;
}

sup {
	top: -1em;
	font-size: 55%;
}

.contentsSize {
	max-width: 1200px;
	padding: 0 30px;
	margin: 0 auto;
}

/*-------------
	pc
-------------*/
@media screen and (min-width: 751px) {

	a:hover img {
		opacity:0.7;
	}

	.spBr {
		display: none;
	}

}

/*-------------
	sp
-------------*/
@media screen and (max-width: 750px) {

	img {
		width: 100%;
	}

	.contentsSize {
		padding: 0 20px;
	}

	.pcBr {
		display: none;
	}

}

/* -------------------------------------------
	#headerWrap
--------------------------------------------*/
#headerWrap {
	font-size: 16px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 auto;
	padding: 20px 25px 22px 33px;
	box-sizing: border-box;
	position: fixed;
	top: 0;
	z-index: 10;
	background-color: #fff;
	width: 100%;
}

#headerWrap #headerLogo {
	max-width: 306px;
}

#headerWrap #headerNavi {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	flex: 1;
}

#headerWrap #headerNavi #headerNaviList {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	flex: 1;
}

#headerWrap #headerNavi #headerNaviList li {
	margin-left: 3.7%;
}

#headerWrap #headerNavi #headerNaviList li a {
	color: #000;
	font-weight: 500;
	transition: 0.3s;
}

#headerWrap #headerNavi #headerNaviList li a[target="_blank"] {
	background: url("/factory/images/icon_win.png") no-repeat right center;
	padding-right: 20px;
}

#headerWrap #headerNavi #headerNaviBtn {
	display: inline-block;
	margin-left: 2.8%;
}

#headerWrap #headerNavi #headerNaviBtn a {
	display: flex;
	align-items: center;
	color: #ee2214;
	border: solid 2px #ee2214;
	background-color: #fff;
	border-radius: 5px;
	padding: 5px 20px;
	font-size: 93%;
}

#headerWrap #headerNavi #headerNaviBtn a span {
	padding-right: 25px;
	background: url("/factory/images/icon_win_r.png") no-repeat right center;
	font-weight: 500;
}

#headerWrap #headerNavi #headerSpNaviList {
	display: none;
}

#headerWrap #menuBg {
	display: none;
}

/*-------------
	pc
-------------*/
@media screen and (min-width: 751px) {

	#headerWrap a img {
		transition: 0.3s;
	}

	#headerWrap a:hover img {
		opacity: 0.7;
	}

	#headerWrap #menuBtn {
		display: none;
	}

	#headerWrap #headerNavi #headerNaviList li a:hover,
	#headerWrap #headerNavi #headerNaviList li.current a {
		color: #eb3d09;
	}

	#headerWrap #headerNavi #headerNaviBtn a {
	transition: 0.3s;
	}

	#headerWrap #headerNavi #headerNaviBtn a:hover {
		opacity: 0.7;
	}

}

/*-------------
	res
-------------*/
@media screen and (max-width: 1200px) {

	#headerWrap {
		padding: 20px 1% 22px 1%;
	}

	#headerWrap #headerNavi #headerNaviList li,
	#headerWrap #headerNavi #headerNaviBtn {
		margin-left: 2%;
	}

	#headerWrap #headerNavi #headerNaviBtn a {
		padding: 5px 10px;
	}

	#headerWrap #headerNavi #headerNaviBtn a span {
		padding-right: 18px;
	}
}

@media screen and (max-width: 1050px) {

	#headerWrap #menuBtn {
		display: block;
		position: relative;
		width: 40px;
		height: 40px;
		border: 0;
		background: transparent;
		cursor: pointer;
	}

	#headerWrap #menuBtn span {
		position: absolute;
		top: calc(50% - 1px);
		left: calc(50% - 10px);
		width: 20px;
		height: 2px;
		background: #e60012;
		transition: .3s;
	}

	#headerWrap #menuBtn::before,
	#headerWrap #menuBtn::after {
		content: "";
		position: absolute;
		left: calc(50% - 10px);
		width: 20px;
		height: 2px;
		background: #e60012;
		transition: .3s;
	}

	#headerWrap #menuBtn::before {
		top: 12px;
	}

	#headerWrap #menuBtn::after {
		bottom: 12px;
	}

	#headerWrap #menuBtn.is-open {
		background-color: #e60012;
	}

	#headerWrap #menuBtn.is-open span {
		display: none;
	}

	#headerWrap #menuBtn.is-open::before,
	#headerWrap #menuBtn.is-open::after {
		background-color: #fff;
	}


	#headerWrap #menuBtn.is-open::before {
		transform: rotate(45deg);
		top: calc(50% - 1px);
	}

	#headerWrap #menuBtn.is-open::after {
		transform: rotate(-45deg);
		bottom: calc(50% - 1px);
	}

	#headerWrap #headerNavi {
		position: absolute;
		display: none;
		top: 86px;
		left: 0;
		right: 0;
		background-color: #fff;
		padding: 0 0 30px;
		border-top: solid 1px #e5e5e5;
		box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
		z-index: 10;
	}

	#headerWrap #headerNavi #headerNaviList {
		display: block;
	}

	#headerWrap #headerNavi #headerNaviList li {
		border-bottom: solid 1px #e5e5e5;
		margin-left: 0;
	}

	#headerWrap #headerNavi #headerNaviList li a {
		display: block;
		padding: 10px 20px;
		position: relative;
	}

	#headerWrap #headerNavi #headerNaviList li a[target="_blank"] {
		background-position: right 20px center;
	}

	#headerWrap #headerNavi #headerNaviList li a::after {
		content: "";
		display: block;
		width: 7px;
		height: 7px;
		border-right: solid 2px #d32d26;
		border-bottom: solid 2px #d32d26;
		transform: rotate(45deg) translateY(-50%);
		position: absolute;
		right: 24px;
		top: 50%;
	}

	#headerWrap #headerNavi #headerNaviList li a[target="_blank"]::after {
		display: none;
	}

	#headerWrap #headerNavi #headerNaviBtn {
		margin: 0;
		padding: 20px 0;
		display: flex;
		justify-content: center;
		border-bottom: solid 1px #e5e5e5;
	}

	#headerWrap #headerNavi #headerNaviBtn a {
		width: 300px;
		border-width: 1px;
		border-radius: 3px;
		padding: 8px 10px;
	}

	#headerWrap #headerNavi #headerNaviBtn a span {
		margin: 0 auto;
		padding-right: 25px;
	}

	#headerWrap #headerNavi #headerSpNaviList {
		display: block;
		font-size: 0.87rem;
		margin-top: 23px;
		padding: 0 35px;
	}
	#headerWrap #headerNavi #headerSpNaviList li {
	}

	#headerWrap #headerNavi #headerSpNaviList li:nth-child(n+2) {
		margin-top: 13px;
	}

	#headerWrap #headerNavi #headerSpNaviList li a[target="_blank"] {
		padding-right: 16px;
		background: url(/factory/images/icon_win.png) no-repeat right center / 12px;
	}

	#headerWrap #menuBg {
		position: fixed;
		top: 86px;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 9;
		background-color: #000;
		opacity: 0.3;
	}

	#headerWrap #menuBg.is-open {
		display: block;
	}

}

/*-------------
	sp
-------------*/
@media screen and (max-width: 750px) {

	#headerWrap {
		padding: 10px 12px 10px 20px;
	}

	#headerWrap #headerLogo {
		width: 227px;
	}
	
	#headerWrap #headerNavi,
	#headerWrap #menuBg {
		top: 60px;
	}

}

/*-----------------------------------------------------------
	common
-----------------------------------------------------------*/
/*-------------------------------------
	メイン
-------------------------------------*/
.mainWrap {
	padding-top: 86px;
}
/*-------------
	sp
-------------*/
@media screen and (max-width: 750px) {

	.mainWrap {
		padding-top: 60px;
	}

}

/*-------------------------------------
	タイトル
-------------------------------------*/
 .commonHead {
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 2.87rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	position: relative;
	z-index: 1;
	text-align: center;
	margin-top: 70px;
}

 .commonHead::after {
	content: "";
	display: block;
	width: 9px;
	height: 9px;
	margin: 7px auto 0;
	background: #e60012;
	border-radius: 50%;
	box-shadow: -27px 0 #e60012, 27px 0 #e60012;
 }

/*-------------
	sp
-------------*/
@media screen and (max-width: 750px) {

	.commonHead {
		font-size: 2rem;
		margin-top: 45px;
		line-height: 1.2;
	}
	
	.commonHead::after {
		width: 6px;
		height: 6px;
		margin-top: 15px;
		box-shadow: -18px 0 #e60012, 18px 0 #e60012;
	}

}

/*-------------------------------------
	テキスト
-------------------------------------*/
.commonIntroTxt {
	font-size: 1.12rem;
	text-align: center;
	margin-top: 40px;
}

/*-------------
	sp
-------------*/
@media screen and (max-width: 750px) {

	.commonIntroTxt {
		font-size: 1rem;
		text-align: left;
		margin-top: 30px;
	}
	
}


/*-------------------------------------
	ボタン
-------------------------------------*/
.commonBtn {
	margin: 60px auto 0;
	width: 345px;
}

.commonBtn a,
.commonBtn span {
	display: block;
	text-align: center;
	background-image: linear-gradient(90deg, #eb4109, #e8220d);
	border-radius: 40px;
	position: relative;
	color: #fff;
	font-weight: 500;
	padding: 18px 60px 21px;

}

.commonBtn a::before,
.commonBtn a::after,
.commonBtn span::before,
.commonBtn span::after {
	content: "";
	position: absolute;
}

.commonBtn a::before,
.commonBtn span::before {
	top: 0;
	bottom: 0;
	right: 60px;
	width: 1px;
	height: calc(100% - 36px);
	background-color: #fff;
	margin: auto;
}

.commonBtn a::after,
.commonBtn span::after {
	top: 50%;
	width: 7px;
	height: 7px;
	right: 20px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: translate(-50%, -50%);
	transform: translate(-60%, -50%) rotate(45deg);
}

.commonBtn a[target="_blank"]::after {
	width: 12px;
	height: 10px;
	background: url(/factory/images/icon_win.png) no-repeat center / contain;
	border: none;
	transform: translate(-60%, -50%) rotate(0);
}

/*-------------
	pc
-------------*/
@media screen and (min-width: 751px) {

	.commonBtn a,
	.commonBtn span {
		transition: 0.3s;
	}

	.commonBtn a:hover {
		opacity: 0.7;
	}

}

/*-------------
	sp
-------------*/
@media screen and (max-width: 750px) {

	.commonBtn {
		width: 305px;
		font-size: 0.93rem;
		margin-top: 26px;
	}

	.commonBtn a,
	.commonBtn span {
		padding: 17px 50px;
	}

	.commonBtn a::before,
	.commonBtn span::before {
		right: 50px;
	}

	.commonBtn a::after,
	.commonBtn span::after {
		right: 16px;
	}

}

/*-------------------------------------
	開閉
-------------------------------------*/
.accordionUnit {
	margin-top: 72px;
}

.accordionUnit + .accordionUnit {
	margin-top: 30px;
}

.accordionUnit .accordionHead {
	background-color: #edf2f1;
	padding: 13px 50px 13px 20px;
	font-size: 1.25rem;
	font-weight: 500;
	position: relative;
	cursor: pointer;
}

.accordionUnit .accordionHead::before,
.accordionUnit .accordionHead::after {
	content: "";
	position: absolute;
	right: 20px;
	top: calc(50% - 2px);
	width: 21px;
	height: 3px;
	background-color: #000;
}

.accordionUnit .accordionHead::after {
	transform: rotate(90deg);
}

.accordionUnit .accordionHead.is-open::after {
	transform: rotate(0);
}

.accordionUnit .accordionContents {
	display: none;
	background-color: #f7faf9;
	padding: 15px 70px 50px;
}

.accordionOpen .accordionHead {
	pointer-events: none;
}

.accordionOpen .accordionHead::before,
.accordionOpen .accordionHead::after {
	display: none;
}

.accordionOpen .accordionContents {
	display: block;
	padding-top: 32px;
}

/*-------------
	pc
-------------*/
@media screen and (min-width: 751px) {

	.accordionUnit .accordionHead {
		transition: 0.3s;
	}

	.accordionUnit .accordionHead:hover {
		opacity: 0.7;
	}

}

/*-------------
	sp
-------------*/
@media screen and (max-width: 750px) {

	.accordionUnit,
	.accordionUnit + .accordionUnit {
		margin-top: 22px;
	}

	.accordionUnit .accordionHead {
		font-size: 1rem;
		padding: 8px 32px 8px 16px;
	}

	.accordionUnit .accordionHead::before,
	.accordionUnit .accordionHead::after {
		right: 10px;
		width: 14px;
		height: 2px;
		top: calc(50% - 1px);
	}

	.accordionUnit .accordionContents {
		padding: 7px 20px 25px;
		font-size: 0.87rem;
	}

	.accordionOpen .accordionContents {
		padding-top: 14px;
	}
	
}


/*-------------------------------------
	テーブル
-------------------------------------*/
.commonTable {
	width: 100%;
}

.commonTable th,
.commonTable td {
	border-bottom: solid 1px #dee1e0;
	padding: 17px 0 13px;
}

.commonTable th {
	font-weight: 400;
}

/*-------------
	sp
-------------*/
@media screen and (max-width: 750px) {

	.commonTable th,
	.commonTable td {
		font-size: 0.87rem;
		padding: 7px 0 10px;
	}

}

/*-------------------------------------
	リスト
-------------------------------------*/
.dotedList li {
	position: relative;
	padding-left: 12px;
}

.dotedList li::before {
	content: "";
	width: 4px;
	height: 4px;
	border-radius: 50%;
	position: absolute;
	left: 2px;
	top: 0.8em;
	background-color: #000;
}


/*-----------------------------------------------------------
	mvSec
-----------------------------------------------------------*/
#mvSec {
	width: 100%;
	aspect-ratio: 1400 / 652;
	overflow: hidden;
	position: relative;
}

#mvSec #mvArea {
	position: absolute;
	inset: 0;
	overflow: hidden;
}

#mvSec #mvArea #mvInner {
	display: flex;
	height: 100%;
	width: max-content;
	animation: mvScroll 60s linear infinite;
}

#mvSec #mvArea #mvInner img {
	display: block;
	width: 345.857vw;
	height: 100%;
	max-width: none;
	flex-shrink: 0;
}

@keyframes mvScroll {
  from {
    transform: translateX(-20%);
  }

  to {
    transform: translateX(-70%);
  }
}

#mvSec h1 {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

#mvSec h1 img {
	object-fit: contain;
	width: 100%;
}

/*-------------
	sp
-------------*/
@media screen and (max-width: 750px) {

	#mvSec {
		width: 100%;
		aspect-ratio: 750 / 942;
	}

	/* 背景の流れるmv.jpg */
	#mvSec #mvArea {
		position: absolute;
		inset: 0;
		overflow: hidden;
	}

	#mvSec #mvArea #mvInner {
		display: flex;
		height: 100%;
		width: max-content;
		animation: mvScrollSP 60s linear infinite;
	}

	#mvSec #mvArea #mvInner img {
		display: block;
		height: 100%;
		width: auto;
		max-width: none;
		flex-shrink: 0;
	}

	/* 上に重ねるimg.png */
	#mvSec h1 {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		margin: 0;
	}

	#mvSec h1 img {
		display: block;
		width: 100%;
		height: auto;
	}

	@keyframes mvScrollSP {
		from {
			transform: translateX(-25%);
		}
		to {
			transform: translateX(-75%);
		}
	}
}

/*-----------------------------------------------------------
	businessSec
-----------------------------------------------------------*/
#businessSec #businessTable th {
	width: 145px;
}

/*-------------
	sp
-------------*/
@media screen and (max-width: 750px) {
	
	#businessSec #businessTable th,
	#businessSec #businessTable td {
		display: block;
	}

	#businessSec #businessTable th {
		width: 100%;
		border: none;
		padding: 7px 0 0;
	}

	#businessSec #businessTable td {
		padding: 4px 0 8px;
	}
}


/*-----------------------------------------------------------
	factorySec
-----------------------------------------------------------*/
#factorySec h2 {
	margin-top: 85px;
}

#factorySec .factoryArea {
	display: flex;
	justify-content: space-between;
	margin-top: 50px;
}

#factorySec .factoryArea + .factoryArea {
	margin-top: 100px;
}

#factorySec .factoryArea:nth-of-type(2n+1) {
	flex-direction: row-reverse;
}

#factorySec .factoryArea:nth-of-type(2) {
	margin-top: 100px;
}

#factorySec .factoryArea:nth-of-type(3) {
	margin-top: 80px;
}


#factorySec .factoryArea .factoryImgInner {
	width: 50%;
}

#factorySec .factoryArea .factoryTxtInner {
	width: 46%;
}

#factorySec .factoryArea .factoryTxtInner h3 {
	font-weight: 400;
	line-height: 1.6;
}

#factorySec .factoryArea .factoryTxtInner h3 span {
	display: block;
	font-size: 2rem;
}

#factorySec .factoryArea:nth-of-type(1) h3 {
	margin-top: 20px;
}

#factorySec .factoryArea .factoryTxtInner .commonTable {
	margin-top: 10px;
}

#factorySec .factoryArea .factoryTxtInner .commonTable th,
#factorySec .factoryArea .factoryTxtInner .commonTable td {
	padding: 8px 0 11px;
	border-top: solid 1px #dee1e0;
	border-bottom: none;
}

#factorySec .factoryArea .factoryTxtInner .commonTable th {
	width: 128px;
	font-size: 0.87rem;
}

#factorySec .factoryArea .factoryTxtInner .commonTable td a {
	color: #ee2214;
	padding-right: 17px;
	margin-left: 10px;
	border-bottom: solid 1px #ee2214;
}

#factorySec .factoryArea .factoryTxtInner .commonTable td a[target="_blank"] {
	background: url(/factory/images/icon_win_r.png) no-repeat right center / 12px;
}

#factorySec .accordionUnit {
	margin-top: 60px;
}

#factorySec .accordionUnit .accordionContents .commonTable th {
	width: 70px;
}

/*-------------
	pc
-------------*/
@media screen and (min-width: 751px) {

	#factorySec .factoryArea .factoryTxtInner .commonTable td a {
		transition: 0.3s;
	}

	#factorySec .factoryArea .factoryTxtInner .commonTable td a:hover {
		opacity: 0.7;
		border-bottom: none;
	}

}

/*-------------
	sp
-------------*/
@media screen and (max-width: 750px) {

	#factorySec h2 {
		margin-top: 45px;
	}

	#factorySec .factoryArea {
		display: block;
		margin-top: 20px;
	}

	#factorySec .factoryArea:nth-of-type(2),
	#factorySec .factoryArea:nth-of-type(3) {
		margin-top: 27px;
	}

	#factorySec .factoryArea .factoryImgInner,
	#factorySec .factoryArea .factoryTxtInner {
		width: 100%;
	}

	#factorySec .factoryArea .factoryTxtInner h3 {
		font-size: 0.93rem;
	}

	#factorySec .factoryArea .factoryTxtInner h3 span {
		font-size: 1.62rem;
	}

	#factorySec .factoryArea h3,
	#factorySec .factoryArea:nth-of-type(1) h3 {
		margin-top: 17px;
	}

	#factorySec .factoryArea:nth-of-type(3) h3 {
		margin-top: 0;
	}

	#factorySec .factoryArea .factoryTxtInner .commonTable {
		margin-top: 7px;
		display: block;
	}

	#factorySec .factoryArea .factoryTxtInner .commonTable tbody {
		display: block;
	}

	#factorySec .factoryArea .factoryTxtInner .commonTable tr {
		width: 100%;
		display: grid;
		grid-template-columns: 88px 1fr;
	}
	
	#factorySec .factoryArea .factoryTxtInner .commonTable th,
	#factorySec .factoryArea .factoryTxtInner .commonTable td {
		padding: 9px 0;
	}

	#factorySec .factoryArea .factoryTxtInner .commonTable tr:first-child th,
	#factorySec .factoryArea .factoryTxtInner .commonTable tr:first-child th + td {
		border-top: none;
	}

	#factorySec .factoryArea .factoryTxtInner .commonTable th {
		width: 88px;
	}

	#factorySec .factoryArea .factoryTxtInner .commonTable tr:nth-child(n+3) {
		display: block;
		width: 100%;
	}

	#factorySec .factoryArea .factoryTxtInner .commonTable tr:nth-child(n+3) th,
	#factorySec .factoryArea .factoryTxtInner .commonTable tr:nth-child(n+3) td {
		display: block;
		width: 100%;
	}

	#factorySec .factoryArea .factoryTxtInner .commonTable tr:nth-child(n+3) th {
		padding: 5px 0 0;
	}

	#factorySec .factoryArea .factoryTxtInner .commonTable tr:nth-child(n+3) td {
		padding: 5px 0 10px;
		border: none;
	}

	#factorySec .accordionUnit {
		margin-top: 27px;
	}

	#factorySec .accordionUnit .accordionContents .commonTable th {
		width: 60px;
	}

}

/*-----------------------------------------------------------
	processSec
-----------------------------------------------------------*/
#processSec {
	background-color: #f7ecec;
	margin-top: 100px;
	padding-top: 100px;
}

#processSec .contentsSize {
	max-width: 1360px;
	position: relative;
	padding-bottom: 110px;
}

#processSec h2 {
	margin-top: 0;
}


#processSec .splide__track {
	width: 100%;
	overflow: hidden;
	margin-top: 75px;
}

#processSec .splide__track .splide__list .splide__slide {
	border-radius: 60px;
	overflow: hidden;
	background-color: #fff;
}

#processSec .splide__track .splide__list .splide__slide .processListTxt {
	padding: 26px 20px 35px;
}

#processSec .splide__track .splide__list .splide__slide .processListTxt h3 {
	font-size: 1.12rem;
	font-weight: 500;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
}

#processSec .splide__track .splide__list .splide__slide .processListTxt h3 span {
	font-size: 1rem;
	background-color: #e60012;
	color: #fff;
	display: inline-block;
	border-radius: 50%;
	width: 24px;
	height: 24px;
	line-height: 1;
	padding-top: 2px;
	font-weight: 400;
	margin-right: 10px;
}

#processSec .splide__track .splide__list .splide__slide .processListTxt p {
	margin-top: 10px;
	text-align: center;
}

#processSec .splide__arrow {
	background-color: #fff;
	opacity: 1;
	border: solid 1px #e60012;
	width: 55px;
	height: 55px;
	top: 48%;
}

#processSec .splide__arrow svg {
	fill: #e60012;
	height: 22px;
	width: 22px;
}

#processSec .splide__arrow--prev {
	left: -22px;
}

#processSec .splide__arrow--next {
	right: -22px;
}

#processSec .splide__pagination {
	position: static;
	margin-top: 35px;
}

#processSec .splide__pagination__page {
	width: 13px;
	height: 13px;
	margin: 0 6px;
	background: #fff;
}

#processSec .splide__pagination__page.is-active {
	transform: scale(1);
	background: #e60011;
}

#processSec #processBg {
	position: absolute;
	right: 53px;
	bottom: -185px;
}

/*-------------
	pc
-------------*/
@media screen and (min-width: 751px) {

	#processSec .splide__arrow {
		transition: 0.3s;
	}

	#processSec .splide__arrow:hover {
		opacity: 0.7;
	}

}

/*-------------
	res
-------------*/
@media screen and (max-width: 1280px) {

	#processSec .splide__arrow--prev {
		left: 0;
	}

	#processSec .splide__arrow--next {
		right: 0;
	}

}

/*-------------
	sp
-------------*/
@media screen and (max-width: 750px) {

	#processSec {
		margin-top: 50px;
		padding-top: 45px;
	}

	#processSec .contentsSize {
		padding-bottom: 48px;
	}

	#processSec .splide__track {
		margin-top: 25px;
	}

	#processSec .splide__track .splide__list .splide__slide {
		border-radius: 30px;
	}

	#processSec .splide__track .splide__list .splide__slide .processListTxt {
		padding: 18px 20px 28px;
	}

	#processSec .splide__track .splide__list .splide__slide .processListTxt h3 {
		font-size: 1rem;
	}

	#processSec .splide__track .splide__list .splide__slide .processListTxt h3 span {
		font-size: 0.87rem;
		width: 20px;
		height: 20px;
		padding-left: 2px;
	}

	#processSec .splide__track .splide__list .splide__slide .processListTxt p {
		font-size: 0.87rem;
		margin-top: 6px;
	}

	#processSec .splide__arrow {
		width: 37px;
		height: 37px;
		top: 45%;
	}

	#processSec .splide__arrow svg {
		height: 15px;
		width: 15px;
	}

	#processSec .splide__pagination {
		margin-top: 11px;
	}

	#processSec .splide__pagination__page {
		width: 10px;
		height: 10px;
	}

	#processSec #processBg {
		right: 3.5%;
		bottom: -18.5vw;
		width: 40.5%;
	}

}

/*-----------------------------------------------------------
	effortSec
-----------------------------------------------------------*/
#effortSec {
	background-color: #f3ebdc;
	margin-top: 100px;
	padding-top: 100px;
}

#effortSec .contentsSize {
	position: relative;
	padding-bottom: 120px;
}

#effortSec h2 {
	margin-top: 0;
}

#effortSec #effortImg {
	width: 100%;
	border-radius: 40px;
	overflow: hidden;
	margin-top: 55px;
}

#effortSec #effortArea {
	margin-top: 60px;
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 1;
}

#effortSec #effortArea > div {
	width: 47.5%;
	margin: 0;
}

#effortSec #effortArea .accordionUnit .accordionHead {
	background-color: #ddcaa9;
}

#effortSec #effortArea .accordionUnit .accordionContents {
	background-color: #eaddc7;
	padding: 30px 52px 45px;
}

#effortSec #effortArea .accordionUnit .accordionContents dl dt {
	font-weight: 500;
}

#effortSec #effortArea .accordionUnit .accordionContents dl dd {
	margin-top: 8px;
}

#effortSec #effortArea .accordionUnit .accordionContents dl dd + dt {
	margin-top: 27px;
}

#effortSec #effortBg {
	position: absolute;
	left: -25px;
	bottom: -120px;
}

/*-------------
	sp
-------------*/
@media screen and (max-width: 750px) {

	#effortSec {
		margin-top: 65px;
		padding-top: 35px;
	}

	#effortSec .contentsSize {
		padding-bottom: 65px;
	}

	#effortSec #effortImg {
		margin-top: 15px;
		border-radius: 20px;
	}

	#effortSec #effortArea {
		margin-top: 28px;
		display: block;
	}

	#effortSec #effortArea > div {
		width: 100%;
	}

	#effortSec #effortArea > div + div {
		margin-top: 30px;
	}

	#effortSec #effortArea .accordionUnit .accordionContents {
		padding: 12px 20px 20px;
	}

	#effortSec #effortArea .accordionUnit .accordionContents dl dd {
		margin-top: 2px;
	}

	#effortSec #effortArea .accordionUnit .accordionContents dl dd + dt {
		margin-top: 12px;
	}

	#effortSec #effortBg {
		left: 5.5%;
		bottom: -13.5vw;
		width: 36%;
	}

}

/*-----------------------------------------------------------
	employeeSec
-----------------------------------------------------------*/
#employeeSec .commonHead {
	margin-top: 85px;
}

#employeeSec #employeeArea {
	margin-top: 75px;
}

#employeeSec #employeeArea .accordionContents {
	padding: 72px 70px 60px;
}

#employeeSec #employeeArea .employeeInner {
	position: relative;
	display: flex;
}

#employeeSec #employeeArea .employeeInner:nth-of-type(n+2) {
	margin-top: 78px;
}

#employeeSec #employeeArea .employeeInner .employeeHead {
	position: absolute;
	left: -45px;
	top: -35px;
	margin-left: 20px;
	padding: 10px 25px 10px 30px;
	border-radius: 20px;
	background-color: #ff7800;
	color: #fff;
	display: inline-block;
}

#employeeSec #employeeArea .employeeInner .employeeHead::after {
	content: "";
	display: block;
	width: 15px;
	height: 27px;
	background: url(/factory/images/employee_bg_fuki_l.png) no-repeat left bottom / contain;
	position: absolute;
	left: -15px;
	bottom: 20px;
}

#employeeSec #employeeArea .employeeInner .employeeImg {
	width: 50%;
	position: relative;
}

#employeeSec #employeeArea .employeeInner .employeeImg img {
	width: 100%;
	border-radius: 0 20px 20px 0;
}

#employeeSec #employeeArea .employeeInner .employeeImg .employeeImgPos {
	width: 100%;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: 0;
}

#employeeSec #employeeArea .employeeInner .employeeTxt {
	width: 50%;
	background-color: #f0f4f4;
	padding: 30px 30px 30px 60px;
	font-size: 1.12rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	border-radius: 0 0 0 20px;
}

#employeeSec #employeeArea .employeeInner .employeeTxt div {
	font-size: 0.87rem;
	margin-top: 13px;
}

#employeeSec #employeeArea .employeeInner:nth-of-type(2n+1) {
	flex-direction: row-reverse;
}

#employeeSec #employeeArea .employeeInner:nth-of-type(2n) .employeeHead {
	top: -50px;
	right: -45px;
	left: auto;
	margin-right: 20px;
	margin-left: 0;
}

#employeeSec #employeeArea .employeeInner:nth-of-type(2n) .employeeHead::after {
	background: url(/factory/images/employee_bg_fuki_r.png) no-repeat right bottom / contain;
	right: -15px;
	left: auto;
}

#employeeSec #employeeArea .employeeInner:nth-of-type(2n) .employeeTxt {
	padding-left: 50px;
	border-radius: 0 0 20px 0;
}

#employeeSec #employeeArea .employeeInner:nth-of-type(2n) .employeeImg img {
	width: 100%;
	border-radius: 20px 0 0 20px;
}

#employeeSec #employeeArea .employeeInner:nth-of-type(2n) .employeeImg .employeeImgPos {
	border-radius: 0;
}

#employeeSec .commonBtn a[target="_blank"]::after {
	background: url(/factory/images/icon_win_w.png) no-repeat center / contain;
}

/*-------------
	res
-------------*/
@media screen and (max-width: 1180px) {

	#employeeSec #employeeArea .employeeInner .employeeHead {
		padding: 0.8vw 2vw 0.8vw 2.5vw;
		font-size: 1.35vw;
	}

	#employeeSec #employeeArea .employeeInner .employeeTxt {
		padding: 0 1vw 0 3vw;
		font-size: 1.5vw;
	}

	#employeeSec #employeeArea .employeeInner:nth-of-type(2n) .employeeTxt {
		padding: 0 1vw 0 3vw;
	}

	#employeeSec #employeeArea .employeeInner .employeeTxt .resBr {
		display: none;
	}


	#employeeSec #employeeArea .employeeInner .employeeTxt div {
		margin-top: 1.1vw;
		font-size: 1.18vw;
	}

}

/*-------------
	sp
-------------*/
@media screen and (max-width: 750px) {

	#employeeSec .commonHead {
		margin-top: 68px;
	}

	#employeeSec #employeeArea {
		margin-top: 25px;
	}

	#employeeSec #employeeArea .accordionContents {
		padding: 20px 20px 25px
	}

	#employeeSec #employeeArea .employeeInner {
		display: block;
	}

	#employeeSec #employeeArea .employeeInner:nth-of-type(n+2) {
		margin-top: 43px;
	}

	#employeeSec #employeeArea .employeeInner .employeeHead {
		position: relative;
		top: 0;
		left: 0;
		display: flex;
		justify-content: center;
		font-size: 0.87rem;
		margin: 0 14px 0 0;
		padding: 8px 22px 11px 22px;
		border-radius: 18px;
	}

	#employeeSec #employeeArea .employeeInner:nth-of-type(2n) .employeeHead {
		top: 0;
		right: 0;
		margin-right: 0;
		margin-left: 14px;
	}

	#employeeSec #employeeArea .employeeInner .employeeHead::after {
		background: url(/factory/images/employee_bg_fuki_r.png) no-repeat left bottom / contain;
		left: auto;
		right: -15px;
	}

	#employeeSec #employeeArea .employeeInner:nth-of-type(2n) .employeeHead::after {
		background: url(/factory/images/employee_bg_fuki_l.png) no-repeat left bottom / contain;
		left: -15px;
		right: auto;
	}

	#employeeSec #employeeArea .employeeInner .employeeImg {
		width: 100%;
		margin-top: 12px;
	}

	#employeeSec #employeeArea .employeeInner .employeeImg img,
	#employeeSec #employeeArea .employeeInner:nth-of-type(2n) .employeeImg img {
		border-radius: 0;
	}

	#employeeSec #employeeArea .employeeInner .employeeImg .employeeImgPos {
		display: none;
	}

	#employeeSec #employeeArea .employeeInner .employeeTxt,
	#employeeSec #employeeArea .employeeInner:nth-of-type(2n) .employeeTxt {
		width: 100%;
		font-size: 0.93rem;
		padding: 18px 20px 12px 20px;
		border-radius: 0 0 20px 20px;
	}

	#employeeSec #employeeArea .employeeInner .employeeTxt div {
		font-size: 0.87rem;
		margin-top: 8px;
	}

	#employeeSec .commonBtn {
		margin-top: 30px;
	}

}

/*-----------------------------------------------------------
	newsSec
-----------------------------------------------------------*/
#newsSec {
	margin-top: 100px;
	padding: 38px 0 28px;
	background-color: #f9f5ed;
}

#newsSec #newsTitleArea {
	padding: 0 25px 0 15px;
}

#newsSec #newsTitleArea h2 {
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 2.25rem;
	font-weight: 500;
	letter-spacing: 0.03em;
}

#newsSec #newsTitleArea #newsDate {
	text-align: right;
	line-height: 1;
}

#newsSec #newsList {
	margin-top: 20px;
}

#newsSec #newsList li {
	border-radius: 30px;
	background-color: #fff;
}

#newsSec #newsList li:nth-child(n+2) {
	margin-top: 14px;
}

#newsSec #newsList li a,
#newsSec #newsList li > div {
	display: flex;
	padding: 17px 85px 17px 40px;
}

#newsSec #newsList li a {
	position: relative;
}

#newsSec #newsList li a::before,
#newsSec #newsList li a::after,
#newsSec #viewAll a::before,
#newsSec #viewAll a::after {
	content: "";
	position: absolute;
}

#newsSec #newsList li a::before,
#newsSec #viewAll a::before {
	top: 0;
	bottom: 0;
	width: 1px;
	background-color: #ccc;
	margin: auto;
	right: 66px;
	height: calc(100% - 30px);
}

#newsSec #newsList li a::after,
#newsSec #viewAll a::after {
	border-top: 2px solid #666;
	border-right: 2px solid #666;
	transform: translate(-50%, -50%);
	transform: translate(-60%, -50%) rotate(45deg);
	top: 2em;
	right: 26px;
	width: 8px;
	height: 8px;
}

#newsSec #newsList li .newsListDate {
	color: #a3a3a3;
	width: 152px;
}

#newsSec #newsList li .newsListTitle {
	flex: 1;
	color: #000;
	transition: 0.3s;
}

#newsSec #viewAll {
	margin-top: 2px;
	text-align: right;
}

#newsSec #viewAll a {
	display: inline-block;
	position: relative;
	color: #000;
	padding: 18px 85px 18px 0;
}

#newsSec #newsList li a:hover .newsListTitle {
	color: #e60011;
}

/*-------------
	pc
-------------*/
@media screen and (min-width: 751px) {

	#newsSec #viewAll a {
		transition: 0.3s;
	}

	#newsSec #viewAll a:hover {
		color: #e60011;
	}

	#newsSec #newsList li a {
		transition: 0.3s;
	}

}

/*-------------
	sp
-------------*/
@media screen and (max-width: 750px) {

	#newsSec {
		margin-top: 48px;
		padding: 15px 0 20px;
	}

	#newsSec #newsTitleArea {
		padding: 0;
	}

	#newsSec #newsTitleArea h2 {
		font-size: 1.75rem;
		letter-spacing: -0.01em;
	}

	#newsSec #newsTitleArea #newsDate {
		font-size: 0.93rem;
		text-align: right;
	}

	#newsSec #newsList {
		margin-top: 15px;
	}

	#newsSec #newsList li {
		font-size: 0.93rem;
		border-radius: 25px;
	}

	#newsSec #newsList li:nth-child(n+2) {
		margin-top: 10px;
	}

	#newsSec #newsList li:nth-child(n+3) {
		display: none;
	}

	#newsSec #newsList li a {
		display: block;
	}

	#newsSec #newsList li a,
	#newsSec #newsList li > div {
		padding: 10px 50px 15px 15px;
	}

	#newsSec #newsList li a::before,
	#newsSec #viewAll a::before {
		right: 40px;
	}

	#newsSec #newsList li a::before {
		height: calc(100% - 40px);
	}

	#newsSec #newsList li a::after,
	#newsSec #viewAll a::after {
		top: calc(50% - 4px);
		right: 14px;
		width: 6px;
		height: 6px;
	}

	#newsSec #newsList li a::after {
		top: calc(50% - 4px);
	}

	#newsSec #viewAll {
		font-size: 0.93rem;
		margin-top: 15px;
	}

	#newsSec #viewAll a {
		padding: 2px 53px 2px 0;
	}

	#newsSec #viewAll a::before {
		height: 100%;
	}

	#newsSec #viewAll a::after {
		top: 50%;
	}

}

/*-----------------------------------------------------------
	footer
-----------------------------------------------------------*/
#pagetop {
	max-width: 1400px;
	padding: 0 20px;
	margin: 50px auto 0;
}

#pagetop a {
	margin-left: auto;
	width: 53px;
	height: 53px;
	border-radius: 50%;
	border: solid 1px #e60012;
	background-color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}

#pagetop a::after {
	content: "";
	display: block;
	width: 13px;
	height: 13px;
	border-top: solid 3px #e60012;
	border-left: solid 3px #e60012;
	transform: rotate(45deg);
	margin-top: 7px;
}

#footerWrap {
	border-top: solid 3px #e60012;
	margin-top: 36px;
	padding-top: 53px;
}

#footerWrap .contentsSize {
	max-width: 1360px;
}

#footerWrap ul {
	display: flex;
	justify-content: center;
}

#footerWrap ul li {
	padding-left: 20px;
	position: relative;
}

#footerWrap ul li::before {
	content: "";
	display: block;
	width: 1px;
	height: 18px;
	background-color: #9c9c9c;
	transform: rotate(45deg);
	position: absolute;
	left: 10px;
	top: calc(50% - 8px);
}

#footerWrap ul li:first-child:before {
	display: none;
}

#footerWrap ul li a[target="_blank"] {
	padding-right: 16px;
	background: url(/factory/images/icon_win.png) no-repeat right center / 12px;
}

#footerWrap ul.inPageList {
}

#footerWrap ul.outPageList {
	margin-top: 8px;
	font-size: 0.87rem;
}

#footerWrap #footerBottomSec {
	border-top: solid 1px #e5e5e5;
	display: flex;
	align-items: center;
	margin-top: 35px;
	padding: 20px 0;
}

#footerWrap #footerBottomSec #footerCopyright {
	font-size: 0.75rem;
	margin-left: auto;
}

/*-------------
	pc
-------------*/
@media screen and (min-width: 751px) {

	#pagetop a {
		transition: 0.3s;
	}

	#pagetop a:hover {
		opacity: 0.7;
	}

	#footerWrap a img {
		transition: 0.3s;
	}

	#footerWrap a:hover img {
		opacity: 0.7;
	}

	#footerWrap ul li a {
		transition: 0.3s;
	}

	#footerWrap ul li a:hover {
		color: #eb3d09;
	}

	#footerWrap ul li a[target="_blank"]:hover {
		background-image: url(/factory/images/icon_win_r.png);
	}

	#footerWrap #footerBottomSec div {
		width: 320px;
	}

	#footerWrap #footerBottomSec div + div {
		margin-left: 2%;
		width: 213px;
	}

	#footerWrap #footerBottomSec #footerCopyright {
		width: auto;
	}

}


/*-------------
	sp
-------------*/
@media screen and (max-width: 750px) {

	#pagetop {
		margin-top: 22px;
	}

	#pagetop a {
		width: 50px;
		height: 50px;
	}

	#footerWrap {
		margin-top: 20px;
		padding-top: 30px;
		border-top-width: 2px;
	}

	#footerWrap ul.inPageList,
	#footerWrap ul.outPageList {
		display: none;
	}

	#footerWrap #footerBottomSec {
		margin: 0;
		padding: 0;
		border-top: none;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	#footerWrap #footerBottomSec div {
		width: 56%;
	}

	#footerWrap #footerBottomSec div + div {
		width: 37%;
		margin: 0;
	}

	#footerWrap #footerBottomSec #footerCopyright {
		width: 100%;
		font-size: 0.68rem;
		text-align: center;
		padding: 20px 0 12px;
	}

}