@charset "utf-8";
/* CSS Document */

.topSec01{
	background-color:#E2E2E2;
	background-image:url(../img/top/mas01.png);
	padding:60px 0;
}

.topSec01W{
	display: flex;
	justify-content: space-between;
	min-width: 1400px;
}

.topSec01WTtl{
	color:#323232;
	writing-mode: vertical-rl; /* 縦書き・右から左へ */
	text-orientation: sideways;
	line-height: 1.5;
}


.topSec01WTtlJa{
	font-size: 40px;
	letter-spacing: 0.03em;
	line-height: 32px;
	margin-left:20px;
}

.topSec01WTtlEn{
	font-family: Abel;
	font-size: 110px;
	line-height: 96px;
}

.topSec01WImgF{
	width:80%;
	display: flex;
	gap:25px;
	img{
		box-shadow: 8px 24px 32px rgba(0, 0, 0, 0.3);
	}
}

.topSec01WImgF01{
	display: flex;
	justify-content: space-between;
	gap:40px;
}

.topSec01WImgF01F{
	gap:40px;
	padding-right:30px;
}

  .topSec01WImgF02,.topSec01WImgF03,.topSec01WImgF04 {
    width:250px
  }


  .topSec01WImgF01Img{
	filter: grayscale(100%);
  }

 .current .topSec01WImgF01Img{
	filter: grayscale(0%);
  }

.topSec01WImgF01Txt{
	padding:50px 0;
}

.topSec01WImgF01TxtTtl{
	font-family: "Hiragino Mincho ProN";
	font-size: 22px;
	line-height: 29px;
	color: #323232;
	
	span{
		background-color:#FFF;
		display: block;
		padding:10px;
		margin-bottom:10px;
	}
}

.topSec01WImgF01TxtSub{
	span{
		background-color:#323232;
		color:#FFF;
		display: block;
		padding:5px 10px;
		margin-bottom:10px;
		font-size: 14px;
		letter-spacing: 0.04em;
		line-height: 40px;
		width:fit-content
	}
}

.topSec01WImgF01TxtName{
	color: #323232;
}

.topSec02{
	background-image:url(../img/top/sec02_bg.png);
	padding:150px 0 150px;
}

.topSec02Ttl{
	background-color:#222222;
	padding:20px;
	width:fit-content;
	margin-bottom:50px;
}

.topSec02TtlSub01{
	font-family: Amiri;
	font-size: 24px;
	color: #FFF;
	margin-bottom:10px;
	span{
		color: #eaff00;
	}
}

.topSec02Ttl01{
	font-family: Abel;
	font-size: 120px;
	line-height: 96px;
	color: #eaff00;
	border-bottom:2px solid #eaff00;
	margin-bottom:10px;
}

.topSec02TtlSub02{
	font-family: "Hiragino Mincho ProN";
	font-size: 32px;
	letter-spacing: 0.03em;
	line-height: 32px;
	color:#FFF;
	span{
		color: #eaff00;
	}
}

.topSec02W{
	width:1240px;
	margin:0 auto 110px;
}

.topSec02Desc{
	font-family: "Hiragino Mincho ProN";
	margin-bottom:60px;
}

.topSec02Desc .desc01{
	font-size: 64px;
	letter-spacing: 0.06em;
	line-height: 32px;
	color: #323232;
	background-color:#eaff00;
	padding:30px 10px;
	font-weight: bold;
	display: block;
	width: fit-content;
	margin-bottom:5px;
}



.topSec02Desc .desc02{
	font-family: "Hiragino Mincho ProN";
	font-size: 32px;
	letter-spacing: 0.06em;
	line-height: 32px;
	color: #323232;
	padding:10px;
	background-color:#FFF;
	font-weight: bold;
	display: block;
	width: fit-content;
}

.topSec02WList{
	position: relative;
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid #323232;
	border-radius: 24px;
	width: fit-content;
	padding:5px 20px 5px 40px;
	color:#323232
}

.topSec02WLists{
	display: flex;
	gap:20px 40px;
	flex-wrap: wrap;
}

.topSec02WList:before{
	content: url(../img/top/check.png);
	position: absolute;
	top: 50%;
	left: 20px;
	transform: translateY(-50%);
}

.topSec02W2{
	position: relative;
	padding-top:300px;
}

.topSec02W2Ttl{
	position: absolute;
	right:0px;
	top:0px;
}

.topSec02W2Ttl{
	background-color:#222222;
	padding:20px;
	width:fit-content;
	margin-bottom:50px;
}

.topSec02W2TtlSub{
	font-family: Amiri;
	font-size: 24px;
	color: #FFF;
	margin-bottom:10px;
	text-align: right;
	span{
		color: #eaff00;
	}
}

.topSec02W2Ttl01{
	font-family: Abel;
	font-size: 120px;
	line-height: 96px;
	color: #eaff00;
	border-bottom:2px solid #eaff00;
	margin-bottom:10px;
}

.topSec02W2TtlSub02{
	font-family: "Hiragino Mincho ProN";
	font-size: 32px;
	letter-spacing: 0.03em;
	line-height: 32px;
	color:#FFF;
	span{
		color: #eaff00;
	}
}

.topSec02W3{
	width:1240px;
	margin:0 auto;
	display: flex;
	justify-content: flex-end;
}

.topSec02W3W{
	width:753px;
	position: relative;
}

.topSec02W3W2{
	position: relative;
	z-index: 11;
}

.topSec02W3WImg{
	position: absolute;
	left:-700px;
	bottom:0px;
	z-index: 1;
}

.topSec02W3Ttl{
	color:#323232;
	position: relative;
	z-index: 11;
	margin-bottom:20px;
}

.topSec02W3Ttl01{
	font-family: "Hiragino Mincho ProN";
	font-size: 56px;
	line-height: 32px;
	background-color:#FFF;
	padding:30px 10px;
	display: block;
	margin-bottom:10px;
	width:fit-content;
	span{
		font-size: 40px;
	}
}

.topSec02W3DescP{
	background-color:#323232;
	color:#FFF;
	padding:5px 10px;
	margin-bottom:10px;
	width:fit-content;
}

.topSec03W01{
	display: flex;
	justify-content: space-between;
	margin-left:200px;
	min-width: 1400px;
}

.topSec03W01Ttl{
	width:210px;
}

.topSec03W01TtlEn{
	font-family: Abel;
	font-size: 160px;
	line-height: 126px;
	color: #eaff00;
	border-left:2px solid #eaff00;
	writing-mode: vertical-rl;
    text-orientation: sideways;
	margin-bottom:10px;
}

.topSec03W01TtlJa{
	font-family: "Hiragino Mincho ProN";
	font-size: 32px;
	letter-spacing: 0.03em;
	line-height: 32px;
	color: #fff;
}

.topSec03W02{
	display: flex;
	justify-content: flex-end;
	margin-bottom:160px;
}

.topSec03W02_01{
	min-width:900px;
	position: relative;
	z-index: 2;
}

.topSec03W02_02_pc{
	position: absolute;
	z-index: 1;
	bottom:-100px;
	left:-800px;
}

.topSec03W02_02_sp{
	display: none;
}

.topSec03W02En{
  font-family: Abel;
  font-size: 80px;
  color: #EAFF00;
  background-color:#222222;
  padding:20px 0px 0 20px;
  display:flex;
  align-items:center;      /* テキストの縦中央 */
  gap:12px;                /* 文字と線の間隔 */
  position:relative;
  margin-bottom:30px;
}

/* テキスト側（下線を引きたいなら） */
.topSec03W02En > span{
  display:inline-block;    /* 下線位置を安定させる */
  line-height:1;
  border-bottom:2px solid #EAFF00;
}

/* 右側へ伸びるライン */
.topSec03W02En::after{
  content:"";
  height:2px;              /* 線の太さ */
  background:#EAFF00;
  flex:1 1 auto;           /* 余白分いっぱいに伸びる */
}


.topSec03W02Ja{
	font-family: "Hiragino Mincho ProN";
	font-size: 64px;
	letter-spacing: 0.06em;
	color: #323232;
	background-color:#eaff00;
	width:fit-content;
	padding: 5px 10px;
	margin-bottom:10px;
}

.topSec03W02Ja01{
	font-family: "Hiragino Mincho ProN";
	font-size: 32px;
	letter-spacing: 0.06em;
	color: #323232;
	background-color:#FFF;
	width:fit-content;
	padding: 2px 5px;
	margin-bottom:30px;
}

.topSec03W02_03{
	position: relative;
	z-index: 10;
}

.topSec03W02Desc{
	margin-bottom:40px;
}

.topSec03W02Desc span{
	font-family: "Hiragino Sans";
	font-size: 16px;
	letter-spacing: 0.02em;
	padding: 5px;
	color: #fff;
	background-color:#323232;
	display: block;
	margin-bottom:5px;
	width:fit-content;
}

.topSec03W02Lists{
	display: flex;
	justify-content: space-between;
	width: fit-content;
	gap:40px;
}

.topSec03W02List{
	background: #fff;
	border: 1px solid #323232;
	border-radius: 25px;
	padding:10px 15px 10px 45px;
	position: relative;
	color: #323232;
}

.topSec03W02List:before{
	content: url(../img/top/check02.png);
	position: absolute;
	top: 50%;
	left: 20px;
	transform: translateY(-50%);
}


.topSec03W03{
	display: flex;
	margin-bottom:160px;
}

.topSec03W03_01{
	position: relative;
	z-index: 2;
	padding-left:200px;
}

.topSec03W03_02_pc{
	position: absolute;
	z-index: 1;
	bottom:-100px;
	right:-1100px;
}

.topSec03W03_02_sp{
	display: none;
}

.topSec03W03En {
  font-family: Abel;
  font-size: 80px;
  color: #EAFF00;
  background-color: #222222;
  padding: 20px 20px 0 20px;
  margin-bottom: 30px;
  position: relative; /* 子要素の absolute の基準 */
}

.topSec03W03En span {
  border-bottom: 2px solid #EAFF00;
  position: relative;   /* ::before の基準 */
  z-index: 1;           /* 線より上に表示 */
  padding-left: 20px;   /* 線と文字の間隔 */
}

/* 左側に伸びる線 */
.topSec03W03En span::before {
  content: "";
  position: absolute;
  top: 50%;               /* 縦中央 */
  left: -9998px;                /* span の左端から開始 */
  transform: translateY(-50%);
  width: 9999px;          /* 十分大きくして左方向に伸ばす */
  height: 2px;
  background: #EAFF00;
  z-index: 0;
}


.topSec03W03Ja{
	font-family: "Hiragino Mincho ProN";
	font-size: 64px;
	letter-spacing: 0.06em;
	color: #323232;
	background-color:#eaff00;
	width:fit-content;
	padding: 5px 10px;
	margin-bottom:10px;
}

.topSec03W03Ja01{
	font-family: "Hiragino Mincho ProN";
	font-size: 32px;
	letter-spacing: 0.06em;
	color: #323232;
	background-color:#FFF;
	width:fit-content;
	padding: 2px 5px;
	margin-bottom:30px;
}

.topSec03W03_03{
	position: relative;
	z-index: 10;
}

.topSec03W03Desc{
	margin-bottom:40px;
}

.topSec03W03Desc span{
	font-family: "Hiragino Sans";
	font-size: 16px;
	letter-spacing: 0.02em;
	padding: 5px;
	color: #fff;
	background-color:#323232;
	display: block;
	margin-bottom:5px;
	width:fit-content;
}

.topSec03W03Lists{
	display: flex;
	justify-content: space-between;
	width: fit-content;
	gap:40px;
}

.topSec03W03List{
	background: #fff;
	border: 1px solid #323232;
	border-radius: 25px;
	padding:10px 15px 10px 45px;
	position: relative;
	color: #323232;
}

.topSec03W03List:before{
	content: url(../img/top/check02.png);
	position: absolute;
	top: 50%;
	left: 20px;
	transform: translateY(-50%);
}


.topSec03W04{
	display: flex;
	justify-content: flex-end;
	margin-bottom:160px;
}

.topSec03W04_01{
	min-width:900px;
	position: relative;
	z-index: 2;
}

.topSec03W04_02_pc{
	position: absolute;
	z-index: 1;
	bottom:-100px;
	left:-800px;
}

.topSec03W04_02_sp{
	display: none;
}

.topSec03W04En{
  font-family: Abel;
  font-size: 80px;
  color: #EAFF00;
  background-color:#222222;
  padding:20px 0px 0 20px;
  display:flex;
  align-items:center;      /* テキストの縦中央 */
  gap:12px;                /* 文字と線の間隔 */
  position:relative;
  margin-bottom:30px;
}

/* テキスト側（下線を引きたいなら） */
.topSec03W04En > span{
  display:inline-block;    /* 下線位置を安定させる */
  line-height:1;
  border-bottom:2px solid #EAFF00;
}

/* 右側へ伸びるライン */
.topSec03W04En::after{
  content:"";
  height:2px;              /* 線の太さ */
  background:#EAFF00;
  flex:1 1 auto;           /* 余白分いっぱいに伸びる */
}

.topSec03W04Ja{
	font-family: "Hiragino Mincho ProN";
	font-size: 64px;
	letter-spacing: 0.06em;
	color: #323232;
	background-color:#eaff00;
	width:fit-content;
	padding: 5px 10px;
	margin-bottom:10px;
}

.topSec03W04Ja01{
	font-family: "Hiragino Mincho ProN";
	font-size: 32px;
	letter-spacing: 0.06em;
	color: #323232;
	background-color:#FFF;
	width:fit-content;
	padding: 2px 5px;
	margin-bottom:30px;
}

.topSec03W04_03{
	position: relative;
	z-index: 10;
}

.topSec03W04Desc{
	margin-bottom:40px;
}

.topSec03W04Desc span{
	font-family: "Hiragino Sans";
	font-size: 16px;
	letter-spacing: 0.02em;
	padding: 5px;
	color: #fff;
	background-color:#323232;
	display: block;
	margin-bottom:5px;
	width:fit-content;
}

.topSec03W04Lists{
	display: flex;
	justify-content: space-between;
	width: fit-content;
	gap:40px;
}

.topSec03W04List{
	background: #fff;
	border: 1px solid #323232;
	border-radius: 25px;
	padding:10px 15px 10px 45px;
	position: relative;
	color: #323232;
}

.topSec03W04List:before{
	content: url(../img/top/check02.png);
	position: absolute;
	top: 50%;
	left: 20px;
	transform: translateY(-50%);
}

.top_producer_01{
	background-color: #E2E2E2;
	background-image: url(../img/top/mas01.png);
	padding: 60px 0;
}

.prodSec{
	background-color: #E2E2E2;
	background-image: url(../img/top/mas01.png);
	padding: 60px 0 100px;
	position: relative;
}

.prodSecTtl{
	writing-mode: vertical-rl;
	text-orientation: sideways;
	background: #222;
	padding:30px;
	color:#eaff00;
	margin-right:30px;
	position: absolute;
	top:-30px;
	right:0px;
}

.prodSecTtlEn{
	font-family: Abel;
    font-size: 160px;
	border-left:4px solid #eaff00;
	line-height: 0.7;
}

.prodSecTtlJa{
	font-family: "Hiragino Mincho ProN";
    font-size: 32px;
}

.prodSecW02{
	width:1240px;
	margin:0 auto 120px;
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}
        
.prodSecW02TxtF{
	position: relative;
}

.prodSecW02TxtFAb{
	position: absolute;
	left:0px;
	top:0px;
}

.prodSecW02TxtFTtl{
	background-color:#E2E2E2;
	padding:20px;
	color: #323232;
}

.prodSecW02TxtFTtlSub {
  position: relative;       /* ::before の基準 */
  line-height: 1.2;
  margin-bottom:20px;
}

/* 左側の線 */
.prodSecW02TxtFTtlSub::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -1020px;
  transform: translateY(-50%);
  width: 1000px;             /* 線の長さ */
  height: 2px;              /* 線の太さ */
  background: #323232;      /* 線の色 */
}



.prodSecW02TxtFTtlW{
	display: flex;
	gap:20px;
}

.prodSecW02TxtFTtlWEn{
	font-family: Abel;
    font-size: 160px;
	margin-bottom:10px;
	span{
		border-bottom:4px solid #eaff00;
		line-height: 0.7;
		display: block;
	}
}

.prodSecW02TxtFTtlWJa{
	font-size:20px;
	font-weight: bold;
}

.prodSecW02TxtFTtlRl{
	font-family: "Hiragino Mincho ProN";
}

.prodSecW02TxtFDesc{
	padding-top:380px;
	color: #323232;
}

.prodSecW02TxtFDesc01{
	margin-bottom:30px;
}


.prodSecW02TxtFDesc01Ttl{
	font-family: Amiri;
	font-size: 32px;
	line-height: 32px;
}

.prodSecW02TxtFList{
	font-family: "Hiragino Sans";
	font-size: 14px;
	line-height: 32px;
	color: #323232;
}



.prodSecW03{
	width:1240px;
	margin:0 auto 60px;
	display: flex;
	justify-content: space-between;
}
        
.prodSecW03TxtF{
	position: relative;
}

.prodSecW03TxtFAb{
	position: absolute;
	right:0px;
	top:0px;
}

.prodSecW03TxtFTtl{
	background-color:#E2E2E2;
	padding:20px;
	color: #323232;
}

.prodSecW03TxtFTtlW{
	display: flex;
	gap:20px;
}

.prodSecW03TxtFTtlWEn{
	font-family: Abel;
    font-size: 160px;
	margin-bottom:10px;
	span{
		border-bottom:4px solid #eaff00;
		line-height: 0.7;
		display: block;
	}
}

.prodSecW03TxtFTtlSubW{
	display: flex;
	justify-content: flex-end;
	margin-bottom:20px;
}

.prodSecW03TxtFTtlSub {
  position: relative;       /* ::after の基準 */
  display: inline-block;    /* 横幅をテキストに合わせる */
  line-height: 1.2;
}

/* 右側の線 */
.prodSecW03TxtFTtlSub::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 110%;              /* テキストの右端から開始 */
  transform: translateY(-50%);
  width: 1000px;            /* 線の長さ（調整可） */
  height: 2px;             /* 線の太さ */
  background: #323232;     /* 線の色（テキストと同じ） */
}


.prodSecW03TxtFTtlWJa{
	font-size:20px;
	font-weight: bold;
}

.prodSecW03TxtFTtlRl{
	font-family: "Hiragino Mincho ProN";
}

.prodSecW03TxtFDesc{
	padding-top:380px;
	color: #323232;
}

.prodSecW03TxtFDesc01{
	margin-bottom:30px;
}


.prodSecW03TxtFDesc01Ttl{
	font-family: Amiri;
	font-size: 32px;
	line-height: 32px;
}

.prodSecW03TxtFList{
	font-family: "Hiragino Sans";
	font-size: 14px;
	line-height: 32px;
	color: #323232;
}

.VoSec{
	background-color: #E2E2E2;
    background-image: url(../img/top/mas01.png);
    padding: 100px 0;
}

.VoSecW{
	width:1240px;
	margin:0 auto;
	color:#323232;
}

.VoSecWTtlEn{
	font-family: Abel;
    font-size: 160px;
    margin-bottom: 10px;
	border-bottom: 4px solid #323232;
	line-height: 0.7;;
	width:fit-content;
}

.VoSecWTtlJa{
    font-family: "Hiragino Mincho ProN";
    font-size: 32px;
    letter-spacing: 0.03em;
    line-height: 32px;
	margin-bottom:60px;
}

.VoSecW01{
	display: flex;
	justify-content: space-between;
	gap:40px;
	margin-bottom:120px;
}

.VoSecW01Img{
	width:566px;
	position: relative;
}

.VoSecW01Img02{
	position: absolute;
	right: -10px;
    bottom: 140px;
}

.VoSecW01Txt{
	width:598px;
}

.VoSecW01TxtTtl{
	font-family: "Hiragino Mincho ProN";
	font-size: 32px;
	letter-spacing: 0.06em;
	color: #323232;
	margin-bottom:20px;
	span{
		display: block;
		padding:10px;
		background-color:#FFF;
		width:fit-content;
		margin-bottom:10px;
	}
}

.VoSecW01TxtSubTtl{
	font-family: "Hiragino Mincho ProN";
	font-size: 18px;
	letter-spacing: 0.06em;
	line-height: 32px;
	margin-bottom:5px;
}

.VoSecW01TxtJan{
	border-radius: 15.5px;
	background: rgba(80, 80, 80, 0.8);
	border: 1px solid #fff;
	padding:5px 20px;
	color:#FFF;
	width:fit-content;
	margin-bottom:10px;
}

.topShowcase{
	padding:60px 0px;
}

.topShowcaseSec{
	width:1240px;
	margin:0 auto;
}

.topShowcaseSecTtlEn{
    font-family: Abel;
    font-size: 160px;
    margin-bottom: 10px;
    color: #eaff00;
    line-height: 0.7;
    width: fit-content;
	border-bottom:1px solid #eaff00;
}
.topShowcaseSecTtlJa{
	font-family: "Hiragino Mincho ProN";
    font-size: 32px;
    letter-spacing: 0.03em;
    line-height: 32px;
    margin-bottom: 60px;
	color:#FFF;
}

.topShowcaseSecList{
	margin-bottom:120px;
}

.topNews01W{
	display: flex;
	justify-content: space-between;
}

.topNews01WTtl{
	width:300px;
}

.topNews01WTtlEn{
    font-family: Abel;
    font-size: 120px;
    margin-bottom: 10px;
    color: #eaff00;
    line-height: 0.7;
    width: fit-content;
	border-bottom:1px solid #eaff00;

}

.topNews01WTtlJa{
	font-family: "Hiragino Mincho ProN";
    font-size: 24px;
    letter-spacing: 0.03em;
    line-height: 32px;
	color:#FFF;
}

.topNews01WLists{
	width:703px;
}

.topNews01WList{
	display: flex;
	justify-content: space-between;
}

.topNews01WListDate{
	width:20%;
	color: #eaff00;
	font-family: "Hiragino Sans";
	font-size: 14px;
}

.topNews01WListTxt{
	width:80%;
	font-family: "Hiragino Sans";
	font-size: 14px;
	color: #fff;
}

.topNews01WList{
	border-bottom:1px solid #FFF;
	padding-bottom:10px;
	margin-bottom:10px;
}

.topNews01WList:first-of-type{
	border-top:1px solid #FFF;
	padding-top:10px;
}

.newBu01Sp{
	display: none;
}

.topSec01WImgF .slick-slide {
  margin: 0 10px;
  transition: transform .35s ease, opacity .35s ease;
  transform: scale(.9);
  transform-origin: left center;
}

.topSec01WImgF .slick-slide.current {
  transform: scale(1);
  z-index: 2;
}

