@charset "UTF-8";

@media screen and (min-width:751px) {
	
	.mainvisual{
		height:300px;
		background:#fff;
		z-index: 3;
		position: relative;
	}
	
	.mainvisual .fixedbox{
		height:300px;
		width:100%;
		display: flex;
		align-items: center;
		position: fixed;
	}
	
	.mainvisual .fixedbox.absolute{
		position: absolute;
	}
	
	.mainvisual .innerbox{
		width:90%;
		max-width: 970px;
		margin: 0 auto;
	}
	
	.mainvisual .innerbox h1{
		font-size: 6rem;
		font-weight: 700;
		letter-spacing: 0.1em;
		margin:0 0 10px 0;
		transition: color 0.5s;
	}
	
	.mainvisual .innerbox p{
		font-size: 1.4rem;
		font-weight: bold;
		letter-spacing: 0.2em;
		line-height: 2em;
		transition: color 0.5s;
	}
	
	.mainvisual.co .innerbox h1{
		color:#fff;
	}
	
	.mainvisual.co .innerbox p{
		color:#fff;
	}
	
	#main_cont{
		position: relative;
		z-index: 1;
	}
	
	.video_bgcont{
		position: relative;
		padding-top:100vh;
		z-index: 1;
	}
	
	.video_bgcont .bgimg{
		width:100%;
		position: absolute;
		height:100vh;
		top:0;
		left:0;
		background:#000;
	}
	
	.video_bgcont .bgimg.fixed{
		width:100%;
		position: fixed;
		height:100vh;
		top:0;
		left:0;
	}
	
	.video_bgcont .bgimg .inbox{
		width:100%;
		height:100vh;
		position: relative;
	}
	
	.video_bgcont .bgimg .inbox video{
		position: absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		z-index: 1;
	}
	
	.video_bgcont .innerbox{
		width:90%;
		max-width: 970px;
		margin: 0 auto;
		position: relative;
		z-index: 2;
	}
	
	.video_bgcont .innerbox .mtlcont{
		padding-bottom:60px;
	}
	
	.video_bgcont .innerbox h1{
		font-size: 6rem;
		font-weight: 700;
		letter-spacing: 0.1em;
		margin:0 0 10px 0;
		color:#fff;
		opacity: 0;
	}
	
	.video_bgcont .innerbox p{
		font-size: 1.4rem;
		font-weight: bold;
		letter-spacing: 0.2em;
		line-height: 2em;
		color:#fff;
		opacity: 0;
	}
	
	.video_bgcont .innerbox .flexbox{
		display: flex;
		justify-content: space-between;
		margin:50px 0 130px 0;
	}
	
	.video_bgcont .innerbox .flexbox .mtx{
		font-size: 2.2rem;
		line-height: 3em;
		color:#fff;
		letter-spacing: 0.2em;
		font-weight: 300;
		opacity: 1 !important;
	}
	
	.video_bgcont .innerbox .flexbox .btnbox{
		width:50%;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	.video_bgcont .innerbox .flexbox .btnbox .playbtn{
		width:150px;
		position: relative;
		padding:30px;
		box-sizing: border-box;
		cursor: pointer;
	}
	
	.video_bgcont .innerbox .flexbox .btnbox .playbtn::after{
		content: "";
		width:101%;
		height:101%;
		background:url("/images/index/en.svg") no-repeat;
		backgrouond-size:cover;
		display: block;
		position: absolute;
		top:0;
		left:0;
		animation:12s linear infinite rotation;
		transform-origin: center center;
	}
	
	.wbg_cont{
		background:#fff;
		position: relative;
		z-index: 2;
	}
	
	.common_tlcont{
		margin:0 0 50px 0;
	}
	
	.common_tlcont h2{
		font-weight: 600;
		font-size:4.8rem;
		letter-spacing: 0em;
		line-height: 1;
		margin:0 0 15px 0;
	}
	
	.common_tlcont .sub{
		font-size:1.6rem;
		letter-spacing: 0.1em;
		color:#797979;
	}
	
	/*company_cont*/
	.company_cont{
		width:100%;
		position: relative;
		margin: 0 0 130px 0;
	}
	
	.company_cont::after{
		content: "";
		width:calc(100% - max(5vw,calc((100% - 1200px) / 2 )));
		background:url("/images/index/company_bg.jpg") no-repeat;
		background-size: cover;
		height:calc(100% - 95px);
		display: block;
		position: absolute;
		z-index: 1;
		top:0;
		left:0;
	}
	
	.company_cont .common_tlcont{
		width:90%;
		max-width: 1065px;
		margin:0 auto;
		position: relative;
		z-index: 2;
		padding:80px 0;
	}
	
	.company_cont .common_tlcont h2{
		color:#fff;
	}
	
	.company_cont .common_tlcont .sub{
		color:#fff;
	}
	
	.company_cont .innerbox{
		width:90%;
		max-width: 1200px;
		margin:0 auto;
		display: flex;
		justify-content: space-between;
		position: relative;
		z-index: 2;
		background:#fff;
	}
	
	.company_cont .innerbox figure{
		width:calc(50% - min(5vw,60px));
	}
	
	.company_cont .innerbox .txcont{
		width:50%;
		padding:5vw min(5vw,60px) 5vw 0;
	}
	
	.company_cont .innerbox .txcont p.mtx{
		font-size: 1.6rem;
		line-height: 2.5em;
		margin:0 0 50px 0;
		letter-spacing: 0.1em;
	}
	
	.company_cont .innerbox .txcont .linklist{
		width:100%;
		margin: 0 0 0 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		box-sizing: border-box;
	}
	
	.company_cont .innerbox .txcont a.arrow_link{
		width:calc((100% - min(5vw,50px)) / 2);
		padding:30px 45px 30px 10px !important;
		display: flex;
		align-items: center;
	}
	
	.company_cont .innerbox .txcont a.arrow_link figure{
		width:110px;
		margin:0 25px 0 0;
	}
	
	.company_cont .innerbox .txconta.arrow_link .txbox{
		width:calc(100% - 110px - 25px);
	}
	
	.company_cont .innerbox .txcont a.arrow_link .txbox .tl{
		font-size: 1.8rem;
		margin: 0 0 7px 0;
		color:#333;
	}
	
	.company_cont .innerbox .txcont a.arrow_link .txbox .tx{
		font-size: 1.2rem;
		line-height: 1.8em;
		letter-spacing: 0.1em;
		color:#666;
	}
	
	/*business_cont*/
	.business_cont{
		margin:0 0 130px 0;
	}
	
	.business_cont .headcont{
		padding:0 0 0 max(5vw,calc((100% - 1200px) / 2 ));
		width:100%;
		max-width: 100%;
		margin:0 0 7vw 0;
		position: relative;
		z-index: 1;
	}
	
	.business_cont .headcont .common_tlcont{
		position: absolute;
		bottom:-8vw;
		left:0;
		background:#fff;
		padding:5vw 5vw 5vw;
		min-width: calc(50% - 5vw) !important;
		margin:0 0 0 max(5vw,calc((100% - 1200px) / 2 ));
		width: auto;
	}
	
	.business_cont .innerbox{
		width:90%;
		margin:0 auto;
		max-width: 1065px;
		position: relative;
		z-index: 2;
	}
	
	.business_cont .innerbox p.mtx{
		font-size: 1.6rem;
		line-height: 2.5em;
		margin:0 0 50px 0;
		letter-spacing: 0.1em;
	}
	
	.business_cont .innerbox .linklist{
		padding:0 0 10px 0;
		margin: 0 0 0 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width:100%;
		box-sizing: border-box;
	}
	
	.business_cont .innerbox a.arrow_link{
		width:calc((100% - 60px) / 2);
		background:#fff;
		padding:25px 45px 25px 0 !important;
		display: flex;
		align-items: center;
	}
	
	.business_cont .innerbox a.arrow_link figure{
		width:110px;
		margin:0 25px 0 0;
	}
	
	.business_cont .innerbox a.arrow_link .txbox{
		width:calc(100% - 110px - 25px);
	}
	
	.business_cont .innerbox a.arrow_link .txbox .tl{
		font-size: 1.8rem;
		margin: 0 0 7px 0;
		color:#333;
		font-weight: 500;
	}
	
	.business_cont .innerbox a.arrow_link .txbox .tx{
		font-size: 1.2rem;
		line-height: 1.8em;
		letter-spacing: 0.1em;
		color:#666;
	}
	
	/*solution_cont*/
	.solution_cont{
		padding: 0 0 130px 0;
	}
	
	.solution_cont .innerbox{
		width:90%;
		margin:0 auto;
		max-width: 1065px;
		display: flex;
		justify-content: space-between;
	}
	
	.solution_cont .innerbox .txcont{
		width:calc(50% - min(10vw,120px));
	}
	
	.solution_cont .innerbox .txcont p.tx{
		font-size: 1.6rem;
		line-height: 2.5em;
		color:#424242;
		margin: 0 0 50px 0;
	}
	
	.solution_cont .innerbox .txcont a{
		padding:30px 35px 30px 20px;
		width:235px;
		display:block;
	}
	
	.solution_cont .innerbox figure{
		width:50%;
	}
	
	/*factory_cont*/
	.factory_cont{
		padding:0 0 130px 0;
	}
	
	.factory_cont .innerbox{
		width:90%;
		margin:0 auto;
		max-width: 1065px;
	}
	
	.factory_cont .innerbox .tlcont{
		display: flex;
		align-items: center;
		margin:0 0 50px 0;
	}
	
	.factory_cont .innerbox .tlcont .common_tlcont{
		margin:0 0 0 0;
	}
	
	.factory_cont .innerbox .tlcont p.cap{
		font-size: 1.6rem;
		line-height: 2.5em;
		color:#424242;
		padding:0 0 0 80px;
		border-left:1px solid #e3e3e3;
		margin:0 0 0 80px;
		letter-spacing: 0.1em;
	}
	
	.factory_cont .innerbox .flexbox{
		display:flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	
	.factory_cont .innerbox .flexbox a{
		display: block;
		position: relative;
		width:calc((100% - 60px) / 2);
	}
	
	.factory_cont .innerbox .flexbox a:nth-child(2){
		margin:60px 0 0 0;
	}
	
	.factory_cont .innerbox .flexbox a figure{
		width:100%;
		padding-top:100%;
		position: relative;
		overflow: hidden;
	}
	
	.factory_cont .innerbox .flexbox a figure img{
		width:100%;
		height: 100%;
		position: absolute;
		top:0;
		left:0;
		transition: all 0.5s;
		transform: scale(1);
		z-index: 1;
	}
	
	.factory_cont .innerbox .flexbox a:hover figure img{
		transform: scale(1.1);
	}
	
	.factory_cont .innerbox .flexbox a .bottom{
		background:#fff;
		padding:20px 40px;
		position: absolute;
		bottom:0;
		right:0;
		font-size: 1.6rem;
		font-weight: 600;
		letter-spacing: 0.1em;
		z-index: 2;
	}
	
	.factory_cont .innerbox .flexbox a:nth-child(1) .bottom::after{
		content: "";
		width: 13px;
  		height: 13px;
  		background:url("/images/index/arrow.svg") no-repeat;
		background-size: contain;
		display: inline-block;
		margin:0 0 0 20px;
		position: relative;
	}
	
	.factory_cont .innerbox .flexbox a:nth-child(2) .bottom::after{
		content: "";
		width: 13px;
  		height: 13px;
  		background:url("/images/common/blank_b.svg") no-repeat;
		background-size: contain;
		display: inline-block;
		margin:0 0 0 20px;
		position: relative;
	}
	
	/*recruit_cont*/
	.recruit_cont{
		padding:130px 0;
		background:url("/images/index/recruit_bg.jpg") no-repeat;
		background-size: cover;
		background-position: center center;
	}
	
	.recruit_cont .innerbox{
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		width:90%;
		margin:0 auto;
	}
	
	.recruit_cont .innerbox h2{
		max-width: 990px;
		widdth:100%;
		margin:0 auto;
	}
	
	.recruit_cont .innerbox p{
		font-size: 1.6rem;
		line-height: 2em;
		font-weight: 300;
		color:#fff;
		text-align: center;
		letter-spacing: 0.2em;
		margin:20px 0 0 0;
	}
	
	.recruit_cont a{
		font-size: 1.5rem;
		color:#fff;
		padding-bottom:10px;
		border-bottom:1px solid #fff;
		transition: all 0.3s;
		margin:50px 0 0 0;
		display: inline-block;
	}
	
	.recruit_cont a:hover{
		opacity: 0.7;
	}
	
	.recruit_cont a::after{
		content: "";
		width: 13px;
  		height: 13px;
  		background:url("/images/common/blank.svg") no-repeat;
		background-size: contain;
		display: inline-block;
		margin:0 0 0 5px;
		position: relative;
	}
	
	/*news*/
	.news_cont{
		width:90%;
		max-width: 1065px;
		margin:0 auto;
		padding:130px 0;
	}
	
	.news_cont .innerbox{
		display: flex;
		justify-content: space-between;
		width:100%;
		flex-wrap: wrap;
	}
	
	.news_cont .innerbox .left_cont{
		width:280px;
	}
	
	.news_cont .innerbox .left_cont .cate_list{
		width:160px;
	}
	
	.news_cont .innerbox .left_cont .cate_list li{
		padding:15px 25px;
		transition: all 0.3s;
		cursor: pointer;
		position: relative;
	}
	
	.news_cont .innerbox .left_cont .cate_list li:hover{
		color:#460d43;
	}
	
	.news_cont .innerbox .left_cont .cate_list li.active{
		color:#460d43;
		font-weight: 600;
		border-bottom:1px solid #460d43;
	}
	
	.news_cont .innerbox .left_cont .cate_list li.active::before{
		content: "";
		width:15px;
		height:15px;
		border-radius: 50%;
		border:4px solid #460d43;
		display: block;
		position: absolute;
		left:0;
		top:calc(15px + 0.1em);
	}
	
	.news_cont .innerbox .left_cont .cate_list li.active::after{
		content: "";
		width: 0;
  		height: 0;
  		border-style: solid;
  		border-top: 3px solid transparent;
  		border-bottom: 3px solid transparent;
  		border-left: 5px solid #460d43;
  		border-right: 0;
		display: block;
		position: absolute;
		right:10px;
		top:calc(15px + 0.5em);
	}

	.news_cont #listbox{
		width:calc(100% - 280px);
	}
	
	.news_cont #listbox ul li a{
		display: flex;
		justify-content: space-between;
		align-items: center;
		border-bottom:1px dotted #9c9c9c;
		padding:20px 0;
		transition: all 0.2s;
	}
	
	.news_cont #listbox ul li a:hover{
		opacity: 0.7;
	}
	
	.news_cont #listbox ul li a .txcont{
		width:100%;
	}
	
	.news_cont #listbox ul li a .txcont .date_cate{
		width:100%;
		display: flex;
		margin:0 0 5px 0;
	}
	
	.news_cont #listbox ul li a .txcont .date{
		font-size: 1.3rem;
		letter-spacing: 0.05em;
		opacity: 0.5;
	}
	
	.news_cont #listbox ul li a .txcont .cate{
		font-size: 1.1rem;
		font-weight: 500;
		color:#283563;
		background:#fff;
		box-sizing: border-box;
		border:1px solid #283563;
		line-height: 1;
		padding:5px 10px 3px;
		border-radius: 3px;
		margin:0 0 0 15px;
		text-align: center;
	}
	
	.news_cont #listbox ul li a .txcont .tl{
		font-size: 1.5rem;
		line-height: 1.8em;
		font-weight: 400;
		letter-spacing: 0.1em;
		width:100%;
		margin:0 0 0 0;
		color:#333;
	}
	
	.news_cont .bottom_btn{
		display: flex;
		justify-content: flex-end;
		margin:50px 0 0 0;
		width:100%;
	}
	
	.news_cont .bottom_btn a{
		padding:30px 35px 30px 20px;
		width:235px;
		display:block;
	}
    
/* ==========================
  フローティングバナー（追従バナー）
========================== */
.bl_floatingBanner {
  position: fixed;
  bottom: 30px;
  right: 30px;
    z-index: 400;
}
.bl_floatingBanner.js_close {
  display: none;
}
.bl_floatingBanner_img {
  display: block;
  transition: 0.3s;
}
.bl_floatingBanner .bannerArea {
  width: 300px;
  max-width: 100%;
    z-index: 400;
    overflow: hidden;
    height: 161.8px;
    box-shadow: 0 15px 25px 0 rgba(0, 0, 0, .2);
    }
.bl_floatingBanner .bannerArea02Pc {
  width: 320px;
  max-width: 100%;
    z-index: 400;
    overflow: hidden;
    height: 93.46px;
    box-shadow: 0 15px 25px 0 rgba(0, 0, 0, .2);
    }
.bl_floatingBanner .bannerArea02Sp {
    display: none;
    }
.bl_floatingBanner_img:hover {
    transform: scale(1.1, 1.1);
}
.bl_floatingBanner_close {
  width: 22px;
  height: 22px;
  position: absolute;
  right: 0;
  top: -30px;
  cursor: pointer;
}
    
}

@media screen and (max-width:750px) {
	
	.mainvisual{
		height:150px;
		background:#fff;
		z-index: 3;
		position: relative;
	}
	
	.mainvisual .fixedbox{
		height:150px;
		width:100%;
		display: flex;
		align-items: center;
		position: fixed;
	}
	
	.mainvisual .fixedbox.absolute{
		position: absolute;
	}
	
	.mainvisual .innerbox{
		width:90%;
		max-width: 970px;
		margin: 0 auto;
	}
	
	.mainvisual .innerbox h1{
		font-size: min(6.7vw,3rem);
		font-weight: 700;
		letter-spacing: 0.1em;
		margin:0 0 5px 0;
		transition: color 0.5s;
	}
	
	.mainvisual .innerbox p{
		font-size: min(3vw,1.2rem);
		font-weight: bold;
		letter-spacing: 0.2em;
		line-height: 2em;
		transition: color 0.5s;
	}
	
	.mainvisual.co .innerbox h1{
		color:#fff;
	}
	
	.mainvisual.co .innerbox p{
		color:#fff;
	}
	
	#main_cont{
		position: relative;
		z-index: 1;
	}
	
	.video_bgcont{
		position: relative;
		padding-top:100vh;
		z-index: 1;
	}
	
	.video_bgcont .bgimg{
		width:100%;
		position: absolute;
		height:100vh;
		top:0;
		left:0;
		background:#000;
	}
	
	.video_bgcont .bgimg.fixed{
		width:100%;
		position: fixed;
		height:100vh;
		top:0;
		left:0;
	}
	
	.video_bgcont .bgimg .inbox{
		width:100%;
		height:100vh;
		position: relative;
	}
	
	.video_bgcont .bgimg .inbox video{
		position: absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		z-index: 1;
	}
	
	.video_bgcont .innerbox{
		width:90%;
		max-width: 970px;
		margin: 0 auto;
		position: relative;
		z-index: 2;
	}
	
	.video_bgcont .innerbox .mtlcont{
		padding-bottom:30px;
	}
	
	.video_bgcont .innerbox h1{
		font-size: min(6.7vw,3rem);
		font-weight: 700;
		letter-spacing: 0.1em;
		margin:0 0 5px 0;
		color:#fff;
		opacity: 0;
	}
	
	.video_bgcont .innerbox p{
		font-size: min(3vw,1.2rem);
		font-weight: bold;
		letter-spacing: 0.2em;
		line-height: 2em;
		color:#fff;
		opacity: 0;
	}
	
	.video_bgcont .innerbox .flexbox{
		display: flex;
		justify-content: space-between;
		margin:20px 0 60px 0;
		flex-direction: column
	}
	
	.video_bgcont .innerbox .flexbox .mtx{
		font-size: 1.4rem;
		line-height: 2em;
		color:#fff;
		letter-spacing: 0.2em;
		font-weight: 300;
		opacity: 1 !important;
	}
	
	.video_bgcont .innerbox .flexbox .btnbox{
		width:100%;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	.video_bgcont .innerbox .flexbox .btnbox .playbtn{
		width:150px;
		position: relative;
		padding:25px;
		box-sizing: border-box;
		cursor: pointer;
		transform: scale(0.6);
		margin:0 0 0 auto;
	}
	
	.video_bgcont .innerbox .flexbox .btnbox .playbtn::after{
		content: "";
		width:101%;
		height:101%;
		background:url("/images/index/en.svg") no-repeat;
		backgrouond-size:cover;
		display: block;
		position: absolute;
		top:0;
		left:0;
		animation:12s linear infinite rotation;
		transform-origin: center center;
	}
	
	.wbg_cont{
		background:#fff;
		position: relative;
		z-index: 2;
	}
	
	.common_tlcont{
		margin:0 0 30px 0;
	}
	
	.common_tlcont h2{
		font-weight: 600;
		font-size:3.2rem;
		letter-spacing: 0em;
		line-height: 1;
		margin:0 0 5px 0;
	}
	
	.common_tlcont .sub{
		font-size:1.3rem;
		letter-spacing: 0.1em;
		color:#797979;
	}
	
	/*company_cont*/
	.company_cont{
		width:100%;
		position: relative;
		margin: 0 0 60px 0;
	}
	
	.company_cont::after{
		content: "";
		width:100%;
		background:url("/images/index/company_bg.jpg") no-repeat;
		background-size: cover;
		height:30%;
		display: block;
		position: absolute;
		z-index: 1;
		top:0;
		left:0;
	}
	
	.company_cont .common_tlcont{
		width:90%;
		max-width: 1065px;
		margin:0 auto;
		position: relative;
		z-index: 2;
		padding:40px 0;
	}
	
	.company_cont .common_tlcont h2{
		color:#fff;
	}
	
	.company_cont .common_tlcont .sub{
		color:#fff;
	}
	
	.company_cont .innerbox{
		width:100%;
		max-width: 1200px;
		margin:0 auto;
		display: flex;
		justify-content: space-between;
		flex-direction: column;
		position: relative;
		z-index: 2;
		background:#fff;
	}
	
	.company_cont .innerbox figure{
		width:100%;
	}
	
	.company_cont .innerbox .txcont{
		width:100%;
		padding:30px 5% 0;
	}
	
	.company_cont .innerbox .txcont p.mtx{
		font-size: 1.4rem;
		line-height: 1.8em;
		margin:0 0 50px 0;
		letter-spacing: 0.1em;
	}
	
	.company_cont .innerbox .txcont .linklist{
		width:100%;
		margin: 0 0 0 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		box-sizing: border-box;
	}
	
	.company_cont .innerbox .txcont a.arrow_link{
		width:calc((100% - 20px) / 2);
		padding:15px 35px 15px 0px !important;
		display: flex;
		align-items: center;
		font-size: 1.4rem;
	}
	
	.company_cont .innerbox .txcont a.arrow_link:nth-child(3){
		border-top:none;
	}
	
	.company_cont .innerbox .txcont a.arrow_link figure{
		width:110px;
		margin:0 25px 0 0;
	}
	
	.company_cont .innerbox .txconta.arrow_link .txbox{
		width:calc(100% - 110px - 25px);
	}
	
	.company_cont .innerbox .txcont a.arrow_link .txbox .tl{
		font-size: 1.8rem;
		margin: 0 0 7px 0;
		color:#333;
	}
	
	.company_cont .innerbox .txcont a.arrow_link .txbox .tx{
		font-size: 1.2rem;
		line-height: 1.8em;
		letter-spacing: 0.1em;
		color:#666;
	}
	
	/*business_cont*/
	.business_cont{
		margin:0 0 60px 0;
	}
	
	.business_cont .headcont{
		padding:0 0 0 0;
		width:100%;
		max-width: 100%;
		margin:0 0 7vw 0;
		position: relative;
		z-index: 1;
	}
	
	.business_cont .headcont figure{
		width:100%;
		padding-top:46.66%;
		position: relative;
	}
	
	.business_cont .headcont figure img{
		position: absolute;
		top:0;
		left:0;
		width:100%;
		height: 100%;
	}
	
	.business_cont .headcont .common_tlcont{
		position: relative;
		background:#fff;
		padding:30px 5% 0;
		width: auto;
	}
	
	.business_cont .innerbox{
		width:90%;
		margin:0 auto;
		max-width: 1065px;
		position: relative;
		z-index: 2;
	}
	
	.business_cont .innerbox p.mtx{
		font-size: 1.4rem;
		line-height: 1.8em;
		margin:0 0 50px 0;
		letter-spacing: 0.1em;
	}
	
	.business_cont .innerbox .linklist{
		padding:0 0 0 0;
		margin: 0 0 0 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width:100%;
		box-sizing: border-box;
	}
	
	.business_cont .innerbox a.arrow_link{
		width:100%;
		background:#fff;
		padding:20px 35px 20px 0 !important;
		display: flex;
		align-items: center;
	}
	
	.business_cont .innerbox a.arrow_link:nth-child(2){
		border-top: none;
	}
	
	.business_cont .innerbox a.arrow_link figure{
		width:85px;
		margin:0 25px 0 0;
	}
	
	.business_cont .innerbox a.arrow_link .txbox{
		width:calc(100% - 85px - 20px);
	}
	
	.business_cont .innerbox a.arrow_link .txbox .tl{
		font-size: 1.4rem;
		margin: 0 0 0 0;
		color:#333;
		font-weight: 500;
	}
	
	.business_cont .innerbox a.arrow_link .txbox .tx{
		font-size: 1rem;
		line-height: 1.8em;
		letter-spacing: 0.1em;
		color:#666;
	}
	
	/*solution_cont*/
	.solution_cont{
		padding: 0 0 60px 0;
	}
	
	.solution_cont .innerbox{
		width:90%;
		margin:0 auto;
		max-width: 1065px;
		display: flex;
		justify-content: space-between;
		flex-direction: column;
	}
	
	.solution_cont .innerbox .txcont{
		width:100%;
	}
	
	.solution_cont .innerbox .txcont p.tx{
		font-size: 1.4rem;
		line-height: 1.8em;
		color:#424242;
		margin: 0 0 30px 0;
	}
	
	.solution_cont .innerbox .txcont a{
		padding:20px 35px 20px 10px;
		width:100%;
		display:block;
	}
	
	.solution_cont .innerbox figure{
		width:100%;
		order: -1;
		margin:0 0 40px 0;
	}
	
	/*factory_cont*/
	.factory_cont{
		padding:0 0 60px 0;
	}
	
	.factory_cont .innerbox{
		width:90%;
		margin:0 auto;
		max-width: 1065px;
	}
	
	.factory_cont .innerbox .tlcont{
		display: flex;
		align-items: flex-start;
		flex-direction: column;
		margin:0 0 30px 0;
	}
	
	.factory_cont .innerbox .tlcont .common_tlcont{
		margin:0 0 30px 0;
	}
	
	.factory_cont .innerbox .tlcont p.cap{
		font-size: 1.4rem;
		line-height: 1.8em;
		color:#424242;
		letter-spacing: 0.1em;
	}
	
	.factory_cont .innerbox .flexbox{
		display:flex;
		justify-content: space-between;
		align-items: flex-start;
		flex-direction: column;
	}
	
	.factory_cont .innerbox .flexbox a{
		display: block;
		position: relative;
		width:100%;
	}
	
	.factory_cont .innerbox .flexbox a:nth-child(2){
		margin:30px 0 0 0;
	}
	
	.factory_cont .innerbox .flexbox a figure{
		width:100%;
		padding-top:100%;
		position: relative;
		overflow: hidden;
	}
	
	.factory_cont .innerbox .flexbox a figure img{
		width:100%;
		height: 100%;
		position: absolute;
		top:0;
		left:0;
		transition: all 0.5s;
		transform: scale(1);
		z-index: 1;
	}
	
	.factory_cont .innerbox .flexbox a:hover figure img{
		transform: scale(1.1);
	}
	
	.factory_cont .innerbox .flexbox a .bottom{
		background:#fff;
		padding:15px 20px 15px 0;
		position: absolute;
		bottom:0;
		left:0;
		font-size: 1.5rem;
		font-weight: 600;
		letter-spacing: 0.1em;
		z-index: 2;
	}
	
	.factory_cont .innerbox .flexbox a:nth-child(1) .bottom::after{
		content: "";
		width: 13px;
  		height: 13px;
  		background:url("/images/index/arrow.svg") no-repeat;
		background-size: contain;
		display: inline-block;
		margin:0 0 0 20px;
		position: relative;
	}
	
	.factory_cont .innerbox .flexbox a:nth-child(2) .bottom::after{
		content: "";
		width: 13px;
  		height: 13px;
  		background:url("/images/common/blank_b.svg") no-repeat;
		background-size: contain;
		display: inline-block;
		margin:0 0 0 20px;
		position: relative;
	}
	
	/*recruit_cont*/
	.recruit_cont{
		padding:40px 0;
		background:url("/images/index/recruit_bg.jpg") no-repeat;
		background-size: cover;
		background-position: center center;
	}
	
	.recruit_cont .innerbox{
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		width:90%;
		margin:0 auto;
	}
	
	.recruit_cont .innerbox h2{
		max-width: 990px;
		widdth:100%;
		margin:0 auto;
	}
	
	.recruit_cont .innerbox p{
		font-size: 1.2rem;
		line-height: 2em;
		font-weight: 300;
		color:#fff;
		text-align: center;
		letter-spacing: 0.2em;
	}
	
	.recruit_cont a{
		font-size: 1.2rem;
		color:#fff;
		padding-bottom:10px;
		border-bottom:1px solid #fff;
		transition: all 0.3s;
		margin:10px 0 0 0;
		display: inline-block;
	}
	
	.recruit_cont a:hover{
		opacity: 0.7;
	}
	
	.recruit_cont a::after{
		content: "";
		width: 13px;
  		height: 13px;
  		background:url("/images/common/blank.svg") no-repeat;
		background-size: contain;
		display: inline-block;
		margin:0 0 0 5px;
		position: relative;
	}
	
	/*news*/
	.news_cont{
		width:90%;
		max-width: 1065px;
		margin:0 auto;
		padding:60px 0;
	}
	
	.news_cont .innerbox{
		display: flex;
		justify-content: space-between;
		flex-direction: column;
		width:100%;
		flex-wrap: wrap;
	}
	
	.news_cont .innerbox .left_cont{
		width:100%;
	}
	
	.news_cont .innerbox .left_cont .cate_list{
		width:100%;
		display: flex;
		flex-wrap: wrap;
		margin: 0 0 10px 0;
	}
	
	.news_cont .innerbox .left_cont .cate_list li{
		padding:0 0 0 0;
		margin:0 20px 10px 0;
		cursor: pointer;
		position: relative;
		font-size: 1.3rem;
	}
	
	.news_cont .innerbox .left_cont .cate_list li.active{
		color:#460d43;
		font-weight: 600;
		border-bottom:1px solid #460d43;
	}

	.news_cont #listbox{
		width:100%;
	}
	
	.news_cont #listbox ul li a{
		display: flex;
		justify-content: space-between;
		align-items: center;
		border-bottom:1px dotted #9c9c9c;
		padding:15px 0;
		transition: all 0.2s;
	}
	
	.news_cont #listbox ul li a:hover{
		opacity: 0.7;
	}
	
	.news_cont #listbox ul li a .txcont{
		width:100%;
	}
	
	.news_cont #listbox ul li a .txcont .date_cate{
		width:100%;
		display: flex;
		margin:0 0 5px 0;
	}
	
	.news_cont #listbox ul li a .txcont .date{
		font-size: 1.2rem;
		letter-spacing: 0.05em;
		opacity: 0.5;
	}
	
	.news_cont #listbox ul li a .txcont .cate{
		font-size: 1.1rem;
		font-weight: 500;
		color:#283563;
		background:#fff;
		box-sizing: border-box;
		border:1px solid #283563;
		line-height: 1;
		padding:5px 10px 3px;
		border-radius: 3px;
		margin:-2px 0 0 15px;
		text-align: center;
	}
	
	.news_cont #listbox ul li a .txcont .tl{
		font-size: 1.4rem;
		line-height: 1.8em;
		font-weight: 400;
		letter-spacing: 0.1em;
		width:100%;
		margin:0 0 0 0;
		color:#333;
	}
	
	.news_cont .bottom_btn{
		display: flex;
		justify-content: flex-end;
		margin:50px 0 0 0;
		width:100%;
	}
	
	.news_cont .bottom_btn a{
		padding:20px 35px 20px 10px;
		width:100%;
		display:block;
	}
    
/* ==========================
  フローティングバナー（追従バナー）
========================== */
.bl_floatingBanner {
  position: fixed;
  bottom: 20px;
  right: 0;
    z-index: 400;
}
.bl_floatingBanner.js_close {
  display: none;
}
.bl_floatingBanner_img {
  display: block;
  transition: 0.3s;
}
.bl_floatingBanner .bannerArea {
  width: 300px;
  max-width: 100%;
    z-index: 400;
    overflow: hidden;
    height: 161.8px;
    box-shadow: 0 15px 25px 0 rgba(0, 0, 0, .2);
    }
.bl_floatingBanner .bannerArea02Pc {
    display: none;
    }
.bl_floatingBanner .bannerArea02Sp {
  width: 80%;
    margin: 0 auto;
    z-index: 400;
    overflow: hidden;
    box-shadow: 0 15px 25px 0 rgba(0, 0, 0, .2);
    }
.bl_floatingBanner_close {
  width: 22px;
  height: 22px;
  position: absolute;
  right: 10%;
  top: -26px;
  cursor: pointer;
}
}

@keyframes rotation{
  0%{ transform:rotate(0);}
  100%{ transform:rotate(360deg); }
}

