/*-------------------------------
	sub first view
-------------------------------*/

.subf_bottom::before {
	background:url(../images/bg_subf_original.jpg) no-repeat center / cover ;
}

/*-------------------------------
	about
-------------------------------*/

.sec_about {
	padding:13rem 0 23rem;
	position:relative;
}

.sec_about::before {
	content:"";
	display: block;
	width:calc(100% - 10rem);
	max-width:190rem;
	height:55%;
	background:#efefef;
	position:absolute;
	bottom:0;
	right:0;
}

.sec_about .inner {
	padding-right:0;
	padding-left:10rem;
	margin: 0 0 0 auto;
	max-width:185rem;
}

.about_wrap .affe_txt {
	width:56.5rem;
	padding:0 7rem;
}

.about_wrap .affe_txt .h_title {
	text-align: left;
	font-size:3rem;
}

.about_wrap .affe_txt .h_title span {
	text-align: left;
}

.about_wrap .affe_txt .btn {
	margin-top:7rem;
}

.about_wrap .affe_img {
	position:absolute;
	right:0;
	top:0;
	width:calc(100% - 56.5rem - 10rem - 4.5%);
	height:53.4rem;
}

/*-------------------------------
	specification
-------------------------------*/

.sec_specification {
	padding:12rem 0 19rem;
}

.sec_specification .dl_wrap {
	max-width:136rem;
	margin:0 auto;
}

.sec_specification .h_title {
	margin-bottom:2em;
}

.dl_block dt,
.dl_block dd {
	padding:1.5em 1.5em;
}

.dl_block dt {
	width:18rem;
	background:#c55901;
	color:#fff;
	letter-spacing: 0.15em;
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	align-items: center;
	border-bottom:1px solid #efefef;
	text-align: center;
}

.dl_block dt:last-of-type {
	border:none;
}

.dl_block dd {
	width:calc(100% - 18rem);
	border-top:1px solid #efefef;
	border-right:1px solid #efefef;
}

.dl_block dd:last-of-type {
	border-bottom:1px solid #efefef;
}

.link_underline {
	border-bottom:1px solid #000;
	cursor:pointer;
}

.link_underline:hover {
	color:#c45900;
	border-color:#c45900;
}

span.kome {
	display: inline-block;
}

.dl_block dd:first-of-type p {
	max-width:77rem;
}

/*-------------------------------
	flow
-------------------------------*/

.sec_flow {
	padding:15rem 0;
}

.sec_flow .h_title,
.sec_flow .h_title span {
	text-align: left;
}

.sec_flow .h_title {
	margin-bottom:2em;
}

.sec_flow .h_title br {
	display: none;
}

.flow_block {
	width:22%;
}

.flow_block h3 {
	font-size:2.4rem;
	margin:1em 0 0.5em;
	position:relative;
	padding-left:1.5em;
}

.flow_block h3::before {
	content:attr(data-no);
	display: block;
	font-size:2.4rem;
	position:absolute;
	left:0;
	top:0;
}

/*-------------------------------
	scene
-------------------------------*/

.sec_scene  {
	padding:12rem 0 0;
}

.sec_scene .h_title {
	margin-bottom:2em;
}

.sec_scene .h_title br {
	display: none;
}

.scene_grid {
	display:grid;
	max-width:136rem;
	margin:0 auto 6rem;
	gap:calc(5 / 89 * 100%) calc(5 / 136 * 100%)  ;
	grid-template-columns:2.119047619047619fr 1fr;
	grid-template-rows: 1fr 1fr;
}

/* 計算式 890 / 420 == 2.119047619047619 */

.scene_block01 {
	grid-column: 1 / 2;
	grid-row: 1 / 3;
	border-radius:0 0 0 10rem;
	overflow: hidden;
}

.scene_block02 {
	grid-column: 2 / 3;
	grid-row: 1 / 2;
	border-radius:0 10rem 0 0;
	overflow: hidden;
}

.scene_block03 {
	grid-column: 2 / 3;
	grid-row: 2 / 3;
}

.scene_img {
	position:relative;
}

.scene_img figcaption {
	font-size:2.4rem;
	color:#fff;
	display: block;
	width:100%;
	text-align: right;
	padding:0.75em 1em 0.75em;
	background:rgba(0,0,0,0.2);
	position:absolute;
	right:0;
	bottom:0;
}

.scene_txt {
	max-width:136rem;
	margin:0 auto ;
}

.scene_txt h3 {
	font-size:2.4rem;
	margin-bottom:0.75em;
}

.scene_txt .btn {
	margin:8rem auto 0;
}

/*-------------------------------
	production
-------------------------------*/

.sec_production {
	padding:15rem 0 16rem;
}

.sec_production::before {
	content:"";
	display: block;
	width:calc(100% - 10rem);
	max-width:190rem;
	height:46%;
	background:#efefef;
	position:absolute;
	bottom:0;
	left:0;
}

.sec_production .h_title,
.sec_production .h_title span {
	text-align: left;
}

.sec_production .h_title {
	margin-bottom:2em;
}

.production_slider {
	width:112.5vw;
	margin:0 0 0 auto;
}

.production_slide {
	width:54rem!important;
	width:34vw!important;
	max-width:54rem;
	min-width:47rem;
	border:1px solid #8b8888;
	border-radius:5rem;
	margin-right:6rem;
	background:#fff;
}

.slide_inner {
	padding:5rem 3rem 4rem;
}

.slide_top {
	display: flex;
	flex-wrap:wrap;
	align-items: center;
	padding-bottom:3rem;
	margin-bottom:3rem;
	border-bottom:1px solid #8b8888;
}

.slide_logo {
	width:9rem;
	height:9rem;
	border-radius:50%;
	border:1px solid #8b8888;
	margin-left:3rem;
}

.slide_dl {
	width:calc(100% - 12rem);
	padding-left:2rem;
}

.slide_dl dt {
	width:4em;
	line-height:2;
}

.slide_dl dt::after {
	content:"：";
	display: inline-block;
}

.slide_dl dd {
	width:calc(100% - 4em);
	line-height:2;
}

.product_txt h3 {
	font-size:2.4rem;
	margin:1em 0 0.5em;
}

/*-------------------------------
	slide prev next
-------------------------------*/

.production_slider .slick-prev,
.production_slider .slick-next {
	top:-140px;
	width:54px;
	height:54px;
	border-radius:50%;
	border:1px solid #8b8888;
	left:auto;
	transition:border .4s ,background .4s;
}

.production_slider .slick-prev:hover,
.production_slider .slick-next:hover {
	border:1px solid #c45900;
}

.production_slider .slick-prev {
	right:34%;
}

.production_slider .slick-next {
	right:30%;
}

.production_slider .slick-prev:before,
.production_slider .slick-next:before {
	content:"";
	display: block;
	width:38px;
	height:7px;
	position:absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
	margin:auto;
}

.production_slider .slick-prev:before {
	background:url(../images/arrow_left.svg) no-repeat center / contain;
}

.production_slider .slick-next:before {
	background:url(../images/arrow_right.svg) no-repeat center / contain;
}

.production_slider .slick-prev:hover:before {
		background:url(../images/arrow_left2.svg) no-repeat center / contain;
}
.production_slider .slick-next:hover:before {
	background:url(../images/arrow_right2.svg) no-repeat center / contain;
}

/*-------------------------------
	responsive
-------------------------------*/

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

.sec_about::before {
	width:calc(100% - 5rem);
}

.about_wrap .affe_txt {
	width:42.8%;
	padding:0 6rem 0 0;
}

.about_wrap .affe_img {
	width:calc(100% - 42.8% - 6rem);
}

.production_slider .slick-prev {
	right:28%;
}
	
.production_slider .slick-next {
	right:20%;
}

}/* end 1260px */

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

.sec_about .inner {
	padding-left:5rem;
}

.sec_about::before,
.sec_production::before {
	width:100%;
}

.about_wrap .affe_txt {
	padding:0 3rem 0 0;
}

.about_wrap .affe_img {
	width:calc(100% - 42.8% - 3rem);
}

.sec_flow .h_title br,
.sec_scene .h_title br {
	display: block;
}

.flow_block {
	width:48.2%;
	margin-bottom:6rem;
}

.scene_img figcaption {
	font-size:2rem;
}

}/* end 960px */

/*-------------------------------
	ver sp
-------------------------------*/

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

/*-------------------------------
	sub first view
-------------------------------*/

.subf_bottom::before {
	background:url(../images/bg_subf_original_sp.jpg) no-repeat center / cover ;
}

/*-------------------------------
	about
-------------------------------*/

.sec_about {
	padding:0 0 20vw;
}

.sec_about::before {
	width:100%;
	max-width:100%;
	height:28%;
}

.sec_about .inner {
	padding-right:5vw;
	padding-left:5vw;
	margin: 0 auto;
	max-width:100%;
}

.about_wrap .affe_txt {
	width:100%;
	padding:0;
}

.about_wrap .affe_txt .h_title {
	text-align: center;
	font-size:6vw;
}

.about_wrap .affe_txt .h_title span {
	text-align: center;
}

.about_wrap .affe_txt .btn {
	margin-top:10vw;
}

.about_wrap .affe_img {
	position:relative;
	right:auto;
	top:auto;
	width:100%;
	height:63.75vw;
	margin-top:10vw;
}

/*-------------------------------
	specification
-------------------------------*/

.sec_specification {
	padding:15vw 0 20vw;
}

.sec_specification .dl_wrap {
	max-width:100%;
}

.dl_block dt,
.dl_block dd {
	padding:1em 1em;
}

.dl_block dt {
	width:100%;
	border-bottom:none;
}

.dl_block dt:last-of-type {
	border:none;
}

.dl_block dd {
	width:100%;
	border-top:none;
	border-left:1px solid #efefef;
}

.dl_block dd:first-of-type p {
	max-width:100%;
}

/*-------------------------------
	flow
-------------------------------*/

.sec_flow {
	padding:15vw 0 20vw;
}

.sec_flow .h_title,
.sec_flow .h_title span {
	text-align: center;
}

.sec_flow .h_title {
	font-size:5.75vw;
}

.sec_flow .h_title br {
	display: none;
}

.flow_block {
	width:100%;
	margin-bottom:10vw;
	padding-bottom:10vw;
	position:relative;
}

.flow_block:last-of-type {
	margin-bottom:0;
	padding-bottom:0;
}

.flow_block:not(:last-of-type)::after {
	content:"";
	display: block;
	width:0;
	height:0;
	border-style:solid;
	border-width: 7.5vw 5.5vw 0 5.5vw;
	border-color: #c45900 transparent transparent transparent;
	position:absolute;
	left:50%;
	bottom:-2.5vw;
	transform:translateX(-50%);
}

.flow_block h3 {
	font-size:5vw;
}

.flow_block h3::before {
	font-size:5vw;
}

/*-------------------------------
	scene
-------------------------------*/

.sec_scene  {
	padding:15vw 0 0;
}

.sec_scene .h_title {
	margin-bottom:2em;
}

.sec_scene .h_title br {
	display: block;
}

.scene_grid {
	display:block;
	max-width:100%;
	margin:0 auto 10vw;
	gap:0;
}

.scene_block01 {
	width:100%;
	border-radius:0 15vw 0 0;
	overflow: hidden;
	margin-bottom:10vw;
}

.scene_block02 {
	width:100%;
	border-radius:15vw 0 0 0;
	overflow: hidden;
	margin-bottom:10vw;
}

.scene_block03 {
	width:100%;
	border-radius:0 15vw 0 0;
	overflow: hidden;
}

.scene_img {
	position:relative;
}

.scene_img figcaption {
	font-size:4.5vw;
}

.scene_txt {
	max-width:100%;
	margin:0 auto ;
}

.scene_txt h3 {
	font-size:5vw;
	line-height:1.5;
}

.scene_txt .btn {
	margin:10vw auto 0;
}

/*-------------------------------
	production
-------------------------------*/

.sec_production {
	padding:20vw 0 20vw;
	margin-bottom:15vw;
}

.sec_production::before {
	width:100%;
	max-width:100%;
	height:46%;
}

.production_slider {
	width:95vw;
	margin:0;
}

.production_slide {
	width:85vw!important;
	max-width:100%;
	min-width:auto;
	border-radius:7.5vw;
	margin-right:5vw;
}

.slide_inner {
	padding:7.5vw 5vw 7.5vw;
}

.slide_top {
	padding-bottom:5vw;
	margin-bottom:5vw;
}

.slide_logo {
	width:15vw;
	height:15vw;
	margin-left:0;
}

.slide_dl {
	width:calc(100% - 15vw);
	padding-left:2vw;
}

.slide_dl dt,
.slide_dl dd {
	font-size:3.5vw;
	line-height:1.75;
}

.product_txt h3 {
	font-size:5vw;
}

.product_txt p {
	line-height:1.75;
}

/*-------------------------------
	slide prev next
-------------------------------*/

.production_slider .slick-prev,
.production_slider .slick-next {
	top:-17vw;
	width:12vw;
	height:12vw;
}

.production_slider .slick-prev {
	right:19.5vw;
}

.production_slider .slick-next {
	right:5vw;
}

.production_slider .slick-prev:before,
.production_slider .slick-next:before {
	width:7.125vw;
	height:1.75vw;
}


} /* end 768px */
