.plant-main .common-title {
	color: #000;
}


/* 工場について */
.dummy {
	height: 60vh;
	background: #f5f5f5;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	color: #999;
	letter-spacing: .1em;
}

/* ============================================================
     ピン用ラッパー
  ============================================================ */
.factory-pin-wrap {
	position: relative;
	/* JS で height 設定 */
}

/* ============================================================
     メインセクション（sticky ピン）
  ============================================================ */
#pinWrap {
	top: auto !important;
	bottom: 0px !important;
}

.factory-section {
	position: sticky;
	bottom: 0;
	width: 100%;
	height: calc(100vh - 72px);
	overflow: hidden;
}

/* 背景画像 */
.bg-layer {
	position: absolute;
	inset: 0% 0;
	background-image: url(../images/syuntoku-plant/syuntoku-about-back.jpg);
	background-size: cover;
	background-position: center center;
	will-change: transform;
	transform: scale(1.15);
}

/* 乗算オーバーレイ */
.overlay-layer {
	position: absolute;
	inset: 0;
	background: #000;
	opacity: .52;
	will-change: opacity;
}

/* ============================================================
     コンテンツ全体を縦に3分割で配置
     ┌─────────────────┐
     │  [headline]      ← 上寄り中央
     │                  │
     │  [body text]     ← 中央〜やや右
     │  [badges]        ← ボディ直下
     └─────────────────┘
  ============================================================ */
.content {
	position: relative;
	z-index: 10;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	/* 上: headline / 下: body+badges を縦に並べる */
	justify-content: space-between;
	padding: 85px 80px 35px;

	padding: 6% 20px 5%;
	margin: 0 auto;
	max-width: 1200px;
}


.kashida-main .top-row {
	justify-content: start;
}

/* ---- 上段：見出し ---- */
.top-row {
	display: flex;
	justify-content: center;
	padding-top: 20px;
}

.headline {
	font-size: clamp(20px, 2.6vw, 36px);
	font-weight: 600;
	color: #fff;
	line-height: 1.5;
	letter-spacing: .03em;
	text-align: center;
	/* 1行でまとめる */
	white-space: nowrap;
}

/* ---- 下段：本文＋バッジ ---- */
.bottom-row {
	display: flex;
	flex-direction: column;
	/* スクショと同様：中央〜右寄り */
	align-items: center;
	gap: 90px;
	padding-bottom: 10px;
}


.shuntoku-main .bottom-row {
	gap: 50px;
}

/* 本文 */
.body-block {
	width: 100%;
	max-width: 680px;
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.body-block.sp_only {
	display: none;
}

.body-line {
	font-size: clamp(13px, 1.05vw, 15px);
	color: rgba(255, 255, 255, .88);
	line-height: 1.75;
	letter-spacing: .04em;
	opacity: 0;
	transform: translateY(18px);
	will-change: opacity, transform;
	font-size: .18rem;
	text-align: center;
	font-weight: 500;
}

/* バッジ */
.badges {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
}

.badge {
	display: inline-block;
	background: #003078;
	color: #fff;
	font-size: clamp(13px, 1.1vw, 15px);
	font-weight: 500;
	letter-spacing: .06em;
	padding: 2px 20px;
	opacity: 0;
	transform: translateY(14px);
	will-change: opacity, transform;
	font-size: .21rem;
}

/* プログレスバー */
.progress-bar {
	position: fixed;
	top: 0;
	left: 0;
	height: 2px;
	background: #c00;
	width: 0%;
	z-index: 9999;
	pointer-events: none;
	will-change: width;
}

/* ---- 見出しのテキストマスク用 ---- */
.headline-wrap {
	overflow-y: hidden;
	padding-bottom: 4px;
}

.headline {
	display: block;
	transform: translateY(105%);
	opacity: 0;
	will-change: transform, opacity;
}

@media (max-width: 768px) {
	.content {
		padding: 50px 24px 60px;
	}
}



/* 工場設備 */
.plant-facilities {
	overflow: hidden;
	padding-top: 77px;
	margin-bottom: 55px;
}

.plant-facilities__img--box {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 1260px;
	max-width: 100%;
	margin: 85px auto 0;
	padding: 0 30px;
}

.plant-facilities__img-item figcaption {
	font-size: .15rem;
	text-align: center;
}

.plant-facilities__img-item {
	width: 47%;
	margin-bottom: 55px;
}

.plant-facilities__img {
	margin: 0 0 10px;
}

/* 所在地 */
.plant-location {
	background-color: #F2F2F2;
	padding: 100px 0 77px;
	margin-bottom: 60px;
}

.carousel-item {
	margin: 0 3px;
}

.carousel-box {
	margin-bottom: 93px;
}

.slick-slide {
	display: none;
	float: left;
	height: 100%;
	min-height: 1px;
	margin: 0 0 0 5px;
}

.plant-location__contents {
	width: 1260px;
	max-width: 100%;
	margin: 0 auto 53px;
	padding: 0 30px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}


.plant-location__map--corner {
	width: 71%;
}

.plant-location__address {
	font-size: .16rem;
	margin-top: 13px;
	width: 100%;
	margin-bottom: 50px;
}

.plant-location__address-text {
	margin-bottom: 24px;
	letter-spacing: 0.11em;
}

.plant-location__number {
	display: flex;
	justify-content: start;
	width: 87%;
}

.plant-location__tel,
.plant-location__fax {
	letter-spacing: 0.1em;
	margin-right: 35px;
}

.plant-location__map iframe {
	width: 100%;
	height: 312px;
}

.plant-location__info .plant-link__btn {
	font-size: .16rem;
	display: block;
	margin: 0 auto;
	padding: 10px 0;
	width: 243px;
}

.plant-location__info .plant-link__btn::after {
	right: -2px;
	top: -2px;
	width: 25px;
	height: 25px;
	border-bottom: solid 4px #F2F2F2;
	border-left: solid 4px #F2F2F2;
}

.plant-location__info .plant-link__btn::before {
	right: -2px;
	top: -2px;
	background-color: #F2F2F2;
	width: 25px;
	height: 25px;
}


/* リンク */
.plant-link {
	overflow: hidden;
	padding: 27px 0 31px;
}

.plant-link__box {
	width: 1260px;
	max-width: 100%;
	margin: 23px auto 0;
	padding: 0 30px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.plant-link__btn {
	font-size: .24rem;
	color: #003F92;
	font-weight: 500;
	border: solid 2px #003F92;
	width: 31.8%;
	padding: 28px 0;
	margin-bottom: 27px;
	text-align: center;
	position: relative;
	transition: all .3s;
}

.plant-link__btn::after {
	content: "";
	position: absolute;
	right: -2px;
	top: -2px;
	background-image: url(../images/syuntoku-plant/plant-link-arrow.svg);
	background-size: cover;
	background-repeat: no-repeat;
	width: 25px;
	height: 25px;
	border-bottom: solid 4px #fff;
	border-left: solid 4px #fff;
	transition: all .3s;
}

.plant-link__btn::before {
	content: "";
	position: absolute;
	right: -2px;
	top: -2px;
	background-color: #fff;
	width: 25px;
	height: 25px;
}


.plant-link__btn:hover {
	opacity: 1;
}

.plant-link__btn:hover.plant-link__btn::after {
	right: -7px;
	top: -7px;
}


.shuntoku-main .shuntoku-btn,
.shuntoku-second-main .shuntoku-second-btn,
.hanaten-main .hanaten-btn,
.kashida-main .kashida-btn,
.kashida-second-main .kashida-second-btn,
.headquarters-factory-main .headquarters-factory-btn,
.base-main .base-btn,
.mie-main .mie-btn,
.group-main .group-btn {
	display: none;
}

/*本社工場*/
.headquarters-factory-main .content {
	padding: 7% 10px 5%;
}

.headquarters-factory-main .bottom-row {
	gap: 50px;
}

.headquarters-factory-main .bg-layer {
	background-image: url(../images/headquarters-factory/headquarters-factory-about-back.jpg);
}

.headquarters-factory-main .top-row {
	justify-content: left;
}

.headquarters-factory-main .content {
	padding: 8% 10px 3%;
	margin: 0 auto;
	max-width: 1200px;
}

.headquarters-factory-main .body-block {
	max-width: 62%;
	margin-left: auto;
}

.headquarters-factory-main .body-line {
	text-align: left;
}

/*柏田*/
.kashida-main .body-line {
	text-align: left;
}

.kashida-main .body-block {
	max-width: 100%;
}

.kashida-main .bg-layer {
	background-image: url(../images/kashida/kashida-about-back.jpg);
}


/*柏田第二工場*/
.kashida-second-main .content {
	padding: 6% 0 3% 20px;
}

.kashida-second-main .top-row {
	justify-content: left;
}

.kashida-second-main .body-line {
	text-align: left;
}

.kashida-second-main .body-block {
	max-width: 66%;
	margin-left: auto;
}

.kashida-second-main .bg-layer {
	background-image: url(../images/kashida-second/kashida-second-about-back.jpg);
}



/*俊徳工場*/
.shuntoku-main .body-block {
    max-width: fit-content;
}


/*俊徳第二工場*/
.shuntoku-second-main .bg-layer {
	background-image: url(../images/shuntoku-second/shuntoku-second-about-back.jpg);
}

.shuntoku-second-main .top-row {
	justify-content: left;
}

.shuntoku-second-main .body-line {
	text-align: left;
}

.shuntoku-second-main .body-block {
	max-width: fit-content;
	margin-left: auto;
}

/*放出工場*/
.hanaten-main .bg-layer {
	background-image: url(../images/hanaten/hanaten-about-back.jpg);
}

.hanaten-main {}

.hanaten-main .top-row {
	justify-content: center;
}

.hanaten-main .body-line {
	text-align: left;
}

.hanaten-main .body-block {
	max-width: 80%;
	margin-left: auto;
	margin-right: auto;
}

.hanaten-main .content {
	padding: 5% 70px 5%;
}

.hanaten-main .badges {
	width: 900px;
	max-width: 82%;
	gap: 0;
	justify-content: space-around;
	align-items: flex-end;
}

.shuntoku-main .body-line {
	text-align: left;
}

.badge-2line {
	width: 60%;
	margin: 20px auto 0;
	display: flex;
	justify-content: space-between;
}

.hanaten-main .badge-2line {
	width: 69%;
}

.hanaten-main .badge {
	min-width: 280px;
	text-align: center;
}

/*三重工場*/

.mie-main .bg-layer {
	background-image: url(../images/mie/mie-about-back.jpg?0501);
}

.mie-main .top-row {
	justify-content: start;
}

.mie-main .body-line {
	text-align: left;
}

.mie-main .body-block {
    margin-top: 46px;
    max-width: 100%;
}
.mie-main .badge {
    min-width: 273px;
    text-align: center;
}


@media screen and (max-width:800px) {

	/*gsap共通部分*/
	.top-row {
		justify-content: center;
		margin-bottom: 20px;
		padding-top: 0px;
	}

	.headline {
		font-size: .24rem;
	    line-height: 1.6;
		white-space: normal;
		text-align: left;
	}

	.factory-section {
		height: auto;
		overflow: hidden;
	}

	.content,
	.headquarters-factory-main .content {
		padding: 80px 30px 15px;
	}

	.hanaten-main .top-row,
	.shuntoku-main .top-row {
		justify-content: start;
	}

	.body-line {
		font-size: .16rem;
		line-height: 2;
	}

	.shuntoku-main .body-line {
		text-align: justify;
	}

	.bottom-row,
	.headquarters-factory-main .bottom-row {
		gap: 45px;
	}

	.badge {
		font-size: .16rem;
		text-align: center;
		padding: 4px 20px;
		line-height: 1.5;
		width: 227px;
		margin: 0 auto;
	}

	.body-block {
		gap: 0px;
	}

	.badges {
		gap: 7px 30px;
	}

	.badge-2line {
		flex-direction: column;
		margin: 0px auto 0;
		gap: 5px;
	}

	.shuntoku-plant__about {
		margin-top: 43px;
	}

	.body-block.pc_only {
		display: none;
	}

	/*本社工場*/
	.headquarters-factory-main .body-block {
		max-width: 100%;
	}


	/*.headquarters-factory-main .body-line,
.kashida-main .body-line,
.kashida-second-main .body-line,
.hanaten-main .body-line,
.shuntoku-main .body-line,
.shuntoku-second-main .body-line{
    text-align: center;
}*/
	/*本社*/
	.headquarters-factory-main .content {
		padding: 80px 30px 15px;
		gap: 122px;
	}
	.headquarters-factory-main .bg-layer {
		background-image: url(../images/headquarters-factory/headquarters-factory-about-back-sp.jpg);
	}

	/*柏田*/

	.kashida-main .bottom-row {
		gap: 10px;
	}

	.kashida-main .content {
		padding: 80px 30px 15px;
		gap: 157px;
	}
	.kashida-main .bg-layer {
		background-image: url(../images/kashida/kashida-about-back-sp.jpg);
	}
	
	.kashida-main .headline span{
        letter-spacing: -0.6em;
	}

	/*柏田第2*/

	.kashida-second-main .bottom-row {
		gap: 30px;
	}

	.kashida-second-main .content {
		padding: 45px 30px 15px;
		gap: 40px;
	}

	.kashida-second-main .body-block,
	.shuntoku-second-main .body-block {
		max-width: 100%;
	}

	.kashida-second-main .bg-layer {
		background-image: url(../images/kashida-second/kashida-second-about-back_sp.jpg);
	}



	/*放出*/

	.hanaten-main .bg-layer {
		background-image: url(../images/hanaten/hanaten-about-back_sp.jpg);
	}

	.hanaten-main .factory-section {}

	.hanaten-main .content {
		padding: 40px 30px 15px;
		gap: 53px;
	}

	.hanaten-main .body-block {
		max-width: 100%;
	}

	.hanaten-main .body-line {
		letter-spacing: -0.001em;
	}

	.hanaten-main .badges {
		gap: 5px;
		max-width: 100%;
	}

	.hanaten-main .badge {
		min-width: auto;
	}


	.hanaten-main .bottom-row {
		gap: 22px;
	}


	.hanaten-main .badge-2line {
		width: 227px;
	}

	.badge-block_2nd {
		display: flex;
	}

	.badge-block_2nd .badge {
		width: 227px;
		padding: 5px 4px;
	}



	/*俊徳*/
	.shuntoku-main .headline-wrap,
	.shuntoku-second-main .headline-wrap {
		overflow-y: unset;
	}

	.shuntoku-headline__comma {
		letter-spacing: -3em;
		display: inline-block;
	}

	.shuntoku-main .bottom-row {
		gap: 30px;
	}

	.shuntoku-main .content {
		padding: 80px 30px 15px;
		gap: 120px;
	}
	.shuntoku-main .bg-layer {
		background-image: url(../images/syuntoku-plant/syuntoku-about-back-sp.jpg);
	}
	
	/*俊徳第二*/
	.shuntoku-second-main .content {
		padding: 52px 25px 15px;
		gap: 180px;
	}

	.shuntoku-second-main .bottom-row {
		gap: 30px;
	}
	.shuntoku-second-main .bg-layer {
		background-image: url(../images/shuntoku-second/shuntoku-second-about-back-sp.jpg);
	}

	/*三重*/
	.mie-main .content {
		padding: 50px 25px 25px;
	}

	.mie-main .bottom-row {
		gap: 195px;
	}
	.mie-main .bg-layer {
		background-image: url(../images/mie/mie-about-back-sp.jpg);
	}
	.mie-main .body-block {
		margin-top: 27px;
	}
	.mie-main .badge {
		min-width: 228px;
		text-align: center;
	}
	.mie-main .top-row {
		margin-bottom: 200px;
	}
	.mie-main .top-row {
		text-align: justify;
	}
	/*共通部分*/

	.plant-facilities {
		padding-top: 85px;
	}

	.plant-facilities__img--box {
		flex-direction: column;
		padding: 0 29px;
	}

	.plant-facilities__img-item {
		width: 100%;
		margin-bottom: 27px;
	}

	.plant-facilities__img--box {
		margin: 32px auto 0;
	}

	.plant-facilities__img {
		margin: 0 0 5px;
	}

	.plant-facilities__img-item figcaption {
		font-size: .15rem;
	}

	/*ロケーション*/

	.plant-location {
		overflow: hidden;
		padding: 80px 0 80px;
	}

	.carousel-box {
		margin-bottom: 0px;
	}

	.slick-slide {
		width: 360px;
		margin: 0 2px;
	}

	.plant-location__contents {
		padding: 0 15px;
		flex-direction: column;
	}

	.sp-plant-address {
		display: flex;
		justify-content: flex-start;
		width: 100%;
		margin-bottom: 37px;
	}

	.plant-location__address {
		width: 58%;
		margin-bottom: 0px;
		font-size: .15rem;
		margin-top: 36px;
		margin-left: 30px;
	}

	.plant-location__tel,
	.plant-location__fax {
		letter-spacing: 0.01em;
		margin-right: 0;
		text-align: left;
	}

	.plant-location__map--corner {
		width: 100%;
	}

	.plant-location__number {
		width: 100%;
		flex-direction: column;
	}

	.plant-location__address-text span {
		display: block;
		margin-bottom: 0px;
	}

	.plant-location__address-text {
		margin-bottom: 38px;
		line-height: 1.6;
	}

	.plant-location__tel {
		margin-bottom: 3px;
	}

	.plant-location__map {
		width: 100vw;
		max-width: 100vw;
		margin-left: -15px;
	}

	.plant-location__map iframe {
		height: 340px;
	}

	/*リンク*/
	.plant-link {
		padding: 52px 0 20px;
	}
    .mie-main .plant-link {
        padding: 0 0 20px;
    }
	.plant-link__btn {
		font-size: .16rem;
		width: 72%;
		margin: 0 auto 20px;
		padding: 10px 0;
	}

	.plant-link__btn::after {
		width: 23px;
		height: 23px;
	}

	.plant-link__box {
		margin: 0px auto 0;
	}

	.body-block.sp_only {
		display: flex;
	}

	footer {
		margin-top: 15px;
	}

}



@media screen and (max-width: 508px) {
	.badge-block_2nd {
		flex-direction: initial;
	}
}