@charset "utf-8";

/*====================================================================================

		#top layout

====================================================================================*/

/*===============================================================

		#top header layout

===============================================================*/

#top header .main_img {
	height: max(700px, 90vh);
}

#top header .main_img .main_slider .item {
	height: max(700px, 90vh);
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	line-height: 1.3;
}

#top header .main_img .main_slider img {
	object-fit: cover;
}

#top .swiper-container,
#top .swiper-slide {
	height: max(700px, 90vh);
}
#top .swiper-slide > img {
	object-fit: cover; /* IE: not support */
	width: 100%;
	height: 100%;
}

#top header .main_img .main_slider .item_01 {
	background: url("../../img/top/main_img01.jpg") center center / cover no-repeat;
}

#top header .main_img .main_slider .item_02 {
	background: url("../../img/top/main_img02.jpg") center center / cover no-repeat;
}

#top header .main_img .main_slider .item_03 {
	background: url("../../img/top/main_img03.jpg") center center / cover no-repeat;
}

#top header .main_img .main_slider .item_04 {
	background: url("../../img/top/main_img04.jpg") center center / cover no-repeat;
}

#top header .main_img .main_slider .item_05 {
	background: url("../../img/top/main_img05.jpg?ver=230522") center center / cover no-repeat;
}


#top header .main_img .main_slider .item p {
	color: #fff;
	font-size: min(80px, 8vw);
	font-weight: 700;
	line-height: 1.0;
	letter-spacing: 0.05em;
	/*filter: drop-shadow(0 0 10px rgba(0,0,0,0.9));*/
	display: none;
}

#top header .main_img .main_slider .item p .small {
	font-size: min(55px, 5.5vw);
}

#top header .main_img .main_slider .item_02 .sp {
	display: none;
}


/*========== .swiper ==========*/
#top header .main_img .main_slider .swiper-slide-active .item p {
	display: block;
}

/* 前後のスライド */

#top .swiper-slide {
	overflow: hidden;
}

#top .swiper-slide .item {
	transition: all 1.0s;
}

#top .swiper-slide[class*=-prev] .item {
	transform: translateX(80vw);
}

#top .swiper-slide[class*=-next] .item {
	transform: translateX(-80vw);
}



#top header p.txt {
	filter: drop-shadow(3px 3px 3px rgba(0,0,0,0.3));
	position: absolute;
	left: 50%;
	bottom: -7px;
	z-index: 2;
	transform: translateX(-50%);
	text-align: center;
	color: #fff;
	font-size: 43px;
	font-weight: 700;
	line-height: 1.0;
	letter-spacing: 0.05em;
}


@media screen and (max-width: 768px){
	#top header .main_img {
		height: 80vh;
	}
	
	#top header .main_img .main_slider .item {
		height: 80vh;
	}
	
	#top header .main_img .main_slider .item_01 {
		background: url("../../img/top/sp/main_img01.jpg") center center / cover no-repeat;
	}
	
	#top header .main_img .main_slider .item_02 {
		background: url("../../img/top/sp/main_img02.jpg") center center / cover no-repeat;
	}
	
	#top header .main_img .main_slider .item_03 {
		background: url("../../img/top/sp/main_img03.jpg") center center / cover no-repeat;
	}
	
	#top header .main_img .main_slider .item_04 {
		background: url("../../img/top/sp/main_img04.jpg") center center / cover no-repeat;
	}
	
	#top header .main_img .main_slider .item_05 {
		background: url("../../img/top/sp/main_img05.jpg?ver=230522") center center / cover no-repeat;
	}
	
	#top header .main_img .main_slider .item p {
		margin: 60px 0 0;
		font-size: 10vw;
	}
	
	#top header .main_img .main_slider .item p .small {
		font-size: 6.875vw;
	}
	
	#top header .main_img .main_slider .item_02 .pc {
		display: none;
	}
	
	#top header .main_img .main_slider .item_02 .sp {
		display: block;
	}
	
	
	#top header p.txt {
		width: 100%;
		position: absolute;
		left: auto;
		transform: translateX(0);
		font-size: 6vw;
	}
}



/*===============================================================

		#top #contents .about_us layout

===============================================================*/

#top #contents .about_us {
	padding: 140px 0 0;
	background-color: var(--color_orange);
	position: relative;
	color: #fff;
}

#top #contents .about_us::after {
	content: "";
	width: 100%;
	height: 25%;
	background-color: #fff;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 0;
}

#top #contents .about_us .inner {
	width: min(940px, 74%);
	margin: 0 auto;
	padding: 0 40px;
	box-sizing: content-box;
	display: flex;
	justify-content: space-between;
}

#top #contents .about_us .inner h2 {
	margin: 0 min(160px, 20%) 0 0;
	flex-shrink: 0;
	color: #fff;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2em;
}

#top #contents .about_us .inner h2 span {
	display: block;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: var(--letter);
}

#top #contents .about_us .inner .box {
	margin: 0 0 max(80px, 10%);
}

#top #contents .about_us .inner .box dl {
	margin: 0 0 40px;
}

#top #contents .about_us .inner .box dl dt {
	margin: 0 0 20px;
	font-size: 39px;
	font-weight: 900;
	line-height: 1.2;
}

#top #contents .about_us .inner .box dl dd {
	font-weight: 500;
	line-height: 2.4;
	letter-spacing: 0.2em;
}

#top #contents .about_us .inner .box p.btn {
	width: 290px;
}

#top #contents .about_us .inner .box p.btn a {
	padding: 15px;
	background: linear-gradient(to right, #fff 0%,#fff 50%, var(--color_orange) 50%,var(--color_orange) 100%);
	background-size: 202% auto;
	background-position: right center;
	border: solid 1px #fff;
	position: relative;
	display: block;
	text-align: center;
	color: #fff;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0.2em;
}

#top #contents .about_us .inner .box p.btn a:hover {
	background-position: left center;
	color: #000;
}

#top #contents .about_us .inner .box p.btn a::after {
	content: "";
	width: 10px;
	height: 10px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}

#top #contents .about_us .inner .box p.btn a:hover::after {
	right: 15px;
	border-color: #000 #000 transparent transparent;
}


#top #contents .about_us p.img {
	width: clamp(71.102%, 909px, 90%);
	position: relative;
	z-index: 1;
}


@media screen and (max-width: 768px){
	#top #contents .about_us {
		padding: 12vh 0 0;
		background-color: var(--color_orange);
		position: relative;
	}
	
	#top #contents .about_us .inner {
		width: auto;
		margin: 0 auto;
		padding: 0 8vw;
		box-sizing: border-box;
		display: block;
	}
	
	#top #contents .about_us .inner h2 {
		margin: 0 0 5vh;
		font-size: 3.6vw;
	}
	
	#top #contents .about_us .inner h2 span {
		font-size: 5vw;
	}
	
	#top #contents .about_us .inner .box {
		margin: 0 0 10vh;
	}
	
	#top #contents .about_us .inner .box dl {
		margin: 0 0 40px;
	}
	
	#top #contents .about_us .inner .box dl dt {
		margin: 0 0 2vh;
		font-size: 7vw;
	}
	
	#top #contents .about_us .inner .box dl dd {
		font-size: 3.5vw;
		line-height: 2.0;
	}
	
	#top #contents .about_us .inner .box p.btn {
		width: auto;
	}
	
	#top #contents .about_us .inner .box p.btn a {
		background: #000;
		font-size: 3.7vw;
	}
	
	#top #contents .about_us .inner .box p.btn a:hover {
		color: #fff;
	}
	
	#top #contents .about_us .inner .box p.btn a::after {
		right: 5vw;
	}
	
	#top #contents .about_us .inner .box p.btn a:hover::after {
		right: 5vw;
		border-color: #fff #fff transparent transparent;
	}
	
	
	#top #contents .about_us p.img {
		width: calc(100% - 8vw);
	}
}



/*===============================================================

		#hina #contents .product layout

===============================================================*/

#top #contents .product {
	padding: 100px 0 60px;
	position: relative;
}

#top #contents .product::after {
	content: "";
	width: 100%;
	height: 50%;
	background-color: var(--color_gray);
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
}


#top #contents .product .inner {
	width: min(1120px, 90%);
	margin: 0 auto;
	padding: 0 40px;
	box-sizing: content-box;
}

#top #contents .product .inner h2 {
	margin: 0 0 40px;
	text-align: center;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2em;
}

#top #contents .product .inner h2 span {
	display: block;
	color: var(--color_orange);
	font-size: 40px;
	font-weight: 700;
	letter-spacing: var(--letter);
}

#top #contents .product .inner ul {
	display: flex;
	justify-content: space-between;
	gap: 0 20px;
}

#top #contents .product .inner ul li {
	width: max(360px, 100% / 3);
	background-color: #fff;
	box-shadow: 0 0 10px rgba(0,0,0,0.3);
	position: relative;
}

#top #contents .product .inner ul li::after {
	content: "";
	width: 63px;
	height: 19px;
	background: url("../img/icon_arrow01.svg") left top / 100% auto no-repeat;
	position: absolute;
	right: 10%;
	bottom: 20px;
	transition: all 0.3s;
}

#top #contents .product .inner ul li:hover::after {
	right: 7%;
}

#top #contents .product .inner ul li a {
	display: block;
	color: #000;
}

#top #contents .product .inner ul li a:hover {
	color: var(--color_orange);
}

#top #contents .product .inner ul li a p {
	overflow: hidden;
}

#top #contents .product .inner ul li a p img {
	transition: all 0.3s;
}

#top #contents .product .inner ul li a:hover p img {
	transform: scale(1.1);
}

#top #contents .product .inner ul li a dl {
	padding: 20px min(50px, 10%) 50px;
	font-weight: 500;
}

#top #contents .product .inner ul li a dl dt {
	margin: 0 0 10px;
	text-align: center;
	font-size: 22px;
	font-weight: 700;
}


@media screen and (max-width: 768px){
	#top #contents .product {
		padding: 8vh 0 5vh;
	}
	
	#top #contents .product::after {
		height: 80%;
	}
	
	
	#top #contents .product .inner {
		width: auto;
		padding: 0 5vw;
		box-sizing: border-box;
	}
	
	#top #contents .product .inner h2 {
		margin: 0 0 4vh;
		font-size: 3.7vw;
		letter-spacing: var(--letter);
	}
	
	#top #contents .product .inner h2 span {
		font-size: 6vw;
	}
	
	#top #contents .product .inner ul {
		flex-flow: row wrap;
		gap: 2vh 0;
	}
	
	#top #contents .product .inner ul li {
		width: 100%;
	}
	
	#top #contents .product .inner ul li a {
		font-size: 3.5vw;
	}
	
	#top #contents .product .inner ul li::after {
		width: 50px;
		height: 15px;
		right: 5%;
		bottom: 1.5vh;
	}
	
	#top #contents .product .inner ul li:hover::after {
		right: 5%;
	}
	
	#top #contents .product .inner ul li:hover p img {
		transform: scale(1);
	}
	
	#top #contents .product .inner ul li a dl {
		padding: 2vh 4vw 4vh;
	}
	
	#top #contents .product .inner ul li a dl dt {
		margin: 0 0 1vh;
		font-size: 4.2vw;
	}
}



/*===============================================================

		#top #contents .company layout

===============================================================*/

#top #contents .company  {
	margin: 80px 0 150px;
}

#top #contents .company .inner {
	width: min(1080px, 90%);
	margin: 0 auto;
	padding: 0;
	box-sizing: content-box;
}

#top #contents .company .inner h2 {
	margin: 0 0 40px;
	text-align: center;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2em;
}

#top #contents .company .inner h2 span {
	display: block;
	color: var(--color_orange);
	font-size: 40px;
	font-weight: 700;
	letter-spacing: var(--letter);
}

#top #contents .company .inner ul {
	display: flex;
	justify-content: space-between;
	background: #333;
}

#top #contents .company .inner ul li {
	width: max(360px, 100% / 3);
}

#top #contents .company .inner ul li a {
	/*height: 130px;*/
	padding-top: 13.5%;
	padding-bottom: 13.5%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: #fff;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0.2em;
}
@media screen and (max-width: 850px){
	#top #contents .company .inner ul li a {
		font-size: 16px;
	}
}


#top #contents .company .inner ul li:nth-child(1) a {
	background: url("../../img/top/img05.jpg?ver=230522") center center / 100% auto no-repeat;
}

#top #contents .company .inner ul li:nth-child(2) a {
	background: url("../../img/top/img06.jpg") center center / 100% auto no-repeat;
}

#top #contents .company .inner ul li:nth-child(3) a {
	background: url("../../img/top/img07_2.jpg?ver=230522") center center / 100% auto no-repeat;
}

#top #contents .company .inner ul li a:hover {
	background-size: 110%;
	color: var(--color_orange);
}


@media screen and (max-width: 768px){
	#top #contents .company  {
		margin: 8vh 0 6vh;
	}
	
	#top #contents .company .inner {
		width: auto;
		padding: 0 5vw;
		box-sizing: border-box;
	}
	
	#top #contents .company .inner h2 {
		margin: 0 0 4vh;
		font-size: 3.7vw;
		letter-spacing: var(--letter);
	}
	
	#top #contents .company .inner h2 span {
		font-size: 6vw;
	}
	
	#top #contents .company .inner ul {
		display: block;
	}
	
	#top #contents .company .inner ul li {
		width: auto;
	}
	
	#top #contents .company .inner ul li a {
		height: auto;
		padding: 5vh 2vw;
		font-size: 4vw;
		letter-spacing: var(--letter);
	}
}



/*===============================================================

		#top #contents .infomation layout

===============================================================*/

#top #contents .infomation {
	margin: 0 0 100px;
}

#top #contents .infomation .inner {
	width: min(1080px, 90%);
	margin: 0 auto;
	padding: 0 40px;
	box-sizing: content-box;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#top #contents .infomation .inner .heading {
	width: calc(390px + 10vw);
	margin: 0 0 0 calc(50% - 50vw);
	background-color: var(--color_orange);
	display: flex;
	justify-content: flex-end;
	align-items: center;
	flex-shrink: 1;
}

#top #contents .infomation .inner .heading .box {
	min-width: 230px;
	padding: 50px min(60px, 10%) 50px 0;
	text-align: center;
}

#top #contents .infomation .inner .heading .box h2 {
	margin: 0 0 40px;
	color: #fff;
	font-size: 19px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2em;
}

#top #contents .infomation .inner .heading .box h2 span {
	display: block;
	font-size: 40px;
	font-weight: 700;
	letter-spacing: var(--letter);
}

#top #contents .infomation .inner .heading .box p.btn {
	width: 100%;
}

#top #contents .infomation .inner .heading .box p.btn a {
	padding: 15px;
	background: linear-gradient(to right, #fff 0%,#fff 50%, var(--color_orange) 50%,var(--color_orange) 100%);
	background-size: 202% auto;
	background-position: right center;
	border: solid 1px #fff;
	position: relative;
	display: block;
	text-align: center;
	color: #fff;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0.2em;
}

#top #contents .infomation .inner .heading .box p.btn a:hover {
	background-position: left center;
	color: var(--color_orange);
}

#top #contents .infomation .inner .heading .box p.btn a::after {
	content: "";
	width: 10px;
	height: 10px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}

#top #contents .infomation .inner .heading .box p.btn a:hover::after {
	right: 15px;
	border-color: var(--color_orange) var(--color_orange) transparent transparent;
}


#top #contents .infomation .inner .news_list {
	width: max(740px, 100%);
	padding: 0 0 0 50px;
	flex-shrink: 2;
}

#top #contents .infomation .inner .news_list dl {
	width: 100%;
	padding: 20px 0;
	display: flex;
	font-size: 14px;
	font-weight: 500;
}

#top #contents .infomation .inner .news_list dl:not(:last-of-type) {
	border-bottom: solid 1px #c9c9c9;
}

#top #contents .infomation .inner .news_list dl dt {
	/*margin: 0 2rem 0 0;*/
	width: 200px;
	padding: 0 10px 0 0;
	box-sizing: border-box;
}

#top #contents .infomation .inner .news_list dl dt span {
	margin-left: 1rem;
	padding: 2px 5px 3px;
	background-color: var(--color_gray);
	display: inline-block;
	font-size: 11px;
	line-height: 1.2;
}

#top #contents .infomation .inner .news_list dl dd{
	width: calc(100% - 200px);
}

#top #contents .infomation .inner .news_list dl dd a {
	display: block;
	color: #000;
}

#top #contents .infomation .inner .news_list dl dd a:hover {
	padding-left: 5px;
	color: var(--color_orange);
	text-decoration: underline;
	text-decoration-thickness: 0.1em;
	text-underline-offset: 5px;
}


@media screen and (max-width: 768px){
	#top #contents .infomation {
		margin: 0 0 6vh;
	}
	
	#top #contents .infomation .inner {
		width: auto;
		padding: 0;
		box-sizing: border-box;
		display: block;
	}
	
	#top #contents .infomation .inner .heading {
		width: auto;
		margin: 0 0 5vh;
		background-color: var(--color_orange);
		justify-content: center;
	}
	
	#top #contents .infomation .inner .heading .box {
		width: 100%;
		min-width: inherit;
		padding: 5vh 10vw;
		text-align: center;
	}
	
	#top #contents .infomation .inner .heading .box h2 {
		margin: 0 0 4vh;
		font-size: 3.7vw;
		letter-spacing: var(--letter);
	}
	
	#top #contents .infomation .inner .heading .box h2 span {
		font-size: 6vw;
	}
	
	#top #contents .infomation .inner .heading .box p.btn {
		width: auto;
	}
	
	#top #contents .infomation .inner .heading .box p.btn a {
		background: var(--color_orange);
		font-size: 3.7vw;
	}
	
	#top #contents .infomation .inner .heading .box p.btn a:hover {
		color: #fff;
	}
	
	#top #contents .infomation .inner .heading .box p.btn a::after {
		right: 5vw;
	}
	
	#top #contents .infomation .inner .heading .box p.btn a:hover::after {
		right: 5vw;
		border-color: #fff #fff transparent transparent;
	}
	
	
	#top #contents .infomation .inner .news_list {
		width: auto;
		padding: 0 5vw;
	}
	
	#top #contents .infomation .inner .news_list dl {
		width: auto;
		padding: 3vh 5vw;
		display: block;
		font-size: 3.4vw;
	}
	
	#top #contents .infomation .inner .news_list dl dt {
		width: 100%;
		margin: 0 0 1vh;
		padding: 0;
	}
	
	#top #contents .infomation .inner .news_list dl dt span {
		font-size: 2.8vw;
	}
	#top #contents .infomation .inner .news_list dl dd{
		width: 100%;
	}
	#top #contents .infomation .inner .news_list dl dd a:hover {
		padding-left: 0;
	}
}



/*===============================================================

		#top #contents .recruit layout

===============================================================*/

#top #contents .recruit {
	margin: 0 0 80px;
}

#top #contents .recruit .inner {
	width: min(856px, 90%);
	margin: 0 auto;
	box-sizing: content-box;
}

#top #contents .recruit .inner h2 {
	margin: 0 0 40px;
	text-align: center;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2em;
}

#top #contents .recruit .inner h2 span {
	display: block;
	color: var(--color_orange);
	font-size: 40px;
	font-weight: 700;
	letter-spacing: var(--letter);
}

#top #contents .recruit .inner h2 + p {
	margin: 0 0 30px;
	text-align: center;
	font-weight: 500;
}

#top #contents .recruit .inner p:last-of-type a img {
	transition: all 0.3s;
}

#top #contents .recruit .inner p:last-of-type a:hover img {
	transform: scale(1.05);
	filter: brightness(120%);
}


@media screen and (max-width: 768px){
	#top #contents .recruit  {
		margin: 0 0 8vh;
	}
	
	#top #contents .recruit .inner {
		width: auto;
		padding: 0 5vw;
		box-sizing: border-box;
	}
	
	#top #contents .recruit .inner h2 {
		margin: 0 0 4vh;
		font-size: 3.7vw;
		letter-spacing: var(--letter);
	}
	
	#top #contents .recruit .inner h2 span {
		font-size: 6vw;
	}
	
	#top #contents .recruit .inner h2 + p {
		margin: 0 0 3vh;
		font-size: 3.5vw;
	}
	
	#top #contents .recruit .inner p:last-of-type a:hover img {
		transform: scale(1);
		filter: brightness(100%);
	}
}





/*====================================================================================

		#company layout

====================================================================================*/

/*===============================================================

		#company header layout

===============================================================*/

#company header .main_img {
	background: url("../../img/company/main_img.jpg?ver=230522") center center / cover no-repeat;
}


@media screen and (max-width: 768px){
	#company header .main_img {
		background: url("../../img/company/main_img.jpg?ver=230522") center top / cover no-repeat;
	}
}



/*===============================================================

		#company #contents .message layout

===============================================================*/

#company #contents .message {
	padding: 0 40px 80px;
}

#company #contents .message .inner {
	max-width: 995px;
	padding: 0;
}

#company #contents .message .inner h3 {
	margin: 0 0 40px;
	text-align: center;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2em;
}

#company #contents .message .inner h3  span {
	display: block;
	color: var(--color_orange);
	font-size: 40px;
	font-weight: 700;
	letter-spacing: var(--letter);
}

#company #contents .message .inner .wrapper {
	background-color: #FFF;
	box-sizing: content-box;
	box-shadow: 7px 7px 5px rgba(41,67,149,0.5);
}

#company #contents .message .inner .wrapper .box {
	padding: 80px min(90px, 9%);
	overflow: hidden;
	line-height: 2.2;
}

#company #contents .message .inner .wrapper .box .space {
	width: 0.5px;
}

#company #contents .message .inner .wrapper .box p.img {
	clear: both;
	width: 367px;
	margin: 1em 0 2em 1em;
	float: right;
}

#company #contents .message .inner .wrapper .box p.txt_02 {
	margin: 40px 0 0;
}


@media screen and (max-width: 768px){
	#company #contents .message {
		padding: 0 5vw 8vh;
	}
	
	#company #contents .message .inner {
		max-width: inherit;
	}
	
	#company #contents .message .inner h3 {
		margin: 0 0 4vh;
		font-size: 3.7vw;
		letter-spacing: var(--letter);
	}
	
	#company #contents .message .inner h3  span {
		font-size: 6vw;
	}
	
	#company #contents .message .inner .wrapper .box {
		padding: 3vh 5vw;
		display: flex;
		overflow: visible;
		flex-flow: column wrap;
		font-size: 3.5vw;
	}
	
	#company #contents .message .inner .wrapper .box .space {
		display: none;
	}
	
	#company #contents .message .inner .wrapper .box p.img {
		clear: both;
		width: 80%;
		margin: 3vh auto 0;
		float: none;
		order: 2;
	}
	
	#company #contents .message .inner .wrapper .box p.txt_01 {
		width: 100%;
	}
	
	#company #contents .message .inner .wrapper .box p.txt_02 {
		width: 100%;
		margin: 2vh 0 0;
		order: 1;
	}
}



/*===============================================================

		.company #contents .information layout

===============================================================*/

.company #contents .information  {
	padding: 70px 0 80px;
	background-color: var(--color_gray);
}

.company #contents .information .inner {
	width: min(1080px, 90%);
	margin: 0 auto;
	padding: 0;
	box-sizing: content-box;
}

.company #contents .information .inner h3 {
	margin: 0 0 40px;
	text-align: center;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2em;
}

.company #contents .information .inner h3 span {
	display: block;
	color: var(--color_orange);
	font-size: 40px;
	font-weight: 700;
	letter-spacing: var(--letter);
}

.company #contents .information .inner ul {
	display: flex;
	justify-content: space-between;
	background: #333;
}

.company #contents .information .inner ul li {
	width: max(360px, 100% / 3);
}

.company #contents .information .inner ul li a {
	/*height: 130px;*/
	padding-top: 13.5%;
	padding-bottom: 13.5%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: #fff;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0.2em;
}
@media screen and (max-width: 850px){
	.company #contents .information .inner ul li a {
		font-size: 16px;
	}
}

.company #contents .information .inner ul li:nth-child(1) a {
	background: url("../../img/top/img05.jpg") center center / 100% auto no-repeat;
}

.company #contents .information .inner ul li:nth-child(2) a {
	background: url("../../img/top/img06.jpg") center center / 100% auto no-repeat;
}

.company #contents .information .inner ul li:nth-child(3) a {
	background: url("../../img/top/img07_2.jpg") center center / 100% auto no-repeat;
}

.company #contents .information .inner ul li a:hover {
	background-size: 110%;
	color: var(--color_orange);
}


@media screen and (max-width: 768px){
	.company #contents .information  {
		padding: 6vh 0;
	}
	
	.company #contents .information .inner {
		width: auto;
		padding: 0 5vw;
		box-sizing: border-box;
	}
	
	.company #contents .information .inner h3 {
		margin: 0 0 4vh;
		font-size: 3.7vw;
		letter-spacing: var(--letter);
	}
	
	.company #contents .information .inner h3 span {
		font-size: 6vw;
	}
	
	.company #contents .information .inner ul {
		display: block;
	}
	
	.company #contents .information .inner ul li {
		width: auto;
	}
	
	.company #contents .information .inner ul li a {
		height: auto;
		padding: 5vh 2vw;
		font-size: 4vw;
		letter-spacing: var(--letter);
	}
}





/*====================================================================================

		#group layout

====================================================================================*/

/*===============================================================

		#group header layout

===============================================================*/

#group header .main_img {
	background: url("../../img/company/group/main_img.jpg") center center / cover no-repeat;
}


@media screen and (max-width: 768px){
	#group header .main_img {
		background: url("../../img/company/group/main_img.jpg") center top / cover no-repeat;
	}
}


/*===============================================================

		#group #contents .corporate_group layout

===============================================================*/

#group #contents .corporate_group {
	margin: -90px 0 0;
	padding: 90px 40px 80px;
	background-color: var(--color_gray);
}

#group #contents .corporate_group .inner {
	
}

#group #contents .corporate_group .inner h3 {
	margin: 0 0 40px;
	position: relative;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.0;
	letter-spacing: 0.2em;
}

#group #contents .corporate_group .inner h3::before {
	content: "";
	width: 5px;
	height: 100%;
	background-color: var(--color_orange);
	position: absolute;
	left: -20px;
}

#group #contents .corporate_group .inner h3 span {
	margin: 0 0 5px;
	display: block;
	color: var(--color_orange);
	font-size: 40px;
	font-weight: 700;
	letter-spacing: var(--letter);
}

#group #contents .corporate_group .inner ul {
}

#group #contents .corporate_group .inner ul li {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#group #contents .corporate_group .inner ul li:not(:last-child) {
	margin: 0 0 40px;
}

#group #contents .corporate_group .inner ul li dl {
	margin: 0 max(40px, 5%) 0 0;
	line-height: 1.5;
}

#group #contents .corporate_group .inner ul li dl dt {
	margin: 0 0 10px;
	padding: 0 0 5px;
	border-bottom: solid 2px var(--color_orange);
	color: var(--color_orange);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: var(--letter);
}

#group #contents .corporate_group .inner ul li dl dd:not(:last-child) {
	margin: 0 0 10px;
}

#group #contents .corporate_group .inner ul li dl dd a {
	color: #000;
	text-decoration: underline;
}
#group #contents .corporate_group .inner ul li dl dd a:hover{
	text-decoration: none;
}

#group #contents .corporate_group .inner ul li dl dd.tel a {
	color: #000;
	text-decoration: none;
}

#group #contents .corporate_group .inner ul li dl dd.link a {
	color: var(--color_orange);
	text-decoration: none;
}

#group #contents .corporate_group .inner ul li dl dd.link a:hover {
	padding-left: 5px;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 5px;
}

#group #contents .corporate_group .inner ul li iframe {
	width: min(550px, 54%);
	height: 226px;
	flex-shrink: 0;
}


@media screen and (max-width: 768px){
	#group #contents .corporate_group {
		margin: -9vh 0 0;
		padding: 9vh 0 6vh;
	}
	
	#group #contents .corporate_group .inner h3 {
		margin: 0 0 4vh 3vw;
		font-size: 3.7vw;
		letter-spacing: var(--letter);
	}
	
	#group #contents .corporate_group .inner h3::before {
		width: 4px;
		left: -3vw;
	}
	
	#group #contents .corporate_group .inner h3 span {
		font-size: 6vw;
	}
	
	#group #contents .corporate_group .inner ul li {
		display: block;
	}
	
	#group #contents .corporate_group .inner ul li:not(:last-child) {
		margin: 0 0 5vh;
	}
	
	#group #contents .corporate_group .inner ul li dl {
		margin: 0 0 4vh;
		font-size: 3.5vw;
	}
	
	#group #contents .corporate_group .inner ul li dl dt {
		margin: 0 0 2vh;
		font-size: 4.5vw;
	}
	
	#group #contents .corporate_group .inner ul li dl dd:not(:last-child) {
		margin: 0 0 1vh;
	}
	
	#group #contents .corporate_group .inner ul li iframe {
		width: 100%;
		height: 25vh;
	}
}



/*===============================================================

		#group #contents .affiliated_company layout

===============================================================*/

#group #contents .affiliated_company  {
	padding: 70px 0 80px;
}

#group #contents .affiliated_company .inner {
	width: min(1150px, 90%);
	margin: 0 auto;
	padding: 0;
	box-sizing: content-box;
}

#group #contents .affiliated_company .inner h3 {
	margin: 0 0 40px;
	text-align: center;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2em;
}

#group #contents .affiliated_company .inner h3 span {
	display: block;
	color: var(--color_orange);
	font-size: 40px;
	font-weight: 700;
	letter-spacing: var(--letter);
}

#group #contents .affiliated_company .inner ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0 20px;
}

#group #contents .affiliated_company .inner ul li {
	width: max(360px, 100% / 3);
	text-align: center;
}

#group #contents .affiliated_company .inner ul li img {
	transition: all 0.3s;
}

#group #contents .affiliated_company .inner ul li:nth-child(1) img {
	width: min(375px, 100%);
}

#group #contents .affiliated_company .inner ul li:nth-child(2) img {
	width: min(320px, 100%);
}

#group #contents .affiliated_company .inner ul li:nth-child(3) img {
	width: min(375px, 100%);
}

#group #contents .affiliated_company .inner ul li a:hover img {
	transform: scale(1.05);
}


@media screen and (max-width: 768px){
	#group #contents .affiliated_company  {
		padding: 6vh 0;
	}
	
	#group #contents .affiliated_company .inner {
		width: auto;
		padding: 0 5vw;
		box-sizing: border-box;
	}
	
	#group #contents .affiliated_company .inner h3 {
		margin: 0 0 4vh;
		font-size: 3.7vw;
		letter-spacing: var(--letter);
	}
	
	#group #contents .affiliated_company .inner h3 span {
		font-size: 6vw;
	}
	
	#group #contents .affiliated_company .inner ul {
		display: block;
	}
	
	#group #contents .affiliated_company .inner ul {
		display: block;
	}
	
	#group #contents .affiliated_company .inner ul li {
		width: 100%;
		margin: 0 0 2vh;
	}
	
	#group #contents .affiliated_company .inner ul li:nth-child(3) {
		margin: 0;
	}
}





/*====================================================================================

		#about layout

====================================================================================*/

/*===============================================================

		#about header layout

===============================================================*/

#about header .main_img {
	background: url("../../img/company/about/main_img.jpg?ver=230522") center center / cover no-repeat;
}


@media screen and (max-width: 768px){
	#about header .main_img {
		background: url("../../img/company/about/main_img.jpg?ver=230522") center top / cover no-repeat;
	}
	
	#about header .main_img h2 {
		width: 85%;
		font-size: 6vw;
	}
	
	#about header .main_img h2 span {
		font-size: 3.5vw;
	}
}


/*===============================================================

		#about #contents .profile layout

===============================================================*/

#about #contents .profile {
	margin: -90px 0 0;
	padding: 90px 0 10vw;
	background-color: var(--color_orange);
	position: relative;
}

#about #contents .profile::after {
	content: "";
	width: 100%;
	height: 30%;
	background-color: #fff;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 0;
}

#about #contents .profile .inner {
	max-width: inherit;
	padding: 0 40px 0 0;
	display: flex;
}

#about #contents .profile h3 {
	margin: 0 0 40px;
	text-align: center;
	color: #fff;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2em;
}

#about #contents .profile h3 span {
	display: block;
	color: #fff;
	font-size: 40px;
	font-weight: 700;
	letter-spacing: var(--letter);
}

#about #contents .profile .inner .img {
	width: clamp(45%, 600px, 50vw);
	margin: 0 0 0 calc(50% - 50vw);
	position: realtive;
	z-index: 2;
}

#about #contents .profile .inner .box {
	width: max(650px, 50%);
	margin: 0 0 0 -5%;
	padding: 30px 45px 45px max(120px, 10%);
	background-color: var(--color_gray);
	box-shadow: 7px 7px 5px rgba(41,67,149,0.5);
	position: relative;
	z-index: 1;
	transform: translateY(60px);
}

#about #contents section .inner .box table {
	width: 100%;
}

#about #contents section .inner .box table tr {
	border-bottom: solid 1px #fff;
}

#about #contents section .inner .box table th {
	padding: 10px 10px 10px 0;
	text-align: left;
	vertical-align: middle;
	color: var(--color_orange);
	font-weight: 500;
}

#about #contents section .inner .box table td {
	padding: 10px;
}

#about #contents section .inner .box table td a.black{
	color: #000;
}

#about #contents section .inner .box table td span {
	font-size: 13px;
}

#about #contents section .inner .box table td dl dt {
	color: var(--color_orange);
}

#about #contents section .inner .box table td dl dt a{
	color: var(--color_orange);
}
@media screen and (min-width: 769px){
	#about #contents section .inner .box table td a.black:hover{
		text-decoration: underline;
	}
	#about #contents section .inner .box table td dl dt a:hover{
		text-decoration: underline;
	}	
}

#about #contents section .inner .box table td dl dd {
	margin: 0 0 10px;
}


@media screen and (max-width: 999px){
	#about #contents .profile .inner .box {
		padding: 30px 45px 45px 8%;
	}
}


@media screen and (max-width: 768px){
	#about #contents .profile {
		margin: -9vh 0 0;
		padding: 9vh 0 6vh;
	}
	
	#about #contents .profile::after {
		
	}
	
	#about #contents .profile h3 {
		margin: 0 0 4vh;
		font-size: 3.7vw;
		letter-spacing: var(--letter);
	}
	
	#about #contents .profile h3 span {
		font-size: 6vw;
	}
	
	#about #contents .profile .inner {
		padding: 0 5vw;
		flex-flow: row wrap;
	}
	
	#about #contents .profile .inner .img {
		width: 100%;
		margin: 5vh 0 0;
		order: 1;
	}
	
	#about #contents .profile .inner .img img:first-of-type {
		margin: 0 0 2vh;
	}
	
	#about #contents .profile .inner .box {
		width: 100%;
		margin: 0;
		padding: 2vh 5vw;
		transform: translateY(0);
		order: 0;
	}
	
	#about #contents section .inner .box table {
		width: 100%;
		font-size: 3.2vw;
	}
	
	#about #contents section .inner .box table tr {
		border-bottom: solid 1px #fff;
	}
	
	#about #contents section .inner .box table th {
		width: 26%;
	}
	
	#about #contents section .inner .box table td span {
		font-size: 3.0vw;
	}
}



/*===============================================================

		#about #contents .access layout

===============================================================*/

#about #contents .access {
	padding: 40px 0 220px;
	background-color: var(--color_orange);
}

#about #contents .access .inner {
	max-width: inherit;
	padding: 0 0 0 40px;
}

#about #contents .access h3 {
	margin: 0 0 40px;
	text-align: center;
	color: #fff;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2em;
}

#about #contents .access h3 span {
	display: block;
	color: #fff;
	font-size: 40px;
	font-weight: 700;
	letter-spacing: var(--letter);
}

#about #contents .access .inner .box {
	width: 53%;
	margin: 0 0 0 5%;
	padding: 30px min(75px, 5%) 45px;
	background-color: var(--color_gray);
	box-shadow: 7px 7px 5px rgba(72,72,72,0.5);
	position: relative;
	z-index: 1;
}

#about #contents .access .inner .box h4 {
	margin: 40px 0 10px;
	padding: 0 10px 5px;
	border-bottom: solid 2px var(--color_orange);
	display: inline-block;
	color: var(--color_orange);
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2em;
}

#about #contents .access .inner .box table th {
	min-width: 7em;
}

#about #contents .access .inner iframe {
	width: clamp(44%, 580px, 45%);
	min-height: 518px;
	display: block;
	position: absolute;
	right: 0;
	top: 60px;
	z-index: 2;
}


@media screen and (max-width: 999px){
	#about #contents .access .inner .box {
		width: 53%;
		margin: 0;
	}
	
	#about #contents .access .inner iframe {
		width: 50%;
	}
}


@media screen and (max-width: 768px){
	#about #contents .access {
		padding: 5vh 0;
	}
	
	#about #contents .access .inner {
		padding: 0 5vw;
	}
	
	#about #contents .access .inner h3 {
		margin: 0 0 4vh;
		font-size: 3.7vw;
		letter-spacing: var(--letter);
	}
	
	#about #contents .access .inner h3  span {
		font-size: 6vw;
	}
	
	#about #contents .access .inner .box {
		width: 100%;
		margin: 0 0 4vh;
		padding: 2vh 5vw;
	}
	
	#about #contents .access .inner .box h4 {
		margin: 40px 0 10px;
		padding: 0 10px 5px;
		border-bottom: solid 2px var(--color_orange);
		display: inline-block;
		color: var(--color_orange);
		font-size: 17px;
		font-weight: 500;
		line-height: 1.4;
		letter-spacing: 0.2em;
	}
	
	#about #contents .access .inner .box table th {
		min-width: 8em;
	}
	
	#about #contents .access .inner iframe {
		width: 100%;
		min-height: inherit;
		height: 25vh;
		display: block;
		position: static;
		right: auto;
		top: auto;
		z-index: 2;
	}
}



/*===============================================================

		#about #contents .history layout

===============================================================*/

#about #contents .history {
	padding: 70px 0 100px;
}

#about #contents .history .inner {
	max-width: 1160px;
}

#about #contents .history .inner h3 {
	margin: 0 0 40px;
	text-align: center;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2em;
}

#about #contents .history .inner h3 span {
	display: block;
	color: var(--color_orange);
	font-size: 40px;
	font-weight: 700;
	letter-spacing: var(--letter);
}

#about #contents .history .inner table {
	width: 100%;
}

#about #contents .history .inner table th {
	width: 15%;
	padding: 15px 0;
	color: #fff;
	background-color: #294395;
	border-bottom: solid 1px #fff;
	text-align: center;
	vertical-align: middle;
	font-weight: 500;
}

#about #contents .history .inner table tr:nth-of-type(1) th {
	border-top: solid 1px #fff;
}

#about #contents .history .inner table td {
	padding: 15px 25px;
	border-bottom: solid 1px #b2b2b2;
	border-right: solid 1px #b2b2b2;
}

#about #contents .history .inner table tr:nth-of-type(1) td {
	border-top: solid 1px #b2b2b2;
}


@media screen and (max-width: 768px){
	#about #contents .history {
		padding: 6vh 0;
	}
	
	#about #contents .history .inner h3 {
		margin: 0 0 4vh;
		font-size: 3.7vw;
		letter-spacing: var(--letter);
	}
	
	#about #contents .history .inner h3 span {
		font-size: 6vw;
	}
	
	#about #contents .history .inner table {
		font-size: 3.5vw;
	}
	
	#about #contents .history .inner table th {
		width: 22%;
		padding: 1vh 0;
		background-color: #294395;
		border-bottom: solid 1px #fff;
		text-align: center;
		vertical-align: middle;
		font-weight: 500;
	}
	
	#about #contents .history .inner table td {
		padding: 1vh 3vw;
	}
}



/*===============================================================

		#about #contents .branch layout

===============================================================*/

#about #contents .branch {
	padding: 70px 0 100px;
}

#about #contents .branch .inner {
	max-width: 1160px;
	padding: 0 140px;
}

#about #contents .branch .inner h3 {
	margin: 0 0 40px;
	text-align: center;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2em;
}

#about #contents .branch .inner h3 span {
	display: block;
	color: var(--color_orange);
	font-size: 40px;
	font-weight: 700;
	letter-spacing: var(--letter);
}

#about #contents .branch .inner table {
	width: 100%;
}

#about #contents .branch .inner table th {
	width: 15%;
	padding: 15px 0;
	color: #fff;
	background-color: #294395;
	border-bottom: solid 1px #fff;
	text-align: center;
	vertical-align: middle;
	font-weight: 500;
}

#about #contents .branch .inner table tr:nth-of-type(1) th {
	border-top: solid 1px #fff;
}

#about #contents .branch .inner table td {
	padding: 15px 25px;
	border-bottom: solid 1px #b2b2b2;
	border-right: solid 1px #b2b2b2;
}

#about #contents .branch .inner table tr:nth-of-type(1) td {
	border-top: solid 1px #b2b2b2;
}


@media screen and (max-width: 768px){
	#about #contents .branch {
		padding: 6vh 0;
	}
	
	#about #contents .branch .inner {
        width: auto;
        padding: 0 5vw;
    }

	#about #contents .branch .inner h3 {
		margin: 0 0 4vh;
		font-size: 3.7vw;
		letter-spacing: var(--letter);
	}
	
	#about #contents .branch .inner h3 span {
		font-size: 6vw;
	}
	
	#about #contents .branch .inner table {
		font-size: 3.5vw;
	}
	
	#about #contents .branch .inner table th {
		width: 15%;
		padding: 1vh 0;
		background-color: #294395;
		border-bottom: solid 1px #fff;
		text-align: center;
		vertical-align: middle;
		font-weight: 500;
	}
	
	#about #contents .branch .inner table td {
		padding: 1vh 3vw;
	}
}



/*===============================================================

		#about #contents .information layout

===============================================================*/

#about #contents .information {
	padding: 0 0 80px;
	background-color: transparent;
}


@media screen and (max-width: 768px){
	#about #contents .information {
		padding: 0 0 6vh;
	}
}





/*====================================================================================

		.contact layout

====================================================================================*/

.contact {
	background-color: var(--color_gray);
}



/*===============================================================

		.contact header layout

===============================================================*/

.contact header .main_img {
	height: 300px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.contact header .main_img h2 {
	width: auto;
	height: auto;
	padding: 60px 0 0;
	background-color: transparent;
	display: block;
	position: relative;
	left: auto;
	bottom: auto;
	color: #000;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: var(--letter);
}

.contact header .main_img h2::after {
	content: "";
	width: 80px;
	height: 4px;
	background-color: var(--color_orange);
	position: absolute;
	left: calc(50% - 40px);
	bottom: -20px;
}



@media screen and (max-width: 768px){
	.contact header .main_img {
		height: 25vh;
	}
	
	.contact header .main_img h2 {
		width: auto;
		height: auto;
		padding: 5vh 0 0;
		top: auto;
		bottom: auto;
		font-size: 6vw;
	}
}



/*===============================================================

		.contact #contents .form ul.link layout

===============================================================*/

.contact #contents {
	padding: 0 0 100px;
}

.contact #contents .form .inner ul.link {
	margin: 0 0 70px;
	display: flex;
	justify-content: center;
	gap: 0 25px;
}

.contact #contents .form .inner ul.link li {
	width: max(400px, 37%);
}

.contact #contents .form .inner ul.link li a {
	display: block;
	position: relative;
	text-align: center;
	color: #fff;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
}

.contact #contents .form .inner ul.link li.tel a {
	padding: 20px 0 20px 40px;
	background: url("../img/icon_tel.svg") left 35px center / 20px auto no-repeat #000;
}

.contact #contents .form .inner ul.link li.tel a span {
	margin-right: 1em;
	display: inline-block;
	font-size: 14px;
}

.contact #contents .form .inner ul.link li.entry a {
	padding: 20px 30px 20px 0;
	background: linear-gradient(to right, #fff 0%,#fff 50%, var(--color_orange) 50%,var(--color_orange) 100%);
	background-size: 202% auto;
	background-position: right center;
}

.contact #contents .form .inner ul.link li.entry a:hover {
	background-position: left center;
	color: var(--color_orange);
}

.contact #contents .form .inner ul.link li.entry a::after {
	content: "";
	width: 10px;
	height: 10px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: 40px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}

.contact #contents .form .inner ul.link li.entry a:hover::after {
	right: 35px;
	border-color: var(--color_orange) var(--color_orange) transparent transparent;
}


@media screen and (max-width: 768px){
	.contact #contents {
		padding: 0 0 8vh;
	}
	
	.contact #contents .form .inner ul.link {
		flex-flow: row wrap;
		gap: 2vh 0;
	}
	
	.contact #contents .form .inner ul.link li {
		width: 100%;
	}
	
	.contact #contents .form .inner ul.link li a {
		font-size: 3.8vw;
	}
	
	.contact #contents .form .inner ul.link li.tel a {
		background: url("../img/icon_tel.svg") left 35px center / 4vw auto no-repeat #000;
	}
	
	.contact #contents .form .inner ul.link li.tel a span {
		font-size: 3.2vw;
	}
	
	.contact #contents .form .inner ul.link li.entry a {
		background: var(--color_orange);
	}
	
	.contact #contents .form .inner ul.link li.entry a:hover {
		color: #fff;
	}
	
	.contact #contents .form .inner ul.link li.entry a::after {
		right: 10%;
	}
	
	.contact #contents .form .inner ul.link li.entry a:hover::after {
		right: 10%;
		border-color: #fff #fff transparent transparent;
	}
}



/*===============================================================

		.contact #contents .form form layout

===============================================================*/

.contact #contents .form .inner .wrapper {
	padding: 60px 50px 90px;
	background-color: #fff;
}

.contact #contents .form .inner .wrapper dl {
	margin: 0 0 40px;
	display: flex;
	align-items: center;
}

.contact #contents .form .inner .wrapper dl:last-of-type {
	align-items: flex-start;
}

.contact #contents .form .inner .wrapper dl dt {
	width: 180px;
	flex-shrink: 0;
}

.contact #contents .form .inner .wrapper dl dt .required {
	color: var(--color_orange);
}

.contact #contents .form .inner .wrapper dl dd {
	width: 100%;
}

.contact #contents .form .inner .wrapper dl dd .bar {
	margin: 0 10px;
	display: inline-block;
}

.contact #contents .form .inner .wrapper p.privacy {
	margin: 100px 0 60px;
	text-align: center;
}

.contact #contents .form .inner .wrapper p.privacy a {
	color: var(--color_orange);
}

.contact #contents .form .inner .wrapper p.privacy a:hover {
	text-decoration: underline;
}

.contact #contents .form .inner .wrapper p.btn {
	width: 460px;
	margin: 0 auto;
	position: relative;
}

.contact #contents .form .inner .wrapper p.btn::after,
#confirm #contents .form .inner ul.btn li.submit::after {
	content: "";
	width: 12px;
	height: 12px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: 30px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}

.contact #contents .form .inner .wrapper p.btn:hover::after {
	right: 25px;
}

@media screen and (max-width: 768px){
	.contact #contents .form .inner .wrapper {
		padding: 3vh 4vw;
	}
	
	.contact #contents .form .inner .wrapper dl {
		margin: 0 0 4vh;
		display: block;
	}
	
	.contact #contents .form .inner .wrapper dl dt,
	#confirm #contents .form .inner .wrapper dl dt {
		width: auto;
		padding: 0 0 1vh;
	}
	
	.contact #contents .form .inner .wrapper dl dd .bar {
		margin: 0 2vw;
	}
	
	.contact #contents .form .inner .wrapper p.privacy {
		margin: 6vh 0 4vh;
		text-align: left;
	}
	
	.contact #contents .form .inner .wrapper p.btn {
		width: 100%;
	}
	
	.contact #contents .form .inner .wrapper p.btn::after {
		right: 5%;
	}
	
	.contact #contents .form .inner .wrapper p.btn:hover::after {
		right: 5%;
		border-color: #fff #fff transparent transparent;
	}
}



/*===============================================================

		form parts layout

===============================================================*/

form input[type="text"] {
	padding: 20px 40px;
	border: solid 2px #c9d0d3;
	border-radius: 5px;
	box-sizing: border-box;
	font-size: 16px;
}

form input.txt_01 {
	width: 430px;
}

form input.txt_02 {
	width: 100%;
}

form input.txt_03 {
	width: 120px;
}

form select {
	padding: 20px 40px;
	background-color: #fff;
	border: solid 2px #c9d0d3;
	border-radius: 5px;
	font-size: 16px;
}

form input::placeholder {
	color: #666;
}



form input[type="checkbox"] {
	margin-right: 10px;
}

form label:not(:last-of-type) {
	margin-right: 30px;
}

form textarea {
	width: 100%;
	height: 230px;
	padding: 20px 40px;
	border: solid 2px #c9d0d3;
	border-radius: 5px;
	box-sizing: border-box;
	font-size: 16px;
}

form input[type="submit"] {
	width: 100%;
	margin: 0 auto;
	padding: 20px 20px 20px 0;
	background: linear-gradient(to right, var(--color_orange) 0%,var(--color_orange) 50%, #000 50%,#000 100%);
	background-size: 202% auto;
	background-position: right center;
	border: none;
	box-sizing: border-box;
	display: block;
	position: relative;
	cursor: pointer;
	color: #fff;
	font-size: 17px;
	font-weight: bold;
	letter-spacing: 0.2em;
	transition: all .3s;
	appearance: none;
}

form input[type="submit"]:hover {
	background-position: left center;
}



@media screen and (max-width: 860px){
	form input.txt_01 {
		width: 80%;
	}
}


@media screen and (max-width: 768px){
	form input[type="text"] {
		padding: 2vh 2vw;
		border-radius: 0;
		-webkit-appearance: none;
		appearance: none;
	}
	
	form input.txt_01 {
		width: 100%;
	}
	
	form input.txt_02 {
		width: 100%;
	}
	
	form input.txt_03 {
		width: 20vw;
	}
	
	form select {
		width: 80%;
		padding: 2vh 2vw;
		background-color: #fff;
		border: solid 2px #c9d0d3;
		border-radius: 5px;
		font-size: 16px;
	}
	
	form label:not(:last-of-type) {
		margin: 0 0 10px;
		display: inline-block;
	}
	
	form textarea {
		height: 30vh;
		padding: 2vh 2vw;
		-webkit-appearance: none;
		appearance: none;
	}
	
	form input[type="submit"] {
		background: #000;
		font-size: 3.5vw;
		letter-spacing: 0em;
	}
}





/*====================================================================================

		#confirm layout

====================================================================================*/

/*===============================================================

		#confirm #contents .form form layout

===============================================================*/

#confirm #contents .form .inner .wrapper dl:not(:last-of-type) {
	margin: 0 0 20px;
	padding: 0 0 20px;
	border-bottom: solid 2px #d7dcde;
}

#confirm #contents .form .inner ul.btn {
	margin: 70px 0 0;
	display: flex;
	justify-content: space-between;
}

#confirm #contents .form .inner ul.btn li {
	width: 350px;
	position: relative;
	text-align: center;
}

#confirm #contents .form .inner ul.btn li.back input[name="submitBack"],
#confirm #contents .form .inner ul.btn li.back a {
	width: 100%;
	margin: 0 auto;
	padding: 20px 0 20px 20px;
	background: linear-gradient(to right,#000  0%,#000 50%, var(--color_orange) 50%,var(--color_orange) 100%);
	background-size: 202% auto;
	background-position: left center;
	border: none;
	box-sizing: border-box;
	display: block;
	position: relative;
	color: #fff;
	font-size: 17px;
	font-weight: bold;
	letter-spacing: 0.2em;
	transition: all .3s;
	appearance: none;
}

#confirm #contents .form .inner ul.btn li.back input[name="submitBack"]:hover,
#confirm #contents .form .inner ul.btn li.back a:hover {
	background-position: right center;
}

#confirm #contents .form .inner ul.btn li.back::before,
#confirm #contents .form .inner ul.btn li.back a::before {
	content: "";
	width: 12px;
	height: 12px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	left: 30px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(-135deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}

#confirm #contents .form .inner ul.btn li.back:hover::before,
#confirm #contents .form .inner ul.btn li.back a:hover::before {
	left: 25px;
}

#confirm #contents .form .inner ul.btn li.submit input[type="submit"] {
	width: 100%;
	margin: 0 auto;
	padding: 20px 20px 20px 0;
	background: linear-gradient(to right, #fff 0%,#fff 50%, var(--color_orange) 50%,var(--color_orange) 100%);
	background-size: 202% auto;
	background-position: right center;
	border: none;
	box-sizing: border-box;
	display: block;
	position: relative;
	color: #fff;
	font-size: 17px;
	font-weight: bold;
	letter-spacing: 0.2em;
	transition: all .3s;
	appearance: none;
}

#confirm #contents .form .inner ul.btn li.submit input[type="submit"]:hover {
	background-position: left center;
	color: var(--color_orange);
}

#confirm #contents .form .inner ul.btn li.submit:hover::after {
	right: 25px;
	border-color: var(--color_orange) var(--color_orange) transparent transparent;
}



.contact #contents .mw_wp_form .form .inner .step01{
	display: inline-block;
}
.contact #contents .mw_wp_form .form .inner .step01.block{
	display: block;
}
.contact #contents .mw_wp_form .form .inner .step01.flex{
	display: flex;
}
.contact #contents .mw_wp_form .form .inner .step02{
	display: none;
}
.contact #contents .mw_wp_form_confirm .form .inner .step01{
	display: none;
}
.contact #contents .mw_wp_form_confirm .form .inner .step01.block{
	display: none;
}
.contact #contents .mw_wp_form_confirm .form .inner .step01.flex{
	display: none;
}
.contact #contents .mw_wp_form_confirm .form .inner .step02{
	display: flex;
}


@media screen and (max-width: 768px){
	#confirm #contents .form .inner .wrapper dl:not(:last-of-type) {
		margin: 0 0 2vh;
		padding: 0 0 2vh;
	}
	
	#confirm #contents .form .inner ul.btn {
		margin: 6vh 0 0;
		flex-flow: row wrap;
		gap: 2vh 0
	}
	
	#confirm #contents .form .inner ul.btn li {
		width: 100%;
	}
	
	#confirm #contents .form .inner ul.btn li.back a {
		padding: 20px;
		background: #000;
	}
	
	#confirm #contents .form .inner ul.btn li.back a:hover {
		background-position: right center;
	}
	
	#confirm #contents .form .inner ul.btn li.back a::before {
		left: 5%;
	}
	
	#confirm #contents .form .inner ul.btn li.back a:hover::before {
		left: 5%;
	}
	
	#confirm #contents .form .inner ul.btn li.submit input[type="submit"] {
		padding: 20px;
		background: var(--color_orange);
	}
	
	#confirm #contents .form .inner ul.btn li.submit input[type="submit"]:hover {
		color: #fff;
	}
	
	#confirm #contents .form .inner ul.btn li.submit::after {
		right: 5%;
	}
	
	#confirm #contents .form .inner ul.btn li.submit:hover::after {
		right: 5%;
		border-color: #fff #fff transparent transparent;
	}
}





/*====================================================================================

		#thanks layout

====================================================================================*/

/*===============================================================

		#thanks #contents .form layout

===============================================================*/

#thanks #contents .form .inner .wrapper p:nth-of-type(1) {
	margin: 20px 0 60px;
	text-align: center;
	font-size: 25px;
	font-weight: 700;
}

#thanks #contents .form .inner .wrapper p:nth-of-type(2) {
	text-align: center;
	font-size: 18px;
	font-weight: normal;
}

#thanks #contents .form .inner p.btn {
	width: 350px;
	margin: 80px auto 0;
	position: relative;
	text-align: center;
}

#thanks #contents .form .inner p.btn a {
	width: 100%;
	margin: 0 auto;
	padding: 20px 20px 20px 0;
	background: linear-gradient(to right, var(--color_orange) 0%,var(--color_orange) 50%, #000 50%,#000 100%);
	background-size: 202% auto;
	background-position: right center;
	border: none;
	box-sizing: border-box;
	display: block;
	position: relative;
	cursor: pointer;
	color: #fff;
	font-size: 17px;
	font-weight: bold;
	letter-spacing: 0.2em;
	transition: all .3s;
	appearance: none;
}

#thanks #contents .form .inner p.btn a:hover {
	background-position: left center;
}

#thanks #contents .form .inner p.btn a::after {
	content: "";
	width: 12px;
	height: 12px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: 40px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}

#thanks #contents .form .inner p.btn a:hover::after {
	right: 35px;
}


@media screen and (max-width: 768px){
	#thanks #contents .form .inner .wrapper p:nth-of-type(1) {
		margin: 0 0 4vh;
		font-size: 5vw;
		line-height: 1.5;
	}
	
	#thanks #contents .form .inner .wrapper p:nth-of-type(2) {
		text-align: left;
		font-size: 4vw;
	}
	
	#thanks #contents .form .inner p.btn {
		width: 100%;
	}
	
	#thanks #contents .form .inner p.btn a {
		padding: 20px;
		background: #000;
	}
	
	#thanks #contents .form .inner p.btn  a:hover {
		background-position: right center;
	}
	
	#thanks #contents .form .inner p.btn a::after {
		right: 5%;
	}
	
	#thanks #contents .form .inner p.btn a:hover::after {
		right: 5%;
	}
}





/*====================================================================================

		.news layout

====================================================================================*/

.news {
	background-color: var(--color_gray);
}



/*===============================================================

		.news header layout

===============================================================*/

.news header .main_img {
	height: 300px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.news header .main_img h2 {
	width: auto;
	height: auto;
	padding: 60px 0 0;
	background-color: transparent;
	display: block;
	position: relative;
	left: auto;
	bottom: auto;
	color: #000;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: var(--letter);
}

.news header .main_img h2::after {
	content: "";
	width: 80px;
	height: 4px;
	background-color: var(--color_orange);
	position: absolute;
	left: calc(50% - 40px);
	bottom: -20px;
}



@media screen and (max-width: 768px){
	.news header .main_img {
		height: 25vh;
	}
	
	.news header .main_img h2 {
		width: auto;
		height: auto;
		padding: 5vh 0 0;
		top: auto;
		bottom: auto;
		font-size: 6vw;
	}
}



/*===============================================================

		#news #contents .detail layout

===============================================================*/

.news #contents {
	padding: 0 40px 130px;
}

#news #contents .detail .inner {
	max-width: 1080px;
	padding: 0;
}

#news #contents .detail .inner ul.switch {
	height: 62px;
	border-bottom: solid 3px var(--color_orange);
	display: flex;
	align-items: flex-end;
}

#news #contents .detail .inner ul.switch li {
	width: 215px;
	margin: 0 0 0 -50px;
	position: relative;
}

#news #contents .detail .inner ul.switch li:nth-child(1) {
	width: 170px;
	margin: 0;
	z-index: 5;
}

#news #contents .detail .inner ul.switch li:nth-child(2) {
	z-index: 4;
}

#news #contents .detail .inner ul.switch li:nth-child(3) {
	z-index: 3;
}

#news #contents .detail .inner ul.switch li:nth-child(4) {
	z-index: 2;
}

#news #contents .detail .inner ul.switch li:nth-child(5) {
	z-index: 1;
}

#news #contents .detail .inner ul.switch li a {
	height: 52px;
	padding: 0 55px 0 0;
	background-color: #fff;
	border-style: solid;
	border-width: 2px 2px 0 0;
	border-color: var(--color_gray) var(--color_gray) transparent transparent;
	border-radius: 0 50px 0 0;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	color: var(--color_orange);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.5;
}

#news #contents .detail .inner ul.switch li.selected a {
	height: 62px;
	background-color: var(--color_orange);
	color: #fff;
}


#news #contents .detail .inner .wrapper {
	padding: 30px 40px 90px;
	background-color: #fff;
}

#news #contents .detail .inner .list ul li {
	padding: 50px 60px;
	border-bottom: solid 2px var(--color_gray);
}

#news #contents .detail .inner .list ul li dl {
	display: flex;
	line-height: 1.5;
}

#news #contents .detail .inner .list ul li dl dt {
	width: 180px;
	flex-shrink: 0;
}

#news #contents .detail .inner .list ul li dl dt span {
	color: var(--color_orange);
}

#news #contents .detail .inner .list ul li dl dt .date {
	margin: 0 0 3px;
	display: block;
}

#news #contents .detail .inner .list ul li dl dt .attr {
	min-width: 82px;
	padding: 2px 15px 3px;
	background-color: var(--color_orange);
	display: inline-block;
	text-align: center;
	color: #fff;
	font-size: 12px;
	line-height: 1.3;
}

#news #contents .detail .inner .list ul li dl dd {
	width: 100%;
}

#news #contents .detail .inner .list ul li dl dd a {
	padding: 0 clamp(10%, 100px, 11%) 0 0;
	position: relative;
	display: block;
	color: #000;
}

#news #contents .detail .inner .list ul li dl dd a:hover {
	padding: 0 min(100px, 10%) 0 5px;
	color: var(--color_orange);
	text-decoration: underline;
	text-decoration-thickness: 0.1em;
	text-underline-offset: 5px;
}

#news #contents .detail .inner .list ul li dl dd a::after {
	content: "";
	width: 12px;
	height: 12px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: var(--color_orange) var(--color_orange) transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: 0;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}

#news #contents .detail .inner .list ul li dl dd a:hover::after {
	right: -5px;
}


#news #contents .detail .inner ul.pagination {
	margin: 100px 0 0;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	gap: 0 5px;
}

#news #contents .detail .inner ul.pagination li.back {
	margin: 0 0 0 15px;
	padding: 0 0 0 30px;
	border-left: solid 2px var(--color_gray);
}

#news #contents .detail .inner ul.pagination li a,
#news #contents .detail .inner ul.pagination li.dotted {
	min-width: 42px;
	height: 42px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	color: #7f7f7f;
	font-family: 22px;
	line-height: 1.0;
}

#news #contents .detail .inner ul.pagination li.current a,
#news #contents .detail .inner ul.pagination li a:hover {
	background-color: var(--color_orange);
	color: #fff;
}

#news #contents .detail .inner ul.pagination li.back a {
	padding: 10px 40px 10px 10px;
}

#news #contents .detail .inner ul.pagination li.back a::after {
	content: "";
	width: 10px;
	height: 10px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: #7f7f7f #7f7f7f transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: 15px;
	top: 52%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}

#news #contents .detail .inner ul.pagination li.back a:hover::after {
	border-color: #fff #fff transparent transparent;
	right: 10px;
}



@media screen and (max-width: 768px){
	.news #contents {
		padding: 0 5vw 8vh;
	}
	
	#news #contents .detail .inner ul.switch {
		height: 50px;
	}
	
	#news #contents .detail .inner ul.switch li {
		width: 25%;
		margin: 0 0 0 -5%;
	}
	
	#news #contents .detail .inner ul.switch li:nth-child(1) {
		width: 25%;
	}
	
	#news #contents .detail .inner ul.switch li a {
		height: 40px;
		padding: 0 0 0 6vw;
		border-radius: 0 15px 0 0;
		justify-content: flex-start;
		font-size: 3vw;
	}
	
	#news #contents .detail .inner ul.switch li:nth-child(4) a {
		padding: 0 0 0 8vw;
	}
	
	#news #contents .detail .inner ul.switch li.selected a {
		height: 50px;
	}
	
	
	#news #contents .detail .inner .wrapper {
		padding: 3vh 5vw;
	}
	
	#news #contents .detail .inner .list ul li {
		padding: 2vh 2vw;
	}
	
	#news #contents .detail .inner .list ul li dl {
		display: block;
		font-size: 3.5vw;
	}
	
	#news #contents .detail .inner .list ul li dl dt {
		width: auto;
		margin: 0 0 1vh;
	}
	
	#news #contents .detail .inner .list ul li dl dt span {
		color: var(--color_orange);
	}
	
	#news #contents .detail .inner .list ul li dl dt .date {
		margin: 0 2vw 0 0;
		display: inline-block;
	}
	
	#news #contents .detail .inner .list ul li dl dt .attr {
		min-width: 18vw;
		font-size: 2.8vw;
	}
	
	#news #contents .detail .inner .list ul li dl dd a {
		padding: 0 3vw 0 0;
	}
	
	#news #contents .detail .inner .list ul li dl dd a:hover {
		padding: 0 3vw 0 0;
	}
	
	#news #contents .detail .inner .list ul li dl dd a:hover::after {
		right: 0;
	}
	
	
	#news #contents .detail .inner ul.pagination {
		margin: 6vh 0 0;
		gap: 1vh 2vw;
	}
	
	#news #contents .detail .inner ul.pagination li.back {
		margin: 0 0 0 1vw;
		padding: 0 0 0 2vw;
	}
	
	#news #contents .detail .inner ul.pagination li a,
	#news #contents .detail .inner ul.pagination li.dotted {
		min-width: 2em;
		height: 2em;
		font-family: 4vw;
	}
	
	#news #contents .detail .inner ul.pagination li.back a {
		padding: 1vh 6vw 1vh 1vw;
	}
	
	#news #contents .detail .inner ul.pagination li.back a::after {
		right: 10%;
	}
	
	#news #contents .detail .inner ul.pagination li.back a:hover::after {
		right: 10%;
	}
}






/*====================================================================================

		#single layout

====================================================================================*/


/*===============================================================

		#single #contents .detail layout

===============================================================*/

#single #contents .detail .inner {
	max-width: 1080px;
	padding: 90px 110px;
	background-color: #fff;
}

#single #contents .detail .inner article {
	margin: 0 0 120px;
}

#single #contents .detail .inner article p {
	line-height: 2.0;
}

#single #contents .detail .inner article a {
	color: var(--color_orange);
	overflow-wrap: break-word;
}

#single #contents .detail .inner article a:hover {
	text-decoration: underline;
}

#single #contents .detail .inner article p:not(:last-of-type) {
	margin: 0 0 2em;
}

#single #contents .detail .inner article h1,
#single #contents .detail .inner article h3 {
	margin: 0 0 60px;
	padding: 0 0 15px;
	border-bottom: solid 2px var(--color_gray);
	font-size: 20px;
	font-weight: 500;
}

#single #contents .detail .inner article .date {
	margin: 0 20px 0 0;
	display: inline-block;
	color: var(--color_orange);
	font-weight: 400;
}

#single #contents .detail .inner article .attr {
	min-width: 82px;
	padding: 2px 15px 3px;
	background-color: var(--color_orange);
	display: inline-block;
	text-align: center;
	color: #fff;
	font-size: 12px;
	line-height: 1.3;
}

#single #contents .detail .inner article section {
	margin: 80px 0 0;
}

/*#single #contents .detail .inner article h4*/
#single #contents .detail .inner article h2 {
	margin: 0 0 30px;
	padding: 10px 25px;
	background-color: var(--color_orange);
	color: #fff;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.8;
}
#single #contents .detail .inner article h3 {
	margin: 0 0 30px;
	padding: 10px 25px;
	border-bottom: 2px solid var(--color_orange);
	color: var(--color_orange);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.8;
}
#single #contents .detail .inner article h4 {
	margin: 0 0 30px;
	padding: 10px 0;
	color: var(--color_orange);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.8;
}


#single #contents .detail .inner article ul.img_double {
	margin: 60px 0;
	padding: 0;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
}

#single #contents .detail .inner article ul.img_double li {
	width: 48%;
}

#single #contents .detail .inner article ul,
#single #contents .detail .inner article ol{
	margin: 2em 0;
	padding: 0 0 0 2em;
}
#single #contents .detail .inner article ul li{
	list-style-type: disc;
}
#single #contents .detail .inner article ol li{
	list-style-type: decimal;
}
#single #contents .detail .inner article em{
	font-style: italic !important;
}

#single #contents .detail .inner ul.other_news {
	margin: 0 0 80px;
	border-top: solid 2px var(--color_gray);
	border-bottom: solid 2px var(--color_gray);
	display: flex;
	justify-content: space-between;
}

#single #contents .detail .inner ul.other_news li {
	width: 50%;
	line-height: 1.5;
}

#single #contents .detail .inner ul.other_news li.prev {
	border-right: solid 2px var(--color_gray);
}

#single #contents .detail .inner ul.other_news li a {
	padding: 40px 60px 60px;
	display: block;
	position: relative;
	color: #000;
}

#single #contents .detail .inner ul.other_news li a:hover {
	color: var(--color_orange);
	text-decoration: underline;
	text-decoration-thickness: 0.1em;
	text-underline-offset: 5px;
}

#single #contents .detail .inner ul.other_news li.prev a::before,
#single #contents .detail .inner ul.other_news li.next a::after {
	content: "";
	width: 12px;
	height: 12px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: var(--color_orange) var(--color_orange) transparent transparent;
	box-sizing: border-box;
	position: absolute;
	top: 50%;
	z-index: 2;
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}

#single #contents .detail .inner ul.other_news li.prev a::before {
	left: 20px;
	transform: translateY(-50%) rotate(-135deg);
}

#single #contents .detail .inner ul.other_news li.prev a:hover::before {
	left: 15px;
}

#single #contents .detail .inner ul.other_news li.next a::after {
	right: 20px;
	transform: translateY(-50%) rotate(45deg);
}


#single #contents .detail .inner ul.other_news li.next a:hover::after {
	right: 15px;
}


#single #contents .detail .inner ul.other_news li a .date {
	margin: 0 0 20px;
	display: block;
	color: var(--color_orange);
}


#single #contents .detail .inner ul.other_page {
	display: flex;
	justify-content: center;
	gap: 0 20px;
}

#single #contents .detail .inner ul.other_page li {
	width: 350px;
	position: relative;
	text-align: center;
}

#single #contents .detail .inner ul.other_page li a {
	width: 100%;
	margin: 0 auto;
	padding: 20px 20px 20px 0;
	background: linear-gradient(to right, var(--color_orange) 0%,var(--color_orange) 50%, #000 50%,#000 100%);
	background-size: 202% auto;
	background-position: right center;
	border: none;
	box-sizing: border-box;
	display: block;
	position: relative;
	cursor: pointer;
	color: #fff;
	font-size: 17px;
	font-weight: bold;
	letter-spacing: 0.2em;
	transition: all .3s;
	appearance: none;
}

#single #contents .detail .inner ul.other_page li a:hover {
	background-position: left center;
}

#single #contents .detail .inner ul.other_page li a::after {
	content: "";
	width: 12px;
	height: 12px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: 40px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}

#single #contents .detail .inner ul.other_page li a:hover::after {
	right: 35px;
}


@media screen and (max-width: 768px){
	#single #contents .detail .inner {
		padding: 3vh 5vw;
	}
	
	#single #contents .detail .inner article {
		margin: 0 0 8vh;
		font-size: 3.5vw;
	}
	
	#single #contents .detail .inner article p {
		line-height: 1.8;
	}
	
	#single #contents .detail .inner article h1,
	#single #contents .detail .inner article h3 {
		margin: 0 0 4vh;
		padding: 0 0 2vh;
		font-size: 4vw;
		line-height: 1.5;
	}
	
	#single #contents .detail .inner article .date {
		margin: 0 2vw 1vh 0;
		font-size: 3.6vw;
	}
	
	#single #contents .detail .inner article .attr {
		min-width: inherit;
		padding: 2px 2vw 3px;
		font-size: 2.8vw;
	}
	
	#single #contents .detail .inner article section {
		margin: 8vh 0 0;
	}
	
	#single #contents .detail .inner article h4 {
		margin: 0 0 3vh;
		padding: 1vh 3vw;
		font-size: 4vw;
		line-height: 1.5;
	}
	
	#single #contents .detail .inner article ul.img_double {
		margin: 4vh 0;
		/*gap: 2vh 0;*/
	}
	
	#single #contents .detail .inner article ul.img_double li {
		width: 48%;
		/*width: 100%;*/
	}
	
	
	#single #contents .detail .inner ul.other_news {
		margin: 0 0 6vh;
		display: flex;
		justify-content: space-between;
	}
	
	#single #contents .detail .inner ul.other_news li {
		width: 50%;
		line-height: 1.5;
	}
	
	#single #contents .detail .inner ul.other_news li.prev {
		border-right: solid 2px var(--color_gray);
	}
	
	#single #contents .detail .inner ul.other_news li a {
		padding: 2vh 4vw;
		font-size: 3.2vw;
	}
	
	#single #contents .detail .inner ul.other_news li a:hover {
		color: var(--color_orange);
		text-decoration: underline;
		text-decoration-thickness: 0.1em;
		text-underline-offset: 5px;
	}
	
	#single #contents .detail .inner ul.other_news li.prev a::before,
	#single #contents .detail .inner ul.other_news li.prev a:hover::before {
		left: 0;
	}
	
	#single #contents .detail .inner ul.other_news li.next a::after,
	#single #contents .detail .inner ul.other_news li.next a:hover::after {
		right: 0;
	}
	
	
	#single #contents .detail .inner ul.other_news li a .date {
		margin: 0 0 1vh;
	}
	
	
	#single #contents .detail .inner ul.other_page {
		flex-flow: row wrap;
		gap: 2vh 0;
	}
	
	#single #contents .detail .inner ul.other_page li {
		width: 100%;
	}
	
	#single #contents .detail .inner ul.other_page li a {
		background: #000;
		font-size: 3.7vw;
	}
	
	#single #contents .detail .inner ul.other_page li a:hover {
		background-position: right center;
	}
	
	#single #contents .detail .inner ul.other_page li a::after {
		right: 5%;
	}
	
	#single #contents .detail .inner ul.other_page li a:hover::after {
		right: 5%;
	}
}





/*====================================================================================

		#privacy layout

====================================================================================*/

#privacy {
	background-color: var(--color_gray);
}



/*===============================================================

		#privacy header layout

===============================================================*/

#privacy header .main_img {
	height: 300px;
	display: flex;
	justify-content: center;
	align-items: center;
}

#privacy header .main_img h2 {
	width: auto;
	height: auto;
	padding: 60px 0 0;
	background-color: transparent;
	display: block;
	position: relative;
	left: auto;
	bottom: auto;
	color: #000;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: var(--letter);
}

#privacy header .main_img h2::after {
	content: "";
	width: 80px;
	height: 4px;
	background-color: var(--color_orange);
	position: absolute;
	left: calc(50% - 40px);
	bottom: -20px;
}



@media screen and (max-width: 768px){
	#privacy header .main_img {
		height: 25vh;
	}
	
	#privacy header .main_img h2 {
		width: auto;
		height: auto;
		padding: 5vh 0 0;
		top: auto;
		bottom: auto;
		font-size: 6vw;
	}
}



/*===============================================================

		#privacy #contents .detail layout

===============================================================*/

#privacy #contents {
	padding: 0 40px 90px;
}

#privacy #contents .detail .inner {
	max-width: 1080px;
	padding: 90px 80px;
	background-color: #fff;
}

#privacy #contents .detail .inner dl dt {
	margin: 50px 0 20px;
	padding: 0 0 5px;
	border-bottom: solid 2px var(--color_gray);
	font-size: 25px;
	font-weight: 900;
}

#privacy #contents .detail .inner dl dd a {
	color: var(--color_orange);
}

#privacy #contents .detail .inner dl dd a:hover {
	text-decoration: underline;
}

#privacy #contents .detail .inner dl dd.address {
	margin: 0 0 30px;
	padding: 20px 40px;
	background-color: #B7C4EA;
	display: inline-block;
}

#privacy #contents .detail .inner dl dd.address a {
	color: #000;
}

@media screen and (max-width: 768px){
	#privacy #contents {
		padding: 0 5vw 8vh;
		font-size: 3.5vw;
	}
	
	#privacy #contents .detail .inner {
		padding: 3vh 5vw;
	}
	
	#privacy #contents .detail .inner dl dt {
		margin: 5vh 0 2vh;
		font-size: 4.2vw;
		line-height: 1.5;
	}
	
	#privacy #contents .detail .inner dl dd.address {
		margin: 0 0 3vh;
		padding: 2vh 3vw;
		background-color: #fcdccc;
		display: block;
	}
}





/*====================================================================================

		#concrete layout

====================================================================================*/

/*===============================================================

		#concrete header layout

===============================================================*/

#concrete header .main_img {
	background: url("../../img/products/concrete/main_img.jpg") center center / cover no-repeat;
}


@media screen and (max-width: 768px){
	#concrete header .main_img {
		background: url("../../img/products/concrete/main_img.jpg") center top / cover no-repeat;
	}
}



/*===============================================================

		#concrete #contents .plant layout

===============================================================*/

#concrete #contents .plant {
	margin: -90px 0 0;
	padding: 90px 40px 80px;
	background-color: var(--color_orange);
	position: relative;
	overflow-x: hidden;
}

#concrete #contents .plant .inner {
	display: flex;
	justify-content: space-between;
}

#concrete #contents .plant .inner .txt {
	width: min(520px, 47%);
	margin: 40px 0 0;
}

#concrete #contents .plant .inner .txt h3 {
	margin: 0 0 40px;
	font-size: 39px;
	color: #fff;
	font-weight: 900;
	line-height: 1.4;
}

#concrete #contents .plant .inner .txt p.img_01 {
	display: none;
}

#concrete #contents .plant .inner .txt p {
	color: #fff;
	line-height: 2.2;
}

#concrete #contents .plant .inner p.img_02 {
	width: 50vw;
	margin-right: calc(50% - 50vw);
}


@media screen and (max-width: 1082px){
	#concrete #contents .plant .inner .txt {
		margin: 2vh 0 0;
	}
	
	#concrete #contents .plant .inner .txt h3 br {
		display: none;
	}
}


@media screen and (max-width: 768px){
	#concrete #contents .plant {
		margin: -9vh 0 0;
		padding: 9vh 0 6vh;
	}
	
	#concrete #contents .plant .inner {
		padding: 0;
		display: block;
	}
	
	#concrete #contents .plant .inner .txt {
		width: auto;
		margin: 0;
	}
	
	#concrete #contents .plant .inner .txt h3 {
		margin: 0 5vw 4vh;
		font-size: 6vw;
	}
	
	#concrete #contents .plant .inner .txt h3 br {
		display: inline;
	}
	
	#concrete #contents .plant .inner .txt p.img_01 {
		width: auto;
		margin: 0 0 4vh 5vw;
		display: block;
	}
	
	#concrete #contents .plant .inner .txt p {
		padding: 0 5vw;
		line-height: 1.8;
	}
	
	#concrete #contents .plant .inner p.img_02 {
		display: none;
	}
}



/*===============================================================

		#concrete #contents .items layout

===============================================================*/
#concrete #contents {
	position: static;
}
#concrete #contents .items {
	background-color: var(--color_gray);
}

#concrete #contents .items .inner {
	padding: 40px 40px 50px;
}

#concrete #contents .items .inner h3 {
	margin: 0 0 10px;
	text-align: center;
	font-size: 30px;
	font-weight: 700;
}

#concrete #contents .items .inner ul.parent {
	height: 200px;
	padding: 20px;
	background-color: var(--color_orange);
	display: flex;
	flex-flow: column wrap;
	justify-content: flex-start;
	font-size: 20px;
	font-weight: 700;
}

#concrete #contents .items .inner ul.parent > li {
	width: calc(100% / 3);
	height: 80px;
}

#concrete #contents .items .inner ul.parent > li:nth-child(1),
#concrete #contents .items .inner ul.parent > li:nth-child(4) {
	border-bottom: solid 1px #fff;
}

#concrete #contents .items .inner ul.parent > li:nth-child(3) {
	height: 160px;
	border-left: solid 1px #fff;
	border-right: solid 1px #fff;
}

#concrete #contents .items .inner ul.parent > li a {
	width: 100%;
	height: 100%;
	padding: 0 40px 0 0;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	color: #fff;
}

#concrete #contents .items .inner ul.parent li:nth-child(3) a {
	justify-content: flex-start;
}

#concrete #contents .items .inner ul.parent li a::after {
	content: "";
	width: 12px;
	height: 12px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: 30px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}

#concrete #contents .items .inner ul.parent li a:hover::after {
	right: 25px;
}

#concrete #contents .items .inner ul.parent li a span {
	display: inline-block;
	position: relative;
}

#concrete #contents .items .inner ul.parent li a span::before {
	content: "";
	width: 100%;
	height: 2px;
	background: #fff;
	position: absolute;
	left: 0;
	bottom: -3px;
	margin: auto;
	transform-origin: left top;
	transform: scale(0, 1);
	transition: transform .3s;
}

#concrete #contents .items .inner ul.parent li a:hover span::before {
	transform-origin: left top;
	transform: scale(1, 1);
}

#concrete #contents .items .inner ul.parent li ul {
	width: 100%;
	padding: 0 0 0 min(30px, 20%);
}


#concrete #contents .items .img{
	position: relative;
}
#concrete #contents .items .img a.pos-link,
#concrete #contents .items .img span.pos-link{
	position: absolute;
}
#concrete #contents .items .img a.pos-link span,
#concrete #contents .items .img span.pos-link span{
	display: inline-block;
	padding: 10px 35px;
	background-color: var(--color_orange);
	font-size: 1.5vw;
	line-height: 1.4;
	color: #fff;
	position: relative;
	transition: 0.3s;
	transform: translateX(-50%);
	transform: translateY(-100%);
}
#concrete #contents .items .img a.pos-link span::after,
#concrete #contents .items .img span.pos-link span::after{
	position: absolute;
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 25px 12px 0 12px;
	border-color: #294395 transparent transparent transparent;
}

#concrete #contents .items .pc{
	display: block;
}
#concrete #contents .items .sp{
	display: none;
}

#concrete #contents .items .img a#link01{
	left: 30%;
	top: 42%;
}
#concrete #contents .items .img a#link01 span::after{
	bottom: -15px;
	left: 30px;
}

#concrete #contents .items .img a#link02{
	left: 47%;
	top: 62%;
}
#concrete #contents .items .img a#link02 span::after{
	bottom: -15px;
	left: 30px;
}

#concrete #contents .items .img span#link03{
	right: 5%;
	top: 62%;
}
#concrete #contents .items .img span#link03 span::after{
	bottom: -15px;
	right: 30px;
}

#concrete #contents .items .img span#link04{
	left: 20%;
	top: 82%;
}
#concrete #contents .items .img span#link04 span::after{
	bottom: -15px;
	right: 30px;
}








#concrete #contents .modal-box .detail {
	min-height: 470px;
	display: flex;
}
#concrete #contents .modal-box .detail .txt {
	width: 45%;
	min-height: 470px;
	margin: 0;
	padding: 50px min(49px, 5vw);
	position: relative;
}
#concrete #contents .modal-box .detail .txt::before {
	content: "";
	width: 100%;
	height: 100%;
	background-color: #fde5d9;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
}
#concrete #contents .modal-box .detail .txt h3 {
	margin: 0 0 40px;
	position: relative;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.2em;
	position: relative;
	z-index: 2;
}
#concrete #contents .modal-box .detail .txt h3::after {
	content: "";
	width: 30px;
	height: 3px;
	background-color: var(--color_orange);
	position: absolute;
	left: 0;
	bottom: -20px;
}
#concrete #contents .modal-box .detail .txt p {
	font-size: 18px;
	line-height: 2.0;
	position: relative;
	z-index: 2;
}
#concrete #contents .modal-box .detail p.img {
	width: 55%;
	min-height: 470px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
#concrete #contents .modal-box .detail p.img::before {
	content: "";
	width: 100%;
	height: 100%;
	background-color: var(--color_orange);
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
}
#concrete #contents .modal-box .detail p.img img {
	position: relative;
	z-index: 2;
}
#concrete #contents .modal-box .item_06 p.img img {
	width: calc(1286px / 2);
}

#concrete #contents .modal-box .item_07 p.img img {
	width: calc(940px / 2);
}

@media screen and (max-width: 768px){
	#concrete #contents .modal-box .detail {
		min-height: inherit;
		flex-flow: row wrap;
	}
	#concrete #contents .modal-box .detail .txt {
		width: 100%;
		min-height: inherit;
		height: 40vh;
		margin: 0;
		padding: 3vh 5vw 6vh;
		order: 1;
	}
	#concrete #contents .modal-box .detail .txt h3 {
		margin: 0 0 2vh;
		font-size: 4vw;
		letter-spacing: var(--letter);
	}
	#concrete #contents .modal-box .detail .txt h3::after {
		bottom: -1vh;
	}
	#concrete #contents .modal-box .detail .txt p {
		font-size: 3.675vw;
		line-height: 1.8;
	}
	#concrete #contents .modal-box .detail p.img {
		width: 100%;
		height: 35vh;
		min-height: inherit;
		order: 0;
		text-align: center;
	}	
	#concrete #contents .modal-box .item_06 p.img img {
		width: 100%;
	}
	#concrete #contents .modal-box .item_07 p.img img {
		width: 70%;
	}
}



@media (min-width: 769px){
	#concrete #contents .items .img a.pos-link:hover span,
	#concrete #contents .items .img span.pos-link:hover span{
		padding: 12px 40px;
		font-size: 1.75vw;
	}
}

@media screen and (max-width: 1200px){
	#concrete #contents .items .img a#link01{
		left: 26%;
	}
	#concrete #contents .items .img a#link02{
		left: 43%;
	}
	#concrete #contents .items .img span#link03{
		right: 2.5%;
	}
	#concrete #contents .items .img span#link04{
		left: 18%;
	}
}


@media screen and (max-width: 900px){
	#concrete #contents .items .inner ul.parent {
		font-size: 18px;
	}
	
	#concrete #contents .items .inner ul.parent > li a {
		padding: 0 30px 0 0;
	}
	
	#concrete #contents .items .inner ul.parent li a::after {
		right: 25px;
	}
	
	#concrete #contents .items .inner ul.parent li a:hover::after {
		right: 20px;
	}
	#concrete #contents .items .img a.pos-link span,
	#concrete #contents .items .img span.pos-link span{
		padding: 10px 20px;
	}
}


@media screen and (max-width: 768px){
	#concrete #contents .items .inner {
		padding: 5vh 5vw;
	}
	
	#concrete #contents .items .inner h3 {
		margin: 0 0 2vh;
		font-size: 6vw;
	}
	
	#concrete #contents .items .inner ul.parent {
		height: auto;
		padding: 0;
		background-color: transparent;
		gap: 1vh 0;
		font-size: 4vw;
	}
	
	#concrete #contents .items .inner ul.parent > li {
		width: 100%;
		height: auto;
	}
	
	#concrete #contents .items .inner ul.parent > li:nth-child(1),
	#concrete #contents .items .inner ul.parent > li:nth-child(4) {
		border-bottom: none;
	}
	
	#concrete #contents .items .inner ul.parent > li:nth-child(3) {
		height: auto;
		border-left: none;
		border-right: none;
	}
	
	#concrete #contents .items .inner ul.parent > li a {
		padding: 2vh 4vw 2vh 8vw;
		background-color: var(--color_orange);
		display: block;
	}
	
	#concrete #contents .items .inner ul.parent > li a:hover {
		text-decoration: none;
	}
	
	#concrete #contents .items .inner ul.parent li a::after {
		right: 5%;
	}
	
	#concrete #contents .items .inner ul.parent li a:hover::after {
		right: 5%;
	}
	
	#concrete #contents .items .inner ul.parent li a:hover span::before {
		display: none;
	}
	
	#concrete #contents .items .inner ul.parent li ul {
		padding: 0;
	}
	
	#concrete #contents .items .pc{
		display: none;
	}
	#concrete #contents .items .sp{
		display: block;
	}
	#concrete #contents .items p.img img {
		width: 200%;
		max-width: inherit;
	}
}



/*===============================================================

		#concrete #contents .flow layout

===============================================================*/

#concrete #contents .flow {
	padding: 70px 0 80px;
	background-color: #B7C4EA;
}

#concrete #contents .flow .inner h3 {
	margin: 0 0 40px;
	text-align: center;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2em;
}

#concrete #contents .flow .inner h3 span {
	display: block;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: var(--letter);
}

#concrete #contents .flow .inner ol {
	display: flex;
	flex-flow: row wrap;
	gap: 20px 0;
}

#concrete #contents .flow .inner ol li {
	width: calc(100% / 3);
	height: 125px;
	background-color: var(--color_orange);
	display: flex;
	flex-flow: column wrap;
	justify-content: center;
	align-items: center;
	position: relative;
	color: #fff;
}

#concrete #contents .flow .inner ol li:nth-child(1) {
	width: 100%;
	margin: 0 0 70px;
}

#concrete #contents .flow .inner ol li:nth-child(1)::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 20px solid transparent;
	border-left: 20px solid transparent;
	border-top: 30px solid #ffffff;
	border-bottom: 0;
	position: absolute;
	left: calc(50% - 20px);
	bottom: -60px;
}

#concrete #contents .flow .inner ol li:nth-child(2)::after,
#concrete #contents .flow .inner ol li:nth-child(3)::after,
#concrete #contents .flow .inner ol li:nth-child(5)::after,
#concrete #contents .flow .inner ol li:nth-child(6)::after,
#concrete #contents .flow .inner ol li:nth-child(8)::after,
#concrete #contents .flow .inner ol li:nth-child(9)::after {
	content: "";
	width: 86px;
	height: 100%;
	background: url("../../img/products/concrete/arrow_02.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -43px;
	top: 0;
	z-index: 1;
}

#concrete #contents .flow .inner ol li:nth-child(4)::after,
#concrete #contents .flow .inner ol li:nth-child(7)::after {
	content: "";
	width: 76px;
	height: 100%;
	background: url("../../img/products/concrete/arrow_03.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -1px;
	top: 0;
	z-index: 1;
}

#concrete #contents .flow .inner ol li:nth-child(5)::before,
#concrete #contents .flow .inner ol li:nth-child(8)::before {
	content: "";
	width: 75px;
	height: 100%;
	background: url("../../img/products/concrete/arrow_01.png") left top / auto 100% no-repeat;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
}

#concrete #contents .flow .inner ol li .title {
	font-size: 24px;
	font-weight: 700;
}

#concrete #contents .flow .inner ol li .description {
	padding: 0 0 0 1em;
	position: relative;
	z-index: 2;
	text-align: left;
	font-size: min(16px, 1vw);
	font-weight: 400;
	letter-spacing: var(--letter);
}

#concrete #contents .flow .inner ol li:nth-child(1) .description {
	font-size: 20px;
}

#concrete #contents .flow .inner ol li:nth-child(7) .description {
	padding: 0 1em 0 0;
	text-align: center;
}


@media screen and (max-width: 768px){
	#concrete #contents .flow {
		padding: 6vh 0 8vh;
	}
	
	#concrete #contents .flow .inner h3 {
		margin: 0 0 4vh;
		font-size: 3.7vw;
		letter-spacing: var(--letter);
	}
	
	#concrete #contents .flow .inner h3 span {
		font-size: 6vw;
	}
	
	#concrete #contents .flow .inner ol {
		display: flex;
		flex-flow: row wrap;
		gap: 1vh 0;
	}
	
	#concrete #contents .flow .inner ol li {
		height: 10vh;
	}
	
	#concrete #contents .flow .inner ol li:nth-child(1) {
		width: 100%;
		height: 12vh;
		margin: 0 0 70px;
	}
	
	#concrete #contents .flow .inner ol li:nth-child(3),
	#concrete #contents .flow .inner ol li:nth-child(9) {
		padding: 0 1em 0 0;
	}
	
	#concrete #contents .flow .inner ol li:nth-child(5) {
		width: 100%;
		padding: 0 0 0 10vw;
		flex-flow: row wrap;
		justify-content: flex-start;
	}
	
	#concrete #contents .flow .inner ol li:nth-child(7) {
		width: calc(100% / 3 * 2);
		padding: 0 0 0 5vw;
		flex-flow: row wrap;
		justify-content: flex-start;
	}
	
	#concrete #contents .flow .inner ol li:nth-child(1)::after {
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-right: 20px solid transparent;
		border-left: 20px solid transparent;
		border-top: 30px solid #ffffff;
		border-bottom: 0;
		position: absolute;
		left: calc(50% - 20px);
		bottom: -60px;
	}
	
	#concrete #contents .flow .inner ol li:nth-child(2)::after,
	#concrete #contents .flow .inner ol li:nth-child(3)::after,
	#concrete #contents .flow .inner ol li:nth-child(6)::after,
	#concrete #contents .flow .inner ol li:nth-child(8)::after,
	#concrete #contents .flow .inner ol li:nth-child(9)::after {
		content: "";
		width: 4vw;
		height: 100%;
		background: url("../../img/products/concrete/sp/arrow_02.png") left top / 100% 100% no-repeat;
		position: absolute;
		right: -2vw;
		top: 0;
		z-index: 1;
	}
	
	#concrete #contents .flow .inner ol li:nth-child(4)::after,
	#concrete #contents .flow .inner ol li:nth-child(5)::after,
	#concrete #contents .flow .inner ol li:nth-child(7)::after,
	#concrete #contents .flow .inner ol li:nth-child(10)::after {
		content: "";
		width: 4vw;
		height: 100%;
		background: url("../../img/products/concrete/sp/arrow_03.png") left top / 100% 100% no-repeat;
		position: absolute;
		right: -2vw;
		top: 0;
		z-index: 1;
	}
	
	#concrete #contents .flow .inner ol li:nth-child(5)::before,
	#concrete #contents .flow .inner ol li:nth-child(6)::before,
	#concrete #contents .flow .inner ol li:nth-child(8)::before {
		content: "";
		width: 4vw;
		height: 100%;
		background: url("../../img/products/concrete/sp/arrow_01.png") left top / 100% 100% no-repeat;
		position: absolute;
		left: 0;
		top: 0;
		z-index: 1;
	}
	
	#concrete #contents .flow .inner ol li .title {
		font-size: 4vw;
		font-weight: 700;
	}
	
	#concrete #contents .flow .inner ol li:nth-child(1) .title,
	#concrete #contents .flow .inner ol li:nth-child(8) .title {
		
	}
	
	#concrete #contents .flow .inner ol li .description {
		padding: 0 0 0 1em;
		position: relative;
		z-index: 2;
		text-align: left;
		font-size: 2.8vw;
		font-weight: 400;
		line-height: 1.4;
		letter-spacing: var(--letter);
	}
	
	#concrete #contents .flow .inner ol li:nth-child(1) .description {
		font-size: 3.5vw;
		line-height: 1.2;
	}
	
	#concrete #contents .flow .inner ol li:nth-child(2) .description,
	#concrete #contents .flow .inner ol li:nth-child(3) .description {
		padding: 0;
	}
	
	#concrete #contents .flow .inner ol li:nth-child(5) .description {
		padding: 0 0 0 2em;
	}
	
	#concrete #contents .flow .inner ol li:nth-child(7) .description {
		padding: 0 0 0 1em;
		text-align: left;
	}
	
	#concrete #contents .flow .inner ol li:nth-child(8) .description {
		padding: 0;
		text-align: center;
	}
}



/*===============================================================

		#concrete #contents ul.link layout

===============================================================*/

#concrete #contents ul.link {
	padding: 0 0 4px;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}

#concrete #contents ul.link li:nth-child(1) {
	width: 100%;
	margin: 10px 0;
	position: relative;
}

#concrete #contents ul.link li:nth-child(2) {
	width: calc(33% - 2px);
}

#concrete #contents ul.link li:nth-child(3) {
	width: calc(33% - 2px);
}

#concrete #contents ul.link li:nth-child(4) {
	width: calc(33% - 2px);
}

#concrete #contents ul.link li a {
	display: block;
	position: relative;
	overflow: hidden;
}

#concrete #contents ul.link li img {
	transition: all 0.3s;
}

#concrete #contents ul.link li a:hover img {
	transform: scale(1.1);
}

#concrete #contents ul.link li span {
	display: block;
	position: absolute;
	z-index: 2;
	line-height: 1.0;
}

#concrete #contents ul.link li:nth-child(1) span:nth-of-type(1) {
	padding: 5px;
	background-color: #000;
	left: 0;
	top: 0;
	color: #fff;
	font-size: 14px;
}

#concrete #contents ul.link li:nth-child(1) span:nth-of-type(2) {
	left: 2%;
	top: 50%;
	transform: translateY(-50%);
	color: rgba(255,255,255,0.8);
	font-size: clamp(9vw, 120px, 11vw);
	font-weight: 700;
}

#concrete #contents ul.link li:nth-child(2) a span,
#concrete #contents ul.link li:nth-child(3) a span,
#concrete #contents ul.link li:nth-child(4) a span {
	width: 100%;
	left: 0;
	top: 50%;
	text-align: center;
	color: #fff;
	font-size: min(39px, 3vw);
	font-weight: 700;
	letter-spacing: 0.2em;
}


#concrete #contents ul.link li:nth-child(2) a span::after,
#concrete #contents ul.link li:nth-child(3) a span::after,
#concrete #contents ul.link li:nth-child(4) a span::after {
	content: "";
	width: 20px;
	height: 20px;
	border-style: solid;
	border-width: 5px 5px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	z-index: 2;
	transform: translate(20px, -4px) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}

#concrete #contents ul.link li:nth-child(2) a:hover span::after,
#concrete #contents ul.link li:nth-child(3) a:hover span::after,
#concrete #contents ul.link li:nth-child(4) a:hover span::after {
	transform: translate(30px, -4px) rotate(45deg);
}


@media screen and (max-width: 768px){
	#concrete #contents ul.link {
		padding: 0;
	}
	
	#concrete #contents ul.link li:nth-child(1) {
		margin: 0;
	}
	
	#concrete #contents ul.link li:nth-child(2) {
		width: calc(33% - 1px);
	}
	
	#concrete #contents ul.link li:nth-child(3) {
		width: calc(33% - 1px);
	}
	
	#concrete #contents ul.link li:nth-child(4) {
		width: calc(33% - 1px);
	}
	
	#concrete #contents ul.link li a:hover img {
		transform: scale(1);
	}
	
	#concrete #contents ul.link li:nth-child(1) span:nth-of-type(1) {
		font-size: 3.2vw;
	}
	
	#concrete #contents ul.link li:nth-child(1) span:nth-of-type(2) {
		font-size: 10vw;
	}
	
	#concrete #contents ul.link li:nth-child(2) a span,
	#concrete #contents ul.link li:nth-child(3) a span,
	#concrete #contents ul.link li:nth-child(4) a span {
		width: 100%;
		left: 0;
		top: 50%;
		transform: translate(0, -50%);
		text-align: center;
		font-size: 4vw;
	}
	
	#concrete #contents ul.link li:nth-child(2) a span::after,
	#concrete #contents ul.link li:nth-child(3) a span::after,
	#concrete #contents ul.link li:nth-child(4) a span::after {
		display: none;
	}
}





/*====================================================================================

		#pv-recycle layout

====================================================================================*/

/*===============================================================

		#pv-recycle header layout

===============================================================*/

#pv-recycle header .main_img {
	background: url("../../img/products/environment/solar-panel/main_img.jpg") center center / cover no-repeat;
}

#pv-recycle header .main_img h2 {
	width: min(890px, 90%);
}

@media screen and (max-width: 768px){
	#pv-recycle header .main_img {
		background: url("../../img/products/environment/solar-panel/main_img.jpg") center top / cover no-repeat;
	}
	
	#pv-recycle header .main_img h2 {
		font-size: 5.2vw;
	}
	
	header .main_img h2 span {
		font-size: 3vw;
	}
}



/*===============================================================

		#pv-recycle #contents .p_link layout

===============================================================*/

#pv-recycle #contents .p_link {
}
/*
#pv-recycle #contents .p_link::after {
	content: "";
	width: 1px;
	height: 80%;
	background-color: #fff;
	display: block;
	position: absolute;
	left: 50%;
	top: 0;
}
*/
#pv-recycle #contents .p_link .inner {
	display: block;
}

#pv-recycle #contents .p_link .inner ul {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
}

#pv-recycle #contents .p_link .inner ul li {
	width: 50%;
	padding: 0 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

#pv-recycle #contents .p_link .inner > ul > li:last-child::before {
	content: "";
	width: 1px;
	height: 200%;
	background-color: #fff;
	display: block;
	position: absolute;
	left: 0;
	top: -50%;
}

#pv-recycle #contents .p_link .inner ul li dl dt {
	color: #fff;
	font-size: 26px;
	font-weight: 700;
}

#pv-recycle #contents .p_link .inner ul li dl dd {
	display: inline-block;
}

#pv-recycle #contents .p_link .inner ul li dl dd:first-of-type {
	margin-right: 40px;
}

#pv-recycle #contents .p_link .inner ul li dl dd a {
	position: relative;
	display: inline-block;
	font-size: 18px;
	font-weight: 500;
}

#pv-recycle #contents .p_link .inner ul li dl dd a::after {
	content: "";
	width: 10px;
	height: 10px;
	border-style: solid;
	border-width: 2px 2px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: -15px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}


@media screen and (max-width: 768px){
	#pv-recycle #contents .p_link .inner ul {
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
		align-items: center;
	}
	
	#pv-recycle #contents .p_link .inner ul li {
		width: 100%;
		padding: 2vh 0 0;
		display: block;
	}
	
	#pv-recycle #contents .p_link .inner ul li:first-child {
		padding: 0 0 2vh;
		border-bottom: solid 1px #fff;
	}
	
	#pv-recycle #contents .p_link .inner > ul > li:last-child::before {
		display: none;
	}
	
	
	#pv-recycle #contents .p_link .inner ul li dl dt {
		font-size: 4.5vw;
	}
	
	#pv-recycle #contents .p_link .inner ul li dl dd:first-of-type {
		margin-right: 10vw;
	}
	
	#pv-recycle #contents .p_link .inner ul li dl dd a {
		font-size: 3.8vw;
	}
}



/*===============================================================

		#pv-recycle #contents .caption layout

===============================================================*/

#pv-recycle #contents .caption {
	padding: 70px 0 80px;
}

#pv-recycle #contents .caption .inner h3 {
	margin: 0 0 40px;
	color: var(--color_orange);
	font-size: 50px;
	font-weight: 900;
	line-height: 1.1;
	letter-spacing: var(--letter);
}

#pv-recycle #contents .caption .inner h3 span {
	display: block;
	color: var(--color_orange);
	font-size: 40px;
	font-weight: 700;
	letter-spacing: var(--letter);
}

#pv-recycle #contents .caption .inner .box {
	display: flex;
	flex-flow: row-reverse wrap;
	justify-content: space-between;
	align-items: center;
}

#pv-recycle #contents .caption .inner .box dl {
	width: min(480px, 44.4%);
}

#pv-recycle #contents .caption .inner .box dl dt {
	text-align: center;
	font-weight: 700;
}

#pv-recycle #contents .caption .inner .box dl dd {
	text-align: center;
	font-size: 10px;
	font-weight: 300;
}

#pv-recycle #contents .caption .inner .box p {
	width: min(519px, 48.1%);
	line-height: 2.2;
}


@media screen and (max-width: 940px){
	#pv-recycle #contents .caption .inner h3 {
		font-size: 40px;
	}
}


@media screen and (max-width: 768px){
	#pv-recycle #contents .caption {
		padding: 6vh 0;
	}
	
	#pv-recycle #contents .caption .inner h3 {
		margin: 0 0 4vh;
		font-size: 5.2vw;
		line-height: 1.3;
	}
	
	#pv-recycle #contents .caption .inner .box {
		flex-flow: row wrap;
	}
	
	#pv-recycle #contents .caption .inner .box dl {
		width: 100%;
		margin: 0 0 3vh;
	}
	
	#pv-recycle #contents .caption .inner .box dl dt {
		font-size: 3.6vw;
	}
	
	#pv-recycle #contents .caption .inner .box dl dd {
		text-align: left;
		font-size: 2.8vw;
		line-height: 1.3;
	}
	#pv-recycle #contents .caption .inner .box p {
		width: 100%;
		line-height: 1.8;
	}
}



/*===============================================================

		#pv-recycle #contents .flow layout

===============================================================*/

#pv-recycle #contents .flow {
	padding: 70px 0 60px;
	background-color: #B7C4EA;
}

#pv-recycle #contents .flow .inner h3 {
	margin: 0 0 40px;
	text-align: center;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2em;
}

#pv-recycle #contents .flow .inner h3 span {
	display: block;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: var(--letter);
}


#pv-recycle #contents .flow .inner ol {
	margin: 0 0 90px;
	display: flex;
	flex-flow: row wrap;
	position: relative;
}

#pv-recycle #contents .flow .inner ol::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 20px solid transparent;
	border-left: 20px solid transparent;
	border-top: 35px solid #ffffff;
	border-bottom: 0;
	position: absolute;
	left: calc(50% - 20px);
	bottom: -60px;
}

#pv-recycle #contents .flow .inner ol li {
	width: calc(100% / 4);
	height: 145px;
	background-color: #294395;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	color: #fff;
	font-size: min(24px, 2vw);
	font-weight: 700;
}

#pv-recycle #contents .flow .inner ol li:nth-child(3),
#pv-recycle #contents .flow .inner ol li:nth-child(4) {
	padding-left: 2rem;
}

#pv-recycle #contents .flow .inner ol li:not(:last-child)::after {
	content: "";
	width: 69px;
	height: 100%;
	background: url("../../img/products/environment/solar-panel/arrow_01.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -35px;
	top: 0;
	z-index: 1;
}

#pv-recycle #contents .flow .inner ol li span {
	position: relative;
	z-index: 2;
}


#pv-recycle #contents .flow .inner ul.item_01 {
	margin: 0 0 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0 10px;
}

#pv-recycle #contents .flow .inner ul.item_01 li {
	width: calc(100% / 4);
}

#pv-recycle #contents .flow .inner ul.item_01 li span {
	padding: 20px 0;
	background-color: #294395;
	display: block;
	text-align: center;
	color: #fff;
	font-size: min(24px, 2vw);
	font-weight: 700;
}

#pv-recycle #contents .flow .inner ul.item_02 {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 90px;
}

#pv-recycle #contents .flow .inner ul.item_02 li {
	width: 300px;
}

#pv-recycle #contents .flow .inner ul.item_02 li p {
	display: flex;
	align-items: flex-end;
}

#pv-recycle #contents .flow .inner ul.item_02 li dl {
	text-align: center;
	line-height: 1.5;
	letter-spacing: var(--letter);
}

#pv-recycle #contents .flow .inner ul.item_02 li dl dt {
	color: var(--color_orange);
	font-size: 24px;
	font-weight: 700;
}


@media screen and (max-width: 768px){
	#pv-recycle #contents .flow {
		padding: 6vh 0;
	}
	
	#pv-recycle #contents .flow .inner h3 {
		margin: 0 0 4vh;
		font-size: 3.7vw;
		letter-spacing: var(--letter);
	}
	
	#pv-recycle #contents .flow .inner h3 span {
		font-size: 6vw;
	}
	
	#pv-recycle #contents .flow .inner ol {
		margin: 0 0 90px;
		display: flex;
		flex-flow: row wrap;
		gap: 1vh 0;
	}
	
	#pv-recycle #contents .flow .inner ol li {
		width: calc(100% / 2);
		height: 10vh;
		font-size: 4vw;
		line-height: 1.4;
	}
	
	#pv-recycle #contents .flow .inner ol li:nth-child(3),
	#pv-recycle #contents .flow .inner ol li:nth-child(4) {
		padding-left: 0;
	}
	
	#pv-recycle #contents .flow .inner ol li:not(:last-child)::after {
		width: 4vw;
		background: url("../../img/products/environment/solar-panel/arrow_01.png") left top / 100% 100% no-repeat;
		right: -2vw;
	}
	
	#pv-recycle #contents .flow .inner ol li:nth-child(2)::after {
		width: 4vw;
		background: url("../../img/products/environment/solar-panel/arrow_02.png") left top / 100% 100% no-repeat;
		right: -2vw;
	}
	
	
	#pv-recycle #contents .flow .inner ul.item_01 {
		margin: 0 0 2vh;
		flex-flow: row wrap;
		gap: 2vh 4vw;
	}
	
	#pv-recycle #contents .flow .inner ul.item_01 li {
		width: calc(100% / 2 - 2vw);
	}
	
	#pv-recycle #contents .flow .inner ul.item_01 li span {
		padding: 1vh 0;
		font-size: 4vw;
	}
	
	#pv-recycle #contents .flow .inner ul.item_02 {
		gap: 0 4vw;
	}
	
	#pv-recycle #contents .flow .inner ul.item_02 li {
		width: calc(100% / 2 - 2vw);
	}
	
	#pv-recycle #contents .flow .inner ul.item_02 li dl dt {
		font-size: 4vw;
	}
}



/*===============================================================

		.products #contents .product_detail layout
		.products #contents .product_01 layout

===============================================================*/

#pv-recycle #contents .product_01 #product_01,
#pv-recycle #contents .product_01 #product_02 {
	margin: -75px 0 0;
	padding: 75px 0 0;
}

#pv-recycle #contents .product_01 h3 {
	margin: 0 0 80px;
	background: url("../../img/products/environment/solar-panel/img08.jpg") center center / cover no-repeat;
}


#pv-recycle  #contents .product_01 .inner .two_column dl.feature {
	margin: 0 0 20px;
}

#pv-recycle  #contents .product_01 .inner .two_column dl.feature dt {
	margin: 0 0 20px;
}

#pv-recycle  #contents .product_01 .inner .two_column .item_01 dl dd {
	margin: -40px 10px 0 10px;
}

#pv-recycle  #contents .product_01 .inner .two_column .item_02 dl dd {
	margin: -40px -30px 0 -20px;
}


#pv-recycle  #contents .product_detail .inner .two_column table {
	width: 100%;
	line-height: 1.3;
	word-break: break-all;
}

#pv-recycle  #contents .product_detail .inner .two_column table th {
	width: 40%;
	height: 60px;
	padding: 0 15px;
	background-color: #B7C4EA;
	border-style: solid;
	border-width: 2px 0 2px 0;
	border-color: #B7C4EA transparent #fff transparent;
	text-align: center;
	vertical-align: middle;
}

#pv-recycle  #contents .product_detail .inner .two_column table tr:last-of-type th {
	border-bottom: solid 2px #B7C4EA;
}

#pv-recycle  #contents .product_detail .inner .two_column table td {
	width: 60%;
	height: 60px;
	padding: 15px;
	border-style: solid;
	border-width: 2px 2px 2px 0;
	border-color: #b2b2b2 #b2b2b2 #b2b2b2 transparent;
	text-align: center;
	vertical-align: middle;
	letter-spacing: 0.05em;
}


@media screen and (max-width: 768px){
	#pv-recycle #contents .product_01 #product_01 {
		margin: -60px 0 4vh;
		padding: 60px 0 0;
	}
	
	#pv-recycle #contents .product_01 #product_02 {
		margin: -60px 0 0;
		padding: 60px 0 0;
	}
	
	#pv-recycle #contents .product_01 h3 {
		margin: 0 0 4vh;
	}
	
	#pv-recycle  #contents .product_01 .inner .two_column dl.feature {
		margin: 0 0 20px;
	}
	
	#pv-recycle  #contents .product_01 .inner .two_column dl.feature dt {
		margin: 0 0 20px;
	}
	
	#pv-recycle  #contents .product_01 .inner .two_column .item_01 dl dd {
		margin: -2vh 1vw 0;
	}
	
	#pv-recycle  #contents .product_01 .inner .two_column .item_02 dl dd {
		margin: -2vh -1vw 0;
	}
	
	
	#pv-recycle  #contents .product_detail .inner .two_column table {
		font-size: 3.4vw;
	}
	
	#pv-recycle  #contents .product_detail .inner .two_column table th {
		height: auto;
		padding: 2vw;
	}
	
	#pv-recycle  #contents .product_detail .inner .two_column table td {
		height: auto;
		padding: 2vw;
		text-align: left;
	}
}



/*===============================================================

		#pv-recycle #contents .product_02 layout

===============================================================*/

#pv-recycle #contents .product_02#product_03 {
	margin: -75px 0 0;
	padding: 75px 0 90px;
}

#pv-recycle #contents .product_02 h3 {
	background: url("../../img/products/environment/solar-panel/img11.jpg") center center / cover no-repeat;
}

#pv-recycle #contents .product_02 .inner .feature_with_img p.img img {
	max-width: calc(1136px / 2);
}


@media screen and (max-width: 768px){
	#pv-recycle #contents .product_02#product_03 {
		margin: -60px 0 0;
		padding: 60px 0 8vh;
	}
	
	#pv-recycle #contents .product_02 .inner .two_column .item_01 {
		margin: 0;
	}
	
	#pv-recycle #contents .product_02 .inner .two_column .item_01 table tr:last-of-type th {
		border-width: 2px 0 0 0;
		border-color: #fff transparent transparent transparent;
	}
	
	#pv-recycle #contents .product_02 .inner .two_column .item_01 table tr:last-of-type td {
		border-width: 2px 2px 0 0;
		border-color: #b2b2b2 #b2b2b2 transparent transparent;
	}
}



/*===============================================================

		#pv-recycle #contents .plant layout

===============================================================*/

#pv-recycle #contents .plant {
	padding: 140px 0 100px;
	background-color: var(--color_orange);
}

#pv-recycle #contents .plant .inner h3 {
	margin: 0 0 40px;
	color: #fff;
	font-size: 40px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: var(--letter);
}

#pv-recycle #contents .plant .inner ul {
	margin: 0 0 60px;
	display: flex;
	justify-content: space-between;
	gap: 0 1vw;
}

#pv-recycle #contents .plant .inner ul li {
	color: #fff;
	width: min(345px, 100% / 3);
	text-align: center;
	font-size: 20px;
	font-weight: 500;
}

#pv-recycle #contents .plant .inner ul li img {
	margin: 0 0 10px;
}

#pv-recycle #contents .plant .inner .btn_01 {
	width: 330px;
	margin: 0 auto;
	position: relative;
	text-align: center;
}

#pv-recycle #contents .plant .inner .btn_01 a {
	background: linear-gradient(to right, #fff 0%,#fff 50%, transparent 50%,transparent 100%);
	background-size: 202% auto;
	background-position: right center;
	border: solid 1px #fff;
	border-radius: 80px;
	color: #fff;
	font-size: 18px;
	font-weight: 500;
}

#pv-recycle #contents .plant .inner .btn_01 a:hover {
	background-position: left center;
	color: var(--color_orange);
}

#pv-recycle #contents .plant .inner .btn_01 a::after {
	border-width: 2px 2px 0 0;
	border-color: #fff #fff transparent transparent;
	right: 50px;
}

#pv-recycle #contents .plant .inner .btn_01 a:hover::after {
	border-color: var(--color_orange) var(--color_orange) transparent transparent;
	right: 45px;
}


@media screen and (max-width: 768px){
	#pv-recycle #contents .plant {
		padding: 6vh 0;
	}
	
	#pv-recycle #contents .plant .inner h3 {
		margin: 0 0 4vh;
		font-size: 6vw;
		letter-spacing: var(--letter);
	}
	
	#pv-recycle #contents .plant .inner ul {
		margin: 0 0 6vh;
	}
	
	#pv-recycle #contents .plant .inner ul li {
		width: min(345px, 100% / 3);
		text-align: center;
		font-size: 3.7vw;
		line-height: 1.3;
	}
	
	#pv-recycle #contents .plant .inner ul li img {
		margin: 0 0 10px;
	}
	
	#pv-recycle #contents .plant .inner .btn_01 {
		width: 80%;
		margin: 0 auto;
		position: relative;
		text-align: center;
	}
	
	#pv-recycle #contents .plant .inner .btn_01 a {
		background: transparent;
		font-size: 3.7vw;
	}
	
	#pv-recycle #contents .plant .inner .btn_01 a:hover {
		background-position: right center;
		color: #fff;
	}
	
	#pv-recycle #contents .plant .inner .btn_01 a::after {
		right: 10%;
	}
	
	#pv-recycle #contents .plant .inner .btn_01 a:hover::after {
		border-color: #fff #fff transparent transparent;
		right: 10%;
	}
}





/*====================================================================================

		#biomass-recycle layout

====================================================================================*/

/*===============================================================

		#biomass-recycle header layout

===============================================================*/

#biomass-recycle header .main_img {
	background: url("../../img/products/environment/waste-biomass/main_img.jpg") center center / cover no-repeat;
}

#biomass-recycle header .main_img h2 {
	width: min(1180px, 94%);
	padding: 7px 0 0 min(90px, 6%);
	display: block;
}

#biomass-recycle header .main_img h2 .sub {
	display: inline-block;
}

#biomass-recycle header .main_img h2 .en {
	display: block;
}


@media screen and (max-width: 1140px){
	#biomass-recycle header .main_img h2 {
		padding: 7px 0 0 min(90px, 6%);
		font-size: min(40px, 4vw);
	}
	
	#biomass-recycle header .main_img h2 br {
		display: none;
	}
	
	#biomass-recycle header .main_img h2 span {
		font-size: min(20px, 2vw);
	}
	
	#biomass-recycle header .main_img h2 .sub {
		display: block;
	}
}

@media screen and (max-width: 950px){
	#biomass-recycle header .main_img h2 {
		padding: 12px 0 0 min(90px, 6%);
	}
}


@media screen and (max-width: 768px){
	#biomass-recycle header .main_img {
		background: url("../../img/products/environment/waste-biomass/main_img.jpg") center top / cover no-repeat;
	}
	
	#biomass-recycle header .main_img h2 {
		padding: 1vh 2vw 1vh 4vw;
		font-size: 6vw;
		line-height: 1.2;
	}
	
	header .main_img h2 span {
		font-size: 3vw;
		transform: translateY(-0.5vh);
		line-height: 1.5;
	}
	
	#biomass-recycle header .main_img h2 .sub {
		font-size: 4vw;
		display: inline-block;
	}
}



/*===============================================================

		#biomass-recycle #contents .p_link layout

===============================================================*/

#biomass-recycle #contents .p_link {
	position: relative;
}

#biomass-recycle #contents .p_link .inner {
	display: block;
}

#biomass-recycle #contents .p_link .inner dl {
	text-align: center;
}

#biomass-recycle #contents .p_link .inner dl dt {
	color: #fff;
	font-size: 26px;
	font-weight: 700;
}

#biomass-recycle #contents .p_link .inner dl dd {
	display: inline-block;
}

#biomass-recycle #contents .p_link .inner dl dd:first-of-type {
	margin-right: 40px;
}

#biomass-recycle #contents .p_link .inner dl dd a {
	position: relative;
	display: inline-block;
	font-size: 18px;
	font-weight: 500;
}

#biomass-recycle #contents .p_link .inner dl dd a::after {
	content: "";
	width: 10px;
	height: 10px;
	border-style: solid;
	border-width: 2px 2px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: -15px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}


@media screen and (max-width: 768px){
	#biomass-recycle #contents .p_link::after {
		display: none;
	}
	
	#biomass-recycle #contents .p_link .inner {
		width: 100%;
		padding: 2vh 0 0;
	}
	
	#biomass-recycle #contents .p_link .inner dl dt {
		font-size: 4.5vw;
	}
	
	#biomass-recycle #contents .p_link .inner dl dd:first-of-type {
		margin-right: 10vw;
	}
	
	#biomass-recycle #contents .p_link .inner dl dd a {
		font-size: 3.8vw;
	}
}



/*===============================================================

		#biomass-recycle #contents .iag_flow layout

===============================================================*/

#biomass-recycle #contents .iag_flow {
	padding: 40px 0 70px;
	background-color: var(--color_gray);
}

#biomass-recycle #contents .iag_flow h3 {
	margin: 0 0 20px;
	text-align: center;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: var(--letter);
}

#biomass-recycle #contents .iag_flow ul {
	padding: 15px 0;
	background-color: var(--color_orange);
	display: flex;
}

#biomass-recycle #contents .iag_flow ul li {
	width: calc(100% / 3);
	text-align: center;
}

#biomass-recycle #contents .iag_flow ul li a {
	padding: 5px 0;
	display: block;
	position: relative;
	color: #fff;
	font-size: 20px;
	font-weight: 500;
}

#biomass-recycle #contents .iag_flow ul li:not(:last-child) a {
	border-right: solid 1px #fff;
}
/*
#biomass-recycle #contents .iag_flow ul li a:hover {
	padding: 5px 0 5px 10px;
}
*/
#biomass-recycle #contents .iag_flow ul li a::after {
	content: "";
	width: 12px;
	height: 12px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: 40px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}

#biomass-recycle #contents .iag_flow ul li a:hover::after {
	right: 35px;
}


@media screen and (max-width: 768px){
	#hina #contents .hina {
		padding: 0 5vw 8vh;
	}
	
	#hina #contents .hina .inner h3 {
		margin: 0 0 4vh;
		font-size: 6vw;
		letter-spacing: var(--letter);
	}
	
	#biomass-recycle #contents .iag_flow ul {
		padding: 0 2vw;
		display: block;
	}
	
	#biomass-recycle #contents .iag_flow ul li {
		width: auto;
		text-align: center;
	}
	
	#biomass-recycle #contents .iag_flow ul li a {
		padding: 1vh 0;
		font-size: 4vw;
	}
	
	#biomass-recycle #contents .iag_flow ul li:not(:last-child) a {
		border-right: none;
		border-bottom: solid 1px #fff;
	}
	
	#biomass-recycle #contents .iag_flow ul li a::after {
		right: 5%;
	}
	
	#biomass-recycle #contents .iag_flow ul li a:hover::after {
		right: 5%;
	}
}



/*===============================================================

		#biomass-recycle #contents .pellet layout

===============================================================*/

#biomass-recycle #contents .pellet {
	margin: -75px 0 0;
	padding: 75px 0 0;
}

#biomass-recycle #contents .pellet .inner {
	padding: 50px 40px 130px;
}

#biomass-recycle #contents .pellet .inner .box {
	margin: 0 0 80px;
	padding: 0 60px;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}

#biomass-recycle #contents .pellet .inner .box p.img {
	width: 40%;
}

#biomass-recycle #contents .pellet .inner .box .txt {
	width: 55%;
	padding: 80px 0 0;
}

#biomass-recycle #contents .pellet .inner .box .txt h3 {
	margin: 0 0 20px;
	color: var(--color_orange);
	font-size: 30px;
	font-weight: 700;
}

#biomass-recycle #contents .pellet .inner dl.feature {
	width: 90%;
	margin: 0 auto;
	padding: 0 0 0 10%;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	line-height: 2.0;
}

#biomass-recycle #contents .pellet .inner dl.feature dt {
	width: 100%;
	margin: 0 0 40px;
	position: relative;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.2em;
}

#biomass-recycle #contents .pellet .inner dl.feature dt::after {
	content: "";
	width: 30px;
	height: 3px;
	background-color: var(--color_orange);
	position: absolute;
	left: 0;
	bottom: -20px;
}
#biomass-recycle #contents .pellet .inner dl.feature div {
	width: 50%;
	padding-left: 1em;
}

#biomass-recycle #contents .pellet .inner dl.feature dd {
	margin: 0 0 10px;
	padding-left: 0.5rem;
	text-indent: -0.5rem;
	line-height: 1.5;
}


@media screen and (max-width: 768px){
	#biomass-recycle #contents .pellet {
		margin: -60px 0 0;
		padding: 60px 0 0;
	}
	
	#biomass-recycle #contents .pellet .inner {
		padding: 6vh 5vw;
	}
	
	#biomass-recycle #contents .pellet .inner .box {
		margin: 0 0 6vh;
		padding: 0;
		display: block;
	}
	
	#biomass-recycle #contents .pellet .inner .box p.img {
		width: 80%;
		margin: 0 auto 4vh;
	}
	
	#biomass-recycle #contents .pellet .inner .box .txt {
		width: auto;
		padding: 0;
	}
	
	#biomass-recycle #contents .pellet .inner .box .txt h3 {
		margin: 0 0 2vh;
		font-size: 6vw;
	}
	
	#biomass-recycle #contents .pellet .inner dl.feature {
		width: auto;
		padding: 0;
		display: block;
	}
	
	#biomass-recycle #contents .pellet .inner dl.feature dt {
		margin: 0 0 4vh;
		font-size: 4vw;
		letter-spacing: var(--letter);
	}
	
	#biomass-recycle #contents .pellet .inner dl.feature dt::after {
		bottom: -2vh;
	}
	#biomass-recycle #contents .pellet .inner dl.feature div {
		width: auto;
		padding-left: 0;
	}
	
	#biomass-recycle #contents .pellet .inner dl.feature dd {
		margin: 0 0 1vh;
	}
}



/*===============================================================

		#biomass-recycle #contents .example layout

===============================================================*/

#biomass-recycle #contents .example {
	padding: 80px 0 90px;
	background-color: var(--color_gray);
}

#biomass-recycle #contents .example .inner h3 {
	margin: 0 0 80px;
	text-align: center;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: 0.2em;
}

#biomass-recycle #contents .example .inner ul {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	gap: 60px min(100px, 5%);
}

#biomass-recycle #contents .example .inner ul li {
	width: min(190px, 18%);
	text-align: center;
	font-size: min(15px, 1.5vw);
}

#biomass-recycle #contents .example .inner ul li span {
	margin: 0 0 10px;
	display: inline-block;
}


@media screen and (max-width: 768px){
	#biomass-recycle #contents .example {
		padding: 6vh 0;
	}
	
	#biomass-recycle #contents .example .inner h3 {
		margin: 0 0 4vh;
		font-size: 6vw;
		letter-spacing: var(--letter);
	}
	
	#biomass-recycle #contents .example .inner ul {
		gap: 3vh 3%;
	}
	
	#biomass-recycle #contents .example .inner ul li {
		width: 30%;
		font-size: 3.4vw;
		line-height: 1.3;
	}
	
	#biomass-recycle #contents .example .inner ul li span {
		margin: 0 0 1vh;
	}
}



/*===============================================================

		#biomass-recycle #contents .flow layout

===============================================================*/

#biomass-recycle #contents .flow {
	padding: 70px 0 60px;
	background-color: #B7C4EA;
}

#biomass-recycle #contents .flow .inner h3 {
	margin: 0 0 40px;
	text-align: center;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2em;
}

#biomass-recycle #contents .flow .inner h3 span {
	display: block;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: var(--letter);
}


#biomass-recycle #contents .flow .inner ol {
	margin: 0 0 90px;
	display: flex;
	flex-flow: row wrap;
}

#biomass-recycle #contents .flow .inner ol li {
	width: calc(100% / 5);
	height: 146px;
	padding-left: 2rem;
	background-color: #6782D4;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	color: #fff;
	font-size: min(24px, 2vw);
	font-weight: 700;
	line-height: 1.3;
}

#biomass-recycle #contents .flow .inner ol li:nth-child(1) {
	flex-flow: column wrap;
	align-items: flex-start;
}

#biomass-recycle #contents .flow .inner ol li:nth-child(2),
#biomass-recycle #contents .flow .inner ol li:nth-child(3),
#biomass-recycle #contents .flow .inner ol li:nth-child(4) {
	background-color: #294395;
	text-align: center;
}


#biomass-recycle #contents .flow .inner ol li:nth-child(1)::after{
	content: "";
	width: 56px;
	height: 100%;
	background: url("../../img/products/environment/waste-biomass/arrow_02.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -35px;
	top: 0;
	z-index: 1;
}
#biomass-recycle #contents .flow .inner ol li:nth-child(2)::after {
	content: "";
	width: 56px;
	height: 100%;
	background: url("../../img/products/environment/waste-biomass/arrow_07.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -35px;
	top: 0;
	z-index: 1;
}

#biomass-recycle #contents .flow .inner ol li:nth-child(3)::after {
	content: "";
	width: 55px;
	height: 100%;
	background: url("../../img/products/environment/waste-biomass/arrow_07.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -35px;
	top: 0;
	z-index: 1;
}

#biomass-recycle #contents .flow .inner ol li:nth-child(4)::after {
	content: "";
	width: 55px;
	height: 100%;
	background: url("../../img/products/environment/waste-biomass/arrow_03.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -35px;
	top: 0;
	z-index: 1;
}

#biomass-recycle #contents .flow .inner ol li span {
	position: relative;
	z-index: 2;
}

#biomass-recycle #contents .flow .inner ol li:nth-child(1) span:last-of-type {
	margin: 5px 0 0;
	display: inline-block;
	font-size: min(20px, 1.5vw);
}


#biomass-recycle #contents .flow .inner .box {
	margin: 0 0 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0 10px;
}

#biomass-recycle #contents .flow .inner .box dl {
	display: flex;
	font-size: min(24px, 2vw);
	font-weight: 700;
}

#biomass-recycle #contents .flow .inner .box dl dt {
	padding: 5px min(50px, 4vw);
	background-color: #294395;
	color: #fff;
}

#biomass-recycle #contents .flow .inner .box dl dd {
	padding: 5px min(50px, 4vw);
	background-color: var(--color_gray);
}


@media screen and (max-width: 768px){
	#biomass-recycle #contents .flow {
		padding: 6vh 0;
	}
	
	#biomass-recycle #contents .flow .inner h3 {
		margin: 0 0 4vh;
		font-size: 3.7vw;
		letter-spacing: var(--letter);
	}
	
	#biomass-recycle #contents .flow .inner h3 span {
		font-size: 6vw;
	}
	
	#biomass-recycle #contents .flow .inner ol {
		margin: 0 0 5vh;
		display: flex;
		flex-flow: row wrap;
		gap: 1vh 0;
	}
	
	#biomass-recycle #contents .flow .inner ol li {
		width: calc(100% / 2);
		padding-left: 2vw;
		height: 10vh;
		font-size: 4vw;
		line-height: 1.4;
	}
	
	#biomass-recycle #contents .flow .inner ol li:nth-child(1) {
		flex-flow: row wrap;
		align-items: center;
	}
	
	#biomass-recycle #contents .flow .inner ol li:nth-child(2),
	#biomass-recycle #contents .flow .inner ol li:nth-child(4) {
		transform: translateX(-2vw);
	}
	
	#biomass-recycle #contents .flow .inner ol li:nth-child(5) {
		width: 100%;
		padding: 0;
	}
	
	
	#biomass-recycle #contents .flow .inner ol li:nth-child(1)::after {
		width: 4vw;
		background: url("../../img/products/environment/waste-biomass/arrow_02.png") left top / 100% 100% no-repeat;
		right: -1.9vw;
	}
	
	#biomass-recycle #contents .flow .inner ol li:nth-child(2)::after {
		width: 4vw;
		background: url("../../img/products/environment/waste-biomass/arrow_05.png") left top / 100% 100% no-repeat;
		right: -3.9vw;
	}
	
	#biomass-recycle #contents .flow .inner ol li:nth-child(3)::after {
		width: 4vw;
		background: url("../../img/products/environment/waste-biomass/arrow_07.png") left top / 100% 100% no-repeat;
		right: -1.9vw;
	}
	
	#biomass-recycle #contents .flow .inner ol li:nth-child(4)::after {
		width: 4vw;
		background: url("../../img/products/environment/waste-biomass/arrow_05.png") left top / 100% 100% no-repeat;
		right: -3.9vw;
	}
	
	#biomass-recycle #contents .flow .inner ol li:nth-child(3)::before{
		content: "";
		width: 4vw;
		height: 100%;
		background: url("../../img/products/environment/waste-biomass/arrow_08.png") left top / 100% 100% no-repeat;
		position: absolute;
		left: 0;
		top: 0;
		z-index: 1;
	}
	#biomass-recycle #contents .flow .inner ol li:nth-child(5)::before {
		content: "";
		width: 4vw;
		height: 100%;
		background: url("../../img/products/environment/waste-biomass/arrow_06.png") left top / 100% 100% no-repeat;
		position: absolute;
		left: 0;
		top: 0;
		z-index: 1;
	}
	
	#biomass-recycle #contents .flow .inner ol li span {
		position: relative;
		z-index: 2;
	}
	
	#biomass-recycle #contents .flow .inner ol li:nth-child(1) span:last-of-type {
		margin: 0 0 0 2vw;
		font-size: 3vw;
	}
	
	
	#biomass-recycle #contents .flow .inner .box {
		margin: 0;
		flex-flow: row wrap;
		gap: 2vh 0;
	}
	
	#biomass-recycle #contents .flow .inner .box dl {
		width: 100%;
		display: flex;
		font-size: 4vw;
		font-weight: 700;
	}
	
	#biomass-recycle #contents .flow .inner .box dl dt {
		padding: 5px 4vw;
	}
	
	#biomass-recycle #contents .flow .inner .box dl dd {
		padding: 5px 2vw;
	}
}



/*===============================================================

		#biomass-recycle #contents .product_detail layout

===============================================================*/

#biomass-recycle #contents .product_detail#product_02 {
	margin: -75px 0 0;
	padding: 75px 0 90px;
}

#biomass-recycle #contents .product_detail h3 {
	background: url("../../img/products/environment/waste-biomass/img14.jpg") center center / cover no-repeat;
}

#biomass-recycle #contents .product_detail .inner .feature_with_img p.img img {
	max-width: calc(1014px / 2 + 20px);
	padding: 0 0 0 20px;
}

#biomass-recycle #contents .product_detail .inner .spec table thead th:first-of-type {
	border-left: solid 1px var(--color_gray);
}

#biomass-recycle #contents .product_detail .inner .spec table thead th:last-of-type {
	border-right: solid 1px var(--color_gray);
}

#biomass-recycle #contents .product_detail .inner ul.img_list {
	margin: 60px 10% 40px;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	gap: 20px;
}

#biomass-recycle #contents .product_detail .inner ul.img_list li {
	width: calc(50% - 10px);
	display: flex;
	flex-flow: column wrap;
	justify-content: center;
	align-items: center;
}

#biomass-recycle #contents .product_detail .inner ul.img_list li:nth-child(1) img,
#biomass-recycle #contents .product_detail .inner ul.img_list li:nth-child(2) img {
	max-width: calc(725px / 2);
}

#biomass-recycle #contents .product_detail .inner ul.img_list li:nth-child(3) img,
#biomass-recycle #contents .product_detail .inner ul.img_list li:nth-child(4) img {
	max-width: calc(610px / 2);
}

#biomass-recycle #contents .product_detail .inner ul.img_list li span {
	margin: 10px 0 0;
	display: block;
}


@media screen and (max-width: 768px){
	#biomass-recycle #contents .product_detail#product_02 {
		margin: -60 0 0;
		padding: 60 0 8vh;
	}
	
	#biomass-recycle #contents .product_detail .inner .feature_with_img p.img img {
		max-width: calc(1014px / 2);
		padding: 0;
	}
	
	#biomass-recycle #contents .product_detail .inner ul.img_list {
		margin: 6vh 0;
		justify-content: space-between;
		gap: 2vh 0;
	}
	
	#biomass-recycle #contents .product_detail .inner ul.img_list li {
		width: calc(50% - 1vw);
		display: flex;
		flex-flow: column wrap;
		justify-content: center;
		align-items: center;
	}
	
	#biomass-recycle #contents .product_detail .inner ul.img_list li:nth-child(1) img,
	#biomass-recycle #contents .product_detail .inner ul.img_list li:nth-child(2) img,
	#biomass-recycle #contents .product_detail .inner ul.img_list li:nth-child(3) img,
	#biomass-recycle #contents .product_detail .inner ul.img_list li:nth-child(4) img {
		max-width: 100%;
	}
	
	#biomass-recycle #contents .product_detail .inner ul.img_list li span {
		margin: 10px 0 0;
		display: block;
	}
}





/*====================================================================================

		#glass-recycle layout

====================================================================================*/

/*===============================================================

		#glass-recycle header layout

===============================================================*/

#glass-recycle header .main_img {
	background: url("../../img/products/environment/glass-plaster/main_img.jpg") center center / cover no-repeat;
}

@media screen and (max-width: 768px){
	#glass-recycle header .main_img {
		background: url("../../img/products/environment/glass-plaster/main_img.jpg") center top / cover no-repeat;
	}
	
	#glass-recycle header .main_img h2 {
		width: 80%;
	}
}



/*===============================================================

		#glass-recycle #contents .p_link layout

===============================================================*/

#glass-recycle #contents .p_link {
	position: relative;
}

#glass-recycle #contents .p_link .inner {
	display: block;
}

#glass-recycle #contents .p_link .inner ul {
	padding: 0 2rem 0 0;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: center;
	gap: 0 min(80px, 8vw);
}

#glass-recycle #contents .p_link .inner ul li a {
	color: #fff;
	font-size: 26px;
	font-weight: 700;
}

#glass-recycle #contents .p_link .inner ul li a::after {
	content: "";
	width: 16px;
	height: 16px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: -25px;
	top: 55%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}


@media screen and (max-width: 768px){
	#glass-recycle #contents .p_link::after {
		display: none;
	}
	
	#glass-recycle #contents .p_link .inner {
		width: 100%;
		padding: 2vh 5vw 0;
	}
	
	#glass-recycle #contents .p_link .inner ul {
		padding: 0 2rem 0 0;
		display: flex;
		flex-flow: row wrap;
		justify-content: center;
		align-items: center;
		gap: 1vh 0;
	}
	
	#glass-recycle #contents .p_link .inner ul li {
		width: 100%;
	}
	
	#glass-recycle #contents .p_link .inner ul li a {
		font-size: 4.5vw;
	}
	
	#glass-recycle #contents .p_link .inner ul li a::after {
		width: 10px;
		height: 10px;
		top: 50%;
		right: -5vw;
	}
}



/*===============================================================

		#glass-recycle #contents .caption layout

===============================================================*/

#glass-recycle #contents .caption {
	padding: 90px 0;
}

@media screen and (max-width: 768px){
	#glass-recycle #contents .caption {
		padding: 4vh 0;
	}
}



/*===============================================================

		#glass-recycle #contents .product_01 layout

===============================================================*/

#glass-recycle #contents .product_01 {
	margin: -75px 0 0;
	padding: 75px 0 0;
}

#glass-recycle #contents .product_01 .wrapper {
	padding: 130px 0;
	background-color: var(--color_gray);
}

#glass-recycle #contents .product_01 .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#glass-recycle #contents .product_01 .inner .txt {
	width: 48%;
	order: 1;
	line-height: 2.0;
}

#glass-recycle #contents .product_01 .inner .txt h3 {
	margin: 0 0 30px;
	color: var(--color_orange);
	font-size: 30px;
	font-weight: 900;
	line-height: 1.6;
}

#glass-recycle #contents .product_01 .inner ul.img {
	width: 50vw;
	margin: 0 0 0 calc(50% - 50vw);
	padding: 0 2vw 0 4vw;
	order: 0;
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	gap: 0 2vw;
}

#glass-recycle #contents .product_01 .inner ul.img li {
	width: min(50%, 300px);
	text-align: center;
	line-height: 1.4;
}

#glass-recycle #contents .product_01 .inner ul.img li dl dt {
	color: var(--color_orange);
	font-size: 18px;
	font-weight: 700;
}


@media screen and (max-width: 768px){
	#glass-recycle #contents .product_01 {
		margin: -60px 0 0;
		padding: 60px 0 0;
	}
	
	#glass-recycle #contents .product_01 .wrapper {
		padding: 8vh 0;
	}
	
	#glass-recycle #contents .product_01 .inner {
		display: block;
	}
	
	#glass-recycle #contents .product_01 .inner .txt {
		width: auto;
		line-height: 1.8;
	}
	
	#glass-recycle #contents .product_01 .inner .txt h3 {
		margin: 0 0 3vh;
		font-size: 6vw;
	}
	
	#glass-recycle #contents .product_01 .inner ul.img {
		width: auto;
		margin: 3vh 0 0;
		padding: 0;
		justify-content: center;
	}
	
	#glass-recycle #contents .product_01 .inner ul.img li dl dt {
		font-size: 4.0vw;
	}
}



/*===============================================================

		#glass-recycle #contents .flow layout

===============================================================*/

#glass-recycle #contents .flow {
	padding: 70px 0 60px;
	background-color: #B7C4EA;
}

#glass-recycle #contents .flow .inner h3 {
	margin: 0 0 40px;
	text-align: center;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2em;
}

#glass-recycle #contents .flow .inner h3 span {
	display: block;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: var(--letter);
}


#glass-recycle #contents .flow .inner ol {
	margin: 0 0 90px;
	display: flex;
	flex-flow: row wrap;
}

#glass-recycle #contents .flow .inner ol li {
	width: calc(100% / 4);
	height: 146px;
	padding-left: 2rem;
	background-color: #294395;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	color: #fff;
	font-size: min(24px, 2vw);
	font-weight: 700;
	line-height: 1.3;
}


#glass-recycle #contents .flow .inner ol li:nth-child(1) {
	width: 100%;
	margin: 0 0 90px;
}

#glass-recycle #contents .flow .inner ol li:nth-child(1)::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 20px solid transparent;
	border-left: 20px solid transparent;
	border-top: 30px solid #ffffff;
	border-bottom: 0;
	position: absolute;
	left: calc(50% - 20px);
	bottom: -60px;
}


#glass-recycle #contents .flow .inner ol li:nth-child(2)::after,
#glass-recycle #contents .flow .inner ol li:nth-child(3)::after,
#glass-recycle #contents .flow .inner ol li:nth-child(4)::after {
	content: "";
	width: 55px;
	height: 100%;
	background: url("../../img/products/environment/glass-plaster/arrow_02.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -35px;
	top: 0;
	z-index: 1;
}

#glass-recycle #contents .flow .inner ol li:nth-child(2)::before {
	content: "";
	width: 49px;
	height: 100%;
	background: url("../../img/products/environment/glass-plaster/arrow_01.png") left top / auto 100% no-repeat;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
}

#glass-recycle #contents .flow .inner ol li span {
	position: relative;
	z-index: 2;
	text-align: center;
}


@media screen and (max-width: 768px){
	#glass-recycle #contents .flow {
		padding: 6vh 0;
	}
	
	#glass-recycle #contents .flow .inner h3 {
		margin: 0 0 4vh;
		font-size: 3.7vw;
		letter-spacing: var(--letter);
	}
	
	#glass-recycle #contents .flow .inner h3 span {
		font-size: 6vw;
	}
	
	#glass-recycle #contents .flow .inner ol {
		margin: 0;
		display: flex;
		flex-flow: row wrap;
		gap: 1vh 0;
	}
	
	#glass-recycle #contents .flow .inner ol li {
		width: calc(100% / 2);
		padding-left: 2vw;
		height: 10vh;
		font-size: 4vw;
		line-height: 1.4;
	}
	
	#glass-recycle #contents .flow .inner ol li:nth-child(1) {
		width: 100%;
		margin: 0 0 7vh;
		padding: 0 2vw;
	}
	
	#glass-recycle #contents .flow .inner ol li:nth-child(1)::after {
		bottom: -6vh;
	}
	
	
	#glass-recycle #contents .flow .inner ol li:nth-child(3)::after {
		width: 4vw;
		background: url("../../img/products/environment/glass-plaster/arrow_03.png") left top / 100% 100% no-repeat;
		right: -2vw;
	}
	
	#glass-recycle #contents .flow .inner ol li:nth-child(2)::after,
	#glass-recycle #contents .flow .inner ol li:nth-child(4)::after {
		width: 4vw;
		background: url("../../img/products/environment/glass-plaster/arrow_02.png") left top / 100% 100% no-repeat;
		right: -2vw;
	}
	
	#glass-recycle #contents .flow .inner ol li:nth-child(2)::before,
	#glass-recycle #contents .flow .inner ol li:nth-child(4)::before {
		content: "";
		width: 4vw;
		height: 100%;
		background: url("../../img/products/environment/glass-plaster/arrow_01.png") left top / 100% 100% no-repeat;
		position: absolute;
		left: 0;
		top: 0;
		z-index: 1;
	}
	
	#glass-recycle #contents .flow .inner ol li span {
		position: relative;
		z-index: 2;
	}
	
	#glass-recycle #contents .flow .inner ol li:nth-child(1) span:last-of-type {
		
	}
}



/*===============================================================

		#glass-recycle #contents .expectation layout

===============================================================*/

#glass-recycle #contents .expectation {
	padding: 130px 0;
	background-color: var(--color_gray);
	overflow-x: hidden;
}

#glass-recycle #contents .expectation .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#glass-recycle #contents .expectation .inner .txt {
	width: 47%;
	margin: 0 0 0;
	line-height: 2.0;
}

#glass-recycle #contents .expectation .inner .txt h3 {
	margin: 0 0 30px;
	color: var(--color_orange);
	font-size: 30px;
	font-weight: 900;
	line-height: 1.6;
}

#glass-recycle #contents .expectation .inner .txt dl {
	margin: 40px 0 0;
}

#glass-recycle #contents .expectation .inner .txt dl dd:last-of-type {
	color: var(--color_orange);
}


#glass-recycle #contents .expectation .inner p.img {
	width: 50vw;
	margin: 0 calc(50% - 50vw) 0 0;
}


@media screen and (max-width: 1000px){
	#glass-recycle #contents .expectation .inner {
		align-items: flex-start;
	}
}

@media screen and (max-width: 890px){
	#glass-recycle #contents .expectation .inner .txt h3 br {
		display: none;
	}
}


@media screen and (max-width: 768px){
	#glass-recycle #contents .expectation {
		padding: 8vh 0 0;
	}
	
	#glass-recycle #contents .expectation .inner {
		display: block;
	}
	
	#glass-recycle #contents .expectation .inner .txt {
		width: auto;
		line-height: 1.8;
	}
	
	#glass-recycle #contents .expectation .inner .txt h3 {
		margin: 0 0 3vh;
		font-size: 6vw;
	}
	
	#glass-recycle #contents .expectation .inner .txt dl {
		margin: 3vh 0 5vh;
	}
	
	#glass-recycle #contents .expectation .inner .txt dl dd:last-of-type {
		color: var(--color_orange);
	}
	
	#glass-recycle #contents .expectation .inner ul.img {
		width: auto;
		margin: 3vh 0 0;
		padding: 0;
		justify-content: center;
	}
	
	#glass-recycle #contents .expectation .inner p.img {
		width: 99vw;
		margin: 0 calc(50% - 50vw);
		text-align: center;
	}
}



/*===============================================================

		#glass-recycle #contents .guideline layout

===============================================================*/

#glass-recycle #contents .guideline {
	padding: 80px 0 60px;
}

#glass-recycle #contents .guideline h3 {
	margin: 0 0 40px;
	text-align: center;
	color: var(--color_orange);
	font-size: 30px;
	font-weight: 900;
	letter-spacing: var(--letter);
}

#glass-recycle #contents .guideline p {
	margin: 0 0 60px;
}

#glass-recycle #contents .guideline ul {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 160px;
}

#glass-recycle #contents .guideline ul li {
	width: 246px;
	position: relative;
	text-align: center;
}

#glass-recycle #contents .guideline ul li:first-child {
	width: 247px;
}

#glass-recycle #contents .guideline ul li:first-child::before,
#glass-recycle #contents .guideline ul li:first-child::after {
	content: "";
	width: 3px; /* 棒の幅（太さ） */
	height: 40px; /* 棒の高さ */
	background: #000;
	position: absolute;
	right: -90px;
	top: 50%;
}

#glass-recycle #contents .guideline ul li:first-child::before {
	transform: translate(-50%,-50%) rotate(45deg);
}

#glass-recycle #contents .guideline ul li:first-child::after {
	transform: translate(-50%,-50%) rotate(-45deg);
}

#glass-recycle #contents .guideline ul li img {
	width: 100%;
	transition: all 0.3s;
}

#glass-recycle #contents .guideline ul li a {
	margin: 5px 0 0;
	display: block;
	color: #000;
	text-decoration: underline;
	text-decoration-thickness: 0.1em;
	text-underline-offset: 5px;
}

#glass-recycle #contents .guideline ul li a:hover {
	color: var(--color_orange);
}

#glass-recycle #contents .guideline ul li a:hover img {
	transform: scale(1.05);
	transform-origin: center bottom;
}


@media screen and (max-width: 768px){
	#glass-recycle #contents .guideline {
		padding: 6vh 0;
	}
	
	#glass-recycle #contents .guideline .inner h3 {
		margin: 0 0 4vh;
		font-size: 5vw;
		letter-spacing: var(--letter);
	}
	
	#glass-recycle #contents .guideline p {
		margin: 0 0 6vh;
	}
	
	#glass-recycle #contents .guideline ul {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 0 10%;
	}
	
	#glass-recycle #contents .guideline ul li {
		width: 40%;
	}
	
	#glass-recycle #contents .guideline ul li:first-child {
		width: 40%;
	}
	
	#glass-recycle #contents .guideline ul li:first-child::before,
	#glass-recycle #contents .guideline ul li:first-child::after {
		height: 30px; /* 棒の高さ */
		right: -29%;
	}
}



/*===============================================================

		#glass-recycle #contents .product_02 layout

===============================================================*/

#glass-recycle #contents .product_02 {
	margin: -75px 0 0;
	padding: 75px 0 0;
}

#glass-recycle #contents .product_02 .wrapper {
	padding: 23vw 0 80px;
	background: url("../../img/products/environment/glass-plaster/img06.jpg") center top / 100% auto no-repeat;
}

#glass-recycle #contents .product_02 .inner p.img {
	max-width: 882px;
	margin: 0 auto;
}

#glass-recycle #contents .product_02 .inner h3 {
	margin: 0 0 20px;
	text-align: center;
	color: var(--color_orange);
	font-size: 30px;
	font-weight: 900;
	letter-spacing: var(--letter);
}


@media screen and (max-width: 768px){
	#glass-recycle #contents .product_02 {
		margin: -60px 0 0;
		padding: 60px 0 0;
	}
	
	#glass-recycle #contents .product_02 .wrapper {
		padding: 23vw 0 8vh;
	}
	
	#glass-recycle #contents .product_02 .inner p.img {
		max-width: auto;
		margin: 0 auto;
	}
	
	#glass-recycle #contents .product_02 .inner h3 {
		margin: 0 0 2vh;
		font-size: 6vw;
	}
}



/*===============================================================

		#glass-recycle #contents .porous_alpha layout

===============================================================*/

#glass-recycle #contents .porous_alpha {
	padding: 70px 0;
	background-color: var(--color_orange);
	overflow-x: hidden;
}

#glass-recycle #contents .porous_alpha .inner .box {
	margin: 0 0 60px;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
}

#glass-recycle #contents .porous_alpha .inner .txt {
	width: 47%;
}

#glass-recycle #contents .porous_alpha .inner .txt h3 {
	margin: 0 0 40px;
	color: #fff;
	font-size: 40px;
	font-weight: 900;
	letter-spacing: 0.2em;
}

#glass-recycle #contents .porous_alpha .inner .txt p {
	color: #fff;
	line-height: 2.0;
}

#glass-recycle #contents .porous_alpha .inner p.img {
	width: 50vw;
	margin: 0 calc(50% - 50vw) 0 0;
}

#glass-recycle #contents .porous_alpha .inner ul {
	display: flex;
	justify-content: space-between;
	gap: 0 5px;
}

#glass-recycle #contents .porous_alpha .inner ul li {
	width: calc(100% / 6 - 5px);
	padding: 5px 0;
	background-color: #fff;
	border-radius: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 700;
	line-height: 1.0;
}

#glass-recycle #contents .porous_alpha .inner ul li:nth-child(2),
#glass-recycle #contents .porous_alpha .inner ul li:nth-child(3) {
	width: calc(100% / 6 - 1vw);
}

#glass-recycle #contents .porous_alpha .inner ul li:nth-child(4) {
	width: calc(100% / 6 + 2vw);
}

#glass-recycle #contents .porous_alpha .inner ul li:nth-child(6) {
	width: calc(100% / 6 - 2vw);
}

#glass-recycle #contents .porous_alpha .inner ul li img {
	margin: 0 10px 0 0;
}

#glass-recycle #contents .porous_alpha .inner ul li .icon_01 {
	width: 41px;
}

#glass-recycle #contents .porous_alpha .inner ul li .icon_02 {
	width: 23px;
}

#glass-recycle #contents .porous_alpha .inner ul li .icon_03 {
	width: 32px;
}


@media screen and (max-width: 960px){
	#glass-recycle #contents .porous_alpha .inner ul {
		flex-flow: row wrap;
		gap: 2vh 5px;
	}
	
	#glass-recycle #contents .porous_alpha .inner ul li {
		width: calc(100% / 3 - 1vw) !important;
	}
}


@media screen and (max-width: 768px){
	#glass-recycle #contents .porous_alpha {
		padding: 6vh 0;
	}
	
	#glass-recycle #contents .porous_alpha .inner .box {
		margin: 0 0 4vh;
		display: block;
	}
	
	#glass-recycle #contents .porous_alpha .inner .txt {
		width: auto;
	}
	
	#glass-recycle #contents .porous_alpha .inner .txt h3 {
		margin: 0 0 4vh;
		font-size: 6vw;
		letter-spacing: var(--letter);
	}
	
	#glass-recycle #contents .porous_alpha .inner .txt p {
		line-height: 1.8;
	}
	
	#glass-recycle #contents .porous_alpha .inner p.img {
		width: auto;
		margin: 4vh 0;
	}
	
	#glass-recycle #contents .porous_alpha .inner ul {
		display: flex;
		justify-content: space-between;
		gap: 1vh 2vw;
	}
	
	#glass-recycle #contents .porous_alpha .inner ul li {
		width: calc(100% / 2 - 1vw) !important;
		padding: 1vh 1vw;
		font-size: 3.4vw;
	}
	
	
	#glass-recycle #contents .porous_alpha .inner ul li img {
		margin: 0 2vw 0 0;
	}
	
	#glass-recycle #contents .porous_alpha .inner ul li .icon_01 {
		width: 8vw;
	}
	
	#glass-recycle #contents .porous_alpha .inner ul li .icon_02 {
		width: 4.5vw;
	}
	
	#glass-recycle #contents .porous_alpha .inner ul li .icon_03 {
		width: 6.5vw;
	}
}



/*===============================================================

		#glass-recycle #contents .flow_porous layout

===============================================================*/

#glass-recycle #contents .flow_porous {
	padding: 70px 0 60px;
	background-color: #B7C4EA;
}

#glass-recycle #contents .flow_porous .inner h3 {
	margin: 0 0 40px;
	text-align: center;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2em;
}

#glass-recycle #contents .flow_porous .inner h3 span {
	display: block;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: var(--letter);
}


#glass-recycle #contents .flow_porous .inner ol {
	margin: 0 0 90px;
	display: flex;
	flex-flow: row wrap;
	gap: 120px 0;
}

#glass-recycle #contents .flow_porous .inner ol li {
	width: calc(100% / 5);
	height: 146px;
	padding: 0 0 0 2rem;
	background-color: #294395;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	color: #fff;
	font-size: min(24px, 2vw);
	font-weight: 700;
	line-height: 1.3;
}

#glass-recycle #contents .flow_porous .inner ol li:nth-child(1) {
	padding: 0;
}

#glass-recycle #contents .flow_porous .inner ol li:nth-child(6),
#glass-recycle #contents .flow_porous .inner ol li:nth-child(10) {
	background-color: #fff;
	color: var(--color_orange);
}


#glass-recycle #contents .flow_porous .inner ol li::after {
	content: "";
	width: 55px;
	height: 100%;
	background: url("../../img/products/environment/glass-plaster/arrow_02.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -35px;
	top: 0;
	z-index: 1;
}

#glass-recycle #contents .flow_porous .inner ol li:nth-child(1)::after {
	content: "";
	width: 8px;
	height: 100%;
	background: #B7C4EA;
	position: absolute;
	right: -4px;
	top: 0;
	z-index: 1;
}

#glass-recycle #contents .flow_porous .inner ol li:nth-child(5)::after {
	content: "";
	width: 49px;
	height: 100%;
	background: url("../../img/products/environment/glass-plaster/arrow_03.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -35px;
	top: 0;
	z-index: 1;
}

#glass-recycle #contents .flow_porous .inner ol li:nth-child(6)::after {
	background: url("../../img/products/environment/glass-plaster/arrow_05.png") left top / auto 100% no-repeat;
}

#glass-recycle #contents .flow_porous .inner ol li:nth-child(9)::after {
	background: url("../../img/products/environment/glass-plaster/arrow_06.png") left top / auto 100% no-repeat;
}

#glass-recycle #contents .flow_porous .inner ol li:nth-child(10)::after {
	display: none;
}


#glass-recycle #contents .flow_porous .inner ol li:nth-child(6)::before {
	content: "";
	width: 49px;
	height: 100%;
	background: url("../../img/products/environment/glass-plaster/arrow_04.png") left top / auto 100% no-repeat;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
}


#glass-recycle #contents .flow_porous .inner ol li:nth-child(4) .outer {
	display: block;
	position: absolute;
	bottom: -70px;
	left: -4vw;
	color: var(--color_orange);
	font-size: min(20px, 1.8vw);
}

#glass-recycle #contents .flow_porous .inner ol li:nth-child(4) .outer::before {
	content: "";
	width: 150%;
	height: 30px;
	border-style: dashed;
	border-width: 0 2px 2px 2px;
	border-color: transparent #fff #fff #fff;
	position: absolute;
	left: -25%;
	top: -40px;
}

#glass-recycle #contents .flow_porous .inner ol li:nth-child(4) .outer::after {
	content: "";
	border-style: solid;
	border-width: 0 5px 10px 5px;
	border-color: transparent transparent #fff transparent;
	position: absolute;
	left: calc(-25% - 4px);
	top: -40px;
}


#glass-recycle #contents .flow_porous .inner ol li:nth-child(5) .outer {
	display: block;
	position: absolute;
	top: -65px;
	left: 0;
	color: var(--color_orange);
	font-size: min(20px, 1.8vw);
}

#glass-recycle #contents .flow_porous .inner ol li:nth-child(5) .outer::before {
	content: "";
	height: 20px;
	border-left: dashed 2px #fff;
	position: absolute;
	left: 49%;
	bottom: -25px;
}

#glass-recycle #contents .flow_porous .inner ol li:nth-child(5) .outer::after {
	content: "";
	border-style: solid;
	border-width: 10px 5px 0 5px;
	border-color: #fff transparent transparent transparent;
	position: absolute;
	left: calc(50% - 6px);
	bottom: -38px;
}


#glass-recycle #contents .flow_porous .inner ol li .txt {
	position: relative;
	z-index: 2;
	text-align: center;
}

#glass-recycle #contents .flow_porous .inner ol li .txt .min {
	font-size: min(20px, 1.8vw);
}



@media screen and (max-width: 768px){
	#glass-recycle #contents .flow_porous {
		padding: 6vh 0;
	}
	
	#glass-recycle #contents .flow_porous .inner h3 {
		margin: 0 0 4vh;
		font-size: 3.7vw;
		letter-spacing: var(--letter);
	}
	
	#glass-recycle #contents .flow_porous .inner h3 span {
		font-size: 6vw;
	}
	
	#glass-recycle #contents .flow_porous .inner ol {
		margin: 0;
		display: flex;
		flex-flow: row wrap;
		gap: 1vh 0;
	}
	
	#glass-recycle #contents .flow_porous .inner ol li {
		width: calc(100% / 3);
		padding-left: 2vw;
		height: 10vh;
		font-size: 4vw;
		line-height: 1.4;
	}
	
	#glass-recycle #contents .flow_porous .inner ol li:nth-child(1) {
		width: 100%;
		margin: 0 0 7vh;
		padding: 0 2vw;
		font-size: 5vw;
	}
	
	#glass-recycle #contents .flow_porous .inner ol li:nth-child(3) {
		margin: 0 0 7vh;
	}
	
	
	#glass-recycle #contents .flow_porous .inner ol li::after,
	#glass-recycle #contents .flow_porous .inner ol li:nth-child(5)::after {
		width: 4vw;
		background: url("../../img/products/environment/glass-plaster/arrow_02.png") left top / 100% 100% no-repeat;
		right: -2vw;
	}
	
	#glass-recycle #contents .flow_porous .inner ol li:nth-child(1)::after {
		content: "";
		width: 0;
		height: 0;
		background: none;
		border-style: solid;
		border-right: 20px solid transparent;
		border-left: 20px solid transparent;
		border-top: 30px solid #ffffff;
		border-bottom: 0;
		position: absolute;
		left: calc(50% - 20px);
		top: auto;
		bottom: -6vh;
	}
	
	#glass-recycle #contents .flow_porous .inner ol li:nth-child(4)::after,
	#glass-recycle #contents .flow_porous .inner ol li:nth-child(7)::after {
		width: 4vw;
		background: url("../../img/products/environment/glass-plaster/arrow_03.png") left top / 100% 100% no-repeat;
		right: -2vw;
	}
	
	#glass-recycle #contents .flow_porous .inner ol li:nth-child(5)::after,
	#glass-recycle #contents .flow_porous .inner ol li:nth-child(9)::after {
		background: url("../../img/products/environment/glass-plaster/arrow_06.png") left top / 100% 100% no-repeat;
	}
	
	#glass-recycle #contents .flow_porous .inner ol li:nth-child(6)::after {
		background: url("../../img/products/environment/glass-plaster/arrow_05.png") left top / 100% 100% no-repeat;
	}
	
	
	#glass-recycle #contents .flow_porous .inner ol li:nth-child(6)::before {
		display: none;
	}
	
	#glass-recycle #contents .flow_porous .inner ol li:nth-child(2)::before,
	#glass-recycle #contents .flow_porous .inner ol li:nth-child(5)::before,
	#glass-recycle #contents .flow_porous .inner ol li:nth-child(8)::before {
		content: "";
		width: 4vw;
		height: 100%;
		background: url("../../img/products/environment/glass-plaster/arrow_01.png") left top / 100% 100% no-repeat;
		position: absolute;
		left: 0;
		top: 0;
		z-index: 1;
	}
	
	
	#glass-recycle #contents .flow_porous .inner ol li:nth-child(4) .outer {
		bottom: -6vh;
		left: -12vw;
		font-size: 3.2vw;
	}
	
	#glass-recycle #contents .flow_porous .inner ol li:nth-child(4) .outer::before {
		width: 120%;
		height: 3vh;
		left: -10%;
		top: -3.5vh;
	}
	
	#glass-recycle #contents .flow_porous .inner ol li:nth-child(4) .outer::after {
		left: calc(-10% - 4px);
		top: -3.5vh;
	}
	
	
	#glass-recycle #contents .flow_porous .inner ol li:nth-child(5) .outer {
		width: 10rem;
		top: -6vh;
		left: 1vw;
		font-size: 3.2vw;
	}
	
	#glass-recycle #contents .flow_porous .inner ol li:nth-child(5) .outer::before {
		height: 3vh;
		left: 13vw;
		bottom: -3.2vh;
	}
	
	#glass-recycle #contents .flow_porous .inner ol li:nth-child(5) .outer::after {
		left: calc(13vw - 4px);
		bottom: -3.7vh;
	}
	
	
	#glass-recycle #contents .flow_porous .inner ol li .txt .min {
		font-size: 4vw;
	}
}





/*===============================================================

		#ash-solidification header layout

===============================================================*/

#ash-solidification header .main_img {
	background: url("../../img/products/environment/incinerated-ash/main_img.jpg") center center / cover no-repeat;
}


@media screen and (max-width: 768px){
	#ash-solidification header .main_img {
		background: url("../../img/products/environment/incinerated-ash/main_img.jpg") center top / cover no-repeat;
	}
}



/*===============================================================

		#ash-solidification #contents .p_link layout

===============================================================*/

#ash-solidification #contents .p_link .inner ul {
	margin: 1rem 0 0;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
	gap: 0 min(100px, 5vw);
}

#ash-solidification #contents .p_link .inner ul li a {
	position: relative;
	display: inline-block;
	color: #fff;
	font-size: 18px;
	font-weight: 500;
}

#ash-solidification #contents .p_link .inner ul li a::after {
	content: "";
	width: 10px;
	height: 10px;
	border-style: solid;
	border-width: 2px 2px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: -15px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}


@media screen and (max-width: 768px){
	#ash-solidification #contents .p_link .inner ul {
		margin: 0;
		gap: 2vh 0;
	}
	
	#ash-solidification #contents .p_link .inner ul li {
		width: 50%;
	}
	
	#ash-solidification #contents .p_link .inner ul li a {
		font-size: 4.5vw;
	}
}



/*===============================================================

		#ash-solidification #contents .caption layout

===============================================================*/

#ash-solidification #contents .caption {
	padding: 80px 0 60px;
}

#ash-solidification #contents .caption .inner h3 {
	margin: 0 0 40px;
	color: var(--color_orange);
	font-size: min(33px, 2.7vw);
	font-weight: 700;
	line-height: 1.4;
}


@media screen and (max-width: 768px){
	#ash-solidification #contents .caption {
		padding: 6vh 0;
	}
	
	#ash-solidification #contents .caption .inner h3 {
		margin: 0 0 4vh;
		font-size: 4.9vw;
		letter-spacing: var(--letter);
	}
}



/*===============================================================

		#ash-solidification #contents .flow layout

===============================================================*/

#ash-solidification #contents .flow {
	padding: 70px 0 60px;
	background-color: #B7C4EA;
}

#ash-solidification #contents .flow .inner h3 {
	margin: 0 0 40px;
	text-align: center;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2em;
}

#ash-solidification #contents .flow .inner h3 span {
	display: block;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: var(--letter);
}


#ash-solidification #contents .flow .inner .box {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: flex-start;
}

#ash-solidification #contents .flow .inner .box ul {
	width: min(310px, 28.7%);
	position: relative;
}

#ash-solidification #contents .flow .inner .box ul::after {
	content: "";
	border-style: solid;
	border-width: 20px 0 20px 30px;
	border-color: transparent transparent transparent #fff;
	position: absolute;
	right: -15%;
	top: calc(50% - 20px);
}

#ash-solidification #contents .flow .inner .box ul li {
	margin: 0 0 10px;
	padding: 10px 0;
	background-color: #294395;
	text-align: center;
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2;
}

#ash-solidification #contents .flow .inner .box ul li:last-child {
	margin: 0;
}

#ash-solidification #contents .flow .inner .box p {
	width: min(705px, 65.28%);
}


@media screen and (max-width: 1000px){
	#ash-solidification #contents .flow .inner .box ul::after {
		right: -18%;
	}
}


@media screen and (max-width: 768px){
	#ash-solidification #contents .flow {
		padding: 6vh 0;
	}
	
	#ash-solidification #contents .flow .inner h3 {
		margin: 0 0 4vh;
		font-size: 6vw;
		letter-spacing: var(--letter);
	}
	
	#ash-solidification #contents .flow .inner .box {
		display: block;
	}
	
	#ash-solidification #contents .flow .inner .box ul {
		width: auto;
		margin: 0 0 7vh;
		display: flex;
		justify-content: space-between;
		gap: 0 1vw;
	}
	
	#ash-solidification #contents .flow .inner .box ul::after {
		border-width: 30px 20px 0 20px;
		border-color: #fff transparent transparent transparent;
		right: auto;
		top: auto;
		left: calc(50% - 20px);
		bottom: -5vh;
	}
	
	#ash-solidification #contents .flow .inner .box ul li {
		width: calc(100% / 3 - 1vw);
		margin: 0;
		padding: 1vw;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 3.4vw;
	}
	
	#ash-solidification #contents .flow .inner .box p {
		width: auto;
	}
}



/*===============================================================

		#ash-solidification #contents .product_detail layout

===============================================================*/

#ash-solidification #contents .product_detail {
	margin: -75px 0 0;
	padding: 75px 0 60px;
}

#ash-solidification #contents .product_detail .inner .spec table thead th {
	background-color: #B7C4EA;
	border: solid 1px #fff;
}

#ash-solidification #contents .product_detail .inner .spec table thead th:nth-of-type(1) {
	background-color: var(--color_gray);
}

#ash-solidification #contents .product_detail .inner .spec table tbody th {
	background-color: var(--color_gray);
	border: solid 1px #fff;
	border-right: none;
}


@media screen and (max-width: 768px){
	#ash-solidification #contents .product_detail {
		margin: -60px 0 0;
		padding: 60px 0 6vh;
	}
}



/*===============================================================

		#ash-solidification #contents .product_01 layout

===============================================================*/

#ash-solidification #contents .product_01 h3 {
	background: url("../../img/products/environment/incinerated-ash/img02.jpg") center center / cover no-repeat;
}

#ash-solidification #contents .product_01 .inner .feature_with_img p.img {
	margin: -9vh 0 0 calc(50% - 50vw);
}

#ash-solidification #contents .product_01 .inner .feature_with_img p.img img {
	max-width: calc(1206px / 2);
}


@media screen and (max-width: 999px){
	#ash-solidification #contents .product_01 .inner .feature_with_img p.img {
		margin: -7vh auto 0;
	}
}




/*===============================================================

		#ash-solidification #contents .product_02 layout

===============================================================*/

#ash-solidification #contents .product_02 h3 {
	background: url("../../img/products/environment/incinerated-ash/img04.jpg") center center / cover no-repeat;
}

#ash-solidification #contents .product_02 .inner .feature_with_img p.img {
	margin: -15vh 0 0 calc(50% - 50vw);
	padding: 0 0 0 1vw;
}

#ash-solidification #contents .product_02 .inner .feature_with_img p.img img {
	max-width: calc(882px / 2);
}


@media screen and (max-width: 999px){
	#ash-solidification #contents .product_02 .inner .feature_with_img p.img {
		margin: -9vh auto 0;
		padding: 0 5vw;
	}
}



/*===============================================================

		#ash-solidification #contents .product_03 layout

===============================================================*/

#ash-solidification #contents .product_03 h3 {
	background: url("../../img/products/environment/incinerated-ash/img06.jpg") center center / cover no-repeat;
}

#ash-solidification #contents .product_03 .inner .feature_with_img p.img {
	margin: -6vh 0 0 calc(50% - 50vw);
	padding: 0 0 0 1vw;
}

#ash-solidification #contents .product_03 .inner .feature_with_img p.img img {
	max-width: calc(1048px / 2);
}


@media screen and (max-width: 999px){
	#ash-solidification #contents .product_03 .inner .feature_with_img p.img {
		margin: -7vh auto 0;
	}
}


@media screen and (max-width: 768px){
	#ash-solidification #contents .product_03 .inner .feature_with_img p.img {
		margin: -5vh auto 0;
	}
}



/*===============================================================

		#ash-solidification #contents .product_04 layout

===============================================================*/

#ash-solidification #contents .product_04 h3 {
	background: url("../../img/products/environment/incinerated-ash/img08.jpg") center center / cover no-repeat;
}

#ash-solidification #contents .product_04 .inner .feature_with_img p.img {
	margin: -8vh 0 0 calc(50% - 50vw);
	padding: 0 0 0 1vw;
}

#ash-solidification #contents .product_04 .inner .feature_with_img p.img img {
	max-width: calc(966px / 2);
}

#ash-solidification #contents .product_04 .inner .spec table tbody tr:last-of-type td {
	padding: 10px 15px;
	text-align: left;
}


@media screen and (max-width: 999px){
	#ash-solidification #contents .product_04 .inner .feature_with_img p.img {
		margin: -8vh auto 0;
	}
}


@media screen and (max-width: 950px){
	#ash-solidification #contents .product_04 .inner .spec table tbody tr:nth-of-type(1) td br {
		display: none;
	}
}

@media screen and (max-width: 768px){
	#ash-solidification #contents .product_04 .inner .feature_with_img p.img {
		margin: -6vh auto 0;
	}
	
	#ash-solidification #contents .product_04 .inner .spec table tbody tr:last-of-type td {
		padding: 1vh 2vw;
	}
}



/*===============================================================

		#block #contents .product_05 layout

===============================================================*/

#ash-solidification #contents .product_05 {
	overflow: hidden;
}

#ash-solidification #contents .product_05 h3 {
	background: url("../../img/products/concrete/block/img15.jpg") center center / cover no-repeat;
}

#ash-solidification #contents .product_05 .inner .feature_with_img p.img {
	margin: -11vh 0 0 calc(50% - 50vw);
	padding: 0 0 0 1vw;
}

#ash-solidification #contents .product_05 .inner .feature_with_img p.img img {
	max-width: calc(970px / 2);
}

#ash-solidification #contents .product_05 .inner .spec table {
	table-layout: auto;
}

#ash-solidification #contents .product_05 .inner .spec table th {
	width: 25%;
}

#ash-solidification #contents .product_05 .inner .spec table td {
	width: 75%;
}


@media screen and (max-width: 999px){
	#ash-solidification #contents .product_05 .inner .feature_with_img p.img {
		margin: -9vh calc(50% - 50vw) 0;
		padding: 0 4vw;
	}
}


@media screen and (max-width: 768px){
	#ash-solidification #contents .product_05 .inner .spec {
		overflow: visible;
	}
	
	#ash-solidification #contents .product_05 .inner .spec table {
		width: 100%;
	}
	
	#ash-solidification #contents .product_05 .inner .spec table th {
		width: 38%;
	}
	
	#ash-solidification #contents .product_05 .inner .spec table td {
		width: 62%;
	}
}





/*====================================================================================

		#diaper-recycle layout

====================================================================================*/

/*===============================================================

		#diaper-recycle header layout

===============================================================*/

#diaper-recycle header .main_img {
	background: url("../../img/products/environment/diaper/main_img.jpg") center center / cover no-repeat;
}

#diaper-recycle header .main_img h2 {
	width: min(1050px, 82%);
	padding: 7px 0 0 min(90px, 6%);
	display: block;
}

#diaper-recycle header .main_img h2 .sub {
	display: inline-block;
}

#diaper-recycle header .main_img h2 .en {
	display: block;
}

@media screen and (max-width: 768px){
	#diaper-recycle header .main_img {
		background: url("../../img/products/environment/diaper/main_img.jpg") center top / cover no-repeat;
	}
	
	#diaper-recycle header .main_img h2 {
		width: 80%;
		padding: 1vh 2vw 1vh 4vw;
		font-size: 5.2vw;
		line-height: 1.2;
	}
	
	header .main_img h2 span {
		font-size: 3vw;
		transform: translateY(0);
	}
}



/*===============================================================

		#diaper-recycle #contents .p_link layout

===============================================================*/

#diaper-recycle #contents .p_link .inner ul {
	margin: 1rem 0 0;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
	gap: 0 min(100px, 5vw);
}

#diaper-recycle #contents .p_link .inner ul li a {
	position: relative;
	display: inline-block;
	color: #fff;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.4;
}

#diaper-recycle #contents .p_link .inner ul li a::after {
	content: "";
	width: 15px;
	height: 15px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: -20px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}


@media screen and (max-width: 768px){
	#diaper-recycle #contents .p_link .inner ul {
		margin: 0;
		gap: 2vh 0;
	}
	
	#diaper-recycle #contents .p_link .inner ul li {
		width: 100%;
	}
	
	#diaper-recycle #contents .p_link .inner ul li a {
		font-size: 4.5vw;
	}
}



/*===============================================================

		#diaper-recycle #contents .caption layout

===============================================================*/

#diaper-recycle #contents .caption {
	padding: 90px 0;
	background-color: var(--color_gray);
}

#diaper-recycle #contents .caption .inner {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}

#diaper-recycle #contents .caption .inner p.img {
	width: 48%;
}

#diaper-recycle #contents .caption .inner .txt {
	width: 48%;
}

#diaper-recycle #contents .caption .inner .txt h3 {
	margin: 0 0 20px;
	color: var(--color_orange);
	font-size: 30px;
	font-weight: 700;
	letter-spacing: var(--letter);
}

#diaper-recycle #contents .caption .inner .txt p {
	line-height: 2.0;
}

#diaper-recycle #contents .caption .inner .box {
	margin: 40px 0 0;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}

#diaper-recycle #contents .caption .inner .box dl {
	width: 48%;
	line-height: 2.0;
}

#diaper-recycle #contents .caption .inner .box dl dt {
	color: var(--color_orange);
	font-weight: 500;
}

#diaper-recycle #contents .caption .inner .box p {
	width: 50%;
}


@media screen and (max-width: 768px){
	#diaper-recycle #contents .caption {
		padding: 6vh 0;
	}
	
	#diaper-recycle #contents .caption .inner p.img {
		width: 90%;
		margin: 0 auto 4vh;
	}
	
	#diaper-recycle #contents .caption .inner .txt {
		width: 100%;
	}
	
	#diaper-recycle #contents .caption .inner .txt h3 {
		margin: 0 0 2vh;
		font-size: 6vw;
	}
	
	#diaper-recycle #contents .caption .inner .txt p {
		line-height: 1.8;
	}
	
	#diaper-recycle #contents .caption .inner .box {
		margin: 4vh 0 0;
	}
	
	#diaper-recycle #contents .caption .inner .box dl {
		width: 58%;
		font-size: 3.5vw;
		line-height: 1.8;
	}
	
	#diaper-recycle #contents .caption .inner .box p {
		width: 40%;
	}
}



/*===============================================================

		#diaper-recycle #contents .flow layout

===============================================================*/

#diaper-recycle #contents .flow {
	padding: 70px 0 60px;
	background-color: #B7C4EA;
}

#diaper-recycle #contents .flow .inner h3 {
	margin: 0 0 40px;
	text-align: center;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2em;
}

#diaper-recycle #contents .flow .inner h3 span {
	display: block;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: var(--letter);
}


#diaper-recycle #contents .flow .inner ol {
	margin: 0 0 90px;
	display: flex;
	flex-flow: row wrap;
	gap: 20px 0
}

#diaper-recycle #contents .flow .inner ol li {
	width: calc(100% / 3);
	height: 146px;
	padding: 0 2rem 0 0;
	background-color: var(--color_orange);
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	text-align: center;
	color: #fff;
	font-size: min(24px, 2vw);
	font-weight: 700;
	line-height: 1.3;
}

#diaper-recycle #contents .flow .inner ol li:nth-child(5),
#diaper-recycle #contents .flow .inner ol li:nth-child(6) {
	background-color: #6782D4;
}

#diaper-recycle #contents .flow .inner ol li:nth-child(1)::after,
#diaper-recycle #contents .flow .inner ol li:nth-child(2)::after {
	content: "";
	width: 178px;
	height: 100%;
	background: url("../../img/products/environment/diaper/arrow_01.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -89px;
	top: 0;
	z-index: 1;
}

#diaper-recycle #contents .flow .inner ol li:nth-child(3)::after {
	content: "";
	width: 152px;
	height: 100%;
	background: url("../../img/products/environment/diaper/arrow_02.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -76px;
	top: 0;
	z-index: 1;
}

#diaper-recycle #contents .flow .inner ol li:nth-child(4)::after {
	content: "";
	width: 170px;
	height: 100%;
	background: url("../../img/products/environment/diaper/arrow_04.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -85px;
	top: 0;
	z-index: 1;
}

#diaper-recycle #contents .flow .inner ol li:nth-child(5)::after {
	content: "";
	width: 170px;
	height: 100%;
	background: url("../../img/products/environment/diaper/arrow_05.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -85px;
	top: 0;
	z-index: 1;
}


#diaper-recycle #contents .flow .inner ol li:nth-child(4)::before {
	content: "";
	width: 148px;
	height: 100%;
	background: url("../../img/products/environment/diaper/arrow_03.png") left top / auto 100% no-repeat;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
}

#diaper-recycle #contents .flow .inner ol li span {
	position: relative;
	z-index: 2;
	text-align: center;
}


@media screen and (max-width: 768px){
	#diaper-recycle #contents .flow {
		padding: 6vh 0;
	}
	
	#diaper-recycle #contents .flow .inner h3 {
		margin: 0 0 4vh;
		font-size: 3.7vw;
		letter-spacing: var(--letter);
	}
	
	#diaper-recycle #contents .flow .inner h3 span {
		font-size: 6vw;
	}
	
	#diaper-recycle #contents .flow .inner ol {
		margin: 0;
		display: flex;
		flex-flow: row wrap;
		gap: 1vh 0;
	}
	
	#diaper-recycle #contents .flow .inner ol li {
		width: calc(100% / 3);
		padding: 0 2vw;
		height: 10vh;
		font-size: 4vw;
		line-height: 1.4;
	}
	
	#diaper-recycle #contents .flow .inner ol li:nth-child(1),
	#diaper-recycle #contents .flow .inner ol li:nth-child(6) {
		font-size: 3vw;
	}
	
	#diaper-recycle #contents .flow .inner ol li:nth-child(1)::after,
	#diaper-recycle #contents .flow .inner ol li:nth-child(2)::after {
		width: 4vw;
		background: url("../../img/products/environment/diaper/arrow_01.png") left top / 100% 100% no-repeat;
		right: -2vw;
	}
	
	#diaper-recycle #contents .flow .inner ol li:nth-child(3)::after {
		width: 4vw;
		background: url("../../img/products/environment/diaper/arrow_02.png") left top / 100% 100% no-repeat;
		right: -2vw;
	}
	
	#diaper-recycle #contents .flow .inner ol li:nth-child(4)::after {
		width: 4vw;
		background: url("../../img/products/environment/diaper/arrow_04.png") left top / 100% 100% no-repeat;
		right: -2vw;
	}
	
	#diaper-recycle #contents .flow .inner ol li:nth-child(5)::after {
		width: 4vw;
		background: url("../../img/products/environment/diaper/arrow_05.png") left top / 100% 100% no-repeat;
		right: -2vw;
	}
	
	
	#diaper-recycle #contents .flow .inner ol li:nth-child(4)::before {
		width: 4vw;
		background: url("../../img/products/environment/diaper/arrow_03.png") left top / 100% 100% no-repeat;
	}
	
	#diaper-recycle #contents .flow .inner ol li span {
		position: relative;
		z-index: 2;
	}
}



/*===============================================================

		#diaper-recycle #contents .product_detail layout

===============================================================*/

#diaper-recycle #contents .product_detail {
	margin: -75px 0 0;
	padding: 75px 0 60px;
}

#diaper-recycle #contents .product_detail .inner .feature_with_img table {
	width: 56%;
	margin: 0;
	text-align: center;
	font-weight: 500;
	line-height: 1.5;
	word-wrap: break-word;
}

#diaper-recycle #contents .product_detail .inner .feature_with_img table th {
	width: 25%;
	padding: 10px 0;
	background-color: var(--color_gray);
	border: solid 1px #fff;
	vertical-align: middle;
}

#diaper-recycle #contents .product_detail .inner .feature_with_img table tr:first-of-type th {
	border-top: solid 1px var(--color_gray);
}

#diaper-recycle #contents .product_detail .inner .feature_with_img table tr:last-of-type th {
	border-bottom: solid 1px var(--color_gray);
}

#diaper-recycle #contents .product_detail .inner .feature_with_img table td {
	padding: 10px 15px;
	border: solid 1px #b2b2b2;
	text-align: left;
	vertical-align: middle;
}


@media screen and (max-width: 768px){
	#diaper-recycle #contents .product_detail {
		margin: -60px 0 0;
		padding: 60px 0 6vh;
	}
	
	#diaper-recycle #contents .product_detail .inner .feature_with_img table {
		width: 100%;
		font-size: 3.4vw;
	}
	
	#diaper-recycle #contents .product_detail .inner .feature_with_img table th {
		width: 30%;
		padding: 1vh 1vw;
	}
	
	#diaper-recycle #contents .product_detail .inner .feature_with_img table td {
		padding: 1vh 2vw;
	}
}



/*===============================================================

		#diaper-recycle #contents .product_01 layout

===============================================================*/

#diaper-recycle #contents .product_01 h3 {
	background: url("../../img/products/environment/diaper/img03.jpg") center center / cover no-repeat;
}

#diaper-recycle #contents .product_01 .inner .feature_with_img p.img {
	margin: -13vh 0 0 calc(50% - 50vw);
	padding: 0 0 0 2vw;
}

#diaper-recycle #contents .product_01 .inner .feature_with_img p.img img {
	max-width: calc(1008px / 2);
}


@media screen and (max-width: 999px){
	#diaper-recycle #contents .product_01 .inner .feature_with_img p.img {
		margin: -8vh 0 2vh;
		padding: 0;
	}
}


@media screen and (max-width: 768px){
	#diaper-recycle #contents .product_01 .inner .feature_with_img p.img {
		margin: -7vh 5vw 2vh;
		padding: 0;
	}
}



/*===============================================================

		#diaper-recycle #contents .product_02 layout

===============================================================*/

#diaper-recycle #contents .product_02 h3 {
	background: url("../../img/products/environment/diaper/img05.jpg") center center / cover no-repeat;
}

#diaper-recycle #contents .product_02 .inner .feature_with_img p.img {
	margin: -17vh 0 0 calc(50% - 50vw);
	padding: 0 4vw 0 2vw;
}

#diaper-recycle #contents .product_02 .inner .feature_with_img p.img img {
	max-width: calc(834px / 2);
}


@media screen and (max-width: 999px){
	#diaper-recycle #contents .product_02 .inner .feature_with_img p.img {
		margin: -10vh 0 2vh;
		padding: 0;
	}
}


@media screen and (max-width: 768px){
	#diaper-recycle #contents .product_02 .inner .feature_with_img p.img {
		margin: -8vh 5vw 2vh;
		padding: 0;
	}
}



/*===============================================================

		#diaper-recycle #contents .example layout

===============================================================*/

#diaper-recycle #contents .example {
	padding: 70px 0;
	background-color: #B7C4EA;
	overflow-x: hidden;
}

#diaper-recycle #contents .example .inner h3 {
	margin: 0 0 40px;
	text-align: center;
	font-size: 40px;
	font-weight: 900;
	letter-spacing: var(--letter);
	line-height: 1.4;
}

#diaper-recycle #contents .example .inner .example_01 {
	margin: 0 0 80px;
	display: flex;
	justify-content: space-between;
	gap: 0 2vw;
}

#diaper-recycle #contents .example .inner .example_01 dl {
	width: 41%;
}

#diaper-recycle #contents .example .inner .example_01 dl dt {
	margin: 0 0 40px;
	font-size: 26px;
	font-weight: 700;
	letter-spacing: var(--letter);
	line-height: 1.4;
}

#diaper-recycle #contents .example .inner .example_01 dl dt span {
	margin: 20px 0 0;
	display: block;
	font-size: 20px;
	letter-spacing: var(--letter);
}

#diaper-recycle #contents .example .inner .example_01 dl dd {
	padding-left: 0.5rem;
	text-indent: -0.5rem;
	line-height: 2.0;
}

#diaper-recycle #contents .example .inner .example_01 p.img {
	width: 56vw;
	margin: 0 calc(50% - 50vw) 0 0;
}


#diaper-recycle #contents .example .inner ul {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	gap: 30px 1vw;
}

#diaper-recycle #contents .example .inner ul li {
	width: calc(100% / 3 - 1vw);
	background-color: var(--color_gray);
	line-height: 1.4;
}

#diaper-recycle #contents .example .inner ul li dt {
	padding: 20px 30px;
	color: var(--color_orange);
	font-weight: 700;
}

#diaper-recycle #contents .example .inner ul li dd {
	padding: 0 30px 20px;
}

#diaper-recycle #contents .example .inner ul li dd:nth-last-of-type(2) {
	font-weight: 500;
}

#diaper-recycle #contents .example .inner ul li dd.img {
	padding: 0;
}


@media screen and (max-width: 768px){
	#diaper-recycle #contents .example {
		padding: 6vh 0;
	}
	
	#diaper-recycle #contents .example .inner h3 {
		margin: 0 0 4vh;
		font-size: 6vw;
		letter-spacing: var(--letter);
	}
	
	#diaper-recycle #contents .example .inner .example_01 {
		margin: 0 0 80px;
		display: block;
	}
	
	#diaper-recycle #contents .example .inner .example_01 dl {
		width: auto;
	}
	
	#diaper-recycle #contents .example .inner .example_01 dl dt {
		margin: 0 0 4vh;
		font-size: 5vw;
	}
	
	#diaper-recycle #contents .example .inner .example_01 dl dt span {
		margin: 2vh 0 0;
		font-size: 4vw;
	}
	
	#diaper-recycle #contents .example .inner .example_01 dl dd {
		line-height: 1.8;
	}
	
	#diaper-recycle #contents .example .inner .example_01 p.img {
		width: auto;
		margin: 4vh 0 0;
	}
	
	
	#diaper-recycle #contents .example .inner ul {
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
		gap: 30px 1vw;
	}
	
	#diaper-recycle #contents .example .inner ul li {
		width: calc(100% / 2 - 1vw);
		line-height: 1.6;
	}
	
	#diaper-recycle #contents .example .inner ul li dt {
		padding: 1vh 2vw 2vh;
	}
	
	#diaper-recycle #contents .example .inner ul li dd {
		padding: 0 2vw 2vh;
	}
}






/*====================================================================================

		#products layout

====================================================================================*/

/*===============================================================

		#products header layout

===============================================================*/

#products header .main_img {
	background: url("../../img/products/main_img.jpg") center center / cover no-repeat;
}

#products header .main_img h2 {
	width: max(503px, 40%);
	padding: 7px 0 0 min(90px, 6%);
	display: block;
}


@media screen and (max-width: 768px){
	#products header .main_img {
		background: url("../../img/products/main_img.jpg") center top / cover no-repeat;
	}
	
	#products header .main_img h2 {
		width: 50%;
	}
}



/*===============================================================

		#products #contents .introduction layout

===============================================================*/

#products #contents .introduction {
	padding: 0 0 120px;
}

#products #contents .introduction .inner ul {
	display: flex;
	justify-content: space-between;
	gap: 0 1vw;
}

#products #contents .introduction .inner ul li {
	width: calc(100% / 3 - 1vw);
}

#products #contents .introduction .inner ul li h3 {
	margin: 40px 0 20px;
	text-align: center;
	color: var(--color_orange);
	font-size: 40px;
	font-weight: 700;
	letter-spacing: var(--letter);
	line-height: 1.4;
	letter-spacing: 0;
}

#products #contents .introduction .inner ul li dl {
	width: 80%;
	margin: 0 auto 40px;
}

#products #contents .introduction .inner ul li dl dt {
	margin: 0 0 20px;
	color: var(--color_orange);
	font-size: 26px;
	font-weight: 500;
	letter-spacing: var(--letter);
	line-height: 1.4;
}

#products #contents .introduction .inner ul li dl dd {
	line-height: 2.0;
}

#products #contents .introduction .inner ul li p.btn_01 {
	width: 80%;
	margin: 0 auto;
}


#products #contents .introduction .inner ul li .img{
	overflow: hidden;
}
#products #contents .introduction .inner ul li .img a{
	display: block;
}
#products #contents .introduction .inner ul li .img a img {
	transition: all 0.3s;
}

#products #contents .introduction .inner ul li .img a:hover img {
	transform: scale(1.1);
}

@media screen and (max-width: 768px){
	#products #contents .introduction {
		padding: 0 0 8vh;
	}
	
	#products #contents .introduction .inner ul {
		flex-flow: row wrap;
		gap: 8vh 0;
	}
	
	#products #contents .introduction .inner ul li {
		width: 100%;
	}
	
	#products #contents .introduction .inner ul li p {
		width: 70%;
		margin: 0 auto 2vh;
	}
	
	#products #contents .introduction .inner ul li h3 {
		margin: 0 0 2vh;
		font-size: 6vw;
		letter-spacing: var(--letter);
	}
	
	#products #contents .introduction .inner ul li dl {	
		width: auto;
		margin: 0 0 4vh;
		padding: 0 1vw;
	}
	
	#products #contents .introduction .inner ul li dl dt {
		margin: 0 0 2vh;
		font-size: 4.5vw;
	}
	
	#products #contents .introduction .inner ul li dl dd {
		line-height: 1.8;
	}
	
	#products #contents .introduction .inner ul li p.btn_01 {
		width: 80%;
		margin: 0 auto;
	}
}



/*===============================================================

		#products #contents .technology layout

===============================================================*/

#products #contents .technology {
	padding: 0;
}

#products #contents .technology .inner h3 {
	margin: 0 0 30px;
	color: var(--color_orange);
	font-size: 40px;
	font-weight: 900;
	line-height: 1.1;
	letter-spacing: var(--letter);
}

#products #contents .technology .inner h3 + p {
	line-height: 2.2;
}

#products #contents .technology .slider_area {
	margin: 60px 0 0;
}


/*========== .swiper ==========*/
#products .swiper-button-prev,
#products .swiper-button-next {
	width: 40px;
	height: 40px;
	background-color: #fff;
	border-radius: 40px;
	position: absolute;
	top: 50%;
	z-index: 10;
	transform: translateY(-50%);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color_orange);
}

#products .swiper-button-prev {
	left: 5vw;
}

#products .swiper-button-next {
	right: 5vw;
}


#products .swiper-button-prev::after,
#products .swiper-button-next::after {
	content: "";
	width: 15px;
	height: 15px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: var(--color_orange) var(--color_orange) transparent transparent;
	box-sizing: border-box;
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}

#products .swiper-button-prev::after {
	transform: translate(-30% ,-50%) rotate(-135deg);
}

#products .swiper-button-next::after {
	transform: translate(-70% ,-50%) rotate(45deg);
}


@media screen and (max-width: 768px){
	#products #contents .technology {
		padding: 0;
	}
	
	#products #contents .technology .inner h3 {
		margin: 0 0 3vh;
		font-size: 6vw;
		letter-spacing: var(--letter);
	}
	
	#products #contents .technology .inner h3 + p {
		line-height: 2.0;
	}
	
	#products #contents .technology .slider_area {
		margin: 4vh 0 0;
	}
	
	
	/*========== .swiper ==========*/
	#products .swiper-button-prev {
		left: 3vw;
	}
	
	#products .swiper-button-next {
		right: 3vw;
	}
}



/*===============================================================

		#products #contents .three_advantages layout

===============================================================*/

#products #contents .three_advantages {
	padding: 80px 0 0;
	background-color: var(--color_gray);
}

#products #contents .three_advantages .inner {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	position: relative;
}

#products #contents .three_advantages .inner .img_box {
	width: 48%;
	padding: 0 0 110px;
}

#products #contents .three_advantages .inner .img_box::after {
	content: "";
	width: 1px;
	height: 100%;
	background-color: var(--color_orange);
	position: absolute;
	left: 15px;
	top: 0;
	z-index: 1;
}

#products #contents .three_advantages .inner .img_box p.v_txt {
	padding: 0 20px 0 0;
	background-color: var(--color_gray);
	position: absolute;
	left: 27px;
	top: 0;
	color: var(--color_orange);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.0;
	transform: rotate(90deg);
	transform-origin: left top;
	z-index: 2;
}

#products #contents .three_advantages .inner .txt {
	width: 48%;
	padding: 0 0 60px;
}

#products #contents .three_advantages .inner .txt h3 {
	margin: 0 0 40px;
	font-size: 40px;
	font-weight: 900;
	line-height: 1.2;
	letter-spacing: var(--letter);
}

#products #contents .three_advantages .inner .txt h3 + p {
	margin: 0 0 60px;
	line-height: 2.4;
	letter-spacing: 0.2em;
}

#products #contents .three_advantages .inner .txt .btn_01 {
	width: 300px;
}


@media screen and (max-width: 768px){
	#products #contents .three_advantages {
		padding: 8vh 0 0;
	}
	
	#products #contents .three_advantages .inner {
		display: block;
		flex-flow: row wrap;
		justify-content: space-between;
		position: relative;
	}
	
	#products #contents .three_advantages .inner .img_box {
		width: auto;
		padding: 0 0 5vh;
	}
	
	#products #contents .three_advantages .inner .img_box::after {
		height: 40%;
		left: 5.5vw;
	}
	
	#products #contents .three_advantages .inner .img_box p.v_txt {
		left: 8vw;
		font-size: 3.7vw;
	}
	
	#products #contents .three_advantages .inner .img_box p.img {
		margin: 0 0 0 5vw;
	}
	
	#products #contents .three_advantages .inner .txt {
		width: 100%;
		padding: 0 0 60px;
	}
	
	#products #contents .three_advantages .inner.txt  h3 {
		margin: 0 0 4vh;
		font-size: 6vw;
		letter-spacing: var(--letter);
	}
	
	#products #contents .three_advantages .inner .txt h3 + p {
		margin: 0 0 5vh;
		line-height: 1.8;
		letter-spacing: var(--letter);
	}
	
	#products #contents .three_advantages .inner .txt .btn_01 {
		width: 80%;
		margin: 0 auto;
	}
}





/*====================================================================================

		#environment layout

====================================================================================*/

/*===============================================================

		#environment header layout

===============================================================*/

#environment header .main_img {
	background: url("../../img/products/environment/main_img.jpg?ver=230522") center center / cover no-repeat;
}


@media screen and (max-width: 768px){
	#environment header .main_img {
		background: url("../../img/products/environment/main_img.jpg?ver=230522") center top / cover no-repeat;
	}
}



/*===============================================================

		#environment #contents .caption layout

===============================================================*/

#environment #contents .caption {
	margin: -90px 0 0;
	padding: 90px 40px 80px;
	background-color: var(--color_orange);
	position: relative;
	overflow-x: hidden;
}

#environment #contents .caption .inner {
	display: flex;
	justify-content: space-between;
}

#environment #contents .caption .inner .txt {
	width: min(520px, 47%);
	margin: 40px 0 0;
}

#environment #contents .caption .inner .txt h3 {
	margin: 0 0 40px;
	color:#fff;
	font-size: 39px;
	font-weight: 900;
	line-height: 1.4;
}

#environment #contents .caption .inner .txt p.img_01 {
	display: none;
}

#environment #contents .caption .inner .txt p:last-of-type {
	color:#fff;
	line-height: 2.2;
	letter-spacing: 0.07em;
}

#environment #contents .caption .inner p.img_02 {
	width: 50vw;
	margin-right: calc(50% - 50vw);
}


@media screen and (max-width: 1082px){
	#environment #contents .caption .inner .txt {
		margin: 2vh 0 0;
	}
}


@media screen and (max-width: 768px){
	#environment #contents .caption {
		margin: -9vh 0 0;
		padding: 9vh 0 6vh;
	}
	
	#environment #contents .caption .inner {
		padding: 0;
		display: block;
	}
	
	#environment #contents .caption .inner .txt {
		width: auto;
	}
	
	#environment #contents .caption .inner .txt h3 {
		margin: 0 5vw 4vh;
		font-size: 6vw;
	}
	
	#environment #contents .caption .inner .txt p.img_01 {
		width: auto;
		margin: 0 0 4vh 5vw;
		display: block;
	}
	
	#environment #contents .caption .inner .txt p:last-of-type {
		padding: 0 5vw;
		line-height: 1.8;
	}
	
	#environment #contents .caption .inner p.img_02 {
		display: none;
	}
	
	#environment #contents .caption .inner .txt p:last-of-type {
		padding: 0 5vw;
		line-height: 1.8;
	}
}



/*===============================================================

		#environment #contents ul.link layout

===============================================================*/

#environment #contents ul.link {
	padding: 0 0 4px;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}

#environment #contents ul.link li:nth-child(1) {
	width: 100%;
	margin: 10px 0;
	position: relative;
}

#environment #contents ul.link li:nth-child(2) {
	width: calc(33% - 2px);
}

#environment #contents ul.link li:nth-child(3) {
	width: calc(33% - 2px);
}

#environment #contents ul.link li:nth-child(4) {
	width: calc(33% - 2px);
}

#environment #contents ul.link li a {
	display: block;
	position: relative;
	overflow: hidden;
}

#environment #contents ul.link li img {
	transition: all 0.3s;
}

#environment #contents ul.link li a:hover img {
	transform: scale(1.1);
}

#environment #contents ul.link li span {
	display: block;
	position: absolute;
	z-index: 2;
	line-height: 1.0;
}
/*
#environment #contents ul.link li:nth-child(1) span:nth-of-type(1) {
	padding: 5px;
	background-color: #000;
	left: 0;
	top: 0;
	color: #fff;
	font-size: 14px;
}
*/
#environment #contents ul.link li:nth-child(1) span:nth-of-type(1) {
	left: 2%;
	top: 50%;
	transform: translateY(-50%);
	color: rgba(255,255,255,0.8);
	font-size: clamp(8.25vw, 100px, 11vw);
	font-weight: 700;
}

#environment #contents ul.link li:nth-child(2) a span,
#environment #contents ul.link li:nth-child(3) a span,
#environment #contents ul.link li:nth-child(4) a span {
	width: 100%;
	left: 0;
	top: 50%;
	text-align: center;
	color: #fff;
	font-size: min(39px, 3vw);
	font-weight: 700;
	letter-spacing: 0.2em;
}


#environment #contents ul.link li:nth-child(2) a span::after,
#environment #contents ul.link li:nth-child(3) a span::after,
#environment #contents ul.link li:nth-child(4) a span::after {
	content: "";
	width: 20px;
	height: 20px;
	border-style: solid;
	border-width: 5px 5px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	z-index: 2;
	transform: translate(20px, -4px) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}

#environment #contents ul.link li:nth-child(2) a:hover span::after,
#environment #contents ul.link li:nth-child(3) a:hover span::after,
#environment #contents ul.link li:nth-child(4) a:hover span::after {
	transform: translate(30px, -4px) rotate(45deg);
}


@media screen and (max-width: 768px){
	#environment #contents ul.link {
		padding: 0;
	}
	
	#environment #contents ul.link li:nth-child(1) {
		margin: 0;
	}
	
	#environment #contents ul.link li:nth-child(2) {
		width: calc(33% - 1px);
	}
	
	#environment #contents ul.link li:nth-child(3) {
		width: calc(33% - 1px);
	}
	
	#environment #contents ul.link li:nth-child(4) {
		width: calc(33% - 1px);
	}
	
	#environment #contents ul.link li a:hover img {
		transform: scale(1);
	}
	/*
	#environment #contents ul.link li:nth-child(1) span:nth-of-type(1) {
		font-size: 3.2vw;
	}
	*/
	#environment #contents ul.link li:nth-child(1) span:nth-of-type(1) {
		font-size: 8vw;
	}
	
	#environment #contents ul.link li:nth-child(2) a span,
	#environment #contents ul.link li:nth-child(3) a span,
	#environment #contents ul.link li:nth-child(4) a span {
		width: 100%;
		left: 0;
		top: 50%;
		transform: translate(0, -50%);
		text-align: center;
		font-size: 4vw;
	}
	
	#environment #contents ul.link li:nth-child(2) a span::after,
	#environment #contents ul.link li:nth-child(3) a span::after,
	#environment #contents ul.link li:nth-child(4) a span::after {
		display: none;
	}
}



/*===============================================================

		#environment #contents .items layout

===============================================================*/

#environment #contents .items {
	background-color: var(--color_gray);
}

#environment #contents .items .inner {
	padding: 40px 40px 50px;
}

#environment #contents .items .inner h3 {
	margin: 0 0 10px;
	text-align: center;
	font-size: 30px;
	font-weight: 700;
}

#environment #contents .items .inner ul {
	height: 350px;
	padding: 30px 20px 20px 20px;
	background-color: var(--color_orange);
	display: flex;
	flex-flow: row wrap;
	font-size: 20px;
	font-weight: 700;
}

#environment #contents .items .inner ul li {
	width: calc(100% / 3);
	height: 80px;
	border-right: solid 1px #fff;
	border-bottom: solid 1px #fff;
}

#environment #contents .items .inner ul li:nth-child(1) {
	width: calc(100% / 2);
	padding: 20px 20px 30px 20px;
}

#environment #contents .items .inner ul li:nth-child(2) {
	width: calc(100% / 2);
	padding: 20px 20px 30px 20px;
	border-right: none;
}

#environment #contents .items .inner ul li:nth-child(5) {
	border-right: none;
}

#environment #contents .items .inner ul li:nth-child(8) {
	border-right: none;
}

#environment #contents .items .inner ul li:nth-child(9) {
	width: calc(100% / 1);
	border-bottom: none;
	border-right: none;
}

#environment #contents .items .inner ul li a {
	width: 100%;
	height: 100%;
	padding: 0 40px 0 0;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	color: #fff;
}

#environment #contents .items .inner ul li a::after {
	content: "";
	width: 12px;
	height: 12px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: 30px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}

#environment #contents .items .inner ul li a:hover::after {
	right: 25px;
}

#environment #contents .items .inner ul li a span {
	display: inline-block;
	position: relative;
}

#environment #contents .items .inner ul li a span::before {
	content: "";
	width: 100%;
	height: 2px;
	background: #fff;
	position: absolute;
	left: 0;
	bottom: -3px;
	margin: auto;
	transform-origin: left top;
	transform: scale(0, 1);
	transition: transform .3s;
}

#environment #contents .items .inner ul li a:hover span::before {
	transform-origin: left top;
	transform: scale(1, 1);
}




@media screen and (max-width: 900px){
	#environment #contents .items .inner ul {
		font-size: 18px;
	}
	
	#environment #contents .items .inner ul li a {
		padding: 0 30px 0 0;
	}
	
	#environment #contents .items .inner ul li a::after {
		right: 25px;
	}
	
	#environment #contents .items .inner ul li a:hover::after {
		right: 20px;
	}
}


@media screen and (max-width: 768px){
	#environment #contents .items .inner {
		padding: 5vh 5vw;
	}
	
	#environment #contents .items .inner h3 {
		margin: 0 0 2vh;
		font-size: 6vw;
	}
	
	#environment #contents .items .inner ul {
		height: auto;
		padding: 0;
		background-color: transparent;
		gap: 1vh 0;
		font-size: 4vw;
	}
	
	#environment #contents .items .inner ul li {
		width: 100%;
		height: auto;
		padding: 0;
		border-right: none;
	}
	
	#environment #contents .items .inner ul li:nth-child(1),
	#environment #contents .items .inner ul li:nth-child(2) {
		width: 100%;
		padding: 0;
		border-bottom: none;
	}
	
	#environment #contents .items .inner ul li a {
		padding: 2vh 4vw 2vh 8vw;
		background-color: var(--color_orange);
		display: block;
	}
	
	#environment #contents .items .inner ul li a:hover {
		text-decoration: none;
	}
	
	#environment #contents .items .inner ul li a::after {
		right: 5%;
	}
	
	#environment #contents .items .inner ul li a:hover::after {
		right: 5%;
	}
	
	#environment #contents .items .inner ul li a:hover span::before {
		display: none;
	}
}



/*===============================================================

		#environment #contents .flow layout

===============================================================*/

#environment #contents .flow {
	padding: 80px 0;
}

#environment #contents .flow .inner {
	position: relative;
}

#environment #contents .flow .inner p:first-of-type {
	margin: 0 0 40px;
	text-align: center;
	line-height: 2.0;
}

#environment #contents .flow .inner ol {
	margin: 0 0 70px;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
	position: relative;
}

#environment #contents .flow .inner ol::before {
	content: "破砕・粉砕・分級・\A混合・造粒・成形等";
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	text-align: center;
	color: var(--color_orange);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	white-space: pre;
}

#environment #contents .flow .inner ol::after {
	content: "";
	width: 100%;
	height: auto;
	border-top: solid 11px var(--color_orange);
	position: absolute;
	left: 0;
	top: 60px;
	z-index: -1;
}

#environment #contents .flow .inner ol li {
	width: min(300px, 30%);
	height: 116px;
	background-color: var(--color_orange);
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
}

#environment #contents .flow .inner ol li:first-child::before {
	content: "";
	width: 100px;
	height: 80px;
	border-left: solid 11px var(--color_orange);
	border-bottom: solid 11px var(--color_orange);
	position: absolute;
	left: 170px;
	bottom: -120px;
	z-index: 2;
}

#environment #contents .flow .inner ol li:first-child::after {
	content: "";
	width: 20px;
	height: 11px;
	background-color: #Fff;
	position: absolute;
	right: -20px;
	top: 60px;
	z-index: 2;
}

#environment #contents .flow .inner ol li:last-child::before {
	content: "";
	border-style: solid;
	border-width: 17px 0 17px 20px;
	border-color: transparent transparent transparent var(--color_orange);
	position: absolute;
	left: -33px;
	top: 49px;
	z-index: 3;
}

#environment #contents .flow .inner ol li:last-child::after {
	content: "";
	width: 20px;
	height: 11px;
	background-color: #Fff;
	position: absolute;
	left: -20px;
	top: 60px;
}


#environment #contents .flow .inner ol li span {
	position: absolute;
	display: block;
	color: var(--color_orange);

}
#environment #contents .flow .inner ol li .txt_01 {
	left: 0;
	bottom: -100px;
	text-align: right;
}

#environment #contents .flow .inner ol li .txt_02 {
	display: none;
}

#environment #contents .flow .inner ol li .txt_01::before {
	content: "";
	border-style: solid;
	border-width: 0 17px 20px 17px;
	border-color: transparent transparent var(--color_orange) transparent;
	position: absolute;
	right: -44px;
	top: -38px;
}

#environment #contents .flow .inner ol li .txt_01::after {
	content: "";
	border-style: solid;
	border-width: 17px 0 17px 20px;
	border-color: transparent transparent transparent var(--color_orange);
	position: absolute;
	right: -145px;
	bottom: -31px;
}

/*
#environment #contents .flow .inner p.txt_02 {
	width: 100%;
	position: absolute;
	left: 0;
	top: 27%;
	text-align: center;
	color: var(--color_orange);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
}
*/

#environment #contents .flow .inner .img{
	display: none;
}

#environment #contents .flow .inner .btn_01 {
	width: 390px;
	margin: 0 0 0 min(340px, 45%);
}


@media screen and (max-width: 900px){
	#environment #contents .flow .inner p:first-of-type {
		margin: 0 0 80px;
		text-align: left;
	}
}


@media screen and (max-width: 768px){
	#environment #contents .flow {
		padding: 6vh 0;
	}
	
	#environment #contents .flow .inner {
		position: relative;
	}
	
	#environment #contents .flow .inner p:first-of-type {
		margin: 0 0 4vh;
		text-align: left;
		line-height: 1.8;
	}
	
	#environment #contents .flow .inner ol {
		margin: 0 0 6vh;
		/*display: block;*/
		display: none;
		position: relative;
	}
	
	#environment #contents .flow .inner ol::before {
		display: none;
	}
	
	#environment #contents .flow .inner ol::after {
		content: "";
		width: 15vw;
		height: 21vh;
		border-top: solid 6px var(--color_orange);
		border-right: solid 6px var(--color_orange);
		position: absolute;
		left: auto;
		right: 15vw;
		top: 4vh;
		z-index: -1;
	}
	
	#environment #contents .flow .inner ol li {
		width: 60%;
		height: auto;
		padding: 1vh 1vw;
		font-size: 4vw;
	}
	
	#environment #contents .flow .inner ol li:first-child {
		margin: 0 0 20vh;
	}
	
	#environment #contents .flow .inner ol li:last-child {
		margin: 0 0 0 auto;
	}
	
	#environment #contents .flow .inner ol li:first-child::before {
		content: "";
		width: 10vw;
		height: 28.5vh;
		border-left: solid 6px var(--color_orange);
		border-bottom: none;
		position: absolute;
		left: 15vw;
		bottom: -32vh;
		z-index: 2;
	}
	
	#environment #contents .flow .inner ol li:first-child::after {
		display: none;
	}
	
	#environment #contents .flow .inner ol li:last-child::before {
		content: "";
		border-style: solid;
		border-width: 3vw 3vw 0 3vw;
		border-color: var(--color_orange) transparent transparent transparent;
		position: absolute;
		left: auto;
		right: 12.8vw;
		top: -2.8vh;
		z-index: 3;
	}
	
	#environment #contents .flow .inner ol li:last-child::after {
		content: "";
		width: 20px;
		height: 11px;
		background-color: #Fff;
		position: absolute;
		left: -20px;
		top: 60px;
	}
	
	
	#environment #contents .flow .inner ol li span {
		position: absolute;
		display: block;
		color: var(--color_orange);
	}
	
	#environment #contents .flow .inner ol li .txt_01 {
		padding: 1vh 0;
		background-color: #fff;
		left: 0;
		bottom: -16vh;
		z-index: 2;
		text-align: left;
	}
	
	#environment #contents .flow .inner ol li .txt_02 {
		width: 70%;
		padding: 1vh 0;
		background-color: #fff;
		display: block;
		left: 100%;
		top: 10vh;
		z-index: 2;
		text-align: center;
	}
	
	#environment #contents .flow .inner ol li .txt_01::before {
		content: "";
		border-style: solid;
		border-width: 0 3vw 3vw 3vw;
		border-color: transparent transparent var(--color_orange) transparent;
		position: absolute;
		right: auto;
		left: 42.5%;
		top: -4vh;
	}
	
	#environment #contents .flow .inner ol li .txt_01::after {
		content: "";
		border-style: solid;
		border-width: 3vw 3vw 0 3vw;
		border-color: var(--color_orange) transparent transparent transparent;
		position: absolute;
		right: auto;
		left: 42.5%;
		bottom: -17vh;
	}
	
	/*
	#environment #contents .flow .inner p.txt_02 {
		display: none;
	}
	*/
	
	#environment #contents .flow .inner .img{
		display: block;
		text-align: center;
		margin: 0 0 20px;
	}
	
	#environment #contents .flow .inner .btn_01 {
		width: auto;
		margin: 0 auto;
	}
}


@media screen and (max-width: 610px){
	#environment #contents .flow .inner ol li:first-child::before {
		height: 30vh;
	}
	
	#environment #contents .flow .inner ol li .txt_01::before {
		top: -7vh;
	}
}





/*====================================================================================

		#advantage layout

====================================================================================*/

/*===============================================================

		#advantage header layout

===============================================================*/

#advantage header .main_img {
	background: url("../../img/products/advantage/main_img.jpg") center center / cover no-repeat;
}

#advantage header .main_img h2 {
	width: max(490px, 39%);
	padding: 7px 0 0 min(90px, 6%);
	display: block;
}


@media screen and (max-width: 768px){
	#advantage header .main_img {
		background: url("../../img/products/advantage/main_img.jpg") center top / cover no-repeat;
	}
	
	#advantage header .main_img h2 {
		width: 50%;
	}
}



/*===============================================================

		#advantage #contents .advantages_01 layout

===============================================================*/

#advantage #contents .advantages_01 {
	padding: 0;
	position: relative;
}

#advantage #contents > section::after {
	content: "";
	width: 1px;
	height: 100%;
	background-color: var(--color_orange);
	position: absolute;
	left: 80px;
	top: 0;
	z-index: 1;
}

#advantage #contents section p.v_txt {
	padding: 0 20px 0 0;
	background-color: #fff;
	position: absolute;
	/*left: 90px;*/
	left: 90px;
	top: 0;
	color: var(--color_orange);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.0;
	transform: rotate(90deg);
	transform-origin: left top;
	z-index: 2;
}

#advantage #contents section .inner h3 {
	margin: 0 0 40px;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: var(--letter);
}

#advantage #contents section .inner h3 span {
	display: block;
	color: var(--color_orange);
	font-size: 50px;
	font-weight: 900;
}

#advantage #contents .advantages_01 .inner h3 + p {
	margin: 0 0 40px;
	line-height: 2.0;
}

#advantage #contents .advantages_01 .flow {
	padding: 70px 0 80px;
	background-color: var(--color_orange);
	position: relative;
	z-index: 2;
	color: #fff;
}

#advantage #contents .advantages_01 .flow::after {
	content: "";
	width: 1px;
	height: 100%;
	background-color: #fff;
	position: absolute;
	left: 80px;
	top: 0;
	z-index: 2;
}

#advantage #contents .advantages_01 .flow .inner {
	max-width: 940px;
	margin: 0 auto;
	padding: 0 40px;
	position: relative;
}

#advantage #contents .advantages_01 .flow .inner h4 {
	margin: 0 0 40px;
	text-align: center;
	color: #fff;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.4;
}

#advantage #contents .advantages_01 .flow .inner h4 span {
	display: block;
	color: #fff;
	font-size: 30px;
}

#advantage #contents .advantages_01 .flow .inner ol {
	margin: 0 0 50px;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	position: relative;
}

#advantage #contents .advantages_01 .flow .inner ol::before {
	content: "";
	width: 98%;
	height: 2px;
	background-color: #fff;
	position: absolute;
	top: 50%;
	left: 1%;
	z-index: -1px;
}

#advantage #contents .advantages_01 .flow .inner ol li {
	width: min(164px, 19vw);
	height: min(164px, 19vw);
	background-color: #fff;
	border-radius: 50%;
	display: flex;
	flex-flow: column wrap;
	align-items: center;
	position: relative;
	z-index: 1;
	color: #000;
	font-size: min(24px, 2.5vw);
	font-weight: 700;
	line-height: 1.4;
}

#advantage #contents .advantages_01 .flow .inner ol li span {
	margin: 15px 0 min(30px, 3vw);
	display: block;
	color: var(--color_orange);
	font-size: 30px;
}

#advantage #contents .advantages_01 .flow .inner p.txt {
	margin: 60px 0 0;
	padding: 25px 30px 50px;
	background-color: rgba(255,255,255,0.2);
}


@media screen and (max-width: 1300px){
	#advantage #contents section .inner {
		padding: 0 40px 0 60px;
	}
	
	#advantage #contents > section::after,
	#advantage #contents .advantages_01 .flow::after {
		left: 34px;
	}
	
	#advantage #contents section p.v_txt {
		left: 45px;
	}
}

@media screen and (max-width: 1080px){
	#advantage #contents .advantages_01 .flow {
		padding: 70px 0 80px 10px;
	}
}


@media screen and (max-width: 768px){
	#advantage #contents .advantages_01 {
		
	}
	
	#advantage #contents section .inner {
		padding: 0 5vw 0 13vw;
	}
	
	#advantage #contents > section::after {
		left: 6.5vw;
	}
	
	#advantage #contents section p.v_txt {
		left: 9vw;
		font-size: 3.7vw;
	}
	
	#advantage #contents section .inner h3 {
		margin: 0 0 2vh;
		font-size: 4vw;
	}
	
	#advantage #contents section .inner h3 span {
		font-size: 8vw;
	}
	
	#advantage #contents .advantages_01 .inner h3 + p {
		margin: 0 0 4vh;
		line-height: 1.8;
	}
	
	#advantage #contents .advantages_01 .flow {
		padding: 6vh 0;
	}
	
	#advantage #contents .advantages_01 .flow::after {
		left: 6.5vw;
	}
	
	#advantage #contents .advantages_01 .flow .inner {
		max-width: inherit;
		padding: 0 5vw 0 13vw;
	}
	
	#advantage #contents .advantages_01 .flow .inner h4 {
		margin: 0 0 4vh;
		font-size: 3.6vw;
	}
	
	#advantage #contents .advantages_01 .flow .inner h4 span {
		font-size: 6vw;
	}
	
	#advantage #contents .advantages_01 .flow .inner ol {
		margin: 0 0 4vh;
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
		gap: 4vh 0;
		position: relative;
	}
	
	#advantage #contents .advantages_01 .flow .inner ol::before {
		content: "";
		width: 98%;
		height: 2px;
		background-color: #fff;
		position: absolute;
		top: 23%;
		left: 1%;
		z-index: -1px;
	}
	
	#advantage #contents .advantages_01 .flow .inner ol::after {
		content: "";
		width: 98%;
		height: 2px;
		background-color: #fff;
		position: absolute;
		top: 77%;
		left: 1%;
		z-index: -1px;
	}
	
	#advantage #contents .advantages_01 .flow .inner ol li {
		width: 33vw;
		height: 33vw;
		padding: 3vh 0 0;
		gap: 2vh 0;
		position: relative;
		font-size: 4vw;
	}
	
	#advantage #contents .advantages_01 .flow .inner ol li:nth-child(3)::after {
		content: "";
		width: 150%;
		height: 2px;
		background-color: #fff;
		position: absolute;
		top: 0%;
		left: 50%;
		z-index: -1px;
		transform:rotate(-10.5deg);
		transform-origin:0 0;
	}
	
	#advantage #contents .advantages_01 .flow .inner ol li span {
		margin: 0;
		font-size: 6vw;
	}
	
	#advantage #contents .advantages_01 .flow .inner p.txt {
		margin: 0;
		padding: 2vh 3vw;
	}
}



/*===============================================================

		#advantage #contents .advantages_02 layout

===============================================================*/

#advantage #contents .advantages_02 {
	margin: 0 0 30px;
	padding: 80px 0 20px;
	position: relative;
}

#advantage #contents .advantages_02 p.v_txt {
	margin: 50px 0 0 0;
	padding: 0 20px;
}

#advantage #contents .advantages_02 .inner ul {
	margin: 0 0 40px;
	display: flex;
	flex-flow: row wrap;
	gap: 0 25px;
}

#advantage #contents .advantages_02 .inner ul li {
	width: 42%;
}

#advantage #contents .advantages_02 .inner ul + p {
	margin: 0 0 40px;
	line-height: 2.0;
}

#advantage #contents section .inner p.btn_01 {
	width: 290px;
}

@media screen and (max-width: 768px){
	#advantage #contents .advantages_02 {
		margin: 0 0 3vh;
		padding: 6vh 0 2vh;
	}
	
	#advantage #contents .advantages_02 p.v_txt {
		margin: 4vh 0 0 0;
	}
	
	#advantage #contents .advantages_02 .inner ul {
		margin: 0 0 4vh;
		gap: 2vh 0;
	}
	
	#advantage #contents .advantages_02 .inner ul li {
		width: 100%;
	}
	
	#advantage #contents .advantages_02 .inner ul + p {
		margin: 0 0 4vh;
		line-height: 1.8;
	}
	
	#advantage #contents section .inner p.btn_01 {
		width: auto;
		margin: 0 auto;
	}
}



/*===============================================================

		#advantage #contents .advantages_03 layout

===============================================================*/

#advantage #contents .advantages_03 {
	margin: 0 0 30px;
	padding: 20px 0 0;
	position: relative;
}

#advantage #contents .advantages_03 .inner .box {
	display: flex;
	justify-content: space-between;
}

#advantage #contents .advantages_03 .inner .box p.img {
	width: min(454px, 42%);
}

#advantage #contents .advantages_03 .inner .box .txt {
	width: min(520px, 48%);
}

#advantage #contents .advantages_03 .inner .box .txt p:first-of-type {
	margin: 0 0 80px;
	line-height: 2.0;
}


@media screen and (max-width: 768px){
	#advantage #contents .advantages_03 {
		margin: 0 0 6vh;
		padding: 0;
	}
	
	#advantage #contents .advantages_03 .inner .box {
		display: block;
	}
	
	#advantage #contents .advantages_03 .inner .box p.img {
		width: auto;
		margin: 0 0 4vh;
	}
	
	#advantage #contents .advantages_03 .inner .box .txt {
		width: auto;
	}
	
	#advantage #contents .advantages_03 .inner .box .txt p:first-of-type {
		margin: 0 0 4vh;
		line-height: 1.8;
	}
}



/*===============================================================

		#advantage #contents .laboratory layout

===============================================================*/

#advantage #contents .laboratory {
	max-width: 1080px;
	margin: -75px auto 70px;
	padding: 75px 0 0;
}

#advantage #contents .laboratory .inner {
	padding: 50px;
	background-color: var(--color_gray);
}

#advantage #contents .laboratory .inner h4 {
	margin: 0 0 30px;
	position: relative;
	display: inline-block;
	color: var(--color_orange);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: var(--letter);
}
/*
#advantage #contents .laboratory .inner h4 a {
	position: relative;
	display: inline-block;
	color: var(--color_orange);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: var(--letter);
}
*/
#advantage #contents .laboratory .inner h4 a::after {
	content: "";
	width: 18px;
	height: 18px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: var(--color_orange) var(--color_orange) transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: -20px;
	top: 52%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}

#advantage #contents .laboratory .inner h4 a:hover::after {
	right: -25px;
}

#advantage #contents .laboratory .inner h4 + p {
	margin: 0 0 40px;
	line-height: 2.0;
}

#advantage #contents .laboratory .inner h4 + p a {
	color: var(--color_orange);
}

#advantage #contents .laboratory .inner h4 + p a:hover {
	text-decoration: underline;
}

#advantage #contents .laboratory .inner ul.img {
	margin: 0 0 60px;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}

#advantage #contents .laboratory .inner ul.img li {
	width: 48.5%;
}

#advantage #contents .laboratory .inner section h5 {
	margin: 0 0 30px;
	position: relative;
	display: inline-block;
	color: var(--color_orange);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.0;
	letter-spacing: var(--letter);
}

#advantage #contents .laboratory .inner section dl div:not(:last-of-type) {
	margin: 0 0 50px;
}

#advantage #contents .laboratory .inner section dl dt {
	width: 100%;
	margin: 0 0 30px;
	padding: 10px 20px 12px;
	background-color: var(--color_orange);
	color: var(--color_gray);
	font-size: 25px;
	font-weight: 700;
	line-height: 1.0;
}

#advantage #contents .laboratory .inner section dl dd {
	line-height: 2.2;
}

#advantage #contents .laboratory .inner section dl div:nth-of-type(2),
#advantage #contents .laboratory .inner section dl div:nth-of-type(5) {
	display: flex;
	flex-flow: row wrap;
}

#advantage #contents .laboratory .inner section dl div:nth-of-type(2) dd,
#advantage #contents .laboratory .inner section dl div:nth-of-type(5) dd {
	width: 325px;
}


@media screen and (max-width: 768px){
	#advantage #contents .laboratory {
		max-width: inherit;
		margin: -60px 5vw 6vh;
		padding: 60px 0 0;
	}
	
	#advantage #contents .laboratory .inner {
		padding: 3vh 5vw;
	}
	
	#advantage #contents .laboratory .inner h4 {
		margin: 0 0 3vh;
	}
	
	#advantage #contents .laboratory .inner h4 a {
		font-size: 5vw;
		letter-spacing: var(--letter);
	}
	
	#advantage #contents .laboratory .inner h4 a::after {
		width: 15px;
		height: 15px;
		right: -5vw;
	}
	
	#advantage #contents .laboratory .inner h4 a:hover::after {
		right: -5vw;
	}
	
	#advantage #contents .laboratory .inner h4 + p {
		margin: 0 0 4vh;
		line-height: 1.8;
	}
	
	#advantage #contents .laboratory .inner ul.img {
		margin: 0 0 6vh;
		gap: 2vh 0;
	}
	
	#advantage #contents .laboratory .inner ul.img li {
		width: 100%;
	}
	
	#advantage #contents .laboratory .inner section h5 {
		margin: 0 0 3vh;
		font-size: 6vw;
	}
	
	#advantage #contents .laboratory .inner section dl div:not(:last-of-type) {
		margin: 0 0 4vh;
	}
	
	#advantage #contents .laboratory .inner section dl dt {
		width: 100%;
		margin: 0 0 2vh;
		padding: 1vh 4vw 1vh;
		font-size: 4.3vw;
		line-height: 1.2;
	}
	
	#advantage #contents .laboratory .inner section dl dd {
		line-height: 1.8;
	}
	
	#advantage #contents .laboratory .inner section dl div:nth-of-type(2),
	#advantage #contents .laboratory .inner section dl div:nth-of-type(5) {
		display: block;
	}
	
	#advantage #contents .laboratory .inner section dl div:nth-of-type(2) dd,
	#advantage #contents .laboratory .inner section dl div:nth-of-type(5) dd {
		width: auto;
	}
}





/*====================================================================================

		#block layout

====================================================================================*/

/*===============================================================

		#block-machine header layout

===============================================================*/

#block-machine header .main_img {
	background: url("../../img/products/concrete/block/main_img.jpg") center center / cover no-repeat;
}


@media screen and (max-width: 768px){
	#block-machine header .main_img {
		background: url("../../img/products/concrete/block/main_img.jpg") center top / cover no-repeat;
	}
	
	#block-machine header .main_img h2 {
		width: 80%;
		font-size: 6vw;
	}
}



/*===============================================================

		#block-machine #contents .p_link layout

===============================================================*/

#block-machine #contents .p_link {
}
/*
#block-machine #contents .p_link::after {
	content: "";
	width: 1px;
	height: 80%;
	background-color: #fff;
	display: block;
	position: absolute;
	left: 50%;
	top: 0;
}
*/
#block-machine #contents .p_link .inner {
	display: block;
}

#block-machine #contents .p_link .inner ul {
	display: flex;
/*	flex-flow: row wrap;*/
	justify-content: space-between;
	align-items: stretch;
}

#block-machine #contents .p_link .inner > ul > li {
	width: 35%;
	padding: 0 20px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	position: relative;
}


#block-machine #contents .p_link .inner > ul > li:last-child {
	width: 30%;
}

#block-machine #contents .p_link .inner > ul > li:nth-child(1)::before {
	content: "";
	width: 1px;
	height: 200%;
	background-color: #fff;
	display: block;
	position: absolute;
	right: 0;
	top: -50%;
}
#block-machine #contents .p_link .inner > ul > li:last-child::before {
	content: "";
	width: 1px;
	height: 200%;
	background-color: #fff;
	display: block;
	position: absolute;
	left: 0;
	top: -50%;
}

#block-machine #contents .p_link .inner ul li dl dt {
	color: #fff;
	font-size: 26px;
	font-weight: 700;
}

#block-machine #contents .p_link .inner ul li dl dd {
	margin-right: 40px;
	display: inline-block;
}

#block-machine #contents .p_link .inner ul li dl dd:last-of-type {
	margin-right: 0;
}

#block-machine #contents .p_link .inner ul li dl dd a {
	position: relative;
	display: inline-block;
	font-size: 18px;
	font-weight: 500;
}

#block-machine #contents .p_link .inner ul li dl dd a::after {
	content: "";
	width: 10px;
	height: 10px;
	border-style: solid;
	border-width: 2px 2px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: -15px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}


@media screen and (max-width: 768px){
	#block-machine #contents .p_link .inner ul {
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
		align-items: center;
	}
	
	#block-machine #contents .p_link .inner ul li {
		width: 100%;
		padding: 2vh 0;
		display: block;
		border-bottom: solid 1px #fff;
	}
	
	#block-machine #contents .p_link .inner > ul > li:last-child {
		width: 100%;
		border-bottom: none;
		padding: 2vh 0 0;
	}
	
	#block-machine #contents .p_link .inner ul li:first-child {
		padding: 0 0 2vh;
	}
	
	#block-machine #contents .p_link .inner > ul > li:last-child::before {
		display: none;
	}
	#block-machine #contents .p_link .inner > ul > li:nth-child(1)::before{
		content: none;
	}
	
	
	#block-machine #contents .p_link .inner ul li dl dt {
		font-size: 4.5vw;
	}
	
	#block-machine #contents .p_link .inner ul li dl dd {
		margin-right: 10vw;
	}
	
	#block-machine #contents .p_link .inner ul li dl dd a {
		font-size: 3.8vw;
	}
}



/*===============================================================

		#block-machine #contents .summary layout

===============================================================*/

#block-machine #contents .summary {
	margin: 40px 0 0;
	padding: 60px 0;
	background-color: var(--color_gray);
}

#block-machine #contents .summary_01 {
	padding: 60px 0 20px;
}

#block-machine #contents .summary_02 {
	margin: 40px 0;
	padding: 90px 0;
}

#block-machine #contents .summary .inner {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
}

#block-machine #contents .summary .inner p.img {
	width: 50%;
	text-align: center;
}

#block-machine #contents .summary_01 .inner p.img img {
	width: 100%;
	max-width: calc(882px / 2);
}

#block-machine #contents .summary_02 .inner p.img {
	width: 50vw;
	margin: 0 0 0 calc(50% - 50vw);
	padding: 0 0 0 2vw;
	text-align: right;
}

#block-machine #contents .summary_02 .inner p.img img {
	width: 100%;
	max-width: calc(1132px / 2);
}

#block-machine #contents .summary .inner .txt {
	width: 45%;
}

#block-machine #contents .summary .inner .txt h3 {
	margin: 0 0 20px;
	color: var(--color_orange);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: var(--letter);
}

#block-machine #contents .summary .inner .txt p {
	margin: 0 0 40px;
	line-height: 2.0;
	letter-spacing:0.09em;
}

#block-machine #contents .summary .inner .txt ul {
	display: flex;
	flex-flow: row wrap;
	gap: 10px 40px;
}

#block-machine #contents .summary .inner .txt ul li a {
	position: relative;
	display: block;
	color: var(--color_orange);
	font-size: 18px;
	font-weight: 500;
}

#block-machine #contents .summary .inner .txt ul li a::before {
	content: "";
	width: calc(100% + 10px);
	border-bottom: solid 2px var(--color_orange);
	position: absolute;
	left: 0;
	bottom: -3px;
	transition: all 0.3s;
}

#block-machine #contents .summary .inner .txt ul li a:hover::before {
	width: calc(100% + 15px);
}

#block-machine #contents .summary .inner .txt ul li a::after {
	content: "";
	width: 12px;
	height: 12px;
	border-style: solid;
	border-width: 2px 2px 0 0;
	border-color: var(--color_orange) var(--color_orange) transparent transparent;
	box-sizing: border-box;
	position: relative;
	right: -5px;
	top: -1px;
	z-index: 2;
	transform: rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}

#block-machine #contents .summary .inner .txt ul li a:hover::after {
	right: -10px;
}


@media screen and (max-width: 768px){
	#block-machine #contents .summary {
		margin: 4vh 0 0;
		padding: 4vh 0;
		background-color: var(--color_gray);
		overflow: hidden;
	}
	
	#block-machine #contents .summary_01 {
		padding: 4vh 0;
	}
	
	#block-machine #contents .summary_02 {
		margin: 4vh 0;
	}
	
	#block-machine #contents .summary .inner {
		display: block;
	}
	
	#block-machine #contents .summary .inner p.img {
		width: auto;
		margin: 0 5vw 1vh;
	}
	
	#block-machine #contents .summary_02 .inner p.img {
		width: auto;
		margin: 0 0 1vh;
		padding: 0;
		text-align: center;
	}
	
	#block-machine #contents .summary .inner .txt {
		width: auto;
	}
	
	#block-machine #contents .summary .inner .txt h3 {
		margin: 0 0 2vh;
		font-size: 6vw;
		letter-spacing: var(--letter);
	}
	
	#block-machine #contents .summary .inner .txt p {
		margin: 0 0 4vh;
		line-height: 1.8;
	}
	
	#block-machine #contents .summary .inner .txt ul {
		gap: 2vh 8vw;
	}
	
	#block-machine #contents .summary .inner .txt ul li a {
		font-size: 4vw;
	}
	
	#block-machine #contents .summary .inner .txt ul li a:hover::before {
		width: calc(100% + 10px);
	}
	
	#block-machine #contents .summary .inner .txt ul li a::after {
		width: 10px;
		height: 10px;
	}
	
	#block-machine #contents .summary .inner .txt ul li a:hover::after {
		right: -5px;
	}
}



/*===============================================================

		#block-machine #contents .product_detail layout

===============================================================*/

#block-machine #contents .product_detail {
	margin: -75px 0 0;
	padding: 75px 0 60px;
}

#block-machine #contents .product_detail .inner .spec table thead th {
	background-color: #8FA3DF;
	border-style: solid;
	border-width: 1px 1px 1px 0;
	border-color: var(--color_gray) #fff #fff transparent;
}

#block-machine #contents .product_detail .inner .spec table thead th:nth-of-type(1) {
	background-color: var(--color_gray);
}

#block-machine #contents .product_detail .inner .spec table thead th:last-of-type {
	border-right: solid 1px #f7a77f;
}

#block-machine #contents .product_detail .inner .spec table tbody th {
	background-color: var(--color_gray);
	border: solid 1px #fff;
	border-right: none;
}

#block-machine #contents .product_detail .inner .spec table tbody tr:last-of-type th {
	border-bottom: solid 1px var(--color_gray);
}


@media screen and (max-width: 768px){
	#block-machine #contents .product_detail {
		margin: -60px 0 0;
		padding: 60px 0 6vh;
	}
}



/*===============================================================

		#block-machine #contents .product_01 layout

===============================================================*/

#block-machine #contents .product_01 h3 {
	background: url("../../img/products/concrete/block/img01.jpg") center center / cover no-repeat;
}

#block-machine #contents .product_01 .inner .feature_with_img p.img {
	margin: -15vh 0 0 calc(50% - 50vw);
	padding: 0 0 0 1vw;
}

#block-machine #contents .product_01 .inner .feature_with_img p.img img {
	max-width: calc(882px / 2);
}


@media screen and (max-width: 999px){
	#block-machine #contents .product_01 .inner .feature_with_img p.img {
		margin: -7vh 5vw 0;
	}
}



/*===============================================================

		#block-machine #contents .product_02 layout

===============================================================*/

#block-machine #contents .product_02 h3 {
	background: url("../../img/products/concrete/block/img03.jpg") center center / cover no-repeat;
}

#block-machine #contents .product_02 .inner .feature_with_img p.img {
	margin: -13vh 0 0 calc(50% - 50vw);
	padding: 0 0 0 1vw;
}

#block-machine #contents .product_02 .inner .feature_with_img p.img img {
	max-width: calc(836px / 2);
}


@media screen and (max-width: 999px){
	#block-machine #contents .product_02 .inner .feature_with_img p.img {
		margin: -8vh 5vw 0;
	}
}



/*===============================================================

		#block-machine #contents .product_03 layout

===============================================================*/

#block-machine #contents .product_03 h3 {
	background: url("../../img/products/concrete/block/img05.jpg") center center / cover no-repeat;
}

#block-machine #contents .product_03 .inner .feature_with_img p.img {
	margin: -15vh 0 0 calc(50% - 50vw);
	padding: 0 0 0 1vw;
}

#block-machine #contents .product_03 .inner .feature_with_img p.img img {
	max-width: calc(910px / 2);
}


@media screen and (max-width: 999px){
	#block-machine #contents .product_03 .inner .feature_with_img p.img {
		margin: -8vh 5vw 0;
	}
}



/*===============================================================

		#block-machine #contents .product_04 layout

===============================================================*/

#block-machine #contents .product_04 {
	overflow: hidden;
}

#block-machine #contents .product_04 h3 {
	background: url("../../img/products/concrete/block/img07.jpg") center center / cover no-repeat;
}

#block-machine #contents .product_04 .inner .feature_with_img p.img {
	width: 43vw;
	margin: -14vh 0 0 calc(50% - 50vw);
}

#block-machine #contents .product_04 .inner .feature_with_img p.img img {
	max-width: calc(1326px / 2);
}


@media screen and (max-width: 999px){
	#block-machine #contents .product_04 .inner .feature_with_img p.img {
		width: auto;
		margin: -8vh calc(50% - 50vw) 0;
		padding: 0 5vw;
	}
}



/*===============================================================

		#block-machine #contents .product_05 layout

===============================================================*/

#block-machine #contents .product_05 {
	overflow: hidden;
}

#block-machine #contents .product_05 h3 {
	background: url("../../img/products/concrete/block/img09.jpg") center center / cover no-repeat;
}

#block-machine #contents .product_05 .inner .feature_with_img p.img {
	width: 44vw;
	margin: -18vh 0 0 calc(50% - 50vw);
}

#block-machine #contents .product_05 .inner .feature_with_img p.img img {
	max-width: calc(1484px / 2);
}


@media screen and (max-width: 999px){
	#block-machine #contents .product_05 .inner .feature_with_img p.img {
		width: auto;
		margin: -14vh calc(50% - 50vw) 0;
		padding: 0 3vw;
	}
}



/*===============================================================

		#block-machine #contents .product_06 layout

===============================================================*/

#block-machine #contents .product_06 {
	overflow: hidden;
}

#block-machine #contents .product_06 h3 {
	background: url("../../img/products/concrete/block/img11.jpg") center center / cover no-repeat;
}

#block-machine #contents .product_06 .inner .feature_with_img p.img {
	width: 43vw;
	margin: -8vh 0 0 calc(50% - 50vw);
	padding: 0 0 0 0.5vw;
}

#block-machine #contents .product_06 .inner .feature_with_img p.img img {
	max-width: calc(1295px / 2);
}


@media screen and (max-width: 999px){
	#block-machine #contents .product_06 .inner .feature_with_img p.img {
		width: auto;
		margin: -8vh calc(50% - 50vw) 0;
		padding: 0 5vw;
	}
}



/*===============================================================

		#block-machine #contents .product_07 layout

===============================================================*/

#block-machine #contents .product_07 {
	overflow: hidden;
}

#block-machine #contents .product_07 h3 {
	background: url("../../img/products/concrete/block/img13.jpg") center center / cover no-repeat;
}

#block-machine #contents .product_07 .inner .feature_with_img p.img {
	margin: -9vh 0 0 calc(50% - 50vw);
	padding: 0 0 0 1vw;
}

#block-machine #contents .product_07 .inner .feature_with_img p.img img {
	max-width: calc(1020px / 2);
}

#block-machine #contents .product_07 .inner .spec table {
	table-layout: auto;
}

#block-machine #contents .product_07 .inner .spec table th {
	width: 25%;
}

#block-machine #contents .product_07 .inner .spec table td {
	width: 75%;
}


@media screen and (max-width: 999px){
	#block-machine #contents .product_07 .inner .feature_with_img p.img {
		margin: -8vh calc(50% - 50vw) 0;
		padding: 0 4vw;
	}
}


@media screen and (max-width: 768px){
	#block-machine #contents .product_07 .inner .spec {
		overflow: visible;
	}
	
	#block-machine #contents .product_07 .inner .spec table {
		width: 100%;
	}
	
	#block-machine #contents .product_07 .inner .spec table th {
		width: 38%;
	}
	
	#block-machine #contents .product_07 .inner .spec table td {
		width: 62%;
	}
}



/*===============================================================

		#block-machine #contents .product_08 layout

===============================================================*/

#block-machine #contents .product_08 {
	overflow: hidden;
}

#block-machine #contents .product_08 h3 {
	background: url("../../img/products/concrete/block/img15.jpg") center center / cover no-repeat;
}

#block-machine #contents .product_08 .inner .feature_with_img p.img {
	margin: -11vh 0 0 calc(50% - 50vw);
	padding: 0 0 0 1vw;
}

#block-machine #contents .product_08 .inner .feature_with_img p.img img {
	max-width: calc(970px / 2);
}

#block-machine #contents .product_08 .inner .spec table {
	table-layout: auto;
}

#block-machine #contents .product_08 .inner .spec table th {
	width: 25%;
}

#block-machine #contents .product_08 .inner .spec table td {
	width: 75%;
}


@media screen and (max-width: 999px){
	#block-machine #contents .product_08 .inner .feature_with_img p.img {
		margin: -9vh calc(50% - 50vw) 0;
		padding: 0 4vw;
	}
}


@media screen and (max-width: 768px){
	#block-machine #contents .product_08 .inner .spec {
		overflow: visible;
	}
	
	#block-machine #contents .product_08 .inner .spec table {
		width: 100%;
	}
	
	#block-machine #contents .product_08 .inner .spec table th {
		width: 38%;
	}
	
	#block-machine #contents .product_08 .inner .spec table td {
		width: 62%;
	}
}


/*===============================================================

		#ash-solidification #contents .product_09 layout

===============================================================*/
#block-machine #contents .product_09 h3 {
	background: url("../../img/products/environment/incinerated-ash/img06.jpg") center center / cover no-repeat;
}
#block-machine #contents .product_09 .inner .feature_with_img p.img {
	margin: -6vh 0 0 calc(50% - 50vw);
	padding: 0 0 0 1vw;
}
#block-machine #contents .product_09 .inner .feature_with_img p.img img {
	max-width: calc(1048px / 2);
}
@media screen and (max-width: 999px){
	#block-machine #contents .product_09 .inner .feature_with_img p.img {
		margin: -7vh auto 0;
	}
}
@media screen and (max-width: 768px){
	#block-machine #contents .product_09 .inner .feature_with_img p.img {
		margin: -5vh auto 0;
	}
}


/*====================================================================================

		#mixer layout

====================================================================================*/

/*===============================================================

		#mixer header layout

===============================================================*/

#mixer header .main_img {
	background: url("../../img/products/concrete/mixer/main_img.jpg") center center / cover no-repeat;
}

#mixer header .main_img h2 {
	width: min(480px, 34%);
}


@media screen and (max-width: 768px){
	#mixer header .main_img {
		background: url("../../img/products/concrete/mixer/main_img.jpg") center top / cover no-repeat;
	}
	
	#mixer header .main_img h2 {
		width: 50%;
	}
}



/*===============================================================

		#mixer #contents .p_link layout

===============================================================*/

#mixer #contents .p_link .inner ul {
	margin: 1rem 0 0;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
	gap: 0 min(100px, 5vw);
}

#mixer #contents .p_link .inner ul li a {
	position: relative;
	display: inline-block;
	color: #fff;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.4;
}

#mixer #contents .p_link .inner ul li a::after {
	content: "";
	width: 15px;
	height: 15px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: -20px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}


@media screen and (max-width: 768px){
	#mixer #contents .p_link .inner ul {
		margin: 0;
		padding: 0 5vw 0 0;
		gap: 0 10vw;
	}
	
	#mixer #contents .p_link .inner ul li {
		
	}
	
	#mixer #contents .p_link .inner ul li a {
		font-size: 4.5vw;
	}
}



/*===============================================================

		#mixer #contents .product_detail layout

===============================================================*/

#mixer #contents .product_detail {
	margin: -75px 0 0;
	padding: 75px 0 60px;
}

#mixer #contents .product_detail .inner .spec table thead th {
	background-color: #B7C4EA;
	border: solid 1px #fff;
}

#mixer #contents .product_detail .inner .spec table thead th:nth-of-type(1) {
	background-color: var(--color_gray);
}

#mixer #contents .product_detail .inner .spec table tbody th {
	background-color: var(--color_gray);
	border: solid 1px #fff;
	border-right: none;
}


@media screen and (max-width: 768px){
	#mixer #contents .product_detail {
		margin: -60px 0 0;
		padding: 60px 0 6vh;
	}
}



/*===============================================================

		#mixer #contents .product_01 layout

===============================================================*/

#mixer #contents .product_01 h3 {
	background: url("../../img/products/concrete/mixer/img01.jpg") center center / cover no-repeat;
}

#mixer #contents .product_01 .inner .feature_with_img p.img {
	margin: -28vh 0 0 calc(50% - 48vw);
	padding: 0 0 0 1vw;
}

#mixer #contents .product_01 .inner .feature_with_img p.img img {
	max-width: calc(1068px / 2);
}


@media screen and (max-width: 999px){
	#mixer #contents .product_01 .inner .feature_with_img p.img {
		margin: -12vh 0 0;
	}
}


@media screen and (max-width: 768px){
	#mixer #contents .product_01 .inner .feature_with_img p.img {
		margin: -10vh 5vw 0;
	}
}



/*===============================================================

		#mixer #contents .product_02 layout

===============================================================*/

#mixer #contents .product_02 h3 {
	background: url("../../img/products/concrete/mixer/img03.jpg") center center / cover no-repeat;
}

#mixer #contents .product_02 .inner .feature_with_img p.img {
	margin: -12vh 0 0 calc(50% - 50vw);
	padding: 0 0 0 1vw;
}

#mixer #contents .product_02 .inner .feature_with_img p.img img {
	max-width: calc(970px / 2);
}


@media screen and (max-width: 999px){
	#mixer #contents .product_02 .inner .feature_with_img p.img {
		margin: -11vh 0 0;
	}
}


@media screen and (max-width: 768px){
	#mixer #contents .product_02 .inner .feature_with_img p.img {
		margin: -9vh 5vw 0;
	}
}



/*===============================================================

		#mixer #contents .product_03 layout

===============================================================*/

#mixer #contents .product_03 h3 {
	background: url("../../img/products/concrete/mixer/img05.jpg") center center / cover no-repeat;
}

#mixer #contents .product_03 .inner .feature_with_img p.img {
	margin: -13vh 0 0 calc(50% - 50vw);
	padding: 0 0 0 1vw;
}

#mixer #contents .product_03 .inner .feature_with_img p.img img {
	max-width: calc(820px / 2);
}

#mixer #contents .product_03 .inner .spec table tbody tr:last-of-type td{
	padding: 10px 15px;
	text-align: left;
}
.products #contents .product_detail .inner dl.feature dd ul li.txt-spacing{
	letter-spacing: 0.075em;
}
@media screen and (max-width: 999px){
	#mixer #contents .product_03 .inner .feature_with_img p.img {
		margin: -11vh 0 0;
	}
}


@media screen and (max-width: 768px){
	#mixer #contents .product_03 .inner .feature_with_img p.img {
		margin: -9vh 5vw 0;
	}
}



/*===============================================================

		#mixer #contents .product_04 layout

===============================================================*/

#mixer #contents .product_04 h3 {
	background: url("../../img/products/concrete/mixer/img07.jpg") center center / cover no-repeat;
}

#mixer #contents .product_04 .inner .feature_with_img p.img {
	margin: -12vh 0 0 calc(50% - 50vw);
	padding: 0 0 0 1vw;
}

#mixer #contents .product_04 .inner .feature_with_img p.img img {
	max-width: calc(970px / 2);
}


@media screen and (max-width: 999px){
	#mixer #contents .product_04 .inner .feature_with_img p.img {
		margin: -11vh 0 0;
	}
}


@media screen and (max-width: 768px){
	#mixer #contents .product_04 .inner .feature_with_img p.img {
		margin: -9vh 5vw 0;
	}
}



/*====================================================================================

		#handling layout

====================================================================================*/

/*===============================================================

		#handling header layout

===============================================================*/

#handling header .main_img {
	background: url("../../img/products/concrete/machine/main_img.jpg") center center / cover no-repeat;
}

#handling header .main_img h2 {
	width: min(880px, 90%);
	height: 230px;
	padding: 0 6% 0 min(90px, 6%);
	font-size: 43px;
	bottom: -150px;
}


@media screen and (max-width: 860px){
	#handling header .main_img h2 {
		font-size: 5vw;
	}
	
	#handling header .main_img h2 span {
		font-size: 3vw;
	}
}

@media screen and (max-width: 768px){
	#handling header .main_img {
		background: url("../../img/products/concrete/machine/main_img.jpg") center top / cover no-repeat;
	}
	
	#handling header .main_img h2 {
		width: 90%;
		height: auto;
		padding: 2vh 2vw 2vh 4vw;
		bottom: auto;
		font-size: 5vw;
	}
	
	#handling header .main_img h2 span {
		font-size: 3vw;
	}
}



/*===============================================================

		#handling #contents .p_link layout

===============================================================*/

#handling #contents .p_link {
	padding: 190px 40px 60px;
}
/*
#handling #contents .p_link::after {
	content: "";
	width: 1px;
	height: 80%;
	background-color: #fff;
	display: block;
	position: absolute;
	left: 50%;
	top: 0;
}
*/
#handling #contents .p_link .inner {
	display: block;
}

#handling #contents .p_link .inner ul {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: flex-start;
}

#handling #contents .p_link .inner ul li {
	width: 34%;
	padding: 0 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

#handling #contents .p_link .inner ul li:last-child {
	width: 32%;
}

#handling #contents .p_link .inner > ul > li::after {
	content: "";
	width: 1px;
	height: 350px;
	background-color: #fff;
	display: block;
	position: absolute;
	right: 0;
	top: -1%;
}

#handling #contents .p_link .inner > ul > li:last-child::after {
	height: 0px;
}

#handling #contents .p_link .inner ul li dl dt {
	margin: 0 0 10px;
	color: #fff;
	font-size: 26px;
	font-weight: 700;
}

#handling #contents .p_link .inner ul li dl dd {
	margin: 0 40px 10px 0;
	display: inline-block;
}
/*
#handling #contents .p_link .inner ul li dl dd:nth-of-type(4),
#handling #contents .p_link .inner ul li dl dd:nth-of-type(5) {
	width: 100%;
}
*/
#handling #contents .p_link .inner ul li dl dd a {
	position: relative;
	display: inline-block;
	font-size: 18px;
	font-weight: 500;
}

#handling #contents .p_link .inner ul li dl dd a::after {
	content: "";
	width: 10px;
	height: 10px;
	border-style: solid;
	border-width: 2px 2px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: -15px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}


@media screen and (max-width: 768px){
	#handling #contents .p_link {
		padding: 19vh 0 4vh;
	}
	
	#handling #contents .p_link .inner ul {
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
		align-items: center;
	}
	
	#handling #contents .p_link .inner ul li {
		width: 100%;
		padding: 2vh 0 0;
		display: block;
	}
	
	#handling #contents .p_link .inner ul li:first-child {
		padding: 0 0 2vh;
		border-bottom: solid 1px #fff;
	}
	
	#handling #contents .p_link .inner > ul > li:first-child::after {
		display: none;
	}
	
	
	#handling #contents .p_link .inner ul li dl dt {
		margin: 0 0 2vh;
		font-size: 4.5vw;
	}
	
	#handling #contents .p_link .inner ul li dl dd {
		margin: 0 10vw 1vh 0;
	}
	/*
	#handling #contents .p_link .inner ul li dl dd:nth-of-type(4),
	#handling #contents .p_link .inner ul li dl dd:nth-of-type(5) {
		margin: 0 0 1vh 0;
	}
	*/
	#handling #contents .p_link .inner ul li dl dd a {
		font-size: 3.8vw;
	}
}


@media screen and (max-width: 600px){
	#handling #contents .p_link {
		padding: 14vh 0 4vh;
	}
}



/*===============================================================

		#handling #contents .product_01 layout

===============================================================*/

#handling #contents .product_01 {
	padding: 40px 0 80px;
	background-color: var(--color_gray);
}

#handling #contents .product_01 .wrapper {
	margin: -75px 0 0;
	padding: 75px 0 0;
}

#handling #contents .product_01 .wrapper .inner h3 {
    margin: 0 0 40px;
    text-align: center;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
}


/*========== .slide_main ==========*/

#handling #contents .product_01 .slide_main {
	margin: 0 0 40px;
}

#handling #contents .product_01 .slide_main .swiper-wrapper {
	align-items: flex-start;
}

#handling #contents .product_01 .slide_main .detail {
	min-height: 470px;
	display: flex;
}

#handling #contents .product_01 .slide_main .detail .txt {
	width: 45%;
	min-height: 470px;
	margin: 30px 0 0;
	padding: 50px min(60px, 5vw);
	position: relative;
}

#handling #contents .product_01 .slide_main .detail .txt::before {
	content: "";
	width: 100%;
	height: 100%;
	background-color: #DFE4F6;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
}

#handling #contents .product_01 .slide_main .detail .txt h3 {
	margin: 0 0 40px;
	position: relative;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.2em;
	position: relative;
	z-index: 2;
}

#handling #contents .product_01 .slide_main .detail .txt h3::after {
	content: "";
	width: 30px;
	height: 3px;
	background-color: var(--color_orange);
	position: absolute;
	left: 0;
	bottom: -20px;
}

#handling #contents .product_01 .slide_main .detail .txt p {
	font-size: 18px;
	line-height: 2.0;
	position: relative;
	z-index: 2;
}


#handling #contents .product_01 .slide_main .detail p.img {
	width: 55%;
	min-height: 470px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
#handling #contents .product_01 .slide_main .item_04 p.img {
	align-items: flex-end;
}

#handling #contents .product_01 .slide_main .detail p.img::before {
	content: "";
	width: 100%;
	height: calc(100% - 30px);
	background-color: var(--color_orange);
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
}

#handling #contents .product_01 .slide_main .detail p.img img {
	position: relative;
	z-index: 2;
}

#handling #contents .product_01 .slide_main .item_01 p.img img {
	width: calc(780px / 2);
}

#handling #contents .product_01 .slide_main .item_02 p.img img {
	width: calc(1186px / 2);
}

#handling #contents .product_01 .slide_main .item_03 p.img img {
	width: calc(1148px / 2);
}

#handling #contents .product_01 .slide_main .item_04 p.img img {
	width: calc(1196px / 2);
}

#handling #contents .product_01 .slide_main .item_05 p.img img {
	width: calc(971px / 2);
}

#handling #contents .product_01 .slide_main .item_06 p.img img {
	width: calc(1286px / 2);
}

#handling #contents .product_01 .slide_main .item_07 p.img img {
	width: calc(940px / 2);
}


/*========== .slide_main swiper ==========*/

#handling .slide_main .swiper-pagination {
	width: auto;
	display: flex;
	gap: 0 10px;
	position: absolute;
	left: 25%;
	bottom: 40px;
	z-index: 2;
	cursor: pointer;
}


#handling .slide_main .swiper-pagination .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	background-color: #B7C4EA;
	border-radius: 10px;
	display: block;
}

#handling .slide_main .swiper-pagination .swiper-pagination-bullet-active {
	background-color: var(--color_orange);
}


/*========== .slide_thumb ==========*/

#handling #contents .product_01 .slide_thumb .swiper {
	padding: 30px 0 0;
}

#handling #contents .product_01 .slide_thumb .swiper-wrapper {
	align-items: center;
}

#handling #contents .product_01 .slide_thumb .swiper-slide {
	transition: all 0.3s;
}

#handling #contents .product_01 .slide_thumb .swiper-slide-thumb-active {
	transform: translateY(-30px);
	filter: brightness(150%);
}


/*========== swiper button ==========*/

#handling .slide_main,
#handling .slide_thumb {
	position: relative;
}

#handling .swiper-button-prev,
#handling .swiper-button-next {
	width: 40px;
	height: 40px;
	background-color: var(--color_orange);
	border-radius: 40px;
	position: absolute;
	top: 50%;
	z-index: 10;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color_orange);
}

#handling .swiper-button-prev {
	left: -20px;
}

#handling .swiper-button-next {
	right: -20px;
}


#handling .swiper-button-prev::after,
#handling .swiper-button-next::after {
	content: "";
	width: 15px;
	height: 15px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}

#handling .swiper-button-prev::after {
	transform: translate(-30% ,-50%) rotate(-135deg);
}

#handling .swiper-button-next::after {
	transform: translate(-70% ,-50%) rotate(45deg);
}


#handling .slide_main .swiper-button-prev,
#handling .slide_main .swiper-button-next {
	background-color: #fff;
	display: none;
}

#handling .slide_main .swiper-button-prev::after,
#handling .slide_main .swiper-button-next::after {
	border-color: var(--color_orange) var(--color_orange) transparent transparent;
}


@media screen and (max-width: 1026px){
	#handling #contents .product_01 .slide_main .detail .txt p {
		font-size: 1.8vw;
		line-height: 1.8;
	}
}

@media screen and (max-width: 880px){
	#handling .slide_main .swiper-pagination {
		left: 20%;
	}
}


@media screen and (max-width: 768px){
	#handling #contents .product_01 {
		padding: 3vh 0 6vh;
		overflow-x: hidden;
	}
	
	#handling #contents .product_01 .wrapper {
		margin: -60px 0 0;
		padding: 60px 0 0;
	}
	
	
	/*========== .slide_main ==========*/
	
	#handling #contents .product_01 .slide_main {
		margin: 0;
	}
	
	#handling #contents .product_01 .slide_main .detail {
		min-height: inherit;
		flex-flow: row wrap;
	}
	
	#handling #contents .product_01 .slide_main .detail .txt {
		width: 100%;
		min-height: inherit;
		height: 40vh;
		margin: 0;
		padding: 3vh 5vw 6vh;
		order: 1;
	}
	
	#handling #contents .product_01 .slide_main .detail .txt h3 {
		margin: 0 0 2vh;
		font-size: 4vw;
		letter-spacing: var(--letter);
	}
	
	#handling #contents .product_01 .slide_main .detail .txt h3::after {
		bottom: -1vh;
	}
	
	#handling #contents .product_01 .slide_main .detail .txt p {
		font-size: 3.675vw;
		line-height: 1.8;
	}
	
	
	#handling #contents .product_01 .slide_main .detail p.img {
		width: 100%;
		height: 35vh;
		min-height: inherit;
		order: 0;
		text-align: center;
	}
	
	#handling #contents .product_01 .slide_main .detail p.img img {
		max-height: 100%;
	}
	
	#handling #contents .product_01 .slide_main .item_01 p.img img {
		width: 70%;
	}
	
	#handling #contents .product_01 .slide_main .item_02 p.img img {
		width: 100%;
	}
	
	#handling #contents .product_01 .slide_main .item_03 p.img img {
		width: 100%;
	}
	
	#handling #contents .product_01 .slide_main .item_04 p.img img {
		width: 100%;
	}
	
	#handling #contents .product_01 .slide_main .item_05 p.img img {
		width: 80%;
	}
	
	#handling #contents .product_01 .slide_main .item_06 p.img img {
		width: 100%;
	}
	
	#handling #contents .product_01 .slide_main .item_07 p.img img {
		width: 70%;
	}
	
	
	/*========== .slide_main swiper ==========*/
	
	#handling .slide_main .swiper-pagination {
		width: 100%;
		justify-content: center;
		gap: 0 2vw;
		left: 0;
		bottom: 3vh;
	}
	
	
	/*========== .slide_thumb ==========*/
	
	#handling #contents .product_01 .slide_thumb {
		padding: 0 5vw;
	}
	
	#handling #contents .product_01 .slide_thumb .swiper-slide-thumb-active {
		transform: translateY(-2vh);
	}
	
	
	/*========== .slide_thumb swiper ==========*/
	
	#handling .slide_main .swiper-button-prev,
	#handling .slide_main .swiper-button-next {
		display: block;
	}
	
	#handling .slide_thumb {
		display: none;
	}
	
	#handling .slide_main .swiper-button-prev {
		top: 43%;
		left: -3vw;
	}
	
	#handling .slide_main .swiper-button-next {
		top: 43%;
		right: -3vw;
	}
}



/*===============================================================

		#handling #contents .product_02 layout

===============================================================*/

#handling #contents .product_02 {
	padding: 40px 0 80px;
	background-color: var(--color_gray);
}

#handling #contents .product_02 .wrapper {
	margin: -75px 0 0;
	padding: 75px 0 0;
}

#handling #contents .product_02 .wrapper .inner h3 {
    margin: 0 0 40px;
    text-align: center;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
}


/*========== .slide_main ==========*/

#handling #contents .product_02 .slide_main {
	margin: 0 0 40px;
}

#handling #contents .product_02 .slide_main .swiper-wrapper {
	align-items: flex-start;
}

#handling #contents .product_02 .slide_main .detail {
	min-height: 470px;
	display: flex;
}

#handling #contents .product_02 .slide_main .detail .txt {
	width: 45%;
	min-height: 470px;
	margin: 30px 0 0;
	padding: 50px min(60px, 5vw);
	position: relative;
}

#handling #contents .product_02 .slide_main .detail .txt::before {
	content: "";
	width: 100%;
	height: 100%;
	background-color: #DFE4F6;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
}

#handling #contents .product_02 .slide_main .detail .txt h3 {
	margin: 0 0 40px;
	position: relative;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.2em;
	position: relative;
	z-index: 2;
}

#handling #contents .product_02 .slide_main .detail .txt h3::after {
	content: "";
	width: 30px;
	height: 3px;
	background-color: var(--color_orange);
	position: absolute;
	left: 0;
	bottom: -20px;
}

#handling #contents .product_02 .slide_main .detail .txt p {
	font-size: 18px;
	line-height: 2.0;
	position: relative;
	z-index: 2;
}


#handling #contents .product_02 .slide_main .detail p.img {
	width: 55%;
	min-height: 470px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
#handling #contents .product_02 .slide_main .item_04 p.img {
	align-items: flex-end;
}

#handling #contents .product_02 .slide_main .detail p.img::before {
	content: "";
	width: 100%;
	height: calc(100% - 30px);
	background-color: var(--color_orange);
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
}

#handling #contents .product_02 .slide_main .detail p.img img {
	position: relative;
	z-index: 2;
}

#handling #contents .product_02 .slide_main .item_01 p.img img {
	width: calc(780px / 2);
}

#handling #contents .product_02 .slide_main .item_02 p.img img {
	width: calc(1186px / 2);
}

#handling #contents .product_02 .slide_main .item_03 p.img img {
	width: calc(1148px / 2);
}

#handling #contents .product_02 .slide_main .item_04 p.img img {
	width: calc(1196px / 2);
}

#handling #contents .product_02 .slide_main .item_05 p.img img {
	width: calc(971px / 2);
}

#handling #contents .product_02 .slide_main .item_06 p.img img {
	width: calc(1286px / 2);
}

#handling #contents .product_02 .slide_main .item_07 p.img img {
	width: calc(940px / 2);
}


/*========== .slide_main swiper ==========*/

#handling .slide_main .swiper-pagination {
	width: auto;
	display: flex;
	gap: 0 10px;
	position: absolute;
	left: 25%;
	bottom: 40px;
	z-index: 2;
	cursor: pointer;
}


#handling .slide_main .swiper-pagination .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	background-color: #B7C4EA;
	border-radius: 10px;
	display: block;
}

#handling .slide_main .swiper-pagination .swiper-pagination-bullet-active {
	background-color: var(--color_orange);
}


/*========== .slide_thumb ==========*/

#handling #contents .product_02 .slide_thumb .swiper {
	padding: 30px 0 0;
}

#handling #contents .product_02 .slide_thumb .swiper-wrapper {
	align-items: center;
}

#handling #contents .product_02 .slide_thumb .swiper-slide {
	transition: all 0.3s;
}

#handling #contents .product_02 .slide_thumb .swiper-slide-thumb-active {
	transform: translateY(-30px);
	filter: brightness(150%);
}


/*========== swiper button ==========*/

#handling .slide_main,
#handling .slide_thumb {
	position: relative;
}

#handling .swiper-button-prev,
#handling .swiper-button-next {
	width: 40px;
	height: 40px;
	background-color: var(--color_orange);
	border-radius: 40px;
	position: absolute;
	top: 50%;
	z-index: 10;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color_orange);
}

#handling .swiper-button-prev {
	left: -20px;
}

#handling .swiper-button-next {
	right: -20px;
}


#handling .swiper-button-prev::after,
#handling .swiper-button-next::after {
	content: "";
	width: 15px;
	height: 15px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}

#handling .swiper-button-prev::after {
	transform: translate(-30% ,-50%) rotate(-135deg);
}

#handling .swiper-button-next::after {
	transform: translate(-70% ,-50%) rotate(45deg);
}


#handling .slide_main .swiper-button-prev,
#handling .slide_main .swiper-button-next {
	background-color: #fff;
	display: none;
}

#handling .slide_main .swiper-button-prev::after,
#handling .slide_main .swiper-button-next::after {
	border-color: var(--color_orange) var(--color_orange) transparent transparent;
}


@media screen and (max-width: 1026px){
	#handling #contents .product_02 .slide_main .detail .txt p {
		font-size: 1.8vw;
		line-height: 1.8;
	}
}

@media screen and (max-width: 880px){
	#handling .slide_main .swiper-pagination {
		left: 20%;
	}
}


@media screen and (max-width: 768px){
	#handling #contents .product_02 {
		padding: 3vh 0 6vh;
		overflow-x: hidden;
	}
	
	#handling #contents .product_02 .wrapper {
		margin: -60px 0 0;
		padding: 60px 0 0;
	}
	
	
	/*========== .slide_main ==========*/
	
	#handling #contents .product_02 .slide_main {
		margin: 0;
	}
	
	#handling #contents .product_02 .slide_main .detail {
		min-height: inherit;
		flex-flow: row wrap;
	}
	
	#handling #contents .product_02 .slide_main .detail .txt {
		width: 100%;
		min-height: inherit;
		height: 40vh;
		margin: 0;
		padding: 3vh 5vw 6vh;
		order: 1;
	}
	
	#handling #contents .product_02 .slide_main .detail .txt h3 {
		margin: 0 0 2vh;
		font-size: 4vw;
		letter-spacing: var(--letter);
	}
	
	#handling #contents .product_02 .slide_main .detail .txt h3::after {
		bottom: -1vh;
	}
	
	#handling #contents .product_02 .slide_main .detail .txt p {
		font-size: 3.675vw;
		line-height: 1.8;
	}
	
	
	#handling #contents .product_02 .slide_main .detail p.img {
		width: 100%;
		height: 35vh;
		min-height: inherit;
		order: 0;
		text-align: center;
	}
	
	#handling #contents .product_02 .slide_main .detail p.img img {
		max-height: 100%;
	}
	
	#handling #contents .product_02 .slide_main .item_01 p.img img {
		width: 70%;
	}
	
	#handling #contents .product_02 .slide_main .item_02 p.img img {
		width: 100%;
	}
	
	#handling #contents .product_02 .slide_main .item_03 p.img img {
		width: 100%;
	}
	
	#handling #contents .product_02 .slide_main .item_04 p.img img {
		width: 100%;
	}
	
	#handling #contents .product_02 .slide_main .item_05 p.img img {
		width: 80%;
	}
	
	#handling #contents .product_02 .slide_main .item_06 p.img img {
		width: 100%;
	}
	
	#handling #contents .product_02 .slide_main .item_07 p.img img {
		width: 70%;
	}
	
	
	/*========== .slide_main swiper ==========*/
	
	#handling .slide_main .swiper-pagination {
		width: 100%;
		justify-content: center;
		gap: 0 2vw;
		left: 0;
		bottom: 3vh;
	}
	
	
	/*========== .slide_thumb ==========*/
	
	#handling #contents .product_02 .slide_thumb {
		padding: 0 5vw;
	}
	
	#handling #contents .product_02 .slide_thumb .swiper-slide-thumb-active {
		transform: translateY(-2vh);
	}
	
	
	/*========== .slide_thumb swiper ==========*/
	
	#handling .slide_main .swiper-button-prev,
	#handling .slide_main .swiper-button-next {
		display: block;
	}
	
	#handling .slide_thumb {
		display: none;
	}
	
	#handling .slide_main .swiper-button-prev {
		top: 43%;
		left: -3vw;
	}
	
	#handling .slide_main .swiper-button-next {
		top: 43%;
		right: -3vw;
	}
}


/*===============================================================

		#handling #contents .product_detail layout

===============================================================*/

#handling #contents .product_detail {
	margin: -75px 0 0;
	padding: 75px 0 60px;
}

#handling #contents .product_detail .inner .spec table thead th {
	background-color: #f7a77f;
	border: solid 1px #fff;
}

#handling #contents .product_detail .inner .spec table thead th:nth-of-type(1) {
	background-color: var(--color_gray);
}

#handling #contents .product_detail .inner .spec table tbody th {
	background-color: var(--color_gray);
	border: solid 1px #fff;
	border-right: none;
}

#handling #contents .product_detail .inner .spec table tbody tr:last-of-type th {
	border-bottom: solid 1px var(--color_gray);
}



#handling #contents .product_detail .inner .spec table thead th {
	background-color: #B7C4EA;
	border-style: solid;
	border-width: 1px 1px 1px 0;
	border-color: var(--color_gray) #fff #fff transparent;
}

#handling #contents .product_detail .inner .spec table thead th:nth-of-type(1) {
	background-color: var(--color_gray);
}

#handling #contents .product_detail .inner .spec table thead th:last-of-type {
	border-right: solid 1px #f7a77f;
}

#handling #contents .product_detail .inner .spec table tbody th {
	background-color: var(--color_gray);
	border: solid 1px #fff;
	border-right: none;
}

#handling #contents .product_detail .inner .spec table tbody tr:last-of-type th {
	border-bottom: solid 1px var(--color_gray);
}


@media screen and (max-width: 768px){
	#handling #contents .product_detail {
		margin: -60px 0 0;
		padding: 60px 0 6vh;
	}
}



/*===============================================================

		#handling #contents .product_03 layout

===============================================================*/

#handling #contents .product_03 h3 {
	background: url("../../img/products/concrete/machine/img01.jpg") center center / cover no-repeat;
}

#handling #contents .product_03 .inner .feature_with_img p.img {
	margin: -13vh 0 0 calc(50% - 50vw);
	padding: 0 0 0 1vw;
}

#handling #contents .product_03 .inner .feature_with_img p.img img {
	max-width: calc(996px / 2);
}

#handling #contents .product_detail .inner .feature_with_img .txt {
	width: 56%;
	margin: 0;
}

#handling #contents .product_detail .inner .feature_with_img .txt p {
	margin: 0 0 30px;
	font-size: 18px;
}

#handling #contents .product_detail .inner .feature_with_img dl.feature {
	width: auto;
}


@media screen and (max-width: 999px){
	#handling #contents .product_03 .inner .feature_with_img p.img {
		margin: -12vh 5vw 2vh;
	}
	
	#handling #contents .product_detail .inner .feature_with_img .txt {
		width: auto;
	}
}


@media screen and (max-width: 768px){
	#handling #contents .product_03 .inner .feature_with_img p.img {
		margin: -10vh 5vw 2vh;
	}
	
	#handling #contents .product_detail .inner .feature_with_img .txt p {
		margin: 0 0 3vh;
		font-size: 4vw;
	}
}



/*===============================================================

		#handling #contents .product_04 layout

===============================================================*/

#handling #contents .product_04 h3 {
	background: url("../../img/products/concrete/machine/img07.jpg") center center / cover no-repeat;
}

#handling #contents .product_04 .inner .feature_with_img p.img {
	margin: -13vh 0 0 calc(50% - 50vw);
	padding: 0 0 0 1vw;
}

#handling #contents .product_04 .inner .feature_with_img p.img img {
	max-width: calc(996px / 2);
}

#handling #contents .product_detail .inner .feature_with_img .txt {
	width: 56%;
	margin: 0;
}

#handling #contents .product_detail .inner .feature_with_img .txt p {
	margin: 0 0 30px;
	font-size: 18px;
}

#handling #contents .product_detail .inner .feature_with_img dl.feature {
	width: auto;
}


@media screen and (max-width: 999px){
	#handling #contents .product_04 .inner .feature_with_img p.img {
		margin: -12vh 5vw 2vh;
	}
	
	#handling #contents .product_detail .inner .feature_with_img .txt {
		width: auto;
	}
}


@media screen and (max-width: 768px){
	#handling #contents .product_04 .inner .feature_with_img p.img {
		margin: -10vh 5vw 2vh;
	}
	
	#handling #contents .product_detail .inner .feature_with_img .txt p {
		margin: 0 0 3vh;
		font-size: 4vw;
	}
}





/*====================================================================================

		#mold layout

====================================================================================*/

/*===============================================================

		#mold header layout

===============================================================*/

#mold header .main_img {
	background: url("../../img/products/concrete/mold/main_img.jpg") center center / cover no-repeat;
}

#mold header .main_img h2 {
	width: min(480px, 34%);
}


@media screen and (max-width: 768px){
	#mold header .main_img {
		background: url("../../img/products/concrete/mold/main_img.jpg") center top / cover no-repeat;
	}
	
	#mold header .main_img h2 {
		width: 50%;
	}
}



/*===============================================================

		#mold #contents .feature layout

===============================================================*/

#mold #contents .feature {
	height: 450px;
	margin: -90px 0 0;
	background: url("../../img/products/concrete/mold/bg03.jpg") center bottom / cover no-repeat;
	/*background: url("../../img/products/concrete/mold/bg02.png") right bottom / auto 100% no-repeat,
				url("../../img/products/concrete/mold/bg01.png") left bottom / auto 100% no-repeat #fcdccc;*/
	position: relative;
	overflow-x: hidden;
}

#mold #contents .feature .box {
	width: 35%;
	height: 100%;
	margin: 0 0 0 20vw;
	/*padding: 0 20px;
	background-color: #fcdccc;*/
	display: flex;
	flex-flow: column wrap;
	align-items: center;
	transform: skew(-12deg);
}

#mold #contents .feature .box h3 {
	margin: 0 4em 20px 0;
	padding: 100px 0 0;
	text-align: left;
	font-size: 30px;
	font-weight: 900;
	line-height: 1.4;
	transform: skew(12deg);
}

#mold #contents .feature .box ol {
	line-height: 2.4;
}

#mold #contents .feature .box ol li {
	padding-left: 1em;
	text-indent: -1em;
	transform: skew(12deg);
}


@media screen and (max-width: 1250px){
	#mold #contents .feature .box {
		width: 40%;
		margin: 0 0 0 17vw;
	}
}

@media screen and (max-width: 1100px){
	#mold #contents .feature .box {
		width: 45%;
		margin: 0 0 0 12vw;
	}
}

@media screen and (max-width: 975px){
	#mold #contents .feature .box {
		width: 50%;
		margin: 0 0 0 8vw;
	}
}

@media screen and (max-width: 890px){
	#mold #contents .feature .box {
		width: 60%;
		margin: 0 0 0 4vw;
	}
}


@media screen and (max-width: 768px){
	#mold #contents .feature {
		height: auto;
		margin: -9vh 0 0;
		padding: 15% 5vw 6vh;
		background: #fcdccc;
		overflow: visible;
	}
	
	#mold #contents .feature .box {
		width: auto;
		height: auto;
		margin: 0 auto;
		padding: 0;
		background-color: #fcdccc;
		display: block;
		transform: skew(0);
	}
	
	#mold #contents .feature .box h3 {
		margin: 0 0 2vh;
		padding: 0;
		font-size: 6vw;
		transform: skew(0);
	}
	
	#mold #contents .feature .box ol {
		font-size: 3.5vw;
		line-height: 1.8;
	}
	
	#mold #contents .feature .box ol li {
		transform: skew(0);
	}
}



/*===============================================================

		#mold #contents .flow layout

===============================================================*/

#mold #contents .flow {
	padding: 70px 0 80px;
	background-color: var(--color_orange);
	position: relative;
	color: #fff;
}

#mold #contents .flow .inner {
	max-width: 940px;
	margin: 0 auto;
	padding: 0 40px;
	position: relative;
}

#mold #contents .flow .inner h3 {
	margin: 0 0 40px;
	text-align: center;
	color: #fff;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.4;
}

#mold #contents .flow .inner h3 span {
	display: block;
	color: #fff;
	font-size: 30px;
}

#mold #contents .flow .inner ol {
	margin: 0 0 50px;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	position: relative;
}

#mold #contents .flow .inner ol::before {
	content: "";
	width: 98%;
	height: 2px;
	background-color: #fff;
	position: absolute;
	top: 50%;
	left: 1%;
	z-index: -1px;
}

#mold #contents .flow .inner ol li {
	width: min(164px, 19vw);
	height: min(164px, 19vw);
	background-color: #fff;
	border-radius: 50%;
	display: flex;
	flex-flow: column wrap;
	align-items: center;
	position: relative;
	z-index: 1;
	color: #000;
	font-size: min(24px, 2.5vw);
	font-weight: 700;
	line-height: 1.4;
	cursor: pointer;
}

#mold #contents .flow .inner ol li::before {
	content: "";
	width: 29px;
	height: 29px;
	background: url("../../img/products/concrete/mold/icon_arrow.svg") left top / 100% auto no-repeat;
	position: absolute;
	left: 50%;
	bottom: 5%;
	transform: translateX(-50%);
	transition: all 0.3s;
}

#mold #contents .flow .inner ol li:hover::before {
	bottom: 3%;
	filter: brightness(110%);
}

#mold #contents .flow .inner ol li span {
	/*margin: 10px 0 5px;*/
	margin: 15px 0 min(20px, 3vw);
	display: block;
	color: var(--color_orange);
	font-size: 30px;
}


#mold #contents .flow .inner .wrapper {
	margin: 60px 0 0;
	padding: 50px min(120px, 9vw) 50px 50px;
	background-color: rgba(255,255,255,0.2);
	position: relative;
}

#mold #contents .flow .inner .wrapper dl dt {
	margin: 0 0 10px;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
}

#mold #contents .flow .inner .wrapper .close {
	position: absolute;
	right: 40px;
	top: calc(50% - 15px);
}

#mold #contents .flow .inner .wrapper .close img {
	width: 29px;
}


@media screen and (max-width: 768px){
	#mold #contents .flow {
		padding: 6vh 0;
	}
	
	#mold #contents .flow::after {
		left: 6.5vw;
	}
	
	#mold #contents .flow .inner {
		max-width: inherit;
		padding: 0 5vw;
	}
	
	#mold #contents .flow .inner h3 {
		margin: 0 0 4vh;
		font-size: 3.6vw;
	}
	
	#mold #contents .flow .inner h3 span {
		font-size: 6vw;
	}
	
	#mold #contents .flow .inner ol {
		margin: 0 0 4vh;
		padding: 0 5vw;
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
		gap: 4vh 0;
		position: relative;
	}
	
	#mold #contents .flow .inner ol::before {
		content: "";
		width: 80%;
		height: 2px;
		background-color: #fff;
		position: absolute;
		top: 23%;
		left: 10%;
		z-index: -1px;
	}
	
	#mold #contents .flow .inner ol::after {
		content: "";
		width: 80%;
		height: 2px;
		background-color: #fff;
		position: absolute;
		top: 77%;
		left: 10%;
		z-index: -1px;
	}
	
	#mold #contents .flow .inner ol li {
		width: 33vw;
		height: 33vw;
		padding: 2vh 0 0;
		gap: 1.5vh 0;
		position: relative;
		font-size: 4vw;
	}
	
	#mold #contents .flow .inner ol li::before {
		width: 5vw;
		height: 5vw;
	}
	
	#mold #contents .flow .inner ol li:hover::before {
		bottom: 5%;
		filter: brightness(100%);
	}
	
	#mold #contents .flow .inner ol li:nth-child(3)::after {
		content: "";
		width: 150%;
		height: 2px;
		background-color: #fff;
		position: absolute;
		top: 0%;
		left: 50%;
		z-index: -1px;
		transform:rotate(-11deg);
		transform-origin:0 0;
	}
	
	#mold #contents .flow .inner ol li span {
		margin: 0;
		font-size: 6vw;
	}
	
	#mold #contents .flow .inner .wrapper {
		margin: 0;
		padding: 3vh 3vw;
	}
	
	#mold #contents .flow .inner .wrapper dl dt {
		margin: 0 0 10px;
		color: #fff;
		font-size: 20px;
		font-weight: 700;
		line-height: 1.4;
	}
	
	#mold #contents .flow .inner .wrapper .close {
		right: 3vw;
		top: 3vw;
	}
	
	#mold #contents .flow .inner .wrapper .close img {
		width: 5vw;
	}
}



/*===============================================================

		#mold #contents .gallery layout

===============================================================*/

#mold #contents .gallery {
	padding: 80px 0;
}

#mold #contents .gallery .inner ul {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
}

#mold #contents .gallery .inner ul li {
	width: min(501px, 46.4%);
}


@media screen and (max-width: 768px){
	#mold #contents .gallery {
		padding: 6vh 0;
	}
	
	#mold #contents .gallery .inner ul {
		gap: 4vh 0;
	}
	
	#mold #contents .gallery .inner ul li {
		width: 100%;
	}
}





















/*===============================================================

		#hina header layout

===============================================================*/

#hina header .main_img {
	background: url("../../img/hina/main_img.jpg") center center / cover no-repeat;
}


@media screen and (max-width: 768px){
	#hina header .main_img {
		background: url("../../img/hina/main_img.jpg") center top / cover no-repeat;
	}
}



/*===============================================================

		#hina #contents .hina layout

===============================================================*/

#hina #contents .hina {
	padding: 0 40px 80px;
}

#hina #contents .hina .inner {
	max-width: 995px;
	padding: 0;
}

#hina #contents .hina .inner h3 {
	margin: 0 0 40px;
	text-align: center;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2em;
}

#hina #contents .hina .inner h3 span {
	display: block;
	color: var(--color_orange);
	font-size: 40px;
	font-weight: 700;
	letter-spacing: var(--letter);
}


@media screen and (max-width: 768px){
	#hina #contents .hina {
		padding: 0 5vw 8vh;
	}
	
	#hina #contents .hina .inner h3 {
		margin: 0 0 4vh;
		font-size: 3.7vw;
		letter-spacing: var(--letter);
	}
	
	#hina #contents .hina .inner h3 span {
		font-size: 6vw;
	}
	
}





/*====================================================================================

		#hina layout

====================================================================================*/

/*===============================================================

		#hina #contents .hina layout

===============================================================*/

#hina #contents .hina {
	margin: -90px 0 0;
	padding: 90px 40px 80px;
	background-color: var(--color_orange);
	position: relative;
	overflow-x: hidden;
}


@media screen and (max-width: 1100px){
	
}


/*---------- if IE ----------*/
@media all and (-ms-high-contrast:none) {
	*::-ms-backdrop, {
		
	}
}


@media screen and (max-width: 768px){
	#hina #contents .hina {
		margin: -9vh 0 0;
		padding: 9vh 0 6vh;
	}
}



/*====================================================================================

		.error404  layout

====================================================================================*/
.error404 header .main_img {
	background: url("../../img/company/group/main_img.jpg") center center / cover no-repeat;
}
@media screen and (max-width: 768px){
	.error404 header .main_img {
		background: url("../../img/company/group/main_img.jpg") center top / cover no-repeat;
	}
}

.error404 .sec-404{
	padding: 0 0 120px;
}
.error404 .sec-404 .inner h1{
	text-align: center;
	font-size: 20px;
}
.error404 .sec-404 .inner p.btn {
	width: 350px;
	margin: 80px auto 0;
	position: relative;
	text-align: center;
}
.error404 .sec-404 .inner p.btn a {
	width: 100%;
	margin: 0 auto;
	padding: 20px 20px 20px 0;
	background: linear-gradient(to right, var(--color_orange) 0%,var(--color_orange) 50%, #000 50%,#000 100%);
	background-size: 202% auto;
	background-position: right center;
	border: none;
	box-sizing: border-box;
	display: block;
	position: relative;
	cursor: pointer;
	color: #fff;
	font-size: 17px;
	font-weight: bold;
	letter-spacing: 0.2em;
	transition: all .3s;
	appearance: none;
}
.error404 .sec-404 .inner p.btn a:hover {
	background-position: left center;
}
.error404 .sec-404 .inner p.btn a::after {
	content: "";
	width: 12px;
	height: 12px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: 40px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}
.error404 .sec-404 .inner p.btn a:hover::after {
	right: 35px;
}

@media screen and (max-width: 768px){
	.error404 .sec-404 .inner h1{
		font-size: 16px;
	}
	.error404 .sec-404 .inner p.btn {
		width: 100%;
	}	
	.error404 .sec-404 .inner p.btn a {
		padding: 20px;
		background: #000;
	}
	.error404 .sec-404 .inner p.btn  a:hover {
		background-position: right center;
	}
	.error404 .sec-404 .inner p.btn a::after {
		right: 5%;
	}
	.error404 .sec-404 .inner p.btn a:hover::after {
		right: 5%;
	}
}





/*====================================================================================

		#table-vibrator layout

====================================================================================*/

/*===============================================================

		#table-vibrator header layout

===============================================================*/

#table-vibrator header .main_img {
	background: url("../../img/products/concrete2/table-vibrator/main_img.jpg") center center / cover no-repeat;
}


@media screen and (max-width: 768px){
	#table-vibrator header .main_img {
		background: url("../../img/products/concrete2/table-vibrator/main_img.jpg") center top / cover no-repeat;
	}
	
	#table-vibrator header .main_img h2 {
		width: 80%;
		font-size: 6vw;
	}
}



/*===============================================================

		#table-vibrator #contents .p_link layout

===============================================================*/

#table-vibrator #contents .p_link .inner ul {
	margin: 1rem 0 0;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
	gap: 0 min(100px, 5vw);
}

#table-vibrator #contents .p_link .inner ul li a {
	position: relative;
	display: inline-block;
	color: #fff;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.4;
}

#table-vibrator #contents .p_link .inner ul li a::after {
	content: "";
	width: 15px;
	height: 15px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: -20px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}


@media screen and (max-width: 768px){
	#table-vibrator #contents .p_link .inner ul {
		margin: 0;
		padding: 0 5vw 0 0;
		gap: 0 10vw;
	}
	
	#table-vibrator #contents .p_link .inner ul li {
		
	}
	
	#table-vibrator #contents .p_link .inner ul li a {
		font-size: 4.5vw;
	}
}



/*===============================================================

		#table-vibrator #contents .summary layout

===============================================================*/

#table-vibrator #contents .summary {
	margin: 40px 0 0;
	padding: 60px 0;
	background-color: var(--color_gray);
}

#table-vibrator #contents .summary_01 {
	padding: 60px 0 20px;
}

#table-vibrator #contents .summary_02 {
	margin: 40px 0;
	padding: 90px 0;
}

#table-vibrator #contents .summary .inner {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
}

#table-vibrator #contents .summary .inner p.img {
	width: 50%;
	text-align: center;
}

#table-vibrator #contents .summary_01 .inner p.img img {
	width: 100%;
	max-width: calc(882px / 2);
}

#table-vibrator #contents .summary_02 .inner p.img {
	width: 50vw;
	margin: 0 0 0 calc(50% - 50vw);
	padding: 0 0 0 2vw;
	text-align: right;
}

#table-vibrator #contents .summary_02 .inner p.img img {
	width: 100%;
	max-width: calc(1132px / 2);
}

#table-vibrator #contents .summary .inner .txt {
	width: 45%;
}

#table-vibrator #contents .summary .inner .txt h3 {
	margin: 0 0 20px;
	color: var(--color_orange);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: var(--letter);
}

#table-vibrator #contents .summary .inner .txt p {
	margin: 0 0 40px;
	line-height: 2.0;
	letter-spacing:0.09em;
}

#table-vibrator #contents .summary .inner .txt ul {
	display: flex;
	flex-flow: row wrap;
	gap: 10px 40px;
}

#table-vibrator #contents .summary .inner .txt ul li a {
	position: relative;
	display: block;
	color: var(--color_orange);
	font-size: 18px;
	font-weight: 500;
}

#table-vibrator #contents .summary .inner .txt ul li a::before {
	content: "";
	width: calc(100% + 10px);
	border-bottom: solid 2px var(--color_orange);
	position: absolute;
	left: 0;
	bottom: -3px;
	transition: all 0.3s;
}

#table-vibrator #contents .summary .inner .txt ul li a:hover::before {
	width: calc(100% + 15px);
}

#table-vibrator #contents .summary .inner .txt ul li a::after {
	content: "";
    width: 15px;
    height: 15px;
    border-style: solid;
    border-width: 3px 3px 0 0;
    border-color: #fff #fff transparent transparent;
    box-sizing: border-box;
    position: absolute;
    right: -20px;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%) rotate(45deg);
    transition: all 0.3s;
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
}

#table-vibrator #contents .summary .inner .txt ul li a:hover::after {
	right: -10px;
}


@media screen and (max-width: 768px){
	#table-vibrator #contents .summary {
		margin: 4vh 0 0;
		padding: 4vh 0;
		background-color: var(--color_gray);
		overflow: hidden;
	}
	
	#table-vibrator #contents .summary_01 {
		padding: 4vh 0;
	}
	
	#table-vibrator #contents .summary_02 {
		margin: 4vh 0;
	}
	
	#table-vibrator #contents .summary .inner {
		display: block;
	}
	
	#table-vibrator #contents .summary .inner p.img {
		width: auto;
		margin: 0 5vw 1vh;
	}
	
	#table-vibrator #contents .summary_02 .inner p.img {
		width: auto;
		margin: 0 0 1vh;
		padding: 0;
		text-align: center;
	}
	
	#table-vibrator #contents .summary .inner .txt {
		width: auto;
	}
	
	#table-vibrator #contents .summary .inner .txt h3 {
		margin: 0 0 2vh;
		font-size: 6vw;
		letter-spacing: var(--letter);
	}
	
	#table-vibrator #contents .summary .inner .txt p {
		margin: 0 0 4vh;
		line-height: 1.8;
	}
	
	#table-vibrator #contents .summary .inner .txt ul {
		gap: 2vh 8vw;
	}
	
	#table-vibrator #contents .summary .inner .txt ul li a {
		font-size: 4vw;
	}
	
	#table-vibrator #contents .summary .inner .txt ul li a:hover::before {
		width: calc(100% + 10px);
	}
	
	#table-vibrator #contents .summary .inner .txt ul li a::after {
		width: 10px;
		height: 10px;
	}
	
	#table-vibrator #contents .summary .inner .txt ul li a:hover::after {
		right: -5px;
	}
}



/*===============================================================

		#table-vibrator #contents .product_detail layout

===============================================================*/

#table-vibrator #contents .product_detail {
	margin: -75px 0 0;
	padding: 75px 0 60px;
}

#table-vibrator #contents .product_detail .inner .spec table thead th {
	background-color: #f7a77f;
	border-style: solid;
	border-width: 1px 1px 1px 0;
	border-color: var(--color_gray) #fff #fff transparent;
}

#table-vibrator #contents .product_detail .inner .spec table thead th:nth-of-type(1) {
	background-color: var(--color_gray);
}

#table-vibrator #contents .product_detail .inner .spec table thead th:last-of-type {
	border-right: solid 1px #f7a77f;
}

#table-vibrator #contents .product_detail .inner .spec table tbody th {
	background-color: var(--color_gray);
	border: solid 1px #fff;
	border-right: none;
}

#table-vibrator #contents .product_detail .inner .spec table tbody tr:last-of-type th {
	border-bottom: solid 1px var(--color_gray);
}


@media screen and (max-width: 768px){
	#table-vibrator #contents .product_detail {
		margin: -60px 0 0;
		padding: 60px 0 6vh;
	}
}



/*===============================================================

		#table-vibrator #contents .product_01 layout

===============================================================*/

#table-vibrator #contents .product_01 h3 {
	background: url("../../img/products/concrete2/table-vibrator/img02.jpg") center center / cover no-repeat;
}

#table-vibrator #contents .product_01 .inner .feature_with_img p.img {
	margin: -10vh 0 0 calc(50% - 50vw);
	padding: 0 0 0 1vw;
}

#table-vibrator #contents .product_01 .inner .feature_with_img p.img img {
	max-width: calc(882px / 2);
}


@media screen and (max-width: 999px){
	#table-vibrator #contents .product_01 .inner .feature_with_img p.img {
		margin: -7vh 5vw 0;
	}
}



/*====================================================================================

		#concrete2 layout

====================================================================================*/

/*===============================================================

		#concrete2 header layout

===============================================================*/

#concrete2 header .main_img {
	background: url("../../img/products/concrete2/main_img.jpg") center center / cover no-repeat;
}


@media screen and (max-width: 768px){
	#concrete2 header .main_img {
		background: url("../../img/products/concrete2/main_img.jpg") center top / cover no-repeat;
	}
}



/*===============================================================

		#concrete2 #contents .plant layout

===============================================================*/

#concrete2 #contents .plant {
	margin: -90px 0 0;
	padding: 90px 40px 80px;
	background-color: var(--color_orange);
	position: relative;
	overflow-x: hidden;
}

#concrete2 #contents .plant .inner {
	display: flex;
	justify-content: space-between;
}

#concrete2 #contents .plant .inner .txt {
	width: min(520px, 47%);
	margin: 40px 0 0;
}

#concrete2 #contents .plant .inner .txt h3 {
	margin: 0 0 40px;
	font-size: 39px;
	color: #fff;
	font-weight: 900;
	line-height: 1.4;
}

#concrete2 #contents .plant .inner .txt p.img_01 {
	display: none;
}

#concrete2 #contents .plant .inner .txt p {
	color: #fff;
	line-height: 2.2;
}

#concrete2 #contents .plant .inner p.img_02 {
	width: 50vw;
	margin-right: calc(50% - 50vw);
}


@media screen and (max-width: 1082px){
	#concrete2 #contents .plant .inner .txt {
		margin: 2vh 0 0;
	}
	
	#concrete2 #contents .plant .inner .txt h3 br {
		display: none;
	}
}


@media screen and (max-width: 768px){
	#concrete2 #contents .plant {
		margin: -9vh 0 0;
		padding: 9vh 0 6vh;
	}
	
	#concrete2 #contents .plant .inner {
		padding: 0;
		display: block;
	}
	
	#concrete2 #contents .plant .inner .txt {
		width: auto;
		margin: 0;
	}
	
	#concrete2 #contents .plant .inner .txt h3 {
		margin: 0 5vw 4vh;
		font-size: 6vw;
	}
	
	#concrete2 #contents .plant .inner .txt h3 br {
		display: inline;
	}
	
	#concrete2 #contents .plant .inner .txt p.img_01 {
		width: auto;
		margin: 0 0 4vh 5vw;
		display: block;
	}
	
	#concrete2 #contents .plant .inner .txt p {
		padding: 0 5vw;
		line-height: 1.8;
	}
	
	#concrete2 #contents .plant .inner p.img_02 {
		display: none;
	}
}



/*===============================================================

		#concrete2 #contents .items layout

===============================================================*/
#concrete2 #contents {
	position: static;
}
#concrete2 #contents .items {
	background-color: var(--color_gray);
}

#concrete2 #contents .items .inner {
	padding: 40px 40px 50px;
}

#concrete2 #contents .items .inner h3 {
	margin: 0 0 10px;
	text-align: center;
	font-size: 30px;
	font-weight: 700;
}

#concrete2 #contents .items .inner ul.parent {
	height: 200px;
    padding: 30px 20px 20px 20px;
    background-color: var(--color_orange);
    display: flex;
    flex-flow: row wrap;
    font-size: 20px;
    font-weight: 700;
}

#concrete2 #contents .items .inner ul.parent > li {
	width: calc(100% / 3);
    height: 80px;
	border-right: solid 1px #fff;
}

#concrete2 #contents .items .inner ul.parent > li:nth-child(1),
#concrete2 #contents .items .inner ul.parent > li:nth-child(2) {
	border-bottom: solid 1px #fff;
}

#concrete2 #contents .items .inner ul.parent > li:nth-child(3) {
    border-right: none;
	border-bottom: solid 1px #fff;
}


#concrete2 #contents .items .inner ul.parent > li:nth-child(4) {
	width: calc(100% / 2);
    padding: 20px 20px 10px 20px;
}

#concrete2 #contents .items .inner ul.parent > li:nth-child(5) {
	width: calc(100% / 2);
    padding: 20px 20px 10px 20px;
    border-right: none;
}

#concrete2 #contents .items .inner ul.parent > li a {
	width: 100%;
	height: 100%;
	padding: 0 40px 0 0;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	color: #fff;
}



#concrete2 #contents .items .inner ul.parent li a::after {
	content: "";
	width: 12px;
	height: 12px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: 30px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}

#concrete2 #contents .items .inner ul.parent li a:hover::after {
	right: 25px;
}

#concrete2 #contents .items .inner ul.parent li a span {
	display: inline-block;
	position: relative;
}

#concrete2 #contents .items .inner ul.parent li a span::before {
	content: "";
	width: 100%;
	height: 2px;
	background: #fff;
	position: absolute;
	left: 0;
	bottom: -3px;
	margin: auto;
	transform-origin: left top;
	transform: scale(0, 1);
	transition: transform .3s;
}

#concrete2 #contents .items .inner ul.parent li a:hover span::before {
	transform-origin: left top;
	transform: scale(1, 1);
}

#concrete2 #contents .items .inner ul.parent li ul {
	width: 100%;
	padding: 0 0 0 min(30px, 20%);
}


#concrete2 #contents .items .img{
	position: relative;
}
#concrete2 #contents .items .img a.pos-link,
#concrete2 #contents .items .img span.pos-link{
	position: absolute;
}
#concrete2 #contents .items .img a.pos-link span,
#concrete2 #contents .items .img span.pos-link span{
	display: inline-block;
	padding: 10px 35px;
	background-color: var(--color_orange);
	font-size: 1.5vw;
	line-height: 1.4;
	color: #fff;
	position: relative;
	transition: 0.3s;
	transform: translateX(-50%);
	transform: translateY(-100%);
}
#concrete2 #contents .items .img a.pos-link span::after,
#concrete2 #contents .items .img span.pos-link span::after{
	position: absolute;
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 25px 12px 0 12px;
	border-color: #294395 transparent transparent transparent;
}

#concrete2 #contents .items .pc{
	display: block;
}
#concrete2 #contents .items .sp{
	display: none;
}

#concrete2 #contents .items .img a#link01{
	left: 30%;
	top: 42%;
}
#concrete2 #contents .items .img a#link01 span::after{
	bottom: -15px;
	left: 30px;
}

#concrete2 #contents .items .img a#link02{
	left: 47%;
	top: 62%;
}
#concrete2 #contents .items .img a#link02 span::after{
	bottom: -15px;
	left: 30px;
}

#concrete2 #contents .items .img span#link03{
	right: 5%;
	top: 62%;
}
#concrete2 #contents .items .img span#link03 span::after{
	bottom: -15px;
	right: 30px;
}

#concrete2 #contents .items .img span#link04{
	left: 20%;
	top: 82%;
}
#concrete2 #contents .items .img span#link04 span::after{
	bottom: -15px;
	right: 30px;
}








#concrete2 #contents .modal-box .detail {
	min-height: 470px;
	display: flex;
}
#concrete2 #contents .modal-box .detail .txt {
	width: 45%;
	min-height: 470px;
	margin: 0;
	padding: 50px min(49px, 5vw);
	position: relative;
}
#concrete2 #contents .modal-box .detail .txt::before {
	content: "";
	width: 100%;
	height: 100%;
	background-color: #fde5d9;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
}
#concrete2 #contents .modal-box .detail .txt h3 {
	margin: 0 0 40px;
	position: relative;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.2em;
	position: relative;
	z-index: 2;
}
#concrete2 #contents .modal-box .detail .txt h3::after {
	content: "";
	width: 30px;
	height: 3px;
	background-color: var(--color_orange);
	position: absolute;
	left: 0;
	bottom: -20px;
}
#concrete2 #contents .modal-box .detail .txt p {
	font-size: 18px;
	line-height: 2.0;
	position: relative;
	z-index: 2;
}
#concrete2 #contents .modal-box .detail p.img {
	width: 55%;
	min-height: 470px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
#concrete2 #contents .modal-box .detail p.img::before {
	content: "";
	width: 100%;
	height: 100%;
	background-color: var(--color_orange);
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
}
#concrete2 #contents .modal-box .detail p.img img {
	position: relative;
	z-index: 2;
}
#concrete2 #contents .modal-box .item_06 p.img img {
	width: calc(1286px / 2);
}

#concrete2 #contents .modal-box .item_07 p.img img {
	width: calc(940px / 2);
}

@media screen and (max-width: 768px){
	#concrete2 #contents .modal-box .detail {
		min-height: inherit;
		flex-flow: row wrap;
	}
	#concrete2 #contents .modal-box .detail .txt {
		width: 100%;
		min-height: inherit;
		height: 40vh;
		margin: 0;
		padding: 3vh 5vw 6vh;
		order: 1;
	}
	#concrete2 #contents .modal-box .detail .txt h3 {
		margin: 0 0 2vh;
		font-size: 4vw;
		letter-spacing: var(--letter);
	}
	#concrete2 #contents .modal-box .detail .txt h3::after {
		bottom: -1vh;
	}
	#concrete2 #contents .modal-box .detail .txt p {
		font-size: 3.675vw;
		line-height: 1.8;
	}
	#concrete2 #contents .modal-box .detail p.img {
		width: 100%;
		height: 35vh;
		min-height: inherit;
		order: 0;
		text-align: center;
	}	
	#concrete2 #contents .modal-box .item_06 p.img img {
		width: 100%;
	}
	#concrete2 #contents .modal-box .item_07 p.img img {
		width: 70%;
	}
}



@media (min-width: 769px){
	#concrete2 #contents .items .img a.pos-link:hover span,
	#concrete2 #contents .items .img span.pos-link:hover span{
		padding: 12px 40px;
		font-size: 1.75vw;
	}
}

@media screen and (max-width: 1200px){
	#concrete2 #contents .items .img a#link01{
		left: 26%;
	}
	#concrete2 #contents .items .img a#link02{
		left: 43%;
	}
	#concrete2 #contents .items .img span#link03{
		right: 2.5%;
	}
	#concrete2 #contents .items .img span#link04{
		left: 18%;
	}
}


@media screen and (max-width: 900px){
	#concrete2 #contents .items .inner ul.parent {
		font-size: 18px;
	}
	
	#concrete2 #contents .items .inner ul.parent > li a {
		padding: 0 30px 0 0;
	}
	
	#concrete2 #contents .items .inner ul.parent li a::after {
		right: 25px;
	}
	
	#concrete2 #contents .items .inner ul.parent li a:hover::after {
		right: 20px;
	}
	#concrete2 #contents .items .img a.pos-link span,
	#concrete2 #contents .items .img span.pos-link span{
		padding: 10px 20px;
	}
}


@media screen and (max-width: 768px){
	#concrete2 #contents .items .inner {
		padding: 5vh 5vw;
	}
	
	#concrete2 #contents .items .inner h3 {
		margin: 0 0 2vh;
		font-size: 6vw;
	}
	
	#concrete2 #contents .items .inner ul.parent {
		height: auto;
		padding: 0;
		background-color: transparent;
		gap: 1vh 0;
		font-size: 4vw;
	}
	
	#concrete2 #contents .items .inner ul.parent > li {
		width: 100%;
		height: auto;
	}
	
	#concrete2 #contents .items .inner ul.parent > li:nth-child(3) {
		height: auto;
		border-left: none;
		border-right: none;
	}
	
	#concrete2 #contents .items .inner ul.parent > li:nth-child(4) {
		border-bottom: none;
		width: 100%;
		padding: 0;
		border-right: none;
	}
	
	#concrete2 #contents .items .inner ul.parent > li:nth-child(5) {
		border-bottom: none;
		width: 100%;
		padding: 0;
	}
	
	#concrete2 #contents .items .inner ul.parent > li a {
		padding: 2vh 4vw 2vh 8vw;
		background-color: var(--color_orange);
		display: block;
	}
	
	#concrete2 #contents .items .inner ul.parent > li a:hover {
		text-decoration: none;
	}
	
	#concrete2 #contents .items .inner ul.parent li a::after {
		right: 5%;
	}
	
	#concrete2 #contents .items .inner ul.parent li a:hover::after {
		right: 5%;
	}
	
	#concrete2 #contents .items .inner ul.parent li a:hover span::before {
		display: none;
	}
	
	#concrete2 #contents .items .inner ul.parent li ul {
		padding: 0;
	}
	
	#concrete2 #contents .items .pc{
		display: none;
	}
	#concrete2 #contents .items .sp{
		display: block;
	}
	#concrete2 #contents .items p.img img {
		width: 200%;
		max-width: inherit;
	}
}



/*===============================================================

		#concrete #contents .flow layout

===============================================================*/

#concrete2 #contents .flow {
	padding: 70px 0 80px;
	background-color: #B7C4EA;
}

#concrete2 #contents .flow .inner h3 {
	margin: 0 0 40px;
	text-align: center;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2em;
}

#concrete2 #contents .flow .inner h3 span {
	display: block;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: var(--letter);
}

#concrete2 #contents .flow .inner ol {
	display: flex;
	flex-flow: row wrap;
	gap: 20px 0;
}

#concrete2 #contents .flow .inner ol li {
	width: calc(100% / 3);
	height: 125px;
	background-color: var(--color_orange);
	display: flex;
	flex-flow: column wrap;
	justify-content: center;
	align-items: center;
	position: relative;
	color: #fff;
}

#concrete2 #contents .flow .inner ol li:nth-child(1) {
	width: 100%;
	margin: 0 0 70px;
}

#concrete2 #contents .flow .inner ol li:nth-child(1)::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 20px solid transparent;
	border-left: 20px solid transparent;
	border-top: 30px solid #ffffff;
	border-bottom: 0;
	position: absolute;
	left: calc(50% - 20px);
	bottom: -60px;
}

#concrete2 #contents .flow .inner ol li:nth-child(2)::after,
#concrete2 #contents .flow .inner ol li:nth-child(3)::after,
#concrete2 #contents .flow .inner ol li:nth-child(5)::after,
#concrete2 #contents .flow .inner ol li:nth-child(6)::after,
#concrete2 #contents .flow .inner ol li:nth-child(8)::after,
#concrete2 #contents .flow .inner ol li:nth-child(9)::after {
	content: "";
	width: 86px;
	height: 100%;
	background: url("../../img/products/concrete/arrow_02.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -43px;
	top: 0;
	z-index: 1;
}

#concrete2 #contents .flow .inner ol li:nth-child(4)::after,
#concrete2 #contents .flow .inner ol li:nth-child(7)::after {
	content: "";
	width: 76px;
	height: 100%;
	background: url("../../img/products/concrete/arrow_03.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -1px;
	top: 0;
	z-index: 1;
}

#concrete2 #contents .flow .inner ol li:nth-child(5)::before,
#concrete2 #contents .flow .inner ol li:nth-child(8)::before {
	content: "";
	width: 75px;
	height: 100%;
	background: url("../../img/products/concrete/arrow_01.png") left top / auto 100% no-repeat;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
}

#concrete2 #contents .flow .inner ol li .title {
	font-size: 24px;
	font-weight: 700;
}

#concrete2 #contents .flow .inner ol li .description {
	padding: 0 0 0 1em;
	position: relative;
	z-index: 2;
	text-align: left;
	font-size: min(16px, 1vw);
	font-weight: 400;
	letter-spacing: var(--letter);
}

#concrete2 #contents .flow .inner ol li:nth-child(1) .description {
	font-size: 20px;
}

#concrete2 #contents .flow .inner ol li:nth-child(7) .description {
	padding: 0 1em 0 0;
	text-align: center;
}


@media screen and (max-width: 768px){
	#concrete2 #contents .flow {
		padding: 6vh 0 8vh;
	}
	
	#concrete2 #contents .flow .inner h3 {
		margin: 0 0 4vh;
		font-size: 3.7vw;
		letter-spacing: var(--letter);
	}
	
	#concrete2 #contents .flow .inner h3 span {
		font-size: 6vw;
	}
	
	#concrete2 #contents .flow .inner ol {
		display: flex;
		flex-flow: row wrap;
		gap: 1vh 0;
	}
	
	#concrete2 #contents .flow .inner ol li {
		height: 10vh;
	}
	
	#concrete2 #contents .flow .inner ol li:nth-child(1) {
		width: 100%;
		height: 12vh;
		margin: 0 0 70px;
	}
	
	#concrete2 #contents .flow .inner ol li:nth-child(3),
	#concrete2 #contents .flow .inner ol li:nth-child(9) {
		padding: 0 1em 0 0;
	}
	
	#concrete2 #contents .flow .inner ol li:nth-child(5) {
		width: 100%;
		padding: 0 0 0 10vw;
		flex-flow: row wrap;
		justify-content: flex-start;
	}
	
	#concrete2 #contents .flow .inner ol li:nth-child(7) {
		width: calc(100% / 3 * 2);
		padding: 0 0 0 5vw;
		flex-flow: row wrap;
		justify-content: flex-start;
	}
	
	#concrete2 #contents .flow .inner ol li:nth-child(1)::after {
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-right: 20px solid transparent;
		border-left: 20px solid transparent;
		border-top: 30px solid #ffffff;
		border-bottom: 0;
		position: absolute;
		left: calc(50% - 20px);
		bottom: -60px;
	}
	
	#concrete2 #contents .flow .inner ol li:nth-child(2)::after,
	#concrete2 #contents .flow .inner ol li:nth-child(3)::after,
	#concrete2 #contents .flow .inner ol li:nth-child(6)::after,
	#concrete2 #contents .flow .inner ol li:nth-child(8)::after,
	#concrete2 #contents .flow .inner ol li:nth-child(9)::after {
		content: "";
		width: 4vw;
		height: 100%;
		background: url("../../img/products/concrete/sp/arrow_02.png") left top / 100% 100% no-repeat;
		position: absolute;
		right: -2vw;
		top: 0;
		z-index: 1;
	}
	
	#concrete2 #contents .flow .inner ol li:nth-child(4)::after,
	#concrete2 #contents .flow .inner ol li:nth-child(5)::after,
	#concrete2 #contents .flow .inner ol li:nth-child(7)::after,
	#concrete2 #contents .flow .inner ol li:nth-child(10)::after {
		content: "";
		width: 4vw;
		height: 100%;
		background: url("../../img/products/concrete/sp/arrow_03.png") left top / 100% 100% no-repeat;
		position: absolute;
		right: -2vw;
		top: 0;
		z-index: 1;
	}
	
	#concrete2 #contents .flow .inner ol li:nth-child(5)::before,
	#concrete2 #contents .flow .inner ol li:nth-child(6)::before,
	#concrete2 #contents .flow .inner ol li:nth-child(8)::before {
		content: "";
		width: 4vw;
		height: 100%;
		background: url("../../img/products/concrete/sp/arrow_01.png") left top / 100% 100% no-repeat;
		position: absolute;
		left: 0;
		top: 0;
		z-index: 1;
	}
	
	#concrete2 #contents .flow .inner ol li .title {
		font-size: 4vw;
		font-weight: 700;
	}
	
	#concrete2 #contents .flow .inner ol li:nth-child(1) .title,
	#concrete2 #contents .flow .inner ol li:nth-child(8) .title {
		
	}
	
	#concrete2 #contents .flow .inner ol li .description {
		padding: 0 0 0 1em;
		position: relative;
		z-index: 2;
		text-align: left;
		font-size: 2.8vw;
		font-weight: 400;
		line-height: 1.4;
		letter-spacing: var(--letter);
	}
	
	#concrete2 #contents .flow .inner ol li:nth-child(1) .description {
		font-size: 3.5vw;
		line-height: 1.2;
	}
	
	#concrete2 #contents .flow .inner ol li:nth-child(2) .description,
	#concrete2 #contents .flow .inner ol li:nth-child(3) .description {
		padding: 0;
	}
	
	#concrete2 #contents .flow .inner ol li:nth-child(5) .description {
		padding: 0 0 0 2em;
	}
	
	#concrete2 #contents .flow .inner ol li:nth-child(7) .description {
		padding: 0 0 0 1em;
		text-align: left;
	}
	
	#concrete2 #contents .flow .inner ol li:nth-child(8) .description {
		padding: 0;
		text-align: center;
	}
}



/*===============================================================

		#concrete #contents ul.link layout

===============================================================*/

#concrete2 #contents ul.link {
	padding: 0 0 4px;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}

#concrete2 #contents ul.link li:nth-child(1) {
	width: 100%;
	margin: 10px 0;
	position: relative;
}

#concrete2 #contents ul.link li:nth-child(2) {
	width: calc(33% - 2px);
}

#concrete2 #contents ul.link li:nth-child(3) {
	width: calc(33% - 2px);
}

#concrete2 #contents ul.link li:nth-child(4) {
	width: calc(33% - 2px);
}

#concrete2 #contents ul.link li a {
	display: block;
	position: relative;
	overflow: hidden;
}

#concrete2 #contents ul.link li img {
	transition: all 0.3s;
}

#concrete2 #contents ul.link li a:hover img {
	transform: scale(1.1);
}

#concrete2 #contents ul.link li span {
	display: block;
	position: absolute;
	z-index: 2;
	line-height: 1.0;
}

#concrete2 #contents ul.link li:nth-child(1) span:nth-of-type(1) {
	padding: 5px;
	background-color: #000;
	left: 0;
	top: 0;
	color: #fff;
	font-size: 14px;
}

#concrete2 #contents ul.link li:nth-child(1) span:nth-of-type(2) {
	left: 2%;
	top: 50%;
	transform: translateY(-50%);
	color: rgba(255,255,255,0.8);
	font-size: clamp(9vw, 120px, 11vw);
	font-weight: 700;
}

#concrete2 #contents ul.link li:nth-child(2) a span,
#concrete2 #contents ul.link li:nth-child(3) a span,
#concrete2 #contents ul.link li:nth-child(4) a span {
	width: 100%;
	left: 0;
	top: 50%;
	text-align: center;
	color: #fff;
	font-size: min(39px, 3vw);
	font-weight: 700;
	letter-spacing: 0.2em;
}


#concrete2 #contents ul.link li:nth-child(2) a span::after,
#concrete2 #contents ul.link li:nth-child(3) a span::after,
#concrete2 #contents ul.link li:nth-child(4) a span::after {
	content: "";
	width: 20px;
	height: 20px;
	border-style: solid;
	border-width: 5px 5px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	z-index: 2;
	transform: translate(20px, -4px) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}

#concrete2 #contents ul.link li:nth-child(2) a:hover span::after,
#concrete2 #contents ul.link li:nth-child(3) a:hover span::after,
#concrete2 #contents ul.link li:nth-child(4) a:hover span::after {
	transform: translate(30px, -4px) rotate(45deg);
}


@media screen and (max-width: 768px){
	#concrete2 #contents ul.link {
		padding: 0;
	}
	
	#concrete2 #contents ul.link li:nth-child(1) {
		margin: 0;
	}
	
	#concrete2 #contents ul.link li:nth-child(2) {
		width: calc(33% - 1px);
	}
	
	#concrete2 #contents ul.link li:nth-child(3) {
		width: calc(33% - 1px);
	}
	
	#concrete2 #contents ul.link li:nth-child(4) {
		width: calc(33% - 1px);
	}
	
	#concrete2 #contents ul.link li a:hover img {
		transform: scale(1);
	}
	
	#concrete2 #contents ul.link li:nth-child(1) span:nth-of-type(1) {
		font-size: 3.2vw;
	}
	
	#concrete2 #contents ul.link li:nth-child(1) span:nth-of-type(2) {
		font-size: 10vw;
	}
	
	#concrete2 #contents ul.link li:nth-child(2) a span,
	#concrete2 #contents ul.link li:nth-child(3) a span,
	#concrete2 #contents ul.link li:nth-child(4) a span {
		width: 100%;
		left: 0;
		top: 50%;
		transform: translate(0, -50%);
		text-align: center;
		font-size: 4vw;
	}
	
	#concrete2 #contents ul.link li:nth-child(2) a span::after,
	#concrete2 #contents ul.link li:nth-child(3) a span::after,
	#concrete2 #contents ul.link li:nth-child(4) a span::after {
		display: none;
	}
}



/*====================================================================================

		#feeding-machine layout

====================================================================================*/

/*===============================================================

		#feeding-machine header layout

===============================================================*/

#feeding-machine header .main_img {
	background: url("../../img/products/concrete2/feeding-machine/main_img.jpg") center center / cover no-repeat;
}


@media screen and (max-width: 768px){
	#feeding-machine header .main_img {
		background: url("../../img/products/concrete2/feeding-machine/main_img.jpg") center top / cover no-repeat;
	}
	
	#feeding-machine header .main_img h2 {
		width: 80%;
		font-size: 6vw;
	}
}



/*===============================================================

		#feeding-machine #contents .p_link layout

===============================================================*/

#feeding-machine #contents .p_link .inner ul {
	margin: 1rem 0 0;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
	gap: 0 min(100px, 5vw);
}

#feeding-machine #contents .p_link .inner ul li a {
	position: relative;
	display: inline-block;
	color: #fff;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.4;
}

#feeding-machine #contents .p_link .inner ul li a::after {
	content: "";
	width: 15px;
	height: 15px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: -20px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}


@media screen and (max-width: 768px){
	#feeding-machine #contents .p_link .inner ul {
		margin: 0;
		padding: 0 5vw 0 0;
		gap: 0 10vw;
	}
	
	#feeding-machine #contents .p_link .inner ul li {
		
	}
	
	#feeding-machine #contents .p_link .inner ul li a {
		font-size: 4.5vw;
	}
}



/*===============================================================

		#feeding-machine #contents .summary layout

===============================================================*/

#feeding-machine #contents .summary {
	margin: 40px 0 0;
	padding: 60px 0;
	background-color: var(--color_gray);
}

#feeding-machine #contents .summary_01 {
	padding: 60px 0 20px;
}

#feeding-machine #contents .summary_02 {
	margin: 40px 0;
	padding: 90px 0;
}

#feeding-machine #contents .summary .inner {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
}

#feeding-machine #contents .summary .inner p.img {
	width: 50%;
	text-align: center;
}

#feeding-machine #contents .summary_01 .inner p.img img {
	width: 100%;
	max-width: calc(882px / 2);
}

#feeding-machine #contents .summary_02 .inner p.img {
	width: 50vw;
	margin: 0 0 0 calc(50% - 50vw);
	padding: 0 0 0 2vw;
	text-align: right;
}

#feeding-machine #contents .summary_02 .inner p.img img {
	width: 100%;
	max-width: calc(1132px / 2);
}

#feeding-machine #contents .summary .inner .txt {
	width: 45%;
}

#feeding-machine #contents .summary .inner .txt h3 {
	margin: 0 0 20px;
	color: var(--color_orange);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: var(--letter);
}

#feeding-machine #contents .summary .inner .txt p {
	margin: 0 0 40px;
	line-height: 2.0;
	letter-spacing:0.09em;
}

#feeding-machine #contents .summary .inner .txt ul {
	display: flex;
	flex-flow: row wrap;
	gap: 10px 40px;
}

#feeding-machine #contents .summary .inner .txt ul li a {
	position: relative;
	display: block;
	color: var(--color_orange);
	font-size: 18px;
	font-weight: 500;
}

#feeding-machine #contents .summary .inner .txt ul li a::before {
	content: "";
	width: calc(100% + 10px);
	border-bottom: solid 2px var(--color_orange);
	position: absolute;
	left: 0;
	bottom: -3px;
	transition: all 0.3s;
}

#feeding-machine #contents .summary .inner .txt ul li a:hover::before {
	width: calc(100% + 15px);
}

#feeding-machine #contents .summary .inner .txt ul li a::after {
	content: "";
    width: 15px;
    height: 15px;
    border-style: solid;
    border-width: 3px 3px 0 0;
    border-color: #fff #fff transparent transparent;
    box-sizing: border-box;
    position: absolute;
    right: -20px;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%) rotate(45deg);
    transition: all 0.3s;
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
}

#feeding-machine #contents .summary .inner .txt ul li a:hover::after {
	right: -10px;
}


@media screen and (max-width: 768px){
	#feeding-machine #contents .summary {
		margin: 4vh 0 0;
		padding: 4vh 0;
		background-color: var(--color_gray);
		overflow: hidden;
	}
	
	#feeding-machine #contents .summary_01 {
		padding: 4vh 0;
	}
	
	#feeding-machine #contents .summary_02 {
		margin: 4vh 0;
	}
	
	#feeding-machine #contents .summary .inner {
		display: block;
	}
	
	#feeding-machine #contents .summary .inner p.img {
		width: auto;
		margin: 0 5vw 1vh;
	}
	
	#feeding-machine #contents .summary_02 .inner p.img {
		width: auto;
		margin: 0 0 1vh;
		padding: 0;
		text-align: center;
	}
	
	#feeding-machine #contents .summary .inner .txt {
		width: auto;
	}
	
	#feeding-machine #contents .summary .inner .txt h3 {
		margin: 0 0 2vh;
		font-size: 6vw;
		letter-spacing: var(--letter);
	}
	
	#feeding-machine #contents .summary .inner .txt p {
		margin: 0 0 4vh;
		line-height: 1.8;
	}
	
	#feeding-machine #contents .summary .inner .txt ul {
		gap: 2vh 8vw;
	}
	
	#feeding-machine #contents .summary .inner .txt ul li a {
		font-size: 4vw;
	}
	
	#feeding-machine #contents .summary .inner .txt ul li a:hover::before {
		width: calc(100% + 10px);
	}
	
	#feeding-machine #contents .summary .inner .txt ul li a::after {
		width: 10px;
		height: 10px;
	}
	
	#feeding-machine #contents .summary .inner .txt ul li a:hover::after {
		right: -5px;
	}
}



/*===============================================================

		#feeding-machine #contents .product_detail layout

===============================================================*/

#feeding-machine #contents .product_detail {
	margin: -75px 0 0;
	padding: 75px 0 60px;
}

#feeding-machine #contents .product_detail .inner .spec table thead th {
	background-color: #f7a77f;
	border-style: solid;
	border-width: 1px 1px 1px 0;
	border-color: var(--color_gray) #fff #fff transparent;
}

#feeding-machine #contents .product_detail .inner .spec table thead th:nth-of-type(1) {
	background-color: var(--color_gray);
}

#feeding-machine #contents .product_detail .inner .spec table thead th:last-of-type {
	border-right: solid 1px #f7a77f;
}

#feeding-machine #contents .product_detail .inner .spec table tbody th {
	background-color: var(--color_gray);
	border: solid 1px #fff;
	border-right: none;
}

#feeding-machine #contents .product_detail .inner .spec table tbody tr:last-of-type th {
	border-bottom: solid 1px var(--color_gray);
}


@media screen and (max-width: 768px){
	#feeding-machine #contents .product_detail {
		margin: -60px 0 0;
		padding: 60px 0 6vh;
	}
}



/*===============================================================

		#feeding-machine #contents .product_01 layout

===============================================================*/

#feeding-machine #contents .product_01 h3 {
	background: url("../../img/products/concrete2/feeding-machine/img02.jpg") center center / cover no-repeat;
}

#feeding-machine #contents .product_01 .inner .feature_with_img p.img {
	margin: -10vh 0 0 calc(50% - 50vw);
	padding: 0 0 0 1vw;
}

#feeding-machine #contents .product_01 .inner .feature_with_img p.img img {
	max-width: calc(882px / 2);
}

#feeding-machine #contents .product_01 .inner .two_column .item p.img{
	text-align: right;
}

#feeding-machine #contents .product_01 .inner .two_column .item{
	width: 38%;
}

@media screen and (max-width: 999px){
	#feeding-machine #contents .product_01 .inner .feature_with_img p.img {
		margin: -7vh 5vw 0;
	}
}



/*====================================================================================

		#trolley layout

====================================================================================*/

/*===============================================================

		#trolley header layout

===============================================================*/

#trolley header .main_img {
	background: url("../../img/products/concrete2/trolley/main_img.jpg") center center / cover no-repeat;
}


@media screen and (max-width: 768px){
	#trolley header .main_img {
		background: url("../../img/products/concrete2/trolley/main_img.jpg") center top / cover no-repeat;
	}
	
	#trolley header .main_img h2 {
		width: 80%;
		font-size: 6vw;
	}
}



/*===============================================================

		#trolley #contents .p_link layout

===============================================================*/

#trolley #contents .p_link .inner ul {
	margin: 1rem 0 0;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
	gap: 0 min(100px, 5vw);
}

#trolley #contents .p_link .inner ul li a {
	position: relative;
	display: inline-block;
	color: #fff;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.4;
}

#trolley #contents .p_link .inner ul li a::after {
	content: "";
	width: 15px;
	height: 15px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: -20px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}


@media screen and (max-width: 768px){
	#trolley #contents .p_link .inner ul {
		margin: 0;
		padding: 0 5vw 0 0;
		gap: 0 10vw;
	}
	
	#trolley #contents .p_link .inner ul li {
		
	}
	
	#trolley #contents .p_link .inner ul li a {
		font-size: 4.5vw;
	}
}



/*===============================================================

		#trolley #contents .summary layout

===============================================================*/

#trolley #contents .summary {
	margin: 40px 0 0;
	padding: 60px 0;
	background-color: var(--color_gray);
}

#trolley #contents .summary_01 {
	padding: 60px 0 20px;
}

#trolley #contents .summary_02 {
	margin: 40px 0;
	padding: 90px 0;
}

#trolley #contents .summary .inner {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
}

#trolley #contents .summary .inner p.img {
	width: 50%;
	text-align: center;
}

#trolley #contents .summary_01 .inner p.img img {
	width: 100%;
	max-width: calc(882px / 2);
}

#trolley #contents .summary_02 .inner p.img {
	width: 50vw;
	margin: 0 0 0 calc(50% - 50vw);
	padding: 0 0 0 2vw;
	text-align: right;
}

#trolley #contents .summary_02 .inner p.img img {
	width: 100%;
	max-width: calc(1132px / 2);
}

#trolley #contents .summary .inner .txt {
	width: 45%;
}

#trolley #contents .summary .inner .txt h3 {
	margin: 0 0 20px;
	color: var(--color_orange);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: var(--letter);
}

#trolley #contents .summary .inner .txt p {
	margin: 0 0 40px;
	line-height: 2.0;
	letter-spacing:0.09em;
}

#trolley #contents .summary .inner .txt ul {
	display: flex;
	flex-flow: row wrap;
	gap: 10px 40px;
}

#trolley #contents .summary .inner .txt ul li a {
	position: relative;
	display: block;
	color: var(--color_orange);
	font-size: 18px;
	font-weight: 500;
}

#trolley #contents .summary .inner .txt ul li a::before {
	content: "";
	width: calc(100% + 10px);
	border-bottom: solid 2px var(--color_orange);
	position: absolute;
	left: 0;
	bottom: -3px;
	transition: all 0.3s;
}

#trolley #contents .summary .inner .txt ul li a:hover::before {
	width: calc(100% + 15px);
}

#trolley #contents .summary .inner .txt ul li a::after {
	content: "";
    width: 15px;
    height: 15px;
    border-style: solid;
    border-width: 3px 3px 0 0;
    border-color: #fff #fff transparent transparent;
    box-sizing: border-box;
    position: absolute;
    right: -20px;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%) rotate(45deg);
    transition: all 0.3s;
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
}

#trolley #contents .summary .inner .txt ul li a:hover::after {
	right: -10px;
}


@media screen and (max-width: 768px){
	#trolley #contents .summary {
		margin: 4vh 0 0;
		padding: 4vh 0;
		background-color: var(--color_gray);
		overflow: hidden;
	}
	
	#trolley #contents .summary_01 {
		padding: 4vh 0;
	}
	
	#trolley #contents .summary_02 {
		margin: 4vh 0;
	}
	
	#trolley #contents .summary .inner {
		display: block;
	}
	
	#trolley #contents .summary .inner p.img {
		width: auto;
		margin: 0 5vw 1vh;
	}
	
	#trolley #contents .summary_02 .inner p.img {
		width: auto;
		margin: 0 0 1vh;
		padding: 0;
		text-align: center;
	}
	
	#trolley #contents .summary .inner .txt {
		width: auto;
	}
	
	#trolley #contents .summary .inner .txt h3 {
		margin: 0 0 2vh;
		font-size: 6vw;
		letter-spacing: var(--letter);
	}
	
	#trolley #contents .summary .inner .txt p {
		margin: 0 0 4vh;
		line-height: 1.8;
	}
	
	#trolley #contents .summary .inner .txt ul {
		gap: 2vh 8vw;
	}
	
	#trolley #contents .summary .inner .txt ul li a {
		font-size: 4vw;
	}
	
	#trolley #contents .summary .inner .txt ul li a:hover::before {
		width: calc(100% + 10px);
	}
	
	#trolley #contents .summary .inner .txt ul li a::after {
		width: 10px;
		height: 10px;
	}
	
	#trolley #contents .summary .inner .txt ul li a:hover::after {
		right: -5px;
	}
}



/*===============================================================

		#trolley #contents .product_detail layout

===============================================================*/

#trolley #contents .product_detail {
	margin: -75px 0 0;
	padding: 75px 0 60px;
}

#trolley #contents .product_detail .inner .spec table thead th {
	background-color: #f7a77f;
	border-style: solid;
	border-width: 1px 1px 1px 0;
	border-color: var(--color_gray) #fff #fff transparent;
}

#trolley #contents .product_detail .inner .spec table thead th:nth-of-type(1) {
	background-color: var(--color_gray);
}

#trolley #contents .product_detail .inner .spec table thead th:last-of-type {
	border-right: solid 1px #f7a77f;
}

#trolley #contents .product_detail .inner .spec table tbody th {
	background-color: var(--color_gray);
	border: solid 1px #fff;
	border-right: none;
}

#trolley #contents .product_detail .inner .spec table tbody tr:last-of-type th {
	border-bottom: solid 1px var(--color_gray);
}


@media screen and (max-width: 768px){
	#trolley #contents .product_detail {
		margin: -60px 0 0;
		padding: 60px 0 6vh;
	}
}



/*===============================================================

		#trolley #contents .product_01 layout

===============================================================*/

#trolley #contents .product_01 h3 {
	background: url("../../img/products/concrete2/trolley/img02.jpg") center center / cover no-repeat;
}

#trolley #contents .product_01 .inner .feature_with_img p.img {
	margin: -10vh 0 0 calc(50% - 50vw);
	padding: 0 0 0 1vw;
}

#trolley #contents .product_01 .inner .feature_with_img p.img img {
	max-width: calc(1050px / 2);
}


@media screen and (max-width: 999px){
	#trolley #contents .product_01 .inner .feature_with_img p.img {
		margin: -7vh 5vw 0;
	}
}



/*====================================================================================

		#demold layout

====================================================================================*/

/*===============================================================

		#demold header layout

===============================================================*/

#demold header .main_img {
	background: url("../../img/products/concrete2/demold/main_img.jpg") center center / cover no-repeat;
}


@media screen and (max-width: 768px){
	#demold header .main_img {
		background: url("../../img/products/concrete2/demold/main_img.jpg") center top / cover no-repeat;
	}
	
	#demold header .main_img h2 {
		width: 80%;
		font-size: 6vw;
	}
}



/*===============================================================

		#demold #contents .p_link layout

===============================================================*/

#demold #contents .p_link .inner ul {
	margin: 1rem 0 0;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
	gap: 0 min(100px, 5vw);
}

#demold #contents .p_link .inner ul li a {
	position: relative;
	display: inline-block;
	color: #fff;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.4;
}

#demold #contents .p_link .inner ul li a::after {
	content: "";
	width: 15px;
	height: 15px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: -20px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}


@media screen and (max-width: 768px){
	#demold #contents .p_link .inner ul {
		margin: 0;
		padding: 0 5vw 0 0;
		gap: 0 10vw;
	}
	
	#demold #contents .p_link .inner ul li {
		
	}
	
	#demold #contents .p_link .inner ul li a {
		font-size: 4.5vw;
	}
}



/*===============================================================

		#demold #contents .summary layout

===============================================================*/

#demold #contents .summary {
	margin: 40px 0 0;
	padding: 60px 0;
	background-color: var(--color_gray);
}

#demold #contents .summary_01 {
	padding: 60px 0 20px;
}

#demold #contents .summary_02 {
	margin: 40px 0;
	padding: 90px 0;
}

#demold #contents .summary .inner {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
}

#demold #contents .summary .inner p.img {
	width: 50%;
	text-align: center;
}

#demold #contents .summary_01 .inner p.img img {
	width: 100%;
	max-width: calc(882px / 2);
}

#demold #contents .summary_02 .inner p.img {
	width: 50vw;
	margin: 0 0 0 calc(50% - 50vw);
	padding: 0 0 0 2vw;
	text-align: right;
}

#demold #contents .summary_02 .inner p.img img {
	width: 100%;
	max-width: calc(1132px / 2);
}

#demold #contents .summary .inner .txt {
	width: 45%;
}

#demold #contents .summary .inner .txt h3 {
	margin: 0 0 20px;
	color: var(--color_orange);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: var(--letter);
}

#demold #contents .summary .inner .txt p {
	margin: 0 0 40px;
	line-height: 2.0;
	letter-spacing:0.09em;
}

#demold #contents .summary .inner .txt ul {
	display: flex;
	flex-flow: row wrap;
	gap: 10px 40px;
}

#demold #contents .summary .inner .txt ul li a {
	position: relative;
	display: block;
	color: var(--color_orange);
	font-size: 18px;
	font-weight: 500;
}

#demold #contents .summary .inner .txt ul li a::before {
	content: "";
	width: calc(100% + 10px);
	border-bottom: solid 2px var(--color_orange);
	position: absolute;
	left: 0;
	bottom: -3px;
	transition: all 0.3s;
}

#demold #contents .summary .inner .txt ul li a:hover::before {
	width: calc(100% + 15px);
}

#demold #contents .summary .inner .txt ul li a::after {
	content: "";
    width: 15px;
    height: 15px;
    border-style: solid;
    border-width: 3px 3px 0 0;
    border-color: #fff #fff transparent transparent;
    box-sizing: border-box;
    position: absolute;
    right: -20px;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%) rotate(45deg);
    transition: all 0.3s;
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
}

#demold #contents .summary .inner .txt ul li a:hover::after {
	right: -10px;
}


@media screen and (max-width: 768px){
	#demold #contents .summary {
		margin: 4vh 0 0;
		padding: 4vh 0;
		background-color: var(--color_gray);
		overflow: hidden;
	}
	
	#demold #contents .summary_01 {
		padding: 4vh 0;
	}
	
	#demold #contents .summary_02 {
		margin: 4vh 0;
	}
	
	#demold #contents .summary .inner {
		display: block;
	}
	
	#demold #contents .summary .inner p.img {
		width: auto;
		margin: 0 5vw 1vh;
	}
	
	#demold #contents .summary_02 .inner p.img {
		width: auto;
		margin: 0 0 1vh;
		padding: 0;
		text-align: center;
	}
	
	#demold #contents .summary .inner .txt {
		width: auto;
	}
	
	#demold #contents .summary .inner .txt h3 {
		margin: 0 0 2vh;
		font-size: 6vw;
		letter-spacing: var(--letter);
	}
	
	#demold #contents .summary .inner .txt p {
		margin: 0 0 4vh;
		line-height: 1.8;
	}
	
	#demold #contents .summary .inner .txt ul {
		gap: 2vh 8vw;
	}
	
	#demold #contents .summary .inner .txt ul li a {
		font-size: 4vw;
	}
	
	#demold #contents .summary .inner .txt ul li a:hover::before {
		width: calc(100% + 10px);
	}
	
	#demold #contents .summary .inner .txt ul li a::after {
		width: 10px;
		height: 10px;
	}
	
	#demold #contents .summary .inner .txt ul li a:hover::after {
		right: -5px;
	}
}



/*===============================================================

		#demold #contents .product_detail layout

===============================================================*/

#demold #contents .product_detail {
	margin: -75px 0 0;
	padding: 75px 0 60px;
}

#demold #contents .product_detail .inner .spec table thead th {
	background-color: #f7a77f;
	border-style: solid;
	border-width: 1px 1px 1px 0;
	border-color: var(--color_gray) #fff #fff transparent;
}

#demold #contents .product_detail .inner .spec table thead th:nth-of-type(1) {
	background-color: var(--color_gray);
}

#demold #contents .product_detail .inner .spec table thead th:last-of-type {
	border-right: solid 1px #f7a77f;
}

#demold #contents .product_detail .inner .spec table tbody th {
	background-color: var(--color_gray);
	border: solid 1px #fff;
	border-right: none;
}

#demold #contents .product_detail .inner .spec table tbody tr:last-of-type th {
	border-bottom: solid 1px var(--color_gray);
}


@media screen and (max-width: 768px){
	#demold #contents .product_detail {
		margin: -60px 0 0;
		padding: 60px 0 6vh;
	}
}



/*===============================================================

		#demold #contents .product_01 layout

===============================================================*/

#demold #contents .product_01 h3 {
	background: url("../../img/products/concrete2/demold/img02.jpg") center center / cover no-repeat;
}

#demold #contents .product_01 .inner .feature_with_img p.img {
	margin: -10vh 0 0 calc(50% - 50vw);
	padding: 0 0 0 1vw;
}

#demold #contents .product_01 .inner .feature_with_img p.img img {
	max-width: calc(882px / 2);
}


@media screen and (max-width: 999px){
	#demold #contents .product_01 .inner .feature_with_img p.img {
		margin: -7vh 5vw 0;
	}
}



/*====================================================================================

		#mixer2 layout

====================================================================================*/

/*===============================================================

		#mixer2 header layout

===============================================================*/

#mixer2 header .main_img {
	background: url("../../img/products/concrete2/mixer2/main_img.jpg") center center / cover no-repeat;
}

#mixer2 header .main_img h2 {
	width: min(480px, 34%);
}


@media screen and (max-width: 768px){
	#mixer2 header .main_img {
		background: url("../../img/products/concrete2/mixer2/main_img.jpg") center top / cover no-repeat;
	}
	
	#mixer2 header .main_img h2 {
		width: 50%;
	}
}



/*===============================================================

		#mixer2 #contents .p_link layout

===============================================================*/

#mixer2 #contents .p_link .inner ul {
	margin: 1rem 0 0;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
	gap: 0 min(100px, 5vw);
}

#mixer2 #contents .p_link .inner ul li a {
	position: relative;
	display: inline-block;
	color: #fff;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.4;
}

#mixer2 #contents .p_link .inner ul li a::after {
	content: "";
	width: 15px;
	height: 15px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: -20px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}


@media screen and (max-width: 768px){
	#mixer2 #contents .p_link .inner ul {
		margin: 0;
		padding: 0 5vw 0 0;
		gap: 0 10vw;
	}
	
	#mixer2 #contents .p_link .inner ul li {
		
	}
	
	#mixer2 #contents .p_link .inner ul li a {
		font-size: 4.5vw;
	}
}



/*===============================================================

		#mixer2 #contents .product_detail layout

===============================================================*/

#mixer2 #contents .product_detail {
	margin: -75px 0 0;
	padding: 75px 0 60px;
}

#mixer2 #contents .product_detail .inner .spec table thead th {
	background-color: #B7C4EA;
	border: solid 1px #fff;
}

#mixer2 #contents .product_detail .inner .spec table thead th:nth-of-type(1) {
	background-color: var(--color_gray);
}

#mixer2 #contents .product_detail .inner .spec table tbody th {
	background-color: var(--color_gray);
	border: solid 1px #fff;
	border-right: none;
}


@media screen and (max-width: 768px){
	#mixer2 #contents .product_detail {
		margin: -60px 0 0;
		padding: 60px 0 6vh;
	}
}



/*===============================================================

		#mixer2 #contents .product_01 layout

===============================================================*/

#mixer2 #contents .product_01 h3 {
	background: url("../../img/products/concrete2/mixer2/img01.jpg") center center / cover no-repeat;
}

#mixer2 #contents .product_01 .inner .feature_with_img p.img {
	margin: -28vh 0 0 calc(50% - 48vw);
	padding: 0 0 0 1vw;
}

#mixer2 #contents .product_01 .inner .feature_with_img p.img img {
	max-width: calc(1068px / 2);
}


@media screen and (max-width: 999px){
	#mixer2 #contents .product_01 .inner .feature_with_img p.img {
		margin: -12vh 0 0;
	}
}


@media screen and (max-width: 768px){
	#mixer2 #contents .product_01 .inner .feature_with_img p.img {
		margin: -10vh 5vw 0;
	}
}



/*===============================================================

		#mixer2 #contents .product_02 layout

===============================================================*/

#mixer2 #contents .product_02 h3 {
	background: url("../../img/products/concrete2/mixer2/img03.jpg") center center / cover no-repeat;
}

#mixer2 #contents .product_02 .inner .feature_with_img p.img {
	margin: -12vh 0 0 calc(50% - 50vw);
	padding: 0 0 0 1vw;
}

#mixer2 #contents .product_02 .inner .feature_with_img p.img img {
	max-width: calc(970px / 2);
}


@media screen and (max-width: 999px){
	#mixer2 #contents .product_02 .inner .feature_with_img p.img {
		margin: -11vh 0 0;
	}
}


@media screen and (max-width: 768px){
	#mixer2 #contents .product_02 .inner .feature_with_img p.img {
		margin: -9vh 5vw 0;
	}
}



/*===============================================================

		#mixer2 #contents .product_03 layout

===============================================================*/

#mixer2 #contents .product_03 h3 {
	background: url("../../img/products/concrete2/mixer2/img05.jpg") center center / cover no-repeat;
}

#mixer2 #contents .product_03 .inner .feature_with_img p.img {
	margin: -13vh 0 0 calc(50% - 50vw);
	padding: 0 0 0 1vw;
}

#mixer2 #contents .product_03 .inner .feature_with_img p.img img {
	max-width: calc(820px / 2);
}

#mixer2 #contents .product_03 .inner .spec table tbody tr:last-of-type td{
	padding: 10px 15px;
	text-align: left;
}
.products #contents .product_detail .inner dl.feature dd ul li.txt-spacing{
	letter-spacing: 0.075em;
}
@media screen and (max-width: 999px){
	#mixer2 #contents .product_03 .inner .feature_with_img p.img {
		margin: -11vh 0 0;
	}
}


@media screen and (max-width: 768px){
	#mixer2 #contents .product_03 .inner .feature_with_img p.img {
		margin: -9vh 5vw 0;
	}
}



/*===============================================================

		#mixer2 #contents .product_04 layout

===============================================================*/

#mixer2 #contents .product_04 h3 {
	background: url("../../img/products/concrete2/mixer2/img07.jpg") center center / cover no-repeat;
}

#mixer2 #contents .product_04 .inner .feature_with_img p.img {
	margin: -12vh 0 0 calc(50% - 50vw);
	padding: 0 0 0 1vw;
}

#mixer2 #contents .product_04 .inner .feature_with_img p.img img {
	max-width: calc(970px / 2);
}


@media screen and (max-width: 999px){
	#mixer2 #contents .product_04 .inner .feature_with_img p.img {
		margin: -11vh 0 0;
	}
}


@media screen and (max-width: 768px){
	#mixer2 #contents .product_04 .inner .feature_with_img p.img {
		margin: -9vh 5vw 0;
	}
}



/*====================================================================================

		#carbonization layout

====================================================================================*/

/*===============================================================

		#carbonization header layout

===============================================================*/

#carbonization header .main_img {
	background: url("../../img/products/environment/carbonization/main_img.jpg") center center / cover no-repeat;
}

#carbonization header .main_img h2 {
	width: min(1180px, 94%);
	padding: 7px 0 0 min(90px, 6%);
	display: block;
}

#carbonization header .main_img h2 .sub {
	display: inline-block;
}

#carbonization header .main_img h2 .en {
	display: block;
}


@media screen and (max-width: 1140px){
	#carbonization header .main_img h2 {
		padding: 7px 0 0 min(90px, 6%);
		font-size: min(40px, 4vw);
	}
	
	#carbonization header .main_img h2 br {
		display: none;
	}
	
	#carbonization header .main_img h2 span {
		font-size: min(20px, 2vw);
	}
	
	#carbonization header .main_img h2 .sub {
		display: block;
	}
}

@media screen and (max-width: 950px){
	#carbonization header .main_img h2 {
		padding: 12px 0 0 min(90px, 6%);
	}
}


@media screen and (max-width: 768px){
	#carbonization header .main_img {
		background: url("../../img/products/environment/carbonization/main_img.jpg") center top / cover no-repeat;
	}
	
	#carbonization header .main_img h2 {
		padding: 1vh 2vw 1vh 4vw;
		font-size: 6vw;
		line-height: 1.2;
	}
	
	header .main_img h2 span {
		font-size: 3vw;
		transform: translateY(-0.5vh);
		line-height: 1.5;
	}
	
	#carbonization header .main_img h2 .sub {
		font-size: 4vw;
		display: inline-block;
	}
}



/*===============================================================

		#carbonization #contents .p_link layout

===============================================================*/

#carbonization #contents .p_link {
	position: relative;
}

#carbonization #contents .p_link .inner {
	display: block;
}

#carbonization #contents .p_link .inner dl {
	text-align: center;
}

#carbonization #contents .p_link .inner dl dt {
	color: #fff;
	font-size: 26px;
	font-weight: 700;
}

#carbonization #contents .p_link .inner dl dd {
	display: inline-block;
}

#carbonization #contents .p_link .inner dl dd:first-of-type {
	margin-right: 40px;
}

#carbonization #contents .p_link .inner dl dd a {
	position: relative;
	display: inline-block;
	font-size: 18px;
	font-weight: 500;
}

#carbonization #contents .p_link .inner dl dd a::after {
	content: "";
	width: 10px;
	height: 10px;
	border-style: solid;
	border-width: 2px 2px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: -15px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}


@media screen and (max-width: 768px){
	#carbonization #contents .p_link::after {
		display: none;
	}
	
	#carbonization #contents .p_link .inner {
		width: 100%;
		padding: 2vh 0 0;
	}
	
	#carbonization #contents .p_link .inner dl dt {
		font-size: 4.5vw;
	}
	
	#carbonization #contents .p_link .inner dl dd:first-of-type {
		margin-right: 10vw;
	}
	
	#carbonization #contents .p_link .inner dl dd a {
		font-size: 3.8vw;
	}
}



/*===============================================================

		#carbonization #contents .iag_flow layout

===============================================================*/

#carbonization #contents .iag_flow {
	padding: 40px 0 70px;
	background-color: var(--color_gray);
}

#carbonization #contents .iag_flow h3 {
	margin: 0 0 20px;
	text-align: center;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: var(--letter);
}

#carbonization #contents .iag_flow ul {
	padding: 15px 0;
	background-color: var(--color_orange);
	display: flex;
}

#carbonization #contents .iag_flow ul li {
	width: calc(100% / 3);
	text-align: center;
}

#carbonization #contents .iag_flow ul li a {
	padding: 5px 0;
	display: block;
	position: relative;
	color: #fff;
	font-size: 20px;
	font-weight: 500;
}

#carbonization #contents .iag_flow ul li:not(:last-child) a {
	border-right: solid 1px #fff;
}
/*
#carbonization #contents .iag_flow ul li a:hover {
	padding: 5px 0 5px 10px;
}
*/
#carbonization #contents .iag_flow ul li a::after {
	content: "";
	width: 12px;
	height: 12px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: 40px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}

#carbonization #contents .iag_flow ul li a:hover::after {
	right: 35px;
}


@media screen and (max-width: 768px){
	#hina #contents .hina {
		padding: 0 5vw 8vh;
	}
	
	#hina #contents .hina .inner h3 {
		margin: 0 0 4vh;
		font-size: 6vw;
		letter-spacing: var(--letter);
	}
	
	#carbonization #contents .iag_flow ul {
		padding: 0 2vw;
		display: block;
	}
	
	#carbonization #contents .iag_flow ul li {
		width: auto;
		text-align: center;
	}
	
	#carbonization #contents .iag_flow ul li a {
		padding: 1vh 0;
		font-size: 4vw;
	}
	
	#carbonization #contents .iag_flow ul li:not(:last-child) a {
		border-right: none;
		border-bottom: solid 1px #fff;
	}
	
	#carbonization #contents .iag_flow ul li a::after {
		right: 5%;
	}
	
	#carbonization #contents .iag_flow ul li a:hover::after {
		right: 5%;
	}
}



/*===============================================================

		#carbonization #contents .pellet layout

===============================================================*/

#carbonization #contents .pellet {
	margin: -75px 0 0;
	padding: 75px 0 0;
}

#carbonization #contents .pellet .inner {
	padding: 50px 40px 0px;
}

#carbonization #contents .pellet .inner .box {
	margin: 0 0 80px;
	padding: 0 60px;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}

#carbonization #contents .pellet .inner .box p.img {
	width: 40%;
}

#carbonization #contents .pellet .inner .box .txt {
	width: 55%;
	padding: 80px 0 0;
}

#carbonization #contents .pellet .inner .box .txt h3 {
	margin: 0 0 20px;
	color: var(--color_orange);
	font-size: 30px;
	font-weight: 700;
}

#carbonization #contents .pellet .inner dl.feature {
	width: 90%;
	margin: 0 auto;
	padding: 0 0 0 10%;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	line-height: 2.0;
}

#carbonization #contents .pellet .inner dl.feature dt {
	width: 100%;
	margin: 0 0 40px;
	position: relative;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.2em;
}

#carbonization #contents .pellet .inner dl.feature dt::after {
	content: "";
	width: 30px;
	height: 3px;
	background-color: var(--color_orange);
	position: absolute;
	left: 0;
	bottom: -20px;
}
#carbonization #contents .pellet .inner dl.feature div {
	width: 50%;
	padding-left: 1em;
}

#carbonization #contents .pellet .inner dl.feature dd {
	margin: 0 0 10px;
	padding-left: 0.5rem;
	text-indent: -0.5rem;
	line-height: 1.5;
}


@media screen and (max-width: 768px){
	#carbonization #contents .pellet {
		margin: -60px 0 0;
		padding: 60px 0 0;
	}
	
	#carbonization #contents .pellet .inner {
		padding: 6vh 5vw;
	}
	
	#carbonization #contents .pellet .inner .box {
		margin: 0 0 6vh;
		padding: 0;
		display: block;
	}
	
	#carbonization #contents .pellet .inner .box p.img {
		width: 80%;
		margin: 0 auto 4vh;
	}
	
	#carbonization #contents .pellet .inner .box .txt {
		width: auto;
		padding: 0;
	}
	
	#carbonization #contents .pellet .inner .box .txt h3 {
		margin: 0 0 2vh;
		font-size: 6vw;
	}
	
	#carbonization #contents .pellet .inner dl.feature {
		width: auto;
		padding: 0;
		display: block;
	}
	
	#carbonization #contents .pellet .inner dl.feature dt {
		margin: 0 0 4vh;
		font-size: 4vw;
		letter-spacing: var(--letter);
	}
	
	#carbonization #contents .pellet .inner dl.feature dt::after {
		bottom: -2vh;
	}
	#carbonization #contents .pellet .inner dl.feature div {
		width: auto;
		padding-left: 0;
	}
	
	#carbonization #contents .pellet .inner dl.feature dd {
		margin: 0 0 1vh;
	}
}



/*===============================================================

		#carbonization #contents .example layout

===============================================================*/

#carbonization #contents .example {
	padding: 0px 0 90px;
	background-color: #B7C4EA;
}

#carbonization #contents .example .inner h3 {
	margin: 0 0 30px;
	text-align: center;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: 0.2em;
}

#carbonization #contents .example .inner ul {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	gap: 60px min(100px, 5%);
}

#carbonization #contents .example .inner ul li {
	width: min(350px, 38%);
	text-align: center;
	font-size: min(15px, 1.5vw);
}

#carbonization #contents .example .inner ul li span {
	margin: 0 0 10px;
	display: inline-block;
}


@media screen and (max-width: 768px){
	#carbonization #contents .example {
		padding: 6vh 0;
	}
	
	#carbonization #contents .example .inner h3 {
		margin: 0 0 4vh;
		font-size: 6vw;
		letter-spacing: var(--letter);
	}
	
	#carbonization #contents .example .inner ul {
		gap: 3vh 3%;
	}
	
	#carbonization #contents .example .inner ul li {
		width: 30%;
		font-size: 3.4vw;
		line-height: 1.3;
	}
	
	#carbonization #contents .example .inner ul li span {
		margin: 0 0 1vh;
	}
}



/*===============================================================

		#carbonization #contents .flow layout

===============================================================*/

#carbonization #contents .flow {
	padding: 70px 0 1px;
	background-color: #B7C4EA;
}

#carbonization #contents .flow .inner h3 {
	margin: 0 0 40px;
	text-align: center;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2em;
}

#carbonization #contents .flow .inner h3 span {
	display: block;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: var(--letter);
}


#carbonization #contents .flow .inner ol {
	margin: 0 0 90px;
	display: flex;
	flex-flow: row wrap;
}

#carbonization #contents .flow .inner ol li {
	width: calc(100% / 5);
	height: 146px;
	padding-left: 2rem;
	background-color: #6782D4;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	color: #fff;
	font-size: min(24px, 2vw);
	font-weight: 700;
	line-height: 1.3;
}

#carbonization #contents .flow .inner ol li:nth-child(1) {
	flex-flow: column wrap;
	align-items: flex-start;
}

#carbonization #contents .flow .inner ol li:nth-child(2),
#carbonization #contents .flow .inner ol li:nth-child(3),
#carbonization #contents .flow .inner ol li:nth-child(4) {
	background-color: #294395;
	text-align: center;
}


#carbonization #contents .flow .inner ol li:nth-child(1)::after{
	content: "";
	width: 56px;
	height: 100%;
	background: url("../../img/products/environment/carbonization/arrow_02.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -35px;
	top: 0;
	z-index: 1;
}
#carbonization #contents .flow .inner ol li:nth-child(2)::after {
	content: "";
	width: 56px;
	height: 100%;
	background: url("../../img/products/environment/carbonization/arrow_07.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -35px;
	top: 0;
	z-index: 1;
}

#carbonization #contents .flow .inner ol li:nth-child(3)::after {
	content: "";
	width: 55px;
	height: 100%;
	background: url("../../img/products/environment/carbonization/arrow_07.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -35px;
	top: 0;
	z-index: 1;
}

#carbonization #contents .flow .inner ol li:nth-child(4)::after {
	content: "";
	width: 55px;
	height: 100%;
	background: url("../../img/products/environment/carbonization/arrow_03.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -35px;
	top: 0;
	z-index: 1;
}

#carbonization #contents .flow .inner ol li span {
	position: relative;
	z-index: 2;
}

#carbonization #contents .flow .inner ol li:nth-child(1) span:last-of-type {
	margin: 5px 0 0;
	display: inline-block;
	font-size: min(20px, 1.5vw);
}


#carbonization #contents .flow .inner .box {
	margin: 0 0 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0 10px;
}

#carbonization #contents .flow .inner .box dl {
	display: flex;
	font-size: min(24px, 2vw);
	font-weight: 700;
}

#carbonization #contents .flow .inner .box dl dt {
	padding: 5px min(50px, 4vw);
	background-color: #294395;
	color: #fff;
}

#carbonization #contents .flow .inner .box dl dd {
	padding: 5px min(50px, 4vw);
	background-color: var(--color_gray);
}


@media screen and (max-width: 768px){
	#carbonization #contents .flow {
		padding: 6vh 0;
	}
	
	#carbonization #contents .flow .inner h3 {
		margin: 0 0 4vh;
		font-size: 3.7vw;
		letter-spacing: var(--letter);
	}
	
	#carbonization #contents .flow .inner h3 span {
		font-size: 6vw;
	}
	
	#carbonization #contents .flow .inner ol {
		margin: 0 0 5vh;
		display: flex;
		flex-flow: row wrap;
		gap: 1vh 0;
	}
	
	#carbonization #contents .flow .inner ol li {
		width: calc(100% / 2);
		padding-left: 2vw;
		height: 10vh;
		font-size: 4vw;
		line-height: 1.4;
	}
	
	#carbonization #contents .flow .inner ol li:nth-child(1) {
		flex-flow: row wrap;
		align-items: center;
	}
	
	#carbonization #contents .flow .inner ol li:nth-child(2),
	#carbonization #contents .flow .inner ol li:nth-child(4) {
		transform: translateX(-2vw);
	}
	
	#carbonization #contents .flow .inner ol li:nth-child(5) {
		width: 100%;
		padding: 0;
	}
	
	
	#carbonization #contents .flow .inner ol li:nth-child(1)::after {
		width: 4vw;
		background: url("../../img/products/environment/carbonization/arrow_02.png") left top / 100% 100% no-repeat;
		right: -1.9vw;
	}
	
	#carbonization #contents .flow .inner ol li:nth-child(2)::after {
		width: 4vw;
		background: url("../../img/products/environment/carbonization/arrow_05.png") left top / 100% 100% no-repeat;
		right: -3.9vw;
	}
	
	#carbonization #contents .flow .inner ol li:nth-child(3)::after {
		width: 4vw;
		background: url("../../img/products/environment/carbonization/arrow_07.png") left top / 100% 100% no-repeat;
		right: -1.9vw;
	}
	
	#carbonization #contents .flow .inner ol li:nth-child(4)::after {
		width: 4vw;
		background: url("../../img/products/environment/carbonization/arrow_05.png") left top / 100% 100% no-repeat;
		right: -3.9vw;
	}
	
	#carbonization #contents .flow .inner ol li:nth-child(3)::before{
		content: "";
		width: 4vw;
		height: 100%;
		background: url("../../img/products/environment/carbonization/arrow_08.png") left top / 100% 100% no-repeat;
		position: absolute;
		left: 0;
		top: 0;
		z-index: 1;
	}
	#carbonization #contents .flow .inner ol li:nth-child(5)::before {
		content: "";
		width: 4vw;
		height: 100%;
		background: url("../../img/products/environment/carbonization/arrow_06.png") left top / 100% 100% no-repeat;
		position: absolute;
		left: 0;
		top: 0;
		z-index: 1;
	}
	
	#carbonization #contents .flow .inner ol li span {
		position: relative;
		z-index: 2;
	}
	
	#carbonization #contents .flow .inner ol li:nth-child(1) span:last-of-type {
		margin: 0 0 0 2vw;
		font-size: 3vw;
	}
	
	
	#carbonization #contents .flow .inner .box {
		margin: 0;
		flex-flow: row wrap;
		gap: 2vh 0;
	}
	
	#carbonization #contents .flow .inner .box dl {
		width: 100%;
		display: flex;
		font-size: 4vw;
		font-weight: 700;
	}
	
	#carbonization #contents .flow .inner .box dl dt {
		padding: 5px 4vw;
	}
	
	#carbonization #contents .flow .inner .box dl dd {
		padding: 5px 2vw;
	}
}



/*===============================================================

		#carbonization #contents .product_detail layout

===============================================================*/

#carbonization #contents .product_detail#product_02 {
	margin: -75px 0 0;
	padding: 75px 0 90px;
}

#carbonization #contents .product_detail h3 {
	background: url("../../img/products/environment/carbonization/img14.jpg") center center / cover no-repeat;
}

#carbonization #contents .product_detail .inner .feature_with_img p.img img {
	max-width: calc(1014px / 2 + 20px);
	padding: 0 0 0 20px;
}

#carbonization #contents .product_detail .inner .spec table thead th:first-of-type {
	border-left: solid 1px var(--color_gray);
}

#carbonization #contents .product_detail .inner .spec table thead th:last-of-type {
	border-right: solid 1px var(--color_gray);
}

#carbonization #contents .product_detail .inner ul.img_list {
	margin: 60px 10% 40px;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	gap: 20px;
}

#carbonization #contents .product_detail .inner ul.img_list li {
	width: calc(50% - 10px);
	display: flex;
	flex-flow: column wrap;
	justify-content: center;
	align-items: center;
}

#carbonization #contents .product_detail .inner ul.img_list li:nth-child(1) img,
#carbonization #contents .product_detail .inner ul.img_list li:nth-child(2) img {
	max-width: calc(725px / 2);
}

#carbonization #contents .product_detail .inner ul.img_list li:nth-child(3) img,
#carbonization #contents .product_detail .inner ul.img_list li:nth-child(4) img {
	max-width: calc(610px / 2);
}

#carbonization #contents .product_detail .inner ul.img_list li span {
	margin: 10px 0 0;
	display: block;
}


@media screen and (max-width: 768px){
	#carbonization #contents .product_detail#product_02 {
		margin: -60 0 0;
		padding: 60 0 8vh;
	}
	
	#carbonization #contents .product_detail .inner .feature_with_img p.img img {
		max-width: calc(1014px / 2);
		padding: 0;
	}
	
	#carbonization #contents .product_detail .inner ul.img_list {
		margin: 6vh 0;
		justify-content: space-between;
		gap: 2vh 0;
	}
	
	#carbonization #contents .product_detail .inner ul.img_list li {
		width: calc(50% - 1vw);
		display: flex;
		flex-flow: column wrap;
		justify-content: center;
		align-items: center;
	}
	
	#carbonization #contents .product_detail .inner ul.img_list li:nth-child(1) img,
	#carbonization #contents .product_detail .inner ul.img_list li:nth-child(2) img,
	#carbonization #contents .product_detail .inner ul.img_list li:nth-child(3) img,
	#carbonization #contents .product_detail .inner ul.img_list li:nth-child(4) img {
		max-width: 100%;
	}
	
	#carbonization #contents .product_detail .inner ul.img_list li span {
		margin: 10px 0 0;
		display: block;
	}
}


/*====================================================================================

		#composting-system layout

====================================================================================*/

/*===============================================================

		#composting-system header layout

===============================================================*/

#composting-system header .main_img {
	background: url("../../img/products/environment/composting-system/main_img.jpg") center center / cover no-repeat;
}

#composting-system header .main_img h2 {
	width: min(1180px, 94%);
	padding: 7px 0 0 min(90px, 6%);
	display: block;
}

#composting-system header .main_img h2 .sub {
	display: inline-block;
}

#composting-system header .main_img h2 .en {
	display: block;
}


@media screen and (max-width: 1140px){
	#composting-system header .main_img h2 {
		padding: 7px 0 0 min(90px, 6%);
		font-size: min(40px, 4vw);
	}
	
	#composting-system header .main_img h2 br {
		display: none;
	}
	
	#composting-system header .main_img h2 span {
		font-size: min(20px, 2vw);
	}
	
	#composting-system header .main_img h2 .sub {
		display: block;
	}
}

@media screen and (max-width: 950px){
	#composting-system header .main_img h2 {
		padding: 12px 0 0 min(90px, 6%);
	}
}


@media screen and (max-width: 768px){
	#composting-system header .main_img {
		background: url("../../img/products/environment/composting-system/main_img.jpg") center top / cover no-repeat;
	}
	
	#composting-system header .main_img h2 {
		padding: 1vh 2vw 1vh 4vw;
		font-size: 6vw;
		line-height: 1.2;
	}
	
	header .main_img h2 span {
		font-size: 3vw;
		transform: translateY(-0.5vh);
		line-height: 1.5;
	}
	
	#composting-system header .main_img h2 .sub {
		font-size: 4vw;
		display: inline-block;
	}
}



/*===============================================================

		#composting-system #contents .p_link layout

===============================================================*/

#composting-system #contents .p_link {
	position: relative;
}

#composting-system #contents .p_link .inner {
	display: block;
}

#composting-system #contents .p_link .inner dl {
	text-align: center;
}

#composting-system #contents .p_link .inner dl dt {
	color: #fff;
	font-size: 26px;
	font-weight: 700;
}

#composting-system #contents .p_link .inner dl dd {
	display: inline-block;
}

#composting-system #contents .p_link .inner dl dd:first-of-type {
	margin-right: 40px;
}

#composting-system #contents .p_link .inner dl dd a {
	position: relative;
	display: inline-block;
	font-size: 18px;
	font-weight: 500;
}

#composting-system #contents .p_link .inner dl dd a::after {
	content: "";
	width: 10px;
	height: 10px;
	border-style: solid;
	border-width: 2px 2px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: -15px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}


@media screen and (max-width: 768px){
	#composting-system #contents .p_link::after {
		display: none;
	}
	
	#composting-system #contents .p_link .inner {
		width: 100%;
		padding: 2vh 0 0;
	}
	
	#composting-system #contents .p_link .inner dl dt {
		font-size: 4.5vw;
	}
	
	#composting-system #contents .p_link .inner dl dd:first-of-type {
		margin-right: 10vw;
	}
	
	#composting-system #contents .p_link .inner dl dd a {
		font-size: 3.8vw;
	}
}



/*===============================================================

		#composting-system #contents .iag_flow layout

===============================================================*/

#composting-system #contents .iag_flow {
	padding: 40px 0 70px;
	background-color: var(--color_gray);
}

#composting-system #contents .iag_flow h3 {
	margin: 0 0 20px;
	text-align: center;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: var(--letter);
}

#composting-system #contents .iag_flow ul {
	padding: 15px 0;
	background-color: var(--color_orange);
	display: flex;

}

#composting-system #contents .iag_flow ul li {
	width: calc(100% / 3);
	text-align: center;
}

#composting-system #contents .iag_flow ul li a {
	padding: 5px 0;
	display: block;
	position: relative;
	color: #fff;
	font-size: 20px;
	font-weight: 500;
}

#composting-system #contents .iag_flow ul li:not(:last-child) a {
	border-right: solid 1px #fff;
}
/*
#composting-system #contents .iag_flow ul li a:hover {
	padding: 5px 0 5px 10px;
}
*/
#composting-system #contents .iag_flow ul li a::after {
	content: "";
	width: 12px;
	height: 12px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: 40px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}

#composting-system #contents .iag_flow ul li a:hover::after {
	right: 35px;
}


@media screen and (max-width: 768px){
	#hina #contents .hina {
		padding: 0 5vw 8vh;
	}
	
	#hina #contents .hina .inner h3 {
		margin: 0 0 4vh;
		font-size: 6vw;
		letter-spacing: var(--letter);
	}
	
	#composting-system #contents .iag_flow ul {
		padding: 0 2vw;
		display: block;
	}
	
	#composting-system #contents .iag_flow ul li {
		width: auto;
		text-align: center;
	}
	
	#composting-system #contents .iag_flow ul li a {
		padding: 1vh 0;
		font-size: 4vw;
	}
	
	#composting-system #contents .iag_flow ul li:not(:last-child) a {
		border-right: none;
		border-bottom: solid 1px #fff;
	}
	
	#composting-system #contents .iag_flow ul li a::after {
		right: 5%;
	}
	
	#composting-system #contents .iag_flow ul li a:hover::after {
		right: 5%;
	}
}



/*===============================================================

		#composting-system #contents .pellet layout

===============================================================*/

#composting-system #contents .pellet {
	margin: -75px 0 0;
	padding: 75px 0 0;
}

#composting-system #contents .pellet .inner {
	padding: 50px 40px 130px;
}

#composting-system #contents .pellet .inner .box {
	margin: 0 0 80px;
	padding: 0 60px;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}

#composting-system #contents .pellet .inner .box p.img {
	width: 40%;
}

#composting-system #contents .pellet .inner .box .txt {
	width: 55%;
	padding: 80px 0 0;
}

#composting-system #contents .pellet .inner .box .txt h3 {
	margin: 0 0 20px;
	color: var(--color_orange);
	font-size: 30px;
	font-weight: 700;
}

#composting-system #contents .pellet .inner dl.feature {
	width: 90%;
	margin: 0 auto;
	padding: 0 0 0 10%;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	line-height: 2.0;
}

#composting-system #contents .pellet .inner dl.feature dt {
	width: 100%;
	margin: 0 0 40px;
	position: relative;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.2em;
}

#composting-system #contents .pellet .inner dl.feature dt::after {
	content: "";
	width: 30px;
	height: 3px;
	background-color: var(--color_orange);
	position: absolute;
	left: 0;
	bottom: -20px;
}
#composting-system #contents .pellet .inner dl.feature div {
	width: 50%;
	padding-left: 1em;
}

#composting-system #contents .pellet .inner dl.feature dd {
	margin: 0 0 10px;
	padding-left: 0.5rem;
	text-indent: -0.5rem;
	line-height: 1.5;
}


@media screen and (max-width: 768px){
	#composting-system #contents .pellet {
		margin: -60px 0 0;
		padding: 60px 0 0;
	}
	
	#composting-system #contents .pellet .inner {
		padding: 6vh 5vw;
	}
	
	#composting-system #contents .pellet .inner .box {
		margin: 0 0 6vh;
		padding: 0;
		display: block;
	}
	
	#composting-system #contents .pellet .inner .box p.img {
		width: 80%;
		margin: 0 auto 4vh;
	}
	
	#composting-system #contents .pellet .inner .box .txt {
		width: auto;
		padding: 0;
	}
	
	#composting-system #contents .pellet .inner .box .txt h3 {
		margin: 0 0 2vh;
		font-size: 6vw;
	}
	
	#composting-system #contents .pellet .inner dl.feature {
		width: auto;
		padding: 0;
		display: block;
	}
	
	#composting-system #contents .pellet .inner dl.feature dt {
		margin: 0 0 4vh;
		font-size: 4vw;
		letter-spacing: var(--letter);
	}
	
	#composting-system #contents .pellet .inner dl.feature dt::after {
		bottom: -2vh;
	}
	#composting-system #contents .pellet .inner dl.feature div {
		width: auto;
		padding-left: 0;
	}
	
	#composting-system #contents .pellet .inner dl.feature dd {
		margin: 0 0 1vh;
	}
}



/*===============================================================

		#composting-system #contents .example layout

===============================================================*/

#composting-system #contents .example {
	padding: 80px 0 90px;
	background-color: var(--color_gray);
}

#composting-system #contents .example .inner h3 {
	margin: 0 0 80px;
	text-align: center;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: 0.2em;
}

#composting-system #contents .example .inner ul {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	gap: 60px min(100px, 5%);
}

#composting-system #contents .example .inner ul li {
	width: min(190px, 18%);
	text-align: center;
	font-size: min(15px, 1.5vw);
}

#composting-system #contents .example .inner ul li span {
	margin: 0 0 10px;
	display: inline-block;
}


@media screen and (max-width: 768px){
	#composting-system #contents .example {
		padding: 6vh 0;
	}
	
	#composting-system #contents .example .inner h3 {
		margin: 0 0 4vh;
		font-size: 6vw;
		letter-spacing: var(--letter);
	}
	
	#composting-system #contents .example .inner ul {
		gap: 3vh 3%;
	}
	
	#composting-system #contents .example .inner ul li {
		width: 30%;
		font-size: 3.4vw;
		line-height: 1.3;
	}
	
	#composting-system #contents .example .inner ul li span {
		margin: 0 0 1vh;
	}
}



/*===============================================================

		#composting-system #contents .flow layout

===============================================================*/

#composting-system #contents .flow {
	padding: 70px 0 60px;
	background-color: #B7C4EA;
}

#composting-system #contents .flow .inner h3 {
	margin: 0 0 40px;
	text-align: center;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2em;
}

#composting-system #contents .flow .inner h3 span {
	display: block;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: var(--letter);
}


#composting-system #contents .flow .inner ol {
	margin: 0 0 90px;
	display: flex;
	flex-flow: row wrap;
}

#composting-system #contents .flow .inner ol li {
	width: calc(100% / 5);
	height: 146px;
	padding-left: 2rem;
	background-color: #6782D4;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	color: #fff;
	font-size: min(24px, 2vw);
	font-weight: 700;
	line-height: 1.3;
}

#composting-system #contents .flow .inner ol li:nth-child(1) {
	flex-flow: column wrap;
	align-items: flex-start;
}

#composting-system #contents .flow .inner ol li:nth-child(2),
#composting-system #contents .flow .inner ol li:nth-child(3),
#composting-system #contents .flow .inner ol li:nth-child(4) {
	background-color: #294395;
	text-align: center;
}


#composting-system #contents .flow .inner ol li:nth-child(1)::after{
	content: "";
	width: 56px;
	height: 100%;
	background: url("../../img/products/environment/composting-system/arrow_02.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -35px;
	top: 0;
	z-index: 1;
}
#composting-system #contents .flow .inner ol li:nth-child(2)::after {
	content: "";
	width: 56px;
	height: 100%;
	background: url("../../img/products/environment/composting-system/arrow_07.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -35px;
	top: 0;
	z-index: 1;
}

#composting-system #contents .flow .inner ol li:nth-child(3)::after {
	content: "";
	width: 55px;
	height: 100%;
	background: url("../../img/products/environment/composting-system/arrow_07.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -35px;
	top: 0;
	z-index: 1;
}

#composting-system #contents .flow .inner ol li:nth-child(4)::after {
	content: "";
	width: 55px;
	height: 100%;
	background: url("../../img/products/environment/composting-system/arrow_03.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -35px;
	top: 0;
	z-index: 1;
}

#composting-system #contents .flow .inner ol li span {
	position: relative;
	z-index: 2;
}

#composting-system #contents .flow .inner ol li:nth-child(1) span:last-of-type {
	margin: 5px 0 0;
	display: inline-block;
	font-size: min(20px, 1.5vw);
}


#composting-system #contents .flow .inner .box {
	margin: 0 0 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0 10px;
}

#composting-system #contents .flow .inner .box dl {
	display: flex;
	font-size: min(24px, 2vw);
	font-weight: 700;
}

#composting-system #contents .flow .inner .box dl dt {
	padding: 5px min(50px, 4vw);
	background-color: #294395;
	color: #fff;
}

#composting-system #contents .flow .inner .box dl dd {
	padding: 5px min(50px, 4vw);
	background-color: var(--color_gray);
}


@media screen and (max-width: 768px){
	#composting-system #contents .flow {
		padding: 6vh 0;
	}
	
	#composting-system #contents .flow .inner h3 {
		margin: 0 0 4vh;
		font-size: 3.7vw;
		letter-spacing: var(--letter);
	}
	
	#composting-system #contents .flow .inner h3 span {
		font-size: 6vw;
	}
	
	#composting-system #contents .flow .inner ol {
		margin: 0 0 5vh;
		display: flex;
		flex-flow: row wrap;
		gap: 1vh 0;
	}
	
	#composting-system #contents .flow .inner ol li {
		width: calc(100% / 2);
		padding-left: 2vw;
		height: 10vh;
		font-size: 4vw;
		line-height: 1.4;
	}
	
	#composting-system #contents .flow .inner ol li:nth-child(1) {
		flex-flow: row wrap;
		align-items: center;
	}
	
	#composting-system #contents .flow .inner ol li:nth-child(2),
	#composting-system #contents .flow .inner ol li:nth-child(4) {
		transform: translateX(-2vw);
	}
	
	#composting-system #contents .flow .inner ol li:nth-child(5) {
		width: 100%;
		padding: 0;
	}
	
	
	#composting-system #contents .flow .inner ol li:nth-child(1)::after {
		width: 4vw;
		background: url("../../img/products/environment/composting-system/arrow_02.png") left top / 100% 100% no-repeat;
		right: -1.9vw;
	}
	
	#composting-system #contents .flow .inner ol li:nth-child(2)::after {
		width: 4vw;
		background: url("../../img/products/environment/composting-system/arrow_05.png") left top / 100% 100% no-repeat;
		right: -3.9vw;
	}
	
	#composting-system #contents .flow .inner ol li:nth-child(3)::after {
		width: 4vw;
		background: url("../../img/products/environment/composting-system/arrow_07.png") left top / 100% 100% no-repeat;
		right: -1.9vw;
	}
	
	#composting-system #contents .flow .inner ol li:nth-child(4)::after {
		width: 4vw;
		background: url("../../img/products/environment/composting-system/arrow_05.png") left top / 100% 100% no-repeat;
		right: -3.9vw;
	}
	
	#composting-system #contents .flow .inner ol li:nth-child(3)::before{
		content: "";
		width: 4vw;
		height: 100%;
		background: url("../../img/products/environment/composting-system/arrow_08.png") left top / 100% 100% no-repeat;
		position: absolute;
		left: 0;
		top: 0;
		z-index: 1;
	}
	#composting-system #contents .flow .inner ol li:nth-child(5)::before {
		content: "";
		width: 4vw;
		height: 100%;
		background: url("../../img/products/environment/composting-system/arrow_06.png") left top / 100% 100% no-repeat;
		position: absolute;
		left: 0;
		top: 0;
		z-index: 1;
	}
	
	#composting-system #contents .flow .inner ol li span {
		position: relative;
		z-index: 2;
	}
	
	#composting-system #contents .flow .inner ol li:nth-child(1) span:last-of-type {
		margin: 0 0 0 2vw;
		font-size: 3vw;
	}
	
	
	#composting-system #contents .flow .inner .box {
		margin: 0;
		flex-flow: row wrap;
		gap: 2vh 0;
	}
	
	#composting-system #contents .flow .inner .box dl {
		width: 100%;
		display: flex;
		font-size: 4vw;
		font-weight: 700;
	}
	
	#composting-system #contents .flow .inner .box dl dt {
		padding: 5px 4vw;
	}
	
	#composting-system #contents .flow .inner .box dl dd {
		padding: 5px 2vw;
	}
}



/*===============================================================

		#composting-system #contents .product_detail layout

===============================================================*/

#composting-system #contents .product_detail#product_02 {
	margin: -75px 0 0;
	padding: 75px 0 90px;
}

#composting-system #contents .product_02 h3 {
	background: url("../../img/products/environment/composting-system/img02.jpg") center center / cover no-repeat;
}

#composting-system #contents .product_03 h3 {
	background: url("../../img/products/environment/composting-system/img07.jpg") center center / cover no-repeat;
}

#composting-system #contents .product_detail .inner .feature_with_img p.img img {
	max-width: calc(1014px / 2 + 20px);
	padding: 0 0 0 20px;
}

#composting-system #contents .product_detail .inner .spec table thead th:first-of-type {
	border-left: solid 1px var(--color_gray);
}

#composting-system #contents .product_detail .inner .spec table thead th:last-of-type {
	border-right: solid 1px var(--color_gray);
}

#composting-system #contents .product_detail .inner ul.img_list {
	margin: 60px 10% 40px;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	gap: 20px;
}

#composting-system #contents .product_detail .inner ul.img_list li {
	width: calc(50% - 10px);
	display: flex;
	flex-flow: column wrap;
	justify-content: center;
	align-items: center;
}

#composting-system #contents .product_detail .inner ul.img_list li:nth-child(1) img,
#composting-system #contents .product_detail .inner ul.img_list li:nth-child(2) img {
	max-width: calc(725px / 2);
}

#composting-system #contents .product_detail .inner ul.img_list li:nth-child(3) img,
#composting-system #contents .product_detail .inner ul.img_list li:nth-child(4) img {
	max-width: calc(610px / 2);
}

#composting-system #contents .product_detail .inner ul.img_list li span {
	margin: 10px 0 0;
	display: block;
}


@media screen and (max-width: 768px){
	#composting-system #contents .product_detail#product_02 {
		margin: -60 0 0;
		padding: 60 0 8vh;
	}
	
	#composting-system #contents .product_detail .inner .feature_with_img p.img img {
		max-width: calc(1014px / 2);
		padding: 0;
	}
	
	#composting-system #contents .product_detail .inner ul.img_list {
		margin: 6vh 0;
		justify-content: space-between;
		gap: 2vh 0;
	}
	
	#composting-system #contents .product_detail .inner ul.img_list li {
		width: calc(50% - 1vw);
		display: flex;
		flex-flow: column wrap;
		justify-content: center;
		align-items: center;
	}
	
	#composting-system #contents .product_detail .inner ul.img_list li:nth-child(1) img,
	#composting-system #contents .product_detail .inner ul.img_list li:nth-child(2) img,
	#composting-system #contents .product_detail .inner ul.img_list li:nth-child(3) img,
	#composting-system #contents .product_detail .inner ul.img_list li:nth-child(4) img {
		max-width: 100%;
	}
	
	#composting-system #contents .product_detail .inner ul.img_list li span {
		margin: 10px 0 0;
		display: block;
	}
}



/*====================================================================================

		#softmixer layout

====================================================================================*/

/*===============================================================

		#softmixer header layout

===============================================================*/

#softmixer header .main_img {
	background: url("../../img/products/environment/softmixer/main_img.jpg") center center / cover no-repeat;
}

#softmixer header .main_img h2 {
	width: min(1180px, 94%);
	padding: 7px 0 0 min(90px, 6%);
	display: block;
}

#softmixer header .main_img h2 .sub {
	display: inline-block;
}

#softmixer header .main_img h2 .en {
	display: block;
}


@media screen and (max-width: 1140px){
	#softmixer header .main_img h2 {
		padding: 7px 0 0 min(90px, 6%);
		font-size: min(40px, 4vw);
	}
	
	#softmixer header .main_img h2 br {
		display: none;
	}
	
	#softmixer header .main_img h2 span {
		font-size: min(20px, 2vw);
	}
	
	#softmixer header .main_img h2 .sub {
		display: block;
	}
}

@media screen and (max-width: 950px){
	#softmixer header .main_img h2 {
		padding: 12px 0 0 min(90px, 6%);
	}
}


@media screen and (max-width: 768px){
	#softmixer header .main_img {
		background: url("../../img/products/environment/softmixer/main_img.jpg") center top / cover no-repeat;
	}
	
	#softmixer header .main_img h2 {
		padding: 1vh 2vw 1vh 4vw;
		font-size: 6vw;
		line-height: 1.2;
	}
	
	header .main_img h2 span {
		font-size: 3vw;
		transform: translateY(-0.5vh);
		line-height: 1.5;
	}
	
	#softmixer header .main_img h2 .sub {
		font-size: 4vw;
		display: inline-block;
	}
}



/*===============================================================

		#softmixer #contents .p_link layout

===============================================================*/

#softmixer #contents .p_link {
	position: relative;
}

#softmixer #contents .p_link .inner {
	display: block;
}

#softmixer #contents .p_link .inner dl {
	text-align: center;
}

#softmixer #contents .p_link .inner dl dt {
	color: #fff;
	font-size: 26px;
	font-weight: 700;
}

#softmixer #contents .p_link .inner dl dd {
	display: inline-block;
}

#softmixer #contents .p_link .inner dl dd:first-of-type {
	margin-right: 40px;
}

#softmixer #contents .p_link .inner dl dd a {
	position: relative;
	display: inline-block;
	font-size: 18px;
	font-weight: 500;
}

#softmixer #contents .p_link .inner dl dd a::after {
	content: "";
	width: 10px;
	height: 10px;
	border-style: solid;
	border-width: 2px 2px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: -15px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}


@media screen and (max-width: 768px){
	#softmixer #contents .p_link::after {
		display: none;
	}
	
	#softmixer #contents .p_link .inner {
		width: 100%;
		padding: 2vh 0 0;
	}
	
	#softmixer #contents .p_link .inner dl dt {
		font-size: 4.5vw;
	}
	
	#softmixer #contents .p_link .inner dl dd:first-of-type {
		margin-right: 10vw;
	}
	
	#softmixer #contents .p_link .inner dl dd a {
		font-size: 3.8vw;
	}
}



/*===============================================================

		#softmixer #contents .iag_flow layout

===============================================================*/

#softmixer #contents .iag_flow {
	padding: 40px 0 70px;
	background-color: var(--color_gray);
}

#softmixer #contents .iag_flow h3 {
	margin: 0 0 20px;
	text-align: center;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: var(--letter);
}

#softmixer #contents .iag_flow ul {
	padding: 15px 0;
	background-color: var(--color_orange);
	display: flex;

}

#softmixer #contents .iag_flow ul li {
	width: calc(100% / 3);
	text-align: center;
}

#softmixer #contents .iag_flow ul li a {
	padding: 5px 0;
	display: block;
	position: relative;
	color: #fff;
	font-size: 20px;
	font-weight: 500;
}

#softmixer #contents .iag_flow ul li:not(:last-child) a {
	border-right: solid 1px #fff;
}
/*
#softmixer #contents .iag_flow ul li a:hover {
	padding: 5px 0 5px 10px;
}
*/
#softmixer #contents .iag_flow ul li a::after {
	content: "";
	width: 12px;
	height: 12px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: 40px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}

#softmixer #contents .iag_flow ul li a:hover::after {
	right: 35px;
}


@media screen and (max-width: 768px){
	#hina #contents .hina {
		padding: 0 5vw 8vh;
	}
	
	#hina #contents .hina .inner h3 {
		margin: 0 0 4vh;
		font-size: 6vw;
		letter-spacing: var(--letter);
	}
	
	#softmixer #contents .iag_flow ul {
		padding: 0 2vw;
		display: block;
	}
	
	#softmixer #contents .iag_flow ul li {
		width: auto;
		text-align: center;
	}
	
	#softmixer #contents .iag_flow ul li a {
		padding: 1vh 0;
		font-size: 4vw;
	}
	
	#softmixer #contents .iag_flow ul li:not(:last-child) a {
		border-right: none;
		border-bottom: solid 1px #fff;
	}
	
	#softmixer #contents .iag_flow ul li a::after {
		right: 5%;
	}
	
	#softmixer #contents .iag_flow ul li a:hover::after {
		right: 5%;
	}
}



/*===============================================================

		#softmixer #contents .pellet layout

===============================================================*/

#softmixer #contents .pellet {
	margin: -75px 0 0;
	padding: 75px 0 0;
}

#softmixer #contents .pellet .inner {
	padding: 50px 40px 0px;
}

#softmixer #contents .pellet .inner .box {
	margin: 0 0 80px;
	padding: 0 60px;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}

#softmixer #contents .pellet .inner .box p.img {
	width: 40%;
}

#softmixer #contents .pellet .inner .box .txt {
	width: 55%;
	padding: 80px 0 0;
}

#softmixer #contents .pellet .inner .box .txt h3 {
	margin: 0 0 20px;
	color: var(--color_orange);
	font-size: 30px;
	font-weight: 700;
}

#softmixer #contents .pellet .inner dl.feature {
	width: 90%;
	margin: 0 auto;
	padding: 0 0 0 10%;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	line-height: 2.0;
}

#softmixer #contents .pellet .inner dl.feature dt {
	width: 100%;
	margin: 0 0 40px;
	position: relative;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.2em;
}

#softmixer #contents .pellet .inner dl.feature dt::after {
	content: "";
	width: 30px;
	height: 3px;
	background-color: var(--color_orange);
	position: absolute;
	left: 0;
	bottom: -20px;
}
#softmixer #contents .pellet .inner dl.feature div {
	width: 50%;
	padding-left: 1em;
}

#softmixer #contents .pellet .inner dl.feature dd {
	margin: 0 0 10px;
	padding-left: 0.5rem;
	text-indent: -0.5rem;
	line-height: 1.5;
}


@media screen and (max-width: 768px){
	#softmixer #contents .pellet {
		margin: -60px 0 0;
		padding: 60px 0 0;
	}
	
	#softmixer #contents .pellet .inner {
		padding: 6vh 5vw;
	}
	
	#softmixer #contents .pellet .inner .box {
		margin: 0 0 6vh;
		padding: 0;
		display: block;
	}
	
	#softmixer #contents .pellet .inner .box p.img {
		width: 80%;
		margin: 0 auto 4vh;
	}
	
	#softmixer #contents .pellet .inner .box .txt {
		width: auto;
		padding: 0;
	}
	
	#softmixer #contents .pellet .inner .box .txt h3 {
		margin: 0 0 2vh;
		font-size: 6vw;
	}
	
	#softmixer #contents .pellet .inner dl.feature {
		width: auto;
		padding: 0;
		display: block;
	}
	
	#softmixer #contents .pellet .inner dl.feature dt {
		margin: 0 0 4vh;
		font-size: 4vw;
		letter-spacing: var(--letter);
	}
	
	#softmixer #contents .pellet .inner dl.feature dt::after {
		bottom: -2vh;
	}
	#softmixer #contents .pellet .inner dl.feature div {
		width: auto;
		padding-left: 0;
	}
	
	#softmixer #contents .pellet .inner dl.feature dd {
		margin: 0 0 1vh;
	}
}



/*===============================================================

		#softmixer #contents .example layout

===============================================================*/

#softmixer #contents .example {
	padding: 80px 0 90px;
	background-color: var(--color_gray);
}

#softmixer #contents .example .inner h3 {
	margin: 0 0 80px;
	text-align: center;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: 0.2em;
}

#softmixer #contents .example .inner ul {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	gap: 60px min(100px, 5%);
}

#softmixer #contents .example .inner ul li {
	width: min(190px, 18%);
	text-align: center;
	font-size: min(15px, 1.5vw);
}

#softmixer #contents .example .inner ul li span {
	margin: 0 0 10px;
	display: inline-block;
}


@media screen and (max-width: 768px){
	#softmixer #contents .example {
		padding: 6vh 0;
	}
	
	#softmixer #contents .example .inner h3 {
		margin: 0 0 4vh;
		font-size: 6vw;
		letter-spacing: var(--letter);
	}
	
	#softmixer #contents .example .inner ul {
		gap: 3vh 3%;
	}
	
	#softmixer #contents .example .inner ul li {
		width: 30%;
		font-size: 3.4vw;
		line-height: 1.3;
	}
	
	#softmixer #contents .example .inner ul li span {
		margin: 0 0 1vh;
	}
}



/*===============================================================

		#softmixer #contents .flow layout

===============================================================*/

#softmixer #contents .flow {
	padding: 70px 0 60px;
	background-color: #DFE4F6;
}

#softmixer #contents .flow .inner h3 {
	margin: 0 0 40px;
	text-align: center;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2em;
}

#softmixer #contents .flow .inner h3 span {
	display: block;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: var(--letter);
}


#softmixer #contents .flow .inner ol {
	margin: 0 0 90px;
	display: flex;
	flex-flow: row wrap;
}

#softmixer #contents .flow .inner ol li {
	width: calc(100% / 5);
	height: 146px;
	padding-left: 2rem;
	background-color: #6782D4;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	color: #fff;
	font-size: min(24px, 2vw);
	font-weight: 700;
	line-height: 1.3;
}

#softmixer #contents .flow .inner ol li:nth-child(1) {
	flex-flow: column wrap;
	align-items: flex-start;
}

#softmixer #contents .flow .inner ol li:nth-child(2),
#softmixer #contents .flow .inner ol li:nth-child(3),
#softmixer #contents .flow .inner ol li:nth-child(4) {
	background-color: #294395;
	text-align: center;
}


#softmixer #contents .flow .inner ol li:nth-child(1)::after{
	content: "";
	width: 56px;
	height: 100%;
	background: url("../../img/products/environment/softmixer/arrow_02.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -35px;
	top: 0;
	z-index: 1;
}
#softmixer #contents .flow .inner ol li:nth-child(2)::after {
	content: "";
	width: 56px;
	height: 100%;
	background: url("../../img/products/environment/softmixer/arrow_07.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -35px;
	top: 0;

	z-index: 1;
}

#softmixer #contents .flow .inner ol li:nth-child(3)::after {
	content: "";
	width: 55px;
	height: 100%;
	background: url("../../img/products/environment/softmixer/arrow_07.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -35px;
	top: 0;
	z-index: 1;
}

#softmixer #contents .flow .inner ol li:nth-child(4)::after {
	content: "";
	width: 55px;
	height: 100%;
	background: url("../../img/products/environment/softmixer/arrow_03.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -35px;
	top: 0;
	z-index: 1;
}

#softmixer #contents .flow .inner ol li span {
	position: relative;
	z-index: 2;
}

#softmixer #contents .flow .inner ol li:nth-child(1) span:last-of-type {
	margin: 5px 0 0;
	display: inline-block;
	font-size: min(20px, 1.5vw);
}


#softmixer #contents .flow .inner .box {
	margin: 0 0 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0 10px;
}

#softmixer #contents .flow .inner .box dl {
	display: flex;
	font-size: min(24px, 2vw);
	font-weight: 700;
}

#softmixer #contents .flow .inner .box dl dt {
	padding: 5px min(50px, 4vw);
	background-color: #294395;
	color: #fff;
}

#softmixer #contents .flow .inner .box dl dd {
	padding: 5px min(50px, 4vw);
	background-color: var(--color_gray);
}


@media screen and (max-width: 768px){
	#softmixer #contents .flow {
		padding: 6vh 0;
	}
	
	#softmixer #contents .flow .inner h3 {
		margin: 0 0 4vh;
		font-size: 3.7vw;
		letter-spacing: var(--letter);
	}
	
	#softmixer #contents .flow .inner h3 span {
		font-size: 6vw;
	}
	
	#softmixer #contents .flow .inner ol {
		margin: 0 0 5vh;
		display: flex;
		flex-flow: row wrap;
		gap: 1vh 0;
	}
	
	#softmixer #contents .flow .inner ol li {
		width: calc(100% / 2);
		padding-left: 2vw;
		height: 10vh;
		font-size: 4vw;
		line-height: 1.4;
	}
	
	#softmixer #contents .flow .inner ol li:nth-child(1) {
		flex-flow: row wrap;
		align-items: center;
	}
	
	#softmixer #contents .flow .inner ol li:nth-child(2),
	#softmixer #contents .flow .inner ol li:nth-child(4) {
		transform: translateX(-2vw);
	}
	
	#softmixer #contents .flow .inner ol li:nth-child(5) {
		width: 100%;
		padding: 0;
	}
	
	
	#softmixer #contents .flow .inner ol li:nth-child(1)::after {
		width: 4vw;
		background: url("../../img/products/environment/softmixer/arrow_02.png") left top / 100% 100% no-repeat;
		right: -1.9vw;
	}
	
	#softmixer #contents .flow .inner ol li:nth-child(2)::after {
		width: 4vw;
		background: url("../../img/products/environment/softmixer/arrow_05.png") left top / 100% 100% no-repeat;
		right: -3.9vw;
	}
	
	#softmixer #contents .flow .inner ol li:nth-child(3)::after {
		width: 4vw;
		background: url("../../img/products/environment/softmixer/arrow_07.png") left top / 100% 100% no-repeat;
		right: -1.9vw;
	}
	
	#softmixer #contents .flow .inner ol li:nth-child(4)::after {
		width: 4vw;
		background: url("../../img/products/environment/softmixer/arrow_05.png") left top / 100% 100% no-repeat;
		right: -3.9vw;
	}
	
	#softmixer #contents .flow .inner ol li:nth-child(3)::before{
		content: "";
		width: 4vw;
		height: 100%;
		background: url("../../img/products/environment/softmixer/arrow_08.png") left top / 100% 100% no-repeat;
		position: absolute;
		left: 0;
		top: 0;
		z-index: 1;
	}
	#softmixer #contents .flow .inner ol li:nth-child(5)::before {
		content: "";
		width: 4vw;
		height: 100%;
		background: url("../../img/products/environment/softmixer/arrow_06.png") left top / 100% 100% no-repeat;
		position: absolute;
		left: 0;
		top: 0;
		z-index: 1;
	}
	
	#softmixer #contents .flow .inner ol li span {
		position: relative;
		z-index: 2;
	}
	
	#softmixer #contents .flow .inner ol li:nth-child(1) span:last-of-type {
		margin: 0 0 0 2vw;
		font-size: 3vw;
	}
	
	
	#softmixer #contents .flow .inner .box {
		margin: 0;
		flex-flow: row wrap;
		gap: 2vh 0;
	}
	
	#softmixer #contents .flow .inner .box dl {
		width: 100%;
		display: flex;
		font-size: 4vw;
		font-weight: 700;
	}
	
	#softmixer #contents .flow .inner .box dl dt {
		padding: 5px 4vw;
	}
	
	#softmixer #contents .flow .inner .box dl dd {
		padding: 5px 2vw;
	}
}



/*===============================================================

		#softmixer #contents .product_detail layout

===============================================================*/

#softmixer #contents .product_detail#product_02 {
	margin: -75px 0 0;
	padding: 75px 0 90px;
}

#softmixer #contents .product_02 h3 {
	background: url("../../img/products/environment/softmixer/img03.jpg") center center / cover no-repeat;
}

#softmixer #contents .product_03 h3 {
	background: url("../../img/products/environment/softmixer/img07.jpg") center center / cover no-repeat;
}

#softmixer #contents .product_detail .inner .feature_with_img p.img img {
	max-width: calc(714px / 2 + 20px);
	padding: 0 0 0 20px;
}

#softmixer #contents .product_detail .inner .spec table thead th:first-of-type {
	border-left: solid 1px var(--color_gray);
}

#softmixer #contents .product_detail .inner .spec table thead th:last-of-type {
	border-right: solid 1px var(--color_gray);
}

#softmixer #contents .product_detail .inner ul.img_list {
	margin: 60px 10% 40px;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	gap: 20px;
}

#softmixer .product_detail .inner ul.img_list li {
	width: calc(50% - 10px);
	display: flex;
	flex-flow: column wrap;
	justify-content: center;
	align-items: center;
}

#softmixer #contents .product_detail .inner ul.img_list li:nth-child(1) img,
#softmixer #contents .product_detail .inner ul.img_list li:nth-child(2) img {
	max-width: calc(725px / 2);
}

#softmixer #contents .product_detail .inner ul.img_list li:nth-child(3) img,
#softmixer #contents .product_detail .inner ul.img_list li:nth-child(4) img {
	max-width: calc(610px / 2);
}

#softmixer #contents .product_detail .inner ul.img_list li span {
	margin: 10px 0 0;
	display: block;
}


@media screen and (max-width: 768px){
	#softmixer #contents .product_detail#product_02 {
		margin: -60 0 0;
		padding: 60 0 8vh;
	}
	
	#softmixer #contents .product_detail .inner .feature_with_img p.img img {
		max-width: calc(1014px / 2);
		padding: 0;
	}
	
	#softmixer #contents .product_detail .inner ul.img_list {
		margin: 6vh 0;
		justify-content: space-between;
		gap: 2vh 0;
	}
	
	#softmixer #contents .product_detail .inner ul.img_list li {
		width: calc(50% - 1vw);
		display: flex;
		flex-flow: column wrap;
		justify-content: center;
		align-items: center;
	}
	
	#softmixer #contents .product_detail .inner ul.img_list li:nth-child(1) img,
	#softmixer #contents .product_detail .inner ul.img_list li:nth-child(2) img,
	#softmixer #contents .product_detail .inner ul.img_list li:nth-child(3) img,
	#softmixer #contents .product_detail .inner ul.img_list li:nth-child(4) img {
		max-width: 100%;
	}
	
	#softmixer #contents .product_detail .inner ul.img_list li span {
		margin: 10px 0 0;
		display: block;
	}
}



/*====================================================================================

		#waste-gypsum layout

====================================================================================*/

/*===============================================================

		#waste-gypsum header layout

===============================================================*/

#waste-gypsum header .main_img {
	background: url("../../img/products/environment/waste-gypsum/main_img.jpg") center center / cover no-repeat;
}

#waste-gypsum header .main_img h2 {
	width: min(1180px, 94%);
	padding: 7px 0 0 min(90px, 6%);
	display: block;
}

#waste-gypsum header .main_img h2 .sub {
	display: inline-block;
}

#waste-gypsum header .main_img h2 .en {
	display: block;
}


@media screen and (max-width: 1140px){
	#waste-gypsum header .main_img h2 {
		padding: 7px 0 0 min(90px, 6%);
		font-size: min(40px, 4vw);
	}
	
	#waste-gypsum header .main_img h2 br {
		display: none;
	}
	
	#waste-gypsum header .main_img h2 span {
		font-size: min(20px, 2vw);
	}
	
	#waste-gypsum header .main_img h2 .sub {
		display: block;
	}
}

@media screen and (max-width: 950px){
	#waste-gypsum header .main_img h2 {
		padding: 12px 0 0 min(90px, 6%);
	}
}


@media screen and (max-width: 768px){
	#waste-gypsum header .main_img {
		background: url("../../img/products/environment/waste-gypsum/main_img.jpg") center top / cover no-repeat;
	}
	
	#waste-gypsum header .main_img h2 {
		padding: 1vh 2vw 1vh 4vw;
		font-size: 6vw;
		line-height: 1.2;
	}
	
	header .main_img h2 span {
		font-size: 3vw;
		transform: translateY(-0.5vh);
		line-height: 1.5;
	}
	
	#waste-gypsum header .main_img h2 .sub {
		font-size: 4vw;
		display: inline-block;
	}
}



/*===============================================================

		#waste-gypsum #contents .p_link layout

===============================================================*/

#waste-gypsum #contents .p_link {
	position: relative;
}

#waste-gypsum #contents .p_link .inner {
	display: block;
}

#waste-gypsum #contents .p_link .inner dl {
	text-align: center;
}

#waste-gypsum #contents .p_link .inner dl dt {
	color: #fff;
	font-size: 26px;
	font-weight: 700;
}

#waste-gypsum #contents .p_link .inner dl dd {
	display: inline-block;
}

#waste-gypsum #contents .p_link .inner dl dd:first-of-type {
	margin-right: 40px;
}

#waste-gypsum #contents .p_link .inner dl dd a {
	position: relative;
	display: inline-block;
	font-size: 18px;
	font-weight: 500;
}

#waste-gypsum #contents .p_link .inner dl dd a::after {
	content: "";
	width: 10px;
	height: 10px;
	border-style: solid;
	border-width: 2px 2px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: -15px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}


@media screen and (max-width: 768px){
	#waste-gypsum #contents .p_link::after {
		display: none;
	}
	
	#waste-gypsum #contents .p_link .inner {
		width: 100%;
		padding: 2vh 0 0;
	}
	
	#waste-gypsum #contents .p_link .inner dl dt {
		font-size: 4.5vw;
	}
	
	#waste-gypsum #contents .p_link .inner dl dd:first-of-type {
		margin-right: 10vw;
	}
	
	#waste-gypsum #contents .p_link .inner dl dd a {
		font-size: 3.8vw;
	}
}



/*===============================================================

		#waste-gypsum #contents .iag_flow layout

===============================================================*/

#waste-gypsum #contents .iag_flow {
	padding: 40px 0 70px;
	background-color: var(--color_gray);
}

#waste-gypsum #contents .iag_flow h3 {
	margin: 0 0 20px;
	text-align: center;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: var(--letter);
}

#waste-gypsum #contents .iag_flow ul {
	padding: 15px 0;
	background-color: var(--color_orange);
	display: flex;

}

#waste-gypsum #contents .iag_flow ul li {
	width: calc(100% / 3);
	text-align: center;
}

#waste-gypsum #contents .iag_flow ul li a {
	padding: 5px 0;
	display: block;
	position: relative;
	color: #fff;
	font-size: 20px;
	font-weight: 500;
}

#waste-gypsum #contents .iag_flow ul li:not(:last-child) a {
	border-right: solid 1px #fff;
}
/*
#waste-gypsum #contents .iag_flow ul li a:hover {
	padding: 5px 0 5px 10px;
}
*/
#waste-gypsum #contents .iag_flow ul li a::after {
	content: "";
	width: 12px;
	height: 12px;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: #fff #fff transparent transparent;
	box-sizing: border-box;
	position: absolute;
	right: 40px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}

#waste-gypsum #contents .iag_flow ul li a:hover::after {
	right: 35px;
}


@media screen and (max-width: 768px){
	#hina #contents .hina {
		padding: 0 5vw 8vh;
	}
	
	#hina #contents .hina .inner h3 {
		margin: 0 0 4vh;
		font-size: 6vw;
		letter-spacing: var(--letter);
	}
	
	#waste-gypsum #contents .iag_flow ul {
		padding: 0 2vw;
		display: block;
	}
	
	#waste-gypsum #contents .iag_flow ul li {
		width: auto;
		text-align: center;
	}
	
	#waste-gypsum #contents .iag_flow ul li a {
		padding: 1vh 0;
		font-size: 4vw;
	}
	
	#waste-gypsum #contents .iag_flow ul li:not(:last-child) a {
		border-right: none;
		border-bottom: solid 1px #fff;
	}
	
	#waste-gypsum #contents .iag_flow ul li a::after {
		right: 5%;
	}
	
	#waste-gypsum #contents .iag_flow ul li a:hover::after {
		right: 5%;
	}
}



/*===============================================================

		#waste-gypsum #contents .pellet layout

===============================================================*/

#waste-gypsum #contents .pellet {
	margin: -75px 0 0;
	padding: 75px 0 0;
}

#waste-gypsum #contents .pellet .inner {
	padding: 50px 40px 0px;
}

#waste-gypsum #contents .pellet .inner .box {
	margin: 0 0 80px;
	padding: 0 10px;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}

#waste-gypsum #contents .pellet .inner .box p.img {
	width: 51%;
}

#waste-gypsum #contents .pellet .inner .box .txt {
	width: 46%;
	padding: 80px 0 0;
}

#waste-gypsum #contents .pellet .inner .box .txt h3 {
	margin: 0 0 20px;
	color: var(--color_orange);
	font-size: 30px;
	font-weight: 700;
}

#waste-gypsum #contents .pellet .inner dl.feature {
	width: 90%;
	margin: 0 auto;
	padding: 0 0 0 10%;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	line-height: 2.0;
}

#waste-gypsum #contents .pellet .inner dl.feature dt {
	width: 100%;
	margin: 0 0 40px;
	position: relative;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.2em;
}

#waste-gypsum #contents .pellet .inner dl.feature dt::after {
	content: "";
	width: 30px;
	height: 3px;
	background-color: var(--color_orange);
	position: absolute;
	left: 0;
	bottom: -20px;
}
#waste-gypsum #contents .pellet .inner dl.feature div {
	width: 50%;
	padding-left: 1em;
}

#waste-gypsum #contents .pellet .inner dl.feature dd {
	margin: 0 0 10px;
	padding-left: 0.5rem;
	text-indent: -0.5rem;
	line-height: 1.5;
}


@media screen and (max-width: 768px){
	#waste-gypsum #contents .pellet {
		margin: -60px 0 0;
		padding: 60px 0 0;
	}
	
	#waste-gypsum #contents .pellet .inner {
		padding: 6vh 5vw;
	}
	
	#waste-gypsum #contents .pellet .inner .box {
		margin: 0 0 6vh;
		padding: 0;
		display: block;
	}
	
	#waste-gypsum #contents .pellet .inner .box p.img {
		width: 80%;
		margin: 0 auto 4vh;
	}
	
	#waste-gypsum #contents .pellet .inner .box .txt {
		width: auto;
		padding: 0;
	}
	
	#waste-gypsum #contents .pellet .inner .box .txt h3 {
		margin: 0 0 2vh;
		font-size: 6vw;
	}
	
	#waste-gypsum #contents .pellet .inner dl.feature {
		width: auto;
		padding: 0;
		display: block;
	}
	
	#waste-gypsum #contents .pellet .inner dl.feature dt {
		margin: 0 0 4vh;
		font-size: 4vw;
		letter-spacing: var(--letter);
	}
	
	#waste-gypsum #contents .pellet .inner dl.feature dt::after {
		bottom: -2vh;
	}
	#waste-gypsum #contents .pellet .inner dl.feature div {
		width: auto;
		padding-left: 0;
	}
	
	#waste-gypsum #contents .pellet .inner dl.feature dd {
		margin: 0 0 1vh;
	}
}



/*===============================================================

		#waste-gypsum #contents .example layout

===============================================================*/

#waste-gypsum #contents .example {
	padding: 0px 0 90px;
	background-color: #B7C4EA;
}

#waste-gypsum #contents .example .inner h3 {
	margin: 0 0 30px;
	text-align: center;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: 0.2em;
}

#waste-gypsum #contents .example .inner ul {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	gap: 60px min(100px, 5%);
}

#waste-gypsum #contents .example .inner ul li {
	width: min(190px, 18%);
	text-align: center;
	font-size: min(15px, 1.5vw);
}

#waste-gypsum #contents .example .inner ul li span {
	margin: 0 0 10px;
	display: inline-block;
}


@media screen and (max-width: 768px){
	#waste-gypsum #contents .example {
		padding: 6vh 0;
	}
	
	#waste-gypsum #contents .example .inner h3 {
		margin: 0 0 4vh;
		font-size: 6vw;
		letter-spacing: var(--letter);
	}
	
	#waste-gypsum #contents .example .inner ul {
		gap: 3vh 3%;
	}
	
	#waste-gypsum #contents .example .inner ul li {
		width: 30%;
		font-size: 3.4vw;
		line-height: 1.3;
	}
	
	#waste-gypsum #contents .example .inner ul li span {
		margin: 0 0 1vh;
	}
}



/*===============================================================

		#waste-gypsum #contents .flow layout

===============================================================*/

#waste-gypsum #contents .flow {
	padding: 70px 0 1px;
	background-color: #B7C4EA;
}

#waste-gypsum #contents .flow .inner h3 {
	margin: 0 0 40px;
	text-align: center;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2em;
}

#waste-gypsum #contents .flow .inner h3 span {
	display: block;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: var(--letter);
}


#waste-gypsum #contents .flow .inner ol {
	margin: 0 0 90px;
	display: flex;
	flex-flow: row wrap;
}

#waste-gypsum #contents .flow .inner ol li {
	width: calc(100% / 5);
	height: 146px;
	padding-left: 2rem;
	background-color: #6782D4;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	color: #fff;
	font-size: min(24px, 2vw);
	font-weight: 700;
	line-height: 1.3;
}

#waste-gypsum #contents .flow .inner ol li:nth-child(1) {
	flex-flow: column wrap;
	align-items: flex-start;
}

#waste-gypsum #contents .flow .inner ol li:nth-child(2),
#waste-gypsum #contents .flow .inner ol li:nth-child(3),
#waste-gypsum #contents .flow .inner ol li:nth-child(4) {
	background-color: #294395;
	text-align: center;
}


#waste-gypsum #contents .flow .inner ol li:nth-child(1)::after{
	content: "";
	width: 56px;
	height: 100%;
	background: url("../../img/products/environment/waste-gypsum/arrow_02.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -35px;
	top: 0;
	z-index: 1;
}
#waste-gypsum #contents .flow .inner ol li:nth-child(2)::after {
	content: "";
	width: 56px;
	height: 100%;
	background: url("../../img/products/environment/waste-gypsum/arrow_07.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -35px;
	top: 0;
	z-index: 1;
}

#waste-gypsum #contents .flow .inner ol li:nth-child(3)::after {
	content: "";
	width: 55px;
	height: 100%;
	background: url("../../img/products/environment/waste-gypsum/arrow_07.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -35px;
	top: 0;
	z-index: 1;
}

#waste-gypsum #contents .flow .inner ol li:nth-child(4)::after {
	content: "";
	width: 55px;
	height: 100%;
	background: url("../../img/products/environment/waste-gypsum/arrow_03.png") left top / auto 100% no-repeat;
	position: absolute;
	right: -35px;
	top: 0;
	z-index: 1;
}

#waste-gypsum #contents .flow .inner ol li span {
	position: relative;
	z-index: 2;
}

#waste-gypsum #contents .flow .inner ol li:nth-child(3) span:last-of-type {
	margin: 5px 0 0;
	display: inline-block;
	font-size: min(20px, 1.5vw);
}


#waste-gypsum #contents .flow .inner .box {
	margin: 0 0 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0 10px;
}

#waste-gypsum #contents .flow .inner .box dl {
	display: flex;
	font-size: min(24px, 2vw);
	font-weight: 700;
}

#waste-gypsum #contents .flow .inner .box dl dt {
	padding: 5px min(50px, 4vw);
	background-color: #294395;
	color: #fff;
}

#waste-gypsum #contents .flow .inner .box dl dd {
	padding: 5px min(50px, 4vw);
	background-color: var(--color_gray);
}


@media screen and (max-width: 768px){
	#waste-gypsum #contents .flow {
		padding: 6vh 0;
	}
	
	#waste-gypsum #contents .flow .inner h3 {
		margin: 0 0 4vh;
		font-size: 3.7vw;
		letter-spacing: var(--letter);
	}
	
	#waste-gypsum #contents .flow .inner h3 span {
		font-size: 6vw;
	}
	
	#waste-gypsum #contents .flow .inner ol {
		margin: 0 0 5vh;
		display: flex;
		flex-flow: row wrap;
		gap: 1vh 0;
	}
	
	#waste-gypsum #contents .flow .inner ol li {
		width: calc(100% / 2);
		padding-left: 2vw;
		height: 10vh;
		font-size: 4vw;
		line-height: 1.4;
	}
	
	#waste-gypsum #contents .flow .inner ol li:nth-child(1) {
		flex-flow: row wrap;
		align-items: center;
	}
	
	#waste-gypsum #contents .flow .inner ol li:nth-child(2),
	#waste-gypsum #contents .flow .inner ol li:nth-child(4) {
		transform: translateX(-2vw);
	}
	
	#waste-gypsum #contents .flow .inner ol li:nth-child(5) {
		width: 100%;
		padding: 0;
	}
	
	
	#waste-gypsum #contents .flow .inner ol li:nth-child(1)::after {
		width: 4vw;
		background: url("../../img/products/environment/waste-gypsum/arrow_02.png") left top / 100% 100% no-repeat;
		right: -1.9vw;
	}
	
	#waste-gypsum #contents .flow .inner ol li:nth-child(2)::after {
		width: 4vw;
		background: url("../../img/products/environment/waste-gypsum/arrow_05.png") left top / 100% 100% no-repeat;
		right: -3.9vw;
	}
	
	#waste-gypsum #contents .flow .inner ol li:nth-child(3)::after {
		width: 4vw;
		background: url("../../img/products/environment/waste-gypsum/arrow_07.png") left top / 100% 100% no-repeat;
		right: -1.9vw;
	}
	
	#waste-gypsum #contents .flow .inner ol li:nth-child(4)::after {
		width: 4vw;
		background: url("../../img/products/environment/waste-gypsum/arrow_05.png") left top / 100% 100% no-repeat;
		right: -3.9vw;
	}
	
	#waste-gypsum #contents .flow .inner ol li:nth-child(3)::before{
		content: "";
		width: 4vw;
		height: 100%;
		background: url("../../img/products/environment/waste-gypsum/arrow_08.png") left top / 100% 100% no-repeat;
		position: absolute;
		left: 0;
		top: 0;
		z-index: 1;
	}
	#waste-gypsum #contents .flow .inner ol li:nth-child(5)::before {
		content: "";
		width: 4vw;
		height: 100%;
		background: url("../../img/products/environment/waste-gypsum/arrow_06.png") left top / 100% 100% no-repeat;
		position: absolute;
		left: 0;
		top: 0;
		z-index: 1;
	}
	
	#waste-gypsum #contents .flow .inner ol li span {
		position: relative;
		z-index: 2;
	}
	
	#waste-gypsum #contents .flow .inner ol li:nth-child(1) span:last-of-type {
		margin: 0 0 0 2vw;
		font-size: 3vw;
	}
	
	
	#waste-gypsum #contents .flow .inner .box {
		margin: 0;
		flex-flow: row wrap;
		gap: 2vh 0;
	}
	
	#waste-gypsum #contents .flow .inner .box dl {
		width: 100%;
		display: flex;
		font-size: 4vw;
		font-weight: 700;
	}
	
	#waste-gypsum #contents .flow .inner .box dl dt {
		padding: 5px 4vw;
	}
	
	#waste-gypsum #contents .flow .inner .box dl dd {
		padding: 5px 2vw;
	}
}



/*===============================================================

		#waste-gypsum #contents .product_detail layout

===============================================================*/

#waste-gypsum #contents .product_detail#product_02 {
	margin: -75px 0 0;
	padding: 75px 0 90px;
}

#waste-gypsum #contents .product_detail h3 {
	background: url("../../img/products/environment/waste-gypsum/img14.jpg") center center / cover no-repeat;
}

#waste-gypsum #contents .product_detail .inner .feature_with_img p.img img {
	max-width: calc(1014px / 2 + 20px);
	padding: 0 0 0 20px;
}

#waste-gypsum #contents .product_detail .inner .spec table thead th:first-of-type {
	border-left: solid 1px var(--color_gray);
}

#waste-gypsum #contents .product_detail .inner .spec table thead th:last-of-type {
	border-right: solid 1px var(--color_gray);
}

#waste-gypsum #contents .product_detail .inner ul.img_list {
	margin: 60px 10% 40px;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	gap: 20px;
}

#waste-gypsum #contents .product_detail .inner ul.img_list li {
	width: calc(50% - 10px);
	display: flex;
	flex-flow: column wrap;
	justify-content: center;
	align-items: center;
}

#waste-gypsum #contents .product_detail .inner ul.img_list li:nth-child(1) img,
#waste-gypsum #contents .product_detail .inner ul.img_list li:nth-child(2) img {
	max-width: calc(725px / 2);
}

#waste-gypsum #contents .product_detail .inner ul.img_list li:nth-child(3) img,
#waste-gypsum #contents .product_detail .inner ul.img_list li:nth-child(4) img {
	max-width: calc(610px / 2);
}

#waste-gypsum #contents .product_detail .inner ul.img_list li span {
	margin: 10px 0 0;
	display: block;
}


@media screen and (max-width: 768px){
	#waste-gypsum #contents .product_detail#product_02 {
		margin: -60 0 0;
		padding: 60 0 8vh;
	}
	
	#waste-gypsum #contents .product_detail .inner .feature_with_img p.img img {
		max-width: calc(1014px / 2);
		padding: 0;
	}
	
	#waste-gypsum #contents .product_detail .inner ul.img_list {
		margin: 6vh 0;
		justify-content: space-between;
		gap: 2vh 0;
	}
	
	#waste-gypsum #contents .product_detail .inner ul.img_list li {
		width: calc(50% - 1vw);
		display: flex;
		flex-flow: column wrap;
		justify-content: center;
		align-items: center;
	}
	
	#waste-gypsum #contents .product_detail .inner ul.img_list li:nth-child(1) img,
	#waste-gypsum #contents .product_detail .inner ul.img_list li:nth-child(2) img,
	#waste-gypsum #contents .product_detail .inner ul.img_list li:nth-child(3) img,
	#waste-gypsum #contents .product_detail .inner ul.img_list li:nth-child(4) img {
		max-width: 100%;
	}
	
	#waste-gypsum #contents .product_detail .inner ul.img_list li span {
		margin: 10px 0 0;
		display: block;
	}
}



/*PCでは無効（改行しない）*/
.sma{
    display: none;
}

/*スマートフォンでは有効（改行する）*/
@media screen and (max-width:768px) {
    .sma{
        display: block;
    }
}