@charset "utf-8";


/*-------------------------------
	キービジュアル
-------------------------------*/

.Keyvisual{
	background-image: url(../images/works/bg_keyvisual.jpg);
    background-image: image-set(url(../images/works/bg_keyvisual.jpg) 1x, url(../images/works/bg_keyvisual@2x.jpg) 2x);
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

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

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

	.Keyvisual{
		background-image: url(../images/works/sp_bg_keyvisual.jpg);
		background-image: image-set(url(../images/works/sp_bg_keyvisual.jpg) 1x, url(../images/works/sp_bg_keyvisual@2x.jpg) 2x);
	}

}


/*-------------------------------
	共通の色設定
-------------------------------*/
:root{
	--color-M-miyuki:	#0070B8;
	--color-M-sub:	 #6ABAFF;
	--color-M-shoji:	 #4C83DE;
	--color-M-hudosan:	 #4EBACB;
	--color-M-kensetu:	#db7093;

	--bg-M-miyuki:	  #ECF2F7;
	/* --bg-M-sub:	  rgba(35,193,240,0.2); */
	--bg-M-sub:	  rgba(35,193,240,0.2);
	--bg-M-shoji:	  rgba(76,131,222,0.2);
	--bg-M-hudosan:	  rgba(78,186,203,0.2);
	--bg-M-kensetu:	  #FAE2EA;
}

/*-------------------------------
	部門紹介導入　Dpm-intro
-------------------------------*/
.Dpm-intro{
	padding-bottom: var(--padding-topbottom-wide);
}
.Dpm-intro__title{
	margin-bottom: 15.84rem; /*19.8rem;*/
}
.Dpm-intro .C-sub-title{
	margin-bottom: 3.44rem; /*4.3rem;*/
}
.Dpm-intro__list{
	width: 100%;
	display: flex;
		justify-content: center;
		align-items: stretch;
		flex-wrap: wrap;
	gap: 1.5rem 1rem;
}
.Dpm-intro__list .Dpm-intro__item{
	width: calc((100% - (1rem * 3 )) / 4);
	padding-top: 5.7rem; /*icon分*/
	min-width: 26.7rem;
}
.Dpm-intro__out-item{ /*---御幸建設*/
	margin-top: 1.5rem;
	width: 100%;
   		max-width: 82.2rem;
}
.Dpm-intro__list .Dpm-intro__item a,
.Dpm-intro__out-item a{
	/*padding: 7.5rem 2.8rem 7.5rem 2.8rem;*/
	padding: 6.5rem 2.8rem 7rem 2.8rem;
	width: 100%;
	height: 100%;
	border-radius: 1.5rem;
	display: block;
	position: relative;
}
.Dpm-intro__list .Dpm-intro__item a{
}
	.Dpm-intro__out-item a{ /*---御幸建設*/
		padding: 2rem 3rem 2rem 3rem;
		display: flex;
			justify-content: center;
			align-items: center;
		gap: 5rem;
	}
	.Dpm-intro__item.-M-miyuki a{	background: var(--bg-M-miyuki);}
	.Dpm-intro__item.-M-sub a{	background: var(--bg-M-sub);}
	.Dpm-intro__item.-M-shoji a{	background: var(--bg-M-shoji);}
	.Dpm-intro__item.-M-hudosan a{	pointer-events: none; background: var(--bg-M-hudosan);}
	.Dpm-intro__out-item.-M-kensetu a, .Dpm-intro__item.-M-kensetu a{	background: var(--bg-M-kensetu);}


	/*矢印*/
		.Dpm-intro__item.-M-miyuki a::after{	background: url(../images/work-departments/Dpm-intro__arrow01.svg) center no-repeat; background-size: contain;}
		.Dpm-intro__item.-M-sub a::after{	background: url(../images/work-departments/Dpm-intro__arrow02.svg) center no-repeat; background-size: contain;}	
		.Dpm-intro__item.-M-shoji a::after{	background: url(../images/work-departments/Dpm-intro__arrow03.svg) center no-repeat; background-size: contain;}	
		.Dpm-intro__item.-M-hudosan a::after{	display: none;}
	.Dpm-intro__item a::after{ 
		width: 1.8rem;
		height: 1.8rem;			
		position: absolute;
			left: 50%;
			bottom: 3.5rem;
			transform: translateX(-50%);
			-webkit-transform: translateX(-50%);
		display: block;
		content: "";
	}
		.Dpm-intro__out-item.-M-kensetu a .Dpm-intro__childList{	position: relative;}
		.Dpm-intro__out-item.-M-kensetu a .Dpm-intro__childList::after{ /*---御幸建設(リスト基準）*/
			width: 1.8rem;
			height: 1.8rem;
			background: url(../images/work-departments/Dpm-intro__arrow05.svg);
				background-size: contain;
				background-repeat: no-repeat;
				background-position: center;
			position: absolute;
				right: -5rem;
				top: 50%;
				bottom: 3.5rem;
				transform: translateY(-50%) ;
				-webkit-transform: translateY(-50%) ;
			display: block;
			content: "";
		}
	/*矢印*/
.Dpm-intro__item .Dpm-intro__icon {
	width: 10rem; /*11.4rem;*/
	height: 10rem; /*11.4rem;*/
		border-radius: 50%;
		background: #fff;
	position: absolute;
		left: 50%;
		top: -5.7rem;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
	display: flex;
		align-items: center;
		justify-content: center;
}
	.Dpm-intro__item.-M-miyuki .Dpm-intro__icon{ border: 0.4rem solid var(--color-M-miyuki);}
	.Dpm-intro__item.-M-sub .Dpm-intro__icon{ border: 0.4rem solid var(--color-M-sub);}
	.Dpm-intro__item.-M-shoji .Dpm-intro__icon{ border: 0.4rem solid var(--color-M-shoji);}
	.Dpm-intro__item.-M-hudosan .Dpm-intro__icon{ border: 0.4rem solid var(--color-M-hudosan);}

.Dpm-intro__item .Dpm-intro__icon img{
	width: 5.4rem; /*6rem;*/
	height: 5.4rem; /*6rem;*/
}
	.Dpm-intro__item.-M-miyuki .Dpm-intro__icon img{ width: 4.2rem;	height: 5.3rem;}

.Dpm-intro__item .Dpm-intro__mds,
.Dpm-intro__out-item .Dpm-intro__mds{
	font-size: 2.2rem; /* 2.6rem;*/
		font-weight: 700;
		text-align: center;
		letter-spacing: 0;
		line-height: 1.8;		                      
}
.Dpm-intro__item .Dpm-intro__mds{
	margin-bottom: 3.36rem; /*4.2rem;*/
	line-height: 1;
}
	.Dpm-intro__item.-M-miyuki .Dpm-intro__mds{	color: var(--color-M-miyuki);}
	.Dpm-intro__item.-M-sub .Dpm-intro__mds{	color: var(--color-M-sub);}
	.Dpm-intro__item.-M-shoji .Dpm-intro__mds{	color: var(--color-M-shoji);}
	.Dpm-intro__item.-M-hudosan .Dpm-intro__mds{	margin-bottom: 0; color: var(--color-M-hudosan);}
	.Dpm-intro__out-item.-M-kensetu .Dpm-intro__mds, .Dpm-intro__item.-M-kensetu .Dpm-intro__mds{	color: var(--color-M-kensetu);}
.Dpm-intro__item .Dpm-intro__childList {
	width: 100%;
	display: flex;
		flex-direction: column;
		align-items: center;
	gap: 1.6rem;
}
.Dpm-intro__out-item .Dpm-intro__childList{
	display: flex;
		flex-direction: row;
		align-items: center;
	gap: 1.6rem;

}

.Dpm-intro__item .Dpm-intro__childList li,
.Dpm-intro__out-item .Dpm-intro__childList li{
	padding: 0.45em 0.5em;
		border-radius: 9999px;
		background: #fff;
	font-size: 2.1rem; /*2.4rem;*/
		letter-spacing: .02em;
		line-height: 1;
		font-weight: 700;
		text-align: center;
}
.Dpm-intro__item .Dpm-intro__childList li{
	width: 100%;
}
.Dpm-intro__out-item .Dpm-intro__childList li{
	width: auto;
	min-width: 20.4rem;
}
	.Dpm-intro__item.-M-miyuki .Dpm-intro__childList li{	color: var(--color-M-miyuki);}
	.Dpm-intro__item.-M-sub .Dpm-intro__childList li{	color: var(--color-M-sub);}
	.Dpm-intro__item.-M-shoji .Dpm-intro__childList li{	color: var(--color-M-shoji);}
	.Dpm-intro__item.-M-hudosan .Dpm-intro__childList li{	color: var(--color-M-hudosan);}
	.Dpm-intro__out-item.-M-kensetu .Dpm-intro__childList li, .Dpm-intro__item.-M-kensetu .Dpm-intro__childList li{	color: var(--color-M-kensetu);}


@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

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

}
@media screen and (max-width:768px){
	.Dpm-intro{
		padding-bottom: var(--padding-topbottom);
	}
	.Dpm-intro__title{
		margin-bottom: 14.4rem;
	}
	.Dpm-intro .C-sub-title{
		margin-bottom: 11rem;
	}
	.Dpm-intro__list{
		gap: 4.5rem;
	}
	.Dpm-intro__list .Dpm-intro__item{
		width: 100%;
		padding-top: 6rem; /*icon分*/
		min-width: unset;
	}
	.Dpm-intro__list .Dpm-intro__item.-M-kensetu.sp__only{
		padding-top: 0;
	}
	.Dpm-intro__out-item{ /*---御幸建設Dpm-intro__out-item　PC時は非表示*/
	}
	.Dpm-intro__list .Dpm-intro__item a,
	.Dpm-intro__out-item a{
		padding: 9rem 2.8rem 8.5rem 2.8rem;
	}
	.Dpm-intro__out-item.-M-kensetu a,
	.Dpm-intro__item.-M-kensetu a{
		padding-top: 3.5rem;
	}
	.Dpm-intro__item.-M-hudosan a{
		padding-bottom: 7.5rem;
	}

		.Dpm-intro__item a::after{ 
			width: 3.4rem;
			height: 3.4rem;
				bottom: 2.8rem;
		}
		
		.Dpm-intro__item.-M-kensetu a::after{
			background: url(../images/work-departments/Dpm-intro__arrow05.svg) center no-repeat;
			background-size: contain;
		}
		/*矢印*/
	.Dpm-intro__item .Dpm-intro__icon {
		width: 12rem;
		height: 12rem;
			top: -6rem;
	}	
		.Dpm-intro__item.-M-miyuki .Dpm-intro__icon{ border: 0.6rem solid var(--color-M-miyuki);}
		.Dpm-intro__item.-M-sub .Dpm-intro__icon{ border: 0.6rem solid var(--color-M-sub);}
		.Dpm-intro__item.-M-shoji .Dpm-intro__icon{ border: 0.6rem solid var(--color-M-shoji);}
		.Dpm-intro__item.-M-hudosan .Dpm-intro__icon{ border: 0.6rem solid var(--color-M-hudosan);}

	.Dpm-intro__item .Dpm-intro__icon img{
		width: 6.5rem;
		height: 6.5rem;
	}
		.Dpm-intro__item.-M-miyuki .Dpm-intro__icon img{ width: 4.2rem;	height: 5.3rem;}
	
	.Dpm-intro__item .Dpm-intro__mds,
	.Dpm-intro__out-item .Dpm-intro__mds{
		font-size: 4rem;
		margin-bottom: 3.2rem;
	}	
	.Dpm-intro__item .Dpm-intro__mds{
		margin-bottom: 4.2rem;
	}
	.Dpm-intro__item .Dpm-intro__childList {
		flex-direction: row;
		gap: 1.6rem;
	}
	
	.Dpm-intro__item .Dpm-intro__childList li,
	.Dpm-intro__out-item .Dpm-intro__childList li{
		font-size: 2.8rem;
		padding: 0.8em 0.5em;
	}
	.Dpm-intro__item .Dpm-intro__childList li{
		width: 100%;
	}
		.Dpm-intro__item.-M-miyuki .Dpm-intro__childList li{ width: calc((100% - (1.6rem * 2)) / 3)}
		.Dpm-intro__item.-M-sub .Dpm-intro__childList li,.Dpm-intro__item.-M-shoji .Dpm-intro__childList li{ width: calc((100% - 1.6rem) / 2);}
		.Dpm-intro__item.-M-kensetu .Dpm-intro__childList li{ width: 100%;}
	
	
	
}


/*-------------------------------
	共通パーツ　.Sec--M
-------------------------------*/
.Sec--M {
}

.Sec--M__container + .Sec--M__container{
	margin-top: 19.2rem; /*24rem;*/
}
.Sec--M__title{
	margin-bottom: 8rem;
	margin-inline: auto;
	display: flex;
		justify-content: center;
		align-items: center;
		gap: 1.2rem;
	position: relative;
}
	.Sec--M__title__icon {
		width: 10rem; /*11.4rem;*/
		height: 10rem; /*11.4rem;*/
			border-radius: 50%;
			background: #fff;
		display: flex;
			justify-content: center;
			align-items: center;
		position: relative;
		z-index: 10;
	}
	.Sec--M-miyuki .Sec--M__title__icon{ border: 0.4rem solid var(--color-M-miyuki);}
	.Sec--M-sub .Sec--M__title__icon{ border: 0.4rem solid var(--color-M-sub);}
	.Sec--M-shoji .Sec--M__title__icon{ border: 0.4rem solid var(--color-M-shoji);}
	
	.Sec--M__title__icon img{
		width: 5.4rem; /*6rem;*/
		height: 5.4rem; /*6rem;*/
		position: relative;
		z-index: 20;
	}
	.Sec--M-miyuki .Sec--M__title__icon img{ width: 4.2rem;	height: 5.3rem;}
	

.Sec--M__title__txt{
	font-size: 4rem; /*4.6rem;*/
		line-height: 1.3;
		letter-spacing: .05em;
		text-align: center;
		font-weight: 700;
}
	.Sec--M-miyuki .Sec--M__title__txt{	color: var(--color-M-miyuki);}
	.Sec--M-sub .Sec--M__title__txt{	color: var(--color-M-sub);}
	.Sec--M-shoji .Sec--M__title__txt{	color: var(--color-M-shoji);}


/*-----横並び2列  Sec--M__block P-wideout_flex__block*/
.Sec--M__block{
	margin-bottom: 4rem; /*4.5rem;*/
}

.Sec--M__txtbox{
	margin-right: 10.4rem;
	flex: 0 0 40.6rem;	
}
.reverse .Sec--M__txtbox{
	margin-right: unset;
	margin-left: 10.4rem;
}

	.Sec--M__cate-mds{
		margin-bottom: 1.98rem; /* 2.2rem;*/
		display: flex;
			justify-content: center;
			align-items: center;
	}
	.Sec--M__cate-mds span{
		padding: 0.45em 1.5em;
		border-radius: 9999px;
		background: #fff;
		font-size: 1.8rem; /*2rem;*/
			letter-spacing: 0;
			line-height: 1;
			font-weight: 700;
			text-align: center;
		display: inline-block;
	}		
		.Sec--M-miyuki .Sec--M__cate-mds{	color: var(--color-M-miyuki);}
		.Sec--M-sub .Sec--M__cate-mds{	color: var(--color-M-sub);}
		.Sec--M-shoji .Sec--M__cate-mds{	color: var(--color-M-shoji);}
		.Sec--M-hudosan .Sec--M__cate-mds{	color: var(--color-M-hudosan);}
		.Sec--M-kensetu .Sec--M__cate-mds{	color: var(--color-M-kensetu);}

	.Sec--M__grad-mds{
		padding-bottom: 0.5em;
		margin-bottom: 1em;
		display: block;
		font-size: 3.2rem; /*3.6rem;*/
			font-weight: 700;
			text-align: center;
			letter-spacing: .05em;
			line-height: 1.3;
			position: relative;
	}
		.Sec--M__grad-mds::after{
			width: 8rem;
			height: 0.5rem;
			background: var(--gradcolor);
			position: absolute;
				left: 50%;
				bottom: 0;
				transform: translateX(-50%);
				-webkit-transform: translateX(-50%);
			display: block;
			content: "";
		}
	.Sec--M__txt{
		line-height: 1.944444;
	}
.Sec--M__imgbox img{
	height: 50rem; /* 56rem;*/
}
/*-----横並び2列  Sec--M__block P-wideout_flex__block*/
/*---- 先輩の声リンク Senior-link__block  */
.Senior-link__block{
	width: 100%;
	margin-bottom: 0.9rem; /*--疑似要素分-*/
	display: flex;
		justify-content: center;
		align-items: stretch;
		flex-wrap: wrap;
	position: relative;
}
	.Senior-link__block + .Senior-link__block{
		margin-top: 5.4rem;
	}
	.Senior-link__block::after{
		width: 100%;
		height: 100%;
		background: var(--gradcolor);
		border-radius: 1rem;
		position: absolute;
			left: 0.9rem;
			top: 0.9rem;
		display: block;
		content: "";
		z-index: 0;
	}
.Senior-link__txtbox,
.Senior-link__imgbox{
	position: relative;	
	z-index: 100;
}
.Senior-link__txtbox{
	width: calc(100% - 36rem);
	padding: 4.75rem 6.2rem 3.5rem 6.2rem;
	border-radius: 1rem 0 0 1rem;
	background: #fff;
}
	.Senior-link__mds{
		padding-bottom: 0.6em;
		margin-bottom: 1em;
		font-size: 1.6rem; /*1.8rem;*/
			color: var(--maincolor);
			letter-spacing: 0;
			line-height: 1;
			font-weight: 700;
			text-align: left;
		display: block;
		position: relative;
	}
		.Senior-link__mds::after{
			width: 100%;
			height: 1px;
			background: var(--maincolor);
			position: absolute;
				left: 0;
				bottom: 0;
			display: block;
			content: "";
		}
		
	.Senior-link__txt{
		margin-bottom: 1em;
		font-size: 2.1rem; /*2.4rem;*/
			color: var(--maincolor);
			letter-spacing: .01em;
			line-height: 1.666666;
			font-weight: 700;
			text-align: left;
	}
.Senior-link__imgbox{	
	width: 36rem;
	border-radius: 0 1rem 1rem 0;
	overflow: hidden;
}
	.Senior-link__img{  
		width: 100%;
		height: 100%;
	}
	.Senior-link__img img{
		height: 29rem;
		object-position: top;
	}
.Senior-link__txtbottom{
	display: flex;
		justify-content: space-between;
		align-items: center;
		flex-wrap: wrap;
	gap: 2rem;
}
	.Senior-link__name {
		font-size: 1.6rem; /*1.8rem;*/
			color: var(--maincolor);
			letter-spacing: .01em;
			line-height: 1.5;
			font-weight: 500;
			text-align: left;
	}
.Senior-link__txtbox .C-button.-small{
	margin-right: 0;
}
/*---- 先輩の声リンク Senior-link__block  */

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

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

}

@media screen and (max-width:768px){
	
	.Sec--M__container + .Sec--M__container{
		margin-top: 12rem;
	}
	.Sec--M__title{
	}
		.Sec--M__title__icon {
			width: 12rem;
			height: 12rem;
		}
		.Sec--M-miyuki .Sec--M__title__icon{ border: 0.6rem solid var(--color-M-miyuki);}
		.Sec--M-sub .Sec--M__title__icon{ border: 0.6rem solid var(--color-M-sub);}
		.Sec--M-shoji .Sec--M__title__icon{ border: 0.6rem solid var(--color-M-shoji);}
		
		.Sec--M__title__icon img{
			width: 6rem;
			height: 6rem;
		}
	
	.Sec--M__title__txt{
		font-size: 4.6rem;
	}
		
	/*-----横並び2列  Sec--M__block P-wideout_flex__block*/
	.Sec--M__block{
		margin-bottom: 4rem;
	}
	.Sec--M__block.P-wideout_flex__block,
	.Sec--M__block.P-wideout_flex__block.reverse{ 
		flex-direction: column-reverse; 
		gap: 8rem;
	}	
	.Sec--M__txtbox{
		margin-right: auto;
		flex: unset;	
		width: 100%;
	}
	.reverse .Sec--M__txtbox{
		margin-right: auto;
		margin-left: auto;
	}
	.Sec--M__cate-mds{
		margin-bottom: 2.2rem;
	}
	.Sec--M__cate-mds span{
		padding: 0.45em 1.5em;
		font-size: 2.4rem;
	}		

	.Sec--M__grad-mds{
		font-size: 3.6rem;
	}
		
		.Sec--M__grad-mds::after{
			width: 8rem;
			height: 0.5rem;
		}
	.Sec--M__imgbox img{
		height: 70rem;
	}
	/*-----横並び2列  Sec--M__block P-wideout_flex__block*/

	/*---- 先輩の声リンク Senior-link__block  */
	.Senior-link__block{
		width: 50rem;
		flex-direction: column-reverse;
		margin-left: auto;
		margin-right: auto;
	}
		.Senior-link__block::after{
			border-radius: 2rem;
		}
		.Senior-link__img img{
			height: 47rem;
		}
	.Senior-link__txtbox{
		width: 100%;
		padding: 4rem 3.7rem;
		border-radius: 0 0 2rem 2rem;
		background: #fff;
	}
		.Senior-link__mds{
			padding-bottom: 0.7em;
			margin-bottom: 1em;
			font-size: 2rem;
		}
			.Senior-link__mds::after{
				height: 2px;
				background: repeating-linear-gradient(to right, var(--maincolor), var(--maincolor) 2px, transparent 2px, transparent 4px);
				}
			
		.Senior-link__txt{
			margin-bottom: 1em;
			font-size: 2.5rem;
		}
	.Senior-link__imgbox{	
		width: 100%;
		border-radius: 2rem 2rem 0 0;
		overflow: hidden;
	}
		.Senior-link__img{  
			width: 100%;
			height: 100%;
		}
	.Senior-link__txtbottom{
		flex-direction: column;
        align-items: flex-start;
		gap: 4rem;
	}
		.Senior-link__name {
			font-size: 2.1rem;
		}
	.Senior-link__txtbox .C-button.-small{
		margin-right: auto;
	}
	/*---- 先輩の声リンク Senior-link__block  */
}


/*-------------------------------
	御幸建設　Sec--M-miyuki
-------------------------------*/
.Sec--M-miyuki{
	background: #fff;
}
	.Sec--M-miyuki::before{
		background: var(--bg-M-miyuki);
	}
.Sec--M-kensetu{
	background: var(--bg-M-miyuki);
}
	.Sec--M-kensetu::before{
		background: var(--bg-M-kensetu);
	}
.Sec--M-sub{
	background: var(--bg-M-kensetu);
}
	.Sec--M-sub::before{
		background: #D5EDFF;
	}
.Sec--M-shoji{
	background: #D5EDFF;
}
	.Sec--M-shoji::before{
		background: #D1E2F7;
	}
@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

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

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

}

