.factory_main *, .factory_main *:before, .factory_main *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}


.row{
	width: 950px;
	margin:auto;
	text-align:center;
}
.common_footer a img:hover{
	opacity: 0.8;
}
.factory_head{
	padding: 35px 0 0;
}
.factory_body {
	background: url(../img/orange_bg.png) center top;
	margin-top: 30px ;
	padding: 30px 0px 60px;
}

.factory_genryo{
	background: url(../img/genryo_bg.png) center top;
}
.factory_map{
	background: url(../img/map_bg.png) center top;
}
.factory_work{
	background: url(../img/work_bg.png) center top;
}
.factory_flow{
	background: url(../img/flow_bg.png) center top;
}

#fukidashi_under{
	margin-top: -3px;
}
.char_list{
	display: flex;
	justify-content: space-around;
	align-items: center;
}
.char_list_item{
	width:50%;
}
.char_list_item img{
	width: 287px;
}
.char_list_item img.top_char_intro{
	width: 215px;
	margin-top: -76px;
}
.char_list_item a:hover img.top_char_intro{
	opacity: 0.6;
}
#top_msg{
	padding-top:30px;
}
.factory_footer{
	padding-top:30px;
}
.factory_main_menu{
	width: 800px;
	margin: auto;
}
.factory_main_banner_list{
	display: flex;
	justify-content: space-around;
	align-items: center;
}
.factory_main_banner{
	padding: 30px 15px 0px;
}
.factory_sub_footer{
	background: url(../img/btn_bg.png) center top;
	padding-bottom: 60px;
	padding-top:30px;
	margin-top:60px;
}
.factory_step_title{
	background: #308090;
	border-radius: 30px;
	width: 500px;
	margin: auto;
	color: #FFF;
	font-size: 23px;
	font-weight: bold;
	padding: 9px;
}
.factory_body.factory_step{
	background: #FFF;
	margin-top:0px;
	padding-bottom:0px;
}
#ill{
	margin: 30px 0;
}
.factory_step_msg{
	color: #308090;
	font-size: 25px;
	margin: 70px auto 0;
	font-weight: bold;
}
.factory_step .slick-dots li button::before{
	font-size:14px
}
.factory_step .slick-dots li{
	margin: 5px 15px;
}
.factory_step .slick-dots {
    bottom: -50px;
}
.slick-slide img.item{
	opacity: 0.5;
}
.slick-slide.slick-current img.item{
	opacity: 1;
}
.work_inner,
.genryo_inner{
	font-size: 18px;
	color: #c35802;
}
.work_inner{
	color: #22ac38;
}
.genryo_inner_q,
.genryo_inner_a,
.work_inner_intro,
.work_inner_a,
.genryo_inner_intro{
	position: relative;
}

.work_inner_intro,
.genryo_inner_intro{
	background: url(../img/suger_pic.png) no-repeat left center #FFF;
	width: 700px;
	margin: auto;
    margin-top: auto;
	border-radius: 39px;
	text-align: left;
	padding: 20px 30px 20px 400px;
	margin-top: 30px;
	color: #c35802;
}
.work_inner_intro{
	background-size: auto 100%;
}
.work_inner h3,
.genryo_inner h3{
	padding-bottom: 9px;
}
.work_inner_intro{
	color: #22ac38;
}
.work_step1_txt,
.work_step2_txt{
	width: 435px;
	background: #FFF;
	margin-left: 358px;
	margin-top: 30px;
	position: relative;
	border-radius: 14px;
	padding: 15px;
}
.genryo_sugger_txt{
	width: 400px;
	background: #FFF;
	margin-left: 358px;
	margin-top: 30px;
	position: relative;
	border-radius: 14px;
	padding: 15px;
}

.genryo_sugger_ill{
	position: absolute;
	left: 112px;
	z-index: 10;
	top: -107px;
}
.genryo_sugger_txt_left{
	position: absolute;
	bottom: -15px;
	left: 100px;
}
.genryo_inner_a{
	background: #c35802;
	width: 400px;
	padding: 20px 30px;
	border-radius: 25px;
	margin-left: 358px;
	text-align: left;
	color: #FFF;
	margin-top: 30px;
}
.genryo_sugger_ill img{
	width: 225px;
}
.cacao .genryo_sugger_ill{
	position: absolute;
	left: 112px;
	z-index: 10;
	top: -107px;
	width: 344px;
	left: 555px;
}
.cacao .genryo_inner_a,
.cacao .genryo_sugger_txt{
	margin-left: 140px;
}
.genryo_sugger_txt_right{
	position: absolute;
	bottom: -15px;
	left: 319px;
}
.cacao .genryo_inner_intro{
	background-image: url(../img/cacao_pic.png);
	background-position: bottom left;
}
.komugi .genryo_inner_intro{
	background-image: url(../img/komugi_pic.png);
}
.genryo_inner_ill{
	text-align: center;
	padding: 15px;
}
.factory_body h2{
	margin-top: -65px;
}
.factory_body.factory_step h2{
	margin-top: 0px;
}

.factory_body{
	margin-top: 70px;
	position:relative;
}
.factory_top{
    margin-top: 35px;
}

#map_msg{
	position: relative;
	top: 43px;
	left: -159px;
}
#map_ill{
	margin-top: -86px;
	margin-bottom: 30px;
}

.map_one_inner{
	width: 300px;
	background: #FFF;
	border-radius: 15px;
	padding:15px;
	text-align:left;
	margin:10px;
	font-size:15px;
}
.map_one_inner h3{
	font-size: 15px;
	margin-bottom:10px;
}
.map_one_inner h3 span{
	background: #22AC38;
	color: #FFF;
	padding: 6px 10px;
	border-radius: 50%;
	font-size: 15px;
	margin-ra: 20px;
	margin-right: 6px;
}

.map_one_inner h3 span.jisshi{
 	background-color: #880303;
}
.icon_factorytour{
	margin-left: 10px;
	margin-bottom: 3px;
}
.map_detail_inner{
	display: flex;
	justify-content: center;
	align-items: top;
	align-items: baseline;
}
.map_detail_inner h4{
	background: #1990ae;
	border-radius: 30px;
	color: #FFF;
	padding: 0 15px;
	width: 100px;
	text-align: center;
	margin-bottom: 10px;
}

.genryo_inner_intro_inner{
}
.work_inner_intro{
	background-image: url(../img/work_step1_pic.png);
	padding: 20px 30px 20px 330px;
	padding: 20px 30px 20px 35%;
	width: 780px;
	height: 227px;
}
.work_inner_intro.work_step2{
	background-image: url(../img/work_step2_pic.png);
}
.work_inner_intro.work_step4{
	background-image: url(../img/work_step4_pic.png);
	height: 225px;
}
.work_step2_ill ,
.work_step1_ill {
    position: absolute;
    left: 112px;
    z-index: 10;
    top: -107px;
}
.work_step2_ill img,
.work_step1_ill img{
	width: 225px;
}
.work_step2_txt,
.work_step1_txt{
	text-align:left;
	margin-left: 383px;
}
.work_step2_ill{
	left: 639px;
	top: -40px;
}
.work_step2_txt{
	margin-left: 210px;
}
.work_inner_a{
	margin-bottom:100px;
}
.work_inner_step3{
	background: #FFF;
	padding: 30px;
	border-radius: 39px;
	width: 729px;
	margin: auto;
	margin-top: 50px;
}
.work_inner_step3_txt{
	margin:15px;
}
.flow_msg{
	color: #308090;
	font-size: 25px;
	margin: 30px auto 0;
	font-weight: bold;
}
.flow_row_inner{
	border-radius: 10px;
	background: url(../img/flow_step1_pic.jpg) no-repeat 0px top #FFF;
	width: 750px;
	margin: 10px auto;
	height: 180px;
	background-size: auto 193px;
}
.step2 .step2 .flow_row_inner{
	background: url(../img/flow_step2_pic.jpg) no-repeat 0px top #FFF;
	background-size: auto 193px;
}
.step3-1 .flow_row_inner{
	background: url(../img/flow_step3-1_pic.jpg) no-repeat 0px top #FFF;
	background-size: auto 199px;
}
.step3-2 .flow_row_inner{
	background: url(../img/flow_step3-2_pic.jpg) no-repeat 0px top #FFF;
	background-size: auto 199px;
}
.step4-1 .flow_row_inner{
	background: url(../img/flow_step4-1_pic.jpg) no-repeat 0px top #FFF;
	background-size: auto 199px;
}
.step4-2 .flow_row_inner{
	background: url(../img/flow_step4-2_pic.jpg) no-repeat 0px top #FFF;
	background-size: auto 199px;
}
.flow_row{
	background: url(../img/flow_down.png) no-repeat center bottom;
	padding-bottom: 30px;
}
	
.flow_row.step1{
		padding-bottom: 0px;
	
}
.flow_row.step2{
    background-position: 28% bottom;
	padding-bottom: 0px;
}
.flow_row_root2{
	background: url(../img/flow_down.png) no-repeat center bottom;
	background-position: 72% bottom;
	padding-bottom: 30px;
}
.flow_row_block1_2 {
	background: #FFF;
	border-radius: 10px;
	width: 750px;
	margin:auto;	
}


.flow_txt{
	text-align: left;
	color:#1990ae;
	font-size: 18px;
	padding-left: 369px;
	padding-right: 10px;
	padding-top: 10px;
}
.flow_txt_inner{
	margin-top: 10px;
}
.flow_row_block{
	display: flex;
	justify-content: center;
	align-items: top;
}
.flow_row2{
	margin: auto;
	margin: 0 10px;
}
.flow_row2 .flow_row_inner{
	width: 365px;
	height: 380px;
	background-color: #FFF;
}
.flow_row2 .flow_txt {
    text-align: left;
    padding-left: 0px;
    padding-top: 210px;
	padding-right: 0px;
}
.flow_txt h3{
	text-align:center;
}
.flow_row2 .flow_txt_inner{
	padding: 0 12px;
	text-align:center;
}
.step3-2,
.step4-2{
	padding-bottom: 0px;
	background: none;
}
.fac_pic{
	width: 100%;
	margin-bottom: 10px;
}
.factory_body.factory_step .factory_step_msg h2{
	margin-top:140px;
}
#factory_logo{
		width: 600px;
}




.pc {
      display: block;
      margin:auto;
}
.sp {
      display: none;
      margin:auto;
}

@media screen and (max-width: 800px){
    .pc {
      display: none;
	}
    .sp {
      display: block;
	}
	
	.factory_main img{
		max-width:100%;
	}
	#factory_logo{
		padding: 10px;
	}
	.char_list,
	.factory_main_banner_list{
		flex-wrap: wrap;
	}
	.row{
		width: 100%;
		padding: 0 10px;
	}
	
	.factory_step_title{
		width: 90%;
	}
	.factory_step_msg{
		font-size:20px;
	}

	.flow_row_inner,
	.work_inner_intro, .genryo_inner_intro{
		width: 100%;
		margin: 0;
    	margin-top: 0px;
		padding: 325px 28px 33px;
		background-position: top left;
		margin-top: 19px;
	}
	.work_step1_txt, .work_step2_txt, .genryo_sugger_txt{
		margin: 0;
	    width: 100%;
	}
	.genryo_sugger_ill{
		position:static;
	}
	.genryo_sugger_txt_right,
	.genryo_sugger_txt_left{
		display:none;
	}
	.genryo_inner_a {
	    margin: 0;
    	padding: 0;
    	width: 100%;
    	margin: 10px 0;
    	padding: 20px;
	}
	.cacao .genryo_inner_intro{
		    background-position: 0px top;
	}
	.cacao .genryo_sugger_ill{
		position:static;
	}
	.cacao .genryo_inner_a,
	.cacao .genryo_sugger_txt,
	.genryo_sugger_txt{
		margin: 10px  0;
		padding: 20px
	}
	.komugi .genryo_inner_intro{
		padding-top:239px;
	}
	.cacao .genryo_inner_intro {
    padding-top: 301px;
	}

	.factory_main_menu{
		width: 100%;
	}
	.map_msg{
		position: static;
		margin: 20px 0;
	}
	#map_ill{
		margin-top: 0px;
	}
	.map_detail_inner{
		display:block;
	}
	.map_detail_inner h4{
		width: 130px;
	}
	.work_inner_intro{
		background-size: 266%;
		background-position: -15px 0;	
		padding-top:300px;
	}
	.work_step2_ill, .work_step1_ill{
		position:static;
	}
	.work_inner_a{
		margin-bottom:30px;
	}
	.work_inner_step3{
		width: 100%;
		
	}
	.flow_row2 .flow_row_inner{
		background-position: top center;
	}

	.step2 .flow_row_inner ,
	.flow_row_inner{
		padding-top: 197px;
		height: auto;
		background-size: auto 225px;
		background-size: auto 227px;
		width: 420px;
		max-width: 100%;
		margin: 10px auto;
	}	
	.flow_row.step2{
		max-width:100%;
		width: 419px;
		margin: auto;	
	}
	.flow_txt{
		padding: 0;
		margin: 0;
	}
	.flow_row2 .flow_row_inner{
		max-width: 90%;
		width: 200px;
	}
	.flow_row2 .flow_row_inner{
		height: auto;
		padding-left:10px;
		padding-right:10px;
	}
	.flow_row2 .flow_txt{
		padding-top:10px;
	}
	.flow_row_root{
		background-position: 89% bottom;
	}	
	.flow_row.step2 {
    	background-position: 15% bottom;
	}
	.flow_row{
		padding-bottom: 39px;
	}
	.work_inner_intro,
	.genryo_inner_intro{
	}
	.map_one_inner{
		margin: 10px auto;
	}
	#map_msg{
		position: static;
		margin: 20px auto;
	}
	.flow_row2 .flow_txt_inner{
		text-align:left;
	}
	.flow_row2{
		margin: 0 auto;
	}
	.work_inner_intro{
		width: 440px;
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
		background-size: 100% auto;
		background-position: 0 0%;
		height: auto;
	}
	.work_inner h3{
		background: #FFF;
		padding: 5px 10px 15px;
		text-align: center;
		border-radius: 5px;
	}
	.work_inner_intro.work_step4{
		height: auto;
	}
	.flow_row_block1_2{
		width: 100%;
	}
}
