@charset "UTF-8";

/*news*/
@media screen and (min-width:751px) {
	header .innerbox .slidenav nav a.business{
		position:relative;
	}
	
	header .innerbox .slidenav nav a.business::before{
		content: "";
		width:100%;
		border-bottom:1px solid #000;
		position: absolute;
		bottom:-5px;
		left:0;
	}
	
	.mainvisual.page.index{
		padding:0 0 0 max(5vw,calc((100% - 1200px) / 2 ));
		margin-bottom:130px;
		width:100%;
		max-width: 100%;
	}
	
	.mainvisual.page{
		padding:0 0;
		width:90%;
		max-width: 1200px;
		margin:0 auto 130px;
	}
	
	.mainvisual.page.index .innerbox{
		width:100%;
		position: relative;
	}
	
	.mainvisual.page.index .tlcont{
		position: absolute;
		bottom:0;
		left:0;
		background:#fff;
		padding:5vw 5vw 0;
		min-width: calc(50% - 2.5vw) !important;
		width: auto;
	}
	
	.mainvisual.page .tlcont{
		position:relative;
		bottom:0;
		left:0;
		background:#fff;
		padding:20px 0 70px;
		max-width:1065px;
		margin:0 auto;
		width:100%;
	}
	
	.mainvisual.page .tlcont h1{
		font-weight: 600;
		font-size: 5.6rem;
		letter-spacing: 0.025em;
		margin:10px 0 5px 0;
	}
	
	.mainvisual.page .tlcont .sub{
		font-size: 1.6rem;
		letter-spacing: 0.1em;
		color:#666;
	}
	
	/*cont_box*/
	.cont_box{
		width:90%;
		margin:0 auto 100px;
		max-width: 1065px;
	}
	
	.cont_box.w100{
		width:1000%;
		margin:0 auto 100px;
		max-width: 100%;
	}
	
	.cont_box:last-child{
		margin:0 auto 130px;
	}
	
	.cont_box h2{
		font-size: 2.3rem;
		line-height: 1.6em;
		color:#333333;
		letter-spacing: 0.025em;
		font-weight: 600;
		margin:0 0 20px 0;
	}
	
	.cont_box.w100 h2{
		width:90%;
		margin:0 auto 25px;
		max-width: 1065px;
	}
	
	.cont_box p.mtx{
		font-size: 1.5rem;
		line-height: 2.4em;
		color:#333333;
		letter-spacing: 0.025em;
	}
	
	.cont_box .index_list_cont{
		width:100%;
		padding:0 50px;
		background:#fff;
		margin:50px 0 0 0;
	}
	
	.cont_box .index_list_cont .innerbox{
		padding:0;
		background:#fff;
		border-radius: 15px;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
	}
	
	.cont_box .index_list_cont .innerbox h3{
		border:1px solid #8f8f8f;
		font-weight: 600;
		font-size: 2rem;
		padding:15px 40px;
		line-height: 1.6em;
		letter-spacing: 0.1em;
		background:repeating-linear-gradient(45deg, #e5e5e5, #e5e5e5 1px,#fff 0, #fff 5px);
	}
	
	.cont_box .index_list_cont .innerbox .plus{
		padding:40px 0;
		display: flex;
		justify-content: center;
	}
	
	.cont_box .index_list_cont .innerbox .plus img{
		width:27px;
	}
	
	.cont_box.w100 .flexbox{
		display: flex;
		justify-content: space-between;
		margin:0 0 80px 0;
	}
	
	.cont_box.w100 .flexbox .txlist{
		width:50%;
		padding:0 0 0 max(5vw,calc((100% - 1065px) / 2));
	}
	
	.cont_box.w100 .flexbox.box2 .txlist{
		width:50%;
		padding:0 max(5vw,calc((100% - 1065px) / 2)) 0 0;
	}
	
	.cont_box.w100 .flexbox .ph{
		width:50%;
		padding:0 0 0 min(5vw,50px);
	}
	
	.cont_box.w100 .flexbox.box2 .ph{
		width:50%;
		padding:0 min(5vw,50px) 0 0;
		order:-1;
	}
	
	.cont_box.w100 .flexbox .txlist{
		display: flex;
	}
	
	.cont_box.w100 .flexbox .txlist .list{
		margin:0 30px -50px 0;
	}
	
	.cont_box.w100 .flexbox .txlist .list .tl{
		font-size: 1.6rem;
		font-weight: 600;
		color:#333;
		margin:0 0 10px 0;
		padding:0 0 10px 0;
		border-bottom:1px solid #333;
	}
	
	.cont_box.w100 .flexbox .txlist .list ul{
		margin:0 0 50px 0;
	}
	
	
	.cont_box.w100 .flexbox .txlist .list ul li{
		font-size: 1.5rem;
		line-height: 1.8em;
		text-indent:-1em;
		padding-left: 1em;
		margin:0 0 5px 0;
		white-space: nowrap;
	}
	
	.cont_box.w100 .flexbox .txlist .list ul li:before{
		content: "・";
		width:1em;
	}
	
	.cont_box .ph_flexbox{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin:0 0 -50px 0;
	}
	
	.cont_box .ph_flexbox .box{
		width:calc((100% - 80px) / 3);
		margin:0 0 50px 0;
	}
	
	.cont_box .ph_flexbox.box2 .box{
		width:calc((100% - 40px) / 2);
		margin:0 0 50px 0;
	}
	
	.cont_box .ph_flexbox .box .caption{
		padding:10px 0 0;
		font-size: 1.4rem;
		line-height: 1.8em;
		text-align: center;
		letter-spacing: 0;
	}
	
	/*include*/
	#business_list{
		padding:70px 0;
		background:#f5f6f6;
	}
	
	#business_list .innerbox{
		width:90%;
		margin:0 auto;
		max-width: 1065px;
	}
	
	#business_list .innerbox .tl{
		font-size: 2.4rem;
		font-weight: 600;
		line-height: 1.6em;
		letter-spacing: 0.1em;
		margin:0 0 20px 0;
		display: flex;
		align-items: center;
	}
	
	#business_list .innerbox .tl span{
		width:25px;
		height:25px;
		border-radius: 50%;
		background:#460d43;
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 0 10px 0 0;
	}
	
	#business_list .innerbox .tl span::before{
		content: "";
		width: 6px;
  		height: 6px;
  		background: none;
		transform: rotate(-45deg) skew(10deg, 10deg);
		border-right:1px solid #fff;
		border-bottom:1px solid #fff;
		transition: all 0.3s;
		position: relative;
		z-index: 2;
		left:-2px;
	}
	
	#business_list .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_list .innerbox a.arrow_link{
		width:calc((100% - 20px) / 2);
		border-radius: 5px;
		border:1px solid #e9e9e9;
		margin:0 0 10px 0;
		background:#fff;
		overflow: hidden;
		padding:25px 45px 25px 25px !important;
		display: flex;
		align-items: center;
	}
	
	#business_list .innerbox a.arrow_link span{
		border: none;
	}
	
	#business_list .innerbox a.arrow_link figure{
		width:110px;
		margin:0 25px 0 0;
	}
	
	#business_list .innerbox a.arrow_link .txbox{
		width:calc(100% - 110px - 25px);
	}
	
	#business_list .innerbox a.arrow_link .txbox .tl{
		font-size: 1.8rem;
		margin: 0 0 7px 0;
		color:#333;
		font-weight: 500;
	}
	
	#business_list .innerbox a.arrow_link .txbox .tx{
		font-size: 1.2rem;
		line-height: 1.8em;
		letter-spacing: 0.1em;
		color:#666;
	}
}

@media screen and (max-width:750px) {
	.mainvisual.page.index{
		padding:0 0 0 0;
		margin-bottom:50px;
		width:100%;
		max-width: 100%;
	}
	
	.mainvisual.page{
		padding:0 0;
		width:90%;
		max-width: 1200px;
		margin:0 auto 50px;
	}
	
	.mainvisual.page.index .innerbox{
		width:100%;
		position: relative;
	}
	
	.mainvisual.page.index .tlcont{
		position: absolute;
		bottom:0;
		left:0;
		background:#fff;
		padding:3vw 5vw 0;
		min-width: calc(50% - 2.5vw) !important;
		width: auto;
	}
	
	.mainvisual.page .tlcont.pb0{
		position:relative;
		bottom:0;
		left:0;
		background:#fff;
		padding:20px 0 0;
		max-width:1065px;
		margin:0 auto;
		width:100%;
	}
	
	.mainvisual.page .tlcont{
		position:relative;
		bottom:0;
		left:0;
		background:#fff;
		padding:20px 0 30px;
		max-width:1065px;
		margin:0 auto;
		width:100%;
	}
	
	.mainvisual.page .tlcont h1{
		font-weight: 600;
		font-size: 3rem;
		letter-spacing: 0.025em;
		margin:0 0 0 0;
	}
	
	.mainvisual.page .tlcont .sub{
		font-size: 1.3rem;
		letter-spacing: 0.1em;
		color:#666;
	}
	
	.mainvisual.page figure{
		width:100%;
		padding-top:56.66%;
		position: relative;
	}
	
	.mainvisual.page figure img{
		position: absolute;
		top:0;
		left:0;
		width:100%;
		height: 100%;
	}
	
	/*cont_box*/
	.cont_box{
		width:90%;
		margin:0 auto 50px;
		max-width: 1065px;
	}
	
	.cont_box.w100{
		width:1000%;
		margin:0 auto 50px;
		max-width: 100%;
	}
	
	.cont_box h2{
		font-size: 2rem;
		line-height: 1.6em;
		color:#333333;
		letter-spacing: 0.025em;
		font-weight: 600;
		margin:0 0 10px 0;
	}
	
	.cont_box.w100 h2{
		width:90%;
		margin:0 auto 25px;
		max-width: 1065px;
	}
	
	.cont_box p.mtx{
		font-size: 1.4rem;
		line-height: 1.8em;
		color:#333333;
		letter-spacing: 0.025em;
	}
	
	.cont_box .business_imgbox{
		width:70%;
		margin:0 auto;
	}
	
	.cont_box .index_list_cont{
		width:100%;
		padding:10px;
		background:#f1f1f1;
		margin:50px 0 0 0;
	}
	
	.cont_box .index_list_cont .innerbox{
		padding:20px 15px;
		background:#fff;
		border-radius: 10px;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
	}
	
	.cont_box .index_list_cont .innerbox h3{
		border:1px solid #8f8f8f;
		font-weight: 600;
		font-size: 1.6rem;
		padding:10px 10px;
		line-height: 1.6em;
		letter-spacing: 0.1em;
		background:repeating-linear-gradient(45deg, #e5e5e5, #e5e5e5 1px,#fff 0, #fff 5px);
	}
	
	.cont_box .index_list_cont .innerbox .plus{
		padding:40px 0;
		display: flex;
		justify-content: center;
	}
	
	.cont_box .index_list_cont .innerbox .plus img{
		width:20px;
	}
	
	.cont_box.w100 .flexbox{
		display: flex;
		justify-content: space-between;
		flex-direction: column;
		margin:0 auto 50px;
		width:90%;
	}
	
	.cont_box.w100 .flexbox .txlist{
		width:100%;
		padding:0 0 0 0;
		margin:0 0 -30px 0;
	}
	
	.cont_box.w100 .flexbox.box2 .txlist{
		width:100%;
		padding:0 0 0 0;
	}
	
	.cont_box.w100 .flexbox .ph{
		width:100%;
		padding:0 0 20px 0;
		order:-1;
	}
	
	.cont_box.w100 .flexbox .txlist{
		display: flex;
		justify-content: space-between;
	}
	
	.cont_box.w100 .flexbox .txlist .list{
		width:calc((100% - 20px) / 2);
	}
	
	.cont_box.w100 .flexbox .txlist .list .tl{
		font-size: 1.5rem;
		font-weight: 600;
		color:#333;
		margin:0 0 10px 0;
		padding:0 0 10px 0;
		border-bottom:1px solid #333;
	}
	
	.cont_box.w100 .flexbox .txlist .list ul{
		margin:0 0 30px 0;
	}
	
	
	.cont_box.w100 .flexbox .txlist .list ul li{
		font-size: 1.4rem;
		line-height: 1.8em;
		text-indent:-1em;
		padding-left: 1em;
		margin:0 0 5px 0;
	}
	
	.cont_box.w100 .flexbox .txlist .list ul li:before{
		content: "・";
		width:1em;
	}
	
	.cont_box .ph_flexbox{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin:0 0 -30px 0;
	}
	
	.cont_box .ph_flexbox .box{
		width:100%;
		margin:0 0 30px 0;
	}
	
	.cont_box .ph_flexbox.box2 .box{
		width:100%;
		margin:0 0 30px 0;
	}
	
	.cont_box .ph_flexbox .box .caption{
		padding:10px 10px 0;
		font-size: 1.4rem;
		line-height: 1.8em;
		text-align: center;
		letter-spacing: 0.025em;
	}
	
	/*include*/
	#business_list{
		padding:50px 0;
		background:#f5f6f6;
	}
	
	#business_list .innerbox{
		width:90%;
		margin:0 auto;
		max-width: 1065px;
	}
	
	#business_list .innerbox .tl{
		font-size: 1.5rem;
		font-weight: 600;
		line-height: 1.6em;
		letter-spacing: 0.1em;
		margin:0 0 20px 0;
		display: flex;
		align-items: center;
	}
	
	#business_list .innerbox .tl span{
		width:16px;
		height:16px;
		border-radius: 50%;
		background:#460d43;
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 0 10px 0 0;
	}
	
	#business_list .innerbox .tl span::before{
		content: "";
		width: 4px;
  		height: 4px;
  		background: none;
		transform: rotate(-45deg) skew(10deg, 10deg);
		border-right:1px solid #fff;
		border-bottom:1px solid #fff;
		transition: all 0.3s;
		position: relative;
		z-index: 2;
		left:-1px;
	}
	
	#business_list .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_list .innerbox a.arrow_link{
		width:100%;
		margin:0 0 0 0;
		padding:20px 35px 20px 0 !important;
		display: flex;
		align-items: center;
	}
	
	#business_list .innerbox a.arrow_link span.linkarrow{
		width:25px;
		position: absolute;
		display: flex;
		justify-content: center;
		align-items: center;
		height:calc(100% + 2px);
		top:-1px;
		right:0;
	}

	#business_list .innerbox a.arrow_link span.linkarrow::after{
		content: "";
		position: absolute;
		top:0;
		right:0;
		background:#000;
		width:25px;
		height:calc(100% + 1px);
		transition: all 0.3s;
		transform: scaleX(0);
		transform-origin: left;
		z-index: 1;
	}
	
	#business_list .innerbox a.arrow_link:hover span.linkarrow::after{
		transform: scaleX(1);
	}
	
	#business_list .innerbox a.arrow_link figure{
		width:85px;
		margin:0 25px 0 0;
	}
	
	#business_list .innerbox a.arrow_link .txbox{
		width:calc(100% - 85px - 20px);
	}
	
	#business_list .innerbox a.arrow_link .txbox .tl{
		font-size: 1.4rem;
		margin: 0 0 0 0;
		color:#333;
		font-weight: 500;
	}
	
	#business_list .innerbox a.arrow_link .txbox .tx{
		font-size: 1rem;
		line-height: 1.8em;
		letter-spacing: 0.1em;
		color:#666;
	}
}